diff --git a/docs/_index.md b/docs/_index.md index 786658804b..ba90584315 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -17,6 +17,12 @@ The Alibaba Cloud provider is available as a package in all Pulumi languages: ## Overview +
+ + Open in AliCloud + +
+ The Alibaba Cloud provider is used to interact with the many resources supported by [Alibaba Cloud](https://www.alibabacloud.com). The provider needs to be configured with the proper credentials before it can be used. @@ -650,6 +656,26 @@ config: alicloud:region: value: cn-hangzhou +``` +### Using an External Credentials Process + +To use an external process to source credentials, the process must be configured in a named profile, including the default profile. +The profile is configured in a shared configuration file. For information on how to configure external access credentials, please refer to the [Alibaba Cloud CLI documentation](https://www.alibabacloud.com/help/en/cli/configure-credentials). + +Usage: + +```yaml +# Pulumi.yaml provider configuration file +name: configuration-example +runtime: +config: + alicloud:profile: + value: ExternalProfile + alicloud:region: + value: cn-hangzhou + alicloud:sharedCredentialsFile: + value: ~/.aliyun/config.json + ``` ## Configuration Reference @@ -685,17 +711,17 @@ provider configuration: Can also be set with the `ALIBABA_CLOUD_ACCOUNT_ID` environment variable since v1.228.0. Environment variable `ALICLOUD_ACCOUNT_ID` has been deprecated since v1.228.0. -* `accountType` - (Optional, Available since 1.240.0) Alibaba Cloud Account Type. +* `accountType` - (Optional, Available since v1.240.0) Alibaba Cloud Account Type. It used to indicate caller identity's account type. Can also be set with the `ALIBABA_CLOUD_ACCOUNT_TYPE` environment variable. Valid values: - `Domestic`(Default): China-Site Account. - `International`: International-Site Account. -* `sharedCredentialsFile` - (Optional, Available since 1.49.0) This is the path to the shared credentials file. +* `sharedCredentialsFile` - (Optional, Available since v1.49.0) This is the path to the shared credentials file. Can also be set with the `ALIBABA_CLOUD_CREDENTIALS_FILE` environment variable since v1.228.0. Environment variable `ALICLOUD_SHARED_CREDENTIALS_FILE` has been deprecated since v1.228.0. If this is not set and `profile` is specified, "~/.aliyun/config.json" will be used. -* `profile` - (Optional, Available since 1.49.0) This is the Alibaba Cloud profile name as set in the shared credentials file. +* `profile` - (Optional, Available since v1.49.0) This is the Alibaba Cloud profile name as set in the shared credentials file. Can also be set with the `ALIBABA_CLOUD_PROFILE` environment variable since v1.228.0. Environment variable `ALICLOUD_PROFILE` has been deprecated since v1.228.0. @@ -703,21 +729,24 @@ provider configuration: * `assumeRoleWithOidc` - (Optional, Available since v1.220.0) Configuration block for assuming an RAM role using an OIDC. See the `assumeRoleWithOidc` Configuration Block section below. Only one `assumeRoleWithOidc` block may be in the configuration. -* `credentialsUri` - (Optional, Available since 1.141.0) The URI of sidecar credentials service. +* `credentialsUri` - (Optional, Available since v1.141.0) The URI of sidecar credentials service. Can also be set with the `ALIBABA_CLOUD_CREDENTIALS_URI` environment variable since v1.228.0. Environment variable `ALICLOUD_CREDENTIALS_URI` has been deprecated since v1.228.0. * `endpoints` - (Optional) An `endpoints` block to support custom endpoints. -* `skipRegionValidation` - (Optional, Available since 1.52.0) Skip static validation of region ID. Used by users of alternative AlibabaCloud-like APIs or users w/ access to regions that are not public (yet). +* `skipRegionValidation` - (Optional, Available since v1.52.0) Skip static validation of region ID. Used by users of alternative AlibabaCloud-like APIs or users w/ access to regions that are not public (yet). + +* `configurationSource` - (Optional, Available since v1.56.0) Use a string to mark a configuration file source, like `pulumi-alicloud-modules/pulumi-alicloud-ecs-instance` or `pulumi-provider-alicloud/examples/vpc`. + The length should not more than 128(Before 1.207.2, it should not more than 64). Since the version 1.145.0, it supports to be set by environment variable `TF_APPEND_USER_AGENT`. See `Custom User-Agent Information`. -* `protocol` - (Optional, Available since 1.72.0) The Protocol of used by API request. Valid values: `HTTP` and `HTTPS`. Default to `HTTPS`. +* `protocol` - (Optional, Available since v1.72.0) The Protocol of used by API request. Valid values: `HTTP` and `HTTPS`. Default to `HTTPS`. -* `clientReadTimeout` - (Optional, Available since 1.125.0) The maximum timeout in millisecond second of the client read request. Default to 60000. +* `clientReadTimeout` - (Optional, Available since v1.125.0) The maximum timeout in millisecond second of the client read request. Default to 60000. -* `clientConnectTimeout` - (Optional, Available since 1.125.0) The maximum timeout in millisecond second of the client connection server. Default to 60000. +* `clientConnectTimeout` - (Optional, Available since v1.125.0) The maximum timeout in millisecond second of the client connection server. Default to 60000. -* `maxRetryTimeout` - (Optional, Available since 1.183.0) The maximum retry timeout in second of the request. Default to `0`. +* `maxRetryTimeout` - (Optional, Available since v1.183.0) The maximum retry timeout in second of the request. Default to `0`. ### `assumeRole` Configuration Block * `roleArn` - (Required) The ARN of the role to assume. If ARN is set to an empty string, it does not perform role switching. @@ -734,7 +763,7 @@ provider configuration: * `sessionExpiration` - (Optional) The time after which the established session for assuming role expires. Valid value range: [900-43200] seconds. Default to 3600 (in this case Alicloud use own default value). It supports environment variable `ALICLOUD_ASSUME_ROLE_SESSION_EXPIRATION`. -* `externalId` - (Optional, Available since 1.207.1) The external ID of the RAM role. +* `externalId` - (Optional, Available since v1.207.1) The external ID of the RAM role. This parameter is provided by an external party and is used to prevent the confused deputy problem. The value must be 2 to 1,224 characters in length and can contain letters, digits, and the following special characters:`= , . @ : / - _`. ### assumeRoleWithOidc Configuration Block diff --git a/provider/cmd/pulumi-resource-alicloud/bridge-metadata.json b/provider/cmd/pulumi-resource-alicloud/bridge-metadata.json index de0cc25020..ec4e3181bb 100644 --- a/provider/cmd/pulumi-resource-alicloud/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-alicloud/bridge-metadata.json @@ -1564,12 +1564,18 @@ "alicloud_cloud_firewall_vpc_firewall_control_policy": { "current": "alicloud:cloudfirewall/firewallVpcFirewallControlPolicy:FirewallVpcFirewallControlPolicy", "fields": { + "application_name_list": { + "maxItemsOne": false + }, "dest_port_group_ports": { "maxItemsOne": false }, "destination_group_cidrs": { "maxItemsOne": false }, + "repeat_days": { + "maxItemsOne": false + }, "source_group_cidrs": { "maxItemsOne": false } @@ -2031,6 +2037,9 @@ "alicloud_config_aggregate_delivery": { "current": "alicloud:cfg/aggregateDelivery:AggregateDelivery" }, + "alicloud_config_aggregate_remediation": { + "current": "alicloud:configaggregate/remediation:Remediation" + }, "alicloud_config_aggregator": { "current": "alicloud:cfg/aggregator:Aggregator", "fields": { @@ -2074,6 +2083,14 @@ "alicloud_config_remediation": { "current": "alicloud:cfg/remediation:Remediation" }, + "alicloud_config_report_template": { + "current": "alicloud:config/reportTemplate:ReportTemplate", + "fields": { + "report_scope": { + "maxItemsOne": false + } + } + }, "alicloud_config_rule": { "current": "alicloud:cfg/rule:Rule", "fields": { @@ -2177,6 +2194,25 @@ "alicloud_cr_repo": { "current": "alicloud:cr/repo:Repo" }, + "alicloud_cr_scan_rule": { + "current": "alicloud:cr/scanRule:ScanRule", + "fields": { + "namespaces": { + "maxItemsOne": false + }, + "repo_names": { + "maxItemsOne": false + } + } + }, + "alicloud_cr_storage_domain_routing_rule": { + "current": "alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", + "fields": { + "routes": { + "maxItemsOne": false + } + } + }, "alicloud_cr_vpc_endpoint_linked_vpc": { "current": "alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc" }, @@ -2293,12 +2329,37 @@ "alicloud_cs_kubernetes_node_pool": { "current": "alicloud:cs/nodePool:NodePool", "fields": { + "auto_mode": { + "maxItemsOne": true + }, "data_disks": { "maxItemsOne": false }, "eflo_node_group": { "maxItemsOne": true }, + "instance_metadata_options": { + "maxItemsOne": true + }, + "instance_patterns": { + "maxItemsOne": false, + "elem": { + "fields": { + "cpu_architectures": { + "maxItemsOne": false + }, + "excluded_instance_types": { + "maxItemsOne": false + }, + "instance_categories": { + "maxItemsOne": false + }, + "instance_type_families": { + "maxItemsOne": false + } + } + } + }, "instance_types": { "maxItemsOne": false }, @@ -2386,6 +2447,14 @@ } } }, + "alicloud_cs_kubernetes_policy_instance": { + "current": "alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", + "fields": { + "namespaces": { + "maxItemsOne": false + } + } + }, "alicloud_cs_managed_kubernetes": { "current": "alicloud:cs/managedKubernetes:ManagedKubernetes", "fields": { @@ -4282,7 +4351,12 @@ } }, "alicloud_eflo_hyper_node": { - "current": "alicloud:eflo/hyperNode:HyperNode" + "current": "alicloud:eflo/hyperNode:HyperNode", + "fields": { + "data_disk": { + "maxItemsOne": false + } + } }, "alicloud_eflo_invocation": { "current": "alicloud:eflo/invocation:Invocation", @@ -4293,7 +4367,49 @@ } }, "alicloud_eflo_node": { - "current": "alicloud:eflo/node:Node" + "current": "alicloud:eflo/node:Node", + "fields": { + "data_disk": { + "maxItemsOne": false + }, + "ip_allocation_policy": { + "maxItemsOne": false, + "elem": { + "fields": { + "bond_policy": { + "maxItemsOne": true, + "elem": { + "fields": { + "bonds": { + "maxItemsOne": false + } + } + } + }, + "machine_type_policy": { + "maxItemsOne": false, + "elem": { + "fields": { + "bonds": { + "maxItemsOne": false + } + } + } + }, + "node_policy": { + "maxItemsOne": false, + "elem": { + "fields": { + "bonds": { + "maxItemsOne": false + } + } + } + } + } + } + } + } }, "alicloud_eflo_node_group": { "current": "alicloud:eflo/nodeGroup:NodeGroup", @@ -4403,9 +4519,67 @@ } } }, + "alicloud_ehpc_cluster_v2": { + "current": "alicloud:ehpc/clusterV2:ClusterV2", + "fields": { + "addons": { + "maxItemsOne": false + }, + "cluster_credentials": { + "maxItemsOne": true + }, + "manager": { + "maxItemsOne": true, + "elem": { + "fields": { + "directory_service": { + "maxItemsOne": true + }, + "dns": { + "maxItemsOne": true + }, + "manager_node": { + "maxItemsOne": true, + "elem": { + "fields": { + "system_disk": { + "maxItemsOne": true + } + } + } + }, + "scheduler": { + "maxItemsOne": true + } + } + } + }, + "shared_storages": { + "maxItemsOne": false + } + } + }, "alicloud_ehpc_job_template": { "current": "alicloud:ehpc/jobTemplate:JobTemplate" }, + "alicloud_ehpc_queue": { + "current": "alicloud:ehpc/queue:Queue", + "fields": { + "compute_nodes": { + "maxItemsOne": false, + "elem": { + "fields": { + "system_disk": { + "maxItemsOne": true + } + } + } + }, + "vswitch_ids": { + "maxItemsOne": false + } + } + }, "alicloud_eip": { "current": "alicloud:ecs/eip:Eip", "fields": { @@ -4442,17 +4616,32 @@ "alicloud_elasticsearch_instance": { "current": "alicloud:elasticsearch/instance:Instance", "fields": { + "client_node_configuration": { + "maxItemsOne": true + }, + "data_node_configuration": { + "maxItemsOne": true + }, + "kibana_configuration": { + "maxItemsOne": true + }, "kibana_private_whitelist": { "maxItemsOne": false }, "kibana_whitelist": { "maxItemsOne": false }, + "master_configuration": { + "maxItemsOne": true + }, "private_whitelist": { "maxItemsOne": false }, "public_whitelist": { "maxItemsOne": false + }, + "warm_node_configuration": { + "maxItemsOne": true } } }, @@ -4723,6 +4912,22 @@ "alicloud_esa_edge_container_app_record": { "current": "alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord" }, + "alicloud_esa_http_incoming_request_header_modification_rule": { + "current": "alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", + "fields": { + "request_header_modification": { + "maxItemsOne": false + } + } + }, + "alicloud_esa_http_incoming_response_header_modification_rule": { + "current": "alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", + "fields": { + "response_header_modification": { + "maxItemsOne": false + } + } + }, "alicloud_esa_http_request_header_modification_rule": { "current": "alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule", "fields": { @@ -6296,6 +6501,14 @@ } } }, + "alicloud_gpdb_supabase_project": { + "current": "alicloud:gpdb/supabaseProject:SupabaseProject", + "fields": { + "security_ip_list": { + "maxItemsOne": false + } + } + }, "alicloud_graph_database_db_instance": { "current": "alicloud:graphdatabase/dbInstance:DbInstance", "fields": { @@ -6564,6 +6777,9 @@ "alicloud_instance": { "current": "alicloud:ecs/instance:Instance", "fields": { + "cpu_options": { + "maxItemsOne": true + }, "data_disks": { "maxItemsOne": false }, @@ -6672,6 +6888,9 @@ } } }, + "alicloud_kms_value_added_service": { + "current": "alicloud:kms/valueAddedService:ValueAddedService" + }, "alicloud_kvstore_account": { "current": "alicloud:kvstore/account:Account" }, @@ -6746,6 +6965,9 @@ } } } + }, + "white_ip_list": { + "maxItemsOne": false } } }, @@ -7136,6 +7358,9 @@ } } }, + "alicloud_mongodb_node": { + "current": "alicloud:mongodb/node:Node" + }, "alicloud_mongodb_private_srv_network_address": { "current": "alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress" }, @@ -7289,6 +7514,9 @@ "recycle_bin": { "maxItemsOne": true }, + "redundancy_vswitch_ids": { + "maxItemsOne": false + }, "smb_acl": { "maxItemsOne": true } @@ -7308,6 +7536,17 @@ "alicloud_nas_mount_target": { "current": "alicloud:nas/mountTarget:MountTarget" }, + "alicloud_nas_protocol_mount_target": { + "current": "alicloud:nas/protocolMountTarget:ProtocolMountTarget", + "fields": { + "vswitch_ids": { + "maxItemsOne": false + } + } + }, + "alicloud_nas_protocol_service": { + "current": "alicloud:nas/protocolService:ProtocolService" + }, "alicloud_nas_recycle_bin": { "current": "alicloud:nas/recycleBin:RecycleBin" }, @@ -7527,6 +7766,50 @@ "alicloud_oos_template": { "current": "alicloud:oos/template:Template" }, + "alicloud_open_api_explorer_api_mcp_server": { + "current": "alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", + "fields": { + "additional_api_descriptions": { + "maxItemsOne": false, + "elem": { + "fields": { + "const_parameters": { + "maxItemsOne": false + } + } + } + }, + "apis": { + "maxItemsOne": false, + "elem": { + "fields": { + "selectors": { + "maxItemsOne": false + } + } + } + }, + "prompts": { + "maxItemsOne": false, + "elem": { + "fields": { + "arguments": { + "maxItemsOne": false + } + } + } + }, + "system_tools": { + "maxItemsOne": false + }, + "terraform_tools": { + "maxItemsOne": false + }, + "vpc_whitelists": { + "maxItemsOne": false + } + } + }, "alicloud_open_search_app_group": { "current": "alicloud:opensearch/appGroup:AppGroup", "fields": { @@ -7690,6 +7973,19 @@ "alicloud_oss_bucket_https_config": { "current": "alicloud:oss/bucketHttpsConfig:BucketHttpsConfig", "fields": { + "cipher_suit": { + "maxItemsOne": true, + "elem": { + "fields": { + "custom_cipher_suite": { + "maxItemsOne": false + }, + "tls13_custom_cipher_suite": { + "maxItemsOne": false + } + } + } + }, "tls_versions": { "maxItemsOne": false } @@ -8106,6 +8402,9 @@ "alicloud_polardb_global_database_network": { "current": "alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork" }, + "alicloud_polardb_global_security_ip_group": { + "current": "alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup" + }, "alicloud_polardb_parameter_group": { "current": "alicloud:polardb/parameterGroup:ParameterGroup", "fields": { @@ -8483,6 +8782,147 @@ "alicloud_rds_whitelist_template": { "current": "alicloud:rds/whitelistTemplate:WhitelistTemplate" }, + "alicloud_realtime_compute_deployment": { + "current": "alicloud:realtimecompute/deployment:Deployment", + "fields": { + "artifact": { + "maxItemsOne": true, + "elem": { + "fields": { + "jar_artifact": { + "maxItemsOne": true, + "elem": { + "fields": { + "additional_dependencies": { + "maxItemsOne": false + } + } + } + }, + "python_artifact": { + "maxItemsOne": true, + "elem": { + "fields": { + "additional_dependencies": { + "maxItemsOne": false + }, + "additional_python_archives": { + "maxItemsOne": false + }, + "additional_python_libraries": { + "maxItemsOne": false + } + } + } + }, + "sql_artifact": { + "maxItemsOne": true, + "elem": { + "fields": { + "additional_dependencies": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "batch_resource_setting": { + "maxItemsOne": true, + "elem": { + "fields": { + "basic_resource_setting": { + "maxItemsOne": true, + "elem": { + "fields": { + "jobmanager_resource_setting_spec": { + "maxItemsOne": true + }, + "taskmanager_resource_setting_spec": { + "maxItemsOne": true + } + } + } + } + } + } + }, + "deployment_target": { + "maxItemsOne": true + }, + "local_variables": { + "maxItemsOne": false + }, + "logging": { + "maxItemsOne": true, + "elem": { + "fields": { + "log4j_loggers": { + "maxItemsOne": false + }, + "log_reserve_policy": { + "maxItemsOne": true + } + } + } + }, + "streaming_resource_setting": { + "maxItemsOne": true, + "elem": { + "fields": { + "basic_resource_setting": { + "maxItemsOne": true, + "elem": { + "fields": { + "jobmanager_resource_setting_spec": { + "maxItemsOne": true + }, + "taskmanager_resource_setting_spec": { + "maxItemsOne": true + } + } + } + }, + "expert_resource_setting": { + "maxItemsOne": true, + "elem": { + "fields": { + "jobmanager_resource_setting_spec": { + "maxItemsOne": true + } + } + } + } + } + } + } + } + }, + "alicloud_realtime_compute_job": { + "current": "alicloud:realtimecompute/job:Job", + "fields": { + "local_variables": { + "maxItemsOne": false + }, + "restore_strategy": { + "maxItemsOne": true + }, + "status": { + "maxItemsOne": true, + "elem": { + "fields": { + "failure": { + "maxItemsOne": true + }, + "running": { + "maxItemsOne": true + } + } + } + } + } + }, "alicloud_realtime_compute_vvp_instance": { "current": "alicloud:realtimecompute/vvpInstance:VvpInstance", "fields": { @@ -8504,6 +8944,9 @@ } } }, + "alicloud_redis_backup": { + "current": "alicloud:redis/backup:Backup" + }, "alicloud_redis_tair_instance": { "current": "alicloud:redis/tairInstance:TairInstance" }, @@ -9806,6 +10249,20 @@ "alicloud_threat_detection_baseline_strategy": { "current": "alicloud:threatdetection/baselineStrategy:BaselineStrategy" }, + "alicloud_threat_detection_check_config": { + "current": "alicloud:threatdetection/checkConfig:CheckConfig", + "fields": { + "cycle_days": { + "maxItemsOne": false + }, + "selected_checks": { + "maxItemsOne": false + }, + "vendors": { + "maxItemsOne": false + } + } + }, "alicloud_threat_detection_client_file_protect": { "current": "alicloud:threatdetection/clientFileProtect:ClientFileProtect", "fields": { @@ -22567,6 +23024,68 @@ } } }, + "alicloud_threat_detection_check_item_configs": { + "current": "alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", + "fields": { + "configs": { + "maxItemsOne": false, + "elem": { + "fields": { + "custom_configs": { + "maxItemsOne": false + }, + "description": { + "maxItemsOne": true + }, + "section_ids": { + "maxItemsOne": false + } + } + } + }, + "ids": { + "maxItemsOne": false + }, + "task_sources": { + "maxItemsOne": false + } + } + }, + "alicloud_threat_detection_check_structures": { + "current": "alicloud:threatdetection/getCheckStructures:getCheckStructures", + "fields": { + "ids": { + "maxItemsOne": false + }, + "structures": { + "maxItemsOne": false, + "elem": { + "fields": { + "standards": { + "maxItemsOne": false, + "elem": { + "fields": { + "requirements": { + "maxItemsOne": false, + "elem": { + "fields": { + "sections": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + }, + "task_sources": { + "maxItemsOne": false + } + } + }, "alicloud_threat_detection_honey_pots": { "current": "alicloud:threatdetection/getHoneyPots:getHoneyPots", "fields": { diff --git a/provider/cmd/pulumi-resource-alicloud/schema.json b/provider/cmd/pulumi-resource-alicloud/schema.json index 40dffe97e8..55f601bc10 100644 --- a/provider/cmd/pulumi-resource-alicloud/schema.json +++ b/provider/cmd/pulumi-resource-alicloud/schema.json @@ -54,6 +54,8 @@ "cloudstoragegateway": "CloudStorageGateway", "cms": "Cms", "compute": "Compute", + "config": "config", + "configaggregate": "configAggregate", "cr": "CR", "cs": "CS", "das": "Das", @@ -21626,6 +21628,23 @@ } } }, + "alicloud:config/ReportTemplateReportScope:ReportTemplateReportScope": { + "properties": { + "key": { + "type": "string", + "description": "Key for reporting scope, currently supported:\n- AggregatorId\n- CompliancePackId\n- RuleId\n" + }, + "matchType": { + "type": "string", + "description": "The matching logic. Currently, only In is supported.\n" + }, + "value": { + "type": "string", + "description": "The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,).\n" + } + }, + "type": "object" + }, "alicloud:config/assumeRole:assumeRole": { "properties": { "externalId": { @@ -22529,6 +22548,28 @@ } } }, + "alicloud:cr/StorageDomainRoutingRuleRoute:StorageDomainRoutingRuleRoute": { + "properties": { + "endpointType": { + "type": "string", + "description": "Endpoint Type.\n" + }, + "instanceDomain": { + "type": "string", + "description": "Instance domain name.\n" + }, + "storageDomain": { + "type": "string", + "description": "Storage domain name.\n" + } + }, + "type": "object", + "required": [ + "endpointType", + "instanceDomain", + "storageDomain" + ] + }, "alicloud:cr/getChainsChain:getChainsChain": { "properties": { "chainConfigs": { @@ -23713,6 +23754,16 @@ } } }, + "alicloud:cs/NodePoolAutoMode:NodePoolAutoMode": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable auto mode. Valid values:\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "alicloud:cs/NodePoolDataDisk:NodePoolDataDisk": { "properties": { "autoFormat": { @@ -23794,6 +23845,80 @@ }, "type": "object" }, + "alicloud:cs/NodePoolInstanceMetadataOptions:NodePoolInstanceMetadataOptions": { + "properties": { + "httpTokens": { + "type": "string", + "description": "ECS instance metadata access mode configuration. Value range:\n\n- 'optional': Compatible with both normal mode and reinforced mode.\n- 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata).\n\nDefault value: 'optional '.\n\nThis parameter is only supported for ACK-managed clusters of 1.28 or later versions.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:cs/NodePoolInstancePattern:NodePoolInstancePattern": { + "properties": { + "cores": { + "type": "integer", + "description": "The number of vCPU cores of the instance type. Example value: 8.\n" + }, + "cpuArchitectures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CPU architecture of the instance. Value range:\n- X86\n- ARM\n" + }, + "excludedInstanceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example:\n- ecs.c6.large: indicates that the ecs.c6.large instance type is excluded.\n- ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded.\n" + }, + "instanceCategories": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Instance classification. Value range:\n- General-purpose: Universal.\n- Compute-optimized: Compute type.\n- Memory-optimized: Memory type.\n- Big data: Big data type.\n- Local SSDs: Local SSD type.\n- High Clock Speed: High frequency type.\n- Enhanced: Enhanced.\n- Shared: Shared.\n- ECS Bare Metal: elastic Bare Metal server.\n- High Performance Compute: High Performance Compute.\n" + }, + "instanceFamilyLevel": { + "type": "string", + "description": "Instance specification family level, value range:\n- EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared.\n- EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family.\n" + }, + "instanceTypeFamilies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the instance type family. Example values:[\"ecs.g8i\",\"ecs.c8i\"]\n" + }, + "maxCpuCores": { + "type": "integer", + "description": "The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores.\n" + }, + "maxMemorySize": { + "type": "number", + "description": "The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores.\n" + }, + "memory": { + "type": "number", + "description": "The memory size of the instance type, in GiB. Example value: 8.\n" + }, + "minCpuCores": { + "type": "integer", + "description": "The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores.\n" + }, + "minMemorySize": { + "type": "number", + "description": "The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores.\n" + } + }, + "type": "object", + "required": [ + "instanceFamilyLevel" + ] + }, "alicloud:cs/NodePoolKubeletConfiguration:NodePoolKubeletConfiguration": { "properties": { "allowedUnsafeSysctls": { @@ -23932,6 +24057,10 @@ "type": "string", "description": "Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version \u003c 1.9 or an Aufs storage backend. Valid value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, + "serverTlsBootstrap": { + "type": "boolean", + "description": "Used to enable the kubelet server certificate signing and rotation via CSR.\n" + }, "systemReserved": { "type": "object", "additionalProperties": { @@ -36667,6 +36796,32 @@ } } }, + "alicloud:ecs/InstanceCpuOptions:InstanceCpuOptions": { + "properties": { + "coreCount": { + "type": "integer", + "description": "The maximum number of partitions in the storage set.\n" + }, + "threadsPerCore": { + "type": "integer", + "description": "The number of threads per CPU core.\n" + }, + "topologyType": { + "type": "string", + "description": "The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "coreCount", + "threadsPerCore", + "topologyType" + ] + } + } + }, "alicloud:ecs/InstanceDataDisk:InstanceDataDisk": { "properties": { "autoSnapshotPolicyId": { @@ -44370,6 +44525,52 @@ "workerNum" ] }, + "alicloud:eflo/HyperNodeDataDisk:HyperNodeDataDisk": { + "properties": { + "burstingEnabled": { + "type": "boolean", + "description": "Whether to enable Burst (performance Burst).\n" + }, + "category": { + "type": "string", + "description": "The disk type. Value range:\n- cloud_essd:ESSD cloud disk.\n" + }, + "deleteWithNode": { + "type": "boolean", + "description": "Whether the data disk is unsubscribed and deleted with the node.\n" + }, + "performanceLevel": { + "type": "string", + "description": "When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range:\n- PL0: maximum random read/write IOPS 10000 for a single disk.\n- PL1: maximum random read/write IOPS 50000 for a single disk.\n" + }, + "provisionedIops": { + "type": "integer", + "description": "ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS.\n" + }, + "size": { + "type": "integer", + "description": "The size of the disk. The unit is GiB.\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeDataDisk:NodeDataDisk": { + "properties": { + "category": { + "type": "string", + "description": "Data disk type\n" + }, + "performanceLevel": { + "type": "string", + "description": "Performance level\n" + }, + "size": { + "type": "integer", + "description": "Data disk size\n" + } + }, + "type": "object" + }, "alicloud:eflo/NodeGroupAttachmentDataDisk:NodeGroupAttachmentDataDisk": { "properties": { "category": { @@ -44526,6 +44727,120 @@ }, "type": "object" }, + "alicloud:eflo/NodeIpAllocationPolicy:NodeIpAllocationPolicy": { + "properties": { + "bondPolicy": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyBondPolicy:NodeIpAllocationPolicyBondPolicy", + "description": "Specify the cluster subnet ID based on the bond name See \u003cspan pulumi-lang-nodejs=\"`bondPolicy`\" pulumi-lang-dotnet=\"`BondPolicy`\" pulumi-lang-go=\"`bondPolicy`\" pulumi-lang-python=\"`bond_policy`\" pulumi-lang-yaml=\"`bondPolicy`\" pulumi-lang-java=\"`bondPolicy`\"\u003e`bond_policy`\u003c/span\u003e below.\n" + }, + "machineTypePolicies": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyMachineTypePolicy:NodeIpAllocationPolicyMachineTypePolicy" + }, + "description": "Model Assignment Policy See \u003cspan pulumi-lang-nodejs=\"`machineTypePolicy`\" pulumi-lang-dotnet=\"`MachineTypePolicy`\" pulumi-lang-go=\"`machineTypePolicy`\" pulumi-lang-python=\"`machine_type_policy`\" pulumi-lang-yaml=\"`machineTypePolicy`\" pulumi-lang-java=\"`machineTypePolicy`\"\u003e`machine_type_policy`\u003c/span\u003e below.\n" + }, + "nodePolicies": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyNodePolicy:NodeIpAllocationPolicyNodePolicy" + }, + "description": "Node allocation policy See \u003cspan pulumi-lang-nodejs=\"`nodePolicy`\" pulumi-lang-dotnet=\"`NodePolicy`\" pulumi-lang-go=\"`nodePolicy`\" pulumi-lang-python=\"`node_policy`\" pulumi-lang-yaml=\"`nodePolicy`\" pulumi-lang-java=\"`nodePolicy`\"\u003e`node_policy`\u003c/span\u003e below.\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyBondPolicy:NodeIpAllocationPolicyBondPolicy": { + "properties": { + "bondDefaultSubnet": { + "type": "string", + "description": "Default bond cluster subnet\n" + }, + "bonds": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyBondPolicyBond:NodeIpAllocationPolicyBondPolicyBond" + }, + "description": "Bond information See \u003cspan pulumi-lang-nodejs=\"`bonds`\" pulumi-lang-dotnet=\"`Bonds`\" pulumi-lang-go=\"`bonds`\" pulumi-lang-python=\"`bonds`\" pulumi-lang-yaml=\"`bonds`\" pulumi-lang-java=\"`bonds`\"\u003e`bonds`\u003c/span\u003e below.\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyBondPolicyBond:NodeIpAllocationPolicyBondPolicyBond": { + "properties": { + "name": { + "type": "string", + "description": "Bond Name\n" + }, + "subnet": { + "type": "string", + "description": "IP source cluster subnet\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyMachineTypePolicy:NodeIpAllocationPolicyMachineTypePolicy": { + "properties": { + "bonds": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyMachineTypePolicyBond:NodeIpAllocationPolicyMachineTypePolicyBond" + }, + "description": "Bond information See \u003cspan pulumi-lang-nodejs=\"`bonds`\" pulumi-lang-dotnet=\"`Bonds`\" pulumi-lang-go=\"`bonds`\" pulumi-lang-python=\"`bonds`\" pulumi-lang-yaml=\"`bonds`\" pulumi-lang-java=\"`bonds`\"\u003e`bonds`\u003c/span\u003e below.\n" + }, + "machineType": { + "type": "string", + "description": "Model\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyMachineTypePolicyBond:NodeIpAllocationPolicyMachineTypePolicyBond": { + "properties": { + "name": { + "type": "string", + "description": "Bond Name\n" + }, + "subnet": { + "type": "string", + "description": "IP source cluster subnet\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyNodePolicy:NodeIpAllocationPolicyNodePolicy": { + "properties": { + "bonds": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicyNodePolicyBond:NodeIpAllocationPolicyNodePolicyBond" + }, + "description": "Bond information See \u003cspan pulumi-lang-nodejs=\"`bonds`\" pulumi-lang-dotnet=\"`Bonds`\" pulumi-lang-go=\"`bonds`\" pulumi-lang-python=\"`bonds`\" pulumi-lang-yaml=\"`bonds`\" pulumi-lang-java=\"`bonds`\"\u003e`bonds`\u003c/span\u003e below.\n" + }, + "hostname": { + "type": "string", + "description": "Host name\n" + }, + "nodeId": { + "type": "string", + "description": "Node ID\n" + } + }, + "type": "object" + }, + "alicloud:eflo/NodeIpAllocationPolicyNodePolicyBond:NodeIpAllocationPolicyNodePolicyBond": { + "properties": { + "name": { + "type": "string", + "description": "Bond Name\n" + }, + "subnet": { + "type": "string", + "description": "IP source cluster subnet\n" + } + }, + "type": "object" + }, "alicloud:eflo/ResourceMachineTypes:ResourceMachineTypes": { "properties": { "bondNum": { @@ -44817,6 +45132,332 @@ }, "type": "object" }, + "alicloud:ehpc/ClusterV2Addon:ClusterV2Addon": { + "properties": { + "name": { + "type": "string", + "description": "Customize the specific configuration information of the service component.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "resourcesSpec": { + "type": "string", + "description": "Customize the resource configuration of the service component.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "servicesSpec": { + "type": "string", + "description": "Customize the service configuration of the service component.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "description": "Customize the service component version.\n", + "secret": true, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "name", + "version" + ] + }, + "alicloud:ehpc/ClusterV2ClusterCredentials:ClusterV2ClusterCredentials": { + "properties": { + "password": { + "type": "string", + "description": "The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ \u0026 * - = + { } [ ] : ; ',. ? /\n", + "secret": true, + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2Manager:ClusterV2Manager": { + "properties": { + "directoryService": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ManagerDirectoryService:ClusterV2ManagerDirectoryService", + "description": "The configurations of the domain account service. See \u003cspan pulumi-lang-nodejs=\"`directoryService`\" pulumi-lang-dotnet=\"`DirectoryService`\" pulumi-lang-go=\"`directoryService`\" pulumi-lang-python=\"`directory_service`\" pulumi-lang-yaml=\"`directoryService`\" pulumi-lang-java=\"`directoryService`\"\u003e`directory_service`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "dns": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ManagerDns:ClusterV2ManagerDns", + "description": "The configurations of the domain name resolution service. See \u003cspan pulumi-lang-nodejs=\"`dns`\" pulumi-lang-dotnet=\"`Dns`\" pulumi-lang-go=\"`dns`\" pulumi-lang-python=\"`dns`\" pulumi-lang-yaml=\"`dns`\" pulumi-lang-java=\"`dns`\"\u003e`dns`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "managerNode": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ManagerManagerNode:ClusterV2ManagerManagerNode", + "description": "The hardware configurations of the management node. See \u003cspan pulumi-lang-nodejs=\"`managerNode`\" pulumi-lang-dotnet=\"`ManagerNode`\" pulumi-lang-go=\"`managerNode`\" pulumi-lang-python=\"`manager_node`\" pulumi-lang-yaml=\"`managerNode`\" pulumi-lang-java=\"`managerNode`\"\u003e`manager_node`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "scheduler": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ManagerScheduler:ClusterV2ManagerScheduler", + "description": "The configurations of the scheduler service. See \u003cspan pulumi-lang-nodejs=\"`scheduler`\" pulumi-lang-dotnet=\"`Scheduler`\" pulumi-lang-go=\"`scheduler`\" pulumi-lang-python=\"`scheduler`\" pulumi-lang-yaml=\"`scheduler`\" pulumi-lang-java=\"`scheduler`\"\u003e`scheduler`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2ManagerDirectoryService:ClusterV2ManagerDirectoryService": { + "properties": { + "type": { + "type": "string", + "description": "The scheduler type. Valid values:\n\n- SLURM\n- PBS\n- OPENGRIDSCHEDULER\n- LSF_PLUGIN\n- PBS_PLUGIN\n", + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2ManagerDns:ClusterV2ManagerDns": { + "properties": { + "type": { + "type": "string", + "description": "The scheduler type. Valid values:\n\n- SLURM\n- PBS\n- OPENGRIDSCHEDULER\n- LSF_PLUGIN\n- PBS_PLUGIN\n", + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2ManagerManagerNode:ClusterV2ManagerManagerNode": { + "properties": { + "autoRenew": { + "type": "boolean", + "description": "Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range:\n- true: Automatic renewal.\n- false: Do not renew automatically (default).\n", + "willReplaceOnChanges": true + }, + "autoRenewPeriod": { + "type": "integer", + "description": "The renewal duration of a single automatic renewal. Value range:\n- When PeriodUnit = Week: 1, 2, 3.\n- When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.\n\nDefault value: 1.\n", + "willReplaceOnChanges": true + }, + "duration": { + "type": "integer", + "description": "The duration of the preemptible instance, in hours. Value:\n- : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance.\n- 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance.\n\nDefault value: 1.\n", + "willReplaceOnChanges": true + }, + "enableHt": { + "type": "boolean", + "description": "EnableHT\n", + "willReplaceOnChanges": true + }, + "expiredTime": { + "type": "string", + "description": "The expiration time of the management node.\n" + }, + "imageId": { + "type": "string", + "description": "ImageId\n", + "willReplaceOnChanges": true + }, + "instanceChargeType": { + "type": "string", + "description": "The instance billing method of the management node. Valid values:\n\n- PostPaid: pay-as-you-go\n- PrePaid: subscription\n", + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The instance ID of the management node.\n" + }, + "instanceType": { + "type": "string", + "description": "The instance type of the management node.\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer", + "description": "The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range:\n- When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4.\n- When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.\n", + "willReplaceOnChanges": true + }, + "periodUnit": { + "type": "string", + "description": "The unit of duration of the year-to-month billing method. Value range:\n- Week.\n- Month (default).\n", + "willReplaceOnChanges": true + }, + "spotPriceLimit": { + "type": "number", + "description": "Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit.\n", + "willReplaceOnChanges": true + }, + "spotStrategy": { + "type": "string", + "description": "The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range:\n- NoSpot: normal pay-as-you-go instances (default).\n- SpotWithPriceLimit: set the upper limit price for the preemptible instance.\n- SpotAsPriceGo: The system automatically bids, following the actual price of the current market.\n", + "willReplaceOnChanges": true + }, + "systemDisk": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ManagerManagerNodeSystemDisk:ClusterV2ManagerManagerNodeSystemDisk", + "description": "System disk configuration of the management node. See \u003cspan pulumi-lang-nodejs=\"`systemDisk`\" pulumi-lang-dotnet=\"`SystemDisk`\" pulumi-lang-go=\"`systemDisk`\" pulumi-lang-python=\"`system_disk`\" pulumi-lang-yaml=\"`systemDisk`\" pulumi-lang-java=\"`systemDisk`\"\u003e`system_disk`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "duration", + "expiredTime", + "instanceId" + ] + } + } + }, + "alicloud:ehpc/ClusterV2ManagerManagerNodeSystemDisk:ClusterV2ManagerManagerNodeSystemDisk": { + "properties": { + "category": { + "type": "string", + "description": "Manage the system disk configuration of the node. Value range:\n- cloud_efficiency: The Ultra cloud disk.\n- cloud_ssd:SSD cloud disk.\n- cloud_essd:ESSD cloud disk.\n- cloud: ordinary cloud disk.\n", + "willReplaceOnChanges": true + }, + "level": { + "type": "string", + "description": "When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range:\n- PL0: maximum random read/write IOPS 10000 for a single disk.\n- PL1 (default): Maximum random read/write IOPS 50000 for a single disk.\n- PL2: maximum random read/write IOPS 100000 for a single disk.\n- PL3: maximum random read/write IOPS 1 million for a single disk.\n", + "willReplaceOnChanges": true + }, + "size": { + "type": "integer", + "description": "The system disk size of the management node. Unit: GiB. Value range:\n- Ordinary cloud tray: 20~500.\n- ESSD cloud disk:\n- PL0:1~2048.\n- PL1:20~2048.\n- PL2:461~2048.\n- PL3:1261~2048.\n- Other cloud disk types: 20~2048.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2ManagerScheduler:ClusterV2ManagerScheduler": { + "properties": { + "type": { + "type": "string", + "description": "The scheduler type. Valid values:\n\n- SLURM\n- PBS\n- OPENGRIDSCHEDULER\n- LSF_PLUGIN\n- PBS_PLUGIN\n", + "willReplaceOnChanges": true + }, + "version": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/ClusterV2SharedStorage:ClusterV2SharedStorage": { + "properties": { + "fileSystemId": { + "type": "string", + "description": "The ID of the mounted file system.\n", + "willReplaceOnChanges": true + }, + "mountDirectory": { + "type": "string", + "description": "The local Mount directory where the file system is mounted.\n", + "willReplaceOnChanges": true + }, + "mountOptions": { + "type": "string", + "description": "Storage mount options for the mounted file system.\n", + "willReplaceOnChanges": true + }, + "mountTargetDomain": { + "type": "string", + "description": "The mount point address of the mounted file system.\n", + "willReplaceOnChanges": true + }, + "nasDirectory": { + "type": "string", + "description": "The remote directory to which the mounted file system needs to be mounted.\n", + "willReplaceOnChanges": true + }, + "protocolType": { + "type": "string", + "description": "The protocol type of the mounted file system. Value range:\n- NFS\n- SMB\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:ehpc/QueueComputeNode:QueueComputeNode": { + "properties": { + "autoRenew": { + "type": "boolean", + "description": "AutoRenew\n" + }, + "autoRenewPeriod": { + "type": "integer", + "description": "AutoRenewPeriod\n" + }, + "duration": { + "type": "integer", + "description": "Duration\n" + }, + "enableHt": { + "type": "boolean", + "description": "Whether HT is enabled for the computing node.\n" + }, + "imageId": { + "type": "string", + "description": "ImageId\n" + }, + "instanceChargeType": { + "type": "string", + "description": "InstanceChargeType\n" + }, + "instanceType": { + "type": "string", + "description": "InstanceTypes\n" + }, + "period": { + "type": "integer", + "description": "Period\n" + }, + "periodUnit": { + "type": "string", + "description": "PeriodUnit\n" + }, + "spotPriceLimit": { + "type": "number", + "description": "SpotPriceLimit\n" + }, + "spotStrategy": { + "type": "string", + "description": "SpotStrategy\n" + }, + "systemDisk": { + "$ref": "#/types/alicloud:ehpc/QueueComputeNodeSystemDisk:QueueComputeNodeSystemDisk", + "description": "SystemDisk See \u003cspan pulumi-lang-nodejs=\"`systemDisk`\" pulumi-lang-dotnet=\"`SystemDisk`\" pulumi-lang-go=\"`systemDisk`\" pulumi-lang-python=\"`system_disk`\" pulumi-lang-yaml=\"`systemDisk`\" pulumi-lang-java=\"`systemDisk`\"\u003e`system_disk`\u003c/span\u003e below.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "enableHt", + "spotStrategy" + ] + } + } + }, + "alicloud:ehpc/QueueComputeNodeSystemDisk:QueueComputeNodeSystemDisk": { + "properties": { + "category": { + "type": "string", + "description": "Category\n" + }, + "level": { + "type": "string", + "description": "Level\n" + }, + "size": { + "type": "integer", + "description": "Size\n" + } + }, + "type": "object" + }, "alicloud:ehpc/getClustersCluster:getClustersCluster": { "properties": { "accountType": { @@ -45267,6 +45908,163 @@ } } }, + "alicloud:elasticsearch/InstanceClientNodeConfiguration:InstanceClientNodeConfiguration": { + "properties": { + "amount": { + "type": "integer", + "description": "Number of disks in the Elasticsearch cluster coordination node\n" + }, + "disk": { + "type": "integer", + "description": "Elasticsearch cluster coordinates node disk size\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Elasticsearch cluster coordination node disk type\n", + "willReplaceOnChanges": true + }, + "spec": { + "type": "string", + "description": "Elasticsearch cluster coordination node specification\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "disk" + ] + } + } + }, + "alicloud:elasticsearch/InstanceDataNodeConfiguration:InstanceDataNodeConfiguration": { + "properties": { + "amount": { + "type": "integer", + "description": "Number of data nodes in the Elasticsearch cluster\n" + }, + "disk": { + "type": "integer", + "description": "Elasticsearch data node disk size\n" + }, + "diskEncryption": { + "type": "boolean", + "description": "Whether the Elasticsearch data node disk is encrypted\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Elasticsearch cluster data node disk type\n", + "willReplaceOnChanges": true + }, + "performanceLevel": { + "type": "string", + "description": "Elasticsearch cluster data node Essd disk level\n" + }, + "spec": { + "type": "string", + "description": "Elasticsearch data node specification\n" + } + }, + "type": "object", + "required": [ + "spec" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "amount", + "diskEncryption", + "diskType", + "performanceLevel", + "spec" + ] + } + } + }, + "alicloud:elasticsearch/InstanceKibanaConfiguration:InstanceKibanaConfiguration": { + "properties": { + "amount": { + "type": "integer", + "description": "The number of disks of the Elasticsearch Kibana node. The default value is 1.\n", + "willReplaceOnChanges": true + }, + "disk": { + "type": "integer", + "description": "Elasticsearch Kibana node disk size\n", + "willReplaceOnChanges": true + }, + "spec": { + "type": "string", + "description": "Elasticsearch Kibana node disk specifications\n" + } + }, + "type": "object", + "required": [ + "spec" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "amount", + "disk", + "spec" + ] + } + } + }, + "alicloud:elasticsearch/InstanceMasterConfiguration:InstanceMasterConfiguration": { + "properties": { + "amount": { + "type": "integer", + "description": "Elasticsearch proprietary master node number of disks\n", + "willReplaceOnChanges": true + }, + "disk": { + "type": "integer", + "description": "Elasticsearch proprietary master node disk size\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Elasticsearch proprietary master node disk type\n", + "willReplaceOnChanges": true + }, + "spec": { + "type": "string", + "description": "Elasticsearch proprietary master node specifications\n" + } + }, + "type": "object" + }, + "alicloud:elasticsearch/InstanceWarmNodeConfiguration:InstanceWarmNodeConfiguration": { + "properties": { + "amount": { + "type": "integer", + "description": "Elasticsearch cluster cold data node disk number\n" + }, + "disk": { + "type": "integer", + "description": "Elasticsearch cluster cold data node disk size\n" + }, + "diskEncryption": { + "type": "boolean", + "description": "Elasticsearch cluster cold data node Disk encryption\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Elasticsearch cluster cold data node disk type\n", + "willReplaceOnChanges": true + }, + "spec": { + "type": "string", + "description": "Elasticsearch cluster cold data node Disk Specification\n" + } + }, + "type": "object" + }, "alicloud:elasticsearch/getInstancesInstance:getInstancesInstance": { "properties": { "createdAt": { @@ -47572,6 +48370,56 @@ } } }, + "alicloud:esa/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification:HttpIncomingRequestHeaderModificationRuleRequestHeaderModification": { + "properties": { + "name": { + "type": "string", + "description": "Request Header Name.\n" + }, + "operation": { + "type": "string", + "description": "Mode of operation. Value range:\n" + }, + "type": { + "type": "string", + "description": "Value type. Value range:\n" + }, + "value": { + "type": "string", + "description": "Request header value\n" + } + }, + "type": "object", + "required": [ + "name", + "operation" + ] + }, + "alicloud:esa/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification:HttpIncomingResponseHeaderModificationRuleResponseHeaderModification": { + "properties": { + "name": { + "type": "string", + "description": "The response header name.\n" + }, + "operation": { + "type": "string", + "description": "Operation method. Possible values:\n" + }, + "type": { + "type": "string", + "description": "The value type. Value range:\n" + }, + "value": { + "type": "string", + "description": "The response header value.\n" + } + }, + "type": "object", + "required": [ + "name", + "operation" + ] + }, "alicloud:esa/HttpRequestHeaderModificationRuleRequestHeaderModification:HttpRequestHeaderModificationRuleRequestHeaderModification": { "properties": { "name": { @@ -48201,7 +49049,7 @@ }, "securityLevel": { "$ref": "#/types/alicloud:esa/WafRuleConfigSecurityLevel:WafRuleConfigSecurityLevel", - "description": "The overall security protection level of WAF. See \u003cspan pulumi-lang-nodejs=\"`securityLevel`\" pulumi-lang-dotnet=\"`SecurityLevel`\" pulumi-lang-go=\"`securityLevel`\" pulumi-lang-python=\"`security_level`\" pulumi-lang-yaml=\"`securityLevel`\" pulumi-lang-java=\"`securityLevel`\"\u003e`security_level`\u003c/span\u003e below.\n" + "description": "The overall security protection level of WAF.\nValid values:\n- off\n-\u003cspan pulumi-lang-nodejs=\" essentiallyOff\n\" pulumi-lang-dotnet=\" EssentiallyOff\n\" pulumi-lang-go=\" essentiallyOff\n\" pulumi-lang-python=\" essentially_off\n\" pulumi-lang-yaml=\" essentiallyOff\n\" pulumi-lang-java=\" essentiallyOff\n\"\u003e essentially_off\n\u003c/span\u003e- low\n- medium\n- high\n-\u003cspan pulumi-lang-nodejs=\" underAttack \" pulumi-lang-dotnet=\" UnderAttack \" pulumi-lang-go=\" underAttack \" pulumi-lang-python=\" under_attack \" pulumi-lang-yaml=\" underAttack \" pulumi-lang-java=\" underAttack \"\u003e under_attack \u003c/span\u003eSee \u003cspan pulumi-lang-nodejs=\"`securityLevel`\" pulumi-lang-dotnet=\"`SecurityLevel`\" pulumi-lang-go=\"`securityLevel`\" pulumi-lang-python=\"`security_level`\" pulumi-lang-yaml=\"`securityLevel`\" pulumi-lang-java=\"`securityLevel`\"\u003e`security_level`\u003c/span\u003e below.\n" }, "sigchls": { "type": "array", @@ -53020,6 +53868,7 @@ "nodejs": { "requiredOutputs": [ "accelerationInfo", + "healthCheckConfig", "resolvedImageUri" ] } @@ -53063,7 +53912,19 @@ "type": "integer" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "failureThreshold", + "httpGetUrl", + "initialDelaySeconds", + "periodSeconds", + "successThreshold", + "timeoutSeconds" + ] + } + } }, "alicloud:fc/V3FunctionCustomDns:V3FunctionCustomDns": { "properties": { @@ -53133,6 +53994,7 @@ "language": { "nodejs": { "requiredOutputs": [ + "healthCheckConfig", "port" ] } @@ -53163,7 +54025,12 @@ "language": { "nodejs": { "requiredOutputs": [ - "failureThreshold" + "failureThreshold", + "httpGetUrl", + "initialDelaySeconds", + "periodSeconds", + "successThreshold", + "timeoutSeconds" ] } } @@ -53406,7 +54273,15 @@ "description": "Switch List\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "securityGroupId", + "vpcId" + ] + } + } }, "alicloud:fc/V3LayerVersionCode:V3LayerVersionCode": { "properties": { @@ -60929,6 +61804,143 @@ }, "type": "object" }, + "alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescription:OpenApiExplorerApiMcpServerAdditionalApiDescription": { + "properties": { + "apiName": { + "type": "string", + "description": "The API name, such as ListApiMcpServers.\n" + }, + "apiOverrideJson": { + "type": "string", + "description": "API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. \n\n\u003e **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.\u003e\n" + }, + "apiVersion": { + "type": "string", + "description": "API version information, typically in date format, such as 2014-05-26.\n" + }, + "constParameters": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter:OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter" + }, + "description": "Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. \nParameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See \u003cspan pulumi-lang-nodejs=\"`constParameters`\" pulumi-lang-dotnet=\"`ConstParameters`\" pulumi-lang-go=\"`constParameters`\" pulumi-lang-python=\"`const_parameters`\" pulumi-lang-yaml=\"`constParameters`\" pulumi-lang-java=\"`constParameters`\"\u003e`const_parameters`\u003c/span\u003e below.\n" + }, + "enableOutputSchema": { + "type": "boolean", + "description": "By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. \n\n\u003e **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.\u003e\n" + }, + "executeCliCommand": { + "type": "boolean", + "description": "Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: \n- SSE protocol: up to 30 minutes\n- Streamable HTTP protocol: up to 1 minute\n\nFor tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results.\n\n\u003e **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.\u003e\n" + }, + "product": { + "type": "string", + "description": "The name of the cloud product, such as Ecs.\n" + } + }, + "type": "object" + }, + "alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter:OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter": { + "properties": { + "key": { + "type": "string", + "description": "Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. \n\nFor RPC-style APIs, examples include:\n- Name: sets the Name parameter to a fixed value.\n\nFor ROA-style APIs, examples include:\n- Name: sets a query or path parameter named Name to a fixed value;\n- body.Name: sets the Name field within the request body to a fixed value.\n\nConfigurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {\"Sub\": \"xxx\"}.\n\n\u003e **NOTE:**\u003cspan pulumi-lang-nodejs=\" xMcpRegionId \" pulumi-lang-dotnet=\" XMcpRegionId \" pulumi-lang-go=\" xMcpRegionId \" pulumi-lang-python=\" x_mcp_region_id \" pulumi-lang-yaml=\" xMcpRegionId \" pulumi-lang-java=\" xMcpRegionId \"\u003e x_mcp_region_id \u003c/span\u003eis a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.\u003e\n" + }, + "value": { + "type": "string", + "description": "This property does not have a description in the spec, please add it before generating code.\n" + } + }, + "type": "object" + }, + "alicloud:index/OpenApiExplorerApiMcpServerApi:OpenApiExplorerApiMcpServerApi": { + "properties": { + "apiVersion": { + "type": "string", + "description": "API version information, typically in date format—for example, the version for ECS is 2014-05-26.\n" + }, + "product": { + "type": "string", + "description": "Product code, such as Ecs.\n" + }, + "selectors": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal.\n" + } + }, + "type": "object", + "required": [ + "apiVersion", + "product", + "selectors" + ] + }, + "alicloud:index/OpenApiExplorerApiMcpServerPrompt:OpenApiExplorerApiMcpServerPrompt": { + "properties": { + "arguments": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerPromptArgument:OpenApiExplorerApiMcpServerPromptArgument" + }, + "description": "Parameters for the prompt. See \u003cspan pulumi-lang-nodejs=\"`arguments`\" pulumi-lang-dotnet=\"`Arguments`\" pulumi-lang-go=\"`arguments`\" pulumi-lang-python=\"`arguments`\" pulumi-lang-yaml=\"`arguments`\" pulumi-lang-java=\"`arguments`\"\u003e`arguments`\u003c/span\u003e below.\n" + }, + "content": { + "type": "string", + "description": "Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}.\n" + }, + "description": { + "type": "string", + "description": "Description of the prompt parameter.\n" + }, + "name": { + "type": "string", + "description": "Name of the prompt parameter.\n" + } + }, + "type": "object" + }, + "alicloud:index/OpenApiExplorerApiMcpServerPromptArgument:OpenApiExplorerApiMcpServerPromptArgument": { + "properties": { + "description": { + "type": "string", + "description": "Description of the API MCP service.\n" + }, + "name": { + "type": "string", + "description": "Name of the MCP Server. It can contain digits, English letters, and hyphens (-).\n" + }, + "required": { + "type": "boolean", + "description": "Indicates whether the prompt parameter is required.\n" + } + }, + "type": "object" + }, + "alicloud:index/OpenApiExplorerApiMcpServerTerraformTool:OpenApiExplorerApiMcpServerTerraformTool": { + "properties": { + "async": { + "type": "boolean", + "description": "Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete.\n" + }, + "code": { + "type": "string" + }, + "description": { + "type": "string" + }, + "destroyPolicy": { + "type": "string", + "description": "The cleanup policy applied to temporary resources after task completion, based on the task execution status:\n- NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails.\n- ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure.\n- ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds.\n" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, "alicloud:index/ProviderAssumeRole:ProviderAssumeRole": { "properties": { "externalId": { @@ -62956,7 +63968,7 @@ }, "engineType": { "type": "string", - "description": "Engine\n" + "description": "Engine\n\nEnumeration value:\n- `TABLE`: Wide table engine\n- `TSDB`: Time series Engine\n- `LSEARCH`: Search engine\n- `LTS`: LTS engine\n- `LVECTOR`: Vector engine\n- `LCOLUMN`: Column-store engine\n- `LAI`: AI engine\n- `FILE`: The underlying file engine\n- `LMESSAGE`: Message engine\n- `LROW`: Wide table Engine 3.0\n- `LSTREAM`: Stream engine\n" }, "isLastVersion": { "type": "boolean", @@ -63052,7 +64064,7 @@ }, "nodeSpec": { "type": "string", - "description": "Node Specifications\n" + "description": "Node Specifications\n- Valid values when selecting cloud storage:\n- **lindorm.c.2xlarge**, 8 cores 16GB\n- **lindorm.g.2xlarge**, 8 cores 32GB\n- **lindorm.c.4xlarge**, 16 cores 32GB\n- **lindorm.g.4xlarge**, 16 cores 64GB\n- **lindorm.c.8xlarge**, 32 core 64GB\n- **lindorm.g.8xlarge**, 32 core 128GB\n- **lindorm.g.8xlarge**, 8 cores 64GB\n- **lindorm.r.4xlarge**, 16 cores 128GB\n- **lindorm.r.8xlarge**, 32 cores 256GB\n- Valid values when local disk storage is selected:\n- **lindorm.d2s.5XLarge**, 20 core 88GB(D2S)\n- **lindorm.d2s.10XLarge**, 40 core 176GB(D2S)\n- **lindorm.d2c.6XLarge**, 24 core 88GB(D2C)\n- **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C)\n- **lindorm.d2C.24XLarge**, 96 core 352GB(D2C)\n- **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE)\n- **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE)\n- **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE)\n- **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO)\n- **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO)\n- **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO)\n- **lindorm.d3s.2XLarge**, 8 core 32GB(D3S)\n- **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S)\n- **lindorm.d3s.8XLarge**, 32 core 128GB(D3S)\n- **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S)\n- **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S)\n- **lindorm.i4.xlarge**, 4 core 32GB(I4)\n- **lindorm.i4.2xlarge**, 8 core 64GB(I4)\n- **lindorm.i4.4xlarge**, 16 cores 128GB(I4)\n- **lindorm.i4.8xlarge**, 32 cores 256GB(I4)\n- **lindorm.i2.xlarge**, 4 core 32GB(I2)\n- **lindorm.i2.2xlarge**, 8 core 64GB(I2)\n- **lindorm.i2.4xlarge**, 16 cores 128GB(I2)\n- **lindorm.i2.8xlarge**, 32 cores 256GB(I2)\n" }, "resourceGroupName": { "type": "string", @@ -63089,6 +64101,23 @@ } } }, + "alicloud:lindorm/InstanceV2WhiteIpList:InstanceV2WhiteIpList": { + "properties": { + "groupName": { + "type": "string", + "description": "Group Name\n" + }, + "ipList": { + "type": "string", + "description": "Whitelist information\n" + } + }, + "type": "object", + "required": [ + "groupName", + "ipList" + ] + }, "alicloud:lindorm/getInstancesInstance:getInstancesInstance": { "properties": { "autoRenew": { @@ -69439,6 +70468,40 @@ "allowedOrigins" ] }, + "alicloud:oss/BucketHttpsConfigCipherSuit:BucketHttpsConfigCipherSuit": { + "properties": { + "customCipherSuites": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This field is used to configure custom encryption algorithm suites for TLS 1.2.\n" + }, + "enable": { + "type": "boolean", + "description": "Configures TLS encryption algorithm suites. Valid values:\ntrue: strong encryption algorithm suites or custom encryption algorithm suites.\nfalse: all encryption algorithm suites (default).\n" + }, + "strongCipherSuite": { + "type": "boolean", + "description": "Specifies whether to use strong encryption algorithm suites. Valid values:\ntrue: uses strong encryption algorithm suites.\nfalse: uses custom encryption algorithm suites.\n" + }, + "tls13CustomCipherSuites": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "enable" + ] + } + } + }, "alicloud:oss/BucketLifecycleRule:BucketLifecycleRule": { "properties": { "abortMultipartUploads": { @@ -72497,11 +73560,11 @@ "properties": { "autoAcceptConnection": { "type": "boolean", - "description": "Whether to automatically accept terminal node connections.\n" + "description": "Specifies whether to automatically accept endpoint connection requests. Valid values: : \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "connectBandwidth": { "type": "integer", - "description": "The connection bandwidth.\n" + "description": "The default maximum bandwidth of the endpoint connection.\n" }, "id": { "type": "string", @@ -72509,34 +73572,34 @@ }, "serviceBusinessStatus": { "type": "string", - "description": "The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`.\n" + "description": "The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.\n" }, "serviceDescription": { "type": "string", - "description": "The description of the terminal node service.\n" + "description": "The description of the endpoint service.\n" }, "serviceDomain": { "type": "string", - "description": "The domain of service.\n" + "description": "The domain name of the endpoint service.\n" }, "serviceId": { "type": "string", - "description": "The ID of the Vpc Endpoint Service.\n" + "description": "The ID of the endpoint service.\n" }, "status": { "type": "string", - "description": "The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`.\n" + "description": "The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`.\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "The tags of Vpc Endpoint Service.\n" + "description": "A mapping of tags to assign to the resource.\n" }, "vpcEndpointServiceName": { "type": "string", - "description": "The name of Vpc Endpoint Service.\n" + "description": "The name of the endpoint service.\n" } }, "type": "object", @@ -76042,6 +77105,497 @@ } } }, + "alicloud:realtimecompute/DeploymentArtifact:DeploymentArtifact": { + "properties": { + "jarArtifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifactJarArtifact:DeploymentArtifactJarArtifact", + "description": "JarArtifact See \u003cspan pulumi-lang-nodejs=\"`jarArtifact`\" pulumi-lang-dotnet=\"`JarArtifact`\" pulumi-lang-go=\"`jarArtifact`\" pulumi-lang-python=\"`jar_artifact`\" pulumi-lang-yaml=\"`jarArtifact`\" pulumi-lang-java=\"`jarArtifact`\"\u003e`jar_artifact`\u003c/span\u003e below.\n" + }, + "kind": { + "type": "string", + "description": "Artifact type\n", + "willReplaceOnChanges": true + }, + "pythonArtifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifactPythonArtifact:DeploymentArtifactPythonArtifact", + "description": "PythonArtifact See \u003cspan pulumi-lang-nodejs=\"`pythonArtifact`\" pulumi-lang-dotnet=\"`PythonArtifact`\" pulumi-lang-go=\"`pythonArtifact`\" pulumi-lang-python=\"`python_artifact`\" pulumi-lang-yaml=\"`pythonArtifact`\" pulumi-lang-java=\"`pythonArtifact`\"\u003e`python_artifact`\u003c/span\u003e below.\n" + }, + "sqlArtifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifactSqlArtifact:DeploymentArtifactSqlArtifact", + "description": "SqlArtifact See \u003cspan pulumi-lang-nodejs=\"`sqlArtifact`\" pulumi-lang-dotnet=\"`SqlArtifact`\" pulumi-lang-go=\"`sqlArtifact`\" pulumi-lang-python=\"`sql_artifact`\" pulumi-lang-yaml=\"`sqlArtifact`\" pulumi-lang-java=\"`sqlArtifact`\"\u003e`sql_artifact`\u003c/span\u003e below.\n" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "alicloud:realtimecompute/DeploymentArtifactJarArtifact:DeploymentArtifactJarArtifact": { + "properties": { + "additionalDependencies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach.\n" + }, + "entryClass": { + "type": "string", + "description": "Main class; you must specify the fully qualified class name\n" + }, + "jarUri": { + "type": "string", + "description": "Full URL path of the JAR job\n" + }, + "mainArgs": { + "type": "string", + "description": "Startup arguments\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentArtifactPythonArtifact:DeploymentArtifactPythonArtifact": { + "properties": { + "additionalDependencies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach.\n" + }, + "additionalPythonArchives": { + "type": "array", + "items": { + "type": "string" + }, + "description": "URL paths of dependent Python archive files\n" + }, + "additionalPythonLibraries": { + "type": "array", + "items": { + "type": "string" + }, + "description": "URL paths of dependent Python library files\n" + }, + "entryModule": { + "type": "string", + "description": "Entry module for Python\n" + }, + "mainArgs": { + "type": "string", + "description": "Startup arguments\n" + }, + "pythonArtifactUri": { + "type": "string", + "description": "Full URL path of the Python job\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentArtifactSqlArtifact:DeploymentArtifactSqlArtifact": { + "properties": { + "additionalDependencies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach.\n" + }, + "sqlScript": { + "type": "string", + "description": "Text content of the SQL job\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentBatchResourceSetting:DeploymentBatchResourceSetting": { + "properties": { + "basicResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSetting:DeploymentBatchResourceSettingBasicResourceSetting", + "description": "Resource settings for basic mode See \u003cspan pulumi-lang-nodejs=\"`basicResourceSetting`\" pulumi-lang-dotnet=\"`BasicResourceSetting`\" pulumi-lang-go=\"`basicResourceSetting`\" pulumi-lang-python=\"`basic_resource_setting`\" pulumi-lang-yaml=\"`basicResourceSetting`\" pulumi-lang-java=\"`basicResourceSetting`\"\u003e`basic_resource_setting`\u003c/span\u003e below.\n" + }, + "maxSlot": { + "type": "integer", + "description": "Maximum number of slots\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSetting:DeploymentBatchResourceSettingBasicResourceSetting": { + "properties": { + "jobmanagerResourceSettingSpec": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec:DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec" + }, + "parallelism": { + "type": "integer" + }, + "taskmanagerResourceSettingSpec": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec:DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec:DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec": { + "properties": { + "cpu": { + "type": "number" + }, + "memory": { + "type": "string" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec:DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec": { + "properties": { + "cpu": { + "type": "number" + }, + "memory": { + "type": "string" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentDeploymentTarget:DeploymentDeploymentTarget": { + "properties": { + "mode": { + "type": "string", + "description": "Deployment mode, valid values: PER_JOB or SESSION\n" + }, + "name": { + "type": "string", + "description": "Deployment target name\n" + } + }, + "type": "object", + "required": [ + "mode", + "name" + ] + }, + "alicloud:realtimecompute/DeploymentLocalVariable:DeploymentLocalVariable": { + "properties": { + "name": { + "type": "string", + "description": "Job variable name\n" + }, + "value": { + "type": "string", + "description": "Job variable value\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentLogging:DeploymentLogging": { + "properties": { + "log4j2ConfigurationTemplate": { + "type": "string", + "description": "Custom log template\n" + }, + "log4jLoggers": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLoggingLog4jLogger:DeploymentLoggingLog4jLogger" + }, + "description": "log4j configuration See \u003cspan pulumi-lang-nodejs=\"`log4jLoggers`\" pulumi-lang-dotnet=\"`Log4jLoggers`\" pulumi-lang-go=\"`log4jLoggers`\" pulumi-lang-python=\"`log4j_loggers`\" pulumi-lang-yaml=\"`log4jLoggers`\" pulumi-lang-java=\"`log4jLoggers`\"\u003e`log4j_loggers`\u003c/span\u003e below.\n" + }, + "logReservePolicy": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLoggingLogReservePolicy:DeploymentLoggingLogReservePolicy", + "description": "Log retention policy See \u003cspan pulumi-lang-nodejs=\"`logReservePolicy`\" pulumi-lang-dotnet=\"`LogReservePolicy`\" pulumi-lang-go=\"`logReservePolicy`\" pulumi-lang-python=\"`log_reserve_policy`\" pulumi-lang-yaml=\"`logReservePolicy`\" pulumi-lang-java=\"`logReservePolicy`\"\u003e`log_reserve_policy`\u003c/span\u003e below.\n" + }, + "loggingProfile": { + "type": "string", + "description": "Default system log template\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "log4j2ConfigurationTemplate", + "log4jLoggers", + "logReservePolicy", + "loggingProfile" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentLoggingLog4jLogger:DeploymentLoggingLog4jLogger": { + "properties": { + "loggerLevel": { + "type": "string", + "description": "Log output level\n" + }, + "loggerName": { + "type": "string", + "description": "Class name for log output\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "loggerLevel", + "loggerName" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentLoggingLogReservePolicy:DeploymentLoggingLogReservePolicy": { + "properties": { + "expirationDays": { + "type": "integer", + "description": "Number of days to retain logs after log retention is enabled\n" + }, + "openHistory": { + "type": "boolean", + "description": "Whether to enable log retention\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "expirationDays", + "openHistory" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSetting:DeploymentStreamingResourceSetting": { + "properties": { + "basicResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSetting:DeploymentStreamingResourceSettingBasicResourceSetting", + "description": "Resource settings for basic mode See \u003cspan pulumi-lang-nodejs=\"`basicResourceSetting`\" pulumi-lang-dotnet=\"`BasicResourceSetting`\" pulumi-lang-go=\"`basicResourceSetting`\" pulumi-lang-python=\"`basic_resource_setting`\" pulumi-lang-yaml=\"`basicResourceSetting`\" pulumi-lang-java=\"`basicResourceSetting`\"\u003e`basic_resource_setting`\u003c/span\u003e below.\n" + }, + "expertResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSettingExpertResourceSetting:DeploymentStreamingResourceSettingExpertResourceSetting", + "description": "Expert mode resource settings See \u003cspan pulumi-lang-nodejs=\"`expertResourceSetting`\" pulumi-lang-dotnet=\"`ExpertResourceSetting`\" pulumi-lang-go=\"`expertResourceSetting`\" pulumi-lang-python=\"`expert_resource_setting`\" pulumi-lang-yaml=\"`expertResourceSetting`\" pulumi-lang-java=\"`expertResourceSetting`\"\u003e`expert_resource_setting`\u003c/span\u003e below.\n" + }, + "resourceSettingMode": { + "type": "string", + "description": "Resource mode used in streaming mode, valid values: BASIC or EXPERT\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "basicResourceSetting", + "expertResourceSetting", + "resourceSettingMode" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSetting:DeploymentStreamingResourceSettingBasicResourceSetting": { + "properties": { + "jobmanagerResourceSettingSpec": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec:DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec" + }, + "parallelism": { + "type": "integer" + }, + "taskmanagerResourceSettingSpec": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec:DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "jobmanagerResourceSettingSpec", + "parallelism", + "taskmanagerResourceSettingSpec" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec:DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec": { + "properties": { + "cpu": { + "type": "number" + }, + "memory": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "cpu", + "memory" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec:DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec": { + "properties": { + "cpu": { + "type": "number" + }, + "memory": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "cpu", + "memory" + ] + } + } + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSettingExpertResourceSetting:DeploymentStreamingResourceSettingExpertResourceSetting": { + "properties": { + "jobmanagerResourceSettingSpec": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec:DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec" + }, + "resourcePlan": { + "type": "string", + "description": "Resource plan for expert mode\n" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec:DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec": { + "properties": { + "cpu": { + "type": "number" + }, + "memory": { + "type": "string" + } + }, + "type": "object" + }, + "alicloud:realtimecompute/JobLocalVariable:JobLocalVariable": { + "properties": { + "name": { + "type": "string", + "description": "Local variables name\n", + "willReplaceOnChanges": true + }, + "value": { + "type": "string", + "description": "Local variables value\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:realtimecompute/JobRestoreStrategy:JobRestoreStrategy": { + "properties": { + "allowNonRestoredState": { + "type": "boolean", + "description": "Stateless startup\n", + "willReplaceOnChanges": true + }, + "jobStartTimeInMs": { + "type": "integer", + "description": "Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time.\n", + "willReplaceOnChanges": true + }, + "kind": { + "type": "string", + "description": "Restore type\n", + "willReplaceOnChanges": true + }, + "savepointId": { + "type": "string", + "description": "SavepointId\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "alicloud:realtimecompute/JobStatus:JobStatus": { + "properties": { + "currentJobStatus": { + "type": "string", + "description": "Job current status\n" + }, + "failure": { + "$ref": "#/types/alicloud:realtimecompute/JobStatusFailure:JobStatusFailure", + "description": "Job failure information\n" + }, + "healthScore": { + "type": "integer", + "description": "Job Run Health Score\n" + }, + "riskLevel": { + "type": "string", + "description": "Risk level, which indicates the risk level of the operation status of the job.\n" + }, + "running": { + "$ref": "#/types/alicloud:realtimecompute/JobStatusRunning:JobStatusRunning", + "description": "job running status, which has value when the job is Running.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "currentJobStatus", + "failure", + "healthScore", + "riskLevel", + "running" + ] + } + } + }, + "alicloud:realtimecompute/JobStatusFailure:JobStatusFailure": { + "properties": { + "failedAt": { + "type": "integer", + "description": "Job failure time\n" + }, + "message": { + "type": "string", + "description": "Failure Information Details\n" + }, + "reason": { + "type": "string", + "description": "Failure Reason\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "failedAt", + "message", + "reason" + ] + } + } + }, + "alicloud:realtimecompute/JobStatusRunning:JobStatusRunning": { + "properties": { + "observedFlinkJobRestarts": { + "type": "integer", + "description": "Number of job restarts\n" + }, + "observedFlinkJobStatus": { + "type": "string", + "description": "Flink job status\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "observedFlinkJobRestarts", + "observedFlinkJobStatus" + ] + } + } + }, "alicloud:realtimecompute/VvpInstanceResourceSpec:VvpInstanceResourceSpec": { "properties": { "cpu": { @@ -87841,6 +89395,19 @@ "vendor" ] }, + "alicloud:threatdetection/CheckConfigSelectedCheck:CheckConfigSelectedCheck": { + "properties": { + "checkId": { + "type": "integer", + "description": "The ID of the check item.\n" + }, + "sectionId": { + "type": "integer", + "description": "The section ID of the check item.\n" + } + }, + "type": "object" + }, "alicloud:threatdetection/HoneypotPresetMeta:HoneypotPresetMeta": { "properties": { "burp": { @@ -88171,6 +89738,255 @@ } } }, + "alicloud:threatdetection/getCheckItemConfigsConfig:getCheckItemConfigsConfig": { + "properties": { + "checkId": { + "type": "integer", + "description": "The ID of the check item\n" + }, + "checkShowName": { + "type": "string", + "description": "The name of the check item.\n" + }, + "checkType": { + "type": "string", + "description": "The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform\n" + }, + "customConfigs": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckItemConfigsConfigCustomConfig:getCheckItemConfigsConfigCustomConfig" + }, + "description": "The custom configuration items of the check item.\n" + }, + "description": { + "$ref": "#/types/alicloud:threatdetection/getCheckItemConfigsConfigDescription:getCheckItemConfigsConfigDescription", + "description": "The description of the check item.\n" + }, + "estimatedCount": { + "type": "integer", + "description": "The estimated quota that will be consumed by this check item.\n" + }, + "instanceSubType": { + "type": "string", + "description": "The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE**\n" + }, + "instanceType": { + "type": "string", + "description": "The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP).\n" + }, + "riskLevel": { + "type": "string", + "description": "The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW**\n" + }, + "sectionIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "The IDs of the sections associated with the check items.\n" + }, + "vendor": { + "type": "string", + "description": "The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server.\n" + } + }, + "type": "object", + "required": [ + "checkId", + "checkShowName", + "checkType", + "customConfigs", + "description", + "estimatedCount", + "instanceSubType", + "instanceType", + "riskLevel", + "sectionIds", + "vendor" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckItemConfigsConfigCustomConfig:getCheckItemConfigsConfigCustomConfig": { + "properties": { + "defaultValue": { + "type": "string", + "description": "The default value of the custom configuration item. The value is a string.\n" + }, + "name": { + "type": "string", + "description": "The name of the custom configuration item, which is unique in a check item.\n" + }, + "showName": { + "type": "string", + "description": "The display name of the custom configuration item for internationalization.\n" + }, + "typeDefine": { + "type": "string", + "description": "The type of the custom configuration item. The value is a JSON string.\n" + }, + "value": { + "type": "string", + "description": "The content of the description for the check item when the Type parameter is text.\n" + } + }, + "type": "object", + "required": [ + "defaultValue", + "name", + "showName", + "typeDefine", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckItemConfigsConfigDescription:getCheckItemConfigsConfigDescription": { + "properties": { + "type": { + "type": "string", + "description": "The type of the description of the check item. Valid value:* **text**.\n" + }, + "value": { + "type": "string", + "description": "The content of the description for the check item when the Type parameter is text.\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckStructuresStructure:getCheckStructuresStructure": { + "properties": { + "standardType": { + "type": "string", + "description": "The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance.\n" + }, + "standards": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckStructuresStructureStandard:getCheckStructuresStructureStandard" + }, + "description": "The structure information about the check items of the business type.\n" + } + }, + "type": "object", + "required": [ + "standardType", + "standards" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckStructuresStructureStandard:getCheckStructuresStructureStandard": { + "properties": { + "id": { + "type": "integer", + "description": "The ID of the section for the check item.\n" + }, + "requirements": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckStructuresStructureStandardRequirement:getCheckStructuresStructureStandardRequirement" + }, + "description": "The standards of the check items.\n" + }, + "showName": { + "type": "string", + "description": "The display name of the standard for the check item.\n" + }, + "type": { + "type": "string", + "description": "The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance.\n" + } + }, + "type": "object", + "required": [ + "id", + "requirements", + "showName", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckStructuresStructureStandardRequirement:getCheckStructuresStructureStandardRequirement": { + "properties": { + "id": { + "type": "integer", + "description": "The ID of the section for the check item.\n" + }, + "sections": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckStructuresStructureStandardRequirementSection:getCheckStructuresStructureStandardRequirementSection" + }, + "description": "The information about the sections of check items.\n" + }, + "showName": { + "type": "string", + "description": "The display name of the standard for the check item.\n" + }, + "totalCheckCount": { + "type": "integer", + "description": "The total number of check items for the requirement.\n" + } + }, + "type": "object", + "required": [ + "id", + "sections", + "showName", + "totalCheckCount" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "alicloud:threatdetection/getCheckStructuresStructureStandardRequirementSection:getCheckStructuresStructureStandardRequirementSection": { + "properties": { + "id": { + "type": "integer", + "description": "The ID of the section for the check item.\n" + }, + "showName": { + "type": "string", + "description": "The display name of the standard for the check item.\n" + } + }, + "type": "object", + "required": [ + "id", + "showName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "alicloud:threatdetection/getHoneyPotsPot:getHoneyPotsPot": { "properties": { "honeypotId": { @@ -96194,7 +98010,7 @@ }, "resources": { "alicloud:ackone/cluster:Cluster": { - "description": "Provides a Ack One Cluster resource. Fleet Manager Cluster.\n\nFor information about Ack One Cluster and how to use it, see [What is Cluster](https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/developer-reference/api-adcp-2022-01-01-createhubcluster).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultyVSwitch = new alicloud.vpc.Switch(\"defaultyVSwitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"172.16.2.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.ackone.Cluster(\"default\", {\n network: {\n vpcId: defaultVpc.id,\n vswitches: [defaultyVSwitch.id],\n },\n profile: \"XFlow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefaulty_v_switch = alicloud.vpc.Switch(\"defaultyVSwitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"172.16.2.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_cluster = alicloud.ackone.Cluster(\"default\",\n network={\n \"vpc_id\": default_vpc.id,\n \"vswitches\": [defaulty_v_switch.id],\n },\n profile=\"XFlow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultyVSwitch = new AliCloud.Vpc.Switch(\"defaultyVSwitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"172.16.2.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.AckOne.Cluster(\"default\", new()\n {\n Network = new AliCloud.AckOne.Inputs.ClusterNetworkArgs\n {\n VpcId = defaultVpc.Id,\n Vswitches = new[]\n {\n defaultyVSwitch.Id,\n },\n },\n Profile = \"XFlow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ackone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyVSwitch, err := vpc.NewSwitch(ctx, \"defaultyVSwitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ackone.NewCluster(ctx, \"default\", \u0026ackone.ClusterArgs{\n\t\t\tNetwork: \u0026ackone.ClusterNetworkArgs{\n\t\t\t\tVpcId: defaultVpc.ID(),\n\t\t\t\tVswitches: pulumi.StringArray{\n\t\t\t\t\tdefaultyVSwitch.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProfile: pulumi.String(\"XFlow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ackone.Cluster;\nimport com.pulumi.alicloud.ackone.ClusterArgs;\nimport com.pulumi.alicloud.ackone.inputs.ClusterNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultyVSwitch = new Switch(\"defaultyVSwitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"172.16.2.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .network(ClusterNetworkArgs.builder()\n .vpcId(defaultVpc.id())\n .vswitches(defaultyVSwitch.id())\n .build())\n .profile(\"XFlow\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultyVSwitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 172.16.2.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:ackone:Cluster\n name: default\n properties:\n network:\n vpcId: ${defaultVpc.id}\n vswitches:\n - ${defaultyVSwitch.id}\n profile: XFlow\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAck One Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ackone/cluster:Cluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Ack One Cluster resource. Fleet Manager Cluster.\n\nFor information about Ack One Cluster and how to use it, see [What is Cluster](https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/developer-reference/api-adcp-2022-01-01-createhubcluster).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultyVSwitch = new alicloud.vpc.Switch(\"defaultyVSwitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"172.16.2.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.ackone.Cluster(\"default\", {\n network: {\n vpcId: defaultVpc.id,\n vswitches: [defaultyVSwitch.id],\n },\n profile: \"XFlow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefaulty_v_switch = alicloud.vpc.Switch(\"defaultyVSwitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"172.16.2.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_cluster = alicloud.ackone.Cluster(\"default\",\n network={\n \"vpc_id\": default_vpc.id,\n \"vswitches\": [defaulty_v_switch.id],\n },\n profile=\"XFlow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultyVSwitch = new AliCloud.Vpc.Switch(\"defaultyVSwitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"172.16.2.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.AckOne.Cluster(\"default\", new()\n {\n Network = new AliCloud.AckOne.Inputs.ClusterNetworkArgs\n {\n VpcId = defaultVpc.Id,\n Vswitches = new[]\n {\n defaultyVSwitch.Id,\n },\n },\n Profile = \"XFlow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ackone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyVSwitch, err := vpc.NewSwitch(ctx, \"defaultyVSwitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ackone.NewCluster(ctx, \"default\", \u0026ackone.ClusterArgs{\n\t\t\tNetwork: \u0026ackone.ClusterNetworkArgs{\n\t\t\t\tVpcId: defaultVpc.ID(),\n\t\t\t\tVswitches: pulumi.StringArray{\n\t\t\t\t\tdefaultyVSwitch.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProfile: pulumi.String(\"XFlow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ackone.Cluster;\nimport com.pulumi.alicloud.ackone.ClusterArgs;\nimport com.pulumi.alicloud.ackone.inputs.ClusterNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultyVSwitch = new Switch(\"defaultyVSwitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"172.16.2.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .network(ClusterNetworkArgs.builder()\n .vpcId(defaultVpc.id())\n .vswitches(defaultyVSwitch.id())\n .build())\n .profile(\"XFlow\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultyVSwitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 172.16.2.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:ackone:Cluster\n name: default\n properties:\n network:\n vpcId: ${defaultVpc.id}\n vswitches:\n - ${defaultyVSwitch.id}\n profile: XFlow\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAck One Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ackone/cluster:Cluster example \u003cid\u003e\n```\n\n", "properties": { "argocdEnabled": { "type": "boolean", @@ -96288,7 +98104,7 @@ } }, "alicloud:ackone/membershipAttachment:MembershipAttachment": { - "description": "Provides an Ack One Membership Attachment resource. Fleet Manager Membership Attachment.\n\nFor information about Ack One Membership Attachment and how to use it, see [How to attach cluster tp hub](https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/developer-reference/api-adcp-2022-01-01-attachclustertohub).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst keyName = config.get(\"keyName\") || \"%s\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst cloudEfficiency = enhanced.then(enhanced =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: enhanced.zones?.[0]?.zoneId,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n systemDiskCategory: \"cloud_efficiency\",\n}));\nconst _default = new alicloud.vpc.Network(\"default\", {cidrBlock: \"10.4.0.0/16\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n cidrBlock: \"10.4.0.0/24\",\n vpcId: _default.id,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n clusterSpec: \"ack.pro.small\",\n vswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: keyName});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"1\",\n});\nconst defaultCluster = new alicloud.ackone.Cluster(\"default\", {\n network: {\n vpcId: _default.id,\n vswitches: [defaultSwitch.id],\n },\n argocdEnabled: false,\n}, {\n dependsOn: [defaultManagedKubernetes],\n});\nconst defaultMembershipAttachment = new alicloud.ackone.MembershipAttachment(\"default\", {\n clusterId: defaultCluster.id,\n subClusterId: defaultManagedKubernetes.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nkey_name = config.get(\"keyName\")\nif key_name is None:\n key_name = \"%s\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ncloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\",\n system_disk_category=\"cloud_efficiency\")\ndefault = alicloud.vpc.Network(\"default\", cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default.id,\n zone_id=enhanced.zones[0].zone_id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n cluster_spec=\"ack.pro.small\",\n vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True,\n is_enterprise_security_group=True)\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=key_name)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"1\")\ndefault_cluster = alicloud.ackone.Cluster(\"default\",\n network={\n \"vpc_id\": default.id,\n \"vswitches\": [default_switch.id],\n },\n argocd_enabled=False,\n opts = pulumi.ResourceOptions(depends_on=[default_managed_kubernetes]))\ndefault_membership_attachment = alicloud.ackone.MembershipAttachment(\"default\",\n cluster_id=default_cluster.id,\n sub_cluster_id=default_managed_kubernetes.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var keyName = config.Get(\"keyName\") ?? \"%s\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var cloudEfficiency = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = @default.Id,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n ClusterSpec = \"ack.pro.small\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = keyName,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"1\",\n });\n\n var defaultCluster = new AliCloud.AckOne.Cluster(\"default\", new()\n {\n Network = new AliCloud.AckOne.Inputs.ClusterNetworkArgs\n {\n VpcId = @default.Id,\n Vswitches = new[]\n {\n defaultSwitch.Id,\n },\n },\n ArgocdEnabled = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultManagedKubernetes,\n },\n });\n\n var defaultMembershipAttachment = new AliCloud.AckOne.MembershipAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n SubClusterId = defaultManagedKubernetes.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ackone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tkeyName := \"%s\"\n\t\tif param := cfg.Get(\"keyName\"); param != \"\" {\n\t\t\tkeyName = param\n\t\t}\n\t\tenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudEfficiency, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(enhanced.Zones[0].ZoneId),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(keyName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tDesiredSize: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := ackone.NewCluster(ctx, \"default\", \u0026ackone.ClusterArgs{\n\t\t\tNetwork: \u0026ackone.ClusterNetworkArgs{\n\t\t\t\tVpcId: _default.ID(),\n\t\t\t\tVswitches: pulumi.StringArray{\n\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tArgocdEnabled: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultManagedKubernetes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ackone.NewMembershipAttachment(ctx, \"default\", \u0026ackone.MembershipAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tSubClusterId: defaultManagedKubernetes.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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.ackone.Cluster;\nimport com.pulumi.alicloud.ackone.ClusterArgs;\nimport com.pulumi.alicloud.ackone.inputs.ClusterNetworkArgs;\nimport com.pulumi.alicloud.ackone.MembershipAttachment;\nimport com.pulumi.alicloud.ackone.MembershipAttachmentArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var keyName = config.get(\"keyName\").orElse(\"%s\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n final var cloudEfficiency = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(enhanced.zones()[0].zoneId())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(default_.id())\n .zoneId(enhanced.zones()[0].zoneId())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .clusterSpec(\"ack.pro.small\")\n .vswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(keyName)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"1\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .network(ClusterNetworkArgs.builder()\n .vpcId(default_.id())\n .vswitches(defaultSwitch.id())\n .build())\n .argocdEnabled(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultManagedKubernetes)\n .build());\n\n var defaultMembershipAttachment = new MembershipAttachment(\"defaultMembershipAttachment\", MembershipAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .subClusterId(defaultManagedKubernetes.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n keyName:\n type: string\n default: '%s'\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n cidrBlock: 10.4.0.0/24\n vpcId: ${default.id}\n zoneId: ${enhanced.zones[0].zoneId}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n clusterSpec: ack.pro.small\n vswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${keyName}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 1\n defaultCluster:\n type: alicloud:ackone:Cluster\n name: default\n properties:\n network:\n vpcId: ${default.id}\n vswitches:\n - ${defaultSwitch.id}\n argocdEnabled: false\n options:\n dependsOn:\n - ${defaultManagedKubernetes}\n defaultMembershipAttachment:\n type: alicloud:ackone:MembershipAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n subClusterId: ${defaultManagedKubernetes.id}\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n cloudEfficiency:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${enhanced.zones[0].zoneId}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n systemDiskCategory: cloud_efficiency\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAck One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g.\n\n```sh\n$ pulumi import alicloud:ackone/membershipAttachment:MembershipAttachment example \u003ccluster_id\u003e:\u003csub_cluster_id\u003e\n```\n\n", + "description": "Provides an Ack One Membership Attachment resource. Fleet Manager Membership Attachment.\n\nFor information about Ack One Membership Attachment and how to use it, see [How to attach cluster tp hub](https://www.alibabacloud.com/help/en/ack/distributed-cloud-container-platform-for-kubernetes/developer-reference/api-adcp-2022-01-01-attachclustertohub).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst keyName = config.get(\"keyName\") || \"%s\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst cloudEfficiency = enhanced.then(enhanced =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: enhanced.zones?.[0]?.zoneId,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n systemDiskCategory: \"cloud_efficiency\",\n}));\nconst _default = new alicloud.vpc.Network(\"default\", {cidrBlock: \"10.4.0.0/16\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n cidrBlock: \"10.4.0.0/24\",\n vpcId: _default.id,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n clusterSpec: \"ack.pro.small\",\n vswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: keyName});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"1\",\n});\nconst defaultCluster = new alicloud.ackone.Cluster(\"default\", {\n network: {\n vpcId: _default.id,\n vswitches: [defaultSwitch.id],\n },\n argocdEnabled: false,\n}, {\n dependsOn: [defaultManagedKubernetes],\n});\nconst defaultMembershipAttachment = new alicloud.ackone.MembershipAttachment(\"default\", {\n clusterId: defaultCluster.id,\n subClusterId: defaultManagedKubernetes.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nkey_name = config.get(\"keyName\")\nif key_name is None:\n key_name = \"%s\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ncloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\",\n system_disk_category=\"cloud_efficiency\")\ndefault = alicloud.vpc.Network(\"default\", cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default.id,\n zone_id=enhanced.zones[0].zone_id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n cluster_spec=\"ack.pro.small\",\n vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True,\n is_enterprise_security_group=True)\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=key_name)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"1\")\ndefault_cluster = alicloud.ackone.Cluster(\"default\",\n network={\n \"vpc_id\": default.id,\n \"vswitches\": [default_switch.id],\n },\n argocd_enabled=False,\n opts = pulumi.ResourceOptions(depends_on=[default_managed_kubernetes]))\ndefault_membership_attachment = alicloud.ackone.MembershipAttachment(\"default\",\n cluster_id=default_cluster.id,\n sub_cluster_id=default_managed_kubernetes.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var keyName = config.Get(\"keyName\") ?? \"%s\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var cloudEfficiency = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = @default.Id,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n ClusterSpec = \"ack.pro.small\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = keyName,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"1\",\n });\n\n var defaultCluster = new AliCloud.AckOne.Cluster(\"default\", new()\n {\n Network = new AliCloud.AckOne.Inputs.ClusterNetworkArgs\n {\n VpcId = @default.Id,\n Vswitches = new[]\n {\n defaultSwitch.Id,\n },\n },\n ArgocdEnabled = false,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultManagedKubernetes,\n },\n });\n\n var defaultMembershipAttachment = new AliCloud.AckOne.MembershipAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n SubClusterId = defaultManagedKubernetes.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ackone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tkeyName := \"%s\"\n\t\tif param := cfg.Get(\"keyName\"); param != \"\" {\n\t\t\tkeyName = param\n\t\t}\n\t\tenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudEfficiency, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(enhanced.Zones[0].ZoneId),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(keyName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tDesiredSize: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := ackone.NewCluster(ctx, \"default\", \u0026ackone.ClusterArgs{\n\t\t\tNetwork: \u0026ackone.ClusterNetworkArgs{\n\t\t\t\tVpcId: _default.ID(),\n\t\t\t\tVswitches: pulumi.StringArray{\n\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tArgocdEnabled: pulumi.Bool(false),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultManagedKubernetes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ackone.NewMembershipAttachment(ctx, \"default\", \u0026ackone.MembershipAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tSubClusterId: defaultManagedKubernetes.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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.ackone.Cluster;\nimport com.pulumi.alicloud.ackone.ClusterArgs;\nimport com.pulumi.alicloud.ackone.inputs.ClusterNetworkArgs;\nimport com.pulumi.alicloud.ackone.MembershipAttachment;\nimport com.pulumi.alicloud.ackone.MembershipAttachmentArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var keyName = config.get(\"keyName\").orElse(\"%s\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n final var cloudEfficiency = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(enhanced.zones()[0].zoneId())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(default_.id())\n .zoneId(enhanced.zones()[0].zoneId())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .clusterSpec(\"ack.pro.small\")\n .vswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(keyName)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"1\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .network(ClusterNetworkArgs.builder()\n .vpcId(default_.id())\n .vswitches(defaultSwitch.id())\n .build())\n .argocdEnabled(false)\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultManagedKubernetes)\n .build());\n\n var defaultMembershipAttachment = new MembershipAttachment(\"defaultMembershipAttachment\", MembershipAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .subClusterId(defaultManagedKubernetes.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n keyName:\n type: string\n default: '%s'\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n cidrBlock: 10.4.0.0/24\n vpcId: ${default.id}\n zoneId: ${enhanced.zones[0].zoneId}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n clusterSpec: ack.pro.small\n vswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${keyName}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 1\n defaultCluster:\n type: alicloud:ackone:Cluster\n name: default\n properties:\n network:\n vpcId: ${default.id}\n vswitches:\n - ${defaultSwitch.id}\n argocdEnabled: false\n options:\n dependsOn:\n - ${defaultManagedKubernetes}\n defaultMembershipAttachment:\n type: alicloud:ackone:MembershipAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n subClusterId: ${defaultManagedKubernetes.id}\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n cloudEfficiency:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${enhanced.zones[0].zoneId}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n systemDiskCategory: cloud_efficiency\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAck One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g.\n\n```sh\n$ pulumi import alicloud:ackone/membershipAttachment:MembershipAttachment example \u003ccluster_id\u003e:\u003csub_cluster_id\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -96337,7 +98153,7 @@ } }, "alicloud:actiontrail/advancedQueryTemplate:AdvancedQueryTemplate": { - "description": "Provides a Actiontrail Advanced Query Template resource.\n\nsql template of advanced query.\n\nFor information about Actiontrail Advanced Query Template and how to use it, see [What is Advanced Query Template](https://next.api.alibabacloud.com/document/Actiontrail/2020-07-06/CreateAdvancedQueryTemplate).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.actiontrail.AdvancedQueryTemplate(\"default\", {\n simpleQuery: true,\n templateName: \"exampleTemplateName\",\n templateSql: \"*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.actiontrail.AdvancedQueryTemplate(\"default\",\n simple_query=True,\n template_name=\"exampleTemplateName\",\n template_sql=\"*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ActionTrail.AdvancedQueryTemplate(\"default\", new()\n {\n SimpleQuery = true,\n TemplateName = \"exampleTemplateName\",\n TemplateSql = \"*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := actiontrail.NewAdvancedQueryTemplate(ctx, \"default\", \u0026actiontrail.AdvancedQueryTemplateArgs{\n\t\t\tSimpleQuery: pulumi.Bool(true),\n\t\t\tTemplateName: pulumi.String(\"exampleTemplateName\"),\n\t\t\tTemplateSql: 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.alicloud.actiontrail.AdvancedQueryTemplate;\nimport com.pulumi.alicloud.actiontrail.AdvancedQueryTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AdvancedQueryTemplate(\"default\", AdvancedQueryTemplateArgs.builder()\n .simpleQuery(true)\n .templateName(\"exampleTemplateName\")\n .templateSql(\"*\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:actiontrail:AdvancedQueryTemplate\n properties:\n simpleQuery: true\n templateName: exampleTemplateName\n templateSql: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nActiontrail Advanced Query Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/advancedQueryTemplate:AdvancedQueryTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Actiontrail Advanced Query Template resource.\n\nsql template of advanced query.\n\nFor information about Actiontrail Advanced Query Template and how to use it, see [What is Advanced Query Template](https://next.api.alibabacloud.com/document/Actiontrail/2020-07-06/CreateAdvancedQueryTemplate).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.actiontrail.AdvancedQueryTemplate(\"default\", {\n simpleQuery: true,\n templateName: \"exampleTemplateName\",\n templateSql: \"*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.actiontrail.AdvancedQueryTemplate(\"default\",\n simple_query=True,\n template_name=\"exampleTemplateName\",\n template_sql=\"*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ActionTrail.AdvancedQueryTemplate(\"default\", new()\n {\n SimpleQuery = true,\n TemplateName = \"exampleTemplateName\",\n TemplateSql = \"*\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := actiontrail.NewAdvancedQueryTemplate(ctx, \"default\", \u0026actiontrail.AdvancedQueryTemplateArgs{\n\t\t\tSimpleQuery: pulumi.Bool(true),\n\t\t\tTemplateName: pulumi.String(\"exampleTemplateName\"),\n\t\t\tTemplateSql: 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.alicloud.actiontrail.AdvancedQueryTemplate;\nimport com.pulumi.alicloud.actiontrail.AdvancedQueryTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AdvancedQueryTemplate(\"default\", AdvancedQueryTemplateArgs.builder()\n .simpleQuery(true)\n .templateName(\"exampleTemplateName\")\n .templateSql(\"*\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:actiontrail:AdvancedQueryTemplate\n properties:\n simpleQuery: true\n templateName: exampleTemplateName\n templateSql: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nActiontrail Advanced Query Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/advancedQueryTemplate:AdvancedQueryTemplate example \u003cid\u003e\n```\n\n", "properties": { "simpleQuery": { "type": "boolean", @@ -96394,7 +98210,7 @@ } }, "alicloud:actiontrail/globalEventsStorageRegion:GlobalEventsStorageRegion": { - "description": "Provides a Global events storage region resource.\n\nFor information about global events storage region and how to use it, see [What is Global Events Storage Region](https://next.api.alibabacloud.com/api/Actiontrail/2020-07-06/UpdateGlobalEventsStorageRegion).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.actiontrail.GlobalEventsStorageRegion(\"foo\", {storageRegion: \"cn-hangzhou\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.actiontrail.GlobalEventsStorageRegion(\"foo\", storage_region=\"cn-hangzhou\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.ActionTrail.GlobalEventsStorageRegion(\"foo\", new()\n {\n StorageRegion = \"cn-hangzhou\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := actiontrail.NewGlobalEventsStorageRegion(ctx, \"foo\", \u0026actiontrail.GlobalEventsStorageRegionArgs{\n\t\t\tStorageRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.actiontrail.GlobalEventsStorageRegion;\nimport com.pulumi.alicloud.actiontrail.GlobalEventsStorageRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 GlobalEventsStorageRegion(\"foo\", GlobalEventsStorageRegionArgs.builder()\n .storageRegion(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:actiontrail:GlobalEventsStorageRegion\n properties:\n storageRegion: cn-hangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal events storage region not can be imported.\n\n", + "description": "Provides a Global events storage region resource.\n\nFor information about global events storage region and how to use it, see [What is Global Events Storage Region](https://next.api.alibabacloud.com/api/Actiontrail/2020-07-06/UpdateGlobalEventsStorageRegion).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.actiontrail.GlobalEventsStorageRegion(\"foo\", {storageRegion: \"cn-hangzhou\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.actiontrail.GlobalEventsStorageRegion(\"foo\", storage_region=\"cn-hangzhou\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.ActionTrail.GlobalEventsStorageRegion(\"foo\", new()\n {\n StorageRegion = \"cn-hangzhou\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := actiontrail.NewGlobalEventsStorageRegion(ctx, \"foo\", \u0026actiontrail.GlobalEventsStorageRegionArgs{\n\t\t\tStorageRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.actiontrail.GlobalEventsStorageRegion;\nimport com.pulumi.alicloud.actiontrail.GlobalEventsStorageRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 GlobalEventsStorageRegion(\"foo\", GlobalEventsStorageRegionArgs.builder()\n .storageRegion(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:actiontrail:GlobalEventsStorageRegion\n properties:\n storageRegion: cn-hangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal events storage region not can be imported.\n\n", "properties": { "storageRegion": { "type": "string", @@ -96422,25 +98238,30 @@ } }, "alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob": { - "description": "Provides a Actiontrail History Delivery Job resource.\n\nFor information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n\u003e **NOTE:** You are authorized to use the historical event delivery task feature. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=a2c63.p38356.0.0.e29f552bb6odNZ#/ticket/createIndex) or ask the sales manager to add you to the whitelist.\n\n\u003e **NOTE:** Make sure that you have called the \u003cspan pulumi-lang-nodejs=\"`alicloud.actiontrail.Trail`\" pulumi-lang-dotnet=\"`alicloud.actiontrail.Trail`\" pulumi-lang-go=\"`actiontrail.Trail`\" pulumi-lang-python=\"`actiontrail.Trail`\" pulumi-lang-yaml=\"`alicloud.actiontrail.Trail`\" pulumi-lang-java=\"`alicloud.actiontrail.Trail`\"\u003e`alicloud.actiontrail.Trail`\u003c/span\u003e to create a single-account or multi-account trace that delivered to Log Service SLS.\n\n\u003e **NOTE:** An Alibaba cloud account can only have one running delivery history job at the same time.\n\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetAccount = alicloud.getAccount({});\nconst exampleProject = new alicloud.log.Project(\"example\", {\n projectName: `${name}-${_default.result}`,\n description: \"tf actiontrail example\",\n});\nconst exampleTrail = new alicloud.actiontrail.Trail(\"example\", {\n trailName: `${name}-${_default.result}`,\n slsProjectArn: pulumi.all([example, exampleGetAccount, exampleProject.name]).apply(([example, exampleGetAccount, name]) =\u003e `acs:log:${example.regions?.[0]?.id}:${exampleGetAccount.id}:project/${name}`),\n});\nconst exampleHistoryDeliveryJob = new alicloud.actiontrail.HistoryDeliveryJob(\"example\", {trailName: exampleTrail.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.get_regions(current=True)\nexample_get_account = alicloud.get_account()\nexample_project = alicloud.log.Project(\"example\",\n project_name=f\"{name}-{default['result']}\",\n description=\"tf actiontrail example\")\nexample_trail = alicloud.actiontrail.Trail(\"example\",\n trail_name=f\"{name}-{default['result']}\",\n sls_project_arn=example_project.name.apply(lambda name: f\"acs:log:{example.regions[0].id}:{example_get_account.id}:project/{name}\"))\nexample_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob(\"example\", trail_name=example_trail.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetAccount = AliCloud.GetAccount.Invoke();\n\n var exampleProject = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"{name}-{@default.Result}\",\n Description = \"tf actiontrail example\",\n });\n\n var exampleTrail = new AliCloud.ActionTrail.Trail(\"example\", new()\n {\n TrailName = $\"{name}-{@default.Result}\",\n SlsProjectArn = Output.Tuple(example, exampleGetAccount, exampleProject.Name).Apply(values =\u003e\n {\n var example = values.Item1;\n var exampleGetAccount = values.Item2;\n var name = values.Item3;\n return $\"acs:log:{example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{exampleGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{name}\";\n }),\n });\n\n var exampleHistoryDeliveryJob = new AliCloud.ActionTrail.HistoryDeliveryJob(\"example\", new()\n {\n TrailName = exampleTrail.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(\"tf actiontrail example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTrail, err := actiontrail.NewTrail(ctx, \"example\", \u0026actiontrail.TrailArgs{\n\t\t\tTrailName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tSlsProjectArn: exampleProject.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", example.Regions[0].Id, exampleGetAccount.Id, name), 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\t_, err = actiontrail.NewHistoryDeliveryJob(ctx, \"example\", \u0026actiontrail.HistoryDeliveryJobArgs{\n\t\t\tTrailName: exampleTrail.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.actiontrail.Trail;\nimport com.pulumi.alicloud.actiontrail.TrailArgs;\nimport com.pulumi.alicloud.actiontrail.HistoryDeliveryJob;\nimport com.pulumi.alicloud.actiontrail.HistoryDeliveryJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .description(\"tf actiontrail example\")\n .build());\n\n var exampleTrail = new Trail(\"exampleTrail\", TrailArgs.builder()\n .trailName(String.format(\"%s-%s\", name,default_.result()))\n .slsProjectArn(exampleProject.name().applyValue(_name -\u003e String.format(\"acs:log:%s:%s:project/%s\", example.regions()[0].id(),exampleGetAccount.id(),_name)))\n .build());\n\n var exampleHistoryDeliveryJob = new HistoryDeliveryJob(\"exampleHistoryDeliveryJob\", HistoryDeliveryJobArgs.builder()\n .trailName(exampleTrail.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleProject:\n type: alicloud:log:Project\n name: example\n properties:\n projectName: ${name}-${default.result}\n description: tf actiontrail example\n exampleTrail:\n type: alicloud:actiontrail:Trail\n name: example\n properties:\n trailName: ${name}-${default.result}\n slsProjectArn: acs:log:${example.regions[0].id}:${exampleGetAccount.id}:project/${exampleProject.name}\n exampleHistoryDeliveryJob:\n type: alicloud:actiontrail:HistoryDeliveryJob\n name: example\n properties:\n trailName: ${exampleTrail.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n exampleGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nActiontrail History Delivery Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example \u003cid\u003e\n```\n\n", + "description": "Provides a Action Trail History Delivery Job resource.\n\nDelivery History Tasks.\n\nFor information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n\u003e **NOTE:** You are authorized to use the historical event delivery task feature. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=a2c63.p38356.0.0.e29f552bb6odNZ#/ticket/createIndex) or ask the sales manager to add you to the whitelist.\n\n\u003e **NOTE:** Make sure that you have called the \u003cspan pulumi-lang-nodejs=\"`alicloud.actiontrail.Trail`\" pulumi-lang-dotnet=\"`alicloud.actiontrail.Trail`\" pulumi-lang-go=\"`actiontrail.Trail`\" pulumi-lang-python=\"`actiontrail.Trail`\" pulumi-lang-yaml=\"`alicloud.actiontrail.Trail`\" pulumi-lang-java=\"`alicloud.actiontrail.Trail`\"\u003e`alicloud.actiontrail.Trail`\u003c/span\u003e to create a single-account or multi-account trace that delivered to Log Service SLS.\n\n\u003e **NOTE:** An Alibaba cloud account can only have one running delivery history job at the same time.\n\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultGetRoles = alicloud.ram.getRoles({\n nameRegex: \"AliyunServiceRoleForActionTrail\",\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n description: name,\n projectName: name,\n});\nconst defaultTrail = new alicloud.actiontrail.Trail(\"default\", {\n eventRw: \"Write\",\n slsProjectArn: pulumi.all([_default, defaultGetAccount, defaultProject.projectName]).apply(([_default, defaultGetAccount, projectName]) =\u003e `acs:log:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:project/${projectName}`),\n trailName: name,\n slsWriteRoleArn: defaultGetRoles.then(defaultGetRoles =\u003e defaultGetRoles.roles?.[0]?.arn),\n trailRegion: \"All\",\n isOrganizationTrail: false,\n status: \"Enable\",\n eventSelectors: JSON.stringify([{\n ServiceName: \"PDS\",\n }]),\n dataEventTrailRegion: \"cn-hangzhou\",\n});\nconst defaultHistoryDeliveryJob = new alicloud.actiontrail.HistoryDeliveryJob(\"default\", {trailName: defaultTrail.id});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_account = alicloud.get_account()\ndefault_get_roles = alicloud.ram.get_roles(name_regex=\"AliyunServiceRoleForActionTrail\")\ndefault_project = alicloud.log.Project(\"default\",\n description=name,\n project_name=name)\ndefault_trail = alicloud.actiontrail.Trail(\"default\",\n event_rw=\"Write\",\n sls_project_arn=default_project.project_name.apply(lambda project_name: f\"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}\"),\n trail_name=name,\n sls_write_role_arn=default_get_roles.roles[0].arn,\n trail_region=\"All\",\n is_organization_trail=False,\n status=\"Enable\",\n event_selectors=json.dumps([{\n \"ServiceName\": \"PDS\",\n }]),\n data_event_trail_region=\"cn-hangzhou\")\ndefault_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob(\"default\", trail_name=default_trail.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultGetRoles = AliCloud.Ram.GetRoles.Invoke(new()\n {\n NameRegex = \"AliyunServiceRoleForActionTrail\",\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Description = name,\n ProjectName = name,\n });\n\n var defaultTrail = new AliCloud.ActionTrail.Trail(\"default\", new()\n {\n EventRw = \"Write\",\n SlsProjectArn = Output.Tuple(@default, defaultGetAccount, defaultProject.ProjectName).Apply(values =\u003e\n {\n var @default = values.Item1;\n var defaultGetAccount = values.Item2;\n var projectName = values.Item3;\n return $\"acs:log:{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}\";\n }),\n TrailName = name,\n SlsWriteRoleArn = defaultGetRoles.Apply(getRolesResult =\u003e getRolesResult.Roles[0]?.Arn),\n TrailRegion = \"All\",\n IsOrganizationTrail = false,\n Status = \"Enable\",\n EventSelectors = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"ServiceName\"] = \"PDS\",\n },\n }),\n DataEventTrailRegion = \"cn-hangzhou\",\n });\n\n var defaultHistoryDeliveryJob = new AliCloud.ActionTrail.HistoryDeliveryJob(\"default\", new()\n {\n TrailName = defaultTrail.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRoles, err := ram.GetRoles(ctx, \u0026ram.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"AliyunServiceRoleForActionTrail\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(name),\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\tmap[string]interface{}{\n\t\t\t\t\"ServiceName\": \"PDS\",\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\tdefaultTrail, err := actiontrail.NewTrail(ctx, \"default\", \u0026actiontrail.TrailArgs{\n\t\t\tEventRw: pulumi.String(\"Write\"),\n\t\t\tSlsProjectArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", _default.Regions[0].Id, defaultGetAccount.Id, projectName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTrailName: pulumi.String(name),\n\t\t\tSlsWriteRoleArn: pulumi.String(defaultGetRoles.Roles[0].Arn),\n\t\t\tTrailRegion: pulumi.String(\"All\"),\n\t\t\tIsOrganizationTrail: pulumi.Bool(false),\n\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\tEventSelectors: pulumi.String(json0),\n\t\t\tDataEventTrailRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = actiontrail.NewHistoryDeliveryJob(ctx, \"default\", \u0026actiontrail.HistoryDeliveryJobArgs{\n\t\t\tTrailName: defaultTrail.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ram.RamFunctions;\nimport com.pulumi.alicloud.ram.inputs.GetRolesArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.actiontrail.Trail;\nimport com.pulumi.alicloud.actiontrail.TrailArgs;\nimport com.pulumi.alicloud.actiontrail.HistoryDeliveryJob;\nimport com.pulumi.alicloud.actiontrail.HistoryDeliveryJobArgs;\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRoles = RamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\"AliyunServiceRoleForActionTrail\")\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .description(name)\n .projectName(name)\n .build());\n\n var defaultTrail = new Trail(\"defaultTrail\", TrailArgs.builder()\n .eventRw(\"Write\")\n .slsProjectArn(defaultProject.projectName().applyValue(_projectName -\u003e String.format(\"acs:log:%s:%s:project/%s\", default_.regions()[0].id(),defaultGetAccount.id(),_projectName)))\n .trailName(name)\n .slsWriteRoleArn(defaultGetRoles.roles()[0].arn())\n .trailRegion(\"All\")\n .isOrganizationTrail(false)\n .status(\"Enable\")\n .eventSelectors(serializeJson(\n jsonArray(jsonObject(\n jsonProperty(\"ServiceName\", \"PDS\")\n ))))\n .dataEventTrailRegion(\"cn-hangzhou\")\n .build());\n\n var defaultHistoryDeliveryJob = new HistoryDeliveryJob(\"defaultHistoryDeliveryJob\", HistoryDeliveryJobArgs.builder()\n .trailName(defaultTrail.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n description: ${name}\n projectName: ${name}\n defaultTrail:\n type: alicloud:actiontrail:Trail\n name: default\n properties:\n eventRw: Write\n slsProjectArn: acs:log:${default.regions[0].id}:${defaultGetAccount.id}:project/${defaultProject.projectName}\n trailName: ${name}\n slsWriteRoleArn: ${defaultGetRoles.roles[0].arn}\n trailRegion: All\n isOrganizationTrail: false\n status: Enable\n eventSelectors:\n fn::toJSON:\n - ServiceName: PDS\n dataEventTrailRegion: cn-hangzhou\n defaultHistoryDeliveryJob:\n type: alicloud:actiontrail:HistoryDeliveryJob\n name: default\n properties:\n trailName: ${defaultTrail.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRoles:\n fn::invoke:\n function: alicloud:ram:getRoles\n arguments:\n nameRegex: AliyunServiceRoleForActionTrail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAction Trail History Delivery Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example \u003cid\u003e\n```\n\n", "properties": { + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, "status": { "type": "integer", - "description": "The status of the task. Valid values: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: The task is initializing. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: The task is delivering historical events. \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e: The delivery of historical events is complete. \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e: The task fails.\n" + "description": "The status of the resource\n" }, "trailName": { "type": "string", - "description": "The name of the trail for which you want to create a historical event delivery task.\n" + "description": "The Track Name.\n" } }, "required": [ + "createTime", "status", "trailName" ], "inputProperties": { "trailName": { "type": "string", - "description": "The name of the trail for which you want to create a historical event delivery task.\n", + "description": "The Track Name.\n", "willReplaceOnChanges": true } }, @@ -96450,13 +98271,17 @@ "stateInputs": { "description": "Input properties used for looking up and filtering HistoryDeliveryJob resources.\n", "properties": { + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, "status": { "type": "integer", - "description": "The status of the task. Valid values: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e: The task is initializing. \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e: The task is delivering historical events. \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e: The delivery of historical events is complete. \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e: The task fails.\n" + "description": "The status of the resource\n" }, "trailName": { "type": "string", - "description": "The name of the trail for which you want to create a historical event delivery task.\n", + "description": "The Track Name.\n", "willReplaceOnChanges": true } }, @@ -96464,7 +98289,7 @@ } }, "alicloud:actiontrail/trail:Trail": { - "description": "Provides a Actiontrail Trail resource.\n\nTrail of ActionTrail. After creating a trail, you need to enable the trail through StartLogging.\n\nFor information about Actiontrail Trail and how to use it, see [What is Trail](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createtrail).\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `${name}-${defaultInteger.result}`,\n description: \"tf actiontrail example\",\n});\nconst defaultGetRoles = alicloud.ram.getRoles({\n nameRegex: \"AliyunServiceRoleForActionTrail\",\n});\nconst defaultTrail = new alicloud.actiontrail.Trail(\"default\", {\n trailName: name,\n slsWriteRoleArn: defaultGetRoles.then(defaultGetRoles =\u003e defaultGetRoles.roles?.[0]?.arn),\n slsProjectArn: pulumi.all([_default, defaultGetAccount, defaultProject.projectName]).apply(([_default, defaultGetAccount, projectName]) =\u003e `acs:log:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:project/${projectName}`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_account = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"{name}-{default_integer['result']}\",\n description=\"tf actiontrail example\")\ndefault_get_roles = alicloud.ram.get_roles(name_regex=\"AliyunServiceRoleForActionTrail\")\ndefault_trail = alicloud.actiontrail.Trail(\"default\",\n trail_name=name,\n sls_write_role_arn=default_get_roles.roles[0].arn,\n sls_project_arn=default_project.project_name.apply(lambda project_name: f\"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"{name}-{defaultInteger.Result}\",\n Description = \"tf actiontrail example\",\n });\n\n var defaultGetRoles = AliCloud.Ram.GetRoles.Invoke(new()\n {\n NameRegex = \"AliyunServiceRoleForActionTrail\",\n });\n\n var defaultTrail = new AliCloud.ActionTrail.Trail(\"default\", new()\n {\n TrailName = name,\n SlsWriteRoleArn = defaultGetRoles.Apply(getRolesResult =\u003e getRolesResult.Roles[0]?.Arn),\n SlsProjectArn = Output.Tuple(@default, defaultGetAccount, defaultProject.ProjectName).Apply(values =\u003e\n {\n var @default = values.Item1;\n var defaultGetAccount = values.Item2;\n var projectName = values.Item3;\n return $\"acs:log:{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"tf actiontrail example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRoles, err := ram.GetRoles(ctx, \u0026ram.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"AliyunServiceRoleForActionTrail\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = actiontrail.NewTrail(ctx, \"default\", \u0026actiontrail.TrailArgs{\n\t\t\tTrailName: pulumi.String(name),\n\t\t\tSlsWriteRoleArn: pulumi.String(defaultGetRoles.Roles[0].Arn),\n\t\t\tSlsProjectArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", _default.Regions[0].Id, defaultGetAccount.Id, projectName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.ram.RamFunctions;\nimport com.pulumi.alicloud.ram.inputs.GetRolesArgs;\nimport com.pulumi.alicloud.actiontrail.Trail;\nimport com.pulumi.alicloud.actiontrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(\"tf actiontrail example\")\n .build());\n\n final var defaultGetRoles = RamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\"AliyunServiceRoleForActionTrail\")\n .build());\n\n var defaultTrail = new Trail(\"defaultTrail\", TrailArgs.builder()\n .trailName(name)\n .slsWriteRoleArn(defaultGetRoles.roles()[0].arn())\n .slsProjectArn(defaultProject.projectName().applyValue(_projectName -\u003e String.format(\"acs:log:%s:%s:project/%s\", default_.regions()[0].id(),defaultGetAccount.id(),_projectName)))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}-${defaultInteger.result}\n description: tf actiontrail example\n defaultTrail:\n type: alicloud:actiontrail:Trail\n name: default\n properties:\n trailName: ${name}\n slsWriteRoleArn: ${defaultGetRoles.roles[0].arn}\n slsProjectArn: acs:log:${default.regions[0].id}:${defaultGetAccount.id}:project/${defaultProject.projectName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRoles:\n fn::invoke:\n function: alicloud:ram:getRoles\n arguments:\n nameRegex: AliyunServiceRoleForActionTrail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nActiontrail Trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/trail:Trail example \u003cid\u003e\n```\n\n", + "description": "Provides a Actiontrail Trail resource.\n\nTrail of ActionTrail. After creating a trail, you need to enable the trail through StartLogging.\n\nFor information about Actiontrail Trail and how to use it, see [What is Trail](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createtrail).\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `${name}-${defaultInteger.result}`,\n description: \"tf actiontrail example\",\n});\nconst defaultGetRoles = alicloud.ram.getRoles({\n nameRegex: \"AliyunServiceRoleForActionTrail\",\n});\nconst defaultTrail = new alicloud.actiontrail.Trail(\"default\", {\n trailName: name,\n slsWriteRoleArn: defaultGetRoles.then(defaultGetRoles =\u003e defaultGetRoles.roles?.[0]?.arn),\n slsProjectArn: pulumi.all([_default, defaultGetAccount, defaultProject.projectName]).apply(([_default, defaultGetAccount, projectName]) =\u003e `acs:log:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:project/${projectName}`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_account = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"{name}-{default_integer['result']}\",\n description=\"tf actiontrail example\")\ndefault_get_roles = alicloud.ram.get_roles(name_regex=\"AliyunServiceRoleForActionTrail\")\ndefault_trail = alicloud.actiontrail.Trail(\"default\",\n trail_name=name,\n sls_write_role_arn=default_get_roles.roles[0].arn,\n sls_project_arn=default_project.project_name.apply(lambda project_name: f\"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"{name}-{defaultInteger.Result}\",\n Description = \"tf actiontrail example\",\n });\n\n var defaultGetRoles = AliCloud.Ram.GetRoles.Invoke(new()\n {\n NameRegex = \"AliyunServiceRoleForActionTrail\",\n });\n\n var defaultTrail = new AliCloud.ActionTrail.Trail(\"default\", new()\n {\n TrailName = name,\n SlsWriteRoleArn = defaultGetRoles.Apply(getRolesResult =\u003e getRolesResult.Roles[0]?.Arn),\n SlsProjectArn = Output.Tuple(@default, defaultGetAccount, defaultProject.ProjectName).Apply(values =\u003e\n {\n var @default = values.Item1;\n var defaultGetAccount = values.Item2;\n var projectName = values.Item3;\n return $\"acs:log:{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"tf actiontrail example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRoles, err := ram.GetRoles(ctx, \u0026ram.GetRolesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"AliyunServiceRoleForActionTrail\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = actiontrail.NewTrail(ctx, \"default\", \u0026actiontrail.TrailArgs{\n\t\t\tTrailName: pulumi.String(name),\n\t\t\tSlsWriteRoleArn: pulumi.String(defaultGetRoles.Roles[0].Arn),\n\t\t\tSlsProjectArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", _default.Regions[0].Id, defaultGetAccount.Id, projectName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.ram.RamFunctions;\nimport com.pulumi.alicloud.ram.inputs.GetRolesArgs;\nimport com.pulumi.alicloud.actiontrail.Trail;\nimport com.pulumi.alicloud.actiontrail.TrailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(\"tf actiontrail example\")\n .build());\n\n final var defaultGetRoles = RamFunctions.getRoles(GetRolesArgs.builder()\n .nameRegex(\"AliyunServiceRoleForActionTrail\")\n .build());\n\n var defaultTrail = new Trail(\"defaultTrail\", TrailArgs.builder()\n .trailName(name)\n .slsWriteRoleArn(defaultGetRoles.roles()[0].arn())\n .slsProjectArn(defaultProject.projectName().applyValue(_projectName -\u003e String.format(\"acs:log:%s:%s:project/%s\", default_.regions()[0].id(),defaultGetAccount.id(),_projectName)))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}-${defaultInteger.result}\n description: tf actiontrail example\n defaultTrail:\n type: alicloud:actiontrail:Trail\n name: default\n properties:\n trailName: ${name}\n slsWriteRoleArn: ${defaultGetRoles.roles[0].arn}\n slsProjectArn: acs:log:${default.regions[0].id}:${defaultGetAccount.id}:project/${defaultProject.projectName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRoles:\n fn::invoke:\n function: alicloud:ram:getRoles\n arguments:\n nameRegex: AliyunServiceRoleForActionTrail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nActiontrail Trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/trail:Trail example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -96502,7 +98327,7 @@ "name": { "type": "string", "description": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead." + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead." }, "ossBucketName": { "type": "string", @@ -96553,6 +98378,7 @@ "name", "regionId", "slsWriteRoleArn", + "status", "trailName", "trailRegion" ], @@ -96590,7 +98416,7 @@ "name": { "type": "string", "description": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.", + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.", "willReplaceOnChanges": true }, "ossBucketName": { @@ -96672,7 +98498,7 @@ "name": { "type": "string", "description": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.", + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.", "willReplaceOnChanges": true }, "ossBucketName": { @@ -96722,7 +98548,7 @@ } }, "alicloud:actiontrail/trailDeprecated:TrailDeprecated": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.actiontrail.Trail \" pulumi-lang-dotnet=\" alicloud.actiontrail.Trail \" pulumi-lang-go=\" actiontrail.Trail \" pulumi-lang-python=\" actiontrail.Trail \" pulumi-lang-yaml=\" alicloud.actiontrail.Trail \" pulumi-lang-java=\" alicloud.actiontrail.Trail \"\u003e alicloud.actiontrail.Trail \u003c/span\u003efrom version 1.95.0.\n\nProvides a new resource to manage [Action Trail](https://www.alibabacloud.com/help/doc-detail/28804.htm).\n\n\u003e **NOTE:** Available in 1.35.0+\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new action trail.\nconst foo = new alicloud.actiontrail.TrailDeprecated(\"foo\", {\n name: \"action-trail\",\n eventRw: \"Write-test\",\n ossBucketName: bucket.id,\n roleName: attach.roleName,\n ossKeyPrefix: \"at-product-account-audit-B\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new action trail.\nfoo = alicloud.actiontrail.TrailDeprecated(\"foo\",\n name=\"action-trail\",\n event_rw=\"Write-test\",\n oss_bucket_name=bucket[\"id\"],\n role_name=attach[\"roleName\"],\n oss_key_prefix=\"at-product-account-audit-B\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new action trail.\n var foo = new AliCloud.ActionTrail.TrailDeprecated(\"foo\", new()\n {\n Name = \"action-trail\",\n EventRw = \"Write-test\",\n OssBucketName = bucket.Id,\n RoleName = attach.RoleName,\n OssKeyPrefix = \"at-product-account-audit-B\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new action trail.\n\t\t_, err := actiontrail.NewTrailDeprecated(ctx, \"foo\", \u0026actiontrail.TrailDeprecatedArgs{\n\t\t\tName: pulumi.String(\"action-trail\"),\n\t\t\tEventRw: pulumi.String(\"Write-test\"),\n\t\t\tOssBucketName: pulumi.Any(bucket.Id),\n\t\t\tRoleName: pulumi.Any(attach.RoleName),\n\t\t\tOssKeyPrefix: pulumi.String(\"at-product-account-audit-B\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.actiontrail.TrailDeprecated;\nimport com.pulumi.alicloud.actiontrail.TrailDeprecatedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new action trail.\n var foo = new TrailDeprecated(\"foo\", TrailDeprecatedArgs.builder()\n .name(\"action-trail\")\n .eventRw(\"Write-test\")\n .ossBucketName(bucket.id())\n .roleName(attach.roleName())\n .ossKeyPrefix(\"at-product-account-audit-B\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new action trail.\n foo:\n type: alicloud:actiontrail:TrailDeprecated\n properties:\n name: action-trail\n eventRw: Write-test\n ossBucketName: ${bucket.id}\n roleName: ${attach.roleName}\n ossKeyPrefix: at-product-account-audit-B\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAction trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/trailDeprecated:TrailDeprecated foo abc12345678\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.actiontrail.Trail \" pulumi-lang-dotnet=\" alicloud.actiontrail.Trail \" pulumi-lang-go=\" actiontrail.Trail \" pulumi-lang-python=\" actiontrail.Trail \" pulumi-lang-yaml=\" alicloud.actiontrail.Trail \" pulumi-lang-java=\" alicloud.actiontrail.Trail \"\u003e alicloud.actiontrail.Trail \u003c/span\u003efrom version 1.95.0.\n\nProvides a new resource to manage [Action Trail](https://www.alibabacloud.com/help/doc-detail/28804.htm).\n\n\u003e **NOTE:** Available in 1.35.0+\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new action trail.\nconst foo = new alicloud.actiontrail.TrailDeprecated(\"foo\", {\n name: \"action-trail\",\n eventRw: \"Write-test\",\n ossBucketName: bucket.id,\n roleName: attach.roleName,\n ossKeyPrefix: \"at-product-account-audit-B\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new action trail.\nfoo = alicloud.actiontrail.TrailDeprecated(\"foo\",\n name=\"action-trail\",\n event_rw=\"Write-test\",\n oss_bucket_name=bucket[\"id\"],\n role_name=attach[\"roleName\"],\n oss_key_prefix=\"at-product-account-audit-B\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new action trail.\n var foo = new AliCloud.ActionTrail.TrailDeprecated(\"foo\", new()\n {\n Name = \"action-trail\",\n EventRw = \"Write-test\",\n OssBucketName = bucket.Id,\n RoleName = attach.RoleName,\n OssKeyPrefix = \"at-product-account-audit-B\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new action trail.\n\t\t_, err := actiontrail.NewTrailDeprecated(ctx, \"foo\", \u0026actiontrail.TrailDeprecatedArgs{\n\t\t\tName: pulumi.String(\"action-trail\"),\n\t\t\tEventRw: pulumi.String(\"Write-test\"),\n\t\t\tOssBucketName: pulumi.Any(bucket.Id),\n\t\t\tRoleName: pulumi.Any(attach.RoleName),\n\t\t\tOssKeyPrefix: pulumi.String(\"at-product-account-audit-B\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.actiontrail.TrailDeprecated;\nimport com.pulumi.alicloud.actiontrail.TrailDeprecatedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new action trail.\n var foo = new TrailDeprecated(\"foo\", TrailDeprecatedArgs.builder()\n .name(\"action-trail\")\n .eventRw(\"Write-test\")\n .ossBucketName(bucket.id())\n .roleName(attach.roleName())\n .ossKeyPrefix(\"at-product-account-audit-B\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new action trail.\n foo:\n type: alicloud:actiontrail:TrailDeprecated\n properties:\n name: action-trail\n eventRw: Write-test\n ossBucketName: ${bucket.id}\n roleName: ${attach.roleName}\n ossKeyPrefix: at-product-account-audit-B\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAction trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:actiontrail/trailDeprecated:TrailDeprecated foo abc12345678\n```\n\n", "properties": { "createTime": { "type": "string" @@ -96753,7 +98579,7 @@ "name": { "type": "string", "description": "The name of the trail to be created, which must be unique for an account.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead." + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead." }, "ossBucketName": { "type": "string", @@ -96799,6 +98625,7 @@ "name", "regionId", "slsWriteRoleArn", + "status", "trailName", "trailRegion" ], @@ -96830,7 +98657,7 @@ "name": { "type": "string", "description": "The name of the trail to be created, which must be unique for an account.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.", + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.", "willReplaceOnChanges": true }, "ossBucketName": { @@ -96901,7 +98728,7 @@ "name": { "type": "string", "description": "The name of the trail to be created, which must be unique for an account.\n", - "deprecationMessage": "Field \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e has been deprecated from provider version 1.95.0. New field \u003cspan pulumi-lang-nodejs=\"`trailName`\" pulumi-lang-dotnet=\"`TrailName`\" pulumi-lang-go=\"`trailName`\" pulumi-lang-python=\"`trail_name`\" pulumi-lang-yaml=\"`trailName`\" pulumi-lang-java=\"`trailName`\"\u003e`trail_name`\u003c/span\u003e instead.", + "deprecationMessage": "Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.", "willReplaceOnChanges": true }, "ossBucketName": { @@ -96947,7 +98774,7 @@ "deprecationMessage": "Resource renamed to `Trail`" }, "alicloud:adb/account:Account": { - "description": "Provides a [ADB](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/latest/api-doc-adb-2019-03-15-api-doc-createaccount) account resource and used to manage databases.\n\n\u003e **NOTE:** Available since v1.71.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst creation = config.get(\"creation\") || \"ADB\";\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst cluster = new alicloud.adb.DBCluster(\"cluster\", {\n dbClusterCategory: \"MixedStorage\",\n mode: \"flexible\",\n computeResource: \"8Core32GB\",\n vswitchId: vswitchId,\n description: name,\n});\nconst defaultAccount = new alicloud.adb.Account(\"default\", {\n dbClusterId: cluster.id,\n accountName: name,\n accountPassword: \"tf_example123\",\n accountDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"ADB\"\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\nvswitch_id = default_get_switches.ids[0]\ncluster = alicloud.adb.DBCluster(\"cluster\",\n db_cluster_category=\"MixedStorage\",\n mode=\"flexible\",\n compute_resource=\"8Core32GB\",\n vswitch_id=vswitch_id,\n description=name)\ndefault_account = alicloud.adb.Account(\"default\",\n db_cluster_id=cluster.id,\n account_name=name,\n account_password=\"tf_example123\",\n account_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var creation = config.Get(\"creation\") ?? \"ADB\";\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var cluster = new AliCloud.Adb.DBCluster(\"cluster\", new()\n {\n DbClusterCategory = \"MixedStorage\",\n Mode = \"flexible\",\n ComputeResource = \"8Core32GB\",\n VswitchId = vswitchId,\n Description = name,\n });\n\n var defaultAccount = new AliCloud.Adb.Account(\"default\", new()\n {\n DbClusterId = cluster.Id,\n AccountName = name,\n AccountPassword = \"tf_example123\",\n AccountDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcreation := \"ADB\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\tcluster, err := adb.NewDBCluster(ctx, \"cluster\", \u0026adb.DBClusterArgs{\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tComputeResource: pulumi.String(\"8Core32GB\"),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewAccount(ctx, \"default\", \u0026adb.AccountArgs{\n\t\t\tDbClusterId: cluster.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"tf_example123\"),\n\t\t\tAccountDescription: pulumi.String(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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.Account;\nimport com.pulumi.alicloud.adb.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 creation = config.get(\"creation\").orElse(\"ADB\");\n final var name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n var cluster = new DBCluster(\"cluster\", DBClusterArgs.builder()\n .dbClusterCategory(\"MixedStorage\")\n .mode(\"flexible\")\n .computeResource(\"8Core32GB\")\n .vswitchId(vswitchId)\n .description(name)\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(cluster.id())\n .accountName(name)\n .accountPassword(\"tf_example123\")\n .accountDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n creation:\n type: string\n default: ADB\n name:\n type: string\n default: tfexample\nresources:\n cluster:\n type: alicloud:adb:DBCluster\n properties:\n dbClusterCategory: MixedStorage\n mode: flexible\n computeResource: 8Core32GB\n vswitchId: ${vswitchId}\n description: ${name}\n defaultAccount:\n type: alicloud:adb:Account\n name: default\n properties:\n dbClusterId: ${cluster.id}\n accountName: ${name}\n accountPassword: tf_example123\n accountDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nADB account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/account:Account example am-12345:tf_account\n```\n\n", + "description": "Provides a [ADB](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/latest/api-doc-adb-2019-03-15-api-doc-createaccount) account resource and used to manage databases.\n\n\u003e **NOTE:** Available since v1.71.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst creation = config.get(\"creation\") || \"ADB\";\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst cluster = new alicloud.adb.DBCluster(\"cluster\", {\n dbClusterCategory: \"MixedStorage\",\n mode: \"flexible\",\n computeResource: \"8Core32GB\",\n vswitchId: vswitchId,\n description: name,\n});\nconst defaultAccount = new alicloud.adb.Account(\"default\", {\n dbClusterId: cluster.id,\n accountName: name,\n accountPassword: \"tf_example123\",\n accountDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"ADB\"\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\nvswitch_id = default_get_switches.ids[0]\ncluster = alicloud.adb.DBCluster(\"cluster\",\n db_cluster_category=\"MixedStorage\",\n mode=\"flexible\",\n compute_resource=\"8Core32GB\",\n vswitch_id=vswitch_id,\n description=name)\ndefault_account = alicloud.adb.Account(\"default\",\n db_cluster_id=cluster.id,\n account_name=name,\n account_password=\"tf_example123\",\n account_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var creation = config.Get(\"creation\") ?? \"ADB\";\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var cluster = new AliCloud.Adb.DBCluster(\"cluster\", new()\n {\n DbClusterCategory = \"MixedStorage\",\n Mode = \"flexible\",\n ComputeResource = \"8Core32GB\",\n VswitchId = vswitchId,\n Description = name,\n });\n\n var defaultAccount = new AliCloud.Adb.Account(\"default\", new()\n {\n DbClusterId = cluster.Id,\n AccountName = name,\n AccountPassword = \"tf_example123\",\n AccountDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcreation := \"ADB\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\tcluster, err := adb.NewDBCluster(ctx, \"cluster\", \u0026adb.DBClusterArgs{\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tComputeResource: pulumi.String(\"8Core32GB\"),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewAccount(ctx, \"default\", \u0026adb.AccountArgs{\n\t\t\tDbClusterId: cluster.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"tf_example123\"),\n\t\t\tAccountDescription: pulumi.String(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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.Account;\nimport com.pulumi.alicloud.adb.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 creation = config.get(\"creation\").orElse(\"ADB\");\n final var name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n var cluster = new DBCluster(\"cluster\", DBClusterArgs.builder()\n .dbClusterCategory(\"MixedStorage\")\n .mode(\"flexible\")\n .computeResource(\"8Core32GB\")\n .vswitchId(vswitchId)\n .description(name)\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(cluster.id())\n .accountName(name)\n .accountPassword(\"tf_example123\")\n .accountDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n creation:\n type: string\n default: ADB\n name:\n type: string\n default: tfexample\nresources:\n cluster:\n type: alicloud:adb:DBCluster\n properties:\n dbClusterCategory: MixedStorage\n mode: flexible\n computeResource: 8Core32GB\n vswitchId: ${vswitchId}\n description: ${name}\n defaultAccount:\n type: alicloud:adb:Account\n name: default\n properties:\n dbClusterId: ${cluster.id}\n accountName: ${name}\n accountPassword: tf_example123\n accountDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nADB account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/account:Account example am-12345:tf_account\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -97135,7 +98962,7 @@ } }, "alicloud:adb/cluster:Cluster": { - "description": "Provides a ADB cluster resource. An ADB cluster is an isolated database\nenvironment in the cloud. An ADB cluster can contain multiple user-created\ndatabases.\n\n\u003e **NOTE:** Deprecated since v1.121.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.121.0`. Please use new resource alicloud_adb_db_cluster.\n\n## Example Usage\n\n### Create a ADB MySQL cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"adbClusterconfig\";\nconst creation = config.get(\"creation\") || \"ADB\";\nconst _default = alicloud.getZones({\n availableResourceCreation: creation,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.adb.Cluster(\"default\", {\n dbClusterVersion: \"3.0\",\n dbClusterCategory: \"Cluster\",\n dbNodeClass: \"C8\",\n dbNodeCount: 2,\n dbNodeStorage: 200,\n payType: \"PostPaid\",\n description: name,\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"adbClusterconfig\"\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"ADB\"\ndefault = alicloud.get_zones(available_resource_creation=creation)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_cluster = alicloud.adb.Cluster(\"default\",\n db_cluster_version=\"3.0\",\n db_cluster_category=\"Cluster\",\n db_node_class=\"C8\",\n db_node_count=2,\n db_node_storage=200,\n pay_type=\"PostPaid\",\n description=name,\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"adbClusterconfig\";\n var creation = config.Get(\"creation\") ?? \"ADB\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = creation,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.Adb.Cluster(\"default\", new()\n {\n DbClusterVersion = \"3.0\",\n DbClusterCategory = \"Cluster\",\n DbNodeClass = \"C8\",\n DbNodeCount = 2,\n DbNodeStorage = 200,\n PayType = \"PostPaid\",\n Description = name,\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"adbClusterconfig\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreation := \"ADB\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(creation),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewCluster(ctx, \"default\", \u0026adb.ClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"3.0\"),\n\t\t\tDbClusterCategory: pulumi.String(\"Cluster\"),\n\t\t\tDbNodeClass: pulumi.String(\"C8\"),\n\t\t\tDbNodeCount: pulumi.Int(2),\n\t\t\tDbNodeStorage: pulumi.Int(200),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.Cluster;\nimport com.pulumi.alicloud.adb.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 name = config.get(\"name\").orElse(\"adbClusterconfig\");\n final var creation = config.get(\"creation\").orElse(\"ADB\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(creation)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbClusterVersion(\"3.0\")\n .dbClusterCategory(\"Cluster\")\n .dbNodeClass(\"C8\")\n .dbNodeCount(2)\n .dbNodeStorage(200)\n .payType(\"PostPaid\")\n .description(name)\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: adbClusterconfig\n creation:\n type: string\n default: ADB\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:adb:Cluster\n name: default\n properties:\n dbClusterVersion: '3.0'\n dbClusterCategory: Cluster\n dbNodeClass: C8\n dbNodeCount: 2\n dbNodeStorage: 200\n payType: PostPaid\n description: ${name}\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: ${creation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nADB cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/cluster:Cluster example am-abc12345678\n```\n\n", + "description": "Provides a ADB cluster resource. An ADB cluster is an isolated database\nenvironment in the cloud. An ADB cluster can contain multiple user-created\ndatabases.\n\n\u003e **NOTE:** Deprecated since v1.121.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.121.0`. Please use new resource alicloud_adb_db_cluster.\n\n## Example Usage\n\n### Create a ADB MySQL cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"adbClusterconfig\";\nconst creation = config.get(\"creation\") || \"ADB\";\nconst _default = alicloud.getZones({\n availableResourceCreation: creation,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.adb.Cluster(\"default\", {\n dbClusterVersion: \"3.0\",\n dbClusterCategory: \"Cluster\",\n dbNodeClass: \"C8\",\n dbNodeCount: 2,\n dbNodeStorage: 200,\n payType: \"PostPaid\",\n description: name,\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"adbClusterconfig\"\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"ADB\"\ndefault = alicloud.get_zones(available_resource_creation=creation)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_cluster = alicloud.adb.Cluster(\"default\",\n db_cluster_version=\"3.0\",\n db_cluster_category=\"Cluster\",\n db_node_class=\"C8\",\n db_node_count=2,\n db_node_storage=200,\n pay_type=\"PostPaid\",\n description=name,\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"adbClusterconfig\";\n var creation = config.Get(\"creation\") ?? \"ADB\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = creation,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.Adb.Cluster(\"default\", new()\n {\n DbClusterVersion = \"3.0\",\n DbClusterCategory = \"Cluster\",\n DbNodeClass = \"C8\",\n DbNodeCount = 2,\n DbNodeStorage = 200,\n PayType = \"PostPaid\",\n Description = name,\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"adbClusterconfig\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreation := \"ADB\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(creation),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewCluster(ctx, \"default\", \u0026adb.ClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"3.0\"),\n\t\t\tDbClusterCategory: pulumi.String(\"Cluster\"),\n\t\t\tDbNodeClass: pulumi.String(\"C8\"),\n\t\t\tDbNodeCount: pulumi.Int(2),\n\t\t\tDbNodeStorage: pulumi.Int(200),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.Cluster;\nimport com.pulumi.alicloud.adb.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 name = config.get(\"name\").orElse(\"adbClusterconfig\");\n final var creation = config.get(\"creation\").orElse(\"ADB\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(creation)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbClusterVersion(\"3.0\")\n .dbClusterCategory(\"Cluster\")\n .dbNodeClass(\"C8\")\n .dbNodeCount(2)\n .dbNodeStorage(200)\n .payType(\"PostPaid\")\n .description(name)\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: adbClusterconfig\n creation:\n type: string\n default: ADB\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:adb:Cluster\n name: default\n properties:\n dbClusterVersion: '3.0'\n dbClusterCategory: Cluster\n dbNodeClass: C8\n dbNodeCount: 2\n dbNodeStorage: 200\n payType: PostPaid\n description: ${name}\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: ${creation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nADB cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/cluster:Cluster example am-abc12345678\n```\n\n", "properties": { "autoRenewPeriod": { "type": "integer", @@ -97552,7 +99379,7 @@ } }, "alicloud:adb/connection:Connection": { - "description": "Provides an ADB connection resource to allocate an Internet connection string for ADB cluster.\n\n\u003e **NOTE:** Each ADB instance will allocate a intranet connnection string automatically and its prifix is ADB instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n\u003e **NOTE:** Available since v1.81.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst cluster = new alicloud.adb.DBCluster(\"cluster\", {\n dbClusterCategory: \"MixedStorage\",\n mode: \"flexible\",\n computeResource: \"8Core32GB\",\n vswitchId: vswitchId,\n description: name,\n});\nconst defaultConnection = new alicloud.adb.Connection(\"default\", {\n dbClusterId: cluster.id,\n connectionPrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\nvswitch_id = default_get_switches.ids[0]\ncluster = alicloud.adb.DBCluster(\"cluster\",\n db_cluster_category=\"MixedStorage\",\n mode=\"flexible\",\n compute_resource=\"8Core32GB\",\n vswitch_id=vswitch_id,\n description=name)\ndefault_connection = alicloud.adb.Connection(\"default\",\n db_cluster_id=cluster.id,\n connection_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var cluster = new AliCloud.Adb.DBCluster(\"cluster\", new()\n {\n DbClusterCategory = \"MixedStorage\",\n Mode = \"flexible\",\n ComputeResource = \"8Core32GB\",\n VswitchId = vswitchId,\n Description = name,\n });\n\n var defaultConnection = new AliCloud.Adb.Connection(\"default\", new()\n {\n DbClusterId = cluster.Id,\n ConnectionPrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\tcluster, err := adb.NewDBCluster(ctx, \"cluster\", \u0026adb.DBClusterArgs{\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tComputeResource: pulumi.String(\"8Core32GB\"),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewConnection(ctx, \"default\", \u0026adb.ConnectionArgs{\n\t\t\tDbClusterId: cluster.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.Connection;\nimport com.pulumi.alicloud.adb.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n var cluster = new DBCluster(\"cluster\", DBClusterArgs.builder()\n .dbClusterCategory(\"MixedStorage\")\n .mode(\"flexible\")\n .computeResource(\"8Core32GB\")\n .vswitchId(vswitchId)\n .description(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .dbClusterId(cluster.id())\n .connectionPrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n cluster:\n type: alicloud:adb:DBCluster\n properties:\n dbClusterCategory: MixedStorage\n mode: flexible\n computeResource: 8Core32GB\n vswitchId: ${vswitchId}\n description: ${name}\n defaultConnection:\n type: alicloud:adb:Connection\n name: default\n properties:\n dbClusterId: ${cluster.id}\n connectionPrefix: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nADB connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/connection:Connection example am-12345678\n```\n\n", + "description": "Provides an ADB connection resource to allocate an Internet connection string for ADB cluster.\n\n\u003e **NOTE:** Each ADB instance will allocate a intranet connnection string automatically and its prifix is ADB instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n\u003e **NOTE:** Available since v1.81.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst cluster = new alicloud.adb.DBCluster(\"cluster\", {\n dbClusterCategory: \"MixedStorage\",\n mode: \"flexible\",\n computeResource: \"8Core32GB\",\n vswitchId: vswitchId,\n description: name,\n});\nconst defaultConnection = new alicloud.adb.Connection(\"default\", {\n dbClusterId: cluster.id,\n connectionPrefix: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\nvswitch_id = default_get_switches.ids[0]\ncluster = alicloud.adb.DBCluster(\"cluster\",\n db_cluster_category=\"MixedStorage\",\n mode=\"flexible\",\n compute_resource=\"8Core32GB\",\n vswitch_id=vswitch_id,\n description=name)\ndefault_connection = alicloud.adb.Connection(\"default\",\n db_cluster_id=cluster.id,\n connection_prefix=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var cluster = new AliCloud.Adb.DBCluster(\"cluster\", new()\n {\n DbClusterCategory = \"MixedStorage\",\n Mode = \"flexible\",\n ComputeResource = \"8Core32GB\",\n VswitchId = vswitchId,\n Description = name,\n });\n\n var defaultConnection = new AliCloud.Adb.Connection(\"default\", new()\n {\n DbClusterId = cluster.Id,\n ConnectionPrefix = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\tcluster, err := adb.NewDBCluster(ctx, \"cluster\", \u0026adb.DBClusterArgs{\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tComputeResource: pulumi.String(\"8Core32GB\"),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewConnection(ctx, \"default\", \u0026adb.ConnectionArgs{\n\t\t\tDbClusterId: cluster.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.Connection;\nimport com.pulumi.alicloud.adb.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n var cluster = new DBCluster(\"cluster\", DBClusterArgs.builder()\n .dbClusterCategory(\"MixedStorage\")\n .mode(\"flexible\")\n .computeResource(\"8Core32GB\")\n .vswitchId(vswitchId)\n .description(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .dbClusterId(cluster.id())\n .connectionPrefix(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n cluster:\n type: alicloud:adb:DBCluster\n properties:\n dbClusterCategory: MixedStorage\n mode: flexible\n computeResource: 8Core32GB\n vswitchId: ${vswitchId}\n description: ${name}\n defaultConnection:\n type: alicloud:adb:Connection\n name: default\n properties:\n dbClusterId: ${cluster.id}\n connectionPrefix: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nADB connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/connection:Connection example am-12345678\n```\n\n", "properties": { "connectionPrefix": { "type": "string", @@ -98088,7 +99915,7 @@ } }, "alicloud:adb/dBClusterLakeVersion:DBClusterLakeVersion": { - "description": "Provides a AnalyticDB for MySQL (ADB) DB Cluster Lake Version resource.\n\nFor information about AnalyticDB for MySQL (ADB) DB Cluster Lake Version and how to use it, see [What is DB Cluster Lake Version](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-createdbcluster).\n\n\u003e **NOTE:** Available since v1.190.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst defaultDBClusterLakeVersion = new alicloud.adb.DBClusterLakeVersion(\"default\", {\n dbClusterVersion: \"5.0\",\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n computeResource: \"16ACU\",\n storageResource: \"0ACU\",\n paymentType: \"PayAsYouGo\",\n enableDefaultResourceGroup: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault_db_cluster_lake_version = alicloud.adb.DBClusterLakeVersion(\"default\",\n db_cluster_version=\"5.0\",\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n zone_id=default.ids[0],\n compute_resource=\"16ACU\",\n storage_resource=\"0ACU\",\n payment_type=\"PayAsYouGo\",\n enable_default_resource_group=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultDBClusterLakeVersion = new AliCloud.Adb.DBClusterLakeVersion(\"default\", new()\n {\n DbClusterVersion = \"5.0\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ComputeResource = \"16ACU\",\n StorageResource = \"0ACU\",\n PaymentType = \"PayAsYouGo\",\n EnableDefaultResourceGroup = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewDBClusterLakeVersion(ctx, \"default\", \u0026adb.DBClusterLakeVersionArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"5.0\"),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tComputeResource: pulumi.String(\"16ACU\"),\n\t\t\tStorageResource: pulumi.String(\"0ACU\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnableDefaultResourceGroup: 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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersion;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultDBClusterLakeVersion = new DBClusterLakeVersion(\"defaultDBClusterLakeVersion\", DBClusterLakeVersionArgs.builder()\n .dbClusterVersion(\"5.0\")\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .zoneId(default_.ids()[0])\n .computeResource(\"16ACU\")\n .storageResource(\"0ACU\")\n .paymentType(\"PayAsYouGo\")\n .enableDefaultResourceGroup(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDBClusterLakeVersion:\n type: alicloud:adb:DBClusterLakeVersion\n name: default\n properties:\n dbClusterVersion: '5.0'\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneId: ${default.ids[0]}\n computeResource: 16ACU\n storageResource: 0ACU\n paymentType: PayAsYouGo\n enableDefaultResourceGroup: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/dBClusterLakeVersion:DBClusterLakeVersion example \u003cid\u003e\n```\n\n", + "description": "Provides a AnalyticDB for MySQL (ADB) DB Cluster Lake Version resource.\n\nFor information about AnalyticDB for MySQL (ADB) DB Cluster Lake Version and how to use it, see [What is DB Cluster Lake Version](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-createdbcluster).\n\n\u003e **NOTE:** Available since v1.190.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.adb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst defaultDBClusterLakeVersion = new alicloud.adb.DBClusterLakeVersion(\"default\", {\n dbClusterVersion: \"5.0\",\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n computeResource: \"16ACU\",\n storageResource: \"0ACU\",\n paymentType: \"PayAsYouGo\",\n enableDefaultResourceGroup: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.adb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault_db_cluster_lake_version = alicloud.adb.DBClusterLakeVersion(\"default\",\n db_cluster_version=\"5.0\",\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n zone_id=default.ids[0],\n compute_resource=\"16ACU\",\n storage_resource=\"0ACU\",\n payment_type=\"PayAsYouGo\",\n enable_default_resource_group=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultDBClusterLakeVersion = new AliCloud.Adb.DBClusterLakeVersion(\"default\", new()\n {\n DbClusterVersion = \"5.0\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ComputeResource = \"16ACU\",\n StorageResource = \"0ACU\",\n PaymentType = \"PayAsYouGo\",\n EnableDefaultResourceGroup = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewDBClusterLakeVersion(ctx, \"default\", \u0026adb.DBClusterLakeVersionArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"5.0\"),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tComputeResource: pulumi.String(\"16ACU\"),\n\t\t\tStorageResource: pulumi.String(\"0ACU\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnableDefaultResourceGroup: 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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersion;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultDBClusterLakeVersion = new DBClusterLakeVersion(\"defaultDBClusterLakeVersion\", DBClusterLakeVersionArgs.builder()\n .dbClusterVersion(\"5.0\")\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .zoneId(default_.ids()[0])\n .computeResource(\"16ACU\")\n .storageResource(\"0ACU\")\n .paymentType(\"PayAsYouGo\")\n .enableDefaultResourceGroup(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDBClusterLakeVersion:\n type: alicloud:adb:DBClusterLakeVersion\n name: default\n properties:\n dbClusterVersion: '5.0'\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneId: ${default.ids[0]}\n computeResource: 16ACU\n storageResource: 0ACU\n paymentType: PayAsYouGo\n enableDefaultResourceGroup: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/dBClusterLakeVersion:DBClusterLakeVersion example \u003cid\u003e\n```\n\n", "properties": { "backupSetId": { "type": "string", @@ -98545,7 +100372,7 @@ } }, "alicloud:adb/lakeAccount:LakeAccount": { - "description": "Provides a ADB Lake Account resource. Account of the DBClusterLakeVesion.\n\nFor information about ADB Lake Account and how to use it, see [What is Lake Account](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-createaccount).\nFor information about ADB Lake Account Privileges and how to use it, see [What are Lake Account Privileges](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-modifyaccountprivileges/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst VPCID = new alicloud.vpc.Network(\"VPCID\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst VSWITCHID = new alicloud.vpc.Switch(\"VSWITCHID\", {\n vpcId: VPCID.id,\n zoneId: \"cn-hangzhou-k\",\n vswitchName: name,\n cidrBlock: \"172.16.0.0/24\",\n});\nconst createInstance = new alicloud.adb.DBClusterLakeVersion(\"CreateInstance\", {\n storageResource: \"0ACU\",\n zoneId: \"cn-hangzhou-k\",\n vpcId: VPCID.id,\n vswitchId: VSWITCHID.id,\n dbClusterDescription: name,\n computeResource: \"16ACU\",\n dbClusterVersion: \"5.0\",\n paymentType: \"PayAsYouGo\",\n securityIps: \"127.0.0.1\",\n});\nconst defaultLakeAccount = new alicloud.adb.LakeAccount(\"default\", {\n dbClusterId: createInstance.id,\n accountType: \"Super\",\n accountName: \"tfnormal\",\n accountPassword: \"normal@2023\",\n accountPrivileges: [\n {\n privilegeType: \"Database\",\n privilegeObject: {\n database: \"MYSQL\",\n },\n privileges: [\n \"select\",\n \"update\",\n ],\n },\n {\n privilegeType: \"Table\",\n privilegeObject: {\n database: \"INFORMATION_SCHEMA\",\n table: \"ENGINES\",\n },\n privileges: [\"update\"],\n },\n {\n privilegeType: \"Column\",\n privilegeObject: {\n table: \"COLUMNS\",\n column: \"PRIVILEGES\",\n database: \"INFORMATION_SCHEMA\",\n },\n privileges: [\"update\"],\n },\n ],\n accountDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpcid = alicloud.vpc.Network(\"VPCID\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\nvswitchid = alicloud.vpc.Switch(\"VSWITCHID\",\n vpc_id=vpcid.id,\n zone_id=\"cn-hangzhou-k\",\n vswitch_name=name,\n cidr_block=\"172.16.0.0/24\")\ncreate_instance = alicloud.adb.DBClusterLakeVersion(\"CreateInstance\",\n storage_resource=\"0ACU\",\n zone_id=\"cn-hangzhou-k\",\n vpc_id=vpcid.id,\n vswitch_id=vswitchid.id,\n db_cluster_description=name,\n compute_resource=\"16ACU\",\n db_cluster_version=\"5.0\",\n payment_type=\"PayAsYouGo\",\n security_ips=\"127.0.0.1\")\ndefault_lake_account = alicloud.adb.LakeAccount(\"default\",\n db_cluster_id=create_instance.id,\n account_type=\"Super\",\n account_name=\"tfnormal\",\n account_password=\"normal@2023\",\n account_privileges=[\n {\n \"privilege_type\": \"Database\",\n \"privilege_object\": {\n \"database\": \"MYSQL\",\n },\n \"privileges\": [\n \"select\",\n \"update\",\n ],\n },\n {\n \"privilege_type\": \"Table\",\n \"privilege_object\": {\n \"database\": \"INFORMATION_SCHEMA\",\n \"table\": \"ENGINES\",\n },\n \"privileges\": [\"update\"],\n },\n {\n \"privilege_type\": \"Column\",\n \"privilege_object\": {\n \"table\": \"COLUMNS\",\n \"column\": \"PRIVILEGES\",\n \"database\": \"INFORMATION_SCHEMA\",\n },\n \"privileges\": [\"update\"],\n },\n ],\n account_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var VPCID = new AliCloud.Vpc.Network(\"VPCID\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var VSWITCHID = new AliCloud.Vpc.Switch(\"VSWITCHID\", new()\n {\n VpcId = VPCID.Id,\n ZoneId = \"cn-hangzhou-k\",\n VswitchName = name,\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var createInstance = new AliCloud.Adb.DBClusterLakeVersion(\"CreateInstance\", new()\n {\n StorageResource = \"0ACU\",\n ZoneId = \"cn-hangzhou-k\",\n VpcId = VPCID.Id,\n VswitchId = VSWITCHID.Id,\n DbClusterDescription = name,\n ComputeResource = \"16ACU\",\n DbClusterVersion = \"5.0\",\n PaymentType = \"PayAsYouGo\",\n SecurityIps = \"127.0.0.1\",\n });\n\n var defaultLakeAccount = new AliCloud.Adb.LakeAccount(\"default\", new()\n {\n DbClusterId = createInstance.Id,\n AccountType = \"Super\",\n AccountName = \"tfnormal\",\n AccountPassword = \"normal@2023\",\n AccountPrivileges = new[]\n {\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Database\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Database = \"MYSQL\",\n },\n Privileges = new[]\n {\n \"select\",\n \"update\",\n },\n },\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Table\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Database = \"INFORMATION_SCHEMA\",\n Table = \"ENGINES\",\n },\n Privileges = new[]\n {\n \"update\",\n },\n },\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Column\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Table = \"COLUMNS\",\n Column = \"PRIVILEGES\",\n Database = \"INFORMATION_SCHEMA\",\n },\n Privileges = new[]\n {\n \"update\",\n },\n },\n },\n AccountDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tVPCID, err := vpc.NewNetwork(ctx, \"VPCID\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tVSWITCHID, err := vpc.NewSwitch(ctx, \"VSWITCHID\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: VPCID.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := adb.NewDBClusterLakeVersion(ctx, \"CreateInstance\", \u0026adb.DBClusterLakeVersionArgs{\n\t\t\tStorageResource: pulumi.String(\"0ACU\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVpcId: VPCID.ID(),\n\t\t\tVswitchId: VSWITCHID.ID(),\n\t\t\tDbClusterDescription: pulumi.String(name),\n\t\t\tComputeResource: pulumi.String(\"16ACU\"),\n\t\t\tDbClusterVersion: pulumi.String(\"5.0\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSecurityIps: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewLakeAccount(ctx, \"default\", \u0026adb.LakeAccountArgs{\n\t\t\tDbClusterId: createInstance.ID(),\n\t\t\tAccountType: pulumi.String(\"Super\"),\n\t\t\tAccountName: pulumi.String(\"tfnormal\"),\n\t\t\tAccountPassword: pulumi.String(\"normal@2023\"),\n\t\t\tAccountPrivileges: adb.LakeAccountAccountPrivilegeArray{\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Database\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tDatabase: pulumi.String(\"MYSQL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"select\"),\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Table\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tDatabase: pulumi.String(\"INFORMATION_SCHEMA\"),\n\t\t\t\t\t\tTable: pulumi.String(\"ENGINES\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Column\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tTable: pulumi.String(\"COLUMNS\"),\n\t\t\t\t\t\tColumn: pulumi.String(\"PRIVILEGES\"),\n\t\t\t\t\t\tDatabase: pulumi.String(\"INFORMATION_SCHEMA\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersion;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersionArgs;\nimport com.pulumi.alicloud.adb.LakeAccount;\nimport com.pulumi.alicloud.adb.LakeAccountArgs;\nimport com.pulumi.alicloud.adb.inputs.LakeAccountAccountPrivilegeArgs;\nimport com.pulumi.alicloud.adb.inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vPCID = new Network(\"VPCID\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var vSWITCHID = new Switch(\"VSWITCHID\", SwitchArgs.builder()\n .vpcId(VPCID.id())\n .zoneId(\"cn-hangzhou-k\")\n .vswitchName(name)\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var createInstance = new DBClusterLakeVersion(\"createInstance\", DBClusterLakeVersionArgs.builder()\n .storageResource(\"0ACU\")\n .zoneId(\"cn-hangzhou-k\")\n .vpcId(VPCID.id())\n .vswitchId(VSWITCHID.id())\n .dbClusterDescription(name)\n .computeResource(\"16ACU\")\n .dbClusterVersion(\"5.0\")\n .paymentType(\"PayAsYouGo\")\n .securityIps(\"127.0.0.1\")\n .build());\n\n var defaultLakeAccount = new LakeAccount(\"defaultLakeAccount\", LakeAccountArgs.builder()\n .dbClusterId(createInstance.id())\n .accountType(\"Super\")\n .accountName(\"tfnormal\")\n .accountPassword(\"normal@2023\")\n .accountPrivileges( \n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Database\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .database(\"MYSQL\")\n .build())\n .privileges( \n \"select\",\n \"update\")\n .build(),\n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Table\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .database(\"INFORMATION_SCHEMA\")\n .table(\"ENGINES\")\n .build())\n .privileges(\"update\")\n .build(),\n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Column\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .table(\"COLUMNS\")\n .column(\"PRIVILEGES\")\n .database(\"INFORMATION_SCHEMA\")\n .build())\n .privileges(\"update\")\n .build())\n .accountDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n VPCID:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n VSWITCHID:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${VPCID.id}\n zoneId: cn-hangzhou-k\n vswitchName: ${name}\n cidrBlock: 172.16.0.0/24\n createInstance:\n type: alicloud:adb:DBClusterLakeVersion\n name: CreateInstance\n properties:\n storageResource: 0ACU\n zoneId: cn-hangzhou-k\n vpcId: ${VPCID.id}\n vswitchId: ${VSWITCHID.id}\n dbClusterDescription: ${name}\n computeResource: 16ACU\n dbClusterVersion: '5.0'\n paymentType: PayAsYouGo\n securityIps: 127.0.0.1\n defaultLakeAccount:\n type: alicloud:adb:LakeAccount\n name: default\n properties:\n dbClusterId: ${createInstance.id}\n accountType: Super\n accountName: tfnormal\n accountPassword: normal@2023\n accountPrivileges:\n - privilegeType: Database\n privilegeObject:\n database: MYSQL\n privileges:\n - select\n - update\n - privilegeType: Table\n privilegeObject:\n database: INFORMATION_SCHEMA\n table: ENGINES\n privileges:\n - update\n - privilegeType: Column\n privilegeObject:\n table: COLUMNS\n column: PRIVILEGES\n database: INFORMATION_SCHEMA\n privileges:\n - update\n accountDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nADB Lake Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/lakeAccount:LakeAccount example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a ADB Lake Account resource. Account of the DBClusterLakeVesion.\n\nFor information about ADB Lake Account and how to use it, see [What is Lake Account](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-createaccount).\nFor information about ADB Lake Account Privileges and how to use it, see [What are Lake Account Privileges](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/developer-reference/api-adb-2021-12-01-modifyaccountprivileges/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst VPCID = new alicloud.vpc.Network(\"VPCID\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst VSWITCHID = new alicloud.vpc.Switch(\"VSWITCHID\", {\n vpcId: VPCID.id,\n zoneId: \"cn-hangzhou-k\",\n vswitchName: name,\n cidrBlock: \"172.16.0.0/24\",\n});\nconst createInstance = new alicloud.adb.DBClusterLakeVersion(\"CreateInstance\", {\n storageResource: \"0ACU\",\n zoneId: \"cn-hangzhou-k\",\n vpcId: VPCID.id,\n vswitchId: VSWITCHID.id,\n dbClusterDescription: name,\n computeResource: \"16ACU\",\n dbClusterVersion: \"5.0\",\n paymentType: \"PayAsYouGo\",\n securityIps: \"127.0.0.1\",\n});\nconst defaultLakeAccount = new alicloud.adb.LakeAccount(\"default\", {\n dbClusterId: createInstance.id,\n accountType: \"Super\",\n accountName: \"tfnormal\",\n accountPassword: \"normal@2023\",\n accountPrivileges: [\n {\n privilegeType: \"Database\",\n privilegeObject: {\n database: \"MYSQL\",\n },\n privileges: [\n \"select\",\n \"update\",\n ],\n },\n {\n privilegeType: \"Table\",\n privilegeObject: {\n database: \"INFORMATION_SCHEMA\",\n table: \"ENGINES\",\n },\n privileges: [\"update\"],\n },\n {\n privilegeType: \"Column\",\n privilegeObject: {\n table: \"COLUMNS\",\n column: \"PRIVILEGES\",\n database: \"INFORMATION_SCHEMA\",\n },\n privileges: [\"update\"],\n },\n ],\n accountDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpcid = alicloud.vpc.Network(\"VPCID\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\nvswitchid = alicloud.vpc.Switch(\"VSWITCHID\",\n vpc_id=vpcid.id,\n zone_id=\"cn-hangzhou-k\",\n vswitch_name=name,\n cidr_block=\"172.16.0.0/24\")\ncreate_instance = alicloud.adb.DBClusterLakeVersion(\"CreateInstance\",\n storage_resource=\"0ACU\",\n zone_id=\"cn-hangzhou-k\",\n vpc_id=vpcid.id,\n vswitch_id=vswitchid.id,\n db_cluster_description=name,\n compute_resource=\"16ACU\",\n db_cluster_version=\"5.0\",\n payment_type=\"PayAsYouGo\",\n security_ips=\"127.0.0.1\")\ndefault_lake_account = alicloud.adb.LakeAccount(\"default\",\n db_cluster_id=create_instance.id,\n account_type=\"Super\",\n account_name=\"tfnormal\",\n account_password=\"normal@2023\",\n account_privileges=[\n {\n \"privilege_type\": \"Database\",\n \"privilege_object\": {\n \"database\": \"MYSQL\",\n },\n \"privileges\": [\n \"select\",\n \"update\",\n ],\n },\n {\n \"privilege_type\": \"Table\",\n \"privilege_object\": {\n \"database\": \"INFORMATION_SCHEMA\",\n \"table\": \"ENGINES\",\n },\n \"privileges\": [\"update\"],\n },\n {\n \"privilege_type\": \"Column\",\n \"privilege_object\": {\n \"table\": \"COLUMNS\",\n \"column\": \"PRIVILEGES\",\n \"database\": \"INFORMATION_SCHEMA\",\n },\n \"privileges\": [\"update\"],\n },\n ],\n account_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var VPCID = new AliCloud.Vpc.Network(\"VPCID\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var VSWITCHID = new AliCloud.Vpc.Switch(\"VSWITCHID\", new()\n {\n VpcId = VPCID.Id,\n ZoneId = \"cn-hangzhou-k\",\n VswitchName = name,\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var createInstance = new AliCloud.Adb.DBClusterLakeVersion(\"CreateInstance\", new()\n {\n StorageResource = \"0ACU\",\n ZoneId = \"cn-hangzhou-k\",\n VpcId = VPCID.Id,\n VswitchId = VSWITCHID.Id,\n DbClusterDescription = name,\n ComputeResource = \"16ACU\",\n DbClusterVersion = \"5.0\",\n PaymentType = \"PayAsYouGo\",\n SecurityIps = \"127.0.0.1\",\n });\n\n var defaultLakeAccount = new AliCloud.Adb.LakeAccount(\"default\", new()\n {\n DbClusterId = createInstance.Id,\n AccountType = \"Super\",\n AccountName = \"tfnormal\",\n AccountPassword = \"normal@2023\",\n AccountPrivileges = new[]\n {\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Database\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Database = \"MYSQL\",\n },\n Privileges = new[]\n {\n \"select\",\n \"update\",\n },\n },\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Table\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Database = \"INFORMATION_SCHEMA\",\n Table = \"ENGINES\",\n },\n Privileges = new[]\n {\n \"update\",\n },\n },\n new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegeArgs\n {\n PrivilegeType = \"Column\",\n PrivilegeObject = new AliCloud.Adb.Inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs\n {\n Table = \"COLUMNS\",\n Column = \"PRIVILEGES\",\n Database = \"INFORMATION_SCHEMA\",\n },\n Privileges = new[]\n {\n \"update\",\n },\n },\n },\n AccountDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tVPCID, err := vpc.NewNetwork(ctx, \"VPCID\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tVSWITCHID, err := vpc.NewSwitch(ctx, \"VSWITCHID\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: VPCID.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := adb.NewDBClusterLakeVersion(ctx, \"CreateInstance\", \u0026adb.DBClusterLakeVersionArgs{\n\t\t\tStorageResource: pulumi.String(\"0ACU\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVpcId: VPCID.ID(),\n\t\t\tVswitchId: VSWITCHID.ID(),\n\t\t\tDbClusterDescription: pulumi.String(name),\n\t\t\tComputeResource: pulumi.String(\"16ACU\"),\n\t\t\tDbClusterVersion: pulumi.String(\"5.0\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSecurityIps: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewLakeAccount(ctx, \"default\", \u0026adb.LakeAccountArgs{\n\t\t\tDbClusterId: createInstance.ID(),\n\t\t\tAccountType: pulumi.String(\"Super\"),\n\t\t\tAccountName: pulumi.String(\"tfnormal\"),\n\t\t\tAccountPassword: pulumi.String(\"normal@2023\"),\n\t\t\tAccountPrivileges: adb.LakeAccountAccountPrivilegeArray{\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Database\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tDatabase: pulumi.String(\"MYSQL\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"select\"),\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Table\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tDatabase: pulumi.String(\"INFORMATION_SCHEMA\"),\n\t\t\t\t\t\tTable: pulumi.String(\"ENGINES\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026adb.LakeAccountAccountPrivilegeArgs{\n\t\t\t\t\tPrivilegeType: pulumi.String(\"Column\"),\n\t\t\t\t\tPrivilegeObject: \u0026adb.LakeAccountAccountPrivilegePrivilegeObjectArgs{\n\t\t\t\t\t\tTable: pulumi.String(\"COLUMNS\"),\n\t\t\t\t\t\tColumn: pulumi.String(\"PRIVILEGES\"),\n\t\t\t\t\t\tDatabase: pulumi.String(\"INFORMATION_SCHEMA\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrivileges: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"update\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersion;\nimport com.pulumi.alicloud.adb.DBClusterLakeVersionArgs;\nimport com.pulumi.alicloud.adb.LakeAccount;\nimport com.pulumi.alicloud.adb.LakeAccountArgs;\nimport com.pulumi.alicloud.adb.inputs.LakeAccountAccountPrivilegeArgs;\nimport com.pulumi.alicloud.adb.inputs.LakeAccountAccountPrivilegePrivilegeObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vPCID = new Network(\"VPCID\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var vSWITCHID = new Switch(\"VSWITCHID\", SwitchArgs.builder()\n .vpcId(VPCID.id())\n .zoneId(\"cn-hangzhou-k\")\n .vswitchName(name)\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var createInstance = new DBClusterLakeVersion(\"createInstance\", DBClusterLakeVersionArgs.builder()\n .storageResource(\"0ACU\")\n .zoneId(\"cn-hangzhou-k\")\n .vpcId(VPCID.id())\n .vswitchId(VSWITCHID.id())\n .dbClusterDescription(name)\n .computeResource(\"16ACU\")\n .dbClusterVersion(\"5.0\")\n .paymentType(\"PayAsYouGo\")\n .securityIps(\"127.0.0.1\")\n .build());\n\n var defaultLakeAccount = new LakeAccount(\"defaultLakeAccount\", LakeAccountArgs.builder()\n .dbClusterId(createInstance.id())\n .accountType(\"Super\")\n .accountName(\"tfnormal\")\n .accountPassword(\"normal@2023\")\n .accountPrivileges( \n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Database\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .database(\"MYSQL\")\n .build())\n .privileges( \n \"select\",\n \"update\")\n .build(),\n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Table\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .database(\"INFORMATION_SCHEMA\")\n .table(\"ENGINES\")\n .build())\n .privileges(\"update\")\n .build(),\n LakeAccountAccountPrivilegeArgs.builder()\n .privilegeType(\"Column\")\n .privilegeObject(LakeAccountAccountPrivilegePrivilegeObjectArgs.builder()\n .table(\"COLUMNS\")\n .column(\"PRIVILEGES\")\n .database(\"INFORMATION_SCHEMA\")\n .build())\n .privileges(\"update\")\n .build())\n .accountDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n VPCID:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n VSWITCHID:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${VPCID.id}\n zoneId: cn-hangzhou-k\n vswitchName: ${name}\n cidrBlock: 172.16.0.0/24\n createInstance:\n type: alicloud:adb:DBClusterLakeVersion\n name: CreateInstance\n properties:\n storageResource: 0ACU\n zoneId: cn-hangzhou-k\n vpcId: ${VPCID.id}\n vswitchId: ${VSWITCHID.id}\n dbClusterDescription: ${name}\n computeResource: 16ACU\n dbClusterVersion: '5.0'\n paymentType: PayAsYouGo\n securityIps: 127.0.0.1\n defaultLakeAccount:\n type: alicloud:adb:LakeAccount\n name: default\n properties:\n dbClusterId: ${createInstance.id}\n accountType: Super\n accountName: tfnormal\n accountPassword: normal@2023\n accountPrivileges:\n - privilegeType: Database\n privilegeObject:\n database: MYSQL\n privileges:\n - select\n - update\n - privilegeType: Table\n privilegeObject:\n database: INFORMATION_SCHEMA\n table: ENGINES\n privileges:\n - update\n - privilegeType: Column\n privilegeObject:\n table: COLUMNS\n column: PRIVILEGES\n database: INFORMATION_SCHEMA\n privileges:\n - update\n accountDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nADB Lake Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/lakeAccount:LakeAccount example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -98668,7 +100495,7 @@ } }, "alicloud:adb/resourceGroup:ResourceGroup": { - "description": "Provides a AnalyticDB for MySQL (ADB) Resource Group resource.\n\nFor information about AnalyticDB for MySQL (ADB) Resource Group and how to use it, see [What is Resource Group](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/latest/api-doc-adb-2019-03-15-api-doc-createdbresourcegroup).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultDBCluster = new alicloud.adb.DBCluster(\"default\", {\n computeResource: \"48Core192GB\",\n dbClusterCategory: \"MixedStorage\",\n dbClusterVersion: \"3.0\",\n dbNodeClass: \"E32\",\n dbNodeStorage: 100,\n description: name,\n elasticIoResource: 1,\n maintainTime: \"04:00Z-05:00Z\",\n mode: \"flexible\",\n paymentType: \"PayAsYouGo\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n securityIps: [\n \"10.168.1.12\",\n \"10.168.1.11\",\n ],\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultResourceGroup = new alicloud.adb.ResourceGroup(\"default\", {\n groupName: \"TF_EXAMPLE\",\n groupType: \"batch\",\n nodeNum: 0,\n dbClusterId: defaultDBCluster.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.adb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_db_cluster = alicloud.adb.DBCluster(\"default\",\n compute_resource=\"48Core192GB\",\n db_cluster_category=\"MixedStorage\",\n db_cluster_version=\"3.0\",\n db_node_class=\"E32\",\n db_node_storage=100,\n description=name,\n elastic_io_resource=1,\n maintain_time=\"04:00Z-05:00Z\",\n mode=\"flexible\",\n payment_type=\"PayAsYouGo\",\n resource_group_id=default_get_resource_groups.ids[0],\n security_ips=[\n \"10.168.1.12\",\n \"10.168.1.11\",\n ],\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n zone_id=default.zones[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_resource_group = alicloud.adb.ResourceGroup(\"default\",\n group_name=\"TF_EXAMPLE\",\n group_type=\"batch\",\n node_num=0,\n db_cluster_id=default_db_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultDBCluster = new AliCloud.Adb.DBCluster(\"default\", new()\n {\n ComputeResource = \"48Core192GB\",\n DbClusterCategory = \"MixedStorage\",\n DbClusterVersion = \"3.0\",\n DbNodeClass = \"E32\",\n DbNodeStorage = 100,\n Description = name,\n ElasticIoResource = 1,\n MaintainTime = \"04:00Z-05:00Z\",\n Mode = \"flexible\",\n PaymentType = \"PayAsYouGo\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"10.168.1.11\",\n },\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultResourceGroup = new AliCloud.Adb.ResourceGroup(\"default\", new()\n {\n GroupName = \"TF_EXAMPLE\",\n GroupType = \"batch\",\n NodeNum = 0,\n DbClusterId = defaultDBCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDBCluster, err := adb.NewDBCluster(ctx, \"default\", \u0026adb.DBClusterArgs{\n\t\t\tComputeResource: pulumi.String(\"48Core192GB\"),\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tDbClusterVersion: pulumi.String(\"3.0\"),\n\t\t\tDbNodeClass: pulumi.String(\"E32\"),\n\t\t\tDbNodeStorage: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tElasticIoResource: pulumi.Int(1),\n\t\t\tMaintainTime: pulumi.String(\"04:00Z-05:00Z\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"10.168.1.11\"),\n\t\t\t},\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewResourceGroup(ctx, \"default\", \u0026adb.ResourceGroupArgs{\n\t\t\tGroupName: pulumi.String(\"TF_EXAMPLE\"),\n\t\t\tGroupType: pulumi.String(\"batch\"),\n\t\t\tNodeNum: pulumi.Int(0),\n\t\t\tDbClusterId: defaultDBCluster.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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.ResourceGroup;\nimport com.pulumi.alicloud.adb.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultDBCluster = new DBCluster(\"defaultDBCluster\", DBClusterArgs.builder()\n .computeResource(\"48Core192GB\")\n .dbClusterCategory(\"MixedStorage\")\n .dbClusterVersion(\"3.0\")\n .dbNodeClass(\"E32\")\n .dbNodeStorage(100)\n .description(name)\n .elasticIoResource(1)\n .maintainTime(\"04:00Z-05:00Z\")\n .mode(\"flexible\")\n .paymentType(\"PayAsYouGo\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .securityIps( \n \"10.168.1.12\",\n \"10.168.1.11\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .zoneId(default_.zones()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultResourceGroup = new ResourceGroup(\"defaultResourceGroup\", ResourceGroupArgs.builder()\n .groupName(\"TF_EXAMPLE\")\n .groupType(\"batch\")\n .nodeNum(0)\n .dbClusterId(defaultDBCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultDBCluster:\n type: alicloud:adb:DBCluster\n name: default\n properties:\n computeResource: 48Core192GB\n dbClusterCategory: MixedStorage\n dbClusterVersion: '3.0'\n dbNodeClass: E32\n dbNodeStorage: 100\n description: ${name}\n elasticIoResource: 1\n maintainTime: 04:00Z-05:00Z\n mode: flexible\n paymentType: PayAsYouGo\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n securityIps:\n - 10.168.1.12\n - 10.168.1.11\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n zoneId: ${default.zones[0].id}\n tags:\n Created: TF\n For: example\n defaultResourceGroup:\n type: alicloud:adb:ResourceGroup\n name: default\n properties:\n groupName: TF_EXAMPLE\n groupType: batch\n nodeNum: 0\n dbClusterId: ${defaultDBCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAdb Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/resourceGroup:ResourceGroup example \u003cdb_cluster_id\u003e:\u003cgroup_name\u003e\n```\n\n", + "description": "Provides a AnalyticDB for MySQL (ADB) Resource Group resource.\n\nFor information about AnalyticDB for MySQL (ADB) Resource Group and how to use it, see [What is Resource Group](https://www.alibabacloud.com/help/en/analyticdb-for-mysql/latest/api-doc-adb-2019-03-15-api-doc-createdbresourcegroup).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.adb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultDBCluster = new alicloud.adb.DBCluster(\"default\", {\n computeResource: \"48Core192GB\",\n dbClusterCategory: \"MixedStorage\",\n dbClusterVersion: \"3.0\",\n dbNodeClass: \"E32\",\n dbNodeStorage: 100,\n description: name,\n elasticIoResource: 1,\n maintainTime: \"04:00Z-05:00Z\",\n mode: \"flexible\",\n paymentType: \"PayAsYouGo\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n securityIps: [\n \"10.168.1.12\",\n \"10.168.1.11\",\n ],\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultResourceGroup = new alicloud.adb.ResourceGroup(\"default\", {\n groupName: \"TF_EXAMPLE\",\n groupType: \"batch\",\n nodeNum: 0,\n dbClusterId: defaultDBCluster.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.adb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_db_cluster = alicloud.adb.DBCluster(\"default\",\n compute_resource=\"48Core192GB\",\n db_cluster_category=\"MixedStorage\",\n db_cluster_version=\"3.0\",\n db_node_class=\"E32\",\n db_node_storage=100,\n description=name,\n elastic_io_resource=1,\n maintain_time=\"04:00Z-05:00Z\",\n mode=\"flexible\",\n payment_type=\"PayAsYouGo\",\n resource_group_id=default_get_resource_groups.ids[0],\n security_ips=[\n \"10.168.1.12\",\n \"10.168.1.11\",\n ],\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n zone_id=default.zones[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_resource_group = alicloud.adb.ResourceGroup(\"default\",\n group_name=\"TF_EXAMPLE\",\n group_type=\"batch\",\n node_num=0,\n db_cluster_id=default_db_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Adb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultDBCluster = new AliCloud.Adb.DBCluster(\"default\", new()\n {\n ComputeResource = \"48Core192GB\",\n DbClusterCategory = \"MixedStorage\",\n DbClusterVersion = \"3.0\",\n DbNodeClass = \"E32\",\n DbNodeStorage = 100,\n Description = name,\n ElasticIoResource = 1,\n MaintainTime = \"04:00Z-05:00Z\",\n Mode = \"flexible\",\n PaymentType = \"PayAsYouGo\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"10.168.1.11\",\n },\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultResourceGroup = new AliCloud.Adb.ResourceGroup(\"default\", new()\n {\n GroupName = \"TF_EXAMPLE\",\n GroupType = \"batch\",\n NodeNum = 0,\n DbClusterId = defaultDBCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/adb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := adb.GetZones(ctx, \u0026adb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDBCluster, err := adb.NewDBCluster(ctx, \"default\", \u0026adb.DBClusterArgs{\n\t\t\tComputeResource: pulumi.String(\"48Core192GB\"),\n\t\t\tDbClusterCategory: pulumi.String(\"MixedStorage\"),\n\t\t\tDbClusterVersion: pulumi.String(\"3.0\"),\n\t\t\tDbNodeClass: pulumi.String(\"E32\"),\n\t\t\tDbNodeStorage: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tElasticIoResource: pulumi.Int(1),\n\t\t\tMaintainTime: pulumi.String(\"04:00Z-05:00Z\"),\n\t\t\tMode: pulumi.String(\"flexible\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"10.168.1.11\"),\n\t\t\t},\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = adb.NewResourceGroup(ctx, \"default\", \u0026adb.ResourceGroupArgs{\n\t\t\tGroupName: pulumi.String(\"TF_EXAMPLE\"),\n\t\t\tGroupType: pulumi.String(\"batch\"),\n\t\t\tNodeNum: pulumi.Int(0),\n\t\t\tDbClusterId: defaultDBCluster.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.alicloud.adb.AdbFunctions;\nimport com.pulumi.alicloud.adb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.adb.DBCluster;\nimport com.pulumi.alicloud.adb.DBClusterArgs;\nimport com.pulumi.alicloud.adb.ResourceGroup;\nimport com.pulumi.alicloud.adb.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultDBCluster = new DBCluster(\"defaultDBCluster\", DBClusterArgs.builder()\n .computeResource(\"48Core192GB\")\n .dbClusterCategory(\"MixedStorage\")\n .dbClusterVersion(\"3.0\")\n .dbNodeClass(\"E32\")\n .dbNodeStorage(100)\n .description(name)\n .elasticIoResource(1)\n .maintainTime(\"04:00Z-05:00Z\")\n .mode(\"flexible\")\n .paymentType(\"PayAsYouGo\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .securityIps( \n \"10.168.1.12\",\n \"10.168.1.11\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .zoneId(default_.zones()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultResourceGroup = new ResourceGroup(\"defaultResourceGroup\", ResourceGroupArgs.builder()\n .groupName(\"TF_EXAMPLE\")\n .groupType(\"batch\")\n .nodeNum(0)\n .dbClusterId(defaultDBCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultDBCluster:\n type: alicloud:adb:DBCluster\n name: default\n properties:\n computeResource: 48Core192GB\n dbClusterCategory: MixedStorage\n dbClusterVersion: '3.0'\n dbNodeClass: E32\n dbNodeStorage: 100\n description: ${name}\n elasticIoResource: 1\n maintainTime: 04:00Z-05:00Z\n mode: flexible\n paymentType: PayAsYouGo\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n securityIps:\n - 10.168.1.12\n - 10.168.1.11\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n zoneId: ${default.zones[0].id}\n tags:\n Created: TF\n For: example\n defaultResourceGroup:\n type: alicloud:adb:ResourceGroup\n name: default\n properties:\n groupName: TF_EXAMPLE\n groupType: batch\n nodeNum: 0\n dbClusterId: ${defaultDBCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:adb:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAdb Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:adb/resourceGroup:ResourceGroup example \u003cdb_cluster_id\u003e:\u003cgroup_name\u003e\n```\n\n", "properties": { "clusterMode": { "type": "string", @@ -98930,7 +100757,7 @@ } }, "alicloud:alb/aScript:AScript": { - "description": "Provides a Application Load Balancer (ALB) A Script resource.\n\n\n\nFor information about Application Load Balancer (ALB) A Script and how to use it, see [What is A Script](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createascripts).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 8081,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultAScript = new alicloud.alb.AScript(\"default\", {\n scriptContent: \"time()\",\n position: \"RequestHead\",\n ascriptName: name,\n enabled: true,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=8081,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_a_script = alicloud.alb.AScript(\"default\",\n script_content=\"time()\",\n position=\"RequestHead\",\n ascript_name=name,\n enabled=True,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 8081,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultAScript = new AliCloud.Alb.AScript(\"default\", new()\n {\n ScriptContent = \"time()\",\n Position = \"RequestHead\",\n AscriptName = name,\n Enabled = true,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(8081),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\t_, err = alb.NewAScript(ctx, \"default\", \u0026alb.AScriptArgs{\n\t\t\tScriptContent: pulumi.String(\"time()\"),\n\t\t\tPosition: pulumi.String(\"RequestHead\"),\n\t\t\tAscriptName: pulumi.String(name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tListenerId: defaultListener.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.AScript;\nimport com.pulumi.alicloud.alb.AScriptArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(8081)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultAScript = new AScript(\"defaultAScript\", AScriptArgs.builder()\n .scriptContent(\"time()\")\n .position(\"RequestHead\")\n .ascriptName(name)\n .enabled(true)\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) A Script can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/aScript:AScript example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) A Script resource.\n\n\n\nFor information about Application Load Balancer (ALB) A Script and how to use it, see [What is A Script](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createascripts).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 8081,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultAScript = new alicloud.alb.AScript(\"default\", {\n scriptContent: \"time()\",\n position: \"RequestHead\",\n ascriptName: name,\n enabled: true,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=8081,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_a_script = alicloud.alb.AScript(\"default\",\n script_content=\"time()\",\n position=\"RequestHead\",\n ascript_name=name,\n enabled=True,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 8081,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultAScript = new AliCloud.Alb.AScript(\"default\", new()\n {\n ScriptContent = \"time()\",\n Position = \"RequestHead\",\n AscriptName = name,\n Enabled = true,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(8081),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\t_, err = alb.NewAScript(ctx, \"default\", \u0026alb.AScriptArgs{\n\t\t\tScriptContent: pulumi.String(\"time()\"),\n\t\t\tPosition: pulumi.String(\"RequestHead\"),\n\t\t\tAscriptName: pulumi.String(name),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tListenerId: defaultListener.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.AScript;\nimport com.pulumi.alicloud.alb.AScriptArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(8081)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultAScript = new AScript(\"defaultAScript\", AScriptArgs.builder()\n .scriptContent(\"time()\")\n .position(\"RequestHead\")\n .ascriptName(name)\n .enabled(true)\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) A Script can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/aScript:AScript example \u003cid\u003e\n```\n\n", "properties": { "ascriptName": { "type": "string", @@ -99073,7 +100900,7 @@ } }, "alicloud:alb/acl:Acl": { - "description": "Provides a Application Load Balancer (ALB) Acl resource.\n\nFor information about ALB Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createacl).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: \"tf_example\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=\"tf_example\",\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = \"tf_example\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(\"tf_example\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(\"tf_example\")\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAcl:\n type: alicloud:alb:Acl\n name: default\n properties:\n aclName: tf_example\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nALB Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/acl:Acl example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Acl resource.\n\nFor information about ALB Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createacl).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: \"tf_example\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=\"tf_example\",\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = \"tf_example\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(\"tf_example\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(\"tf_example\")\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAcl:\n type: alicloud:alb:Acl\n name: default\n properties:\n aclName: tf_example\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nALB Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/acl:Acl example \u003cid\u003e\n```\n\n", "properties": { "aclEntries": { "type": "array", @@ -99182,7 +101009,7 @@ } }, "alicloud:alb/aclEntryAttachment:AclEntryAttachment": { - "description": "For information about acl entry attachment and how to use it, see [Configure an acl entry](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-addentriestoacl).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\nconst defaultAclEntryAttachment = new alicloud.alb.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"168.10.10.0/24\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=name,\n resource_group_id=default.groups[0].id)\ndefault_acl_entry_attachment = alicloud.alb.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"168.10.10.0/24\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n var defaultAclEntryAttachment = new AliCloud.Alb.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"168.10.10.0/24\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAcl, err := alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAclEntryAttachment(ctx, \"default\", \u0026alb.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tDescription: pulumi.String(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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport com.pulumi.alicloud.alb.AclEntryAttachment;\nimport com.pulumi.alicloud.alb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(name)\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"168.10.10.0/24\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultAcl:\n type: alicloud:alb:Acl\n name: default\n properties:\n aclName: ${name}\n resourceGroupId: ${default.groups[0].id}\n defaultAclEntryAttachment:\n type: alicloud:alb:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAcl.id}\n entry: 168.10.10.0/24\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAcl entry attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", + "description": "For information about acl entry attachment and how to use it, see [Configure an acl entry](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-addentriestoacl).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\nconst defaultAclEntryAttachment = new alicloud.alb.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"168.10.10.0/24\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=name,\n resource_group_id=default.groups[0].id)\ndefault_acl_entry_attachment = alicloud.alb.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"168.10.10.0/24\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n var defaultAclEntryAttachment = new AliCloud.Alb.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"168.10.10.0/24\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAcl, err := alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAclEntryAttachment(ctx, \"default\", \u0026alb.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tDescription: pulumi.String(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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport com.pulumi.alicloud.alb.AclEntryAttachment;\nimport com.pulumi.alicloud.alb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(name)\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"168.10.10.0/24\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultAcl:\n type: alicloud:alb:Acl\n name: default\n properties:\n aclName: ${name}\n resourceGroupId: ${default.groups[0].id}\n defaultAclEntryAttachment:\n type: alicloud:alb:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAcl.id}\n entry: 168.10.10.0/24\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAcl entry attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -99254,7 +101081,7 @@ } }, "alicloud:alb/healthCheckTemplate:HealthCheckTemplate": { - "description": "Provides a Application Load Balancer (ALB) Health Check Template resource.\n\nHealth check template.\n\nFor information about Application Load Balancer (ALB) Health Check Template and how to use it, see [What is Health Check Template](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createhealthchecktemplate).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.alb.HealthCheckTemplate(\"example\", {healthCheckTemplateName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.alb.HealthCheckTemplate(\"example\", health_check_template_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Alb.HealthCheckTemplate(\"example\", new()\n {\n HealthCheckTemplateName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alb.NewHealthCheckTemplate(ctx, \"example\", \u0026alb.HealthCheckTemplateArgs{\n\t\t\tHealthCheckTemplateName: pulumi.String(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.alicloud.alb.HealthCheckTemplate;\nimport com.pulumi.alicloud.alb.HealthCheckTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new HealthCheckTemplate(\"example\", HealthCheckTemplateArgs.builder()\n .healthCheckTemplateName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:alb:HealthCheckTemplate\n properties:\n healthCheckTemplateName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Health Check Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/healthCheckTemplate:HealthCheckTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Health Check Template resource.\n\nHealth check template.\n\nFor information about Application Load Balancer (ALB) Health Check Template and how to use it, see [What is Health Check Template](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createhealthchecktemplate).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.alb.HealthCheckTemplate(\"example\", {healthCheckTemplateName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.alb.HealthCheckTemplate(\"example\", health_check_template_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Alb.HealthCheckTemplate(\"example\", new()\n {\n HealthCheckTemplateName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alb.NewHealthCheckTemplate(ctx, \"example\", \u0026alb.HealthCheckTemplateArgs{\n\t\t\tHealthCheckTemplateName: pulumi.String(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.alicloud.alb.HealthCheckTemplate;\nimport com.pulumi.alicloud.alb.HealthCheckTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new HealthCheckTemplate(\"example\", HealthCheckTemplateArgs.builder()\n .healthCheckTemplateName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:alb:HealthCheckTemplate\n properties:\n healthCheckTemplateName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Health Check Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/healthCheckTemplate:HealthCheckTemplate example \u003cid\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -99485,7 +101312,7 @@ } }, "alicloud:alb/listener:Listener": { - "description": "Provides a Application Load Balancer (ALB) Listener resource.\n\n\n\nFor information about Application Load Balancer (ALB) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createlistener).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Basic\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch[0].id,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckConnectPort: 46325,\n healthCheckEnabled: true,\n healthCheckHost: \"tf-example.com\",\n healthCheckCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckHttpVersion: \"HTTP1.1\",\n healthCheckInterval: 2,\n healthCheckMethod: \"HEAD\",\n healthCheckPath: \"/tf-example\",\n healthCheckProtocol: \"HTTP\",\n healthCheckTimeout: 5,\n healthyThreshold: 3,\n unhealthyThreshold: 3,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n servers: [{\n description: name,\n port: 80,\n serverId: defaultInstance.id,\n serverIp: defaultInstance.privateIp,\n serverType: \"Ecs\",\n weight: 10,\n }],\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 443,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Basic\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ],\n modification_protection_config={\n \"status\": \"NonProtection\",\n })\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch[0].id)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_connect_port\": 46325,\n \"health_check_enabled\": True,\n \"health_check_host\": \"tf-example.com\",\n \"health_check_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_http_version\": \"HTTP1.1\",\n \"health_check_interval\": 2,\n \"health_check_method\": \"HEAD\",\n \"health_check_path\": \"/tf-example\",\n \"health_check_protocol\": \"HTTP\",\n \"health_check_timeout\": 5,\n \"healthy_threshold\": 3,\n \"unhealthy_threshold\": 3,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n },\n servers=[{\n \"description\": name,\n \"port\": 80,\n \"server_id\": default_instance.id,\n \"server_ip\": default_instance.private_ip,\n \"server_type\": \"Ecs\",\n \"weight\": 10,\n }])\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=443,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Basic\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch[0].Id,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 46325,\n HealthCheckEnabled = true,\n HealthCheckHost = \"tf-example.com\",\n HealthCheckCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckHttpVersion = \"HTTP1.1\",\n HealthCheckInterval = 2,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPath = \"/tf-example\",\n HealthCheckProtocol = \"HTTP\",\n HealthCheckTimeout = 5,\n HealthyThreshold = 3,\n UnhealthyThreshold = 3,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n Servers = new[]\n {\n new AliCloud.Alb.Inputs.ServerGroupServerArgs\n {\n Description = name,\n Port = 80,\n ServerId = defaultInstance.Id,\n ServerIp = defaultInstance.PrivateIp,\n ServerType = \"Ecs\",\n Weight = 10,\n },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 443,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(46325),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckHost: pulumi.String(\"tf-example.com\"),\n\t\t\t\tHealthCheckCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckHttpVersion: pulumi.String(\"HTTP1.1\"),\n\t\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/tf-example\"),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckTimeout: pulumi.Int(5),\n\t\t\t\tHealthyThreshold: pulumi.Int(3),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(3),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t\tServers: alb.ServerGroupServerArray{\n\t\t\t\t\u0026alb.ServerGroupServerArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tServerId: defaultInstance.ID(),\n\t\t\t\t\tServerIp: defaultInstance.PrivateIp,\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\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\t_, err = alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(443),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Basic\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch[0].id())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(46325)\n .healthCheckEnabled(true)\n .healthCheckHost(\"tf-example.com\")\n .healthCheckCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckHttpVersion(\"HTTP1.1\")\n .healthCheckInterval(2)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPath(\"/tf-example\")\n .healthCheckProtocol(\"HTTP\")\n .healthCheckTimeout(5)\n .healthyThreshold(3)\n .unhealthyThreshold(3)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .servers(ServerGroupServerArgs.builder()\n .description(name)\n .port(80)\n .serverId(defaultInstance.id())\n .serverIp(defaultInstance.privateIp())\n .serverType(\"Ecs\")\n .weight(10)\n .build())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(443)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listener:Listener example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Listener resource.\n\n\n\nFor information about Application Load Balancer (ALB) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createlistener).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Basic\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch[0].id,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckConnectPort: 46325,\n healthCheckEnabled: true,\n healthCheckHost: \"tf-example.com\",\n healthCheckCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckHttpVersion: \"HTTP1.1\",\n healthCheckInterval: 2,\n healthCheckMethod: \"HEAD\",\n healthCheckPath: \"/tf-example\",\n healthCheckProtocol: \"HTTP\",\n healthCheckTimeout: 5,\n healthyThreshold: 3,\n unhealthyThreshold: 3,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n servers: [{\n description: name,\n port: 80,\n serverId: defaultInstance.id,\n serverIp: defaultInstance.privateIp,\n serverType: \"Ecs\",\n weight: 10,\n }],\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 443,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Basic\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ],\n modification_protection_config={\n \"status\": \"NonProtection\",\n })\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch[0].id)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_connect_port\": 46325,\n \"health_check_enabled\": True,\n \"health_check_host\": \"tf-example.com\",\n \"health_check_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_http_version\": \"HTTP1.1\",\n \"health_check_interval\": 2,\n \"health_check_method\": \"HEAD\",\n \"health_check_path\": \"/tf-example\",\n \"health_check_protocol\": \"HTTP\",\n \"health_check_timeout\": 5,\n \"healthy_threshold\": 3,\n \"unhealthy_threshold\": 3,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n },\n servers=[{\n \"description\": name,\n \"port\": 80,\n \"server_id\": default_instance.id,\n \"server_ip\": default_instance.private_ip,\n \"server_type\": \"Ecs\",\n \"weight\": 10,\n }])\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=443,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Basic\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch[0].Id,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 46325,\n HealthCheckEnabled = true,\n HealthCheckHost = \"tf-example.com\",\n HealthCheckCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckHttpVersion = \"HTTP1.1\",\n HealthCheckInterval = 2,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPath = \"/tf-example\",\n HealthCheckProtocol = \"HTTP\",\n HealthCheckTimeout = 5,\n HealthyThreshold = 3,\n UnhealthyThreshold = 3,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n Servers = new[]\n {\n new AliCloud.Alb.Inputs.ServerGroupServerArgs\n {\n Description = name,\n Port = 80,\n ServerId = defaultInstance.Id,\n ServerIp = defaultInstance.PrivateIp,\n ServerType = \"Ecs\",\n Weight = 10,\n },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 443,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(46325),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckHost: pulumi.String(\"tf-example.com\"),\n\t\t\t\tHealthCheckCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckHttpVersion: pulumi.String(\"HTTP1.1\"),\n\t\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/tf-example\"),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckTimeout: pulumi.Int(5),\n\t\t\t\tHealthyThreshold: pulumi.Int(3),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(3),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t\tServers: alb.ServerGroupServerArray{\n\t\t\t\t\u0026alb.ServerGroupServerArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tServerId: defaultInstance.ID(),\n\t\t\t\t\tServerIp: defaultInstance.PrivateIp,\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\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\t_, err = alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(443),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Basic\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch[0].id())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(46325)\n .healthCheckEnabled(true)\n .healthCheckHost(\"tf-example.com\")\n .healthCheckCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckHttpVersion(\"HTTP1.1\")\n .healthCheckInterval(2)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPath(\"/tf-example\")\n .healthCheckProtocol(\"HTTP\")\n .healthCheckTimeout(5)\n .healthyThreshold(3)\n .unhealthyThreshold(3)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .servers(ServerGroupServerArgs.builder()\n .description(name)\n .port(80)\n .serverId(defaultInstance.id())\n .serverIp(defaultInstance.privateIp())\n .serverType(\"Ecs\")\n .weight(10)\n .build())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(443)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listener:Listener example \u003cid\u003e\n```\n\n", "properties": { "accessLogRecordCustomizedHeadersEnabled": { "type": "boolean", @@ -99807,7 +101634,7 @@ } }, "alicloud:alb/listenerAclAttachment:ListenerAclAttachment": { - "description": "Provides a ALB Listener Acl Attachment resource. Associating ACL to listening.\n\nFor information about ALB Listener Acl Attachment and how to use it, see [What is Listener Acl Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-associateaclswithlistener).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n\u003e **NOTE:** You can associate at most three ACLs with a listener.\n\n\u003e **NOTE:** You can only configure either a whitelist or a blacklist for listener, not at the same time.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value + 3].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: defaultSwitch[0].zoneId,\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: defaultSwitch[1].zoneId,\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 80,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n});\nconst defaultAclEntryAttachment = new alicloud.alb.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"10.0.0.0/24\",\n description: name,\n});\nconst defaultListenerAclAttachment = new alicloud.alb.ListenerAclAttachment(\"default\", {\n aclId: defaultAcl.id,\n listenerId: defaultListener.id,\n aclType: \"White\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"] + 3].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default_switch[0].zone_id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default_switch[1].zone_id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=80,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id)\ndefault_acl_entry_attachment = alicloud.alb.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"10.0.0.0/24\",\n description=name)\ndefault_listener_acl_attachment = alicloud.alb.ListenerAclAttachment(\"default\",\n acl_id=default_acl.id,\n listener_id=default_listener.id,\n acl_type=\"White\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value + 3].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = defaultSwitch[0].ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = defaultSwitch[1].ZoneId,\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 80,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n var defaultAclEntryAttachment = new AliCloud.Alb.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"10.0.0.0/24\",\n Description = name,\n });\n\n var defaultListenerAclAttachment = new AliCloud.Alb.ListenerAclAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n ListenerId = defaultListener.Id,\n AclType = \"White\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0+3].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: defaultSwitch[0].ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: defaultSwitch[1].ZoneId,\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tdefaultAcl, err := alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAclEntryAttachment(ctx, \"default\", \u0026alb.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewListenerAclAttachment(ctx, \"default\", \u0026alb.ListenerAclAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tAclType: pulumi.String(\"White\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport com.pulumi.alicloud.alb.AclEntryAttachment;\nimport com.pulumi.alicloud.alb.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.alb.ListenerAclAttachment;\nimport com.pulumi.alicloud.alb.ListenerAclAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value() + 3].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(defaultSwitch[0].zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(defaultSwitch[1].zoneId())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(80)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"10.0.0.0/24\")\n .description(name)\n .build());\n\n var defaultListenerAclAttachment = new ListenerAclAttachment(\"defaultListenerAclAttachment\", ListenerAclAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .listenerId(defaultListener.id())\n .aclType(\"White\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nALB Listener Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listenerAclAttachment:ListenerAclAttachment example \u003clistener_id\u003e:\u003cacl_id\u003e\n```\n\n", + "description": "Provides a ALB Listener Acl Attachment resource. Associating ACL to listening.\n\nFor information about ALB Listener Acl Attachment and how to use it, see [What is Listener Acl Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-associateaclswithlistener).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n\u003e **NOTE:** You can associate at most three ACLs with a listener.\n\n\u003e **NOTE:** You can only configure either a whitelist or a blacklist for listener, not at the same time.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value + 3].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: defaultSwitch[0].zoneId,\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: defaultSwitch[1].zoneId,\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 80,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultAcl = new alicloud.alb.Acl(\"default\", {\n aclName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n});\nconst defaultAclEntryAttachment = new alicloud.alb.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"10.0.0.0/24\",\n description: name,\n});\nconst defaultListenerAclAttachment = new alicloud.alb.ListenerAclAttachment(\"default\", {\n aclId: defaultAcl.id,\n listenerId: defaultListener.id,\n aclType: \"White\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"] + 3].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default_switch[0].zone_id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default_switch[1].zone_id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=80,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_acl = alicloud.alb.Acl(\"default\",\n acl_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id)\ndefault_acl_entry_attachment = alicloud.alb.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"10.0.0.0/24\",\n description=name)\ndefault_listener_acl_attachment = alicloud.alb.ListenerAclAttachment(\"default\",\n acl_id=default_acl.id,\n listener_id=default_listener.id,\n acl_type=\"White\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value + 3].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = defaultSwitch[0].ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = defaultSwitch[1].ZoneId,\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 80,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultAcl = new AliCloud.Alb.Acl(\"default\", new()\n {\n AclName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n var defaultAclEntryAttachment = new AliCloud.Alb.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"10.0.0.0/24\",\n Description = name,\n });\n\n var defaultListenerAclAttachment = new AliCloud.Alb.ListenerAclAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n ListenerId = defaultListener.Id,\n AclType = \"White\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0+3].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: defaultSwitch[0].ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: defaultSwitch[1].ZoneId,\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tdefaultAcl, err := alb.NewAcl(ctx, \"default\", \u0026alb.AclArgs{\n\t\t\tAclName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewAclEntryAttachment(ctx, \"default\", \u0026alb.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewListenerAclAttachment(ctx, \"default\", \u0026alb.ListenerAclAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tAclType: pulumi.String(\"White\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.Acl;\nimport com.pulumi.alicloud.alb.AclArgs;\nimport com.pulumi.alicloud.alb.AclEntryAttachment;\nimport com.pulumi.alicloud.alb.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.alb.ListenerAclAttachment;\nimport com.pulumi.alicloud.alb.ListenerAclAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value() + 3].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(defaultSwitch[0].zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(defaultSwitch[1].zoneId())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(80)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"10.0.0.0/24\")\n .description(name)\n .build());\n\n var defaultListenerAclAttachment = new ListenerAclAttachment(\"defaultListenerAclAttachment\", ListenerAclAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .listenerId(defaultListener.id())\n .aclType(\"White\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nALB Listener Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listenerAclAttachment:ListenerAclAttachment example \u003clistener_id\u003e:\u003cacl_id\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -99881,7 +101708,7 @@ } }, "alicloud:alb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment": { - "description": "Provides a Application Load Balancer (ALB) Listener Additional Certificate Attachment resource.\n\nFor information about Application Load Balancer (ALB) Listener Additional Certificate Attachment and how to use it, see [What is Listener Additional Certificate Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-associateadditionalcertificateswithlistener).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultServiceCertificate: alicloud.cas.ServiceCertificate[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultServiceCertificate.push(new alicloud.cas.ServiceCertificate(`default-${range.value}`, {\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n cert: `-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`,\n }));\n}\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTPS\",\n listenerPort: 8081,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n certificates: {\n certificateId: std.joinOutput({\n separator: \"\",\n input: [\n defaultServiceCertificate[0].id,\n \"-cn-hangzhou\",\n ],\n }).apply(invoke =\u003e invoke.result),\n },\n});\nconst defaultListenerAdditionalCertificateAttachment = new alicloud.alb.ListenerAdditionalCertificateAttachment(\"default\", {\n certificateId: std.joinOutput({\n separator: \"\",\n input: [\n defaultServiceCertificate[1].id,\n \"-cn-hangzhou\",\n ],\n }).apply(invoke =\u003e invoke.result),\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_service_certificate = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_service_certificate.append(alicloud.cas.ServiceCertificate(f\"default-{range['value']}\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n range[\"value\"],\n ]).result,\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\"\"\"))\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTPS\",\n listener_port=8081,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }],\n certificates={\n \"certificate_id\": std.join_output(separator=\"\",\n input=[\n default_service_certificate[0].id,\n \"-cn-hangzhou\",\n ]).apply(lambda invoke: invoke.result),\n })\ndefault_listener_additional_certificate_attachment = alicloud.alb.ListenerAdditionalCertificateAttachment(\"default\",\n certificate_id=std.join_output(separator=\"\",\n input=[\n default_service_certificate[1].id,\n \"-cn-hangzhou\",\n ]).apply(lambda invoke: invoke.result),\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultServiceCertificate = new List\u003cAliCloud.Cas.ServiceCertificate\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultServiceCertificate.Add(new AliCloud.Cas.ServiceCertificate($\"default-{range.Value}\", new()\n {\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\",\n }));\n }\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTPS\",\n ListenerPort = 8081,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n Certificates = new AliCloud.Alb.Inputs.ListenerCertificatesArgs\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n defaultServiceCertificate[0].Id,\n \"-cn-hangzhou\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n var defaultListenerAdditionalCertificateAttachment = new AliCloud.Alb.ListenerAdditionalCertificateAttachment(\"default\", new()\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n \"-cn-hangzhou\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin2, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultServiceCertificate []*cas.ServiceCertificate\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cas.NewServiceCertificate(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cas.ServiceCertificateArgs{\n\t\t\t\tCertificateName: pulumi.String(invokeJoin2.Result),\n\t\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`),\n\t\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultServiceCertificate = append(defaultServiceCertificate, __res)\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tListenerPort: pulumi.Int(8081),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tCertificates: \u0026alb.ListenerCertificatesArgs{\n\t\t\t\tCertificateId: std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\tdefaultServiceCertificate[0].ID(),\n\t\t\t\t\t\tpulumi.String(\"-cn-hangzhou\"),\n\t\t\t\t\t},\n\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewListenerAdditionalCertificateAttachment(ctx, \"default\", \u0026alb.ListenerAdditionalCertificateAttachmentArgs{\n\t\t\tCertificateId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\tpulumi.String(\"-cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tListenerId: defaultListener.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerCertificatesArgs;\nimport com.pulumi.alicloud.alb.ListenerAdditionalCertificateAttachment;\nimport com.pulumi.alicloud.alb.ListenerAdditionalCertificateAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ServiceCertificate(\"defaultServiceCertificate-\" + i, ServiceCertificateArgs.builder()\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n range.value())\n .build()).result())\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n \n}\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTPS\")\n .listenerPort(8081)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .certificates(ListenerCertificatesArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n defaultServiceCertificate[0].id(),\n \"-cn-hangzhou\")\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .build())\n .build());\n\n var defaultListenerAdditionalCertificateAttachment = new ListenerAdditionalCertificateAttachment(\"defaultListenerAdditionalCertificateAttachment\", ListenerAdditionalCertificateAttachmentArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n defaultServiceCertificate[1].id(),\n \"-cn-hangzhou\")\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment example \u003clistener_id\u003e:\u003ccertificate_id\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Listener Additional Certificate Attachment resource.\n\nFor information about Application Load Balancer (ALB) Listener Additional Certificate Attachment and how to use it, see [What is Listener Additional Certificate Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-associateadditionalcertificateswithlistener).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultServiceCertificate: alicloud.cas.ServiceCertificate[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultServiceCertificate.push(new alicloud.cas.ServiceCertificate(`default-${range.value}`, {\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n cert: `-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`,\n }));\n}\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTPS\",\n listenerPort: 8081,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n certificates: {\n certificateId: std.joinOutput({\n separator: \"\",\n input: [\n defaultServiceCertificate[0].id,\n \"-cn-hangzhou\",\n ],\n }).apply(invoke =\u003e invoke.result),\n },\n});\nconst defaultListenerAdditionalCertificateAttachment = new alicloud.alb.ListenerAdditionalCertificateAttachment(\"default\", {\n certificateId: std.joinOutput({\n separator: \"\",\n input: [\n defaultServiceCertificate[1].id,\n \"-cn-hangzhou\",\n ],\n }).apply(invoke =\u003e invoke.result),\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_service_certificate = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_service_certificate.append(alicloud.cas.ServiceCertificate(f\"default-{range['value']}\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n range[\"value\"],\n ]).result,\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\"\"\"))\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTPS\",\n listener_port=8081,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }],\n certificates={\n \"certificate_id\": std.join_output(separator=\"\",\n input=[\n default_service_certificate[0].id,\n \"-cn-hangzhou\",\n ]).apply(lambda invoke: invoke.result),\n })\ndefault_listener_additional_certificate_attachment = alicloud.alb.ListenerAdditionalCertificateAttachment(\"default\",\n certificate_id=std.join_output(separator=\"\",\n input=[\n default_service_certificate[1].id,\n \"-cn-hangzhou\",\n ]).apply(lambda invoke: invoke.result),\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultServiceCertificate = new List\u003cAliCloud.Cas.ServiceCertificate\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultServiceCertificate.Add(new AliCloud.Cas.ServiceCertificate($\"default-{range.Value}\", new()\n {\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\",\n }));\n }\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTPS\",\n ListenerPort = 8081,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n Certificates = new AliCloud.Alb.Inputs.ListenerCertificatesArgs\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n defaultServiceCertificate[0].Id,\n \"-cn-hangzhou\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n },\n });\n\n var defaultListenerAdditionalCertificateAttachment = new AliCloud.Alb.ListenerAdditionalCertificateAttachment(\"default\", new()\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n \"-cn-hangzhou\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin2, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultServiceCertificate []*cas.ServiceCertificate\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cas.NewServiceCertificate(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cas.ServiceCertificateArgs{\n\t\t\t\tCertificateName: pulumi.String(invokeJoin2.Result),\n\t\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`),\n\t\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultServiceCertificate = append(defaultServiceCertificate, __res)\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tListenerPort: pulumi.Int(8081),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tCertificates: \u0026alb.ListenerCertificatesArgs{\n\t\t\t\tCertificateId: std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\tdefaultServiceCertificate[0].ID(),\n\t\t\t\t\t\tpulumi.String(\"-cn-hangzhou\"),\n\t\t\t\t\t},\n\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewListenerAdditionalCertificateAttachment(ctx, \"default\", \u0026alb.ListenerAdditionalCertificateAttachmentArgs{\n\t\t\tCertificateId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\tpulumi.String(\"-cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tListenerId: defaultListener.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerCertificatesArgs;\nimport com.pulumi.alicloud.alb.ListenerAdditionalCertificateAttachment;\nimport com.pulumi.alicloud.alb.ListenerAdditionalCertificateAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ServiceCertificate(\"defaultServiceCertificate-\" + i, ServiceCertificateArgs.builder()\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n range.value())\n .build()).result())\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n \n}\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTPS\")\n .listenerPort(8081)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .certificates(ListenerCertificatesArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n defaultServiceCertificate[0].id(),\n \"-cn-hangzhou\")\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .build())\n .build());\n\n var defaultListenerAdditionalCertificateAttachment = new ListenerAdditionalCertificateAttachment(\"defaultListenerAdditionalCertificateAttachment\", ListenerAdditionalCertificateAttachmentArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n defaultServiceCertificate[1].id(),\n \"-cn-hangzhou\")\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment example \u003clistener_id\u003e:\u003ccertificate_id\u003e\n```\n\n", "properties": { "certificateId": { "type": "string", @@ -99948,7 +101775,7 @@ } }, "alicloud:alb/loadBalancer:LoadBalancer": { - "description": "Provides a Application Load Balancer (ALB) Load Balancer resource.\n\nLoad Balancer Instance.\n\nFor information about Application Load Balancer (ALB) Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.alb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.1.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: `${name}_1`,\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.2.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n vswitchName: `${name}_2`,\n});\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n loadBalancerEdition: \"Basic\",\n addressType: \"Internet\",\n vpcId: defaultNetwork.id,\n addressAllocatedMode: \"Fixed\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n loadBalancerName: name,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n zoneMappings: [\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default2.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.alb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.1.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=f\"{name}_1\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.2.0/24\",\n zone_id=default_get_zones.zones[1].id,\n vswitch_name=f\"{name}_2\")\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n load_balancer_edition=\"Basic\",\n address_type=\"Internet\",\n vpc_id=default_network.id,\n address_allocated_mode=\"Fixed\",\n resource_group_id=default.groups[0].id,\n load_balancer_name=name,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n modification_protection_config={\n \"status\": \"NonProtection\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default2.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ],\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Alb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.1.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = $\"{name}_1\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.2.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n VswitchName = $\"{name}_2\",\n });\n\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n LoadBalancerEdition = \"Basic\",\n AddressType = \"Internet\",\n VpcId = defaultNetwork.Id,\n AddressAllocatedMode = \"Fixed\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n LoadBalancerName = name,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default2.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.2.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default2.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.1.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(String.format(\"%s_1\", name))\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.2.0/24\")\n .zoneId(defaultGetZones.zones()[1].id())\n .vswitchName(String.format(\"%s_2\", name))\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerEdition(\"Basic\")\n .addressType(\"Internet\")\n .vpcId(defaultNetwork.id())\n .addressAllocatedMode(\"Fixed\")\n .resourceGroupId(default_.groups()[0].id())\n .loadBalancerName(name)\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default2.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n default1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.1.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}_1\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.2.0/24\n zoneId: ${defaultGetZones.zones[1].id}\n vswitchName: ${name}_2\n defaultLoadBalancer:\n type: alicloud:alb:LoadBalancer\n name: default\n properties:\n loadBalancerEdition: Basic\n addressType: Internet\n vpcId: ${defaultNetwork.id}\n addressAllocatedMode: Fixed\n resourceGroupId: ${default.groups[0].id}\n loadBalancerName: ${name}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n modificationProtectionConfig:\n status: NonProtection\n zoneMappings:\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default2.id}\n zoneId: ${defaultGetZones.zones[1].id}\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:alb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Load Balancer resource.\n\nLoad Balancer Instance.\n\nFor information about Application Load Balancer (ALB) Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.alb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.1.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: `${name}_1`,\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.2.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n vswitchName: `${name}_2`,\n});\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n loadBalancerEdition: \"Basic\",\n addressType: \"Internet\",\n vpcId: defaultNetwork.id,\n addressAllocatedMode: \"Fixed\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n loadBalancerName: name,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n zoneMappings: [\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default2.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.alb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.1.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=f\"{name}_1\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.2.0/24\",\n zone_id=default_get_zones.zones[1].id,\n vswitch_name=f\"{name}_2\")\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n load_balancer_edition=\"Basic\",\n address_type=\"Internet\",\n vpc_id=default_network.id,\n address_allocated_mode=\"Fixed\",\n resource_group_id=default.groups[0].id,\n load_balancer_name=name,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n modification_protection_config={\n \"status\": \"NonProtection\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default2.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ],\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Alb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.1.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = $\"{name}_1\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.2.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n VswitchName = $\"{name}_2\",\n });\n\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n LoadBalancerEdition = \"Basic\",\n AddressType = \"Internet\",\n VpcId = defaultNetwork.Id,\n AddressAllocatedMode = \"Fixed\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n LoadBalancerName = name,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default2.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.2.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default2.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.1.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(String.format(\"%s_1\", name))\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.2.0/24\")\n .zoneId(defaultGetZones.zones()[1].id())\n .vswitchName(String.format(\"%s_2\", name))\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerEdition(\"Basic\")\n .addressType(\"Internet\")\n .vpcId(defaultNetwork.id())\n .addressAllocatedMode(\"Fixed\")\n .resourceGroupId(default_.groups()[0].id())\n .loadBalancerName(name)\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default2.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n default1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.1.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}_1\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.2.0/24\n zoneId: ${defaultGetZones.zones[1].id}\n vswitchName: ${name}_2\n defaultLoadBalancer:\n type: alicloud:alb:LoadBalancer\n name: default\n properties:\n loadBalancerEdition: Basic\n addressType: Internet\n vpcId: ${defaultNetwork.id}\n addressAllocatedMode: Fixed\n resourceGroupId: ${default.groups[0].id}\n loadBalancerName: ${name}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n modificationProtectionConfig:\n status: NonProtection\n zoneMappings:\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default2.id}\n zoneId: ${defaultGetZones.zones[1].id}\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:alb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", "properties": { "accessLogConfig": { "$ref": "#/types/alicloud:alb/LoadBalancerAccessLogConfig:LoadBalancerAccessLogConfig", @@ -100249,7 +102076,7 @@ } }, "alicloud:alb/loadBalancerAccessLogConfigAttachment:LoadBalancerAccessLogConfigAttachment": { - "description": "Provides a Application Load Balancer (ALB) Load Balancer Access Log Config Attachment resource.\n\nAttachment between ALB and AccessLog.\n\nFor information about Application Load Balancer (ALB) Load Balancer Access Log Config Attachment and how to use it, see [What is Load Balancer Access Log Config Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-enableloadbalanceraccesslog).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst albExampleTfVpc = new alicloud.vpc.Network(\"alb_example_tf_vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst albExampleTfJ = new alicloud.vpc.Switch(\"alb_example_tf_j\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst albExampleTfK = new alicloud.vpc.Switch(\"alb_example_tf_k\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDSY0JJ = new alicloud.vpc.Switch(\"defaultDSY0JJ\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-f\",\n cidrBlock: \"192.168.3.0/24\",\n vswitchName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDYswYo = new alicloud.alb.LoadBalancer(\"defaultDYswYo\", {\n loadBalancerName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n loadBalancerEdition: \"Standard\",\n vpcId: albExampleTfVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: defaultDSY0JJ.id,\n zoneId: defaultDSY0JJ.zoneId,\n },\n {\n vswitchId: albExampleTfJ.id,\n zoneId: albExampleTfJ.zoneId,\n },\n {\n vswitchId: albExampleTfK.id,\n zoneId: albExampleTfK.zoneId,\n },\n ],\n});\nconst defaultLoadBalancerAccessLogConfigAttachment = new alicloud.alb.LoadBalancerAccessLogConfigAttachment(\"default\", {\n logStore: `${name}-${_default.result}`,\n loadBalancerId: defaultDYswYo.id,\n logProject: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\nalb_example_tf_vpc = alicloud.vpc.Network(\"alb_example_tf_vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nalb_example_tf_j = alicloud.vpc.Switch(\"alb_example_tf_j\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\nalb_example_tf_k = alicloud.vpc.Switch(\"alb_example_tf_k\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_dsy0_jj = alicloud.vpc.Switch(\"defaultDSY0JJ\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-f\",\n cidr_block=\"192.168.3.0/24\",\n vswitch_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault_dysw_yo = alicloud.alb.LoadBalancer(\"defaultDYswYo\",\n load_balancer_name=std.format(input=\"%s4\",\n args=[name]).result,\n load_balancer_edition=\"Standard\",\n vpc_id=alb_example_tf_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": default_dsy0_jj.id,\n \"zone_id\": default_dsy0_jj.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_j.id,\n \"zone_id\": alb_example_tf_j.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_k.id,\n \"zone_id\": alb_example_tf_k.zone_id,\n },\n ])\ndefault_load_balancer_access_log_config_attachment = alicloud.alb.LoadBalancerAccessLogConfigAttachment(\"default\",\n log_store=f\"{name}-{default['result']}\",\n load_balancer_id=default_dysw_yo.id,\n log_project=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var albExampleTfVpc = new AliCloud.Vpc.Network(\"alb_example_tf_vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var albExampleTfJ = new AliCloud.Vpc.Switch(\"alb_example_tf_j\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var albExampleTfK = new AliCloud.Vpc.Switch(\"alb_example_tf_k\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDSY0JJ = new AliCloud.Vpc.Switch(\"defaultDSY0JJ\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-f\",\n CidrBlock = \"192.168.3.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDYswYo = new AliCloud.Alb.LoadBalancer(\"defaultDYswYo\", new()\n {\n LoadBalancerName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n LoadBalancerEdition = \"Standard\",\n VpcId = albExampleTfVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultDSY0JJ.Id,\n ZoneId = defaultDSY0JJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfJ.Id,\n ZoneId = albExampleTfJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfK.Id,\n ZoneId = albExampleTfK.ZoneId,\n },\n },\n });\n\n var defaultLoadBalancerAccessLogConfigAttachment = new AliCloud.Alb.LoadBalancerAccessLogConfigAttachment(\"default\", new()\n {\n LogStore = $\"{name}-{@default.Result}\",\n LoadBalancerId = defaultDYswYo.Id,\n LogProject = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfVpc, err := vpc.NewNetwork(ctx, \"alb_example_tf_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfJ, err := vpc.NewSwitch(ctx, \"alb_example_tf_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfK, err := vpc.NewSwitch(ctx, \"alb_example_tf_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDSY0JJ, err := vpc.NewSwitch(ctx, \"defaultDSY0JJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-f\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.3.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDYswYo, err := alb.NewLoadBalancer(ctx, \"defaultDYswYo\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(invokeFormat3.Result),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\t\t\tZoneId: defaultDSY0JJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfJ.ID(),\n\t\t\t\t\tZoneId: albExampleTfJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfK.ID(),\n\t\t\t\t\tZoneId: albExampleTfK.ZoneId,\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 = alb.NewLoadBalancerAccessLogConfigAttachment(ctx, \"default\", \u0026alb.LoadBalancerAccessLogConfigAttachmentArgs{\n\t\t\tLogStore: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tLoadBalancerId: defaultDYswYo.ID(),\n\t\t\tLogProject: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerAccessLogConfigAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerAccessLogConfigAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var albExampleTfVpc = new Network(\"albExampleTfVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var albExampleTfJ = new Switch(\"albExampleTfJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var albExampleTfK = new Switch(\"albExampleTfK\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDSY0JJ = new Switch(\"defaultDSY0JJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-f\")\n .cidrBlock(\"192.168.3.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDYswYo = new LoadBalancer(\"defaultDYswYo\", LoadBalancerArgs.builder()\n .loadBalancerName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .loadBalancerEdition(\"Standard\")\n .vpcId(albExampleTfVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultDSY0JJ.id())\n .zoneId(defaultDSY0JJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfJ.id())\n .zoneId(albExampleTfJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfK.id())\n .zoneId(albExampleTfK.zoneId())\n .build())\n .build());\n\n var defaultLoadBalancerAccessLogConfigAttachment = new LoadBalancerAccessLogConfigAttachment(\"defaultLoadBalancerAccessLogConfigAttachment\", LoadBalancerAccessLogConfigAttachmentArgs.builder()\n .logStore(String.format(\"%s-%s\", name,default_.result()))\n .loadBalancerId(defaultDYswYo.id())\n .logProject(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n albExampleTfVpc:\n type: alicloud:vpc:Network\n name: alb_example_tf_vpc\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n albExampleTfJ:\n type: alicloud:vpc:Switch\n name: alb_example_tf_j\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-j\n cidrBlock: 192.168.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n albExampleTfK:\n type: alicloud:vpc:Switch\n name: alb_example_tf_k\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 192.168.2.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultDSY0JJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-f\n cidrBlock: 192.168.3.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n defaultDYswYo:\n type: alicloud:alb:LoadBalancer\n properties:\n loadBalancerName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n loadBalancerEdition: Standard\n vpcId: ${albExampleTfVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${defaultDSY0JJ.id}\n zoneId: ${defaultDSY0JJ.zoneId}\n - vswitchId: ${albExampleTfJ.id}\n zoneId: ${albExampleTfJ.zoneId}\n - vswitchId: ${albExampleTfK.id}\n zoneId: ${albExampleTfK.zoneId}\n defaultLoadBalancerAccessLogConfigAttachment:\n type: alicloud:alb:LoadBalancerAccessLogConfigAttachment\n name: default\n properties:\n logStore: ${name}-${default.result}\n loadBalancerId: ${defaultDYswYo.id}\n logProject: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerAccessLogConfigAttachment:LoadBalancerAccessLogConfigAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Load Balancer Access Log Config Attachment resource.\n\nAttachment between ALB and AccessLog.\n\nFor information about Application Load Balancer (ALB) Load Balancer Access Log Config Attachment and how to use it, see [What is Load Balancer Access Log Config Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-enableloadbalanceraccesslog).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst albExampleTfVpc = new alicloud.vpc.Network(\"alb_example_tf_vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst albExampleTfJ = new alicloud.vpc.Switch(\"alb_example_tf_j\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst albExampleTfK = new alicloud.vpc.Switch(\"alb_example_tf_k\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDSY0JJ = new alicloud.vpc.Switch(\"defaultDSY0JJ\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-f\",\n cidrBlock: \"192.168.3.0/24\",\n vswitchName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDYswYo = new alicloud.alb.LoadBalancer(\"defaultDYswYo\", {\n loadBalancerName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n loadBalancerEdition: \"Standard\",\n vpcId: albExampleTfVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: defaultDSY0JJ.id,\n zoneId: defaultDSY0JJ.zoneId,\n },\n {\n vswitchId: albExampleTfJ.id,\n zoneId: albExampleTfJ.zoneId,\n },\n {\n vswitchId: albExampleTfK.id,\n zoneId: albExampleTfK.zoneId,\n },\n ],\n});\nconst defaultLoadBalancerAccessLogConfigAttachment = new alicloud.alb.LoadBalancerAccessLogConfigAttachment(\"default\", {\n logStore: `${name}-${_default.result}`,\n loadBalancerId: defaultDYswYo.id,\n logProject: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\nalb_example_tf_vpc = alicloud.vpc.Network(\"alb_example_tf_vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nalb_example_tf_j = alicloud.vpc.Switch(\"alb_example_tf_j\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\nalb_example_tf_k = alicloud.vpc.Switch(\"alb_example_tf_k\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_dsy0_jj = alicloud.vpc.Switch(\"defaultDSY0JJ\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-f\",\n cidr_block=\"192.168.3.0/24\",\n vswitch_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault_dysw_yo = alicloud.alb.LoadBalancer(\"defaultDYswYo\",\n load_balancer_name=std.format(input=\"%s4\",\n args=[name]).result,\n load_balancer_edition=\"Standard\",\n vpc_id=alb_example_tf_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": default_dsy0_jj.id,\n \"zone_id\": default_dsy0_jj.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_j.id,\n \"zone_id\": alb_example_tf_j.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_k.id,\n \"zone_id\": alb_example_tf_k.zone_id,\n },\n ])\ndefault_load_balancer_access_log_config_attachment = alicloud.alb.LoadBalancerAccessLogConfigAttachment(\"default\",\n log_store=f\"{name}-{default['result']}\",\n load_balancer_id=default_dysw_yo.id,\n log_project=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var albExampleTfVpc = new AliCloud.Vpc.Network(\"alb_example_tf_vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var albExampleTfJ = new AliCloud.Vpc.Switch(\"alb_example_tf_j\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var albExampleTfK = new AliCloud.Vpc.Switch(\"alb_example_tf_k\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDSY0JJ = new AliCloud.Vpc.Switch(\"defaultDSY0JJ\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-f\",\n CidrBlock = \"192.168.3.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDYswYo = new AliCloud.Alb.LoadBalancer(\"defaultDYswYo\", new()\n {\n LoadBalancerName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n LoadBalancerEdition = \"Standard\",\n VpcId = albExampleTfVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultDSY0JJ.Id,\n ZoneId = defaultDSY0JJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfJ.Id,\n ZoneId = albExampleTfJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfK.Id,\n ZoneId = albExampleTfK.ZoneId,\n },\n },\n });\n\n var defaultLoadBalancerAccessLogConfigAttachment = new AliCloud.Alb.LoadBalancerAccessLogConfigAttachment(\"default\", new()\n {\n LogStore = $\"{name}-{@default.Result}\",\n LoadBalancerId = defaultDYswYo.Id,\n LogProject = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfVpc, err := vpc.NewNetwork(ctx, \"alb_example_tf_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfJ, err := vpc.NewSwitch(ctx, \"alb_example_tf_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfK, err := vpc.NewSwitch(ctx, \"alb_example_tf_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDSY0JJ, err := vpc.NewSwitch(ctx, \"defaultDSY0JJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-f\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.3.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDYswYo, err := alb.NewLoadBalancer(ctx, \"defaultDYswYo\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(invokeFormat3.Result),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\t\t\tZoneId: defaultDSY0JJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfJ.ID(),\n\t\t\t\t\tZoneId: albExampleTfJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfK.ID(),\n\t\t\t\t\tZoneId: albExampleTfK.ZoneId,\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 = alb.NewLoadBalancerAccessLogConfigAttachment(ctx, \"default\", \u0026alb.LoadBalancerAccessLogConfigAttachmentArgs{\n\t\t\tLogStore: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tLoadBalancerId: defaultDYswYo.ID(),\n\t\t\tLogProject: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerAccessLogConfigAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerAccessLogConfigAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var albExampleTfVpc = new Network(\"albExampleTfVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var albExampleTfJ = new Switch(\"albExampleTfJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var albExampleTfK = new Switch(\"albExampleTfK\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDSY0JJ = new Switch(\"defaultDSY0JJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-f\")\n .cidrBlock(\"192.168.3.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDYswYo = new LoadBalancer(\"defaultDYswYo\", LoadBalancerArgs.builder()\n .loadBalancerName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .loadBalancerEdition(\"Standard\")\n .vpcId(albExampleTfVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultDSY0JJ.id())\n .zoneId(defaultDSY0JJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfJ.id())\n .zoneId(albExampleTfJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfK.id())\n .zoneId(albExampleTfK.zoneId())\n .build())\n .build());\n\n var defaultLoadBalancerAccessLogConfigAttachment = new LoadBalancerAccessLogConfigAttachment(\"defaultLoadBalancerAccessLogConfigAttachment\", LoadBalancerAccessLogConfigAttachmentArgs.builder()\n .logStore(String.format(\"%s-%s\", name,default_.result()))\n .loadBalancerId(defaultDYswYo.id())\n .logProject(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n albExampleTfVpc:\n type: alicloud:vpc:Network\n name: alb_example_tf_vpc\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n albExampleTfJ:\n type: alicloud:vpc:Switch\n name: alb_example_tf_j\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-j\n cidrBlock: 192.168.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n albExampleTfK:\n type: alicloud:vpc:Switch\n name: alb_example_tf_k\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 192.168.2.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultDSY0JJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-f\n cidrBlock: 192.168.3.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n defaultDYswYo:\n type: alicloud:alb:LoadBalancer\n properties:\n loadBalancerName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n loadBalancerEdition: Standard\n vpcId: ${albExampleTfVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${defaultDSY0JJ.id}\n zoneId: ${defaultDSY0JJ.zoneId}\n - vswitchId: ${albExampleTfJ.id}\n zoneId: ${albExampleTfJ.zoneId}\n - vswitchId: ${albExampleTfK.id}\n zoneId: ${albExampleTfK.zoneId}\n defaultLoadBalancerAccessLogConfigAttachment:\n type: alicloud:alb:LoadBalancerAccessLogConfigAttachment\n name: default\n properties:\n logStore: ${name}-${default.result}\n loadBalancerId: ${defaultDYswYo.id}\n logProject: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerAccessLogConfigAttachment:LoadBalancerAccessLogConfigAttachment example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -100323,7 +102150,7 @@ } }, "alicloud:alb/loadBalancerCommonBandwidthPackageAttachment:LoadBalancerCommonBandwidthPackageAttachment": { - "description": "Provides a Alb Load Balancer Common Bandwidth Package Attachment resource.\n\nFor information about Alb Load Balancer Common Bandwidth Package Attachment and how to use it, see [What is Load Balancer Common Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-attachcommonbandwidthpackagetoloadbalancer).\n\n\u003e **NOTE:** Available since v1.200.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Basic\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n});\nconst defaultCommonBandwithPackage = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByBandwidth\",\n});\nconst defaultLoadBalancerCommonBandwidthPackageAttachment = new alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\", {\n bandwidthPackageId: defaultCommonBandwithPackage.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Basic\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ],\n modification_protection_config={\n \"status\": \"NonProtection\",\n })\ndefault_common_bandwith_package = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByBandwidth\")\ndefault_load_balancer_common_bandwidth_package_attachment = alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\",\n bandwidth_package_id=default_common_bandwith_package.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Basic\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n });\n\n var defaultCommonBandwithPackage = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n var defaultLoadBalancerCommonBandwidthPackageAttachment = new AliCloud.Alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = defaultCommonBandwithPackage.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewLoadBalancerCommonBandwidthPackageAttachment(ctx, \"default\", \u0026alb.LoadBalancerCommonBandwidthPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: defaultCommonBandwithPackage.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerCommonBandwidthPackageAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Basic\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .build());\n\n var defaultCommonBandwithPackage = new CommonBandwithPackage(\"defaultCommonBandwithPackage\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n var defaultLoadBalancerCommonBandwidthPackageAttachment = new LoadBalancerCommonBandwidthPackageAttachment(\"defaultLoadBalancerCommonBandwidthPackageAttachment\", LoadBalancerCommonBandwidthPackageAttachmentArgs.builder()\n .bandwidthPackageId(defaultCommonBandwithPackage.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerCommonBandwidthPackageAttachment:LoadBalancerCommonBandwidthPackageAttachment example \u003cload_balancer_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", + "description": "Provides a Alb Load Balancer Common Bandwidth Package Attachment resource.\n\nFor information about Alb Load Balancer Common Bandwidth Package Attachment and how to use it, see [What is Load Balancer Common Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-attachcommonbandwidthpackagetoloadbalancer).\n\n\u003e **NOTE:** Available since v1.200.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Basic\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n modificationProtectionConfig: {\n status: \"NonProtection\",\n },\n});\nconst defaultCommonBandwithPackage = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByBandwidth\",\n});\nconst defaultLoadBalancerCommonBandwidthPackageAttachment = new alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\", {\n bandwidthPackageId: defaultCommonBandwithPackage.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Basic\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ],\n modification_protection_config={\n \"status\": \"NonProtection\",\n })\ndefault_common_bandwith_package = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByBandwidth\")\ndefault_load_balancer_common_bandwidth_package_attachment = alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\",\n bandwidth_package_id=default_common_bandwith_package.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Basic\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n ModificationProtectionConfig = new AliCloud.Alb.Inputs.LoadBalancerModificationProtectionConfigArgs\n {\n Status = \"NonProtection\",\n },\n });\n\n var defaultCommonBandwithPackage = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n var defaultLoadBalancerCommonBandwidthPackageAttachment = new AliCloud.Alb.LoadBalancerCommonBandwidthPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = defaultCommonBandwithPackage.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Basic\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tModificationProtectionConfig: \u0026alb.LoadBalancerModificationProtectionConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"NonProtection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewLoadBalancerCommonBandwidthPackageAttachment(ctx, \"default\", \u0026alb.LoadBalancerCommonBandwidthPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: defaultCommonBandwithPackage.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerModificationProtectionConfigArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerCommonBandwidthPackageAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerCommonBandwidthPackageAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Basic\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .modificationProtectionConfig(LoadBalancerModificationProtectionConfigArgs.builder()\n .status(\"NonProtection\")\n .build())\n .build());\n\n var defaultCommonBandwithPackage = new CommonBandwithPackage(\"defaultCommonBandwithPackage\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n var defaultLoadBalancerCommonBandwidthPackageAttachment = new LoadBalancerCommonBandwidthPackageAttachment(\"defaultLoadBalancerCommonBandwidthPackageAttachment\", LoadBalancerCommonBandwidthPackageAttachmentArgs.builder()\n .bandwidthPackageId(defaultCommonBandwithPackage.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerCommonBandwidthPackageAttachment:LoadBalancerCommonBandwidthPackageAttachment example \u003cload_balancer_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", "properties": { "bandwidthPackageId": { "type": "string", @@ -100393,7 +102220,7 @@ } }, "alicloud:alb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment": { - "description": "Provides a Application Load Balancer (ALB) Load Balancer Security Group Attachment resource.\n\nAttachment between Application Load Balancer and Security Group.\n\nFor information about Application Load Balancer (ALB) Load Balancer Security Group Attachment and how to use it, see [What is Load Balancer Security Group Attachment](https://next.api.alibabacloud.com/document/Alb/2020-06-16/LoadBalancerJoinSecurityGroup).\n\n\u003e **NOTE:** Available since v1.226.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst createVsw1 = new alicloud.vpc.Switch(\"create_vsw_1\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: name,\n});\nconst createVsw2 = new alicloud.vpc.Switch(\"create_vsw_2\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n name: name,\n vpcId: createVpc.id,\n});\nconst createAlb = new alicloud.alb.LoadBalancer(\"create_alb\", {\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n vpcId: createVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: createVsw2.id,\n zoneId: createVsw2.zoneId,\n },\n {\n vswitchId: createVsw1.id,\n zoneId: createVsw1.zoneId,\n },\n ],\n});\nconst defaultLoadBalancerSecurityGroupAttachment = new alicloud.alb.LoadBalancerSecurityGroupAttachment(\"default\", {\n securityGroupId: createSecurityGroup.id,\n loadBalancerId: createAlb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\ncreate_vsw1 = alicloud.vpc.Switch(\"create_vsw_1\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=name)\ncreate_vsw2 = alicloud.vpc.Switch(\"create_vsw_2\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[1].id,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name)\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n name=name,\n vpc_id=create_vpc.id)\ncreate_alb = alicloud.alb.LoadBalancer(\"create_alb\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n vpc_id=create_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": create_vsw2.id,\n \"zone_id\": create_vsw2.zone_id,\n },\n {\n \"vswitch_id\": create_vsw1.id,\n \"zone_id\": create_vsw1.zone_id,\n },\n ])\ndefault_load_balancer_security_group_attachment = alicloud.alb.LoadBalancerSecurityGroupAttachment(\"default\",\n security_group_id=create_security_group.id,\n load_balancer_id=create_alb.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var createVsw1 = new AliCloud.Vpc.Switch(\"create_vsw_1\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = name,\n });\n\n var createVsw2 = new AliCloud.Vpc.Switch(\"create_vsw_2\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Name = name,\n VpcId = createVpc.Id,\n });\n\n var createAlb = new AliCloud.Alb.LoadBalancer(\"create_alb\", new()\n {\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n VpcId = createVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVsw2.Id,\n ZoneId = createVsw2.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVsw1.Id,\n ZoneId = createVsw1.ZoneId,\n },\n },\n });\n\n var defaultLoadBalancerSecurityGroupAttachment = new AliCloud.Alb.LoadBalancerSecurityGroupAttachment(\"default\", new()\n {\n SecurityGroupId = createSecurityGroup.Id,\n LoadBalancerId = createAlb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVsw1, err := vpc.NewSwitch(ctx, \"create_vsw_1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVsw2, err := vpc.NewSwitch(ctx, \"create_vsw_2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateAlb, err := alb.NewLoadBalancer(ctx, \"create_alb\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVsw2.ID(),\n\t\t\t\t\tZoneId: createVsw2.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVsw1.ID(),\n\t\t\t\t\tZoneId: createVsw1.ZoneId,\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 = alb.NewLoadBalancerSecurityGroupAttachment(ctx, \"default\", \u0026alb.LoadBalancerSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\tLoadBalancerId: createAlb.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerSecurityGroupAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var createVsw1 = new Switch(\"createVsw1\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(name)\n .build());\n\n var createVsw2 = new Switch(\"createVsw2\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[1].id())\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(createVpc.id())\n .build());\n\n var createAlb = new LoadBalancer(\"createAlb\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .vpcId(createVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVsw2.id())\n .zoneId(createVsw2.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVsw1.id())\n .zoneId(createVsw1.zoneId())\n .build())\n .build());\n\n var defaultLoadBalancerSecurityGroupAttachment = new LoadBalancerSecurityGroupAttachment(\"defaultLoadBalancerSecurityGroupAttachment\", LoadBalancerSecurityGroupAttachmentArgs.builder()\n .securityGroupId(createSecurityGroup.id())\n .loadBalancerId(createAlb.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n createVsw1:\n type: alicloud:vpc:Switch\n name: create_vsw_1\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.1.0/24\n vswitchName: ${name}\n createVsw2:\n type: alicloud:vpc:Switch\n name: create_vsw_2\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[1].id}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n name: ${name}\n vpcId: ${createVpc.id}\n createAlb:\n type: alicloud:alb:LoadBalancer\n name: create_alb\n properties:\n loadBalancerName: ${name}\n loadBalancerEdition: Standard\n vpcId: ${createVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${createVsw2.id}\n zoneId: ${createVsw2.zoneId}\n - vswitchId: ${createVsw1.id}\n zoneId: ${createVsw1.zoneId}\n defaultLoadBalancerSecurityGroupAttachment:\n type: alicloud:alb:LoadBalancerSecurityGroupAttachment\n name: default\n properties:\n securityGroupId: ${createSecurityGroup.id}\n loadBalancerId: ${createAlb.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example \u003cload_balancer_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Load Balancer Security Group Attachment resource.\n\nAttachment between Application Load Balancer and Security Group.\n\nFor information about Application Load Balancer (ALB) Load Balancer Security Group Attachment and how to use it, see [What is Load Balancer Security Group Attachment](https://next.api.alibabacloud.com/document/Alb/2020-06-16/LoadBalancerJoinSecurityGroup).\n\n\u003e **NOTE:** Available since v1.226.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst createVsw1 = new alicloud.vpc.Switch(\"create_vsw_1\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: name,\n});\nconst createVsw2 = new alicloud.vpc.Switch(\"create_vsw_2\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n name: name,\n vpcId: createVpc.id,\n});\nconst createAlb = new alicloud.alb.LoadBalancer(\"create_alb\", {\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n vpcId: createVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: createVsw2.id,\n zoneId: createVsw2.zoneId,\n },\n {\n vswitchId: createVsw1.id,\n zoneId: createVsw1.zoneId,\n },\n ],\n});\nconst defaultLoadBalancerSecurityGroupAttachment = new alicloud.alb.LoadBalancerSecurityGroupAttachment(\"default\", {\n securityGroupId: createSecurityGroup.id,\n loadBalancerId: createAlb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\ncreate_vsw1 = alicloud.vpc.Switch(\"create_vsw_1\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=name)\ncreate_vsw2 = alicloud.vpc.Switch(\"create_vsw_2\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[1].id,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name)\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n name=name,\n vpc_id=create_vpc.id)\ncreate_alb = alicloud.alb.LoadBalancer(\"create_alb\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n vpc_id=create_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": create_vsw2.id,\n \"zone_id\": create_vsw2.zone_id,\n },\n {\n \"vswitch_id\": create_vsw1.id,\n \"zone_id\": create_vsw1.zone_id,\n },\n ])\ndefault_load_balancer_security_group_attachment = alicloud.alb.LoadBalancerSecurityGroupAttachment(\"default\",\n security_group_id=create_security_group.id,\n load_balancer_id=create_alb.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var createVsw1 = new AliCloud.Vpc.Switch(\"create_vsw_1\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = name,\n });\n\n var createVsw2 = new AliCloud.Vpc.Switch(\"create_vsw_2\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Name = name,\n VpcId = createVpc.Id,\n });\n\n var createAlb = new AliCloud.Alb.LoadBalancer(\"create_alb\", new()\n {\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n VpcId = createVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVsw2.Id,\n ZoneId = createVsw2.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVsw1.Id,\n ZoneId = createVsw1.ZoneId,\n },\n },\n });\n\n var defaultLoadBalancerSecurityGroupAttachment = new AliCloud.Alb.LoadBalancerSecurityGroupAttachment(\"default\", new()\n {\n SecurityGroupId = createSecurityGroup.Id,\n LoadBalancerId = createAlb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVsw1, err := vpc.NewSwitch(ctx, \"create_vsw_1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVsw2, err := vpc.NewSwitch(ctx, \"create_vsw_2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateAlb, err := alb.NewLoadBalancer(ctx, \"create_alb\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVsw2.ID(),\n\t\t\t\t\tZoneId: createVsw2.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVsw1.ID(),\n\t\t\t\t\tZoneId: createVsw1.ZoneId,\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 = alb.NewLoadBalancerSecurityGroupAttachment(ctx, \"default\", \u0026alb.LoadBalancerSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\tLoadBalancerId: createAlb.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerSecurityGroupAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var createVsw1 = new Switch(\"createVsw1\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(name)\n .build());\n\n var createVsw2 = new Switch(\"createVsw2\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[1].id())\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(createVpc.id())\n .build());\n\n var createAlb = new LoadBalancer(\"createAlb\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .vpcId(createVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVsw2.id())\n .zoneId(createVsw2.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVsw1.id())\n .zoneId(createVsw1.zoneId())\n .build())\n .build());\n\n var defaultLoadBalancerSecurityGroupAttachment = new LoadBalancerSecurityGroupAttachment(\"defaultLoadBalancerSecurityGroupAttachment\", LoadBalancerSecurityGroupAttachmentArgs.builder()\n .securityGroupId(createSecurityGroup.id())\n .loadBalancerId(createAlb.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n createVsw1:\n type: alicloud:vpc:Switch\n name: create_vsw_1\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.1.0/24\n vswitchName: ${name}\n createVsw2:\n type: alicloud:vpc:Switch\n name: create_vsw_2\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[1].id}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n name: ${name}\n vpcId: ${createVpc.id}\n createAlb:\n type: alicloud:alb:LoadBalancer\n name: create_alb\n properties:\n loadBalancerName: ${name}\n loadBalancerEdition: Standard\n vpcId: ${createVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${createVsw2.id}\n zoneId: ${createVsw2.zoneId}\n - vswitchId: ${createVsw1.id}\n zoneId: ${createVsw1.zoneId}\n defaultLoadBalancerSecurityGroupAttachment:\n type: alicloud:alb:LoadBalancerSecurityGroupAttachment\n name: default\n properties:\n securityGroupId: ${createSecurityGroup.id}\n loadBalancerId: ${createAlb.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example \u003cload_balancer_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -100453,7 +102280,7 @@ } }, "alicloud:alb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment": { - "description": "Provides a Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment resource.\n\nApplication load balancer start-stop zone.\n\nFor information about Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment and how to use it, see [What is Load Balancer Zone Shifted Attachment](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst albExampleTfVpc = new alicloud.vpc.Network(\"alb_example_tf_vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst albExampleTfJ = new alicloud.vpc.Switch(\"alb_example_tf_j\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst albExampleTfK = new alicloud.vpc.Switch(\"alb_example_tf_k\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDSY0JJ = new alicloud.vpc.Switch(\"defaultDSY0JJ\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-f\",\n cidrBlock: \"192.168.3.0/24\",\n vswitchName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst default78TIYG = new alicloud.alb.LoadBalancer(\"default78TIYG\", {\n loadBalancerEdition: \"Standard\",\n vpcId: albExampleTfVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: albExampleTfJ.id,\n zoneId: albExampleTfJ.zoneId,\n },\n {\n vswitchId: albExampleTfK.id,\n zoneId: albExampleTfK.zoneId,\n },\n {\n vswitchId: defaultDSY0JJ.id,\n zoneId: defaultDSY0JJ.zoneId,\n },\n ],\n});\nconst _default = new alicloud.alb.LoadBalancerZoneShiftedAttachment(\"default\", {\n zoneId: defaultDSY0JJ.zoneId,\n vswitchId: defaultDSY0JJ.id,\n loadBalancerId: default78TIYG.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalb_example_tf_vpc = alicloud.vpc.Network(\"alb_example_tf_vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nalb_example_tf_j = alicloud.vpc.Switch(\"alb_example_tf_j\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\nalb_example_tf_k = alicloud.vpc.Switch(\"alb_example_tf_k\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_dsy0_jj = alicloud.vpc.Switch(\"defaultDSY0JJ\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-f\",\n cidr_block=\"192.168.3.0/24\",\n vswitch_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault78_tiyg = alicloud.alb.LoadBalancer(\"default78TIYG\",\n load_balancer_edition=\"Standard\",\n vpc_id=alb_example_tf_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": alb_example_tf_j.id,\n \"zone_id\": alb_example_tf_j.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_k.id,\n \"zone_id\": alb_example_tf_k.zone_id,\n },\n {\n \"vswitch_id\": default_dsy0_jj.id,\n \"zone_id\": default_dsy0_jj.zone_id,\n },\n ])\ndefault = alicloud.alb.LoadBalancerZoneShiftedAttachment(\"default\",\n zone_id=default_dsy0_jj.zone_id,\n vswitch_id=default_dsy0_jj.id,\n load_balancer_id=default78_tiyg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var albExampleTfVpc = new AliCloud.Vpc.Network(\"alb_example_tf_vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var albExampleTfJ = new AliCloud.Vpc.Switch(\"alb_example_tf_j\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var albExampleTfK = new AliCloud.Vpc.Switch(\"alb_example_tf_k\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDSY0JJ = new AliCloud.Vpc.Switch(\"defaultDSY0JJ\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-f\",\n CidrBlock = \"192.168.3.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var default78TIYG = new AliCloud.Alb.LoadBalancer(\"default78TIYG\", new()\n {\n LoadBalancerEdition = \"Standard\",\n VpcId = albExampleTfVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfJ.Id,\n ZoneId = albExampleTfJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfK.Id,\n ZoneId = albExampleTfK.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultDSY0JJ.Id,\n ZoneId = defaultDSY0JJ.ZoneId,\n },\n },\n });\n\n var @default = new AliCloud.Alb.LoadBalancerZoneShiftedAttachment(\"default\", new()\n {\n ZoneId = defaultDSY0JJ.ZoneId,\n VswitchId = defaultDSY0JJ.Id,\n LoadBalancerId = default78TIYG.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talbExampleTfVpc, err := vpc.NewNetwork(ctx, \"alb_example_tf_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfJ, err := vpc.NewSwitch(ctx, \"alb_example_tf_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfK, err := vpc.NewSwitch(ctx, \"alb_example_tf_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDSY0JJ, err := vpc.NewSwitch(ctx, \"defaultDSY0JJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-f\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.3.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault78TIYG, err := alb.NewLoadBalancer(ctx, \"default78TIYG\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfJ.ID(),\n\t\t\t\t\tZoneId: albExampleTfJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfK.ID(),\n\t\t\t\t\tZoneId: albExampleTfK.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\t\t\tZoneId: defaultDSY0JJ.ZoneId,\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 = alb.NewLoadBalancerZoneShiftedAttachment(ctx, \"default\", \u0026alb.LoadBalancerZoneShiftedAttachmentArgs{\n\t\t\tZoneId: defaultDSY0JJ.ZoneId,\n\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\tLoadBalancerId: default78TIYG.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerZoneShiftedAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerZoneShiftedAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var albExampleTfVpc = new Network(\"albExampleTfVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var albExampleTfJ = new Switch(\"albExampleTfJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var albExampleTfK = new Switch(\"albExampleTfK\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDSY0JJ = new Switch(\"defaultDSY0JJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-f\")\n .cidrBlock(\"192.168.3.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var default78TIYG = new LoadBalancer(\"default78TIYG\", LoadBalancerArgs.builder()\n .loadBalancerEdition(\"Standard\")\n .vpcId(albExampleTfVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfJ.id())\n .zoneId(albExampleTfJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfK.id())\n .zoneId(albExampleTfK.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultDSY0JJ.id())\n .zoneId(defaultDSY0JJ.zoneId())\n .build())\n .build());\n\n var default_ = new LoadBalancerZoneShiftedAttachment(\"default\", LoadBalancerZoneShiftedAttachmentArgs.builder()\n .zoneId(defaultDSY0JJ.zoneId())\n .vswitchId(defaultDSY0JJ.id())\n .loadBalancerId(default78TIYG.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n albExampleTfVpc:\n type: alicloud:vpc:Network\n name: alb_example_tf_vpc\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n albExampleTfJ:\n type: alicloud:vpc:Switch\n name: alb_example_tf_j\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-j\n cidrBlock: 192.168.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n albExampleTfK:\n type: alicloud:vpc:Switch\n name: alb_example_tf_k\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 192.168.2.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultDSY0JJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-f\n cidrBlock: 192.168.3.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n default78TIYG:\n type: alicloud:alb:LoadBalancer\n properties:\n loadBalancerEdition: Standard\n vpcId: ${albExampleTfVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${albExampleTfJ.id}\n zoneId: ${albExampleTfJ.zoneId}\n - vswitchId: ${albExampleTfK.id}\n zoneId: ${albExampleTfK.zoneId}\n - vswitchId: ${defaultDSY0JJ.id}\n zoneId: ${defaultDSY0JJ.zoneId}\n default:\n type: alicloud:alb:LoadBalancerZoneShiftedAttachment\n properties:\n zoneId: ${defaultDSY0JJ.zoneId}\n vswitchId: ${defaultDSY0JJ.id}\n loadBalancerId: ${default78TIYG.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment example \u003cload_balancer_id\u003e:\u003cvswitch_id\u003e:\u003czone_id\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment resource.\n\nApplication load balancer start-stop zone.\n\nFor information about Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment and how to use it, see [What is Load Balancer Zone Shifted Attachment](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst albExampleTfVpc = new alicloud.vpc.Network(\"alb_example_tf_vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst albExampleTfJ = new alicloud.vpc.Switch(\"alb_example_tf_j\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"192.168.1.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst albExampleTfK = new alicloud.vpc.Switch(\"alb_example_tf_k\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultDSY0JJ = new alicloud.vpc.Switch(\"defaultDSY0JJ\", {\n vpcId: albExampleTfVpc.id,\n zoneId: \"cn-beijing-f\",\n cidrBlock: \"192.168.3.0/24\",\n vswitchName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst default78TIYG = new alicloud.alb.LoadBalancer(\"default78TIYG\", {\n loadBalancerEdition: \"Standard\",\n vpcId: albExampleTfVpc.id,\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n addressType: \"Intranet\",\n addressAllocatedMode: \"Fixed\",\n zoneMappings: [\n {\n vswitchId: albExampleTfJ.id,\n zoneId: albExampleTfJ.zoneId,\n },\n {\n vswitchId: albExampleTfK.id,\n zoneId: albExampleTfK.zoneId,\n },\n {\n vswitchId: defaultDSY0JJ.id,\n zoneId: defaultDSY0JJ.zoneId,\n },\n ],\n});\nconst _default = new alicloud.alb.LoadBalancerZoneShiftedAttachment(\"default\", {\n zoneId: defaultDSY0JJ.zoneId,\n vswitchId: defaultDSY0JJ.id,\n loadBalancerId: default78TIYG.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalb_example_tf_vpc = alicloud.vpc.Network(\"alb_example_tf_vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nalb_example_tf_j = alicloud.vpc.Switch(\"alb_example_tf_j\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"192.168.1.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\nalb_example_tf_k = alicloud.vpc.Switch(\"alb_example_tf_k\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_dsy0_jj = alicloud.vpc.Switch(\"defaultDSY0JJ\",\n vpc_id=alb_example_tf_vpc.id,\n zone_id=\"cn-beijing-f\",\n cidr_block=\"192.168.3.0/24\",\n vswitch_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault78_tiyg = alicloud.alb.LoadBalancer(\"default78TIYG\",\n load_balancer_edition=\"Standard\",\n vpc_id=alb_example_tf_vpc.id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n address_type=\"Intranet\",\n address_allocated_mode=\"Fixed\",\n zone_mappings=[\n {\n \"vswitch_id\": alb_example_tf_j.id,\n \"zone_id\": alb_example_tf_j.zone_id,\n },\n {\n \"vswitch_id\": alb_example_tf_k.id,\n \"zone_id\": alb_example_tf_k.zone_id,\n },\n {\n \"vswitch_id\": default_dsy0_jj.id,\n \"zone_id\": default_dsy0_jj.zone_id,\n },\n ])\ndefault = alicloud.alb.LoadBalancerZoneShiftedAttachment(\"default\",\n zone_id=default_dsy0_jj.zone_id,\n vswitch_id=default_dsy0_jj.id,\n load_balancer_id=default78_tiyg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var albExampleTfVpc = new AliCloud.Vpc.Network(\"alb_example_tf_vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var albExampleTfJ = new AliCloud.Vpc.Switch(\"alb_example_tf_j\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"192.168.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var albExampleTfK = new AliCloud.Vpc.Switch(\"alb_example_tf_k\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultDSY0JJ = new AliCloud.Vpc.Switch(\"defaultDSY0JJ\", new()\n {\n VpcId = albExampleTfVpc.Id,\n ZoneId = \"cn-beijing-f\",\n CidrBlock = \"192.168.3.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var default78TIYG = new AliCloud.Alb.LoadBalancer(\"default78TIYG\", new()\n {\n LoadBalancerEdition = \"Standard\",\n VpcId = albExampleTfVpc.Id,\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n AddressType = \"Intranet\",\n AddressAllocatedMode = \"Fixed\",\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfJ.Id,\n ZoneId = albExampleTfJ.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = albExampleTfK.Id,\n ZoneId = albExampleTfK.ZoneId,\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultDSY0JJ.Id,\n ZoneId = defaultDSY0JJ.ZoneId,\n },\n },\n });\n\n var @default = new AliCloud.Alb.LoadBalancerZoneShiftedAttachment(\"default\", new()\n {\n ZoneId = defaultDSY0JJ.ZoneId,\n VswitchId = defaultDSY0JJ.Id,\n LoadBalancerId = default78TIYG.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talbExampleTfVpc, err := vpc.NewNetwork(ctx, \"alb_example_tf_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfJ, err := vpc.NewSwitch(ctx, \"alb_example_tf_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talbExampleTfK, err := vpc.NewSwitch(ctx, \"alb_example_tf_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDSY0JJ, err := vpc.NewSwitch(ctx, \"defaultDSY0JJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-f\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.3.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault78TIYG, err := alb.NewLoadBalancer(ctx, \"default78TIYG\", \u0026alb.LoadBalancerArgs{\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tVpcId: albExampleTfVpc.ID(),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfJ.ID(),\n\t\t\t\t\tZoneId: albExampleTfJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: albExampleTfK.ID(),\n\t\t\t\t\tZoneId: albExampleTfK.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\t\t\tZoneId: defaultDSY0JJ.ZoneId,\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 = alb.NewLoadBalancerZoneShiftedAttachment(ctx, \"default\", \u0026alb.LoadBalancerZoneShiftedAttachmentArgs{\n\t\t\tZoneId: defaultDSY0JJ.ZoneId,\n\t\t\tVswitchId: defaultDSY0JJ.ID(),\n\t\t\tLoadBalancerId: default78TIYG.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.LoadBalancerZoneShiftedAttachment;\nimport com.pulumi.alicloud.alb.LoadBalancerZoneShiftedAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var albExampleTfVpc = new Network(\"albExampleTfVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var albExampleTfJ = new Switch(\"albExampleTfJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"192.168.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var albExampleTfK = new Switch(\"albExampleTfK\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultDSY0JJ = new Switch(\"defaultDSY0JJ\", SwitchArgs.builder()\n .vpcId(albExampleTfVpc.id())\n .zoneId(\"cn-beijing-f\")\n .cidrBlock(\"192.168.3.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var default78TIYG = new LoadBalancer(\"default78TIYG\", LoadBalancerArgs.builder()\n .loadBalancerEdition(\"Standard\")\n .vpcId(albExampleTfVpc.id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .addressType(\"Intranet\")\n .addressAllocatedMode(\"Fixed\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfJ.id())\n .zoneId(albExampleTfJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(albExampleTfK.id())\n .zoneId(albExampleTfK.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultDSY0JJ.id())\n .zoneId(defaultDSY0JJ.zoneId())\n .build())\n .build());\n\n var default_ = new LoadBalancerZoneShiftedAttachment(\"default\", LoadBalancerZoneShiftedAttachmentArgs.builder()\n .zoneId(defaultDSY0JJ.zoneId())\n .vswitchId(defaultDSY0JJ.id())\n .loadBalancerId(default78TIYG.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n albExampleTfVpc:\n type: alicloud:vpc:Network\n name: alb_example_tf_vpc\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n albExampleTfJ:\n type: alicloud:vpc:Switch\n name: alb_example_tf_j\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-j\n cidrBlock: 192.168.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n albExampleTfK:\n type: alicloud:vpc:Switch\n name: alb_example_tf_k\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 192.168.2.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultDSY0JJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${albExampleTfVpc.id}\n zoneId: cn-beijing-f\n cidrBlock: 192.168.3.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n default78TIYG:\n type: alicloud:alb:LoadBalancer\n properties:\n loadBalancerEdition: Standard\n vpcId: ${albExampleTfVpc.id}\n loadBalancerBillingConfig:\n payType: PayAsYouGo\n addressType: Intranet\n addressAllocatedMode: Fixed\n zoneMappings:\n - vswitchId: ${albExampleTfJ.id}\n zoneId: ${albExampleTfJ.zoneId}\n - vswitchId: ${albExampleTfK.id}\n zoneId: ${albExampleTfK.zoneId}\n - vswitchId: ${defaultDSY0JJ.id}\n zoneId: ${defaultDSY0JJ.zoneId}\n default:\n type: alicloud:alb:LoadBalancerZoneShiftedAttachment\n properties:\n zoneId: ${defaultDSY0JJ.zoneId}\n vswitchId: ${defaultDSY0JJ.id}\n loadBalancerId: ${default78TIYG.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment example \u003cload_balancer_id\u003e:\u003cvswitch_id\u003e:\u003czone_id\u003e\n```\n\n", "properties": { "loadBalancerId": { "type": "string", @@ -100527,7 +102354,7 @@ } }, "alicloud:alb/rule:Rule": { - "description": "Provides a Application Load Balancer (ALB) Rule resource.\n\nFor information about Application Load Balancer (ALB) Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createrule).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n\u003e **NOTE:** This version only supports forwarding rules in the request direction.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 80,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultRule = new alicloud.alb.Rule(\"default\", {\n ruleName: name,\n listenerId: defaultListener.id,\n priority: 555,\n ruleConditions: [{\n cookieConfig: {\n values: [{\n key: \"created\",\n value: \"tf\",\n }],\n },\n type: \"Cookie\",\n }],\n ruleActions: [{\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n order: 9,\n type: \"ForwardGroup\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=80,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_rule = alicloud.alb.Rule(\"default\",\n rule_name=name,\n listener_id=default_listener.id,\n priority=555,\n rule_conditions=[{\n \"cookie_config\": {\n \"values\": [{\n \"key\": \"created\",\n \"value\": \"tf\",\n }],\n },\n \"type\": \"Cookie\",\n }],\n rule_actions=[{\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n \"order\": 9,\n \"type\": \"ForwardGroup\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 80,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultRule = new AliCloud.Alb.Rule(\"default\", new()\n {\n RuleName = name,\n ListenerId = defaultListener.Id,\n Priority = 555,\n RuleConditions = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleConditionArgs\n {\n CookieConfig = new AliCloud.Alb.Inputs.RuleRuleConditionCookieConfigArgs\n {\n Values = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleConditionCookieConfigValueArgs\n {\n Key = \"created\",\n Value = \"tf\",\n },\n },\n },\n Type = \"Cookie\",\n },\n },\n RuleActions = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleActionArgs\n {\n ForwardGroupConfig = new AliCloud.Alb.Inputs.RuleRuleActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n Order = 9,\n Type = \"ForwardGroup\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\t_, err = alb.NewRule(ctx, \"default\", \u0026alb.RuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tPriority: pulumi.Int(555),\n\t\t\tRuleConditions: alb.RuleRuleConditionArray{\n\t\t\t\t\u0026alb.RuleRuleConditionArgs{\n\t\t\t\t\tCookieConfig: \u0026alb.RuleRuleConditionCookieConfigArgs{\n\t\t\t\t\t\tValues: alb.RuleRuleConditionCookieConfigValueArray{\n\t\t\t\t\t\t\t\u0026alb.RuleRuleConditionCookieConfigValueArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"created\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"tf\"),\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\tType: pulumi.String(\"Cookie\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRuleActions: alb.RuleRuleActionArray{\n\t\t\t\t\u0026alb.RuleRuleActionArgs{\n\t\t\t\t\tForwardGroupConfig: \u0026alb.RuleRuleActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.RuleRuleActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.RuleRuleActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tOrder: pulumi.Int(9),\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.Rule;\nimport com.pulumi.alicloud.alb.RuleArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleConditionArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleConditionCookieConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleActionArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleActionForwardGroupConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(80)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .ruleName(name)\n .listenerId(defaultListener.id())\n .priority(555)\n .ruleConditions(RuleRuleConditionArgs.builder()\n .cookieConfig(RuleRuleConditionCookieConfigArgs.builder()\n .values(RuleRuleConditionCookieConfigValueArgs.builder()\n .key(\"created\")\n .value(\"tf\")\n .build())\n .build())\n .type(\"Cookie\")\n .build())\n .ruleActions(RuleRuleActionArgs.builder()\n .forwardGroupConfig(RuleRuleActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(RuleRuleActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .order(9)\n .type(\"ForwardGroup\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/rule:Rule example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Rule resource.\n\nFor information about Application Load Balancer (ALB) Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createrule).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n\u003e **NOTE:** This version only supports forwarding rules in the request direction.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.alb.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: std.format({\n input: \"10.4.%d.0/24\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].id),\n vswitchName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst defaultLoadBalancer = new alicloud.alb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n addressType: \"Internet\",\n addressAllocatedMode: \"Fixed\",\n loadBalancerName: name,\n loadBalancerEdition: \"Standard\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n loadBalancerBillingConfig: {\n payType: \"PayAsYouGo\",\n },\n tags: {\n Created: \"TF\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch[0].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n },\n {\n vswitchId: defaultSwitch[1].id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n protocol: \"HTTP\",\n vpcId: defaultNetwork.id,\n serverGroupName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: false,\n },\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultListener = new alicloud.alb.Listener(\"default\", {\n loadBalancerId: defaultLoadBalancer.id,\n listenerProtocol: \"HTTP\",\n listenerPort: 80,\n listenerDescription: name,\n defaultActions: [{\n type: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n }],\n});\nconst defaultRule = new alicloud.alb.Rule(\"default\", {\n ruleName: name,\n listenerId: defaultListener.id,\n priority: 555,\n ruleConditions: [{\n cookieConfig: {\n values: [{\n key: \"created\",\n value: \"tf\",\n }],\n },\n type: \"Cookie\",\n }],\n ruleActions: [{\n forwardGroupConfig: {\n serverGroupTuples: [{\n serverGroupId: defaultServerGroup.id,\n }],\n },\n order: 9,\n type: \"ForwardGroup\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.alb.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=std.format(input=\"10.4.%d.0/24\",\n args=[range[\"value\"] + 1]).result,\n zone_id=default.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\ndefault_load_balancer = alicloud.alb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n address_type=\"Internet\",\n address_allocated_mode=\"Fixed\",\n load_balancer_name=name,\n load_balancer_edition=\"Standard\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n load_balancer_billing_config={\n \"pay_type\": \"PayAsYouGo\",\n },\n tags={\n \"Created\": \"TF\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch[0].id,\n \"zone_id\": default.zones[0].id,\n },\n {\n \"vswitch_id\": default_switch[1].id,\n \"zone_id\": default.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n protocol=\"HTTP\",\n vpc_id=default_network.id,\n server_group_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": False,\n },\n tags={\n \"Created\": \"TF\",\n })\ndefault_listener = alicloud.alb.Listener(\"default\",\n load_balancer_id=default_load_balancer.id,\n listener_protocol=\"HTTP\",\n listener_port=80,\n listener_description=name,\n default_actions=[{\n \"type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n }])\ndefault_rule = alicloud.alb.Rule(\"default\",\n rule_name=name,\n listener_id=default_listener.id,\n priority=555,\n rule_conditions=[{\n \"cookie_config\": {\n \"values\": [{\n \"key\": \"created\",\n \"value\": \"tf\",\n }],\n },\n \"type\": \"Cookie\",\n }],\n rule_actions=[{\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"server_group_id\": default_server_group.id,\n }],\n },\n \"order\": 9,\n \"type\": \"ForwardGroup\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Alb.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"10.4.%d.0/24\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id),\n VswitchName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var defaultLoadBalancer = new AliCloud.Alb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n AddressType = \"Internet\",\n AddressAllocatedMode = \"Fixed\",\n LoadBalancerName = name,\n LoadBalancerEdition = \"Standard\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n LoadBalancerBillingConfig = new AliCloud.Alb.Inputs.LoadBalancerLoadBalancerBillingConfigArgs\n {\n PayType = \"PayAsYouGo\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[0].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n },\n new AliCloud.Alb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch[1].Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n Protocol = \"HTTP\",\n VpcId = defaultNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = false,\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultListener = new AliCloud.Alb.Listener(\"default\", new()\n {\n LoadBalancerId = defaultLoadBalancer.Id,\n ListenerProtocol = \"HTTP\",\n ListenerPort = 80,\n ListenerDescription = name,\n DefaultActions = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionArgs\n {\n Type = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n },\n },\n });\n\n var defaultRule = new AliCloud.Alb.Rule(\"default\", new()\n {\n RuleName = name,\n ListenerId = defaultListener.Id,\n Priority = 555,\n RuleConditions = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleConditionArgs\n {\n CookieConfig = new AliCloud.Alb.Inputs.RuleRuleConditionCookieConfigArgs\n {\n Values = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleConditionCookieConfigValueArgs\n {\n Key = \"created\",\n Value = \"tf\",\n },\n },\n },\n Type = \"Cookie\",\n },\n },\n RuleActions = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleActionArgs\n {\n ForwardGroupConfig = new AliCloud.Alb.Inputs.RuleRuleActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Alb.Inputs.RuleRuleActionForwardGroupConfigServerGroupTupleArgs\n {\n ServerGroupId = defaultServerGroup.Id,\n },\n },\n },\n Order = 9,\n Type = \"ForwardGroup\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"10.4.%d.0/24\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: _default.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSwitch = append(defaultSwitch, __res)\n\t\t}\n\t\tdefaultLoadBalancer, err := alb.NewLoadBalancer(ctx, \"default\", \u0026alb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressAllocatedMode: pulumi.String(\"Fixed\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerEdition: pulumi.String(\"Standard\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tLoadBalancerBillingConfig: \u0026alb.LoadBalancerLoadBalancerBillingConfigArgs{\n\t\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tZoneMappings: alb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[0].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026alb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch[1].ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\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\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := alb.NewListener(ctx, \"default\", \u0026alb.ListenerArgs{\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"HTTP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tDefaultActions: alb.ListenerDefaultActionArray{\n\t\t\t\t\u0026alb.ListenerDefaultActionArgs{\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026alb.ListenerDefaultActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\t_, err = alb.NewRule(ctx, \"default\", \u0026alb.RuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tPriority: pulumi.Int(555),\n\t\t\tRuleConditions: alb.RuleRuleConditionArray{\n\t\t\t\t\u0026alb.RuleRuleConditionArgs{\n\t\t\t\t\tCookieConfig: \u0026alb.RuleRuleConditionCookieConfigArgs{\n\t\t\t\t\t\tValues: alb.RuleRuleConditionCookieConfigValueArray{\n\t\t\t\t\t\t\t\u0026alb.RuleRuleConditionCookieConfigValueArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"created\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"tf\"),\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\tType: pulumi.String(\"Cookie\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRuleActions: alb.RuleRuleActionArray{\n\t\t\t\t\u0026alb.RuleRuleActionArgs{\n\t\t\t\t\tForwardGroupConfig: \u0026alb.RuleRuleActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: alb.RuleRuleActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026alb.RuleRuleActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tServerGroupId: defaultServerGroup.ID(),\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\tOrder: pulumi.Int(9),\n\t\t\t\t\tType: pulumi.String(\"ForwardGroup\"),\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.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.alb.LoadBalancer;\nimport com.pulumi.alicloud.alb.LoadBalancerArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerLoadBalancerBillingConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.Listener;\nimport com.pulumi.alicloud.alb.ListenerArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionArgs;\nimport com.pulumi.alicloud.alb.inputs.ListenerDefaultActionForwardGroupConfigArgs;\nimport com.pulumi.alicloud.alb.Rule;\nimport com.pulumi.alicloud.alb.RuleArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleConditionArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleConditionCookieConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleActionArgs;\nimport com.pulumi.alicloud.alb.inputs.RuleRuleActionForwardGroupConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"10.4.%d.0/24\")\n .args(range.value() + 1)\n .build()).result())\n .zoneId(default_.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .addressType(\"Internet\")\n .addressAllocatedMode(\"Fixed\")\n .loadBalancerName(name)\n .loadBalancerEdition(\"Standard\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .loadBalancerBillingConfig(LoadBalancerLoadBalancerBillingConfigArgs.builder()\n .payType(\"PayAsYouGo\")\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[0].id())\n .zoneId(default_.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch[1].id())\n .zoneId(default_.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(defaultNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(false)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .loadBalancerId(defaultLoadBalancer.id())\n .listenerProtocol(\"HTTP\")\n .listenerPort(80)\n .listenerDescription(name)\n .defaultActions(ListenerDefaultActionArgs.builder()\n .type(\"ForwardGroup\")\n .forwardGroupConfig(ListenerDefaultActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ListenerDefaultActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .ruleName(name)\n .listenerId(defaultListener.id())\n .priority(555)\n .ruleConditions(RuleRuleConditionArgs.builder()\n .cookieConfig(RuleRuleConditionCookieConfigArgs.builder()\n .values(RuleRuleConditionCookieConfigValueArgs.builder()\n .key(\"created\")\n .value(\"tf\")\n .build())\n .build())\n .type(\"Cookie\")\n .build())\n .ruleActions(RuleRuleActionArgs.builder()\n .forwardGroupConfig(RuleRuleActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(RuleRuleActionForwardGroupConfigServerGroupTupleArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .build())\n .build())\n .order(9)\n .type(\"ForwardGroup\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/rule:Rule example \u003cid\u003e\n```\n\n", "properties": { "direction": { "type": "string", @@ -100670,7 +102497,7 @@ } }, "alicloud:alb/securityPolicy:SecurityPolicy": { - "description": "Provides a ALB Security Policy resource.\n\nFor information about ALB Security Policy and how to use it, see [What is Security Policy](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createsecuritypolicy).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.alb.SecurityPolicy(\"default\", {\n securityPolicyName: \"tf_example\",\n tlsVersions: [\"TLSv1.0\"],\n ciphers: [\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.alb.SecurityPolicy(\"default\",\n security_policy_name=\"tf_example\",\n tls_versions=[\"TLSv1.0\"],\n ciphers=[\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Alb.SecurityPolicy(\"default\", new()\n {\n SecurityPolicyName = \"tf_example\",\n TlsVersions = new[]\n {\n \"TLSv1.0\",\n },\n Ciphers = new[]\n {\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alb.NewSecurityPolicy(ctx, \"default\", \u0026alb.SecurityPolicyArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"tf_example\"),\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.0\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"AES256-SHA\"),\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.alicloud.alb.SecurityPolicy;\nimport com.pulumi.alicloud.alb.SecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityPolicy(\"default\", SecurityPolicyArgs.builder()\n .securityPolicyName(\"tf_example\")\n .tlsVersions(\"TLSv1.0\")\n .ciphers( \n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:alb:SecurityPolicy\n properties:\n securityPolicyName: tf_example\n tlsVersions:\n - TLSv1.0\n ciphers:\n - ECDHE-ECDSA-AES128-SHA\n - AES256-SHA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nALB Security Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/securityPolicy:SecurityPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a ALB Security Policy resource.\n\nFor information about ALB Security Policy and how to use it, see [What is Security Policy](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createsecuritypolicy).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.alb.SecurityPolicy(\"default\", {\n securityPolicyName: \"tf_example\",\n tlsVersions: [\"TLSv1.0\"],\n ciphers: [\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.alb.SecurityPolicy(\"default\",\n security_policy_name=\"tf_example\",\n tls_versions=[\"TLSv1.0\"],\n ciphers=[\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Alb.SecurityPolicy(\"default\", new()\n {\n SecurityPolicyName = \"tf_example\",\n TlsVersions = new[]\n {\n \"TLSv1.0\",\n },\n Ciphers = new[]\n {\n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alb.NewSecurityPolicy(ctx, \"default\", \u0026alb.SecurityPolicyArgs{\n\t\t\tSecurityPolicyName: pulumi.String(\"tf_example\"),\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.0\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"AES256-SHA\"),\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.alicloud.alb.SecurityPolicy;\nimport com.pulumi.alicloud.alb.SecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityPolicy(\"default\", SecurityPolicyArgs.builder()\n .securityPolicyName(\"tf_example\")\n .tlsVersions(\"TLSv1.0\")\n .ciphers( \n \"ECDHE-ECDSA-AES128-SHA\",\n \"AES256-SHA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:alb:SecurityPolicy\n properties:\n securityPolicyName: tf_example\n tlsVersions:\n - TLSv1.0\n ciphers:\n - ECDHE-ECDSA-AES128-SHA\n - AES256-SHA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nALB Security Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/securityPolicy:SecurityPolicy example \u003cid\u003e\n```\n\n", "properties": { "ciphers": { "type": "array", @@ -100802,7 +102629,7 @@ } }, "alicloud:alb/serverGroup:ServerGroup": { - "description": "Provides a Application Load Balancer (ALB) Server Group resource.\n\n\n\nFor information about Application Load Balancer (ALB) Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createservergroup).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.resourcemanager.getResourceGroups({});\nconst exampleGetZones = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = exampleGetZones.then(exampleGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: exampleGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n description: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n});\nconst exampleServerGroup = new alicloud.alb.ServerGroup(\"example\", {\n protocol: \"HTTP\",\n vpcId: exampleNetwork.id,\n serverGroupName: name,\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n healthCheckConfig: {\n healthCheckConnectPort: 46325,\n healthCheckEnabled: true,\n healthCheckHost: \"tf-example.com\",\n healthCheckCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckHttpVersion: \"HTTP1.1\",\n healthCheckInterval: 2,\n healthCheckMethod: \"HEAD\",\n healthCheckPath: \"/tf-example\",\n healthCheckProtocol: \"HTTP\",\n healthCheckTimeout: 5,\n healthyThreshold: 3,\n unhealthyThreshold: 3,\n },\n servers: [{\n description: name,\n port: 80,\n serverId: exampleInstance.id,\n serverIp: exampleInstance.privateIp,\n serverType: \"Ecs\",\n weight: 10,\n }],\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.resourcemanager.get_resource_groups()\nexample_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example_get_zones.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n description=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example_get_zones.zones[0].id,\n instance_name=name,\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id)\nexample_server_group = alicloud.alb.ServerGroup(\"example\",\n protocol=\"HTTP\",\n vpc_id=example_network.id,\n server_group_name=name,\n resource_group_id=example.groups[0].id,\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n },\n health_check_config={\n \"health_check_connect_port\": 46325,\n \"health_check_enabled\": True,\n \"health_check_host\": \"tf-example.com\",\n \"health_check_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_http_version\": \"HTTP1.1\",\n \"health_check_interval\": 2,\n \"health_check_method\": \"HEAD\",\n \"health_check_path\": \"/tf-example\",\n \"health_check_protocol\": \"HTTP\",\n \"health_check_timeout\": 5,\n \"healthy_threshold\": 3,\n \"unhealthy_threshold\": 3,\n },\n servers=[{\n \"description\": name,\n \"port\": 80,\n \"server_id\": example_instance.id,\n \"server_ip\": example_instance.private_ip,\n \"server_type\": \"Ecs\",\n \"weight\": 10,\n }],\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var exampleGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n Description = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleServerGroup = new AliCloud.Alb.ServerGroup(\"example\", new()\n {\n Protocol = \"HTTP\",\n VpcId = exampleNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 46325,\n HealthCheckEnabled = true,\n HealthCheckHost = \"tf-example.com\",\n HealthCheckCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckHttpVersion = \"HTTP1.1\",\n HealthCheckInterval = 2,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPath = \"/tf-example\",\n HealthCheckProtocol = \"HTTP\",\n HealthCheckTimeout = 5,\n HealthyThreshold = 3,\n UnhealthyThreshold = 3,\n },\n Servers = new[]\n {\n new AliCloud.Alb.Inputs.ServerGroupServerArgs\n {\n Description = name,\n Port = 80,\n ServerId = exampleInstance.Id,\n ServerIp = exampleInstance.PrivateIp,\n ServerType = \"Ecs\",\n Weight = 10,\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewServerGroup(ctx, \"example\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(46325),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckHost: pulumi.String(\"tf-example.com\"),\n\t\t\t\tHealthCheckCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckHttpVersion: pulumi.String(\"HTTP1.1\"),\n\t\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/tf-example\"),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckTimeout: pulumi.Int(5),\n\t\t\t\tHealthyThreshold: pulumi.Int(3),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(3),\n\t\t\t},\n\t\t\tServers: alb.ServerGroupServerArray{\n\t\t\t\t\u0026alb.ServerGroupServerArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tServerId: exampleInstance.ID(),\n\t\t\t\t\tServerIp: exampleInstance.PrivateIp,\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var exampleGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(exampleGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(exampleGetZones.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(exampleGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleServerGroup = new ServerGroup(\"exampleServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(exampleNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(example.groups()[0].id())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(46325)\n .healthCheckEnabled(true)\n .healthCheckHost(\"tf-example.com\")\n .healthCheckCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckHttpVersion(\"HTTP1.1\")\n .healthCheckInterval(2)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPath(\"/tf-example\")\n .healthCheckProtocol(\"HTTP\")\n .healthCheckTimeout(5)\n .healthyThreshold(3)\n .unhealthyThreshold(3)\n .build())\n .servers(ServerGroupServerArgs.builder()\n .description(name)\n .port(80)\n .serverId(exampleInstance.id())\n .serverIp(exampleInstance.privateIp())\n .serverType(\"Ecs\")\n .weight(10)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${exampleGetZones.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${exampleGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n exampleServerGroup:\n type: alicloud:alb:ServerGroup\n name: example\n properties:\n protocol: HTTP\n vpcId: ${exampleNetwork.id}\n serverGroupName: ${name}\n resourceGroupId: ${example.groups[0].id}\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n healthCheckConfig:\n healthCheckConnectPort: '46325'\n healthCheckEnabled: true\n healthCheckHost: tf-example.com\n healthCheckCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckHttpVersion: HTTP1.1\n healthCheckInterval: '2'\n healthCheckMethod: HEAD\n healthCheckPath: /tf-example\n healthCheckProtocol: HTTP\n healthCheckTimeout: 5\n healthyThreshold: 3\n unhealthyThreshold: 3\n servers:\n - description: ${name}\n port: 80\n serverId: ${exampleInstance.id}\n serverIp: ${exampleInstance.privateIp}\n serverType: Ecs\n weight: 10\n tags:\n Created: TF\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n exampleGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${exampleGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Load Balancer (ALB) Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Load Balancer (ALB) Server Group resource.\n\n\n\nFor information about Application Load Balancer (ALB) Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/slb/application-load-balancer/developer-reference/api-alb-2020-06-16-createservergroup).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.resourcemanager.getResourceGroups({});\nconst exampleGetZones = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = exampleGetZones.then(exampleGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: exampleGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n description: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n});\nconst exampleServerGroup = new alicloud.alb.ServerGroup(\"example\", {\n protocol: \"HTTP\",\n vpcId: exampleNetwork.id,\n serverGroupName: name,\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n healthCheckConfig: {\n healthCheckConnectPort: 46325,\n healthCheckEnabled: true,\n healthCheckHost: \"tf-example.com\",\n healthCheckCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckHttpVersion: \"HTTP1.1\",\n healthCheckInterval: 2,\n healthCheckMethod: \"HEAD\",\n healthCheckPath: \"/tf-example\",\n healthCheckProtocol: \"HTTP\",\n healthCheckTimeout: 5,\n healthyThreshold: 3,\n unhealthyThreshold: 3,\n },\n servers: [{\n description: name,\n port: 80,\n serverId: exampleInstance.id,\n serverIp: exampleInstance.privateIp,\n serverType: \"Ecs\",\n weight: 10,\n }],\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.resourcemanager.get_resource_groups()\nexample_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example_get_zones.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n description=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example_get_zones.zones[0].id,\n instance_name=name,\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id)\nexample_server_group = alicloud.alb.ServerGroup(\"example\",\n protocol=\"HTTP\",\n vpc_id=example_network.id,\n server_group_name=name,\n resource_group_id=example.groups[0].id,\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n },\n health_check_config={\n \"health_check_connect_port\": 46325,\n \"health_check_enabled\": True,\n \"health_check_host\": \"tf-example.com\",\n \"health_check_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_http_version\": \"HTTP1.1\",\n \"health_check_interval\": 2,\n \"health_check_method\": \"HEAD\",\n \"health_check_path\": \"/tf-example\",\n \"health_check_protocol\": \"HTTP\",\n \"health_check_timeout\": 5,\n \"healthy_threshold\": 3,\n \"unhealthy_threshold\": 3,\n },\n servers=[{\n \"description\": name,\n \"port\": 80,\n \"server_id\": example_instance.id,\n \"server_ip\": example_instance.private_ip,\n \"server_type\": \"Ecs\",\n \"weight\": 10,\n }],\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var exampleGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n Description = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleServerGroup = new AliCloud.Alb.ServerGroup(\"example\", new()\n {\n Protocol = \"HTTP\",\n VpcId = exampleNetwork.Id,\n ServerGroupName = name,\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 46325,\n HealthCheckEnabled = true,\n HealthCheckHost = \"tf-example.com\",\n HealthCheckCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckHttpVersion = \"HTTP1.1\",\n HealthCheckInterval = 2,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPath = \"/tf-example\",\n HealthCheckProtocol = \"HTTP\",\n HealthCheckTimeout = 5,\n HealthyThreshold = 3,\n UnhealthyThreshold = 3,\n },\n Servers = new[]\n {\n new AliCloud.Alb.Inputs.ServerGroupServerArgs\n {\n Description = name,\n Port = 80,\n ServerId = exampleInstance.Id,\n ServerIp = exampleInstance.PrivateIp,\n ServerType = \"Ecs\",\n Weight = 10,\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alb.NewServerGroup(ctx, \"example\", \u0026alb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(46325),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckHost: pulumi.String(\"tf-example.com\"),\n\t\t\t\tHealthCheckCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckHttpVersion: pulumi.String(\"HTTP1.1\"),\n\t\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/tf-example\"),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckTimeout: pulumi.Int(5),\n\t\t\t\tHealthyThreshold: pulumi.Int(3),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(3),\n\t\t\t},\n\t\t\tServers: alb.ServerGroupServerArray{\n\t\t\t\t\u0026alb.ServerGroupServerArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tServerId: exampleInstance.ID(),\n\t\t\t\t\tServerIp: exampleInstance.PrivateIp,\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var exampleGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(exampleGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(exampleGetZones.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(exampleGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleServerGroup = new ServerGroup(\"exampleServerGroup\", ServerGroupArgs.builder()\n .protocol(\"HTTP\")\n .vpcId(exampleNetwork.id())\n .serverGroupName(name)\n .resourceGroupId(example.groups()[0].id())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(46325)\n .healthCheckEnabled(true)\n .healthCheckHost(\"tf-example.com\")\n .healthCheckCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckHttpVersion(\"HTTP1.1\")\n .healthCheckInterval(2)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPath(\"/tf-example\")\n .healthCheckProtocol(\"HTTP\")\n .healthCheckTimeout(5)\n .healthyThreshold(3)\n .unhealthyThreshold(3)\n .build())\n .servers(ServerGroupServerArgs.builder()\n .description(name)\n .port(80)\n .serverId(exampleInstance.id())\n .serverIp(exampleInstance.privateIp())\n .serverType(\"Ecs\")\n .weight(10)\n .build())\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${exampleGetZones.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${exampleGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n exampleServerGroup:\n type: alicloud:alb:ServerGroup\n name: example\n properties:\n protocol: HTTP\n vpcId: ${exampleNetwork.id}\n serverGroupName: ${name}\n resourceGroupId: ${example.groups[0].id}\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n healthCheckConfig:\n healthCheckConnectPort: '46325'\n healthCheckEnabled: true\n healthCheckHost: tf-example.com\n healthCheckCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckHttpVersion: HTTP1.1\n healthCheckInterval: '2'\n healthCheckMethod: HEAD\n healthCheckPath: /tf-example\n healthCheckProtocol: HTTP\n healthCheckTimeout: 5\n healthyThreshold: 3\n unhealthyThreshold: 3\n servers:\n - description: ${name}\n port: 80\n serverId: ${exampleInstance.id}\n serverIp: ${exampleInstance.privateIp}\n serverType: Ecs\n weight: 10\n tags:\n Created: TF\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n exampleGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${exampleGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Load Balancer (ALB) Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", "properties": { "connectionDrainConfig": { "$ref": "#/types/alicloud:alb/ServerGroupConnectionDrainConfig:ServerGroupConnectionDrainConfig", @@ -101102,7 +102929,7 @@ } }, "alicloud:aligreen/auditCallback:AuditCallback": { - "description": "Provides a Aligreen Audit Callback resource.\n\nCallback notification after detection is completed.\n\nFor information about Aligreen Audit Callback and how to use it, see [What is Audit Callback](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateAuditCallback).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.AuditCallback(\"default\", {\n cryptType: \"SM3\",\n auditCallbackName: name,\n url: \"https://www.aliyun.com/\",\n callbackTypes: [\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n ],\n callbackSuggestions: [\n \"block\",\n \"review\",\n \"pass\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.AuditCallback(\"default\",\n crypt_type=\"SM3\",\n audit_callback_name=name,\n url=\"https://www.aliyun.com/\",\n callback_types=[\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n ],\n callback_suggestions=[\n \"block\",\n \"review\",\n \"pass\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.AuditCallback(\"default\", new()\n {\n CryptType = \"SM3\",\n AuditCallbackName = name,\n Url = \"https://www.aliyun.com/\",\n CallbackTypes = new[]\n {\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n },\n CallbackSuggestions = new[]\n {\n \"block\",\n \"review\",\n \"pass\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewAuditCallback(ctx, \"default\", \u0026aligreen.AuditCallbackArgs{\n\t\t\tCryptType: pulumi.String(\"SM3\"),\n\t\t\tAuditCallbackName: pulumi.String(name),\n\t\t\tUrl: pulumi.String(\"https://www.aliyun.com/\"),\n\t\t\tCallbackTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aliyunAudit\"),\n\t\t\t\tpulumi.String(\"selfAduit\"),\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tCallbackSuggestions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"block\"),\n\t\t\t\tpulumi.String(\"review\"),\n\t\t\t\tpulumi.String(\"pass\"),\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.alicloud.aligreen.AuditCallback;\nimport com.pulumi.alicloud.aligreen.AuditCallbackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new AuditCallback(\"default\", AuditCallbackArgs.builder()\n .cryptType(\"SM3\")\n .auditCallbackName(name)\n .url(\"https://www.aliyun.com/\")\n .callbackTypes( \n \"aliyunAudit\",\n \"selfAduit\",\n \"example\")\n .callbackSuggestions( \n \"block\",\n \"review\",\n \"pass\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:AuditCallback\n properties:\n cryptType: SM3\n auditCallbackName: ${name}\n url: https://www.aliyun.com/\n callbackTypes:\n - aliyunAudit\n - selfAduit\n - example\n callbackSuggestions:\n - block\n - review\n - pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAligreen Audit Callback can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/auditCallback:AuditCallback example \u003cid\u003e\n```\n\n", + "description": "Provides a Aligreen Audit Callback resource.\n\nCallback notification after detection is completed.\n\nFor information about Aligreen Audit Callback and how to use it, see [What is Audit Callback](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateAuditCallback).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.AuditCallback(\"default\", {\n cryptType: \"SM3\",\n auditCallbackName: name,\n url: \"https://www.aliyun.com/\",\n callbackTypes: [\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n ],\n callbackSuggestions: [\n \"block\",\n \"review\",\n \"pass\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.AuditCallback(\"default\",\n crypt_type=\"SM3\",\n audit_callback_name=name,\n url=\"https://www.aliyun.com/\",\n callback_types=[\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n ],\n callback_suggestions=[\n \"block\",\n \"review\",\n \"pass\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.AuditCallback(\"default\", new()\n {\n CryptType = \"SM3\",\n AuditCallbackName = name,\n Url = \"https://www.aliyun.com/\",\n CallbackTypes = new[]\n {\n \"aliyunAudit\",\n \"selfAduit\",\n \"example\",\n },\n CallbackSuggestions = new[]\n {\n \"block\",\n \"review\",\n \"pass\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewAuditCallback(ctx, \"default\", \u0026aligreen.AuditCallbackArgs{\n\t\t\tCryptType: pulumi.String(\"SM3\"),\n\t\t\tAuditCallbackName: pulumi.String(name),\n\t\t\tUrl: pulumi.String(\"https://www.aliyun.com/\"),\n\t\t\tCallbackTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aliyunAudit\"),\n\t\t\t\tpulumi.String(\"selfAduit\"),\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tCallbackSuggestions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"block\"),\n\t\t\t\tpulumi.String(\"review\"),\n\t\t\t\tpulumi.String(\"pass\"),\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.alicloud.aligreen.AuditCallback;\nimport com.pulumi.alicloud.aligreen.AuditCallbackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new AuditCallback(\"default\", AuditCallbackArgs.builder()\n .cryptType(\"SM3\")\n .auditCallbackName(name)\n .url(\"https://www.aliyun.com/\")\n .callbackTypes( \n \"aliyunAudit\",\n \"selfAduit\",\n \"example\")\n .callbackSuggestions( \n \"block\",\n \"review\",\n \"pass\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:AuditCallback\n properties:\n cryptType: SM3\n auditCallbackName: ${name}\n url: https://www.aliyun.com/\n callbackTypes:\n - aliyunAudit\n - selfAduit\n - example\n callbackSuggestions:\n - block\n - review\n - pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAligreen Audit Callback can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/auditCallback:AuditCallback example \u003cid\u003e\n```\n\n", "properties": { "auditCallbackName": { "type": "string", @@ -101209,7 +103036,7 @@ } }, "alicloud:aligreen/bizType:BizType": { - "description": "Provides a Aligreen Biz Type resource.\n\n\n\nFor information about Aligreen Biz Type and how to use it, see [What is Biz Type](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateBizType).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.BizType(\"default\", {\n bizTypeName: name,\n description: name,\n citeTemplate: true,\n industryInfo: \"社交-注册信息-昵称\",\n bizTypeImport: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.BizType(\"default\",\n biz_type_name=name,\n description=name,\n cite_template=True,\n industry_info=\"社交-注册信息-昵称\",\n biz_type_import=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.BizType(\"default\", new()\n {\n BizTypeName = name,\n Description = name,\n CiteTemplate = true,\n IndustryInfo = \"社交-注册信息-昵称\",\n BizTypeImport = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewBizType(ctx, \"default\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCiteTemplate: pulumi.Bool(true),\n\t\t\tIndustryInfo: pulumi.String(\"社交-注册信息-昵称\"),\n\t\t\tBizTypeImport: pulumi.String(\"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.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new BizType(\"default\", BizTypeArgs.builder()\n .bizTypeName(name)\n .description(name)\n .citeTemplate(true)\n .industryInfo(\"社交-注册信息-昵称\")\n .bizTypeImport(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}\n description: ${name}\n citeTemplate: true\n industryInfo: 社交-注册信息-昵称\n bizTypeImport: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAligreen Biz Type can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/bizType:BizType example \u003cid\u003e\n```\n\n", + "description": "Provides a Aligreen Biz Type resource.\n\n\n\nFor information about Aligreen Biz Type and how to use it, see [What is Biz Type](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateBizType).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.BizType(\"default\", {\n bizTypeName: name,\n description: name,\n citeTemplate: true,\n industryInfo: \"社交-注册信息-昵称\",\n bizTypeImport: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.BizType(\"default\",\n biz_type_name=name,\n description=name,\n cite_template=True,\n industry_info=\"社交-注册信息-昵称\",\n biz_type_import=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.BizType(\"default\", new()\n {\n BizTypeName = name,\n Description = name,\n CiteTemplate = true,\n IndustryInfo = \"社交-注册信息-昵称\",\n BizTypeImport = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewBizType(ctx, \"default\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCiteTemplate: pulumi.Bool(true),\n\t\t\tIndustryInfo: pulumi.String(\"社交-注册信息-昵称\"),\n\t\t\tBizTypeImport: pulumi.String(\"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.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new BizType(\"default\", BizTypeArgs.builder()\n .bizTypeName(name)\n .description(name)\n .citeTemplate(true)\n .industryInfo(\"社交-注册信息-昵称\")\n .bizTypeImport(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}\n description: ${name}\n citeTemplate: true\n industryInfo: 社交-注册信息-昵称\n bizTypeImport: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAligreen Biz Type can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/bizType:BizType example \u003cid\u003e\n```\n\n", "properties": { "bizTypeImport": { "type": "string", @@ -101294,7 +103121,7 @@ } }, "alicloud:aligreen/callback:Callback": { - "description": "Provides a Aligreen Callback resource.\n\nDetection Result Callback.\n\nFor information about Aligreen Callback and how to use it, see [What is Callback](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateCallback).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.Callback(\"default\", {\n callbackUrl: \"https://www.aliyun.com\",\n cryptType: 0,\n callbackName: name,\n callbackTypes: [\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n ],\n callbackSuggestions: [\n \"block\",\n \"review\",\n \"pass\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.Callback(\"default\",\n callback_url=\"https://www.aliyun.com\",\n crypt_type=0,\n callback_name=name,\n callback_types=[\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n ],\n callback_suggestions=[\n \"block\",\n \"review\",\n \"pass\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.Callback(\"default\", new()\n {\n CallbackUrl = \"https://www.aliyun.com\",\n CryptType = 0,\n CallbackName = name,\n CallbackTypes = new[]\n {\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n },\n CallbackSuggestions = new[]\n {\n \"block\",\n \"review\",\n \"pass\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewCallback(ctx, \"default\", \u0026aligreen.CallbackArgs{\n\t\t\tCallbackUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\tCryptType: pulumi.Int(0),\n\t\t\tCallbackName: pulumi.String(name),\n\t\t\tCallbackTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"machineScan\"),\n\t\t\t\tpulumi.String(\"selfAudit\"),\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tCallbackSuggestions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"block\"),\n\t\t\t\tpulumi.String(\"review\"),\n\t\t\t\tpulumi.String(\"pass\"),\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.alicloud.aligreen.Callback;\nimport com.pulumi.alicloud.aligreen.CallbackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Callback(\"default\", CallbackArgs.builder()\n .callbackUrl(\"https://www.aliyun.com\")\n .cryptType(0)\n .callbackName(name)\n .callbackTypes( \n \"machineScan\",\n \"selfAudit\",\n \"example\")\n .callbackSuggestions( \n \"block\",\n \"review\",\n \"pass\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:Callback\n properties:\n callbackUrl: https://www.aliyun.com\n cryptType: '0'\n callbackName: ${name}\n callbackTypes:\n - machineScan\n - selfAudit\n - example\n callbackSuggestions:\n - block\n - review\n - pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAligreen Callback can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/callback:Callback example \u003cid\u003e\n```\n\n", + "description": "Provides a Aligreen Callback resource.\n\nDetection Result Callback.\n\nFor information about Aligreen Callback and how to use it, see [What is Callback](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateCallback).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.aligreen.Callback(\"default\", {\n callbackUrl: \"https://www.aliyun.com\",\n cryptType: 0,\n callbackName: name,\n callbackTypes: [\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n ],\n callbackSuggestions: [\n \"block\",\n \"review\",\n \"pass\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.aligreen.Callback(\"default\",\n callback_url=\"https://www.aliyun.com\",\n crypt_type=0,\n callback_name=name,\n callback_types=[\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n ],\n callback_suggestions=[\n \"block\",\n \"review\",\n \"pass\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Aligreen.Callback(\"default\", new()\n {\n CallbackUrl = \"https://www.aliyun.com\",\n CryptType = 0,\n CallbackName = name,\n CallbackTypes = new[]\n {\n \"machineScan\",\n \"selfAudit\",\n \"example\",\n },\n CallbackSuggestions = new[]\n {\n \"block\",\n \"review\",\n \"pass\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := aligreen.NewCallback(ctx, \"default\", \u0026aligreen.CallbackArgs{\n\t\t\tCallbackUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\tCryptType: pulumi.Int(0),\n\t\t\tCallbackName: pulumi.String(name),\n\t\t\tCallbackTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"machineScan\"),\n\t\t\t\tpulumi.String(\"selfAudit\"),\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tCallbackSuggestions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"block\"),\n\t\t\t\tpulumi.String(\"review\"),\n\t\t\t\tpulumi.String(\"pass\"),\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.alicloud.aligreen.Callback;\nimport com.pulumi.alicloud.aligreen.CallbackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Callback(\"default\", CallbackArgs.builder()\n .callbackUrl(\"https://www.aliyun.com\")\n .cryptType(0)\n .callbackName(name)\n .callbackTypes( \n \"machineScan\",\n \"selfAudit\",\n \"example\")\n .callbackSuggestions( \n \"block\",\n \"review\",\n \"pass\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:aligreen:Callback\n properties:\n callbackUrl: https://www.aliyun.com\n cryptType: '0'\n callbackName: ${name}\n callbackTypes:\n - machineScan\n - selfAudit\n - example\n callbackSuggestions:\n - block\n - review\n - pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAligreen Callback can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/callback:Callback example \u003cid\u003e\n```\n\n", "properties": { "callbackName": { "type": "string", @@ -101408,7 +103235,7 @@ } }, "alicloud:aligreen/imageLib:ImageLib": { - "description": "Provides a Aligreen Image Lib resource.\n\nImage library for image detection.\n\nFor information about Aligreen Image Lib and how to use it, see [What is Image Lib](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateImageLib).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform\";\nconst defaultUalunB = new alicloud.aligreen.BizType(\"defaultUalunB\", {bizTypeName: name});\nconst _default = new alicloud.aligreen.ImageLib(\"default\", {\n category: \"BLACK\",\n enable: true,\n scene: \"PORN\",\n imageLibName: name,\n bizTypes: [defaultUalunB.bizTypeName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform\"\ndefault_ualun_b = alicloud.aligreen.BizType(\"defaultUalunB\", biz_type_name=name)\ndefault = alicloud.aligreen.ImageLib(\"default\",\n category=\"BLACK\",\n enable=True,\n scene=\"PORN\",\n image_lib_name=name,\n biz_types=[default_ualun_b.biz_type_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform\";\n var defaultUalunB = new AliCloud.Aligreen.BizType(\"defaultUalunB\", new()\n {\n BizTypeName = name,\n });\n\n var @default = new AliCloud.Aligreen.ImageLib(\"default\", new()\n {\n Category = \"BLACK\",\n Enable = true,\n Scene = \"PORN\",\n ImageLibName = name,\n BizTypes = new[]\n {\n defaultUalunB.BizTypeName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUalunB, err := aligreen.NewBizType(ctx, \"defaultUalunB\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewImageLib(ctx, \"default\", \u0026aligreen.ImageLibArgs{\n\t\t\tCategory: pulumi.String(\"BLACK\"),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tScene: pulumi.String(\"PORN\"),\n\t\t\tImageLibName: pulumi.String(name),\n\t\t\tBizTypes: pulumi.StringArray{\n\t\t\t\tdefaultUalunB.BizTypeName,\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.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport com.pulumi.alicloud.aligreen.ImageLib;\nimport com.pulumi.alicloud.aligreen.ImageLibArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform\");\n var defaultUalunB = new BizType(\"defaultUalunB\", BizTypeArgs.builder()\n .bizTypeName(name)\n .build());\n\n var default_ = new ImageLib(\"default\", ImageLibArgs.builder()\n .category(\"BLACK\")\n .enable(true)\n .scene(\"PORN\")\n .imageLibName(name)\n .bizTypes(defaultUalunB.bizTypeName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform\nresources:\n defaultUalunB:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}\n default:\n type: alicloud:aligreen:ImageLib\n properties:\n category: BLACK\n enable: true\n scene: PORN\n imageLibName: ${name}\n bizTypes:\n - ${defaultUalunB.bizTypeName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAligreen Image Lib can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/imageLib:ImageLib example \u003cid\u003e\n```\n\n", + "description": "Provides a Aligreen Image Lib resource.\n\nImage library for image detection.\n\nFor information about Aligreen Image Lib and how to use it, see [What is Image Lib](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateImageLib).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform\";\nconst defaultUalunB = new alicloud.aligreen.BizType(\"defaultUalunB\", {bizTypeName: name});\nconst _default = new alicloud.aligreen.ImageLib(\"default\", {\n category: \"BLACK\",\n enable: true,\n scene: \"PORN\",\n imageLibName: name,\n bizTypes: [defaultUalunB.bizTypeName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform\"\ndefault_ualun_b = alicloud.aligreen.BizType(\"defaultUalunB\", biz_type_name=name)\ndefault = alicloud.aligreen.ImageLib(\"default\",\n category=\"BLACK\",\n enable=True,\n scene=\"PORN\",\n image_lib_name=name,\n biz_types=[default_ualun_b.biz_type_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform\";\n var defaultUalunB = new AliCloud.Aligreen.BizType(\"defaultUalunB\", new()\n {\n BizTypeName = name,\n });\n\n var @default = new AliCloud.Aligreen.ImageLib(\"default\", new()\n {\n Category = \"BLACK\",\n Enable = true,\n Scene = \"PORN\",\n ImageLibName = name,\n BizTypes = new[]\n {\n defaultUalunB.BizTypeName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUalunB, err := aligreen.NewBizType(ctx, \"defaultUalunB\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewImageLib(ctx, \"default\", \u0026aligreen.ImageLibArgs{\n\t\t\tCategory: pulumi.String(\"BLACK\"),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tScene: pulumi.String(\"PORN\"),\n\t\t\tImageLibName: pulumi.String(name),\n\t\t\tBizTypes: pulumi.StringArray{\n\t\t\t\tdefaultUalunB.BizTypeName,\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.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport com.pulumi.alicloud.aligreen.ImageLib;\nimport com.pulumi.alicloud.aligreen.ImageLibArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform\");\n var defaultUalunB = new BizType(\"defaultUalunB\", BizTypeArgs.builder()\n .bizTypeName(name)\n .build());\n\n var default_ = new ImageLib(\"default\", ImageLibArgs.builder()\n .category(\"BLACK\")\n .enable(true)\n .scene(\"PORN\")\n .imageLibName(name)\n .bizTypes(defaultUalunB.bizTypeName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform\nresources:\n defaultUalunB:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}\n default:\n type: alicloud:aligreen:ImageLib\n properties:\n category: BLACK\n enable: true\n scene: PORN\n imageLibName: ${name}\n bizTypes:\n - ${defaultUalunB.bizTypeName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAligreen Image Lib can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/imageLib:ImageLib example \u003cid\u003e\n```\n\n", "properties": { "bizTypes": { "type": "array", @@ -101505,7 +103332,7 @@ } }, "alicloud:aligreen/keywordLib:KeywordLib": { - "description": "Provides a Aligreen Keyword Lib resource.\n\nKeyword library for text detection.\n\nFor information about Aligreen Keyword Lib and how to use it, see [What is Keyword Lib](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateKeywordLib).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultMn8sVK = new alicloud.aligreen.BizType(\"defaultMn8sVK\", {\n bizTypeName: `${name}${_default.result}`,\n citeTemplate: true,\n industryInfo: \"社交-注册信息-昵称\",\n});\nconst defaultKeywordLib = new alicloud.aligreen.KeywordLib(\"default\", {\n category: \"BLACK\",\n resourceType: \"TEXT\",\n libType: \"textKeyword\",\n keywordLibName: name,\n matchMode: \"fuzzy\",\n language: \"cn\",\n bizTypes: [\"example_007\"],\n lang: \"cn\",\n enable: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_mn8s_vk = alicloud.aligreen.BizType(\"defaultMn8sVK\",\n biz_type_name=f\"{name}{default['result']}\",\n cite_template=True,\n industry_info=\"社交-注册信息-昵称\")\ndefault_keyword_lib = alicloud.aligreen.KeywordLib(\"default\",\n category=\"BLACK\",\n resource_type=\"TEXT\",\n lib_type=\"textKeyword\",\n keyword_lib_name=name,\n match_mode=\"fuzzy\",\n language=\"cn\",\n biz_types=[\"example_007\"],\n lang=\"cn\",\n enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultMn8sVK = new AliCloud.Aligreen.BizType(\"defaultMn8sVK\", new()\n {\n BizTypeName = $\"{name}{@default.Result}\",\n CiteTemplate = true,\n IndustryInfo = \"社交-注册信息-昵称\",\n });\n\n var defaultKeywordLib = new AliCloud.Aligreen.KeywordLib(\"default\", new()\n {\n Category = \"BLACK\",\n ResourceType = \"TEXT\",\n LibType = \"textKeyword\",\n KeywordLibName = name,\n MatchMode = \"fuzzy\",\n Language = \"cn\",\n BizTypes = new[]\n {\n \"example_007\",\n },\n Lang = \"cn\",\n Enable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewBizType(ctx, \"defaultMn8sVK\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.Sprintf(\"%v%v\", name, _default.Result),\n\t\t\tCiteTemplate: pulumi.Bool(true),\n\t\t\tIndustryInfo: pulumi.String(\"社交-注册信息-昵称\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewKeywordLib(ctx, \"default\", \u0026aligreen.KeywordLibArgs{\n\t\t\tCategory: pulumi.String(\"BLACK\"),\n\t\t\tResourceType: pulumi.String(\"TEXT\"),\n\t\t\tLibType: pulumi.String(\"textKeyword\"),\n\t\t\tKeywordLibName: pulumi.String(name),\n\t\t\tMatchMode: pulumi.String(\"fuzzy\"),\n\t\t\tLanguage: pulumi.String(\"cn\"),\n\t\t\tBizTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example_007\"),\n\t\t\t},\n\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\tEnable: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport com.pulumi.alicloud.aligreen.KeywordLib;\nimport com.pulumi.alicloud.aligreen.KeywordLibArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultMn8sVK = new BizType(\"defaultMn8sVK\", BizTypeArgs.builder()\n .bizTypeName(String.format(\"%s%s\", name,default_.result()))\n .citeTemplate(true)\n .industryInfo(\"社交-注册信息-昵称\")\n .build());\n\n var defaultKeywordLib = new KeywordLib(\"defaultKeywordLib\", KeywordLibArgs.builder()\n .category(\"BLACK\")\n .resourceType(\"TEXT\")\n .libType(\"textKeyword\")\n .keywordLibName(name)\n .matchMode(\"fuzzy\")\n .language(\"cn\")\n .bizTypes(\"example_007\")\n .lang(\"cn\")\n .enable(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultMn8sVK:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}${default.result}\n citeTemplate: true\n industryInfo: 社交-注册信息-昵称\n defaultKeywordLib:\n type: alicloud:aligreen:KeywordLib\n name: default\n properties:\n category: BLACK\n resourceType: TEXT\n libType: textKeyword\n keywordLibName: ${name}\n matchMode: fuzzy\n language: cn\n bizTypes:\n - example_007\n lang: cn\n enable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAligreen Keyword Lib can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/keywordLib:KeywordLib example \u003cid\u003e\n```\n\n", + "description": "Provides a Aligreen Keyword Lib resource.\n\nKeyword library for text detection.\n\nFor information about Aligreen Keyword Lib and how to use it, see [What is Keyword Lib](https://next.api.alibabacloud.com/document/Green/2017-08-23/CreateKeywordLib).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultMn8sVK = new alicloud.aligreen.BizType(\"defaultMn8sVK\", {\n bizTypeName: `${name}${_default.result}`,\n citeTemplate: true,\n industryInfo: \"社交-注册信息-昵称\",\n});\nconst defaultKeywordLib = new alicloud.aligreen.KeywordLib(\"default\", {\n category: \"BLACK\",\n resourceType: \"TEXT\",\n libType: \"textKeyword\",\n keywordLibName: name,\n matchMode: \"fuzzy\",\n language: \"cn\",\n bizTypes: [\"example_007\"],\n lang: \"cn\",\n enable: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_mn8s_vk = alicloud.aligreen.BizType(\"defaultMn8sVK\",\n biz_type_name=f\"{name}{default['result']}\",\n cite_template=True,\n industry_info=\"社交-注册信息-昵称\")\ndefault_keyword_lib = alicloud.aligreen.KeywordLib(\"default\",\n category=\"BLACK\",\n resource_type=\"TEXT\",\n lib_type=\"textKeyword\",\n keyword_lib_name=name,\n match_mode=\"fuzzy\",\n language=\"cn\",\n biz_types=[\"example_007\"],\n lang=\"cn\",\n enable=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultMn8sVK = new AliCloud.Aligreen.BizType(\"defaultMn8sVK\", new()\n {\n BizTypeName = $\"{name}{@default.Result}\",\n CiteTemplate = true,\n IndustryInfo = \"社交-注册信息-昵称\",\n });\n\n var defaultKeywordLib = new AliCloud.Aligreen.KeywordLib(\"default\", new()\n {\n Category = \"BLACK\",\n ResourceType = \"TEXT\",\n LibType = \"textKeyword\",\n KeywordLibName = name,\n MatchMode = \"fuzzy\",\n Language = \"cn\",\n BizTypes = new[]\n {\n \"example_007\",\n },\n Lang = \"cn\",\n Enable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/aligreen\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewBizType(ctx, \"defaultMn8sVK\", \u0026aligreen.BizTypeArgs{\n\t\t\tBizTypeName: pulumi.Sprintf(\"%v%v\", name, _default.Result),\n\t\t\tCiteTemplate: pulumi.Bool(true),\n\t\t\tIndustryInfo: pulumi.String(\"社交-注册信息-昵称\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aligreen.NewKeywordLib(ctx, \"default\", \u0026aligreen.KeywordLibArgs{\n\t\t\tCategory: pulumi.String(\"BLACK\"),\n\t\t\tResourceType: pulumi.String(\"TEXT\"),\n\t\t\tLibType: pulumi.String(\"textKeyword\"),\n\t\t\tKeywordLibName: pulumi.String(name),\n\t\t\tMatchMode: pulumi.String(\"fuzzy\"),\n\t\t\tLanguage: pulumi.String(\"cn\"),\n\t\t\tBizTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example_007\"),\n\t\t\t},\n\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\tEnable: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.aligreen.BizType;\nimport com.pulumi.alicloud.aligreen.BizTypeArgs;\nimport com.pulumi.alicloud.aligreen.KeywordLib;\nimport com.pulumi.alicloud.aligreen.KeywordLibArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultMn8sVK = new BizType(\"defaultMn8sVK\", BizTypeArgs.builder()\n .bizTypeName(String.format(\"%s%s\", name,default_.result()))\n .citeTemplate(true)\n .industryInfo(\"社交-注册信息-昵称\")\n .build());\n\n var defaultKeywordLib = new KeywordLib(\"defaultKeywordLib\", KeywordLibArgs.builder()\n .category(\"BLACK\")\n .resourceType(\"TEXT\")\n .libType(\"textKeyword\")\n .keywordLibName(name)\n .matchMode(\"fuzzy\")\n .language(\"cn\")\n .bizTypes(\"example_007\")\n .lang(\"cn\")\n .enable(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultMn8sVK:\n type: alicloud:aligreen:BizType\n properties:\n bizTypeName: ${name}${default.result}\n citeTemplate: true\n industryInfo: 社交-注册信息-昵称\n defaultKeywordLib:\n type: alicloud:aligreen:KeywordLib\n name: default\n properties:\n category: BLACK\n resourceType: TEXT\n libType: textKeyword\n keywordLibName: ${name}\n matchMode: fuzzy\n language: cn\n bizTypes:\n - example_007\n lang: cn\n enable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAligreen Keyword Lib can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:aligreen/keywordLib:KeywordLib example \u003cid\u003e\n```\n\n", "properties": { "bizTypes": { "type": "array", @@ -102146,7 +103973,7 @@ } }, "alicloud:alikafka/consumerGroup:ConsumerGroup": { - "description": "Provides an ALIKAFKA consumer group resource, see [What is alikafka consumer group](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createconsumergroup).\n\n\u003e **NOTE:** Available since v1.56.0.\n\n\u003e **NOTE:** Only the following regions support create alikafka consumer group.\n[`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {cidrBlock: \"172.16.0.0/12\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultConsumerGroup = new alicloud.alikafka.ConsumerGroup(\"default\", {\n consumerId: name,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\", cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_consumer_group = alicloud.alikafka.ConsumerGroup(\"default\",\n consumer_id=name,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultConsumerGroup = new AliCloud.AliKafka.ConsumerGroup(\"default\", new()\n {\n ConsumerId = name,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewConsumerGroup(ctx, \"default\", \u0026alikafka.ConsumerGroupArgs{\n\t\t\tConsumerId: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.ConsumerGroup;\nimport com.pulumi.alicloud.alikafka.ConsumerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultConsumerGroup = new ConsumerGroup(\"defaultConsumerGroup\", ConsumerGroupArgs.builder()\n .consumerId(name)\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: '50'\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultConsumerGroup:\n type: alicloud:alikafka:ConsumerGroup\n name: default\n properties:\n consumerId: ${name}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nALIKAFKA GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/consumerGroup:ConsumerGroup group alikafka_post-cn-123455abc:consumerId\n```\n\n", + "description": "Provides an ALIKAFKA consumer group resource, see [What is alikafka consumer group](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createconsumergroup).\n\n\u003e **NOTE:** Available since v1.56.0.\n\n\u003e **NOTE:** Only the following regions support create alikafka consumer group.\n[`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {cidrBlock: \"172.16.0.0/12\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultConsumerGroup = new alicloud.alikafka.ConsumerGroup(\"default\", {\n consumerId: name,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\", cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_consumer_group = alicloud.alikafka.ConsumerGroup(\"default\",\n consumer_id=name,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultConsumerGroup = new AliCloud.AliKafka.ConsumerGroup(\"default\", new()\n {\n ConsumerId = name,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewConsumerGroup(ctx, \"default\", \u0026alikafka.ConsumerGroupArgs{\n\t\t\tConsumerId: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.ConsumerGroup;\nimport com.pulumi.alicloud.alikafka.ConsumerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultConsumerGroup = new ConsumerGroup(\"defaultConsumerGroup\", ConsumerGroupArgs.builder()\n .consumerId(name)\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: '50'\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultConsumerGroup:\n type: alicloud:alikafka:ConsumerGroup\n name: default\n properties:\n consumerId: ${name}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nALIKAFKA GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/consumerGroup:ConsumerGroup group alikafka_post-cn-123455abc:consumerId\n```\n\n", "properties": { "consumerId": { "type": "string", @@ -102787,7 +104614,7 @@ } }, "alicloud:alikafka/instanceAllowedIpAttachment:InstanceAllowedIpAttachment": { - "description": "Provides a AliKafka Instance Allowed Ip Attachment resource.\n\nFor information about AliKafka Instance Allowed Ip Attachment and how to use it, see [What is Instance Allowed Ip Attachment](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-updateallowedip).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultInstanceAllowedIpAttachment = new alicloud.alikafka.InstanceAllowedIpAttachment(\"default\", {\n instanceId: defaultInstance.id,\n allowedType: \"vpc\",\n portRange: \"9092/9092\",\n allowedIp: \"114.237.9.78/32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_instance_allowed_ip_attachment = alicloud.alikafka.InstanceAllowedIpAttachment(\"default\",\n instance_id=default_instance.id,\n allowed_type=\"vpc\",\n port_range=\"9092/9092\",\n allowed_ip=\"114.237.9.78/32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultInstanceAllowedIpAttachment = new AliCloud.AliKafka.InstanceAllowedIpAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AllowedType = \"vpc\",\n PortRange = \"9092/9092\",\n AllowedIp = \"114.237.9.78/32\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewInstanceAllowedIpAttachment(ctx, \"default\", \u0026alikafka.InstanceAllowedIpAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAllowedType: pulumi.String(\"vpc\"),\n\t\t\tPortRange: pulumi.String(\"9092/9092\"),\n\t\t\tAllowedIp: pulumi.String(\"114.237.9.78/32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.InstanceAllowedIpAttachment;\nimport com.pulumi.alicloud.alikafka.InstanceAllowedIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultInstanceAllowedIpAttachment = new InstanceAllowedIpAttachment(\"defaultInstanceAllowedIpAttachment\", InstanceAllowedIpAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .allowedType(\"vpc\")\n .portRange(\"9092/9092\")\n .allowedIp(\"114.237.9.78/32\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: 1\n diskSize: 500\n deployType: 5\n ioMax: 20\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultInstanceAllowedIpAttachment:\n type: alicloud:alikafka:InstanceAllowedIpAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n allowedType: vpc\n portRange: 9092/9092\n allowedIp: 114.237.9.78/32\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAliKafka Instance Allowed Ip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/instanceAllowedIpAttachment:InstanceAllowedIpAttachment example \u003cinstance_id\u003e:\u003callowed_type\u003e:\u003cport_range\u003e:\u003callowed_ip\u003e\n```\n\n", + "description": "Provides a AliKafka Instance Allowed Ip Attachment resource.\n\nFor information about AliKafka Instance Allowed Ip Attachment and how to use it, see [What is Instance Allowed Ip Attachment](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-updateallowedip).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultInstanceAllowedIpAttachment = new alicloud.alikafka.InstanceAllowedIpAttachment(\"default\", {\n instanceId: defaultInstance.id,\n allowedType: \"vpc\",\n portRange: \"9092/9092\",\n allowedIp: \"114.237.9.78/32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_instance_allowed_ip_attachment = alicloud.alikafka.InstanceAllowedIpAttachment(\"default\",\n instance_id=default_instance.id,\n allowed_type=\"vpc\",\n port_range=\"9092/9092\",\n allowed_ip=\"114.237.9.78/32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultInstanceAllowedIpAttachment = new AliCloud.AliKafka.InstanceAllowedIpAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AllowedType = \"vpc\",\n PortRange = \"9092/9092\",\n AllowedIp = \"114.237.9.78/32\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewInstanceAllowedIpAttachment(ctx, \"default\", \u0026alikafka.InstanceAllowedIpAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAllowedType: pulumi.String(\"vpc\"),\n\t\t\tPortRange: pulumi.String(\"9092/9092\"),\n\t\t\tAllowedIp: pulumi.String(\"114.237.9.78/32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.InstanceAllowedIpAttachment;\nimport com.pulumi.alicloud.alikafka.InstanceAllowedIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultInstanceAllowedIpAttachment = new InstanceAllowedIpAttachment(\"defaultInstanceAllowedIpAttachment\", InstanceAllowedIpAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .allowedType(\"vpc\")\n .portRange(\"9092/9092\")\n .allowedIp(\"114.237.9.78/32\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: 1\n diskSize: 500\n deployType: 5\n ioMax: 20\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultInstanceAllowedIpAttachment:\n type: alicloud:alikafka:InstanceAllowedIpAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n allowedType: vpc\n portRange: 9092/9092\n allowedIp: 114.237.9.78/32\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAliKafka Instance Allowed Ip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/instanceAllowedIpAttachment:InstanceAllowedIpAttachment example \u003cinstance_id\u003e:\u003callowed_type\u003e:\u003cport_range\u003e:\u003callowed_ip\u003e\n```\n\n", "properties": { "allowedIp": { "type": "string", @@ -102868,7 +104695,7 @@ } }, "alicloud:alikafka/saslAcl:SaslAcl": { - "description": "Provides an ALIKAFKA sasl acl resource, see [What is alikafka sasl acl](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createacl).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n\u003e **NOTE:** Only the following regions support create alikafka sasl user.\n[`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n config: \"{\\\"enable.acl\\\":\\\"true\\\"}\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultTopic = new alicloud.alikafka.Topic(\"default\", {\n instanceId: defaultInstance.id,\n topic: \"example-topic\",\n remark: \"topic-remark\",\n});\nconst defaultSaslUser = new alicloud.alikafka.SaslUser(\"default\", {\n instanceId: defaultInstance.id,\n username: name,\n password: \"tf_example123\",\n});\nconst defaultSaslAcl = new alicloud.alikafka.SaslAcl(\"default\", {\n instanceId: defaultInstance.id,\n username: defaultSaslUser.username,\n aclResourceType: \"Topic\",\n aclResourceName: defaultTopic.topic,\n aclResourcePatternType: \"LITERAL\",\n aclOperationType: \"Write\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n config=\"{\\\"enable.acl\\\":\\\"true\\\"}\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_topic = alicloud.alikafka.Topic(\"default\",\n instance_id=default_instance.id,\n topic=\"example-topic\",\n remark=\"topic-remark\")\ndefault_sasl_user = alicloud.alikafka.SaslUser(\"default\",\n instance_id=default_instance.id,\n username=name,\n password=\"tf_example123\")\ndefault_sasl_acl = alicloud.alikafka.SaslAcl(\"default\",\n instance_id=default_instance.id,\n username=default_sasl_user.username,\n acl_resource_type=\"Topic\",\n acl_resource_name=default_topic.topic,\n acl_resource_pattern_type=\"LITERAL\",\n acl_operation_type=\"Write\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n Config = \"{\\\"enable.acl\\\":\\\"true\\\"}\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultTopic = new AliCloud.AliKafka.Topic(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n TopicName = \"example-topic\",\n Remark = \"topic-remark\",\n });\n\n var defaultSaslUser = new AliCloud.AliKafka.SaslUser(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = name,\n Password = \"tf_example123\",\n });\n\n var defaultSaslAcl = new AliCloud.AliKafka.SaslAcl(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = defaultSaslUser.Username,\n AclResourceType = \"Topic\",\n AclResourceName = defaultTopic.TopicName,\n AclResourcePatternType = \"LITERAL\",\n AclOperationType = \"Write\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tConfig: pulumi.String(\"{\\\"enable.acl\\\":\\\"true\\\"}\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := alikafka.NewTopic(ctx, \"default\", \u0026alikafka.TopicArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tTopic: pulumi.String(\"example-topic\"),\n\t\t\tRemark: pulumi.String(\"topic-remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSaslUser, err := alikafka.NewSaslUser(ctx, \"default\", \u0026alikafka.SaslUserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"tf_example123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewSaslAcl(ctx, \"default\", \u0026alikafka.SaslAclArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: defaultSaslUser.Username,\n\t\t\tAclResourceType: pulumi.String(\"Topic\"),\n\t\t\tAclResourceName: defaultTopic.Topic,\n\t\t\tAclResourcePatternType: pulumi.String(\"LITERAL\"),\n\t\t\tAclOperationType: pulumi.String(\"Write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.Topic;\nimport com.pulumi.alicloud.alikafka.TopicArgs;\nimport com.pulumi.alicloud.alikafka.SaslUser;\nimport com.pulumi.alicloud.alikafka.SaslUserArgs;\nimport com.pulumi.alicloud.alikafka.SaslAcl;\nimport com.pulumi.alicloud.alikafka.SaslAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .config(\"{\\\"enable.acl\\\":\\\"true\\\"}\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .instanceId(defaultInstance.id())\n .topic(\"example-topic\")\n .remark(\"topic-remark\")\n .build());\n\n var defaultSaslUser = new SaslUser(\"defaultSaslUser\", SaslUserArgs.builder()\n .instanceId(defaultInstance.id())\n .username(name)\n .password(\"tf_example123\")\n .build());\n\n var defaultSaslAcl = new SaslAcl(\"defaultSaslAcl\", SaslAclArgs.builder()\n .instanceId(defaultInstance.id())\n .username(defaultSaslUser.username())\n .aclResourceType(\"Topic\")\n .aclResourceName(defaultTopic.topic())\n .aclResourcePatternType(\"LITERAL\")\n .aclOperationType(\"Write\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n config: '{\"enable.acl\":\"true\"}'\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultTopic:\n type: alicloud:alikafka:Topic\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n topic: example-topic\n remark: topic-remark\n defaultSaslUser:\n type: alicloud:alikafka:SaslUser\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${name}\n password: tf_example123\n defaultSaslAcl:\n type: alicloud:alikafka:SaslAcl\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${defaultSaslUser.username}\n aclResourceType: Topic\n aclResourceName: ${defaultTopic.topic}\n aclResourcePatternType: LITERAL\n aclOperationType: Write\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nALIKAFKA GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/saslAcl:SaslAcl acl alikafka_post-cn-123455abc:username:Topic:test-topic:LITERAL:Write\n```\n\n", + "description": "Provides an ALIKAFKA sasl acl resource, see [What is alikafka sasl acl](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createacl).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n\u003e **NOTE:** Only the following regions support create alikafka sasl user.\n[`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n config: \"{\\\"enable.acl\\\":\\\"true\\\"}\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n});\nconst defaultTopic = new alicloud.alikafka.Topic(\"default\", {\n instanceId: defaultInstance.id,\n topic: \"example-topic\",\n remark: \"topic-remark\",\n});\nconst defaultSaslUser = new alicloud.alikafka.SaslUser(\"default\", {\n instanceId: defaultInstance.id,\n username: name,\n password: \"tf_example123\",\n});\nconst defaultSaslAcl = new alicloud.alikafka.SaslAcl(\"default\", {\n instanceId: defaultInstance.id,\n username: defaultSaslUser.username,\n aclResourceType: \"Topic\",\n aclResourceName: defaultTopic.topic,\n aclResourcePatternType: \"LITERAL\",\n aclOperationType: \"Write\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n config=\"{\\\"enable.acl\\\":\\\"true\\\"}\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id)\ndefault_topic = alicloud.alikafka.Topic(\"default\",\n instance_id=default_instance.id,\n topic=\"example-topic\",\n remark=\"topic-remark\")\ndefault_sasl_user = alicloud.alikafka.SaslUser(\"default\",\n instance_id=default_instance.id,\n username=name,\n password=\"tf_example123\")\ndefault_sasl_acl = alicloud.alikafka.SaslAcl(\"default\",\n instance_id=default_instance.id,\n username=default_sasl_user.username,\n acl_resource_type=\"Topic\",\n acl_resource_name=default_topic.topic,\n acl_resource_pattern_type=\"LITERAL\",\n acl_operation_type=\"Write\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n Config = \"{\\\"enable.acl\\\":\\\"true\\\"}\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n });\n\n var defaultTopic = new AliCloud.AliKafka.Topic(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n TopicName = \"example-topic\",\n Remark = \"topic-remark\",\n });\n\n var defaultSaslUser = new AliCloud.AliKafka.SaslUser(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = name,\n Password = \"tf_example123\",\n });\n\n var defaultSaslAcl = new AliCloud.AliKafka.SaslAcl(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = defaultSaslUser.Username,\n AclResourceType = \"Topic\",\n AclResourceName = defaultTopic.TopicName,\n AclResourcePatternType = \"LITERAL\",\n AclOperationType = \"Write\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tConfig: pulumi.String(\"{\\\"enable.acl\\\":\\\"true\\\"}\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := alikafka.NewTopic(ctx, \"default\", \u0026alikafka.TopicArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tTopic: pulumi.String(\"example-topic\"),\n\t\t\tRemark: pulumi.String(\"topic-remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSaslUser, err := alikafka.NewSaslUser(ctx, \"default\", \u0026alikafka.SaslUserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"tf_example123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewSaslAcl(ctx, \"default\", \u0026alikafka.SaslAclArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: defaultSaslUser.Username,\n\t\t\tAclResourceType: pulumi.String(\"Topic\"),\n\t\t\tAclResourceName: defaultTopic.Topic,\n\t\t\tAclResourcePatternType: pulumi.String(\"LITERAL\"),\n\t\t\tAclOperationType: pulumi.String(\"Write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.Topic;\nimport com.pulumi.alicloud.alikafka.TopicArgs;\nimport com.pulumi.alicloud.alikafka.SaslUser;\nimport com.pulumi.alicloud.alikafka.SaslUserArgs;\nimport com.pulumi.alicloud.alikafka.SaslAcl;\nimport com.pulumi.alicloud.alikafka.SaslAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .config(\"{\\\"enable.acl\\\":\\\"true\\\"}\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .instanceId(defaultInstance.id())\n .topic(\"example-topic\")\n .remark(\"topic-remark\")\n .build());\n\n var defaultSaslUser = new SaslUser(\"defaultSaslUser\", SaslUserArgs.builder()\n .instanceId(defaultInstance.id())\n .username(name)\n .password(\"tf_example123\")\n .build());\n\n var defaultSaslAcl = new SaslAcl(\"defaultSaslAcl\", SaslAclArgs.builder()\n .instanceId(defaultInstance.id())\n .username(defaultSaslUser.username())\n .aclResourceType(\"Topic\")\n .aclResourceName(defaultTopic.topic())\n .aclResourcePatternType(\"LITERAL\")\n .aclOperationType(\"Write\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n config: '{\"enable.acl\":\"true\"}'\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n defaultTopic:\n type: alicloud:alikafka:Topic\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n topic: example-topic\n remark: topic-remark\n defaultSaslUser:\n type: alicloud:alikafka:SaslUser\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${name}\n password: tf_example123\n defaultSaslAcl:\n type: alicloud:alikafka:SaslAcl\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${defaultSaslUser.username}\n aclResourceType: Topic\n aclResourceName: ${defaultTopic.topic}\n aclResourcePatternType: LITERAL\n aclOperationType: Write\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nALIKAFKA GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/saslAcl:SaslAcl acl alikafka_post-cn-123455abc:username:Topic:test-topic:LITERAL:Write\n```\n\n", "properties": { "aclOperationType": { "type": "string", @@ -102990,11 +104817,11 @@ } }, "alicloud:alikafka/saslUser:SaslUser": { - "description": "Provides an Alikafka Sasl User resource.\n\n\u003e **NOTE:** Available since v1.66.0.\n\n\u003e **NOTE:** Only the following regions support create alikafka Sasl User.\n[`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`]\n\nFor information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser).\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n config: ` {\n \\\\\"enable.acl\\\\\": \\\\\"true\\\\\"\n }\n`,\n});\nconst defaultSaslUser = new alicloud.alikafka.SaslUser(\"default\", {\n instanceId: defaultInstance.id,\n username: name,\n password: \"tf_example123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id,\n config=\"\"\" {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n\"\"\")\ndefault_sasl_user = alicloud.alikafka.SaslUser(\"default\",\n instance_id=default_instance.id,\n username=name,\n password=\"tf_example123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n Config = @\" {\n \\\"\"enable.acl\\\"\": \\\"\"true\\\"\"\n }\n\",\n });\n\n var defaultSaslUser = new AliCloud.AliKafka.SaslUser(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = name,\n Password = \"tf_example123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t\tConfig: pulumi.String(\" {\\n \\\\\\\"enable.acl\\\\\\\": \\\\\\\"true\\\\\\\"\\n }\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewSaslUser(ctx, \"default\", \u0026alikafka.SaslUserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"tf_example123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.SaslUser;\nimport com.pulumi.alicloud.alikafka.SaslUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .config(\"\"\"\n {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n \"\"\")\n .build());\n\n var defaultSaslUser = new SaslUser(\"defaultSaslUser\", SaslUserArgs.builder()\n .instanceId(defaultInstance.id())\n .username(name)\n .password(\"tf_example123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n config: |2\n {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n defaultSaslUser:\n type: alicloud:alikafka:SaslUser\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${name}\n password: tf_example123\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlikafka Sasl User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/saslUser:SaslUser example \u003cinstance_id\u003e:\u003cusername\u003e\n```\n\n", + "description": "Provides an AliKafka Sasl User resource.\n\n\n\nFor information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n config: ` {\n \\\\\"enable.acl\\\\\": \\\\\"true\\\\\"\n }\n`,\n});\nconst defaultSaslUser = new alicloud.alikafka.SaslUser(\"default\", {\n instanceId: defaultInstance.id,\n username: name,\n password: \"tf_example123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id,\n config=\"\"\" {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n\"\"\")\ndefault_sasl_user = alicloud.alikafka.SaslUser(\"default\",\n instance_id=default_instance.id,\n username=name,\n password=\"tf_example123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n Config = @\" {\n \\\"\"enable.acl\\\"\": \\\"\"true\\\"\"\n }\n\",\n });\n\n var defaultSaslUser = new AliCloud.AliKafka.SaslUser(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Username = name,\n Password = \"tf_example123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t\tConfig: pulumi.String(\" {\\n \\\\\\\"enable.acl\\\\\\\": \\\\\\\"true\\\\\\\"\\n }\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alikafka.NewSaslUser(ctx, \"default\", \u0026alikafka.SaslUserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUsername: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"tf_example123\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.SaslUser;\nimport com.pulumi.alicloud.alikafka.SaslUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .config(\"\"\"\n {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n \"\"\")\n .build());\n\n var defaultSaslUser = new SaslUser(\"defaultSaslUser\", SaslUserArgs.builder()\n .instanceId(defaultInstance.id())\n .username(name)\n .password(\"tf_example123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n config: |2\n {\n \\\"enable.acl\\\": \\\"true\\\"\n }\n defaultSaslUser:\n type: alicloud:alikafka:SaslUser\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n username: ${name}\n password: tf_example123\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAliKafka Sasl User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/saslUser:SaslUser example \u003cinstance_id\u003e:\u003cusername\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the ALIKAFKA Instance that owns the groups.\n" + "description": "The instance ID.\n" }, "kmsEncryptedPassword": { "type": "string", @@ -103007,6 +104834,10 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating a user with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "mechanism": { + "type": "string", + "description": "The encryption method. Valid values:\n- SCRAM-SHA-512. This is the default value.\n- SCRAM-SHA-256\n\u003e **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances.\n" + }, "password": { "type": "string", "description": "The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields.\n", @@ -103014,7 +104845,7 @@ }, "type": { "type": "string", - "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scram`\" pulumi-lang-dotnet=\"`Scram`\" pulumi-lang-go=\"`scram`\" pulumi-lang-python=\"`scram`\" pulumi-lang-yaml=\"`scram`\" pulumi-lang-java=\"`scram`\"\u003e`scram`\u003c/span\u003e.\n" + "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values:\n" }, "username": { "type": "string", @@ -103023,13 +104854,15 @@ }, "required": [ "instanceId", + "mechanism", + "password", "type", "username" ], "inputProperties": { "instanceId": { "type": "string", - "description": "ID of the ALIKAFKA Instance that owns the groups.\n", + "description": "The instance ID.\n", "willReplaceOnChanges": true }, "kmsEncryptedPassword": { @@ -103043,6 +104876,11 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating a user with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "mechanism": { + "type": "string", + "description": "The encryption method. Valid values:\n- SCRAM-SHA-512. This is the default value.\n- SCRAM-SHA-256\n\u003e **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances.\n", + "willReplaceOnChanges": true + }, "password": { "type": "string", "description": "The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields.\n", @@ -103050,7 +104888,7 @@ }, "type": { "type": "string", - "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scram`\" pulumi-lang-dotnet=\"`Scram`\" pulumi-lang-go=\"`scram`\" pulumi-lang-python=\"`scram`\" pulumi-lang-yaml=\"`scram`\" pulumi-lang-java=\"`scram`\"\u003e`scram`\u003c/span\u003e.\n", + "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values:\n", "willReplaceOnChanges": true }, "username": { @@ -103068,7 +104906,7 @@ "properties": { "instanceId": { "type": "string", - "description": "ID of the ALIKAFKA Instance that owns the groups.\n", + "description": "The instance ID.\n", "willReplaceOnChanges": true }, "kmsEncryptedPassword": { @@ -103082,6 +104920,11 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating a user with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "mechanism": { + "type": "string", + "description": "The encryption method. Valid values:\n- SCRAM-SHA-512. This is the default value.\n- SCRAM-SHA-256\n\u003e **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances.\n", + "willReplaceOnChanges": true + }, "password": { "type": "string", "description": "The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields.\n", @@ -103089,7 +104932,7 @@ }, "type": { "type": "string", - "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scram`\" pulumi-lang-dotnet=\"`Scram`\" pulumi-lang-go=\"`scram`\" pulumi-lang-python=\"`scram`\" pulumi-lang-yaml=\"`scram`\" pulumi-lang-java=\"`scram`\"\u003e`scram`\u003c/span\u003e.\n", + "description": "The authentication mechanism. Default value: \u003cspan pulumi-lang-nodejs=\"`plain`\" pulumi-lang-dotnet=\"`Plain`\" pulumi-lang-go=\"`plain`\" pulumi-lang-python=\"`plain`\" pulumi-lang-yaml=\"`plain`\" pulumi-lang-java=\"`plain`\"\u003e`plain`\u003c/span\u003e. Valid values:\n", "willReplaceOnChanges": true }, "username": { @@ -103102,7 +104945,7 @@ } }, "alicloud:alikafka/topic:Topic": { - "description": "Provides a Alikafka Topic resource.\n\nTopic in kafka.\n\nFor information about Alikafka Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createtopic).\n\n\u003e **NOTE:** Available since v1.56.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: name,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n config: JSON.stringify({\n \"enable.acl\": \"true\",\n }),\n});\nconst defaultTopic = new alicloud.alikafka.Topic(\"default\", {\n instanceId: defaultInstance.id,\n topic: name,\n remark: name,\n localTopic: true,\n compactTopic: true,\n partitionNum: 18,\n configs: JSON.stringify({\n \"message.format.version\": \"2.2.0\",\n \"max.message.bytes\": \"10485760\",\n \"min.insync.replicas\": \"1\",\n \"replication-factor\": \"2\",\n \"retention.ms\": \"3600000\",\n }),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=name,\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id,\n config=json.dumps({\n \"enable.acl\": \"true\",\n }))\ndefault_topic = alicloud.alikafka.Topic(\"default\",\n instance_id=default_instance.id,\n topic=name,\n remark=name,\n local_topic=True,\n compact_topic=True,\n partition_num=18,\n configs=json.dumps({\n \"message.format.version\": \"2.2.0\",\n \"max.message.bytes\": \"10485760\",\n \"min.insync.replicas\": \"1\",\n \"replication-factor\": \"2\",\n \"retention.ms\": \"3600000\",\n }),\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = name,\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"enable.acl\"] = \"true\",\n }),\n });\n\n var defaultTopic = new AliCloud.AliKafka.Topic(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n TopicName = name,\n Remark = name,\n LocalTopic = true,\n CompactTopic = true,\n PartitionNum = 18,\n Configs = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"message.format.version\"] = \"2.2.0\",\n [\"max.message.bytes\"] = \"10485760\",\n [\"min.insync.replicas\"] = \"1\",\n [\"replication-factor\"] = \"2\",\n [\"retention.ms\"] = \"3600000\",\n }),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\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\"enable.acl\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t\tConfig: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"message.format.version\": \"2.2.0\",\n\t\t\t\"max.message.bytes\": \"10485760\",\n\t\t\t\"min.insync.replicas\": \"1\",\n\t\t\t\"replication-factor\": \"2\",\n\t\t\t\"retention.ms\": \"3600000\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = alikafka.NewTopic(ctx, \"default\", \u0026alikafka.TopicArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tTopic: pulumi.String(name),\n\t\t\tRemark: pulumi.String(name),\n\t\t\tLocalTopic: pulumi.Bool(true),\n\t\t\tCompactTopic: pulumi.Bool(true),\n\t\t\tPartitionNum: pulumi.Int(18),\n\t\t\tConfigs: pulumi.String(json1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.Topic;\nimport com.pulumi.alicloud.alikafka.TopicArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(name)\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"enable.acl\", \"true\")\n )))\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .instanceId(defaultInstance.id())\n .topic(name)\n .remark(name)\n .localTopic(true)\n .compactTopic(true)\n .partitionNum(18)\n .configs(serializeJson(\n jsonObject(\n jsonProperty(\"message.format.version\", \"2.2.0\"),\n jsonProperty(\"max.message.bytes\", \"10485760\"),\n jsonProperty(\"min.insync.replicas\", \"1\"),\n jsonProperty(\"replication-factor\", \"2\"),\n jsonProperty(\"retention.ms\", \"3600000\")\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n config:\n fn::toJSON:\n enable.acl: 'true'\n defaultTopic:\n type: alicloud:alikafka:Topic\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n topic: ${name}\n remark: ${name}\n localTopic: 'true'\n compactTopic: 'true'\n partitionNum: '18'\n configs:\n fn::toJSON:\n message.format.version: 2.2.0\n max.message.bytes: '10485760'\n min.insync.replicas: '1'\n replication-factor: '2'\n retention.ms: '3600000'\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlikafka Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/topic:Topic example \u003cinstance_id\u003e:\u003ctopic\u003e\n```\n\n", + "description": "Provides a Alikafka Topic resource.\n\nTopic in kafka.\n\nFor information about Alikafka Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createtopic).\n\n\u003e **NOTE:** Available since v1.56.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.alikafka.Instance(\"default\", {\n name: name,\n partitionNum: 50,\n diskType: 1,\n diskSize: 500,\n deployType: 5,\n ioMax: 20,\n specType: \"professional\",\n serviceVersion: \"2.2.0\",\n vswitchId: defaultSwitch.id,\n securityGroup: defaultSecurityGroup.id,\n config: JSON.stringify({\n \"enable.acl\": \"true\",\n }),\n});\nconst defaultTopic = new alicloud.alikafka.Topic(\"default\", {\n instanceId: defaultInstance.id,\n topic: name,\n remark: name,\n localTopic: true,\n compactTopic: true,\n partitionNum: 18,\n configs: JSON.stringify({\n \"message.format.version\": \"2.2.0\",\n \"max.message.bytes\": \"10485760\",\n \"min.insync.replicas\": \"1\",\n \"replication-factor\": \"2\",\n \"retention.ms\": \"3600000\",\n }),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.alikafka.Instance(\"default\",\n name=name,\n partition_num=50,\n disk_type=1,\n disk_size=500,\n deploy_type=5,\n io_max=20,\n spec_type=\"professional\",\n service_version=\"2.2.0\",\n vswitch_id=default_switch.id,\n security_group=default_security_group.id,\n config=json.dumps({\n \"enable.acl\": \"true\",\n }))\ndefault_topic = alicloud.alikafka.Topic(\"default\",\n instance_id=default_instance.id,\n topic=name,\n remark=name,\n local_topic=True,\n compact_topic=True,\n partition_num=18,\n configs=json.dumps({\n \"message.format.version\": \"2.2.0\",\n \"max.message.bytes\": \"10485760\",\n \"min.insync.replicas\": \"1\",\n \"replication-factor\": \"2\",\n \"retention.ms\": \"3600000\",\n }),\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.AliKafka.Instance(\"default\", new()\n {\n Name = name,\n PartitionNum = 50,\n DiskType = 1,\n DiskSize = 500,\n DeployType = 5,\n IoMax = 20,\n SpecType = \"professional\",\n ServiceVersion = \"2.2.0\",\n VswitchId = defaultSwitch.Id,\n SecurityGroup = defaultSecurityGroup.Id,\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"enable.acl\"] = \"true\",\n }),\n });\n\n var defaultTopic = new AliCloud.AliKafka.Topic(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n TopicName = name,\n Remark = name,\n LocalTopic = true,\n CompactTopic = true,\n PartitionNum = 18,\n Configs = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"message.format.version\"] = \"2.2.0\",\n [\"max.message.bytes\"] = \"10485760\",\n [\"min.insync.replicas\"] = \"1\",\n [\"replication-factor\"] = \"2\",\n [\"retention.ms\"] = \"3600000\",\n }),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\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\"enable.acl\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultInstance, err := alikafka.NewInstance(ctx, \"default\", \u0026alikafka.InstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tPartitionNum: pulumi.Int(50),\n\t\t\tDiskType: pulumi.Int(1),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tDeployType: pulumi.Int(5),\n\t\t\tIoMax: pulumi.Int(20),\n\t\t\tSpecType: pulumi.String(\"professional\"),\n\t\t\tServiceVersion: pulumi.String(\"2.2.0\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroup: defaultSecurityGroup.ID(),\n\t\t\tConfig: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"message.format.version\": \"2.2.0\",\n\t\t\t\"max.message.bytes\": \"10485760\",\n\t\t\t\"min.insync.replicas\": \"1\",\n\t\t\t\"replication-factor\": \"2\",\n\t\t\t\"retention.ms\": \"3600000\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = alikafka.NewTopic(ctx, \"default\", \u0026alikafka.TopicArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tTopic: pulumi.String(name),\n\t\t\tRemark: pulumi.String(name),\n\t\t\tLocalTopic: pulumi.Bool(true),\n\t\t\tCompactTopic: pulumi.Bool(true),\n\t\t\tPartitionNum: pulumi.Int(18),\n\t\t\tConfigs: pulumi.String(json1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.alikafka.Instance;\nimport com.pulumi.alicloud.alikafka.InstanceArgs;\nimport com.pulumi.alicloud.alikafka.Topic;\nimport com.pulumi.alicloud.alikafka.TopicArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(name)\n .partitionNum(50)\n .diskType(1)\n .diskSize(500)\n .deployType(5)\n .ioMax(20)\n .specType(\"professional\")\n .serviceVersion(\"2.2.0\")\n .vswitchId(defaultSwitch.id())\n .securityGroup(defaultSecurityGroup.id())\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"enable.acl\", \"true\")\n )))\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .instanceId(defaultInstance.id())\n .topic(name)\n .remark(name)\n .localTopic(true)\n .compactTopic(true)\n .partitionNum(18)\n .configs(serializeJson(\n jsonObject(\n jsonProperty(\"message.format.version\", \"2.2.0\"),\n jsonProperty(\"max.message.bytes\", \"10485760\"),\n jsonProperty(\"min.insync.replicas\", \"1\"),\n jsonProperty(\"replication-factor\", \"2\"),\n jsonProperty(\"retention.ms\", \"3600000\")\n )))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:alikafka:Instance\n name: default\n properties:\n name: ${name}\n partitionNum: 50\n diskType: '1'\n diskSize: '500'\n deployType: '5'\n ioMax: '20'\n specType: professional\n serviceVersion: 2.2.0\n vswitchId: ${defaultSwitch.id}\n securityGroup: ${defaultSecurityGroup.id}\n config:\n fn::toJSON:\n enable.acl: 'true'\n defaultTopic:\n type: alicloud:alikafka:Topic\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n topic: ${name}\n remark: ${name}\n localTopic: 'true'\n compactTopic: 'true'\n partitionNum: '18'\n configs:\n fn::toJSON:\n message.format.version: 2.2.0\n max.message.bytes: '10485760'\n min.insync.replicas: '1'\n replication-factor: '2'\n retention.ms: '3600000'\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlikafka Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:alikafka/topic:Topic example \u003cinstance_id\u003e:\u003ctopic\u003e\n```\n\n", "properties": { "compactTopic": { "type": "boolean", @@ -103282,7 +105125,7 @@ } }, "alicloud:amqp/binding:Binding": { - "description": "Provides a RabbitMQ (AMQP) Binding resource.\n\nFor information about RabbitMQ (AMQP) Binding and how to use it, see [What is Binding](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createbinding).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.amqp.Instance(\"default\", {\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n queueCapacity: \"200\",\n storageSize: \"700\",\n supportEip: false,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: _default.id,\n virtualHostName: \"tf-example\",\n});\nconst defaultExchange = new alicloud.amqp.Exchange(\"default\", {\n autoDeleteState: false,\n exchangeName: \"tf-example\",\n exchangeType: \"HEADERS\",\n instanceId: _default.id,\n internal: false,\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst defaultQueue = new alicloud.amqp.Queue(\"default\", {\n instanceId: _default.id,\n queueName: \"tf-example\",\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst defaultBinding = new alicloud.amqp.Binding(\"default\", {\n argument: \"x-match:all\",\n bindingKey: defaultQueue.queueName,\n bindingType: \"QUEUE\",\n destinationName: \"tf-example\",\n instanceId: _default.id,\n sourceExchange: defaultExchange.exchangeName,\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.amqp.Instance(\"default\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n queue_capacity=\"200\",\n storage_size=\"700\",\n support_eip=False,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default.id,\n virtual_host_name=\"tf-example\")\ndefault_exchange = alicloud.amqp.Exchange(\"default\",\n auto_delete_state=False,\n exchange_name=\"tf-example\",\n exchange_type=\"HEADERS\",\n instance_id=default.id,\n internal=False,\n virtual_host_name=default_virtual_host.virtual_host_name)\ndefault_queue = alicloud.amqp.Queue(\"default\",\n instance_id=default.id,\n queue_name=\"tf-example\",\n virtual_host_name=default_virtual_host.virtual_host_name)\ndefault_binding = alicloud.amqp.Binding(\"default\",\n argument=\"x-match:all\",\n binding_key=default_queue.queue_name,\n binding_type=\"QUEUE\",\n destination_name=\"tf-example\",\n instance_id=default.id,\n source_exchange=default_exchange.exchange_name,\n virtual_host_name=default_virtual_host.virtual_host_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n QueueCapacity = \"200\",\n StorageSize = \"700\",\n SupportEip = false,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = @default.Id,\n VirtualHostName = \"tf-example\",\n });\n\n var defaultExchange = new AliCloud.Amqp.Exchange(\"default\", new()\n {\n AutoDeleteState = false,\n ExchangeName = \"tf-example\",\n ExchangeType = \"HEADERS\",\n InstanceId = @default.Id,\n Internal = false,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var defaultQueue = new AliCloud.Amqp.Queue(\"default\", new()\n {\n InstanceId = @default.Id,\n QueueName = \"tf-example\",\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var defaultBinding = new AliCloud.Amqp.Binding(\"default\", new()\n {\n Argument = \"x-match:all\",\n BindingKey = defaultQueue.QueueName,\n BindingType = \"QUEUE\",\n DestinationName = \"tf-example\",\n InstanceId = @default.Id,\n SourceExchange = defaultExchange.ExchangeName,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tStorageSize: pulumi.String(\"700\"),\n\t\t\tSupportEip: pulumi.Bool(false),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tVirtualHostName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultExchange, err := amqp.NewExchange(ctx, \"default\", \u0026amqp.ExchangeArgs{\n\t\t\tAutoDeleteState: pulumi.Bool(false),\n\t\t\tExchangeName: pulumi.String(\"tf-example\"),\n\t\t\tExchangeType: pulumi.String(\"HEADERS\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tInternal: pulumi.Bool(false),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := amqp.NewQueue(ctx, \"default\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tQueueName: pulumi.String(\"tf-example\"),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewBinding(ctx, \"default\", \u0026amqp.BindingArgs{\n\t\t\tArgument: pulumi.String(\"x-match:all\"),\n\t\t\tBindingKey: defaultQueue.QueueName,\n\t\t\tBindingType: pulumi.String(\"QUEUE\"),\n\t\t\tDestinationName: pulumi.String(\"tf-example\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tSourceExchange: defaultExchange.ExchangeName,\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Exchange;\nimport com.pulumi.alicloud.amqp.ExchangeArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\nimport com.pulumi.alicloud.amqp.Binding;\nimport com.pulumi.alicloud.amqp.BindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .queueCapacity(\"200\")\n .storageSize(\"700\")\n .supportEip(false)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(default_.id())\n .virtualHostName(\"tf-example\")\n .build());\n\n var defaultExchange = new Exchange(\"defaultExchange\", ExchangeArgs.builder()\n .autoDeleteState(false)\n .exchangeName(\"tf-example\")\n .exchangeType(\"HEADERS\")\n .instanceId(default_.id())\n .internal(false)\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .instanceId(default_.id())\n .queueName(\"tf-example\")\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var defaultBinding = new Binding(\"defaultBinding\", BindingArgs.builder()\n .argument(\"x-match:all\")\n .bindingKey(defaultQueue.queueName())\n .bindingType(\"QUEUE\")\n .destinationName(\"tf-example\")\n .instanceId(default_.id())\n .sourceExchange(defaultExchange.exchangeName())\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:amqp:Instance\n properties:\n instanceType: enterprise\n maxTps: 3000\n queueCapacity: 200\n storageSize: 700\n supportEip: false\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${default.id}\n virtualHostName: tf-example\n defaultExchange:\n type: alicloud:amqp:Exchange\n name: default\n properties:\n autoDeleteState: false\n exchangeName: tf-example\n exchangeType: HEADERS\n instanceId: ${default.id}\n internal: false\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n defaultQueue:\n type: alicloud:amqp:Queue\n name: default\n properties:\n instanceId: ${default.id}\n queueName: tf-example\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n defaultBinding:\n type: alicloud:amqp:Binding\n name: default\n properties:\n argument: x-match:all\n bindingKey: ${defaultQueue.queueName}\n bindingType: QUEUE\n destinationName: tf-example\n instanceId: ${default.id}\n sourceExchange: ${defaultExchange.exchangeName}\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRabbitMQ (AMQP) Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/binding:Binding example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003csource_exchange\u003e:\u003cdestination_name\u003e\n```\n\n", + "description": "Provides a RabbitMQ (AMQP) Binding resource.\n\nFor information about RabbitMQ (AMQP) Binding and how to use it, see [What is Binding](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createbinding).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.amqp.Instance(\"default\", {\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n queueCapacity: \"200\",\n storageSize: \"700\",\n supportEip: false,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: _default.id,\n virtualHostName: \"tf-example\",\n});\nconst defaultExchange = new alicloud.amqp.Exchange(\"default\", {\n autoDeleteState: false,\n exchangeName: \"tf-example\",\n exchangeType: \"HEADERS\",\n instanceId: _default.id,\n internal: false,\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst defaultQueue = new alicloud.amqp.Queue(\"default\", {\n instanceId: _default.id,\n queueName: \"tf-example\",\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst defaultBinding = new alicloud.amqp.Binding(\"default\", {\n argument: \"x-match:all\",\n bindingKey: defaultQueue.queueName,\n bindingType: \"QUEUE\",\n destinationName: \"tf-example\",\n instanceId: _default.id,\n sourceExchange: defaultExchange.exchangeName,\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.amqp.Instance(\"default\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n queue_capacity=\"200\",\n storage_size=\"700\",\n support_eip=False,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default.id,\n virtual_host_name=\"tf-example\")\ndefault_exchange = alicloud.amqp.Exchange(\"default\",\n auto_delete_state=False,\n exchange_name=\"tf-example\",\n exchange_type=\"HEADERS\",\n instance_id=default.id,\n internal=False,\n virtual_host_name=default_virtual_host.virtual_host_name)\ndefault_queue = alicloud.amqp.Queue(\"default\",\n instance_id=default.id,\n queue_name=\"tf-example\",\n virtual_host_name=default_virtual_host.virtual_host_name)\ndefault_binding = alicloud.amqp.Binding(\"default\",\n argument=\"x-match:all\",\n binding_key=default_queue.queue_name,\n binding_type=\"QUEUE\",\n destination_name=\"tf-example\",\n instance_id=default.id,\n source_exchange=default_exchange.exchange_name,\n virtual_host_name=default_virtual_host.virtual_host_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n QueueCapacity = \"200\",\n StorageSize = \"700\",\n SupportEip = false,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = @default.Id,\n VirtualHostName = \"tf-example\",\n });\n\n var defaultExchange = new AliCloud.Amqp.Exchange(\"default\", new()\n {\n AutoDeleteState = false,\n ExchangeName = \"tf-example\",\n ExchangeType = \"HEADERS\",\n InstanceId = @default.Id,\n Internal = false,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var defaultQueue = new AliCloud.Amqp.Queue(\"default\", new()\n {\n InstanceId = @default.Id,\n QueueName = \"tf-example\",\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var defaultBinding = new AliCloud.Amqp.Binding(\"default\", new()\n {\n Argument = \"x-match:all\",\n BindingKey = defaultQueue.QueueName,\n BindingType = \"QUEUE\",\n DestinationName = \"tf-example\",\n InstanceId = @default.Id,\n SourceExchange = defaultExchange.ExchangeName,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tStorageSize: pulumi.String(\"700\"),\n\t\t\tSupportEip: pulumi.Bool(false),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tVirtualHostName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultExchange, err := amqp.NewExchange(ctx, \"default\", \u0026amqp.ExchangeArgs{\n\t\t\tAutoDeleteState: pulumi.Bool(false),\n\t\t\tExchangeName: pulumi.String(\"tf-example\"),\n\t\t\tExchangeType: pulumi.String(\"HEADERS\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tInternal: pulumi.Bool(false),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := amqp.NewQueue(ctx, \"default\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tQueueName: pulumi.String(\"tf-example\"),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewBinding(ctx, \"default\", \u0026amqp.BindingArgs{\n\t\t\tArgument: pulumi.String(\"x-match:all\"),\n\t\t\tBindingKey: defaultQueue.QueueName,\n\t\t\tBindingType: pulumi.String(\"QUEUE\"),\n\t\t\tDestinationName: pulumi.String(\"tf-example\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tSourceExchange: defaultExchange.ExchangeName,\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Exchange;\nimport com.pulumi.alicloud.amqp.ExchangeArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\nimport com.pulumi.alicloud.amqp.Binding;\nimport com.pulumi.alicloud.amqp.BindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .queueCapacity(\"200\")\n .storageSize(\"700\")\n .supportEip(false)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(default_.id())\n .virtualHostName(\"tf-example\")\n .build());\n\n var defaultExchange = new Exchange(\"defaultExchange\", ExchangeArgs.builder()\n .autoDeleteState(false)\n .exchangeName(\"tf-example\")\n .exchangeType(\"HEADERS\")\n .instanceId(default_.id())\n .internal(false)\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .instanceId(default_.id())\n .queueName(\"tf-example\")\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var defaultBinding = new Binding(\"defaultBinding\", BindingArgs.builder()\n .argument(\"x-match:all\")\n .bindingKey(defaultQueue.queueName())\n .bindingType(\"QUEUE\")\n .destinationName(\"tf-example\")\n .instanceId(default_.id())\n .sourceExchange(defaultExchange.exchangeName())\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:amqp:Instance\n properties:\n instanceType: enterprise\n maxTps: 3000\n queueCapacity: 200\n storageSize: 700\n supportEip: false\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${default.id}\n virtualHostName: tf-example\n defaultExchange:\n type: alicloud:amqp:Exchange\n name: default\n properties:\n autoDeleteState: false\n exchangeName: tf-example\n exchangeType: HEADERS\n instanceId: ${default.id}\n internal: false\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n defaultQueue:\n type: alicloud:amqp:Queue\n name: default\n properties:\n instanceId: ${default.id}\n queueName: tf-example\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n defaultBinding:\n type: alicloud:amqp:Binding\n name: default\n properties:\n argument: x-match:all\n bindingKey: ${defaultQueue.queueName}\n bindingType: QUEUE\n destinationName: tf-example\n instanceId: ${default.id}\n sourceExchange: ${defaultExchange.exchangeName}\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRabbitMQ (AMQP) Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/binding:Binding example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003csource_exchange\u003e:\u003cdestination_name\u003e\n```\n\n", "properties": { "argument": { "type": "string", @@ -103410,7 +105253,7 @@ } }, "alicloud:amqp/exchange:Exchange": { - "description": "Provides a RabbitMQ (AMQP) Exchange resource.\n\n\n\nFor information about RabbitMQ (AMQP) Exchange and how to use it, see [What is Exchange](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createexchange).\n\n\u003e **NOTE:** Available since v1.128.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst virtualHostName = config.get(\"virtualHostName\") || \"/\";\nconst createInstance = new alicloud.amqp.Instance(\"CreateInstance\", {\n renewalDuration: 1,\n maxTps: \"3000\",\n periodCycle: \"Month\",\n maxConnections: 2000,\n supportEip: true,\n autoRenew: false,\n renewalStatus: \"AutoRenewal\",\n period: 12,\n instanceName: name,\n supportTracing: false,\n paymentType: \"Subscription\",\n renewalDurationUnit: \"Month\",\n instanceType: \"enterprise\",\n queueCapacity: \"200\",\n maxEipTps: \"128\",\n storageSize: \"0\",\n});\nconst _default = new alicloud.amqp.Exchange(\"default\", {\n virtualHostName: virtualHostName,\n instanceId: createInstance.id,\n internal: true,\n autoDeleteState: false,\n exchangeName: name,\n exchangeType: \"X_CONSISTENT_HASH\",\n alternateExchange: \"bakExchange\",\n xDelayedType: \"DIRECT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nvirtual_host_name = config.get(\"virtualHostName\")\nif virtual_host_name is None:\n virtual_host_name = \"/\"\ncreate_instance = alicloud.amqp.Instance(\"CreateInstance\",\n renewal_duration=1,\n max_tps=\"3000\",\n period_cycle=\"Month\",\n max_connections=2000,\n support_eip=True,\n auto_renew=False,\n renewal_status=\"AutoRenewal\",\n period=12,\n instance_name=name,\n support_tracing=False,\n payment_type=\"Subscription\",\n renewal_duration_unit=\"Month\",\n instance_type=\"enterprise\",\n queue_capacity=\"200\",\n max_eip_tps=\"128\",\n storage_size=\"0\")\ndefault = alicloud.amqp.Exchange(\"default\",\n virtual_host_name=virtual_host_name,\n instance_id=create_instance.id,\n internal=True,\n auto_delete_state=False,\n exchange_name=name,\n exchange_type=\"X_CONSISTENT_HASH\",\n alternate_exchange=\"bakExchange\",\n x_delayed_type=\"DIRECT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var virtualHostName = config.Get(\"virtualHostName\") ?? \"/\";\n var createInstance = new AliCloud.Amqp.Instance(\"CreateInstance\", new()\n {\n RenewalDuration = 1,\n MaxTps = \"3000\",\n PeriodCycle = \"Month\",\n MaxConnections = 2000,\n SupportEip = true,\n AutoRenew = false,\n RenewalStatus = \"AutoRenewal\",\n Period = 12,\n InstanceName = name,\n SupportTracing = false,\n PaymentType = \"Subscription\",\n RenewalDurationUnit = \"Month\",\n InstanceType = \"enterprise\",\n QueueCapacity = \"200\",\n MaxEipTps = \"128\",\n StorageSize = \"0\",\n });\n\n var @default = new AliCloud.Amqp.Exchange(\"default\", new()\n {\n VirtualHostName = virtualHostName,\n InstanceId = createInstance.Id,\n Internal = true,\n AutoDeleteState = false,\n ExchangeName = name,\n ExchangeType = \"X_CONSISTENT_HASH\",\n AlternateExchange = \"bakExchange\",\n XDelayedType = \"DIRECT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvirtualHostName := \"/\"\n\t\tif param := cfg.Get(\"virtualHostName\"); param != \"\" {\n\t\t\tvirtualHostName = param\n\t\t}\n\t\tcreateInstance, err := amqp.NewInstance(ctx, \"CreateInstance\", \u0026amqp.InstanceArgs{\n\t\t\tRenewalDuration: pulumi.Int(1),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tPeriodCycle: pulumi.String(\"Month\"),\n\t\t\tMaxConnections: pulumi.Int(2000),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tPeriod: pulumi.Int(12),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSupportTracing: pulumi.Bool(false),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewalDurationUnit: pulumi.String(\"Month\"),\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tStorageSize: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewExchange(ctx, \"default\", \u0026amqp.ExchangeArgs{\n\t\t\tVirtualHostName: pulumi.String(virtualHostName),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tAutoDeleteState: pulumi.Bool(false),\n\t\t\tExchangeName: pulumi.String(name),\n\t\t\tExchangeType: pulumi.String(\"X_CONSISTENT_HASH\"),\n\t\t\tAlternateExchange: pulumi.String(\"bakExchange\"),\n\t\t\tXDelayedType: pulumi.String(\"DIRECT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.Exchange;\nimport com.pulumi.alicloud.amqp.ExchangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var virtualHostName = config.get(\"virtualHostName\").orElse(\"/\");\n var createInstance = new Instance(\"createInstance\", InstanceArgs.builder()\n .renewalDuration(1)\n .maxTps(\"3000\")\n .periodCycle(\"Month\")\n .maxConnections(2000)\n .supportEip(true)\n .autoRenew(false)\n .renewalStatus(\"AutoRenewal\")\n .period(12)\n .instanceName(name)\n .supportTracing(false)\n .paymentType(\"Subscription\")\n .renewalDurationUnit(\"Month\")\n .instanceType(\"enterprise\")\n .queueCapacity(\"200\")\n .maxEipTps(\"128\")\n .storageSize(\"0\")\n .build());\n\n var default_ = new Exchange(\"default\", ExchangeArgs.builder()\n .virtualHostName(virtualHostName)\n .instanceId(createInstance.id())\n .internal(true)\n .autoDeleteState(false)\n .exchangeName(name)\n .exchangeType(\"X_CONSISTENT_HASH\")\n .alternateExchange(\"bakExchange\")\n .xDelayedType(\"DIRECT\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n virtualHostName:\n type: string\n default: /\nresources:\n createInstance:\n type: alicloud:amqp:Instance\n name: CreateInstance\n properties:\n renewalDuration: '1'\n maxTps: '3000'\n periodCycle: Month\n maxConnections: '2000'\n supportEip: true\n autoRenew: false\n renewalStatus: AutoRenewal\n period: '12'\n instanceName: ${name}\n supportTracing: false\n paymentType: Subscription\n renewalDurationUnit: Month\n instanceType: enterprise\n queueCapacity: '200'\n maxEipTps: '128'\n storageSize: '0'\n default:\n type: alicloud:amqp:Exchange\n properties:\n virtualHostName: ${virtualHostName}\n instanceId: ${createInstance.id}\n internal: 'true'\n autoDeleteState: 'false'\n exchangeName: ${name}\n exchangeType: X_CONSISTENT_HASH\n alternateExchange: bakExchange\n xDelayedType: DIRECT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRabbitMQ (AMQP) Exchange can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/exchange:Exchange example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003cexchange_name\u003e\n```\n\n", + "description": "Provides a RabbitMQ (AMQP) Exchange resource.\n\n\n\nFor information about RabbitMQ (AMQP) Exchange and how to use it, see [What is Exchange](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createexchange).\n\n\u003e **NOTE:** Available since v1.128.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst virtualHostName = config.get(\"virtualHostName\") || \"/\";\nconst createInstance = new alicloud.amqp.Instance(\"CreateInstance\", {\n renewalDuration: 1,\n maxTps: \"3000\",\n periodCycle: \"Month\",\n maxConnections: 2000,\n supportEip: true,\n autoRenew: false,\n renewalStatus: \"AutoRenewal\",\n period: 12,\n instanceName: name,\n supportTracing: false,\n paymentType: \"Subscription\",\n renewalDurationUnit: \"Month\",\n instanceType: \"enterprise\",\n queueCapacity: \"200\",\n maxEipTps: \"128\",\n storageSize: \"0\",\n});\nconst _default = new alicloud.amqp.Exchange(\"default\", {\n virtualHostName: virtualHostName,\n instanceId: createInstance.id,\n internal: true,\n autoDeleteState: false,\n exchangeName: name,\n exchangeType: \"X_CONSISTENT_HASH\",\n alternateExchange: \"bakExchange\",\n xDelayedType: \"DIRECT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nvirtual_host_name = config.get(\"virtualHostName\")\nif virtual_host_name is None:\n virtual_host_name = \"/\"\ncreate_instance = alicloud.amqp.Instance(\"CreateInstance\",\n renewal_duration=1,\n max_tps=\"3000\",\n period_cycle=\"Month\",\n max_connections=2000,\n support_eip=True,\n auto_renew=False,\n renewal_status=\"AutoRenewal\",\n period=12,\n instance_name=name,\n support_tracing=False,\n payment_type=\"Subscription\",\n renewal_duration_unit=\"Month\",\n instance_type=\"enterprise\",\n queue_capacity=\"200\",\n max_eip_tps=\"128\",\n storage_size=\"0\")\ndefault = alicloud.amqp.Exchange(\"default\",\n virtual_host_name=virtual_host_name,\n instance_id=create_instance.id,\n internal=True,\n auto_delete_state=False,\n exchange_name=name,\n exchange_type=\"X_CONSISTENT_HASH\",\n alternate_exchange=\"bakExchange\",\n x_delayed_type=\"DIRECT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var virtualHostName = config.Get(\"virtualHostName\") ?? \"/\";\n var createInstance = new AliCloud.Amqp.Instance(\"CreateInstance\", new()\n {\n RenewalDuration = 1,\n MaxTps = \"3000\",\n PeriodCycle = \"Month\",\n MaxConnections = 2000,\n SupportEip = true,\n AutoRenew = false,\n RenewalStatus = \"AutoRenewal\",\n Period = 12,\n InstanceName = name,\n SupportTracing = false,\n PaymentType = \"Subscription\",\n RenewalDurationUnit = \"Month\",\n InstanceType = \"enterprise\",\n QueueCapacity = \"200\",\n MaxEipTps = \"128\",\n StorageSize = \"0\",\n });\n\n var @default = new AliCloud.Amqp.Exchange(\"default\", new()\n {\n VirtualHostName = virtualHostName,\n InstanceId = createInstance.Id,\n Internal = true,\n AutoDeleteState = false,\n ExchangeName = name,\n ExchangeType = \"X_CONSISTENT_HASH\",\n AlternateExchange = \"bakExchange\",\n XDelayedType = \"DIRECT\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvirtualHostName := \"/\"\n\t\tif param := cfg.Get(\"virtualHostName\"); param != \"\" {\n\t\t\tvirtualHostName = param\n\t\t}\n\t\tcreateInstance, err := amqp.NewInstance(ctx, \"CreateInstance\", \u0026amqp.InstanceArgs{\n\t\t\tRenewalDuration: pulumi.Int(1),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tPeriodCycle: pulumi.String(\"Month\"),\n\t\t\tMaxConnections: pulumi.Int(2000),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tPeriod: pulumi.Int(12),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSupportTracing: pulumi.Bool(false),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewalDurationUnit: pulumi.String(\"Month\"),\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tStorageSize: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewExchange(ctx, \"default\", \u0026amqp.ExchangeArgs{\n\t\t\tVirtualHostName: pulumi.String(virtualHostName),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tInternal: pulumi.Bool(true),\n\t\t\tAutoDeleteState: pulumi.Bool(false),\n\t\t\tExchangeName: pulumi.String(name),\n\t\t\tExchangeType: pulumi.String(\"X_CONSISTENT_HASH\"),\n\t\t\tAlternateExchange: pulumi.String(\"bakExchange\"),\n\t\t\tXDelayedType: pulumi.String(\"DIRECT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.Exchange;\nimport com.pulumi.alicloud.amqp.ExchangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var virtualHostName = config.get(\"virtualHostName\").orElse(\"/\");\n var createInstance = new Instance(\"createInstance\", InstanceArgs.builder()\n .renewalDuration(1)\n .maxTps(\"3000\")\n .periodCycle(\"Month\")\n .maxConnections(2000)\n .supportEip(true)\n .autoRenew(false)\n .renewalStatus(\"AutoRenewal\")\n .period(12)\n .instanceName(name)\n .supportTracing(false)\n .paymentType(\"Subscription\")\n .renewalDurationUnit(\"Month\")\n .instanceType(\"enterprise\")\n .queueCapacity(\"200\")\n .maxEipTps(\"128\")\n .storageSize(\"0\")\n .build());\n\n var default_ = new Exchange(\"default\", ExchangeArgs.builder()\n .virtualHostName(virtualHostName)\n .instanceId(createInstance.id())\n .internal(true)\n .autoDeleteState(false)\n .exchangeName(name)\n .exchangeType(\"X_CONSISTENT_HASH\")\n .alternateExchange(\"bakExchange\")\n .xDelayedType(\"DIRECT\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n virtualHostName:\n type: string\n default: /\nresources:\n createInstance:\n type: alicloud:amqp:Instance\n name: CreateInstance\n properties:\n renewalDuration: '1'\n maxTps: '3000'\n periodCycle: Month\n maxConnections: '2000'\n supportEip: true\n autoRenew: false\n renewalStatus: AutoRenewal\n period: '12'\n instanceName: ${name}\n supportTracing: false\n paymentType: Subscription\n renewalDurationUnit: Month\n instanceType: enterprise\n queueCapacity: '200'\n maxEipTps: '128'\n storageSize: '0'\n default:\n type: alicloud:amqp:Exchange\n properties:\n virtualHostName: ${virtualHostName}\n instanceId: ${createInstance.id}\n internal: 'true'\n autoDeleteState: 'false'\n exchangeName: ${name}\n exchangeType: X_CONSISTENT_HASH\n alternateExchange: bakExchange\n xDelayedType: DIRECT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRabbitMQ (AMQP) Exchange can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/exchange:Exchange example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003cexchange_name\u003e\n```\n\n", "properties": { "alternateExchange": { "type": "string", @@ -103564,6 +105407,10 @@ "type": "integer", "description": "OrderCreateTime.\n" }, + "edition": { + "type": "string", + "description": "The deployment architecture for Serverless instances. Valid values:\n" + }, "instanceName": { "type": "string", "description": "The instance name.\n" @@ -103600,6 +105447,10 @@ "type": "string", "description": "Prepaid cycle units. Value: Month, Year.\n" }, + "provisionedCapacity": { + "type": "integer", + "description": "The provisioned TPS capacity for reserved + elastic instances.\n" + }, "queueCapacity": { "type": "string", "description": "Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100.\n" @@ -103643,6 +105494,7 @@ }, "required": [ "createTime", + "edition", "instanceName", "instanceType", "maxConnections", @@ -103655,7 +105507,6 @@ "renewalStatus", "status", "storageSize", - "supportTracing", "tracingStorageTime" ], "inputProperties": { @@ -103663,6 +105514,10 @@ "type": "boolean", "description": "Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail.\n" }, + "edition": { + "type": "string", + "description": "The deployment architecture for Serverless instances. Valid values:\n" + }, "instanceName": { "type": "string", "description": "The instance name.\n" @@ -103700,6 +105555,10 @@ "type": "string", "description": "Prepaid cycle units. Value: Month, Year.\n" }, + "provisionedCapacity": { + "type": "integer", + "description": "The provisioned TPS capacity for reserved + elastic instances.\n" + }, "queueCapacity": { "type": "string", "description": "Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100.\n" @@ -103751,6 +105610,10 @@ "type": "integer", "description": "OrderCreateTime.\n" }, + "edition": { + "type": "string", + "description": "The deployment architecture for Serverless instances. Valid values:\n" + }, "instanceName": { "type": "string", "description": "The instance name.\n" @@ -103788,6 +105651,10 @@ "type": "string", "description": "Prepaid cycle units. Value: Month, Year.\n" }, + "provisionedCapacity": { + "type": "integer", + "description": "The provisioned TPS capacity for reserved + elastic instances.\n" + }, "queueCapacity": { "type": "string", "description": "Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100.\n" @@ -103833,51 +105700,47 @@ } }, "alicloud:amqp/queue:Queue": { - "description": "Provides a RabbitMQ (AMQP) Queue resource.\n\nFor information about RabbitMQ (AMQP) Queue and how to use it, see [What is Queue](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createqueue).\n\n\u003e **NOTE:** Available since v1.127.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.amqp.Instance(\"default\", {\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n queueCapacity: \"200\",\n storageSize: \"700\",\n supportEip: false,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: _default.id,\n virtualHostName: \"tf-example\",\n});\nconst defaultExchange = new alicloud.amqp.Exchange(\"default\", {\n autoDeleteState: false,\n exchangeName: \"tf-example\",\n exchangeType: \"DIRECT\",\n instanceId: _default.id,\n internal: false,\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst example = new alicloud.amqp.Queue(\"example\", {\n instanceId: _default.id,\n queueName: \"tf-example\",\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.amqp.Instance(\"default\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n queue_capacity=\"200\",\n storage_size=\"700\",\n support_eip=False,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default.id,\n virtual_host_name=\"tf-example\")\ndefault_exchange = alicloud.amqp.Exchange(\"default\",\n auto_delete_state=False,\n exchange_name=\"tf-example\",\n exchange_type=\"DIRECT\",\n instance_id=default.id,\n internal=False,\n virtual_host_name=default_virtual_host.virtual_host_name)\nexample = alicloud.amqp.Queue(\"example\",\n instance_id=default.id,\n queue_name=\"tf-example\",\n virtual_host_name=default_virtual_host.virtual_host_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n QueueCapacity = \"200\",\n StorageSize = \"700\",\n SupportEip = false,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = @default.Id,\n VirtualHostName = \"tf-example\",\n });\n\n var defaultExchange = new AliCloud.Amqp.Exchange(\"default\", new()\n {\n AutoDeleteState = false,\n ExchangeName = \"tf-example\",\n ExchangeType = \"DIRECT\",\n InstanceId = @default.Id,\n Internal = false,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var example = new AliCloud.Amqp.Queue(\"example\", new()\n {\n InstanceId = @default.Id,\n QueueName = \"tf-example\",\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tStorageSize: pulumi.String(\"700\"),\n\t\t\tSupportEip: pulumi.Bool(false),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tVirtualHostName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewExchange(ctx, \"default\", \u0026amqp.ExchangeArgs{\n\t\t\tAutoDeleteState: pulumi.Bool(false),\n\t\t\tExchangeName: pulumi.String(\"tf-example\"),\n\t\t\tExchangeType: pulumi.String(\"DIRECT\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tInternal: pulumi.Bool(false),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewQueue(ctx, \"example\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tQueueName: pulumi.String(\"tf-example\"),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Exchange;\nimport com.pulumi.alicloud.amqp.ExchangeArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .queueCapacity(\"200\")\n .storageSize(\"700\")\n .supportEip(false)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(default_.id())\n .virtualHostName(\"tf-example\")\n .build());\n\n var defaultExchange = new Exchange(\"defaultExchange\", ExchangeArgs.builder()\n .autoDeleteState(false)\n .exchangeName(\"tf-example\")\n .exchangeType(\"DIRECT\")\n .instanceId(default_.id())\n .internal(false)\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var example = new Queue(\"example\", QueueArgs.builder()\n .instanceId(default_.id())\n .queueName(\"tf-example\")\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:amqp:Instance\n properties:\n instanceType: enterprise\n maxTps: 3000\n queueCapacity: 200\n storageSize: 700\n supportEip: false\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${default.id}\n virtualHostName: tf-example\n defaultExchange:\n type: alicloud:amqp:Exchange\n name: default\n properties:\n autoDeleteState: false\n exchangeName: tf-example\n exchangeType: DIRECT\n instanceId: ${default.id}\n internal: false\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n example:\n type: alicloud:amqp:Queue\n properties:\n instanceId: ${default.id}\n queueName: tf-example\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRabbitMQ (AMQP) Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/queue:Queue example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003cqueue_name\u003e\n```\n\n", + "description": "Provides a RabbitMQ (AMQP) Queue resource.\n\nFor information about RabbitMQ (AMQP) Queue and how to use it, see [What is Queue](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createqueue).\n\n\u003e **NOTE:** Available since v1.127.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.amqp.Instance(\"default\", {\n instanceName: `${name}-${_default.result}`,\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n maxConnections: 2000,\n queueCapacity: \"200\",\n paymentType: \"Subscription\",\n renewalStatus: \"AutoRenewal\",\n renewalDuration: 1,\n renewalDurationUnit: \"Year\",\n supportEip: true,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: defaultInstance.id,\n virtualHostName: `${name}-${_default.result}`,\n});\nconst defaultQueue = new alicloud.amqp.Queue(\"default\", {\n instanceId: defaultInstance.id,\n virtualHostName: defaultVirtualHost.virtualHostName,\n queueName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.amqp.Instance(\"default\",\n instance_name=f\"{name}-{default['result']}\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n max_connections=2000,\n queue_capacity=\"200\",\n payment_type=\"Subscription\",\n renewal_status=\"AutoRenewal\",\n renewal_duration=1,\n renewal_duration_unit=\"Year\",\n support_eip=True)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default_instance.id,\n virtual_host_name=f\"{name}-{default['result']}\")\ndefault_queue = alicloud.amqp.Queue(\"default\",\n instance_id=default_instance.id,\n virtual_host_name=default_virtual_host.virtual_host_name,\n queue_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n MaxConnections = 2000,\n QueueCapacity = \"200\",\n PaymentType = \"Subscription\",\n RenewalStatus = \"AutoRenewal\",\n RenewalDuration = 1,\n RenewalDurationUnit = \"Year\",\n SupportEip = true,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n VirtualHostName = $\"{name}-{@default.Result}\",\n });\n\n var defaultQueue = new AliCloud.Amqp.Queue(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n QueueName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tMaxConnections: pulumi.Int(2000),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewalDuration: pulumi.Int(1),\n\t\t\tRenewalDurationUnit: pulumi.String(\"Year\"),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tVirtualHostName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewQueue(ctx, \"default\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t\tQueueName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .maxConnections(2000)\n .queueCapacity(\"200\")\n .paymentType(\"Subscription\")\n .renewalStatus(\"AutoRenewal\")\n .renewalDuration(1)\n .renewalDurationUnit(\"Year\")\n .supportEip(true)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(defaultInstance.id())\n .virtualHostName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .instanceId(defaultInstance.id())\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .queueName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:amqp:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n instanceType: enterprise\n maxTps: 3000\n maxConnections: 2000\n queueCapacity: 200\n paymentType: Subscription\n renewalStatus: AutoRenewal\n renewalDuration: 1\n renewalDurationUnit: Year\n supportEip: true\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n virtualHostName: ${name}-${default.result}\n defaultQueue:\n type: alicloud:amqp:Queue\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n queueName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRabbitMQ (AMQP) Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/queue:Queue example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e:\u003cqueue_name\u003e\n```\n\n", "properties": { "autoDeleteState": { "type": "boolean", - "description": "Specifies whether the Auto Delete attribute is configured. Valid values:\n* true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled.\n* false: The Auto Delete attribute is not configured.\n" + "description": "Specifies whether to automatically delete the queue. Valid values:\n" }, "autoExpireState": { "type": "string", - "description": "The validity period after which the queue is automatically deleted.\nIf the queue is not accessed within a specified period of time, it is automatically deleted.\n" + "description": "The auto-expiration time for the queue.\n" }, "deadLetterExchange": { "type": "string", - "description": "The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. \nIf a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange.\nThen, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange.\n" + "description": "The dead-letter exchange.\n" }, "deadLetterRoutingKey": { "type": "string", - "description": "The dead letter routing key.\n" - }, - "exclusiveState": { - "type": "boolean", - "description": "Specifies whether the queue is an exclusive queue. Valid values:\n* true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted.\n* false: The queue is not an exclusive queue.\n" + "description": "The dead-letter routing key.\n" }, "instanceId": { "type": "string", - "description": "The ID of the instance.\n" + "description": "The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs.\n" }, "maxLength": { "type": "string", - "description": "The maximum number of messages that can be stored in the queue.\nIf this threshold is exceeded, the earliest messages that are routed to the queue are discarded.\n" + "description": "The maximum number of messages that can be stored in the queue.\n" }, "maximumPriority": { "type": "integer", - "description": "The highest priority supported by the queue. This parameter is set to a positive integer.\nValid values: 0 to 255. Recommended values: 1 to 10\n" + "description": "The priority of the queue.\n" }, "messageTtl": { "type": "string", - "description": "The message TTL of the queue.\nIf the retention period of a message in the queue exceeds the message TTL of the queue, the message expires.\nMessage TTL must be set to a non-negative integer, in milliseconds.\nFor example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue.\n" + "description": "The time to live (TTL) of a message in the queue.\n" }, "queueName": { "type": "string", - "description": "The name of the queue.\nThe queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).\n" + "description": "The name of the queue to create.\n" }, "virtualHostName": { "type": "string", - "description": "The name of the virtual host.\n" + "description": "The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.\n" } }, "required": [ @@ -103888,51 +105751,46 @@ "inputProperties": { "autoDeleteState": { "type": "boolean", - "description": "Specifies whether the Auto Delete attribute is configured. Valid values:\n* true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled.\n* false: The Auto Delete attribute is not configured.\n", + "description": "Specifies whether to automatically delete the queue. Valid values:\n", "willReplaceOnChanges": true }, "autoExpireState": { "type": "string", - "description": "The validity period after which the queue is automatically deleted.\nIf the queue is not accessed within a specified period of time, it is automatically deleted.\n" + "description": "The auto-expiration time for the queue.\n" }, "deadLetterExchange": { "type": "string", - "description": "The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. \nIf a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange.\nThen, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange.\n" + "description": "The dead-letter exchange.\n" }, "deadLetterRoutingKey": { "type": "string", - "description": "The dead letter routing key.\n" - }, - "exclusiveState": { - "type": "boolean", - "description": "Specifies whether the queue is an exclusive queue. Valid values:\n* true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted.\n* false: The queue is not an exclusive queue.\n", - "willReplaceOnChanges": true + "description": "The dead-letter routing key.\n" }, "instanceId": { "type": "string", - "description": "The ID of the instance.\n", + "description": "The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs.\n", "willReplaceOnChanges": true }, "maxLength": { "type": "string", - "description": "The maximum number of messages that can be stored in the queue.\nIf this threshold is exceeded, the earliest messages that are routed to the queue are discarded.\n" + "description": "The maximum number of messages that can be stored in the queue.\n" }, "maximumPriority": { "type": "integer", - "description": "The highest priority supported by the queue. This parameter is set to a positive integer.\nValid values: 0 to 255. Recommended values: 1 to 10\n" + "description": "The priority of the queue.\n" }, "messageTtl": { "type": "string", - "description": "The message TTL of the queue.\nIf the retention period of a message in the queue exceeds the message TTL of the queue, the message expires.\nMessage TTL must be set to a non-negative integer, in milliseconds.\nFor example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue.\n" + "description": "The time to live (TTL) of a message in the queue.\n" }, "queueName": { "type": "string", - "description": "The name of the queue.\nThe queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).\n", + "description": "The name of the queue to create.\n", "willReplaceOnChanges": true }, "virtualHostName": { "type": "string", - "description": "The name of the virtual host.\n", + "description": "The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.\n", "willReplaceOnChanges": true } }, @@ -103946,51 +105804,46 @@ "properties": { "autoDeleteState": { "type": "boolean", - "description": "Specifies whether the Auto Delete attribute is configured. Valid values:\n* true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled.\n* false: The Auto Delete attribute is not configured.\n", + "description": "Specifies whether to automatically delete the queue. Valid values:\n", "willReplaceOnChanges": true }, "autoExpireState": { "type": "string", - "description": "The validity period after which the queue is automatically deleted.\nIf the queue is not accessed within a specified period of time, it is automatically deleted.\n" + "description": "The auto-expiration time for the queue.\n" }, "deadLetterExchange": { "type": "string", - "description": "The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. \nIf a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange.\nThen, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange.\n" + "description": "The dead-letter exchange.\n" }, "deadLetterRoutingKey": { "type": "string", - "description": "The dead letter routing key.\n" - }, - "exclusiveState": { - "type": "boolean", - "description": "Specifies whether the queue is an exclusive queue. Valid values:\n* true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted.\n* false: The queue is not an exclusive queue.\n", - "willReplaceOnChanges": true + "description": "The dead-letter routing key.\n" }, "instanceId": { "type": "string", - "description": "The ID of the instance.\n", + "description": "The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs.\n", "willReplaceOnChanges": true }, "maxLength": { "type": "string", - "description": "The maximum number of messages that can be stored in the queue.\nIf this threshold is exceeded, the earliest messages that are routed to the queue are discarded.\n" + "description": "The maximum number of messages that can be stored in the queue.\n" }, "maximumPriority": { "type": "integer", - "description": "The highest priority supported by the queue. This parameter is set to a positive integer.\nValid values: 0 to 255. Recommended values: 1 to 10\n" + "description": "The priority of the queue.\n" }, "messageTtl": { "type": "string", - "description": "The message TTL of the queue.\nIf the retention period of a message in the queue exceeds the message TTL of the queue, the message expires.\nMessage TTL must be set to a non-negative integer, in milliseconds.\nFor example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue.\n" + "description": "The time to live (TTL) of a message in the queue.\n" }, "queueName": { "type": "string", - "description": "The name of the queue.\nThe queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).\n", + "description": "The name of the queue to create.\n", "willReplaceOnChanges": true }, "virtualHostName": { "type": "string", - "description": "The name of the virtual host.\n", + "description": "The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length.\n", "willReplaceOnChanges": true } }, @@ -103998,7 +105851,7 @@ } }, "alicloud:amqp/staticAccount:StaticAccount": { - "description": "Provides a Amqp Static Account resource.\n\nFor information about Amqp Static Account and how to use it, see [What is Static Account](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/create-a-pair-of-static-username-and-password).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst accessKey = config.get(\"accessKey\") || \"access_key\";\nconst secretKey = config.get(\"secretKey\") || \"secret_key\";\nconst _default = new alicloud.amqp.Instance(\"default\", {\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n queueCapacity: \"200\",\n storageSize: \"700\",\n supportEip: false,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultStaticAccount = new alicloud.amqp.StaticAccount(\"default\", {\n instanceId: _default.id,\n accessKey: accessKey,\n secretKey: secretKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\naccess_key = config.get(\"accessKey\")\nif access_key is None:\n access_key = \"access_key\"\nsecret_key = config.get(\"secretKey\")\nif secret_key is None:\n secret_key = \"secret_key\"\ndefault = alicloud.amqp.Instance(\"default\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n queue_capacity=\"200\",\n storage_size=\"700\",\n support_eip=False,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_static_account = alicloud.amqp.StaticAccount(\"default\",\n instance_id=default.id,\n access_key=access_key,\n secret_key=secret_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var accessKey = config.Get(\"accessKey\") ?? \"access_key\";\n var secretKey = config.Get(\"secretKey\") ?? \"secret_key\";\n var @default = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n QueueCapacity = \"200\",\n StorageSize = \"700\",\n SupportEip = false,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultStaticAccount = new AliCloud.Amqp.StaticAccount(\"default\", new()\n {\n InstanceId = @default.Id,\n AccessKey = accessKey,\n SecretKey = secretKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taccessKey := \"access_key\"\n\t\tif param := cfg.Get(\"accessKey\"); param != \"\" {\n\t\t\taccessKey = param\n\t\t}\n\t\tsecretKey := \"secret_key\"\n\t\tif param := cfg.Get(\"secretKey\"); param != \"\" {\n\t\t\tsecretKey = param\n\t\t}\n\t\t_default, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tStorageSize: pulumi.String(\"700\"),\n\t\t\tSupportEip: pulumi.Bool(false),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewStaticAccount(ctx, \"default\", \u0026amqp.StaticAccountArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tAccessKey: pulumi.String(accessKey),\n\t\t\tSecretKey: pulumi.String(secretKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.StaticAccount;\nimport com.pulumi.alicloud.amqp.StaticAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 accessKey = config.get(\"accessKey\").orElse(\"access_key\");\n final var secretKey = config.get(\"secretKey\").orElse(\"secret_key\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .queueCapacity(\"200\")\n .storageSize(\"700\")\n .supportEip(false)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultStaticAccount = new StaticAccount(\"defaultStaticAccount\", StaticAccountArgs.builder()\n .instanceId(default_.id())\n .accessKey(accessKey)\n .secretKey(secretKey)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n accessKey:\n type: string\n default: access_key\n secretKey:\n type: string\n default: secret_key\nresources:\n default:\n type: alicloud:amqp:Instance\n properties:\n instanceType: enterprise\n maxTps: 3000\n queueCapacity: 200\n storageSize: 700\n supportEip: false\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultStaticAccount:\n type: alicloud:amqp:StaticAccount\n name: default\n properties:\n instanceId: ${default.id}\n accessKey: ${accessKey}\n secretKey: ${secretKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAmqp Static Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/staticAccount:StaticAccount example \u003cinstance_id\u003e:\u003caccess_key\u003e\n```\n\n", + "description": "Provides a Amqp Static Account resource.\n\nFor information about Amqp Static Account and how to use it, see [What is Static Account](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/create-a-pair-of-static-username-and-password).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst accessKey = config.get(\"accessKey\") || \"access_key\";\nconst secretKey = config.get(\"secretKey\") || \"secret_key\";\nconst _default = new alicloud.amqp.Instance(\"default\", {\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n queueCapacity: \"200\",\n storageSize: \"700\",\n supportEip: false,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultStaticAccount = new alicloud.amqp.StaticAccount(\"default\", {\n instanceId: _default.id,\n accessKey: accessKey,\n secretKey: secretKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\naccess_key = config.get(\"accessKey\")\nif access_key is None:\n access_key = \"access_key\"\nsecret_key = config.get(\"secretKey\")\nif secret_key is None:\n secret_key = \"secret_key\"\ndefault = alicloud.amqp.Instance(\"default\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n queue_capacity=\"200\",\n storage_size=\"700\",\n support_eip=False,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_static_account = alicloud.amqp.StaticAccount(\"default\",\n instance_id=default.id,\n access_key=access_key,\n secret_key=secret_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var accessKey = config.Get(\"accessKey\") ?? \"access_key\";\n var secretKey = config.Get(\"secretKey\") ?? \"secret_key\";\n var @default = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n QueueCapacity = \"200\",\n StorageSize = \"700\",\n SupportEip = false,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultStaticAccount = new AliCloud.Amqp.StaticAccount(\"default\", new()\n {\n InstanceId = @default.Id,\n AccessKey = accessKey,\n SecretKey = secretKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taccessKey := \"access_key\"\n\t\tif param := cfg.Get(\"accessKey\"); param != \"\" {\n\t\t\taccessKey = param\n\t\t}\n\t\tsecretKey := \"secret_key\"\n\t\tif param := cfg.Get(\"secretKey\"); param != \"\" {\n\t\t\tsecretKey = param\n\t\t}\n\t\t_default, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tStorageSize: pulumi.String(\"700\"),\n\t\t\tSupportEip: pulumi.Bool(false),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewStaticAccount(ctx, \"default\", \u0026amqp.StaticAccountArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tAccessKey: pulumi.String(accessKey),\n\t\t\tSecretKey: pulumi.String(secretKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.StaticAccount;\nimport com.pulumi.alicloud.amqp.StaticAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 accessKey = config.get(\"accessKey\").orElse(\"access_key\");\n final var secretKey = config.get(\"secretKey\").orElse(\"secret_key\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .queueCapacity(\"200\")\n .storageSize(\"700\")\n .supportEip(false)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultStaticAccount = new StaticAccount(\"defaultStaticAccount\", StaticAccountArgs.builder()\n .instanceId(default_.id())\n .accessKey(accessKey)\n .secretKey(secretKey)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n accessKey:\n type: string\n default: access_key\n secretKey:\n type: string\n default: secret_key\nresources:\n default:\n type: alicloud:amqp:Instance\n properties:\n instanceType: enterprise\n maxTps: 3000\n queueCapacity: 200\n storageSize: 700\n supportEip: false\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultStaticAccount:\n type: alicloud:amqp:StaticAccount\n name: default\n properties:\n instanceId: ${default.id}\n accessKey: ${accessKey}\n secretKey: ${secretKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAmqp Static Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/staticAccount:StaticAccount example \u003cinstance_id\u003e:\u003caccess_key\u003e\n```\n\n", "properties": { "accessKey": { "type": "string", @@ -104102,7 +105955,7 @@ } }, "alicloud:amqp/virtualHost:VirtualHost": { - "description": "Amqp Virtual Host.\n\nProvides a RabbitMQ (AMQP) Virtual Host resource.\n\nFor information about RabbitMQ (AMQP) Virtual Host and how to use it, see [What is Virtual Host](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createvirtualhost).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.amqp.Instance(\"default\", {\n instanceName: `${name}-${_default.result}`,\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n maxConnections: 2000,\n queueCapacity: \"200\",\n paymentType: \"Subscription\",\n renewalStatus: \"AutoRenewal\",\n renewalDuration: 1,\n renewalDurationUnit: \"Year\",\n supportEip: true,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: defaultInstance.id,\n virtualHostName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.amqp.Instance(\"default\",\n instance_name=f\"{name}-{default['result']}\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n max_connections=2000,\n queue_capacity=\"200\",\n payment_type=\"Subscription\",\n renewal_status=\"AutoRenewal\",\n renewal_duration=1,\n renewal_duration_unit=\"Year\",\n support_eip=True)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default_instance.id,\n virtual_host_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n MaxConnections = 2000,\n QueueCapacity = \"200\",\n PaymentType = \"Subscription\",\n RenewalStatus = \"AutoRenewal\",\n RenewalDuration = 1,\n RenewalDurationUnit = \"Year\",\n SupportEip = true,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n VirtualHostName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tMaxConnections: pulumi.Int(2000),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewalDuration: pulumi.Int(1),\n\t\t\tRenewalDurationUnit: pulumi.String(\"Year\"),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tVirtualHostName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .maxConnections(2000)\n .queueCapacity(\"200\")\n .paymentType(\"Subscription\")\n .renewalStatus(\"AutoRenewal\")\n .renewalDuration(1)\n .renewalDurationUnit(\"Year\")\n .supportEip(true)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(defaultInstance.id())\n .virtualHostName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:amqp:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n instanceType: enterprise\n maxTps: 3000\n maxConnections: 2000\n queueCapacity: 200\n paymentType: Subscription\n renewalStatus: AutoRenewal\n renewalDuration: 1\n renewalDurationUnit: Year\n supportEip: true\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n virtualHostName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRabbitMQ (AMQP) Virtual Host can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/virtualHost:VirtualHost example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e\n```\n\n", + "description": "Amqp Virtual Host.\n\nProvides a RabbitMQ (AMQP) Virtual Host resource.\n\nFor information about RabbitMQ (AMQP) Virtual Host and how to use it, see [What is Virtual Host](https://www.alibabacloud.com/help/en/message-queue-for-rabbitmq/latest/createvirtualhost).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.amqp.Instance(\"default\", {\n instanceName: `${name}-${_default.result}`,\n instanceType: \"enterprise\",\n maxTps: \"3000\",\n maxConnections: 2000,\n queueCapacity: \"200\",\n paymentType: \"Subscription\",\n renewalStatus: \"AutoRenewal\",\n renewalDuration: 1,\n renewalDurationUnit: \"Year\",\n supportEip: true,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: defaultInstance.id,\n virtualHostName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.amqp.Instance(\"default\",\n instance_name=f\"{name}-{default['result']}\",\n instance_type=\"enterprise\",\n max_tps=\"3000\",\n max_connections=2000,\n queue_capacity=\"200\",\n payment_type=\"Subscription\",\n renewal_status=\"AutoRenewal\",\n renewal_duration=1,\n renewal_duration_unit=\"Year\",\n support_eip=True)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default_instance.id,\n virtual_host_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n InstanceType = \"enterprise\",\n MaxTps = \"3000\",\n MaxConnections = 2000,\n QueueCapacity = \"200\",\n PaymentType = \"Subscription\",\n RenewalStatus = \"AutoRenewal\",\n RenewalDuration = 1,\n RenewalDurationUnit = \"Year\",\n SupportEip = true,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n VirtualHostName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tInstanceType: pulumi.String(\"enterprise\"),\n\t\t\tMaxTps: pulumi.String(\"3000\"),\n\t\t\tMaxConnections: pulumi.Int(2000),\n\t\t\tQueueCapacity: pulumi.String(\"200\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewalDuration: pulumi.Int(1),\n\t\t\tRenewalDurationUnit: pulumi.String(\"Year\"),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tVirtualHostName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.amqp.Instance;\nimport com.pulumi.alicloud.amqp.InstanceArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .instanceType(\"enterprise\")\n .maxTps(\"3000\")\n .maxConnections(2000)\n .queueCapacity(\"200\")\n .paymentType(\"Subscription\")\n .renewalStatus(\"AutoRenewal\")\n .renewalDuration(1)\n .renewalDurationUnit(\"Year\")\n .supportEip(true)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(defaultInstance.id())\n .virtualHostName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:amqp:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n instanceType: enterprise\n maxTps: 3000\n maxConnections: 2000\n queueCapacity: 200\n paymentType: Subscription\n renewalStatus: AutoRenewal\n renewalDuration: 1\n renewalDurationUnit: Year\n supportEip: true\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n virtualHostName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRabbitMQ (AMQP) Virtual Host can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:amqp/virtualHost:VirtualHost example \u003cinstance_id\u003e:\u003cvirtual_host_name\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -104151,7 +106004,7 @@ } }, "alicloud:apig/environment:Environment": { - "description": "Provides a APIG Environment resource.\n\n\n\nFor information about APIG Environment and how to use it, see [What is Environment](https://next.api.aliyun.com/api/APIG/2024-03-27/CreateEnvironment).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n}));\nconst defaultgateway = new alicloud.apig.Gateway(\"defaultgateway\", {\n networkAccessConfig: {\n type: \"Intranet\",\n },\n vswitch: {\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n },\n zoneConfig: {\n selectOption: \"Auto\",\n },\n vpc: {\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n },\n paymentType: \"PayAsYouGo\",\n gatewayName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n spec: \"apigw.small.x1\",\n logConfig: {\n sls: {},\n },\n});\nconst defaultEnvironment = new alicloud.apig.Environment(\"default\", {\n description: name,\n environmentName: name,\n gatewayId: defaultgateway.id,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0])\ndefaultgateway = alicloud.apig.Gateway(\"defaultgateway\",\n network_access_config={\n \"type\": \"Intranet\",\n },\n vswitch={\n \"vswitch_id\": default_get_switches.ids[0],\n },\n zone_config={\n \"select_option\": \"Auto\",\n },\n vpc={\n \"vpc_id\": default_get_networks.ids[0],\n },\n payment_type=\"PayAsYouGo\",\n gateway_name=std.format(input=\"%s2\",\n args=[name]).result,\n spec=\"apigw.small.x1\",\n log_config={\n \"sls\": {},\n })\ndefault_environment = alicloud.apig.Environment(\"default\",\n description=name,\n environment_name=name,\n gateway_id=defaultgateway.id,\n resource_group_id=default.ids[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultgateway = new AliCloud.Apig.Gateway(\"defaultgateway\", new()\n {\n NetworkAccessConfig = new AliCloud.Apig.Inputs.GatewayNetworkAccessConfigArgs\n {\n Type = \"Intranet\",\n },\n Vswitch = new AliCloud.Apig.Inputs.GatewayVswitchArgs\n {\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n ZoneConfig = new AliCloud.Apig.Inputs.GatewayZoneConfigArgs\n {\n SelectOption = \"Auto\",\n },\n Vpc = new AliCloud.Apig.Inputs.GatewayVpcArgs\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n },\n PaymentType = \"PayAsYouGo\",\n GatewayName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Spec = \"apigw.small.x1\",\n LogConfig = new AliCloud.Apig.Inputs.GatewayLogConfigArgs\n {\n Sls = null,\n },\n });\n\n var defaultEnvironment = new AliCloud.Apig.Environment(\"default\", new()\n {\n Description = name,\n EnvironmentName = name,\n GatewayId = defaultgateway.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apig\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultgateway, err := apig.NewGateway(ctx, \"defaultgateway\", \u0026apig.GatewayArgs{\n\t\t\tNetworkAccessConfig: \u0026apig.GatewayNetworkAccessConfigArgs{\n\t\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\t},\n\t\t\tVswitch: \u0026apig.GatewayVswitchArgs{\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t\tZoneConfig: \u0026apig.GatewayZoneConfigArgs{\n\t\t\t\tSelectOption: pulumi.String(\"Auto\"),\n\t\t\t},\n\t\t\tVpc: \u0026apig.GatewayVpcArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tGatewayName: pulumi.String(invokeFormat.Result),\n\t\t\tSpec: pulumi.String(\"apigw.small.x1\"),\n\t\t\tLogConfig: \u0026apig.GatewayLogConfigArgs{\n\t\t\t\tSls: \u0026apig.GatewayLogConfigSlsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apig.NewEnvironment(ctx, \"default\", \u0026apig.EnvironmentArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnvironmentName: pulumi.String(name),\n\t\t\tGatewayId: defaultgateway.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.apig.Gateway;\nimport com.pulumi.alicloud.apig.GatewayArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayNetworkAccessConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayVswitchArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayZoneConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayVpcArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayLogConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayLogConfigSlsArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.apig.Environment;\nimport com.pulumi.alicloud.apig.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultgateway = new Gateway(\"defaultgateway\", GatewayArgs.builder()\n .networkAccessConfig(GatewayNetworkAccessConfigArgs.builder()\n .type(\"Intranet\")\n .build())\n .vswitch(GatewayVswitchArgs.builder()\n .vswitchId(defaultGetSwitches.ids()[0])\n .build())\n .zoneConfig(GatewayZoneConfigArgs.builder()\n .selectOption(\"Auto\")\n .build())\n .vpc(GatewayVpcArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build())\n .paymentType(\"PayAsYouGo\")\n .gatewayName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .spec(\"apigw.small.x1\")\n .logConfig(GatewayLogConfigArgs.builder()\n .sls(GatewayLogConfigSlsArgs.builder()\n .build())\n .build())\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .description(name)\n .environmentName(name)\n .gatewayId(defaultgateway.id())\n .resourceGroupId(default_.ids()[1])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultgateway:\n type: alicloud:apig:Gateway\n properties:\n networkAccessConfig:\n type: Intranet\n vswitch:\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneConfig:\n selectOption: Auto\n vpc:\n vpcId: ${defaultGetNetworks.ids[0]}\n paymentType: PayAsYouGo\n gatewayName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n spec: apigw.small.x1\n logConfig:\n sls: {}\n defaultEnvironment:\n type: alicloud:apig:Environment\n name: default\n properties:\n description: ${name}\n environmentName: ${name}\n gatewayId: ${defaultgateway.id}\n resourceGroupId: ${default.ids[1]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPIG Environment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apig/environment:Environment example \u003cid\u003e\n```\n\n", + "description": "Provides a APIG Environment resource.\n\n\n\nFor information about APIG Environment and how to use it, see [What is Environment](https://next.api.aliyun.com/api/APIG/2024-03-27/CreateEnvironment).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n}));\nconst defaultgateway = new alicloud.apig.Gateway(\"defaultgateway\", {\n networkAccessConfig: {\n type: \"Intranet\",\n },\n vswitch: {\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n },\n zoneConfig: {\n selectOption: \"Auto\",\n },\n vpc: {\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n },\n paymentType: \"PayAsYouGo\",\n gatewayName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n spec: \"apigw.small.x1\",\n logConfig: {\n sls: {},\n },\n});\nconst defaultEnvironment = new alicloud.apig.Environment(\"default\", {\n description: name,\n environmentName: name,\n gatewayId: defaultgateway.id,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0])\ndefaultgateway = alicloud.apig.Gateway(\"defaultgateway\",\n network_access_config={\n \"type\": \"Intranet\",\n },\n vswitch={\n \"vswitch_id\": default_get_switches.ids[0],\n },\n zone_config={\n \"select_option\": \"Auto\",\n },\n vpc={\n \"vpc_id\": default_get_networks.ids[0],\n },\n payment_type=\"PayAsYouGo\",\n gateway_name=std.format(input=\"%s2\",\n args=[name]).result,\n spec=\"apigw.small.x1\",\n log_config={\n \"sls\": {},\n })\ndefault_environment = alicloud.apig.Environment(\"default\",\n description=name,\n environment_name=name,\n gateway_id=defaultgateway.id,\n resource_group_id=default.ids[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultgateway = new AliCloud.Apig.Gateway(\"defaultgateway\", new()\n {\n NetworkAccessConfig = new AliCloud.Apig.Inputs.GatewayNetworkAccessConfigArgs\n {\n Type = \"Intranet\",\n },\n Vswitch = new AliCloud.Apig.Inputs.GatewayVswitchArgs\n {\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n ZoneConfig = new AliCloud.Apig.Inputs.GatewayZoneConfigArgs\n {\n SelectOption = \"Auto\",\n },\n Vpc = new AliCloud.Apig.Inputs.GatewayVpcArgs\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n },\n PaymentType = \"PayAsYouGo\",\n GatewayName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Spec = \"apigw.small.x1\",\n LogConfig = new AliCloud.Apig.Inputs.GatewayLogConfigArgs\n {\n Sls = null,\n },\n });\n\n var defaultEnvironment = new AliCloud.Apig.Environment(\"default\", new()\n {\n Description = name,\n EnvironmentName = name,\n GatewayId = defaultgateway.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apig\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultgateway, err := apig.NewGateway(ctx, \"defaultgateway\", \u0026apig.GatewayArgs{\n\t\t\tNetworkAccessConfig: \u0026apig.GatewayNetworkAccessConfigArgs{\n\t\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\t},\n\t\t\tVswitch: \u0026apig.GatewayVswitchArgs{\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t\tZoneConfig: \u0026apig.GatewayZoneConfigArgs{\n\t\t\t\tSelectOption: pulumi.String(\"Auto\"),\n\t\t\t},\n\t\t\tVpc: \u0026apig.GatewayVpcArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tGatewayName: pulumi.String(invokeFormat.Result),\n\t\t\tSpec: pulumi.String(\"apigw.small.x1\"),\n\t\t\tLogConfig: \u0026apig.GatewayLogConfigArgs{\n\t\t\t\tSls: \u0026apig.GatewayLogConfigSlsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apig.NewEnvironment(ctx, \"default\", \u0026apig.EnvironmentArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnvironmentName: pulumi.String(name),\n\t\t\tGatewayId: defaultgateway.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.apig.Gateway;\nimport com.pulumi.alicloud.apig.GatewayArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayNetworkAccessConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayVswitchArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayZoneConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayVpcArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayLogConfigArgs;\nimport com.pulumi.alicloud.apig.inputs.GatewayLogConfigSlsArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.apig.Environment;\nimport com.pulumi.alicloud.apig.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultgateway = new Gateway(\"defaultgateway\", GatewayArgs.builder()\n .networkAccessConfig(GatewayNetworkAccessConfigArgs.builder()\n .type(\"Intranet\")\n .build())\n .vswitch(GatewayVswitchArgs.builder()\n .vswitchId(defaultGetSwitches.ids()[0])\n .build())\n .zoneConfig(GatewayZoneConfigArgs.builder()\n .selectOption(\"Auto\")\n .build())\n .vpc(GatewayVpcArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build())\n .paymentType(\"PayAsYouGo\")\n .gatewayName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .spec(\"apigw.small.x1\")\n .logConfig(GatewayLogConfigArgs.builder()\n .sls(GatewayLogConfigSlsArgs.builder()\n .build())\n .build())\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .description(name)\n .environmentName(name)\n .gatewayId(defaultgateway.id())\n .resourceGroupId(default_.ids()[1])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultgateway:\n type: alicloud:apig:Gateway\n properties:\n networkAccessConfig:\n type: Intranet\n vswitch:\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneConfig:\n selectOption: Auto\n vpc:\n vpcId: ${defaultGetNetworks.ids[0]}\n paymentType: PayAsYouGo\n gatewayName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n spec: apigw.small.x1\n logConfig:\n sls: {}\n defaultEnvironment:\n type: alicloud:apig:Environment\n name: default\n properties:\n description: ${name}\n environmentName: ${name}\n gatewayId: ${defaultgateway.id}\n resourceGroupId: ${default.ids[1]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAPIG Environment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apig/environment:Environment example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -104441,7 +106294,7 @@ } }, "alicloud:apig/httpApi:HttpApi": { - "description": "Provides a APIG Http Api resource.\n\n\n\nFor information about APIG Http Api and how to use it, see [What is Http Api](https://next.api.aliyun.com/api/APIG/2024-03-27/CreateHttpApi).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst protocol = config.get(\"protocol\") || \"HTTP\";\nconst protocolHttps = config.get(\"protocolHttps\") || \"HTTPS\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultHttpApi = new alicloud.apig.HttpApi(\"default\", {\n httpApiName: name,\n protocols: [protocol],\n basePath: \"/v1\",\n description: \"zhiwei_pop_examplecase\",\n type: \"Rest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nprotocol = config.get(\"protocol\")\nif protocol is None:\n protocol = \"HTTP\"\nprotocol_https = config.get(\"protocolHttps\")\nif protocol_https is None:\n protocol_https = \"HTTPS\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_http_api = alicloud.apig.HttpApi(\"default\",\n http_api_name=name,\n protocols=[protocol],\n base_path=\"/v1\",\n description=\"zhiwei_pop_examplecase\",\n type=\"Rest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var protocol = config.Get(\"protocol\") ?? \"HTTP\";\n var protocolHttps = config.Get(\"protocolHttps\") ?? \"HTTPS\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultHttpApi = new AliCloud.Apig.HttpApi(\"default\", new()\n {\n HttpApiName = name,\n Protocols = new[]\n {\n protocol,\n },\n BasePath = \"/v1\",\n Description = \"zhiwei_pop_examplecase\",\n Type = \"Rest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apig\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprotocol := \"HTTP\"\n\t\tif param := cfg.Get(\"protocol\"); param != \"\" {\n\t\t\tprotocol = param\n\t\t}\n\t\tprotocolHttps := \"HTTPS\"\n\t\tif param := cfg.Get(\"protocolHttps\"); param != \"\" {\n\t\t\tprotocolHttps = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apig.NewHttpApi(ctx, \"default\", \u0026apig.HttpApiArgs{\n\t\t\tHttpApiName: pulumi.String(name),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(protocol),\n\t\t\t},\n\t\t\tBasePath: pulumi.String(\"/v1\"),\n\t\t\tDescription: pulumi.String(\"zhiwei_pop_examplecase\"),\n\t\t\tType: pulumi.String(\"Rest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.apig.HttpApi;\nimport com.pulumi.alicloud.apig.HttpApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var protocol = config.get(\"protocol\").orElse(\"HTTP\");\n final var protocolHttps = config.get(\"protocolHttps\").orElse(\"HTTPS\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultHttpApi = new HttpApi(\"defaultHttpApi\", HttpApiArgs.builder()\n .httpApiName(name)\n .protocols(protocol)\n .basePath(\"/v1\")\n .description(\"zhiwei_pop_examplecase\")\n .type(\"Rest\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n protocol:\n type: string\n default: HTTP\n protocolHttps:\n type: string\n default: HTTPS\nresources:\n defaultHttpApi:\n type: alicloud:apig:HttpApi\n name: default\n properties:\n httpApiName: ${name}\n protocols:\n - ${protocol}\n basePath: /v1\n description: zhiwei_pop_examplecase\n type: Rest\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAPIG Http Api can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apig/httpApi:HttpApi example \u003cid\u003e\n```\n\n", + "description": "Provides a APIG Http Api resource.\n\n\n\nFor information about APIG Http Api and how to use it, see [What is Http Api](https://next.api.aliyun.com/api/APIG/2024-03-27/CreateHttpApi).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst protocol = config.get(\"protocol\") || \"HTTP\";\nconst protocolHttps = config.get(\"protocolHttps\") || \"HTTPS\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultHttpApi = new alicloud.apig.HttpApi(\"default\", {\n httpApiName: name,\n protocols: [protocol],\n basePath: \"/v1\",\n description: \"zhiwei_pop_examplecase\",\n type: \"Rest\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nprotocol = config.get(\"protocol\")\nif protocol is None:\n protocol = \"HTTP\"\nprotocol_https = config.get(\"protocolHttps\")\nif protocol_https is None:\n protocol_https = \"HTTPS\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_http_api = alicloud.apig.HttpApi(\"default\",\n http_api_name=name,\n protocols=[protocol],\n base_path=\"/v1\",\n description=\"zhiwei_pop_examplecase\",\n type=\"Rest\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var protocol = config.Get(\"protocol\") ?? \"HTTP\";\n var protocolHttps = config.Get(\"protocolHttps\") ?? \"HTTPS\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultHttpApi = new AliCloud.Apig.HttpApi(\"default\", new()\n {\n HttpApiName = name,\n Protocols = new[]\n {\n protocol,\n },\n BasePath = \"/v1\",\n Description = \"zhiwei_pop_examplecase\",\n Type = \"Rest\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apig\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprotocol := \"HTTP\"\n\t\tif param := cfg.Get(\"protocol\"); param != \"\" {\n\t\t\tprotocol = param\n\t\t}\n\t\tprotocolHttps := \"HTTPS\"\n\t\tif param := cfg.Get(\"protocolHttps\"); param != \"\" {\n\t\t\tprotocolHttps = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apig.NewHttpApi(ctx, \"default\", \u0026apig.HttpApiArgs{\n\t\t\tHttpApiName: pulumi.String(name),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(protocol),\n\t\t\t},\n\t\t\tBasePath: pulumi.String(\"/v1\"),\n\t\t\tDescription: pulumi.String(\"zhiwei_pop_examplecase\"),\n\t\t\tType: pulumi.String(\"Rest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.apig.HttpApi;\nimport com.pulumi.alicloud.apig.HttpApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var protocol = config.get(\"protocol\").orElse(\"HTTP\");\n final var protocolHttps = config.get(\"protocolHttps\").orElse(\"HTTPS\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultHttpApi = new HttpApi(\"defaultHttpApi\", HttpApiArgs.builder()\n .httpApiName(name)\n .protocols(protocol)\n .basePath(\"/v1\")\n .description(\"zhiwei_pop_examplecase\")\n .type(\"Rest\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n protocol:\n type: string\n default: HTTP\n protocolHttps:\n type: string\n default: HTTPS\nresources:\n defaultHttpApi:\n type: alicloud:apig:HttpApi\n name: default\n properties:\n httpApiName: ${name}\n protocols:\n - ${protocol}\n basePath: /v1\n description: zhiwei_pop_examplecase\n type: Rest\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAPIG Http Api can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apig/httpApi:HttpApi example \u003cid\u003e\n```\n\n", "properties": { "basePath": { "type": "string", @@ -104548,7 +106401,7 @@ } }, "alicloud:apigateway/accessControlList:AccessControlList": { - "description": "Provides a Api Gateway Access Control List resource. Access control list.\n\nFor information about Api Gateway Access Control List and how to use it, see [What is Access Control List](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createaccesscontrollist).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultxywS8c = new alicloud.apigateway.Instance(\"defaultxywS8c\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6\",\n paymentType: \"PayAsYouGo\",\n});\nconst _default = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaultxyw_s8c = alicloud.apigateway.Instance(\"defaultxywS8c\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6\",\n payment_type=\"PayAsYouGo\")\ndefault = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultxywS8c = new AliCloud.ApiGateway.Instance(\"defaultxywS8c\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var @default = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewInstance(ctx, \"defaultxywS8c\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultxywS8c = new Instance(\"defaultxywS8c\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var default_ = new AccessControlList(\"default\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultxywS8c:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6\n paymentType: PayAsYouGo\n default:\n type: alicloud:apigateway:AccessControlList\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Access Control List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/accessControlList:AccessControlList example \u003cid\u003e\n```\n\n", + "description": "Provides a Api Gateway Access Control List resource. Access control list.\n\nFor information about Api Gateway Access Control List and how to use it, see [What is Access Control List](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createaccesscontrollist).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultxywS8c = new alicloud.apigateway.Instance(\"defaultxywS8c\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6\",\n paymentType: \"PayAsYouGo\",\n});\nconst _default = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaultxyw_s8c = alicloud.apigateway.Instance(\"defaultxywS8c\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6\",\n payment_type=\"PayAsYouGo\")\ndefault = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultxywS8c = new AliCloud.ApiGateway.Instance(\"defaultxywS8c\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var @default = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewInstance(ctx, \"defaultxywS8c\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultxywS8c = new Instance(\"defaultxywS8c\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var default_ = new AccessControlList(\"default\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultxywS8c:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6\n paymentType: PayAsYouGo\n default:\n type: alicloud:apigateway:AccessControlList\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Access Control List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/accessControlList:AccessControlList example \u003cid\u003e\n```\n\n", "properties": { "accessControlListName": { "type": "string", @@ -104624,7 +106477,7 @@ } }, "alicloud:apigateway/aclEntryAttachment:AclEntryAttachment": { - "description": "Provides an ACL entry attachment resource for attaching ACL entry to an API Gateway ACL.\n\n\u003e **NOTE:** Available since v1.228.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.apigateway.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"128.0.0.1/32\",\n comment: \"test comment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\ndefault_acl_entry_attachment = alicloud.apigateway.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"128.0.0.1/32\",\n comment=\"test comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.ApiGateway.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"128.0.0.1/32\",\n Comment = \"test comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAclEntryAttachment(ctx, \"default\", \u0026apigateway.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"128.0.0.1/32\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachment;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new AccessControlList(\"default\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"128.0.0.1/32\")\n .comment(\"test comment\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:AccessControlList\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n defaultAclEntryAttachment:\n type: alicloud:apigateway:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 128.0.0.1/32\n comment: test comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Acl Entry Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", + "description": "Provides an ACL entry attachment resource for attaching ACL entry to an API Gateway ACL.\n\n\u003e **NOTE:** Available since v1.228.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.apigateway.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"128.0.0.1/32\",\n comment: \"test comment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\ndefault_acl_entry_attachment = alicloud.apigateway.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"128.0.0.1/32\",\n comment=\"test comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.ApiGateway.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"128.0.0.1/32\",\n Comment = \"test comment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAclEntryAttachment(ctx, \"default\", \u0026apigateway.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"128.0.0.1/32\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachment;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new AccessControlList(\"default\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"128.0.0.1/32\")\n .comment(\"test comment\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:AccessControlList\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n defaultAclEntryAttachment:\n type: alicloud:apigateway:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 128.0.0.1/32\n comment: test comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Acl Entry Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -104687,7 +106540,7 @@ } }, "alicloud:apigateway/api:Api": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: \"tf-example\",\n description: \"tf-example\",\n basePath: \"/\",\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: \"tf-example\",\n description: \"tf-example\",\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.apigateway.Group(\"example\",\n name=\"tf-example\",\n description=\"tf-example\",\n base_path=\"/\")\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=\"tf-example\",\n description=\"tf-example\",\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = \"tf-example\",\n Description = \"tf-example\",\n BasePath = \"/\",\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = \"tf-example\",\n Description = \"tf-example\",\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t\tBasePath: pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"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.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Group(\"example\", GroupArgs.builder()\n .name(\"tf-example\")\n .description(\"tf-example\")\n .basePath(\"/\")\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(\"tf-example\")\n .description(\"tf-example\")\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: tf-example\n description: tf-example\n basePath: /\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: tf-example\n description: tf-example\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi gateway api can be imported using the id.Format to `\u003cAPI Group Id\u003e:\u003cAPI Id\u003e` e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/api:Api example \"ab2351f2ce904edaa8d92a0510832b91:e4f728fca5a94148b023b99a3e5d0b62\"\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: \"tf-example\",\n description: \"tf-example\",\n basePath: \"/\",\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: \"tf-example\",\n description: \"tf-example\",\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.apigateway.Group(\"example\",\n name=\"tf-example\",\n description=\"tf-example\",\n base_path=\"/\")\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=\"tf-example\",\n description=\"tf-example\",\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = \"tf-example\",\n Description = \"tf-example\",\n BasePath = \"/\",\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = \"tf-example\",\n Description = \"tf-example\",\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t\tBasePath: pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"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.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Group(\"example\", GroupArgs.builder()\n .name(\"tf-example\")\n .description(\"tf-example\")\n .basePath(\"/\")\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(\"tf-example\")\n .description(\"tf-example\")\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: tf-example\n description: tf-example\n basePath: /\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: tf-example\n description: tf-example\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi gateway api can be imported using the id.Format to `\u003cAPI Group Id\u003e:\u003cAPI Id\u003e` e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/api:Api example \"ab2351f2ce904edaa8d92a0510832b91:e4f728fca5a94148b023b99a3e5d0b62\"\n```\n\n", "properties": { "apiId": { "type": "string", @@ -104943,7 +106796,7 @@ } }, "alicloud:apigateway/app:App": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.apigateway.App(\"example\", {\n name: \"tf_example\",\n description: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.apigateway.App(\"example\",\n name=\"tf_example\",\n description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.ApiGateway.App(\"example\", new()\n {\n Name = \"tf_example\",\n Description = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewApp(ctx, \"example\", \u0026apigateway.AppArgs{\n\t\t\tName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.App;\nimport com.pulumi.alicloud.apigateway.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 App(\"example\", AppArgs.builder()\n .name(\"tf_example\")\n .description(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:apigateway:App\n properties:\n name: tf_example\n description: tf_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi gateway app can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/app:App example \"7379660\"\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.apigateway.App(\"example\", {\n name: \"tf_example\",\n description: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.apigateway.App(\"example\",\n name=\"tf_example\",\n description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.ApiGateway.App(\"example\", new()\n {\n Name = \"tf_example\",\n Description = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewApp(ctx, \"example\", \u0026apigateway.AppArgs{\n\t\t\tName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.App;\nimport com.pulumi.alicloud.apigateway.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 App(\"example\", AppArgs.builder()\n .name(\"tf_example\")\n .description(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:apigateway:App\n properties:\n name: tf_example\n description: tf_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi gateway app can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/app:App example \"7379660\"\n```\n\n", "properties": { "description": { "type": "string", @@ -105004,7 +106857,7 @@ } }, "alicloud:apigateway/appAttachment:AppAttachment": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: name,\n description: name,\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: name,\n description: name,\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\nconst exampleApp = new alicloud.apigateway.App(\"example\", {\n name: name,\n description: name,\n});\nconst exampleAppAttachment = new alicloud.apigateway.AppAttachment(\"example\", {\n apiId: exampleApi.apiId,\n groupId: example.id,\n appId: exampleApp.id,\n stageName: \"PRE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.apigateway.Group(\"example\",\n name=name,\n description=name)\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=name,\n description=name,\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\nexample_app = alicloud.apigateway.App(\"example\",\n name=name,\n description=name)\nexample_app_attachment = alicloud.apigateway.AppAttachment(\"example\",\n api_id=example_api.api_id,\n group_id=example.id,\n app_id=example_app.id,\n stage_name=\"PRE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = name,\n Description = name,\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n var exampleApp = new AliCloud.ApiGateway.App(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleAppAttachment = new AliCloud.ApiGateway.AppAttachment(\"example\", new()\n {\n ApiId = exampleApi.ApiId,\n GroupId = example.Id,\n AppId = exampleApp.Id,\n StageName = \"PRE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"TEST\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApp, err := apigateway.NewApp(ctx, \"example\", \u0026apigateway.AppArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAppAttachment(ctx, \"example\", \u0026apigateway.AppAttachmentArgs{\n\t\t\tApiId: exampleApi.ApiId,\n\t\t\tGroupId: example.ID(),\n\t\t\tAppId: exampleApp.ID(),\n\t\t\tStageName: pulumi.String(\"PRE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport com.pulumi.alicloud.apigateway.App;\nimport com.pulumi.alicloud.apigateway.AppArgs;\nimport com.pulumi.alicloud.apigateway.AppAttachment;\nimport com.pulumi.alicloud.apigateway.AppAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(name)\n .description(name)\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n var exampleApp = new App(\"exampleApp\", AppArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleAppAttachment = new AppAttachment(\"exampleAppAttachment\", AppAttachmentArgs.builder()\n .apiId(exampleApi.apiId())\n .groupId(example.id())\n .appId(exampleApp.id())\n .stageName(\"PRE\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: ${name}\n description: ${name}\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: ${name}\n description: ${name}\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n exampleApp:\n type: alicloud:apigateway:App\n name: example\n properties:\n name: ${name}\n description: ${name}\n exampleAppAttachment:\n type: alicloud:apigateway:AppAttachment\n name: example\n properties:\n apiId: ${exampleApi.apiId}\n groupId: ${example.id}\n appId: ${exampleApp.id}\n stageName: PRE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: name,\n description: name,\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: name,\n description: name,\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\nconst exampleApp = new alicloud.apigateway.App(\"example\", {\n name: name,\n description: name,\n});\nconst exampleAppAttachment = new alicloud.apigateway.AppAttachment(\"example\", {\n apiId: exampleApi.apiId,\n groupId: example.id,\n appId: exampleApp.id,\n stageName: \"PRE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.apigateway.Group(\"example\",\n name=name,\n description=name)\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=name,\n description=name,\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\nexample_app = alicloud.apigateway.App(\"example\",\n name=name,\n description=name)\nexample_app_attachment = alicloud.apigateway.AppAttachment(\"example\",\n api_id=example_api.api_id,\n group_id=example.id,\n app_id=example_app.id,\n stage_name=\"PRE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = name,\n Description = name,\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n var exampleApp = new AliCloud.ApiGateway.App(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleAppAttachment = new AliCloud.ApiGateway.AppAttachment(\"example\", new()\n {\n ApiId = exampleApi.ApiId,\n GroupId = example.Id,\n AppId = exampleApp.Id,\n StageName = \"PRE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"TEST\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApp, err := apigateway.NewApp(ctx, \"example\", \u0026apigateway.AppArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAppAttachment(ctx, \"example\", \u0026apigateway.AppAttachmentArgs{\n\t\t\tApiId: exampleApi.ApiId,\n\t\t\tGroupId: example.ID(),\n\t\t\tAppId: exampleApp.ID(),\n\t\t\tStageName: pulumi.String(\"PRE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport com.pulumi.alicloud.apigateway.App;\nimport com.pulumi.alicloud.apigateway.AppArgs;\nimport com.pulumi.alicloud.apigateway.AppAttachment;\nimport com.pulumi.alicloud.apigateway.AppAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(name)\n .description(name)\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n var exampleApp = new App(\"exampleApp\", AppArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleAppAttachment = new AppAttachment(\"exampleAppAttachment\", AppAttachmentArgs.builder()\n .apiId(exampleApi.apiId())\n .groupId(example.id())\n .appId(exampleApp.id())\n .stageName(\"PRE\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: ${name}\n description: ${name}\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: ${name}\n description: ${name}\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n exampleApp:\n type: alicloud:apigateway:App\n name: example\n properties:\n name: ${name}\n description: ${name}\n exampleAppAttachment:\n type: alicloud:apigateway:AppAttachment\n name: example\n properties:\n apiId: ${exampleApi.apiId}\n groupId: ${example.id}\n appId: ${exampleApp.id}\n stageName: PRE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "apiId": { "type": "string", @@ -105085,7 +106938,7 @@ } }, "alicloud:apigateway/backend:Backend": { - "description": "Provides a Api Gateway Backend resource.\n\nFor information about Api Gateway Backend and how to use it, see [What is Backend](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createbackend).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.apigateway.Backend(\"default\", {\n backendName: name,\n description: name,\n backendType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.apigateway.Backend(\"default\",\n backend_name=name,\n description=name,\n backend_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ApiGateway.Backend(\"default\", new()\n {\n BackendName = name,\n Description = name,\n BackendType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewBackend(ctx, \"default\", \u0026apigateway.BackendArgs{\n\t\t\tBackendName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBackendType: pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Backend;\nimport com.pulumi.alicloud.apigateway.BackendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Backend(\"default\", BackendArgs.builder()\n .backendName(name)\n .description(name)\n .backendType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:apigateway:Backend\n properties:\n backendName: ${name}\n description: ${name}\n backendType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Backend can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/backend:Backend example \u003cid\u003e\n```\n\n", + "description": "Provides a Api Gateway Backend resource.\n\nFor information about Api Gateway Backend and how to use it, see [What is Backend](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createbackend).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.apigateway.Backend(\"default\", {\n backendName: name,\n description: name,\n backendType: \"HTTP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.apigateway.Backend(\"default\",\n backend_name=name,\n description=name,\n backend_type=\"HTTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ApiGateway.Backend(\"default\", new()\n {\n BackendName = name,\n Description = name,\n BackendType = \"HTTP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewBackend(ctx, \"default\", \u0026apigateway.BackendArgs{\n\t\t\tBackendName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBackendType: pulumi.String(\"HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Backend;\nimport com.pulumi.alicloud.apigateway.BackendArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Backend(\"default\", BackendArgs.builder()\n .backendName(name)\n .description(name)\n .backendType(\"HTTP\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:apigateway:Backend\n properties:\n backendName: ${name}\n description: ${name}\n backendType: HTTP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Backend can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/backend:Backend example \u003cid\u003e\n```\n\n", "properties": { "backendName": { "type": "string", @@ -105157,7 +107010,7 @@ } }, "alicloud:apigateway/group:Group": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.apigateway.Group(\"default\", {\n name: \"tf_example\",\n description: \"tf_example\",\n basePath: \"/\",\n userLogConfig: {\n requestBody: true,\n responseBody: true,\n queryString: \"*\",\n requestHeaders: \"*\",\n responseHeaders: \"*\",\n jwtClaims: \"*\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.apigateway.Group(\"default\",\n name=\"tf_example\",\n description=\"tf_example\",\n base_path=\"/\",\n user_log_config={\n \"request_body\": True,\n \"response_body\": True,\n \"query_string\": \"*\",\n \"request_headers\": \"*\",\n \"response_headers\": \"*\",\n \"jwt_claims\": \"*\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ApiGateway.Group(\"default\", new()\n {\n Name = \"tf_example\",\n Description = \"tf_example\",\n BasePath = \"/\",\n UserLogConfig = new AliCloud.ApiGateway.Inputs.GroupUserLogConfigArgs\n {\n RequestBody = true,\n ResponseBody = true,\n QueryString = \"*\",\n RequestHeaders = \"*\",\n ResponseHeaders = \"*\",\n JwtClaims = \"*\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewGroup(ctx, \"default\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tBasePath: pulumi.String(\"/\"),\n\t\t\tUserLogConfig: \u0026apigateway.GroupUserLogConfigArgs{\n\t\t\t\tRequestBody: pulumi.Bool(true),\n\t\t\t\tResponseBody: pulumi.Bool(true),\n\t\t\t\tQueryString: pulumi.String(\"*\"),\n\t\t\t\tRequestHeaders: pulumi.String(\"*\"),\n\t\t\t\tResponseHeaders: pulumi.String(\"*\"),\n\t\t\t\tJwtClaims: 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.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.inputs.GroupUserLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Group(\"default\", GroupArgs.builder()\n .name(\"tf_example\")\n .description(\"tf_example\")\n .basePath(\"/\")\n .userLogConfig(GroupUserLogConfigArgs.builder()\n .requestBody(true)\n .responseBody(true)\n .queryString(\"*\")\n .requestHeaders(\"*\")\n .responseHeaders(\"*\")\n .jwtClaims(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:apigateway:Group\n properties:\n name: tf_example\n description: tf_example\n basePath: /\n userLogConfig:\n requestBody: true\n responseBody: true\n queryString: '*'\n requestHeaders: '*'\n responseHeaders: '*'\n jwtClaims: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi gateway group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/group:Group example \"ab2351f2ce904edaa8d92a0510832b91\"\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.apigateway.Group(\"default\", {\n name: \"tf_example\",\n description: \"tf_example\",\n basePath: \"/\",\n userLogConfig: {\n requestBody: true,\n responseBody: true,\n queryString: \"*\",\n requestHeaders: \"*\",\n responseHeaders: \"*\",\n jwtClaims: \"*\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.apigateway.Group(\"default\",\n name=\"tf_example\",\n description=\"tf_example\",\n base_path=\"/\",\n user_log_config={\n \"request_body\": True,\n \"response_body\": True,\n \"query_string\": \"*\",\n \"request_headers\": \"*\",\n \"response_headers\": \"*\",\n \"jwt_claims\": \"*\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ApiGateway.Group(\"default\", new()\n {\n Name = \"tf_example\",\n Description = \"tf_example\",\n BasePath = \"/\",\n UserLogConfig = new AliCloud.ApiGateway.Inputs.GroupUserLogConfigArgs\n {\n RequestBody = true,\n ResponseBody = true,\n QueryString = \"*\",\n RequestHeaders = \"*\",\n ResponseHeaders = \"*\",\n JwtClaims = \"*\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewGroup(ctx, \"default\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tBasePath: pulumi.String(\"/\"),\n\t\t\tUserLogConfig: \u0026apigateway.GroupUserLogConfigArgs{\n\t\t\t\tRequestBody: pulumi.Bool(true),\n\t\t\t\tResponseBody: pulumi.Bool(true),\n\t\t\t\tQueryString: pulumi.String(\"*\"),\n\t\t\t\tRequestHeaders: pulumi.String(\"*\"),\n\t\t\t\tResponseHeaders: pulumi.String(\"*\"),\n\t\t\t\tJwtClaims: 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.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.inputs.GroupUserLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Group(\"default\", GroupArgs.builder()\n .name(\"tf_example\")\n .description(\"tf_example\")\n .basePath(\"/\")\n .userLogConfig(GroupUserLogConfigArgs.builder()\n .requestBody(true)\n .responseBody(true)\n .queryString(\"*\")\n .requestHeaders(\"*\")\n .responseHeaders(\"*\")\n .jwtClaims(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:apigateway:Group\n properties:\n name: tf_example\n description: tf_example\n basePath: /\n userLogConfig:\n requestBody: true\n responseBody: true\n queryString: '*'\n requestHeaders: '*'\n responseHeaders: '*'\n jwtClaims: '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi gateway group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/group:Group example \"ab2351f2ce904edaa8d92a0510832b91\"\n```\n\n", "properties": { "basePath": { "type": "string", @@ -105267,7 +107120,7 @@ } }, "alicloud:apigateway/instance:Instance": { - "description": "Provides a Api Gateway Instance resource. \n\nFor information about Api Gateway Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/api-gateway/product-overview/dedicated-instances).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.apigateway.Instance(\"default\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6(i,j,k)\",\n paymentType: \"PayAsYouGo\",\n instanceType: \"normal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.apigateway.Instance(\"default\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6(i,j,k)\",\n payment_type=\"PayAsYouGo\",\n instance_type=\"normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ApiGateway.Instance(\"default\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6(i,j,k)\",\n PaymentType = \"PayAsYouGo\",\n InstanceType = \"normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewInstance(ctx, \"default\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6(i,j,k)\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6(i,j,k)\")\n .paymentType(\"PayAsYouGo\")\n .instanceType(\"normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6(i,j,k)\n paymentType: PayAsYouGo\n instanceType: normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch1 = new alicloud.vpc.Switch(\"vswitch_1\", {\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: \"cn-hangzhou-j\",\n vswitchName: `${name}_1`,\n});\nconst vswitch2 = new alicloud.vpc.Switch(\"vswitch_2\", {\n vpcId: vpc.id,\n cidrBlock: \"172.17.0.0/16\",\n zoneId: \"cn-hangzhou-k\",\n vswitchName: `${name}_2`,\n});\nconst securityGroup = new alicloud.ecs.SecurityGroup(\"security_group\", {\n vpcId: vpc.id,\n securityGroupName: name,\n});\nconst vpcIntegrationInstance = new alicloud.apigateway.Instance(\"vpc_integration_instance\", {\n instanceName: name,\n httpsPolicy: \"HTTPS2_TLS1_0\",\n instanceSpec: \"api.s1.small\",\n instanceType: \"vpc_connect\",\n paymentType: \"PayAsYouGo\",\n userVpcId: vpc.id,\n instanceCidr: \"192.168.0.0/16\",\n zoneVswitchSecurityGroups: [\n {\n zoneId: vswitch1.zoneId,\n vswitchId: vswitch1.id,\n cidrBlock: vswitch1.cidrBlock,\n securityGroup: securityGroup.id,\n },\n {\n zoneId: vswitch2.zoneId,\n vswitchId: vswitch2.id,\n cidrBlock: vswitch2.cidrBlock,\n securityGroup: securityGroup.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch1 = alicloud.vpc.Switch(\"vswitch_1\",\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=\"cn-hangzhou-j\",\n vswitch_name=f\"{name}_1\")\nvswitch2 = alicloud.vpc.Switch(\"vswitch_2\",\n vpc_id=vpc.id,\n cidr_block=\"172.17.0.0/16\",\n zone_id=\"cn-hangzhou-k\",\n vswitch_name=f\"{name}_2\")\nsecurity_group = alicloud.ecs.SecurityGroup(\"security_group\",\n vpc_id=vpc.id,\n security_group_name=name)\nvpc_integration_instance = alicloud.apigateway.Instance(\"vpc_integration_instance\",\n instance_name=name,\n https_policy=\"HTTPS2_TLS1_0\",\n instance_spec=\"api.s1.small\",\n instance_type=\"vpc_connect\",\n payment_type=\"PayAsYouGo\",\n user_vpc_id=vpc.id,\n instance_cidr=\"192.168.0.0/16\",\n zone_vswitch_security_groups=[\n {\n \"zone_id\": vswitch1.zone_id,\n \"vswitch_id\": vswitch1.id,\n \"cidr_block\": vswitch1.cidr_block,\n \"security_group\": security_group.id,\n },\n {\n \"zone_id\": vswitch2.zone_id,\n \"vswitch_id\": vswitch2.id,\n \"cidr_block\": vswitch2.cidr_block,\n \"security_group\": security_group.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch1 = new AliCloud.Vpc.Switch(\"vswitch_1\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = \"cn-hangzhou-j\",\n VswitchName = $\"{name}_1\",\n });\n\n var vswitch2 = new AliCloud.Vpc.Switch(\"vswitch_2\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.17.0.0/16\",\n ZoneId = \"cn-hangzhou-k\",\n VswitchName = $\"{name}_2\",\n });\n\n var securityGroup = new AliCloud.Ecs.SecurityGroup(\"security_group\", new()\n {\n VpcId = vpc.Id,\n SecurityGroupName = name,\n });\n\n var vpcIntegrationInstance = new AliCloud.ApiGateway.Instance(\"vpc_integration_instance\", new()\n {\n InstanceName = name,\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n InstanceSpec = \"api.s1.small\",\n InstanceType = \"vpc_connect\",\n PaymentType = \"PayAsYouGo\",\n UserVpcId = vpc.Id,\n InstanceCidr = \"192.168.0.0/16\",\n ZoneVswitchSecurityGroups = new[]\n {\n new AliCloud.ApiGateway.Inputs.InstanceZoneVswitchSecurityGroupArgs\n {\n ZoneId = vswitch1.ZoneId,\n VswitchId = vswitch1.Id,\n CidrBlock = vswitch1.CidrBlock,\n SecurityGroup = securityGroup.Id,\n },\n new AliCloud.ApiGateway.Inputs.InstanceZoneVswitchSecurityGroupArgs\n {\n ZoneId = vswitch2.ZoneId,\n VswitchId = vswitch2.Id,\n CidrBlock = vswitch2.CidrBlock,\n SecurityGroup = securityGroup.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch1, err := vpc.NewSwitch(ctx, \"vswitch_1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch2, err := vpc.NewSwitch(ctx, \"vswitch_2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.17.0.0/16\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroup, err := ecs.NewSecurityGroup(ctx, \"security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewInstance(ctx, \"vpc_integration_instance\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tInstanceType: pulumi.String(\"vpc_connect\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tUserVpcId: vpc.ID(),\n\t\t\tInstanceCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tZoneVswitchSecurityGroups: apigateway.InstanceZoneVswitchSecurityGroupArray{\n\t\t\t\t\u0026apigateway.InstanceZoneVswitchSecurityGroupArgs{\n\t\t\t\t\tZoneId: vswitch1.ZoneId,\n\t\t\t\t\tVswitchId: vswitch1.ID(),\n\t\t\t\t\tCidrBlock: vswitch1.CidrBlock,\n\t\t\t\t\tSecurityGroup: securityGroup.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026apigateway.InstanceZoneVswitchSecurityGroupArgs{\n\t\t\t\t\tZoneId: vswitch2.ZoneId,\n\t\t\t\t\tVswitchId: vswitch2.ID(),\n\t\t\t\t\tCidrBlock: vswitch2.CidrBlock,\n\t\t\t\t\tSecurityGroup: securityGroup.ID(),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.inputs.InstanceZoneVswitchSecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch1 = new Switch(\"vswitch1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(\"cn-hangzhou-j\")\n .vswitchName(String.format(\"%s_1\", name))\n .build());\n\n var vswitch2 = new Switch(\"vswitch2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.17.0.0/16\")\n .zoneId(\"cn-hangzhou-k\")\n .vswitchName(String.format(\"%s_2\", name))\n .build());\n\n var securityGroup = new SecurityGroup(\"securityGroup\", SecurityGroupArgs.builder()\n .vpcId(vpc.id())\n .securityGroupName(name)\n .build());\n\n var vpcIntegrationInstance = new Instance(\"vpcIntegrationInstance\", InstanceArgs.builder()\n .instanceName(name)\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .instanceSpec(\"api.s1.small\")\n .instanceType(\"vpc_connect\")\n .paymentType(\"PayAsYouGo\")\n .userVpcId(vpc.id())\n .instanceCidr(\"192.168.0.0/16\")\n .zoneVswitchSecurityGroups( \n InstanceZoneVswitchSecurityGroupArgs.builder()\n .zoneId(vswitch1.zoneId())\n .vswitchId(vswitch1.id())\n .cidrBlock(vswitch1.cidrBlock())\n .securityGroup(securityGroup.id())\n .build(),\n InstanceZoneVswitchSecurityGroupArgs.builder()\n .zoneId(vswitch2.zoneId())\n .vswitchId(vswitch2.id())\n .cidrBlock(vswitch2.cidrBlock())\n .securityGroup(securityGroup.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch1:\n type: alicloud:vpc:Switch\n name: vswitch_1\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/16\n zoneId: cn-hangzhou-j\n vswitchName: ${name}_1\n vswitch2:\n type: alicloud:vpc:Switch\n name: vswitch_2\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.17.0.0/16\n zoneId: cn-hangzhou-k\n vswitchName: ${name}_2\n securityGroup:\n type: alicloud:ecs:SecurityGroup\n name: security_group\n properties:\n vpcId: ${vpc.id}\n securityGroupName: ${name}\n vpcIntegrationInstance:\n type: alicloud:apigateway:Instance\n name: vpc_integration_instance\n properties:\n instanceName: ${name}\n httpsPolicy: HTTPS2_TLS1_0\n instanceSpec: api.s1.small\n instanceType: vpc_connect\n paymentType: PayAsYouGo\n userVpcId: ${vpc.id}\n instanceCidr: 192.168.0.0/16\n zoneVswitchSecurityGroups:\n - zoneId: ${vswitch1.zoneId}\n vswitchId: ${vswitch1.id}\n cidrBlock: ${vswitch1.cidrBlock}\n securityGroup: ${securityGroup.id}\n - zoneId: ${vswitch2.zoneId}\n vswitchId: ${vswitch2.id}\n cidrBlock: ${vswitch2.cidrBlock}\n securityGroup: ${securityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Api Gateway Instance resource. \n\nFor information about Api Gateway Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/api-gateway/product-overview/dedicated-instances).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.apigateway.Instance(\"default\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6(i,j,k)\",\n paymentType: \"PayAsYouGo\",\n instanceType: \"normal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.apigateway.Instance(\"default\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6(i,j,k)\",\n payment_type=\"PayAsYouGo\",\n instance_type=\"normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ApiGateway.Instance(\"default\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6(i,j,k)\",\n PaymentType = \"PayAsYouGo\",\n InstanceType = \"normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := apigateway.NewInstance(ctx, \"default\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6(i,j,k)\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6(i,j,k)\")\n .paymentType(\"PayAsYouGo\")\n .instanceType(\"normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6(i,j,k)\n paymentType: PayAsYouGo\n instanceType: normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch1 = new alicloud.vpc.Switch(\"vswitch_1\", {\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: \"cn-hangzhou-j\",\n vswitchName: `${name}_1`,\n});\nconst vswitch2 = new alicloud.vpc.Switch(\"vswitch_2\", {\n vpcId: vpc.id,\n cidrBlock: \"172.17.0.0/16\",\n zoneId: \"cn-hangzhou-k\",\n vswitchName: `${name}_2`,\n});\nconst securityGroup = new alicloud.ecs.SecurityGroup(\"security_group\", {\n vpcId: vpc.id,\n securityGroupName: name,\n});\nconst vpcIntegrationInstance = new alicloud.apigateway.Instance(\"vpc_integration_instance\", {\n instanceName: name,\n httpsPolicy: \"HTTPS2_TLS1_0\",\n instanceSpec: \"api.s1.small\",\n instanceType: \"vpc_connect\",\n paymentType: \"PayAsYouGo\",\n userVpcId: vpc.id,\n instanceCidr: \"192.168.0.0/16\",\n zoneVswitchSecurityGroups: [\n {\n zoneId: vswitch1.zoneId,\n vswitchId: vswitch1.id,\n cidrBlock: vswitch1.cidrBlock,\n securityGroup: securityGroup.id,\n },\n {\n zoneId: vswitch2.zoneId,\n vswitchId: vswitch2.id,\n cidrBlock: vswitch2.cidrBlock,\n securityGroup: securityGroup.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch1 = alicloud.vpc.Switch(\"vswitch_1\",\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=\"cn-hangzhou-j\",\n vswitch_name=f\"{name}_1\")\nvswitch2 = alicloud.vpc.Switch(\"vswitch_2\",\n vpc_id=vpc.id,\n cidr_block=\"172.17.0.0/16\",\n zone_id=\"cn-hangzhou-k\",\n vswitch_name=f\"{name}_2\")\nsecurity_group = alicloud.ecs.SecurityGroup(\"security_group\",\n vpc_id=vpc.id,\n security_group_name=name)\nvpc_integration_instance = alicloud.apigateway.Instance(\"vpc_integration_instance\",\n instance_name=name,\n https_policy=\"HTTPS2_TLS1_0\",\n instance_spec=\"api.s1.small\",\n instance_type=\"vpc_connect\",\n payment_type=\"PayAsYouGo\",\n user_vpc_id=vpc.id,\n instance_cidr=\"192.168.0.0/16\",\n zone_vswitch_security_groups=[\n {\n \"zone_id\": vswitch1.zone_id,\n \"vswitch_id\": vswitch1.id,\n \"cidr_block\": vswitch1.cidr_block,\n \"security_group\": security_group.id,\n },\n {\n \"zone_id\": vswitch2.zone_id,\n \"vswitch_id\": vswitch2.id,\n \"cidr_block\": vswitch2.cidr_block,\n \"security_group\": security_group.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch1 = new AliCloud.Vpc.Switch(\"vswitch_1\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = \"cn-hangzhou-j\",\n VswitchName = $\"{name}_1\",\n });\n\n var vswitch2 = new AliCloud.Vpc.Switch(\"vswitch_2\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.17.0.0/16\",\n ZoneId = \"cn-hangzhou-k\",\n VswitchName = $\"{name}_2\",\n });\n\n var securityGroup = new AliCloud.Ecs.SecurityGroup(\"security_group\", new()\n {\n VpcId = vpc.Id,\n SecurityGroupName = name,\n });\n\n var vpcIntegrationInstance = new AliCloud.ApiGateway.Instance(\"vpc_integration_instance\", new()\n {\n InstanceName = name,\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n InstanceSpec = \"api.s1.small\",\n InstanceType = \"vpc_connect\",\n PaymentType = \"PayAsYouGo\",\n UserVpcId = vpc.Id,\n InstanceCidr = \"192.168.0.0/16\",\n ZoneVswitchSecurityGroups = new[]\n {\n new AliCloud.ApiGateway.Inputs.InstanceZoneVswitchSecurityGroupArgs\n {\n ZoneId = vswitch1.ZoneId,\n VswitchId = vswitch1.Id,\n CidrBlock = vswitch1.CidrBlock,\n SecurityGroup = securityGroup.Id,\n },\n new AliCloud.ApiGateway.Inputs.InstanceZoneVswitchSecurityGroupArgs\n {\n ZoneId = vswitch2.ZoneId,\n VswitchId = vswitch2.Id,\n CidrBlock = vswitch2.CidrBlock,\n SecurityGroup = securityGroup.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch1, err := vpc.NewSwitch(ctx, \"vswitch_1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch2, err := vpc.NewSwitch(ctx, \"vswitch_2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.17.0.0/16\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v_2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroup, err := ecs.NewSecurityGroup(ctx, \"security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewInstance(ctx, \"vpc_integration_instance\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tInstanceType: pulumi.String(\"vpc_connect\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tUserVpcId: vpc.ID(),\n\t\t\tInstanceCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tZoneVswitchSecurityGroups: apigateway.InstanceZoneVswitchSecurityGroupArray{\n\t\t\t\t\u0026apigateway.InstanceZoneVswitchSecurityGroupArgs{\n\t\t\t\t\tZoneId: vswitch1.ZoneId,\n\t\t\t\t\tVswitchId: vswitch1.ID(),\n\t\t\t\t\tCidrBlock: vswitch1.CidrBlock,\n\t\t\t\t\tSecurityGroup: securityGroup.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026apigateway.InstanceZoneVswitchSecurityGroupArgs{\n\t\t\t\t\tZoneId: vswitch2.ZoneId,\n\t\t\t\t\tVswitchId: vswitch2.ID(),\n\t\t\t\t\tCidrBlock: vswitch2.CidrBlock,\n\t\t\t\t\tSecurityGroup: securityGroup.ID(),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.inputs.InstanceZoneVswitchSecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch1 = new Switch(\"vswitch1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(\"cn-hangzhou-j\")\n .vswitchName(String.format(\"%s_1\", name))\n .build());\n\n var vswitch2 = new Switch(\"vswitch2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.17.0.0/16\")\n .zoneId(\"cn-hangzhou-k\")\n .vswitchName(String.format(\"%s_2\", name))\n .build());\n\n var securityGroup = new SecurityGroup(\"securityGroup\", SecurityGroupArgs.builder()\n .vpcId(vpc.id())\n .securityGroupName(name)\n .build());\n\n var vpcIntegrationInstance = new Instance(\"vpcIntegrationInstance\", InstanceArgs.builder()\n .instanceName(name)\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .instanceSpec(\"api.s1.small\")\n .instanceType(\"vpc_connect\")\n .paymentType(\"PayAsYouGo\")\n .userVpcId(vpc.id())\n .instanceCidr(\"192.168.0.0/16\")\n .zoneVswitchSecurityGroups( \n InstanceZoneVswitchSecurityGroupArgs.builder()\n .zoneId(vswitch1.zoneId())\n .vswitchId(vswitch1.id())\n .cidrBlock(vswitch1.cidrBlock())\n .securityGroup(securityGroup.id())\n .build(),\n InstanceZoneVswitchSecurityGroupArgs.builder()\n .zoneId(vswitch2.zoneId())\n .vswitchId(vswitch2.id())\n .cidrBlock(vswitch2.cidrBlock())\n .securityGroup(securityGroup.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch1:\n type: alicloud:vpc:Switch\n name: vswitch_1\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/16\n zoneId: cn-hangzhou-j\n vswitchName: ${name}_1\n vswitch2:\n type: alicloud:vpc:Switch\n name: vswitch_2\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.17.0.0/16\n zoneId: cn-hangzhou-k\n vswitchName: ${name}_2\n securityGroup:\n type: alicloud:ecs:SecurityGroup\n name: security_group\n properties:\n vpcId: ${vpc.id}\n securityGroupName: ${name}\n vpcIntegrationInstance:\n type: alicloud:apigateway:Instance\n name: vpc_integration_instance\n properties:\n instanceName: ${name}\n httpsPolicy: HTTPS2_TLS1_0\n instanceSpec: api.s1.small\n instanceType: vpc_connect\n paymentType: PayAsYouGo\n userVpcId: ${vpc.id}\n instanceCidr: 192.168.0.0/16\n zoneVswitchSecurityGroups:\n - zoneId: ${vswitch1.zoneId}\n vswitchId: ${vswitch1.id}\n cidrBlock: ${vswitch1.cidrBlock}\n securityGroup: ${securityGroup.id}\n - zoneId: ${vswitch2.zoneId}\n vswitchId: ${vswitch2.id}\n cidrBlock: ${vswitch2.cidrBlock}\n securityGroup: ${securityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "connectCidrBlocks": { "type": "string", @@ -105592,7 +107445,7 @@ } }, "alicloud:apigateway/instanceAclAttachment:InstanceAclAttachment": { - "description": "Provides an Instance ACL attachment resource for attaching an ACL to a specific API Gateway instance.\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.Instance(\"default\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6\",\n paymentType: \"PayAsYouGo\",\n instanceType: \"normal\",\n});\nconst defaultAccessControlList = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.apigateway.AclEntryAttachment(\"default\", {\n aclId: defaultAccessControlList.id,\n entry: \"128.0.0.1/32\",\n comment: \"test comment\",\n});\nconst defaultInstanceAclAttachment = new alicloud.apigateway.InstanceAclAttachment(\"default\", {\n instanceId: _default.id,\n aclId: defaultAccessControlList.id,\n aclType: \"white\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.Instance(\"default\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6\",\n payment_type=\"PayAsYouGo\",\n instance_type=\"normal\")\ndefault_access_control_list = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\ndefault_acl_entry_attachment = alicloud.apigateway.AclEntryAttachment(\"default\",\n acl_id=default_access_control_list.id,\n entry=\"128.0.0.1/32\",\n comment=\"test comment\")\ndefault_instance_acl_attachment = alicloud.apigateway.InstanceAclAttachment(\"default\",\n instance_id=default.id,\n acl_id=default_access_control_list.id,\n acl_type=\"white\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.Instance(\"default\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6\",\n PaymentType = \"PayAsYouGo\",\n InstanceType = \"normal\",\n });\n\n var defaultAccessControlList = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.ApiGateway.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAccessControlList.Id,\n Entry = \"128.0.0.1/32\",\n Comment = \"test comment\",\n });\n\n var defaultInstanceAclAttachment = new AliCloud.ApiGateway.InstanceAclAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n AclId = defaultAccessControlList.Id,\n AclType = \"white\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := apigateway.NewInstance(ctx, \"default\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessControlList, err := apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAclEntryAttachment(ctx, \"default\", \u0026apigateway.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAccessControlList.ID(),\n\t\t\tEntry: pulumi.String(\"128.0.0.1/32\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewInstanceAclAttachment(ctx, \"default\", \u0026apigateway.InstanceAclAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tAclId: defaultAccessControlList.ID(),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachment;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.apigateway.InstanceAclAttachment;\nimport com.pulumi.alicloud.apigateway.InstanceAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6\")\n .paymentType(\"PayAsYouGo\")\n .instanceType(\"normal\")\n .build());\n\n var defaultAccessControlList = new AccessControlList(\"defaultAccessControlList\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAccessControlList.id())\n .entry(\"128.0.0.1/32\")\n .comment(\"test comment\")\n .build());\n\n var defaultInstanceAclAttachment = new InstanceAclAttachment(\"defaultInstanceAclAttachment\", InstanceAclAttachmentArgs.builder()\n .instanceId(default_.id())\n .aclId(defaultAccessControlList.id())\n .aclType(\"white\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6\n paymentType: PayAsYouGo\n instanceType: normal\n defaultAccessControlList:\n type: alicloud:apigateway:AccessControlList\n name: default\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n defaultAclEntryAttachment:\n type: alicloud:apigateway:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAccessControlList.id}\n entry: 128.0.0.1/32\n comment: test comment\n defaultInstanceAclAttachment:\n type: alicloud:apigateway:InstanceAclAttachment\n name: default\n properties:\n instanceId: ${default.id}\n aclId: ${defaultAccessControlList.id}\n aclType: white\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Instance Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/instanceAclAttachment:InstanceAclAttachment example \u003cinstance_id\u003e:\u003cacl_id\u003e:\u003cacl_type\u003e\n```\n\n", + "description": "Provides an Instance ACL attachment resource for attaching an ACL to a specific API Gateway instance.\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.Instance(\"default\", {\n instanceName: name,\n instanceSpec: \"api.s1.small\",\n httpsPolicy: \"HTTPS2_TLS1_0\",\n zoneId: \"cn-hangzhou-MAZ6\",\n paymentType: \"PayAsYouGo\",\n instanceType: \"normal\",\n});\nconst defaultAccessControlList = new alicloud.apigateway.AccessControlList(\"default\", {\n accessControlListName: name,\n addressIpVersion: \"ipv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.apigateway.AclEntryAttachment(\"default\", {\n aclId: defaultAccessControlList.id,\n entry: \"128.0.0.1/32\",\n comment: \"test comment\",\n});\nconst defaultInstanceAclAttachment = new alicloud.apigateway.InstanceAclAttachment(\"default\", {\n instanceId: _default.id,\n aclId: defaultAccessControlList.id,\n aclType: \"white\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.Instance(\"default\",\n instance_name=name,\n instance_spec=\"api.s1.small\",\n https_policy=\"HTTPS2_TLS1_0\",\n zone_id=\"cn-hangzhou-MAZ6\",\n payment_type=\"PayAsYouGo\",\n instance_type=\"normal\")\ndefault_access_control_list = alicloud.apigateway.AccessControlList(\"default\",\n access_control_list_name=name,\n address_ip_version=\"ipv4\")\ndefault_acl_entry_attachment = alicloud.apigateway.AclEntryAttachment(\"default\",\n acl_id=default_access_control_list.id,\n entry=\"128.0.0.1/32\",\n comment=\"test comment\")\ndefault_instance_acl_attachment = alicloud.apigateway.InstanceAclAttachment(\"default\",\n instance_id=default.id,\n acl_id=default_access_control_list.id,\n acl_type=\"white\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.Instance(\"default\", new()\n {\n InstanceName = name,\n InstanceSpec = \"api.s1.small\",\n HttpsPolicy = \"HTTPS2_TLS1_0\",\n ZoneId = \"cn-hangzhou-MAZ6\",\n PaymentType = \"PayAsYouGo\",\n InstanceType = \"normal\",\n });\n\n var defaultAccessControlList = new AliCloud.ApiGateway.AccessControlList(\"default\", new()\n {\n AccessControlListName = name,\n AddressIpVersion = \"ipv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.ApiGateway.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAccessControlList.Id,\n Entry = \"128.0.0.1/32\",\n Comment = \"test comment\",\n });\n\n var defaultInstanceAclAttachment = new AliCloud.ApiGateway.InstanceAclAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n AclId = defaultAccessControlList.Id,\n AclType = \"white\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := apigateway.NewInstance(ctx, \"default\", \u0026apigateway.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceSpec: pulumi.String(\"api.s1.small\"),\n\t\t\tHttpsPolicy: pulumi.String(\"HTTPS2_TLS1_0\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-MAZ6\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessControlList, err := apigateway.NewAccessControlList(ctx, \"default\", \u0026apigateway.AccessControlListArgs{\n\t\t\tAccessControlListName: pulumi.String(name),\n\t\t\tAddressIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAclEntryAttachment(ctx, \"default\", \u0026apigateway.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAccessControlList.ID(),\n\t\t\tEntry: pulumi.String(\"128.0.0.1/32\"),\n\t\t\tComment: pulumi.String(\"test comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewInstanceAclAttachment(ctx, \"default\", \u0026apigateway.InstanceAclAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tAclId: defaultAccessControlList.ID(),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Instance;\nimport com.pulumi.alicloud.apigateway.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.AccessControlList;\nimport com.pulumi.alicloud.apigateway.AccessControlListArgs;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachment;\nimport com.pulumi.alicloud.apigateway.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.apigateway.InstanceAclAttachment;\nimport com.pulumi.alicloud.apigateway.InstanceAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .instanceName(name)\n .instanceSpec(\"api.s1.small\")\n .httpsPolicy(\"HTTPS2_TLS1_0\")\n .zoneId(\"cn-hangzhou-MAZ6\")\n .paymentType(\"PayAsYouGo\")\n .instanceType(\"normal\")\n .build());\n\n var defaultAccessControlList = new AccessControlList(\"defaultAccessControlList\", AccessControlListArgs.builder()\n .accessControlListName(name)\n .addressIpVersion(\"ipv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAccessControlList.id())\n .entry(\"128.0.0.1/32\")\n .comment(\"test comment\")\n .build());\n\n var defaultInstanceAclAttachment = new InstanceAclAttachment(\"defaultInstanceAclAttachment\", InstanceAclAttachmentArgs.builder()\n .instanceId(default_.id())\n .aclId(defaultAccessControlList.id())\n .aclType(\"white\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:Instance\n properties:\n instanceName: ${name}\n instanceSpec: api.s1.small\n httpsPolicy: HTTPS2_TLS1_0\n zoneId: cn-hangzhou-MAZ6\n paymentType: PayAsYouGo\n instanceType: normal\n defaultAccessControlList:\n type: alicloud:apigateway:AccessControlList\n name: default\n properties:\n accessControlListName: ${name}\n addressIpVersion: ipv4\n defaultAclEntryAttachment:\n type: alicloud:apigateway:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAccessControlList.id}\n entry: 128.0.0.1/32\n comment: test comment\n defaultInstanceAclAttachment:\n type: alicloud:apigateway:InstanceAclAttachment\n name: default\n properties:\n instanceId: ${default.id}\n aclId: ${defaultAccessControlList.id}\n aclType: white\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Instance Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/instanceAclAttachment:InstanceAclAttachment example \u003cinstance_id\u003e:\u003cacl_id\u003e:\u003cacl_type\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -105657,7 +107510,7 @@ } }, "alicloud:apigateway/logConfig:LogConfig": { - "description": "Provides a Api Gateway Log Config resource.\n\nFor information about Api Gateway Log Config and how to use it, see [What is Log Config](https://www.alibabacloud.com/help/en/api-gateway/latest/api-cloudapi-2016-07-14-createlogconfig).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `${name}-${_default.result}`,\n description: name,\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: `${name}-${_default.result}`,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogConfig = new alicloud.apigateway.LogConfig(\"example\", {\n slsProject: example.projectName,\n slsLogStore: exampleStore.logstoreName,\n logType: \"PROVIDER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"{name}-{default['result']}\",\n description=name)\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=f\"{name}-{default['result']}\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_config = alicloud.apigateway.LogConfig(\"example\",\n sls_project=example.project_name,\n sls_log_store=example_store.logstore_name,\n log_type=\"PROVIDER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"{name}-{@default.Result}\",\n Description = name,\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = $\"{name}-{@default.Result}\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogConfig = new AliCloud.ApiGateway.LogConfig(\"example\", new()\n {\n SlsProject = example.ProjectName,\n SlsLogStore = exampleStore.LogstoreName,\n LogType = \"PROVIDER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewLogConfig(ctx, \"example\", \u0026apigateway.LogConfigArgs{\n\t\t\tSlsProject: example.ProjectName,\n\t\t\tSlsLogStore: exampleStore.LogstoreName,\n\t\t\tLogType: pulumi.String(\"PROVIDER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.apigateway.LogConfig;\nimport com.pulumi.alicloud.apigateway.LogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogConfig = new LogConfig(\"exampleLogConfig\", LogConfigArgs.builder()\n .slsProject(example.projectName())\n .slsLogStore(exampleStore.logstoreName())\n .logType(\"PROVIDER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: ${name}-${default.result}\n description: ${name}\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: ${name}-${default.result}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogConfig:\n type: alicloud:apigateway:LogConfig\n name: example\n properties:\n slsProject: ${example.projectName}\n slsLogStore: ${exampleStore.logstoreName}\n logType: PROVIDER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Log Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/logConfig:LogConfig example \u003clog_type\u003e\n```\n\n", + "description": "Provides a Api Gateway Log Config resource.\n\nFor information about Api Gateway Log Config and how to use it, see [What is Log Config](https://www.alibabacloud.com/help/en/api-gateway/latest/api-cloudapi-2016-07-14-createlogconfig).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `${name}-${_default.result}`,\n description: name,\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: `${name}-${_default.result}`,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogConfig = new alicloud.apigateway.LogConfig(\"example\", {\n slsProject: example.projectName,\n slsLogStore: exampleStore.logstoreName,\n logType: \"PROVIDER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"{name}-{default['result']}\",\n description=name)\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=f\"{name}-{default['result']}\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_config = alicloud.apigateway.LogConfig(\"example\",\n sls_project=example.project_name,\n sls_log_store=example_store.logstore_name,\n log_type=\"PROVIDER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"{name}-{@default.Result}\",\n Description = name,\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = $\"{name}-{@default.Result}\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogConfig = new AliCloud.ApiGateway.LogConfig(\"example\", new()\n {\n SlsProject = example.ProjectName,\n SlsLogStore = exampleStore.LogstoreName,\n LogType = \"PROVIDER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewLogConfig(ctx, \"example\", \u0026apigateway.LogConfigArgs{\n\t\t\tSlsProject: example.ProjectName,\n\t\t\tSlsLogStore: exampleStore.LogstoreName,\n\t\t\tLogType: pulumi.String(\"PROVIDER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.apigateway.LogConfig;\nimport com.pulumi.alicloud.apigateway.LogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogConfig = new LogConfig(\"exampleLogConfig\", LogConfigArgs.builder()\n .slsProject(example.projectName())\n .slsLogStore(exampleStore.logstoreName())\n .logType(\"PROVIDER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: ${name}-${default.result}\n description: ${name}\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: ${name}-${default.result}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogConfig:\n type: alicloud:apigateway:LogConfig\n name: example\n properties:\n slsProject: ${example.projectName}\n slsLogStore: ${exampleStore.logstoreName}\n logType: PROVIDER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Log Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/logConfig:LogConfig example \u003clog_type\u003e\n```\n\n", "properties": { "logType": { "type": "string", @@ -105718,7 +107571,7 @@ } }, "alicloud:apigateway/model:Model": { - "description": "Provides a Api Gateway Model resource.\n\nFor information about Api Gateway Model and how to use it, see [What is Model](https://www.alibabacloud.com/help/en/api-gateway/latest/api-cloudapi-2016-07-14-createmodel).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.apigateway.Group(\"default\", {\n name: \"example_value\",\n description: \"example_value\",\n});\nconst defaultModel = new alicloud.apigateway.Model(\"default\", {\n groupId: _default.id,\n modelName: \"example_value\",\n schema: \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n description: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.apigateway.Group(\"default\",\n name=\"example_value\",\n description=\"example_value\")\ndefault_model = alicloud.apigateway.Model(\"default\",\n group_id=default.id,\n model_name=\"example_value\",\n schema=\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n description=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ApiGateway.Group(\"default\", new()\n {\n Name = \"example_value\",\n Description = \"example_value\",\n });\n\n var defaultModel = new AliCloud.ApiGateway.Model(\"default\", new()\n {\n GroupId = @default.Id,\n ModelName = \"example_value\",\n Schema = \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n Description = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := apigateway.NewGroup(ctx, \"default\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewModel(ctx, \"default\", \u0026apigateway.ModelArgs{\n\t\t\tGroupId: _default.ID(),\n\t\t\tModelName: pulumi.String(\"example_value\"),\n\t\t\tSchema: pulumi.String(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Model;\nimport com.pulumi.alicloud.apigateway.ModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Group(\"default\", GroupArgs.builder()\n .name(\"example_value\")\n .description(\"example_value\")\n .build());\n\n var defaultModel = new Model(\"defaultModel\", ModelArgs.builder()\n .groupId(default_.id())\n .modelName(\"example_value\")\n .schema(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\")\n .description(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:apigateway:Group\n properties:\n name: example_value\n description: example_value\n defaultModel:\n type: alicloud:apigateway:Model\n name: default\n properties:\n groupId: ${default.id}\n modelName: example_value\n schema: '{\"type\":\"object\",\"properties\":{\"id\":{\"format\":\"int64\",\"maximum\":100,\"exclusiveMaximum\":true,\"type\":\"integer\"},\"name\":{\"maxLength\":10,\"type\":\"string\"}}}'\n description: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Model can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/model:Model example \u003cgroup_id\u003e:\u003cmodel_name\u003e\n```\n\n", + "description": "Provides a Api Gateway Model resource.\n\nFor information about Api Gateway Model and how to use it, see [What is Model](https://www.alibabacloud.com/help/en/api-gateway/latest/api-cloudapi-2016-07-14-createmodel).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.apigateway.Group(\"default\", {\n name: \"example_value\",\n description: \"example_value\",\n});\nconst defaultModel = new alicloud.apigateway.Model(\"default\", {\n groupId: _default.id,\n modelName: \"example_value\",\n schema: \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n description: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.apigateway.Group(\"default\",\n name=\"example_value\",\n description=\"example_value\")\ndefault_model = alicloud.apigateway.Model(\"default\",\n group_id=default.id,\n model_name=\"example_value\",\n schema=\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n description=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ApiGateway.Group(\"default\", new()\n {\n Name = \"example_value\",\n Description = \"example_value\",\n });\n\n var defaultModel = new AliCloud.ApiGateway.Model(\"default\", new()\n {\n GroupId = @default.Id,\n ModelName = \"example_value\",\n Schema = \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\",\n Description = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := apigateway.NewGroup(ctx, \"default\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewModel(ctx, \"default\", \u0026apigateway.ModelArgs{\n\t\t\tGroupId: _default.ID(),\n\t\t\tModelName: pulumi.String(\"example_value\"),\n\t\t\tSchema: pulumi.String(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Model;\nimport com.pulumi.alicloud.apigateway.ModelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Group(\"default\", GroupArgs.builder()\n .name(\"example_value\")\n .description(\"example_value\")\n .build());\n\n var defaultModel = new Model(\"defaultModel\", ModelArgs.builder()\n .groupId(default_.id())\n .modelName(\"example_value\")\n .schema(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"id\\\":{\\\"format\\\":\\\"int64\\\",\\\"maximum\\\":100,\\\"exclusiveMaximum\\\":true,\\\"type\\\":\\\"integer\\\"},\\\"name\\\":{\\\"maxLength\\\":10,\\\"type\\\":\\\"string\\\"}}}\")\n .description(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:apigateway:Group\n properties:\n name: example_value\n description: example_value\n defaultModel:\n type: alicloud:apigateway:Model\n name: default\n properties:\n groupId: ${default.id}\n modelName: example_value\n schema: '{\"type\":\"object\",\"properties\":{\"id\":{\"format\":\"int64\",\"maximum\":100,\"exclusiveMaximum\":true,\"type\":\"integer\"},\"name\":{\"maxLength\":10,\"type\":\"string\"}}}'\n description: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Model can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/model:Model example \u003cgroup_id\u003e:\u003cmodel_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -105793,7 +107646,7 @@ } }, "alicloud:apigateway/plugin:Plugin": { - "description": "Provides a Api Gateway Plugin resource. \n\nFor information about Api Gateway Plugin and how to use it, see [What is Plugin](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createplugin).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.Plugin(\"default\", {\n description: name,\n pluginName: name,\n pluginData: JSON.stringify({\n routes: [\n {\n name: \"Vip\",\n condition: \"$CaAppId = 123456\",\n backend: {\n type: \"HTTP-VPC\",\n vpcAccessName: \"slbAccessForVip\",\n },\n },\n {\n name: \"MockForOldClient\",\n condition: \"$ClientVersion \u003c '2.0.5'\",\n backend: {\n type: \"MOCK\",\n statusCode: 400,\n mockBody: \"This version is not supported!!!\",\n },\n },\n {\n name: \"BlueGreenPercent05\",\n condition: \"1 = 1\",\n backend: {\n type: \"HTTP\",\n address: \"https://beta-version.api.foo.com\",\n },\n \"constant-parameters\": [{\n name: \"x-route-blue-green\",\n location: \"header\",\n value: \"route-blue-green\",\n }],\n },\n ],\n }),\n pluginType: \"routing\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.Plugin(\"default\",\n description=name,\n plugin_name=name,\n plugin_data=json.dumps({\n \"routes\": [\n {\n \"name\": \"Vip\",\n \"condition\": \"$CaAppId = 123456\",\n \"backend\": {\n \"type\": \"HTTP-VPC\",\n \"vpcAccessName\": \"slbAccessForVip\",\n },\n },\n {\n \"name\": \"MockForOldClient\",\n \"condition\": \"$ClientVersion \u003c '2.0.5'\",\n \"backend\": {\n \"type\": \"MOCK\",\n \"statusCode\": 400,\n \"mockBody\": \"This version is not supported!!!\",\n },\n },\n {\n \"name\": \"BlueGreenPercent05\",\n \"condition\": \"1 = 1\",\n \"backend\": {\n \"type\": \"HTTP\",\n \"address\": \"https://beta-version.api.foo.com\",\n },\n \"constant-parameters\": [{\n \"name\": \"x-route-blue-green\",\n \"location\": \"header\",\n \"value\": \"route-blue-green\",\n }],\n },\n ],\n }),\n plugin_type=\"routing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.Plugin(\"default\", new()\n {\n Description = name,\n PluginName = name,\n PluginData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"routes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"Vip\",\n [\"condition\"] = \"$CaAppId = 123456\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"HTTP-VPC\",\n [\"vpcAccessName\"] = \"slbAccessForVip\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"MockForOldClient\",\n [\"condition\"] = \"$ClientVersion \u003c '2.0.5'\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MOCK\",\n [\"statusCode\"] = 400,\n [\"mockBody\"] = \"This version is not supported!!!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"BlueGreenPercent05\",\n [\"condition\"] = \"1 = 1\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"HTTP\",\n [\"address\"] = \"https://beta-version.api.foo.com\",\n },\n [\"constant-parameters\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"x-route-blue-green\",\n [\"location\"] = \"header\",\n [\"value\"] = \"route-blue-green\",\n },\n },\n },\n },\n }),\n PluginType = \"routing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"routes\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"Vip\",\n\t\t\t\t\t\"condition\": \"$CaAppId = 123456\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"HTTP-VPC\",\n\t\t\t\t\t\t\"vpcAccessName\": \"slbAccessForVip\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"MockForOldClient\",\n\t\t\t\t\t\"condition\": \"$ClientVersion \u003c '2.0.5'\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"MOCK\",\n\t\t\t\t\t\t\"statusCode\": 400,\n\t\t\t\t\t\t\"mockBody\": \"This version is not supported!!!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"BlueGreenPercent05\",\n\t\t\t\t\t\"condition\": \"1 = 1\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"HTTP\",\n\t\t\t\t\t\t\"address\": \"https://beta-version.api.foo.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"constant-parameters\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"name\": \"x-route-blue-green\",\n\t\t\t\t\t\t\t\"location\": \"header\",\n\t\t\t\t\t\t\t\"value\": \"route-blue-green\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = apigateway.NewPlugin(ctx, \"default\", \u0026apigateway.PluginArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPluginName: pulumi.String(name),\n\t\t\tPluginData: pulumi.String(json0),\n\t\t\tPluginType: pulumi.String(\"routing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Plugin;\nimport com.pulumi.alicloud.apigateway.PluginArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Plugin(\"default\", PluginArgs.builder()\n .description(name)\n .pluginName(name)\n .pluginData(serializeJson(\n jsonObject(\n jsonProperty(\"routes\", jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"Vip\"),\n jsonProperty(\"condition\", \"$CaAppId = 123456\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"HTTP-VPC\"),\n jsonProperty(\"vpcAccessName\", \"slbAccessForVip\")\n ))\n ), \n jsonObject(\n jsonProperty(\"name\", \"MockForOldClient\"),\n jsonProperty(\"condition\", \"$ClientVersion \u003c '2.0.5'\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"MOCK\"),\n jsonProperty(\"statusCode\", 400),\n jsonProperty(\"mockBody\", \"This version is not supported!!!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"name\", \"BlueGreenPercent05\"),\n jsonProperty(\"condition\", \"1 = 1\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"HTTP\"),\n jsonProperty(\"address\", \"https://beta-version.api.foo.com\")\n )),\n jsonProperty(\"constant-parameters\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"x-route-blue-green\"),\n jsonProperty(\"location\", \"header\"),\n jsonProperty(\"value\", \"route-blue-green\")\n )))\n )\n ))\n )))\n .pluginType(\"routing\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:Plugin\n properties:\n description: ${name}\n pluginName: ${name}\n pluginData:\n fn::toJSON:\n routes:\n - name: Vip\n condition: $CaAppId = 123456\n backend:\n type: HTTP-VPC\n vpcAccessName: slbAccessForVip\n - name: MockForOldClient\n condition: $ClientVersion \u003c '2.0.5'\n backend:\n type: MOCK\n statusCode: 400\n mockBody: This version is not supported!!!\n - name: BlueGreenPercent05\n condition: 1 = 1\n backend:\n type: HTTP\n address: https://beta-version.api.foo.com\n constant-parameters:\n - name: x-route-blue-green\n location: header\n value: route-blue-green\n pluginType: routing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi Gateway Plugin can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/plugin:Plugin example \u003cid\u003e\n```\n\n", + "description": "Provides a Api Gateway Plugin resource. \n\nFor information about Api Gateway Plugin and how to use it, see [What is Plugin](https://www.alibabacloud.com/help/en/api-gateway/developer-reference/api-cloudapi-2016-07-14-createplugin).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.apigateway.Plugin(\"default\", {\n description: name,\n pluginName: name,\n pluginData: JSON.stringify({\n routes: [\n {\n name: \"Vip\",\n condition: \"$CaAppId = 123456\",\n backend: {\n type: \"HTTP-VPC\",\n vpcAccessName: \"slbAccessForVip\",\n },\n },\n {\n name: \"MockForOldClient\",\n condition: \"$ClientVersion \u003c '2.0.5'\",\n backend: {\n type: \"MOCK\",\n statusCode: 400,\n mockBody: \"This version is not supported!!!\",\n },\n },\n {\n name: \"BlueGreenPercent05\",\n condition: \"1 = 1\",\n backend: {\n type: \"HTTP\",\n address: \"https://beta-version.api.foo.com\",\n },\n \"constant-parameters\": [{\n name: \"x-route-blue-green\",\n location: \"header\",\n value: \"route-blue-green\",\n }],\n },\n ],\n }),\n pluginType: \"routing\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.apigateway.Plugin(\"default\",\n description=name,\n plugin_name=name,\n plugin_data=json.dumps({\n \"routes\": [\n {\n \"name\": \"Vip\",\n \"condition\": \"$CaAppId = 123456\",\n \"backend\": {\n \"type\": \"HTTP-VPC\",\n \"vpcAccessName\": \"slbAccessForVip\",\n },\n },\n {\n \"name\": \"MockForOldClient\",\n \"condition\": \"$ClientVersion \u003c '2.0.5'\",\n \"backend\": {\n \"type\": \"MOCK\",\n \"statusCode\": 400,\n \"mockBody\": \"This version is not supported!!!\",\n },\n },\n {\n \"name\": \"BlueGreenPercent05\",\n \"condition\": \"1 = 1\",\n \"backend\": {\n \"type\": \"HTTP\",\n \"address\": \"https://beta-version.api.foo.com\",\n },\n \"constant-parameters\": [{\n \"name\": \"x-route-blue-green\",\n \"location\": \"header\",\n \"value\": \"route-blue-green\",\n }],\n },\n ],\n }),\n plugin_type=\"routing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.ApiGateway.Plugin(\"default\", new()\n {\n Description = name,\n PluginName = name,\n PluginData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"routes\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"Vip\",\n [\"condition\"] = \"$CaAppId = 123456\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"HTTP-VPC\",\n [\"vpcAccessName\"] = \"slbAccessForVip\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"MockForOldClient\",\n [\"condition\"] = \"$ClientVersion \u003c '2.0.5'\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"MOCK\",\n [\"statusCode\"] = 400,\n [\"mockBody\"] = \"This version is not supported!!!\",\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"BlueGreenPercent05\",\n [\"condition\"] = \"1 = 1\",\n [\"backend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"HTTP\",\n [\"address\"] = \"https://beta-version.api.foo.com\",\n },\n [\"constant-parameters\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"x-route-blue-green\",\n [\"location\"] = \"header\",\n [\"value\"] = \"route-blue-green\",\n },\n },\n },\n },\n }),\n PluginType = \"routing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"routes\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"Vip\",\n\t\t\t\t\t\"condition\": \"$CaAppId = 123456\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"HTTP-VPC\",\n\t\t\t\t\t\t\"vpcAccessName\": \"slbAccessForVip\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"MockForOldClient\",\n\t\t\t\t\t\"condition\": \"$ClientVersion \u003c '2.0.5'\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"MOCK\",\n\t\t\t\t\t\t\"statusCode\": 400,\n\t\t\t\t\t\t\"mockBody\": \"This version is not supported!!!\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"BlueGreenPercent05\",\n\t\t\t\t\t\"condition\": \"1 = 1\",\n\t\t\t\t\t\"backend\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"HTTP\",\n\t\t\t\t\t\t\"address\": \"https://beta-version.api.foo.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"constant-parameters\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"name\": \"x-route-blue-green\",\n\t\t\t\t\t\t\t\"location\": \"header\",\n\t\t\t\t\t\t\t\"value\": \"route-blue-green\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = apigateway.NewPlugin(ctx, \"default\", \u0026apigateway.PluginArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPluginName: pulumi.String(name),\n\t\t\tPluginData: pulumi.String(json0),\n\t\t\tPluginType: pulumi.String(\"routing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Plugin;\nimport com.pulumi.alicloud.apigateway.PluginArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Plugin(\"default\", PluginArgs.builder()\n .description(name)\n .pluginName(name)\n .pluginData(serializeJson(\n jsonObject(\n jsonProperty(\"routes\", jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"Vip\"),\n jsonProperty(\"condition\", \"$CaAppId = 123456\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"HTTP-VPC\"),\n jsonProperty(\"vpcAccessName\", \"slbAccessForVip\")\n ))\n ), \n jsonObject(\n jsonProperty(\"name\", \"MockForOldClient\"),\n jsonProperty(\"condition\", \"$ClientVersion \u003c '2.0.5'\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"MOCK\"),\n jsonProperty(\"statusCode\", 400),\n jsonProperty(\"mockBody\", \"This version is not supported!!!\")\n ))\n ), \n jsonObject(\n jsonProperty(\"name\", \"BlueGreenPercent05\"),\n jsonProperty(\"condition\", \"1 = 1\"),\n jsonProperty(\"backend\", jsonObject(\n jsonProperty(\"type\", \"HTTP\"),\n jsonProperty(\"address\", \"https://beta-version.api.foo.com\")\n )),\n jsonProperty(\"constant-parameters\", jsonArray(jsonObject(\n jsonProperty(\"name\", \"x-route-blue-green\"),\n jsonProperty(\"location\", \"header\"),\n jsonProperty(\"value\", \"route-blue-green\")\n )))\n )\n ))\n )))\n .pluginType(\"routing\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:apigateway:Plugin\n properties:\n description: ${name}\n pluginName: ${name}\n pluginData:\n fn::toJSON:\n routes:\n - name: Vip\n condition: $CaAppId = 123456\n backend:\n type: HTTP-VPC\n vpcAccessName: slbAccessForVip\n - name: MockForOldClient\n condition: $ClientVersion \u003c '2.0.5'\n backend:\n type: MOCK\n statusCode: 400\n mockBody: This version is not supported!!!\n - name: BlueGreenPercent05\n condition: 1 = 1\n backend:\n type: HTTP\n address: https://beta-version.api.foo.com\n constant-parameters:\n - name: x-route-blue-green\n location: header\n value: route-blue-green\n pluginType: routing\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi Gateway Plugin can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/plugin:Plugin example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -105896,7 +107749,7 @@ } }, "alicloud:apigateway/pluginAttachment:PluginAttachment": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: name,\n description: name,\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: name,\n description: name,\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\nconst examplePlugin = new alicloud.apigateway.Plugin(\"example\", {\n description: \"tf_example\",\n pluginName: \"tf_example\",\n pluginData: JSON.stringify({\n allowOrigins: \"api.foo.com\",\n allowMethods: \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n allowHeaders: \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n exposeHeaders: \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n maxAge: 172800,\n allowCredentials: true,\n }),\n pluginType: \"cors\",\n});\nconst examplePluginAttachment = new alicloud.apigateway.PluginAttachment(\"example\", {\n apiId: exampleApi.apiId,\n groupId: example.id,\n pluginId: examplePlugin.id,\n stageName: \"RELEASE\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.apigateway.Group(\"example\",\n name=name,\n description=name)\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=name,\n description=name,\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\nexample_plugin = alicloud.apigateway.Plugin(\"example\",\n description=\"tf_example\",\n plugin_name=\"tf_example\",\n plugin_data=json.dumps({\n \"allowOrigins\": \"api.foo.com\",\n \"allowMethods\": \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n \"allowHeaders\": \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n \"exposeHeaders\": \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n \"maxAge\": 172800,\n \"allowCredentials\": True,\n }),\n plugin_type=\"cors\")\nexample_plugin_attachment = alicloud.apigateway.PluginAttachment(\"example\",\n api_id=example_api.api_id,\n group_id=example.id,\n plugin_id=example_plugin.id,\n stage_name=\"RELEASE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = name,\n Description = name,\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n var examplePlugin = new AliCloud.ApiGateway.Plugin(\"example\", new()\n {\n Description = \"tf_example\",\n PluginName = \"tf_example\",\n PluginData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"allowOrigins\"] = \"api.foo.com\",\n [\"allowMethods\"] = \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n [\"allowHeaders\"] = \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n [\"exposeHeaders\"] = \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n [\"maxAge\"] = 172800,\n [\"allowCredentials\"] = true,\n }),\n PluginType = \"cors\",\n });\n\n var examplePluginAttachment = new AliCloud.ApiGateway.PluginAttachment(\"example\", new()\n {\n ApiId = exampleApi.ApiId,\n GroupId = example.Id,\n PluginId = examplePlugin.Id,\n StageName = \"RELEASE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"TEST\"),\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\"allowOrigins\": \"api.foo.com\",\n\t\t\t\"allowMethods\": \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n\t\t\t\"allowHeaders\": \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n\t\t\t\"exposeHeaders\": \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n\t\t\t\"maxAge\": 172800,\n\t\t\t\"allowCredentials\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texamplePlugin, err := apigateway.NewPlugin(ctx, \"example\", \u0026apigateway.PluginArgs{\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPluginName: pulumi.String(\"tf_example\"),\n\t\t\tPluginData: pulumi.String(json0),\n\t\t\tPluginType: pulumi.String(\"cors\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewPluginAttachment(ctx, \"example\", \u0026apigateway.PluginAttachmentArgs{\n\t\t\tApiId: exampleApi.ApiId,\n\t\t\tGroupId: example.ID(),\n\t\t\tPluginId: examplePlugin.ID(),\n\t\t\tStageName: pulumi.String(\"RELEASE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport com.pulumi.alicloud.apigateway.Plugin;\nimport com.pulumi.alicloud.apigateway.PluginArgs;\nimport com.pulumi.alicloud.apigateway.PluginAttachment;\nimport com.pulumi.alicloud.apigateway.PluginAttachmentArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(name)\n .description(name)\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n var examplePlugin = new Plugin(\"examplePlugin\", PluginArgs.builder()\n .description(\"tf_example\")\n .pluginName(\"tf_example\")\n .pluginData(serializeJson(\n jsonObject(\n jsonProperty(\"allowOrigins\", \"api.foo.com\"),\n jsonProperty(\"allowMethods\", \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\"),\n jsonProperty(\"allowHeaders\", \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\"),\n jsonProperty(\"exposeHeaders\", \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\"),\n jsonProperty(\"maxAge\", 172800),\n jsonProperty(\"allowCredentials\", true)\n )))\n .pluginType(\"cors\")\n .build());\n\n var examplePluginAttachment = new PluginAttachment(\"examplePluginAttachment\", PluginAttachmentArgs.builder()\n .apiId(exampleApi.apiId())\n .groupId(example.id())\n .pluginId(examplePlugin.id())\n .stageName(\"RELEASE\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: ${name}\n description: ${name}\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: ${name}\n description: ${name}\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n examplePlugin:\n type: alicloud:apigateway:Plugin\n name: example\n properties:\n description: tf_example\n pluginName: tf_example\n pluginData:\n fn::toJSON:\n allowOrigins: api.foo.com\n allowMethods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\n allowHeaders: Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\n exposeHeaders: Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\n maxAge: 172800\n allowCredentials: true\n pluginType: cors\n examplePluginAttachment:\n type: alicloud:apigateway:PluginAttachment\n name: example\n properties:\n apiId: ${exampleApi.apiId}\n groupId: ${example.id}\n pluginId: ${examplePlugin.id}\n stageName: RELEASE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.apigateway.Group(\"example\", {\n name: name,\n description: name,\n});\nconst exampleApi = new alicloud.apigateway.Api(\"example\", {\n groupId: example.id,\n name: name,\n description: name,\n authType: \"APP\",\n forceNonceCheck: false,\n requestConfig: {\n protocol: \"HTTP\",\n method: \"GET\",\n path: \"/example/path\",\n mode: \"MAPPING\",\n },\n serviceType: \"HTTP\",\n httpServiceConfig: {\n address: \"http://apigateway-backend.alicloudapi.com:8080\",\n method: \"GET\",\n path: \"/web/cloudapi\",\n timeout: 12,\n aoneName: \"cloudapi-openapi\",\n },\n requestParameters: [{\n name: \"example\",\n type: \"STRING\",\n required: \"OPTIONAL\",\n \"in\": \"QUERY\",\n inService: \"QUERY\",\n nameService: \"exampleservice\",\n }],\n stageNames: [\n \"RELEASE\",\n \"TEST\",\n ],\n});\nconst examplePlugin = new alicloud.apigateway.Plugin(\"example\", {\n description: \"tf_example\",\n pluginName: \"tf_example\",\n pluginData: JSON.stringify({\n allowOrigins: \"api.foo.com\",\n allowMethods: \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n allowHeaders: \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n exposeHeaders: \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n maxAge: 172800,\n allowCredentials: true,\n }),\n pluginType: \"cors\",\n});\nconst examplePluginAttachment = new alicloud.apigateway.PluginAttachment(\"example\", {\n apiId: exampleApi.apiId,\n groupId: example.id,\n pluginId: examplePlugin.id,\n stageName: \"RELEASE\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.apigateway.Group(\"example\",\n name=name,\n description=name)\nexample_api = alicloud.apigateway.Api(\"example\",\n group_id=example.id,\n name=name,\n description=name,\n auth_type=\"APP\",\n force_nonce_check=False,\n request_config={\n \"protocol\": \"HTTP\",\n \"method\": \"GET\",\n \"path\": \"/example/path\",\n \"mode\": \"MAPPING\",\n },\n service_type=\"HTTP\",\n http_service_config={\n \"address\": \"http://apigateway-backend.alicloudapi.com:8080\",\n \"method\": \"GET\",\n \"path\": \"/web/cloudapi\",\n \"timeout\": 12,\n \"aone_name\": \"cloudapi-openapi\",\n },\n request_parameters=[{\n \"name\": \"example\",\n \"type\": \"STRING\",\n \"required\": \"OPTIONAL\",\n \"in_\": \"QUERY\",\n \"in_service\": \"QUERY\",\n \"name_service\": \"exampleservice\",\n }],\n stage_names=[\n \"RELEASE\",\n \"TEST\",\n ])\nexample_plugin = alicloud.apigateway.Plugin(\"example\",\n description=\"tf_example\",\n plugin_name=\"tf_example\",\n plugin_data=json.dumps({\n \"allowOrigins\": \"api.foo.com\",\n \"allowMethods\": \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n \"allowHeaders\": \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n \"exposeHeaders\": \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n \"maxAge\": 172800,\n \"allowCredentials\": True,\n }),\n plugin_type=\"cors\")\nexample_plugin_attachment = alicloud.apigateway.PluginAttachment(\"example\",\n api_id=example_api.api_id,\n group_id=example.id,\n plugin_id=example_plugin.id,\n stage_name=\"RELEASE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.ApiGateway.Group(\"example\", new()\n {\n Name = name,\n Description = name,\n });\n\n var exampleApi = new AliCloud.ApiGateway.Api(\"example\", new()\n {\n GroupId = example.Id,\n Name = name,\n Description = name,\n AuthType = \"APP\",\n ForceNonceCheck = false,\n RequestConfig = new AliCloud.ApiGateway.Inputs.ApiRequestConfigArgs\n {\n Protocol = \"HTTP\",\n Method = \"GET\",\n Path = \"/example/path\",\n Mode = \"MAPPING\",\n },\n ServiceType = \"HTTP\",\n HttpServiceConfig = new AliCloud.ApiGateway.Inputs.ApiHttpServiceConfigArgs\n {\n Address = \"http://apigateway-backend.alicloudapi.com:8080\",\n Method = \"GET\",\n Path = \"/web/cloudapi\",\n Timeout = 12,\n AoneName = \"cloudapi-openapi\",\n },\n RequestParameters = new[]\n {\n new AliCloud.ApiGateway.Inputs.ApiRequestParameterArgs\n {\n Name = \"example\",\n Type = \"STRING\",\n Required = \"OPTIONAL\",\n In = \"QUERY\",\n InService = \"QUERY\",\n NameService = \"exampleservice\",\n },\n },\n StageNames = new[]\n {\n \"RELEASE\",\n \"TEST\",\n },\n });\n\n var examplePlugin = new AliCloud.ApiGateway.Plugin(\"example\", new()\n {\n Description = \"tf_example\",\n PluginName = \"tf_example\",\n PluginData = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"allowOrigins\"] = \"api.foo.com\",\n [\"allowMethods\"] = \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n [\"allowHeaders\"] = \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n [\"exposeHeaders\"] = \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n [\"maxAge\"] = 172800,\n [\"allowCredentials\"] = true,\n }),\n PluginType = \"cors\",\n });\n\n var examplePluginAttachment = new AliCloud.ApiGateway.PluginAttachment(\"example\", new()\n {\n ApiId = exampleApi.ApiId,\n GroupId = example.Id,\n PluginId = examplePlugin.Id,\n StageName = \"RELEASE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := apigateway.NewGroup(ctx, \"example\", \u0026apigateway.GroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApi, err := apigateway.NewApi(ctx, \"example\", \u0026apigateway.ApiArgs{\n\t\t\tGroupId: example.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAuthType: pulumi.String(\"APP\"),\n\t\t\tForceNonceCheck: pulumi.Bool(false),\n\t\t\tRequestConfig: \u0026apigateway.ApiRequestConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/example/path\"),\n\t\t\t\tMode: pulumi.String(\"MAPPING\"),\n\t\t\t},\n\t\t\tServiceType: pulumi.String(\"HTTP\"),\n\t\t\tHttpServiceConfig: \u0026apigateway.ApiHttpServiceConfigArgs{\n\t\t\t\tAddress: pulumi.String(\"http://apigateway-backend.alicloudapi.com:8080\"),\n\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\tPath: pulumi.String(\"/web/cloudapi\"),\n\t\t\t\tTimeout: pulumi.Int(12),\n\t\t\t\tAoneName: pulumi.String(\"cloudapi-openapi\"),\n\t\t\t},\n\t\t\tRequestParameters: apigateway.ApiRequestParameterArray{\n\t\t\t\t\u0026apigateway.ApiRequestParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tType: pulumi.String(\"STRING\"),\n\t\t\t\t\tRequired: pulumi.String(\"OPTIONAL\"),\n\t\t\t\t\tIn: pulumi.String(\"QUERY\"),\n\t\t\t\t\tInService: pulumi.String(\"QUERY\"),\n\t\t\t\t\tNameService: pulumi.String(\"exampleservice\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStageNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RELEASE\"),\n\t\t\t\tpulumi.String(\"TEST\"),\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\"allowOrigins\": \"api.foo.com\",\n\t\t\t\"allowMethods\": \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\",\n\t\t\t\"allowHeaders\": \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\",\n\t\t\t\"exposeHeaders\": \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\",\n\t\t\t\"maxAge\": 172800,\n\t\t\t\"allowCredentials\": true,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texamplePlugin, err := apigateway.NewPlugin(ctx, \"example\", \u0026apigateway.PluginArgs{\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPluginName: pulumi.String(\"tf_example\"),\n\t\t\tPluginData: pulumi.String(json0),\n\t\t\tPluginType: pulumi.String(\"cors\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewPluginAttachment(ctx, \"example\", \u0026apigateway.PluginAttachmentArgs{\n\t\t\tApiId: exampleApi.ApiId,\n\t\t\tGroupId: example.ID(),\n\t\t\tPluginId: examplePlugin.ID(),\n\t\t\tStageName: pulumi.String(\"RELEASE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.apigateway.Group;\nimport com.pulumi.alicloud.apigateway.GroupArgs;\nimport com.pulumi.alicloud.apigateway.Api;\nimport com.pulumi.alicloud.apigateway.ApiArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiHttpServiceConfigArgs;\nimport com.pulumi.alicloud.apigateway.inputs.ApiRequestParameterArgs;\nimport com.pulumi.alicloud.apigateway.Plugin;\nimport com.pulumi.alicloud.apigateway.PluginArgs;\nimport com.pulumi.alicloud.apigateway.PluginAttachment;\nimport com.pulumi.alicloud.apigateway.PluginAttachmentArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .name(name)\n .description(name)\n .build());\n\n var exampleApi = new Api(\"exampleApi\", ApiArgs.builder()\n .groupId(example.id())\n .name(name)\n .description(name)\n .authType(\"APP\")\n .forceNonceCheck(false)\n .requestConfig(ApiRequestConfigArgs.builder()\n .protocol(\"HTTP\")\n .method(\"GET\")\n .path(\"/example/path\")\n .mode(\"MAPPING\")\n .build())\n .serviceType(\"HTTP\")\n .httpServiceConfig(ApiHttpServiceConfigArgs.builder()\n .address(\"http://apigateway-backend.alicloudapi.com:8080\")\n .method(\"GET\")\n .path(\"/web/cloudapi\")\n .timeout(12)\n .aoneName(\"cloudapi-openapi\")\n .build())\n .requestParameters(ApiRequestParameterArgs.builder()\n .name(\"example\")\n .type(\"STRING\")\n .required(\"OPTIONAL\")\n .in(\"QUERY\")\n .inService(\"QUERY\")\n .nameService(\"exampleservice\")\n .build())\n .stageNames( \n \"RELEASE\",\n \"TEST\")\n .build());\n\n var examplePlugin = new Plugin(\"examplePlugin\", PluginArgs.builder()\n .description(\"tf_example\")\n .pluginName(\"tf_example\")\n .pluginData(serializeJson(\n jsonObject(\n jsonProperty(\"allowOrigins\", \"api.foo.com\"),\n jsonProperty(\"allowMethods\", \"GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\"),\n jsonProperty(\"allowHeaders\", \"Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\"),\n jsonProperty(\"exposeHeaders\", \"Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\"),\n jsonProperty(\"maxAge\", 172800),\n jsonProperty(\"allowCredentials\", true)\n )))\n .pluginType(\"cors\")\n .build());\n\n var examplePluginAttachment = new PluginAttachment(\"examplePluginAttachment\", PluginAttachmentArgs.builder()\n .apiId(exampleApi.apiId())\n .groupId(example.id())\n .pluginId(examplePlugin.id())\n .stageName(\"RELEASE\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:apigateway:Group\n properties:\n name: ${name}\n description: ${name}\n exampleApi:\n type: alicloud:apigateway:Api\n name: example\n properties:\n groupId: ${example.id}\n name: ${name}\n description: ${name}\n authType: APP\n forceNonceCheck: false\n requestConfig:\n protocol: HTTP\n method: GET\n path: /example/path\n mode: MAPPING\n serviceType: HTTP\n httpServiceConfig:\n address: http://apigateway-backend.alicloudapi.com:8080\n method: GET\n path: /web/cloudapi\n timeout: 12\n aoneName: cloudapi-openapi\n requestParameters:\n - name: example\n type: STRING\n required: OPTIONAL\n in: QUERY\n inService: QUERY\n nameService: exampleservice\n stageNames:\n - RELEASE\n - TEST\n examplePlugin:\n type: alicloud:apigateway:Plugin\n name: example\n properties:\n description: tf_example\n pluginName: tf_example\n pluginData:\n fn::toJSON:\n allowOrigins: api.foo.com\n allowMethods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH\n allowHeaders: Authorization,Accept,Accept-Ranges,Cache-Control,Range,Date,Content-Type,Content-Length,Content-MD5,User-Agent,X-Ca-Signature,X-Ca-Signature-Headers,X-Ca-Signature-Method,X-Ca-Key,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-Stage,X-Ca-Request-Mode,x-ca-deviceid\n exposeHeaders: Content-MD5,Server,Date,Latency,X-Ca-Request-Id,X-Ca-Error-Code,X-Ca-Error-Message\n maxAge: 172800\n allowCredentials: true\n pluginType: cors\n examplePluginAttachment:\n type: alicloud:apigateway:PluginAttachment\n name: example\n properties:\n apiId: ${exampleApi.apiId}\n groupId: ${example.id}\n pluginId: ${examplePlugin.id}\n stageName: RELEASE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "apiId": { "type": "string", @@ -105977,7 +107830,7 @@ } }, "alicloud:apigateway/vpcAccess:VpcAccess": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n description: \"New security group\",\n vpcId: exampleNetwork.id,\n});\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n});\nconst exampleVpcAccess = new alicloud.apigateway.VpcAccess(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n instanceId: exampleInstance.id,\n port: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n description=\"New security group\",\n vpc_id=example_network.id)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=\"terraform-example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id)\nexample_vpc_access = alicloud.apigateway.VpcAccess(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id,\n instance_id=example_instance.id,\n port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n Description = \"New security group\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = \"terraform-example\",\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleVpcAccess = new AliCloud.ApiGateway.VpcAccess(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n InstanceId = exampleInstance.Id,\n Port = 8080,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewVpcAccess(ctx, \"example\", \u0026apigateway.VpcAccessArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tPort: pulumi.Int(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.VpcAccess;\nimport com.pulumi.alicloud.apigateway.VpcAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .description(\"New security group\")\n .vpcId(exampleNetwork.id())\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(\"terraform-example\")\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleVpcAccess = new VpcAccess(\"exampleVpcAccess\", VpcAccessArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .instanceId(exampleInstance.id())\n .port(8080)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n description: New security group\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: terraform-example\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n exampleVpcAccess:\n type: alicloud:apigateway:VpcAccess\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n instanceId: ${exampleInstance.id}\n port: 8080\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApi gateway app can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/vpcAccess:VpcAccess example \"APiGatewayVpc:vpc-aswcj19ajsz:i-ajdjfsdlf:8080\"\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n description: \"New security group\",\n vpcId: exampleNetwork.id,\n});\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n});\nconst exampleVpcAccess = new alicloud.apigateway.VpcAccess(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n instanceId: exampleInstance.id,\n port: 8080,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n description=\"New security group\",\n vpc_id=example_network.id)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=\"terraform-example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id)\nexample_vpc_access = alicloud.apigateway.VpcAccess(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id,\n instance_id=example_instance.id,\n port=8080)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n Description = \"New security group\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = \"terraform-example\",\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleVpcAccess = new AliCloud.ApiGateway.VpcAccess(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n InstanceId = exampleInstance.Id,\n Port = 8080,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/apigateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewVpcAccess(ctx, \"example\", \u0026apigateway.VpcAccessArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tPort: pulumi.Int(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.apigateway.VpcAccess;\nimport com.pulumi.alicloud.apigateway.VpcAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .description(\"New security group\")\n .vpcId(exampleNetwork.id())\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(\"terraform-example\")\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleVpcAccess = new VpcAccess(\"exampleVpcAccess\", VpcAccessArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .instanceId(exampleInstance.id())\n .port(8080)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n description: New security group\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: terraform-example\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n exampleVpcAccess:\n type: alicloud:apigateway:VpcAccess\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n instanceId: ${exampleInstance.id}\n port: 8080\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApi gateway app can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:apigateway/vpcAccess:VpcAccess example \"APiGatewayVpc:vpc-aswcj19ajsz:i-ajdjfsdlf:8080\"\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -106057,7 +107910,7 @@ } }, "alicloud:arms/addonRelease:AddonRelease": { - "description": "Provides a ARMS Addon Release resource. Release package of observability addon.\n\nFor information about ARMS Addon Release and how to use it, see [What is Addon Release](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-installaddon).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultAddonRelease = new alicloud.arms.AddonRelease(\"default\", {\n aliyunLang: \"zh\",\n addonName: \"mysql\",\n environmentId: defaultEnvironment.id,\n addonVersion: \"0.0.1\",\n values: JSON.stringify({\n host: \"mysql-service.default\",\n password: \"roots\",\n port: 3306,\n username: \"root\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_addon_release = alicloud.arms.AddonRelease(\"default\",\n aliyun_lang=\"zh\",\n addon_name=\"mysql\",\n environment_id=default_environment.id,\n addon_version=\"0.0.1\",\n values=json.dumps({\n \"host\": \"mysql-service.default\",\n \"password\": \"roots\",\n \"port\": 3306,\n \"username\": \"root\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultAddonRelease = new AliCloud.Arms.AddonRelease(\"default\", new()\n {\n AliyunLang = \"zh\",\n AddonName = \"mysql\",\n EnvironmentId = defaultEnvironment.Id,\n AddonVersion = \"0.0.1\",\n Values = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"mysql-service.default\",\n [\"password\"] = \"roots\",\n [\"port\"] = 3306,\n [\"username\"] = \"root\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"host\": \"mysql-service.default\",\n\"password\": \"roots\",\n\"port\": 3306,\n\"username\": \"root\",\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = arms.NewAddonRelease(ctx, \"default\", \u0026arms.AddonReleaseArgs{\nAliyunLang: pulumi.String(\"zh\"),\nAddonName: pulumi.String(\"mysql\"),\nEnvironmentId: defaultEnvironment.ID(),\nAddonVersion: pulumi.String(\"0.0.1\"),\nValues: pulumi.String(json0),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.AddonRelease;\nimport com.pulumi.alicloud.arms.AddonReleaseArgs;\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultAddonRelease = new AddonRelease(\"defaultAddonRelease\", AddonReleaseArgs.builder()\n .aliyunLang(\"zh\")\n .addonName(\"mysql\")\n .environmentId(defaultEnvironment.id())\n .addonVersion(\"0.0.1\")\n .values(serializeJson(\n jsonObject(\n jsonProperty(\"host\", \"mysql-service.default\"),\n jsonProperty(\"password\", \"roots\"),\n jsonProperty(\"port\", 3306),\n jsonProperty(\"username\", \"root\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultAddonRelease:\n type: alicloud:arms:AddonRelease\n name: default\n properties:\n aliyunLang: zh\n addonName: mysql\n environmentId: ${defaultEnvironment.id}\n addonVersion: 0.0.1\n values:\n fn::toJSON:\n host: mysql-service.default\n password: roots\n port: 3306\n username: root\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Addon Release can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/addonRelease:AddonRelease example \u003cenvironment_id\u003e:\u003caddon_release_name\u003e\n```\n\n", + "description": "Provides a ARMS Addon Release resource. Release package of observability addon.\n\nFor information about ARMS Addon Release and how to use it, see [What is Addon Release](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-installaddon).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultAddonRelease = new alicloud.arms.AddonRelease(\"default\", {\n aliyunLang: \"zh\",\n addonName: \"mysql\",\n environmentId: defaultEnvironment.id,\n addonVersion: \"0.0.1\",\n values: JSON.stringify({\n host: \"mysql-service.default\",\n password: \"roots\",\n port: 3306,\n username: \"root\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_addon_release = alicloud.arms.AddonRelease(\"default\",\n aliyun_lang=\"zh\",\n addon_name=\"mysql\",\n environment_id=default_environment.id,\n addon_version=\"0.0.1\",\n values=json.dumps({\n \"host\": \"mysql-service.default\",\n \"password\": \"roots\",\n \"port\": 3306,\n \"username\": \"root\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultAddonRelease = new AliCloud.Arms.AddonRelease(\"default\", new()\n {\n AliyunLang = \"zh\",\n AddonName = \"mysql\",\n EnvironmentId = defaultEnvironment.Id,\n AddonVersion = \"0.0.1\",\n Values = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"mysql-service.default\",\n [\"password\"] = \"roots\",\n [\"port\"] = 3306,\n [\"username\"] = \"root\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ntmpJSON0, err := json.Marshal(map[string]interface{}{\n\"host\": \"mysql-service.default\",\n\"password\": \"roots\",\n\"port\": 3306,\n\"username\": \"root\",\n})\nif err != nil {\nreturn err\n}\njson0 := string(tmpJSON0)\n_, err = arms.NewAddonRelease(ctx, \"default\", \u0026arms.AddonReleaseArgs{\nAliyunLang: pulumi.String(\"zh\"),\nAddonName: pulumi.String(\"mysql\"),\nEnvironmentId: defaultEnvironment.ID(),\nAddonVersion: pulumi.String(\"0.0.1\"),\nValues: pulumi.String(json0),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.AddonRelease;\nimport com.pulumi.alicloud.arms.AddonReleaseArgs;\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultAddonRelease = new AddonRelease(\"defaultAddonRelease\", AddonReleaseArgs.builder()\n .aliyunLang(\"zh\")\n .addonName(\"mysql\")\n .environmentId(defaultEnvironment.id())\n .addonVersion(\"0.0.1\")\n .values(serializeJson(\n jsonObject(\n jsonProperty(\"host\", \"mysql-service.default\"),\n jsonProperty(\"password\", \"roots\"),\n jsonProperty(\"port\", 3306),\n jsonProperty(\"username\", \"root\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultAddonRelease:\n type: alicloud:arms:AddonRelease\n name: default\n properties:\n aliyunLang: zh\n addonName: mysql\n environmentId: ${defaultEnvironment.id}\n addonVersion: 0.0.1\n values:\n fn::toJSON:\n host: mysql-service.default\n password: roots\n port: 3306\n username: root\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Addon Release can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/addonRelease:AddonRelease example \u003cenvironment_id\u003e:\u003caddon_release_name\u003e\n```\n\n", "properties": { "addonName": { "type": "string", @@ -106171,7 +108024,7 @@ } }, "alicloud:arms/alertContact:AlertContact": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Contact resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Contact and how to use it, see [What is Alert Contact](https://next.api.aliyun.com/api/ARMS/2019-08-08/CreateAlertContact).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.arms.AlertContact(\"example\", {\n alertContactName: \"example_value\",\n dingRobotWebhookUrl: \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email: \"someone@example.com\",\n phoneNum: \"1381111****\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.arms.AlertContact(\"example\",\n alert_contact_name=\"example_value\",\n ding_robot_webhook_url=\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email=\"someone@example.com\",\n phone_num=\"1381111****\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Arms.AlertContact(\"example\", new()\n {\n AlertContactName = \"example_value\",\n DingRobotWebhookUrl = \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n Email = \"someone@example.com\",\n PhoneNum = \"1381111****\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := arms.NewAlertContact(ctx, \"example\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tDingRobotWebhookUrl: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\"),\n\t\t\tEmail: pulumi.String(\"someone@example.com\"),\n\t\t\tPhoneNum: pulumi.String(\"1381111****\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlertContact(\"example\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .dingRobotWebhookUrl(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\")\n .email(\"someone@example.com\")\n .phoneNum(\"1381111****\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n dingRobotWebhookUrl: https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\n email: someone@example.com\n phoneNum: 1381111****\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertContact:AlertContact example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Contact resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Contact and how to use it, see [What is Alert Contact](https://next.api.aliyun.com/api/ARMS/2019-08-08/CreateAlertContact).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.arms.AlertContact(\"example\", {\n alertContactName: \"example_value\",\n dingRobotWebhookUrl: \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email: \"someone@example.com\",\n phoneNum: \"1381111****\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.arms.AlertContact(\"example\",\n alert_contact_name=\"example_value\",\n ding_robot_webhook_url=\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email=\"someone@example.com\",\n phone_num=\"1381111****\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Arms.AlertContact(\"example\", new()\n {\n AlertContactName = \"example_value\",\n DingRobotWebhookUrl = \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n Email = \"someone@example.com\",\n PhoneNum = \"1381111****\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := arms.NewAlertContact(ctx, \"example\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tDingRobotWebhookUrl: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\"),\n\t\t\tEmail: pulumi.String(\"someone@example.com\"),\n\t\t\tPhoneNum: pulumi.String(\"1381111****\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlertContact(\"example\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .dingRobotWebhookUrl(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\")\n .email(\"someone@example.com\")\n .phoneNum(\"1381111****\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n dingRobotWebhookUrl: https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\n email: someone@example.com\n phoneNum: 1381111****\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertContact:AlertContact example \u003cid\u003e\n```\n\n", "properties": { "alertContactName": { "type": "string", @@ -106244,7 +108097,7 @@ } }, "alicloud:arms/alertContactGroup:AlertContactGroup": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Contact Group resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Contact Group and how to use it, see [What is Alert Contact Group](https://next.api.aliyun.com/api/ARMS/2019-08-08/CreateAlertContactGroup).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.arms.AlertContact(\"example\", {\n alertContactName: \"example_value\",\n dingRobotWebhookUrl: \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email: \"someone@example.com\",\n phoneNum: \"1381111****\",\n});\nconst exampleAlertContactGroup = new alicloud.arms.AlertContactGroup(\"example\", {\n alertContactGroupName: \"example_value\",\n contactIds: [example.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.arms.AlertContact(\"example\",\n alert_contact_name=\"example_value\",\n ding_robot_webhook_url=\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email=\"someone@example.com\",\n phone_num=\"1381111****\")\nexample_alert_contact_group = alicloud.arms.AlertContactGroup(\"example\",\n alert_contact_group_name=\"example_value\",\n contact_ids=[example.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Arms.AlertContact(\"example\", new()\n {\n AlertContactName = \"example_value\",\n DingRobotWebhookUrl = \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n Email = \"someone@example.com\",\n PhoneNum = \"1381111****\",\n });\n\n var exampleAlertContactGroup = new AliCloud.Arms.AlertContactGroup(\"example\", new()\n {\n AlertContactGroupName = \"example_value\",\n ContactIds = new[]\n {\n example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := arms.NewAlertContact(ctx, \"example\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tDingRobotWebhookUrl: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\"),\n\t\t\tEmail: pulumi.String(\"someone@example.com\"),\n\t\t\tPhoneNum: pulumi.String(\"1381111****\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertContactGroup(ctx, \"example\", \u0026arms.AlertContactGroupArgs{\n\t\t\tAlertContactGroupName: pulumi.String(\"example_value\"),\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texample.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.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport com.pulumi.alicloud.arms.AlertContactGroup;\nimport com.pulumi.alicloud.arms.AlertContactGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlertContact(\"example\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .dingRobotWebhookUrl(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\")\n .email(\"someone@example.com\")\n .phoneNum(\"1381111****\")\n .build());\n\n var exampleAlertContactGroup = new AlertContactGroup(\"exampleAlertContactGroup\", AlertContactGroupArgs.builder()\n .alertContactGroupName(\"example_value\")\n .contactIds(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n dingRobotWebhookUrl: https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\n email: someone@example.com\n phoneNum: 1381111****\n exampleAlertContactGroup:\n type: alicloud:arms:AlertContactGroup\n name: example\n properties:\n alertContactGroupName: example_value\n contactIds:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertContactGroup:AlertContactGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Contact Group resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Contact Group and how to use it, see [What is Alert Contact Group](https://next.api.aliyun.com/api/ARMS/2019-08-08/CreateAlertContactGroup).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.arms.AlertContact(\"example\", {\n alertContactName: \"example_value\",\n dingRobotWebhookUrl: \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email: \"someone@example.com\",\n phoneNum: \"1381111****\",\n});\nconst exampleAlertContactGroup = new alicloud.arms.AlertContactGroup(\"example\", {\n alertContactGroupName: \"example_value\",\n contactIds: [example.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.arms.AlertContact(\"example\",\n alert_contact_name=\"example_value\",\n ding_robot_webhook_url=\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n email=\"someone@example.com\",\n phone_num=\"1381111****\")\nexample_alert_contact_group = alicloud.arms.AlertContactGroup(\"example\",\n alert_contact_group_name=\"example_value\",\n contact_ids=[example.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Arms.AlertContact(\"example\", new()\n {\n AlertContactName = \"example_value\",\n DingRobotWebhookUrl = \"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\",\n Email = \"someone@example.com\",\n PhoneNum = \"1381111****\",\n });\n\n var exampleAlertContactGroup = new AliCloud.Arms.AlertContactGroup(\"example\", new()\n {\n AlertContactGroupName = \"example_value\",\n ContactIds = new[]\n {\n example.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := arms.NewAlertContact(ctx, \"example\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tDingRobotWebhookUrl: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\"),\n\t\t\tEmail: pulumi.String(\"someone@example.com\"),\n\t\t\tPhoneNum: pulumi.String(\"1381111****\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertContactGroup(ctx, \"example\", \u0026arms.AlertContactGroupArgs{\n\t\t\tAlertContactGroupName: pulumi.String(\"example_value\"),\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\texample.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.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport com.pulumi.alicloud.arms.AlertContactGroup;\nimport com.pulumi.alicloud.arms.AlertContactGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlertContact(\"example\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .dingRobotWebhookUrl(\"https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\")\n .email(\"someone@example.com\")\n .phoneNum(\"1381111****\")\n .build());\n\n var exampleAlertContactGroup = new AlertContactGroup(\"exampleAlertContactGroup\", AlertContactGroupArgs.builder()\n .alertContactGroupName(\"example_value\")\n .contactIds(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n dingRobotWebhookUrl: https://oapi.dingtalk.com/robot/send?access_token=91f2f6****\n email: someone@example.com\n phoneNum: 1381111****\n exampleAlertContactGroup:\n type: alicloud:arms:AlertContactGroup\n name: example\n properties:\n alertContactGroupName: example_value\n contactIds:\n - ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertContactGroup:AlertContactGroup example \u003cid\u003e\n```\n\n", "properties": { "alertContactGroupName": { "type": "string", @@ -106296,7 +108149,7 @@ } }, "alicloud:arms/alertRobot:AlertRobot": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Robot resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Robot and how to use it, see [What is Alert Robot](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateOrUpdateIMRobot).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst wechat = new alicloud.arms.AlertRobot(\"wechat\", {\n alertRobotName: \"example_wechat\",\n robotType: \"wechat\",\n robotAddr: \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\nconst dingding = new alicloud.arms.AlertRobot(\"dingding\", {\n alertRobotName: \"example_dingding\",\n robotType: \"dingding\",\n robotAddr: \"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\nconst feishu = new alicloud.arms.AlertRobot(\"feishu\", {\n alertRobotName: \"example_feishu\",\n robotType: \"feishu\",\n robotAddr: \"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nwechat = alicloud.arms.AlertRobot(\"wechat\",\n alert_robot_name=\"example_wechat\",\n robot_type=\"wechat\",\n robot_addr=\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\ndingding = alicloud.arms.AlertRobot(\"dingding\",\n alert_robot_name=\"example_dingding\",\n robot_type=\"dingding\",\n robot_addr=\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\nfeishu = alicloud.arms.AlertRobot(\"feishu\",\n alert_robot_name=\"example_feishu\",\n robot_type=\"feishu\",\n robot_addr=\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wechat = new AliCloud.Arms.AlertRobot(\"wechat\", new()\n {\n AlertRobotName = \"example_wechat\",\n RobotType = \"wechat\",\n RobotAddr = \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n var dingding = new AliCloud.Arms.AlertRobot(\"dingding\", new()\n {\n AlertRobotName = \"example_dingding\",\n RobotType = \"dingding\",\n RobotAddr = \"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n var feishu = new AliCloud.Arms.AlertRobot(\"feishu\", new()\n {\n AlertRobotName = \"example_feishu\",\n RobotType = \"feishu\",\n RobotAddr = \"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := arms.NewAlertRobot(ctx, \"wechat\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_wechat\"),\n\t\t\tRobotType: pulumi.String(\"wechat\"),\n\t\t\tRobotAddr: pulumi.String(\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertRobot(ctx, \"dingding\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_dingding\"),\n\t\t\tRobotType: pulumi.String(\"dingding\"),\n\t\t\tRobotAddr: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertRobot(ctx, \"feishu\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_feishu\"),\n\t\t\tRobotType: pulumi.String(\"feishu\"),\n\t\t\tRobotAddr: pulumi.String(\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17: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.alicloud.arms.AlertRobot;\nimport com.pulumi.alicloud.arms.AlertRobotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wechat = new AlertRobot(\"wechat\", AlertRobotArgs.builder()\n .alertRobotName(\"example_wechat\")\n .robotType(\"wechat\")\n .robotAddr(\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n var dingding = new AlertRobot(\"dingding\", AlertRobotArgs.builder()\n .alertRobotName(\"example_dingding\")\n .robotType(\"dingding\")\n .robotAddr(\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n var feishu = new AlertRobot(\"feishu\", AlertRobotArgs.builder()\n .alertRobotName(\"example_feishu\")\n .robotType(\"feishu\")\n .robotAddr(\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wechat:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_wechat\n robotType: wechat\n robotAddr: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n dingding:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_dingding\n robotType: dingding\n robotAddr: https://oapi.dingtalk.com/robot/send?access_token=1c704e23\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n feishu:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_feishu\n robotType: feishu\n robotAddr: https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertRobot:AlertRobot example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Robot resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Robot and how to use it, see [What is Alert Robot](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateOrUpdateIMRobot).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst wechat = new alicloud.arms.AlertRobot(\"wechat\", {\n alertRobotName: \"example_wechat\",\n robotType: \"wechat\",\n robotAddr: \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\nconst dingding = new alicloud.arms.AlertRobot(\"dingding\", {\n alertRobotName: \"example_dingding\",\n robotType: \"dingding\",\n robotAddr: \"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\nconst feishu = new alicloud.arms.AlertRobot(\"feishu\", {\n alertRobotName: \"example_feishu\",\n robotType: \"feishu\",\n robotAddr: \"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n dailyNoc: true,\n dailyNocTime: \"09:30,17:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nwechat = alicloud.arms.AlertRobot(\"wechat\",\n alert_robot_name=\"example_wechat\",\n robot_type=\"wechat\",\n robot_addr=\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\ndingding = alicloud.arms.AlertRobot(\"dingding\",\n alert_robot_name=\"example_dingding\",\n robot_type=\"dingding\",\n robot_addr=\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\nfeishu = alicloud.arms.AlertRobot(\"feishu\",\n alert_robot_name=\"example_feishu\",\n robot_type=\"feishu\",\n robot_addr=\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n daily_noc=True,\n daily_noc_time=\"09:30,17:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var wechat = new AliCloud.Arms.AlertRobot(\"wechat\", new()\n {\n AlertRobotName = \"example_wechat\",\n RobotType = \"wechat\",\n RobotAddr = \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n var dingding = new AliCloud.Arms.AlertRobot(\"dingding\", new()\n {\n AlertRobotName = \"example_dingding\",\n RobotType = \"dingding\",\n RobotAddr = \"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n var feishu = new AliCloud.Arms.AlertRobot(\"feishu\", new()\n {\n AlertRobotName = \"example_feishu\",\n RobotType = \"feishu\",\n RobotAddr = \"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\",\n DailyNoc = true,\n DailyNocTime = \"09:30,17:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := arms.NewAlertRobot(ctx, \"wechat\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_wechat\"),\n\t\t\tRobotType: pulumi.String(\"wechat\"),\n\t\t\tRobotAddr: pulumi.String(\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertRobot(ctx, \"dingding\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_dingding\"),\n\t\t\tRobotType: pulumi.String(\"dingding\"),\n\t\t\tRobotAddr: pulumi.String(\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewAlertRobot(ctx, \"feishu\", \u0026arms.AlertRobotArgs{\n\t\t\tAlertRobotName: pulumi.String(\"example_feishu\"),\n\t\t\tRobotType: pulumi.String(\"feishu\"),\n\t\t\tRobotAddr: pulumi.String(\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\"),\n\t\t\tDailyNoc: pulumi.Bool(true),\n\t\t\tDailyNocTime: pulumi.String(\"09:30,17: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.alicloud.arms.AlertRobot;\nimport com.pulumi.alicloud.arms.AlertRobotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var wechat = new AlertRobot(\"wechat\", AlertRobotArgs.builder()\n .alertRobotName(\"example_wechat\")\n .robotType(\"wechat\")\n .robotAddr(\"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n var dingding = new AlertRobot(\"dingding\", AlertRobotArgs.builder()\n .alertRobotName(\"example_dingding\")\n .robotType(\"dingding\")\n .robotAddr(\"https://oapi.dingtalk.com/robot/send?access_token=1c704e23\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n var feishu = new AlertRobot(\"feishu\", AlertRobotArgs.builder()\n .alertRobotName(\"example_feishu\")\n .robotType(\"feishu\")\n .robotAddr(\"https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\")\n .dailyNoc(true)\n .dailyNocTime(\"09:30,17:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n wechat:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_wechat\n robotType: wechat\n robotAddr: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1c704e23\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n dingding:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_dingding\n robotType: dingding\n robotAddr: https://oapi.dingtalk.com/robot/send?access_token=1c704e23\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n feishu:\n type: alicloud:arms:AlertRobot\n properties:\n alertRobotName: example_feishu\n robotType: feishu\n robotAddr: https://open.feishu.cn/open-apis/bot/v2/hook/a48efa01\n dailyNoc: true\n dailyNocTime: 09:30,17:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/alertRobot:AlertRobot example \u003cid\u003e\n```\n\n", "properties": { "alertRobotName": { "type": "string", @@ -106381,7 +108234,7 @@ } }, "alicloud:arms/dispatchRule:DispatchRule": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Dispatch Rule resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Dispatch Rule and how to use it, see [What is Alert Dispatch_Rule](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateDispatchRule).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.arms.AlertContact(\"default\", {\n alertContactName: \"example_value\",\n email: \"example_value@aaa.com\",\n});\nconst defaultAlertContactGroup = new alicloud.arms.AlertContactGroup(\"default\", {\n alertContactGroupName: \"example_value\",\n contactIds: [_default.id],\n});\nconst defaultDispatchRule = new alicloud.arms.DispatchRule(\"default\", {\n dispatchRuleName: \"example_value\",\n dispatchType: \"CREATE_ALERT\",\n groupRules: [{\n groupWaitTime: 5,\n groupInterval: 15,\n repeatInterval: 100,\n groupingFields: [\"alertname\"],\n }],\n labelMatchExpressionGrids: [{\n labelMatchExpressionGroups: [{\n labelMatchExpressions: [{\n key: \"_aliyun_arms_involvedObject_kind\",\n value: \"app\",\n operator: \"eq\",\n }],\n }],\n }],\n notifyRules: [{\n notifyObjects: [\n {\n notifyObjectId: _default.id,\n notifyType: \"ARMS_CONTACT\",\n name: \"example_value\",\n },\n {\n notifyObjectId: defaultAlertContactGroup.id,\n notifyType: \"ARMS_CONTACT_GROUP\",\n name: \"example_value\",\n },\n ],\n notifyChannels: [\n \"dingTalk\",\n \"wechat\",\n ],\n notifyStartTime: \"10:00\",\n notifyEndTime: \"23:00\",\n }],\n notifyTemplates: [{\n emailTitle: \"example_email_title\",\n emailContent: \"example_email_content\",\n emailRecoverTitle: \"example_email_recover_title\",\n emailRecoverContent: \"example_email_recover_content\",\n smsContent: \"example_sms_content\",\n smsRecoverContent: \"example_sms_recover_content\",\n ttsContent: \"example_tts_content\",\n ttsRecoverContent: \"example_tts_recover_content\",\n robotContent: \"example_robot_content\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.arms.AlertContact(\"default\",\n alert_contact_name=\"example_value\",\n email=\"example_value@aaa.com\")\ndefault_alert_contact_group = alicloud.arms.AlertContactGroup(\"default\",\n alert_contact_group_name=\"example_value\",\n contact_ids=[default.id])\ndefault_dispatch_rule = alicloud.arms.DispatchRule(\"default\",\n dispatch_rule_name=\"example_value\",\n dispatch_type=\"CREATE_ALERT\",\n group_rules=[{\n \"group_wait_time\": 5,\n \"group_interval\": 15,\n \"repeat_interval\": 100,\n \"grouping_fields\": [\"alertname\"],\n }],\n label_match_expression_grids=[{\n \"label_match_expression_groups\": [{\n \"label_match_expressions\": [{\n \"key\": \"_aliyun_arms_involvedObject_kind\",\n \"value\": \"app\",\n \"operator\": \"eq\",\n }],\n }],\n }],\n notify_rules=[{\n \"notify_objects\": [\n {\n \"notify_object_id\": default.id,\n \"notify_type\": \"ARMS_CONTACT\",\n \"name\": \"example_value\",\n },\n {\n \"notify_object_id\": default_alert_contact_group.id,\n \"notify_type\": \"ARMS_CONTACT_GROUP\",\n \"name\": \"example_value\",\n },\n ],\n \"notify_channels\": [\n \"dingTalk\",\n \"wechat\",\n ],\n \"notify_start_time\": \"10:00\",\n \"notify_end_time\": \"23:00\",\n }],\n notify_templates=[{\n \"email_title\": \"example_email_title\",\n \"email_content\": \"example_email_content\",\n \"email_recover_title\": \"example_email_recover_title\",\n \"email_recover_content\": \"example_email_recover_content\",\n \"sms_content\": \"example_sms_content\",\n \"sms_recover_content\": \"example_sms_recover_content\",\n \"tts_content\": \"example_tts_content\",\n \"tts_recover_content\": \"example_tts_recover_content\",\n \"robot_content\": \"example_robot_content\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Arms.AlertContact(\"default\", new()\n {\n AlertContactName = \"example_value\",\n Email = \"example_value@aaa.com\",\n });\n\n var defaultAlertContactGroup = new AliCloud.Arms.AlertContactGroup(\"default\", new()\n {\n AlertContactGroupName = \"example_value\",\n ContactIds = new[]\n {\n @default.Id,\n },\n });\n\n var defaultDispatchRule = new AliCloud.Arms.DispatchRule(\"default\", new()\n {\n DispatchRuleName = \"example_value\",\n DispatchType = \"CREATE_ALERT\",\n GroupRules = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleGroupRuleArgs\n {\n GroupWaitTime = 5,\n GroupInterval = 15,\n RepeatInterval = 100,\n GroupingFields = new[]\n {\n \"alertname\",\n },\n },\n },\n LabelMatchExpressionGrids = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridArgs\n {\n LabelMatchExpressionGroups = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs\n {\n LabelMatchExpressions = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs\n {\n Key = \"_aliyun_arms_involvedObject_kind\",\n Value = \"app\",\n Operator = \"eq\",\n },\n },\n },\n },\n },\n },\n NotifyRules = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleArgs\n {\n NotifyObjects = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs\n {\n NotifyObjectId = @default.Id,\n NotifyType = \"ARMS_CONTACT\",\n Name = \"example_value\",\n },\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs\n {\n NotifyObjectId = defaultAlertContactGroup.Id,\n NotifyType = \"ARMS_CONTACT_GROUP\",\n Name = \"example_value\",\n },\n },\n NotifyChannels = new[]\n {\n \"dingTalk\",\n \"wechat\",\n },\n NotifyStartTime = \"10:00\",\n NotifyEndTime = \"23:00\",\n },\n },\n NotifyTemplates = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyTemplateArgs\n {\n EmailTitle = \"example_email_title\",\n EmailContent = \"example_email_content\",\n EmailRecoverTitle = \"example_email_recover_title\",\n EmailRecoverContent = \"example_email_recover_content\",\n SmsContent = \"example_sms_content\",\n SmsRecoverContent = \"example_sms_recover_content\",\n TtsContent = \"example_tts_content\",\n TtsRecoverContent = \"example_tts_recover_content\",\n RobotContent = \"example_robot_content\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := arms.NewAlertContact(ctx, \"default\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tEmail: pulumi.String(\"example_value@aaa.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlertContactGroup, err := arms.NewAlertContactGroup(ctx, \"default\", \u0026arms.AlertContactGroupArgs{\n\t\t\tAlertContactGroupName: pulumi.String(\"example_value\"),\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\t_default.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 = arms.NewDispatchRule(ctx, \"default\", \u0026arms.DispatchRuleArgs{\n\t\t\tDispatchRuleName: pulumi.String(\"example_value\"),\n\t\t\tDispatchType: pulumi.String(\"CREATE_ALERT\"),\n\t\t\tGroupRules: arms.DispatchRuleGroupRuleArray{\n\t\t\t\t\u0026arms.DispatchRuleGroupRuleArgs{\n\t\t\t\t\tGroupWaitTime: pulumi.Int(5),\n\t\t\t\t\tGroupInterval: pulumi.Int(15),\n\t\t\t\t\tRepeatInterval: pulumi.Int(100),\n\t\t\t\t\tGroupingFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"alertname\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabelMatchExpressionGrids: arms.DispatchRuleLabelMatchExpressionGridArray{\n\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridArgs{\n\t\t\t\t\tLabelMatchExpressionGroups: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArray{\n\t\t\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs{\n\t\t\t\t\t\t\tLabelMatchExpressions: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArray{\n\t\t\t\t\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs{\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_aliyun_arms_involvedObject_kind\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"app\"),\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"eq\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifyRules: arms.DispatchRuleNotifyRuleArray{\n\t\t\t\t\u0026arms.DispatchRuleNotifyRuleArgs{\n\t\t\t\t\tNotifyObjects: arms.DispatchRuleNotifyRuleNotifyObjectArray{\n\t\t\t\t\t\t\u0026arms.DispatchRuleNotifyRuleNotifyObjectArgs{\n\t\t\t\t\t\t\tNotifyObjectId: _default.ID(),\n\t\t\t\t\t\t\tNotifyType: pulumi.String(\"ARMS_CONTACT\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.DispatchRuleNotifyRuleNotifyObjectArgs{\n\t\t\t\t\t\t\tNotifyObjectId: defaultAlertContactGroup.ID(),\n\t\t\t\t\t\t\tNotifyType: pulumi.String(\"ARMS_CONTACT_GROUP\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNotifyChannels: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dingTalk\"),\n\t\t\t\t\t\tpulumi.String(\"wechat\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotifyStartTime: pulumi.String(\"10:00\"),\n\t\t\t\t\tNotifyEndTime: pulumi.String(\"23:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifyTemplates: arms.DispatchRuleNotifyTemplateArray{\n\t\t\t\t\u0026arms.DispatchRuleNotifyTemplateArgs{\n\t\t\t\t\tEmailTitle: pulumi.String(\"example_email_title\"),\n\t\t\t\t\tEmailContent: pulumi.String(\"example_email_content\"),\n\t\t\t\t\tEmailRecoverTitle: pulumi.String(\"example_email_recover_title\"),\n\t\t\t\t\tEmailRecoverContent: pulumi.String(\"example_email_recover_content\"),\n\t\t\t\t\tSmsContent: pulumi.String(\"example_sms_content\"),\n\t\t\t\t\tSmsRecoverContent: pulumi.String(\"example_sms_recover_content\"),\n\t\t\t\t\tTtsContent: pulumi.String(\"example_tts_content\"),\n\t\t\t\t\tTtsRecoverContent: pulumi.String(\"example_tts_recover_content\"),\n\t\t\t\t\tRobotContent: pulumi.String(\"example_robot_content\"),\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.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport com.pulumi.alicloud.arms.AlertContactGroup;\nimport com.pulumi.alicloud.arms.AlertContactGroupArgs;\nimport com.pulumi.alicloud.arms.DispatchRule;\nimport com.pulumi.alicloud.arms.DispatchRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleGroupRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleLabelMatchExpressionGridArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleNotifyRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleNotifyTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AlertContact(\"default\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .email(\"example_value@aaa.com\")\n .build());\n\n var defaultAlertContactGroup = new AlertContactGroup(\"defaultAlertContactGroup\", AlertContactGroupArgs.builder()\n .alertContactGroupName(\"example_value\")\n .contactIds(default_.id())\n .build());\n\n var defaultDispatchRule = new DispatchRule(\"defaultDispatchRule\", DispatchRuleArgs.builder()\n .dispatchRuleName(\"example_value\")\n .dispatchType(\"CREATE_ALERT\")\n .groupRules(DispatchRuleGroupRuleArgs.builder()\n .groupWaitTime(5)\n .groupInterval(15)\n .repeatInterval(100)\n .groupingFields(\"alertname\")\n .build())\n .labelMatchExpressionGrids(DispatchRuleLabelMatchExpressionGridArgs.builder()\n .labelMatchExpressionGroups(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs.builder()\n .labelMatchExpressions(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs.builder()\n .key(\"_aliyun_arms_involvedObject_kind\")\n .value(\"app\")\n .operator(\"eq\")\n .build())\n .build())\n .build())\n .notifyRules(DispatchRuleNotifyRuleArgs.builder()\n .notifyObjects( \n DispatchRuleNotifyRuleNotifyObjectArgs.builder()\n .notifyObjectId(default_.id())\n .notifyType(\"ARMS_CONTACT\")\n .name(\"example_value\")\n .build(),\n DispatchRuleNotifyRuleNotifyObjectArgs.builder()\n .notifyObjectId(defaultAlertContactGroup.id())\n .notifyType(\"ARMS_CONTACT_GROUP\")\n .name(\"example_value\")\n .build())\n .notifyChannels( \n \"dingTalk\",\n \"wechat\")\n .notifyStartTime(\"10:00\")\n .notifyEndTime(\"23:00\")\n .build())\n .notifyTemplates(DispatchRuleNotifyTemplateArgs.builder()\n .emailTitle(\"example_email_title\")\n .emailContent(\"example_email_content\")\n .emailRecoverTitle(\"example_email_recover_title\")\n .emailRecoverContent(\"example_email_recover_content\")\n .smsContent(\"example_sms_content\")\n .smsRecoverContent(\"example_sms_recover_content\")\n .ttsContent(\"example_tts_content\")\n .ttsRecoverContent(\"example_tts_recover_content\")\n .robotContent(\"example_robot_content\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n email: example_value@aaa.com\n defaultAlertContactGroup:\n type: alicloud:arms:AlertContactGroup\n name: default\n properties:\n alertContactGroupName: example_value\n contactIds:\n - ${default.id}\n defaultDispatchRule:\n type: alicloud:arms:DispatchRule\n name: default\n properties:\n dispatchRuleName: example_value\n dispatchType: CREATE_ALERT\n groupRules:\n - groupWaitTime: 5\n groupInterval: 15\n repeatInterval: 100\n groupingFields:\n - alertname\n labelMatchExpressionGrids:\n - labelMatchExpressionGroups:\n - labelMatchExpressions:\n - key: _aliyun_arms_involvedObject_kind\n value: app\n operator: eq\n notifyRules:\n - notifyObjects:\n - notifyObjectId: ${default.id}\n notifyType: ARMS_CONTACT\n name: example_value\n - notifyObjectId: ${defaultAlertContactGroup.id}\n notifyType: ARMS_CONTACT_GROUP\n name: example_value\n notifyChannels:\n - dingTalk\n - wechat\n notifyStartTime: 10:00\n notifyEndTime: 23:00\n notifyTemplates:\n - emailTitle: example_email_title\n emailContent: example_email_content\n emailRecoverTitle: example_email_recover_title\n emailRecoverContent: example_email_recover_content\n smsContent: example_sms_content\n smsRecoverContent: example_sms_recover_content\n ttsContent: example_tts_content\n ttsRecoverContent: example_tts_recover_content\n robotContent: example_robot_content\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/dispatchRule:DispatchRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Alert Dispatch Rule resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Alert Dispatch Rule and how to use it, see [What is Alert Dispatch_Rule](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateDispatchRule).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.arms.AlertContact(\"default\", {\n alertContactName: \"example_value\",\n email: \"example_value@aaa.com\",\n});\nconst defaultAlertContactGroup = new alicloud.arms.AlertContactGroup(\"default\", {\n alertContactGroupName: \"example_value\",\n contactIds: [_default.id],\n});\nconst defaultDispatchRule = new alicloud.arms.DispatchRule(\"default\", {\n dispatchRuleName: \"example_value\",\n dispatchType: \"CREATE_ALERT\",\n groupRules: [{\n groupWaitTime: 5,\n groupInterval: 15,\n repeatInterval: 100,\n groupingFields: [\"alertname\"],\n }],\n labelMatchExpressionGrids: [{\n labelMatchExpressionGroups: [{\n labelMatchExpressions: [{\n key: \"_aliyun_arms_involvedObject_kind\",\n value: \"app\",\n operator: \"eq\",\n }],\n }],\n }],\n notifyRules: [{\n notifyObjects: [\n {\n notifyObjectId: _default.id,\n notifyType: \"ARMS_CONTACT\",\n name: \"example_value\",\n },\n {\n notifyObjectId: defaultAlertContactGroup.id,\n notifyType: \"ARMS_CONTACT_GROUP\",\n name: \"example_value\",\n },\n ],\n notifyChannels: [\n \"dingTalk\",\n \"wechat\",\n ],\n notifyStartTime: \"10:00\",\n notifyEndTime: \"23:00\",\n }],\n notifyTemplates: [{\n emailTitle: \"example_email_title\",\n emailContent: \"example_email_content\",\n emailRecoverTitle: \"example_email_recover_title\",\n emailRecoverContent: \"example_email_recover_content\",\n smsContent: \"example_sms_content\",\n smsRecoverContent: \"example_sms_recover_content\",\n ttsContent: \"example_tts_content\",\n ttsRecoverContent: \"example_tts_recover_content\",\n robotContent: \"example_robot_content\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.arms.AlertContact(\"default\",\n alert_contact_name=\"example_value\",\n email=\"example_value@aaa.com\")\ndefault_alert_contact_group = alicloud.arms.AlertContactGroup(\"default\",\n alert_contact_group_name=\"example_value\",\n contact_ids=[default.id])\ndefault_dispatch_rule = alicloud.arms.DispatchRule(\"default\",\n dispatch_rule_name=\"example_value\",\n dispatch_type=\"CREATE_ALERT\",\n group_rules=[{\n \"group_wait_time\": 5,\n \"group_interval\": 15,\n \"repeat_interval\": 100,\n \"grouping_fields\": [\"alertname\"],\n }],\n label_match_expression_grids=[{\n \"label_match_expression_groups\": [{\n \"label_match_expressions\": [{\n \"key\": \"_aliyun_arms_involvedObject_kind\",\n \"value\": \"app\",\n \"operator\": \"eq\",\n }],\n }],\n }],\n notify_rules=[{\n \"notify_objects\": [\n {\n \"notify_object_id\": default.id,\n \"notify_type\": \"ARMS_CONTACT\",\n \"name\": \"example_value\",\n },\n {\n \"notify_object_id\": default_alert_contact_group.id,\n \"notify_type\": \"ARMS_CONTACT_GROUP\",\n \"name\": \"example_value\",\n },\n ],\n \"notify_channels\": [\n \"dingTalk\",\n \"wechat\",\n ],\n \"notify_start_time\": \"10:00\",\n \"notify_end_time\": \"23:00\",\n }],\n notify_templates=[{\n \"email_title\": \"example_email_title\",\n \"email_content\": \"example_email_content\",\n \"email_recover_title\": \"example_email_recover_title\",\n \"email_recover_content\": \"example_email_recover_content\",\n \"sms_content\": \"example_sms_content\",\n \"sms_recover_content\": \"example_sms_recover_content\",\n \"tts_content\": \"example_tts_content\",\n \"tts_recover_content\": \"example_tts_recover_content\",\n \"robot_content\": \"example_robot_content\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Arms.AlertContact(\"default\", new()\n {\n AlertContactName = \"example_value\",\n Email = \"example_value@aaa.com\",\n });\n\n var defaultAlertContactGroup = new AliCloud.Arms.AlertContactGroup(\"default\", new()\n {\n AlertContactGroupName = \"example_value\",\n ContactIds = new[]\n {\n @default.Id,\n },\n });\n\n var defaultDispatchRule = new AliCloud.Arms.DispatchRule(\"default\", new()\n {\n DispatchRuleName = \"example_value\",\n DispatchType = \"CREATE_ALERT\",\n GroupRules = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleGroupRuleArgs\n {\n GroupWaitTime = 5,\n GroupInterval = 15,\n RepeatInterval = 100,\n GroupingFields = new[]\n {\n \"alertname\",\n },\n },\n },\n LabelMatchExpressionGrids = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridArgs\n {\n LabelMatchExpressionGroups = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs\n {\n LabelMatchExpressions = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs\n {\n Key = \"_aliyun_arms_involvedObject_kind\",\n Value = \"app\",\n Operator = \"eq\",\n },\n },\n },\n },\n },\n },\n NotifyRules = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleArgs\n {\n NotifyObjects = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs\n {\n NotifyObjectId = @default.Id,\n NotifyType = \"ARMS_CONTACT\",\n Name = \"example_value\",\n },\n new AliCloud.Arms.Inputs.DispatchRuleNotifyRuleNotifyObjectArgs\n {\n NotifyObjectId = defaultAlertContactGroup.Id,\n NotifyType = \"ARMS_CONTACT_GROUP\",\n Name = \"example_value\",\n },\n },\n NotifyChannels = new[]\n {\n \"dingTalk\",\n \"wechat\",\n },\n NotifyStartTime = \"10:00\",\n NotifyEndTime = \"23:00\",\n },\n },\n NotifyTemplates = new[]\n {\n new AliCloud.Arms.Inputs.DispatchRuleNotifyTemplateArgs\n {\n EmailTitle = \"example_email_title\",\n EmailContent = \"example_email_content\",\n EmailRecoverTitle = \"example_email_recover_title\",\n EmailRecoverContent = \"example_email_recover_content\",\n SmsContent = \"example_sms_content\",\n SmsRecoverContent = \"example_sms_recover_content\",\n TtsContent = \"example_tts_content\",\n TtsRecoverContent = \"example_tts_recover_content\",\n RobotContent = \"example_robot_content\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := arms.NewAlertContact(ctx, \"default\", \u0026arms.AlertContactArgs{\n\t\t\tAlertContactName: pulumi.String(\"example_value\"),\n\t\t\tEmail: pulumi.String(\"example_value@aaa.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlertContactGroup, err := arms.NewAlertContactGroup(ctx, \"default\", \u0026arms.AlertContactGroupArgs{\n\t\t\tAlertContactGroupName: pulumi.String(\"example_value\"),\n\t\t\tContactIds: pulumi.StringArray{\n\t\t\t\t_default.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 = arms.NewDispatchRule(ctx, \"default\", \u0026arms.DispatchRuleArgs{\n\t\t\tDispatchRuleName: pulumi.String(\"example_value\"),\n\t\t\tDispatchType: pulumi.String(\"CREATE_ALERT\"),\n\t\t\tGroupRules: arms.DispatchRuleGroupRuleArray{\n\t\t\t\t\u0026arms.DispatchRuleGroupRuleArgs{\n\t\t\t\t\tGroupWaitTime: pulumi.Int(5),\n\t\t\t\t\tGroupInterval: pulumi.Int(15),\n\t\t\t\t\tRepeatInterval: pulumi.Int(100),\n\t\t\t\t\tGroupingFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"alertname\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabelMatchExpressionGrids: arms.DispatchRuleLabelMatchExpressionGridArray{\n\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridArgs{\n\t\t\t\t\tLabelMatchExpressionGroups: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArray{\n\t\t\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs{\n\t\t\t\t\t\t\tLabelMatchExpressions: arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArray{\n\t\t\t\t\t\t\t\t\u0026arms.DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs{\n\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_aliyun_arms_involvedObject_kind\"),\n\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"app\"),\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"eq\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifyRules: arms.DispatchRuleNotifyRuleArray{\n\t\t\t\t\u0026arms.DispatchRuleNotifyRuleArgs{\n\t\t\t\t\tNotifyObjects: arms.DispatchRuleNotifyRuleNotifyObjectArray{\n\t\t\t\t\t\t\u0026arms.DispatchRuleNotifyRuleNotifyObjectArgs{\n\t\t\t\t\t\t\tNotifyObjectId: _default.ID(),\n\t\t\t\t\t\t\tNotifyType: pulumi.String(\"ARMS_CONTACT\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.DispatchRuleNotifyRuleNotifyObjectArgs{\n\t\t\t\t\t\t\tNotifyObjectId: defaultAlertContactGroup.ID(),\n\t\t\t\t\t\t\tNotifyType: pulumi.String(\"ARMS_CONTACT_GROUP\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"example_value\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNotifyChannels: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"dingTalk\"),\n\t\t\t\t\t\tpulumi.String(\"wechat\"),\n\t\t\t\t\t},\n\t\t\t\t\tNotifyStartTime: pulumi.String(\"10:00\"),\n\t\t\t\t\tNotifyEndTime: pulumi.String(\"23:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotifyTemplates: arms.DispatchRuleNotifyTemplateArray{\n\t\t\t\t\u0026arms.DispatchRuleNotifyTemplateArgs{\n\t\t\t\t\tEmailTitle: pulumi.String(\"example_email_title\"),\n\t\t\t\t\tEmailContent: pulumi.String(\"example_email_content\"),\n\t\t\t\t\tEmailRecoverTitle: pulumi.String(\"example_email_recover_title\"),\n\t\t\t\t\tEmailRecoverContent: pulumi.String(\"example_email_recover_content\"),\n\t\t\t\t\tSmsContent: pulumi.String(\"example_sms_content\"),\n\t\t\t\t\tSmsRecoverContent: pulumi.String(\"example_sms_recover_content\"),\n\t\t\t\t\tTtsContent: pulumi.String(\"example_tts_content\"),\n\t\t\t\t\tTtsRecoverContent: pulumi.String(\"example_tts_recover_content\"),\n\t\t\t\t\tRobotContent: pulumi.String(\"example_robot_content\"),\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.alicloud.arms.AlertContact;\nimport com.pulumi.alicloud.arms.AlertContactArgs;\nimport com.pulumi.alicloud.arms.AlertContactGroup;\nimport com.pulumi.alicloud.arms.AlertContactGroupArgs;\nimport com.pulumi.alicloud.arms.DispatchRule;\nimport com.pulumi.alicloud.arms.DispatchRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleGroupRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleLabelMatchExpressionGridArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleNotifyRuleArgs;\nimport com.pulumi.alicloud.arms.inputs.DispatchRuleNotifyTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AlertContact(\"default\", AlertContactArgs.builder()\n .alertContactName(\"example_value\")\n .email(\"example_value@aaa.com\")\n .build());\n\n var defaultAlertContactGroup = new AlertContactGroup(\"defaultAlertContactGroup\", AlertContactGroupArgs.builder()\n .alertContactGroupName(\"example_value\")\n .contactIds(default_.id())\n .build());\n\n var defaultDispatchRule = new DispatchRule(\"defaultDispatchRule\", DispatchRuleArgs.builder()\n .dispatchRuleName(\"example_value\")\n .dispatchType(\"CREATE_ALERT\")\n .groupRules(DispatchRuleGroupRuleArgs.builder()\n .groupWaitTime(5)\n .groupInterval(15)\n .repeatInterval(100)\n .groupingFields(\"alertname\")\n .build())\n .labelMatchExpressionGrids(DispatchRuleLabelMatchExpressionGridArgs.builder()\n .labelMatchExpressionGroups(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupArgs.builder()\n .labelMatchExpressions(DispatchRuleLabelMatchExpressionGridLabelMatchExpressionGroupLabelMatchExpressionArgs.builder()\n .key(\"_aliyun_arms_involvedObject_kind\")\n .value(\"app\")\n .operator(\"eq\")\n .build())\n .build())\n .build())\n .notifyRules(DispatchRuleNotifyRuleArgs.builder()\n .notifyObjects( \n DispatchRuleNotifyRuleNotifyObjectArgs.builder()\n .notifyObjectId(default_.id())\n .notifyType(\"ARMS_CONTACT\")\n .name(\"example_value\")\n .build(),\n DispatchRuleNotifyRuleNotifyObjectArgs.builder()\n .notifyObjectId(defaultAlertContactGroup.id())\n .notifyType(\"ARMS_CONTACT_GROUP\")\n .name(\"example_value\")\n .build())\n .notifyChannels( \n \"dingTalk\",\n \"wechat\")\n .notifyStartTime(\"10:00\")\n .notifyEndTime(\"23:00\")\n .build())\n .notifyTemplates(DispatchRuleNotifyTemplateArgs.builder()\n .emailTitle(\"example_email_title\")\n .emailContent(\"example_email_content\")\n .emailRecoverTitle(\"example_email_recover_title\")\n .emailRecoverContent(\"example_email_recover_content\")\n .smsContent(\"example_sms_content\")\n .smsRecoverContent(\"example_sms_recover_content\")\n .ttsContent(\"example_tts_content\")\n .ttsRecoverContent(\"example_tts_recover_content\")\n .robotContent(\"example_robot_content\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:arms:AlertContact\n properties:\n alertContactName: example_value\n email: example_value@aaa.com\n defaultAlertContactGroup:\n type: alicloud:arms:AlertContactGroup\n name: default\n properties:\n alertContactGroupName: example_value\n contactIds:\n - ${default.id}\n defaultDispatchRule:\n type: alicloud:arms:DispatchRule\n name: default\n properties:\n dispatchRuleName: example_value\n dispatchType: CREATE_ALERT\n groupRules:\n - groupWaitTime: 5\n groupInterval: 15\n repeatInterval: 100\n groupingFields:\n - alertname\n labelMatchExpressionGrids:\n - labelMatchExpressionGroups:\n - labelMatchExpressions:\n - key: _aliyun_arms_involvedObject_kind\n value: app\n operator: eq\n notifyRules:\n - notifyObjects:\n - notifyObjectId: ${default.id}\n notifyType: ARMS_CONTACT\n name: example_value\n - notifyObjectId: ${defaultAlertContactGroup.id}\n notifyType: ARMS_CONTACT_GROUP\n name: example_value\n notifyChannels:\n - dingTalk\n - wechat\n notifyStartTime: 10:00\n notifyEndTime: 23:00\n notifyTemplates:\n - emailTitle: example_email_title\n emailContent: example_email_content\n emailRecoverTitle: example_email_recover_title\n emailRecoverContent: example_email_recover_content\n smsContent: example_sms_content\n smsRecoverContent: example_sms_recover_content\n ttsContent: example_tts_content\n ttsRecoverContent: example_tts_recover_content\n robotContent: example_robot_content\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/dispatchRule:DispatchRule example \u003cid\u003e\n```\n\n", "properties": { "dispatchRuleName": { "type": "string", @@ -106535,7 +108388,7 @@ } }, "alicloud:arms/envCustomJob:EnvCustomJob": { - "description": "Provides a ARMS Env Custom Job resource. Custom jobs in the arms environment.\n\nFor information about ARMS Env Custom Job and how to use it, see [What is Env Custom Job](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvcustomjob).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst env_ecs = new alicloud.arms.Environment(\"env-ecs\", {\n environmentType: \"ECS\",\n environmentName: `terraform-example-${_default.result}`,\n bindResourceId: vpc.id,\n environmentSubType: \"ECS\",\n});\nconst defaultEnvCustomJob = new alicloud.arms.EnvCustomJob(\"default\", {\n status: \"run\",\n environmentId: env_ecs.id,\n envCustomJobName: name,\n configYaml: `scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n`,\n aliyunLang: \"en\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nenv_ecs = alicloud.arms.Environment(\"env-ecs\",\n environment_type=\"ECS\",\n environment_name=f\"terraform-example-{default['result']}\",\n bind_resource_id=vpc.id,\n environment_sub_type=\"ECS\")\ndefault_env_custom_job = alicloud.arms.EnvCustomJob(\"default\",\n status=\"run\",\n environment_id=env_ecs.id,\n env_custom_job_name=name,\n config_yaml=\"\"\"scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n\"\"\",\n aliyun_lang=\"en\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var env_ecs = new AliCloud.Arms.Environment(\"env-ecs\", new()\n {\n EnvironmentType = \"ECS\",\n EnvironmentName = $\"terraform-example-{@default.Result}\",\n BindResourceId = vpc.Id,\n EnvironmentSubType = \"ECS\",\n });\n\n var defaultEnvCustomJob = new AliCloud.Arms.EnvCustomJob(\"default\", new()\n {\n Status = \"run\",\n EnvironmentId = env_ecs.Id,\n EnvCustomJobName = name,\n ConfigYaml = @\"scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n\",\n AliyunLang = \"en\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tenv_ecs, err := arms.NewEnvironment(ctx, \"env-ecs\", \u0026arms.EnvironmentArgs{\n\t\t\tEnvironmentType: pulumi.String(\"ECS\"),\n\t\t\tEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tBindResourceId: vpc.ID(),\n\t\t\tEnvironmentSubType: pulumi.String(\"ECS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewEnvCustomJob(ctx, \"default\", \u0026arms.EnvCustomJobArgs{\n\t\t\tStatus: pulumi.String(\"run\"),\n\t\t\tEnvironmentId: env_ecs.ID(),\n\t\t\tEnvCustomJobName: pulumi.String(name),\n\t\t\tConfigYaml: pulumi.String(`scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n`),\n\t\t\tAliyunLang: pulumi.String(\"en\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvCustomJob;\nimport com.pulumi.alicloud.arms.EnvCustomJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var env_ecs = new Environment(\"env-ecs\", EnvironmentArgs.builder()\n .environmentType(\"ECS\")\n .environmentName(String.format(\"terraform-example-%s\", default_.result()))\n .bindResourceId(vpc.id())\n .environmentSubType(\"ECS\")\n .build());\n\n var defaultEnvCustomJob = new EnvCustomJob(\"defaultEnvCustomJob\", EnvCustomJobArgs.builder()\n .status(\"run\")\n .environmentId(env_ecs.id())\n .envCustomJobName(name)\n .configYaml(\"\"\"\nscrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n \"\"\")\n .aliyunLang(\"en\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n env-ecs:\n type: alicloud:arms:Environment\n properties:\n environmentType: ECS\n environmentName: terraform-example-${default.result}\n bindResourceId: ${vpc.id}\n environmentSubType: ECS\n defaultEnvCustomJob:\n type: alicloud:arms:EnvCustomJob\n name: default\n properties:\n status: run\n environmentId: ${[\"env-ecs\"].id}\n envCustomJobName: ${name}\n configYaml: |\n scrape_configs:\n - job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n aliyunLang: en\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Env Custom Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envCustomJob:EnvCustomJob example \u003cenvironment_id\u003e:\u003cenv_custom_job_name\u003e\n```\n\n", + "description": "Provides a ARMS Env Custom Job resource. Custom jobs in the arms environment.\n\nFor information about ARMS Env Custom Job and how to use it, see [What is Env Custom Job](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvcustomjob).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst env_ecs = new alicloud.arms.Environment(\"env-ecs\", {\n environmentType: \"ECS\",\n environmentName: `terraform-example-${_default.result}`,\n bindResourceId: vpc.id,\n environmentSubType: \"ECS\",\n});\nconst defaultEnvCustomJob = new alicloud.arms.EnvCustomJob(\"default\", {\n status: \"run\",\n environmentId: env_ecs.id,\n envCustomJobName: name,\n configYaml: `scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n`,\n aliyunLang: \"en\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nenv_ecs = alicloud.arms.Environment(\"env-ecs\",\n environment_type=\"ECS\",\n environment_name=f\"terraform-example-{default['result']}\",\n bind_resource_id=vpc.id,\n environment_sub_type=\"ECS\")\ndefault_env_custom_job = alicloud.arms.EnvCustomJob(\"default\",\n status=\"run\",\n environment_id=env_ecs.id,\n env_custom_job_name=name,\n config_yaml=\"\"\"scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n\"\"\",\n aliyun_lang=\"en\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var env_ecs = new AliCloud.Arms.Environment(\"env-ecs\", new()\n {\n EnvironmentType = \"ECS\",\n EnvironmentName = $\"terraform-example-{@default.Result}\",\n BindResourceId = vpc.Id,\n EnvironmentSubType = \"ECS\",\n });\n\n var defaultEnvCustomJob = new AliCloud.Arms.EnvCustomJob(\"default\", new()\n {\n Status = \"run\",\n EnvironmentId = env_ecs.Id,\n EnvCustomJobName = name,\n ConfigYaml = @\"scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n\",\n AliyunLang = \"en\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tenv_ecs, err := arms.NewEnvironment(ctx, \"env-ecs\", \u0026arms.EnvironmentArgs{\n\t\t\tEnvironmentType: pulumi.String(\"ECS\"),\n\t\t\tEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tBindResourceId: vpc.ID(),\n\t\t\tEnvironmentSubType: pulumi.String(\"ECS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewEnvCustomJob(ctx, \"default\", \u0026arms.EnvCustomJobArgs{\n\t\t\tStatus: pulumi.String(\"run\"),\n\t\t\tEnvironmentId: env_ecs.ID(),\n\t\t\tEnvCustomJobName: pulumi.String(name),\n\t\t\tConfigYaml: pulumi.String(`scrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n`),\n\t\t\tAliyunLang: pulumi.String(\"en\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvCustomJob;\nimport com.pulumi.alicloud.arms.EnvCustomJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var env_ecs = new Environment(\"env-ecs\", EnvironmentArgs.builder()\n .environmentType(\"ECS\")\n .environmentName(String.format(\"terraform-example-%s\", default_.result()))\n .bindResourceId(vpc.id())\n .environmentSubType(\"ECS\")\n .build());\n\n var defaultEnvCustomJob = new EnvCustomJob(\"defaultEnvCustomJob\", EnvCustomJobArgs.builder()\n .status(\"run\")\n .environmentId(env_ecs.id())\n .envCustomJobName(name)\n .configYaml(\"\"\"\nscrape_configs:\n- job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n \"\"\")\n .aliyunLang(\"en\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n env-ecs:\n type: alicloud:arms:Environment\n properties:\n environmentType: ECS\n environmentName: terraform-example-${default.result}\n bindResourceId: ${vpc.id}\n environmentSubType: ECS\n defaultEnvCustomJob:\n type: alicloud:arms:EnvCustomJob\n name: default\n properties:\n status: run\n environmentId: ${[\"env-ecs\"].id}\n envCustomJobName: ${name}\n configYaml: |\n scrape_configs:\n - job_name: job-demo1\n honor_timestamps: false\n honor_labels: false\n scrape_interval: 30s\n scheme: http\n metrics_path: /metric\n static_configs:\n - targets:\n - 127.0.0.1:9090\n aliyunLang: en\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Env Custom Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envCustomJob:EnvCustomJob example \u003cenvironment_id\u003e:\u003cenv_custom_job_name\u003e\n```\n\n", "properties": { "aliyunLang": { "type": "string", @@ -106623,7 +108476,7 @@ } }, "alicloud:arms/envFeature:EnvFeature": { - "description": "Provides a ARMS Env Feature resource. Feature of the arms environment.\n\nFor information about ARMS Env Feature and how to use it, see [What is Env Feature](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-installenvironmentfeature).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultEnvFeature = new alicloud.arms.EnvFeature(\"default\", {\n envFeatureName: \"metric-agent\",\n environmentId: defaultEnvironment.id,\n featureVersion: \"1.1.17\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_env_feature = alicloud.arms.EnvFeature(\"default\",\n env_feature_name=\"metric-agent\",\n environment_id=default_environment.id,\n feature_version=\"1.1.17\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultEnvFeature = new AliCloud.Arms.EnvFeature(\"default\", new()\n {\n EnvFeatureName = \"metric-agent\",\n EnvironmentId = defaultEnvironment.Id,\n FeatureVersion = \"1.1.17\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvFeature(ctx, \"default\", \u0026arms.EnvFeatureArgs{\nEnvFeatureName: pulumi.String(\"metric-agent\"),\nEnvironmentId: defaultEnvironment.ID(),\nFeatureVersion: pulumi.String(\"1.1.17\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvFeature;\nimport com.pulumi.alicloud.arms.EnvFeatureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultEnvFeature = new EnvFeature(\"defaultEnvFeature\", EnvFeatureArgs.builder()\n .envFeatureName(\"metric-agent\")\n .environmentId(defaultEnvironment.id())\n .featureVersion(\"1.1.17\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultEnvFeature:\n type: alicloud:arms:EnvFeature\n name: default\n properties:\n envFeatureName: metric-agent\n environmentId: ${defaultEnvironment.id}\n featureVersion: 1.1.17\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Env Feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envFeature:EnvFeature example \u003cenvironment_id\u003e:\u003cenv_feature_name\u003e\n```\n\n", + "description": "Provides a ARMS Env Feature resource. Feature of the arms environment.\n\nFor information about ARMS Env Feature and how to use it, see [What is Env Feature](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-installenvironmentfeature).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultEnvFeature = new alicloud.arms.EnvFeature(\"default\", {\n envFeatureName: \"metric-agent\",\n environmentId: defaultEnvironment.id,\n featureVersion: \"1.1.17\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_env_feature = alicloud.arms.EnvFeature(\"default\",\n env_feature_name=\"metric-agent\",\n environment_id=default_environment.id,\n feature_version=\"1.1.17\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultEnvFeature = new AliCloud.Arms.EnvFeature(\"default\", new()\n {\n EnvFeatureName = \"metric-agent\",\n EnvironmentId = defaultEnvironment.Id,\n FeatureVersion = \"1.1.17\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvFeature(ctx, \"default\", \u0026arms.EnvFeatureArgs{\nEnvFeatureName: pulumi.String(\"metric-agent\"),\nEnvironmentId: defaultEnvironment.ID(),\nFeatureVersion: pulumi.String(\"1.1.17\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvFeature;\nimport com.pulumi.alicloud.arms.EnvFeatureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultEnvFeature = new EnvFeature(\"defaultEnvFeature\", EnvFeatureArgs.builder()\n .envFeatureName(\"metric-agent\")\n .environmentId(defaultEnvironment.id())\n .featureVersion(\"1.1.17\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultEnvFeature:\n type: alicloud:arms:EnvFeature\n name: default\n properties:\n envFeatureName: metric-agent\n environmentId: ${defaultEnvironment.id}\n featureVersion: 1.1.17\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Env Feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envFeature:EnvFeature example \u003cenvironment_id\u003e:\u003cenv_feature_name\u003e\n```\n\n", "properties": { "envFeatureName": { "type": "string", @@ -106704,7 +108557,7 @@ } }, "alicloud:arms/envPodMonitor:EnvPodMonitor": { - "description": "Provides a ARMS Env Pod Monitor resource. PodMonitor for the arms environment.\n\nFor information about ARMS Env Pod Monitor and how to use it, see [What is Env Pod Monitor](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvpodmonitor).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.n1\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyName,\n desiredSize: \"2\",\n});\nconst environment_cs = new alicloud.arms.Environment(\"environment-cs\", {\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ACK\",\n});\nconst defaultEnvPodMonitor = new alicloud.arms.EnvPodMonitor(\"default\", {\n aliyunLang: \"en\",\n environmentId: environment_cs.id,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.n1\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_name,\n desired_size=\"2\")\nenvironment_cs = alicloud.arms.Environment(\"environment-cs\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ACK\")\ndefault_env_pod_monitor = alicloud.arms.EnvPodMonitor(\"default\",\n aliyun_lang=\"en\",\n environment_id=environment_cs.id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.n1\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyName,\n DesiredSize = \"2\",\n });\n\n var environment_cs = new AliCloud.Arms.Environment(\"environment-cs\", new()\n {\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ACK\",\n });\n\n var defaultEnvPodMonitor = new AliCloud.Arms.EnvPodMonitor(\"default\", new()\n {\n AliyunLang = \"en\",\n EnvironmentId = environment_cs.Id,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.n1\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\nenvironment_cs, err := arms.NewEnvironment(ctx, \"environment-cs\", \u0026arms.EnvironmentArgs{\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ACK\"),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvPodMonitor(ctx, \"default\", \u0026arms.EnvPodMonitorArgs{\nAliyunLang: pulumi.String(\"en\"),\nEnvironmentId: environment_cs.ID(),\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n`),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvPodMonitor;\nimport com.pulumi.alicloud.arms.EnvPodMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.n1\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyName())\n .desiredSize(\"2\")\n .build());\n\n var environment_cs = new Environment(\"environment-cs\", EnvironmentArgs.builder()\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ACK\")\n .build());\n\n var defaultEnvPodMonitor = new EnvPodMonitor(\"defaultEnvPodMonitor\", EnvPodMonitorArgs.builder()\n .aliyunLang(\"en\")\n .environmentId(environment_cs.id())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyName}\n desiredSize: 2\n environment-cs:\n type: alicloud:arms:Environment\n properties:\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ACK\n defaultEnvPodMonitor:\n type: alicloud:arms:EnvPodMonitor\n name: default\n properties:\n aliyunLang: en\n environmentId: ${[\"environment-cs\"].id}\n configYaml: \"apiVersion: monitoring.coreos.com/v1\\nkind: PodMonitor\\nmetadata:\\n name: arms-admin-pm1\\n namespace: arms-prom\\n annotations:\\n arms.prometheus.io/discovery: 'true'\\n o11y.aliyun.com/addon-name: mysql\\n o11y.aliyun.com/addon-version: 1.0.2\\n o11y.aliyun.com/release-name: mysql2\\nspec:\\n selector:\\n matchLabels:\\n app: arms-prometheus-ack-arms-prometheus\\n release: arms-prometheus\\n namespaceSelector:\\n any: true \\n podMetricsEndpoints:\\n - interval: 30s\\n targetPort: 9335\\n path: /metrics\\n - interval: 11s\\n targetPort: 9335\\n path: /metric\\n\"\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.n1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Env Pod Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envPodMonitor:EnvPodMonitor example \u003cenvironment_id\u003e:\u003cnamespace\u003e:\u003cenv_pod_monitor_name\u003e\n```\n\n", + "description": "Provides a ARMS Env Pod Monitor resource. PodMonitor for the arms environment.\n\nFor information about ARMS Env Pod Monitor and how to use it, see [What is Env Pod Monitor](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvpodmonitor).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.n1\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyName,\n desiredSize: \"2\",\n});\nconst environment_cs = new alicloud.arms.Environment(\"environment-cs\", {\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ACK\",\n});\nconst defaultEnvPodMonitor = new alicloud.arms.EnvPodMonitor(\"default\", {\n aliyunLang: \"en\",\n environmentId: environment_cs.id,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.n1\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_name,\n desired_size=\"2\")\nenvironment_cs = alicloud.arms.Environment(\"environment-cs\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ACK\")\ndefault_env_pod_monitor = alicloud.arms.EnvPodMonitor(\"default\",\n aliyun_lang=\"en\",\n environment_id=environment_cs.id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.n1\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyName,\n DesiredSize = \"2\",\n });\n\n var environment_cs = new AliCloud.Arms.Environment(\"environment-cs\", new()\n {\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ACK\",\n });\n\n var defaultEnvPodMonitor = new AliCloud.Arms.EnvPodMonitor(\"default\", new()\n {\n AliyunLang = \"en\",\n EnvironmentId = environment_cs.Id,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.n1\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\nenvironment_cs, err := arms.NewEnvironment(ctx, \"environment-cs\", \u0026arms.EnvironmentArgs{\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ACK\"),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvPodMonitor(ctx, \"default\", \u0026arms.EnvPodMonitorArgs{\nAliyunLang: pulumi.String(\"en\"),\nEnvironmentId: environment_cs.ID(),\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n`),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvPodMonitor;\nimport com.pulumi.alicloud.arms.EnvPodMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.n1\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyName())\n .desiredSize(\"2\")\n .build());\n\n var environment_cs = new Environment(\"environment-cs\", EnvironmentArgs.builder()\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ACK\")\n .build());\n\n var defaultEnvPodMonitor = new EnvPodMonitor(\"defaultEnvPodMonitor\", EnvPodMonitorArgs.builder()\n .aliyunLang(\"en\")\n .environmentId(environment_cs.id())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n name: arms-admin-pm1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.2\n o11y.aliyun.com/release-name: mysql2\nspec:\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n release: arms-prometheus\n namespaceSelector:\n any: true \n podMetricsEndpoints:\n - interval: 30s\n targetPort: 9335\n path: /metrics\n - interval: 11s\n targetPort: 9335\n path: /metric\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyName}\n desiredSize: 2\n environment-cs:\n type: alicloud:arms:Environment\n properties:\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ACK\n defaultEnvPodMonitor:\n type: alicloud:arms:EnvPodMonitor\n name: default\n properties:\n aliyunLang: en\n environmentId: ${[\"environment-cs\"].id}\n configYaml: \"apiVersion: monitoring.coreos.com/v1\\nkind: PodMonitor\\nmetadata:\\n name: arms-admin-pm1\\n namespace: arms-prom\\n annotations:\\n arms.prometheus.io/discovery: 'true'\\n o11y.aliyun.com/addon-name: mysql\\n o11y.aliyun.com/addon-version: 1.0.2\\n o11y.aliyun.com/release-name: mysql2\\nspec:\\n selector:\\n matchLabels:\\n app: arms-prometheus-ack-arms-prometheus\\n release: arms-prometheus\\n namespaceSelector:\\n any: true \\n podMetricsEndpoints:\\n - interval: 30s\\n targetPort: 9335\\n path: /metrics\\n - interval: 11s\\n targetPort: 9335\\n path: /metric\\n\"\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.n1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Env Pod Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envPodMonitor:EnvPodMonitor example \u003cenvironment_id\u003e:\u003cnamespace\u003e:\u003cenv_pod_monitor_name\u003e\n```\n\n", "properties": { "aliyunLang": { "type": "string", @@ -106790,7 +108643,7 @@ } }, "alicloud:arms/envServiceMonitor:EnvServiceMonitor": { - "description": "Provides a ARMS Env Service Monitor resource. ServiceMonitor for the arms environment.\n\nFor information about ARMS Env Service Monitor and how to use it, see [What is Env Service Monitor](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvservicemonitor).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.n1\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultEnvServiceMonitor = new alicloud.arms.EnvServiceMonitor(\"default\", {\n environmentId: defaultEnvironment.id,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n`,\n aliyunLang: \"zh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.n1\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_env_service_monitor = alicloud.arms.EnvServiceMonitor(\"default\",\n environment_id=default_environment.id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n\"\"\",\n aliyun_lang=\"zh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.n1\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultEnvServiceMonitor = new AliCloud.Arms.EnvServiceMonitor(\"default\", new()\n {\n EnvironmentId = defaultEnvironment.Id,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n\",\n AliyunLang = \"zh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.n1\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvServiceMonitor(ctx, \"default\", \u0026arms.EnvServiceMonitorArgs{\nEnvironmentId: defaultEnvironment.ID(),\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n`),\nAliyunLang: pulumi.String(\"zh\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvServiceMonitor;\nimport com.pulumi.alicloud.arms.EnvServiceMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.n1\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultEnvServiceMonitor = new EnvServiceMonitor(\"defaultEnvServiceMonitor\", EnvServiceMonitorArgs.builder()\n .environmentId(defaultEnvironment.id())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n \"\"\")\n .aliyunLang(\"zh\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultEnvServiceMonitor:\n type: alicloud:arms:EnvServiceMonitor\n name: default\n properties:\n environmentId: ${defaultEnvironment.id}\n configYaml: |\n apiVersion: monitoring.coreos.com/v1\n kind: ServiceMonitor\n metadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\n spec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n aliyunLang: zh\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.n1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Env Service Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envServiceMonitor:EnvServiceMonitor example \u003cenvironment_id\u003e:\u003cnamespace\u003e:\u003cenv_service_monitor_name\u003e\n```\n\n", + "description": "Provides a ARMS Env Service Monitor resource. ServiceMonitor for the arms environment.\n\nFor information about ARMS Env Service Monitor and how to use it, see [What is Env Service Monitor](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvservicemonitor).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.n1\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\nconst defaultEnvServiceMonitor = new alicloud.arms.EnvServiceMonitor(\"default\", {\n environmentId: defaultEnvironment.id,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n`,\n aliyunLang: \"zh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.n1\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\ndefault_env_service_monitor = alicloud.arms.EnvServiceMonitor(\"default\",\n environment_id=default_environment.id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n\"\"\",\n aliyun_lang=\"zh\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.n1\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultEnvServiceMonitor = new AliCloud.Arms.EnvServiceMonitor(\"default\", new()\n {\n EnvironmentId = defaultEnvironment.Id,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n\",\n AliyunLang = \"zh\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.n1\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultEnvironment, err := arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvServiceMonitor(ctx, \"default\", \u0026arms.EnvServiceMonitorArgs{\nEnvironmentId: defaultEnvironment.ID(),\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n`),\nAliyunLang: pulumi.String(\"zh\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport com.pulumi.alicloud.arms.EnvServiceMonitor;\nimport com.pulumi.alicloud.arms.EnvServiceMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.n1\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultEnvServiceMonitor = new EnvServiceMonitor(\"defaultEnvServiceMonitor\", EnvServiceMonitorArgs.builder()\n .environmentId(defaultEnvironment.id())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\nspec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n \"\"\")\n .aliyunLang(\"zh\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\n defaultEnvServiceMonitor:\n type: alicloud:arms:EnvServiceMonitor\n name: default\n properties:\n environmentId: ${defaultEnvironment.id}\n configYaml: |\n apiVersion: monitoring.coreos.com/v1\n kind: ServiceMonitor\n metadata:\n name: arms-admin1\n namespace: arms-prom\n annotations:\n arms.prometheus.io/discovery: 'true'\n o11y.aliyun.com/addon-name: mysql\n o11y.aliyun.com/addon-version: 1.0.1\n o11y.aliyun.com/release-name: mysql1\n spec:\n endpoints:\n - interval: 30s\n port: operator\n path: /metrics\n - interval: 10s\n port: operator1\n path: /metrics\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: arms-prometheus-ack-arms-prometheus\n aliyunLang: zh\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.n1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Env Service Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/envServiceMonitor:EnvServiceMonitor example \u003cenvironment_id\u003e:\u003cnamespace\u003e:\u003cenv_service_monitor_name\u003e\n```\n\n", "properties": { "aliyunLang": { "type": "string", @@ -106876,7 +108729,7 @@ } }, "alicloud:arms/environment:Environment": { - "description": "Provides a ARMS Environment resource. The arms environment.\n\nFor information about ARMS Environment and how to use it, see [What is Environment](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvironment).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Environment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/environment:Environment example \u003cid\u003e\n```\n\n", + "description": "Provides a ARMS Environment resource. The arms environment.\n\nFor information about ARMS Environment and how to use it, see [What is Environment](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createenvironment).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: name,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n description: name,\n vpcId: vpc.id,\n vswitchName: name,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n cidrBlock: vpc.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst _default = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `terraform-example-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [_default.apply(_default =\u003e _default.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultEnvironment = new alicloud.arms.Environment(\"default\", {\n bindResourceId: defaultNodePool.clusterId,\n environmentSubType: \"ManagedKubernetes\",\n environmentType: \"CS\",\n environmentName: `terraform-example-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nvpc = alicloud.vpc.Network(\"vpc\",\n description=name,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n description=name,\n vpc_id=vpc.id,\n vswitch_name=name,\n zone_id=enhanced.zones[0].zone_id,\n cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result))\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"terraform-example-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_environment = alicloud.arms.Environment(\"default\",\n bind_resource_id=default_node_pool.cluster_id,\n environment_sub_type=\"ManagedKubernetes\",\n environment_type=\"CS\",\n environment_name=f\"terraform-example-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = name,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Description = name,\n VpcId = vpc.Id,\n VswitchName = name,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CidrBlock = vpc.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultEnvironment = new AliCloud.Arms.Environment(\"default\", new()\n {\n BindResourceId = defaultNodePool.ClusterId,\n EnvironmentSubType = \"ManagedKubernetes\",\n EnvironmentType = \"CS\",\n EnvironmentName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nDescription: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nDescription: pulumi.String(name),\nVpcId: vpc.ID(),\nVswitchName: pulumi.String(name),\nZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\nCidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\n_default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026default.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewEnvironment(ctx, \"default\", \u0026arms.EnvironmentArgs{\nBindResourceId: defaultNodePool.ClusterId,\nEnvironmentSubType: pulumi.String(\"ManagedKubernetes\"),\nEnvironmentType: pulumi.String(\"CS\"),\nEnvironmentName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Environment;\nimport com.pulumi.alicloud.arms.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .description(name)\n .vpcId(vpc.id())\n .vswitchName(name)\n .zoneId(enhanced.zones()[0].zoneId())\n .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var default = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(default_.applyValue(_default_ -\u003e _default_.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultEnvironment = new Environment(\"defaultEnvironment\", EnvironmentArgs.builder()\n .bindResourceId(defaultNodePool.clusterId())\n .environmentSubType(\"ManagedKubernetes\")\n .environmentType(\"CS\")\n .environmentName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${vpc.id}\n vswitchName: ${name}\n zoneId: ${enhanced.zones[0].zoneId}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${vpc.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${default.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultEnvironment:\n type: alicloud:arms:Environment\n name: default\n properties:\n bindResourceId: ${defaultNodePool.clusterId}\n environmentSubType: ManagedKubernetes\n environmentType: CS\n environmentName: terraform-example-${defaultInteger.result}\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Environment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/environment:Environment example \u003cid\u003e\n```\n\n", "properties": { "aliyunLang": { "type": "string", @@ -107033,7 +108886,7 @@ } }, "alicloud:arms/grafanaWorkspace:GrafanaWorkspace": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Grafana Workspace resource.\n\n\n\nFor information about Application Real-Time Monitoring Service (ARMS) Grafana Workspace and how to use it, see [What is Grafana Workspace](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/ListGrafanaWorkspace).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGrafanaWorkspace = new alicloud.arms.GrafanaWorkspace(\"default\", {\n grafanaVersion: \"9.0.x\",\n description: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n grafanaWorkspaceEdition: \"standard\",\n grafanaWorkspaceName: name,\n tags: {\n Created: \"tf\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_grafana_workspace = alicloud.arms.GrafanaWorkspace(\"default\",\n grafana_version=\"9.0.x\",\n description=name,\n resource_group_id=default.ids[0],\n grafana_workspace_edition=\"standard\",\n grafana_workspace_name=name,\n tags={\n \"Created\": \"tf\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGrafanaWorkspace = new AliCloud.Arms.GrafanaWorkspace(\"default\", new()\n {\n GrafanaVersion = \"9.0.x\",\n Description = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n GrafanaWorkspaceEdition = \"standard\",\n GrafanaWorkspaceName = name,\n Tags = \n {\n { \"Created\", \"tf\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewGrafanaWorkspace(ctx, \"default\", \u0026arms.GrafanaWorkspaceArgs{\n\t\t\tGrafanaVersion: pulumi.String(\"9.0.x\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tGrafanaWorkspaceEdition: pulumi.String(\"standard\"),\n\t\t\tGrafanaWorkspaceName: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"tf\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.GrafanaWorkspace;\nimport com.pulumi.alicloud.arms.GrafanaWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultGrafanaWorkspace = new GrafanaWorkspace(\"defaultGrafanaWorkspace\", GrafanaWorkspaceArgs.builder()\n .grafanaVersion(\"9.0.x\")\n .description(name)\n .resourceGroupId(default_.ids()[0])\n .grafanaWorkspaceEdition(\"standard\")\n .grafanaWorkspaceName(name)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"tf\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGrafanaWorkspace:\n type: alicloud:arms:GrafanaWorkspace\n name: default\n properties:\n grafanaVersion: 9.0.x\n description: ${name}\n resourceGroupId: ${default.ids[0]}\n grafanaWorkspaceEdition: standard\n grafanaWorkspaceName: ${name}\n tags:\n Created: tf\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/grafanaWorkspace:GrafanaWorkspace example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Grafana Workspace resource.\n\n\n\nFor information about Application Real-Time Monitoring Service (ARMS) Grafana Workspace and how to use it, see [What is Grafana Workspace](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/ListGrafanaWorkspace).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGrafanaWorkspace = new alicloud.arms.GrafanaWorkspace(\"default\", {\n grafanaVersion: \"9.0.x\",\n description: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n grafanaWorkspaceEdition: \"standard\",\n grafanaWorkspaceName: name,\n tags: {\n Created: \"tf\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_grafana_workspace = alicloud.arms.GrafanaWorkspace(\"default\",\n grafana_version=\"9.0.x\",\n description=name,\n resource_group_id=default.ids[0],\n grafana_workspace_edition=\"standard\",\n grafana_workspace_name=name,\n tags={\n \"Created\": \"tf\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGrafanaWorkspace = new AliCloud.Arms.GrafanaWorkspace(\"default\", new()\n {\n GrafanaVersion = \"9.0.x\",\n Description = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n GrafanaWorkspaceEdition = \"standard\",\n GrafanaWorkspaceName = name,\n Tags = \n {\n { \"Created\", \"tf\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewGrafanaWorkspace(ctx, \"default\", \u0026arms.GrafanaWorkspaceArgs{\n\t\t\tGrafanaVersion: pulumi.String(\"9.0.x\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tGrafanaWorkspaceEdition: pulumi.String(\"standard\"),\n\t\t\tGrafanaWorkspaceName: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"tf\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.GrafanaWorkspace;\nimport com.pulumi.alicloud.arms.GrafanaWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultGrafanaWorkspace = new GrafanaWorkspace(\"defaultGrafanaWorkspace\", GrafanaWorkspaceArgs.builder()\n .grafanaVersion(\"9.0.x\")\n .description(name)\n .resourceGroupId(default_.ids()[0])\n .grafanaWorkspaceEdition(\"standard\")\n .grafanaWorkspaceName(name)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"tf\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGrafanaWorkspace:\n type: alicloud:arms:GrafanaWorkspace\n name: default\n properties:\n grafanaVersion: 9.0.x\n description: ${name}\n resourceGroupId: ${default.ids[0]}\n grafanaWorkspaceEdition: standard\n grafanaWorkspaceName: ${name}\n tags:\n Created: tf\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/grafanaWorkspace:GrafanaWorkspace example \u003cid\u003e\n```\n\n", "properties": { "accountNumber": { "type": "string", @@ -107247,7 +109100,7 @@ } }, "alicloud:arms/integrationExporter:IntegrationExporter": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Integration Exporter resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Integration Exporter and how to use it, see [What is Integration Exporter](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-addprometheusintegration).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\nconst defaultIntegrationExporter = new alicloud.arms.IntegrationExporter(\"default\", {\n clusterId: defaultPrometheus.id,\n integrationType: \"kafka\",\n param: \"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\ndefault_integration_exporter = alicloud.arms.IntegrationExporter(\"default\",\n cluster_id=default_prometheus.id,\n integration_type=\"kafka\",\n param=\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n var defaultIntegrationExporter = new AliCloud.Arms.IntegrationExporter(\"default\", new()\n {\n ClusterId = defaultPrometheus.Id,\n IntegrationType = \"kafka\",\n Param = \"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewIntegrationExporter(ctx, \"default\", \u0026arms.IntegrationExporterArgs{\n\t\t\tClusterId: defaultPrometheus.ID(),\n\t\t\tIntegrationType: pulumi.String(\"kafka\"),\n\t\t\tParam: pulumi.String(\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.IntegrationExporter;\nimport com.pulumi.alicloud.arms.IntegrationExporterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n var defaultIntegrationExporter = new IntegrationExporter(\"defaultIntegrationExporter\", IntegrationExporterArgs.builder()\n .clusterId(defaultPrometheus.id())\n .integrationType(\"kafka\")\n .param(\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/integrationExporter:IntegrationExporter example \u003ccluster_id\u003e:\u003cintegration_type\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Integration Exporter resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Integration Exporter and how to use it, see [What is Integration Exporter](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-addprometheusintegration).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\nconst defaultIntegrationExporter = new alicloud.arms.IntegrationExporter(\"default\", {\n clusterId: defaultPrometheus.id,\n integrationType: \"kafka\",\n param: \"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\ndefault_integration_exporter = alicloud.arms.IntegrationExporter(\"default\",\n cluster_id=default_prometheus.id,\n integration_type=\"kafka\",\n param=\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n var defaultIntegrationExporter = new AliCloud.Arms.IntegrationExporter(\"default\", new()\n {\n ClusterId = defaultPrometheus.Id,\n IntegrationType = \"kafka\",\n Param = \"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewIntegrationExporter(ctx, \"default\", \u0026arms.IntegrationExporterArgs{\n\t\t\tClusterId: defaultPrometheus.ID(),\n\t\t\tIntegrationType: pulumi.String(\"kafka\"),\n\t\t\tParam: pulumi.String(\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.IntegrationExporter;\nimport com.pulumi.alicloud.arms.IntegrationExporterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n var defaultIntegrationExporter = new IntegrationExporter(\"defaultIntegrationExporter\", IntegrationExporterArgs.builder()\n .clusterId(defaultPrometheus.id())\n .integrationType(\"kafka\")\n .param(\"{\\\"tls_insecure-skip-tls-verify\\\":\\\"none=tls.insecure-skip-tls-verify\\\",\\\"tls_enabled\\\":\\\"none=tls.enabled\\\",\\\"sasl_mechanism\\\":\\\"\\\",\\\"name\\\":\\\"kafka1\\\",\\\"sasl_enabled\\\":\\\"none=sasl.enabled\\\",\\\"ip_ports\\\":\\\"abc:888\\\",\\\"scrape_interval\\\":30,\\\"version\\\":\\\"0.10.1.0\\\"}\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/integrationExporter:IntegrationExporter example \u003ccluster_id\u003e:\u003cintegration_type\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -107319,7 +109172,7 @@ } }, "alicloud:arms/prometheus:Prometheus": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Prometheus resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Prometheus and how to use it, see [What is Prometheus](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createprometheusinstance).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheus:Prometheus example \u003cid\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Prometheus resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Prometheus and how to use it, see [What is Prometheus](https://www.alibabacloud.com/help/en/arms/developer-reference/api-arms-2019-08-08-createprometheusinstance).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheus:Prometheus example \u003cid\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -107484,7 +109337,7 @@ } }, "alicloud:arms/prometheusAlertRule:PrometheusAlertRule": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule and how to use it, see [What is Prometheus Alert Rule](https://www.alibabacloud.com/help/en/arms/prometheus-monitoring/api-arms-2019-08-08-createprometheusalertrule).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"remote-write\",\n clusterName: `${name}-${_default.result}`,\n grafanaInstanceId: \"free\",\n});\nconst example = new alicloud.arms.PrometheusAlertRule(\"example\", {\n clusterId: defaultPrometheus.clusterId,\n duration: \"1\",\n expression: \"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n message: \"node available memory is less than 10%\",\n prometheusAlertRuleName: name,\n notifyType: \"ALERT_MANAGER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"remote-write\",\n cluster_name=f\"{name}-{default['result']}\",\n grafana_instance_id=\"free\")\nexample = alicloud.arms.PrometheusAlertRule(\"example\",\n cluster_id=default_prometheus.cluster_id,\n duration=\"1\",\n expression=\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n message=\"node available memory is less than 10%\",\n prometheus_alert_rule_name=name,\n notify_type=\"ALERT_MANAGER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"remote-write\",\n ClusterName = $\"{name}-{@default.Result}\",\n GrafanaInstanceId = \"free\",\n });\n\n var example = new AliCloud.Arms.PrometheusAlertRule(\"example\", new()\n {\n ClusterId = defaultPrometheus.ClusterId,\n Duration = \"1\",\n Expression = \"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n Message = \"node available memory is less than 10%\",\n PrometheusAlertRuleName = name,\n NotifyType = \"ALERT_MANAGER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"remote-write\"),\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewPrometheusAlertRule(ctx, \"example\", \u0026arms.PrometheusAlertRuleArgs{\n\t\t\tClusterId: defaultPrometheus.ClusterId,\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tExpression: pulumi.String(\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\"),\n\t\t\tMessage: pulumi.String(\"node available memory is less than 10%\"),\n\t\t\tPrometheusAlertRuleName: pulumi.String(name),\n\t\t\tNotifyType: pulumi.String(\"ALERT_MANAGER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.PrometheusAlertRule;\nimport com.pulumi.alicloud.arms.PrometheusAlertRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"remote-write\")\n .clusterName(String.format(\"%s-%s\", name,default_.result()))\n .grafanaInstanceId(\"free\")\n .build());\n\n var example = new PrometheusAlertRule(\"example\", PrometheusAlertRuleArgs.builder()\n .clusterId(defaultPrometheus.clusterId())\n .duration(\"1\")\n .expression(\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\")\n .message(\"node available memory is less than 10%\")\n .prometheusAlertRuleName(name)\n .notifyType(\"ALERT_MANAGER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultPrometheus:\n type: alicloud:arms:Prometheus\n name: default\n properties:\n clusterType: remote-write\n clusterName: ${name}-${default.result}\n grafanaInstanceId: free\n example:\n type: alicloud:arms:PrometheusAlertRule\n properties:\n clusterId: ${defaultPrometheus.clusterId}\n duration: 1\n expression: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\n message: node available memory is less than 10%\n prometheusAlertRuleName: ${name}\n notifyType: ALERT_MANAGER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheusAlertRule:PrometheusAlertRule example \u003ccluster_id\u003e:\u003cprometheus_alert_rule_id\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule and how to use it, see [What is Prometheus Alert Rule](https://www.alibabacloud.com/help/en/arms/prometheus-monitoring/api-arms-2019-08-08-createprometheusalertrule).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"remote-write\",\n clusterName: `${name}-${_default.result}`,\n grafanaInstanceId: \"free\",\n});\nconst example = new alicloud.arms.PrometheusAlertRule(\"example\", {\n clusterId: defaultPrometheus.clusterId,\n duration: \"1\",\n expression: \"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n message: \"node available memory is less than 10%\",\n prometheusAlertRuleName: name,\n notifyType: \"ALERT_MANAGER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"remote-write\",\n cluster_name=f\"{name}-{default['result']}\",\n grafana_instance_id=\"free\")\nexample = alicloud.arms.PrometheusAlertRule(\"example\",\n cluster_id=default_prometheus.cluster_id,\n duration=\"1\",\n expression=\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n message=\"node available memory is less than 10%\",\n prometheus_alert_rule_name=name,\n notify_type=\"ALERT_MANAGER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"remote-write\",\n ClusterName = $\"{name}-{@default.Result}\",\n GrafanaInstanceId = \"free\",\n });\n\n var example = new AliCloud.Arms.PrometheusAlertRule(\"example\", new()\n {\n ClusterId = defaultPrometheus.ClusterId,\n Duration = \"1\",\n Expression = \"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\",\n Message = \"node available memory is less than 10%\",\n PrometheusAlertRuleName = name,\n NotifyType = \"ALERT_MANAGER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"remote-write\"),\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewPrometheusAlertRule(ctx, \"example\", \u0026arms.PrometheusAlertRuleArgs{\n\t\t\tClusterId: defaultPrometheus.ClusterId,\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tExpression: pulumi.String(\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\"),\n\t\t\tMessage: pulumi.String(\"node available memory is less than 10%\"),\n\t\t\tPrometheusAlertRuleName: pulumi.String(name),\n\t\t\tNotifyType: pulumi.String(\"ALERT_MANAGER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.PrometheusAlertRule;\nimport com.pulumi.alicloud.arms.PrometheusAlertRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"remote-write\")\n .clusterName(String.format(\"%s-%s\", name,default_.result()))\n .grafanaInstanceId(\"free\")\n .build());\n\n var example = new PrometheusAlertRule(\"example\", PrometheusAlertRuleArgs.builder()\n .clusterId(defaultPrometheus.clusterId())\n .duration(\"1\")\n .expression(\"node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\")\n .message(\"node available memory is less than 10%\")\n .prometheusAlertRuleName(name)\n .notifyType(\"ALERT_MANAGER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultPrometheus:\n type: alicloud:arms:Prometheus\n name: default\n properties:\n clusterType: remote-write\n clusterName: ${name}-${default.result}\n grafanaInstanceId: free\n example:\n type: alicloud:arms:PrometheusAlertRule\n properties:\n clusterId: ${defaultPrometheus.clusterId}\n duration: 1\n expression: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 \u003c 10\n message: node available memory is less than 10%\n prometheusAlertRuleName: ${name}\n notifyType: ALERT_MANAGER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheusAlertRule:PrometheusAlertRule example \u003ccluster_id\u003e:\u003cprometheus_alert_rule_id\u003e\n```\n\n", "properties": { "annotations": { "type": "array", @@ -107680,7 +109533,7 @@ } }, "alicloud:arms/prometheusMonitoring:PrometheusMonitoring": { - "description": "Provides a ARMS Prometheus Monitoring resource. Including serviceMonitor, podMonitor, customJob, probe and other four types of monitoring.\n\nFor information about ARMS Prometheus Monitoring and how to use it, see [What is Prometheus Monitoring](https://www.alibabacloud.com/help/en/arms/prometheus-monitoring/api-arms-2019-08-08-createprometheusmonitoring).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst defaultGetInstanceTypes = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [defaultGetInstanceTypes.apply(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"aliyun-cs\",\n grafanaInstanceId: \"free\",\n clusterId: defaultNodePool.clusterId,\n});\nconst defaultPrometheusMonitoring = new alicloud.arms.PrometheusMonitoring(\"default\", {\n status: \"run\",\n type: \"serviceMonitor\",\n clusterId: defaultPrometheus.clusterId,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result),\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault_get_instance_types = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"aliyun-cs\",\n grafana_instance_id=\"free\",\n cluster_id=default_node_pool.cluster_id)\ndefault_prometheus_monitoring = alicloud.arms.PrometheusMonitoring(\"default\",\n status=\"run\",\n type=\"serviceMonitor\",\n cluster_id=default_prometheus.cluster_id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"aliyun-cs\",\n GrafanaInstanceId = \"free\",\n ClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultPrometheusMonitoring = new AliCloud.Arms.PrometheusMonitoring(\"default\", new()\n {\n Status = \"run\",\n Type = \"serviceMonitor\",\n ClusterId = defaultPrometheus.ClusterId,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.String(name),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(defaultGetInstanceTypes.ApplyT(func(defaultGetInstanceTypes ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026defaultGetInstanceTypes.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\nClusterType: pulumi.String(\"aliyun-cs\"),\nGrafanaInstanceId: pulumi.String(\"free\"),\nClusterId: defaultNodePool.ClusterId,\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewPrometheusMonitoring(ctx, \"default\", \u0026arms.PrometheusMonitoringArgs{\nStatus: pulumi.String(\"run\"),\nType: pulumi.String(\"serviceMonitor\"),\nClusterId: defaultPrometheus.ClusterId,\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n`),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.PrometheusMonitoring;\nimport com.pulumi.alicloud.arms.PrometheusMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var defaultGetInstanceTypes = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(defaultGetInstanceTypes.applyValue(_defaultGetInstanceTypes -\u003e _defaultGetInstanceTypes.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"aliyun-cs\")\n .grafanaInstanceId(\"free\")\n .clusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultPrometheusMonitoring = new PrometheusMonitoring(\"defaultPrometheusMonitoring\", PrometheusMonitoringArgs.builder()\n .status(\"run\")\n .type(\"serviceMonitor\")\n .clusterId(defaultPrometheus.clusterId())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultNetwork.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: ${name}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultPrometheus:\n type: alicloud:arms:Prometheus\n name: default\n properties:\n clusterType: aliyun-cs\n grafanaInstanceId: free\n clusterId: ${defaultNodePool.clusterId}\n defaultPrometheusMonitoring:\n type: alicloud:arms:PrometheusMonitoring\n name: default\n properties:\n status: run\n type: serviceMonitor\n clusterId: ${defaultPrometheus.clusterId}\n configYaml: |\n apiVersion: monitoring.coreos.com/v1\n kind: ServiceMonitor\n metadata:\n name: tomcat-demo\n namespace: default\n spec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Prometheus Monitoring can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheusMonitoring:PrometheusMonitoring example \u003ccluster_id\u003e:\u003cmonitoring_name\u003e:\u003ctype\u003e\n```\n\n", + "description": "Provides a ARMS Prometheus Monitoring resource. Including serviceMonitor, podMonitor, customJob, probe and other four types of monitoring.\n\nFor information about ARMS Prometheus Monitoring and how to use it, see [What is Prometheus Monitoring](https://www.alibabacloud.com/help/en/arms/prometheus-monitoring/api-arms-2019-08-08-createprometheusmonitoring).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 8,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy(\"default\", {\n name: name,\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst defaultGetInstanceTypes = vswitch.zoneId.apply(zoneId =\u003e alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: zoneId,\n cpuCoreCount: 2,\n memorySize: 4,\n kubernetesNodeRole: \"Worker\",\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n version: \"1.24.6-aliyun.1\",\n newNatGateway: true,\n nodeCidrMask: 26,\n proxyMode: \"ipvs\",\n serviceCidr: \"172.23.0.0/16\",\n podCidr: \"10.95.0.0/16\",\n workerVswitchIds: [vswitch.id],\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [vswitch.id],\n instanceTypes: [defaultGetInstanceTypes.apply(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"2\",\n});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"aliyun-cs\",\n grafanaInstanceId: \"free\",\n clusterId: defaultNodePool.clusterId,\n});\nconst defaultPrometheusMonitoring = new alicloud.arms.PrometheusMonitoring(\"default\", {\n status: \"run\",\n type: \"serviceMonitor\",\n clusterId: defaultPrometheus.clusterId,\n configYaml: `apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=8)).apply(lambda invoke: invoke.result),\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_snapshot_policy = alicloud.ecs.SnapshotPolicy(\"default\",\n name=name,\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\ndefault_get_instance_types = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,\n cpu_core_count=2,\n memory_size=4,\n kubernetes_node_role=\"Worker\",\n instance_type_family=\"ecs.sn1ne\"))\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n version=\"1.24.6-aliyun.1\",\n new_nat_gateway=True,\n node_cidr_mask=26,\n proxy_mode=\"ipvs\",\n service_cidr=\"172.23.0.0/16\",\n pod_cidr=\"10.95.0.0/16\",\n worker_vswitch_ids=[vswitch.id])\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[vswitch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"2\")\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"aliyun-cs\",\n grafana_instance_id=\"free\",\n cluster_id=default_node_pool.cluster_id)\ndefault_prometheus_monitoring = alicloud.arms.PrometheusMonitoring(\"default\",\n status=\"run\",\n type=\"serviceMonitor\",\n cluster_id=default_prometheus.cluster_id,\n config_yaml=\"\"\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy(\"default\", new()\n {\n Name = name,\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = vswitch.ZoneId,\n CpuCoreCount = 2,\n MemorySize = 4,\n KubernetesNodeRole = \"Worker\",\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n Version = \"1.24.6-aliyun.1\",\n NewNatGateway = true,\n NodeCidrMask = 26,\n ProxyMode = \"ipvs\",\n ServiceCidr = \"172.23.0.0/16\",\n PodCidr = \"10.95.0.0/16\",\n WorkerVswitchIds = new[]\n {\n vswitch.Id,\n },\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"2\",\n });\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"aliyun-cs\",\n GrafanaInstanceId = \"free\",\n ClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultPrometheusMonitoring = new AliCloud.Arms.PrometheusMonitoring(\"default\", new()\n {\n Status = \"run\",\n Type = \"serviceMonitor\",\n ClusterId = defaultPrometheus.ClusterId,\n ConfigYaml = @\"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSnapshotPolicy(ctx, \"default\", \u0026ecs.SnapshotPolicyArgs{\nName: pulumi.String(name),\nRepeatWeekdays: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"2\"),\npulumi.String(\"3\"),\n},\nRetentionDays: pulumi.Int(-1),\nTimePoints: pulumi.StringArray{\npulumi.String(\"1\"),\npulumi.String(\"22\"),\npulumi.String(\"23\"),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {\nreturn ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(pulumi.StringRef(zoneId)),\nCpuCoreCount: pulumi.IntRef(pulumi.IntRef(int(2))),\nMemorySize: pulumi.Float64Ref(pulumi.Float64Ref(4)),\nKubernetesNodeRole: pulumi.StringRef(pulumi.StringRef(\"Worker\")),\nInstanceTypeFamily: pulumi.StringRef(pulumi.StringRef(\"ecs.sn1ne\")),\n}, nil))), nil\n}).(ecs.GetInstanceTypesResultOutput)\ndefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\nName: pulumi.String(name),\nClusterSpec: pulumi.String(\"ack.pro.small\"),\nVersion: pulumi.String(\"1.24.6-aliyun.1\"),\nNewNatGateway: pulumi.Bool(true),\nNodeCidrMask: pulumi.Int(26),\nProxyMode: pulumi.String(\"ipvs\"),\nServiceCidr: pulumi.String(\"172.23.0.0/16\"),\nPodCidr: pulumi.String(\"10.95.0.0/16\"),\nWorkerVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\n})\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMax: 99999,\nMin: 10000,\n})\nif err != nil {\nreturn err\n}\ndefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\nKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\nNodePoolName: pulumi.String(\"desired_size\"),\nClusterId: defaultManagedKubernetes.ID(),\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nInstanceTypes: pulumi.StringArray{\npulumi.String(defaultGetInstanceTypes.ApplyT(func(defaultGetInstanceTypes ecs.GetInstanceTypesResult) (*string, error) {\nreturn \u0026defaultGetInstanceTypes.InstanceTypes[0].Id, nil\n}).(pulumi.StringPtrOutput)),\n},\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(40),\nKeyName: defaultKeyPair.KeyPairName,\nDesiredSize: pulumi.String(\"2\"),\n})\nif err != nil {\nreturn err\n}\ndefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\nClusterType: pulumi.String(\"aliyun-cs\"),\nGrafanaInstanceId: pulumi.String(\"free\"),\nClusterId: defaultNodePool.ClusterId,\n})\nif err != nil {\nreturn err\n}\n_, err = arms.NewPrometheusMonitoring(ctx, \"default\", \u0026arms.PrometheusMonitoringArgs{\nStatus: pulumi.String(\"run\"),\nType: pulumi.String(\"serviceMonitor\"),\nClusterId: defaultPrometheus.ClusterId,\nConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n`),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.PrometheusMonitoring;\nimport com.pulumi.alicloud.arms.PrometheusMonitoringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(8)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSnapshotPolicy = new SnapshotPolicy(\"defaultSnapshotPolicy\", SnapshotPolicyArgs.builder()\n .name(name)\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n final var defaultGetInstanceTypes = vswitch.zoneId().applyValue(_zoneId -\u003e EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(_zoneId)\n .cpuCoreCount(2)\n .memorySize(4)\n .kubernetesNodeRole(\"Worker\")\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build()));\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .version(\"1.24.6-aliyun.1\")\n .newNatGateway(true)\n .nodeCidrMask(26)\n .proxyMode(\"ipvs\")\n .serviceCidr(\"172.23.0.0/16\")\n .podCidr(\"10.95.0.0/16\")\n .workerVswitchIds(vswitch.id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(vswitch.id())\n .instanceTypes(defaultGetInstanceTypes.applyValue(_defaultGetInstanceTypes -\u003e _defaultGetInstanceTypes.instanceTypes()[0].id()))\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"2\")\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"aliyun-cs\")\n .grafanaInstanceId(\"free\")\n .clusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultPrometheusMonitoring = new PrometheusMonitoring(\"defaultPrometheusMonitoring\", PrometheusMonitoringArgs.builder()\n .status(\"run\")\n .type(\"serviceMonitor\")\n .clusterId(defaultPrometheus.clusterId())\n .configYaml(\"\"\"\napiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n name: tomcat-demo\n namespace: default\nspec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultNetwork.cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSnapshotPolicy:\n type: alicloud:ecs:SnapshotPolicy\n name: default\n properties:\n name: ${name}\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n name: ${name}\n clusterSpec: ack.pro.small\n version: 1.24.6-aliyun.1\n newNatGateway: true\n nodeCidrMask: 26\n proxyMode: ipvs\n serviceCidr: 172.23.0.0/16\n podCidr: 10.95.0.0/16\n workerVswitchIds:\n - ${vswitch.id}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${vswitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 2\n defaultPrometheus:\n type: alicloud:arms:Prometheus\n name: default\n properties:\n clusterType: aliyun-cs\n grafanaInstanceId: free\n clusterId: ${defaultNodePool.clusterId}\n defaultPrometheusMonitoring:\n type: alicloud:arms:PrometheusMonitoring\n name: default\n properties:\n status: run\n type: serviceMonitor\n clusterId: ${defaultPrometheus.clusterId}\n configYaml: |\n apiVersion: monitoring.coreos.com/v1\n kind: ServiceMonitor\n metadata:\n name: tomcat-demo\n namespace: default\n spec:\n endpoints:\n - bearerTokenSecret:\n key: ''\n interval: 30s\n path: /metrics\n port: tomcat-monitor\n namespaceSelector:\n any: true\n selector:\n matchLabels:\n app: tomcat\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${vswitch.zoneId}\n cpuCoreCount: 2\n memorySize: 4\n kubernetesNodeRole: Worker\n instanceTypeFamily: ecs.sn1ne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Prometheus Monitoring can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/prometheusMonitoring:PrometheusMonitoring example \u003ccluster_id\u003e:\u003cmonitoring_name\u003e:\u003ctype\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -107765,7 +109618,7 @@ } }, "alicloud:arms/remoteWrite:RemoteWrite": { - "description": "Provides a Application Real-Time Monitoring Service (ARMS) Remote Write resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Remote Write and how to use it, see [What is Remote Write](https://next.api.aliyun.com/api/ARMS/2019-08-08/AddPrometheusInstance).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\nconst defaultRemoteWrite = new alicloud.arms.RemoteWrite(\"default\", {\n clusterId: defaultPrometheus.id,\n remoteWriteYaml: `remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: 1\n action: keep\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\ndefault_remote_write = alicloud.arms.RemoteWrite(\"default\",\n cluster_id=default_prometheus.id,\n remote_write_yaml=\"\"\"remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n var defaultRemoteWrite = new AliCloud.Arms.RemoteWrite(\"default\", new()\n {\n ClusterId = defaultPrometheus.Id,\n RemoteWriteYaml = @\"remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewRemoteWrite(ctx, \"default\", \u0026arms.RemoteWriteArgs{\n\t\t\tClusterId: defaultPrometheus.ID(),\n\t\t\tRemoteWriteYaml: pulumi.String(`remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.RemoteWrite;\nimport com.pulumi.alicloud.arms.RemoteWriteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n var defaultRemoteWrite = new RemoteWrite(\"defaultRemoteWrite\", RemoteWriteArgs.builder()\n .clusterId(defaultPrometheus.id())\n .remoteWriteYaml(\"\"\"\nremote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n \"\"\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/remoteWrite:RemoteWrite example \u003ccluster_id\u003e:\u003cremote_write_name\u003e\n```\n\n", + "description": "Provides a Application Real-Time Monitoring Service (ARMS) Remote Write resource.\n\nFor information about Application Real-Time Monitoring Service (ARMS) Remote Write and how to use it, see [What is Remote Write](https://next.api.aliyun.com/api/ARMS/2019-08-08/AddPrometheusInstance).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: pulumi.all([_default, _default.then(_default =\u003e _default.zones).length]).apply(([_default, length]) =\u003e _default.zones[length - 1].id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultPrometheus = new alicloud.arms.Prometheus(\"default\", {\n clusterType: \"ecs\",\n grafanaInstanceId: \"free\",\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n clusterName: pulumi.interpolate`${name}-${defaultNetwork.id}`,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n tags: {\n Created: \"TF\",\n For: \"Prometheus\",\n },\n});\nconst defaultRemoteWrite = new alicloud.arms.RemoteWrite(\"default\", {\n clusterId: defaultPrometheus.id,\n remoteWriteYaml: `remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: 1\n action: keep\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=len(default.zones).apply(lambda length: default.zones[length - 1]).apply(lambda obj: obj.id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_prometheus = alicloud.arms.Prometheus(\"default\",\n cluster_type=\"ecs\",\n grafana_instance_id=\"free\",\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n cluster_name=default_network.id.apply(lambda id: f\"{name}-{id}\"),\n resource_group_id=default_get_resource_groups.groups[0].id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Prometheus\",\n })\ndefault_remote_write = alicloud.arms.RemoteWrite(\"default\",\n cluster_id=default_prometheus.id,\n remote_write_yaml=\"\"\"remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[length - 1].Id;\n }),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultPrometheus = new AliCloud.Arms.Prometheus(\"default\", new()\n {\n ClusterType = \"ecs\",\n GrafanaInstanceId = \"free\",\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n ClusterName = defaultNetwork.Id.Apply(id =\u003e $\"{name}-{id}\"),\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Prometheus\" },\n },\n });\n\n var defaultRemoteWrite = new AliCloud.Arms.RemoteWrite(\"default\", new()\n {\n ClusterId = defaultPrometheus.Id,\n RemoteWriteYaml = @\"remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(len(_default.Zones).ApplyT(func(length int) (alicloud.GetZonesZone, error) {\n\t\t\t\treturn alicloud.GetZonesZone(_default.Zones[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\treturn __convert - 1, nil\n\t\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t\t}).(alicloud.GetZonesZoneOutput).ApplyT(func(obj alicloud.GetZonesZone) (*string, error) {\n\t\t\t\treturn obj.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPrometheus, err := arms.NewPrometheus(ctx, \"default\", \u0026arms.PrometheusArgs{\n\t\t\tClusterType: pulumi.String(\"ecs\"),\n\t\t\tGrafanaInstanceId: pulumi.String(\"free\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tClusterName: defaultNetwork.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-%v\", name, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Prometheus\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewRemoteWrite(ctx, \"default\", \u0026arms.RemoteWriteArgs{\n\t\t\tClusterId: defaultPrometheus.ID(),\n\t\t\tRemoteWriteYaml: pulumi.String(`remote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.Prometheus;\nimport com.pulumi.alicloud.arms.PrometheusArgs;\nimport com.pulumi.alicloud.arms.RemoteWrite;\nimport com.pulumi.alicloud.arms.RemoteWriteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones().length().applyValue(_length -\u003e default_.zones()[_length - 1]).applyValue(_obj -\u003e _obj.id()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultPrometheus = new Prometheus(\"defaultPrometheus\", PrometheusArgs.builder()\n .clusterType(\"ecs\")\n .grafanaInstanceId(\"free\")\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .clusterName(defaultNetwork.id().applyValue(_id -\u003e String.format(\"%s-%s\", name,_id)))\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Prometheus\")\n ))\n .build());\n\n var defaultRemoteWrite = new RemoteWrite(\"defaultRemoteWrite\", RemoteWriteArgs.builder()\n .clusterId(defaultPrometheus.id())\n .remoteWriteYaml(\"\"\"\nremote_write:\n- name: ArmsRemoteWrite\n url: http://47.96.227.137:8080/prometheus/xxx/yyy/cn-hangzhou/api/v3/write\n basic_auth: {username: 666, password: '******'}\n write_relabel_configs:\n - source_labels: [instance_id]\n separator: ;\n regex: si-6e2ca86444db4e55a7c1\n replacement: $1\n action: keep\n \"\"\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApplication Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/remoteWrite:RemoteWrite example \u003ccluster_id\u003e:\u003cremote_write_name\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -107821,7 +109674,7 @@ } }, "alicloud:arms/syntheticTask:SyntheticTask": { - "description": "Provides a ARMS Synthetic Task resource. Cloud Synthetic task resources.\n\nFor information about ARMS Synthetic Task and how to use it, see [What is Synthetic Task](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateTimingSyntheticTask).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSyntheticTask = new alicloud.arms.SyntheticTask(\"default\", {\n monitors: [{\n cityCode: \"1200101\",\n operatorCode: \"246\",\n clientType: 4,\n }],\n syntheticTaskName: name,\n customPeriod: {\n endHour: 12,\n startHour: 11,\n },\n availableAssertions: [\n {\n type: \"IcmpPackLoss\",\n operator: \"neq\",\n expect: \"200\",\n target: \"example\",\n },\n {\n type: \"IcmpPackAvgLatency\",\n operator: \"lte\",\n expect: \"1000\",\n },\n {\n type: \"IcmpPackMaxLatency\",\n operator: \"lte\",\n expect: \"10000\",\n },\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n status: \"RUNNING\",\n monitorConf: {\n netTcp: {\n tracertTimeout: 1050,\n targetUrl: \"www.aliyun.com\",\n connectTimes: 6,\n interval: 300,\n timeout: 3000,\n tracertNumMax: 2,\n },\n netDns: {\n queryMethod: 1,\n timeout: 5050,\n targetUrl: \"www.aliyun.com\",\n dnsServerIpType: 1,\n nsServer: \"61.128.114.167\",\n },\n apiHttp: {\n timeout: 10050,\n targetUrl: \"https://www.aliyun.com\",\n method: \"POST\",\n requestHeaders: {\n key1: \"value1\",\n },\n requestBody: {\n content: \"example2\",\n type: \"text/html\",\n },\n connectTimeout: 6000,\n },\n website: {\n slowElementThreshold: 5005,\n verifyStringBlacklist: \"Failed\",\n elementBlacklist: \"a.jpg\",\n disableCompression: 1,\n ignoreCertificateError: 0,\n monitorTimeout: 20000,\n redirection: 0,\n dnsHijackWhitelist: \"www.aliyun.com:203.0.3.55\",\n pageTamper: \"www.aliyun.com:|/cc/bb/a.gif\",\n flowHijackJumpTimes: 10,\n customHeader: 1,\n disableCache: 1,\n verifyStringWhitelist: \"Senyuan\",\n targetUrl: \"http://www.aliyun.com\",\n automaticScrolling: 1,\n waitCompletionTime: 5005,\n flowHijackLogo: \"senyuan1\",\n customHeaderContent: {\n key1: \"value1\",\n },\n filterInvalidIp: 0,\n },\n fileDownload: {\n whiteList: \"www.aliyun.com:203.0.3.55\",\n monitorTimeout: 1050,\n ignoreCertificateUntrustworthyError: 0,\n redirection: 0,\n ignoreCertificateCanceledError: 0,\n ignoreCertificateAuthError: 0,\n ignoreCertificateOutOfDateError: 0,\n ignoreCertificateUsingError: 0,\n connectionTimeout: 6090,\n ignoreInvalidHostError: 0,\n verifyWay: 0,\n customHeaderContent: {\n key1: \"value1\",\n },\n targetUrl: \"https://www.aliyun.com\",\n downloadKernel: 0,\n quickProtocol: 2,\n ignoreCertificateStatusError: 1,\n transmissionSize: 128,\n validateKeywords: \"senyuan1\",\n },\n stream: {\n streamMonitorTimeout: 10,\n streamAddressType: 0,\n playerType: 2,\n customHeaderContent: {\n key1: \"value1\",\n },\n whiteList: \"www.aliyun.com:203.0.3.55\",\n targetUrl: \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n streamType: 1,\n },\n netIcmp: {\n targetUrl: \"www.aliyun.com\",\n interval: 200,\n packageNum: 36,\n packageSize: 512,\n timeout: 1000,\n tracertEnable: true,\n tracertNumMax: 1,\n tracertTimeout: 1200,\n },\n },\n taskType: 1,\n frequency: \"1h\",\n monitorCategory: 1,\n commonSetting: {\n xtraceRegion: \"cn-beijing\",\n customHost: {\n hosts: [\n {\n domain: \"www.a.aliyun.com\",\n ips: [\"153.3.238.102\"],\n ipType: 0,\n },\n {\n domain: \"www.shifen.com\",\n ips: [\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n ],\n ipType: 1,\n },\n {\n domain: \"www.aliyun.com\",\n ips: [\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n ],\n ipType: 0,\n },\n ],\n selectType: 1,\n },\n monitorSamples: 1,\n ipType: 1,\n isOpenTrace: true,\n traceClientType: 1,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_synthetic_task = alicloud.arms.SyntheticTask(\"default\",\n monitors=[{\n \"city_code\": \"1200101\",\n \"operator_code\": \"246\",\n \"client_type\": 4,\n }],\n synthetic_task_name=name,\n custom_period={\n \"end_hour\": 12,\n \"start_hour\": 11,\n },\n available_assertions=[\n {\n \"type\": \"IcmpPackLoss\",\n \"operator\": \"neq\",\n \"expect\": \"200\",\n \"target\": \"example\",\n },\n {\n \"type\": \"IcmpPackAvgLatency\",\n \"operator\": \"lte\",\n \"expect\": \"1000\",\n },\n {\n \"type\": \"IcmpPackMaxLatency\",\n \"operator\": \"lte\",\n \"expect\": \"10000\",\n },\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n status=\"RUNNING\",\n monitor_conf={\n \"net_tcp\": {\n \"tracert_timeout\": 1050,\n \"target_url\": \"www.aliyun.com\",\n \"connect_times\": 6,\n \"interval\": 300,\n \"timeout\": 3000,\n \"tracert_num_max\": 2,\n },\n \"net_dns\": {\n \"query_method\": 1,\n \"timeout\": 5050,\n \"target_url\": \"www.aliyun.com\",\n \"dns_server_ip_type\": 1,\n \"ns_server\": \"61.128.114.167\",\n },\n \"api_http\": {\n \"timeout\": 10050,\n \"target_url\": \"https://www.aliyun.com\",\n \"method\": \"POST\",\n \"request_headers\": {\n \"key1\": \"value1\",\n },\n \"request_body\": {\n \"content\": \"example2\",\n \"type\": \"text/html\",\n },\n \"connect_timeout\": 6000,\n },\n \"website\": {\n \"slow_element_threshold\": 5005,\n \"verify_string_blacklist\": \"Failed\",\n \"element_blacklist\": \"a.jpg\",\n \"disable_compression\": 1,\n \"ignore_certificate_error\": 0,\n \"monitor_timeout\": 20000,\n \"redirection\": 0,\n \"dns_hijack_whitelist\": \"www.aliyun.com:203.0.3.55\",\n \"page_tamper\": \"www.aliyun.com:|/cc/bb/a.gif\",\n \"flow_hijack_jump_times\": 10,\n \"custom_header\": 1,\n \"disable_cache\": 1,\n \"verify_string_whitelist\": \"Senyuan\",\n \"target_url\": \"http://www.aliyun.com\",\n \"automatic_scrolling\": 1,\n \"wait_completion_time\": 5005,\n \"flow_hijack_logo\": \"senyuan1\",\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"filter_invalid_ip\": 0,\n },\n \"file_download\": {\n \"white_list\": \"www.aliyun.com:203.0.3.55\",\n \"monitor_timeout\": 1050,\n \"ignore_certificate_untrustworthy_error\": 0,\n \"redirection\": 0,\n \"ignore_certificate_canceled_error\": 0,\n \"ignore_certificate_auth_error\": 0,\n \"ignore_certificate_out_of_date_error\": 0,\n \"ignore_certificate_using_error\": 0,\n \"connection_timeout\": 6090,\n \"ignore_invalid_host_error\": 0,\n \"verify_way\": 0,\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"target_url\": \"https://www.aliyun.com\",\n \"download_kernel\": 0,\n \"quick_protocol\": 2,\n \"ignore_certificate_status_error\": 1,\n \"transmission_size\": 128,\n \"validate_keywords\": \"senyuan1\",\n },\n \"stream\": {\n \"stream_monitor_timeout\": 10,\n \"stream_address_type\": 0,\n \"player_type\": 2,\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"white_list\": \"www.aliyun.com:203.0.3.55\",\n \"target_url\": \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n \"stream_type\": 1,\n },\n \"net_icmp\": {\n \"target_url\": \"www.aliyun.com\",\n \"interval\": 200,\n \"package_num\": 36,\n \"package_size\": 512,\n \"timeout\": 1000,\n \"tracert_enable\": True,\n \"tracert_num_max\": 1,\n \"tracert_timeout\": 1200,\n },\n },\n task_type=1,\n frequency=\"1h\",\n monitor_category=1,\n common_setting={\n \"xtrace_region\": \"cn-beijing\",\n \"custom_host\": {\n \"hosts\": [\n {\n \"domain\": \"www.a.aliyun.com\",\n \"ips\": [\"153.3.238.102\"],\n \"ip_type\": 0,\n },\n {\n \"domain\": \"www.shifen.com\",\n \"ips\": [\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n ],\n \"ip_type\": 1,\n },\n {\n \"domain\": \"www.aliyun.com\",\n \"ips\": [\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n ],\n \"ip_type\": 0,\n },\n ],\n \"select_type\": 1,\n },\n \"monitor_samples\": 1,\n \"ip_type\": 1,\n \"is_open_trace\": True,\n \"trace_client_type\": 1,\n },\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSyntheticTask = new AliCloud.Arms.SyntheticTask(\"default\", new()\n {\n Monitors = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskMonitorArgs\n {\n CityCode = \"1200101\",\n OperatorCode = \"246\",\n ClientType = 4,\n },\n },\n SyntheticTaskName = name,\n CustomPeriod = new AliCloud.Arms.Inputs.SyntheticTaskCustomPeriodArgs\n {\n EndHour = 12,\n StartHour = 11,\n },\n AvailableAssertions = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackLoss\",\n Operator = \"neq\",\n Expect = \"200\",\n Target = \"example\",\n },\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackAvgLatency\",\n Operator = \"lte\",\n Expect = \"1000\",\n },\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackMaxLatency\",\n Operator = \"lte\",\n Expect = \"10000\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n Status = \"RUNNING\",\n MonitorConf = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfArgs\n {\n NetTcp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetTcpArgs\n {\n TracertTimeout = 1050,\n TargetUrl = \"www.aliyun.com\",\n ConnectTimes = 6,\n Interval = 300,\n Timeout = 3000,\n TracertNumMax = 2,\n },\n NetDns = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetDnsArgs\n {\n QueryMethod = 1,\n Timeout = 5050,\n TargetUrl = \"www.aliyun.com\",\n DnsServerIpType = 1,\n NsServer = \"61.128.114.167\",\n },\n ApiHttp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfApiHttpArgs\n {\n Timeout = 10050,\n TargetUrl = \"https://www.aliyun.com\",\n Method = \"POST\",\n RequestHeaders = \n {\n { \"key1\", \"value1\" },\n },\n RequestBody = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfApiHttpRequestBodyArgs\n {\n Content = \"example2\",\n Type = \"text/html\",\n },\n ConnectTimeout = 6000,\n },\n Website = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfWebsiteArgs\n {\n SlowElementThreshold = 5005,\n VerifyStringBlacklist = \"Failed\",\n ElementBlacklist = \"a.jpg\",\n DisableCompression = 1,\n IgnoreCertificateError = 0,\n MonitorTimeout = 20000,\n Redirection = 0,\n DnsHijackWhitelist = \"www.aliyun.com:203.0.3.55\",\n PageTamper = \"www.aliyun.com:|/cc/bb/a.gif\",\n FlowHijackJumpTimes = 10,\n CustomHeader = 1,\n DisableCache = 1,\n VerifyStringWhitelist = \"Senyuan\",\n TargetUrl = \"http://www.aliyun.com\",\n AutomaticScrolling = 1,\n WaitCompletionTime = 5005,\n FlowHijackLogo = \"senyuan1\",\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n FilterInvalidIp = 0,\n },\n FileDownload = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfFileDownloadArgs\n {\n WhiteList = \"www.aliyun.com:203.0.3.55\",\n MonitorTimeout = 1050,\n IgnoreCertificateUntrustworthyError = 0,\n Redirection = 0,\n IgnoreCertificateCanceledError = 0,\n IgnoreCertificateAuthError = 0,\n IgnoreCertificateOutOfDateError = 0,\n IgnoreCertificateUsingError = 0,\n ConnectionTimeout = 6090,\n IgnoreInvalidHostError = 0,\n VerifyWay = 0,\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n TargetUrl = \"https://www.aliyun.com\",\n DownloadKernel = 0,\n QuickProtocol = 2,\n IgnoreCertificateStatusError = 1,\n TransmissionSize = 128,\n ValidateKeywords = \"senyuan1\",\n },\n Stream = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfStreamArgs\n {\n StreamMonitorTimeout = 10,\n StreamAddressType = 0,\n PlayerType = 2,\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n WhiteList = \"www.aliyun.com:203.0.3.55\",\n TargetUrl = \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n StreamType = 1,\n },\n NetIcmp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetIcmpArgs\n {\n TargetUrl = \"www.aliyun.com\",\n Interval = 200,\n PackageNum = 36,\n PackageSize = 512,\n Timeout = 1000,\n TracertEnable = true,\n TracertNumMax = 1,\n TracertTimeout = 1200,\n },\n },\n TaskType = 1,\n Frequency = \"1h\",\n MonitorCategory = 1,\n CommonSetting = new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingArgs\n {\n XtraceRegion = \"cn-beijing\",\n CustomHost = new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostArgs\n {\n Hosts = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.a.aliyun.com\",\n Ips = new[]\n {\n \"153.3.238.102\",\n },\n IpType = 0,\n },\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.shifen.com\",\n Ips = new[]\n {\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n },\n IpType = 1,\n },\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.aliyun.com\",\n Ips = new[]\n {\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n },\n IpType = 0,\n },\n },\n SelectType = 1,\n },\n MonitorSamples = 1,\n IpType = 1,\n IsOpenTrace = true,\n TraceClientType = 1,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewSyntheticTask(ctx, \"default\", \u0026arms.SyntheticTaskArgs{\n\t\t\tMonitors: arms.SyntheticTaskMonitorArray{\n\t\t\t\t\u0026arms.SyntheticTaskMonitorArgs{\n\t\t\t\t\tCityCode: pulumi.String(\"1200101\"),\n\t\t\t\t\tOperatorCode: pulumi.String(\"246\"),\n\t\t\t\t\tClientType: pulumi.Int(4),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSyntheticTaskName: pulumi.String(name),\n\t\t\tCustomPeriod: \u0026arms.SyntheticTaskCustomPeriodArgs{\n\t\t\t\tEndHour: pulumi.Int(12),\n\t\t\t\tStartHour: pulumi.Int(11),\n\t\t\t},\n\t\t\tAvailableAssertions: arms.SyntheticTaskAvailableAssertionArray{\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackLoss\"),\n\t\t\t\t\tOperator: pulumi.String(\"neq\"),\n\t\t\t\t\tExpect: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackAvgLatency\"),\n\t\t\t\t\tOperator: pulumi.String(\"lte\"),\n\t\t\t\t\tExpect: pulumi.String(\"1000\"),\n\t\t\t\t},\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackMaxLatency\"),\n\t\t\t\t\tOperator: pulumi.String(\"lte\"),\n\t\t\t\t\tExpect: pulumi.String(\"10000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"RUNNING\"),\n\t\t\tMonitorConf: \u0026arms.SyntheticTaskMonitorConfArgs{\n\t\t\t\tNetTcp: \u0026arms.SyntheticTaskMonitorConfNetTcpArgs{\n\t\t\t\t\tTracertTimeout: pulumi.Int(1050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tConnectTimes: pulumi.Int(6),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t\tTimeout: pulumi.Int(3000),\n\t\t\t\t\tTracertNumMax: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t\tNetDns: \u0026arms.SyntheticTaskMonitorConfNetDnsArgs{\n\t\t\t\t\tQueryMethod: pulumi.Int(1),\n\t\t\t\t\tTimeout: pulumi.Int(5050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tDnsServerIpType: pulumi.Int(1),\n\t\t\t\t\tNsServer: pulumi.String(\"61.128.114.167\"),\n\t\t\t\t},\n\t\t\t\tApiHttp: \u0026arms.SyntheticTaskMonitorConfApiHttpArgs{\n\t\t\t\t\tTimeout: pulumi.Int(10050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tRequestHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestBody: \u0026arms.SyntheticTaskMonitorConfApiHttpRequestBodyArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"example2\"),\n\t\t\t\t\t\tType: pulumi.String(\"text/html\"),\n\t\t\t\t\t},\n\t\t\t\t\tConnectTimeout: pulumi.Int(6000),\n\t\t\t\t},\n\t\t\t\tWebsite: \u0026arms.SyntheticTaskMonitorConfWebsiteArgs{\n\t\t\t\t\tSlowElementThreshold: pulumi.Int(5005),\n\t\t\t\t\tVerifyStringBlacklist: pulumi.String(\"Failed\"),\n\t\t\t\t\tElementBlacklist: pulumi.String(\"a.jpg\"),\n\t\t\t\t\tDisableCompression: pulumi.Int(1),\n\t\t\t\t\tIgnoreCertificateError: pulumi.Int(0),\n\t\t\t\t\tMonitorTimeout: pulumi.Int(20000),\n\t\t\t\t\tRedirection: pulumi.Int(0),\n\t\t\t\t\tDnsHijackWhitelist: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tPageTamper: pulumi.String(\"www.aliyun.com:|/cc/bb/a.gif\"),\n\t\t\t\t\tFlowHijackJumpTimes: pulumi.Int(10),\n\t\t\t\t\tCustomHeader: pulumi.Int(1),\n\t\t\t\t\tDisableCache: pulumi.Int(1),\n\t\t\t\t\tVerifyStringWhitelist: pulumi.String(\"Senyuan\"),\n\t\t\t\t\tTargetUrl: pulumi.String(\"http://www.aliyun.com\"),\n\t\t\t\t\tAutomaticScrolling: pulumi.Int(1),\n\t\t\t\t\tWaitCompletionTime: pulumi.Int(5005),\n\t\t\t\t\tFlowHijackLogo: pulumi.String(\"senyuan1\"),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterInvalidIp: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\tFileDownload: \u0026arms.SyntheticTaskMonitorConfFileDownloadArgs{\n\t\t\t\t\tWhiteList: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tMonitorTimeout: pulumi.Int(1050),\n\t\t\t\t\tIgnoreCertificateUntrustworthyError: pulumi.Int(0),\n\t\t\t\t\tRedirection: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateCanceledError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateAuthError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateOutOfDateError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateUsingError: pulumi.Int(0),\n\t\t\t\t\tConnectionTimeout: pulumi.Int(6090),\n\t\t\t\t\tIgnoreInvalidHostError: pulumi.Int(0),\n\t\t\t\t\tVerifyWay: pulumi.Int(0),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tDownloadKernel: pulumi.Int(0),\n\t\t\t\t\tQuickProtocol: pulumi.Int(2),\n\t\t\t\t\tIgnoreCertificateStatusError: pulumi.Int(1),\n\t\t\t\t\tTransmissionSize: pulumi.Int(128),\n\t\t\t\t\tValidateKeywords: pulumi.String(\"senyuan1\"),\n\t\t\t\t},\n\t\t\t\tStream: \u0026arms.SyntheticTaskMonitorConfStreamArgs{\n\t\t\t\t\tStreamMonitorTimeout: pulumi.Int(10),\n\t\t\t\t\tStreamAddressType: pulumi.Int(0),\n\t\t\t\t\tPlayerType: pulumi.Int(2),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tWhiteList: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\"),\n\t\t\t\t\tStreamType: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tNetIcmp: \u0026arms.SyntheticTaskMonitorConfNetIcmpArgs{\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tInterval: pulumi.Int(200),\n\t\t\t\t\tPackageNum: pulumi.Int(36),\n\t\t\t\t\tPackageSize: pulumi.Int(512),\n\t\t\t\t\tTimeout: pulumi.Int(1000),\n\t\t\t\t\tTracertEnable: pulumi.Bool(true),\n\t\t\t\t\tTracertNumMax: pulumi.Int(1),\n\t\t\t\t\tTracertTimeout: pulumi.Int(1200),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskType: pulumi.Int(1),\n\t\t\tFrequency: pulumi.String(\"1h\"),\n\t\t\tMonitorCategory: pulumi.Int(1),\n\t\t\tCommonSetting: \u0026arms.SyntheticTaskCommonSettingArgs{\n\t\t\t\tXtraceRegion: pulumi.String(\"cn-beijing\"),\n\t\t\t\tCustomHost: \u0026arms.SyntheticTaskCommonSettingCustomHostArgs{\n\t\t\t\t\tHosts: arms.SyntheticTaskCommonSettingCustomHostHostArray{\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.a.aliyun.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.102\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.shifen.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.110\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"114.114.114.114\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.110\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"180.101.50.242\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"180.101.50.188\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSelectType: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tMonitorSamples: pulumi.Int(1),\n\t\t\t\tIpType: pulumi.Int(1),\n\t\t\t\tIsOpenTrace: pulumi.Bool(true),\n\t\t\t\tTraceClientType: pulumi.Int(1),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.SyntheticTask;\nimport com.pulumi.alicloud.arms.SyntheticTaskArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCustomPeriodArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskAvailableAssertionArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetTcpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetDnsArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfApiHttpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfApiHttpRequestBodyArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfWebsiteArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfFileDownloadArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfStreamArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetIcmpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCommonSettingArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCommonSettingCustomHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSyntheticTask = new SyntheticTask(\"defaultSyntheticTask\", SyntheticTaskArgs.builder()\n .monitors(SyntheticTaskMonitorArgs.builder()\n .cityCode(\"1200101\")\n .operatorCode(\"246\")\n .clientType(4)\n .build())\n .syntheticTaskName(name)\n .customPeriod(SyntheticTaskCustomPeriodArgs.builder()\n .endHour(12)\n .startHour(11)\n .build())\n .availableAssertions( \n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackLoss\")\n .operator(\"neq\")\n .expect(\"200\")\n .target(\"example\")\n .build(),\n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackAvgLatency\")\n .operator(\"lte\")\n .expect(\"1000\")\n .build(),\n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackMaxLatency\")\n .operator(\"lte\")\n .expect(\"10000\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .status(\"RUNNING\")\n .monitorConf(SyntheticTaskMonitorConfArgs.builder()\n .netTcp(SyntheticTaskMonitorConfNetTcpArgs.builder()\n .tracertTimeout(1050)\n .targetUrl(\"www.aliyun.com\")\n .connectTimes(6)\n .interval(300)\n .timeout(3000)\n .tracertNumMax(2)\n .build())\n .netDns(SyntheticTaskMonitorConfNetDnsArgs.builder()\n .queryMethod(1)\n .timeout(5050)\n .targetUrl(\"www.aliyun.com\")\n .dnsServerIpType(1)\n .nsServer(\"61.128.114.167\")\n .build())\n .apiHttp(SyntheticTaskMonitorConfApiHttpArgs.builder()\n .timeout(10050)\n .targetUrl(\"https://www.aliyun.com\")\n .method(\"POST\")\n .requestHeaders(Map.of(\"key1\", \"value1\"))\n .requestBody(SyntheticTaskMonitorConfApiHttpRequestBodyArgs.builder()\n .content(\"example2\")\n .type(\"text/html\")\n .build())\n .connectTimeout(6000)\n .build())\n .website(SyntheticTaskMonitorConfWebsiteArgs.builder()\n .slowElementThreshold(5005)\n .verifyStringBlacklist(\"Failed\")\n .elementBlacklist(\"a.jpg\")\n .disableCompression(1)\n .ignoreCertificateError(0)\n .monitorTimeout(20000)\n .redirection(0)\n .dnsHijackWhitelist(\"www.aliyun.com:203.0.3.55\")\n .pageTamper(\"www.aliyun.com:|/cc/bb/a.gif\")\n .flowHijackJumpTimes(10)\n .customHeader(1)\n .disableCache(1)\n .verifyStringWhitelist(\"Senyuan\")\n .targetUrl(\"http://www.aliyun.com\")\n .automaticScrolling(1)\n .waitCompletionTime(5005)\n .flowHijackLogo(\"senyuan1\")\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .filterInvalidIp(0)\n .build())\n .fileDownload(SyntheticTaskMonitorConfFileDownloadArgs.builder()\n .whiteList(\"www.aliyun.com:203.0.3.55\")\n .monitorTimeout(1050)\n .ignoreCertificateUntrustworthyError(0)\n .redirection(0)\n .ignoreCertificateCanceledError(0)\n .ignoreCertificateAuthError(0)\n .ignoreCertificateOutOfDateError(0)\n .ignoreCertificateUsingError(0)\n .connectionTimeout(6090)\n .ignoreInvalidHostError(0)\n .verifyWay(0)\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .targetUrl(\"https://www.aliyun.com\")\n .downloadKernel(0)\n .quickProtocol(2)\n .ignoreCertificateStatusError(1)\n .transmissionSize(128)\n .validateKeywords(\"senyuan1\")\n .build())\n .stream(SyntheticTaskMonitorConfStreamArgs.builder()\n .streamMonitorTimeout(10)\n .streamAddressType(0)\n .playerType(2)\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .whiteList(\"www.aliyun.com:203.0.3.55\")\n .targetUrl(\"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\")\n .streamType(1)\n .build())\n .netIcmp(SyntheticTaskMonitorConfNetIcmpArgs.builder()\n .targetUrl(\"www.aliyun.com\")\n .interval(200)\n .packageNum(36)\n .packageSize(512)\n .timeout(1000)\n .tracertEnable(true)\n .tracertNumMax(1)\n .tracertTimeout(1200)\n .build())\n .build())\n .taskType(1)\n .frequency(\"1h\")\n .monitorCategory(1)\n .commonSetting(SyntheticTaskCommonSettingArgs.builder()\n .xtraceRegion(\"cn-beijing\")\n .customHost(SyntheticTaskCommonSettingCustomHostArgs.builder()\n .hosts( \n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.a.aliyun.com\")\n .ips(\"153.3.238.102\")\n .ipType(0)\n .build(),\n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.shifen.com\")\n .ips( \n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\")\n .ipType(1)\n .build(),\n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.aliyun.com\")\n .ips( \n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\")\n .ipType(0)\n .build())\n .selectType(1)\n .build())\n .monitorSamples(1)\n .ipType(1)\n .isOpenTrace(true)\n .traceClientType(1)\n .build())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSyntheticTask:\n type: alicloud:arms:SyntheticTask\n name: default\n properties:\n monitors:\n - cityCode: '1200101'\n operatorCode: '246'\n clientType: '4'\n syntheticTaskName: ${name}\n customPeriod:\n endHour: '12'\n startHour: '11'\n availableAssertions:\n - type: IcmpPackLoss\n operator: neq\n expect: '200'\n target: example\n - type: IcmpPackAvgLatency\n operator: lte\n expect: '1000'\n - type: IcmpPackMaxLatency\n operator: lte\n expect: '10000'\n tags:\n Created: TF\n For: example\n status: RUNNING\n monitorConf:\n netTcp:\n tracertTimeout: '1050'\n targetUrl: www.aliyun.com\n connectTimes: '6'\n interval: '300'\n timeout: '3000'\n tracertNumMax: '2'\n netDns:\n queryMethod: '1'\n timeout: '5050'\n targetUrl: www.aliyun.com\n dnsServerIpType: '1'\n nsServer: 61.128.114.167\n apiHttp:\n timeout: '10050'\n targetUrl: https://www.aliyun.com\n method: POST\n requestHeaders:\n key1: value1\n requestBody:\n content: example2\n type: text/html\n connectTimeout: '6000'\n website:\n slowElementThreshold: '5005'\n verifyStringBlacklist: Failed\n elementBlacklist: a.jpg\n disableCompression: '1'\n ignoreCertificateError: '0'\n monitorTimeout: '20000'\n redirection: '0'\n dnsHijackWhitelist: www.aliyun.com:203.0.3.55\n pageTamper: www.aliyun.com:|/cc/bb/a.gif\n flowHijackJumpTimes: '10'\n customHeader: '1'\n disableCache: '1'\n verifyStringWhitelist: Senyuan\n targetUrl: http://www.aliyun.com\n automaticScrolling: '1'\n waitCompletionTime: '5005'\n flowHijackLogo: senyuan1\n customHeaderContent:\n key1: value1\n filterInvalidIp: '0'\n fileDownload:\n whiteList: www.aliyun.com:203.0.3.55\n monitorTimeout: '1050'\n ignoreCertificateUntrustworthyError: '0'\n redirection: '0'\n ignoreCertificateCanceledError: '0'\n ignoreCertificateAuthError: '0'\n ignoreCertificateOutOfDateError: '0'\n ignoreCertificateUsingError: '0'\n connectionTimeout: '6090'\n ignoreInvalidHostError: '0'\n verifyWay: '0'\n customHeaderContent:\n key1: value1\n targetUrl: https://www.aliyun.com\n downloadKernel: '0'\n quickProtocol: '2'\n ignoreCertificateStatusError: '1'\n transmissionSize: '128'\n validateKeywords: senyuan1\n stream:\n streamMonitorTimeout: '10'\n streamAddressType: '0'\n playerType: '2'\n customHeaderContent:\n key1: value1\n whiteList: www.aliyun.com:203.0.3.55\n targetUrl: https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\n streamType: '1'\n netIcmp:\n targetUrl: www.aliyun.com\n interval: '200'\n packageNum: '36'\n packageSize: '512'\n timeout: '1000'\n tracertEnable: 'true'\n tracertNumMax: '1'\n tracertTimeout: '1200'\n taskType: '1'\n frequency: 1h\n monitorCategory: '1'\n commonSetting:\n xtraceRegion: cn-beijing\n customHost:\n hosts:\n - domain: www.a.aliyun.com\n ips:\n - 153.3.238.102\n ipType: '0'\n - domain: www.shifen.com\n ips:\n - 153.3.238.110\n - 114.114.114.114\n - 127.0.0.1\n ipType: '1'\n - domain: www.aliyun.com\n ips:\n - 153.3.238.110\n - 180.101.50.242\n - 180.101.50.188\n ipType: '0'\n selectType: '1'\n monitorSamples: '1'\n ipType: '1'\n isOpenTrace: 'true'\n traceClientType: '1'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nARMS Synthetic Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/syntheticTask:SyntheticTask example \u003cid\u003e\n```\n\n", + "description": "Provides a ARMS Synthetic Task resource. Cloud Synthetic task resources.\n\nFor information about ARMS Synthetic Task and how to use it, see [What is Synthetic Task](https://next.api.alibabacloud.com/document/ARMS/2019-08-08/CreateTimingSyntheticTask).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSyntheticTask = new alicloud.arms.SyntheticTask(\"default\", {\n monitors: [{\n cityCode: \"1200101\",\n operatorCode: \"246\",\n clientType: 4,\n }],\n syntheticTaskName: name,\n customPeriod: {\n endHour: 12,\n startHour: 11,\n },\n availableAssertions: [\n {\n type: \"IcmpPackLoss\",\n operator: \"neq\",\n expect: \"200\",\n target: \"example\",\n },\n {\n type: \"IcmpPackAvgLatency\",\n operator: \"lte\",\n expect: \"1000\",\n },\n {\n type: \"IcmpPackMaxLatency\",\n operator: \"lte\",\n expect: \"10000\",\n },\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n status: \"RUNNING\",\n monitorConf: {\n netTcp: {\n tracertTimeout: 1050,\n targetUrl: \"www.aliyun.com\",\n connectTimes: 6,\n interval: 300,\n timeout: 3000,\n tracertNumMax: 2,\n },\n netDns: {\n queryMethod: 1,\n timeout: 5050,\n targetUrl: \"www.aliyun.com\",\n dnsServerIpType: 1,\n nsServer: \"61.128.114.167\",\n },\n apiHttp: {\n timeout: 10050,\n targetUrl: \"https://www.aliyun.com\",\n method: \"POST\",\n requestHeaders: {\n key1: \"value1\",\n },\n requestBody: {\n content: \"example2\",\n type: \"text/html\",\n },\n connectTimeout: 6000,\n },\n website: {\n slowElementThreshold: 5005,\n verifyStringBlacklist: \"Failed\",\n elementBlacklist: \"a.jpg\",\n disableCompression: 1,\n ignoreCertificateError: 0,\n monitorTimeout: 20000,\n redirection: 0,\n dnsHijackWhitelist: \"www.aliyun.com:203.0.3.55\",\n pageTamper: \"www.aliyun.com:|/cc/bb/a.gif\",\n flowHijackJumpTimes: 10,\n customHeader: 1,\n disableCache: 1,\n verifyStringWhitelist: \"Senyuan\",\n targetUrl: \"http://www.aliyun.com\",\n automaticScrolling: 1,\n waitCompletionTime: 5005,\n flowHijackLogo: \"senyuan1\",\n customHeaderContent: {\n key1: \"value1\",\n },\n filterInvalidIp: 0,\n },\n fileDownload: {\n whiteList: \"www.aliyun.com:203.0.3.55\",\n monitorTimeout: 1050,\n ignoreCertificateUntrustworthyError: 0,\n redirection: 0,\n ignoreCertificateCanceledError: 0,\n ignoreCertificateAuthError: 0,\n ignoreCertificateOutOfDateError: 0,\n ignoreCertificateUsingError: 0,\n connectionTimeout: 6090,\n ignoreInvalidHostError: 0,\n verifyWay: 0,\n customHeaderContent: {\n key1: \"value1\",\n },\n targetUrl: \"https://www.aliyun.com\",\n downloadKernel: 0,\n quickProtocol: 2,\n ignoreCertificateStatusError: 1,\n transmissionSize: 128,\n validateKeywords: \"senyuan1\",\n },\n stream: {\n streamMonitorTimeout: 10,\n streamAddressType: 0,\n playerType: 2,\n customHeaderContent: {\n key1: \"value1\",\n },\n whiteList: \"www.aliyun.com:203.0.3.55\",\n targetUrl: \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n streamType: 1,\n },\n netIcmp: {\n targetUrl: \"www.aliyun.com\",\n interval: 200,\n packageNum: 36,\n packageSize: 512,\n timeout: 1000,\n tracertEnable: true,\n tracertNumMax: 1,\n tracertTimeout: 1200,\n },\n },\n taskType: 1,\n frequency: \"1h\",\n monitorCategory: 1,\n commonSetting: {\n xtraceRegion: \"cn-beijing\",\n customHost: {\n hosts: [\n {\n domain: \"www.a.aliyun.com\",\n ips: [\"153.3.238.102\"],\n ipType: 0,\n },\n {\n domain: \"www.shifen.com\",\n ips: [\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n ],\n ipType: 1,\n },\n {\n domain: \"www.aliyun.com\",\n ips: [\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n ],\n ipType: 0,\n },\n ],\n selectType: 1,\n },\n monitorSamples: 1,\n ipType: 1,\n isOpenTrace: true,\n traceClientType: 1,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_synthetic_task = alicloud.arms.SyntheticTask(\"default\",\n monitors=[{\n \"city_code\": \"1200101\",\n \"operator_code\": \"246\",\n \"client_type\": 4,\n }],\n synthetic_task_name=name,\n custom_period={\n \"end_hour\": 12,\n \"start_hour\": 11,\n },\n available_assertions=[\n {\n \"type\": \"IcmpPackLoss\",\n \"operator\": \"neq\",\n \"expect\": \"200\",\n \"target\": \"example\",\n },\n {\n \"type\": \"IcmpPackAvgLatency\",\n \"operator\": \"lte\",\n \"expect\": \"1000\",\n },\n {\n \"type\": \"IcmpPackMaxLatency\",\n \"operator\": \"lte\",\n \"expect\": \"10000\",\n },\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n status=\"RUNNING\",\n monitor_conf={\n \"net_tcp\": {\n \"tracert_timeout\": 1050,\n \"target_url\": \"www.aliyun.com\",\n \"connect_times\": 6,\n \"interval\": 300,\n \"timeout\": 3000,\n \"tracert_num_max\": 2,\n },\n \"net_dns\": {\n \"query_method\": 1,\n \"timeout\": 5050,\n \"target_url\": \"www.aliyun.com\",\n \"dns_server_ip_type\": 1,\n \"ns_server\": \"61.128.114.167\",\n },\n \"api_http\": {\n \"timeout\": 10050,\n \"target_url\": \"https://www.aliyun.com\",\n \"method\": \"POST\",\n \"request_headers\": {\n \"key1\": \"value1\",\n },\n \"request_body\": {\n \"content\": \"example2\",\n \"type\": \"text/html\",\n },\n \"connect_timeout\": 6000,\n },\n \"website\": {\n \"slow_element_threshold\": 5005,\n \"verify_string_blacklist\": \"Failed\",\n \"element_blacklist\": \"a.jpg\",\n \"disable_compression\": 1,\n \"ignore_certificate_error\": 0,\n \"monitor_timeout\": 20000,\n \"redirection\": 0,\n \"dns_hijack_whitelist\": \"www.aliyun.com:203.0.3.55\",\n \"page_tamper\": \"www.aliyun.com:|/cc/bb/a.gif\",\n \"flow_hijack_jump_times\": 10,\n \"custom_header\": 1,\n \"disable_cache\": 1,\n \"verify_string_whitelist\": \"Senyuan\",\n \"target_url\": \"http://www.aliyun.com\",\n \"automatic_scrolling\": 1,\n \"wait_completion_time\": 5005,\n \"flow_hijack_logo\": \"senyuan1\",\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"filter_invalid_ip\": 0,\n },\n \"file_download\": {\n \"white_list\": \"www.aliyun.com:203.0.3.55\",\n \"monitor_timeout\": 1050,\n \"ignore_certificate_untrustworthy_error\": 0,\n \"redirection\": 0,\n \"ignore_certificate_canceled_error\": 0,\n \"ignore_certificate_auth_error\": 0,\n \"ignore_certificate_out_of_date_error\": 0,\n \"ignore_certificate_using_error\": 0,\n \"connection_timeout\": 6090,\n \"ignore_invalid_host_error\": 0,\n \"verify_way\": 0,\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"target_url\": \"https://www.aliyun.com\",\n \"download_kernel\": 0,\n \"quick_protocol\": 2,\n \"ignore_certificate_status_error\": 1,\n \"transmission_size\": 128,\n \"validate_keywords\": \"senyuan1\",\n },\n \"stream\": {\n \"stream_monitor_timeout\": 10,\n \"stream_address_type\": 0,\n \"player_type\": 2,\n \"custom_header_content\": {\n \"key1\": \"value1\",\n },\n \"white_list\": \"www.aliyun.com:203.0.3.55\",\n \"target_url\": \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n \"stream_type\": 1,\n },\n \"net_icmp\": {\n \"target_url\": \"www.aliyun.com\",\n \"interval\": 200,\n \"package_num\": 36,\n \"package_size\": 512,\n \"timeout\": 1000,\n \"tracert_enable\": True,\n \"tracert_num_max\": 1,\n \"tracert_timeout\": 1200,\n },\n },\n task_type=1,\n frequency=\"1h\",\n monitor_category=1,\n common_setting={\n \"xtrace_region\": \"cn-beijing\",\n \"custom_host\": {\n \"hosts\": [\n {\n \"domain\": \"www.a.aliyun.com\",\n \"ips\": [\"153.3.238.102\"],\n \"ip_type\": 0,\n },\n {\n \"domain\": \"www.shifen.com\",\n \"ips\": [\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n ],\n \"ip_type\": 1,\n },\n {\n \"domain\": \"www.aliyun.com\",\n \"ips\": [\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n ],\n \"ip_type\": 0,\n },\n ],\n \"select_type\": 1,\n },\n \"monitor_samples\": 1,\n \"ip_type\": 1,\n \"is_open_trace\": True,\n \"trace_client_type\": 1,\n },\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSyntheticTask = new AliCloud.Arms.SyntheticTask(\"default\", new()\n {\n Monitors = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskMonitorArgs\n {\n CityCode = \"1200101\",\n OperatorCode = \"246\",\n ClientType = 4,\n },\n },\n SyntheticTaskName = name,\n CustomPeriod = new AliCloud.Arms.Inputs.SyntheticTaskCustomPeriodArgs\n {\n EndHour = 12,\n StartHour = 11,\n },\n AvailableAssertions = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackLoss\",\n Operator = \"neq\",\n Expect = \"200\",\n Target = \"example\",\n },\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackAvgLatency\",\n Operator = \"lte\",\n Expect = \"1000\",\n },\n new AliCloud.Arms.Inputs.SyntheticTaskAvailableAssertionArgs\n {\n Type = \"IcmpPackMaxLatency\",\n Operator = \"lte\",\n Expect = \"10000\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n Status = \"RUNNING\",\n MonitorConf = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfArgs\n {\n NetTcp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetTcpArgs\n {\n TracertTimeout = 1050,\n TargetUrl = \"www.aliyun.com\",\n ConnectTimes = 6,\n Interval = 300,\n Timeout = 3000,\n TracertNumMax = 2,\n },\n NetDns = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetDnsArgs\n {\n QueryMethod = 1,\n Timeout = 5050,\n TargetUrl = \"www.aliyun.com\",\n DnsServerIpType = 1,\n NsServer = \"61.128.114.167\",\n },\n ApiHttp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfApiHttpArgs\n {\n Timeout = 10050,\n TargetUrl = \"https://www.aliyun.com\",\n Method = \"POST\",\n RequestHeaders = \n {\n { \"key1\", \"value1\" },\n },\n RequestBody = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfApiHttpRequestBodyArgs\n {\n Content = \"example2\",\n Type = \"text/html\",\n },\n ConnectTimeout = 6000,\n },\n Website = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfWebsiteArgs\n {\n SlowElementThreshold = 5005,\n VerifyStringBlacklist = \"Failed\",\n ElementBlacklist = \"a.jpg\",\n DisableCompression = 1,\n IgnoreCertificateError = 0,\n MonitorTimeout = 20000,\n Redirection = 0,\n DnsHijackWhitelist = \"www.aliyun.com:203.0.3.55\",\n PageTamper = \"www.aliyun.com:|/cc/bb/a.gif\",\n FlowHijackJumpTimes = 10,\n CustomHeader = 1,\n DisableCache = 1,\n VerifyStringWhitelist = \"Senyuan\",\n TargetUrl = \"http://www.aliyun.com\",\n AutomaticScrolling = 1,\n WaitCompletionTime = 5005,\n FlowHijackLogo = \"senyuan1\",\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n FilterInvalidIp = 0,\n },\n FileDownload = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfFileDownloadArgs\n {\n WhiteList = \"www.aliyun.com:203.0.3.55\",\n MonitorTimeout = 1050,\n IgnoreCertificateUntrustworthyError = 0,\n Redirection = 0,\n IgnoreCertificateCanceledError = 0,\n IgnoreCertificateAuthError = 0,\n IgnoreCertificateOutOfDateError = 0,\n IgnoreCertificateUsingError = 0,\n ConnectionTimeout = 6090,\n IgnoreInvalidHostError = 0,\n VerifyWay = 0,\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n TargetUrl = \"https://www.aliyun.com\",\n DownloadKernel = 0,\n QuickProtocol = 2,\n IgnoreCertificateStatusError = 1,\n TransmissionSize = 128,\n ValidateKeywords = \"senyuan1\",\n },\n Stream = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfStreamArgs\n {\n StreamMonitorTimeout = 10,\n StreamAddressType = 0,\n PlayerType = 2,\n CustomHeaderContent = \n {\n { \"key1\", \"value1\" },\n },\n WhiteList = \"www.aliyun.com:203.0.3.55\",\n TargetUrl = \"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\",\n StreamType = 1,\n },\n NetIcmp = new AliCloud.Arms.Inputs.SyntheticTaskMonitorConfNetIcmpArgs\n {\n TargetUrl = \"www.aliyun.com\",\n Interval = 200,\n PackageNum = 36,\n PackageSize = 512,\n Timeout = 1000,\n TracertEnable = true,\n TracertNumMax = 1,\n TracertTimeout = 1200,\n },\n },\n TaskType = 1,\n Frequency = \"1h\",\n MonitorCategory = 1,\n CommonSetting = new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingArgs\n {\n XtraceRegion = \"cn-beijing\",\n CustomHost = new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostArgs\n {\n Hosts = new[]\n {\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.a.aliyun.com\",\n Ips = new[]\n {\n \"153.3.238.102\",\n },\n IpType = 0,\n },\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.shifen.com\",\n Ips = new[]\n {\n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\",\n },\n IpType = 1,\n },\n new AliCloud.Arms.Inputs.SyntheticTaskCommonSettingCustomHostHostArgs\n {\n Domain = \"www.aliyun.com\",\n Ips = new[]\n {\n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\",\n },\n IpType = 0,\n },\n },\n SelectType = 1,\n },\n MonitorSamples = 1,\n IpType = 1,\n IsOpenTrace = true,\n TraceClientType = 1,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arms.NewSyntheticTask(ctx, \"default\", \u0026arms.SyntheticTaskArgs{\n\t\t\tMonitors: arms.SyntheticTaskMonitorArray{\n\t\t\t\t\u0026arms.SyntheticTaskMonitorArgs{\n\t\t\t\t\tCityCode: pulumi.String(\"1200101\"),\n\t\t\t\t\tOperatorCode: pulumi.String(\"246\"),\n\t\t\t\t\tClientType: pulumi.Int(4),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSyntheticTaskName: pulumi.String(name),\n\t\t\tCustomPeriod: \u0026arms.SyntheticTaskCustomPeriodArgs{\n\t\t\t\tEndHour: pulumi.Int(12),\n\t\t\t\tStartHour: pulumi.Int(11),\n\t\t\t},\n\t\t\tAvailableAssertions: arms.SyntheticTaskAvailableAssertionArray{\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackLoss\"),\n\t\t\t\t\tOperator: pulumi.String(\"neq\"),\n\t\t\t\t\tExpect: pulumi.String(\"200\"),\n\t\t\t\t\tTarget: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackAvgLatency\"),\n\t\t\t\t\tOperator: pulumi.String(\"lte\"),\n\t\t\t\t\tExpect: pulumi.String(\"1000\"),\n\t\t\t\t},\n\t\t\t\t\u0026arms.SyntheticTaskAvailableAssertionArgs{\n\t\t\t\t\tType: pulumi.String(\"IcmpPackMaxLatency\"),\n\t\t\t\t\tOperator: pulumi.String(\"lte\"),\n\t\t\t\t\tExpect: pulumi.String(\"10000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"RUNNING\"),\n\t\t\tMonitorConf: \u0026arms.SyntheticTaskMonitorConfArgs{\n\t\t\t\tNetTcp: \u0026arms.SyntheticTaskMonitorConfNetTcpArgs{\n\t\t\t\t\tTracertTimeout: pulumi.Int(1050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tConnectTimes: pulumi.Int(6),\n\t\t\t\t\tInterval: pulumi.Int(300),\n\t\t\t\t\tTimeout: pulumi.Int(3000),\n\t\t\t\t\tTracertNumMax: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t\tNetDns: \u0026arms.SyntheticTaskMonitorConfNetDnsArgs{\n\t\t\t\t\tQueryMethod: pulumi.Int(1),\n\t\t\t\t\tTimeout: pulumi.Int(5050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tDnsServerIpType: pulumi.Int(1),\n\t\t\t\t\tNsServer: pulumi.String(\"61.128.114.167\"),\n\t\t\t\t},\n\t\t\t\tApiHttp: \u0026arms.SyntheticTaskMonitorConfApiHttpArgs{\n\t\t\t\t\tTimeout: pulumi.Int(10050),\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tRequestHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequestBody: \u0026arms.SyntheticTaskMonitorConfApiHttpRequestBodyArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"example2\"),\n\t\t\t\t\t\tType: pulumi.String(\"text/html\"),\n\t\t\t\t\t},\n\t\t\t\t\tConnectTimeout: pulumi.Int(6000),\n\t\t\t\t},\n\t\t\t\tWebsite: \u0026arms.SyntheticTaskMonitorConfWebsiteArgs{\n\t\t\t\t\tSlowElementThreshold: pulumi.Int(5005),\n\t\t\t\t\tVerifyStringBlacklist: pulumi.String(\"Failed\"),\n\t\t\t\t\tElementBlacklist: pulumi.String(\"a.jpg\"),\n\t\t\t\t\tDisableCompression: pulumi.Int(1),\n\t\t\t\t\tIgnoreCertificateError: pulumi.Int(0),\n\t\t\t\t\tMonitorTimeout: pulumi.Int(20000),\n\t\t\t\t\tRedirection: pulumi.Int(0),\n\t\t\t\t\tDnsHijackWhitelist: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tPageTamper: pulumi.String(\"www.aliyun.com:|/cc/bb/a.gif\"),\n\t\t\t\t\tFlowHijackJumpTimes: pulumi.Int(10),\n\t\t\t\t\tCustomHeader: pulumi.Int(1),\n\t\t\t\t\tDisableCache: pulumi.Int(1),\n\t\t\t\t\tVerifyStringWhitelist: pulumi.String(\"Senyuan\"),\n\t\t\t\t\tTargetUrl: pulumi.String(\"http://www.aliyun.com\"),\n\t\t\t\t\tAutomaticScrolling: pulumi.Int(1),\n\t\t\t\t\tWaitCompletionTime: pulumi.Int(5005),\n\t\t\t\t\tFlowHijackLogo: pulumi.String(\"senyuan1\"),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tFilterInvalidIp: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\tFileDownload: \u0026arms.SyntheticTaskMonitorConfFileDownloadArgs{\n\t\t\t\t\tWhiteList: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tMonitorTimeout: pulumi.Int(1050),\n\t\t\t\t\tIgnoreCertificateUntrustworthyError: pulumi.Int(0),\n\t\t\t\t\tRedirection: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateCanceledError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateAuthError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateOutOfDateError: pulumi.Int(0),\n\t\t\t\t\tIgnoreCertificateUsingError: pulumi.Int(0),\n\t\t\t\t\tConnectionTimeout: pulumi.Int(6090),\n\t\t\t\t\tIgnoreInvalidHostError: pulumi.Int(0),\n\t\t\t\t\tVerifyWay: pulumi.Int(0),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tDownloadKernel: pulumi.Int(0),\n\t\t\t\t\tQuickProtocol: pulumi.Int(2),\n\t\t\t\t\tIgnoreCertificateStatusError: pulumi.Int(1),\n\t\t\t\t\tTransmissionSize: pulumi.Int(128),\n\t\t\t\t\tValidateKeywords: pulumi.String(\"senyuan1\"),\n\t\t\t\t},\n\t\t\t\tStream: \u0026arms.SyntheticTaskMonitorConfStreamArgs{\n\t\t\t\t\tStreamMonitorTimeout: pulumi.Int(10),\n\t\t\t\t\tStreamAddressType: pulumi.Int(0),\n\t\t\t\t\tPlayerType: pulumi.Int(2),\n\t\t\t\t\tCustomHeaderContent: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t\tWhiteList: pulumi.String(\"www.aliyun.com:203.0.3.55\"),\n\t\t\t\t\tTargetUrl: pulumi.String(\"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\"),\n\t\t\t\t\tStreamType: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tNetIcmp: \u0026arms.SyntheticTaskMonitorConfNetIcmpArgs{\n\t\t\t\t\tTargetUrl: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tInterval: pulumi.Int(200),\n\t\t\t\t\tPackageNum: pulumi.Int(36),\n\t\t\t\t\tPackageSize: pulumi.Int(512),\n\t\t\t\t\tTimeout: pulumi.Int(1000),\n\t\t\t\t\tTracertEnable: pulumi.Bool(true),\n\t\t\t\t\tTracertNumMax: pulumi.Int(1),\n\t\t\t\t\tTracertTimeout: pulumi.Int(1200),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaskType: pulumi.Int(1),\n\t\t\tFrequency: pulumi.String(\"1h\"),\n\t\t\tMonitorCategory: pulumi.Int(1),\n\t\t\tCommonSetting: \u0026arms.SyntheticTaskCommonSettingArgs{\n\t\t\t\tXtraceRegion: pulumi.String(\"cn-beijing\"),\n\t\t\t\tCustomHost: \u0026arms.SyntheticTaskCommonSettingCustomHostArgs{\n\t\t\t\t\tHosts: arms.SyntheticTaskCommonSettingCustomHostHostArray{\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.a.aliyun.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.102\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.shifen.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.110\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"114.114.114.114\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026arms.SyntheticTaskCommonSettingCustomHostHostArgs{\n\t\t\t\t\t\t\tDomain: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"153.3.238.110\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"180.101.50.242\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"180.101.50.188\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tIpType: pulumi.Int(0),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSelectType: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tMonitorSamples: pulumi.Int(1),\n\t\t\t\tIpType: pulumi.Int(1),\n\t\t\t\tIsOpenTrace: pulumi.Bool(true),\n\t\t\t\tTraceClientType: pulumi.Int(1),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.arms.SyntheticTask;\nimport com.pulumi.alicloud.arms.SyntheticTaskArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCustomPeriodArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskAvailableAssertionArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetTcpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetDnsArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfApiHttpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfApiHttpRequestBodyArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfWebsiteArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfFileDownloadArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfStreamArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskMonitorConfNetIcmpArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCommonSettingArgs;\nimport com.pulumi.alicloud.arms.inputs.SyntheticTaskCommonSettingCustomHostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSyntheticTask = new SyntheticTask(\"defaultSyntheticTask\", SyntheticTaskArgs.builder()\n .monitors(SyntheticTaskMonitorArgs.builder()\n .cityCode(\"1200101\")\n .operatorCode(\"246\")\n .clientType(4)\n .build())\n .syntheticTaskName(name)\n .customPeriod(SyntheticTaskCustomPeriodArgs.builder()\n .endHour(12)\n .startHour(11)\n .build())\n .availableAssertions( \n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackLoss\")\n .operator(\"neq\")\n .expect(\"200\")\n .target(\"example\")\n .build(),\n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackAvgLatency\")\n .operator(\"lte\")\n .expect(\"1000\")\n .build(),\n SyntheticTaskAvailableAssertionArgs.builder()\n .type(\"IcmpPackMaxLatency\")\n .operator(\"lte\")\n .expect(\"10000\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .status(\"RUNNING\")\n .monitorConf(SyntheticTaskMonitorConfArgs.builder()\n .netTcp(SyntheticTaskMonitorConfNetTcpArgs.builder()\n .tracertTimeout(1050)\n .targetUrl(\"www.aliyun.com\")\n .connectTimes(6)\n .interval(300)\n .timeout(3000)\n .tracertNumMax(2)\n .build())\n .netDns(SyntheticTaskMonitorConfNetDnsArgs.builder()\n .queryMethod(1)\n .timeout(5050)\n .targetUrl(\"www.aliyun.com\")\n .dnsServerIpType(1)\n .nsServer(\"61.128.114.167\")\n .build())\n .apiHttp(SyntheticTaskMonitorConfApiHttpArgs.builder()\n .timeout(10050)\n .targetUrl(\"https://www.aliyun.com\")\n .method(\"POST\")\n .requestHeaders(Map.of(\"key1\", \"value1\"))\n .requestBody(SyntheticTaskMonitorConfApiHttpRequestBodyArgs.builder()\n .content(\"example2\")\n .type(\"text/html\")\n .build())\n .connectTimeout(6000)\n .build())\n .website(SyntheticTaskMonitorConfWebsiteArgs.builder()\n .slowElementThreshold(5005)\n .verifyStringBlacklist(\"Failed\")\n .elementBlacklist(\"a.jpg\")\n .disableCompression(1)\n .ignoreCertificateError(0)\n .monitorTimeout(20000)\n .redirection(0)\n .dnsHijackWhitelist(\"www.aliyun.com:203.0.3.55\")\n .pageTamper(\"www.aliyun.com:|/cc/bb/a.gif\")\n .flowHijackJumpTimes(10)\n .customHeader(1)\n .disableCache(1)\n .verifyStringWhitelist(\"Senyuan\")\n .targetUrl(\"http://www.aliyun.com\")\n .automaticScrolling(1)\n .waitCompletionTime(5005)\n .flowHijackLogo(\"senyuan1\")\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .filterInvalidIp(0)\n .build())\n .fileDownload(SyntheticTaskMonitorConfFileDownloadArgs.builder()\n .whiteList(\"www.aliyun.com:203.0.3.55\")\n .monitorTimeout(1050)\n .ignoreCertificateUntrustworthyError(0)\n .redirection(0)\n .ignoreCertificateCanceledError(0)\n .ignoreCertificateAuthError(0)\n .ignoreCertificateOutOfDateError(0)\n .ignoreCertificateUsingError(0)\n .connectionTimeout(6090)\n .ignoreInvalidHostError(0)\n .verifyWay(0)\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .targetUrl(\"https://www.aliyun.com\")\n .downloadKernel(0)\n .quickProtocol(2)\n .ignoreCertificateStatusError(1)\n .transmissionSize(128)\n .validateKeywords(\"senyuan1\")\n .build())\n .stream(SyntheticTaskMonitorConfStreamArgs.builder()\n .streamMonitorTimeout(10)\n .streamAddressType(0)\n .playerType(2)\n .customHeaderContent(Map.of(\"key1\", \"value1\"))\n .whiteList(\"www.aliyun.com:203.0.3.55\")\n .targetUrl(\"https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\")\n .streamType(1)\n .build())\n .netIcmp(SyntheticTaskMonitorConfNetIcmpArgs.builder()\n .targetUrl(\"www.aliyun.com\")\n .interval(200)\n .packageNum(36)\n .packageSize(512)\n .timeout(1000)\n .tracertEnable(true)\n .tracertNumMax(1)\n .tracertTimeout(1200)\n .build())\n .build())\n .taskType(1)\n .frequency(\"1h\")\n .monitorCategory(1)\n .commonSetting(SyntheticTaskCommonSettingArgs.builder()\n .xtraceRegion(\"cn-beijing\")\n .customHost(SyntheticTaskCommonSettingCustomHostArgs.builder()\n .hosts( \n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.a.aliyun.com\")\n .ips(\"153.3.238.102\")\n .ipType(0)\n .build(),\n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.shifen.com\")\n .ips( \n \"153.3.238.110\",\n \"114.114.114.114\",\n \"127.0.0.1\")\n .ipType(1)\n .build(),\n SyntheticTaskCommonSettingCustomHostHostArgs.builder()\n .domain(\"www.aliyun.com\")\n .ips( \n \"153.3.238.110\",\n \"180.101.50.242\",\n \"180.101.50.188\")\n .ipType(0)\n .build())\n .selectType(1)\n .build())\n .monitorSamples(1)\n .ipType(1)\n .isOpenTrace(true)\n .traceClientType(1)\n .build())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSyntheticTask:\n type: alicloud:arms:SyntheticTask\n name: default\n properties:\n monitors:\n - cityCode: '1200101'\n operatorCode: '246'\n clientType: '4'\n syntheticTaskName: ${name}\n customPeriod:\n endHour: '12'\n startHour: '11'\n availableAssertions:\n - type: IcmpPackLoss\n operator: neq\n expect: '200'\n target: example\n - type: IcmpPackAvgLatency\n operator: lte\n expect: '1000'\n - type: IcmpPackMaxLatency\n operator: lte\n expect: '10000'\n tags:\n Created: TF\n For: example\n status: RUNNING\n monitorConf:\n netTcp:\n tracertTimeout: '1050'\n targetUrl: www.aliyun.com\n connectTimes: '6'\n interval: '300'\n timeout: '3000'\n tracertNumMax: '2'\n netDns:\n queryMethod: '1'\n timeout: '5050'\n targetUrl: www.aliyun.com\n dnsServerIpType: '1'\n nsServer: 61.128.114.167\n apiHttp:\n timeout: '10050'\n targetUrl: https://www.aliyun.com\n method: POST\n requestHeaders:\n key1: value1\n requestBody:\n content: example2\n type: text/html\n connectTimeout: '6000'\n website:\n slowElementThreshold: '5005'\n verifyStringBlacklist: Failed\n elementBlacklist: a.jpg\n disableCompression: '1'\n ignoreCertificateError: '0'\n monitorTimeout: '20000'\n redirection: '0'\n dnsHijackWhitelist: www.aliyun.com:203.0.3.55\n pageTamper: www.aliyun.com:|/cc/bb/a.gif\n flowHijackJumpTimes: '10'\n customHeader: '1'\n disableCache: '1'\n verifyStringWhitelist: Senyuan\n targetUrl: http://www.aliyun.com\n automaticScrolling: '1'\n waitCompletionTime: '5005'\n flowHijackLogo: senyuan1\n customHeaderContent:\n key1: value1\n filterInvalidIp: '0'\n fileDownload:\n whiteList: www.aliyun.com:203.0.3.55\n monitorTimeout: '1050'\n ignoreCertificateUntrustworthyError: '0'\n redirection: '0'\n ignoreCertificateCanceledError: '0'\n ignoreCertificateAuthError: '0'\n ignoreCertificateOutOfDateError: '0'\n ignoreCertificateUsingError: '0'\n connectionTimeout: '6090'\n ignoreInvalidHostError: '0'\n verifyWay: '0'\n customHeaderContent:\n key1: value1\n targetUrl: https://www.aliyun.com\n downloadKernel: '0'\n quickProtocol: '2'\n ignoreCertificateStatusError: '1'\n transmissionSize: '128'\n validateKeywords: senyuan1\n stream:\n streamMonitorTimeout: '10'\n streamAddressType: '0'\n playerType: '2'\n customHeaderContent:\n key1: value1\n whiteList: www.aliyun.com:203.0.3.55\n targetUrl: https://acd-assets.alicdn.com:443/2021productweek/week1_s.mp4\n streamType: '1'\n netIcmp:\n targetUrl: www.aliyun.com\n interval: '200'\n packageNum: '36'\n packageSize: '512'\n timeout: '1000'\n tracertEnable: 'true'\n tracertNumMax: '1'\n tracertTimeout: '1200'\n taskType: '1'\n frequency: 1h\n monitorCategory: '1'\n commonSetting:\n xtraceRegion: cn-beijing\n customHost:\n hosts:\n - domain: www.a.aliyun.com\n ips:\n - 153.3.238.102\n ipType: '0'\n - domain: www.shifen.com\n ips:\n - 153.3.238.110\n - 114.114.114.114\n - 127.0.0.1\n ipType: '1'\n - domain: www.aliyun.com\n ips:\n - 153.3.238.110\n - 180.101.50.242\n - 180.101.50.188\n ipType: '0'\n selectType: '1'\n monitorSamples: '1'\n ipType: '1'\n isOpenTrace: 'true'\n traceClientType: '1'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nARMS Synthetic Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:arms/syntheticTask:SyntheticTask example \u003cid\u003e\n```\n\n", "properties": { "availableAssertions": { "type": "array", @@ -108028,7 +109881,7 @@ } }, "alicloud:bastionhost/host:Host": { - "description": "Provides a Bastion Host Host resource.\n\nFor information about Bastion Host Host and how to use it, see [What is Host](https://www.alibabacloud.com/help/en/doc-detail/201330.htm).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/host:Host example \u003cinstance_id\u003e:\u003chost_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host resource.\n\nFor information about Bastion Host Host and how to use it, see [What is Host](https://www.alibabacloud.com/help/en/doc-detail/201330.htm).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/host:Host example \u003cinstance_id\u003e:\u003chost_id\u003e\n```\n\n", "properties": { "activeAddressType": { "type": "string", @@ -108190,7 +110043,7 @@ } }, "alicloud:bastionhost/hostAccount:HostAccount": { - "description": "Provides a Bastion Host Host Account resource.\n\nFor information about Bastion Host Host Account and how to use it, see [What is Host Account](https://www.alibabacloud.com/help/en/doc-detail/204377.htm).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccount:HostAccount example \u003cinstance_id\u003e:\u003chost_account_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Account resource.\n\nFor information about Bastion Host Host Account and how to use it, see [What is Host Account](https://www.alibabacloud.com/help/en/doc-detail/204377.htm).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccount:HostAccount example \u003cinstance_id\u003e:\u003chost_account_id\u003e\n```\n\n", "properties": { "hostAccountId": { "type": "string", @@ -108323,7 +110176,7 @@ } }, "alicloud:bastionhost/hostAccountShareKeyAttachment:HostAccountShareKeyAttachment": { - "description": "Provides a Bastion Host Account Share Key Attachment resource.\n\nFor information about Bastion Host Host Account Share Key Attachment and how to use it, see [What is Host Account Share Key Attachment](https://www.alibabacloud.com/help/en/bastion-host/latest/attachhostaccountstohostsharekey).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst privateKey = config.get(\"privateKey\") || \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\nconst defaultHostShareKey = new alicloud.bastionhost.HostShareKey(\"default\", {\n hostShareKeyName: name,\n instanceId: defaultInstance.id,\n privateKey: privateKey,\n});\nconst defaultHostAccountShareKeyAttachment = new alicloud.bastionhost.HostAccountShareKeyAttachment(\"default\", {\n instanceId: defaultInstance.id,\n hostShareKeyId: defaultHostShareKey.hostShareKeyId,\n hostAccountId: defaultHostAccount.hostAccountId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\ndefault_host_share_key = alicloud.bastionhost.HostShareKey(\"default\",\n host_share_key_name=name,\n instance_id=default_instance.id,\n private_key=private_key)\ndefault_host_account_share_key_attachment = alicloud.bastionhost.HostAccountShareKeyAttachment(\"default\",\n instance_id=default_instance.id,\n host_share_key_id=default_host_share_key.host_share_key_id,\n host_account_id=default_host_account.host_account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var privateKey = config.Get(\"privateKey\") ?? \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\n var defaultHostShareKey = new AliCloud.BastionHost.HostShareKey(\"default\", new()\n {\n HostShareKeyName = name,\n InstanceId = defaultInstance.Id,\n PrivateKey = privateKey,\n });\n\n var defaultHostAccountShareKeyAttachment = new AliCloud.BastionHost.HostAccountShareKeyAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostShareKeyId = defaultHostShareKey.HostShareKeyId,\n HostAccountId = defaultHostAccount.HostAccountId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateKey := \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\tdefaultHostShareKey, err := bastionhost.NewHostShareKey(ctx, \"default\", \u0026bastionhost.HostShareKeyArgs{\n\t\t\tHostShareKeyName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountShareKeyAttachment(ctx, \"default\", \u0026bastionhost.HostAccountShareKeyAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostShareKeyId: defaultHostShareKey.HostShareKeyId,\n\t\t\tHostAccountId: defaultHostAccount.HostAccountId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostShareKey;\nimport com.pulumi.alicloud.bastionhost.HostShareKeyArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountShareKeyAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountShareKeyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n final var privateKey = config.get(\"privateKey\").orElse(\"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\");\n var defaultHostShareKey = new HostShareKey(\"defaultHostShareKey\", HostShareKeyArgs.builder()\n .hostShareKeyName(name)\n .instanceId(defaultInstance.id())\n .privateKey(privateKey)\n .build());\n\n var defaultHostAccountShareKeyAttachment = new HostAccountShareKeyAttachment(\"defaultHostAccountShareKeyAttachment\", HostAccountShareKeyAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .hostShareKeyId(defaultHostShareKey.hostShareKeyId())\n .hostAccountId(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n privateKey:\n type: string\n default: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostShareKey:\n type: alicloud:bastionhost:HostShareKey\n name: default\n properties:\n hostShareKeyName: ${name}\n instanceId: ${defaultInstance.id}\n privateKey: ${privateKey}\n defaultHostAccountShareKeyAttachment:\n type: alicloud:bastionhost:HostAccountShareKeyAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostShareKeyId: ${defaultHostShareKey.hostShareKeyId}\n hostAccountId: ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Account Share Key Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountShareKeyAttachment:HostAccountShareKeyAttachment example \u003cinstance_id\u003e:\u003chost_share_key_id\u003e:\u003chost_account_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Account Share Key Attachment resource.\n\nFor information about Bastion Host Host Account Share Key Attachment and how to use it, see [What is Host Account Share Key Attachment](https://www.alibabacloud.com/help/en/bastion-host/latest/attachhostaccountstohostsharekey).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst privateKey = config.get(\"privateKey\") || \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\nconst defaultHostShareKey = new alicloud.bastionhost.HostShareKey(\"default\", {\n hostShareKeyName: name,\n instanceId: defaultInstance.id,\n privateKey: privateKey,\n});\nconst defaultHostAccountShareKeyAttachment = new alicloud.bastionhost.HostAccountShareKeyAttachment(\"default\", {\n instanceId: defaultInstance.id,\n hostShareKeyId: defaultHostShareKey.hostShareKeyId,\n hostAccountId: defaultHostAccount.hostAccountId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\ndefault_host_share_key = alicloud.bastionhost.HostShareKey(\"default\",\n host_share_key_name=name,\n instance_id=default_instance.id,\n private_key=private_key)\ndefault_host_account_share_key_attachment = alicloud.bastionhost.HostAccountShareKeyAttachment(\"default\",\n instance_id=default_instance.id,\n host_share_key_id=default_host_share_key.host_share_key_id,\n host_account_id=default_host_account.host_account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var privateKey = config.Get(\"privateKey\") ?? \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\n var defaultHostShareKey = new AliCloud.BastionHost.HostShareKey(\"default\", new()\n {\n HostShareKeyName = name,\n InstanceId = defaultInstance.Id,\n PrivateKey = privateKey,\n });\n\n var defaultHostAccountShareKeyAttachment = new AliCloud.BastionHost.HostAccountShareKeyAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostShareKeyId = defaultHostShareKey.HostShareKeyId,\n HostAccountId = defaultHostAccount.HostAccountId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateKey := \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\tdefaultHostShareKey, err := bastionhost.NewHostShareKey(ctx, \"default\", \u0026bastionhost.HostShareKeyArgs{\n\t\t\tHostShareKeyName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountShareKeyAttachment(ctx, \"default\", \u0026bastionhost.HostAccountShareKeyAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostShareKeyId: defaultHostShareKey.HostShareKeyId,\n\t\t\tHostAccountId: defaultHostAccount.HostAccountId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostShareKey;\nimport com.pulumi.alicloud.bastionhost.HostShareKeyArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountShareKeyAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountShareKeyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n final var privateKey = config.get(\"privateKey\").orElse(\"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\");\n var defaultHostShareKey = new HostShareKey(\"defaultHostShareKey\", HostShareKeyArgs.builder()\n .hostShareKeyName(name)\n .instanceId(defaultInstance.id())\n .privateKey(privateKey)\n .build());\n\n var defaultHostAccountShareKeyAttachment = new HostAccountShareKeyAttachment(\"defaultHostAccountShareKeyAttachment\", HostAccountShareKeyAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .hostShareKeyId(defaultHostShareKey.hostShareKeyId())\n .hostAccountId(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n privateKey:\n type: string\n default: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostShareKey:\n type: alicloud:bastionhost:HostShareKey\n name: default\n properties:\n hostShareKeyName: ${name}\n instanceId: ${defaultInstance.id}\n privateKey: ${privateKey}\n defaultHostAccountShareKeyAttachment:\n type: alicloud:bastionhost:HostAccountShareKeyAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostShareKeyId: ${defaultHostShareKey.hostShareKeyId}\n hostAccountId: ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Account Share Key Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountShareKeyAttachment:HostAccountShareKeyAttachment example \u003cinstance_id\u003e:\u003chost_share_key_id\u003e:\u003chost_account_id\u003e\n```\n\n", "properties": { "hostAccountId": { "type": "string", @@ -108388,7 +110241,7 @@ } }, "alicloud:bastionhost/hostAccountUserAttachment:HostAccountUserAttachment": { - "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultHostAccountUserAttachment = new alicloud.bastionhost.HostAccountUserAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userId: localUser.userId,\n hostId: defaultHost.hostId,\n hostAccountIds: [defaultHostAccount.hostAccountId],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_host_account_user_attachment = alicloud.bastionhost.HostAccountUserAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_id=local_user.user_id,\n host_id=default_host.host_id,\n host_account_ids=[default_host_account.host_account_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultHostAccountUserAttachment = new AliCloud.BastionHost.HostAccountUserAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserId = localUser.UserId,\n HostId = defaultHost.HostId,\n HostAccountIds = new[]\n {\n defaultHostAccount.HostAccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountUserAttachment(ctx, \"default\", \u0026bastionhost.HostAccountUserAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserId: localUser.UserId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tHostAccountIds: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultHostAccountUserAttachment = new HostAccountUserAttachment(\"defaultHostAccountUserAttachment\", HostAccountUserAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userId(localUser.userId())\n .hostId(defaultHost.hostId())\n .hostAccountIds(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultHostAccountUserAttachment:\n type: alicloud:bastionhost:HostAccountUserAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userId: ${localUser.userId}\n hostId: ${defaultHost.hostId}\n hostAccountIds:\n - ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountUserAttachment:HostAccountUserAttachment example \u003cinstance_id\u003e:\u003cuser_id\u003e:\u003chost_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultHostAccountUserAttachment = new alicloud.bastionhost.HostAccountUserAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userId: localUser.userId,\n hostId: defaultHost.hostId,\n hostAccountIds: [defaultHostAccount.hostAccountId],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_host_account_user_attachment = alicloud.bastionhost.HostAccountUserAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_id=local_user.user_id,\n host_id=default_host.host_id,\n host_account_ids=[default_host_account.host_account_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultHostAccountUserAttachment = new AliCloud.BastionHost.HostAccountUserAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserId = localUser.UserId,\n HostId = defaultHost.HostId,\n HostAccountIds = new[]\n {\n defaultHostAccount.HostAccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountUserAttachment(ctx, \"default\", \u0026bastionhost.HostAccountUserAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserId: localUser.UserId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tHostAccountIds: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultHostAccountUserAttachment = new HostAccountUserAttachment(\"defaultHostAccountUserAttachment\", HostAccountUserAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userId(localUser.userId())\n .hostId(defaultHost.hostId())\n .hostAccountIds(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultHostAccountUserAttachment:\n type: alicloud:bastionhost:HostAccountUserAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userId: ${localUser.userId}\n hostId: ${defaultHost.hostId}\n hostAccountIds:\n - ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountUserAttachment:HostAccountUserAttachment example \u003cinstance_id\u003e:\u003cuser_id\u003e:\u003chost_id\u003e\n```\n\n", "properties": { "hostAccountIds": { "type": "array", @@ -108476,7 +110329,7 @@ } }, "alicloud:bastionhost/hostAccountUserGroupAttachment:HostAccountUserGroupAttachment": { - "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupName: name,\n});\nconst defaultHostAccountUserGroupAttachment = new alicloud.bastionhost.HostAccountUserGroupAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupId: defaultUserGroup.userGroupId,\n hostId: defaultHost.hostId,\n hostAccountIds: [defaultHostAccount.hostAccountId],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_host.instance_id,\n user_group_name=name)\ndefault_host_account_user_group_attachment = alicloud.bastionhost.HostAccountUserGroupAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_group_id=default_user_group.user_group_id,\n host_id=default_host.host_id,\n host_account_ids=[default_host_account.host_account_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupName = name,\n });\n\n var defaultHostAccountUserGroupAttachment = new AliCloud.BastionHost.HostAccountUserGroupAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupId = defaultUserGroup.UserGroupId,\n HostId = defaultHost.HostId,\n HostAccountIds = new[]\n {\n defaultHostAccount.HostAccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountUserGroupAttachment(ctx, \"default\", \u0026bastionhost.HostAccountUserGroupAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tHostAccountIds: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserGroupAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupName(name)\n .build());\n\n var defaultHostAccountUserGroupAttachment = new HostAccountUserGroupAttachment(\"defaultHostAccountUserGroupAttachment\", HostAccountUserGroupAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupId(defaultUserGroup.userGroupId())\n .hostId(defaultHost.hostId())\n .hostAccountIds(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupName: ${name}\n defaultHostAccountUserGroupAttachment:\n type: alicloud:bastionhost:HostAccountUserGroupAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupId: ${defaultUserGroup.userGroupId}\n hostId: ${defaultHost.hostId}\n hostAccountIds:\n - ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountUserGroupAttachment:HostAccountUserGroupAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003chost_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupName: name,\n});\nconst defaultHostAccountUserGroupAttachment = new alicloud.bastionhost.HostAccountUserGroupAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupId: defaultUserGroup.userGroupId,\n hostId: defaultHost.hostId,\n hostAccountIds: [defaultHostAccount.hostAccountId],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_host.instance_id,\n user_group_name=name)\ndefault_host_account_user_group_attachment = alicloud.bastionhost.HostAccountUserGroupAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_group_id=default_user_group.user_group_id,\n host_id=default_host.host_id,\n host_account_ids=[default_host_account.host_account_id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupName = name,\n });\n\n var defaultHostAccountUserGroupAttachment = new AliCloud.BastionHost.HostAccountUserGroupAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupId = defaultUserGroup.UserGroupId,\n HostId = defaultHost.HostId,\n HostAccountIds = new[]\n {\n defaultHostAccount.HostAccountId,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAccountUserGroupAttachment(ctx, \"default\", \u0026bastionhost.HostAccountUserGroupAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tHostAccountIds: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserGroupAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAccountUserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupName(name)\n .build());\n\n var defaultHostAccountUserGroupAttachment = new HostAccountUserGroupAttachment(\"defaultHostAccountUserGroupAttachment\", HostAccountUserGroupAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupId(defaultUserGroup.userGroupId())\n .hostId(defaultHost.hostId())\n .hostAccountIds(defaultHostAccount.hostAccountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupName: ${name}\n defaultHostAccountUserGroupAttachment:\n type: alicloud:bastionhost:HostAccountUserGroupAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupId: ${defaultUserGroup.userGroupId}\n hostId: ${defaultHost.hostId}\n hostAccountIds:\n - ${defaultHostAccount.hostAccountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAccountUserGroupAttachment:HostAccountUserGroupAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003chost_id\u003e\n```\n\n", "properties": { "hostAccountIds": { "type": "array", @@ -108564,7 +110417,7 @@ } }, "alicloud:bastionhost/hostAttachment:HostAttachment": { - "description": "Provides a Bastion Host Host Attachment resource to add host into one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAttachment = new alicloud.bastionhost.HostAttachment(\"default\", {\n hostGroupId: defaultHostGroup.hostGroupId,\n hostId: defaultHost.hostId,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_attachment = alicloud.bastionhost.HostAttachment(\"default\",\n host_group_id=default_host_group.host_group_id,\n host_id=default_host.host_id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAttachment = new AliCloud.BastionHost.HostAttachment(\"default\", new()\n {\n HostGroupId = defaultHostGroup.HostGroupId,\n HostId = defaultHost.HostId,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAttachment(ctx, \"default\", \u0026bastionhost.HostAttachmentArgs{\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAttachment = new HostAttachment(\"defaultHostAttachment\", HostAttachmentArgs.builder()\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostId(defaultHost.hostId())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAttachment:\n type: alicloud:bastionhost:HostAttachment\n name: default\n properties:\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAttachment:HostAttachment example \u003cinstance_id\u003e:\u003chost_group_id\u003e:\u003chost_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Attachment resource to add host into one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAttachment = new alicloud.bastionhost.HostAttachment(\"default\", {\n hostGroupId: defaultHostGroup.hostGroupId,\n hostId: defaultHost.hostId,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_attachment = alicloud.bastionhost.HostAttachment(\"default\",\n host_group_id=default_host_group.host_group_id,\n host_id=default_host.host_id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAttachment = new AliCloud.BastionHost.HostAttachment(\"default\", new()\n {\n HostGroupId = defaultHostGroup.HostGroupId,\n HostId = defaultHost.HostId,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostAttachment(ctx, \"default\", \u0026bastionhost.HostAttachmentArgs{\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAttachment;\nimport com.pulumi.alicloud.bastionhost.HostAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAttachment = new HostAttachment(\"defaultHostAttachment\", HostAttachmentArgs.builder()\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostId(defaultHost.hostId())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAttachment:\n type: alicloud:bastionhost:HostAttachment\n name: default\n properties:\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostAttachment:HostAttachment example \u003cinstance_id\u003e:\u003chost_group_id\u003e:\u003chost_id\u003e\n```\n\n", "properties": { "hostGroupId": { "type": "string", @@ -108629,7 +110482,7 @@ } }, "alicloud:bastionhost/hostGroup:HostGroup": { - "description": "Provides a Bastion Host Host Group resource.\n\nFor information about Bastion Host Host Group and how to use it, see [What is Host Group](https://www.alibabacloud.com/help/en/doc-detail/204307.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroup:HostGroup example \u003cinstance_id\u003e:\u003chost_group_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Group resource.\n\nFor information about Bastion Host Host Group and how to use it, see [What is Host Group](https://www.alibabacloud.com/help/en/doc-detail/204307.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroup:HostGroup example \u003cinstance_id\u003e:\u003chost_group_id\u003e\n```\n\n", "properties": { "comment": { "type": "string", @@ -108697,7 +110550,7 @@ } }, "alicloud:bastionhost/hostGroupAccountUserAttachment:HostGroupAccountUserAttachment": { - "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user and one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultHostGroupAccountUserAttachment = new alicloud.bastionhost.HostGroupAccountUserAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userId: localUser.userId,\n hostGroupId: defaultHostGroup.hostGroupId,\n hostAccountNames: [defaultHostAccount.hostAccountName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_host_group_account_user_attachment = alicloud.bastionhost.HostGroupAccountUserAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_id=local_user.user_id,\n host_group_id=default_host_group.host_group_id,\n host_account_names=[default_host_account.host_account_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultHostGroupAccountUserAttachment = new AliCloud.BastionHost.HostGroupAccountUserAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserId = localUser.UserId,\n HostGroupId = defaultHostGroup.HostGroupId,\n HostAccountNames = new[]\n {\n defaultHostAccount.HostAccountName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostGroupAccountUserAttachment(ctx, \"default\", \u0026bastionhost.HostGroupAccountUserAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserId: localUser.UserId,\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostAccountNames: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountName,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserAttachment;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultHostGroupAccountUserAttachment = new HostGroupAccountUserAttachment(\"defaultHostGroupAccountUserAttachment\", HostGroupAccountUserAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userId(localUser.userId())\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostAccountNames(defaultHostAccount.hostAccountName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultHostGroupAccountUserAttachment:\n type: alicloud:bastionhost:HostGroupAccountUserAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userId: ${localUser.userId}\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostAccountNames:\n - ${defaultHostAccount.hostAccountName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroupAccountUserAttachment:HostGroupAccountUserAttachment example \u003cinstance_id\u003e:\u003cuser_id\u003e:\u003chost_group_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user and one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultHostGroupAccountUserAttachment = new alicloud.bastionhost.HostGroupAccountUserAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userId: localUser.userId,\n hostGroupId: defaultHostGroup.hostGroupId,\n hostAccountNames: [defaultHostAccount.hostAccountName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_host_group_account_user_attachment = alicloud.bastionhost.HostGroupAccountUserAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_id=local_user.user_id,\n host_group_id=default_host_group.host_group_id,\n host_account_names=[default_host_account.host_account_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultHostGroupAccountUserAttachment = new AliCloud.BastionHost.HostGroupAccountUserAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserId = localUser.UserId,\n HostGroupId = defaultHostGroup.HostGroupId,\n HostAccountNames = new[]\n {\n defaultHostAccount.HostAccountName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostGroupAccountUserAttachment(ctx, \"default\", \u0026bastionhost.HostGroupAccountUserAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserId: localUser.UserId,\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostAccountNames: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountName,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserAttachment;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultHostGroupAccountUserAttachment = new HostGroupAccountUserAttachment(\"defaultHostGroupAccountUserAttachment\", HostGroupAccountUserAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userId(localUser.userId())\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostAccountNames(defaultHostAccount.hostAccountName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultHostGroupAccountUserAttachment:\n type: alicloud:bastionhost:HostGroupAccountUserAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userId: ${localUser.userId}\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostAccountNames:\n - ${defaultHostAccount.hostAccountName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroupAccountUserAttachment:HostGroupAccountUserAttachment example \u003cinstance_id\u003e:\u003cuser_id\u003e:\u003chost_group_id\u003e\n```\n\n", "properties": { "hostAccountNames": { "type": "array", @@ -108785,7 +110638,7 @@ } }, "alicloud:bastionhost/hostGroupAccountUserGroupAttachment:HostGroupAccountUserGroupAttachment": { - "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group and one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupName: name,\n});\nconst defaultHostGroupAccountUserGroupAttachment = new alicloud.bastionhost.HostGroupAccountUserGroupAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupId: defaultUserGroup.userGroupId,\n hostGroupId: defaultHostGroup.hostGroupId,\n hostAccountNames: [defaultHostAccount.hostAccountName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_host.instance_id,\n user_group_name=name)\ndefault_host_group_account_user_group_attachment = alicloud.bastionhost.HostGroupAccountUserGroupAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_group_id=default_user_group.user_group_id,\n host_group_id=default_host_group.host_group_id,\n host_account_names=[default_host_account.host_account_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupName = name,\n });\n\n var defaultHostGroupAccountUserGroupAttachment = new AliCloud.BastionHost.HostGroupAccountUserGroupAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupId = defaultUserGroup.UserGroupId,\n HostGroupId = defaultHostGroup.HostGroupId,\n HostAccountNames = new[]\n {\n defaultHostAccount.HostAccountName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostGroupAccountUserGroupAttachment(ctx, \"default\", \u0026bastionhost.HostGroupAccountUserGroupAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostAccountNames: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountName,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserGroupAttachment;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupName(name)\n .build());\n\n var defaultHostGroupAccountUserGroupAttachment = new HostGroupAccountUserGroupAttachment(\"defaultHostGroupAccountUserGroupAttachment\", HostGroupAccountUserGroupAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupId(defaultUserGroup.userGroupId())\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostAccountNames(defaultHostAccount.hostAccountName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupName: ${name}\n defaultHostGroupAccountUserGroupAttachment:\n type: alicloud:bastionhost:HostGroupAccountUserGroupAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupId: ${defaultUserGroup.userGroupId}\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostAccountNames:\n - ${defaultHostAccount.hostAccountName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroupAccountUserGroupAttachment:HostGroupAccountUserGroupAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003chost_group_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group and one host group.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultHost = new alicloud.bastionhost.Host(\"default\", {\n instanceId: defaultInstance.id,\n hostName: name,\n activeAddressType: \"Private\",\n hostPrivateAddress: \"172.16.0.10\",\n osType: \"Linux\",\n source: \"Local\",\n});\nconst defaultHostAccount = new alicloud.bastionhost.HostAccount(\"default\", {\n hostAccountName: name,\n hostId: defaultHost.hostId,\n instanceId: defaultHost.instanceId,\n protocolName: \"SSH\",\n password: \"YourPassword12345\",\n});\nconst defaultHostGroup = new alicloud.bastionhost.HostGroup(\"default\", {\n hostGroupName: name,\n instanceId: defaultInstance.id,\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupName: name,\n});\nconst defaultHostGroupAccountUserGroupAttachment = new alicloud.bastionhost.HostGroupAccountUserGroupAttachment(\"default\", {\n instanceId: defaultHost.instanceId,\n userGroupId: defaultUserGroup.userGroupId,\n hostGroupId: defaultHostGroup.hostGroupId,\n hostAccountNames: [defaultHostAccount.hostAccountName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_host = alicloud.bastionhost.Host(\"default\",\n instance_id=default_instance.id,\n host_name=name,\n active_address_type=\"Private\",\n host_private_address=\"172.16.0.10\",\n os_type=\"Linux\",\n source=\"Local\")\ndefault_host_account = alicloud.bastionhost.HostAccount(\"default\",\n host_account_name=name,\n host_id=default_host.host_id,\n instance_id=default_host.instance_id,\n protocol_name=\"SSH\",\n password=\"YourPassword12345\")\ndefault_host_group = alicloud.bastionhost.HostGroup(\"default\",\n host_group_name=name,\n instance_id=default_instance.id)\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_host.instance_id,\n user_group_name=name)\ndefault_host_group_account_user_group_attachment = alicloud.bastionhost.HostGroupAccountUserGroupAttachment(\"default\",\n instance_id=default_host.instance_id,\n user_group_id=default_user_group.user_group_id,\n host_group_id=default_host_group.host_group_id,\n host_account_names=[default_host_account.host_account_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultHost = new AliCloud.BastionHost.Host(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n HostName = name,\n ActiveAddressType = \"Private\",\n HostPrivateAddress = \"172.16.0.10\",\n OsType = \"Linux\",\n Source = \"Local\",\n });\n\n var defaultHostAccount = new AliCloud.BastionHost.HostAccount(\"default\", new()\n {\n HostAccountName = name,\n HostId = defaultHost.HostId,\n InstanceId = defaultHost.InstanceId,\n ProtocolName = \"SSH\",\n Password = \"YourPassword12345\",\n });\n\n var defaultHostGroup = new AliCloud.BastionHost.HostGroup(\"default\", new()\n {\n HostGroupName = name,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupName = name,\n });\n\n var defaultHostGroupAccountUserGroupAttachment = new AliCloud.BastionHost.HostGroupAccountUserGroupAttachment(\"default\", new()\n {\n InstanceId = defaultHost.InstanceId,\n UserGroupId = defaultUserGroup.UserGroupId,\n HostGroupId = defaultHostGroup.HostGroupId,\n HostAccountNames = new[]\n {\n defaultHostAccount.HostAccountName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHost, err := bastionhost.NewHost(ctx, \"default\", \u0026bastionhost.HostArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tActiveAddressType: pulumi.String(\"Private\"),\n\t\t\tHostPrivateAddress: pulumi.String(\"172.16.0.10\"),\n\t\t\tOsType: pulumi.String(\"Linux\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostAccount, err := bastionhost.NewHostAccount(ctx, \"default\", \u0026bastionhost.HostAccountArgs{\n\t\t\tHostAccountName: pulumi.String(name),\n\t\t\tHostId: defaultHost.HostId,\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tProtocolName: pulumi.String(\"SSH\"),\n\t\t\tPassword: pulumi.String(\"YourPassword12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHostGroup, err := bastionhost.NewHostGroup(ctx, \"default\", \u0026bastionhost.HostGroupArgs{\n\t\t\tHostGroupName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewHostGroupAccountUserGroupAttachment(ctx, \"default\", \u0026bastionhost.HostGroupAccountUserGroupAttachmentArgs{\n\t\t\tInstanceId: defaultHost.InstanceId,\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tHostGroupId: defaultHostGroup.HostGroupId,\n\t\t\tHostAccountNames: pulumi.StringArray{\n\t\t\t\tdefaultHostAccount.HostAccountName,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.Host;\nimport com.pulumi.alicloud.bastionhost.HostArgs;\nimport com.pulumi.alicloud.bastionhost.HostAccount;\nimport com.pulumi.alicloud.bastionhost.HostAccountArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroup;\nimport com.pulumi.alicloud.bastionhost.HostGroupArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserGroupAttachment;\nimport com.pulumi.alicloud.bastionhost.HostGroupAccountUserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultHost = new Host(\"defaultHost\", HostArgs.builder()\n .instanceId(defaultInstance.id())\n .hostName(name)\n .activeAddressType(\"Private\")\n .hostPrivateAddress(\"172.16.0.10\")\n .osType(\"Linux\")\n .source(\"Local\")\n .build());\n\n var defaultHostAccount = new HostAccount(\"defaultHostAccount\", HostAccountArgs.builder()\n .hostAccountName(name)\n .hostId(defaultHost.hostId())\n .instanceId(defaultHost.instanceId())\n .protocolName(\"SSH\")\n .password(\"YourPassword12345\")\n .build());\n\n var defaultHostGroup = new HostGroup(\"defaultHostGroup\", HostGroupArgs.builder()\n .hostGroupName(name)\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupName(name)\n .build());\n\n var defaultHostGroupAccountUserGroupAttachment = new HostGroupAccountUserGroupAttachment(\"defaultHostGroupAccountUserGroupAttachment\", HostGroupAccountUserGroupAttachmentArgs.builder()\n .instanceId(defaultHost.instanceId())\n .userGroupId(defaultUserGroup.userGroupId())\n .hostGroupId(defaultHostGroup.hostGroupId())\n .hostAccountNames(defaultHostAccount.hostAccountName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultHost:\n type: alicloud:bastionhost:Host\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n hostName: ${name}\n activeAddressType: Private\n hostPrivateAddress: 172.16.0.10\n osType: Linux\n source: Local\n defaultHostAccount:\n type: alicloud:bastionhost:HostAccount\n name: default\n properties:\n hostAccountName: ${name}\n hostId: ${defaultHost.hostId}\n instanceId: ${defaultHost.instanceId}\n protocolName: SSH\n password: YourPassword12345\n defaultHostGroup:\n type: alicloud:bastionhost:HostGroup\n name: default\n properties:\n hostGroupName: ${name}\n instanceId: ${defaultInstance.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupName: ${name}\n defaultHostGroupAccountUserGroupAttachment:\n type: alicloud:bastionhost:HostGroupAccountUserGroupAttachment\n name: default\n properties:\n instanceId: ${defaultHost.instanceId}\n userGroupId: ${defaultUserGroup.userGroupId}\n hostGroupId: ${defaultHostGroup.hostGroupId}\n hostAccountNames:\n - ${defaultHostAccount.hostAccountName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostGroupAccountUserGroupAttachment:HostGroupAccountUserGroupAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003chost_group_id\u003e\n```\n\n", "properties": { "hostAccountNames": { "type": "array", @@ -108873,7 +110726,7 @@ } }, "alicloud:bastionhost/hostShareKey:HostShareKey": { - "description": "Provides a Bastion Host Share Key resource.\n\nFor information about Bastion Host Host Share Key and how to use it, see [What is Host Share Key](https://www.alibabacloud.com/help/en/bastion-host/latest/createhostsharekey).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.bastionhost.getInstances({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])}));\n }\n});\nconst defaultInstance: alicloud.bastionhost.Instance[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultInstance.push(new alicloud.bastionhost.Instance(`default-${range.value}`, {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup[0].id],\n }));\n }\n});\nconst instanceId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, defaultInstance[0].id]).apply(([length, _default, id]) =\u003e length \u003e 0 ? _default.ids?.[0] : id);\nconst privateKey = config.get(\"privateKey\") || \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\nconst defaultHostShareKey = new alicloud.bastionhost.HostShareKey(\"default\", {\n hostShareKeyName: name,\n instanceId: instanceId,\n privateKey: privateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.bastionhost.get_instances()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\", vpc_id=default_get_networks.ids[0]))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_instance = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_instance.append(alicloud.bastionhost.Instance(f\"default-{range['value']}\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group[0].id.apply(lambda id: id)]))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ninstance_id = pulumi.Output.all(\n length=len(default.ids),\n id=default_instance[0].id\n).apply(lambda resolved_outputs: default.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\ndefault_host_share_key = alicloud.bastionhost.HostShareKey(\"default\",\n host_share_key_name=name,\n instance_id=instance_id,\n private_key=private_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.BastionHost.GetInstances.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n }));\n }\n var defaultInstance = new List\u003cAliCloud.BastionHost.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.BastionHost.Instance($\"default-{range.Value}\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup[0].Id,\n },\n }));\n }\n var instanceId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length, @default, defaultInstance[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0]) : id;\n });\n\n var privateKey = config.Get(\"privateKey\") ?? \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\n var defaultHostShareKey = new AliCloud.BastionHost.HostShareKey(\"default\", new()\n {\n HostShareKeyName = name,\n InstanceId = instanceId,\n PrivateKey = privateKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := bastionhost.GetInstances(ctx, \u0026bastionhost.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp0 = 0\n\t\t} else {\n\t\t\ttmp0 = 1\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp0, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp1 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp1 = 0\n\t\t} else {\n\t\t\ttmp1 = 1\n\t\t}\n\t\tvar defaultInstance []*bastionhost.Instance\n\t\tfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp1, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := bastionhost.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026bastionhost.InstanceArgs{\n\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup[0].ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\tvar tmp2 *string\n\t\tif length \u003e 0 {\n\t\t\ttmp2 = _default.Ids[0]\n\t\t} else {\n\t\t\ttmp2 = id\n\t\t}\n\t\tinstanceId := pulumi.All(len(_default.Ids), defaultInstance[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\n\t\t\tlength := _args[0].(int)\n\t\t\tid := _args[1].(string)\n\t\t\treturn \u0026tmp2, nil\n\t\t}).(pulumi.StringPtrOutput)\n\t\tprivateKey := \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\t_, err = bastionhost.NewHostShareKey(ctx, \"default\", \u0026bastionhost.HostShareKeyArgs{\n\t\t\tHostShareKeyName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(instanceId),\n\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.bastionhost.BastionhostFunctions;\nimport com.pulumi.alicloud.bastionhost.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostShareKey;\nimport com.pulumi.alicloud.bastionhost.HostShareKeyArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = BastionhostFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n \n}\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup[0].id())\n .build());\n\n \n}\n final var instanceId = Output.tuple(default_.ids().length(), defaultInstance[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? default_.ids()[0] : id;\n });\n\n final var privateKey = config.get(\"privateKey\").orElse(\"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\");\n var defaultHostShareKey = new HostShareKey(\"defaultHostShareKey\", HostShareKeyArgs.builder()\n .hostShareKeyName(name)\n .instanceId(instanceId)\n .privateKey(privateKey)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host Share Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostShareKey:HostShareKey example \u003cinstance_id\u003e:\u003chost_share_key_id\u003e\n```\n\n", + "description": "Provides a Bastion Host Share Key resource.\n\nFor information about Bastion Host Host Share Key and how to use it, see [What is Host Share Key](https://www.alibabacloud.com/help/en/bastion-host/latest/createhostsharekey).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.bastionhost.getInstances({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])}));\n }\n});\nconst defaultInstance: alicloud.bastionhost.Instance[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultInstance.push(new alicloud.bastionhost.Instance(`default-${range.value}`, {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup[0].id],\n }));\n }\n});\nconst instanceId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, defaultInstance[0].id]).apply(([length, _default, id]) =\u003e length \u003e 0 ? _default.ids?.[0] : id);\nconst privateKey = config.get(\"privateKey\") || \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\nconst defaultHostShareKey = new alicloud.bastionhost.HostShareKey(\"default\", {\n hostShareKeyName: name,\n instanceId: instanceId,\n privateKey: privateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.bastionhost.get_instances()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\", vpc_id=default_get_networks.ids[0]))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_instance = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_instance.append(alicloud.bastionhost.Instance(f\"default-{range['value']}\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group[0].id.apply(lambda id: id)]))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ninstance_id = pulumi.Output.all(\n length=len(default.ids),\n id=default_instance[0].id\n).apply(lambda resolved_outputs: default.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\ndefault_host_share_key = alicloud.bastionhost.HostShareKey(\"default\",\n host_share_key_name=name,\n instance_id=instance_id,\n private_key=private_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.BastionHost.GetInstances.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n }));\n }\n var defaultInstance = new List\u003cAliCloud.BastionHost.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.BastionHost.Instance($\"default-{range.Value}\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup[0].Id,\n },\n }));\n }\n var instanceId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids)).Length, @default, defaultInstance[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0]) : id;\n });\n\n var privateKey = config.Get(\"privateKey\") ?? \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\";\n var defaultHostShareKey = new AliCloud.BastionHost.HostShareKey(\"default\", new()\n {\n HostShareKeyName = name,\n InstanceId = instanceId,\n PrivateKey = privateKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := bastionhost.GetInstances(ctx, \u0026bastionhost.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp0 = 0\n\t\t} else {\n\t\t\ttmp0 = 1\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp0, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp1 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp1 = 0\n\t\t} else {\n\t\t\ttmp1 = 1\n\t\t}\n\t\tvar defaultInstance []*bastionhost.Instance\n\t\tfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp1, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := bastionhost.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026bastionhost.InstanceArgs{\n\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup[0].ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\tvar tmp2 *string\n\t\tif length \u003e 0 {\n\t\t\ttmp2 = _default.Ids[0]\n\t\t} else {\n\t\t\ttmp2 = id\n\t\t}\n\t\tinstanceId := pulumi.All(len(_default.Ids), defaultInstance[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\n\t\t\tlength := _args[0].(int)\n\t\t\tid := _args[1].(string)\n\t\t\treturn \u0026tmp2, nil\n\t\t}).(pulumi.StringPtrOutput)\n\t\tprivateKey := \"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\"\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\t_, err = bastionhost.NewHostShareKey(ctx, \"default\", \u0026bastionhost.HostShareKeyArgs{\n\t\t\tHostShareKeyName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(instanceId),\n\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.bastionhost.BastionhostFunctions;\nimport com.pulumi.alicloud.bastionhost.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.HostShareKey;\nimport com.pulumi.alicloud.bastionhost.HostShareKeyArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = BastionhostFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n \n}\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup[0].id())\n .build());\n\n \n}\n final var instanceId = Output.tuple(default_.ids().length(), defaultInstance[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? default_.ids()[0] : id;\n });\n\n final var privateKey = config.get(\"privateKey\").orElse(\"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ==\");\n var defaultHostShareKey = new HostShareKey(\"defaultHostShareKey\", HostShareKeyArgs.builder()\n .hostShareKeyName(name)\n .instanceId(instanceId)\n .privateKey(privateKey)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host Share Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/hostShareKey:HostShareKey example \u003cinstance_id\u003e:\u003chost_share_key_id\u003e\n```\n\n", "properties": { "hostShareKeyId": { "type": "string", @@ -109271,7 +111124,7 @@ } }, "alicloud:bastionhost/user:User": { - "description": "Provides a Bastion Host User resource.\n\nFor information about Bastion Host User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/bastion-host/latest/api-yundun-bastionhost-2019-12-09-createuser).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst user = new alicloud.ram.User(\"user\", {\n name: `${name}_bastionhost_user`,\n displayName: `${name}_bastionhost_user`,\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst ramUser = new alicloud.bastionhost.User(\"ram_user\", {\n instanceId: defaultInstance.id,\n source: \"Ram\",\n sourceUserId: defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id),\n userName: user.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\nuser = alicloud.ram.User(\"user\",\n name=f\"{name}_bastionhost_user\",\n display_name=f\"{name}_bastionhost_user\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\ndefault_get_account = alicloud.get_account()\nram_user = alicloud.bastionhost.User(\"ram_user\",\n instance_id=default_instance.id,\n source=\"Ram\",\n source_user_id=default_get_account.id,\n user_name=user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"{name}_bastionhost_user\",\n DisplayName = $\"{name}_bastionhost_user\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var ramUser = new AliCloud.BastionHost.User(\"ram_user\", new()\n {\n InstanceId = defaultInstance.Id,\n Source = \"Ram\",\n SourceUserId = defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n UserName = user.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_bastionhost_user\", name),\n\t\t\tDisplayName: pulumi.Sprintf(\"%v_bastionhost_user\", name),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewUser(ctx, \"ram_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tSource: pulumi.String(\"Ram\"),\n\t\t\tSourceUserId: pulumi.String(defaultGetAccount.Id),\n\t\t\tUserName: user.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var localUser = new com.pulumi.alicloud.bastionhost.User(\"localUser\", com.pulumi.alicloud.bastionhost.UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var user = new com.pulumi.alicloud.ram.User(\"user\", com.pulumi.alicloud.ram.UserArgs.builder()\n .name(String.format(\"%s_bastionhost_user\", name))\n .displayName(String.format(\"%s_bastionhost_user\", name))\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var ramUser = new com.pulumi.alicloud.bastionhost.User(\"ramUser\", com.pulumi.alicloud.bastionhost.UserArgs.builder()\n .instanceId(defaultInstance.id())\n .source(\"Ram\")\n .sourceUserId(defaultGetAccount.id())\n .userName(user.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n user:\n type: alicloud:ram:User\n properties:\n name: ${name}_bastionhost_user\n displayName: ${name}_bastionhost_user\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n ramUser:\n type: alicloud:bastionhost:User\n name: ram_user\n properties:\n instanceId: ${defaultInstance.id}\n source: Ram\n sourceUserId: ${defaultGetAccount.id}\n userName: ${user.name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/user:User example \u003cinstance_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Bastion Host User resource.\n\nFor information about Bastion Host User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/bastion-host/latest/api-yundun-bastionhost-2019-12-09-createuser).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst user = new alicloud.ram.User(\"user\", {\n name: `${name}_bastionhost_user`,\n displayName: `${name}_bastionhost_user`,\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst ramUser = new alicloud.bastionhost.User(\"ram_user\", {\n instanceId: defaultInstance.id,\n source: \"Ram\",\n sourceUserId: defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id),\n userName: user.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\nuser = alicloud.ram.User(\"user\",\n name=f\"{name}_bastionhost_user\",\n display_name=f\"{name}_bastionhost_user\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\ndefault_get_account = alicloud.get_account()\nram_user = alicloud.bastionhost.User(\"ram_user\",\n instance_id=default_instance.id,\n source=\"Ram\",\n source_user_id=default_get_account.id,\n user_name=user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"{name}_bastionhost_user\",\n DisplayName = $\"{name}_bastionhost_user\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var ramUser = new AliCloud.BastionHost.User(\"ram_user\", new()\n {\n InstanceId = defaultInstance.Id,\n Source = \"Ram\",\n SourceUserId = defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n UserName = user.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_bastionhost_user\", name),\n\t\t\tDisplayName: pulumi.Sprintf(\"%v_bastionhost_user\", name),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewUser(ctx, \"ram_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tSource: pulumi.String(\"Ram\"),\n\t\t\tSourceUserId: pulumi.String(defaultGetAccount.Id),\n\t\t\tUserName: user.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var localUser = new com.pulumi.alicloud.bastionhost.User(\"localUser\", com.pulumi.alicloud.bastionhost.UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var user = new com.pulumi.alicloud.ram.User(\"user\", com.pulumi.alicloud.ram.UserArgs.builder()\n .name(String.format(\"%s_bastionhost_user\", name))\n .displayName(String.format(\"%s_bastionhost_user\", name))\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var ramUser = new com.pulumi.alicloud.bastionhost.User(\"ramUser\", com.pulumi.alicloud.bastionhost.UserArgs.builder()\n .instanceId(defaultInstance.id())\n .source(\"Ram\")\n .sourceUserId(defaultGetAccount.id())\n .userName(user.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n user:\n type: alicloud:ram:User\n properties:\n name: ${name}_bastionhost_user\n displayName: ${name}_bastionhost_user\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n ramUser:\n type: alicloud:bastionhost:User\n name: ram_user\n properties:\n instanceId: ${defaultInstance.id}\n source: Ram\n sourceUserId: ${defaultGetAccount.id}\n userName: ${user.name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/user:User example \u003cinstance_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "comment": { "type": "string", @@ -109449,7 +111302,7 @@ } }, "alicloud:bastionhost/userAttachment:UserAttachment": { - "description": "Provides a Bastion Host User Attachment resource to add user to one user group.\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultInstance.id,\n userGroupName: name,\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultUserAttachment = new alicloud.bastionhost.UserAttachment(\"default\", {\n instanceId: defaultInstance.id,\n userGroupId: defaultUserGroup.userGroupId,\n userId: localUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_instance.id,\n user_group_name=name)\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_user_attachment = alicloud.bastionhost.UserAttachment(\"default\",\n instance_id=default_instance.id,\n user_group_id=default_user_group.user_group_id,\n user_id=local_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupName = name,\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultUserAttachment = new AliCloud.BastionHost.UserAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupId = defaultUserGroup.UserGroupId,\n UserId = localUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewUserAttachment(ctx, \"default\", \u0026bastionhost.UserAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tUserId: localUser.UserId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.UserAttachment;\nimport com.pulumi.alicloud.bastionhost.UserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupName(name)\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultUserAttachment = new UserAttachment(\"defaultUserAttachment\", UserAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupId(defaultUserGroup.userGroupId())\n .userId(localUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupName: ${name}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultUserAttachment:\n type: alicloud:bastionhost:UserAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupId: ${defaultUserGroup.userGroupId}\n userId: ${localUser.userId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/userAttachment:UserAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Bastion Host User Attachment resource to add user to one user group.\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultInstance.id,\n userGroupName: name,\n});\nconst localUser = new alicloud.bastionhost.User(\"local_user\", {\n instanceId: defaultInstance.id,\n mobileCountryCode: \"CN\",\n mobile: \"13312345678\",\n password: \"YourPassword-123\",\n source: \"Local\",\n userName: `${name}_local_user`,\n});\nconst defaultUserAttachment = new alicloud.bastionhost.UserAttachment(\"default\", {\n instanceId: defaultInstance.id,\n userGroupId: defaultUserGroup.userGroupId,\n userId: localUser.userId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_instance.id,\n user_group_name=name)\nlocal_user = alicloud.bastionhost.User(\"local_user\",\n instance_id=default_instance.id,\n mobile_country_code=\"CN\",\n mobile=\"13312345678\",\n password=\"YourPassword-123\",\n source=\"Local\",\n user_name=f\"{name}_local_user\")\ndefault_user_attachment = alicloud.bastionhost.UserAttachment(\"default\",\n instance_id=default_instance.id,\n user_group_id=default_user_group.user_group_id,\n user_id=local_user.user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupName = name,\n });\n\n var localUser = new AliCloud.BastionHost.User(\"local_user\", new()\n {\n InstanceId = defaultInstance.Id,\n MobileCountryCode = \"CN\",\n Mobile = \"13312345678\",\n Password = \"YourPassword-123\",\n Source = \"Local\",\n UserName = $\"{name}_local_user\",\n });\n\n var defaultUserAttachment = new AliCloud.BastionHost.UserAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupId = defaultUserGroup.UserGroupId,\n UserId = localUser.UserId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUserGroup, err := bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlocalUser, err := bastionhost.NewUser(ctx, \"local_user\", \u0026bastionhost.UserArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMobileCountryCode: pulumi.String(\"CN\"),\n\t\t\tMobile: pulumi.String(\"13312345678\"),\n\t\t\tPassword: pulumi.String(\"YourPassword-123\"),\n\t\t\tSource: pulumi.String(\"Local\"),\n\t\t\tUserName: pulumi.Sprintf(\"%v_local_user\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bastionhost.NewUserAttachment(ctx, \"default\", \u0026bastionhost.UserAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupId: defaultUserGroup.UserGroupId,\n\t\t\tUserId: localUser.UserId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport com.pulumi.alicloud.bastionhost.User;\nimport com.pulumi.alicloud.bastionhost.UserArgs;\nimport com.pulumi.alicloud.bastionhost.UserAttachment;\nimport com.pulumi.alicloud.bastionhost.UserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupName(name)\n .build());\n\n var localUser = new User(\"localUser\", UserArgs.builder()\n .instanceId(defaultInstance.id())\n .mobileCountryCode(\"CN\")\n .mobile(\"13312345678\")\n .password(\"YourPassword-123\")\n .source(\"Local\")\n .userName(String.format(\"%s_local_user\", name))\n .build());\n\n var defaultUserAttachment = new UserAttachment(\"defaultUserAttachment\", UserAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupId(defaultUserGroup.userGroupId())\n .userId(localUser.userId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupName: ${name}\n localUser:\n type: alicloud:bastionhost:User\n name: local_user\n properties:\n instanceId: ${defaultInstance.id}\n mobileCountryCode: CN\n mobile: '13312345678'\n password: YourPassword-123\n source: Local\n userName: ${name}_local_user\n defaultUserAttachment:\n type: alicloud:bastionhost:UserAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupId: ${defaultUserGroup.userGroupId}\n userId: ${localUser.userId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/userAttachment:UserAttachment example \u003cinstance_id\u003e:\u003cuser_group_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -109514,7 +111367,7 @@ } }, "alicloud:bastionhost/userGroup:UserGroup": { - "description": "Provides a Bastion Host User Group resource.\n\nFor information about Bastion Host User Group and how to use it, see [What is User Group](https://www.alibabacloud.com/help/doc-detail/204596.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultInstance.id,\n userGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_instance.id,\n user_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBastion Host User Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/userGroup:UserGroup example \u003cinstance_id\u003e:\u003cuser_group_id\u003e\n```\n\n", + "description": "Provides a Bastion Host User Group resource.\n\nFor information about Bastion Host User Group and how to use it, see [What is User Group](https://www.alibabacloud.com/help/doc-detail/204596.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultInstance = new alicloud.bastionhost.Instance(\"default\", {\n description: name,\n licenseCode: \"bhah_ent_50_asset\",\n planCode: \"cloudbastion\",\n storage: \"5\",\n bandwidth: \"5\",\n period: 1,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultUserGroup = new alicloud.bastionhost.UserGroup(\"default\", {\n instanceId: defaultInstance.id,\n userGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.bastionhost.Instance(\"default\",\n description=name,\n license_code=\"bhah_ent_50_asset\",\n plan_code=\"cloudbastion\",\n storage=\"5\",\n bandwidth=\"5\",\n period=1,\n vswitch_id=default_get_switches.ids[0],\n security_group_ids=[default_security_group.id])\ndefault_user_group = alicloud.bastionhost.UserGroup(\"default\",\n instance_id=default_instance.id,\n user_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.BastionHost.Instance(\"default\", new()\n {\n Description = name,\n LicenseCode = \"bhah_ent_50_asset\",\n PlanCode = \"cloudbastion\",\n Storage = \"5\",\n Bandwidth = \"5\",\n Period = 1,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultUserGroup = new AliCloud.BastionHost.UserGroup(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n UserGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := bastionhost.NewInstance(ctx, \"default\", \u0026bastionhost.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLicenseCode: pulumi.String(\"bhah_ent_50_asset\"),\n\t\t\tPlanCode: pulumi.String(\"cloudbastion\"),\n\t\t\tStorage: pulumi.String(\"5\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.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 = bastionhost.NewUserGroup(ctx, \"default\", \u0026bastionhost.UserGroupArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tUserGroupName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.bastionhost.Instance;\nimport com.pulumi.alicloud.bastionhost.InstanceArgs;\nimport com.pulumi.alicloud.bastionhost.UserGroup;\nimport com.pulumi.alicloud.bastionhost.UserGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .licenseCode(\"bhah_ent_50_asset\")\n .planCode(\"cloudbastion\")\n .storage(\"5\")\n .bandwidth(\"5\")\n .period(1)\n .vswitchId(defaultGetSwitches.ids()[0])\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultUserGroup = new UserGroup(\"defaultUserGroup\", UserGroupArgs.builder()\n .instanceId(defaultInstance.id())\n .userGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:bastionhost:Instance\n name: default\n properties:\n description: ${name}\n licenseCode: bhah_ent_50_asset\n planCode: cloudbastion\n storage: '5'\n bandwidth: '5'\n period: '1'\n vswitchId: ${defaultGetSwitches.ids[0]}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultUserGroup:\n type: alicloud:bastionhost:UserGroup\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n userGroupName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBastion Host User Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bastionhost/userGroup:UserGroup example \u003cinstance_id\u003e:\u003cuser_group_id\u003e\n```\n\n", "properties": { "comment": { "type": "string", @@ -109582,7 +111435,7 @@ } }, "alicloud:bp/studioApplication:StudioApplication": { - "description": "Provides a Cloud Architect Design Tools Application resource.\n\nFor information about Cloud Architect Design Tools Application and how to use it, see [What is Application](https://help.aliyun.com/document_detail/428263.html).\n\n\u003e **NOTE:** Available since v1.192.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetInstances = alicloud.ecs.getInstances({\n status: \"Running\",\n});\nconst defaultStudioApplication = new alicloud.bp.StudioApplication(\"default\", {\n applicationName: name,\n templateId: \"YAUUQIYRSV1CMFGX\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n areaId: \"cn-hangzhou\",\n instances: [{\n id: \"data.alicloud_instances.default.instances.0.id\",\n nodeName: \"data.alicloud_instances.default.instances.0.name\",\n nodeType: \"ecs\",\n }],\n configuration: {\n enableMonitor: \"1\",\n },\n variables: {\n test: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_instances = alicloud.ecs.get_instances(status=\"Running\")\ndefault_studio_application = alicloud.bp.StudioApplication(\"default\",\n application_name=name,\n template_id=\"YAUUQIYRSV1CMFGX\",\n resource_group_id=default.groups[0].id,\n area_id=\"cn-hangzhou\",\n instances=[{\n \"id\": \"data.alicloud_instances.default.instances.0.id\",\n \"node_name\": \"data.alicloud_instances.default.instances.0.name\",\n \"node_type\": \"ecs\",\n }],\n configuration={\n \"enableMonitor\": \"1\",\n },\n variables={\n \"test\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetInstances = AliCloud.Ecs.GetInstances.Invoke(new()\n {\n Status = \"Running\",\n });\n\n var defaultStudioApplication = new AliCloud.Bp.StudioApplication(\"default\", new()\n {\n ApplicationName = name,\n TemplateId = \"YAUUQIYRSV1CMFGX\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AreaId = \"cn-hangzhou\",\n Instances = new[]\n {\n new AliCloud.Bp.Inputs.StudioApplicationInstanceArgs\n {\n Id = \"data.alicloud_instances.default.instances.0.id\",\n NodeName = \"data.alicloud_instances.default.instances.0.name\",\n NodeType = \"ecs\",\n },\n },\n Configuration = \n {\n { \"enableMonitor\", \"1\" },\n },\n Variables = \n {\n { \"test\", \"1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstances(ctx, \u0026ecs.GetInstancesArgs{\n\t\t\tStatus: pulumi.StringRef(\"Running\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bp.NewStudioApplication(ctx, \"default\", \u0026bp.StudioApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tTemplateId: pulumi.String(\"YAUUQIYRSV1CMFGX\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAreaId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tInstances: bp.StudioApplicationInstanceArray{\n\t\t\t\t\u0026bp.StudioApplicationInstanceArgs{\n\t\t\t\t\tId: pulumi.String(\"data.alicloud_instances.default.instances.0.id\"),\n\t\t\t\t\tNodeName: pulumi.String(\"data.alicloud_instances.default.instances.0.name\"),\n\t\t\t\t\tNodeType: pulumi.String(\"ecs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\"enableMonitor\": pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"1\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.bp.StudioApplication;\nimport com.pulumi.alicloud.bp.StudioApplicationArgs;\nimport com.pulumi.alicloud.bp.inputs.StudioApplicationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetInstances = EcsFunctions.getInstances(GetInstancesArgs.builder()\n .status(\"Running\")\n .build());\n\n var defaultStudioApplication = new StudioApplication(\"defaultStudioApplication\", StudioApplicationArgs.builder()\n .applicationName(name)\n .templateId(\"YAUUQIYRSV1CMFGX\")\n .resourceGroupId(default_.groups()[0].id())\n .areaId(\"cn-hangzhou\")\n .instances(StudioApplicationInstanceArgs.builder()\n .id(\"data.alicloud_instances.default.instances.0.id\")\n .nodeName(\"data.alicloud_instances.default.instances.0.name\")\n .nodeType(\"ecs\")\n .build())\n .configuration(Map.of(\"enableMonitor\", \"1\"))\n .variables(Map.of(\"test\", \"1\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultStudioApplication:\n type: alicloud:bp:StudioApplication\n name: default\n properties:\n applicationName: ${name}\n templateId: YAUUQIYRSV1CMFGX\n resourceGroupId: ${default.groups[0].id}\n areaId: cn-hangzhou\n instances:\n - id: data.alicloud_instances.default.instances.0.id\n nodeName: data.alicloud_instances.default.instances.0.name\n nodeType: ecs\n configuration:\n enableMonitor: '1'\n variables:\n test: '1'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetInstances:\n fn::invoke:\n function: alicloud:ecs:getInstances\n arguments:\n status: Running\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Architect Design Tools Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bp/studioApplication:StudioApplication example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Architect Design Tools Application resource.\n\nFor information about Cloud Architect Design Tools Application and how to use it, see [What is Application](https://help.aliyun.com/document_detail/428263.html).\n\n\u003e **NOTE:** Available since v1.192.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetInstances = alicloud.ecs.getInstances({\n status: \"Running\",\n});\nconst defaultStudioApplication = new alicloud.bp.StudioApplication(\"default\", {\n applicationName: name,\n templateId: \"YAUUQIYRSV1CMFGX\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n areaId: \"cn-hangzhou\",\n instances: [{\n id: \"data.alicloud_instances.default.instances.0.id\",\n nodeName: \"data.alicloud_instances.default.instances.0.name\",\n nodeType: \"ecs\",\n }],\n configuration: {\n enableMonitor: \"1\",\n },\n variables: {\n test: \"1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_instances = alicloud.ecs.get_instances(status=\"Running\")\ndefault_studio_application = alicloud.bp.StudioApplication(\"default\",\n application_name=name,\n template_id=\"YAUUQIYRSV1CMFGX\",\n resource_group_id=default.groups[0].id,\n area_id=\"cn-hangzhou\",\n instances=[{\n \"id\": \"data.alicloud_instances.default.instances.0.id\",\n \"node_name\": \"data.alicloud_instances.default.instances.0.name\",\n \"node_type\": \"ecs\",\n }],\n configuration={\n \"enableMonitor\": \"1\",\n },\n variables={\n \"test\": \"1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetInstances = AliCloud.Ecs.GetInstances.Invoke(new()\n {\n Status = \"Running\",\n });\n\n var defaultStudioApplication = new AliCloud.Bp.StudioApplication(\"default\", new()\n {\n ApplicationName = name,\n TemplateId = \"YAUUQIYRSV1CMFGX\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AreaId = \"cn-hangzhou\",\n Instances = new[]\n {\n new AliCloud.Bp.Inputs.StudioApplicationInstanceArgs\n {\n Id = \"data.alicloud_instances.default.instances.0.id\",\n NodeName = \"data.alicloud_instances.default.instances.0.name\",\n NodeType = \"ecs\",\n },\n },\n Configuration = \n {\n { \"enableMonitor\", \"1\" },\n },\n Variables = \n {\n { \"test\", \"1\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstances(ctx, \u0026ecs.GetInstancesArgs{\n\t\t\tStatus: pulumi.StringRef(\"Running\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bp.NewStudioApplication(ctx, \"default\", \u0026bp.StudioApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tTemplateId: pulumi.String(\"YAUUQIYRSV1CMFGX\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAreaId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tInstances: bp.StudioApplicationInstanceArray{\n\t\t\t\t\u0026bp.StudioApplicationInstanceArgs{\n\t\t\t\t\tId: pulumi.String(\"data.alicloud_instances.default.instances.0.id\"),\n\t\t\t\t\tNodeName: pulumi.String(\"data.alicloud_instances.default.instances.0.name\"),\n\t\t\t\t\tNodeType: pulumi.String(\"ecs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\"enableMonitor\": pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"1\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.bp.StudioApplication;\nimport com.pulumi.alicloud.bp.StudioApplicationArgs;\nimport com.pulumi.alicloud.bp.inputs.StudioApplicationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetInstances = EcsFunctions.getInstances(GetInstancesArgs.builder()\n .status(\"Running\")\n .build());\n\n var defaultStudioApplication = new StudioApplication(\"defaultStudioApplication\", StudioApplicationArgs.builder()\n .applicationName(name)\n .templateId(\"YAUUQIYRSV1CMFGX\")\n .resourceGroupId(default_.groups()[0].id())\n .areaId(\"cn-hangzhou\")\n .instances(StudioApplicationInstanceArgs.builder()\n .id(\"data.alicloud_instances.default.instances.0.id\")\n .nodeName(\"data.alicloud_instances.default.instances.0.name\")\n .nodeType(\"ecs\")\n .build())\n .configuration(Map.of(\"enableMonitor\", \"1\"))\n .variables(Map.of(\"test\", \"1\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultStudioApplication:\n type: alicloud:bp:StudioApplication\n name: default\n properties:\n applicationName: ${name}\n templateId: YAUUQIYRSV1CMFGX\n resourceGroupId: ${default.groups[0].id}\n areaId: cn-hangzhou\n instances:\n - id: data.alicloud_instances.default.instances.0.id\n nodeName: data.alicloud_instances.default.instances.0.name\n nodeType: ecs\n configuration:\n enableMonitor: '1'\n variables:\n test: '1'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetInstances:\n fn::invoke:\n function: alicloud:ecs:getInstances\n arguments:\n status: Running\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Architect Design Tools Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:bp/studioApplication:StudioApplication example \u003cid\u003e\n```\n\n", "properties": { "applicationName": { "type": "string", @@ -109738,7 +111591,7 @@ } }, "alicloud:brain/industrialPidLoop:IndustrialPidLoop": { - "description": "Provides a Brain Industrial Pid Loop resource.\n\n\u003e **NOTE:** Available since v1.117.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.229.1`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidLoop(\"example\", {\n pidLoopConfiguration: \"YourLoopConfiguration\",\n pidLoopDcsType: \"standard\",\n pidLoopIsCrucial: true,\n pidLoopName: \"tf-testAcc\",\n pidLoopType: \"0\",\n pidProjectId: \"856c6b8f-ca63-40a4-xxxx-xxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidLoop(\"example\",\n pid_loop_configuration=\"YourLoopConfiguration\",\n pid_loop_dcs_type=\"standard\",\n pid_loop_is_crucial=True,\n pid_loop_name=\"tf-testAcc\",\n pid_loop_type=\"0\",\n pid_project_id=\"856c6b8f-ca63-40a4-xxxx-xxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidLoop(\"example\", new()\n {\n PidLoopConfiguration = \"YourLoopConfiguration\",\n PidLoopDcsType = \"standard\",\n PidLoopIsCrucial = true,\n PidLoopName = \"tf-testAcc\",\n PidLoopType = \"0\",\n PidProjectId = \"856c6b8f-ca63-40a4-xxxx-xxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidLoop(ctx, \"example\", \u0026brain.IndustrialPidLoopArgs{\n\t\t\tPidLoopConfiguration: pulumi.String(\"YourLoopConfiguration\"),\n\t\t\tPidLoopDcsType: pulumi.String(\"standard\"),\n\t\t\tPidLoopIsCrucial: pulumi.Bool(true),\n\t\t\tPidLoopName: pulumi.String(\"tf-testAcc\"),\n\t\t\tPidLoopType: pulumi.String(\"0\"),\n\t\t\tPidProjectId: pulumi.String(\"856c6b8f-ca63-40a4-xxxx-xxxx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidLoop;\nimport com.pulumi.alicloud.brain.IndustrialPidLoopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidLoop(\"example\", IndustrialPidLoopArgs.builder()\n .pidLoopConfiguration(\"YourLoopConfiguration\")\n .pidLoopDcsType(\"standard\")\n .pidLoopIsCrucial(true)\n .pidLoopName(\"tf-testAcc\")\n .pidLoopType(\"0\")\n .pidProjectId(\"856c6b8f-ca63-40a4-xxxx-xxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidLoop\n properties:\n pidLoopConfiguration: YourLoopConfiguration\n pidLoopDcsType: standard\n pidLoopIsCrucial: true\n pidLoopName: tf-testAcc\n pidLoopType: '0'\n pidProjectId: 856c6b8f-ca63-40a4-xxxx-xxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBrain Industrial Pid Loop can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidLoop:IndustrialPidLoop example \u003cid\u003e\n```\n\n", + "description": "Provides a Brain Industrial Pid Loop resource.\n\n\u003e **NOTE:** Available since v1.117.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.229.1`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidLoop(\"example\", {\n pidLoopConfiguration: \"YourLoopConfiguration\",\n pidLoopDcsType: \"standard\",\n pidLoopIsCrucial: true,\n pidLoopName: \"tf-testAcc\",\n pidLoopType: \"0\",\n pidProjectId: \"856c6b8f-ca63-40a4-xxxx-xxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidLoop(\"example\",\n pid_loop_configuration=\"YourLoopConfiguration\",\n pid_loop_dcs_type=\"standard\",\n pid_loop_is_crucial=True,\n pid_loop_name=\"tf-testAcc\",\n pid_loop_type=\"0\",\n pid_project_id=\"856c6b8f-ca63-40a4-xxxx-xxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidLoop(\"example\", new()\n {\n PidLoopConfiguration = \"YourLoopConfiguration\",\n PidLoopDcsType = \"standard\",\n PidLoopIsCrucial = true,\n PidLoopName = \"tf-testAcc\",\n PidLoopType = \"0\",\n PidProjectId = \"856c6b8f-ca63-40a4-xxxx-xxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidLoop(ctx, \"example\", \u0026brain.IndustrialPidLoopArgs{\n\t\t\tPidLoopConfiguration: pulumi.String(\"YourLoopConfiguration\"),\n\t\t\tPidLoopDcsType: pulumi.String(\"standard\"),\n\t\t\tPidLoopIsCrucial: pulumi.Bool(true),\n\t\t\tPidLoopName: pulumi.String(\"tf-testAcc\"),\n\t\t\tPidLoopType: pulumi.String(\"0\"),\n\t\t\tPidProjectId: pulumi.String(\"856c6b8f-ca63-40a4-xxxx-xxxx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidLoop;\nimport com.pulumi.alicloud.brain.IndustrialPidLoopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidLoop(\"example\", IndustrialPidLoopArgs.builder()\n .pidLoopConfiguration(\"YourLoopConfiguration\")\n .pidLoopDcsType(\"standard\")\n .pidLoopIsCrucial(true)\n .pidLoopName(\"tf-testAcc\")\n .pidLoopType(\"0\")\n .pidProjectId(\"856c6b8f-ca63-40a4-xxxx-xxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidLoop\n properties:\n pidLoopConfiguration: YourLoopConfiguration\n pidLoopDcsType: standard\n pidLoopIsCrucial: true\n pidLoopName: tf-testAcc\n pidLoopType: '0'\n pidProjectId: 856c6b8f-ca63-40a4-xxxx-xxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBrain Industrial Pid Loop can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidLoop:IndustrialPidLoop example \u003cid\u003e\n```\n\n", "properties": { "pidLoopConfiguration": { "type": "string", @@ -109862,7 +111715,7 @@ } }, "alicloud:brain/industrialPidOrganization:IndustrialPidOrganization": { - "description": "Provides a Brain Industrial Pid Organization resource.\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.222.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidOrganization(\"example\", {pidOrganizationName: \"tf-testAcc\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidOrganization(\"example\", pid_organization_name=\"tf-testAcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidOrganization(\"example\", new()\n {\n PidOrganizationName = \"tf-testAcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidOrganization(ctx, \"example\", \u0026brain.IndustrialPidOrganizationArgs{\n\t\t\tPidOrganizationName: pulumi.String(\"tf-testAcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidOrganization;\nimport com.pulumi.alicloud.brain.IndustrialPidOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidOrganization(\"example\", IndustrialPidOrganizationArgs.builder()\n .pidOrganizationName(\"tf-testAcc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidOrganization\n properties:\n pidOrganizationName: tf-testAcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBrain Industrial Pid Organization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidOrganization:IndustrialPidOrganization example \u003cid\u003e\n```\n\n", + "description": "Provides a Brain Industrial Pid Organization resource.\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.222.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidOrganization(\"example\", {pidOrganizationName: \"tf-testAcc\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidOrganization(\"example\", pid_organization_name=\"tf-testAcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidOrganization(\"example\", new()\n {\n PidOrganizationName = \"tf-testAcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidOrganization(ctx, \"example\", \u0026brain.IndustrialPidOrganizationArgs{\n\t\t\tPidOrganizationName: pulumi.String(\"tf-testAcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidOrganization;\nimport com.pulumi.alicloud.brain.IndustrialPidOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidOrganization(\"example\", IndustrialPidOrganizationArgs.builder()\n .pidOrganizationName(\"tf-testAcc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidOrganization\n properties:\n pidOrganizationName: tf-testAcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBrain Industrial Pid Organization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidOrganization:IndustrialPidOrganization example \u003cid\u003e\n```\n\n", "properties": { "parentPidOrganizationId": { "type": "string", @@ -109907,7 +111760,7 @@ } }, "alicloud:brain/industrialPidProject:IndustrialPidProject": { - "description": "Provides a Brain Industrial Pid Project resource.\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.222.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidProject(\"example\", {\n pidOrganizationId: \"3e74e684-cbb5-xxxx\",\n pidProjectName: \"tf-testAcc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidProject(\"example\",\n pid_organization_id=\"3e74e684-cbb5-xxxx\",\n pid_project_name=\"tf-testAcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidProject(\"example\", new()\n {\n PidOrganizationId = \"3e74e684-cbb5-xxxx\",\n PidProjectName = \"tf-testAcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidProject(ctx, \"example\", \u0026brain.IndustrialPidProjectArgs{\n\t\t\tPidOrganizationId: pulumi.String(\"3e74e684-cbb5-xxxx\"),\n\t\t\tPidProjectName: pulumi.String(\"tf-testAcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidProject;\nimport com.pulumi.alicloud.brain.IndustrialPidProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidProject(\"example\", IndustrialPidProjectArgs.builder()\n .pidOrganizationId(\"3e74e684-cbb5-xxxx\")\n .pidProjectName(\"tf-testAcc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidProject\n properties:\n pidOrganizationId: 3e74e684-cbb5-xxxx\n pidProjectName: tf-testAcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBrain Industrial Pid Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidProject:IndustrialPidProject example \u003cid\u003e\n```\n\n", + "description": "Provides a Brain Industrial Pid Project resource.\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.222.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.brain.IndustrialPidProject(\"example\", {\n pidOrganizationId: \"3e74e684-cbb5-xxxx\",\n pidProjectName: \"tf-testAcc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.brain.IndustrialPidProject(\"example\",\n pid_organization_id=\"3e74e684-cbb5-xxxx\",\n pid_project_name=\"tf-testAcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Brain.IndustrialPidProject(\"example\", new()\n {\n PidOrganizationId = \"3e74e684-cbb5-xxxx\",\n PidProjectName = \"tf-testAcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/brain\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := brain.NewIndustrialPidProject(ctx, \"example\", \u0026brain.IndustrialPidProjectArgs{\n\t\t\tPidOrganizationId: pulumi.String(\"3e74e684-cbb5-xxxx\"),\n\t\t\tPidProjectName: pulumi.String(\"tf-testAcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.brain.IndustrialPidProject;\nimport com.pulumi.alicloud.brain.IndustrialPidProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 IndustrialPidProject(\"example\", IndustrialPidProjectArgs.builder()\n .pidOrganizationId(\"3e74e684-cbb5-xxxx\")\n .pidProjectName(\"tf-testAcc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:brain:IndustrialPidProject\n properties:\n pidOrganizationId: 3e74e684-cbb5-xxxx\n pidProjectName: tf-testAcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nBrain Industrial Pid Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:brain/industrialPidProject:IndustrialPidProject example \u003cid\u003e\n```\n\n", "properties": { "pidOrganizationId": { "type": "string", @@ -109964,7 +111817,7 @@ } }, "alicloud:cas/certificate:Certificate": { - "description": "Provides a CAS Certificate resource.\n\nFor information about SSL Certificates Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/product/28533.html).\n\n\u003e **NOTE:** Available since v1.35.0.\n\n\u003e **NOTE:** Deprecated since v1.129.0.\n\n\u003e **NOTE:** The Certificate name which you want to add must be already registered and had not added by another account. Every Certificate name can only exist in a unique group.\n\n\u003e **NOTE:** The Cas Certificate region only support cn-hangzhou, me-east-1, eu-central-1, ap-northeast-1.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.129.0`. Please use new resource alicloud_ssl_certificates_service_certificate.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultCertificate = new alicloud.cas.Certificate(\"default\", {\n name: `tf-example-${_default.result}`,\n cert: `-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_certificate = alicloud.cas.Certificate(\"default\",\n name=f\"tf-example-{default['result']}\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultCertificate = new AliCloud.Cas.Certificate(\"default\", new()\n {\n Name = $\"tf-example-{@default.Result}\",\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cas.NewCertificate(ctx, \"default\", \u0026cas.CertificateArgs{\n\t\t\tName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.Certificate;\nimport com.pulumi.alicloud.cas.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultCertificate = new Certificate(\"defaultCertificate\", CertificateArgs.builder()\n .name(String.format(\"tf-example-%s\", default_.result()))\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultCertificate:\n type: alicloud:cas:Certificate\n name: default\n properties:\n name: tf-example-${default.result}\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\n TjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\n VQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\n MjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\n EDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\n MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\n Y5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\n N4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\n HAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\n rkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n +arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\n ZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\n BBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n 9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n 9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\n S7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\n AC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\n TTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\n DPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n -----END CERTIFICATE-----\n key: |\n -----BEGIN PRIVATE KEY-----\n MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\n rhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\n BpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\n p2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n +axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n 4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\n n8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n /1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n 6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\n dIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\n YmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\n LfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\n GOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\n ncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\n XWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\n i9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\n rNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n 2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\n g1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\n AvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\n ZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\n AMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n 2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n 9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\n CIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\n LILJ+e7bLw8RrM0HfgFnl8c=\n -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a CAS Certificate resource.\n\nFor information about SSL Certificates Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/product/28533.html).\n\n\u003e **NOTE:** Available since v1.35.0.\n\n\u003e **NOTE:** Deprecated since v1.129.0.\n\n\u003e **NOTE:** The Certificate name which you want to add must be already registered and had not added by another account. Every Certificate name can only exist in a unique group.\n\n\u003e **NOTE:** The Cas Certificate region only support cn-hangzhou, me-east-1, eu-central-1, ap-northeast-1.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.129.0`. Please use new resource alicloud_ssl_certificates_service_certificate.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultCertificate = new alicloud.cas.Certificate(\"default\", {\n name: `tf-example-${_default.result}`,\n cert: `-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_certificate = alicloud.cas.Certificate(\"default\",\n name=f\"tf-example-{default['result']}\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultCertificate = new AliCloud.Cas.Certificate(\"default\", new()\n {\n Name = $\"tf-example-{@default.Result}\",\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cas.NewCertificate(ctx, \"default\", \u0026cas.CertificateArgs{\n\t\t\tName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.Certificate;\nimport com.pulumi.alicloud.cas.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultCertificate = new Certificate(\"defaultCertificate\", CertificateArgs.builder()\n .name(String.format(\"tf-example-%s\", default_.result()))\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\nTjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\nVQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\nMjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\nEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\nY5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\nN4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\nHAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\nrkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n+arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\nZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\nBBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\nS7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\nAC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\nTTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\nDPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\nrhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\nBpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\np2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n+axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\nn8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n/1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\ndIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\nYmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\nLfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\nGOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\nncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\nXWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\ni9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\nrNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\ng1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\nAvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\nZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\nAMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\nCIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\nLILJ+e7bLw8RrM0HfgFnl8c=\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultCertificate:\n type: alicloud:cas:Certificate\n name: default\n properties:\n name: tf-example-${default.result}\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDeDCCAmCgAwIBAgIEN3ZT6zANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJD\n TjEVMBMGA1UEAwwMKi50ZnRlc3QudG9wMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYD\n VQQHDAdCZWlKaW5nMQswCQYDVQQKDAJBQTAeFw0yMzA4MjgwNjQ5NDNaFw0yNTA4\n MjcwNjQ5NDNaMFUxCzAJBgNVBAYTAkNOMRUwEwYDVQQDDAwqLnRmdGVzdC50b3Ax\n EDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcxCzAJBgNVBAoMAkFB\n MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzkk9NJUH7PLSQK4RRrGQ\n Y5dVsftkhnKh9HhI6yrnlowWIDPS1PZHOU/5gQ7xPUPGdKQV5S7x8wROnAaXEimx\n N4GdQw25pGhRJvlwme9fzJJiSe6lG49NCxmuBiEdJAzPKaTPpK1cG1f1TqdgCfHR\n HAL6Jxb3ylHG2LlTNFLXikubUi5RT6/9C8psr713Zm4HveCI/cx0WdgZ+fmsc9ft\n rkIB1DdyV1kQ51m8r2rLi3J7aC5ggGOiex/VlGSd4e6SOQLpdQEdDbodtOJ4LgVk\n +arFNCMinUWIOPGFzXhdm6lssPbh4MOBrz8c/M9TcF4hoMn5/o/9johZIZ/DOvXt\n ZQIDAQABo1AwTjAdBgNVHQ4EFgQUOnWiddgeZj17IeysatqhE361o5YwHwYDVR0j\n BBgwFoAUOnWiddgeZj17IeysatqhE361o5YwDAYDVR0TBAUwAwEB/zANBgkqhkiG\n 9w0BAQsFAAOCAQEAfh3cnOszHM/5wXjY7BIkmgDOReksS+87ibhBz7T2ddZj+yCF\n 9GdIBzXCiHpQFXpW8a3kc3I7l3nGfMTkmF6ld3ot/6SXP17QKJwxtvUA4ib8QkWD\n S7FT+UcHCUHv42Sh1e5uAlQ5pMSul7iKcR7jwlwZGZ0905HOqrmdyUGJ+Ud2uZWD\n AC0dJF6Bv9VhNtci8Imp05PaPH09deXLZu8LRrKRZFy9qLW5R6Swv7nzxckOAqDk\n TTc40xwvQROekWUyxeJL7xaHuylUHE0bxsiIfx5bZsBizRjprIwGlj85CSPuTZyP\n DPfaiZAN/61h5HNAnxLltOZfqabKYYw7l9LBDg==\n -----END CERTIFICATE-----\n key: |\n -----BEGIN PRIVATE KEY-----\n MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOST00lQfs8tJA\n rhFGsZBjl1Wx+2SGcqH0eEjrKueWjBYgM9LU9kc5T/mBDvE9Q8Z0pBXlLvHzBE6c\n BpcSKbE3gZ1DDbmkaFEm+XCZ71/MkmJJ7qUbj00LGa4GIR0kDM8ppM+krVwbV/VO\n p2AJ8dEcAvonFvfKUcbYuVM0UteKS5tSLlFPr/0LymyvvXdmbge94Ij9zHRZ2Bn5\n +axz1+2uQgHUN3JXWRDnWbyvasuLcntoLmCAY6J7H9WUZJ3h7pI5Aul1AR0Nuh20\n 4nguBWT5qsU0IyKdRYg48YXNeF2bqWyw9uHgw4GvPxz8z1NwXiGgyfn+j/2OiFkh\n n8M69e1lAgMBAAECggEAevPgTTT+0lYwx2h416ACJboP09O5KQGuUl5XaAPcoTjB\n /1OkOFbKQPjQCAJ1+0QoR2F9w2plv6kziX/MD4FWJXVV3J+TpNCgfhBy8u1gNjiR\n 6Osa8gBJtXIK7ZBTJCeWWoXnVYoWuh2FEupkLck6D+4eV6oy6x4u3QIo+6jc24n9\n dIXQG6/v/Iao34kB0LUdp/4WNaUDvfI6NDhEwchpKE95dtWIDlIN/YhfiYAdjrnl\n YmH2VDbAGgsdEiHP4wLZfjgsGPPDGS0+qBHoSiJGH0E6wWEZdAE4TsYGRFsO86n3\n LfjEPFGfPlcnZe2cTTe3kmyKq/DTjxtu2rh3I8o2CQKBgQD/5Xe7cenaOBefzPlx\n GOEsB+qv49UmzEPOXDNZe9hmAawuuuxPUM+xlE++P+mEgQm1LPT4WWgtFLPVuwmx\n ncxt4CJNZh+ZGFyAZ4dm4M4ZhIBXNonyIP+yGyAJUUVF9Iy3TYcJNiGzv2Rx9JRQ\n XWJMQnTDILmZbmU+ltTea7/zqwKBgQDOXqCqb17MuLt7OcKWSgthm79OlaOdzZvl\n i9qU6VzZKG7Axc5gA9yq6tHp3vWPI4bNdvwqIIa/nzVILjGA5fcYFbRN+7gHwo8s\n rNAgi5PAoKWqQRovyJRY9Eq/sn6l1jbJZAOUAMZMWDm8z89OqK7PNQSIAtfFSneo\n 2QxJkGeTLwKBgGJkafBB8af9b1/7YWISLepPNPbihH/BhMThAMGEdAVs2TaymtA4\n g1OFck/1pSVUtFXcbmjbf8ntruQcYbLQuNz6lFXsUXP9QPwCUrbE85ouL2bZSps2\n AvsJoPzUKe2nBUAp6CUrkjPaAJYsc6ae8X/fAaRRfeu33ef9+OV4yrq3AoGAYFZo\n ZmfrN2Kdkt7Z6dLTEVPlsMfGQ6pyNmxdM9rkzzNC0JcGymfDIb7RE35T3+hTy6La\n AMiCXv3xn6qAzY2NFh87tpPlyymWMOLTnf3Kkcfszlfp45idOBGCu46V9NDVbppT\n 2UmrSIR/H5dbTXsNcAlt/hhlpeInjhkU1VqmH10CgYEA7Kk+QhWq705SczpWjm5J\n 9kHqfFzJLwAWNBduiia0WypgPhLe/4wT1rYQkBtKMVKrgFo7Cvi4YKlrtlDnXyeU\n CIFqfEL5NriQelqrFsvgHsmD+MpvDoSWm5C8IrTubtlNyWUzXSVT4OIwzPobzPqG\n LILJ+e7bLw8RrM0HfgFnl8c=\n -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "cert": { "type": "string", @@ -110127,7 +111980,7 @@ "deprecationMessage": "This resource has been deprecated in favour of ServiceCertificate" }, "alicloud:cas/serviceCertificate:ServiceCertificate": { - "description": "Provides a SSL Certificates Certificate resource.\n\n\n\nFor information about SSL Certificates Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/product/28533.html).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultServiceCertificate = new alicloud.cas.ServiceCertificate(\"default\", {\n certificateName: `terraform-example-${_default.result}`,\n cert: `-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_service_certificate = alicloud.cas.ServiceCertificate(\"default\",\n certificate_name=f\"terraform-example-{default['result']}\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultServiceCertificate = new AliCloud.Cas.ServiceCertificate(\"default\", new()\n {\n CertificateName = $\"terraform-example-{@default.Result}\",\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cas.NewServiceCertificate(ctx, \"default\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCertificateName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultServiceCertificate = new ServiceCertificate(\"defaultServiceCertificate\", ServiceCertificateArgs.builder()\n .certificateName(String.format(\"terraform-example-%s\", default_.result()))\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultServiceCertificate:\n type: alicloud:cas:ServiceCertificate\n name: default\n properties:\n certificateName: terraform-example-${default.result}\n cert: |\n -----BEGIN CERTIFICATE-----\n MIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\n MQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\n c3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\n Fw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\n DwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n AMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n 6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\n dNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\n sfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n //sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\n VySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\n VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\n wXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\n L29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\n L215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\n AQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\n yAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n 06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\n Le4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n 8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\n ZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n -----END CERTIFICATE-----\n key: |\n -----BEGIN PRIVATE KEY-----\n MIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\n m6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\n SngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\n ZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\n XqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\n GORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\n azo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\n BdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\n cphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\n blqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\n rWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n 48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\n Cq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\n aZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\n ARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\n Ank3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\n G2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\n jAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n 3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n 2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\n qpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\n AczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n 9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n /m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\n xDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSL Certificates Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cas/serviceCertificate:ServiceCertificate example \u003cid\u003e\n```\n\n", + "description": "Provides a SSL Certificates Certificate resource.\n\n\n\nFor information about SSL Certificates Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/product/28533.html).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultServiceCertificate = new alicloud.cas.ServiceCertificate(\"default\", {\n certificateName: `terraform-example-${_default.result}`,\n cert: `-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_service_certificate = alicloud.cas.ServiceCertificate(\"default\",\n certificate_name=f\"terraform-example-{default['result']}\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultServiceCertificate = new AliCloud.Cas.ServiceCertificate(\"default\", new()\n {\n CertificateName = $\"terraform-example-{@default.Result}\",\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cas.NewServiceCertificate(ctx, \"default\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCertificateName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n`),\n\t\t\tKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultServiceCertificate = new ServiceCertificate(\"defaultServiceCertificate\", ServiceCertificateArgs.builder()\n .certificateName(String.format(\"terraform-example-%s\", default_.result()))\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\nMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\nc3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\nFw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\nDwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\ndNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\nsfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n//sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\nVySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\nVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\nwXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\nL29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\nL215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\nAQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\nyAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\nLe4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\nZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\nm6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\nSngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\nZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\nXqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\nGORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\nazo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\nBdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\ncphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\nblqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\nrWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\nCq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\naZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\nARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\nAnk3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\nG2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\njAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\nqpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\nAczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n/m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\nxDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n-----END PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultServiceCertificate:\n type: alicloud:cas:ServiceCertificate\n name: default\n properties:\n certificateName: terraform-example-${default.result}\n cert: |\n -----BEGIN CERTIFICATE-----\n MIID1jCCAr6gAwIBAgIQQ7/8/QOOTbywxdgSX9aMqDANBgkqhkiG9w0BAQsFADBe\n MQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl\n c3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe\n Fw0yNTA5MjIwNTU3NDVaFw0zMDA5MjEwNTU3NDVaMCAxCzAJBgNVBAYTAkNOMREw\n DwYDVQQDEwgxNjg4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n AMEl04gKBqJxV+8KideZb7S4mPysehPzr/cXu4i1RXT7UFtNVZuqc4IdIzOja2SU\n 6uNn8mY6Pfc5FNybg98bYx0ADbub55TUaw2Pz1CFEbiMvLpzMkp4EZadvmJWZk8t\n dNb+ClKqdXUWhxApS3Lz+wjCNYQnlODk4KmxmM8/U/CyQS7lgWS/1G72UFB09Skg\n sfvWdoHLrFfIlbVkp9XVELCtOkjj8Nn/rPOhc31NbstrwV4Whl6jngGAkaEtImJ7\n //sL+sPPsutefCgfZPrC+Zwru2En1BuIo5KW02NYLdjXbABH8xjkUobqRoro7eY3\n VySBr7adD6QmNv5hWohOuykCAwEAAaOBzTCByjAOBgNVHQ8BAf8EBAMCBaAwHQYD\n VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFCiBJgXRNBo/\n wXMPu5PPFRw/A79/MGMGCCsGAQUFBwEBBFcwVTAhBggrBgEFBQcwAYYVaHR0cDov\n L29jc3AubXlzc2wuY29tMDAGCCsGAQUFBzAChiRodHRwOi8vY2EubXlzc2wuY29t\n L215c3NsdGVzdHJzYS5jcnQwEwYDVR0RBAwwCoIIMTY4OC5jb20wDQYJKoZIhvcN\n AQELBQADggEBAHa0ATVeHtPPw1+a6kajlW6OQUjhiJg+Sk9fVA1eJ2Hzl1yDDw3K\n yAyl1gkxGI6BwWdX/C8IE6PuPYcG2CmJGoFoEAAIbAE76AKABvHoA8I6wyDruxFz\n 06bNM8104TxAHTxe2zaHgBQnYIRk07uA8gxjZKFp1//eYbxj8HiP0Q9zXqYjF79G\n Le4PDw7Q6U22CP+cT9Sz5ZEoJCzmUtx3uQWhLzNxvyISrXeSqAFJzjtL0KKSR1cr\n 8he6FoeU37oKdmrnweLeBe+no3OMChETa2JN4VAzXj/nPpQcyB7nXDfLUHe01+BB\n ZBXKFLD2H38e97mFl/7mgNP5Nc1sycI5Sp4=\n -----END CERTIFICATE-----\n key: |\n -----BEGIN PRIVATE KEY-----\n MIIEowIBAAKCAQEAwSXTiAoGonFX7wqJ15lvtLiY/Kx6E/Ov9xe7iLVFdPtQW01V\n m6pzgh0jM6NrZJTq42fyZjo99zkU3JuD3xtjHQANu5vnlNRrDY/PUIURuIy8unMy\n SngRlp2+YlZmTy101v4KUqp1dRaHEClLcvP7CMI1hCeU4OTgqbGYzz9T8LJBLuWB\n ZL/UbvZQUHT1KSCx+9Z2gcusV8iVtWSn1dUQsK06SOPw2f+s86FzfU1uy2vBXhaG\n XqOeAYCRoS0iYnv/+wv6w8+y6158KB9k+sL5nCu7YSfUG4ijkpbTY1gt2NdsAEfz\n GORShupGiujt5jdXJIGvtp0PpCY2/mFaiE67KQIDAQABAoIBAAKF9CZTUd8zvDKE\n azo/Ur0Zf5omxgOBC/vzj0DLyXKr89KgMdhHmPG1YBKFIIU0XYCHXkclR05LAcbu\n BdeCJpXS5zBbwDdAB9P/XHXQqeNvfJRc++ZgJ4QAXzkuqBssXK87ALcwFeUShxot\n cphiWpW0inlwVkVn3WLUzfUV0+ARljn8VOf+aAmfCiQMl4gsBpvD3dxF84aihS+1\n blqar5dE1GCJWHW67R1uSaAqHf7nwbBkZY8nTWF8n4+ELAAtlOgQKZlrQ+JxB3Ar\n rWzgMj4M6F1/man1y/XPR56px9Xv3DwBZHuLufsqPr10q/nI9VIIQHe49sFgnN4+\n 48Q7wIECgYEAwxlrgBJI8gua4mJZxJRT8gBv2Mb1Kk1k7HVX11I+yF4eXr+cm+24\n Cq7MjqmBXSnqvdQkwGFZ+C3cTKXJBPONWGF8NgiXaHSKjPEoFuHLdKBpgZMAax/L\n aZBQRw6g12nz3XUCK0DE0wGgPkoDxc65s4NEWS+ua43LZ4TUOzWwwWECgYEA/XB1\n ARNHyARy+P3iTeebh3t7qJoNoptLWHMlKjSjIZ1VZ4+9ilKsi5ZKVkPaLIjo8MGv\n Ank3vzSrFSYhId0XfmSqoWySWc0eBkc6NERvopxuIV1WwRKf/18lLhxiEjHIcgds\n G2KmfeiXdCKSgGlWvJmLITY4gJpOYMjpEDxipskCgYAdxnljmGbNmfvPZRcyKzkM\n jAiF2wd7p0gp1lbLo9+1ELgt2ax7F7Ko3riVZUU7BLSwt/nL6o+iks02XW7qdIkz\n 3dzpGjKRXIfwrrVhmKBGclzny5mav8V5nO7DiXX+qkrvl3X3R/FCCtN77ivZOo2Y\n 2gXKXr6N55wNdnY1eyI4wQKBgQDXjZo2O+vFVuNimqyrjd1eMcxO7hfCwUooBGcL\n qpFEucg1uK+Awig24LCBBly9nARjIJh1Bhw/58/KwQ9U+fJNcdkeSnV/I1HyDQqY\n AczhBSM2BWkP9YNXc9jvivxudSECuwVblV/9nqGSCQWJag53gjAvIyqTVqpq7vYq\n 9PEC4QKBgGY2pj0ZNqGkq16jD3iS+DDBpX+TPnoHzu5GZCM/1GLZ6xXbpNWtZQt4\n /m+6koRWeGvNAULnp8RSnhBzm+ZglpbwYcvsqRNDqIPGhJ2JruVA/bY3S0ebkRlD\n xDn0dJVMvNyRR83ZpjTQhxoq5l56TN5xk1vdJ9nZdwJMmXiz2TrA\n -----END PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSSL Certificates Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cas/serviceCertificate:ServiceCertificate example \u003cid\u003e\n```\n\n", "properties": { "cert": { "type": "string", @@ -110415,7 +112268,7 @@ } }, "alicloud:cassandra/cluster:Cluster": { - "description": "Provides a Cassandra cluster resource supports replica set clusters only. The Cassandra provides stable, reliable, and automatic scalable database services. \nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n\u003e **NOTE:** The following regions support create Vpc network Cassandra cluster.\nThe official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).\n\n\u003e **NOTE:** Create Cassandra cluster or change cluster type and storage would cost 30 minutes. Please make full preparation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-cassandra/latest/cassandra-delisting-notice) from version `1.220.0`.\n\n## Example Usage\n\n### Create a cassandra cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.cassandra.Cluster(\"default\", {\n clusterName: \"cassandra-cluster-name-tf\",\n dataCenterName: \"dc-1\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n majorVersion: \"3.11\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n maintainStartTime: \"18:00Z\",\n maintainEndTime: \"20:00Z\",\n ipWhite: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.cassandra.Cluster(\"default\",\n cluster_name=\"cassandra-cluster-name-tf\",\n data_center_name=\"dc-1\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n major_version=\"3.11\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx\",\n disk_size=160,\n disk_type=\"cloud_ssd\",\n maintain_start_time=\"18:00Z\",\n maintain_end_time=\"20:00Z\",\n ip_white=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Cassandra.Cluster(\"default\", new()\n {\n ClusterName = \"cassandra-cluster-name-tf\",\n DataCenterName = \"dc-1\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n MajorVersion = \"3.11\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n MaintainStartTime = \"18:00Z\",\n MaintainEndTime = \"20:00Z\",\n IpWhite = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cassandra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cassandra.NewCluster(ctx, \"default\", \u0026cassandra.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cassandra-cluster-name-tf\"),\n\t\t\tDataCenterName: pulumi.String(\"dc-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tMajorVersion: pulumi.String(\"3.11\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: pulumi.String(\"cloud_ssd\"),\n\t\t\tMaintainStartTime: pulumi.String(\"18:00Z\"),\n\t\t\tMaintainEndTime: pulumi.String(\"20:00Z\"),\n\t\t\tIpWhite: pulumi.String(\"127.0.0.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.alicloud.cassandra.Cluster;\nimport com.pulumi.alicloud.cassandra.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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterName(\"cassandra-cluster-name-tf\")\n .dataCenterName(\"dc-1\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .majorVersion(\"3.11\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .maintainStartTime(\"18:00Z\")\n .maintainEndTime(\"20:00Z\")\n .ipWhite(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cassandra:Cluster\n properties:\n clusterName: cassandra-cluster-name-tf\n dataCenterName: dc-1\n autoRenew: 'false'\n instanceType: cassandra.c.large\n majorVersion: '3.11'\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx\n diskSize: '160'\n diskType: cloud_ssd\n maintainStartTime: 18:00Z\n maintainEndTime: 20:00Z\n ipWhite: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir.\n\n## Import\n\nCassandra cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cassandra/cluster:Cluster example cds-wz9sr400dd7xxxxx\n```\n\n", + "description": "Provides a Cassandra cluster resource supports replica set clusters only. The Cassandra provides stable, reliable, and automatic scalable database services. \nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n\u003e **NOTE:** The following regions support create Vpc network Cassandra cluster.\nThe official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).\n\n\u003e **NOTE:** Create Cassandra cluster or change cluster type and storage would cost 30 minutes. Please make full preparation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-cassandra/latest/cassandra-delisting-notice) from version `1.220.0`.\n\n## Example Usage\n\n### Create a cassandra cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.cassandra.Cluster(\"default\", {\n clusterName: \"cassandra-cluster-name-tf\",\n dataCenterName: \"dc-1\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n majorVersion: \"3.11\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n maintainStartTime: \"18:00Z\",\n maintainEndTime: \"20:00Z\",\n ipWhite: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.cassandra.Cluster(\"default\",\n cluster_name=\"cassandra-cluster-name-tf\",\n data_center_name=\"dc-1\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n major_version=\"3.11\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx\",\n disk_size=160,\n disk_type=\"cloud_ssd\",\n maintain_start_time=\"18:00Z\",\n maintain_end_time=\"20:00Z\",\n ip_white=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Cassandra.Cluster(\"default\", new()\n {\n ClusterName = \"cassandra-cluster-name-tf\",\n DataCenterName = \"dc-1\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n MajorVersion = \"3.11\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n MaintainStartTime = \"18:00Z\",\n MaintainEndTime = \"20:00Z\",\n IpWhite = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cassandra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cassandra.NewCluster(ctx, \"default\", \u0026cassandra.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cassandra-cluster-name-tf\"),\n\t\t\tDataCenterName: pulumi.String(\"dc-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tMajorVersion: pulumi.String(\"3.11\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: pulumi.String(\"cloud_ssd\"),\n\t\t\tMaintainStartTime: pulumi.String(\"18:00Z\"),\n\t\t\tMaintainEndTime: pulumi.String(\"20:00Z\"),\n\t\t\tIpWhite: pulumi.String(\"127.0.0.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.alicloud.cassandra.Cluster;\nimport com.pulumi.alicloud.cassandra.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 default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterName(\"cassandra-cluster-name-tf\")\n .dataCenterName(\"dc-1\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .majorVersion(\"3.11\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .maintainStartTime(\"18:00Z\")\n .maintainEndTime(\"20:00Z\")\n .ipWhite(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cassandra:Cluster\n properties:\n clusterName: cassandra-cluster-name-tf\n dataCenterName: dc-1\n autoRenew: 'false'\n instanceType: cassandra.c.large\n majorVersion: '3.11'\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx\n diskSize: '160'\n diskType: cloud_ssd\n maintainStartTime: 18:00Z\n maintainEndTime: 20:00Z\n ipWhite: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCassandra cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cassandra/cluster:Cluster example cds-wz9sr400dd7xxxxx\n```\n\n", "properties": { "autoRenew": { "type": "boolean", @@ -110742,7 +112595,7 @@ } }, "alicloud:cassandra/dataCenter:DataCenter": { - "description": "Provides a Cassandra dataCenter resource supports replica set dataCenters only. The Cassandra provides stable, reliable, and automatic scalable database services. \nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n\u003e **NOTE:** Create a cassandra dataCenter need a clusterId,so need create a cassandra cluster first.\n\n\u003e **NOTE:** The following regions support create Vpc network Cassandra cluster.\nThe official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).\n\n\u003e **NOTE:** Create Cassandra dataCenter or change dataCenter type and storage would cost 30 minutes. Please make full preparation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-cassandra/latest/cassandra-delisting-notice) from version `1.220.0`.\n\n## Example Usage\n\n### Create a cassandra dataCenter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.cassandra.Cluster(\"default\", {\n clusterName: \"cassandra-cluster-name-tf\",\n dataCenterName: \"dc-1\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n majorVersion: \"3.11\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx1\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n maintainStartTime: \"18:00Z\",\n maintainEndTime: \"20:00Z\",\n ipWhite: \"127.0.0.1\",\n});\nconst defaultDataCenter = new alicloud.cassandra.DataCenter(\"default\", {\n clusterId: _default.id,\n dataCenterName: \"dc-2\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx2\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.cassandra.Cluster(\"default\",\n cluster_name=\"cassandra-cluster-name-tf\",\n data_center_name=\"dc-1\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n major_version=\"3.11\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx1\",\n disk_size=160,\n disk_type=\"cloud_ssd\",\n maintain_start_time=\"18:00Z\",\n maintain_end_time=\"20:00Z\",\n ip_white=\"127.0.0.1\")\ndefault_data_center = alicloud.cassandra.DataCenter(\"default\",\n cluster_id=default.id,\n data_center_name=\"dc-2\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx2\",\n disk_size=160,\n disk_type=\"cloud_ssd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Cassandra.Cluster(\"default\", new()\n {\n ClusterName = \"cassandra-cluster-name-tf\",\n DataCenterName = \"dc-1\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n MajorVersion = \"3.11\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx1\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n MaintainStartTime = \"18:00Z\",\n MaintainEndTime = \"20:00Z\",\n IpWhite = \"127.0.0.1\",\n });\n\n var defaultDataCenter = new AliCloud.Cassandra.DataCenter(\"default\", new()\n {\n ClusterId = @default.Id,\n DataCenterName = \"dc-2\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx2\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cassandra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := cassandra.NewCluster(ctx, \"default\", \u0026cassandra.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cassandra-cluster-name-tf\"),\n\t\t\tDataCenterName: pulumi.String(\"dc-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tMajorVersion: pulumi.String(\"3.11\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx1\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: pulumi.String(\"cloud_ssd\"),\n\t\t\tMaintainStartTime: pulumi.String(\"18:00Z\"),\n\t\t\tMaintainEndTime: pulumi.String(\"20:00Z\"),\n\t\t\tIpWhite: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cassandra.NewDataCenter(ctx, \"default\", \u0026cassandra.DataCenterArgs{\n\t\t\tClusterId: _default.ID(),\n\t\t\tDataCenterName: pulumi.String(\"dc-2\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx2\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: 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.alicloud.cassandra.Cluster;\nimport com.pulumi.alicloud.cassandra.ClusterArgs;\nimport com.pulumi.alicloud.cassandra.DataCenter;\nimport com.pulumi.alicloud.cassandra.DataCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterName(\"cassandra-cluster-name-tf\")\n .dataCenterName(\"dc-1\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .majorVersion(\"3.11\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx1\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .maintainStartTime(\"18:00Z\")\n .maintainEndTime(\"20:00Z\")\n .ipWhite(\"127.0.0.1\")\n .build());\n\n var defaultDataCenter = new DataCenter(\"defaultDataCenter\", DataCenterArgs.builder()\n .clusterId(default_.id())\n .dataCenterName(\"dc-2\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx2\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cassandra:Cluster\n properties:\n clusterName: cassandra-cluster-name-tf\n dataCenterName: dc-1\n autoRenew: 'false'\n instanceType: cassandra.c.large\n majorVersion: '3.11'\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx1\n diskSize: '160'\n diskType: cloud_ssd\n maintainStartTime: 18:00Z\n maintainEndTime: 20:00Z\n ipWhite: 127.0.0.1\n defaultDataCenter:\n type: alicloud:cassandra:DataCenter\n name: default\n properties:\n clusterId: ${default.id}\n dataCenterName: dc-2\n autoRenew: 'false'\n instanceType: cassandra.c.large\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx2\n diskSize: '160'\n diskType: cloud_ssd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir.\n\n## Import\n\nIf you need full function, please import Cassandra cluster first.\n\nCassandra dataCenter can be imported using the dcId:clusterId, e.g.\n\n```sh\n$ pulumi import alicloud:cassandra/dataCenter:DataCenter dc_2 cn-shenxxxx-x:cds-wz933ryoaurxxxxx\n```\n\n", + "description": "Provides a Cassandra dataCenter resource supports replica set dataCenters only. The Cassandra provides stable, reliable, and automatic scalable database services. \nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n\u003e **NOTE:** Create a cassandra dataCenter need a clusterId,so need create a cassandra cluster first.\n\n\u003e **NOTE:** The following regions support create Vpc network Cassandra cluster.\nThe official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).\n\n\u003e **NOTE:** Create Cassandra dataCenter or change dataCenter type and storage would cost 30 minutes. Please make full preparation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-cassandra/latest/cassandra-delisting-notice) from version `1.220.0`.\n\n## Example Usage\n\n### Create a cassandra dataCenter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.cassandra.Cluster(\"default\", {\n clusterName: \"cassandra-cluster-name-tf\",\n dataCenterName: \"dc-1\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n majorVersion: \"3.11\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx1\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n maintainStartTime: \"18:00Z\",\n maintainEndTime: \"20:00Z\",\n ipWhite: \"127.0.0.1\",\n});\nconst defaultDataCenter = new alicloud.cassandra.DataCenter(\"default\", {\n clusterId: _default.id,\n dataCenterName: \"dc-2\",\n autoRenew: false,\n instanceType: \"cassandra.c.large\",\n nodeCount: 2,\n payType: \"PayAsYouGo\",\n vswitchId: \"vsw-xxxx2\",\n diskSize: 160,\n diskType: \"cloud_ssd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.cassandra.Cluster(\"default\",\n cluster_name=\"cassandra-cluster-name-tf\",\n data_center_name=\"dc-1\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n major_version=\"3.11\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx1\",\n disk_size=160,\n disk_type=\"cloud_ssd\",\n maintain_start_time=\"18:00Z\",\n maintain_end_time=\"20:00Z\",\n ip_white=\"127.0.0.1\")\ndefault_data_center = alicloud.cassandra.DataCenter(\"default\",\n cluster_id=default.id,\n data_center_name=\"dc-2\",\n auto_renew=False,\n instance_type=\"cassandra.c.large\",\n node_count=2,\n pay_type=\"PayAsYouGo\",\n vswitch_id=\"vsw-xxxx2\",\n disk_size=160,\n disk_type=\"cloud_ssd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Cassandra.Cluster(\"default\", new()\n {\n ClusterName = \"cassandra-cluster-name-tf\",\n DataCenterName = \"dc-1\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n MajorVersion = \"3.11\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx1\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n MaintainStartTime = \"18:00Z\",\n MaintainEndTime = \"20:00Z\",\n IpWhite = \"127.0.0.1\",\n });\n\n var defaultDataCenter = new AliCloud.Cassandra.DataCenter(\"default\", new()\n {\n ClusterId = @default.Id,\n DataCenterName = \"dc-2\",\n AutoRenew = false,\n InstanceType = \"cassandra.c.large\",\n NodeCount = 2,\n PayType = \"PayAsYouGo\",\n VswitchId = \"vsw-xxxx2\",\n DiskSize = 160,\n DiskType = \"cloud_ssd\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cassandra\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := cassandra.NewCluster(ctx, \"default\", \u0026cassandra.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"cassandra-cluster-name-tf\"),\n\t\t\tDataCenterName: pulumi.String(\"dc-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tMajorVersion: pulumi.String(\"3.11\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx1\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: pulumi.String(\"cloud_ssd\"),\n\t\t\tMaintainStartTime: pulumi.String(\"18:00Z\"),\n\t\t\tMaintainEndTime: pulumi.String(\"20:00Z\"),\n\t\t\tIpWhite: pulumi.String(\"127.0.0.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cassandra.NewDataCenter(ctx, \"default\", \u0026cassandra.DataCenterArgs{\n\t\t\tClusterId: _default.ID(),\n\t\t\tDataCenterName: pulumi.String(\"dc-2\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tInstanceType: pulumi.String(\"cassandra.c.large\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tPayType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: pulumi.String(\"vsw-xxxx2\"),\n\t\t\tDiskSize: pulumi.Int(160),\n\t\t\tDiskType: 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.alicloud.cassandra.Cluster;\nimport com.pulumi.alicloud.cassandra.ClusterArgs;\nimport com.pulumi.alicloud.cassandra.DataCenter;\nimport com.pulumi.alicloud.cassandra.DataCenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder()\n .clusterName(\"cassandra-cluster-name-tf\")\n .dataCenterName(\"dc-1\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .majorVersion(\"3.11\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx1\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .maintainStartTime(\"18:00Z\")\n .maintainEndTime(\"20:00Z\")\n .ipWhite(\"127.0.0.1\")\n .build());\n\n var defaultDataCenter = new DataCenter(\"defaultDataCenter\", DataCenterArgs.builder()\n .clusterId(default_.id())\n .dataCenterName(\"dc-2\")\n .autoRenew(false)\n .instanceType(\"cassandra.c.large\")\n .nodeCount(2)\n .payType(\"PayAsYouGo\")\n .vswitchId(\"vsw-xxxx2\")\n .diskSize(160)\n .diskType(\"cloud_ssd\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cassandra:Cluster\n properties:\n clusterName: cassandra-cluster-name-tf\n dataCenterName: dc-1\n autoRenew: 'false'\n instanceType: cassandra.c.large\n majorVersion: '3.11'\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx1\n diskSize: '160'\n diskType: cloud_ssd\n maintainStartTime: 18:00Z\n maintainEndTime: 20:00Z\n ipWhite: 127.0.0.1\n defaultDataCenter:\n type: alicloud:cassandra:DataCenter\n name: default\n properties:\n clusterId: ${default.id}\n dataCenterName: dc-2\n autoRenew: 'false'\n instanceType: cassandra.c.large\n nodeCount: '2'\n payType: PayAsYouGo\n vswitchId: vsw-xxxx2\n diskSize: '160'\n diskType: cloud_ssd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThis is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nIf you need full function, please import Cassandra cluster first.\n\nCassandra dataCenter can be imported using the dcId:clusterId, e.g.\n\n```sh\n$ pulumi import alicloud:cassandra/dataCenter:DataCenter dc_2 cn-shenxxxx-x:cds-wz933ryoaurxxxxx\n```\n\n", "properties": { "autoRenew": { "type": "boolean", @@ -111196,7 +113049,7 @@ } }, "alicloud:cddc/dedicatedHostAccount:DedicatedHostAccount": { - "description": "Provides a ApsaraDB for MyBase Dedicated Host Account resource.\n\nFor information about ApsaraDB for MyBase Dedicated Host Account and how to use it, see [What is Dedicated Host Account](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/creatededicatedhostaccount).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n\u003e **NOTE:** Each Dedicated host can have only one account. Before you create an account for a host, make sure that the existing account is deleted.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/notice-stop-selling-mybase-hosted-instances-from-august-31-2023) from version `1.225.1`. \n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cddc.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDedicatedHostGroup = new alicloud.cddc.DedicatedHostGroup(\"default\", {\n engine: \"MySQL\",\n vpcId: defaultNetwork.id,\n cpuAllocationRatio: 101,\n memAllocationRatio: 50,\n diskAllocationRatio: 200,\n allocationPolicy: \"Evenly\",\n hostReplacePolicy: \"Manual\",\n dedicatedHostGroupDesc: name,\n openPermission: true,\n});\nconst defaultGetHostEcsLevelInfos = _default.then(_default =\u003e alicloud.cddc.getHostEcsLevelInfos({\n dbType: \"mysql\",\n zoneId: _default.ids?.[0],\n storageType: \"cloud_essd\",\n}));\nconst defaultDedicatedHost = new alicloud.cddc.DedicatedHost(\"default\", {\n hostName: name,\n dedicatedHostGroupId: defaultDedicatedHostGroup.id,\n hostClass: defaultGetHostEcsLevelInfos.then(defaultGetHostEcsLevelInfos =\u003e defaultGetHostEcsLevelInfos.infos?.[0]?.resClassCode),\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchId: defaultSwitch.id,\n paymentType: \"Subscription\",\n tags: {\n Created: \"TF\",\n For: \"CDDC_DEDICATED\",\n },\n});\nconst defaultDedicatedHostAccount = new alicloud.cddc.DedicatedHostAccount(\"default\", {\n accountName: name,\n accountPassword: \"Password1234\",\n dedicatedHostId: defaultDedicatedHost.dedicatedHostId,\n accountType: \"Normal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cddc.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[0])\ndefault_dedicated_host_group = alicloud.cddc.DedicatedHostGroup(\"default\",\n engine=\"MySQL\",\n vpc_id=default_network.id,\n cpu_allocation_ratio=101,\n mem_allocation_ratio=50,\n disk_allocation_ratio=200,\n allocation_policy=\"Evenly\",\n host_replace_policy=\"Manual\",\n dedicated_host_group_desc=name,\n open_permission=True)\ndefault_get_host_ecs_level_infos = alicloud.cddc.get_host_ecs_level_infos(db_type=\"mysql\",\n zone_id=default.ids[0],\n storage_type=\"cloud_essd\")\ndefault_dedicated_host = alicloud.cddc.DedicatedHost(\"default\",\n host_name=name,\n dedicated_host_group_id=default_dedicated_host_group.id,\n host_class=default_get_host_ecs_level_infos.infos[0].res_class_code,\n zone_id=default.ids[0],\n vswitch_id=default_switch.id,\n payment_type=\"Subscription\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"CDDC_DEDICATED\",\n })\ndefault_dedicated_host_account = alicloud.cddc.DedicatedHostAccount(\"default\",\n account_name=name,\n account_password=\"Password1234\",\n dedicated_host_id=default_dedicated_host.dedicated_host_id,\n account_type=\"Normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cddc.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDedicatedHostGroup = new AliCloud.Cddc.DedicatedHostGroup(\"default\", new()\n {\n Engine = \"MySQL\",\n VpcId = defaultNetwork.Id,\n CpuAllocationRatio = 101,\n MemAllocationRatio = 50,\n DiskAllocationRatio = 200,\n AllocationPolicy = \"Evenly\",\n HostReplacePolicy = \"Manual\",\n DedicatedHostGroupDesc = name,\n OpenPermission = true,\n });\n\n var defaultGetHostEcsLevelInfos = AliCloud.Cddc.GetHostEcsLevelInfos.Invoke(new()\n {\n DbType = \"mysql\",\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n StorageType = \"cloud_essd\",\n });\n\n var defaultDedicatedHost = new AliCloud.Cddc.DedicatedHost(\"default\", new()\n {\n HostName = name,\n DedicatedHostGroupId = defaultDedicatedHostGroup.Id,\n HostClass = defaultGetHostEcsLevelInfos.Apply(getHostEcsLevelInfosResult =\u003e getHostEcsLevelInfosResult.Infos[0]?.ResClassCode),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchId = defaultSwitch.Id,\n PaymentType = \"Subscription\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"CDDC_DEDICATED\" },\n },\n });\n\n var defaultDedicatedHostAccount = new AliCloud.Cddc.DedicatedHostAccount(\"default\", new()\n {\n AccountName = name,\n AccountPassword = \"Password1234\",\n DedicatedHostId = defaultDedicatedHost.DedicatedHostId,\n AccountType = \"Normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cddc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cddc.GetZones(ctx, \u0026cddc.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDedicatedHostGroup, err := cddc.NewDedicatedHostGroup(ctx, \"default\", \u0026cddc.DedicatedHostGroupArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCpuAllocationRatio: pulumi.Int(101),\n\t\t\tMemAllocationRatio: pulumi.Int(50),\n\t\t\tDiskAllocationRatio: pulumi.Int(200),\n\t\t\tAllocationPolicy: pulumi.String(\"Evenly\"),\n\t\t\tHostReplacePolicy: pulumi.String(\"Manual\"),\n\t\t\tDedicatedHostGroupDesc: pulumi.String(name),\n\t\t\tOpenPermission: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetHostEcsLevelInfos, err := cddc.GetHostEcsLevelInfos(ctx, \u0026cddc.GetHostEcsLevelInfosArgs{\n\t\t\tDbType: \"mysql\",\n\t\t\tZoneId: _default.Ids[0],\n\t\t\tStorageType: \"cloud_essd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDedicatedHost, err := cddc.NewDedicatedHost(ctx, \"default\", \u0026cddc.DedicatedHostArgs{\n\t\t\tHostName: pulumi.String(name),\n\t\t\tDedicatedHostGroupId: defaultDedicatedHostGroup.ID(),\n\t\t\tHostClass: pulumi.String(defaultGetHostEcsLevelInfos.Infos[0].ResClassCode),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"CDDC_DEDICATED\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cddc.NewDedicatedHostAccount(ctx, \"default\", \u0026cddc.DedicatedHostAccountArgs{\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Password1234\"),\n\t\t\tDedicatedHostId: defaultDedicatedHost.DedicatedHostId,\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cddc.CddcFunctions;\nimport com.pulumi.alicloud.cddc.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroup;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroupArgs;\nimport com.pulumi.alicloud.cddc.inputs.GetHostEcsLevelInfosArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHost;\nimport com.pulumi.alicloud.cddc.DedicatedHostArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostAccount;\nimport com.pulumi.alicloud.cddc.DedicatedHostAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CddcFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultDedicatedHostGroup = new DedicatedHostGroup(\"defaultDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n .engine(\"MySQL\")\n .vpcId(defaultNetwork.id())\n .cpuAllocationRatio(101)\n .memAllocationRatio(50)\n .diskAllocationRatio(200)\n .allocationPolicy(\"Evenly\")\n .hostReplacePolicy(\"Manual\")\n .dedicatedHostGroupDesc(name)\n .openPermission(true)\n .build());\n\n final var defaultGetHostEcsLevelInfos = CddcFunctions.getHostEcsLevelInfos(GetHostEcsLevelInfosArgs.builder()\n .dbType(\"mysql\")\n .zoneId(default_.ids()[0])\n .storageType(\"cloud_essd\")\n .build());\n\n var defaultDedicatedHost = new DedicatedHost(\"defaultDedicatedHost\", DedicatedHostArgs.builder()\n .hostName(name)\n .dedicatedHostGroupId(defaultDedicatedHostGroup.id())\n .hostClass(defaultGetHostEcsLevelInfos.infos()[0].resClassCode())\n .zoneId(default_.ids()[0])\n .vswitchId(defaultSwitch.id())\n .paymentType(\"Subscription\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"CDDC_DEDICATED\")\n ))\n .build());\n\n var defaultDedicatedHostAccount = new DedicatedHostAccount(\"defaultDedicatedHostAccount\", DedicatedHostAccountArgs.builder()\n .accountName(name)\n .accountPassword(\"Password1234\")\n .dedicatedHostId(defaultDedicatedHost.dedicatedHostId())\n .accountType(\"Normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[0]}\n defaultDedicatedHostGroup:\n type: alicloud:cddc:DedicatedHostGroup\n name: default\n properties:\n engine: MySQL\n vpcId: ${defaultNetwork.id}\n cpuAllocationRatio: 101\n memAllocationRatio: 50\n diskAllocationRatio: 200\n allocationPolicy: Evenly\n hostReplacePolicy: Manual\n dedicatedHostGroupDesc: ${name}\n openPermission: true\n defaultDedicatedHost:\n type: alicloud:cddc:DedicatedHost\n name: default\n properties:\n hostName: ${name}\n dedicatedHostGroupId: ${defaultDedicatedHostGroup.id}\n hostClass: ${defaultGetHostEcsLevelInfos.infos[0].resClassCode}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultSwitch.id}\n paymentType: Subscription\n tags:\n Created: TF\n For: CDDC_DEDICATED\n defaultDedicatedHostAccount:\n type: alicloud:cddc:DedicatedHostAccount\n name: default\n properties:\n accountName: ${name}\n accountPassword: Password1234\n dedicatedHostId: ${defaultDedicatedHost.dedicatedHostId}\n accountType: Normal\nvariables:\n default:\n fn::invoke:\n function: alicloud:cddc:getZones\n arguments: {}\n defaultGetHostEcsLevelInfos:\n fn::invoke:\n function: alicloud:cddc:getHostEcsLevelInfos\n arguments:\n dbType: mysql\n zoneId: ${default.ids[0]}\n storageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cddc/dedicatedHostAccount:DedicatedHostAccount example \u003cdedicated_host_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a ApsaraDB for MyBase Dedicated Host Account resource.\n\nFor information about ApsaraDB for MyBase Dedicated Host Account and how to use it, see [What is Dedicated Host Account](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/creatededicatedhostaccount).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n\u003e **NOTE:** Each Dedicated host can have only one account. Before you create an account for a host, make sure that the existing account is deleted.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/notice-stop-selling-mybase-hosted-instances-from-august-31-2023) from version `1.225.1`. \n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cddc.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDedicatedHostGroup = new alicloud.cddc.DedicatedHostGroup(\"default\", {\n engine: \"MySQL\",\n vpcId: defaultNetwork.id,\n cpuAllocationRatio: 101,\n memAllocationRatio: 50,\n diskAllocationRatio: 200,\n allocationPolicy: \"Evenly\",\n hostReplacePolicy: \"Manual\",\n dedicatedHostGroupDesc: name,\n openPermission: true,\n});\nconst defaultGetHostEcsLevelInfos = _default.then(_default =\u003e alicloud.cddc.getHostEcsLevelInfos({\n dbType: \"mysql\",\n zoneId: _default.ids?.[0],\n storageType: \"cloud_essd\",\n}));\nconst defaultDedicatedHost = new alicloud.cddc.DedicatedHost(\"default\", {\n hostName: name,\n dedicatedHostGroupId: defaultDedicatedHostGroup.id,\n hostClass: defaultGetHostEcsLevelInfos.then(defaultGetHostEcsLevelInfos =\u003e defaultGetHostEcsLevelInfos.infos?.[0]?.resClassCode),\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchId: defaultSwitch.id,\n paymentType: \"Subscription\",\n tags: {\n Created: \"TF\",\n For: \"CDDC_DEDICATED\",\n },\n});\nconst defaultDedicatedHostAccount = new alicloud.cddc.DedicatedHostAccount(\"default\", {\n accountName: name,\n accountPassword: \"Password1234\",\n dedicatedHostId: defaultDedicatedHost.dedicatedHostId,\n accountType: \"Normal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cddc.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[0])\ndefault_dedicated_host_group = alicloud.cddc.DedicatedHostGroup(\"default\",\n engine=\"MySQL\",\n vpc_id=default_network.id,\n cpu_allocation_ratio=101,\n mem_allocation_ratio=50,\n disk_allocation_ratio=200,\n allocation_policy=\"Evenly\",\n host_replace_policy=\"Manual\",\n dedicated_host_group_desc=name,\n open_permission=True)\ndefault_get_host_ecs_level_infos = alicloud.cddc.get_host_ecs_level_infos(db_type=\"mysql\",\n zone_id=default.ids[0],\n storage_type=\"cloud_essd\")\ndefault_dedicated_host = alicloud.cddc.DedicatedHost(\"default\",\n host_name=name,\n dedicated_host_group_id=default_dedicated_host_group.id,\n host_class=default_get_host_ecs_level_infos.infos[0].res_class_code,\n zone_id=default.ids[0],\n vswitch_id=default_switch.id,\n payment_type=\"Subscription\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"CDDC_DEDICATED\",\n })\ndefault_dedicated_host_account = alicloud.cddc.DedicatedHostAccount(\"default\",\n account_name=name,\n account_password=\"Password1234\",\n dedicated_host_id=default_dedicated_host.dedicated_host_id,\n account_type=\"Normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cddc.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDedicatedHostGroup = new AliCloud.Cddc.DedicatedHostGroup(\"default\", new()\n {\n Engine = \"MySQL\",\n VpcId = defaultNetwork.Id,\n CpuAllocationRatio = 101,\n MemAllocationRatio = 50,\n DiskAllocationRatio = 200,\n AllocationPolicy = \"Evenly\",\n HostReplacePolicy = \"Manual\",\n DedicatedHostGroupDesc = name,\n OpenPermission = true,\n });\n\n var defaultGetHostEcsLevelInfos = AliCloud.Cddc.GetHostEcsLevelInfos.Invoke(new()\n {\n DbType = \"mysql\",\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n StorageType = \"cloud_essd\",\n });\n\n var defaultDedicatedHost = new AliCloud.Cddc.DedicatedHost(\"default\", new()\n {\n HostName = name,\n DedicatedHostGroupId = defaultDedicatedHostGroup.Id,\n HostClass = defaultGetHostEcsLevelInfos.Apply(getHostEcsLevelInfosResult =\u003e getHostEcsLevelInfosResult.Infos[0]?.ResClassCode),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchId = defaultSwitch.Id,\n PaymentType = \"Subscription\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"CDDC_DEDICATED\" },\n },\n });\n\n var defaultDedicatedHostAccount = new AliCloud.Cddc.DedicatedHostAccount(\"default\", new()\n {\n AccountName = name,\n AccountPassword = \"Password1234\",\n DedicatedHostId = defaultDedicatedHost.DedicatedHostId,\n AccountType = \"Normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cddc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cddc.GetZones(ctx, \u0026cddc.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDedicatedHostGroup, err := cddc.NewDedicatedHostGroup(ctx, \"default\", \u0026cddc.DedicatedHostGroupArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCpuAllocationRatio: pulumi.Int(101),\n\t\t\tMemAllocationRatio: pulumi.Int(50),\n\t\t\tDiskAllocationRatio: pulumi.Int(200),\n\t\t\tAllocationPolicy: pulumi.String(\"Evenly\"),\n\t\t\tHostReplacePolicy: pulumi.String(\"Manual\"),\n\t\t\tDedicatedHostGroupDesc: pulumi.String(name),\n\t\t\tOpenPermission: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetHostEcsLevelInfos, err := cddc.GetHostEcsLevelInfos(ctx, \u0026cddc.GetHostEcsLevelInfosArgs{\n\t\t\tDbType: \"mysql\",\n\t\t\tZoneId: _default.Ids[0],\n\t\t\tStorageType: \"cloud_essd\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDedicatedHost, err := cddc.NewDedicatedHost(ctx, \"default\", \u0026cddc.DedicatedHostArgs{\n\t\t\tHostName: pulumi.String(name),\n\t\t\tDedicatedHostGroupId: defaultDedicatedHostGroup.ID(),\n\t\t\tHostClass: pulumi.String(defaultGetHostEcsLevelInfos.Infos[0].ResClassCode),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"CDDC_DEDICATED\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cddc.NewDedicatedHostAccount(ctx, \"default\", \u0026cddc.DedicatedHostAccountArgs{\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Password1234\"),\n\t\t\tDedicatedHostId: defaultDedicatedHost.DedicatedHostId,\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cddc.CddcFunctions;\nimport com.pulumi.alicloud.cddc.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroup;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroupArgs;\nimport com.pulumi.alicloud.cddc.inputs.GetHostEcsLevelInfosArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHost;\nimport com.pulumi.alicloud.cddc.DedicatedHostArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostAccount;\nimport com.pulumi.alicloud.cddc.DedicatedHostAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CddcFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultDedicatedHostGroup = new DedicatedHostGroup(\"defaultDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n .engine(\"MySQL\")\n .vpcId(defaultNetwork.id())\n .cpuAllocationRatio(101)\n .memAllocationRatio(50)\n .diskAllocationRatio(200)\n .allocationPolicy(\"Evenly\")\n .hostReplacePolicy(\"Manual\")\n .dedicatedHostGroupDesc(name)\n .openPermission(true)\n .build());\n\n final var defaultGetHostEcsLevelInfos = CddcFunctions.getHostEcsLevelInfos(GetHostEcsLevelInfosArgs.builder()\n .dbType(\"mysql\")\n .zoneId(default_.ids()[0])\n .storageType(\"cloud_essd\")\n .build());\n\n var defaultDedicatedHost = new DedicatedHost(\"defaultDedicatedHost\", DedicatedHostArgs.builder()\n .hostName(name)\n .dedicatedHostGroupId(defaultDedicatedHostGroup.id())\n .hostClass(defaultGetHostEcsLevelInfos.infos()[0].resClassCode())\n .zoneId(default_.ids()[0])\n .vswitchId(defaultSwitch.id())\n .paymentType(\"Subscription\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"CDDC_DEDICATED\")\n ))\n .build());\n\n var defaultDedicatedHostAccount = new DedicatedHostAccount(\"defaultDedicatedHostAccount\", DedicatedHostAccountArgs.builder()\n .accountName(name)\n .accountPassword(\"Password1234\")\n .dedicatedHostId(defaultDedicatedHost.dedicatedHostId())\n .accountType(\"Normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[0]}\n defaultDedicatedHostGroup:\n type: alicloud:cddc:DedicatedHostGroup\n name: default\n properties:\n engine: MySQL\n vpcId: ${defaultNetwork.id}\n cpuAllocationRatio: 101\n memAllocationRatio: 50\n diskAllocationRatio: 200\n allocationPolicy: Evenly\n hostReplacePolicy: Manual\n dedicatedHostGroupDesc: ${name}\n openPermission: true\n defaultDedicatedHost:\n type: alicloud:cddc:DedicatedHost\n name: default\n properties:\n hostName: ${name}\n dedicatedHostGroupId: ${defaultDedicatedHostGroup.id}\n hostClass: ${defaultGetHostEcsLevelInfos.infos[0].resClassCode}\n zoneId: ${default.ids[0]}\n vswitchId: ${defaultSwitch.id}\n paymentType: Subscription\n tags:\n Created: TF\n For: CDDC_DEDICATED\n defaultDedicatedHostAccount:\n type: alicloud:cddc:DedicatedHostAccount\n name: default\n properties:\n accountName: ${name}\n accountPassword: Password1234\n dedicatedHostId: ${defaultDedicatedHost.dedicatedHostId}\n accountType: Normal\nvariables:\n default:\n fn::invoke:\n function: alicloud:cddc:getZones\n arguments: {}\n defaultGetHostEcsLevelInfos:\n fn::invoke:\n function: alicloud:cddc:getHostEcsLevelInfos\n arguments:\n dbType: mysql\n zoneId: ${default.ids[0]}\n storageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cddc/dedicatedHostAccount:DedicatedHostAccount example \u003cdedicated_host_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountName": { "type": "string", @@ -111276,7 +113129,7 @@ } }, "alicloud:cddc/dedicatedHostGroup:DedicatedHostGroup": { - "description": "Provides a ApsaraDB for MyBase Dedicated Host Group resource.\n\nFor information about ApsaraDB for MyBase Dedicated Host Group and how to use it, see [What is Dedicated Host Group](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/creatededicatedhostgroup).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/notice-stop-selling-mybase-hosted-instances-from-august-31-2023) from version `1.225.1`. \n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultDedicatedHostGroup = new alicloud.cddc.DedicatedHostGroup(\"default\", {\n engine: \"MySQL\",\n vpcId: _default.id,\n cpuAllocationRatio: 101,\n memAllocationRatio: 50,\n diskAllocationRatio: 200,\n allocationPolicy: \"Evenly\",\n hostReplacePolicy: \"Manual\",\n dedicatedHostGroupDesc: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_dedicated_host_group = alicloud.cddc.DedicatedHostGroup(\"default\",\n engine=\"MySQL\",\n vpc_id=default.id,\n cpu_allocation_ratio=101,\n mem_allocation_ratio=50,\n disk_allocation_ratio=200,\n allocation_policy=\"Evenly\",\n host_replace_policy=\"Manual\",\n dedicated_host_group_desc=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultDedicatedHostGroup = new AliCloud.Cddc.DedicatedHostGroup(\"default\", new()\n {\n Engine = \"MySQL\",\n VpcId = @default.Id,\n CpuAllocationRatio = 101,\n MemAllocationRatio = 50,\n DiskAllocationRatio = 200,\n AllocationPolicy = \"Evenly\",\n HostReplacePolicy = \"Manual\",\n DedicatedHostGroupDesc = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cddc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cddc.NewDedicatedHostGroup(ctx, \"default\", \u0026cddc.DedicatedHostGroupArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tCpuAllocationRatio: pulumi.Int(101),\n\t\t\tMemAllocationRatio: pulumi.Int(50),\n\t\t\tDiskAllocationRatio: pulumi.Int(200),\n\t\t\tAllocationPolicy: pulumi.String(\"Evenly\"),\n\t\t\tHostReplacePolicy: pulumi.String(\"Manual\"),\n\t\t\tDedicatedHostGroupDesc: pulumi.String(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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroup;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultDedicatedHostGroup = new DedicatedHostGroup(\"defaultDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n .engine(\"MySQL\")\n .vpcId(default_.id())\n .cpuAllocationRatio(101)\n .memAllocationRatio(50)\n .diskAllocationRatio(200)\n .allocationPolicy(\"Evenly\")\n .hostReplacePolicy(\"Manual\")\n .dedicatedHostGroupDesc(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultDedicatedHostGroup:\n type: alicloud:cddc:DedicatedHostGroup\n name: default\n properties:\n engine: MySQL\n vpcId: ${default.id}\n cpuAllocationRatio: 101\n memAllocationRatio: 50\n diskAllocationRatio: 200\n allocationPolicy: Evenly\n hostReplacePolicy: Manual\n dedicatedHostGroupDesc: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cddc/dedicatedHostGroup:DedicatedHostGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a ApsaraDB for MyBase Dedicated Host Group resource.\n\nFor information about ApsaraDB for MyBase Dedicated Host Group and how to use it, see [What is Dedicated Host Group](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/creatededicatedhostgroup).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/help/en/apsaradb-for-mybase/latest/notice-stop-selling-mybase-hosted-instances-from-august-31-2023) from version `1.225.1`. \n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultDedicatedHostGroup = new alicloud.cddc.DedicatedHostGroup(\"default\", {\n engine: \"MySQL\",\n vpcId: _default.id,\n cpuAllocationRatio: 101,\n memAllocationRatio: 50,\n diskAllocationRatio: 200,\n allocationPolicy: \"Evenly\",\n hostReplacePolicy: \"Manual\",\n dedicatedHostGroupDesc: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_dedicated_host_group = alicloud.cddc.DedicatedHostGroup(\"default\",\n engine=\"MySQL\",\n vpc_id=default.id,\n cpu_allocation_ratio=101,\n mem_allocation_ratio=50,\n disk_allocation_ratio=200,\n allocation_policy=\"Evenly\",\n host_replace_policy=\"Manual\",\n dedicated_host_group_desc=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultDedicatedHostGroup = new AliCloud.Cddc.DedicatedHostGroup(\"default\", new()\n {\n Engine = \"MySQL\",\n VpcId = @default.Id,\n CpuAllocationRatio = 101,\n MemAllocationRatio = 50,\n DiskAllocationRatio = 200,\n AllocationPolicy = \"Evenly\",\n HostReplacePolicy = \"Manual\",\n DedicatedHostGroupDesc = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cddc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cddc.NewDedicatedHostGroup(ctx, \"default\", \u0026cddc.DedicatedHostGroupArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tCpuAllocationRatio: pulumi.Int(101),\n\t\t\tMemAllocationRatio: pulumi.Int(50),\n\t\t\tDiskAllocationRatio: pulumi.Int(200),\n\t\t\tAllocationPolicy: pulumi.String(\"Evenly\"),\n\t\t\tHostReplacePolicy: pulumi.String(\"Manual\"),\n\t\t\tDedicatedHostGroupDesc: pulumi.String(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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroup;\nimport com.pulumi.alicloud.cddc.DedicatedHostGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultDedicatedHostGroup = new DedicatedHostGroup(\"defaultDedicatedHostGroup\", DedicatedHostGroupArgs.builder()\n .engine(\"MySQL\")\n .vpcId(default_.id())\n .cpuAllocationRatio(101)\n .memAllocationRatio(50)\n .diskAllocationRatio(200)\n .allocationPolicy(\"Evenly\")\n .hostReplacePolicy(\"Manual\")\n .dedicatedHostGroupDesc(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultDedicatedHostGroup:\n type: alicloud:cddc:DedicatedHostGroup\n name: default\n properties:\n engine: MySQL\n vpcId: ${default.id}\n cpuAllocationRatio: 101\n memAllocationRatio: 50\n diskAllocationRatio: 200\n allocationPolicy: Evenly\n hostReplacePolicy: Manual\n dedicatedHostGroupDesc: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cddc/dedicatedHostGroup:DedicatedHostGroup example \u003cid\u003e\n```\n\n", "properties": { "allocationPolicy": { "type": "string", @@ -112083,7 +113936,7 @@ } }, "alicloud:cdn/domainConfig:DomainConfig": { - "description": "Provides a Cdn Domain Config resource.\n\nFor information about Cdn Domain Config and how to use it, see [What is Domain Config](https://www.alibabacloud.com/help/en/doc-detail/90915.htm)\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new Domain config.\nconst domain = new alicloud.cdn.DomainNew(\"domain\", {\n domainName: `mycdndomain-${_default.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\nconst config = new alicloud.cdn.DomainConfig(\"config\", {\n domainName: domain.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"110.110.110.110\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new Domain config.\ndomain = alicloud.cdn.DomainNew(\"domain\",\n domain_name=f\"mycdndomain-{default['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\nconfig = alicloud.cdn.DomainConfig(\"config\",\n domain_name=domain.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new Domain config.\n var domain = new AliCloud.Cdn.DomainNew(\"domain\", new()\n {\n DomainName = $\"mycdndomain-{@default.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n var config = new AliCloud.Cdn.DomainConfig(\"config\", new()\n {\n DomainName = domain.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Cdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Domain config.\n\t\tdomain, err := cdn.NewDomainNew(ctx, \"domain\", \u0026cdn.DomainNewArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", _default.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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 = cdn.NewDomainConfig(ctx, \"config\", \u0026cdn.DomainConfigArgs{\n\t\t\tDomainName: domain.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: cdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026cdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.cdn.DomainConfig;\nimport com.pulumi.alicloud.cdn.DomainConfigArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new Domain config.\n var domain = new DomainNew(\"domain\", DomainNewArgs.builder()\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", default_.result()))\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainNewSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n var config = new DomainConfig(\"config\", DomainConfigArgs.builder()\n .domainName(domain.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new Domain config.\n domain:\n type: alicloud:cdn:DomainNew\n properties:\n domainName: mycdndomain-${default.result}.alicloud-provider.cn\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: '20'\n port: 80\n weight: '15'\n config:\n type: alicloud:cdn:DomainConfig\n properties:\n domainName: ${domain.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 110.110.110.110\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n```sh\n$ pulumi import alicloud:cdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e\n```\n\n", + "description": "Provides a Cdn Domain Config resource.\n\nFor information about Cdn Domain Config and how to use it, see [What is Domain Config](https://www.alibabacloud.com/help/en/doc-detail/90915.htm)\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new Domain config.\nconst domain = new alicloud.cdn.DomainNew(\"domain\", {\n domainName: `mycdndomain-${_default.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\nconst config = new alicloud.cdn.DomainConfig(\"config\", {\n domainName: domain.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"110.110.110.110\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new Domain config.\ndomain = alicloud.cdn.DomainNew(\"domain\",\n domain_name=f\"mycdndomain-{default['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\nconfig = alicloud.cdn.DomainConfig(\"config\",\n domain_name=domain.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new Domain config.\n var domain = new AliCloud.Cdn.DomainNew(\"domain\", new()\n {\n DomainName = $\"mycdndomain-{@default.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n var config = new AliCloud.Cdn.DomainConfig(\"config\", new()\n {\n DomainName = domain.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Cdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Domain config.\n\t\tdomain, err := cdn.NewDomainNew(ctx, \"domain\", \u0026cdn.DomainNewArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", _default.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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 = cdn.NewDomainConfig(ctx, \"config\", \u0026cdn.DomainConfigArgs{\n\t\t\tDomainName: domain.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: cdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026cdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.cdn.DomainConfig;\nimport com.pulumi.alicloud.cdn.DomainConfigArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new Domain config.\n var domain = new DomainNew(\"domain\", DomainNewArgs.builder()\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", default_.result()))\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainNewSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n var config = new DomainConfig(\"config\", DomainConfigArgs.builder()\n .domainName(domain.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new Domain config.\n domain:\n type: alicloud:cdn:DomainNew\n properties:\n domainName: mycdndomain-${default.result}.alicloud-provider.cn\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: '20'\n port: 80\n weight: '15'\n config:\n type: alicloud:cdn:DomainConfig\n properties:\n domainName: ${domain.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 110.110.110.110\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n```sh\n$ pulumi import alicloud:cdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e\n```\n\n", "properties": { "configId": { "type": "string", @@ -112186,7 +114039,7 @@ } }, "alicloud:cdn/domainNew:DomainNew": { - "description": "Provides a CDN Domain resource.\n\nCDN domain name.\n\nFor information about CDN Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-addcdndomain).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n scope: \"overseas\",\n domainName: `mycdndomain-${_default.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n sources: [{\n type: \"ipaddr\",\n content: \"1.1.1.1\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n scope=\"overseas\",\n domain_name=f\"mycdndomain-{default['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n sources=[{\n \"type\": \"ipaddr\",\n \"content\": \"1.1.1.1\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n Scope = \"overseas\",\n DomainName = $\"mycdndomain-{@default.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Type = \"ipaddr\",\n Content = \"1.1.1.1\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", _default.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .scope(\"overseas\")\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", default_.result()))\n .cdnType(\"web\")\n .sources(DomainNewSourceArgs.builder()\n .type(\"ipaddr\")\n .content(\"1.1.1.1\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n scope: overseas\n domainName: mycdndomain-${default.result}.alicloud-provider.cn\n cdnType: web\n sources:\n - type: ipaddr\n content: 1.1.1.1\n priority: 20\n port: 80\n weight: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/domainNew:DomainNew example \u003cid\u003e\n```\n\n", + "description": "Provides a CDN Domain resource.\n\nCDN domain name.\n\nFor information about CDN Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-addcdndomain).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n scope: \"overseas\",\n domainName: `mycdndomain-${_default.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n sources: [{\n type: \"ipaddr\",\n content: \"1.1.1.1\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n scope=\"overseas\",\n domain_name=f\"mycdndomain-{default['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n sources=[{\n \"type\": \"ipaddr\",\n \"content\": \"1.1.1.1\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n Scope = \"overseas\",\n DomainName = $\"mycdndomain-{@default.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Type = \"ipaddr\",\n Content = \"1.1.1.1\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", _default.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .scope(\"overseas\")\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", default_.result()))\n .cdnType(\"web\")\n .sources(DomainNewSourceArgs.builder()\n .type(\"ipaddr\")\n .content(\"1.1.1.1\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n scope: overseas\n domainName: mycdndomain-${default.result}.alicloud-provider.cn\n cdnType: web\n sources:\n - type: ipaddr\n content: 1.1.1.1\n priority: 20\n port: 80\n weight: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/domainNew:DomainNew example \u003cid\u003e\n```\n\n", "properties": { "cdnType": { "type": "string", @@ -112364,7 +114217,7 @@ } }, "alicloud:cdn/fcTrigger:FcTrigger": { - "description": "Provides a CDN Fc Trigger resource.\n\nFor information about CDN Fc Trigger and how to use it, see [What is Fc Trigger](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-addfctrigger).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cdn.FcTrigger(\"example\", {\n eventMetaName: \"LogFileCreated\",\n eventMetaVersion: \"1.0.0\",\n notes: \"example_value\",\n roleArn: _default.then(_default =\u003e `acs:ram::${_default.id}:role/aliyuncdneventnotificationrole`),\n sourceArn: _default.then(_default =\u003e `acs:cdn:*:${_default.id}:domain/example.com`),\n triggerArn: Promise.all([defaultGetRegions, _default]).then(([defaultGetRegions, _default]) =\u003e `acs:fc:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\nexample = alicloud.cdn.FcTrigger(\"example\",\n event_meta_name=\"LogFileCreated\",\n event_meta_version=\"1.0.0\",\n notes=\"example_value\",\n role_arn=f\"acs:ram::{default.id}:role/aliyuncdneventnotificationrole\",\n source_arn=f\"acs:cdn:*:{default.id}:domain/example.com\",\n trigger_arn=f\"acs:fc:{default_get_regions.regions[0].id}:{default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cdn.FcTrigger(\"example\", new()\n {\n EventMetaName = \"LogFileCreated\",\n EventMetaVersion = \"1.0.0\",\n Notes = \"example_value\",\n RoleArn = @default.Apply(@default =\u003e $\"acs:ram::{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyuncdneventnotificationrole\"),\n SourceArn = @default.Apply(@default =\u003e $\"acs:cdn:*:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:domain/example.com\"),\n TriggerArn = Output.Tuple(defaultGetRegions, @default).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n return $\"acs:fc:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:services/FCTestService/functions/printEvent/triggers/testtrigger\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFcTrigger(ctx, \"example\", \u0026cdn.FcTriggerArgs{\n\t\t\tEventMetaName: pulumi.String(\"LogFileCreated\"),\n\t\t\tEventMetaVersion: pulumi.String(\"1.0.0\"),\n\t\t\tNotes: pulumi.String(\"example_value\"),\n\t\t\tRoleArn: pulumi.Sprintf(\"acs:ram::%v:role/aliyuncdneventnotificationrole\", _default.Id),\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v:domain/example.com\", _default.Id),\n\t\t\tTriggerArn: pulumi.Sprintf(\"acs:fc:%v:%v:services/FCTestService/functions/printEvent/triggers/testtrigger\", defaultGetRegions.Regions[0].Id, _default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cdn.FcTrigger;\nimport com.pulumi.alicloud.cdn.FcTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new FcTrigger(\"example\", FcTriggerArgs.builder()\n .eventMetaName(\"LogFileCreated\")\n .eventMetaVersion(\"1.0.0\")\n .notes(\"example_value\")\n .roleArn(String.format(\"acs:ram::%s:role/aliyuncdneventnotificationrole\", default_.id()))\n .sourceArn(String.format(\"acs:cdn:*:%s:domain/example.com\", default_.id()))\n .triggerArn(String.format(\"acs:fc:%s:%s:services/FCTestService/functions/printEvent/triggers/testtrigger\", defaultGetRegions.regions()[0].id(),default_.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cdn:FcTrigger\n properties:\n eventMetaName: LogFileCreated\n eventMetaVersion: 1.0.0\n notes: example_value\n roleArn: acs:ram::${default.id}:role/aliyuncdneventnotificationrole\n sourceArn: acs:cdn:*:${default.id}:domain/example.com\n triggerArn: acs:fc:${defaultGetRegions.regions[0].id}:${default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Fc Trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/fcTrigger:FcTrigger example \u003ctrigger_arn\u003e\n```\n\n", + "description": "Provides a CDN Fc Trigger resource.\n\nFor information about CDN Fc Trigger and how to use it, see [What is Fc Trigger](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-addfctrigger).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cdn.FcTrigger(\"example\", {\n eventMetaName: \"LogFileCreated\",\n eventMetaVersion: \"1.0.0\",\n notes: \"example_value\",\n roleArn: _default.then(_default =\u003e `acs:ram::${_default.id}:role/aliyuncdneventnotificationrole`),\n sourceArn: _default.then(_default =\u003e `acs:cdn:*:${_default.id}:domain/example.com`),\n triggerArn: Promise.all([defaultGetRegions, _default]).then(([defaultGetRegions, _default]) =\u003e `acs:fc:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\nexample = alicloud.cdn.FcTrigger(\"example\",\n event_meta_name=\"LogFileCreated\",\n event_meta_version=\"1.0.0\",\n notes=\"example_value\",\n role_arn=f\"acs:ram::{default.id}:role/aliyuncdneventnotificationrole\",\n source_arn=f\"acs:cdn:*:{default.id}:domain/example.com\",\n trigger_arn=f\"acs:fc:{default_get_regions.regions[0].id}:{default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cdn.FcTrigger(\"example\", new()\n {\n EventMetaName = \"LogFileCreated\",\n EventMetaVersion = \"1.0.0\",\n Notes = \"example_value\",\n RoleArn = @default.Apply(@default =\u003e $\"acs:ram::{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyuncdneventnotificationrole\"),\n SourceArn = @default.Apply(@default =\u003e $\"acs:cdn:*:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:domain/example.com\"),\n TriggerArn = Output.Tuple(defaultGetRegions, @default).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n return $\"acs:fc:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:services/FCTestService/functions/printEvent/triggers/testtrigger\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewFcTrigger(ctx, \"example\", \u0026cdn.FcTriggerArgs{\n\t\t\tEventMetaName: pulumi.String(\"LogFileCreated\"),\n\t\t\tEventMetaVersion: pulumi.String(\"1.0.0\"),\n\t\t\tNotes: pulumi.String(\"example_value\"),\n\t\t\tRoleArn: pulumi.Sprintf(\"acs:ram::%v:role/aliyuncdneventnotificationrole\", _default.Id),\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v:domain/example.com\", _default.Id),\n\t\t\tTriggerArn: pulumi.Sprintf(\"acs:fc:%v:%v:services/FCTestService/functions/printEvent/triggers/testtrigger\", defaultGetRegions.Regions[0].Id, _default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cdn.FcTrigger;\nimport com.pulumi.alicloud.cdn.FcTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new FcTrigger(\"example\", FcTriggerArgs.builder()\n .eventMetaName(\"LogFileCreated\")\n .eventMetaVersion(\"1.0.0\")\n .notes(\"example_value\")\n .roleArn(String.format(\"acs:ram::%s:role/aliyuncdneventnotificationrole\", default_.id()))\n .sourceArn(String.format(\"acs:cdn:*:%s:domain/example.com\", default_.id()))\n .triggerArn(String.format(\"acs:fc:%s:%s:services/FCTestService/functions/printEvent/triggers/testtrigger\", defaultGetRegions.regions()[0].id(),default_.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cdn:FcTrigger\n properties:\n eventMetaName: LogFileCreated\n eventMetaVersion: 1.0.0\n notes: example_value\n roleArn: acs:ram::${default.id}:role/aliyuncdneventnotificationrole\n sourceArn: acs:cdn:*:${default.id}:domain/example.com\n triggerArn: acs:fc:${defaultGetRegions.regions[0].id}:${default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCDN Fc Trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/fcTrigger:FcTrigger example \u003ctrigger_arn\u003e\n```\n\n", "properties": { "eventMetaName": { "type": "string", @@ -112483,7 +114336,7 @@ } }, "alicloud:cdn/realTimeLogDelivery:RealTimeLogDelivery": { - "description": "Provides a CDN Real Time Log Delivery resource.\n\nAccelerate domain name real-time log push.\n\nFor information about CDN Real Time Log Delivery and how to use it, see [What is Real Time Log Delivery](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-createrealtimelogdelivery).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n scope: \"overseas\",\n domainName: `mycdndomain-${defaultInteger.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n sources: [{\n type: \"ipaddr\",\n content: \"1.1.3.1\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultRealTimeLogDelivery = new alicloud.cdn.RealTimeLogDelivery(\"default\", {\n domain: defaultDomainNew.domainName,\n logstore: defaultStore.logstoreName,\n project: defaultProject.projectName,\n slsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n scope=\"overseas\",\n domain_name=f\"mycdndomain-{default_integer['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n sources=[{\n \"type\": \"ipaddr\",\n \"content\": \"1.1.3.1\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault = alicloud.get_regions(current=True)\ndefault_real_time_log_delivery = alicloud.cdn.RealTimeLogDelivery(\"default\",\n domain=default_domain_new.domain_name,\n logstore=default_store.logstore_name,\n project=default_project.project_name,\n sls_region=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n Scope = \"overseas\",\n DomainName = $\"mycdndomain-{defaultInteger.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Type = \"ipaddr\",\n Content = \"1.1.3.1\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultRealTimeLogDelivery = new AliCloud.Cdn.RealTimeLogDelivery(\"default\", new()\n {\n Domain = defaultDomainNew.DomainName,\n Logstore = defaultStore.LogstoreName,\n Project = defaultProject.ProjectName,\n SlsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomainNew, err := cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", defaultInteger.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tContent: pulumi.String(\"1.1.3.1\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewRealTimeLogDelivery(ctx, \"default\", \u0026cdn.RealTimeLogDeliveryArgs{\n\t\t\tDomain: defaultDomainNew.DomainName,\n\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\tProject: defaultProject.ProjectName,\n\t\t\tSlsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cdn.RealTimeLogDelivery;\nimport com.pulumi.alicloud.cdn.RealTimeLogDeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .scope(\"overseas\")\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", defaultInteger.result()))\n .cdnType(\"web\")\n .sources(DomainNewSourceArgs.builder()\n .type(\"ipaddr\")\n .content(\"1.1.3.1\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultRealTimeLogDelivery = new RealTimeLogDelivery(\"defaultRealTimeLogDelivery\", RealTimeLogDeliveryArgs.builder()\n .domain(defaultDomainNew.domainName())\n .logstore(defaultStore.logstoreName())\n .project(defaultProject.projectName())\n .slsRegion(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n scope: overseas\n domainName: mycdndomain-${defaultInteger.result}.alicloud-provider.cn\n cdnType: web\n sources:\n - type: ipaddr\n content: 1.1.3.1\n priority: 20\n port: 80\n weight: 15\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultRealTimeLogDelivery:\n type: alicloud:cdn:RealTimeLogDelivery\n name: default\n properties:\n domain: ${defaultDomainNew.domainName}\n logstore: ${defaultStore.logstoreName}\n project: ${defaultProject.projectName}\n slsRegion: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Real Time Log Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/realTimeLogDelivery:RealTimeLogDelivery example \u003cid\u003e\n```\n\n", + "description": "Provides a CDN Real Time Log Delivery resource.\n\nAccelerate domain name real-time log push.\n\nFor information about CDN Real Time Log Delivery and how to use it, see [What is Real Time Log Delivery](https://www.alibabacloud.com/help/en/cdn/developer-reference/api-cdn-2018-05-10-createrealtimelogdelivery).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n scope: \"overseas\",\n domainName: `mycdndomain-${defaultInteger.result}.alicloud-provider.cn`,\n cdnType: \"web\",\n sources: [{\n type: \"ipaddr\",\n content: \"1.1.3.1\",\n priority: 20,\n port: 80,\n weight: 15,\n }],\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultRealTimeLogDelivery = new alicloud.cdn.RealTimeLogDelivery(\"default\", {\n domain: defaultDomainNew.domainName,\n logstore: defaultStore.logstoreName,\n project: defaultProject.projectName,\n slsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n scope=\"overseas\",\n domain_name=f\"mycdndomain-{default_integer['result']}.alicloud-provider.cn\",\n cdn_type=\"web\",\n sources=[{\n \"type\": \"ipaddr\",\n \"content\": \"1.1.3.1\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 15,\n }])\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault = alicloud.get_regions(current=True)\ndefault_real_time_log_delivery = alicloud.cdn.RealTimeLogDelivery(\"default\",\n domain=default_domain_new.domain_name,\n logstore=default_store.logstore_name,\n project=default_project.project_name,\n sls_region=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n Scope = \"overseas\",\n DomainName = $\"mycdndomain-{defaultInteger.Result}.alicloud-provider.cn\",\n CdnType = \"web\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Type = \"ipaddr\",\n Content = \"1.1.3.1\",\n Priority = 20,\n Port = 80,\n Weight = 15,\n },\n },\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultRealTimeLogDelivery = new AliCloud.Cdn.RealTimeLogDelivery(\"default\", new()\n {\n Domain = defaultDomainNew.DomainName,\n Logstore = defaultStore.LogstoreName,\n Project = defaultProject.ProjectName,\n SlsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomainNew, err := cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tDomainName: pulumi.Sprintf(\"mycdndomain-%v.alicloud-provider.cn\", defaultInteger.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tContent: pulumi.String(\"1.1.3.1\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(15),\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\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cdn.NewRealTimeLogDelivery(ctx, \"default\", \u0026cdn.RealTimeLogDeliveryArgs{\n\t\t\tDomain: defaultDomainNew.DomainName,\n\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\tProject: defaultProject.ProjectName,\n\t\t\tSlsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cdn.RealTimeLogDelivery;\nimport com.pulumi.alicloud.cdn.RealTimeLogDeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .scope(\"overseas\")\n .domainName(String.format(\"mycdndomain-%s.alicloud-provider.cn\", defaultInteger.result()))\n .cdnType(\"web\")\n .sources(DomainNewSourceArgs.builder()\n .type(\"ipaddr\")\n .content(\"1.1.3.1\")\n .priority(20)\n .port(80)\n .weight(15)\n .build())\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultRealTimeLogDelivery = new RealTimeLogDelivery(\"defaultRealTimeLogDelivery\", RealTimeLogDeliveryArgs.builder()\n .domain(defaultDomainNew.domainName())\n .logstore(defaultStore.logstoreName())\n .project(defaultProject.projectName())\n .slsRegion(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n scope: overseas\n domainName: mycdndomain-${defaultInteger.result}.alicloud-provider.cn\n cdnType: web\n sources:\n - type: ipaddr\n content: 1.1.3.1\n priority: 20\n port: 80\n weight: 15\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultRealTimeLogDelivery:\n type: alicloud:cdn:RealTimeLogDelivery\n name: default\n properties:\n domain: ${defaultDomainNew.domainName}\n logstore: ${defaultStore.logstoreName}\n project: ${defaultProject.projectName}\n slsRegion: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCDN Real Time Log Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cdn/realTimeLogDelivery:RealTimeLogDelivery example \u003cid\u003e\n```\n\n", "properties": { "domain": { "type": "string", @@ -112571,7 +114424,7 @@ } }, "alicloud:cen/bandwidthLimit:BandwidthLimit": { - "description": "Provides a CEN cross-regional interconnection bandwidth resource. To connect networks in different regions, you must set cross-region interconnection bandwidth after buying a bandwidth package. The total bandwidth set for all the interconnected regions of a bandwidth package cannot exceed the bandwidth of the bandwidth package. By default, 1 Kbps bandwidth is provided for connectivity test. To run normal business, you must buy a bandwidth package and set a proper interconnection bandwidth.\n\nFor example, a CEN instance is bound to a bandwidth package of 20 Mbps and the interconnection areas are Mainland China and North America. You can set the cross-region interconnection bandwidth between US West 1 and China East 1, China East 2, China South 1, and so on. However, the total bandwidth set for all the interconnected regions cannot exceed 20 Mbps.\n\nFor information about CEN and how to use it, see [Cross-region interconnection bandwidth](https://www.alibabacloud.com/help/doc-detail/65983.htm)\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region1 = config.get(\"region1\") || \"eu-central-1\";\nconst region2 = config.get(\"region2\") || \"ap-southeast-1\";\nconst vpc1 = new alicloud.vpc.Network(\"vpc1\", {\n vpcName: \"tf-example\",\n cidrBlock: \"192.168.0.0/16\",\n});\nconst vpc2 = new alicloud.vpc.Network(\"vpc2\", {\n vpcName: \"tf-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst example1 = new alicloud.cen.InstanceAttachment(\"example1\", {\n instanceId: example.id,\n childInstanceId: vpc1.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: region1,\n});\nconst example2 = new alicloud.cen.InstanceAttachment(\"example2\", {\n instanceId: example.id,\n childInstanceId: vpc2.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: region2,\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"Europe\",\n geographicRegionBId: \"Asia-Pacific\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleBandwidthLimit = new alicloud.cen.BandwidthLimit(\"example\", {\n instanceId: exampleBandwidthPackageAttachment.instanceId,\n regionIds: [\n example1.childInstanceRegionId,\n example2.childInstanceRegionId,\n ],\n bandwidthLimit: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion1 = config.get(\"region1\")\nif region1 is None:\n region1 = \"eu-central-1\"\nregion2 = config.get(\"region2\")\nif region2 is None:\n region2 = \"ap-southeast-1\"\nvpc1 = alicloud.vpc.Network(\"vpc1\",\n vpc_name=\"tf-example\",\n cidr_block=\"192.168.0.0/16\")\nvpc2 = alicloud.vpc.Network(\"vpc2\",\n vpc_name=\"tf-example\",\n cidr_block=\"172.16.0.0/12\")\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample1 = alicloud.cen.InstanceAttachment(\"example1\",\n instance_id=example.id,\n child_instance_id=vpc1.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=region1)\nexample2 = alicloud.cen.InstanceAttachment(\"example2\",\n instance_id=example.id,\n child_instance_id=vpc2.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=region2)\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"Europe\",\n geographic_region_b_id=\"Asia-Pacific\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_bandwidth_limit = alicloud.cen.BandwidthLimit(\"example\",\n instance_id=example_bandwidth_package_attachment.instance_id,\n region_ids=[\n example1.child_instance_region_id,\n example2.child_instance_region_id,\n ],\n bandwidth_limit=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region1 = config.Get(\"region1\") ?? \"eu-central-1\";\n var region2 = config.Get(\"region2\") ?? \"ap-southeast-1\";\n var vpc1 = new AliCloud.Vpc.Network(\"vpc1\", new()\n {\n VpcName = \"tf-example\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var vpc2 = new AliCloud.Vpc.Network(\"vpc2\", new()\n {\n VpcName = \"tf-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var example1 = new AliCloud.Cen.InstanceAttachment(\"example1\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = vpc1.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = region1,\n });\n\n var example2 = new AliCloud.Cen.InstanceAttachment(\"example2\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = vpc2.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = region2,\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"Europe\",\n GeographicRegionBId = \"Asia-Pacific\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleBandwidthLimit = new AliCloud.Cen.BandwidthLimit(\"example\", new()\n {\n InstanceId = exampleBandwidthPackageAttachment.InstanceId,\n RegionIds = new[]\n {\n example1.ChildInstanceRegionId,\n example2.ChildInstanceRegionId,\n },\n Limit = 4,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion1 := \"eu-central-1\"\n\t\tif param := cfg.Get(\"region1\"); param != \"\" {\n\t\t\tregion1 = param\n\t\t}\n\t\tregion2 := \"ap-southeast-1\"\n\t\tif param := cfg.Get(\"region2\"); param != \"\" {\n\t\t\tregion2 = param\n\t\t}\n\t\tvpc1, err := vpc.NewNetwork(ctx, \"vpc1\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf-example\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := vpc.NewNetwork(ctx, \"vpc2\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := cen.NewInstanceAttachment(ctx, \"example1\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: vpc1.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(region1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := cen.NewInstanceAttachment(ctx, \"example2\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: vpc2.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(region2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"Europe\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"Asia-Pacific\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewBandwidthLimit(ctx, \"example\", \u0026cen.BandwidthLimitArgs{\n\t\t\tInstanceId: exampleBandwidthPackageAttachment.InstanceId,\n\t\t\tRegionIds: pulumi.StringArray{\n\t\t\t\texample1.ChildInstanceRegionId,\n\t\t\t\texample2.ChildInstanceRegionId,\n\t\t\t},\n\t\t\tBandwidthLimit: pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.BandwidthLimit;\nimport com.pulumi.alicloud.cen.BandwidthLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 region1 = config.get(\"region1\").orElse(\"eu-central-1\");\n final var region2 = config.get(\"region2\").orElse(\"ap-southeast-1\");\n var vpc1 = new Network(\"vpc1\", NetworkArgs.builder()\n .vpcName(\"tf-example\")\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var vpc2 = new Network(\"vpc2\", NetworkArgs.builder()\n .vpcName(\"tf-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var example1 = new InstanceAttachment(\"example1\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(vpc1.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(region1)\n .build());\n\n var example2 = new InstanceAttachment(\"example2\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(vpc2.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(region2)\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"Europe\")\n .geographicRegionBId(\"Asia-Pacific\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleBandwidthLimit = new BandwidthLimit(\"exampleBandwidthLimit\", BandwidthLimitArgs.builder()\n .instanceId(exampleBandwidthPackageAttachment.instanceId())\n .regionIds( \n example1.childInstanceRegionId(),\n example2.childInstanceRegionId())\n .bandwidthLimit(4)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region1:\n type: string\n default: eu-central-1\n region2:\n type: string\n default: ap-southeast-1\nresources:\n vpc1:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf-example\n cidrBlock: 192.168.0.0/16\n vpc2:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf-example\n cidrBlock: 172.16.0.0/12\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n example1:\n type: alicloud:cen:InstanceAttachment\n properties:\n instanceId: ${example.id}\n childInstanceId: ${vpc1.id}\n childInstanceType: VPC\n childInstanceRegionId: ${region1}\n example2:\n type: alicloud:cen:InstanceAttachment\n properties:\n instanceId: ${example.id}\n childInstanceId: ${vpc2.id}\n childInstanceType: VPC\n childInstanceRegionId: ${region2}\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: Europe\n geographicRegionBId: Asia-Pacific\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleBandwidthLimit:\n type: alicloud:cen:BandwidthLimit\n name: example\n properties:\n instanceId: ${exampleBandwidthPackageAttachment.instanceId}\n regionIds:\n - ${example1.childInstanceRegionId}\n - ${example2.childInstanceRegionId}\n bandwidthLimit: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN bandwidth limit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/bandwidthLimit:BandwidthLimit example cen-abc123456:cn-beijing:eu-west-1\n```\n\n", + "description": "Provides a CEN cross-regional interconnection bandwidth resource. To connect networks in different regions, you must set cross-region interconnection bandwidth after buying a bandwidth package. The total bandwidth set for all the interconnected regions of a bandwidth package cannot exceed the bandwidth of the bandwidth package. By default, 1 Kbps bandwidth is provided for connectivity test. To run normal business, you must buy a bandwidth package and set a proper interconnection bandwidth.\n\nFor example, a CEN instance is bound to a bandwidth package of 20 Mbps and the interconnection areas are Mainland China and North America. You can set the cross-region interconnection bandwidth between US West 1 and China East 1, China East 2, China South 1, and so on. However, the total bandwidth set for all the interconnected regions cannot exceed 20 Mbps.\n\nFor information about CEN and how to use it, see [Cross-region interconnection bandwidth](https://www.alibabacloud.com/help/doc-detail/65983.htm)\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region1 = config.get(\"region1\") || \"eu-central-1\";\nconst region2 = config.get(\"region2\") || \"ap-southeast-1\";\nconst vpc1 = new alicloud.vpc.Network(\"vpc1\", {\n vpcName: \"tf-example\",\n cidrBlock: \"192.168.0.0/16\",\n});\nconst vpc2 = new alicloud.vpc.Network(\"vpc2\", {\n vpcName: \"tf-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst example1 = new alicloud.cen.InstanceAttachment(\"example1\", {\n instanceId: example.id,\n childInstanceId: vpc1.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: region1,\n});\nconst example2 = new alicloud.cen.InstanceAttachment(\"example2\", {\n instanceId: example.id,\n childInstanceId: vpc2.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: region2,\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"Europe\",\n geographicRegionBId: \"Asia-Pacific\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleBandwidthLimit = new alicloud.cen.BandwidthLimit(\"example\", {\n instanceId: exampleBandwidthPackageAttachment.instanceId,\n regionIds: [\n example1.childInstanceRegionId,\n example2.childInstanceRegionId,\n ],\n bandwidthLimit: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion1 = config.get(\"region1\")\nif region1 is None:\n region1 = \"eu-central-1\"\nregion2 = config.get(\"region2\")\nif region2 is None:\n region2 = \"ap-southeast-1\"\nvpc1 = alicloud.vpc.Network(\"vpc1\",\n vpc_name=\"tf-example\",\n cidr_block=\"192.168.0.0/16\")\nvpc2 = alicloud.vpc.Network(\"vpc2\",\n vpc_name=\"tf-example\",\n cidr_block=\"172.16.0.0/12\")\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample1 = alicloud.cen.InstanceAttachment(\"example1\",\n instance_id=example.id,\n child_instance_id=vpc1.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=region1)\nexample2 = alicloud.cen.InstanceAttachment(\"example2\",\n instance_id=example.id,\n child_instance_id=vpc2.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=region2)\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"Europe\",\n geographic_region_b_id=\"Asia-Pacific\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_bandwidth_limit = alicloud.cen.BandwidthLimit(\"example\",\n instance_id=example_bandwidth_package_attachment.instance_id,\n region_ids=[\n example1.child_instance_region_id,\n example2.child_instance_region_id,\n ],\n bandwidth_limit=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region1 = config.Get(\"region1\") ?? \"eu-central-1\";\n var region2 = config.Get(\"region2\") ?? \"ap-southeast-1\";\n var vpc1 = new AliCloud.Vpc.Network(\"vpc1\", new()\n {\n VpcName = \"tf-example\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var vpc2 = new AliCloud.Vpc.Network(\"vpc2\", new()\n {\n VpcName = \"tf-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var example1 = new AliCloud.Cen.InstanceAttachment(\"example1\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = vpc1.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = region1,\n });\n\n var example2 = new AliCloud.Cen.InstanceAttachment(\"example2\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = vpc2.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = region2,\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"Europe\",\n GeographicRegionBId = \"Asia-Pacific\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleBandwidthLimit = new AliCloud.Cen.BandwidthLimit(\"example\", new()\n {\n InstanceId = exampleBandwidthPackageAttachment.InstanceId,\n RegionIds = new[]\n {\n example1.ChildInstanceRegionId,\n example2.ChildInstanceRegionId,\n },\n Limit = 4,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion1 := \"eu-central-1\"\n\t\tif param := cfg.Get(\"region1\"); param != \"\" {\n\t\t\tregion1 = param\n\t\t}\n\t\tregion2 := \"ap-southeast-1\"\n\t\tif param := cfg.Get(\"region2\"); param != \"\" {\n\t\t\tregion2 = param\n\t\t}\n\t\tvpc1, err := vpc.NewNetwork(ctx, \"vpc1\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf-example\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc2, err := vpc.NewNetwork(ctx, \"vpc2\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := cen.NewInstanceAttachment(ctx, \"example1\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: vpc1.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(region1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := cen.NewInstanceAttachment(ctx, \"example2\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: vpc2.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(region2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"Europe\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"Asia-Pacific\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewBandwidthLimit(ctx, \"example\", \u0026cen.BandwidthLimitArgs{\n\t\t\tInstanceId: exampleBandwidthPackageAttachment.InstanceId,\n\t\t\tRegionIds: pulumi.StringArray{\n\t\t\t\texample1.ChildInstanceRegionId,\n\t\t\t\texample2.ChildInstanceRegionId,\n\t\t\t},\n\t\t\tBandwidthLimit: pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.BandwidthLimit;\nimport com.pulumi.alicloud.cen.BandwidthLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 region1 = config.get(\"region1\").orElse(\"eu-central-1\");\n final var region2 = config.get(\"region2\").orElse(\"ap-southeast-1\");\n var vpc1 = new Network(\"vpc1\", NetworkArgs.builder()\n .vpcName(\"tf-example\")\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var vpc2 = new Network(\"vpc2\", NetworkArgs.builder()\n .vpcName(\"tf-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var example1 = new InstanceAttachment(\"example1\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(vpc1.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(region1)\n .build());\n\n var example2 = new InstanceAttachment(\"example2\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(vpc2.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(region2)\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"Europe\")\n .geographicRegionBId(\"Asia-Pacific\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleBandwidthLimit = new BandwidthLimit(\"exampleBandwidthLimit\", BandwidthLimitArgs.builder()\n .instanceId(exampleBandwidthPackageAttachment.instanceId())\n .regionIds( \n example1.childInstanceRegionId(),\n example2.childInstanceRegionId())\n .bandwidthLimit(4)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region1:\n type: string\n default: eu-central-1\n region2:\n type: string\n default: ap-southeast-1\nresources:\n vpc1:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf-example\n cidrBlock: 192.168.0.0/16\n vpc2:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf-example\n cidrBlock: 172.16.0.0/12\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n example1:\n type: alicloud:cen:InstanceAttachment\n properties:\n instanceId: ${example.id}\n childInstanceId: ${vpc1.id}\n childInstanceType: VPC\n childInstanceRegionId: ${region1}\n example2:\n type: alicloud:cen:InstanceAttachment\n properties:\n instanceId: ${example.id}\n childInstanceId: ${vpc2.id}\n childInstanceType: VPC\n childInstanceRegionId: ${region2}\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: Europe\n geographicRegionBId: Asia-Pacific\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleBandwidthLimit:\n type: alicloud:cen:BandwidthLimit\n name: example\n properties:\n instanceId: ${exampleBandwidthPackageAttachment.instanceId}\n regionIds:\n - ${example1.childInstanceRegionId}\n - ${example2.childInstanceRegionId}\n bandwidthLimit: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN bandwidth limit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/bandwidthLimit:BandwidthLimit example cen-abc123456:cn-beijing:eu-west-1\n```\n\n", "properties": { "bandwidthLimit": { "type": "integer", @@ -112660,13 +114513,17 @@ "alicloud:cen/bandwidthPackage:BandwidthPackage": { "description": "\n\n## Import\n\nCEN bandwidth package can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/bandwidthPackage:BandwidthPackage example cenbwp-abc123456\n```\n\n", "properties": { + "autoRenew": { + "type": "boolean", + "description": "Whether to enable auto-renewal for the bandwidth package. Only applicable when \u003cspan pulumi-lang-nodejs=\"`paymentType`\" pulumi-lang-dotnet=\"`PaymentType`\" pulumi-lang-go=\"`paymentType`\" pulumi-lang-python=\"`payment_type`\" pulumi-lang-yaml=\"`paymentType`\" pulumi-lang-java=\"`paymentType`\"\u003e`payment_type`\u003c/span\u003e is `PrePaid`. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n" + }, "bandwidth": { "type": "integer", "description": "The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps.\n" }, "cenBandwidthPackageName": { "type": "string", - "description": "The name of the bandwidth package. Defaults to null.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n\n-\u003e**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need.\n" + "description": "The name of the bandwidth package. Defaults to null.\n" }, "chargeType": { "type": "string", @@ -112728,13 +114585,17 @@ "status" ], "inputProperties": { + "autoRenew": { + "type": "boolean", + "description": "Whether to enable auto-renewal for the bandwidth package. Only applicable when \u003cspan pulumi-lang-nodejs=\"`paymentType`\" pulumi-lang-dotnet=\"`PaymentType`\" pulumi-lang-go=\"`paymentType`\" pulumi-lang-python=\"`payment_type`\" pulumi-lang-yaml=\"`paymentType`\" pulumi-lang-java=\"`paymentType`\"\u003e`payment_type`\u003c/span\u003e is `PrePaid`. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n" + }, "bandwidth": { "type": "integer", "description": "The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps.\n" }, "cenBandwidthPackageName": { "type": "string", - "description": "The name of the bandwidth package. Defaults to null.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n\n-\u003e**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need.\n" + "description": "The name of the bandwidth package. Defaults to null.\n" }, "chargeType": { "type": "string", @@ -112786,13 +114647,17 @@ "stateInputs": { "description": "Input properties used for looking up and filtering BandwidthPackage resources.\n", "properties": { + "autoRenew": { + "type": "boolean", + "description": "Whether to enable auto-renewal for the bandwidth package. Only applicable when \u003cspan pulumi-lang-nodejs=\"`paymentType`\" pulumi-lang-dotnet=\"`PaymentType`\" pulumi-lang-go=\"`paymentType`\" pulumi-lang-python=\"`payment_type`\" pulumi-lang-yaml=\"`paymentType`\" pulumi-lang-java=\"`paymentType`\"\u003e`payment_type`\u003c/span\u003e is `PrePaid`. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n" + }, "bandwidth": { "type": "integer", "description": "The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps.\n" }, "cenBandwidthPackageName": { "type": "string", - "description": "The name of the bandwidth package. Defaults to null.\n\n-\u003e**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time.\n\n-\u003e**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need.\n" + "description": "The name of the bandwidth package. Defaults to null.\n" }, "chargeType": { "type": "string", @@ -112850,7 +114715,7 @@ } }, "alicloud:cen/bandwidthPackageAttachment:BandwidthPackageAttachment": { - "description": "Provides a CEN bandwidth package attachment resource. The resource can be used to bind a bandwidth package to a specified CEN instance.\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN bandwidth package attachment resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/bandwidthPackageAttachment:BandwidthPackageAttachment example bwp-abc123456\n```\n\n", + "description": "Provides a CEN bandwidth package attachment resource. The resource can be used to bind a bandwidth package to a specified CEN instance.\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN bandwidth package attachment resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/bandwidthPackageAttachment:BandwidthPackageAttachment example bwp-abc123456\n```\n\n", "properties": { "bandwidthPackageId": { "type": "string", @@ -112899,7 +114764,7 @@ } }, "alicloud:cen/childInstanceRouteEntryToAttachment:ChildInstanceRouteEntryToAttachment": { - "description": "Provides a Cen Child Instance Route Entry To Attachment resource.\n\nFor information about Cen Child Instance Route Entry To Attachment and how to use it, see [What is Child Instance Route Entry To Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createcenchildinstancerouteentrytoattachment).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleRouteTable = new alicloud.vpc.RouteTable(\"example\", {\n vpcId: example.id,\n routeTableName: name,\n description: name,\n});\nconst exampleChildInstanceRouteEntryToAttachment = new alicloud.cen.ChildInstanceRouteEntryToAttachment(\"example\", {\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n cenId: exampleInstance.id,\n destinationCidrBlock: \"10.0.0.0/24\",\n childInstanceRouteTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_route_table = alicloud.vpc.RouteTable(\"example\",\n vpc_id=example.id,\n route_table_name=name,\n description=name)\nexample_child_instance_route_entry_to_attachment = alicloud.cen.ChildInstanceRouteEntryToAttachment(\"example\",\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n cen_id=example_instance.id,\n destination_cidr_block=\"10.0.0.0/24\",\n child_instance_route_table_id=example_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleRouteTable = new AliCloud.Vpc.RouteTable(\"example\", new()\n {\n VpcId = example.Id,\n RouteTableName = name,\n Description = name,\n });\n\n var exampleChildInstanceRouteEntryToAttachment = new AliCloud.Cen.ChildInstanceRouteEntryToAttachment(\"example\", new()\n {\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n CenId = exampleInstance.Id,\n DestinationCidrBlock = \"10.0.0.0/24\",\n ChildInstanceRouteTableId = exampleRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := vpc.NewRouteTable(ctx, \"example\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewChildInstanceRouteEntryToAttachment(ctx, \"example\", \u0026cen.ChildInstanceRouteEntryToAttachmentArgs{\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tChildInstanceRouteTableId: 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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.cen.ChildInstanceRouteEntryToAttachment;\nimport com.pulumi.alicloud.cen.ChildInstanceRouteEntryToAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n .vpcId(example.id())\n .routeTableName(name)\n .description(name)\n .build());\n\n var exampleChildInstanceRouteEntryToAttachment = new ChildInstanceRouteEntryToAttachment(\"exampleChildInstanceRouteEntryToAttachment\", ChildInstanceRouteEntryToAttachmentArgs.builder()\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .cenId(exampleInstance.id())\n .destinationCidrBlock(\"10.0.0.0/24\")\n .childInstanceRouteTableId(exampleRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleRouteTable:\n type: alicloud:vpc:RouteTable\n name: example\n properties:\n vpcId: ${example.id}\n routeTableName: ${name}\n description: ${name}\n exampleChildInstanceRouteEntryToAttachment:\n type: alicloud:cen:ChildInstanceRouteEntryToAttachment\n name: example\n properties:\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n cenId: ${exampleInstance.id}\n destinationCidrBlock: 10.0.0.0/24\n childInstanceRouteTableId: ${exampleRouteTable.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCen Child Instance Route Entry To Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/childInstanceRouteEntryToAttachment:ChildInstanceRouteEntryToAttachment example \u003ccen_id\u003e:\u003cchild_instance_route_table_id\u003e:\u003ctransit_router_attachment_id\u003e:\u003cdestination_cidr_block\u003e\n```\n\n", + "description": "Provides a Cen Child Instance Route Entry To Attachment resource.\n\nFor information about Cen Child Instance Route Entry To Attachment and how to use it, see [What is Child Instance Route Entry To Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createcenchildinstancerouteentrytoattachment).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleRouteTable = new alicloud.vpc.RouteTable(\"example\", {\n vpcId: example.id,\n routeTableName: name,\n description: name,\n});\nconst exampleChildInstanceRouteEntryToAttachment = new alicloud.cen.ChildInstanceRouteEntryToAttachment(\"example\", {\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n cenId: exampleInstance.id,\n destinationCidrBlock: \"10.0.0.0/24\",\n childInstanceRouteTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_route_table = alicloud.vpc.RouteTable(\"example\",\n vpc_id=example.id,\n route_table_name=name,\n description=name)\nexample_child_instance_route_entry_to_attachment = alicloud.cen.ChildInstanceRouteEntryToAttachment(\"example\",\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n cen_id=example_instance.id,\n destination_cidr_block=\"10.0.0.0/24\",\n child_instance_route_table_id=example_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleRouteTable = new AliCloud.Vpc.RouteTable(\"example\", new()\n {\n VpcId = example.Id,\n RouteTableName = name,\n Description = name,\n });\n\n var exampleChildInstanceRouteEntryToAttachment = new AliCloud.Cen.ChildInstanceRouteEntryToAttachment(\"example\", new()\n {\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n CenId = exampleInstance.Id,\n DestinationCidrBlock = \"10.0.0.0/24\",\n ChildInstanceRouteTableId = exampleRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := vpc.NewRouteTable(ctx, \"example\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewChildInstanceRouteEntryToAttachment(ctx, \"example\", \u0026cen.ChildInstanceRouteEntryToAttachmentArgs{\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tChildInstanceRouteTableId: 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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.cen.ChildInstanceRouteEntryToAttachment;\nimport com.pulumi.alicloud.cen.ChildInstanceRouteEntryToAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n .vpcId(example.id())\n .routeTableName(name)\n .description(name)\n .build());\n\n var exampleChildInstanceRouteEntryToAttachment = new ChildInstanceRouteEntryToAttachment(\"exampleChildInstanceRouteEntryToAttachment\", ChildInstanceRouteEntryToAttachmentArgs.builder()\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .cenId(exampleInstance.id())\n .destinationCidrBlock(\"10.0.0.0/24\")\n .childInstanceRouteTableId(exampleRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleRouteTable:\n type: alicloud:vpc:RouteTable\n name: example\n properties:\n vpcId: ${example.id}\n routeTableName: ${name}\n description: ${name}\n exampleChildInstanceRouteEntryToAttachment:\n type: alicloud:cen:ChildInstanceRouteEntryToAttachment\n name: example\n properties:\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n cenId: ${exampleInstance.id}\n destinationCidrBlock: 10.0.0.0/24\n childInstanceRouteTableId: ${exampleRouteTable.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCen Child Instance Route Entry To Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/childInstanceRouteEntryToAttachment:ChildInstanceRouteEntryToAttachment example \u003ccen_id\u003e:\u003cchild_instance_route_table_id\u003e:\u003ctransit_router_attachment_id\u003e:\u003cdestination_cidr_block\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -113010,7 +114875,7 @@ } }, "alicloud:cen/flowLog:FlowLog": { - "description": "Provides a CEN Flow Log resource.\n\n\n\nFor information about CEN Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createflowlog).\n\n\u003e **NOTE:** Available since v1.73.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\nconst _default = new alicloud.cen.Instance(\"default\", {name: \"my-cen\"});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n name: \"sls-for-flowlog\",\n description: \"create by terraform\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"sls-for-flowlog\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultFlowLog = new alicloud.cen.FlowLog(\"default\", {\n flowLogName: \"my-flowlog\",\n cenId: _default.id,\n projectName: defaultProject.name,\n logStoreName: defaultStore.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\ndefault = alicloud.cen.Instance(\"default\", name=\"my-cen\")\ndefault_project = alicloud.log.Project(\"default\",\n name=\"sls-for-flowlog\",\n description=\"create by terraform\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"sls-for-flowlog\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_flow_log = alicloud.cen.FlowLog(\"default\",\n flow_log_name=\"my-flowlog\",\n cen_id=default.id,\n project_name=default_project.name,\n log_store_name=default_store.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n Name = \"my-cen\",\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = \"sls-for-flowlog\",\n Description = \"create by terraform\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"sls-for-flowlog\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultFlowLog = new AliCloud.Cen.FlowLog(\"default\", new()\n {\n FlowLogName = \"my-flowlog\",\n CenId = @default.Id,\n ProjectName = defaultProject.Name,\n LogStoreName = defaultStore.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tName: pulumi.String(\"my-cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.String(\"sls-for-flowlog\"),\n\t\t\tDescription: pulumi.String(\"create by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"sls-for-flowlog\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewFlowLog(ctx, \"default\", \u0026cen.FlowLogArgs{\n\t\t\tFlowLogName: pulumi.String(\"my-flowlog\"),\n\t\t\tCenId: _default.ID(),\n\t\t\tProjectName: defaultProject.Name,\n\t\t\tLogStoreName: defaultStore.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cen.FlowLog;\nimport com.pulumi.alicloud.cen.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .name(\"my-cen\")\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(\"sls-for-flowlog\")\n .description(\"create by terraform\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"sls-for-flowlog\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultFlowLog = new FlowLog(\"defaultFlowLog\", FlowLogArgs.builder()\n .flowLogName(\"my-flowlog\")\n .cenId(default_.id())\n .projectName(defaultProject.name())\n .logStoreName(defaultStore.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n default:\n type: alicloud:cen:Instance\n properties:\n name: my-cen\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: sls-for-flowlog\n description: create by terraform\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: sls-for-flowlog\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultFlowLog:\n type: alicloud:cen:FlowLog\n name: default\n properties:\n flowLogName: my-flowlog\n cenId: ${default.id}\n projectName: ${defaultProject.name}\n logStoreName: ${defaultStore.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/flowLog:FlowLog example \u003cid\u003e\n```\n\n", + "description": "Provides a CEN Flow Log resource.\n\n\n\nFor information about CEN Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createflowlog).\n\n\u003e **NOTE:** Available since v1.73.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\nconst _default = new alicloud.cen.Instance(\"default\", {name: \"my-cen\"});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n name: \"sls-for-flowlog\",\n description: \"create by terraform\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"sls-for-flowlog\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultFlowLog = new alicloud.cen.FlowLog(\"default\", {\n flowLogName: \"my-flowlog\",\n cenId: _default.id,\n projectName: defaultProject.name,\n logStoreName: defaultStore.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\ndefault = alicloud.cen.Instance(\"default\", name=\"my-cen\")\ndefault_project = alicloud.log.Project(\"default\",\n name=\"sls-for-flowlog\",\n description=\"create by terraform\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"sls-for-flowlog\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_flow_log = alicloud.cen.FlowLog(\"default\",\n flow_log_name=\"my-flowlog\",\n cen_id=default.id,\n project_name=default_project.name,\n log_store_name=default_store.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n Name = \"my-cen\",\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = \"sls-for-flowlog\",\n Description = \"create by terraform\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"sls-for-flowlog\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultFlowLog = new AliCloud.Cen.FlowLog(\"default\", new()\n {\n FlowLogName = \"my-flowlog\",\n CenId = @default.Id,\n ProjectName = defaultProject.Name,\n LogStoreName = defaultStore.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tName: pulumi.String(\"my-cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.String(\"sls-for-flowlog\"),\n\t\t\tDescription: pulumi.String(\"create by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"sls-for-flowlog\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewFlowLog(ctx, \"default\", \u0026cen.FlowLogArgs{\n\t\t\tFlowLogName: pulumi.String(\"my-flowlog\"),\n\t\t\tCenId: _default.ID(),\n\t\t\tProjectName: defaultProject.Name,\n\t\t\tLogStoreName: defaultStore.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cen.FlowLog;\nimport com.pulumi.alicloud.cen.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .name(\"my-cen\")\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(\"sls-for-flowlog\")\n .description(\"create by terraform\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"sls-for-flowlog\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultFlowLog = new FlowLog(\"defaultFlowLog\", FlowLogArgs.builder()\n .flowLogName(\"my-flowlog\")\n .cenId(default_.id())\n .projectName(defaultProject.name())\n .logStoreName(defaultStore.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a cen flowlog resource and use it to publish a route entry pointing to an ECS.\n default:\n type: alicloud:cen:Instance\n properties:\n name: my-cen\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: sls-for-flowlog\n description: create by terraform\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: sls-for-flowlog\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultFlowLog:\n type: alicloud:cen:FlowLog\n name: default\n properties:\n flowLogName: my-flowlog\n cenId: ${default.id}\n projectName: ${defaultProject.name}\n logStoreName: ${defaultStore.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/flowLog:FlowLog example \u003cid\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -113205,7 +115070,7 @@ } }, "alicloud:cen/instance:Instance": { - "description": "Provides a Cloud Enterprise Network (CEN) Cen Instance resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Cen Instance and how to use it, see [What is Cen Instance](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createcen).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Cen Instance resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Cen Instance and how to use it, see [What is Cen Instance](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createcen).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "cenInstanceName": { "type": "string", @@ -113326,7 +115191,7 @@ } }, "alicloud:cen/instanceAttachment:InstanceAttachment": { - "description": "Provides a CEN child instance attachment resource that associate the network(VPC, CCN, VBR) with the CEN instance.\n\n\u003e **NOTE:** Available since v1.42.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instanceAttachment:InstanceAttachment example cen-m7i7pjmkon********:vpc-2ze2w07mcy9nz********:VPC:cn-beijing\n```\n\n", + "description": "Provides a CEN child instance attachment resource that associate the network(VPC, CCN, VBR) with the CEN instance.\n\n\u003e **NOTE:** Available since v1.42.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instanceAttachment:InstanceAttachment example cen-m7i7pjmkon********:vpc-2ze2w07mcy9nz********:VPC:cn-beijing\n```\n\n", "properties": { "cenOwnerId": { "type": "integer", @@ -113441,7 +115306,7 @@ } }, "alicloud:cen/instanceGrant:InstanceGrant": { - "description": "Provides a CEN child instance grant resource, which allow you to authorize a VPC or VBR to a CEN of a different account.\n\nFor more information about how to use it, see [Attach a network in a different account](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-attachcenchildinstance). \n\n\u003e **NOTE:** Deprecated since v1.241.0. The resource have been deprecated and new resource type\u003cspan pulumi-lang-nodejs=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-dotnet=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-go=\" cen.TransitRouterGrantAttachment \" pulumi-lang-python=\" cen.TransitRouterGrantAttachment \" pulumi-lang-yaml=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-java=\" alicloud.cen.TransitRouterGrantAttachment \"\u003e alicloud.cen.TransitRouterGrantAttachment \u003c/span\u003eis recommended.\n\n\u003e **NOTE:** Available since v1.37.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst anotherUid = config.get(\"anotherUid\") || \"xxxx\";\nconst yourAccount = alicloud.getAccount({});\nconst childAccount = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst childAccountNetwork = new alicloud.vpc.Network(\"child_account\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst childAccountInstanceGrant = new alicloud.cen.InstanceGrant(\"child_account\", {\n cenId: example.id,\n childInstanceId: childAccountNetwork.id,\n cenOwnerId: yourAccount.then(yourAccount =\u003e yourAccount.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"xxxx\"\nyour_account = alicloud.get_account()\nchild_account = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nchild_account_network = alicloud.vpc.Network(\"child_account\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nchild_account_instance_grant = alicloud.cen.InstanceGrant(\"child_account\",\n cen_id=example.id,\n child_instance_id=child_account_network.id,\n cen_owner_id=your_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var anotherUid = config.Get(\"anotherUid\") ?? \"xxxx\";\n var yourAccount = AliCloud.GetAccount.Invoke();\n\n var childAccount = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var childAccountNetwork = new AliCloud.Vpc.Network(\"child_account\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var childAccountInstanceGrant = new AliCloud.Cen.InstanceGrant(\"child_account\", new()\n {\n CenId = example.Id,\n ChildInstanceId = childAccountNetwork.Id,\n CenOwnerId = yourAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tanotherUid := \"xxxx\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\tyourAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchildAccountNetwork, err := vpc.NewNetwork(ctx, \"child_account\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInstanceGrant(ctx, \"child_account\", \u0026cen.InstanceGrantArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tChildInstanceId: childAccountNetwork.ID(),\n\t\t\tCenOwnerId: pulumi.String(yourAccount.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.InstanceGrant;\nimport com.pulumi.alicloud.cen.InstanceGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 anotherUid = config.get(\"anotherUid\").orElse(\"xxxx\");\n final var yourAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var childAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var childAccountNetwork = new Network(\"childAccountNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var childAccountInstanceGrant = new InstanceGrant(\"childAccountInstanceGrant\", InstanceGrantArgs.builder()\n .cenId(example.id())\n .childInstanceId(childAccountNetwork.id())\n .cenOwnerId(yourAccount.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n anotherUid:\n type: string\n default: xxxx\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n childAccountNetwork:\n type: alicloud:vpc:Network\n name: child_account\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n childAccountInstanceGrant:\n type: alicloud:cen:InstanceGrant\n name: child_account\n properties:\n cenId: ${example.id}\n childInstanceId: ${childAccountNetwork.id}\n cenOwnerId: ${yourAccount.id}\nvariables:\n yourAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n childAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instanceGrant:InstanceGrant example cen-abc123456:vpc-abc123456:uid123456\n```\n\n", + "description": "Provides a CEN child instance grant resource, which allow you to authorize a VPC or VBR to a CEN of a different account.\n\nFor more information about how to use it, see [Attach a network in a different account](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-attachcenchildinstance). \n\n\u003e **NOTE:** Deprecated since v1.241.0. The resource have been deprecated and new resource type\u003cspan pulumi-lang-nodejs=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-dotnet=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-go=\" cen.TransitRouterGrantAttachment \" pulumi-lang-python=\" cen.TransitRouterGrantAttachment \" pulumi-lang-yaml=\" alicloud.cen.TransitRouterGrantAttachment \" pulumi-lang-java=\" alicloud.cen.TransitRouterGrantAttachment \"\u003e alicloud.cen.TransitRouterGrantAttachment \u003c/span\u003eis recommended.\n\n\u003e **NOTE:** Available since v1.37.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst anotherUid = config.get(\"anotherUid\") || \"xxxx\";\nconst yourAccount = alicloud.getAccount({});\nconst childAccount = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst childAccountNetwork = new alicloud.vpc.Network(\"child_account\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst childAccountInstanceGrant = new alicloud.cen.InstanceGrant(\"child_account\", {\n cenId: example.id,\n childInstanceId: childAccountNetwork.id,\n cenOwnerId: yourAccount.then(yourAccount =\u003e yourAccount.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"xxxx\"\nyour_account = alicloud.get_account()\nchild_account = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nchild_account_network = alicloud.vpc.Network(\"child_account\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nchild_account_instance_grant = alicloud.cen.InstanceGrant(\"child_account\",\n cen_id=example.id,\n child_instance_id=child_account_network.id,\n cen_owner_id=your_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var anotherUid = config.Get(\"anotherUid\") ?? \"xxxx\";\n var yourAccount = AliCloud.GetAccount.Invoke();\n\n var childAccount = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var childAccountNetwork = new AliCloud.Vpc.Network(\"child_account\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var childAccountInstanceGrant = new AliCloud.Cen.InstanceGrant(\"child_account\", new()\n {\n CenId = example.Id,\n ChildInstanceId = childAccountNetwork.Id,\n CenOwnerId = yourAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tanotherUid := \"xxxx\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\tyourAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tchildAccountNetwork, err := vpc.NewNetwork(ctx, \"child_account\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInstanceGrant(ctx, \"child_account\", \u0026cen.InstanceGrantArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tChildInstanceId: childAccountNetwork.ID(),\n\t\t\tCenOwnerId: pulumi.String(yourAccount.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.InstanceGrant;\nimport com.pulumi.alicloud.cen.InstanceGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 anotherUid = config.get(\"anotherUid\").orElse(\"xxxx\");\n final var yourAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var childAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var childAccountNetwork = new Network(\"childAccountNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var childAccountInstanceGrant = new InstanceGrant(\"childAccountInstanceGrant\", InstanceGrantArgs.builder()\n .cenId(example.id())\n .childInstanceId(childAccountNetwork.id())\n .cenOwnerId(yourAccount.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n anotherUid:\n type: string\n default: xxxx\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n childAccountNetwork:\n type: alicloud:vpc:Network\n name: child_account\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n childAccountInstanceGrant:\n type: alicloud:cen:InstanceGrant\n name: child_account\n properties:\n cenId: ${example.id}\n childInstanceId: ${childAccountNetwork.id}\n cenOwnerId: ${yourAccount.id}\nvariables:\n yourAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n childAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/instanceGrant:InstanceGrant example cen-abc123456:vpc-abc123456:uid123456\n```\n\n", "properties": { "cenId": { "type": "string", @@ -113506,7 +115371,7 @@ } }, "alicloud:cen/interRegionTrafficQosPolicy:InterRegionTrafficQosPolicy": { - "description": "Provides a Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy and how to use it, see [What is Inter Region Traffic Qos Policy](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateCenInterRegionTrafficQosPolicy).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultpSZB78 = new alicloud.cen.Instance(\"defaultpSZB78\", {});\nconst defaultUmmxnE = new alicloud.cen.TransitRouter(\"defaultUmmxnE\", {cenId: defaultpSZB78.id});\nconst defaultksqgSa = new alicloud.cen.TransitRouter(\"defaultksqgSa\", {cenId: defaultpSZB78.id});\nconst defaultnXZ83y = new alicloud.cen.TransitRouterPeerAttachment(\"defaultnXZ83y\", {\n defaultLinkType: \"Platinum\",\n bandwidthType: \"DataTransfer\",\n cenId: defaultpSZB78.id,\n peerTransitRouterRegionId: \"cn-hangzhou\",\n transitRouterId: defaultUmmxnE.transitRouterId,\n peerTransitRouterId: defaultksqgSa.transitRouterId,\n bandwidth: 10,\n});\nconst _default = new alicloud.cen.InterRegionTrafficQosPolicy(\"default\", {\n transitRouterAttachmentId: defaultnXZ83y.transitRouterAttachmentId,\n interRegionTrafficQosPolicyName: \"example1\",\n interRegionTrafficQosPolicyDescription: \"example1\",\n bandwidthGuaranteeMode: \"byBandwidthPercent\",\n transitRouterId: defaultksqgSa.transitRouterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultp_szb78 = alicloud.cen.Instance(\"defaultpSZB78\")\ndefault_ummxn_e = alicloud.cen.TransitRouter(\"defaultUmmxnE\", cen_id=defaultp_szb78.id)\ndefaultksqg_sa = alicloud.cen.TransitRouter(\"defaultksqgSa\", cen_id=defaultp_szb78.id)\ndefaultn_xz83y = alicloud.cen.TransitRouterPeerAttachment(\"defaultnXZ83y\",\n default_link_type=\"Platinum\",\n bandwidth_type=\"DataTransfer\",\n cen_id=defaultp_szb78.id,\n peer_transit_router_region_id=\"cn-hangzhou\",\n transit_router_id=default_ummxn_e.transit_router_id,\n peer_transit_router_id=defaultksqg_sa.transit_router_id,\n bandwidth=10)\ndefault = alicloud.cen.InterRegionTrafficQosPolicy(\"default\",\n transit_router_attachment_id=defaultn_xz83y.transit_router_attachment_id,\n inter_region_traffic_qos_policy_name=\"example1\",\n inter_region_traffic_qos_policy_description=\"example1\",\n bandwidth_guarantee_mode=\"byBandwidthPercent\",\n transit_router_id=defaultksqg_sa.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultpSZB78 = new AliCloud.Cen.Instance(\"defaultpSZB78\");\n\n var defaultUmmxnE = new AliCloud.Cen.TransitRouter(\"defaultUmmxnE\", new()\n {\n CenId = defaultpSZB78.Id,\n });\n\n var defaultksqgSa = new AliCloud.Cen.TransitRouter(\"defaultksqgSa\", new()\n {\n CenId = defaultpSZB78.Id,\n });\n\n var defaultnXZ83y = new AliCloud.Cen.TransitRouterPeerAttachment(\"defaultnXZ83y\", new()\n {\n DefaultLinkType = \"Platinum\",\n BandwidthType = \"DataTransfer\",\n CenId = defaultpSZB78.Id,\n PeerTransitRouterRegionId = \"cn-hangzhou\",\n TransitRouterId = defaultUmmxnE.TransitRouterId,\n PeerTransitRouterId = defaultksqgSa.TransitRouterId,\n Bandwidth = 10,\n });\n\n var @default = new AliCloud.Cen.InterRegionTrafficQosPolicy(\"default\", new()\n {\n TransitRouterAttachmentId = defaultnXZ83y.TransitRouterAttachmentId,\n InterRegionTrafficQosPolicyName = \"example1\",\n InterRegionTrafficQosPolicyDescription = \"example1\",\n BandwidthGuaranteeMode = \"byBandwidthPercent\",\n TransitRouterId = defaultksqgSa.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultpSZB78, err := cen.NewInstance(ctx, \"defaultpSZB78\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUmmxnE, err := cen.NewTransitRouter(ctx, \"defaultUmmxnE\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultksqgSa, err := cen.NewTransitRouter(ctx, \"defaultksqgSa\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnXZ83y, err := cen.NewTransitRouterPeerAttachment(ctx, \"defaultnXZ83y\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tDefaultLinkType: pulumi.String(\"Platinum\"),\n\t\t\tBandwidthType: pulumi.String(\"DataTransfer\"),\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t\tPeerTransitRouterRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tTransitRouterId: defaultUmmxnE.TransitRouterId,\n\t\t\tPeerTransitRouterId: defaultksqgSa.TransitRouterId,\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInterRegionTrafficQosPolicy(ctx, \"default\", \u0026cen.InterRegionTrafficQosPolicyArgs{\n\t\t\tTransitRouterAttachmentId: defaultnXZ83y.TransitRouterAttachmentId,\n\t\t\tInterRegionTrafficQosPolicyName: pulumi.String(\"example1\"),\n\t\t\tInterRegionTrafficQosPolicyDescription: pulumi.String(\"example1\"),\n\t\t\tBandwidthGuaranteeMode: pulumi.String(\"byBandwidthPercent\"),\n\t\t\tTransitRouterId: defaultksqgSa.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicy;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultpSZB78 = new Instance(\"defaultpSZB78\");\n\n var defaultUmmxnE = new TransitRouter(\"defaultUmmxnE\", TransitRouterArgs.builder()\n .cenId(defaultpSZB78.id())\n .build());\n\n var defaultksqgSa = new TransitRouter(\"defaultksqgSa\", TransitRouterArgs.builder()\n .cenId(defaultpSZB78.id())\n .build());\n\n var defaultnXZ83y = new TransitRouterPeerAttachment(\"defaultnXZ83y\", TransitRouterPeerAttachmentArgs.builder()\n .defaultLinkType(\"Platinum\")\n .bandwidthType(\"DataTransfer\")\n .cenId(defaultpSZB78.id())\n .peerTransitRouterRegionId(\"cn-hangzhou\")\n .transitRouterId(defaultUmmxnE.transitRouterId())\n .peerTransitRouterId(defaultksqgSa.transitRouterId())\n .bandwidth(10)\n .build());\n\n var default_ = new InterRegionTrafficQosPolicy(\"default\", InterRegionTrafficQosPolicyArgs.builder()\n .transitRouterAttachmentId(defaultnXZ83y.transitRouterAttachmentId())\n .interRegionTrafficQosPolicyName(\"example1\")\n .interRegionTrafficQosPolicyDescription(\"example1\")\n .bandwidthGuaranteeMode(\"byBandwidthPercent\")\n .transitRouterId(defaultksqgSa.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultpSZB78:\n type: alicloud:cen:Instance\n defaultUmmxnE:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultpSZB78.id}\n defaultksqgSa:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultpSZB78.id}\n defaultnXZ83y:\n type: alicloud:cen:TransitRouterPeerAttachment\n properties:\n defaultLinkType: Platinum\n bandwidthType: DataTransfer\n cenId: ${defaultpSZB78.id}\n peerTransitRouterRegionId: cn-hangzhou\n transitRouterId: ${defaultUmmxnE.transitRouterId}\n peerTransitRouterId: ${defaultksqgSa.transitRouterId}\n bandwidth: '10'\n default:\n type: alicloud:cen:InterRegionTrafficQosPolicy\n properties:\n transitRouterAttachmentId: ${defaultnXZ83y.transitRouterAttachmentId}\n interRegionTrafficQosPolicyName: example1\n interRegionTrafficQosPolicyDescription: example1\n bandwidthGuaranteeMode: byBandwidthPercent\n transitRouterId: ${defaultksqgSa.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/interRegionTrafficQosPolicy:InterRegionTrafficQosPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy and how to use it, see [What is Inter Region Traffic Qos Policy](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateCenInterRegionTrafficQosPolicy).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultpSZB78 = new alicloud.cen.Instance(\"defaultpSZB78\", {});\nconst defaultUmmxnE = new alicloud.cen.TransitRouter(\"defaultUmmxnE\", {cenId: defaultpSZB78.id});\nconst defaultksqgSa = new alicloud.cen.TransitRouter(\"defaultksqgSa\", {cenId: defaultpSZB78.id});\nconst defaultnXZ83y = new alicloud.cen.TransitRouterPeerAttachment(\"defaultnXZ83y\", {\n defaultLinkType: \"Platinum\",\n bandwidthType: \"DataTransfer\",\n cenId: defaultpSZB78.id,\n peerTransitRouterRegionId: \"cn-hangzhou\",\n transitRouterId: defaultUmmxnE.transitRouterId,\n peerTransitRouterId: defaultksqgSa.transitRouterId,\n bandwidth: 10,\n});\nconst _default = new alicloud.cen.InterRegionTrafficQosPolicy(\"default\", {\n transitRouterAttachmentId: defaultnXZ83y.transitRouterAttachmentId,\n interRegionTrafficQosPolicyName: \"example1\",\n interRegionTrafficQosPolicyDescription: \"example1\",\n bandwidthGuaranteeMode: \"byBandwidthPercent\",\n transitRouterId: defaultksqgSa.transitRouterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultp_szb78 = alicloud.cen.Instance(\"defaultpSZB78\")\ndefault_ummxn_e = alicloud.cen.TransitRouter(\"defaultUmmxnE\", cen_id=defaultp_szb78.id)\ndefaultksqg_sa = alicloud.cen.TransitRouter(\"defaultksqgSa\", cen_id=defaultp_szb78.id)\ndefaultn_xz83y = alicloud.cen.TransitRouterPeerAttachment(\"defaultnXZ83y\",\n default_link_type=\"Platinum\",\n bandwidth_type=\"DataTransfer\",\n cen_id=defaultp_szb78.id,\n peer_transit_router_region_id=\"cn-hangzhou\",\n transit_router_id=default_ummxn_e.transit_router_id,\n peer_transit_router_id=defaultksqg_sa.transit_router_id,\n bandwidth=10)\ndefault = alicloud.cen.InterRegionTrafficQosPolicy(\"default\",\n transit_router_attachment_id=defaultn_xz83y.transit_router_attachment_id,\n inter_region_traffic_qos_policy_name=\"example1\",\n inter_region_traffic_qos_policy_description=\"example1\",\n bandwidth_guarantee_mode=\"byBandwidthPercent\",\n transit_router_id=defaultksqg_sa.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultpSZB78 = new AliCloud.Cen.Instance(\"defaultpSZB78\");\n\n var defaultUmmxnE = new AliCloud.Cen.TransitRouter(\"defaultUmmxnE\", new()\n {\n CenId = defaultpSZB78.Id,\n });\n\n var defaultksqgSa = new AliCloud.Cen.TransitRouter(\"defaultksqgSa\", new()\n {\n CenId = defaultpSZB78.Id,\n });\n\n var defaultnXZ83y = new AliCloud.Cen.TransitRouterPeerAttachment(\"defaultnXZ83y\", new()\n {\n DefaultLinkType = \"Platinum\",\n BandwidthType = \"DataTransfer\",\n CenId = defaultpSZB78.Id,\n PeerTransitRouterRegionId = \"cn-hangzhou\",\n TransitRouterId = defaultUmmxnE.TransitRouterId,\n PeerTransitRouterId = defaultksqgSa.TransitRouterId,\n Bandwidth = 10,\n });\n\n var @default = new AliCloud.Cen.InterRegionTrafficQosPolicy(\"default\", new()\n {\n TransitRouterAttachmentId = defaultnXZ83y.TransitRouterAttachmentId,\n InterRegionTrafficQosPolicyName = \"example1\",\n InterRegionTrafficQosPolicyDescription = \"example1\",\n BandwidthGuaranteeMode = \"byBandwidthPercent\",\n TransitRouterId = defaultksqgSa.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultpSZB78, err := cen.NewInstance(ctx, \"defaultpSZB78\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUmmxnE, err := cen.NewTransitRouter(ctx, \"defaultUmmxnE\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultksqgSa, err := cen.NewTransitRouter(ctx, \"defaultksqgSa\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnXZ83y, err := cen.NewTransitRouterPeerAttachment(ctx, \"defaultnXZ83y\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tDefaultLinkType: pulumi.String(\"Platinum\"),\n\t\t\tBandwidthType: pulumi.String(\"DataTransfer\"),\n\t\t\tCenId: defaultpSZB78.ID(),\n\t\t\tPeerTransitRouterRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tTransitRouterId: defaultUmmxnE.TransitRouterId,\n\t\t\tPeerTransitRouterId: defaultksqgSa.TransitRouterId,\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInterRegionTrafficQosPolicy(ctx, \"default\", \u0026cen.InterRegionTrafficQosPolicyArgs{\n\t\t\tTransitRouterAttachmentId: defaultnXZ83y.TransitRouterAttachmentId,\n\t\t\tInterRegionTrafficQosPolicyName: pulumi.String(\"example1\"),\n\t\t\tInterRegionTrafficQosPolicyDescription: pulumi.String(\"example1\"),\n\t\t\tBandwidthGuaranteeMode: pulumi.String(\"byBandwidthPercent\"),\n\t\t\tTransitRouterId: defaultksqgSa.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicy;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultpSZB78 = new Instance(\"defaultpSZB78\");\n\n var defaultUmmxnE = new TransitRouter(\"defaultUmmxnE\", TransitRouterArgs.builder()\n .cenId(defaultpSZB78.id())\n .build());\n\n var defaultksqgSa = new TransitRouter(\"defaultksqgSa\", TransitRouterArgs.builder()\n .cenId(defaultpSZB78.id())\n .build());\n\n var defaultnXZ83y = new TransitRouterPeerAttachment(\"defaultnXZ83y\", TransitRouterPeerAttachmentArgs.builder()\n .defaultLinkType(\"Platinum\")\n .bandwidthType(\"DataTransfer\")\n .cenId(defaultpSZB78.id())\n .peerTransitRouterRegionId(\"cn-hangzhou\")\n .transitRouterId(defaultUmmxnE.transitRouterId())\n .peerTransitRouterId(defaultksqgSa.transitRouterId())\n .bandwidth(10)\n .build());\n\n var default_ = new InterRegionTrafficQosPolicy(\"default\", InterRegionTrafficQosPolicyArgs.builder()\n .transitRouterAttachmentId(defaultnXZ83y.transitRouterAttachmentId())\n .interRegionTrafficQosPolicyName(\"example1\")\n .interRegionTrafficQosPolicyDescription(\"example1\")\n .bandwidthGuaranteeMode(\"byBandwidthPercent\")\n .transitRouterId(defaultksqgSa.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultpSZB78:\n type: alicloud:cen:Instance\n defaultUmmxnE:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultpSZB78.id}\n defaultksqgSa:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultpSZB78.id}\n defaultnXZ83y:\n type: alicloud:cen:TransitRouterPeerAttachment\n properties:\n defaultLinkType: Platinum\n bandwidthType: DataTransfer\n cenId: ${defaultpSZB78.id}\n peerTransitRouterRegionId: cn-hangzhou\n transitRouterId: ${defaultUmmxnE.transitRouterId}\n peerTransitRouterId: ${defaultksqgSa.transitRouterId}\n bandwidth: '10'\n default:\n type: alicloud:cen:InterRegionTrafficQosPolicy\n properties:\n transitRouterAttachmentId: ${defaultnXZ83y.transitRouterAttachmentId}\n interRegionTrafficQosPolicyName: example1\n interRegionTrafficQosPolicyDescription: example1\n bandwidthGuaranteeMode: byBandwidthPercent\n transitRouterId: ${defaultksqgSa.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/interRegionTrafficQosPolicy:InterRegionTrafficQosPolicy example \u003cid\u003e\n```\n\n", "properties": { "bandwidthGuaranteeMode": { "type": "string", @@ -113603,7 +115468,7 @@ } }, "alicloud:cen/interRegionTrafficQosQueue:InterRegionTrafficQosQueue": { - "description": "Provides a Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue and how to use it, see [What is Inter Region Traffic Qos Queue](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateCenInterRegionTrafficQosQueue).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultRegion = config.get(\"defaultRegion\") || \"cn-hangzhou\";\nconst peerRegion = config.get(\"peerRegion\") || \"cn-beijing\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultBandwidthPackage = new alicloud.cen.BandwidthPackage(\"default\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst defaultBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"default\", {\n instanceId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: _default.id,\n supportMulticast: true,\n});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {\n cenId: defaultTransitRouter.cenId,\n supportMulticast: true,\n});\nconst defaultTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"default\", {\n cenId: _default.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n peerTransitRouterRegionId: peerRegion,\n peerTransitRouterId: peer.transitRouterId,\n cenBandwidthPackageId: defaultBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\nconst defaultInterRegionTrafficQosPolicy = new alicloud.cen.InterRegionTrafficQosPolicy(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterAttachmentId: defaultTransitRouterPeerAttachment.transitRouterAttachmentId,\n interRegionTrafficQosPolicyName: name,\n interRegionTrafficQosPolicyDescription: name,\n});\nconst defaultInterRegionTrafficQosQueue = new alicloud.cen.InterRegionTrafficQosQueue(\"default\", {\n remainBandwidthPercent: 20,\n trafficQosPolicyId: defaultInterRegionTrafficQosPolicy.id,\n dscps: [\n 1,\n 2,\n ],\n interRegionTrafficQosQueueDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_region = config.get(\"defaultRegion\")\nif default_region is None:\n default_region = \"cn-hangzhou\"\npeer_region = config.get(\"peerRegion\")\nif peer_region is None:\n peer_region = \"cn-beijing\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_bandwidth_package = alicloud.cen.BandwidthPackage(\"default\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\ndefault_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"default\",\n instance_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default.id,\n support_multicast=True)\npeer = alicloud.cen.TransitRouter(\"peer\",\n cen_id=default_transit_router.cen_id,\n support_multicast=True)\ndefault_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"default\",\n cen_id=default.id,\n transit_router_id=default_transit_router.transit_router_id,\n peer_transit_router_region_id=peer_region,\n peer_transit_router_id=peer.transit_router_id,\n cen_bandwidth_package_id=default_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\ndefault_inter_region_traffic_qos_policy = alicloud.cen.InterRegionTrafficQosPolicy(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_attachment_id=default_transit_router_peer_attachment.transit_router_attachment_id,\n inter_region_traffic_qos_policy_name=name,\n inter_region_traffic_qos_policy_description=name)\ndefault_inter_region_traffic_qos_queue = alicloud.cen.InterRegionTrafficQosQueue(\"default\",\n remain_bandwidth_percent=20,\n traffic_qos_policy_id=default_inter_region_traffic_qos_policy.id,\n dscps=[\n 1,\n 2,\n ],\n inter_region_traffic_qos_queue_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultRegion = config.Get(\"defaultRegion\") ?? \"cn-hangzhou\";\n var peerRegion = config.Get(\"peerRegion\") ?? \"cn-beijing\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = @default.Id,\n SupportMulticast = true,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = defaultTransitRouter.CenId,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"default\", new()\n {\n CenId = @default.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n PeerTransitRouterRegionId = peerRegion,\n PeerTransitRouterId = peer.TransitRouterId,\n CenBandwidthPackageId = defaultBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n var defaultInterRegionTrafficQosPolicy = new AliCloud.Cen.InterRegionTrafficQosPolicy(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterAttachmentId = defaultTransitRouterPeerAttachment.TransitRouterAttachmentId,\n InterRegionTrafficQosPolicyName = name,\n InterRegionTrafficQosPolicyDescription = name,\n });\n\n var defaultInterRegionTrafficQosQueue = new AliCloud.Cen.InterRegionTrafficQosQueue(\"default\", new()\n {\n RemainBandwidthPercent = 20,\n TrafficQosPolicyId = defaultInterRegionTrafficQosPolicy.Id,\n Dscps = new[]\n {\n 1,\n 2,\n },\n InterRegionTrafficQosQueueDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"defaultRegion\"); param != \"\" {\n\t\t\tdefaultRegion = param\n\t\t}\n\t\tpeerRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"peerRegion\"); param != \"\" {\n\t\t\tpeerRegion = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"default\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"default\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultTransitRouter.CenId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterPeerAttachment, err := cen.NewTransitRouterPeerAttachment(ctx, \"default\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(peerRegion),\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tCenBandwidthPackageId: defaultBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInterRegionTrafficQosPolicy, err := cen.NewInterRegionTrafficQosPolicy(ctx, \"default\", \u0026cen.InterRegionTrafficQosPolicyArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tTransitRouterAttachmentId: defaultTransitRouterPeerAttachment.TransitRouterAttachmentId,\n\t\t\tInterRegionTrafficQosPolicyName: pulumi.String(name),\n\t\t\tInterRegionTrafficQosPolicyDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInterRegionTrafficQosQueue(ctx, \"default\", \u0026cen.InterRegionTrafficQosQueueArgs{\n\t\t\tRemainBandwidthPercent: pulumi.Int(20),\n\t\t\tTrafficQosPolicyId: defaultInterRegionTrafficQosPolicy.ID(),\n\t\t\tDscps: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tInterRegionTrafficQosQueueDescription: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicy;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicyArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosQueue;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var defaultRegion = config.get(\"defaultRegion\").orElse(\"cn-hangzhou\");\n final var peerRegion = config.get(\"peerRegion\").orElse(\"cn-beijing\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(default_.id())\n .supportMulticast(true)\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(defaultTransitRouter.cenId())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"defaultTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(default_.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .peerTransitRouterRegionId(peerRegion)\n .peerTransitRouterId(peer.transitRouterId())\n .cenBandwidthPackageId(defaultBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n var defaultInterRegionTrafficQosPolicy = new InterRegionTrafficQosPolicy(\"defaultInterRegionTrafficQosPolicy\", InterRegionTrafficQosPolicyArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterAttachmentId(defaultTransitRouterPeerAttachment.transitRouterAttachmentId())\n .interRegionTrafficQosPolicyName(name)\n .interRegionTrafficQosPolicyDescription(name)\n .build());\n\n var defaultInterRegionTrafficQosQueue = new InterRegionTrafficQosQueue(\"defaultInterRegionTrafficQosQueue\", InterRegionTrafficQosQueueArgs.builder()\n .remainBandwidthPercent(20)\n .trafficQosPolicyId(defaultInterRegionTrafficQosPolicy.id())\n .dscps( \n 1,\n 2)\n .interRegionTrafficQosQueueDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n defaultRegion:\n type: string\n default: cn-hangzhou\n peerRegion:\n type: string\n default: cn-beijing\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: default\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n defaultBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: default\n properties:\n instanceId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${default.id}\n supportMulticast: true\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultTransitRouter.cenId}\n supportMulticast: true\n defaultTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: default\n properties:\n cenId: ${default.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n peerTransitRouterRegionId: ${peerRegion}\n peerTransitRouterId: ${peer.transitRouterId}\n cenBandwidthPackageId: ${defaultBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n defaultInterRegionTrafficQosPolicy:\n type: alicloud:cen:InterRegionTrafficQosPolicy\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterAttachmentId: ${defaultTransitRouterPeerAttachment.transitRouterAttachmentId}\n interRegionTrafficQosPolicyName: ${name}\n interRegionTrafficQosPolicyDescription: ${name}\n defaultInterRegionTrafficQosQueue:\n type: alicloud:cen:InterRegionTrafficQosQueue\n name: default\n properties:\n remainBandwidthPercent: 20\n trafficQosPolicyId: ${defaultInterRegionTrafficQosPolicy.id}\n dscps:\n - 1\n - 2\n interRegionTrafficQosQueueDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/interRegionTrafficQosQueue:InterRegionTrafficQosQueue example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue and how to use it, see [What is Inter Region Traffic Qos Queue](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateCenInterRegionTrafficQosQueue).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultRegion = config.get(\"defaultRegion\") || \"cn-hangzhou\";\nconst peerRegion = config.get(\"peerRegion\") || \"cn-beijing\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultBandwidthPackage = new alicloud.cen.BandwidthPackage(\"default\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst defaultBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"default\", {\n instanceId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: _default.id,\n supportMulticast: true,\n});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {\n cenId: defaultTransitRouter.cenId,\n supportMulticast: true,\n});\nconst defaultTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"default\", {\n cenId: _default.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n peerTransitRouterRegionId: peerRegion,\n peerTransitRouterId: peer.transitRouterId,\n cenBandwidthPackageId: defaultBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\nconst defaultInterRegionTrafficQosPolicy = new alicloud.cen.InterRegionTrafficQosPolicy(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterAttachmentId: defaultTransitRouterPeerAttachment.transitRouterAttachmentId,\n interRegionTrafficQosPolicyName: name,\n interRegionTrafficQosPolicyDescription: name,\n});\nconst defaultInterRegionTrafficQosQueue = new alicloud.cen.InterRegionTrafficQosQueue(\"default\", {\n remainBandwidthPercent: 20,\n trafficQosPolicyId: defaultInterRegionTrafficQosPolicy.id,\n dscps: [\n 1,\n 2,\n ],\n interRegionTrafficQosQueueDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_region = config.get(\"defaultRegion\")\nif default_region is None:\n default_region = \"cn-hangzhou\"\npeer_region = config.get(\"peerRegion\")\nif peer_region is None:\n peer_region = \"cn-beijing\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_bandwidth_package = alicloud.cen.BandwidthPackage(\"default\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\ndefault_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"default\",\n instance_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default.id,\n support_multicast=True)\npeer = alicloud.cen.TransitRouter(\"peer\",\n cen_id=default_transit_router.cen_id,\n support_multicast=True)\ndefault_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"default\",\n cen_id=default.id,\n transit_router_id=default_transit_router.transit_router_id,\n peer_transit_router_region_id=peer_region,\n peer_transit_router_id=peer.transit_router_id,\n cen_bandwidth_package_id=default_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\ndefault_inter_region_traffic_qos_policy = alicloud.cen.InterRegionTrafficQosPolicy(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_attachment_id=default_transit_router_peer_attachment.transit_router_attachment_id,\n inter_region_traffic_qos_policy_name=name,\n inter_region_traffic_qos_policy_description=name)\ndefault_inter_region_traffic_qos_queue = alicloud.cen.InterRegionTrafficQosQueue(\"default\",\n remain_bandwidth_percent=20,\n traffic_qos_policy_id=default_inter_region_traffic_qos_policy.id,\n dscps=[\n 1,\n 2,\n ],\n inter_region_traffic_qos_queue_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultRegion = config.Get(\"defaultRegion\") ?? \"cn-hangzhou\";\n var peerRegion = config.Get(\"peerRegion\") ?? \"cn-beijing\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = @default.Id,\n SupportMulticast = true,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = defaultTransitRouter.CenId,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"default\", new()\n {\n CenId = @default.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n PeerTransitRouterRegionId = peerRegion,\n PeerTransitRouterId = peer.TransitRouterId,\n CenBandwidthPackageId = defaultBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n var defaultInterRegionTrafficQosPolicy = new AliCloud.Cen.InterRegionTrafficQosPolicy(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterAttachmentId = defaultTransitRouterPeerAttachment.TransitRouterAttachmentId,\n InterRegionTrafficQosPolicyName = name,\n InterRegionTrafficQosPolicyDescription = name,\n });\n\n var defaultInterRegionTrafficQosQueue = new AliCloud.Cen.InterRegionTrafficQosQueue(\"default\", new()\n {\n RemainBandwidthPercent = 20,\n TrafficQosPolicyId = defaultInterRegionTrafficQosPolicy.Id,\n Dscps = new[]\n {\n 1,\n 2,\n },\n InterRegionTrafficQosQueueDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"defaultRegion\"); param != \"\" {\n\t\t\tdefaultRegion = param\n\t\t}\n\t\tpeerRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"peerRegion\"); param != \"\" {\n\t\t\tpeerRegion = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"default\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"default\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultTransitRouter.CenId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterPeerAttachment, err := cen.NewTransitRouterPeerAttachment(ctx, \"default\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(peerRegion),\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tCenBandwidthPackageId: defaultBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInterRegionTrafficQosPolicy, err := cen.NewInterRegionTrafficQosPolicy(ctx, \"default\", \u0026cen.InterRegionTrafficQosPolicyArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tTransitRouterAttachmentId: defaultTransitRouterPeerAttachment.TransitRouterAttachmentId,\n\t\t\tInterRegionTrafficQosPolicyName: pulumi.String(name),\n\t\t\tInterRegionTrafficQosPolicyDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewInterRegionTrafficQosQueue(ctx, \"default\", \u0026cen.InterRegionTrafficQosQueueArgs{\n\t\t\tRemainBandwidthPercent: pulumi.Int(20),\n\t\t\tTrafficQosPolicyId: defaultInterRegionTrafficQosPolicy.ID(),\n\t\t\tDscps: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tInterRegionTrafficQosQueueDescription: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicy;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosPolicyArgs;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosQueue;\nimport com.pulumi.alicloud.cen.InterRegionTrafficQosQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var defaultRegion = config.get(\"defaultRegion\").orElse(\"cn-hangzhou\");\n final var peerRegion = config.get(\"peerRegion\").orElse(\"cn-beijing\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(default_.id())\n .supportMulticast(true)\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(defaultTransitRouter.cenId())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"defaultTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(default_.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .peerTransitRouterRegionId(peerRegion)\n .peerTransitRouterId(peer.transitRouterId())\n .cenBandwidthPackageId(defaultBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n var defaultInterRegionTrafficQosPolicy = new InterRegionTrafficQosPolicy(\"defaultInterRegionTrafficQosPolicy\", InterRegionTrafficQosPolicyArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterAttachmentId(defaultTransitRouterPeerAttachment.transitRouterAttachmentId())\n .interRegionTrafficQosPolicyName(name)\n .interRegionTrafficQosPolicyDescription(name)\n .build());\n\n var defaultInterRegionTrafficQosQueue = new InterRegionTrafficQosQueue(\"defaultInterRegionTrafficQosQueue\", InterRegionTrafficQosQueueArgs.builder()\n .remainBandwidthPercent(20)\n .trafficQosPolicyId(defaultInterRegionTrafficQosPolicy.id())\n .dscps( \n 1,\n 2)\n .interRegionTrafficQosQueueDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n defaultRegion:\n type: string\n default: cn-hangzhou\n peerRegion:\n type: string\n default: cn-beijing\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: default\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n defaultBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: default\n properties:\n instanceId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${default.id}\n supportMulticast: true\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultTransitRouter.cenId}\n supportMulticast: true\n defaultTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: default\n properties:\n cenId: ${default.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n peerTransitRouterRegionId: ${peerRegion}\n peerTransitRouterId: ${peer.transitRouterId}\n cenBandwidthPackageId: ${defaultBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n defaultInterRegionTrafficQosPolicy:\n type: alicloud:cen:InterRegionTrafficQosPolicy\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterAttachmentId: ${defaultTransitRouterPeerAttachment.transitRouterAttachmentId}\n interRegionTrafficQosPolicyName: ${name}\n interRegionTrafficQosPolicyDescription: ${name}\n defaultInterRegionTrafficQosQueue:\n type: alicloud:cen:InterRegionTrafficQosQueue\n name: default\n properties:\n remainBandwidthPercent: 20\n trafficQosPolicyId: ${defaultInterRegionTrafficQosPolicy.id}\n dscps:\n - 1\n - 2\n interRegionTrafficQosQueueDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/interRegionTrafficQosQueue:InterRegionTrafficQosQueue example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "string", @@ -113716,7 +115581,7 @@ } }, "alicloud:cen/privateZone:PrivateZone": { - "description": "Provides a Cloud Enterprise Network (CEN) Private Zone resource.\n\nFor information about Cloud Enterprise Network (CEN) Private Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-routeprivatezoneincentovpc).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: name,\n});\nconst defaultInstanceAttachment = new alicloud.cen.InstanceAttachment(\"default\", {\n instanceId: defaultInstance.id,\n childInstanceId: defaultNetwork.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst defaultPrivateZone = new alicloud.cen.PrivateZone(\"default\", {\n cenId: defaultInstanceAttachment.instanceId,\n accessRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostVpcId: defaultNetwork.id,\n hostRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=name)\ndefault_instance_attachment = alicloud.cen.InstanceAttachment(\"default\",\n instance_id=default_instance.id,\n child_instance_id=default_network.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\ndefault_private_zone = alicloud.cen.PrivateZone(\"default\",\n cen_id=default_instance_attachment.instance_id,\n access_region_id=default.regions[0].id,\n host_vpc_id=default_network.id,\n host_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n var defaultInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ChildInstanceId = defaultNetwork.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var defaultPrivateZone = new AliCloud.Cen.PrivateZone(\"default\", new()\n {\n CenId = defaultInstanceAttachment.InstanceId,\n AccessRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostVpcId = defaultNetwork.Id,\n HostRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"default\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tChildInstanceId: defaultNetwork.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewPrivateZone(ctx, \"default\", \u0026cen.PrivateZoneArgs{\n\t\t\tCenId: defaultInstanceAttachment.InstanceId,\n\t\t\tAccessRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostVpcId: defaultNetwork.ID(),\n\t\t\tHostRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.PrivateZone;\nimport com.pulumi.alicloud.cen.PrivateZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .childInstanceId(defaultNetwork.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var defaultPrivateZone = new PrivateZone(\"defaultPrivateZone\", PrivateZoneArgs.builder()\n .cenId(defaultInstanceAttachment.instanceId())\n .accessRegionId(default_.regions()[0].id())\n .hostVpcId(defaultNetwork.id())\n .hostRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.17.3.0/24\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n description: ${name}\n defaultInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n childInstanceId: ${defaultNetwork.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n defaultPrivateZone:\n type: alicloud:cen:PrivateZone\n name: default\n properties:\n cenId: ${defaultInstanceAttachment.instanceId}\n accessRegionId: ${default.regions[0].id}\n hostVpcId: ${defaultNetwork.id}\n hostRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/privateZone:PrivateZone example \u003ccen_id\u003e:\u003caccess_region_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Private Zone resource.\n\nFor information about Cloud Enterprise Network (CEN) Private Zone and how to use it, see [What is Private Zone](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-routeprivatezoneincentovpc).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: name,\n});\nconst defaultInstanceAttachment = new alicloud.cen.InstanceAttachment(\"default\", {\n instanceId: defaultInstance.id,\n childInstanceId: defaultNetwork.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst defaultPrivateZone = new alicloud.cen.PrivateZone(\"default\", {\n cenId: defaultInstanceAttachment.instanceId,\n accessRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostVpcId: defaultNetwork.id,\n hostRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=name)\ndefault_instance_attachment = alicloud.cen.InstanceAttachment(\"default\",\n instance_id=default_instance.id,\n child_instance_id=default_network.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\ndefault_private_zone = alicloud.cen.PrivateZone(\"default\",\n cen_id=default_instance_attachment.instance_id,\n access_region_id=default.regions[0].id,\n host_vpc_id=default_network.id,\n host_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n var defaultInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ChildInstanceId = defaultNetwork.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var defaultPrivateZone = new AliCloud.Cen.PrivateZone(\"default\", new()\n {\n CenId = defaultInstanceAttachment.InstanceId,\n AccessRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostVpcId = defaultNetwork.Id,\n HostRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"default\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tChildInstanceId: defaultNetwork.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewPrivateZone(ctx, \"default\", \u0026cen.PrivateZoneArgs{\n\t\t\tCenId: defaultInstanceAttachment.InstanceId,\n\t\t\tAccessRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostVpcId: defaultNetwork.ID(),\n\t\t\tHostRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.PrivateZone;\nimport com.pulumi.alicloud.cen.PrivateZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .childInstanceId(defaultNetwork.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var defaultPrivateZone = new PrivateZone(\"defaultPrivateZone\", PrivateZoneArgs.builder()\n .cenId(defaultInstanceAttachment.instanceId())\n .accessRegionId(default_.regions()[0].id())\n .hostVpcId(defaultNetwork.id())\n .hostRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.17.3.0/24\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n description: ${name}\n defaultInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n childInstanceId: ${defaultNetwork.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n defaultPrivateZone:\n type: alicloud:cen:PrivateZone\n name: default\n properties:\n cenId: ${defaultInstanceAttachment.instanceId}\n accessRegionId: ${default.regions[0].id}\n hostVpcId: ${defaultNetwork.id}\n hostRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/privateZone:PrivateZone example \u003ccen_id\u003e:\u003caccess_region_id\u003e\n```\n\n", "properties": { "accessRegionId": { "type": "string", @@ -113806,7 +115671,7 @@ } }, "alicloud:cen/routeEntry:RouteEntry": { - "description": "Provides a CEN route entry resource. Cloud Enterprise Network (CEN) supports publishing and withdrawing route entries of attached networks. You can publish a route entry of an attached VPC or VBR to a CEN instance, then other attached networks can learn the route if there is no route conflict. You can withdraw a published route entry when CEN does not need it any more.\n\nFor information about CEN route entries publishment and how to use it, see [Manage network routes](https://www.alibabacloud.com/help/doc-detail/86980.htm).\n\n\u003e **NOTE:** Available since v1.20.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n internetMaxBandwidthOut: 5,\n});\nconst exampleInstance2 = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance2.id,\n childInstanceId: exampleNetwork.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleRouteEntry = new alicloud.vpc.RouteEntry(\"example\", {\n routeTableId: exampleNetwork.routeTableId,\n destinationCidrblock: \"11.0.0.0/16\",\n nexthopType: \"Instance\",\n nexthopId: exampleInstance.id,\n});\nconst exampleRouteEntry2 = new alicloud.cen.RouteEntry(\"example\", {\n instanceId: exampleInstanceAttachment.instanceId,\n routeTableId: exampleNetwork.routeTableId,\n cidrBlock: exampleRouteEntry.destinationCidrblock,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=\"terraform-example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id,\n internet_max_bandwidth_out=5)\nexample_instance2 = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance2.id,\n child_instance_id=example_network.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\nexample_route_entry = alicloud.vpc.RouteEntry(\"example\",\n route_table_id=example_network.route_table_id,\n destination_cidrblock=\"11.0.0.0/16\",\n nexthop_type=\"Instance\",\n nexthop_id=example_instance.id)\nexample_route_entry2 = alicloud.cen.RouteEntry(\"example\",\n instance_id=example_instance_attachment.instance_id,\n route_table_id=example_network.route_table_id,\n cidr_block=example_route_entry.destination_cidrblock)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = \"terraform-example\",\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n InternetMaxBandwidthOut = 5,\n });\n\n var exampleInstance2 = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance2.Id,\n ChildInstanceId = exampleNetwork.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleRouteEntry = new AliCloud.Vpc.RouteEntry(\"example\", new()\n {\n RouteTableId = exampleNetwork.RouteTableId,\n DestinationCidrblock = \"11.0.0.0/16\",\n NexthopType = \"Instance\",\n NexthopId = exampleInstance.Id,\n });\n\n var exampleRouteEntry2 = new AliCloud.Cen.RouteEntry(\"example\", new()\n {\n InstanceId = exampleInstanceAttachment.InstanceId,\n RouteTableId = exampleNetwork.RouteTableId,\n CidrBlock = exampleRouteEntry.DestinationCidrblock,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance2, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance2.ID(),\n\t\t\tChildInstanceId: exampleNetwork.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteEntry, err := vpc.NewRouteEntry(ctx, \"example\", \u0026vpc.RouteEntryArgs{\n\t\t\tRouteTableId: exampleNetwork.RouteTableId,\n\t\t\tDestinationCidrblock: pulumi.String(\"11.0.0.0/16\"),\n\t\t\tNexthopType: pulumi.String(\"Instance\"),\n\t\t\tNexthopId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteEntry(ctx, \"example\", \u0026cen.RouteEntryArgs{\n\t\t\tInstanceId: exampleInstanceAttachment.InstanceId,\n\t\t\tRouteTableId: exampleNetwork.RouteTableId,\n\t\t\tCidrBlock: exampleRouteEntry.DestinationCidrblock,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new com.pulumi.alicloud.ecs.Instance(\"exampleInstance\", com.pulumi.alicloud.ecs.InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(\"terraform-example\")\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .internetMaxBandwidthOut(5)\n .build());\n\n var exampleInstance2 = new com.pulumi.alicloud.cen.Instance(\"exampleInstance2\", com.pulumi.alicloud.cen.InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance2.id())\n .childInstanceId(exampleNetwork.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleRouteEntry = new com.pulumi.alicloud.vpc.RouteEntry(\"exampleRouteEntry\", com.pulumi.alicloud.vpc.RouteEntryArgs.builder()\n .routeTableId(exampleNetwork.routeTableId())\n .destinationCidrblock(\"11.0.0.0/16\")\n .nexthopType(\"Instance\")\n .nexthopId(exampleInstance.id())\n .build());\n\n var exampleRouteEntry2 = new com.pulumi.alicloud.cen.RouteEntry(\"exampleRouteEntry2\", com.pulumi.alicloud.cen.RouteEntryArgs.builder()\n .instanceId(exampleInstanceAttachment.instanceId())\n .routeTableId(exampleNetwork.routeTableId())\n .cidrBlock(exampleRouteEntry.destinationCidrblock())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: terraform-example\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n internetMaxBandwidthOut: 5\n exampleInstance2:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance2.id}\n childInstanceId: ${exampleNetwork.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n exampleRouteEntry:\n type: alicloud:vpc:RouteEntry\n name: example\n properties:\n routeTableId: ${exampleNetwork.routeTableId}\n destinationCidrblock: 11.0.0.0/16\n nexthopType: Instance\n nexthopId: ${exampleInstance.id}\n exampleRouteEntry2:\n type: alicloud:cen:RouteEntry\n name: example\n properties:\n instanceId: ${exampleInstanceAttachment.instanceId}\n routeTableId: ${exampleNetwork.routeTableId}\n cidrBlock: ${exampleRouteEntry.destinationCidrblock}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeEntry:RouteEntry example cen-abc123456:vtb-abc123:192.168.0.0/24\n```\n\n", + "description": "Provides a CEN route entry resource. Cloud Enterprise Network (CEN) supports publishing and withdrawing route entries of attached networks. You can publish a route entry of an attached VPC or VBR to a CEN instance, then other attached networks can learn the route if there is no route conflict. You can withdraw a published route entry when CEN does not need it any more.\n\nFor information about CEN route entries publishment and how to use it, see [Manage network routes](https://www.alibabacloud.com/help/doc-detail/86980.htm).\n\n\u003e **NOTE:** Available since v1.20.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n internetMaxBandwidthOut: 5,\n});\nconst exampleInstance2 = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance2.id,\n childInstanceId: exampleNetwork.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleRouteEntry = new alicloud.vpc.RouteEntry(\"example\", {\n routeTableId: exampleNetwork.routeTableId,\n destinationCidrblock: \"11.0.0.0/16\",\n nexthopType: \"Instance\",\n nexthopId: exampleInstance.id,\n});\nconst exampleRouteEntry2 = new alicloud.cen.RouteEntry(\"example\", {\n instanceId: exampleInstanceAttachment.instanceId,\n routeTableId: exampleNetwork.routeTableId,\n cidrBlock: exampleRouteEntry.destinationCidrblock,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=\"terraform-example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id,\n internet_max_bandwidth_out=5)\nexample_instance2 = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance2.id,\n child_instance_id=example_network.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\nexample_route_entry = alicloud.vpc.RouteEntry(\"example\",\n route_table_id=example_network.route_table_id,\n destination_cidrblock=\"11.0.0.0/16\",\n nexthop_type=\"Instance\",\n nexthop_id=example_instance.id)\nexample_route_entry2 = alicloud.cen.RouteEntry(\"example\",\n instance_id=example_instance_attachment.instance_id,\n route_table_id=example_network.route_table_id,\n cidr_block=example_route_entry.destination_cidrblock)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = \"terraform-example\",\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n InternetMaxBandwidthOut = 5,\n });\n\n var exampleInstance2 = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance2.Id,\n ChildInstanceId = exampleNetwork.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleRouteEntry = new AliCloud.Vpc.RouteEntry(\"example\", new()\n {\n RouteTableId = exampleNetwork.RouteTableId,\n DestinationCidrblock = \"11.0.0.0/16\",\n NexthopType = \"Instance\",\n NexthopId = exampleInstance.Id,\n });\n\n var exampleRouteEntry2 = new AliCloud.Cen.RouteEntry(\"example\", new()\n {\n InstanceId = exampleInstanceAttachment.InstanceId,\n RouteTableId = exampleNetwork.RouteTableId,\n CidrBlock = exampleRouteEntry.DestinationCidrblock,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance2, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance2.ID(),\n\t\t\tChildInstanceId: exampleNetwork.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteEntry, err := vpc.NewRouteEntry(ctx, \"example\", \u0026vpc.RouteEntryArgs{\n\t\t\tRouteTableId: exampleNetwork.RouteTableId,\n\t\t\tDestinationCidrblock: pulumi.String(\"11.0.0.0/16\"),\n\t\t\tNexthopType: pulumi.String(\"Instance\"),\n\t\t\tNexthopId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteEntry(ctx, \"example\", \u0026cen.RouteEntryArgs{\n\t\t\tInstanceId: exampleInstanceAttachment.InstanceId,\n\t\t\tRouteTableId: exampleNetwork.RouteTableId,\n\t\t\tCidrBlock: exampleRouteEntry.DestinationCidrblock,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new com.pulumi.alicloud.ecs.Instance(\"exampleInstance\", com.pulumi.alicloud.ecs.InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(\"terraform-example\")\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .internetMaxBandwidthOut(5)\n .build());\n\n var exampleInstance2 = new com.pulumi.alicloud.cen.Instance(\"exampleInstance2\", com.pulumi.alicloud.cen.InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance2.id())\n .childInstanceId(exampleNetwork.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleRouteEntry = new com.pulumi.alicloud.vpc.RouteEntry(\"exampleRouteEntry\", com.pulumi.alicloud.vpc.RouteEntryArgs.builder()\n .routeTableId(exampleNetwork.routeTableId())\n .destinationCidrblock(\"11.0.0.0/16\")\n .nexthopType(\"Instance\")\n .nexthopId(exampleInstance.id())\n .build());\n\n var exampleRouteEntry2 = new com.pulumi.alicloud.cen.RouteEntry(\"exampleRouteEntry2\", com.pulumi.alicloud.cen.RouteEntryArgs.builder()\n .instanceId(exampleInstanceAttachment.instanceId())\n .routeTableId(exampleNetwork.routeTableId())\n .cidrBlock(exampleRouteEntry.destinationCidrblock())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: terraform-example\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n internetMaxBandwidthOut: 5\n exampleInstance2:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance2.id}\n childInstanceId: ${exampleNetwork.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n exampleRouteEntry:\n type: alicloud:vpc:RouteEntry\n name: example\n properties:\n routeTableId: ${exampleNetwork.routeTableId}\n destinationCidrblock: 11.0.0.0/16\n nexthopType: Instance\n nexthopId: ${exampleInstance.id}\n exampleRouteEntry2:\n type: alicloud:cen:RouteEntry\n name: example\n properties:\n instanceId: ${exampleInstanceAttachment.instanceId}\n routeTableId: ${exampleNetwork.routeTableId}\n cidrBlock: ${exampleRouteEntry.destinationCidrblock}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeEntry:RouteEntry example cen-abc123456:vtb-abc123:192.168.0.0/24\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -113871,7 +115736,7 @@ } }, "alicloud:cen/routeMap:RouteMap": { - "description": "This topic provides an overview of the route map function of Cloud Enterprise Networks (CENs).\nYou can use the route map function to filter routes and modify route attributes.\nBy doing so, you can manage the communication between networks attached to a CEN. \n\nFor information about CEN Route Map and how to use it, see [Manage CEN Route Map](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-createcenroutemap).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sourceRegion = config.get(\"sourceRegion\") || \"cn-hangzhou\";\nconst destinationRegion = config.get(\"destinationRegion\") || \"cn-shanghai\";\nconst exampleHz = new alicloud.vpc.Network(\"example_hz\", {\n vpcName: \"tf_example\",\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSh = new alicloud.vpc.Network(\"example_sh\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleHzInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example_hz\", {\n instanceId: example.id,\n childInstanceId: exampleHz.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: sourceRegion,\n});\nconst exampleShInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example_sh\", {\n instanceId: example.id,\n childInstanceId: exampleSh.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: destinationRegion,\n});\nconst _default = new alicloud.cen.RouteMap(\"default\", {\n cenRegionId: sourceRegion,\n cenId: example.id,\n description: \"tf_example\",\n priority: 1,\n transmitDirection: \"RegionIn\",\n mapResult: \"Permit\",\n nextPriority: 1,\n sourceRegionIds: [sourceRegion],\n sourceInstanceIds: [exampleHzInstanceAttachment.childInstanceId],\n sourceInstanceIdsReverseMatch: false,\n destinationInstanceIds: [exampleShInstanceAttachment.childInstanceId],\n destinationInstanceIdsReverseMatch: false,\n sourceRouteTableIds: [exampleHz.routeTableId],\n destinationRouteTableIds: [exampleSh.routeTableId],\n sourceChildInstanceTypes: [\"VPC\"],\n destinationChildInstanceTypes: [\"VPC\"],\n destinationCidrBlocks: [exampleSh.cidrBlock],\n cidrMatchMode: \"Include\",\n routeTypes: [\"System\"],\n matchAsns: [\"65501\"],\n asPathMatchMode: \"Include\",\n matchCommunitySets: [\"65501:1\"],\n communityMatchMode: \"Include\",\n communityOperateMode: \"Additive\",\n operateCommunitySets: [\"65501:1\"],\n preference: 20,\n prependAsPaths: [\"65501\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsource_region = config.get(\"sourceRegion\")\nif source_region is None:\n source_region = \"cn-hangzhou\"\ndestination_region = config.get(\"destinationRegion\")\nif destination_region is None:\n destination_region = \"cn-shanghai\"\nexample_hz = alicloud.vpc.Network(\"example_hz\",\n vpc_name=\"tf_example\",\n cidr_block=\"192.168.0.0/16\")\nexample_sh = alicloud.vpc.Network(\"example_sh\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.16.0.0/12\")\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_hz_instance_attachment = alicloud.cen.InstanceAttachment(\"example_hz\",\n instance_id=example.id,\n child_instance_id=example_hz.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=source_region)\nexample_sh_instance_attachment = alicloud.cen.InstanceAttachment(\"example_sh\",\n instance_id=example.id,\n child_instance_id=example_sh.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=destination_region)\ndefault = alicloud.cen.RouteMap(\"default\",\n cen_region_id=source_region,\n cen_id=example.id,\n description=\"tf_example\",\n priority=1,\n transmit_direction=\"RegionIn\",\n map_result=\"Permit\",\n next_priority=1,\n source_region_ids=[source_region],\n source_instance_ids=[example_hz_instance_attachment.child_instance_id],\n source_instance_ids_reverse_match=False,\n destination_instance_ids=[example_sh_instance_attachment.child_instance_id],\n destination_instance_ids_reverse_match=False,\n source_route_table_ids=[example_hz.route_table_id],\n destination_route_table_ids=[example_sh.route_table_id],\n source_child_instance_types=[\"VPC\"],\n destination_child_instance_types=[\"VPC\"],\n destination_cidr_blocks=[example_sh.cidr_block],\n cidr_match_mode=\"Include\",\n route_types=[\"System\"],\n match_asns=[\"65501\"],\n as_path_match_mode=\"Include\",\n match_community_sets=[\"65501:1\"],\n community_match_mode=\"Include\",\n community_operate_mode=\"Additive\",\n operate_community_sets=[\"65501:1\"],\n preference=20,\n prepend_as_paths=[\"65501\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sourceRegion = config.Get(\"sourceRegion\") ?? \"cn-hangzhou\";\n var destinationRegion = config.Get(\"destinationRegion\") ?? \"cn-shanghai\";\n var exampleHz = new AliCloud.Vpc.Network(\"example_hz\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSh = new AliCloud.Vpc.Network(\"example_sh\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleHzInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example_hz\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = exampleHz.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = sourceRegion,\n });\n\n var exampleShInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example_sh\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = exampleSh.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = destinationRegion,\n });\n\n var @default = new AliCloud.Cen.RouteMap(\"default\", new()\n {\n CenRegionId = sourceRegion,\n CenId = example.Id,\n Description = \"tf_example\",\n Priority = 1,\n TransmitDirection = \"RegionIn\",\n MapResult = \"Permit\",\n NextPriority = 1,\n SourceRegionIds = new[]\n {\n sourceRegion,\n },\n SourceInstanceIds = new[]\n {\n exampleHzInstanceAttachment.ChildInstanceId,\n },\n SourceInstanceIdsReverseMatch = false,\n DestinationInstanceIds = new[]\n {\n exampleShInstanceAttachment.ChildInstanceId,\n },\n DestinationInstanceIdsReverseMatch = false,\n SourceRouteTableIds = new[]\n {\n exampleHz.RouteTableId,\n },\n DestinationRouteTableIds = new[]\n {\n exampleSh.RouteTableId,\n },\n SourceChildInstanceTypes = new[]\n {\n \"VPC\",\n },\n DestinationChildInstanceTypes = new[]\n {\n \"VPC\",\n },\n DestinationCidrBlocks = new[]\n {\n exampleSh.CidrBlock,\n },\n CidrMatchMode = \"Include\",\n RouteTypes = new[]\n {\n \"System\",\n },\n MatchAsns = new[]\n {\n \"65501\",\n },\n AsPathMatchMode = \"Include\",\n MatchCommunitySets = new[]\n {\n \"65501:1\",\n },\n CommunityMatchMode = \"Include\",\n CommunityOperateMode = \"Additive\",\n OperateCommunitySets = new[]\n {\n \"65501:1\",\n },\n Preference = 20,\n PrependAsPaths = new[]\n {\n \"65501\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsourceRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"sourceRegion\"); param != \"\" {\n\t\t\tsourceRegion = param\n\t\t}\n\t\tdestinationRegion := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"destinationRegion\"); param != \"\" {\n\t\t\tdestinationRegion = param\n\t\t}\n\t\texampleHz, err := vpc.NewNetwork(ctx, \"example_hz\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSh, err := vpc.NewNetwork(ctx, \"example_sh\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHzInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example_hz\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: exampleHz.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(sourceRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example_sh\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: exampleSh.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(destinationRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteMap(ctx, \"default\", \u0026cen.RouteMapArgs{\n\t\t\tCenRegionId: pulumi.String(sourceRegion),\n\t\t\tCenId: example.ID(),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTransmitDirection: pulumi.String(\"RegionIn\"),\n\t\t\tMapResult: pulumi.String(\"Permit\"),\n\t\t\tNextPriority: pulumi.Int(1),\n\t\t\tSourceRegionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(sourceRegion),\n\t\t\t},\n\t\t\tSourceInstanceIds: pulumi.StringArray{\n\t\t\t\texampleHzInstanceAttachment.ChildInstanceId,\n\t\t\t},\n\t\t\tSourceInstanceIdsReverseMatch: pulumi.Bool(false),\n\t\t\tDestinationInstanceIds: pulumi.StringArray{\n\t\t\t\texampleShInstanceAttachment.ChildInstanceId,\n\t\t\t},\n\t\t\tDestinationInstanceIdsReverseMatch: pulumi.Bool(false),\n\t\t\tSourceRouteTableIds: pulumi.StringArray{\n\t\t\t\texampleHz.RouteTableId,\n\t\t\t},\n\t\t\tDestinationRouteTableIds: pulumi.StringArray{\n\t\t\t\texampleSh.RouteTableId,\n\t\t\t},\n\t\t\tSourceChildInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"VPC\"),\n\t\t\t},\n\t\t\tDestinationChildInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"VPC\"),\n\t\t\t},\n\t\t\tDestinationCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleSh.CidrBlock,\n\t\t\t},\n\t\t\tCidrMatchMode: pulumi.String(\"Include\"),\n\t\t\tRouteTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"System\"),\n\t\t\t},\n\t\t\tMatchAsns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501\"),\n\t\t\t},\n\t\t\tAsPathMatchMode: pulumi.String(\"Include\"),\n\t\t\tMatchCommunitySets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501:1\"),\n\t\t\t},\n\t\t\tCommunityMatchMode: pulumi.String(\"Include\"),\n\t\t\tCommunityOperateMode: pulumi.String(\"Additive\"),\n\t\t\tOperateCommunitySets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501:1\"),\n\t\t\t},\n\t\t\tPreference: pulumi.Int(20),\n\t\t\tPrependAsPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.RouteMap;\nimport com.pulumi.alicloud.cen.RouteMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sourceRegion = config.get(\"sourceRegion\").orElse(\"cn-hangzhou\");\n final var destinationRegion = config.get(\"destinationRegion\").orElse(\"cn-shanghai\");\n var exampleHz = new Network(\"exampleHz\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSh = new Network(\"exampleSh\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleHzInstanceAttachment = new InstanceAttachment(\"exampleHzInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(exampleHz.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(sourceRegion)\n .build());\n\n var exampleShInstanceAttachment = new InstanceAttachment(\"exampleShInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(exampleSh.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(destinationRegion)\n .build());\n\n var default_ = new RouteMap(\"default\", RouteMapArgs.builder()\n .cenRegionId(sourceRegion)\n .cenId(example.id())\n .description(\"tf_example\")\n .priority(1)\n .transmitDirection(\"RegionIn\")\n .mapResult(\"Permit\")\n .nextPriority(1)\n .sourceRegionIds(sourceRegion)\n .sourceInstanceIds(exampleHzInstanceAttachment.childInstanceId())\n .sourceInstanceIdsReverseMatch(false)\n .destinationInstanceIds(exampleShInstanceAttachment.childInstanceId())\n .destinationInstanceIdsReverseMatch(false)\n .sourceRouteTableIds(exampleHz.routeTableId())\n .destinationRouteTableIds(exampleSh.routeTableId())\n .sourceChildInstanceTypes(\"VPC\")\n .destinationChildInstanceTypes(\"VPC\")\n .destinationCidrBlocks(exampleSh.cidrBlock())\n .cidrMatchMode(\"Include\")\n .routeTypes(\"System\")\n .matchAsns(\"65501\")\n .asPathMatchMode(\"Include\")\n .matchCommunitySets(\"65501:1\")\n .communityMatchMode(\"Include\")\n .communityOperateMode(\"Additive\")\n .operateCommunitySets(\"65501:1\")\n .preference(20)\n .prependAsPaths(\"65501\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sourceRegion:\n type: string\n default: cn-hangzhou\n destinationRegion:\n type: string\n default: cn-shanghai\nresources:\n exampleHz:\n type: alicloud:vpc:Network\n name: example_hz\n properties:\n vpcName: tf_example\n cidrBlock: 192.168.0.0/16\n exampleSh:\n type: alicloud:vpc:Network\n name: example_sh\n properties:\n vpcName: tf_example\n cidrBlock: 172.16.0.0/12\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleHzInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example_hz\n properties:\n instanceId: ${example.id}\n childInstanceId: ${exampleHz.id}\n childInstanceType: VPC\n childInstanceRegionId: ${sourceRegion}\n exampleShInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example_sh\n properties:\n instanceId: ${example.id}\n childInstanceId: ${exampleSh.id}\n childInstanceType: VPC\n childInstanceRegionId: ${destinationRegion}\n default:\n type: alicloud:cen:RouteMap\n properties:\n cenRegionId: ${sourceRegion}\n cenId: ${example.id}\n description: tf_example\n priority: '1'\n transmitDirection: RegionIn\n mapResult: Permit\n nextPriority: '1'\n sourceRegionIds:\n - ${sourceRegion}\n sourceInstanceIds:\n - ${exampleHzInstanceAttachment.childInstanceId}\n sourceInstanceIdsReverseMatch: 'false'\n destinationInstanceIds:\n - ${exampleShInstanceAttachment.childInstanceId}\n destinationInstanceIdsReverseMatch: 'false'\n sourceRouteTableIds:\n - ${exampleHz.routeTableId}\n destinationRouteTableIds:\n - ${exampleSh.routeTableId}\n sourceChildInstanceTypes:\n - VPC\n destinationChildInstanceTypes:\n - VPC\n destinationCidrBlocks:\n - ${exampleSh.cidrBlock}\n cidrMatchMode: Include\n routeTypes:\n - System\n matchAsns:\n - '65501'\n asPathMatchMode: Include\n matchCommunitySets:\n - 65501:1\n communityMatchMode: Include\n communityOperateMode: Additive\n operateCommunitySets:\n - 65501:1\n preference: '20'\n prependAsPaths:\n - '65501'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN RouteMap can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeMap:RouteMap default \u003ccen_id\u003e:\u003croute_map_id\u003e.\n```\n\n", + "description": "This topic provides an overview of the route map function of Cloud Enterprise Networks (CENs).\nYou can use the route map function to filter routes and modify route attributes.\nBy doing so, you can manage the communication between networks attached to a CEN. \n\nFor information about CEN Route Map and how to use it, see [Manage CEN Route Map](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-createcenroutemap).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sourceRegion = config.get(\"sourceRegion\") || \"cn-hangzhou\";\nconst destinationRegion = config.get(\"destinationRegion\") || \"cn-shanghai\";\nconst exampleHz = new alicloud.vpc.Network(\"example_hz\", {\n vpcName: \"tf_example\",\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSh = new alicloud.vpc.Network(\"example_sh\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleHzInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example_hz\", {\n instanceId: example.id,\n childInstanceId: exampleHz.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: sourceRegion,\n});\nconst exampleShInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example_sh\", {\n instanceId: example.id,\n childInstanceId: exampleSh.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: destinationRegion,\n});\nconst _default = new alicloud.cen.RouteMap(\"default\", {\n cenRegionId: sourceRegion,\n cenId: example.id,\n description: \"tf_example\",\n priority: 1,\n transmitDirection: \"RegionIn\",\n mapResult: \"Permit\",\n nextPriority: 1,\n sourceRegionIds: [sourceRegion],\n sourceInstanceIds: [exampleHzInstanceAttachment.childInstanceId],\n sourceInstanceIdsReverseMatch: false,\n destinationInstanceIds: [exampleShInstanceAttachment.childInstanceId],\n destinationInstanceIdsReverseMatch: false,\n sourceRouteTableIds: [exampleHz.routeTableId],\n destinationRouteTableIds: [exampleSh.routeTableId],\n sourceChildInstanceTypes: [\"VPC\"],\n destinationChildInstanceTypes: [\"VPC\"],\n destinationCidrBlocks: [exampleSh.cidrBlock],\n cidrMatchMode: \"Include\",\n routeTypes: [\"System\"],\n matchAsns: [\"65501\"],\n asPathMatchMode: \"Include\",\n matchCommunitySets: [\"65501:1\"],\n communityMatchMode: \"Include\",\n communityOperateMode: \"Additive\",\n operateCommunitySets: [\"65501:1\"],\n preference: 20,\n prependAsPaths: [\"65501\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsource_region = config.get(\"sourceRegion\")\nif source_region is None:\n source_region = \"cn-hangzhou\"\ndestination_region = config.get(\"destinationRegion\")\nif destination_region is None:\n destination_region = \"cn-shanghai\"\nexample_hz = alicloud.vpc.Network(\"example_hz\",\n vpc_name=\"tf_example\",\n cidr_block=\"192.168.0.0/16\")\nexample_sh = alicloud.vpc.Network(\"example_sh\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.16.0.0/12\")\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_hz_instance_attachment = alicloud.cen.InstanceAttachment(\"example_hz\",\n instance_id=example.id,\n child_instance_id=example_hz.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=source_region)\nexample_sh_instance_attachment = alicloud.cen.InstanceAttachment(\"example_sh\",\n instance_id=example.id,\n child_instance_id=example_sh.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=destination_region)\ndefault = alicloud.cen.RouteMap(\"default\",\n cen_region_id=source_region,\n cen_id=example.id,\n description=\"tf_example\",\n priority=1,\n transmit_direction=\"RegionIn\",\n map_result=\"Permit\",\n next_priority=1,\n source_region_ids=[source_region],\n source_instance_ids=[example_hz_instance_attachment.child_instance_id],\n source_instance_ids_reverse_match=False,\n destination_instance_ids=[example_sh_instance_attachment.child_instance_id],\n destination_instance_ids_reverse_match=False,\n source_route_table_ids=[example_hz.route_table_id],\n destination_route_table_ids=[example_sh.route_table_id],\n source_child_instance_types=[\"VPC\"],\n destination_child_instance_types=[\"VPC\"],\n destination_cidr_blocks=[example_sh.cidr_block],\n cidr_match_mode=\"Include\",\n route_types=[\"System\"],\n match_asns=[\"65501\"],\n as_path_match_mode=\"Include\",\n match_community_sets=[\"65501:1\"],\n community_match_mode=\"Include\",\n community_operate_mode=\"Additive\",\n operate_community_sets=[\"65501:1\"],\n preference=20,\n prepend_as_paths=[\"65501\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sourceRegion = config.Get(\"sourceRegion\") ?? \"cn-hangzhou\";\n var destinationRegion = config.Get(\"destinationRegion\") ?? \"cn-shanghai\";\n var exampleHz = new AliCloud.Vpc.Network(\"example_hz\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSh = new AliCloud.Vpc.Network(\"example_sh\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleHzInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example_hz\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = exampleHz.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = sourceRegion,\n });\n\n var exampleShInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example_sh\", new()\n {\n InstanceId = example.Id,\n ChildInstanceId = exampleSh.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = destinationRegion,\n });\n\n var @default = new AliCloud.Cen.RouteMap(\"default\", new()\n {\n CenRegionId = sourceRegion,\n CenId = example.Id,\n Description = \"tf_example\",\n Priority = 1,\n TransmitDirection = \"RegionIn\",\n MapResult = \"Permit\",\n NextPriority = 1,\n SourceRegionIds = new[]\n {\n sourceRegion,\n },\n SourceInstanceIds = new[]\n {\n exampleHzInstanceAttachment.ChildInstanceId,\n },\n SourceInstanceIdsReverseMatch = false,\n DestinationInstanceIds = new[]\n {\n exampleShInstanceAttachment.ChildInstanceId,\n },\n DestinationInstanceIdsReverseMatch = false,\n SourceRouteTableIds = new[]\n {\n exampleHz.RouteTableId,\n },\n DestinationRouteTableIds = new[]\n {\n exampleSh.RouteTableId,\n },\n SourceChildInstanceTypes = new[]\n {\n \"VPC\",\n },\n DestinationChildInstanceTypes = new[]\n {\n \"VPC\",\n },\n DestinationCidrBlocks = new[]\n {\n exampleSh.CidrBlock,\n },\n CidrMatchMode = \"Include\",\n RouteTypes = new[]\n {\n \"System\",\n },\n MatchAsns = new[]\n {\n \"65501\",\n },\n AsPathMatchMode = \"Include\",\n MatchCommunitySets = new[]\n {\n \"65501:1\",\n },\n CommunityMatchMode = \"Include\",\n CommunityOperateMode = \"Additive\",\n OperateCommunitySets = new[]\n {\n \"65501:1\",\n },\n Preference = 20,\n PrependAsPaths = new[]\n {\n \"65501\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsourceRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"sourceRegion\"); param != \"\" {\n\t\t\tsourceRegion = param\n\t\t}\n\t\tdestinationRegion := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"destinationRegion\"); param != \"\" {\n\t\t\tdestinationRegion = param\n\t\t}\n\t\texampleHz, err := vpc.NewNetwork(ctx, \"example_hz\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSh, err := vpc.NewNetwork(ctx, \"example_sh\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHzInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example_hz\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: exampleHz.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(sourceRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleShInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example_sh\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tChildInstanceId: exampleSh.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(destinationRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteMap(ctx, \"default\", \u0026cen.RouteMapArgs{\n\t\t\tCenRegionId: pulumi.String(sourceRegion),\n\t\t\tCenId: example.ID(),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTransmitDirection: pulumi.String(\"RegionIn\"),\n\t\t\tMapResult: pulumi.String(\"Permit\"),\n\t\t\tNextPriority: pulumi.Int(1),\n\t\t\tSourceRegionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(sourceRegion),\n\t\t\t},\n\t\t\tSourceInstanceIds: pulumi.StringArray{\n\t\t\t\texampleHzInstanceAttachment.ChildInstanceId,\n\t\t\t},\n\t\t\tSourceInstanceIdsReverseMatch: pulumi.Bool(false),\n\t\t\tDestinationInstanceIds: pulumi.StringArray{\n\t\t\t\texampleShInstanceAttachment.ChildInstanceId,\n\t\t\t},\n\t\t\tDestinationInstanceIdsReverseMatch: pulumi.Bool(false),\n\t\t\tSourceRouteTableIds: pulumi.StringArray{\n\t\t\t\texampleHz.RouteTableId,\n\t\t\t},\n\t\t\tDestinationRouteTableIds: pulumi.StringArray{\n\t\t\t\texampleSh.RouteTableId,\n\t\t\t},\n\t\t\tSourceChildInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"VPC\"),\n\t\t\t},\n\t\t\tDestinationChildInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"VPC\"),\n\t\t\t},\n\t\t\tDestinationCidrBlocks: pulumi.StringArray{\n\t\t\t\texampleSh.CidrBlock,\n\t\t\t},\n\t\t\tCidrMatchMode: pulumi.String(\"Include\"),\n\t\t\tRouteTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"System\"),\n\t\t\t},\n\t\t\tMatchAsns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501\"),\n\t\t\t},\n\t\t\tAsPathMatchMode: pulumi.String(\"Include\"),\n\t\t\tMatchCommunitySets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501:1\"),\n\t\t\t},\n\t\t\tCommunityMatchMode: pulumi.String(\"Include\"),\n\t\t\tCommunityOperateMode: pulumi.String(\"Additive\"),\n\t\t\tOperateCommunitySets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501:1\"),\n\t\t\t},\n\t\t\tPreference: pulumi.Int(20),\n\t\t\tPrependAsPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"65501\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.RouteMap;\nimport com.pulumi.alicloud.cen.RouteMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sourceRegion = config.get(\"sourceRegion\").orElse(\"cn-hangzhou\");\n final var destinationRegion = config.get(\"destinationRegion\").orElse(\"cn-shanghai\");\n var exampleHz = new Network(\"exampleHz\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSh = new Network(\"exampleSh\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleHzInstanceAttachment = new InstanceAttachment(\"exampleHzInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(exampleHz.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(sourceRegion)\n .build());\n\n var exampleShInstanceAttachment = new InstanceAttachment(\"exampleShInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(example.id())\n .childInstanceId(exampleSh.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(destinationRegion)\n .build());\n\n var default_ = new RouteMap(\"default\", RouteMapArgs.builder()\n .cenRegionId(sourceRegion)\n .cenId(example.id())\n .description(\"tf_example\")\n .priority(1)\n .transmitDirection(\"RegionIn\")\n .mapResult(\"Permit\")\n .nextPriority(1)\n .sourceRegionIds(sourceRegion)\n .sourceInstanceIds(exampleHzInstanceAttachment.childInstanceId())\n .sourceInstanceIdsReverseMatch(false)\n .destinationInstanceIds(exampleShInstanceAttachment.childInstanceId())\n .destinationInstanceIdsReverseMatch(false)\n .sourceRouteTableIds(exampleHz.routeTableId())\n .destinationRouteTableIds(exampleSh.routeTableId())\n .sourceChildInstanceTypes(\"VPC\")\n .destinationChildInstanceTypes(\"VPC\")\n .destinationCidrBlocks(exampleSh.cidrBlock())\n .cidrMatchMode(\"Include\")\n .routeTypes(\"System\")\n .matchAsns(\"65501\")\n .asPathMatchMode(\"Include\")\n .matchCommunitySets(\"65501:1\")\n .communityMatchMode(\"Include\")\n .communityOperateMode(\"Additive\")\n .operateCommunitySets(\"65501:1\")\n .preference(20)\n .prependAsPaths(\"65501\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sourceRegion:\n type: string\n default: cn-hangzhou\n destinationRegion:\n type: string\n default: cn-shanghai\nresources:\n exampleHz:\n type: alicloud:vpc:Network\n name: example_hz\n properties:\n vpcName: tf_example\n cidrBlock: 192.168.0.0/16\n exampleSh:\n type: alicloud:vpc:Network\n name: example_sh\n properties:\n vpcName: tf_example\n cidrBlock: 172.16.0.0/12\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleHzInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example_hz\n properties:\n instanceId: ${example.id}\n childInstanceId: ${exampleHz.id}\n childInstanceType: VPC\n childInstanceRegionId: ${sourceRegion}\n exampleShInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example_sh\n properties:\n instanceId: ${example.id}\n childInstanceId: ${exampleSh.id}\n childInstanceType: VPC\n childInstanceRegionId: ${destinationRegion}\n default:\n type: alicloud:cen:RouteMap\n properties:\n cenRegionId: ${sourceRegion}\n cenId: ${example.id}\n description: tf_example\n priority: '1'\n transmitDirection: RegionIn\n mapResult: Permit\n nextPriority: '1'\n sourceRegionIds:\n - ${sourceRegion}\n sourceInstanceIds:\n - ${exampleHzInstanceAttachment.childInstanceId}\n sourceInstanceIdsReverseMatch: 'false'\n destinationInstanceIds:\n - ${exampleShInstanceAttachment.childInstanceId}\n destinationInstanceIdsReverseMatch: 'false'\n sourceRouteTableIds:\n - ${exampleHz.routeTableId}\n destinationRouteTableIds:\n - ${exampleSh.routeTableId}\n sourceChildInstanceTypes:\n - VPC\n destinationChildInstanceTypes:\n - VPC\n destinationCidrBlocks:\n - ${exampleSh.cidrBlock}\n cidrMatchMode: Include\n routeTypes:\n - System\n matchAsns:\n - '65501'\n asPathMatchMode: Include\n matchCommunitySets:\n - 65501:1\n communityMatchMode: Include\n communityOperateMode: Additive\n operateCommunitySets:\n - 65501:1\n preference: '20'\n prependAsPaths:\n - '65501'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN RouteMap can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeMap:RouteMap default \u003ccen_id\u003e:\u003croute_map_id\u003e.\n```\n\n", "properties": { "asPathMatchMode": { "type": "string", @@ -114376,7 +116241,7 @@ } }, "alicloud:cen/routeService:RouteService": { - "description": "Provides a CEN Route Service resource. The virtual border routers (VBRs) and Cloud Connect Network (CCN) instances attached to Cloud Enterprise Network (CEN) instances can access the cloud services deployed in VPCs through the CEN instances.\n\nFor information about CEN Route Service and how to use it, see [What is Route Service](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-resolveandrouteserviceincen).\n\n\u003e **NOTE:** Available since v1.99.0.\n\n\u003e **NOTE:** Ensure that at least one VPC in the selected region is attached to the CEN instance.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleRouteService = new alicloud.cen.RouteService(\"example\", {\n accessRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostVpcId: example.id,\n cenId: exampleInstanceAttachment.instanceId,\n host: \"100.118.28.52/32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\nexample_route_service = alicloud.cen.RouteService(\"example\",\n access_region_id=default.regions[0].id,\n host_region_id=default.regions[0].id,\n host_vpc_id=example.id,\n cen_id=example_instance_attachment.instance_id,\n host=\"100.118.28.52/32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleRouteService = new AliCloud.Cen.RouteService(\"example\", new()\n {\n AccessRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostVpcId = example.Id,\n CenId = exampleInstanceAttachment.InstanceId,\n Host = \"100.118.28.52/32\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteService(ctx, \"example\", \u0026cen.RouteServiceArgs{\n\t\t\tAccessRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostVpcId: example.ID(),\n\t\t\tCenId: exampleInstanceAttachment.InstanceId,\n\t\t\tHost: pulumi.String(\"100.118.28.52/32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.RouteService;\nimport com.pulumi.alicloud.cen.RouteServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleRouteService = new RouteService(\"exampleRouteService\", RouteServiceArgs.builder()\n .accessRegionId(default_.regions()[0].id())\n .hostRegionId(default_.regions()[0].id())\n .hostVpcId(example.id())\n .cenId(exampleInstanceAttachment.instanceId())\n .host(\"100.118.28.52/32\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n exampleRouteService:\n type: alicloud:cen:RouteService\n name: example\n properties:\n accessRegionId: ${default.regions[0].id}\n hostRegionId: ${default.regions[0].id}\n hostVpcId: ${example.id}\n cenId: ${exampleInstanceAttachment.instanceId}\n host: 100.118.28.52/32\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN Route Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeService:RouteService example cen-ahixm0efqh********:cn-shanghai:100.118.28.52/32:cn-shanghai\n```\n\n", + "description": "Provides a CEN Route Service resource. The virtual border routers (VBRs) and Cloud Connect Network (CCN) instances attached to Cloud Enterprise Network (CEN) instances can access the cloud services deployed in VPCs through the CEN instances.\n\nFor information about CEN Route Service and how to use it, see [What is Route Service](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-resolveandrouteserviceincen).\n\n\u003e **NOTE:** Available since v1.99.0.\n\n\u003e **NOTE:** Ensure that at least one VPC in the selected region is attached to the CEN instance.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VPC\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleRouteService = new alicloud.cen.RouteService(\"example\", {\n accessRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n hostVpcId: example.id,\n cenId: exampleInstanceAttachment.instanceId,\n host: \"100.118.28.52/32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VPC\",\n child_instance_region_id=default.regions[0].id)\nexample_route_service = alicloud.cen.RouteService(\"example\",\n access_region_id=default.regions[0].id,\n host_region_id=default.regions[0].id,\n host_vpc_id=example.id,\n cen_id=example_instance_attachment.instance_id,\n host=\"100.118.28.52/32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VPC\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleRouteService = new AliCloud.Cen.RouteService(\"example\", new()\n {\n AccessRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n HostVpcId = example.Id,\n CenId = exampleInstanceAttachment.InstanceId,\n Host = \"100.118.28.52/32\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VPC\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewRouteService(ctx, \"example\", \u0026cen.RouteServiceArgs{\n\t\t\tAccessRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tHostVpcId: example.ID(),\n\t\t\tCenId: exampleInstanceAttachment.InstanceId,\n\t\t\tHost: pulumi.String(\"100.118.28.52/32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.RouteService;\nimport com.pulumi.alicloud.cen.RouteServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VPC\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleRouteService = new RouteService(\"exampleRouteService\", RouteServiceArgs.builder()\n .accessRegionId(default_.regions()[0].id())\n .hostRegionId(default_.regions()[0].id())\n .hostVpcId(example.id())\n .cenId(exampleInstanceAttachment.instanceId())\n .host(\"100.118.28.52/32\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VPC\n childInstanceRegionId: ${default.regions[0].id}\n exampleRouteService:\n type: alicloud:cen:RouteService\n name: example\n properties:\n accessRegionId: ${default.regions[0].id}\n hostRegionId: ${default.regions[0].id}\n hostVpcId: ${example.id}\n cenId: ${exampleInstanceAttachment.instanceId}\n host: 100.118.28.52/32\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN Route Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/routeService:RouteService example cen-ahixm0efqh********:cn-shanghai:100.118.28.52/32:cn-shanghai\n```\n\n", "properties": { "accessRegionId": { "type": "string", @@ -114496,7 +116361,7 @@ } }, "alicloud:cen/trafficMarkingPolicy:TrafficMarkingPolicy": { - "description": "Provides a Cloud Enterprise Network (CEN) Traffic Marking Policy resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Traffic Marking Policy and how to use it, see [What is Traffic Marking Policy](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtrafficmarkingpolicy).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTrafficMarkingPolicy = new alicloud.cen.TrafficMarkingPolicy(\"example\", {\n markingDscp: 1,\n priority: 1,\n trafficMarkingPolicyName: \"tf_example\",\n transitRouterId: exampleTransitRouter.transitRouterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_traffic_marking_policy = alicloud.cen.TrafficMarkingPolicy(\"example\",\n marking_dscp=1,\n priority=1,\n traffic_marking_policy_name=\"tf_example\",\n transit_router_id=example_transit_router.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTrafficMarkingPolicy = new AliCloud.Cen.TrafficMarkingPolicy(\"example\", new()\n {\n MarkingDscp = 1,\n Priority = 1,\n TrafficMarkingPolicyName = \"tf_example\",\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTrafficMarkingPolicy(ctx, \"example\", \u0026cen.TrafficMarkingPolicyArgs{\n\t\t\tMarkingDscp: pulumi.Int(1),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTrafficMarkingPolicyName: pulumi.String(\"tf_example\"),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TrafficMarkingPolicy;\nimport com.pulumi.alicloud.cen.TrafficMarkingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTrafficMarkingPolicy = new TrafficMarkingPolicy(\"exampleTrafficMarkingPolicy\", TrafficMarkingPolicyArgs.builder()\n .markingDscp(1)\n .priority(1)\n .trafficMarkingPolicyName(\"tf_example\")\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTrafficMarkingPolicy:\n type: alicloud:cen:TrafficMarkingPolicy\n name: example\n properties:\n markingDscp: 1\n priority: 1\n trafficMarkingPolicyName: tf_example\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/trafficMarkingPolicy:TrafficMarkingPolicy example \u003ctransit_router_id\u003e:\u003ctraffic_marking_policy_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Traffic Marking Policy resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Traffic Marking Policy and how to use it, see [What is Traffic Marking Policy](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtrafficmarkingpolicy).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTrafficMarkingPolicy = new alicloud.cen.TrafficMarkingPolicy(\"example\", {\n markingDscp: 1,\n priority: 1,\n trafficMarkingPolicyName: \"tf_example\",\n transitRouterId: exampleTransitRouter.transitRouterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_traffic_marking_policy = alicloud.cen.TrafficMarkingPolicy(\"example\",\n marking_dscp=1,\n priority=1,\n traffic_marking_policy_name=\"tf_example\",\n transit_router_id=example_transit_router.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTrafficMarkingPolicy = new AliCloud.Cen.TrafficMarkingPolicy(\"example\", new()\n {\n MarkingDscp = 1,\n Priority = 1,\n TrafficMarkingPolicyName = \"tf_example\",\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTrafficMarkingPolicy(ctx, \"example\", \u0026cen.TrafficMarkingPolicyArgs{\n\t\t\tMarkingDscp: pulumi.Int(1),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tTrafficMarkingPolicyName: pulumi.String(\"tf_example\"),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TrafficMarkingPolicy;\nimport com.pulumi.alicloud.cen.TrafficMarkingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTrafficMarkingPolicy = new TrafficMarkingPolicy(\"exampleTrafficMarkingPolicy\", TrafficMarkingPolicyArgs.builder()\n .markingDscp(1)\n .priority(1)\n .trafficMarkingPolicyName(\"tf_example\")\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTrafficMarkingPolicy:\n type: alicloud:cen:TrafficMarkingPolicy\n name: example\n properties:\n markingDscp: 1\n priority: 1\n trafficMarkingPolicyName: tf_example\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/trafficMarkingPolicy:TrafficMarkingPolicy example \u003ctransit_router_id\u003e:\u003ctraffic_marking_policy_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -114648,7 +116513,7 @@ } }, "alicloud:cen/transitRouteTableAggregation:TransitRouteTableAggregation": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Route Table Aggregation resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Route Table Aggregation and how to use it, see [What is Transit Route Table Aggregation](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouteTableAggregation).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouteTableAggregation = new alicloud.cen.TransitRouteTableAggregation(\"example\", {\n transitRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouteTableAggregationCidr: \"10.0.0.0/8\",\n transitRouteTableAggregationScope: \"VPC\",\n transitRouteTableAggregationName: \"tf_example\",\n transitRouteTableAggregationDescription: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_route_table_aggregation = alicloud.cen.TransitRouteTableAggregation(\"example\",\n transit_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_route_table_aggregation_cidr=\"10.0.0.0/8\",\n transit_route_table_aggregation_scope=\"VPC\",\n transit_route_table_aggregation_name=\"tf_example\",\n transit_route_table_aggregation_description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouteTableAggregation = new AliCloud.Cen.TransitRouteTableAggregation(\"example\", new()\n {\n TransitRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouteTableAggregationCidr = \"10.0.0.0/8\",\n TransitRouteTableAggregationScope = \"VPC\",\n TransitRouteTableAggregationName = \"tf_example\",\n TransitRouteTableAggregationDescription = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouteTableAggregation(ctx, \"example\", \u0026cen.TransitRouteTableAggregationArgs{\n\t\t\tTransitRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouteTableAggregationCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tTransitRouteTableAggregationScope: pulumi.String(\"VPC\"),\n\t\t\tTransitRouteTableAggregationName: pulumi.String(\"tf_example\"),\n\t\t\tTransitRouteTableAggregationDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouteTableAggregation;\nimport com.pulumi.alicloud.cen.TransitRouteTableAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouteTableAggregation = new TransitRouteTableAggregation(\"exampleTransitRouteTableAggregation\", TransitRouteTableAggregationArgs.builder()\n .transitRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouteTableAggregationCidr(\"10.0.0.0/8\")\n .transitRouteTableAggregationScope(\"VPC\")\n .transitRouteTableAggregationName(\"tf_example\")\n .transitRouteTableAggregationDescription(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouteTableAggregation:\n type: alicloud:cen:TransitRouteTableAggregation\n name: example\n properties:\n transitRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouteTableAggregationCidr: 10.0.0.0/8\n transitRouteTableAggregationScope: VPC\n transitRouteTableAggregationName: tf_example\n transitRouteTableAggregationDescription: tf_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouteTableAggregation:TransitRouteTableAggregation example \u003ctransit_route_table_id\u003e#\u003ctransit_route_table_aggregation_cidr\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Route Table Aggregation resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Route Table Aggregation and how to use it, see [What is Transit Route Table Aggregation](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouteTableAggregation).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouteTableAggregation = new alicloud.cen.TransitRouteTableAggregation(\"example\", {\n transitRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouteTableAggregationCidr: \"10.0.0.0/8\",\n transitRouteTableAggregationScope: \"VPC\",\n transitRouteTableAggregationName: \"tf_example\",\n transitRouteTableAggregationDescription: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_route_table_aggregation = alicloud.cen.TransitRouteTableAggregation(\"example\",\n transit_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_route_table_aggregation_cidr=\"10.0.0.0/8\",\n transit_route_table_aggregation_scope=\"VPC\",\n transit_route_table_aggregation_name=\"tf_example\",\n transit_route_table_aggregation_description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouteTableAggregation = new AliCloud.Cen.TransitRouteTableAggregation(\"example\", new()\n {\n TransitRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouteTableAggregationCidr = \"10.0.0.0/8\",\n TransitRouteTableAggregationScope = \"VPC\",\n TransitRouteTableAggregationName = \"tf_example\",\n TransitRouteTableAggregationDescription = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouteTableAggregation(ctx, \"example\", \u0026cen.TransitRouteTableAggregationArgs{\n\t\t\tTransitRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouteTableAggregationCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tTransitRouteTableAggregationScope: pulumi.String(\"VPC\"),\n\t\t\tTransitRouteTableAggregationName: pulumi.String(\"tf_example\"),\n\t\t\tTransitRouteTableAggregationDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouteTableAggregation;\nimport com.pulumi.alicloud.cen.TransitRouteTableAggregationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouteTableAggregation = new TransitRouteTableAggregation(\"exampleTransitRouteTableAggregation\", TransitRouteTableAggregationArgs.builder()\n .transitRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouteTableAggregationCidr(\"10.0.0.0/8\")\n .transitRouteTableAggregationScope(\"VPC\")\n .transitRouteTableAggregationName(\"tf_example\")\n .transitRouteTableAggregationDescription(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouteTableAggregation:\n type: alicloud:cen:TransitRouteTableAggregation\n name: example\n properties:\n transitRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouteTableAggregationCidr: 10.0.0.0/8\n transitRouteTableAggregationScope: VPC\n transitRouteTableAggregationName: tf_example\n transitRouteTableAggregationDescription: tf_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouteTableAggregation:TransitRouteTableAggregation example \u003ctransit_route_table_id\u003e#\u003ctransit_route_table_aggregation_cidr\u003e\n```\n\n", "properties": { "status": { "type": "string", @@ -114763,7 +116628,7 @@ } }, "alicloud:cen/transitRouter:TransitRouter": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router and how to use it, see [What is Transit Router](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouter).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: name,\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n cenId: example.id,\n transitRouterName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n cen_id=example.id,\n transit_router_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterName: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(example.id())\n .transitRouterName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n description: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${example.id}\n transitRouterName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouter:TransitRouter example \u003ccen_id\u003e:\u003ctransit_router_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router and how to use it, see [What is Transit Router](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouter).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: name,\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n cenId: example.id,\n transitRouterName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n cen_id=example.id,\n transit_router_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterName: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(example.id())\n .transitRouterName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n description: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${example.id}\n transitRouterName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouter:TransitRouter example \u003ccen_id\u003e:\u003ctransit_router_id\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -114912,7 +116777,7 @@ } }, "alicloud:cen/transitRouterCidr:TransitRouterCidr": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Cidr resource.\n\nUsed for Vpn Attachment, Connect Attachment, etc. Assign address segments.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Cidr and how to use it, see [What is Transit Router Cidr](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/createtransitroutercidr).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: \"tf_example\",\n description: \"tf_example\",\n publishCidrRoute: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=\"tf_example\",\n description=\"tf_example\",\n publish_cidr_route=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = \"tf_example\",\n Description = \"tf_example\",\n PublishCidrRoute = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterCidr(ctx, \"example\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPublishCidrRoute: 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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterCidr = new TransitRouterCidr(\"exampleTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(\"tf_example\")\n .description(\"tf_example\")\n .publishCidrRoute(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: tf_example\n description: tf_example\n publishCidrRoute: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterCidr:TransitRouterCidr example \u003ctransit_router_id\u003e:\u003ctransit_router_cidr_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Cidr resource.\n\nUsed for Vpn Attachment, Connect Attachment, etc. Assign address segments.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Cidr and how to use it, see [What is Transit Router Cidr](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/createtransitroutercidr).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: \"tf_example\",\n description: \"tf_example\",\n publishCidrRoute: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=\"tf_example\",\n description=\"tf_example\",\n publish_cidr_route=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = \"tf_example\",\n Description = \"tf_example\",\n PublishCidrRoute = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterCidr(ctx, \"example\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"tf_example\"),\n\t\t\tPublishCidrRoute: 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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterCidr = new TransitRouterCidr(\"exampleTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(\"tf_example\")\n .description(\"tf_example\")\n .publishCidrRoute(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: tf_example\n description: tf_example\n publishCidrRoute: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterCidr:TransitRouterCidr example \u003ctransit_router_id\u003e:\u003ctransit_router_cidr_id\u003e\n```\n\n", "properties": { "cidr": { "type": "string", @@ -115004,7 +116869,7 @@ } }, "alicloud:cen/transitRouterEcrAttachment:TransitRouterEcrAttachment": { - "description": "Provides a CEN Transit Router Ecr Attachment resource.\n\n\n\nFor information about CEN Transit Router Ecr Attachment and how to use it, see [What is Transit Router Ecr Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitrouterecrattachment).\n\n\u003e **NOTE:** Available since v1.235.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst asn = config.get(\"asn\") || \"4200000667\";\nconst defaultO8Hcfx = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultO8Hcfx\", {\n alibabaSideAsn: asn,\n ecrName: name,\n});\nconst defaultQKBiay = new alicloud.cen.Instance(\"defaultQKBiay\", {cenInstanceName: name});\nconst defaultQa94Y1 = new alicloud.cen.TransitRouter(\"defaultQa94Y1\", {\n cenId: defaultQKBiay.id,\n transitRouterName: name,\n});\nconst current = alicloud.getAccount({});\nconst defaultedPu6c = new alicloud.expressconnect.RouterTrAssociation(\"defaultedPu6c\", {\n associationRegionId: \"cn-hangzhou\",\n ecrId: defaultO8Hcfx.id,\n cenId: defaultQKBiay.id,\n transitRouterId: defaultQa94Y1.transitRouterId,\n transitRouterOwnerId: current.then(current =\u003e current.id),\n});\nconst _default = new alicloud.cen.TransitRouterEcrAttachment(\"default\", {\n ecrId: defaultO8Hcfx.id,\n cenId: defaultedPu6c.cenId,\n transitRouterEcrAttachmentName: name,\n transitRouterAttachmentDescription: name,\n transitRouterId: defaultQa94Y1.transitRouterId,\n ecrOwnerId: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nasn = config.get(\"asn\")\nif asn is None:\n asn = \"4200000667\"\ndefault_o8_hcfx = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultO8Hcfx\",\n alibaba_side_asn=asn,\n ecr_name=name)\ndefault_qk_biay = alicloud.cen.Instance(\"defaultQKBiay\", cen_instance_name=name)\ndefault_qa94_y1 = alicloud.cen.TransitRouter(\"defaultQa94Y1\",\n cen_id=default_qk_biay.id,\n transit_router_name=name)\ncurrent = alicloud.get_account()\ndefaulted_pu6c = alicloud.expressconnect.RouterTrAssociation(\"defaultedPu6c\",\n association_region_id=\"cn-hangzhou\",\n ecr_id=default_o8_hcfx.id,\n cen_id=default_qk_biay.id,\n transit_router_id=default_qa94_y1.transit_router_id,\n transit_router_owner_id=current.id)\ndefault = alicloud.cen.TransitRouterEcrAttachment(\"default\",\n ecr_id=default_o8_hcfx.id,\n cen_id=defaulted_pu6c.cen_id,\n transit_router_ecr_attachment_name=name,\n transit_router_attachment_description=name,\n transit_router_id=default_qa94_y1.transit_router_id,\n ecr_owner_id=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var asn = config.Get(\"asn\") ?? \"4200000667\";\n var defaultO8Hcfx = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultO8Hcfx\", new()\n {\n AlibabaSideAsn = asn,\n EcrName = name,\n });\n\n var defaultQKBiay = new AliCloud.Cen.Instance(\"defaultQKBiay\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultQa94Y1 = new AliCloud.Cen.TransitRouter(\"defaultQa94Y1\", new()\n {\n CenId = defaultQKBiay.Id,\n TransitRouterName = name,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var defaultedPu6c = new AliCloud.ExpressConnect.RouterTrAssociation(\"defaultedPu6c\", new()\n {\n AssociationRegionId = \"cn-hangzhou\",\n EcrId = defaultO8Hcfx.Id,\n CenId = defaultQKBiay.Id,\n TransitRouterId = defaultQa94Y1.TransitRouterId,\n TransitRouterOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n var @default = new AliCloud.Cen.TransitRouterEcrAttachment(\"default\", new()\n {\n EcrId = defaultO8Hcfx.Id,\n CenId = defaultedPu6c.CenId,\n TransitRouterEcrAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n TransitRouterId = defaultQa94Y1.TransitRouterId,\n EcrOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tasn := \"4200000667\"\n\t\tif param := cfg.Get(\"asn\"); param != \"\" {\n\t\t\tasn = param\n\t\t}\n\t\tdefaultO8Hcfx, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultO8Hcfx\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.String(asn),\n\t\t\tEcrName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQKBiay, err := cen.NewInstance(ctx, \"defaultQKBiay\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQa94Y1, err := cen.NewTransitRouter(ctx, \"defaultQa94Y1\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultQKBiay.ID(),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultedPu6c, err := expressconnect.NewRouterTrAssociation(ctx, \"defaultedPu6c\", \u0026expressconnect.RouterTrAssociationArgs{\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tEcrId: defaultO8Hcfx.ID(),\n\t\t\tCenId: defaultQKBiay.ID(),\n\t\t\tTransitRouterId: defaultQa94Y1.TransitRouterId,\n\t\t\tTransitRouterOwnerId: pulumi.String(current.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterEcrAttachment(ctx, \"default\", \u0026cen.TransitRouterEcrAttachmentArgs{\n\t\t\tEcrId: defaultO8Hcfx.ID(),\n\t\t\tCenId: defaultedPu6c.CenId,\n\t\t\tTransitRouterEcrAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterId: defaultQa94Y1.TransitRouterId,\n\t\t\tEcrOwnerId: pulumi.String(current.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.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterEcrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterEcrAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var asn = config.get(\"asn\").orElse(\"4200000667\");\n var defaultO8Hcfx = new RouterExpressConnectRouter(\"defaultO8Hcfx\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(asn)\n .ecrName(name)\n .build());\n\n var defaultQKBiay = new Instance(\"defaultQKBiay\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultQa94Y1 = new TransitRouter(\"defaultQa94Y1\", TransitRouterArgs.builder()\n .cenId(defaultQKBiay.id())\n .transitRouterName(name)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultedPu6c = new RouterTrAssociation(\"defaultedPu6c\", RouterTrAssociationArgs.builder()\n .associationRegionId(\"cn-hangzhou\")\n .ecrId(defaultO8Hcfx.id())\n .cenId(defaultQKBiay.id())\n .transitRouterId(defaultQa94Y1.transitRouterId())\n .transitRouterOwnerId(current.id())\n .build());\n\n var default_ = new TransitRouterEcrAttachment(\"default\", TransitRouterEcrAttachmentArgs.builder()\n .ecrId(defaultO8Hcfx.id())\n .cenId(defaultedPu6c.cenId())\n .transitRouterEcrAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .transitRouterId(defaultQa94Y1.transitRouterId())\n .ecrOwnerId(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n asn:\n type: string\n default: '4200000667'\nresources:\n defaultO8Hcfx:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: ${asn}\n ecrName: ${name}\n defaultQKBiay:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultQa94Y1:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultQKBiay.id}\n transitRouterName: ${name}\n defaultedPu6c:\n type: alicloud:expressconnect:RouterTrAssociation\n properties:\n associationRegionId: cn-hangzhou\n ecrId: ${defaultO8Hcfx.id}\n cenId: ${defaultQKBiay.id}\n transitRouterId: ${defaultQa94Y1.transitRouterId}\n transitRouterOwnerId: ${current.id}\n default:\n type: alicloud:cen:TransitRouterEcrAttachment\n properties:\n ecrId: ${defaultO8Hcfx.id}\n cenId: ${defaultedPu6c.cenId}\n transitRouterEcrAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n transitRouterId: ${defaultQa94Y1.transitRouterId}\n ecrOwnerId: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN Transit Router Ecr Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterEcrAttachment:TransitRouterEcrAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a CEN Transit Router Ecr Attachment resource.\n\n\n\nFor information about CEN Transit Router Ecr Attachment and how to use it, see [What is Transit Router Ecr Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitrouterecrattachment).\n\n\u003e **NOTE:** Available since v1.235.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst asn = config.get(\"asn\") || \"4200000667\";\nconst defaultO8Hcfx = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultO8Hcfx\", {\n alibabaSideAsn: asn,\n ecrName: name,\n});\nconst defaultQKBiay = new alicloud.cen.Instance(\"defaultQKBiay\", {cenInstanceName: name});\nconst defaultQa94Y1 = new alicloud.cen.TransitRouter(\"defaultQa94Y1\", {\n cenId: defaultQKBiay.id,\n transitRouterName: name,\n});\nconst current = alicloud.getAccount({});\nconst defaultedPu6c = new alicloud.expressconnect.RouterTrAssociation(\"defaultedPu6c\", {\n associationRegionId: \"cn-hangzhou\",\n ecrId: defaultO8Hcfx.id,\n cenId: defaultQKBiay.id,\n transitRouterId: defaultQa94Y1.transitRouterId,\n transitRouterOwnerId: current.then(current =\u003e current.id),\n});\nconst _default = new alicloud.cen.TransitRouterEcrAttachment(\"default\", {\n ecrId: defaultO8Hcfx.id,\n cenId: defaultedPu6c.cenId,\n transitRouterEcrAttachmentName: name,\n transitRouterAttachmentDescription: name,\n transitRouterId: defaultQa94Y1.transitRouterId,\n ecrOwnerId: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nasn = config.get(\"asn\")\nif asn is None:\n asn = \"4200000667\"\ndefault_o8_hcfx = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultO8Hcfx\",\n alibaba_side_asn=asn,\n ecr_name=name)\ndefault_qk_biay = alicloud.cen.Instance(\"defaultQKBiay\", cen_instance_name=name)\ndefault_qa94_y1 = alicloud.cen.TransitRouter(\"defaultQa94Y1\",\n cen_id=default_qk_biay.id,\n transit_router_name=name)\ncurrent = alicloud.get_account()\ndefaulted_pu6c = alicloud.expressconnect.RouterTrAssociation(\"defaultedPu6c\",\n association_region_id=\"cn-hangzhou\",\n ecr_id=default_o8_hcfx.id,\n cen_id=default_qk_biay.id,\n transit_router_id=default_qa94_y1.transit_router_id,\n transit_router_owner_id=current.id)\ndefault = alicloud.cen.TransitRouterEcrAttachment(\"default\",\n ecr_id=default_o8_hcfx.id,\n cen_id=defaulted_pu6c.cen_id,\n transit_router_ecr_attachment_name=name,\n transit_router_attachment_description=name,\n transit_router_id=default_qa94_y1.transit_router_id,\n ecr_owner_id=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var asn = config.Get(\"asn\") ?? \"4200000667\";\n var defaultO8Hcfx = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultO8Hcfx\", new()\n {\n AlibabaSideAsn = asn,\n EcrName = name,\n });\n\n var defaultQKBiay = new AliCloud.Cen.Instance(\"defaultQKBiay\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultQa94Y1 = new AliCloud.Cen.TransitRouter(\"defaultQa94Y1\", new()\n {\n CenId = defaultQKBiay.Id,\n TransitRouterName = name,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var defaultedPu6c = new AliCloud.ExpressConnect.RouterTrAssociation(\"defaultedPu6c\", new()\n {\n AssociationRegionId = \"cn-hangzhou\",\n EcrId = defaultO8Hcfx.Id,\n CenId = defaultQKBiay.Id,\n TransitRouterId = defaultQa94Y1.TransitRouterId,\n TransitRouterOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n var @default = new AliCloud.Cen.TransitRouterEcrAttachment(\"default\", new()\n {\n EcrId = defaultO8Hcfx.Id,\n CenId = defaultedPu6c.CenId,\n TransitRouterEcrAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n TransitRouterId = defaultQa94Y1.TransitRouterId,\n EcrOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tasn := \"4200000667\"\n\t\tif param := cfg.Get(\"asn\"); param != \"\" {\n\t\t\tasn = param\n\t\t}\n\t\tdefaultO8Hcfx, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultO8Hcfx\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.String(asn),\n\t\t\tEcrName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQKBiay, err := cen.NewInstance(ctx, \"defaultQKBiay\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQa94Y1, err := cen.NewTransitRouter(ctx, \"defaultQa94Y1\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultQKBiay.ID(),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultedPu6c, err := expressconnect.NewRouterTrAssociation(ctx, \"defaultedPu6c\", \u0026expressconnect.RouterTrAssociationArgs{\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tEcrId: defaultO8Hcfx.ID(),\n\t\t\tCenId: defaultQKBiay.ID(),\n\t\t\tTransitRouterId: defaultQa94Y1.TransitRouterId,\n\t\t\tTransitRouterOwnerId: pulumi.String(current.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterEcrAttachment(ctx, \"default\", \u0026cen.TransitRouterEcrAttachmentArgs{\n\t\t\tEcrId: defaultO8Hcfx.ID(),\n\t\t\tCenId: defaultedPu6c.CenId,\n\t\t\tTransitRouterEcrAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterId: defaultQa94Y1.TransitRouterId,\n\t\t\tEcrOwnerId: pulumi.String(current.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.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterEcrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterEcrAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var asn = config.get(\"asn\").orElse(\"4200000667\");\n var defaultO8Hcfx = new RouterExpressConnectRouter(\"defaultO8Hcfx\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(asn)\n .ecrName(name)\n .build());\n\n var defaultQKBiay = new Instance(\"defaultQKBiay\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultQa94Y1 = new TransitRouter(\"defaultQa94Y1\", TransitRouterArgs.builder()\n .cenId(defaultQKBiay.id())\n .transitRouterName(name)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultedPu6c = new RouterTrAssociation(\"defaultedPu6c\", RouterTrAssociationArgs.builder()\n .associationRegionId(\"cn-hangzhou\")\n .ecrId(defaultO8Hcfx.id())\n .cenId(defaultQKBiay.id())\n .transitRouterId(defaultQa94Y1.transitRouterId())\n .transitRouterOwnerId(current.id())\n .build());\n\n var default_ = new TransitRouterEcrAttachment(\"default\", TransitRouterEcrAttachmentArgs.builder()\n .ecrId(defaultO8Hcfx.id())\n .cenId(defaultedPu6c.cenId())\n .transitRouterEcrAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .transitRouterId(defaultQa94Y1.transitRouterId())\n .ecrOwnerId(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n asn:\n type: string\n default: '4200000667'\nresources:\n defaultO8Hcfx:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: ${asn}\n ecrName: ${name}\n defaultQKBiay:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultQa94Y1:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultQKBiay.id}\n transitRouterName: ${name}\n defaultedPu6c:\n type: alicloud:expressconnect:RouterTrAssociation\n properties:\n associationRegionId: cn-hangzhou\n ecrId: ${defaultO8Hcfx.id}\n cenId: ${defaultQKBiay.id}\n transitRouterId: ${defaultQa94Y1.transitRouterId}\n transitRouterOwnerId: ${current.id}\n default:\n type: alicloud:cen:TransitRouterEcrAttachment\n properties:\n ecrId: ${defaultO8Hcfx.id}\n cenId: ${defaultedPu6c.cenId}\n transitRouterEcrAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n transitRouterId: ${defaultQa94Y1.transitRouterId}\n ecrOwnerId: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN Transit Router Ecr Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterEcrAttachment:TransitRouterEcrAttachment example \u003cid\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -115142,7 +117007,7 @@ } }, "alicloud:cen/transitRouterGrantAttachment:TransitRouterGrantAttachment": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Grant Attachment resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Grant Attachment and how to use it, see [What is Transit Router Grant Attachment](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/grantinstancetotransitrouter).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouterGrantAttachment = new alicloud.cen.TransitRouterGrantAttachment(\"example\", {\n cenId: exampleInstance.id,\n cenOwnerId: _default.then(_default =\u003e _default.id),\n instanceId: example.id,\n instanceType: \"VPC\",\n orderType: \"PayByCenOwner\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router_grant_attachment = alicloud.cen.TransitRouterGrantAttachment(\"example\",\n cen_id=example_instance.id,\n cen_owner_id=default.id,\n instance_id=example.id,\n instance_type=\"VPC\",\n order_type=\"PayByCenOwner\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouterGrantAttachment = new AliCloud.Cen.TransitRouterGrantAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n CenOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n InstanceId = example.Id,\n InstanceType = \"VPC\",\n OrderType = \"PayByCenOwner\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterGrantAttachment(ctx, \"example\", \u0026cen.TransitRouterGrantAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tCenOwnerId: pulumi.String(_default.Id),\n\t\t\tInstanceId: example.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tOrderType: pulumi.String(\"PayByCenOwner\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouterGrantAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterGrantAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouterGrantAttachment = new TransitRouterGrantAttachment(\"exampleTransitRouterGrantAttachment\", TransitRouterGrantAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .cenOwnerId(default_.id())\n .instanceId(example.id())\n .instanceType(\"VPC\")\n .orderType(\"PayByCenOwner\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouterGrantAttachment:\n type: alicloud:cen:TransitRouterGrantAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n cenOwnerId: ${default.id}\n instanceId: ${example.id}\n instanceType: VPC\n orderType: PayByCenOwner\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterGrantAttachment:TransitRouterGrantAttachment example \u003cinstance_type\u003e:\u003cinstance_id\u003e:\u003ccen_owner_id\u003e:\u003ccen_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Grant Attachment resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Grant Attachment and how to use it, see [What is Transit Router Grant Attachment](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/grantinstancetotransitrouter).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"tf_example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouterGrantAttachment = new alicloud.cen.TransitRouterGrantAttachment(\"example\", {\n cenId: exampleInstance.id,\n cenOwnerId: _default.then(_default =\u003e _default.id),\n instanceId: example.id,\n instanceType: \"VPC\",\n orderType: \"PayByCenOwner\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"tf_example\",\n cidr_block=\"172.17.3.0/24\")\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router_grant_attachment = alicloud.cen.TransitRouterGrantAttachment(\"example\",\n cen_id=example_instance.id,\n cen_owner_id=default.id,\n instance_id=example.id,\n instance_type=\"VPC\",\n order_type=\"PayByCenOwner\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"tf_example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouterGrantAttachment = new AliCloud.Cen.TransitRouterGrantAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n CenOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n InstanceId = example.Id,\n InstanceType = \"VPC\",\n OrderType = \"PayByCenOwner\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterGrantAttachment(ctx, \"example\", \u0026cen.TransitRouterGrantAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tCenOwnerId: pulumi.String(_default.Id),\n\t\t\tInstanceId: example.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tOrderType: pulumi.String(\"PayByCenOwner\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouterGrantAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterGrantAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"tf_example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouterGrantAttachment = new TransitRouterGrantAttachment(\"exampleTransitRouterGrantAttachment\", TransitRouterGrantAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .cenOwnerId(default_.id())\n .instanceId(example.id())\n .instanceType(\"VPC\")\n .orderType(\"PayByCenOwner\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_example\n cidrBlock: 172.17.3.0/24\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouterGrantAttachment:\n type: alicloud:cen:TransitRouterGrantAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n cenOwnerId: ${default.id}\n instanceId: ${example.id}\n instanceType: VPC\n orderType: PayByCenOwner\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterGrantAttachment:TransitRouterGrantAttachment example \u003cinstance_type\u003e:\u003cinstance_id\u003e:\u003ccen_owner_id\u003e:\u003ccen_id\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -115238,7 +117103,7 @@ } }, "alicloud:cen/transitRouterMulticastDomain:TransitRouterMulticastDomain": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Multicast Domain resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Multicast Domain and how to use it, see [What is Transit Router Multicast Domain](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutermulticastdomain).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: example.id,\n supportMulticast: true,\n});\nconst _default = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n options: {\n igmpv2Support: \"disable\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example.id,\n support_multicast=True)\ndefault = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name,\n options={\n \"igmpv2_support\": \"disable\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = example.Id,\n SupportMulticast = true,\n });\n\n var @default = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n Options = new AliCloud.Cen.Inputs.TransitRouterMulticastDomainOptionsArgs\n {\n Igmpv2Support = \"disable\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: example.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t\tOptions: \u0026cen.TransitRouterMulticastDomainOptionsArgs{\n\t\t\t\tIgmpv2Support: pulumi.String(\"disable\"),\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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterMulticastDomainOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(example.id())\n .supportMulticast(true)\n .build());\n\n var default_ = new TransitRouterMulticastDomain(\"default\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .options(TransitRouterMulticastDomainOptionsArgs.builder()\n .igmpv2Support(\"disable\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${example.id}\n supportMulticast: true\n default:\n type: alicloud:cen:TransitRouterMulticastDomain\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n options:\n igmpv2Support: disable\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomain:TransitRouterMulticastDomain example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Multicast Domain resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Multicast Domain and how to use it, see [What is Transit Router Multicast Domain](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutermulticastdomain).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: example.id,\n supportMulticast: true,\n});\nconst _default = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n options: {\n igmpv2Support: \"disable\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example.id,\n support_multicast=True)\ndefault = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name,\n options={\n \"igmpv2_support\": \"disable\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = example.Id,\n SupportMulticast = true,\n });\n\n var @default = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n Options = new AliCloud.Cen.Inputs.TransitRouterMulticastDomainOptionsArgs\n {\n Igmpv2Support = \"disable\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: example.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t\tOptions: \u0026cen.TransitRouterMulticastDomainOptionsArgs{\n\t\t\t\tIgmpv2Support: pulumi.String(\"disable\"),\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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterMulticastDomainOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(example.id())\n .supportMulticast(true)\n .build());\n\n var default_ = new TransitRouterMulticastDomain(\"default\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .options(TransitRouterMulticastDomainOptionsArgs.builder()\n .igmpv2Support(\"disable\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${example.id}\n supportMulticast: true\n default:\n type: alicloud:cen:TransitRouterMulticastDomain\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n options:\n igmpv2Support: disable\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomain:TransitRouterMulticastDomain example \u003cid\u003e\n```\n\n", "properties": { "options": { "$ref": "#/types/alicloud:cen/TransitRouterMulticastDomainOptions:TransitRouterMulticastDomainOptions", @@ -115347,7 +117212,7 @@ } }, "alicloud:cen/transitRouterMulticastDomainAssociation:TransitRouterMulticastDomainAssociation": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association and how to use it, see [What is Transit Router Multicast Domain Association](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-associatetransitroutermulticastdomain).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst zone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: zone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n supportMulticast: true,\n});\nconst exampleTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterMulticastDomain.transitRouterId,\n vpcId: example.id,\n zoneMappings: [{\n zoneId: zone,\n vswitchId: exampleSwitch.id,\n }],\n});\nconst exampleTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\", {\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nzone = default.resources[0].master_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=zone)\nexample_instance = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id,\n support_multicast=True)\nexample_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_multicast_domain.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[{\n \"zone_id\": zone,\n \"vswitch_id\": example_switch.id,\n }])\nexample_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\",\n transit_router_multicast_domain_id=example_transit_router_multicast_domain.id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var zone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = zone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n SupportMulticast = true,\n });\n\n var exampleTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterMulticastDomain.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = zone,\n VswitchId = exampleSwitch.Id,\n },\n },\n });\n\n var exampleTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"example\", new()\n {\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzone := _default.Resources[0].MasterZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(zone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t\tTransitRouterId: exampleTransitRouterMulticastDomain.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(zone),\n\t\t\t\t\tVswitchId: exampleSwitch.ID(),\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 = cen.NewTransitRouterMulticastDomainAssociation(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\n\t\t\tTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.ID(),\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t\tVswitchId: exampleSwitch.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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var zone = default_.resources()[0].masterZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(zone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .supportMulticast(true)\n .build());\n\n var exampleTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"exampleTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterMulticastDomain.transitRouterId())\n .vpcId(example.id())\n .zoneMappings(TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(zone)\n .vswitchId(exampleSwitch.id())\n .build())\n .build());\n\n var exampleTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"exampleTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${zone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n supportMulticast: true\n exampleTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterMulticastDomain.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${zone}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: example\n properties:\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${exampleSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n zone: ${default.resources[0].masterZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainAssociation:TransitRouterMulticastDomainAssociation example \u003ctransit_router_multicast_domain_id\u003e:\u003ctransit_router_attachment_id\u003e:\u003cvswitch_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association and how to use it, see [What is Transit Router Multicast Domain Association](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-associatetransitroutermulticastdomain).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst zone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: zone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n supportMulticast: true,\n});\nconst exampleTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterMulticastDomain.transitRouterId,\n vpcId: example.id,\n zoneMappings: [{\n zoneId: zone,\n vswitchId: exampleSwitch.id,\n }],\n});\nconst exampleTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\", {\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nzone = default.resources[0].master_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=zone)\nexample_instance = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id,\n support_multicast=True)\nexample_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_multicast_domain.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[{\n \"zone_id\": zone,\n \"vswitch_id\": example_switch.id,\n }])\nexample_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\",\n transit_router_multicast_domain_id=example_transit_router_multicast_domain.id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var zone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = zone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n SupportMulticast = true,\n });\n\n var exampleTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterMulticastDomain.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = zone,\n VswitchId = exampleSwitch.Id,\n },\n },\n });\n\n var exampleTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"example\", new()\n {\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzone := _default.Resources[0].MasterZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(zone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t\tTransitRouterId: exampleTransitRouterMulticastDomain.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(zone),\n\t\t\t\t\tVswitchId: exampleSwitch.ID(),\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 = cen.NewTransitRouterMulticastDomainAssociation(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\n\t\t\tTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.ID(),\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t\tVswitchId: exampleSwitch.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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var zone = default_.resources()[0].masterZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(zone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .supportMulticast(true)\n .build());\n\n var exampleTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"exampleTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterMulticastDomain.transitRouterId())\n .vpcId(example.id())\n .zoneMappings(TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(zone)\n .vswitchId(exampleSwitch.id())\n .build())\n .build());\n\n var exampleTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"exampleTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${zone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n supportMulticast: true\n exampleTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterMulticastDomain.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${zone}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: example\n properties:\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${exampleSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n zone: ${default.resources[0].masterZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainAssociation:TransitRouterMulticastDomainAssociation example \u003ctransit_router_multicast_domain_id\u003e:\u003ctransit_router_attachment_id\u003e:\u003cvswitch_id\u003e\n```\n\n", "properties": { "status": { "type": "string", @@ -115421,7 +117286,7 @@ } }, "alicloud:cen/transitRouterMulticastDomainMember:TransitRouterMulticastDomainMember": { - "description": "Provides a Cen Transit Router Multicast Domain Member resource.\n\nFor information about Cen Transit Router Multicast Domain Member and how to use it, see [What is Transit Router Multicast Domain Member](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-registertransitroutermulticastgroupmembers).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst zone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: zone,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: example.id,\n});\nconst exampleEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"example\", {\n networkInterfaceName: name,\n vswitchId: exampleSwitch.id,\n primaryIpAddress: exampleSwitch.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n supportMulticast: true,\n});\nconst exampleTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterMulticastDomain.transitRouterId,\n vpcId: example.id,\n zoneMappings: [{\n zoneId: zone,\n vswitchId: exampleSwitch.id,\n }],\n});\nconst exampleTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\", {\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: exampleSwitch.id,\n});\nconst exampleTransitRouterMulticastDomainMember = new alicloud.cen.TransitRouterMulticastDomainMember(\"example\", {\n vpcId: example.id,\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId,\n networkInterfaceId: exampleEcsNetworkInterface.id,\n groupIpAddress: \"239.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nzone = default.resources[0].master_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=zone)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example.id)\nexample_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"example\",\n network_interface_name=name,\n vswitch_id=example_switch.id,\n primary_ip_address=example_switch.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n security_group_ids=[example_security_group.id])\nexample_instance = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id,\n support_multicast=True)\nexample_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_multicast_domain.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[{\n \"zone_id\": zone,\n \"vswitch_id\": example_switch.id,\n }])\nexample_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\",\n transit_router_multicast_domain_id=example_transit_router_multicast_domain.id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=example_switch.id)\nexample_transit_router_multicast_domain_member = alicloud.cen.TransitRouterMulticastDomainMember(\"example\",\n vpc_id=example.id,\n transit_router_multicast_domain_id=example_transit_router_multicast_domain_association.transit_router_multicast_domain_id,\n network_interface_id=example_ecs_network_interface.id,\n group_ip_address=\"239.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var zone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = zone,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = example.Id,\n });\n\n var exampleEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"example\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = exampleSwitch.Id,\n PrimaryIpAddress = exampleSwitch.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n SupportMulticast = true,\n });\n\n var exampleTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterMulticastDomain.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = zone,\n VswitchId = exampleSwitch.Id,\n },\n },\n });\n\n var exampleTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"example\", new()\n {\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleTransitRouterMulticastDomainMember = new AliCloud.Cen.TransitRouterMulticastDomainMember(\"example\", new()\n {\n VpcId = example.Id,\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\n NetworkInterfaceId = exampleEcsNetworkInterface.Id,\n GroupIpAddress = \"239.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nzone := _default.Resources[0].MasterZones[1];\nexample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\nexampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.1.0/24\"),\nVpcId: example.ID(),\nZoneId: pulumi.String(zone),\n})\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: example.ID(),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\nexampleEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"example\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(name),\nVswitchId: exampleSwitch.ID(),\nPrimaryIpAddress: pulumi.String(exampleSwitch.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n})\nif err != nil {\nreturn err\n}\nexampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\nCenInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\nTransitRouterName: pulumi.String(name),\nCenId: exampleInstance.ID(),\nSupportMulticast: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainArgs{\nTransitRouterId: exampleTransitRouter.TransitRouterId,\nTransitRouterMulticastDomainName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\nCenId: exampleTransitRouter.CenId,\nTransitRouterId: exampleTransitRouterMulticastDomain.TransitRouterId,\nVpcId: example.ID(),\nZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: pulumi.String(zone),\nVswitchId: exampleSwitch.ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterMulticastDomainAssociation, err := cen.NewTransitRouterMulticastDomainAssociation(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\nTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.ID(),\nTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\nVswitchId: exampleSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cen.NewTransitRouterMulticastDomainMember(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainMemberArgs{\nVpcId: example.ID(),\nTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\nNetworkInterfaceId: exampleEcsNetworkInterface.ID(),\nGroupIpAddress: pulumi.String(\"239.1.1.1\"),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainMember;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var zone = default_.resources()[0].masterZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(zone)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(example.id())\n .build());\n\n var exampleEcsNetworkInterface = new EcsNetworkInterface(\"exampleEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(exampleSwitch.id())\n .primaryIpAddress(exampleSwitch.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .supportMulticast(true)\n .build());\n\n var exampleTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"exampleTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterMulticastDomain.transitRouterId())\n .vpcId(example.id())\n .zoneMappings(TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(zone)\n .vswitchId(exampleSwitch.id())\n .build())\n .build());\n\n var exampleTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"exampleTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleTransitRouterMulticastDomainMember = new TransitRouterMulticastDomainMember(\"exampleTransitRouterMulticastDomainMember\", TransitRouterMulticastDomainMemberArgs.builder()\n .vpcId(example.id())\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId())\n .networkInterfaceId(exampleEcsNetworkInterface.id())\n .groupIpAddress(\"239.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${zone}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${example.id}\n exampleEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: example\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${exampleSwitch.id}\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${exampleSwitch.cidrBlock}\n host: 100\n return: result\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n supportMulticast: true\n exampleTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterMulticastDomain.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${zone}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: example\n properties:\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainMember:\n type: alicloud:cen:TransitRouterMulticastDomainMember\n name: example\n properties:\n vpcId: ${example.id}\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId}\n networkInterfaceId: ${exampleEcsNetworkInterface.id}\n groupIpAddress: 239.1.1.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n zone: ${default.resources[0].masterZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCen Transit Router Multicast Domain Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainMember:TransitRouterMulticastDomainMember example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cnetwork_interface_id\u003e\n```\n\n", + "description": "Provides a Cen Transit Router Multicast Domain Member resource.\n\nFor information about Cen Transit Router Multicast Domain Member and how to use it, see [What is Transit Router Multicast Domain Member](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-registertransitroutermulticastgroupmembers).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst zone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: zone,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: example.id,\n});\nconst exampleEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"example\", {\n networkInterfaceName: name,\n vswitchId: exampleSwitch.id,\n primaryIpAddress: exampleSwitch.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n supportMulticast: true,\n});\nconst exampleTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterMulticastDomain.transitRouterId,\n vpcId: example.id,\n zoneMappings: [{\n zoneId: zone,\n vswitchId: exampleSwitch.id,\n }],\n});\nconst exampleTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\", {\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: exampleSwitch.id,\n});\nconst exampleTransitRouterMulticastDomainMember = new alicloud.cen.TransitRouterMulticastDomainMember(\"example\", {\n vpcId: example.id,\n transitRouterMulticastDomainId: exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId,\n networkInterfaceId: exampleEcsNetworkInterface.id,\n groupIpAddress: \"239.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nzone = default.resources[0].master_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=zone)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example.id)\nexample_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"example\",\n network_interface_name=name,\n vswitch_id=example_switch.id,\n primary_ip_address=example_switch.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n security_group_ids=[example_security_group.id])\nexample_instance = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id,\n support_multicast=True)\nexample_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_multicast_domain.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[{\n \"zone_id\": zone,\n \"vswitch_id\": example_switch.id,\n }])\nexample_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"example\",\n transit_router_multicast_domain_id=example_transit_router_multicast_domain.id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=example_switch.id)\nexample_transit_router_multicast_domain_member = alicloud.cen.TransitRouterMulticastDomainMember(\"example\",\n vpc_id=example.id,\n transit_router_multicast_domain_id=example_transit_router_multicast_domain_association.transit_router_multicast_domain_id,\n network_interface_id=example_ecs_network_interface.id,\n group_ip_address=\"239.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var zone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = zone,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = example.Id,\n });\n\n var exampleEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"example\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = exampleSwitch.Id,\n PrimaryIpAddress = exampleSwitch.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n SupportMulticast = true,\n });\n\n var exampleTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterMulticastDomain.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = zone,\n VswitchId = exampleSwitch.Id,\n },\n },\n });\n\n var exampleTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"example\", new()\n {\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleTransitRouterMulticastDomainMember = new AliCloud.Cen.TransitRouterMulticastDomainMember(\"example\", new()\n {\n VpcId = example.Id,\n TransitRouterMulticastDomainId = exampleTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\n NetworkInterfaceId = exampleEcsNetworkInterface.Id,\n GroupIpAddress = \"239.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nzone := _default.Resources[0].MasterZones[1];\nexample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\nexampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.1.0/24\"),\nVpcId: example.ID(),\nZoneId: pulumi.String(zone),\n})\nif err != nil {\nreturn err\n}\nexampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: example.ID(),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\nexampleEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"example\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(name),\nVswitchId: exampleSwitch.ID(),\nPrimaryIpAddress: pulumi.String(exampleSwitch.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nSecurityGroupIds: pulumi.StringArray{\nexampleSecurityGroup.ID(),\n},\n})\nif err != nil {\nreturn err\n}\nexampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\nCenInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\nTransitRouterName: pulumi.String(name),\nCenId: exampleInstance.ID(),\nSupportMulticast: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainArgs{\nTransitRouterId: exampleTransitRouter.TransitRouterId,\nTransitRouterMulticastDomainName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\nCenId: exampleTransitRouter.CenId,\nTransitRouterId: exampleTransitRouterMulticastDomain.TransitRouterId,\nVpcId: example.ID(),\nZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: pulumi.String(zone),\nVswitchId: exampleSwitch.ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\nexampleTransitRouterMulticastDomainAssociation, err := cen.NewTransitRouterMulticastDomainAssociation(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\nTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomain.ID(),\nTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\nVswitchId: exampleSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cen.NewTransitRouterMulticastDomainMember(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainMemberArgs{\nVpcId: example.ID(),\nTransitRouterMulticastDomainId: exampleTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\nNetworkInterfaceId: exampleEcsNetworkInterface.ID(),\nGroupIpAddress: pulumi.String(\"239.1.1.1\"),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainMember;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var zone = default_.resources()[0].masterZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(zone)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(example.id())\n .build());\n\n var exampleEcsNetworkInterface = new EcsNetworkInterface(\"exampleEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(exampleSwitch.id())\n .primaryIpAddress(exampleSwitch.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .supportMulticast(true)\n .build());\n\n var exampleTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"exampleTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterMulticastDomain.transitRouterId())\n .vpcId(example.id())\n .zoneMappings(TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(zone)\n .vswitchId(exampleSwitch.id())\n .build())\n .build());\n\n var exampleTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"exampleTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleTransitRouterMulticastDomainMember = new TransitRouterMulticastDomainMember(\"exampleTransitRouterMulticastDomainMember\", TransitRouterMulticastDomainMemberArgs.builder()\n .vpcId(example.id())\n .transitRouterMulticastDomainId(exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId())\n .networkInterfaceId(exampleEcsNetworkInterface.id())\n .groupIpAddress(\"239.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${zone}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${example.id}\n exampleEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: example\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${exampleSwitch.id}\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${exampleSwitch.cidrBlock}\n host: 100\n return: result\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n supportMulticast: true\n exampleTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterMulticastDomain.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${zone}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: example\n properties:\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${exampleSwitch.id}\n exampleTransitRouterMulticastDomainMember:\n type: alicloud:cen:TransitRouterMulticastDomainMember\n name: example\n properties:\n vpcId: ${example.id}\n transitRouterMulticastDomainId: ${exampleTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId}\n networkInterfaceId: ${exampleEcsNetworkInterface.id}\n groupIpAddress: 239.1.1.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n zone: ${default.resources[0].masterZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCen Transit Router Multicast Domain Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainMember:TransitRouterMulticastDomainMember example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cnetwork_interface_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -115522,7 +117387,7 @@ } }, "alicloud:cen/transitRouterMulticastDomainPeerMember:TransitRouterMulticastDomainPeerMember": { - "description": "Provides a Cen Transit Router Multicast Domain Peer Member resource.\n\nFor information about Cen Transit Router Multicast Domain Peer Member and how to use it, see [What is Transit Router Multicast Domain Peer Member](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-deregistertransitroutermulticastgroupmembers).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultBandwidthPackage = new alicloud.cen.BandwidthPackage(\"default\", {\n bandwidth: 5,\n cenBandwidthPackageName: name,\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst defaultBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"default\", {\n instanceId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n supportMulticast: true,\n});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n supportMulticast: true,\n});\nconst defaultTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"default\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n transitRouterId: defaultTransitRouter.transitRouterId,\n peerTransitRouterId: peer.transitRouterId,\n peerTransitRouterRegionId: \"cn-qingdao\",\n cenBandwidthPackageId: defaultBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\nconst defaultTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: defaultTransitRouterPeerAttachment.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst peerTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"peer\", {\n transitRouterId: defaultTransitRouterPeerAttachment.peerTransitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst defaultTransitRouterMulticastDomainPeerMember = new alicloud.cen.TransitRouterMulticastDomainPeerMember(\"default\", {\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.id,\n peerTransitRouterMulticastDomainId: peerTransitRouterMulticastDomain.id,\n groupIpAddress: \"224.1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_bandwidth_package = alicloud.cen.BandwidthPackage(\"default\",\n bandwidth=5,\n cen_bandwidth_package_name=name,\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\ndefault_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"default\",\n instance_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n support_multicast=True)\npeer = alicloud.cen.TransitRouter(\"peer\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n support_multicast=True)\ndefault_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"default\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n transit_router_id=default_transit_router.transit_router_id,\n peer_transit_router_id=peer.transit_router_id,\n peer_transit_router_region_id=\"cn-qingdao\",\n cen_bandwidth_package_id=default_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\ndefault_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=default_transit_router_peer_attachment.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\npeer_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"peer\",\n transit_router_id=default_transit_router_peer_attachment.peer_transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\ndefault_transit_router_multicast_domain_peer_member = alicloud.cen.TransitRouterMulticastDomainPeerMember(\"default\",\n transit_router_multicast_domain_id=default_transit_router_multicast_domain.id,\n peer_transit_router_multicast_domain_id=peer_transit_router_multicast_domain.id,\n group_ip_address=\"224.1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = name,\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n SupportMulticast = true,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"default\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n PeerTransitRouterId = peer.TransitRouterId,\n PeerTransitRouterRegionId = \"cn-qingdao\",\n CenBandwidthPackageId = defaultBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n var defaultTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = defaultTransitRouterPeerAttachment.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var peerTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"peer\", new()\n {\n TransitRouterId = defaultTransitRouterPeerAttachment.PeerTransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var defaultTransitRouterMulticastDomainPeerMember = new AliCloud.Cen.TransitRouterMulticastDomainPeerMember(\"default\", new()\n {\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomain.Id,\n PeerTransitRouterMulticastDomainId = peerTransitRouterMulticastDomain.Id,\n GroupIpAddress = \"224.1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"default\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(name),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"default\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterPeerAttachment, err := cen.NewTransitRouterPeerAttachment(ctx, \"default\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(\"cn-qingdao\"),\n\t\t\tCenBandwidthPackageId: defaultBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: defaultTransitRouterPeerAttachment.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"peer\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: defaultTransitRouterPeerAttachment.PeerTransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterMulticastDomainPeerMember(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainPeerMemberArgs{\n\t\t\tTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.ID(),\n\t\t\tPeerTransitRouterMulticastDomainId: peerTransitRouterMulticastDomain.ID(),\n\t\t\tGroupIpAddress: pulumi.String(\"224.1.0.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainPeerMember;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainPeerMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(name)\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .supportMulticast(true)\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"defaultTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .peerTransitRouterId(peer.transitRouterId())\n .peerTransitRouterRegionId(\"cn-qingdao\")\n .cenBandwidthPackageId(defaultBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n var defaultTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"defaultTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouterPeerAttachment.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var peerTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"peerTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouterPeerAttachment.peerTransitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var defaultTransitRouterMulticastDomainPeerMember = new TransitRouterMulticastDomainPeerMember(\"defaultTransitRouterMulticastDomainPeerMember\", TransitRouterMulticastDomainPeerMemberArgs.builder()\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomain.id())\n .peerTransitRouterMulticastDomainId(peerTransitRouterMulticastDomain.id())\n .groupIpAddress(\"224.1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: default\n properties:\n bandwidth: 5\n cenBandwidthPackageName: ${name}\n geographicRegionAId: China\n geographicRegionBId: China\n defaultBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: default\n properties:\n instanceId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n supportMulticast: true\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n supportMulticast: true\n defaultTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: default\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n peerTransitRouterId: ${peer.transitRouterId}\n peerTransitRouterRegionId: cn-qingdao\n cenBandwidthPackageId: ${defaultBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n defaultTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: default\n properties:\n transitRouterId: ${defaultTransitRouterPeerAttachment.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n peerTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: peer\n properties:\n transitRouterId: ${defaultTransitRouterPeerAttachment.peerTransitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n defaultTransitRouterMulticastDomainPeerMember:\n type: alicloud:cen:TransitRouterMulticastDomainPeerMember\n name: default\n properties:\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomain.id}\n peerTransitRouterMulticastDomainId: ${peerTransitRouterMulticastDomain.id}\n groupIpAddress: 224.1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCen Transit Router Multicast Domain Peer Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainPeerMember:TransitRouterMulticastDomainPeerMember example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cpeer_transit_router_multicast_domain_id\u003e\n```\n\n", + "description": "Provides a Cen Transit Router Multicast Domain Peer Member resource.\n\nFor information about Cen Transit Router Multicast Domain Peer Member and how to use it, see [What is Transit Router Multicast Domain Peer Member](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-deregistertransitroutermulticastgroupmembers).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultBandwidthPackage = new alicloud.cen.BandwidthPackage(\"default\", {\n bandwidth: 5,\n cenBandwidthPackageName: name,\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst defaultBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"default\", {\n instanceId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n supportMulticast: true,\n});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n supportMulticast: true,\n});\nconst defaultTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"default\", {\n cenId: defaultBandwidthPackageAttachment.instanceId,\n transitRouterId: defaultTransitRouter.transitRouterId,\n peerTransitRouterId: peer.transitRouterId,\n peerTransitRouterRegionId: \"cn-qingdao\",\n cenBandwidthPackageId: defaultBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\nconst defaultTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: defaultTransitRouterPeerAttachment.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst peerTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"peer\", {\n transitRouterId: defaultTransitRouterPeerAttachment.peerTransitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst defaultTransitRouterMulticastDomainPeerMember = new alicloud.cen.TransitRouterMulticastDomainPeerMember(\"default\", {\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.id,\n peerTransitRouterMulticastDomainId: peerTransitRouterMulticastDomain.id,\n groupIpAddress: \"224.1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_bandwidth_package = alicloud.cen.BandwidthPackage(\"default\",\n bandwidth=5,\n cen_bandwidth_package_name=name,\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\ndefault_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"default\",\n instance_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n support_multicast=True)\npeer = alicloud.cen.TransitRouter(\"peer\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n support_multicast=True)\ndefault_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"default\",\n cen_id=default_bandwidth_package_attachment.instance_id,\n transit_router_id=default_transit_router.transit_router_id,\n peer_transit_router_id=peer.transit_router_id,\n peer_transit_router_region_id=\"cn-qingdao\",\n cen_bandwidth_package_id=default_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\ndefault_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=default_transit_router_peer_attachment.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\npeer_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"peer\",\n transit_router_id=default_transit_router_peer_attachment.peer_transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\ndefault_transit_router_multicast_domain_peer_member = alicloud.cen.TransitRouterMulticastDomainPeerMember(\"default\",\n transit_router_multicast_domain_id=default_transit_router_multicast_domain.id,\n peer_transit_router_multicast_domain_id=peer_transit_router_multicast_domain.id,\n group_ip_address=\"224.1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = name,\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n SupportMulticast = true,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"default\", new()\n {\n CenId = defaultBandwidthPackageAttachment.InstanceId,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n PeerTransitRouterId = peer.TransitRouterId,\n PeerTransitRouterRegionId = \"cn-qingdao\",\n CenBandwidthPackageId = defaultBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n var defaultTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = defaultTransitRouterPeerAttachment.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var peerTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"peer\", new()\n {\n TransitRouterId = defaultTransitRouterPeerAttachment.PeerTransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var defaultTransitRouterMulticastDomainPeerMember = new AliCloud.Cen.TransitRouterMulticastDomainPeerMember(\"default\", new()\n {\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomain.Id,\n PeerTransitRouterMulticastDomainId = peerTransitRouterMulticastDomain.Id,\n GroupIpAddress = \"224.1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"default\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(name),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"default\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tSupportMulticast: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterPeerAttachment, err := cen.NewTransitRouterPeerAttachment(ctx, \"default\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: defaultBandwidthPackageAttachment.InstanceId,\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(\"cn-qingdao\"),\n\t\t\tCenBandwidthPackageId: defaultBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: defaultTransitRouterPeerAttachment.TransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeerTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"peer\", \u0026cen.TransitRouterMulticastDomainArgs{\n\t\t\tTransitRouterId: defaultTransitRouterPeerAttachment.PeerTransitRouterId,\n\t\t\tTransitRouterMulticastDomainName: pulumi.String(name),\n\t\t\tTransitRouterMulticastDomainDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterMulticastDomainPeerMember(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainPeerMemberArgs{\n\t\t\tTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.ID(),\n\t\t\tPeerTransitRouterMulticastDomainId: peerTransitRouterMulticastDomain.ID(),\n\t\t\tGroupIpAddress: pulumi.String(\"224.1.0.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainPeerMember;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainPeerMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(name)\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .supportMulticast(true)\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"defaultTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(defaultBandwidthPackageAttachment.instanceId())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .peerTransitRouterId(peer.transitRouterId())\n .peerTransitRouterRegionId(\"cn-qingdao\")\n .cenBandwidthPackageId(defaultBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n var defaultTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"defaultTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouterPeerAttachment.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var peerTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"peerTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouterPeerAttachment.peerTransitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var defaultTransitRouterMulticastDomainPeerMember = new TransitRouterMulticastDomainPeerMember(\"defaultTransitRouterMulticastDomainPeerMember\", TransitRouterMulticastDomainPeerMemberArgs.builder()\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomain.id())\n .peerTransitRouterMulticastDomainId(peerTransitRouterMulticastDomain.id())\n .groupIpAddress(\"224.1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: default\n properties:\n bandwidth: 5\n cenBandwidthPackageName: ${name}\n geographicRegionAId: China\n geographicRegionBId: China\n defaultBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: default\n properties:\n instanceId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n supportMulticast: true\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n supportMulticast: true\n defaultTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: default\n properties:\n cenId: ${defaultBandwidthPackageAttachment.instanceId}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n peerTransitRouterId: ${peer.transitRouterId}\n peerTransitRouterRegionId: cn-qingdao\n cenBandwidthPackageId: ${defaultBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n defaultTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: default\n properties:\n transitRouterId: ${defaultTransitRouterPeerAttachment.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n peerTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: peer\n properties:\n transitRouterId: ${defaultTransitRouterPeerAttachment.peerTransitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n defaultTransitRouterMulticastDomainPeerMember:\n type: alicloud:cen:TransitRouterMulticastDomainPeerMember\n name: default\n properties:\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomain.id}\n peerTransitRouterMulticastDomainId: ${peerTransitRouterMulticastDomain.id}\n groupIpAddress: 224.1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCen Transit Router Multicast Domain Peer Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainPeerMember:TransitRouterMulticastDomainPeerMember example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cpeer_transit_router_multicast_domain_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -115608,7 +117473,7 @@ } }, "alicloud:cen/transitRouterMulticastDomainSource:TransitRouterMulticastDomainSource": { - "description": "Provides a Cen Transit Router Multicast Domain Source resource.\n\nFor information about Cen Transit Router Multicast Domain Source and how to use it, see [What is Transit Router Multicast Domain Source](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-registertransitroutermulticastgroupsources).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMaster = new alicloud.vpc.Switch(\"default_master\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.1.0/24\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultSlave = new alicloud.vpc.Switch(\"default_slave\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.2.0/24\",\n zoneId: \"cn-hangzhou-j\",\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultInstance.id,\n supportMulticast: true,\n});\nconst defaultTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"default\", {\n cenId: defaultInstance.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n vpcId: defaultNetwork.id,\n zoneMappings: [\n {\n zoneId: defaultMaster.zoneId,\n vswitchId: defaultMaster.id,\n },\n {\n zoneId: defaultSlave.zoneId,\n vswitchId: defaultSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultMaster.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic test\",\n primaryIpAddress: defaultMaster.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Created: \"TF\",\n For: \"Test\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst defaultTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"default\", {\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: defaultTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: defaultMaster.id,\n});\nconst example = new alicloud.cen.TransitRouterMulticastDomainSource(\"example\", {\n vpcId: defaultNetwork.id,\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId,\n networkInterfaceId: defaultEcsNetworkInterface.id,\n groupIpAddress: \"239.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_master = alicloud.vpc.Switch(\"default_master\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.1.0/24\",\n zone_id=\"cn-hangzhou-i\")\ndefault_slave = alicloud.vpc.Switch(\"default_slave\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.2.0/24\",\n zone_id=\"cn-hangzhou-j\")\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_instance.id,\n support_multicast=True)\ndefault_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"default\",\n cen_id=default_instance.id,\n transit_router_id=default_transit_router.transit_router_id,\n vpc_id=default_network.id,\n zone_mappings=[\n {\n \"zone_id\": default_master.zone_id,\n \"vswitch_id\": default_master.id,\n },\n {\n \"zone_id\": default_slave.zone_id,\n \"vswitch_id\": default_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_master.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic test\",\n primary_ip_address=default_master.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n tags={\n \"Created\": \"TF\",\n \"For\": \"Test\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\ndefault_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"default\",\n transit_router_multicast_domain_id=default_transit_router_multicast_domain.id,\n transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=default_master.id)\nexample = alicloud.cen.TransitRouterMulticastDomainSource(\"example\",\n vpc_id=default_network.id,\n transit_router_multicast_domain_id=default_transit_router_multicast_domain_association.transit_router_multicast_domain_id,\n network_interface_id=default_ecs_network_interface.id,\n group_ip_address=\"239.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMaster = new AliCloud.Vpc.Switch(\"default_master\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.1.0/24\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultSlave = new AliCloud.Vpc.Switch(\"default_slave\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.2.0/24\",\n ZoneId = \"cn-hangzhou-j\",\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultInstance.Id,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n VpcId = defaultNetwork.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = defaultMaster.ZoneId,\n VswitchId = defaultMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = defaultSlave.ZoneId,\n VswitchId = defaultSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultMaster.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic test\",\n PrimaryIpAddress = defaultMaster.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Test\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var defaultTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"default\", new()\n {\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = defaultMaster.Id,\n });\n\n var example = new AliCloud.Cen.TransitRouterMulticastDomainSource(\"example\", new()\n {\n VpcId = defaultNetwork.Id,\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n GroupIpAddress = \"239.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultMaster, err := vpc.NewSwitch(ctx, \"default_master\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.1.0/24\"),\nZoneId: pulumi.String(\"cn-hangzhou-i\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSlave, err := vpc.NewSwitch(ctx, \"default_slave\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.2.0/24\"),\nZoneId: pulumi.String(\"cn-hangzhou-j\"),\n})\nif err != nil {\nreturn err\n}\ndefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\nCenInstanceName: pulumi.String(name),\nProtectionLevel: pulumi.String(\"REDUCED\"),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\nCenId: defaultInstance.ID(),\nSupportMulticast: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"default\", \u0026cen.TransitRouterVpcAttachmentArgs{\nCenId: defaultInstance.ID(),\nTransitRouterId: defaultTransitRouter.TransitRouterId,\nVpcId: defaultNetwork.ID(),\nZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: defaultMaster.ZoneId,\nVswitchId: defaultMaster.ID(),\n},\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: defaultSlave.ZoneId,\nVswitchId: defaultSlave.ID(),\n},\n},\nTransitRouterAttachmentName: pulumi.String(name),\nTransitRouterAttachmentDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\nStatus: pulumi.StringRef(\"OK\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\nTransitRouterId: defaultTransitRouter.TransitRouterId,\nTransitRouterMulticastDomainName: pulumi.String(name),\nTransitRouterMulticastDomainDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(name),\nVswitchId: defaultMaster.ID(),\nSecurityGroupIds: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nDescription: pulumi.String(\"Basic test\"),\nPrimaryIpAddress: pulumi.String(defaultMaster.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"Test\"),\n},\nResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouterMulticastDomainAssociation, err := cen.NewTransitRouterMulticastDomainAssociation(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\nTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.ID(),\nTransitRouterAttachmentId: defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\nVswitchId: defaultMaster.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cen.NewTransitRouterMulticastDomainSource(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainSourceArgs{\nVpcId: defaultNetwork.ID(),\nTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\nNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\nGroupIpAddress: pulumi.String(\"239.1.1.1\"),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainSource;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMaster = new Switch(\"defaultMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.1.0/24\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultSlave = new Switch(\"defaultSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.2.0/24\")\n .zoneId(\"cn-hangzhou-j\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultInstance.id())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"defaultTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .vpcId(defaultNetwork.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(defaultMaster.zoneId())\n .vswitchId(defaultMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(defaultSlave.zoneId())\n .vswitchId(defaultSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"defaultTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultMaster.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic test\")\n .primaryIpAddress(defaultMaster.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Test\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var defaultTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"defaultTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(defaultTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(defaultMaster.id())\n .build());\n\n var example = new TransitRouterMulticastDomainSource(\"example\", TransitRouterMulticastDomainSourceArgs.builder()\n .vpcId(defaultNetwork.id())\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId())\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .groupIpAddress(\"239.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMaster:\n type: alicloud:vpc:Switch\n name: default_master\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.1.0/24\n zoneId: cn-hangzhou-i\n defaultSlave:\n type: alicloud:vpc:Switch\n name: default_slave\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.2.0/24\n zoneId: cn-hangzhou-j\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultInstance.id}\n supportMulticast: true\n defaultTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n vpcId: ${defaultNetwork.id}\n zoneMappings:\n - zoneId: ${defaultMaster.zoneId}\n vswitchId: ${defaultMaster.id}\n - zoneId: ${defaultSlave.zoneId}\n vswitchId: ${defaultSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultMaster.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic test\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${defaultMaster.cidrBlock}\n host: 100\n return: result\n tags:\n Created: TF\n For: Test\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n defaultTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: default\n properties:\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${defaultTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${defaultMaster.id}\n example:\n type: alicloud:cen:TransitRouterMulticastDomainSource\n properties:\n vpcId: ${defaultNetwork.id}\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId}\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n groupIpAddress: 239.1.1.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCen Transit Router Multicast Domain Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainSource:TransitRouterMulticastDomainSource example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cnetwork_interface_id\u003e\n```\n\n", + "description": "Provides a Cen Transit Router Multicast Domain Source resource.\n\nFor information about Cen Transit Router Multicast Domain Source and how to use it, see [What is Transit Router Multicast Domain Source](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-registertransitroutermulticastgroupsources).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMaster = new alicloud.vpc.Switch(\"default_master\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.1.0/24\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultSlave = new alicloud.vpc.Switch(\"default_slave\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.2.0/24\",\n zoneId: \"cn-hangzhou-j\",\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultInstance.id,\n supportMulticast: true,\n});\nconst defaultTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"default\", {\n cenId: defaultInstance.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n vpcId: defaultNetwork.id,\n zoneMappings: [\n {\n zoneId: defaultMaster.zoneId,\n vswitchId: defaultMaster.id,\n },\n {\n zoneId: defaultSlave.zoneId,\n vswitchId: defaultSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultTransitRouterMulticastDomain = new alicloud.cen.TransitRouterMulticastDomain(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterMulticastDomainName: name,\n transitRouterMulticastDomainDescription: name,\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultMaster.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic test\",\n primaryIpAddress: defaultMaster.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Created: \"TF\",\n For: \"Test\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst defaultTransitRouterMulticastDomainAssociation = new alicloud.cen.TransitRouterMulticastDomainAssociation(\"default\", {\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.id,\n transitRouterAttachmentId: defaultTransitRouterVpcAttachment.transitRouterAttachmentId,\n vswitchId: defaultMaster.id,\n});\nconst example = new alicloud.cen.TransitRouterMulticastDomainSource(\"example\", {\n vpcId: defaultNetwork.id,\n transitRouterMulticastDomainId: defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId,\n networkInterfaceId: defaultEcsNetworkInterface.id,\n groupIpAddress: \"239.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_master = alicloud.vpc.Switch(\"default_master\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.1.0/24\",\n zone_id=\"cn-hangzhou-i\")\ndefault_slave = alicloud.vpc.Switch(\"default_slave\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.2.0/24\",\n zone_id=\"cn-hangzhou-j\")\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_instance.id,\n support_multicast=True)\ndefault_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"default\",\n cen_id=default_instance.id,\n transit_router_id=default_transit_router.transit_router_id,\n vpc_id=default_network.id,\n zone_mappings=[\n {\n \"zone_id\": default_master.zone_id,\n \"vswitch_id\": default_master.id,\n },\n {\n \"zone_id\": default_slave.zone_id,\n \"vswitch_id\": default_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_transit_router_multicast_domain = alicloud.cen.TransitRouterMulticastDomain(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_multicast_domain_name=name,\n transit_router_multicast_domain_description=name)\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_master.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic test\",\n primary_ip_address=default_master.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n tags={\n \"Created\": \"TF\",\n \"For\": \"Test\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\ndefault_transit_router_multicast_domain_association = alicloud.cen.TransitRouterMulticastDomainAssociation(\"default\",\n transit_router_multicast_domain_id=default_transit_router_multicast_domain.id,\n transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id,\n vswitch_id=default_master.id)\nexample = alicloud.cen.TransitRouterMulticastDomainSource(\"example\",\n vpc_id=default_network.id,\n transit_router_multicast_domain_id=default_transit_router_multicast_domain_association.transit_router_multicast_domain_id,\n network_interface_id=default_ecs_network_interface.id,\n group_ip_address=\"239.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMaster = new AliCloud.Vpc.Switch(\"default_master\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.1.0/24\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultSlave = new AliCloud.Vpc.Switch(\"default_slave\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.2.0/24\",\n ZoneId = \"cn-hangzhou-j\",\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultInstance.Id,\n SupportMulticast = true,\n });\n\n var defaultTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n VpcId = defaultNetwork.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = defaultMaster.ZoneId,\n VswitchId = defaultMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = defaultSlave.ZoneId,\n VswitchId = defaultSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultTransitRouterMulticastDomain = new AliCloud.Cen.TransitRouterMulticastDomain(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterMulticastDomainName = name,\n TransitRouterMulticastDomainDescription = name,\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultMaster.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic test\",\n PrimaryIpAddress = defaultMaster.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Test\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var defaultTransitRouterMulticastDomainAssociation = new AliCloud.Cen.TransitRouterMulticastDomainAssociation(\"default\", new()\n {\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomain.Id,\n TransitRouterAttachmentId = defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n VswitchId = defaultMaster.Id,\n });\n\n var example = new AliCloud.Cen.TransitRouterMulticastDomainSource(\"example\", new()\n {\n VpcId = defaultNetwork.Id,\n TransitRouterMulticastDomainId = defaultTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n GroupIpAddress = \"239.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultMaster, err := vpc.NewSwitch(ctx, \"default_master\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.1.0/24\"),\nZoneId: pulumi.String(\"cn-hangzhou-i\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSlave, err := vpc.NewSwitch(ctx, \"default_slave\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.2.0/24\"),\nZoneId: pulumi.String(\"cn-hangzhou-j\"),\n})\nif err != nil {\nreturn err\n}\ndefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\nCenInstanceName: pulumi.String(name),\nProtectionLevel: pulumi.String(\"REDUCED\"),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\nCenId: defaultInstance.ID(),\nSupportMulticast: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"default\", \u0026cen.TransitRouterVpcAttachmentArgs{\nCenId: defaultInstance.ID(),\nTransitRouterId: defaultTransitRouter.TransitRouterId,\nVpcId: defaultNetwork.ID(),\nZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: defaultMaster.ZoneId,\nVswitchId: defaultMaster.ID(),\n},\n\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\nZoneId: defaultSlave.ZoneId,\nVswitchId: defaultSlave.ID(),\n},\n},\nTransitRouterAttachmentName: pulumi.String(name),\nTransitRouterAttachmentDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\nStatus: pulumi.StringRef(\"OK\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultTransitRouterMulticastDomain, err := cen.NewTransitRouterMulticastDomain(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainArgs{\nTransitRouterId: defaultTransitRouter.TransitRouterId,\nTransitRouterMulticastDomainName: pulumi.String(name),\nTransitRouterMulticastDomainDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(name),\nVswitchId: defaultMaster.ID(),\nSecurityGroupIds: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nDescription: pulumi.String(\"Basic test\"),\nPrimaryIpAddress: pulumi.String(defaultMaster.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"Test\"),\n},\nResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n})\nif err != nil {\nreturn err\n}\ndefaultTransitRouterMulticastDomainAssociation, err := cen.NewTransitRouterMulticastDomainAssociation(ctx, \"default\", \u0026cen.TransitRouterMulticastDomainAssociationArgs{\nTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomain.ID(),\nTransitRouterAttachmentId: defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\nVswitchId: defaultMaster.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cen.NewTransitRouterMulticastDomainSource(ctx, \"example\", \u0026cen.TransitRouterMulticastDomainSourceArgs{\nVpcId: defaultNetwork.ID(),\nTransitRouterMulticastDomainId: defaultTransitRouterMulticastDomainAssociation.TransitRouterMulticastDomainId,\nNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\nGroupIpAddress: pulumi.String(\"239.1.1.1\"),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomain;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainAssociationArgs;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainSource;\nimport com.pulumi.alicloud.cen.TransitRouterMulticastDomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMaster = new Switch(\"defaultMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.1.0/24\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultSlave = new Switch(\"defaultSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.2.0/24\")\n .zoneId(\"cn-hangzhou-j\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultInstance.id())\n .supportMulticast(true)\n .build());\n\n var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"defaultTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .vpcId(defaultNetwork.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(defaultMaster.zoneId())\n .vswitchId(defaultMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(defaultSlave.zoneId())\n .vswitchId(defaultSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultTransitRouterMulticastDomain = new TransitRouterMulticastDomain(\"defaultTransitRouterMulticastDomain\", TransitRouterMulticastDomainArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterMulticastDomainName(name)\n .transitRouterMulticastDomainDescription(name)\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultMaster.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic test\")\n .primaryIpAddress(defaultMaster.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Test\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var defaultTransitRouterMulticastDomainAssociation = new TransitRouterMulticastDomainAssociation(\"defaultTransitRouterMulticastDomainAssociation\", TransitRouterMulticastDomainAssociationArgs.builder()\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomain.id())\n .transitRouterAttachmentId(defaultTransitRouterVpcAttachment.transitRouterAttachmentId())\n .vswitchId(defaultMaster.id())\n .build());\n\n var example = new TransitRouterMulticastDomainSource(\"example\", TransitRouterMulticastDomainSourceArgs.builder()\n .vpcId(defaultNetwork.id())\n .transitRouterMulticastDomainId(defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId())\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .groupIpAddress(\"239.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMaster:\n type: alicloud:vpc:Switch\n name: default_master\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.1.0/24\n zoneId: cn-hangzhou-i\n defaultSlave:\n type: alicloud:vpc:Switch\n name: default_slave\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.2.0/24\n zoneId: cn-hangzhou-j\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultInstance.id}\n supportMulticast: true\n defaultTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n vpcId: ${defaultNetwork.id}\n zoneMappings:\n - zoneId: ${defaultMaster.zoneId}\n vswitchId: ${defaultMaster.id}\n - zoneId: ${defaultSlave.zoneId}\n vswitchId: ${defaultSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultTransitRouterMulticastDomain:\n type: alicloud:cen:TransitRouterMulticastDomain\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterMulticastDomainName: ${name}\n transitRouterMulticastDomainDescription: ${name}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultMaster.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic test\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${defaultMaster.cidrBlock}\n host: 100\n return: result\n tags:\n Created: TF\n For: Test\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n defaultTransitRouterMulticastDomainAssociation:\n type: alicloud:cen:TransitRouterMulticastDomainAssociation\n name: default\n properties:\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomain.id}\n transitRouterAttachmentId: ${defaultTransitRouterVpcAttachment.transitRouterAttachmentId}\n vswitchId: ${defaultMaster.id}\n example:\n type: alicloud:cen:TransitRouterMulticastDomainSource\n properties:\n vpcId: ${defaultNetwork.id}\n transitRouterMulticastDomainId: ${defaultTransitRouterMulticastDomainAssociation.transitRouterMulticastDomainId}\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n groupIpAddress: 239.1.1.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCen Transit Router Multicast Domain Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterMulticastDomainSource:TransitRouterMulticastDomainSource example \u003ctransit_router_multicast_domain_id\u003e:\u003cgroup_ip_address\u003e:\u003cnetwork_interface_id\u003e\n```\n\n", "properties": { "groupIpAddress": { "type": "string", @@ -115697,7 +117562,7 @@ } }, "alicloud:cen/transitRouterPeerAttachment:TransitRouterPeerAttachment": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Peer Attachment resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Peer Attachment and how to use it, see [What is Transit Router Peer Attachment](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouterPeerAttachment).\n\n\u003e **NOTE:** Available since v1.128.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst peerRegion = config.get(\"peerRegion\") || \"cn-beijing\";\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {cenId: exampleBandwidthPackageAttachment.instanceId});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {cenId: exampleTransitRouter.cenId});\nconst exampleTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"example\", {\n cenId: example.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n peerTransitRouterRegionId: peerRegion,\n peerTransitRouterId: peer.transitRouterId,\n cenBandwidthPackageId: exampleBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\npeer_region = config.get(\"peerRegion\")\nif peer_region is None:\n peer_region = \"cn-beijing\"\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\", cen_id=example_bandwidth_package_attachment.instance_id)\npeer = alicloud.cen.TransitRouter(\"peer\", cen_id=example_transit_router.cen_id)\nexample_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"example\",\n cen_id=example.id,\n transit_router_id=example_transit_router.transit_router_id,\n peer_transit_router_region_id=peer_region,\n peer_transit_router_id=peer.transit_router_id,\n cen_bandwidth_package_id=example_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var peerRegion = config.Get(\"peerRegion\") ?? \"cn-beijing\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = exampleBandwidthPackageAttachment.InstanceId,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = exampleTransitRouter.CenId,\n });\n\n var exampleTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n PeerTransitRouterRegionId = peerRegion,\n PeerTransitRouterId = peer.TransitRouterId,\n CenBandwidthPackageId = exampleBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tpeerRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"peerRegion\"); param != \"\" {\n\t\t\tpeerRegion = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: exampleBandwidthPackageAttachment.InstanceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterPeerAttachment(ctx, \"example\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(peerRegion),\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tCenBandwidthPackageId: exampleBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var peerRegion = config.get(\"peerRegion\").orElse(\"cn-beijing\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(exampleBandwidthPackageAttachment.instanceId())\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .build());\n\n var exampleTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"exampleTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(example.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .peerTransitRouterRegionId(peerRegion)\n .peerTransitRouterId(peer.transitRouterId())\n .cenBandwidthPackageId(exampleBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n region:\n type: string\n default: cn-hangzhou\n peerRegion:\n type: string\n default: cn-beijing\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${exampleBandwidthPackageAttachment.instanceId}\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${exampleTransitRouter.cenId}\n exampleTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: example\n properties:\n cenId: ${example.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n peerTransitRouterRegionId: ${peerRegion}\n peerTransitRouterId: ${peer.transitRouterId}\n cenBandwidthPackageId: ${exampleBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterPeerAttachment:TransitRouterPeerAttachment example \u003ccen_id\u003e:\u003ctransit_router_attachment_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Peer Attachment resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Peer Attachment and how to use it, see [What is Transit Router Peer Attachment](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouterPeerAttachment).\n\n\u003e **NOTE:** Available since v1.128.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst peerRegion = config.get(\"peerRegion\") || \"cn-beijing\";\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleBandwidthPackage = new alicloud.cen.BandwidthPackage(\"example\", {\n bandwidth: 5,\n cenBandwidthPackageName: \"tf_example\",\n geographicRegionAId: \"China\",\n geographicRegionBId: \"China\",\n});\nconst exampleBandwidthPackageAttachment = new alicloud.cen.BandwidthPackageAttachment(\"example\", {\n instanceId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {cenId: exampleBandwidthPackageAttachment.instanceId});\nconst peer = new alicloud.cen.TransitRouter(\"peer\", {cenId: exampleTransitRouter.cenId});\nconst exampleTransitRouterPeerAttachment = new alicloud.cen.TransitRouterPeerAttachment(\"example\", {\n cenId: example.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n peerTransitRouterRegionId: peerRegion,\n peerTransitRouterId: peer.transitRouterId,\n cenBandwidthPackageId: exampleBandwidthPackageAttachment.bandwidthPackageId,\n bandwidth: 5,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\npeer_region = config.get(\"peerRegion\")\nif peer_region is None:\n peer_region = \"cn-beijing\"\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_bandwidth_package = alicloud.cen.BandwidthPackage(\"example\",\n bandwidth=5,\n cen_bandwidth_package_name=\"tf_example\",\n geographic_region_a_id=\"China\",\n geographic_region_b_id=\"China\")\nexample_bandwidth_package_attachment = alicloud.cen.BandwidthPackageAttachment(\"example\",\n instance_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\", cen_id=example_bandwidth_package_attachment.instance_id)\npeer = alicloud.cen.TransitRouter(\"peer\", cen_id=example_transit_router.cen_id)\nexample_transit_router_peer_attachment = alicloud.cen.TransitRouterPeerAttachment(\"example\",\n cen_id=example.id,\n transit_router_id=example_transit_router.transit_router_id,\n peer_transit_router_region_id=peer_region,\n peer_transit_router_id=peer.transit_router_id,\n cen_bandwidth_package_id=example_bandwidth_package_attachment.bandwidth_package_id,\n bandwidth=5,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var peerRegion = config.Get(\"peerRegion\") ?? \"cn-beijing\";\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 5,\n CenBandwidthPackageName = \"tf_example\",\n GeographicRegionAId = \"China\",\n GeographicRegionBId = \"China\",\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment(\"example\", new()\n {\n InstanceId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = exampleBandwidthPackageAttachment.InstanceId,\n });\n\n var peer = new AliCloud.Cen.TransitRouter(\"peer\", new()\n {\n CenId = exampleTransitRouter.CenId,\n });\n\n var exampleTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n PeerTransitRouterRegionId = peerRegion,\n PeerTransitRouterId = peer.TransitRouterId,\n CenBandwidthPackageId = exampleBandwidthPackageAttachment.BandwidthPackageId,\n Bandwidth = 5,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tpeerRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"peerRegion\"); param != \"\" {\n\t\t\tpeerRegion = param\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := cen.NewBandwidthPackage(ctx, \"example\", \u0026cen.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tCenBandwidthPackageName: pulumi.String(\"tf_example\"),\n\t\t\tGeographicRegionAId: pulumi.String(\"China\"),\n\t\t\tGeographicRegionBId: pulumi.String(\"China\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := cen.NewBandwidthPackageAttachment(ctx, \"example\", \u0026cen.BandwidthPackageAttachmentArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: exampleBandwidthPackageAttachment.InstanceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpeer, err := cen.NewTransitRouter(ctx, \"peer\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterPeerAttachment(ctx, \"example\", \u0026cen.TransitRouterPeerAttachmentArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tPeerTransitRouterRegionId: pulumi.String(peerRegion),\n\t\t\tPeerTransitRouterId: peer.TransitRouterId,\n\t\t\tCenBandwidthPackageId: exampleBandwidthPackageAttachment.BandwidthPackageId,\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackage;\nimport com.pulumi.alicloud.cen.BandwidthPackageArgs;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.cen.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterPeerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var peerRegion = config.get(\"peerRegion\").orElse(\"cn-beijing\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(5)\n .cenBandwidthPackageName(\"tf_example\")\n .geographicRegionAId(\"China\")\n .geographicRegionBId(\"China\")\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .instanceId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(exampleBandwidthPackageAttachment.instanceId())\n .build());\n\n var peer = new TransitRouter(\"peer\", TransitRouterArgs.builder()\n .cenId(exampleTransitRouter.cenId())\n .build());\n\n var exampleTransitRouterPeerAttachment = new TransitRouterPeerAttachment(\"exampleTransitRouterPeerAttachment\", TransitRouterPeerAttachmentArgs.builder()\n .cenId(example.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .peerTransitRouterRegionId(peerRegion)\n .peerTransitRouterId(peer.transitRouterId())\n .cenBandwidthPackageId(exampleBandwidthPackageAttachment.bandwidthPackageId())\n .bandwidth(5)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n region:\n type: string\n default: cn-hangzhou\n peerRegion:\n type: string\n default: cn-beijing\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleBandwidthPackage:\n type: alicloud:cen:BandwidthPackage\n name: example\n properties:\n bandwidth: 5\n cenBandwidthPackageName: tf_example\n geographicRegionAId: China\n geographicRegionBId: China\n exampleBandwidthPackageAttachment:\n type: alicloud:cen:BandwidthPackageAttachment\n name: example\n properties:\n instanceId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${exampleBandwidthPackageAttachment.instanceId}\n peer:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${exampleTransitRouter.cenId}\n exampleTransitRouterPeerAttachment:\n type: alicloud:cen:TransitRouterPeerAttachment\n name: example\n properties:\n cenId: ${example.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n peerTransitRouterRegionId: ${peerRegion}\n peerTransitRouterId: ${peer.transitRouterId}\n cenBandwidthPackageId: ${exampleBandwidthPackageAttachment.bandwidthPackageId}\n bandwidth: 5\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterPeerAttachment:TransitRouterPeerAttachment example \u003ccen_id\u003e:\u003ctransit_router_attachment_id\u003e\n```\n\n", "properties": { "autoPublishRouteEnabled": { "type": "boolean", @@ -115988,7 +117853,7 @@ } }, "alicloud:cen/transitRouterPrefixListAssociation:TransitRouterPrefixListAssociation": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Prefix List Association resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Prefix List Association and how to use it, see [What is Transit Router Prefix List Association](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/createtransitrouterprefixlistassociation).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.vpc.PrefixList(\"example\", {entrys: [{\n cidr: \"192.168.0.0/16\",\n}]});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouterPrefixListAssociation = new alicloud.cen.TransitRouterPrefixListAssociation(\"example\", {\n prefixListId: example.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n nextHop: \"BlackHole\",\n nextHopType: \"BlackHole\",\n ownerUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.vpc.PrefixList(\"example\", entrys=[{\n \"cidr\": \"192.168.0.0/16\",\n}])\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example_instance.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_router_prefix_list_association = alicloud.cen.TransitRouterPrefixListAssociation(\"example\",\n prefix_list_id=example.id,\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_table_id=example_transit_router_route_table.transit_router_route_table_id,\n next_hop=\"BlackHole\",\n next_hop_type=\"BlackHole\",\n owner_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Vpc.PrefixList(\"example\", new()\n {\n Entrys = new[]\n {\n new AliCloud.Vpc.Inputs.PrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/16\",\n },\n },\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouterPrefixListAssociation = new AliCloud.Cen.TransitRouterPrefixListAssociation(\"example\", new()\n {\n PrefixListId = example.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n NextHop = \"BlackHole\",\n NextHopType = \"BlackHole\",\n OwnerUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewPrefixList(ctx, \"example\", \u0026vpc.PrefixListArgs{\n\t\t\tEntrys: vpc.PrefixListEntryArray{\n\t\t\t\t\u0026vpc.PrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\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\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterPrefixListAssociation(ctx, \"example\", \u0026cen.TransitRouterPrefixListAssociationArgs{\n\t\t\tPrefixListId: example.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tNextHop: pulumi.String(\"BlackHole\"),\n\t\t\tNextHopType: pulumi.String(\"BlackHole\"),\n\t\t\tOwnerUid: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.PrefixList;\nimport com.pulumi.alicloud.vpc.PrefixListArgs;\nimport com.pulumi.alicloud.vpc.inputs.PrefixListEntryArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPrefixListAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterPrefixListAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new PrefixList(\"example\", PrefixListArgs.builder()\n .entrys(PrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/16\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouterPrefixListAssociation = new TransitRouterPrefixListAssociation(\"exampleTransitRouterPrefixListAssociation\", TransitRouterPrefixListAssociationArgs.builder()\n .prefixListId(example.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .nextHop(\"BlackHole\")\n .nextHopType(\"BlackHole\")\n .ownerUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:PrefixList\n properties:\n entrys:\n - cidr: 192.168.0.0/16\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${exampleInstance.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouterPrefixListAssociation:\n type: alicloud:cen:TransitRouterPrefixListAssociation\n name: example\n properties:\n prefixListId: ${example.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n nextHop: BlackHole\n nextHopType: BlackHole\n ownerUid: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterPrefixListAssociation:TransitRouterPrefixListAssociation default \u003cprefix_list_id\u003e:\u003ctransit_router_id\u003e:\u003ctransit_router_table_id\u003e:\u003cnext_hop\u003e.\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Prefix List Association resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Prefix List Association and how to use it, see [What is Transit Router Prefix List Association](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/createtransitrouterprefixlistassociation).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.vpc.PrefixList(\"example\", {entrys: [{\n cidr: \"192.168.0.0/16\",\n}]});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouterPrefixListAssociation = new alicloud.cen.TransitRouterPrefixListAssociation(\"example\", {\n prefixListId: example.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n transitRouterTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n nextHop: \"BlackHole\",\n nextHopType: \"BlackHole\",\n ownerUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.vpc.PrefixList(\"example\", entrys=[{\n \"cidr\": \"192.168.0.0/16\",\n}])\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example_instance.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_router_prefix_list_association = alicloud.cen.TransitRouterPrefixListAssociation(\"example\",\n prefix_list_id=example.id,\n transit_router_id=example_transit_router.transit_router_id,\n transit_router_table_id=example_transit_router_route_table.transit_router_route_table_id,\n next_hop=\"BlackHole\",\n next_hop_type=\"BlackHole\",\n owner_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Vpc.PrefixList(\"example\", new()\n {\n Entrys = new[]\n {\n new AliCloud.Vpc.Inputs.PrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/16\",\n },\n },\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouterPrefixListAssociation = new AliCloud.Cen.TransitRouterPrefixListAssociation(\"example\", new()\n {\n PrefixListId = example.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n TransitRouterTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n NextHop = \"BlackHole\",\n NextHopType = \"BlackHole\",\n OwnerUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewPrefixList(ctx, \"example\", \u0026vpc.PrefixListArgs{\n\t\t\tEntrys: vpc.PrefixListEntryArray{\n\t\t\t\t\u0026vpc.PrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\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\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterPrefixListAssociation(ctx, \"example\", \u0026cen.TransitRouterPrefixListAssociationArgs{\n\t\t\tPrefixListId: example.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tTransitRouterTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tNextHop: pulumi.String(\"BlackHole\"),\n\t\t\tNextHopType: pulumi.String(\"BlackHole\"),\n\t\t\tOwnerUid: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.PrefixList;\nimport com.pulumi.alicloud.vpc.PrefixListArgs;\nimport com.pulumi.alicloud.vpc.inputs.PrefixListEntryArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterPrefixListAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterPrefixListAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new PrefixList(\"example\", PrefixListArgs.builder()\n .entrys(PrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/16\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouterPrefixListAssociation = new TransitRouterPrefixListAssociation(\"exampleTransitRouterPrefixListAssociation\", TransitRouterPrefixListAssociationArgs.builder()\n .prefixListId(example.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .transitRouterTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .nextHop(\"BlackHole\")\n .nextHopType(\"BlackHole\")\n .ownerUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:PrefixList\n properties:\n entrys:\n - cidr: 192.168.0.0/16\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${exampleInstance.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouterPrefixListAssociation:\n type: alicloud:cen:TransitRouterPrefixListAssociation\n name: example\n properties:\n prefixListId: ${example.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n transitRouterTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n nextHop: BlackHole\n nextHopType: BlackHole\n ownerUid: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterPrefixListAssociation:TransitRouterPrefixListAssociation default \u003cprefix_list_id\u003e:\u003ctransit_router_id\u003e:\u003ctransit_router_table_id\u003e:\u003cnext_hop\u003e.\n```\n\n", "properties": { "nextHop": { "type": "string", @@ -116108,7 +117973,7 @@ } }, "alicloud:cen/transitRouterRouteEntry:TransitRouterRouteEntry": { - "description": "Provides a CEN transit router route entry resource.[What is Cen Transit Router Route Entry](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-createtransitrouterrouteentry)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleTransitRouterVbrAttachment = new alicloud.cen.TransitRouterVbrAttachment(\"example\", {\n vbrId: exampleVirtualBorderRouter.id,\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n autoPublishRouteEnabled: true,\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleTransitRouterRouteEntry = new alicloud.cen.TransitRouterRouteEntry(\"example\", {\n transitRouterRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterRouteEntryDestinationCidrBlock: \"192.168.0.0/24\",\n transitRouterRouteEntryNextHopType: \"Attachment\",\n transitRouterRouteEntryName: name,\n transitRouterRouteEntryDescription: name,\n transitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_transit_router_vbr_attachment = alicloud.cen.TransitRouterVbrAttachment(\"example\",\n vbr_id=example_virtual_border_router.id,\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n auto_publish_route_enabled=True,\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_transit_router_route_entry = alicloud.cen.TransitRouterRouteEntry(\"example\",\n transit_router_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_router_route_entry_destination_cidr_block=\"192.168.0.0/24\",\n transit_router_route_entry_next_hop_type=\"Attachment\",\n transit_router_route_entry_name=name,\n transit_router_route_entry_description=name,\n transit_router_route_entry_next_hop_id=example_transit_router_vbr_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleTransitRouterVbrAttachment = new AliCloud.Cen.TransitRouterVbrAttachment(\"example\", new()\n {\n VbrId = exampleVirtualBorderRouter.Id,\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n AutoPublishRouteEnabled = true,\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleTransitRouterRouteEntry = new AliCloud.Cen.TransitRouterRouteEntry(\"example\", new()\n {\n TransitRouterRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterRouteEntryDestinationCidrBlock = \"192.168.0.0/24\",\n TransitRouterRouteEntryNextHopType = \"Attachment\",\n TransitRouterRouteEntryName = name,\n TransitRouterRouteEntryDescription = name,\n TransitRouterRouteEntryNextHopId = exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVbrAttachment, err := cen.NewTransitRouterVbrAttachment(ctx, \"example\", \u0026cen.TransitRouterVbrAttachmentArgs{\n\t\t\tVbrId: exampleVirtualBorderRouter.ID(),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(true),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteEntry(ctx, \"example\", \u0026cen.TransitRouterRouteEntryArgs{\n\t\t\tTransitRouterRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterRouteEntryDestinationCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tTransitRouterRouteEntryNextHopType: pulumi.String(\"Attachment\"),\n\t\t\tTransitRouterRouteEntryName: pulumi.String(name),\n\t\t\tTransitRouterRouteEntryDescription: pulumi.String(name),\n\t\t\tTransitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteEntry;\nimport com.pulumi.alicloud.cen.TransitRouterRouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleTransitRouterVbrAttachment = new TransitRouterVbrAttachment(\"exampleTransitRouterVbrAttachment\", TransitRouterVbrAttachmentArgs.builder()\n .vbrId(exampleVirtualBorderRouter.id())\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .autoPublishRouteEnabled(true)\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleTransitRouterRouteEntry = new TransitRouterRouteEntry(\"exampleTransitRouterRouteEntry\", TransitRouterRouteEntryArgs.builder()\n .transitRouterRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterRouteEntryDestinationCidrBlock(\"192.168.0.0/24\")\n .transitRouterRouteEntryNextHopType(\"Attachment\")\n .transitRouterRouteEntryName(name)\n .transitRouterRouteEntryDescription(name)\n .transitRouterRouteEntryNextHopId(exampleTransitRouterVbrAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleTransitRouterVbrAttachment:\n type: alicloud:cen:TransitRouterVbrAttachment\n name: example\n properties:\n vbrId: ${exampleVirtualBorderRouter.id}\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n autoPublishRouteEnabled: true\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleTransitRouterRouteEntry:\n type: alicloud:cen:TransitRouterRouteEntry\n name: example\n properties:\n transitRouterRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterRouteEntryDestinationCidrBlock: 192.168.0.0/24\n transitRouterRouteEntryNextHopType: Attachment\n transitRouterRouteEntryName: ${name}\n transitRouterRouteEntryDescription: ${name}\n transitRouterRouteEntryNextHopId: ${exampleTransitRouterVbrAttachment.transitRouterAttachmentId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteEntry:TransitRouterRouteEntry default vtb-*********:rte-*******\n```\n\n", + "description": "Provides a CEN transit router route entry resource.[What is Cen Transit Router Route Entry](https://www.alibabacloud.com/help/en/cloud-enterprise-network/latest/api-cbn-2017-09-12-createtransitrouterrouteentry)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleTransitRouterVbrAttachment = new alicloud.cen.TransitRouterVbrAttachment(\"example\", {\n vbrId: exampleVirtualBorderRouter.id,\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n autoPublishRouteEnabled: true,\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleTransitRouterRouteEntry = new alicloud.cen.TransitRouterRouteEntry(\"example\", {\n transitRouterRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterRouteEntryDestinationCidrBlock: \"192.168.0.0/24\",\n transitRouterRouteEntryNextHopType: \"Attachment\",\n transitRouterRouteEntryName: name,\n transitRouterRouteEntryDescription: name,\n transitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_transit_router_vbr_attachment = alicloud.cen.TransitRouterVbrAttachment(\"example\",\n vbr_id=example_virtual_border_router.id,\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n auto_publish_route_enabled=True,\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_transit_router_route_entry = alicloud.cen.TransitRouterRouteEntry(\"example\",\n transit_router_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_router_route_entry_destination_cidr_block=\"192.168.0.0/24\",\n transit_router_route_entry_next_hop_type=\"Attachment\",\n transit_router_route_entry_name=name,\n transit_router_route_entry_description=name,\n transit_router_route_entry_next_hop_id=example_transit_router_vbr_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleTransitRouterVbrAttachment = new AliCloud.Cen.TransitRouterVbrAttachment(\"example\", new()\n {\n VbrId = exampleVirtualBorderRouter.Id,\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n AutoPublishRouteEnabled = true,\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleTransitRouterRouteEntry = new AliCloud.Cen.TransitRouterRouteEntry(\"example\", new()\n {\n TransitRouterRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterRouteEntryDestinationCidrBlock = \"192.168.0.0/24\",\n TransitRouterRouteEntryNextHopType = \"Attachment\",\n TransitRouterRouteEntryName = name,\n TransitRouterRouteEntryDescription = name,\n TransitRouterRouteEntryNextHopId = exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVbrAttachment, err := cen.NewTransitRouterVbrAttachment(ctx, \"example\", \u0026cen.TransitRouterVbrAttachmentArgs{\n\t\t\tVbrId: exampleVirtualBorderRouter.ID(),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(true),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteEntry(ctx, \"example\", \u0026cen.TransitRouterRouteEntryArgs{\n\t\t\tTransitRouterRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterRouteEntryDestinationCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tTransitRouterRouteEntryNextHopType: pulumi.String(\"Attachment\"),\n\t\t\tTransitRouterRouteEntryName: pulumi.String(name),\n\t\t\tTransitRouterRouteEntryDescription: pulumi.String(name),\n\t\t\tTransitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachmentArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteEntry;\nimport com.pulumi.alicloud.cen.TransitRouterRouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleTransitRouterVbrAttachment = new TransitRouterVbrAttachment(\"exampleTransitRouterVbrAttachment\", TransitRouterVbrAttachmentArgs.builder()\n .vbrId(exampleVirtualBorderRouter.id())\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .autoPublishRouteEnabled(true)\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleTransitRouterRouteEntry = new TransitRouterRouteEntry(\"exampleTransitRouterRouteEntry\", TransitRouterRouteEntryArgs.builder()\n .transitRouterRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterRouteEntryDestinationCidrBlock(\"192.168.0.0/24\")\n .transitRouterRouteEntryNextHopType(\"Attachment\")\n .transitRouterRouteEntryName(name)\n .transitRouterRouteEntryDescription(name)\n .transitRouterRouteEntryNextHopId(exampleTransitRouterVbrAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleTransitRouterVbrAttachment:\n type: alicloud:cen:TransitRouterVbrAttachment\n name: example\n properties:\n vbrId: ${exampleVirtualBorderRouter.id}\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n autoPublishRouteEnabled: true\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleTransitRouterRouteEntry:\n type: alicloud:cen:TransitRouterRouteEntry\n name: example\n properties:\n transitRouterRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterRouteEntryDestinationCidrBlock: 192.168.0.0/24\n transitRouterRouteEntryNextHopType: Attachment\n transitRouterRouteEntryName: ${name}\n transitRouterRouteEntryDescription: ${name}\n transitRouterRouteEntryNextHopId: ${exampleTransitRouterVbrAttachment.transitRouterAttachmentId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteEntry:TransitRouterRouteEntry default vtb-*********:rte-*******\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -116241,7 +118106,7 @@ } }, "alicloud:cen/transitRouterRouteTable:TransitRouterRouteTable": { - "description": "Provides a CEN transit router route table resource.[What is Cen Transit Router Route Table](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitrouterroutetable)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN transit router route table can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTable:TransitRouterRouteTable default tr-*********:vtb-********\n```\n\n", + "description": "Provides a CEN transit router route table resource.[What is Cen Transit Router Route Table](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitrouterroutetable)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: \"tf_example\",\n description: \"an example for cen\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: \"tf_example\",\n cenId: example.id,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cen.Instance(\"example\",\n cen_instance_name=\"tf_example\",\n description=\"an example for cen\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=\"tf_example\",\n cen_id=example.id)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = \"tf_example\",\n Description = \"an example for cen\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = \"tf_example\",\n CenId = example.Id,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tDescription: pulumi.String(\"an example for cen\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(\"tf_example\"),\n\t\t\tCenId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .cenInstanceName(\"tf_example\")\n .description(\"an example for cen\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(\"tf_example\")\n .cenId(example.id())\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: tf_example\n description: an example for cen\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: tf_example\n cenId: ${example.id}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN transit router route table can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTable:TransitRouterRouteTable default tr-*********:vtb-********\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -116359,7 +118224,7 @@ } }, "alicloud:cen/transitRouterRouteTableAssociation:TransitRouterRouteTableAssociation": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Route Table Association resource.\n\nThe routing association of the routing table of the forwarding router.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Route Table Association and how to use it, see [What is Transit Router Route Table Association](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-associatetransitrouterattachmentwithroutetable).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMaster = new alicloud.vpc.Switch(\"default_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: masterZone,\n});\nconst defaultSlave = new alicloud.vpc.Switch(\"default_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: slaveZone,\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n transitRouterName: name,\n cenId: defaultInstance.id,\n});\nconst defaultTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"default\", {transitRouterId: defaultTransitRouter.transitRouterId});\nconst defaultTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"default\", {\n cenId: defaultInstance.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n vpcId: defaultNetwork.id,\n transitRouterVpcAttachmentName: name,\n transitRouterAttachmentDescription: name,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: defaultMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: defaultSlave.id,\n },\n ],\n});\nconst defaultTransitRouterRouteTableAssociation = new alicloud.cen.TransitRouterRouteTableAssociation(\"default\", {\n transitRouterRouteTableId: defaultTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterAttachmentId: defaultTransitRouterVpcAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_master = alicloud.vpc.Switch(\"default_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=default_network.id,\n zone_id=master_zone)\ndefault_slave = alicloud.vpc.Switch(\"default_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=default_network.id,\n zone_id=slave_zone)\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n transit_router_name=name,\n cen_id=default_instance.id)\ndefault_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"default\", transit_router_id=default_transit_router.transit_router_id)\ndefault_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"default\",\n cen_id=default_instance.id,\n transit_router_id=default_transit_router.transit_router_id,\n vpc_id=default_network.id,\n transit_router_vpc_attachment_name=name,\n transit_router_attachment_description=name,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": default_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": default_slave.id,\n },\n ])\ndefault_transit_router_route_table_association = alicloud.cen.TransitRouterRouteTableAssociation(\"default\",\n transit_router_route_table_id=default_transit_router_route_table.transit_router_route_table_id,\n transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMaster = new AliCloud.Vpc.Switch(\"default_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = masterZone,\n });\n\n var defaultSlave = new AliCloud.Vpc.Switch(\"default_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = slaveZone,\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n TransitRouterName = name,\n CenId = defaultInstance.Id,\n });\n\n var defaultTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n });\n\n var defaultTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n VpcId = defaultNetwork.Id,\n TransitRouterVpcAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = defaultMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = defaultSlave.Id,\n },\n },\n });\n\n var defaultTransitRouterRouteTableAssociation = new AliCloud.Cen.TransitRouterRouteTableAssociation(\"default\", new()\n {\n TransitRouterRouteTableId = defaultTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterAttachmentId = defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMaster, err := vpc.NewSwitch(ctx, \"default_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSlave, err := vpc.NewSwitch(ctx, \"default_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"default\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"default\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTransitRouterVpcAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: defaultMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: defaultSlave.ID(),\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 = cen.NewTransitRouterRouteTableAssociation(ctx, \"default\", \u0026cen.TransitRouterRouteTableAssociationArgs{\n\t\t\tTransitRouterRouteTableId: defaultTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterAttachmentId: defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMaster = new Switch(\"defaultMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(masterZone)\n .build());\n\n var defaultSlave = new Switch(\"defaultSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(slaveZone)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(defaultInstance.id())\n .build());\n\n var defaultTransitRouterRouteTable = new TransitRouterRouteTable(\"defaultTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .build());\n\n var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"defaultTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .vpcId(defaultNetwork.id())\n .transitRouterVpcAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(defaultMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(defaultSlave.id())\n .build())\n .build());\n\n var defaultTransitRouterRouteTableAssociation = new TransitRouterRouteTableAssociation(\"defaultTransitRouterRouteTableAssociation\", TransitRouterRouteTableAssociationArgs.builder()\n .transitRouterRouteTableId(defaultTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterAttachmentId(defaultTransitRouterVpcAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMaster:\n type: alicloud:vpc:Switch\n name: default_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${masterZone}\n defaultSlave:\n type: alicloud:vpc:Switch\n name: default_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${slaveZone}\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n transitRouterName: ${name}\n cenId: ${defaultInstance.id}\n defaultTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n defaultTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n vpcId: ${defaultNetwork.id}\n transitRouterVpcAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${defaultMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${defaultSlave.id}\n defaultTransitRouterRouteTableAssociation:\n type: alicloud:cen:TransitRouterRouteTableAssociation\n name: default\n properties:\n transitRouterRouteTableId: ${defaultTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterAttachmentId: ${defaultTransitRouterVpcAttachment.transitRouterAttachmentId}\nvariables:\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTableAssociation:TransitRouterRouteTableAssociation example \u003ctransit_router_attachment_id\u003e:\u003ctransit_router_route_table_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Route Table Association resource.\n\nThe routing association of the routing table of the forwarding router.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Route Table Association and how to use it, see [What is Transit Router Route Table Association](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-associatetransitrouterattachmentwithroutetable).\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMaster = new alicloud.vpc.Switch(\"default_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: masterZone,\n});\nconst defaultSlave = new alicloud.vpc.Switch(\"default_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: slaveZone,\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n transitRouterName: name,\n cenId: defaultInstance.id,\n});\nconst defaultTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"default\", {transitRouterId: defaultTransitRouter.transitRouterId});\nconst defaultTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"default\", {\n cenId: defaultInstance.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n vpcId: defaultNetwork.id,\n transitRouterVpcAttachmentName: name,\n transitRouterAttachmentDescription: name,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: defaultMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: defaultSlave.id,\n },\n ],\n});\nconst defaultTransitRouterRouteTableAssociation = new alicloud.cen.TransitRouterRouteTableAssociation(\"default\", {\n transitRouterRouteTableId: defaultTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterAttachmentId: defaultTransitRouterVpcAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_master = alicloud.vpc.Switch(\"default_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=default_network.id,\n zone_id=master_zone)\ndefault_slave = alicloud.vpc.Switch(\"default_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=default_network.id,\n zone_id=slave_zone)\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n transit_router_name=name,\n cen_id=default_instance.id)\ndefault_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"default\", transit_router_id=default_transit_router.transit_router_id)\ndefault_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"default\",\n cen_id=default_instance.id,\n transit_router_id=default_transit_router.transit_router_id,\n vpc_id=default_network.id,\n transit_router_vpc_attachment_name=name,\n transit_router_attachment_description=name,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": default_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": default_slave.id,\n },\n ])\ndefault_transit_router_route_table_association = alicloud.cen.TransitRouterRouteTableAssociation(\"default\",\n transit_router_route_table_id=default_transit_router_route_table.transit_router_route_table_id,\n transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMaster = new AliCloud.Vpc.Switch(\"default_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = masterZone,\n });\n\n var defaultSlave = new AliCloud.Vpc.Switch(\"default_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = slaveZone,\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n TransitRouterName = name,\n CenId = defaultInstance.Id,\n });\n\n var defaultTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n });\n\n var defaultTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n VpcId = defaultNetwork.Id,\n TransitRouterVpcAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = defaultMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = defaultSlave.Id,\n },\n },\n });\n\n var defaultTransitRouterRouteTableAssociation = new AliCloud.Cen.TransitRouterRouteTableAssociation(\"default\", new()\n {\n TransitRouterRouteTableId = defaultTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterAttachmentId = defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMaster, err := vpc.NewSwitch(ctx, \"default_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSlave, err := vpc.NewSwitch(ctx, \"default_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"default\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"default\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTransitRouterVpcAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: defaultMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: defaultSlave.ID(),\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 = cen.NewTransitRouterRouteTableAssociation(ctx, \"default\", \u0026cen.TransitRouterRouteTableAssociationArgs{\n\t\t\tTransitRouterRouteTableId: defaultTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterAttachmentId: defaultTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableAssociation;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMaster = new Switch(\"defaultMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(masterZone)\n .build());\n\n var defaultSlave = new Switch(\"defaultSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(slaveZone)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(defaultInstance.id())\n .build());\n\n var defaultTransitRouterRouteTable = new TransitRouterRouteTable(\"defaultTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .build());\n\n var defaultTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"defaultTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .vpcId(defaultNetwork.id())\n .transitRouterVpcAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(defaultMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(defaultSlave.id())\n .build())\n .build());\n\n var defaultTransitRouterRouteTableAssociation = new TransitRouterRouteTableAssociation(\"defaultTransitRouterRouteTableAssociation\", TransitRouterRouteTableAssociationArgs.builder()\n .transitRouterRouteTableId(defaultTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterAttachmentId(defaultTransitRouterVpcAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMaster:\n type: alicloud:vpc:Switch\n name: default_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${masterZone}\n defaultSlave:\n type: alicloud:vpc:Switch\n name: default_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${slaveZone}\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n transitRouterName: ${name}\n cenId: ${defaultInstance.id}\n defaultTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n defaultTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n vpcId: ${defaultNetwork.id}\n transitRouterVpcAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${defaultMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${defaultSlave.id}\n defaultTransitRouterRouteTableAssociation:\n type: alicloud:cen:TransitRouterRouteTableAssociation\n name: default\n properties:\n transitRouterRouteTableId: ${defaultTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterAttachmentId: ${defaultTransitRouterVpcAttachment.transitRouterAttachmentId}\nvariables:\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTableAssociation:TransitRouterRouteTableAssociation example \u003ctransit_router_attachment_id\u003e:\u003ctransit_router_route_table_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -116429,7 +118294,7 @@ } }, "alicloud:cen/transitRouterRouteTablePropagation:TransitRouterRouteTablePropagation": { - "description": "Provides a CEN transit router route table propagation resource.[What is Cen Transit Router Route Table Propagation](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-enabletransitrouterroutetablepropagation)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouterRouteTablePropagation = new alicloud.cen.TransitRouterRouteTablePropagation(\"example\", {\n transitRouterRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_router_route_table_propagation = alicloud.cen.TransitRouterRouteTablePropagation(\"example\",\n transit_router_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouterRouteTablePropagation = new AliCloud.Cen.TransitRouterRouteTablePropagation(\"example\", new()\n {\n TransitRouterRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteTablePropagation(ctx, \"example\", \u0026cen.TransitRouterRouteTablePropagationArgs{\n\t\t\tTransitRouterRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTablePropagation;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTablePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouterRouteTablePropagation = new TransitRouterRouteTablePropagation(\"exampleTransitRouterRouteTablePropagation\", TransitRouterRouteTablePropagationArgs.builder()\n .transitRouterRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouterRouteTablePropagation:\n type: alicloud:cen:TransitRouterRouteTablePropagation\n name: example\n properties:\n transitRouterRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN transit router route table propagation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTablePropagation:TransitRouterRouteTablePropagation default tr-********:tr-attach-********\n```\n\n", + "description": "Provides a CEN transit router route table propagation resource.[What is Cen Transit Router Route Table Propagation](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-enabletransitrouterroutetablepropagation)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\nconst exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable(\"example\", {transitRouterId: exampleTransitRouter.transitRouterId});\nconst exampleTransitRouterRouteTablePropagation = new alicloud.cen.TransitRouterRouteTablePropagation(\"example\", {\n transitRouterRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,\n transitRouterAttachmentId: exampleTransitRouterVpcAttachment.transitRouterAttachmentId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\nexample_transit_router_route_table = alicloud.cen.TransitRouterRouteTable(\"example\", transit_router_id=example_transit_router.transit_router_id)\nexample_transit_router_route_table_propagation = alicloud.cen.TransitRouterRouteTablePropagation(\"example\",\n transit_router_route_table_id=example_transit_router_route_table.transit_router_route_table_id,\n transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n });\n\n var exampleTransitRouterRouteTablePropagation = new AliCloud.Cen.TransitRouterRouteTablePropagation(\"example\", new()\n {\n TransitRouterRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n TransitRouterAttachmentId = exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterVpcAttachment, err := cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, \"example\", \u0026cen.TransitRouterRouteTableArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterRouteTablePropagation(ctx, \"example\", \u0026cen.TransitRouterRouteTablePropagationArgs{\n\t\t\tTransitRouterRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,\n\t\t\tTransitRouterAttachmentId: exampleTransitRouterVpcAttachment.TransitRouterAttachmentId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTable;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTablePropagation;\nimport com.pulumi.alicloud.cen.TransitRouterRouteTablePropagationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n var exampleTransitRouterRouteTable = new TransitRouterRouteTable(\"exampleTransitRouterRouteTable\", TransitRouterRouteTableArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .build());\n\n var exampleTransitRouterRouteTablePropagation = new TransitRouterRouteTablePropagation(\"exampleTransitRouterRouteTablePropagation\", TransitRouterRouteTablePropagationArgs.builder()\n .transitRouterRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())\n .transitRouterAttachmentId(exampleTransitRouterVpcAttachment.transitRouterAttachmentId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\n exampleTransitRouterRouteTable:\n type: alicloud:cen:TransitRouterRouteTable\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n exampleTransitRouterRouteTablePropagation:\n type: alicloud:cen:TransitRouterRouteTablePropagation\n name: example\n properties:\n transitRouterRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}\n transitRouterAttachmentId: ${exampleTransitRouterVpcAttachment.transitRouterAttachmentId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN transit router route table propagation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterRouteTablePropagation:TransitRouterRouteTablePropagation default tr-********:tr-attach-********\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -116499,7 +118364,7 @@ } }, "alicloud:cen/transitRouterVbrAttachment:TransitRouterVbrAttachment": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router VBR Attachment resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router VBR Attachment and how to use it, see [What is Transit Router VBR Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervbrattachment)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {cenId: _default.id});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: 2420,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultTransitRouterVbrAttachment = new alicloud.cen.TransitRouterVbrAttachment(\"default\", {\n cenId: _default.id,\n vbrId: defaultVirtualBorderRouter.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\", cen_id=default.id)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=name_regex.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=2420,\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_transit_router_vbr_attachment = alicloud.cen.TransitRouterVbrAttachment(\"default\",\n cen_id=default.id,\n vbr_id=default_virtual_border_router.id,\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = @default.Id,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = 2420,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultTransitRouterVbrAttachment = new AliCloud.Cen.TransitRouterVbrAttachment(\"default\", new()\n {\n CenId = @default.Id,\n VbrId = defaultVirtualBorderRouter.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: pulumi.Int(2420),\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVbrAttachment(ctx, \"default\", \u0026cen.TransitRouterVbrAttachmentArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tVbrId: defaultVirtualBorderRouter.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(default_.id())\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(nameRegex.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(2420)\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultTransitRouterVbrAttachment = new TransitRouterVbrAttachment(\"defaultTransitRouterVbrAttachment\", TransitRouterVbrAttachmentArgs.builder()\n .cenId(default_.id())\n .vbrId(defaultVirtualBorderRouter.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${default.id}\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${nameRegex.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: 2420\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultTransitRouterVbrAttachment:\n type: alicloud:cen:TransitRouterVbrAttachment\n name: default\n properties:\n cenId: ${default.id}\n vbrId: ${defaultVirtualBorderRouter.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\nvariables:\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVbrAttachment:TransitRouterVbrAttachment example \u003ccen_id\u003e:\u003ctransit_router_attachment_id\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router VBR Attachment resource.\n\nFor information about Cloud Enterprise Network (CEN) Transit Router VBR Attachment and how to use it, see [What is Transit Router VBR Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervbrattachment)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {cenId: _default.id});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: 2420,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultTransitRouterVbrAttachment = new alicloud.cen.TransitRouterVbrAttachment(\"default\", {\n cenId: _default.id,\n vbrId: defaultVirtualBorderRouter.id,\n transitRouterId: defaultTransitRouter.transitRouterId,\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\", cen_id=default.id)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=name_regex.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=2420,\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_transit_router_vbr_attachment = alicloud.cen.TransitRouterVbrAttachment(\"default\",\n cen_id=default.id,\n vbr_id=default_virtual_border_router.id,\n transit_router_id=default_transit_router.transit_router_id,\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = @default.Id,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = 2420,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultTransitRouterVbrAttachment = new AliCloud.Cen.TransitRouterVbrAttachment(\"default\", new()\n {\n CenId = @default.Id,\n VbrId = defaultVirtualBorderRouter.Id,\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: _default.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: pulumi.Int(2420),\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVbrAttachment(ctx, \"default\", \u0026cen.TransitRouterVbrAttachmentArgs{\n\t\t\tCenId: _default.ID(),\n\t\t\tVbrId: defaultVirtualBorderRouter.ID(),\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVbrAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(default_.id())\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(nameRegex.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(2420)\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultTransitRouterVbrAttachment = new TransitRouterVbrAttachment(\"defaultTransitRouterVbrAttachment\", TransitRouterVbrAttachmentArgs.builder()\n .cenId(default_.id())\n .vbrId(defaultVirtualBorderRouter.id())\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${default.id}\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${nameRegex.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: 2420\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultTransitRouterVbrAttachment:\n type: alicloud:cen:TransitRouterVbrAttachment\n name: default\n properties:\n cenId: ${default.id}\n vbrId: ${defaultVirtualBorderRouter.id}\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\nvariables:\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVbrAttachment:TransitRouterVbrAttachment example \u003ccen_id\u003e:\u003ctransit_router_attachment_id\u003e\n```\n\n", "properties": { "autoPublishRouteEnabled": { "type": "boolean", @@ -116709,7 +118574,7 @@ } }, "alicloud:cen/transitRouterVpcAttachment:TransitRouterVpcAttachment": { - "description": "Provides a Cen Transit Router Vpc Attachment resource.\n\n\n\nFor information about Cen Transit Router Vpc Attachment and how to use it, see [What is Transit Router Vpc Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervpcattachment)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCen Transit Router Vpc Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVpcAttachment:TransitRouterVpcAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a Cen Transit Router Vpc Attachment resource.\n\n\n\nFor information about Cen Transit Router Vpc Attachment and how to use it, see [What is Transit Router Vpc Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervpcattachment)\n\n\u003e **NOTE:** Available since v1.126.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst masterZone = _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]);\nconst slaveZone = _default.then(_default =\u003e _default.resources?.[0]?.slaveZones?.[1]);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst exampleMaster = new alicloud.vpc.Switch(\"example_master\", {\n vswitchName: name,\n cidrBlock: \"192.168.1.0/24\",\n vpcId: example.id,\n zoneId: masterZone,\n});\nconst exampleSlave = new alicloud.vpc.Switch(\"example_slave\", {\n vswitchName: name,\n cidrBlock: \"192.168.2.0/24\",\n vpcId: example.id,\n zoneId: slaveZone,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n transitRouterName: name,\n cenId: exampleInstance.id,\n});\nconst exampleTransitRouterVpcAttachment = new alicloud.cen.TransitRouterVpcAttachment(\"example\", {\n cenId: exampleInstance.id,\n transitRouterId: exampleTransitRouter.transitRouterId,\n vpcId: example.id,\n zoneMappings: [\n {\n zoneId: masterZone,\n vswitchId: exampleMaster.id,\n },\n {\n zoneId: slaveZone,\n vswitchId: exampleSlave.id,\n },\n ],\n transitRouterAttachmentName: name,\n transitRouterAttachmentDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nmaster_zone = default.resources[0].master_zones[0]\nslave_zone = default.resources[0].slave_zones[1]\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\nexample_master = alicloud.vpc.Switch(\"example_master\",\n vswitch_name=name,\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example.id,\n zone_id=master_zone)\nexample_slave = alicloud.vpc.Switch(\"example_slave\",\n vswitch_name=name,\n cidr_block=\"192.168.2.0/24\",\n vpc_id=example.id,\n zone_id=slave_zone)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n transit_router_name=name,\n cen_id=example_instance.id)\nexample_transit_router_vpc_attachment = alicloud.cen.TransitRouterVpcAttachment(\"example\",\n cen_id=example_instance.id,\n transit_router_id=example_transit_router.transit_router_id,\n vpc_id=example.id,\n zone_mappings=[\n {\n \"zone_id\": master_zone,\n \"vswitch_id\": example_master.id,\n },\n {\n \"zone_id\": slave_zone,\n \"vswitch_id\": example_slave.id,\n },\n ],\n transit_router_attachment_name=name,\n transit_router_attachment_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var masterZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0]));\n\n var slaveZone = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.SlaveZones[1]));\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var exampleMaster = new AliCloud.Vpc.Switch(\"example_master\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.1.0/24\",\n VpcId = example.Id,\n ZoneId = masterZone,\n });\n\n var exampleSlave = new AliCloud.Vpc.Switch(\"example_slave\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.2.0/24\",\n VpcId = example.Id,\n ZoneId = slaveZone,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n TransitRouterName = name,\n CenId = exampleInstance.Id,\n });\n\n var exampleTransitRouterVpcAttachment = new AliCloud.Cen.TransitRouterVpcAttachment(\"example\", new()\n {\n CenId = exampleInstance.Id,\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n VpcId = example.Id,\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = masterZone,\n VswitchId = exampleMaster.Id,\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = slaveZone,\n VswitchId = exampleSlave.Id,\n },\n },\n TransitRouterAttachmentName = name,\n TransitRouterAttachmentDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmasterZone := _default.Resources[0].MasterZones[0]\n\t\tslaveZone := _default.Resources[0].SlaveZones[1]\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMaster, err := vpc.NewSwitch(ctx, \"example_master\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(masterZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSlave, err := vpc.NewSwitch(ctx, \"example_slave\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tCenId: exampleInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpcAttachment(ctx, \"example\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(masterZone),\n\t\t\t\t\tVswitchId: exampleMaster.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(slaveZone),\n\t\t\t\t\tVswitchId: exampleSlave.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var masterZone = default_.resources()[0].masterZones()[0];\n\n final var slaveZone = default_.resources()[0].slaveZones()[1];\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var exampleMaster = new Switch(\"exampleMaster\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(example.id())\n .zoneId(masterZone)\n .build());\n\n var exampleSlave = new Switch(\"exampleSlave\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vpcId(example.id())\n .zoneId(slaveZone)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .cenId(exampleInstance.id())\n .build());\n\n var exampleTransitRouterVpcAttachment = new TransitRouterVpcAttachment(\"exampleTransitRouterVpcAttachment\", TransitRouterVpcAttachmentArgs.builder()\n .cenId(exampleInstance.id())\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .vpcId(example.id())\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(masterZone)\n .vswitchId(exampleMaster.id())\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(slaveZone)\n .vswitchId(exampleSlave.id())\n .build())\n .transitRouterAttachmentName(name)\n .transitRouterAttachmentDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n exampleMaster:\n type: alicloud:vpc:Switch\n name: example_master\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.1.0/24\n vpcId: ${example.id}\n zoneId: ${masterZone}\n exampleSlave:\n type: alicloud:vpc:Switch\n name: example_slave\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.2.0/24\n vpcId: ${example.id}\n zoneId: ${slaveZone}\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n transitRouterName: ${name}\n cenId: ${exampleInstance.id}\n exampleTransitRouterVpcAttachment:\n type: alicloud:cen:TransitRouterVpcAttachment\n name: example\n properties:\n cenId: ${exampleInstance.id}\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n vpcId: ${example.id}\n zoneMappings:\n - zoneId: ${masterZone}\n vswitchId: ${exampleMaster.id}\n - zoneId: ${slaveZone}\n vswitchId: ${exampleSlave.id}\n transitRouterAttachmentName: ${name}\n transitRouterAttachmentDescription: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n masterZone: ${default.resources[0].masterZones[0]}\n slaveZone: ${default.resources[0].slaveZones[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCen Transit Router Vpc Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVpcAttachment:TransitRouterVpcAttachment example \u003cid\u003e\n```\n\n", "properties": { "autoPublishRouteEnabled": { "type": "boolean", @@ -117023,7 +118888,7 @@ } }, "alicloud:cen/transitRouterVpnAttachment:TransitRouterVpnAttachment": { - "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Vpn Attachment resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Vpn Attachment and how to use it, see [What is Transit Router Vpn Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervpnattachment).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst example = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n cenId: example.id,\n transitRouterDescription: name,\n transitRouterName: name,\n});\nconst exampleCustomerGateway = new alicloud.vpn.CustomerGateway(\"example\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst exampleGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-examplevpn2\",\n ikePfs: \"group1\",\n remoteId: \"examplebob2\",\n localId: \"examplealice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\nconst exampleTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: name,\n description: name,\n publishCidrRoute: true,\n});\nconst exampleTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"example\", {\n autoPublishRouteEnabled: false,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterCidr.transitRouterId,\n vpnId: exampleGatewayVpnAttachment.id,\n zones: [{\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nexample = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n cen_id=example.id,\n transit_router_description=name,\n transit_router_name=name)\nexample_customer_gateway = alicloud.vpn.CustomerGateway(\"example\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\nexample_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-examplevpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"examplebob2\",\n \"local_id\": \"examplealice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\nexample_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=name,\n description=name,\n publish_cidr_route=True)\nexample_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"example\",\n auto_publish_route_enabled=False,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name,\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_cidr.transit_router_id,\n vpn_id=example_gateway_vpn_attachment.id,\n zones=[{\n \"zone_id\": default.resources[0].master_zones[0],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterDescription = name,\n TransitRouterName = name,\n });\n\n var exampleCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"example\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var exampleGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-examplevpn2\",\n IkePfs = \"group1\",\n RemoteId = \"examplebob2\",\n LocalId = \"examplealice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n var exampleTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = name,\n Description = name,\n PublishCidrRoute = true,\n });\n\n var exampleTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"example\", new()\n {\n AutoPublishRouteEnabled = false,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterCidr.TransitRouterId,\n VpnId = exampleGatewayVpnAttachment.Id,\n Zones = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpnAttachmentZoneArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0])),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterDescription: pulumi.String(name),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"example\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, \"example\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-examplevpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"examplebob2\"),\n\t\t\t\tLocalId: pulumi.String(\"examplealice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterCidr, err := cen.NewTransitRouterCidr(ctx, \"example\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublishCidrRoute: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpnAttachment(ctx, \"example\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t\tTransitRouterId: exampleTransitRouterCidr.TransitRouterId,\n\t\t\tVpnId: exampleGatewayVpnAttachment.ID(),\n\t\t\tZones: cen.TransitRouterVpnAttachmentZoneArray{\n\t\t\t\t\u0026cen.TransitRouterVpnAttachmentZoneArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[0]),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpnAttachmentZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(example.id())\n .transitRouterDescription(name)\n .transitRouterName(name)\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var exampleGatewayVpnAttachment = new GatewayVpnAttachment(\"exampleGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-examplevpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"examplebob2\")\n .localId(\"examplealice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n var exampleTransitRouterCidr = new TransitRouterCidr(\"exampleTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(name)\n .description(name)\n .publishCidrRoute(true)\n .build());\n\n var exampleTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"exampleTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .autoPublishRouteEnabled(false)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterCidr.transitRouterId())\n .vpnId(exampleGatewayVpnAttachment.id())\n .zones(TransitRouterVpnAttachmentZoneArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[0])\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${example.id}\n transitRouterDescription: ${name}\n transitRouterName: ${name}\n exampleCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n name: example\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n exampleGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-examplevpn2\n ikePfs: group1\n remoteId: examplebob2\n localId: examplealice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n exampleTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: ${name}\n description: ${name}\n publishCidrRoute: true\n exampleTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: example\n properties:\n autoPublishRouteEnabled: false\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterCidr.transitRouterId}\n vpnId: ${exampleGatewayVpnAttachment.id}\n zones:\n - zoneId: ${default.resources[0].masterZones[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDual Tunnel Mode Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultbpR5Uk = new alicloud.cen.Instance(\"defaultbpR5Uk\", {cenInstanceName: \"example-vpn-attachment\"});\nconst defaultM8Zo6H = new alicloud.cen.TransitRouter(\"defaultM8Zo6H\", {cenId: defaultbpR5Uk.id});\nconst defaultuUtyCv = new alicloud.cen.TransitRouterCidr(\"defaultuUtyCv\", {\n cidr: \"192.168.10.0/24\",\n transitRouterId: defaultM8Zo6H.transitRouterId,\n});\nconst defaultMeoCIz = new alicloud.vpn.CustomerGateway(\"defaultMeoCIz\", {\n ipAddress: \"0.0.0.0\",\n customerGatewayName: \"example-vpn-attachment\",\n}, {\n dependsOn: [defaultuUtyCv],\n});\nconst defaultGetTransitRouterService = alicloud.cen.getTransitRouterService({\n enable: \"On\",\n});\nconst defaultvrPzdh = new alicloud.vpn.GatewayVpnAttachment(\"defaultvrPzdh\", {\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n enableTunnelsBgp: false,\n vpnAttachmentName: name,\n tunnelOptionsSpecifications: [\n {\n customerGatewayId: defaultMeoCIz.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 1,\n tunnelIkeConfig: {\n remoteId: \"2.2.2.2\",\n ikeEncAlg: \"aes\",\n ikeMode: \"main\",\n ikeVersion: \"ikev1\",\n localId: \"1.1.1.1\",\n ikeAuthAlg: \"md5\",\n ikeLifetime: 86100,\n ikePfs: \"group2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86200,\n ipsecPfs: \"group5\",\n },\n },\n {\n enableNatTraversal: true,\n tunnelIndex: 2,\n tunnelIkeConfig: {\n localId: \"4.4.4.4\",\n remoteId: \"5.5.5.5\",\n ikeLifetime: 86400,\n ikePfs: \"group5\",\n ikeMode: \"main\",\n ikeVersion: \"ikev2\",\n psk: \"32333442\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n },\n tunnelIpsecConfig: {\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86400,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"sha256\",\n },\n customerGatewayId: defaultMeoCIz.id,\n enableDpd: true,\n },\n ],\n remoteSubnet: \"0.0.0.0/0\",\n});\nconst defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"default\", {\n transitRouterId: defaultM8Zo6H.transitRouterId,\n vpnId: defaultvrPzdh.id,\n autoPublishRouteEnabled: false,\n chargeType: \"POSTPAY\",\n transitRouterAttachmentName: \"example-vpn-attachment\",\n vpnOwnerId: _default.then(_default =\u003e _default.id),\n cenId: defaultM8Zo6H.cenId,\n transitRouterAttachmentDescription: \"example-vpn-attachment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefaultbp_r5_uk = alicloud.cen.Instance(\"defaultbpR5Uk\", cen_instance_name=\"example-vpn-attachment\")\ndefault_m8_zo6_h = alicloud.cen.TransitRouter(\"defaultM8Zo6H\", cen_id=defaultbp_r5_uk.id)\ndefaultu_uty_cv = alicloud.cen.TransitRouterCidr(\"defaultuUtyCv\",\n cidr=\"192.168.10.0/24\",\n transit_router_id=default_m8_zo6_h.transit_router_id)\ndefault_meo_c_iz = alicloud.vpn.CustomerGateway(\"defaultMeoCIz\",\n ip_address=\"0.0.0.0\",\n customer_gateway_name=\"example-vpn-attachment\",\n opts = pulumi.ResourceOptions(depends_on=[defaultu_uty_cv]))\ndefault_get_transit_router_service = alicloud.cen.get_transit_router_service(enable=\"On\")\ndefaultvr_pzdh = alicloud.vpn.GatewayVpnAttachment(\"defaultvrPzdh\",\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n enable_tunnels_bgp=False,\n vpn_attachment_name=name,\n tunnel_options_specifications=[\n {\n \"customer_gateway_id\": default_meo_c_iz.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 1,\n \"tunnel_ike_config\": {\n \"remote_id\": \"2.2.2.2\",\n \"ike_enc_alg\": \"aes\",\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev1\",\n \"local_id\": \"1.1.1.1\",\n \"ike_auth_alg\": \"md5\",\n \"ike_lifetime\": 86100,\n \"ike_pfs\": \"group2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86200,\n \"ipsec_pfs\": \"group5\",\n },\n },\n {\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 2,\n \"tunnel_ike_config\": {\n \"local_id\": \"4.4.4.4\",\n \"remote_id\": \"5.5.5.5\",\n \"ike_lifetime\": 86400,\n \"ike_pfs\": \"group5\",\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev2\",\n \"psk\": \"32333442\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86400,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"sha256\",\n },\n \"customer_gateway_id\": default_meo_c_iz.id,\n \"enable_dpd\": True,\n },\n ],\n remote_subnet=\"0.0.0.0/0\")\ndefault_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"default\",\n transit_router_id=default_m8_zo6_h.transit_router_id,\n vpn_id=defaultvr_pzdh.id,\n auto_publish_route_enabled=False,\n charge_type=\"POSTPAY\",\n transit_router_attachment_name=\"example-vpn-attachment\",\n vpn_owner_id=default.id,\n cen_id=default_m8_zo6_h.cen_id,\n transit_router_attachment_description=\"example-vpn-attachment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultbpR5Uk = new AliCloud.Cen.Instance(\"defaultbpR5Uk\", new()\n {\n CenInstanceName = \"example-vpn-attachment\",\n });\n\n var defaultM8Zo6H = new AliCloud.Cen.TransitRouter(\"defaultM8Zo6H\", new()\n {\n CenId = defaultbpR5Uk.Id,\n });\n\n var defaultuUtyCv = new AliCloud.Cen.TransitRouterCidr(\"defaultuUtyCv\", new()\n {\n Cidr = \"192.168.10.0/24\",\n TransitRouterId = defaultM8Zo6H.TransitRouterId,\n });\n\n var defaultMeoCIz = new AliCloud.Vpn.CustomerGateway(\"defaultMeoCIz\", new()\n {\n IpAddress = \"0.0.0.0\",\n CustomerGatewayName = \"example-vpn-attachment\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultuUtyCv,\n },\n });\n\n var defaultGetTransitRouterService = AliCloud.Cen.GetTransitRouterService.Invoke(new()\n {\n Enable = \"On\",\n });\n\n var defaultvrPzdh = new AliCloud.Vpn.GatewayVpnAttachment(\"defaultvrPzdh\", new()\n {\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n EnableTunnelsBgp = false,\n VpnAttachmentName = name,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n CustomerGatewayId = defaultMeoCIz.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 1,\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"2.2.2.2\",\n IkeEncAlg = \"aes\",\n IkeMode = \"main\",\n IkeVersion = \"ikev1\",\n LocalId = \"1.1.1.1\",\n IkeAuthAlg = \"md5\",\n IkeLifetime = 86100,\n IkePfs = \"group2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86200,\n IpsecPfs = \"group5\",\n },\n },\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n EnableNatTraversal = true,\n TunnelIndex = 2,\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n LocalId = \"4.4.4.4\",\n RemoteId = \"5.5.5.5\",\n IkeLifetime = 86400,\n IkePfs = \"group5\",\n IkeMode = \"main\",\n IkeVersion = \"ikev2\",\n Psk = \"32333442\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86400,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"sha256\",\n },\n CustomerGatewayId = defaultMeoCIz.Id,\n EnableDpd = true,\n },\n },\n RemoteSubnet = \"0.0.0.0/0\",\n });\n\n var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"default\", new()\n {\n TransitRouterId = defaultM8Zo6H.TransitRouterId,\n VpnId = defaultvrPzdh.Id,\n AutoPublishRouteEnabled = false,\n ChargeType = \"POSTPAY\",\n TransitRouterAttachmentName = \"example-vpn-attachment\",\n VpnOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n CenId = defaultM8Zo6H.CenId,\n TransitRouterAttachmentDescription = \"example-vpn-attachment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultbpR5Uk, err := cen.NewInstance(ctx, \"defaultbpR5Uk\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"example-vpn-attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultM8Zo6H, err := cen.NewTransitRouter(ctx, \"defaultM8Zo6H\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultbpR5Uk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuUtyCv, err := cen.NewTransitRouterCidr(ctx, \"defaultuUtyCv\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tCidr: pulumi.String(\"192.168.10.0/24\"),\n\t\t\tTransitRouterId: defaultM8Zo6H.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMeoCIz, err := vpn.NewCustomerGateway(ctx, \"defaultMeoCIz\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"0.0.0.0\"),\n\t\t\tCustomerGatewayName: pulumi.String(\"example-vpn-attachment\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultuUtyCv,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.GetTransitRouterService(ctx, \u0026cen.GetTransitRouterServiceArgs{\n\t\t\tEnable: pulumi.StringRef(\"On\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvrPzdh, err := vpn.NewGatewayVpnAttachment(ctx, \"defaultvrPzdh\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEnableTunnelsBgp: pulumi.Bool(false),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t\tTunnelOptionsSpecifications: vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tCustomerGatewayId: defaultMeoCIz.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(1),\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev1\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86100),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86200),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(2),\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tLocalId: pulumi.String(\"4.4.4.4\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"5.5.5.5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"32333442\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"sha256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultMeoCIz.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpnAttachment(ctx, \"default\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tTransitRouterId: defaultM8Zo6H.TransitRouterId,\n\t\t\tVpnId: defaultvrPzdh.ID(),\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tChargeType: pulumi.String(\"POSTPAY\"),\n\t\t\tTransitRouterAttachmentName: pulumi.String(\"example-vpn-attachment\"),\n\t\t\tVpnOwnerId: pulumi.String(_default.Id),\n\t\t\tCenId: defaultM8Zo6H.CenId,\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(\"example-vpn-attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterServiceArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultbpR5Uk = new Instance(\"defaultbpR5Uk\", InstanceArgs.builder()\n .cenInstanceName(\"example-vpn-attachment\")\n .build());\n\n var defaultM8Zo6H = new TransitRouter(\"defaultM8Zo6H\", TransitRouterArgs.builder()\n .cenId(defaultbpR5Uk.id())\n .build());\n\n var defaultuUtyCv = new TransitRouterCidr(\"defaultuUtyCv\", TransitRouterCidrArgs.builder()\n .cidr(\"192.168.10.0/24\")\n .transitRouterId(defaultM8Zo6H.transitRouterId())\n .build());\n\n var defaultMeoCIz = new CustomerGateway(\"defaultMeoCIz\", CustomerGatewayArgs.builder()\n .ipAddress(\"0.0.0.0\")\n .customerGatewayName(\"example-vpn-attachment\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultuUtyCv)\n .build());\n\n final var defaultGetTransitRouterService = CenFunctions.getTransitRouterService(GetTransitRouterServiceArgs.builder()\n .enable(\"On\")\n .build());\n\n var defaultvrPzdh = new GatewayVpnAttachment(\"defaultvrPzdh\", GatewayVpnAttachmentArgs.builder()\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .enableTunnelsBgp(false)\n .vpnAttachmentName(name)\n .tunnelOptionsSpecifications( \n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .customerGatewayId(defaultMeoCIz.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(1)\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"2.2.2.2\")\n .ikeEncAlg(\"aes\")\n .ikeMode(\"main\")\n .ikeVersion(\"ikev1\")\n .localId(\"1.1.1.1\")\n .ikeAuthAlg(\"md5\")\n .ikeLifetime(86100)\n .ikePfs(\"group2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86200)\n .ipsecPfs(\"group5\")\n .build())\n .build(),\n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .enableNatTraversal(true)\n .tunnelIndex(2)\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .localId(\"4.4.4.4\")\n .remoteId(\"5.5.5.5\")\n .ikeLifetime(86400)\n .ikePfs(\"group5\")\n .ikeMode(\"main\")\n .ikeVersion(\"ikev2\")\n .psk(\"32333442\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .build())\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86400)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"sha256\")\n .build())\n .customerGatewayId(defaultMeoCIz.id())\n .enableDpd(true)\n .build())\n .remoteSubnet(\"0.0.0.0/0\")\n .build());\n\n var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"defaultTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .transitRouterId(defaultM8Zo6H.transitRouterId())\n .vpnId(defaultvrPzdh.id())\n .autoPublishRouteEnabled(false)\n .chargeType(\"POSTPAY\")\n .transitRouterAttachmentName(\"example-vpn-attachment\")\n .vpnOwnerId(default_.id())\n .cenId(defaultM8Zo6H.cenId())\n .transitRouterAttachmentDescription(\"example-vpn-attachment\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultbpR5Uk:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: example-vpn-attachment\n defaultM8Zo6H:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultbpR5Uk.id}\n defaultuUtyCv:\n type: alicloud:cen:TransitRouterCidr\n properties:\n cidr: 192.168.10.0/24\n transitRouterId: ${defaultM8Zo6H.transitRouterId}\n defaultMeoCIz:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 0.0.0.0\n customerGatewayName: example-vpn-attachment\n options:\n dependsOn:\n - ${defaultuUtyCv}\n defaultvrPzdh:\n type: alicloud:vpn:GatewayVpnAttachment\n properties:\n networkType: public\n localSubnet: 0.0.0.0/0\n enableTunnelsBgp: 'false'\n vpnAttachmentName: ${name}\n tunnelOptionsSpecifications:\n - customerGatewayId: ${defaultMeoCIz.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '1'\n tunnelIkeConfig:\n remoteId: 2.2.2.2\n ikeEncAlg: aes\n ikeMode: main\n ikeVersion: ikev1\n localId: 1.1.1.1\n ikeAuthAlg: md5\n ikeLifetime: '86100'\n ikePfs: group2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes\n ipsecLifetime: '86200'\n ipsecPfs: group5\n - enableNatTraversal: 'true'\n tunnelIndex: '2'\n tunnelIkeConfig:\n localId: 4.4.4.4\n remoteId: 5.5.5.5\n ikeLifetime: '86400'\n ikePfs: group5\n ikeMode: main\n ikeVersion: ikev2\n psk: '32333442'\n ikeAuthAlg: md5\n ikeEncAlg: aes\n tunnelIpsecConfig:\n ipsecEncAlg: aes\n ipsecLifetime: '86400'\n ipsecPfs: group5\n ipsecAuthAlg: sha256\n customerGatewayId: ${defaultMeoCIz.id}\n enableDpd: 'true'\n remoteSubnet: 0.0.0.0/0\n defaultTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: default\n properties:\n transitRouterId: ${defaultM8Zo6H.transitRouterId}\n vpnId: ${defaultvrPzdh.id}\n autoPublishRouteEnabled: 'false'\n chargeType: POSTPAY\n transitRouterAttachmentName: example-vpn-attachment\n vpnOwnerId: ${default.id}\n cenId: ${defaultM8Zo6H.cenId}\n transitRouterAttachmentDescription: example-vpn-attachment\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetTransitRouterService:\n fn::invoke:\n function: alicloud:cen:getTransitRouterService\n arguments:\n enable: On\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVpnAttachment:TransitRouterVpnAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Enterprise Network (CEN) Transit Router Vpn Attachment resource.\n\n\n\nFor information about Cloud Enterprise Network (CEN) Transit Router Vpn Attachment and how to use it, see [What is Transit Router Vpn Attachment](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-createtransitroutervpnattachment).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst example = new alicloud.cen.Instance(\"example\", {cenInstanceName: name});\nconst exampleTransitRouter = new alicloud.cen.TransitRouter(\"example\", {\n cenId: example.id,\n transitRouterDescription: name,\n transitRouterName: name,\n});\nconst exampleCustomerGateway = new alicloud.vpn.CustomerGateway(\"example\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst exampleGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"example\", {\n customerGatewayId: exampleCustomerGateway.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-examplevpn2\",\n ikePfs: \"group1\",\n remoteId: \"examplebob2\",\n localId: \"examplealice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\nconst exampleTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"example\", {\n transitRouterId: exampleTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: name,\n description: name,\n publishCidrRoute: true,\n});\nconst exampleTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"example\", {\n autoPublishRouteEnabled: false,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n cenId: exampleTransitRouter.cenId,\n transitRouterId: exampleTransitRouterCidr.transitRouterId,\n vpnId: exampleGatewayVpnAttachment.id,\n zones: [{\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]),\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.cen.get_transit_router_available_resources()\nexample = alicloud.cen.Instance(\"example\", cen_instance_name=name)\nexample_transit_router = alicloud.cen.TransitRouter(\"example\",\n cen_id=example.id,\n transit_router_description=name,\n transit_router_name=name)\nexample_customer_gateway = alicloud.vpn.CustomerGateway(\"example\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\nexample_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"example\",\n customer_gateway_id=example_customer_gateway.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-examplevpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"examplebob2\",\n \"local_id\": \"examplealice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\nexample_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"example\",\n transit_router_id=example_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=name,\n description=name,\n publish_cidr_route=True)\nexample_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"example\",\n auto_publish_route_enabled=False,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name,\n cen_id=example_transit_router.cen_id,\n transit_router_id=example_transit_router_cidr.transit_router_id,\n vpn_id=example_gateway_vpn_attachment.id,\n zones=[{\n \"zone_id\": default.resources[0].master_zones[0],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var example = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n });\n\n var exampleTransitRouter = new AliCloud.Cen.TransitRouter(\"example\", new()\n {\n CenId = example.Id,\n TransitRouterDescription = name,\n TransitRouterName = name,\n });\n\n var exampleCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"example\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var exampleGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"example\", new()\n {\n CustomerGatewayId = exampleCustomerGateway.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-examplevpn2\",\n IkePfs = \"group1\",\n RemoteId = \"examplebob2\",\n LocalId = \"examplealice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n var exampleTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"example\", new()\n {\n TransitRouterId = exampleTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = name,\n Description = name,\n PublishCidrRoute = true,\n });\n\n var exampleTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"example\", new()\n {\n AutoPublishRouteEnabled = false,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n CenId = exampleTransitRouter.CenId,\n TransitRouterId = exampleTransitRouterCidr.TransitRouterId,\n VpnId = exampleGatewayVpnAttachment.Id,\n Zones = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpnAttachmentZoneArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0])),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouter, err := cen.NewTransitRouter(ctx, \"example\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: example.ID(),\n\t\t\tTransitRouterDescription: pulumi.String(name),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"example\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, \"example\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: exampleCustomerGateway.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-examplevpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"examplebob2\"),\n\t\t\t\tLocalId: pulumi.String(\"examplealice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTransitRouterCidr, err := cen.NewTransitRouterCidr(ctx, \"example\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: exampleTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublishCidrRoute: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpnAttachment(ctx, \"example\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tCenId: exampleTransitRouter.CenId,\n\t\t\tTransitRouterId: exampleTransitRouterCidr.TransitRouterId,\n\t\t\tVpnId: exampleGatewayVpnAttachment.ID(),\n\t\t\tZones: cen.TransitRouterVpnAttachmentZoneArray{\n\t\t\t\t\u0026cen.TransitRouterVpnAttachmentZoneArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[0]),\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.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpnAttachmentZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var exampleTransitRouter = new TransitRouter(\"exampleTransitRouter\", TransitRouterArgs.builder()\n .cenId(example.id())\n .transitRouterDescription(name)\n .transitRouterName(name)\n .build());\n\n var exampleCustomerGateway = new CustomerGateway(\"exampleCustomerGateway\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var exampleGatewayVpnAttachment = new GatewayVpnAttachment(\"exampleGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(exampleCustomerGateway.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-examplevpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"examplebob2\")\n .localId(\"examplealice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n var exampleTransitRouterCidr = new TransitRouterCidr(\"exampleTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(exampleTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(name)\n .description(name)\n .publishCidrRoute(true)\n .build());\n\n var exampleTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"exampleTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .autoPublishRouteEnabled(false)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .cenId(exampleTransitRouter.cenId())\n .transitRouterId(exampleTransitRouterCidr.transitRouterId())\n .vpnId(exampleGatewayVpnAttachment.id())\n .zones(TransitRouterVpnAttachmentZoneArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[0])\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n exampleTransitRouter:\n type: alicloud:cen:TransitRouter\n name: example\n properties:\n cenId: ${example.id}\n transitRouterDescription: ${name}\n transitRouterName: ${name}\n exampleCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n name: example\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n exampleGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: example\n properties:\n customerGatewayId: ${exampleCustomerGateway.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-examplevpn2\n ikePfs: group1\n remoteId: examplebob2\n localId: examplealice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n exampleTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: example\n properties:\n transitRouterId: ${exampleTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: ${name}\n description: ${name}\n publishCidrRoute: true\n exampleTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: example\n properties:\n autoPublishRouteEnabled: false\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n cenId: ${exampleTransitRouter.cenId}\n transitRouterId: ${exampleTransitRouterCidr.transitRouterId}\n vpnId: ${exampleGatewayVpnAttachment.id}\n zones:\n - zoneId: ${default.resources[0].masterZones[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDual Tunnel Mode Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultbpR5Uk = new alicloud.cen.Instance(\"defaultbpR5Uk\", {cenInstanceName: \"example-vpn-attachment\"});\nconst defaultM8Zo6H = new alicloud.cen.TransitRouter(\"defaultM8Zo6H\", {cenId: defaultbpR5Uk.id});\nconst defaultuUtyCv = new alicloud.cen.TransitRouterCidr(\"defaultuUtyCv\", {\n cidr: \"192.168.10.0/24\",\n transitRouterId: defaultM8Zo6H.transitRouterId,\n});\nconst defaultMeoCIz = new alicloud.vpn.CustomerGateway(\"defaultMeoCIz\", {\n ipAddress: \"0.0.0.0\",\n customerGatewayName: \"example-vpn-attachment\",\n}, {\n dependsOn: [defaultuUtyCv],\n});\nconst defaultGetTransitRouterService = alicloud.cen.getTransitRouterService({\n enable: \"On\",\n});\nconst defaultvrPzdh = new alicloud.vpn.GatewayVpnAttachment(\"defaultvrPzdh\", {\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n enableTunnelsBgp: false,\n vpnAttachmentName: name,\n tunnelOptionsSpecifications: [\n {\n customerGatewayId: defaultMeoCIz.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 1,\n tunnelIkeConfig: {\n remoteId: \"2.2.2.2\",\n ikeEncAlg: \"aes\",\n ikeMode: \"main\",\n ikeVersion: \"ikev1\",\n localId: \"1.1.1.1\",\n ikeAuthAlg: \"md5\",\n ikeLifetime: 86100,\n ikePfs: \"group2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86200,\n ipsecPfs: \"group5\",\n },\n },\n {\n enableNatTraversal: true,\n tunnelIndex: 2,\n tunnelIkeConfig: {\n localId: \"4.4.4.4\",\n remoteId: \"5.5.5.5\",\n ikeLifetime: 86400,\n ikePfs: \"group5\",\n ikeMode: \"main\",\n ikeVersion: \"ikev2\",\n psk: \"32333442\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n },\n tunnelIpsecConfig: {\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86400,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"sha256\",\n },\n customerGatewayId: defaultMeoCIz.id,\n enableDpd: true,\n },\n ],\n remoteSubnet: \"0.0.0.0/0\",\n});\nconst defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"default\", {\n transitRouterId: defaultM8Zo6H.transitRouterId,\n vpnId: defaultvrPzdh.id,\n autoPublishRouteEnabled: false,\n chargeType: \"POSTPAY\",\n transitRouterAttachmentName: \"example-vpn-attachment\",\n vpnOwnerId: _default.then(_default =\u003e _default.id),\n cenId: defaultM8Zo6H.cenId,\n transitRouterAttachmentDescription: \"example-vpn-attachment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefaultbp_r5_uk = alicloud.cen.Instance(\"defaultbpR5Uk\", cen_instance_name=\"example-vpn-attachment\")\ndefault_m8_zo6_h = alicloud.cen.TransitRouter(\"defaultM8Zo6H\", cen_id=defaultbp_r5_uk.id)\ndefaultu_uty_cv = alicloud.cen.TransitRouterCidr(\"defaultuUtyCv\",\n cidr=\"192.168.10.0/24\",\n transit_router_id=default_m8_zo6_h.transit_router_id)\ndefault_meo_c_iz = alicloud.vpn.CustomerGateway(\"defaultMeoCIz\",\n ip_address=\"0.0.0.0\",\n customer_gateway_name=\"example-vpn-attachment\",\n opts = pulumi.ResourceOptions(depends_on=[defaultu_uty_cv]))\ndefault_get_transit_router_service = alicloud.cen.get_transit_router_service(enable=\"On\")\ndefaultvr_pzdh = alicloud.vpn.GatewayVpnAttachment(\"defaultvrPzdh\",\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n enable_tunnels_bgp=False,\n vpn_attachment_name=name,\n tunnel_options_specifications=[\n {\n \"customer_gateway_id\": default_meo_c_iz.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 1,\n \"tunnel_ike_config\": {\n \"remote_id\": \"2.2.2.2\",\n \"ike_enc_alg\": \"aes\",\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev1\",\n \"local_id\": \"1.1.1.1\",\n \"ike_auth_alg\": \"md5\",\n \"ike_lifetime\": 86100,\n \"ike_pfs\": \"group2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86200,\n \"ipsec_pfs\": \"group5\",\n },\n },\n {\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 2,\n \"tunnel_ike_config\": {\n \"local_id\": \"4.4.4.4\",\n \"remote_id\": \"5.5.5.5\",\n \"ike_lifetime\": 86400,\n \"ike_pfs\": \"group5\",\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev2\",\n \"psk\": \"32333442\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86400,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"sha256\",\n },\n \"customer_gateway_id\": default_meo_c_iz.id,\n \"enable_dpd\": True,\n },\n ],\n remote_subnet=\"0.0.0.0/0\")\ndefault_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"default\",\n transit_router_id=default_m8_zo6_h.transit_router_id,\n vpn_id=defaultvr_pzdh.id,\n auto_publish_route_enabled=False,\n charge_type=\"POSTPAY\",\n transit_router_attachment_name=\"example-vpn-attachment\",\n vpn_owner_id=default.id,\n cen_id=default_m8_zo6_h.cen_id,\n transit_router_attachment_description=\"example-vpn-attachment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultbpR5Uk = new AliCloud.Cen.Instance(\"defaultbpR5Uk\", new()\n {\n CenInstanceName = \"example-vpn-attachment\",\n });\n\n var defaultM8Zo6H = new AliCloud.Cen.TransitRouter(\"defaultM8Zo6H\", new()\n {\n CenId = defaultbpR5Uk.Id,\n });\n\n var defaultuUtyCv = new AliCloud.Cen.TransitRouterCidr(\"defaultuUtyCv\", new()\n {\n Cidr = \"192.168.10.0/24\",\n TransitRouterId = defaultM8Zo6H.TransitRouterId,\n });\n\n var defaultMeoCIz = new AliCloud.Vpn.CustomerGateway(\"defaultMeoCIz\", new()\n {\n IpAddress = \"0.0.0.0\",\n CustomerGatewayName = \"example-vpn-attachment\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultuUtyCv,\n },\n });\n\n var defaultGetTransitRouterService = AliCloud.Cen.GetTransitRouterService.Invoke(new()\n {\n Enable = \"On\",\n });\n\n var defaultvrPzdh = new AliCloud.Vpn.GatewayVpnAttachment(\"defaultvrPzdh\", new()\n {\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n EnableTunnelsBgp = false,\n VpnAttachmentName = name,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n CustomerGatewayId = defaultMeoCIz.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 1,\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"2.2.2.2\",\n IkeEncAlg = \"aes\",\n IkeMode = \"main\",\n IkeVersion = \"ikev1\",\n LocalId = \"1.1.1.1\",\n IkeAuthAlg = \"md5\",\n IkeLifetime = 86100,\n IkePfs = \"group2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86200,\n IpsecPfs = \"group5\",\n },\n },\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n EnableNatTraversal = true,\n TunnelIndex = 2,\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n LocalId = \"4.4.4.4\",\n RemoteId = \"5.5.5.5\",\n IkeLifetime = 86400,\n IkePfs = \"group5\",\n IkeMode = \"main\",\n IkeVersion = \"ikev2\",\n Psk = \"32333442\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86400,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"sha256\",\n },\n CustomerGatewayId = defaultMeoCIz.Id,\n EnableDpd = true,\n },\n },\n RemoteSubnet = \"0.0.0.0/0\",\n });\n\n var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"default\", new()\n {\n TransitRouterId = defaultM8Zo6H.TransitRouterId,\n VpnId = defaultvrPzdh.Id,\n AutoPublishRouteEnabled = false,\n ChargeType = \"POSTPAY\",\n TransitRouterAttachmentName = \"example-vpn-attachment\",\n VpnOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n CenId = defaultM8Zo6H.CenId,\n TransitRouterAttachmentDescription = \"example-vpn-attachment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultbpR5Uk, err := cen.NewInstance(ctx, \"defaultbpR5Uk\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(\"example-vpn-attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultM8Zo6H, err := cen.NewTransitRouter(ctx, \"defaultM8Zo6H\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultbpR5Uk.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuUtyCv, err := cen.NewTransitRouterCidr(ctx, \"defaultuUtyCv\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tCidr: pulumi.String(\"192.168.10.0/24\"),\n\t\t\tTransitRouterId: defaultM8Zo6H.TransitRouterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMeoCIz, err := vpn.NewCustomerGateway(ctx, \"defaultMeoCIz\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"0.0.0.0\"),\n\t\t\tCustomerGatewayName: pulumi.String(\"example-vpn-attachment\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultuUtyCv,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.GetTransitRouterService(ctx, \u0026cen.GetTransitRouterServiceArgs{\n\t\t\tEnable: pulumi.StringRef(\"On\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvrPzdh, err := vpn.NewGatewayVpnAttachment(ctx, \"defaultvrPzdh\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEnableTunnelsBgp: pulumi.Bool(false),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t\tTunnelOptionsSpecifications: vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tCustomerGatewayId: defaultMeoCIz.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(1),\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev1\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86100),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86200),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(2),\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tLocalId: pulumi.String(\"4.4.4.4\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"5.5.5.5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"32333442\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"sha256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultMeoCIz.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewTransitRouterVpnAttachment(ctx, \"default\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tTransitRouterId: defaultM8Zo6H.TransitRouterId,\n\t\t\tVpnId: defaultvrPzdh.ID(),\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tChargeType: pulumi.String(\"POSTPAY\"),\n\t\t\tTransitRouterAttachmentName: pulumi.String(\"example-vpn-attachment\"),\n\t\t\tVpnOwnerId: pulumi.String(_default.Id),\n\t\t\tCenId: defaultM8Zo6H.CenId,\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(\"example-vpn-attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterServiceArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultbpR5Uk = new Instance(\"defaultbpR5Uk\", InstanceArgs.builder()\n .cenInstanceName(\"example-vpn-attachment\")\n .build());\n\n var defaultM8Zo6H = new TransitRouter(\"defaultM8Zo6H\", TransitRouterArgs.builder()\n .cenId(defaultbpR5Uk.id())\n .build());\n\n var defaultuUtyCv = new TransitRouterCidr(\"defaultuUtyCv\", TransitRouterCidrArgs.builder()\n .cidr(\"192.168.10.0/24\")\n .transitRouterId(defaultM8Zo6H.transitRouterId())\n .build());\n\n var defaultMeoCIz = new CustomerGateway(\"defaultMeoCIz\", CustomerGatewayArgs.builder()\n .ipAddress(\"0.0.0.0\")\n .customerGatewayName(\"example-vpn-attachment\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(defaultuUtyCv)\n .build());\n\n final var defaultGetTransitRouterService = CenFunctions.getTransitRouterService(GetTransitRouterServiceArgs.builder()\n .enable(\"On\")\n .build());\n\n var defaultvrPzdh = new GatewayVpnAttachment(\"defaultvrPzdh\", GatewayVpnAttachmentArgs.builder()\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .enableTunnelsBgp(false)\n .vpnAttachmentName(name)\n .tunnelOptionsSpecifications( \n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .customerGatewayId(defaultMeoCIz.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(1)\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"2.2.2.2\")\n .ikeEncAlg(\"aes\")\n .ikeMode(\"main\")\n .ikeVersion(\"ikev1\")\n .localId(\"1.1.1.1\")\n .ikeAuthAlg(\"md5\")\n .ikeLifetime(86100)\n .ikePfs(\"group2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86200)\n .ipsecPfs(\"group5\")\n .build())\n .build(),\n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .enableNatTraversal(true)\n .tunnelIndex(2)\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .localId(\"4.4.4.4\")\n .remoteId(\"5.5.5.5\")\n .ikeLifetime(86400)\n .ikePfs(\"group5\")\n .ikeMode(\"main\")\n .ikeVersion(\"ikev2\")\n .psk(\"32333442\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .build())\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86400)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"sha256\")\n .build())\n .customerGatewayId(defaultMeoCIz.id())\n .enableDpd(true)\n .build())\n .remoteSubnet(\"0.0.0.0/0\")\n .build());\n\n var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"defaultTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .transitRouterId(defaultM8Zo6H.transitRouterId())\n .vpnId(defaultvrPzdh.id())\n .autoPublishRouteEnabled(false)\n .chargeType(\"POSTPAY\")\n .transitRouterAttachmentName(\"example-vpn-attachment\")\n .vpnOwnerId(default_.id())\n .cenId(defaultM8Zo6H.cenId())\n .transitRouterAttachmentDescription(\"example-vpn-attachment\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultbpR5Uk:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: example-vpn-attachment\n defaultM8Zo6H:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${defaultbpR5Uk.id}\n defaultuUtyCv:\n type: alicloud:cen:TransitRouterCidr\n properties:\n cidr: 192.168.10.0/24\n transitRouterId: ${defaultM8Zo6H.transitRouterId}\n defaultMeoCIz:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 0.0.0.0\n customerGatewayName: example-vpn-attachment\n options:\n dependsOn:\n - ${defaultuUtyCv}\n defaultvrPzdh:\n type: alicloud:vpn:GatewayVpnAttachment\n properties:\n networkType: public\n localSubnet: 0.0.0.0/0\n enableTunnelsBgp: 'false'\n vpnAttachmentName: ${name}\n tunnelOptionsSpecifications:\n - customerGatewayId: ${defaultMeoCIz.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '1'\n tunnelIkeConfig:\n remoteId: 2.2.2.2\n ikeEncAlg: aes\n ikeMode: main\n ikeVersion: ikev1\n localId: 1.1.1.1\n ikeAuthAlg: md5\n ikeLifetime: '86100'\n ikePfs: group2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes\n ipsecLifetime: '86200'\n ipsecPfs: group5\n - enableNatTraversal: 'true'\n tunnelIndex: '2'\n tunnelIkeConfig:\n localId: 4.4.4.4\n remoteId: 5.5.5.5\n ikeLifetime: '86400'\n ikePfs: group5\n ikeMode: main\n ikeVersion: ikev2\n psk: '32333442'\n ikeAuthAlg: md5\n ikeEncAlg: aes\n tunnelIpsecConfig:\n ipsecEncAlg: aes\n ipsecLifetime: '86400'\n ipsecPfs: group5\n ipsecAuthAlg: sha256\n customerGatewayId: ${defaultMeoCIz.id}\n enableDpd: 'true'\n remoteSubnet: 0.0.0.0/0\n defaultTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: default\n properties:\n transitRouterId: ${defaultM8Zo6H.transitRouterId}\n vpnId: ${defaultvrPzdh.id}\n autoPublishRouteEnabled: 'false'\n chargeType: POSTPAY\n transitRouterAttachmentName: example-vpn-attachment\n vpnOwnerId: ${default.id}\n cenId: ${defaultM8Zo6H.cenId}\n transitRouterAttachmentDescription: example-vpn-attachment\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetTransitRouterService:\n fn::invoke:\n function: alicloud:cen:getTransitRouterService\n arguments:\n enable: On\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/transitRouterVpnAttachment:TransitRouterVpnAttachment example \u003cid\u003e\n```\n\n", "properties": { "autoPublishRouteEnabled": { "type": "boolean", @@ -117222,7 +119087,7 @@ } }, "alicloud:cen/vbrHealthCheck:VbrHealthCheck": { - "description": "This topic describes how to configure the health check feature for a Cloud Enterprise Network (CEN) instance. \nAfter you attach a Virtual Border Router (VBR) to the CEN instance and configure the health check feature, you can monitor the network conditions of the on-premises data center connected to the VBR.\n\nFor information about CEN VBR HealthCheck and how to use it, see [Manage CEN VBR HealthCheck](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-enablecenvbrhealthcheck).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetPhysicalConnections = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst example = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: defaultGetPhysicalConnections.then(defaultGetPhysicalConnections =\u003e defaultGetPhysicalConnections.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VBR\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleVbrHealthCheck = new alicloud.cen.VbrHealthCheck(\"example\", {\n cenId: exampleInstance.id,\n healthCheckSourceIp: \"192.168.1.2\",\n healthCheckTargetIp: \"10.0.0.2\",\n vbrInstanceId: example.id,\n vbrInstanceRegionId: exampleInstanceAttachment.childInstanceRegionId,\n healthCheckInterval: 2,\n healthyThreshold: 8,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_physical_connections = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default_get_physical_connections.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VBR\",\n child_instance_region_id=default.regions[0].id)\nexample_vbr_health_check = alicloud.cen.VbrHealthCheck(\"example\",\n cen_id=example_instance.id,\n health_check_source_ip=\"192.168.1.2\",\n health_check_target_ip=\"10.0.0.2\",\n vbr_instance_id=example.id,\n vbr_instance_region_id=example_instance_attachment.child_instance_region_id,\n health_check_interval=2,\n healthy_threshold=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetPhysicalConnections = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var example = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = defaultGetPhysicalConnections.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleVbrHealthCheck = new AliCloud.Cen.VbrHealthCheck(\"example\", new()\n {\n CenId = exampleInstance.Id,\n HealthCheckSourceIp = \"192.168.1.2\",\n HealthCheckTargetIp = \"10.0.0.2\",\n VbrInstanceId = example.Id,\n VbrInstanceRegionId = exampleInstanceAttachment.ChildInstanceRegionId,\n HealthCheckInterval = 2,\n HealthyThreshold = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(defaultGetPhysicalConnections.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewVbrHealthCheck(ctx, \"example\", \u0026cen.VbrHealthCheckArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tHealthCheckSourceIp: pulumi.String(\"192.168.1.2\"),\n\t\t\tHealthCheckTargetIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tVbrInstanceId: example.ID(),\n\t\t\tVbrInstanceRegionId: exampleInstanceAttachment.ChildInstanceRegionId,\n\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.VbrHealthCheck;\nimport com.pulumi.alicloud.cen.VbrHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetPhysicalConnections = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var example = new VirtualBorderRouter(\"example\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(defaultGetPhysicalConnections.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VBR\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleVbrHealthCheck = new VbrHealthCheck(\"exampleVbrHealthCheck\", VbrHealthCheckArgs.builder()\n .cenId(exampleInstance.id())\n .healthCheckSourceIp(\"192.168.1.2\")\n .healthCheckTargetIp(\"10.0.0.2\")\n .vbrInstanceId(example.id())\n .vbrInstanceRegionId(exampleInstanceAttachment.childInstanceRegionId())\n .healthCheckInterval(2)\n .healthyThreshold(8)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n example:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${defaultGetPhysicalConnections.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VBR\n childInstanceRegionId: ${default.regions[0].id}\n exampleVbrHealthCheck:\n type: alicloud:cen:VbrHealthCheck\n name: example\n properties:\n cenId: ${exampleInstance.id}\n healthCheckSourceIp: 192.168.1.2\n healthCheckTargetIp: 10.0.0.2\n vbrInstanceId: ${example.id}\n vbrInstanceRegionId: ${exampleInstanceAttachment.childInstanceRegionId}\n healthCheckInterval: 2\n healthyThreshold: 8\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetPhysicalConnections:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCEN VBR HealthCheck can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/vbrHealthCheck:VbrHealthCheck example vbr-xxxxx:cn-hangzhou\n```\n\n", + "description": "This topic describes how to configure the health check feature for a Cloud Enterprise Network (CEN) instance. \nAfter you attach a Virtual Border Router (VBR) to the CEN instance and configure the health check feature, you can monitor the network conditions of the on-premises data center connected to the VBR.\n\nFor information about CEN VBR HealthCheck and how to use it, see [Manage CEN VBR HealthCheck](https://www.alibabacloud.com/help/en/cen/developer-reference/api-cbn-2017-09-12-enablecenvbrhealthcheck).\n\n\u003e **NOTE:** Available since v1.88.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetPhysicalConnections = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst example = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: defaultGetPhysicalConnections.then(defaultGetPhysicalConnections =\u003e defaultGetPhysicalConnections.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleInstanceAttachment = new alicloud.cen.InstanceAttachment(\"example\", {\n instanceId: exampleInstance.id,\n childInstanceId: example.id,\n childInstanceType: \"VBR\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst exampleVbrHealthCheck = new alicloud.cen.VbrHealthCheck(\"example\", {\n cenId: exampleInstance.id,\n healthCheckSourceIp: \"192.168.1.2\",\n healthCheckTargetIp: \"10.0.0.2\",\n vbrInstanceId: example.id,\n vbrInstanceRegionId: exampleInstanceAttachment.childInstanceRegionId,\n healthCheckInterval: 2,\n healthyThreshold: 8,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_physical_connections = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default_get_physical_connections.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\nexample_instance_attachment = alicloud.cen.InstanceAttachment(\"example\",\n instance_id=example_instance.id,\n child_instance_id=example.id,\n child_instance_type=\"VBR\",\n child_instance_region_id=default.regions[0].id)\nexample_vbr_health_check = alicloud.cen.VbrHealthCheck(\"example\",\n cen_id=example_instance.id,\n health_check_source_ip=\"192.168.1.2\",\n health_check_target_ip=\"10.0.0.2\",\n vbr_instance_id=example.id,\n vbr_instance_region_id=example_instance_attachment.child_instance_region_id,\n health_check_interval=2,\n healthy_threshold=8)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetPhysicalConnections = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var example = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = defaultGetPhysicalConnections.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleInstanceAttachment = new AliCloud.Cen.InstanceAttachment(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = example.Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var exampleVbrHealthCheck = new AliCloud.Cen.VbrHealthCheck(\"example\", new()\n {\n CenId = exampleInstance.Id,\n HealthCheckSourceIp = \"192.168.1.2\",\n HealthCheckTargetIp = \"10.0.0.2\",\n VbrInstanceId = example.Id,\n VbrInstanceRegionId = exampleInstanceAttachment.ChildInstanceRegionId,\n HealthCheckInterval = 2,\n HealthyThreshold = 8,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(defaultGetPhysicalConnections.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstanceAttachment, err := cen.NewInstanceAttachment(ctx, \"example\", \u0026cen.InstanceAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tChildInstanceId: example.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cen.NewVbrHealthCheck(ctx, \"example\", \u0026cen.VbrHealthCheckArgs{\n\t\t\tCenId: exampleInstance.ID(),\n\t\t\tHealthCheckSourceIp: pulumi.String(\"192.168.1.2\"),\n\t\t\tHealthCheckTargetIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tVbrInstanceId: example.ID(),\n\t\t\tVbrInstanceRegionId: exampleInstanceAttachment.ChildInstanceRegionId,\n\t\t\tHealthCheckInterval: pulumi.Int(2),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.cen.VbrHealthCheck;\nimport com.pulumi.alicloud.cen.VbrHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetPhysicalConnections = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var example = new VirtualBorderRouter(\"example\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(defaultGetPhysicalConnections.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var exampleInstanceAttachment = new InstanceAttachment(\"exampleInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(example.id())\n .childInstanceType(\"VBR\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n var exampleVbrHealthCheck = new VbrHealthCheck(\"exampleVbrHealthCheck\", VbrHealthCheckArgs.builder()\n .cenId(exampleInstance.id())\n .healthCheckSourceIp(\"192.168.1.2\")\n .healthCheckTargetIp(\"10.0.0.2\")\n .vbrInstanceId(example.id())\n .vbrInstanceRegionId(exampleInstanceAttachment.childInstanceRegionId())\n .healthCheckInterval(2)\n .healthyThreshold(8)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n example:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${defaultGetPhysicalConnections.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleInstance:\n type: alicloud:cen:Instance\n name: example\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n exampleInstanceAttachment:\n type: alicloud:cen:InstanceAttachment\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n childInstanceId: ${example.id}\n childInstanceType: VBR\n childInstanceRegionId: ${default.regions[0].id}\n exampleVbrHealthCheck:\n type: alicloud:cen:VbrHealthCheck\n name: example\n properties:\n cenId: ${exampleInstance.id}\n healthCheckSourceIp: 192.168.1.2\n healthCheckTargetIp: 10.0.0.2\n vbrInstanceId: ${example.id}\n vbrInstanceRegionId: ${exampleInstanceAttachment.childInstanceRegionId}\n healthCheckInterval: 2\n healthyThreshold: 8\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetPhysicalConnections:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCEN VBR HealthCheck can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cen/vbrHealthCheck:VbrHealthCheck example vbr-xxxxx:cn-hangzhou\n```\n\n", "properties": { "cenId": { "type": "string", @@ -117350,7 +119215,7 @@ } }, "alicloud:cfg/aggregateCompliancePack:AggregateCompliancePack": { - "description": "Provides a Cloud Config Aggregate Compliance Pack resource.\n\nFor information about Cloud Config Aggregate Compliance Pack and how to use it, see [What is Aggregate Compliance Pack](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregatecompliancepack).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultAggregateConfigRule = new alicloud.cfg.AggregateConfigRule(\"default\", {\n aggregateConfigRuleName: \"contains-tag\",\n aggregatorId: defaultAggregator.id,\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n description: name,\n riskLevel: 1,\n resourceTypesScopes: [\"ACS::ECS::Instance\"],\n inputParameters: {\n key: \"example\",\n value: \"example\",\n },\n});\nconst defaultAggregateCompliancePack = new alicloud.cfg.AggregateCompliancePack(\"default\", {\n aggregateCompliancePackName: name,\n aggregatorId: defaultAggregator.id,\n description: name,\n riskLevel: 1,\n configRuleIds: [{\n configRuleId: defaultAggregateConfigRule.configRuleId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_aggregate_config_rule = alicloud.cfg.AggregateConfigRule(\"default\",\n aggregate_config_rule_name=\"contains-tag\",\n aggregator_id=default_aggregator.id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n description=name,\n risk_level=1,\n resource_types_scopes=[\"ACS::ECS::Instance\"],\n input_parameters={\n \"key\": \"example\",\n \"value\": \"example\",\n })\ndefault_aggregate_compliance_pack = alicloud.cfg.AggregateCompliancePack(\"default\",\n aggregate_compliance_pack_name=name,\n aggregator_id=default_aggregator.id,\n description=name,\n risk_level=1,\n config_rule_ids=[{\n \"config_rule_id\": default_aggregate_config_rule.config_rule_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultAggregateConfigRule = new AliCloud.Cfg.AggregateConfigRule(\"default\", new()\n {\n AggregateConfigRuleName = \"contains-tag\",\n AggregatorId = defaultAggregator.Id,\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n Description = name,\n RiskLevel = 1,\n ResourceTypesScopes = new[]\n {\n \"ACS::ECS::Instance\",\n },\n InputParameters = \n {\n { \"key\", \"example\" },\n { \"value\", \"example\" },\n },\n });\n\n var defaultAggregateCompliancePack = new AliCloud.Cfg.AggregateCompliancePack(\"default\", new()\n {\n AggregateCompliancePackName = name,\n AggregatorId = defaultAggregator.Id,\n Description = name,\n RiskLevel = 1,\n ConfigRuleIds = new[]\n {\n new AliCloud.Cfg.Inputs.AggregateCompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = defaultAggregateConfigRule.ConfigRuleId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAggregateConfigRule, err := cfg.NewAggregateConfigRule(ctx, \"default\", \u0026cfg.AggregateConfigRuleArgs{\n\t\t\tAggregateConfigRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t},\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"example\"),\n\t\t\t\t\"value\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateCompliancePack(ctx, \"default\", \u0026cfg.AggregateCompliancePackArgs{\n\t\t\tAggregateCompliancePackName: pulumi.String(name),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tConfigRuleIds: cfg.AggregateCompliancePackConfigRuleIdArray{\n\t\t\t\t\u0026cfg.AggregateCompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: defaultAggregateConfigRule.ConfigRuleId,\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.alicloud.cfg.AggregateConfigRule;\nimport com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;\nimport com.pulumi.alicloud.cfg.AggregateCompliancePack;\nimport com.pulumi.alicloud.cfg.AggregateCompliancePackArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregateCompliancePackConfigRuleIdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultAggregateConfigRule = new AggregateConfigRule(\"defaultAggregateConfigRule\", AggregateConfigRuleArgs.builder()\n .aggregateConfigRuleName(\"contains-tag\")\n .aggregatorId(defaultAggregator.id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .description(name)\n .riskLevel(1)\n .resourceTypesScopes(\"ACS::ECS::Instance\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key\", \"example\"),\n Map.entry(\"value\", \"example\")\n ))\n .build());\n\n var defaultAggregateCompliancePack = new AggregateCompliancePack(\"defaultAggregateCompliancePack\", AggregateCompliancePackArgs.builder()\n .aggregateCompliancePackName(name)\n .aggregatorId(defaultAggregator.id())\n .description(name)\n .riskLevel(1)\n .configRuleIds(AggregateCompliancePackConfigRuleIdArgs.builder()\n .configRuleId(defaultAggregateConfigRule.configRuleId())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Config Aggregate Compliance Pack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateCompliancePack:AggregateCompliancePack example \u003caggregator_id\u003e:\u003caggregator_compliance_pack_id\u003e\n```\n\n", + "description": "Provides a Cloud Config Aggregate Compliance Pack resource.\n\nFor information about Cloud Config Aggregate Compliance Pack and how to use it, see [What is Aggregate Compliance Pack](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregatecompliancepack).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultAggregateConfigRule = new alicloud.cfg.AggregateConfigRule(\"default\", {\n aggregateConfigRuleName: \"contains-tag\",\n aggregatorId: defaultAggregator.id,\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n description: name,\n riskLevel: 1,\n resourceTypesScopes: [\"ACS::ECS::Instance\"],\n inputParameters: {\n key: \"example\",\n value: \"example\",\n },\n});\nconst defaultAggregateCompliancePack = new alicloud.cfg.AggregateCompliancePack(\"default\", {\n aggregateCompliancePackName: name,\n aggregatorId: defaultAggregator.id,\n description: name,\n riskLevel: 1,\n configRuleIds: [{\n configRuleId: defaultAggregateConfigRule.configRuleId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_aggregate_config_rule = alicloud.cfg.AggregateConfigRule(\"default\",\n aggregate_config_rule_name=\"contains-tag\",\n aggregator_id=default_aggregator.id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n description=name,\n risk_level=1,\n resource_types_scopes=[\"ACS::ECS::Instance\"],\n input_parameters={\n \"key\": \"example\",\n \"value\": \"example\",\n })\ndefault_aggregate_compliance_pack = alicloud.cfg.AggregateCompliancePack(\"default\",\n aggregate_compliance_pack_name=name,\n aggregator_id=default_aggregator.id,\n description=name,\n risk_level=1,\n config_rule_ids=[{\n \"config_rule_id\": default_aggregate_config_rule.config_rule_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultAggregateConfigRule = new AliCloud.Cfg.AggregateConfigRule(\"default\", new()\n {\n AggregateConfigRuleName = \"contains-tag\",\n AggregatorId = defaultAggregator.Id,\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n Description = name,\n RiskLevel = 1,\n ResourceTypesScopes = new[]\n {\n \"ACS::ECS::Instance\",\n },\n InputParameters = \n {\n { \"key\", \"example\" },\n { \"value\", \"example\" },\n },\n });\n\n var defaultAggregateCompliancePack = new AliCloud.Cfg.AggregateCompliancePack(\"default\", new()\n {\n AggregateCompliancePackName = name,\n AggregatorId = defaultAggregator.Id,\n Description = name,\n RiskLevel = 1,\n ConfigRuleIds = new[]\n {\n new AliCloud.Cfg.Inputs.AggregateCompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = defaultAggregateConfigRule.ConfigRuleId,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAggregateConfigRule, err := cfg.NewAggregateConfigRule(ctx, \"default\", \u0026cfg.AggregateConfigRuleArgs{\n\t\t\tAggregateConfigRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t},\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"example\"),\n\t\t\t\t\"value\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateCompliancePack(ctx, \"default\", \u0026cfg.AggregateCompliancePackArgs{\n\t\t\tAggregateCompliancePackName: pulumi.String(name),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tConfigRuleIds: cfg.AggregateCompliancePackConfigRuleIdArray{\n\t\t\t\t\u0026cfg.AggregateCompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: defaultAggregateConfigRule.ConfigRuleId,\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.alicloud.cfg.AggregateConfigRule;\nimport com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;\nimport com.pulumi.alicloud.cfg.AggregateCompliancePack;\nimport com.pulumi.alicloud.cfg.AggregateCompliancePackArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregateCompliancePackConfigRuleIdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultAggregateConfigRule = new AggregateConfigRule(\"defaultAggregateConfigRule\", AggregateConfigRuleArgs.builder()\n .aggregateConfigRuleName(\"contains-tag\")\n .aggregatorId(defaultAggregator.id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .description(name)\n .riskLevel(1)\n .resourceTypesScopes(\"ACS::ECS::Instance\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key\", \"example\"),\n Map.entry(\"value\", \"example\")\n ))\n .build());\n\n var defaultAggregateCompliancePack = new AggregateCompliancePack(\"defaultAggregateCompliancePack\", AggregateCompliancePackArgs.builder()\n .aggregateCompliancePackName(name)\n .aggregatorId(defaultAggregator.id())\n .description(name)\n .riskLevel(1)\n .configRuleIds(AggregateCompliancePackConfigRuleIdArgs.builder()\n .configRuleId(defaultAggregateConfigRule.configRuleId())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config Aggregate Compliance Pack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateCompliancePack:AggregateCompliancePack example \u003caggregator_id\u003e:\u003caggregator_compliance_pack_id\u003e\n```\n\n", "properties": { "aggregateCompliancePackName": { "type": "string", @@ -117502,7 +119367,7 @@ } }, "alicloud:cfg/aggregateConfigRule:AggregateConfigRule": { - "description": "Provides a Cloud Config Aggregate Config Rule resource.\n\nFor information about Cloud Config Aggregate Config Rule and how to use it, see [What is Aggregate Config Rule](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregateconfigrule).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultAggregateConfigRule = new alicloud.cfg.AggregateConfigRule(\"default\", {\n aggregateConfigRuleName: \"contains-tag\",\n aggregatorId: defaultAggregator.id,\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n riskLevel: 1,\n resourceTypesScopes: [\"ACS::ECS::Instance\"],\n inputParameters: {\n key: \"example\",\n value: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_aggregate_config_rule = alicloud.cfg.AggregateConfigRule(\"default\",\n aggregate_config_rule_name=\"contains-tag\",\n aggregator_id=default_aggregator.id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n risk_level=1,\n resource_types_scopes=[\"ACS::ECS::Instance\"],\n input_parameters={\n \"key\": \"example\",\n \"value\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultAggregateConfigRule = new AliCloud.Cfg.AggregateConfigRule(\"default\", new()\n {\n AggregateConfigRuleName = \"contains-tag\",\n AggregatorId = defaultAggregator.Id,\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n RiskLevel = 1,\n ResourceTypesScopes = new[]\n {\n \"ACS::ECS::Instance\",\n },\n InputParameters = \n {\n { \"key\", \"example\" },\n { \"value\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateConfigRule(ctx, \"default\", \u0026cfg.AggregateConfigRuleArgs{\n\t\t\tAggregateConfigRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t},\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"example\"),\n\t\t\t\t\"value\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.alicloud.cfg.AggregateConfigRule;\nimport com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultAggregateConfigRule = new AggregateConfigRule(\"defaultAggregateConfigRule\", AggregateConfigRuleArgs.builder()\n .aggregateConfigRuleName(\"contains-tag\")\n .aggregatorId(defaultAggregator.id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .riskLevel(1)\n .resourceTypesScopes(\"ACS::ECS::Instance\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key\", \"example\"),\n Map.entry(\"value\", \"example\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Config Aggregate Config Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateConfigRule:AggregateConfigRule example \"\u003caggregator_id\u003e:\u003cconfig_rule_id\u003e\"\n```\n\n", + "description": "Provides a Cloud Config Aggregate Config Rule resource.\n\nFor information about Cloud Config Aggregate Config Rule and how to use it, see [What is Aggregate Config Rule](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregateconfigrule).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultAggregateConfigRule = new alicloud.cfg.AggregateConfigRule(\"default\", {\n aggregateConfigRuleName: \"contains-tag\",\n aggregatorId: defaultAggregator.id,\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n riskLevel: 1,\n resourceTypesScopes: [\"ACS::ECS::Instance\"],\n inputParameters: {\n key: \"example\",\n value: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_aggregate_config_rule = alicloud.cfg.AggregateConfigRule(\"default\",\n aggregate_config_rule_name=\"contains-tag\",\n aggregator_id=default_aggregator.id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n risk_level=1,\n resource_types_scopes=[\"ACS::ECS::Instance\"],\n input_parameters={\n \"key\": \"example\",\n \"value\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultAggregateConfigRule = new AliCloud.Cfg.AggregateConfigRule(\"default\", new()\n {\n AggregateConfigRuleName = \"contains-tag\",\n AggregatorId = defaultAggregator.Id,\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n RiskLevel = 1,\n ResourceTypesScopes = new[]\n {\n \"ACS::ECS::Instance\",\n },\n InputParameters = \n {\n { \"key\", \"example\" },\n { \"value\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateConfigRule(ctx, \"default\", \u0026cfg.AggregateConfigRuleArgs{\n\t\t\tAggregateConfigRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t},\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"example\"),\n\t\t\t\t\"value\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.alicloud.cfg.AggregateConfigRule;\nimport com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultAggregateConfigRule = new AggregateConfigRule(\"defaultAggregateConfigRule\", AggregateConfigRuleArgs.builder()\n .aggregateConfigRuleName(\"contains-tag\")\n .aggregatorId(defaultAggregator.id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .riskLevel(1)\n .resourceTypesScopes(\"ACS::ECS::Instance\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key\", \"example\"),\n Map.entry(\"value\", \"example\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config Aggregate Config Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateConfigRule:AggregateConfigRule example \"\u003caggregator_id\u003e:\u003cconfig_rule_id\u003e\"\n```\n\n", "properties": { "aggregateConfigRuleName": { "type": "string", @@ -117762,7 +119627,7 @@ } }, "alicloud:cfg/aggregateDelivery:AggregateDelivery": { - "description": "Provides a Config Aggregate Delivery resource.\n\nDelivery channel of aggregator.\n\nFor information about Config Aggregate Delivery and how to use it, see [What is Aggregate Delivery](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregateconfigdeliverychannel).\n\n\u003e **NOTE:** Available since v1.172.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _this = alicloud.getRegions({\n current: true,\n});\nconst thisGetAccount = alicloud.getAccount({});\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n logstoreName: name,\n projectName: defaultProject.projectName,\n});\nconst defaultAggregateDelivery = new alicloud.cfg.AggregateDelivery(\"default\", {\n aggregatorId: defaultAggregator.id,\n configurationItemChangeNotification: true,\n nonCompliantNotification: true,\n deliveryChannelName: name,\n deliveryChannelTargetArn: pulumi.all([_this, thisGetAccount, defaultProject.projectName, defaultStore.logstoreName]).apply(([_this, thisGetAccount, projectName, logstoreName]) =\u003e `acs:log:${_this.ids?.[0]}:${thisGetAccount.id}:project/${projectName}/logstore/${logstoreName}`),\n deliveryChannelType: \"SLS\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nthis = alicloud.get_regions(current=True)\nthis_get_account = alicloud.get_account()\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n logstore_name=name,\n project_name=default_project.project_name)\ndefault_aggregate_delivery = alicloud.cfg.AggregateDelivery(\"default\",\n aggregator_id=default_aggregator.id,\n configuration_item_change_notification=True,\n non_compliant_notification=True,\n delivery_channel_name=name,\n delivery_channel_target_arn=pulumi.Output.all(\n project_name=default_project.project_name,\n logstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"acs:log:{this.ids[0]}:{this_get_account.id}:project/{resolved_outputs['project_name']}/logstore/{resolved_outputs['logstore_name']}\")\n,\n delivery_channel_type=\"SLS\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @this = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var thisGetAccount = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n LogstoreName = name,\n ProjectName = defaultProject.ProjectName,\n });\n\n var defaultAggregateDelivery = new AliCloud.Cfg.AggregateDelivery(\"default\", new()\n {\n AggregatorId = defaultAggregator.Id,\n ConfigurationItemChangeNotification = true,\n NonCompliantNotification = true,\n DeliveryChannelName = name,\n DeliveryChannelTargetArn = Output.Tuple(@this, thisGetAccount, defaultProject.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var @this = values.Item1;\n var thisGetAccount = values.Item2;\n var projectName = values.Item3;\n var logstoreName = values.Item4;\n return $\"acs:log:{@this.Apply(getRegionsResult =\u003e getRegionsResult.Ids[0])}:{thisGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}/logstore/{logstoreName}\";\n }),\n DeliveryChannelType = \"SLS\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateDelivery(ctx, \"default\", \u0026cfg.AggregateDeliveryArgs{\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigurationItemChangeNotification: pulumi.Bool(true),\n\t\t\tNonCompliantNotification: pulumi.Bool(true),\n\t\t\tDeliveryChannelName: pulumi.String(name),\n\t\t\tDeliveryChannelTargetArn: pulumi.All(defaultProject.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprojectName := _args[0].(string)\n\t\t\t\tlogstoreName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v/logstore/%v\", this.Ids[0], thisGetAccount.Id, projectName, logstoreName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDeliveryChannelType: pulumi.String(\"SLS\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cfg.AggregateDelivery;\nimport com.pulumi.alicloud.cfg.AggregateDeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var this = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var thisGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .logstoreName(name)\n .projectName(defaultProject.projectName())\n .build());\n\n var defaultAggregateDelivery = new AggregateDelivery(\"defaultAggregateDelivery\", AggregateDeliveryArgs.builder()\n .aggregatorId(defaultAggregator.id())\n .configurationItemChangeNotification(true)\n .nonCompliantNotification(true)\n .deliveryChannelName(name)\n .deliveryChannelTargetArn(Output.tuple(defaultProject.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var projectName = values.t1;\n var logstoreName = values.t2;\n return String.format(\"acs:log:%s:%s:project/%s/logstore/%s\", this_.ids()[0],thisGetAccount.id(),projectName,logstoreName);\n }))\n .deliveryChannelType(\"SLS\")\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfig Aggregate Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateDelivery:AggregateDelivery example \u003caggregator_id\u003e:\u003cdelivery_channel_id\u003e\n```\n\n", + "description": "Provides a Config Aggregate Delivery resource.\n\nDelivery channel of aggregator.\n\nFor information about Config Aggregate Delivery and how to use it, see [What is Aggregate Delivery](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregateconfigdeliverychannel).\n\n\u003e **NOTE:** Available since v1.172.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _this = alicloud.getRegions({\n current: true,\n});\nconst thisGetAccount = alicloud.getAccount({});\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n logstoreName: name,\n projectName: defaultProject.projectName,\n});\nconst defaultAggregateDelivery = new alicloud.cfg.AggregateDelivery(\"default\", {\n aggregatorId: defaultAggregator.id,\n configurationItemChangeNotification: true,\n nonCompliantNotification: true,\n deliveryChannelName: name,\n deliveryChannelTargetArn: pulumi.all([_this, thisGetAccount, defaultProject.projectName, defaultStore.logstoreName]).apply(([_this, thisGetAccount, projectName, logstoreName]) =\u003e `acs:log:${_this.ids?.[0]}:${thisGetAccount.id}:project/${projectName}/logstore/${logstoreName}`),\n deliveryChannelType: \"SLS\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nthis = alicloud.get_regions(current=True)\nthis_get_account = alicloud.get_account()\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n logstore_name=name,\n project_name=default_project.project_name)\ndefault_aggregate_delivery = alicloud.cfg.AggregateDelivery(\"default\",\n aggregator_id=default_aggregator.id,\n configuration_item_change_notification=True,\n non_compliant_notification=True,\n delivery_channel_name=name,\n delivery_channel_target_arn=pulumi.Output.all(\n project_name=default_project.project_name,\n logstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"acs:log:{this.ids[0]}:{this_get_account.id}:project/{resolved_outputs['project_name']}/logstore/{resolved_outputs['logstore_name']}\")\n,\n delivery_channel_type=\"SLS\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @this = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var thisGetAccount = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n LogstoreName = name,\n ProjectName = defaultProject.ProjectName,\n });\n\n var defaultAggregateDelivery = new AliCloud.Cfg.AggregateDelivery(\"default\", new()\n {\n AggregatorId = defaultAggregator.Id,\n ConfigurationItemChangeNotification = true,\n NonCompliantNotification = true,\n DeliveryChannelName = name,\n DeliveryChannelTargetArn = Output.Tuple(@this, thisGetAccount, defaultProject.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var @this = values.Item1;\n var thisGetAccount = values.Item2;\n var projectName = values.Item3;\n var logstoreName = values.Item4;\n return $\"acs:log:{@this.Apply(getRegionsResult =\u003e getRegionsResult.Ids[0])}:{thisGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}/logstore/{logstoreName}\";\n }),\n DeliveryChannelType = \"SLS\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tdefaultAggregator, err := cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewAggregateDelivery(ctx, \"default\", \u0026cfg.AggregateDeliveryArgs{\n\t\t\tAggregatorId: defaultAggregator.ID(),\n\t\t\tConfigurationItemChangeNotification: pulumi.Bool(true),\n\t\t\tNonCompliantNotification: pulumi.Bool(true),\n\t\t\tDeliveryChannelName: pulumi.String(name),\n\t\t\tDeliveryChannelTargetArn: pulumi.All(defaultProject.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprojectName := _args[0].(string)\n\t\t\t\tlogstoreName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v/logstore/%v\", this.Ids[0], thisGetAccount.Id, projectName, logstoreName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDeliveryChannelType: pulumi.String(\"SLS\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cfg.AggregateDelivery;\nimport com.pulumi.alicloud.cfg.AggregateDeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var this = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var thisGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .logstoreName(name)\n .projectName(defaultProject.projectName())\n .build());\n\n var defaultAggregateDelivery = new AggregateDelivery(\"defaultAggregateDelivery\", AggregateDeliveryArgs.builder()\n .aggregatorId(defaultAggregator.id())\n .configurationItemChangeNotification(true)\n .nonCompliantNotification(true)\n .deliveryChannelName(name)\n .deliveryChannelTargetArn(Output.tuple(defaultProject.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var projectName = values.t1;\n var logstoreName = values.t2;\n return String.format(\"acs:log:%s:%s:project/%s/logstore/%s\", this_.ids()[0],thisGetAccount.id(),projectName,logstoreName);\n }))\n .deliveryChannelType(\"SLS\")\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nConfig Aggregate Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregateDelivery:AggregateDelivery example \u003caggregator_id\u003e:\u003cdelivery_channel_id\u003e\n```\n\n", "properties": { "aggregatorId": { "type": "string", @@ -117931,7 +119796,7 @@ } }, "alicloud:cfg/aggregator:Aggregator": { - "description": "Provides a Cloud Config (Config) Aggregator resource.\n\n\n\nFor information about Cloud Config (Config) Aggregator and how to use it, see [What is Aggregator](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregator).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\t_, err = cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Config (Config) Aggregator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregator:Aggregator example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Config (Config) Aggregator resource.\n\n\n\nFor information about Cloud Config (Config) Aggregator and how to use it, see [What is Aggregator](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createaggregator).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst last = _default.then(_default =\u003e _default.accounts).length.apply(length =\u003e length - 1);\nconst defaultAggregator = new alicloud.cfg.Aggregator(\"default\", {\n aggregatorAccounts: [{\n accountId: _default.then(_default =\u003e _default.accounts[last].accountId),\n accountName: _default.then(_default =\u003e _default.accounts[last].displayName),\n accountType: \"ResourceDirectory\",\n }],\n aggregatorName: name,\n description: name,\n aggregatorType: \"CUSTOM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\nlast = len(default.accounts).apply(lambda length: length - 1)\ndefault_aggregator = alicloud.cfg.Aggregator(\"default\",\n aggregator_accounts=[{\n \"account_id\": default.accounts[last].account_id,\n \"account_name\": default.accounts[last].display_name,\n \"account_type\": \"ResourceDirectory\",\n }],\n aggregator_name=name,\n description=name,\n aggregator_type=\"CUSTOM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var last = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)).Length.Apply(length =\u003e length - 1);\n\n var defaultAggregator = new AliCloud.Cfg.Aggregator(\"default\", new()\n {\n AggregatorAccounts = new[]\n {\n new AliCloud.Cfg.Inputs.AggregatorAggregatorAccountArgs\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].AccountId),\n AccountName = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts)[last].DisplayName),\n AccountType = \"ResourceDirectory\",\n },\n },\n AggregatorName = name,\n Description = name,\n AggregatorType = \"CUSTOM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlast := len(_default.Accounts).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\t_, err = cfg.NewAggregator(ctx, \"default\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorAccounts: cfg.AggregatorAggregatorAccountArray{\n\t\t\t\t\u0026cfg.AggregatorAggregatorAccountArgs{\n\t\t\t\t\tAccountId: pulumi.String(_default.Accounts[last].AccountId),\n\t\t\t\t\tAccountName: pulumi.String(_default.Accounts[last].DisplayName),\n\t\t\t\t\tAccountType: pulumi.String(\"ResourceDirectory\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAggregatorName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAggregatorType: pulumi.String(\"CUSTOM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.inputs.AggregatorAggregatorAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n final var last = default_.accounts().length().applyValue(_length -\u003e _length - 1);\n\n var defaultAggregator = new Aggregator(\"defaultAggregator\", AggregatorArgs.builder()\n .aggregatorAccounts(AggregatorAggregatorAccountArgs.builder()\n .accountId(default_.accounts()[last].accountId())\n .accountName(default_.accounts()[last].displayName())\n .accountType(\"ResourceDirectory\")\n .build())\n .aggregatorName(name)\n .description(name)\n .aggregatorType(\"CUSTOM\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config (Config) Aggregator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/aggregator:Aggregator example \u003cid\u003e\n```\n\n", "properties": { "aggregatorAccounts": { "type": "array", @@ -118043,7 +119908,7 @@ } }, "alicloud:cfg/compliancePack:CompliancePack": { - "description": "Provides a Cloud Config Compliance Pack resource.\n\nFor information about Cloud Config Compliance Pack and how to use it, see [What is Compliance Pack](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createcompliancepack).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-config-name\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst rule1 = new alicloud.cfg.Rule(\"rule1\", {\n description: name,\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"ram-user-ak-create-date-expired-check\",\n riskLevel: 1,\n maximumExecutionFrequency: \"TwentyFour_Hours\",\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ScheduledNotification\",\n resourceTypesScopes: [\"ACS::RAM::User\"],\n ruleName: \"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n inputParameters: {\n days: \"90\",\n },\n});\nconst rule2 = new alicloud.cfg.Rule(\"rule2\", {\n description: name,\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"adb-cluster-maintain-time-check\",\n riskLevel: 2,\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ScheduledNotification\",\n resourceTypesScopes: [\"ACS::ADB::DBCluster\"],\n ruleName: \"governance-evaluation-adb-cluster-maintain-time-check\",\n inputParameters: {\n maintainTimes: \"02:00-04:00,06:00-08:00,12:00-13:00\",\n },\n});\nconst defaultCompliancePack = new alicloud.cfg.CompliancePack(\"default\", {\n compliancePackName: name,\n description: \"CloudGovernanceCenter evaluation\",\n riskLevel: 2,\n configRuleIds: [\n {\n configRuleId: rule1.id,\n },\n {\n configRuleId: rule2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-config-name\"\ndefault = alicloud.get_regions(current=True)\nrule1 = alicloud.cfg.Rule(\"rule1\",\n description=name,\n source_owner=\"ALIYUN\",\n source_identifier=\"ram-user-ak-create-date-expired-check\",\n risk_level=1,\n maximum_execution_frequency=\"TwentyFour_Hours\",\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ScheduledNotification\",\n resource_types_scopes=[\"ACS::RAM::User\"],\n rule_name=\"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n input_parameters={\n \"days\": \"90\",\n })\nrule2 = alicloud.cfg.Rule(\"rule2\",\n description=name,\n source_owner=\"ALIYUN\",\n source_identifier=\"adb-cluster-maintain-time-check\",\n risk_level=2,\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ScheduledNotification\",\n resource_types_scopes=[\"ACS::ADB::DBCluster\"],\n rule_name=\"governance-evaluation-adb-cluster-maintain-time-check\",\n input_parameters={\n \"maintainTimes\": \"02:00-04:00,06:00-08:00,12:00-13:00\",\n })\ndefault_compliance_pack = alicloud.cfg.CompliancePack(\"default\",\n compliance_pack_name=name,\n description=\"CloudGovernanceCenter evaluation\",\n risk_level=2,\n config_rule_ids=[\n {\n \"config_rule_id\": rule1.id,\n },\n {\n \"config_rule_id\": rule2.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-config-name\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var rule1 = new AliCloud.Cfg.Rule(\"rule1\", new()\n {\n Description = name,\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"ram-user-ak-create-date-expired-check\",\n RiskLevel = 1,\n MaximumExecutionFrequency = \"TwentyFour_Hours\",\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ScheduledNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::RAM::User\",\n },\n RuleName = \"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n InputParameters = \n {\n { \"days\", \"90\" },\n },\n });\n\n var rule2 = new AliCloud.Cfg.Rule(\"rule2\", new()\n {\n Description = name,\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"adb-cluster-maintain-time-check\",\n RiskLevel = 2,\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ScheduledNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::ADB::DBCluster\",\n },\n RuleName = \"governance-evaluation-adb-cluster-maintain-time-check\",\n InputParameters = \n {\n { \"maintainTimes\", \"02:00-04:00,06:00-08:00,12:00-13:00\" },\n },\n });\n\n var defaultCompliancePack = new AliCloud.Cfg.CompliancePack(\"default\", new()\n {\n CompliancePackName = name,\n Description = \"CloudGovernanceCenter evaluation\",\n RiskLevel = 2,\n ConfigRuleIds = new[]\n {\n new AliCloud.Cfg.Inputs.CompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = rule1.Id,\n },\n new AliCloud.Cfg.Inputs.CompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = rule2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-config-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule1, err := cfg.NewRule(ctx, \"rule1\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"ram-user-ak-create-date-expired-check\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tMaximumExecutionFrequency: pulumi.String(\"TwentyFour_Hours\"),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ScheduledNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::RAM::User\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"ciscompliancecheck_ram-user-ak-create-date-expired-check\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"days\": pulumi.String(\"90\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule2, err := cfg.NewRule(ctx, \"rule2\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"adb-cluster-maintain-time-check\"),\n\t\t\tRiskLevel: pulumi.Int(2),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ScheduledNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ADB::DBCluster\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"governance-evaluation-adb-cluster-maintain-time-check\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"maintainTimes\": pulumi.String(\"02:00-04:00,06:00-08:00,12:00-13:00\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewCompliancePack(ctx, \"default\", \u0026cfg.CompliancePackArgs{\n\t\t\tCompliancePackName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"CloudGovernanceCenter evaluation\"),\n\t\t\tRiskLevel: pulumi.Int(2),\n\t\t\tConfigRuleIds: cfg.CompliancePackConfigRuleIdArray{\n\t\t\t\t\u0026cfg.CompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: rule1.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.CompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: rule2.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport com.pulumi.alicloud.cfg.CompliancePack;\nimport com.pulumi.alicloud.cfg.CompliancePackArgs;\nimport com.pulumi.alicloud.cfg.inputs.CompliancePackConfigRuleIdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-config-name\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var rule1 = new Rule(\"rule1\", RuleArgs.builder()\n .description(name)\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"ram-user-ak-create-date-expired-check\")\n .riskLevel(1)\n .maximumExecutionFrequency(\"TwentyFour_Hours\")\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ScheduledNotification\")\n .resourceTypesScopes(\"ACS::RAM::User\")\n .ruleName(\"ciscompliancecheck_ram-user-ak-create-date-expired-check\")\n .inputParameters(Map.of(\"days\", \"90\"))\n .build());\n\n var rule2 = new Rule(\"rule2\", RuleArgs.builder()\n .description(name)\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"adb-cluster-maintain-time-check\")\n .riskLevel(2)\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ScheduledNotification\")\n .resourceTypesScopes(\"ACS::ADB::DBCluster\")\n .ruleName(\"governance-evaluation-adb-cluster-maintain-time-check\")\n .inputParameters(Map.of(\"maintainTimes\", \"02:00-04:00,06:00-08:00,12:00-13:00\"))\n .build());\n\n var defaultCompliancePack = new CompliancePack(\"defaultCompliancePack\", CompliancePackArgs.builder()\n .compliancePackName(name)\n .description(\"CloudGovernanceCenter evaluation\")\n .riskLevel(2)\n .configRuleIds( \n CompliancePackConfigRuleIdArgs.builder()\n .configRuleId(rule1.id())\n .build(),\n CompliancePackConfigRuleIdArgs.builder()\n .configRuleId(rule2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-config-name\nresources:\n rule1:\n type: alicloud:cfg:Rule\n properties:\n description: ${name}\n sourceOwner: ALIYUN\n sourceIdentifier: ram-user-ak-create-date-expired-check\n riskLevel: 1\n maximumExecutionFrequency: TwentyFour_Hours\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ScheduledNotification\n resourceTypesScopes:\n - ACS::RAM::User\n ruleName: ciscompliancecheck_ram-user-ak-create-date-expired-check\n inputParameters:\n days: '90'\n rule2:\n type: alicloud:cfg:Rule\n properties:\n description: ${name}\n sourceOwner: ALIYUN\n sourceIdentifier: adb-cluster-maintain-time-check\n riskLevel: 2\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ScheduledNotification\n resourceTypesScopes:\n - ACS::ADB::DBCluster\n ruleName: governance-evaluation-adb-cluster-maintain-time-check\n inputParameters:\n maintainTimes: 02:00-04:00,06:00-08:00,12:00-13:00\n defaultCompliancePack:\n type: alicloud:cfg:CompliancePack\n name: default\n properties:\n compliancePackName: ${name}\n description: CloudGovernanceCenter evaluation\n riskLevel: '2'\n configRuleIds:\n - configRuleId: ${rule1.id}\n - configRuleId: ${rule2.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Config Compliance Pack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/compliancePack:CompliancePack example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Config Compliance Pack resource.\n\nFor information about Cloud Config Compliance Pack and how to use it, see [What is Compliance Pack](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createcompliancepack).\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-config-name\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst rule1 = new alicloud.cfg.Rule(\"rule1\", {\n description: name,\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"ram-user-ak-create-date-expired-check\",\n riskLevel: 1,\n maximumExecutionFrequency: \"TwentyFour_Hours\",\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ScheduledNotification\",\n resourceTypesScopes: [\"ACS::RAM::User\"],\n ruleName: \"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n inputParameters: {\n days: \"90\",\n },\n});\nconst rule2 = new alicloud.cfg.Rule(\"rule2\", {\n description: name,\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"adb-cluster-maintain-time-check\",\n riskLevel: 2,\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ScheduledNotification\",\n resourceTypesScopes: [\"ACS::ADB::DBCluster\"],\n ruleName: \"governance-evaluation-adb-cluster-maintain-time-check\",\n inputParameters: {\n maintainTimes: \"02:00-04:00,06:00-08:00,12:00-13:00\",\n },\n});\nconst defaultCompliancePack = new alicloud.cfg.CompliancePack(\"default\", {\n compliancePackName: name,\n description: \"CloudGovernanceCenter evaluation\",\n riskLevel: 2,\n configRuleIds: [\n {\n configRuleId: rule1.id,\n },\n {\n configRuleId: rule2.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-config-name\"\ndefault = alicloud.get_regions(current=True)\nrule1 = alicloud.cfg.Rule(\"rule1\",\n description=name,\n source_owner=\"ALIYUN\",\n source_identifier=\"ram-user-ak-create-date-expired-check\",\n risk_level=1,\n maximum_execution_frequency=\"TwentyFour_Hours\",\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ScheduledNotification\",\n resource_types_scopes=[\"ACS::RAM::User\"],\n rule_name=\"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n input_parameters={\n \"days\": \"90\",\n })\nrule2 = alicloud.cfg.Rule(\"rule2\",\n description=name,\n source_owner=\"ALIYUN\",\n source_identifier=\"adb-cluster-maintain-time-check\",\n risk_level=2,\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ScheduledNotification\",\n resource_types_scopes=[\"ACS::ADB::DBCluster\"],\n rule_name=\"governance-evaluation-adb-cluster-maintain-time-check\",\n input_parameters={\n \"maintainTimes\": \"02:00-04:00,06:00-08:00,12:00-13:00\",\n })\ndefault_compliance_pack = alicloud.cfg.CompliancePack(\"default\",\n compliance_pack_name=name,\n description=\"CloudGovernanceCenter evaluation\",\n risk_level=2,\n config_rule_ids=[\n {\n \"config_rule_id\": rule1.id,\n },\n {\n \"config_rule_id\": rule2.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-config-name\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var rule1 = new AliCloud.Cfg.Rule(\"rule1\", new()\n {\n Description = name,\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"ram-user-ak-create-date-expired-check\",\n RiskLevel = 1,\n MaximumExecutionFrequency = \"TwentyFour_Hours\",\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ScheduledNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::RAM::User\",\n },\n RuleName = \"ciscompliancecheck_ram-user-ak-create-date-expired-check\",\n InputParameters = \n {\n { \"days\", \"90\" },\n },\n });\n\n var rule2 = new AliCloud.Cfg.Rule(\"rule2\", new()\n {\n Description = name,\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"adb-cluster-maintain-time-check\",\n RiskLevel = 2,\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ScheduledNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::ADB::DBCluster\",\n },\n RuleName = \"governance-evaluation-adb-cluster-maintain-time-check\",\n InputParameters = \n {\n { \"maintainTimes\", \"02:00-04:00,06:00-08:00,12:00-13:00\" },\n },\n });\n\n var defaultCompliancePack = new AliCloud.Cfg.CompliancePack(\"default\", new()\n {\n CompliancePackName = name,\n Description = \"CloudGovernanceCenter evaluation\",\n RiskLevel = 2,\n ConfigRuleIds = new[]\n {\n new AliCloud.Cfg.Inputs.CompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = rule1.Id,\n },\n new AliCloud.Cfg.Inputs.CompliancePackConfigRuleIdArgs\n {\n ConfigRuleId = rule2.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-config-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule1, err := cfg.NewRule(ctx, \"rule1\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"ram-user-ak-create-date-expired-check\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tMaximumExecutionFrequency: pulumi.String(\"TwentyFour_Hours\"),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ScheduledNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::RAM::User\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"ciscompliancecheck_ram-user-ak-create-date-expired-check\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"days\": pulumi.String(\"90\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule2, err := cfg.NewRule(ctx, \"rule2\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"adb-cluster-maintain-time-check\"),\n\t\t\tRiskLevel: pulumi.Int(2),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ScheduledNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ADB::DBCluster\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"governance-evaluation-adb-cluster-maintain-time-check\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"maintainTimes\": pulumi.String(\"02:00-04:00,06:00-08:00,12:00-13:00\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewCompliancePack(ctx, \"default\", \u0026cfg.CompliancePackArgs{\n\t\t\tCompliancePackName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"CloudGovernanceCenter evaluation\"),\n\t\t\tRiskLevel: pulumi.Int(2),\n\t\t\tConfigRuleIds: cfg.CompliancePackConfigRuleIdArray{\n\t\t\t\t\u0026cfg.CompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: rule1.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026cfg.CompliancePackConfigRuleIdArgs{\n\t\t\t\t\tConfigRuleId: rule2.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport com.pulumi.alicloud.cfg.CompliancePack;\nimport com.pulumi.alicloud.cfg.CompliancePackArgs;\nimport com.pulumi.alicloud.cfg.inputs.CompliancePackConfigRuleIdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-config-name\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var rule1 = new Rule(\"rule1\", RuleArgs.builder()\n .description(name)\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"ram-user-ak-create-date-expired-check\")\n .riskLevel(1)\n .maximumExecutionFrequency(\"TwentyFour_Hours\")\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ScheduledNotification\")\n .resourceTypesScopes(\"ACS::RAM::User\")\n .ruleName(\"ciscompliancecheck_ram-user-ak-create-date-expired-check\")\n .inputParameters(Map.of(\"days\", \"90\"))\n .build());\n\n var rule2 = new Rule(\"rule2\", RuleArgs.builder()\n .description(name)\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"adb-cluster-maintain-time-check\")\n .riskLevel(2)\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ScheduledNotification\")\n .resourceTypesScopes(\"ACS::ADB::DBCluster\")\n .ruleName(\"governance-evaluation-adb-cluster-maintain-time-check\")\n .inputParameters(Map.of(\"maintainTimes\", \"02:00-04:00,06:00-08:00,12:00-13:00\"))\n .build());\n\n var defaultCompliancePack = new CompliancePack(\"defaultCompliancePack\", CompliancePackArgs.builder()\n .compliancePackName(name)\n .description(\"CloudGovernanceCenter evaluation\")\n .riskLevel(2)\n .configRuleIds( \n CompliancePackConfigRuleIdArgs.builder()\n .configRuleId(rule1.id())\n .build(),\n CompliancePackConfigRuleIdArgs.builder()\n .configRuleId(rule2.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-config-name\nresources:\n rule1:\n type: alicloud:cfg:Rule\n properties:\n description: ${name}\n sourceOwner: ALIYUN\n sourceIdentifier: ram-user-ak-create-date-expired-check\n riskLevel: 1\n maximumExecutionFrequency: TwentyFour_Hours\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ScheduledNotification\n resourceTypesScopes:\n - ACS::RAM::User\n ruleName: ciscompliancecheck_ram-user-ak-create-date-expired-check\n inputParameters:\n days: '90'\n rule2:\n type: alicloud:cfg:Rule\n properties:\n description: ${name}\n sourceOwner: ALIYUN\n sourceIdentifier: adb-cluster-maintain-time-check\n riskLevel: 2\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ScheduledNotification\n resourceTypesScopes:\n - ACS::ADB::DBCluster\n ruleName: governance-evaluation-adb-cluster-maintain-time-check\n inputParameters:\n maintainTimes: 02:00-04:00,06:00-08:00,12:00-13:00\n defaultCompliancePack:\n type: alicloud:cfg:CompliancePack\n name: default\n properties:\n compliancePackName: ${name}\n description: CloudGovernanceCenter evaluation\n riskLevel: '2'\n configRuleIds:\n - configRuleId: ${rule1.id}\n - configRuleId: ${rule2.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config Compliance Pack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/compliancePack:CompliancePack example \u003cid\u003e\n```\n\n", "properties": { "compliancePackName": { "type": "string", @@ -118170,7 +120035,7 @@ } }, "alicloud:cfg/configurationRecorder:ConfigurationRecorder": { - "description": "Provides a Alicloud Config Configuration Recorder resource. Cloud Config is a specialized service for evaluating resources. Cloud Config tracks configuration changes of your resources and evaluates configuration compliance. Cloud Config can help you evaluate numerous resources and maintain the continuous compliance of your cloud infrastructure.\nFor information about Alicloud Config Configuration Recorder and how to use it, see [What is Configuration Recorder.](https://www.alibabacloud.com/help/en/cloud-config/latest/startconfigurationrecorder)\n\n\u003e **NOTE:** Available since v1.99.0.\n\n\u003e **NOTE:** The Cloud Config region only support `cn-shanghai` and `ap-southeast-1`.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cfg.ConfigurationRecorder(\"example\", {resourceTypes: [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cfg.ConfigurationRecorder(\"example\", resource_types=[\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cfg.ConfigurationRecorder(\"example\", new()\n {\n ResourceTypes = new[]\n {\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConfigurationRecorder(ctx, \"example\", \u0026cfg.ConfigurationRecorderArgs{\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t\tpulumi.String(\"ACS::ECS::Disk\"),\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.alicloud.cfg.ConfigurationRecorder;\nimport com.pulumi.alicloud.cfg.ConfigurationRecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ConfigurationRecorder(\"example\", ConfigurationRecorderArgs.builder()\n .resourceTypes( \n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cfg:ConfigurationRecorder\n properties:\n resourceTypes:\n - ACS::ECS::Instance\n - ACS::ECS::Disk\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlicloud Config Configuration Recorder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/configurationRecorder:ConfigurationRecorder example 122378463********\n```\n\n", + "description": "Provides a Alicloud Config Configuration Recorder resource. Cloud Config is a specialized service for evaluating resources. Cloud Config tracks configuration changes of your resources and evaluates configuration compliance. Cloud Config can help you evaluate numerous resources and maintain the continuous compliance of your cloud infrastructure.\nFor information about Alicloud Config Configuration Recorder and how to use it, see [What is Configuration Recorder.](https://www.alibabacloud.com/help/en/cloud-config/latest/startconfigurationrecorder)\n\n\u003e **NOTE:** Available since v1.99.0.\n\n\u003e **NOTE:** The Cloud Config region only support `cn-shanghai` and `ap-southeast-1`.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cfg.ConfigurationRecorder(\"example\", {resourceTypes: [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n]});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cfg.ConfigurationRecorder(\"example\", resource_types=[\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cfg.ConfigurationRecorder(\"example\", new()\n {\n ResourceTypes = new[]\n {\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cfg.NewConfigurationRecorder(ctx, \"example\", \u0026cfg.ConfigurationRecorderArgs{\n\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t\tpulumi.String(\"ACS::ECS::Disk\"),\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.alicloud.cfg.ConfigurationRecorder;\nimport com.pulumi.alicloud.cfg.ConfigurationRecorderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ConfigurationRecorder(\"example\", ConfigurationRecorderArgs.builder()\n .resourceTypes( \n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cfg:ConfigurationRecorder\n properties:\n resourceTypes:\n - ACS::ECS::Instance\n - ACS::ECS::Disk\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlicloud Config Configuration Recorder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/configurationRecorder:ConfigurationRecorder example 122378463********\n```\n\n", "properties": { "enterpriseEdition": { "type": "boolean", @@ -118249,7 +120114,7 @@ } }, "alicloud:cfg/delivery:Delivery": { - "description": "Provides a Config Delivery resource.\n\nDelivery channel of current account.\n\nFor information about Config Delivery and how to use it, see [What is Delivery](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createconfigdeliverychannel).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-sls\";\nconst _this = alicloud.getAccount({});\nconst thisGetRegions = alicloud.getRegions({\n current: true,\n});\nconst _default = new alicloud.log.Project(\"default\", {projectName: name});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n logstoreName: name,\n projectName: _default.projectName,\n});\nconst defaultDelivery = new alicloud.cfg.Delivery(\"default\", {\n configurationItemChangeNotification: true,\n nonCompliantNotification: true,\n deliveryChannelName: name,\n deliveryChannelTargetArn: pulumi.all([thisGetRegions, _this, _default.projectName, defaultStore.logstoreName]).apply(([thisGetRegions, _this, projectName, logstoreName]) =\u003e `acs:log:${thisGetRegions.ids?.[0]}:${_this.id}:project/${projectName}/logstore/${logstoreName}`),\n deliveryChannelType: \"SLS\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-sls\"\nthis = alicloud.get_account()\nthis_get_regions = alicloud.get_regions(current=True)\ndefault = alicloud.log.Project(\"default\", project_name=name)\ndefault_store = alicloud.log.Store(\"default\",\n logstore_name=name,\n project_name=default.project_name)\ndefault_delivery = alicloud.cfg.Delivery(\"default\",\n configuration_item_change_notification=True,\n non_compliant_notification=True,\n delivery_channel_name=name,\n delivery_channel_target_arn=pulumi.Output.all(\n project_name=default.project_name,\n logstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"acs:log:{this_get_regions.ids[0]}:{this.id}:project/{resolved_outputs['project_name']}/logstore/{resolved_outputs['logstore_name']}\")\n,\n delivery_channel_type=\"SLS\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-sls\";\n var @this = AliCloud.GetAccount.Invoke();\n\n var thisGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var @default = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = name,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n LogstoreName = name,\n ProjectName = @default.ProjectName,\n });\n\n var defaultDelivery = new AliCloud.Cfg.Delivery(\"default\", new()\n {\n ConfigurationItemChangeNotification = true,\n NonCompliantNotification = true,\n DeliveryChannelName = name,\n DeliveryChannelTargetArn = Output.Tuple(thisGetRegions, @this, @default.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var thisGetRegions = values.Item1;\n var @this = values.Item2;\n var projectName = values.Item3;\n var logstoreName = values.Item4;\n return $\"acs:log:{thisGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Ids[0])}:{@this.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}/logstore/{logstoreName}\";\n }),\n DeliveryChannelType = \"SLS\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-sls\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tProjectName: _default.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDelivery(ctx, \"default\", \u0026cfg.DeliveryArgs{\n\t\t\tConfigurationItemChangeNotification: pulumi.Bool(true),\n\t\t\tNonCompliantNotification: pulumi.Bool(true),\n\t\t\tDeliveryChannelName: pulumi.String(name),\n\t\t\tDeliveryChannelTargetArn: pulumi.All(_default.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprojectName := _args[0].(string)\n\t\t\t\tlogstoreName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v/logstore/%v\", thisGetRegions.Ids[0], this.Id, projectName, logstoreName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDeliveryChannelType: pulumi.String(\"SLS\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cfg.Delivery;\nimport com.pulumi.alicloud.cfg.DeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-sls\");\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var thisGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .projectName(name)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .logstoreName(name)\n .projectName(default_.projectName())\n .build());\n\n var defaultDelivery = new Delivery(\"defaultDelivery\", DeliveryArgs.builder()\n .configurationItemChangeNotification(true)\n .nonCompliantNotification(true)\n .deliveryChannelName(name)\n .deliveryChannelTargetArn(Output.tuple(default_.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var projectName = values.t1;\n var logstoreName = values.t2;\n return String.format(\"acs:log:%s:%s:project/%s/logstore/%s\", thisGetRegions.ids()[0],this_.id(),projectName,logstoreName);\n }))\n .deliveryChannelType(\"SLS\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-sls\nresources:\n default:\n type: alicloud:log:Project\n properties:\n projectName: ${name}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n logstoreName: ${name}\n projectName: ${default.projectName}\n defaultDelivery:\n type: alicloud:cfg:Delivery\n name: default\n properties:\n configurationItemChangeNotification: true\n nonCompliantNotification: true\n deliveryChannelName: ${name}\n deliveryChannelTargetArn: acs:log:${thisGetRegions.ids[0]}:${this.id}:project/${default.projectName}/logstore/${defaultStore.logstoreName}\n deliveryChannelType: SLS\n description: ${name}\nvariables:\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n thisGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfig Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/delivery:Delivery example \u003cid\u003e\n```\n\n", + "description": "Provides a Config Delivery resource.\n\nDelivery channel of current account.\n\nFor information about Config Delivery and how to use it, see [What is Delivery](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createconfigdeliverychannel).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-sls\";\nconst _this = alicloud.getAccount({});\nconst thisGetRegions = alicloud.getRegions({\n current: true,\n});\nconst _default = new alicloud.log.Project(\"default\", {projectName: name});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n logstoreName: name,\n projectName: _default.projectName,\n});\nconst defaultDelivery = new alicloud.cfg.Delivery(\"default\", {\n configurationItemChangeNotification: true,\n nonCompliantNotification: true,\n deliveryChannelName: name,\n deliveryChannelTargetArn: pulumi.all([thisGetRegions, _this, _default.projectName, defaultStore.logstoreName]).apply(([thisGetRegions, _this, projectName, logstoreName]) =\u003e `acs:log:${thisGetRegions.ids?.[0]}:${_this.id}:project/${projectName}/logstore/${logstoreName}`),\n deliveryChannelType: \"SLS\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-sls\"\nthis = alicloud.get_account()\nthis_get_regions = alicloud.get_regions(current=True)\ndefault = alicloud.log.Project(\"default\", project_name=name)\ndefault_store = alicloud.log.Store(\"default\",\n logstore_name=name,\n project_name=default.project_name)\ndefault_delivery = alicloud.cfg.Delivery(\"default\",\n configuration_item_change_notification=True,\n non_compliant_notification=True,\n delivery_channel_name=name,\n delivery_channel_target_arn=pulumi.Output.all(\n project_name=default.project_name,\n logstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"acs:log:{this_get_regions.ids[0]}:{this.id}:project/{resolved_outputs['project_name']}/logstore/{resolved_outputs['logstore_name']}\")\n,\n delivery_channel_type=\"SLS\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-sls\";\n var @this = AliCloud.GetAccount.Invoke();\n\n var thisGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var @default = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = name,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n LogstoreName = name,\n ProjectName = @default.ProjectName,\n });\n\n var defaultDelivery = new AliCloud.Cfg.Delivery(\"default\", new()\n {\n ConfigurationItemChangeNotification = true,\n NonCompliantNotification = true,\n DeliveryChannelName = name,\n DeliveryChannelTargetArn = Output.Tuple(thisGetRegions, @this, @default.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var thisGetRegions = values.Item1;\n var @this = values.Item2;\n var projectName = values.Item3;\n var logstoreName = values.Item4;\n return $\"acs:log:{thisGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Ids[0])}:{@this.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}/logstore/{logstoreName}\";\n }),\n DeliveryChannelType = \"SLS\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-sls\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tProjectName: _default.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewDelivery(ctx, \"default\", \u0026cfg.DeliveryArgs{\n\t\t\tConfigurationItemChangeNotification: pulumi.Bool(true),\n\t\t\tNonCompliantNotification: pulumi.Bool(true),\n\t\t\tDeliveryChannelName: pulumi.String(name),\n\t\t\tDeliveryChannelTargetArn: pulumi.All(_default.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprojectName := _args[0].(string)\n\t\t\t\tlogstoreName := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v/logstore/%v\", thisGetRegions.Ids[0], this.Id, projectName, logstoreName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDeliveryChannelType: pulumi.String(\"SLS\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cfg.Delivery;\nimport com.pulumi.alicloud.cfg.DeliveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-sls\");\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var thisGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .projectName(name)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .logstoreName(name)\n .projectName(default_.projectName())\n .build());\n\n var defaultDelivery = new Delivery(\"defaultDelivery\", DeliveryArgs.builder()\n .configurationItemChangeNotification(true)\n .nonCompliantNotification(true)\n .deliveryChannelName(name)\n .deliveryChannelTargetArn(Output.tuple(default_.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var projectName = values.t1;\n var logstoreName = values.t2;\n return String.format(\"acs:log:%s:%s:project/%s/logstore/%s\", thisGetRegions.ids()[0],this_.id(),projectName,logstoreName);\n }))\n .deliveryChannelType(\"SLS\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-sls\nresources:\n default:\n type: alicloud:log:Project\n properties:\n projectName: ${name}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n logstoreName: ${name}\n projectName: ${default.projectName}\n defaultDelivery:\n type: alicloud:cfg:Delivery\n name: default\n properties:\n configurationItemChangeNotification: true\n nonCompliantNotification: true\n deliveryChannelName: ${name}\n deliveryChannelTargetArn: acs:log:${thisGetRegions.ids[0]}:${this.id}:project/${default.projectName}/logstore/${defaultStore.logstoreName}\n deliveryChannelType: SLS\n description: ${name}\nvariables:\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n thisGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nConfig Delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/delivery:Delivery example \u003cid\u003e\n```\n\n", "properties": { "configurationItemChangeNotification": { "type": "boolean", @@ -118393,7 +120258,7 @@ } }, "alicloud:cfg/deliveryChannel:DeliveryChannel": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new alicloud.mns.Topic(\"example\", {name: \"test-topic\"});\n// Example for create a MNS delivery channel\nconst exampleDeliveryChannel = new alicloud.cfg.DeliveryChannel(\"example\", {\n description: \"channel_description\",\n deliveryChannelName: \"channel_name\",\n deliveryChannelAssumeRoleArn: \"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n deliveryChannelType: \"MNS\",\n deliveryChannelTargetArn: std.format({\n input: \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n args: [example.name],\n }).then(invoke =\u003e invoke.result),\n deliveryChannelCondition: ` [\n {\n \\\\\"filterType\\\\\":\\\\\"ResourceType\\\\\",\n \\\\\"values\\\\\":[\n \\\\\"ACS::CEN::CenInstance\\\\\",\n \\\\\"ACS::CEN::Flowlog\\\\\",\n ],\n \\\\\"multiple\\\\\":true\n }\n ]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nexample = alicloud.mns.Topic(\"example\", name=\"test-topic\")\n# Example for create a MNS delivery channel\nexample_delivery_channel = alicloud.cfg.DeliveryChannel(\"example\",\n description=\"channel_description\",\n delivery_channel_name=\"channel_name\",\n delivery_channel_assume_role_arn=\"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n delivery_channel_type=\"MNS\",\n delivery_channel_target_arn=std.format(input=\"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n args=[example.name]).result,\n delivery_channel_condition=\"\"\" [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Mns.Topic(\"example\", new()\n {\n Name = \"test-topic\",\n });\n\n // Example for create a MNS delivery channel\n var exampleDeliveryChannel = new AliCloud.Cfg.DeliveryChannel(\"example\", new()\n {\n Description = \"channel_description\",\n DeliveryChannelName = \"channel_name\",\n DeliveryChannelAssumeRoleArn = \"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n DeliveryChannelType = \"MNS\",\n DeliveryChannelTargetArn = Std.Format.Invoke(new()\n {\n Input = \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n Args = new[]\n {\n example.Name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DeliveryChannelCondition = @\" [\n {\n \\\"\"filterType\\\"\":\\\"\"ResourceType\\\"\",\n \\\"\"values\\\"\":[\n \\\"\"ACS::CEN::CenInstance\\\"\",\n \\\"\"ACS::CEN::Flowlog\\\"\",\n ],\n \\\"\"multiple\\\"\":true\n }\n ]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mns.NewTopic(ctx, \"example\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"test-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n\t\t\tArgs: pulumi.StringArray{\n\t\t\t\texample.Name,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example for create a MNS delivery channel\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"example\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tDescription: pulumi.String(\"channel_description\"),\n\t\t\tDeliveryChannelName: pulumi.String(\"channel_name\"),\n\t\t\tDeliveryChannelAssumeRoleArn: pulumi.String(\"acs:ram::11827252********:role/aliyunserviceroleforconfig\"),\n\t\t\tDeliveryChannelType: pulumi.String(\"MNS\"),\n\t\t\tDeliveryChannelTargetArn: pulumi.String(invokeFormat.Result),\n\t\t\tDeliveryChannelCondition: pulumi.String(` [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\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.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.cfg.DeliveryChannel;\nimport com.pulumi.alicloud.cfg.DeliveryChannelArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Topic(\"example\", TopicArgs.builder()\n .name(\"test-topic\")\n .build());\n\n // Example for create a MNS delivery channel\n var exampleDeliveryChannel = new DeliveryChannel(\"exampleDeliveryChannel\", DeliveryChannelArgs.builder()\n .description(\"channel_description\")\n .deliveryChannelName(\"channel_name\")\n .deliveryChannelAssumeRoleArn(\"acs:ram::11827252********:role/aliyunserviceroleforconfig\")\n .deliveryChannelType(\"MNS\")\n .deliveryChannelTargetArn(StdFunctions.format(FormatArgs.builder()\n .input(\"acs:oss:cn-shanghai:11827252********:/topics/%s\")\n .args(example.name())\n .build()).result())\n .deliveryChannelCondition(\"\"\"\n [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mns:Topic\n properties:\n name: test-topic\n # Example for create a MNS delivery channel\n exampleDeliveryChannel:\n type: alicloud:cfg:DeliveryChannel\n name: example\n properties:\n description: channel_description\n deliveryChannelName: channel_name\n deliveryChannelAssumeRoleArn: acs:ram::11827252********:role/aliyunserviceroleforconfig\n deliveryChannelType: MNS\n deliveryChannelTargetArn:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:oss:cn-shanghai:11827252********:/topics/%s\n args:\n - ${example.name}\n return: result\n deliveryChannelCondition: |2\n [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlicloud Config Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/deliveryChannel:DeliveryChannel example cdc-49a2ad756057********\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new alicloud.mns.Topic(\"example\", {name: \"test-topic\"});\n// Example for create a MNS delivery channel\nconst exampleDeliveryChannel = new alicloud.cfg.DeliveryChannel(\"example\", {\n description: \"channel_description\",\n deliveryChannelName: \"channel_name\",\n deliveryChannelAssumeRoleArn: \"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n deliveryChannelType: \"MNS\",\n deliveryChannelTargetArn: std.format({\n input: \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n args: [example.name],\n }).then(invoke =\u003e invoke.result),\n deliveryChannelCondition: ` [\n {\n \\\\\"filterType\\\\\":\\\\\"ResourceType\\\\\",\n \\\\\"values\\\\\":[\n \\\\\"ACS::CEN::CenInstance\\\\\",\n \\\\\"ACS::CEN::Flowlog\\\\\",\n ],\n \\\\\"multiple\\\\\":true\n }\n ]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nexample = alicloud.mns.Topic(\"example\", name=\"test-topic\")\n# Example for create a MNS delivery channel\nexample_delivery_channel = alicloud.cfg.DeliveryChannel(\"example\",\n description=\"channel_description\",\n delivery_channel_name=\"channel_name\",\n delivery_channel_assume_role_arn=\"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n delivery_channel_type=\"MNS\",\n delivery_channel_target_arn=std.format(input=\"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n args=[example.name]).result,\n delivery_channel_condition=\"\"\" [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Mns.Topic(\"example\", new()\n {\n Name = \"test-topic\",\n });\n\n // Example for create a MNS delivery channel\n var exampleDeliveryChannel = new AliCloud.Cfg.DeliveryChannel(\"example\", new()\n {\n Description = \"channel_description\",\n DeliveryChannelName = \"channel_name\",\n DeliveryChannelAssumeRoleArn = \"acs:ram::11827252********:role/aliyunserviceroleforconfig\",\n DeliveryChannelType = \"MNS\",\n DeliveryChannelTargetArn = Std.Format.Invoke(new()\n {\n Input = \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n Args = new[]\n {\n example.Name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DeliveryChannelCondition = @\" [\n {\n \\\"\"filterType\\\"\":\\\"\"ResourceType\\\"\",\n \\\"\"values\\\"\":[\n \\\"\"ACS::CEN::CenInstance\\\"\",\n \\\"\"ACS::CEN::Flowlog\\\"\",\n ],\n \\\"\"multiple\\\"\":true\n }\n ]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := mns.NewTopic(ctx, \"example\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"test-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:oss:cn-shanghai:11827252********:/topics/%s\",\n\t\t\tArgs: pulumi.StringArray{\n\t\t\t\texample.Name,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example for create a MNS delivery channel\n\t\t_, err = cfg.NewDeliveryChannel(ctx, \"example\", \u0026cfg.DeliveryChannelArgs{\n\t\t\tDescription: pulumi.String(\"channel_description\"),\n\t\t\tDeliveryChannelName: pulumi.String(\"channel_name\"),\n\t\t\tDeliveryChannelAssumeRoleArn: pulumi.String(\"acs:ram::11827252********:role/aliyunserviceroleforconfig\"),\n\t\t\tDeliveryChannelType: pulumi.String(\"MNS\"),\n\t\t\tDeliveryChannelTargetArn: pulumi.String(invokeFormat.Result),\n\t\t\tDeliveryChannelCondition: pulumi.String(` [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\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.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.cfg.DeliveryChannel;\nimport com.pulumi.alicloud.cfg.DeliveryChannelArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Topic(\"example\", TopicArgs.builder()\n .name(\"test-topic\")\n .build());\n\n // Example for create a MNS delivery channel\n var exampleDeliveryChannel = new DeliveryChannel(\"exampleDeliveryChannel\", DeliveryChannelArgs.builder()\n .description(\"channel_description\")\n .deliveryChannelName(\"channel_name\")\n .deliveryChannelAssumeRoleArn(\"acs:ram::11827252********:role/aliyunserviceroleforconfig\")\n .deliveryChannelType(\"MNS\")\n .deliveryChannelTargetArn(StdFunctions.format(FormatArgs.builder()\n .input(\"acs:oss:cn-shanghai:11827252********:/topics/%s\")\n .args(example.name())\n .build()).result())\n .deliveryChannelCondition(\"\"\"\n [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mns:Topic\n properties:\n name: test-topic\n # Example for create a MNS delivery channel\n exampleDeliveryChannel:\n type: alicloud:cfg:DeliveryChannel\n name: example\n properties:\n description: channel_description\n deliveryChannelName: channel_name\n deliveryChannelAssumeRoleArn: acs:ram::11827252********:role/aliyunserviceroleforconfig\n deliveryChannelType: MNS\n deliveryChannelTargetArn:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:oss:cn-shanghai:11827252********:/topics/%s\n args:\n - ${example.name}\n return: result\n deliveryChannelCondition: |2\n [\n {\n \\\"filterType\\\":\\\"ResourceType\\\",\n \\\"values\\\":[\n \\\"ACS::CEN::CenInstance\\\",\n \\\"ACS::CEN::Flowlog\\\",\n ],\n \\\"multiple\\\":true\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlicloud Config Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/deliveryChannel:DeliveryChannel example cdc-49a2ad756057********\n```\n\n", "properties": { "deliveryChannelAssumeRoleArn": { "type": "string", @@ -118506,7 +120371,7 @@ } }, "alicloud:cfg/remediation:Remediation": { - "description": "Provides a Config Remediation resource.\n\nFor information about Config Remediation and how to use it, see [What is Remediation](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createremediation).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-oss\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {\n bucket: `${name}-${defaultInteger.result}`,\n tags: {\n For: \"example\",\n },\n});\nconst nameBucketAcl = new alicloud.oss.BucketAcl(\"name\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read\",\n});\nconst defaultRule = new alicloud.cfg.Rule(\"default\", {\n description: \"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"oss-bucket-public-read-prohibited\",\n riskLevel: 1,\n tagKeyScope: \"For\",\n tagValueScope: \"example\",\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n resourceTypesScopes: [\"ACS::OSS::Bucket\"],\n ruleName: \"oss-bucket-public-read-prohibited\",\n});\nconst defaultRemediation = new alicloud.cfg.Remediation(\"default\", {\n configRuleId: defaultRule.configRuleId,\n remediationTemplateId: \"ACS-OSS-PutBucketAcl\",\n remediationSourceType: \"ALIYUN\",\n invokeType: \"MANUAL_EXECUTION\",\n params: Promise.all([defaultBucket.bucket, _default]).then(([bucket, _default]) =\u003e `{\"bucketName\": \"${bucket}\", \"regionId\": \"${_default.regions?.[0]?.id}\", \"permissionName\": \"private\"}`),\n remediationType: \"OOS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-oss\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_bucket = alicloud.oss.Bucket(\"default\",\n bucket=f\"{name}-{default_integer['result']}\",\n tags={\n \"For\": \"example\",\n })\nname_bucket_acl = alicloud.oss.BucketAcl(\"name\",\n bucket=default_bucket.bucket,\n acl=\"public-read\")\ndefault_rule = alicloud.cfg.Rule(\"default\",\n description=\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n source_owner=\"ALIYUN\",\n source_identifier=\"oss-bucket-public-read-prohibited\",\n risk_level=1,\n tag_key_scope=\"For\",\n tag_value_scope=\"example\",\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n resource_types_scopes=[\"ACS::OSS::Bucket\"],\n rule_name=\"oss-bucket-public-read-prohibited\")\ndefault_remediation = alicloud.cfg.Remediation(\"default\",\n config_rule_id=default_rule.config_rule_id,\n remediation_template_id=\"ACS-OSS-PutBucketAcl\",\n remediation_source_type=\"ALIYUN\",\n invoke_type=\"MANUAL_EXECUTION\",\n params=default_bucket.bucket.apply(lambda bucket: f\"{{\\\"bucketName\\\": \\\"{bucket}\\\", \\\"regionId\\\": \\\"{default.regions[0].id}\\\", \\\"permissionName\\\": \\\"private\\\"}}\"),\n remediation_type=\"OOS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-oss\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{defaultInteger.Result}\",\n Tags = \n {\n { \"For\", \"example\" },\n },\n });\n\n var nameBucketAcl = new AliCloud.Oss.BucketAcl(\"name\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read\",\n });\n\n var defaultRule = new AliCloud.Cfg.Rule(\"default\", new()\n {\n Description = \"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"oss-bucket-public-read-prohibited\",\n RiskLevel = 1,\n TagKeyScope = \"For\",\n TagValueScope = \"example\",\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::OSS::Bucket\",\n },\n RuleName = \"oss-bucket-public-read-prohibited\",\n });\n\n var defaultRemediation = new AliCloud.Cfg.Remediation(\"default\", new()\n {\n ConfigRuleId = defaultRule.ConfigRuleId,\n RemediationTemplateId = \"ACS-OSS-PutBucketAcl\",\n RemediationSourceType = \"ALIYUN\",\n InvokeType = \"MANUAL_EXECUTION\",\n Params = Output.Tuple(defaultBucket.BucketName, @default).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var @default = values.Item2;\n return $\"{{\\\"bucketName\\\": \\\"{bucket}\\\", \\\"regionId\\\": \\\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}\\\", \\\"permissionName\\\": \\\"private\\\"}}\";\n }),\n RemediationType = \"OOS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-oss\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"name\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRule, err := cfg.NewRule(ctx, \"default\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"oss-bucket-public-read-prohibited\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tTagKeyScope: pulumi.String(\"For\"),\n\t\t\tTagValueScope: pulumi.String(\"example\"),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::OSS::Bucket\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"oss-bucket-public-read-prohibited\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRemediation(ctx, \"default\", \u0026cfg.RemediationArgs{\n\t\t\tConfigRuleId: defaultRule.ConfigRuleId,\n\t\t\tRemediationTemplateId: pulumi.String(\"ACS-OSS-PutBucketAcl\"),\n\t\t\tRemediationSourceType: pulumi.String(\"ALIYUN\"),\n\t\t\tInvokeType: pulumi.String(\"MANUAL_EXECUTION\"),\n\t\t\tParams: defaultBucket.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\\"bucketName\\\": \\\"%v\\\", \\\"regionId\\\": \\\"%v\\\", \\\"permissionName\\\": \\\"private\\\"}\", bucket, _default.Regions[0].Id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRemediationType: pulumi.String(\"OOS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport com.pulumi.alicloud.cfg.Remediation;\nimport com.pulumi.alicloud.cfg.RemediationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-oss\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,defaultInteger.result()))\n .tags(Map.of(\"For\", \"example\"))\n .build());\n\n var nameBucketAcl = new BucketAcl(\"nameBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read\")\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .description(\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"oss-bucket-public-read-prohibited\")\n .riskLevel(1)\n .tagKeyScope(\"For\")\n .tagValueScope(\"example\")\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .resourceTypesScopes(\"ACS::OSS::Bucket\")\n .ruleName(\"oss-bucket-public-read-prohibited\")\n .build());\n\n var defaultRemediation = new Remediation(\"defaultRemediation\", RemediationArgs.builder()\n .configRuleId(defaultRule.configRuleId())\n .remediationTemplateId(\"ACS-OSS-PutBucketAcl\")\n .remediationSourceType(\"ALIYUN\")\n .invokeType(\"MANUAL_EXECUTION\")\n .params(defaultBucket.bucket().applyValue(_bucket -\u003e String.format(\"{{\\\"bucketName\\\": \\\"%s\\\", \\\"regionId\\\": \\\"%s\\\", \\\"permissionName\\\": \\\"private\\\"}}\", _bucket,default_.regions()[0].id())))\n .remediationType(\"OOS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-oss\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${defaultInteger.result}\n tags:\n For: example\n nameBucketAcl:\n type: alicloud:oss:BucketAcl\n name: name\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read\n defaultRule:\n type: alicloud:cfg:Rule\n name: default\n properties:\n description: If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\n sourceOwner: ALIYUN\n sourceIdentifier: oss-bucket-public-read-prohibited\n riskLevel: 1\n tagKeyScope: For\n tagValueScope: example\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ConfigurationItemChangeNotification\n resourceTypesScopes:\n - ACS::OSS::Bucket\n ruleName: oss-bucket-public-read-prohibited\n defaultRemediation:\n type: alicloud:cfg:Remediation\n name: default\n properties:\n configRuleId: ${defaultRule.configRuleId}\n remediationTemplateId: ACS-OSS-PutBucketAcl\n remediationSourceType: ALIYUN\n invokeType: MANUAL_EXECUTION\n params: '{\"bucketName\": \"${defaultBucket.bucket}\", \"regionId\": \"${default.regions[0].id}\", \"permissionName\": \"private\"}'\n remediationType: OOS\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfig Remediation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/remediation:Remediation example \u003cid\u003e\n```\n\n", + "description": "Provides a Config Remediation resource.\n\nFor information about Config Remediation and how to use it, see [What is Remediation](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createremediation).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-oss\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {\n bucket: `${name}-${defaultInteger.result}`,\n tags: {\n For: \"example\",\n },\n});\nconst nameBucketAcl = new alicloud.oss.BucketAcl(\"name\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read\",\n});\nconst defaultRule = new alicloud.cfg.Rule(\"default\", {\n description: \"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"oss-bucket-public-read-prohibited\",\n riskLevel: 1,\n tagKeyScope: \"For\",\n tagValueScope: \"example\",\n regionIdsScope: _default.then(_default =\u003e _default.regions?.[0]?.id),\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n resourceTypesScopes: [\"ACS::OSS::Bucket\"],\n ruleName: \"oss-bucket-public-read-prohibited\",\n});\nconst defaultRemediation = new alicloud.cfg.Remediation(\"default\", {\n configRuleId: defaultRule.configRuleId,\n remediationTemplateId: \"ACS-OSS-PutBucketAcl\",\n remediationSourceType: \"ALIYUN\",\n invokeType: \"MANUAL_EXECUTION\",\n params: Promise.all([defaultBucket.bucket, _default]).then(([bucket, _default]) =\u003e `{\"bucketName\": \"${bucket}\", \"regionId\": \"${_default.regions?.[0]?.id}\", \"permissionName\": \"private\"}`),\n remediationType: \"OOS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-oss\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_bucket = alicloud.oss.Bucket(\"default\",\n bucket=f\"{name}-{default_integer['result']}\",\n tags={\n \"For\": \"example\",\n })\nname_bucket_acl = alicloud.oss.BucketAcl(\"name\",\n bucket=default_bucket.bucket,\n acl=\"public-read\")\ndefault_rule = alicloud.cfg.Rule(\"default\",\n description=\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n source_owner=\"ALIYUN\",\n source_identifier=\"oss-bucket-public-read-prohibited\",\n risk_level=1,\n tag_key_scope=\"For\",\n tag_value_scope=\"example\",\n region_ids_scope=default.regions[0].id,\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n resource_types_scopes=[\"ACS::OSS::Bucket\"],\n rule_name=\"oss-bucket-public-read-prohibited\")\ndefault_remediation = alicloud.cfg.Remediation(\"default\",\n config_rule_id=default_rule.config_rule_id,\n remediation_template_id=\"ACS-OSS-PutBucketAcl\",\n remediation_source_type=\"ALIYUN\",\n invoke_type=\"MANUAL_EXECUTION\",\n params=default_bucket.bucket.apply(lambda bucket: f\"{{\\\"bucketName\\\": \\\"{bucket}\\\", \\\"regionId\\\": \\\"{default.regions[0].id}\\\", \\\"permissionName\\\": \\\"private\\\"}}\"),\n remediation_type=\"OOS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-oss\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{defaultInteger.Result}\",\n Tags = \n {\n { \"For\", \"example\" },\n },\n });\n\n var nameBucketAcl = new AliCloud.Oss.BucketAcl(\"name\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read\",\n });\n\n var defaultRule = new AliCloud.Cfg.Rule(\"default\", new()\n {\n Description = \"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"oss-bucket-public-read-prohibited\",\n RiskLevel = 1,\n TagKeyScope = \"For\",\n TagValueScope = \"example\",\n RegionIdsScope = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n ResourceTypesScopes = new[]\n {\n \"ACS::OSS::Bucket\",\n },\n RuleName = \"oss-bucket-public-read-prohibited\",\n });\n\n var defaultRemediation = new AliCloud.Cfg.Remediation(\"default\", new()\n {\n ConfigRuleId = defaultRule.ConfigRuleId,\n RemediationTemplateId = \"ACS-OSS-PutBucketAcl\",\n RemediationSourceType = \"ALIYUN\",\n InvokeType = \"MANUAL_EXECUTION\",\n Params = Output.Tuple(defaultBucket.BucketName, @default).Apply(values =\u003e\n {\n var bucket = values.Item1;\n var @default = values.Item2;\n return $\"{{\\\"bucketName\\\": \\\"{bucket}\\\", \\\"regionId\\\": \\\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}\\\", \\\"permissionName\\\": \\\"private\\\"}}\";\n }),\n RemediationType = \"OOS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-oss\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"name\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRule, err := cfg.NewRule(ctx, \"default\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"oss-bucket-public-read-prohibited\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tTagKeyScope: pulumi.String(\"For\"),\n\t\t\tTagValueScope: pulumi.String(\"example\"),\n\t\t\tRegionIdsScope: pulumi.String(_default.Regions[0].Id),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::OSS::Bucket\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"oss-bucket-public-read-prohibited\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRemediation(ctx, \"default\", \u0026cfg.RemediationArgs{\n\t\t\tConfigRuleId: defaultRule.ConfigRuleId,\n\t\t\tRemediationTemplateId: pulumi.String(\"ACS-OSS-PutBucketAcl\"),\n\t\t\tRemediationSourceType: pulumi.String(\"ALIYUN\"),\n\t\t\tInvokeType: pulumi.String(\"MANUAL_EXECUTION\"),\n\t\t\tParams: defaultBucket.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"{\\\"bucketName\\\": \\\"%v\\\", \\\"regionId\\\": \\\"%v\\\", \\\"permissionName\\\": \\\"private\\\"}\", bucket, _default.Regions[0].Id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tRemediationType: pulumi.String(\"OOS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport com.pulumi.alicloud.cfg.Remediation;\nimport com.pulumi.alicloud.cfg.RemediationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-oss\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,defaultInteger.result()))\n .tags(Map.of(\"For\", \"example\"))\n .build());\n\n var nameBucketAcl = new BucketAcl(\"nameBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read\")\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .description(\"If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"oss-bucket-public-read-prohibited\")\n .riskLevel(1)\n .tagKeyScope(\"For\")\n .tagValueScope(\"example\")\n .regionIdsScope(default_.regions()[0].id())\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .resourceTypesScopes(\"ACS::OSS::Bucket\")\n .ruleName(\"oss-bucket-public-read-prohibited\")\n .build());\n\n var defaultRemediation = new Remediation(\"defaultRemediation\", RemediationArgs.builder()\n .configRuleId(defaultRule.configRuleId())\n .remediationTemplateId(\"ACS-OSS-PutBucketAcl\")\n .remediationSourceType(\"ALIYUN\")\n .invokeType(\"MANUAL_EXECUTION\")\n .params(defaultBucket.bucket().applyValue(_bucket -\u003e String.format(\"{{\\\"bucketName\\\": \\\"%s\\\", \\\"regionId\\\": \\\"%s\\\", \\\"permissionName\\\": \\\"private\\\"}}\", _bucket,default_.regions()[0].id())))\n .remediationType(\"OOS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-oss\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${defaultInteger.result}\n tags:\n For: example\n nameBucketAcl:\n type: alicloud:oss:BucketAcl\n name: name\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read\n defaultRule:\n type: alicloud:cfg:Rule\n name: default\n properties:\n description: If the ACL policy of the OSS bucket denies read access from the Internet, the configuration is considered compliant.\n sourceOwner: ALIYUN\n sourceIdentifier: oss-bucket-public-read-prohibited\n riskLevel: 1\n tagKeyScope: For\n tagValueScope: example\n regionIdsScope: ${default.regions[0].id}\n configRuleTriggerTypes: ConfigurationItemChangeNotification\n resourceTypesScopes:\n - ACS::OSS::Bucket\n ruleName: oss-bucket-public-read-prohibited\n defaultRemediation:\n type: alicloud:cfg:Remediation\n name: default\n properties:\n configRuleId: ${defaultRule.configRuleId}\n remediationTemplateId: ACS-OSS-PutBucketAcl\n remediationSourceType: ALIYUN\n invokeType: MANUAL_EXECUTION\n params: '{\"bucketName\": \"${defaultBucket.bucket}\", \"regionId\": \"${default.regions[0].id}\", \"permissionName\": \"private\"}'\n remediationType: OOS\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nConfig Remediation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/remediation:Remediation example \u003cid\u003e\n```\n\n", "properties": { "configRuleId": { "type": "string", @@ -118621,7 +120486,7 @@ } }, "alicloud:cfg/rule:Rule": { - "description": "Provides a Config Rule resource.\n\nFor information about Config Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createconfigrule).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultRule = new alicloud.cfg.Rule(\"default\", {\n description: \"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n riskLevel: 1,\n tagValueScope: \"example-value\",\n tagKeyScope: \"example-key\",\n excludeResourceIdsScope: \"example-resource_id\",\n regionIdsScope: \"cn-hangzhou\",\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n resourceGroupIdsScope: _default.then(_default =\u003e _default.ids?.[0]),\n resourceTypesScopes: [\"ACS::RDS::DBInstance\"],\n ruleName: \"contains-tag\",\n inputParameters: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_rule = alicloud.cfg.Rule(\"default\",\n description=\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n risk_level=1,\n tag_value_scope=\"example-value\",\n tag_key_scope=\"example-key\",\n exclude_resource_ids_scope=\"example-resource_id\",\n region_ids_scope=\"cn-hangzhou\",\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n resource_group_ids_scope=default.ids[0],\n resource_types_scopes=[\"ACS::RDS::DBInstance\"],\n rule_name=\"contains-tag\",\n input_parameters={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultRule = new AliCloud.Cfg.Rule(\"default\", new()\n {\n Description = \"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n RiskLevel = 1,\n TagValueScope = \"example-value\",\n TagKeyScope = \"example-key\",\n ExcludeResourceIdsScope = \"example-resource_id\",\n RegionIdsScope = \"cn-hangzhou\",\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n ResourceGroupIdsScope = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceTypesScopes = new[]\n {\n \"ACS::RDS::DBInstance\",\n },\n RuleName = \"contains-tag\",\n InputParameters = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"default\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tTagValueScope: pulumi.String(\"example-value\"),\n\t\t\tTagKeyScope: pulumi.String(\"example-key\"),\n\t\t\tExcludeResourceIdsScope: pulumi.String(\"example-resource_id\"),\n\t\t\tRegionIdsScope: pulumi.String(\"cn-hangzhou\"),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tResourceGroupIdsScope: pulumi.String(_default.Ids[0]),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::RDS::DBInstance\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .description(\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .riskLevel(1)\n .tagValueScope(\"example-value\")\n .tagKeyScope(\"example-key\")\n .excludeResourceIdsScope(\"example-resource_id\")\n .regionIdsScope(\"cn-hangzhou\")\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .resourceGroupIdsScope(default_.ids()[0])\n .resourceTypesScopes(\"ACS::RDS::DBInstance\")\n .ruleName(\"contains-tag\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultRule:\n type: alicloud:cfg:Rule\n name: default\n properties:\n description: If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\n sourceOwner: ALIYUN\n sourceIdentifier: contains-tag\n riskLevel: 1\n tagValueScope: example-value\n tagKeyScope: example-key\n excludeResourceIdsScope: example-resource_id\n regionIdsScope: cn-hangzhou\n configRuleTriggerTypes: ConfigurationItemChangeNotification\n resourceGroupIdsScope: ${default.ids[0]}\n resourceTypesScopes:\n - ACS::RDS::DBInstance\n ruleName: contains-tag\n inputParameters:\n key1: value1\n key2: value2\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nConfig Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/rule:Rule example \u003cid\u003e\n```\n\n", + "description": "Provides a Config Rule resource.\n\nFor information about Config Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/cloud-config/latest/api-config-2020-09-07-createconfigrule).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultRule = new alicloud.cfg.Rule(\"default\", {\n description: \"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"contains-tag\",\n riskLevel: 1,\n tagValueScope: \"example-value\",\n tagKeyScope: \"example-key\",\n excludeResourceIdsScope: \"example-resource_id\",\n regionIdsScope: \"cn-hangzhou\",\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n resourceGroupIdsScope: _default.then(_default =\u003e _default.ids?.[0]),\n resourceTypesScopes: [\"ACS::RDS::DBInstance\"],\n ruleName: \"contains-tag\",\n inputParameters: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_rule = alicloud.cfg.Rule(\"default\",\n description=\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n source_owner=\"ALIYUN\",\n source_identifier=\"contains-tag\",\n risk_level=1,\n tag_value_scope=\"example-value\",\n tag_key_scope=\"example-key\",\n exclude_resource_ids_scope=\"example-resource_id\",\n region_ids_scope=\"cn-hangzhou\",\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n resource_group_ids_scope=default.ids[0],\n resource_types_scopes=[\"ACS::RDS::DBInstance\"],\n rule_name=\"contains-tag\",\n input_parameters={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultRule = new AliCloud.Cfg.Rule(\"default\", new()\n {\n Description = \"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\",\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"contains-tag\",\n RiskLevel = 1,\n TagValueScope = \"example-value\",\n TagKeyScope = \"example-key\",\n ExcludeResourceIdsScope = \"example-resource_id\",\n RegionIdsScope = \"cn-hangzhou\",\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n ResourceGroupIdsScope = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceTypesScopes = new[]\n {\n \"ACS::RDS::DBInstance\",\n },\n RuleName = \"contains-tag\",\n InputParameters = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cfg.NewRule(ctx, \"default\", \u0026cfg.RuleArgs{\n\t\t\tDescription: pulumi.String(\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\"),\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"contains-tag\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tTagValueScope: pulumi.String(\"example-value\"),\n\t\t\tTagKeyScope: pulumi.String(\"example-key\"),\n\t\t\tExcludeResourceIdsScope: pulumi.String(\"example-resource_id\"),\n\t\t\tRegionIdsScope: pulumi.String(\"cn-hangzhou\"),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tResourceGroupIdsScope: pulumi.String(_default.Ids[0]),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::RDS::DBInstance\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"contains-tag\"),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cfg.Rule;\nimport com.pulumi.alicloud.cfg.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .description(\"If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\")\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"contains-tag\")\n .riskLevel(1)\n .tagValueScope(\"example-value\")\n .tagKeyScope(\"example-key\")\n .excludeResourceIdsScope(\"example-resource_id\")\n .regionIdsScope(\"cn-hangzhou\")\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .resourceGroupIdsScope(default_.ids()[0])\n .resourceTypesScopes(\"ACS::RDS::DBInstance\")\n .ruleName(\"contains-tag\")\n .inputParameters(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultRule:\n type: alicloud:cfg:Rule\n name: default\n properties:\n description: If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.\n sourceOwner: ALIYUN\n sourceIdentifier: contains-tag\n riskLevel: 1\n tagValueScope: example-value\n tagKeyScope: example-key\n excludeResourceIdsScope: example-resource_id\n regionIdsScope: cn-hangzhou\n configRuleTriggerTypes: ConfigurationItemChangeNotification\n resourceGroupIdsScope: ${default.ids[0]}\n resourceTypesScopes:\n - ACS::RDS::DBInstance\n ruleName: contains-tag\n inputParameters:\n key1: value1\n key2: value2\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nConfig Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cfg/rule:Rule example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "integer", @@ -118974,7 +120839,7 @@ } }, "alicloud:chatbot/publishTask:PublishTask": { - "description": "Provides a Chatbot Publish Task resource.\n\nFor information about Chatbot Publish Task and how to use it, see [What is Publish Task](https://help.aliyun.com/document_detail/433996.html).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.chatbot.getAgents({});\nconst defaultPublishTask = new alicloud.chatbot.PublishTask(\"default\", {\n bizType: \"faq\",\n agentKey: _default.then(_default =\u003e _default.agents?.[0]?.agentKey),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.chatbot.get_agents()\ndefault_publish_task = alicloud.chatbot.PublishTask(\"default\",\n biz_type=\"faq\",\n agent_key=default.agents[0].agent_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Chatbot.GetAgents.Invoke();\n\n var defaultPublishTask = new AliCloud.Chatbot.PublishTask(\"default\", new()\n {\n BizType = \"faq\",\n AgentKey = @default.Apply(@default =\u003e @default.Apply(getAgentsResult =\u003e getAgentsResult.Agents[0]?.AgentKey)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/chatbot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := chatbot.GetAgents(ctx, \u0026chatbot.GetAgentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chatbot.NewPublishTask(ctx, \"default\", \u0026chatbot.PublishTaskArgs{\n\t\t\tBizType: pulumi.String(\"faq\"),\n\t\t\tAgentKey: pulumi.String(_default.Agents[0].AgentKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.chatbot.ChatbotFunctions;\nimport com.pulumi.alicloud.chatbot.inputs.GetAgentsArgs;\nimport com.pulumi.alicloud.chatbot.PublishTask;\nimport com.pulumi.alicloud.chatbot.PublishTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ChatbotFunctions.getAgents(GetAgentsArgs.builder()\n .build());\n\n var defaultPublishTask = new PublishTask(\"defaultPublishTask\", PublishTaskArgs.builder()\n .bizType(\"faq\")\n .agentKey(default_.agents()[0].agentKey())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultPublishTask:\n type: alicloud:chatbot:PublishTask\n name: default\n properties:\n bizType: faq\n agentKey: ${default.agents[0].agentKey}\nvariables:\n default:\n fn::invoke:\n function: alicloud:chatbot:getAgents\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nChatbot Publish Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:chatbot/publishTask:PublishTask example \u003cid\u003e\n```\n\n", + "description": "Provides a Chatbot Publish Task resource.\n\nFor information about Chatbot Publish Task and how to use it, see [What is Publish Task](https://help.aliyun.com/document_detail/433996.html).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.chatbot.getAgents({});\nconst defaultPublishTask = new alicloud.chatbot.PublishTask(\"default\", {\n bizType: \"faq\",\n agentKey: _default.then(_default =\u003e _default.agents?.[0]?.agentKey),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.chatbot.get_agents()\ndefault_publish_task = alicloud.chatbot.PublishTask(\"default\",\n biz_type=\"faq\",\n agent_key=default.agents[0].agent_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Chatbot.GetAgents.Invoke();\n\n var defaultPublishTask = new AliCloud.Chatbot.PublishTask(\"default\", new()\n {\n BizType = \"faq\",\n AgentKey = @default.Apply(@default =\u003e @default.Apply(getAgentsResult =\u003e getAgentsResult.Agents[0]?.AgentKey)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/chatbot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := chatbot.GetAgents(ctx, \u0026chatbot.GetAgentsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chatbot.NewPublishTask(ctx, \"default\", \u0026chatbot.PublishTaskArgs{\n\t\t\tBizType: pulumi.String(\"faq\"),\n\t\t\tAgentKey: pulumi.String(_default.Agents[0].AgentKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.chatbot.ChatbotFunctions;\nimport com.pulumi.alicloud.chatbot.inputs.GetAgentsArgs;\nimport com.pulumi.alicloud.chatbot.PublishTask;\nimport com.pulumi.alicloud.chatbot.PublishTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ChatbotFunctions.getAgents(GetAgentsArgs.builder()\n .build());\n\n var defaultPublishTask = new PublishTask(\"defaultPublishTask\", PublishTaskArgs.builder()\n .bizType(\"faq\")\n .agentKey(default_.agents()[0].agentKey())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultPublishTask:\n type: alicloud:chatbot:PublishTask\n name: default\n properties:\n bizType: faq\n agentKey: ${default.agents[0].agentKey}\nvariables:\n default:\n fn::invoke:\n function: alicloud:chatbot:getAgents\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nChatbot Publish Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:chatbot/publishTask:PublishTask example \u003cid\u003e\n```\n\n", "properties": { "agentKey": { "type": "string", @@ -119068,7 +120933,7 @@ } }, "alicloud:clickhouse/account:Account": { - "description": "Provides a Click House Account resource.\n\nFor information about Click House Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createaccount).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst type = config.get(\"type\") || \"Normal\";\nconst _default = alicloud.clickhouse.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.regions?.[0]?.zoneIds?.[1]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"22.8.5.29\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"500\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n});\nconst defaultAccount = new alicloud.clickhouse.Account(\"default\", {\n dbClusterId: defaultDbCluster.id,\n accountDescription: \"tf-example-description\",\n accountName: \"examplename\",\n accountPassword: \"Example1234\",\n type: type,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ntype = config.get(\"type\")\nif type is None:\n type = \"Normal\"\ndefault = alicloud.clickhouse.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.regions[0].zone_ids[1].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"22.8.5.29\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"500\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id)\ndefault_account = alicloud.clickhouse.Account(\"default\",\n db_cluster_id=default_db_cluster.id,\n account_description=\"tf-example-description\",\n account_name=\"examplename\",\n account_password=\"Example1234\",\n type=type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var type = config.Get(\"type\") ?? \"Normal\";\n var @default = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[1]?.ZoneId)),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"22.8.5.29\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"500\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultAccount = new AliCloud.ClickHouse.Account(\"default\", new()\n {\n DbClusterId = defaultDbCluster.Id,\n AccountDescription = \"tf-example-description\",\n AccountName = \"examplename\",\n AccountPassword = \"Example1234\",\n Type = type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_type := \"Normal\"\n\t\tif param := cfg.Get(\"type\"); param != \"\" {\n\t\t\t_type = param\n\t\t}\n\t\t_default, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Regions[0].ZoneIds[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbCluster, err := clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"22.8.5.29\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"500\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewAccount(ctx, \"default\", \u0026clickhouse.AccountArgs{\n\t\t\tDbClusterId: defaultDbCluster.ID(),\n\t\t\tAccountDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tAccountName: pulumi.String(\"examplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tType: pulumi.String(_type),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport com.pulumi.alicloud.clickhouse.Account;\nimport com.pulumi.alicloud.clickhouse.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var type = config.get(\"type\").orElse(\"Normal\");\n final var default = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.regions()[0].zoneIds()[1].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"22.8.5.29\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"500\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultDbCluster.id())\n .accountDescription(\"tf-example-description\")\n .accountName(\"examplename\")\n .accountPassword(\"Example1234\")\n .type(type)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n type:\n type: string\n default: Normal\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.regions[0].zoneIds[1].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: 22.8.5.29\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '500'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n defaultAccount:\n type: alicloud:clickhouse:Account\n name: default\n properties:\n dbClusterId: ${defaultDbCluster.id}\n accountDescription: tf-example-description\n accountName: examplename\n accountPassword: Example1234\n type: ${type}\nvariables:\n default:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/account:Account example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a Click House Account resource.\n\nFor information about Click House Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createaccount).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst type = config.get(\"type\") || \"Normal\";\nconst _default = alicloud.clickhouse.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.regions?.[0]?.zoneIds?.[1]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"22.8.5.29\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"500\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n});\nconst defaultAccount = new alicloud.clickhouse.Account(\"default\", {\n dbClusterId: defaultDbCluster.id,\n accountDescription: \"tf-example-description\",\n accountName: \"examplename\",\n accountPassword: \"Example1234\",\n type: type,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ntype = config.get(\"type\")\nif type is None:\n type = \"Normal\"\ndefault = alicloud.clickhouse.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.regions[0].zone_ids[1].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"22.8.5.29\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"500\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id)\ndefault_account = alicloud.clickhouse.Account(\"default\",\n db_cluster_id=default_db_cluster.id,\n account_description=\"tf-example-description\",\n account_name=\"examplename\",\n account_password=\"Example1234\",\n type=type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var type = config.Get(\"type\") ?? \"Normal\";\n var @default = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[1]?.ZoneId)),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"22.8.5.29\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"500\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultAccount = new AliCloud.ClickHouse.Account(\"default\", new()\n {\n DbClusterId = defaultDbCluster.Id,\n AccountDescription = \"tf-example-description\",\n AccountName = \"examplename\",\n AccountPassword = \"Example1234\",\n Type = type,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_type := \"Normal\"\n\t\tif param := cfg.Get(\"type\"); param != \"\" {\n\t\t\t_type = param\n\t\t}\n\t\t_default, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Regions[0].ZoneIds[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbCluster, err := clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"22.8.5.29\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"500\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewAccount(ctx, \"default\", \u0026clickhouse.AccountArgs{\n\t\t\tDbClusterId: defaultDbCluster.ID(),\n\t\t\tAccountDescription: pulumi.String(\"tf-example-description\"),\n\t\t\tAccountName: pulumi.String(\"examplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tType: pulumi.String(_type),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport com.pulumi.alicloud.clickhouse.Account;\nimport com.pulumi.alicloud.clickhouse.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var type = config.get(\"type\").orElse(\"Normal\");\n final var default = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.regions()[0].zoneIds()[1].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"22.8.5.29\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"500\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultDbCluster.id())\n .accountDescription(\"tf-example-description\")\n .accountName(\"examplename\")\n .accountPassword(\"Example1234\")\n .type(type)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n type:\n type: string\n default: Normal\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.regions[0].zoneIds[1].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: 22.8.5.29\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '500'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n defaultAccount:\n type: alicloud:clickhouse:Account\n name: default\n properties:\n dbClusterId: ${defaultDbCluster.id}\n accountDescription: tf-example-description\n accountName: examplename\n accountPassword: Example1234\n type: ${type}\nvariables:\n default:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/account:Account example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -119250,7 +121115,7 @@ } }, "alicloud:clickhouse/backupPolicy:BackupPolicy": { - "description": "Provides a Click House Backup Policy resource.\n\nFor information about Click House Backup Policy and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createbackuppolicy).\n\n\u003e **NOTE:** Available since v1.147.0.\n\n\u003e **NOTE:** Only the cloud database ClickHouse cluster version `20.3` supports data backup.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.clickhouse.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.regions?.[0]?.zoneIds?.[1]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"22.8.5.29\",\n status: \"Running\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"500\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n});\nconst defaultBackupPolicy = new alicloud.clickhouse.BackupPolicy(\"default\", {\n dbClusterId: defaultDbCluster.id,\n preferredBackupPeriods: [\n \"Monday\",\n \"Friday\",\n ],\n preferredBackupTime: \"00:00Z-01:00Z\",\n backupRetentionPeriod: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.clickhouse.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.regions[0].zone_ids[1].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"22.8.5.29\",\n status=\"Running\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"500\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id)\ndefault_backup_policy = alicloud.clickhouse.BackupPolicy(\"default\",\n db_cluster_id=default_db_cluster.id,\n preferred_backup_periods=[\n \"Monday\",\n \"Friday\",\n ],\n preferred_backup_time=\"00:00Z-01:00Z\",\n backup_retention_period=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[1]?.ZoneId)),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"22.8.5.29\",\n Status = \"Running\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"500\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultBackupPolicy = new AliCloud.ClickHouse.BackupPolicy(\"default\", new()\n {\n DbClusterId = defaultDbCluster.Id,\n PreferredBackupPeriods = new[]\n {\n \"Monday\",\n \"Friday\",\n },\n PreferredBackupTime = \"00:00Z-01:00Z\",\n BackupRetentionPeriod = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Regions[0].ZoneIds[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbCluster, err := clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"22.8.5.29\"),\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"500\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewBackupPolicy(ctx, \"default\", \u0026clickhouse.BackupPolicyArgs{\n\t\t\tDbClusterId: defaultDbCluster.ID(),\n\t\t\tPreferredBackupPeriods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t},\n\t\t\tPreferredBackupTime: pulumi.String(\"00:00Z-01:00Z\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport com.pulumi.alicloud.clickhouse.BackupPolicy;\nimport com.pulumi.alicloud.clickhouse.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.regions()[0].zoneIds()[1].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"22.8.5.29\")\n .status(\"Running\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"500\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .dbClusterId(defaultDbCluster.id())\n .preferredBackupPeriods( \n \"Monday\",\n \"Friday\")\n .preferredBackupTime(\"00:00Z-01:00Z\")\n .backupRetentionPeriod(7)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.regions[0].zoneIds[1].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: 22.8.5.29\n status: Running\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '500'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n defaultBackupPolicy:\n type: alicloud:clickhouse:BackupPolicy\n name: default\n properties:\n dbClusterId: ${defaultDbCluster.id}\n preferredBackupPeriods:\n - Monday\n - Friday\n preferredBackupTime: 00:00Z-01:00Z\n backupRetentionPeriod: 7\nvariables:\n default:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/backupPolicy:BackupPolicy example \u003cdb_cluster_id\u003e\n```\n\n", + "description": "Provides a Click House Backup Policy resource.\n\nFor information about Click House Backup Policy and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createbackuppolicy).\n\n\u003e **NOTE:** Available since v1.147.0.\n\n\u003e **NOTE:** Only the cloud database ClickHouse cluster version `20.3` supports data backup.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.clickhouse.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.regions?.[0]?.zoneIds?.[1]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"22.8.5.29\",\n status: \"Running\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"500\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n});\nconst defaultBackupPolicy = new alicloud.clickhouse.BackupPolicy(\"default\", {\n dbClusterId: defaultDbCluster.id,\n preferredBackupPeriods: [\n \"Monday\",\n \"Friday\",\n ],\n preferredBackupTime: \"00:00Z-01:00Z\",\n backupRetentionPeriod: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.clickhouse.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.regions[0].zone_ids[1].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"22.8.5.29\",\n status=\"Running\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"500\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id)\ndefault_backup_policy = alicloud.clickhouse.BackupPolicy(\"default\",\n db_cluster_id=default_db_cluster.id,\n preferred_backup_periods=[\n \"Monday\",\n \"Friday\",\n ],\n preferred_backup_time=\"00:00Z-01:00Z\",\n backup_retention_period=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[1]?.ZoneId)),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"22.8.5.29\",\n Status = \"Running\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"500\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultBackupPolicy = new AliCloud.ClickHouse.BackupPolicy(\"default\", new()\n {\n DbClusterId = defaultDbCluster.Id,\n PreferredBackupPeriods = new[]\n {\n \"Monday\",\n \"Friday\",\n },\n PreferredBackupTime = \"00:00Z-01:00Z\",\n BackupRetentionPeriod = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Regions[0].ZoneIds[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbCluster, err := clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"22.8.5.29\"),\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"500\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewBackupPolicy(ctx, \"default\", \u0026clickhouse.BackupPolicyArgs{\n\t\t\tDbClusterId: defaultDbCluster.ID(),\n\t\t\tPreferredBackupPeriods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Monday\"),\n\t\t\t\tpulumi.String(\"Friday\"),\n\t\t\t},\n\t\t\tPreferredBackupTime: pulumi.String(\"00:00Z-01:00Z\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport com.pulumi.alicloud.clickhouse.BackupPolicy;\nimport com.pulumi.alicloud.clickhouse.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.regions()[0].zoneIds()[1].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"22.8.5.29\")\n .status(\"Running\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"500\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .dbClusterId(defaultDbCluster.id())\n .preferredBackupPeriods( \n \"Monday\",\n \"Friday\")\n .preferredBackupTime(\"00:00Z-01:00Z\")\n .backupRetentionPeriod(7)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.regions[0].zoneIds[1].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: 22.8.5.29\n status: Running\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '500'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n defaultBackupPolicy:\n type: alicloud:clickhouse:BackupPolicy\n name: default\n properties:\n dbClusterId: ${defaultDbCluster.id}\n preferredBackupPeriods:\n - Monday\n - Friday\n preferredBackupTime: 00:00Z-01:00Z\n backupRetentionPeriod: 7\nvariables:\n default:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/backupPolicy:BackupPolicy example \u003cdb_cluster_id\u003e\n```\n\n", "properties": { "backupRetentionPeriod": { "type": "integer", @@ -119341,7 +121206,7 @@ } }, "alicloud:clickhouse/dbCluster:DbCluster": { - "description": "Provides a Click House DBCluster resource.\n\nFor information about Click House DBCluster and how to use it, see [What is DBCluster](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createdbinstance).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetRegions = alicloud.clickhouse.getRegions({\n regionId: region,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zoneIds?.[0]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"23.8\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"100\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_regions = alicloud.clickhouse.get_regions(region_id=region)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_regions.regions[0].zone_ids[0].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"23.8\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"100\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetRegions = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n RegionId = region,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[0]?.ZoneId),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"23.8\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"100\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(region),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].ZoneIds[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"23.8\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"100\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetRegions = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(region)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetRegions.regions()[0].zoneIds()[0].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"23.8\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"100\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetRegions.regions[0].zoneIds[0].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: '23.8'\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '100'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n regionId: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House DBCluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/dbCluster:DbCluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Click House DBCluster resource.\n\nFor information about Click House DBCluster and how to use it, see [What is DBCluster](https://www.alibabacloud.com/help/zh/clickhouse/latest/api-clickhouse-2019-11-11-createdbinstance).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetRegions = alicloud.clickhouse.getRegions({\n regionId: region,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zoneIds?.[0]?.zoneId),\n});\nconst defaultDbCluster = new alicloud.clickhouse.DbCluster(\"default\", {\n dbClusterVersion: \"23.8\",\n category: \"Basic\",\n dbClusterClass: \"S8\",\n dbClusterNetworkType: \"vpc\",\n dbNodeGroupCount: 1,\n paymentType: \"PayAsYouGo\",\n dbNodeStorage: \"100\",\n storageType: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_regions = alicloud.clickhouse.get_regions(region_id=region)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_regions.regions[0].zone_ids[0].zone_id)\ndefault_db_cluster = alicloud.clickhouse.DbCluster(\"default\",\n db_cluster_version=\"23.8\",\n category=\"Basic\",\n db_cluster_class=\"S8\",\n db_cluster_network_type=\"vpc\",\n db_node_group_count=1,\n payment_type=\"PayAsYouGo\",\n db_node_storage=\"100\",\n storage_type=\"cloud_essd\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetRegions = AliCloud.ClickHouse.GetRegions.Invoke(new()\n {\n RegionId = region,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.ZoneIds[0]?.ZoneId),\n });\n\n var defaultDbCluster = new AliCloud.ClickHouse.DbCluster(\"default\", new()\n {\n DbClusterVersion = \"23.8\",\n Category = \"Basic\",\n DbClusterClass = \"S8\",\n DbClusterNetworkType = \"vpc\",\n DbNodeGroupCount = 1,\n PaymentType = \"PayAsYouGo\",\n DbNodeStorage = \"100\",\n StorageType = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := clickhouse.GetRegions(ctx, \u0026clickhouse.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(region),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].ZoneIds[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouse.NewDbCluster(ctx, \"default\", \u0026clickhouse.DbClusterArgs{\n\t\t\tDbClusterVersion: pulumi.String(\"23.8\"),\n\t\t\tCategory: pulumi.String(\"Basic\"),\n\t\t\tDbClusterClass: pulumi.String(\"S8\"),\n\t\t\tDbClusterNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbNodeGroupCount: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbNodeStorage: pulumi.String(\"100\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.clickhouse.ClickhouseFunctions;\nimport com.pulumi.alicloud.clickhouse.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouse.DbCluster;\nimport com.pulumi.alicloud.clickhouse.DbClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetRegions = ClickhouseFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(region)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetRegions.regions()[0].zoneIds()[0].zoneId())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbClusterVersion(\"23.8\")\n .category(\"Basic\")\n .dbClusterClass(\"S8\")\n .dbClusterNetworkType(\"vpc\")\n .dbNodeGroupCount(1)\n .paymentType(\"PayAsYouGo\")\n .dbNodeStorage(\"100\")\n .storageType(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetRegions.regions[0].zoneIds[0].zoneId}\n defaultDbCluster:\n type: alicloud:clickhouse:DbCluster\n name: default\n properties:\n dbClusterVersion: '23.8'\n category: Basic\n dbClusterClass: S8\n dbClusterNetworkType: vpc\n dbNodeGroupCount: '1'\n paymentType: PayAsYouGo\n dbNodeStorage: '100'\n storageType: cloud_essd\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:clickhouse:getRegions\n arguments:\n regionId: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House DBCluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouse/dbCluster:DbCluster example \u003cid\u003e\n```\n\n", "properties": { "allocatePublicConnection": { "type": "boolean", @@ -119737,7 +121602,7 @@ } }, "alicloud:clickhouseenterprisedbcluster/account:Account": { - "description": "Provides a Click House Enterprise Db Cluster Account resource.\n\nClickhouse enterprise instance account.\n\nFor information about Click House Enterprise Db Cluster Account and how to use it, see [What is Enterprise Db Cluster Account](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateAccount).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultWrovOd = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.Account(\"default\", {\n account: \"abc\",\n description: \"example_desc\",\n dbInstanceId: defaultWrovOd.id,\n accountType: \"NormalAccount\",\n password: \"abc123456!\",\n dmlAuthSetting: {\n dmlAuthority: 0,\n ddlAuthority: true,\n allowDictionaries: [\"*\"],\n allowDatabases: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefault_wrov_od = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.Account(\"default\",\n account=\"abc\",\n description=\"example_desc\",\n db_instance_id=default_wrov_od.id,\n account_type=\"NormalAccount\",\n password=\"abc123456!\",\n dml_auth_setting={\n \"dml_authority\": 0,\n \"ddl_authority\": True,\n \"allow_dictionaries\": [\"*\"],\n \"allow_databases\": [\"*\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultWrovOd = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.Account(\"default\", new()\n {\n AccountValue = \"abc\",\n Description = \"example_desc\",\n DbInstanceId = defaultWrovOd.Id,\n AccountType = \"NormalAccount\",\n Password = \"abc123456!\",\n DmlAuthSetting = new AliCloud.clickHouseEnterpriseDbCluster.Inputs.AccountDmlAuthSettingArgs\n {\n DmlAuthority = 0,\n DdlAuthority = true,\n AllowDictionaries = new[]\n {\n \"*\",\n },\n AllowDatabases = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWrovOd, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultWrovOd\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewAccount(ctx, \"default\", \u0026clickhouseenterprisedbcluster.AccountArgs{\n\t\t\tAccount: pulumi.String(\"abc\"),\n\t\t\tDescription: pulumi.String(\"example_desc\"),\n\t\t\tDbInstanceId: defaultWrovOd.ID(),\n\t\t\tAccountType: pulumi.String(\"NormalAccount\"),\n\t\t\tPassword: pulumi.String(\"abc123456!\"),\n\t\t\tDmlAuthSetting: \u0026clickhouseenterprisedbcluster.AccountDmlAuthSettingArgs{\n\t\t\t\tDmlAuthority: pulumi.Int(0),\n\t\t\t\tDdlAuthority: pulumi.Bool(true),\n\t\t\t\tAllowDictionaries: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowDatabases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.Account;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.AccountArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.inputs.AccountDmlAuthSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultWrovOd = new ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new Account(\"default\", AccountArgs.builder()\n .account(\"abc\")\n .description(\"example_desc\")\n .dbInstanceId(defaultWrovOd.id())\n .accountType(\"NormalAccount\")\n .password(\"abc123456!\")\n .dmlAuthSetting(AccountDmlAuthSettingArgs.builder()\n .dmlAuthority(0)\n .ddlAuthority(true)\n .allowDictionaries(\"*\")\n .allowDatabases(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultWrovOd:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:Account\n properties:\n account: abc\n description: example_desc\n dbInstanceId: ${defaultWrovOd.id}\n accountType: NormalAccount\n password: abc123456!\n dmlAuthSetting:\n dmlAuthority: '0'\n ddlAuthority: true\n allowDictionaries:\n - '*'\n allowDatabases:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Enterprise Db Cluster Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/account:Account example \u003cdb_instance_id\u003e:\u003caccount\u003e\n```\n\n", + "description": "Provides a Click House Enterprise Db Cluster Account resource.\n\nClickhouse enterprise instance account.\n\nFor information about Click House Enterprise Db Cluster Account and how to use it, see [What is Enterprise Db Cluster Account](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateAccount).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultWrovOd = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.Account(\"default\", {\n account: \"abc\",\n description: \"example_desc\",\n dbInstanceId: defaultWrovOd.id,\n accountType: \"NormalAccount\",\n password: \"abc123456!\",\n dmlAuthSetting: {\n dmlAuthority: 0,\n ddlAuthority: true,\n allowDictionaries: [\"*\"],\n allowDatabases: [\"*\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefault_wrov_od = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.Account(\"default\",\n account=\"abc\",\n description=\"example_desc\",\n db_instance_id=default_wrov_od.id,\n account_type=\"NormalAccount\",\n password=\"abc123456!\",\n dml_auth_setting={\n \"dml_authority\": 0,\n \"ddl_authority\": True,\n \"allow_dictionaries\": [\"*\"],\n \"allow_databases\": [\"*\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultWrovOd = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.Account(\"default\", new()\n {\n AccountValue = \"abc\",\n Description = \"example_desc\",\n DbInstanceId = defaultWrovOd.Id,\n AccountType = \"NormalAccount\",\n Password = \"abc123456!\",\n DmlAuthSetting = new AliCloud.clickHouseEnterpriseDbCluster.Inputs.AccountDmlAuthSettingArgs\n {\n DmlAuthority = 0,\n DdlAuthority = true,\n AllowDictionaries = new[]\n {\n \"*\",\n },\n AllowDatabases = new[]\n {\n \"*\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWrovOd, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultWrovOd\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewAccount(ctx, \"default\", \u0026clickhouseenterprisedbcluster.AccountArgs{\n\t\t\tAccount: pulumi.String(\"abc\"),\n\t\t\tDescription: pulumi.String(\"example_desc\"),\n\t\t\tDbInstanceId: defaultWrovOd.ID(),\n\t\t\tAccountType: pulumi.String(\"NormalAccount\"),\n\t\t\tPassword: pulumi.String(\"abc123456!\"),\n\t\t\tDmlAuthSetting: \u0026clickhouseenterprisedbcluster.AccountDmlAuthSettingArgs{\n\t\t\t\tDmlAuthority: pulumi.Int(0),\n\t\t\t\tDdlAuthority: pulumi.Bool(true),\n\t\t\t\tAllowDictionaries: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\tAllowDatabases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"*\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.Account;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.AccountArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.inputs.AccountDmlAuthSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultWrovOd = new ClickHouseEnterpriseDbCluster(\"defaultWrovOd\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new Account(\"default\", AccountArgs.builder()\n .account(\"abc\")\n .description(\"example_desc\")\n .dbInstanceId(defaultWrovOd.id())\n .accountType(\"NormalAccount\")\n .password(\"abc123456!\")\n .dmlAuthSetting(AccountDmlAuthSettingArgs.builder()\n .dmlAuthority(0)\n .ddlAuthority(true)\n .allowDictionaries(\"*\")\n .allowDatabases(\"*\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultWrovOd:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:Account\n properties:\n account: abc\n description: example_desc\n dbInstanceId: ${defaultWrovOd.id}\n accountType: NormalAccount\n password: abc123456!\n dmlAuthSetting:\n dmlAuthority: '0'\n ddlAuthority: true\n allowDictionaries:\n - '*'\n allowDatabases:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Enterprise Db Cluster Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/account:Account example \u003cdb_instance_id\u003e:\u003caccount\u003e\n```\n\n", "properties": { "account": { "type": "string", @@ -119858,7 +121723,7 @@ } }, "alicloud:clickhouseenterprisedbcluster/backupPolicy:BackupPolicy": { - "description": "Provides a Click House Enterprise Db Cluster Backup Policy resource.\n\nEnterprise ClickHouse instance backup policy.\n\nFor information about Click House Enterprise Db Cluster Backup Policy and how to use it, see [What is Enterprise Db Cluster Backup Policy](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateBackupPolicy).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst default1tTLwe = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.BackupPolicy(\"default\", {\n preferredBackupPeriod: \"Monday\",\n preferredBackupTime: \"04:00Z-05:00Z\",\n backupRetentionPeriod: 7,\n dbInstanceId: default1tTLwe.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefault1t_t_lwe = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.BackupPolicy(\"default\",\n preferred_backup_period=\"Monday\",\n preferred_backup_time=\"04:00Z-05:00Z\",\n backup_retention_period=7,\n db_instance_id=default1t_t_lwe.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var default1tTLwe = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.BackupPolicy(\"default\", new()\n {\n PreferredBackupPeriod = \"Monday\",\n PreferredBackupTime = \"04:00Z-05:00Z\",\n BackupRetentionPeriod = 7,\n DbInstanceId = default1tTLwe.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1tTLwe, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"default1tTLwe\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewBackupPolicy(ctx, \"default\", \u0026clickhouseenterprisedbcluster.BackupPolicyArgs{\n\t\t\tPreferredBackupPeriod: pulumi.String(\"Monday\"),\n\t\t\tPreferredBackupTime: pulumi.String(\"04:00Z-05:00Z\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbInstanceId: default1tTLwe.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.BackupPolicy;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var default1tTLwe = new ClickHouseEnterpriseDbCluster(\"default1tTLwe\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new BackupPolicy(\"default\", BackupPolicyArgs.builder()\n .preferredBackupPeriod(\"Monday\")\n .preferredBackupTime(\"04:00Z-05:00Z\")\n .backupRetentionPeriod(7)\n .dbInstanceId(default1tTLwe.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n default1tTLwe:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:BackupPolicy\n properties:\n preferredBackupPeriod: Monday\n preferredBackupTime: 04:00Z-05:00Z\n backupRetentionPeriod: '7'\n dbInstanceId: ${default1tTLwe.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Enterprise Db Cluster Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Click House Enterprise Db Cluster Backup Policy resource.\n\nEnterprise ClickHouse instance backup policy.\n\nFor information about Click House Enterprise Db Cluster Backup Policy and how to use it, see [What is Enterprise Db Cluster Backup Policy](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateBackupPolicy).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst default1tTLwe = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.BackupPolicy(\"default\", {\n preferredBackupPeriod: \"Monday\",\n preferredBackupTime: \"04:00Z-05:00Z\",\n backupRetentionPeriod: 7,\n dbInstanceId: default1tTLwe.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefault1t_t_lwe = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.BackupPolicy(\"default\",\n preferred_backup_period=\"Monday\",\n preferred_backup_time=\"04:00Z-05:00Z\",\n backup_retention_period=7,\n db_instance_id=default1t_t_lwe.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var default1tTLwe = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"default1tTLwe\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.BackupPolicy(\"default\", new()\n {\n PreferredBackupPeriod = \"Monday\",\n PreferredBackupTime = \"04:00Z-05:00Z\",\n BackupRetentionPeriod = 7,\n DbInstanceId = default1tTLwe.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1tTLwe, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"default1tTLwe\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewBackupPolicy(ctx, \"default\", \u0026clickhouseenterprisedbcluster.BackupPolicyArgs{\n\t\t\tPreferredBackupPeriod: pulumi.String(\"Monday\"),\n\t\t\tPreferredBackupTime: pulumi.String(\"04:00Z-05:00Z\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tDbInstanceId: default1tTLwe.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.BackupPolicy;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var default1tTLwe = new ClickHouseEnterpriseDbCluster(\"default1tTLwe\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new BackupPolicy(\"default\", BackupPolicyArgs.builder()\n .preferredBackupPeriod(\"Monday\")\n .preferredBackupTime(\"04:00Z-05:00Z\")\n .backupRetentionPeriod(7)\n .dbInstanceId(default1tTLwe.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n default1tTLwe:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:BackupPolicy\n properties:\n preferredBackupPeriod: Monday\n preferredBackupTime: 04:00Z-05:00Z\n backupRetentionPeriod: '7'\n dbInstanceId: ${default1tTLwe.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Enterprise Db Cluster Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", "properties": { "backupRetentionPeriod": { "type": "integer", @@ -119933,7 +121798,7 @@ } }, "alicloud:clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster:ClickHouseEnterpriseDbCluster": { - "description": "Provides a Click House Enterprise D B Cluster resource.\n\nEnterprise Edition Cluster Resources.\n\nFor information about Click House Enterprise D B Cluster and how to use it, see [What is Enterprise D B Cluster](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateDBInstance).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst vswIpRangeK = config.get(\"vswIpRangeK\") || \"172.16.3.0/24\";\nconst vswIpRangeL = config.get(\"vswIpRangeL\") || \"172.16.2.0/24\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst zoneIdL = config.get(\"zoneIdL\") || \"cn-beijing-l\";\nconst zoneIdK = config.get(\"zoneIdK\") || \"cn-beijing-k\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultylyLu8 = new alicloud.vpc.Switch(\"defaultylyLu8\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdL,\n cidrBlock: vswIpRangeL,\n});\nconst defaultRNbPh8 = new alicloud.vpc.Switch(\"defaultRNbPh8\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdK,\n cidrBlock: vswIpRangeK,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n multiZones: [\n {\n vswitchIds: [defaultTQWN3k.id],\n zoneId: zoneIdI,\n },\n {\n vswitchIds: [defaultylyLu8.id],\n zoneId: zoneIdL,\n },\n {\n vswitchIds: [defaultRNbPh8.id],\n zoneId: zoneIdK,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nvsw_ip_range_k = config.get(\"vswIpRangeK\")\nif vsw_ip_range_k is None:\n vsw_ip_range_k = \"172.16.3.0/24\"\nvsw_ip_range_l = config.get(\"vswIpRangeL\")\nif vsw_ip_range_l is None:\n vsw_ip_range_l = \"172.16.2.0/24\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\nzone_id_l = config.get(\"zoneIdL\")\nif zone_id_l is None:\n zone_id_l = \"cn-beijing-l\"\nzone_id_k = config.get(\"zoneIdK\")\nif zone_id_k is None:\n zone_id_k = \"cn-beijing-k\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultyly_lu8 = alicloud.vpc.Switch(\"defaultylyLu8\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_l,\n cidr_block=vsw_ip_range_l)\ndefault_r_nb_ph8 = alicloud.vpc.Switch(\"defaultRNbPh8\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_k,\n cidr_block=vsw_ip_range_k)\ndefault = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id,\n multi_zones=[\n {\n \"vswitch_ids\": [default_tqwn3k.id],\n \"zone_id\": zone_id_i,\n },\n {\n \"vswitch_ids\": [defaultyly_lu8.id],\n \"zone_id\": zone_id_l,\n },\n {\n \"vswitch_ids\": [default_r_nb_ph8.id],\n \"zone_id\": zone_id_k,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var vswIpRangeK = config.Get(\"vswIpRangeK\") ?? \"172.16.3.0/24\";\n var vswIpRangeL = config.Get(\"vswIpRangeL\") ?? \"172.16.2.0/24\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var zoneIdL = config.Get(\"zoneIdL\") ?? \"cn-beijing-l\";\n var zoneIdK = config.Get(\"zoneIdK\") ?? \"cn-beijing-k\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultylyLu8 = new AliCloud.Vpc.Switch(\"defaultylyLu8\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdL,\n CidrBlock = vswIpRangeL,\n });\n\n var defaultRNbPh8 = new AliCloud.Vpc.Switch(\"defaultRNbPh8\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdK,\n CidrBlock = vswIpRangeK,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"default\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n MultiZones = new[]\n {\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultTQWN3k.Id,\n },\n ZoneId = zoneIdI,\n },\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultylyLu8.Id,\n },\n ZoneId = zoneIdL,\n },\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultRNbPh8.Id,\n },\n ZoneId = zoneIdK,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tvswIpRangeK := \"172.16.3.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeK\"); param != \"\" {\n\t\t\tvswIpRangeK = param\n\t\t}\n\t\tvswIpRangeL := \"172.16.2.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeL\"); param != \"\" {\n\t\t\tvswIpRangeL = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tzoneIdL := \"cn-beijing-l\"\n\t\tif param := cfg.Get(\"zoneIdL\"); param != \"\" {\n\t\t\tzoneIdL = param\n\t\t}\n\t\tzoneIdK := \"cn-beijing-k\"\n\t\tif param := cfg.Get(\"zoneIdK\"); param != \"\" {\n\t\t\tzoneIdK = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultylyLu8, err := vpc.NewSwitch(ctx, \"defaultylyLu8\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdL),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeL),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRNbPh8, err := vpc.NewSwitch(ctx, \"defaultRNbPh8\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdK),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeK),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"default\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t\tMultiZones: clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArray{\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultTQWN3k.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\t\t},\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultylyLu8.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdL),\n\t\t\t\t},\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultRNbPh8.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdK),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var vswIpRangeK = config.get(\"vswIpRangeK\").orElse(\"172.16.3.0/24\");\n final var vswIpRangeL = config.get(\"vswIpRangeL\").orElse(\"172.16.2.0/24\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n final var zoneIdL = config.get(\"zoneIdL\").orElse(\"cn-beijing-l\");\n final var zoneIdK = config.get(\"zoneIdK\").orElse(\"cn-beijing-k\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultylyLu8 = new Switch(\"defaultylyLu8\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdL)\n .cidrBlock(vswIpRangeL)\n .build());\n\n var defaultRNbPh8 = new Switch(\"defaultRNbPh8\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdK)\n .cidrBlock(vswIpRangeK)\n .build());\n\n var default_ = new ClickHouseEnterpriseDbCluster(\"default\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .multiZones( \n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultTQWN3k.id())\n .zoneId(zoneIdI)\n .build(),\n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultylyLu8.id())\n .zoneId(zoneIdL)\n .build(),\n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultRNbPh8.id())\n .zoneId(zoneIdK)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n regionId:\n type: string\n default: cn-beijing\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n vswIpRangeK:\n type: string\n default: 172.16.3.0/24\n vswIpRangeL:\n type: string\n default: 172.16.2.0/24\n zoneIdI:\n type: string\n default: cn-beijing-i\n zoneIdL:\n type: string\n default: cn-beijing-l\n zoneIdK:\n type: string\n default: cn-beijing-k\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultylyLu8:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdL}\n cidrBlock: ${vswIpRangeL}\n defaultRNbPh8:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdK}\n cidrBlock: ${vswIpRangeK}\n default:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n multiZones:\n - vswitchIds:\n - ${defaultTQWN3k.id}\n zoneId: ${zoneIdI}\n - vswitchIds:\n - ${defaultylyLu8.id}\n zoneId: ${zoneIdL}\n - vswitchIds:\n - ${defaultRNbPh8.id}\n zoneId: ${zoneIdK}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Enterprise D B Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster:ClickHouseEnterpriseDbCluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Click House Enterprise D B Cluster resource.\n\nEnterprise Edition Cluster Resources.\n\nFor information about Click House Enterprise D B Cluster and how to use it, see [What is Enterprise D B Cluster](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateDBInstance).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst vswIpRangeK = config.get(\"vswIpRangeK\") || \"172.16.3.0/24\";\nconst vswIpRangeL = config.get(\"vswIpRangeL\") || \"172.16.2.0/24\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst zoneIdL = config.get(\"zoneIdL\") || \"cn-beijing-l\";\nconst zoneIdK = config.get(\"zoneIdK\") || \"cn-beijing-k\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultylyLu8 = new alicloud.vpc.Switch(\"defaultylyLu8\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdL,\n cidrBlock: vswIpRangeL,\n});\nconst defaultRNbPh8 = new alicloud.vpc.Switch(\"defaultRNbPh8\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdK,\n cidrBlock: vswIpRangeK,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n multiZones: [\n {\n vswitchIds: [defaultTQWN3k.id],\n zoneId: zoneIdI,\n },\n {\n vswitchIds: [defaultylyLu8.id],\n zoneId: zoneIdL,\n },\n {\n vswitchIds: [defaultRNbPh8.id],\n zoneId: zoneIdK,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nvsw_ip_range_k = config.get(\"vswIpRangeK\")\nif vsw_ip_range_k is None:\n vsw_ip_range_k = \"172.16.3.0/24\"\nvsw_ip_range_l = config.get(\"vswIpRangeL\")\nif vsw_ip_range_l is None:\n vsw_ip_range_l = \"172.16.2.0/24\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\nzone_id_l = config.get(\"zoneIdL\")\nif zone_id_l is None:\n zone_id_l = \"cn-beijing-l\"\nzone_id_k = config.get(\"zoneIdK\")\nif zone_id_k is None:\n zone_id_k = \"cn-beijing-k\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultyly_lu8 = alicloud.vpc.Switch(\"defaultylyLu8\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_l,\n cidr_block=vsw_ip_range_l)\ndefault_r_nb_ph8 = alicloud.vpc.Switch(\"defaultRNbPh8\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_k,\n cidr_block=vsw_ip_range_k)\ndefault = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"default\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id,\n multi_zones=[\n {\n \"vswitch_ids\": [default_tqwn3k.id],\n \"zone_id\": zone_id_i,\n },\n {\n \"vswitch_ids\": [defaultyly_lu8.id],\n \"zone_id\": zone_id_l,\n },\n {\n \"vswitch_ids\": [default_r_nb_ph8.id],\n \"zone_id\": zone_id_k,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var vswIpRangeK = config.Get(\"vswIpRangeK\") ?? \"172.16.3.0/24\";\n var vswIpRangeL = config.Get(\"vswIpRangeL\") ?? \"172.16.2.0/24\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var zoneIdL = config.Get(\"zoneIdL\") ?? \"cn-beijing-l\";\n var zoneIdK = config.Get(\"zoneIdK\") ?? \"cn-beijing-k\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultylyLu8 = new AliCloud.Vpc.Switch(\"defaultylyLu8\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdL,\n CidrBlock = vswIpRangeL,\n });\n\n var defaultRNbPh8 = new AliCloud.Vpc.Switch(\"defaultRNbPh8\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdK,\n CidrBlock = vswIpRangeK,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"default\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n MultiZones = new[]\n {\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultTQWN3k.Id,\n },\n ZoneId = zoneIdI,\n },\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultylyLu8.Id,\n },\n ZoneId = zoneIdL,\n },\n new AliCloud.clickHouseEnterpriseDbCluster.Inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs\n {\n VswitchIds = new[]\n {\n defaultRNbPh8.Id,\n },\n ZoneId = zoneIdK,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tvswIpRangeK := \"172.16.3.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeK\"); param != \"\" {\n\t\t\tvswIpRangeK = param\n\t\t}\n\t\tvswIpRangeL := \"172.16.2.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeL\"); param != \"\" {\n\t\t\tvswIpRangeL = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tzoneIdL := \"cn-beijing-l\"\n\t\tif param := cfg.Get(\"zoneIdL\"); param != \"\" {\n\t\t\tzoneIdL = param\n\t\t}\n\t\tzoneIdK := \"cn-beijing-k\"\n\t\tif param := cfg.Get(\"zoneIdK\"); param != \"\" {\n\t\t\tzoneIdK = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultylyLu8, err := vpc.NewSwitch(ctx, \"defaultylyLu8\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdL),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeL),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRNbPh8, err := vpc.NewSwitch(ctx, \"defaultRNbPh8\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdK),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeK),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"default\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t\tMultiZones: clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArray{\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultTQWN3k.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\t\t},\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultylyLu8.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdL),\n\t\t\t\t},\n\t\t\t\t\u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterMultiZoneArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultRNbPh8.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tZoneId: pulumi.String(zoneIdK),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.inputs.ClickHouseEnterpriseDbClusterMultiZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var vswIpRangeK = config.get(\"vswIpRangeK\").orElse(\"172.16.3.0/24\");\n final var vswIpRangeL = config.get(\"vswIpRangeL\").orElse(\"172.16.2.0/24\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n final var zoneIdL = config.get(\"zoneIdL\").orElse(\"cn-beijing-l\");\n final var zoneIdK = config.get(\"zoneIdK\").orElse(\"cn-beijing-k\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultylyLu8 = new Switch(\"defaultylyLu8\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdL)\n .cidrBlock(vswIpRangeL)\n .build());\n\n var defaultRNbPh8 = new Switch(\"defaultRNbPh8\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdK)\n .cidrBlock(vswIpRangeK)\n .build());\n\n var default_ = new ClickHouseEnterpriseDbCluster(\"default\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .multiZones( \n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultTQWN3k.id())\n .zoneId(zoneIdI)\n .build(),\n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultylyLu8.id())\n .zoneId(zoneIdL)\n .build(),\n ClickHouseEnterpriseDbClusterMultiZoneArgs.builder()\n .vswitchIds(defaultRNbPh8.id())\n .zoneId(zoneIdK)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n regionId:\n type: string\n default: cn-beijing\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n vswIpRangeK:\n type: string\n default: 172.16.3.0/24\n vswIpRangeL:\n type: string\n default: 172.16.2.0/24\n zoneIdI:\n type: string\n default: cn-beijing-i\n zoneIdL:\n type: string\n default: cn-beijing-l\n zoneIdK:\n type: string\n default: cn-beijing-k\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultylyLu8:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdL}\n cidrBlock: ${vswIpRangeL}\n defaultRNbPh8:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdK}\n cidrBlock: ${vswIpRangeK}\n default:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n multiZones:\n - vswitchIds:\n - ${defaultTQWN3k.id}\n zoneId: ${zoneIdI}\n - vswitchIds:\n - ${defaultylyLu8.id}\n zoneId: ${zoneIdL}\n - vswitchIds:\n - ${defaultRNbPh8.id}\n zoneId: ${zoneIdK}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Enterprise D B Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster:ClickHouseEnterpriseDbCluster example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -120065,7 +121930,7 @@ } }, "alicloud:clickhouseenterprisedbcluster/publicEndpoint:PublicEndpoint": { - "description": "Provides a Click House Enterprise Db Cluster Public Endpoint resource.\n\nClickHouse enterprise instance public network endpoint.\n\nFor information about Click House Enterprise Db Cluster Public Endpoint and how to use it, see [What is Enterprise Db Cluster Public Endpoint](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateEndpoint).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultaqnt22 = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.PublicEndpoint(\"default\", {\n dbInstanceId: defaultaqnt22.id,\n netType: \"Public\",\n connectionStringPrefix: defaultaqnt22.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultaqnt22 = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.PublicEndpoint(\"default\",\n db_instance_id=defaultaqnt22.id,\n net_type=\"Public\",\n connection_string_prefix=defaultaqnt22.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultaqnt22 = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.PublicEndpoint(\"default\", new()\n {\n DbInstanceId = defaultaqnt22.Id,\n NetType = \"Public\",\n ConnectionStringPrefix = defaultaqnt22.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultaqnt22, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultaqnt22\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewPublicEndpoint(ctx, \"default\", \u0026clickhouseenterprisedbcluster.PublicEndpointArgs{\n\t\t\tDbInstanceId: defaultaqnt22.ID(),\n\t\t\tNetType: pulumi.String(\"Public\"),\n\t\t\tConnectionStringPrefix: defaultaqnt22.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.PublicEndpoint;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.PublicEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultaqnt22 = new ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new PublicEndpoint(\"default\", PublicEndpointArgs.builder()\n .dbInstanceId(defaultaqnt22.id())\n .netType(\"Public\")\n .connectionStringPrefix(defaultaqnt22.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultaqnt22:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:PublicEndpoint\n properties:\n dbInstanceId: ${defaultaqnt22.id}\n netType: Public\n connectionStringPrefix: ${defaultaqnt22.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/publicEndpoint:PublicEndpoint example \u003cdb_instance_id\u003e:\u003cnet_type\u003e\n```\n\n", + "description": "Provides a Click House Enterprise Db Cluster Public Endpoint resource.\n\nClickHouse enterprise instance public network endpoint.\n\nFor information about Click House Enterprise Db Cluster Public Endpoint and how to use it, see [What is Enterprise Db Cluster Public Endpoint](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/CreateEndpoint).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultaqnt22 = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.PublicEndpoint(\"default\", {\n dbInstanceId: defaultaqnt22.id,\n netType: \"Public\",\n connectionStringPrefix: defaultaqnt22.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultaqnt22 = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.PublicEndpoint(\"default\",\n db_instance_id=defaultaqnt22.id,\n net_type=\"Public\",\n connection_string_prefix=defaultaqnt22.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultaqnt22 = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.PublicEndpoint(\"default\", new()\n {\n DbInstanceId = defaultaqnt22.Id,\n NetType = \"Public\",\n ConnectionStringPrefix = defaultaqnt22.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultaqnt22, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultaqnt22\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewPublicEndpoint(ctx, \"default\", \u0026clickhouseenterprisedbcluster.PublicEndpointArgs{\n\t\t\tDbInstanceId: defaultaqnt22.ID(),\n\t\t\tNetType: pulumi.String(\"Public\"),\n\t\t\tConnectionStringPrefix: defaultaqnt22.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.PublicEndpoint;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.PublicEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultaqnt22 = new ClickHouseEnterpriseDbCluster(\"defaultaqnt22\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new PublicEndpoint(\"default\", PublicEndpointArgs.builder()\n .dbInstanceId(defaultaqnt22.id())\n .netType(\"Public\")\n .connectionStringPrefix(defaultaqnt22.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultaqnt22:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:PublicEndpoint\n properties:\n dbInstanceId: ${defaultaqnt22.id}\n netType: Public\n connectionStringPrefix: ${defaultaqnt22.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/publicEndpoint:PublicEndpoint example \u003cdb_instance_id\u003e:\u003cnet_type\u003e\n```\n\n", "properties": { "connectionStringPrefix": { "type": "string", @@ -120128,7 +121993,7 @@ } }, "alicloud:clickhouseenterprisedbcluster/securityIp:SecurityIp": { - "description": "Provides a Click House Enterprise Db Cluster Security I P resource.\n\nEnterprise Clickhouse instance Security IP.\n\nFor information about Click House Enterprise Db Cluster Security I P and how to use it, see [What is Enterprise Db Cluster Security I P](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/ModifySecurityIPList).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultn0nVrN = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.SecurityIp(\"default\", {\n groupName: \"example_group\",\n securityIpList: \"127.0.0.2\",\n dbInstanceId: defaultn0nVrN.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultn0n_vr_n = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.SecurityIp(\"default\",\n group_name=\"example_group\",\n security_ip_list=\"127.0.0.2\",\n db_instance_id=defaultn0n_vr_n.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultn0nVrN = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.SecurityIp(\"default\", new()\n {\n GroupName = \"example_group\",\n SecurityIpList = \"127.0.0.2\",\n DbInstanceId = defaultn0nVrN.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultn0nVrN, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultn0nVrN\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewSecurityIp(ctx, \"default\", \u0026clickhouseenterprisedbcluster.SecurityIpArgs{\n\t\t\tGroupName: pulumi.String(\"example_group\"),\n\t\t\tSecurityIpList: pulumi.String(\"127.0.0.2\"),\n\t\t\tDbInstanceId: defaultn0nVrN.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.SecurityIp;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.SecurityIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultn0nVrN = new ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new SecurityIp(\"default\", SecurityIpArgs.builder()\n .groupName(\"example_group\")\n .securityIpList(\"127.0.0.2\")\n .dbInstanceId(defaultn0nVrN.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultn0nVrN:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:SecurityIp\n properties:\n groupName: example_group\n securityIpList: 127.0.0.2\n dbInstanceId: ${defaultn0nVrN.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClick House Enterprise Db Cluster Security I P can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/securityIp:SecurityIp example \u003cdb_instance_id\u003e:\u003cgroup_name\u003e\n```\n\n", + "description": "Provides a Click House Enterprise Db Cluster Security I P resource.\n\nEnterprise Clickhouse instance Security IP.\n\nFor information about Click House Enterprise Db Cluster Security I P and how to use it, see [What is Enterprise Db Cluster Security I P](https://next.api.alibabacloud.com/document/clickhouse/2023-05-22/ModifySecurityIPList).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst vswIpRangeI = config.get(\"vswIpRangeI\") || \"172.16.1.0/24\";\nconst vpcIpRange = config.get(\"vpcIpRange\") || \"172.16.0.0/12\";\nconst zoneIdI = config.get(\"zoneIdI\") || \"cn-beijing-i\";\nconst defaultktKLuM = new alicloud.vpc.Network(\"defaultktKLuM\", {cidrBlock: vpcIpRange});\nconst defaultTQWN3k = new alicloud.vpc.Switch(\"defaultTQWN3k\", {\n vpcId: defaultktKLuM.id,\n zoneId: zoneIdI,\n cidrBlock: vswIpRangeI,\n});\nconst defaultn0nVrN = new alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", {\n zoneId: zoneIdI,\n vpcId: defaultktKLuM.id,\n scaleMin: \"8\",\n scaleMax: \"16\",\n vswitchId: defaultTQWN3k.id,\n});\nconst _default = new alicloud.clickhouseenterprisedbcluster.SecurityIp(\"default\", {\n groupName: \"example_group\",\n securityIpList: \"127.0.0.2\",\n dbInstanceId: defaultn0nVrN.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\nvsw_ip_range_i = config.get(\"vswIpRangeI\")\nif vsw_ip_range_i is None:\n vsw_ip_range_i = \"172.16.1.0/24\"\nvpc_ip_range = config.get(\"vpcIpRange\")\nif vpc_ip_range is None:\n vpc_ip_range = \"172.16.0.0/12\"\nzone_id_i = config.get(\"zoneIdI\")\nif zone_id_i is None:\n zone_id_i = \"cn-beijing-i\"\ndefaultkt_k_lu_m = alicloud.vpc.Network(\"defaultktKLuM\", cidr_block=vpc_ip_range)\ndefault_tqwn3k = alicloud.vpc.Switch(\"defaultTQWN3k\",\n vpc_id=defaultkt_k_lu_m.id,\n zone_id=zone_id_i,\n cidr_block=vsw_ip_range_i)\ndefaultn0n_vr_n = alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\",\n zone_id=zone_id_i,\n vpc_id=defaultkt_k_lu_m.id,\n scale_min=\"8\",\n scale_max=\"16\",\n vswitch_id=default_tqwn3k.id)\ndefault = alicloud.clickhouseenterprisedbcluster.SecurityIp(\"default\",\n group_name=\"example_group\",\n security_ip_list=\"127.0.0.2\",\n db_instance_id=defaultn0n_vr_n.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var vswIpRangeI = config.Get(\"vswIpRangeI\") ?? \"172.16.1.0/24\";\n var vpcIpRange = config.Get(\"vpcIpRange\") ?? \"172.16.0.0/12\";\n var zoneIdI = config.Get(\"zoneIdI\") ?? \"cn-beijing-i\";\n var defaultktKLuM = new AliCloud.Vpc.Network(\"defaultktKLuM\", new()\n {\n CidrBlock = vpcIpRange,\n });\n\n var defaultTQWN3k = new AliCloud.Vpc.Switch(\"defaultTQWN3k\", new()\n {\n VpcId = defaultktKLuM.Id,\n ZoneId = zoneIdI,\n CidrBlock = vswIpRangeI,\n });\n\n var defaultn0nVrN = new AliCloud.ClickHouseEnterpriseDbCluster.ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", new()\n {\n ZoneId = zoneIdI,\n VpcId = defaultktKLuM.Id,\n ScaleMin = \"8\",\n ScaleMax = \"16\",\n VswitchId = defaultTQWN3k.Id,\n });\n\n var @default = new AliCloud.ClickHouseEnterpriseDbCluster.SecurityIp(\"default\", new()\n {\n GroupName = \"example_group\",\n SecurityIpList = \"127.0.0.2\",\n DbInstanceId = defaultn0nVrN.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/clickhouseenterprisedbcluster\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tvswIpRangeI := \"172.16.1.0/24\"\n\t\tif param := cfg.Get(\"vswIpRangeI\"); param != \"\" {\n\t\t\tvswIpRangeI = param\n\t\t}\n\t\tvpcIpRange := \"172.16.0.0/12\"\n\t\tif param := cfg.Get(\"vpcIpRange\"); param != \"\" {\n\t\t\tvpcIpRange = param\n\t\t}\n\t\tzoneIdI := \"cn-beijing-i\"\n\t\tif param := cfg.Get(\"zoneIdI\"); param != \"\" {\n\t\t\tzoneIdI = param\n\t\t}\n\t\tdefaultktKLuM, err := vpc.NewNetwork(ctx, \"defaultktKLuM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(vpcIpRange),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTQWN3k, err := vpc.NewSwitch(ctx, \"defaultTQWN3k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tCidrBlock: pulumi.String(vswIpRangeI),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultn0nVrN, err := clickhouseenterprisedbcluster.NewClickHouseEnterpriseDbCluster(ctx, \"defaultn0nVrN\", \u0026clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs{\n\t\t\tZoneId: pulumi.String(zoneIdI),\n\t\t\tVpcId: defaultktKLuM.ID(),\n\t\t\tScaleMin: pulumi.String(\"8\"),\n\t\t\tScaleMax: pulumi.String(\"16\"),\n\t\t\tVswitchId: defaultTQWN3k.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = clickhouseenterprisedbcluster.NewSecurityIp(ctx, \"default\", \u0026clickhouseenterprisedbcluster.SecurityIpArgs{\n\t\t\tGroupName: pulumi.String(\"example_group\"),\n\t\t\tSecurityIpList: pulumi.String(\"127.0.0.2\"),\n\t\t\tDbInstanceId: defaultn0nVrN.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbCluster;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.ClickHouseEnterpriseDbClusterArgs;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.SecurityIp;\nimport com.pulumi.alicloud.clickhouseenterprisedbcluster.SecurityIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n final var vswIpRangeI = config.get(\"vswIpRangeI\").orElse(\"172.16.1.0/24\");\n final var vpcIpRange = config.get(\"vpcIpRange\").orElse(\"172.16.0.0/12\");\n final var zoneIdI = config.get(\"zoneIdI\").orElse(\"cn-beijing-i\");\n var defaultktKLuM = new Network(\"defaultktKLuM\", NetworkArgs.builder()\n .cidrBlock(vpcIpRange)\n .build());\n\n var defaultTQWN3k = new Switch(\"defaultTQWN3k\", SwitchArgs.builder()\n .vpcId(defaultktKLuM.id())\n .zoneId(zoneIdI)\n .cidrBlock(vswIpRangeI)\n .build());\n\n var defaultn0nVrN = new ClickHouseEnterpriseDbCluster(\"defaultn0nVrN\", ClickHouseEnterpriseDbClusterArgs.builder()\n .zoneId(zoneIdI)\n .vpcId(defaultktKLuM.id())\n .scaleMin(\"8\")\n .scaleMax(\"16\")\n .vswitchId(defaultTQWN3k.id())\n .build());\n\n var default_ = new SecurityIp(\"default\", SecurityIpArgs.builder()\n .groupName(\"example_group\")\n .securityIpList(\"127.0.0.2\")\n .dbInstanceId(defaultn0nVrN.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\n vswIpRangeI:\n type: string\n default: 172.16.1.0/24\n vpcIpRange:\n type: string\n default: 172.16.0.0/12\n zoneIdI:\n type: string\n default: cn-beijing-i\nresources:\n defaultktKLuM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: ${vpcIpRange}\n defaultTQWN3k:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultktKLuM.id}\n zoneId: ${zoneIdI}\n cidrBlock: ${vswIpRangeI}\n defaultn0nVrN:\n type: alicloud:clickhouseenterprisedbcluster:ClickHouseEnterpriseDbCluster\n properties:\n zoneId: ${zoneIdI}\n vpcId: ${defaultktKLuM.id}\n scaleMin: '8'\n scaleMax: '16'\n vswitchId: ${defaultTQWN3k.id}\n default:\n type: alicloud:clickhouseenterprisedbcluster:SecurityIp\n properties:\n groupName: example_group\n securityIpList: 127.0.0.2\n dbInstanceId: ${defaultn0nVrN.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClick House Enterprise Db Cluster Security I P can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:clickhouseenterprisedbcluster/securityIp:SecurityIp example \u003cdb_instance_id\u003e:\u003cgroup_name\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -120191,7 +122056,7 @@ } }, "alicloud:cloudauth/faceConfig:FaceConfig": { - "description": "Provides a Cloudauth Face Config resource.\n\nFor information about Cloudauth Face Config and how to use it, see [What is Face Config](https://help.aliyun.com/zh/id-verification/cloudauth/product-overview/end-of-integration-announcement-on-id-verification).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n\u003e **NOTE:** In order to provide you with more perfect product capabilities, the real person certification service has stopped access, it is recommended that you use the upgraded version of the [real person certification financial real person certification service](https://help.aliyun.com/zh/id-verification/product-overview/what-is-id-verification-for-financial-services). Users that have access to real person authentication are not affected.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.cloudauth.FaceConfig(\"example\", {\n bizName: std.format({\n input: \"%s-biz\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n bizType: std.format({\n input: \"type-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.cloudauth.FaceConfig(\"example\",\n biz_name=std.format(input=\"%s-biz\",\n args=[name]).result,\n biz_type=std.format(input=\"type-%s\",\n args=[default[\"result\"]]).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.CloudAuth.FaceConfig(\"example\", new()\n {\n BizName = Std.Format.Invoke(new()\n {\n Input = \"%s-biz\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n BizType = Std.Format.Invoke(new()\n {\n Input = \"type-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudauth\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-biz\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"type-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\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 = cloudauth.NewFaceConfig(ctx, \"example\", \u0026cloudauth.FaceConfigArgs{\n\t\t\tBizName: pulumi.String(invokeFormat.Result),\n\t\t\tBizType: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudauth.FaceConfig;\nimport com.pulumi.alicloud.cloudauth.FaceConfigArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new FaceConfig(\"example\", FaceConfigArgs.builder()\n .bizName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-biz\")\n .args(name)\n .build()).result())\n .bizType(StdFunctions.format(FormatArgs.builder()\n .input(\"type-%s\")\n .args(default_.result())\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:cloudauth:FaceConfig\n properties:\n bizName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-biz'\n args:\n - ${name}\n return: result\n bizType:\n fn::invoke:\n function: std:format\n arguments:\n input: type-%s\n args:\n - ${default.result}\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloudauth Face Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudauth/faceConfig:FaceConfig example \u003clang\u003e\n```\n\n", + "description": "Provides a Cloudauth Face Config resource.\n\nFor information about Cloudauth Face Config and how to use it, see [What is Face Config](https://help.aliyun.com/zh/id-verification/cloudauth/product-overview/end-of-integration-announcement-on-id-verification).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n\u003e **NOTE:** In order to provide you with more perfect product capabilities, the real person certification service has stopped access, it is recommended that you use the upgraded version of the [real person certification financial real person certification service](https://help.aliyun.com/zh/id-verification/product-overview/what-is-id-verification-for-financial-services). Users that have access to real person authentication are not affected.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.cloudauth.FaceConfig(\"example\", {\n bizName: std.format({\n input: \"%s-biz\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n bizType: std.format({\n input: \"type-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.cloudauth.FaceConfig(\"example\",\n biz_name=std.format(input=\"%s-biz\",\n args=[name]).result,\n biz_type=std.format(input=\"type-%s\",\n args=[default[\"result\"]]).result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.CloudAuth.FaceConfig(\"example\", new()\n {\n BizName = Std.Format.Invoke(new()\n {\n Input = \"%s-biz\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n BizType = Std.Format.Invoke(new()\n {\n Input = \"type-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudauth\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-biz\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"type-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\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 = cloudauth.NewFaceConfig(ctx, \"example\", \u0026cloudauth.FaceConfigArgs{\n\t\t\tBizName: pulumi.String(invokeFormat.Result),\n\t\t\tBizType: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudauth.FaceConfig;\nimport com.pulumi.alicloud.cloudauth.FaceConfigArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new FaceConfig(\"example\", FaceConfigArgs.builder()\n .bizName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-biz\")\n .args(name)\n .build()).result())\n .bizType(StdFunctions.format(FormatArgs.builder()\n .input(\"type-%s\")\n .args(default_.result())\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:cloudauth:FaceConfig\n properties:\n bizName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-biz'\n args:\n - ${name}\n return: result\n bizType:\n fn::invoke:\n function: std:format\n arguments:\n input: type-%s\n args:\n - ${default.result}\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloudauth Face Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudauth/faceConfig:FaceConfig example \u003clang\u003e\n```\n\n", "properties": { "bizName": { "type": "string", @@ -120245,7 +122110,7 @@ } }, "alicloud:cloudconnect/network:Network": { - "description": "Provides a cloud connect network resource. Cloud Connect Network (CCN) is another important component of Smart Access Gateway. It is a device access matrix composed of Alibaba Cloud distributed access gateways. You can add multiple Smart Access Gateway (SAG) devices to a CCN instance and then attach the CCN instance to a Cloud Enterprise Network (CEN) instance to connect the local branches to the Alibaba Cloud.\n\nFor information about cloud connect network and how to use it, see [What is Cloud Connect Network](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createcloudconnectnetwork).\n\n\u003e **NOTE:** Available since v1.59.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: 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.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe cloud connect network instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/network:Network example ccn-abc123456\n```\n\n", + "description": "Provides a cloud connect network resource. Cloud Connect Network (CCN) is another important component of Smart Access Gateway. It is a device access matrix composed of Alibaba Cloud distributed access gateways. You can add multiple Smart Access Gateway (SAG) devices to a CCN instance and then attach the CCN instance to a Cloud Enterprise Network (CEN) instance to connect the local branches to the Alibaba Cloud.\n\nFor information about cloud connect network and how to use it, see [What is Cloud Connect Network](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createcloudconnectnetwork).\n\n\u003e **NOTE:** Available since v1.59.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: 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.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe cloud connect network instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/network:Network example ccn-abc123456\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -120313,7 +122178,7 @@ } }, "alicloud:cloudconnect/networkAttachment:NetworkAttachment": { - "description": "Provides a Cloud Connect Network Attachment resource. This topic describes how to associate a Smart Access Gateway (SAG) instance with a network instance. You must associate an SAG instance with a network instance if you want to connect the SAG to Alibaba Cloud. You can connect an SAG to Alibaba Cloud through a leased line, the Internet, or the active and standby links.\n\nFor information about Cloud Connect Network Attachment and how to use it, see [What is Cloud Connect Network Attachment](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/bindsmartaccessgateway).\n\n\u003e **NOTE:** Available since v1.64.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkf***\";\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\nconst defaultNetworkAttachment = new alicloud.cloudconnect.NetworkAttachment(\"default\", {\n ccnId: _default.id,\n sagId: sagId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkf***\"\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\ndefault_network_attachment = alicloud.cloudconnect.NetworkAttachment(\"default\",\n ccn_id=default.id,\n sag_id=sag_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkf***\";\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n var defaultNetworkAttachment = new AliCloud.CloudConnect.NetworkAttachment(\"default\", new()\n {\n CcnId = @default.Id,\n SagId = sagId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkf***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_default, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudconnect.NewNetworkAttachment(ctx, \"default\", \u0026cloudconnect.NetworkAttachmentArgs{\n\t\t\tCcnId: _default.ID(),\n\t\t\tSagId: pulumi.String(sagId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport com.pulumi.alicloud.cloudconnect.NetworkAttachment;\nimport com.pulumi.alicloud.cloudconnect.NetworkAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkf***\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n var defaultNetworkAttachment = new NetworkAttachment(\"defaultNetworkAttachment\", NetworkAttachmentArgs.builder()\n .ccnId(default_.id())\n .sagId(sagId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkf***\nresources:\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n defaultNetworkAttachment:\n type: alicloud:cloudconnect:NetworkAttachment\n name: default\n properties:\n ccnId: ${default.id}\n sagId: ${sagId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Cloud Connect Network Attachment can be imported using the instance_id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/networkAttachment:NetworkAttachment example ccn-abc123456:sag-abc123456\n```\n\n", + "description": "Provides a Cloud Connect Network Attachment resource. This topic describes how to associate a Smart Access Gateway (SAG) instance with a network instance. You must associate an SAG instance with a network instance if you want to connect the SAG to Alibaba Cloud. You can connect an SAG to Alibaba Cloud through a leased line, the Internet, or the active and standby links.\n\nFor information about Cloud Connect Network Attachment and how to use it, see [What is Cloud Connect Network Attachment](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/bindsmartaccessgateway).\n\n\u003e **NOTE:** Available since v1.64.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkf***\";\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\nconst defaultNetworkAttachment = new alicloud.cloudconnect.NetworkAttachment(\"default\", {\n ccnId: _default.id,\n sagId: sagId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkf***\"\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\ndefault_network_attachment = alicloud.cloudconnect.NetworkAttachment(\"default\",\n ccn_id=default.id,\n sag_id=sag_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkf***\";\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n var defaultNetworkAttachment = new AliCloud.CloudConnect.NetworkAttachment(\"default\", new()\n {\n CcnId = @default.Id,\n SagId = sagId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkf***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_default, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudconnect.NewNetworkAttachment(ctx, \"default\", \u0026cloudconnect.NetworkAttachmentArgs{\n\t\t\tCcnId: _default.ID(),\n\t\t\tSagId: pulumi.String(sagId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport com.pulumi.alicloud.cloudconnect.NetworkAttachment;\nimport com.pulumi.alicloud.cloudconnect.NetworkAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkf***\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n var defaultNetworkAttachment = new NetworkAttachment(\"defaultNetworkAttachment\", NetworkAttachmentArgs.builder()\n .ccnId(default_.id())\n .sagId(sagId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkf***\nresources:\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n defaultNetworkAttachment:\n type: alicloud:cloudconnect:NetworkAttachment\n name: default\n properties:\n ccnId: ${default.id}\n sagId: ${sagId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Cloud Connect Network Attachment can be imported using the instance_id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/networkAttachment:NetworkAttachment example ccn-abc123456:sag-abc123456\n```\n\n", "properties": { "ccnId": { "type": "string", @@ -120362,7 +122227,7 @@ } }, "alicloud:cloudconnect/networkGrant:NetworkGrant": { - "description": "Provides a Cloud Connect Network Grant resource. If the CEN instance to be attached belongs to another account, authorization by the CEN instance is required.\n\nFor information about Cloud Connect Network Grant and how to use it, see [What is Cloud Connect Network Grant](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/grantinstancetocbn).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network Grant. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst anotherUid = config.getNumber(\"anotherUid\") || 123456789;\n// Method 2: Use the target cen account's access_key, secret_key\n// provider \"alicloud\" {\n// region = \"cn-hangzhou\"\n// access_key = \"access_key\"\n// secret_key = \"secret_key\"\n// alias = \"cen_account\"\n// }\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\nconst cen = new alicloud.cen.Instance(\"cen\", {cenInstanceName: name});\nconst defaultNetworkGrant = new alicloud.cloudconnect.NetworkGrant(\"default\", {\n ccnId: _default.id,\n cenId: cen.id,\n cenUid: anotherUid,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nanother_uid = config.get_float(\"anotherUid\")\nif another_uid is None:\n another_uid = 123456789\n# Method 2: Use the target cen account's access_key, secret_key\n# provider \"alicloud\" {\n# region = \"cn-hangzhou\"\n# access_key = \"access_key\"\n# secret_key = \"secret_key\"\n# alias = \"cen_account\"\n# }\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\ncen = alicloud.cen.Instance(\"cen\", cen_instance_name=name)\ndefault_network_grant = alicloud.cloudconnect.NetworkGrant(\"default\",\n ccn_id=default.id,\n cen_id=cen.id,\n cen_uid=another_uid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var anotherUid = config.GetDouble(\"anotherUid\") ?? 123456789;\n // Method 2: Use the target cen account's access_key, secret_key\n // provider \"alicloud\" {\n // region = \"cn-hangzhou\"\n // access_key = \"access_key\"\n // secret_key = \"secret_key\"\n // alias = \"cen_account\"\n // }\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n var cen = new AliCloud.Cen.Instance(\"cen\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultNetworkGrant = new AliCloud.CloudConnect.NetworkGrant(\"default\", new()\n {\n CcnId = @default.Id,\n CenId = cen.Id,\n CenUid = anotherUid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tanotherUid := float64(123456789)\n\t\tif param := cfg.GetFloat64(\"anotherUid\"); param != 0 {\n\t\t\tanotherUid = param\n\t\t}\n\t\t// Method 2: Use the target cen account's access_key, secret_key\n\t\t//\n\t\t//\tprovider \"alicloud\" {\n\t\t//\t region = \"cn-hangzhou\"\n\t\t//\t access_key = \"access_key\"\n\t\t//\t secret_key = \"secret_key\"\n\t\t//\t alias = \"cen_account\"\n\t\t//\t}\n\t\t_default, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcen, err := cen.NewInstance(ctx, \"cen\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudconnect.NewNetworkGrant(ctx, \"default\", \u0026cloudconnect.NetworkGrantArgs{\n\t\t\tCcnId: _default.ID(),\n\t\t\tCenId: cen.ID(),\n\t\t\tCenUid: pulumi.Float64(anotherUid),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cloudconnect.NetworkGrant;\nimport com.pulumi.alicloud.cloudconnect.NetworkGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var anotherUid = config.get(\"anotherUid\").orElse(123456789);\n // Method 2: Use the target cen account's access_key, secret_key\n // provider \"alicloud\" {\n // region = \"cn-hangzhou\"\n // access_key = \"access_key\"\n // secret_key = \"secret_key\"\n // alias = \"cen_account\"\n // }\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n var cen = new Instance(\"cen\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultNetworkGrant = new NetworkGrant(\"defaultNetworkGrant\", NetworkGrantArgs.builder()\n .ccnId(default_.id())\n .cenId(cen.id())\n .cenUid(anotherUid)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n anotherUid:\n type: number\n default: 1.23456789e+08\nresources:\n # Method 2: Use the target cen account's access_key, secret_key\n # provider \"alicloud\" {\n # region = \"cn-hangzhou\"\n # access_key = \"access_key\"\n # secret_key = \"secret_key\"\n # alias = \"cen_account\"\n # }\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n cen:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultNetworkGrant:\n type: alicloud:cloudconnect:NetworkGrant\n name: default\n properties:\n ccnId: ${default.id}\n cenId: ${cen.id}\n cenUid: ${anotherUid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Cloud Connect Network Grant can be imported using the instance_id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/networkGrant:NetworkGrant example ccn-abc123456:cen-abc123456\n```\n\n", + "description": "Provides a Cloud Connect Network Grant resource. If the CEN instance to be attached belongs to another account, authorization by the CEN instance is required.\n\nFor information about Cloud Connect Network Grant and how to use it, see [What is Cloud Connect Network Grant](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/grantinstancetocbn).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network Grant. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst anotherUid = config.getNumber(\"anotherUid\") || 123456789;\n// Method 2: Use the target cen account's access_key, secret_key\n// provider \"alicloud\" {\n// region = \"cn-hangzhou\"\n// access_key = \"access_key\"\n// secret_key = \"secret_key\"\n// alias = \"cen_account\"\n// }\nconst _default = new alicloud.cloudconnect.Network(\"default\", {\n name: name,\n description: name,\n cidrBlock: \"192.168.0.0/24\",\n isDefault: true,\n});\nconst cen = new alicloud.cen.Instance(\"cen\", {cenInstanceName: name});\nconst defaultNetworkGrant = new alicloud.cloudconnect.NetworkGrant(\"default\", {\n ccnId: _default.id,\n cenId: cen.id,\n cenUid: anotherUid,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nanother_uid = config.get_float(\"anotherUid\")\nif another_uid is None:\n another_uid = 123456789\n# Method 2: Use the target cen account's access_key, secret_key\n# provider \"alicloud\" {\n# region = \"cn-hangzhou\"\n# access_key = \"access_key\"\n# secret_key = \"secret_key\"\n# alias = \"cen_account\"\n# }\ndefault = alicloud.cloudconnect.Network(\"default\",\n name=name,\n description=name,\n cidr_block=\"192.168.0.0/24\",\n is_default=True)\ncen = alicloud.cen.Instance(\"cen\", cen_instance_name=name)\ndefault_network_grant = alicloud.cloudconnect.NetworkGrant(\"default\",\n ccn_id=default.id,\n cen_id=cen.id,\n cen_uid=another_uid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var anotherUid = config.GetDouble(\"anotherUid\") ?? 123456789;\n // Method 2: Use the target cen account's access_key, secret_key\n // provider \"alicloud\" {\n // region = \"cn-hangzhou\"\n // access_key = \"access_key\"\n // secret_key = \"secret_key\"\n // alias = \"cen_account\"\n // }\n var @default = new AliCloud.CloudConnect.Network(\"default\", new()\n {\n Name = name,\n Description = name,\n CidrBlock = \"192.168.0.0/24\",\n IsDefault = true,\n });\n\n var cen = new AliCloud.Cen.Instance(\"cen\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultNetworkGrant = new AliCloud.CloudConnect.NetworkGrant(\"default\", new()\n {\n CcnId = @default.Id,\n CenId = cen.Id,\n CenUid = anotherUid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tanotherUid := float64(123456789)\n\t\tif param := cfg.GetFloat64(\"anotherUid\"); param != 0 {\n\t\t\tanotherUid = param\n\t\t}\n\t\t// Method 2: Use the target cen account's access_key, secret_key\n\t\t//\n\t\t//\tprovider \"alicloud\" {\n\t\t//\t region = \"cn-hangzhou\"\n\t\t//\t access_key = \"access_key\"\n\t\t//\t secret_key = \"secret_key\"\n\t\t//\t alias = \"cen_account\"\n\t\t//\t}\n\t\t_default, err := cloudconnect.NewNetwork(ctx, \"default\", \u0026cloudconnect.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tIsDefault: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcen, err := cen.NewInstance(ctx, \"cen\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudconnect.NewNetworkGrant(ctx, \"default\", \u0026cloudconnect.NetworkGrantArgs{\n\t\t\tCcnId: _default.ID(),\n\t\t\tCenId: cen.ID(),\n\t\t\tCenUid: pulumi.Float64(anotherUid),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudconnect.Network;\nimport com.pulumi.alicloud.cloudconnect.NetworkArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cloudconnect.NetworkGrant;\nimport com.pulumi.alicloud.cloudconnect.NetworkGrantArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var anotherUid = config.get(\"anotherUid\").orElse(123456789);\n // Method 2: Use the target cen account's access_key, secret_key\n // provider \"alicloud\" {\n // region = \"cn-hangzhou\"\n // access_key = \"access_key\"\n // secret_key = \"secret_key\"\n // alias = \"cen_account\"\n // }\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .name(name)\n .description(name)\n .cidrBlock(\"192.168.0.0/24\")\n .isDefault(true)\n .build());\n\n var cen = new Instance(\"cen\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultNetworkGrant = new NetworkGrant(\"defaultNetworkGrant\", NetworkGrantArgs.builder()\n .ccnId(default_.id())\n .cenId(cen.id())\n .cenUid(anotherUid)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n anotherUid:\n type: number\n default: 1.23456789e+08\nresources:\n # Method 2: Use the target cen account's access_key, secret_key\n # provider \"alicloud\" {\n # region = \"cn-hangzhou\"\n # access_key = \"access_key\"\n # secret_key = \"secret_key\"\n # alias = \"cen_account\"\n # }\n default:\n type: alicloud:cloudconnect:Network\n properties:\n name: ${name}\n description: ${name}\n cidrBlock: 192.168.0.0/24\n isDefault: true\n cen:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultNetworkGrant:\n type: alicloud:cloudconnect:NetworkGrant\n name: default\n properties:\n ccnId: ${default.id}\n cenId: ${cen.id}\n cenUid: ${anotherUid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Cloud Connect Network Grant can be imported using the instance_id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudconnect/networkGrant:NetworkGrant example ccn-abc123456:cen-abc123456\n```\n\n", "properties": { "ccnId": { "type": "string", @@ -120427,7 +122292,7 @@ } }, "alicloud:cloudcontrol/resource:Resource": { - "description": "Provides a Cloud Control Resource resource.\n\n\n\nFor information about Cloud Control Resource and how to use it, see [What is Resource](https://next.api.aliyun.com/document/cloudcontrol/2022-08-30/GetResourceType).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst mqInstance = new alicloud.cloudcontrol.Resource(\"mq_instance\", {\n desireAttributes: JSON.stringify({\n InstanceName: \"terraform-example-ons-instance\",\n }),\n product: \"Ons\",\n resourceCode: \"Instance\",\n});\nconst _default = new alicloud.cloudcontrol.Resource(\"default\", {\n product: \"Ons\",\n resourceCode: \"Instance::Topic\",\n resourceId: mqInstance.resourceId,\n desireAttributes: pulumi.jsonStringify({\n InstanceId: mqInstance.resourceId,\n TopicName: \"terraform-example-ons-topic\",\n MessageType: \"1\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nmq_instance = alicloud.cloudcontrol.Resource(\"mq_instance\",\n desire_attributes=json.dumps({\n \"InstanceName\": \"terraform-example-ons-instance\",\n }),\n product=\"Ons\",\n resource_code=\"Instance\")\ndefault = alicloud.cloudcontrol.Resource(\"default\",\n product=\"Ons\",\n resource_code=\"Instance::Topic\",\n resource_id=mq_instance.resource_id,\n desire_attributes=pulumi.Output.json_dumps({\n \"InstanceId\": mq_instance.resource_id,\n \"TopicName\": \"terraform-example-ons-topic\",\n \"MessageType\": \"1\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var mqInstance = new AliCloud.CloudControl.Resource(\"mq_instance\", new()\n {\n DesireAttributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"InstanceName\"] = \"terraform-example-ons-instance\",\n }),\n Product = \"Ons\",\n ResourceCode = \"Instance\",\n });\n\n var @default = new AliCloud.CloudControl.Resource(\"default\", new()\n {\n Product = \"Ons\",\n ResourceCode = \"Instance::Topic\",\n ResourceId = mqInstance.ResourceId,\n DesireAttributes = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"InstanceId\"] = mqInstance.ResourceId,\n [\"TopicName\"] = \"terraform-example-ons-topic\",\n [\"MessageType\"] = \"1\",\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudcontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"InstanceName\": \"terraform-example-ons-instance\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tmqInstance, err := cloudcontrol.NewResource(ctx, \"mq_instance\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tDesireAttributes: pulumi.String(json0),\n\t\t\tProduct: pulumi.String(\"Ons\"),\n\t\t\tResourceCode: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudcontrol.NewResource(ctx, \"default\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tProduct: pulumi.String(\"Ons\"),\n\t\t\tResourceCode: pulumi.String(\"Instance::Topic\"),\n\t\t\tResourceId: mqInstance.ResourceId,\n\t\t\tDesireAttributes: mqInstance.ResourceId.ApplyT(func(resourceId string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"InstanceId\": resourceId,\n\t\t\t\t\t\"TopicName\": \"terraform-example-ons-topic\",\n\t\t\t\t\t\"MessageType\": \"1\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), 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.alicloud.cloudcontrol.Resource;\nimport com.pulumi.alicloud.cloudcontrol.ResourceArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var mqInstance = new Resource(\"mqInstance\", ResourceArgs.builder()\n .desireAttributes(serializeJson(\n jsonObject(\n jsonProperty(\"InstanceName\", \"terraform-example-ons-instance\")\n )))\n .product(\"Ons\")\n .resourceCode(\"Instance\")\n .build());\n\n var default_ = new Resource(\"default\", ResourceArgs.builder()\n .product(\"Ons\")\n .resourceCode(\"Instance::Topic\")\n .resourceId(mqInstance.resourceId())\n .desireAttributes(mqInstance.resourceId().applyValue(_resourceId -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"InstanceId\", _resourceId),\n jsonProperty(\"TopicName\", \"terraform-example-ons-topic\"),\n jsonProperty(\"MessageType\", \"1\")\n ))))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n mqInstance:\n type: alicloud:cloudcontrol:Resource\n name: mq_instance\n properties:\n desireAttributes:\n fn::toJSON:\n InstanceName: terraform-example-ons-instance\n product: Ons\n resourceCode: Instance\n default:\n type: alicloud:cloudcontrol:Resource\n properties:\n product: Ons\n resourceCode: Instance::Topic\n resourceId: ${mqInstance.resourceId}\n desireAttributes:\n fn::toJSON:\n InstanceId: ${mqInstance.resourceId}\n TopicName: terraform-example-ons-topic\n MessageType: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Control Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudcontrol/resource:Resource example \u003cprovider\u003e:\u003cproduct\u003e:\u003cresource_code\u003e:\u003cresource_id\u003e\n```\n\n", + "description": "Provides a Cloud Control Resource resource.\n\n\n\nFor information about Cloud Control Resource and how to use it, see [What is Resource](https://next.api.aliyun.com/document/cloudcontrol/2022-08-30/GetResourceType).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst mqInstance = new alicloud.cloudcontrol.Resource(\"mq_instance\", {\n desireAttributes: JSON.stringify({\n InstanceName: \"terraform-example-ons-instance\",\n }),\n product: \"Ons\",\n resourceCode: \"Instance\",\n});\nconst _default = new alicloud.cloudcontrol.Resource(\"default\", {\n product: \"Ons\",\n resourceCode: \"Instance::Topic\",\n resourceId: mqInstance.resourceId,\n desireAttributes: pulumi.jsonStringify({\n InstanceId: mqInstance.resourceId,\n TopicName: \"terraform-example-ons-topic\",\n MessageType: \"1\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nmq_instance = alicloud.cloudcontrol.Resource(\"mq_instance\",\n desire_attributes=json.dumps({\n \"InstanceName\": \"terraform-example-ons-instance\",\n }),\n product=\"Ons\",\n resource_code=\"Instance\")\ndefault = alicloud.cloudcontrol.Resource(\"default\",\n product=\"Ons\",\n resource_code=\"Instance::Topic\",\n resource_id=mq_instance.resource_id,\n desire_attributes=pulumi.Output.json_dumps({\n \"InstanceId\": mq_instance.resource_id,\n \"TopicName\": \"terraform-example-ons-topic\",\n \"MessageType\": \"1\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var mqInstance = new AliCloud.CloudControl.Resource(\"mq_instance\", new()\n {\n DesireAttributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"InstanceName\"] = \"terraform-example-ons-instance\",\n }),\n Product = \"Ons\",\n ResourceCode = \"Instance\",\n });\n\n var @default = new AliCloud.CloudControl.Resource(\"default\", new()\n {\n Product = \"Ons\",\n ResourceCode = \"Instance::Topic\",\n ResourceId = mqInstance.ResourceId,\n DesireAttributes = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"InstanceId\"] = mqInstance.ResourceId,\n [\"TopicName\"] = \"terraform-example-ons-topic\",\n [\"MessageType\"] = \"1\",\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudcontrol\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"InstanceName\": \"terraform-example-ons-instance\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tmqInstance, err := cloudcontrol.NewResource(ctx, \"mq_instance\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tDesireAttributes: pulumi.String(json0),\n\t\t\tProduct: pulumi.String(\"Ons\"),\n\t\t\tResourceCode: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudcontrol.NewResource(ctx, \"default\", \u0026cloudcontrol.ResourceArgs{\n\t\t\tProduct: pulumi.String(\"Ons\"),\n\t\t\tResourceCode: pulumi.String(\"Instance::Topic\"),\n\t\t\tResourceId: mqInstance.ResourceId,\n\t\t\tDesireAttributes: mqInstance.ResourceId.ApplyT(func(resourceId string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"InstanceId\": resourceId,\n\t\t\t\t\t\"TopicName\": \"terraform-example-ons-topic\",\n\t\t\t\t\t\"MessageType\": \"1\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\treturn pulumi.String(json1), 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.alicloud.cloudcontrol.Resource;\nimport com.pulumi.alicloud.cloudcontrol.ResourceArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var mqInstance = new Resource(\"mqInstance\", ResourceArgs.builder()\n .desireAttributes(serializeJson(\n jsonObject(\n jsonProperty(\"InstanceName\", \"terraform-example-ons-instance\")\n )))\n .product(\"Ons\")\n .resourceCode(\"Instance\")\n .build());\n\n var default_ = new Resource(\"default\", ResourceArgs.builder()\n .product(\"Ons\")\n .resourceCode(\"Instance::Topic\")\n .resourceId(mqInstance.resourceId())\n .desireAttributes(mqInstance.resourceId().applyValue(_resourceId -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"InstanceId\", _resourceId),\n jsonProperty(\"TopicName\", \"terraform-example-ons-topic\"),\n jsonProperty(\"MessageType\", \"1\")\n ))))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n mqInstance:\n type: alicloud:cloudcontrol:Resource\n name: mq_instance\n properties:\n desireAttributes:\n fn::toJSON:\n InstanceName: terraform-example-ons-instance\n product: Ons\n resourceCode: Instance\n default:\n type: alicloud:cloudcontrol:Resource\n properties:\n product: Ons\n resourceCode: Instance::Topic\n resourceId: ${mqInstance.resourceId}\n desireAttributes:\n fn::toJSON:\n InstanceId: ${mqInstance.resourceId}\n TopicName: terraform-example-ons-topic\n MessageType: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Control Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudcontrol/resource:Resource example \u003cprovider\u003e:\u003cproduct\u003e:\u003cresource_code\u003e:\u003cresource_id\u003e\n```\n\n", "properties": { "desireAttributes": { "type": "string", @@ -120515,7 +122380,7 @@ } }, "alicloud:cloudfirewall/addressBook:AddressBook": { - "description": "Provides a Cloud Firewall Address Book resource.\n\nFor information about Cloud Firewall Address Book and how to use it, see [What is Address Book](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-addaddressbook).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cloudfirewall.AddressBook(\"example\", {\n description: \"example_value\",\n groupName: \"example_value\",\n groupType: \"tag\",\n tagRelation: \"and\",\n autoAddTagEcs: 0,\n ecsTags: [{\n tagKey: \"created\",\n tagValue: \"tfTestAcc0\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cloudfirewall.AddressBook(\"example\",\n description=\"example_value\",\n group_name=\"example_value\",\n group_type=\"tag\",\n tag_relation=\"and\",\n auto_add_tag_ecs=0,\n ecs_tags=[{\n \"tag_key\": \"created\",\n \"tag_value\": \"tfTestAcc0\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.CloudFirewall.AddressBook(\"example\", new()\n {\n Description = \"example_value\",\n GroupName = \"example_value\",\n GroupType = \"tag\",\n TagRelation = \"and\",\n AutoAddTagEcs = 0,\n EcsTags = new[]\n {\n new AliCloud.CloudFirewall.Inputs.AddressBookEcsTagArgs\n {\n TagKey = \"created\",\n TagValue = \"tfTestAcc0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewAddressBook(ctx, \"example\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tGroupName: pulumi.String(\"example_value\"),\n\t\t\tGroupType: pulumi.String(\"tag\"),\n\t\t\tTagRelation: pulumi.String(\"and\"),\n\t\t\tAutoAddTagEcs: pulumi.Int(0),\n\t\t\tEcsTags: cloudfirewall.AddressBookEcsTagArray{\n\t\t\t\t\u0026cloudfirewall.AddressBookEcsTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"created\"),\n\t\t\t\t\tTagValue: pulumi.String(\"tfTestAcc0\"),\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.alicloud.cloudfirewall.AddressBook;\nimport com.pulumi.alicloud.cloudfirewall.AddressBookArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.AddressBookEcsTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AddressBook(\"example\", AddressBookArgs.builder()\n .description(\"example_value\")\n .groupName(\"example_value\")\n .groupType(\"tag\")\n .tagRelation(\"and\")\n .autoAddTagEcs(0)\n .ecsTags(AddressBookEcsTagArgs.builder()\n .tagKey(\"created\")\n .tagValue(\"tfTestAcc0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description: example_value\n groupName: example_value\n groupType: tag\n tagRelation: and\n autoAddTagEcs: 0\n ecsTags:\n - tagKey: created\n tagValue: tfTestAcc0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Address Book can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/addressBook:AddressBook example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Address Book resource.\n\nFor information about Cloud Firewall Address Book and how to use it, see [What is Address Book](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-addaddressbook).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cloudfirewall.AddressBook(\"example\", {\n description: \"example_value\",\n groupName: \"example_value\",\n groupType: \"tag\",\n tagRelation: \"and\",\n autoAddTagEcs: 0,\n ecsTags: [{\n tagKey: \"created\",\n tagValue: \"tfTestAcc0\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cloudfirewall.AddressBook(\"example\",\n description=\"example_value\",\n group_name=\"example_value\",\n group_type=\"tag\",\n tag_relation=\"and\",\n auto_add_tag_ecs=0,\n ecs_tags=[{\n \"tag_key\": \"created\",\n \"tag_value\": \"tfTestAcc0\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.CloudFirewall.AddressBook(\"example\", new()\n {\n Description = \"example_value\",\n GroupName = \"example_value\",\n GroupType = \"tag\",\n TagRelation = \"and\",\n AutoAddTagEcs = 0,\n EcsTags = new[]\n {\n new AliCloud.CloudFirewall.Inputs.AddressBookEcsTagArgs\n {\n TagKey = \"created\",\n TagValue = \"tfTestAcc0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewAddressBook(ctx, \"example\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tGroupName: pulumi.String(\"example_value\"),\n\t\t\tGroupType: pulumi.String(\"tag\"),\n\t\t\tTagRelation: pulumi.String(\"and\"),\n\t\t\tAutoAddTagEcs: pulumi.Int(0),\n\t\t\tEcsTags: cloudfirewall.AddressBookEcsTagArray{\n\t\t\t\t\u0026cloudfirewall.AddressBookEcsTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"created\"),\n\t\t\t\t\tTagValue: pulumi.String(\"tfTestAcc0\"),\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.alicloud.cloudfirewall.AddressBook;\nimport com.pulumi.alicloud.cloudfirewall.AddressBookArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.AddressBookEcsTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AddressBook(\"example\", AddressBookArgs.builder()\n .description(\"example_value\")\n .groupName(\"example_value\")\n .groupType(\"tag\")\n .tagRelation(\"and\")\n .autoAddTagEcs(0)\n .ecsTags(AddressBookEcsTagArgs.builder()\n .tagKey(\"created\")\n .tagValue(\"tfTestAcc0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description: example_value\n groupName: example_value\n groupType: tag\n tagRelation: and\n autoAddTagEcs: 0\n ecsTags:\n - tagKey: created\n tagValue: tfTestAcc0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Address Book can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/addressBook:AddressBook example \u003cid\u003e\n```\n\n", "properties": { "addressLists": { "type": "array", @@ -120683,7 +122548,7 @@ } }, "alicloud:cloudfirewall/controlPolicy:ControlPolicy": { - "description": "Provides a Cloud Firewall Control Policy resource.\n\nFor information about Cloud Firewall Control Policy and how to use it, see [What is Control Policy](https://www.alibabacloud.com/help/doc-detail/138867.htm).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudfirewall.ControlPolicy(\"default\", {\n direction: \"in\",\n applicationName: \"ANY\",\n description: name,\n aclAction: \"accept\",\n source: \"127.0.0.1/32\",\n sourceType: \"net\",\n destination: \"127.0.0.2/32\",\n destinationType: \"net\",\n proto: \"ANY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudfirewall.ControlPolicy(\"default\",\n direction=\"in\",\n application_name=\"ANY\",\n description=name,\n acl_action=\"accept\",\n source=\"127.0.0.1/32\",\n source_type=\"net\",\n destination=\"127.0.0.2/32\",\n destination_type=\"net\",\n proto=\"ANY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudFirewall.ControlPolicy(\"default\", new()\n {\n Direction = \"in\",\n ApplicationName = \"ANY\",\n Description = name,\n AclAction = \"accept\",\n Source = \"127.0.0.1/32\",\n SourceType = \"net\",\n Destination = \"127.0.0.2/32\",\n DestinationType = \"net\",\n Proto = \"ANY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudfirewall.NewControlPolicy(ctx, \"default\", \u0026cloudfirewall.ControlPolicyArgs{\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"ANY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ControlPolicy(\"default\", ControlPolicyArgs.builder()\n .direction(\"in\")\n .applicationName(\"ANY\")\n .description(name)\n .aclAction(\"accept\")\n .source(\"127.0.0.1/32\")\n .sourceType(\"net\")\n .destination(\"127.0.0.2/32\")\n .destinationType(\"net\")\n .proto(\"ANY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudfirewall:ControlPolicy\n properties:\n direction: in\n applicationName: ANY\n description: ${name}\n aclAction: accept\n source: 127.0.0.1/32\n sourceType: net\n destination: 127.0.0.2/32\n destinationType: net\n proto: ANY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/controlPolicy:ControlPolicy example \u003cacl_uuid\u003e:\u003cdirection\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Control Policy resource.\n\nFor information about Cloud Firewall Control Policy and how to use it, see [What is Control Policy](https://www.alibabacloud.com/help/doc-detail/138867.htm).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudfirewall.ControlPolicy(\"default\", {\n direction: \"in\",\n applicationName: \"ANY\",\n description: name,\n aclAction: \"accept\",\n source: \"127.0.0.1/32\",\n sourceType: \"net\",\n destination: \"127.0.0.2/32\",\n destinationType: \"net\",\n proto: \"ANY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudfirewall.ControlPolicy(\"default\",\n direction=\"in\",\n application_name=\"ANY\",\n description=name,\n acl_action=\"accept\",\n source=\"127.0.0.1/32\",\n source_type=\"net\",\n destination=\"127.0.0.2/32\",\n destination_type=\"net\",\n proto=\"ANY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudFirewall.ControlPolicy(\"default\", new()\n {\n Direction = \"in\",\n ApplicationName = \"ANY\",\n Description = name,\n AclAction = \"accept\",\n Source = \"127.0.0.1/32\",\n SourceType = \"net\",\n Destination = \"127.0.0.2/32\",\n DestinationType = \"net\",\n Proto = \"ANY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudfirewall.NewControlPolicy(ctx, \"default\", \u0026cloudfirewall.ControlPolicyArgs{\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"ANY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ControlPolicy(\"default\", ControlPolicyArgs.builder()\n .direction(\"in\")\n .applicationName(\"ANY\")\n .description(name)\n .aclAction(\"accept\")\n .source(\"127.0.0.1/32\")\n .sourceType(\"net\")\n .destination(\"127.0.0.2/32\")\n .destinationType(\"net\")\n .proto(\"ANY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudfirewall:ControlPolicy\n properties:\n direction: in\n applicationName: ANY\n description: ${name}\n aclAction: accept\n source: 127.0.0.1/32\n sourceType: net\n destination: 127.0.0.2/32\n destinationType: net\n proto: ANY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/controlPolicy:ControlPolicy example \u003cacl_uuid\u003e:\u003cdirection\u003e\n```\n\n", "properties": { "aclAction": { "type": "string", @@ -121049,7 +122914,7 @@ } }, "alicloud:cloudfirewall/controlPolicyOrder:ControlPolicyOrder": { - "description": "Provides a Cloud Firewall Control Policy Order resource.\n\nFor information about Cloud Firewall Control Policy Order and how to use it, see [What is Control Policy Order](https://www.alibabacloud.com/help/doc-detail/138867.htm).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudfirewall.ControlPolicy(\"default\", {\n direction: \"in\",\n applicationName: \"ANY\",\n description: name,\n aclAction: \"accept\",\n source: \"127.0.0.1/32\",\n sourceType: \"net\",\n destination: \"127.0.0.2/32\",\n destinationType: \"net\",\n proto: \"ANY\",\n});\nconst defaultControlPolicyOrder = new alicloud.cloudfirewall.ControlPolicyOrder(\"default\", {\n aclUuid: _default.aclUuid,\n direction: _default.direction,\n order: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudfirewall.ControlPolicy(\"default\",\n direction=\"in\",\n application_name=\"ANY\",\n description=name,\n acl_action=\"accept\",\n source=\"127.0.0.1/32\",\n source_type=\"net\",\n destination=\"127.0.0.2/32\",\n destination_type=\"net\",\n proto=\"ANY\")\ndefault_control_policy_order = alicloud.cloudfirewall.ControlPolicyOrder(\"default\",\n acl_uuid=default.acl_uuid,\n direction=default.direction,\n order=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudFirewall.ControlPolicy(\"default\", new()\n {\n Direction = \"in\",\n ApplicationName = \"ANY\",\n Description = name,\n AclAction = \"accept\",\n Source = \"127.0.0.1/32\",\n SourceType = \"net\",\n Destination = \"127.0.0.2/32\",\n DestinationType = \"net\",\n Proto = \"ANY\",\n });\n\n var defaultControlPolicyOrder = new AliCloud.CloudFirewall.ControlPolicyOrder(\"default\", new()\n {\n AclUuid = @default.AclUuid,\n Direction = @default.Direction,\n Order = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudfirewall.NewControlPolicy(ctx, \"default\", \u0026cloudfirewall.ControlPolicyArgs{\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"ANY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewControlPolicyOrder(ctx, \"default\", \u0026cloudfirewall.ControlPolicyOrderArgs{\n\t\t\tAclUuid: _default.AclUuid,\n\t\t\tDirection: _default.Direction,\n\t\t\tOrder: 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.alicloud.cloudfirewall.ControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyArgs;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyOrder;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ControlPolicy(\"default\", ControlPolicyArgs.builder()\n .direction(\"in\")\n .applicationName(\"ANY\")\n .description(name)\n .aclAction(\"accept\")\n .source(\"127.0.0.1/32\")\n .sourceType(\"net\")\n .destination(\"127.0.0.2/32\")\n .destinationType(\"net\")\n .proto(\"ANY\")\n .build());\n\n var defaultControlPolicyOrder = new ControlPolicyOrder(\"defaultControlPolicyOrder\", ControlPolicyOrderArgs.builder()\n .aclUuid(default_.aclUuid())\n .direction(default_.direction())\n .order(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudfirewall:ControlPolicy\n properties:\n direction: in\n applicationName: ANY\n description: ${name}\n aclAction: accept\n source: 127.0.0.1/32\n sourceType: net\n destination: 127.0.0.2/32\n destinationType: net\n proto: ANY\n defaultControlPolicyOrder:\n type: alicloud:cloudfirewall:ControlPolicyOrder\n name: default\n properties:\n aclUuid: ${default.aclUuid}\n direction: ${default.direction}\n order: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Control Policy Order can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/controlPolicyOrder:ControlPolicyOrder example \u003cacl_uuid\u003e:\u003cdirection\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Control Policy Order resource.\n\nFor information about Cloud Firewall Control Policy Order and how to use it, see [What is Control Policy Order](https://www.alibabacloud.com/help/doc-detail/138867.htm).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudfirewall.ControlPolicy(\"default\", {\n direction: \"in\",\n applicationName: \"ANY\",\n description: name,\n aclAction: \"accept\",\n source: \"127.0.0.1/32\",\n sourceType: \"net\",\n destination: \"127.0.0.2/32\",\n destinationType: \"net\",\n proto: \"ANY\",\n});\nconst defaultControlPolicyOrder = new alicloud.cloudfirewall.ControlPolicyOrder(\"default\", {\n aclUuid: _default.aclUuid,\n direction: _default.direction,\n order: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudfirewall.ControlPolicy(\"default\",\n direction=\"in\",\n application_name=\"ANY\",\n description=name,\n acl_action=\"accept\",\n source=\"127.0.0.1/32\",\n source_type=\"net\",\n destination=\"127.0.0.2/32\",\n destination_type=\"net\",\n proto=\"ANY\")\ndefault_control_policy_order = alicloud.cloudfirewall.ControlPolicyOrder(\"default\",\n acl_uuid=default.acl_uuid,\n direction=default.direction,\n order=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudFirewall.ControlPolicy(\"default\", new()\n {\n Direction = \"in\",\n ApplicationName = \"ANY\",\n Description = name,\n AclAction = \"accept\",\n Source = \"127.0.0.1/32\",\n SourceType = \"net\",\n Destination = \"127.0.0.2/32\",\n DestinationType = \"net\",\n Proto = \"ANY\",\n });\n\n var defaultControlPolicyOrder = new AliCloud.CloudFirewall.ControlPolicyOrder(\"default\", new()\n {\n AclUuid = @default.AclUuid,\n Direction = @default.Direction,\n Order = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudfirewall.NewControlPolicy(ctx, \"default\", \u0026cloudfirewall.ControlPolicyArgs{\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"ANY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewControlPolicyOrder(ctx, \"default\", \u0026cloudfirewall.ControlPolicyOrderArgs{\n\t\t\tAclUuid: _default.AclUuid,\n\t\t\tDirection: _default.Direction,\n\t\t\tOrder: 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.alicloud.cloudfirewall.ControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyArgs;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyOrder;\nimport com.pulumi.alicloud.cloudfirewall.ControlPolicyOrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ControlPolicy(\"default\", ControlPolicyArgs.builder()\n .direction(\"in\")\n .applicationName(\"ANY\")\n .description(name)\n .aclAction(\"accept\")\n .source(\"127.0.0.1/32\")\n .sourceType(\"net\")\n .destination(\"127.0.0.2/32\")\n .destinationType(\"net\")\n .proto(\"ANY\")\n .build());\n\n var defaultControlPolicyOrder = new ControlPolicyOrder(\"defaultControlPolicyOrder\", ControlPolicyOrderArgs.builder()\n .aclUuid(default_.aclUuid())\n .direction(default_.direction())\n .order(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudfirewall:ControlPolicy\n properties:\n direction: in\n applicationName: ANY\n description: ${name}\n aclAction: accept\n source: 127.0.0.1/32\n sourceType: net\n destination: 127.0.0.2/32\n destinationType: net\n proto: ANY\n defaultControlPolicyOrder:\n type: alicloud:cloudfirewall:ControlPolicyOrder\n name: default\n properties:\n aclUuid: ${default.aclUuid}\n direction: ${default.direction}\n order: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Control Policy Order can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/controlPolicyOrder:ControlPolicyOrder example \u003cacl_uuid\u003e:\u003cdirection\u003e\n```\n\n", "properties": { "aclUuid": { "type": "string", @@ -121112,7 +122977,7 @@ } }, "alicloud:cloudfirewall/firewallVpcFirewall:FirewallVpcFirewall": { - "description": "Provides a Cloud Firewall Vpc Firewall resource.\n\nFor information about Cloud Firewall Vpc Firewall and how to use it, see [What is Vpc Firewall](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createvpcfirewallconfigure).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.cloudfirewall.FirewallVpcFirewall(\"default\", {\n vpcFirewallName: \"tf-example\",\n memberUid: current.then(current =\u003e current.id),\n localVpc: {\n vpcId: \"vpc-bp1d065m6hzn1xbw8ibfd\",\n regionNo: \"cn-hangzhou\",\n localVpcCidrTableLists: [{\n localRouteTableId: \"vtb-bp1lj0ddg846856chpzrv\",\n localRouteEntryLists: [{\n localNextHopInstanceId: \"ri-bp1uobww3aputjlwwkyrh\",\n localDestinationCidr: \"10.1.0.0/16\",\n }],\n }],\n },\n peerVpc: {\n vpcId: \"vpc-bp1gcmm64o3caox84v0nz\",\n regionNo: \"cn-hangzhou\",\n peerVpcCidrTableLists: [{\n peerRouteTableId: \"vtb-bp1f516f2hh4sok1ig9b5\",\n peerRouteEntryLists: [{\n peerDestinationCidr: \"10.0.0.0/16\",\n peerNextHopInstanceId: \"ri-bp1thhtgf6ydr2or52l3n\",\n }],\n }],\n },\n status: \"open\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ncurrent = alicloud.get_account()\ndefault = alicloud.cloudfirewall.FirewallVpcFirewall(\"default\",\n vpc_firewall_name=\"tf-example\",\n member_uid=current.id,\n local_vpc={\n \"vpc_id\": \"vpc-bp1d065m6hzn1xbw8ibfd\",\n \"region_no\": \"cn-hangzhou\",\n \"local_vpc_cidr_table_lists\": [{\n \"local_route_table_id\": \"vtb-bp1lj0ddg846856chpzrv\",\n \"local_route_entry_lists\": [{\n \"local_next_hop_instance_id\": \"ri-bp1uobww3aputjlwwkyrh\",\n \"local_destination_cidr\": \"10.1.0.0/16\",\n }],\n }],\n },\n peer_vpc={\n \"vpc_id\": \"vpc-bp1gcmm64o3caox84v0nz\",\n \"region_no\": \"cn-hangzhou\",\n \"peer_vpc_cidr_table_lists\": [{\n \"peer_route_table_id\": \"vtb-bp1f516f2hh4sok1ig9b5\",\n \"peer_route_entry_lists\": [{\n \"peer_destination_cidr\": \"10.0.0.0/16\",\n \"peer_next_hop_instance_id\": \"ri-bp1thhtgf6ydr2or52l3n\",\n }],\n }],\n },\n status=\"open\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.CloudFirewall.FirewallVpcFirewall(\"default\", new()\n {\n VpcFirewallName = \"tf-example\",\n MemberUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n LocalVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcArgs\n {\n VpcId = \"vpc-bp1d065m6hzn1xbw8ibfd\",\n RegionNo = \"cn-hangzhou\",\n LocalVpcCidrTableLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs\n {\n LocalRouteTableId = \"vtb-bp1lj0ddg846856chpzrv\",\n LocalRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs\n {\n LocalNextHopInstanceId = \"ri-bp1uobww3aputjlwwkyrh\",\n LocalDestinationCidr = \"10.1.0.0/16\",\n },\n },\n },\n },\n },\n PeerVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcArgs\n {\n VpcId = \"vpc-bp1gcmm64o3caox84v0nz\",\n RegionNo = \"cn-hangzhou\",\n PeerVpcCidrTableLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs\n {\n PeerRouteTableId = \"vtb-bp1f516f2hh4sok1ig9b5\",\n PeerRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs\n {\n PeerDestinationCidr = \"10.0.0.0/16\",\n PeerNextHopInstanceId = \"ri-bp1thhtgf6ydr2or52l3n\",\n },\n },\n },\n },\n },\n Status = \"open\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewFirewallVpcFirewall(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallArgs{\n\t\t\tVpcFirewallName: pulumi.String(\"tf-example\"),\n\t\t\tMemberUid: pulumi.String(current.Id),\n\t\t\tLocalVpc: \u0026cloudfirewall.FirewallVpcFirewallLocalVpcArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-bp1d065m6hzn1xbw8ibfd\"),\n\t\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tLocalVpcCidrTableLists: cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArray{\n\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs{\n\t\t\t\t\t\tLocalRouteTableId: pulumi.String(\"vtb-bp1lj0ddg846856chpzrv\"),\n\t\t\t\t\t\tLocalRouteEntryLists: cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArray{\n\t\t\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs{\n\t\t\t\t\t\t\t\tLocalNextHopInstanceId: pulumi.String(\"ri-bp1uobww3aputjlwwkyrh\"),\n\t\t\t\t\t\t\t\tLocalDestinationCidr: pulumi.String(\"10.1.0.0/16\"),\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\tPeerVpc: \u0026cloudfirewall.FirewallVpcFirewallPeerVpcArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-bp1gcmm64o3caox84v0nz\"),\n\t\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tPeerVpcCidrTableLists: cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArray{\n\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs{\n\t\t\t\t\t\tPeerRouteTableId: pulumi.String(\"vtb-bp1f516f2hh4sok1ig9b5\"),\n\t\t\t\t\t\tPeerRouteEntryLists: cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArray{\n\t\t\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs{\n\t\t\t\t\t\t\t\tPeerDestinationCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\tPeerNextHopInstanceId: pulumi.String(\"ri-bp1thhtgf6ydr2or52l3n\"),\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\tStatus: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewall;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallLocalVpcArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallPeerVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new FirewallVpcFirewall(\"default\", FirewallVpcFirewallArgs.builder()\n .vpcFirewallName(\"tf-example\")\n .memberUid(current.id())\n .localVpc(FirewallVpcFirewallLocalVpcArgs.builder()\n .vpcId(\"vpc-bp1d065m6hzn1xbw8ibfd\")\n .regionNo(\"cn-hangzhou\")\n .localVpcCidrTableLists(FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs.builder()\n .localRouteTableId(\"vtb-bp1lj0ddg846856chpzrv\")\n .localRouteEntryLists(FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs.builder()\n .localNextHopInstanceId(\"ri-bp1uobww3aputjlwwkyrh\")\n .localDestinationCidr(\"10.1.0.0/16\")\n .build())\n .build())\n .build())\n .peerVpc(FirewallVpcFirewallPeerVpcArgs.builder()\n .vpcId(\"vpc-bp1gcmm64o3caox84v0nz\")\n .regionNo(\"cn-hangzhou\")\n .peerVpcCidrTableLists(FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs.builder()\n .peerRouteTableId(\"vtb-bp1f516f2hh4sok1ig9b5\")\n .peerRouteEntryLists(FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs.builder()\n .peerDestinationCidr(\"10.0.0.0/16\")\n .peerNextHopInstanceId(\"ri-bp1thhtgf6ydr2or52l3n\")\n .build())\n .build())\n .build())\n .status(\"open\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cloudfirewall:FirewallVpcFirewall\n properties:\n vpcFirewallName: tf-example\n memberUid: ${current.id}\n localVpc:\n vpcId: vpc-bp1d065m6hzn1xbw8ibfd\n regionNo: cn-hangzhou\n localVpcCidrTableLists:\n - localRouteTableId: vtb-bp1lj0ddg846856chpzrv\n localRouteEntryLists:\n - localNextHopInstanceId: ri-bp1uobww3aputjlwwkyrh\n localDestinationCidr: 10.1.0.0/16\n peerVpc:\n vpcId: vpc-bp1gcmm64o3caox84v0nz\n regionNo: cn-hangzhou\n peerVpcCidrTableLists:\n - peerRouteTableId: vtb-bp1f516f2hh4sok1ig9b5\n peerRouteEntryLists:\n - peerDestinationCidr: 10.0.0.0/16\n peerNextHopInstanceId: ri-bp1thhtgf6ydr2or52l3n\n status: open\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Vpc Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewall:FirewallVpcFirewall example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Vpc Firewall resource.\n\nFor information about Cloud Firewall Vpc Firewall and how to use it, see [What is Vpc Firewall](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createvpcfirewallconfigure).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.cloudfirewall.FirewallVpcFirewall(\"default\", {\n vpcFirewallName: \"tf-example\",\n memberUid: current.then(current =\u003e current.id),\n localVpc: {\n vpcId: \"vpc-bp1d065m6hzn1xbw8ibfd\",\n regionNo: \"cn-hangzhou\",\n localVpcCidrTableLists: [{\n localRouteTableId: \"vtb-bp1lj0ddg846856chpzrv\",\n localRouteEntryLists: [{\n localNextHopInstanceId: \"ri-bp1uobww3aputjlwwkyrh\",\n localDestinationCidr: \"10.1.0.0/16\",\n }],\n }],\n },\n peerVpc: {\n vpcId: \"vpc-bp1gcmm64o3caox84v0nz\",\n regionNo: \"cn-hangzhou\",\n peerVpcCidrTableLists: [{\n peerRouteTableId: \"vtb-bp1f516f2hh4sok1ig9b5\",\n peerRouteEntryLists: [{\n peerDestinationCidr: \"10.0.0.0/16\",\n peerNextHopInstanceId: \"ri-bp1thhtgf6ydr2or52l3n\",\n }],\n }],\n },\n status: \"open\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ncurrent = alicloud.get_account()\ndefault = alicloud.cloudfirewall.FirewallVpcFirewall(\"default\",\n vpc_firewall_name=\"tf-example\",\n member_uid=current.id,\n local_vpc={\n \"vpc_id\": \"vpc-bp1d065m6hzn1xbw8ibfd\",\n \"region_no\": \"cn-hangzhou\",\n \"local_vpc_cidr_table_lists\": [{\n \"local_route_table_id\": \"vtb-bp1lj0ddg846856chpzrv\",\n \"local_route_entry_lists\": [{\n \"local_next_hop_instance_id\": \"ri-bp1uobww3aputjlwwkyrh\",\n \"local_destination_cidr\": \"10.1.0.0/16\",\n }],\n }],\n },\n peer_vpc={\n \"vpc_id\": \"vpc-bp1gcmm64o3caox84v0nz\",\n \"region_no\": \"cn-hangzhou\",\n \"peer_vpc_cidr_table_lists\": [{\n \"peer_route_table_id\": \"vtb-bp1f516f2hh4sok1ig9b5\",\n \"peer_route_entry_lists\": [{\n \"peer_destination_cidr\": \"10.0.0.0/16\",\n \"peer_next_hop_instance_id\": \"ri-bp1thhtgf6ydr2or52l3n\",\n }],\n }],\n },\n status=\"open\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.CloudFirewall.FirewallVpcFirewall(\"default\", new()\n {\n VpcFirewallName = \"tf-example\",\n MemberUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n LocalVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcArgs\n {\n VpcId = \"vpc-bp1d065m6hzn1xbw8ibfd\",\n RegionNo = \"cn-hangzhou\",\n LocalVpcCidrTableLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs\n {\n LocalRouteTableId = \"vtb-bp1lj0ddg846856chpzrv\",\n LocalRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs\n {\n LocalNextHopInstanceId = \"ri-bp1uobww3aputjlwwkyrh\",\n LocalDestinationCidr = \"10.1.0.0/16\",\n },\n },\n },\n },\n },\n PeerVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcArgs\n {\n VpcId = \"vpc-bp1gcmm64o3caox84v0nz\",\n RegionNo = \"cn-hangzhou\",\n PeerVpcCidrTableLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs\n {\n PeerRouteTableId = \"vtb-bp1f516f2hh4sok1ig9b5\",\n PeerRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs\n {\n PeerDestinationCidr = \"10.0.0.0/16\",\n PeerNextHopInstanceId = \"ri-bp1thhtgf6ydr2or52l3n\",\n },\n },\n },\n },\n },\n Status = \"open\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewFirewallVpcFirewall(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallArgs{\n\t\t\tVpcFirewallName: pulumi.String(\"tf-example\"),\n\t\t\tMemberUid: pulumi.String(current.Id),\n\t\t\tLocalVpc: \u0026cloudfirewall.FirewallVpcFirewallLocalVpcArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-bp1d065m6hzn1xbw8ibfd\"),\n\t\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tLocalVpcCidrTableLists: cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArray{\n\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs{\n\t\t\t\t\t\tLocalRouteTableId: pulumi.String(\"vtb-bp1lj0ddg846856chpzrv\"),\n\t\t\t\t\t\tLocalRouteEntryLists: cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArray{\n\t\t\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs{\n\t\t\t\t\t\t\t\tLocalNextHopInstanceId: pulumi.String(\"ri-bp1uobww3aputjlwwkyrh\"),\n\t\t\t\t\t\t\t\tLocalDestinationCidr: pulumi.String(\"10.1.0.0/16\"),\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\tPeerVpc: \u0026cloudfirewall.FirewallVpcFirewallPeerVpcArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-bp1gcmm64o3caox84v0nz\"),\n\t\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tPeerVpcCidrTableLists: cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArray{\n\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs{\n\t\t\t\t\t\tPeerRouteTableId: pulumi.String(\"vtb-bp1f516f2hh4sok1ig9b5\"),\n\t\t\t\t\t\tPeerRouteEntryLists: cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArray{\n\t\t\t\t\t\t\t\u0026cloudfirewall.FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs{\n\t\t\t\t\t\t\t\tPeerDestinationCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\t\t\tPeerNextHopInstanceId: pulumi.String(\"ri-bp1thhtgf6ydr2or52l3n\"),\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\tStatus: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewall;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallLocalVpcArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallPeerVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new FirewallVpcFirewall(\"default\", FirewallVpcFirewallArgs.builder()\n .vpcFirewallName(\"tf-example\")\n .memberUid(current.id())\n .localVpc(FirewallVpcFirewallLocalVpcArgs.builder()\n .vpcId(\"vpc-bp1d065m6hzn1xbw8ibfd\")\n .regionNo(\"cn-hangzhou\")\n .localVpcCidrTableLists(FirewallVpcFirewallLocalVpcLocalVpcCidrTableListArgs.builder()\n .localRouteTableId(\"vtb-bp1lj0ddg846856chpzrv\")\n .localRouteEntryLists(FirewallVpcFirewallLocalVpcLocalVpcCidrTableListLocalRouteEntryListArgs.builder()\n .localNextHopInstanceId(\"ri-bp1uobww3aputjlwwkyrh\")\n .localDestinationCidr(\"10.1.0.0/16\")\n .build())\n .build())\n .build())\n .peerVpc(FirewallVpcFirewallPeerVpcArgs.builder()\n .vpcId(\"vpc-bp1gcmm64o3caox84v0nz\")\n .regionNo(\"cn-hangzhou\")\n .peerVpcCidrTableLists(FirewallVpcFirewallPeerVpcPeerVpcCidrTableListArgs.builder()\n .peerRouteTableId(\"vtb-bp1f516f2hh4sok1ig9b5\")\n .peerRouteEntryLists(FirewallVpcFirewallPeerVpcPeerVpcCidrTableListPeerRouteEntryListArgs.builder()\n .peerDestinationCidr(\"10.0.0.0/16\")\n .peerNextHopInstanceId(\"ri-bp1thhtgf6ydr2or52l3n\")\n .build())\n .build())\n .build())\n .status(\"open\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:cloudfirewall:FirewallVpcFirewall\n properties:\n vpcFirewallName: tf-example\n memberUid: ${current.id}\n localVpc:\n vpcId: vpc-bp1d065m6hzn1xbw8ibfd\n regionNo: cn-hangzhou\n localVpcCidrTableLists:\n - localRouteTableId: vtb-bp1lj0ddg846856chpzrv\n localRouteEntryLists:\n - localNextHopInstanceId: ri-bp1uobww3aputjlwwkyrh\n localDestinationCidr: 10.1.0.0/16\n peerVpc:\n vpcId: vpc-bp1gcmm64o3caox84v0nz\n regionNo: cn-hangzhou\n peerVpcCidrTableLists:\n - peerRouteTableId: vtb-bp1f516f2hh4sok1ig9b5\n peerRouteEntryLists:\n - peerDestinationCidr: 10.0.0.0/16\n peerNextHopInstanceId: ri-bp1thhtgf6ydr2or52l3n\n status: open\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Vpc Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewall:FirewallVpcFirewall example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -121251,7 +123116,7 @@ } }, "alicloud:cloudfirewall/firewallVpcFirewallCen:FirewallVpcFirewallCen": { - "description": "Provides a Cloud Firewall Vpc Firewall Cen resource.\n\nFor information about Cloud Firewall Vpc Firewall Cen and how to use it, see [What is Vpc Firewall Cen](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcenconfigure).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// These resource primary keys should be replaced with your actual values.\nconst _default = new alicloud.cloudfirewall.FirewallVpcFirewallCen(\"default\", {\n cenId: \"cen-xxx\",\n localVpc: {\n networkInstanceId: \"vpc-xxx\",\n },\n status: \"open\",\n memberUid: \"14151*****827022\",\n vpcRegion: \"cn-hangzhou\",\n vpcFirewallName: \"tf-vpc-firewall-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# These resource primary keys should be replaced with your actual values.\ndefault = alicloud.cloudfirewall.FirewallVpcFirewallCen(\"default\",\n cen_id=\"cen-xxx\",\n local_vpc={\n \"network_instance_id\": \"vpc-xxx\",\n },\n status=\"open\",\n member_uid=\"14151*****827022\",\n vpc_region=\"cn-hangzhou\",\n vpc_firewall_name=\"tf-vpc-firewall-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // These resource primary keys should be replaced with your actual values.\n var @default = new AliCloud.CloudFirewall.FirewallVpcFirewallCen(\"default\", new()\n {\n CenId = \"cen-xxx\",\n LocalVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallCenLocalVpcArgs\n {\n NetworkInstanceId = \"vpc-xxx\",\n },\n Status = \"open\",\n MemberUid = \"14151*****827022\",\n VpcRegion = \"cn-hangzhou\",\n VpcFirewallName = \"tf-vpc-firewall-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// These resource primary keys should be replaced with your actual values.\n\t\t_, err := cloudfirewall.NewFirewallVpcFirewallCen(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallCenArgs{\n\t\t\tCenId: pulumi.String(\"cen-xxx\"),\n\t\t\tLocalVpc: \u0026cloudfirewall.FirewallVpcFirewallCenLocalVpcArgs{\n\t\t\t\tNetworkInstanceId: pulumi.String(\"vpc-xxx\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"open\"),\n\t\t\tMemberUid: pulumi.String(\"14151*****827022\"),\n\t\t\tVpcRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tVpcFirewallName: pulumi.String(\"tf-vpc-firewall-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.alicloud.cloudfirewall.FirewallVpcFirewallCen;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallCenArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallCenLocalVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // These resource primary keys should be replaced with your actual values.\n var default_ = new FirewallVpcFirewallCen(\"default\", FirewallVpcFirewallCenArgs.builder()\n .cenId(\"cen-xxx\")\n .localVpc(FirewallVpcFirewallCenLocalVpcArgs.builder()\n .networkInstanceId(\"vpc-xxx\")\n .build())\n .status(\"open\")\n .memberUid(\"14151*****827022\")\n .vpcRegion(\"cn-hangzhou\")\n .vpcFirewallName(\"tf-vpc-firewall-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # These resource primary keys should be replaced with your actual values.\n default:\n type: alicloud:cloudfirewall:FirewallVpcFirewallCen\n properties:\n cenId: cen-xxx\n localVpc:\n networkInstanceId: vpc-xxx\n status: open\n memberUid: 14151*****827022\n vpcRegion: cn-hangzhou\n vpcFirewallName: tf-vpc-firewall-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Vpc Firewall Cen can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewallCen:FirewallVpcFirewallCen example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Vpc Firewall Cen resource.\n\nFor information about Cloud Firewall Vpc Firewall Cen and how to use it, see [What is Vpc Firewall Cen](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcenconfigure).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// These resource primary keys should be replaced with your actual values.\nconst _default = new alicloud.cloudfirewall.FirewallVpcFirewallCen(\"default\", {\n cenId: \"cen-xxx\",\n localVpc: {\n networkInstanceId: \"vpc-xxx\",\n },\n status: \"open\",\n memberUid: \"14151*****827022\",\n vpcRegion: \"cn-hangzhou\",\n vpcFirewallName: \"tf-vpc-firewall-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# These resource primary keys should be replaced with your actual values.\ndefault = alicloud.cloudfirewall.FirewallVpcFirewallCen(\"default\",\n cen_id=\"cen-xxx\",\n local_vpc={\n \"network_instance_id\": \"vpc-xxx\",\n },\n status=\"open\",\n member_uid=\"14151*****827022\",\n vpc_region=\"cn-hangzhou\",\n vpc_firewall_name=\"tf-vpc-firewall-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // These resource primary keys should be replaced with your actual values.\n var @default = new AliCloud.CloudFirewall.FirewallVpcFirewallCen(\"default\", new()\n {\n CenId = \"cen-xxx\",\n LocalVpc = new AliCloud.CloudFirewall.Inputs.FirewallVpcFirewallCenLocalVpcArgs\n {\n NetworkInstanceId = \"vpc-xxx\",\n },\n Status = \"open\",\n MemberUid = \"14151*****827022\",\n VpcRegion = \"cn-hangzhou\",\n VpcFirewallName = \"tf-vpc-firewall-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// These resource primary keys should be replaced with your actual values.\n\t\t_, err := cloudfirewall.NewFirewallVpcFirewallCen(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallCenArgs{\n\t\t\tCenId: pulumi.String(\"cen-xxx\"),\n\t\t\tLocalVpc: \u0026cloudfirewall.FirewallVpcFirewallCenLocalVpcArgs{\n\t\t\t\tNetworkInstanceId: pulumi.String(\"vpc-xxx\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"open\"),\n\t\t\tMemberUid: pulumi.String(\"14151*****827022\"),\n\t\t\tVpcRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tVpcFirewallName: pulumi.String(\"tf-vpc-firewall-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.alicloud.cloudfirewall.FirewallVpcFirewallCen;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallCenArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.FirewallVpcFirewallCenLocalVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // These resource primary keys should be replaced with your actual values.\n var default_ = new FirewallVpcFirewallCen(\"default\", FirewallVpcFirewallCenArgs.builder()\n .cenId(\"cen-xxx\")\n .localVpc(FirewallVpcFirewallCenLocalVpcArgs.builder()\n .networkInstanceId(\"vpc-xxx\")\n .build())\n .status(\"open\")\n .memberUid(\"14151*****827022\")\n .vpcRegion(\"cn-hangzhou\")\n .vpcFirewallName(\"tf-vpc-firewall-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # These resource primary keys should be replaced with your actual values.\n default:\n type: alicloud:cloudfirewall:FirewallVpcFirewallCen\n properties:\n cenId: cen-xxx\n localVpc:\n networkInstanceId: vpc-xxx\n status: open\n memberUid: 14151*****827022\n vpcRegion: cn-hangzhou\n vpcFirewallName: tf-vpc-firewall-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Vpc Firewall Cen can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewallCen:FirewallVpcFirewallCen example \u003cid\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -121390,7 +123255,7 @@ } }, "alicloud:cloudfirewall/firewallVpcFirewallControlPolicy:FirewallVpcFirewallControlPolicy": { - "description": "Provides a Cloud Firewall Vpc Firewall Control Policy resource.\n\nFor information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: \"example_value\",\n tags: {\n Created: \"TF\",\n For: \"acceptance test\",\n },\n});\nconst defaultFirewallVpcFirewallControlPolicy = new alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy(\"default\", {\n order: 1,\n destination: \"127.0.0.2/32\",\n applicationName: \"ANY\",\n description: \"example_value\",\n sourceType: \"net\",\n destPort: \"80/88\",\n aclAction: \"accept\",\n lang: \"zh\",\n destinationType: \"net\",\n source: \"127.0.0.1/32\",\n destPortType: \"port\",\n proto: \"TCP\",\n release: true,\n memberUid: _default.then(_default =\u003e _default.id),\n vpcFirewallId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=\"example_value\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance test\",\n })\ndefault_firewall_vpc_firewall_control_policy = alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy(\"default\",\n order=1,\n destination=\"127.0.0.2/32\",\n application_name=\"ANY\",\n description=\"example_value\",\n source_type=\"net\",\n dest_port=\"80/88\",\n acl_action=\"accept\",\n lang=\"zh\",\n destination_type=\"net\",\n source=\"127.0.0.1/32\",\n dest_port_type=\"port\",\n proto=\"TCP\",\n release=True,\n member_uid=default.id,\n vpc_firewall_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = \"example_value\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance test\" },\n },\n });\n\n var defaultFirewallVpcFirewallControlPolicy = new AliCloud.CloudFirewall.FirewallVpcFirewallControlPolicy(\"default\", new()\n {\n Order = 1,\n Destination = \"127.0.0.2/32\",\n ApplicationName = \"ANY\",\n Description = \"example_value\",\n SourceType = \"net\",\n DestPort = \"80/88\",\n AclAction = \"accept\",\n Lang = \"zh\",\n DestinationType = \"net\",\n Source = \"127.0.0.1/32\",\n DestPortType = \"port\",\n Proto = \"TCP\",\n Release = true,\n MemberUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VpcFirewallId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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 = cloudfirewall.NewFirewallVpcFirewallControlPolicy(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallControlPolicyArgs{\n\t\t\tOrder: pulumi.Int(1),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestPort: pulumi.String(\"80/88\"),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tLang: pulumi.String(\"zh\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tDestPortType: pulumi.String(\"port\"),\n\t\t\tProto: pulumi.String(\"TCP\"),\n\t\t\tRelease: pulumi.Bool(true),\n\t\t\tMemberUid: pulumi.String(_default.Id),\n\t\t\tVpcFirewallId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(\"example_value\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance test\")\n ))\n .build());\n\n var defaultFirewallVpcFirewallControlPolicy = new FirewallVpcFirewallControlPolicy(\"defaultFirewallVpcFirewallControlPolicy\", FirewallVpcFirewallControlPolicyArgs.builder()\n .order(1)\n .destination(\"127.0.0.2/32\")\n .applicationName(\"ANY\")\n .description(\"example_value\")\n .sourceType(\"net\")\n .destPort(\"80/88\")\n .aclAction(\"accept\")\n .lang(\"zh\")\n .destinationType(\"net\")\n .source(\"127.0.0.1/32\")\n .destPortType(\"port\")\n .proto(\"TCP\")\n .release(true)\n .memberUid(default_.id())\n .vpcFirewallId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n description: example_value\n tags:\n Created: TF\n For: acceptance test\n defaultFirewallVpcFirewallControlPolicy:\n type: alicloud:cloudfirewall:FirewallVpcFirewallControlPolicy\n name: default\n properties:\n order: '1'\n destination: 127.0.0.2/32\n applicationName: ANY\n description: example_value\n sourceType: net\n destPort: 80/88\n aclAction: accept\n lang: zh\n destinationType: net\n source: 127.0.0.1/32\n destPortType: port\n proto: TCP\n release: true\n memberUid: ${default.id}\n vpcFirewallId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewallControlPolicy:FirewallVpcFirewallControlPolicy example \u003cvpc_firewall_id\u003e:\u003cacl_uuid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Vpc Firewall Control Policy resource.\n\nVPC Control Policy.\n\nFor information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n description: \"example_value\",\n tags: {\n Created: \"TF\",\n For: \"acceptance test\",\n },\n});\nconst defaultFirewallVpcFirewallControlPolicy = new alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy(\"default\", {\n order: 1,\n destination: \"127.0.0.2/32\",\n applicationName: \"ANY\",\n description: \"example_value\",\n sourceType: \"net\",\n destPort: \"80/88\",\n aclAction: \"accept\",\n lang: \"zh\",\n destinationType: \"net\",\n source: \"127.0.0.1/32\",\n destPortType: \"port\",\n proto: \"TCP\",\n release: \"true\",\n memberUid: _default.then(_default =\u003e _default.id),\n vpcFirewallId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_instance = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n description=\"example_value\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance test\",\n })\ndefault_firewall_vpc_firewall_control_policy = alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy(\"default\",\n order=1,\n destination=\"127.0.0.2/32\",\n application_name=\"ANY\",\n description=\"example_value\",\n source_type=\"net\",\n dest_port=\"80/88\",\n acl_action=\"accept\",\n lang=\"zh\",\n destination_type=\"net\",\n source=\"127.0.0.1/32\",\n dest_port_type=\"port\",\n proto=\"TCP\",\n release=\"true\",\n member_uid=default.id,\n vpc_firewall_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n Description = \"example_value\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance test\" },\n },\n });\n\n var defaultFirewallVpcFirewallControlPolicy = new AliCloud.CloudFirewall.FirewallVpcFirewallControlPolicy(\"default\", new()\n {\n Order = 1,\n Destination = \"127.0.0.2/32\",\n ApplicationName = \"ANY\",\n Description = \"example_value\",\n SourceType = \"net\",\n DestPort = \"80/88\",\n AclAction = \"accept\",\n Lang = \"zh\",\n DestinationType = \"net\",\n Source = \"127.0.0.1/32\",\n DestPortType = \"port\",\n Proto = \"TCP\",\n Release = \"true\",\n MemberUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VpcFirewallId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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 = cloudfirewall.NewFirewallVpcFirewallControlPolicy(ctx, \"default\", \u0026cloudfirewall.FirewallVpcFirewallControlPolicyArgs{\n\t\t\tOrder: pulumi.Int(1),\n\t\t\tDestination: pulumi.String(\"127.0.0.2/32\"),\n\t\t\tApplicationName: pulumi.String(\"ANY\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tDestPort: pulumi.String(\"80/88\"),\n\t\t\tAclAction: pulumi.String(\"accept\"),\n\t\t\tLang: pulumi.String(\"zh\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tSource: pulumi.String(\"127.0.0.1/32\"),\n\t\t\tDestPortType: pulumi.String(\"port\"),\n\t\t\tProto: pulumi.String(\"TCP\"),\n\t\t\tRelease: pulumi.String(\"true\"),\n\t\t\tMemberUid: pulumi.String(_default.Id),\n\t\t\tVpcFirewallId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.FirewallVpcFirewallControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(\"example_value\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance test\")\n ))\n .build());\n\n var defaultFirewallVpcFirewallControlPolicy = new FirewallVpcFirewallControlPolicy(\"defaultFirewallVpcFirewallControlPolicy\", FirewallVpcFirewallControlPolicyArgs.builder()\n .order(1)\n .destination(\"127.0.0.2/32\")\n .applicationName(\"ANY\")\n .description(\"example_value\")\n .sourceType(\"net\")\n .destPort(\"80/88\")\n .aclAction(\"accept\")\n .lang(\"zh\")\n .destinationType(\"net\")\n .source(\"127.0.0.1/32\")\n .destPortType(\"port\")\n .proto(\"TCP\")\n .release(\"true\")\n .memberUid(default_.id())\n .vpcFirewallId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n description: example_value\n tags:\n Created: TF\n For: acceptance test\n defaultFirewallVpcFirewallControlPolicy:\n type: alicloud:cloudfirewall:FirewallVpcFirewallControlPolicy\n name: default\n properties:\n order: '1'\n destination: 127.0.0.2/32\n applicationName: ANY\n description: example_value\n sourceType: net\n destPort: 80/88\n aclAction: accept\n lang: zh\n destinationType: net\n source: 127.0.0.1/32\n destPortType: port\n proto: TCP\n release: true\n memberUid: ${default.id}\n vpcFirewallId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/firewallVpcFirewallControlPolicy:FirewallVpcFirewallControlPolicy example \u003cvpc_firewall_id\u003e:\u003cacl_uuid\u003e\n```\n\n", "properties": { "aclAction": { "type": "string", @@ -121408,6 +123273,17 @@ "type": "string", "description": "The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`.\n" }, + "applicationNameLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of application types that the access control policy supports. \n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `TCP`, you can set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to any valid value. If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `UDP`, `ICMP`, or `ANY`, you can only set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to `[\"ANY\"]`. From version 1.267.0, You must specify at least one of the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e. If you specify both \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e, only the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e takes effect.\n" + }, + "createTime": { + "type": "integer", + "description": "(Available since v1.267.0) The time when the policy was created.\n" + }, "description": { "type": "string", "description": "Access control over VPC firewalls description of the strategy information.\n" @@ -121450,6 +123326,14 @@ "type": "string", "description": "The type of the destination address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e.\n" }, + "domainResolveType": { + "type": "string", + "description": "The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`.\n" + }, + "endTime": { + "type": "integer", + "description": "The end time of the policy validity period.\n" + }, "hitTimes": { "type": "integer", "description": "Control strategy of hits per second.\n" @@ -121471,9 +123355,28 @@ "description": "The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`.\n" }, "release": { - "type": "boolean", + "type": "string", "description": "The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values:\n" }, + "repeatDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "The days of the week or month on which the policy is recurrently active. Valid values:\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Weekly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Monthly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n" + }, + "repeatEndTime": { + "type": "string", + "description": "The recurring end time of the policy validity period.\n" + }, + "repeatStartTime": { + "type": "string", + "description": "The recurring start time of the policy validity period.\n" + }, + "repeatType": { + "type": "string", + "description": "The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`.\n" + }, "source": { "type": "string", "description": "Access control over VPC firewalls strategy in the source address.\n" @@ -121493,6 +123396,10 @@ "type": "string", "description": "The type of the source address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e.\n" }, + "startTime": { + "type": "integer", + "description": "The start time of the policy validity period.\n" + }, "vpcFirewallId": { "type": "string", "description": "The ID of the VPC firewall instance. Valid values:\n- When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID.\n- When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance.\n" @@ -121502,7 +123409,7 @@ "aclAction", "aclUuid", "applicationId", - "applicationName", + "createTime", "description", "destPort", "destPortGroupPorts", @@ -121511,11 +123418,13 @@ "destinationGroupCidrs", "destinationGroupType", "destinationType", + "domainResolveType", "hitTimes", "memberUid", "order", "proto", "release", + "repeatType", "source", "sourceGroupCidrs", "sourceGroupType", @@ -121531,6 +123440,13 @@ "type": "string", "description": "The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`.\n" }, + "applicationNameLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of application types that the access control policy supports. \n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `TCP`, you can set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to any valid value. If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `UDP`, `ICMP`, or `ANY`, you can only set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to `[\"ANY\"]`. From version 1.267.0, You must specify at least one of the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e. If you specify both \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e, only the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e takes effect.\n" + }, "description": { "type": "string", "description": "Access control over VPC firewalls description of the strategy information.\n" @@ -121555,6 +123471,14 @@ "type": "string", "description": "The type of the destination address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e.\n" }, + "domainResolveType": { + "type": "string", + "description": "The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`.\n" + }, + "endTime": { + "type": "integer", + "description": "The end time of the policy validity period.\n" + }, "lang": { "type": "string", "description": "The language of the content within the request and response. Valid values: \u003cspan pulumi-lang-nodejs=\"`zh`\" pulumi-lang-dotnet=\"`Zh`\" pulumi-lang-go=\"`zh`\" pulumi-lang-python=\"`zh`\" pulumi-lang-yaml=\"`zh`\" pulumi-lang-java=\"`zh`\"\u003e`zh`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`en`\" pulumi-lang-dotnet=\"`En`\" pulumi-lang-go=\"`en`\" pulumi-lang-python=\"`en`\" pulumi-lang-yaml=\"`en`\" pulumi-lang-java=\"`en`\"\u003e`en`\u003c/span\u003e.\n" @@ -121574,9 +123498,28 @@ "description": "The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`.\n" }, "release": { - "type": "boolean", + "type": "string", "description": "The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values:\n" }, + "repeatDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "The days of the week or month on which the policy is recurrently active. Valid values:\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Weekly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Monthly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n" + }, + "repeatEndTime": { + "type": "string", + "description": "The recurring end time of the policy validity period.\n" + }, + "repeatStartTime": { + "type": "string", + "description": "The recurring start time of the policy validity period.\n" + }, + "repeatType": { + "type": "string", + "description": "The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`.\n" + }, "source": { "type": "string", "description": "Access control over VPC firewalls strategy in the source address.\n" @@ -121585,6 +123528,10 @@ "type": "string", "description": "The type of the source address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e.\n" }, + "startTime": { + "type": "integer", + "description": "The start time of the policy validity period.\n" + }, "vpcFirewallId": { "type": "string", "description": "The ID of the VPC firewall instance. Valid values:\n- When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID.\n- When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance.\n", @@ -121593,7 +123540,6 @@ }, "requiredInputs": [ "aclAction", - "applicationName", "description", "destination", "destinationType", @@ -121622,6 +123568,17 @@ "type": "string", "description": "The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`.\n" }, + "applicationNameLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of application types that the access control policy supports. \n\u003e **NOTE:** If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `TCP`, you can set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to any valid value. If \u003cspan pulumi-lang-nodejs=\"`proto`\" pulumi-lang-dotnet=\"`Proto`\" pulumi-lang-go=\"`proto`\" pulumi-lang-python=\"`proto`\" pulumi-lang-yaml=\"`proto`\" pulumi-lang-java=\"`proto`\"\u003e`proto`\u003c/span\u003e is set to `UDP`, `ICMP`, or `ANY`, you can only set \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e to `[\"ANY\"]`. From version 1.267.0, You must specify at least one of the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e. If you specify both \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`applicationName`\" pulumi-lang-dotnet=\"`ApplicationName`\" pulumi-lang-go=\"`applicationName`\" pulumi-lang-python=\"`application_name`\" pulumi-lang-yaml=\"`applicationName`\" pulumi-lang-java=\"`applicationName`\"\u003e`application_name`\u003c/span\u003e, only the \u003cspan pulumi-lang-nodejs=\"`applicationNameList`\" pulumi-lang-dotnet=\"`ApplicationNameList`\" pulumi-lang-go=\"`applicationNameList`\" pulumi-lang-python=\"`application_name_list`\" pulumi-lang-yaml=\"`applicationNameList`\" pulumi-lang-java=\"`applicationNameList`\"\u003e`application_name_list`\u003c/span\u003e takes effect.\n" + }, + "createTime": { + "type": "integer", + "description": "(Available since v1.267.0) The time when the policy was created.\n" + }, "description": { "type": "string", "description": "Access control over VPC firewalls description of the strategy information.\n" @@ -121664,6 +123621,14 @@ "type": "string", "description": "The type of the destination address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e.\n" }, + "domainResolveType": { + "type": "string", + "description": "The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`.\n" + }, + "endTime": { + "type": "integer", + "description": "The end time of the policy validity period.\n" + }, "hitTimes": { "type": "integer", "description": "Control strategy of hits per second.\n" @@ -121687,9 +123652,28 @@ "description": "The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`.\n" }, "release": { - "type": "boolean", + "type": "string", "description": "The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values:\n" }, + "repeatDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "The days of the week or month on which the policy is recurrently active. Valid values:\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Weekly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n- If \u003cspan pulumi-lang-nodejs=\"`repeatType`\" pulumi-lang-dotnet=\"`RepeatType`\" pulumi-lang-go=\"`repeatType`\" pulumi-lang-python=\"`repeat_type`\" pulumi-lang-yaml=\"`repeatType`\" pulumi-lang-java=\"`repeatType`\"\u003e`repeat_type`\u003c/span\u003e is set to `Monthly`. Valid values: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`31`\" pulumi-lang-dotnet=\"`31`\" pulumi-lang-go=\"`31`\" pulumi-lang-python=\"`31`\" pulumi-lang-yaml=\"`31`\" pulumi-lang-java=\"`31`\"\u003e`31`\u003c/span\u003e.\n" + }, + "repeatEndTime": { + "type": "string", + "description": "The recurring end time of the policy validity period.\n" + }, + "repeatStartTime": { + "type": "string", + "description": "The recurring start time of the policy validity period.\n" + }, + "repeatType": { + "type": "string", + "description": "The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`.\n" + }, "source": { "type": "string", "description": "Access control over VPC firewalls strategy in the source address.\n" @@ -121709,6 +123693,10 @@ "type": "string", "description": "The type of the source address in the access control policy. Valid values: \u003cspan pulumi-lang-nodejs=\"`net`\" pulumi-lang-dotnet=\"`Net`\" pulumi-lang-go=\"`net`\" pulumi-lang-python=\"`net`\" pulumi-lang-yaml=\"`net`\" pulumi-lang-java=\"`net`\"\u003e`net`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\"\u003e`group`\u003c/span\u003e.\n" }, + "startTime": { + "type": "integer", + "description": "The start time of the policy validity period.\n" + }, "vpcFirewallId": { "type": "string", "description": "The ID of the VPC firewall instance. Valid values:\n- When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID.\n- When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance.\n", @@ -121719,7 +123707,7 @@ } }, "alicloud:cloudfirewall/instance:Instance": { - "description": "Provides a Cloud Firewall Instance resource.\n\nFor information about Cloud Firewall Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/product/90174.htm).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n\n## Example Usage\n\nBasic Usage\n\ncreate a pay-as-you-go instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst payAsYouGo = new alicloud.cloudfirewall.Instance(\"PayAsYouGo\", {paymentType: \"PayAsYouGo\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\npay_as_you_go = alicloud.cloudfirewall.Instance(\"PayAsYouGo\", payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var payAsYouGo = new AliCloud.CloudFirewall.Instance(\"PayAsYouGo\", new()\n {\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewInstance(ctx, \"PayAsYouGo\", \u0026cloudfirewall.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudfirewall.Instance;\nimport com.pulumi.alicloud.cloudfirewall.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 payAsYouGo = new Instance(\"payAsYouGo\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n payAsYouGo:\n type: alicloud:cloudfirewall:Instance\n name: PayAsYouGo\n properties:\n paymentType: PayAsYouGo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\ncreate a subscription instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst subscription = new alicloud.cloudfirewall.Instance(\"Subscription\", {\n paymentType: \"Subscription\",\n spec: \"premium_version\",\n ipNumber: 20,\n bandWidth: 10,\n cfwLog: false,\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsubscription = alicloud.cloudfirewall.Instance(\"Subscription\",\n payment_type=\"Subscription\",\n spec=\"premium_version\",\n ip_number=20,\n band_width=10,\n cfw_log=False,\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscription = new AliCloud.CloudFirewall.Instance(\"Subscription\", new()\n {\n PaymentType = \"Subscription\",\n Spec = \"premium_version\",\n IpNumber = 20,\n BandWidth = 10,\n CfwLog = false,\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewInstance(ctx, \"Subscription\", \u0026cloudfirewall.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tSpec: pulumi.String(\"premium_version\"),\n\t\t\tIpNumber: pulumi.Int(20),\n\t\t\tBandWidth: pulumi.Int(10),\n\t\t\tCfwLog: pulumi.Bool(false),\n\t\t\tPeriod: 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.alicloud.cloudfirewall.Instance;\nimport com.pulumi.alicloud.cloudfirewall.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 subscription = new Instance(\"subscription\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .spec(\"premium_version\")\n .ipNumber(20)\n .bandWidth(10)\n .cfwLog(false)\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: alicloud:cloudfirewall:Instance\n name: Subscription\n properties:\n paymentType: Subscription\n spec: premium_version\n ipNumber: 20\n bandWidth: 10\n cfwLog: false\n period: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Instance resource.\n\nFor information about Cloud Firewall Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/product/90174.htm).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n\n## Example Usage\n\nBasic Usage\n\ncreate a pay-as-you-go instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst payAsYouGo = new alicloud.cloudfirewall.Instance(\"PayAsYouGo\", {paymentType: \"PayAsYouGo\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\npay_as_you_go = alicloud.cloudfirewall.Instance(\"PayAsYouGo\", payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var payAsYouGo = new AliCloud.CloudFirewall.Instance(\"PayAsYouGo\", new()\n {\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewInstance(ctx, \"PayAsYouGo\", \u0026cloudfirewall.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudfirewall.Instance;\nimport com.pulumi.alicloud.cloudfirewall.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 payAsYouGo = new Instance(\"payAsYouGo\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n payAsYouGo:\n type: alicloud:cloudfirewall:Instance\n name: PayAsYouGo\n properties:\n paymentType: PayAsYouGo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\ncreate a subscription instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst subscription = new alicloud.cloudfirewall.Instance(\"Subscription\", {\n paymentType: \"Subscription\",\n spec: \"premium_version\",\n ipNumber: 20,\n bandWidth: 10,\n cfwLog: false,\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsubscription = alicloud.cloudfirewall.Instance(\"Subscription\",\n payment_type=\"Subscription\",\n spec=\"premium_version\",\n ip_number=20,\n band_width=10,\n cfw_log=False,\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscription = new AliCloud.CloudFirewall.Instance(\"Subscription\", new()\n {\n PaymentType = \"Subscription\",\n Spec = \"premium_version\",\n IpNumber = 20,\n BandWidth = 10,\n CfwLog = false,\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudfirewall.NewInstance(ctx, \"Subscription\", \u0026cloudfirewall.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tSpec: pulumi.String(\"premium_version\"),\n\t\t\tIpNumber: pulumi.Int(20),\n\t\t\tBandWidth: pulumi.Int(10),\n\t\t\tCfwLog: pulumi.Bool(false),\n\t\t\tPeriod: 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.alicloud.cloudfirewall.Instance;\nimport com.pulumi.alicloud.cloudfirewall.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 subscription = new Instance(\"subscription\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .spec(\"premium_version\")\n .ipNumber(20)\n .bandWidth(10)\n .cfwLog(false)\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subscription:\n type: alicloud:cloudfirewall:Instance\n name: Subscription\n properties:\n paymentType: Subscription\n spec: premium_version\n ipNumber: 20\n bandWidth: 10\n cfwLog: false\n period: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "accountNumber": { "type": "integer", @@ -121998,7 +123986,7 @@ } }, "alicloud:cloudfirewall/instanceMember:InstanceMember": { - "description": "Provides a Cloud Firewall Instance Member resource.\n\nFor information about Cloud Firewall Instance Member and how to use it, see [What is Instance Member](https://www.alibabacloud.com/help/en/cloud-firewall/cloudfirewall/developer-reference/api-cloudfw-2017-12-07-addinstancemembers).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"AliyunTerraform\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccount = new alicloud.resourcemanager.Account(\"default\", {displayName: `${name}-${_default.result}`});\nconst defaultInstanceMember = new alicloud.cloudfirewall.InstanceMember(\"default\", {\n memberDesc: `${name}-${_default.result}`,\n memberUid: defaultAccount.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"AliyunTerraform\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_account = alicloud.resourcemanager.Account(\"default\", display_name=f\"{name}-{default['result']}\")\ndefault_instance_member = alicloud.cloudfirewall.InstanceMember(\"default\",\n member_desc=f\"{name}-{default['result']}\",\n member_uid=default_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"AliyunTerraform\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccount = new AliCloud.ResourceManager.Account(\"default\", new()\n {\n DisplayName = $\"{name}-{@default.Result}\",\n });\n\n var defaultInstanceMember = new AliCloud.CloudFirewall.InstanceMember(\"default\", new()\n {\n MemberDesc = $\"{name}-{@default.Result}\",\n MemberUid = defaultAccount.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"AliyunTerraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := resourcemanager.NewAccount(ctx, \"default\", \u0026resourcemanager.AccountArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewInstanceMember(ctx, \"default\", \u0026cloudfirewall.InstanceMemberArgs{\n\t\t\tMemberDesc: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tMemberUid: defaultAccount.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.Account;\nimport com.pulumi.alicloud.resourcemanager.AccountArgs;\nimport com.pulumi.alicloud.cloudfirewall.InstanceMember;\nimport com.pulumi.alicloud.cloudfirewall.InstanceMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"AliyunTerraform\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .displayName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultInstanceMember = new InstanceMember(\"defaultInstanceMember\", InstanceMemberArgs.builder()\n .memberDesc(String.format(\"%s-%s\", name,default_.result()))\n .memberUid(defaultAccount.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: AliyunTerraform\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccount:\n type: alicloud:resourcemanager:Account\n name: default\n properties:\n displayName: ${name}-${default.result}\n defaultInstanceMember:\n type: alicloud:cloudfirewall:InstanceMember\n name: default\n properties:\n memberDesc: ${name}-${default.result}\n memberUid: ${defaultAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Instance Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/instanceMember:InstanceMember example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Instance Member resource.\n\nFor information about Cloud Firewall Instance Member and how to use it, see [What is Instance Member](https://www.alibabacloud.com/help/en/cloud-firewall/cloudfirewall/developer-reference/api-cloudfw-2017-12-07-addinstancemembers).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"AliyunTerraform\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccount = new alicloud.resourcemanager.Account(\"default\", {displayName: `${name}-${_default.result}`});\nconst defaultInstanceMember = new alicloud.cloudfirewall.InstanceMember(\"default\", {\n memberDesc: `${name}-${_default.result}`,\n memberUid: defaultAccount.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"AliyunTerraform\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_account = alicloud.resourcemanager.Account(\"default\", display_name=f\"{name}-{default['result']}\")\ndefault_instance_member = alicloud.cloudfirewall.InstanceMember(\"default\",\n member_desc=f\"{name}-{default['result']}\",\n member_uid=default_account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"AliyunTerraform\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccount = new AliCloud.ResourceManager.Account(\"default\", new()\n {\n DisplayName = $\"{name}-{@default.Result}\",\n });\n\n var defaultInstanceMember = new AliCloud.CloudFirewall.InstanceMember(\"default\", new()\n {\n MemberDesc = $\"{name}-{@default.Result}\",\n MemberUid = defaultAccount.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"AliyunTerraform\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := resourcemanager.NewAccount(ctx, \"default\", \u0026resourcemanager.AccountArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewInstanceMember(ctx, \"default\", \u0026cloudfirewall.InstanceMemberArgs{\n\t\t\tMemberDesc: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tMemberUid: defaultAccount.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.Account;\nimport com.pulumi.alicloud.resourcemanager.AccountArgs;\nimport com.pulumi.alicloud.cloudfirewall.InstanceMember;\nimport com.pulumi.alicloud.cloudfirewall.InstanceMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"AliyunTerraform\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .displayName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultInstanceMember = new InstanceMember(\"defaultInstanceMember\", InstanceMemberArgs.builder()\n .memberDesc(String.format(\"%s-%s\", name,default_.result()))\n .memberUid(defaultAccount.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: AliyunTerraform\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccount:\n type: alicloud:resourcemanager:Account\n name: default\n properties:\n displayName: ${name}-${default.result}\n defaultInstanceMember:\n type: alicloud:cloudfirewall:InstanceMember\n name: default\n properties:\n memberDesc: ${name}-${default.result}\n memberUid: ${defaultAccount.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Instance Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/instanceMember:InstanceMember example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -122176,7 +124164,7 @@ } }, "alicloud:cloudfirewall/natFirewall:NatFirewall": { - "description": "Provides a Cloud Firewall Nat Firewall resource. \n\nFor information about Cloud Firewall Nat Firewall and how to use it, see [What is Nat Firewall](https://www.alibabacloud.com/help/zh/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createsecurityproxy).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultikZ0gD = new alicloud.vpc.Network(\"defaultikZ0gD\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultp4O7qi = new alicloud.vpc.Switch(\"defaultp4O7qi\", {\n vpcId: defaultikZ0gD.id,\n cidrBlock: \"172.16.6.0/24\",\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst default2iRZpC = new alicloud.vpc.NatGateway(\"default2iRZpC\", {\n eipBindMode: \"MULTI_BINDED\",\n vpcId: defaultikZ0gD.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultp4O7qi.id,\n natType: \"Enhanced\",\n networkType: \"internet\",\n});\nconst defaultyiRwgs = new alicloud.ecs.EipAddress(\"defaultyiRwgs\", {addressName: name});\nconst defaults2MTuO = new alicloud.ecs.EipAssociation(\"defaults2MTuO\", {\n instanceId: default2iRZpC.id,\n allocationId: defaultyiRwgs.id,\n mode: \"NAT\",\n instanceType: \"Nat\",\n});\nconst defaultAKE43g = new alicloud.vpc.SnatEntry(\"defaultAKE43g\", {\n snatIp: defaultyiRwgs.ipAddress,\n snatTableId: default2iRZpC.snatTableIds,\n sourceVswitchId: defaultp4O7qi.id,\n});\nconst defaultNatFirewall = new alicloud.cloudfirewall.NatFirewall(\"default\", {\n natGatewayId: default2iRZpC.id,\n natRouteEntryLists: [{\n nexthopType: \"NatGateway\",\n routeTableId: defaultikZ0gD.routeTableId,\n nexthopId: default2iRZpC.id,\n destinationCidr: \"0.0.0.0/0\",\n }],\n firewallSwitch: \"close\",\n vswitchAuto: \"true\",\n status: \"closed\",\n regionNo: \"cn-shenzhen\",\n lang: \"zh\",\n proxyName: \"CFW-example\",\n vswitchId: defaultAKE43g.sourceVswitchId,\n strictMode: 0,\n vpcId: defaultikZ0gD.id,\n vswitchCidr: \"172.16.5.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefaultik_z0g_d = alicloud.vpc.Network(\"defaultikZ0gD\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefaultp4_o7qi = alicloud.vpc.Switch(\"defaultp4O7qi\",\n vpc_id=defaultik_z0g_d.id,\n cidr_block=\"172.16.6.0/24\",\n vswitch_name=name,\n zone_id=default.zones[0].id)\ndefault2i_r_zp_c = alicloud.vpc.NatGateway(\"default2iRZpC\",\n eip_bind_mode=\"MULTI_BINDED\",\n vpc_id=defaultik_z0g_d.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=defaultp4_o7qi.id,\n nat_type=\"Enhanced\",\n network_type=\"internet\")\ndefaultyi_rwgs = alicloud.ecs.EipAddress(\"defaultyiRwgs\", address_name=name)\ndefaults2_m_tu_o = alicloud.ecs.EipAssociation(\"defaults2MTuO\",\n instance_id=default2i_r_zp_c.id,\n allocation_id=defaultyi_rwgs.id,\n mode=\"NAT\",\n instance_type=\"Nat\")\ndefault_ake43g = alicloud.vpc.SnatEntry(\"defaultAKE43g\",\n snat_ip=defaultyi_rwgs.ip_address,\n snat_table_id=default2i_r_zp_c.snat_table_ids,\n source_vswitch_id=defaultp4_o7qi.id)\ndefault_nat_firewall = alicloud.cloudfirewall.NatFirewall(\"default\",\n nat_gateway_id=default2i_r_zp_c.id,\n nat_route_entry_lists=[{\n \"nexthop_type\": \"NatGateway\",\n \"route_table_id\": defaultik_z0g_d.route_table_id,\n \"nexthop_id\": default2i_r_zp_c.id,\n \"destination_cidr\": \"0.0.0.0/0\",\n }],\n firewall_switch=\"close\",\n vswitch_auto=\"true\",\n status=\"closed\",\n region_no=\"cn-shenzhen\",\n lang=\"zh\",\n proxy_name=\"CFW-example\",\n vswitch_id=default_ake43g.source_vswitch_id,\n strict_mode=0,\n vpc_id=defaultik_z0g_d.id,\n vswitch_cidr=\"172.16.5.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultikZ0gD = new AliCloud.Vpc.Network(\"defaultikZ0gD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultp4O7qi = new AliCloud.Vpc.Switch(\"defaultp4O7qi\", new()\n {\n VpcId = defaultikZ0gD.Id,\n CidrBlock = \"172.16.6.0/24\",\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var default2iRZpC = new AliCloud.Vpc.NatGateway(\"default2iRZpC\", new()\n {\n EipBindMode = \"MULTI_BINDED\",\n VpcId = defaultikZ0gD.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultp4O7qi.Id,\n NatType = \"Enhanced\",\n NetworkType = \"internet\",\n });\n\n var defaultyiRwgs = new AliCloud.Ecs.EipAddress(\"defaultyiRwgs\", new()\n {\n AddressName = name,\n });\n\n var defaults2MTuO = new AliCloud.Ecs.EipAssociation(\"defaults2MTuO\", new()\n {\n InstanceId = default2iRZpC.Id,\n AllocationId = defaultyiRwgs.Id,\n Mode = \"NAT\",\n InstanceType = \"Nat\",\n });\n\n var defaultAKE43g = new AliCloud.Vpc.SnatEntry(\"defaultAKE43g\", new()\n {\n SnatIp = defaultyiRwgs.IpAddress,\n SnatTableId = default2iRZpC.SnatTableIds,\n SourceVswitchId = defaultp4O7qi.Id,\n });\n\n var defaultNatFirewall = new AliCloud.CloudFirewall.NatFirewall(\"default\", new()\n {\n NatGatewayId = default2iRZpC.Id,\n NatRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.NatFirewallNatRouteEntryListArgs\n {\n NexthopType = \"NatGateway\",\n RouteTableId = defaultikZ0gD.RouteTableId,\n NexthopId = default2iRZpC.Id,\n DestinationCidr = \"0.0.0.0/0\",\n },\n },\n FirewallSwitch = \"close\",\n VswitchAuto = \"true\",\n Status = \"closed\",\n RegionNo = \"cn-shenzhen\",\n Lang = \"zh\",\n ProxyName = \"CFW-example\",\n VswitchId = defaultAKE43g.SourceVswitchId,\n StrictMode = 0,\n VpcId = defaultikZ0gD.Id,\n VswitchCidr = \"172.16.5.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultikZ0gD, err := vpc.NewNetwork(ctx, \"defaultikZ0gD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultp4O7qi, err := vpc.NewSwitch(ctx, \"defaultp4O7qi\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.6.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2iRZpC, err := vpc.NewNatGateway(ctx, \"default2iRZpC\", \u0026vpc.NatGatewayArgs{\n\t\t\tEipBindMode: pulumi.String(\"MULTI_BINDED\"),\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultp4O7qi.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tNetworkType: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyiRwgs, err := ecs.NewEipAddress(ctx, \"defaultyiRwgs\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"defaults2MTuO\", \u0026ecs.EipAssociationArgs{\n\t\t\tInstanceId: default2iRZpC.ID(),\n\t\t\tAllocationId: defaultyiRwgs.ID(),\n\t\t\tMode: pulumi.String(\"NAT\"),\n\t\t\tInstanceType: pulumi.String(\"Nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAKE43g, err := vpc.NewSnatEntry(ctx, \"defaultAKE43g\", \u0026vpc.SnatEntryArgs{\n\t\t\tSnatIp: defaultyiRwgs.IpAddress,\n\t\t\tSnatTableId: default2iRZpC.SnatTableIds,\n\t\t\tSourceVswitchId: defaultp4O7qi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewNatFirewall(ctx, \"default\", \u0026cloudfirewall.NatFirewallArgs{\n\t\t\tNatGatewayId: default2iRZpC.ID(),\n\t\t\tNatRouteEntryLists: cloudfirewall.NatFirewallNatRouteEntryListArray{\n\t\t\t\t\u0026cloudfirewall.NatFirewallNatRouteEntryListArgs{\n\t\t\t\t\tNexthopType: pulumi.String(\"NatGateway\"),\n\t\t\t\t\tRouteTableId: defaultikZ0gD.RouteTableId,\n\t\t\t\t\tNexthopId: default2iRZpC.ID(),\n\t\t\t\t\tDestinationCidr: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFirewallSwitch: pulumi.String(\"close\"),\n\t\t\tVswitchAuto: pulumi.String(\"true\"),\n\t\t\tStatus: pulumi.String(\"closed\"),\n\t\t\tRegionNo: pulumi.String(\"cn-shenzhen\"),\n\t\t\tLang: pulumi.String(\"zh\"),\n\t\t\tProxyName: pulumi.String(\"CFW-example\"),\n\t\t\tVswitchId: defaultAKE43g.SourceVswitchId,\n\t\t\tStrictMode: pulumi.Int(0),\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tVswitchCidr: pulumi.String(\"172.16.5.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.SnatEntry;\nimport com.pulumi.alicloud.vpc.SnatEntryArgs;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewall;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.NatFirewallNatRouteEntryListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultikZ0gD = new Network(\"defaultikZ0gD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultp4O7qi = new Switch(\"defaultp4O7qi\", SwitchArgs.builder()\n .vpcId(defaultikZ0gD.id())\n .cidrBlock(\"172.16.6.0/24\")\n .vswitchName(name)\n .zoneId(default_.zones()[0].id())\n .build());\n\n var default2iRZpC = new NatGateway(\"default2iRZpC\", NatGatewayArgs.builder()\n .eipBindMode(\"MULTI_BINDED\")\n .vpcId(defaultikZ0gD.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultp4O7qi.id())\n .natType(\"Enhanced\")\n .networkType(\"internet\")\n .build());\n\n var defaultyiRwgs = new EipAddress(\"defaultyiRwgs\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaults2MTuO = new EipAssociation(\"defaults2MTuO\", EipAssociationArgs.builder()\n .instanceId(default2iRZpC.id())\n .allocationId(defaultyiRwgs.id())\n .mode(\"NAT\")\n .instanceType(\"Nat\")\n .build());\n\n var defaultAKE43g = new SnatEntry(\"defaultAKE43g\", SnatEntryArgs.builder()\n .snatIp(defaultyiRwgs.ipAddress())\n .snatTableId(default2iRZpC.snatTableIds())\n .sourceVswitchId(defaultp4O7qi.id())\n .build());\n\n var defaultNatFirewall = new NatFirewall(\"defaultNatFirewall\", NatFirewallArgs.builder()\n .natGatewayId(default2iRZpC.id())\n .natRouteEntryLists(NatFirewallNatRouteEntryListArgs.builder()\n .nexthopType(\"NatGateway\")\n .routeTableId(defaultikZ0gD.routeTableId())\n .nexthopId(default2iRZpC.id())\n .destinationCidr(\"0.0.0.0/0\")\n .build())\n .firewallSwitch(\"close\")\n .vswitchAuto(\"true\")\n .status(\"closed\")\n .regionNo(\"cn-shenzhen\")\n .lang(\"zh\")\n .proxyName(\"CFW-example\")\n .vswitchId(defaultAKE43g.sourceVswitchId())\n .strictMode(0)\n .vpcId(defaultikZ0gD.id())\n .vswitchCidr(\"172.16.5.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultikZ0gD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultp4O7qi:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultikZ0gD.id}\n cidrBlock: 172.16.6.0/24\n vswitchName: ${name}\n zoneId: ${default.zones[0].id}\n default2iRZpC:\n type: alicloud:vpc:NatGateway\n properties:\n eipBindMode: MULTI_BINDED\n vpcId: ${defaultikZ0gD.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultp4O7qi.id}\n natType: Enhanced\n networkType: internet\n defaultyiRwgs:\n type: alicloud:ecs:EipAddress\n properties:\n addressName: ${name}\n defaults2MTuO:\n type: alicloud:ecs:EipAssociation\n properties:\n instanceId: ${default2iRZpC.id}\n allocationId: ${defaultyiRwgs.id}\n mode: NAT\n instanceType: Nat\n defaultAKE43g:\n type: alicloud:vpc:SnatEntry\n properties:\n snatIp: ${defaultyiRwgs.ipAddress}\n snatTableId: ${default2iRZpC.snatTableIds}\n sourceVswitchId: ${defaultp4O7qi.id}\n defaultNatFirewall:\n type: alicloud:cloudfirewall:NatFirewall\n name: default\n properties:\n natGatewayId: ${default2iRZpC.id}\n natRouteEntryLists:\n - nexthopType: NatGateway\n routeTableId: ${defaultikZ0gD.routeTableId}\n nexthopId: ${default2iRZpC.id}\n destinationCidr: 0.0.0.0/0\n firewallSwitch: close\n vswitchAuto: 'true'\n status: closed\n regionNo: cn-shenzhen\n lang: zh\n proxyName: CFW-example\n vswitchId: ${defaultAKE43g.sourceVswitchId}\n strictMode: '0'\n vpcId: ${defaultikZ0gD.id}\n vswitchCidr: 172.16.5.0/24\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Nat Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/natFirewall:NatFirewall example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Nat Firewall resource. \n\nFor information about Cloud Firewall Nat Firewall and how to use it, see [What is Nat Firewall](https://www.alibabacloud.com/help/zh/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createsecurityproxy).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultikZ0gD = new alicloud.vpc.Network(\"defaultikZ0gD\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultp4O7qi = new alicloud.vpc.Switch(\"defaultp4O7qi\", {\n vpcId: defaultikZ0gD.id,\n cidrBlock: \"172.16.6.0/24\",\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst default2iRZpC = new alicloud.vpc.NatGateway(\"default2iRZpC\", {\n eipBindMode: \"MULTI_BINDED\",\n vpcId: defaultikZ0gD.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultp4O7qi.id,\n natType: \"Enhanced\",\n networkType: \"internet\",\n});\nconst defaultyiRwgs = new alicloud.ecs.EipAddress(\"defaultyiRwgs\", {addressName: name});\nconst defaults2MTuO = new alicloud.ecs.EipAssociation(\"defaults2MTuO\", {\n instanceId: default2iRZpC.id,\n allocationId: defaultyiRwgs.id,\n mode: \"NAT\",\n instanceType: \"Nat\",\n});\nconst defaultAKE43g = new alicloud.vpc.SnatEntry(\"defaultAKE43g\", {\n snatIp: defaultyiRwgs.ipAddress,\n snatTableId: default2iRZpC.snatTableIds,\n sourceVswitchId: defaultp4O7qi.id,\n});\nconst defaultNatFirewall = new alicloud.cloudfirewall.NatFirewall(\"default\", {\n natGatewayId: default2iRZpC.id,\n natRouteEntryLists: [{\n nexthopType: \"NatGateway\",\n routeTableId: defaultikZ0gD.routeTableId,\n nexthopId: default2iRZpC.id,\n destinationCidr: \"0.0.0.0/0\",\n }],\n firewallSwitch: \"close\",\n vswitchAuto: \"true\",\n status: \"closed\",\n regionNo: \"cn-shenzhen\",\n lang: \"zh\",\n proxyName: \"CFW-example\",\n vswitchId: defaultAKE43g.sourceVswitchId,\n strictMode: 0,\n vpcId: defaultikZ0gD.id,\n vswitchCidr: \"172.16.5.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefaultik_z0g_d = alicloud.vpc.Network(\"defaultikZ0gD\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefaultp4_o7qi = alicloud.vpc.Switch(\"defaultp4O7qi\",\n vpc_id=defaultik_z0g_d.id,\n cidr_block=\"172.16.6.0/24\",\n vswitch_name=name,\n zone_id=default.zones[0].id)\ndefault2i_r_zp_c = alicloud.vpc.NatGateway(\"default2iRZpC\",\n eip_bind_mode=\"MULTI_BINDED\",\n vpc_id=defaultik_z0g_d.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=defaultp4_o7qi.id,\n nat_type=\"Enhanced\",\n network_type=\"internet\")\ndefaultyi_rwgs = alicloud.ecs.EipAddress(\"defaultyiRwgs\", address_name=name)\ndefaults2_m_tu_o = alicloud.ecs.EipAssociation(\"defaults2MTuO\",\n instance_id=default2i_r_zp_c.id,\n allocation_id=defaultyi_rwgs.id,\n mode=\"NAT\",\n instance_type=\"Nat\")\ndefault_ake43g = alicloud.vpc.SnatEntry(\"defaultAKE43g\",\n snat_ip=defaultyi_rwgs.ip_address,\n snat_table_id=default2i_r_zp_c.snat_table_ids,\n source_vswitch_id=defaultp4_o7qi.id)\ndefault_nat_firewall = alicloud.cloudfirewall.NatFirewall(\"default\",\n nat_gateway_id=default2i_r_zp_c.id,\n nat_route_entry_lists=[{\n \"nexthop_type\": \"NatGateway\",\n \"route_table_id\": defaultik_z0g_d.route_table_id,\n \"nexthop_id\": default2i_r_zp_c.id,\n \"destination_cidr\": \"0.0.0.0/0\",\n }],\n firewall_switch=\"close\",\n vswitch_auto=\"true\",\n status=\"closed\",\n region_no=\"cn-shenzhen\",\n lang=\"zh\",\n proxy_name=\"CFW-example\",\n vswitch_id=default_ake43g.source_vswitch_id,\n strict_mode=0,\n vpc_id=defaultik_z0g_d.id,\n vswitch_cidr=\"172.16.5.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultikZ0gD = new AliCloud.Vpc.Network(\"defaultikZ0gD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultp4O7qi = new AliCloud.Vpc.Switch(\"defaultp4O7qi\", new()\n {\n VpcId = defaultikZ0gD.Id,\n CidrBlock = \"172.16.6.0/24\",\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var default2iRZpC = new AliCloud.Vpc.NatGateway(\"default2iRZpC\", new()\n {\n EipBindMode = \"MULTI_BINDED\",\n VpcId = defaultikZ0gD.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultp4O7qi.Id,\n NatType = \"Enhanced\",\n NetworkType = \"internet\",\n });\n\n var defaultyiRwgs = new AliCloud.Ecs.EipAddress(\"defaultyiRwgs\", new()\n {\n AddressName = name,\n });\n\n var defaults2MTuO = new AliCloud.Ecs.EipAssociation(\"defaults2MTuO\", new()\n {\n InstanceId = default2iRZpC.Id,\n AllocationId = defaultyiRwgs.Id,\n Mode = \"NAT\",\n InstanceType = \"Nat\",\n });\n\n var defaultAKE43g = new AliCloud.Vpc.SnatEntry(\"defaultAKE43g\", new()\n {\n SnatIp = defaultyiRwgs.IpAddress,\n SnatTableId = default2iRZpC.SnatTableIds,\n SourceVswitchId = defaultp4O7qi.Id,\n });\n\n var defaultNatFirewall = new AliCloud.CloudFirewall.NatFirewall(\"default\", new()\n {\n NatGatewayId = default2iRZpC.Id,\n NatRouteEntryLists = new[]\n {\n new AliCloud.CloudFirewall.Inputs.NatFirewallNatRouteEntryListArgs\n {\n NexthopType = \"NatGateway\",\n RouteTableId = defaultikZ0gD.RouteTableId,\n NexthopId = default2iRZpC.Id,\n DestinationCidr = \"0.0.0.0/0\",\n },\n },\n FirewallSwitch = \"close\",\n VswitchAuto = \"true\",\n Status = \"closed\",\n RegionNo = \"cn-shenzhen\",\n Lang = \"zh\",\n ProxyName = \"CFW-example\",\n VswitchId = defaultAKE43g.SourceVswitchId,\n StrictMode = 0,\n VpcId = defaultikZ0gD.Id,\n VswitchCidr = \"172.16.5.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultikZ0gD, err := vpc.NewNetwork(ctx, \"defaultikZ0gD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultp4O7qi, err := vpc.NewSwitch(ctx, \"defaultp4O7qi\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.6.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2iRZpC, err := vpc.NewNatGateway(ctx, \"default2iRZpC\", \u0026vpc.NatGatewayArgs{\n\t\t\tEipBindMode: pulumi.String(\"MULTI_BINDED\"),\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultp4O7qi.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tNetworkType: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyiRwgs, err := ecs.NewEipAddress(ctx, \"defaultyiRwgs\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"defaults2MTuO\", \u0026ecs.EipAssociationArgs{\n\t\t\tInstanceId: default2iRZpC.ID(),\n\t\t\tAllocationId: defaultyiRwgs.ID(),\n\t\t\tMode: pulumi.String(\"NAT\"),\n\t\t\tInstanceType: pulumi.String(\"Nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAKE43g, err := vpc.NewSnatEntry(ctx, \"defaultAKE43g\", \u0026vpc.SnatEntryArgs{\n\t\t\tSnatIp: defaultyiRwgs.IpAddress,\n\t\t\tSnatTableId: default2iRZpC.SnatTableIds,\n\t\t\tSourceVswitchId: defaultp4O7qi.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewNatFirewall(ctx, \"default\", \u0026cloudfirewall.NatFirewallArgs{\n\t\t\tNatGatewayId: default2iRZpC.ID(),\n\t\t\tNatRouteEntryLists: cloudfirewall.NatFirewallNatRouteEntryListArray{\n\t\t\t\t\u0026cloudfirewall.NatFirewallNatRouteEntryListArgs{\n\t\t\t\t\tNexthopType: pulumi.String(\"NatGateway\"),\n\t\t\t\t\tRouteTableId: defaultikZ0gD.RouteTableId,\n\t\t\t\t\tNexthopId: default2iRZpC.ID(),\n\t\t\t\t\tDestinationCidr: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFirewallSwitch: pulumi.String(\"close\"),\n\t\t\tVswitchAuto: pulumi.String(\"true\"),\n\t\t\tStatus: pulumi.String(\"closed\"),\n\t\t\tRegionNo: pulumi.String(\"cn-shenzhen\"),\n\t\t\tLang: pulumi.String(\"zh\"),\n\t\t\tProxyName: pulumi.String(\"CFW-example\"),\n\t\t\tVswitchId: defaultAKE43g.SourceVswitchId,\n\t\t\tStrictMode: pulumi.Int(0),\n\t\t\tVpcId: defaultikZ0gD.ID(),\n\t\t\tVswitchCidr: pulumi.String(\"172.16.5.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.SnatEntry;\nimport com.pulumi.alicloud.vpc.SnatEntryArgs;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewall;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallArgs;\nimport com.pulumi.alicloud.cloudfirewall.inputs.NatFirewallNatRouteEntryListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultikZ0gD = new Network(\"defaultikZ0gD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultp4O7qi = new Switch(\"defaultp4O7qi\", SwitchArgs.builder()\n .vpcId(defaultikZ0gD.id())\n .cidrBlock(\"172.16.6.0/24\")\n .vswitchName(name)\n .zoneId(default_.zones()[0].id())\n .build());\n\n var default2iRZpC = new NatGateway(\"default2iRZpC\", NatGatewayArgs.builder()\n .eipBindMode(\"MULTI_BINDED\")\n .vpcId(defaultikZ0gD.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultp4O7qi.id())\n .natType(\"Enhanced\")\n .networkType(\"internet\")\n .build());\n\n var defaultyiRwgs = new EipAddress(\"defaultyiRwgs\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaults2MTuO = new EipAssociation(\"defaults2MTuO\", EipAssociationArgs.builder()\n .instanceId(default2iRZpC.id())\n .allocationId(defaultyiRwgs.id())\n .mode(\"NAT\")\n .instanceType(\"Nat\")\n .build());\n\n var defaultAKE43g = new SnatEntry(\"defaultAKE43g\", SnatEntryArgs.builder()\n .snatIp(defaultyiRwgs.ipAddress())\n .snatTableId(default2iRZpC.snatTableIds())\n .sourceVswitchId(defaultp4O7qi.id())\n .build());\n\n var defaultNatFirewall = new NatFirewall(\"defaultNatFirewall\", NatFirewallArgs.builder()\n .natGatewayId(default2iRZpC.id())\n .natRouteEntryLists(NatFirewallNatRouteEntryListArgs.builder()\n .nexthopType(\"NatGateway\")\n .routeTableId(defaultikZ0gD.routeTableId())\n .nexthopId(default2iRZpC.id())\n .destinationCidr(\"0.0.0.0/0\")\n .build())\n .firewallSwitch(\"close\")\n .vswitchAuto(\"true\")\n .status(\"closed\")\n .regionNo(\"cn-shenzhen\")\n .lang(\"zh\")\n .proxyName(\"CFW-example\")\n .vswitchId(defaultAKE43g.sourceVswitchId())\n .strictMode(0)\n .vpcId(defaultikZ0gD.id())\n .vswitchCidr(\"172.16.5.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultikZ0gD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultp4O7qi:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultikZ0gD.id}\n cidrBlock: 172.16.6.0/24\n vswitchName: ${name}\n zoneId: ${default.zones[0].id}\n default2iRZpC:\n type: alicloud:vpc:NatGateway\n properties:\n eipBindMode: MULTI_BINDED\n vpcId: ${defaultikZ0gD.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultp4O7qi.id}\n natType: Enhanced\n networkType: internet\n defaultyiRwgs:\n type: alicloud:ecs:EipAddress\n properties:\n addressName: ${name}\n defaults2MTuO:\n type: alicloud:ecs:EipAssociation\n properties:\n instanceId: ${default2iRZpC.id}\n allocationId: ${defaultyiRwgs.id}\n mode: NAT\n instanceType: Nat\n defaultAKE43g:\n type: alicloud:vpc:SnatEntry\n properties:\n snatIp: ${defaultyiRwgs.ipAddress}\n snatTableId: ${default2iRZpC.snatTableIds}\n sourceVswitchId: ${defaultp4O7qi.id}\n defaultNatFirewall:\n type: alicloud:cloudfirewall:NatFirewall\n name: default\n properties:\n natGatewayId: ${default2iRZpC.id}\n natRouteEntryLists:\n - nexthopType: NatGateway\n routeTableId: ${defaultikZ0gD.routeTableId}\n nexthopId: ${default2iRZpC.id}\n destinationCidr: 0.0.0.0/0\n firewallSwitch: close\n vswitchAuto: 'true'\n status: closed\n regionNo: cn-shenzhen\n lang: zh\n proxyName: CFW-example\n vswitchId: ${defaultAKE43g.sourceVswitchId}\n strictMode: '0'\n vpcId: ${defaultikZ0gD.id}\n vswitchCidr: 172.16.5.0/24\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Nat Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/natFirewall:NatFirewall example \u003cid\u003e\n```\n\n", "properties": { "firewallSwitch": { "type": "string", @@ -122369,7 +124357,7 @@ } }, "alicloud:cloudfirewall/natFirewallControlPolicy:NatFirewallControlPolicy": { - "description": "Provides a Cloud Firewall Nat Firewall Control Policy resource. Nat firewall access control policy.\n\nFor information about Cloud Firewall Nat Firewall Control Policy and how to use it, see [What is Nat Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createnatfirewallcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst direction = config.get(\"direction\") || \"out\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultDEiWfM = new alicloud.vpc.Network(\"defaultDEiWfM\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultFHDM3F = new alicloud.vpc.Switch(\"defaultFHDM3F\", {\n vpcId: defaultDEiWfM.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.2.0/24\",\n});\nconst defaultMbS2Ts = new alicloud.vpc.NatGateway(\"defaultMbS2Ts\", {\n vpcId: defaultDEiWfM.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultFHDM3F.id,\n natType: \"Enhanced\",\n});\nconst port = new alicloud.cloudfirewall.AddressBook(\"port\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"port\",\n addressLists: [\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ],\n});\nconst port_update = new alicloud.cloudfirewall.AddressBook(\"port-update\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port-update\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port-update\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"port\",\n addressLists: [\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ],\n});\nconst domain = new alicloud.cloudfirewall.AddressBook(\"domain\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"domain\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"domain\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"domain\",\n addressLists: [\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n ],\n});\nconst ip = new alicloud.cloudfirewall.AddressBook(\"ip\", {\n description: name,\n groupName: name,\n groupType: \"ip\",\n addressLists: [\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n});\nconst defaultNatFirewallControlPolicy = new alicloud.cloudfirewall.NatFirewallControlPolicy(\"default\", {\n applicationNameLists: [\"ANY\"],\n description: name,\n release: \"false\",\n ipVersion: \"4\",\n repeatDays: [\n 1,\n 2,\n 3,\n ],\n repeatStartTime: \"21:00\",\n aclAction: \"log\",\n destPortGroup: port.groupName,\n repeatType: \"Weekly\",\n natGatewayId: defaultMbS2Ts.id,\n source: \"1.1.1.1/32\",\n direction: \"out\",\n repeatEndTime: \"21:30\",\n startTime: 1699156800,\n destination: \"1.1.1.1/32\",\n endTime: 1888545600,\n sourceType: \"net\",\n proto: \"TCP\",\n newOrder: \"1\",\n destinationType: \"net\",\n destPortType: \"group\",\n domainResolveType: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndirection = config.get(\"direction\")\nif direction is None:\n direction = \"out\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_d_ei_wf_m = alicloud.vpc.Network(\"defaultDEiWfM\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault_fhdm3_f = alicloud.vpc.Switch(\"defaultFHDM3F\",\n vpc_id=default_d_ei_wf_m.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.2.0/24\")\ndefault_mb_s2_ts = alicloud.vpc.NatGateway(\"defaultMbS2Ts\",\n vpc_id=default_d_ei_wf_m.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_fhdm3_f.id,\n nat_type=\"Enhanced\")\nport = alicloud.cloudfirewall.AddressBook(\"port\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"port\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"port\",\n ]).result,\n group_type=\"port\",\n address_lists=[\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ])\nport_update = alicloud.cloudfirewall.AddressBook(\"port-update\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"port-update\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"port-update\",\n ]).result,\n group_type=\"port\",\n address_lists=[\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ])\ndomain = alicloud.cloudfirewall.AddressBook(\"domain\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"domain\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"domain\",\n ]).result,\n group_type=\"domain\",\n address_lists=[\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n ])\nip = alicloud.cloudfirewall.AddressBook(\"ip\",\n description=name,\n group_name=name,\n group_type=\"ip\",\n address_lists=[\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ])\ndefault_nat_firewall_control_policy = alicloud.cloudfirewall.NatFirewallControlPolicy(\"default\",\n application_name_lists=[\"ANY\"],\n description=name,\n release=\"false\",\n ip_version=\"4\",\n repeat_days=[\n 1,\n 2,\n 3,\n ],\n repeat_start_time=\"21:00\",\n acl_action=\"log\",\n dest_port_group=port.group_name,\n repeat_type=\"Weekly\",\n nat_gateway_id=default_mb_s2_ts.id,\n source=\"1.1.1.1/32\",\n direction=\"out\",\n repeat_end_time=\"21:30\",\n start_time=1699156800,\n destination=\"1.1.1.1/32\",\n end_time=1888545600,\n source_type=\"net\",\n proto=\"TCP\",\n new_order=\"1\",\n destination_type=\"net\",\n dest_port_type=\"group\",\n domain_resolve_type=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var direction = config.Get(\"direction\") ?? \"out\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultDEiWfM = new AliCloud.Vpc.Network(\"defaultDEiWfM\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultFHDM3F = new AliCloud.Vpc.Switch(\"defaultFHDM3F\", new()\n {\n VpcId = defaultDEiWfM.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var defaultMbS2Ts = new AliCloud.Vpc.NatGateway(\"defaultMbS2Ts\", new()\n {\n VpcId = defaultDEiWfM.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultFHDM3F.Id,\n NatType = \"Enhanced\",\n });\n\n var port = new AliCloud.CloudFirewall.AddressBook(\"port\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"port\",\n AddressLists = new[]\n {\n \"22/22\",\n \"23/23\",\n \"24/24\",\n },\n });\n\n var port_update = new AliCloud.CloudFirewall.AddressBook(\"port-update\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port-update\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port-update\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"port\",\n AddressLists = new[]\n {\n \"22/22\",\n \"23/23\",\n \"24/24\",\n },\n });\n\n var domain = new AliCloud.CloudFirewall.AddressBook(\"domain\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"domain\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"domain\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"domain\",\n AddressLists = new[]\n {\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n },\n });\n\n var ip = new AliCloud.CloudFirewall.AddressBook(\"ip\", new()\n {\n Description = name,\n GroupName = name,\n GroupType = \"ip\",\n AddressLists = new[]\n {\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n },\n });\n\n var defaultNatFirewallControlPolicy = new AliCloud.CloudFirewall.NatFirewallControlPolicy(\"default\", new()\n {\n ApplicationNameLists = new[]\n {\n \"ANY\",\n },\n Description = name,\n Release = \"false\",\n IpVersion = \"4\",\n RepeatDays = new[]\n {\n 1,\n 2,\n 3,\n },\n RepeatStartTime = \"21:00\",\n AclAction = \"log\",\n DestPortGroup = port.GroupName,\n RepeatType = \"Weekly\",\n NatGatewayId = defaultMbS2Ts.Id,\n Source = \"1.1.1.1/32\",\n Direction = \"out\",\n RepeatEndTime = \"21:30\",\n StartTime = 1699156800,\n Destination = \"1.1.1.1/32\",\n EndTime = 1888545600,\n SourceType = \"net\",\n Proto = \"TCP\",\n NewOrder = \"1\",\n DestinationType = \"net\",\n DestPortType = \"group\",\n DomainResolveType = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdirection := \"out\"\n\t\tif param := cfg.Get(\"direction\"); param != \"\" {\n\t\t\tdirection = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDEiWfM, err := vpc.NewNetwork(ctx, \"defaultDEiWfM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFHDM3F, err := vpc.NewSwitch(ctx, \"defaultFHDM3F\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultDEiWfM.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMbS2Ts, err := vpc.NewNatGateway(ctx, \"defaultMbS2Ts\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultDEiWfM.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultFHDM3F.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport, err := cloudfirewall.NewAddressBook(ctx, \"port\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat1.Result),\n\t\t\tGroupType: pulumi.String(\"port\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22/22\"),\n\t\t\t\tpulumi.String(\"23/23\"),\n\t\t\t\tpulumi.String(\"24/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port-update\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port-update\",\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 = cloudfirewall.NewAddressBook(ctx, \"port-update\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat2.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat3.Result),\n\t\t\tGroupType: pulumi.String(\"port\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22/22\"),\n\t\t\t\tpulumi.String(\"23/23\"),\n\t\t\t\tpulumi.String(\"24/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat4, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"domain\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat5, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"domain\",\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 = cloudfirewall.NewAddressBook(ctx, \"domain\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat4.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat5.Result),\n\t\t\tGroupType: pulumi.String(\"domain\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"alibaba.com\"),\n\t\t\t\tpulumi.String(\"aliyun.com\"),\n\t\t\t\tpulumi.String(\"alicloud.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewAddressBook(ctx, \"ip\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tGroupType: pulumi.String(\"ip\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1/32\"),\n\t\t\t\tpulumi.String(\"2.2.2.2/32\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewNatFirewallControlPolicy(ctx, \"default\", \u0026cloudfirewall.NatFirewallControlPolicyArgs{\n\t\t\tApplicationNameLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ANY\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRelease: pulumi.String(\"false\"),\n\t\t\tIpVersion: pulumi.String(\"4\"),\n\t\t\tRepeatDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tRepeatStartTime: pulumi.String(\"21:00\"),\n\t\t\tAclAction: pulumi.String(\"log\"),\n\t\t\tDestPortGroup: port.GroupName,\n\t\t\tRepeatType: pulumi.String(\"Weekly\"),\n\t\t\tNatGatewayId: defaultMbS2Ts.ID(),\n\t\t\tSource: pulumi.String(\"1.1.1.1/32\"),\n\t\t\tDirection: pulumi.String(\"out\"),\n\t\t\tRepeatEndTime: pulumi.String(\"21:30\"),\n\t\t\tStartTime: pulumi.Int(1699156800),\n\t\t\tDestination: pulumi.String(\"1.1.1.1/32\"),\n\t\t\tEndTime: pulumi.Int(1888545600),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"TCP\"),\n\t\t\tNewOrder: pulumi.String(\"1\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tDestPortType: pulumi.String(\"group\"),\n\t\t\tDomainResolveType: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.cloudfirewall.AddressBook;\nimport com.pulumi.alicloud.cloudfirewall.AddressBookArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var direction = config.get(\"direction\").orElse(\"out\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultDEiWfM = new Network(\"defaultDEiWfM\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultFHDM3F = new Switch(\"defaultFHDM3F\", SwitchArgs.builder()\n .vpcId(defaultDEiWfM.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var defaultMbS2Ts = new NatGateway(\"defaultMbS2Ts\", NatGatewayArgs.builder()\n .vpcId(defaultDEiWfM.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultFHDM3F.id())\n .natType(\"Enhanced\")\n .build());\n\n var port = new AddressBook(\"port\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port\")\n .build()).result())\n .groupType(\"port\")\n .addressLists( \n \"22/22\",\n \"23/23\",\n \"24/24\")\n .build());\n\n var port_update = new AddressBook(\"port-update\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port-update\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port-update\")\n .build()).result())\n .groupType(\"port\")\n .addressLists( \n \"22/22\",\n \"23/23\",\n \"24/24\")\n .build());\n\n var domain = new AddressBook(\"domain\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"domain\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"domain\")\n .build()).result())\n .groupType(\"domain\")\n .addressLists( \n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\")\n .build());\n\n var ip = new AddressBook(\"ip\", AddressBookArgs.builder()\n .description(name)\n .groupName(name)\n .groupType(\"ip\")\n .addressLists( \n \"1.1.1.1/32\",\n \"2.2.2.2/32\")\n .build());\n\n var defaultNatFirewallControlPolicy = new NatFirewallControlPolicy(\"defaultNatFirewallControlPolicy\", NatFirewallControlPolicyArgs.builder()\n .applicationNameLists(\"ANY\")\n .description(name)\n .release(\"false\")\n .ipVersion(\"4\")\n .repeatDays( \n 1,\n 2,\n 3)\n .repeatStartTime(\"21:00\")\n .aclAction(\"log\")\n .destPortGroup(port.groupName())\n .repeatType(\"Weekly\")\n .natGatewayId(defaultMbS2Ts.id())\n .source(\"1.1.1.1/32\")\n .direction(\"out\")\n .repeatEndTime(\"21:30\")\n .startTime(1699156800)\n .destination(\"1.1.1.1/32\")\n .endTime(1888545600)\n .sourceType(\"net\")\n .proto(\"TCP\")\n .newOrder(\"1\")\n .destinationType(\"net\")\n .destPortType(\"group\")\n .domainResolveType(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n direction:\n type: string\n default: out\nresources:\n defaultDEiWfM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultFHDM3F:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultDEiWfM.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.2.0/24\n defaultMbS2Ts:\n type: alicloud:vpc:NatGateway\n properties:\n vpcId: ${defaultDEiWfM.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultFHDM3F.id}\n natType: Enhanced\n port:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port\n return: result\n groupType: port\n addressLists:\n - 22/22\n - 23/23\n - 24/24\n port-update:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port-update\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port-update\n return: result\n groupType: port\n addressLists:\n - 22/22\n - 23/23\n - 24/24\n domain:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - domain\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - domain\n return: result\n groupType: domain\n addressLists:\n - alibaba.com\n - aliyun.com\n - alicloud.com\n ip:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description: ${name}\n groupName: ${name}\n groupType: ip\n addressLists:\n - 1.1.1.1/32\n - 2.2.2.2/32\n defaultNatFirewallControlPolicy:\n type: alicloud:cloudfirewall:NatFirewallControlPolicy\n name: default\n properties:\n applicationNameLists:\n - ANY\n description: ${name}\n release: 'false'\n ipVersion: '4'\n repeatDays:\n - '1'\n - '2'\n - '3'\n repeatStartTime: 21:00\n aclAction: log\n destPortGroup: ${port.groupName}\n repeatType: Weekly\n natGatewayId: ${defaultMbS2Ts.id}\n source: 1.1.1.1/32\n direction: out\n repeatEndTime: 21:30\n startTime: '1699156800'\n destination: 1.1.1.1/32\n endTime: '1888545600'\n sourceType: net\n proto: TCP\n newOrder: '1'\n destinationType: net\n destPortType: group\n domainResolveType: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Nat Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/natFirewallControlPolicy:NatFirewallControlPolicy example \u003cacl_uuid\u003e:\u003cnat_gateway_id\u003e:\u003cdirection\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Nat Firewall Control Policy resource. Nat firewall access control policy.\n\nFor information about Cloud Firewall Nat Firewall Control Policy and how to use it, see [What is Nat Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/developer-reference/api-cloudfw-2017-12-07-createnatfirewallcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst direction = config.get(\"direction\") || \"out\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultDEiWfM = new alicloud.vpc.Network(\"defaultDEiWfM\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst defaultFHDM3F = new alicloud.vpc.Switch(\"defaultFHDM3F\", {\n vpcId: defaultDEiWfM.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.2.0/24\",\n});\nconst defaultMbS2Ts = new alicloud.vpc.NatGateway(\"defaultMbS2Ts\", {\n vpcId: defaultDEiWfM.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultFHDM3F.id,\n natType: \"Enhanced\",\n});\nconst port = new alicloud.cloudfirewall.AddressBook(\"port\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"port\",\n addressLists: [\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ],\n});\nconst port_update = new alicloud.cloudfirewall.AddressBook(\"port-update\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port-update\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"port-update\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"port\",\n addressLists: [\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ],\n});\nconst domain = new alicloud.cloudfirewall.AddressBook(\"domain\", {\n description: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"domain\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupName: std.format({\n input: \"%s%s\",\n args: [\n name,\n \"domain\",\n ],\n }).then(invoke =\u003e invoke.result),\n groupType: \"domain\",\n addressLists: [\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n ],\n});\nconst ip = new alicloud.cloudfirewall.AddressBook(\"ip\", {\n description: name,\n groupName: name,\n groupType: \"ip\",\n addressLists: [\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n});\nconst defaultNatFirewallControlPolicy = new alicloud.cloudfirewall.NatFirewallControlPolicy(\"default\", {\n applicationNameLists: [\"ANY\"],\n description: name,\n release: \"false\",\n ipVersion: \"4\",\n repeatDays: [\n 1,\n 2,\n 3,\n ],\n repeatStartTime: \"21:00\",\n aclAction: \"log\",\n destPortGroup: port.groupName,\n repeatType: \"Weekly\",\n natGatewayId: defaultMbS2Ts.id,\n source: \"1.1.1.1/32\",\n direction: \"out\",\n repeatEndTime: \"21:30\",\n startTime: 1699156800,\n destination: \"1.1.1.1/32\",\n endTime: 1888545600,\n sourceType: \"net\",\n proto: \"TCP\",\n newOrder: \"1\",\n destinationType: \"net\",\n destPortType: \"group\",\n domainResolveType: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndirection = config.get(\"direction\")\nif direction is None:\n direction = \"out\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_d_ei_wf_m = alicloud.vpc.Network(\"defaultDEiWfM\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault_fhdm3_f = alicloud.vpc.Switch(\"defaultFHDM3F\",\n vpc_id=default_d_ei_wf_m.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.2.0/24\")\ndefault_mb_s2_ts = alicloud.vpc.NatGateway(\"defaultMbS2Ts\",\n vpc_id=default_d_ei_wf_m.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_fhdm3_f.id,\n nat_type=\"Enhanced\")\nport = alicloud.cloudfirewall.AddressBook(\"port\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"port\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"port\",\n ]).result,\n group_type=\"port\",\n address_lists=[\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ])\nport_update = alicloud.cloudfirewall.AddressBook(\"port-update\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"port-update\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"port-update\",\n ]).result,\n group_type=\"port\",\n address_lists=[\n \"22/22\",\n \"23/23\",\n \"24/24\",\n ])\ndomain = alicloud.cloudfirewall.AddressBook(\"domain\",\n description=std.format(input=\"%s%s\",\n args=[\n name,\n \"domain\",\n ]).result,\n group_name=std.format(input=\"%s%s\",\n args=[\n name,\n \"domain\",\n ]).result,\n group_type=\"domain\",\n address_lists=[\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n ])\nip = alicloud.cloudfirewall.AddressBook(\"ip\",\n description=name,\n group_name=name,\n group_type=\"ip\",\n address_lists=[\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ])\ndefault_nat_firewall_control_policy = alicloud.cloudfirewall.NatFirewallControlPolicy(\"default\",\n application_name_lists=[\"ANY\"],\n description=name,\n release=\"false\",\n ip_version=\"4\",\n repeat_days=[\n 1,\n 2,\n 3,\n ],\n repeat_start_time=\"21:00\",\n acl_action=\"log\",\n dest_port_group=port.group_name,\n repeat_type=\"Weekly\",\n nat_gateway_id=default_mb_s2_ts.id,\n source=\"1.1.1.1/32\",\n direction=\"out\",\n repeat_end_time=\"21:30\",\n start_time=1699156800,\n destination=\"1.1.1.1/32\",\n end_time=1888545600,\n source_type=\"net\",\n proto=\"TCP\",\n new_order=\"1\",\n destination_type=\"net\",\n dest_port_type=\"group\",\n domain_resolve_type=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var direction = config.Get(\"direction\") ?? \"out\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultDEiWfM = new AliCloud.Vpc.Network(\"defaultDEiWfM\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var defaultFHDM3F = new AliCloud.Vpc.Switch(\"defaultFHDM3F\", new()\n {\n VpcId = defaultDEiWfM.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var defaultMbS2Ts = new AliCloud.Vpc.NatGateway(\"defaultMbS2Ts\", new()\n {\n VpcId = defaultDEiWfM.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultFHDM3F.Id,\n NatType = \"Enhanced\",\n });\n\n var port = new AliCloud.CloudFirewall.AddressBook(\"port\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"port\",\n AddressLists = new[]\n {\n \"22/22\",\n \"23/23\",\n \"24/24\",\n },\n });\n\n var port_update = new AliCloud.CloudFirewall.AddressBook(\"port-update\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port-update\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"port-update\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"port\",\n AddressLists = new[]\n {\n \"22/22\",\n \"23/23\",\n \"24/24\",\n },\n });\n\n var domain = new AliCloud.CloudFirewall.AddressBook(\"domain\", new()\n {\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"domain\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupName = Std.Format.Invoke(new()\n {\n Input = \"%s%s\",\n Args = new[]\n {\n name,\n \"domain\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n GroupType = \"domain\",\n AddressLists = new[]\n {\n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\",\n },\n });\n\n var ip = new AliCloud.CloudFirewall.AddressBook(\"ip\", new()\n {\n Description = name,\n GroupName = name,\n GroupType = \"ip\",\n AddressLists = new[]\n {\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n },\n });\n\n var defaultNatFirewallControlPolicy = new AliCloud.CloudFirewall.NatFirewallControlPolicy(\"default\", new()\n {\n ApplicationNameLists = new[]\n {\n \"ANY\",\n },\n Description = name,\n Release = \"false\",\n IpVersion = \"4\",\n RepeatDays = new[]\n {\n 1,\n 2,\n 3,\n },\n RepeatStartTime = \"21:00\",\n AclAction = \"log\",\n DestPortGroup = port.GroupName,\n RepeatType = \"Weekly\",\n NatGatewayId = defaultMbS2Ts.Id,\n Source = \"1.1.1.1/32\",\n Direction = \"out\",\n RepeatEndTime = \"21:30\",\n StartTime = 1699156800,\n Destination = \"1.1.1.1/32\",\n EndTime = 1888545600,\n SourceType = \"net\",\n Proto = \"TCP\",\n NewOrder = \"1\",\n DestinationType = \"net\",\n DestPortType = \"group\",\n DomainResolveType = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdirection := \"out\"\n\t\tif param := cfg.Get(\"direction\"); param != \"\" {\n\t\t\tdirection = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDEiWfM, err := vpc.NewNetwork(ctx, \"defaultDEiWfM\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFHDM3F, err := vpc.NewSwitch(ctx, \"defaultFHDM3F\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultDEiWfM.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMbS2Ts, err := vpc.NewNatGateway(ctx, \"defaultMbS2Ts\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultDEiWfM.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultFHDM3F.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tport, err := cloudfirewall.NewAddressBook(ctx, \"port\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat1.Result),\n\t\t\tGroupType: pulumi.String(\"port\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22/22\"),\n\t\t\t\tpulumi.String(\"23/23\"),\n\t\t\t\tpulumi.String(\"24/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port-update\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"port-update\",\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 = cloudfirewall.NewAddressBook(ctx, \"port-update\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat2.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat3.Result),\n\t\t\tGroupType: pulumi.String(\"port\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22/22\"),\n\t\t\t\tpulumi.String(\"23/23\"),\n\t\t\t\tpulumi.String(\"24/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat4, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"domain\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat5, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"domain\",\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 = cloudfirewall.NewAddressBook(ctx, \"domain\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(invokeFormat4.Result),\n\t\t\tGroupName: pulumi.String(invokeFormat5.Result),\n\t\t\tGroupType: pulumi.String(\"domain\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"alibaba.com\"),\n\t\t\t\tpulumi.String(\"aliyun.com\"),\n\t\t\t\tpulumi.String(\"alicloud.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewAddressBook(ctx, \"ip\", \u0026cloudfirewall.AddressBookArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tGroupType: pulumi.String(\"ip\"),\n\t\t\tAddressLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1/32\"),\n\t\t\t\tpulumi.String(\"2.2.2.2/32\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewNatFirewallControlPolicy(ctx, \"default\", \u0026cloudfirewall.NatFirewallControlPolicyArgs{\n\t\t\tApplicationNameLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ANY\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRelease: pulumi.String(\"false\"),\n\t\t\tIpVersion: pulumi.String(\"4\"),\n\t\t\tRepeatDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tRepeatStartTime: pulumi.String(\"21:00\"),\n\t\t\tAclAction: pulumi.String(\"log\"),\n\t\t\tDestPortGroup: port.GroupName,\n\t\t\tRepeatType: pulumi.String(\"Weekly\"),\n\t\t\tNatGatewayId: defaultMbS2Ts.ID(),\n\t\t\tSource: pulumi.String(\"1.1.1.1/32\"),\n\t\t\tDirection: pulumi.String(\"out\"),\n\t\t\tRepeatEndTime: pulumi.String(\"21:30\"),\n\t\t\tStartTime: pulumi.Int(1699156800),\n\t\t\tDestination: pulumi.String(\"1.1.1.1/32\"),\n\t\t\tEndTime: pulumi.Int(1888545600),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t\tProto: pulumi.String(\"TCP\"),\n\t\t\tNewOrder: pulumi.String(\"1\"),\n\t\t\tDestinationType: pulumi.String(\"net\"),\n\t\t\tDestPortType: pulumi.String(\"group\"),\n\t\t\tDomainResolveType: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.cloudfirewall.AddressBook;\nimport com.pulumi.alicloud.cloudfirewall.AddressBookArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallControlPolicy;\nimport com.pulumi.alicloud.cloudfirewall.NatFirewallControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var direction = config.get(\"direction\").orElse(\"out\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultDEiWfM = new Network(\"defaultDEiWfM\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var defaultFHDM3F = new Switch(\"defaultFHDM3F\", SwitchArgs.builder()\n .vpcId(defaultDEiWfM.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var defaultMbS2Ts = new NatGateway(\"defaultMbS2Ts\", NatGatewayArgs.builder()\n .vpcId(defaultDEiWfM.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultFHDM3F.id())\n .natType(\"Enhanced\")\n .build());\n\n var port = new AddressBook(\"port\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port\")\n .build()).result())\n .groupType(\"port\")\n .addressLists( \n \"22/22\",\n \"23/23\",\n \"24/24\")\n .build());\n\n var port_update = new AddressBook(\"port-update\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port-update\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"port-update\")\n .build()).result())\n .groupType(\"port\")\n .addressLists( \n \"22/22\",\n \"23/23\",\n \"24/24\")\n .build());\n\n var domain = new AddressBook(\"domain\", AddressBookArgs.builder()\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"domain\")\n .build()).result())\n .groupName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s%s\")\n .args( \n name,\n \"domain\")\n .build()).result())\n .groupType(\"domain\")\n .addressLists( \n \"alibaba.com\",\n \"aliyun.com\",\n \"alicloud.com\")\n .build());\n\n var ip = new AddressBook(\"ip\", AddressBookArgs.builder()\n .description(name)\n .groupName(name)\n .groupType(\"ip\")\n .addressLists( \n \"1.1.1.1/32\",\n \"2.2.2.2/32\")\n .build());\n\n var defaultNatFirewallControlPolicy = new NatFirewallControlPolicy(\"defaultNatFirewallControlPolicy\", NatFirewallControlPolicyArgs.builder()\n .applicationNameLists(\"ANY\")\n .description(name)\n .release(\"false\")\n .ipVersion(\"4\")\n .repeatDays( \n 1,\n 2,\n 3)\n .repeatStartTime(\"21:00\")\n .aclAction(\"log\")\n .destPortGroup(port.groupName())\n .repeatType(\"Weekly\")\n .natGatewayId(defaultMbS2Ts.id())\n .source(\"1.1.1.1/32\")\n .direction(\"out\")\n .repeatEndTime(\"21:30\")\n .startTime(1699156800)\n .destination(\"1.1.1.1/32\")\n .endTime(1888545600)\n .sourceType(\"net\")\n .proto(\"TCP\")\n .newOrder(\"1\")\n .destinationType(\"net\")\n .destPortType(\"group\")\n .domainResolveType(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n direction:\n type: string\n default: out\nresources:\n defaultDEiWfM:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n defaultFHDM3F:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultDEiWfM.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.2.0/24\n defaultMbS2Ts:\n type: alicloud:vpc:NatGateway\n properties:\n vpcId: ${defaultDEiWfM.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultFHDM3F.id}\n natType: Enhanced\n port:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port\n return: result\n groupType: port\n addressLists:\n - 22/22\n - 23/23\n - 24/24\n port-update:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port-update\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - port-update\n return: result\n groupType: port\n addressLists:\n - 22/22\n - 23/23\n - 24/24\n domain:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - domain\n return: result\n groupName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s%s'\n args:\n - ${name}\n - domain\n return: result\n groupType: domain\n addressLists:\n - alibaba.com\n - aliyun.com\n - alicloud.com\n ip:\n type: alicloud:cloudfirewall:AddressBook\n properties:\n description: ${name}\n groupName: ${name}\n groupType: ip\n addressLists:\n - 1.1.1.1/32\n - 2.2.2.2/32\n defaultNatFirewallControlPolicy:\n type: alicloud:cloudfirewall:NatFirewallControlPolicy\n name: default\n properties:\n applicationNameLists:\n - ANY\n description: ${name}\n release: 'false'\n ipVersion: '4'\n repeatDays:\n - '1'\n - '2'\n - '3'\n repeatStartTime: 21:00\n aclAction: log\n destPortGroup: ${port.groupName}\n repeatType: Weekly\n natGatewayId: ${defaultMbS2Ts.id}\n source: 1.1.1.1/32\n direction: out\n repeatEndTime: 21:30\n startTime: '1699156800'\n destination: 1.1.1.1/32\n endTime: '1888545600'\n sourceType: net\n proto: TCP\n newOrder: '1'\n destinationType: net\n destPortType: group\n domainResolveType: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Nat Firewall Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/natFirewallControlPolicy:NatFirewallControlPolicy example \u003cacl_uuid\u003e:\u003cnat_gateway_id\u003e:\u003cdirection\u003e\n```\n\n", "properties": { "aclAction": { "type": "string", @@ -122759,7 +124747,7 @@ } }, "alicloud:cloudfirewall/privateDns:PrivateDns": { - "description": "Provides a Cloud Firewall Private Dns resource.\n\nPrivate DNS Endpoint.\n\nFor information about Cloud Firewall Private Dns and how to use it, see [What is Private Dns](https://next.api.alibabacloud.com/document/Cloudfw/2017-12-07/CreatePrivateDnsEndpoint).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"yqc-example-vpc\",\n});\nconst vpcvsw1 = new alicloud.vpc.Switch(\"vpcvsw1\", {\n vpcId: vpc.id,\n zoneId: \"cn-hangzhou-i\",\n cidrBlock: \"172.16.3.0/24\",\n});\nconst vpcvsw2 = new alicloud.vpc.Switch(\"vpcvsw2\", {\n vpcId: vpc.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.4.0/24\",\n});\nconst _default = new alicloud.cloudfirewall.PrivateDns(\"default\", {\n regionNo: \"cn-hangzhou\",\n accessInstanceName: name,\n port: 53,\n primaryVswitchId: vpcvsw1.id,\n standbyDns: \"4.4.4.4\",\n primaryDns: \"8.8.8.8\",\n vpcId: vpc.id,\n privateDnsType: \"Custom\",\n firewallTypes: [\"internet\"],\n ipProtocol: \"UDP\",\n standbyVswitchId: vpcvsw2.id,\n domainNameLists: [\"www.aliyun.com\"],\n primaryVswitchIp: \"172.16.3.1\",\n standbyVswitchIp: \"172.16.4.1\",\n memberUid: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"yqc-example-vpc\")\nvpcvsw1 = alicloud.vpc.Switch(\"vpcvsw1\",\n vpc_id=vpc.id,\n zone_id=\"cn-hangzhou-i\",\n cidr_block=\"172.16.3.0/24\")\nvpcvsw2 = alicloud.vpc.Switch(\"vpcvsw2\",\n vpc_id=vpc.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.4.0/24\")\ndefault = alicloud.cloudfirewall.PrivateDns(\"default\",\n region_no=\"cn-hangzhou\",\n access_instance_name=name,\n port=53,\n primary_vswitch_id=vpcvsw1.id,\n standby_dns=\"4.4.4.4\",\n primary_dns=\"8.8.8.8\",\n vpc_id=vpc.id,\n private_dns_type=\"Custom\",\n firewall_types=[\"internet\"],\n ip_protocol=\"UDP\",\n standby_vswitch_id=vpcvsw2.id,\n domain_name_lists=[\"www.aliyun.com\"],\n primary_vswitch_ip=\"172.16.3.1\",\n standby_vswitch_ip=\"172.16.4.1\",\n member_uid=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"yqc-example-vpc\",\n });\n\n var vpcvsw1 = new AliCloud.Vpc.Switch(\"vpcvsw1\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-hangzhou-i\",\n CidrBlock = \"172.16.3.0/24\",\n });\n\n var vpcvsw2 = new AliCloud.Vpc.Switch(\"vpcvsw2\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.4.0/24\",\n });\n\n var @default = new AliCloud.CloudFirewall.PrivateDns(\"default\", new()\n {\n RegionNo = \"cn-hangzhou\",\n AccessInstanceName = name,\n Port = 53,\n PrimaryVswitchId = vpcvsw1.Id,\n StandbyDns = \"4.4.4.4\",\n PrimaryDns = \"8.8.8.8\",\n VpcId = vpc.Id,\n PrivateDnsType = \"Custom\",\n FirewallTypes = new[]\n {\n \"internet\",\n },\n IpProtocol = \"UDP\",\n StandbyVswitchId = vpcvsw2.Id,\n DomainNameLists = new[]\n {\n \"www.aliyun.com\",\n },\n PrimaryVswitchIp = \"172.16.3.1\",\n StandbyVswitchIp = \"172.16.4.1\",\n MemberUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"yqc-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcvsw1, err := vpc.NewSwitch(ctx, \"vpcvsw1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcvsw2, err := vpc.NewSwitch(ctx, \"vpcvsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.4.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewPrivateDns(ctx, \"default\", \u0026cloudfirewall.PrivateDnsArgs{\n\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\tAccessInstanceName: pulumi.String(name),\n\t\t\tPort: pulumi.Int(53),\n\t\t\tPrimaryVswitchId: vpcvsw1.ID(),\n\t\t\tStandbyDns: pulumi.String(\"4.4.4.4\"),\n\t\t\tPrimaryDns: pulumi.String(\"8.8.8.8\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tPrivateDnsType: pulumi.String(\"Custom\"),\n\t\t\tFirewallTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"internet\"),\n\t\t\t},\n\t\t\tIpProtocol: pulumi.String(\"UDP\"),\n\t\t\tStandbyVswitchId: vpcvsw2.ID(),\n\t\t\tDomainNameLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.aliyun.com\"),\n\t\t\t},\n\t\t\tPrimaryVswitchIp: pulumi.String(\"172.16.3.1\"),\n\t\t\tStandbyVswitchIp: pulumi.String(\"172.16.4.1\"),\n\t\t\tMemberUid: pulumi.String(current.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudfirewall.PrivateDns;\nimport com.pulumi.alicloud.cloudfirewall.PrivateDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"yqc-example-vpc\")\n .build());\n\n var vpcvsw1 = new Switch(\"vpcvsw1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-hangzhou-i\")\n .cidrBlock(\"172.16.3.0/24\")\n .build());\n\n var vpcvsw2 = new Switch(\"vpcvsw2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.4.0/24\")\n .build());\n\n var default_ = new PrivateDns(\"default\", PrivateDnsArgs.builder()\n .regionNo(\"cn-hangzhou\")\n .accessInstanceName(name)\n .port(53)\n .primaryVswitchId(vpcvsw1.id())\n .standbyDns(\"4.4.4.4\")\n .primaryDns(\"8.8.8.8\")\n .vpcId(vpc.id())\n .privateDnsType(\"Custom\")\n .firewallTypes(\"internet\")\n .ipProtocol(\"UDP\")\n .standbyVswitchId(vpcvsw2.id())\n .domainNameLists(\"www.aliyun.com\")\n .primaryVswitchIp(\"172.16.3.1\")\n .standbyVswitchIp(\"172.16.4.1\")\n .memberUid(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: yqc-example-vpc\n vpcvsw1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-hangzhou-i\n cidrBlock: 172.16.3.0/24\n vpcvsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.4.0/24\n default:\n type: alicloud:cloudfirewall:PrivateDns\n properties:\n regionNo: cn-hangzhou\n accessInstanceName: ${name}\n port: '53'\n primaryVswitchId: ${vpcvsw1.id}\n standbyDns: 4.4.4.4\n primaryDns: 8.8.8.8\n vpcId: ${vpc.id}\n privateDnsType: Custom\n firewallTypes:\n - internet\n ipProtocol: UDP\n standbyVswitchId: ${vpcvsw2.id}\n domainNameLists:\n - www.aliyun.com\n primaryVswitchIp: 172.16.3.1\n standbyVswitchIp: 172.16.4.1\n memberUid: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Private Dns can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/privateDns:PrivateDns example \u003caccess_instance_id\u003e:\u003cregion_no\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Private Dns resource.\n\nPrivate DNS Endpoint.\n\nFor information about Cloud Firewall Private Dns and how to use it, see [What is Private Dns](https://next.api.alibabacloud.com/document/Cloudfw/2017-12-07/CreatePrivateDnsEndpoint).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"yqc-example-vpc\",\n});\nconst vpcvsw1 = new alicloud.vpc.Switch(\"vpcvsw1\", {\n vpcId: vpc.id,\n zoneId: \"cn-hangzhou-i\",\n cidrBlock: \"172.16.3.0/24\",\n});\nconst vpcvsw2 = new alicloud.vpc.Switch(\"vpcvsw2\", {\n vpcId: vpc.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.4.0/24\",\n});\nconst _default = new alicloud.cloudfirewall.PrivateDns(\"default\", {\n regionNo: \"cn-hangzhou\",\n accessInstanceName: name,\n port: 53,\n primaryVswitchId: vpcvsw1.id,\n standbyDns: \"4.4.4.4\",\n primaryDns: \"8.8.8.8\",\n vpcId: vpc.id,\n privateDnsType: \"Custom\",\n firewallTypes: [\"internet\"],\n ipProtocol: \"UDP\",\n standbyVswitchId: vpcvsw2.id,\n domainNameLists: [\"www.aliyun.com\"],\n primaryVswitchIp: \"172.16.3.1\",\n standbyVswitchIp: \"172.16.4.1\",\n memberUid: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"yqc-example-vpc\")\nvpcvsw1 = alicloud.vpc.Switch(\"vpcvsw1\",\n vpc_id=vpc.id,\n zone_id=\"cn-hangzhou-i\",\n cidr_block=\"172.16.3.0/24\")\nvpcvsw2 = alicloud.vpc.Switch(\"vpcvsw2\",\n vpc_id=vpc.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.4.0/24\")\ndefault = alicloud.cloudfirewall.PrivateDns(\"default\",\n region_no=\"cn-hangzhou\",\n access_instance_name=name,\n port=53,\n primary_vswitch_id=vpcvsw1.id,\n standby_dns=\"4.4.4.4\",\n primary_dns=\"8.8.8.8\",\n vpc_id=vpc.id,\n private_dns_type=\"Custom\",\n firewall_types=[\"internet\"],\n ip_protocol=\"UDP\",\n standby_vswitch_id=vpcvsw2.id,\n domain_name_lists=[\"www.aliyun.com\"],\n primary_vswitch_ip=\"172.16.3.1\",\n standby_vswitch_ip=\"172.16.4.1\",\n member_uid=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"yqc-example-vpc\",\n });\n\n var vpcvsw1 = new AliCloud.Vpc.Switch(\"vpcvsw1\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-hangzhou-i\",\n CidrBlock = \"172.16.3.0/24\",\n });\n\n var vpcvsw2 = new AliCloud.Vpc.Switch(\"vpcvsw2\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.4.0/24\",\n });\n\n var @default = new AliCloud.CloudFirewall.PrivateDns(\"default\", new()\n {\n RegionNo = \"cn-hangzhou\",\n AccessInstanceName = name,\n Port = 53,\n PrimaryVswitchId = vpcvsw1.Id,\n StandbyDns = \"4.4.4.4\",\n PrimaryDns = \"8.8.8.8\",\n VpcId = vpc.Id,\n PrivateDnsType = \"Custom\",\n FirewallTypes = new[]\n {\n \"internet\",\n },\n IpProtocol = \"UDP\",\n StandbyVswitchId = vpcvsw2.Id,\n DomainNameLists = new[]\n {\n \"www.aliyun.com\",\n },\n PrimaryVswitchIp = \"172.16.3.1\",\n StandbyVswitchIp = \"172.16.4.1\",\n MemberUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"yqc-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcvsw1, err := vpc.NewSwitch(ctx, \"vpcvsw1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcvsw2, err := vpc.NewSwitch(ctx, \"vpcvsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.4.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewPrivateDns(ctx, \"default\", \u0026cloudfirewall.PrivateDnsArgs{\n\t\t\tRegionNo: pulumi.String(\"cn-hangzhou\"),\n\t\t\tAccessInstanceName: pulumi.String(name),\n\t\t\tPort: pulumi.Int(53),\n\t\t\tPrimaryVswitchId: vpcvsw1.ID(),\n\t\t\tStandbyDns: pulumi.String(\"4.4.4.4\"),\n\t\t\tPrimaryDns: pulumi.String(\"8.8.8.8\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tPrivateDnsType: pulumi.String(\"Custom\"),\n\t\t\tFirewallTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"internet\"),\n\t\t\t},\n\t\t\tIpProtocol: pulumi.String(\"UDP\"),\n\t\t\tStandbyVswitchId: vpcvsw2.ID(),\n\t\t\tDomainNameLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.aliyun.com\"),\n\t\t\t},\n\t\t\tPrimaryVswitchIp: pulumi.String(\"172.16.3.1\"),\n\t\t\tStandbyVswitchIp: pulumi.String(\"172.16.4.1\"),\n\t\t\tMemberUid: pulumi.String(current.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudfirewall.PrivateDns;\nimport com.pulumi.alicloud.cloudfirewall.PrivateDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"yqc-example-vpc\")\n .build());\n\n var vpcvsw1 = new Switch(\"vpcvsw1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-hangzhou-i\")\n .cidrBlock(\"172.16.3.0/24\")\n .build());\n\n var vpcvsw2 = new Switch(\"vpcvsw2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.4.0/24\")\n .build());\n\n var default_ = new PrivateDns(\"default\", PrivateDnsArgs.builder()\n .regionNo(\"cn-hangzhou\")\n .accessInstanceName(name)\n .port(53)\n .primaryVswitchId(vpcvsw1.id())\n .standbyDns(\"4.4.4.4\")\n .primaryDns(\"8.8.8.8\")\n .vpcId(vpc.id())\n .privateDnsType(\"Custom\")\n .firewallTypes(\"internet\")\n .ipProtocol(\"UDP\")\n .standbyVswitchId(vpcvsw2.id())\n .domainNameLists(\"www.aliyun.com\")\n .primaryVswitchIp(\"172.16.3.1\")\n .standbyVswitchIp(\"172.16.4.1\")\n .memberUid(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: yqc-example-vpc\n vpcvsw1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-hangzhou-i\n cidrBlock: 172.16.3.0/24\n vpcvsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.4.0/24\n default:\n type: alicloud:cloudfirewall:PrivateDns\n properties:\n regionNo: cn-hangzhou\n accessInstanceName: ${name}\n port: '53'\n primaryVswitchId: ${vpcvsw1.id}\n standbyDns: 4.4.4.4\n primaryDns: 8.8.8.8\n vpcId: ${vpc.id}\n privateDnsType: Custom\n firewallTypes:\n - internet\n ipProtocol: UDP\n standbyVswitchId: ${vpcvsw2.id}\n domainNameLists:\n - www.aliyun.com\n primaryVswitchIp: 172.16.3.1\n standbyVswitchIp: 172.16.4.1\n memberUid: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Private Dns can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/privateDns:PrivateDns example \u003caccess_instance_id\u003e:\u003cregion_no\u003e\n```\n\n", "properties": { "accessInstanceId": { "type": "string", @@ -123076,7 +125064,7 @@ } }, "alicloud:cloudfirewall/vpcCenTrFirewall:VpcCenTrFirewall": { - "description": "Provides a Cloud Firewall Vpc Cen Tr Firewall resource.\n\nVPC firewall Cloud Enterprise Network Enterprise Edition.\n\nFor information about Cloud Firewall Vpc Cen Tr Firewall and how to use it, see [What is Vpc Cen Tr Firewall](https://www.alibabacloud.com/help/en/cloud-firewall/cloudfirewall/developer-reference/api-cloudfw-2017-12-07-createtrfirewallv2).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst description = config.get(\"description\") || \"Created by Terraform\";\nconst firewallName = config.get(\"firewallName\") || \"tf-example\";\nconst trAttachmentMasterCidr = config.get(\"trAttachmentMasterCidr\") || \"192.168.3.192/26\";\nconst firewallSubnetCidr = config.get(\"firewallSubnetCidr\") || \"192.168.3.0/25\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst trAttachmentSlaveCidr = config.get(\"trAttachmentSlaveCidr\") || \"192.168.3.128/26\";\nconst firewallVpcCidr = config.get(\"firewallVpcCidr\") || \"192.168.3.0/24\";\nconst zone1 = config.get(\"zone1\") || \"cn-hangzhou-h\";\nconst firewallNameUpdate = config.get(\"firewallNameUpdate\") || \"tf-example-1\";\nconst zone2 = config.get(\"zone2\") || \"cn-hangzhou-i\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst cen = new alicloud.cen.Instance(\"cen\", {\n description: \"terraform example\",\n cenInstanceName: name,\n});\nconst tr = new alicloud.cen.TransitRouter(\"tr\", {\n transitRouterName: name,\n transitRouterDescription: \"tr-created-by-terraform\",\n cenId: cen.id,\n});\nconst vpc1 = new alicloud.vpc.Network(\"vpc1\", {\n description: \"created by terraform\",\n cidrBlock: \"192.168.1.0/24\",\n vpcName: name,\n});\nconst vpc1vsw1 = new alicloud.vpc.Switch(\"vpc1vsw1\", {\n cidrBlock: \"192.168.1.0/25\",\n vswitchName: name,\n vpcId: vpc1.id,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]),\n});\nconst vpc1vsw2 = new alicloud.vpc.Switch(\"vpc1vsw2\", {\n vpcId: vpc1.id,\n cidrBlock: \"192.168.1.128/26\",\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[2]),\n});\nconst foo = new alicloud.vpc.RouteTable(\"foo\", {\n vpcId: vpc1.id,\n routeTableName: name,\n description: name,\n});\nconst tr_vpc1 = new alicloud.cen.TransitRouterVpcAttachment(\"tr-vpc1\", {\n zoneMappings: [\n {\n vswitchId: vpc1vsw1.id,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]),\n },\n {\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[2]),\n vswitchId: vpc1vsw2.id,\n },\n ],\n vpcId: vpc1.id,\n cenId: cen.id,\n transitRouterId: tr.transitRouterId,\n}, {\n dependsOn: [foo],\n});\nconst wait10Minutes = new time.index.Sleep(\"wait_10_minutes\", {createDuration: \"10m\"}, {\n dependsOn: [tr_vpc1],\n});\nconst defaultVpcCenTrFirewall = new alicloud.cloudfirewall.VpcCenTrFirewall(\"default\", {\n cenId: tr_vpc1.cenId,\n firewallName: name,\n firewallSubnetCidr: firewallSubnetCidr,\n trAttachmentSlaveCidr: trAttachmentSlaveCidr,\n firewallDescription: \"VpcCenTrFirewall created by terraform\",\n regionNo: region,\n trAttachmentMasterCidr: trAttachmentMasterCidr,\n firewallVpcCidr: firewallVpcCidr,\n transitRouterId: tr.transitRouterId,\n routeMode: \"managed\",\n}, {\n dependsOn: [wait10Minutes],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndescription = config.get(\"description\")\nif description is None:\n description = \"Created by Terraform\"\nfirewall_name = config.get(\"firewallName\")\nif firewall_name is None:\n firewall_name = \"tf-example\"\ntr_attachment_master_cidr = config.get(\"trAttachmentMasterCidr\")\nif tr_attachment_master_cidr is None:\n tr_attachment_master_cidr = \"192.168.3.192/26\"\nfirewall_subnet_cidr = config.get(\"firewallSubnetCidr\")\nif firewall_subnet_cidr is None:\n firewall_subnet_cidr = \"192.168.3.0/25\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ntr_attachment_slave_cidr = config.get(\"trAttachmentSlaveCidr\")\nif tr_attachment_slave_cidr is None:\n tr_attachment_slave_cidr = \"192.168.3.128/26\"\nfirewall_vpc_cidr = config.get(\"firewallVpcCidr\")\nif firewall_vpc_cidr is None:\n firewall_vpc_cidr = \"192.168.3.0/24\"\nzone1 = config.get(\"zone1\")\nif zone1 is None:\n zone1 = \"cn-hangzhou-h\"\nfirewall_name_update = config.get(\"firewallNameUpdate\")\nif firewall_name_update is None:\n firewall_name_update = \"tf-example-1\"\nzone2 = config.get(\"zone2\")\nif zone2 is None:\n zone2 = \"cn-hangzhou-i\"\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncen = alicloud.cen.Instance(\"cen\",\n description=\"terraform example\",\n cen_instance_name=name)\ntr = alicloud.cen.TransitRouter(\"tr\",\n transit_router_name=name,\n transit_router_description=\"tr-created-by-terraform\",\n cen_id=cen.id)\nvpc1 = alicloud.vpc.Network(\"vpc1\",\n description=\"created by terraform\",\n cidr_block=\"192.168.1.0/24\",\n vpc_name=name)\nvpc1vsw1 = alicloud.vpc.Switch(\"vpc1vsw1\",\n cidr_block=\"192.168.1.0/25\",\n vswitch_name=name,\n vpc_id=vpc1.id,\n zone_id=default.resources[0].master_zones[1])\nvpc1vsw2 = alicloud.vpc.Switch(\"vpc1vsw2\",\n vpc_id=vpc1.id,\n cidr_block=\"192.168.1.128/26\",\n vswitch_name=name,\n zone_id=default.resources[0].master_zones[2])\nfoo = alicloud.vpc.RouteTable(\"foo\",\n vpc_id=vpc1.id,\n route_table_name=name,\n description=name)\ntr_vpc1 = alicloud.cen.TransitRouterVpcAttachment(\"tr-vpc1\",\n zone_mappings=[\n {\n \"vswitch_id\": vpc1vsw1.id,\n \"zone_id\": default.resources[0].master_zones[1],\n },\n {\n \"zone_id\": default.resources[0].master_zones[2],\n \"vswitch_id\": vpc1vsw2.id,\n },\n ],\n vpc_id=vpc1.id,\n cen_id=cen.id,\n transit_router_id=tr.transit_router_id,\n opts = pulumi.ResourceOptions(depends_on=[foo]))\nwait10_minutes = time.index.Sleep(\"wait_10_minutes\", create_duration=10m,\nopts = pulumi.ResourceOptions(depends_on=[tr_vpc1]))\ndefault_vpc_cen_tr_firewall = alicloud.cloudfirewall.VpcCenTrFirewall(\"default\",\n cen_id=tr_vpc1.cen_id,\n firewall_name=name,\n firewall_subnet_cidr=firewall_subnet_cidr,\n tr_attachment_slave_cidr=tr_attachment_slave_cidr,\n firewall_description=\"VpcCenTrFirewall created by terraform\",\n region_no=region,\n tr_attachment_master_cidr=tr_attachment_master_cidr,\n firewall_vpc_cidr=firewall_vpc_cidr,\n transit_router_id=tr.transit_router_id,\n route_mode=\"managed\",\n opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var description = config.Get(\"description\") ?? \"Created by Terraform\";\n var firewallName = config.Get(\"firewallName\") ?? \"tf-example\";\n var trAttachmentMasterCidr = config.Get(\"trAttachmentMasterCidr\") ?? \"192.168.3.192/26\";\n var firewallSubnetCidr = config.Get(\"firewallSubnetCidr\") ?? \"192.168.3.0/25\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var trAttachmentSlaveCidr = config.Get(\"trAttachmentSlaveCidr\") ?? \"192.168.3.128/26\";\n var firewallVpcCidr = config.Get(\"firewallVpcCidr\") ?? \"192.168.3.0/24\";\n var zone1 = config.Get(\"zone1\") ?? \"cn-hangzhou-h\";\n var firewallNameUpdate = config.Get(\"firewallNameUpdate\") ?? \"tf-example-1\";\n var zone2 = config.Get(\"zone2\") ?? \"cn-hangzhou-i\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var cen = new AliCloud.Cen.Instance(\"cen\", new()\n {\n Description = \"terraform example\",\n CenInstanceName = name,\n });\n\n var tr = new AliCloud.Cen.TransitRouter(\"tr\", new()\n {\n TransitRouterName = name,\n TransitRouterDescription = \"tr-created-by-terraform\",\n CenId = cen.Id,\n });\n\n var vpc1 = new AliCloud.Vpc.Network(\"vpc1\", new()\n {\n Description = \"created by terraform\",\n CidrBlock = \"192.168.1.0/24\",\n VpcName = name,\n });\n\n var vpc1vsw1 = new AliCloud.Vpc.Switch(\"vpc1vsw1\", new()\n {\n CidrBlock = \"192.168.1.0/25\",\n VswitchName = name,\n VpcId = vpc1.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1])),\n });\n\n var vpc1vsw2 = new AliCloud.Vpc.Switch(\"vpc1vsw2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"192.168.1.128/26\",\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[2])),\n });\n\n var foo = new AliCloud.Vpc.RouteTable(\"foo\", new()\n {\n VpcId = vpc1.Id,\n RouteTableName = name,\n Description = name,\n });\n\n var tr_vpc1 = new AliCloud.Cen.TransitRouterVpcAttachment(\"tr-vpc1\", new()\n {\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n VswitchId = vpc1vsw1.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1])),\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[2])),\n VswitchId = vpc1vsw2.Id,\n },\n },\n VpcId = vpc1.Id,\n CenId = cen.Id,\n TransitRouterId = tr.TransitRouterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var wait10Minutes = new Time.Index.Sleep(\"wait_10_minutes\", new()\n {\n CreateDuration = \"10m\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n tr_vpc1,\n },\n });\n\n var defaultVpcCenTrFirewall = new AliCloud.CloudFirewall.VpcCenTrFirewall(\"default\", new()\n {\n CenId = tr_vpc1.CenId,\n FirewallName = name,\n FirewallSubnetCidr = firewallSubnetCidr,\n TrAttachmentSlaveCidr = trAttachmentSlaveCidr,\n FirewallDescription = \"VpcCenTrFirewall created by terraform\",\n RegionNo = region,\n TrAttachmentMasterCidr = trAttachmentMasterCidr,\n FirewallVpcCidr = firewallVpcCidr,\n TransitRouterId = tr.TransitRouterId,\n RouteMode = \"managed\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n wait10Minutes,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdescription := \"Created by Terraform\"\n\t\tif param := cfg.Get(\"description\"); param != \"\" {\n\t\t\tdescription = param\n\t\t}\n\t\tfirewallName := \"tf-example\"\n\t\tif param := cfg.Get(\"firewallName\"); param != \"\" {\n\t\t\tfirewallName = param\n\t\t}\n\t\ttrAttachmentMasterCidr := \"192.168.3.192/26\"\n\t\tif param := cfg.Get(\"trAttachmentMasterCidr\"); param != \"\" {\n\t\t\ttrAttachmentMasterCidr = param\n\t\t}\n\t\tfirewallSubnetCidr := \"192.168.3.0/25\"\n\t\tif param := cfg.Get(\"firewallSubnetCidr\"); param != \"\" {\n\t\t\tfirewallSubnetCidr = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\ttrAttachmentSlaveCidr := \"192.168.3.128/26\"\n\t\tif param := cfg.Get(\"trAttachmentSlaveCidr\"); param != \"\" {\n\t\t\ttrAttachmentSlaveCidr = param\n\t\t}\n\t\tfirewallVpcCidr := \"192.168.3.0/24\"\n\t\tif param := cfg.Get(\"firewallVpcCidr\"); param != \"\" {\n\t\t\tfirewallVpcCidr = param\n\t\t}\n\t\tzone1 := \"cn-hangzhou-h\"\n\t\tif param := cfg.Get(\"zone1\"); param != \"\" {\n\t\t\tzone1 = param\n\t\t}\n\t\tfirewallNameUpdate := \"tf-example-1\"\n\t\tif param := cfg.Get(\"firewallNameUpdate\"); param != \"\" {\n\t\t\tfirewallNameUpdate = param\n\t\t}\n\t\tzone2 := \"cn-hangzhou-i\"\n\t\tif param := cfg.Get(\"zone2\"); param != \"\" {\n\t\t\tzone2 = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcen, err := cen.NewInstance(ctx, \"cen\", \u0026cen.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"terraform example\"),\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttr, err := cen.NewTransitRouter(ctx, \"tr\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tTransitRouterDescription: pulumi.String(\"tr-created-by-terraform\"),\n\t\t\tCenId: cen.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := vpc.NewNetwork(ctx, \"vpc1\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"created by terraform\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1vsw1, err := vpc.NewSwitch(ctx, \"vpc1vsw1\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/25\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1vsw2, err := vpc.NewSwitch(ctx, \"vpc1vsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.128/26\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[2]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := vpc.NewRouteTable(ctx, \"foo\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttr_vpc1, err := cen.NewTransitRouterVpcAttachment(ctx, \"tr-vpc1\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tVswitchId: vpc1vsw1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[1]),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[2]),\n\t\t\t\t\tVswitchId: vpc1vsw2.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCenId: cen.ID(),\n\t\t\tTransitRouterId: tr.TransitRouterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twait10Minutes, err := time.NewSleep(ctx, \"wait_10_minutes\", \u0026time.SleepArgs{\n\t\t\tCreateDuration: \"10m\",\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttr_vpc1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewVpcCenTrFirewall(ctx, \"default\", \u0026cloudfirewall.VpcCenTrFirewallArgs{\n\t\t\tCenId: tr_vpc1.CenId,\n\t\t\tFirewallName: pulumi.String(name),\n\t\t\tFirewallSubnetCidr: pulumi.String(firewallSubnetCidr),\n\t\t\tTrAttachmentSlaveCidr: pulumi.String(trAttachmentSlaveCidr),\n\t\t\tFirewallDescription: pulumi.String(\"VpcCenTrFirewall created by terraform\"),\n\t\t\tRegionNo: pulumi.String(region),\n\t\t\tTrAttachmentMasterCidr: pulumi.String(trAttachmentMasterCidr),\n\t\t\tFirewallVpcCidr: pulumi.String(firewallVpcCidr),\n\t\t\tTransitRouterId: tr.TransitRouterId,\n\t\t\tRouteMode: pulumi.String(\"managed\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twait10Minutes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.time.Sleep;\nimport com.pulumi.time.SleepArgs;\nimport com.pulumi.alicloud.cloudfirewall.VpcCenTrFirewall;\nimport com.pulumi.alicloud.cloudfirewall.VpcCenTrFirewallArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var description = config.get(\"description\").orElse(\"Created by Terraform\");\n final var firewallName = config.get(\"firewallName\").orElse(\"tf-example\");\n final var trAttachmentMasterCidr = config.get(\"trAttachmentMasterCidr\").orElse(\"192.168.3.192/26\");\n final var firewallSubnetCidr = config.get(\"firewallSubnetCidr\").orElse(\"192.168.3.0/25\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var trAttachmentSlaveCidr = config.get(\"trAttachmentSlaveCidr\").orElse(\"192.168.3.128/26\");\n final var firewallVpcCidr = config.get(\"firewallVpcCidr\").orElse(\"192.168.3.0/24\");\n final var zone1 = config.get(\"zone1\").orElse(\"cn-hangzhou-h\");\n final var firewallNameUpdate = config.get(\"firewallNameUpdate\").orElse(\"tf-example-1\");\n final var zone2 = config.get(\"zone2\").orElse(\"cn-hangzhou-i\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var cen = new Instance(\"cen\", InstanceArgs.builder()\n .description(\"terraform example\")\n .cenInstanceName(name)\n .build());\n\n var tr = new TransitRouter(\"tr\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .transitRouterDescription(\"tr-created-by-terraform\")\n .cenId(cen.id())\n .build());\n\n var vpc1 = new Network(\"vpc1\", NetworkArgs.builder()\n .description(\"created by terraform\")\n .cidrBlock(\"192.168.1.0/24\")\n .vpcName(name)\n .build());\n\n var vpc1vsw1 = new Switch(\"vpc1vsw1\", SwitchArgs.builder()\n .cidrBlock(\"192.168.1.0/25\")\n .vswitchName(name)\n .vpcId(vpc1.id())\n .zoneId(default_.resources()[0].masterZones()[1])\n .build());\n\n var vpc1vsw2 = new Switch(\"vpc1vsw2\", SwitchArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"192.168.1.128/26\")\n .vswitchName(name)\n .zoneId(default_.resources()[0].masterZones()[2])\n .build());\n\n var foo = new RouteTable(\"foo\", RouteTableArgs.builder()\n .vpcId(vpc1.id())\n .routeTableName(name)\n .description(name)\n .build());\n\n var tr_vpc1 = new TransitRouterVpcAttachment(\"tr-vpc1\", TransitRouterVpcAttachmentArgs.builder()\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .vswitchId(vpc1vsw1.id())\n .zoneId(default_.resources()[0].masterZones()[1])\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[2])\n .vswitchId(vpc1vsw2.id())\n .build())\n .vpcId(vpc1.id())\n .cenId(cen.id())\n .transitRouterId(tr.transitRouterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n var wait10Minutes = new Sleep(\"wait10Minutes\", SleepArgs.builder()\n .createDuration(\"10m\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(List.of(tr_vpc1))\n .build());\n\n var defaultVpcCenTrFirewall = new VpcCenTrFirewall(\"defaultVpcCenTrFirewall\", VpcCenTrFirewallArgs.builder()\n .cenId(tr_vpc1.cenId())\n .firewallName(name)\n .firewallSubnetCidr(firewallSubnetCidr)\n .trAttachmentSlaveCidr(trAttachmentSlaveCidr)\n .firewallDescription(\"VpcCenTrFirewall created by terraform\")\n .regionNo(region)\n .trAttachmentMasterCidr(trAttachmentMasterCidr)\n .firewallVpcCidr(firewallVpcCidr)\n .transitRouterId(tr.transitRouterId())\n .routeMode(\"managed\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(wait10Minutes)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n description:\n type: string\n default: Created by Terraform\n firewallName:\n type: string\n default: tf-example\n trAttachmentMasterCidr:\n type: string\n default: 192.168.3.192/26\n firewallSubnetCidr:\n type: string\n default: 192.168.3.0/25\n region:\n type: string\n default: cn-hangzhou\n trAttachmentSlaveCidr:\n type: string\n default: 192.168.3.128/26\n firewallVpcCidr:\n type: string\n default: 192.168.3.0/24\n zone1:\n type: string\n default: cn-hangzhou-h\n firewallNameUpdate:\n type: string\n default: tf-example-1\n zone2:\n type: string\n default: cn-hangzhou-i\nresources:\n cen:\n type: alicloud:cen:Instance\n properties:\n description: terraform example\n cenInstanceName: ${name}\n tr:\n type: alicloud:cen:TransitRouter\n properties:\n transitRouterName: ${name}\n transitRouterDescription: tr-created-by-terraform\n cenId: ${cen.id}\n vpc1:\n type: alicloud:vpc:Network\n properties:\n description: created by terraform\n cidrBlock: 192.168.1.0/24\n vpcName: ${name}\n vpc1vsw1:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 192.168.1.0/25\n vswitchName: ${name}\n vpcId: ${vpc1.id}\n zoneId: ${default.resources[0].masterZones[1]}\n vpc1vsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 192.168.1.128/26\n vswitchName: ${name}\n zoneId: ${default.resources[0].masterZones[2]}\n foo:\n type: alicloud:vpc:RouteTable\n properties:\n vpcId: ${vpc1.id}\n routeTableName: ${name}\n description: ${name}\n tr-vpc1:\n type: alicloud:cen:TransitRouterVpcAttachment\n properties:\n zoneMappings:\n - vswitchId: ${vpc1vsw1.id}\n zoneId: ${default.resources[0].masterZones[1]}\n - zoneId: ${default.resources[0].masterZones[2]}\n vswitchId: ${vpc1vsw2.id}\n vpcId: ${vpc1.id}\n cenId: ${cen.id}\n transitRouterId: ${tr.transitRouterId}\n options:\n dependsOn:\n - ${foo}\n wait10Minutes:\n type: time:Sleep\n name: wait_10_minutes\n properties:\n createDuration: 10m\n options:\n dependsOn:\n - ${[\"tr-vpc1\"]}\n defaultVpcCenTrFirewall:\n type: alicloud:cloudfirewall:VpcCenTrFirewall\n name: default\n properties:\n cenId: ${[\"tr-vpc1\"].cenId}\n firewallName: ${name}\n firewallSubnetCidr: ${firewallSubnetCidr}\n trAttachmentSlaveCidr: ${trAttachmentSlaveCidr}\n firewallDescription: VpcCenTrFirewall created by terraform\n regionNo: ${region}\n trAttachmentMasterCidr: ${trAttachmentMasterCidr}\n firewallVpcCidr: ${firewallVpcCidr}\n transitRouterId: ${tr.transitRouterId}\n routeMode: managed\n options:\n dependsOn:\n - ${wait10Minutes}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/vpcCenTrFirewall:VpcCenTrFirewall example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Firewall Vpc Cen Tr Firewall resource.\n\nVPC firewall Cloud Enterprise Network Enterprise Edition.\n\nFor information about Cloud Firewall Vpc Cen Tr Firewall and how to use it, see [What is Vpc Cen Tr Firewall](https://www.alibabacloud.com/help/en/cloud-firewall/cloudfirewall/developer-reference/api-cloudfw-2017-12-07-createtrfirewallv2).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst description = config.get(\"description\") || \"Created by Terraform\";\nconst firewallName = config.get(\"firewallName\") || \"tf-example\";\nconst trAttachmentMasterCidr = config.get(\"trAttachmentMasterCidr\") || \"192.168.3.192/26\";\nconst firewallSubnetCidr = config.get(\"firewallSubnetCidr\") || \"192.168.3.0/25\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst trAttachmentSlaveCidr = config.get(\"trAttachmentSlaveCidr\") || \"192.168.3.128/26\";\nconst firewallVpcCidr = config.get(\"firewallVpcCidr\") || \"192.168.3.0/24\";\nconst zone1 = config.get(\"zone1\") || \"cn-hangzhou-h\";\nconst firewallNameUpdate = config.get(\"firewallNameUpdate\") || \"tf-example-1\";\nconst zone2 = config.get(\"zone2\") || \"cn-hangzhou-i\";\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst cen = new alicloud.cen.Instance(\"cen\", {\n description: \"terraform example\",\n cenInstanceName: name,\n});\nconst tr = new alicloud.cen.TransitRouter(\"tr\", {\n transitRouterName: name,\n transitRouterDescription: \"tr-created-by-terraform\",\n cenId: cen.id,\n});\nconst vpc1 = new alicloud.vpc.Network(\"vpc1\", {\n description: \"created by terraform\",\n cidrBlock: \"192.168.1.0/24\",\n vpcName: name,\n});\nconst vpc1vsw1 = new alicloud.vpc.Switch(\"vpc1vsw1\", {\n cidrBlock: \"192.168.1.0/25\",\n vswitchName: name,\n vpcId: vpc1.id,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]),\n});\nconst vpc1vsw2 = new alicloud.vpc.Switch(\"vpc1vsw2\", {\n vpcId: vpc1.id,\n cidrBlock: \"192.168.1.128/26\",\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[2]),\n});\nconst foo = new alicloud.vpc.RouteTable(\"foo\", {\n vpcId: vpc1.id,\n routeTableName: name,\n description: name,\n});\nconst tr_vpc1 = new alicloud.cen.TransitRouterVpcAttachment(\"tr-vpc1\", {\n zoneMappings: [\n {\n vswitchId: vpc1vsw1.id,\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[1]),\n },\n {\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[2]),\n vswitchId: vpc1vsw2.id,\n },\n ],\n vpcId: vpc1.id,\n cenId: cen.id,\n transitRouterId: tr.transitRouterId,\n}, {\n dependsOn: [foo],\n});\nconst wait10Minutes = new time.index.Sleep(\"wait_10_minutes\", {createDuration: \"10m\"}, {\n dependsOn: [tr_vpc1],\n});\nconst defaultVpcCenTrFirewall = new alicloud.cloudfirewall.VpcCenTrFirewall(\"default\", {\n cenId: tr_vpc1.cenId,\n firewallName: name,\n firewallSubnetCidr: firewallSubnetCidr,\n trAttachmentSlaveCidr: trAttachmentSlaveCidr,\n firewallDescription: \"VpcCenTrFirewall created by terraform\",\n regionNo: region,\n trAttachmentMasterCidr: trAttachmentMasterCidr,\n firewallVpcCidr: firewallVpcCidr,\n transitRouterId: tr.transitRouterId,\n routeMode: \"managed\",\n}, {\n dependsOn: [wait10Minutes],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndescription = config.get(\"description\")\nif description is None:\n description = \"Created by Terraform\"\nfirewall_name = config.get(\"firewallName\")\nif firewall_name is None:\n firewall_name = \"tf-example\"\ntr_attachment_master_cidr = config.get(\"trAttachmentMasterCidr\")\nif tr_attachment_master_cidr is None:\n tr_attachment_master_cidr = \"192.168.3.192/26\"\nfirewall_subnet_cidr = config.get(\"firewallSubnetCidr\")\nif firewall_subnet_cidr is None:\n firewall_subnet_cidr = \"192.168.3.0/25\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ntr_attachment_slave_cidr = config.get(\"trAttachmentSlaveCidr\")\nif tr_attachment_slave_cidr is None:\n tr_attachment_slave_cidr = \"192.168.3.128/26\"\nfirewall_vpc_cidr = config.get(\"firewallVpcCidr\")\nif firewall_vpc_cidr is None:\n firewall_vpc_cidr = \"192.168.3.0/24\"\nzone1 = config.get(\"zone1\")\nif zone1 is None:\n zone1 = \"cn-hangzhou-h\"\nfirewall_name_update = config.get(\"firewallNameUpdate\")\nif firewall_name_update is None:\n firewall_name_update = \"tf-example-1\"\nzone2 = config.get(\"zone2\")\nif zone2 is None:\n zone2 = \"cn-hangzhou-i\"\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncen = alicloud.cen.Instance(\"cen\",\n description=\"terraform example\",\n cen_instance_name=name)\ntr = alicloud.cen.TransitRouter(\"tr\",\n transit_router_name=name,\n transit_router_description=\"tr-created-by-terraform\",\n cen_id=cen.id)\nvpc1 = alicloud.vpc.Network(\"vpc1\",\n description=\"created by terraform\",\n cidr_block=\"192.168.1.0/24\",\n vpc_name=name)\nvpc1vsw1 = alicloud.vpc.Switch(\"vpc1vsw1\",\n cidr_block=\"192.168.1.0/25\",\n vswitch_name=name,\n vpc_id=vpc1.id,\n zone_id=default.resources[0].master_zones[1])\nvpc1vsw2 = alicloud.vpc.Switch(\"vpc1vsw2\",\n vpc_id=vpc1.id,\n cidr_block=\"192.168.1.128/26\",\n vswitch_name=name,\n zone_id=default.resources[0].master_zones[2])\nfoo = alicloud.vpc.RouteTable(\"foo\",\n vpc_id=vpc1.id,\n route_table_name=name,\n description=name)\ntr_vpc1 = alicloud.cen.TransitRouterVpcAttachment(\"tr-vpc1\",\n zone_mappings=[\n {\n \"vswitch_id\": vpc1vsw1.id,\n \"zone_id\": default.resources[0].master_zones[1],\n },\n {\n \"zone_id\": default.resources[0].master_zones[2],\n \"vswitch_id\": vpc1vsw2.id,\n },\n ],\n vpc_id=vpc1.id,\n cen_id=cen.id,\n transit_router_id=tr.transit_router_id,\n opts = pulumi.ResourceOptions(depends_on=[foo]))\nwait10_minutes = time.index.Sleep(\"wait_10_minutes\", create_duration=10m,\nopts = pulumi.ResourceOptions(depends_on=[tr_vpc1]))\ndefault_vpc_cen_tr_firewall = alicloud.cloudfirewall.VpcCenTrFirewall(\"default\",\n cen_id=tr_vpc1.cen_id,\n firewall_name=name,\n firewall_subnet_cidr=firewall_subnet_cidr,\n tr_attachment_slave_cidr=tr_attachment_slave_cidr,\n firewall_description=\"VpcCenTrFirewall created by terraform\",\n region_no=region,\n tr_attachment_master_cidr=tr_attachment_master_cidr,\n firewall_vpc_cidr=firewall_vpc_cidr,\n transit_router_id=tr.transit_router_id,\n route_mode=\"managed\",\n opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var description = config.Get(\"description\") ?? \"Created by Terraform\";\n var firewallName = config.Get(\"firewallName\") ?? \"tf-example\";\n var trAttachmentMasterCidr = config.Get(\"trAttachmentMasterCidr\") ?? \"192.168.3.192/26\";\n var firewallSubnetCidr = config.Get(\"firewallSubnetCidr\") ?? \"192.168.3.0/25\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var trAttachmentSlaveCidr = config.Get(\"trAttachmentSlaveCidr\") ?? \"192.168.3.128/26\";\n var firewallVpcCidr = config.Get(\"firewallVpcCidr\") ?? \"192.168.3.0/24\";\n var zone1 = config.Get(\"zone1\") ?? \"cn-hangzhou-h\";\n var firewallNameUpdate = config.Get(\"firewallNameUpdate\") ?? \"tf-example-1\";\n var zone2 = config.Get(\"zone2\") ?? \"cn-hangzhou-i\";\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var cen = new AliCloud.Cen.Instance(\"cen\", new()\n {\n Description = \"terraform example\",\n CenInstanceName = name,\n });\n\n var tr = new AliCloud.Cen.TransitRouter(\"tr\", new()\n {\n TransitRouterName = name,\n TransitRouterDescription = \"tr-created-by-terraform\",\n CenId = cen.Id,\n });\n\n var vpc1 = new AliCloud.Vpc.Network(\"vpc1\", new()\n {\n Description = \"created by terraform\",\n CidrBlock = \"192.168.1.0/24\",\n VpcName = name,\n });\n\n var vpc1vsw1 = new AliCloud.Vpc.Switch(\"vpc1vsw1\", new()\n {\n CidrBlock = \"192.168.1.0/25\",\n VswitchName = name,\n VpcId = vpc1.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1])),\n });\n\n var vpc1vsw2 = new AliCloud.Vpc.Switch(\"vpc1vsw2\", new()\n {\n VpcId = vpc1.Id,\n CidrBlock = \"192.168.1.128/26\",\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[2])),\n });\n\n var foo = new AliCloud.Vpc.RouteTable(\"foo\", new()\n {\n VpcId = vpc1.Id,\n RouteTableName = name,\n Description = name,\n });\n\n var tr_vpc1 = new AliCloud.Cen.TransitRouterVpcAttachment(\"tr-vpc1\", new()\n {\n ZoneMappings = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n VswitchId = vpc1vsw1.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[1])),\n },\n new AliCloud.Cen.Inputs.TransitRouterVpcAttachmentZoneMappingArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[2])),\n VswitchId = vpc1vsw2.Id,\n },\n },\n VpcId = vpc1.Id,\n CenId = cen.Id,\n TransitRouterId = tr.TransitRouterId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n foo,\n },\n });\n\n var wait10Minutes = new Time.Index.Sleep(\"wait_10_minutes\", new()\n {\n CreateDuration = \"10m\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n tr_vpc1,\n },\n });\n\n var defaultVpcCenTrFirewall = new AliCloud.CloudFirewall.VpcCenTrFirewall(\"default\", new()\n {\n CenId = tr_vpc1.CenId,\n FirewallName = name,\n FirewallSubnetCidr = firewallSubnetCidr,\n TrAttachmentSlaveCidr = trAttachmentSlaveCidr,\n FirewallDescription = \"VpcCenTrFirewall created by terraform\",\n RegionNo = region,\n TrAttachmentMasterCidr = trAttachmentMasterCidr,\n FirewallVpcCidr = firewallVpcCidr,\n TransitRouterId = tr.TransitRouterId,\n RouteMode = \"managed\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n wait10Minutes,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdescription := \"Created by Terraform\"\n\t\tif param := cfg.Get(\"description\"); param != \"\" {\n\t\t\tdescription = param\n\t\t}\n\t\tfirewallName := \"tf-example\"\n\t\tif param := cfg.Get(\"firewallName\"); param != \"\" {\n\t\t\tfirewallName = param\n\t\t}\n\t\ttrAttachmentMasterCidr := \"192.168.3.192/26\"\n\t\tif param := cfg.Get(\"trAttachmentMasterCidr\"); param != \"\" {\n\t\t\ttrAttachmentMasterCidr = param\n\t\t}\n\t\tfirewallSubnetCidr := \"192.168.3.0/25\"\n\t\tif param := cfg.Get(\"firewallSubnetCidr\"); param != \"\" {\n\t\t\tfirewallSubnetCidr = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\ttrAttachmentSlaveCidr := \"192.168.3.128/26\"\n\t\tif param := cfg.Get(\"trAttachmentSlaveCidr\"); param != \"\" {\n\t\t\ttrAttachmentSlaveCidr = param\n\t\t}\n\t\tfirewallVpcCidr := \"192.168.3.0/24\"\n\t\tif param := cfg.Get(\"firewallVpcCidr\"); param != \"\" {\n\t\t\tfirewallVpcCidr = param\n\t\t}\n\t\tzone1 := \"cn-hangzhou-h\"\n\t\tif param := cfg.Get(\"zone1\"); param != \"\" {\n\t\t\tzone1 = param\n\t\t}\n\t\tfirewallNameUpdate := \"tf-example-1\"\n\t\tif param := cfg.Get(\"firewallNameUpdate\"); param != \"\" {\n\t\t\tfirewallNameUpdate = param\n\t\t}\n\t\tzone2 := \"cn-hangzhou-i\"\n\t\tif param := cfg.Get(\"zone2\"); param != \"\" {\n\t\t\tzone2 = param\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcen, err := cen.NewInstance(ctx, \"cen\", \u0026cen.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"terraform example\"),\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttr, err := cen.NewTransitRouter(ctx, \"tr\", \u0026cen.TransitRouterArgs{\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t\tTransitRouterDescription: pulumi.String(\"tr-created-by-terraform\"),\n\t\t\tCenId: cen.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1, err := vpc.NewNetwork(ctx, \"vpc1\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"created by terraform\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1vsw1, err := vpc.NewSwitch(ctx, \"vpc1vsw1\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/25\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc1vsw2, err := vpc.NewSwitch(ctx, \"vpc1vsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.128/26\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[2]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := vpc.NewRouteTable(ctx, \"foo\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttr_vpc1, err := cen.NewTransitRouterVpcAttachment(ctx, \"tr-vpc1\", \u0026cen.TransitRouterVpcAttachmentArgs{\n\t\t\tZoneMappings: cen.TransitRouterVpcAttachmentZoneMappingArray{\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tVswitchId: vpc1vsw1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[1]),\n\t\t\t\t},\n\t\t\t\t\u0026cen.TransitRouterVpcAttachmentZoneMappingArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[2]),\n\t\t\t\t\tVswitchId: vpc1vsw2.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: vpc1.ID(),\n\t\t\tCenId: cen.ID(),\n\t\t\tTransitRouterId: tr.TransitRouterId,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfoo,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twait10Minutes, err := time.NewSleep(ctx, \"wait_10_minutes\", \u0026time.SleepArgs{\n\t\t\tCreateDuration: \"10m\",\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\ttr_vpc1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudfirewall.NewVpcCenTrFirewall(ctx, \"default\", \u0026cloudfirewall.VpcCenTrFirewallArgs{\n\t\t\tCenId: tr_vpc1.CenId,\n\t\t\tFirewallName: pulumi.String(name),\n\t\t\tFirewallSubnetCidr: pulumi.String(firewallSubnetCidr),\n\t\t\tTrAttachmentSlaveCidr: pulumi.String(trAttachmentSlaveCidr),\n\t\t\tFirewallDescription: pulumi.String(\"VpcCenTrFirewall created by terraform\"),\n\t\t\tRegionNo: pulumi.String(region),\n\t\t\tTrAttachmentMasterCidr: pulumi.String(trAttachmentMasterCidr),\n\t\t\tFirewallVpcCidr: pulumi.String(firewallVpcCidr),\n\t\t\tTransitRouterId: tr.TransitRouterId,\n\t\t\tRouteMode: pulumi.String(\"managed\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twait10Minutes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpcAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpcAttachmentZoneMappingArgs;\nimport com.pulumi.time.Sleep;\nimport com.pulumi.time.SleepArgs;\nimport com.pulumi.alicloud.cloudfirewall.VpcCenTrFirewall;\nimport com.pulumi.alicloud.cloudfirewall.VpcCenTrFirewallArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var description = config.get(\"description\").orElse(\"Created by Terraform\");\n final var firewallName = config.get(\"firewallName\").orElse(\"tf-example\");\n final var trAttachmentMasterCidr = config.get(\"trAttachmentMasterCidr\").orElse(\"192.168.3.192/26\");\n final var firewallSubnetCidr = config.get(\"firewallSubnetCidr\").orElse(\"192.168.3.0/25\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var trAttachmentSlaveCidr = config.get(\"trAttachmentSlaveCidr\").orElse(\"192.168.3.128/26\");\n final var firewallVpcCidr = config.get(\"firewallVpcCidr\").orElse(\"192.168.3.0/24\");\n final var zone1 = config.get(\"zone1\").orElse(\"cn-hangzhou-h\");\n final var firewallNameUpdate = config.get(\"firewallNameUpdate\").orElse(\"tf-example-1\");\n final var zone2 = config.get(\"zone2\").orElse(\"cn-hangzhou-i\");\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var cen = new Instance(\"cen\", InstanceArgs.builder()\n .description(\"terraform example\")\n .cenInstanceName(name)\n .build());\n\n var tr = new TransitRouter(\"tr\", TransitRouterArgs.builder()\n .transitRouterName(name)\n .transitRouterDescription(\"tr-created-by-terraform\")\n .cenId(cen.id())\n .build());\n\n var vpc1 = new Network(\"vpc1\", NetworkArgs.builder()\n .description(\"created by terraform\")\n .cidrBlock(\"192.168.1.0/24\")\n .vpcName(name)\n .build());\n\n var vpc1vsw1 = new Switch(\"vpc1vsw1\", SwitchArgs.builder()\n .cidrBlock(\"192.168.1.0/25\")\n .vswitchName(name)\n .vpcId(vpc1.id())\n .zoneId(default_.resources()[0].masterZones()[1])\n .build());\n\n var vpc1vsw2 = new Switch(\"vpc1vsw2\", SwitchArgs.builder()\n .vpcId(vpc1.id())\n .cidrBlock(\"192.168.1.128/26\")\n .vswitchName(name)\n .zoneId(default_.resources()[0].masterZones()[2])\n .build());\n\n var foo = new RouteTable(\"foo\", RouteTableArgs.builder()\n .vpcId(vpc1.id())\n .routeTableName(name)\n .description(name)\n .build());\n\n var tr_vpc1 = new TransitRouterVpcAttachment(\"tr-vpc1\", TransitRouterVpcAttachmentArgs.builder()\n .zoneMappings( \n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .vswitchId(vpc1vsw1.id())\n .zoneId(default_.resources()[0].masterZones()[1])\n .build(),\n TransitRouterVpcAttachmentZoneMappingArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[2])\n .vswitchId(vpc1vsw2.id())\n .build())\n .vpcId(vpc1.id())\n .cenId(cen.id())\n .transitRouterId(tr.transitRouterId())\n .build(), CustomResourceOptions.builder()\n .dependsOn(foo)\n .build());\n\n var wait10Minutes = new Sleep(\"wait10Minutes\", SleepArgs.builder()\n .createDuration(\"10m\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(List.of(tr_vpc1))\n .build());\n\n var defaultVpcCenTrFirewall = new VpcCenTrFirewall(\"defaultVpcCenTrFirewall\", VpcCenTrFirewallArgs.builder()\n .cenId(tr_vpc1.cenId())\n .firewallName(name)\n .firewallSubnetCidr(firewallSubnetCidr)\n .trAttachmentSlaveCidr(trAttachmentSlaveCidr)\n .firewallDescription(\"VpcCenTrFirewall created by terraform\")\n .regionNo(region)\n .trAttachmentMasterCidr(trAttachmentMasterCidr)\n .firewallVpcCidr(firewallVpcCidr)\n .transitRouterId(tr.transitRouterId())\n .routeMode(\"managed\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(wait10Minutes)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n description:\n type: string\n default: Created by Terraform\n firewallName:\n type: string\n default: tf-example\n trAttachmentMasterCidr:\n type: string\n default: 192.168.3.192/26\n firewallSubnetCidr:\n type: string\n default: 192.168.3.0/25\n region:\n type: string\n default: cn-hangzhou\n trAttachmentSlaveCidr:\n type: string\n default: 192.168.3.128/26\n firewallVpcCidr:\n type: string\n default: 192.168.3.0/24\n zone1:\n type: string\n default: cn-hangzhou-h\n firewallNameUpdate:\n type: string\n default: tf-example-1\n zone2:\n type: string\n default: cn-hangzhou-i\nresources:\n cen:\n type: alicloud:cen:Instance\n properties:\n description: terraform example\n cenInstanceName: ${name}\n tr:\n type: alicloud:cen:TransitRouter\n properties:\n transitRouterName: ${name}\n transitRouterDescription: tr-created-by-terraform\n cenId: ${cen.id}\n vpc1:\n type: alicloud:vpc:Network\n properties:\n description: created by terraform\n cidrBlock: 192.168.1.0/24\n vpcName: ${name}\n vpc1vsw1:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 192.168.1.0/25\n vswitchName: ${name}\n vpcId: ${vpc1.id}\n zoneId: ${default.resources[0].masterZones[1]}\n vpc1vsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc1.id}\n cidrBlock: 192.168.1.128/26\n vswitchName: ${name}\n zoneId: ${default.resources[0].masterZones[2]}\n foo:\n type: alicloud:vpc:RouteTable\n properties:\n vpcId: ${vpc1.id}\n routeTableName: ${name}\n description: ${name}\n tr-vpc1:\n type: alicloud:cen:TransitRouterVpcAttachment\n properties:\n zoneMappings:\n - vswitchId: ${vpc1vsw1.id}\n zoneId: ${default.resources[0].masterZones[1]}\n - zoneId: ${default.resources[0].masterZones[2]}\n vswitchId: ${vpc1vsw2.id}\n vpcId: ${vpc1.id}\n cenId: ${cen.id}\n transitRouterId: ${tr.transitRouterId}\n options:\n dependsOn:\n - ${foo}\n wait10Minutes:\n type: time:Sleep\n name: wait_10_minutes\n properties:\n createDuration: 10m\n options:\n dependsOn:\n - ${[\"tr-vpc1\"]}\n defaultVpcCenTrFirewall:\n type: alicloud:cloudfirewall:VpcCenTrFirewall\n name: default\n properties:\n cenId: ${[\"tr-vpc1\"].cenId}\n firewallName: ${name}\n firewallSubnetCidr: ${firewallSubnetCidr}\n trAttachmentSlaveCidr: ${trAttachmentSlaveCidr}\n firewallDescription: VpcCenTrFirewall created by terraform\n regionNo: ${region}\n trAttachmentMasterCidr: ${trAttachmentMasterCidr}\n firewallVpcCidr: ${firewallVpcCidr}\n transitRouterId: ${tr.transitRouterId}\n routeMode: managed\n options:\n dependsOn:\n - ${wait10Minutes}\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudfirewall/vpcCenTrFirewall:VpcCenTrFirewall example \u003cid\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -123282,7 +125270,7 @@ } }, "alicloud:cloudmonitor/serviceBasicPublic:ServiceBasicPublic": { - "description": "Provides a Cloud Monitor Service Basic Public resource. \n\nFor information about Cloud Monitor Service Basic Public and how to use it, see [What is Basic Public](https://www.alibabacloud.com/help/en/cms/product-overview/what-is-cloudmonitor).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudmonitor.ServiceBasicPublic(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudmonitor.ServiceBasicPublic(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudMonitor.ServiceBasicPublic(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudmonitor.NewServiceBasicPublic(ctx, \"default\", 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.alicloud.cloudmonitor.ServiceBasicPublic;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceBasicPublic(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudmonitor:ServiceBasicPublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Basic Public can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceBasicPublic:ServiceBasicPublic example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Basic Public resource. \n\nFor information about Cloud Monitor Service Basic Public and how to use it, see [What is Basic Public](https://www.alibabacloud.com/help/en/cms/product-overview/what-is-cloudmonitor).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudmonitor.ServiceBasicPublic(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudmonitor.ServiceBasicPublic(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudMonitor.ServiceBasicPublic(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudmonitor.NewServiceBasicPublic(ctx, \"default\", 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.alicloud.cloudmonitor.ServiceBasicPublic;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceBasicPublic(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudmonitor:ServiceBasicPublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Basic Public can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceBasicPublic:ServiceBasicPublic example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -123304,7 +125292,7 @@ } }, "alicloud:cloudmonitor/serviceEnterprisePublic:ServiceEnterprisePublic": { - "description": "Provides a Cloud Monitor Service Enterprise Public resource. Hybrid Cloud Monitoring.\n\nFor information about Cloud Monitor Service Enterprise Public and how to use it, see [What is Enterprise Public](https://www.alibabacloud.com/help/en/cms/user-guide/overview-3).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudmonitor.ServiceEnterprisePublic(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudmonitor.ServiceEnterprisePublic(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudMonitor.ServiceEnterprisePublic(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudmonitor.NewServiceEnterprisePublic(ctx, \"default\", 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.alicloud.cloudmonitor.ServiceEnterprisePublic;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceEnterprisePublic(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudmonitor:ServiceEnterprisePublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Enterprise Public can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceEnterprisePublic:ServiceEnterprisePublic example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Enterprise Public resource. Hybrid Cloud Monitoring.\n\nFor information about Cloud Monitor Service Enterprise Public and how to use it, see [What is Enterprise Public](https://www.alibabacloud.com/help/en/cms/user-guide/overview-3).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudmonitor.ServiceEnterprisePublic(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudmonitor.ServiceEnterprisePublic(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudMonitor.ServiceEnterprisePublic(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudmonitor.NewServiceEnterprisePublic(ctx, \"default\", 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.alicloud.cloudmonitor.ServiceEnterprisePublic;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceEnterprisePublic(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudmonitor:ServiceEnterprisePublic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Enterprise Public can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceEnterprisePublic:ServiceEnterprisePublic example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -123326,7 +125314,7 @@ } }, "alicloud:cloudmonitor/serviceGroupMonitoringAgentProcess:ServiceGroupMonitoringAgentProcess": { - "description": "Provides a Cloud Monitor Service Group Monitoring Agent Process resource.\n\nFor information about Cloud Monitor Service Group Monitoring Agent Process and how to use it, see [What is Group Monitoring Agent Process](https://www.alibabacloud.com/help/en/cms/developer-reference/api-cms-2019-01-01-creategroupmonitoringagentprocess).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {\n alarmContactGroupName: name,\n contacts: [\n \"user\",\n \"user1\",\n \"user2\",\n ],\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {\n monitorGroupName: name,\n contactGroups: [_default.id],\n});\nconst defaultServiceGroupMonitoringAgentProcess = new alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess(\"default\", {\n groupId: defaultMonitorGroup.id,\n processName: name,\n matchExpressFilterRelation: \"or\",\n matchExpresses: [{\n name: name,\n value: \"*\",\n \"function\": \"all\",\n }],\n alertConfigs: [{\n escalationsLevel: \"critical\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n statistics: \"Average\",\n threshold: \"20\",\n times: \"100\",\n effectiveInterval: \"00:00-22:59\",\n silenceTime: 85800,\n webhook: \"https://www.aliyun.com\",\n targetLists: [{\n targetListId: \"1\",\n jsonParams: \"{}\",\n level: \"WARN\",\n arn: \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\",\n alarm_contact_group_name=name,\n contacts=[\n \"user\",\n \"user1\",\n \"user2\",\n ])\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\",\n monitor_group_name=name,\n contact_groups=[default.id])\ndefault_service_group_monitoring_agent_process = alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess(\"default\",\n group_id=default_monitor_group.id,\n process_name=name,\n match_express_filter_relation=\"or\",\n match_expresses=[{\n \"name\": name,\n \"value\": \"*\",\n \"function\": \"all\",\n }],\n alert_configs=[{\n \"escalations_level\": \"critical\",\n \"comparison_operator\": \"GreaterThanOrEqualToThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"20\",\n \"times\": \"100\",\n \"effective_interval\": \"00:00-22:59\",\n \"silence_time\": 85800,\n \"webhook\": \"https://www.aliyun.com\",\n \"target_lists\": [{\n \"target_list_id\": \"1\",\n \"json_params\": \"{}\",\n \"level\": \"WARN\",\n \"arn\": \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n Contacts = new[]\n {\n \"user\",\n \"user1\",\n \"user2\",\n },\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n ContactGroups = new[]\n {\n @default.Id,\n },\n });\n\n var defaultServiceGroupMonitoringAgentProcess = new AliCloud.CloudMonitor.ServiceGroupMonitoringAgentProcess(\"default\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n ProcessName = name,\n MatchExpressFilterRelation = \"or\",\n MatchExpresses = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessMatchExpressArgs\n {\n Name = name,\n Value = \"*\",\n Function = \"all\",\n },\n },\n AlertConfigs = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessAlertConfigArgs\n {\n EscalationsLevel = \"critical\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n Statistics = \"Average\",\n Threshold = \"20\",\n Times = \"100\",\n EffectiveInterval = \"00:00-22:59\",\n SilenceTime = 85800,\n Webhook = \"https://www.aliyun.com\",\n TargetLists = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs\n {\n TargetListId = \"1\",\n JsonParams = \"{}\",\n Level = \"WARN\",\n Arn = \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t\tContacts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user\"),\n\t\t\t\tpulumi.String(\"user1\"),\n\t\t\t\tpulumi.String(\"user2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t_default.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 = cloudmonitor.NewServiceGroupMonitoringAgentProcess(ctx, \"default\", \u0026cloudmonitor.ServiceGroupMonitoringAgentProcessArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tProcessName: pulumi.String(name),\n\t\t\tMatchExpressFilterRelation: pulumi.String(\"or\"),\n\t\t\tMatchExpresses: cloudmonitor.ServiceGroupMonitoringAgentProcessMatchExpressArray{\n\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessMatchExpressArgs{\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tValue: pulumi.String(\"*\"),\n\t\t\t\t\tFunction: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlertConfigs: cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigArray{\n\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigArgs{\n\t\t\t\t\tEscalationsLevel: pulumi.String(\"critical\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"20\"),\n\t\t\t\t\tTimes: pulumi.String(\"100\"),\n\t\t\t\t\tEffectiveInterval: pulumi.String(\"00:00-22:59\"),\n\t\t\t\t\tSilenceTime: pulumi.Int(85800),\n\t\t\t\t\tWebhook: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tTargetLists: cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArray{\n\t\t\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs{\n\t\t\t\t\t\t\tTargetListId: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tJsonParams: pulumi.String(\"{}\"),\n\t\t\t\t\t\t\tLevel: pulumi.String(\"WARN\"),\n\t\t\t\t\t\t\tArn: pulumi.String(\"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\"),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess;\nimport com.pulumi.alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcessArgs;\nimport com.pulumi.alicloud.cloudmonitor.inputs.ServiceGroupMonitoringAgentProcessMatchExpressArgs;\nimport com.pulumi.alicloud.cloudmonitor.inputs.ServiceGroupMonitoringAgentProcessAlertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .contacts( \n \"user\",\n \"user1\",\n \"user2\")\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .contactGroups(default_.id())\n .build());\n\n var defaultServiceGroupMonitoringAgentProcess = new ServiceGroupMonitoringAgentProcess(\"defaultServiceGroupMonitoringAgentProcess\", ServiceGroupMonitoringAgentProcessArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .processName(name)\n .matchExpressFilterRelation(\"or\")\n .matchExpresses(ServiceGroupMonitoringAgentProcessMatchExpressArgs.builder()\n .name(name)\n .value(\"*\")\n .function(\"all\")\n .build())\n .alertConfigs(ServiceGroupMonitoringAgentProcessAlertConfigArgs.builder()\n .escalationsLevel(\"critical\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .statistics(\"Average\")\n .threshold(\"20\")\n .times(\"100\")\n .effectiveInterval(\"00:00-22:59\")\n .silenceTime(85800)\n .webhook(\"https://www.aliyun.com\")\n .targetLists(ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs.builder()\n .targetListId(\"1\")\n .jsonParams(\"{}\")\n .level(\"WARN\")\n .arn(\"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n contacts:\n - user\n - user1\n - user2\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n contactGroups:\n - ${default.id}\n defaultServiceGroupMonitoringAgentProcess:\n type: alicloud:cloudmonitor:ServiceGroupMonitoringAgentProcess\n name: default\n properties:\n groupId: ${defaultMonitorGroup.id}\n processName: ${name}\n matchExpressFilterRelation: or\n matchExpresses:\n - name: ${name}\n value: '*'\n function: all\n alertConfigs:\n - escalationsLevel: critical\n comparisonOperator: GreaterThanOrEqualToThreshold\n statistics: Average\n threshold: '20'\n times: '100'\n effectiveInterval: 00:00-22:59\n silenceTime: '85800'\n webhook: https://www.aliyun.com\n targetLists:\n - targetListId: '1'\n jsonParams: '{}'\n level: WARN\n arn: acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceGroupMonitoringAgentProcess:ServiceGroupMonitoringAgentProcess example \u003cgroup_id\u003e:\u003cgroup_monitoring_agent_process_id\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Group Monitoring Agent Process resource.\n\nFor information about Cloud Monitor Service Group Monitoring Agent Process and how to use it, see [What is Group Monitoring Agent Process](https://www.alibabacloud.com/help/en/cms/developer-reference/api-cms-2019-01-01-creategroupmonitoringagentprocess).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {\n alarmContactGroupName: name,\n contacts: [\n \"user\",\n \"user1\",\n \"user2\",\n ],\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {\n monitorGroupName: name,\n contactGroups: [_default.id],\n});\nconst defaultServiceGroupMonitoringAgentProcess = new alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess(\"default\", {\n groupId: defaultMonitorGroup.id,\n processName: name,\n matchExpressFilterRelation: \"or\",\n matchExpresses: [{\n name: name,\n value: \"*\",\n \"function\": \"all\",\n }],\n alertConfigs: [{\n escalationsLevel: \"critical\",\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n statistics: \"Average\",\n threshold: \"20\",\n times: \"100\",\n effectiveInterval: \"00:00-22:59\",\n silenceTime: 85800,\n webhook: \"https://www.aliyun.com\",\n targetLists: [{\n targetListId: \"1\",\n jsonParams: \"{}\",\n level: \"WARN\",\n arn: \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\",\n alarm_contact_group_name=name,\n contacts=[\n \"user\",\n \"user1\",\n \"user2\",\n ])\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\",\n monitor_group_name=name,\n contact_groups=[default.id])\ndefault_service_group_monitoring_agent_process = alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess(\"default\",\n group_id=default_monitor_group.id,\n process_name=name,\n match_express_filter_relation=\"or\",\n match_expresses=[{\n \"name\": name,\n \"value\": \"*\",\n \"function\": \"all\",\n }],\n alert_configs=[{\n \"escalations_level\": \"critical\",\n \"comparison_operator\": \"GreaterThanOrEqualToThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"20\",\n \"times\": \"100\",\n \"effective_interval\": \"00:00-22:59\",\n \"silence_time\": 85800,\n \"webhook\": \"https://www.aliyun.com\",\n \"target_lists\": [{\n \"target_list_id\": \"1\",\n \"json_params\": \"{}\",\n \"level\": \"WARN\",\n \"arn\": \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n Contacts = new[]\n {\n \"user\",\n \"user1\",\n \"user2\",\n },\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n ContactGroups = new[]\n {\n @default.Id,\n },\n });\n\n var defaultServiceGroupMonitoringAgentProcess = new AliCloud.CloudMonitor.ServiceGroupMonitoringAgentProcess(\"default\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n ProcessName = name,\n MatchExpressFilterRelation = \"or\",\n MatchExpresses = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessMatchExpressArgs\n {\n Name = name,\n Value = \"*\",\n Function = \"all\",\n },\n },\n AlertConfigs = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessAlertConfigArgs\n {\n EscalationsLevel = \"critical\",\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n Statistics = \"Average\",\n Threshold = \"20\",\n Times = \"100\",\n EffectiveInterval = \"00:00-22:59\",\n SilenceTime = 85800,\n Webhook = \"https://www.aliyun.com\",\n TargetLists = new[]\n {\n new AliCloud.CloudMonitor.Inputs.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs\n {\n TargetListId = \"1\",\n JsonParams = \"{}\",\n Level = \"WARN\",\n Arn = \"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t\tContacts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user\"),\n\t\t\t\tpulumi.String(\"user1\"),\n\t\t\t\tpulumi.String(\"user2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t_default.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 = cloudmonitor.NewServiceGroupMonitoringAgentProcess(ctx, \"default\", \u0026cloudmonitor.ServiceGroupMonitoringAgentProcessArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tProcessName: pulumi.String(name),\n\t\t\tMatchExpressFilterRelation: pulumi.String(\"or\"),\n\t\t\tMatchExpresses: cloudmonitor.ServiceGroupMonitoringAgentProcessMatchExpressArray{\n\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessMatchExpressArgs{\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tValue: pulumi.String(\"*\"),\n\t\t\t\t\tFunction: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlertConfigs: cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigArray{\n\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigArgs{\n\t\t\t\t\tEscalationsLevel: pulumi.String(\"critical\"),\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"20\"),\n\t\t\t\t\tTimes: pulumi.String(\"100\"),\n\t\t\t\t\tEffectiveInterval: pulumi.String(\"00:00-22:59\"),\n\t\t\t\t\tSilenceTime: pulumi.Int(85800),\n\t\t\t\t\tWebhook: pulumi.String(\"https://www.aliyun.com\"),\n\t\t\t\t\tTargetLists: cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArray{\n\t\t\t\t\t\t\u0026cloudmonitor.ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs{\n\t\t\t\t\t\t\tTargetListId: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tJsonParams: pulumi.String(\"{}\"),\n\t\t\t\t\t\t\tLevel: pulumi.String(\"WARN\"),\n\t\t\t\t\t\t\tArn: pulumi.String(\"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\"),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcess;\nimport com.pulumi.alicloud.cloudmonitor.ServiceGroupMonitoringAgentProcessArgs;\nimport com.pulumi.alicloud.cloudmonitor.inputs.ServiceGroupMonitoringAgentProcessMatchExpressArgs;\nimport com.pulumi.alicloud.cloudmonitor.inputs.ServiceGroupMonitoringAgentProcessAlertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .contacts( \n \"user\",\n \"user1\",\n \"user2\")\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .contactGroups(default_.id())\n .build());\n\n var defaultServiceGroupMonitoringAgentProcess = new ServiceGroupMonitoringAgentProcess(\"defaultServiceGroupMonitoringAgentProcess\", ServiceGroupMonitoringAgentProcessArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .processName(name)\n .matchExpressFilterRelation(\"or\")\n .matchExpresses(ServiceGroupMonitoringAgentProcessMatchExpressArgs.builder()\n .name(name)\n .value(\"*\")\n .function(\"all\")\n .build())\n .alertConfigs(ServiceGroupMonitoringAgentProcessAlertConfigArgs.builder()\n .escalationsLevel(\"critical\")\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .statistics(\"Average\")\n .threshold(\"20\")\n .times(\"100\")\n .effectiveInterval(\"00:00-22:59\")\n .silenceTime(85800)\n .webhook(\"https://www.aliyun.com\")\n .targetLists(ServiceGroupMonitoringAgentProcessAlertConfigTargetListArgs.builder()\n .targetListId(\"1\")\n .jsonParams(\"{}\")\n .level(\"WARN\")\n .arn(\"acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n contacts:\n - user\n - user1\n - user2\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n contactGroups:\n - ${default.id}\n defaultServiceGroupMonitoringAgentProcess:\n type: alicloud:cloudmonitor:ServiceGroupMonitoringAgentProcess\n name: default\n properties:\n groupId: ${defaultMonitorGroup.id}\n processName: ${name}\n matchExpressFilterRelation: or\n matchExpresses:\n - name: ${name}\n value: '*'\n function: all\n alertConfigs:\n - escalationsLevel: critical\n comparisonOperator: GreaterThanOrEqualToThreshold\n statistics: Average\n threshold: '20'\n times: '100'\n effectiveInterval: 00:00-22:59\n silenceTime: '85800'\n webhook: https://www.aliyun.com\n targetLists:\n - targetListId: '1'\n jsonParams: '{}'\n level: WARN\n arn: acs:mns:cn-hangzhou:120886317861****:/queues/test123/message\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceGroupMonitoringAgentProcess:ServiceGroupMonitoringAgentProcess example \u003cgroup_id\u003e:\u003cgroup_monitoring_agent_process_id\u003e\n```\n\n", "properties": { "alertConfigs": { "type": "array", @@ -123446,7 +125434,7 @@ } }, "alicloud:cloudmonitor/serviceHybridDoubleWrite:ServiceHybridDoubleWrite": { - "description": "Provides a Cloud Monitor Service Hybrid Double Write resource. \n\nFor information about Cloud Monitor Service Hybrid Double Write and how to use it, see [What is Hybrid Double Write](https://next.api.alibabacloud.com/document/Cms/2018-03-08/CreateHybridDoubleWrite).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst source = new alicloud.cms.Namespace(\"source\", {namespace: name});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {namespace: `${name}-source`});\nconst defaultServiceHybridDoubleWrite = new alicloud.cloudmonitor.ServiceHybridDoubleWrite(\"default\", {\n sourceNamespace: source.id,\n sourceUserId: _default.then(_default =\u003e _default.id),\n namespace: defaultNamespace.id,\n userId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\nsource = alicloud.cms.Namespace(\"source\", namespace=name)\ndefault_namespace = alicloud.cms.Namespace(\"default\", namespace=f\"{name}-source\")\ndefault_service_hybrid_double_write = alicloud.cloudmonitor.ServiceHybridDoubleWrite(\"default\",\n source_namespace=source.id,\n source_user_id=default.id,\n namespace=default_namespace.id,\n user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var source = new AliCloud.Cms.Namespace(\"source\", new()\n {\n NamespaceName = name,\n });\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n NamespaceName = $\"{name}-source\",\n });\n\n var defaultServiceHybridDoubleWrite = new AliCloud.CloudMonitor.ServiceHybridDoubleWrite(\"default\", new()\n {\n SourceNamespace = source.Id,\n SourceUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n Namespace = defaultNamespace.Id,\n UserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := cms.NewNamespace(ctx, \"source\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.Sprintf(\"%v-source\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudmonitor.NewServiceHybridDoubleWrite(ctx, \"default\", \u0026cloudmonitor.ServiceHybridDoubleWriteArgs{\n\t\t\tSourceNamespace: source.ID(),\n\t\t\tSourceUserId: pulumi.String(_default.Id),\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWrite;\nimport com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWriteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var source = new Namespace(\"source\", NamespaceArgs.builder()\n .namespace(name)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespace(String.format(\"%s-source\", name))\n .build());\n\n var defaultServiceHybridDoubleWrite = new ServiceHybridDoubleWrite(\"defaultServiceHybridDoubleWrite\", ServiceHybridDoubleWriteArgs.builder()\n .sourceNamespace(source.id())\n .sourceUserId(default_.id())\n .namespace(defaultNamespace.id())\n .userId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n source:\n type: alicloud:cms:Namespace\n properties:\n namespace: ${name}\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n namespace: ${name}-source\n defaultServiceHybridDoubleWrite:\n type: alicloud:cloudmonitor:ServiceHybridDoubleWrite\n name: default\n properties:\n sourceNamespace: ${source.id}\n sourceUserId: ${default.id}\n namespace: ${defaultNamespace.id}\n userId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Hybrid Double Write can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceHybridDoubleWrite:ServiceHybridDoubleWrite example \u003csource_namespace\u003e:\u003csource_user_id\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Hybrid Double Write resource. \n\nFor information about Cloud Monitor Service Hybrid Double Write and how to use it, see [What is Hybrid Double Write](https://next.api.alibabacloud.com/document/Cms/2018-03-08/CreateHybridDoubleWrite).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst source = new alicloud.cms.Namespace(\"source\", {namespace: name});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {namespace: `${name}-source`});\nconst defaultServiceHybridDoubleWrite = new alicloud.cloudmonitor.ServiceHybridDoubleWrite(\"default\", {\n sourceNamespace: source.id,\n sourceUserId: _default.then(_default =\u003e _default.id),\n namespace: defaultNamespace.id,\n userId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\nsource = alicloud.cms.Namespace(\"source\", namespace=name)\ndefault_namespace = alicloud.cms.Namespace(\"default\", namespace=f\"{name}-source\")\ndefault_service_hybrid_double_write = alicloud.cloudmonitor.ServiceHybridDoubleWrite(\"default\",\n source_namespace=source.id,\n source_user_id=default.id,\n namespace=default_namespace.id,\n user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var source = new AliCloud.Cms.Namespace(\"source\", new()\n {\n NamespaceName = name,\n });\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n NamespaceName = $\"{name}-source\",\n });\n\n var defaultServiceHybridDoubleWrite = new AliCloud.CloudMonitor.ServiceHybridDoubleWrite(\"default\", new()\n {\n SourceNamespace = source.Id,\n SourceUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n Namespace = defaultNamespace.Id,\n UserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := cms.NewNamespace(ctx, \"source\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.Sprintf(\"%v-source\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudmonitor.NewServiceHybridDoubleWrite(ctx, \"default\", \u0026cloudmonitor.ServiceHybridDoubleWriteArgs{\n\t\t\tSourceNamespace: source.ID(),\n\t\t\tSourceUserId: pulumi.String(_default.Id),\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWrite;\nimport com.pulumi.alicloud.cloudmonitor.ServiceHybridDoubleWriteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var source = new Namespace(\"source\", NamespaceArgs.builder()\n .namespace(name)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespace(String.format(\"%s-source\", name))\n .build());\n\n var defaultServiceHybridDoubleWrite = new ServiceHybridDoubleWrite(\"defaultServiceHybridDoubleWrite\", ServiceHybridDoubleWriteArgs.builder()\n .sourceNamespace(source.id())\n .sourceUserId(default_.id())\n .namespace(defaultNamespace.id())\n .userId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n source:\n type: alicloud:cms:Namespace\n properties:\n namespace: ${name}\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n namespace: ${name}-source\n defaultServiceHybridDoubleWrite:\n type: alicloud:cloudmonitor:ServiceHybridDoubleWrite\n name: default\n properties:\n sourceNamespace: ${source.id}\n sourceUserId: ${default.id}\n namespace: ${defaultNamespace.id}\n userId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Hybrid Double Write can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceHybridDoubleWrite:ServiceHybridDoubleWrite example \u003csource_namespace\u003e:\u003csource_user_id\u003e\n```\n\n", "properties": { "namespace": { "type": "string", @@ -123527,7 +125515,7 @@ } }, "alicloud:cloudmonitor/serviceMonitoringAgentProcess:ServiceMonitoringAgentProcess": { - "description": "Provides a Cloud Monitor Service Monitoring Agent Process resource. \n\nFor information about Cloud Monitor Service Monitoring Agent Process and how to use it, see [What is Monitoring Agent Process](https://www.alibabacloud.com/help/en/cms/developer-reference/api-cms-2019-01-01-createmonitoragentprocess).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultSwitch.vpcId,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultServiceMonitoringAgentProcess = new alicloud.cloudmonitor.ServiceMonitoringAgentProcess(\"default\", {\n instanceId: defaultInstance.id,\n processName: name,\n processUser: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_switch.vpc_id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\ndefault_service_monitoring_agent_process = alicloud.cloudmonitor.ServiceMonitoringAgentProcess(\"default\",\n instance_id=default_instance.id,\n process_name=name,\n process_user=\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultServiceMonitoringAgentProcess = new AliCloud.CloudMonitor.ServiceMonitoringAgentProcess(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ProcessName = name,\n ProcessUser = \"root\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultSwitch.VpcId,\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudmonitor.NewServiceMonitoringAgentProcess(ctx, \"default\", \u0026cloudmonitor.ServiceMonitoringAgentProcessArgs{\nInstanceId: defaultInstance.ID(),\nProcessName: pulumi.String(name),\nProcessUser: pulumi.String(\"root\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceMonitoringAgentProcess;\nimport com.pulumi.alicloud.cloudmonitor.ServiceMonitoringAgentProcessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultServiceMonitoringAgentProcess = new ServiceMonitoringAgentProcess(\"defaultServiceMonitoringAgentProcess\", ServiceMonitoringAgentProcessArgs.builder()\n .instanceId(defaultInstance.id())\n .processName(name)\n .processUser(\"root\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Monitoring Agent Process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceMonitoringAgentProcess:ServiceMonitoringAgentProcess example \u003cinstance_id\u003e:\u003cprocess_id\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Monitoring Agent Process resource. \n\nFor information about Cloud Monitor Service Monitoring Agent Process and how to use it, see [What is Monitoring Agent Process](https://www.alibabacloud.com/help/en/cms/developer-reference/api-cms-2019-01-01-createmonitoragentprocess).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultSwitch.vpcId,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultServiceMonitoringAgentProcess = new alicloud.cloudmonitor.ServiceMonitoringAgentProcess(\"default\", {\n instanceId: defaultInstance.id,\n processName: name,\n processUser: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_switch.vpc_id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\ndefault_service_monitoring_agent_process = alicloud.cloudmonitor.ServiceMonitoringAgentProcess(\"default\",\n instance_id=default_instance.id,\n process_name=name,\n process_user=\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultServiceMonitoringAgentProcess = new AliCloud.CloudMonitor.ServiceMonitoringAgentProcess(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ProcessName = name,\n ProcessUser = \"root\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudmonitor\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultSwitch.VpcId,\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudmonitor.NewServiceMonitoringAgentProcess(ctx, \"default\", \u0026cloudmonitor.ServiceMonitoringAgentProcessArgs{\nInstanceId: defaultInstance.ID(),\nProcessName: pulumi.String(name),\nProcessUser: pulumi.String(\"root\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cloudmonitor.ServiceMonitoringAgentProcess;\nimport com.pulumi.alicloud.cloudmonitor.ServiceMonitoringAgentProcessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultServiceMonitoringAgentProcess = new ServiceMonitoringAgentProcess(\"defaultServiceMonitoringAgentProcess\", ServiceMonitoringAgentProcessArgs.builder()\n .instanceId(defaultInstance.id())\n .processName(name)\n .processUser(\"root\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Monitoring Agent Process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudmonitor/serviceMonitoringAgentProcess:ServiceMonitoringAgentProcess example \u003cinstance_id\u003e:\u003cprocess_id\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -123599,7 +125587,7 @@ } }, "alicloud:cloudphone/image:Image": { - "description": "Provides a Cloud Phone Image resource.\n\nCloud phone image.\n\nFor information about Cloud Phone Image and how to use it, see [What is Image](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateCustomImage).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {});\nconst defaultYHMlTO = new alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\", {\n instanceGroupSpec: \"acp.basic.small\",\n policyGroupId: defaultjZ1gi0.id,\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n});\nconst default04hhXk = new alicloud.cloudphoneinstance.CloudPhoneInstance(\"default04hhXk\", {\n androidInstanceGroupId: defaultYHMlTO.id,\n androidInstanceName: \"CreateInstanceName\",\n});\nconst _default = new alicloud.cloudphone.Image(\"default\", {\n imageName: \"ImageName\",\n instanceId: default04hhXk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\")\ndefault_yh_ml_to = alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\",\n instance_group_spec=\"acp.basic.small\",\n policy_group_id=defaultj_z1gi0.id,\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False)\ndefault04hh_xk = alicloud.cloudphoneinstance.CloudPhoneInstance(\"default04hhXk\",\n android_instance_group_id=default_yh_ml_to.id,\n android_instance_name=\"CreateInstanceName\")\ndefault = alicloud.cloudphone.Image(\"default\",\n image_name=\"ImageName\",\n instance_id=default04hh_xk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new AliCloud.CloudPhoneInstance.Group(\"defaultYHMlTO\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n PolicyGroupId = defaultjZ1gi0.Id,\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n });\n\n var default04hhXk = new AliCloud.CloudPhoneInstance.CloudPhoneInstance(\"default04hhXk\", new()\n {\n AndroidInstanceGroupId = defaultYHMlTO.Id,\n AndroidInstanceName = \"CreateInstanceName\",\n });\n\n var @default = new AliCloud.CloudPhone.Image(\"default\", new()\n {\n ImageName = \"ImageName\",\n InstanceId = default04hhXk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultYHMlTO, err := cloudphoneinstance.NewGroup(ctx, \"defaultYHMlTO\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault04hhXk, err := cloudphoneinstance.NewCloudPhoneInstance(ctx, \"default04hhXk\", \u0026cloudphoneinstance.CloudPhoneInstanceArgs{\n\t\t\tAndroidInstanceGroupId: defaultYHMlTO.ID(),\n\t\t\tAndroidInstanceName: pulumi.String(\"CreateInstanceName\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphone.NewImage(ctx, \"default\", \u0026cloudphone.ImageArgs{\n\t\t\tImageName: pulumi.String(\"ImageName\"),\n\t\t\tInstanceId: default04hhXk.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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.GroupArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstance;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstanceArgs;\nimport com.pulumi.alicloud.cloudphone.Image;\nimport com.pulumi.alicloud.cloudphone.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new Group(\"defaultYHMlTO\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .policyGroupId(defaultjZ1gi0.id())\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .build());\n\n var default04hhXk = new CloudPhoneInstance(\"default04hhXk\", CloudPhoneInstanceArgs.builder()\n .androidInstanceGroupId(defaultYHMlTO.id())\n .androidInstanceName(\"CreateInstanceName\")\n .build());\n\n var default_ = new Image(\"default\", ImageArgs.builder()\n .imageName(\"ImageName\")\n .instanceId(default04hhXk.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n defaultYHMlTO:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n policyGroupId: ${defaultjZ1gi0.id}\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n default04hhXk:\n type: alicloud:cloudphoneinstance:CloudPhoneInstance\n properties:\n androidInstanceGroupId: ${defaultYHMlTO.id}\n androidInstanceName: CreateInstanceName\n default:\n type: alicloud:cloudphone:Image\n properties:\n imageName: ImageName\n instanceId: ${default04hhXk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Phone Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/image:Image example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Phone Image resource.\n\nCloud phone image.\n\nFor information about Cloud Phone Image and how to use it, see [What is Image](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateCustomImage).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {});\nconst defaultYHMlTO = new alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\", {\n instanceGroupSpec: \"acp.basic.small\",\n policyGroupId: defaultjZ1gi0.id,\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n});\nconst default04hhXk = new alicloud.cloudphoneinstance.CloudPhoneInstance(\"default04hhXk\", {\n androidInstanceGroupId: defaultYHMlTO.id,\n androidInstanceName: \"CreateInstanceName\",\n});\nconst _default = new alicloud.cloudphone.Image(\"default\", {\n imageName: \"ImageName\",\n instanceId: default04hhXk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\")\ndefault_yh_ml_to = alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\",\n instance_group_spec=\"acp.basic.small\",\n policy_group_id=defaultj_z1gi0.id,\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False)\ndefault04hh_xk = alicloud.cloudphoneinstance.CloudPhoneInstance(\"default04hhXk\",\n android_instance_group_id=default_yh_ml_to.id,\n android_instance_name=\"CreateInstanceName\")\ndefault = alicloud.cloudphone.Image(\"default\",\n image_name=\"ImageName\",\n instance_id=default04hh_xk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new AliCloud.CloudPhoneInstance.Group(\"defaultYHMlTO\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n PolicyGroupId = defaultjZ1gi0.Id,\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n });\n\n var default04hhXk = new AliCloud.CloudPhoneInstance.CloudPhoneInstance(\"default04hhXk\", new()\n {\n AndroidInstanceGroupId = defaultYHMlTO.Id,\n AndroidInstanceName = \"CreateInstanceName\",\n });\n\n var @default = new AliCloud.CloudPhone.Image(\"default\", new()\n {\n ImageName = \"ImageName\",\n InstanceId = default04hhXk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultYHMlTO, err := cloudphoneinstance.NewGroup(ctx, \"defaultYHMlTO\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault04hhXk, err := cloudphoneinstance.NewCloudPhoneInstance(ctx, \"default04hhXk\", \u0026cloudphoneinstance.CloudPhoneInstanceArgs{\n\t\t\tAndroidInstanceGroupId: defaultYHMlTO.ID(),\n\t\t\tAndroidInstanceName: pulumi.String(\"CreateInstanceName\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphone.NewImage(ctx, \"default\", \u0026cloudphone.ImageArgs{\n\t\t\tImageName: pulumi.String(\"ImageName\"),\n\t\t\tInstanceId: default04hhXk.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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.GroupArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstance;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstanceArgs;\nimport com.pulumi.alicloud.cloudphone.Image;\nimport com.pulumi.alicloud.cloudphone.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new Group(\"defaultYHMlTO\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .policyGroupId(defaultjZ1gi0.id())\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .build());\n\n var default04hhXk = new CloudPhoneInstance(\"default04hhXk\", CloudPhoneInstanceArgs.builder()\n .androidInstanceGroupId(defaultYHMlTO.id())\n .androidInstanceName(\"CreateInstanceName\")\n .build());\n\n var default_ = new Image(\"default\", ImageArgs.builder()\n .imageName(\"ImageName\")\n .instanceId(default04hhXk.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n defaultYHMlTO:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n policyGroupId: ${defaultjZ1gi0.id}\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n default04hhXk:\n type: alicloud:cloudphoneinstance:CloudPhoneInstance\n properties:\n androidInstanceGroupId: ${defaultYHMlTO.id}\n androidInstanceName: CreateInstanceName\n default:\n type: alicloud:cloudphone:Image\n properties:\n imageName: ImageName\n instanceId: ${default04hhXk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Phone Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/image:Image example \u003cid\u003e\n```\n\n", "properties": { "imageName": { "type": "string", @@ -123653,7 +125641,7 @@ } }, "alicloud:cloudphone/keyPair:KeyPair": { - "description": "Provides a Cloud Phone Key Pair resource.\n\nCloud Phone KeyPair.\n\nFor information about Cloud Phone Key Pair and how to use it, see [What is Key Pair](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateKeyPair).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {});\nconst defaultYHMlTO = new alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\", {\n instanceGroupSpec: \"acp.basic.small\",\n policyGroupId: defaultjZ1gi0.id,\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n});\nconst defaulthdBep1 = new alicloud.cloudphoneinstance.CloudPhoneInstance(\"defaulthdBep1\", {\n androidInstanceGroupId: defaultYHMlTO.id,\n androidInstanceName: \"CreateInstanceName\",\n});\nconst _default = new alicloud.cloudphone.KeyPair(\"default\", {\n keyPairName: \"example\",\n publicKeyBody: \"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\")\ndefault_yh_ml_to = alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\",\n instance_group_spec=\"acp.basic.small\",\n policy_group_id=defaultj_z1gi0.id,\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False)\ndefaulthd_bep1 = alicloud.cloudphoneinstance.CloudPhoneInstance(\"defaulthdBep1\",\n android_instance_group_id=default_yh_ml_to.id,\n android_instance_name=\"CreateInstanceName\")\ndefault = alicloud.cloudphone.KeyPair(\"default\",\n key_pair_name=\"example\",\n public_key_body=\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new AliCloud.CloudPhoneInstance.Group(\"defaultYHMlTO\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n PolicyGroupId = defaultjZ1gi0.Id,\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n });\n\n var defaulthdBep1 = new AliCloud.CloudPhoneInstance.CloudPhoneInstance(\"defaulthdBep1\", new()\n {\n AndroidInstanceGroupId = defaultYHMlTO.Id,\n AndroidInstanceName = \"CreateInstanceName\",\n });\n\n var @default = new AliCloud.CloudPhone.KeyPair(\"default\", new()\n {\n KeyPairName = \"example\",\n PublicKeyBody = \"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultYHMlTO, err := cloudphoneinstance.NewGroup(ctx, \"defaultYHMlTO\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphoneinstance.NewCloudPhoneInstance(ctx, \"defaulthdBep1\", \u0026cloudphoneinstance.CloudPhoneInstanceArgs{\n\t\t\tAndroidInstanceGroupId: defaultYHMlTO.ID(),\n\t\t\tAndroidInstanceName: pulumi.String(\"CreateInstanceName\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphone.NewKeyPair(ctx, \"default\", \u0026cloudphone.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"example\"),\n\t\t\tPublicKeyBody: pulumi.String(\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.GroupArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstance;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstanceArgs;\nimport com.pulumi.alicloud.cloudphone.KeyPair;\nimport com.pulumi.alicloud.cloudphone.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new Group(\"defaultYHMlTO\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .policyGroupId(defaultjZ1gi0.id())\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .build());\n\n var defaulthdBep1 = new CloudPhoneInstance(\"defaulthdBep1\", CloudPhoneInstanceArgs.builder()\n .androidInstanceGroupId(defaultYHMlTO.id())\n .androidInstanceName(\"CreateInstanceName\")\n .build());\n\n var default_ = new KeyPair(\"default\", KeyPairArgs.builder()\n .keyPairName(\"example\")\n .publicKeyBody(\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n defaultYHMlTO:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n policyGroupId: ${defaultjZ1gi0.id}\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n defaulthdBep1:\n type: alicloud:cloudphoneinstance:CloudPhoneInstance\n properties:\n androidInstanceGroupId: ${defaultYHMlTO.id}\n androidInstanceName: CreateInstanceName\n default:\n type: alicloud:cloudphone:KeyPair\n properties:\n keyPairName: example\n publicKeyBody: QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Phone Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/keyPair:KeyPair example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Phone Key Pair resource.\n\nCloud Phone KeyPair.\n\nFor information about Cloud Phone Key Pair and how to use it, see [What is Key Pair](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateKeyPair).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {});\nconst defaultYHMlTO = new alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\", {\n instanceGroupSpec: \"acp.basic.small\",\n policyGroupId: defaultjZ1gi0.id,\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n});\nconst defaulthdBep1 = new alicloud.cloudphoneinstance.CloudPhoneInstance(\"defaulthdBep1\", {\n androidInstanceGroupId: defaultYHMlTO.id,\n androidInstanceName: \"CreateInstanceName\",\n});\nconst _default = new alicloud.cloudphone.KeyPair(\"default\", {\n keyPairName: \"example\",\n publicKeyBody: \"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\")\ndefault_yh_ml_to = alicloud.cloudphoneinstance.Group(\"defaultYHMlTO\",\n instance_group_spec=\"acp.basic.small\",\n policy_group_id=defaultj_z1gi0.id,\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False)\ndefaulthd_bep1 = alicloud.cloudphoneinstance.CloudPhoneInstance(\"defaulthdBep1\",\n android_instance_group_id=default_yh_ml_to.id,\n android_instance_name=\"CreateInstanceName\")\ndefault = alicloud.cloudphone.KeyPair(\"default\",\n key_pair_name=\"example\",\n public_key_body=\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new AliCloud.CloudPhoneInstance.Group(\"defaultYHMlTO\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n PolicyGroupId = defaultjZ1gi0.Id,\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n });\n\n var defaulthdBep1 = new AliCloud.CloudPhoneInstance.CloudPhoneInstance(\"defaulthdBep1\", new()\n {\n AndroidInstanceGroupId = defaultYHMlTO.Id,\n AndroidInstanceName = \"CreateInstanceName\",\n });\n\n var @default = new AliCloud.CloudPhone.KeyPair(\"default\", new()\n {\n KeyPairName = \"example\",\n PublicKeyBody = \"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultYHMlTO, err := cloudphoneinstance.NewGroup(ctx, \"defaultYHMlTO\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphoneinstance.NewCloudPhoneInstance(ctx, \"defaulthdBep1\", \u0026cloudphoneinstance.CloudPhoneInstanceArgs{\n\t\t\tAndroidInstanceGroupId: defaultYHMlTO.ID(),\n\t\t\tAndroidInstanceName: pulumi.String(\"CreateInstanceName\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphone.NewKeyPair(ctx, \"default\", \u0026cloudphone.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"example\"),\n\t\t\tPublicKeyBody: pulumi.String(\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.GroupArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstance;\nimport com.pulumi.alicloud.cloudphoneinstance.CloudPhoneInstanceArgs;\nimport com.pulumi.alicloud.cloudphone.KeyPair;\nimport com.pulumi.alicloud.cloudphone.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\");\n\n var defaultYHMlTO = new Group(\"defaultYHMlTO\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .policyGroupId(defaultjZ1gi0.id())\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .build());\n\n var defaulthdBep1 = new CloudPhoneInstance(\"defaulthdBep1\", CloudPhoneInstanceArgs.builder()\n .androidInstanceGroupId(defaultYHMlTO.id())\n .androidInstanceName(\"CreateInstanceName\")\n .build());\n\n var default_ = new KeyPair(\"default\", KeyPairArgs.builder()\n .keyPairName(\"example\")\n .publicKeyBody(\"QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n defaultYHMlTO:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n policyGroupId: ${defaultjZ1gi0.id}\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n defaulthdBep1:\n type: alicloud:cloudphoneinstance:CloudPhoneInstance\n properties:\n androidInstanceGroupId: ${defaultYHMlTO.id}\n androidInstanceName: CreateInstanceName\n default:\n type: alicloud:cloudphone:KeyPair\n properties:\n keyPairName: example\n publicKeyBody: QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Phone Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/keyPair:KeyPair example \u003cid\u003e\n```\n\n", "properties": { "keyPairName": { "type": "string", @@ -123696,7 +125684,7 @@ } }, "alicloud:cloudphone/policy:Policy": { - "description": "Provides a Cloud Phone Policy resource.\n\nCloud phone policy.\n\nFor information about Cloud Phone Policy and how to use it, see [What is Policy](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreatePolicyGroup).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudphone.Policy(\"default\", {\n policyGroupName: \"NewPolicyName\",\n resolutionWidth: 720,\n lockResolution: \"on\",\n cameraRedirect: \"on\",\n resolutionHeight: 1280,\n clipboard: \"read\",\n netRedirectPolicy: {\n netRedirect: \"on\",\n customProxy: \"on\",\n proxyType: \"socks5\",\n hostAddr: \"192.168.12.13\",\n port: \"8888\",\n proxyUserName: \"user1\",\n proxyPassword: \"123456\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudphone.Policy(\"default\",\n policy_group_name=\"NewPolicyName\",\n resolution_width=720,\n lock_resolution=\"on\",\n camera_redirect=\"on\",\n resolution_height=1280,\n clipboard=\"read\",\n net_redirect_policy={\n \"net_redirect\": \"on\",\n \"custom_proxy\": \"on\",\n \"proxy_type\": \"socks5\",\n \"host_addr\": \"192.168.12.13\",\n \"port\": \"8888\",\n \"proxy_user_name\": \"user1\",\n \"proxy_password\": \"123456\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudPhone.Policy(\"default\", new()\n {\n PolicyGroupName = \"NewPolicyName\",\n ResolutionWidth = 720,\n LockResolution = \"on\",\n CameraRedirect = \"on\",\n ResolutionHeight = 1280,\n Clipboard = \"read\",\n NetRedirectPolicy = new AliCloud.cloudPhone.Inputs.PolicyNetRedirectPolicyArgs\n {\n NetRedirect = \"on\",\n CustomProxy = \"on\",\n ProxyType = \"socks5\",\n HostAddr = \"192.168.12.13\",\n Port = \"8888\",\n ProxyUserName = \"user1\",\n ProxyPassword = \"123456\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudphone.NewPolicy(ctx, \"default\", \u0026cloudphone.PolicyArgs{\n\t\t\tPolicyGroupName: pulumi.String(\"NewPolicyName\"),\n\t\t\tResolutionWidth: pulumi.Int(720),\n\t\t\tLockResolution: pulumi.String(\"on\"),\n\t\t\tCameraRedirect: pulumi.String(\"on\"),\n\t\t\tResolutionHeight: pulumi.Int(1280),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tNetRedirectPolicy: \u0026cloudphone.PolicyNetRedirectPolicyArgs{\n\t\t\t\tNetRedirect: pulumi.String(\"on\"),\n\t\t\t\tCustomProxy: pulumi.String(\"on\"),\n\t\t\t\tProxyType: pulumi.String(\"socks5\"),\n\t\t\t\tHostAddr: pulumi.String(\"192.168.12.13\"),\n\t\t\t\tPort: pulumi.String(\"8888\"),\n\t\t\t\tProxyUserName: pulumi.String(\"user1\"),\n\t\t\t\tProxyPassword: pulumi.String(\"123456\"),\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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphone.PolicyArgs;\nimport com.pulumi.alicloud.cloudphone.inputs.PolicyNetRedirectPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Policy(\"default\", PolicyArgs.builder()\n .policyGroupName(\"NewPolicyName\")\n .resolutionWidth(720)\n .lockResolution(\"on\")\n .cameraRedirect(\"on\")\n .resolutionHeight(1280)\n .clipboard(\"read\")\n .netRedirectPolicy(PolicyNetRedirectPolicyArgs.builder()\n .netRedirect(\"on\")\n .customProxy(\"on\")\n .proxyType(\"socks5\")\n .hostAddr(\"192.168.12.13\")\n .port(\"8888\")\n .proxyUserName(\"user1\")\n .proxyPassword(\"123456\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudphone:Policy\n properties:\n policyGroupName: NewPolicyName\n resolutionWidth: '720'\n lockResolution: on\n cameraRedirect: on\n resolutionHeight: '1280'\n clipboard: read\n netRedirectPolicy:\n netRedirect: on\n customProxy: on\n proxyType: socks5\n hostAddr: 192.168.12.13\n port: '8888'\n proxyUserName: user1\n proxyPassword: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Phone Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/policy:Policy example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Phone Policy resource.\n\nCloud phone policy.\n\nFor information about Cloud Phone Policy and how to use it, see [What is Policy](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreatePolicyGroup).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cloudphone.Policy(\"default\", {\n policyGroupName: \"NewPolicyName\",\n resolutionWidth: 720,\n lockResolution: \"on\",\n cameraRedirect: \"on\",\n resolutionHeight: 1280,\n clipboard: \"read\",\n netRedirectPolicy: {\n netRedirect: \"on\",\n customProxy: \"on\",\n proxyType: \"socks5\",\n hostAddr: \"192.168.12.13\",\n port: \"8888\",\n proxyUserName: \"user1\",\n proxyPassword: \"123456\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudphone.Policy(\"default\",\n policy_group_name=\"NewPolicyName\",\n resolution_width=720,\n lock_resolution=\"on\",\n camera_redirect=\"on\",\n resolution_height=1280,\n clipboard=\"read\",\n net_redirect_policy={\n \"net_redirect\": \"on\",\n \"custom_proxy\": \"on\",\n \"proxy_type\": \"socks5\",\n \"host_addr\": \"192.168.12.13\",\n \"port\": \"8888\",\n \"proxy_user_name\": \"user1\",\n \"proxy_password\": \"123456\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CloudPhone.Policy(\"default\", new()\n {\n PolicyGroupName = \"NewPolicyName\",\n ResolutionWidth = 720,\n LockResolution = \"on\",\n CameraRedirect = \"on\",\n ResolutionHeight = 1280,\n Clipboard = \"read\",\n NetRedirectPolicy = new AliCloud.cloudPhone.Inputs.PolicyNetRedirectPolicyArgs\n {\n NetRedirect = \"on\",\n CustomProxy = \"on\",\n ProxyType = \"socks5\",\n HostAddr = \"192.168.12.13\",\n Port = \"8888\",\n ProxyUserName = \"user1\",\n ProxyPassword = \"123456\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudphone.NewPolicy(ctx, \"default\", \u0026cloudphone.PolicyArgs{\n\t\t\tPolicyGroupName: pulumi.String(\"NewPolicyName\"),\n\t\t\tResolutionWidth: pulumi.Int(720),\n\t\t\tLockResolution: pulumi.String(\"on\"),\n\t\t\tCameraRedirect: pulumi.String(\"on\"),\n\t\t\tResolutionHeight: pulumi.Int(1280),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tNetRedirectPolicy: \u0026cloudphone.PolicyNetRedirectPolicyArgs{\n\t\t\t\tNetRedirect: pulumi.String(\"on\"),\n\t\t\t\tCustomProxy: pulumi.String(\"on\"),\n\t\t\t\tProxyType: pulumi.String(\"socks5\"),\n\t\t\t\tHostAddr: pulumi.String(\"192.168.12.13\"),\n\t\t\t\tPort: pulumi.String(\"8888\"),\n\t\t\t\tProxyUserName: pulumi.String(\"user1\"),\n\t\t\t\tProxyPassword: pulumi.String(\"123456\"),\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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphone.PolicyArgs;\nimport com.pulumi.alicloud.cloudphone.inputs.PolicyNetRedirectPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Policy(\"default\", PolicyArgs.builder()\n .policyGroupName(\"NewPolicyName\")\n .resolutionWidth(720)\n .lockResolution(\"on\")\n .cameraRedirect(\"on\")\n .resolutionHeight(1280)\n .clipboard(\"read\")\n .netRedirectPolicy(PolicyNetRedirectPolicyArgs.builder()\n .netRedirect(\"on\")\n .customProxy(\"on\")\n .proxyType(\"socks5\")\n .hostAddr(\"192.168.12.13\")\n .port(\"8888\")\n .proxyUserName(\"user1\")\n .proxyPassword(\"123456\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cloudphone:Policy\n properties:\n policyGroupName: NewPolicyName\n resolutionWidth: '720'\n lockResolution: on\n cameraRedirect: on\n resolutionHeight: '1280'\n clipboard: read\n netRedirectPolicy:\n netRedirect: on\n customProxy: on\n proxyType: socks5\n hostAddr: 192.168.12.13\n port: '8888'\n proxyUserName: user1\n proxyPassword: '123456'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Phone Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphone/policy:Policy example \u003cid\u003e\n```\n\n", "properties": { "cameraRedirect": { "type": "string", @@ -123841,7 +125829,7 @@ } }, "alicloud:cloudphoneinstance/group:Group": { - "description": "Provides a Cloud Phone Instance Group resource.\n\n\n\nFor information about Cloud Phone Instance Group and how to use it, see [What is Instance Group](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateAndroidInstanceGroup).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {\n lockResolution: \"off\",\n resolutionWidth: 720,\n cameraRedirect: \"on\",\n policyGroupName: \"defaultPolicyGroup\",\n resolutionHeight: 1280,\n clipboard: \"readwrite\",\n netRedirectPolicy: {\n netRedirect: \"off\",\n customProxy: \"off\",\n },\n});\nconst defaultH2a5KS = new alicloud.eds.SimpleOfficeSite(\"defaultH2a5KS\", {\n officeSiteName: \"InitOfficeSite\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = new alicloud.cloudphoneinstance.Group(\"default\", {\n instanceGroupSpec: \"acp.basic.small\",\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n policyGroupId: defaultjZ1gi0.id,\n officeSiteId: defaultH2a5KS.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\",\n lock_resolution=\"off\",\n resolution_width=720,\n camera_redirect=\"on\",\n policy_group_name=\"defaultPolicyGroup\",\n resolution_height=1280,\n clipboard=\"readwrite\",\n net_redirect_policy={\n \"net_redirect\": \"off\",\n \"custom_proxy\": \"off\",\n })\ndefault_h2a5_ks = alicloud.eds.SimpleOfficeSite(\"defaultH2a5KS\",\n office_site_name=\"InitOfficeSite\",\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudphoneinstance.Group(\"default\",\n instance_group_spec=\"acp.basic.small\",\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False,\n policy_group_id=defaultj_z1gi0.id,\n office_site_id=default_h2a5_ks.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\", new()\n {\n LockResolution = \"off\",\n ResolutionWidth = 720,\n CameraRedirect = \"on\",\n PolicyGroupName = \"defaultPolicyGroup\",\n ResolutionHeight = 1280,\n Clipboard = \"readwrite\",\n NetRedirectPolicy = new AliCloud.cloudPhone.Inputs.PolicyNetRedirectPolicyArgs\n {\n NetRedirect = \"off\",\n CustomProxy = \"off\",\n },\n });\n\n var defaultH2a5KS = new AliCloud.Eds.SimpleOfficeSite(\"defaultH2a5KS\", new()\n {\n OfficeSiteName = \"InitOfficeSite\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = new AliCloud.CloudPhoneInstance.Group(\"default\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n PolicyGroupId = defaultjZ1gi0.Id,\n OfficeSiteId = defaultH2a5KS.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", \u0026cloudphone.PolicyArgs{\n\t\t\tLockResolution: pulumi.String(\"off\"),\n\t\t\tResolutionWidth: pulumi.Int(720),\n\t\t\tCameraRedirect: pulumi.String(\"on\"),\n\t\t\tPolicyGroupName: pulumi.String(\"defaultPolicyGroup\"),\n\t\t\tResolutionHeight: pulumi.Int(1280),\n\t\t\tClipboard: pulumi.String(\"readwrite\"),\n\t\t\tNetRedirectPolicy: \u0026cloudphone.PolicyNetRedirectPolicyArgs{\n\t\t\t\tNetRedirect: pulumi.String(\"off\"),\n\t\t\t\tCustomProxy: pulumi.String(\"off\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultH2a5KS, err := eds.NewSimpleOfficeSite(ctx, \"defaultH2a5KS\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tOfficeSiteName: pulumi.String(\"InitOfficeSite\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphoneinstance.NewGroup(ctx, \"default\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tOfficeSiteId: defaultH2a5KS.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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphone.PolicyArgs;\nimport com.pulumi.alicloud.cloudphone.inputs.PolicyNetRedirectPolicyArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\", PolicyArgs.builder()\n .lockResolution(\"off\")\n .resolutionWidth(720)\n .cameraRedirect(\"on\")\n .policyGroupName(\"defaultPolicyGroup\")\n .resolutionHeight(1280)\n .clipboard(\"readwrite\")\n .netRedirectPolicy(PolicyNetRedirectPolicyArgs.builder()\n .netRedirect(\"off\")\n .customProxy(\"off\")\n .build())\n .build());\n\n var defaultH2a5KS = new SimpleOfficeSite(\"defaultH2a5KS\", SimpleOfficeSiteArgs.builder()\n .officeSiteName(\"InitOfficeSite\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default_ = new Group(\"default\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .policyGroupId(defaultjZ1gi0.id())\n .officeSiteId(defaultH2a5KS.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-hangzhou\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n properties:\n lockResolution: off\n resolutionWidth: '720'\n cameraRedirect: on\n policyGroupName: defaultPolicyGroup\n resolutionHeight: '1280'\n clipboard: readwrite\n netRedirectPolicy:\n netRedirect: off\n customProxy: off\n defaultH2a5KS:\n type: alicloud:eds:SimpleOfficeSite\n properties:\n officeSiteName: InitOfficeSite\n cidrBlock: 172.16.0.0/12\n default:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n policyGroupId: ${defaultjZ1gi0.id}\n officeSiteId: ${defaultH2a5KS.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Phone Instance Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphoneinstance/group:Group example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Phone Instance Group resource.\n\n\n\nFor information about Cloud Phone Instance Group and how to use it, see [What is Instance Group](https://next.api.alibabacloud.com/document/eds-aic/2023-09-30/CreateAndroidInstanceGroup).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst defaultjZ1gi0 = new alicloud.cloudphone.Policy(\"defaultjZ1gi0\", {\n lockResolution: \"off\",\n resolutionWidth: 720,\n cameraRedirect: \"on\",\n policyGroupName: \"defaultPolicyGroup\",\n resolutionHeight: 1280,\n clipboard: \"readwrite\",\n netRedirectPolicy: {\n netRedirect: \"off\",\n customProxy: \"off\",\n },\n});\nconst defaultH2a5KS = new alicloud.eds.SimpleOfficeSite(\"defaultH2a5KS\", {\n officeSiteName: \"InitOfficeSite\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = new alicloud.cloudphoneinstance.Group(\"default\", {\n instanceGroupSpec: \"acp.basic.small\",\n instanceGroupName: \"AutoCreateGroupName\",\n period: 1,\n numberOfInstances: 1,\n chargeType: \"PostPaid\",\n imageId: \"imgc-075cllfeuazh03tg9\",\n periodUnit: \"Hour\",\n autoRenew: false,\n amount: 1,\n autoPay: false,\n gpuAcceleration: false,\n policyGroupId: defaultjZ1gi0.id,\n officeSiteId: defaultH2a5KS.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndefaultj_z1gi0 = alicloud.cloudphone.Policy(\"defaultjZ1gi0\",\n lock_resolution=\"off\",\n resolution_width=720,\n camera_redirect=\"on\",\n policy_group_name=\"defaultPolicyGroup\",\n resolution_height=1280,\n clipboard=\"readwrite\",\n net_redirect_policy={\n \"net_redirect\": \"off\",\n \"custom_proxy\": \"off\",\n })\ndefault_h2a5_ks = alicloud.eds.SimpleOfficeSite(\"defaultH2a5KS\",\n office_site_name=\"InitOfficeSite\",\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudphoneinstance.Group(\"default\",\n instance_group_spec=\"acp.basic.small\",\n instance_group_name=\"AutoCreateGroupName\",\n period=1,\n number_of_instances=1,\n charge_type=\"PostPaid\",\n image_id=\"imgc-075cllfeuazh03tg9\",\n period_unit=\"Hour\",\n auto_renew=False,\n amount=1,\n auto_pay=False,\n gpu_acceleration=False,\n policy_group_id=defaultj_z1gi0.id,\n office_site_id=default_h2a5_ks.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var defaultjZ1gi0 = new AliCloud.CloudPhone.Policy(\"defaultjZ1gi0\", new()\n {\n LockResolution = \"off\",\n ResolutionWidth = 720,\n CameraRedirect = \"on\",\n PolicyGroupName = \"defaultPolicyGroup\",\n ResolutionHeight = 1280,\n Clipboard = \"readwrite\",\n NetRedirectPolicy = new AliCloud.cloudPhone.Inputs.PolicyNetRedirectPolicyArgs\n {\n NetRedirect = \"off\",\n CustomProxy = \"off\",\n },\n });\n\n var defaultH2a5KS = new AliCloud.Eds.SimpleOfficeSite(\"defaultH2a5KS\", new()\n {\n OfficeSiteName = \"InitOfficeSite\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = new AliCloud.CloudPhoneInstance.Group(\"default\", new()\n {\n InstanceGroupSpec = \"acp.basic.small\",\n InstanceGroupName = \"AutoCreateGroupName\",\n Period = 1,\n NumberOfInstances = 1,\n ChargeType = \"PostPaid\",\n ImageId = \"imgc-075cllfeuazh03tg9\",\n PeriodUnit = \"Hour\",\n AutoRenew = false,\n Amount = 1,\n AutoPay = false,\n GpuAcceleration = false,\n PolicyGroupId = defaultjZ1gi0.Id,\n OfficeSiteId = defaultH2a5KS.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphone\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudphoneinstance\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultjZ1gi0, err := cloudphone.NewPolicy(ctx, \"defaultjZ1gi0\", \u0026cloudphone.PolicyArgs{\n\t\t\tLockResolution: pulumi.String(\"off\"),\n\t\t\tResolutionWidth: pulumi.Int(720),\n\t\t\tCameraRedirect: pulumi.String(\"on\"),\n\t\t\tPolicyGroupName: pulumi.String(\"defaultPolicyGroup\"),\n\t\t\tResolutionHeight: pulumi.Int(1280),\n\t\t\tClipboard: pulumi.String(\"readwrite\"),\n\t\t\tNetRedirectPolicy: \u0026cloudphone.PolicyNetRedirectPolicyArgs{\n\t\t\t\tNetRedirect: pulumi.String(\"off\"),\n\t\t\t\tCustomProxy: pulumi.String(\"off\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultH2a5KS, err := eds.NewSimpleOfficeSite(ctx, \"defaultH2a5KS\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tOfficeSiteName: pulumi.String(\"InitOfficeSite\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudphoneinstance.NewGroup(ctx, \"default\", \u0026cloudphoneinstance.GroupArgs{\n\t\t\tInstanceGroupSpec: pulumi.String(\"acp.basic.small\"),\n\t\t\tInstanceGroupName: pulumi.String(\"AutoCreateGroupName\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tNumberOfInstances: pulumi.Int(1),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tImageId: pulumi.String(\"imgc-075cllfeuazh03tg9\"),\n\t\t\tPeriodUnit: pulumi.String(\"Hour\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(false),\n\t\t\tGpuAcceleration: pulumi.Bool(false),\n\t\t\tPolicyGroupId: defaultjZ1gi0.ID(),\n\t\t\tOfficeSiteId: defaultH2a5KS.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.alicloud.cloudphone.Policy;\nimport com.pulumi.alicloud.cloudphone.PolicyArgs;\nimport com.pulumi.alicloud.cloudphone.inputs.PolicyNetRedirectPolicyArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.cloudphoneinstance.Group;\nimport com.pulumi.alicloud.cloudphoneinstance.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n var defaultjZ1gi0 = new Policy(\"defaultjZ1gi0\", PolicyArgs.builder()\n .lockResolution(\"off\")\n .resolutionWidth(720)\n .cameraRedirect(\"on\")\n .policyGroupName(\"defaultPolicyGroup\")\n .resolutionHeight(1280)\n .clipboard(\"readwrite\")\n .netRedirectPolicy(PolicyNetRedirectPolicyArgs.builder()\n .netRedirect(\"off\")\n .customProxy(\"off\")\n .build())\n .build());\n\n var defaultH2a5KS = new SimpleOfficeSite(\"defaultH2a5KS\", SimpleOfficeSiteArgs.builder()\n .officeSiteName(\"InitOfficeSite\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default_ = new Group(\"default\", GroupArgs.builder()\n .instanceGroupSpec(\"acp.basic.small\")\n .instanceGroupName(\"AutoCreateGroupName\")\n .period(1)\n .numberOfInstances(1)\n .chargeType(\"PostPaid\")\n .imageId(\"imgc-075cllfeuazh03tg9\")\n .periodUnit(\"Hour\")\n .autoRenew(false)\n .amount(1)\n .autoPay(false)\n .gpuAcceleration(false)\n .policyGroupId(defaultjZ1gi0.id())\n .officeSiteId(defaultH2a5KS.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-hangzhou\nresources:\n defaultjZ1gi0:\n type: alicloud:cloudphone:Policy\n properties:\n lockResolution: off\n resolutionWidth: '720'\n cameraRedirect: on\n policyGroupName: defaultPolicyGroup\n resolutionHeight: '1280'\n clipboard: readwrite\n netRedirectPolicy:\n netRedirect: off\n customProxy: off\n defaultH2a5KS:\n type: alicloud:eds:SimpleOfficeSite\n properties:\n officeSiteName: InitOfficeSite\n cidrBlock: 172.16.0.0/12\n default:\n type: alicloud:cloudphoneinstance:Group\n properties:\n instanceGroupSpec: acp.basic.small\n instanceGroupName: AutoCreateGroupName\n period: '1'\n numberOfInstances: '1'\n chargeType: PostPaid\n imageId: imgc-075cllfeuazh03tg9\n periodUnit: Hour\n autoRenew: false\n amount: '1'\n autoPay: false\n gpuAcceleration: false\n policyGroupId: ${defaultjZ1gi0.id}\n officeSiteId: ${defaultH2a5KS.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Phone Instance Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudphoneinstance/group:Group example \u003cid\u003e\n```\n\n", "properties": { "amount": { "type": "integer", @@ -124047,7 +126035,7 @@ } }, "alicloud:cloudsso/accessConfiguration:AccessConfiguration": { - "description": "Provides a Cloud SSO Access Configuration resource.\n\nFor information about Cloud SSO Access Configuration and how to use it, see [What is Access Configuration](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createaccessconfiguration).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n directoryId: _default.then(_default =\u003e _default.directories?.[0]?.id),\n accessConfigurationName: name,\n permissionPolicies: [{\n permissionPolicyType: \"Inline\",\n permissionPolicyName: name,\n permissionPolicyDocument: ` {\n \\\\\"Statement\\\\\":[\n {\n \\\\\"Action\\\\\":\\\\\"ecs:Get*\\\\\",\n \\\\\"Effect\\\\\":\\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\":[\n \\\\\"*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n directory_id=default.directories[0].id,\n access_configuration_name=name,\n permission_policies=[{\n \"permission_policy_type\": \"Inline\",\n \"permission_policy_name\": name,\n \"permission_policy_document\": \"\"\" {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n DirectoryId = @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Directories[0]?.Id)),\n AccessConfigurationName = name,\n PermissionPolicies = new[]\n {\n new AliCloud.CloudSso.Inputs.AccessConfigurationPermissionPolicyArgs\n {\n PermissionPolicyType = \"Inline\",\n PermissionPolicyName = name,\n PermissionPolicyDocument = @\" {\n \\\"\"Statement\\\"\":[\n {\n \\\"\"Action\\\"\":\\\"\"ecs:Get*\\\"\",\n \\\"\"Effect\\\"\":\\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\":[\n \\\"\"*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\n\t\t\tDirectoryId: pulumi.String(_default.Directories[0].Id),\n\t\t\tAccessConfigurationName: pulumi.String(name),\n\t\t\tPermissionPolicies: cloudsso.AccessConfigurationPermissionPolicyArray{\n\t\t\t\t\u0026cloudsso.AccessConfigurationPermissionPolicyArgs{\n\t\t\t\t\tPermissionPolicyType: pulumi.String(\"Inline\"),\n\t\t\t\t\tPermissionPolicyName: pulumi.String(name),\n\t\t\t\t\tPermissionPolicyDocument: pulumi.String(` {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.inputs.AccessConfigurationPermissionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .directoryId(default_.directories()[0].id())\n .accessConfigurationName(name)\n .permissionPolicies(AccessConfigurationPermissionPolicyArgs.builder()\n .permissionPolicyType(\"Inline\")\n .permissionPolicyName(name)\n .permissionPolicyDocument(\"\"\"\n {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultAccessConfiguration:\n type: alicloud:cloudsso:AccessConfiguration\n name: default\n properties:\n directoryId: ${default.directories[0].id}\n accessConfigurationName: ${name}\n permissionPolicies:\n - permissionPolicyType: Inline\n permissionPolicyName: ${name}\n permissionPolicyDocument: |2\n {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudsso:getDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Access Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessConfiguration:AccessConfiguration example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO Access Configuration resource.\n\nFor information about Cloud SSO Access Configuration and how to use it, see [What is Access Configuration](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createaccessconfiguration).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n directoryId: _default.then(_default =\u003e _default.directories?.[0]?.id),\n accessConfigurationName: name,\n permissionPolicies: [{\n permissionPolicyType: \"Inline\",\n permissionPolicyName: name,\n permissionPolicyDocument: ` {\n \\\\\"Statement\\\\\":[\n {\n \\\\\"Action\\\\\":\\\\\"ecs:Get*\\\\\",\n \\\\\"Effect\\\\\":\\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\":[\n \\\\\"*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n directory_id=default.directories[0].id,\n access_configuration_name=name,\n permission_policies=[{\n \"permission_policy_type\": \"Inline\",\n \"permission_policy_name\": name,\n \"permission_policy_document\": \"\"\" {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n DirectoryId = @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Directories[0]?.Id)),\n AccessConfigurationName = name,\n PermissionPolicies = new[]\n {\n new AliCloud.CloudSso.Inputs.AccessConfigurationPermissionPolicyArgs\n {\n PermissionPolicyType = \"Inline\",\n PermissionPolicyName = name,\n PermissionPolicyDocument = @\" {\n \\\"\"Statement\\\"\":[\n {\n \\\"\"Action\\\"\":\\\"\"ecs:Get*\\\"\",\n \\\"\"Effect\\\"\":\\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\":[\n \\\"\"*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\n\t\t\tDirectoryId: pulumi.String(_default.Directories[0].Id),\n\t\t\tAccessConfigurationName: pulumi.String(name),\n\t\t\tPermissionPolicies: cloudsso.AccessConfigurationPermissionPolicyArray{\n\t\t\t\t\u0026cloudsso.AccessConfigurationPermissionPolicyArgs{\n\t\t\t\t\tPermissionPolicyType: pulumi.String(\"Inline\"),\n\t\t\t\t\tPermissionPolicyName: pulumi.String(name),\n\t\t\t\t\tPermissionPolicyDocument: pulumi.String(` {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.inputs.AccessConfigurationPermissionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .directoryId(default_.directories()[0].id())\n .accessConfigurationName(name)\n .permissionPolicies(AccessConfigurationPermissionPolicyArgs.builder()\n .permissionPolicyType(\"Inline\")\n .permissionPolicyName(name)\n .permissionPolicyDocument(\"\"\"\n {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultAccessConfiguration:\n type: alicloud:cloudsso:AccessConfiguration\n name: default\n properties:\n directoryId: ${default.directories[0].id}\n accessConfigurationName: ${name}\n permissionPolicies:\n - permissionPolicyType: Inline\n permissionPolicyName: ${name}\n permissionPolicyDocument: |2\n {\n \\\"Statement\\\":[\n {\n \\\"Action\\\":\\\"ecs:Get*\\\",\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":[\n \\\"*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudsso:getDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Access Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessConfiguration:AccessConfiguration example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e\n```\n\n", "properties": { "accessConfigurationId": { "type": "string", @@ -124175,7 +126163,7 @@ } }, "alicloud:cloudsso/accessConfigurationProvisioning:AccessConfigurationProvisioning": { - "description": "Provides a Cloud SSO Access Configuration Provisioning resource.\n\nFor information about Cloud SSO Access Configuration Provisioning and how to use it, see [What is Access Configuration Provisioning](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-addpermissionpolicytoaccessconfiguration).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultGetResourceDirectories = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n accessConfigurationName: `${name}-${defaultInteger.result}`,\n directoryId: directoryId,\n});\nconst defaultAccessConfigurationProvisioning = new alicloud.cloudsso.AccessConfigurationProvisioning(\"default\", {\n directoryId: directoryId,\n accessConfigurationId: defaultAccessConfiguration.accessConfigurationId,\n targetType: \"RD-Account\",\n targetId: defaultGetResourceDirectories.then(defaultGetResourceDirectories =\u003e defaultGetResourceDirectories.directories?.[0]?.masterAccountId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_get_resource_directories = alicloud.resourcemanager.get_resource_directories()\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n access_configuration_name=f\"{name}-{default_integer['result']}\",\n directory_id=directory_id)\ndefault_access_configuration_provisioning = alicloud.cloudsso.AccessConfigurationProvisioning(\"default\",\n directory_id=directory_id,\n access_configuration_id=default_access_configuration.access_configuration_id,\n target_type=\"RD-Account\",\n target_id=default_get_resource_directories.directories[0].master_account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultGetResourceDirectories = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n AccessConfigurationName = $\"{name}-{defaultInteger.Result}\",\n DirectoryId = directoryId,\n });\n\n var defaultAccessConfigurationProvisioning = new AliCloud.CloudSso.AccessConfigurationProvisioning(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationId = defaultAccessConfiguration.AccessConfigurationId,\n TargetType = \"RD-Account\",\n TargetId = defaultGetResourceDirectories.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories[0]?.MasterAccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceDirectories, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:14,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultAccessConfiguration, err := cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\nAccessConfigurationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nDirectoryId: pulumi.Any(directoryId),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewAccessConfigurationProvisioning(ctx, \"default\", \u0026cloudsso.AccessConfigurationProvisioningArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationId: defaultAccessConfiguration.AccessConfigurationId,\nTargetType: pulumi.String(\"RD-Account\"),\nTargetId: pulumi.String(defaultGetResourceDirectories.Directories[0].MasterAccountId),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationProvisioning;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationProvisioningArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n final var defaultGetResourceDirectories = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .accessConfigurationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .directoryId(directoryId)\n .build());\n\n var defaultAccessConfigurationProvisioning = new AccessConfigurationProvisioning(\"defaultAccessConfigurationProvisioning\", AccessConfigurationProvisioningArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationId(defaultAccessConfiguration.accessConfigurationId())\n .targetType(\"RD-Account\")\n .targetId(defaultGetResourceDirectories.directories()[0].masterAccountId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Access Configuration Provisioning can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessConfigurationProvisioning:AccessConfigurationProvisioning example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e:\u003ctarget_type\u003e:\u003ctarget_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO Access Configuration Provisioning resource.\n\nFor information about Cloud SSO Access Configuration Provisioning and how to use it, see [What is Access Configuration Provisioning](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-addpermissionpolicytoaccessconfiguration).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultGetResourceDirectories = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n accessConfigurationName: `${name}-${defaultInteger.result}`,\n directoryId: directoryId,\n});\nconst defaultAccessConfigurationProvisioning = new alicloud.cloudsso.AccessConfigurationProvisioning(\"default\", {\n directoryId: directoryId,\n accessConfigurationId: defaultAccessConfiguration.accessConfigurationId,\n targetType: \"RD-Account\",\n targetId: defaultGetResourceDirectories.then(defaultGetResourceDirectories =\u003e defaultGetResourceDirectories.directories?.[0]?.masterAccountId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_get_resource_directories = alicloud.resourcemanager.get_resource_directories()\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n access_configuration_name=f\"{name}-{default_integer['result']}\",\n directory_id=directory_id)\ndefault_access_configuration_provisioning = alicloud.cloudsso.AccessConfigurationProvisioning(\"default\",\n directory_id=directory_id,\n access_configuration_id=default_access_configuration.access_configuration_id,\n target_type=\"RD-Account\",\n target_id=default_get_resource_directories.directories[0].master_account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultGetResourceDirectories = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n AccessConfigurationName = $\"{name}-{defaultInteger.Result}\",\n DirectoryId = directoryId,\n });\n\n var defaultAccessConfigurationProvisioning = new AliCloud.CloudSso.AccessConfigurationProvisioning(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationId = defaultAccessConfiguration.AccessConfigurationId,\n TargetType = \"RD-Account\",\n TargetId = defaultGetResourceDirectories.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories[0]?.MasterAccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceDirectories, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:14,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultAccessConfiguration, err := cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\nAccessConfigurationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nDirectoryId: pulumi.Any(directoryId),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewAccessConfigurationProvisioning(ctx, \"default\", \u0026cloudsso.AccessConfigurationProvisioningArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationId: defaultAccessConfiguration.AccessConfigurationId,\nTargetType: pulumi.String(\"RD-Account\"),\nTargetId: pulumi.String(defaultGetResourceDirectories.Directories[0].MasterAccountId),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationProvisioning;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationProvisioningArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n final var defaultGetResourceDirectories = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .accessConfigurationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .directoryId(directoryId)\n .build());\n\n var defaultAccessConfigurationProvisioning = new AccessConfigurationProvisioning(\"defaultAccessConfigurationProvisioning\", AccessConfigurationProvisioningArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationId(defaultAccessConfiguration.accessConfigurationId())\n .targetType(\"RD-Account\")\n .targetId(defaultGetResourceDirectories.directories()[0].masterAccountId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Access Configuration Provisioning can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessConfigurationProvisioning:AccessConfigurationProvisioning example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e:\u003ctarget_type\u003e:\u003ctarget_id\u003e\n```\n\n", "properties": { "accessConfigurationId": { "type": "string", @@ -124269,7 +126257,7 @@ } }, "alicloud:cloudsso/accessManagement:AccessManagement": { - "description": "Provides a Cloud SSO Access Assignment resource.\n\nFor information about Cloud SSO Access Assignment and how to use it, see [What is Access Assignment](https://www.alibabacloud.com/help/en/cloudsso/developer-reference/api-cloudsso-2021-05-15-createaccessassignment).\n\n\u003e **NOTE:** When you configure access assignment for the first time, access configuration will be automatically deployed.\n\n\u003e **NOTE:** Available since v1.145.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultGetResourceDirectories = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n directoryId: directoryId,\n accessConfigurationName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessManagement = new alicloud.cloudsso.AccessManagement(\"default\", {\n directoryId: directoryId,\n accessConfigurationId: defaultAccessConfiguration.accessConfigurationId,\n targetType: \"RD-Account\",\n targetId: defaultGetResourceDirectories.then(defaultGetResourceDirectories =\u003e defaultGetResourceDirectories.directories?.[0]?.masterAccountId),\n principalType: \"User\",\n principalId: defaultUser.userId,\n deprovisionStrategy: \"DeprovisionForLastAccessAssignmentOnAccount\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_get_resource_directories = alicloud.resourcemanager.get_resource_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n directory_id=directory_id,\n access_configuration_name=f\"{name}-{default_integer['result']}\")\ndefault_access_management = alicloud.cloudsso.AccessManagement(\"default\",\n directory_id=directory_id,\n access_configuration_id=default_access_configuration.access_configuration_id,\n target_type=\"RD-Account\",\n target_id=default_get_resource_directories.directories[0].master_account_id,\n principal_type=\"User\",\n principal_id=default_user.user_id,\n deprovision_strategy=\"DeprovisionForLastAccessAssignmentOnAccount\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultGetResourceDirectories = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessManagement = new AliCloud.CloudSso.AccessManagement(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationId = defaultAccessConfiguration.AccessConfigurationId,\n TargetType = \"RD-Account\",\n TargetId = defaultGetResourceDirectories.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories[0]?.MasterAccountId),\n PrincipalType = \"User\",\n PrincipalId = defaultUser.UserId,\n DeprovisionStrategy = \"DeprovisionForLastAccessAssignmentOnAccount\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceDirectories, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:45,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultAccessConfiguration, err := cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewAccessManagement(ctx, \"default\", \u0026cloudsso.AccessManagementArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationId: defaultAccessConfiguration.AccessConfigurationId,\nTargetType: pulumi.String(\"RD-Account\"),\nTargetId: pulumi.String(defaultGetResourceDirectories.Directories[0].MasterAccountId),\nPrincipalType: pulumi.String(\"User\"),\nPrincipalId: defaultUser.UserId,\nDeprovisionStrategy: pulumi.String(\"DeprovisionForLastAccessAssignmentOnAccount\"),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.AccessManagement;\nimport com.pulumi.alicloud.cloudsso.AccessManagementArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n final var defaultGetResourceDirectories = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessManagement = new AccessManagement(\"defaultAccessManagement\", AccessManagementArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationId(defaultAccessConfiguration.accessConfigurationId())\n .targetType(\"RD-Account\")\n .targetId(defaultGetResourceDirectories.directories()[0].masterAccountId())\n .principalType(\"User\")\n .principalId(defaultUser.userId())\n .deprovisionStrategy(\"DeprovisionForLastAccessAssignmentOnAccount\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Access Assignment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessManagement:AccessManagement example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e:\u003ctarget_type\u003e:\u003ctarget_id\u003e:\u003cprincipal_type\u003e:\u003cprincipal_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO Access Assignment resource.\n\nFor information about Cloud SSO Access Assignment and how to use it, see [What is Access Assignment](https://www.alibabacloud.com/help/en/cloudsso/developer-reference/api-cloudsso-2021-05-15-createaccessassignment).\n\n\u003e **NOTE:** When you configure access assignment for the first time, access configuration will be automatically deployed.\n\n\u003e **NOTE:** Available since v1.145.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultGetResourceDirectories = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessConfiguration = new alicloud.cloudsso.AccessConfiguration(\"default\", {\n directoryId: directoryId,\n accessConfigurationName: `${name}-${defaultInteger.result}`,\n});\nconst defaultAccessManagement = new alicloud.cloudsso.AccessManagement(\"default\", {\n directoryId: directoryId,\n accessConfigurationId: defaultAccessConfiguration.accessConfigurationId,\n targetType: \"RD-Account\",\n targetId: defaultGetResourceDirectories.then(defaultGetResourceDirectories =\u003e defaultGetResourceDirectories.directories?.[0]?.masterAccountId),\n principalType: \"User\",\n principalId: defaultUser.userId,\n deprovisionStrategy: \"DeprovisionForLastAccessAssignmentOnAccount\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_get_resource_directories = alicloud.resourcemanager.get_resource_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_access_configuration = alicloud.cloudsso.AccessConfiguration(\"default\",\n directory_id=directory_id,\n access_configuration_name=f\"{name}-{default_integer['result']}\")\ndefault_access_management = alicloud.cloudsso.AccessManagement(\"default\",\n directory_id=directory_id,\n access_configuration_id=default_access_configuration.access_configuration_id,\n target_type=\"RD-Account\",\n target_id=default_get_resource_directories.directories[0].master_account_id,\n principal_type=\"User\",\n principal_id=default_user.user_id,\n deprovision_strategy=\"DeprovisionForLastAccessAssignmentOnAccount\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultGetResourceDirectories = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessConfiguration = new AliCloud.CloudSso.AccessConfiguration(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultAccessManagement = new AliCloud.CloudSso.AccessManagement(\"default\", new()\n {\n DirectoryId = directoryId,\n AccessConfigurationId = defaultAccessConfiguration.AccessConfigurationId,\n TargetType = \"RD-Account\",\n TargetId = defaultGetResourceDirectories.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories[0]?.MasterAccountId),\n PrincipalType = \"User\",\n PrincipalId = defaultUser.UserId,\n DeprovisionStrategy = \"DeprovisionForLastAccessAssignmentOnAccount\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceDirectories, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:45,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultAccessConfiguration, err := cloudsso.NewAccessConfiguration(ctx, \"default\", \u0026cloudsso.AccessConfigurationArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewAccessManagement(ctx, \"default\", \u0026cloudsso.AccessManagementArgs{\nDirectoryId: pulumi.Any(directoryId),\nAccessConfigurationId: defaultAccessConfiguration.AccessConfigurationId,\nTargetType: pulumi.String(\"RD-Account\"),\nTargetId: pulumi.String(defaultGetResourceDirectories.Directories[0].MasterAccountId),\nPrincipalType: pulumi.String(\"User\"),\nPrincipalId: defaultUser.UserId,\nDeprovisionStrategy: pulumi.String(\"DeprovisionForLastAccessAssignmentOnAccount\"),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.AccessConfiguration;\nimport com.pulumi.alicloud.cloudsso.AccessConfigurationArgs;\nimport com.pulumi.alicloud.cloudsso.AccessManagement;\nimport com.pulumi.alicloud.cloudsso.AccessManagementArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n final var defaultGetResourceDirectories = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessConfiguration = new AccessConfiguration(\"defaultAccessConfiguration\", AccessConfigurationArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultAccessManagement = new AccessManagement(\"defaultAccessManagement\", AccessManagementArgs.builder()\n .directoryId(directoryId)\n .accessConfigurationId(defaultAccessConfiguration.accessConfigurationId())\n .targetType(\"RD-Account\")\n .targetId(defaultGetResourceDirectories.directories()[0].masterAccountId())\n .principalType(\"User\")\n .principalId(defaultUser.userId())\n .deprovisionStrategy(\"DeprovisionForLastAccessAssignmentOnAccount\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Access Assignment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/accessManagement:AccessManagement example \u003cdirectory_id\u003e:\u003caccess_configuration_id\u003e:\u003ctarget_type\u003e:\u003ctarget_id\u003e:\u003cprincipal_type\u003e:\u003cprincipal_id\u003e\n```\n\n", "properties": { "accessConfigurationId": { "type": "string", @@ -124403,7 +126391,7 @@ } }, "alicloud:cloudsso/delegateAccount:DelegateAccount": { - "description": "Provides a Cloud SSO Delegate Account resource.\n\nDelegated Administrator Account.\n\nFor information about Cloud SSO Delegate Account and how to use it, see [What is Delegate Account](https://next.api.alibabacloud.com/document/cloudsso/2021-05-15/EnableDelegateAccount).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst defaultDelegatedAdministrator = new alicloud.resourcemanager.DelegatedAdministrator(\"default\", {\n accountId: _default.then(_default =\u003e _default.accounts?.[0]?.accountId),\n servicePrincipal: \"cloudsso.aliyuncs.com\",\n});\nconst defaultDelegateAccount = new alicloud.cloudsso.DelegateAccount(\"default\", {accountId: defaultDelegatedAdministrator.accountId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\ndefault_delegated_administrator = alicloud.resourcemanager.DelegatedAdministrator(\"default\",\n account_id=default.accounts[0].account_id,\n service_principal=\"cloudsso.aliyuncs.com\")\ndefault_delegate_account = alicloud.cloudsso.DelegateAccount(\"default\", account_id=default_delegated_administrator.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var defaultDelegatedAdministrator = new AliCloud.ResourceManager.DelegatedAdministrator(\"default\", new()\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts[0]?.AccountId)),\n ServicePrincipal = \"cloudsso.aliyuncs.com\",\n });\n\n var defaultDelegateAccount = new AliCloud.CloudSso.DelegateAccount(\"default\", new()\n {\n AccountId = defaultDelegatedAdministrator.AccountId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDelegatedAdministrator, err := resourcemanager.NewDelegatedAdministrator(ctx, \"default\", \u0026resourcemanager.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(_default.Accounts[0].AccountId),\n\t\t\tServicePrincipal: pulumi.String(\"cloudsso.aliyuncs.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewDelegateAccount(ctx, \"default\", \u0026cloudsso.DelegateAccountArgs{\n\t\t\tAccountId: defaultDelegatedAdministrator.AccountId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministrator;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministratorArgs;\nimport com.pulumi.alicloud.cloudsso.DelegateAccount;\nimport com.pulumi.alicloud.cloudsso.DelegateAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n var defaultDelegatedAdministrator = new DelegatedAdministrator(\"defaultDelegatedAdministrator\", DelegatedAdministratorArgs.builder()\n .accountId(default_.accounts()[0].accountId())\n .servicePrincipal(\"cloudsso.aliyuncs.com\")\n .build());\n\n var defaultDelegateAccount = new DelegateAccount(\"defaultDelegateAccount\", DelegateAccountArgs.builder()\n .accountId(defaultDelegatedAdministrator.accountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDelegatedAdministrator:\n type: alicloud:resourcemanager:DelegatedAdministrator\n name: default\n properties:\n accountId: ${default.accounts[0].accountId}\n servicePrincipal: cloudsso.aliyuncs.com\n defaultDelegateAccount:\n type: alicloud:cloudsso:DelegateAccount\n name: default\n properties:\n accountId: ${defaultDelegatedAdministrator.accountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments:\n status: CreateSuccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Delegate Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/delegateAccount:DelegateAccount example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud SSO Delegate Account resource.\n\nDelegated Administrator Account.\n\nFor information about Cloud SSO Delegate Account and how to use it, see [What is Delegate Account](https://next.api.alibabacloud.com/document/cloudsso/2021-05-15/EnableDelegateAccount).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst defaultDelegatedAdministrator = new alicloud.resourcemanager.DelegatedAdministrator(\"default\", {\n accountId: _default.then(_default =\u003e _default.accounts?.[0]?.accountId),\n servicePrincipal: \"cloudsso.aliyuncs.com\",\n});\nconst defaultDelegateAccount = new alicloud.cloudsso.DelegateAccount(\"default\", {accountId: defaultDelegatedAdministrator.accountId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\ndefault_delegated_administrator = alicloud.resourcemanager.DelegatedAdministrator(\"default\",\n account_id=default.accounts[0].account_id,\n service_principal=\"cloudsso.aliyuncs.com\")\ndefault_delegate_account = alicloud.cloudsso.DelegateAccount(\"default\", account_id=default_delegated_administrator.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var defaultDelegatedAdministrator = new AliCloud.ResourceManager.DelegatedAdministrator(\"default\", new()\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts[0]?.AccountId)),\n ServicePrincipal = \"cloudsso.aliyuncs.com\",\n });\n\n var defaultDelegateAccount = new AliCloud.CloudSso.DelegateAccount(\"default\", new()\n {\n AccountId = defaultDelegatedAdministrator.AccountId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDelegatedAdministrator, err := resourcemanager.NewDelegatedAdministrator(ctx, \"default\", \u0026resourcemanager.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(_default.Accounts[0].AccountId),\n\t\t\tServicePrincipal: pulumi.String(\"cloudsso.aliyuncs.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewDelegateAccount(ctx, \"default\", \u0026cloudsso.DelegateAccountArgs{\n\t\t\tAccountId: defaultDelegatedAdministrator.AccountId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministrator;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministratorArgs;\nimport com.pulumi.alicloud.cloudsso.DelegateAccount;\nimport com.pulumi.alicloud.cloudsso.DelegateAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n var defaultDelegatedAdministrator = new DelegatedAdministrator(\"defaultDelegatedAdministrator\", DelegatedAdministratorArgs.builder()\n .accountId(default_.accounts()[0].accountId())\n .servicePrincipal(\"cloudsso.aliyuncs.com\")\n .build());\n\n var defaultDelegateAccount = new DelegateAccount(\"defaultDelegateAccount\", DelegateAccountArgs.builder()\n .accountId(defaultDelegatedAdministrator.accountId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDelegatedAdministrator:\n type: alicloud:resourcemanager:DelegatedAdministrator\n name: default\n properties:\n accountId: ${default.accounts[0].accountId}\n servicePrincipal: cloudsso.aliyuncs.com\n defaultDelegateAccount:\n type: alicloud:cloudsso:DelegateAccount\n name: default\n properties:\n accountId: ${defaultDelegatedAdministrator.accountId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments:\n status: CreateSuccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Delegate Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/delegateAccount:DelegateAccount example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -124436,7 +126424,7 @@ } }, "alicloud:cloudsso/directory:Directory": { - "description": "Provides a Cloud SSO Directory resource.\n\n\n\nFor information about Cloud SSO Directory and how to use it, see [What is Directory](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createdirectory).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cloudsso.Directory(\"default\", {directoryName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.Directory(\"default\", directory_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.CloudSso.Directory(\"default\", new()\n {\n DirectoryName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudsso.NewDirectory(ctx, \"default\", \u0026cloudsso.DirectoryArgs{\n\t\t\tDirectoryName: pulumi.String(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.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Directory(\"default\", DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cloudsso:Directory\n properties:\n directoryName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/directory:Directory example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud SSO Directory resource.\n\n\n\nFor information about Cloud SSO Directory and how to use it, see [What is Directory](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createdirectory).\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cloudsso.Directory(\"default\", {directoryName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.Directory(\"default\", directory_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.CloudSso.Directory(\"default\", new()\n {\n DirectoryName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cloudsso.NewDirectory(ctx, \"default\", \u0026cloudsso.DirectoryArgs{\n\t\t\tDirectoryName: pulumi.String(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.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Directory(\"default\", DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cloudsso:Directory\n properties:\n directoryName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/directory:Directory example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -124589,7 +126577,7 @@ } }, "alicloud:cloudsso/group:Group": { - "description": "Provides a Cloud SSO Group resource.\n\nFor information about Cloud SSO Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-creategroup).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:13,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\n_, err = cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/group:Group example \u003cdirectory_id\u003e:\u003cgroup_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO Group resource.\n\nFor information about Cloud SSO Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-creategroup).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:13,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\n_, err = cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/group:Group example \u003cdirectory_id\u003e:\u003cgroup_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -124657,7 +126645,7 @@ } }, "alicloud:cloudsso/scimServerCredential:ScimServerCredential": { - "description": "Provides a Cloud SSO SCIM Server Credential resource.\n\nFor information about Cloud SSO SCIM Server Credential and how to use it, see [What is Cloud SSO SCIM Server Credential](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createscimservercredential).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultScimServerCredential = new alicloud.cloudsso.ScimServerCredential(\"default\", {\n directoryId: _default.then(_default =\u003e _default.directories?.[0]?.id),\n credentialSecretFile: \"./credential_secret_file.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_scim_server_credential = alicloud.cloudsso.ScimServerCredential(\"default\",\n directory_id=default.directories[0].id,\n credential_secret_file=\"./credential_secret_file.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultScimServerCredential = new AliCloud.CloudSso.ScimServerCredential(\"default\", new()\n {\n DirectoryId = @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Directories[0]?.Id)),\n CredentialSecretFile = \"./credential_secret_file.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewScimServerCredential(ctx, \"default\", \u0026cloudsso.ScimServerCredentialArgs{\n\t\t\tDirectoryId: pulumi.String(_default.Directories[0].Id),\n\t\t\tCredentialSecretFile: pulumi.String(\"./credential_secret_file.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.ScimServerCredential;\nimport com.pulumi.alicloud.cloudsso.ScimServerCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultScimServerCredential = new ScimServerCredential(\"defaultScimServerCredential\", ScimServerCredentialArgs.builder()\n .directoryId(default_.directories()[0].id())\n .credentialSecretFile(\"./credential_secret_file.txt\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultScimServerCredential:\n type: alicloud:cloudsso:ScimServerCredential\n name: default\n properties:\n directoryId: ${default.directories[0].id}\n credentialSecretFile: ./credential_secret_file.txt\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudsso:getDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO SCIM Server Credential can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/scimServerCredential:ScimServerCredential example \u003cdirectory_id\u003e:\u003ccredential_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO SCIM Server Credential resource.\n\nFor information about Cloud SSO SCIM Server Credential and how to use it, see [What is Cloud SSO SCIM Server Credential](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createscimservercredential).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultScimServerCredential = new alicloud.cloudsso.ScimServerCredential(\"default\", {\n directoryId: _default.then(_default =\u003e _default.directories?.[0]?.id),\n credentialSecretFile: \"./credential_secret_file.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_scim_server_credential = alicloud.cloudsso.ScimServerCredential(\"default\",\n directory_id=default.directories[0].id,\n credential_secret_file=\"./credential_secret_file.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultScimServerCredential = new AliCloud.CloudSso.ScimServerCredential(\"default\", new()\n {\n DirectoryId = @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Directories[0]?.Id)),\n CredentialSecretFile = \"./credential_secret_file.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudsso.NewScimServerCredential(ctx, \"default\", \u0026cloudsso.ScimServerCredentialArgs{\n\t\t\tDirectoryId: pulumi.String(_default.Directories[0].Id),\n\t\t\tCredentialSecretFile: pulumi.String(\"./credential_secret_file.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.alicloud.cloudsso.ScimServerCredential;\nimport com.pulumi.alicloud.cloudsso.ScimServerCredentialArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultScimServerCredential = new ScimServerCredential(\"defaultScimServerCredential\", ScimServerCredentialArgs.builder()\n .directoryId(default_.directories()[0].id())\n .credentialSecretFile(\"./credential_secret_file.txt\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultScimServerCredential:\n type: alicloud:cloudsso:ScimServerCredential\n name: default\n properties:\n directoryId: ${default.directories[0].id}\n credentialSecretFile: ./credential_secret_file.txt\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudsso:getDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO SCIM Server Credential can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/scimServerCredential:ScimServerCredential example \u003cdirectory_id\u003e:\u003ccredential_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -124753,7 +126741,7 @@ } }, "alicloud:cloudsso/user:User": { - "description": "Provides a Cloud Sso User resource.\n\n\n\nFor information about Cloud Sso User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createuser).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:26,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\n_, err = cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Sso User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/user:User example \u003cdirectory_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Cloud Sso User resource.\n\n\n\nFor information about Cloud Sso User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-createuser).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:26,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\n_, err = cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Sso User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/user:User example \u003cdirectory_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -124942,7 +126930,7 @@ } }, "alicloud:cloudsso/userAttachment:UserAttachment": { - "description": "Provides a Cloud SSO User Attachment resource.\n\nFor information about Cloud SSO User Attachment and how to use it, see [What is User Attachment](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-addusertogroup).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\nconst defaultUserAttachment = new alicloud.cloudsso.UserAttachment(\"default\", {\n directoryId: directoryId,\n userId: defaultUser.userId,\n groupId: defaultGroup.groupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\ndefault_user_attachment = alicloud.cloudsso.UserAttachment(\"default\",\n directory_id=directory_id,\n user_id=default_user.user_id,\n group_id=default_group.group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n var defaultUserAttachment = new AliCloud.CloudSso.UserAttachment(\"default\", new()\n {\n DirectoryId = directoryId,\n UserId = defaultUser.UserId,\n GroupId = defaultGroup.GroupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:40,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultGroup, err := cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUserAttachment(ctx, \"default\", \u0026cloudsso.UserAttachmentArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserId: defaultUser.UserId,\nGroupId: defaultGroup.GroupId,\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.alicloud.cloudsso.UserAttachment;\nimport com.pulumi.alicloud.cloudsso.UserAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n var defaultUserAttachment = new UserAttachment(\"defaultUserAttachment\", UserAttachmentArgs.builder()\n .directoryId(directoryId)\n .userId(defaultUser.userId())\n .groupId(defaultGroup.groupId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/userAttachment:UserAttachment example \u003cdirectory_id\u003e:\u003cgroup_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO User Attachment resource.\n\nFor information about Cloud SSO User Attachment and how to use it, see [What is User Attachment](https://www.alibabacloud.com/help/en/cloudsso/latest/api-cloudsso-2021-05-15-addusertogroup).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n\u003e **NOTE:** Cloud SSO Only Support `cn-shanghai` And `us-west-1` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\n_default.then(_default =\u003e _default.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([_default.then(_default =\u003e _default.ids).length, _default, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, _default, invoke]) =\u003e length \u003e 0 ? _default.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\nconst defaultUserAttachment = new alicloud.cloudsso.UserAttachment(\"default\", {\n directoryId: directoryId,\n userId: defaultUser.userId,\n groupId: defaultGroup.groupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default.ids).apply(lambda length: default.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\ndefault_user_attachment = alicloud.cloudsso.UserAttachment(\"default\",\n directory_id=directory_id,\n user_id=default_user.user_id,\n group_id=default_group.group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(@default.Apply(@default =\u003e @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids)).Length, @default, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var @default = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? @default.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n var defaultUserAttachment = new AliCloud.CloudSso.UserAttachment(\"default\", new()\n {\n DirectoryId = directoryId,\n UserId = defaultUser.UserId,\n GroupId = defaultGroup.GroupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(_default.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = _default.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:40,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(_default.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\ndefaultGroup, err := cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUserAttachment(ctx, \"default\", \u0026cloudsso.UserAttachmentArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserId: defaultUser.UserId,\nGroupId: defaultGroup.GroupId,\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.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.alicloud.cloudsso.UserAttachment;\nimport com.pulumi.alicloud.cloudsso.UserAttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = default_.ids().length().applyValue(_length -\u003e _length \u003e 0 ? default_.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n var defaultUserAttachment = new UserAttachment(\"defaultUserAttachment\", UserAttachmentArgs.builder()\n .directoryId(directoryId)\n .userId(defaultUser.userId())\n .groupId(defaultGroup.groupId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/userAttachment:UserAttachment example \u003cdirectory_id\u003e:\u003cgroup_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "directoryId": { "type": "string", @@ -125007,7 +126995,7 @@ } }, "alicloud:cloudsso/userProvisioning:UserProvisioning": { - "description": "Provides a Cloud SSO User Provisioning resource.\n\nRAM user synchronization.\n\nFor information about Cloud SSO User Provisioning and how to use it, see [What is User Provisioning](https://next.api.alibabacloud.com/document/cloudsso/2021-05-15/CreateUserProvisioning).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetDirectories = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\ndefaultGetDirectories.then(defaultGetDirectories =\u003e defaultGetDirectories.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([defaultGetDirectories.then(defaultGetDirectories =\u003e defaultGetDirectories.ids).length, defaultGetDirectories, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, defaultGetDirectories, invoke]) =\u003e length \u003e 0 ? defaultGetDirectories.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\nconst defaultUserProvisioning = new alicloud.cloudsso.UserProvisioning(\"default\", {\n description: \"description\",\n principalId: defaultUser.userId,\n targetType: \"RD-Account\",\n deletionStrategy: \"Keep\",\n duplicationStrategy: \"KeepBoth\",\n principalType: \"User\",\n targetId: _default.then(_default =\u003e _default.id),\n directoryId: defaultUser.directoryId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_get_directories = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default_get_directories.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default_get_directories.ids).apply(lambda length: default_get_directories.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\ndefault_user_provisioning = alicloud.cloudsso.UserProvisioning(\"default\",\n description=\"description\",\n principal_id=default_user.user_id,\n target_type=\"RD-Account\",\n deletion_strategy=\"Keep\",\n duplication_strategy=\"KeepBoth\",\n principal_type=\"User\",\n target_id=default.id,\n directory_id=default_user.directory_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetDirectories = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids).Length, defaultGetDirectories, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetDirectories = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n var defaultUserProvisioning = new AliCloud.CloudSso.UserProvisioning(\"default\", new()\n {\n Description = \"description\",\n PrincipalId = defaultUser.UserId,\n TargetType = \"RD-Account\",\n DeletionStrategy = \"Keep\",\n DuplicationStrategy = \"KeepBoth\",\n PrincipalType = \"User\",\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n DirectoryId = defaultUser.DirectoryId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetDirectories, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(defaultGetDirectories.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = defaultGetDirectories.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:47,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(defaultGetDirectories.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUserProvisioning(ctx, \"default\", \u0026cloudsso.UserProvisioningArgs{\nDescription: pulumi.String(\"description\"),\nPrincipalId: defaultUser.UserId,\nTargetType: pulumi.String(\"RD-Account\"),\nDeletionStrategy: pulumi.String(\"Keep\"),\nDuplicationStrategy: pulumi.String(\"KeepBoth\"),\nPrincipalType: pulumi.String(\"User\"),\nTargetId: pulumi.String(_default.Id),\nDirectoryId: defaultUser.DirectoryId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.alicloud.cloudsso.UserProvisioning;\nimport com.pulumi.alicloud.cloudsso.UserProvisioningArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetDirectories = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c defaultGetDirectories.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = defaultGetDirectories.ids().length().applyValue(_length -\u003e _length \u003e 0 ? defaultGetDirectories.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n var defaultUserProvisioning = new UserProvisioning(\"defaultUserProvisioning\", UserProvisioningArgs.builder()\n .description(\"description\")\n .principalId(defaultUser.userId())\n .targetType(\"RD-Account\")\n .deletionStrategy(\"Keep\")\n .duplicationStrategy(\"KeepBoth\")\n .principalType(\"User\")\n .targetId(default_.id())\n .directoryId(defaultUser.directoryId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud SSO User Provisioning can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/userProvisioning:UserProvisioning example \u003cdirectory_id\u003e:\u003cuser_provisioning_id\u003e\n```\n\n", + "description": "Provides a Cloud SSO User Provisioning resource.\n\nRAM user synchronization.\n\nFor information about Cloud SSO User Provisioning and how to use it, see [What is User Provisioning](https://next.api.alibabacloud.com/document/cloudsso/2021-05-15/CreateUserProvisioning).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetDirectories = alicloud.cloudsso.getDirectories({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDirectory: alicloud.cloudsso.Directory[] = [];\ndefaultGetDirectories.then(defaultGetDirectories =\u003e defaultGetDirectories.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultDirectory.push(new alicloud.cloudsso.Directory(`default-${range.value}`, {directoryName: name}));\n }\n});\nconst directoryId = pulumi.all([defaultGetDirectories.then(defaultGetDirectories =\u003e defaultGetDirectories.ids).length, defaultGetDirectories, std.concat({\n input: [\n defaultDirectory.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, defaultGetDirectories, invoke]) =\u003e length \u003e 0 ? defaultGetDirectories.ids?.[0] : invoke.result?.[0]);\nconst defaultUser = new alicloud.cloudsso.User(\"default\", {\n directoryId: directoryId,\n userName: `${name}-${defaultInteger.result}`,\n});\nconst defaultGroup = new alicloud.cloudsso.Group(\"default\", {\n directoryId: directoryId,\n groupName: name,\n description: name,\n});\nconst defaultUserProvisioning = new alicloud.cloudsso.UserProvisioning(\"default\", {\n description: \"description\",\n principalId: defaultUser.userId,\n targetType: \"RD-Account\",\n deletionStrategy: \"Keep\",\n duplicationStrategy: \"KeepBoth\",\n principalType: \"User\",\n targetId: _default.then(_default =\u003e _default.id),\n directoryId: defaultUser.directoryId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_get_directories = alicloud.cloudsso.get_directories()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_directory.append(alicloud.cloudsso.Directory(f\"default-{range['value']}\", directory_name=name))\n\nlen(default_get_directories.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndirectory_id = len(default_get_directories.ids).apply(lambda length: default_get_directories.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in default_directory],\n [\"\"],\n]).result[0])\ndefault_user = alicloud.cloudsso.User(\"default\",\n directory_id=directory_id,\n user_name=f\"{name}-{default_integer['result']}\")\ndefault_group = alicloud.cloudsso.Group(\"default\",\n directory_id=directory_id,\n group_name=name,\n description=name)\ndefault_user_provisioning = alicloud.cloudsso.UserProvisioning(\"default\",\n description=\"description\",\n principal_id=default_user.user_id,\n target_type=\"RD-Account\",\n deletion_strategy=\"Keep\",\n duplication_strategy=\"KeepBoth\",\n principal_type=\"User\",\n target_id=default.id,\n directory_id=default_user.directory_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetDirectories = AliCloud.CloudSso.GetDirectories.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDirectory = new List\u003cAliCloud.CloudSso.Directory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultDirectory.Add(new AliCloud.CloudSso.Directory($\"default-{range.Value}\", new()\n {\n DirectoryName = name,\n }));\n }\n var directoryId = Output.Tuple(defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids).Length, defaultGetDirectories, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n defaultDirectory.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetDirectories = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? defaultGetDirectories.Apply(getDirectoriesResult =\u003e getDirectoriesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultUser = new AliCloud.CloudSso.User(\"default\", new()\n {\n DirectoryId = directoryId,\n UserName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultGroup = new AliCloud.CloudSso.Group(\"default\", new()\n {\n DirectoryId = directoryId,\n GroupName = name,\n Description = name,\n });\n\n var defaultUserProvisioning = new AliCloud.CloudSso.UserProvisioning(\"default\", new()\n {\n Description = \"description\",\n PrincipalId = defaultUser.UserId,\n TargetType = \"RD-Account\",\n DeletionStrategy = \"Keep\",\n DuplicationStrategy = \"KeepBoth\",\n PrincipalType = \"User\",\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n DirectoryId = defaultUser.DirectoryId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudsso\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetDirectories, err := cloudsso.GetDirectories(ctx, \u0026cloudsso.GetDirectoriesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultDirectory []*cloudsso.Directory\nfor index := 0; index \u003c float64(len(defaultGetDirectories.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := cloudsso.NewDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cloudsso.DirectoryArgs{\nDirectoryName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultDirectory = append(defaultDirectory, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = defaultGetDirectories.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:47,12-34),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\ndirectoryId := len(defaultGetDirectories.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultUser, err := cloudsso.NewUser(ctx, \"default\", \u0026cloudsso.UserArgs{\nDirectoryId: pulumi.Any(directoryId),\nUserName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewGroup(ctx, \"default\", \u0026cloudsso.GroupArgs{\nDirectoryId: pulumi.Any(directoryId),\nGroupName: pulumi.String(name),\nDescription: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = cloudsso.NewUserProvisioning(ctx, \"default\", \u0026cloudsso.UserProvisioningArgs{\nDescription: pulumi.String(\"description\"),\nPrincipalId: defaultUser.UserId,\nTargetType: pulumi.String(\"RD-Account\"),\nDeletionStrategy: pulumi.String(\"Keep\"),\nDuplicationStrategy: pulumi.String(\"KeepBoth\"),\nPrincipalType: pulumi.String(\"User\"),\nTargetId: pulumi.String(_default.Id),\nDirectoryId: defaultUser.DirectoryId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cloudsso.CloudssoFunctions;\nimport com.pulumi.alicloud.cloudsso.inputs.GetDirectoriesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudsso.Directory;\nimport com.pulumi.alicloud.cloudsso.DirectoryArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.cloudsso.User;\nimport com.pulumi.alicloud.cloudsso.UserArgs;\nimport com.pulumi.alicloud.cloudsso.Group;\nimport com.pulumi.alicloud.cloudsso.GroupArgs;\nimport com.pulumi.alicloud.cloudsso.UserProvisioning;\nimport com.pulumi.alicloud.cloudsso.UserProvisioningArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetDirectories = CloudssoFunctions.getDirectories(GetDirectoriesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n for (var i = 0; i \u003c defaultGetDirectories.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Directory(\"defaultDirectory-\" + i, DirectoryArgs.builder()\n .directoryName(name)\n .build());\n\n \n}\n final var directoryId = defaultGetDirectories.ids().length().applyValue(_length -\u003e _length \u003e 0 ? defaultGetDirectories.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n defaultDirectory.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .directoryId(directoryId)\n .userName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .directoryId(directoryId)\n .groupName(name)\n .description(name)\n .build());\n\n var defaultUserProvisioning = new UserProvisioning(\"defaultUserProvisioning\", UserProvisioningArgs.builder()\n .description(\"description\")\n .principalId(defaultUser.userId())\n .targetType(\"RD-Account\")\n .deletionStrategy(\"Keep\")\n .duplicationStrategy(\"KeepBoth\")\n .principalType(\"User\")\n .targetId(default_.id())\n .directoryId(defaultUser.directoryId())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud SSO User Provisioning can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudsso/userProvisioning:UserProvisioning example \u003cdirectory_id\u003e:\u003cuser_provisioning_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -125186,7 +127174,7 @@ } }, "alicloud:cloudstoragegateway/expressSync:ExpressSync": { - "description": "Provides a Cloud Storage Gateway Express Sync resource.\n\nFor information about Cloud Storage Gateway Express Sync and how to use it, see [What is Express Sync](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/xzpxo3).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultGetStocks = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetStocks.then(defaultGetStocks =\u003e defaultGetStocks.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: true,\n pollingInterval: 4500,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\nconst defaultExpressSync = new alicloud.cloudstoragegateway.ExpressSync(\"default\", {\n bucketName: defaultGatewayFileShare.ossBucketName,\n bucketRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n description: name,\n expressSyncName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_get_stocks = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_stocks.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=True,\n polling_interval=4500,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\ndefault_express_sync = alicloud.cloudstoragegateway.ExpressSync(\"default\",\n bucket_name=default_gateway_file_share.oss_bucket_name,\n bucket_region=default.regions[0].id,\n description=name,\n express_sync_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultGetStocks = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetStocks.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = true,\n PollingInterval = 4500,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n var defaultExpressSync = new AliCloud.CloudStorageGateway.ExpressSync(\"default\", new()\n {\n BucketName = defaultGatewayFileShare.OssBucketName,\n BucketRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Description = name,\n ExpressSyncName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetStocks, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetStocks.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayFileShare, err := cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(true),\n\t\t\tPollingInterval: pulumi.Int(4500),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewExpressSync(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncArgs{\n\t\t\tBucketName: defaultGatewayFileShare.OssBucketName,\n\t\t\tBucketRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpressSyncName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSync;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var defaultGetStocks = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetStocks.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(true)\n .pollingInterval(4500)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n var defaultExpressSync = new ExpressSync(\"defaultExpressSync\", ExpressSyncArgs.builder()\n .bucketName(defaultGatewayFileShare.ossBucketName())\n .bucketRegion(default_.regions()[0].id())\n .description(name)\n .expressSyncName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetStocks.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: true\n pollingInterval: 4500\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\n defaultExpressSync:\n type: alicloud:cloudstoragegateway:ExpressSync\n name: default\n properties:\n bucketName: ${defaultGatewayFileShare.ossBucketName}\n bucketRegion: ${default.regions[0].id}\n description: ${name}\n expressSyncName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetStocks:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Express Sync can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/expressSync:ExpressSync example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Express Sync resource.\n\nFor information about Cloud Storage Gateway Express Sync and how to use it, see [What is Express Sync](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/xzpxo3).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultGetStocks = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetStocks.then(defaultGetStocks =\u003e defaultGetStocks.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: true,\n pollingInterval: 4500,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\nconst defaultExpressSync = new alicloud.cloudstoragegateway.ExpressSync(\"default\", {\n bucketName: defaultGatewayFileShare.ossBucketName,\n bucketRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n description: name,\n expressSyncName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_get_stocks = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_stocks.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=True,\n polling_interval=4500,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\ndefault_express_sync = alicloud.cloudstoragegateway.ExpressSync(\"default\",\n bucket_name=default_gateway_file_share.oss_bucket_name,\n bucket_region=default.regions[0].id,\n description=name,\n express_sync_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultGetStocks = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetStocks.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = true,\n PollingInterval = 4500,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n var defaultExpressSync = new AliCloud.CloudStorageGateway.ExpressSync(\"default\", new()\n {\n BucketName = defaultGatewayFileShare.OssBucketName,\n BucketRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Description = name,\n ExpressSyncName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetStocks, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetStocks.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayFileShare, err := cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(true),\n\t\t\tPollingInterval: pulumi.Int(4500),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewExpressSync(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncArgs{\n\t\t\tBucketName: defaultGatewayFileShare.OssBucketName,\n\t\t\tBucketRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpressSyncName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSync;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var defaultGetStocks = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetStocks.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(true)\n .pollingInterval(4500)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n var defaultExpressSync = new ExpressSync(\"defaultExpressSync\", ExpressSyncArgs.builder()\n .bucketName(defaultGatewayFileShare.ossBucketName())\n .bucketRegion(default_.regions()[0].id())\n .description(name)\n .expressSyncName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetStocks.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: true\n pollingInterval: 4500\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\n defaultExpressSync:\n type: alicloud:cloudstoragegateway:ExpressSync\n name: default\n properties:\n bucketName: ${defaultGatewayFileShare.ossBucketName}\n bucketRegion: ${default.regions[0].id}\n description: ${name}\n expressSyncName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetStocks:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Express Sync can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/expressSync:ExpressSync example \u003cid\u003e\n```\n\n", "properties": { "bucketName": { "type": "string", @@ -125279,7 +127267,7 @@ } }, "alicloud:cloudstoragegateway/expressSyncShareAttachment:ExpressSyncShareAttachment": { - "description": "Provides a Cloud Storage Gateway Express Sync Share Attachment resource.\n\nFor information about Cloud Storage Gateway Express Sync Share Attachment and how to use it, see [What is Express Sync Share Attachment](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/addsharestoexpresssync).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultGetStocks = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetStocks.then(defaultGetStocks =\u003e defaultGetStocks.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: false,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\nconst defaultExpressSync = new alicloud.cloudstoragegateway.ExpressSync(\"default\", {\n bucketName: defaultGatewayFileShare.ossBucketName,\n bucketRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n description: name,\n expressSyncName: `${name}-${defaultInteger.result}`,\n});\nconst defaultExpressSyncShareAttachment = new alicloud.cloudstoragegateway.ExpressSyncShareAttachment(\"default\", {\n expressSyncId: defaultExpressSync.id,\n gatewayId: defaultGateway.id,\n shareName: defaultGatewayFileShare.gatewayFileShareName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_get_stocks = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_stocks.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=False,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\ndefault_express_sync = alicloud.cloudstoragegateway.ExpressSync(\"default\",\n bucket_name=default_gateway_file_share.oss_bucket_name,\n bucket_region=default.regions[0].id,\n description=name,\n express_sync_name=f\"{name}-{default_integer['result']}\")\ndefault_express_sync_share_attachment = alicloud.cloudstoragegateway.ExpressSyncShareAttachment(\"default\",\n express_sync_id=default_express_sync.id,\n gateway_id=default_gateway.id,\n share_name=default_gateway_file_share.gateway_file_share_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultGetStocks = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetStocks.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = false,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n var defaultExpressSync = new AliCloud.CloudStorageGateway.ExpressSync(\"default\", new()\n {\n BucketName = defaultGatewayFileShare.OssBucketName,\n BucketRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Description = name,\n ExpressSyncName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultExpressSyncShareAttachment = new AliCloud.CloudStorageGateway.ExpressSyncShareAttachment(\"default\", new()\n {\n ExpressSyncId = defaultExpressSync.Id,\n GatewayId = defaultGateway.Id,\n ShareName = defaultGatewayFileShare.GatewayFileShareName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetStocks, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetStocks.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayFileShare, err := cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(false),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultExpressSync, err := cloudstoragegateway.NewExpressSync(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncArgs{\n\t\t\tBucketName: defaultGatewayFileShare.OssBucketName,\n\t\t\tBucketRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpressSyncName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewExpressSyncShareAttachment(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncShareAttachmentArgs{\n\t\t\tExpressSyncId: defaultExpressSync.ID(),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tShareName: defaultGatewayFileShare.GatewayFileShareName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSync;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncShareAttachment;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncShareAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var defaultGetStocks = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetStocks.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(false)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n var defaultExpressSync = new ExpressSync(\"defaultExpressSync\", ExpressSyncArgs.builder()\n .bucketName(defaultGatewayFileShare.ossBucketName())\n .bucketRegion(default_.regions()[0].id())\n .description(name)\n .expressSyncName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultExpressSyncShareAttachment = new ExpressSyncShareAttachment(\"defaultExpressSyncShareAttachment\", ExpressSyncShareAttachmentArgs.builder()\n .expressSyncId(defaultExpressSync.id())\n .gatewayId(defaultGateway.id())\n .shareName(defaultGatewayFileShare.gatewayFileShareName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetStocks.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: false\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\n defaultExpressSync:\n type: alicloud:cloudstoragegateway:ExpressSync\n name: default\n properties:\n bucketName: ${defaultGatewayFileShare.ossBucketName}\n bucketRegion: ${default.regions[0].id}\n description: ${name}\n expressSyncName: ${name}-${defaultInteger.result}\n defaultExpressSyncShareAttachment:\n type: alicloud:cloudstoragegateway:ExpressSyncShareAttachment\n name: default\n properties:\n expressSyncId: ${defaultExpressSync.id}\n gatewayId: ${defaultGateway.id}\n shareName: ${defaultGatewayFileShare.gatewayFileShareName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetStocks:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/expressSyncShareAttachment:ExpressSyncShareAttachment example \u003cexpress_sync_id\u003e:\u003cgateway_id\u003e:\u003cshare_name\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Express Sync Share Attachment resource.\n\nFor information about Cloud Storage Gateway Express Sync Share Attachment and how to use it, see [What is Express Sync Share Attachment](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/addsharestoexpresssync).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultGetStocks = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetStocks.then(defaultGetStocks =\u003e defaultGetStocks.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: false,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\nconst defaultExpressSync = new alicloud.cloudstoragegateway.ExpressSync(\"default\", {\n bucketName: defaultGatewayFileShare.ossBucketName,\n bucketRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n description: name,\n expressSyncName: `${name}-${defaultInteger.result}`,\n});\nconst defaultExpressSyncShareAttachment = new alicloud.cloudstoragegateway.ExpressSyncShareAttachment(\"default\", {\n expressSyncId: defaultExpressSync.id,\n gatewayId: defaultGateway.id,\n shareName: defaultGatewayFileShare.gatewayFileShareName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_get_stocks = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_stocks.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=False,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\ndefault_express_sync = alicloud.cloudstoragegateway.ExpressSync(\"default\",\n bucket_name=default_gateway_file_share.oss_bucket_name,\n bucket_region=default.regions[0].id,\n description=name,\n express_sync_name=f\"{name}-{default_integer['result']}\")\ndefault_express_sync_share_attachment = alicloud.cloudstoragegateway.ExpressSyncShareAttachment(\"default\",\n express_sync_id=default_express_sync.id,\n gateway_id=default_gateway.id,\n share_name=default_gateway_file_share.gateway_file_share_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultGetStocks = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetStocks.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = false,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n var defaultExpressSync = new AliCloud.CloudStorageGateway.ExpressSync(\"default\", new()\n {\n BucketName = defaultGatewayFileShare.OssBucketName,\n BucketRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Description = name,\n ExpressSyncName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultExpressSyncShareAttachment = new AliCloud.CloudStorageGateway.ExpressSyncShareAttachment(\"default\", new()\n {\n ExpressSyncId = defaultExpressSync.Id,\n GatewayId = defaultGateway.Id,\n ShareName = defaultGatewayFileShare.GatewayFileShareName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetStocks, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetStocks.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayFileShare, err := cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(false),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultExpressSync, err := cloudstoragegateway.NewExpressSync(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncArgs{\n\t\t\tBucketName: defaultGatewayFileShare.OssBucketName,\n\t\t\tBucketRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpressSyncName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewExpressSyncShareAttachment(ctx, \"default\", \u0026cloudstoragegateway.ExpressSyncShareAttachmentArgs{\n\t\t\tExpressSyncId: defaultExpressSync.ID(),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tShareName: defaultGatewayFileShare.GatewayFileShareName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSync;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncShareAttachment;\nimport com.pulumi.alicloud.cloudstoragegateway.ExpressSyncShareAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var defaultGetStocks = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetStocks.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(false)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n var defaultExpressSync = new ExpressSync(\"defaultExpressSync\", ExpressSyncArgs.builder()\n .bucketName(defaultGatewayFileShare.ossBucketName())\n .bucketRegion(default_.regions()[0].id())\n .description(name)\n .expressSyncName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultExpressSyncShareAttachment = new ExpressSyncShareAttachment(\"defaultExpressSyncShareAttachment\", ExpressSyncShareAttachmentArgs.builder()\n .expressSyncId(defaultExpressSync.id())\n .gatewayId(defaultGateway.id())\n .shareName(defaultGatewayFileShare.gatewayFileShareName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetStocks.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: false\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\n defaultExpressSync:\n type: alicloud:cloudstoragegateway:ExpressSync\n name: default\n properties:\n bucketName: ${defaultGatewayFileShare.ossBucketName}\n bucketRegion: ${default.regions[0].id}\n description: ${name}\n expressSyncName: ${name}-${defaultInteger.result}\n defaultExpressSyncShareAttachment:\n type: alicloud:cloudstoragegateway:ExpressSyncShareAttachment\n name: default\n properties:\n expressSyncId: ${defaultExpressSync.id}\n gatewayId: ${defaultGateway.id}\n shareName: ${defaultGatewayFileShare.gatewayFileShareName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetStocks:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/expressSyncShareAttachment:ExpressSyncShareAttachment example \u003cexpress_sync_id\u003e:\u003cgateway_id\u003e:\u003cshare_name\u003e\n```\n\n", "properties": { "expressSyncId": { "type": "string", @@ -125344,7 +127332,7 @@ } }, "alicloud:cloudstoragegateway/gateway:Gateway": { - "description": "Provides a Cloud Storage Gateway Gateway resource.\n\nFor information about Cloud Storage Gateway Gateway and how to use it, see [What is Gateway](https://www.alibabacloud.com/help/en/csg/developer-reference/api-mnz46x).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: `${name}-${defaultInteger.result}`});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n storageBundleId: defaultStorageBundle.id,\n type: \"File\",\n location: \"Cloud\",\n gatewayName: name,\n gatewayClass: \"Standard\",\n vswitchId: defaultSwitch.id,\n publicNetworkBandwidth: 50,\n paymentType: \"PayAsYouGo\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=f\"{name}-{default_integer['result']}\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n storage_bundle_id=default_storage_bundle.id,\n type=\"File\",\n location=\"Cloud\",\n gateway_name=name,\n gateway_class=\"Standard\",\n vswitch_id=default_switch.id,\n public_network_bandwidth=50,\n payment_type=\"PayAsYouGo\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n StorageBundleId = defaultStorageBundle.Id,\n Type = \"File\",\n Location = \"Cloud\",\n GatewayName = name,\n GatewayClass = \"Standard\",\n VswitchId = defaultSwitch.Id,\n PublicNetworkBandwidth = 50,\n PaymentType = \"PayAsYouGo\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(50),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .storageBundleId(defaultStorageBundle.id())\n .type(\"File\")\n .location(\"Cloud\")\n .gatewayName(name)\n .gatewayClass(\"Standard\")\n .vswitchId(defaultSwitch.id())\n .publicNetworkBandwidth(50)\n .paymentType(\"PayAsYouGo\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName: ${name}-${defaultInteger.result}\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.zones[0].id}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n storageBundleId: ${defaultStorageBundle.id}\n type: File\n location: Cloud\n gatewayName: ${name}\n gatewayClass: Standard\n vswitchId: ${defaultSwitch.id}\n publicNetworkBandwidth: 50\n paymentType: PayAsYouGo\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gateway:Gateway example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway resource.\n\nFor information about Cloud Storage Gateway Gateway and how to use it, see [What is Gateway](https://www.alibabacloud.com/help/en/csg/developer-reference/api-mnz46x).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: `${name}-${defaultInteger.result}`});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n storageBundleId: defaultStorageBundle.id,\n type: \"File\",\n location: \"Cloud\",\n gatewayName: name,\n gatewayClass: \"Standard\",\n vswitchId: defaultSwitch.id,\n publicNetworkBandwidth: 50,\n paymentType: \"PayAsYouGo\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=f\"{name}-{default_integer['result']}\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n storage_bundle_id=default_storage_bundle.id,\n type=\"File\",\n location=\"Cloud\",\n gateway_name=name,\n gateway_class=\"Standard\",\n vswitch_id=default_switch.id,\n public_network_bandwidth=50,\n payment_type=\"PayAsYouGo\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n StorageBundleId = defaultStorageBundle.Id,\n Type = \"File\",\n Location = \"Cloud\",\n GatewayName = name,\n GatewayClass = \"Standard\",\n VswitchId = defaultSwitch.Id,\n PublicNetworkBandwidth = 50,\n PaymentType = \"PayAsYouGo\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(50),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .storageBundleId(defaultStorageBundle.id())\n .type(\"File\")\n .location(\"Cloud\")\n .gatewayName(name)\n .gatewayClass(\"Standard\")\n .vswitchId(defaultSwitch.id())\n .publicNetworkBandwidth(50)\n .paymentType(\"PayAsYouGo\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName: ${name}-${defaultInteger.result}\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.zones[0].id}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n storageBundleId: ${defaultStorageBundle.id}\n type: File\n location: Cloud\n gatewayName: ${name}\n gatewayClass: Standard\n vswitchId: ${defaultSwitch.id}\n publicNetworkBandwidth: 50\n paymentType: PayAsYouGo\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gateway:Gateway example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -125532,7 +127520,7 @@ } }, "alicloud:cloudstoragegateway/gatewayBlockVolume:GatewayBlockVolume": { - "description": "Provides a Cloud Storage Gateway Gateway Block Volume resource.\n\nFor information about Cloud Storage Gateway Gateway Block Volume and how to use it, see [What is Gateway Block Volume](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewayblockvolume).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"Iscsi\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayBlockVolume = new alicloud.cloudstoragegateway.GatewayBlockVolume(\"default\", {\n cacheMode: \"Cache\",\n chapEnabled: false,\n chunkSize: 8192,\n gatewayBlockVolumeName: \"example\",\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossBucketSsl: true,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"iSCSI\",\n size: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"Iscsi\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_block_volume = alicloud.cloudstoragegateway.GatewayBlockVolume(\"default\",\n cache_mode=\"Cache\",\n chap_enabled=False,\n chunk_size=8192,\n gateway_block_volume_name=\"example\",\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_bucket_ssl=True,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"iSCSI\",\n size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"Iscsi\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayBlockVolume = new AliCloud.CloudStorageGateway.GatewayBlockVolume(\"default\", new()\n {\n CacheMode = \"Cache\",\n ChapEnabled = false,\n ChunkSize = 8192,\n GatewayBlockVolumeName = \"example\",\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssBucketSsl = true,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"iSCSI\",\n Size = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"Iscsi\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayBlockVolume(ctx, \"default\", \u0026cloudstoragegateway.GatewayBlockVolumeArgs{\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tChapEnabled: pulumi.Bool(false),\n\t\t\tChunkSize: pulumi.Int(8192),\n\t\t\tGatewayBlockVolumeName: pulumi.String(\"example\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssBucketSsl: pulumi.Bool(true),\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"iSCSI\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayBlockVolume;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayBlockVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"Iscsi\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayBlockVolume = new GatewayBlockVolume(\"defaultGatewayBlockVolume\", GatewayBlockVolumeArgs.builder()\n .cacheMode(\"Cache\")\n .chapEnabled(false)\n .chunkSize(8192)\n .gatewayBlockVolumeName(\"example\")\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossBucketSsl(true)\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"iSCSI\")\n .size(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: Iscsi\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayBlockVolume:\n type: alicloud:cloudstoragegateway:GatewayBlockVolume\n name: default\n properties:\n cacheMode: Cache\n chapEnabled: false\n chunkSize: '8192'\n gatewayBlockVolumeName: example\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossBucketSsl: true\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: iSCSI\n size: 100\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway Block Volume can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayBlockVolume:GatewayBlockVolume example \u003cgateway_id\u003e:\u003cindex_id\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway Block Volume resource.\n\nFor information about Cloud Storage Gateway Gateway Block Volume and how to use it, see [What is Gateway Block Volume](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewayblockvolume).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"public-read-write\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"Iscsi\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayBlockVolume = new alicloud.cloudstoragegateway.GatewayBlockVolume(\"default\", {\n cacheMode: \"Cache\",\n chapEnabled: false,\n chunkSize: 8192,\n gatewayBlockVolumeName: \"example\",\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossBucketSsl: true,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"iSCSI\",\n size: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"public-read-write\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"Iscsi\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_block_volume = alicloud.cloudstoragegateway.GatewayBlockVolume(\"default\",\n cache_mode=\"Cache\",\n chap_enabled=False,\n chunk_size=8192,\n gateway_block_volume_name=\"example\",\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_bucket_ssl=True,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"iSCSI\",\n size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"Iscsi\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayBlockVolume = new AliCloud.CloudStorageGateway.GatewayBlockVolume(\"default\", new()\n {\n CacheMode = \"Cache\",\n ChapEnabled = false,\n ChunkSize = 8192,\n GatewayBlockVolumeName = \"example\",\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssBucketSsl = true,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"iSCSI\",\n Size = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"Iscsi\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayBlockVolume(ctx, \"default\", \u0026cloudstoragegateway.GatewayBlockVolumeArgs{\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tChapEnabled: pulumi.Bool(false),\n\t\t\tChunkSize: pulumi.Int(8192),\n\t\t\tGatewayBlockVolumeName: pulumi.String(\"example\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssBucketSsl: pulumi.Bool(true),\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"iSCSI\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayBlockVolume;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayBlockVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"Iscsi\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayBlockVolume = new GatewayBlockVolume(\"defaultGatewayBlockVolume\", GatewayBlockVolumeArgs.builder()\n .cacheMode(\"Cache\")\n .chapEnabled(false)\n .chunkSize(8192)\n .gatewayBlockVolumeName(\"example\")\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossBucketSsl(true)\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"iSCSI\")\n .size(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: public-read-write\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: Iscsi\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayBlockVolume:\n type: alicloud:cloudstoragegateway:GatewayBlockVolume\n name: default\n properties:\n cacheMode: Cache\n chapEnabled: false\n chunkSize: '8192'\n gatewayBlockVolumeName: example\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossBucketSsl: true\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: iSCSI\n size: 100\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway Block Volume can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayBlockVolume:GatewayBlockVolume example \u003cgateway_id\u003e:\u003cindex_id\u003e\n```\n\n", "properties": { "cacheMode": { "type": "string", @@ -125780,7 +127768,7 @@ } }, "alicloud:cloudstoragegateway/gatewayCacheDisk:GatewayCacheDisk": { - "description": "Provides a Cloud Storage Gateway Gateway Cache Disk resource.\n\nFor information about Cloud Storage Gateway Gateway Cache Disk and how to use it, see [What is Gateway Cache Disk](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaycachedisk).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayCacheDisk:GatewayCacheDisk example \u003cgateway_id\u003e:\u003ccache_id\u003e:\u003clocal_file_path\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway Cache Disk resource.\n\nFor information about Cloud Storage Gateway Gateway Cache Disk and how to use it, see [What is Gateway Cache Disk](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaycachedisk).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayCacheDisk:GatewayCacheDisk example \u003cgateway_id\u003e:\u003ccache_id\u003e:\u003clocal_file_path\u003e\n```\n\n", "properties": { "cacheDiskCategory": { "type": "string", @@ -125883,7 +127871,7 @@ } }, "alicloud:cloudstoragegateway/gatewayFileShare:GatewayFileShare": { - "description": "Provides a Cloud Storage Gateway Gateway File Share resource.\n\nFor information about Cloud Storage Gateway Gateway File Share and how to use it, see [What is Gateway File Share](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewayfileshare).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: true,\n pollingInterval: 4500,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=True,\n polling_interval=4500,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = true,\n PollingInterval = 4500,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(true),\n\t\t\tPollingInterval: pulumi.Int(4500),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(true)\n .pollingInterval(4500)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: true\n pollingInterval: 4500\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway File Share can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayFileShare:GatewayFileShare example \u003cgateway_id\u003e:\u003cindex_id\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway File Share resource.\n\nFor information about Cloud Storage Gateway Gateway File Share and how to use it, see [What is Gateway File Share](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewayfileshare).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.cloudstoragegateway.getStocks({\n gatewayClass: \"Standard\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.stocks?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: true,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayCacheDisk = new alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\", {\n cacheDiskCategory: \"cloud_efficiency\",\n gatewayId: defaultGateway.id,\n cacheDiskSizeInGb: 50,\n});\nconst defaultGatewayFileShare = new alicloud.cloudstoragegateway.GatewayFileShare(\"default\", {\n gatewayFileShareName: name,\n gatewayId: defaultGateway.id,\n localPath: defaultGatewayCacheDisk.localFilePath,\n ossBucketName: defaultBucket.bucket,\n ossEndpoint: defaultBucket.extranetEndpoint,\n protocol: \"NFS\",\n remoteSync: true,\n pollingInterval: 4500,\n feLimit: 0,\n backendLimit: 0,\n cacheMode: \"Cache\",\n squash: \"none\",\n lagPeriod: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.cloudstoragegateway.get_stocks(gateway_class=\"Standard\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.stocks[0].zone_id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=True,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_cache_disk = alicloud.cloudstoragegateway.GatewayCacheDisk(\"default\",\n cache_disk_category=\"cloud_efficiency\",\n gateway_id=default_gateway.id,\n cache_disk_size_in_gb=50)\ndefault_gateway_file_share = alicloud.cloudstoragegateway.GatewayFileShare(\"default\",\n gateway_file_share_name=name,\n gateway_id=default_gateway.id,\n local_path=default_gateway_cache_disk.local_file_path,\n oss_bucket_name=default_bucket.bucket,\n oss_endpoint=default_bucket.extranet_endpoint,\n protocol=\"NFS\",\n remote_sync=True,\n polling_interval=4500,\n fe_limit=0,\n backend_limit=0,\n cache_mode=\"Cache\",\n squash=\"none\",\n lag_period=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.CloudStorageGateway.GetStocks.Invoke(new()\n {\n GatewayClass = \"Standard\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getStocksResult =\u003e getStocksResult.Stocks[0]?.ZoneId)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = true,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayCacheDisk = new AliCloud.CloudStorageGateway.GatewayCacheDisk(\"default\", new()\n {\n CacheDiskCategory = \"cloud_efficiency\",\n GatewayId = defaultGateway.Id,\n CacheDiskSizeInGb = 50,\n });\n\n var defaultGatewayFileShare = new AliCloud.CloudStorageGateway.GatewayFileShare(\"default\", new()\n {\n GatewayFileShareName = name,\n GatewayId = defaultGateway.Id,\n LocalPath = defaultGatewayCacheDisk.LocalFilePath,\n OssBucketName = defaultBucket.BucketName,\n OssEndpoint = defaultBucket.ExtranetEndpoint,\n Protocol = \"NFS\",\n RemoteSync = true,\n PollingInterval = 4500,\n FeLimit = 0,\n BackendLimit = 0,\n CacheMode = \"Cache\",\n Squash = \"none\",\n LagPeriod = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeSubstr1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cloudstoragegateway.GetStocks(ctx, \u0026cloudstoragegateway.GetStocksArgs{\n\t\t\tGatewayClass: pulumi.StringRef(\"Standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Stocks[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(true),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayCacheDisk, err := cloudstoragegateway.NewGatewayCacheDisk(ctx, \"default\", \u0026cloudstoragegateway.GatewayCacheDiskArgs{\n\t\t\tCacheDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tCacheDiskSizeInGb: pulumi.Int(50),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayFileShare(ctx, \"default\", \u0026cloudstoragegateway.GatewayFileShareArgs{\n\t\t\tGatewayFileShareName: pulumi.String(name),\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tLocalPath: defaultGatewayCacheDisk.LocalFilePath,\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssEndpoint: defaultBucket.ExtranetEndpoint,\n\t\t\tProtocol: pulumi.String(\"NFS\"),\n\t\t\tRemoteSync: pulumi.Bool(true),\n\t\t\tPollingInterval: pulumi.Int(4500),\n\t\t\tFeLimit: pulumi.Int(0),\n\t\t\tBackendLimit: pulumi.Int(0),\n\t\t\tCacheMode: pulumi.String(\"Cache\"),\n\t\t\tSquash: pulumi.String(\"none\"),\n\t\t\tLagPeriod: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.CloudstoragegatewayFunctions;\nimport com.pulumi.alicloud.cloudstoragegateway.inputs.GetStocksArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDisk;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayCacheDiskArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShare;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayFileShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = CloudstoragegatewayFunctions.getStocks(GetStocksArgs.builder()\n .gatewayClass(\"Standard\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.stocks()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(true)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayCacheDisk = new GatewayCacheDisk(\"defaultGatewayCacheDisk\", GatewayCacheDiskArgs.builder()\n .cacheDiskCategory(\"cloud_efficiency\")\n .gatewayId(defaultGateway.id())\n .cacheDiskSizeInGb(50)\n .build());\n\n var defaultGatewayFileShare = new GatewayFileShare(\"defaultGatewayFileShare\", GatewayFileShareArgs.builder()\n .gatewayFileShareName(name)\n .gatewayId(defaultGateway.id())\n .localPath(defaultGatewayCacheDisk.localFilePath())\n .ossBucketName(defaultBucket.bucket())\n .ossEndpoint(defaultBucket.extranetEndpoint())\n .protocol(\"NFS\")\n .remoteSync(true)\n .pollingInterval(4500)\n .feLimit(0)\n .backendLimit(0)\n .cacheMode(\"Cache\")\n .squash(\"none\")\n .lagPeriod(5)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.stocks[0].zoneId}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: true\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayCacheDisk:\n type: alicloud:cloudstoragegateway:GatewayCacheDisk\n name: default\n properties:\n cacheDiskCategory: cloud_efficiency\n gatewayId: ${defaultGateway.id}\n cacheDiskSizeInGb: 50\n defaultGatewayFileShare:\n type: alicloud:cloudstoragegateway:GatewayFileShare\n name: default\n properties:\n gatewayFileShareName: ${name}\n gatewayId: ${defaultGateway.id}\n localPath: ${defaultGatewayCacheDisk.localFilePath}\n ossBucketName: ${defaultBucket.bucket}\n ossEndpoint: ${defaultBucket.extranetEndpoint}\n protocol: NFS\n remoteSync: true\n pollingInterval: 4500\n feLimit: 0\n backendLimit: 0\n cacheMode: Cache\n squash: none\n lagPeriod: 5\nvariables:\n default:\n fn::invoke:\n function: alicloud:cloudstoragegateway:getStocks\n arguments:\n gatewayClass: Standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway File Share can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayFileShare:GatewayFileShare example \u003cgateway_id\u003e:\u003cindex_id\u003e\n```\n\n", "properties": { "accessBasedEnumeration": { "type": "boolean", @@ -126363,7 +128351,7 @@ } }, "alicloud:cloudstoragegateway/gatewayLogging:GatewayLogging": { - "description": "Provides a Cloud Storage Gateway Gateway Logging resource.\n\nFor information about Cloud Storage Gateway Gateway Logging and how to use it, see [What is Gateway Logging](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaylogging).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n description: \"terraform-example\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: false,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayLogging = new alicloud.cloudstoragegateway.GatewayLogging(\"default\", {\n gatewayId: defaultGateway.id,\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n description=\"terraform-example\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=False,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_logging = alicloud.cloudstoragegateway.GatewayLogging(\"default\",\n gateway_id=default_gateway.id,\n sls_logstore=default_store.logstore_name,\n sls_project=default_project.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Description = \"terraform-example\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = false,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayLogging = new AliCloud.CloudStorageGateway.GatewayLogging(\"default\", new()\n {\n GatewayId = defaultGateway.Id,\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr1.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(false),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayLogging(ctx, \"default\", \u0026cloudstoragegateway.GatewayLoggingArgs{\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayLogging;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .description(\"terraform-example\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(false)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayLogging = new GatewayLogging(\"defaultGatewayLogging\", GatewayLoggingArgs.builder()\n .gatewayId(defaultGateway.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n description: terraform-example\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: false\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayLogging:\n type: alicloud:cloudstoragegateway:GatewayLogging\n name: default\n properties:\n gatewayId: ${defaultGateway.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway Logging can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayLogging:GatewayLogging example \u003cgateway_id\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway Logging resource.\n\nFor information about Cloud Storage Gateway Gateway Logging and how to use it, see [What is Gateway Logging](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaylogging).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n description: \"terraform-example\",\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: false,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewayLogging = new alicloud.cloudstoragegateway.GatewayLogging(\"default\", {\n gatewayId: defaultGateway.id,\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n description=\"terraform-example\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=False,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_logging = alicloud.cloudstoragegateway.GatewayLogging(\"default\",\n gateway_id=default_gateway.id,\n sls_logstore=default_store.logstore_name,\n sls_project=default_project.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Description = \"terraform-example\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = false,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewayLogging = new AliCloud.CloudStorageGateway.GatewayLogging(\"default\", new()\n {\n GatewayId = defaultGateway.Id,\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr1.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(false),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewayLogging(ctx, \"default\", \u0026cloudstoragegateway.GatewayLoggingArgs{\n\t\t\tGatewayId: defaultGateway.ID(),\n\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayLogging;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .description(\"terraform-example\")\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(false)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewayLogging = new GatewayLogging(\"defaultGatewayLogging\", GatewayLoggingArgs.builder()\n .gatewayId(defaultGateway.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n description: terraform-example\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: false\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewayLogging:\n type: alicloud:cloudstoragegateway:GatewayLogging\n name: default\n properties:\n gatewayId: ${defaultGateway.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway Logging can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewayLogging:GatewayLogging example \u003cgateway_id\u003e\n```\n\n", "properties": { "gatewayId": { "type": "string", @@ -126441,7 +128429,7 @@ } }, "alicloud:cloudstoragegateway/gatewaySmbUser:GatewaySmbUser": { - "description": "Provides a Cloud Storage Gateway Gateway SMB User resource.\n\nFor information about Cloud Storage Gateway Gateway SMB User and how to use it, see [What is Gateway SMB User](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaysmbuser).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: false,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewaySmbUser = new alicloud.cloudstoragegateway.GatewaySmbUser(\"default\", {\n username: \"example_username\",\n password: \"password\",\n gatewayId: defaultGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=False,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_smb_user = alicloud.cloudstoragegateway.GatewaySmbUser(\"default\",\n username=\"example_username\",\n password=\"password\",\n gateway_id=default_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = false,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewaySmbUser = new AliCloud.CloudStorageGateway.GatewaySmbUser(\"default\", new()\n {\n Username = \"example_username\",\n Password = \"password\",\n GatewayId = defaultGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(false),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewaySmbUser(ctx, \"default\", \u0026cloudstoragegateway.GatewaySmbUserArgs{\n\t\t\tUsername: pulumi.String(\"example_username\"),\n\t\t\tPassword: pulumi.String(\"password\"),\n\t\t\tGatewayId: defaultGateway.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.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewaySmbUser;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewaySmbUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(false)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewaySmbUser = new GatewaySmbUser(\"defaultGatewaySmbUser\", GatewaySmbUserArgs.builder()\n .username(\"example_username\")\n .password(\"password\")\n .gatewayId(defaultGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: false\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewaySmbUser:\n type: alicloud:cloudstoragegateway:GatewaySmbUser\n name: default\n properties:\n username: example_username\n password: password\n gatewayId: ${defaultGateway.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Gateway SMB User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewaySmbUser:GatewaySmbUser example \u003cgateway_id\u003e:\u003cusername\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Gateway SMB User resource.\n\nFor information about Cloud Storage Gateway Gateway SMB User and how to use it, see [What is Gateway SMB User](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/creategatewaysmbuser).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultStorageBundle = new alicloud.cloudstoragegateway.StorageBundle(\"default\", {storageBundleName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultGateway = new alicloud.cloudstoragegateway.Gateway(\"default\", {\n gatewayName: name,\n description: name,\n gatewayClass: \"Standard\",\n type: \"File\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n releaseAfterExpiration: false,\n publicNetworkBandwidth: 40,\n storageBundleId: defaultStorageBundle.id,\n location: \"Cloud\",\n});\nconst defaultGatewaySmbUser = new alicloud.cloudstoragegateway.GatewaySmbUser(\"default\", {\n username: \"example_username\",\n password: \"password\",\n gatewayId: defaultGateway.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_storage_bundle = alicloud.cloudstoragegateway.StorageBundle(\"default\", storage_bundle_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_gateway = alicloud.cloudstoragegateway.Gateway(\"default\",\n gateway_name=name,\n description=name,\n gateway_class=\"Standard\",\n type=\"File\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n release_after_expiration=False,\n public_network_bandwidth=40,\n storage_bundle_id=default_storage_bundle.id,\n location=\"Cloud\")\ndefault_gateway_smb_user = alicloud.cloudstoragegateway.GatewaySmbUser(\"default\",\n username=\"example_username\",\n password=\"password\",\n gateway_id=default_gateway.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultStorageBundle = new AliCloud.CloudStorageGateway.StorageBundle(\"default\", new()\n {\n StorageBundleName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultGateway = new AliCloud.CloudStorageGateway.Gateway(\"default\", new()\n {\n GatewayName = name,\n Description = name,\n GatewayClass = \"Standard\",\n Type = \"File\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n ReleaseAfterExpiration = false,\n PublicNetworkBandwidth = 40,\n StorageBundleId = defaultStorageBundle.Id,\n Location = \"Cloud\",\n });\n\n var defaultGatewaySmbUser = new AliCloud.CloudStorageGateway.GatewaySmbUser(\"default\", new()\n {\n Username = \"example_username\",\n Password = \"password\",\n GatewayId = defaultGateway.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStorageBundle, err := cloudstoragegateway.NewStorageBundle(ctx, \"default\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := cloudstoragegateway.NewGateway(ctx, \"default\", \u0026cloudstoragegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tGatewayClass: pulumi.String(\"Standard\"),\n\t\t\tType: pulumi.String(\"File\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tReleaseAfterExpiration: pulumi.Bool(false),\n\t\t\tPublicNetworkBandwidth: pulumi.Int(40),\n\t\t\tStorageBundleId: defaultStorageBundle.ID(),\n\t\t\tLocation: pulumi.String(\"Cloud\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudstoragegateway.NewGatewaySmbUser(ctx, \"default\", \u0026cloudstoragegateway.GatewaySmbUserArgs{\n\t\t\tUsername: pulumi.String(\"example_username\"),\n\t\t\tPassword: pulumi.String(\"password\"),\n\t\t\tGatewayId: defaultGateway.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.random.Uuid;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.Gateway;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewayArgs;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewaySmbUser;\nimport com.pulumi.alicloud.cloudstoragegateway.GatewaySmbUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultStorageBundle = new StorageBundle(\"defaultStorageBundle\", StorageBundleArgs.builder()\n .storageBundleName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .gatewayName(name)\n .description(name)\n .gatewayClass(\"Standard\")\n .type(\"File\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .releaseAfterExpiration(false)\n .publicNetworkBandwidth(40)\n .storageBundleId(defaultStorageBundle.id())\n .location(\"Cloud\")\n .build());\n\n var defaultGatewaySmbUser = new GatewaySmbUser(\"defaultGatewaySmbUser\", GatewaySmbUserArgs.builder()\n .username(\"example_username\")\n .password(\"password\")\n .gatewayId(defaultGateway.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultStorageBundle:\n type: alicloud:cloudstoragegateway:StorageBundle\n name: default\n properties:\n storageBundleName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultGateway:\n type: alicloud:cloudstoragegateway:Gateway\n name: default\n properties:\n gatewayName: ${name}\n description: ${name}\n gatewayClass: Standard\n type: File\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n releaseAfterExpiration: false\n publicNetworkBandwidth: 40\n storageBundleId: ${defaultStorageBundle.id}\n location: Cloud\n defaultGatewaySmbUser:\n type: alicloud:cloudstoragegateway:GatewaySmbUser\n name: default\n properties:\n username: example_username\n password: password\n gatewayId: ${defaultGateway.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Gateway SMB User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/gatewaySmbUser:GatewaySmbUser example \u003cgateway_id\u003e:\u003cusername\u003e\n```\n\n", "properties": { "gatewayId": { "type": "string", @@ -126509,7 +128497,7 @@ } }, "alicloud:cloudstoragegateway/storageBundle:StorageBundle": { - "description": "Provides a Cloud Storage Gateway Storage Bundle resource.\n\nFor information about Cloud Storage Gateway Storage Bundle and how to use it, see [What is Storage Bundle](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/createstoragebundle).\n\n\u003e **NOTE:** Available since v1.116.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cloudstoragegateway.StorageBundle(\"example\", {storageBundleName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cloudstoragegateway.StorageBundle(\"example\", storage_bundle_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.CloudStorageGateway.StorageBundle(\"example\", new()\n {\n StorageBundleName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudstoragegateway.NewStorageBundle(ctx, \"example\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 StorageBundle(\"example\", StorageBundleArgs.builder()\n .storageBundleName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cloudstoragegateway:StorageBundle\n properties:\n storageBundleName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Storage Gateway Storage Bundle can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/storageBundle:StorageBundle example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Storage Gateway Storage Bundle resource.\n\nFor information about Cloud Storage Gateway Storage Bundle and how to use it, see [What is Storage Bundle](https://www.alibabacloud.com/help/en/cloud-storage-gateway/latest/createstoragebundle).\n\n\u003e **NOTE:** Available since v1.116.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cloudstoragegateway.StorageBundle(\"example\", {storageBundleName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cloudstoragegateway.StorageBundle(\"example\", storage_bundle_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.CloudStorageGateway.StorageBundle(\"example\", new()\n {\n StorageBundleName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudstoragegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudstoragegateway.NewStorageBundle(ctx, \"example\", \u0026cloudstoragegateway.StorageBundleArgs{\n\t\t\tStorageBundleName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundle;\nimport com.pulumi.alicloud.cloudstoragegateway.StorageBundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 StorageBundle(\"example\", StorageBundleArgs.builder()\n .storageBundleName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cloudstoragegateway:StorageBundle\n properties:\n storageBundleName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Storage Gateway Storage Bundle can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cloudstoragegateway/storageBundle:StorageBundle example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -126552,7 +128540,7 @@ } }, "alicloud:cms/alarm:Alarm": { - "description": "Provides a Cloud Monitor Service Alarm resource.\n\nFor information about Cloud Monitor Service Alarm and how to use it, see [What is Alarm](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putresourcemetricrule).\n\n\u003e **NOTE:** Available since v1.9.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultAlarm = new alicloud.cms.Alarm(\"default\", {\n name: name,\n project: \"acs_ecs_dashboard\",\n metric: \"disk_writebytes\",\n period: 900,\n contactGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n effectiveInterval: \"06:00-20:00\",\n metricDimensions: pulumi.interpolate` [\n {\n \\\"instanceId\\\": \\\"${defaultInstance.id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n`,\n escalationsCritical: {\n statistics: \"Average\",\n comparisonOperator: \"\u003c=\",\n threshold: \"35\",\n times: 2,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_alarm = alicloud.cms.Alarm(\"default\",\n name=name,\n project=\"acs_ecs_dashboard\",\n metric=\"disk_writebytes\",\n period=900,\n contact_groups=[default_alarm_contact_group.alarm_contact_group_name],\n effective_interval=\"06:00-20:00\",\n metric_dimensions=default_instance.id.apply(lambda id: f\"\"\" [\n {{\n \\\"instanceId\\\": \\\"{id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }}\n ]\n\"\"\"),\n escalations_critical={\n \"statistics\": \"Average\",\n \"comparison_operator\": \"\u003c=\",\n \"threshold\": \"35\",\n \"times\": 2,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultAlarm = new AliCloud.Cms.Alarm(\"default\", new()\n {\n Name = name,\n Project = \"acs_ecs_dashboard\",\n Metric = \"disk_writebytes\",\n Period = 900,\n ContactGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n EffectiveInterval = \"06:00-20:00\",\n MetricDimensions = defaultInstance.Id.Apply(id =\u003e @$\" [\n {{\n \\\"\"instanceId\\\"\": \\\"\"{id}\\\"\",\n \\\"\"device\\\"\": \\\"\"/dev/vda1\\\"\"\n }}\n ]\n\"),\n EscalationsCritical = new AliCloud.Cms.Inputs.AlarmEscalationsCriticalArgs\n {\n Statistics = \"Average\",\n ComparisonOperator = \"\u003c=\",\n Threshold = \"35\",\n Times = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewAlarm(ctx, \"default\", \u0026cms.AlarmArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tProject: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tMetric: pulumi.String(\"disk_writebytes\"),\n\t\t\tPeriod: pulumi.Int(900),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tEffectiveInterval: pulumi.String(\"06:00-20:00\"),\n\t\t\tMetricDimensions: defaultInstance.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(` [\n {\n \\\"instanceId\\\": \\\"%v\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n`, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tEscalationsCritical: \u0026cms.AlarmEscalationsCriticalArgs{\n\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\tComparisonOperator: pulumi.String(\"\u003c=\"),\n\t\t\t\tThreshold: pulumi.String(\"35\"),\n\t\t\t\tTimes: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.Alarm;\nimport com.pulumi.alicloud.cms.AlarmArgs;\nimport com.pulumi.alicloud.cms.inputs.AlarmEscalationsCriticalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultAlarm = new Alarm(\"defaultAlarm\", AlarmArgs.builder()\n .name(name)\n .project(\"acs_ecs_dashboard\")\n .metric(\"disk_writebytes\")\n .period(900)\n .contactGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .effectiveInterval(\"06:00-20:00\")\n .metricDimensions(defaultInstance.id().applyValue(_id -\u003e \"\"\"\n [\n {\n \\\"instanceId\\\": \\\"%s\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n\", _id)))\n .escalationsCritical(AlarmEscalationsCriticalArgs.builder()\n .statistics(\"Average\")\n .comparisonOperator(\"\u003c=\")\n .threshold(\"35\")\n .times(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultAlarm:\n type: alicloud:cms:Alarm\n name: default\n properties:\n name: ${name}\n project: acs_ecs_dashboard\n metric: disk_writebytes\n period: 900\n contactGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n effectiveInterval: 06:00-20:00\n metricDimensions: |2\n [\n {\n \\\"instanceId\\\": \\\"${defaultInstance.id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n escalationsCritical:\n statistics: Average\n comparisonOperator: \u003c=\n threshold: 35\n times: 2\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n imageId: ${defaultGetImages.images[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarm:Alarm example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Alarm resource.\n\nFor information about Cloud Monitor Service Alarm and how to use it, see [What is Alarm](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putresourcemetricrule).\n\n\u003e **NOTE:** Available since v1.9.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultAlarm = new alicloud.cms.Alarm(\"default\", {\n name: name,\n project: \"acs_ecs_dashboard\",\n metric: \"disk_writebytes\",\n period: 900,\n contactGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n effectiveInterval: \"06:00-20:00\",\n metricDimensions: pulumi.interpolate` [\n {\n \\\"instanceId\\\": \\\"${defaultInstance.id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n`,\n escalationsCritical: {\n statistics: \"Average\",\n comparisonOperator: \"\u003c=\",\n threshold: \"35\",\n times: 2,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_alarm = alicloud.cms.Alarm(\"default\",\n name=name,\n project=\"acs_ecs_dashboard\",\n metric=\"disk_writebytes\",\n period=900,\n contact_groups=[default_alarm_contact_group.alarm_contact_group_name],\n effective_interval=\"06:00-20:00\",\n metric_dimensions=default_instance.id.apply(lambda id: f\"\"\" [\n {{\n \\\"instanceId\\\": \\\"{id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }}\n ]\n\"\"\"),\n escalations_critical={\n \"statistics\": \"Average\",\n \"comparison_operator\": \"\u003c=\",\n \"threshold\": \"35\",\n \"times\": 2,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultAlarm = new AliCloud.Cms.Alarm(\"default\", new()\n {\n Name = name,\n Project = \"acs_ecs_dashboard\",\n Metric = \"disk_writebytes\",\n Period = 900,\n ContactGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n EffectiveInterval = \"06:00-20:00\",\n MetricDimensions = defaultInstance.Id.Apply(id =\u003e @$\" [\n {{\n \\\"\"instanceId\\\"\": \\\"\"{id}\\\"\",\n \\\"\"device\\\"\": \\\"\"/dev/vda1\\\"\"\n }}\n ]\n\"),\n EscalationsCritical = new AliCloud.Cms.Inputs.AlarmEscalationsCriticalArgs\n {\n Statistics = \"Average\",\n ComparisonOperator = \"\u003c=\",\n Threshold = \"35\",\n Times = 2,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewAlarm(ctx, \"default\", \u0026cms.AlarmArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tProject: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tMetric: pulumi.String(\"disk_writebytes\"),\n\t\t\tPeriod: pulumi.Int(900),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tEffectiveInterval: pulumi.String(\"06:00-20:00\"),\n\t\t\tMetricDimensions: defaultInstance.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(` [\n {\n \\\"instanceId\\\": \\\"%v\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n`, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tEscalationsCritical: \u0026cms.AlarmEscalationsCriticalArgs{\n\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\tComparisonOperator: pulumi.String(\"\u003c=\"),\n\t\t\t\tThreshold: pulumi.String(\"35\"),\n\t\t\t\tTimes: pulumi.Int(2),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.Alarm;\nimport com.pulumi.alicloud.cms.AlarmArgs;\nimport com.pulumi.alicloud.cms.inputs.AlarmEscalationsCriticalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultAlarm = new Alarm(\"defaultAlarm\", AlarmArgs.builder()\n .name(name)\n .project(\"acs_ecs_dashboard\")\n .metric(\"disk_writebytes\")\n .period(900)\n .contactGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .effectiveInterval(\"06:00-20:00\")\n .metricDimensions(defaultInstance.id().applyValue(_id -\u003e \"\"\"\n [\n {\n \\\"instanceId\\\": \\\"%s\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n\", _id)))\n .escalationsCritical(AlarmEscalationsCriticalArgs.builder()\n .statistics(\"Average\")\n .comparisonOperator(\"\u003c=\")\n .threshold(\"35\")\n .times(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultAlarm:\n type: alicloud:cms:Alarm\n name: default\n properties:\n name: ${name}\n project: acs_ecs_dashboard\n metric: disk_writebytes\n period: 900\n contactGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n effectiveInterval: 06:00-20:00\n metricDimensions: |2\n [\n {\n \\\"instanceId\\\": \\\"${defaultInstance.id}\\\",\n \\\"device\\\": \\\"/dev/vda1\\\"\n }\n ]\n escalationsCritical:\n statistics: Average\n comparisonOperator: \u003c=\n threshold: 35\n times: 2\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n imageId: ${defaultGetImages.images[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarm:Alarm example \u003cid\u003e\n```\n\n", "properties": { "compositeExpression": { "$ref": "#/types/alicloud:cms/AlarmCompositeExpression:AlarmCompositeExpression", @@ -126890,7 +128878,7 @@ } }, "alicloud:cms/alarmContact:AlarmContact": { - "description": "Creates or modifies an alarm contact. For information about alarm contact and how to use it, see [What is alarm contact](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putcontact).\n\n\u003e **NOTE:** Available since v1.99.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \nconst example = new alicloud.cms.AlarmContact(\"example\", {\n alarmContactName: \"tf-example\",\n describe: \"For example\",\n channelsMail: \"terraform@test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \nexample = alicloud.cms.AlarmContact(\"example\",\n alarm_contact_name=\"tf-example\",\n describe=\"For example\",\n channels_mail=\"terraform@test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \n var example = new AliCloud.Cms.AlarmContact(\"example\", new()\n {\n AlarmContactName = \"tf-example\",\n Describe = \"For example\",\n ChannelsMail = \"terraform@test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`.\n\t\t_, err := cms.NewAlarmContact(ctx, \"example\", \u0026cms.AlarmContactArgs{\n\t\t\tAlarmContactName: pulumi.String(\"tf-example\"),\n\t\t\tDescribe: pulumi.String(\"For example\"),\n\t\t\tChannelsMail: pulumi.String(\"terraform@test.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.alicloud.cms.AlarmContact;\nimport com.pulumi.alicloud.cms.AlarmContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \n var example = new AlarmContact(\"example\", AlarmContactArgs.builder()\n .alarmContactName(\"tf-example\")\n .describe(\"For example\")\n .channelsMail(\"terraform@test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`.\n example:\n type: alicloud:cms:AlarmContact\n properties:\n alarmContactName: tf-example\n describe: For example\n channelsMail: terraform@test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlarm contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarmContact:AlarmContact example abc12345\n```\n\n", + "description": "Creates or modifies an alarm contact. For information about alarm contact and how to use it, see [What is alarm contact](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putcontact).\n\n\u003e **NOTE:** Available since v1.99.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \nconst example = new alicloud.cms.AlarmContact(\"example\", {\n alarmContactName: \"tf-example\",\n describe: \"For example\",\n channelsMail: \"terraform@test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \nexample = alicloud.cms.AlarmContact(\"example\",\n alarm_contact_name=\"tf-example\",\n describe=\"For example\",\n channels_mail=\"terraform@test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \n var example = new AliCloud.Cms.AlarmContact(\"example\", new()\n {\n AlarmContactName = \"tf-example\",\n Describe = \"For example\",\n ChannelsMail = \"terraform@test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`.\n\t\t_, err := cms.NewAlarmContact(ctx, \"example\", \u0026cms.AlarmContactArgs{\n\t\t\tAlarmContactName: pulumi.String(\"tf-example\"),\n\t\t\tDescribe: pulumi.String(\"For example\"),\n\t\t\tChannelsMail: pulumi.String(\"terraform@test.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.alicloud.cms.AlarmContact;\nimport com.pulumi.alicloud.cms.AlarmContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`. \n var example = new AlarmContact(\"example\", AlarmContactArgs.builder()\n .alarmContactName(\"tf-example\")\n .describe(\"For example\")\n .channelsMail(\"terraform@test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # You need to activate the link before you can return to the alarm contact information, otherwise diff will appear in terraform. So please confirm the activation link as soon as possible. Besides, you can ignore the diff of the alarm contact information by `lifestyle`.\n example:\n type: alicloud:cms:AlarmContact\n properties:\n alarmContactName: tf-example\n describe: For example\n channelsMail: terraform@test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlarm contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarmContact:AlarmContact example abc12345\n```\n\n", "properties": { "alarmContactName": { "type": "string", @@ -126997,7 +128985,7 @@ } }, "alicloud:cms/alarmContactGroup:AlarmContactGroup": { - "description": "Provides a CMS Alarm Contact Group resource.\n\nFor information about CMS Alarm Contact Group and how to use it, see [What is Alarm Contact Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putcontactgroup).\n\n\u003e **NOTE:** Available since v1.101.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.AlarmContactGroup(\"example\", {alarmContactGroupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.AlarmContactGroup(\"example\", alarm_contact_group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.AlarmContactGroup(\"example\", new()\n {\n AlarmContactGroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewAlarmContactGroup(ctx, \"example\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlarmContactGroup(\"example\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCMS Alarm Contact Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarmContactGroup:AlarmContactGroup example tf-testacc123\n```\n\n", + "description": "Provides a CMS Alarm Contact Group resource.\n\nFor information about CMS Alarm Contact Group and how to use it, see [What is Alarm Contact Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putcontactgroup).\n\n\u003e **NOTE:** Available since v1.101.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.AlarmContactGroup(\"example\", {alarmContactGroupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.AlarmContactGroup(\"example\", alarm_contact_group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.AlarmContactGroup(\"example\", new()\n {\n AlarmContactGroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewAlarmContactGroup(ctx, \"example\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlarmContactGroup(\"example\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCMS Alarm Contact Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/alarmContactGroup:AlarmContactGroup example tf-testacc123\n```\n\n", "properties": { "alarmContactGroupName": { "type": "string", @@ -127076,7 +129064,7 @@ } }, "alicloud:cms/dynamicTagGroup:DynamicTagGroup": { - "description": "Provides a Cloud Monitor Service Dynamic Tag Group resource.\n\nFor information about Cloud Monitor Service Dynamic Tag Group and how to use it, see [What is Dynamic Tag Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createdynamictaggroup).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultDynamicTagGroup = new alicloud.cms.DynamicTagGroup(\"default\", {\n tagKey: name,\n contactGroupLists: [_default.id],\n matchExpresses: [{\n tagValue: name,\n tagValueMatchFunction: \"all\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_dynamic_tag_group = alicloud.cms.DynamicTagGroup(\"default\",\n tag_key=name,\n contact_group_lists=[default.id],\n match_expresses=[{\n \"tag_value\": name,\n \"tag_value_match_function\": \"all\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultDynamicTagGroup = new AliCloud.Cms.DynamicTagGroup(\"default\", new()\n {\n TagKey = name,\n ContactGroupLists = new[]\n {\n @default.Id,\n },\n MatchExpresses = new[]\n {\n new AliCloud.Cms.Inputs.DynamicTagGroupMatchExpressArgs\n {\n TagValue = name,\n TagValueMatchFunction = \"all\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewDynamicTagGroup(ctx, \"default\", \u0026cms.DynamicTagGroupArgs{\n\t\t\tTagKey: pulumi.String(name),\n\t\t\tContactGroupLists: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tMatchExpresses: cms.DynamicTagGroupMatchExpressArray{\n\t\t\t\t\u0026cms.DynamicTagGroupMatchExpressArgs{\n\t\t\t\t\tTagValue: pulumi.String(name),\n\t\t\t\t\tTagValueMatchFunction: pulumi.String(\"all\"),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.DynamicTagGroup;\nimport com.pulumi.alicloud.cms.DynamicTagGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.DynamicTagGroupMatchExpressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultDynamicTagGroup = new DynamicTagGroup(\"defaultDynamicTagGroup\", DynamicTagGroupArgs.builder()\n .tagKey(name)\n .contactGroupLists(default_.id())\n .matchExpresses(DynamicTagGroupMatchExpressArgs.builder()\n .tagValue(name)\n .tagValueMatchFunction(\"all\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n defaultDynamicTagGroup:\n type: alicloud:cms:DynamicTagGroup\n name: default\n properties:\n tagKey: ${name}\n contactGroupLists:\n - ${default.id}\n matchExpresses:\n - tagValue: ${name}\n tagValueMatchFunction: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Dynamic Tag Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/dynamicTagGroup:DynamicTagGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Dynamic Tag Group resource.\n\nFor information about Cloud Monitor Service Dynamic Tag Group and how to use it, see [What is Dynamic Tag Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createdynamictaggroup).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultDynamicTagGroup = new alicloud.cms.DynamicTagGroup(\"default\", {\n tagKey: name,\n contactGroupLists: [_default.id],\n matchExpresses: [{\n tagValue: name,\n tagValueMatchFunction: \"all\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_dynamic_tag_group = alicloud.cms.DynamicTagGroup(\"default\",\n tag_key=name,\n contact_group_lists=[default.id],\n match_expresses=[{\n \"tag_value\": name,\n \"tag_value_match_function\": \"all\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultDynamicTagGroup = new AliCloud.Cms.DynamicTagGroup(\"default\", new()\n {\n TagKey = name,\n ContactGroupLists = new[]\n {\n @default.Id,\n },\n MatchExpresses = new[]\n {\n new AliCloud.Cms.Inputs.DynamicTagGroupMatchExpressArgs\n {\n TagValue = name,\n TagValueMatchFunction = \"all\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewDynamicTagGroup(ctx, \"default\", \u0026cms.DynamicTagGroupArgs{\n\t\t\tTagKey: pulumi.String(name),\n\t\t\tContactGroupLists: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tMatchExpresses: cms.DynamicTagGroupMatchExpressArray{\n\t\t\t\t\u0026cms.DynamicTagGroupMatchExpressArgs{\n\t\t\t\t\tTagValue: pulumi.String(name),\n\t\t\t\t\tTagValueMatchFunction: pulumi.String(\"all\"),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.DynamicTagGroup;\nimport com.pulumi.alicloud.cms.DynamicTagGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.DynamicTagGroupMatchExpressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultDynamicTagGroup = new DynamicTagGroup(\"defaultDynamicTagGroup\", DynamicTagGroupArgs.builder()\n .tagKey(name)\n .contactGroupLists(default_.id())\n .matchExpresses(DynamicTagGroupMatchExpressArgs.builder()\n .tagValue(name)\n .tagValueMatchFunction(\"all\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n defaultDynamicTagGroup:\n type: alicloud:cms:DynamicTagGroup\n name: default\n properties:\n tagKey: ${name}\n contactGroupLists:\n - ${default.id}\n matchExpresses:\n - tagValue: ${name}\n tagValueMatchFunction: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Dynamic Tag Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/dynamicTagGroup:DynamicTagGroup example \u003cid\u003e\n```\n\n", "properties": { "contactGroupLists": { "type": "array", @@ -127206,7 +129194,7 @@ } }, "alicloud:cms/eventRule:EventRule": { - "description": "Provides a Cloud Monitor Service Event Rule resource.\n\nFor information about Cloud Monitor Service Event Rule and how to use it, see [What is Event Rule](https://www.alibabacloud.com/help/en/cloudmonitor/latest/puteventrule).\n\n\u003e **NOTE:** Available since v1.182.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cms.MonitorGroup(\"default\", {monitorGroupName: name});\nconst example = new alicloud.cms.EventRule(\"example\", {\n ruleName: name,\n groupId: _default.id,\n silenceTime: 100,\n description: name,\n status: \"ENABLED\",\n eventPattern: {\n product: \"ecs\",\n sqlFilter: \"example_value\",\n nameLists: [\"example_value\"],\n levelLists: [\"CRITICAL\"],\n eventTypeLists: [\"StatusNotification\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cms.MonitorGroup(\"default\", monitor_group_name=name)\nexample = alicloud.cms.EventRule(\"example\",\n rule_name=name,\n group_id=default.id,\n silence_time=100,\n description=name,\n status=\"ENABLED\",\n event_pattern={\n \"product\": \"ecs\",\n \"sql_filter\": \"example_value\",\n \"name_lists\": [\"example_value\"],\n \"level_lists\": [\"CRITICAL\"],\n \"event_type_lists\": [\"StatusNotification\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n });\n\n var example = new AliCloud.Cms.EventRule(\"example\", new()\n {\n RuleName = name,\n GroupId = @default.Id,\n SilenceTime = 100,\n Description = name,\n Status = \"ENABLED\",\n EventPattern = new AliCloud.Cms.Inputs.EventRuleEventPatternArgs\n {\n Product = \"ecs\",\n SqlFilter = \"example_value\",\n NameLists = new[]\n {\n \"example_value\",\n },\n LevelLists = new[]\n {\n \"CRITICAL\",\n },\n EventTypeLists = new[]\n {\n \"StatusNotification\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewEventRule(ctx, \"example\", \u0026cms.EventRuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tGroupId: _default.ID(),\n\t\t\tSilenceTime: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tEventPattern: \u0026cms.EventRuleEventPatternArgs{\n\t\t\t\tProduct: pulumi.String(\"ecs\"),\n\t\t\t\tSqlFilter: pulumi.String(\"example_value\"),\n\t\t\t\tNameLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example_value\"),\n\t\t\t\t},\n\t\t\t\tLevelLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"CRITICAL\"),\n\t\t\t\t},\n\t\t\t\tEventTypeLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"StatusNotification\"),\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.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cms.EventRule;\nimport com.pulumi.alicloud.cms.EventRuleArgs;\nimport com.pulumi.alicloud.cms.inputs.EventRuleEventPatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new MonitorGroup(\"default\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .build());\n\n var example = new EventRule(\"example\", EventRuleArgs.builder()\n .ruleName(name)\n .groupId(default_.id())\n .silenceTime(100)\n .description(name)\n .status(\"ENABLED\")\n .eventPattern(EventRuleEventPatternArgs.builder()\n .product(\"ecs\")\n .sqlFilter(\"example_value\")\n .nameLists(\"example_value\")\n .levelLists(\"CRITICAL\")\n .eventTypeLists(\"StatusNotification\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cms:MonitorGroup\n properties:\n monitorGroupName: ${name}\n example:\n type: alicloud:cms:EventRule\n properties:\n ruleName: ${name}\n groupId: ${default.id}\n silenceTime: 100\n description: ${name}\n status: ENABLED\n eventPattern:\n product: ecs\n sqlFilter: example_value\n nameLists:\n - example_value\n levelLists:\n - CRITICAL\n eventTypeLists:\n - StatusNotification\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Event Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/eventRule:EventRule example \u003crule_name\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Event Rule resource.\n\nFor information about Cloud Monitor Service Event Rule and how to use it, see [What is Event Rule](https://www.alibabacloud.com/help/en/cloudmonitor/latest/puteventrule).\n\n\u003e **NOTE:** Available since v1.182.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cms.MonitorGroup(\"default\", {monitorGroupName: name});\nconst example = new alicloud.cms.EventRule(\"example\", {\n ruleName: name,\n groupId: _default.id,\n silenceTime: 100,\n description: name,\n status: \"ENABLED\",\n eventPattern: {\n product: \"ecs\",\n sqlFilter: \"example_value\",\n nameLists: [\"example_value\"],\n levelLists: [\"CRITICAL\"],\n eventTypeLists: [\"StatusNotification\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cms.MonitorGroup(\"default\", monitor_group_name=name)\nexample = alicloud.cms.EventRule(\"example\",\n rule_name=name,\n group_id=default.id,\n silence_time=100,\n description=name,\n status=\"ENABLED\",\n event_pattern={\n \"product\": \"ecs\",\n \"sql_filter\": \"example_value\",\n \"name_lists\": [\"example_value\"],\n \"level_lists\": [\"CRITICAL\"],\n \"event_type_lists\": [\"StatusNotification\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n });\n\n var example = new AliCloud.Cms.EventRule(\"example\", new()\n {\n RuleName = name,\n GroupId = @default.Id,\n SilenceTime = 100,\n Description = name,\n Status = \"ENABLED\",\n EventPattern = new AliCloud.Cms.Inputs.EventRuleEventPatternArgs\n {\n Product = \"ecs\",\n SqlFilter = \"example_value\",\n NameLists = new[]\n {\n \"example_value\",\n },\n LevelLists = new[]\n {\n \"CRITICAL\",\n },\n EventTypeLists = new[]\n {\n \"StatusNotification\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewEventRule(ctx, \"example\", \u0026cms.EventRuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tGroupId: _default.ID(),\n\t\t\tSilenceTime: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tEventPattern: \u0026cms.EventRuleEventPatternArgs{\n\t\t\t\tProduct: pulumi.String(\"ecs\"),\n\t\t\t\tSqlFilter: pulumi.String(\"example_value\"),\n\t\t\t\tNameLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example_value\"),\n\t\t\t\t},\n\t\t\t\tLevelLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"CRITICAL\"),\n\t\t\t\t},\n\t\t\t\tEventTypeLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"StatusNotification\"),\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.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cms.EventRule;\nimport com.pulumi.alicloud.cms.EventRuleArgs;\nimport com.pulumi.alicloud.cms.inputs.EventRuleEventPatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new MonitorGroup(\"default\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .build());\n\n var example = new EventRule(\"example\", EventRuleArgs.builder()\n .ruleName(name)\n .groupId(default_.id())\n .silenceTime(100)\n .description(name)\n .status(\"ENABLED\")\n .eventPattern(EventRuleEventPatternArgs.builder()\n .product(\"ecs\")\n .sqlFilter(\"example_value\")\n .nameLists(\"example_value\")\n .levelLists(\"CRITICAL\")\n .eventTypeLists(\"StatusNotification\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cms:MonitorGroup\n properties:\n monitorGroupName: ${name}\n example:\n type: alicloud:cms:EventRule\n properties:\n ruleName: ${name}\n groupId: ${default.id}\n silenceTime: 100\n description: ${name}\n status: ENABLED\n eventPattern:\n product: ecs\n sqlFilter: example_value\n nameLists:\n - example_value\n levelLists:\n - CRITICAL\n eventTypeLists:\n - StatusNotification\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Event Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/eventRule:EventRule example \u003crule_name\u003e\n```\n\n", "properties": { "contactParameters": { "type": "array", @@ -127428,7 +129416,7 @@ } }, "alicloud:cms/groupMetricRule:GroupMetricRule": { - "description": "Provides a Cloud Monitor Service Group Metric Rule resource.\n\nFor information about Cloud Monitor Service Group Metric Rule and how to use it, see [What is Group Metric Rule](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putgroupmetricrule).\n\n\u003e **NOTE:** Available since v1.104.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {\n alarmContactGroupName: name,\n describe: name,\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {\n monitorGroupName: name,\n contactGroups: [_default.id],\n});\nconst _this = new alicloud.cms.GroupMetricRule(\"this\", {\n groupId: defaultMonitorGroup.id,\n groupMetricRuleName: name,\n category: \"ecs\",\n metricName: \"cpu_total\",\n namespace: \"acs_ecs_dashboard\",\n ruleId: name,\n period: 60,\n interval: \"3600\",\n silenceTime: 85800,\n noEffectiveInterval: \"00:00-05:30\",\n webhook: \"http://www.aliyun.com\",\n escalations: {\n warn: {\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n statistics: \"Average\",\n threshold: \"90\",\n times: 3,\n },\n info: {\n comparisonOperator: \"LessThanLastWeek\",\n statistics: \"Average\",\n threshold: \"90\",\n times: 5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\",\n alarm_contact_group_name=name,\n describe=name)\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\",\n monitor_group_name=name,\n contact_groups=[default.id])\nthis = alicloud.cms.GroupMetricRule(\"this\",\n group_id=default_monitor_group.id,\n group_metric_rule_name=name,\n category=\"ecs\",\n metric_name=\"cpu_total\",\n namespace=\"acs_ecs_dashboard\",\n rule_id=name,\n period=60,\n interval=\"3600\",\n silence_time=85800,\n no_effective_interval=\"00:00-05:30\",\n webhook=\"http://www.aliyun.com\",\n escalations={\n \"warn\": {\n \"comparison_operator\": \"GreaterThanOrEqualToThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": 3,\n },\n \"info\": {\n \"comparison_operator\": \"LessThanLastWeek\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": 5,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n Describe = name,\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n ContactGroups = new[]\n {\n @default.Id,\n },\n });\n\n var @this = new AliCloud.Cms.GroupMetricRule(\"this\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n GroupMetricRuleName = name,\n Category = \"ecs\",\n MetricName = \"cpu_total\",\n Namespace = \"acs_ecs_dashboard\",\n RuleId = name,\n Period = 60,\n Interval = \"3600\",\n SilenceTime = 85800,\n NoEffectiveInterval = \"00:00-05:30\",\n Webhook = \"http://www.aliyun.com\",\n Escalations = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsArgs\n {\n Warn = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsWarnArgs\n {\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = 3,\n },\n Info = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsInfoArgs\n {\n ComparisonOperator = \"LessThanLastWeek\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t\tDescribe: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t_default.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 = cms.NewGroupMetricRule(ctx, \"this\", \u0026cms.GroupMetricRuleArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tGroupMetricRuleName: pulumi.String(name),\n\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\tMetricName: pulumi.String(\"cpu_total\"),\n\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tRuleId: pulumi.String(name),\n\t\t\tPeriod: pulumi.Int(60),\n\t\t\tInterval: pulumi.String(\"3600\"),\n\t\t\tSilenceTime: pulumi.Int(85800),\n\t\t\tNoEffectiveInterval: pulumi.String(\"00:00-05:30\"),\n\t\t\tWebhook: pulumi.String(\"http://www.aliyun.com\"),\n\t\t\tEscalations: \u0026cms.GroupMetricRuleEscalationsArgs{\n\t\t\t\tWarn: \u0026cms.GroupMetricRuleEscalationsWarnArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\tTimes: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tInfo: \u0026cms.GroupMetricRuleEscalationsInfoArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"LessThanLastWeek\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\tTimes: pulumi.Int(5),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cms.GroupMetricRule;\nimport com.pulumi.alicloud.cms.GroupMetricRuleArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsWarnArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .describe(name)\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .contactGroups(default_.id())\n .build());\n\n var this_ = new GroupMetricRule(\"this\", GroupMetricRuleArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .groupMetricRuleName(name)\n .category(\"ecs\")\n .metricName(\"cpu_total\")\n .namespace(\"acs_ecs_dashboard\")\n .ruleId(name)\n .period(60)\n .interval(\"3600\")\n .silenceTime(85800)\n .noEffectiveInterval(\"00:00-05:30\")\n .webhook(\"http://www.aliyun.com\")\n .escalations(GroupMetricRuleEscalationsArgs.builder()\n .warn(GroupMetricRuleEscalationsWarnArgs.builder()\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(3)\n .build())\n .info(GroupMetricRuleEscalationsInfoArgs.builder()\n .comparisonOperator(\"LessThanLastWeek\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(5)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n describe: ${name}\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n contactGroups:\n - ${default.id}\n this:\n type: alicloud:cms:GroupMetricRule\n properties:\n groupId: ${defaultMonitorGroup.id}\n groupMetricRuleName: ${name}\n category: ecs\n metricName: cpu_total\n namespace: acs_ecs_dashboard\n ruleId: ${name}\n period: '60'\n interval: '3600'\n silenceTime: 85800\n noEffectiveInterval: 00:00-05:30\n webhook: http://www.aliyun.com\n escalations:\n warn:\n comparisonOperator: GreaterThanOrEqualToThreshold\n statistics: Average\n threshold: '90'\n times: 3\n info:\n comparisonOperator: LessThanLastWeek\n statistics: Average\n threshold: '90'\n times: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Group Metric Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/groupMetricRule:GroupMetricRule example \u003crule_id\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Group Metric Rule resource.\n\nFor information about Cloud Monitor Service Group Metric Rule and how to use it, see [What is Group Metric Rule](https://www.alibabacloud.com/help/en/cloudmonitor/latest/putgroupmetricrule).\n\n\u003e **NOTE:** Available since v1.104.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.cms.AlarmContactGroup(\"default\", {\n alarmContactGroupName: name,\n describe: name,\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {\n monitorGroupName: name,\n contactGroups: [_default.id],\n});\nconst _this = new alicloud.cms.GroupMetricRule(\"this\", {\n groupId: defaultMonitorGroup.id,\n groupMetricRuleName: name,\n category: \"ecs\",\n metricName: \"cpu_total\",\n namespace: \"acs_ecs_dashboard\",\n ruleId: name,\n period: 60,\n interval: \"3600\",\n silenceTime: 85800,\n noEffectiveInterval: \"00:00-05:30\",\n webhook: \"http://www.aliyun.com\",\n escalations: {\n warn: {\n comparisonOperator: \"GreaterThanOrEqualToThreshold\",\n statistics: \"Average\",\n threshold: \"90\",\n times: 3,\n },\n info: {\n comparisonOperator: \"LessThanLastWeek\",\n statistics: \"Average\",\n threshold: \"90\",\n times: 5,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.cms.AlarmContactGroup(\"default\",\n alarm_contact_group_name=name,\n describe=name)\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\",\n monitor_group_name=name,\n contact_groups=[default.id])\nthis = alicloud.cms.GroupMetricRule(\"this\",\n group_id=default_monitor_group.id,\n group_metric_rule_name=name,\n category=\"ecs\",\n metric_name=\"cpu_total\",\n namespace=\"acs_ecs_dashboard\",\n rule_id=name,\n period=60,\n interval=\"3600\",\n silence_time=85800,\n no_effective_interval=\"00:00-05:30\",\n webhook=\"http://www.aliyun.com\",\n escalations={\n \"warn\": {\n \"comparison_operator\": \"GreaterThanOrEqualToThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": 3,\n },\n \"info\": {\n \"comparison_operator\": \"LessThanLastWeek\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": 5,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n Describe = name,\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n ContactGroups = new[]\n {\n @default.Id,\n },\n });\n\n var @this = new AliCloud.Cms.GroupMetricRule(\"this\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n GroupMetricRuleName = name,\n Category = \"ecs\",\n MetricName = \"cpu_total\",\n Namespace = \"acs_ecs_dashboard\",\n RuleId = name,\n Period = 60,\n Interval = \"3600\",\n SilenceTime = 85800,\n NoEffectiveInterval = \"00:00-05:30\",\n Webhook = \"http://www.aliyun.com\",\n Escalations = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsArgs\n {\n Warn = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsWarnArgs\n {\n ComparisonOperator = \"GreaterThanOrEqualToThreshold\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = 3,\n },\n Info = new AliCloud.Cms.Inputs.GroupMetricRuleEscalationsInfoArgs\n {\n ComparisonOperator = \"LessThanLastWeek\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t\tDescribe: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\t_default.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 = cms.NewGroupMetricRule(ctx, \"this\", \u0026cms.GroupMetricRuleArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tGroupMetricRuleName: pulumi.String(name),\n\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\tMetricName: pulumi.String(\"cpu_total\"),\n\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tRuleId: pulumi.String(name),\n\t\t\tPeriod: pulumi.Int(60),\n\t\t\tInterval: pulumi.String(\"3600\"),\n\t\t\tSilenceTime: pulumi.Int(85800),\n\t\t\tNoEffectiveInterval: pulumi.String(\"00:00-05:30\"),\n\t\t\tWebhook: pulumi.String(\"http://www.aliyun.com\"),\n\t\t\tEscalations: \u0026cms.GroupMetricRuleEscalationsArgs{\n\t\t\t\tWarn: \u0026cms.GroupMetricRuleEscalationsWarnArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanOrEqualToThreshold\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\tTimes: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\tInfo: \u0026cms.GroupMetricRuleEscalationsInfoArgs{\n\t\t\t\t\tComparisonOperator: pulumi.String(\"LessThanLastWeek\"),\n\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\tTimes: pulumi.Int(5),\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.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.cms.GroupMetricRule;\nimport com.pulumi.alicloud.cms.GroupMetricRuleArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsWarnArgs;\nimport com.pulumi.alicloud.cms.inputs.GroupMetricRuleEscalationsInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new AlarmContactGroup(\"default\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .describe(name)\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .contactGroups(default_.id())\n .build());\n\n var this_ = new GroupMetricRule(\"this\", GroupMetricRuleArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .groupMetricRuleName(name)\n .category(\"ecs\")\n .metricName(\"cpu_total\")\n .namespace(\"acs_ecs_dashboard\")\n .ruleId(name)\n .period(60)\n .interval(\"3600\")\n .silenceTime(85800)\n .noEffectiveInterval(\"00:00-05:30\")\n .webhook(\"http://www.aliyun.com\")\n .escalations(GroupMetricRuleEscalationsArgs.builder()\n .warn(GroupMetricRuleEscalationsWarnArgs.builder()\n .comparisonOperator(\"GreaterThanOrEqualToThreshold\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(3)\n .build())\n .info(GroupMetricRuleEscalationsInfoArgs.builder()\n .comparisonOperator(\"LessThanLastWeek\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(5)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:cms:AlarmContactGroup\n properties:\n alarmContactGroupName: ${name}\n describe: ${name}\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n contactGroups:\n - ${default.id}\n this:\n type: alicloud:cms:GroupMetricRule\n properties:\n groupId: ${defaultMonitorGroup.id}\n groupMetricRuleName: ${name}\n category: ecs\n metricName: cpu_total\n namespace: acs_ecs_dashboard\n ruleId: ${name}\n period: '60'\n interval: '3600'\n silenceTime: 85800\n noEffectiveInterval: 00:00-05:30\n webhook: http://www.aliyun.com\n escalations:\n warn:\n comparisonOperator: GreaterThanOrEqualToThreshold\n statistics: Average\n threshold: '90'\n times: 3\n info:\n comparisonOperator: LessThanLastWeek\n statistics: Average\n threshold: '90'\n times: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Group Metric Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/groupMetricRule:GroupMetricRule example \u003crule_id\u003e\n```\n\n", "properties": { "category": { "type": "string", @@ -127689,7 +129677,7 @@ } }, "alicloud:cms/hybridMonitorFcTask:HybridMonitorFcTask": { - "description": "Provides a Cloud Monitor Service Hybrid Monitor Fc Task resource.\n\nFor information about Cloud Monitor Service Hybrid Monitor Fc Task and how to use it, see [What is Hybrid Monitor Fc Task](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitortask).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {\n description: name,\n namespace: name,\n specification: \"cms.s1.large\",\n});\nconst defaultHybridMonitorFcTask = new alicloud.cms.HybridMonitorFcTask(\"default\", {\n namespace: defaultNamespace.id,\n yarmConfig: `---\nproducts:\n- namespace: \\\\\"acs_ecs_dashboard\\\\\"\n metric_info:\n - metric_list:\n - \\\\\"CPUUtilization\\\\\"\n - \\\\\"DiskReadBPS\\\\\"\n - \\\\\"InternetOut\\\\\"\n - \\\\\"IntranetOut\\\\\"\n - \\\\\"cpu_idle\\\\\"\n - \\\\\"cpu_system\\\\\"\n - \\\\\"cpu_total\\\\\"\n - \\\\\"diskusage_utilization\\\\\"\n- namespace: \\\\\"acs_rds_dashboard\\\\\"\n metric_info:\n - metric_list:\n - \\\\\"MySQL_QPS\\\\\"\n - \\\\\"MySQL_TPS\\\\\"\n`,\n targetUserId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\ndefault_namespace = alicloud.cms.Namespace(\"default\",\n description=name,\n namespace=name,\n specification=\"cms.s1.large\")\ndefault_hybrid_monitor_fc_task = alicloud.cms.HybridMonitorFcTask(\"default\",\n namespace=default_namespace.id,\n yarm_config=\"\"\"---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n\"\"\",\n target_user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n Description = name,\n NamespaceName = name,\n Specification = \"cms.s1.large\",\n });\n\n var defaultHybridMonitorFcTask = new AliCloud.Cms.HybridMonitorFcTask(\"default\", new()\n {\n Namespace = defaultNamespace.Id,\n YarmConfig = @\"---\nproducts:\n- namespace: \\\"\"acs_ecs_dashboard\\\"\"\n metric_info:\n - metric_list:\n - \\\"\"CPUUtilization\\\"\"\n - \\\"\"DiskReadBPS\\\"\"\n - \\\"\"InternetOut\\\"\"\n - \\\"\"IntranetOut\\\"\"\n - \\\"\"cpu_idle\\\"\"\n - \\\"\"cpu_system\\\"\"\n - \\\"\"cpu_total\\\"\"\n - \\\"\"diskusage_utilization\\\"\"\n- namespace: \\\"\"acs_rds_dashboard\\\"\"\n metric_info:\n - metric_list:\n - \\\"\"MySQL_QPS\\\"\"\n - \\\"\"MySQL_TPS\\\"\"\n\",\n TargetUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.String(name),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewHybridMonitorFcTask(ctx, \"default\", \u0026cms.HybridMonitorFcTaskArgs{\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tYarmConfig: pulumi.String(`---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n`),\n\t\t\tTargetUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cms.HybridMonitorFcTask;\nimport com.pulumi.alicloud.cms.HybridMonitorFcTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .description(name)\n .namespace(name)\n .specification(\"cms.s1.large\")\n .build());\n\n var defaultHybridMonitorFcTask = new HybridMonitorFcTask(\"defaultHybridMonitorFcTask\", HybridMonitorFcTaskArgs.builder()\n .namespace(defaultNamespace.id())\n .yarmConfig(\"\"\"\n---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n \"\"\")\n .targetUserId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}\n specification: cms.s1.large\n defaultHybridMonitorFcTask:\n type: alicloud:cms:HybridMonitorFcTask\n name: default\n properties:\n namespace: ${defaultNamespace.id}\n yarmConfig: |\n ---\n products:\n - namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n - namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n targetUserId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/hybridMonitorFcTask:HybridMonitorFcTask example \u003chybrid_monitor_fc_task_id\u003e:\u003cnamespace\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Hybrid Monitor Fc Task resource.\n\nFor information about Cloud Monitor Service Hybrid Monitor Fc Task and how to use it, see [What is Hybrid Monitor Fc Task](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitortask).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {\n description: name,\n namespace: name,\n specification: \"cms.s1.large\",\n});\nconst defaultHybridMonitorFcTask = new alicloud.cms.HybridMonitorFcTask(\"default\", {\n namespace: defaultNamespace.id,\n yarmConfig: `---\nproducts:\n- namespace: \\\\\"acs_ecs_dashboard\\\\\"\n metric_info:\n - metric_list:\n - \\\\\"CPUUtilization\\\\\"\n - \\\\\"DiskReadBPS\\\\\"\n - \\\\\"InternetOut\\\\\"\n - \\\\\"IntranetOut\\\\\"\n - \\\\\"cpu_idle\\\\\"\n - \\\\\"cpu_system\\\\\"\n - \\\\\"cpu_total\\\\\"\n - \\\\\"diskusage_utilization\\\\\"\n- namespace: \\\\\"acs_rds_dashboard\\\\\"\n metric_info:\n - metric_list:\n - \\\\\"MySQL_QPS\\\\\"\n - \\\\\"MySQL_TPS\\\\\"\n`,\n targetUserId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\ndefault_namespace = alicloud.cms.Namespace(\"default\",\n description=name,\n namespace=name,\n specification=\"cms.s1.large\")\ndefault_hybrid_monitor_fc_task = alicloud.cms.HybridMonitorFcTask(\"default\",\n namespace=default_namespace.id,\n yarm_config=\"\"\"---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n\"\"\",\n target_user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n Description = name,\n NamespaceName = name,\n Specification = \"cms.s1.large\",\n });\n\n var defaultHybridMonitorFcTask = new AliCloud.Cms.HybridMonitorFcTask(\"default\", new()\n {\n Namespace = defaultNamespace.Id,\n YarmConfig = @\"---\nproducts:\n- namespace: \\\"\"acs_ecs_dashboard\\\"\"\n metric_info:\n - metric_list:\n - \\\"\"CPUUtilization\\\"\"\n - \\\"\"DiskReadBPS\\\"\"\n - \\\"\"InternetOut\\\"\"\n - \\\"\"IntranetOut\\\"\"\n - \\\"\"cpu_idle\\\"\"\n - \\\"\"cpu_system\\\"\"\n - \\\"\"cpu_total\\\"\"\n - \\\"\"diskusage_utilization\\\"\"\n- namespace: \\\"\"acs_rds_dashboard\\\"\"\n metric_info:\n - metric_list:\n - \\\"\"MySQL_QPS\\\"\"\n - \\\"\"MySQL_TPS\\\"\"\n\",\n TargetUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.String(name),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewHybridMonitorFcTask(ctx, \"default\", \u0026cms.HybridMonitorFcTaskArgs{\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tYarmConfig: pulumi.String(`---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n`),\n\t\t\tTargetUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cms.HybridMonitorFcTask;\nimport com.pulumi.alicloud.cms.HybridMonitorFcTaskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .description(name)\n .namespace(name)\n .specification(\"cms.s1.large\")\n .build());\n\n var defaultHybridMonitorFcTask = new HybridMonitorFcTask(\"defaultHybridMonitorFcTask\", HybridMonitorFcTaskArgs.builder()\n .namespace(defaultNamespace.id())\n .yarmConfig(\"\"\"\n---\nproducts:\n- namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n- namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n \"\"\")\n .targetUserId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}\n specification: cms.s1.large\n defaultHybridMonitorFcTask:\n type: alicloud:cms:HybridMonitorFcTask\n name: default\n properties:\n namespace: ${defaultNamespace.id}\n yarmConfig: |\n ---\n products:\n - namespace: \\\"acs_ecs_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"CPUUtilization\\\"\n - \\\"DiskReadBPS\\\"\n - \\\"InternetOut\\\"\n - \\\"IntranetOut\\\"\n - \\\"cpu_idle\\\"\n - \\\"cpu_system\\\"\n - \\\"cpu_total\\\"\n - \\\"diskusage_utilization\\\"\n - namespace: \\\"acs_rds_dashboard\\\"\n metric_info:\n - metric_list:\n - \\\"MySQL_QPS\\\"\n - \\\"MySQL_TPS\\\"\n targetUserId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/hybridMonitorFcTask:HybridMonitorFcTask example \u003chybrid_monitor_fc_task_id\u003e:\u003cnamespace\u003e\n```\n\n", "properties": { "hybridMonitorFcTaskId": { "type": "string", @@ -127760,7 +129748,7 @@ } }, "alicloud:cms/hybridMonitorSlsTask:HybridMonitorSlsTask": { - "description": "Provides a Cloud Monitor Service Hybrid Monitor Sls Task resource.\n\nFor information about Cloud Monitor Service Hybrid Monitor Sls Task and how to use it, see [What is Hybrid Monitor Sls Task](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitortask).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultSlsGroup = new alicloud.cms.SlsGroup(\"default\", {\n slsGroupConfigs: [{\n slsUserId: _default.then(_default =\u003e _default.id),\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n slsRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n }],\n slsGroupDescription: name,\n slsGroupName: name,\n});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {\n namespace: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n specification: \"cms.s1.large\",\n});\nconst defaultHybridMonitorSlsTask = new alicloud.cms.HybridMonitorSlsTask(\"default\", {\n taskName: name,\n namespace: defaultNamespace.id,\n description: name,\n collectInterval: 60,\n collectTargetType: defaultSlsGroup.id,\n slsProcessConfig: {\n filter: {\n relation: \"and\",\n filters: [{\n operator: \"=\",\n value: \"200\",\n slsKeyName: \"code\",\n }],\n },\n statistics: [{\n \"function\": \"count\",\n alias: \"level_count\",\n slsKeyName: \"name\",\n parameterOne: \"200\",\n parameterTwo: \"299\",\n }],\n groupBies: [{\n alias: \"code\",\n slsKeyName: \"ApiResult\",\n }],\n expresses: [{\n express: \"success_count\",\n alias: \"SuccRate\",\n }],\n },\n attachLabels: [{\n name: \"app_service\",\n value: \"example_Value\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_sls_group = alicloud.cms.SlsGroup(\"default\",\n sls_group_configs=[{\n \"sls_user_id\": default.id,\n \"sls_logstore\": default_store.logstore_name,\n \"sls_project\": default_project.project_name,\n \"sls_region\": default_get_regions.regions[0].id,\n }],\n sls_group_description=name,\n sls_group_name=name)\ndefault_namespace = alicloud.cms.Namespace(\"default\",\n namespace=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n specification=\"cms.s1.large\")\ndefault_hybrid_monitor_sls_task = alicloud.cms.HybridMonitorSlsTask(\"default\",\n task_name=name,\n namespace=default_namespace.id,\n description=name,\n collect_interval=60,\n collect_target_type=default_sls_group.id,\n sls_process_config={\n \"filter\": {\n \"relation\": \"and\",\n \"filters\": [{\n \"operator\": \"=\",\n \"value\": \"200\",\n \"sls_key_name\": \"code\",\n }],\n },\n \"statistics\": [{\n \"function\": \"count\",\n \"alias\": \"level_count\",\n \"sls_key_name\": \"name\",\n \"parameter_one\": \"200\",\n \"parameter_two\": \"299\",\n }],\n \"group_bies\": [{\n \"alias\": \"code\",\n \"sls_key_name\": \"ApiResult\",\n }],\n \"expresses\": [{\n \"express\": \"success_count\",\n \"alias\": \"SuccRate\",\n }],\n },\n attach_labels=[{\n \"name\": \"app_service\",\n \"value\": \"example_Value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultSlsGroup = new AliCloud.Cms.SlsGroup(\"default\", new()\n {\n SlsGroupConfigs = new[]\n {\n new AliCloud.Cms.Inputs.SlsGroupSlsGroupConfigArgs\n {\n SlsUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n SlsRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n },\n },\n SlsGroupDescription = name,\n SlsGroupName = name,\n });\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n NamespaceName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Specification = \"cms.s1.large\",\n });\n\n var defaultHybridMonitorSlsTask = new AliCloud.Cms.HybridMonitorSlsTask(\"default\", new()\n {\n TaskName = name,\n Namespace = defaultNamespace.Id,\n Description = name,\n CollectInterval = 60,\n CollectTargetType = defaultSlsGroup.Id,\n SlsProcessConfig = new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigArgs\n {\n Filter = new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigFilterArgs\n {\n Relation = \"and\",\n Filters = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs\n {\n Operator = \"=\",\n Value = \"200\",\n SlsKeyName = \"code\",\n },\n },\n },\n Statistics = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigStatisticArgs\n {\n Function = \"count\",\n Alias = \"level_count\",\n SlsKeyName = \"name\",\n ParameterOne = \"200\",\n ParameterTwo = \"299\",\n },\n },\n GroupBies = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigGroupByArgs\n {\n Alias = \"code\",\n SlsKeyName = \"ApiResult\",\n },\n },\n Expresses = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigExpressArgs\n {\n Express = \"success_count\",\n Alias = \"SuccRate\",\n },\n },\n },\n AttachLabels = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskAttachLabelArgs\n {\n Name = \"app_service\",\n Value = \"example_Value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSlsGroup, err := cms.NewSlsGroup(ctx, \"default\", \u0026cms.SlsGroupArgs{\n\t\t\tSlsGroupConfigs: cms.SlsGroupSlsGroupConfigArray{\n\t\t\t\t\u0026cms.SlsGroupSlsGroupConfigArgs{\n\t\t\t\t\tSlsUserId: pulumi.String(_default.Id),\n\t\t\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t\t\t\tSlsRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlsGroupDescription: pulumi.String(name),\n\t\t\tSlsGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(invokeSubstr1.Result),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewHybridMonitorSlsTask(ctx, \"default\", \u0026cms.HybridMonitorSlsTaskArgs{\n\t\t\tTaskName: pulumi.String(name),\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCollectInterval: pulumi.Int(60),\n\t\t\tCollectTargetType: defaultSlsGroup.ID(),\n\t\t\tSlsProcessConfig: \u0026cms.HybridMonitorSlsTaskSlsProcessConfigArgs{\n\t\t\t\tFilter: \u0026cms.HybridMonitorSlsTaskSlsProcessConfigFilterArgs{\n\t\t\t\t\tRelation: pulumi.String(\"and\"),\n\t\t\t\t\tFilters: cms.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArray{\n\t\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs{\n\t\t\t\t\t\t\tOperator: pulumi.String(\"=\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"200\"),\n\t\t\t\t\t\t\tSlsKeyName: pulumi.String(\"code\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStatistics: cms.HybridMonitorSlsTaskSlsProcessConfigStatisticArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigStatisticArgs{\n\t\t\t\t\t\tFunction: pulumi.String(\"count\"),\n\t\t\t\t\t\tAlias: pulumi.String(\"level_count\"),\n\t\t\t\t\t\tSlsKeyName: pulumi.String(\"name\"),\n\t\t\t\t\t\tParameterOne: pulumi.String(\"200\"),\n\t\t\t\t\t\tParameterTwo: pulumi.String(\"299\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tGroupBies: cms.HybridMonitorSlsTaskSlsProcessConfigGroupByArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigGroupByArgs{\n\t\t\t\t\t\tAlias: pulumi.String(\"code\"),\n\t\t\t\t\t\tSlsKeyName: pulumi.String(\"ApiResult\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExpresses: cms.HybridMonitorSlsTaskSlsProcessConfigExpressArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigExpressArgs{\n\t\t\t\t\t\tExpress: pulumi.String(\"success_count\"),\n\t\t\t\t\t\tAlias: pulumi.String(\"SuccRate\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAttachLabels: cms.HybridMonitorSlsTaskAttachLabelArray{\n\t\t\t\t\u0026cms.HybridMonitorSlsTaskAttachLabelArgs{\n\t\t\t\t\tName: pulumi.String(\"app_service\"),\n\t\t\t\t\tValue: pulumi.String(\"example_Value\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cms.SlsGroup;\nimport com.pulumi.alicloud.cms.SlsGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.SlsGroupSlsGroupConfigArgs;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cms.HybridMonitorSlsTask;\nimport com.pulumi.alicloud.cms.HybridMonitorSlsTaskArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskSlsProcessConfigArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskSlsProcessConfigFilterArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskAttachLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultSlsGroup = new SlsGroup(\"defaultSlsGroup\", SlsGroupArgs.builder()\n .slsGroupConfigs(SlsGroupSlsGroupConfigArgs.builder()\n .slsUserId(default_.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .slsRegion(defaultGetRegions.regions()[0].id())\n .build())\n .slsGroupDescription(name)\n .slsGroupName(name)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespace(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .specification(\"cms.s1.large\")\n .build());\n\n var defaultHybridMonitorSlsTask = new HybridMonitorSlsTask(\"defaultHybridMonitorSlsTask\", HybridMonitorSlsTaskArgs.builder()\n .taskName(name)\n .namespace(defaultNamespace.id())\n .description(name)\n .collectInterval(60)\n .collectTargetType(defaultSlsGroup.id())\n .slsProcessConfig(HybridMonitorSlsTaskSlsProcessConfigArgs.builder()\n .filter(HybridMonitorSlsTaskSlsProcessConfigFilterArgs.builder()\n .relation(\"and\")\n .filters(HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs.builder()\n .operator(\"=\")\n .value(\"200\")\n .slsKeyName(\"code\")\n .build())\n .build())\n .statistics(HybridMonitorSlsTaskSlsProcessConfigStatisticArgs.builder()\n .function(\"count\")\n .alias(\"level_count\")\n .slsKeyName(\"name\")\n .parameterOne(\"200\")\n .parameterTwo(\"299\")\n .build())\n .groupBies(HybridMonitorSlsTaskSlsProcessConfigGroupByArgs.builder()\n .alias(\"code\")\n .slsKeyName(\"ApiResult\")\n .build())\n .expresses(HybridMonitorSlsTaskSlsProcessConfigExpressArgs.builder()\n .express(\"success_count\")\n .alias(\"SuccRate\")\n .build())\n .build())\n .attachLabels(HybridMonitorSlsTaskAttachLabelArgs.builder()\n .name(\"app_service\")\n .value(\"example_Value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultSlsGroup:\n type: alicloud:cms:SlsGroup\n name: default\n properties:\n slsGroupConfigs:\n - slsUserId: ${default.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\n slsRegion: ${defaultGetRegions.regions[0].id}\n slsGroupDescription: ${name}\n slsGroupName: ${name}\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n namespace:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n specification: cms.s1.large\n defaultHybridMonitorSlsTask:\n type: alicloud:cms:HybridMonitorSlsTask\n name: default\n properties:\n taskName: ${name}\n namespace: ${defaultNamespace.id}\n description: ${name}\n collectInterval: 60\n collectTargetType: ${defaultSlsGroup.id}\n slsProcessConfig:\n filter:\n relation: and\n filters:\n - operator: =\n value: '200'\n slsKeyName: code\n statistics:\n - function: count\n alias: level_count\n slsKeyName: name\n parameterOne: '200'\n parameterTwo: '299'\n groupBies:\n - alias: code\n slsKeyName: ApiResult\n expresses:\n - express: success_count\n alias: SuccRate\n attachLabels:\n - name: app_service\n value: example_Value\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/hybridMonitorSlsTask:HybridMonitorSlsTask example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Hybrid Monitor Sls Task resource.\n\nFor information about Cloud Monitor Service Hybrid Monitor Sls Task and how to use it, see [What is Hybrid Monitor Sls Task](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitortask).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultSlsGroup = new alicloud.cms.SlsGroup(\"default\", {\n slsGroupConfigs: [{\n slsUserId: _default.then(_default =\u003e _default.id),\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n slsRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n }],\n slsGroupDescription: name,\n slsGroupName: name,\n});\nconst defaultNamespace = new alicloud.cms.Namespace(\"default\", {\n namespace: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n specification: \"cms.s1.large\",\n});\nconst defaultHybridMonitorSlsTask = new alicloud.cms.HybridMonitorSlsTask(\"default\", {\n taskName: name,\n namespace: defaultNamespace.id,\n description: name,\n collectInterval: 60,\n collectTargetType: defaultSlsGroup.id,\n slsProcessConfig: {\n filter: {\n relation: \"and\",\n filters: [{\n operator: \"=\",\n value: \"200\",\n slsKeyName: \"code\",\n }],\n },\n statistics: [{\n \"function\": \"count\",\n alias: \"level_count\",\n slsKeyName: \"name\",\n parameterOne: \"200\",\n parameterTwo: \"299\",\n }],\n groupBies: [{\n alias: \"code\",\n slsKeyName: \"ApiResult\",\n }],\n expresses: [{\n express: \"success_count\",\n alias: \"SuccRate\",\n }],\n },\n attachLabels: [{\n name: \"app_service\",\n value: \"example_Value\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_sls_group = alicloud.cms.SlsGroup(\"default\",\n sls_group_configs=[{\n \"sls_user_id\": default.id,\n \"sls_logstore\": default_store.logstore_name,\n \"sls_project\": default_project.project_name,\n \"sls_region\": default_get_regions.regions[0].id,\n }],\n sls_group_description=name,\n sls_group_name=name)\ndefault_namespace = alicloud.cms.Namespace(\"default\",\n namespace=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n specification=\"cms.s1.large\")\ndefault_hybrid_monitor_sls_task = alicloud.cms.HybridMonitorSlsTask(\"default\",\n task_name=name,\n namespace=default_namespace.id,\n description=name,\n collect_interval=60,\n collect_target_type=default_sls_group.id,\n sls_process_config={\n \"filter\": {\n \"relation\": \"and\",\n \"filters\": [{\n \"operator\": \"=\",\n \"value\": \"200\",\n \"sls_key_name\": \"code\",\n }],\n },\n \"statistics\": [{\n \"function\": \"count\",\n \"alias\": \"level_count\",\n \"sls_key_name\": \"name\",\n \"parameter_one\": \"200\",\n \"parameter_two\": \"299\",\n }],\n \"group_bies\": [{\n \"alias\": \"code\",\n \"sls_key_name\": \"ApiResult\",\n }],\n \"expresses\": [{\n \"express\": \"success_count\",\n \"alias\": \"SuccRate\",\n }],\n },\n attach_labels=[{\n \"name\": \"app_service\",\n \"value\": \"example_Value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultSlsGroup = new AliCloud.Cms.SlsGroup(\"default\", new()\n {\n SlsGroupConfigs = new[]\n {\n new AliCloud.Cms.Inputs.SlsGroupSlsGroupConfigArgs\n {\n SlsUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n SlsRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n },\n },\n SlsGroupDescription = name,\n SlsGroupName = name,\n });\n\n var defaultNamespace = new AliCloud.Cms.Namespace(\"default\", new()\n {\n NamespaceName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Specification = \"cms.s1.large\",\n });\n\n var defaultHybridMonitorSlsTask = new AliCloud.Cms.HybridMonitorSlsTask(\"default\", new()\n {\n TaskName = name,\n Namespace = defaultNamespace.Id,\n Description = name,\n CollectInterval = 60,\n CollectTargetType = defaultSlsGroup.Id,\n SlsProcessConfig = new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigArgs\n {\n Filter = new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigFilterArgs\n {\n Relation = \"and\",\n Filters = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs\n {\n Operator = \"=\",\n Value = \"200\",\n SlsKeyName = \"code\",\n },\n },\n },\n Statistics = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigStatisticArgs\n {\n Function = \"count\",\n Alias = \"level_count\",\n SlsKeyName = \"name\",\n ParameterOne = \"200\",\n ParameterTwo = \"299\",\n },\n },\n GroupBies = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigGroupByArgs\n {\n Alias = \"code\",\n SlsKeyName = \"ApiResult\",\n },\n },\n Expresses = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskSlsProcessConfigExpressArgs\n {\n Express = \"success_count\",\n Alias = \"SuccRate\",\n },\n },\n },\n AttachLabels = new[]\n {\n new AliCloud.Cms.Inputs.HybridMonitorSlsTaskAttachLabelArgs\n {\n Name = \"app_service\",\n Value = \"example_Value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSlsGroup, err := cms.NewSlsGroup(ctx, \"default\", \u0026cms.SlsGroupArgs{\n\t\t\tSlsGroupConfigs: cms.SlsGroupSlsGroupConfigArray{\n\t\t\t\t\u0026cms.SlsGroupSlsGroupConfigArgs{\n\t\t\t\t\tSlsUserId: pulumi.String(_default.Id),\n\t\t\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t\t\t\tSlsRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlsGroupDescription: pulumi.String(name),\n\t\t\tSlsGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr1, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := cms.NewNamespace(ctx, \"default\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(invokeSubstr1.Result),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewHybridMonitorSlsTask(ctx, \"default\", \u0026cms.HybridMonitorSlsTaskArgs{\n\t\t\tTaskName: pulumi.String(name),\n\t\t\tNamespace: defaultNamespace.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCollectInterval: pulumi.Int(60),\n\t\t\tCollectTargetType: defaultSlsGroup.ID(),\n\t\t\tSlsProcessConfig: \u0026cms.HybridMonitorSlsTaskSlsProcessConfigArgs{\n\t\t\t\tFilter: \u0026cms.HybridMonitorSlsTaskSlsProcessConfigFilterArgs{\n\t\t\t\t\tRelation: pulumi.String(\"and\"),\n\t\t\t\t\tFilters: cms.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArray{\n\t\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs{\n\t\t\t\t\t\t\tOperator: pulumi.String(\"=\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"200\"),\n\t\t\t\t\t\t\tSlsKeyName: pulumi.String(\"code\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStatistics: cms.HybridMonitorSlsTaskSlsProcessConfigStatisticArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigStatisticArgs{\n\t\t\t\t\t\tFunction: pulumi.String(\"count\"),\n\t\t\t\t\t\tAlias: pulumi.String(\"level_count\"),\n\t\t\t\t\t\tSlsKeyName: pulumi.String(\"name\"),\n\t\t\t\t\t\tParameterOne: pulumi.String(\"200\"),\n\t\t\t\t\t\tParameterTwo: pulumi.String(\"299\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tGroupBies: cms.HybridMonitorSlsTaskSlsProcessConfigGroupByArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigGroupByArgs{\n\t\t\t\t\t\tAlias: pulumi.String(\"code\"),\n\t\t\t\t\t\tSlsKeyName: pulumi.String(\"ApiResult\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExpresses: cms.HybridMonitorSlsTaskSlsProcessConfigExpressArray{\n\t\t\t\t\t\u0026cms.HybridMonitorSlsTaskSlsProcessConfigExpressArgs{\n\t\t\t\t\t\tExpress: pulumi.String(\"success_count\"),\n\t\t\t\t\t\tAlias: pulumi.String(\"SuccRate\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAttachLabels: cms.HybridMonitorSlsTaskAttachLabelArray{\n\t\t\t\t\u0026cms.HybridMonitorSlsTaskAttachLabelArgs{\n\t\t\t\t\tName: pulumi.String(\"app_service\"),\n\t\t\t\t\tValue: pulumi.String(\"example_Value\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cms.SlsGroup;\nimport com.pulumi.alicloud.cms.SlsGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.SlsGroupSlsGroupConfigArgs;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport com.pulumi.alicloud.cms.HybridMonitorSlsTask;\nimport com.pulumi.alicloud.cms.HybridMonitorSlsTaskArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskSlsProcessConfigArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskSlsProcessConfigFilterArgs;\nimport com.pulumi.alicloud.cms.inputs.HybridMonitorSlsTaskAttachLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultSlsGroup = new SlsGroup(\"defaultSlsGroup\", SlsGroupArgs.builder()\n .slsGroupConfigs(SlsGroupSlsGroupConfigArgs.builder()\n .slsUserId(default_.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .slsRegion(defaultGetRegions.regions()[0].id())\n .build())\n .slsGroupDescription(name)\n .slsGroupName(name)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespace(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .specification(\"cms.s1.large\")\n .build());\n\n var defaultHybridMonitorSlsTask = new HybridMonitorSlsTask(\"defaultHybridMonitorSlsTask\", HybridMonitorSlsTaskArgs.builder()\n .taskName(name)\n .namespace(defaultNamespace.id())\n .description(name)\n .collectInterval(60)\n .collectTargetType(defaultSlsGroup.id())\n .slsProcessConfig(HybridMonitorSlsTaskSlsProcessConfigArgs.builder()\n .filter(HybridMonitorSlsTaskSlsProcessConfigFilterArgs.builder()\n .relation(\"and\")\n .filters(HybridMonitorSlsTaskSlsProcessConfigFilterFilterArgs.builder()\n .operator(\"=\")\n .value(\"200\")\n .slsKeyName(\"code\")\n .build())\n .build())\n .statistics(HybridMonitorSlsTaskSlsProcessConfigStatisticArgs.builder()\n .function(\"count\")\n .alias(\"level_count\")\n .slsKeyName(\"name\")\n .parameterOne(\"200\")\n .parameterTwo(\"299\")\n .build())\n .groupBies(HybridMonitorSlsTaskSlsProcessConfigGroupByArgs.builder()\n .alias(\"code\")\n .slsKeyName(\"ApiResult\")\n .build())\n .expresses(HybridMonitorSlsTaskSlsProcessConfigExpressArgs.builder()\n .express(\"success_count\")\n .alias(\"SuccRate\")\n .build())\n .build())\n .attachLabels(HybridMonitorSlsTaskAttachLabelArgs.builder()\n .name(\"app_service\")\n .value(\"example_Value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultSlsGroup:\n type: alicloud:cms:SlsGroup\n name: default\n properties:\n slsGroupConfigs:\n - slsUserId: ${default.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\n slsRegion: ${defaultGetRegions.regions[0].id}\n slsGroupDescription: ${name}\n slsGroupName: ${name}\n defaultNamespace:\n type: alicloud:cms:Namespace\n name: default\n properties:\n namespace:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n specification: cms.s1.large\n defaultHybridMonitorSlsTask:\n type: alicloud:cms:HybridMonitorSlsTask\n name: default\n properties:\n taskName: ${name}\n namespace: ${defaultNamespace.id}\n description: ${name}\n collectInterval: 60\n collectTargetType: ${defaultSlsGroup.id}\n slsProcessConfig:\n filter:\n relation: and\n filters:\n - operator: =\n value: '200'\n slsKeyName: code\n statistics:\n - function: count\n alias: level_count\n slsKeyName: name\n parameterOne: '200'\n parameterTwo: '299'\n groupBies:\n - alias: code\n slsKeyName: ApiResult\n expresses:\n - express: success_count\n alias: SuccRate\n attachLabels:\n - name: app_service\n value: example_Value\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/hybridMonitorSlsTask:HybridMonitorSlsTask example \u003cid\u003e\n```\n\n", "properties": { "attachLabels": { "type": "array", @@ -127885,7 +129873,7 @@ } }, "alicloud:cms/metricRuleBlackList:MetricRuleBlackList": { - "description": "Provides a Cloud Monitor Service Metric Rule Black List resource.\n\nFor information about Cloud Monitor Service Metric Rule Black List and how to use it, see [What is Metric Rule Black List](https://www.alibabacloud.com/help/en/cloudmonitor/latest/describemetricruleblacklist).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultMetricRuleBlackList = new alicloud.cms.MetricRuleBlackList(\"default\", {\n instances: [pulumi.interpolate`{\"instancceId\":\"${defaultInstance.id}\"}`],\n metrics: [{\n metricName: \"disk_utilization\",\n }],\n category: \"ecs\",\n enableEndTime: \"1799443209000\",\n namespace: \"acs_ecs_dashboard\",\n enableStartTime: \"1689243209000\",\n metricRuleBlackListName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_metric_rule_black_list = alicloud.cms.MetricRuleBlackList(\"default\",\n instances=[default_instance.id.apply(lambda id: f\"{{\\\"instancceId\\\":\\\"{id}\\\"}}\")],\n metrics=[{\n \"metric_name\": \"disk_utilization\",\n }],\n category=\"ecs\",\n enable_end_time=\"1799443209000\",\n namespace=\"acs_ecs_dashboard\",\n enable_start_time=\"1689243209000\",\n metric_rule_black_list_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultMetricRuleBlackList = new AliCloud.Cms.MetricRuleBlackList(\"default\", new()\n {\n Instances = new[]\n {\n defaultInstance.Id.Apply(id =\u003e $\"{{\\\"instancceId\\\":\\\"{id}\\\"}}\"),\n },\n Metrics = new[]\n {\n new AliCloud.Cms.Inputs.MetricRuleBlackListMetricArgs\n {\n MetricName = \"disk_utilization\",\n },\n },\n Category = \"ecs\",\n EnableEndTime = \"1799443209000\",\n Namespace = \"acs_ecs_dashboard\",\n EnableStartTime = \"1689243209000\",\n MetricRuleBlackListName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMetricRuleBlackList(ctx, \"default\", \u0026cms.MetricRuleBlackListArgs{\n\t\t\tInstances: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"{\\\"instancceId\\\":\\\"%v\\\"}\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tMetrics: cms.MetricRuleBlackListMetricArray{\n\t\t\t\t\u0026cms.MetricRuleBlackListMetricArgs{\n\t\t\t\t\tMetricName: pulumi.String(\"disk_utilization\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\tEnableEndTime: pulumi.String(\"1799443209000\"),\n\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tEnableStartTime: pulumi.String(\"1689243209000\"),\n\t\t\tMetricRuleBlackListName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cms.MetricRuleBlackList;\nimport com.pulumi.alicloud.cms.MetricRuleBlackListArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleBlackListMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultMetricRuleBlackList = new MetricRuleBlackList(\"defaultMetricRuleBlackList\", MetricRuleBlackListArgs.builder()\n .instances(defaultInstance.id().applyValue(_id -\u003e String.format(\"{{\\\"instancceId\\\":\\\"%s\\\"}}\", _id)))\n .metrics(MetricRuleBlackListMetricArgs.builder()\n .metricName(\"disk_utilization\")\n .build())\n .category(\"ecs\")\n .enableEndTime(\"1799443209000\")\n .namespace(\"acs_ecs_dashboard\")\n .enableStartTime(\"1689243209000\")\n .metricRuleBlackListName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultMetricRuleBlackList:\n type: alicloud:cms:MetricRuleBlackList\n name: default\n properties:\n instances:\n - '{\"instancceId\":\"${defaultInstance.id}\"}'\n metrics:\n - metricName: disk_utilization\n category: ecs\n enableEndTime: 1.799443209e+12\n namespace: acs_ecs_dashboard\n enableStartTime: 1.689243209e+12\n metricRuleBlackListName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Metric Rule Black List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/metricRuleBlackList:MetricRuleBlackList example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Metric Rule Black List resource.\n\nFor information about Cloud Monitor Service Metric Rule Black List and how to use it, see [What is Metric Rule Black List](https://www.alibabacloud.com/help/en/cloudmonitor/latest/describemetricruleblacklist).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultMetricRuleBlackList = new alicloud.cms.MetricRuleBlackList(\"default\", {\n instances: [pulumi.interpolate`{\"instancceId\":\"${defaultInstance.id}\"}`],\n metrics: [{\n metricName: \"disk_utilization\",\n }],\n category: \"ecs\",\n enableEndTime: \"1799443209000\",\n namespace: \"acs_ecs_dashboard\",\n enableStartTime: \"1689243209000\",\n metricRuleBlackListName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_metric_rule_black_list = alicloud.cms.MetricRuleBlackList(\"default\",\n instances=[default_instance.id.apply(lambda id: f\"{{\\\"instancceId\\\":\\\"{id}\\\"}}\")],\n metrics=[{\n \"metric_name\": \"disk_utilization\",\n }],\n category=\"ecs\",\n enable_end_time=\"1799443209000\",\n namespace=\"acs_ecs_dashboard\",\n enable_start_time=\"1689243209000\",\n metric_rule_black_list_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultMetricRuleBlackList = new AliCloud.Cms.MetricRuleBlackList(\"default\", new()\n {\n Instances = new[]\n {\n defaultInstance.Id.Apply(id =\u003e $\"{{\\\"instancceId\\\":\\\"{id}\\\"}}\"),\n },\n Metrics = new[]\n {\n new AliCloud.Cms.Inputs.MetricRuleBlackListMetricArgs\n {\n MetricName = \"disk_utilization\",\n },\n },\n Category = \"ecs\",\n EnableEndTime = \"1799443209000\",\n Namespace = \"acs_ecs_dashboard\",\n EnableStartTime = \"1689243209000\",\n MetricRuleBlackListName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMetricRuleBlackList(ctx, \"default\", \u0026cms.MetricRuleBlackListArgs{\n\t\t\tInstances: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"{\\\"instancceId\\\":\\\"%v\\\"}\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tMetrics: cms.MetricRuleBlackListMetricArray{\n\t\t\t\t\u0026cms.MetricRuleBlackListMetricArgs{\n\t\t\t\t\tMetricName: pulumi.String(\"disk_utilization\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\tEnableEndTime: pulumi.String(\"1799443209000\"),\n\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\tEnableStartTime: pulumi.String(\"1689243209000\"),\n\t\t\tMetricRuleBlackListName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.cms.MetricRuleBlackList;\nimport com.pulumi.alicloud.cms.MetricRuleBlackListArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleBlackListMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultMetricRuleBlackList = new MetricRuleBlackList(\"defaultMetricRuleBlackList\", MetricRuleBlackListArgs.builder()\n .instances(defaultInstance.id().applyValue(_id -\u003e String.format(\"{{\\\"instancceId\\\":\\\"%s\\\"}}\", _id)))\n .metrics(MetricRuleBlackListMetricArgs.builder()\n .metricName(\"disk_utilization\")\n .build())\n .category(\"ecs\")\n .enableEndTime(\"1799443209000\")\n .namespace(\"acs_ecs_dashboard\")\n .enableStartTime(\"1689243209000\")\n .metricRuleBlackListName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultMetricRuleBlackList:\n type: alicloud:cms:MetricRuleBlackList\n name: default\n properties:\n instances:\n - '{\"instancceId\":\"${defaultInstance.id}\"}'\n metrics:\n - metricName: disk_utilization\n category: ecs\n enableEndTime: 1.799443209e+12\n namespace: acs_ecs_dashboard\n enableStartTime: 1.689243209e+12\n metricRuleBlackListName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Metric Rule Black List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/metricRuleBlackList:MetricRuleBlackList example \u003cid\u003e\n```\n\n", "properties": { "category": { "type": "string", @@ -128102,7 +130090,7 @@ } }, "alicloud:cms/metricRuleTemplate:MetricRuleTemplate": { - "description": "Provides a Cloud Monitor Service Metric Rule Template resource.\n\nFor information about Cloud Monitor Service Metric Rule Template and how to use it, see [What is Metric Rule Template](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmetricruletemplate).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.cms.MetricRuleTemplate(\"example\", {\n metricRuleTemplateName: name,\n alertTemplates: [{\n category: \"ecs\",\n metricName: \"cpu_total\",\n namespace: \"acs_ecs_dashboard\",\n ruleName: \"tf_example\",\n escalations: {\n critical: {\n comparisonOperator: \"GreaterThanThreshold\",\n statistics: \"Average\",\n threshold: \"90\",\n times: \"3\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.cms.MetricRuleTemplate(\"example\",\n metric_rule_template_name=name,\n alert_templates=[{\n \"category\": \"ecs\",\n \"metric_name\": \"cpu_total\",\n \"namespace\": \"acs_ecs_dashboard\",\n \"rule_name\": \"tf_example\",\n \"escalations\": {\n \"critical\": {\n \"comparison_operator\": \"GreaterThanThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": \"3\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Cms.MetricRuleTemplate(\"example\", new()\n {\n MetricRuleTemplateName = name,\n AlertTemplates = new[]\n {\n new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateArgs\n {\n Category = \"ecs\",\n MetricName = \"cpu_total\",\n Namespace = \"acs_ecs_dashboard\",\n RuleName = \"tf_example\",\n Escalations = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsArgs\n {\n Critical = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs\n {\n ComparisonOperator = \"GreaterThanThreshold\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = \"3\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cms.NewMetricRuleTemplate(ctx, \"example\", \u0026cms.MetricRuleTemplateArgs{\n\t\t\tMetricRuleTemplateName: pulumi.String(name),\n\t\t\tAlertTemplates: cms.MetricRuleTemplateAlertTemplateArray{\n\t\t\t\t\u0026cms.MetricRuleTemplateAlertTemplateArgs{\n\t\t\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\t\t\tMetricName: pulumi.String(\"cpu_total\"),\n\t\t\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\t\t\tRuleName: pulumi.String(\"tf_example\"),\n\t\t\t\t\tEscalations: \u0026cms.MetricRuleTemplateAlertTemplateEscalationsArgs{\n\t\t\t\t\t\tCritical: \u0026cms.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs{\n\t\t\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"3\"),\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.alicloud.cms.MetricRuleTemplate;\nimport com.pulumi.alicloud.cms.MetricRuleTemplateArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new MetricRuleTemplate(\"example\", MetricRuleTemplateArgs.builder()\n .metricRuleTemplateName(name)\n .alertTemplates(MetricRuleTemplateAlertTemplateArgs.builder()\n .category(\"ecs\")\n .metricName(\"cpu_total\")\n .namespace(\"acs_ecs_dashboard\")\n .ruleName(\"tf_example\")\n .escalations(MetricRuleTemplateAlertTemplateEscalationsArgs.builder()\n .critical(MetricRuleTemplateAlertTemplateEscalationsCriticalArgs.builder()\n .comparisonOperator(\"GreaterThanThreshold\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(\"3\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:cms:MetricRuleTemplate\n properties:\n metricRuleTemplateName: ${name}\n alertTemplates:\n - category: ecs\n metricName: cpu_total\n namespace: acs_ecs_dashboard\n ruleName: tf_example\n escalations:\n critical:\n comparisonOperator: GreaterThanThreshold\n statistics: Average\n threshold: '90'\n times: '3'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Metric Rule Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/metricRuleTemplate:MetricRuleTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Metric Rule Template resource.\n\nFor information about Cloud Monitor Service Metric Rule Template and how to use it, see [What is Metric Rule Template](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmetricruletemplate).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.cms.MetricRuleTemplate(\"example\", {\n metricRuleTemplateName: name,\n alertTemplates: [{\n category: \"ecs\",\n metricName: \"cpu_total\",\n namespace: \"acs_ecs_dashboard\",\n ruleName: \"tf_example\",\n escalations: {\n critical: {\n comparisonOperator: \"GreaterThanThreshold\",\n statistics: \"Average\",\n threshold: \"90\",\n times: \"3\",\n },\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.cms.MetricRuleTemplate(\"example\",\n metric_rule_template_name=name,\n alert_templates=[{\n \"category\": \"ecs\",\n \"metric_name\": \"cpu_total\",\n \"namespace\": \"acs_ecs_dashboard\",\n \"rule_name\": \"tf_example\",\n \"escalations\": {\n \"critical\": {\n \"comparison_operator\": \"GreaterThanThreshold\",\n \"statistics\": \"Average\",\n \"threshold\": \"90\",\n \"times\": \"3\",\n },\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Cms.MetricRuleTemplate(\"example\", new()\n {\n MetricRuleTemplateName = name,\n AlertTemplates = new[]\n {\n new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateArgs\n {\n Category = \"ecs\",\n MetricName = \"cpu_total\",\n Namespace = \"acs_ecs_dashboard\",\n RuleName = \"tf_example\",\n Escalations = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsArgs\n {\n Critical = new AliCloud.Cms.Inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs\n {\n ComparisonOperator = \"GreaterThanThreshold\",\n Statistics = \"Average\",\n Threshold = \"90\",\n Times = \"3\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cms.NewMetricRuleTemplate(ctx, \"example\", \u0026cms.MetricRuleTemplateArgs{\n\t\t\tMetricRuleTemplateName: pulumi.String(name),\n\t\t\tAlertTemplates: cms.MetricRuleTemplateAlertTemplateArray{\n\t\t\t\t\u0026cms.MetricRuleTemplateAlertTemplateArgs{\n\t\t\t\t\tCategory: pulumi.String(\"ecs\"),\n\t\t\t\t\tMetricName: pulumi.String(\"cpu_total\"),\n\t\t\t\t\tNamespace: pulumi.String(\"acs_ecs_dashboard\"),\n\t\t\t\t\tRuleName: pulumi.String(\"tf_example\"),\n\t\t\t\t\tEscalations: \u0026cms.MetricRuleTemplateAlertTemplateEscalationsArgs{\n\t\t\t\t\t\tCritical: \u0026cms.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs{\n\t\t\t\t\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\t\t\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\t\t\t\t\tThreshold: pulumi.String(\"90\"),\n\t\t\t\t\t\t\tTimes: pulumi.String(\"3\"),\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.alicloud.cms.MetricRuleTemplate;\nimport com.pulumi.alicloud.cms.MetricRuleTemplateArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsArgs;\nimport com.pulumi.alicloud.cms.inputs.MetricRuleTemplateAlertTemplateEscalationsCriticalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new MetricRuleTemplate(\"example\", MetricRuleTemplateArgs.builder()\n .metricRuleTemplateName(name)\n .alertTemplates(MetricRuleTemplateAlertTemplateArgs.builder()\n .category(\"ecs\")\n .metricName(\"cpu_total\")\n .namespace(\"acs_ecs_dashboard\")\n .ruleName(\"tf_example\")\n .escalations(MetricRuleTemplateAlertTemplateEscalationsArgs.builder()\n .critical(MetricRuleTemplateAlertTemplateEscalationsCriticalArgs.builder()\n .comparisonOperator(\"GreaterThanThreshold\")\n .statistics(\"Average\")\n .threshold(\"90\")\n .times(\"3\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:cms:MetricRuleTemplate\n properties:\n metricRuleTemplateName: ${name}\n alertTemplates:\n - category: ecs\n metricName: cpu_total\n namespace: acs_ecs_dashboard\n ruleName: tf_example\n escalations:\n critical:\n comparisonOperator: GreaterThanThreshold\n statistics: Average\n threshold: '90'\n times: '3'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Metric Rule Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/metricRuleTemplate:MetricRuleTemplate example \u003cid\u003e\n```\n\n", "properties": { "alertTemplates": { "type": "array", @@ -128261,7 +130249,7 @@ } }, "alicloud:cms/monitorGroup:MonitorGroup": { - "description": "Provides a Cloud Monitor Service Monitor Group resource.\n\nFor information about Cloud Monitor Service Monitor Group and how to use it, see [What is Monitor Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmonitorgroup).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.MonitorGroup(\"example\", {monitorGroupName: \"tf-example-accmonitorgroup\"});\nconst default2 = new alicloud.cms.MonitorGroup(\"default2\", {\n contactGroups: [\"your_contact_groups\"],\n resourceGroupId: \"your_resource_group_id\",\n resourceGroupName: \"resource_group_name\",\n tags: {\n Created: \"TF\",\n For: \"Acceptance-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.MonitorGroup(\"example\", monitor_group_name=\"tf-example-accmonitorgroup\")\ndefault2 = alicloud.cms.MonitorGroup(\"default2\",\n contact_groups=[\"your_contact_groups\"],\n resource_group_id=\"your_resource_group_id\",\n resource_group_name=\"resource_group_name\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.MonitorGroup(\"example\", new()\n {\n MonitorGroupName = \"tf-example-accmonitorgroup\",\n });\n\n var default2 = new AliCloud.Cms.MonitorGroup(\"default2\", new()\n {\n ContactGroups = new[]\n {\n \"your_contact_groups\",\n },\n ResourceGroupId = \"your_resource_group_id\",\n ResourceGroupName = \"resource_group_name\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewMonitorGroup(ctx, \"example\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(\"tf-example-accmonitorgroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMonitorGroup(ctx, \"default2\", \u0026cms.MonitorGroupArgs{\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"your_contact_groups\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(\"your_resource_group_id\"),\n\t\t\tResourceGroupName: pulumi.String(\"resource_group_name\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance-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.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MonitorGroup(\"example\", MonitorGroupArgs.builder()\n .monitorGroupName(\"tf-example-accmonitorgroup\")\n .build());\n\n var default2 = new MonitorGroup(\"default2\", MonitorGroupArgs.builder()\n .contactGroups(\"your_contact_groups\")\n .resourceGroupId(\"your_resource_group_id\")\n .resourceGroupName(\"resource_group_name\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance-example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:MonitorGroup\n properties:\n monitorGroupName: tf-example-accmonitorgroup\n default2:\n type: alicloud:cms:MonitorGroup\n properties:\n contactGroups:\n - your_contact_groups\n resourceGroupId: your_resource_group_id\n resourceGroupName: resource_group_name\n tags:\n Created: TF\n For: Acceptance-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Monitor Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/monitorGroup:MonitorGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Monitor Group resource.\n\nFor information about Cloud Monitor Service Monitor Group and how to use it, see [What is Monitor Group](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmonitorgroup).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.MonitorGroup(\"example\", {monitorGroupName: \"tf-example-accmonitorgroup\"});\nconst default2 = new alicloud.cms.MonitorGroup(\"default2\", {\n contactGroups: [\"your_contact_groups\"],\n resourceGroupId: \"your_resource_group_id\",\n resourceGroupName: \"resource_group_name\",\n tags: {\n Created: \"TF\",\n For: \"Acceptance-example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.MonitorGroup(\"example\", monitor_group_name=\"tf-example-accmonitorgroup\")\ndefault2 = alicloud.cms.MonitorGroup(\"default2\",\n contact_groups=[\"your_contact_groups\"],\n resource_group_id=\"your_resource_group_id\",\n resource_group_name=\"resource_group_name\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance-example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.MonitorGroup(\"example\", new()\n {\n MonitorGroupName = \"tf-example-accmonitorgroup\",\n });\n\n var default2 = new AliCloud.Cms.MonitorGroup(\"default2\", new()\n {\n ContactGroups = new[]\n {\n \"your_contact_groups\",\n },\n ResourceGroupId = \"your_resource_group_id\",\n ResourceGroupName = \"resource_group_name\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance-example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewMonitorGroup(ctx, \"example\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(\"tf-example-accmonitorgroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMonitorGroup(ctx, \"default2\", \u0026cms.MonitorGroupArgs{\n\t\t\tContactGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"your_contact_groups\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(\"your_resource_group_id\"),\n\t\t\tResourceGroupName: pulumi.String(\"resource_group_name\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance-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.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MonitorGroup(\"example\", MonitorGroupArgs.builder()\n .monitorGroupName(\"tf-example-accmonitorgroup\")\n .build());\n\n var default2 = new MonitorGroup(\"default2\", MonitorGroupArgs.builder()\n .contactGroups(\"your_contact_groups\")\n .resourceGroupId(\"your_resource_group_id\")\n .resourceGroupName(\"resource_group_name\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance-example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:MonitorGroup\n properties:\n monitorGroupName: tf-example-accmonitorgroup\n default2:\n type: alicloud:cms:MonitorGroup\n properties:\n contactGroups:\n - your_contact_groups\n resourceGroupId: your_resource_group_id\n resourceGroupName: resource_group_name\n tags:\n Created: TF\n For: Acceptance-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Monitor Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/monitorGroup:MonitorGroup example \u003cid\u003e\n```\n\n", "properties": { "contactGroups": { "type": "array", @@ -128355,7 +130343,7 @@ } }, "alicloud:cms/monitorGroupInstances:MonitorGroupInstances": { - "description": "Provides a Cloud Monitor Service Monitor Group Instances resource.\n\nFor information about Cloud Monitor Service Monitor Group Instances and how to use it, see [What is Monitor Group Instances](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmonitorgroupinstances).\n\n\u003e **NOTE:** Available since v1.115.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {monitorGroupName: name});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cms.MonitorGroupInstances(\"example\", {\n groupId: defaultMonitorGroup.id,\n instances: [{\n instanceId: defaultNetwork.id,\n instanceName: name,\n regionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n category: \"vpc\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\", monitor_group_name=name)\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.cms.MonitorGroupInstances(\"example\",\n group_id=default_monitor_group.id,\n instances=[{\n \"instance_id\": default_network.id,\n \"instance_name\": name,\n \"region_id\": default.regions[0].id,\n \"category\": \"vpc\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cms.MonitorGroupInstances(\"example\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n Instances = new[]\n {\n new AliCloud.Cms.Inputs.MonitorGroupInstancesInstanceArgs\n {\n InstanceId = defaultNetwork.Id,\n InstanceName = name,\n RegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Category = \"vpc\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMonitorGroupInstances(ctx, \"example\", \u0026cms.MonitorGroupInstancesArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tInstances: cms.MonitorGroupInstancesInstanceArray{\n\t\t\t\t\u0026cms.MonitorGroupInstancesInstanceArgs{\n\t\t\t\t\tInstanceId: defaultNetwork.ID(),\n\t\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t\t\tRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\t\t\tCategory: pulumi.String(\"vpc\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cms.MonitorGroupInstances;\nimport com.pulumi.alicloud.cms.MonitorGroupInstancesArgs;\nimport com.pulumi.alicloud.cms.inputs.MonitorGroupInstancesInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new MonitorGroupInstances(\"example\", MonitorGroupInstancesArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .instances(MonitorGroupInstancesInstanceArgs.builder()\n .instanceId(defaultNetwork.id())\n .instanceName(name)\n .regionId(default_.regions()[0].id())\n .category(\"vpc\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n example:\n type: alicloud:cms:MonitorGroupInstances\n properties:\n groupId: ${defaultMonitorGroup.id}\n instances:\n - instanceId: ${defaultNetwork.id}\n instanceName: ${name}\n regionId: ${default.regions[0].id}\n category: vpc\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Monitor Group Instances can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/monitorGroupInstances:MonitorGroupInstances example \u003cgroup_id\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Monitor Group Instances resource.\n\nFor information about Cloud Monitor Service Monitor Group Instances and how to use it, see [What is Monitor Group Instances](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createmonitorgroupinstances).\n\n\u003e **NOTE:** Available since v1.115.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultMonitorGroup = new alicloud.cms.MonitorGroup(\"default\", {monitorGroupName: name});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.cms.MonitorGroupInstances(\"example\", {\n groupId: defaultMonitorGroup.id,\n instances: [{\n instanceId: defaultNetwork.id,\n instanceName: name,\n regionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n category: \"vpc\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_monitor_group = alicloud.cms.MonitorGroup(\"default\", monitor_group_name=name)\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.cms.MonitorGroupInstances(\"example\",\n group_id=default_monitor_group.id,\n instances=[{\n \"instance_id\": default_network.id,\n \"instance_name\": name,\n \"region_id\": default.regions[0].id,\n \"category\": \"vpc\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultMonitorGroup = new AliCloud.Cms.MonitorGroup(\"default\", new()\n {\n MonitorGroupName = name,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Cms.MonitorGroupInstances(\"example\", new()\n {\n GroupId = defaultMonitorGroup.Id,\n Instances = new[]\n {\n new AliCloud.Cms.Inputs.MonitorGroupInstancesInstanceArgs\n {\n InstanceId = defaultNetwork.Id,\n InstanceName = name,\n RegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n Category = \"vpc\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMonitorGroup, err := cms.NewMonitorGroup(ctx, \"default\", \u0026cms.MonitorGroupArgs{\n\t\t\tMonitorGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewMonitorGroupInstances(ctx, \"example\", \u0026cms.MonitorGroupInstancesArgs{\n\t\t\tGroupId: defaultMonitorGroup.ID(),\n\t\t\tInstances: cms.MonitorGroupInstancesInstanceArray{\n\t\t\t\t\u0026cms.MonitorGroupInstancesInstanceArgs{\n\t\t\t\t\tInstanceId: defaultNetwork.ID(),\n\t\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t\t\tRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\t\t\tCategory: pulumi.String(\"vpc\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.cms.MonitorGroup;\nimport com.pulumi.alicloud.cms.MonitorGroupArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.cms.MonitorGroupInstances;\nimport com.pulumi.alicloud.cms.MonitorGroupInstancesArgs;\nimport com.pulumi.alicloud.cms.inputs.MonitorGroupInstancesInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultMonitorGroup = new MonitorGroup(\"defaultMonitorGroup\", MonitorGroupArgs.builder()\n .monitorGroupName(name)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new MonitorGroupInstances(\"example\", MonitorGroupInstancesArgs.builder()\n .groupId(defaultMonitorGroup.id())\n .instances(MonitorGroupInstancesInstanceArgs.builder()\n .instanceId(defaultNetwork.id())\n .instanceName(name)\n .regionId(default_.regions()[0].id())\n .category(\"vpc\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultMonitorGroup:\n type: alicloud:cms:MonitorGroup\n name: default\n properties:\n monitorGroupName: ${name}\n example:\n type: alicloud:cms:MonitorGroupInstances\n properties:\n groupId: ${defaultMonitorGroup.id}\n instances:\n - instanceId: ${defaultNetwork.id}\n instanceName: ${name}\n regionId: ${default.regions[0].id}\n category: vpc\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Monitor Group Instances can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/monitorGroupInstances:MonitorGroupInstances example \u003cgroup_id\u003e\n```\n\n", "properties": { "groupId": { "type": "string", @@ -128411,7 +130399,7 @@ } }, "alicloud:cms/namespace:Namespace": { - "description": "Provides a Cloud Monitor Service Namespace resource.\n\nFor information about Cloud Monitor Service Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitornamespace).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.Namespace(\"example\", {\n namespace: \"tf-example\",\n specification: \"cms.s1.large\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.Namespace(\"example\",\n namespace=\"tf-example\",\n specification=\"cms.s1.large\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.Namespace(\"example\", new()\n {\n NamespaceName = \"tf-example\",\n Specification = \"cms.s1.large\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewNamespace(ctx, \"example\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"tf-example\"),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Namespace(\"example\", NamespaceArgs.builder()\n .namespace(\"tf-example\")\n .specification(\"cms.s1.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:Namespace\n properties:\n namespace: tf-example\n specification: cms.s1.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/namespace:Namespace example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Namespace resource.\n\nFor information about Cloud Monitor Service Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/cloudmonitor/latest/createhybridmonitornamespace).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.cms.Namespace(\"example\", {\n namespace: \"tf-example\",\n specification: \"cms.s1.large\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.cms.Namespace(\"example\",\n namespace=\"tf-example\",\n specification=\"cms.s1.large\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Cms.Namespace(\"example\", new()\n {\n NamespaceName = \"tf-example\",\n Specification = \"cms.s1.large\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cms.NewNamespace(ctx, \"example\", \u0026cms.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"tf-example\"),\n\t\t\tSpecification: pulumi.String(\"cms.s1.large\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cms.Namespace;\nimport com.pulumi.alicloud.cms.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Namespace(\"example\", NamespaceArgs.builder()\n .namespace(\"tf-example\")\n .specification(\"cms.s1.large\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:cms:Namespace\n properties:\n namespace: tf-example\n specification: cms.s1.large\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/namespace:Namespace example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -128484,7 +130472,7 @@ } }, "alicloud:cms/siteMonitor:SiteMonitor": { - "description": "Provides a Cloud Monitor Service Site Monitor resource.\n\nDescribes the SITE monitoring tasks created by the user.\n\nFor information about Cloud Monitor Service Site Monitor and how to use it, see [What is Site Monitor](https://next.api.alibabacloud.com/document/Cms/2019-01-01/CreateSiteMonitor).\n\n\u003e **NOTE:** Available since v1.72.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst basic = new alicloud.cms.SiteMonitor(\"basic\", {\n address: \"https://www.alibabacloud.com\",\n taskName: name,\n taskType: \"HTTP\",\n interval: \"5\",\n ispCities: [{\n isp: \"232\",\n city: \"641\",\n type: \"IDC\",\n }],\n optionJson: {\n responseContent: \"example\",\n expectValue: \"example\",\n port: 81,\n isBaseEncode: true,\n pingNum: 5,\n matchRule: 1,\n failureRate: \"0.3\",\n requestContent: \"example\",\n attempts: 4,\n requestFormat: \"hex\",\n password: \"YourPassword123!\",\n diagnosisPing: true,\n responseFormat: \"hex\",\n cookie: \"key2=value2\",\n pingPort: 443,\n userName: \"example\",\n dnsMatchRule: \"DNS_IN\",\n timeout: 3000,\n dnsServer: \"223.6.6.6\",\n diagnosisMtr: true,\n header: \"key2:value2\",\n minTlsVersion: \"1.1\",\n pingType: \"udp\",\n dnsType: \"NS\",\n dnsHijackWhitelist: \"DnsHijackWhitelist\",\n httpMethod: \"post\",\n assertions: [{\n operator: \"lessThan\",\n target: \"300\",\n type: \"response_time\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nbasic = alicloud.cms.SiteMonitor(\"basic\",\n address=\"https://www.alibabacloud.com\",\n task_name=name,\n task_type=\"HTTP\",\n interval=\"5\",\n isp_cities=[{\n \"isp\": \"232\",\n \"city\": \"641\",\n \"type\": \"IDC\",\n }],\n option_json={\n \"response_content\": \"example\",\n \"expect_value\": \"example\",\n \"port\": 81,\n \"is_base_encode\": True,\n \"ping_num\": 5,\n \"match_rule\": 1,\n \"failure_rate\": \"0.3\",\n \"request_content\": \"example\",\n \"attempts\": 4,\n \"request_format\": \"hex\",\n \"password\": \"YourPassword123!\",\n \"diagnosis_ping\": True,\n \"response_format\": \"hex\",\n \"cookie\": \"key2=value2\",\n \"ping_port\": 443,\n \"user_name\": \"example\",\n \"dns_match_rule\": \"DNS_IN\",\n \"timeout\": 3000,\n \"dns_server\": \"223.6.6.6\",\n \"diagnosis_mtr\": True,\n \"header\": \"key2:value2\",\n \"min_tls_version\": \"1.1\",\n \"ping_type\": \"udp\",\n \"dns_type\": \"NS\",\n \"dns_hijack_whitelist\": \"DnsHijackWhitelist\",\n \"http_method\": \"post\",\n \"assertions\": [{\n \"operator\": \"lessThan\",\n \"target\": \"300\",\n \"type\": \"response_time\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var basic = new AliCloud.Cms.SiteMonitor(\"basic\", new()\n {\n Address = \"https://www.alibabacloud.com\",\n TaskName = name,\n TaskType = \"HTTP\",\n Interval = \"5\",\n IspCities = new[]\n {\n new AliCloud.Cms.Inputs.SiteMonitorIspCityArgs\n {\n Isp = \"232\",\n City = \"641\",\n Type = \"IDC\",\n },\n },\n OptionJson = new AliCloud.Cms.Inputs.SiteMonitorOptionJsonArgs\n {\n ResponseContent = \"example\",\n ExpectValue = \"example\",\n Port = 81,\n IsBaseEncode = true,\n PingNum = 5,\n MatchRule = 1,\n FailureRate = \"0.3\",\n RequestContent = \"example\",\n Attempts = 4,\n RequestFormat = \"hex\",\n Password = \"YourPassword123!\",\n DiagnosisPing = true,\n ResponseFormat = \"hex\",\n Cookie = \"key2=value2\",\n PingPort = 443,\n UserName = \"example\",\n DnsMatchRule = \"DNS_IN\",\n Timeout = 3000,\n DnsServer = \"223.6.6.6\",\n DiagnosisMtr = true,\n Header = \"key2:value2\",\n MinTlsVersion = \"1.1\",\n PingType = \"udp\",\n DnsType = \"NS\",\n DnsHijackWhitelist = \"DnsHijackWhitelist\",\n HttpMethod = \"post\",\n Assertions = new[]\n {\n new AliCloud.Cms.Inputs.SiteMonitorOptionJsonAssertionArgs\n {\n Operator = \"lessThan\",\n Target = \"300\",\n Type = \"response_time\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cms.NewSiteMonitor(ctx, \"basic\", \u0026cms.SiteMonitorArgs{\n\t\t\tAddress: pulumi.String(\"https://www.alibabacloud.com\"),\n\t\t\tTaskName: pulumi.String(name),\n\t\t\tTaskType: pulumi.String(\"HTTP\"),\n\t\t\tInterval: pulumi.String(\"5\"),\n\t\t\tIspCities: cms.SiteMonitorIspCityArray{\n\t\t\t\t\u0026cms.SiteMonitorIspCityArgs{\n\t\t\t\t\tIsp: pulumi.String(\"232\"),\n\t\t\t\t\tCity: pulumi.String(\"641\"),\n\t\t\t\t\tType: pulumi.String(\"IDC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionJson: \u0026cms.SiteMonitorOptionJsonArgs{\n\t\t\t\tResponseContent: pulumi.String(\"example\"),\n\t\t\t\tExpectValue: pulumi.String(\"example\"),\n\t\t\t\tPort: pulumi.Int(81),\n\t\t\t\tIsBaseEncode: pulumi.Bool(true),\n\t\t\t\tPingNum: pulumi.Int(5),\n\t\t\t\tMatchRule: pulumi.Int(1),\n\t\t\t\tFailureRate: pulumi.String(\"0.3\"),\n\t\t\t\tRequestContent: pulumi.String(\"example\"),\n\t\t\t\tAttempts: pulumi.Int(4),\n\t\t\t\tRequestFormat: pulumi.String(\"hex\"),\n\t\t\t\tPassword: pulumi.String(\"YourPassword123!\"),\n\t\t\t\tDiagnosisPing: pulumi.Bool(true),\n\t\t\t\tResponseFormat: pulumi.String(\"hex\"),\n\t\t\t\tCookie: pulumi.String(\"key2=value2\"),\n\t\t\t\tPingPort: pulumi.Int(443),\n\t\t\t\tUserName: pulumi.String(\"example\"),\n\t\t\t\tDnsMatchRule: pulumi.String(\"DNS_IN\"),\n\t\t\t\tTimeout: pulumi.Int(3000),\n\t\t\t\tDnsServer: pulumi.String(\"223.6.6.6\"),\n\t\t\t\tDiagnosisMtr: pulumi.Bool(true),\n\t\t\t\tHeader: pulumi.String(\"key2:value2\"),\n\t\t\t\tMinTlsVersion: pulumi.String(\"1.1\"),\n\t\t\t\tPingType: pulumi.String(\"udp\"),\n\t\t\t\tDnsType: pulumi.String(\"NS\"),\n\t\t\t\tDnsHijackWhitelist: pulumi.String(\"DnsHijackWhitelist\"),\n\t\t\t\tHttpMethod: pulumi.String(\"post\"),\n\t\t\t\tAssertions: cms.SiteMonitorOptionJsonAssertionArray{\n\t\t\t\t\t\u0026cms.SiteMonitorOptionJsonAssertionArgs{\n\t\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"300\"),\n\t\t\t\t\t\tType: pulumi.String(\"response_time\"),\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.alicloud.cms.SiteMonitor;\nimport com.pulumi.alicloud.cms.SiteMonitorArgs;\nimport com.pulumi.alicloud.cms.inputs.SiteMonitorIspCityArgs;\nimport com.pulumi.alicloud.cms.inputs.SiteMonitorOptionJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var basic = new SiteMonitor(\"basic\", SiteMonitorArgs.builder()\n .address(\"https://www.alibabacloud.com\")\n .taskName(name)\n .taskType(\"HTTP\")\n .interval(\"5\")\n .ispCities(SiteMonitorIspCityArgs.builder()\n .isp(\"232\")\n .city(\"641\")\n .type(\"IDC\")\n .build())\n .optionJson(SiteMonitorOptionJsonArgs.builder()\n .responseContent(\"example\")\n .expectValue(\"example\")\n .port(81)\n .isBaseEncode(true)\n .pingNum(5)\n .matchRule(1)\n .failureRate(\"0.3\")\n .requestContent(\"example\")\n .attempts(4)\n .requestFormat(\"hex\")\n .password(\"YourPassword123!\")\n .diagnosisPing(true)\n .responseFormat(\"hex\")\n .cookie(\"key2=value2\")\n .pingPort(443)\n .userName(\"example\")\n .dnsMatchRule(\"DNS_IN\")\n .timeout(3000)\n .dnsServer(\"223.6.6.6\")\n .diagnosisMtr(true)\n .header(\"key2:value2\")\n .minTlsVersion(\"1.1\")\n .pingType(\"udp\")\n .dnsType(\"NS\")\n .dnsHijackWhitelist(\"DnsHijackWhitelist\")\n .httpMethod(\"post\")\n .assertions(SiteMonitorOptionJsonAssertionArgs.builder()\n .operator(\"lessThan\")\n .target(\"300\")\n .type(\"response_time\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n basic:\n type: alicloud:cms:SiteMonitor\n properties:\n address: https://www.alibabacloud.com\n taskName: ${name}\n taskType: HTTP\n interval: 5\n ispCities:\n - isp: '232'\n city: '641'\n type: IDC\n optionJson:\n responseContent: example\n expectValue: example\n port: 81\n isBaseEncode: true\n pingNum: 5\n matchRule: 1\n failureRate: '0.3'\n requestContent: example\n attempts: 4\n requestFormat: hex\n password: YourPassword123!\n diagnosisPing: true\n responseFormat: hex\n cookie: key2=value2\n pingPort: 443\n userName: example\n dnsMatchRule: DNS_IN\n timeout: 3000\n dnsServer: 223.6.6.6\n diagnosisMtr: true\n header: key2:value2\n minTlsVersion: '1.1'\n pingType: udp\n dnsType: NS\n dnsHijackWhitelist: DnsHijackWhitelist\n httpMethod: post\n assertions:\n - operator: lessThan\n target: 300\n type: response_time\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Site Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/siteMonitor:SiteMonitor example \u003cid\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Site Monitor resource.\n\nDescribes the SITE monitoring tasks created by the user.\n\nFor information about Cloud Monitor Service Site Monitor and how to use it, see [What is Site Monitor](https://next.api.alibabacloud.com/document/Cms/2019-01-01/CreateSiteMonitor).\n\n\u003e **NOTE:** Available since v1.72.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst basic = new alicloud.cms.SiteMonitor(\"basic\", {\n address: \"https://www.alibabacloud.com\",\n taskName: name,\n taskType: \"HTTP\",\n interval: \"5\",\n ispCities: [{\n isp: \"232\",\n city: \"641\",\n type: \"IDC\",\n }],\n optionJson: {\n responseContent: \"example\",\n expectValue: \"example\",\n port: 81,\n isBaseEncode: true,\n pingNum: 5,\n matchRule: 1,\n failureRate: \"0.3\",\n requestContent: \"example\",\n attempts: 4,\n requestFormat: \"hex\",\n password: \"YourPassword123!\",\n diagnosisPing: true,\n responseFormat: \"hex\",\n cookie: \"key2=value2\",\n pingPort: 443,\n userName: \"example\",\n dnsMatchRule: \"DNS_IN\",\n timeout: 3000,\n dnsServer: \"223.6.6.6\",\n diagnosisMtr: true,\n header: \"key2:value2\",\n minTlsVersion: \"1.1\",\n pingType: \"udp\",\n dnsType: \"NS\",\n dnsHijackWhitelist: \"DnsHijackWhitelist\",\n httpMethod: \"post\",\n assertions: [{\n operator: \"lessThan\",\n target: \"300\",\n type: \"response_time\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nbasic = alicloud.cms.SiteMonitor(\"basic\",\n address=\"https://www.alibabacloud.com\",\n task_name=name,\n task_type=\"HTTP\",\n interval=\"5\",\n isp_cities=[{\n \"isp\": \"232\",\n \"city\": \"641\",\n \"type\": \"IDC\",\n }],\n option_json={\n \"response_content\": \"example\",\n \"expect_value\": \"example\",\n \"port\": 81,\n \"is_base_encode\": True,\n \"ping_num\": 5,\n \"match_rule\": 1,\n \"failure_rate\": \"0.3\",\n \"request_content\": \"example\",\n \"attempts\": 4,\n \"request_format\": \"hex\",\n \"password\": \"YourPassword123!\",\n \"diagnosis_ping\": True,\n \"response_format\": \"hex\",\n \"cookie\": \"key2=value2\",\n \"ping_port\": 443,\n \"user_name\": \"example\",\n \"dns_match_rule\": \"DNS_IN\",\n \"timeout\": 3000,\n \"dns_server\": \"223.6.6.6\",\n \"diagnosis_mtr\": True,\n \"header\": \"key2:value2\",\n \"min_tls_version\": \"1.1\",\n \"ping_type\": \"udp\",\n \"dns_type\": \"NS\",\n \"dns_hijack_whitelist\": \"DnsHijackWhitelist\",\n \"http_method\": \"post\",\n \"assertions\": [{\n \"operator\": \"lessThan\",\n \"target\": \"300\",\n \"type\": \"response_time\",\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var basic = new AliCloud.Cms.SiteMonitor(\"basic\", new()\n {\n Address = \"https://www.alibabacloud.com\",\n TaskName = name,\n TaskType = \"HTTP\",\n Interval = \"5\",\n IspCities = new[]\n {\n new AliCloud.Cms.Inputs.SiteMonitorIspCityArgs\n {\n Isp = \"232\",\n City = \"641\",\n Type = \"IDC\",\n },\n },\n OptionJson = new AliCloud.Cms.Inputs.SiteMonitorOptionJsonArgs\n {\n ResponseContent = \"example\",\n ExpectValue = \"example\",\n Port = 81,\n IsBaseEncode = true,\n PingNum = 5,\n MatchRule = 1,\n FailureRate = \"0.3\",\n RequestContent = \"example\",\n Attempts = 4,\n RequestFormat = \"hex\",\n Password = \"YourPassword123!\",\n DiagnosisPing = true,\n ResponseFormat = \"hex\",\n Cookie = \"key2=value2\",\n PingPort = 443,\n UserName = \"example\",\n DnsMatchRule = \"DNS_IN\",\n Timeout = 3000,\n DnsServer = \"223.6.6.6\",\n DiagnosisMtr = true,\n Header = \"key2:value2\",\n MinTlsVersion = \"1.1\",\n PingType = \"udp\",\n DnsType = \"NS\",\n DnsHijackWhitelist = \"DnsHijackWhitelist\",\n HttpMethod = \"post\",\n Assertions = new[]\n {\n new AliCloud.Cms.Inputs.SiteMonitorOptionJsonAssertionArgs\n {\n Operator = \"lessThan\",\n Target = \"300\",\n Type = \"response_time\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := cms.NewSiteMonitor(ctx, \"basic\", \u0026cms.SiteMonitorArgs{\n\t\t\tAddress: pulumi.String(\"https://www.alibabacloud.com\"),\n\t\t\tTaskName: pulumi.String(name),\n\t\t\tTaskType: pulumi.String(\"HTTP\"),\n\t\t\tInterval: pulumi.String(\"5\"),\n\t\t\tIspCities: cms.SiteMonitorIspCityArray{\n\t\t\t\t\u0026cms.SiteMonitorIspCityArgs{\n\t\t\t\t\tIsp: pulumi.String(\"232\"),\n\t\t\t\t\tCity: pulumi.String(\"641\"),\n\t\t\t\t\tType: pulumi.String(\"IDC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionJson: \u0026cms.SiteMonitorOptionJsonArgs{\n\t\t\t\tResponseContent: pulumi.String(\"example\"),\n\t\t\t\tExpectValue: pulumi.String(\"example\"),\n\t\t\t\tPort: pulumi.Int(81),\n\t\t\t\tIsBaseEncode: pulumi.Bool(true),\n\t\t\t\tPingNum: pulumi.Int(5),\n\t\t\t\tMatchRule: pulumi.Int(1),\n\t\t\t\tFailureRate: pulumi.String(\"0.3\"),\n\t\t\t\tRequestContent: pulumi.String(\"example\"),\n\t\t\t\tAttempts: pulumi.Int(4),\n\t\t\t\tRequestFormat: pulumi.String(\"hex\"),\n\t\t\t\tPassword: pulumi.String(\"YourPassword123!\"),\n\t\t\t\tDiagnosisPing: pulumi.Bool(true),\n\t\t\t\tResponseFormat: pulumi.String(\"hex\"),\n\t\t\t\tCookie: pulumi.String(\"key2=value2\"),\n\t\t\t\tPingPort: pulumi.Int(443),\n\t\t\t\tUserName: pulumi.String(\"example\"),\n\t\t\t\tDnsMatchRule: pulumi.String(\"DNS_IN\"),\n\t\t\t\tTimeout: pulumi.Int(3000),\n\t\t\t\tDnsServer: pulumi.String(\"223.6.6.6\"),\n\t\t\t\tDiagnosisMtr: pulumi.Bool(true),\n\t\t\t\tHeader: pulumi.String(\"key2:value2\"),\n\t\t\t\tMinTlsVersion: pulumi.String(\"1.1\"),\n\t\t\t\tPingType: pulumi.String(\"udp\"),\n\t\t\t\tDnsType: pulumi.String(\"NS\"),\n\t\t\t\tDnsHijackWhitelist: pulumi.String(\"DnsHijackWhitelist\"),\n\t\t\t\tHttpMethod: pulumi.String(\"post\"),\n\t\t\t\tAssertions: cms.SiteMonitorOptionJsonAssertionArray{\n\t\t\t\t\t\u0026cms.SiteMonitorOptionJsonAssertionArgs{\n\t\t\t\t\t\tOperator: pulumi.String(\"lessThan\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"300\"),\n\t\t\t\t\t\tType: pulumi.String(\"response_time\"),\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.alicloud.cms.SiteMonitor;\nimport com.pulumi.alicloud.cms.SiteMonitorArgs;\nimport com.pulumi.alicloud.cms.inputs.SiteMonitorIspCityArgs;\nimport com.pulumi.alicloud.cms.inputs.SiteMonitorOptionJsonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var basic = new SiteMonitor(\"basic\", SiteMonitorArgs.builder()\n .address(\"https://www.alibabacloud.com\")\n .taskName(name)\n .taskType(\"HTTP\")\n .interval(\"5\")\n .ispCities(SiteMonitorIspCityArgs.builder()\n .isp(\"232\")\n .city(\"641\")\n .type(\"IDC\")\n .build())\n .optionJson(SiteMonitorOptionJsonArgs.builder()\n .responseContent(\"example\")\n .expectValue(\"example\")\n .port(81)\n .isBaseEncode(true)\n .pingNum(5)\n .matchRule(1)\n .failureRate(\"0.3\")\n .requestContent(\"example\")\n .attempts(4)\n .requestFormat(\"hex\")\n .password(\"YourPassword123!\")\n .diagnosisPing(true)\n .responseFormat(\"hex\")\n .cookie(\"key2=value2\")\n .pingPort(443)\n .userName(\"example\")\n .dnsMatchRule(\"DNS_IN\")\n .timeout(3000)\n .dnsServer(\"223.6.6.6\")\n .diagnosisMtr(true)\n .header(\"key2:value2\")\n .minTlsVersion(\"1.1\")\n .pingType(\"udp\")\n .dnsType(\"NS\")\n .dnsHijackWhitelist(\"DnsHijackWhitelist\")\n .httpMethod(\"post\")\n .assertions(SiteMonitorOptionJsonAssertionArgs.builder()\n .operator(\"lessThan\")\n .target(\"300\")\n .type(\"response_time\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n basic:\n type: alicloud:cms:SiteMonitor\n properties:\n address: https://www.alibabacloud.com\n taskName: ${name}\n taskType: HTTP\n interval: 5\n ispCities:\n - isp: '232'\n city: '641'\n type: IDC\n optionJson:\n responseContent: example\n expectValue: example\n port: 81\n isBaseEncode: true\n pingNum: 5\n matchRule: 1\n failureRate: '0.3'\n requestContent: example\n attempts: 4\n requestFormat: hex\n password: YourPassword123!\n diagnosisPing: true\n responseFormat: hex\n cookie: key2=value2\n pingPort: 443\n userName: example\n dnsMatchRule: DNS_IN\n timeout: 3000\n dnsServer: 223.6.6.6\n diagnosisMtr: true\n header: key2:value2\n minTlsVersion: '1.1'\n pingType: udp\n dnsType: NS\n dnsHijackWhitelist: DnsHijackWhitelist\n httpMethod: post\n assertions:\n - operator: lessThan\n target: 300\n type: response_time\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Site Monitor can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/siteMonitor:SiteMonitor example \u003cid\u003e\n```\n\n", "properties": { "address": { "type": "string", @@ -128706,7 +130694,7 @@ } }, "alicloud:cms/slsGroup:SlsGroup": { - "description": "Provides a Cloud Monitor Service Sls Group resource.\n\nFor information about Cloud Monitor Service Sls Group and how to use it, see [What is Sls Group](https://www.alibabacloud.com/help/doc-detail/28608.htm).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultSlsGroup = new alicloud.cms.SlsGroup(\"default\", {\n slsGroupConfigs: [{\n slsUserId: _default.then(_default =\u003e _default.id),\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n slsRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n }],\n slsGroupDescription: name,\n slsGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_sls_group = alicloud.cms.SlsGroup(\"default\",\n sls_group_configs=[{\n \"sls_user_id\": default.id,\n \"sls_logstore\": default_store.logstore_name,\n \"sls_project\": default_project.project_name,\n \"sls_region\": default_get_regions.regions[0].id,\n }],\n sls_group_description=name,\n sls_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultSlsGroup = new AliCloud.Cms.SlsGroup(\"default\", new()\n {\n SlsGroupConfigs = new[]\n {\n new AliCloud.Cms.Inputs.SlsGroupSlsGroupConfigArgs\n {\n SlsUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n SlsRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n },\n },\n SlsGroupDescription = name,\n SlsGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewSlsGroup(ctx, \"default\", \u0026cms.SlsGroupArgs{\n\t\t\tSlsGroupConfigs: cms.SlsGroupSlsGroupConfigArray{\n\t\t\t\t\u0026cms.SlsGroupSlsGroupConfigArgs{\n\t\t\t\t\tSlsUserId: pulumi.String(_default.Id),\n\t\t\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t\t\t\tSlsRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlsGroupDescription: pulumi.String(name),\n\t\t\tSlsGroupName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cms.SlsGroup;\nimport com.pulumi.alicloud.cms.SlsGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.SlsGroupSlsGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultSlsGroup = new SlsGroup(\"defaultSlsGroup\", SlsGroupArgs.builder()\n .slsGroupConfigs(SlsGroupSlsGroupConfigArgs.builder()\n .slsUserId(default_.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .slsRegion(defaultGetRegions.regions()[0].id())\n .build())\n .slsGroupDescription(name)\n .slsGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultSlsGroup:\n type: alicloud:cms:SlsGroup\n name: default\n properties:\n slsGroupConfigs:\n - slsUserId: ${default.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\n slsRegion: ${defaultGetRegions.regions[0].id}\n slsGroupDescription: ${name}\n slsGroupName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Monitor Service Sls Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/slsGroup:SlsGroup example \u003csls_group_name\u003e\n```\n\n", + "description": "Provides a Cloud Monitor Service Sls Group resource.\n\nFor information about Cloud Monitor Service Sls Group and how to use it, see [What is Sls Group](https://www.alibabacloud.com/help/doc-detail/28608.htm).\n\n\u003e **NOTE:** Available since v1.171.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultUuid = new random.index.Uuid(\"default\", {});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: std.replace({\n text: defaultUuid.result,\n search: \"-\",\n replace: \"\",\n}).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n})).then(invoke =\u003e invoke.result)});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst defaultSlsGroup = new alicloud.cms.SlsGroup(\"default\", {\n slsGroupConfigs: [{\n slsUserId: _default.then(_default =\u003e _default.id),\n slsLogstore: defaultStore.logstoreName,\n slsProject: defaultProject.projectName,\n slsRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n }],\n slsGroupDescription: name,\n slsGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_uuid = random.index.Uuid(\"default\")\ndefault_project = alicloud.log.Project(\"default\", project_name=std.substr(input=f\"tf-example-{std.replace(text=default_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\ndefault_sls_group = alicloud.cms.SlsGroup(\"default\",\n sls_group_configs=[{\n \"sls_user_id\": default.id,\n \"sls_logstore\": default_store.logstore_name,\n \"sls_project\": default_project.project_name,\n \"sls_region\": default_get_regions.regions[0].id,\n }],\n sls_group_description=name,\n sls_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultUuid = new Random.Index.Uuid(\"default\");\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = defaultUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var defaultSlsGroup = new AliCloud.Cms.SlsGroup(\"default\", new()\n {\n SlsGroupConfigs = new[]\n {\n new AliCloud.Cms.Inputs.SlsGroupSlsGroupConfigArgs\n {\n SlsUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n SlsLogstore = defaultStore.LogstoreName,\n SlsProject = defaultProject.ProjectName,\n SlsRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n },\n },\n SlsGroupDescription = name,\n SlsGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUuid, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: defaultUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cms.NewSlsGroup(ctx, \"default\", \u0026cms.SlsGroupArgs{\n\t\t\tSlsGroupConfigs: cms.SlsGroupSlsGroupConfigArray{\n\t\t\t\t\u0026cms.SlsGroupSlsGroupConfigArgs{\n\t\t\t\t\tSlsUserId: pulumi.String(_default.Id),\n\t\t\t\t\tSlsLogstore: defaultStore.LogstoreName,\n\t\t\t\t\tSlsProject: defaultProject.ProjectName,\n\t\t\t\t\tSlsRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSlsGroupDescription: pulumi.String(name),\n\t\t\tSlsGroupName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.cms.SlsGroup;\nimport com.pulumi.alicloud.cms.SlsGroupArgs;\nimport com.pulumi.alicloud.cms.inputs.SlsGroupSlsGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultUuid = new Uuid(\"defaultUuid\");\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(defaultUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var defaultSlsGroup = new SlsGroup(\"defaultSlsGroup\", SlsGroupArgs.builder()\n .slsGroupConfigs(SlsGroupSlsGroupConfigArgs.builder()\n .slsUserId(default_.id())\n .slsLogstore(defaultStore.logstoreName())\n .slsProject(defaultProject.projectName())\n .slsRegion(defaultGetRegions.regions()[0].id())\n .build())\n .slsGroupDescription(name)\n .slsGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultUuid:\n type: random:Uuid\n name: default\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${defaultUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n defaultSlsGroup:\n type: alicloud:cms:SlsGroup\n name: default\n properties:\n slsGroupConfigs:\n - slsUserId: ${default.id}\n slsLogstore: ${defaultStore.logstoreName}\n slsProject: ${defaultProject.projectName}\n slsRegion: ${defaultGetRegions.regions[0].id}\n slsGroupDescription: ${name}\n slsGroupName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Monitor Service Sls Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cms/slsGroup:SlsGroup example \u003csls_group_name\u003e\n```\n\n", "properties": { "slsGroupConfigs": { "type": "array", @@ -128774,7 +130762,7 @@ } }, "alicloud:compute/nestServiceInstance:NestServiceInstance": { - "description": "Provides a Compute Nest Service Instance resource.\n\nFor information about Compute Nest Service Instance and how to use it, see [What is Service Instance](https://www.alibabacloud.com/help/zh/compute-nest/developer-reference/api-computenest-2021-06-01-createserviceinstance).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultNestServiceInstance = new alicloud.compute.NestServiceInstance(\"default\", {\n serviceId: \"service-dd475e6e468348799f0f\",\n serviceVersion: \"1\",\n serviceInstanceName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n paymentType: \"Permanent\",\n operationMetadata: {\n operationStartTime: \"1681281179000\",\n operationEndTime: \"1681367579000\",\n resources: pulumi.interpolate` {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"${defaultInstance.id}\\\"\n ]\n } \n }\n`,\n },\n tags: {\n Created: \"TF\",\n For: \"ServiceInstance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_zones.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\ndefault_nest_service_instance = alicloud.compute.NestServiceInstance(\"default\",\n service_id=\"service-dd475e6e468348799f0f\",\n service_version=\"1\",\n service_instance_name=name,\n resource_group_id=default.groups[0].id,\n payment_type=\"Permanent\",\n operation_metadata={\n \"operation_start_time\": \"1681281179000\",\n \"operation_end_time\": \"1681367579000\",\n \"resources\": default_instance.id.apply(lambda id: f\"\"\" {{\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {{\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"{id}\\\"\n ]\n }} \n }}\n\"\"\"),\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"ServiceInstance\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultNestServiceInstance = new AliCloud.Compute.NestServiceInstance(\"default\", new()\n {\n ServiceId = \"service-dd475e6e468348799f0f\",\n ServiceVersion = \"1\",\n ServiceInstanceName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n PaymentType = \"Permanent\",\n OperationMetadata = new AliCloud.Compute.Inputs.NestServiceInstanceOperationMetadataArgs\n {\n OperationStartTime = \"1681281179000\",\n OperationEndTime = \"1681367579000\",\n Resources = defaultInstance.Id.Apply(id =\u003e @$\" {{\n \\\"\"Type\\\"\": \\\"\"ResourceIds\\\"\",\n \\\"\"RegionId\\\"\": \\\"\"cn-hangzhou\\\"\",\n \\\"\"ResourceIds\\\"\": {{\n \\\"\"ALIYUN::ECS::INSTANCE\\\"\": [\n \\\"\"{id}\\\"\"\n ]\n }} \n }}\n\"),\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"ServiceInstance\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/compute\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tfexample\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"10.1.0.0/16\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = compute.NewNestServiceInstance(ctx, \"default\", \u0026compute.NestServiceInstanceArgs{\nServiceId: pulumi.String(\"service-dd475e6e468348799f0f\"),\nServiceVersion: pulumi.String(\"1\"),\nServiceInstanceName: pulumi.String(name),\nResourceGroupId: pulumi.String(_default.Groups[0].Id),\nPaymentType: pulumi.String(\"Permanent\"),\nOperationMetadata: \u0026compute.NestServiceInstanceOperationMetadataArgs{\nOperationStartTime: pulumi.String(\"1681281179000\"),\nOperationEndTime: pulumi.String(\"1681367579000\"),\nResources: defaultInstance.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(` {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"%v\\\"\n ]\n } \n }\n`, id), nil\n}).(pulumi.StringOutput),\n},\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"ServiceInstance\"),\n},\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.compute.NestServiceInstance;\nimport com.pulumi.alicloud.compute.NestServiceInstanceArgs;\nimport com.pulumi.alicloud.compute.inputs.NestServiceInstanceOperationMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultNestServiceInstance = new NestServiceInstance(\"defaultNestServiceInstance\", NestServiceInstanceArgs.builder()\n .serviceId(\"service-dd475e6e468348799f0f\")\n .serviceVersion(\"1\")\n .serviceInstanceName(name)\n .resourceGroupId(default_.groups()[0].id())\n .paymentType(\"Permanent\")\n .operationMetadata(NestServiceInstanceOperationMetadataArgs.builder()\n .operationStartTime(\"1681281179000\")\n .operationEndTime(\"1681367579000\")\n .resources(defaultInstance.id().applyValue(_id -\u003e \"\"\"\n {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"%s\\\"\n ]\n } \n }\n\", _id)))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"ServiceInstance\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCompute Nest Service Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:compute/nestServiceInstance:NestServiceInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a Compute Nest Service Instance resource.\n\nFor information about Compute Nest Service Instance and how to use it, see [What is Service Instance](https://www.alibabacloud.com/help/zh/compute-nest/developer-reference/api-computenest-2021-06-01-createserviceinstance).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultNestServiceInstance = new alicloud.compute.NestServiceInstance(\"default\", {\n serviceId: \"service-dd475e6e468348799f0f\",\n serviceVersion: \"1\",\n serviceInstanceName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n paymentType: \"Permanent\",\n operationMetadata: {\n operationStartTime: \"1681281179000\",\n operationEndTime: \"1681367579000\",\n resources: pulumi.interpolate` {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"${defaultInstance.id}\\\"\n ]\n } \n }\n`,\n },\n tags: {\n Created: \"TF\",\n For: \"ServiceInstance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_zones.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\ndefault_nest_service_instance = alicloud.compute.NestServiceInstance(\"default\",\n service_id=\"service-dd475e6e468348799f0f\",\n service_version=\"1\",\n service_instance_name=name,\n resource_group_id=default.groups[0].id,\n payment_type=\"Permanent\",\n operation_metadata={\n \"operation_start_time\": \"1681281179000\",\n \"operation_end_time\": \"1681367579000\",\n \"resources\": default_instance.id.apply(lambda id: f\"\"\" {{\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {{\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"{id}\\\"\n ]\n }} \n }}\n\"\"\"),\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"ServiceInstance\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultNestServiceInstance = new AliCloud.Compute.NestServiceInstance(\"default\", new()\n {\n ServiceId = \"service-dd475e6e468348799f0f\",\n ServiceVersion = \"1\",\n ServiceInstanceName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n PaymentType = \"Permanent\",\n OperationMetadata = new AliCloud.Compute.Inputs.NestServiceInstanceOperationMetadataArgs\n {\n OperationStartTime = \"1681281179000\",\n OperationEndTime = \"1681367579000\",\n Resources = defaultInstance.Id.Apply(id =\u003e @$\" {{\n \\\"\"Type\\\"\": \\\"\"ResourceIds\\\"\",\n \\\"\"RegionId\\\"\": \\\"\"cn-hangzhou\\\"\",\n \\\"\"ResourceIds\\\"\": {{\n \\\"\"ALIYUN::ECS::INSTANCE\\\"\": [\n \\\"\"{id}\\\"\"\n ]\n }} \n }}\n\"),\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"ServiceInstance\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/compute\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tfexample\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"10.1.0.0/16\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = compute.NewNestServiceInstance(ctx, \"default\", \u0026compute.NestServiceInstanceArgs{\nServiceId: pulumi.String(\"service-dd475e6e468348799f0f\"),\nServiceVersion: pulumi.String(\"1\"),\nServiceInstanceName: pulumi.String(name),\nResourceGroupId: pulumi.String(_default.Groups[0].Id),\nPaymentType: pulumi.String(\"Permanent\"),\nOperationMetadata: \u0026compute.NestServiceInstanceOperationMetadataArgs{\nOperationStartTime: pulumi.String(\"1681281179000\"),\nOperationEndTime: pulumi.String(\"1681367579000\"),\nResources: defaultInstance.ID().ApplyT(func(id string) (string, error) {\nreturn fmt.Sprintf(` {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"%v\\\"\n ]\n } \n }\n`, id), nil\n}).(pulumi.StringOutput),\n},\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"ServiceInstance\"),\n},\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.compute.NestServiceInstance;\nimport com.pulumi.alicloud.compute.NestServiceInstanceArgs;\nimport com.pulumi.alicloud.compute.inputs.NestServiceInstanceOperationMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultNestServiceInstance = new NestServiceInstance(\"defaultNestServiceInstance\", NestServiceInstanceArgs.builder()\n .serviceId(\"service-dd475e6e468348799f0f\")\n .serviceVersion(\"1\")\n .serviceInstanceName(name)\n .resourceGroupId(default_.groups()[0].id())\n .paymentType(\"Permanent\")\n .operationMetadata(NestServiceInstanceOperationMetadataArgs.builder()\n .operationStartTime(\"1681281179000\")\n .operationEndTime(\"1681367579000\")\n .resources(defaultInstance.id().applyValue(_id -\u003e \"\"\"\n {\n \\\"Type\\\": \\\"ResourceIds\\\",\n \\\"RegionId\\\": \\\"cn-hangzhou\\\",\n \\\"ResourceIds\\\": {\n \\\"ALIYUN::ECS::INSTANCE\\\": [\n \\\"%s\\\"\n ]\n } \n }\n\", _id)))\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"ServiceInstance\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCompute Nest Service Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:compute/nestServiceInstance:NestServiceInstance example \u003cid\u003e\n```\n\n", "properties": { "commodity": { "$ref": "#/types/alicloud:compute/NestServiceInstanceCommodity:NestServiceInstanceCommodity", @@ -128993,8 +130981,252 @@ "type": "object" } }, + "alicloud:config/reportTemplate:ReportTemplate": { + "description": "Provides a Cloud Config (Config) Report Template resource.\n\nConfig Compliance Report Template.\n\nFor information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.config.ReportTemplate(\"default\", {\n reportGranularity: \"AllInOne\",\n reportScopes: [{\n key: \"RuleId\",\n value: \"cr-xxx\",\n matchType: \"In\",\n }],\n reportFileFormats: \"excel\",\n reportTemplateName: \"example-name\",\n reportTemplateDescription: \"example-desc\",\n subscriptionFrequency: \" \",\n reportLanguage: \"en-US\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.config.ReportTemplate(\"default\",\n report_granularity=\"AllInOne\",\n report_scopes=[{\n \"key\": \"RuleId\",\n \"value\": \"cr-xxx\",\n \"match_type\": \"In\",\n }],\n report_file_formats=\"excel\",\n report_template_name=\"example-name\",\n report_template_description=\"example-desc\",\n subscription_frequency=\" \",\n report_language=\"en-US\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Config.ReportTemplate(\"default\", new()\n {\n ReportGranularity = \"AllInOne\",\n ReportScopes = new[]\n {\n new AliCloud.config.Inputs.ReportTemplateReportScopeArgs\n {\n Key = \"RuleId\",\n Value = \"cr-xxx\",\n MatchType = \"In\",\n },\n },\n ReportFileFormats = \"excel\",\n ReportTemplateName = \"example-name\",\n ReportTemplateDescription = \"example-desc\",\n SubscriptionFrequency = \" \",\n ReportLanguage = \"en-US\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/config\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\tpulumiconfig \"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := config.NewReportTemplate(ctx, \"default\", \u0026config.ReportTemplateArgs{\n\t\t\tReportGranularity: pulumi.String(\"AllInOne\"),\n\t\t\tReportScopes: config.ReportTemplateReportScopeArray{\n\t\t\t\t\u0026config.ReportTemplateReportScopeArgs{\n\t\t\t\t\tKey: pulumi.String(\"RuleId\"),\n\t\t\t\t\tValue: pulumi.String(\"cr-xxx\"),\n\t\t\t\t\tMatchType: pulumi.String(\"In\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReportFileFormats: pulumi.String(\"excel\"),\n\t\t\tReportTemplateName: pulumi.String(\"example-name\"),\n\t\t\tReportTemplateDescription: pulumi.String(\"example-desc\"),\n\t\t\tSubscriptionFrequency: pulumi.String(\" \"),\n\t\t\tReportLanguage: pulumi.String(\"en-US\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.config.ReportTemplate;\nimport com.pulumi.alicloud.config.ReportTemplateArgs;\nimport com.pulumi.alicloud.config.inputs.ReportTemplateReportScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ReportTemplate(\"default\", ReportTemplateArgs.builder()\n .reportGranularity(\"AllInOne\")\n .reportScopes(ReportTemplateReportScopeArgs.builder()\n .key(\"RuleId\")\n .value(\"cr-xxx\")\n .matchType(\"In\")\n .build())\n .reportFileFormats(\"excel\")\n .reportTemplateName(\"example-name\")\n .reportTemplateDescription(\"example-desc\")\n .subscriptionFrequency(\" \")\n .reportLanguage(\"en-US\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:config:ReportTemplate\n properties:\n reportGranularity: AllInOne\n reportScopes:\n - key: RuleId\n value: cr-xxx\n matchType: In\n reportFileFormats: excel\n reportTemplateName: example-name\n reportTemplateDescription: example-desc\n subscriptionFrequency: ' '\n reportLanguage: en-US\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config (Config) Report Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:config/reportTemplate:ReportTemplate example \u003cid\u003e\n```\n\n", + "properties": { + "reportFileFormats": { + "type": "string", + "description": "Report Format\n" + }, + "reportGranularity": { + "type": "string", + "description": "Report Aggregation Granularity\n" + }, + "reportLanguage": { + "type": "string", + "description": "This property does not have a description in the spec, please add it before generating code.\n" + }, + "reportScopes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:config/ReportTemplateReportScope:ReportTemplateReportScope" + }, + "description": "Report range, yes and logic between multiple sets of k-v pairs. See \u003cspan pulumi-lang-nodejs=\"`reportScope`\" pulumi-lang-dotnet=\"`ReportScope`\" pulumi-lang-go=\"`reportScope`\" pulumi-lang-python=\"`report_scope`\" pulumi-lang-yaml=\"`reportScope`\" pulumi-lang-java=\"`reportScope`\"\u003e`report_scope`\u003c/span\u003e below.\n" + }, + "reportTemplateDescription": { + "type": "string", + "description": "Report Template Description\n" + }, + "reportTemplateName": { + "type": "string", + "description": "Report Template Name\n" + }, + "subscriptionFrequency": { + "type": "string", + "description": "Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification.\n\nThe format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions:\n- Execute at 0 o'clock every day: 0 0 0 * *?\n- Every Monday at 15: 30: 0 30 15? * MON\n- Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *?\n\nAmong them:\n-\"*\" Indicates any value\n- What-? Used for day and week fields, indicating that no specific value is specified\n- MON means Monday\n\n\u003e **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone.\n\n\u003e **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day.\n" + } + }, + "required": [ + "reportTemplateName" + ], + "inputProperties": { + "reportFileFormats": { + "type": "string", + "description": "Report Format\n" + }, + "reportGranularity": { + "type": "string", + "description": "Report Aggregation Granularity\n" + }, + "reportLanguage": { + "type": "string", + "description": "This property does not have a description in the spec, please add it before generating code.\n" + }, + "reportScopes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:config/ReportTemplateReportScope:ReportTemplateReportScope" + }, + "description": "Report range, yes and logic between multiple sets of k-v pairs. See \u003cspan pulumi-lang-nodejs=\"`reportScope`\" pulumi-lang-dotnet=\"`ReportScope`\" pulumi-lang-go=\"`reportScope`\" pulumi-lang-python=\"`report_scope`\" pulumi-lang-yaml=\"`reportScope`\" pulumi-lang-java=\"`reportScope`\"\u003e`report_scope`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "reportTemplateDescription": { + "type": "string", + "description": "Report Template Description\n" + }, + "reportTemplateName": { + "type": "string", + "description": "Report Template Name\n" + }, + "subscriptionFrequency": { + "type": "string", + "description": "Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification.\n\nThe format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions:\n- Execute at 0 o'clock every day: 0 0 0 * *?\n- Every Monday at 15: 30: 0 30 15? * MON\n- Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *?\n\nAmong them:\n-\"*\" Indicates any value\n- What-? Used for day and week fields, indicating that no specific value is specified\n- MON means Monday\n\n\u003e **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone.\n\n\u003e **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day.\n" + } + }, + "requiredInputs": [ + "reportTemplateName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ReportTemplate resources.\n", + "properties": { + "reportFileFormats": { + "type": "string", + "description": "Report Format\n" + }, + "reportGranularity": { + "type": "string", + "description": "Report Aggregation Granularity\n" + }, + "reportLanguage": { + "type": "string", + "description": "This property does not have a description in the spec, please add it before generating code.\n" + }, + "reportScopes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:config/ReportTemplateReportScope:ReportTemplateReportScope" + }, + "description": "Report range, yes and logic between multiple sets of k-v pairs. See \u003cspan pulumi-lang-nodejs=\"`reportScope`\" pulumi-lang-dotnet=\"`ReportScope`\" pulumi-lang-go=\"`reportScope`\" pulumi-lang-python=\"`report_scope`\" pulumi-lang-yaml=\"`reportScope`\" pulumi-lang-java=\"`reportScope`\"\u003e`report_scope`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "reportTemplateDescription": { + "type": "string", + "description": "Report Template Description\n" + }, + "reportTemplateName": { + "type": "string", + "description": "Report Template Name\n" + }, + "subscriptionFrequency": { + "type": "string", + "description": "Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification.\n\nThe format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions:\n- Execute at 0 o'clock every day: 0 0 0 * *?\n- Every Monday at 15: 30: 0 30 15? * MON\n- Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *?\n\nAmong them:\n-\"*\" Indicates any value\n- What-? Used for day and week fields, indicating that no specific value is specified\n- MON means Monday\n\n\u003e **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone.\n\n\u003e **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day.\n" + } + }, + "type": "object" + } + }, + "alicloud:configaggregate/remediation:Remediation": { + "description": "Provides a Cloud Config (Config) Aggregate Remediation resource.\n\nRule remediation in multi-account scenarios.\n\nFor information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation).\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst create_agg = new alicloud.cfg.Aggregator(\"create-agg\", {\n aggregatorName: \"rd\",\n description: \"rd\",\n aggregatorType: \"RD\",\n});\nconst create_rule = new alicloud.cfg.AggregateConfigRule(\"create-rule\", {\n sourceOwner: \"ALIYUN\",\n sourceIdentifier: \"required-tags\",\n aggregateConfigRuleName: \"agg-rule-name\",\n configRuleTriggerTypes: \"ConfigurationItemChangeNotification\",\n riskLevel: 1,\n resourceTypesScopes: [\"ACS::OSS::Bucket\"],\n aggregatorId: create_agg.id,\n inputParameters: {\n tag1Key: \"aaa\",\n tag1Value: \"bbb\",\n },\n});\nconst _default = new alicloud.configaggregate.Remediation(\"default\", {\n configRuleId: create_rule.configRuleId,\n remediationTemplateId: \"ACS-TAG-TagResources\",\n remediationSourceType: \"ALIYUN\",\n invokeType: \"MANUAL_EXECUTION\",\n remediationType: \"OOS\",\n aggregatorId: create_agg.id,\n remediationOriginParams: JSON.stringify({\n properties: [\n {\n name: \"regionId\",\n type: \"String\",\n value: \"{regionId}\",\n allowedValues: [],\n description: \"region ID\",\n },\n {\n name: \"tags\",\n type: \"Json\",\n value: \"{\\\"aaa\\\":\\\"bbb\\\"}\",\n allowedValues: [],\n description: \"resource tags (for example,{\\\"k1\\\":\\\"v1\\\",\\\"k2\\\":\\\"v2\\\"}).\",\n },\n {\n name: \"resourceType\",\n type: \"String\",\n value: \"{resourceType}\",\n allowedValues: [],\n description: \"resource type\",\n },\n {\n name: \"resourceIds\",\n type: \"ARRAY\",\n value: \"[{\\\"resources\\\":[]}]\",\n allowedValues: [],\n description: \"Resource ID List\",\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_agg = alicloud.cfg.Aggregator(\"create-agg\",\n aggregator_name=\"rd\",\n description=\"rd\",\n aggregator_type=\"RD\")\ncreate_rule = alicloud.cfg.AggregateConfigRule(\"create-rule\",\n source_owner=\"ALIYUN\",\n source_identifier=\"required-tags\",\n aggregate_config_rule_name=\"agg-rule-name\",\n config_rule_trigger_types=\"ConfigurationItemChangeNotification\",\n risk_level=1,\n resource_types_scopes=[\"ACS::OSS::Bucket\"],\n aggregator_id=create_agg.id,\n input_parameters={\n \"tag1Key\": \"aaa\",\n \"tag1Value\": \"bbb\",\n })\ndefault = alicloud.configaggregate.Remediation(\"default\",\n config_rule_id=create_rule.config_rule_id,\n remediation_template_id=\"ACS-TAG-TagResources\",\n remediation_source_type=\"ALIYUN\",\n invoke_type=\"MANUAL_EXECUTION\",\n remediation_type=\"OOS\",\n aggregator_id=create_agg.id,\n remediation_origin_params=json.dumps({\n \"properties\": [\n {\n \"name\": \"regionId\",\n \"type\": \"String\",\n \"value\": \"{regionId}\",\n \"allowedValues\": [],\n \"description\": \"region ID\",\n },\n {\n \"name\": \"tags\",\n \"type\": \"Json\",\n \"value\": \"{\\\"aaa\\\":\\\"bbb\\\"}\",\n \"allowedValues\": [],\n \"description\": \"resource tags (for example,{\\\"k1\\\":\\\"v1\\\",\\\"k2\\\":\\\"v2\\\"}).\",\n },\n {\n \"name\": \"resourceType\",\n \"type\": \"String\",\n \"value\": \"{resourceType}\",\n \"allowedValues\": [],\n \"description\": \"resource type\",\n },\n {\n \"name\": \"resourceIds\",\n \"type\": \"ARRAY\",\n \"value\": \"[{\\\"resources\\\":[]}]\",\n \"allowedValues\": [],\n \"description\": \"Resource ID List\",\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var create_agg = new AliCloud.Cfg.Aggregator(\"create-agg\", new()\n {\n AggregatorName = \"rd\",\n Description = \"rd\",\n AggregatorType = \"RD\",\n });\n\n var create_rule = new AliCloud.Cfg.AggregateConfigRule(\"create-rule\", new()\n {\n SourceOwner = \"ALIYUN\",\n SourceIdentifier = \"required-tags\",\n AggregateConfigRuleName = \"agg-rule-name\",\n ConfigRuleTriggerTypes = \"ConfigurationItemChangeNotification\",\n RiskLevel = 1,\n ResourceTypesScopes = new[]\n {\n \"ACS::OSS::Bucket\",\n },\n AggregatorId = create_agg.Id,\n InputParameters = \n {\n { \"tag1Key\", \"aaa\" },\n { \"tag1Value\", \"bbb\" },\n },\n });\n\n var @default = new AliCloud.ConfigAggregate.Remediation(\"default\", new()\n {\n ConfigRuleId = create_rule.ConfigRuleId,\n RemediationTemplateId = \"ACS-TAG-TagResources\",\n RemediationSourceType = \"ALIYUN\",\n InvokeType = \"MANUAL_EXECUTION\",\n RemediationType = \"OOS\",\n AggregatorId = create_agg.Id,\n RemediationOriginParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"properties\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"regionId\",\n [\"type\"] = \"String\",\n [\"value\"] = \"{regionId}\",\n [\"allowedValues\"] = new[]\n {\n },\n [\"description\"] = \"region ID\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"tags\",\n [\"type\"] = \"Json\",\n [\"value\"] = \"{\\\"aaa\\\":\\\"bbb\\\"}\",\n [\"allowedValues\"] = new[]\n {\n },\n [\"description\"] = \"resource tags (for example,{\\\"k1\\\":\\\"v1\\\",\\\"k2\\\":\\\"v2\\\"}).\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"resourceType\",\n [\"type\"] = \"String\",\n [\"value\"] = \"{resourceType}\",\n [\"allowedValues\"] = new[]\n {\n },\n [\"description\"] = \"resource type\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"resourceIds\",\n [\"type\"] = \"ARRAY\",\n [\"value\"] = \"[{\\\"resources\\\":[]}]\",\n [\"allowedValues\"] = new[]\n {\n },\n [\"description\"] = \"Resource ID List\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/configaggregate\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreate_agg, err := cfg.NewAggregator(ctx, \"create-agg\", \u0026cfg.AggregatorArgs{\n\t\t\tAggregatorName: pulumi.String(\"rd\"),\n\t\t\tDescription: pulumi.String(\"rd\"),\n\t\t\tAggregatorType: pulumi.String(\"RD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreate_rule, err := cfg.NewAggregateConfigRule(ctx, \"create-rule\", \u0026cfg.AggregateConfigRuleArgs{\n\t\t\tSourceOwner: pulumi.String(\"ALIYUN\"),\n\t\t\tSourceIdentifier: pulumi.String(\"required-tags\"),\n\t\t\tAggregateConfigRuleName: pulumi.String(\"agg-rule-name\"),\n\t\t\tConfigRuleTriggerTypes: pulumi.String(\"ConfigurationItemChangeNotification\"),\n\t\t\tRiskLevel: pulumi.Int(1),\n\t\t\tResourceTypesScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACS::OSS::Bucket\"),\n\t\t\t},\n\t\t\tAggregatorId: create_agg.ID(),\n\t\t\tInputParameters: pulumi.StringMap{\n\t\t\t\t\"tag1Key\": pulumi.String(\"aaa\"),\n\t\t\t\t\"tag1Value\": pulumi.String(\"bbb\"),\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\"properties\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"regionId\",\n\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\"value\": \"{regionId}\",\n\t\t\t\t\t\"allowedValues\": []interface{}{},\n\t\t\t\t\t\"description\": \"region ID\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"tags\",\n\t\t\t\t\t\"type\": \"Json\",\n\t\t\t\t\t\"value\": \"{\\\"aaa\\\":\\\"bbb\\\"}\",\n\t\t\t\t\t\"allowedValues\": []interface{}{},\n\t\t\t\t\t\"description\": \"resource tags (for example,{\\\"k1\\\":\\\"v1\\\",\\\"k2\\\":\\\"v2\\\"}).\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"resourceType\",\n\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\"value\": \"{resourceType}\",\n\t\t\t\t\t\"allowedValues\": []interface{}{},\n\t\t\t\t\t\"description\": \"resource type\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\": \"resourceIds\",\n\t\t\t\t\t\"type\": \"ARRAY\",\n\t\t\t\t\t\"value\": \"[{\\\"resources\\\":[]}]\",\n\t\t\t\t\t\"allowedValues\": []interface{}{},\n\t\t\t\t\t\"description\": \"Resource ID List\",\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 = configaggregate.NewRemediation(ctx, \"default\", \u0026configaggregate.RemediationArgs{\n\t\t\tConfigRuleId: create_rule.ConfigRuleId,\n\t\t\tRemediationTemplateId: pulumi.String(\"ACS-TAG-TagResources\"),\n\t\t\tRemediationSourceType: pulumi.String(\"ALIYUN\"),\n\t\t\tInvokeType: pulumi.String(\"MANUAL_EXECUTION\"),\n\t\t\tRemediationType: pulumi.String(\"OOS\"),\n\t\t\tAggregatorId: create_agg.ID(),\n\t\t\tRemediationOriginParams: 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.alicloud.cfg.Aggregator;\nimport com.pulumi.alicloud.cfg.AggregatorArgs;\nimport com.pulumi.alicloud.cfg.AggregateConfigRule;\nimport com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;\nimport com.pulumi.alicloud.configaggregate.Remediation;\nimport com.pulumi.alicloud.configaggregate.RemediationArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var create_agg = new Aggregator(\"create-agg\", AggregatorArgs.builder()\n .aggregatorName(\"rd\")\n .description(\"rd\")\n .aggregatorType(\"RD\")\n .build());\n\n var create_rule = new AggregateConfigRule(\"create-rule\", AggregateConfigRuleArgs.builder()\n .sourceOwner(\"ALIYUN\")\n .sourceIdentifier(\"required-tags\")\n .aggregateConfigRuleName(\"agg-rule-name\")\n .configRuleTriggerTypes(\"ConfigurationItemChangeNotification\")\n .riskLevel(1)\n .resourceTypesScopes(\"ACS::OSS::Bucket\")\n .aggregatorId(create_agg.id())\n .inputParameters(Map.ofEntries(\n Map.entry(\"tag1Key\", \"aaa\"),\n Map.entry(\"tag1Value\", \"bbb\")\n ))\n .build());\n\n var default_ = new Remediation(\"default\", RemediationArgs.builder()\n .configRuleId(create_rule.configRuleId())\n .remediationTemplateId(\"ACS-TAG-TagResources\")\n .remediationSourceType(\"ALIYUN\")\n .invokeType(\"MANUAL_EXECUTION\")\n .remediationType(\"OOS\")\n .aggregatorId(create_agg.id())\n .remediationOriginParams(serializeJson(\n jsonObject(\n jsonProperty(\"properties\", jsonArray(\n jsonObject(\n jsonProperty(\"name\", \"regionId\"),\n jsonProperty(\"type\", \"String\"),\n jsonProperty(\"value\", \"{regionId}\"),\n jsonProperty(\"allowedValues\", jsonArray(\n )),\n jsonProperty(\"description\", \"region ID\")\n ), \n jsonObject(\n jsonProperty(\"name\", \"tags\"),\n jsonProperty(\"type\", \"Json\"),\n jsonProperty(\"value\", \"{\\\"aaa\\\":\\\"bbb\\\"}\"),\n jsonProperty(\"allowedValues\", jsonArray(\n )),\n jsonProperty(\"description\", \"resource tags (for example,{\\\"k1\\\":\\\"v1\\\",\\\"k2\\\":\\\"v2\\\"}).\")\n ), \n jsonObject(\n jsonProperty(\"name\", \"resourceType\"),\n jsonProperty(\"type\", \"String\"),\n jsonProperty(\"value\", \"{resourceType}\"),\n jsonProperty(\"allowedValues\", jsonArray(\n )),\n jsonProperty(\"description\", \"resource type\")\n ), \n jsonObject(\n jsonProperty(\"name\", \"resourceIds\"),\n jsonProperty(\"type\", \"ARRAY\"),\n jsonProperty(\"value\", \"[{\\\"resources\\\":[]}]\"),\n jsonProperty(\"allowedValues\", jsonArray(\n )),\n jsonProperty(\"description\", \"Resource ID List\")\n )\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n create-agg:\n type: alicloud:cfg:Aggregator\n properties:\n aggregatorName: rd\n description: rd\n aggregatorType: RD\n create-rule:\n type: alicloud:cfg:AggregateConfigRule\n properties:\n sourceOwner: ALIYUN\n sourceIdentifier: required-tags\n aggregateConfigRuleName: agg-rule-name\n configRuleTriggerTypes: ConfigurationItemChangeNotification\n riskLevel: '1'\n resourceTypesScopes:\n - ACS::OSS::Bucket\n aggregatorId: ${[\"create-agg\"].id}\n inputParameters:\n tag1Key: aaa\n tag1Value: bbb\n default:\n type: alicloud:configaggregate:Remediation\n properties:\n configRuleId: ${[\"create-rule\"].configRuleId}\n remediationTemplateId: ACS-TAG-TagResources\n remediationSourceType: ALIYUN\n invokeType: MANUAL_EXECUTION\n remediationType: OOS\n aggregatorId: ${[\"create-agg\"].id}\n remediationOriginParams:\n fn::toJSON:\n properties:\n - name: regionId\n type: String\n value: '{regionId}'\n allowedValues: []\n description: region ID\n - name: tags\n type: Json\n value: '{\"aaa\":\"bbb\"}'\n allowedValues: []\n description: resource tags (for example,{\"k1\":\"v1\",\"k2\":\"v2\"}).\n - name: resourceType\n type: String\n value: '{resourceType}'\n allowedValues: []\n description: resource type\n - name: resourceIds\n type: ARRAY\n value: '[{\"resources\":[]}]'\n allowedValues: []\n description: Resource ID List\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud Config (Config) Aggregate Remediation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:configaggregate/remediation:Remediation example \u003caggregator_id\u003e:\u003cremediation_id\u003e\n```\n\n", + "properties": { + "aggregatorId": { + "type": "string", + "description": "The account Group ID.\nFor more information about how to obtain the account group ID, see ListAggregators.\n" + }, + "configRuleId": { + "type": "string", + "description": "The rule ID.\nFor more information about how to obtain the rule ID, see [ListAggregateConfigRules].\n" + }, + "invokeType": { + "type": "string", + "description": "Correction of execution mode. Value:\n- NON_EXECUTION: Not executed.\n- AUTO_EXECUTION: Automatically executed.\n- MANUAL_EXECUTION: Execute manually.\n- NOT_CONFIG: Not set.\n" + }, + "remediationId": { + "type": "string", + "description": "Multi-account remediation ID\n" + }, + "remediationOriginParams": { + "type": "string", + "description": "Correct the parameters of the settings.\nFor more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '.\n" + }, + "remediationSourceType": { + "type": "string", + "description": "The source of the template to perform the correction. Value:\n- ALIYUN (default): Official website template.\n- CUSTOM: CUSTOM template.\n- NONE: NONE.\n" + }, + "remediationTemplateId": { + "type": "string", + "description": "The ID of the correction template.\n" + }, + "remediationType": { + "type": "string", + "description": "Remediation type. Value:\n- OOS: Operation and maintenance orchestration (Template correction).\n- FC: Function Compute (custom correction).\n" + } + }, + "required": [ + "aggregatorId", + "configRuleId", + "invokeType", + "remediationId", + "remediationOriginParams", + "remediationTemplateId", + "remediationType" + ], + "inputProperties": { + "aggregatorId": { + "type": "string", + "description": "The account Group ID.\nFor more information about how to obtain the account group ID, see ListAggregators.\n", + "willReplaceOnChanges": true + }, + "configRuleId": { + "type": "string", + "description": "The rule ID.\nFor more information about how to obtain the rule ID, see [ListAggregateConfigRules].\n", + "willReplaceOnChanges": true + }, + "invokeType": { + "type": "string", + "description": "Correction of execution mode. Value:\n- NON_EXECUTION: Not executed.\n- AUTO_EXECUTION: Automatically executed.\n- MANUAL_EXECUTION: Execute manually.\n- NOT_CONFIG: Not set.\n" + }, + "remediationOriginParams": { + "type": "string", + "description": "Correct the parameters of the settings.\nFor more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '.\n" + }, + "remediationSourceType": { + "type": "string", + "description": "The source of the template to perform the correction. Value:\n- ALIYUN (default): Official website template.\n- CUSTOM: CUSTOM template.\n- NONE: NONE.\n", + "willReplaceOnChanges": true + }, + "remediationTemplateId": { + "type": "string", + "description": "The ID of the correction template.\n" + }, + "remediationType": { + "type": "string", + "description": "Remediation type. Value:\n- OOS: Operation and maintenance orchestration (Template correction).\n- FC: Function Compute (custom correction).\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "aggregatorId", + "configRuleId", + "invokeType", + "remediationOriginParams", + "remediationTemplateId", + "remediationType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Remediation resources.\n", + "properties": { + "aggregatorId": { + "type": "string", + "description": "The account Group ID.\nFor more information about how to obtain the account group ID, see ListAggregators.\n", + "willReplaceOnChanges": true + }, + "configRuleId": { + "type": "string", + "description": "The rule ID.\nFor more information about how to obtain the rule ID, see [ListAggregateConfigRules].\n", + "willReplaceOnChanges": true + }, + "invokeType": { + "type": "string", + "description": "Correction of execution mode. Value:\n- NON_EXECUTION: Not executed.\n- AUTO_EXECUTION: Automatically executed.\n- MANUAL_EXECUTION: Execute manually.\n- NOT_CONFIG: Not set.\n" + }, + "remediationId": { + "type": "string", + "description": "Multi-account remediation ID\n" + }, + "remediationOriginParams": { + "type": "string", + "description": "Correct the parameters of the settings.\nFor more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '.\n" + }, + "remediationSourceType": { + "type": "string", + "description": "The source of the template to perform the correction. Value:\n- ALIYUN (default): Official website template.\n- CUSTOM: CUSTOM template.\n- NONE: NONE.\n", + "willReplaceOnChanges": true + }, + "remediationTemplateId": { + "type": "string", + "description": "The ID of the correction template.\n" + }, + "remediationType": { + "type": "string", + "description": "Remediation type. Value:\n- OOS: Operation and maintenance orchestration (Template correction).\n- FC: Function Compute (custom correction).\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:cr/chain:Chain": { - "description": "Provides a CR Chain resource.\n\nFor information about CR Chain and how to use it, see [What is Chain](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchain).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst defaultRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n namespace: defaultRegistryEnterpriseNamespace.name,\n name: `${name}-${_default.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n detail: \"this is a public repo\",\n});\nconst defaultChain = new alicloud.cr.Chain(\"default\", {\n chainConfigs: [{\n nodes: [\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"DOCKER_IMAGE_BUILD\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"DOCKER_IMAGE_PUSH\",\n },\n {\n enable: true,\n nodeName: \"VULNERABILITY_SCANNING\",\n nodeConfigs: [{\n denyPolicies: [{\n issueLevel: \"MEDIUM\",\n issueCount: \"1\",\n action: \"BLOCK_DELETE_TAG\",\n logic: \"AND\",\n }],\n }],\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"ACTIVATE_REPLICATION\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"TRIGGER\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: false,\n nodeName: \"SNAPSHOT\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: false,\n nodeName: \"TRIGGER_SNAPSHOT\",\n },\n ],\n routers: [\n {\n froms: [{\n nodeName: \"DOCKER_IMAGE_BUILD\",\n }],\n tos: [{\n nodeName: \"DOCKER_IMAGE_PUSH\",\n }],\n },\n {\n froms: [{\n nodeName: \"DOCKER_IMAGE_PUSH\",\n }],\n tos: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n },\n {\n froms: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n tos: [{\n nodeName: \"ACTIVATE_REPLICATION\",\n }],\n },\n {\n froms: [{\n nodeName: \"ACTIVATE_REPLICATION\",\n }],\n tos: [{\n nodeName: \"TRIGGER\",\n }],\n },\n {\n froms: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n tos: [{\n nodeName: \"SNAPSHOT\",\n }],\n },\n {\n froms: [{\n nodeName: \"SNAPSHOT\",\n }],\n tos: [{\n nodeName: \"TRIGGER_SNAPSHOT\",\n }],\n },\n ],\n }],\n chainName: `${name}-${_default.result}`,\n description: name,\n instanceId: defaultRegistryEnterpriseNamespace.instanceId,\n repoName: defaultRegistryEnterpriseRepo.name,\n repoNamespaceName: defaultRegistryEnterpriseNamespace.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\ndefault_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n namespace=default_registry_enterprise_namespace.name,\n name=f\"{name}-{default['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\",\n detail=\"this is a public repo\")\ndefault_chain = alicloud.cr.Chain(\"default\",\n chain_configs=[{\n \"nodes\": [\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"DOCKER_IMAGE_BUILD\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n },\n {\n \"enable\": True,\n \"node_name\": \"VULNERABILITY_SCANNING\",\n \"node_configs\": [{\n \"deny_policies\": [{\n \"issue_level\": \"MEDIUM\",\n \"issue_count\": \"1\",\n \"action\": \"BLOCK_DELETE_TAG\",\n \"logic\": \"AND\",\n }],\n }],\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"ACTIVATE_REPLICATION\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"TRIGGER\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": False,\n \"node_name\": \"SNAPSHOT\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": False,\n \"node_name\": \"TRIGGER_SNAPSHOT\",\n },\n ],\n \"routers\": [\n {\n \"froms\": [{\n \"node_name\": \"DOCKER_IMAGE_BUILD\",\n }],\n \"tos\": [{\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n }],\n \"tos\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n \"tos\": [{\n \"node_name\": \"ACTIVATE_REPLICATION\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"ACTIVATE_REPLICATION\",\n }],\n \"tos\": [{\n \"node_name\": \"TRIGGER\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n \"tos\": [{\n \"node_name\": \"SNAPSHOT\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"SNAPSHOT\",\n }],\n \"tos\": [{\n \"node_name\": \"TRIGGER_SNAPSHOT\",\n }],\n },\n ],\n }],\n chain_name=f\"{name}-{default['result']}\",\n description=name,\n instance_id=default_registry_enterprise_namespace.instance_id,\n repo_name=default_registry_enterprise_repo.name,\n repo_namespace_name=default_registry_enterprise_namespace.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var defaultRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Namespace = defaultRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{@default.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n Detail = \"this is a public repo\",\n });\n\n var defaultChain = new AliCloud.CR.Chain(\"default\", new()\n {\n ChainConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigArgs\n {\n Nodes = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"DOCKER_IMAGE_BUILD\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n Enable = true,\n NodeName = \"VULNERABILITY_SCANNING\",\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigDenyPolicyArgs\n {\n IssueLevel = \"MEDIUM\",\n IssueCount = \"1\",\n Action = \"BLOCK_DELETE_TAG\",\n Logic = \"AND\",\n },\n },\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"TRIGGER\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = false,\n NodeName = \"SNAPSHOT\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = false,\n NodeName = \"TRIGGER_SNAPSHOT\",\n },\n },\n Routers = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"DOCKER_IMAGE_BUILD\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"TRIGGER\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"SNAPSHOT\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"SNAPSHOT\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"TRIGGER_SNAPSHOT\",\n },\n },\n },\n },\n },\n },\n ChainName = $\"{name}-{@default.Result}\",\n Description = name,\n InstanceId = defaultRegistryEnterpriseNamespace.InstanceId,\n RepoName = defaultRegistryEnterpriseRepo.Name,\n RepoNamespaceName = defaultRegistryEnterpriseNamespace.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"default\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tNamespace: defaultRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t\tDetail: pulumi.String(\"this is a public repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChain(ctx, \"default\", \u0026cr.ChainArgs{\n\t\t\tChainConfigs: cr.ChainChainConfigArray{\n\t\t\t\t\u0026cr.ChainChainConfigArgs{\n\t\t\t\t\tNodes: cr.ChainChainConfigNodeArray{\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_BUILD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{\n\t\t\t\t\t\t\t\t\t\t\tIssueLevel: pulumi.String(\"MEDIUM\"),\n\t\t\t\t\t\t\t\t\t\t\tIssueCount: pulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"BLOCK_DELETE_TAG\"),\n\t\t\t\t\t\t\t\t\t\t\tLogic: pulumi.String(\"AND\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(false),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(false),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER_SNAPSHOT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRouters: cr.ChainChainConfigRouterArray{\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_BUILD\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER_SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tChainName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tInstanceId: defaultRegistryEnterpriseNamespace.InstanceId,\n\t\t\tRepoName: defaultRegistryEnterpriseRepo.Name,\n\t\t\tRepoNamespaceName: defaultRegistryEnterpriseNamespace.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport com.pulumi.alicloud.cr.Chain;\nimport com.pulumi.alicloud.cr.ChainArgs;\nimport com.pulumi.alicloud.cr.inputs.ChainChainConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var defaultRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"defaultRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .namespace(defaultRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .detail(\"this is a public repo\")\n .build());\n\n var defaultChain = new Chain(\"defaultChain\", ChainArgs.builder()\n .chainConfigs(ChainChainConfigArgs.builder()\n .nodes( \n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"DOCKER_IMAGE_BUILD\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .enable(true)\n .nodeName(\"VULNERABILITY_SCANNING\")\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .issueLevel(\"MEDIUM\")\n .issueCount(\"1\")\n .action(\"BLOCK_DELETE_TAG\")\n .logic(\"AND\")\n .build())\n .build())\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"TRIGGER\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(false)\n .nodeName(\"SNAPSHOT\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(false)\n .nodeName(\"TRIGGER_SNAPSHOT\")\n .build())\n .routers( \n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"DOCKER_IMAGE_BUILD\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"TRIGGER\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"SNAPSHOT\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"SNAPSHOT\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"TRIGGER_SNAPSHOT\")\n .build())\n .build())\n .build())\n .chainName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .instanceId(defaultRegistryEnterpriseNamespace.instanceId())\n .repoName(defaultRegistryEnterpriseRepo.name())\n .repoNamespaceName(defaultRegistryEnterpriseNamespace.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n defaultRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n namespace: ${defaultRegistryEnterpriseNamespace.name}\n name: ${name}-${default.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n detail: this is a public repo\n defaultChain:\n type: alicloud:cr:Chain\n name: default\n properties:\n chainConfigs:\n - nodes:\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: DOCKER_IMAGE_BUILD\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: DOCKER_IMAGE_PUSH\n - enable: true\n nodeName: VULNERABILITY_SCANNING\n nodeConfigs:\n - denyPolicies:\n - issueLevel: MEDIUM\n issueCount: 1\n action: BLOCK_DELETE_TAG\n logic: AND\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: ACTIVATE_REPLICATION\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: TRIGGER\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: false\n nodeName: SNAPSHOT\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: false\n nodeName: TRIGGER_SNAPSHOT\n routers:\n - froms:\n - nodeName: DOCKER_IMAGE_BUILD\n tos:\n - nodeName: DOCKER_IMAGE_PUSH\n - froms:\n - nodeName: DOCKER_IMAGE_PUSH\n tos:\n - nodeName: VULNERABILITY_SCANNING\n - froms:\n - nodeName: VULNERABILITY_SCANNING\n tos:\n - nodeName: ACTIVATE_REPLICATION\n - froms:\n - nodeName: ACTIVATE_REPLICATION\n tos:\n - nodeName: TRIGGER\n - froms:\n - nodeName: VULNERABILITY_SCANNING\n tos:\n - nodeName: SNAPSHOT\n - froms:\n - nodeName: SNAPSHOT\n tos:\n - nodeName: TRIGGER_SNAPSHOT\n chainName: ${name}-${default.result}\n description: ${name}\n instanceId: ${defaultRegistryEnterpriseNamespace.instanceId}\n repoName: ${defaultRegistryEnterpriseRepo.name}\n repoNamespaceName: ${defaultRegistryEnterpriseNamespace.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Chain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chain:Chain example \u003cinstance_id\u003e:\u003cchain_id\u003e\n```\n\n", + "description": "Provides a CR Chain resource.\n\nFor information about CR Chain and how to use it, see [What is Chain](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchain).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst defaultRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n namespace: defaultRegistryEnterpriseNamespace.name,\n name: `${name}-${_default.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n detail: \"this is a public repo\",\n});\nconst defaultChain = new alicloud.cr.Chain(\"default\", {\n chainConfigs: [{\n nodes: [\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"DOCKER_IMAGE_BUILD\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"DOCKER_IMAGE_PUSH\",\n },\n {\n enable: true,\n nodeName: \"VULNERABILITY_SCANNING\",\n nodeConfigs: [{\n denyPolicies: [{\n issueLevel: \"MEDIUM\",\n issueCount: \"1\",\n action: \"BLOCK_DELETE_TAG\",\n logic: \"AND\",\n }],\n }],\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"ACTIVATE_REPLICATION\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: true,\n nodeName: \"TRIGGER\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: false,\n nodeName: \"SNAPSHOT\",\n },\n {\n nodeConfigs: [{\n denyPolicies: [{}],\n }],\n enable: false,\n nodeName: \"TRIGGER_SNAPSHOT\",\n },\n ],\n routers: [\n {\n froms: [{\n nodeName: \"DOCKER_IMAGE_BUILD\",\n }],\n tos: [{\n nodeName: \"DOCKER_IMAGE_PUSH\",\n }],\n },\n {\n froms: [{\n nodeName: \"DOCKER_IMAGE_PUSH\",\n }],\n tos: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n },\n {\n froms: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n tos: [{\n nodeName: \"ACTIVATE_REPLICATION\",\n }],\n },\n {\n froms: [{\n nodeName: \"ACTIVATE_REPLICATION\",\n }],\n tos: [{\n nodeName: \"TRIGGER\",\n }],\n },\n {\n froms: [{\n nodeName: \"VULNERABILITY_SCANNING\",\n }],\n tos: [{\n nodeName: \"SNAPSHOT\",\n }],\n },\n {\n froms: [{\n nodeName: \"SNAPSHOT\",\n }],\n tos: [{\n nodeName: \"TRIGGER_SNAPSHOT\",\n }],\n },\n ],\n }],\n chainName: `${name}-${_default.result}`,\n description: name,\n instanceId: defaultRegistryEnterpriseNamespace.instanceId,\n repoName: defaultRegistryEnterpriseRepo.name,\n repoNamespaceName: defaultRegistryEnterpriseNamespace.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\ndefault_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n namespace=default_registry_enterprise_namespace.name,\n name=f\"{name}-{default['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\",\n detail=\"this is a public repo\")\ndefault_chain = alicloud.cr.Chain(\"default\",\n chain_configs=[{\n \"nodes\": [\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"DOCKER_IMAGE_BUILD\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n },\n {\n \"enable\": True,\n \"node_name\": \"VULNERABILITY_SCANNING\",\n \"node_configs\": [{\n \"deny_policies\": [{\n \"issue_level\": \"MEDIUM\",\n \"issue_count\": \"1\",\n \"action\": \"BLOCK_DELETE_TAG\",\n \"logic\": \"AND\",\n }],\n }],\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"ACTIVATE_REPLICATION\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": True,\n \"node_name\": \"TRIGGER\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": False,\n \"node_name\": \"SNAPSHOT\",\n },\n {\n \"node_configs\": [{\n \"deny_policies\": [{}],\n }],\n \"enable\": False,\n \"node_name\": \"TRIGGER_SNAPSHOT\",\n },\n ],\n \"routers\": [\n {\n \"froms\": [{\n \"node_name\": \"DOCKER_IMAGE_BUILD\",\n }],\n \"tos\": [{\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"DOCKER_IMAGE_PUSH\",\n }],\n \"tos\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n \"tos\": [{\n \"node_name\": \"ACTIVATE_REPLICATION\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"ACTIVATE_REPLICATION\",\n }],\n \"tos\": [{\n \"node_name\": \"TRIGGER\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"VULNERABILITY_SCANNING\",\n }],\n \"tos\": [{\n \"node_name\": \"SNAPSHOT\",\n }],\n },\n {\n \"froms\": [{\n \"node_name\": \"SNAPSHOT\",\n }],\n \"tos\": [{\n \"node_name\": \"TRIGGER_SNAPSHOT\",\n }],\n },\n ],\n }],\n chain_name=f\"{name}-{default['result']}\",\n description=name,\n instance_id=default_registry_enterprise_namespace.instance_id,\n repo_name=default_registry_enterprise_repo.name,\n repo_namespace_name=default_registry_enterprise_namespace.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var defaultRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Namespace = defaultRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{@default.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n Detail = \"this is a public repo\",\n });\n\n var defaultChain = new AliCloud.CR.Chain(\"default\", new()\n {\n ChainConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigArgs\n {\n Nodes = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"DOCKER_IMAGE_BUILD\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n Enable = true,\n NodeName = \"VULNERABILITY_SCANNING\",\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigDenyPolicyArgs\n {\n IssueLevel = \"MEDIUM\",\n IssueCount = \"1\",\n Action = \"BLOCK_DELETE_TAG\",\n Logic = \"AND\",\n },\n },\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = true,\n NodeName = \"TRIGGER\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = false,\n NodeName = \"SNAPSHOT\",\n },\n new AliCloud.CR.Inputs.ChainChainConfigNodeArgs\n {\n NodeConfigs = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigNodeNodeConfigArgs\n {\n DenyPolicies = new[]\n {\n null,\n },\n },\n },\n Enable = false,\n NodeName = \"TRIGGER_SNAPSHOT\",\n },\n },\n Routers = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"DOCKER_IMAGE_BUILD\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"DOCKER_IMAGE_PUSH\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"ACTIVATE_REPLICATION\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"TRIGGER\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"VULNERABILITY_SCANNING\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"SNAPSHOT\",\n },\n },\n },\n new AliCloud.CR.Inputs.ChainChainConfigRouterArgs\n {\n Froms = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterFromArgs\n {\n NodeName = \"SNAPSHOT\",\n },\n },\n Tos = new[]\n {\n new AliCloud.CR.Inputs.ChainChainConfigRouterToArgs\n {\n NodeName = \"TRIGGER_SNAPSHOT\",\n },\n },\n },\n },\n },\n },\n ChainName = $\"{name}-{@default.Result}\",\n Description = name,\n InstanceId = defaultRegistryEnterpriseNamespace.InstanceId,\n RepoName = defaultRegistryEnterpriseRepo.Name,\n RepoNamespaceName = defaultRegistryEnterpriseNamespace.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"default\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tNamespace: defaultRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t\tDetail: pulumi.String(\"this is a public repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChain(ctx, \"default\", \u0026cr.ChainArgs{\n\t\t\tChainConfigs: cr.ChainChainConfigArray{\n\t\t\t\t\u0026cr.ChainChainConfigArgs{\n\t\t\t\t\tNodes: cr.ChainChainConfigNodeArray{\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_BUILD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{\n\t\t\t\t\t\t\t\t\t\t\tIssueLevel: pulumi.String(\"MEDIUM\"),\n\t\t\t\t\t\t\t\t\t\t\tIssueCount: pulumi.String(\"1\"),\n\t\t\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"BLOCK_DELETE_TAG\"),\n\t\t\t\t\t\t\t\t\t\t\tLogic: pulumi.String(\"AND\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(false),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeArgs{\n\t\t\t\t\t\t\tNodeConfigs: cr.ChainChainConfigNodeNodeConfigArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigArgs{\n\t\t\t\t\t\t\t\t\tDenyPolicies: cr.ChainChainConfigNodeNodeConfigDenyPolicyArray{\n\t\t\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigNodeNodeConfigDenyPolicyArgs{},\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\tEnable: pulumi.Bool(false),\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER_SNAPSHOT\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRouters: cr.ChainChainConfigRouterArray{\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_BUILD\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"DOCKER_IMAGE_PUSH\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"ACTIVATE_REPLICATION\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"VULNERABILITY_SCANNING\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterArgs{\n\t\t\t\t\t\t\tFroms: cr.ChainChainConfigRouterFromArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterFromArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTos: cr.ChainChainConfigRouterToArray{\n\t\t\t\t\t\t\t\t\u0026cr.ChainChainConfigRouterToArgs{\n\t\t\t\t\t\t\t\t\tNodeName: pulumi.String(\"TRIGGER_SNAPSHOT\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tChainName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tInstanceId: defaultRegistryEnterpriseNamespace.InstanceId,\n\t\t\tRepoName: defaultRegistryEnterpriseRepo.Name,\n\t\t\tRepoNamespaceName: defaultRegistryEnterpriseNamespace.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport com.pulumi.alicloud.cr.Chain;\nimport com.pulumi.alicloud.cr.ChainArgs;\nimport com.pulumi.alicloud.cr.inputs.ChainChainConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var defaultRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"defaultRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .namespace(defaultRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .detail(\"this is a public repo\")\n .build());\n\n var defaultChain = new Chain(\"defaultChain\", ChainArgs.builder()\n .chainConfigs(ChainChainConfigArgs.builder()\n .nodes( \n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"DOCKER_IMAGE_BUILD\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .enable(true)\n .nodeName(\"VULNERABILITY_SCANNING\")\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .issueLevel(\"MEDIUM\")\n .issueCount(\"1\")\n .action(\"BLOCK_DELETE_TAG\")\n .logic(\"AND\")\n .build())\n .build())\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(true)\n .nodeName(\"TRIGGER\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(false)\n .nodeName(\"SNAPSHOT\")\n .build(),\n ChainChainConfigNodeArgs.builder()\n .nodeConfigs(ChainChainConfigNodeNodeConfigArgs.builder()\n .denyPolicies(ChainChainConfigNodeNodeConfigDenyPolicyArgs.builder()\n .build())\n .build())\n .enable(false)\n .nodeName(\"TRIGGER_SNAPSHOT\")\n .build())\n .routers( \n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"DOCKER_IMAGE_BUILD\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"DOCKER_IMAGE_PUSH\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"ACTIVATE_REPLICATION\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"TRIGGER\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"VULNERABILITY_SCANNING\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"SNAPSHOT\")\n .build())\n .build(),\n ChainChainConfigRouterArgs.builder()\n .froms(ChainChainConfigRouterFromArgs.builder()\n .nodeName(\"SNAPSHOT\")\n .build())\n .tos(ChainChainConfigRouterToArgs.builder()\n .nodeName(\"TRIGGER_SNAPSHOT\")\n .build())\n .build())\n .build())\n .chainName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .instanceId(defaultRegistryEnterpriseNamespace.instanceId())\n .repoName(defaultRegistryEnterpriseRepo.name())\n .repoNamespaceName(defaultRegistryEnterpriseNamespace.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n defaultRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n namespace: ${defaultRegistryEnterpriseNamespace.name}\n name: ${name}-${default.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n detail: this is a public repo\n defaultChain:\n type: alicloud:cr:Chain\n name: default\n properties:\n chainConfigs:\n - nodes:\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: DOCKER_IMAGE_BUILD\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: DOCKER_IMAGE_PUSH\n - enable: true\n nodeName: VULNERABILITY_SCANNING\n nodeConfigs:\n - denyPolicies:\n - issueLevel: MEDIUM\n issueCount: 1\n action: BLOCK_DELETE_TAG\n logic: AND\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: ACTIVATE_REPLICATION\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: true\n nodeName: TRIGGER\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: false\n nodeName: SNAPSHOT\n - nodeConfigs:\n - denyPolicies:\n - {}\n enable: false\n nodeName: TRIGGER_SNAPSHOT\n routers:\n - froms:\n - nodeName: DOCKER_IMAGE_BUILD\n tos:\n - nodeName: DOCKER_IMAGE_PUSH\n - froms:\n - nodeName: DOCKER_IMAGE_PUSH\n tos:\n - nodeName: VULNERABILITY_SCANNING\n - froms:\n - nodeName: VULNERABILITY_SCANNING\n tos:\n - nodeName: ACTIVATE_REPLICATION\n - froms:\n - nodeName: ACTIVATE_REPLICATION\n tos:\n - nodeName: TRIGGER\n - froms:\n - nodeName: VULNERABILITY_SCANNING\n tos:\n - nodeName: SNAPSHOT\n - froms:\n - nodeName: SNAPSHOT\n tos:\n - nodeName: TRIGGER_SNAPSHOT\n chainName: ${name}-${default.result}\n description: ${name}\n instanceId: ${defaultRegistryEnterpriseNamespace.instanceId}\n repoName: ${defaultRegistryEnterpriseRepo.name}\n repoNamespaceName: ${defaultRegistryEnterpriseNamespace.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Chain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chain:Chain example \u003cinstance_id\u003e:\u003cchain_id\u003e\n```\n\n", "properties": { "chainConfigs": { "type": "array", @@ -129111,7 +131343,7 @@ } }, "alicloud:cr/chartNamespace:ChartNamespace": { - "description": "Provides a CR Chart Namespace resource.\n\nFor information about CR Chart Namespace and how to use it, see [What is Chart Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchartnamespace).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst example = new alicloud.cr.RegistryEnterpriseInstance(\"example\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst exampleChartNamespace = new alicloud.cr.ChartNamespace(\"example\", {\n instanceId: example.id,\n namespaceName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\nexample = alicloud.cr.RegistryEnterpriseInstance(\"example\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\nexample_chart_namespace = alicloud.cr.ChartNamespace(\"example\",\n instance_id=example.id,\n namespace_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var example = new AliCloud.CR.RegistryEnterpriseInstance(\"example\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartNamespace = new AliCloud.CR.ChartNamespace(\"example\", new()\n {\n InstanceId = example.Id,\n NamespaceName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cr.NewRegistryEnterpriseInstance(ctx, \"example\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChartNamespace(ctx, \"example\", \u0026cr.ChartNamespaceArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tNamespaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.ChartNamespace;\nimport com.pulumi.alicloud.cr.ChartNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var example = new RegistryEnterpriseInstance(\"example\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartNamespace = new ChartNamespace(\"exampleChartNamespace\", ChartNamespaceArgs.builder()\n .instanceId(example.id())\n .namespaceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n example:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n exampleChartNamespace:\n type: alicloud:cr:ChartNamespace\n name: example\n properties:\n instanceId: ${example.id}\n namespaceName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Chart Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chartNamespace:ChartNamespace example \u003cinstance_id\u003e:\u003cnamespace_name\u003e\n```\n\n", + "description": "Provides a CR Chart Namespace resource.\n\nFor information about CR Chart Namespace and how to use it, see [What is Chart Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchartnamespace).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst example = new alicloud.cr.RegistryEnterpriseInstance(\"example\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst exampleChartNamespace = new alicloud.cr.ChartNamespace(\"example\", {\n instanceId: example.id,\n namespaceName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\nexample = alicloud.cr.RegistryEnterpriseInstance(\"example\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\nexample_chart_namespace = alicloud.cr.ChartNamespace(\"example\",\n instance_id=example.id,\n namespace_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var example = new AliCloud.CR.RegistryEnterpriseInstance(\"example\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartNamespace = new AliCloud.CR.ChartNamespace(\"example\", new()\n {\n InstanceId = example.Id,\n NamespaceName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cr.NewRegistryEnterpriseInstance(ctx, \"example\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChartNamespace(ctx, \"example\", \u0026cr.ChartNamespaceArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tNamespaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.ChartNamespace;\nimport com.pulumi.alicloud.cr.ChartNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var example = new RegistryEnterpriseInstance(\"example\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartNamespace = new ChartNamespace(\"exampleChartNamespace\", ChartNamespaceArgs.builder()\n .instanceId(example.id())\n .namespaceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n example:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n exampleChartNamespace:\n type: alicloud:cr:ChartNamespace\n name: example\n properties:\n instanceId: ${example.id}\n namespaceName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Chart Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chartNamespace:ChartNamespace example \u003cinstance_id\u003e:\u003cnamespace_name\u003e\n```\n\n", "properties": { "autoCreateRepo": { "type": "boolean", @@ -129186,7 +131418,7 @@ } }, "alicloud:cr/chartRepository:ChartRepository": { - "description": "Provides a CR Chart Repository resource.\n\nFor information about CR Chart Repository and how to use it, see [What is Chart Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchartrepository).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst example = new alicloud.cr.RegistryEnterpriseInstance(\"example\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst exampleChartNamespace = new alicloud.cr.ChartNamespace(\"example\", {\n instanceId: example.id,\n namespaceName: `${name}-${_default.result}`,\n});\nconst exampleChartRepository = new alicloud.cr.ChartRepository(\"example\", {\n repoNamespaceName: exampleChartNamespace.namespaceName,\n instanceId: exampleChartNamespace.instanceId,\n repoName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\nexample = alicloud.cr.RegistryEnterpriseInstance(\"example\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\nexample_chart_namespace = alicloud.cr.ChartNamespace(\"example\",\n instance_id=example.id,\n namespace_name=f\"{name}-{default['result']}\")\nexample_chart_repository = alicloud.cr.ChartRepository(\"example\",\n repo_namespace_name=example_chart_namespace.namespace_name,\n instance_id=example_chart_namespace.instance_id,\n repo_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var example = new AliCloud.CR.RegistryEnterpriseInstance(\"example\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartNamespace = new AliCloud.CR.ChartNamespace(\"example\", new()\n {\n InstanceId = example.Id,\n NamespaceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartRepository = new AliCloud.CR.ChartRepository(\"example\", new()\n {\n RepoNamespaceName = exampleChartNamespace.NamespaceName,\n InstanceId = exampleChartNamespace.InstanceId,\n RepoName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cr.NewRegistryEnterpriseInstance(ctx, \"example\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChartNamespace, err := cr.NewChartNamespace(ctx, \"example\", \u0026cr.ChartNamespaceArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tNamespaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChartRepository(ctx, \"example\", \u0026cr.ChartRepositoryArgs{\n\t\t\tRepoNamespaceName: exampleChartNamespace.NamespaceName,\n\t\t\tInstanceId: exampleChartNamespace.InstanceId,\n\t\t\tRepoName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.ChartNamespace;\nimport com.pulumi.alicloud.cr.ChartNamespaceArgs;\nimport com.pulumi.alicloud.cr.ChartRepository;\nimport com.pulumi.alicloud.cr.ChartRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var example = new RegistryEnterpriseInstance(\"example\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartNamespace = new ChartNamespace(\"exampleChartNamespace\", ChartNamespaceArgs.builder()\n .instanceId(example.id())\n .namespaceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartRepository = new ChartRepository(\"exampleChartRepository\", ChartRepositoryArgs.builder()\n .repoNamespaceName(exampleChartNamespace.namespaceName())\n .instanceId(exampleChartNamespace.instanceId())\n .repoName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n example:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n exampleChartNamespace:\n type: alicloud:cr:ChartNamespace\n name: example\n properties:\n instanceId: ${example.id}\n namespaceName: ${name}-${default.result}\n exampleChartRepository:\n type: alicloud:cr:ChartRepository\n name: example\n properties:\n repoNamespaceName: ${exampleChartNamespace.namespaceName}\n instanceId: ${exampleChartNamespace.instanceId}\n repoName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Chart Repository can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chartRepository:ChartRepository example \u003cinstance_id\u003e:\u003crepo_namespace_name\u003e:\u003crepo_name\u003e\n```\n\n", + "description": "Provides a CR Chart Repository resource.\n\nFor information about CR Chart Repository and how to use it, see [What is Chart Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createchartrepository).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst example = new alicloud.cr.RegistryEnterpriseInstance(\"example\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst exampleChartNamespace = new alicloud.cr.ChartNamespace(\"example\", {\n instanceId: example.id,\n namespaceName: `${name}-${_default.result}`,\n});\nconst exampleChartRepository = new alicloud.cr.ChartRepository(\"example\", {\n repoNamespaceName: exampleChartNamespace.namespaceName,\n instanceId: exampleChartNamespace.instanceId,\n repoName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=100000,\n max=999999)\nexample = alicloud.cr.RegistryEnterpriseInstance(\"example\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\nexample_chart_namespace = alicloud.cr.ChartNamespace(\"example\",\n instance_id=example.id,\n namespace_name=f\"{name}-{default['result']}\")\nexample_chart_repository = alicloud.cr.ChartRepository(\"example\",\n repo_namespace_name=example_chart_namespace.namespace_name,\n instance_id=example_chart_namespace.instance_id,\n repo_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var example = new AliCloud.CR.RegistryEnterpriseInstance(\"example\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartNamespace = new AliCloud.CR.ChartNamespace(\"example\", new()\n {\n InstanceId = example.Id,\n NamespaceName = $\"{name}-{@default.Result}\",\n });\n\n var exampleChartRepository = new AliCloud.CR.ChartRepository(\"example\", new()\n {\n RepoNamespaceName = exampleChartNamespace.NamespaceName,\n InstanceId = exampleChartNamespace.InstanceId,\n RepoName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := cr.NewRegistryEnterpriseInstance(ctx, \"example\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleChartNamespace, err := cr.NewChartNamespace(ctx, \"example\", \u0026cr.ChartNamespaceArgs{\n\t\t\tInstanceId: example.ID(),\n\t\t\tNamespaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewChartRepository(ctx, \"example\", \u0026cr.ChartRepositoryArgs{\n\t\t\tRepoNamespaceName: exampleChartNamespace.NamespaceName,\n\t\t\tInstanceId: exampleChartNamespace.InstanceId,\n\t\t\tRepoName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.ChartNamespace;\nimport com.pulumi.alicloud.cr.ChartNamespaceArgs;\nimport com.pulumi.alicloud.cr.ChartRepository;\nimport com.pulumi.alicloud.cr.ChartRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n var example = new RegistryEnterpriseInstance(\"example\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartNamespace = new ChartNamespace(\"exampleChartNamespace\", ChartNamespaceArgs.builder()\n .instanceId(example.id())\n .namespaceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var exampleChartRepository = new ChartRepository(\"exampleChartRepository\", ChartRepositoryArgs.builder()\n .repoNamespaceName(exampleChartNamespace.namespaceName())\n .instanceId(exampleChartNamespace.instanceId())\n .repoName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 100000\n max: 999999\n example:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n exampleChartNamespace:\n type: alicloud:cr:ChartNamespace\n name: example\n properties:\n instanceId: ${example.id}\n namespaceName: ${name}-${default.result}\n exampleChartRepository:\n type: alicloud:cr:ChartRepository\n name: example\n properties:\n repoNamespaceName: ${exampleChartNamespace.namespaceName}\n instanceId: ${exampleChartNamespace.instanceId}\n repoName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Chart Repository can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/chartRepository:ChartRepository example \u003cinstance_id\u003e:\u003crepo_namespace_name\u003e:\u003crepo_name\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -129276,7 +131508,7 @@ } }, "alicloud:cr/endpointAclPolicy:EndpointAclPolicy": { - "description": "Provides a CR Endpoint Acl Policy resource.\n\nFor information about CR Endpoint Acl Policy and how to use it, see [What is Endpoint Acl Policy](https://www.alibabacloud.com/help/doc-detail/145275.htm).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst _default = alicloud.cr.getEndpointAclServiceOutput({\n endpointType: \"internet\",\n enable: true,\n instanceId: defaultRegistryEnterpriseInstance.id,\n moduleName: \"Registry\",\n});\nconst defaultEndpointAclPolicy = new alicloud.cr.EndpointAclPolicy(\"default\", {\n instanceId: _default.apply(_default =\u003e _default.instanceId),\n entry: \"192.168.1.0/24\",\n description: name,\n moduleName: \"Registry\",\n endpointType: \"internet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault = alicloud.cr.get_endpoint_acl_service_output(endpoint_type=\"internet\",\n enable=True,\n instance_id=default_registry_enterprise_instance.id,\n module_name=\"Registry\")\ndefault_endpoint_acl_policy = alicloud.cr.EndpointAclPolicy(\"default\",\n instance_id=default.instance_id,\n entry=\"192.168.1.0/24\",\n description=name,\n module_name=\"Registry\",\n endpoint_type=\"internet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var @default = AliCloud.CR.GetEndpointAclService.Invoke(new()\n {\n EndpointType = \"internet\",\n Enable = true,\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n ModuleName = \"Registry\",\n });\n\n var defaultEndpointAclPolicy = new AliCloud.CR.EndpointAclPolicy(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getEndpointAclServiceResult =\u003e getEndpointAclServiceResult.InstanceId)),\n Entry = \"192.168.1.0/24\",\n Description = name,\n ModuleName = \"Registry\",\n EndpointType = \"internet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000000,\nMax: 99999999,\n})\nif err != nil {\nreturn err\n}\ndefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\nPaymentType: pulumi.String(\"Subscription\"),\nPeriod: pulumi.Int(1),\nRenewalStatus: pulumi.String(\"ManualRenewal\"),\nInstanceType: pulumi.String(\"Advanced\"),\nInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_default := cr.GetEndpointAclServiceOutput(ctx, cr.GetEndpointAclServiceOutputArgs{\nEndpointType: pulumi.String(\"internet\"),\nEnable: pulumi.Bool(true),\nInstanceId: defaultRegistryEnterpriseInstance.ID(),\nModuleName: pulumi.String(\"Registry\"),\n}, nil);\n_, err = cr.NewEndpointAclPolicy(ctx, \"default\", \u0026cr.EndpointAclPolicyArgs{\nInstanceId: pulumi.String(_default.ApplyT(func(_default cr.GetEndpointAclServiceResult) (*string, error) {\nreturn \u0026default.InstanceId, nil\n}).(pulumi.StringPtrOutput)),\nEntry: pulumi.String(\"192.168.1.0/24\"),\nDescription: pulumi.String(name),\nModuleName: pulumi.String(\"Registry\"),\nEndpointType: pulumi.String(\"internet\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.CrFunctions;\nimport com.pulumi.alicloud.cr.inputs.GetEndpointAclServiceArgs;\nimport com.pulumi.alicloud.cr.EndpointAclPolicy;\nimport com.pulumi.alicloud.cr.EndpointAclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n final var default = CrFunctions.getEndpointAclService(GetEndpointAclServiceArgs.builder()\n .endpointType(\"internet\")\n .enable(true)\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .moduleName(\"Registry\")\n .build());\n\n var defaultEndpointAclPolicy = new EndpointAclPolicy(\"defaultEndpointAclPolicy\", EndpointAclPolicyArgs.builder()\n .instanceId(default_.applyValue(_default_ -\u003e _default_.instanceId()))\n .entry(\"192.168.1.0/24\")\n .description(name)\n .moduleName(\"Registry\")\n .endpointType(\"internet\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${defaultInteger.result}\n defaultEndpointAclPolicy:\n type: alicloud:cr:EndpointAclPolicy\n name: default\n properties:\n instanceId: ${default.instanceId}\n entry: 192.168.1.0/24\n description: ${name}\n moduleName: Registry\n endpointType: internet\nvariables:\n default:\n fn::invoke:\n function: alicloud:cr:getEndpointAclService\n arguments:\n endpointType: internet\n enable: true\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n moduleName: Registry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Endpoint Acl Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/endpointAclPolicy:EndpointAclPolicy example \u003cinstance_id\u003e:\u003cendpoint_type\u003e:\u003centry\u003e\n```\n\n", + "description": "Provides a CR Endpoint Acl Policy resource.\n\nFor information about CR Endpoint Acl Policy and how to use it, see [What is Endpoint Acl Policy](https://www.alibabacloud.com/help/doc-detail/145275.htm).\n\n\u003e **NOTE:** Available since v1.139.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst _default = alicloud.cr.getEndpointAclServiceOutput({\n endpointType: \"internet\",\n enable: true,\n instanceId: defaultRegistryEnterpriseInstance.id,\n moduleName: \"Registry\",\n});\nconst defaultEndpointAclPolicy = new alicloud.cr.EndpointAclPolicy(\"default\", {\n instanceId: _default.apply(_default =\u003e _default.instanceId),\n entry: \"192.168.1.0/24\",\n description: name,\n moduleName: \"Registry\",\n endpointType: \"internet\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault = alicloud.cr.get_endpoint_acl_service_output(endpoint_type=\"internet\",\n enable=True,\n instance_id=default_registry_enterprise_instance.id,\n module_name=\"Registry\")\ndefault_endpoint_acl_policy = alicloud.cr.EndpointAclPolicy(\"default\",\n instance_id=default.instance_id,\n entry=\"192.168.1.0/24\",\n description=name,\n module_name=\"Registry\",\n endpoint_type=\"internet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var @default = AliCloud.CR.GetEndpointAclService.Invoke(new()\n {\n EndpointType = \"internet\",\n Enable = true,\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n ModuleName = \"Registry\",\n });\n\n var defaultEndpointAclPolicy = new AliCloud.CR.EndpointAclPolicy(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getEndpointAclServiceResult =\u003e getEndpointAclServiceResult.InstanceId)),\n Entry = \"192.168.1.0/24\",\n Description = name,\n ModuleName = \"Registry\",\n EndpointType = \"internet\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000000,\nMax: 99999999,\n})\nif err != nil {\nreturn err\n}\ndefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\nPaymentType: pulumi.String(\"Subscription\"),\nPeriod: pulumi.Int(1),\nRenewalStatus: pulumi.String(\"ManualRenewal\"),\nInstanceType: pulumi.String(\"Advanced\"),\nInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_default := cr.GetEndpointAclServiceOutput(ctx, cr.GetEndpointAclServiceOutputArgs{\nEndpointType: pulumi.String(\"internet\"),\nEnable: pulumi.Bool(true),\nInstanceId: defaultRegistryEnterpriseInstance.ID(),\nModuleName: pulumi.String(\"Registry\"),\n}, nil);\n_, err = cr.NewEndpointAclPolicy(ctx, \"default\", \u0026cr.EndpointAclPolicyArgs{\nInstanceId: pulumi.String(_default.ApplyT(func(_default cr.GetEndpointAclServiceResult) (*string, error) {\nreturn \u0026default.InstanceId, nil\n}).(pulumi.StringPtrOutput)),\nEntry: pulumi.String(\"192.168.1.0/24\"),\nDescription: pulumi.String(name),\nModuleName: pulumi.String(\"Registry\"),\nEndpointType: pulumi.String(\"internet\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.CrFunctions;\nimport com.pulumi.alicloud.cr.inputs.GetEndpointAclServiceArgs;\nimport com.pulumi.alicloud.cr.EndpointAclPolicy;\nimport com.pulumi.alicloud.cr.EndpointAclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n final var default = CrFunctions.getEndpointAclService(GetEndpointAclServiceArgs.builder()\n .endpointType(\"internet\")\n .enable(true)\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .moduleName(\"Registry\")\n .build());\n\n var defaultEndpointAclPolicy = new EndpointAclPolicy(\"defaultEndpointAclPolicy\", EndpointAclPolicyArgs.builder()\n .instanceId(default_.applyValue(_default_ -\u003e _default_.instanceId()))\n .entry(\"192.168.1.0/24\")\n .description(name)\n .moduleName(\"Registry\")\n .endpointType(\"internet\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${defaultInteger.result}\n defaultEndpointAclPolicy:\n type: alicloud:cr:EndpointAclPolicy\n name: default\n properties:\n instanceId: ${default.instanceId}\n entry: 192.168.1.0/24\n description: ${name}\n moduleName: Registry\n endpointType: internet\nvariables:\n default:\n fn::invoke:\n function: alicloud:cr:getEndpointAclService\n arguments:\n endpointType: internet\n enable: true\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n moduleName: Registry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Endpoint Acl Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/endpointAclPolicy:EndpointAclPolicy example \u003cinstance_id\u003e:\u003cendpoint_type\u003e:\u003centry\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -129369,7 +131601,7 @@ } }, "alicloud:cr/namespace:Namespace": { - "description": "This resource will help you to manager Container Registry namespaces, see [What is Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createnamespace).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst example = new alicloud.cr.Namespace(\"example\", {\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\nexample = alicloud.cr.Namespace(\"example\",\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var example = new AliCloud.CR.Namespace(\"example\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewNamespace(ctx, \"example\", \u0026cr.NamespaceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.Namespace;\nimport com.pulumi.alicloud.cr.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n example:\n type: alicloud:cr:Namespace\n properties:\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry namespace can be imported using the namespace, e.g.\n\n```sh\n$ pulumi import alicloud:cr/namespace:Namespace default my-namespace\n```\n\n", + "description": "This resource will help you to manager Container Registry namespaces, see [What is Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createnamespace).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst example = new alicloud.cr.Namespace(\"example\", {\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\nexample = alicloud.cr.Namespace(\"example\",\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var example = new AliCloud.CR.Namespace(\"example\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewNamespace(ctx, \"example\", \u0026cr.NamespaceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.Namespace;\nimport com.pulumi.alicloud.cr.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n example:\n type: alicloud:cr:Namespace\n properties:\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Registry namespace can be imported using the namespace, e.g.\n\n```sh\n$ pulumi import alicloud:cr/namespace:Namespace default my-namespace\n```\n\n", "properties": { "autoCreate": { "type": "boolean", @@ -129429,7 +131661,7 @@ } }, "alicloud:cr/registryEnterpriseInstance:RegistryEnterpriseInstance": { - "description": "Provides a CR Instance resource.\n\nFor information about Container Registry Enterprise Edition instances and how to use it, see [Create a Instance](https://www.alibabacloud.com/help/en/doc-detail/208144.htm)\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"AutoRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=1,\n renewal_status=\"AutoRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"AutoRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"AutoRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 1\n renewalStatus: AutoRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/registryEnterpriseInstance:RegistryEnterpriseInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a CR Instance resource.\n\nFor information about Container Registry Enterprise Edition instances and how to use it, see [Create a Instance](https://www.alibabacloud.com/help/en/doc-detail/208144.htm)\n\n\u003e **NOTE:** Available since v1.124.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"AutoRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=1,\n renewal_status=\"AutoRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"AutoRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"AutoRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 1\n renewalStatus: AutoRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/registryEnterpriseInstance:RegistryEnterpriseInstance example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -129692,7 +131924,7 @@ } }, "alicloud:cr/repo:Repo": { - "description": "This resource will help you to manager Container Registry repositories, see [What is Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createrepository).\n\n\u003e **NOTE:** Available since v1.35.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.cr.Namespace(\"example\", {\n name: name,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst exampleRepo = new alicloud.cr.Repo(\"example\", {\n namespace: example.name,\n name: name,\n summary: \"this is summary of my new repo\",\n repoType: \"PRIVATE\",\n detail: \"this is a private repo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.cr.Namespace(\"example\",\n name=name,\n auto_create=False,\n default_visibility=\"PUBLIC\")\nexample_repo = alicloud.cr.Repo(\"example\",\n namespace=example.name,\n name=name,\n summary=\"this is summary of my new repo\",\n repo_type=\"PRIVATE\",\n detail=\"this is a private repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.CR.Namespace(\"example\", new()\n {\n Name = name,\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var exampleRepo = new AliCloud.CR.Repo(\"example\", new()\n {\n Namespace = example.Name,\n Name = name,\n Summary = \"this is summary of my new repo\",\n RepoType = \"PRIVATE\",\n Detail = \"this is a private repo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cr.NewNamespace(ctx, \"example\", \u0026cr.NamespaceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewRepo(ctx, \"example\", \u0026cr.RepoArgs{\n\t\t\tNamespace: example.Name,\n\t\t\tName: pulumi.String(name),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PRIVATE\"),\n\t\t\tDetail: pulumi.String(\"this is a private repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cr.Namespace;\nimport com.pulumi.alicloud.cr.NamespaceArgs;\nimport com.pulumi.alicloud.cr.Repo;\nimport com.pulumi.alicloud.cr.RepoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .name(name)\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var exampleRepo = new Repo(\"exampleRepo\", RepoArgs.builder()\n .namespace(example.name())\n .name(name)\n .summary(\"this is summary of my new repo\")\n .repoType(\"PRIVATE\")\n .detail(\"this is a private repo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:cr:Namespace\n properties:\n name: ${name}\n autoCreate: false\n defaultVisibility: PUBLIC\n exampleRepo:\n type: alicloud:cr:Repo\n name: example\n properties:\n namespace: ${example.name}\n name: ${name}\n summary: this is summary of my new repo\n repoType: PRIVATE\n detail: this is a private repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry repository can be imported using the `namespace/repository`, e.g.\n\n```sh\n$ pulumi import alicloud:cr/repo:Repo default `my-namespace/my-repo`\n```\n\n", + "description": "This resource will help you to manager Container Registry repositories, see [What is Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createrepository).\n\n\u003e **NOTE:** Available since v1.35.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.cr.Namespace(\"example\", {\n name: name,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst exampleRepo = new alicloud.cr.Repo(\"example\", {\n namespace: example.name,\n name: name,\n summary: \"this is summary of my new repo\",\n repoType: \"PRIVATE\",\n detail: \"this is a private repo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.cr.Namespace(\"example\",\n name=name,\n auto_create=False,\n default_visibility=\"PUBLIC\")\nexample_repo = alicloud.cr.Repo(\"example\",\n namespace=example.name,\n name=name,\n summary=\"this is summary of my new repo\",\n repo_type=\"PRIVATE\",\n detail=\"this is a private repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.CR.Namespace(\"example\", new()\n {\n Name = name,\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var exampleRepo = new AliCloud.CR.Repo(\"example\", new()\n {\n Namespace = example.Name,\n Name = name,\n Summary = \"this is summary of my new repo\",\n RepoType = \"PRIVATE\",\n Detail = \"this is a private repo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := cr.NewNamespace(ctx, \"example\", \u0026cr.NamespaceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewRepo(ctx, \"example\", \u0026cr.RepoArgs{\n\t\t\tNamespace: example.Name,\n\t\t\tName: pulumi.String(name),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PRIVATE\"),\n\t\t\tDetail: pulumi.String(\"this is a private repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cr.Namespace;\nimport com.pulumi.alicloud.cr.NamespaceArgs;\nimport com.pulumi.alicloud.cr.Repo;\nimport com.pulumi.alicloud.cr.RepoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .name(name)\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var exampleRepo = new Repo(\"exampleRepo\", RepoArgs.builder()\n .namespace(example.name())\n .name(name)\n .summary(\"this is summary of my new repo\")\n .repoType(\"PRIVATE\")\n .detail(\"this is a private repo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:cr:Namespace\n properties:\n name: ${name}\n autoCreate: false\n defaultVisibility: PUBLIC\n exampleRepo:\n type: alicloud:cr:Repo\n name: example\n properties:\n namespace: ${example.name}\n name: ${name}\n summary: this is summary of my new repo\n repoType: PRIVATE\n detail: this is a private repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Registry repository can be imported using the `namespace/repository`, e.g.\n\n```sh\n$ pulumi import alicloud:cr/repo:Repo default `my-namespace/my-repo`\n```\n\n", "properties": { "detail": { "type": "string", @@ -129788,8 +132020,247 @@ "type": "object" } }, + "alicloud:cr/scanRule:ScanRule": { + "description": "Provides a CR Scan Rule resource.\n\nArtifact Scan Rule.\n\nFor information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule).\n\n\u003e **NOTE:** Available since v1.265.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default2Aqoce = new alicloud.cr.RegistryEnterpriseInstance(\"default2Aqoce\", {\n defaultOssBucket: \"false\",\n renewalStatus: \"ManualRenewal\",\n period: 1,\n instanceName: \"pl-example-2\",\n paymentType: \"Subscription\",\n instanceType: \"Basic\",\n});\nconst _default = new alicloud.cr.ScanRule(\"default\", {\n repoTagFilterPattern: \".*\",\n scanScope: \"REPO\",\n triggerType: \"MANUAL\",\n scanType: \"VUL\",\n ruleName: name,\n namespaces: [\"aa\"],\n repoNames: [\n \"bb\",\n \"cc\",\n \"dd\",\n \"ee\",\n ],\n instanceId: default2Aqoce.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault2_aqoce = alicloud.cr.RegistryEnterpriseInstance(\"default2Aqoce\",\n default_oss_bucket=\"false\",\n renewal_status=\"ManualRenewal\",\n period=1,\n instance_name=\"pl-example-2\",\n payment_type=\"Subscription\",\n instance_type=\"Basic\")\ndefault = alicloud.cr.ScanRule(\"default\",\n repo_tag_filter_pattern=\".*\",\n scan_scope=\"REPO\",\n trigger_type=\"MANUAL\",\n scan_type=\"VUL\",\n rule_name=name,\n namespaces=[\"aa\"],\n repo_names=[\n \"bb\",\n \"cc\",\n \"dd\",\n \"ee\",\n ],\n instance_id=default2_aqoce.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default2Aqoce = new AliCloud.CR.RegistryEnterpriseInstance(\"default2Aqoce\", new()\n {\n DefaultOssBucket = \"false\",\n RenewalStatus = \"ManualRenewal\",\n Period = 1,\n InstanceName = \"pl-example-2\",\n PaymentType = \"Subscription\",\n InstanceType = \"Basic\",\n });\n\n var @default = new AliCloud.CR.ScanRule(\"default\", new()\n {\n RepoTagFilterPattern = \".*\",\n ScanScope = \"REPO\",\n TriggerType = \"MANUAL\",\n ScanType = \"VUL\",\n RuleName = name,\n Namespaces = new[]\n {\n \"aa\",\n },\n RepoNames = new[]\n {\n \"bb\",\n \"cc\",\n \"dd\",\n \"ee\",\n },\n InstanceId = default2Aqoce.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault2Aqoce, err := cr.NewRegistryEnterpriseInstance(ctx, \"default2Aqoce\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tDefaultOssBucket: pulumi.String(\"false\"),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tInstanceName: pulumi.String(\"pl-example-2\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewScanRule(ctx, \"default\", \u0026cr.ScanRuleArgs{\n\t\t\tRepoTagFilterPattern: pulumi.String(\".*\"),\n\t\t\tScanScope: pulumi.String(\"REPO\"),\n\t\t\tTriggerType: pulumi.String(\"MANUAL\"),\n\t\t\tScanType: pulumi.String(\"VUL\"),\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aa\"),\n\t\t\t},\n\t\t\tRepoNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bb\"),\n\t\t\t\tpulumi.String(\"cc\"),\n\t\t\t\tpulumi.String(\"dd\"),\n\t\t\t\tpulumi.String(\"ee\"),\n\t\t\t},\n\t\t\tInstanceId: default2Aqoce.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.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.ScanRule;\nimport com.pulumi.alicloud.cr.ScanRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default2Aqoce = new RegistryEnterpriseInstance(\"default2Aqoce\", RegistryEnterpriseInstanceArgs.builder()\n .defaultOssBucket(\"false\")\n .renewalStatus(\"ManualRenewal\")\n .period(1)\n .instanceName(\"pl-example-2\")\n .paymentType(\"Subscription\")\n .instanceType(\"Basic\")\n .build());\n\n var default_ = new ScanRule(\"default\", ScanRuleArgs.builder()\n .repoTagFilterPattern(\".*\")\n .scanScope(\"REPO\")\n .triggerType(\"MANUAL\")\n .scanType(\"VUL\")\n .ruleName(name)\n .namespaces(\"aa\")\n .repoNames( \n \"bb\",\n \"cc\",\n \"dd\",\n \"ee\")\n .instanceId(default2Aqoce.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default2Aqoce:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n defaultOssBucket: 'false'\n renewalStatus: ManualRenewal\n period: '1'\n instanceName: pl-example-2\n paymentType: Subscription\n instanceType: Basic\n default:\n type: alicloud:cr:ScanRule\n properties:\n repoTagFilterPattern: .*\n scanScope: REPO\n triggerType: MANUAL\n scanType: VUL\n ruleName: ${name}\n namespaces:\n - aa\n repoNames:\n - bb\n - cc\n - dd\n - ee\n instanceId: ${default2Aqoce.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Scan Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/scanRule:ScanRule example \u003cinstance_id\u003e:\u003cscan_rule_id\u003e\n```\n\n", + "properties": { + "createTime": { + "type": "integer", + "description": "Creation time\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID\n" + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of namespaces: \n- This parameter must not be empty when the scan scope is NAMESPACE.\n- This parameter must contain exactly one namespace when the scan scope is REPO.\n" + }, + "repoNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Repository list: \n- This parameter must be empty when the scan scope is NAMESPACE.\n- This parameter must not be empty when the scan scope is REPO.\n" + }, + "repoTagFilterPattern": { + "type": "string", + "description": "Regular expression for matching tags that trigger a scan\n" + }, + "ruleName": { + "type": "string", + "description": "Event rule name\n" + }, + "scanRuleId": { + "type": "string", + "description": "Rule ID\n" + }, + "scanScope": { + "type": "string", + "description": "Scan scope\n" + }, + "scanType": { + "type": "string", + "description": "Scan type: \n- `VUL`: Artifact vulnerability scan\n- `SBOM`: Artifact content analysis\n\nThe default value of this parameter is `VUL`.\n" + }, + "triggerType": { + "type": "string", + "description": "Trigger type\n" + } + }, + "required": [ + "createTime", + "instanceId", + "repoTagFilterPattern", + "ruleName", + "scanRuleId", + "scanScope", + "scanType", + "triggerType" + ], + "inputProperties": { + "instanceId": { + "type": "string", + "description": "Instance ID\n", + "willReplaceOnChanges": true + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of namespaces: \n- This parameter must not be empty when the scan scope is NAMESPACE.\n- This parameter must contain exactly one namespace when the scan scope is REPO.\n" + }, + "repoNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Repository list: \n- This parameter must be empty when the scan scope is NAMESPACE.\n- This parameter must not be empty when the scan scope is REPO.\n" + }, + "repoTagFilterPattern": { + "type": "string", + "description": "Regular expression for matching tags that trigger a scan\n" + }, + "ruleName": { + "type": "string", + "description": "Event rule name\n" + }, + "scanScope": { + "type": "string", + "description": "Scan scope\n" + }, + "scanType": { + "type": "string", + "description": "Scan type: \n- `VUL`: Artifact vulnerability scan\n- `SBOM`: Artifact content analysis\n\nThe default value of this parameter is `VUL`.\n", + "willReplaceOnChanges": true + }, + "triggerType": { + "type": "string", + "description": "Trigger type\n" + } + }, + "requiredInputs": [ + "instanceId", + "repoTagFilterPattern", + "ruleName", + "scanScope", + "scanType", + "triggerType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ScanRule resources.\n", + "properties": { + "createTime": { + "type": "integer", + "description": "Creation time\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID\n", + "willReplaceOnChanges": true + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of namespaces: \n- This parameter must not be empty when the scan scope is NAMESPACE.\n- This parameter must contain exactly one namespace when the scan scope is REPO.\n" + }, + "repoNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Repository list: \n- This parameter must be empty when the scan scope is NAMESPACE.\n- This parameter must not be empty when the scan scope is REPO.\n" + }, + "repoTagFilterPattern": { + "type": "string", + "description": "Regular expression for matching tags that trigger a scan\n" + }, + "ruleName": { + "type": "string", + "description": "Event rule name\n" + }, + "scanRuleId": { + "type": "string", + "description": "Rule ID\n" + }, + "scanScope": { + "type": "string", + "description": "Scan scope\n" + }, + "scanType": { + "type": "string", + "description": "Scan type: \n- `VUL`: Artifact vulnerability scan\n- `SBOM`: Artifact content analysis\n\nThe default value of this parameter is `VUL`.\n", + "willReplaceOnChanges": true + }, + "triggerType": { + "type": "string", + "description": "Trigger type\n" + } + }, + "type": "object" + } + }, + "alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule": { + "description": "Provides a CR Storage Domain Routing Rule resource.\n\nInstance Storage Domain Routing Rule.\n\nFor information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule).\n\n\u003e **NOTE:** Available since v1.265.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"AutoRenewal\",\n instanceType: \"Advanced\",\n instanceName: name,\n});\nconst defaultStorageDomainRoutingRule = new alicloud.cr.StorageDomainRoutingRule(\"default\", {\n routes: [{\n instanceDomain: pulumi.interpolate`${_default.instanceName}-registry-vpc.cn-hangzhou.cr.aliyuncs.com`,\n storageDomain: pulumi.interpolate`https://${_default.id}-registry.oss-cn-hangzhou-internal.aliyuncs.com`,\n endpointType: \"Internet\",\n }],\n instanceId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=1,\n renewal_status=\"AutoRenewal\",\n instance_type=\"Advanced\",\n instance_name=name)\ndefault_storage_domain_routing_rule = alicloud.cr.StorageDomainRoutingRule(\"default\",\n routes=[{\n \"instance_domain\": default.instance_name.apply(lambda instance_name: f\"{instance_name}-registry-vpc.cn-hangzhou.cr.aliyuncs.com\"),\n \"storage_domain\": default.id.apply(lambda id: f\"https://{id}-registry.oss-cn-hangzhou-internal.aliyuncs.com\"),\n \"endpoint_type\": \"Internet\",\n }],\n instance_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"AutoRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = name,\n });\n\n var defaultStorageDomainRoutingRule = new AliCloud.CR.StorageDomainRoutingRule(\"default\", new()\n {\n Routes = new[]\n {\n new AliCloud.CR.Inputs.StorageDomainRoutingRuleRouteArgs\n {\n InstanceDomain = @default.InstanceName.Apply(instanceName =\u003e $\"{instanceName}-registry-vpc.cn-hangzhou.cr.aliyuncs.com\"),\n StorageDomain = @default.Id.Apply(id =\u003e $\"https://{id}-registry.oss-cn-hangzhou-internal.aliyuncs.com\"),\n EndpointType = \"Internet\",\n },\n },\n InstanceId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewStorageDomainRoutingRule(ctx, \"default\", \u0026cr.StorageDomainRoutingRuleArgs{\n\t\t\tRoutes: cr.StorageDomainRoutingRuleRouteArray{\n\t\t\t\t\u0026cr.StorageDomainRoutingRuleRouteArgs{\n\t\t\t\t\tInstanceDomain: _default.InstanceName.ApplyT(func(instanceName string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v-registry-vpc.cn-hangzhou.cr.aliyuncs.com\", instanceName), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tStorageDomain: _default.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"https://%v-registry.oss-cn-hangzhou-internal.aliyuncs.com\", id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tEndpointType: pulumi.String(\"Internet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceId: _default.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.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.StorageDomainRoutingRule;\nimport com.pulumi.alicloud.cr.StorageDomainRoutingRuleArgs;\nimport com.pulumi.alicloud.cr.inputs.StorageDomainRoutingRuleRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new RegistryEnterpriseInstance(\"default\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"AutoRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(name)\n .build());\n\n var defaultStorageDomainRoutingRule = new StorageDomainRoutingRule(\"defaultStorageDomainRoutingRule\", StorageDomainRoutingRuleArgs.builder()\n .routes(StorageDomainRoutingRuleRouteArgs.builder()\n .instanceDomain(default_.instanceName().applyValue(_instanceName -\u003e String.format(\"%s-registry-vpc.cn-hangzhou.cr.aliyuncs.com\", _instanceName)))\n .storageDomain(default_.id().applyValue(_id -\u003e String.format(\"https://%s-registry.oss-cn-hangzhou-internal.aliyuncs.com\", _id)))\n .endpointType(\"Internet\")\n .build())\n .instanceId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 1\n renewalStatus: AutoRenewal\n instanceType: Advanced\n instanceName: ${name}\n defaultStorageDomainRoutingRule:\n type: alicloud:cr:StorageDomainRoutingRule\n name: default\n properties:\n routes:\n - instanceDomain: ${default.instanceName}-registry-vpc.cn-hangzhou.cr.aliyuncs.com\n storageDomain: https://${default.id}-registry.oss-cn-hangzhou-internal.aliyuncs.com\n endpointType: Internet\n instanceId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Storage Domain Routing Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example \u003cinstance_id\u003e:\u003crule_id\u003e\n```\n\n", + "properties": { + "createTime": { + "type": "integer", + "description": "The creation time of the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The ID of the Container Registry Instance.\n" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cr/StorageDomainRoutingRuleRoute:StorageDomainRoutingRuleRoute" + }, + "description": "Domain name routing entry See \u003cspan pulumi-lang-nodejs=\"`routes`\" pulumi-lang-dotnet=\"`Routes`\" pulumi-lang-go=\"`routes`\" pulumi-lang-python=\"`routes`\" pulumi-lang-yaml=\"`routes`\" pulumi-lang-java=\"`routes`\"\u003e`routes`\u003c/span\u003e below.\n" + }, + "ruleId": { + "type": "string", + "description": "The ID of the Rule.\n" + } + }, + "required": [ + "createTime", + "instanceId", + "routes", + "ruleId" + ], + "inputProperties": { + "instanceId": { + "type": "string", + "description": "The ID of the Container Registry Instance.\n", + "willReplaceOnChanges": true + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cr/StorageDomainRoutingRuleRoute:StorageDomainRoutingRuleRoute" + }, + "description": "Domain name routing entry See \u003cspan pulumi-lang-nodejs=\"`routes`\" pulumi-lang-dotnet=\"`Routes`\" pulumi-lang-go=\"`routes`\" pulumi-lang-python=\"`routes`\" pulumi-lang-yaml=\"`routes`\" pulumi-lang-java=\"`routes`\"\u003e`routes`\u003c/span\u003e below.\n" + } + }, + "requiredInputs": [ + "instanceId", + "routes" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering StorageDomainRoutingRule resources.\n", + "properties": { + "createTime": { + "type": "integer", + "description": "The creation time of the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The ID of the Container Registry Instance.\n", + "willReplaceOnChanges": true + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cr/StorageDomainRoutingRuleRoute:StorageDomainRoutingRuleRoute" + }, + "description": "Domain name routing entry See \u003cspan pulumi-lang-nodejs=\"`routes`\" pulumi-lang-dotnet=\"`Routes`\" pulumi-lang-go=\"`routes`\" pulumi-lang-python=\"`routes`\" pulumi-lang-yaml=\"`routes`\" pulumi-lang-java=\"`routes`\"\u003e`routes`\u003c/span\u003e below.\n" + }, + "ruleId": { + "type": "string", + "description": "The ID of the Rule.\n" + } + }, + "type": "object" + } + }, "alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc": { - "description": "Provides a CR Vpc Endpoint Linked Vpc resource.\n\nFor information about CR Vpc Endpoint Linked Vpc and how to use it, see [What is Vpc Endpoint Linked Vpc](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createinstancevpcendpointlinkedvpc).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst defaultVpcEndpointLinkedVpc = new alicloud.cr.VpcEndpointLinkedVpc(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n moduleName: \"Registry\",\n enableCreateDnsRecordInPvzt: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=100000,\n max=999999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault_vpc_endpoint_linked_vpc = alicloud.cr.VpcEndpointLinkedVpc(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n module_name=\"Registry\",\n enable_create_dns_record_in_pvzt=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultVpcEndpointLinkedVpc = new AliCloud.CR.VpcEndpointLinkedVpc(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n ModuleName = \"Registry\",\n EnableCreateDnsRecordInPvzt = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewVpcEndpointLinkedVpc(ctx, \"default\", \u0026cr.VpcEndpointLinkedVpcArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tModuleName: pulumi.String(\"Registry\"),\n\t\t\tEnableCreateDnsRecordInPvzt: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.VpcEndpointLinkedVpc;\nimport com.pulumi.alicloud.cr.VpcEndpointLinkedVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultVpcEndpointLinkedVpc = new VpcEndpointLinkedVpc(\"defaultVpcEndpointLinkedVpc\", VpcEndpointLinkedVpcArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .moduleName(\"Registry\")\n .enableCreateDnsRecordInPvzt(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 100000\n max: 999999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${defaultInteger.result}\n defaultVpcEndpointLinkedVpc:\n type: alicloud:cr:VpcEndpointLinkedVpc\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n moduleName: Registry\n enableCreateDnsRecordInPvzt: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCR Vpc Endpoint Linked Vpc can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc example \u003cinstance_id\u003e:\u003cvpc_id\u003e:\u003cvswitch_id\u003e:\u003cmodule_name\u003e\n```\n\n", + "description": "Provides a CR Vpc Endpoint Linked Vpc resource.\n\nFor information about CR Vpc Endpoint Linked Vpc and how to use it, see [What is Vpc Endpoint Linked Vpc](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createinstancevpcendpointlinkedvpc).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 100000,\n max: 999999,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst defaultVpcEndpointLinkedVpc = new alicloud.cr.VpcEndpointLinkedVpc(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n moduleName: \"Registry\",\n enableCreateDnsRecordInPvzt: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=100000,\n max=999999)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault_vpc_endpoint_linked_vpc = alicloud.cr.VpcEndpointLinkedVpc(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n module_name=\"Registry\",\n enable_create_dns_record_in_pvzt=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 100000,\n Max = 999999,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultVpcEndpointLinkedVpc = new AliCloud.CR.VpcEndpointLinkedVpc(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n ModuleName = \"Registry\",\n EnableCreateDnsRecordInPvzt = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 100000,\n\t\t\tMax: 999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cr.NewVpcEndpointLinkedVpc(ctx, \"default\", \u0026cr.VpcEndpointLinkedVpcArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tModuleName: pulumi.String(\"Registry\"),\n\t\t\tEnableCreateDnsRecordInPvzt: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cr.VpcEndpointLinkedVpc;\nimport com.pulumi.alicloud.cr.VpcEndpointLinkedVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(100000)\n .max(999999)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultVpcEndpointLinkedVpc = new VpcEndpointLinkedVpc(\"defaultVpcEndpointLinkedVpc\", VpcEndpointLinkedVpcArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .moduleName(\"Registry\")\n .enableCreateDnsRecordInPvzt(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 100000\n max: 999999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${defaultInteger.result}\n defaultVpcEndpointLinkedVpc:\n type: alicloud:cr:VpcEndpointLinkedVpc\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n moduleName: Registry\n enableCreateDnsRecordInPvzt: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCR Vpc Endpoint Linked Vpc can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc example \u003cinstance_id\u003e:\u003cvpc_id\u003e:\u003cvswitch_id\u003e:\u003cmodule_name\u003e\n```\n\n", "properties": { "enableCreateDnsRecordInPvzt": { "type": "boolean", @@ -130026,7 +132497,7 @@ } }, "alicloud:cs/autoscalingConfig:AutoscalingConfig": { - "description": "This resource will help you configure auto scaling for the kubernetes cluster, see [What is autoscaling config](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/api-configure-auto-scaling).\n\n\u003e **NOTE:** Available since v1.127.0.\n\n\u003e **NOTE:** From version 1.164.0, support for specifying whether to allow the scale-in of nodes by parameter \u003cspan pulumi-lang-nodejs=\"`scaleDownEnabled`\" pulumi-lang-dotnet=\"`ScaleDownEnabled`\" pulumi-lang-go=\"`scaleDownEnabled`\" pulumi-lang-python=\"`scale_down_enabled`\" pulumi-lang-yaml=\"`scaleDownEnabled`\" pulumi-lang-java=\"`scaleDownEnabled`\"\u003e`scale_down_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.164.0, support for selecting the policy for selecting which node pool to scale by parameter \u003cspan pulumi-lang-nodejs=\"`expander`\" pulumi-lang-dotnet=\"`Expander`\" pulumi-lang-go=\"`expander`\" pulumi-lang-python=\"`expander`\" pulumi-lang-yaml=\"`expander`\" pulumi-lang-java=\"`expander`\"\u003e`expander`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter \u003cspan pulumi-lang-nodejs=\"`scalerType`\" pulumi-lang-dotnet=\"`ScalerType`\" pulumi-lang-go=\"`scalerType`\" pulumi-lang-python=\"`scaler_type`\" pulumi-lang-yaml=\"`scalerType`\" pulumi-lang-java=\"`scalerType`\"\u003e`scaler_type`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter \u003cspan pulumi-lang-nodejs=\"`priorities`\" pulumi-lang-dotnet=\"`Priorities`\" pulumi-lang-go=\"`priorities`\" pulumi-lang-python=\"`priorities`\" pulumi-lang-yaml=\"`priorities`\" pulumi-lang-java=\"`priorities`\"\u003e`priorities`\u003c/span\u003e.\n\n## Example Usage\n\nIf you do not have an existing cluster, you need to create an ACK cluster through\u003cspan pulumi-lang-nodejs=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-dotnet=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-go=\" cs.ManagedKubernetes \" pulumi-lang-python=\" cs.ManagedKubernetes \" pulumi-lang-yaml=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-java=\" alicloud.cs.ManagedKubernetes \"\u003e alicloud.cs.ManagedKubernetes \u003c/span\u003efirst, and then configure automatic scaling.\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool: alicloud.cs.NodePool[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n defaultNodePool.push(new alicloud.cs.NodePool(`default-${range.value}`, {\n nodePoolName: std.format({\n input: \"%s-%d\",\n args: [\n name,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_essd\",\n systemDiskSize: 40,\n imageType: \"AliyunLinux3\",\n scalingConfig: {\n enable: true,\n minSize: 0,\n maxSize: 10,\n },\n }));\n}\nconst defaultAutoscalingConfig = new alicloud.cs.AutoscalingConfig(\"default\", {\n clusterId: defaultManagedKubernetes.id,\n coolDownDuration: \"10m\",\n unneededDuration: \"10m\",\n utilizationThreshold: \"0.5\",\n gpuUtilizationThreshold: \"0.5\",\n scanInterval: \"30s\",\n scaleDownEnabled: true,\n expander: \"priority\",\n skipNodesWithSystemPods: true,\n skipNodesWithLocalStorage: false,\n daemonsetEvictionForNodes: false,\n maxGracefulTerminationSec: 14400,\n minReplicaCount: 0,\n recycleNodeDeletionEnabled: false,\n scaleUpFromZero: true,\n scalerType: \"cluster-autoscaler\",\n priorities: {\n \"10\": std.joinOutput({\n separator: \",\",\n input: [\n defaultNodePool[0].scalingGroupId,\n defaultNodePool[1].scalingGroupId,\n ],\n }).apply(invoke =\u003e invoke.result),\n \"20\": defaultNodePool[2].scalingGroupId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\",\n system_disk_category=\"cloud_essd\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n default_node_pool.append(alicloud.cs.NodePool(f\"default-{range['value']}\",\n node_pool_name=std.format(input=\"%s-%d\",\n args=[\n name,\n range[\"value\"],\n ]).result,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_essd\",\n system_disk_size=40,\n image_type=\"AliyunLinux3\",\n scaling_config={\n \"enable\": True,\n \"min_size\": 0,\n \"max_size\": 10,\n }))\ndefault_autoscaling_config = alicloud.cs.AutoscalingConfig(\"default\",\n cluster_id=default_managed_kubernetes.id,\n cool_down_duration=\"10m\",\n unneeded_duration=\"10m\",\n utilization_threshold=\"0.5\",\n gpu_utilization_threshold=\"0.5\",\n scan_interval=\"30s\",\n scale_down_enabled=True,\n expander=\"priority\",\n skip_nodes_with_system_pods=True,\n skip_nodes_with_local_storage=False,\n daemonset_eviction_for_nodes=False,\n max_graceful_termination_sec=14400,\n min_replica_count=0,\n recycle_node_deletion_enabled=False,\n scale_up_from_zero=True,\n scaler_type=\"cluster-autoscaler\",\n priorities={\n \"10\": std.join_output(separator=\",\",\n input=[\n default_node_pool[0].scaling_group_id,\n default_node_pool[1].scaling_group_id,\n ]).apply(lambda invoke: invoke.result),\n \"20\": default_node_pool[2].scaling_group_id,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new List\u003cAliCloud.CS.NodePool\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNodePool.Add(new AliCloud.CS.NodePool($\"default-{range.Value}\", new()\n {\n NodePoolName = Std.Format.Invoke(new()\n {\n Input = \"%s-%d\",\n Args = new[]\n {\n name,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_essd\",\n SystemDiskSize = 40,\n ImageType = \"AliyunLinux3\",\n ScalingConfig = new AliCloud.CS.Inputs.NodePoolScalingConfigArgs\n {\n Enable = true,\n MinSize = 0,\n MaxSize = 10,\n },\n }));\n }\n var defaultAutoscalingConfig = new AliCloud.CS.AutoscalingConfig(\"default\", new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n CoolDownDuration = \"10m\",\n UnneededDuration = \"10m\",\n UtilizationThreshold = \"0.5\",\n GpuUtilizationThreshold = \"0.5\",\n ScanInterval = \"30s\",\n ScaleDownEnabled = true,\n Expander = \"priority\",\n SkipNodesWithSystemPods = true,\n SkipNodesWithLocalStorage = false,\n DaemonsetEvictionForNodes = false,\n MaxGracefulTerminationSec = 14400,\n MinReplicaCount = 0,\n RecycleNodeDeletionEnabled = false,\n ScaleUpFromZero = true,\n ScalerType = \"cluster-autoscaler\",\n Priorities = \n {\n { \"10\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = new[]\n {\n defaultNodePool[0].ScalingGroupId,\n defaultNodePool[1].ScalingGroupId,\n },\n }).Apply(invoke =\u003e invoke.Result) },\n { \"20\", defaultNodePool[2].ScalingGroupId },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultNodePool []*cs.NodePool\n\t\tfor index := 0; index \u003c 3; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cs.NewNodePool(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cs.NodePoolArgs{\n\t\t\t\tNodePoolName: pulumi.String(invokeFormat2.Result),\n\t\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t},\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\t},\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\t\tImageType: pulumi.String(\"AliyunLinux3\"),\n\t\t\t\tScalingConfig: \u0026cs.NodePoolScalingConfigArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\tMinSize: pulumi.Int(0),\n\t\t\t\t\tMaxSize: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultNodePool = append(defaultNodePool, __res)\n\t\t}\n\t\t_, err = cs.NewAutoscalingConfig(ctx, \"default\", \u0026cs.AutoscalingConfigArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tCoolDownDuration: pulumi.String(\"10m\"),\n\t\t\tUnneededDuration: pulumi.String(\"10m\"),\n\t\t\tUtilizationThreshold: pulumi.String(\"0.5\"),\n\t\t\tGpuUtilizationThreshold: pulumi.String(\"0.5\"),\n\t\t\tScanInterval: pulumi.String(\"30s\"),\n\t\t\tScaleDownEnabled: pulumi.Bool(true),\n\t\t\tExpander: pulumi.String(\"priority\"),\n\t\t\tSkipNodesWithSystemPods: pulumi.Bool(true),\n\t\t\tSkipNodesWithLocalStorage: pulumi.Bool(false),\n\t\t\tDaemonsetEvictionForNodes: pulumi.Bool(false),\n\t\t\tMaxGracefulTerminationSec: pulumi.Int(14400),\n\t\t\tMinReplicaCount: pulumi.Int(0),\n\t\t\tRecycleNodeDeletionEnabled: pulumi.Bool(false),\n\t\t\tScaleUpFromZero: pulumi.Bool(true),\n\t\t\tScalerType: pulumi.String(\"cluster-autoscaler\"),\n\t\t\tPriorities: pulumi.StringMap{\n\t\t\t\t\"10\": pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\tSeparator: pulumi.String(\",\"),\n\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\tdefaultNodePool[0].ScalingGroupId,\n\t\t\t\t\t\tdefaultNodePool[1].ScalingGroupId,\n\t\t\t\t\t},\n\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"20\": defaultNodePool[2].ScalingGroupId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolScalingConfigArgs;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cs.AutoscalingConfig;\nimport com.pulumi.alicloud.cs.AutoscalingConfigArgs;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new NodePool(\"defaultNodePool-\" + i, NodePoolArgs.builder()\n .nodePoolName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-%d\")\n .args( \n name,\n range.value())\n .build()).result())\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .systemDiskSize(40)\n .imageType(\"AliyunLinux3\")\n .scalingConfig(NodePoolScalingConfigArgs.builder()\n .enable(true)\n .minSize(0)\n .maxSize(10)\n .build())\n .build());\n\n \n}\n var defaultAutoscalingConfig = new AutoscalingConfig(\"defaultAutoscalingConfig\", AutoscalingConfigArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .coolDownDuration(\"10m\")\n .unneededDuration(\"10m\")\n .utilizationThreshold(\"0.5\")\n .gpuUtilizationThreshold(\"0.5\")\n .scanInterval(\"30s\")\n .scaleDownEnabled(true)\n .expander(\"priority\")\n .skipNodesWithSystemPods(true)\n .skipNodesWithLocalStorage(false)\n .daemonsetEvictionForNodes(false)\n .maxGracefulTerminationSec(14400)\n .minReplicaCount(0)\n .recycleNodeDeletionEnabled(false)\n .scaleUpFromZero(true)\n .scalerType(\"cluster-autoscaler\")\n .priorities(Map.ofEntries(\n Map.entry(\"10\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input( \n defaultNodePool[0].scalingGroupId(),\n defaultNodePool[1].scalingGroupId())\n .build()).applyValue(_invoke -\u003e _invoke.result())),\n Map.entry(\"20\", defaultNodePool[2].scalingGroupId())\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-%d'\n args:\n - ${name}\n - ${range.value}\n return: result\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_essd\n systemDiskSize: 40\n imageType: AliyunLinux3\n scalingConfig:\n enable: true\n minSize: 0\n maxSize: 10\n options: {}\n defaultAutoscalingConfig:\n type: alicloud:cs:AutoscalingConfig\n name: default\n properties:\n clusterId: ${defaultManagedKubernetes.id}\n coolDownDuration: 10m\n unneededDuration: 10m\n utilizationThreshold: '0.5'\n gpuUtilizationThreshold: '0.5'\n scanInterval: 30s\n scaleDownEnabled: true\n expander: priority\n skipNodesWithSystemPods: true\n skipNodesWithLocalStorage: false\n daemonsetEvictionForNodes: false\n maxGracefulTerminationSec: 14400\n minReplicaCount: 0\n recycleNodeDeletionEnabled: false\n scaleUpFromZero: true\n scalerType: cluster-autoscaler\n priorities:\n '10':\n fn::invoke:\n function: std:join\n arguments:\n separator: ','\n input:\n - ${defaultNodePool[0].scalingGroupId}\n - ${defaultNodePool[1].scalingGroupId}\n return: result\n '20': ${defaultNodePool[2].scalingGroupId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n systemDiskCategory: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource will help you configure auto scaling for the kubernetes cluster, see [What is autoscaling config](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/api-configure-auto-scaling).\n\n\u003e **NOTE:** Available since v1.127.0.\n\n\u003e **NOTE:** From version 1.164.0, support for specifying whether to allow the scale-in of nodes by parameter \u003cspan pulumi-lang-nodejs=\"`scaleDownEnabled`\" pulumi-lang-dotnet=\"`ScaleDownEnabled`\" pulumi-lang-go=\"`scaleDownEnabled`\" pulumi-lang-python=\"`scale_down_enabled`\" pulumi-lang-yaml=\"`scaleDownEnabled`\" pulumi-lang-java=\"`scaleDownEnabled`\"\u003e`scale_down_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.164.0, support for selecting the policy for selecting which node pool to scale by parameter \u003cspan pulumi-lang-nodejs=\"`expander`\" pulumi-lang-dotnet=\"`Expander`\" pulumi-lang-go=\"`expander`\" pulumi-lang-python=\"`expander`\" pulumi-lang-yaml=\"`expander`\" pulumi-lang-java=\"`expander`\"\u003e`expander`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter \u003cspan pulumi-lang-nodejs=\"`scalerType`\" pulumi-lang-dotnet=\"`ScalerType`\" pulumi-lang-go=\"`scalerType`\" pulumi-lang-python=\"`scaler_type`\" pulumi-lang-yaml=\"`scalerType`\" pulumi-lang-java=\"`scalerType`\"\u003e`scaler_type`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter \u003cspan pulumi-lang-nodejs=\"`priorities`\" pulumi-lang-dotnet=\"`Priorities`\" pulumi-lang-go=\"`priorities`\" pulumi-lang-python=\"`priorities`\" pulumi-lang-yaml=\"`priorities`\" pulumi-lang-java=\"`priorities`\"\u003e`priorities`\u003c/span\u003e.\n\n## Example Usage\n\nIf you do not have an existing cluster, you need to create an ACK cluster through\u003cspan pulumi-lang-nodejs=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-dotnet=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-go=\" cs.ManagedKubernetes \" pulumi-lang-python=\" cs.ManagedKubernetes \" pulumi-lang-yaml=\" alicloud.cs.ManagedKubernetes \" pulumi-lang-java=\" alicloud.cs.ManagedKubernetes \"\u003e alicloud.cs.ManagedKubernetes \u003c/span\u003efirst, and then configure automatic scaling.\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool: alicloud.cs.NodePool[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n defaultNodePool.push(new alicloud.cs.NodePool(`default-${range.value}`, {\n nodePoolName: std.format({\n input: \"%s-%d\",\n args: [\n name,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_essd\",\n systemDiskSize: 40,\n imageType: \"AliyunLinux3\",\n scalingConfig: {\n enable: true,\n minSize: 0,\n maxSize: 10,\n },\n }));\n}\nconst defaultAutoscalingConfig = new alicloud.cs.AutoscalingConfig(\"default\", {\n clusterId: defaultManagedKubernetes.id,\n coolDownDuration: \"10m\",\n unneededDuration: \"10m\",\n utilizationThreshold: \"0.5\",\n gpuUtilizationThreshold: \"0.5\",\n scanInterval: \"30s\",\n scaleDownEnabled: true,\n expander: \"priority\",\n skipNodesWithSystemPods: true,\n skipNodesWithLocalStorage: false,\n daemonsetEvictionForNodes: false,\n maxGracefulTerminationSec: 14400,\n minReplicaCount: 0,\n recycleNodeDeletionEnabled: false,\n scaleUpFromZero: true,\n scalerType: \"cluster-autoscaler\",\n priorities: {\n \"10\": std.joinOutput({\n separator: \",\",\n input: [\n defaultNodePool[0].scalingGroupId,\n defaultNodePool[1].scalingGroupId,\n ],\n }).apply(invoke =\u003e invoke.result),\n \"20\": defaultNodePool[2].scalingGroupId,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\",\n system_disk_category=\"cloud_essd\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n default_node_pool.append(alicloud.cs.NodePool(f\"default-{range['value']}\",\n node_pool_name=std.format(input=\"%s-%d\",\n args=[\n name,\n range[\"value\"],\n ]).result,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_essd\",\n system_disk_size=40,\n image_type=\"AliyunLinux3\",\n scaling_config={\n \"enable\": True,\n \"min_size\": 0,\n \"max_size\": 10,\n }))\ndefault_autoscaling_config = alicloud.cs.AutoscalingConfig(\"default\",\n cluster_id=default_managed_kubernetes.id,\n cool_down_duration=\"10m\",\n unneeded_duration=\"10m\",\n utilization_threshold=\"0.5\",\n gpu_utilization_threshold=\"0.5\",\n scan_interval=\"30s\",\n scale_down_enabled=True,\n expander=\"priority\",\n skip_nodes_with_system_pods=True,\n skip_nodes_with_local_storage=False,\n daemonset_eviction_for_nodes=False,\n max_graceful_termination_sec=14400,\n min_replica_count=0,\n recycle_node_deletion_enabled=False,\n scale_up_from_zero=True,\n scaler_type=\"cluster-autoscaler\",\n priorities={\n \"10\": std.join_output(separator=\",\",\n input=[\n default_node_pool[0].scaling_group_id,\n default_node_pool[1].scaling_group_id,\n ]).apply(lambda invoke: invoke.result),\n \"20\": default_node_pool[2].scaling_group_id,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new List\u003cAliCloud.CS.NodePool\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNodePool.Add(new AliCloud.CS.NodePool($\"default-{range.Value}\", new()\n {\n NodePoolName = Std.Format.Invoke(new()\n {\n Input = \"%s-%d\",\n Args = new[]\n {\n name,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_essd\",\n SystemDiskSize = 40,\n ImageType = \"AliyunLinux3\",\n ScalingConfig = new AliCloud.CS.Inputs.NodePoolScalingConfigArgs\n {\n Enable = true,\n MinSize = 0,\n MaxSize = 10,\n },\n }));\n }\n var defaultAutoscalingConfig = new AliCloud.CS.AutoscalingConfig(\"default\", new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n CoolDownDuration = \"10m\",\n UnneededDuration = \"10m\",\n UtilizationThreshold = \"0.5\",\n GpuUtilizationThreshold = \"0.5\",\n ScanInterval = \"30s\",\n ScaleDownEnabled = true,\n Expander = \"priority\",\n SkipNodesWithSystemPods = true,\n SkipNodesWithLocalStorage = false,\n DaemonsetEvictionForNodes = false,\n MaxGracefulTerminationSec = 14400,\n MinReplicaCount = 0,\n RecycleNodeDeletionEnabled = false,\n ScaleUpFromZero = true,\n ScalerType = \"cluster-autoscaler\",\n Priorities = \n {\n { \"10\", Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = new[]\n {\n defaultNodePool[0].ScalingGroupId,\n defaultNodePool[1].ScalingGroupId,\n },\n }).Apply(invoke =\u003e invoke.Result) },\n { \"20\", defaultNodePool[2].ScalingGroupId },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultNodePool []*cs.NodePool\n\t\tfor index := 0; index \u003c 3; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cs.NewNodePool(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cs.NodePoolArgs{\n\t\t\t\tNodePoolName: pulumi.String(invokeFormat2.Result),\n\t\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t},\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\t},\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\t\tImageType: pulumi.String(\"AliyunLinux3\"),\n\t\t\t\tScalingConfig: \u0026cs.NodePoolScalingConfigArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\tMinSize: pulumi.Int(0),\n\t\t\t\t\tMaxSize: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultNodePool = append(defaultNodePool, __res)\n\t\t}\n\t\t_, err = cs.NewAutoscalingConfig(ctx, \"default\", \u0026cs.AutoscalingConfigArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tCoolDownDuration: pulumi.String(\"10m\"),\n\t\t\tUnneededDuration: pulumi.String(\"10m\"),\n\t\t\tUtilizationThreshold: pulumi.String(\"0.5\"),\n\t\t\tGpuUtilizationThreshold: pulumi.String(\"0.5\"),\n\t\t\tScanInterval: pulumi.String(\"30s\"),\n\t\t\tScaleDownEnabled: pulumi.Bool(true),\n\t\t\tExpander: pulumi.String(\"priority\"),\n\t\t\tSkipNodesWithSystemPods: pulumi.Bool(true),\n\t\t\tSkipNodesWithLocalStorage: pulumi.Bool(false),\n\t\t\tDaemonsetEvictionForNodes: pulumi.Bool(false),\n\t\t\tMaxGracefulTerminationSec: pulumi.Int(14400),\n\t\t\tMinReplicaCount: pulumi.Int(0),\n\t\t\tRecycleNodeDeletionEnabled: pulumi.Bool(false),\n\t\t\tScaleUpFromZero: pulumi.Bool(true),\n\t\t\tScalerType: pulumi.String(\"cluster-autoscaler\"),\n\t\t\tPriorities: pulumi.StringMap{\n\t\t\t\t\"10\": pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\tSeparator: pulumi.String(\",\"),\n\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\tdefaultNodePool[0].ScalingGroupId,\n\t\t\t\t\t\tdefaultNodePool[1].ScalingGroupId,\n\t\t\t\t\t},\n\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\t\t\"20\": defaultNodePool[2].ScalingGroupId,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolScalingConfigArgs;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cs.AutoscalingConfig;\nimport com.pulumi.alicloud.cs.AutoscalingConfigArgs;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new NodePool(\"defaultNodePool-\" + i, NodePoolArgs.builder()\n .nodePoolName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-%d\")\n .args( \n name,\n range.value())\n .build()).result())\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .systemDiskSize(40)\n .imageType(\"AliyunLinux3\")\n .scalingConfig(NodePoolScalingConfigArgs.builder()\n .enable(true)\n .minSize(0)\n .maxSize(10)\n .build())\n .build());\n\n \n}\n var defaultAutoscalingConfig = new AutoscalingConfig(\"defaultAutoscalingConfig\", AutoscalingConfigArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .coolDownDuration(\"10m\")\n .unneededDuration(\"10m\")\n .utilizationThreshold(\"0.5\")\n .gpuUtilizationThreshold(\"0.5\")\n .scanInterval(\"30s\")\n .scaleDownEnabled(true)\n .expander(\"priority\")\n .skipNodesWithSystemPods(true)\n .skipNodesWithLocalStorage(false)\n .daemonsetEvictionForNodes(false)\n .maxGracefulTerminationSec(14400)\n .minReplicaCount(0)\n .recycleNodeDeletionEnabled(false)\n .scaleUpFromZero(true)\n .scalerType(\"cluster-autoscaler\")\n .priorities(Map.ofEntries(\n Map.entry(\"10\", StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input( \n defaultNodePool[0].scalingGroupId(),\n defaultNodePool[1].scalingGroupId())\n .build()).applyValue(_invoke -\u003e _invoke.result())),\n Map.entry(\"20\", defaultNodePool[2].scalingGroupId())\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-%d'\n args:\n - ${name}\n - ${range.value}\n return: result\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_essd\n systemDiskSize: 40\n imageType: AliyunLinux3\n scalingConfig:\n enable: true\n minSize: 0\n maxSize: 10\n options: {}\n defaultAutoscalingConfig:\n type: alicloud:cs:AutoscalingConfig\n name: default\n properties:\n clusterId: ${defaultManagedKubernetes.id}\n coolDownDuration: 10m\n unneededDuration: 10m\n utilizationThreshold: '0.5'\n gpuUtilizationThreshold: '0.5'\n scanInterval: 30s\n scaleDownEnabled: true\n expander: priority\n skipNodesWithSystemPods: true\n skipNodesWithLocalStorage: false\n daemonsetEvictionForNodes: false\n maxGracefulTerminationSec: 14400\n minReplicaCount: 0\n recycleNodeDeletionEnabled: false\n scaleUpFromZero: true\n scalerType: cluster-autoscaler\n priorities:\n '10':\n fn::invoke:\n function: std:join\n arguments:\n separator: ','\n input:\n - ${defaultNodePool[0].scalingGroupId}\n - ${defaultNodePool[1].scalingGroupId}\n return: result\n '20': ${defaultNodePool[2].scalingGroupId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n systemDiskCategory: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "clusterId": { "type": "string", @@ -130468,7 +132939,7 @@ } }, "alicloud:cs/edgeKubernetes:EdgeKubernetes": { - "description": "This resource will help you to manage a Edge Kubernetes Cluster in Alibaba Cloud Kubernetes Service, see [What is edge kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-an-ack-edge-cluster).\n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** The provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** The provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** Available since v1.103.0.\n\n\u003e **NOTE:** From version 1.185.0+, support new fields \u003cspan pulumi-lang-nodejs=\"`clusterSpec`\" pulumi-lang-dotnet=\"`ClusterSpec`\" pulumi-lang-go=\"`clusterSpec`\" pulumi-lang-python=\"`cluster_spec`\" pulumi-lang-yaml=\"`clusterSpec`\" pulumi-lang-java=\"`clusterSpec`\"\u003e`cluster_spec`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`loadBalancerSpec`\" pulumi-lang-dotnet=\"`LoadBalancerSpec`\" pulumi-lang-go=\"`loadBalancerSpec`\" pulumi-lang-python=\"`load_balancer_spec`\" pulumi-lang-yaml=\"`loadBalancerSpec`\" pulumi-lang-java=\"`loadBalancerSpec`\"\u003e`load_balancer_spec`\u003c/span\u003e.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Master\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes(\"default\", {\n namePrefix: name,\n workerVswitchIds: [defaultSwitch.id],\n workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n version: \"1.26.3-aliyun.1\",\n workerNumber: 1,\n password: \"Test12345\",\n podCidr: \"10.99.0.0/16\",\n serviceCidr: \"172.16.0.0/16\",\n workerInstanceChargeType: \"PostPaid\",\n newNatGateway: true,\n nodeCidrMask: 24,\n installCloudMonitor: true,\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n skipSetCertificateAuthority: true,\n workerDataDisks: [{\n category: \"cloud_ssd\",\n size: \"200\",\n encrypted: \"false\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Master\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_edge_kubernetes = alicloud.cs.EdgeKubernetes(\"default\",\n name_prefix=name,\n worker_vswitch_ids=[default_switch.id],\n worker_instance_types=[default_get_instance_types.instance_types[0].id],\n version=\"1.26.3-aliyun.1\",\n worker_number=1,\n password=\"Test12345\",\n pod_cidr=\"10.99.0.0/16\",\n service_cidr=\"172.16.0.0/16\",\n worker_instance_charge_type=\"PostPaid\",\n new_nat_gateway=True,\n node_cidr_mask=24,\n install_cloud_monitor=True,\n slb_internet_enabled=True,\n is_enterprise_security_group=True,\n skip_set_certificate_authority=True,\n worker_data_disks=[{\n \"category\": \"cloud_ssd\",\n \"size\": \"200\",\n \"encrypted\": \"false\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Master\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes(\"default\", new()\n {\n NamePrefix = name,\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n WorkerInstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n Version = \"1.26.3-aliyun.1\",\n WorkerNumber = 1,\n Password = \"Test12345\",\n PodCidr = \"10.99.0.0/16\",\n ServiceCidr = \"172.16.0.0/16\",\n WorkerInstanceChargeType = \"PostPaid\",\n NewNatGateway = true,\n NodeCidrMask = 24,\n InstallCloudMonitor = true,\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n SkipSetCertificateAuthority = true,\n WorkerDataDisks = new[]\n {\n new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs\n {\n Category = \"cloud_ssd\",\n Size = \"200\",\n Encrypted = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Master\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewEdgeKubernetes(ctx, \"default\", \u0026cs.EdgeKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tWorkerInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tVersion: pulumi.String(\"1.26.3-aliyun.1\"),\n\t\t\tWorkerNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tPodCidr: pulumi.String(\"10.99.0.0/16\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tWorkerInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tNodeCidrMask: pulumi.Int(24),\n\t\t\tInstallCloudMonitor: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tWorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{\n\t\t\t\t\u0026cs.EdgeKubernetesWorkerDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\t\tSize: pulumi.String(\"200\"),\n\t\t\t\t\tEncrypted: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.EdgeKubernetes;\nimport com.pulumi.alicloud.cs.EdgeKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Master\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultEdgeKubernetes = new EdgeKubernetes(\"defaultEdgeKubernetes\", EdgeKubernetesArgs.builder()\n .namePrefix(name)\n .workerVswitchIds(defaultSwitch.id())\n .workerInstanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .version(\"1.26.3-aliyun.1\")\n .workerNumber(1)\n .password(\"Test12345\")\n .podCidr(\"10.99.0.0/16\")\n .serviceCidr(\"172.16.0.0/16\")\n .workerInstanceChargeType(\"PostPaid\")\n .newNatGateway(true)\n .nodeCidrMask(24)\n .installCloudMonitor(true)\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .skipSetCertificateAuthority(true)\n .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(\"200\")\n .encrypted(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultEdgeKubernetes:\n type: alicloud:cs:EdgeKubernetes\n name: default\n properties:\n namePrefix: ${name}\n workerVswitchIds:\n - ${defaultSwitch.id}\n workerInstanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n version: 1.26.3-aliyun.1\n workerNumber: 1\n password: Test12345\n podCidr: 10.99.0.0/16\n serviceCidr: 172.16.0.0/16\n workerInstanceChargeType: PostPaid\n newNatGateway: true\n nodeCidrMask: 24\n installCloudMonitor: true\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n skipSetCertificateAuthority: true\n workerDataDisks:\n - category: cloud_ssd\n size: '200'\n encrypted: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou could create a professional kubernetes edge cluster now.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Master\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes(\"default\", {\n namePrefix: name,\n workerVswitchIds: [defaultSwitch.id],\n workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n clusterSpec: \"ack.pro.small\",\n workerNumber: 1,\n password: \"Test12345\",\n podCidr: \"10.99.0.0/16\",\n serviceCidr: \"172.16.0.0/16\",\n workerInstanceChargeType: \"PostPaid\",\n newNatGateway: true,\n nodeCidrMask: 24,\n loadBalancerSpec: \"slb.s2.small\",\n installCloudMonitor: true,\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n skipSetCertificateAuthority: true,\n workerDataDisks: [{\n category: \"cloud_ssd\",\n size: \"200\",\n encrypted: \"false\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Master\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_edge_kubernetes = alicloud.cs.EdgeKubernetes(\"default\",\n name_prefix=name,\n worker_vswitch_ids=[default_switch.id],\n worker_instance_types=[default_get_instance_types.instance_types[0].id],\n cluster_spec=\"ack.pro.small\",\n worker_number=1,\n password=\"Test12345\",\n pod_cidr=\"10.99.0.0/16\",\n service_cidr=\"172.16.0.0/16\",\n worker_instance_charge_type=\"PostPaid\",\n new_nat_gateway=True,\n node_cidr_mask=24,\n load_balancer_spec=\"slb.s2.small\",\n install_cloud_monitor=True,\n slb_internet_enabled=True,\n is_enterprise_security_group=True,\n skip_set_certificate_authority=True,\n worker_data_disks=[{\n \"category\": \"cloud_ssd\",\n \"size\": \"200\",\n \"encrypted\": \"false\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Master\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes(\"default\", new()\n {\n NamePrefix = name,\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n WorkerInstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n ClusterSpec = \"ack.pro.small\",\n WorkerNumber = 1,\n Password = \"Test12345\",\n PodCidr = \"10.99.0.0/16\",\n ServiceCidr = \"172.16.0.0/16\",\n WorkerInstanceChargeType = \"PostPaid\",\n NewNatGateway = true,\n NodeCidrMask = 24,\n LoadBalancerSpec = \"slb.s2.small\",\n InstallCloudMonitor = true,\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n SkipSetCertificateAuthority = true,\n WorkerDataDisks = new[]\n {\n new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs\n {\n Category = \"cloud_ssd\",\n Size = \"200\",\n Encrypted = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Master\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewEdgeKubernetes(ctx, \"default\", \u0026cs.EdgeKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tWorkerInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tPodCidr: pulumi.String(\"10.99.0.0/16\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tWorkerInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tNodeCidrMask: pulumi.Int(24),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tInstallCloudMonitor: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tWorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{\n\t\t\t\t\u0026cs.EdgeKubernetesWorkerDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\t\tSize: pulumi.String(\"200\"),\n\t\t\t\t\tEncrypted: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.EdgeKubernetes;\nimport com.pulumi.alicloud.cs.EdgeKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Master\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultEdgeKubernetes = new EdgeKubernetes(\"defaultEdgeKubernetes\", EdgeKubernetesArgs.builder()\n .namePrefix(name)\n .workerVswitchIds(defaultSwitch.id())\n .workerInstanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .clusterSpec(\"ack.pro.small\")\n .workerNumber(1)\n .password(\"Test12345\")\n .podCidr(\"10.99.0.0/16\")\n .serviceCidr(\"172.16.0.0/16\")\n .workerInstanceChargeType(\"PostPaid\")\n .newNatGateway(true)\n .nodeCidrMask(24)\n .loadBalancerSpec(\"slb.s2.small\")\n .installCloudMonitor(true)\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .skipSetCertificateAuthority(true)\n .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(\"200\")\n .encrypted(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultEdgeKubernetes:\n type: alicloud:cs:EdgeKubernetes\n name: default\n properties:\n namePrefix: ${name}\n workerVswitchIds:\n - ${defaultSwitch.id}\n workerInstanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n clusterSpec: ack.pro.small\n workerNumber: 1\n password: Test12345\n podCidr: 10.99.0.0/16\n serviceCidr: 172.16.0.0/16\n workerInstanceChargeType: PostPaid\n newNatGateway: true\n nodeCidrMask: 24\n loadBalancerSpec: slb.s2.small\n installCloudMonitor: true\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n skipSetCertificateAuthority: true\n workerDataDisks:\n - category: cloud_ssd\n size: '200'\n encrypted: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/edgeKubernetes:EdgeKubernetes main cluster-id\n```\n\n", + "description": "This resource will help you to manage a Edge Kubernetes Cluster in Alibaba Cloud Kubernetes Service, see [What is edge kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-an-ack-edge-cluster).\n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** The provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** The provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** Available since v1.103.0.\n\n\u003e **NOTE:** From version 1.185.0+, support new fields \u003cspan pulumi-lang-nodejs=\"`clusterSpec`\" pulumi-lang-dotnet=\"`ClusterSpec`\" pulumi-lang-go=\"`clusterSpec`\" pulumi-lang-python=\"`cluster_spec`\" pulumi-lang-yaml=\"`clusterSpec`\" pulumi-lang-java=\"`clusterSpec`\"\u003e`cluster_spec`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`loadBalancerSpec`\" pulumi-lang-dotnet=\"`LoadBalancerSpec`\" pulumi-lang-go=\"`loadBalancerSpec`\" pulumi-lang-python=\"`load_balancer_spec`\" pulumi-lang-yaml=\"`loadBalancerSpec`\" pulumi-lang-java=\"`loadBalancerSpec`\"\u003e`load_balancer_spec`\u003c/span\u003e.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Master\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes(\"default\", {\n namePrefix: name,\n workerVswitchIds: [defaultSwitch.id],\n workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n version: \"1.26.3-aliyun.1\",\n workerNumber: 1,\n password: \"Test12345\",\n podCidr: \"10.99.0.0/16\",\n serviceCidr: \"172.16.0.0/16\",\n workerInstanceChargeType: \"PostPaid\",\n newNatGateway: true,\n nodeCidrMask: 24,\n installCloudMonitor: true,\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n skipSetCertificateAuthority: true,\n workerDataDisks: [{\n category: \"cloud_ssd\",\n size: \"200\",\n encrypted: \"false\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Master\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_edge_kubernetes = alicloud.cs.EdgeKubernetes(\"default\",\n name_prefix=name,\n worker_vswitch_ids=[default_switch.id],\n worker_instance_types=[default_get_instance_types.instance_types[0].id],\n version=\"1.26.3-aliyun.1\",\n worker_number=1,\n password=\"Test12345\",\n pod_cidr=\"10.99.0.0/16\",\n service_cidr=\"172.16.0.0/16\",\n worker_instance_charge_type=\"PostPaid\",\n new_nat_gateway=True,\n node_cidr_mask=24,\n install_cloud_monitor=True,\n slb_internet_enabled=True,\n is_enterprise_security_group=True,\n skip_set_certificate_authority=True,\n worker_data_disks=[{\n \"category\": \"cloud_ssd\",\n \"size\": \"200\",\n \"encrypted\": \"false\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Master\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes(\"default\", new()\n {\n NamePrefix = name,\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n WorkerInstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n Version = \"1.26.3-aliyun.1\",\n WorkerNumber = 1,\n Password = \"Test12345\",\n PodCidr = \"10.99.0.0/16\",\n ServiceCidr = \"172.16.0.0/16\",\n WorkerInstanceChargeType = \"PostPaid\",\n NewNatGateway = true,\n NodeCidrMask = 24,\n InstallCloudMonitor = true,\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n SkipSetCertificateAuthority = true,\n WorkerDataDisks = new[]\n {\n new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs\n {\n Category = \"cloud_ssd\",\n Size = \"200\",\n Encrypted = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Master\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewEdgeKubernetes(ctx, \"default\", \u0026cs.EdgeKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tWorkerInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tVersion: pulumi.String(\"1.26.3-aliyun.1\"),\n\t\t\tWorkerNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tPodCidr: pulumi.String(\"10.99.0.0/16\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tWorkerInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tNodeCidrMask: pulumi.Int(24),\n\t\t\tInstallCloudMonitor: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tWorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{\n\t\t\t\t\u0026cs.EdgeKubernetesWorkerDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\t\tSize: pulumi.String(\"200\"),\n\t\t\t\t\tEncrypted: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.EdgeKubernetes;\nimport com.pulumi.alicloud.cs.EdgeKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Master\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultEdgeKubernetes = new EdgeKubernetes(\"defaultEdgeKubernetes\", EdgeKubernetesArgs.builder()\n .namePrefix(name)\n .workerVswitchIds(defaultSwitch.id())\n .workerInstanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .version(\"1.26.3-aliyun.1\")\n .workerNumber(1)\n .password(\"Test12345\")\n .podCidr(\"10.99.0.0/16\")\n .serviceCidr(\"172.16.0.0/16\")\n .workerInstanceChargeType(\"PostPaid\")\n .newNatGateway(true)\n .nodeCidrMask(24)\n .installCloudMonitor(true)\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .skipSetCertificateAuthority(true)\n .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(\"200\")\n .encrypted(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultEdgeKubernetes:\n type: alicloud:cs:EdgeKubernetes\n name: default\n properties:\n namePrefix: ${name}\n workerVswitchIds:\n - ${defaultSwitch.id}\n workerInstanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n version: 1.26.3-aliyun.1\n workerNumber: 1\n password: Test12345\n podCidr: 10.99.0.0/16\n serviceCidr: 172.16.0.0/16\n workerInstanceChargeType: PostPaid\n newNatGateway: true\n nodeCidrMask: 24\n installCloudMonitor: true\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n skipSetCertificateAuthority: true\n workerDataDisks:\n - category: cloud_ssd\n size: '200'\n encrypted: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou could create a professional kubernetes edge cluster now.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Master\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes(\"default\", {\n namePrefix: name,\n workerVswitchIds: [defaultSwitch.id],\n workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n clusterSpec: \"ack.pro.small\",\n workerNumber: 1,\n password: \"Test12345\",\n podCidr: \"10.99.0.0/16\",\n serviceCidr: \"172.16.0.0/16\",\n workerInstanceChargeType: \"PostPaid\",\n newNatGateway: true,\n nodeCidrMask: 24,\n loadBalancerSpec: \"slb.s2.small\",\n installCloudMonitor: true,\n slbInternetEnabled: true,\n isEnterpriseSecurityGroup: true,\n skipSetCertificateAuthority: true,\n workerDataDisks: [{\n category: \"cloud_ssd\",\n size: \"200\",\n encrypted: \"false\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Master\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_edge_kubernetes = alicloud.cs.EdgeKubernetes(\"default\",\n name_prefix=name,\n worker_vswitch_ids=[default_switch.id],\n worker_instance_types=[default_get_instance_types.instance_types[0].id],\n cluster_spec=\"ack.pro.small\",\n worker_number=1,\n password=\"Test12345\",\n pod_cidr=\"10.99.0.0/16\",\n service_cidr=\"172.16.0.0/16\",\n worker_instance_charge_type=\"PostPaid\",\n new_nat_gateway=True,\n node_cidr_mask=24,\n load_balancer_spec=\"slb.s2.small\",\n install_cloud_monitor=True,\n slb_internet_enabled=True,\n is_enterprise_security_group=True,\n skip_set_certificate_authority=True,\n worker_data_disks=[{\n \"category\": \"cloud_ssd\",\n \"size\": \"200\",\n \"encrypted\": \"false\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Master\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes(\"default\", new()\n {\n NamePrefix = name,\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n WorkerInstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n ClusterSpec = \"ack.pro.small\",\n WorkerNumber = 1,\n Password = \"Test12345\",\n PodCidr = \"10.99.0.0/16\",\n ServiceCidr = \"172.16.0.0/16\",\n WorkerInstanceChargeType = \"PostPaid\",\n NewNatGateway = true,\n NodeCidrMask = 24,\n LoadBalancerSpec = \"slb.s2.small\",\n InstallCloudMonitor = true,\n SlbInternetEnabled = true,\n IsEnterpriseSecurityGroup = true,\n SkipSetCertificateAuthority = true,\n WorkerDataDisks = new[]\n {\n new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs\n {\n Category = \"cloud_ssd\",\n Size = \"200\",\n Encrypted = \"false\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Master\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewEdgeKubernetes(ctx, \"default\", \u0026cs.EdgeKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tWorkerInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tPodCidr: pulumi.String(\"10.99.0.0/16\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tWorkerInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tNodeCidrMask: pulumi.Int(24),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tInstallCloudMonitor: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tWorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{\n\t\t\t\t\u0026cs.EdgeKubernetesWorkerDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\t\tSize: pulumi.String(\"200\"),\n\t\t\t\t\tEncrypted: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.EdgeKubernetes;\nimport com.pulumi.alicloud.cs.EdgeKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Master\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultEdgeKubernetes = new EdgeKubernetes(\"defaultEdgeKubernetes\", EdgeKubernetesArgs.builder()\n .namePrefix(name)\n .workerVswitchIds(defaultSwitch.id())\n .workerInstanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .clusterSpec(\"ack.pro.small\")\n .workerNumber(1)\n .password(\"Test12345\")\n .podCidr(\"10.99.0.0/16\")\n .serviceCidr(\"172.16.0.0/16\")\n .workerInstanceChargeType(\"PostPaid\")\n .newNatGateway(true)\n .nodeCidrMask(24)\n .loadBalancerSpec(\"slb.s2.small\")\n .installCloudMonitor(true)\n .slbInternetEnabled(true)\n .isEnterpriseSecurityGroup(true)\n .skipSetCertificateAuthority(true)\n .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(\"200\")\n .encrypted(\"false\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultEdgeKubernetes:\n type: alicloud:cs:EdgeKubernetes\n name: default\n properties:\n namePrefix: ${name}\n workerVswitchIds:\n - ${defaultSwitch.id}\n workerInstanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n clusterSpec: ack.pro.small\n workerNumber: 1\n password: Test12345\n podCidr: 10.99.0.0/16\n serviceCidr: 172.16.0.0/16\n workerInstanceChargeType: PostPaid\n newNatGateway: true\n nodeCidrMask: 24\n loadBalancerSpec: slb.s2.small\n installCloudMonitor: true\n slbInternetEnabled: true\n isEnterpriseSecurityGroup: true\n skipSetCertificateAuthority: true\n workerDataDisks:\n - category: cloud_ssd\n size: '200'\n encrypted: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Master\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/edgeKubernetes:EdgeKubernetes main cluster-id\n```\n\n", "properties": { "addons": { "type": "array", @@ -131134,7 +133605,7 @@ } }, "alicloud:cs/kubernetes:Kubernetes": { - "description": "This resource will help you to manage a Kubernetes Cluster in Alibaba Cloud Kubernetes Service, see [What is kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-an-ask-cluster-1).\n\n\u003e **NOTE:** From August 21, 2024, Container Service for Kubernetes (ACK) discontinues the creation of ACK dedicated clusters, see [Product announcement](https://www.alibabacloud.com/help/en/ack/product-overview/product-announcement-announcement-on-stopping-new-ack-dedicated-cluster) for more details.\n\n\u003e **NOTE:** Available since v1.9.0.\n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Each kubernetes cluster contains 3 master nodes and those number cannot be changed at now.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** From version 1.9.4, the provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** From version 1.16.0, the provider supports Multiple Availability Zones Kubernetes Cluster. To create a cluster of this kind, you must specify 3 or 5 items in \u003cspan pulumi-lang-nodejs=\"`masterVswitchIds`\" pulumi-lang-dotnet=\"`MasterVswitchIds`\" pulumi-lang-go=\"`masterVswitchIds`\" pulumi-lang-python=\"`master_vswitch_ids`\" pulumi-lang-yaml=\"`masterVswitchIds`\" pulumi-lang-java=\"`masterVswitchIds`\"\u003e`master_vswitch_ids`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`masterInstanceTypes`\" pulumi-lang-dotnet=\"`MasterInstanceTypes`\" pulumi-lang-go=\"`masterInstanceTypes`\" pulumi-lang-python=\"`master_instance_types`\" pulumi-lang-yaml=\"`masterInstanceTypes`\" pulumi-lang-java=\"`masterInstanceTypes`\"\u003e`master_instance_types`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.20.0, the provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.75.0, Some parameters have been removed from resource,You can check them below and re-import the cluster if necessary.\n\n\u003e **NOTE:** From version 1.101.0+, We supported the `professional managed clusters(ack-pro)`, You can create a pro cluster by setting the the value of \u003cspan pulumi-lang-nodejs=\"`clusterSpec`\" pulumi-lang-dotnet=\"`ClusterSpec`\" pulumi-lang-go=\"`clusterSpec`\" pulumi-lang-python=\"`cluster_spec`\" pulumi-lang-yaml=\"`clusterSpec`\" pulumi-lang-java=\"`clusterSpec`\"\u003e`cluster_spec`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.177.0+, \u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerVswitchIds`\" pulumi-lang-dotnet=\"`WorkerVswitchIds`\" pulumi-lang-go=\"`workerVswitchIds`\" pulumi-lang-python=\"`worker_vswitch_ids`\" pulumi-lang-yaml=\"`workerVswitchIds`\" pulumi-lang-java=\"`workerVswitchIds`\"\u003e`worker_vswitch_ids`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e are deprecated.\nWe Suggest you using resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n\u003e **NOTE:** From version 1.212.0, \u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerVswitchIds`\" pulumi-lang-dotnet=\"`WorkerVswitchIds`\" pulumi-lang-go=\"`workerVswitchIds`\" pulumi-lang-python=\"`worker_vswitch_ids`\" pulumi-lang-yaml=\"`workerVswitchIds`\" pulumi-lang-java=\"`workerVswitchIds`\"\u003e`worker_vswitch_ids`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`availabilityZone`\" pulumi-lang-dotnet=\"`AvailabilityZone`\" pulumi-lang-go=\"`availabilityZone`\" pulumi-lang-python=\"`availability_zone`\" pulumi-lang-yaml=\"`availabilityZone`\" pulumi-lang-java=\"`availabilityZone`\"\u003e`availability_zone`\u003c/span\u003e are removed.\nPlease use resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-kubernetes-example\";\n// Existing vpc id used to create several vswitches and other resources.\nconst vpcId = config.get(\"vpcId\") || \"\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of existing vswitch id.\nconst vswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n \"10.3.0.0/16\",\n];\n// List of existing vswitch ids for terway.\nconst terwayVswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nconst terwayVswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchCidrs\") || [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n \"10.6.0.0/16\",\n];\nconst clusterAddons = config.getObject\u003cArray\u003c{config?: Record\u003cstring, string\u003e, name?: string}\u003e\u003e(\"clusterAddons\") || [\n {\n config: {},\n name: \"terway-eniip\",\n },\n {\n config: {},\n name: \"csi-plugin\",\n },\n {\n config: {},\n name: \"csi-provisioner\",\n },\n {\n config: {\n IngressDashboardEnabled: \"true\",\n },\n name: \"logtail-ds\",\n },\n {\n config: {\n IngressSlbNetworkType: \"internet\",\n },\n name: \"nginx-ingress-controller\",\n },\n {\n config: {},\n name: \"arms-prometheus\",\n },\n {\n config: {\n sls_project_name: \"\",\n },\n name: \"ack-node-problem-detector\",\n },\n];\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\n// If there is not specifying vpc_id, the module will launch a new vpc\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {cidrBlock: vpcCidr}));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst vswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchIds.length \u003e 0 ? 0 : vswitchCidrs.length); range.value++) {\n vswitches.push(new alicloud.vpc.Switch(`vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: pulumi.all([enhanced, enhanced.then(enhanced =\u003e enhanced.zones).length]).apply(([enhanced, length]) =\u003e enhanced.zones[range.value \u003c length ? range.value : 0].zoneId),\n }));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst terwayVswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (terwayVswitchIds.length \u003e 0 ? 0 : terwayVswitchCidrs.length); range.value++) {\n terwayVswitches.push(new alicloud.vpc.Switch(`terway_vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: terwayVswitchCidrs[range.value],\n zoneId: pulumi.all([enhanced, enhanced.then(enhanced =\u003e enhanced.zones).length]).apply(([enhanced, length]) =\u003e enhanced.zones[range.value \u003c length ? range.value : 0].zoneId),\n }));\n}\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst cloudEssd = (new Array(3)).map((_, i) =\u003e i).map(__index =\u003e (alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: _arg0_.zones[__index \u003c _arg1_ ? __index : 0].zoneId,\n cpuCoreCount: 4,\n memorySize: 8,\n systemDiskCategory: \"cloud_essd\",\n})));\nconst defaultKubernetes = new alicloud.cs.Kubernetes(\"default\", {\n addons: clusterAddons.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n name: std.lookup({\n map: entry.value,\n key: \"name\",\n \"default\": clusterAddons,\n }).then(invoke =\u003e invoke.result),\n config: JSON.stringify(std.lookup({\n map: entry.value,\n key: \"config\",\n \"default\": clusterAddons,\n }).then(invoke =\u003e invoke.result)),\n })),\n masterVswitchIds: vswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: vswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : vswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: vswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n podVswitchIds: terwayVswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: terwayVswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : terwayVswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: terwayVswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n masterInstanceTypes: [\n cloudEssd[0].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n cloudEssd[1].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n cloudEssd[2].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n ],\n masterDiskCategory: \"cloud_essd\",\n password: \"Yourpassword1234\",\n serviceCidr: \"172.18.0.0/16\",\n installCloudMonitor: true,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n deletionProtection: false,\n timezone: \"Asia/Shanghai\",\n osType: \"Linux\",\n platform: \"AliyunLinux3\",\n clusterDomain: \"cluster.local\",\n proxyMode: \"ipvs\",\n customSan: \"www.terraform.io\",\n newNatGateway: true,\n skipSetCertificateAuthority: true,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-kubernetes-example\"\n# Existing vpc id used to create several vswitches and other resources.\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of existing vswitch id.\nvswitch_ids = config.get_object(\"vswitchIds\")\nif vswitch_ids is None:\n vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n \"10.3.0.0/16\",\n ]\n# List of existing vswitch ids for terway.\nterway_vswitch_ids = config.get_object(\"terwayVswitchIds\")\nif terway_vswitch_ids is None:\n terway_vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nterway_vswitch_cidrs = config.get_object(\"terwayVswitchCidrs\")\nif terway_vswitch_cidrs is None:\n terway_vswitch_cidrs = [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n \"10.6.0.0/16\",\n ]\ncluster_addons = config.get_object(\"clusterAddons\")\nif cluster_addons is None:\n cluster_addons = [\n {\n \"config\": {},\n \"name\": \"terway-eniip\",\n },\n {\n \"config\": {},\n \"name\": \"csi-plugin\",\n },\n {\n \"config\": {},\n \"name\": \"csi-provisioner\",\n },\n {\n \"config\": {\n \"IngressDashboardEnabled\": \"true\",\n },\n \"name\": \"logtail-ds\",\n },\n {\n \"config\": {\n \"IngressSlbNetworkType\": \"internet\",\n },\n \"name\": \"nginx-ingress-controller\",\n },\n {\n \"config\": {},\n \"name\": \"arms-prometheus\",\n },\n {\n \"config\": {\n \"sls_project_name\": \"\",\n },\n \"name\": \"ack-node-problem-detector\",\n },\n ]\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\n# If there is not specifying vpc_id, the module will launch a new vpc\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\", cidr_block=vpc_cidr))\n# According to the vswitch cidr blocks to launch several vswitches\nvswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(vswitch_ids) \u003e 0 else len(vswitch_cidrs))]:\n vswitches.append(alicloud.vpc.Switch(f\"vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range[\"value\"] if range[\"value\"] \u003c length else 0]).apply(lambda obj: obj.zone_id)))\n# According to the vswitch cidr blocks to launch several vswitches\nterway_vswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(terway_vswitch_ids) \u003e 0 else len(terway_vswitch_cidrs))]:\n terway_vswitches.append(alicloud.vpc.Switch(f\"terway_vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=terway_vswitch_cidrs[range[\"value\"]],\n zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range[\"value\"] if range[\"value\"] \u003c length else 0]).apply(lambda obj: obj.zone_id)))\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ncloud_essd = [alicloud.ecs.get_instance_types_output(availability_zone=_arg0_.zone_id,\n cpu_core_count=4,\n memory_size=8,\n system_disk_category=\"cloud_essd\") for __index in range(3)]\ndefault_kubernetes = alicloud.cs.Kubernetes(\"default\",\n addons=[{\n \"name\": std.lookup(map=entry[\"value\"],\n key=\"name\",\n default=cluster_addons).result,\n \"config\": json.dumps(std.lookup(map=entry[\"value\"],\n key=\"config\",\n default=cluster_addons).result),\n } for entry in [{\"key\": k, \"value\": v} for k, v in cluster_addons]],\n master_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=vswitch_ids).result).result if len(vswitch_ids) \u003e 0 else [] if len(vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n pod_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) \u003e 0 else [] if len(terway_vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n master_instance_types=[\n cloud_essd[0].instance_types[0].id,\n cloud_essd[1].instance_types[0].id,\n cloud_essd[2].instance_types[0].id,\n ],\n master_disk_category=\"cloud_essd\",\n password=\"Yourpassword1234\",\n service_cidr=\"172.18.0.0/16\",\n install_cloud_monitor=True,\n resource_group_id=default.groups[0].id,\n deletion_protection=False,\n timezone=\"Asia/Shanghai\",\n os_type=\"Linux\",\n platform=\"AliyunLinux3\",\n cluster_domain=\"cluster.local\",\n proxy_mode=\"ipvs\",\n custom_san=\"www.terraform.io\",\n new_nat_gateway=True,\n skip_set_certificate_authority=True)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/kubernetes:Kubernetes main cluster-id\n```\n\n", + "description": "This resource will help you to manage a Kubernetes Cluster in Alibaba Cloud Kubernetes Service, see [What is kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-an-ask-cluster-1).\n\n\u003e **NOTE:** From August 21, 2024, Container Service for Kubernetes (ACK) discontinues the creation of ACK dedicated clusters, see [Product announcement](https://www.alibabacloud.com/help/en/ack/product-overview/product-announcement-announcement-on-stopping-new-ack-dedicated-cluster) for more details.\n\n\u003e **NOTE:** Available since v1.9.0.\n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Each kubernetes cluster contains 3 master nodes and those number cannot be changed at now.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** From version 1.9.4, the provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** From version 1.16.0, the provider supports Multiple Availability Zones Kubernetes Cluster. To create a cluster of this kind, you must specify 3 or 5 items in \u003cspan pulumi-lang-nodejs=\"`masterVswitchIds`\" pulumi-lang-dotnet=\"`MasterVswitchIds`\" pulumi-lang-go=\"`masterVswitchIds`\" pulumi-lang-python=\"`master_vswitch_ids`\" pulumi-lang-yaml=\"`masterVswitchIds`\" pulumi-lang-java=\"`masterVswitchIds`\"\u003e`master_vswitch_ids`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`masterInstanceTypes`\" pulumi-lang-dotnet=\"`MasterInstanceTypes`\" pulumi-lang-go=\"`masterInstanceTypes`\" pulumi-lang-python=\"`master_instance_types`\" pulumi-lang-yaml=\"`masterInstanceTypes`\" pulumi-lang-java=\"`masterInstanceTypes`\"\u003e`master_instance_types`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.20.0, the provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.75.0, Some parameters have been removed from resource,You can check them below and re-import the cluster if necessary.\n\n\u003e **NOTE:** From version 1.101.0+, We supported the `professional managed clusters(ack-pro)`, You can create a pro cluster by setting the the value of \u003cspan pulumi-lang-nodejs=\"`clusterSpec`\" pulumi-lang-dotnet=\"`ClusterSpec`\" pulumi-lang-go=\"`clusterSpec`\" pulumi-lang-python=\"`cluster_spec`\" pulumi-lang-yaml=\"`clusterSpec`\" pulumi-lang-java=\"`clusterSpec`\"\u003e`cluster_spec`\u003c/span\u003e.\n\n\u003e **NOTE:** From version 1.177.0+, \u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerVswitchIds`\" pulumi-lang-dotnet=\"`WorkerVswitchIds`\" pulumi-lang-go=\"`workerVswitchIds`\" pulumi-lang-python=\"`worker_vswitch_ids`\" pulumi-lang-yaml=\"`workerVswitchIds`\" pulumi-lang-java=\"`workerVswitchIds`\"\u003e`worker_vswitch_ids`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e are deprecated.\nWe Suggest you using resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n\u003e **NOTE:** From version 1.212.0, \u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerVswitchIds`\" pulumi-lang-dotnet=\"`WorkerVswitchIds`\" pulumi-lang-go=\"`workerVswitchIds`\" pulumi-lang-python=\"`worker_vswitch_ids`\" pulumi-lang-yaml=\"`workerVswitchIds`\" pulumi-lang-java=\"`workerVswitchIds`\"\u003e`worker_vswitch_ids`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`availabilityZone`\" pulumi-lang-dotnet=\"`AvailabilityZone`\" pulumi-lang-go=\"`availabilityZone`\" pulumi-lang-python=\"`availability_zone`\" pulumi-lang-yaml=\"`availabilityZone`\" pulumi-lang-java=\"`availabilityZone`\"\u003e`availability_zone`\u003c/span\u003e are removed.\nPlease use resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-kubernetes-example\";\n// Existing vpc id used to create several vswitches and other resources.\nconst vpcId = config.get(\"vpcId\") || \"\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of existing vswitch id.\nconst vswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n \"10.3.0.0/16\",\n];\n// List of existing vswitch ids for terway.\nconst terwayVswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nconst terwayVswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchCidrs\") || [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n \"10.6.0.0/16\",\n];\nconst clusterAddons = config.getObject\u003cArray\u003c{config?: Record\u003cstring, string\u003e, name?: string}\u003e\u003e(\"clusterAddons\") || [\n {\n config: {},\n name: \"terway-eniip\",\n },\n {\n config: {},\n name: \"csi-plugin\",\n },\n {\n config: {},\n name: \"csi-provisioner\",\n },\n {\n config: {\n IngressDashboardEnabled: \"true\",\n },\n name: \"logtail-ds\",\n },\n {\n config: {\n IngressSlbNetworkType: \"internet\",\n },\n name: \"nginx-ingress-controller\",\n },\n {\n config: {},\n name: \"arms-prometheus\",\n },\n {\n config: {\n sls_project_name: \"\",\n },\n name: \"ack-node-problem-detector\",\n },\n];\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\n// If there is not specifying vpc_id, the module will launch a new vpc\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {cidrBlock: vpcCidr}));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst vswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchIds.length \u003e 0 ? 0 : vswitchCidrs.length); range.value++) {\n vswitches.push(new alicloud.vpc.Switch(`vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: pulumi.all([enhanced, enhanced.then(enhanced =\u003e enhanced.zones).length]).apply(([enhanced, length]) =\u003e enhanced.zones[range.value \u003c length ? range.value : 0].zoneId),\n }));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst terwayVswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (terwayVswitchIds.length \u003e 0 ? 0 : terwayVswitchCidrs.length); range.value++) {\n terwayVswitches.push(new alicloud.vpc.Switch(`terway_vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: terwayVswitchCidrs[range.value],\n zoneId: pulumi.all([enhanced, enhanced.then(enhanced =\u003e enhanced.zones).length]).apply(([enhanced, length]) =\u003e enhanced.zones[range.value \u003c length ? range.value : 0].zoneId),\n }));\n}\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst cloudEssd = (new Array(3)).map((_, i) =\u003e i).map(__index =\u003e (alicloud.ecs.getInstanceTypesOutput({\n availabilityZone: _arg0_.zones[__index \u003c _arg1_ ? __index : 0].zoneId,\n cpuCoreCount: 4,\n memorySize: 8,\n systemDiskCategory: \"cloud_essd\",\n})));\nconst defaultKubernetes = new alicloud.cs.Kubernetes(\"default\", {\n addons: clusterAddons.map((v, k) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n name: std.lookup({\n map: entry.value,\n key: \"name\",\n \"default\": clusterAddons,\n }).then(invoke =\u003e invoke.result),\n config: JSON.stringify(std.lookup({\n map: entry.value,\n key: \"config\",\n \"default\": clusterAddons,\n }).then(invoke =\u003e invoke.result)),\n })),\n masterVswitchIds: vswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: vswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : vswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: vswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n podVswitchIds: terwayVswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: terwayVswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : terwayVswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: terwayVswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n masterInstanceTypes: [\n cloudEssd[0].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n cloudEssd[1].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n cloudEssd[2].apply(cloudEssd =\u003e cloudEssd.instanceTypes?.[0]?.id),\n ],\n masterDiskCategory: \"cloud_essd\",\n password: \"Yourpassword1234\",\n serviceCidr: \"172.18.0.0/16\",\n installCloudMonitor: true,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n deletionProtection: false,\n timezone: \"Asia/Shanghai\",\n osType: \"Linux\",\n platform: \"AliyunLinux3\",\n clusterDomain: \"cluster.local\",\n proxyMode: \"ipvs\",\n customSan: \"www.terraform.io\",\n newNatGateway: true,\n skipSetCertificateAuthority: true,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-kubernetes-example\"\n# Existing vpc id used to create several vswitches and other resources.\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of existing vswitch id.\nvswitch_ids = config.get_object(\"vswitchIds\")\nif vswitch_ids is None:\n vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n \"10.3.0.0/16\",\n ]\n# List of existing vswitch ids for terway.\nterway_vswitch_ids = config.get_object(\"terwayVswitchIds\")\nif terway_vswitch_ids is None:\n terway_vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nterway_vswitch_cidrs = config.get_object(\"terwayVswitchCidrs\")\nif terway_vswitch_cidrs is None:\n terway_vswitch_cidrs = [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n \"10.6.0.0/16\",\n ]\ncluster_addons = config.get_object(\"clusterAddons\")\nif cluster_addons is None:\n cluster_addons = [\n {\n \"config\": {},\n \"name\": \"terway-eniip\",\n },\n {\n \"config\": {},\n \"name\": \"csi-plugin\",\n },\n {\n \"config\": {},\n \"name\": \"csi-provisioner\",\n },\n {\n \"config\": {\n \"IngressDashboardEnabled\": \"true\",\n },\n \"name\": \"logtail-ds\",\n },\n {\n \"config\": {\n \"IngressSlbNetworkType\": \"internet\",\n },\n \"name\": \"nginx-ingress-controller\",\n },\n {\n \"config\": {},\n \"name\": \"arms-prometheus\",\n },\n {\n \"config\": {\n \"sls_project_name\": \"\",\n },\n \"name\": \"ack-node-problem-detector\",\n },\n ]\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\n# If there is not specifying vpc_id, the module will launch a new vpc\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\", cidr_block=vpc_cidr))\n# According to the vswitch cidr blocks to launch several vswitches\nvswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(vswitch_ids) \u003e 0 else len(vswitch_cidrs))]:\n vswitches.append(alicloud.vpc.Switch(f\"vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range[\"value\"] if range[\"value\"] \u003c length else 0]).apply(lambda obj: obj.zone_id)))\n# According to the vswitch cidr blocks to launch several vswitches\nterway_vswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(terway_vswitch_ids) \u003e 0 else len(terway_vswitch_cidrs))]:\n terway_vswitches.append(alicloud.vpc.Switch(f\"terway_vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=terway_vswitch_cidrs[range[\"value\"]],\n zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range[\"value\"] if range[\"value\"] \u003c length else 0]).apply(lambda obj: obj.zone_id)))\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ncloud_essd = [alicloud.ecs.get_instance_types_output(availability_zone=_arg0_.zone_id,\n cpu_core_count=4,\n memory_size=8,\n system_disk_category=\"cloud_essd\") for __index in range(3)]\ndefault_kubernetes = alicloud.cs.Kubernetes(\"default\",\n addons=[{\n \"name\": std.lookup(map=entry[\"value\"],\n key=\"name\",\n default=cluster_addons).result,\n \"config\": json.dumps(std.lookup(map=entry[\"value\"],\n key=\"config\",\n default=cluster_addons).result),\n } for entry in [{\"key\": k, \"value\": v} for k, v in cluster_addons]],\n master_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=vswitch_ids).result).result if len(vswitch_ids) \u003e 0 else [] if len(vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n pod_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) \u003e 0 else [] if len(terway_vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n master_instance_types=[\n cloud_essd[0].instance_types[0].id,\n cloud_essd[1].instance_types[0].id,\n cloud_essd[2].instance_types[0].id,\n ],\n master_disk_category=\"cloud_essd\",\n password=\"Yourpassword1234\",\n service_cidr=\"172.18.0.0/16\",\n install_cloud_monitor=True,\n resource_group_id=default.groups[0].id,\n deletion_protection=False,\n timezone=\"Asia/Shanghai\",\n os_type=\"Linux\",\n platform=\"AliyunLinux3\",\n cluster_domain=\"cluster.local\",\n proxy_mode=\"ipvs\",\n custom_san=\"www.terraform.io\",\n new_nat_gateway=True,\n skip_set_certificate_authority=True)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/kubernetes:Kubernetes main cluster-id\n```\n\n", "properties": { "addons": { "type": "array", @@ -132035,7 +134506,7 @@ } }, "alicloud:cs/kubernetesAddon:KubernetesAddon": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: false,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n addons: [{\n name: \"logtail-ds\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n disabled: false,\n }],\n});\n// data source provides the information of available addons\nconst defaultGetKubernetesAddons = alicloud.cs.getKubernetesAddonsOutput({\n clusterId: defaultManagedKubernetes.id,\n nameRegex: \"logtail-ds\",\n});\n// Manage addon resource\nconst logtail_ds = new alicloud.cs.KubernetesAddon(\"logtail-ds\", {\n clusterId: defaultManagedKubernetes.id,\n name: \"logtail-ds\",\n version: \"v1.6.0.0-aliyun\",\n config: JSON.stringify({}),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=False,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True,\n addons=[{\n \"name\": \"logtail-ds\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n \"disabled\": False,\n }])\n# data source provides the information of available addons\ndefault_get_kubernetes_addons = alicloud.cs.get_kubernetes_addons_output(cluster_id=default_managed_kubernetes.id,\n name_regex=\"logtail-ds\")\n# Manage addon resource\nlogtail_ds = alicloud.cs.KubernetesAddon(\"logtail-ds\",\n cluster_id=default_managed_kubernetes.id,\n name=\"logtail-ds\",\n version=\"v1.6.0.0-aliyun\",\n config=json.dumps({}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = false,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"logtail-ds\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n Disabled = false,\n },\n },\n });\n\n // data source provides the information of available addons\n var defaultGetKubernetesAddons = AliCloud.CS.GetKubernetesAddons.Invoke(new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n NameRegex = \"logtail-ds\",\n });\n\n // Manage addon resource\n var logtail_ds = new AliCloud.CS.KubernetesAddon(\"logtail-ds\", new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n Name = \"logtail-ds\",\n Version = \"v1.6.0.0-aliyun\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\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\"IngressDashboardEnabled\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(false),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tAddons: cs.ManagedKubernetesAddonArray{\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"logtail-ds\"),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t\tDisabled: 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\t// data source provides the information of available addons\n\t\t_ = cs.GetKubernetesAddonsOutput(ctx, cs.GetKubernetesAddonsOutputArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tNameRegex: pulumi.String(\"logtail-ds\"),\n\t\t}, nil)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// Manage addon resource\n\t\t_, err = cs.NewKubernetesAddon(ctx, \"logtail-ds\", \u0026cs.KubernetesAddonArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tName: pulumi.String(\"logtail-ds\"),\n\t\t\tVersion: pulumi.String(\"v1.6.0.0-aliyun\"),\n\t\t\tConfig: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.CsFunctions;\nimport com.pulumi.alicloud.cs.inputs.GetKubernetesAddonsArgs;\nimport com.pulumi.alicloud.cs.KubernetesAddon;\nimport com.pulumi.alicloud.cs.KubernetesAddonArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(false)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .addons(ManagedKubernetesAddonArgs.builder()\n .name(\"logtail-ds\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .disabled(false)\n .build())\n .build());\n\n // data source provides the information of available addons\n final var defaultGetKubernetesAddons = CsFunctions.getKubernetesAddons(GetKubernetesAddonsArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .nameRegex(\"logtail-ds\")\n .build());\n\n // Manage addon resource\n var logtail_ds = new KubernetesAddon(\"logtail-ds\", KubernetesAddonArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .name(\"logtail-ds\")\n .version(\"v1.6.0.0-aliyun\")\n .config(serializeJson(\n jsonObject(\n\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: false\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true # By defining the addons attribute in cluster resource, it indicates that the addon will be installed when creating a cluster\n addons:\n - name: logtail-ds\n config:\n fn::toJSON:\n IngressDashboardEnabled: 'true'\n disabled: false\n # Manage addon resource\n logtail-ds:\n type: alicloud:cs:KubernetesAddon\n properties:\n clusterId: ${defaultManagedKubernetes.id}\n name: logtail-ds\n version: v1.6.0.0-aliyun\n config:\n fn::toJSON: {}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n # data source provides the information of available addons\n defaultGetKubernetesAddons:\n fn::invoke:\n function: alicloud:cs:getKubernetesAddons\n arguments:\n clusterId: ${defaultManagedKubernetes.id}\n nameRegex: logtail-ds\n```\n\u003c!--End PulumiCodeChooser --\u003e\n**Installing of addon**\nWhen a cluster is created, some system addons and those specified at the time of cluster creation will be installed, so when an addon resource is applied:\n* If the addon already exists in the cluster and its version is the same as the specified version, it will be skipped and will not be reinstalled.\n* If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded.\n* If the addon does not exist in the cluster, it will be installed.\n\n## Import\n\nCluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/kubernetesAddon:KubernetesAddon my_addon \u003ccluster_id\u003e:\u003caddon_name\u003e\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: false,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n addons: [{\n name: \"logtail-ds\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n disabled: false,\n }],\n});\n// data source provides the information of available addons\nconst defaultGetKubernetesAddons = alicloud.cs.getKubernetesAddonsOutput({\n clusterId: defaultManagedKubernetes.id,\n nameRegex: \"logtail-ds\",\n});\n// Manage addon resource\nconst logtail_ds = new alicloud.cs.KubernetesAddon(\"logtail-ds\", {\n clusterId: defaultManagedKubernetes.id,\n name: \"logtail-ds\",\n version: \"v1.6.0.0-aliyun\",\n config: JSON.stringify({}),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=False,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True,\n addons=[{\n \"name\": \"logtail-ds\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n \"disabled\": False,\n }])\n# data source provides the information of available addons\ndefault_get_kubernetes_addons = alicloud.cs.get_kubernetes_addons_output(cluster_id=default_managed_kubernetes.id,\n name_regex=\"logtail-ds\")\n# Manage addon resource\nlogtail_ds = alicloud.cs.KubernetesAddon(\"logtail-ds\",\n cluster_id=default_managed_kubernetes.id,\n name=\"logtail-ds\",\n version=\"v1.6.0.0-aliyun\",\n config=json.dumps({}))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = false,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"logtail-ds\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n Disabled = false,\n },\n },\n });\n\n // data source provides the information of available addons\n var defaultGetKubernetesAddons = AliCloud.CS.GetKubernetesAddons.Invoke(new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n NameRegex = \"logtail-ds\",\n });\n\n // Manage addon resource\n var logtail_ds = new AliCloud.CS.KubernetesAddon(\"logtail-ds\", new()\n {\n ClusterId = defaultManagedKubernetes.Id,\n Name = \"logtail-ds\",\n Version = \"v1.6.0.0-aliyun\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\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\"IngressDashboardEnabled\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(false),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tAddons: cs.ManagedKubernetesAddonArray{\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"logtail-ds\"),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t\tDisabled: 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\t// data source provides the information of available addons\n\t\t_ = cs.GetKubernetesAddonsOutput(ctx, cs.GetKubernetesAddonsOutputArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tNameRegex: pulumi.String(\"logtail-ds\"),\n\t\t}, nil)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// Manage addon resource\n\t\t_, err = cs.NewKubernetesAddon(ctx, \"logtail-ds\", \u0026cs.KubernetesAddonArgs{\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tName: pulumi.String(\"logtail-ds\"),\n\t\t\tVersion: pulumi.String(\"v1.6.0.0-aliyun\"),\n\t\t\tConfig: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.CsFunctions;\nimport com.pulumi.alicloud.cs.inputs.GetKubernetesAddonsArgs;\nimport com.pulumi.alicloud.cs.KubernetesAddon;\nimport com.pulumi.alicloud.cs.KubernetesAddonArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(false)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .addons(ManagedKubernetesAddonArgs.builder()\n .name(\"logtail-ds\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .disabled(false)\n .build())\n .build());\n\n // data source provides the information of available addons\n final var defaultGetKubernetesAddons = CsFunctions.getKubernetesAddons(GetKubernetesAddonsArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .nameRegex(\"logtail-ds\")\n .build());\n\n // Manage addon resource\n var logtail_ds = new KubernetesAddon(\"logtail-ds\", KubernetesAddonArgs.builder()\n .clusterId(defaultManagedKubernetes.id())\n .name(\"logtail-ds\")\n .version(\"v1.6.0.0-aliyun\")\n .config(serializeJson(\n jsonObject(\n\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: false\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true # By defining the addons attribute in cluster resource, it indicates that the addon will be installed when creating a cluster\n addons:\n - name: logtail-ds\n config:\n fn::toJSON:\n IngressDashboardEnabled: 'true'\n disabled: false\n # Manage addon resource\n logtail-ds:\n type: alicloud:cs:KubernetesAddon\n properties:\n clusterId: ${defaultManagedKubernetes.id}\n name: logtail-ds\n version: v1.6.0.0-aliyun\n config:\n fn::toJSON: {}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n # data source provides the information of available addons\n defaultGetKubernetesAddons:\n fn::invoke:\n function: alicloud:cs:getKubernetesAddons\n arguments:\n clusterId: ${defaultManagedKubernetes.id}\n nameRegex: logtail-ds\n```\n\u003c!--End PulumiCodeChooser --\u003e\n**Installing of addon**\nWhen a cluster is created, some system addons and those specified at the time of cluster creation will be installed, so when an addon resource is applied:\n* If the addon already exists in the cluster and its version is the same as the specified version, it will be skipped and will not be reinstalled.\n* If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded.\n* If the addon does not exist in the cluster, it will be installed.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/kubernetesAddon:KubernetesAddon my_addon \u003ccluster_id\u003e:\u003caddon_name\u003e\n```\n\n", "properties": { "canUpgrade": { "type": "boolean", @@ -132253,7 +134724,7 @@ } }, "alicloud:cs/kubernetesPermission:KubernetesPermission": { - "description": "This resource will help you implement RBAC authorization for the kubernetes cluster, see [What is kubernetes permissions](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/api-grantpermissions).\n\n\u003e **NOTE:** Please make sure that the target RAM user has been granted a RAM policy with at least read-only permission of the target cluster in the RAM console. Otherwise, the `ErrorRamPolicyConfig` error will be returned. \nFor more information about how to authorize a RAM user by attaching RAM policies, see [Create a custom RAM policy](https://www.alibabacloud.com/help/doc-detail/86485.htm).\n\n\u003e **NOTE:** If you call this operation as a RAM user, make sure that this RAM user has the permissions to grant other RAM users the permissions to manage ACK clusters. Otherwise, the `StatusForbidden` or `ForbiddenGrantPermissions` errors will be returned. For more information, see [Use a RAM user to grant RBAC permissions to other RAM users](https://www.alibabacloud.com/help/faq-detail/119035.htm).\n\n\u003e **NOTE:** This operation overwrites the permissions that have been granted to the specified RAM user. When you call this operation, make sure that the required permissions are included.\n\n\u003e **NOTE:** Available since v1.122.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n];\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\nconst podCidr = config.get(\"podCidr\") || \"172.16.0.0/16\";\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst _default = alicloud.cs.getKubernetesVersion({\n clusterType: \"ManagedKubernetes\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {cidrBlock: vpcCidr});\n// According to the vswitch cidr blocks to launch several vswitches\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c vswitchCidrs.length; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: vpc.id,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\n// Create a new RAM cluster.\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: _default.then(_default =\u003e _default.metadatas?.[0]?.version),\n workerVswitchIds: std.joinOutput({\n separator: \",\",\n input: defaultSwitch.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n newNatGateway: false,\n podCidr: podCidr,\n serviceCidr: serviceCidr,\n slbInternetEnabled: false,\n});\n// Create a new RAM user.\nconst user = new alicloud.ram.User(\"user\", {name: `${name}-${defaultInteger.result}`});\n// Create a cluster permission for user.\nconst defaultKubernetesPermission = new alicloud.cs.KubernetesPermission(\"default\", {\n uid: user.id,\n permissions: [{\n cluster: defaultManagedKubernetes.id,\n roleType: \"cluster\",\n roleName: \"admin\",\n namespace: \"\",\n isCustom: false,\n isRamRole: false,\n }],\n});\nconst attach = new alicloud.cs.KubernetesPermission(\"attach\", {\n uid: user.id,\n permissions: [{\n cluster: defaultManagedKubernetes.id,\n roleType: \"namespace\",\n roleName: \"cs:dev\",\n namespace: \"default\",\n isCustom: true,\n isRamRole: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n ]\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\npod_cidr = config.get(\"podCidr\")\nif pod_cidr is None:\n pod_cidr = \"172.16.0.0/16\"\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault = alicloud.cs.get_kubernetes_version(cluster_type=\"ManagedKubernetes\")\nvpc = alicloud.vpc.Network(\"vpc\", cidr_block=vpc_cidr)\n# According to the vswitch cidr blocks to launch several vswitches\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, len(vswitch_cidrs))]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=vpc.id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\n# Create a new RAM cluster.\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=default.metadatas[0].version,\n worker_vswitch_ids=std.join_output(separator=\",\",\n input=[__item.id for __item in default_switch]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n new_nat_gateway=False,\n pod_cidr=pod_cidr,\n service_cidr=service_cidr,\n slb_internet_enabled=False)\n# Create a new RAM user.\nuser = alicloud.ram.User(\"user\", name=f\"{name}-{default_integer['result']}\")\n# Create a cluster permission for user.\ndefault_kubernetes_permission = alicloud.cs.KubernetesPermission(\"default\",\n uid=user.id,\n permissions=[{\n \"cluster\": default_managed_kubernetes.id,\n \"role_type\": \"cluster\",\n \"role_name\": \"admin\",\n \"namespace\": \"\",\n \"is_custom\": False,\n \"is_ram_role\": False,\n }])\nattach = alicloud.cs.KubernetesPermission(\"attach\",\n uid=user.id,\n permissions=[{\n \"cluster\": default_managed_kubernetes.id,\n \"role_type\": \"namespace\",\n \"role_name\": \"cs:dev\",\n \"namespace\": \"default\",\n \"is_custom\": True,\n \"is_ram_role\": False,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n // The cidr block used to launch a new vpc when 'vpc_id' is not specified.\n var vpcCidr = config.Get(\"vpcCidr\") ?? \"10.0.0.0/8\";\n // List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\n var vswitchCidrs = config.GetObject\u003cstring[]\u003e(\"vswitchCidrs\") ?? new[]\n {\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n };\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\n var podCidr = config.Get(\"podCidr\") ?? \"172.16.0.0/16\";\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var @default = AliCloud.CS.GetKubernetesVersion.Invoke(new()\n {\n ClusterType = \"ManagedKubernetes\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = vpcCidr,\n });\n\n // According to the vswitch cidr blocks to launch several vswitches\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c vswitchCidrs.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = vswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n // Create a new RAM cluster.\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = @default.Apply(@default =\u003e @default.Apply(getKubernetesVersionResult =\u003e getKubernetesVersionResult.Metadatas[0]?.Version)),\n WorkerVswitchIds = Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = defaultSwitch.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n NewNatGateway = false,\n PodCidr = podCidr,\n ServiceCidr = serviceCidr,\n SlbInternetEnabled = false,\n });\n\n // Create a new RAM user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n });\n\n // Create a cluster permission for user.\n var defaultKubernetesPermission = new AliCloud.CS.KubernetesPermission(\"default\", new()\n {\n Uid = user.Id,\n Permissions = new[]\n {\n new AliCloud.CS.Inputs.KubernetesPermissionPermissionArgs\n {\n Cluster = defaultManagedKubernetes.Id,\n RoleType = \"cluster\",\n RoleName = \"admin\",\n Namespace = \"\",\n IsCustom = false,\n IsRamRole = false,\n },\n },\n });\n\n var attach = new AliCloud.CS.KubernetesPermission(\"attach\", new()\n {\n Uid = user.Id,\n Permissions = new[]\n {\n new AliCloud.CS.Inputs.KubernetesPermissionPermissionArgs\n {\n Cluster = defaultManagedKubernetes.Id,\n RoleType = \"namespace\",\n RoleName = \"cs:dev\",\n Namespace = \"default\",\n IsCustom = true,\n IsRamRole = false,\n },\n },\n });\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.cs.CsFunctions;\nimport com.pulumi.alicloud.cs.inputs.GetKubernetesVersionArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.std.inputs.SplitArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.cs.KubernetesPermission;\nimport com.pulumi.alicloud.cs.KubernetesPermissionArgs;\nimport com.pulumi.alicloud.cs.inputs.KubernetesPermissionPermissionArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var vpcCidr = config.get(\"vpcCidr\").orElse(\"10.0.0.0/8\");\n final var vswitchCidrs = config.get(\"vswitchCidrs\").orElse(List.of( \n \"10.1.0.0/16\",\n \"10.2.0.0/16\"));\n final var podCidr = config.get(\"podCidr\").orElse(\"172.16.0.0/16\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n final var default = CsFunctions.getKubernetesVersion(GetKubernetesVersionArgs.builder()\n .clusterType(\"ManagedKubernetes\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(vpcCidr)\n .build());\n\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c vswitchCidrs.length(); i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(vswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n // Create a new RAM cluster.\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(default_.metadatas()[0].version())\n .workerVswitchIds(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(defaultSwitch.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .newNatGateway(false)\n .podCidr(podCidr)\n .serviceCidr(serviceCidr)\n .slbInternetEnabled(false)\n .build());\n\n // Create a new RAM user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n // Create a cluster permission for user.\n var defaultKubernetesPermission = new KubernetesPermission(\"defaultKubernetesPermission\", KubernetesPermissionArgs.builder()\n .uid(user.id())\n .permissions(KubernetesPermissionPermissionArgs.builder()\n .cluster(defaultManagedKubernetes.id())\n .roleType(\"cluster\")\n .roleName(\"admin\")\n .namespace(\"\")\n .isCustom(false)\n .isRamRole(false)\n .build())\n .build());\n\n var attach = new KubernetesPermission(\"attach\", KubernetesPermissionArgs.builder()\n .uid(user.id())\n .permissions(KubernetesPermissionPermissionArgs.builder()\n .cluster(defaultManagedKubernetes.id())\n .roleType(\"namespace\")\n .roleName(\"cs:dev\")\n .namespace(\"default\")\n .isCustom(true)\n .isRamRole(false)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource will help you implement RBAC authorization for the kubernetes cluster, see [What is kubernetes permissions](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/api-grantpermissions).\n\n\u003e **NOTE:** Please make sure that the target RAM user has been granted a RAM policy with at least read-only permission of the target cluster in the RAM console. Otherwise, the `ErrorRamPolicyConfig` error will be returned. \nFor more information about how to authorize a RAM user by attaching RAM policies, see [Create a custom RAM policy](https://www.alibabacloud.com/help/doc-detail/86485.htm).\n\n\u003e **NOTE:** If you call this operation as a RAM user, make sure that this RAM user has the permissions to grant other RAM users the permissions to manage ACK clusters. Otherwise, the `StatusForbidden` or `ForbiddenGrantPermissions` errors will be returned. For more information, see [Use a RAM user to grant RBAC permissions to other RAM users](https://www.alibabacloud.com/help/faq-detail/119035.htm).\n\n\u003e **NOTE:** This operation overwrites the permissions that have been granted to the specified RAM user. When you call this operation, make sure that the required permissions are included.\n\n\u003e **NOTE:** Available since v1.122.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n];\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\nconst podCidr = config.get(\"podCidr\") || \"172.16.0.0/16\";\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst _default = alicloud.cs.getKubernetesVersion({\n clusterType: \"ManagedKubernetes\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {cidrBlock: vpcCidr});\n// According to the vswitch cidr blocks to launch several vswitches\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c vswitchCidrs.length; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: vpc.id,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\n// Create a new RAM cluster.\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n clusterSpec: \"ack.pro.small\",\n version: _default.then(_default =\u003e _default.metadatas?.[0]?.version),\n workerVswitchIds: std.joinOutput({\n separator: \",\",\n input: defaultSwitch.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n newNatGateway: false,\n podCidr: podCidr,\n serviceCidr: serviceCidr,\n slbInternetEnabled: false,\n});\n// Create a new RAM user.\nconst user = new alicloud.ram.User(\"user\", {name: `${name}-${defaultInteger.result}`});\n// Create a cluster permission for user.\nconst defaultKubernetesPermission = new alicloud.cs.KubernetesPermission(\"default\", {\n uid: user.id,\n permissions: [{\n cluster: defaultManagedKubernetes.id,\n roleType: \"cluster\",\n roleName: \"admin\",\n namespace: \"\",\n isCustom: false,\n isRamRole: false,\n }],\n});\nconst attach = new alicloud.cs.KubernetesPermission(\"attach\", {\n uid: user.id,\n permissions: [{\n cluster: defaultManagedKubernetes.id,\n roleType: \"namespace\",\n roleName: \"cs:dev\",\n namespace: \"default\",\n isCustom: true,\n isRamRole: false,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n ]\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\npod_cidr = config.get(\"podCidr\")\nif pod_cidr is None:\n pod_cidr = \"172.16.0.0/16\"\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault = alicloud.cs.get_kubernetes_version(cluster_type=\"ManagedKubernetes\")\nvpc = alicloud.vpc.Network(\"vpc\", cidr_block=vpc_cidr)\n# According to the vswitch cidr blocks to launch several vswitches\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, len(vswitch_cidrs))]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=vpc.id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\n# Create a new RAM cluster.\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n cluster_spec=\"ack.pro.small\",\n version=default.metadatas[0].version,\n worker_vswitch_ids=std.join_output(separator=\",\",\n input=[__item.id for __item in default_switch]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n new_nat_gateway=False,\n pod_cidr=pod_cidr,\n service_cidr=service_cidr,\n slb_internet_enabled=False)\n# Create a new RAM user.\nuser = alicloud.ram.User(\"user\", name=f\"{name}-{default_integer['result']}\")\n# Create a cluster permission for user.\ndefault_kubernetes_permission = alicloud.cs.KubernetesPermission(\"default\",\n uid=user.id,\n permissions=[{\n \"cluster\": default_managed_kubernetes.id,\n \"role_type\": \"cluster\",\n \"role_name\": \"admin\",\n \"namespace\": \"\",\n \"is_custom\": False,\n \"is_ram_role\": False,\n }])\nattach = alicloud.cs.KubernetesPermission(\"attach\",\n uid=user.id,\n permissions=[{\n \"cluster\": default_managed_kubernetes.id,\n \"role_type\": \"namespace\",\n \"role_name\": \"cs:dev\",\n \"namespace\": \"default\",\n \"is_custom\": True,\n \"is_ram_role\": False,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n // The cidr block used to launch a new vpc when 'vpc_id' is not specified.\n var vpcCidr = config.Get(\"vpcCidr\") ?? \"10.0.0.0/8\";\n // List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\n var vswitchCidrs = config.GetObject\u003cstring[]\u003e(\"vswitchCidrs\") ?? new[]\n {\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n };\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or service's and cannot be in them.\n var podCidr = config.Get(\"podCidr\") ?? \"172.16.0.0/16\";\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var @default = AliCloud.CS.GetKubernetesVersion.Invoke(new()\n {\n ClusterType = \"ManagedKubernetes\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = vpcCidr,\n });\n\n // According to the vswitch cidr blocks to launch several vswitches\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c vswitchCidrs.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = vswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n // Create a new RAM cluster.\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Version = @default.Apply(@default =\u003e @default.Apply(getKubernetesVersionResult =\u003e getKubernetesVersionResult.Metadatas[0]?.Version)),\n WorkerVswitchIds = Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = defaultSwitch.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n NewNatGateway = false,\n PodCidr = podCidr,\n ServiceCidr = serviceCidr,\n SlbInternetEnabled = false,\n });\n\n // Create a new RAM user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n });\n\n // Create a cluster permission for user.\n var defaultKubernetesPermission = new AliCloud.CS.KubernetesPermission(\"default\", new()\n {\n Uid = user.Id,\n Permissions = new[]\n {\n new AliCloud.CS.Inputs.KubernetesPermissionPermissionArgs\n {\n Cluster = defaultManagedKubernetes.Id,\n RoleType = \"cluster\",\n RoleName = \"admin\",\n Namespace = \"\",\n IsCustom = false,\n IsRamRole = false,\n },\n },\n });\n\n var attach = new AliCloud.CS.KubernetesPermission(\"attach\", new()\n {\n Uid = user.Id,\n Permissions = new[]\n {\n new AliCloud.CS.Inputs.KubernetesPermissionPermissionArgs\n {\n Cluster = defaultManagedKubernetes.Id,\n RoleType = \"namespace\",\n RoleName = \"cs:dev\",\n Namespace = \"default\",\n IsCustom = true,\n IsRamRole = false,\n },\n },\n });\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.cs.CsFunctions;\nimport com.pulumi.alicloud.cs.inputs.GetKubernetesVersionArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.std.inputs.SplitArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.cs.KubernetesPermission;\nimport com.pulumi.alicloud.cs.KubernetesPermissionArgs;\nimport com.pulumi.alicloud.cs.inputs.KubernetesPermissionPermissionArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var vpcCidr = config.get(\"vpcCidr\").orElse(\"10.0.0.0/8\");\n final var vswitchCidrs = config.get(\"vswitchCidrs\").orElse(List.of( \n \"10.1.0.0/16\",\n \"10.2.0.0/16\"));\n final var podCidr = config.get(\"podCidr\").orElse(\"172.16.0.0/16\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n final var default = CsFunctions.getKubernetesVersion(GetKubernetesVersionArgs.builder()\n .clusterType(\"ManagedKubernetes\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(vpcCidr)\n .build());\n\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c vswitchCidrs.length(); i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(vswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n // Create a new RAM cluster.\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterSpec(\"ack.pro.small\")\n .version(default_.metadatas()[0].version())\n .workerVswitchIds(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(defaultSwitch.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .newNatGateway(false)\n .podCidr(podCidr)\n .serviceCidr(serviceCidr)\n .slbInternetEnabled(false)\n .build());\n\n // Create a new RAM user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n // Create a cluster permission for user.\n var defaultKubernetesPermission = new KubernetesPermission(\"defaultKubernetesPermission\", KubernetesPermissionArgs.builder()\n .uid(user.id())\n .permissions(KubernetesPermissionPermissionArgs.builder()\n .cluster(defaultManagedKubernetes.id())\n .roleType(\"cluster\")\n .roleName(\"admin\")\n .namespace(\"\")\n .isCustom(false)\n .isRamRole(false)\n .build())\n .build());\n\n var attach = new KubernetesPermission(\"attach\", KubernetesPermissionArgs.builder()\n .uid(user.id())\n .permissions(KubernetesPermissionPermissionArgs.builder()\n .cluster(defaultManagedKubernetes.id())\n .roleType(\"namespace\")\n .roleName(\"cs:dev\")\n .namespace(\"default\")\n .isCustom(true)\n .isRamRole(false)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "permissions": { "type": "array", @@ -132306,8 +134777,120 @@ "type": "object" } }, + "alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance": { + "description": "Provides a Container Service for Kubernetes (ACK) Policy Instance resource.\n\nFor information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n];\nconst clusterName = config.get(\"clusterName\") || \"example-create-cluster\";\nconst podCidr = config.get(\"podCidr\") || \"172.16.0.0/16\";\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\nconst policyName = config.get(\"policyName\") || \"ACKPSPHostNetworkingPorts\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst createVPC = new alicloud.vpc.Network(\"CreateVPC\", {cidrBlock: vpcCidr});\n// According to the vswitch cidr blocks to launch several vswitches\nconst createVSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c vswitchCidrs.length; range.value++) {\n createVSwitch.push(new alicloud.vpc.Switch(`CreateVSwitch-${range.value}`, {\n vpcId: createVPC.id,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\nconst createCluster = new alicloud.cs.ManagedKubernetes(\"CreateCluster\", {\n name: `${clusterName}-${_default.result}`,\n clusterSpec: \"ack.pro.small\",\n profile: \"Default\",\n vswitchIds: std.joinOutput({\n separator: \",\",\n input: createVSwitch.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n podCidr: podCidr,\n serviceCidr: serviceCidr,\n isEnterpriseSecurityGroup: true,\n ipStack: \"ipv4\",\n proxyMode: \"ipvs\",\n deletionProtection: false,\n addons: [\n {\n name: \"gatekeeper\",\n },\n {\n name: \"loongcollector\",\n },\n {\n name: \"policy-template-controller\",\n },\n ],\n operationPolicy: {\n clusterAutoUpgrade: {\n enabled: false,\n },\n },\n maintenanceWindow: {\n enable: false,\n },\n});\nconst defaultKubernetesPolicyInstance = new alicloud.cs.KubernetesPolicyInstance(\"default\", {\n clusterId: createCluster.id,\n policyName: policyName,\n action: \"deny\",\n namespaces: [\"test\"],\n parameters: {\n hostNetwork: \"true\",\n min: \"20\",\n max: \"200\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n ]\ncluster_name = config.get(\"clusterName\")\nif cluster_name is None:\n cluster_name = \"example-create-cluster\"\npod_cidr = config.get(\"podCidr\")\nif pod_cidr is None:\n pod_cidr = \"172.16.0.0/16\"\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\npolicy_name = config.get(\"policyName\")\nif policy_name is None:\n policy_name = \"ACKPSPHostNetworkingPorts\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ncreate_vpc = alicloud.vpc.Network(\"CreateVPC\", cidr_block=vpc_cidr)\n# According to the vswitch cidr blocks to launch several vswitches\ncreate_v_switch = []\nfor range in [{\"value\": i} for i in range(0, len(vswitch_cidrs))]:\n create_v_switch.append(alicloud.vpc.Switch(f\"CreateVSwitch-{range['value']}\",\n vpc_id=create_vpc.id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\ncreate_cluster = alicloud.cs.ManagedKubernetes(\"CreateCluster\",\n name=f\"{cluster_name}-{default['result']}\",\n cluster_spec=\"ack.pro.small\",\n profile=\"Default\",\n vswitch_ids=std.join_output(separator=\",\",\n input=[__item.id for __item in create_v_switch]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n pod_cidr=pod_cidr,\n service_cidr=service_cidr,\n is_enterprise_security_group=True,\n ip_stack=\"ipv4\",\n proxy_mode=\"ipvs\",\n deletion_protection=False,\n addons=[\n {\n \"name\": \"gatekeeper\",\n },\n {\n \"name\": \"loongcollector\",\n },\n {\n \"name\": \"policy-template-controller\",\n },\n ],\n operation_policy={\n \"cluster_auto_upgrade\": {\n \"enabled\": False,\n },\n },\n maintenance_window={\n \"enable\": False,\n })\ndefault_kubernetes_policy_instance = alicloud.cs.KubernetesPolicyInstance(\"default\",\n cluster_id=create_cluster.id,\n policy_name=policy_name,\n action=\"deny\",\n namespaces=[\"test\"],\n parameters={\n \"hostNetwork\": \"true\",\n \"min\": \"20\",\n \"max\": \"200\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var vpcCidr = config.Get(\"vpcCidr\") ?? \"10.0.0.0/8\";\n var vswitchCidrs = config.GetObject\u003cstring[]\u003e(\"vswitchCidrs\") ?? new[]\n {\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n };\n var clusterName = config.Get(\"clusterName\") ?? \"example-create-cluster\";\n var podCidr = config.Get(\"podCidr\") ?? \"172.16.0.0/16\";\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n var policyName = config.Get(\"policyName\") ?? \"ACKPSPHostNetworkingPorts\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var createVPC = new AliCloud.Vpc.Network(\"CreateVPC\", new()\n {\n CidrBlock = vpcCidr,\n });\n\n // According to the vswitch cidr blocks to launch several vswitches\n var createVSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c vswitchCidrs.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n createVSwitch.Add(new AliCloud.Vpc.Switch($\"CreateVSwitch-{range.Value}\", new()\n {\n VpcId = createVPC.Id,\n CidrBlock = vswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n var createCluster = new AliCloud.CS.ManagedKubernetes(\"CreateCluster\", new()\n {\n Name = $\"{clusterName}-{@default.Result}\",\n ClusterSpec = \"ack.pro.small\",\n Profile = \"Default\",\n VswitchIds = Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = createVSwitch.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n PodCidr = podCidr,\n ServiceCidr = serviceCidr,\n IsEnterpriseSecurityGroup = true,\n IpStack = \"ipv4\",\n ProxyMode = \"ipvs\",\n DeletionProtection = false,\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"gatekeeper\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"loongcollector\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"policy-template-controller\",\n },\n },\n OperationPolicy = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyArgs\n {\n ClusterAutoUpgrade = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs\n {\n Enabled = false,\n },\n },\n MaintenanceWindow = new AliCloud.CS.Inputs.ManagedKubernetesMaintenanceWindowArgs\n {\n Enable = false,\n },\n });\n\n var defaultKubernetesPolicyInstance = new AliCloud.CS.KubernetesPolicyInstance(\"default\", new()\n {\n ClusterId = createCluster.Id,\n PolicyName = policyName,\n Action = \"deny\",\n Namespaces = new[]\n {\n \"test\",\n },\n Parameters = \n {\n { \"hostNetwork\", \"true\" },\n { \"min\", \"20\" },\n { \"max\", \"200\" },\n },\n });\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesMaintenanceWindowArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.std.inputs.SplitArgs;\nimport com.pulumi.alicloud.cs.KubernetesPolicyInstance;\nimport com.pulumi.alicloud.cs.KubernetesPolicyInstanceArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcCidr = config.get(\"vpcCidr\").orElse(\"10.0.0.0/8\");\n final var vswitchCidrs = config.get(\"vswitchCidrs\").orElse(List.of( \n \"10.1.0.0/16\",\n \"10.2.0.0/16\"));\n final var clusterName = config.get(\"clusterName\").orElse(\"example-create-cluster\");\n final var podCidr = config.get(\"podCidr\").orElse(\"172.16.0.0/16\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var policyName = config.get(\"policyName\").orElse(\"ACKPSPHostNetworkingPorts\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var createVPC = new Network(\"createVPC\", NetworkArgs.builder()\n .cidrBlock(vpcCidr)\n .build());\n\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c vswitchCidrs.length(); i++) {\n new Switch(\"createVSwitch-\" + i, SwitchArgs.builder()\n .vpcId(createVPC.id())\n .cidrBlock(vswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var createCluster = new ManagedKubernetes(\"createCluster\", ManagedKubernetesArgs.builder()\n .name(String.format(\"%s-%s\", clusterName,default_.result()))\n .clusterSpec(\"ack.pro.small\")\n .profile(\"Default\")\n .vswitchIds(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(createVSwitch.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .podCidr(podCidr)\n .serviceCidr(serviceCidr)\n .isEnterpriseSecurityGroup(true)\n .ipStack(\"ipv4\")\n .proxyMode(\"ipvs\")\n .deletionProtection(false)\n .addons( \n ManagedKubernetesAddonArgs.builder()\n .name(\"gatekeeper\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"loongcollector\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"policy-template-controller\")\n .build())\n .operationPolicy(ManagedKubernetesOperationPolicyArgs.builder()\n .clusterAutoUpgrade(ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs.builder()\n .enabled(false)\n .build())\n .build())\n .maintenanceWindow(ManagedKubernetesMaintenanceWindowArgs.builder()\n .enable(false)\n .build())\n .build());\n\n var defaultKubernetesPolicyInstance = new KubernetesPolicyInstance(\"defaultKubernetesPolicyInstance\", KubernetesPolicyInstanceArgs.builder()\n .clusterId(createCluster.id())\n .policyName(policyName)\n .action(\"deny\")\n .namespaces(\"test\")\n .parameters(Map.ofEntries(\n Map.entry(\"hostNetwork\", \"true\"),\n Map.entry(\"min\", \"20\"),\n Map.entry(\"max\", \"200\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example \u003ccluster_id\u003e:\u003cpolicy_name\u003e:\u003cinstance_name\u003e\n```\n\n", + "properties": { + "action": { + "type": "string", + "description": "Policy Governance Implementation Actions\n" + }, + "clusterId": { + "type": "string", + "description": "Target cluster ID\n" + }, + "instanceName": { + "type": "string", + "description": "Rule Instance Name\n" + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Limits the namespace of the policy implementation. Empty indicates all namespaces.\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html).\n" + }, + "policyName": { + "type": "string", + "description": "Policy Name\n" + } + }, + "required": [ + "clusterId", + "instanceName", + "policyName" + ], + "inputProperties": { + "action": { + "type": "string", + "description": "Policy Governance Implementation Actions\n" + }, + "clusterId": { + "type": "string", + "description": "Target cluster ID\n", + "willReplaceOnChanges": true + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Limits the namespace of the policy implementation. Empty indicates all namespaces.\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html).\n" + }, + "policyName": { + "type": "string", + "description": "Policy Name\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "clusterId", + "policyName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering KubernetesPolicyInstance resources.\n", + "properties": { + "action": { + "type": "string", + "description": "Policy Governance Implementation Actions\n" + }, + "clusterId": { + "type": "string", + "description": "Target cluster ID\n", + "willReplaceOnChanges": true + }, + "instanceName": { + "type": "string", + "description": "Rule Instance Name\n" + }, + "namespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Limits the namespace of the policy implementation. Empty indicates all namespaces.\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html).\n" + }, + "policyName": { + "type": "string", + "description": "Policy Name\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:cs/managedKubernetes:ManagedKubernetes": { - "description": "This resource will help you to manage a ManagedKubernetes Cluster in Alibaba Cloud Kubernetes Service. \n\n\u003e **NOTE:** Available since v1.26.0.\n\n\u003e **NOTE:** It is recommended to create a cluster with zero worker nodes, and then use a node pool to manage the cluster nodes. \n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** From version 1.9.4, the provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** From version 1.20.0, the provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.72.0, Some parameters have been removed from resource,You can check them below and re-import the cluster if necessary.\n\n\u003e **NOTE:** From version 1.120.0, Support for cluster migration from Standard cluster to professional.\n\n\u003e **NOTE:** From version 1.177.0, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`enableSsh`\" pulumi-lang-dotnet=\"`EnableSsh`\" pulumi-lang-go=\"`enableSsh`\" pulumi-lang-python=\"`enable_ssh`\" pulumi-lang-yaml=\"`enableSsh`\" pulumi-lang-java=\"`enableSsh`\"\u003e`enable_ssh`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`rdsInstances`\" pulumi-lang-dotnet=\"`RdsInstances`\" pulumi-lang-go=\"`rdsInstances`\" pulumi-lang-python=\"`rds_instances`\" pulumi-lang-yaml=\"`rdsInstances`\" pulumi-lang-java=\"`rdsInstances`\"\u003e`rds_instances`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptionContext`\" pulumi-lang-dotnet=\"`KmsEncryptionContext`\" pulumi-lang-go=\"`kmsEncryptionContext`\" pulumi-lang-python=\"`kms_encryption_context`\" pulumi-lang-yaml=\"`kmsEncryptionContext`\" pulumi-lang-java=\"`kmsEncryptionContext`\"\u003e`kms_encryption_context`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodeNameMode`\" pulumi-lang-dotnet=\"`NodeNameMode`\" pulumi-lang-go=\"`nodeNameMode`\" pulumi-lang-python=\"`node_name_mode`\" pulumi-lang-yaml=\"`nodeNameMode`\" pulumi-lang-java=\"`nodeNameMode`\"\u003e`node_name_mode`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`installCloudMonitor`\" pulumi-lang-dotnet=\"`InstallCloudMonitor`\" pulumi-lang-go=\"`installCloudMonitor`\" pulumi-lang-python=\"`install_cloud_monitor`\" pulumi-lang-yaml=\"`installCloudMonitor`\" pulumi-lang-java=\"`installCloudMonitor`\"\u003e`install_cloud_monitor`\u003c/span\u003e are deprecated.\nWe Suggest you using resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n\u003e **NOTE:** From version 1.212.0, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`enableSsh`\" pulumi-lang-dotnet=\"`EnableSsh`\" pulumi-lang-go=\"`enableSsh`\" pulumi-lang-python=\"`enable_ssh`\" pulumi-lang-yaml=\"`enableSsh`\" pulumi-lang-java=\"`enableSsh`\"\u003e`enable_ssh`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`rdsInstances`\" pulumi-lang-dotnet=\"`RdsInstances`\" pulumi-lang-go=\"`rdsInstances`\" pulumi-lang-python=\"`rds_instances`\" pulumi-lang-yaml=\"`rdsInstances`\" pulumi-lang-java=\"`rdsInstances`\"\u003e`rds_instances`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptionContext`\" pulumi-lang-dotnet=\"`KmsEncryptionContext`\" pulumi-lang-go=\"`kmsEncryptionContext`\" pulumi-lang-python=\"`kms_encryption_context`\" pulumi-lang-yaml=\"`kmsEncryptionContext`\" pulumi-lang-java=\"`kmsEncryptionContext`\"\u003e`kms_encryption_context`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodeNameMode`\" pulumi-lang-dotnet=\"`NodeNameMode`\" pulumi-lang-go=\"`nodeNameMode`\" pulumi-lang-python=\"`node_name_mode`\" pulumi-lang-yaml=\"`nodeNameMode`\" pulumi-lang-java=\"`nodeNameMode`\"\u003e`node_name_mode`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`installCloudMonitor`\" pulumi-lang-dotnet=\"`InstallCloudMonitor`\" pulumi-lang-go=\"`installCloudMonitor`\" pulumi-lang-python=\"`install_cloud_monitor`\" pulumi-lang-yaml=\"`installCloudMonitor`\" pulumi-lang-java=\"`installCloudMonitor`\"\u003e`install_cloud_monitor`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`availabilityZone`\" pulumi-lang-dotnet=\"`AvailabilityZone`\" pulumi-lang-go=\"`availabilityZone`\" pulumi-lang-python=\"`availability_zone`\" pulumi-lang-yaml=\"`availabilityZone`\" pulumi-lang-java=\"`availabilityZone`\"\u003e`availability_zone`\u003c/span\u003e are removed.\nPlease use resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n## Example Usage\n\nACK cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\n// Existing vpc id used to create several vswitches and other resources.\nconst vpcId = config.get(\"vpcId\") || \"\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of existing vswitch id.\nconst vswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n];\n// Proxy mode is option of kube-proxy.\nconst proxyMode = config.get(\"proxyMode\") || \"ipvs\";\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\n// List of existing vswitch ids for terway.\nconst terwayVswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nconst terwayVswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchCidrs\") || [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n];\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\n// If there is not specifying vpc_id, the module will launch a new vpc\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {cidrBlock: vpcCidr}));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst vswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchIds.length \u003e 0 ? 0 : vswitchCidrs.length); range.value++) {\n vswitches.push(new alicloud.vpc.Switch(`vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst terwayVswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (terwayVswitchIds.length \u003e 0 ? 0 : terwayVswitchCidrs.length); range.value++) {\n terwayVswitches.push(new alicloud.vpc.Switch(`terway_vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: terwayVswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\nconst k8s = new alicloud.cs.ManagedKubernetes(\"k8s\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n vswitchIds: vswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: vswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : vswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: vswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n podVswitchIds: terwayVswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: terwayVswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : terwayVswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: terwayVswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n newNatGateway: true,\n proxyMode: proxyMode,\n serviceCidr: serviceCidr,\n skipSetCertificateAuthority: true,\n addons: [\n {\n name: \"terway-eniip\",\n },\n {\n name: \"csi-plugin\",\n },\n {\n name: \"csi-provisioner\",\n },\n {\n name: \"logtail-ds\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n },\n {\n name: \"nginx-ingress-controller\",\n config: JSON.stringify({\n IngressSlbNetworkType: \"internet\",\n }),\n },\n {\n name: \"arms-prometheus\",\n },\n {\n name: \"ack-node-problem-detector\",\n config: JSON.stringify({}),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\n# Existing vpc id used to create several vswitches and other resources.\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of existing vswitch id.\nvswitch_ids = config.get_object(\"vswitchIds\")\nif vswitch_ids is None:\n vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n ]\n# Proxy mode is option of kube-proxy.\nproxy_mode = config.get(\"proxyMode\")\nif proxy_mode is None:\n proxy_mode = \"ipvs\"\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\n# List of existing vswitch ids for terway.\nterway_vswitch_ids = config.get_object(\"terwayVswitchIds\")\nif terway_vswitch_ids is None:\n terway_vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nterway_vswitch_cidrs = config.get_object(\"terwayVswitchCidrs\")\nif terway_vswitch_cidrs is None:\n terway_vswitch_cidrs = [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n ]\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\n# If there is not specifying vpc_id, the module will launch a new vpc\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\", cidr_block=vpc_cidr))\n# According to the vswitch cidr blocks to launch several vswitches\nvswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(vswitch_ids) \u003e 0 else len(vswitch_cidrs))]:\n vswitches.append(alicloud.vpc.Switch(f\"vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\n# According to the vswitch cidr blocks to launch several vswitches\nterway_vswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(terway_vswitch_ids) \u003e 0 else len(terway_vswitch_cidrs))]:\n terway_vswitches.append(alicloud.vpc.Switch(f\"terway_vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=terway_vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\nk8s = alicloud.cs.ManagedKubernetes(\"k8s\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=vswitch_ids).result).result if len(vswitch_ids) \u003e 0 else [] if len(vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n pod_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) \u003e 0 else [] if len(terway_vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n new_nat_gateway=True,\n proxy_mode=proxy_mode,\n service_cidr=service_cidr,\n skip_set_certificate_authority=True,\n addons=[\n {\n \"name\": \"terway-eniip\",\n },\n {\n \"name\": \"csi-plugin\",\n },\n {\n \"name\": \"csi-provisioner\",\n },\n {\n \"name\": \"logtail-ds\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n },\n {\n \"name\": \"nginx-ingress-controller\",\n \"config\": json.dumps({\n \"IngressSlbNetworkType\": \"internet\",\n }),\n },\n {\n \"name\": \"arms-prometheus\",\n },\n {\n \"name\": \"ack-node-problem-detector\",\n \"config\": json.dumps({}),\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n // Existing vpc id used to create several vswitches and other resources.\n var vpcId = config.Get(\"vpcId\") ?? \"\";\n // The cidr block used to launch a new vpc when 'vpc_id' is not specified.\n var vpcCidr = config.Get(\"vpcCidr\") ?? \"10.0.0.0/8\";\n // List of existing vswitch id.\n var vswitchIds = config.GetObject\u003cstring[]\u003e(\"vswitchIds\") ?? new[] {};\n // List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\n var vswitchCidrs = config.GetObject\u003cstring[]\u003e(\"vswitchCidrs\") ?? new[]\n {\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n };\n // Proxy mode is option of kube-proxy.\n var proxyMode = config.Get(\"proxyMode\") ?? \"ipvs\";\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n // List of existing vswitch ids for terway.\n var terwayVswitchIds = config.GetObject\u003cstring[]\u003e(\"terwayVswitchIds\") ?? new[] {};\n // List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\n var terwayVswitchCidrs = config.GetObject\u003cstring[]\u003e(\"terwayVswitchCidrs\") ?? new[]\n {\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n };\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n // If there is not specifying vpc_id, the module will launch a new vpc\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n CidrBlock = vpcCidr,\n }));\n }\n // According to the vswitch cidr blocks to launch several vswitches\n var vswitches = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchIds.Length \u003e 0 ? 0 : vswitchCidrs.Length); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitches.Add(new AliCloud.Vpc.Switch($\"vswitches-{range.Value}\", new()\n {\n VpcId = vpcId == \"\" ? Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = vpc.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e invoke.Result) : vpcId,\n CidrBlock = vswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n // According to the vswitch cidr blocks to launch several vswitches\n var terwayVswitches = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (terwayVswitchIds.Length \u003e 0 ? 0 : terwayVswitchCidrs.Length); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n terwayVswitches.Add(new AliCloud.Vpc.Switch($\"terway_vswitches-{range.Value}\", new()\n {\n VpcId = vpcId == \"\" ? Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = vpc.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e invoke.Result) : vpcId,\n CidrBlock = terwayVswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n var k8s = new AliCloud.CS.ManagedKubernetes(\"k8s\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n VswitchIds = vswitchIds.Length \u003e 0 ? Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = vswitchIds,\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result) : vswitchCidrs.Length \u003c 1 ? new[] {} : Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = vswitches.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n PodVswitchIds = terwayVswitchIds.Length \u003e 0 ? Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = terwayVswitchIds,\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result) : terwayVswitchCidrs.Length \u003c 1 ? new[] {} : Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = terwayVswitches.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n NewNatGateway = true,\n ProxyMode = proxyMode,\n ServiceCidr = serviceCidr,\n SkipSetCertificateAuthority = true,\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-eniip\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-plugin\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-provisioner\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"logtail-ds\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"nginx-ingress-controller\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressSlbNetworkType\"] = \"internet\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"arms-prometheus\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-node-problem-detector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n }),\n },\n },\n });\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\nimport com.pulumi.std.inputs.SplitArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var vpcId = config.get(\"vpcId\").orElse(\"\");\n final var vpcCidr = config.get(\"vpcCidr\").orElse(\"10.0.0.0/8\");\n final var vswitchIds = config.get(\"vswitchIds\").orElse(List.of());\n final var vswitchCidrs = config.get(\"vswitchCidrs\").orElse(List.of( \n \"10.1.0.0/16\",\n \"10.2.0.0/16\"));\n final var proxyMode = config.get(\"proxyMode\").orElse(\"ipvs\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var terwayVswitchIds = config.get(\"terwayVswitchIds\").orElse(List.of());\n final var terwayVswitchCidrs = config.get(\"terwayVswitchCidrs\").orElse(List.of( \n \"10.4.0.0/16\",\n \"10.5.0.0/16\"));\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n // If there is not specifying vpc_id, the module will launch a new vpc\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c (vswitchIds.length() \u003e 0 ? 0 : vswitchCidrs.length()); i++) {\n new Switch(\"vswitches-\" + i, SwitchArgs.builder()\n .vpcId(vpcId == \"\" ? StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input(vpc.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e _invoke.result()) : vpcId)\n .cidrBlock(vswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c (terwayVswitchIds.length() \u003e 0 ? 0 : terwayVswitchCidrs.length()); i++) {\n new Switch(\"terwayVswitches-\" + i, SwitchArgs.builder()\n .vpcId(vpcId == \"\" ? StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input(vpc.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e _invoke.result()) : vpcId)\n .cidrBlock(terwayVswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var k8s = new ManagedKubernetes(\"k8s\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .vswitchIds(vswitchIds.length() \u003e 0 ? StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(vswitchIds)\n .build()).result())\n .build()).result() : vswitchCidrs.length() \u003c 1 ? : StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(vswitches.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .podVswitchIds(terwayVswitchIds.length() \u003e 0 ? StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(terwayVswitchIds)\n .build()).result())\n .build()).result() : terwayVswitchCidrs.length() \u003c 1 ? : StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(terwayVswitches.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .newNatGateway(true)\n .proxyMode(proxyMode)\n .serviceCidr(serviceCidr)\n .skipSetCertificateAuthority(true)\n .addons( \n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-eniip\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-plugin\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-provisioner\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"logtail-ds\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"nginx-ingress-controller\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressSlbNetworkType\", \"internet\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"arms-prometheus\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-node-problem-detector\")\n .config(serializeJson(\n jsonObject(\n\n )))\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nACK Cluster with Auto Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"auto-mode\";\n// Proxy mode is option of kube-proxy.\nconst proxyMode = config.get(\"proxyMode\") || \"ipvs\";\n// The kubernetes service cidr block.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst auto_mode = new alicloud.cs.ManagedKubernetes(\"auto-mode\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n zoneIds: [enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId)],\n newNatGateway: true,\n isEnterpriseSecurityGroup: true,\n slbInternetEnabled: false,\n skipSetCertificateAuthority: true,\n proxyMode: proxyMode,\n serviceCidr: serviceCidr,\n ipStack: \"ipv4\",\n deletionProtection: true,\n autoMode: {\n enabled: true,\n },\n maintenanceWindow: {\n duration: \"3h\",\n weeklyPeriod: \"Monday\",\n enable: true,\n maintenanceTime: \"2025-07-07T00:00:00.000+08:00\",\n },\n operationPolicy: {\n clusterAutoUpgrade: {\n channel: \"stable\",\n enabled: true,\n },\n },\n controlPlaneLogComponents: [\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n ],\n controlPlaneLogTtl: \"30\",\n auditLogConfig: {\n enabled: true,\n },\n addons: [\n {\n name: \"metrics-server\",\n },\n {\n name: \"managed-coredns\",\n },\n {\n name: \"managed-security-inspector\",\n },\n {\n name: \"ack-cost-exporter\",\n },\n {\n name: \"terway-controlplane\",\n config: JSON.stringify({\n ENITrunking: \"true\",\n }),\n },\n {\n name: \"terway-eniip\",\n config: JSON.stringify({\n NetworkPolicy: \"false\",\n ENITrunking: \"true\",\n IPVlan: \"false\",\n }),\n },\n {\n name: \"csi-plugin\",\n },\n {\n name: \"managed-csiprovisioner\",\n },\n {\n name: \"storage-operator\",\n config: JSON.stringify({\n CnfsOssEnable: \"false\",\n CnfsNasEnable: \"false\",\n }),\n },\n {\n name: \"loongcollector\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n },\n {\n name: \"ack-node-problem-detector\",\n config: JSON.stringify({\n sls_project_name: \"\",\n }),\n },\n {\n name: \"nginx-ingress-controller\",\n disabled: true,\n },\n {\n name: \"alb-ingress-controller\",\n config: JSON.stringify({\n albIngress: {\n CreateDefaultALBConfig: false,\n },\n }),\n },\n {\n name: \"arms-prometheus\",\n config: JSON.stringify({\n prometheusMode: \"default\",\n }),\n },\n {\n name: \"alicloud-monitor-controller\",\n },\n {\n name: \"managed-aliyun-acr-credential-helper\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"auto-mode\"\n# Proxy mode is option of kube-proxy.\nproxy_mode = config.get(\"proxyMode\")\nif proxy_mode is None:\n proxy_mode = \"ipvs\"\n# The kubernetes service cidr block.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nauto_mode = alicloud.cs.ManagedKubernetes(\"auto-mode\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n zone_ids=[enhanced.zones[0].zone_id],\n new_nat_gateway=True,\n is_enterprise_security_group=True,\n slb_internet_enabled=False,\n skip_set_certificate_authority=True,\n proxy_mode=proxy_mode,\n service_cidr=service_cidr,\n ip_stack=\"ipv4\",\n deletion_protection=True,\n auto_mode={\n \"enabled\": True,\n },\n maintenance_window={\n \"duration\": \"3h\",\n \"weekly_period\": \"Monday\",\n \"enable\": True,\n \"maintenance_time\": \"2025-07-07T00:00:00.000+08:00\",\n },\n operation_policy={\n \"cluster_auto_upgrade\": {\n \"channel\": \"stable\",\n \"enabled\": True,\n },\n },\n control_plane_log_components=[\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n ],\n control_plane_log_ttl=\"30\",\n audit_log_config={\n \"enabled\": True,\n },\n addons=[\n {\n \"name\": \"metrics-server\",\n },\n {\n \"name\": \"managed-coredns\",\n },\n {\n \"name\": \"managed-security-inspector\",\n },\n {\n \"name\": \"ack-cost-exporter\",\n },\n {\n \"name\": \"terway-controlplane\",\n \"config\": json.dumps({\n \"ENITrunking\": \"true\",\n }),\n },\n {\n \"name\": \"terway-eniip\",\n \"config\": json.dumps({\n \"NetworkPolicy\": \"false\",\n \"ENITrunking\": \"true\",\n \"IPVlan\": \"false\",\n }),\n },\n {\n \"name\": \"csi-plugin\",\n },\n {\n \"name\": \"managed-csiprovisioner\",\n },\n {\n \"name\": \"storage-operator\",\n \"config\": json.dumps({\n \"CnfsOssEnable\": \"false\",\n \"CnfsNasEnable\": \"false\",\n }),\n },\n {\n \"name\": \"loongcollector\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n },\n {\n \"name\": \"ack-node-problem-detector\",\n \"config\": json.dumps({\n \"sls_project_name\": \"\",\n }),\n },\n {\n \"name\": \"nginx-ingress-controller\",\n \"disabled\": True,\n },\n {\n \"name\": \"alb-ingress-controller\",\n \"config\": json.dumps({\n \"albIngress\": {\n \"CreateDefaultALBConfig\": False,\n },\n }),\n },\n {\n \"name\": \"arms-prometheus\",\n \"config\": json.dumps({\n \"prometheusMode\": \"default\",\n }),\n },\n {\n \"name\": \"alicloud-monitor-controller\",\n },\n {\n \"name\": \"managed-aliyun-acr-credential-helper\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"auto-mode\";\n // Proxy mode is option of kube-proxy.\n var proxyMode = config.Get(\"proxyMode\") ?? \"ipvs\";\n // The kubernetes service cidr block.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var auto_mode = new AliCloud.CS.ManagedKubernetes(\"auto-mode\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n ZoneIds = new[]\n {\n enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n },\n NewNatGateway = true,\n IsEnterpriseSecurityGroup = true,\n SlbInternetEnabled = false,\n SkipSetCertificateAuthority = true,\n ProxyMode = proxyMode,\n ServiceCidr = serviceCidr,\n IpStack = \"ipv4\",\n DeletionProtection = true,\n AutoMode = new AliCloud.CS.Inputs.ManagedKubernetesAutoModeArgs\n {\n Enabled = true,\n },\n MaintenanceWindow = new AliCloud.CS.Inputs.ManagedKubernetesMaintenanceWindowArgs\n {\n Duration = \"3h\",\n WeeklyPeriod = \"Monday\",\n Enable = true,\n MaintenanceTime = \"2025-07-07T00:00:00.000+08:00\",\n },\n OperationPolicy = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyArgs\n {\n ClusterAutoUpgrade = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs\n {\n Channel = \"stable\",\n Enabled = true,\n },\n },\n ControlPlaneLogComponents = new[]\n {\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n },\n ControlPlaneLogTtl = \"30\",\n AuditLogConfig = new AliCloud.CS.Inputs.ManagedKubernetesAuditLogConfigArgs\n {\n Enabled = true,\n },\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"metrics-server\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-coredns\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-security-inspector\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-cost-exporter\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-controlplane\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ENITrunking\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-eniip\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"NetworkPolicy\"] = \"false\",\n [\"ENITrunking\"] = \"true\",\n [\"IPVlan\"] = \"false\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-plugin\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-csiprovisioner\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"storage-operator\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"CnfsOssEnable\"] = \"false\",\n [\"CnfsNasEnable\"] = \"false\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"loongcollector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-node-problem-detector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sls_project_name\"] = \"\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"nginx-ingress-controller\",\n Disabled = true,\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"alb-ingress-controller\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"albIngress\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CreateDefaultALBConfig\"] = false,\n },\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"arms-prometheus\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"prometheusMode\"] = \"default\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"alicloud-monitor-controller\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-aliyun-acr-credential-helper\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"auto-mode\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t// Proxy mode is option of kube-proxy.\n\t\tproxyMode := \"ipvs\"\n\t\tif param := cfg.Get(\"proxyMode\"); param != \"\" {\n\t\t\tproxyMode = param\n\t\t}\n\t\t// The kubernetes service cidr block.\n\t\tserviceCidr := \"192.168.0.0/16\"\n\t\tif param := cfg.Get(\"serviceCidr\"); param != \"\" {\n\t\t\tserviceCidr = param\n\t\t}\n\t\tenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\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\"ENITrunking\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"NetworkPolicy\": \"false\",\n\t\t\t\"ENITrunking\": \"true\",\n\t\t\t\"IPVlan\": \"false\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"CnfsOssEnable\": \"false\",\n\t\t\t\"CnfsNasEnable\": \"false\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"IngressDashboardEnabled\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\ttmpJSON4, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sls_project_name\": \"\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson4 := string(tmpJSON4)\n\t\ttmpJSON5, err := json.Marshal(map[string]interface{}{\n\t\t\t\"albIngress\": map[string]interface{}{\n\t\t\t\t\"CreateDefaultALBConfig\": false,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson5 := string(tmpJSON5)\n\t\ttmpJSON6, err := json.Marshal(map[string]interface{}{\n\t\t\t\"prometheusMode\": \"default\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson6 := string(tmpJSON6)\n\t\t_, err = cs.NewManagedKubernetes(ctx, \"auto-mode\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(enhanced.Zones[0].ZoneId),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(false),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tProxyMode: pulumi.String(proxyMode),\n\t\t\tServiceCidr: pulumi.String(serviceCidr),\n\t\t\tIpStack: pulumi.String(\"ipv4\"),\n\t\t\tDeletionProtection: pulumi.Bool(true),\n\t\t\tAutoMode: \u0026cs.ManagedKubernetesAutoModeArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tMaintenanceWindow: \u0026cs.ManagedKubernetesMaintenanceWindowArgs{\n\t\t\t\tDuration: pulumi.String(\"3h\"),\n\t\t\t\tWeeklyPeriod: pulumi.String(\"Monday\"),\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tMaintenanceTime: pulumi.String(\"2025-07-07T00:00:00.000+08:00\"),\n\t\t\t},\n\t\t\tOperationPolicy: \u0026cs.ManagedKubernetesOperationPolicyArgs{\n\t\t\t\tClusterAutoUpgrade: \u0026cs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs{\n\t\t\t\t\tChannel: pulumi.String(\"stable\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tControlPlaneLogComponents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apiserver\"),\n\t\t\t\tpulumi.String(\"kcm\"),\n\t\t\t\tpulumi.String(\"scheduler\"),\n\t\t\t\tpulumi.String(\"ccm\"),\n\t\t\t\tpulumi.String(\"controlplane-events\"),\n\t\t\t\tpulumi.String(\"alb\"),\n\t\t\t\tpulumi.String(\"ack-goatscaler\"),\n\t\t\t\tpulumi.String(\"coredns\"),\n\t\t\t\tpulumi.String(\"gatekeeper\"),\n\t\t\t},\n\t\t\tControlPlaneLogTtl: pulumi.String(\"30\"),\n\t\t\tAuditLogConfig: \u0026cs.ManagedKubernetesAuditLogConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tAddons: cs.ManagedKubernetesAddonArray{\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"metrics-server\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-coredns\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-security-inspector\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"ack-cost-exporter\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"terway-controlplane\"),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"terway-eniip\"),\n\t\t\t\t\tConfig: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"csi-plugin\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-csiprovisioner\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"storage-operator\"),\n\t\t\t\t\tConfig: pulumi.String(json2),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"loongcollector\"),\n\t\t\t\t\tConfig: pulumi.String(json3),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"ack-node-problem-detector\"),\n\t\t\t\t\tConfig: pulumi.String(json4),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"nginx-ingress-controller\"),\n\t\t\t\t\tDisabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"alb-ingress-controller\"),\n\t\t\t\t\tConfig: pulumi.String(json5),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"arms-prometheus\"),\n\t\t\t\t\tConfig: pulumi.String(json6),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"alicloud-monitor-controller\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-aliyun-acr-credential-helper\"),\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAutoModeArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesMaintenanceWindowArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAuditLogConfigArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\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 name = config.get(\"name\").orElse(\"auto-mode\");\n final var proxyMode = config.get(\"proxyMode\").orElse(\"ipvs\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var auto_mode = new ManagedKubernetes(\"auto-mode\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .zoneIds(enhanced.zones()[0].zoneId())\n .newNatGateway(true)\n .isEnterpriseSecurityGroup(true)\n .slbInternetEnabled(false)\n .skipSetCertificateAuthority(true)\n .proxyMode(proxyMode)\n .serviceCidr(serviceCidr)\n .ipStack(\"ipv4\")\n .deletionProtection(true)\n .autoMode(ManagedKubernetesAutoModeArgs.builder()\n .enabled(true)\n .build())\n .maintenanceWindow(ManagedKubernetesMaintenanceWindowArgs.builder()\n .duration(\"3h\")\n .weeklyPeriod(\"Monday\")\n .enable(true)\n .maintenanceTime(\"2025-07-07T00:00:00.000+08:00\")\n .build())\n .operationPolicy(ManagedKubernetesOperationPolicyArgs.builder()\n .clusterAutoUpgrade(ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs.builder()\n .channel(\"stable\")\n .enabled(true)\n .build())\n .build())\n .controlPlaneLogComponents( \n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\")\n .controlPlaneLogTtl(\"30\")\n .auditLogConfig(ManagedKubernetesAuditLogConfigArgs.builder()\n .enabled(true)\n .build())\n .addons( \n ManagedKubernetesAddonArgs.builder()\n .name(\"metrics-server\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-coredns\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-security-inspector\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-cost-exporter\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-controlplane\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"ENITrunking\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-eniip\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"NetworkPolicy\", \"false\"),\n jsonProperty(\"ENITrunking\", \"true\"),\n jsonProperty(\"IPVlan\", \"false\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-plugin\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-csiprovisioner\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"storage-operator\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"CnfsOssEnable\", \"false\"),\n jsonProperty(\"CnfsNasEnable\", \"false\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"loongcollector\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-node-problem-detector\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"sls_project_name\", \"\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"nginx-ingress-controller\")\n .disabled(true)\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"alb-ingress-controller\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"albIngress\", jsonObject(\n jsonProperty(\"CreateDefaultALBConfig\", false)\n ))\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"arms-prometheus\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"prometheusMode\", \"default\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"alicloud-monitor-controller\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-aliyun-acr-credential-helper\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: auto-mode\n proxyMode:\n type: string\n default: ipvs\n serviceCidr:\n type: string\n default: 192.168.0.0/16\nresources:\n auto-mode:\n type: alicloud:cs:ManagedKubernetes\n properties:\n name: ${name}\n clusterSpec: ack.pro.small\n zoneIds:\n - ${enhanced.zones[0].zoneId}\n newNatGateway: true\n isEnterpriseSecurityGroup: true\n slbInternetEnabled: false\n skipSetCertificateAuthority: true\n proxyMode: ${proxyMode}\n serviceCidr: ${serviceCidr}\n ipStack: ipv4\n deletionProtection: true\n autoMode:\n enabled: true\n maintenanceWindow:\n duration: 3h\n weeklyPeriod: Monday\n enable: true\n maintenanceTime: 2025-07-07T00:00:00.000+08:00\n operationPolicy:\n clusterAutoUpgrade:\n channel: stable\n enabled: true\n controlPlaneLogComponents:\n - apiserver\n - kcm\n - scheduler\n - ccm\n - controlplane-events\n - alb\n - ack-goatscaler\n - coredns\n - gatekeeper\n controlPlaneLogTtl: '30'\n auditLogConfig:\n enabled: true\n addons:\n - name: metrics-server\n - name: managed-coredns\n - name: managed-security-inspector\n - name: ack-cost-exporter\n - name: terway-controlplane\n config:\n fn::toJSON:\n ENITrunking: 'true'\n - name: terway-eniip\n config:\n fn::toJSON:\n NetworkPolicy: 'false'\n ENITrunking: 'true'\n IPVlan: 'false'\n - name: csi-plugin\n - name: managed-csiprovisioner\n - name: storage-operator\n config:\n fn::toJSON:\n CnfsOssEnable: 'false'\n CnfsNasEnable: 'false'\n - name: loongcollector\n config:\n fn::toJSON:\n IngressDashboardEnabled: 'true'\n - name: ack-node-problem-detector\n config:\n fn::toJSON:\n sls_project_name: \"\"\n - name: nginx-ingress-controller\n disabled: true\n - name: alb-ingress-controller\n config:\n fn::toJSON:\n albIngress:\n CreateDefaultALBConfig: false\n - name: arms-prometheus\n config:\n fn::toJSON:\n prometheusMode: default\n - name: alicloud-monitor-controller\n - name: managed-aliyun-acr-credential-helper\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/managedKubernetes:ManagedKubernetes main cluster_id\n```\n\n", + "description": "This resource will help you to manage a ManagedKubernetes Cluster in Alibaba Cloud Kubernetes Service. \n\n\u003e **NOTE:** Available since v1.26.0.\n\n\u003e **NOTE:** It is recommended to create a cluster with zero worker nodes, and then use a node pool to manage the cluster nodes. \n\n\u003e **NOTE:** Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.\n\n\u003e **NOTE:** From version 1.9.4, the provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** From version 1.20.0, the provider supports disabling internet load balancer for API Server by setting \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`slbInternetEnabled`\" pulumi-lang-dotnet=\"`SlbInternetEnabled`\" pulumi-lang-go=\"`slbInternetEnabled`\" pulumi-lang-python=\"`slb_internet_enabled`\" pulumi-lang-yaml=\"`slbInternetEnabled`\" pulumi-lang-java=\"`slbInternetEnabled`\"\u003e`slb_internet_enabled`\u003c/span\u003e.\n\n\u003e **NOTE:** If you want to manage Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.72.0, Some parameters have been removed from resource,You can check them below and re-import the cluster if necessary.\n\n\u003e **NOTE:** From version 1.120.0, Support for cluster migration from Standard cluster to professional.\n\n\u003e **NOTE:** From version 1.177.0, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`enableSsh`\" pulumi-lang-dotnet=\"`EnableSsh`\" pulumi-lang-go=\"`enableSsh`\" pulumi-lang-python=\"`enable_ssh`\" pulumi-lang-yaml=\"`enableSsh`\" pulumi-lang-java=\"`enableSsh`\"\u003e`enable_ssh`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`rdsInstances`\" pulumi-lang-dotnet=\"`RdsInstances`\" pulumi-lang-go=\"`rdsInstances`\" pulumi-lang-python=\"`rds_instances`\" pulumi-lang-yaml=\"`rdsInstances`\" pulumi-lang-java=\"`rdsInstances`\"\u003e`rds_instances`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptionContext`\" pulumi-lang-dotnet=\"`KmsEncryptionContext`\" pulumi-lang-go=\"`kmsEncryptionContext`\" pulumi-lang-python=\"`kms_encryption_context`\" pulumi-lang-yaml=\"`kmsEncryptionContext`\" pulumi-lang-java=\"`kmsEncryptionContext`\"\u003e`kms_encryption_context`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodeNameMode`\" pulumi-lang-dotnet=\"`NodeNameMode`\" pulumi-lang-go=\"`nodeNameMode`\" pulumi-lang-python=\"`node_name_mode`\" pulumi-lang-yaml=\"`nodeNameMode`\" pulumi-lang-java=\"`nodeNameMode`\"\u003e`node_name_mode`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`installCloudMonitor`\" pulumi-lang-dotnet=\"`InstallCloudMonitor`\" pulumi-lang-go=\"`installCloudMonitor`\" pulumi-lang-python=\"`install_cloud_monitor`\" pulumi-lang-yaml=\"`installCloudMonitor`\" pulumi-lang-java=\"`installCloudMonitor`\"\u003e`install_cloud_monitor`\u003c/span\u003e are deprecated.\nWe Suggest you using resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n\u003e **NOTE:** From version 1.212.0, \u003cspan pulumi-lang-nodejs=\"`runtime`\" pulumi-lang-dotnet=\"`Runtime`\" pulumi-lang-go=\"`runtime`\" pulumi-lang-python=\"`runtime`\" pulumi-lang-yaml=\"`runtime`\" pulumi-lang-java=\"`runtime`\"\u003e`runtime`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`enableSsh`\" pulumi-lang-dotnet=\"`EnableSsh`\" pulumi-lang-go=\"`enableSsh`\" pulumi-lang-python=\"`enable_ssh`\" pulumi-lang-yaml=\"`enableSsh`\" pulumi-lang-java=\"`enableSsh`\"\u003e`enable_ssh`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`rdsInstances`\" pulumi-lang-dotnet=\"`RdsInstances`\" pulumi-lang-go=\"`rdsInstances`\" pulumi-lang-python=\"`rds_instances`\" pulumi-lang-yaml=\"`rdsInstances`\" pulumi-lang-java=\"`rdsInstances`\"\u003e`rds_instances`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`excludeAutoscalerNodes`\" pulumi-lang-dotnet=\"`ExcludeAutoscalerNodes`\" pulumi-lang-go=\"`excludeAutoscalerNodes`\" pulumi-lang-python=\"`exclude_autoscaler_nodes`\" pulumi-lang-yaml=\"`excludeAutoscalerNodes`\" pulumi-lang-java=\"`excludeAutoscalerNodes`\"\u003e`exclude_autoscaler_nodes`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerNumber`\" pulumi-lang-dotnet=\"`WorkerNumber`\" pulumi-lang-go=\"`workerNumber`\" pulumi-lang-python=\"`worker_number`\" pulumi-lang-yaml=\"`workerNumber`\" pulumi-lang-java=\"`workerNumber`\"\u003e`worker_number`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceTypes`\" pulumi-lang-dotnet=\"`WorkerInstanceTypes`\" pulumi-lang-go=\"`workerInstanceTypes`\" pulumi-lang-python=\"`worker_instance_types`\" pulumi-lang-yaml=\"`workerInstanceTypes`\" pulumi-lang-java=\"`workerInstanceTypes`\"\u003e`worker_instance_types`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyName`\" pulumi-lang-dotnet=\"`KeyName`\" pulumi-lang-go=\"`keyName`\" pulumi-lang-python=\"`key_name`\" pulumi-lang-yaml=\"`keyName`\" pulumi-lang-java=\"`keyName`\"\u003e`key_name`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kmsEncryptionContext`\" pulumi-lang-dotnet=\"`KmsEncryptionContext`\" pulumi-lang-go=\"`kmsEncryptionContext`\" pulumi-lang-python=\"`kms_encryption_context`\" pulumi-lang-yaml=\"`kmsEncryptionContext`\" pulumi-lang-java=\"`kmsEncryptionContext`\"\u003e`kms_encryption_context`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerInstanceChargeType`\" pulumi-lang-dotnet=\"`WorkerInstanceChargeType`\" pulumi-lang-go=\"`workerInstanceChargeType`\" pulumi-lang-python=\"`worker_instance_charge_type`\" pulumi-lang-yaml=\"`workerInstanceChargeType`\" pulumi-lang-java=\"`workerInstanceChargeType`\"\u003e`worker_instance_charge_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriod`\" pulumi-lang-dotnet=\"`WorkerPeriod`\" pulumi-lang-go=\"`workerPeriod`\" pulumi-lang-python=\"`worker_period`\" pulumi-lang-yaml=\"`workerPeriod`\" pulumi-lang-java=\"`workerPeriod`\"\u003e`worker_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerPeriodUnit`\" pulumi-lang-dotnet=\"`WorkerPeriodUnit`\" pulumi-lang-go=\"`workerPeriodUnit`\" pulumi-lang-python=\"`worker_period_unit`\" pulumi-lang-yaml=\"`workerPeriodUnit`\" pulumi-lang-java=\"`workerPeriodUnit`\"\u003e`worker_period_unit`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenew`\" pulumi-lang-dotnet=\"`WorkerAutoRenew`\" pulumi-lang-go=\"`workerAutoRenew`\" pulumi-lang-python=\"`worker_auto_renew`\" pulumi-lang-yaml=\"`workerAutoRenew`\" pulumi-lang-java=\"`workerAutoRenew`\"\u003e`worker_auto_renew`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerAutoRenewPeriod`\" pulumi-lang-dotnet=\"`WorkerAutoRenewPeriod`\" pulumi-lang-go=\"`workerAutoRenewPeriod`\" pulumi-lang-python=\"`worker_auto_renew_period`\" pulumi-lang-yaml=\"`workerAutoRenewPeriod`\" pulumi-lang-java=\"`workerAutoRenewPeriod`\"\u003e`worker_auto_renew_period`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskCategory`\" pulumi-lang-dotnet=\"`WorkerDiskCategory`\" pulumi-lang-go=\"`workerDiskCategory`\" pulumi-lang-python=\"`worker_disk_category`\" pulumi-lang-yaml=\"`workerDiskCategory`\" pulumi-lang-java=\"`workerDiskCategory`\"\u003e`worker_disk_category`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSize`\" pulumi-lang-dotnet=\"`WorkerDiskSize`\" pulumi-lang-go=\"`workerDiskSize`\" pulumi-lang-python=\"`worker_disk_size`\" pulumi-lang-yaml=\"`workerDiskSize`\" pulumi-lang-java=\"`workerDiskSize`\"\u003e`worker_disk_size`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDataDisks`\" pulumi-lang-dotnet=\"`WorkerDataDisks`\" pulumi-lang-go=\"`workerDataDisks`\" pulumi-lang-python=\"`worker_data_disks`\" pulumi-lang-yaml=\"`workerDataDisks`\" pulumi-lang-java=\"`workerDataDisks`\"\u003e`worker_data_disks`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodeNameMode`\" pulumi-lang-dotnet=\"`NodeNameMode`\" pulumi-lang-go=\"`nodeNameMode`\" pulumi-lang-python=\"`node_name_mode`\" pulumi-lang-yaml=\"`nodeNameMode`\" pulumi-lang-java=\"`nodeNameMode`\"\u003e`node_name_mode`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`nodePortRange`\" pulumi-lang-dotnet=\"`NodePortRange`\" pulumi-lang-go=\"`nodePortRange`\" pulumi-lang-python=\"`node_port_range`\" pulumi-lang-yaml=\"`nodePortRange`\" pulumi-lang-java=\"`nodePortRange`\"\u003e`node_port_range`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`osType`\" pulumi-lang-dotnet=\"`OsType`\" pulumi-lang-go=\"`osType`\" pulumi-lang-python=\"`os_type`\" pulumi-lang-yaml=\"`osType`\" pulumi-lang-java=\"`osType`\"\u003e`os_type`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`cpuPolicy`\" pulumi-lang-dotnet=\"`CpuPolicy`\" pulumi-lang-go=\"`cpuPolicy`\" pulumi-lang-python=\"`cpu_policy`\" pulumi-lang-yaml=\"`cpuPolicy`\" pulumi-lang-java=\"`cpuPolicy`\"\u003e`cpu_policy`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\"\u003e`user_data`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`taints`\" pulumi-lang-dotnet=\"`Taints`\" pulumi-lang-go=\"`taints`\" pulumi-lang-python=\"`taints`\" pulumi-lang-yaml=\"`taints`\" pulumi-lang-java=\"`taints`\"\u003e`taints`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskPerformanceLevel`\" pulumi-lang-dotnet=\"`WorkerDiskPerformanceLevel`\" pulumi-lang-go=\"`workerDiskPerformanceLevel`\" pulumi-lang-python=\"`worker_disk_performance_level`\" pulumi-lang-yaml=\"`workerDiskPerformanceLevel`\" pulumi-lang-java=\"`workerDiskPerformanceLevel`\"\u003e`worker_disk_performance_level`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-dotnet=\"`WorkerDiskSnapshotPolicyId`\" pulumi-lang-go=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-python=\"`worker_disk_snapshot_policy_id`\" pulumi-lang-yaml=\"`workerDiskSnapshotPolicyId`\" pulumi-lang-java=\"`workerDiskSnapshotPolicyId`\"\u003e`worker_disk_snapshot_policy_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`installCloudMonitor`\" pulumi-lang-dotnet=\"`InstallCloudMonitor`\" pulumi-lang-go=\"`installCloudMonitor`\" pulumi-lang-python=\"`install_cloud_monitor`\" pulumi-lang-yaml=\"`installCloudMonitor`\" pulumi-lang-java=\"`installCloudMonitor`\"\u003e`install_cloud_monitor`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`kubeConfig`\" pulumi-lang-dotnet=\"`KubeConfig`\" pulumi-lang-go=\"`kubeConfig`\" pulumi-lang-python=\"`kube_config`\" pulumi-lang-yaml=\"`kubeConfig`\" pulumi-lang-java=\"`kubeConfig`\"\u003e`kube_config`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`availabilityZone`\" pulumi-lang-dotnet=\"`AvailabilityZone`\" pulumi-lang-go=\"`availabilityZone`\" pulumi-lang-python=\"`availability_zone`\" pulumi-lang-yaml=\"`availabilityZone`\" pulumi-lang-java=\"`availabilityZone`\"\u003e`availability_zone`\u003c/span\u003e are removed.\nPlease use resource **\u003cspan pulumi-lang-nodejs=\"`alicloud.cs.NodePool`\" pulumi-lang-dotnet=\"`alicloud.cs.NodePool`\" pulumi-lang-go=\"`cs.NodePool`\" pulumi-lang-python=\"`cs.NodePool`\" pulumi-lang-yaml=\"`alicloud.cs.NodePool`\" pulumi-lang-java=\"`alicloud.cs.NodePool`\"\u003e`alicloud.cs.NodePool`\u003c/span\u003e** to manage your cluster worker nodes.\n\n## Example Usage\n\nACK cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\n// Existing vpc id used to create several vswitches and other resources.\nconst vpcId = config.get(\"vpcId\") || \"\";\n// The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nconst vpcCidr = config.get(\"vpcCidr\") || \"10.0.0.0/8\";\n// List of existing vswitch id.\nconst vswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nconst vswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"vswitchCidrs\") || [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n];\n// Proxy mode is option of kube-proxy.\nconst proxyMode = config.get(\"proxyMode\") || \"ipvs\";\n// The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\n// List of existing vswitch ids for terway.\nconst terwayVswitchIds = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchIds\") || [];\n// List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nconst terwayVswitchCidrs = config.getObject\u003cArray\u003cstring\u003e\u003e(\"terwayVswitchCidrs\") || [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n];\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\n// If there is not specifying vpc_id, the module will launch a new vpc\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {cidrBlock: vpcCidr}));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst vswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchIds.length \u003e 0 ? 0 : vswitchCidrs.length); range.value++) {\n vswitches.push(new alicloud.vpc.Switch(`vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: vswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\n// According to the vswitch cidr blocks to launch several vswitches\nconst terwayVswitches: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (terwayVswitchIds.length \u003e 0 ? 0 : terwayVswitchCidrs.length); range.value++) {\n terwayVswitches.push(new alicloud.vpc.Switch(`terway_vswitches-${range.value}`, {\n vpcId: vpcId == \"\" ? std.joinOutput({\n separator: \"\",\n input: vpc.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e invoke.result) : vpcId,\n cidrBlock: terwayVswitchCidrs[range.value],\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones[range.value].zoneId),\n }));\n}\nconst k8s = new alicloud.cs.ManagedKubernetes(\"k8s\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n vswitchIds: vswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: vswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : vswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: vswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n podVswitchIds: terwayVswitchIds.length \u003e 0 ? std.join({\n separator: \",\",\n input: terwayVswitchIds,\n }).then(invoke =\u003e std.split({\n separator: \",\",\n text: invoke.result,\n })).then(invoke =\u003e invoke.result) : terwayVswitchCidrs.length \u003c 1 ? [] : std.joinOutput({\n separator: \",\",\n input: terwayVswitches.map(__item =\u003e __item.id),\n }).apply(invoke =\u003e std.splitOutput({\n separator: \",\",\n text: invoke.result,\n })).apply(invoke =\u003e invoke.result),\n newNatGateway: true,\n proxyMode: proxyMode,\n serviceCidr: serviceCidr,\n skipSetCertificateAuthority: true,\n addons: [\n {\n name: \"terway-eniip\",\n },\n {\n name: \"csi-plugin\",\n },\n {\n name: \"csi-provisioner\",\n },\n {\n name: \"logtail-ds\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n },\n {\n name: \"nginx-ingress-controller\",\n config: JSON.stringify({\n IngressSlbNetworkType: \"internet\",\n }),\n },\n {\n name: \"arms-prometheus\",\n },\n {\n name: \"ack-node-problem-detector\",\n config: JSON.stringify({}),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\n# Existing vpc id used to create several vswitches and other resources.\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"\"\n# The cidr block used to launch a new vpc when 'vpc_id' is not specified.\nvpc_cidr = config.get(\"vpcCidr\")\nif vpc_cidr is None:\n vpc_cidr = \"10.0.0.0/8\"\n# List of existing vswitch id.\nvswitch_ids = config.get_object(\"vswitchIds\")\nif vswitch_ids is None:\n vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\nvswitch_cidrs = config.get_object(\"vswitchCidrs\")\nif vswitch_cidrs is None:\n vswitch_cidrs = [\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n ]\n# Proxy mode is option of kube-proxy.\nproxy_mode = config.get(\"proxyMode\")\nif proxy_mode is None:\n proxy_mode = \"ipvs\"\n# The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\n# List of existing vswitch ids for terway.\nterway_vswitch_ids = config.get_object(\"terwayVswitchIds\")\nif terway_vswitch_ids is None:\n terway_vswitch_ids = []\n# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\nterway_vswitch_cidrs = config.get_object(\"terwayVswitchCidrs\")\nif terway_vswitch_cidrs is None:\n terway_vswitch_cidrs = [\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n ]\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\n# If there is not specifying vpc_id, the module will launch a new vpc\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\", cidr_block=vpc_cidr))\n# According to the vswitch cidr blocks to launch several vswitches\nvswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(vswitch_ids) \u003e 0 else len(vswitch_cidrs))]:\n vswitches.append(alicloud.vpc.Switch(f\"vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\n# According to the vswitch cidr blocks to launch several vswitches\nterway_vswitches = []\nfor range in [{\"value\": i} for i in range(0, 0 if len(terway_vswitch_ids) \u003e 0 else len(terway_vswitch_cidrs))]:\n terway_vswitches.append(alicloud.vpc.Switch(f\"terway_vswitches-{range['value']}\",\n vpc_id=std.join_output(separator=\"\",\n input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == \"\" else vpc_id,\n cidr_block=terway_vswitch_cidrs[range[\"value\"]],\n zone_id=enhanced.zones[range[\"value\"]].zone_id))\nk8s = alicloud.cs.ManagedKubernetes(\"k8s\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=vswitch_ids).result).result if len(vswitch_ids) \u003e 0 else [] if len(vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n pod_vswitch_ids=std.split(separator=\",\",\n text=std.join(separator=\",\",\n input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) \u003e 0 else [] if len(terway_vswitch_cidrs) \u003c 1 else std.join_output(separator=\",\",\n input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=\",\",\n text=invoke.result)).apply(lambda invoke: invoke.result),\n new_nat_gateway=True,\n proxy_mode=proxy_mode,\n service_cidr=service_cidr,\n skip_set_certificate_authority=True,\n addons=[\n {\n \"name\": \"terway-eniip\",\n },\n {\n \"name\": \"csi-plugin\",\n },\n {\n \"name\": \"csi-provisioner\",\n },\n {\n \"name\": \"logtail-ds\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n },\n {\n \"name\": \"nginx-ingress-controller\",\n \"config\": json.dumps({\n \"IngressSlbNetworkType\": \"internet\",\n }),\n },\n {\n \"name\": \"arms-prometheus\",\n },\n {\n \"name\": \"ack-node-problem-detector\",\n \"config\": json.dumps({}),\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n // Existing vpc id used to create several vswitches and other resources.\n var vpcId = config.Get(\"vpcId\") ?? \"\";\n // The cidr block used to launch a new vpc when 'vpc_id' is not specified.\n var vpcCidr = config.Get(\"vpcCidr\") ?? \"10.0.0.0/8\";\n // List of existing vswitch id.\n var vswitchIds = config.GetObject\u003cstring[]\u003e(\"vswitchIds\") ?? new[] {};\n // List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.\n var vswitchCidrs = config.GetObject\u003cstring[]\u003e(\"vswitchCidrs\") ?? new[]\n {\n \"10.1.0.0/16\",\n \"10.2.0.0/16\",\n };\n // Proxy mode is option of kube-proxy.\n var proxyMode = config.Get(\"proxyMode\") ?? \"ipvs\";\n // The kubernetes service cidr block. It cannot be equals to vpc's or vswitch's or pod's and cannot be in them.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n // List of existing vswitch ids for terway.\n var terwayVswitchIds = config.GetObject\u003cstring[]\u003e(\"terwayVswitchIds\") ?? new[] {};\n // List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.\n var terwayVswitchCidrs = config.GetObject\u003cstring[]\u003e(\"terwayVswitchCidrs\") ?? new[]\n {\n \"10.4.0.0/16\",\n \"10.5.0.0/16\",\n };\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n // If there is not specifying vpc_id, the module will launch a new vpc\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n CidrBlock = vpcCidr,\n }));\n }\n // According to the vswitch cidr blocks to launch several vswitches\n var vswitches = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchIds.Length \u003e 0 ? 0 : vswitchCidrs.Length); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitches.Add(new AliCloud.Vpc.Switch($\"vswitches-{range.Value}\", new()\n {\n VpcId = vpcId == \"\" ? Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = vpc.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e invoke.Result) : vpcId,\n CidrBlock = vswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n // According to the vswitch cidr blocks to launch several vswitches\n var terwayVswitches = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (terwayVswitchIds.Length \u003e 0 ? 0 : terwayVswitchCidrs.Length); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n terwayVswitches.Add(new AliCloud.Vpc.Switch($\"terway_vswitches-{range.Value}\", new()\n {\n VpcId = vpcId == \"\" ? Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = vpc.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e invoke.Result) : vpcId,\n CidrBlock = terwayVswitchCidrs[range.Value],\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId,\n }));\n }\n var k8s = new AliCloud.CS.ManagedKubernetes(\"k8s\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n VswitchIds = vswitchIds.Length \u003e 0 ? Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = vswitchIds,\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result) : vswitchCidrs.Length \u003c 1 ? new[] {} : Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = vswitches.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n PodVswitchIds = terwayVswitchIds.Length \u003e 0 ? Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = terwayVswitchIds,\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result) : terwayVswitchCidrs.Length \u003c 1 ? new[] {} : Std.Join.Invoke(new()\n {\n Separator = \",\",\n Input = terwayVswitches.Select(__item =\u003e __item.Id).ToList(),\n }).Apply(invoke =\u003e Std.Split.Invoke(new()\n {\n Separator = \",\",\n Text = invoke.Result,\n })).Apply(invoke =\u003e invoke.Result),\n NewNatGateway = true,\n ProxyMode = proxyMode,\n ServiceCidr = serviceCidr,\n SkipSetCertificateAuthority = true,\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-eniip\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-plugin\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-provisioner\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"logtail-ds\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"nginx-ingress-controller\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressSlbNetworkType\"] = \"internet\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"arms-prometheus\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-node-problem-detector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n }),\n },\n },\n });\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\nimport com.pulumi.std.inputs.SplitArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var vpcId = config.get(\"vpcId\").orElse(\"\");\n final var vpcCidr = config.get(\"vpcCidr\").orElse(\"10.0.0.0/8\");\n final var vswitchIds = config.get(\"vswitchIds\").orElse(List.of());\n final var vswitchCidrs = config.get(\"vswitchCidrs\").orElse(List.of( \n \"10.1.0.0/16\",\n \"10.2.0.0/16\"));\n final var proxyMode = config.get(\"proxyMode\").orElse(\"ipvs\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var terwayVswitchIds = config.get(\"terwayVswitchIds\").orElse(List.of());\n final var terwayVswitchCidrs = config.get(\"terwayVswitchCidrs\").orElse(List.of( \n \"10.4.0.0/16\",\n \"10.5.0.0/16\"));\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n // If there is not specifying vpc_id, the module will launch a new vpc\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c (vswitchIds.length() \u003e 0 ? 0 : vswitchCidrs.length()); i++) {\n new Switch(\"vswitches-\" + i, SwitchArgs.builder()\n .vpcId(vpcId == \"\" ? StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input(vpc.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e _invoke.result()) : vpcId)\n .cidrBlock(vswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n // According to the vswitch cidr blocks to launch several vswitches\n for (var i = 0; i \u003c (terwayVswitchIds.length() \u003e 0 ? 0 : terwayVswitchCidrs.length()); i++) {\n new Switch(\"terwayVswitches-\" + i, SwitchArgs.builder()\n .vpcId(vpcId == \"\" ? StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input(vpc.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e _invoke.result()) : vpcId)\n .cidrBlock(terwayVswitchCidrs[range.value()])\n .zoneId(enhanced.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var k8s = new ManagedKubernetes(\"k8s\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .vswitchIds(vswitchIds.length() \u003e 0 ? StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(vswitchIds)\n .build()).result())\n .build()).result() : vswitchCidrs.length() \u003c 1 ? : StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(vswitches.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .podVswitchIds(terwayVswitchIds.length() \u003e 0 ? StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(terwayVswitchIds)\n .build()).result())\n .build()).result() : terwayVswitchCidrs.length() \u003c 1 ? : StdFunctions.join(JoinArgs.builder()\n .separator(\",\")\n .input(terwayVswitches.stream().map(element -\u003e element.id()).collect(toList()))\n .build()).applyValue(_invoke -\u003e StdFunctions.split(SplitArgs.builder()\n .separator(\",\")\n .text(_invoke.result())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .newNatGateway(true)\n .proxyMode(proxyMode)\n .serviceCidr(serviceCidr)\n .skipSetCertificateAuthority(true)\n .addons( \n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-eniip\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-plugin\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-provisioner\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"logtail-ds\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"nginx-ingress-controller\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressSlbNetworkType\", \"internet\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"arms-prometheus\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-node-problem-detector\")\n .config(serializeJson(\n jsonObject(\n\n )))\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nACK Cluster with Auto Mode\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"auto-mode\";\n// Proxy mode is option of kube-proxy.\nconst proxyMode = config.get(\"proxyMode\") || \"ipvs\";\n// The kubernetes service cidr block.\nconst serviceCidr = config.get(\"serviceCidr\") || \"192.168.0.0/16\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst auto_mode = new alicloud.cs.ManagedKubernetes(\"auto-mode\", {\n name: name,\n clusterSpec: \"ack.pro.small\",\n zoneIds: [enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId)],\n newNatGateway: true,\n isEnterpriseSecurityGroup: true,\n slbInternetEnabled: false,\n skipSetCertificateAuthority: true,\n proxyMode: proxyMode,\n serviceCidr: serviceCidr,\n ipStack: \"ipv4\",\n deletionProtection: true,\n autoMode: {\n enabled: true,\n },\n maintenanceWindow: {\n duration: \"3h\",\n weeklyPeriod: \"Monday\",\n enable: true,\n maintenanceTime: \"2025-07-07T00:00:00.000+08:00\",\n },\n operationPolicy: {\n clusterAutoUpgrade: {\n channel: \"stable\",\n enabled: true,\n },\n },\n controlPlaneLogComponents: [\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n ],\n controlPlaneLogTtl: \"30\",\n auditLogConfig: {\n enabled: true,\n },\n addons: [\n {\n name: \"metrics-server\",\n },\n {\n name: \"managed-coredns\",\n },\n {\n name: \"managed-security-inspector\",\n },\n {\n name: \"ack-cost-exporter\",\n },\n {\n name: \"terway-controlplane\",\n config: JSON.stringify({\n ENITrunking: \"true\",\n }),\n },\n {\n name: \"terway-eniip\",\n config: JSON.stringify({\n NetworkPolicy: \"false\",\n ENITrunking: \"true\",\n IPVlan: \"false\",\n }),\n },\n {\n name: \"csi-plugin\",\n },\n {\n name: \"managed-csiprovisioner\",\n },\n {\n name: \"storage-operator\",\n config: JSON.stringify({\n CnfsOssEnable: \"false\",\n CnfsNasEnable: \"false\",\n }),\n },\n {\n name: \"loongcollector\",\n config: JSON.stringify({\n IngressDashboardEnabled: \"true\",\n }),\n },\n {\n name: \"ack-node-problem-detector\",\n config: JSON.stringify({\n sls_project_name: \"\",\n }),\n },\n {\n name: \"nginx-ingress-controller\",\n disabled: true,\n },\n {\n name: \"alb-ingress-controller\",\n config: JSON.stringify({\n albIngress: {\n CreateDefaultALBConfig: false,\n },\n }),\n },\n {\n name: \"arms-prometheus\",\n config: JSON.stringify({\n prometheusMode: \"default\",\n }),\n },\n {\n name: \"alicloud-monitor-controller\",\n },\n {\n name: \"managed-aliyun-acr-credential-helper\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"auto-mode\"\n# Proxy mode is option of kube-proxy.\nproxy_mode = config.get(\"proxyMode\")\nif proxy_mode is None:\n proxy_mode = \"ipvs\"\n# The kubernetes service cidr block.\nservice_cidr = config.get(\"serviceCidr\")\nif service_cidr is None:\n service_cidr = \"192.168.0.0/16\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\nauto_mode = alicloud.cs.ManagedKubernetes(\"auto-mode\",\n name=name,\n cluster_spec=\"ack.pro.small\",\n zone_ids=[enhanced.zones[0].zone_id],\n new_nat_gateway=True,\n is_enterprise_security_group=True,\n slb_internet_enabled=False,\n skip_set_certificate_authority=True,\n proxy_mode=proxy_mode,\n service_cidr=service_cidr,\n ip_stack=\"ipv4\",\n deletion_protection=True,\n auto_mode={\n \"enabled\": True,\n },\n maintenance_window={\n \"duration\": \"3h\",\n \"weekly_period\": \"Monday\",\n \"enable\": True,\n \"maintenance_time\": \"2025-07-07T00:00:00.000+08:00\",\n },\n operation_policy={\n \"cluster_auto_upgrade\": {\n \"channel\": \"stable\",\n \"enabled\": True,\n },\n },\n control_plane_log_components=[\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n ],\n control_plane_log_ttl=\"30\",\n audit_log_config={\n \"enabled\": True,\n },\n addons=[\n {\n \"name\": \"metrics-server\",\n },\n {\n \"name\": \"managed-coredns\",\n },\n {\n \"name\": \"managed-security-inspector\",\n },\n {\n \"name\": \"ack-cost-exporter\",\n },\n {\n \"name\": \"terway-controlplane\",\n \"config\": json.dumps({\n \"ENITrunking\": \"true\",\n }),\n },\n {\n \"name\": \"terway-eniip\",\n \"config\": json.dumps({\n \"NetworkPolicy\": \"false\",\n \"ENITrunking\": \"true\",\n \"IPVlan\": \"false\",\n }),\n },\n {\n \"name\": \"csi-plugin\",\n },\n {\n \"name\": \"managed-csiprovisioner\",\n },\n {\n \"name\": \"storage-operator\",\n \"config\": json.dumps({\n \"CnfsOssEnable\": \"false\",\n \"CnfsNasEnable\": \"false\",\n }),\n },\n {\n \"name\": \"loongcollector\",\n \"config\": json.dumps({\n \"IngressDashboardEnabled\": \"true\",\n }),\n },\n {\n \"name\": \"ack-node-problem-detector\",\n \"config\": json.dumps({\n \"sls_project_name\": \"\",\n }),\n },\n {\n \"name\": \"nginx-ingress-controller\",\n \"disabled\": True,\n },\n {\n \"name\": \"alb-ingress-controller\",\n \"config\": json.dumps({\n \"albIngress\": {\n \"CreateDefaultALBConfig\": False,\n },\n }),\n },\n {\n \"name\": \"arms-prometheus\",\n \"config\": json.dumps({\n \"prometheusMode\": \"default\",\n }),\n },\n {\n \"name\": \"alicloud-monitor-controller\",\n },\n {\n \"name\": \"managed-aliyun-acr-credential-helper\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"auto-mode\";\n // Proxy mode is option of kube-proxy.\n var proxyMode = config.Get(\"proxyMode\") ?? \"ipvs\";\n // The kubernetes service cidr block.\n var serviceCidr = config.Get(\"serviceCidr\") ?? \"192.168.0.0/16\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var auto_mode = new AliCloud.CS.ManagedKubernetes(\"auto-mode\", new()\n {\n Name = name,\n ClusterSpec = \"ack.pro.small\",\n ZoneIds = new[]\n {\n enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n },\n NewNatGateway = true,\n IsEnterpriseSecurityGroup = true,\n SlbInternetEnabled = false,\n SkipSetCertificateAuthority = true,\n ProxyMode = proxyMode,\n ServiceCidr = serviceCidr,\n IpStack = \"ipv4\",\n DeletionProtection = true,\n AutoMode = new AliCloud.CS.Inputs.ManagedKubernetesAutoModeArgs\n {\n Enabled = true,\n },\n MaintenanceWindow = new AliCloud.CS.Inputs.ManagedKubernetesMaintenanceWindowArgs\n {\n Duration = \"3h\",\n WeeklyPeriod = \"Monday\",\n Enable = true,\n MaintenanceTime = \"2025-07-07T00:00:00.000+08:00\",\n },\n OperationPolicy = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyArgs\n {\n ClusterAutoUpgrade = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs\n {\n Channel = \"stable\",\n Enabled = true,\n },\n },\n ControlPlaneLogComponents = new[]\n {\n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\",\n },\n ControlPlaneLogTtl = \"30\",\n AuditLogConfig = new AliCloud.CS.Inputs.ManagedKubernetesAuditLogConfigArgs\n {\n Enabled = true,\n },\n Addons = new[]\n {\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"metrics-server\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-coredns\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-security-inspector\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-cost-exporter\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-controlplane\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"ENITrunking\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"terway-eniip\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"NetworkPolicy\"] = \"false\",\n [\"ENITrunking\"] = \"true\",\n [\"IPVlan\"] = \"false\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"csi-plugin\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-csiprovisioner\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"storage-operator\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"CnfsOssEnable\"] = \"false\",\n [\"CnfsNasEnable\"] = \"false\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"loongcollector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"IngressDashboardEnabled\"] = \"true\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"ack-node-problem-detector\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sls_project_name\"] = \"\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"nginx-ingress-controller\",\n Disabled = true,\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"alb-ingress-controller\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"albIngress\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CreateDefaultALBConfig\"] = false,\n },\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"arms-prometheus\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"prometheusMode\"] = \"default\",\n }),\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"alicloud-monitor-controller\",\n },\n new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs\n {\n Name = \"managed-aliyun-acr-credential-helper\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"auto-mode\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t// Proxy mode is option of kube-proxy.\n\t\tproxyMode := \"ipvs\"\n\t\tif param := cfg.Get(\"proxyMode\"); param != \"\" {\n\t\t\tproxyMode = param\n\t\t}\n\t\t// The kubernetes service cidr block.\n\t\tserviceCidr := \"192.168.0.0/16\"\n\t\tif param := cfg.Get(\"serviceCidr\"); param != \"\" {\n\t\t\tserviceCidr = param\n\t\t}\n\t\tenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\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\"ENITrunking\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"NetworkPolicy\": \"false\",\n\t\t\t\"ENITrunking\": \"true\",\n\t\t\t\"IPVlan\": \"false\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"CnfsOssEnable\": \"false\",\n\t\t\t\"CnfsNasEnable\": \"false\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"IngressDashboardEnabled\": \"true\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\ttmpJSON4, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sls_project_name\": \"\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson4 := string(tmpJSON4)\n\t\ttmpJSON5, err := json.Marshal(map[string]interface{}{\n\t\t\t\"albIngress\": map[string]interface{}{\n\t\t\t\t\"CreateDefaultALBConfig\": false,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson5 := string(tmpJSON5)\n\t\ttmpJSON6, err := json.Marshal(map[string]interface{}{\n\t\t\t\"prometheusMode\": \"default\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson6 := string(tmpJSON6)\n\t\t_, err = cs.NewManagedKubernetes(ctx, \"auto-mode\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(enhanced.Zones[0].ZoneId),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tIsEnterpriseSecurityGroup: pulumi.Bool(true),\n\t\t\tSlbInternetEnabled: pulumi.Bool(false),\n\t\t\tSkipSetCertificateAuthority: pulumi.Bool(true),\n\t\t\tProxyMode: pulumi.String(proxyMode),\n\t\t\tServiceCidr: pulumi.String(serviceCidr),\n\t\t\tIpStack: pulumi.String(\"ipv4\"),\n\t\t\tDeletionProtection: pulumi.Bool(true),\n\t\t\tAutoMode: \u0026cs.ManagedKubernetesAutoModeArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tMaintenanceWindow: \u0026cs.ManagedKubernetesMaintenanceWindowArgs{\n\t\t\t\tDuration: pulumi.String(\"3h\"),\n\t\t\t\tWeeklyPeriod: pulumi.String(\"Monday\"),\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tMaintenanceTime: pulumi.String(\"2025-07-07T00:00:00.000+08:00\"),\n\t\t\t},\n\t\t\tOperationPolicy: \u0026cs.ManagedKubernetesOperationPolicyArgs{\n\t\t\t\tClusterAutoUpgrade: \u0026cs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs{\n\t\t\t\t\tChannel: pulumi.String(\"stable\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tControlPlaneLogComponents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"apiserver\"),\n\t\t\t\tpulumi.String(\"kcm\"),\n\t\t\t\tpulumi.String(\"scheduler\"),\n\t\t\t\tpulumi.String(\"ccm\"),\n\t\t\t\tpulumi.String(\"controlplane-events\"),\n\t\t\t\tpulumi.String(\"alb\"),\n\t\t\t\tpulumi.String(\"ack-goatscaler\"),\n\t\t\t\tpulumi.String(\"coredns\"),\n\t\t\t\tpulumi.String(\"gatekeeper\"),\n\t\t\t},\n\t\t\tControlPlaneLogTtl: pulumi.String(\"30\"),\n\t\t\tAuditLogConfig: \u0026cs.ManagedKubernetesAuditLogConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tAddons: cs.ManagedKubernetesAddonArray{\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"metrics-server\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-coredns\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-security-inspector\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"ack-cost-exporter\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"terway-controlplane\"),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"terway-eniip\"),\n\t\t\t\t\tConfig: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"csi-plugin\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-csiprovisioner\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"storage-operator\"),\n\t\t\t\t\tConfig: pulumi.String(json2),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"loongcollector\"),\n\t\t\t\t\tConfig: pulumi.String(json3),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"ack-node-problem-detector\"),\n\t\t\t\t\tConfig: pulumi.String(json4),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"nginx-ingress-controller\"),\n\t\t\t\t\tDisabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"alb-ingress-controller\"),\n\t\t\t\t\tConfig: pulumi.String(json5),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"arms-prometheus\"),\n\t\t\t\t\tConfig: pulumi.String(json6),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"alicloud-monitor-controller\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.ManagedKubernetesAddonArgs{\n\t\t\t\t\tName: pulumi.String(\"managed-aliyun-acr-credential-helper\"),\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAutoModeArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesMaintenanceWindowArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAuditLogConfigArgs;\nimport com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;\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 name = config.get(\"name\").orElse(\"auto-mode\");\n final var proxyMode = config.get(\"proxyMode\").orElse(\"ipvs\");\n final var serviceCidr = config.get(\"serviceCidr\").orElse(\"192.168.0.0/16\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var auto_mode = new ManagedKubernetes(\"auto-mode\", ManagedKubernetesArgs.builder()\n .name(name)\n .clusterSpec(\"ack.pro.small\")\n .zoneIds(enhanced.zones()[0].zoneId())\n .newNatGateway(true)\n .isEnterpriseSecurityGroup(true)\n .slbInternetEnabled(false)\n .skipSetCertificateAuthority(true)\n .proxyMode(proxyMode)\n .serviceCidr(serviceCidr)\n .ipStack(\"ipv4\")\n .deletionProtection(true)\n .autoMode(ManagedKubernetesAutoModeArgs.builder()\n .enabled(true)\n .build())\n .maintenanceWindow(ManagedKubernetesMaintenanceWindowArgs.builder()\n .duration(\"3h\")\n .weeklyPeriod(\"Monday\")\n .enable(true)\n .maintenanceTime(\"2025-07-07T00:00:00.000+08:00\")\n .build())\n .operationPolicy(ManagedKubernetesOperationPolicyArgs.builder()\n .clusterAutoUpgrade(ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs.builder()\n .channel(\"stable\")\n .enabled(true)\n .build())\n .build())\n .controlPlaneLogComponents( \n \"apiserver\",\n \"kcm\",\n \"scheduler\",\n \"ccm\",\n \"controlplane-events\",\n \"alb\",\n \"ack-goatscaler\",\n \"coredns\",\n \"gatekeeper\")\n .controlPlaneLogTtl(\"30\")\n .auditLogConfig(ManagedKubernetesAuditLogConfigArgs.builder()\n .enabled(true)\n .build())\n .addons( \n ManagedKubernetesAddonArgs.builder()\n .name(\"metrics-server\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-coredns\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-security-inspector\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-cost-exporter\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-controlplane\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"ENITrunking\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"terway-eniip\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"NetworkPolicy\", \"false\"),\n jsonProperty(\"ENITrunking\", \"true\"),\n jsonProperty(\"IPVlan\", \"false\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"csi-plugin\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-csiprovisioner\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"storage-operator\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"CnfsOssEnable\", \"false\"),\n jsonProperty(\"CnfsNasEnable\", \"false\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"loongcollector\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"IngressDashboardEnabled\", \"true\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"ack-node-problem-detector\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"sls_project_name\", \"\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"nginx-ingress-controller\")\n .disabled(true)\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"alb-ingress-controller\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"albIngress\", jsonObject(\n jsonProperty(\"CreateDefaultALBConfig\", false)\n ))\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"arms-prometheus\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"prometheusMode\", \"default\")\n )))\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"alicloud-monitor-controller\")\n .build(),\n ManagedKubernetesAddonArgs.builder()\n .name(\"managed-aliyun-acr-credential-helper\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: auto-mode\n proxyMode:\n type: string\n default: ipvs\n serviceCidr:\n type: string\n default: 192.168.0.0/16\nresources:\n auto-mode:\n type: alicloud:cs:ManagedKubernetes\n properties:\n name: ${name}\n clusterSpec: ack.pro.small\n zoneIds:\n - ${enhanced.zones[0].zoneId}\n newNatGateway: true\n isEnterpriseSecurityGroup: true\n slbInternetEnabled: false\n skipSetCertificateAuthority: true\n proxyMode: ${proxyMode}\n serviceCidr: ${serviceCidr}\n ipStack: ipv4\n deletionProtection: true\n autoMode:\n enabled: true\n maintenanceWindow:\n duration: 3h\n weeklyPeriod: Monday\n enable: true\n maintenanceTime: 2025-07-07T00:00:00.000+08:00\n operationPolicy:\n clusterAutoUpgrade:\n channel: stable\n enabled: true\n controlPlaneLogComponents:\n - apiserver\n - kcm\n - scheduler\n - ccm\n - controlplane-events\n - alb\n - ack-goatscaler\n - coredns\n - gatekeeper\n controlPlaneLogTtl: '30'\n auditLogConfig:\n enabled: true\n addons:\n - name: metrics-server\n - name: managed-coredns\n - name: managed-security-inspector\n - name: ack-cost-exporter\n - name: terway-controlplane\n config:\n fn::toJSON:\n ENITrunking: 'true'\n - name: terway-eniip\n config:\n fn::toJSON:\n NetworkPolicy: 'false'\n ENITrunking: 'true'\n IPVlan: 'false'\n - name: csi-plugin\n - name: managed-csiprovisioner\n - name: storage-operator\n config:\n fn::toJSON:\n CnfsOssEnable: 'false'\n CnfsNasEnable: 'false'\n - name: loongcollector\n config:\n fn::toJSON:\n IngressDashboardEnabled: 'true'\n - name: ack-node-problem-detector\n config:\n fn::toJSON:\n sls_project_name: \"\"\n - name: nginx-ingress-controller\n disabled: true\n - name: alb-ingress-controller\n config:\n fn::toJSON:\n albIngress:\n CreateDefaultALBConfig: false\n - name: arms-prometheus\n config:\n fn::toJSON:\n prometheusMode: default\n - name: alicloud-monitor-controller\n - name: managed-aliyun-acr-credential-helper\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/managedKubernetes:ManagedKubernetes main cluster_id\n```\n\n", "properties": { "addons": { "type": "array", @@ -132563,6 +135146,7 @@ "connections", "controlPlaneLogProject", "controlPlaneLogTtl", + "deletionProtection", "ipStack", "isEnterpriseSecurityGroup", "loadBalancerSpec", @@ -133069,8 +135653,12 @@ } }, "alicloud:cs/nodePool:NodePool": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst cloudEfficiency = enhanced.then(enhanced =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: enhanced.zones?.[0]?.zoneId,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n systemDiskCategory: \"cloud_efficiency\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: enhanced.then(enhanced =\u003e enhanced.zones?.[0]?.zoneId),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: `terraform-example-${_default.result}`,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n enableRrsa: true,\n});\nconst defaultKeyPair = new alicloud.ecs.KeyPair(\"default\", {keyPairName: `terraform-example-${_default.result}`});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n nodePoolName: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n labels: [\n {\n key: \"test1\",\n value: \"nodepool\",\n },\n {\n key: \"test2\",\n value: \"nodepool\",\n },\n ],\n taints: [\n {\n key: \"tf\",\n effect: \"NoSchedule\",\n value: \"example\",\n },\n {\n key: \"tf2\",\n effect: \"NoSchedule\",\n value: \"example2\",\n },\n ],\n});\n//The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\nconst desiredSize = new alicloud.cs.NodePool(\"desired_size\", {\n nodePoolName: \"desired_size\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"0\",\n});\n// Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\nconst maintenance = new alicloud.cs.NodePool(\"maintenance\", {\n nodePoolName: \"maintenance\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"1\",\n management: {\n enable: true,\n autoRepair: true,\n autoRepairPolicy: {\n restartNode: true,\n },\n autoUpgrade: true,\n autoUpgradePolicy: {\n autoUpgradeKubelet: true,\n },\n autoVulFix: true,\n autoVulFixPolicy: {\n vulLevel: \"asap\",\n restartNode: true,\n },\n maxUnavailable: 1,\n },\n});\n//Create a node pool with spot instance.\nconst spotInstance = new alicloud.cs.NodePool(\"spot_instance\", {\n nodePoolName: \"spot_instance\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [\n cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id),\n cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[1]?.id),\n ],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n desiredSize: \"1\",\n spotStrategy: \"SpotWithPriceLimit\",\n spotPriceLimits: [\n {\n instanceType: cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id),\n priceLimit: \"0.70\",\n },\n {\n instanceType: cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[1]?.id),\n priceLimit: \"0.72\",\n },\n ],\n});\n//Use Spot instances to create a node pool with auto-scaling enabled\nconst spotAutoScaling = new alicloud.cs.NodePool(\"spot_auto_scaling\", {\n nodePoolName: \"spot_auto_scaling\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n scalingConfig: {\n minSize: 1,\n maxSize: 10,\n type: \"spot\",\n },\n spotStrategy: \"SpotWithPriceLimit\",\n spotPriceLimits: [{\n instanceType: cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id),\n priceLimit: \"0.70\",\n }],\n});\n//Create a `PrePaid` node pool.\nconst prepaidNode = new alicloud.cs.NodePool(\"prepaid_node\", {\n nodePoolName: \"prepaid_node\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n keyName: defaultKeyPair.keyPairName,\n instanceChargeType: \"PrePaid\",\n period: 1,\n periodUnit: \"Month\",\n autoRenew: true,\n autoRenewPeriod: 1,\n installCloudMonitor: true,\n});\n//#Create a node pool with customized kubelet parameters\nconst customizedKubelet = new alicloud.cs.NodePool(\"customized_kubelet\", {\n nodePoolName: \"customized_kubelet\",\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [cloudEfficiency.then(cloudEfficiency =\u003e cloudEfficiency.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n instanceChargeType: \"PostPaid\",\n desiredSize: \"0\",\n kubeletConfiguration: {\n registryPullQps: \"10\",\n registryBurst: \"5\",\n eventRecordQps: \"10\",\n eventBurst: \"5\",\n serializeImagePulls: \"true\",\n evictionHard: {\n \"memory.available\": \"1024Mi\",\n \"nodefs.available\": \"10%\",\n \"nodefs.inodesFree\": \"5%\",\n \"imagefs.available\": \"10%\",\n },\n systemReserved: {\n cpu: \"1\",\n memory: \"1Gi\",\n \"ephemeral-storage\": \"10Gi\",\n },\n kubeReserved: {\n cpu: \"500m\",\n memory: \"1Gi\",\n },\n containerLogMaxSize: \"200Mi\",\n containerLogMaxFiles: \"3\",\n maxPods: \"100\",\n readOnlyPort: \"0\",\n allowedUnsafeSysctls: [\"net.ipv4.route.min_pmtu\"],\n },\n rollingPolicy: {\n maxParallelism: 1,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nenhanced = alicloud.vpc.get_enhanced_nat_available_zones()\ncloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\",\n system_disk_category=\"cloud_efficiency\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=enhanced.zones[0].zone_id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=f\"terraform-example-{default['result']}\",\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True,\n enable_rrsa=True)\ndefault_key_pair = alicloud.ecs.KeyPair(\"default\", key_pair_name=f\"terraform-example-{default['result']}\")\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n node_pool_name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n labels=[\n {\n \"key\": \"test1\",\n \"value\": \"nodepool\",\n },\n {\n \"key\": \"test2\",\n \"value\": \"nodepool\",\n },\n ],\n taints=[\n {\n \"key\": \"tf\",\n \"effect\": \"NoSchedule\",\n \"value\": \"example\",\n },\n {\n \"key\": \"tf2\",\n \"effect\": \"NoSchedule\",\n \"value\": \"example2\",\n },\n ])\n#The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\ndesired_size = alicloud.cs.NodePool(\"desired_size\",\n node_pool_name=\"desired_size\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"0\")\n# Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\nmaintenance = alicloud.cs.NodePool(\"maintenance\",\n node_pool_name=\"maintenance\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"1\",\n management={\n \"enable\": True,\n \"auto_repair\": True,\n \"auto_repair_policy\": {\n \"restart_node\": True,\n },\n \"auto_upgrade\": True,\n \"auto_upgrade_policy\": {\n \"auto_upgrade_kubelet\": True,\n },\n \"auto_vul_fix\": True,\n \"auto_vul_fix_policy\": {\n \"vul_level\": \"asap\",\n \"restart_node\": True,\n },\n \"max_unavailable\": 1,\n })\n#Create a node pool with spot instance.\nspot_instance = alicloud.cs.NodePool(\"spot_instance\",\n node_pool_name=\"spot_instance\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[\n cloud_efficiency.instance_types[0].id,\n cloud_efficiency.instance_types[1].id,\n ],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n desired_size=\"1\",\n spot_strategy=\"SpotWithPriceLimit\",\n spot_price_limits=[\n {\n \"instance_type\": cloud_efficiency.instance_types[0].id,\n \"price_limit\": \"0.70\",\n },\n {\n \"instance_type\": cloud_efficiency.instance_types[1].id,\n \"price_limit\": \"0.72\",\n },\n ])\n#Use Spot instances to create a node pool with auto-scaling enabled\nspot_auto_scaling = alicloud.cs.NodePool(\"spot_auto_scaling\",\n node_pool_name=\"spot_auto_scaling\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n scaling_config={\n \"min_size\": 1,\n \"max_size\": 10,\n \"type\": \"spot\",\n },\n spot_strategy=\"SpotWithPriceLimit\",\n spot_price_limits=[{\n \"instance_type\": cloud_efficiency.instance_types[0].id,\n \"price_limit\": \"0.70\",\n }])\n#Create a `PrePaid` node pool.\nprepaid_node = alicloud.cs.NodePool(\"prepaid_node\",\n node_pool_name=\"prepaid_node\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n key_name=default_key_pair.key_pair_name,\n instance_charge_type=\"PrePaid\",\n period=1,\n period_unit=\"Month\",\n auto_renew=True,\n auto_renew_period=1,\n install_cloud_monitor=True)\n##Create a node pool with customized kubelet parameters\ncustomized_kubelet = alicloud.cs.NodePool(\"customized_kubelet\",\n node_pool_name=\"customized_kubelet\",\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[cloud_efficiency.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n instance_charge_type=\"PostPaid\",\n desired_size=\"0\",\n kubelet_configuration={\n \"registry_pull_qps\": \"10\",\n \"registry_burst\": \"5\",\n \"event_record_qps\": \"10\",\n \"event_burst\": \"5\",\n \"serialize_image_pulls\": \"true\",\n \"eviction_hard\": {\n \"memory.available\": \"1024Mi\",\n \"nodefs.available\": \"10%\",\n \"nodefs.inodesFree\": \"5%\",\n \"imagefs.available\": \"10%\",\n },\n \"system_reserved\": {\n \"cpu\": \"1\",\n \"memory\": \"1Gi\",\n \"ephemeral-storage\": \"10Gi\",\n },\n \"kube_reserved\": {\n \"cpu\": \"500m\",\n \"memory\": \"1Gi\",\n },\n \"container_log_max_size\": \"200Mi\",\n \"container_log_max_files\": \"3\",\n \"max_pods\": \"100\",\n \"read_only_port\": \"0\",\n \"allowed_unsafe_sysctls\": [\"net.ipv4.route.min_pmtu\"],\n },\n rolling_policy={\n \"max_parallelism\": 1,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var cloudEfficiency = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = $\"terraform-example-{@default.Result}\",\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n EnableRrsa = true,\n });\n\n var defaultKeyPair = new AliCloud.Ecs.KeyPair(\"default\", new()\n {\n KeyPairName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n NodePoolName = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n Labels = new[]\n {\n new AliCloud.CS.Inputs.NodePoolLabelArgs\n {\n Key = \"test1\",\n Value = \"nodepool\",\n },\n new AliCloud.CS.Inputs.NodePoolLabelArgs\n {\n Key = \"test2\",\n Value = \"nodepool\",\n },\n },\n Taints = new[]\n {\n new AliCloud.CS.Inputs.NodePoolTaintArgs\n {\n Key = \"tf\",\n Effect = \"NoSchedule\",\n Value = \"example\",\n },\n new AliCloud.CS.Inputs.NodePoolTaintArgs\n {\n Key = \"tf2\",\n Effect = \"NoSchedule\",\n Value = \"example2\",\n },\n },\n });\n\n //The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\n var desiredSize = new AliCloud.CS.NodePool(\"desired_size\", new()\n {\n NodePoolName = \"desired_size\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"0\",\n });\n\n // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\n var maintenance = new AliCloud.CS.NodePool(\"maintenance\", new()\n {\n NodePoolName = \"maintenance\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"1\",\n Management = new AliCloud.CS.Inputs.NodePoolManagementArgs\n {\n Enable = true,\n AutoRepair = true,\n AutoRepairPolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoRepairPolicyArgs\n {\n RestartNode = true,\n },\n AutoUpgrade = true,\n AutoUpgradePolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoUpgradePolicyArgs\n {\n AutoUpgradeKubelet = true,\n },\n AutoVulFix = true,\n AutoVulFixPolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoVulFixPolicyArgs\n {\n VulLevel = \"asap\",\n RestartNode = true,\n },\n MaxUnavailable = 1,\n },\n });\n\n //Create a node pool with spot instance.\n var spotInstance = new AliCloud.CS.NodePool(\"spot_instance\", new()\n {\n NodePoolName = \"spot_instance\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[1]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n DesiredSize = \"1\",\n SpotStrategy = \"SpotWithPriceLimit\",\n SpotPriceLimits = new[]\n {\n new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs\n {\n InstanceType = cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n PriceLimit = \"0.70\",\n },\n new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs\n {\n InstanceType = cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[1]?.Id),\n PriceLimit = \"0.72\",\n },\n },\n });\n\n //Use Spot instances to create a node pool with auto-scaling enabled\n var spotAutoScaling = new AliCloud.CS.NodePool(\"spot_auto_scaling\", new()\n {\n NodePoolName = \"spot_auto_scaling\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n ScalingConfig = new AliCloud.CS.Inputs.NodePoolScalingConfigArgs\n {\n MinSize = 1,\n MaxSize = 10,\n Type = \"spot\",\n },\n SpotStrategy = \"SpotWithPriceLimit\",\n SpotPriceLimits = new[]\n {\n new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs\n {\n InstanceType = cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n PriceLimit = \"0.70\",\n },\n },\n });\n\n //Create a `PrePaid` node pool.\n var prepaidNode = new AliCloud.CS.NodePool(\"prepaid_node\", new()\n {\n NodePoolName = \"prepaid_node\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n KeyName = defaultKeyPair.KeyPairName,\n InstanceChargeType = \"PrePaid\",\n Period = 1,\n PeriodUnit = \"Month\",\n AutoRenew = true,\n AutoRenewPeriod = 1,\n InstallCloudMonitor = true,\n });\n\n //#Create a node pool with customized kubelet parameters\n var customizedKubelet = new AliCloud.CS.NodePool(\"customized_kubelet\", new()\n {\n NodePoolName = \"customized_kubelet\",\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n cloudEfficiency.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n InstanceChargeType = \"PostPaid\",\n DesiredSize = \"0\",\n KubeletConfiguration = new AliCloud.CS.Inputs.NodePoolKubeletConfigurationArgs\n {\n RegistryPullQps = \"10\",\n RegistryBurst = \"5\",\n EventRecordQps = \"10\",\n EventBurst = \"5\",\n SerializeImagePulls = \"true\",\n EvictionHard = \n {\n { \"memory.available\", \"1024Mi\" },\n { \"nodefs.available\", \"10%\" },\n { \"nodefs.inodesFree\", \"5%\" },\n { \"imagefs.available\", \"10%\" },\n },\n SystemReserved = \n {\n { \"cpu\", \"1\" },\n { \"memory\", \"1Gi\" },\n { \"ephemeral-storage\", \"10Gi\" },\n },\n KubeReserved = \n {\n { \"cpu\", \"500m\" },\n { \"memory\", \"1Gi\" },\n },\n ContainerLogMaxSize = \"200Mi\",\n ContainerLogMaxFiles = \"3\",\n MaxPods = \"100\",\n ReadOnlyPort = \"0\",\n AllowedUnsafeSysctls = new[]\n {\n \"net.ipv4.route.min_pmtu\",\n },\n },\n RollingPolicy = new AliCloud.CS.Inputs.NodePoolRollingPolicyArgs\n {\n MaxParallelism = 1,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tenhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudEfficiency, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(enhanced.Zones[0].ZoneId),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(enhanced.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t\tEnableRrsa: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKeyPair, err := ecs.NewKeyPair(ctx, \"default\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tLabels: cs.NodePoolLabelArray{\n\t\t\t\t\u0026cs.NodePoolLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"test1\"),\n\t\t\t\t\tValue: pulumi.String(\"nodepool\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.NodePoolLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"test2\"),\n\t\t\t\t\tValue: pulumi.String(\"nodepool\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTaints: cs.NodePoolTaintArray{\n\t\t\t\t\u0026cs.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"tf\"),\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"tf2\"),\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\tValue: pulumi.String(\"example2\"),\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// The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\n\t\t_, err = cs.NewNodePool(ctx, \"desired_size\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"desired_size\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tDesiredSize: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\n\t\t_, err = cs.NewNodePool(ctx, \"maintenance\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"maintenance\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tDesiredSize: pulumi.String(\"1\"),\n\t\t\tManagement: \u0026cs.NodePoolManagementArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tAutoRepair: pulumi.Bool(true),\n\t\t\t\tAutoRepairPolicy: \u0026cs.NodePoolManagementAutoRepairPolicyArgs{\n\t\t\t\t\tRestartNode: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAutoUpgrade: pulumi.Bool(true),\n\t\t\t\tAutoUpgradePolicy: \u0026cs.NodePoolManagementAutoUpgradePolicyArgs{\n\t\t\t\t\tAutoUpgradeKubelet: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAutoVulFix: pulumi.Bool(true),\n\t\t\t\tAutoVulFixPolicy: \u0026cs.NodePoolManagementAutoVulFixPolicyArgs{\n\t\t\t\t\tVulLevel: pulumi.String(\"asap\"),\n\t\t\t\t\tRestartNode: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tMaxUnavailable: 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\t// Create a node pool with spot instance.\n\t\t_, err = cs.NewNodePool(ctx, \"spot_instance\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"spot_instance\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[1].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tDesiredSize: pulumi.String(\"1\"),\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSpotPriceLimits: cs.NodePoolSpotPriceLimitArray{\n\t\t\t\t\u0026cs.NodePoolSpotPriceLimitArgs{\n\t\t\t\t\tInstanceType: pulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t\t\tPriceLimit: pulumi.String(\"0.70\"),\n\t\t\t\t},\n\t\t\t\t\u0026cs.NodePoolSpotPriceLimitArgs{\n\t\t\t\t\tInstanceType: pulumi.String(cloudEfficiency.InstanceTypes[1].Id),\n\t\t\t\t\tPriceLimit: pulumi.String(\"0.72\"),\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// Use Spot instances to create a node pool with auto-scaling enabled\n\t\t_, err = cs.NewNodePool(ctx, \"spot_auto_scaling\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"spot_auto_scaling\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tScalingConfig: \u0026cs.NodePoolScalingConfigArgs{\n\t\t\t\tMinSize: pulumi.Int(1),\n\t\t\t\tMaxSize: pulumi.Int(10),\n\t\t\t\tType: pulumi.String(\"spot\"),\n\t\t\t},\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSpotPriceLimits: cs.NodePoolSpotPriceLimitArray{\n\t\t\t\t\u0026cs.NodePoolSpotPriceLimitArgs{\n\t\t\t\t\tInstanceType: pulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t\t\tPriceLimit: pulumi.String(\"0.70\"),\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 a `PrePaid` node pool.\n\t\t_, err = cs.NewNodePool(ctx, \"prepaid_node\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"prepaid_node\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tKeyName: defaultKeyPair.KeyPairName,\n\t\t\tInstanceChargeType: pulumi.String(\"PrePaid\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tAutoRenewPeriod: pulumi.Int(1),\n\t\t\tInstallCloudMonitor: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// #Create a node pool with customized kubelet parameters\n\t\t_, err = cs.NewNodePool(ctx, \"customized_kubelet\", \u0026cs.NodePoolArgs{\n\t\t\tNodePoolName: pulumi.String(\"customized_kubelet\"),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(cloudEfficiency.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tDesiredSize: pulumi.String(\"0\"),\n\t\t\tKubeletConfiguration: \u0026cs.NodePoolKubeletConfigurationArgs{\n\t\t\t\tRegistryPullQps: pulumi.String(\"10\"),\n\t\t\t\tRegistryBurst: pulumi.String(\"5\"),\n\t\t\t\tEventRecordQps: pulumi.String(\"10\"),\n\t\t\t\tEventBurst: pulumi.String(\"5\"),\n\t\t\t\tSerializeImagePulls: pulumi.String(\"true\"),\n\t\t\t\tEvictionHard: pulumi.StringMap{\n\t\t\t\t\t\"memory.available\": pulumi.String(\"1024Mi\"),\n\t\t\t\t\t\"nodefs.available\": pulumi.String(\"10%\"),\n\t\t\t\t\t\"nodefs.inodesFree\": pulumi.String(\"5%\"),\n\t\t\t\t\t\"imagefs.available\": pulumi.String(\"10%\"),\n\t\t\t\t},\n\t\t\t\tSystemReserved: pulumi.StringMap{\n\t\t\t\t\t\"cpu\": pulumi.String(\"1\"),\n\t\t\t\t\t\"memory\": pulumi.String(\"1Gi\"),\n\t\t\t\t\t\"ephemeral-storage\": pulumi.String(\"10Gi\"),\n\t\t\t\t},\n\t\t\t\tKubeReserved: pulumi.StringMap{\n\t\t\t\t\t\"cpu\": pulumi.String(\"500m\"),\n\t\t\t\t\t\"memory\": pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t\tContainerLogMaxSize: pulumi.String(\"200Mi\"),\n\t\t\t\tContainerLogMaxFiles: pulumi.String(\"3\"),\n\t\t\t\tMaxPods: pulumi.String(\"100\"),\n\t\t\t\tReadOnlyPort: pulumi.String(\"0\"),\n\t\t\t\tAllowedUnsafeSysctls: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"net.ipv4.route.min_pmtu\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRollingPolicy: \u0026cs.NodePoolRollingPolicyArgs{\n\t\t\t\tMaxParallelism: 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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolLabelArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolTaintArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolManagementArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoRepairPolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoUpgradePolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoVulFixPolicyArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolSpotPriceLimitArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolScalingConfigArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolKubeletConfigurationArgs;\nimport com.pulumi.alicloud.cs.inputs.NodePoolRollingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n final var cloudEfficiency = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(enhanced.zones()[0].zoneId())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(enhanced.zones()[0].zoneId())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(String.format(\"terraform-example-%s\", default_.result()))\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .enableRrsa(true)\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .nodePoolName(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .labels( \n NodePoolLabelArgs.builder()\n .key(\"test1\")\n .value(\"nodepool\")\n .build(),\n NodePoolLabelArgs.builder()\n .key(\"test2\")\n .value(\"nodepool\")\n .build())\n .taints( \n NodePoolTaintArgs.builder()\n .key(\"tf\")\n .effect(\"NoSchedule\")\n .value(\"example\")\n .build(),\n NodePoolTaintArgs.builder()\n .key(\"tf2\")\n .effect(\"NoSchedule\")\n .value(\"example2\")\n .build())\n .build());\n\n //The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\n var desiredSize = new NodePool(\"desiredSize\", NodePoolArgs.builder()\n .nodePoolName(\"desired_size\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"0\")\n .build());\n\n // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\n var maintenance = new NodePool(\"maintenance\", NodePoolArgs.builder()\n .nodePoolName(\"maintenance\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"1\")\n .management(NodePoolManagementArgs.builder()\n .enable(true)\n .autoRepair(true)\n .autoRepairPolicy(NodePoolManagementAutoRepairPolicyArgs.builder()\n .restartNode(true)\n .build())\n .autoUpgrade(true)\n .autoUpgradePolicy(NodePoolManagementAutoUpgradePolicyArgs.builder()\n .autoUpgradeKubelet(true)\n .build())\n .autoVulFix(true)\n .autoVulFixPolicy(NodePoolManagementAutoVulFixPolicyArgs.builder()\n .vulLevel(\"asap\")\n .restartNode(true)\n .build())\n .maxUnavailable(1)\n .build())\n .build());\n\n //Create a node pool with spot instance.\n var spotInstance = new NodePool(\"spotInstance\", NodePoolArgs.builder()\n .nodePoolName(\"spot_instance\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes( \n cloudEfficiency.instanceTypes()[0].id(),\n cloudEfficiency.instanceTypes()[1].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .desiredSize(\"1\")\n .spotStrategy(\"SpotWithPriceLimit\")\n .spotPriceLimits( \n NodePoolSpotPriceLimitArgs.builder()\n .instanceType(cloudEfficiency.instanceTypes()[0].id())\n .priceLimit(\"0.70\")\n .build(),\n NodePoolSpotPriceLimitArgs.builder()\n .instanceType(cloudEfficiency.instanceTypes()[1].id())\n .priceLimit(\"0.72\")\n .build())\n .build());\n\n //Use Spot instances to create a node pool with auto-scaling enabled\n var spotAutoScaling = new NodePool(\"spotAutoScaling\", NodePoolArgs.builder()\n .nodePoolName(\"spot_auto_scaling\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .scalingConfig(NodePoolScalingConfigArgs.builder()\n .minSize(1)\n .maxSize(10)\n .type(\"spot\")\n .build())\n .spotStrategy(\"SpotWithPriceLimit\")\n .spotPriceLimits(NodePoolSpotPriceLimitArgs.builder()\n .instanceType(cloudEfficiency.instanceTypes()[0].id())\n .priceLimit(\"0.70\")\n .build())\n .build());\n\n //Create a `PrePaid` node pool.\n var prepaidNode = new NodePool(\"prepaidNode\", NodePoolArgs.builder()\n .nodePoolName(\"prepaid_node\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .keyName(defaultKeyPair.keyPairName())\n .instanceChargeType(\"PrePaid\")\n .period(1)\n .periodUnit(\"Month\")\n .autoRenew(true)\n .autoRenewPeriod(1)\n .installCloudMonitor(true)\n .build());\n\n //#Create a node pool with customized kubelet parameters\n var customizedKubelet = new NodePool(\"customizedKubelet\", NodePoolArgs.builder()\n .nodePoolName(\"customized_kubelet\")\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(cloudEfficiency.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .instanceChargeType(\"PostPaid\")\n .desiredSize(\"0\")\n .kubeletConfiguration(NodePoolKubeletConfigurationArgs.builder()\n .registryPullQps(\"10\")\n .registryBurst(\"5\")\n .eventRecordQps(\"10\")\n .eventBurst(\"5\")\n .serializeImagePulls(\"true\")\n .evictionHard(Map.ofEntries(\n Map.entry(\"memory.available\", \"1024Mi\"),\n Map.entry(\"nodefs.available\", \"10%\"),\n Map.entry(\"nodefs.inodesFree\", \"5%\"),\n Map.entry(\"imagefs.available\", \"10%\")\n ))\n .systemReserved(Map.ofEntries(\n Map.entry(\"cpu\", \"1\"),\n Map.entry(\"memory\", \"1Gi\"),\n Map.entry(\"ephemeral-storage\", \"10Gi\")\n ))\n .kubeReserved(Map.ofEntries(\n Map.entry(\"cpu\", \"500m\"),\n Map.entry(\"memory\", \"1Gi\")\n ))\n .containerLogMaxSize(\"200Mi\")\n .containerLogMaxFiles(\"3\")\n .maxPods(\"100\")\n .readOnlyPort(\"0\")\n .allowedUnsafeSysctls(\"net.ipv4.route.min_pmtu\")\n .build())\n .rollingPolicy(NodePoolRollingPolicyArgs.builder()\n .maxParallelism(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${enhanced.zones[0].zoneId}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: terraform-example-${default.result}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n enableRrsa: true\n defaultKeyPair:\n type: alicloud:ecs:KeyPair\n name: default\n properties:\n keyPairName: terraform-example-${default.result}\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n nodePoolName: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n labels:\n - key: test1\n value: nodepool\n - key: test2\n value: nodepool\n taints:\n - key: tf\n effect: NoSchedule\n value: example\n - key: tf2\n effect: NoSchedule\n value: example2\n #The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.\n desiredSize:\n type: alicloud:cs:NodePool\n name: desired_size\n properties:\n nodePoolName: desired_size\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 0\n # Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.\n maintenance:\n type: alicloud:cs:NodePool\n properties:\n nodePoolName: maintenance\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40 # only key_name is supported in the management node pool\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 1 # management node pool configuration.\n management:\n enable: true\n autoRepair: true\n autoRepairPolicy:\n restartNode: true\n autoUpgrade: true\n autoUpgradePolicy:\n autoUpgradeKubelet: true\n autoVulFix: true\n autoVulFixPolicy:\n vulLevel: asap\n restartNode: true\n maxUnavailable: 1\n #Create a node pool with spot instance.\n spotInstance:\n type: alicloud:cs:NodePool\n name: spot_instance\n properties:\n nodePoolName: spot_instance\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n - ${cloudEfficiency.instanceTypes[1].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n desiredSize: 1 # spot config\n spotStrategy: SpotWithPriceLimit\n spotPriceLimits:\n - instanceType: ${cloudEfficiency.instanceTypes[0].id}\n priceLimit: '0.70'\n - instanceType: ${cloudEfficiency.instanceTypes[1].id}\n priceLimit: '0.72'\n #Use Spot instances to create a node pool with auto-scaling enabled\n spotAutoScaling:\n type: alicloud:cs:NodePool\n name: spot_auto_scaling\n properties:\n nodePoolName: spot_auto_scaling\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n scalingConfig:\n minSize: 1\n maxSize: 10\n type: spot\n spotStrategy: SpotWithPriceLimit\n spotPriceLimits:\n - instanceType: ${cloudEfficiency.instanceTypes[0].id}\n priceLimit: '0.70'\n #Create a `PrePaid` node pool.\n prepaidNode:\n type: alicloud:cs:NodePool\n name: prepaid_node\n properties:\n nodePoolName: prepaid_node\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n keyName: ${defaultKeyPair.keyPairName}\n instanceChargeType: PrePaid\n period: 1\n periodUnit: Month\n autoRenew: true\n autoRenewPeriod: 1 # open cloud monitor\n installCloudMonitor: true\n ##Create a node pool with customized kubelet parameters\n customizedKubelet:\n type: alicloud:cs:NodePool\n name: customized_kubelet\n properties:\n nodePoolName: customized_kubelet\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${cloudEfficiency.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n instanceChargeType: PostPaid\n desiredSize: 0 # kubelet configuration parameters\n kubeletConfiguration:\n registryPullQps: 10\n registryBurst: 5\n eventRecordQps: 10\n eventBurst: 5\n serializeImagePulls: true\n evictionHard:\n memory.available: 1024Mi\n nodefs.available: 10%\n nodefs.inodesFree: 5%\n imagefs.available: 10%\n systemReserved:\n cpu: '1'\n memory: 1Gi\n ephemeral-storage: 10Gi\n kubeReserved:\n cpu: 500m\n memory: 1Gi\n containerLogMaxSize: 200Mi\n containerLogMaxFiles: 3\n maxPods: 100\n readOnlyPort: 0\n allowedUnsafeSysctls:\n - net.ipv4.route.min_pmtu\n rollingPolicy:\n maxParallelism: 1\nvariables:\n enhanced:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n cloudEfficiency:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${enhanced.zones[0].zoneId}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n systemDiskCategory: cloud_efficiency\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/nodePool:NodePool example \u003ccluster_id\u003e:\u003cnode_pool_id\u003e\n```\n\n", + "description": "\n\n## Import\n\nContainer Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/nodePool:NodePool example \u003ccluster_id\u003e:\u003cnode_pool_id\u003e\n```\n\n", "properties": { + "autoMode": { + "$ref": "#/types/alicloud:cs/NodePoolAutoMode:NodePoolAutoMode", + "description": "Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e below.\n" + }, "autoRenew": { "type": "boolean", "description": "Whether to enable automatic renewal for nodes in the node pool takes effect only when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is set to `PrePaid`. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values:\n" @@ -133113,11 +135701,11 @@ }, "efloNodeGroup": { "$ref": "#/types/alicloud:cs/NodePoolEfloNodeGroup:NodePoolEfloNodeGroup", - "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n" + "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "forceDelete": { "type": "boolean", - "description": "Whether to force deletion.\n" + "description": "Whether to force deletion.\n\n\u003e **NOTE:** This parameter only takes effect when deletion is triggered.\n" }, "formatDisk": { "type": "boolean", @@ -133129,7 +135717,7 @@ }, "imageType": { "type": "string", - "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`: Custom image.\n" + "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`:Custom image.\n- `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image.\n" }, "installCloudMonitor": { "type": "boolean", @@ -133139,6 +135727,17 @@ "type": "string", "description": "Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoRenew`\" pulumi-lang-dotnet=\"`AutoRenew`\" pulumi-lang-go=\"`autoRenew`\" pulumi-lang-python=\"`auto_renew`\" pulumi-lang-yaml=\"`autoRenew`\" pulumi-lang-java=\"`autoRenew`\"\u003e`auto_renew`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoRenewPeriod`\" pulumi-lang-dotnet=\"`AutoRenewPeriod`\" pulumi-lang-go=\"`autoRenewPeriod`\" pulumi-lang-python=\"`auto_renew_period`\" pulumi-lang-yaml=\"`autoRenewPeriod`\" pulumi-lang-java=\"`autoRenewPeriod`\"\u003e`auto_renew_period`\u003c/span\u003e are required.\n" }, + "instanceMetadataOptions": { + "$ref": "#/types/alicloud:cs/NodePoolInstanceMetadataOptions:NodePoolInstanceMetadataOptions", + "description": "ECS instance metadata access configuration. See \u003cspan pulumi-lang-nodejs=\"`instanceMetadataOptions`\" pulumi-lang-dotnet=\"`InstanceMetadataOptions`\" pulumi-lang-go=\"`instanceMetadataOptions`\" pulumi-lang-python=\"`instance_metadata_options`\" pulumi-lang-yaml=\"`instanceMetadataOptions`\" pulumi-lang-java=\"`instanceMetadataOptions`\"\u003e`instance_metadata_options`\u003c/span\u003e below.\n" + }, + "instancePatterns": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cs/NodePoolInstancePattern:NodePoolInstancePattern" + }, + "description": "Instance property configuration. See \u003cspan pulumi-lang-nodejs=\"`instancePatterns`\" pulumi-lang-dotnet=\"`InstancePatterns`\" pulumi-lang-go=\"`instancePatterns`\" pulumi-lang-python=\"`instance_patterns`\" pulumi-lang-yaml=\"`instancePatterns`\" pulumi-lang-java=\"`instancePatterns`\"\u003e`instance_patterns`\u003c/span\u003e below.\n" + }, "instanceTypes": { "type": "array", "items": { @@ -133276,8 +135875,7 @@ "description": "The ID of the resource group\n" }, "rollingPolicy": { - "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy", - "description": "Rotary configuration. See \u003cspan pulumi-lang-nodejs=\"`rollingPolicy`\" pulumi-lang-dotnet=\"`RollingPolicy`\" pulumi-lang-go=\"`rollingPolicy`\" pulumi-lang-python=\"`rolling_policy`\" pulumi-lang-yaml=\"`rollingPolicy`\" pulumi-lang-java=\"`rollingPolicy`\"\u003e`rolling_policy`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy" }, "runtimeName": { "type": "string", @@ -133408,8 +136006,7 @@ "description": "Whether the node after expansion can be scheduled.\n" }, "updateNodes": { - "type": "boolean", - "description": "Synchronously update node labels and taints.\n" + "type": "boolean" }, "userData": { "type": "string", @@ -133424,12 +136021,14 @@ } }, "required": [ + "autoMode", "clusterId", "cpuPolicy", "formatDisk", "imageId", "imageType", "instanceChargeType", + "instanceMetadataOptions", "keepInstanceName", "management", "multiAzPolicy", @@ -133455,6 +136054,11 @@ "type" ], "inputProperties": { + "autoMode": { + "$ref": "#/types/alicloud:cs/NodePoolAutoMode:NodePoolAutoMode", + "description": "Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, "autoRenew": { "type": "boolean", "description": "Whether to enable automatic renewal for nodes in the node pool takes effect only when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is set to `PrePaid`. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values:\n" @@ -133500,11 +136104,11 @@ }, "efloNodeGroup": { "$ref": "#/types/alicloud:cs/NodePoolEfloNodeGroup:NodePoolEfloNodeGroup", - "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n" + "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "forceDelete": { "type": "boolean", - "description": "Whether to force deletion.\n" + "description": "Whether to force deletion.\n\n\u003e **NOTE:** This parameter only takes effect when deletion is triggered.\n" }, "formatDisk": { "type": "boolean", @@ -133516,7 +136120,7 @@ }, "imageType": { "type": "string", - "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`: Custom image.\n" + "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`:Custom image.\n- `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image.\n" }, "installCloudMonitor": { "type": "boolean", @@ -133526,6 +136130,18 @@ "type": "string", "description": "Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoRenew`\" pulumi-lang-dotnet=\"`AutoRenew`\" pulumi-lang-go=\"`autoRenew`\" pulumi-lang-python=\"`auto_renew`\" pulumi-lang-yaml=\"`autoRenew`\" pulumi-lang-java=\"`autoRenew`\"\u003e`auto_renew`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoRenewPeriod`\" pulumi-lang-dotnet=\"`AutoRenewPeriod`\" pulumi-lang-go=\"`autoRenewPeriod`\" pulumi-lang-python=\"`auto_renew_period`\" pulumi-lang-yaml=\"`autoRenewPeriod`\" pulumi-lang-java=\"`autoRenewPeriod`\"\u003e`auto_renew_period`\u003c/span\u003e are required.\n" }, + "instanceMetadataOptions": { + "$ref": "#/types/alicloud:cs/NodePoolInstanceMetadataOptions:NodePoolInstanceMetadataOptions", + "description": "ECS instance metadata access configuration. See \u003cspan pulumi-lang-nodejs=\"`instanceMetadataOptions`\" pulumi-lang-dotnet=\"`InstanceMetadataOptions`\" pulumi-lang-go=\"`instanceMetadataOptions`\" pulumi-lang-python=\"`instance_metadata_options`\" pulumi-lang-yaml=\"`instanceMetadataOptions`\" pulumi-lang-java=\"`instanceMetadataOptions`\"\u003e`instance_metadata_options`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "instancePatterns": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cs/NodePoolInstancePattern:NodePoolInstancePattern" + }, + "description": "Instance property configuration. See \u003cspan pulumi-lang-nodejs=\"`instancePatterns`\" pulumi-lang-dotnet=\"`InstancePatterns`\" pulumi-lang-go=\"`instancePatterns`\" pulumi-lang-python=\"`instance_patterns`\" pulumi-lang-yaml=\"`instancePatterns`\" pulumi-lang-java=\"`instancePatterns`\"\u003e`instance_patterns`\u003c/span\u003e below.\n" + }, "instanceTypes": { "type": "array", "items": { @@ -133662,8 +136278,7 @@ "description": "The ID of the resource group\n" }, "rollingPolicy": { - "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy", - "description": "Rotary configuration. See \u003cspan pulumi-lang-nodejs=\"`rollingPolicy`\" pulumi-lang-dotnet=\"`RollingPolicy`\" pulumi-lang-go=\"`rollingPolicy`\" pulumi-lang-python=\"`rolling_policy`\" pulumi-lang-yaml=\"`rollingPolicy`\" pulumi-lang-java=\"`rollingPolicy`\"\u003e`rolling_policy`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy" }, "runtimeName": { "type": "string", @@ -133796,8 +136411,7 @@ "description": "Whether the node after expansion can be scheduled.\n" }, "updateNodes": { - "type": "boolean", - "description": "Synchronously update node labels and taints.\n" + "type": "boolean" }, "userData": { "type": "string", @@ -133817,6 +136431,11 @@ "stateInputs": { "description": "Input properties used for looking up and filtering NodePool resources.\n", "properties": { + "autoMode": { + "$ref": "#/types/alicloud:cs/NodePoolAutoMode:NodePoolAutoMode", + "description": "Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See \u003cspan pulumi-lang-nodejs=\"`autoMode`\" pulumi-lang-dotnet=\"`AutoMode`\" pulumi-lang-go=\"`autoMode`\" pulumi-lang-python=\"`auto_mode`\" pulumi-lang-yaml=\"`autoMode`\" pulumi-lang-java=\"`autoMode`\"\u003e`auto_mode`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, "autoRenew": { "type": "boolean", "description": "Whether to enable automatic renewal for nodes in the node pool takes effect only when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is set to `PrePaid`. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values:\n" @@ -133862,11 +136481,11 @@ }, "efloNodeGroup": { "$ref": "#/types/alicloud:cs/NodePoolEfloNodeGroup:NodePoolEfloNodeGroup", - "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n" + "description": "Lingjun node pool configuration. See \u003cspan pulumi-lang-nodejs=\"`efloNodeGroup`\" pulumi-lang-dotnet=\"`EfloNodeGroup`\" pulumi-lang-go=\"`efloNodeGroup`\" pulumi-lang-python=\"`eflo_node_group`\" pulumi-lang-yaml=\"`efloNodeGroup`\" pulumi-lang-java=\"`efloNodeGroup`\"\u003e`eflo_node_group`\u003c/span\u003e below.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "forceDelete": { "type": "boolean", - "description": "Whether to force deletion.\n" + "description": "Whether to force deletion.\n\n\u003e **NOTE:** This parameter only takes effect when deletion is triggered.\n" }, "formatDisk": { "type": "boolean", @@ -133878,7 +136497,7 @@ }, "imageType": { "type": "string", - "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`: Custom image.\n" + "description": "The operating system image type and the \u003cspan pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\"\u003e`platform`\u003c/span\u003e parameter can be selected from the following values:\n- `AliyunLinux` : Alinux2 image.\n- `AliyunLinux3` : Alinux3 image.\n- `AliyunLinux3Arm64` : Alinux3 mirror ARM version.\n- `AliyunLinuxUEFI` : Alinux2 Image UEFI version.\n- `CentOS` : CentOS image.\n- `Windows` : Windows image.\n- `WindowsCore` : WindowsCore image.\n- `ContainerOS` : container-optimized image.\n- `Ubuntu`: Ubuntu image.\n- `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image.\n- `Custom`:Custom image.\n- `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image.\n" }, "installCloudMonitor": { "type": "boolean", @@ -133888,6 +136507,18 @@ "type": "string", "description": "Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoRenew`\" pulumi-lang-dotnet=\"`AutoRenew`\" pulumi-lang-go=\"`autoRenew`\" pulumi-lang-python=\"`auto_renew`\" pulumi-lang-yaml=\"`autoRenew`\" pulumi-lang-java=\"`autoRenew`\"\u003e`auto_renew`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`autoRenewPeriod`\" pulumi-lang-dotnet=\"`AutoRenewPeriod`\" pulumi-lang-go=\"`autoRenewPeriod`\" pulumi-lang-python=\"`auto_renew_period`\" pulumi-lang-yaml=\"`autoRenewPeriod`\" pulumi-lang-java=\"`autoRenewPeriod`\"\u003e`auto_renew_period`\u003c/span\u003e are required.\n" }, + "instanceMetadataOptions": { + "$ref": "#/types/alicloud:cs/NodePoolInstanceMetadataOptions:NodePoolInstanceMetadataOptions", + "description": "ECS instance metadata access configuration. See \u003cspan pulumi-lang-nodejs=\"`instanceMetadataOptions`\" pulumi-lang-dotnet=\"`InstanceMetadataOptions`\" pulumi-lang-go=\"`instanceMetadataOptions`\" pulumi-lang-python=\"`instance_metadata_options`\" pulumi-lang-yaml=\"`instanceMetadataOptions`\" pulumi-lang-java=\"`instanceMetadataOptions`\"\u003e`instance_metadata_options`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "instancePatterns": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:cs/NodePoolInstancePattern:NodePoolInstancePattern" + }, + "description": "Instance property configuration. See \u003cspan pulumi-lang-nodejs=\"`instancePatterns`\" pulumi-lang-dotnet=\"`InstancePatterns`\" pulumi-lang-go=\"`instancePatterns`\" pulumi-lang-python=\"`instance_patterns`\" pulumi-lang-yaml=\"`instancePatterns`\" pulumi-lang-java=\"`instancePatterns`\"\u003e`instance_patterns`\u003c/span\u003e below.\n" + }, "instanceTypes": { "type": "array", "items": { @@ -134028,8 +136659,7 @@ "description": "The ID of the resource group\n" }, "rollingPolicy": { - "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy", - "description": "Rotary configuration. See \u003cspan pulumi-lang-nodejs=\"`rollingPolicy`\" pulumi-lang-dotnet=\"`RollingPolicy`\" pulumi-lang-go=\"`rollingPolicy`\" pulumi-lang-python=\"`rolling_policy`\" pulumi-lang-yaml=\"`rollingPolicy`\" pulumi-lang-java=\"`rollingPolicy`\"\u003e`rolling_policy`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:cs/NodePoolRollingPolicy:NodePoolRollingPolicy" }, "runtimeName": { "type": "string", @@ -134166,8 +136796,7 @@ "description": "Whether the node after expansion can be scheduled.\n" }, "updateNodes": { - "type": "boolean", - "description": "Synchronously update node labels and taints.\n" + "type": "boolean" }, "userData": { "type": "string", @@ -134185,7 +136814,7 @@ } }, "alicloud:cs/registryEnterpriseNamespace:RegistryEnterpriseNamespace": { - "description": "Provides a Container Registry Enterprise Edition Namespace resource.\n\nFor information about Container Registry Enterprise Edition Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createnamespace)\n\n\u003e **NOTE:** Available since v1.86.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry Enterprise Edition console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry Enterprise Edition Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseNamespace:RegistryEnterpriseNamespace example \u003cinstance_id\u003e:\u003cname\u003e\n```\n\n", + "description": "Provides a Container Registry Enterprise Edition Namespace resource.\n\nFor information about Container Registry Enterprise Edition Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createnamespace)\n\n\u003e **NOTE:** Available since v1.86.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry Enterprise Edition console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Registry Enterprise Edition Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseNamespace:RegistryEnterpriseNamespace example \u003cinstance_id\u003e:\u003cname\u003e\n```\n\n", "properties": { "autoCreate": { "type": "boolean", @@ -134258,7 +136887,7 @@ } }, "alicloud:cs/registryEnterpriseRepo:RegistryEnterpriseRepo": { - "description": "Provides a Container Registry Enterprise Edition Repository resource.\n\nFor information about Container Registry Enterprise Edition Repository and how to use it, see [What is Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createrepository)\n\n\u003e **NOTE:** Available since v1.86.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry Enterprise Edition console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst example = new alicloud.cs.RegistryEnterpriseRepo(\"example\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n namespace: defaultRegistryEnterpriseNamespace.name,\n name: `${name}-${_default.result}`,\n repoType: \"PUBLIC\",\n summary: \"this is summary of my new repo\",\n detail: \"this is a public repo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\nexample = alicloud.cs.RegistryEnterpriseRepo(\"example\",\n instance_id=default_registry_enterprise_instance.id,\n namespace=default_registry_enterprise_namespace.name,\n name=f\"{name}-{default['result']}\",\n repo_type=\"PUBLIC\",\n summary=\"this is summary of my new repo\",\n detail=\"this is a public repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var example = new AliCloud.CS.RegistryEnterpriseRepo(\"example\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Namespace = defaultRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{@default.Result}\",\n RepoType = \"PUBLIC\",\n Summary = \"this is summary of my new repo\",\n Detail = \"this is a public repo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseRepo(ctx, \"example\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tNamespace: defaultRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tDetail: pulumi.String(\"this is a public repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var example = new RegistryEnterpriseRepo(\"example\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .namespace(defaultRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .repoType(\"PUBLIC\")\n .summary(\"this is summary of my new repo\")\n .detail(\"this is a public repo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n example:\n type: alicloud:cs:RegistryEnterpriseRepo\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n namespace: ${defaultRegistryEnterpriseNamespace.name}\n name: ${name}-${default.result}\n repoType: PUBLIC\n summary: this is summary of my new repo\n detail: this is a public repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry Enterprise Edition Repository can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseRepo:RegistryEnterpriseRepo example \u003cinstance_id\u003e:\u003cnamespace\u003e:\u003cname\u003e\n```\n\n", + "description": "Provides a Container Registry Enterprise Edition Repository resource.\n\nFor information about Container Registry Enterprise Edition Repository and how to use it, see [What is Repository](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createrepository)\n\n\u003e **NOTE:** Available since v1.86.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry Enterprise Edition console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000000,\n max: 99999999,\n});\nconst defaultRegistryEnterpriseInstance = new alicloud.cr.RegistryEnterpriseInstance(\"default\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-${_default.result}`,\n});\nconst defaultRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"default\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n name: `${name}-${_default.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst example = new alicloud.cs.RegistryEnterpriseRepo(\"example\", {\n instanceId: defaultRegistryEnterpriseInstance.id,\n namespace: defaultRegistryEnterpriseNamespace.name,\n name: `${name}-${_default.result}`,\n repoType: \"PUBLIC\",\n summary: \"this is summary of my new repo\",\n detail: \"this is a public repo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000000,\n max=99999999)\ndefault_registry_enterprise_instance = alicloud.cr.RegistryEnterpriseInstance(\"default\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-{default['result']}\")\ndefault_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"default\",\n instance_id=default_registry_enterprise_instance.id,\n name=f\"{name}-{default['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\nexample = alicloud.cs.RegistryEnterpriseRepo(\"example\",\n instance_id=default_registry_enterprise_instance.id,\n namespace=default_registry_enterprise_namespace.name,\n name=f\"{name}-{default['result']}\",\n repo_type=\"PUBLIC\",\n summary=\"this is summary of my new repo\",\n detail=\"this is a public repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000000,\n Max = 99999999,\n });\n\n var defaultRegistryEnterpriseInstance = new AliCloud.CR.RegistryEnterpriseInstance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"default\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Name = $\"{name}-{@default.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var example = new AliCloud.CS.RegistryEnterpriseRepo(\"example\", new()\n {\n InstanceId = defaultRegistryEnterpriseInstance.Id,\n Namespace = defaultRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{@default.Result}\",\n RepoType = \"PUBLIC\",\n Summary = \"this is summary of my new repo\",\n Detail = \"this is a public repo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000000,\n\t\t\tMax: 99999999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseInstance, err := cr.NewRegistryEnterpriseInstance(ctx, \"default\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"default\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseRepo(ctx, \"example\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: defaultRegistryEnterpriseInstance.ID(),\n\t\t\tNamespace: defaultRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tDetail: pulumi.String(\"this is a public repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000000)\n .max(99999999)\n .build());\n\n var defaultRegistryEnterpriseInstance = new RegistryEnterpriseInstance(\"defaultRegistryEnterpriseInstance\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"defaultRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var example = new RegistryEnterpriseRepo(\"example\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(defaultRegistryEnterpriseInstance.id())\n .namespace(defaultRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,default_.result()))\n .repoType(\"PUBLIC\")\n .summary(\"this is summary of my new repo\")\n .detail(\"this is a public repo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 1e+07\n max: 9.9999999e+07\n defaultRegistryEnterpriseInstance:\n type: alicloud:cr:RegistryEnterpriseInstance\n name: default\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-${default.result}\n defaultRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: default\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n name: ${name}-${default.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n example:\n type: alicloud:cs:RegistryEnterpriseRepo\n properties:\n instanceId: ${defaultRegistryEnterpriseInstance.id}\n namespace: ${defaultRegistryEnterpriseNamespace.name}\n name: ${name}-${default.result}\n repoType: PUBLIC\n summary: this is summary of my new repo\n detail: this is a public repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Registry Enterprise Edition Repository can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseRepo:RegistryEnterpriseRepo example \u003cinstance_id\u003e:\u003cnamespace\u003e:\u003cname\u003e\n```\n\n", "properties": { "detail": { "type": "string", @@ -134371,7 +137000,7 @@ } }, "alicloud:cs/registryEnterpriseSyncRule:RegistryEnterpriseSyncRule": { - "description": "Provides a Container Registry Sync Rule resource.\n\nFor information about Container Registry Sync Rule and how to use it, see [What is Sync Rule](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createreposyncrule)\n\n\u003e **NOTE:** Available since v1.90.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst source = new alicloud.cr.RegistryEnterpriseInstance(\"source\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-source-${defaultInteger.result}`,\n});\nconst target = new alicloud.cr.RegistryEnterpriseInstance(\"target\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-target-${defaultInteger.result}`,\n});\nconst sourceRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"source\", {\n instanceId: source.id,\n name: `${name}-${defaultInteger.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst targetRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"target\", {\n instanceId: target.id,\n name: `${name}-${defaultInteger.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst sourceRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"source\", {\n instanceId: source.id,\n namespace: sourceRegistryEnterpriseNamespace.name,\n name: `${name}-${defaultInteger.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n});\nconst targetRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"target\", {\n instanceId: target.id,\n namespace: targetRegistryEnterpriseNamespace.name,\n name: `${name}-${defaultInteger.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n});\nconst defaultRegistryEnterpriseSyncRule = new alicloud.cs.RegistryEnterpriseSyncRule(\"default\", {\n instanceId: source.id,\n namespaceName: sourceRegistryEnterpriseNamespace.name,\n syncRuleName: `${name}-${defaultInteger.result}`,\n targetInstanceId: target.id,\n targetNamespaceName: targetRegistryEnterpriseNamespace.name,\n targetRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n tagFilter: \".*\",\n repoName: sourceRegistryEnterpriseRepo.name,\n targetRepoName: targetRegistryEnterpriseRepo.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nsource = alicloud.cr.RegistryEnterpriseInstance(\"source\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-source-{default_integer['result']}\")\ntarget = alicloud.cr.RegistryEnterpriseInstance(\"target\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-target-{default_integer['result']}\")\nsource_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"source\",\n instance_id=source.id,\n name=f\"{name}-{default_integer['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\ntarget_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"target\",\n instance_id=target.id,\n name=f\"{name}-{default_integer['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\nsource_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"source\",\n instance_id=source.id,\n namespace=source_registry_enterprise_namespace.name,\n name=f\"{name}-{default_integer['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\")\ntarget_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"target\",\n instance_id=target.id,\n namespace=target_registry_enterprise_namespace.name,\n name=f\"{name}-{default_integer['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\")\ndefault_registry_enterprise_sync_rule = alicloud.cs.RegistryEnterpriseSyncRule(\"default\",\n instance_id=source.id,\n namespace_name=source_registry_enterprise_namespace.name,\n sync_rule_name=f\"{name}-{default_integer['result']}\",\n target_instance_id=target.id,\n target_namespace_name=target_registry_enterprise_namespace.name,\n target_region_id=default.regions[0].id,\n tag_filter=\".*\",\n repo_name=source_registry_enterprise_repo.name,\n target_repo_name=target_registry_enterprise_repo.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var source = new AliCloud.CR.RegistryEnterpriseInstance(\"source\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-source-{defaultInteger.Result}\",\n });\n\n var target = new AliCloud.CR.RegistryEnterpriseInstance(\"target\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-target-{defaultInteger.Result}\",\n });\n\n var sourceRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"source\", new()\n {\n InstanceId = source.Id,\n Name = $\"{name}-{defaultInteger.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var targetRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"target\", new()\n {\n InstanceId = target.Id,\n Name = $\"{name}-{defaultInteger.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var sourceRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"source\", new()\n {\n InstanceId = source.Id,\n Namespace = sourceRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{defaultInteger.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n });\n\n var targetRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"target\", new()\n {\n InstanceId = target.Id,\n Namespace = targetRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{defaultInteger.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n });\n\n var defaultRegistryEnterpriseSyncRule = new AliCloud.CS.RegistryEnterpriseSyncRule(\"default\", new()\n {\n InstanceId = source.Id,\n NamespaceName = sourceRegistryEnterpriseNamespace.Name,\n SyncRuleName = $\"{name}-{defaultInteger.Result}\",\n TargetInstanceId = target.Id,\n TargetNamespaceName = targetRegistryEnterpriseNamespace.Name,\n TargetRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n TagFilter = \".*\",\n RepoName = sourceRegistryEnterpriseRepo.Name,\n TargetRepoName = targetRegistryEnterpriseRepo.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := cr.NewRegistryEnterpriseInstance(ctx, \"source\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-source-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := cr.NewRegistryEnterpriseInstance(ctx, \"target\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-target-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"source\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"target\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"source\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tNamespace: sourceRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"target\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tNamespace: targetRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseSyncRule(ctx, \"default\", \u0026cs.RegistryEnterpriseSyncRuleArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tNamespaceName: sourceRegistryEnterpriseNamespace.Name,\n\t\t\tSyncRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tTargetInstanceId: target.ID(),\n\t\t\tTargetNamespaceName: targetRegistryEnterpriseNamespace.Name,\n\t\t\tTargetRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tTagFilter: pulumi.String(\".*\"),\n\t\t\tRepoName: sourceRegistryEnterpriseRepo.Name,\n\t\t\tTargetRepoName: targetRegistryEnterpriseRepo.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseSyncRule;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseSyncRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var source = new RegistryEnterpriseInstance(\"source\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-source-%s\", name,defaultInteger.result()))\n .build());\n\n var target = new RegistryEnterpriseInstance(\"target\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-target-%s\", name,defaultInteger.result()))\n .build());\n\n var sourceRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"sourceRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(source.id())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var targetRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"targetRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(target.id())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var sourceRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"sourceRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(source.id())\n .namespace(sourceRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .build());\n\n var targetRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"targetRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(target.id())\n .namespace(targetRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .build());\n\n var defaultRegistryEnterpriseSyncRule = new RegistryEnterpriseSyncRule(\"defaultRegistryEnterpriseSyncRule\", RegistryEnterpriseSyncRuleArgs.builder()\n .instanceId(source.id())\n .namespaceName(sourceRegistryEnterpriseNamespace.name())\n .syncRuleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .targetInstanceId(target.id())\n .targetNamespaceName(targetRegistryEnterpriseNamespace.name())\n .targetRegionId(default_.regions()[0].id())\n .tagFilter(\".*\")\n .repoName(sourceRegistryEnterpriseRepo.name())\n .targetRepoName(targetRegistryEnterpriseRepo.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n source:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-source-${defaultInteger.result}\n target:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-target-${defaultInteger.result}\n sourceRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: source\n properties:\n instanceId: ${source.id}\n name: ${name}-${defaultInteger.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n targetRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: target\n properties:\n instanceId: ${target.id}\n name: ${name}-${defaultInteger.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n sourceRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: source\n properties:\n instanceId: ${source.id}\n namespace: ${sourceRegistryEnterpriseNamespace.name}\n name: ${name}-${defaultInteger.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n targetRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: target\n properties:\n instanceId: ${target.id}\n namespace: ${targetRegistryEnterpriseNamespace.name}\n name: ${name}-${defaultInteger.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n defaultRegistryEnterpriseSyncRule:\n type: alicloud:cs:RegistryEnterpriseSyncRule\n name: default\n properties:\n instanceId: ${source.id}\n namespaceName: ${sourceRegistryEnterpriseNamespace.name}\n syncRuleName: ${name}-${defaultInteger.result}\n targetInstanceId: ${target.id}\n targetNamespaceName: ${targetRegistryEnterpriseNamespace.name}\n targetRegionId: ${default.regions[0].id}\n tagFilter: .*\n repoName: ${sourceRegistryEnterpriseRepo.name}\n targetRepoName: ${targetRegistryEnterpriseRepo.name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nContainer Registry Sync Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseSyncRule:RegistryEnterpriseSyncRule example \u003cinstance_id\u003e:\u003cnamespace_name\u003e:\u003crepo_sync_rule_id\u003e\n```\n\n", + "description": "Provides a Container Registry Sync Rule resource.\n\nFor information about Container Registry Sync Rule and how to use it, see [What is Sync Rule](https://www.alibabacloud.com/help/en/acr/developer-reference/api-cr-2018-12-01-createreposyncrule)\n\n\u003e **NOTE:** Available since v1.90.0.\n\n\u003e **NOTE:** You need to set your registry password in Container Registry console before use this resource.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst source = new alicloud.cr.RegistryEnterpriseInstance(\"source\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-source-${defaultInteger.result}`,\n});\nconst target = new alicloud.cr.RegistryEnterpriseInstance(\"target\", {\n paymentType: \"Subscription\",\n period: 1,\n renewPeriod: 0,\n renewalStatus: \"ManualRenewal\",\n instanceType: \"Advanced\",\n instanceName: `${name}-target-${defaultInteger.result}`,\n});\nconst sourceRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"source\", {\n instanceId: source.id,\n name: `${name}-${defaultInteger.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst targetRegistryEnterpriseNamespace = new alicloud.cs.RegistryEnterpriseNamespace(\"target\", {\n instanceId: target.id,\n name: `${name}-${defaultInteger.result}`,\n autoCreate: false,\n defaultVisibility: \"PUBLIC\",\n});\nconst sourceRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"source\", {\n instanceId: source.id,\n namespace: sourceRegistryEnterpriseNamespace.name,\n name: `${name}-${defaultInteger.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n});\nconst targetRegistryEnterpriseRepo = new alicloud.cs.RegistryEnterpriseRepo(\"target\", {\n instanceId: target.id,\n namespace: targetRegistryEnterpriseNamespace.name,\n name: `${name}-${defaultInteger.result}`,\n summary: \"this is summary of my new repo\",\n repoType: \"PUBLIC\",\n});\nconst defaultRegistryEnterpriseSyncRule = new alicloud.cs.RegistryEnterpriseSyncRule(\"default\", {\n instanceId: source.id,\n namespaceName: sourceRegistryEnterpriseNamespace.name,\n syncRuleName: `${name}-${defaultInteger.result}`,\n targetInstanceId: target.id,\n targetNamespaceName: targetRegistryEnterpriseNamespace.name,\n targetRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n tagFilter: \".*\",\n repoName: sourceRegistryEnterpriseRepo.name,\n targetRepoName: targetRegistryEnterpriseRepo.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nsource = alicloud.cr.RegistryEnterpriseInstance(\"source\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-source-{default_integer['result']}\")\ntarget = alicloud.cr.RegistryEnterpriseInstance(\"target\",\n payment_type=\"Subscription\",\n period=1,\n renew_period=0,\n renewal_status=\"ManualRenewal\",\n instance_type=\"Advanced\",\n instance_name=f\"{name}-target-{default_integer['result']}\")\nsource_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"source\",\n instance_id=source.id,\n name=f\"{name}-{default_integer['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\ntarget_registry_enterprise_namespace = alicloud.cs.RegistryEnterpriseNamespace(\"target\",\n instance_id=target.id,\n name=f\"{name}-{default_integer['result']}\",\n auto_create=False,\n default_visibility=\"PUBLIC\")\nsource_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"source\",\n instance_id=source.id,\n namespace=source_registry_enterprise_namespace.name,\n name=f\"{name}-{default_integer['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\")\ntarget_registry_enterprise_repo = alicloud.cs.RegistryEnterpriseRepo(\"target\",\n instance_id=target.id,\n namespace=target_registry_enterprise_namespace.name,\n name=f\"{name}-{default_integer['result']}\",\n summary=\"this is summary of my new repo\",\n repo_type=\"PUBLIC\")\ndefault_registry_enterprise_sync_rule = alicloud.cs.RegistryEnterpriseSyncRule(\"default\",\n instance_id=source.id,\n namespace_name=source_registry_enterprise_namespace.name,\n sync_rule_name=f\"{name}-{default_integer['result']}\",\n target_instance_id=target.id,\n target_namespace_name=target_registry_enterprise_namespace.name,\n target_region_id=default.regions[0].id,\n tag_filter=\".*\",\n repo_name=source_registry_enterprise_repo.name,\n target_repo_name=target_registry_enterprise_repo.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var source = new AliCloud.CR.RegistryEnterpriseInstance(\"source\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-source-{defaultInteger.Result}\",\n });\n\n var target = new AliCloud.CR.RegistryEnterpriseInstance(\"target\", new()\n {\n PaymentType = \"Subscription\",\n Period = 1,\n RenewPeriod = 0,\n RenewalStatus = \"ManualRenewal\",\n InstanceType = \"Advanced\",\n InstanceName = $\"{name}-target-{defaultInteger.Result}\",\n });\n\n var sourceRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"source\", new()\n {\n InstanceId = source.Id,\n Name = $\"{name}-{defaultInteger.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var targetRegistryEnterpriseNamespace = new AliCloud.CS.RegistryEnterpriseNamespace(\"target\", new()\n {\n InstanceId = target.Id,\n Name = $\"{name}-{defaultInteger.Result}\",\n AutoCreate = false,\n DefaultVisibility = \"PUBLIC\",\n });\n\n var sourceRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"source\", new()\n {\n InstanceId = source.Id,\n Namespace = sourceRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{defaultInteger.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n });\n\n var targetRegistryEnterpriseRepo = new AliCloud.CS.RegistryEnterpriseRepo(\"target\", new()\n {\n InstanceId = target.Id,\n Namespace = targetRegistryEnterpriseNamespace.Name,\n Name = $\"{name}-{defaultInteger.Result}\",\n Summary = \"this is summary of my new repo\",\n RepoType = \"PUBLIC\",\n });\n\n var defaultRegistryEnterpriseSyncRule = new AliCloud.CS.RegistryEnterpriseSyncRule(\"default\", new()\n {\n InstanceId = source.Id,\n NamespaceName = sourceRegistryEnterpriseNamespace.Name,\n SyncRuleName = $\"{name}-{defaultInteger.Result}\",\n TargetInstanceId = target.Id,\n TargetNamespaceName = targetRegistryEnterpriseNamespace.Name,\n TargetRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n TagFilter = \".*\",\n RepoName = sourceRegistryEnterpriseRepo.Name,\n TargetRepoName = targetRegistryEnterpriseRepo.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsource, err := cr.NewRegistryEnterpriseInstance(ctx, \"source\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-source-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttarget, err := cr.NewRegistryEnterpriseInstance(ctx, \"target\", \u0026cr.RegistryEnterpriseInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(0),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tInstanceType: pulumi.String(\"Advanced\"),\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-target-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"source\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetRegistryEnterpriseNamespace, err := cs.NewRegistryEnterpriseNamespace(ctx, \"target\", \u0026cs.RegistryEnterpriseNamespaceArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tAutoCreate: pulumi.Bool(false),\n\t\t\tDefaultVisibility: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"source\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tNamespace: sourceRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttargetRegistryEnterpriseRepo, err := cs.NewRegistryEnterpriseRepo(ctx, \"target\", \u0026cs.RegistryEnterpriseRepoArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tNamespace: targetRegistryEnterpriseNamespace.Name,\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tSummary: pulumi.String(\"this is summary of my new repo\"),\n\t\t\tRepoType: pulumi.String(\"PUBLIC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewRegistryEnterpriseSyncRule(ctx, \"default\", \u0026cs.RegistryEnterpriseSyncRuleArgs{\n\t\t\tInstanceId: source.ID(),\n\t\t\tNamespaceName: sourceRegistryEnterpriseNamespace.Name,\n\t\t\tSyncRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tTargetInstanceId: target.ID(),\n\t\t\tTargetNamespaceName: targetRegistryEnterpriseNamespace.Name,\n\t\t\tTargetRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tTagFilter: pulumi.String(\".*\"),\n\t\t\tRepoName: sourceRegistryEnterpriseRepo.Name,\n\t\t\tTargetRepoName: targetRegistryEnterpriseRepo.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstance;\nimport com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespace;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseNamespaceArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepo;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseRepoArgs;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseSyncRule;\nimport com.pulumi.alicloud.cs.RegistryEnterpriseSyncRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var source = new RegistryEnterpriseInstance(\"source\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-source-%s\", name,defaultInteger.result()))\n .build());\n\n var target = new RegistryEnterpriseInstance(\"target\", RegistryEnterpriseInstanceArgs.builder()\n .paymentType(\"Subscription\")\n .period(1)\n .renewPeriod(0)\n .renewalStatus(\"ManualRenewal\")\n .instanceType(\"Advanced\")\n .instanceName(String.format(\"%s-target-%s\", name,defaultInteger.result()))\n .build());\n\n var sourceRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"sourceRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(source.id())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var targetRegistryEnterpriseNamespace = new RegistryEnterpriseNamespace(\"targetRegistryEnterpriseNamespace\", RegistryEnterpriseNamespaceArgs.builder()\n .instanceId(target.id())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .autoCreate(false)\n .defaultVisibility(\"PUBLIC\")\n .build());\n\n var sourceRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"sourceRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(source.id())\n .namespace(sourceRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .build());\n\n var targetRegistryEnterpriseRepo = new RegistryEnterpriseRepo(\"targetRegistryEnterpriseRepo\", RegistryEnterpriseRepoArgs.builder()\n .instanceId(target.id())\n .namespace(targetRegistryEnterpriseNamespace.name())\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .summary(\"this is summary of my new repo\")\n .repoType(\"PUBLIC\")\n .build());\n\n var defaultRegistryEnterpriseSyncRule = new RegistryEnterpriseSyncRule(\"defaultRegistryEnterpriseSyncRule\", RegistryEnterpriseSyncRuleArgs.builder()\n .instanceId(source.id())\n .namespaceName(sourceRegistryEnterpriseNamespace.name())\n .syncRuleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .targetInstanceId(target.id())\n .targetNamespaceName(targetRegistryEnterpriseNamespace.name())\n .targetRegionId(default_.regions()[0].id())\n .tagFilter(\".*\")\n .repoName(sourceRegistryEnterpriseRepo.name())\n .targetRepoName(targetRegistryEnterpriseRepo.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n source:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-source-${defaultInteger.result}\n target:\n type: alicloud:cr:RegistryEnterpriseInstance\n properties:\n paymentType: Subscription\n period: 1\n renewPeriod: 0\n renewalStatus: ManualRenewal\n instanceType: Advanced\n instanceName: ${name}-target-${defaultInteger.result}\n sourceRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: source\n properties:\n instanceId: ${source.id}\n name: ${name}-${defaultInteger.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n targetRegistryEnterpriseNamespace:\n type: alicloud:cs:RegistryEnterpriseNamespace\n name: target\n properties:\n instanceId: ${target.id}\n name: ${name}-${defaultInteger.result}\n autoCreate: false\n defaultVisibility: PUBLIC\n sourceRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: source\n properties:\n instanceId: ${source.id}\n namespace: ${sourceRegistryEnterpriseNamespace.name}\n name: ${name}-${defaultInteger.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n targetRegistryEnterpriseRepo:\n type: alicloud:cs:RegistryEnterpriseRepo\n name: target\n properties:\n instanceId: ${target.id}\n namespace: ${targetRegistryEnterpriseNamespace.name}\n name: ${name}-${defaultInteger.result}\n summary: this is summary of my new repo\n repoType: PUBLIC\n defaultRegistryEnterpriseSyncRule:\n type: alicloud:cs:RegistryEnterpriseSyncRule\n name: default\n properties:\n instanceId: ${source.id}\n namespaceName: ${sourceRegistryEnterpriseNamespace.name}\n syncRuleName: ${name}-${defaultInteger.result}\n targetInstanceId: ${target.id}\n targetNamespaceName: ${targetRegistryEnterpriseNamespace.name}\n targetRegionId: ${default.regions[0].id}\n tagFilter: .*\n repoName: ${sourceRegistryEnterpriseRepo.name}\n targetRepoName: ${targetRegistryEnterpriseRepo.name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nContainer Registry Sync Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:cs/registryEnterpriseSyncRule:RegistryEnterpriseSyncRule example \u003cinstance_id\u003e:\u003cnamespace_name\u003e:\u003crepo_sync_rule_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -134634,7 +137263,7 @@ } }, "alicloud:cs/serverlessKubernetes:ServerlessKubernetes": { - "description": "This resource will help you to manager a Serverless Kubernetes Cluster, see [What is serverless kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-a-dedicated-kubernetes-cluster-that-supports-sandboxed-containers). The cluster is same as container service created by web console.\n\n\u003e **NOTE:** Available since v1.58.0.\n\n\u003e **NOTE:** Serverless Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating serverless kubernetes cluster need to install several packages and it will cost about 5 minutes. Please be patient.\n\n\u003e **NOTE:** The provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** If you want to manage serverless Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.162.0, support for creating professional serverless cluster.\n\n\u003e **NOTE:** From version 1.229.1, support to migrate basic serverless cluster to professional serverless cluster.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"ask-example-pro\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.2.0.0/21\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.2.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst serverless = new alicloud.cs.ServerlessKubernetes(\"serverless\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n vpcId: defaultNetwork.id,\n vswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n endpointPublicAccessEnabled: true,\n deletionProtection: false,\n timeZone: \"Asia/Shanghai\",\n serviceCidr: \"172.21.0.0/20\",\n tags: {\n \"k-aa\": \"v-aa\",\n \"k-bb\": \"v-bb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"ask-example-pro\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.2.0.0/21\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"10.2.1.0/24\",\n zone_id=default.zones[0].id)\nserverless = alicloud.cs.ServerlessKubernetes(\"serverless\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n vpc_id=default_network.id,\n vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n endpoint_public_access_enabled=True,\n deletion_protection=False,\n time_zone=\"Asia/Shanghai\",\n service_cidr=\"172.21.0.0/20\",\n tags={\n \"k-aa\": \"v-aa\",\n \"k-bb\": \"v-bb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"ask-example-pro\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.2.0.0/21\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.2.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var serverless = new AliCloud.CS.ServerlessKubernetes(\"serverless\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n VpcId = defaultNetwork.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n EndpointPublicAccessEnabled = true,\n DeletionProtection = false,\n TimeZone = \"Asia/Shanghai\",\n ServiceCidr = \"172.21.0.0/20\",\n Tags = \n {\n { \"k-aa\", \"v-aa\" },\n { \"k-bb\", \"v-bb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"ask-example-pro\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/21\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.2.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewServerlessKubernetes(ctx, \"serverless\", \u0026cs.ServerlessKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tEndpointPublicAccessEnabled: pulumi.Bool(true),\n\t\t\tDeletionProtection: pulumi.Bool(false),\n\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\tServiceCidr: pulumi.String(\"172.21.0.0/20\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"k-aa\": pulumi.String(\"v-aa\"),\n\t\t\t\t\"k-bb\": pulumi.String(\"v-bb\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ServerlessKubernetes;\nimport com.pulumi.alicloud.cs.ServerlessKubernetesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"ask-example-pro\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.2.0.0/21\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.2.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var serverless = new ServerlessKubernetes(\"serverless\", ServerlessKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .vpcId(defaultNetwork.id())\n .vswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .endpointPublicAccessEnabled(true)\n .deletionProtection(false)\n .timeZone(\"Asia/Shanghai\")\n .serviceCidr(\"172.21.0.0/20\")\n .tags(Map.ofEntries(\n Map.entry(\"k-aa\", \"v-aa\"),\n Map.entry(\"k-bb\", \"v-bb\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: ask-example-pro\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.2.0.0/21\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.2.1.0/24\n zoneId: ${default.zones[0].id}\n serverless:\n type: alicloud:cs:ServerlessKubernetes\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n vpcId: ${defaultNetwork.id}\n vswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n endpointPublicAccessEnabled: true\n deletionProtection: false\n timeZone: Asia/Shanghai\n serviceCidr: 172.21.0.0/20\n tags:\n k-aa: v-aa\n k-bb: v-bb\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/serverlessKubernetes:ServerlessKubernetes main ce4273f9156874b46bb\n```\n\n", + "description": "This resource will help you to manager a Serverless Kubernetes Cluster, see [What is serverless kubernetes](https://www.alibabacloud.com/help/en/ack/ack-managed-and-ack-dedicated/developer-reference/create-a-dedicated-kubernetes-cluster-that-supports-sandboxed-containers). The cluster is same as container service created by web console.\n\n\u003e **NOTE:** Available since v1.58.0.\n\n\u003e **NOTE:** Serverless Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster.\nA Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the\nVPC, you can set \u003cspan pulumi-lang-nodejs=\"`newNatGateway`\" pulumi-lang-dotnet=\"`NewNatGateway`\" pulumi-lang-go=\"`newNatGateway`\" pulumi-lang-python=\"`new_nat_gateway`\" pulumi-lang-yaml=\"`newNatGateway`\" pulumi-lang-java=\"`newNatGateway`\"\u003e`new_nat_gateway`\u003c/span\u003e to \"true\" to create one automatically.\n\n\u003e **NOTE:** Creating serverless kubernetes cluster need to install several packages and it will cost about 5 minutes. Please be patient.\n\n\u003e **NOTE:** The provider supports to download kube config, client certificate, client key and cluster ca certificate\nafter creating cluster successfully, and you can put them into the specified location, like '~/.kube/config'.\n\n\u003e **NOTE:** If you want to manage serverless Kubernetes, you can use Kubernetes Provider.\n\n\u003e **NOTE:** You need to activate several other products and confirm Authorization Policy used by Container Service before using this resource.\nPlease refer to the `Authorization management` and `Cluster management` sections in the [Document Center](https://www.alibabacloud.com/help/doc-detail/86488.htm).\n\n\u003e **NOTE:** From version 1.162.0, support for creating professional serverless cluster.\n\n\u003e **NOTE:** From version 1.229.1, support to migrate basic serverless cluster to professional serverless cluster.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"ask-example-pro\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.2.0.0/21\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.2.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst serverless = new alicloud.cs.ServerlessKubernetes(\"serverless\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n vpcId: defaultNetwork.id,\n vswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n endpointPublicAccessEnabled: true,\n deletionProtection: false,\n timeZone: \"Asia/Shanghai\",\n serviceCidr: \"172.21.0.0/20\",\n tags: {\n \"k-aa\": \"v-aa\",\n \"k-bb\": \"v-bb\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"ask-example-pro\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.2.0.0/21\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"10.2.1.0/24\",\n zone_id=default.zones[0].id)\nserverless = alicloud.cs.ServerlessKubernetes(\"serverless\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n vpc_id=default_network.id,\n vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n endpoint_public_access_enabled=True,\n deletion_protection=False,\n time_zone=\"Asia/Shanghai\",\n service_cidr=\"172.21.0.0/20\",\n tags={\n \"k-aa\": \"v-aa\",\n \"k-bb\": \"v-bb\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"ask-example-pro\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.2.0.0/21\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.2.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var serverless = new AliCloud.CS.ServerlessKubernetes(\"serverless\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n VpcId = defaultNetwork.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n EndpointPublicAccessEnabled = true,\n DeletionProtection = false,\n TimeZone = \"Asia/Shanghai\",\n ServiceCidr = \"172.21.0.0/20\",\n Tags = \n {\n { \"k-aa\", \"v-aa\" },\n { \"k-bb\", \"v-bb\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"ask-example-pro\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/21\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.2.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cs.NewServerlessKubernetes(ctx, \"serverless\", \u0026cs.ServerlessKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tEndpointPublicAccessEnabled: pulumi.Bool(true),\n\t\t\tDeletionProtection: pulumi.Bool(false),\n\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\tServiceCidr: pulumi.String(\"172.21.0.0/20\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"k-aa\": pulumi.String(\"v-aa\"),\n\t\t\t\t\"k-bb\": pulumi.String(\"v-bb\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ServerlessKubernetes;\nimport com.pulumi.alicloud.cs.ServerlessKubernetesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"ask-example-pro\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.2.0.0/21\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.2.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var serverless = new ServerlessKubernetes(\"serverless\", ServerlessKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .vpcId(defaultNetwork.id())\n .vswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .endpointPublicAccessEnabled(true)\n .deletionProtection(false)\n .timeZone(\"Asia/Shanghai\")\n .serviceCidr(\"172.21.0.0/20\")\n .tags(Map.ofEntries(\n Map.entry(\"k-aa\", \"v-aa\"),\n Map.entry(\"k-bb\", \"v-bb\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: ask-example-pro\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.2.0.0/21\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.2.1.0/24\n zoneId: ${default.zones[0].id}\n serverless:\n type: alicloud:cs:ServerlessKubernetes\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n vpcId: ${defaultNetwork.id}\n vswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n endpointPublicAccessEnabled: true\n deletionProtection: false\n timeZone: Asia/Shanghai\n serviceCidr: 172.21.0.0/20\n tags:\n k-aa: v-aa\n k-bb: v-bb\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.\n\n```sh\n$ pulumi import alicloud:cs/serverlessKubernetes:ServerlessKubernetes main ce4273f9156874b46bb\n```\n\n", "properties": { "addons": { "type": "array", @@ -135338,7 +137967,7 @@ } }, "alicloud:das/switchDasPro:SwitchDasPro": { - "description": "Provides a DAS Switch Das Pro resource.\n\nFor information about DAS Switch Das Pro and how to use it, see [What is Switch Das Pro](https://www.alibabacloud.com/help/en/database-autonomy-service/latest/enabledaspro).\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getAccount({});\nconst defaultGetNodeClasses = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetNodeClasses.then(defaultGetNodeClasses =\u003e defaultGetNodeClasses.classes?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: \"polar.mysql.x4.large\",\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: name,\n dbClusterIpArrays: [{\n dbClusterIpArrayName: \"default\",\n securityIps: [\n \"1.2.3.4\",\n \"1.2.3.5\",\n ],\n }],\n});\nconst defaultSwitchDasPro = new alicloud.das.SwitchDasPro(\"default\", {\n instanceId: defaultCluster.id,\n sqlRetention: 30,\n userId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_account()\ndefault_get_node_classes = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_node_classes.classes[0].zone_id,\n vswitch_name=name)\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=\"polar.mysql.x4.large\",\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=name,\n db_cluster_ip_arrays=[{\n \"db_cluster_ip_array_name\": \"default\",\n \"security_ips\": [\n \"1.2.3.4\",\n \"1.2.3.5\",\n ],\n }])\ndefault_switch_das_pro = alicloud.das.SwitchDasPro(\"default\",\n instance_id=default_cluster.id,\n sql_retention=30,\n user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetNodeClasses = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetNodeClasses.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = \"polar.mysql.x4.large\",\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = name,\n DbClusterIpArrays = new[]\n {\n new AliCloud.PolarDB.Inputs.ClusterDbClusterIpArrayArgs\n {\n DbClusterIpArrayName = \"default\",\n SecurityIps = new[]\n {\n \"1.2.3.4\",\n \"1.2.3.5\",\n },\n },\n },\n });\n\n var defaultSwitchDasPro = new AliCloud.Das.SwitchDasPro(\"default\", new()\n {\n InstanceId = defaultCluster.Id,\n SqlRetention = 30,\n UserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/das\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNodeClasses, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetNodeClasses.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(\"polar.mysql.x4.large\"),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDbClusterIpArrays: polardb.ClusterDbClusterIpArrayArray{\n\t\t\t\t\u0026polardb.ClusterDbClusterIpArrayArgs{\n\t\t\t\t\tDbClusterIpArrayName: pulumi.String(\"default\"),\n\t\t\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tpulumi.String(\"1.2.3.5\"),\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\t_, err = das.NewSwitchDasPro(ctx, \"default\", \u0026das.SwitchDasProArgs{\n\t\t\tInstanceId: defaultCluster.ID(),\n\t\t\tSqlRetention: pulumi.Int(30),\n\t\t\tUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.inputs.ClusterDbClusterIpArrayArgs;\nimport com.pulumi.alicloud.das.SwitchDasPro;\nimport com.pulumi.alicloud.das.SwitchDasProArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetNodeClasses = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetNodeClasses.classes()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(\"polar.mysql.x4.large\")\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(name)\n .dbClusterIpArrays(ClusterDbClusterIpArrayArgs.builder()\n .dbClusterIpArrayName(\"default\")\n .securityIps( \n \"1.2.3.4\",\n \"1.2.3.5\")\n .build())\n .build());\n\n var defaultSwitchDasPro = new SwitchDasPro(\"defaultSwitchDasPro\", SwitchDasProArgs.builder()\n .instanceId(defaultCluster.id())\n .sqlRetention(30)\n .userId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetNodeClasses.classes[0].zoneId}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: polar.mysql.x4.large\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: ${name}\n dbClusterIpArrays:\n - dbClusterIpArrayName: default\n securityIps:\n - 1.2.3.4\n - 1.2.3.5\n defaultSwitchDasPro:\n type: alicloud:das:SwitchDasPro\n name: default\n properties:\n instanceId: ${defaultCluster.id}\n sqlRetention: 30\n userId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetNodeClasses:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDAS Switch Das Pro can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:das/switchDasPro:SwitchDasPro example \u003cid\u003e\n```\n\n", + "description": "Provides a DAS Switch Das Pro resource.\n\nFor information about DAS Switch Das Pro and how to use it, see [What is Switch Das Pro](https://www.alibabacloud.com/help/en/database-autonomy-service/latest/enabledaspro).\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getAccount({});\nconst defaultGetNodeClasses = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetNodeClasses.then(defaultGetNodeClasses =\u003e defaultGetNodeClasses.classes?.[0]?.zoneId),\n vswitchName: name,\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: \"polar.mysql.x4.large\",\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: name,\n dbClusterIpArrays: [{\n dbClusterIpArrayName: \"default\",\n securityIps: [\n \"1.2.3.4\",\n \"1.2.3.5\",\n ],\n }],\n});\nconst defaultSwitchDasPro = new alicloud.das.SwitchDasPro(\"default\", {\n instanceId: defaultCluster.id,\n sqlRetention: 30,\n userId: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_account()\ndefault_get_node_classes = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_node_classes.classes[0].zone_id,\n vswitch_name=name)\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=\"polar.mysql.x4.large\",\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=name,\n db_cluster_ip_arrays=[{\n \"db_cluster_ip_array_name\": \"default\",\n \"security_ips\": [\n \"1.2.3.4\",\n \"1.2.3.5\",\n ],\n }])\ndefault_switch_das_pro = alicloud.das.SwitchDasPro(\"default\",\n instance_id=default_cluster.id,\n sql_retention=30,\n user_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetNodeClasses = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetNodeClasses.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId),\n VswitchName = name,\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = \"polar.mysql.x4.large\",\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = name,\n DbClusterIpArrays = new[]\n {\n new AliCloud.PolarDB.Inputs.ClusterDbClusterIpArrayArgs\n {\n DbClusterIpArrayName = \"default\",\n SecurityIps = new[]\n {\n \"1.2.3.4\",\n \"1.2.3.5\",\n },\n },\n },\n });\n\n var defaultSwitchDasPro = new AliCloud.Das.SwitchDasPro(\"default\", new()\n {\n InstanceId = defaultCluster.Id,\n SqlRetention = 30,\n UserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/das\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNodeClasses, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetNodeClasses.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(\"polar.mysql.x4.large\"),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDbClusterIpArrays: polardb.ClusterDbClusterIpArrayArray{\n\t\t\t\t\u0026polardb.ClusterDbClusterIpArrayArgs{\n\t\t\t\t\tDbClusterIpArrayName: pulumi.String(\"default\"),\n\t\t\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t\t\t\tpulumi.String(\"1.2.3.5\"),\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\t_, err = das.NewSwitchDasPro(ctx, \"default\", \u0026das.SwitchDasProArgs{\n\t\t\tInstanceId: defaultCluster.ID(),\n\t\t\tSqlRetention: pulumi.Int(30),\n\t\t\tUserId: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.inputs.ClusterDbClusterIpArrayArgs;\nimport com.pulumi.alicloud.das.SwitchDasPro;\nimport com.pulumi.alicloud.das.SwitchDasProArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetNodeClasses = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetNodeClasses.classes()[0].zoneId())\n .vswitchName(name)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(\"polar.mysql.x4.large\")\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(name)\n .dbClusterIpArrays(ClusterDbClusterIpArrayArgs.builder()\n .dbClusterIpArrayName(\"default\")\n .securityIps( \n \"1.2.3.4\",\n \"1.2.3.5\")\n .build())\n .build());\n\n var defaultSwitchDasPro = new SwitchDasPro(\"defaultSwitchDasPro\", SwitchDasProArgs.builder()\n .instanceId(defaultCluster.id())\n .sqlRetention(30)\n .userId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetNodeClasses.classes[0].zoneId}\n vswitchName: ${name}\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: polar.mysql.x4.large\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: ${name}\n dbClusterIpArrays:\n - dbClusterIpArrayName: default\n securityIps:\n - 1.2.3.4\n - 1.2.3.5\n defaultSwitchDasPro:\n type: alicloud:das:SwitchDasPro\n name: default\n properties:\n instanceId: ${defaultCluster.id}\n sqlRetention: 30\n userId: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetNodeClasses:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDAS Switch Das Pro can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:das/switchDasPro:SwitchDasPro example \u003cid\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -135410,7 +138039,7 @@ } }, "alicloud:databasefilesystem/autoSnapShotPolicy:AutoSnapShotPolicy": { - "description": "Provides a Dbfs Auto Snap Shot Policy resource.\n\nFor information about Dbfs Auto Snap Shot Policy and how to use it.\n\n\u003e **NOTE:** Available since v1.202.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.databasefilesystem.AutoSnapShotPolicy(\"default\", {\n timePoints: [\"01\"],\n policyName: \"tf-example\",\n retentionDays: 1,\n repeatWeekdays: [\"2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.databasefilesystem.AutoSnapShotPolicy(\"default\",\n time_points=[\"01\"],\n policy_name=\"tf-example\",\n retention_days=1,\n repeat_weekdays=[\"2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.DatabaseFilesystem.AutoSnapShotPolicy(\"default\", new()\n {\n TimePoints = new[]\n {\n \"01\",\n },\n PolicyName = \"tf-example\",\n RetentionDays = 1,\n RepeatWeekdays = new[]\n {\n \"2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasefilesystem.NewAutoSnapShotPolicy(ctx, \"default\", \u0026databasefilesystem.AutoSnapShotPolicyArgs{\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"01\"),\n\t\t\t},\n\t\t\tPolicyName: pulumi.String(\"tf-example\"),\n\t\t\tRetentionDays: pulumi.Int(1),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.AutoSnapShotPolicy;\nimport com.pulumi.alicloud.databasefilesystem.AutoSnapShotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AutoSnapShotPolicy(\"default\", AutoSnapShotPolicyArgs.builder()\n .timePoints(\"01\")\n .policyName(\"tf-example\")\n .retentionDays(1)\n .repeatWeekdays(\"2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:databasefilesystem:AutoSnapShotPolicy\n properties:\n timePoints:\n - '01'\n policyName: tf-example\n retentionDays: 1\n repeatWeekdays:\n - '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDbfs Auto Snap Shot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/autoSnapShotPolicy:AutoSnapShotPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Dbfs Auto Snap Shot Policy resource.\n\nFor information about Dbfs Auto Snap Shot Policy and how to use it.\n\n\u003e **NOTE:** Available since v1.202.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.databasefilesystem.AutoSnapShotPolicy(\"default\", {\n timePoints: [\"01\"],\n policyName: \"tf-example\",\n retentionDays: 1,\n repeatWeekdays: [\"2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.databasefilesystem.AutoSnapShotPolicy(\"default\",\n time_points=[\"01\"],\n policy_name=\"tf-example\",\n retention_days=1,\n repeat_weekdays=[\"2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.DatabaseFilesystem.AutoSnapShotPolicy(\"default\", new()\n {\n TimePoints = new[]\n {\n \"01\",\n },\n PolicyName = \"tf-example\",\n RetentionDays = 1,\n RepeatWeekdays = new[]\n {\n \"2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasefilesystem.NewAutoSnapShotPolicy(ctx, \"default\", \u0026databasefilesystem.AutoSnapShotPolicyArgs{\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"01\"),\n\t\t\t},\n\t\t\tPolicyName: pulumi.String(\"tf-example\"),\n\t\t\tRetentionDays: pulumi.Int(1),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.AutoSnapShotPolicy;\nimport com.pulumi.alicloud.databasefilesystem.AutoSnapShotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AutoSnapShotPolicy(\"default\", AutoSnapShotPolicyArgs.builder()\n .timePoints(\"01\")\n .policyName(\"tf-example\")\n .retentionDays(1)\n .repeatWeekdays(\"2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:databasefilesystem:AutoSnapShotPolicy\n properties:\n timePoints:\n - '01'\n policyName: tf-example\n retentionDays: 1\n repeatWeekdays:\n - '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDbfs Auto Snap Shot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/autoSnapShotPolicy:AutoSnapShotPolicy example \u003cid\u003e\n```\n\n", "properties": { "appliedDbfsNumber": { "type": "integer", @@ -135555,7 +138184,7 @@ } }, "alicloud:databasefilesystem/instance:Instance": { - "description": "Provides a DBFS Dbfs Instance resource. An instance of a database file system is equivalent to a file system and can store data of file types.\n\nFor information about DBFS Dbfs Instance and how to use it, see [What is Dbfs Instance](https://next.api.alibabacloud.com/document/DBFS/2020-04-18/CreateDbfs).\n\n\u003e **NOTE:** Need to contact us open whitelist before you can use the resource.\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.databasefilesystem.Instance(\"example\", {\n category: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n fsName: name,\n size: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.databasefilesystem.Instance(\"example\",\n category=\"standard\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n fs_name=name,\n size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.DatabaseFilesystem.Instance(\"example\", new()\n {\n Category = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n FsName = name,\n Size = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := databasefilesystem.NewInstance(ctx, \"example\", \u0026databasefilesystem.InstanceArgs{\n\t\t\tCategory: pulumi.String(\"standard\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tFsName: pulumi.String(name),\n\t\t\tSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.Instance;\nimport com.pulumi.alicloud.databasefilesystem.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .category(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .fsName(name)\n .size(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:databasefilesystem:Instance\n properties:\n category: standard\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n fsName: ${name}\n size: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDBFS Dbfs Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a DBFS Dbfs Instance resource. An instance of a database file system is equivalent to a file system and can store data of file types.\n\nFor information about DBFS Dbfs Instance and how to use it, see [What is Dbfs Instance](https://next.api.alibabacloud.com/document/DBFS/2020-04-18/CreateDbfs).\n\n\u003e **NOTE:** Need to contact us open whitelist before you can use the resource.\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.databasefilesystem.Instance(\"example\", {\n category: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n fsName: name,\n size: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.databasefilesystem.Instance(\"example\",\n category=\"standard\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n fs_name=name,\n size=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.DatabaseFilesystem.Instance(\"example\", new()\n {\n Category = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n FsName = name,\n Size = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := databasefilesystem.NewInstance(ctx, \"example\", \u0026databasefilesystem.InstanceArgs{\n\t\t\tCategory: pulumi.String(\"standard\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tFsName: pulumi.String(name),\n\t\t\tSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.Instance;\nimport com.pulumi.alicloud.databasefilesystem.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Instance(\"example\", InstanceArgs.builder()\n .category(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .fsName(name)\n .size(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:databasefilesystem:Instance\n properties:\n category: standard\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n fsName: ${name}\n size: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDBFS Dbfs Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "advancedFeatures": { "type": "string", @@ -135843,7 +138472,7 @@ } }, "alicloud:databasefilesystem/instanceAttachment:InstanceAttachment": { - "description": "Provides a Database File System (DBFS) Instance Attachment resource.\n\nFor information about Database File System (DBFS) Instance Attachment and how to use it, see [What is Snapshot](https://help.aliyun.com/zh/dbfs/developer-reference/api-dbfs-2020-04-18-attachdbfs).\n\n\u003e **NOTE:** Available since v1.156.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = \"cn-hangzhou-i\";\nconst _default = alicloud.databasefilesystem.getInstances({});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n availabilityZone: zoneId,\n instanceTypeFamily: \"ecs.g7se\",\n});\nconst defaultGetImages = defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e alicloud.ecs.getImages({\n instanceType: defaultGetInstanceTypes.instanceTypes?.[0]?.id,\n nameRegex: \"^aliyun_2_19\",\n owners: \"system\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: zoneId,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n instanceName: name,\n});\nconst defaultInstanceAttachment = new alicloud.databasefilesystem.InstanceAttachment(\"default\", {\n instanceId: _default.then(_default =\u003e _default.instances?.[0]?.id),\n ecsId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = \"cn-hangzhou-i\"\ndefault = alicloud.databasefilesystem.get_instances()\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=zone_id,\n instance_type_family=\"ecs.g7se\")\ndefault_get_images = alicloud.ecs.get_images(instance_type=default_get_instance_types.instance_types[0].id,\n name_regex=\"^aliyun_2_19\",\n owners=\"system\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=zone_id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_get_switches.ids[0],\n instance_name=name)\ndefault_instance_attachment = alicloud.databasefilesystem.InstanceAttachment(\"default\",\n instance_id=default.instances[0].id,\n ecs_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = \"cn-hangzhou-i\";\n\n var @default = AliCloud.DatabaseFilesystem.GetInstances.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = zoneId,\n InstanceTypeFamily = \"ecs.g7se\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n NameRegex = \"^aliyun_2_19\",\n Owners = \"system\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = zoneId,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n InstanceName = name,\n });\n\n var defaultInstanceAttachment = new AliCloud.DatabaseFilesystem.InstanceAttachment(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.Id)),\n EcsId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nzoneId := \"cn-hangzhou-i\";\n_default, err := databasefilesystem.GetInstances(ctx, \u0026databasefilesystem.GetInstancesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(zoneId),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g7se\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nInstanceType: pulumi.StringRef(defaultGetInstanceTypes.InstanceTypes[0].Id),\nNameRegex: pulumi.StringRef(\"^aliyun_2_19\"),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\nNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\nVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\nZoneId: pulumi.StringRef(zoneId),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_essd\"),\nVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = databasefilesystem.NewInstanceAttachment(ctx, \"default\", \u0026databasefilesystem.InstanceAttachmentArgs{\nInstanceId: pulumi.String(_default.Instances[0].Id),\nEcsId: defaultInstance.ID(),\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.alicloud.databasefilesystem.DatabasefilesystemFunctions;\nimport com.pulumi.alicloud.databasefilesystem.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.databasefilesystem.InstanceAttachment;\nimport com.pulumi.alicloud.databasefilesystem.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = \"cn-hangzhou-i\";\n\n final var default = DatabasefilesystemFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(zoneId)\n .instanceTypeFamily(\"ecs.g7se\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .nameRegex(\"^aliyun_2_19\")\n .owners(\"system\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(zoneId)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .instanceName(name)\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(default_.instances()[0].id())\n .ecsId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase File System (DBFS) Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/instanceAttachment:InstanceAttachment example \u003cinstance_id\u003e:\u003cecs_id\u003e\n```\n\n", + "description": "Provides a Database File System (DBFS) Instance Attachment resource.\n\nFor information about Database File System (DBFS) Instance Attachment and how to use it, see [What is Snapshot](https://help.aliyun.com/zh/dbfs/developer-reference/api-dbfs-2020-04-18-attachdbfs).\n\n\u003e **NOTE:** Available since v1.156.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = \"cn-hangzhou-i\";\nconst _default = alicloud.databasefilesystem.getInstances({});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n availabilityZone: zoneId,\n instanceTypeFamily: \"ecs.g7se\",\n});\nconst defaultGetImages = defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e alicloud.ecs.getImages({\n instanceType: defaultGetInstanceTypes.instanceTypes?.[0]?.id,\n nameRegex: \"^aliyun_2_19\",\n owners: \"system\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: zoneId,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n instanceName: name,\n});\nconst defaultInstanceAttachment = new alicloud.databasefilesystem.InstanceAttachment(\"default\", {\n instanceId: _default.then(_default =\u003e _default.instances?.[0]?.id),\n ecsId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = \"cn-hangzhou-i\"\ndefault = alicloud.databasefilesystem.get_instances()\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=zone_id,\n instance_type_family=\"ecs.g7se\")\ndefault_get_images = alicloud.ecs.get_images(instance_type=default_get_instance_types.instance_types[0].id,\n name_regex=\"^aliyun_2_19\",\n owners=\"system\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=zone_id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_get_switches.ids[0],\n instance_name=name)\ndefault_instance_attachment = alicloud.databasefilesystem.InstanceAttachment(\"default\",\n instance_id=default.instances[0].id,\n ecs_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = \"cn-hangzhou-i\";\n\n var @default = AliCloud.DatabaseFilesystem.GetInstances.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = zoneId,\n InstanceTypeFamily = \"ecs.g7se\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n NameRegex = \"^aliyun_2_19\",\n Owners = \"system\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = zoneId,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n InstanceName = name,\n });\n\n var defaultInstanceAttachment = new AliCloud.DatabaseFilesystem.InstanceAttachment(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.Id)),\n EcsId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nzoneId := \"cn-hangzhou-i\";\n_default, err := databasefilesystem.GetInstances(ctx, \u0026databasefilesystem.GetInstancesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(zoneId),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g7se\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nInstanceType: pulumi.StringRef(defaultGetInstanceTypes.InstanceTypes[0].Id),\nNameRegex: pulumi.StringRef(\"^aliyun_2_19\"),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\nNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\nVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\nZoneId: pulumi.StringRef(zoneId),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_essd\"),\nVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = databasefilesystem.NewInstanceAttachment(ctx, \"default\", \u0026databasefilesystem.InstanceAttachmentArgs{\nInstanceId: pulumi.String(_default.Instances[0].Id),\nEcsId: defaultInstance.ID(),\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.alicloud.databasefilesystem.DatabasefilesystemFunctions;\nimport com.pulumi.alicloud.databasefilesystem.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.databasefilesystem.InstanceAttachment;\nimport com.pulumi.alicloud.databasefilesystem.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = \"cn-hangzhou-i\";\n\n final var default = DatabasefilesystemFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(zoneId)\n .instanceTypeFamily(\"ecs.g7se\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .nameRegex(\"^aliyun_2_19\")\n .owners(\"system\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(zoneId)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .instanceName(name)\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceId(default_.instances()[0].id())\n .ecsId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatabase File System (DBFS) Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/instanceAttachment:InstanceAttachment example \u003cinstance_id\u003e:\u003cecs_id\u003e\n```\n\n", "properties": { "ecsId": { "type": "string", @@ -135901,7 +138530,7 @@ } }, "alicloud:databasefilesystem/serviceLinkedRole:ServiceLinkedRole": { - "description": "Using this data source can create Dbfs service-linked roles(SLR). Dbfs may need to access another Alibaba Cloud service to implement a specific feature. In this case, Dbfs must assume a specific service-linked role, which is a Resource Access Management (RAM) role, to obtain permissions to access another Alibaba Cloud service. \n\nFor information about Dbfs service-linked roles(SLR) and how to use it, see [What is service-linked roles](https://www.alibabacloud.com/help/en/resource-management/resource-group/developer-reference/api-resourcemanager-2020-03-31-createservicelinkedrole-rg).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst serviceLinkedRole = new alicloud.databasefilesystem.ServiceLinkedRole(\"service_linked_role\", {productName: \"AliyunServiceRoleForDbfs\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nservice_linked_role = alicloud.databasefilesystem.ServiceLinkedRole(\"service_linked_role\", product_name=\"AliyunServiceRoleForDbfs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceLinkedRole = new AliCloud.DatabaseFilesystem.ServiceLinkedRole(\"service_linked_role\", new()\n {\n ProductName = \"AliyunServiceRoleForDbfs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasefilesystem.NewServiceLinkedRole(ctx, \"service_linked_role\", \u0026databasefilesystem.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForDbfs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.ServiceLinkedRole;\nimport com.pulumi.alicloud.databasefilesystem.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForDbfs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceLinkedRole:\n type: alicloud:databasefilesystem:ServiceLinkedRole\n name: service_linked_role\n properties:\n productName: AliyunServiceRoleForDbfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDbfs service-linked roles(SLR) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", + "description": "Using this data source can create Dbfs service-linked roles(SLR). Dbfs may need to access another Alibaba Cloud service to implement a specific feature. In this case, Dbfs must assume a specific service-linked role, which is a Resource Access Management (RAM) role, to obtain permissions to access another Alibaba Cloud service. \n\nFor information about Dbfs service-linked roles(SLR) and how to use it, see [What is service-linked roles](https://www.alibabacloud.com/help/en/resource-management/resource-group/developer-reference/api-resourcemanager-2020-03-31-createservicelinkedrole-rg).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst serviceLinkedRole = new alicloud.databasefilesystem.ServiceLinkedRole(\"service_linked_role\", {productName: \"AliyunServiceRoleForDbfs\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nservice_linked_role = alicloud.databasefilesystem.ServiceLinkedRole(\"service_linked_role\", product_name=\"AliyunServiceRoleForDbfs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceLinkedRole = new AliCloud.DatabaseFilesystem.ServiceLinkedRole(\"service_linked_role\", new()\n {\n ProductName = \"AliyunServiceRoleForDbfs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasefilesystem.NewServiceLinkedRole(ctx, \"service_linked_role\", \u0026databasefilesystem.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForDbfs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.ServiceLinkedRole;\nimport com.pulumi.alicloud.databasefilesystem.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForDbfs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n serviceLinkedRole:\n type: alicloud:databasefilesystem:ServiceLinkedRole\n name: service_linked_role\n properties:\n productName: AliyunServiceRoleForDbfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDbfs service-linked roles(SLR) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", "properties": { "productName": { "type": "string", @@ -135943,7 +138572,7 @@ } }, "alicloud:databasefilesystem/snapshot:Snapshot": { - "description": "Provides a Database File System (DBFS) Snapshot resource.\n\nFor information about Database File System (DBFS) Snapshot and how to use it, see [What is Snapshot](https://help.aliyun.com/zh/dbfs/developer-reference/api-dbfs-2020-04-18-createsnapshot).\n\n\u003e **NOTE:** Available since v1.156.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.databasefilesystem.getInstances({});\nconst example = new alicloud.databasefilesystem.Snapshot(\"example\", {\n instanceId: _default.then(_default =\u003e _default.instances?.[0]?.id),\n retentionDays: 50,\n snapshotName: name,\n description: \"DbfsSnapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.databasefilesystem.get_instances()\nexample = alicloud.databasefilesystem.Snapshot(\"example\",\n instance_id=default.instances[0].id,\n retention_days=50,\n snapshot_name=name,\n description=\"DbfsSnapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.DatabaseFilesystem.GetInstances.Invoke();\n\n var example = new AliCloud.DatabaseFilesystem.Snapshot(\"example\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.Id)),\n RetentionDays = 50,\n SnapshotName = name,\n Description = \"DbfsSnapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := databasefilesystem.GetInstances(ctx, \u0026databasefilesystem.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databasefilesystem.NewSnapshot(ctx, \"example\", \u0026databasefilesystem.SnapshotArgs{\n\t\t\tInstanceId: pulumi.String(_default.Instances[0].Id),\n\t\t\tRetentionDays: pulumi.Int(50),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"DbfsSnapshot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.DatabasefilesystemFunctions;\nimport com.pulumi.alicloud.databasefilesystem.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.databasefilesystem.Snapshot;\nimport com.pulumi.alicloud.databasefilesystem.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = DatabasefilesystemFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var example = new Snapshot(\"example\", SnapshotArgs.builder()\n .instanceId(default_.instances()[0].id())\n .retentionDays(50)\n .snapshotName(name)\n .description(\"DbfsSnapshot\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:databasefilesystem:Snapshot\n properties:\n instanceId: ${default.instances[0].id}\n retentionDays: 50\n snapshotName: ${name}\n description: DbfsSnapshot\nvariables:\n default:\n fn::invoke:\n function: alicloud:databasefilesystem:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase File System (DBFS) Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/snapshot:Snapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a Database File System (DBFS) Snapshot resource.\n\nFor information about Database File System (DBFS) Snapshot and how to use it, see [What is Snapshot](https://help.aliyun.com/zh/dbfs/developer-reference/api-dbfs-2020-04-18-createsnapshot).\n\n\u003e **NOTE:** Available since v1.156.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.databasefilesystem.getInstances({});\nconst example = new alicloud.databasefilesystem.Snapshot(\"example\", {\n instanceId: _default.then(_default =\u003e _default.instances?.[0]?.id),\n retentionDays: 50,\n snapshotName: name,\n description: \"DbfsSnapshot\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.databasefilesystem.get_instances()\nexample = alicloud.databasefilesystem.Snapshot(\"example\",\n instance_id=default.instances[0].id,\n retention_days=50,\n snapshot_name=name,\n description=\"DbfsSnapshot\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.DatabaseFilesystem.GetInstances.Invoke();\n\n var example = new AliCloud.DatabaseFilesystem.Snapshot(\"example\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.Id)),\n RetentionDays = 50,\n SnapshotName = name,\n Description = \"DbfsSnapshot\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasefilesystem\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := databasefilesystem.GetInstances(ctx, \u0026databasefilesystem.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databasefilesystem.NewSnapshot(ctx, \"example\", \u0026databasefilesystem.SnapshotArgs{\n\t\t\tInstanceId: pulumi.String(_default.Instances[0].Id),\n\t\t\tRetentionDays: pulumi.Int(50),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"DbfsSnapshot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasefilesystem.DatabasefilesystemFunctions;\nimport com.pulumi.alicloud.databasefilesystem.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.databasefilesystem.Snapshot;\nimport com.pulumi.alicloud.databasefilesystem.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = DatabasefilesystemFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var example = new Snapshot(\"example\", SnapshotArgs.builder()\n .instanceId(default_.instances()[0].id())\n .retentionDays(50)\n .snapshotName(name)\n .description(\"DbfsSnapshot\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:databasefilesystem:Snapshot\n properties:\n instanceId: ${default.instances[0].id}\n retentionDays: 50\n snapshotName: ${name}\n description: DbfsSnapshot\nvariables:\n default:\n fn::invoke:\n function: alicloud:databasefilesystem:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatabase File System (DBFS) Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasefilesystem/snapshot:Snapshot example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -136035,7 +138664,7 @@ } }, "alicloud:databasegateway/gateway:Gateway": { - "description": "Provides a Database Gateway Gateway resource.\n\nFor information about Database Gateway Gateway and how to use it, see [What is Gateway](https://www.alibabacloud.com/help/doc-detail/123415.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.databasegateway.Gateway(\"example\", {gatewayName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.databasegateway.Gateway(\"example\", gateway_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.DatabaseGateway.Gateway(\"example\", new()\n {\n GatewayName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasegateway.NewGateway(ctx, \"example\", \u0026databasegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasegateway.Gateway;\nimport com.pulumi.alicloud.databasegateway.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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:databasegateway:Gateway\n properties:\n gatewayName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase Gateway Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasegateway/gateway:Gateway example \u003cid\u003e\n```\n\n", + "description": "Provides a Database Gateway Gateway resource.\n\nFor information about Database Gateway Gateway and how to use it, see [What is Gateway](https://www.alibabacloud.com/help/doc-detail/123415.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.databasegateway.Gateway(\"example\", {gatewayName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.databasegateway.Gateway(\"example\", gateway_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.DatabaseGateway.Gateway(\"example\", new()\n {\n GatewayName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/databasegateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := databasegateway.NewGateway(ctx, \"example\", \u0026databasegateway.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.databasegateway.Gateway;\nimport com.pulumi.alicloud.databasegateway.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 example = new Gateway(\"example\", GatewayArgs.builder()\n .gatewayName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:databasegateway:Gateway\n properties:\n gatewayName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatabase Gateway Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:databasegateway/gateway:Gateway example \u003cid\u003e\n```\n\n", "properties": { "gatewayDesc": { "type": "string", @@ -136087,7 +138716,7 @@ } }, "alicloud:datahub/project:Project": { - "description": "The project is the basic unit of resource management in Datahub Service and is used to isolate and control resources. It contains a set of Topics. You can manage the datahub sources of an application by using projects. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n\u003e **NOTE:** Currently Datahub service only can be supported in the regions: cn-beijing, cn-hangzhou, cn-shanghai, cn-shenzhen, ap-southeast-1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatahub project can be imported using the *name* or ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/project:Project example tf_datahub_project\n```\n\n", + "description": "The project is the basic unit of resource management in Datahub Service and is used to isolate and control resources. It contains a set of Topics. You can manage the datahub sources of an application by using projects. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n\u003e **NOTE:** Currently Datahub service only can be supported in the regions: cn-beijing, cn-hangzhou, cn-shanghai, cn-shenzhen, ap-southeast-1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatahub project can be imported using the *name* or ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/project:Project example tf_datahub_project\n```\n\n", "properties": { "comment": { "type": "string", @@ -136147,7 +138776,7 @@ } }, "alicloud:datahub/subscription:Subscription": { - "description": "The subscription is the basic unit of resource usage in Datahub Service under Publish/Subscribe model. You can manage the relationships between user and topics by using subscriptions. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\nconst exampleTopic = new alicloud.datahub.Topic(\"example\", {\n name: name,\n projectName: example.name,\n recordType: \"BLOB\",\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\nconst exampleSubscription = new alicloud.datahub.Subscription(\"example\", {\n projectName: example.name,\n topicName: exampleTopic.name,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\nexample_topic = alicloud.datahub.Topic(\"example\",\n name=name,\n project_name=example.name,\n record_type=\"BLOB\",\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\nexample_subscription = alicloud.datahub.Subscription(\"example\",\n project_name=example.name,\n topic_name=example_topic.name,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n var exampleTopic = new AliCloud.Datahub.Topic(\"example\", new()\n {\n Name = name,\n ProjectName = example.Name,\n RecordType = \"BLOB\",\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n var exampleSubscription = new AliCloud.Datahub.Subscription(\"example\", new()\n {\n ProjectName = example.Name,\n TopicName = exampleTopic.Name,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := datahub.NewTopic(ctx, \"example\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"BLOB\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewSubscription(ctx, \"example\", \u0026datahub.SubscriptionArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.ProjectArgs;\nimport com.pulumi.alicloud.datahub.Topic;\nimport com.pulumi.alicloud.datahub.TopicArgs;\nimport com.pulumi.alicloud.datahub.Subscription;\nimport com.pulumi.alicloud.datahub.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(name)\n .projectName(example.name())\n .recordType(\"BLOB\")\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n .projectName(example.name())\n .topicName(exampleTopic.name())\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n exampleTopic:\n type: alicloud:datahub:Topic\n name: example\n properties:\n name: ${name}\n projectName: ${example.name}\n recordType: BLOB\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n exampleSubscription:\n type: alicloud:datahub:Subscription\n name: example\n properties:\n projectName: ${example.name}\n topicName: ${exampleTopic.name}\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatahub subscription can be imported using the ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/subscription:Subscription example tf_datahub_project:tf_datahub_topic:1539073399567UgCzY\n```\n\n", + "description": "The subscription is the basic unit of resource usage in Datahub Service under Publish/Subscribe model. You can manage the relationships between user and topics by using subscriptions. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\nconst exampleTopic = new alicloud.datahub.Topic(\"example\", {\n name: name,\n projectName: example.name,\n recordType: \"BLOB\",\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\nconst exampleSubscription = new alicloud.datahub.Subscription(\"example\", {\n projectName: example.name,\n topicName: exampleTopic.name,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\nexample_topic = alicloud.datahub.Topic(\"example\",\n name=name,\n project_name=example.name,\n record_type=\"BLOB\",\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\nexample_subscription = alicloud.datahub.Subscription(\"example\",\n project_name=example.name,\n topic_name=example_topic.name,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n var exampleTopic = new AliCloud.Datahub.Topic(\"example\", new()\n {\n Name = name,\n ProjectName = example.Name,\n RecordType = \"BLOB\",\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n var exampleSubscription = new AliCloud.Datahub.Subscription(\"example\", new()\n {\n ProjectName = example.Name,\n TopicName = exampleTopic.Name,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := datahub.NewTopic(ctx, \"example\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"BLOB\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewSubscription(ctx, \"example\", \u0026datahub.SubscriptionArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tTopicName: exampleTopic.Name,\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.ProjectArgs;\nimport com.pulumi.alicloud.datahub.Topic;\nimport com.pulumi.alicloud.datahub.TopicArgs;\nimport com.pulumi.alicloud.datahub.Subscription;\nimport com.pulumi.alicloud.datahub.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder()\n .name(name)\n .projectName(example.name())\n .recordType(\"BLOB\")\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n var exampleSubscription = new Subscription(\"exampleSubscription\", SubscriptionArgs.builder()\n .projectName(example.name())\n .topicName(exampleTopic.name())\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n exampleTopic:\n type: alicloud:datahub:Topic\n name: example\n properties:\n name: ${name}\n projectName: ${example.name}\n recordType: BLOB\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n exampleSubscription:\n type: alicloud:datahub:Subscription\n name: example\n properties:\n projectName: ${example.name}\n topicName: ${exampleTopic.name}\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatahub subscription can be imported using the ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/subscription:Subscription example tf_datahub_project:tf_datahub_topic:1539073399567UgCzY\n```\n\n", "properties": { "comment": { "type": "string", @@ -136235,7 +138864,7 @@ } }, "alicloud:datahub/topic:Topic": { - "description": "The topic is the basic unit of Datahub data source and is used to define one kind of data or stream. It contains a set of subscriptions. You can manage the datahub source of an application by using topics. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\nconst exampleBlob = new alicloud.datahub.Topic(\"example_blob\", {\n name: `${name}_blob`,\n projectName: example.name,\n recordType: \"BLOB\",\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\nconst exampleTuple = new alicloud.datahub.Topic(\"example_tuple\", {\n name: `${name}_tuple`,\n projectName: example.name,\n recordType: \"TUPLE\",\n recordSchema: {\n bigint_field: \"BIGINT\",\n timestamp_field: \"TIMESTAMP\",\n string_field: \"STRING\",\n double_field: \"DOUBLE\",\n boolean_field: \"BOOLEAN\",\n },\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\nexample_blob = alicloud.datahub.Topic(\"example_blob\",\n name=f\"{name}_blob\",\n project_name=example.name,\n record_type=\"BLOB\",\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\nexample_tuple = alicloud.datahub.Topic(\"example_tuple\",\n name=f\"{name}_tuple\",\n project_name=example.name,\n record_type=\"TUPLE\",\n record_schema={\n \"bigint_field\": \"BIGINT\",\n \"timestamp_field\": \"TIMESTAMP\",\n \"string_field\": \"STRING\",\n \"double_field\": \"DOUBLE\",\n \"boolean_field\": \"BOOLEAN\",\n },\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n var exampleBlob = new AliCloud.Datahub.Topic(\"example_blob\", new()\n {\n Name = $\"{name}_blob\",\n ProjectName = example.Name,\n RecordType = \"BLOB\",\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n var exampleTuple = new AliCloud.Datahub.Topic(\"example_tuple\", new()\n {\n Name = $\"{name}_tuple\",\n ProjectName = example.Name,\n RecordType = \"TUPLE\",\n RecordSchema = \n {\n { \"bigint_field\", \"BIGINT\" },\n { \"timestamp_field\", \"TIMESTAMP\" },\n { \"string_field\", \"STRING\" },\n { \"double_field\", \"DOUBLE\" },\n { \"boolean_field\", \"BOOLEAN\" },\n },\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewTopic(ctx, \"example_blob\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_blob\", name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"BLOB\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewTopic(ctx, \"example_tuple\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_tuple\", name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"TUPLE\"),\n\t\t\tRecordSchema: pulumi.StringMap{\n\t\t\t\t\"bigint_field\": pulumi.String(\"BIGINT\"),\n\t\t\t\t\"timestamp_field\": pulumi.String(\"TIMESTAMP\"),\n\t\t\t\t\"string_field\": pulumi.String(\"STRING\"),\n\t\t\t\t\"double_field\": pulumi.String(\"DOUBLE\"),\n\t\t\t\t\"boolean_field\": pulumi.String(\"BOOLEAN\"),\n\t\t\t},\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.ProjectArgs;\nimport com.pulumi.alicloud.datahub.Topic;\nimport com.pulumi.alicloud.datahub.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n var exampleBlob = new Topic(\"exampleBlob\", TopicArgs.builder()\n .name(String.format(\"%s_blob\", name))\n .projectName(example.name())\n .recordType(\"BLOB\")\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n var exampleTuple = new Topic(\"exampleTuple\", TopicArgs.builder()\n .name(String.format(\"%s_tuple\", name))\n .projectName(example.name())\n .recordType(\"TUPLE\")\n .recordSchema(Map.ofEntries(\n Map.entry(\"bigint_field\", \"BIGINT\"),\n Map.entry(\"timestamp_field\", \"TIMESTAMP\"),\n Map.entry(\"string_field\", \"STRING\"),\n Map.entry(\"double_field\", \"DOUBLE\"),\n Map.entry(\"boolean_field\", \"BOOLEAN\")\n ))\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n exampleBlob:\n type: alicloud:datahub:Topic\n name: example_blob\n properties:\n name: ${name}_blob\n projectName: ${example.name}\n recordType: BLOB\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n exampleTuple:\n type: alicloud:datahub:Topic\n name: example_tuple\n properties:\n name: ${name}_tuple\n projectName: ${example.name}\n recordType: TUPLE\n recordSchema:\n bigint_field: BIGINT\n timestamp_field: TIMESTAMP\n string_field: STRING\n double_field: DOUBLE\n boolean_field: BOOLEAN\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatahub topic can be imported using the ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/topic:Topic example tf_datahub_project:tf_datahub_topic\n```\n\n", + "description": "The topic is the basic unit of Datahub data source and is used to define one kind of data or stream. It contains a set of subscriptions. You can manage the datahub source of an application by using topics. [Refer to details](https://www.alibabacloud.com/help/en/datahub/latest/nerbcz).\n\n\u003e **NOTE:** Available since v1.19.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.datahub.Project(\"example\", {\n name: name,\n comment: \"created by terraform\",\n});\nconst exampleBlob = new alicloud.datahub.Topic(\"example_blob\", {\n name: `${name}_blob`,\n projectName: example.name,\n recordType: \"BLOB\",\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\nconst exampleTuple = new alicloud.datahub.Topic(\"example_tuple\", {\n name: `${name}_tuple`,\n projectName: example.name,\n recordType: \"TUPLE\",\n recordSchema: {\n bigint_field: \"BIGINT\",\n timestamp_field: \"TIMESTAMP\",\n string_field: \"STRING\",\n double_field: \"DOUBLE\",\n boolean_field: \"BOOLEAN\",\n },\n shardCount: 3,\n lifeCycle: 7,\n comment: \"created by terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.datahub.Project(\"example\",\n name=name,\n comment=\"created by terraform\")\nexample_blob = alicloud.datahub.Topic(\"example_blob\",\n name=f\"{name}_blob\",\n project_name=example.name,\n record_type=\"BLOB\",\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\nexample_tuple = alicloud.datahub.Topic(\"example_tuple\",\n name=f\"{name}_tuple\",\n project_name=example.name,\n record_type=\"TUPLE\",\n record_schema={\n \"bigint_field\": \"BIGINT\",\n \"timestamp_field\": \"TIMESTAMP\",\n \"string_field\": \"STRING\",\n \"double_field\": \"DOUBLE\",\n \"boolean_field\": \"BOOLEAN\",\n },\n shard_count=3,\n life_cycle=7,\n comment=\"created by terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.Datahub.Project(\"example\", new()\n {\n Name = name,\n Comment = \"created by terraform\",\n });\n\n var exampleBlob = new AliCloud.Datahub.Topic(\"example_blob\", new()\n {\n Name = $\"{name}_blob\",\n ProjectName = example.Name,\n RecordType = \"BLOB\",\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n var exampleTuple = new AliCloud.Datahub.Topic(\"example_tuple\", new()\n {\n Name = $\"{name}_tuple\",\n ProjectName = example.Name,\n RecordType = \"TUPLE\",\n RecordSchema = \n {\n { \"bigint_field\", \"BIGINT\" },\n { \"timestamp_field\", \"TIMESTAMP\" },\n { \"string_field\", \"STRING\" },\n { \"double_field\", \"DOUBLE\" },\n { \"boolean_field\", \"BOOLEAN\" },\n },\n ShardCount = 3,\n LifeCycle = 7,\n Comment = \"created by terraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/datahub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := datahub.NewProject(ctx, \"example\", \u0026datahub.ProjectArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewTopic(ctx, \"example_blob\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_blob\", name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"BLOB\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = datahub.NewTopic(ctx, \"example_tuple\", \u0026datahub.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"%v_tuple\", name),\n\t\t\tProjectName: example.Name,\n\t\t\tRecordType: pulumi.String(\"TUPLE\"),\n\t\t\tRecordSchema: pulumi.StringMap{\n\t\t\t\t\"bigint_field\": pulumi.String(\"BIGINT\"),\n\t\t\t\t\"timestamp_field\": pulumi.String(\"TIMESTAMP\"),\n\t\t\t\t\"string_field\": pulumi.String(\"STRING\"),\n\t\t\t\t\"double_field\": pulumi.String(\"DOUBLE\"),\n\t\t\t\t\"boolean_field\": pulumi.String(\"BOOLEAN\"),\n\t\t\t},\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tLifeCycle: pulumi.Int(7),\n\t\t\tComment: pulumi.String(\"created by 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.alicloud.datahub.Project;\nimport com.pulumi.alicloud.datahub.ProjectArgs;\nimport com.pulumi.alicloud.datahub.Topic;\nimport com.pulumi.alicloud.datahub.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(name)\n .comment(\"created by terraform\")\n .build());\n\n var exampleBlob = new Topic(\"exampleBlob\", TopicArgs.builder()\n .name(String.format(\"%s_blob\", name))\n .projectName(example.name())\n .recordType(\"BLOB\")\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n var exampleTuple = new Topic(\"exampleTuple\", TopicArgs.builder()\n .name(String.format(\"%s_tuple\", name))\n .projectName(example.name())\n .recordType(\"TUPLE\")\n .recordSchema(Map.ofEntries(\n Map.entry(\"bigint_field\", \"BIGINT\"),\n Map.entry(\"timestamp_field\", \"TIMESTAMP\"),\n Map.entry(\"string_field\", \"STRING\"),\n Map.entry(\"double_field\", \"DOUBLE\"),\n Map.entry(\"boolean_field\", \"BOOLEAN\")\n ))\n .shardCount(3)\n .lifeCycle(7)\n .comment(\"created by terraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:datahub:Project\n properties:\n name: ${name}\n comment: created by terraform\n exampleBlob:\n type: alicloud:datahub:Topic\n name: example_blob\n properties:\n name: ${name}_blob\n projectName: ${example.name}\n recordType: BLOB\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n exampleTuple:\n type: alicloud:datahub:Topic\n name: example_tuple\n properties:\n name: ${name}_tuple\n projectName: ${example.name}\n recordType: TUPLE\n recordSchema:\n bigint_field: BIGINT\n timestamp_field: TIMESTAMP\n string_field: STRING\n double_field: DOUBLE\n boolean_field: BOOLEAN\n shardCount: 3\n lifeCycle: 7\n comment: created by terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDatahub topic can be imported using the ID, e.g.\n\n```sh\n$ pulumi import alicloud:datahub/topic:Topic example tf_datahub_project:tf_datahub_topic\n```\n\n", "properties": { "comment": { "type": "string", @@ -136376,7 +139005,7 @@ } }, "alicloud:dataworks/dataSource:DataSource": { - "description": "Provides a Data Works Data Source resource.\n\n\n\nFor information about Data Works Data Source and how to use it, see [What is Data Source](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdatasource).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultkguw4R = new alicloud.dataworks.Project(\"defaultkguw4R\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDataSource = new alicloud.dataworks.DataSource(\"default\", {\n type: \"hive\",\n dataSourceName: name,\n connectionProperties: JSON.stringify({\n address: [{\n host: \"127.0.0.1\",\n port: \"1234\",\n }],\n database: \"hive_database\",\n metaType: \"HiveMetastore\",\n metastoreUris: \"thrift://123:123\",\n version: \"2.3.9\",\n loginMode: \"Anonymous\",\n securityProtocol: \"authTypeNone\",\n envType: \"Prod\",\n properties: {\n key1: \"value1\",\n },\n }),\n connectionPropertiesMode: \"UrlMode\",\n projectId: defaultkguw4R.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaultkguw4_r = alicloud.dataworks.Project(\"defaultkguw4R\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\ndefault_data_source = alicloud.dataworks.DataSource(\"default\",\n type=\"hive\",\n data_source_name=name,\n connection_properties=json.dumps({\n \"address\": [{\n \"host\": \"127.0.0.1\",\n \"port\": \"1234\",\n }],\n \"database\": \"hive_database\",\n \"metaType\": \"HiveMetastore\",\n \"metastoreUris\": \"thrift://123:123\",\n \"version\": \"2.3.9\",\n \"loginMode\": \"Anonymous\",\n \"securityProtocol\": \"authTypeNone\",\n \"envType\": \"Prod\",\n \"properties\": {\n \"key1\": \"value1\",\n },\n }),\n connection_properties_mode=\"UrlMode\",\n project_id=defaultkguw4_r.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultkguw4R = new AliCloud.DataWorks.Project(\"defaultkguw4R\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultDataSource = new AliCloud.DataWorks.DataSource(\"default\", new()\n {\n Type = \"hive\",\n DataSourceName = name,\n ConnectionProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"address\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"127.0.0.1\",\n [\"port\"] = \"1234\",\n },\n },\n [\"database\"] = \"hive_database\",\n [\"metaType\"] = \"HiveMetastore\",\n [\"metastoreUris\"] = \"thrift://123:123\",\n [\"version\"] = \"2.3.9\",\n [\"loginMode\"] = \"Anonymous\",\n [\"securityProtocol\"] = \"authTypeNone\",\n [\"envType\"] = \"Prod\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n },\n }),\n ConnectionPropertiesMode = \"UrlMode\",\n ProjectId = defaultkguw4R.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultkguw4R, err := dataworks.NewProject(ctx, \"defaultkguw4R\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\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\"address\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": \"127.0.0.1\",\n\t\t\t\t\t\"port\": \"1234\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"database\": \"hive_database\",\n\t\t\t\"metaType\": \"HiveMetastore\",\n\t\t\t\"metastoreUris\": \"thrift://123:123\",\n\t\t\t\"version\": \"2.3.9\",\n\t\t\t\"loginMode\": \"Anonymous\",\n\t\t\t\"securityProtocol\": \"authTypeNone\",\n\t\t\t\"envType\": \"Prod\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"key1\": \"value1\",\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 = dataworks.NewDataSource(ctx, \"default\", \u0026dataworks.DataSourceArgs{\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tDataSourceName: pulumi.String(name),\n\t\t\tConnectionProperties: pulumi.String(json0),\n\t\t\tConnectionPropertiesMode: pulumi.String(\"UrlMode\"),\n\t\t\tProjectId: defaultkguw4R.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DataSource;\nimport com.pulumi.alicloud.dataworks.DataSourceArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultkguw4R = new Project(\"defaultkguw4R\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultDataSource = new DataSource(\"defaultDataSource\", DataSourceArgs.builder()\n .type(\"hive\")\n .dataSourceName(name)\n .connectionProperties(serializeJson(\n jsonObject(\n jsonProperty(\"address\", jsonArray(jsonObject(\n jsonProperty(\"host\", \"127.0.0.1\"),\n jsonProperty(\"port\", \"1234\")\n ))),\n jsonProperty(\"database\", \"hive_database\"),\n jsonProperty(\"metaType\", \"HiveMetastore\"),\n jsonProperty(\"metastoreUris\", \"thrift://123:123\"),\n jsonProperty(\"version\", \"2.3.9\"),\n jsonProperty(\"loginMode\", \"Anonymous\"),\n jsonProperty(\"securityProtocol\", \"authTypeNone\"),\n jsonProperty(\"envType\", \"Prod\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"key1\", \"value1\")\n ))\n )))\n .connectionPropertiesMode(\"UrlMode\")\n .projectId(defaultkguw4R.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultkguw4R:\n type: alicloud:dataworks:Project\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\n defaultDataSource:\n type: alicloud:dataworks:DataSource\n name: default\n properties:\n type: hive\n dataSourceName: ${name}\n connectionProperties:\n fn::toJSON:\n address:\n - host: 127.0.0.1\n port: '1234'\n database: hive_database\n metaType: HiveMetastore\n metastoreUris: thrift://123:123\n version: 2.3.9\n loginMode: Anonymous\n securityProtocol: authTypeNone\n envType: Prod\n properties:\n key1: value1\n connectionPropertiesMode: UrlMode\n projectId: ${defaultkguw4R.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dataSource:DataSource example \u003cproject_id\u003e:\u003cdata_source_id\u003e\n```\n\n", + "description": "Provides a Data Works Data Source resource.\n\n\n\nFor information about Data Works Data Source and how to use it, see [What is Data Source](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdatasource).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultkguw4R = new alicloud.dataworks.Project(\"defaultkguw4R\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDataSource = new alicloud.dataworks.DataSource(\"default\", {\n type: \"hive\",\n dataSourceName: name,\n connectionProperties: JSON.stringify({\n address: [{\n host: \"127.0.0.1\",\n port: \"1234\",\n }],\n database: \"hive_database\",\n metaType: \"HiveMetastore\",\n metastoreUris: \"thrift://123:123\",\n version: \"2.3.9\",\n loginMode: \"Anonymous\",\n securityProtocol: \"authTypeNone\",\n envType: \"Prod\",\n properties: {\n key1: \"value1\",\n },\n }),\n connectionPropertiesMode: \"UrlMode\",\n projectId: defaultkguw4R.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaultkguw4_r = alicloud.dataworks.Project(\"defaultkguw4R\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\ndefault_data_source = alicloud.dataworks.DataSource(\"default\",\n type=\"hive\",\n data_source_name=name,\n connection_properties=json.dumps({\n \"address\": [{\n \"host\": \"127.0.0.1\",\n \"port\": \"1234\",\n }],\n \"database\": \"hive_database\",\n \"metaType\": \"HiveMetastore\",\n \"metastoreUris\": \"thrift://123:123\",\n \"version\": \"2.3.9\",\n \"loginMode\": \"Anonymous\",\n \"securityProtocol\": \"authTypeNone\",\n \"envType\": \"Prod\",\n \"properties\": {\n \"key1\": \"value1\",\n },\n }),\n connection_properties_mode=\"UrlMode\",\n project_id=defaultkguw4_r.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultkguw4R = new AliCloud.DataWorks.Project(\"defaultkguw4R\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultDataSource = new AliCloud.DataWorks.DataSource(\"default\", new()\n {\n Type = \"hive\",\n DataSourceName = name,\n ConnectionProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"address\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"127.0.0.1\",\n [\"port\"] = \"1234\",\n },\n },\n [\"database\"] = \"hive_database\",\n [\"metaType\"] = \"HiveMetastore\",\n [\"metastoreUris\"] = \"thrift://123:123\",\n [\"version\"] = \"2.3.9\",\n [\"loginMode\"] = \"Anonymous\",\n [\"securityProtocol\"] = \"authTypeNone\",\n [\"envType\"] = \"Prod\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n },\n }),\n ConnectionPropertiesMode = \"UrlMode\",\n ProjectId = defaultkguw4R.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultkguw4R, err := dataworks.NewProject(ctx, \"defaultkguw4R\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\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\"address\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": \"127.0.0.1\",\n\t\t\t\t\t\"port\": \"1234\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"database\": \"hive_database\",\n\t\t\t\"metaType\": \"HiveMetastore\",\n\t\t\t\"metastoreUris\": \"thrift://123:123\",\n\t\t\t\"version\": \"2.3.9\",\n\t\t\t\"loginMode\": \"Anonymous\",\n\t\t\t\"securityProtocol\": \"authTypeNone\",\n\t\t\t\"envType\": \"Prod\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"key1\": \"value1\",\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 = dataworks.NewDataSource(ctx, \"default\", \u0026dataworks.DataSourceArgs{\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tDataSourceName: pulumi.String(name),\n\t\t\tConnectionProperties: pulumi.String(json0),\n\t\t\tConnectionPropertiesMode: pulumi.String(\"UrlMode\"),\n\t\t\tProjectId: defaultkguw4R.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DataSource;\nimport com.pulumi.alicloud.dataworks.DataSourceArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultkguw4R = new Project(\"defaultkguw4R\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultDataSource = new DataSource(\"defaultDataSource\", DataSourceArgs.builder()\n .type(\"hive\")\n .dataSourceName(name)\n .connectionProperties(serializeJson(\n jsonObject(\n jsonProperty(\"address\", jsonArray(jsonObject(\n jsonProperty(\"host\", \"127.0.0.1\"),\n jsonProperty(\"port\", \"1234\")\n ))),\n jsonProperty(\"database\", \"hive_database\"),\n jsonProperty(\"metaType\", \"HiveMetastore\"),\n jsonProperty(\"metastoreUris\", \"thrift://123:123\"),\n jsonProperty(\"version\", \"2.3.9\"),\n jsonProperty(\"loginMode\", \"Anonymous\"),\n jsonProperty(\"securityProtocol\", \"authTypeNone\"),\n jsonProperty(\"envType\", \"Prod\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"key1\", \"value1\")\n ))\n )))\n .connectionPropertiesMode(\"UrlMode\")\n .projectId(defaultkguw4R.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultkguw4R:\n type: alicloud:dataworks:Project\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\n defaultDataSource:\n type: alicloud:dataworks:DataSource\n name: default\n properties:\n type: hive\n dataSourceName: ${name}\n connectionProperties:\n fn::toJSON:\n address:\n - host: 127.0.0.1\n port: '1234'\n database: hive_database\n metaType: HiveMetastore\n metastoreUris: thrift://123:123\n version: 2.3.9\n loginMode: Anonymous\n securityProtocol: authTypeNone\n envType: Prod\n properties:\n key1: value1\n connectionPropertiesMode: UrlMode\n projectId: ${defaultkguw4R.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dataSource:DataSource example \u003cproject_id\u003e:\u003cdata_source_id\u003e\n```\n\n", "properties": { "connectionProperties": { "type": "string", @@ -136538,7 +139167,7 @@ } }, "alicloud:dataworks/dataSourceSharedRule:DataSourceSharedRule": { - "description": "Provides a Data Works Data Source Shared Rule resource.\n\nData source sharing rule, which expresses A data source, from space A to space B (A user).\n\nFor information about Data Works Data Source Shared Rule and how to use it, see [What is Data Source Shared Rule](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdatasourcesharedrule).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultQeRfvU = new alicloud.dataworks.Project(\"defaultQeRfvU\", {\n description: \"源项目\",\n projectName: name,\n displayName: \"shared_source2\",\n paiTaskEnabled: true,\n});\nconst defaultasjsH5 = new alicloud.dataworks.Project(\"defaultasjsH5\", {\n description: \"目标空间\",\n projectName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"shared_target2\",\n paiTaskEnabled: true,\n});\nconst defaultvzu0wG = new alicloud.dataworks.DataSource(\"defaultvzu0wG\", {\n type: \"hive\",\n dataSourceName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n connectionProperties: JSON.stringify({\n address: [{\n host: \"127.0.0.1\",\n port: \"1234\",\n }],\n database: \"hive_database\",\n metaType: \"HiveMetastore\",\n metastoreUris: \"thrift://123:123\",\n version: \"2.3.9\",\n loginMode: \"Anonymous\",\n securityProtocol: \"authTypeNone\",\n envType: \"Prod\",\n properties: {\n key1: \"value1\",\n },\n }),\n projectId: defaultQeRfvU.id,\n connectionPropertiesMode: \"UrlMode\",\n});\nconst defaultDataSourceSharedRule = new alicloud.dataworks.DataSourceSharedRule(\"default\", {\n targetProjectId: defaultasjsH5.id,\n dataSourceId: defaultvzu0wG.dataSourceId,\n envType: \"Prod\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_qe_rfv_u = alicloud.dataworks.Project(\"defaultQeRfvU\",\n description=\"源项目\",\n project_name=name,\n display_name=\"shared_source2\",\n pai_task_enabled=True)\ndefaultasjs_h5 = alicloud.dataworks.Project(\"defaultasjsH5\",\n description=\"目标空间\",\n project_name=std.format(input=\"%s1\",\n args=[name]).result,\n display_name=\"shared_target2\",\n pai_task_enabled=True)\ndefaultvzu0w_g = alicloud.dataworks.DataSource(\"defaultvzu0wG\",\n type=\"hive\",\n data_source_name=std.format(input=\"%s2\",\n args=[name]).result,\n connection_properties=json.dumps({\n \"address\": [{\n \"host\": \"127.0.0.1\",\n \"port\": \"1234\",\n }],\n \"database\": \"hive_database\",\n \"metaType\": \"HiveMetastore\",\n \"metastoreUris\": \"thrift://123:123\",\n \"version\": \"2.3.9\",\n \"loginMode\": \"Anonymous\",\n \"securityProtocol\": \"authTypeNone\",\n \"envType\": \"Prod\",\n \"properties\": {\n \"key1\": \"value1\",\n },\n }),\n project_id=default_qe_rfv_u.id,\n connection_properties_mode=\"UrlMode\")\ndefault_data_source_shared_rule = alicloud.dataworks.DataSourceSharedRule(\"default\",\n target_project_id=defaultasjs_h5.id,\n data_source_id=defaultvzu0w_g.data_source_id,\n env_type=\"Prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultQeRfvU = new AliCloud.DataWorks.Project(\"defaultQeRfvU\", new()\n {\n Description = \"源项目\",\n ProjectName = name,\n DisplayName = \"shared_source2\",\n PaiTaskEnabled = true,\n });\n\n var defaultasjsH5 = new AliCloud.DataWorks.Project(\"defaultasjsH5\", new()\n {\n Description = \"目标空间\",\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"shared_target2\",\n PaiTaskEnabled = true,\n });\n\n var defaultvzu0wG = new AliCloud.DataWorks.DataSource(\"defaultvzu0wG\", new()\n {\n Type = \"hive\",\n DataSourceName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ConnectionProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"address\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"127.0.0.1\",\n [\"port\"] = \"1234\",\n },\n },\n [\"database\"] = \"hive_database\",\n [\"metaType\"] = \"HiveMetastore\",\n [\"metastoreUris\"] = \"thrift://123:123\",\n [\"version\"] = \"2.3.9\",\n [\"loginMode\"] = \"Anonymous\",\n [\"securityProtocol\"] = \"authTypeNone\",\n [\"envType\"] = \"Prod\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n },\n }),\n ProjectId = defaultQeRfvU.Id,\n ConnectionPropertiesMode = \"UrlMode\",\n });\n\n var defaultDataSourceSharedRule = new AliCloud.DataWorks.DataSourceSharedRule(\"default\", new()\n {\n TargetProjectId = defaultasjsH5.Id,\n DataSourceId = defaultvzu0wG.DataSourceId,\n EnvType = \"Prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQeRfvU, err := dataworks.NewProject(ctx, \"defaultQeRfvU\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"源项目\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"shared_source2\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultasjsH5, err := dataworks.NewProject(ctx, \"defaultasjsH5\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"目标空间\"),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t\tDisplayName: pulumi.String(\"shared_target2\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\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\"address\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": \"127.0.0.1\",\n\t\t\t\t\t\"port\": \"1234\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"database\": \"hive_database\",\n\t\t\t\"metaType\": \"HiveMetastore\",\n\t\t\t\"metastoreUris\": \"thrift://123:123\",\n\t\t\t\"version\": \"2.3.9\",\n\t\t\t\"loginMode\": \"Anonymous\",\n\t\t\t\"securityProtocol\": \"authTypeNone\",\n\t\t\t\"envType\": \"Prod\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"key1\": \"value1\",\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\tdefaultvzu0wG, err := dataworks.NewDataSource(ctx, \"defaultvzu0wG\", \u0026dataworks.DataSourceArgs{\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tDataSourceName: pulumi.String(invokeFormat1.Result),\n\t\t\tConnectionProperties: pulumi.String(json0),\n\t\t\tProjectId: defaultQeRfvU.ID(),\n\t\t\tConnectionPropertiesMode: pulumi.String(\"UrlMode\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDataSourceSharedRule(ctx, \"default\", \u0026dataworks.DataSourceSharedRuleArgs{\n\t\t\tTargetProjectId: defaultasjsH5.ID(),\n\t\t\tDataSourceId: defaultvzu0wG.DataSourceId,\n\t\t\tEnvType: pulumi.String(\"Prod\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dataworks.DataSource;\nimport com.pulumi.alicloud.dataworks.DataSourceArgs;\nimport com.pulumi.alicloud.dataworks.DataSourceSharedRule;\nimport com.pulumi.alicloud.dataworks.DataSourceSharedRuleArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultQeRfvU = new Project(\"defaultQeRfvU\", ProjectArgs.builder()\n .description(\"源项目\")\n .projectName(name)\n .displayName(\"shared_source2\")\n .paiTaskEnabled(true)\n .build());\n\n var defaultasjsH5 = new Project(\"defaultasjsH5\", ProjectArgs.builder()\n .description(\"目标空间\")\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .displayName(\"shared_target2\")\n .paiTaskEnabled(true)\n .build());\n\n var defaultvzu0wG = new DataSource(\"defaultvzu0wG\", DataSourceArgs.builder()\n .type(\"hive\")\n .dataSourceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .connectionProperties(serializeJson(\n jsonObject(\n jsonProperty(\"address\", jsonArray(jsonObject(\n jsonProperty(\"host\", \"127.0.0.1\"),\n jsonProperty(\"port\", \"1234\")\n ))),\n jsonProperty(\"database\", \"hive_database\"),\n jsonProperty(\"metaType\", \"HiveMetastore\"),\n jsonProperty(\"metastoreUris\", \"thrift://123:123\"),\n jsonProperty(\"version\", \"2.3.9\"),\n jsonProperty(\"loginMode\", \"Anonymous\"),\n jsonProperty(\"securityProtocol\", \"authTypeNone\"),\n jsonProperty(\"envType\", \"Prod\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"key1\", \"value1\")\n ))\n )))\n .projectId(defaultQeRfvU.id())\n .connectionPropertiesMode(\"UrlMode\")\n .build());\n\n var defaultDataSourceSharedRule = new DataSourceSharedRule(\"defaultDataSourceSharedRule\", DataSourceSharedRuleArgs.builder()\n .targetProjectId(defaultasjsH5.id())\n .dataSourceId(defaultvzu0wG.dataSourceId())\n .envType(\"Prod\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultQeRfvU:\n type: alicloud:dataworks:Project\n properties:\n description: 源项目\n projectName: ${name}\n displayName: shared_source2\n paiTaskEnabled: true\n defaultasjsH5:\n type: alicloud:dataworks:Project\n properties:\n description: 目标空间\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n displayName: shared_target2\n paiTaskEnabled: true\n defaultvzu0wG:\n type: alicloud:dataworks:DataSource\n properties:\n type: hive\n dataSourceName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n connectionProperties:\n fn::toJSON:\n address:\n - host: 127.0.0.1\n port: '1234'\n database: hive_database\n metaType: HiveMetastore\n metastoreUris: thrift://123:123\n version: 2.3.9\n loginMode: Anonymous\n securityProtocol: authTypeNone\n envType: Prod\n properties:\n key1: value1\n projectId: ${defaultQeRfvU.id}\n connectionPropertiesMode: UrlMode\n defaultDataSourceSharedRule:\n type: alicloud:dataworks:DataSourceSharedRule\n name: default\n properties:\n targetProjectId: ${defaultasjsH5.id}\n dataSourceId: ${defaultvzu0wG.dataSourceId}\n envType: Prod\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Data Source Shared Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dataSourceSharedRule:DataSourceSharedRule example \u003cdata_source_id\u003e:\u003cdata_source_shared_rule_id\u003e\n```\n\n", + "description": "Provides a Data Works Data Source Shared Rule resource.\n\nData source sharing rule, which expresses A data source, from space A to space B (A user).\n\nFor information about Data Works Data Source Shared Rule and how to use it, see [What is Data Source Shared Rule](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdatasourcesharedrule).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultQeRfvU = new alicloud.dataworks.Project(\"defaultQeRfvU\", {\n description: \"源项目\",\n projectName: name,\n displayName: \"shared_source2\",\n paiTaskEnabled: true,\n});\nconst defaultasjsH5 = new alicloud.dataworks.Project(\"defaultasjsH5\", {\n description: \"目标空间\",\n projectName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"shared_target2\",\n paiTaskEnabled: true,\n});\nconst defaultvzu0wG = new alicloud.dataworks.DataSource(\"defaultvzu0wG\", {\n type: \"hive\",\n dataSourceName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n connectionProperties: JSON.stringify({\n address: [{\n host: \"127.0.0.1\",\n port: \"1234\",\n }],\n database: \"hive_database\",\n metaType: \"HiveMetastore\",\n metastoreUris: \"thrift://123:123\",\n version: \"2.3.9\",\n loginMode: \"Anonymous\",\n securityProtocol: \"authTypeNone\",\n envType: \"Prod\",\n properties: {\n key1: \"value1\",\n },\n }),\n projectId: defaultQeRfvU.id,\n connectionPropertiesMode: \"UrlMode\",\n});\nconst defaultDataSourceSharedRule = new alicloud.dataworks.DataSourceSharedRule(\"default\", {\n targetProjectId: defaultasjsH5.id,\n dataSourceId: defaultvzu0wG.dataSourceId,\n envType: \"Prod\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_qe_rfv_u = alicloud.dataworks.Project(\"defaultQeRfvU\",\n description=\"源项目\",\n project_name=name,\n display_name=\"shared_source2\",\n pai_task_enabled=True)\ndefaultasjs_h5 = alicloud.dataworks.Project(\"defaultasjsH5\",\n description=\"目标空间\",\n project_name=std.format(input=\"%s1\",\n args=[name]).result,\n display_name=\"shared_target2\",\n pai_task_enabled=True)\ndefaultvzu0w_g = alicloud.dataworks.DataSource(\"defaultvzu0wG\",\n type=\"hive\",\n data_source_name=std.format(input=\"%s2\",\n args=[name]).result,\n connection_properties=json.dumps({\n \"address\": [{\n \"host\": \"127.0.0.1\",\n \"port\": \"1234\",\n }],\n \"database\": \"hive_database\",\n \"metaType\": \"HiveMetastore\",\n \"metastoreUris\": \"thrift://123:123\",\n \"version\": \"2.3.9\",\n \"loginMode\": \"Anonymous\",\n \"securityProtocol\": \"authTypeNone\",\n \"envType\": \"Prod\",\n \"properties\": {\n \"key1\": \"value1\",\n },\n }),\n project_id=default_qe_rfv_u.id,\n connection_properties_mode=\"UrlMode\")\ndefault_data_source_shared_rule = alicloud.dataworks.DataSourceSharedRule(\"default\",\n target_project_id=defaultasjs_h5.id,\n data_source_id=defaultvzu0w_g.data_source_id,\n env_type=\"Prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultQeRfvU = new AliCloud.DataWorks.Project(\"defaultQeRfvU\", new()\n {\n Description = \"源项目\",\n ProjectName = name,\n DisplayName = \"shared_source2\",\n PaiTaskEnabled = true,\n });\n\n var defaultasjsH5 = new AliCloud.DataWorks.Project(\"defaultasjsH5\", new()\n {\n Description = \"目标空间\",\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"shared_target2\",\n PaiTaskEnabled = true,\n });\n\n var defaultvzu0wG = new AliCloud.DataWorks.DataSource(\"defaultvzu0wG\", new()\n {\n Type = \"hive\",\n DataSourceName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ConnectionProperties = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"address\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"host\"] = \"127.0.0.1\",\n [\"port\"] = \"1234\",\n },\n },\n [\"database\"] = \"hive_database\",\n [\"metaType\"] = \"HiveMetastore\",\n [\"metastoreUris\"] = \"thrift://123:123\",\n [\"version\"] = \"2.3.9\",\n [\"loginMode\"] = \"Anonymous\",\n [\"securityProtocol\"] = \"authTypeNone\",\n [\"envType\"] = \"Prod\",\n [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"key1\"] = \"value1\",\n },\n }),\n ProjectId = defaultQeRfvU.Id,\n ConnectionPropertiesMode = \"UrlMode\",\n });\n\n var defaultDataSourceSharedRule = new AliCloud.DataWorks.DataSourceSharedRule(\"default\", new()\n {\n TargetProjectId = defaultasjsH5.Id,\n DataSourceId = defaultvzu0wG.DataSourceId,\n EnvType = \"Prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQeRfvU, err := dataworks.NewProject(ctx, \"defaultQeRfvU\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"源项目\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"shared_source2\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultasjsH5, err := dataworks.NewProject(ctx, \"defaultasjsH5\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"目标空间\"),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t\tDisplayName: pulumi.String(\"shared_target2\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\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\"address\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"host\": \"127.0.0.1\",\n\t\t\t\t\t\"port\": \"1234\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"database\": \"hive_database\",\n\t\t\t\"metaType\": \"HiveMetastore\",\n\t\t\t\"metastoreUris\": \"thrift://123:123\",\n\t\t\t\"version\": \"2.3.9\",\n\t\t\t\"loginMode\": \"Anonymous\",\n\t\t\t\"securityProtocol\": \"authTypeNone\",\n\t\t\t\"envType\": \"Prod\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"key1\": \"value1\",\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\tdefaultvzu0wG, err := dataworks.NewDataSource(ctx, \"defaultvzu0wG\", \u0026dataworks.DataSourceArgs{\n\t\t\tType: pulumi.String(\"hive\"),\n\t\t\tDataSourceName: pulumi.String(invokeFormat1.Result),\n\t\t\tConnectionProperties: pulumi.String(json0),\n\t\t\tProjectId: defaultQeRfvU.ID(),\n\t\t\tConnectionPropertiesMode: pulumi.String(\"UrlMode\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDataSourceSharedRule(ctx, \"default\", \u0026dataworks.DataSourceSharedRuleArgs{\n\t\t\tTargetProjectId: defaultasjsH5.ID(),\n\t\t\tDataSourceId: defaultvzu0wG.DataSourceId,\n\t\t\tEnvType: pulumi.String(\"Prod\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dataworks.DataSource;\nimport com.pulumi.alicloud.dataworks.DataSourceArgs;\nimport com.pulumi.alicloud.dataworks.DataSourceSharedRule;\nimport com.pulumi.alicloud.dataworks.DataSourceSharedRuleArgs;\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 name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultQeRfvU = new Project(\"defaultQeRfvU\", ProjectArgs.builder()\n .description(\"源项目\")\n .projectName(name)\n .displayName(\"shared_source2\")\n .paiTaskEnabled(true)\n .build());\n\n var defaultasjsH5 = new Project(\"defaultasjsH5\", ProjectArgs.builder()\n .description(\"目标空间\")\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .displayName(\"shared_target2\")\n .paiTaskEnabled(true)\n .build());\n\n var defaultvzu0wG = new DataSource(\"defaultvzu0wG\", DataSourceArgs.builder()\n .type(\"hive\")\n .dataSourceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .connectionProperties(serializeJson(\n jsonObject(\n jsonProperty(\"address\", jsonArray(jsonObject(\n jsonProperty(\"host\", \"127.0.0.1\"),\n jsonProperty(\"port\", \"1234\")\n ))),\n jsonProperty(\"database\", \"hive_database\"),\n jsonProperty(\"metaType\", \"HiveMetastore\"),\n jsonProperty(\"metastoreUris\", \"thrift://123:123\"),\n jsonProperty(\"version\", \"2.3.9\"),\n jsonProperty(\"loginMode\", \"Anonymous\"),\n jsonProperty(\"securityProtocol\", \"authTypeNone\"),\n jsonProperty(\"envType\", \"Prod\"),\n jsonProperty(\"properties\", jsonObject(\n jsonProperty(\"key1\", \"value1\")\n ))\n )))\n .projectId(defaultQeRfvU.id())\n .connectionPropertiesMode(\"UrlMode\")\n .build());\n\n var defaultDataSourceSharedRule = new DataSourceSharedRule(\"defaultDataSourceSharedRule\", DataSourceSharedRuleArgs.builder()\n .targetProjectId(defaultasjsH5.id())\n .dataSourceId(defaultvzu0wG.dataSourceId())\n .envType(\"Prod\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultQeRfvU:\n type: alicloud:dataworks:Project\n properties:\n description: 源项目\n projectName: ${name}\n displayName: shared_source2\n paiTaskEnabled: true\n defaultasjsH5:\n type: alicloud:dataworks:Project\n properties:\n description: 目标空间\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n displayName: shared_target2\n paiTaskEnabled: true\n defaultvzu0wG:\n type: alicloud:dataworks:DataSource\n properties:\n type: hive\n dataSourceName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n connectionProperties:\n fn::toJSON:\n address:\n - host: 127.0.0.1\n port: '1234'\n database: hive_database\n metaType: HiveMetastore\n metastoreUris: thrift://123:123\n version: 2.3.9\n loginMode: Anonymous\n securityProtocol: authTypeNone\n envType: Prod\n properties:\n key1: value1\n projectId: ${defaultQeRfvU.id}\n connectionPropertiesMode: UrlMode\n defaultDataSourceSharedRule:\n type: alicloud:dataworks:DataSourceSharedRule\n name: default\n properties:\n targetProjectId: ${defaultasjsH5.id}\n dataSourceId: ${defaultvzu0wG.dataSourceId}\n envType: Prod\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Data Source Shared Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dataSourceSharedRule:DataSourceSharedRule example \u003cdata_source_id\u003e:\u003cdata_source_shared_rule_id\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -136635,7 +139264,7 @@ } }, "alicloud:dataworks/diAlarmRule:DiAlarmRule": { - "description": "Provides a Data Works Di Alarm Rule resource.\n\nData Integration alarm rules.\n\nFor information about Data Works Di Alarm Rule and how to use it, see [What is Di Alarm Rule](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdialarmrule).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaulteNv8bu = new alicloud.dataworks.Project(\"defaulteNv8bu\", {\n projectName: name,\n displayName: name,\n description: name,\n paiTaskEnabled: true,\n});\nconst defaultUW8inp = new alicloud.dataworks.DiJob(\"defaultUW8inp\", {\n description: \"xxxx\",\n projectId: defaulteNv8bu.id,\n jobName: \"xxx\",\n migrationType: \"api_xxx\",\n sourceDataSourceType: \"xxx\",\n resourceSettings: {\n offlineResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n realtimeResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n scheduleResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n },\n jobSettings: {\n channelSettings: \"xxxx\",\n columnDataTypeSettings: [{\n destinationDataType: \"xxxx\",\n sourceDataType: \"xxxx\",\n }],\n cycleScheduleSettings: {\n cycleMigrationType: \"xxxx\",\n scheduleParameters: \"xxxx\",\n },\n },\n sourceDataSourceSettings: [{\n dataSourceName: \"xxxx\",\n dataSourceProperties: {\n encoding: \"xxxx\",\n timezone: \"xxxx\",\n },\n }],\n destinationDataSourceType: \"xxxx\",\n tableMappings: [{\n sourceObjectSelectionRules: [\n {\n action: \"Include\",\n expression: \"xxxx\",\n expressionType: \"Exact\",\n objectType: \"xxxx\",\n },\n {\n action: \"Include\",\n expression: \"xxxx\",\n expressionType: \"Exact\",\n objectType: \"xxxx\",\n },\n ],\n transformationRules: [{\n ruleName: \"xxxx\",\n ruleActionType: \"xxxx\",\n ruleTargetType: \"xxxx\",\n }],\n }],\n transformationRules: [{\n ruleActionType: \"xxxx\",\n ruleExpression: \"xxxx\",\n ruleName: \"xxxx\",\n ruleTargetType: \"xxxx\",\n }],\n destinationDataSourceSettings: [{\n dataSourceName: \"xxx\",\n }],\n});\nconst _default = new alicloud.dataworks.DiAlarmRule(\"default\", {\n description: \"Description\",\n triggerConditions: [{\n ddlReportTags: [\"ALTERADDCOLUMN\"],\n threshold: 20,\n duration: 10,\n severity: \"Warning\",\n }],\n metricType: \"DdlReport\",\n notificationSettings: {\n notificationChannels: [{\n severity: \"Warning\",\n channels: [\"Ding\"],\n }],\n notificationReceivers: [{\n receiverType: \"DingToken\",\n receiverValues: [\"1107550004253538\"],\n }],\n inhibitionInterval: 10,\n },\n diJobId: defaultUW8inp.diJobId,\n diAlarmRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaulte_nv8bu = alicloud.dataworks.Project(\"defaulteNv8bu\",\n project_name=name,\n display_name=name,\n description=name,\n pai_task_enabled=True)\ndefault_uw8inp = alicloud.dataworks.DiJob(\"defaultUW8inp\",\n description=\"xxxx\",\n project_id=defaulte_nv8bu.id,\n job_name=\"xxx\",\n migration_type=\"api_xxx\",\n source_data_source_type=\"xxx\",\n resource_settings={\n \"offline_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n \"realtime_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n \"schedule_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n },\n job_settings={\n \"channel_settings\": \"xxxx\",\n \"column_data_type_settings\": [{\n \"destination_data_type\": \"xxxx\",\n \"source_data_type\": \"xxxx\",\n }],\n \"cycle_schedule_settings\": {\n \"cycle_migration_type\": \"xxxx\",\n \"schedule_parameters\": \"xxxx\",\n },\n },\n source_data_source_settings=[{\n \"data_source_name\": \"xxxx\",\n \"data_source_properties\": {\n \"encoding\": \"xxxx\",\n \"timezone\": \"xxxx\",\n },\n }],\n destination_data_source_type=\"xxxx\",\n table_mappings=[{\n \"source_object_selection_rules\": [\n {\n \"action\": \"Include\",\n \"expression\": \"xxxx\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"xxxx\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"xxxx\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"xxxx\",\n },\n ],\n \"transformation_rules\": [{\n \"rule_name\": \"xxxx\",\n \"rule_action_type\": \"xxxx\",\n \"rule_target_type\": \"xxxx\",\n }],\n }],\n transformation_rules=[{\n \"rule_action_type\": \"xxxx\",\n \"rule_expression\": \"xxxx\",\n \"rule_name\": \"xxxx\",\n \"rule_target_type\": \"xxxx\",\n }],\n destination_data_source_settings=[{\n \"data_source_name\": \"xxx\",\n }])\ndefault = alicloud.dataworks.DiAlarmRule(\"default\",\n description=\"Description\",\n trigger_conditions=[{\n \"ddl_report_tags\": [\"ALTERADDCOLUMN\"],\n \"threshold\": 20,\n \"duration\": 10,\n \"severity\": \"Warning\",\n }],\n metric_type=\"DdlReport\",\n notification_settings={\n \"notification_channels\": [{\n \"severity\": \"Warning\",\n \"channels\": [\"Ding\"],\n }],\n \"notification_receivers\": [{\n \"receiver_type\": \"DingToken\",\n \"receiver_values\": [\"1107550004253538\"],\n }],\n \"inhibition_interval\": 10,\n },\n di_job_id=default_uw8inp.di_job_id,\n di_alarm_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaulteNv8bu = new AliCloud.DataWorks.Project(\"defaulteNv8bu\", new()\n {\n ProjectName = name,\n DisplayName = name,\n Description = name,\n PaiTaskEnabled = true,\n });\n\n var defaultUW8inp = new AliCloud.DataWorks.DiJob(\"defaultUW8inp\", new()\n {\n Description = \"xxxx\",\n ProjectId = defaulteNv8bu.Id,\n JobName = \"xxx\",\n MigrationType = \"api_xxx\",\n SourceDataSourceType = \"xxx\",\n ResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsArgs\n {\n OfflineResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsOfflineResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n RealtimeResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n ScheduleResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsScheduleResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n },\n JobSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsArgs\n {\n ChannelSettings = \"xxxx\",\n ColumnDataTypeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsColumnDataTypeSettingArgs\n {\n DestinationDataType = \"xxxx\",\n SourceDataType = \"xxxx\",\n },\n },\n CycleScheduleSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsCycleScheduleSettingsArgs\n {\n CycleMigrationType = \"xxxx\",\n ScheduleParameters = \"xxxx\",\n },\n },\n SourceDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingArgs\n {\n DataSourceName = \"xxxx\",\n DataSourceProperties = new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs\n {\n Encoding = \"xxxx\",\n Timezone = \"xxxx\",\n },\n },\n },\n DestinationDataSourceType = \"xxxx\",\n TableMappings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingArgs\n {\n SourceObjectSelectionRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"xxxx\",\n ExpressionType = \"Exact\",\n ObjectType = \"xxxx\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"xxxx\",\n ExpressionType = \"Exact\",\n ObjectType = \"xxxx\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingTransformationRuleArgs\n {\n RuleName = \"xxxx\",\n RuleActionType = \"xxxx\",\n RuleTargetType = \"xxxx\",\n },\n },\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTransformationRuleArgs\n {\n RuleActionType = \"xxxx\",\n RuleExpression = \"xxxx\",\n RuleName = \"xxxx\",\n RuleTargetType = \"xxxx\",\n },\n },\n DestinationDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobDestinationDataSourceSettingArgs\n {\n DataSourceName = \"xxx\",\n },\n },\n });\n\n var @default = new AliCloud.DataWorks.DiAlarmRule(\"default\", new()\n {\n Description = \"Description\",\n TriggerConditions = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleTriggerConditionArgs\n {\n DdlReportTags = new[]\n {\n \"ALTERADDCOLUMN\",\n },\n Threshold = 20,\n Duration = 10,\n Severity = \"Warning\",\n },\n },\n MetricType = \"DdlReport\",\n NotificationSettings = new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsArgs\n {\n NotificationChannels = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsNotificationChannelArgs\n {\n Severity = \"Warning\",\n Channels = new[]\n {\n \"Ding\",\n },\n },\n },\n NotificationReceivers = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsNotificationReceiverArgs\n {\n ReceiverType = \"DingToken\",\n ReceiverValues = new[]\n {\n \"1107550004253538\",\n },\n },\n },\n InhibitionInterval = 10,\n },\n DiJobId = defaultUW8inp.DiJobId,\n DiAlarmRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulteNv8bu, err := dataworks.NewProject(ctx, \"defaulteNv8bu\", \u0026dataworks.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUW8inp, err := dataworks.NewDiJob(ctx, \"defaultUW8inp\", \u0026dataworks.DiJobArgs{\n\t\t\tDescription: pulumi.String(\"xxxx\"),\n\t\t\tProjectId: defaulteNv8bu.ID(),\n\t\t\tJobName: pulumi.String(\"xxx\"),\n\t\t\tMigrationType: pulumi.String(\"api_xxx\"),\n\t\t\tSourceDataSourceType: pulumi.String(\"xxx\"),\n\t\t\tResourceSettings: \u0026dataworks.DiJobResourceSettingsArgs{\n\t\t\t\tOfflineResourceSettings: \u0026dataworks.DiJobResourceSettingsOfflineResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t\tRealtimeResourceSettings: \u0026dataworks.DiJobResourceSettingsRealtimeResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t\tScheduleResourceSettings: \u0026dataworks.DiJobResourceSettingsScheduleResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobSettings: \u0026dataworks.DiJobJobSettingsArgs{\n\t\t\t\tChannelSettings: pulumi.String(\"xxxx\"),\n\t\t\t\tColumnDataTypeSettings: dataworks.DiJobJobSettingsColumnDataTypeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsColumnDataTypeSettingArgs{\n\t\t\t\t\t\tDestinationDataType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\tSourceDataType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCycleScheduleSettings: \u0026dataworks.DiJobJobSettingsCycleScheduleSettingsArgs{\n\t\t\t\t\tCycleMigrationType: pulumi.String(\"xxxx\"),\n\t\t\t\t\tScheduleParameters: pulumi.String(\"xxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceDataSourceSettings: dataworks.DiJobSourceDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobSourceDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"xxxx\"),\n\t\t\t\t\tDataSourceProperties: \u0026dataworks.DiJobSourceDataSourceSettingDataSourcePropertiesArgs{\n\t\t\t\t\t\tEncoding: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\tTimezone: pulumi.String(\"xxxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceType: pulumi.String(\"xxxx\"),\n\t\t\tTableMappings: dataworks.DiJobTableMappingArray{\n\t\t\t\t\u0026dataworks.DiJobTableMappingArgs{\n\t\t\t\t\tSourceObjectSelectionRules: dataworks.DiJobTableMappingSourceObjectSelectionRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTransformationRules: dataworks.DiJobTableMappingTransformationRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingTransformationRuleArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tRuleActionType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tRuleTargetType: pulumi.String(\"xxxx\"),\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\tTransformationRules: dataworks.DiJobTransformationRuleArray{\n\t\t\t\t\u0026dataworks.DiJobTransformationRuleArgs{\n\t\t\t\t\tRuleActionType: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleName: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleTargetType: pulumi.String(\"xxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceSettings: dataworks.DiJobDestinationDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobDestinationDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"xxx\"),\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 = dataworks.NewDiAlarmRule(ctx, \"default\", \u0026dataworks.DiAlarmRuleArgs{\n\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\tTriggerConditions: dataworks.DiAlarmRuleTriggerConditionArray{\n\t\t\t\t\u0026dataworks.DiAlarmRuleTriggerConditionArgs{\n\t\t\t\t\tDdlReportTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALTERADDCOLUMN\"),\n\t\t\t\t\t},\n\t\t\t\t\tThreshold: pulumi.Int(20),\n\t\t\t\t\tDuration: pulumi.Int(10),\n\t\t\t\t\tSeverity: pulumi.String(\"Warning\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricType: pulumi.String(\"DdlReport\"),\n\t\t\tNotificationSettings: \u0026dataworks.DiAlarmRuleNotificationSettingsArgs{\n\t\t\t\tNotificationChannels: dataworks.DiAlarmRuleNotificationSettingsNotificationChannelArray{\n\t\t\t\t\t\u0026dataworks.DiAlarmRuleNotificationSettingsNotificationChannelArgs{\n\t\t\t\t\t\tSeverity: pulumi.String(\"Warning\"),\n\t\t\t\t\t\tChannels: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Ding\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNotificationReceivers: dataworks.DiAlarmRuleNotificationSettingsNotificationReceiverArray{\n\t\t\t\t\t\u0026dataworks.DiAlarmRuleNotificationSettingsNotificationReceiverArgs{\n\t\t\t\t\t\tReceiverType: pulumi.String(\"DingToken\"),\n\t\t\t\t\t\tReceiverValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1107550004253538\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInhibitionInterval: pulumi.Int(10),\n\t\t\t},\n\t\t\tDiJobId: defaultUW8inp.DiJobId,\n\t\t\tDiAlarmRuleName: pulumi.String(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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DiJob;\nimport com.pulumi.alicloud.dataworks.DiJobArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsOfflineResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsScheduleResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsCycleScheduleSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTableMappingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTransformationRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobDestinationDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.DiAlarmRule;\nimport com.pulumi.alicloud.dataworks.DiAlarmRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiAlarmRuleTriggerConditionArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiAlarmRuleNotificationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaulteNv8bu = new Project(\"defaulteNv8bu\", ProjectArgs.builder()\n .projectName(name)\n .displayName(name)\n .description(name)\n .paiTaskEnabled(true)\n .build());\n\n var defaultUW8inp = new DiJob(\"defaultUW8inp\", DiJobArgs.builder()\n .description(\"xxxx\")\n .projectId(defaulteNv8bu.id())\n .jobName(\"xxx\")\n .migrationType(\"api_xxx\")\n .sourceDataSourceType(\"xxx\")\n .resourceSettings(DiJobResourceSettingsArgs.builder()\n .offlineResourceSettings(DiJobResourceSettingsOfflineResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .realtimeResourceSettings(DiJobResourceSettingsRealtimeResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .scheduleResourceSettings(DiJobResourceSettingsScheduleResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .build())\n .jobSettings(DiJobJobSettingsArgs.builder()\n .channelSettings(\"xxxx\")\n .columnDataTypeSettings(DiJobJobSettingsColumnDataTypeSettingArgs.builder()\n .destinationDataType(\"xxxx\")\n .sourceDataType(\"xxxx\")\n .build())\n .cycleScheduleSettings(DiJobJobSettingsCycleScheduleSettingsArgs.builder()\n .cycleMigrationType(\"xxxx\")\n .scheduleParameters(\"xxxx\")\n .build())\n .build())\n .sourceDataSourceSettings(DiJobSourceDataSourceSettingArgs.builder()\n .dataSourceName(\"xxxx\")\n .dataSourceProperties(DiJobSourceDataSourceSettingDataSourcePropertiesArgs.builder()\n .encoding(\"xxxx\")\n .timezone(\"xxxx\")\n .build())\n .build())\n .destinationDataSourceType(\"xxxx\")\n .tableMappings(DiJobTableMappingArgs.builder()\n .sourceObjectSelectionRules( \n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"xxxx\")\n .expressionType(\"Exact\")\n .objectType(\"xxxx\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"xxxx\")\n .expressionType(\"Exact\")\n .objectType(\"xxxx\")\n .build())\n .transformationRules(DiJobTableMappingTransformationRuleArgs.builder()\n .ruleName(\"xxxx\")\n .ruleActionType(\"xxxx\")\n .ruleTargetType(\"xxxx\")\n .build())\n .build())\n .transformationRules(DiJobTransformationRuleArgs.builder()\n .ruleActionType(\"xxxx\")\n .ruleExpression(\"xxxx\")\n .ruleName(\"xxxx\")\n .ruleTargetType(\"xxxx\")\n .build())\n .destinationDataSourceSettings(DiJobDestinationDataSourceSettingArgs.builder()\n .dataSourceName(\"xxx\")\n .build())\n .build());\n\n var default_ = new DiAlarmRule(\"default\", DiAlarmRuleArgs.builder()\n .description(\"Description\")\n .triggerConditions(DiAlarmRuleTriggerConditionArgs.builder()\n .ddlReportTags(\"ALTERADDCOLUMN\")\n .threshold(20)\n .duration(10)\n .severity(\"Warning\")\n .build())\n .metricType(\"DdlReport\")\n .notificationSettings(DiAlarmRuleNotificationSettingsArgs.builder()\n .notificationChannels(DiAlarmRuleNotificationSettingsNotificationChannelArgs.builder()\n .severity(\"Warning\")\n .channels(\"Ding\")\n .build())\n .notificationReceivers(DiAlarmRuleNotificationSettingsNotificationReceiverArgs.builder()\n .receiverType(\"DingToken\")\n .receiverValues(\"1107550004253538\")\n .build())\n .inhibitionInterval(10)\n .build())\n .diJobId(defaultUW8inp.diJobId())\n .diAlarmRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaulteNv8bu:\n type: alicloud:dataworks:Project\n properties:\n projectName: ${name}\n displayName: ${name}\n description: ${name}\n paiTaskEnabled: true\n defaultUW8inp:\n type: alicloud:dataworks:DiJob\n properties:\n description: xxxx\n projectId: ${defaulteNv8bu.id}\n jobName: xxx\n migrationType: api_xxx\n sourceDataSourceType: xxx\n resourceSettings:\n offlineResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n realtimeResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n scheduleResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n jobSettings:\n channelSettings: xxxx\n columnDataTypeSettings:\n - destinationDataType: xxxx\n sourceDataType: xxxx\n cycleScheduleSettings:\n cycleMigrationType: xxxx\n scheduleParameters: xxxx\n sourceDataSourceSettings:\n - dataSourceName: xxxx\n dataSourceProperties:\n encoding: xxxx\n timezone: xxxx\n destinationDataSourceType: xxxx\n tableMappings:\n - sourceObjectSelectionRules:\n - action: Include\n expression: xxxx\n expressionType: Exact\n objectType: xxxx\n - action: Include\n expression: xxxx\n expressionType: Exact\n objectType: xxxx\n transformationRules:\n - ruleName: xxxx\n ruleActionType: xxxx\n ruleTargetType: xxxx\n transformationRules:\n - ruleActionType: xxxx\n ruleExpression: xxxx\n ruleName: xxxx\n ruleTargetType: xxxx\n destinationDataSourceSettings:\n - dataSourceName: xxx\n default:\n type: alicloud:dataworks:DiAlarmRule\n properties:\n description: Description\n triggerConditions:\n - ddlReportTags:\n - ALTERADDCOLUMN\n threshold: '20'\n duration: '10'\n severity: Warning\n metricType: DdlReport\n notificationSettings:\n notificationChannels:\n - severity: Warning\n channels:\n - Ding\n notificationReceivers:\n - receiverType: DingToken\n receiverValues:\n - '1107550004253538'\n inhibitionInterval: '10'\n diJobId: ${defaultUW8inp.diJobId}\n diAlarmRuleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Di Alarm Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/diAlarmRule:DiAlarmRule example \u003cdi_job_id\u003e:\u003cdi_alarm_rule_id\u003e\n```\n\n", + "description": "Provides a Data Works Di Alarm Rule resource.\n\nData Integration alarm rules.\n\nFor information about Data Works Di Alarm Rule and how to use it, see [What is Di Alarm Rule](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdialarmrule).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaulteNv8bu = new alicloud.dataworks.Project(\"defaulteNv8bu\", {\n projectName: name,\n displayName: name,\n description: name,\n paiTaskEnabled: true,\n});\nconst defaultUW8inp = new alicloud.dataworks.DiJob(\"defaultUW8inp\", {\n description: \"xxxx\",\n projectId: defaulteNv8bu.id,\n jobName: \"xxx\",\n migrationType: \"api_xxx\",\n sourceDataSourceType: \"xxx\",\n resourceSettings: {\n offlineResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n realtimeResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n scheduleResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"xx\",\n },\n },\n jobSettings: {\n channelSettings: \"xxxx\",\n columnDataTypeSettings: [{\n destinationDataType: \"xxxx\",\n sourceDataType: \"xxxx\",\n }],\n cycleScheduleSettings: {\n cycleMigrationType: \"xxxx\",\n scheduleParameters: \"xxxx\",\n },\n },\n sourceDataSourceSettings: [{\n dataSourceName: \"xxxx\",\n dataSourceProperties: {\n encoding: \"xxxx\",\n timezone: \"xxxx\",\n },\n }],\n destinationDataSourceType: \"xxxx\",\n tableMappings: [{\n sourceObjectSelectionRules: [\n {\n action: \"Include\",\n expression: \"xxxx\",\n expressionType: \"Exact\",\n objectType: \"xxxx\",\n },\n {\n action: \"Include\",\n expression: \"xxxx\",\n expressionType: \"Exact\",\n objectType: \"xxxx\",\n },\n ],\n transformationRules: [{\n ruleName: \"xxxx\",\n ruleActionType: \"xxxx\",\n ruleTargetType: \"xxxx\",\n }],\n }],\n transformationRules: [{\n ruleActionType: \"xxxx\",\n ruleExpression: \"xxxx\",\n ruleName: \"xxxx\",\n ruleTargetType: \"xxxx\",\n }],\n destinationDataSourceSettings: [{\n dataSourceName: \"xxx\",\n }],\n});\nconst _default = new alicloud.dataworks.DiAlarmRule(\"default\", {\n description: \"Description\",\n triggerConditions: [{\n ddlReportTags: [\"ALTERADDCOLUMN\"],\n threshold: 20,\n duration: 10,\n severity: \"Warning\",\n }],\n metricType: \"DdlReport\",\n notificationSettings: {\n notificationChannels: [{\n severity: \"Warning\",\n channels: [\"Ding\"],\n }],\n notificationReceivers: [{\n receiverType: \"DingToken\",\n receiverValues: [\"1107550004253538\"],\n }],\n inhibitionInterval: 10,\n },\n diJobId: defaultUW8inp.diJobId,\n diAlarmRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaulte_nv8bu = alicloud.dataworks.Project(\"defaulteNv8bu\",\n project_name=name,\n display_name=name,\n description=name,\n pai_task_enabled=True)\ndefault_uw8inp = alicloud.dataworks.DiJob(\"defaultUW8inp\",\n description=\"xxxx\",\n project_id=defaulte_nv8bu.id,\n job_name=\"xxx\",\n migration_type=\"api_xxx\",\n source_data_source_type=\"xxx\",\n resource_settings={\n \"offline_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n \"realtime_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n \"schedule_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"xx\",\n },\n },\n job_settings={\n \"channel_settings\": \"xxxx\",\n \"column_data_type_settings\": [{\n \"destination_data_type\": \"xxxx\",\n \"source_data_type\": \"xxxx\",\n }],\n \"cycle_schedule_settings\": {\n \"cycle_migration_type\": \"xxxx\",\n \"schedule_parameters\": \"xxxx\",\n },\n },\n source_data_source_settings=[{\n \"data_source_name\": \"xxxx\",\n \"data_source_properties\": {\n \"encoding\": \"xxxx\",\n \"timezone\": \"xxxx\",\n },\n }],\n destination_data_source_type=\"xxxx\",\n table_mappings=[{\n \"source_object_selection_rules\": [\n {\n \"action\": \"Include\",\n \"expression\": \"xxxx\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"xxxx\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"xxxx\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"xxxx\",\n },\n ],\n \"transformation_rules\": [{\n \"rule_name\": \"xxxx\",\n \"rule_action_type\": \"xxxx\",\n \"rule_target_type\": \"xxxx\",\n }],\n }],\n transformation_rules=[{\n \"rule_action_type\": \"xxxx\",\n \"rule_expression\": \"xxxx\",\n \"rule_name\": \"xxxx\",\n \"rule_target_type\": \"xxxx\",\n }],\n destination_data_source_settings=[{\n \"data_source_name\": \"xxx\",\n }])\ndefault = alicloud.dataworks.DiAlarmRule(\"default\",\n description=\"Description\",\n trigger_conditions=[{\n \"ddl_report_tags\": [\"ALTERADDCOLUMN\"],\n \"threshold\": 20,\n \"duration\": 10,\n \"severity\": \"Warning\",\n }],\n metric_type=\"DdlReport\",\n notification_settings={\n \"notification_channels\": [{\n \"severity\": \"Warning\",\n \"channels\": [\"Ding\"],\n }],\n \"notification_receivers\": [{\n \"receiver_type\": \"DingToken\",\n \"receiver_values\": [\"1107550004253538\"],\n }],\n \"inhibition_interval\": 10,\n },\n di_job_id=default_uw8inp.di_job_id,\n di_alarm_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaulteNv8bu = new AliCloud.DataWorks.Project(\"defaulteNv8bu\", new()\n {\n ProjectName = name,\n DisplayName = name,\n Description = name,\n PaiTaskEnabled = true,\n });\n\n var defaultUW8inp = new AliCloud.DataWorks.DiJob(\"defaultUW8inp\", new()\n {\n Description = \"xxxx\",\n ProjectId = defaulteNv8bu.Id,\n JobName = \"xxx\",\n MigrationType = \"api_xxx\",\n SourceDataSourceType = \"xxx\",\n ResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsArgs\n {\n OfflineResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsOfflineResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n RealtimeResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n ScheduleResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsScheduleResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"xx\",\n },\n },\n JobSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsArgs\n {\n ChannelSettings = \"xxxx\",\n ColumnDataTypeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsColumnDataTypeSettingArgs\n {\n DestinationDataType = \"xxxx\",\n SourceDataType = \"xxxx\",\n },\n },\n CycleScheduleSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsCycleScheduleSettingsArgs\n {\n CycleMigrationType = \"xxxx\",\n ScheduleParameters = \"xxxx\",\n },\n },\n SourceDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingArgs\n {\n DataSourceName = \"xxxx\",\n DataSourceProperties = new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs\n {\n Encoding = \"xxxx\",\n Timezone = \"xxxx\",\n },\n },\n },\n DestinationDataSourceType = \"xxxx\",\n TableMappings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingArgs\n {\n SourceObjectSelectionRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"xxxx\",\n ExpressionType = \"Exact\",\n ObjectType = \"xxxx\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"xxxx\",\n ExpressionType = \"Exact\",\n ObjectType = \"xxxx\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingTransformationRuleArgs\n {\n RuleName = \"xxxx\",\n RuleActionType = \"xxxx\",\n RuleTargetType = \"xxxx\",\n },\n },\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTransformationRuleArgs\n {\n RuleActionType = \"xxxx\",\n RuleExpression = \"xxxx\",\n RuleName = \"xxxx\",\n RuleTargetType = \"xxxx\",\n },\n },\n DestinationDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobDestinationDataSourceSettingArgs\n {\n DataSourceName = \"xxx\",\n },\n },\n });\n\n var @default = new AliCloud.DataWorks.DiAlarmRule(\"default\", new()\n {\n Description = \"Description\",\n TriggerConditions = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleTriggerConditionArgs\n {\n DdlReportTags = new[]\n {\n \"ALTERADDCOLUMN\",\n },\n Threshold = 20,\n Duration = 10,\n Severity = \"Warning\",\n },\n },\n MetricType = \"DdlReport\",\n NotificationSettings = new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsArgs\n {\n NotificationChannels = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsNotificationChannelArgs\n {\n Severity = \"Warning\",\n Channels = new[]\n {\n \"Ding\",\n },\n },\n },\n NotificationReceivers = new[]\n {\n new AliCloud.DataWorks.Inputs.DiAlarmRuleNotificationSettingsNotificationReceiverArgs\n {\n ReceiverType = \"DingToken\",\n ReceiverValues = new[]\n {\n \"1107550004253538\",\n },\n },\n },\n InhibitionInterval = 10,\n },\n DiJobId = defaultUW8inp.DiJobId,\n DiAlarmRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulteNv8bu, err := dataworks.NewProject(ctx, \"defaulteNv8bu\", \u0026dataworks.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUW8inp, err := dataworks.NewDiJob(ctx, \"defaultUW8inp\", \u0026dataworks.DiJobArgs{\n\t\t\tDescription: pulumi.String(\"xxxx\"),\n\t\t\tProjectId: defaulteNv8bu.ID(),\n\t\t\tJobName: pulumi.String(\"xxx\"),\n\t\t\tMigrationType: pulumi.String(\"api_xxx\"),\n\t\t\tSourceDataSourceType: pulumi.String(\"xxx\"),\n\t\t\tResourceSettings: \u0026dataworks.DiJobResourceSettingsArgs{\n\t\t\t\tOfflineResourceSettings: \u0026dataworks.DiJobResourceSettingsOfflineResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t\tRealtimeResourceSettings: \u0026dataworks.DiJobResourceSettingsRealtimeResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t\tScheduleResourceSettings: \u0026dataworks.DiJobResourceSettingsScheduleResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobSettings: \u0026dataworks.DiJobJobSettingsArgs{\n\t\t\t\tChannelSettings: pulumi.String(\"xxxx\"),\n\t\t\t\tColumnDataTypeSettings: dataworks.DiJobJobSettingsColumnDataTypeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsColumnDataTypeSettingArgs{\n\t\t\t\t\t\tDestinationDataType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\tSourceDataType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCycleScheduleSettings: \u0026dataworks.DiJobJobSettingsCycleScheduleSettingsArgs{\n\t\t\t\t\tCycleMigrationType: pulumi.String(\"xxxx\"),\n\t\t\t\t\tScheduleParameters: pulumi.String(\"xxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceDataSourceSettings: dataworks.DiJobSourceDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobSourceDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"xxxx\"),\n\t\t\t\t\tDataSourceProperties: \u0026dataworks.DiJobSourceDataSourceSettingDataSourcePropertiesArgs{\n\t\t\t\t\t\tEncoding: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\tTimezone: pulumi.String(\"xxxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceType: pulumi.String(\"xxxx\"),\n\t\t\tTableMappings: dataworks.DiJobTableMappingArray{\n\t\t\t\t\u0026dataworks.DiJobTableMappingArgs{\n\t\t\t\t\tSourceObjectSelectionRules: dataworks.DiJobTableMappingSourceObjectSelectionRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTransformationRules: dataworks.DiJobTableMappingTransformationRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingTransformationRuleArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tRuleActionType: pulumi.String(\"xxxx\"),\n\t\t\t\t\t\t\tRuleTargetType: pulumi.String(\"xxxx\"),\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\tTransformationRules: dataworks.DiJobTransformationRuleArray{\n\t\t\t\t\u0026dataworks.DiJobTransformationRuleArgs{\n\t\t\t\t\tRuleActionType: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleExpression: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleName: pulumi.String(\"xxxx\"),\n\t\t\t\t\tRuleTargetType: pulumi.String(\"xxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceSettings: dataworks.DiJobDestinationDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobDestinationDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"xxx\"),\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 = dataworks.NewDiAlarmRule(ctx, \"default\", \u0026dataworks.DiAlarmRuleArgs{\n\t\t\tDescription: pulumi.String(\"Description\"),\n\t\t\tTriggerConditions: dataworks.DiAlarmRuleTriggerConditionArray{\n\t\t\t\t\u0026dataworks.DiAlarmRuleTriggerConditionArgs{\n\t\t\t\t\tDdlReportTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ALTERADDCOLUMN\"),\n\t\t\t\t\t},\n\t\t\t\t\tThreshold: pulumi.Int(20),\n\t\t\t\t\tDuration: pulumi.Int(10),\n\t\t\t\t\tSeverity: pulumi.String(\"Warning\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetricType: pulumi.String(\"DdlReport\"),\n\t\t\tNotificationSettings: \u0026dataworks.DiAlarmRuleNotificationSettingsArgs{\n\t\t\t\tNotificationChannels: dataworks.DiAlarmRuleNotificationSettingsNotificationChannelArray{\n\t\t\t\t\t\u0026dataworks.DiAlarmRuleNotificationSettingsNotificationChannelArgs{\n\t\t\t\t\t\tSeverity: pulumi.String(\"Warning\"),\n\t\t\t\t\t\tChannels: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Ding\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNotificationReceivers: dataworks.DiAlarmRuleNotificationSettingsNotificationReceiverArray{\n\t\t\t\t\t\u0026dataworks.DiAlarmRuleNotificationSettingsNotificationReceiverArgs{\n\t\t\t\t\t\tReceiverType: pulumi.String(\"DingToken\"),\n\t\t\t\t\t\tReceiverValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1107550004253538\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInhibitionInterval: pulumi.Int(10),\n\t\t\t},\n\t\t\tDiJobId: defaultUW8inp.DiJobId,\n\t\t\tDiAlarmRuleName: pulumi.String(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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DiJob;\nimport com.pulumi.alicloud.dataworks.DiJobArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsOfflineResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsScheduleResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsCycleScheduleSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTableMappingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTransformationRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobDestinationDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.DiAlarmRule;\nimport com.pulumi.alicloud.dataworks.DiAlarmRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiAlarmRuleTriggerConditionArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiAlarmRuleNotificationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaulteNv8bu = new Project(\"defaulteNv8bu\", ProjectArgs.builder()\n .projectName(name)\n .displayName(name)\n .description(name)\n .paiTaskEnabled(true)\n .build());\n\n var defaultUW8inp = new DiJob(\"defaultUW8inp\", DiJobArgs.builder()\n .description(\"xxxx\")\n .projectId(defaulteNv8bu.id())\n .jobName(\"xxx\")\n .migrationType(\"api_xxx\")\n .sourceDataSourceType(\"xxx\")\n .resourceSettings(DiJobResourceSettingsArgs.builder()\n .offlineResourceSettings(DiJobResourceSettingsOfflineResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .realtimeResourceSettings(DiJobResourceSettingsRealtimeResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .scheduleResourceSettings(DiJobResourceSettingsScheduleResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"xx\")\n .build())\n .build())\n .jobSettings(DiJobJobSettingsArgs.builder()\n .channelSettings(\"xxxx\")\n .columnDataTypeSettings(DiJobJobSettingsColumnDataTypeSettingArgs.builder()\n .destinationDataType(\"xxxx\")\n .sourceDataType(\"xxxx\")\n .build())\n .cycleScheduleSettings(DiJobJobSettingsCycleScheduleSettingsArgs.builder()\n .cycleMigrationType(\"xxxx\")\n .scheduleParameters(\"xxxx\")\n .build())\n .build())\n .sourceDataSourceSettings(DiJobSourceDataSourceSettingArgs.builder()\n .dataSourceName(\"xxxx\")\n .dataSourceProperties(DiJobSourceDataSourceSettingDataSourcePropertiesArgs.builder()\n .encoding(\"xxxx\")\n .timezone(\"xxxx\")\n .build())\n .build())\n .destinationDataSourceType(\"xxxx\")\n .tableMappings(DiJobTableMappingArgs.builder()\n .sourceObjectSelectionRules( \n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"xxxx\")\n .expressionType(\"Exact\")\n .objectType(\"xxxx\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"xxxx\")\n .expressionType(\"Exact\")\n .objectType(\"xxxx\")\n .build())\n .transformationRules(DiJobTableMappingTransformationRuleArgs.builder()\n .ruleName(\"xxxx\")\n .ruleActionType(\"xxxx\")\n .ruleTargetType(\"xxxx\")\n .build())\n .build())\n .transformationRules(DiJobTransformationRuleArgs.builder()\n .ruleActionType(\"xxxx\")\n .ruleExpression(\"xxxx\")\n .ruleName(\"xxxx\")\n .ruleTargetType(\"xxxx\")\n .build())\n .destinationDataSourceSettings(DiJobDestinationDataSourceSettingArgs.builder()\n .dataSourceName(\"xxx\")\n .build())\n .build());\n\n var default_ = new DiAlarmRule(\"default\", DiAlarmRuleArgs.builder()\n .description(\"Description\")\n .triggerConditions(DiAlarmRuleTriggerConditionArgs.builder()\n .ddlReportTags(\"ALTERADDCOLUMN\")\n .threshold(20)\n .duration(10)\n .severity(\"Warning\")\n .build())\n .metricType(\"DdlReport\")\n .notificationSettings(DiAlarmRuleNotificationSettingsArgs.builder()\n .notificationChannels(DiAlarmRuleNotificationSettingsNotificationChannelArgs.builder()\n .severity(\"Warning\")\n .channels(\"Ding\")\n .build())\n .notificationReceivers(DiAlarmRuleNotificationSettingsNotificationReceiverArgs.builder()\n .receiverType(\"DingToken\")\n .receiverValues(\"1107550004253538\")\n .build())\n .inhibitionInterval(10)\n .build())\n .diJobId(defaultUW8inp.diJobId())\n .diAlarmRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaulteNv8bu:\n type: alicloud:dataworks:Project\n properties:\n projectName: ${name}\n displayName: ${name}\n description: ${name}\n paiTaskEnabled: true\n defaultUW8inp:\n type: alicloud:dataworks:DiJob\n properties:\n description: xxxx\n projectId: ${defaulteNv8bu.id}\n jobName: xxx\n migrationType: api_xxx\n sourceDataSourceType: xxx\n resourceSettings:\n offlineResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n realtimeResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n scheduleResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: xx\n jobSettings:\n channelSettings: xxxx\n columnDataTypeSettings:\n - destinationDataType: xxxx\n sourceDataType: xxxx\n cycleScheduleSettings:\n cycleMigrationType: xxxx\n scheduleParameters: xxxx\n sourceDataSourceSettings:\n - dataSourceName: xxxx\n dataSourceProperties:\n encoding: xxxx\n timezone: xxxx\n destinationDataSourceType: xxxx\n tableMappings:\n - sourceObjectSelectionRules:\n - action: Include\n expression: xxxx\n expressionType: Exact\n objectType: xxxx\n - action: Include\n expression: xxxx\n expressionType: Exact\n objectType: xxxx\n transformationRules:\n - ruleName: xxxx\n ruleActionType: xxxx\n ruleTargetType: xxxx\n transformationRules:\n - ruleActionType: xxxx\n ruleExpression: xxxx\n ruleName: xxxx\n ruleTargetType: xxxx\n destinationDataSourceSettings:\n - dataSourceName: xxx\n default:\n type: alicloud:dataworks:DiAlarmRule\n properties:\n description: Description\n triggerConditions:\n - ddlReportTags:\n - ALTERADDCOLUMN\n threshold: '20'\n duration: '10'\n severity: Warning\n metricType: DdlReport\n notificationSettings:\n notificationChannels:\n - severity: Warning\n channels:\n - Ding\n notificationReceivers:\n - receiverType: DingToken\n receiverValues:\n - '1107550004253538'\n inhibitionInterval: '10'\n diJobId: ${defaultUW8inp.diJobId}\n diAlarmRuleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Di Alarm Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/diAlarmRule:DiAlarmRule example \u003cdi_job_id\u003e:\u003cdi_alarm_rule_id\u003e\n```\n\n", "properties": { "description": { "type": "string" @@ -136760,7 +139389,7 @@ } }, "alicloud:dataworks/diJob:DiJob": { - "description": "Provides a Data Works Di Job resource.\n\nData Integration Tasks.\n\nFor information about Data Works Di Job and how to use it, see [What is Di Job](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdijob).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultMMHL8U = new alicloud.dataworks.Project(\"defaultMMHL8U\", {\n projectName: name,\n displayName: name,\n description: name,\n paiTaskEnabled: true,\n});\nconst _default = new alicloud.dataworks.DiJob(\"default\", {\n description: name,\n projectId: defaultMMHL8U.id,\n jobName: \"zhenyuan_example_case\",\n migrationType: \"api_FullAndRealtimeIncremental\",\n sourceDataSourceSettings: [{\n dataSourceName: \"dw_mysql\",\n dataSourceProperties: {\n encoding: \"utf-8\",\n timezone: \"Asia/Shanghai\",\n },\n }],\n destinationDataSourceType: \"Hologres\",\n tableMappings: [{\n sourceObjectSelectionRules: [\n {\n action: \"Include\",\n expression: \"dw_mysql\",\n expressionType: \"Exact\",\n objectType: \"Datasource\",\n },\n {\n action: \"Include\",\n expression: \"example_db1\",\n expressionType: \"Exact\",\n objectType: \"Database\",\n },\n {\n action: \"Include\",\n expression: \"lsc_example01\",\n expressionType: \"Exact\",\n objectType: \"Table\",\n },\n ],\n transformationRules: [{\n ruleName: \"my_table_rename_rule\",\n ruleActionType: \"Rename\",\n ruleTargetType: \"Table\",\n }],\n }],\n sourceDataSourceType: \"MySQL\",\n resourceSettings: {\n offlineResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n realtimeResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n scheduleResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n },\n transformationRules: [{\n ruleActionType: \"Rename\",\n ruleExpression: \"{\\\"expression\\\":\\\"table2\\\"}\",\n ruleName: \"my_table_rename_rule\",\n ruleTargetType: \"Table\",\n }],\n destinationDataSourceSettings: [{\n dataSourceName: \"dw_example_holo\",\n }],\n jobSettings: {\n columnDataTypeSettings: [{\n destinationDataType: \"bigint\",\n sourceDataType: \"longtext\",\n }],\n ddlHandlingSettings: [{\n action: \"Ignore\",\n type: \"CreateTable\",\n }],\n runtimeSettings: [{\n name: \"runtime.realtime.concurrent\",\n value: \"1\",\n }],\n channelSettings: \"1\",\n cycleScheduleSettings: {\n cycleMigrationType: \"2\",\n scheduleParameters: \"3\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_mmhl8_u = alicloud.dataworks.Project(\"defaultMMHL8U\",\n project_name=name,\n display_name=name,\n description=name,\n pai_task_enabled=True)\ndefault = alicloud.dataworks.DiJob(\"default\",\n description=name,\n project_id=default_mmhl8_u.id,\n job_name=\"zhenyuan_example_case\",\n migration_type=\"api_FullAndRealtimeIncremental\",\n source_data_source_settings=[{\n \"data_source_name\": \"dw_mysql\",\n \"data_source_properties\": {\n \"encoding\": \"utf-8\",\n \"timezone\": \"Asia/Shanghai\",\n },\n }],\n destination_data_source_type=\"Hologres\",\n table_mappings=[{\n \"source_object_selection_rules\": [\n {\n \"action\": \"Include\",\n \"expression\": \"dw_mysql\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Datasource\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"example_db1\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Database\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"lsc_example01\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Table\",\n },\n ],\n \"transformation_rules\": [{\n \"rule_name\": \"my_table_rename_rule\",\n \"rule_action_type\": \"Rename\",\n \"rule_target_type\": \"Table\",\n }],\n }],\n source_data_source_type=\"MySQL\",\n resource_settings={\n \"offline_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n \"realtime_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n \"schedule_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n },\n transformation_rules=[{\n \"rule_action_type\": \"Rename\",\n \"rule_expression\": \"{\\\"expression\\\":\\\"table2\\\"}\",\n \"rule_name\": \"my_table_rename_rule\",\n \"rule_target_type\": \"Table\",\n }],\n destination_data_source_settings=[{\n \"data_source_name\": \"dw_example_holo\",\n }],\n job_settings={\n \"column_data_type_settings\": [{\n \"destination_data_type\": \"bigint\",\n \"source_data_type\": \"longtext\",\n }],\n \"ddl_handling_settings\": [{\n \"action\": \"Ignore\",\n \"type\": \"CreateTable\",\n }],\n \"runtime_settings\": [{\n \"name\": \"runtime.realtime.concurrent\",\n \"value\": \"1\",\n }],\n \"channel_settings\": \"1\",\n \"cycle_schedule_settings\": {\n \"cycle_migration_type\": \"2\",\n \"schedule_parameters\": \"3\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultMMHL8U = new AliCloud.DataWorks.Project(\"defaultMMHL8U\", new()\n {\n ProjectName = name,\n DisplayName = name,\n Description = name,\n PaiTaskEnabled = true,\n });\n\n var @default = new AliCloud.DataWorks.DiJob(\"default\", new()\n {\n Description = name,\n ProjectId = defaultMMHL8U.Id,\n JobName = \"zhenyuan_example_case\",\n MigrationType = \"api_FullAndRealtimeIncremental\",\n SourceDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingArgs\n {\n DataSourceName = \"dw_mysql\",\n DataSourceProperties = new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs\n {\n Encoding = \"utf-8\",\n Timezone = \"Asia/Shanghai\",\n },\n },\n },\n DestinationDataSourceType = \"Hologres\",\n TableMappings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingArgs\n {\n SourceObjectSelectionRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"dw_mysql\",\n ExpressionType = \"Exact\",\n ObjectType = \"Datasource\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"example_db1\",\n ExpressionType = \"Exact\",\n ObjectType = \"Database\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"lsc_example01\",\n ExpressionType = \"Exact\",\n ObjectType = \"Table\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingTransformationRuleArgs\n {\n RuleName = \"my_table_rename_rule\",\n RuleActionType = \"Rename\",\n RuleTargetType = \"Table\",\n },\n },\n },\n },\n SourceDataSourceType = \"MySQL\",\n ResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsArgs\n {\n OfflineResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsOfflineResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n RealtimeResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n ScheduleResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsScheduleResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTransformationRuleArgs\n {\n RuleActionType = \"Rename\",\n RuleExpression = \"{\\\"expression\\\":\\\"table2\\\"}\",\n RuleName = \"my_table_rename_rule\",\n RuleTargetType = \"Table\",\n },\n },\n DestinationDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobDestinationDataSourceSettingArgs\n {\n DataSourceName = \"dw_example_holo\",\n },\n },\n JobSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsArgs\n {\n ColumnDataTypeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsColumnDataTypeSettingArgs\n {\n DestinationDataType = \"bigint\",\n SourceDataType = \"longtext\",\n },\n },\n DdlHandlingSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsDdlHandlingSettingArgs\n {\n Action = \"Ignore\",\n Type = \"CreateTable\",\n },\n },\n RuntimeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsRuntimeSettingArgs\n {\n Name = \"runtime.realtime.concurrent\",\n Value = \"1\",\n },\n },\n ChannelSettings = \"1\",\n CycleScheduleSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsCycleScheduleSettingsArgs\n {\n CycleMigrationType = \"2\",\n ScheduleParameters = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultMMHL8U, err := dataworks.NewProject(ctx, \"defaultMMHL8U\", \u0026dataworks.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDiJob(ctx, \"default\", \u0026dataworks.DiJobArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectId: defaultMMHL8U.ID(),\n\t\t\tJobName: pulumi.String(\"zhenyuan_example_case\"),\n\t\t\tMigrationType: pulumi.String(\"api_FullAndRealtimeIncremental\"),\n\t\t\tSourceDataSourceSettings: dataworks.DiJobSourceDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobSourceDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"dw_mysql\"),\n\t\t\t\t\tDataSourceProperties: \u0026dataworks.DiJobSourceDataSourceSettingDataSourcePropertiesArgs{\n\t\t\t\t\t\tEncoding: pulumi.String(\"utf-8\"),\n\t\t\t\t\t\tTimezone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceType: pulumi.String(\"Hologres\"),\n\t\t\tTableMappings: dataworks.DiJobTableMappingArray{\n\t\t\t\t\u0026dataworks.DiJobTableMappingArgs{\n\t\t\t\t\tSourceObjectSelectionRules: dataworks.DiJobTableMappingSourceObjectSelectionRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"dw_mysql\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Datasource\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"example_db1\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Database\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"lsc_example01\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Table\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTransformationRules: dataworks.DiJobTableMappingTransformationRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingTransformationRuleArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"my_table_rename_rule\"),\n\t\t\t\t\t\t\tRuleActionType: pulumi.String(\"Rename\"),\n\t\t\t\t\t\t\tRuleTargetType: pulumi.String(\"Table\"),\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\tSourceDataSourceType: pulumi.String(\"MySQL\"),\n\t\t\tResourceSettings: \u0026dataworks.DiJobResourceSettingsArgs{\n\t\t\t\tOfflineResourceSettings: \u0026dataworks.DiJobResourceSettingsOfflineResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t\tRealtimeResourceSettings: \u0026dataworks.DiJobResourceSettingsRealtimeResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t\tScheduleResourceSettings: \u0026dataworks.DiJobResourceSettingsScheduleResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransformationRules: dataworks.DiJobTransformationRuleArray{\n\t\t\t\t\u0026dataworks.DiJobTransformationRuleArgs{\n\t\t\t\t\tRuleActionType: pulumi.String(\"Rename\"),\n\t\t\t\t\tRuleExpression: pulumi.String(\"{\\\"expression\\\":\\\"table2\\\"}\"),\n\t\t\t\t\tRuleName: pulumi.String(\"my_table_rename_rule\"),\n\t\t\t\t\tRuleTargetType: pulumi.String(\"Table\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceSettings: dataworks.DiJobDestinationDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobDestinationDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"dw_example_holo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobSettings: \u0026dataworks.DiJobJobSettingsArgs{\n\t\t\t\tColumnDataTypeSettings: dataworks.DiJobJobSettingsColumnDataTypeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsColumnDataTypeSettingArgs{\n\t\t\t\t\t\tDestinationDataType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tSourceDataType: pulumi.String(\"longtext\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDdlHandlingSettings: dataworks.DiJobJobSettingsDdlHandlingSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsDdlHandlingSettingArgs{\n\t\t\t\t\t\tAction: pulumi.String(\"Ignore\"),\n\t\t\t\t\t\tType: pulumi.String(\"CreateTable\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRuntimeSettings: dataworks.DiJobJobSettingsRuntimeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsRuntimeSettingArgs{\n\t\t\t\t\t\tName: pulumi.String(\"runtime.realtime.concurrent\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tChannelSettings: pulumi.String(\"1\"),\n\t\t\t\tCycleScheduleSettings: \u0026dataworks.DiJobJobSettingsCycleScheduleSettingsArgs{\n\t\t\t\t\tCycleMigrationType: pulumi.String(\"2\"),\n\t\t\t\t\tScheduleParameters: pulumi.String(\"3\"),\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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DiJob;\nimport com.pulumi.alicloud.dataworks.DiJobArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTableMappingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsOfflineResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsScheduleResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTransformationRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobDestinationDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsCycleScheduleSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultMMHL8U = new Project(\"defaultMMHL8U\", ProjectArgs.builder()\n .projectName(name)\n .displayName(name)\n .description(name)\n .paiTaskEnabled(true)\n .build());\n\n var default_ = new DiJob(\"default\", DiJobArgs.builder()\n .description(name)\n .projectId(defaultMMHL8U.id())\n .jobName(\"zhenyuan_example_case\")\n .migrationType(\"api_FullAndRealtimeIncremental\")\n .sourceDataSourceSettings(DiJobSourceDataSourceSettingArgs.builder()\n .dataSourceName(\"dw_mysql\")\n .dataSourceProperties(DiJobSourceDataSourceSettingDataSourcePropertiesArgs.builder()\n .encoding(\"utf-8\")\n .timezone(\"Asia/Shanghai\")\n .build())\n .build())\n .destinationDataSourceType(\"Hologres\")\n .tableMappings(DiJobTableMappingArgs.builder()\n .sourceObjectSelectionRules( \n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"dw_mysql\")\n .expressionType(\"Exact\")\n .objectType(\"Datasource\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"example_db1\")\n .expressionType(\"Exact\")\n .objectType(\"Database\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"lsc_example01\")\n .expressionType(\"Exact\")\n .objectType(\"Table\")\n .build())\n .transformationRules(DiJobTableMappingTransformationRuleArgs.builder()\n .ruleName(\"my_table_rename_rule\")\n .ruleActionType(\"Rename\")\n .ruleTargetType(\"Table\")\n .build())\n .build())\n .sourceDataSourceType(\"MySQL\")\n .resourceSettings(DiJobResourceSettingsArgs.builder()\n .offlineResourceSettings(DiJobResourceSettingsOfflineResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .realtimeResourceSettings(DiJobResourceSettingsRealtimeResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .scheduleResourceSettings(DiJobResourceSettingsScheduleResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .build())\n .transformationRules(DiJobTransformationRuleArgs.builder()\n .ruleActionType(\"Rename\")\n .ruleExpression(\"{\\\"expression\\\":\\\"table2\\\"}\")\n .ruleName(\"my_table_rename_rule\")\n .ruleTargetType(\"Table\")\n .build())\n .destinationDataSourceSettings(DiJobDestinationDataSourceSettingArgs.builder()\n .dataSourceName(\"dw_example_holo\")\n .build())\n .jobSettings(DiJobJobSettingsArgs.builder()\n .columnDataTypeSettings(DiJobJobSettingsColumnDataTypeSettingArgs.builder()\n .destinationDataType(\"bigint\")\n .sourceDataType(\"longtext\")\n .build())\n .ddlHandlingSettings(DiJobJobSettingsDdlHandlingSettingArgs.builder()\n .action(\"Ignore\")\n .type(\"CreateTable\")\n .build())\n .runtimeSettings(DiJobJobSettingsRuntimeSettingArgs.builder()\n .name(\"runtime.realtime.concurrent\")\n .value(\"1\")\n .build())\n .channelSettings(\"1\")\n .cycleScheduleSettings(DiJobJobSettingsCycleScheduleSettingsArgs.builder()\n .cycleMigrationType(\"2\")\n .scheduleParameters(\"3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultMMHL8U:\n type: alicloud:dataworks:Project\n properties:\n projectName: ${name}\n displayName: ${name}\n description: ${name}\n paiTaskEnabled: true\n default:\n type: alicloud:dataworks:DiJob\n properties:\n description: ${name}\n projectId: ${defaultMMHL8U.id}\n jobName: zhenyuan_example_case\n migrationType: api_FullAndRealtimeIncremental\n sourceDataSourceSettings:\n - dataSourceName: dw_mysql\n dataSourceProperties:\n encoding: utf-8\n timezone: Asia/Shanghai\n destinationDataSourceType: Hologres\n tableMappings:\n - sourceObjectSelectionRules:\n - action: Include\n expression: dw_mysql\n expressionType: Exact\n objectType: Datasource\n - action: Include\n expression: example_db1\n expressionType: Exact\n objectType: Database\n - action: Include\n expression: lsc_example01\n expressionType: Exact\n objectType: Table\n transformationRules:\n - ruleName: my_table_rename_rule\n ruleActionType: Rename\n ruleTargetType: Table\n sourceDataSourceType: MySQL\n resourceSettings:\n offlineResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n realtimeResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n scheduleResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n transformationRules:\n - ruleActionType: Rename\n ruleExpression: '{\"expression\":\"table2\"}'\n ruleName: my_table_rename_rule\n ruleTargetType: Table\n destinationDataSourceSettings:\n - dataSourceName: dw_example_holo\n jobSettings:\n columnDataTypeSettings:\n - destinationDataType: bigint\n sourceDataType: longtext\n ddlHandlingSettings:\n - action: Ignore\n type: CreateTable\n runtimeSettings:\n - name: runtime.realtime.concurrent\n value: '1'\n channelSettings: '1'\n cycleScheduleSettings:\n cycleMigrationType: '2'\n scheduleParameters: '3'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Di Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/diJob:DiJob example \u003cproject_id\u003e:\u003cdi_job_id\u003e\n```\n\n", + "description": "Provides a Data Works Di Job resource.\n\nData Integration Tasks.\n\nFor information about Data Works Di Job and how to use it, see [What is Di Job](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createdijob).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultMMHL8U = new alicloud.dataworks.Project(\"defaultMMHL8U\", {\n projectName: name,\n displayName: name,\n description: name,\n paiTaskEnabled: true,\n});\nconst _default = new alicloud.dataworks.DiJob(\"default\", {\n description: name,\n projectId: defaultMMHL8U.id,\n jobName: \"zhenyuan_example_case\",\n migrationType: \"api_FullAndRealtimeIncremental\",\n sourceDataSourceSettings: [{\n dataSourceName: \"dw_mysql\",\n dataSourceProperties: {\n encoding: \"utf-8\",\n timezone: \"Asia/Shanghai\",\n },\n }],\n destinationDataSourceType: \"Hologres\",\n tableMappings: [{\n sourceObjectSelectionRules: [\n {\n action: \"Include\",\n expression: \"dw_mysql\",\n expressionType: \"Exact\",\n objectType: \"Datasource\",\n },\n {\n action: \"Include\",\n expression: \"example_db1\",\n expressionType: \"Exact\",\n objectType: \"Database\",\n },\n {\n action: \"Include\",\n expression: \"lsc_example01\",\n expressionType: \"Exact\",\n objectType: \"Table\",\n },\n ],\n transformationRules: [{\n ruleName: \"my_table_rename_rule\",\n ruleActionType: \"Rename\",\n ruleTargetType: \"Table\",\n }],\n }],\n sourceDataSourceType: \"MySQL\",\n resourceSettings: {\n offlineResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n realtimeResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n scheduleResourceSettings: {\n requestedCu: 2,\n resourceGroupIdentifier: \"S_res_group_524257424564736_1716799673667\",\n },\n },\n transformationRules: [{\n ruleActionType: \"Rename\",\n ruleExpression: \"{\\\"expression\\\":\\\"table2\\\"}\",\n ruleName: \"my_table_rename_rule\",\n ruleTargetType: \"Table\",\n }],\n destinationDataSourceSettings: [{\n dataSourceName: \"dw_example_holo\",\n }],\n jobSettings: {\n columnDataTypeSettings: [{\n destinationDataType: \"bigint\",\n sourceDataType: \"longtext\",\n }],\n ddlHandlingSettings: [{\n action: \"Ignore\",\n type: \"CreateTable\",\n }],\n runtimeSettings: [{\n name: \"runtime.realtime.concurrent\",\n value: \"1\",\n }],\n channelSettings: \"1\",\n cycleScheduleSettings: {\n cycleMigrationType: \"2\",\n scheduleParameters: \"3\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_mmhl8_u = alicloud.dataworks.Project(\"defaultMMHL8U\",\n project_name=name,\n display_name=name,\n description=name,\n pai_task_enabled=True)\ndefault = alicloud.dataworks.DiJob(\"default\",\n description=name,\n project_id=default_mmhl8_u.id,\n job_name=\"zhenyuan_example_case\",\n migration_type=\"api_FullAndRealtimeIncremental\",\n source_data_source_settings=[{\n \"data_source_name\": \"dw_mysql\",\n \"data_source_properties\": {\n \"encoding\": \"utf-8\",\n \"timezone\": \"Asia/Shanghai\",\n },\n }],\n destination_data_source_type=\"Hologres\",\n table_mappings=[{\n \"source_object_selection_rules\": [\n {\n \"action\": \"Include\",\n \"expression\": \"dw_mysql\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Datasource\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"example_db1\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Database\",\n },\n {\n \"action\": \"Include\",\n \"expression\": \"lsc_example01\",\n \"expression_type\": \"Exact\",\n \"object_type\": \"Table\",\n },\n ],\n \"transformation_rules\": [{\n \"rule_name\": \"my_table_rename_rule\",\n \"rule_action_type\": \"Rename\",\n \"rule_target_type\": \"Table\",\n }],\n }],\n source_data_source_type=\"MySQL\",\n resource_settings={\n \"offline_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n \"realtime_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n \"schedule_resource_settings\": {\n \"requested_cu\": 2,\n \"resource_group_identifier\": \"S_res_group_524257424564736_1716799673667\",\n },\n },\n transformation_rules=[{\n \"rule_action_type\": \"Rename\",\n \"rule_expression\": \"{\\\"expression\\\":\\\"table2\\\"}\",\n \"rule_name\": \"my_table_rename_rule\",\n \"rule_target_type\": \"Table\",\n }],\n destination_data_source_settings=[{\n \"data_source_name\": \"dw_example_holo\",\n }],\n job_settings={\n \"column_data_type_settings\": [{\n \"destination_data_type\": \"bigint\",\n \"source_data_type\": \"longtext\",\n }],\n \"ddl_handling_settings\": [{\n \"action\": \"Ignore\",\n \"type\": \"CreateTable\",\n }],\n \"runtime_settings\": [{\n \"name\": \"runtime.realtime.concurrent\",\n \"value\": \"1\",\n }],\n \"channel_settings\": \"1\",\n \"cycle_schedule_settings\": {\n \"cycle_migration_type\": \"2\",\n \"schedule_parameters\": \"3\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultMMHL8U = new AliCloud.DataWorks.Project(\"defaultMMHL8U\", new()\n {\n ProjectName = name,\n DisplayName = name,\n Description = name,\n PaiTaskEnabled = true,\n });\n\n var @default = new AliCloud.DataWorks.DiJob(\"default\", new()\n {\n Description = name,\n ProjectId = defaultMMHL8U.Id,\n JobName = \"zhenyuan_example_case\",\n MigrationType = \"api_FullAndRealtimeIncremental\",\n SourceDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingArgs\n {\n DataSourceName = \"dw_mysql\",\n DataSourceProperties = new AliCloud.DataWorks.Inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs\n {\n Encoding = \"utf-8\",\n Timezone = \"Asia/Shanghai\",\n },\n },\n },\n DestinationDataSourceType = \"Hologres\",\n TableMappings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingArgs\n {\n SourceObjectSelectionRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"dw_mysql\",\n ExpressionType = \"Exact\",\n ObjectType = \"Datasource\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"example_db1\",\n ExpressionType = \"Exact\",\n ObjectType = \"Database\",\n },\n new AliCloud.DataWorks.Inputs.DiJobTableMappingSourceObjectSelectionRuleArgs\n {\n Action = \"Include\",\n Expression = \"lsc_example01\",\n ExpressionType = \"Exact\",\n ObjectType = \"Table\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTableMappingTransformationRuleArgs\n {\n RuleName = \"my_table_rename_rule\",\n RuleActionType = \"Rename\",\n RuleTargetType = \"Table\",\n },\n },\n },\n },\n SourceDataSourceType = \"MySQL\",\n ResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsArgs\n {\n OfflineResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsOfflineResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n RealtimeResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n ScheduleResourceSettings = new AliCloud.DataWorks.Inputs.DiJobResourceSettingsScheduleResourceSettingsArgs\n {\n RequestedCu = 2,\n ResourceGroupIdentifier = \"S_res_group_524257424564736_1716799673667\",\n },\n },\n TransformationRules = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobTransformationRuleArgs\n {\n RuleActionType = \"Rename\",\n RuleExpression = \"{\\\"expression\\\":\\\"table2\\\"}\",\n RuleName = \"my_table_rename_rule\",\n RuleTargetType = \"Table\",\n },\n },\n DestinationDataSourceSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobDestinationDataSourceSettingArgs\n {\n DataSourceName = \"dw_example_holo\",\n },\n },\n JobSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsArgs\n {\n ColumnDataTypeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsColumnDataTypeSettingArgs\n {\n DestinationDataType = \"bigint\",\n SourceDataType = \"longtext\",\n },\n },\n DdlHandlingSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsDdlHandlingSettingArgs\n {\n Action = \"Ignore\",\n Type = \"CreateTable\",\n },\n },\n RuntimeSettings = new[]\n {\n new AliCloud.DataWorks.Inputs.DiJobJobSettingsRuntimeSettingArgs\n {\n Name = \"runtime.realtime.concurrent\",\n Value = \"1\",\n },\n },\n ChannelSettings = \"1\",\n CycleScheduleSettings = new AliCloud.DataWorks.Inputs.DiJobJobSettingsCycleScheduleSettingsArgs\n {\n CycleMigrationType = \"2\",\n ScheduleParameters = \"3\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultMMHL8U, err := dataworks.NewProject(ctx, \"defaultMMHL8U\", \u0026dataworks.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDiJob(ctx, \"default\", \u0026dataworks.DiJobArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectId: defaultMMHL8U.ID(),\n\t\t\tJobName: pulumi.String(\"zhenyuan_example_case\"),\n\t\t\tMigrationType: pulumi.String(\"api_FullAndRealtimeIncremental\"),\n\t\t\tSourceDataSourceSettings: dataworks.DiJobSourceDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobSourceDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"dw_mysql\"),\n\t\t\t\t\tDataSourceProperties: \u0026dataworks.DiJobSourceDataSourceSettingDataSourcePropertiesArgs{\n\t\t\t\t\t\tEncoding: pulumi.String(\"utf-8\"),\n\t\t\t\t\t\tTimezone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceType: pulumi.String(\"Hologres\"),\n\t\t\tTableMappings: dataworks.DiJobTableMappingArray{\n\t\t\t\t\u0026dataworks.DiJobTableMappingArgs{\n\t\t\t\t\tSourceObjectSelectionRules: dataworks.DiJobTableMappingSourceObjectSelectionRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"dw_mysql\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Datasource\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"example_db1\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Database\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingSourceObjectSelectionRuleArgs{\n\t\t\t\t\t\t\tAction: pulumi.String(\"Include\"),\n\t\t\t\t\t\t\tExpression: pulumi.String(\"lsc_example01\"),\n\t\t\t\t\t\t\tExpressionType: pulumi.String(\"Exact\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"Table\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTransformationRules: dataworks.DiJobTableMappingTransformationRuleArray{\n\t\t\t\t\t\t\u0026dataworks.DiJobTableMappingTransformationRuleArgs{\n\t\t\t\t\t\t\tRuleName: pulumi.String(\"my_table_rename_rule\"),\n\t\t\t\t\t\t\tRuleActionType: pulumi.String(\"Rename\"),\n\t\t\t\t\t\t\tRuleTargetType: pulumi.String(\"Table\"),\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\tSourceDataSourceType: pulumi.String(\"MySQL\"),\n\t\t\tResourceSettings: \u0026dataworks.DiJobResourceSettingsArgs{\n\t\t\t\tOfflineResourceSettings: \u0026dataworks.DiJobResourceSettingsOfflineResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t\tRealtimeResourceSettings: \u0026dataworks.DiJobResourceSettingsRealtimeResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t\tScheduleResourceSettings: \u0026dataworks.DiJobResourceSettingsScheduleResourceSettingsArgs{\n\t\t\t\t\tRequestedCu: pulumi.Float64(2),\n\t\t\t\t\tResourceGroupIdentifier: pulumi.String(\"S_res_group_524257424564736_1716799673667\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTransformationRules: dataworks.DiJobTransformationRuleArray{\n\t\t\t\t\u0026dataworks.DiJobTransformationRuleArgs{\n\t\t\t\t\tRuleActionType: pulumi.String(\"Rename\"),\n\t\t\t\t\tRuleExpression: pulumi.String(\"{\\\"expression\\\":\\\"table2\\\"}\"),\n\t\t\t\t\tRuleName: pulumi.String(\"my_table_rename_rule\"),\n\t\t\t\t\tRuleTargetType: pulumi.String(\"Table\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestinationDataSourceSettings: dataworks.DiJobDestinationDataSourceSettingArray{\n\t\t\t\t\u0026dataworks.DiJobDestinationDataSourceSettingArgs{\n\t\t\t\t\tDataSourceName: pulumi.String(\"dw_example_holo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tJobSettings: \u0026dataworks.DiJobJobSettingsArgs{\n\t\t\t\tColumnDataTypeSettings: dataworks.DiJobJobSettingsColumnDataTypeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsColumnDataTypeSettingArgs{\n\t\t\t\t\t\tDestinationDataType: pulumi.String(\"bigint\"),\n\t\t\t\t\t\tSourceDataType: pulumi.String(\"longtext\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDdlHandlingSettings: dataworks.DiJobJobSettingsDdlHandlingSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsDdlHandlingSettingArgs{\n\t\t\t\t\t\tAction: pulumi.String(\"Ignore\"),\n\t\t\t\t\t\tType: pulumi.String(\"CreateTable\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRuntimeSettings: dataworks.DiJobJobSettingsRuntimeSettingArray{\n\t\t\t\t\t\u0026dataworks.DiJobJobSettingsRuntimeSettingArgs{\n\t\t\t\t\t\tName: pulumi.String(\"runtime.realtime.concurrent\"),\n\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tChannelSettings: pulumi.String(\"1\"),\n\t\t\t\tCycleScheduleSettings: \u0026dataworks.DiJobJobSettingsCycleScheduleSettingsArgs{\n\t\t\t\t\tCycleMigrationType: pulumi.String(\"2\"),\n\t\t\t\t\tScheduleParameters: pulumi.String(\"3\"),\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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.DiJob;\nimport com.pulumi.alicloud.dataworks.DiJobArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobSourceDataSourceSettingDataSourcePropertiesArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTableMappingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsOfflineResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsRealtimeResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobResourceSettingsScheduleResourceSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobTransformationRuleArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobDestinationDataSourceSettingArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsArgs;\nimport com.pulumi.alicloud.dataworks.inputs.DiJobJobSettingsCycleScheduleSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultMMHL8U = new Project(\"defaultMMHL8U\", ProjectArgs.builder()\n .projectName(name)\n .displayName(name)\n .description(name)\n .paiTaskEnabled(true)\n .build());\n\n var default_ = new DiJob(\"default\", DiJobArgs.builder()\n .description(name)\n .projectId(defaultMMHL8U.id())\n .jobName(\"zhenyuan_example_case\")\n .migrationType(\"api_FullAndRealtimeIncremental\")\n .sourceDataSourceSettings(DiJobSourceDataSourceSettingArgs.builder()\n .dataSourceName(\"dw_mysql\")\n .dataSourceProperties(DiJobSourceDataSourceSettingDataSourcePropertiesArgs.builder()\n .encoding(\"utf-8\")\n .timezone(\"Asia/Shanghai\")\n .build())\n .build())\n .destinationDataSourceType(\"Hologres\")\n .tableMappings(DiJobTableMappingArgs.builder()\n .sourceObjectSelectionRules( \n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"dw_mysql\")\n .expressionType(\"Exact\")\n .objectType(\"Datasource\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"example_db1\")\n .expressionType(\"Exact\")\n .objectType(\"Database\")\n .build(),\n DiJobTableMappingSourceObjectSelectionRuleArgs.builder()\n .action(\"Include\")\n .expression(\"lsc_example01\")\n .expressionType(\"Exact\")\n .objectType(\"Table\")\n .build())\n .transformationRules(DiJobTableMappingTransformationRuleArgs.builder()\n .ruleName(\"my_table_rename_rule\")\n .ruleActionType(\"Rename\")\n .ruleTargetType(\"Table\")\n .build())\n .build())\n .sourceDataSourceType(\"MySQL\")\n .resourceSettings(DiJobResourceSettingsArgs.builder()\n .offlineResourceSettings(DiJobResourceSettingsOfflineResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .realtimeResourceSettings(DiJobResourceSettingsRealtimeResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .scheduleResourceSettings(DiJobResourceSettingsScheduleResourceSettingsArgs.builder()\n .requestedCu(2.0)\n .resourceGroupIdentifier(\"S_res_group_524257424564736_1716799673667\")\n .build())\n .build())\n .transformationRules(DiJobTransformationRuleArgs.builder()\n .ruleActionType(\"Rename\")\n .ruleExpression(\"{\\\"expression\\\":\\\"table2\\\"}\")\n .ruleName(\"my_table_rename_rule\")\n .ruleTargetType(\"Table\")\n .build())\n .destinationDataSourceSettings(DiJobDestinationDataSourceSettingArgs.builder()\n .dataSourceName(\"dw_example_holo\")\n .build())\n .jobSettings(DiJobJobSettingsArgs.builder()\n .columnDataTypeSettings(DiJobJobSettingsColumnDataTypeSettingArgs.builder()\n .destinationDataType(\"bigint\")\n .sourceDataType(\"longtext\")\n .build())\n .ddlHandlingSettings(DiJobJobSettingsDdlHandlingSettingArgs.builder()\n .action(\"Ignore\")\n .type(\"CreateTable\")\n .build())\n .runtimeSettings(DiJobJobSettingsRuntimeSettingArgs.builder()\n .name(\"runtime.realtime.concurrent\")\n .value(\"1\")\n .build())\n .channelSettings(\"1\")\n .cycleScheduleSettings(DiJobJobSettingsCycleScheduleSettingsArgs.builder()\n .cycleMigrationType(\"2\")\n .scheduleParameters(\"3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultMMHL8U:\n type: alicloud:dataworks:Project\n properties:\n projectName: ${name}\n displayName: ${name}\n description: ${name}\n paiTaskEnabled: true\n default:\n type: alicloud:dataworks:DiJob\n properties:\n description: ${name}\n projectId: ${defaultMMHL8U.id}\n jobName: zhenyuan_example_case\n migrationType: api_FullAndRealtimeIncremental\n sourceDataSourceSettings:\n - dataSourceName: dw_mysql\n dataSourceProperties:\n encoding: utf-8\n timezone: Asia/Shanghai\n destinationDataSourceType: Hologres\n tableMappings:\n - sourceObjectSelectionRules:\n - action: Include\n expression: dw_mysql\n expressionType: Exact\n objectType: Datasource\n - action: Include\n expression: example_db1\n expressionType: Exact\n objectType: Database\n - action: Include\n expression: lsc_example01\n expressionType: Exact\n objectType: Table\n transformationRules:\n - ruleName: my_table_rename_rule\n ruleActionType: Rename\n ruleTargetType: Table\n sourceDataSourceType: MySQL\n resourceSettings:\n offlineResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n realtimeResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n scheduleResourceSettings:\n requestedCu: 2\n resourceGroupIdentifier: S_res_group_524257424564736_1716799673667\n transformationRules:\n - ruleActionType: Rename\n ruleExpression: '{\"expression\":\"table2\"}'\n ruleName: my_table_rename_rule\n ruleTargetType: Table\n destinationDataSourceSettings:\n - dataSourceName: dw_example_holo\n jobSettings:\n columnDataTypeSettings:\n - destinationDataType: bigint\n sourceDataType: longtext\n ddlHandlingSettings:\n - action: Ignore\n type: CreateTable\n runtimeSettings:\n - name: runtime.realtime.concurrent\n value: '1'\n channelSettings: '1'\n cycleScheduleSettings:\n cycleMigrationType: '2'\n scheduleParameters: '3'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Di Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/diJob:DiJob example \u003cproject_id\u003e:\u003cdi_job_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -137001,7 +139630,7 @@ } }, "alicloud:dataworks/dwResourceGroup:DwResourceGroup": { - "description": "Provides a Data Works Dw Resource Group resource.\n\n\n\nFor information about Data Works Dw Resource Group and how to use it, see [What is Dw Resource Group](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createresourcegroup).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultZImuCO = new alicloud.dataworks.Project(\"defaultZImuCO\", {\n description: \"default_pj002\",\n projectName: name,\n displayName: \"default_pj002\",\n paiTaskEnabled: true,\n});\nconst defaulte4zhaL = new alicloud.vpc.Network(\"defaulte4zhaL\", {\n description: \"default_resgv2_vpc001\",\n vpcName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/12\",\n});\nconst default675v38 = new alicloud.vpc.Switch(\"default675v38\", {\n description: \"default_resg_vsw001\",\n vpcId: defaulte4zhaL.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst _default = new alicloud.dataworks.DwResourceGroup(\"default\", {\n paymentType: \"PostPaid\",\n defaultVpcId: defaulte4zhaL.id,\n remark: \"openapi_example\",\n resourceGroupName: \"openapi_pop2_example_resg00002\",\n defaultVswitchId: default675v38.id,\n paymentDurationUnit: \"Month\",\n specification: 500,\n paymentDuration: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_z_imu_co = alicloud.dataworks.Project(\"defaultZImuCO\",\n description=\"default_pj002\",\n project_name=name,\n display_name=\"default_pj002\",\n pai_task_enabled=True)\ndefaulte4zha_l = alicloud.vpc.Network(\"defaulte4zhaL\",\n description=\"default_resgv2_vpc001\",\n vpc_name=std.format(input=\"%s1\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/12\")\ndefault675v38 = alicloud.vpc.Switch(\"default675v38\",\n description=\"default_resg_vsw001\",\n vpc_id=defaulte4zha_l.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/24\")\ndefault = alicloud.dataworks.DwResourceGroup(\"default\",\n payment_type=\"PostPaid\",\n default_vpc_id=defaulte4zha_l.id,\n remark=\"openapi_example\",\n resource_group_name=\"openapi_pop2_example_resg00002\",\n default_vswitch_id=default675v38.id,\n payment_duration_unit=\"Month\",\n specification=500,\n payment_duration=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultZImuCO = new AliCloud.DataWorks.Project(\"defaultZImuCO\", new()\n {\n Description = \"default_pj002\",\n ProjectName = name,\n DisplayName = \"default_pj002\",\n PaiTaskEnabled = true,\n });\n\n var defaulte4zhaL = new AliCloud.Vpc.Network(\"defaulte4zhaL\", new()\n {\n Description = \"default_resgv2_vpc001\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default675v38 = new AliCloud.Vpc.Switch(\"default675v38\", new()\n {\n Description = \"default_resg_vsw001\",\n VpcId = defaulte4zhaL.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var @default = new AliCloud.DataWorks.DwResourceGroup(\"default\", new()\n {\n PaymentType = \"PostPaid\",\n DefaultVpcId = defaulte4zhaL.Id,\n Remark = \"openapi_example\",\n ResourceGroupName = \"openapi_pop2_example_resg00002\",\n DefaultVswitchId = default675v38.Id,\n PaymentDurationUnit = \"Month\",\n Specification = 500,\n PaymentDuration = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dataworks.NewProject(ctx, \"defaultZImuCO\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"default_pj002\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"default_pj002\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulte4zhaL, err := vpc.NewNetwork(ctx, \"defaulte4zhaL\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"default_resgv2_vpc001\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault675v38, err := vpc.NewSwitch(ctx, \"default675v38\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"default_resg_vsw001\"),\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDwResourceGroup(ctx, \"default\", \u0026dataworks.DwResourceGroupArgs{\n\t\t\tPaymentType: pulumi.String(\"PostPaid\"),\n\t\t\tDefaultVpcId: defaulte4zhaL.ID(),\n\t\t\tRemark: pulumi.String(\"openapi_example\"),\n\t\t\tResourceGroupName: pulumi.String(\"openapi_pop2_example_resg00002\"),\n\t\t\tDefaultVswitchId: default675v38.ID(),\n\t\t\tPaymentDurationUnit: pulumi.String(\"Month\"),\n\t\t\tSpecification: pulumi.Int(500),\n\t\t\tPaymentDuration: 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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.dataworks.DwResourceGroup;\nimport com.pulumi.alicloud.dataworks.DwResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultZImuCO = new Project(\"defaultZImuCO\", ProjectArgs.builder()\n .description(\"default_pj002\")\n .projectName(name)\n .displayName(\"default_pj002\")\n .paiTaskEnabled(true)\n .build());\n\n var defaulte4zhaL = new Network(\"defaulte4zhaL\", NetworkArgs.builder()\n .description(\"default_resgv2_vpc001\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default675v38 = new Switch(\"default675v38\", SwitchArgs.builder()\n .description(\"default_resg_vsw001\")\n .vpcId(defaulte4zhaL.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var default_ = new DwResourceGroup(\"default\", DwResourceGroupArgs.builder()\n .paymentType(\"PostPaid\")\n .defaultVpcId(defaulte4zhaL.id())\n .remark(\"openapi_example\")\n .resourceGroupName(\"openapi_pop2_example_resg00002\")\n .defaultVswitchId(default675v38.id())\n .paymentDurationUnit(\"Month\")\n .specification(500)\n .paymentDuration(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultZImuCO:\n type: alicloud:dataworks:Project\n properties:\n description: default_pj002\n projectName: ${name}\n displayName: default_pj002\n paiTaskEnabled: true\n defaulte4zhaL:\n type: alicloud:vpc:Network\n properties:\n description: default_resgv2_vpc001\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/12\n default675v38:\n type: alicloud:vpc:Switch\n properties:\n description: default_resg_vsw001\n vpcId: ${defaulte4zhaL.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/24\n default:\n type: alicloud:dataworks:DwResourceGroup\n properties:\n paymentType: PostPaid\n defaultVpcId: ${defaulte4zhaL.id}\n remark: openapi_example\n resourceGroupName: openapi_pop2_example_resg00002\n defaultVswitchId: ${default675v38.id}\n paymentDurationUnit: Month\n specification: '500'\n paymentDuration: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Dw Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dwResourceGroup:DwResourceGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Works Dw Resource Group resource.\n\n\n\nFor information about Data Works Dw Resource Group and how to use it, see [What is Dw Resource Group](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createresourcegroup).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultZImuCO = new alicloud.dataworks.Project(\"defaultZImuCO\", {\n description: \"default_pj002\",\n projectName: name,\n displayName: \"default_pj002\",\n paiTaskEnabled: true,\n});\nconst defaulte4zhaL = new alicloud.vpc.Network(\"defaulte4zhaL\", {\n description: \"default_resgv2_vpc001\",\n vpcName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/12\",\n});\nconst default675v38 = new alicloud.vpc.Switch(\"default675v38\", {\n description: \"default_resg_vsw001\",\n vpcId: defaulte4zhaL.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst _default = new alicloud.dataworks.DwResourceGroup(\"default\", {\n paymentType: \"PostPaid\",\n defaultVpcId: defaulte4zhaL.id,\n remark: \"openapi_example\",\n resourceGroupName: \"openapi_pop2_example_resg00002\",\n defaultVswitchId: default675v38.id,\n paymentDurationUnit: \"Month\",\n specification: 500,\n paymentDuration: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_z_imu_co = alicloud.dataworks.Project(\"defaultZImuCO\",\n description=\"default_pj002\",\n project_name=name,\n display_name=\"default_pj002\",\n pai_task_enabled=True)\ndefaulte4zha_l = alicloud.vpc.Network(\"defaulte4zhaL\",\n description=\"default_resgv2_vpc001\",\n vpc_name=std.format(input=\"%s1\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/12\")\ndefault675v38 = alicloud.vpc.Switch(\"default675v38\",\n description=\"default_resg_vsw001\",\n vpc_id=defaulte4zha_l.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/24\")\ndefault = alicloud.dataworks.DwResourceGroup(\"default\",\n payment_type=\"PostPaid\",\n default_vpc_id=defaulte4zha_l.id,\n remark=\"openapi_example\",\n resource_group_name=\"openapi_pop2_example_resg00002\",\n default_vswitch_id=default675v38.id,\n payment_duration_unit=\"Month\",\n specification=500,\n payment_duration=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultZImuCO = new AliCloud.DataWorks.Project(\"defaultZImuCO\", new()\n {\n Description = \"default_pj002\",\n ProjectName = name,\n DisplayName = \"default_pj002\",\n PaiTaskEnabled = true,\n });\n\n var defaulte4zhaL = new AliCloud.Vpc.Network(\"defaulte4zhaL\", new()\n {\n Description = \"default_resgv2_vpc001\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default675v38 = new AliCloud.Vpc.Switch(\"default675v38\", new()\n {\n Description = \"default_resg_vsw001\",\n VpcId = defaulte4zhaL.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var @default = new AliCloud.DataWorks.DwResourceGroup(\"default\", new()\n {\n PaymentType = \"PostPaid\",\n DefaultVpcId = defaulte4zhaL.Id,\n Remark = \"openapi_example\",\n ResourceGroupName = \"openapi_pop2_example_resg00002\",\n DefaultVswitchId = default675v38.Id,\n PaymentDurationUnit = \"Month\",\n Specification = 500,\n PaymentDuration = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dataworks.NewProject(ctx, \"defaultZImuCO\", \u0026dataworks.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"default_pj002\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"default_pj002\"),\n\t\t\tPaiTaskEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulte4zhaL, err := vpc.NewNetwork(ctx, \"defaulte4zhaL\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"default_resgv2_vpc001\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault675v38, err := vpc.NewSwitch(ctx, \"default675v38\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"default_resg_vsw001\"),\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewDwResourceGroup(ctx, \"default\", \u0026dataworks.DwResourceGroupArgs{\n\t\t\tPaymentType: pulumi.String(\"PostPaid\"),\n\t\t\tDefaultVpcId: defaulte4zhaL.ID(),\n\t\t\tRemark: pulumi.String(\"openapi_example\"),\n\t\t\tResourceGroupName: pulumi.String(\"openapi_pop2_example_resg00002\"),\n\t\t\tDefaultVswitchId: default675v38.ID(),\n\t\t\tPaymentDurationUnit: pulumi.String(\"Month\"),\n\t\t\tSpecification: pulumi.Int(500),\n\t\t\tPaymentDuration: 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.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.dataworks.DwResourceGroup;\nimport com.pulumi.alicloud.dataworks.DwResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultZImuCO = new Project(\"defaultZImuCO\", ProjectArgs.builder()\n .description(\"default_pj002\")\n .projectName(name)\n .displayName(\"default_pj002\")\n .paiTaskEnabled(true)\n .build());\n\n var defaulte4zhaL = new Network(\"defaulte4zhaL\", NetworkArgs.builder()\n .description(\"default_resgv2_vpc001\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default675v38 = new Switch(\"default675v38\", SwitchArgs.builder()\n .description(\"default_resg_vsw001\")\n .vpcId(defaulte4zhaL.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var default_ = new DwResourceGroup(\"default\", DwResourceGroupArgs.builder()\n .paymentType(\"PostPaid\")\n .defaultVpcId(defaulte4zhaL.id())\n .remark(\"openapi_example\")\n .resourceGroupName(\"openapi_pop2_example_resg00002\")\n .defaultVswitchId(default675v38.id())\n .paymentDurationUnit(\"Month\")\n .specification(500)\n .paymentDuration(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultZImuCO:\n type: alicloud:dataworks:Project\n properties:\n description: default_pj002\n projectName: ${name}\n displayName: default_pj002\n paiTaskEnabled: true\n defaulte4zhaL:\n type: alicloud:vpc:Network\n properties:\n description: default_resgv2_vpc001\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/12\n default675v38:\n type: alicloud:vpc:Switch\n properties:\n description: default_resg_vsw001\n vpcId: ${defaulte4zhaL.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/24\n default:\n type: alicloud:dataworks:DwResourceGroup\n properties:\n paymentType: PostPaid\n defaultVpcId: ${defaulte4zhaL.id}\n remark: openapi_example\n resourceGroupName: openapi_pop2_example_resg00002\n defaultVswitchId: ${default675v38.id}\n paymentDurationUnit: Month\n specification: '500'\n paymentDuration: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Dw Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/dwResourceGroup:DwResourceGroup example \u003cid\u003e\n```\n\n", "properties": { "autoRenew": { "type": "boolean", @@ -137191,7 +139820,7 @@ } }, "alicloud:dataworks/folder:Folder": { - "description": "Provides a Data Works Folder resource.\n\nFor information about Data Works Folder and how to use it, see [What is Folder](https://help.aliyun.com/document_detail/173940.html).\n\n\u003e **NOTE:** Available in v1.131.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.dataworks.Folder(\"example\", {\n projectId: \"320687\",\n folderPath: \"Business Flow/tfTestAcc/folderDi/tftest1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.dataworks.Folder(\"example\",\n project_id=\"320687\",\n folder_path=\"Business Flow/tfTestAcc/folderDi/tftest1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.DataWorks.Folder(\"example\", new()\n {\n ProjectId = \"320687\",\n FolderPath = \"Business Flow/tfTestAcc/folderDi/tftest1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataworks.NewFolder(ctx, \"example\", \u0026dataworks.FolderArgs{\n\t\t\tProjectId: pulumi.String(\"320687\"),\n\t\t\tFolderPath: pulumi.String(\"Business Flow/tfTestAcc/folderDi/tftest1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dataworks.Folder;\nimport com.pulumi.alicloud.dataworks.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Folder(\"example\", FolderArgs.builder()\n .projectId(\"320687\")\n .folderPath(\"Business Flow/tfTestAcc/folderDi/tftest1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:dataworks:Folder\n properties:\n projectId: '320687'\n folderPath: Business Flow/tfTestAcc/folderDi/tftest1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Folder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/folder:Folder example \u003cfolder_id\u003e:\u003c$.ProjectId\u003e\n```\n\n", + "description": "Provides a Data Works Folder resource.\n\nFor information about Data Works Folder and how to use it, see [What is Folder](https://help.aliyun.com/document_detail/173940.html).\n\n\u003e **NOTE:** Available in v1.131.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.dataworks.Folder(\"example\", {\n projectId: \"320687\",\n folderPath: \"Business Flow/tfTestAcc/folderDi/tftest1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.dataworks.Folder(\"example\",\n project_id=\"320687\",\n folder_path=\"Business Flow/tfTestAcc/folderDi/tftest1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.DataWorks.Folder(\"example\", new()\n {\n ProjectId = \"320687\",\n FolderPath = \"Business Flow/tfTestAcc/folderDi/tftest1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dataworks.NewFolder(ctx, \"example\", \u0026dataworks.FolderArgs{\n\t\t\tProjectId: pulumi.String(\"320687\"),\n\t\t\tFolderPath: pulumi.String(\"Business Flow/tfTestAcc/folderDi/tftest1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dataworks.Folder;\nimport com.pulumi.alicloud.dataworks.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Folder(\"example\", FolderArgs.builder()\n .projectId(\"320687\")\n .folderPath(\"Business Flow/tfTestAcc/folderDi/tftest1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:dataworks:Folder\n properties:\n projectId: '320687'\n folderPath: Business Flow/tfTestAcc/folderDi/tftest1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Folder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/folder:Folder example \u003cfolder_id\u003e:\u003c$.ProjectId\u003e\n```\n\n", "properties": { "folderId": { "type": "string" @@ -137253,7 +139882,7 @@ } }, "alicloud:dataworks/network:Network": { - "description": "Provides a Data Works Network resource.\n\nResource Group Network.\n\nFor information about Data Works Network and how to use it, see [What is Network](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createnetwork).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default5Bia4h = new alicloud.vpc.Network(\"default5Bia4h\", {\n description: name,\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultss7s7F = new alicloud.vpc.Switch(\"defaultss7s7F\", {\n description: name,\n vpcId: default5Bia4h.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultVJvKvl = new alicloud.dataworks.DwResourceGroup(\"defaultVJvKvl\", {\n paymentDurationUnit: \"Month\",\n paymentType: \"PostPaid\",\n specification: 500,\n defaultVswitchId: defaultss7s7F.id,\n remark: name,\n resourceGroupName: \"network_openapi_example01\",\n defaultVpcId: default5Bia4h.id,\n});\nconst defaulte4zhaL = new alicloud.vpc.Network(\"defaulte4zhaL\", {\n description: name,\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/12\",\n});\nconst default675v38 = new alicloud.vpc.Switch(\"default675v38\", {\n description: name,\n vpcId: defaulte4zhaL.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst _default = new alicloud.dataworks.Network(\"default\", {\n vpcId: defaulte4zhaL.id,\n vswitchId: default675v38.id,\n dwResourceGroupId: defaultVJvKvl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault5_bia4h = alicloud.vpc.Network(\"default5Bia4h\",\n description=name,\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefaultss7s7_f = alicloud.vpc.Switch(\"defaultss7s7F\",\n description=name,\n vpc_id=default5_bia4h.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result,\n cidr_block=\"10.0.0.0/24\")\ndefault_v_jv_kvl = alicloud.dataworks.DwResourceGroup(\"defaultVJvKvl\",\n payment_duration_unit=\"Month\",\n payment_type=\"PostPaid\",\n specification=500,\n default_vswitch_id=defaultss7s7_f.id,\n remark=name,\n resource_group_name=\"network_openapi_example01\",\n default_vpc_id=default5_bia4h.id)\ndefaulte4zha_l = alicloud.vpc.Network(\"defaulte4zhaL\",\n description=name,\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/12\")\ndefault675v38 = alicloud.vpc.Switch(\"default675v38\",\n description=name,\n vpc_id=defaulte4zha_l.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s4\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/24\")\ndefault = alicloud.dataworks.Network(\"default\",\n vpc_id=defaulte4zha_l.id,\n vswitch_id=default675v38.id,\n dw_resource_group_id=default_v_jv_kvl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default5Bia4h = new AliCloud.Vpc.Network(\"default5Bia4h\", new()\n {\n Description = name,\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultss7s7F = new AliCloud.Vpc.Switch(\"defaultss7s7F\", new()\n {\n Description = name,\n VpcId = default5Bia4h.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultVJvKvl = new AliCloud.DataWorks.DwResourceGroup(\"defaultVJvKvl\", new()\n {\n PaymentDurationUnit = \"Month\",\n PaymentType = \"PostPaid\",\n Specification = 500,\n DefaultVswitchId = defaultss7s7F.Id,\n Remark = name,\n ResourceGroupName = \"network_openapi_example01\",\n DefaultVpcId = default5Bia4h.Id,\n });\n\n var defaulte4zhaL = new AliCloud.Vpc.Network(\"defaulte4zhaL\", new()\n {\n Description = name,\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default675v38 = new AliCloud.Vpc.Switch(\"default675v38\", new()\n {\n Description = name,\n VpcId = defaulte4zhaL.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var @default = new AliCloud.DataWorks.Network(\"default\", new()\n {\n VpcId = defaulte4zhaL.Id,\n VswitchId = default675v38.Id,\n DwResourceGroupId = defaultVJvKvl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault5Bia4h, err := vpc.NewNetwork(ctx, \"default5Bia4h\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultss7s7F, err := vpc.NewSwitch(ctx, \"defaultss7s7F\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: default5Bia4h.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVJvKvl, err := dataworks.NewDwResourceGroup(ctx, \"defaultVJvKvl\", \u0026dataworks.DwResourceGroupArgs{\n\t\t\tPaymentDurationUnit: pulumi.String(\"Month\"),\n\t\t\tPaymentType: pulumi.String(\"PostPaid\"),\n\t\t\tSpecification: pulumi.Int(500),\n\t\t\tDefaultVswitchId: defaultss7s7F.ID(),\n\t\t\tRemark: pulumi.String(name),\n\t\t\tResourceGroupName: pulumi.String(\"network_openapi_example01\"),\n\t\t\tDefaultVpcId: default5Bia4h.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulte4zhaL, err := vpc.NewNetwork(ctx, \"defaulte4zhaL\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault675v38, err := vpc.NewSwitch(ctx, \"default675v38\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewNetwork(ctx, \"default\", \u0026dataworks.NetworkArgs{\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tVswitchId: default675v38.ID(),\n\t\t\tDwResourceGroupId: defaultVJvKvl.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.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dataworks.DwResourceGroup;\nimport com.pulumi.alicloud.dataworks.DwResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default5Bia4h = new com.pulumi.alicloud.vpc.Network(\"default5Bia4h\", com.pulumi.alicloud.vpc.NetworkArgs.builder()\n .description(name)\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultss7s7F = new Switch(\"defaultss7s7F\", SwitchArgs.builder()\n .description(name)\n .vpcId(default5Bia4h.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultVJvKvl = new DwResourceGroup(\"defaultVJvKvl\", DwResourceGroupArgs.builder()\n .paymentDurationUnit(\"Month\")\n .paymentType(\"PostPaid\")\n .specification(500)\n .defaultVswitchId(defaultss7s7F.id())\n .remark(name)\n .resourceGroupName(\"network_openapi_example01\")\n .defaultVpcId(default5Bia4h.id())\n .build());\n\n var defaulte4zhaL = new com.pulumi.alicloud.vpc.Network(\"defaulte4zhaL\", com.pulumi.alicloud.vpc.NetworkArgs.builder()\n .description(name)\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default675v38 = new Switch(\"default675v38\", SwitchArgs.builder()\n .description(name)\n .vpcId(defaulte4zhaL.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var default_ = new com.pulumi.alicloud.dataworks.Network(\"default\", com.pulumi.alicloud.dataworks.NetworkArgs.builder()\n .vpcId(defaulte4zhaL.id())\n .vswitchId(default675v38.id())\n .dwResourceGroupId(defaultVJvKvl.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default5Bia4h:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultss7s7F:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${default5Bia4h.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n cidrBlock: 10.0.0.0/24\n defaultVJvKvl:\n type: alicloud:dataworks:DwResourceGroup\n properties:\n paymentDurationUnit: Month\n paymentType: PostPaid\n specification: '500'\n defaultVswitchId: ${defaultss7s7F.id}\n remark: ${name}\n resourceGroupName: network_openapi_example01\n defaultVpcId: ${default5Bia4h.id}\n defaulte4zhaL:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/12\n default675v38:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${defaulte4zhaL.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/24\n default:\n type: alicloud:dataworks:Network\n properties:\n vpcId: ${defaulte4zhaL.id}\n vswitchId: ${default675v38.id}\n dwResourceGroupId: ${defaultVJvKvl.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/network:Network example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Works Network resource.\n\nResource Group Network.\n\nFor information about Data Works Network and how to use it, see [What is Network](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createnetwork).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default5Bia4h = new alicloud.vpc.Network(\"default5Bia4h\", {\n description: name,\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultss7s7F = new alicloud.vpc.Switch(\"defaultss7s7F\", {\n description: name,\n vpcId: default5Bia4h.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultVJvKvl = new alicloud.dataworks.DwResourceGroup(\"defaultVJvKvl\", {\n paymentDurationUnit: \"Month\",\n paymentType: \"PostPaid\",\n specification: 500,\n defaultVswitchId: defaultss7s7F.id,\n remark: name,\n resourceGroupName: \"network_openapi_example01\",\n defaultVpcId: default5Bia4h.id,\n});\nconst defaulte4zhaL = new alicloud.vpc.Network(\"defaulte4zhaL\", {\n description: name,\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/12\",\n});\nconst default675v38 = new alicloud.vpc.Switch(\"default675v38\", {\n description: name,\n vpcId: defaulte4zhaL.id,\n zoneId: \"cn-beijing-g\",\n vswitchName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst _default = new alicloud.dataworks.Network(\"default\", {\n vpcId: defaulte4zhaL.id,\n vswitchId: default675v38.id,\n dwResourceGroupId: defaultVJvKvl.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault5_bia4h = alicloud.vpc.Network(\"default5Bia4h\",\n description=name,\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefaultss7s7_f = alicloud.vpc.Switch(\"defaultss7s7F\",\n description=name,\n vpc_id=default5_bia4h.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result,\n cidr_block=\"10.0.0.0/24\")\ndefault_v_jv_kvl = alicloud.dataworks.DwResourceGroup(\"defaultVJvKvl\",\n payment_duration_unit=\"Month\",\n payment_type=\"PostPaid\",\n specification=500,\n default_vswitch_id=defaultss7s7_f.id,\n remark=name,\n resource_group_name=\"network_openapi_example01\",\n default_vpc_id=default5_bia4h.id)\ndefaulte4zha_l = alicloud.vpc.Network(\"defaulte4zhaL\",\n description=name,\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/12\")\ndefault675v38 = alicloud.vpc.Switch(\"default675v38\",\n description=name,\n vpc_id=defaulte4zha_l.id,\n zone_id=\"cn-beijing-g\",\n vswitch_name=std.format(input=\"%s4\",\n args=[name]).result,\n cidr_block=\"172.16.0.0/24\")\ndefault = alicloud.dataworks.Network(\"default\",\n vpc_id=defaulte4zha_l.id,\n vswitch_id=default675v38.id,\n dw_resource_group_id=default_v_jv_kvl.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default5Bia4h = new AliCloud.Vpc.Network(\"default5Bia4h\", new()\n {\n Description = name,\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultss7s7F = new AliCloud.Vpc.Switch(\"defaultss7s7F\", new()\n {\n Description = name,\n VpcId = default5Bia4h.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultVJvKvl = new AliCloud.DataWorks.DwResourceGroup(\"defaultVJvKvl\", new()\n {\n PaymentDurationUnit = \"Month\",\n PaymentType = \"PostPaid\",\n Specification = 500,\n DefaultVswitchId = defaultss7s7F.Id,\n Remark = name,\n ResourceGroupName = \"network_openapi_example01\",\n DefaultVpcId = default5Bia4h.Id,\n });\n\n var defaulte4zhaL = new AliCloud.Vpc.Network(\"defaulte4zhaL\", new()\n {\n Description = name,\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default675v38 = new AliCloud.Vpc.Switch(\"default675v38\", new()\n {\n Description = name,\n VpcId = defaulte4zhaL.Id,\n ZoneId = \"cn-beijing-g\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var @default = new AliCloud.DataWorks.Network(\"default\", new()\n {\n VpcId = defaulte4zhaL.Id,\n VswitchId = default675v38.Id,\n DwResourceGroupId = defaultVJvKvl.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault5Bia4h, err := vpc.NewNetwork(ctx, \"default5Bia4h\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultss7s7F, err := vpc.NewSwitch(ctx, \"defaultss7s7F\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: default5Bia4h.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVJvKvl, err := dataworks.NewDwResourceGroup(ctx, \"defaultVJvKvl\", \u0026dataworks.DwResourceGroupArgs{\n\t\t\tPaymentDurationUnit: pulumi.String(\"Month\"),\n\t\t\tPaymentType: pulumi.String(\"PostPaid\"),\n\t\t\tSpecification: pulumi.Int(500),\n\t\t\tDefaultVswitchId: defaultss7s7F.ID(),\n\t\t\tRemark: pulumi.String(name),\n\t\t\tResourceGroupName: pulumi.String(\"network_openapi_example01\"),\n\t\t\tDefaultVpcId: default5Bia4h.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulte4zhaL, err := vpc.NewNetwork(ctx, \"defaulte4zhaL\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault675v38, err := vpc.NewSwitch(ctx, \"default675v38\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat2.Result),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewNetwork(ctx, \"default\", \u0026dataworks.NetworkArgs{\n\t\t\tVpcId: defaulte4zhaL.ID(),\n\t\t\tVswitchId: default675v38.ID(),\n\t\t\tDwResourceGroupId: defaultVJvKvl.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.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dataworks.DwResourceGroup;\nimport com.pulumi.alicloud.dataworks.DwResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default5Bia4h = new com.pulumi.alicloud.vpc.Network(\"default5Bia4h\", com.pulumi.alicloud.vpc.NetworkArgs.builder()\n .description(name)\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultss7s7F = new Switch(\"defaultss7s7F\", SwitchArgs.builder()\n .description(name)\n .vpcId(default5Bia4h.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultVJvKvl = new DwResourceGroup(\"defaultVJvKvl\", DwResourceGroupArgs.builder()\n .paymentDurationUnit(\"Month\")\n .paymentType(\"PostPaid\")\n .specification(500)\n .defaultVswitchId(defaultss7s7F.id())\n .remark(name)\n .resourceGroupName(\"network_openapi_example01\")\n .defaultVpcId(default5Bia4h.id())\n .build());\n\n var defaulte4zhaL = new com.pulumi.alicloud.vpc.Network(\"defaulte4zhaL\", com.pulumi.alicloud.vpc.NetworkArgs.builder()\n .description(name)\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default675v38 = new Switch(\"default675v38\", SwitchArgs.builder()\n .description(name)\n .vpcId(defaulte4zhaL.id())\n .zoneId(\"cn-beijing-g\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var default_ = new com.pulumi.alicloud.dataworks.Network(\"default\", com.pulumi.alicloud.dataworks.NetworkArgs.builder()\n .vpcId(defaulte4zhaL.id())\n .vswitchId(default675v38.id())\n .dwResourceGroupId(defaultVJvKvl.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default5Bia4h:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultss7s7F:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${default5Bia4h.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n cidrBlock: 10.0.0.0/24\n defaultVJvKvl:\n type: alicloud:dataworks:DwResourceGroup\n properties:\n paymentDurationUnit: Month\n paymentType: PostPaid\n specification: '500'\n defaultVswitchId: ${defaultss7s7F.id}\n remark: ${name}\n resourceGroupName: network_openapi_example01\n defaultVpcId: ${default5Bia4h.id}\n defaulte4zhaL:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/12\n default675v38:\n type: alicloud:vpc:Switch\n properties:\n description: ${name}\n vpcId: ${defaulte4zhaL.id}\n zoneId: cn-beijing-g\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n cidrBlock: 172.16.0.0/24\n default:\n type: alicloud:dataworks:Network\n properties:\n vpcId: ${defaulte4zhaL.id}\n vswitchId: ${default675v38.id}\n dwResourceGroupId: ${defaultVJvKvl.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/network:Network example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -137336,7 +139965,7 @@ } }, "alicloud:dataworks/project:Project": { - "description": "Provides a Data Works Project resource.\n\n\n\nFor information about Data Works Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createproject).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultProject = new alicloud.dataworks.Project(\"default\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_project = alicloud.dataworks.Project(\"default\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultProject = new AliCloud.DataWorks.Project(\"default\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewProject(ctx, \"default\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultProject:\n type: alicloud:dataworks:Project\n name: default\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/project:Project example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Works Project resource.\n\n\n\nFor information about Data Works Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createproject).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultProject = new alicloud.dataworks.Project(\"default\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_project = alicloud.dataworks.Project(\"default\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultProject = new AliCloud.DataWorks.Project(\"default\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewProject(ctx, \"default\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultProject:\n type: alicloud:dataworks:Project\n name: default\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/project:Project example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -137482,7 +140111,7 @@ } }, "alicloud:dataworks/projectMember:ProjectMember": { - "description": "Provides a Data Works Project Member resource.\n\n\n\nFor information about Data Works Project Member and how to use it, see [What is Project Member](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createprojectmember).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst adminCode = config.get(\"adminCode\") || \"role_project_admin\";\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst defaultKCTrB2 = new alicloud.ram.User(\"defaultKCTrB2\", {\n displayName: `${name}${randint.id}`,\n name: `${name}${randint.id}`,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultQeRfvU = new alicloud.dataworks.Project(\"defaultQeRfvU\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultProjectMember = new alicloud.dataworks.ProjectMember(\"default\", {\n userId: defaultKCTrB2.id,\n projectId: defaultQeRfvU.id,\n roles: [{\n code: adminCode,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nadmin_code = config.get(\"adminCode\")\nif admin_code is None:\n admin_code = \"role_project_admin\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault_kc_tr_b2 = alicloud.ram.User(\"defaultKCTrB2\",\n display_name=f\"{name}{randint['id']}\",\n name=f\"{name}{randint['id']}\")\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_qe_rfv_u = alicloud.dataworks.Project(\"defaultQeRfvU\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\ndefault_project_member = alicloud.dataworks.ProjectMember(\"default\",\n user_id=default_kc_tr_b2.id,\n project_id=default_qe_rfv_u.id,\n roles=[{\n \"code\": admin_code,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var adminCode = config.Get(\"adminCode\") ?? \"role_project_admin\";\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var defaultKCTrB2 = new AliCloud.Ram.User(\"defaultKCTrB2\", new()\n {\n DisplayName = $\"{name}{randint.Id}\",\n Name = $\"{name}{randint.Id}\",\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultQeRfvU = new AliCloud.DataWorks.Project(\"defaultQeRfvU\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultProjectMember = new AliCloud.DataWorks.ProjectMember(\"default\", new()\n {\n UserId = defaultKCTrB2.Id,\n ProjectId = defaultQeRfvU.Id,\n Roles = new[]\n {\n new AliCloud.DataWorks.Inputs.ProjectMemberRoleArgs\n {\n Code = adminCode,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tadminCode := \"role_project_admin\"\n\t\tif param := cfg.Get(\"adminCode\"); param != \"\" {\n\t\t\tadminCode = param\n\t\t}\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKCTrB2, err := ram.NewUser(ctx, \"defaultKCTrB2\", \u0026ram.UserArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQeRfvU, err := dataworks.NewProject(ctx, \"defaultQeRfvU\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewProjectMember(ctx, \"default\", \u0026dataworks.ProjectMemberArgs{\n\t\t\tUserId: defaultKCTrB2.ID(),\n\t\t\tProjectId: defaultQeRfvU.ID(),\n\t\t\tRoles: dataworks.ProjectMemberRoleArray{\n\t\t\t\t\u0026dataworks.ProjectMemberRoleArgs{\n\t\t\t\t\tCode: pulumi.String(adminCode),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.ProjectMember;\nimport com.pulumi.alicloud.dataworks.ProjectMemberArgs;\nimport com.pulumi.alicloud.dataworks.inputs.ProjectMemberRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 adminCode = config.get(\"adminCode\").orElse(\"role_project_admin\");\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n var defaultKCTrB2 = new User(\"defaultKCTrB2\", UserArgs.builder()\n .displayName(String.format(\"%s%s\", name,randint.id()))\n .name(String.format(\"%s%s\", name,randint.id()))\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultQeRfvU = new Project(\"defaultQeRfvU\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultProjectMember = new ProjectMember(\"defaultProjectMember\", ProjectMemberArgs.builder()\n .userId(defaultKCTrB2.id())\n .projectId(defaultQeRfvU.id())\n .roles(ProjectMemberRoleArgs.builder()\n .code(adminCode)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n adminCode:\n type: string\n default: role_project_admin\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultKCTrB2:\n type: alicloud:ram:User\n properties:\n displayName: ${name}${randint.id}\n name: ${name}${randint.id}\n defaultQeRfvU:\n type: alicloud:dataworks:Project\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\n defaultProjectMember:\n type: alicloud:dataworks:ProjectMember\n name: default\n properties:\n userId: ${defaultKCTrB2.id}\n projectId: ${defaultQeRfvU.id}\n roles:\n - code: ${adminCode}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Works Project Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/projectMember:ProjectMember example \u003cproject_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Data Works Project Member resource.\n\n\n\nFor information about Data Works Project Member and how to use it, see [What is Project Member](https://www.alibabacloud.com/help/en/dataworks/developer-reference/api-dataworks-public-2024-05-18-createprojectmember).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst adminCode = config.get(\"adminCode\") || \"role_project_admin\";\nconst name = config.get(\"name\") || \"tf_example\";\nconst randint = new random.index.Integer(\"randint\", {\n max: 999,\n min: 1,\n});\nconst defaultKCTrB2 = new alicloud.ram.User(\"defaultKCTrB2\", {\n displayName: `${name}${randint.id}`,\n name: `${name}${randint.id}`,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultQeRfvU = new alicloud.dataworks.Project(\"defaultQeRfvU\", {\n status: \"Available\",\n description: \"tf_desc\",\n projectName: `${name}${randint.id}`,\n paiTaskEnabled: false,\n displayName: \"tf_new_api_display\",\n devRoleDisabled: true,\n devEnvironmentEnabled: false,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultProjectMember = new alicloud.dataworks.ProjectMember(\"default\", {\n userId: defaultKCTrB2.id,\n projectId: defaultQeRfvU.id,\n roles: [{\n code: adminCode,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nadmin_code = config.get(\"adminCode\")\nif admin_code is None:\n admin_code = \"role_project_admin\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nrandint = random.index.Integer(\"randint\",\n max=999,\n min=1)\ndefault_kc_tr_b2 = alicloud.ram.User(\"defaultKCTrB2\",\n display_name=f\"{name}{randint['id']}\",\n name=f\"{name}{randint['id']}\")\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_qe_rfv_u = alicloud.dataworks.Project(\"defaultQeRfvU\",\n status=\"Available\",\n description=\"tf_desc\",\n project_name=f\"{name}{randint['id']}\",\n pai_task_enabled=False,\n display_name=\"tf_new_api_display\",\n dev_role_disabled=True,\n dev_environment_enabled=False,\n resource_group_id=default.ids[0])\ndefault_project_member = alicloud.dataworks.ProjectMember(\"default\",\n user_id=default_kc_tr_b2.id,\n project_id=default_qe_rfv_u.id,\n roles=[{\n \"code\": admin_code,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var adminCode = config.Get(\"adminCode\") ?? \"role_project_admin\";\n var name = config.Get(\"name\") ?? \"tf_example\";\n var randint = new Random.Index.Integer(\"randint\", new()\n {\n Max = 999,\n Min = 1,\n });\n\n var defaultKCTrB2 = new AliCloud.Ram.User(\"defaultKCTrB2\", new()\n {\n DisplayName = $\"{name}{randint.Id}\",\n Name = $\"{name}{randint.Id}\",\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultQeRfvU = new AliCloud.DataWorks.Project(\"defaultQeRfvU\", new()\n {\n Status = \"Available\",\n Description = \"tf_desc\",\n ProjectName = $\"{name}{randint.Id}\",\n PaiTaskEnabled = false,\n DisplayName = \"tf_new_api_display\",\n DevRoleDisabled = true,\n DevEnvironmentEnabled = false,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultProjectMember = new AliCloud.DataWorks.ProjectMember(\"default\", new()\n {\n UserId = defaultKCTrB2.Id,\n ProjectId = defaultQeRfvU.Id,\n Roles = new[]\n {\n new AliCloud.DataWorks.Inputs.ProjectMemberRoleArgs\n {\n Code = adminCode,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dataworks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tadminCode := \"role_project_admin\"\n\t\tif param := cfg.Get(\"adminCode\"); param != \"\" {\n\t\t\tadminCode = param\n\t\t}\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trandint, err := random.NewInteger(ctx, \"randint\", \u0026random.IntegerArgs{\n\t\t\tMax: 999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKCTrB2, err := ram.NewUser(ctx, \"defaultKCTrB2\", \u0026ram.UserArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQeRfvU, err := dataworks.NewProject(ctx, \"defaultQeRfvU\", \u0026dataworks.ProjectArgs{\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t\tDescription: pulumi.String(\"tf_desc\"),\n\t\t\tProjectName: pulumi.Sprintf(\"%v%v\", name, randint.Id),\n\t\t\tPaiTaskEnabled: pulumi.Bool(false),\n\t\t\tDisplayName: pulumi.String(\"tf_new_api_display\"),\n\t\t\tDevRoleDisabled: pulumi.Bool(true),\n\t\t\tDevEnvironmentEnabled: pulumi.Bool(false),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataworks.NewProjectMember(ctx, \"default\", \u0026dataworks.ProjectMemberArgs{\n\t\t\tUserId: defaultKCTrB2.ID(),\n\t\t\tProjectId: defaultQeRfvU.ID(),\n\t\t\tRoles: dataworks.ProjectMemberRoleArray{\n\t\t\t\t\u0026dataworks.ProjectMemberRoleArgs{\n\t\t\t\t\tCode: pulumi.String(adminCode),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dataworks.Project;\nimport com.pulumi.alicloud.dataworks.ProjectArgs;\nimport com.pulumi.alicloud.dataworks.ProjectMember;\nimport com.pulumi.alicloud.dataworks.ProjectMemberArgs;\nimport com.pulumi.alicloud.dataworks.inputs.ProjectMemberRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 adminCode = config.get(\"adminCode\").orElse(\"role_project_admin\");\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var randint = new Integer(\"randint\", IntegerArgs.builder()\n .max(999)\n .min(1)\n .build());\n\n var defaultKCTrB2 = new User(\"defaultKCTrB2\", UserArgs.builder()\n .displayName(String.format(\"%s%s\", name,randint.id()))\n .name(String.format(\"%s%s\", name,randint.id()))\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultQeRfvU = new Project(\"defaultQeRfvU\", ProjectArgs.builder()\n .status(\"Available\")\n .description(\"tf_desc\")\n .projectName(String.format(\"%s%s\", name,randint.id()))\n .paiTaskEnabled(false)\n .displayName(\"tf_new_api_display\")\n .devRoleDisabled(true)\n .devEnvironmentEnabled(false)\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultProjectMember = new ProjectMember(\"defaultProjectMember\", ProjectMemberArgs.builder()\n .userId(defaultKCTrB2.id())\n .projectId(defaultQeRfvU.id())\n .roles(ProjectMemberRoleArgs.builder()\n .code(adminCode)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n adminCode:\n type: string\n default: role_project_admin\n name:\n type: string\n default: tf_example\nresources:\n randint:\n type: random:Integer\n properties:\n max: 999\n min: 1\n defaultKCTrB2:\n type: alicloud:ram:User\n properties:\n displayName: ${name}${randint.id}\n name: ${name}${randint.id}\n defaultQeRfvU:\n type: alicloud:dataworks:Project\n properties:\n status: Available\n description: tf_desc\n projectName: ${name}${randint.id}\n paiTaskEnabled: 'false'\n displayName: tf_new_api_display\n devRoleDisabled: 'true'\n devEnvironmentEnabled: 'false'\n resourceGroupId: ${default.ids[0]}\n defaultProjectMember:\n type: alicloud:dataworks:ProjectMember\n name: default\n properties:\n userId: ${defaultKCTrB2.id}\n projectId: ${defaultQeRfvU.id}\n roles:\n - code: ${adminCode}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Works Project Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dataworks/projectMember:ProjectMember example \u003cproject_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "projectId": { "type": "integer", @@ -137561,7 +140190,7 @@ } }, "alicloud:dbs/backupPlan:BackupPlan": { - "description": "Provides a DBS Backup Plan resource.\n\nFor information about DBS Backup Plan and how to use it, see [What is Backup Plan](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dbs-2019-03-06-createandstartbackupplan).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[1]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[1]?.id,\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst zoneId = defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[1]);\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: vswitchId,\n instanceName: name,\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n name: \"tfdatabase\",\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfnormal000\",\n accountPassword: \"Test12345\",\n});\nconst defaultAccountPrivilege = new alicloud.rds.AccountPrivilege(\"default\", {\n instanceId: defaultInstance.id,\n accountName: defaultRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [defaultDatabase.name],\n});\nconst defaultBackupPlan = new alicloud.dbs.BackupPlan(\"default\", {\n backupPlanName: name,\n paymentType: \"PayAsYouGo\",\n instanceClass: \"xlarge\",\n backupMethod: \"logical\",\n databaseType: \"MySQL\",\n databaseRegion: \"cn-hangzhou\",\n storageRegion: \"cn-hangzhou\",\n instanceType: \"RDS\",\n sourceEndpointInstanceType: \"RDS\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n sourceEndpointRegion: \"cn-hangzhou\",\n sourceEndpointInstanceId: defaultInstance.id,\n sourceEndpointUserName: defaultAccountPrivilege.accountName,\n sourceEndpointPassword: defaultRdsAccount.accountPassword,\n backupObjects: pulumi.interpolate`[{\"DBName\":\"${defaultDatabase.name}\"}]`,\n backupPeriod: \"Monday\",\n backupStartTime: \"14:22\",\n backupStorageType: \"system\",\n backupRetentionPeriod: 740,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[1].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[1].id)\nvswitch_id = default_get_switches.ids[0]\nzone_id = default_get_zones.ids[1]\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=vswitch_id,\n instance_name=name)\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n name=\"tfdatabase\")\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfnormal000\",\n account_password=\"Test12345\")\ndefault_account_privilege = alicloud.rds.AccountPrivilege(\"default\",\n instance_id=default_instance.id,\n account_name=default_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[default_database.name])\ndefault_backup_plan = alicloud.dbs.BackupPlan(\"default\",\n backup_plan_name=name,\n payment_type=\"PayAsYouGo\",\n instance_class=\"xlarge\",\n backup_method=\"logical\",\n database_type=\"MySQL\",\n database_region=\"cn-hangzhou\",\n storage_region=\"cn-hangzhou\",\n instance_type=\"RDS\",\n source_endpoint_instance_type=\"RDS\",\n resource_group_id=default.ids[0],\n source_endpoint_region=\"cn-hangzhou\",\n source_endpoint_instance_id=default_instance.id,\n source_endpoint_user_name=default_account_privilege.account_name,\n source_endpoint_password=default_rds_account.account_password,\n backup_objects=default_database.name.apply(lambda name: f\"[{{\\\"DBName\\\":\\\"{name}\\\"}}]\"),\n backup_period=\"Monday\",\n backup_start_time=\"14:22\",\n backup_storage_type=\"system\",\n backup_retention_period=740)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var zoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[1]);\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = vswitchId,\n InstanceName = name,\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Name = \"tfdatabase\",\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfnormal000\",\n AccountPassword = \"Test12345\",\n });\n\n var defaultAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AccountName = defaultRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n defaultDatabase.Name,\n },\n });\n\n var defaultBackupPlan = new AliCloud.DBS.BackupPlan(\"default\", new()\n {\n BackupPlanName = name,\n PaymentType = \"PayAsYouGo\",\n InstanceClass = \"xlarge\",\n BackupMethod = \"logical\",\n DatabaseType = \"MySQL\",\n DatabaseRegion = \"cn-hangzhou\",\n StorageRegion = \"cn-hangzhou\",\n InstanceType = \"RDS\",\n SourceEndpointInstanceType = \"RDS\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n SourceEndpointRegion = \"cn-hangzhou\",\n SourceEndpointInstanceId = defaultInstance.Id,\n SourceEndpointUserName = defaultAccountPrivilege.AccountName,\n SourceEndpointPassword = defaultRdsAccount.AccountPassword,\n BackupObjects = defaultDatabase.Name.Apply(name =\u003e $\"[{{\\\"DBName\\\":\\\"{name}\\\"}}]\"),\n BackupPeriod = \"Monday\",\n BackupStartTime = \"14:22\",\n BackupStorageType = \"system\",\n BackupRetentionPeriod = 740,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dbs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\t_ := defaultGetZones.Ids[1]\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tName: pulumi.String(\"tfdatabase\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsAccount, err := rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfnormal000\"),\n\t\t\tAccountPassword: pulumi.String(\"Test12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccountPrivilege, err := rds.NewAccountPrivilege(ctx, \"default\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: defaultRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.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 = dbs.NewBackupPlan(ctx, \"default\", \u0026dbs.BackupPlanArgs{\n\t\t\tBackupPlanName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceClass: pulumi.String(\"xlarge\"),\n\t\t\tBackupMethod: pulumi.String(\"logical\"),\n\t\t\tDatabaseType: pulumi.String(\"MySQL\"),\n\t\t\tDatabaseRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tStorageRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tSourceEndpointRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tSourceEndpointInstanceId: defaultInstance.ID(),\n\t\t\tSourceEndpointUserName: defaultAccountPrivilege.AccountName,\n\t\t\tSourceEndpointPassword: defaultRdsAccount.AccountPassword,\n\t\t\tBackupObjects: defaultDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"[{\\\"DBName\\\":\\\"%v\\\"}]\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tBackupPeriod: pulumi.String(\"Monday\"),\n\t\t\tBackupStartTime: pulumi.String(\"14:22\"),\n\t\t\tBackupStorageType: pulumi.String(\"system\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(740),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dbs.BackupPlan;\nimport com.pulumi.alicloud.dbs.BackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[1].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n final var zoneId = defaultGetZones.ids()[1];\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(vswitchId)\n .instanceName(name)\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .name(\"tfdatabase\")\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfnormal000\")\n .accountPassword(\"Test12345\")\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(defaultInstance.id())\n .accountName(defaultRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(defaultDatabase.name())\n .build());\n\n var defaultBackupPlan = new BackupPlan(\"defaultBackupPlan\", BackupPlanArgs.builder()\n .backupPlanName(name)\n .paymentType(\"PayAsYouGo\")\n .instanceClass(\"xlarge\")\n .backupMethod(\"logical\")\n .databaseType(\"MySQL\")\n .databaseRegion(\"cn-hangzhou\")\n .storageRegion(\"cn-hangzhou\")\n .instanceType(\"RDS\")\n .sourceEndpointInstanceType(\"RDS\")\n .resourceGroupId(default_.ids()[0])\n .sourceEndpointRegion(\"cn-hangzhou\")\n .sourceEndpointInstanceId(defaultInstance.id())\n .sourceEndpointUserName(defaultAccountPrivilege.accountName())\n .sourceEndpointPassword(defaultRdsAccount.accountPassword())\n .backupObjects(defaultDatabase.name().applyValue(_name -\u003e String.format(\"[{{\\\"DBName\\\":\\\"%s\\\"}}]\", _name)))\n .backupPeriod(\"Monday\")\n .backupStartTime(\"14:22\")\n .backupStorageType(\"system\")\n .backupRetentionPeriod(740)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${vswitchId}\n instanceName: ${name}\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n name: tfdatabase\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfnormal000\n accountPassword: Test12345\n defaultAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n accountName: ${defaultRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${defaultDatabase.name}\n defaultBackupPlan:\n type: alicloud:dbs:BackupPlan\n name: default\n properties:\n backupPlanName: ${name}\n paymentType: PayAsYouGo\n instanceClass: xlarge\n backupMethod: logical\n databaseType: MySQL\n databaseRegion: cn-hangzhou\n storageRegion: cn-hangzhou\n instanceType: RDS\n sourceEndpointInstanceType: RDS\n resourceGroupId: ${default.ids[0]}\n sourceEndpointRegion: cn-hangzhou\n sourceEndpointInstanceId: ${defaultInstance.id}\n sourceEndpointUserName: ${defaultAccountPrivilege.accountName}\n sourceEndpointPassword: ${defaultRdsAccount.accountPassword}\n backupObjects: '[{\"DBName\":\"${defaultDatabase.name}\"}]'\n backupPeriod: Monday\n backupStartTime: 14:22\n backupStorageType: system\n backupRetentionPeriod: 740\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[1].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.zones[1].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneId: ${defaultGetZones.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDBS Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dbs/backupPlan:BackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a DBS Backup Plan resource.\n\nFor information about DBS Backup Plan and how to use it, see [What is Backup Plan](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dbs-2019-03-06-createandstartbackupplan).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[1]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[1]?.id,\n}));\nconst vswitchId = defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]);\nconst zoneId = defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[1]);\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: vswitchId,\n instanceName: name,\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n name: \"tfdatabase\",\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfnormal000\",\n accountPassword: \"Test12345\",\n});\nconst defaultAccountPrivilege = new alicloud.rds.AccountPrivilege(\"default\", {\n instanceId: defaultInstance.id,\n accountName: defaultRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [defaultDatabase.name],\n});\nconst defaultBackupPlan = new alicloud.dbs.BackupPlan(\"default\", {\n backupPlanName: name,\n paymentType: \"PayAsYouGo\",\n instanceClass: \"xlarge\",\n backupMethod: \"logical\",\n databaseType: \"MySQL\",\n databaseRegion: \"cn-hangzhou\",\n storageRegion: \"cn-hangzhou\",\n instanceType: \"RDS\",\n sourceEndpointInstanceType: \"RDS\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n sourceEndpointRegion: \"cn-hangzhou\",\n sourceEndpointInstanceId: defaultInstance.id,\n sourceEndpointUserName: defaultAccountPrivilege.accountName,\n sourceEndpointPassword: defaultRdsAccount.accountPassword,\n backupObjects: pulumi.interpolate`[{\"DBName\":\"${defaultDatabase.name}\"}]`,\n backupPeriod: \"Monday\",\n backupStartTime: \"14:22\",\n backupStorageType: \"system\",\n backupRetentionPeriod: 740,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[1].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[1].id)\nvswitch_id = default_get_switches.ids[0]\nzone_id = default_get_zones.ids[1]\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=vswitch_id,\n instance_name=name)\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n name=\"tfdatabase\")\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfnormal000\",\n account_password=\"Test12345\")\ndefault_account_privilege = alicloud.rds.AccountPrivilege(\"default\",\n instance_id=default_instance.id,\n account_name=default_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[default_database.name])\ndefault_backup_plan = alicloud.dbs.BackupPlan(\"default\",\n backup_plan_name=name,\n payment_type=\"PayAsYouGo\",\n instance_class=\"xlarge\",\n backup_method=\"logical\",\n database_type=\"MySQL\",\n database_region=\"cn-hangzhou\",\n storage_region=\"cn-hangzhou\",\n instance_type=\"RDS\",\n source_endpoint_instance_type=\"RDS\",\n resource_group_id=default.ids[0],\n source_endpoint_region=\"cn-hangzhou\",\n source_endpoint_instance_id=default_instance.id,\n source_endpoint_user_name=default_account_privilege.account_name,\n source_endpoint_password=default_rds_account.account_password,\n backup_objects=default_database.name.apply(lambda name: f\"[{{\\\"DBName\\\":\\\"{name}\\\"}}]\"),\n backup_period=\"Monday\",\n backup_start_time=\"14:22\",\n backup_storage_type=\"system\",\n backup_retention_period=740)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var vswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]);\n\n var zoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[1]);\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = vswitchId,\n InstanceName = name,\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Name = \"tfdatabase\",\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfnormal000\",\n AccountPassword = \"Test12345\",\n });\n\n var defaultAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AccountName = defaultRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n defaultDatabase.Name,\n },\n });\n\n var defaultBackupPlan = new AliCloud.DBS.BackupPlan(\"default\", new()\n {\n BackupPlanName = name,\n PaymentType = \"PayAsYouGo\",\n InstanceClass = \"xlarge\",\n BackupMethod = \"logical\",\n DatabaseType = \"MySQL\",\n DatabaseRegion = \"cn-hangzhou\",\n StorageRegion = \"cn-hangzhou\",\n InstanceType = \"RDS\",\n SourceEndpointInstanceType = \"RDS\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n SourceEndpointRegion = \"cn-hangzhou\",\n SourceEndpointInstanceId = defaultInstance.Id,\n SourceEndpointUserName = defaultAccountPrivilege.AccountName,\n SourceEndpointPassword = defaultRdsAccount.AccountPassword,\n BackupObjects = defaultDatabase.Name.Apply(name =\u003e $\"[{{\\\"DBName\\\":\\\"{name}\\\"}}]\"),\n BackupPeriod = \"Monday\",\n BackupStartTime = \"14:22\",\n BackupStorageType = \"system\",\n BackupRetentionPeriod = 740,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dbs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitchId := defaultGetSwitches.Ids[0]\n\t\t_ := defaultGetZones.Ids[1]\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: pulumi.String(vswitchId),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tName: pulumi.String(\"tfdatabase\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsAccount, err := rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfnormal000\"),\n\t\t\tAccountPassword: pulumi.String(\"Test12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccountPrivilege, err := rds.NewAccountPrivilege(ctx, \"default\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: defaultRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.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 = dbs.NewBackupPlan(ctx, \"default\", \u0026dbs.BackupPlanArgs{\n\t\t\tBackupPlanName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceClass: pulumi.String(\"xlarge\"),\n\t\t\tBackupMethod: pulumi.String(\"logical\"),\n\t\t\tDatabaseType: pulumi.String(\"MySQL\"),\n\t\t\tDatabaseRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tStorageRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tSourceEndpointRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\tSourceEndpointInstanceId: defaultInstance.ID(),\n\t\t\tSourceEndpointUserName: defaultAccountPrivilege.AccountName,\n\t\t\tSourceEndpointPassword: defaultRdsAccount.AccountPassword,\n\t\t\tBackupObjects: defaultDatabase.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"[{\\\"DBName\\\":\\\"%v\\\"}]\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tBackupPeriod: pulumi.String(\"Monday\"),\n\t\t\tBackupStartTime: pulumi.String(\"14:22\"),\n\t\t\tBackupStorageType: pulumi.String(\"system\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(740),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dbs.BackupPlan;\nimport com.pulumi.alicloud.dbs.BackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[1].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n final var vswitchId = defaultGetSwitches.ids()[0];\n\n final var zoneId = defaultGetZones.ids()[1];\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(vswitchId)\n .instanceName(name)\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .name(\"tfdatabase\")\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfnormal000\")\n .accountPassword(\"Test12345\")\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(defaultInstance.id())\n .accountName(defaultRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(defaultDatabase.name())\n .build());\n\n var defaultBackupPlan = new BackupPlan(\"defaultBackupPlan\", BackupPlanArgs.builder()\n .backupPlanName(name)\n .paymentType(\"PayAsYouGo\")\n .instanceClass(\"xlarge\")\n .backupMethod(\"logical\")\n .databaseType(\"MySQL\")\n .databaseRegion(\"cn-hangzhou\")\n .storageRegion(\"cn-hangzhou\")\n .instanceType(\"RDS\")\n .sourceEndpointInstanceType(\"RDS\")\n .resourceGroupId(default_.ids()[0])\n .sourceEndpointRegion(\"cn-hangzhou\")\n .sourceEndpointInstanceId(defaultInstance.id())\n .sourceEndpointUserName(defaultAccountPrivilege.accountName())\n .sourceEndpointPassword(defaultRdsAccount.accountPassword())\n .backupObjects(defaultDatabase.name().applyValue(_name -\u003e String.format(\"[{{\\\"DBName\\\":\\\"%s\\\"}}]\", _name)))\n .backupPeriod(\"Monday\")\n .backupStartTime(\"14:22\")\n .backupStorageType(\"system\")\n .backupRetentionPeriod(740)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${vswitchId}\n instanceName: ${name}\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n name: tfdatabase\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfnormal000\n accountPassword: Test12345\n defaultAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n accountName: ${defaultRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${defaultDatabase.name}\n defaultBackupPlan:\n type: alicloud:dbs:BackupPlan\n name: default\n properties:\n backupPlanName: ${name}\n paymentType: PayAsYouGo\n instanceClass: xlarge\n backupMethod: logical\n databaseType: MySQL\n databaseRegion: cn-hangzhou\n storageRegion: cn-hangzhou\n instanceType: RDS\n sourceEndpointInstanceType: RDS\n resourceGroupId: ${default.ids[0]}\n sourceEndpointRegion: cn-hangzhou\n sourceEndpointInstanceId: ${defaultInstance.id}\n sourceEndpointUserName: ${defaultAccountPrivilege.accountName}\n sourceEndpointPassword: ${defaultRdsAccount.accountPassword}\n backupObjects: '[{\"DBName\":\"${defaultDatabase.name}\"}]'\n backupPeriod: Monday\n backupStartTime: 14:22\n backupStorageType: system\n backupRetentionPeriod: 740\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[1].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.zones[1].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n zoneId: ${defaultGetZones.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDBS Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dbs/backupPlan:BackupPlan example \u003cid\u003e\n```\n\n", "properties": { "backupGatewayId": { "type": "string", @@ -138115,7 +140744,7 @@ } }, "alicloud:dcdn/domain:Domain": { - "description": "Provides a DCDN Domain resource.\n\nFull station accelerated domain name.\n\nFor information about DCDN Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/doc-detail/130628.htm).\n\n\u003e **NOTE:** Available since v1.94.0.\n\n\u003e **NOTE:** Field \u003cspan pulumi-lang-nodejs=\"`forceSet`\" pulumi-lang-dotnet=\"`ForceSet`\" pulumi-lang-go=\"`forceSet`\" pulumi-lang-python=\"`force_set`\" pulumi-lang-yaml=\"`forceSet`\" pulumi-lang-java=\"`forceSet`\"\u003e`force_set`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`securityToken`\" pulumi-lang-dotnet=\"`SecurityToken`\" pulumi-lang-go=\"`securityToken`\" pulumi-lang-python=\"`security_token`\" pulumi-lang-yaml=\"`securityToken`\" pulumi-lang-java=\"`securityToken`\"\u003e`security_token`\u003c/span\u003e has been removed from provider version 1.227.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/domain:Domain example \u003cid\u003e\n```\n\n", + "description": "Provides a DCDN Domain resource.\n\nFull station accelerated domain name.\n\nFor information about DCDN Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/doc-detail/130628.htm).\n\n\u003e **NOTE:** Available since v1.94.0.\n\n\u003e **NOTE:** Field \u003cspan pulumi-lang-nodejs=\"`forceSet`\" pulumi-lang-dotnet=\"`ForceSet`\" pulumi-lang-go=\"`forceSet`\" pulumi-lang-python=\"`force_set`\" pulumi-lang-yaml=\"`forceSet`\" pulumi-lang-java=\"`forceSet`\"\u003e`force_set`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`securityToken`\" pulumi-lang-dotnet=\"`SecurityToken`\" pulumi-lang-go=\"`securityToken`\" pulumi-lang-python=\"`security_token`\" pulumi-lang-yaml=\"`securityToken`\" pulumi-lang-java=\"`securityToken`\"\u003e`security_token`\u003c/span\u003e has been removed from provider version 1.227.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/domain:Domain example \u003cid\u003e\n```\n\n", "properties": { "certId": { "type": "string", @@ -138402,7 +141031,7 @@ } }, "alicloud:dcdn/domainConfig:DomainConfig": { - "description": "Provides a DCDN Accelerated Domain resource.\n\nFor information about domain config and how to use it, see [Batch set config](https://www.alibabacloud.com/help/en/doc-detail/130632.htm).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"alibaba-example.com\";\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: domainName,\n scope: \"overseas\",\n status: \"online\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: \"20\",\n port: 80,\n weight: \"10\",\n }],\n});\nconst ipAllowListSet = new alicloud.dcdn.DomainConfig(\"ip_allow_list_set\", {\n domainName: example.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"192.168.0.1\",\n }],\n});\nconst refererWhiteListSet = new alicloud.dcdn.DomainConfig(\"referer_white_list_set\", {\n domainName: example.domainName,\n functionName: \"referer_white_list_set\",\n functionArgs: [{\n argName: \"refer_domain_allow_list\",\n argValue: \"110.110.110.110\",\n }],\n});\nconst filetypeBasedTtlSet = new alicloud.dcdn.DomainConfig(\"filetype_based_ttl_set\", {\n domainName: example.domainName,\n functionName: \"filetype_based_ttl_set\",\n functionArgs: [\n {\n argName: \"ttl\",\n argValue: \"300\",\n },\n {\n argName: \"file_type\",\n argValue: \"jpg\",\n },\n {\n argName: \"weight\",\n argValue: \"1\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alibaba-example.com\"\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=domain_name,\n scope=\"overseas\",\n status=\"online\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": \"20\",\n \"port\": 80,\n \"weight\": \"10\",\n }])\nip_allow_list_set = alicloud.dcdn.DomainConfig(\"ip_allow_list_set\",\n domain_name=example.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"192.168.0.1\",\n }])\nreferer_white_list_set = alicloud.dcdn.DomainConfig(\"referer_white_list_set\",\n domain_name=example.domain_name,\n function_name=\"referer_white_list_set\",\n function_args=[{\n \"arg_name\": \"refer_domain_allow_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\nfiletype_based_ttl_set = alicloud.dcdn.DomainConfig(\"filetype_based_ttl_set\",\n domain_name=example.domain_name,\n function_name=\"filetype_based_ttl_set\",\n function_args=[\n {\n \"arg_name\": \"ttl\",\n \"arg_value\": \"300\",\n },\n {\n \"arg_name\": \"file_type\",\n \"arg_value\": \"jpg\",\n },\n {\n \"arg_name\": \"weight\",\n \"arg_value\": \"1\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"alibaba-example.com\";\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = domainName,\n Scope = \"overseas\",\n Status = \"online\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = \"20\",\n Port = 80,\n Weight = \"10\",\n },\n },\n });\n\n var ipAllowListSet = new AliCloud.Dcdn.DomainConfig(\"ip_allow_list_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"192.168.0.1\",\n },\n },\n });\n\n var refererWhiteListSet = new AliCloud.Dcdn.DomainConfig(\"referer_white_list_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"referer_white_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"refer_domain_allow_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n var filetypeBasedTtlSet = new AliCloud.Dcdn.DomainConfig(\"filetype_based_ttl_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"filetype_based_ttl_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ttl\",\n ArgValue = \"300\",\n },\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"file_type\",\n ArgValue = \"jpg\",\n },\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"weight\",\n ArgValue = \"1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"alibaba-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(domainName),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tStatus: pulumi.String(\"online\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.String(\"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\t_, err = dcdn.NewDomainConfig(ctx, \"ip_allow_list_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"192.168.0.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\t_, err = dcdn.NewDomainConfig(ctx, \"referer_white_list_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"referer_white_list_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"refer_domain_allow_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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 = dcdn.NewDomainConfig(ctx, \"filetype_based_ttl_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"filetype_based_ttl_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ttl\"),\n\t\t\t\t\tArgValue: pulumi.String(\"300\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"file_type\"),\n\t\t\t\t\tArgValue: pulumi.String(\"jpg\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"weight\"),\n\t\t\t\t\tArgValue: pulumi.String(\"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.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.DomainConfig;\nimport com.pulumi.alicloud.dcdn.DomainConfigArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"alibaba-example.com\");\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domainName)\n .scope(\"overseas\")\n .status(\"online\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(\"20\")\n .port(80)\n .weight(\"10\")\n .build())\n .build());\n\n var ipAllowListSet = new DomainConfig(\"ipAllowListSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"192.168.0.1\")\n .build())\n .build());\n\n var refererWhiteListSet = new DomainConfig(\"refererWhiteListSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"referer_white_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"refer_domain_allow_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n var filetypeBasedTtlSet = new DomainConfig(\"filetypeBasedTtlSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"filetype_based_ttl_set\")\n .functionArgs( \n DomainConfigFunctionArgArgs.builder()\n .argName(\"ttl\")\n .argValue(\"300\")\n .build(),\n DomainConfigFunctionArgArgs.builder()\n .argName(\"file_type\")\n .argValue(\"jpg\")\n .build(),\n DomainConfigFunctionArgArgs.builder()\n .argName(\"weight\")\n .argValue(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: alibaba-example.com\nresources:\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}\n scope: overseas\n status: online\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: 20\n port: 80\n weight: 10\n ipAllowListSet:\n type: alicloud:dcdn:DomainConfig\n name: ip_allow_list_set\n properties:\n domainName: ${example.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 192.168.0.1\n refererWhiteListSet:\n type: alicloud:dcdn:DomainConfig\n name: referer_white_list_set\n properties:\n domainName: ${example.domainName}\n functionName: referer_white_list_set\n functionArgs:\n - argName: refer_domain_allow_list\n argValue: 110.110.110.110\n filetypeBasedTtlSet:\n type: alicloud:dcdn:DomainConfig\n name: filetype_based_ttl_set\n properties:\n domainName: ${example.domainName}\n functionName: filetype_based_ttl_set\n functionArgs:\n - argName: ttl\n argValue: '300'\n - argName: file_type\n argValue: jpg\n - argName: weight\n argValue: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a DCDN Accelerated Domain resource.\n\nFor information about domain config and how to use it, see [Batch set config](https://www.alibabacloud.com/help/en/doc-detail/130632.htm).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"alibaba-example.com\";\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: domainName,\n scope: \"overseas\",\n status: \"online\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: \"20\",\n port: 80,\n weight: \"10\",\n }],\n});\nconst ipAllowListSet = new alicloud.dcdn.DomainConfig(\"ip_allow_list_set\", {\n domainName: example.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"192.168.0.1\",\n }],\n});\nconst refererWhiteListSet = new alicloud.dcdn.DomainConfig(\"referer_white_list_set\", {\n domainName: example.domainName,\n functionName: \"referer_white_list_set\",\n functionArgs: [{\n argName: \"refer_domain_allow_list\",\n argValue: \"110.110.110.110\",\n }],\n});\nconst filetypeBasedTtlSet = new alicloud.dcdn.DomainConfig(\"filetype_based_ttl_set\", {\n domainName: example.domainName,\n functionName: \"filetype_based_ttl_set\",\n functionArgs: [\n {\n argName: \"ttl\",\n argValue: \"300\",\n },\n {\n argName: \"file_type\",\n argValue: \"jpg\",\n },\n {\n argName: \"weight\",\n argValue: \"1\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alibaba-example.com\"\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=domain_name,\n scope=\"overseas\",\n status=\"online\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": \"20\",\n \"port\": 80,\n \"weight\": \"10\",\n }])\nip_allow_list_set = alicloud.dcdn.DomainConfig(\"ip_allow_list_set\",\n domain_name=example.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"192.168.0.1\",\n }])\nreferer_white_list_set = alicloud.dcdn.DomainConfig(\"referer_white_list_set\",\n domain_name=example.domain_name,\n function_name=\"referer_white_list_set\",\n function_args=[{\n \"arg_name\": \"refer_domain_allow_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\nfiletype_based_ttl_set = alicloud.dcdn.DomainConfig(\"filetype_based_ttl_set\",\n domain_name=example.domain_name,\n function_name=\"filetype_based_ttl_set\",\n function_args=[\n {\n \"arg_name\": \"ttl\",\n \"arg_value\": \"300\",\n },\n {\n \"arg_name\": \"file_type\",\n \"arg_value\": \"jpg\",\n },\n {\n \"arg_name\": \"weight\",\n \"arg_value\": \"1\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"alibaba-example.com\";\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = domainName,\n Scope = \"overseas\",\n Status = \"online\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = \"20\",\n Port = 80,\n Weight = \"10\",\n },\n },\n });\n\n var ipAllowListSet = new AliCloud.Dcdn.DomainConfig(\"ip_allow_list_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"192.168.0.1\",\n },\n },\n });\n\n var refererWhiteListSet = new AliCloud.Dcdn.DomainConfig(\"referer_white_list_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"referer_white_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"refer_domain_allow_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n var filetypeBasedTtlSet = new AliCloud.Dcdn.DomainConfig(\"filetype_based_ttl_set\", new()\n {\n DomainName = example.DomainName,\n FunctionName = \"filetype_based_ttl_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ttl\",\n ArgValue = \"300\",\n },\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"file_type\",\n ArgValue = \"jpg\",\n },\n new AliCloud.Dcdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"weight\",\n ArgValue = \"1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"alibaba-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(domainName),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tStatus: pulumi.String(\"online\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.String(\"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\t_, err = dcdn.NewDomainConfig(ctx, \"ip_allow_list_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"192.168.0.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\t_, err = dcdn.NewDomainConfig(ctx, \"referer_white_list_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"referer_white_list_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"refer_domain_allow_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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 = dcdn.NewDomainConfig(ctx, \"filetype_based_ttl_set\", \u0026dcdn.DomainConfigArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tFunctionName: pulumi.String(\"filetype_based_ttl_set\"),\n\t\t\tFunctionArgs: dcdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ttl\"),\n\t\t\t\t\tArgValue: pulumi.String(\"300\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"file_type\"),\n\t\t\t\t\tArgValue: pulumi.String(\"jpg\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"weight\"),\n\t\t\t\t\tArgValue: pulumi.String(\"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.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.DomainConfig;\nimport com.pulumi.alicloud.dcdn.DomainConfigArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"alibaba-example.com\");\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domainName)\n .scope(\"overseas\")\n .status(\"online\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(\"20\")\n .port(80)\n .weight(\"10\")\n .build())\n .build());\n\n var ipAllowListSet = new DomainConfig(\"ipAllowListSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"192.168.0.1\")\n .build())\n .build());\n\n var refererWhiteListSet = new DomainConfig(\"refererWhiteListSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"referer_white_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"refer_domain_allow_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n var filetypeBasedTtlSet = new DomainConfig(\"filetypeBasedTtlSet\", DomainConfigArgs.builder()\n .domainName(example.domainName())\n .functionName(\"filetype_based_ttl_set\")\n .functionArgs( \n DomainConfigFunctionArgArgs.builder()\n .argName(\"ttl\")\n .argValue(\"300\")\n .build(),\n DomainConfigFunctionArgArgs.builder()\n .argName(\"file_type\")\n .argValue(\"jpg\")\n .build(),\n DomainConfigFunctionArgArgs.builder()\n .argName(\"weight\")\n .argValue(\"1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: alibaba-example.com\nresources:\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}\n scope: overseas\n status: online\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: 20\n port: 80\n weight: 10\n ipAllowListSet:\n type: alicloud:dcdn:DomainConfig\n name: ip_allow_list_set\n properties:\n domainName: ${example.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 192.168.0.1\n refererWhiteListSet:\n type: alicloud:dcdn:DomainConfig\n name: referer_white_list_set\n properties:\n domainName: ${example.domainName}\n functionName: referer_white_list_set\n functionArgs:\n - argName: refer_domain_allow_list\n argValue: 110.110.110.110\n filetypeBasedTtlSet:\n type: alicloud:dcdn:DomainConfig\n name: filetype_based_ttl_set\n properties:\n domainName: ${example.domainName}\n functionName: filetype_based_ttl_set\n functionArgs:\n - argName: ttl\n argValue: '300'\n - argName: file_type\n argValue: jpg\n - argName: weight\n argValue: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "string", @@ -138505,7 +141134,7 @@ } }, "alicloud:dcdn/er:Er": { - "description": "Provides a DCDN Er resource.\n\nFor information about DCDN Er and how to use it, see [What is Er](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-createroutine).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.dcdn.Er(\"default\", {\n erName: name,\n description: name,\n envConf: {\n staging: {\n specName: \"5ms\",\n allowedHosts: [\"example.com\"],\n },\n production: {\n specName: \"5ms\",\n allowedHosts: [\"example.com\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.dcdn.Er(\"default\",\n er_name=name,\n description=name,\n env_conf={\n \"staging\": {\n \"spec_name\": \"5ms\",\n \"allowed_hosts\": [\"example.com\"],\n },\n \"production\": {\n \"spec_name\": \"5ms\",\n \"allowed_hosts\": [\"example.com\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Dcdn.Er(\"default\", new()\n {\n ErName = name,\n Description = name,\n EnvConf = new AliCloud.Dcdn.Inputs.ErEnvConfArgs\n {\n Staging = new AliCloud.Dcdn.Inputs.ErEnvConfStagingArgs\n {\n SpecName = \"5ms\",\n AllowedHosts = new[]\n {\n \"example.com\",\n },\n },\n Production = new AliCloud.Dcdn.Inputs.ErEnvConfProductionArgs\n {\n SpecName = \"5ms\",\n AllowedHosts = new[]\n {\n \"example.com\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dcdn.NewEr(ctx, \"default\", \u0026dcdn.ErArgs{\n\t\t\tErName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnvConf: \u0026dcdn.ErEnvConfArgs{\n\t\t\t\tStaging: \u0026dcdn.ErEnvConfStagingArgs{\n\t\t\t\t\tSpecName: pulumi.String(\"5ms\"),\n\t\t\t\t\tAllowedHosts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProduction: \u0026dcdn.ErEnvConfProductionArgs{\n\t\t\t\t\tSpecName: pulumi.String(\"5ms\"),\n\t\t\t\t\tAllowedHosts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example.com\"),\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.alicloud.dcdn.Er;\nimport com.pulumi.alicloud.dcdn.ErArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfStagingArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfProductionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Er(\"default\", ErArgs.builder()\n .erName(name)\n .description(name)\n .envConf(ErEnvConfArgs.builder()\n .staging(ErEnvConfStagingArgs.builder()\n .specName(\"5ms\")\n .allowedHosts(\"example.com\")\n .build())\n .production(ErEnvConfProductionArgs.builder()\n .specName(\"5ms\")\n .allowedHosts(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:dcdn:Er\n properties:\n erName: ${name}\n description: ${name}\n envConf:\n staging:\n specName: 5ms\n allowedHosts:\n - example.com\n production:\n specName: 5ms\n allowedHosts:\n - example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Er can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/er:Er example \u003cid\u003e\n```\n\n", + "description": "Provides a DCDN Er resource.\n\nFor information about DCDN Er and how to use it, see [What is Er](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-createroutine).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.dcdn.Er(\"default\", {\n erName: name,\n description: name,\n envConf: {\n staging: {\n specName: \"5ms\",\n allowedHosts: [\"example.com\"],\n },\n production: {\n specName: \"5ms\",\n allowedHosts: [\"example.com\"],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.dcdn.Er(\"default\",\n er_name=name,\n description=name,\n env_conf={\n \"staging\": {\n \"spec_name\": \"5ms\",\n \"allowed_hosts\": [\"example.com\"],\n },\n \"production\": {\n \"spec_name\": \"5ms\",\n \"allowed_hosts\": [\"example.com\"],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Dcdn.Er(\"default\", new()\n {\n ErName = name,\n Description = name,\n EnvConf = new AliCloud.Dcdn.Inputs.ErEnvConfArgs\n {\n Staging = new AliCloud.Dcdn.Inputs.ErEnvConfStagingArgs\n {\n SpecName = \"5ms\",\n AllowedHosts = new[]\n {\n \"example.com\",\n },\n },\n Production = new AliCloud.Dcdn.Inputs.ErEnvConfProductionArgs\n {\n SpecName = \"5ms\",\n AllowedHosts = new[]\n {\n \"example.com\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dcdn.NewEr(ctx, \"default\", \u0026dcdn.ErArgs{\n\t\t\tErName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnvConf: \u0026dcdn.ErEnvConfArgs{\n\t\t\t\tStaging: \u0026dcdn.ErEnvConfStagingArgs{\n\t\t\t\t\tSpecName: pulumi.String(\"5ms\"),\n\t\t\t\t\tAllowedHosts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProduction: \u0026dcdn.ErEnvConfProductionArgs{\n\t\t\t\t\tSpecName: pulumi.String(\"5ms\"),\n\t\t\t\t\tAllowedHosts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example.com\"),\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.alicloud.dcdn.Er;\nimport com.pulumi.alicloud.dcdn.ErArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfStagingArgs;\nimport com.pulumi.alicloud.dcdn.inputs.ErEnvConfProductionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Er(\"default\", ErArgs.builder()\n .erName(name)\n .description(name)\n .envConf(ErEnvConfArgs.builder()\n .staging(ErEnvConfStagingArgs.builder()\n .specName(\"5ms\")\n .allowedHosts(\"example.com\")\n .build())\n .production(ErEnvConfProductionArgs.builder()\n .specName(\"5ms\")\n .allowedHosts(\"example.com\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:dcdn:Er\n properties:\n erName: ${name}\n description: ${name}\n envConf:\n staging:\n specName: 5ms\n allowedHosts:\n - example.com\n production:\n specName: 5ms\n allowedHosts:\n - example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Er can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/er:Er example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -138563,7 +141192,7 @@ } }, "alicloud:dcdn/ipaDomain:IpaDomain": { - "description": "Provides a DCDN Ipa Domain resource.\n\nFor information about DCDN Ipa Domain and how to use it, see [What is Ipa Domain](https://www.alibabacloud.com/help/en/doc-detail/130634.html).\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.dcdn.IpaDomain(\"example\", {\n domainName: `example-${defaultInteger.result}.com`,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n scope: \"overseas\",\n status: \"online\",\n sources: [{\n content: \"www.alicloud-provider.cn\",\n port: 8898,\n priority: \"20\",\n type: \"domain\",\n weight: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.dcdn.IpaDomain(\"example\",\n domain_name=f\"example-{default_integer['result']}.com\",\n resource_group_id=default.groups[0].id,\n scope=\"overseas\",\n status=\"online\",\n sources=[{\n \"content\": \"www.alicloud-provider.cn\",\n \"port\": 8898,\n \"priority\": \"20\",\n \"type\": \"domain\",\n \"weight\": 10,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Dcdn.IpaDomain(\"example\", new()\n {\n DomainName = $\"example-{defaultInteger.Result}.com\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n Scope = \"overseas\",\n Status = \"online\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.IpaDomainSourceArgs\n {\n Content = \"www.alicloud-provider.cn\",\n Port = 8898,\n Priority = \"20\",\n Type = \"domain\",\n Weight = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewIpaDomain(ctx, \"example\", \u0026dcdn.IpaDomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example-%v.com\", defaultInteger.Result),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tStatus: pulumi.String(\"online\"),\n\t\t\tSources: dcdn.IpaDomainSourceArray{\n\t\t\t\t\u0026dcdn.IpaDomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"www.alicloud-provider.cn\"),\n\t\t\t\t\tPort: pulumi.Int(8898),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"domain\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dcdn.IpaDomain;\nimport com.pulumi.alicloud.dcdn.IpaDomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.IpaDomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new IpaDomain(\"example\", IpaDomainArgs.builder()\n .domainName(String.format(\"example-%s.com\", defaultInteger.result()))\n .resourceGroupId(default_.groups()[0].id())\n .scope(\"overseas\")\n .status(\"online\")\n .sources(IpaDomainSourceArgs.builder()\n .content(\"www.alicloud-provider.cn\")\n .port(8898)\n .priority(\"20\")\n .type(\"domain\")\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:IpaDomain\n properties:\n domainName: example-${defaultInteger.result}.com\n resourceGroupId: ${default.groups[0].id}\n scope: overseas\n status: online\n sources:\n - content: www.alicloud-provider.cn\n port: 8898\n priority: '20'\n type: domain\n weight: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Ipa Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/ipaDomain:IpaDomain example \u003cdomain_name\u003e\n```\n\n", + "description": "Provides a DCDN Ipa Domain resource.\n\nFor information about DCDN Ipa Domain and how to use it, see [What is Ipa Domain](https://www.alibabacloud.com/help/en/doc-detail/130634.html).\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.dcdn.IpaDomain(\"example\", {\n domainName: `example-${defaultInteger.result}.com`,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n scope: \"overseas\",\n status: \"online\",\n sources: [{\n content: \"www.alicloud-provider.cn\",\n port: 8898,\n priority: \"20\",\n type: \"domain\",\n weight: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.dcdn.IpaDomain(\"example\",\n domain_name=f\"example-{default_integer['result']}.com\",\n resource_group_id=default.groups[0].id,\n scope=\"overseas\",\n status=\"online\",\n sources=[{\n \"content\": \"www.alicloud-provider.cn\",\n \"port\": 8898,\n \"priority\": \"20\",\n \"type\": \"domain\",\n \"weight\": 10,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Dcdn.IpaDomain(\"example\", new()\n {\n DomainName = $\"example-{defaultInteger.Result}.com\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n Scope = \"overseas\",\n Status = \"online\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.IpaDomainSourceArgs\n {\n Content = \"www.alicloud-provider.cn\",\n Port = 8898,\n Priority = \"20\",\n Type = \"domain\",\n Weight = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewIpaDomain(ctx, \"example\", \u0026dcdn.IpaDomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example-%v.com\", defaultInteger.Result),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tStatus: pulumi.String(\"online\"),\n\t\t\tSources: dcdn.IpaDomainSourceArray{\n\t\t\t\t\u0026dcdn.IpaDomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"www.alicloud-provider.cn\"),\n\t\t\t\t\tPort: pulumi.Int(8898),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"domain\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.dcdn.IpaDomain;\nimport com.pulumi.alicloud.dcdn.IpaDomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.IpaDomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new IpaDomain(\"example\", IpaDomainArgs.builder()\n .domainName(String.format(\"example-%s.com\", defaultInteger.result()))\n .resourceGroupId(default_.groups()[0].id())\n .scope(\"overseas\")\n .status(\"online\")\n .sources(IpaDomainSourceArgs.builder()\n .content(\"www.alicloud-provider.cn\")\n .port(8898)\n .priority(\"20\")\n .type(\"domain\")\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:IpaDomain\n properties:\n domainName: example-${defaultInteger.result}.com\n resourceGroupId: ${default.groups[0].id}\n scope: overseas\n status: online\n sources:\n - content: www.alicloud-provider.cn\n port: 8898\n priority: '20'\n type: domain\n weight: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Ipa Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/ipaDomain:IpaDomain example \u003cdomain_name\u003e\n```\n\n", "properties": { "domainName": { "type": "string", @@ -138660,7 +141289,7 @@ } }, "alicloud:dcdn/kv:Kv": { - "description": "Provides a Dcdn Kv resource.\n\nFor information about Dcdn Kv and how to use it, see [What is Kv](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-putdcdnkv).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKvNamespace = new alicloud.dcdn.KvNamespace(\"default\", {\n description: name,\n namespace: `${name}-${_default.result}`,\n});\nconst defaultKv = new alicloud.dcdn.Kv(\"default\", {\n value: \"example-value\",\n key: `${name}-${_default.result}`,\n namespace: defaultKvNamespace.namespace,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_kv_namespace = alicloud.dcdn.KvNamespace(\"default\",\n description=name,\n namespace=f\"{name}-{default['result']}\")\ndefault_kv = alicloud.dcdn.Kv(\"default\",\n value=\"example-value\",\n key=f\"{name}-{default['result']}\",\n namespace=default_kv_namespace.namespace)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKvNamespace = new AliCloud.Dcdn.KvNamespace(\"default\", new()\n {\n Description = name,\n Namespace = $\"{name}-{@default.Result}\",\n });\n\n var defaultKv = new AliCloud.Dcdn.Kv(\"default\", new()\n {\n Value = \"example-value\",\n Key = $\"{name}-{@default.Result}\",\n Namespace = defaultKvNamespace.Namespace,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKvNamespace, err := dcdn.NewKvNamespace(ctx, \"default\", \u0026dcdn.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewKv(ctx, \"default\", \u0026dcdn.KvArgs{\n\t\t\tValue: pulumi.String(\"example-value\"),\n\t\t\tKey: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tNamespace: defaultKvNamespace.Namespace,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.KvNamespace;\nimport com.pulumi.alicloud.dcdn.KvNamespaceArgs;\nimport com.pulumi.alicloud.dcdn.Kv;\nimport com.pulumi.alicloud.dcdn.KvArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKvNamespace = new KvNamespace(\"defaultKvNamespace\", KvNamespaceArgs.builder()\n .description(name)\n .namespace(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultKv = new Kv(\"defaultKv\", KvArgs.builder()\n .value(\"example-value\")\n .key(String.format(\"%s-%s\", name,default_.result()))\n .namespace(defaultKvNamespace.namespace())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKvNamespace:\n type: alicloud:dcdn:KvNamespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}-${default.result}\n defaultKv:\n type: alicloud:dcdn:Kv\n name: default\n properties:\n value: example-value\n key: ${name}-${default.result}\n namespace: ${defaultKvNamespace.namespace}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDcdn Kv can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/kv:Kv example \u003cnamespace\u003e:\u003ckey\u003e\n```\n\n", + "description": "Provides a Dcdn Kv resource.\n\nFor information about Dcdn Kv and how to use it, see [What is Kv](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-putdcdnkv).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKvNamespace = new alicloud.dcdn.KvNamespace(\"default\", {\n description: name,\n namespace: `${name}-${_default.result}`,\n});\nconst defaultKv = new alicloud.dcdn.Kv(\"default\", {\n value: \"example-value\",\n key: `${name}-${_default.result}`,\n namespace: defaultKvNamespace.namespace,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_kv_namespace = alicloud.dcdn.KvNamespace(\"default\",\n description=name,\n namespace=f\"{name}-{default['result']}\")\ndefault_kv = alicloud.dcdn.Kv(\"default\",\n value=\"example-value\",\n key=f\"{name}-{default['result']}\",\n namespace=default_kv_namespace.namespace)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKvNamespace = new AliCloud.Dcdn.KvNamespace(\"default\", new()\n {\n Description = name,\n Namespace = $\"{name}-{@default.Result}\",\n });\n\n var defaultKv = new AliCloud.Dcdn.Kv(\"default\", new()\n {\n Value = \"example-value\",\n Key = $\"{name}-{@default.Result}\",\n Namespace = defaultKvNamespace.Namespace,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKvNamespace, err := dcdn.NewKvNamespace(ctx, \"default\", \u0026dcdn.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewKv(ctx, \"default\", \u0026dcdn.KvArgs{\n\t\t\tValue: pulumi.String(\"example-value\"),\n\t\t\tKey: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tNamespace: defaultKvNamespace.Namespace,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.KvNamespace;\nimport com.pulumi.alicloud.dcdn.KvNamespaceArgs;\nimport com.pulumi.alicloud.dcdn.Kv;\nimport com.pulumi.alicloud.dcdn.KvArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKvNamespace = new KvNamespace(\"defaultKvNamespace\", KvNamespaceArgs.builder()\n .description(name)\n .namespace(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultKv = new Kv(\"defaultKv\", KvArgs.builder()\n .value(\"example-value\")\n .key(String.format(\"%s-%s\", name,default_.result()))\n .namespace(defaultKvNamespace.namespace())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKvNamespace:\n type: alicloud:dcdn:KvNamespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}-${default.result}\n defaultKv:\n type: alicloud:dcdn:Kv\n name: default\n properties:\n value: example-value\n key: ${name}-${default.result}\n namespace: ${defaultKvNamespace.namespace}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDcdn Kv can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/kv:Kv example \u003cnamespace\u003e:\u003ckey\u003e\n```\n\n", "properties": { "key": { "type": "string", @@ -138723,7 +141352,7 @@ } }, "alicloud:dcdn/kvNamespace:KvNamespace": { - "description": "Provides a Dcdn Kv Namespace resource.\n\nFor information about Dcdn Kv Namespace and how to use it, see [What is Kv Namespace](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-putdcdnkvnamespace).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKvNamespace = new alicloud.dcdn.KvNamespace(\"default\", {\n description: name,\n namespace: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_kv_namespace = alicloud.dcdn.KvNamespace(\"default\",\n description=name,\n namespace=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKvNamespace = new AliCloud.Dcdn.KvNamespace(\"default\", new()\n {\n Description = name,\n Namespace = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewKvNamespace(ctx, \"default\", \u0026dcdn.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.KvNamespace;\nimport com.pulumi.alicloud.dcdn.KvNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKvNamespace = new KvNamespace(\"defaultKvNamespace\", KvNamespaceArgs.builder()\n .description(name)\n .namespace(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKvNamespace:\n type: alicloud:dcdn:KvNamespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDcdn Kv Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/kvNamespace:KvNamespace example \n```\n\n", + "description": "Provides a Dcdn Kv Namespace resource.\n\nFor information about Dcdn Kv Namespace and how to use it, see [What is Kv Namespace](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-putdcdnkvnamespace).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKvNamespace = new alicloud.dcdn.KvNamespace(\"default\", {\n description: name,\n namespace: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_kv_namespace = alicloud.dcdn.KvNamespace(\"default\",\n description=name,\n namespace=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKvNamespace = new AliCloud.Dcdn.KvNamespace(\"default\", new()\n {\n Description = name,\n Namespace = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewKvNamespace(ctx, \"default\", \u0026dcdn.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespace: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.KvNamespace;\nimport com.pulumi.alicloud.dcdn.KvNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKvNamespace = new KvNamespace(\"defaultKvNamespace\", KvNamespaceArgs.builder()\n .description(name)\n .namespace(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKvNamespace:\n type: alicloud:dcdn:KvNamespace\n name: default\n properties:\n description: ${name}\n namespace: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDcdn Kv Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/kvNamespace:KvNamespace example \n```\n\n", "properties": { "description": { "type": "string", @@ -138781,7 +141410,7 @@ } }, "alicloud:dcdn/wafDomain:WafDomain": { - "description": "Provides a DCDN Waf Domain resource.\n\nFor information about DCDN Waf Domain and how to use it, see [What is Waf Domain](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-batchsetdcdnwafdomainconfigs).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\nconst exampleWafDomain = new alicloud.dcdn.WafDomain(\"example\", {\n domainName: example.domainName,\n clientIpTag: \"X-Forwarded-For\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\nexample_waf_domain = alicloud.dcdn.WafDomain(\"example\",\n domain_name=example.domain_name,\n client_ip_tag=\"X-Forwarded-For\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n var exampleWafDomain = new AliCloud.Dcdn.WafDomain(\"example\", new()\n {\n DomainName = example.DomainName,\n ClientIpTag = \"X-Forwarded-For\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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\t_, err = dcdn.NewWafDomain(ctx, \"example\", \u0026dcdn.WafDomainArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tClientIpTag: pulumi.String(\"X-Forwarded-For\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.WafDomain;\nimport com.pulumi.alicloud.dcdn.WafDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n var exampleWafDomain = new WafDomain(\"exampleWafDomain\", WafDomainArgs.builder()\n .domainName(example.domainName())\n .clientIpTag(\"X-Forwarded-For\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n exampleWafDomain:\n type: alicloud:dcdn:WafDomain\n name: example\n properties:\n domainName: ${example.domainName}\n clientIpTag: X-Forwarded-For\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Waf Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafDomain:WafDomain example \u003cdomain_name\u003e\n```\n\n", + "description": "Provides a DCDN Waf Domain resource.\n\nFor information about DCDN Waf Domain and how to use it, see [What is Waf Domain](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-batchsetdcdnwafdomainconfigs).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\nconst exampleWafDomain = new alicloud.dcdn.WafDomain(\"example\", {\n domainName: example.domainName,\n clientIpTag: \"X-Forwarded-For\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\nexample_waf_domain = alicloud.dcdn.WafDomain(\"example\",\n domain_name=example.domain_name,\n client_ip_tag=\"X-Forwarded-For\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n var exampleWafDomain = new AliCloud.Dcdn.WafDomain(\"example\", new()\n {\n DomainName = example.DomainName,\n ClientIpTag = \"X-Forwarded-For\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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\t_, err = dcdn.NewWafDomain(ctx, \"example\", \u0026dcdn.WafDomainArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tClientIpTag: pulumi.String(\"X-Forwarded-For\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.WafDomain;\nimport com.pulumi.alicloud.dcdn.WafDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n var exampleWafDomain = new WafDomain(\"exampleWafDomain\", WafDomainArgs.builder()\n .domainName(example.domainName())\n .clientIpTag(\"X-Forwarded-For\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n exampleWafDomain:\n type: alicloud:dcdn:WafDomain\n name: example\n properties:\n domainName: ${example.domainName}\n clientIpTag: X-Forwarded-For\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Waf Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafDomain:WafDomain example \u003cdomain_name\u003e\n```\n\n", "properties": { "clientIpTag": { "type": "string", @@ -138826,7 +141455,7 @@ } }, "alicloud:dcdn/wafPolicy:WafPolicy": { - "description": "Provides a DCDN Waf Policy resource.\n\nFor information about DCDN Waf Policy and how to use it, see [What is Waf Policy](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-createdcdnwafpolicy).\n\n\u003e **NOTE:** Available since v1.184.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new WafPolicy(\"example\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:WafPolicy\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Waf Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a DCDN Waf Policy resource.\n\nFor information about DCDN Waf Policy and how to use it, see [What is Waf Policy](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-createdcdnwafpolicy).\n\n\u003e **NOTE:** Available since v1.184.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new WafPolicy(\"example\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:WafPolicy\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Waf Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafPolicy:WafPolicy example \u003cid\u003e\n```\n\n", "properties": { "defenseScene": { "type": "string", @@ -138903,7 +141532,7 @@ } }, "alicloud:dcdn/wafPolicyDomainAttachment:WafPolicyDomainAttachment": { - "description": "Provides a DCDN Waf Policy Domain Attachment resource.\n\nFor information about DCDN Waf Policy Domain Attachment and how to use it, see [What is Waf Policy Domain Attachment](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-modifydcdnwafpolicydomains).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\nconst exampleWafDomain = new alicloud.dcdn.WafDomain(\"example\", {\n domainName: example.domainName,\n clientIpTag: \"X-Forwarded-For\",\n});\nconst exampleWafPolicy = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\nconst exampleWafPolicyDomainAttachment = new alicloud.dcdn.WafPolicyDomainAttachment(\"example\", {\n domainName: exampleWafDomain.domainName,\n policyId: exampleWafPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\nexample_waf_domain = alicloud.dcdn.WafDomain(\"example\",\n domain_name=example.domain_name,\n client_ip_tag=\"X-Forwarded-For\")\nexample_waf_policy = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\nexample_waf_policy_domain_attachment = alicloud.dcdn.WafPolicyDomainAttachment(\"example\",\n domain_name=example_waf_domain.domain_name,\n policy_id=example_waf_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n var exampleWafDomain = new AliCloud.Dcdn.WafDomain(\"example\", new()\n {\n DomainName = example.DomainName,\n ClientIpTag = \"X-Forwarded-For\",\n });\n\n var exampleWafPolicy = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n var exampleWafPolicyDomainAttachment = new AliCloud.Dcdn.WafPolicyDomainAttachment(\"example\", new()\n {\n DomainName = exampleWafDomain.DomainName,\n PolicyId = exampleWafPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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\texampleWafDomain, err := dcdn.NewWafDomain(ctx, \"example\", \u0026dcdn.WafDomainArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tClientIpTag: pulumi.String(\"X-Forwarded-For\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWafPolicy, err := dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafPolicyDomainAttachment(ctx, \"example\", \u0026dcdn.WafPolicyDomainAttachmentArgs{\n\t\t\tDomainName: exampleWafDomain.DomainName,\n\t\t\tPolicyId: exampleWafPolicy.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.WafDomain;\nimport com.pulumi.alicloud.dcdn.WafDomainArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicyDomainAttachment;\nimport com.pulumi.alicloud.dcdn.WafPolicyDomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n var exampleWafDomain = new WafDomain(\"exampleWafDomain\", WafDomainArgs.builder()\n .domainName(example.domainName())\n .clientIpTag(\"X-Forwarded-For\")\n .build());\n\n var exampleWafPolicy = new WafPolicy(\"exampleWafPolicy\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n var exampleWafPolicyDomainAttachment = new WafPolicyDomainAttachment(\"exampleWafPolicyDomainAttachment\", WafPolicyDomainAttachmentArgs.builder()\n .domainName(exampleWafDomain.domainName())\n .policyId(exampleWafPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n exampleWafDomain:\n type: alicloud:dcdn:WafDomain\n name: example\n properties:\n domainName: ${example.domainName}\n clientIpTag: X-Forwarded-For\n exampleWafPolicy:\n type: alicloud:dcdn:WafPolicy\n name: example\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n exampleWafPolicyDomainAttachment:\n type: alicloud:dcdn:WafPolicyDomainAttachment\n name: example\n properties:\n domainName: ${exampleWafDomain.domainName}\n policyId: ${exampleWafPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDCDN Waf Policy Domain Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafPolicyDomainAttachment:WafPolicyDomainAttachment example policy_id:domain_name\n```\n\n", + "description": "Provides a DCDN Waf Policy Domain Attachment resource.\n\nFor information about DCDN Waf Policy Domain Attachment and how to use it, see [What is Waf Policy Domain Attachment](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-modifydcdnwafpolicydomains).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"tf-example.com\";\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.Domain(\"example\", {\n domainName: `${domainName}-${_default.result}`,\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n port: 80,\n priority: \"20\",\n type: \"ipaddr\",\n weight: \"10\",\n }],\n});\nconst exampleWafDomain = new alicloud.dcdn.WafDomain(\"example\", {\n domainName: example.domainName,\n clientIpTag: \"X-Forwarded-For\",\n});\nconst exampleWafPolicy = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\nconst exampleWafPolicyDomainAttachment = new alicloud.dcdn.WafPolicyDomainAttachment(\"example\", {\n domainName: exampleWafDomain.domainName,\n policyId: exampleWafPolicy.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"tf-example.com\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.Domain(\"example\",\n domain_name=f\"{domain_name}-{default['result']}\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"ipaddr\",\n \"weight\": \"10\",\n }])\nexample_waf_domain = alicloud.dcdn.WafDomain(\"example\",\n domain_name=example.domain_name,\n client_ip_tag=\"X-Forwarded-For\")\nexample_waf_policy = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\nexample_waf_policy_domain_attachment = alicloud.dcdn.WafPolicyDomainAttachment(\"example\",\n domain_name=example_waf_domain.domain_name,\n policy_id=example_waf_policy.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"tf-example.com\";\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.Domain(\"example\", new()\n {\n DomainName = $\"{domainName}-{@default.Result}\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Dcdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Port = 80,\n Priority = \"20\",\n Type = \"ipaddr\",\n Weight = \"10\",\n },\n },\n });\n\n var exampleWafDomain = new AliCloud.Dcdn.WafDomain(\"example\", new()\n {\n DomainName = example.DomainName,\n ClientIpTag = \"X-Forwarded-For\",\n });\n\n var exampleWafPolicy = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n var exampleWafPolicyDomainAttachment = new AliCloud.Dcdn.WafPolicyDomainAttachment(\"example\", new()\n {\n DomainName = exampleWafDomain.DomainName,\n PolicyId = exampleWafPolicy.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"tf-example.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewDomain(ctx, \"example\", \u0026dcdn.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"%v-%v\", domainName, _default.Result),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: dcdn.DomainSourceArray{\n\t\t\t\t\u0026dcdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tWeight: pulumi.String(\"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\texampleWafDomain, err := dcdn.NewWafDomain(ctx, \"example\", \u0026dcdn.WafDomainArgs{\n\t\t\tDomainName: example.DomainName,\n\t\t\tClientIpTag: pulumi.String(\"X-Forwarded-For\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWafPolicy, err := dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafPolicyDomainAttachment(ctx, \"example\", \u0026dcdn.WafPolicyDomainAttachmentArgs{\n\t\t\tDomainName: exampleWafDomain.DomainName,\n\t\t\tPolicyId: exampleWafPolicy.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.Domain;\nimport com.pulumi.alicloud.dcdn.DomainArgs;\nimport com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.dcdn.WafDomain;\nimport com.pulumi.alicloud.dcdn.WafDomainArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicyDomainAttachment;\nimport com.pulumi.alicloud.dcdn.WafPolicyDomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"tf-example.com\");\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"%s-%s\", domainName,default_.result()))\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .port(80)\n .priority(\"20\")\n .type(\"ipaddr\")\n .weight(\"10\")\n .build())\n .build());\n\n var exampleWafDomain = new WafDomain(\"exampleWafDomain\", WafDomainArgs.builder()\n .domainName(example.domainName())\n .clientIpTag(\"X-Forwarded-For\")\n .build());\n\n var exampleWafPolicy = new WafPolicy(\"exampleWafPolicy\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n var exampleWafPolicyDomainAttachment = new WafPolicyDomainAttachment(\"exampleWafPolicyDomainAttachment\", WafPolicyDomainAttachmentArgs.builder()\n .domainName(exampleWafDomain.domainName())\n .policyId(exampleWafPolicy.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: tf-example.com\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:Domain\n properties:\n domainName: ${domainName}-${default.result}\n scope: overseas\n sources:\n - content: 1.1.1.1\n port: '80'\n priority: '20'\n type: ipaddr\n weight: '10'\n exampleWafDomain:\n type: alicloud:dcdn:WafDomain\n name: example\n properties:\n domainName: ${example.domainName}\n clientIpTag: X-Forwarded-For\n exampleWafPolicy:\n type: alicloud:dcdn:WafPolicy\n name: example\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n exampleWafPolicyDomainAttachment:\n type: alicloud:dcdn:WafPolicyDomainAttachment\n name: example\n properties:\n domainName: ${exampleWafDomain.domainName}\n policyId: ${exampleWafPolicy.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDCDN Waf Policy Domain Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafPolicyDomainAttachment:WafPolicyDomainAttachment example policy_id:domain_name\n```\n\n", "properties": { "domainName": { "type": "string", @@ -138952,7 +141581,7 @@ } }, "alicloud:dcdn/wafRule:WafRule": { - "description": "Provides a Dcdn Waf Rule resource.\n\nFor information about Dcdn Waf Rule and how to use it, see [What is Waf Rule](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-batchcreatedcdnwafrules).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\nconst exampleWafRule = new alicloud.dcdn.WafRule(\"example\", {\n policyId: example.id,\n ruleName: name,\n conditions: [\n {\n key: \"URI\",\n opValue: \"ne\",\n values: \"/login.php\",\n },\n {\n key: \"Header\",\n subKey: \"a\",\n opValue: \"eq\",\n values: \"b\",\n },\n ],\n status: \"on\",\n action: \"monitor\",\n rateLimit: {\n target: \"IP\",\n interval: 5,\n threshold: 5,\n ttl: 1800,\n status: {\n code: \"200\",\n ratio: 60,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\nexample_waf_rule = alicloud.dcdn.WafRule(\"example\",\n policy_id=example.id,\n rule_name=name,\n conditions=[\n {\n \"key\": \"URI\",\n \"op_value\": \"ne\",\n \"values\": \"/login.php\",\n },\n {\n \"key\": \"Header\",\n \"sub_key\": \"a\",\n \"op_value\": \"eq\",\n \"values\": \"b\",\n },\n ],\n status=\"on\",\n action=\"monitor\",\n rate_limit={\n \"target\": \"IP\",\n \"interval\": 5,\n \"threshold\": 5,\n \"ttl\": 1800,\n \"status\": {\n \"code\": \"200\",\n \"ratio\": 60,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n var exampleWafRule = new AliCloud.Dcdn.WafRule(\"example\", new()\n {\n PolicyId = example.Id,\n RuleName = name,\n Conditions = new[]\n {\n new AliCloud.Dcdn.Inputs.WafRuleConditionArgs\n {\n Key = \"URI\",\n OpValue = \"ne\",\n Values = \"/login.php\",\n },\n new AliCloud.Dcdn.Inputs.WafRuleConditionArgs\n {\n Key = \"Header\",\n SubKey = \"a\",\n OpValue = \"eq\",\n Values = \"b\",\n },\n },\n Status = \"on\",\n Action = \"monitor\",\n RateLimit = new AliCloud.Dcdn.Inputs.WafRuleRateLimitArgs\n {\n Target = \"IP\",\n Interval = 5,\n Threshold = 5,\n Ttl = 1800,\n Status = new AliCloud.Dcdn.Inputs.WafRuleRateLimitStatusArgs\n {\n Code = \"200\",\n Ratio = 60,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafRule(ctx, \"example\", \u0026dcdn.WafRuleArgs{\n\t\t\tPolicyId: example.ID(),\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tConditions: dcdn.WafRuleConditionArray{\n\t\t\t\t\u0026dcdn.WafRuleConditionArgs{\n\t\t\t\t\tKey: pulumi.String(\"URI\"),\n\t\t\t\t\tOpValue: pulumi.String(\"ne\"),\n\t\t\t\t\tValues: pulumi.String(\"/login.php\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.WafRuleConditionArgs{\n\t\t\t\t\tKey: pulumi.String(\"Header\"),\n\t\t\t\t\tSubKey: pulumi.String(\"a\"),\n\t\t\t\t\tOpValue: pulumi.String(\"eq\"),\n\t\t\t\t\tValues: pulumi.String(\"b\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t\tAction: pulumi.String(\"monitor\"),\n\t\t\tRateLimit: \u0026dcdn.WafRuleRateLimitArgs{\n\t\t\t\tTarget: pulumi.String(\"IP\"),\n\t\t\t\tInterval: pulumi.Int(5),\n\t\t\t\tThreshold: pulumi.Int(5),\n\t\t\t\tTtl: pulumi.Int(1800),\n\t\t\t\tStatus: \u0026dcdn.WafRuleRateLimitStatusArgs{\n\t\t\t\t\tCode: pulumi.String(\"200\"),\n\t\t\t\t\tRatio: pulumi.Int(60),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport com.pulumi.alicloud.dcdn.WafRule;\nimport com.pulumi.alicloud.dcdn.WafRuleArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleConditionArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new WafPolicy(\"example\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n var exampleWafRule = new WafRule(\"exampleWafRule\", WafRuleArgs.builder()\n .policyId(example.id())\n .ruleName(name)\n .conditions( \n WafRuleConditionArgs.builder()\n .key(\"URI\")\n .opValue(\"ne\")\n .values(\"/login.php\")\n .build(),\n WafRuleConditionArgs.builder()\n .key(\"Header\")\n .subKey(\"a\")\n .opValue(\"eq\")\n .values(\"b\")\n .build())\n .status(\"on\")\n .action(\"monitor\")\n .rateLimit(WafRuleRateLimitArgs.builder()\n .target(\"IP\")\n .interval(5)\n .threshold(5)\n .ttl(1800)\n .status(WafRuleRateLimitStatusArgs.builder()\n .code(\"200\")\n .ratio(60)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:WafPolicy\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n exampleWafRule:\n type: alicloud:dcdn:WafRule\n name: example\n properties:\n policyId: ${example.id}\n ruleName: ${name}\n conditions:\n - key: URI\n opValue: ne\n values: /login.php\n - key: Header\n subKey: a\n opValue: eq\n values: b\n status: on\n action: monitor\n rateLimit:\n target: IP\n interval: '5'\n threshold: '5'\n ttl: '1800'\n status:\n code: '200'\n ratio: '60'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDcdn Waf Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafRule:WafRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Dcdn Waf Rule resource.\n\nFor information about Dcdn Waf Rule and how to use it, see [What is Waf Rule](https://www.alibabacloud.com/help/en/dcdn/developer-reference/api-dcdn-2018-01-15-batchcreatedcdnwafrules).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.dcdn.WafPolicy(\"example\", {\n defenseScene: \"waf_group\",\n policyName: `${name}_${_default.result}`,\n policyType: \"custom\",\n status: \"on\",\n});\nconst exampleWafRule = new alicloud.dcdn.WafRule(\"example\", {\n policyId: example.id,\n ruleName: name,\n conditions: [\n {\n key: \"URI\",\n opValue: \"ne\",\n values: \"/login.php\",\n },\n {\n key: \"Header\",\n subKey: \"a\",\n opValue: \"eq\",\n values: \"b\",\n },\n ],\n status: \"on\",\n action: \"monitor\",\n rateLimit: {\n target: \"IP\",\n interval: 5,\n threshold: 5,\n ttl: 1800,\n status: {\n code: \"200\",\n ratio: 60,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.dcdn.WafPolicy(\"example\",\n defense_scene=\"waf_group\",\n policy_name=f\"{name}_{default['result']}\",\n policy_type=\"custom\",\n status=\"on\")\nexample_waf_rule = alicloud.dcdn.WafRule(\"example\",\n policy_id=example.id,\n rule_name=name,\n conditions=[\n {\n \"key\": \"URI\",\n \"op_value\": \"ne\",\n \"values\": \"/login.php\",\n },\n {\n \"key\": \"Header\",\n \"sub_key\": \"a\",\n \"op_value\": \"eq\",\n \"values\": \"b\",\n },\n ],\n status=\"on\",\n action=\"monitor\",\n rate_limit={\n \"target\": \"IP\",\n \"interval\": 5,\n \"threshold\": 5,\n \"ttl\": 1800,\n \"status\": {\n \"code\": \"200\",\n \"ratio\": 60,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Dcdn.WafPolicy(\"example\", new()\n {\n DefenseScene = \"waf_group\",\n PolicyName = $\"{name}_{@default.Result}\",\n PolicyType = \"custom\",\n Status = \"on\",\n });\n\n var exampleWafRule = new AliCloud.Dcdn.WafRule(\"example\", new()\n {\n PolicyId = example.Id,\n RuleName = name,\n Conditions = new[]\n {\n new AliCloud.Dcdn.Inputs.WafRuleConditionArgs\n {\n Key = \"URI\",\n OpValue = \"ne\",\n Values = \"/login.php\",\n },\n new AliCloud.Dcdn.Inputs.WafRuleConditionArgs\n {\n Key = \"Header\",\n SubKey = \"a\",\n OpValue = \"eq\",\n Values = \"b\",\n },\n },\n Status = \"on\",\n Action = \"monitor\",\n RateLimit = new AliCloud.Dcdn.Inputs.WafRuleRateLimitArgs\n {\n Target = \"IP\",\n Interval = 5,\n Threshold = 5,\n Ttl = 1800,\n Status = new AliCloud.Dcdn.Inputs.WafRuleRateLimitStatusArgs\n {\n Code = \"200\",\n Ratio = 60,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := dcdn.NewWafPolicy(ctx, \"example\", \u0026dcdn.WafPolicyArgs{\n\t\t\tDefenseScene: pulumi.String(\"waf_group\"),\n\t\t\tPolicyName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tPolicyType: pulumi.String(\"custom\"),\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dcdn.NewWafRule(ctx, \"example\", \u0026dcdn.WafRuleArgs{\n\t\t\tPolicyId: example.ID(),\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tConditions: dcdn.WafRuleConditionArray{\n\t\t\t\t\u0026dcdn.WafRuleConditionArgs{\n\t\t\t\t\tKey: pulumi.String(\"URI\"),\n\t\t\t\t\tOpValue: pulumi.String(\"ne\"),\n\t\t\t\t\tValues: pulumi.String(\"/login.php\"),\n\t\t\t\t},\n\t\t\t\t\u0026dcdn.WafRuleConditionArgs{\n\t\t\t\t\tKey: pulumi.String(\"Header\"),\n\t\t\t\t\tSubKey: pulumi.String(\"a\"),\n\t\t\t\t\tOpValue: pulumi.String(\"eq\"),\n\t\t\t\t\tValues: pulumi.String(\"b\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"on\"),\n\t\t\tAction: pulumi.String(\"monitor\"),\n\t\t\tRateLimit: \u0026dcdn.WafRuleRateLimitArgs{\n\t\t\t\tTarget: pulumi.String(\"IP\"),\n\t\t\t\tInterval: pulumi.Int(5),\n\t\t\t\tThreshold: pulumi.Int(5),\n\t\t\t\tTtl: pulumi.Int(1800),\n\t\t\t\tStatus: \u0026dcdn.WafRuleRateLimitStatusArgs{\n\t\t\t\t\tCode: pulumi.String(\"200\"),\n\t\t\t\t\tRatio: pulumi.Int(60),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dcdn.WafPolicy;\nimport com.pulumi.alicloud.dcdn.WafPolicyArgs;\nimport com.pulumi.alicloud.dcdn.WafRule;\nimport com.pulumi.alicloud.dcdn.WafRuleArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleConditionArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitArgs;\nimport com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new WafPolicy(\"example\", WafPolicyArgs.builder()\n .defenseScene(\"waf_group\")\n .policyName(String.format(\"%s_%s\", name,default_.result()))\n .policyType(\"custom\")\n .status(\"on\")\n .build());\n\n var exampleWafRule = new WafRule(\"exampleWafRule\", WafRuleArgs.builder()\n .policyId(example.id())\n .ruleName(name)\n .conditions( \n WafRuleConditionArgs.builder()\n .key(\"URI\")\n .opValue(\"ne\")\n .values(\"/login.php\")\n .build(),\n WafRuleConditionArgs.builder()\n .key(\"Header\")\n .subKey(\"a\")\n .opValue(\"eq\")\n .values(\"b\")\n .build())\n .status(\"on\")\n .action(\"monitor\")\n .rateLimit(WafRuleRateLimitArgs.builder()\n .target(\"IP\")\n .interval(5)\n .threshold(5)\n .ttl(1800)\n .status(WafRuleRateLimitStatusArgs.builder()\n .code(\"200\")\n .ratio(60)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:dcdn:WafPolicy\n properties:\n defenseScene: waf_group\n policyName: ${name}_${default.result}\n policyType: custom\n status: on\n exampleWafRule:\n type: alicloud:dcdn:WafRule\n name: example\n properties:\n policyId: ${example.id}\n ruleName: ${name}\n conditions:\n - key: URI\n opValue: ne\n values: /login.php\n - key: Header\n subKey: a\n opValue: eq\n values: b\n status: on\n action: monitor\n rateLimit:\n target: IP\n interval: '5'\n threshold: '5'\n ttl: '1800'\n status:\n code: '200'\n ratio: '60'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDcdn Waf Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dcdn/wafRule:WafRule example \u003cid\u003e\n```\n\n", "properties": { "action": { "type": "string", @@ -139220,7 +141849,7 @@ } }, "alicloud:ddos/basicDefenseThreshold:BasicDefenseThreshold": { - "description": "Provides a Ddos Basic defense threshold resource.\n\nFor information about Ddos Basic Antiddos and how to use it, see [What is Defense Threshold](https://www.alibabacloud.com/help/en/ddos-protection/latest/modifydefensethreshold).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ecs.EipAddress(\"default\", {\n addressName: name,\n isp: \"BGP\",\n internetChargeType: \"PayByBandwidth\",\n paymentType: \"PayAsYouGo\",\n});\nconst defaultBasicDefenseThreshold = new alicloud.ddos.BasicDefenseThreshold(\"default\", {\n instanceId: _default.id,\n ddosType: \"defense\",\n instanceType: \"eip\",\n bps: 390,\n pps: 90000,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ecs.EipAddress(\"default\",\n address_name=name,\n isp=\"BGP\",\n internet_charge_type=\"PayByBandwidth\",\n payment_type=\"PayAsYouGo\")\ndefault_basic_defense_threshold = alicloud.ddos.BasicDefenseThreshold(\"default\",\n instance_id=default.id,\n ddos_type=\"defense\",\n instance_type=\"eip\",\n bps=390,\n pps=90000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n Isp = \"BGP\",\n InternetChargeType = \"PayByBandwidth\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultBasicDefenseThreshold = new AliCloud.Ddos.BasicDefenseThreshold(\"default\", new()\n {\n InstanceId = @default.Id,\n DdosType = \"defense\",\n InstanceType = \"eip\",\n Bps = 390,\n Pps = 90000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewBasicDefenseThreshold(ctx, \"default\", \u0026ddos.BasicDefenseThresholdArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tDdosType: pulumi.String(\"defense\"),\n\t\t\tInstanceType: pulumi.String(\"eip\"),\n\t\t\tBps: pulumi.Int(390),\n\t\t\tPps: pulumi.Int(90000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ddos.BasicDefenseThreshold;\nimport com.pulumi.alicloud.ddos.BasicDefenseThresholdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new EipAddress(\"default\", EipAddressArgs.builder()\n .addressName(name)\n .isp(\"BGP\")\n .internetChargeType(\"PayByBandwidth\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var defaultBasicDefenseThreshold = new BasicDefenseThreshold(\"defaultBasicDefenseThreshold\", BasicDefenseThresholdArgs.builder()\n .instanceId(default_.id())\n .ddosType(\"defense\")\n .instanceType(\"eip\")\n .bps(390)\n .pps(90000)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ecs:EipAddress\n properties:\n addressName: ${name}\n isp: BGP\n internetChargeType: PayByBandwidth\n paymentType: PayAsYouGo\n defaultBasicDefenseThreshold:\n type: alicloud:ddos:BasicDefenseThreshold\n name: default\n properties:\n instanceId: ${default.id}\n ddosType: defense\n instanceType: eip\n bps: 390\n pps: 90000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdos Basic Antiddos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/basicDefenseThreshold:BasicDefenseThreshold example \u003cinstance_id\u003e:\u003cinstance_type\u003e:\u003cddos_type\u003e\n```\n\n", + "description": "Provides a Ddos Basic defense threshold resource.\n\nFor information about Ddos Basic Antiddos and how to use it, see [What is Defense Threshold](https://www.alibabacloud.com/help/en/ddos-protection/latest/modifydefensethreshold).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ecs.EipAddress(\"default\", {\n addressName: name,\n isp: \"BGP\",\n internetChargeType: \"PayByBandwidth\",\n paymentType: \"PayAsYouGo\",\n});\nconst defaultBasicDefenseThreshold = new alicloud.ddos.BasicDefenseThreshold(\"default\", {\n instanceId: _default.id,\n ddosType: \"defense\",\n instanceType: \"eip\",\n bps: 390,\n pps: 90000,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ecs.EipAddress(\"default\",\n address_name=name,\n isp=\"BGP\",\n internet_charge_type=\"PayByBandwidth\",\n payment_type=\"PayAsYouGo\")\ndefault_basic_defense_threshold = alicloud.ddos.BasicDefenseThreshold(\"default\",\n instance_id=default.id,\n ddos_type=\"defense\",\n instance_type=\"eip\",\n bps=390,\n pps=90000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n Isp = \"BGP\",\n InternetChargeType = \"PayByBandwidth\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultBasicDefenseThreshold = new AliCloud.Ddos.BasicDefenseThreshold(\"default\", new()\n {\n InstanceId = @default.Id,\n DdosType = \"defense\",\n InstanceType = \"eip\",\n Bps = 390,\n Pps = 90000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewBasicDefenseThreshold(ctx, \"default\", \u0026ddos.BasicDefenseThresholdArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tDdosType: pulumi.String(\"defense\"),\n\t\t\tInstanceType: pulumi.String(\"eip\"),\n\t\t\tBps: pulumi.Int(390),\n\t\t\tPps: pulumi.Int(90000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ddos.BasicDefenseThreshold;\nimport com.pulumi.alicloud.ddos.BasicDefenseThresholdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new EipAddress(\"default\", EipAddressArgs.builder()\n .addressName(name)\n .isp(\"BGP\")\n .internetChargeType(\"PayByBandwidth\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var defaultBasicDefenseThreshold = new BasicDefenseThreshold(\"defaultBasicDefenseThreshold\", BasicDefenseThresholdArgs.builder()\n .instanceId(default_.id())\n .ddosType(\"defense\")\n .instanceType(\"eip\")\n .bps(390)\n .pps(90000)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ecs:EipAddress\n properties:\n addressName: ${name}\n isp: BGP\n internetChargeType: PayByBandwidth\n paymentType: PayAsYouGo\n defaultBasicDefenseThreshold:\n type: alicloud:ddos:BasicDefenseThreshold\n name: default\n properties:\n instanceId: ${default.id}\n ddosType: defense\n instanceType: eip\n bps: 390\n pps: 90000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdos Basic Antiddos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/basicDefenseThreshold:BasicDefenseThreshold example \u003cinstance_id\u003e:\u003cinstance_type\u003e:\u003cddos_type\u003e\n```\n\n", "properties": { "bps": { "type": "integer", @@ -139355,7 +141984,7 @@ } }, "alicloud:ddos/basicThreshold:BasicThreshold": { - "description": "Provides a Ddos Basic Threshold resource.\n\nFor information about Ddos Basic Threshold and how to use it, see [What is Threshold](https://www.alibabacloud.com/help/en/ddos-protection/latest/describe-ip-ddosthreshold).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst example = new alicloud.ddos.BasicThreshold(\"example\", {\n instanceType: \"ecs\",\n instanceId: defaultInstance.id,\n internetIp: defaultInstance.publicIp,\n bps: 100,\n pps: 60000,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\nexample = alicloud.ddos.BasicThreshold(\"example\",\n instance_type=\"ecs\",\n instance_id=default_instance.id,\n internet_ip=default_instance.public_ip,\n bps=100,\n pps=60000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var example = new AliCloud.Ddos.BasicThreshold(\"example\", new()\n {\n InstanceType = \"ecs\",\n InstanceId = defaultInstance.Id,\n InternetIp = defaultInstance.PublicIp,\n Bps = 100,\n Pps = 60000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Ids[0]),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ddos.NewBasicThreshold(ctx, \"example\", \u0026ddos.BasicThresholdArgs{\nInstanceType: pulumi.String(\"ecs\"),\nInstanceId: defaultInstance.ID(),\nInternetIp: defaultInstance.PublicIp,\nBps: pulumi.Int(100),\nPps: pulumi.Int(60000),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ddos.BasicThreshold;\nimport com.pulumi.alicloud.ddos.BasicThresholdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var example = new BasicThreshold(\"example\", BasicThresholdArgs.builder()\n .instanceType(\"ecs\")\n .instanceId(defaultInstance.id())\n .internetIp(defaultInstance.publicIp())\n .bps(100)\n .pps(60000)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdos Basic Threshold can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/basicThreshold:BasicThreshold example \u003cinstance_type\u003e:\u003cinstance_id\u003e:\u003cinternet_ip\u003e\n```\n\n", + "description": "Provides a Ddos Basic Threshold resource.\n\nFor information about Ddos Basic Threshold and how to use it, see [What is Threshold](https://www.alibabacloud.com/help/en/ddos-protection/latest/describe-ip-ddosthreshold).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst example = new alicloud.ddos.BasicThreshold(\"example\", {\n instanceType: \"ecs\",\n instanceId: defaultInstance.id,\n internetIp: defaultInstance.publicIp,\n bps: 100,\n pps: 60000,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\nexample = alicloud.ddos.BasicThreshold(\"example\",\n instance_type=\"ecs\",\n instance_id=default_instance.id,\n internet_ip=default_instance.public_ip,\n bps=100,\n pps=60000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var example = new AliCloud.Ddos.BasicThreshold(\"example\", new()\n {\n InstanceType = \"ecs\",\n InstanceId = defaultInstance.Id,\n InternetIp = defaultInstance.PublicIp,\n Bps = 100,\n Pps = 60000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Ids[0]),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ddos.NewBasicThreshold(ctx, \"example\", \u0026ddos.BasicThresholdArgs{\nInstanceType: pulumi.String(\"ecs\"),\nInstanceId: defaultInstance.ID(),\nInternetIp: defaultInstance.PublicIp,\nBps: pulumi.Int(100),\nPps: pulumi.Int(60000),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ddos.BasicThreshold;\nimport com.pulumi.alicloud.ddos.BasicThresholdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var example = new BasicThreshold(\"example\", BasicThresholdArgs.builder()\n .instanceType(\"ecs\")\n .instanceId(defaultInstance.id())\n .internetIp(defaultInstance.publicIp())\n .bps(100)\n .pps(60000)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdos Basic Threshold can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/basicThreshold:BasicThreshold example \u003cinstance_type\u003e:\u003cinstance_id\u003e:\u003cinternet_ip\u003e\n```\n\n", "properties": { "bps": { "type": "integer", @@ -139466,7 +142095,7 @@ } }, "alicloud:ddos/bgpIp:BgpIp": { - "description": "Provides a Anti-DDoS Pro (DdosBgp) Ip resource.\n\n\n\nFor information about Anti-DDoS Pro (DdosBgp) Ip and how to use it, see [What is Ip](https://www.alibabacloud.com/help/en/ddos-protection/latest/addip).\n\n\u003e **NOTE:** Available since v1.180.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultDdosBgpInstance = new alicloud.ddos.DdosBgpInstance(\"default\", {\n name: name,\n baseBandwidth: 20,\n bandwidth: -1,\n ipCount: 100,\n ipType: \"IPv4\",\n normalBandwidth: 100,\n type: \"Enterprise\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultBgpIp = new alicloud.ddos.BgpIp(\"default\", {\n instanceId: defaultDdosBgpInstance.id,\n ip: defaultEipAddress.ipAddress,\n memberUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_ddos_bgp_instance = alicloud.ddos.DdosBgpInstance(\"default\",\n name=name,\n base_bandwidth=20,\n bandwidth=-1,\n ip_count=100,\n ip_type=\"IPv4\",\n normal_bandwidth=100,\n type=\"Enterprise\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_bgp_ip = alicloud.ddos.BgpIp(\"default\",\n instance_id=default_ddos_bgp_instance.id,\n ip=default_eip_address.ip_address,\n member_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultDdosBgpInstance = new AliCloud.Ddos.DdosBgpInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = 20,\n Bandwidth = -1,\n IpCount = 100,\n IpType = \"IPv4\",\n NormalBandwidth = 100,\n Type = \"Enterprise\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultBgpIp = new AliCloud.Ddos.BgpIp(\"default\", new()\n {\n InstanceId = defaultDdosBgpInstance.Id,\n Ip = defaultEipAddress.IpAddress,\n MemberUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDdosBgpInstance, err := ddos.NewDdosBgpInstance(ctx, \"default\", \u0026ddos.DdosBgpInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.Int(20),\n\t\t\tBandwidth: pulumi.Int(-1),\n\t\t\tIpCount: pulumi.Int(100),\n\t\t\tIpType: pulumi.String(\"IPv4\"),\n\t\t\tNormalBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Enterprise\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewBgpIp(ctx, \"default\", \u0026ddos.BgpIpArgs{\n\t\t\tInstanceId: defaultDdosBgpInstance.ID(),\n\t\t\tIp: defaultEipAddress.IpAddress,\n\t\t\tMemberUid: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ddos.DdosBgpInstance;\nimport com.pulumi.alicloud.ddos.DdosBgpInstanceArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ddos.BgpIp;\nimport com.pulumi.alicloud.ddos.BgpIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultDdosBgpInstance = new DdosBgpInstance(\"defaultDdosBgpInstance\", DdosBgpInstanceArgs.builder()\n .name(name)\n .baseBandwidth(20)\n .bandwidth(-1)\n .ipCount(100)\n .ipType(\"IPv4\")\n .normalBandwidth(100)\n .type(\"Enterprise\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultBgpIp = new BgpIp(\"defaultBgpIp\", BgpIpArgs.builder()\n .instanceId(defaultDdosBgpInstance.id())\n .ip(defaultEipAddress.ipAddress())\n .memberUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDdosBgpInstance:\n type: alicloud:ddos:DdosBgpInstance\n name: default\n properties:\n name: ${name}\n baseBandwidth: 20\n bandwidth: -1\n ipCount: 100\n ipType: IPv4\n normalBandwidth: 100\n type: Enterprise\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultBgpIp:\n type: alicloud:ddos:BgpIp\n name: default\n properties:\n instanceId: ${defaultDdosBgpInstance.id}\n ip: ${defaultEipAddress.ipAddress}\n memberUid: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/bgpIp:BgpIp example \u003cinstance_id\u003e:\u003cip\u003e\n```\n\n", + "description": "Provides a Anti-DDoS Pro (DdosBgp) Ip resource.\n\n\n\nFor information about Anti-DDoS Pro (DdosBgp) Ip and how to use it, see [What is Ip](https://www.alibabacloud.com/help/en/ddos-protection/latest/addip).\n\n\u003e **NOTE:** Available since v1.180.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultDdosBgpInstance = new alicloud.ddos.DdosBgpInstance(\"default\", {\n name: name,\n baseBandwidth: 20,\n bandwidth: -1,\n ipCount: 100,\n ipType: \"IPv4\",\n normalBandwidth: 100,\n type: \"Enterprise\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultBgpIp = new alicloud.ddos.BgpIp(\"default\", {\n instanceId: defaultDdosBgpInstance.id,\n ip: defaultEipAddress.ipAddress,\n memberUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_ddos_bgp_instance = alicloud.ddos.DdosBgpInstance(\"default\",\n name=name,\n base_bandwidth=20,\n bandwidth=-1,\n ip_count=100,\n ip_type=\"IPv4\",\n normal_bandwidth=100,\n type=\"Enterprise\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_bgp_ip = alicloud.ddos.BgpIp(\"default\",\n instance_id=default_ddos_bgp_instance.id,\n ip=default_eip_address.ip_address,\n member_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultDdosBgpInstance = new AliCloud.Ddos.DdosBgpInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = 20,\n Bandwidth = -1,\n IpCount = 100,\n IpType = \"IPv4\",\n NormalBandwidth = 100,\n Type = \"Enterprise\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultBgpIp = new AliCloud.Ddos.BgpIp(\"default\", new()\n {\n InstanceId = defaultDdosBgpInstance.Id,\n Ip = defaultEipAddress.IpAddress,\n MemberUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDdosBgpInstance, err := ddos.NewDdosBgpInstance(ctx, \"default\", \u0026ddos.DdosBgpInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.Int(20),\n\t\t\tBandwidth: pulumi.Int(-1),\n\t\t\tIpCount: pulumi.Int(100),\n\t\t\tIpType: pulumi.String(\"IPv4\"),\n\t\t\tNormalBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Enterprise\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewBgpIp(ctx, \"default\", \u0026ddos.BgpIpArgs{\n\t\t\tInstanceId: defaultDdosBgpInstance.ID(),\n\t\t\tIp: defaultEipAddress.IpAddress,\n\t\t\tMemberUid: pulumi.String(_default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ddos.DdosBgpInstance;\nimport com.pulumi.alicloud.ddos.DdosBgpInstanceArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ddos.BgpIp;\nimport com.pulumi.alicloud.ddos.BgpIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultDdosBgpInstance = new DdosBgpInstance(\"defaultDdosBgpInstance\", DdosBgpInstanceArgs.builder()\n .name(name)\n .baseBandwidth(20)\n .bandwidth(-1)\n .ipCount(100)\n .ipType(\"IPv4\")\n .normalBandwidth(100)\n .type(\"Enterprise\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultBgpIp = new BgpIp(\"defaultBgpIp\", BgpIpArgs.builder()\n .instanceId(defaultDdosBgpInstance.id())\n .ip(defaultEipAddress.ipAddress())\n .memberUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDdosBgpInstance:\n type: alicloud:ddos:DdosBgpInstance\n name: default\n properties:\n name: ${name}\n baseBandwidth: 20\n bandwidth: -1\n ipCount: 100\n ipType: IPv4\n normalBandwidth: 100\n type: Enterprise\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultBgpIp:\n type: alicloud:ddos:BgpIp\n name: default\n properties:\n instanceId: ${defaultDdosBgpInstance.id}\n ip: ${defaultEipAddress.ipAddress}\n memberUid: ${default.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/bgpIp:BgpIp example \u003cinstance_id\u003e:\u003cip\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -139554,7 +142183,7 @@ } }, "alicloud:ddos/bgpPolicy:BgpPolicy": { - "description": "Provides a Ddos Bgp Policy resource.\n\nDdos protection policy.\n\nFor information about Ddos Bgp Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/anti-ddos/anti-ddos-origin/developer-reference/api-ddosbgp-2018-07-20-createpolicy).\n\n\u003e **NOTE:** Available since v1.226.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_exampleacc_bgp32594\";\nconst policyName = config.get(\"policyName\") || \"example_l4_policy\";\nconst _default = new alicloud.ddos.BgpPolicy(\"default\", {\n content: {\n enableDefense: false,\n layer4RuleLists: [{\n method: \"hex\",\n match: \"1\",\n action: \"1\",\n limited: 0,\n conditionLists: [{\n arg: \"3C\",\n position: 1,\n depth: 2,\n }],\n name: \"11\",\n priority: 10,\n }],\n },\n type: \"l4\",\n policyName: \"tf_exampleacc_bgp32594\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_exampleacc_bgp32594\"\npolicy_name = config.get(\"policyName\")\nif policy_name is None:\n policy_name = \"example_l4_policy\"\ndefault = alicloud.ddos.BgpPolicy(\"default\",\n content={\n \"enable_defense\": False,\n \"layer4_rule_lists\": [{\n \"method\": \"hex\",\n \"match\": \"1\",\n \"action\": \"1\",\n \"limited\": 0,\n \"condition_lists\": [{\n \"arg\": \"3C\",\n \"position\": 1,\n \"depth\": 2,\n }],\n \"name\": \"11\",\n \"priority\": 10,\n }],\n },\n type=\"l4\",\n policy_name=\"tf_exampleacc_bgp32594\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_exampleacc_bgp32594\";\n var policyName = config.Get(\"policyName\") ?? \"example_l4_policy\";\n var @default = new AliCloud.Ddos.BgpPolicy(\"default\", new()\n {\n Content = new AliCloud.Ddos.Inputs.BgpPolicyContentArgs\n {\n EnableDefense = false,\n Layer4RuleLists = new[]\n {\n new AliCloud.Ddos.Inputs.BgpPolicyContentLayer4RuleListArgs\n {\n Method = \"hex\",\n Match = \"1\",\n Action = \"1\",\n Limited = 0,\n ConditionLists = new[]\n {\n new AliCloud.Ddos.Inputs.BgpPolicyContentLayer4RuleListConditionListArgs\n {\n Arg = \"3C\",\n Position = 1,\n Depth = 2,\n },\n },\n Name = \"11\",\n Priority = 10,\n },\n },\n },\n Type = \"l4\",\n PolicyName = \"tf_exampleacc_bgp32594\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_exampleacc_bgp32594\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tpolicyName := \"example_l4_policy\"\n\t\tif param := cfg.Get(\"policyName\"); param != \"\" {\n\t\t\tpolicyName = param\n\t\t}\n\t\t_, err := ddos.NewBgpPolicy(ctx, \"default\", \u0026ddos.BgpPolicyArgs{\n\t\t\tContent: \u0026ddos.BgpPolicyContentArgs{\n\t\t\t\tEnableDefense: pulumi.Bool(false),\n\t\t\t\tLayer4RuleLists: ddos.BgpPolicyContentLayer4RuleListArray{\n\t\t\t\t\t\u0026ddos.BgpPolicyContentLayer4RuleListArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"hex\"),\n\t\t\t\t\t\tMatch: pulumi.String(\"1\"),\n\t\t\t\t\t\tAction: pulumi.String(\"1\"),\n\t\t\t\t\t\tLimited: pulumi.Int(0),\n\t\t\t\t\t\tConditionLists: ddos.BgpPolicyContentLayer4RuleListConditionListArray{\n\t\t\t\t\t\t\t\u0026ddos.BgpPolicyContentLayer4RuleListConditionListArgs{\n\t\t\t\t\t\t\t\tArg: pulumi.String(\"3C\"),\n\t\t\t\t\t\t\t\tPosition: pulumi.Int(1),\n\t\t\t\t\t\t\t\tDepth: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"11\"),\n\t\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"l4\"),\n\t\t\tPolicyName: pulumi.String(\"tf_exampleacc_bgp32594\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ddos.BgpPolicy;\nimport com.pulumi.alicloud.ddos.BgpPolicyArgs;\nimport com.pulumi.alicloud.ddos.inputs.BgpPolicyContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_exampleacc_bgp32594\");\n final var policyName = config.get(\"policyName\").orElse(\"example_l4_policy\");\n var default_ = new BgpPolicy(\"default\", BgpPolicyArgs.builder()\n .content(BgpPolicyContentArgs.builder()\n .enableDefense(false)\n .layer4RuleLists(BgpPolicyContentLayer4RuleListArgs.builder()\n .method(\"hex\")\n .match(\"1\")\n .action(\"1\")\n .limited(0)\n .conditionLists(BgpPolicyContentLayer4RuleListConditionListArgs.builder()\n .arg(\"3C\")\n .position(1)\n .depth(2)\n .build())\n .name(\"11\")\n .priority(10)\n .build())\n .build())\n .type(\"l4\")\n .policyName(\"tf_exampleacc_bgp32594\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_exampleacc_bgp32594\n policyName:\n type: string\n default: example_l4_policy\nresources:\n default:\n type: alicloud:ddos:BgpPolicy\n properties:\n content:\n enableDefense: 'false'\n layer4RuleLists:\n - method: hex\n match: '1'\n action: '1'\n limited: '0'\n conditionLists:\n - arg: 3C\n position: '1'\n depth: '2'\n name: '11'\n priority: '10'\n type: l4\n policyName: tf_exampleacc_bgp32594\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdos Bgp Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/bgpPolicy:BgpPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Ddos Bgp Policy resource.\n\nDdos protection policy.\n\nFor information about Ddos Bgp Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/anti-ddos/anti-ddos-origin/developer-reference/api-ddosbgp-2018-07-20-createpolicy).\n\n\u003e **NOTE:** Available since v1.226.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_exampleacc_bgp32594\";\nconst policyName = config.get(\"policyName\") || \"example_l4_policy\";\nconst _default = new alicloud.ddos.BgpPolicy(\"default\", {\n content: {\n enableDefense: false,\n layer4RuleLists: [{\n method: \"hex\",\n match: \"1\",\n action: \"1\",\n limited: 0,\n conditionLists: [{\n arg: \"3C\",\n position: 1,\n depth: 2,\n }],\n name: \"11\",\n priority: 10,\n }],\n },\n type: \"l4\",\n policyName: \"tf_exampleacc_bgp32594\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_exampleacc_bgp32594\"\npolicy_name = config.get(\"policyName\")\nif policy_name is None:\n policy_name = \"example_l4_policy\"\ndefault = alicloud.ddos.BgpPolicy(\"default\",\n content={\n \"enable_defense\": False,\n \"layer4_rule_lists\": [{\n \"method\": \"hex\",\n \"match\": \"1\",\n \"action\": \"1\",\n \"limited\": 0,\n \"condition_lists\": [{\n \"arg\": \"3C\",\n \"position\": 1,\n \"depth\": 2,\n }],\n \"name\": \"11\",\n \"priority\": 10,\n }],\n },\n type=\"l4\",\n policy_name=\"tf_exampleacc_bgp32594\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_exampleacc_bgp32594\";\n var policyName = config.Get(\"policyName\") ?? \"example_l4_policy\";\n var @default = new AliCloud.Ddos.BgpPolicy(\"default\", new()\n {\n Content = new AliCloud.Ddos.Inputs.BgpPolicyContentArgs\n {\n EnableDefense = false,\n Layer4RuleLists = new[]\n {\n new AliCloud.Ddos.Inputs.BgpPolicyContentLayer4RuleListArgs\n {\n Method = \"hex\",\n Match = \"1\",\n Action = \"1\",\n Limited = 0,\n ConditionLists = new[]\n {\n new AliCloud.Ddos.Inputs.BgpPolicyContentLayer4RuleListConditionListArgs\n {\n Arg = \"3C\",\n Position = 1,\n Depth = 2,\n },\n },\n Name = \"11\",\n Priority = 10,\n },\n },\n },\n Type = \"l4\",\n PolicyName = \"tf_exampleacc_bgp32594\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_exampleacc_bgp32594\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tpolicyName := \"example_l4_policy\"\n\t\tif param := cfg.Get(\"policyName\"); param != \"\" {\n\t\t\tpolicyName = param\n\t\t}\n\t\t_, err := ddos.NewBgpPolicy(ctx, \"default\", \u0026ddos.BgpPolicyArgs{\n\t\t\tContent: \u0026ddos.BgpPolicyContentArgs{\n\t\t\t\tEnableDefense: pulumi.Bool(false),\n\t\t\t\tLayer4RuleLists: ddos.BgpPolicyContentLayer4RuleListArray{\n\t\t\t\t\t\u0026ddos.BgpPolicyContentLayer4RuleListArgs{\n\t\t\t\t\t\tMethod: pulumi.String(\"hex\"),\n\t\t\t\t\t\tMatch: pulumi.String(\"1\"),\n\t\t\t\t\t\tAction: pulumi.String(\"1\"),\n\t\t\t\t\t\tLimited: pulumi.Int(0),\n\t\t\t\t\t\tConditionLists: ddos.BgpPolicyContentLayer4RuleListConditionListArray{\n\t\t\t\t\t\t\t\u0026ddos.BgpPolicyContentLayer4RuleListConditionListArgs{\n\t\t\t\t\t\t\t\tArg: pulumi.String(\"3C\"),\n\t\t\t\t\t\t\t\tPosition: pulumi.Int(1),\n\t\t\t\t\t\t\t\tDepth: pulumi.Int(2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"11\"),\n\t\t\t\t\t\tPriority: pulumi.Int(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"l4\"),\n\t\t\tPolicyName: pulumi.String(\"tf_exampleacc_bgp32594\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ddos.BgpPolicy;\nimport com.pulumi.alicloud.ddos.BgpPolicyArgs;\nimport com.pulumi.alicloud.ddos.inputs.BgpPolicyContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_exampleacc_bgp32594\");\n final var policyName = config.get(\"policyName\").orElse(\"example_l4_policy\");\n var default_ = new BgpPolicy(\"default\", BgpPolicyArgs.builder()\n .content(BgpPolicyContentArgs.builder()\n .enableDefense(false)\n .layer4RuleLists(BgpPolicyContentLayer4RuleListArgs.builder()\n .method(\"hex\")\n .match(\"1\")\n .action(\"1\")\n .limited(0)\n .conditionLists(BgpPolicyContentLayer4RuleListConditionListArgs.builder()\n .arg(\"3C\")\n .position(1)\n .depth(2)\n .build())\n .name(\"11\")\n .priority(10)\n .build())\n .build())\n .type(\"l4\")\n .policyName(\"tf_exampleacc_bgp32594\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_exampleacc_bgp32594\n policyName:\n type: string\n default: example_l4_policy\nresources:\n default:\n type: alicloud:ddos:BgpPolicy\n properties:\n content:\n enableDefense: 'false'\n layer4RuleLists:\n - method: hex\n match: '1'\n action: '1'\n limited: '0'\n conditionLists:\n - arg: 3C\n position: '1'\n depth: '2'\n name: '11'\n priority: '10'\n type: l4\n policyName: tf_exampleacc_bgp32594\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdos Bgp Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/bgpPolicy:BgpPolicy example \u003cid\u003e\n```\n\n", "properties": { "content": { "$ref": "#/types/alicloud:ddos/BgpPolicyContent:BgpPolicyContent", @@ -139813,7 +142442,7 @@ ] }, "alicloud:ddos/ddosCooInstance:DdosCooInstance": { - "description": "Provides a BGP-line Anti-DDoS Pro(DdosCoo) Instance resource.\n\nFor information about BGP-line Anti-DDoS Pro(DdosCoo) Instance and how to use it, see [What is Anti-DDoS Pro Instance](https://www.alibabacloud.com/help/en/ddos-protection/latest/create-an-anti-ddos-pro-or-anti-ddos-premium-instance-by-calling-an-api-operation).\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The endpoint of bssopenapi used only support \"business.aliyuncs.com\" at present.\n\n\u003e **NOTE:** From version 1.214.0, if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ddoscoo`\" pulumi-lang-dotnet=\"`Ddoscoo`\" pulumi-lang-go=\"`ddoscoo`\" pulumi-lang-python=\"`ddoscoo`\" pulumi-lang-yaml=\"`ddoscoo`\" pulumi-lang-java=\"`ddoscoo`\"\u003e`ddoscoo`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ddoscooIntl`\" pulumi-lang-dotnet=\"`DdoscooIntl`\" pulumi-lang-go=\"`ddoscooIntl`\" pulumi-lang-python=\"`ddoscoo_intl`\" pulumi-lang-yaml=\"`ddoscooIntl`\" pulumi-lang-java=\"`ddoscooIntl`\"\u003e`ddoscoo_intl`\u003c/span\u003e, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `cn-hangzhou`, and if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to `ddosDip`, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `ap-southeast-1`.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n baseBandwidth: \"30\",\n bandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n productType: \"ddoscoo\",\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n base_bandwidth=\"30\",\n bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n product_type=\"ddoscoo\",\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = \"30\",\n Bandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n ProductType = \"ddoscoo\",\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t\tPeriod: 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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .baseBandwidth(\"30\")\n .bandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .productType(\"ddoscoo\")\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n baseBandwidth: '30'\n bandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n productType: ddoscoo\n period: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdosCoo Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/ddosCooInstance:DdosCooInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a BGP-line Anti-DDoS Pro(DdosCoo) Instance resource.\n\nFor information about BGP-line Anti-DDoS Pro(DdosCoo) Instance and how to use it, see [What is Anti-DDoS Pro Instance](https://www.alibabacloud.com/help/en/ddos-protection/latest/create-an-anti-ddos-pro-or-anti-ddos-premium-instance-by-calling-an-api-operation).\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The endpoint of bssopenapi used only support \"business.aliyuncs.com\" at present.\n\n\u003e **NOTE:** From version 1.214.0, if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ddoscoo`\" pulumi-lang-dotnet=\"`Ddoscoo`\" pulumi-lang-go=\"`ddoscoo`\" pulumi-lang-python=\"`ddoscoo`\" pulumi-lang-yaml=\"`ddoscoo`\" pulumi-lang-java=\"`ddoscoo`\"\u003e`ddoscoo`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ddoscooIntl`\" pulumi-lang-dotnet=\"`DdoscooIntl`\" pulumi-lang-go=\"`ddoscooIntl`\" pulumi-lang-python=\"`ddoscoo_intl`\" pulumi-lang-yaml=\"`ddoscooIntl`\" pulumi-lang-java=\"`ddoscooIntl`\"\u003e`ddoscoo_intl`\u003c/span\u003e, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `cn-hangzhou`, and if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to `ddosDip`, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `ap-southeast-1`.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n baseBandwidth: \"30\",\n bandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n productType: \"ddoscoo\",\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n base_bandwidth=\"30\",\n bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n product_type=\"ddoscoo\",\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = \"30\",\n Bandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n ProductType = \"ddoscoo\",\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t\tPeriod: 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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .baseBandwidth(\"30\")\n .bandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .productType(\"ddoscoo\")\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n baseBandwidth: '30'\n bandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n productType: ddoscoo\n period: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdosCoo Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/ddosCooInstance:DdosCooInstance example \u003cid\u003e\n```\n\n", "properties": { "addressType": { "type": "string", @@ -140093,7 +142722,7 @@ ] }, "alicloud:ddos/domainResource:DomainResource": { - "description": "Provides a Ddos Coo Domain Resource resource.\n\n\n\nFor information about Ddos Coo Domain Resource and how to use it, see [What is Domain Resource](https://www.alibabacloud.com/help/en/anti-ddos/anti-ddos-pro-and-premium/developer-reference/api-ddoscoo-2020-01-01-createdomainresource).\n\n\u003e **NOTE:** Available since v1.123.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst domain = config.get(\"domain\") || \"tf-example.alibaba.com\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n bandwidth: \"30\",\n baseBandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n period: 1,\n productType: \"ddoscoo\",\n});\nconst defaultDomainResource = new alicloud.ddos.DomainResource(\"default\", {\n domain: domain,\n rsType: 0,\n instanceIds: [_default.id],\n realServers: [\"177.167.32.11\"],\n httpsExt: ` {\n \\\\\"Http2\\\\\": 1,\n \\\\\"Http2https\\\\\": 0,\n \\\\\"Https2http\\\\\": 0\n }\n`,\n proxyTypes: [{\n proxyPorts: [443],\n proxyType: \"https\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-example.alibaba.com\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n bandwidth=\"30\",\n base_bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n period=1,\n product_type=\"ddoscoo\")\ndefault_domain_resource = alicloud.ddos.DomainResource(\"default\",\n domain=domain,\n rs_type=0,\n instance_ids=[default.id],\n real_servers=[\"177.167.32.11\"],\n https_ext=\"\"\" {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n\"\"\",\n proxy_types=[{\n \"proxy_ports\": [443],\n \"proxy_type\": \"https\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var domain = config.Get(\"domain\") ?? \"tf-example.alibaba.com\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n Bandwidth = \"30\",\n BaseBandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n Period = 1,\n ProductType = \"ddoscoo\",\n });\n\n var defaultDomainResource = new AliCloud.Ddos.DomainResource(\"default\", new()\n {\n Domain = domain,\n RsType = 0,\n InstanceIds = new[]\n {\n @default.Id,\n },\n RealServers = new[]\n {\n \"177.167.32.11\",\n },\n HttpsExt = @\" {\n \\\"\"Http2\\\"\": 1,\n \\\"\"Http2https\\\"\": 0,\n \\\"\"Https2http\\\"\": 0\n }\n\",\n ProxyTypes = new[]\n {\n new AliCloud.Ddos.Inputs.DomainResourceProxyTypeArgs\n {\n ProxyPorts = new[]\n {\n 443,\n },\n ProxyType = \"https\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"tf-example.alibaba.com\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_default, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewDomainResource(ctx, \"default\", \u0026ddos.DomainResourceArgs{\n\t\t\tDomain: pulumi.String(domain),\n\t\t\tRsType: pulumi.Int(0),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tRealServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"177.167.32.11\"),\n\t\t\t},\n\t\t\tHttpsExt: pulumi.String(` {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n`),\n\t\t\tProxyTypes: ddos.DomainResourceProxyTypeArray{\n\t\t\t\t\u0026ddos.DomainResourceProxyTypeArgs{\n\t\t\t\t\tProxyPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tProxyType: pulumi.String(\"https\"),\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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport com.pulumi.alicloud.ddos.DomainResource;\nimport com.pulumi.alicloud.ddos.DomainResourceArgs;\nimport com.pulumi.alicloud.ddos.inputs.DomainResourceProxyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var domain = config.get(\"domain\").orElse(\"tf-example.alibaba.com\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .bandwidth(\"30\")\n .baseBandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .period(1)\n .productType(\"ddoscoo\")\n .build());\n\n var defaultDomainResource = new DomainResource(\"defaultDomainResource\", DomainResourceArgs.builder()\n .domain(domain)\n .rsType(0)\n .instanceIds(default_.id())\n .realServers(\"177.167.32.11\")\n .httpsExt(\"\"\"\n {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n \"\"\")\n .proxyTypes(DomainResourceProxyTypeArgs.builder()\n .proxyPorts(443)\n .proxyType(\"https\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n domain:\n type: string\n default: tf-example.alibaba.com\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n bandwidth: '30'\n baseBandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n period: '1'\n productType: ddoscoo\n defaultDomainResource:\n type: alicloud:ddos:DomainResource\n name: default\n properties:\n domain: ${domain}\n rsType: 0\n instanceIds:\n - ${default.id}\n realServers:\n - 177.167.32.11\n httpsExt: |2\n {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n proxyTypes:\n - proxyPorts:\n - 443\n proxyType: https\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdos Coo Domain Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/domainResource:DomainResource example \u003cid\u003e\n```\n\n", + "description": "Provides a Ddos Coo Domain Resource resource.\n\n\n\nFor information about Ddos Coo Domain Resource and how to use it, see [What is Domain Resource](https://www.alibabacloud.com/help/en/anti-ddos/anti-ddos-pro-and-premium/developer-reference/api-ddoscoo-2020-01-01-createdomainresource).\n\n\u003e **NOTE:** Available since v1.123.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst domain = config.get(\"domain\") || \"tf-example.alibaba.com\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n bandwidth: \"30\",\n baseBandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n period: 1,\n productType: \"ddoscoo\",\n});\nconst defaultDomainResource = new alicloud.ddos.DomainResource(\"default\", {\n domain: domain,\n rsType: 0,\n instanceIds: [_default.id],\n realServers: [\"177.167.32.11\"],\n httpsExt: ` {\n \\\\\"Http2\\\\\": 1,\n \\\\\"Http2https\\\\\": 0,\n \\\\\"Https2http\\\\\": 0\n }\n`,\n proxyTypes: [{\n proxyPorts: [443],\n proxyType: \"https\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"tf-example.alibaba.com\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n bandwidth=\"30\",\n base_bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n period=1,\n product_type=\"ddoscoo\")\ndefault_domain_resource = alicloud.ddos.DomainResource(\"default\",\n domain=domain,\n rs_type=0,\n instance_ids=[default.id],\n real_servers=[\"177.167.32.11\"],\n https_ext=\"\"\" {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n\"\"\",\n proxy_types=[{\n \"proxy_ports\": [443],\n \"proxy_type\": \"https\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var domain = config.Get(\"domain\") ?? \"tf-example.alibaba.com\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n Bandwidth = \"30\",\n BaseBandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n Period = 1,\n ProductType = \"ddoscoo\",\n });\n\n var defaultDomainResource = new AliCloud.Ddos.DomainResource(\"default\", new()\n {\n Domain = domain,\n RsType = 0,\n InstanceIds = new[]\n {\n @default.Id,\n },\n RealServers = new[]\n {\n \"177.167.32.11\",\n },\n HttpsExt = @\" {\n \\\"\"Http2\\\"\": 1,\n \\\"\"Http2https\\\"\": 0,\n \\\"\"Https2http\\\"\": 0\n }\n\",\n ProxyTypes = new[]\n {\n new AliCloud.Ddos.Inputs.DomainResourceProxyTypeArgs\n {\n ProxyPorts = new[]\n {\n 443,\n },\n ProxyType = \"https\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"tf-example.alibaba.com\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_default, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewDomainResource(ctx, \"default\", \u0026ddos.DomainResourceArgs{\n\t\t\tDomain: pulumi.String(domain),\n\t\t\tRsType: pulumi.Int(0),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t\tRealServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"177.167.32.11\"),\n\t\t\t},\n\t\t\tHttpsExt: pulumi.String(` {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n`),\n\t\t\tProxyTypes: ddos.DomainResourceProxyTypeArray{\n\t\t\t\t\u0026ddos.DomainResourceProxyTypeArgs{\n\t\t\t\t\tProxyPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(443),\n\t\t\t\t\t},\n\t\t\t\t\tProxyType: pulumi.String(\"https\"),\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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport com.pulumi.alicloud.ddos.DomainResource;\nimport com.pulumi.alicloud.ddos.DomainResourceArgs;\nimport com.pulumi.alicloud.ddos.inputs.DomainResourceProxyTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var domain = config.get(\"domain\").orElse(\"tf-example.alibaba.com\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .bandwidth(\"30\")\n .baseBandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .period(1)\n .productType(\"ddoscoo\")\n .build());\n\n var defaultDomainResource = new DomainResource(\"defaultDomainResource\", DomainResourceArgs.builder()\n .domain(domain)\n .rsType(0)\n .instanceIds(default_.id())\n .realServers(\"177.167.32.11\")\n .httpsExt(\"\"\"\n {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n \"\"\")\n .proxyTypes(DomainResourceProxyTypeArgs.builder()\n .proxyPorts(443)\n .proxyType(\"https\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n domain:\n type: string\n default: tf-example.alibaba.com\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n bandwidth: '30'\n baseBandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n period: '1'\n productType: ddoscoo\n defaultDomainResource:\n type: alicloud:ddos:DomainResource\n name: default\n properties:\n domain: ${domain}\n rsType: 0\n instanceIds:\n - ${default.id}\n realServers:\n - 177.167.32.11\n httpsExt: |2\n {\n \\\"Http2\\\": 1,\n \\\"Http2https\\\": 0,\n \\\"Https2http\\\": 0\n }\n proxyTypes:\n - proxyPorts:\n - 443\n proxyType: https\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdos Coo Domain Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/domainResource:DomainResource example \u003cid\u003e\n```\n\n", "properties": { "cert": { "type": "string", @@ -140326,7 +142955,7 @@ } }, "alicloud:ddos/port:Port": { - "description": "Provides a Ddos Coo Port resource.\n\n\nFor information about Anti-DDoS Pro Port and how to use it, see [What is Port](https://www.alibabacloud.com/help/en/ddos-protection/latest/api-ddoscoo-2020-01-01-createport).\n\n\u003e **NOTE:** Available since v1.123.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n bandwidth: \"30\",\n baseBandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n period: 1,\n productType: \"ddoscoo\",\n});\nconst defaultPort = new alicloud.ddos.Port(\"default\", {\n instanceId: _default.id,\n frontendPort: \"7001\",\n backendPort: \"7002\",\n frontendProtocol: \"tcp\",\n realServers: [\n \"1.1.1.1\",\n \"2.2.2.2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n bandwidth=\"30\",\n base_bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n period=1,\n product_type=\"ddoscoo\")\ndefault_port = alicloud.ddos.Port(\"default\",\n instance_id=default.id,\n frontend_port=\"7001\",\n backend_port=\"7002\",\n frontend_protocol=\"tcp\",\n real_servers=[\n \"1.1.1.1\",\n \"2.2.2.2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n Bandwidth = \"30\",\n BaseBandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n Period = 1,\n ProductType = \"ddoscoo\",\n });\n\n var defaultPort = new AliCloud.Ddos.Port(\"default\", new()\n {\n InstanceId = @default.Id,\n FrontendPort = \"7001\",\n BackendPort = \"7002\",\n FrontendProtocol = \"tcp\",\n RealServers = new[]\n {\n \"1.1.1.1\",\n \"2.2.2.2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewPort(ctx, \"default\", \u0026ddos.PortArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tFrontendPort: pulumi.String(\"7001\"),\n\t\t\tBackendPort: pulumi.String(\"7002\"),\n\t\t\tFrontendProtocol: pulumi.String(\"tcp\"),\n\t\t\tRealServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t\tpulumi.String(\"2.2.2.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport com.pulumi.alicloud.ddos.Port;\nimport com.pulumi.alicloud.ddos.PortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .bandwidth(\"30\")\n .baseBandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .period(1)\n .productType(\"ddoscoo\")\n .build());\n\n var defaultPort = new Port(\"defaultPort\", PortArgs.builder()\n .instanceId(default_.id())\n .frontendPort(\"7001\")\n .backendPort(\"7002\")\n .frontendProtocol(\"tcp\")\n .realServers( \n \"1.1.1.1\",\n \"2.2.2.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n bandwidth: '30'\n baseBandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n period: '1'\n productType: ddoscoo\n defaultPort:\n type: alicloud:ddos:Port\n name: default\n properties:\n instanceId: ${default.id}\n frontendPort: '7001'\n backendPort: '7002'\n frontendProtocol: tcp\n realServers:\n - 1.1.1.1\n - 2.2.2.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdos Coo Port can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/port:Port example \u003cinstance_id\u003e:\u003cfrontend_port\u003e:\u003cfrontend_protocol\u003e\n```\n\n", + "description": "Provides a Ddos Coo Port resource.\n\n\nFor information about Anti-DDoS Pro Port and how to use it, see [What is Port](https://www.alibabacloud.com/help/en/ddos-protection/latest/api-ddoscoo-2020-01-01-createport).\n\n\u003e **NOTE:** Available since v1.123.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n bandwidth: \"30\",\n baseBandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n period: 1,\n productType: \"ddoscoo\",\n});\nconst defaultPort = new alicloud.ddos.Port(\"default\", {\n instanceId: _default.id,\n frontendPort: \"7001\",\n backendPort: \"7002\",\n frontendProtocol: \"tcp\",\n realServers: [\n \"1.1.1.1\",\n \"2.2.2.2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n bandwidth=\"30\",\n base_bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n period=1,\n product_type=\"ddoscoo\")\ndefault_port = alicloud.ddos.Port(\"default\",\n instance_id=default.id,\n frontend_port=\"7001\",\n backend_port=\"7002\",\n frontend_protocol=\"tcp\",\n real_servers=[\n \"1.1.1.1\",\n \"2.2.2.2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n Bandwidth = \"30\",\n BaseBandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n Period = 1,\n ProductType = \"ddoscoo\",\n });\n\n var defaultPort = new AliCloud.Ddos.Port(\"default\", new()\n {\n InstanceId = @default.Id,\n FrontendPort = \"7001\",\n BackendPort = \"7002\",\n FrontendProtocol = \"tcp\",\n RealServers = new[]\n {\n \"1.1.1.1\",\n \"2.2.2.2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ddos.NewPort(ctx, \"default\", \u0026ddos.PortArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tFrontendPort: pulumi.String(\"7001\"),\n\t\t\tBackendPort: pulumi.String(\"7002\"),\n\t\t\tFrontendProtocol: pulumi.String(\"tcp\"),\n\t\t\tRealServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t\tpulumi.String(\"2.2.2.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport com.pulumi.alicloud.ddos.Port;\nimport com.pulumi.alicloud.ddos.PortArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .bandwidth(\"30\")\n .baseBandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .period(1)\n .productType(\"ddoscoo\")\n .build());\n\n var defaultPort = new Port(\"defaultPort\", PortArgs.builder()\n .instanceId(default_.id())\n .frontendPort(\"7001\")\n .backendPort(\"7002\")\n .frontendProtocol(\"tcp\")\n .realServers( \n \"1.1.1.1\",\n \"2.2.2.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n bandwidth: '30'\n baseBandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n period: '1'\n productType: ddoscoo\n defaultPort:\n type: alicloud:ddos:Port\n name: default\n properties:\n instanceId: ${default.id}\n frontendPort: '7001'\n backendPort: '7002'\n frontendProtocol: tcp\n realServers:\n - 1.1.1.1\n - 2.2.2.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdos Coo Port can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/port:Port example \u003cinstance_id\u003e:\u003cfrontend_port\u003e:\u003cfrontend_protocol\u003e\n```\n\n", "properties": { "backendPort": { "type": "string", @@ -140441,7 +143070,7 @@ } }, "alicloud:ddos/schedulerRule:SchedulerRule": { - "description": "Provides a DdosCoo Scheduler Rule resource. For information about DdosCoo Scheduler Rule and how to use it, see[What is DdosCoo Scheduler Rule](https://www.alibabacloud.com/help/en/ddos-protection/latest/api-ddoscoo-2020-01-01-createschedulerrule).\n\n\u003e **NOTE:** Available since v1.86.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.ddos.SchedulerRule(\"example\", {\n ruleName: name,\n ruleType: 3,\n rules: [\n {\n priority: 100,\n regionId: \"cn-hangzhou\",\n type: \"A\",\n value: \"127.0.0.1\",\n valueType: 3,\n },\n {\n priority: 50,\n regionId: \"cn-hangzhou\",\n type: \"A\",\n value: \"127.0.0.0\",\n valueType: 1,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.ddos.SchedulerRule(\"example\",\n rule_name=name,\n rule_type=3,\n rules=[\n {\n \"priority\": 100,\n \"region_id\": \"cn-hangzhou\",\n \"type\": \"A\",\n \"value\": \"127.0.0.1\",\n \"value_type\": 3,\n },\n {\n \"priority\": 50,\n \"region_id\": \"cn-hangzhou\",\n \"type\": \"A\",\n \"value\": \"127.0.0.0\",\n \"value_type\": 1,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Ddos.SchedulerRule(\"example\", new()\n {\n RuleName = name,\n RuleType = 3,\n Rules = new[]\n {\n new AliCloud.Ddos.Inputs.SchedulerRuleRuleArgs\n {\n Priority = 100,\n RegionId = \"cn-hangzhou\",\n Type = \"A\",\n Value = \"127.0.0.1\",\n ValueType = 3,\n },\n new AliCloud.Ddos.Inputs.SchedulerRuleRuleArgs\n {\n Priority = 50,\n RegionId = \"cn-hangzhou\",\n Type = \"A\",\n Value = \"127.0.0.0\",\n ValueType = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewSchedulerRule(ctx, \"example\", \u0026ddos.SchedulerRuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tRuleType: pulumi.Int(3),\n\t\t\tRules: ddos.SchedulerRuleRuleArray{\n\t\t\t\t\u0026ddos.SchedulerRuleRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(100),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\tValue: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tValueType: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\t\u0026ddos.SchedulerRuleRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\tValue: pulumi.String(\"127.0.0.0\"),\n\t\t\t\t\tValueType: 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.alicloud.ddos.SchedulerRule;\nimport com.pulumi.alicloud.ddos.SchedulerRuleArgs;\nimport com.pulumi.alicloud.ddos.inputs.SchedulerRuleRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new SchedulerRule(\"example\", SchedulerRuleArgs.builder()\n .ruleName(name)\n .ruleType(3)\n .rules( \n SchedulerRuleRuleArgs.builder()\n .priority(100)\n .regionId(\"cn-hangzhou\")\n .type(\"A\")\n .value(\"127.0.0.1\")\n .valueType(3)\n .build(),\n SchedulerRuleRuleArgs.builder()\n .priority(50)\n .regionId(\"cn-hangzhou\")\n .type(\"A\")\n .value(\"127.0.0.0\")\n .valueType(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:ddos:SchedulerRule\n properties:\n ruleName: ${name}\n ruleType: 3\n rules:\n - priority: 100\n regionId: cn-hangzhou\n type: A\n value: 127.0.0.1\n valueType: 3\n - priority: 50\n regionId: cn-hangzhou\n type: A\n value: 127.0.0.0\n valueType: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdosCoo Scheduler Rule can be imported using the id or the rule name, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/schedulerRule:SchedulerRule example fbb20dc77e8fc******\n```\n\n", + "description": "Provides a DdosCoo Scheduler Rule resource. For information about DdosCoo Scheduler Rule and how to use it, see[What is DdosCoo Scheduler Rule](https://www.alibabacloud.com/help/en/ddos-protection/latest/api-ddoscoo-2020-01-01-createschedulerrule).\n\n\u003e **NOTE:** Available since v1.86.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.ddos.SchedulerRule(\"example\", {\n ruleName: name,\n ruleType: 3,\n rules: [\n {\n priority: 100,\n regionId: \"cn-hangzhou\",\n type: \"A\",\n value: \"127.0.0.1\",\n valueType: 3,\n },\n {\n priority: 50,\n regionId: \"cn-hangzhou\",\n type: \"A\",\n value: \"127.0.0.0\",\n valueType: 1,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.ddos.SchedulerRule(\"example\",\n rule_name=name,\n rule_type=3,\n rules=[\n {\n \"priority\": 100,\n \"region_id\": \"cn-hangzhou\",\n \"type\": \"A\",\n \"value\": \"127.0.0.1\",\n \"value_type\": 3,\n },\n {\n \"priority\": 50,\n \"region_id\": \"cn-hangzhou\",\n \"type\": \"A\",\n \"value\": \"127.0.0.0\",\n \"value_type\": 1,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Ddos.SchedulerRule(\"example\", new()\n {\n RuleName = name,\n RuleType = 3,\n Rules = new[]\n {\n new AliCloud.Ddos.Inputs.SchedulerRuleRuleArgs\n {\n Priority = 100,\n RegionId = \"cn-hangzhou\",\n Type = \"A\",\n Value = \"127.0.0.1\",\n ValueType = 3,\n },\n new AliCloud.Ddos.Inputs.SchedulerRuleRuleArgs\n {\n Priority = 50,\n RegionId = \"cn-hangzhou\",\n Type = \"A\",\n Value = \"127.0.0.0\",\n ValueType = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewSchedulerRule(ctx, \"example\", \u0026ddos.SchedulerRuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tRuleType: pulumi.Int(3),\n\t\t\tRules: ddos.SchedulerRuleRuleArray{\n\t\t\t\t\u0026ddos.SchedulerRuleRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(100),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\tValue: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tValueType: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t\t\u0026ddos.SchedulerRuleRuleArgs{\n\t\t\t\t\tPriority: pulumi.Int(50),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t\tType: pulumi.String(\"A\"),\n\t\t\t\t\tValue: pulumi.String(\"127.0.0.0\"),\n\t\t\t\t\tValueType: 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.alicloud.ddos.SchedulerRule;\nimport com.pulumi.alicloud.ddos.SchedulerRuleArgs;\nimport com.pulumi.alicloud.ddos.inputs.SchedulerRuleRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new SchedulerRule(\"example\", SchedulerRuleArgs.builder()\n .ruleName(name)\n .ruleType(3)\n .rules( \n SchedulerRuleRuleArgs.builder()\n .priority(100)\n .regionId(\"cn-hangzhou\")\n .type(\"A\")\n .value(\"127.0.0.1\")\n .valueType(3)\n .build(),\n SchedulerRuleRuleArgs.builder()\n .priority(50)\n .regionId(\"cn-hangzhou\")\n .type(\"A\")\n .value(\"127.0.0.0\")\n .valueType(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:ddos:SchedulerRule\n properties:\n ruleName: ${name}\n ruleType: 3\n rules:\n - priority: 100\n regionId: cn-hangzhou\n type: A\n value: 127.0.0.1\n valueType: 3\n - priority: 50\n regionId: cn-hangzhou\n type: A\n value: 127.0.0.0\n valueType: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdosCoo Scheduler Rule can be imported using the id or the rule name, e.g.\n\n```sh\n$ pulumi import alicloud:ddos/schedulerRule:SchedulerRule example fbb20dc77e8fc******\n```\n\n", "properties": { "cname": { "type": "string", @@ -140544,7 +143173,7 @@ } }, "alicloud:dfs/accessGroup:AccessGroup": { - "description": "Provides a DFS Access Group resource. \n\nFor information about DFS Access Group and how to use it, see [What is Access Group](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccessGroup = new alicloud.dfs.AccessGroup(\"default\", {\n accessGroupName: `tf-example-${_default.result}`,\n networkType: \"VPC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_access_group = alicloud.dfs.AccessGroup(\"default\",\n access_group_name=f\"tf-example-{default['result']}\",\n network_type=\"VPC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccessGroup = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n AccessGroupName = $\"tf-example-{@default.Result}\",\n NetworkType = \"VPC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(String.format(\"tf-example-%s\", default_.result()))\n .networkType(\"VPC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccessGroup:\n type: alicloud:dfs:AccessGroup\n name: default\n properties:\n accessGroupName: tf-example-${default.result}\n networkType: VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDFS Access Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/accessGroup:AccessGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a DFS Access Group resource. \n\nFor information about DFS Access Group and how to use it, see [What is Access Group](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccessGroup = new alicloud.dfs.AccessGroup(\"default\", {\n accessGroupName: `tf-example-${_default.result}`,\n networkType: \"VPC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_access_group = alicloud.dfs.AccessGroup(\"default\",\n access_group_name=f\"tf-example-{default['result']}\",\n network_type=\"VPC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccessGroup = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n AccessGroupName = $\"tf-example-{@default.Result}\",\n NetworkType = \"VPC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(String.format(\"tf-example-%s\", default_.result()))\n .networkType(\"VPC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccessGroup:\n type: alicloud:dfs:AccessGroup\n name: default\n properties:\n accessGroupName: tf-example-${default.result}\n networkType: VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDFS Access Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/accessGroup:AccessGroup example \u003cid\u003e\n```\n\n", "properties": { "accessGroupName": { "type": "string", @@ -140612,7 +143241,7 @@ } }, "alicloud:dfs/accessRule:AccessRule": { - "description": "Provides a DFS Access Rule resource. \n\nFor information about DFS Access Rule and how to use it, see [What is Access Rule](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_name\";\nconst _default = new alicloud.dfs.AccessGroup(\"default\", {\n networkType: \"VPC\",\n accessGroupName: name,\n description: name,\n});\nconst defaultAccessRule = new alicloud.dfs.AccessRule(\"default\", {\n networkSegment: \"192.0.2.0/24\",\n accessGroupId: _default.id,\n description: name,\n rwAccessType: \"RDWR\",\n priority: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_name\"\ndefault = alicloud.dfs.AccessGroup(\"default\",\n network_type=\"VPC\",\n access_group_name=name,\n description=name)\ndefault_access_rule = alicloud.dfs.AccessRule(\"default\",\n network_segment=\"192.0.2.0/24\",\n access_group_id=default.id,\n description=name,\n rw_access_type=\"RDWR\",\n priority=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_name\";\n var @default = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n NetworkType = \"VPC\",\n AccessGroupName = name,\n Description = name,\n });\n\n var defaultAccessRule = new AliCloud.Dfs.AccessRule(\"default\", new()\n {\n NetworkSegment = \"192.0.2.0/24\",\n AccessGroupId = @default.Id,\n Description = name,\n RwAccessType = \"RDWR\",\n Priority = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example_name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tAccessGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewAccessRule(ctx, \"default\", \u0026dfs.AccessRuleArgs{\n\t\t\tNetworkSegment: pulumi.String(\"192.0.2.0/24\"),\n\t\t\tAccessGroupId: _default.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRwAccessType: pulumi.String(\"RDWR\"),\n\t\t\tPriority: 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.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport com.pulumi.alicloud.dfs.AccessRule;\nimport com.pulumi.alicloud.dfs.AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example_name\");\n var default_ = new AccessGroup(\"default\", AccessGroupArgs.builder()\n .networkType(\"VPC\")\n .accessGroupName(name)\n .description(name)\n .build());\n\n var defaultAccessRule = new AccessRule(\"defaultAccessRule\", AccessRuleArgs.builder()\n .networkSegment(\"192.0.2.0/24\")\n .accessGroupId(default_.id())\n .description(name)\n .rwAccessType(\"RDWR\")\n .priority(10)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example_name\nresources:\n default:\n type: alicloud:dfs:AccessGroup\n properties:\n networkType: VPC\n accessGroupName: ${name}\n description: ${name}\n defaultAccessRule:\n type: alicloud:dfs:AccessRule\n name: default\n properties:\n networkSegment: 192.0.2.0/24\n accessGroupId: ${default.id}\n description: ${name}\n rwAccessType: RDWR\n priority: '10'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDFS Access Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/accessRule:AccessRule example \u003caccess_group_id\u003e:\u003caccess_rule_id\u003e\n```\n\n", + "description": "Provides a DFS Access Rule resource. \n\nFor information about DFS Access Rule and how to use it, see [What is Access Rule](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_name\";\nconst _default = new alicloud.dfs.AccessGroup(\"default\", {\n networkType: \"VPC\",\n accessGroupName: name,\n description: name,\n});\nconst defaultAccessRule = new alicloud.dfs.AccessRule(\"default\", {\n networkSegment: \"192.0.2.0/24\",\n accessGroupId: _default.id,\n description: name,\n rwAccessType: \"RDWR\",\n priority: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_name\"\ndefault = alicloud.dfs.AccessGroup(\"default\",\n network_type=\"VPC\",\n access_group_name=name,\n description=name)\ndefault_access_rule = alicloud.dfs.AccessRule(\"default\",\n network_segment=\"192.0.2.0/24\",\n access_group_id=default.id,\n description=name,\n rw_access_type=\"RDWR\",\n priority=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_name\";\n var @default = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n NetworkType = \"VPC\",\n AccessGroupName = name,\n Description = name,\n });\n\n var defaultAccessRule = new AliCloud.Dfs.AccessRule(\"default\", new()\n {\n NetworkSegment = \"192.0.2.0/24\",\n AccessGroupId = @default.Id,\n Description = name,\n RwAccessType = \"RDWR\",\n Priority = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example_name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tAccessGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewAccessRule(ctx, \"default\", \u0026dfs.AccessRuleArgs{\n\t\t\tNetworkSegment: pulumi.String(\"192.0.2.0/24\"),\n\t\t\tAccessGroupId: _default.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRwAccessType: pulumi.String(\"RDWR\"),\n\t\t\tPriority: 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.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport com.pulumi.alicloud.dfs.AccessRule;\nimport com.pulumi.alicloud.dfs.AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example_name\");\n var default_ = new AccessGroup(\"default\", AccessGroupArgs.builder()\n .networkType(\"VPC\")\n .accessGroupName(name)\n .description(name)\n .build());\n\n var defaultAccessRule = new AccessRule(\"defaultAccessRule\", AccessRuleArgs.builder()\n .networkSegment(\"192.0.2.0/24\")\n .accessGroupId(default_.id())\n .description(name)\n .rwAccessType(\"RDWR\")\n .priority(10)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example_name\nresources:\n default:\n type: alicloud:dfs:AccessGroup\n properties:\n networkType: VPC\n accessGroupName: ${name}\n description: ${name}\n defaultAccessRule:\n type: alicloud:dfs:AccessRule\n name: default\n properties:\n networkSegment: 192.0.2.0/24\n accessGroupId: ${default.id}\n description: ${name}\n rwAccessType: RDWR\n priority: '10'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDFS Access Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/accessRule:AccessRule example \u003caccess_group_id\u003e:\u003caccess_rule_id\u003e\n```\n\n", "properties": { "accessGroupId": { "type": "string", @@ -140719,7 +143348,7 @@ } }, "alicloud:dfs/fileSystem:FileSystem": { - "description": "Provides a Apsara File Storage for HDFS (DFS) File System resource.\n\n\n\nFor information about Apsara File Storage for HDFS (DFS) File System and how to use it, see [What is File System](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.dfs.FileSystem(\"default\", {\n storageType: \"PERFORMANCE\",\n zoneId: \"cn-hangzhou-b\",\n protocolType: \"PANGU\",\n description: name,\n fileSystemName: name,\n throughputMode: \"Provisioned\",\n spaceCapacity: 1024,\n provisionedThroughputInMiBps: 512,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.dfs.FileSystem(\"default\",\n storage_type=\"PERFORMANCE\",\n zone_id=\"cn-hangzhou-b\",\n protocol_type=\"PANGU\",\n description=name,\n file_system_name=name,\n throughput_mode=\"Provisioned\",\n space_capacity=1024,\n provisioned_throughput_in_mi_bps=512)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n StorageType = \"PERFORMANCE\",\n ZoneId = \"cn-hangzhou-b\",\n ProtocolType = \"PANGU\",\n Description = name,\n FileSystemName = name,\n ThroughputMode = \"Provisioned\",\n SpaceCapacity = 1024,\n ProvisionedThroughputInMiBps = 512,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"PERFORMANCE\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t\tThroughputMode: pulumi.String(\"Provisioned\"),\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tProvisionedThroughputInMiBps: pulumi.Int(512),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new FileSystem(\"default\", FileSystemArgs.builder()\n .storageType(\"PERFORMANCE\")\n .zoneId(\"cn-hangzhou-b\")\n .protocolType(\"PANGU\")\n .description(name)\n .fileSystemName(name)\n .throughputMode(\"Provisioned\")\n .spaceCapacity(1024)\n .provisionedThroughputInMiBps(512)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:dfs:FileSystem\n properties:\n storageType: PERFORMANCE\n zoneId: cn-hangzhou-b\n protocolType: PANGU\n description: ${name}\n fileSystemName: ${name}\n throughputMode: Provisioned\n spaceCapacity: '1024'\n provisionedThroughputInMiBps: '512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsara File Storage for HDFS (DFS) File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/fileSystem:FileSystem example \u003cid\u003e\n```\n\n", + "description": "Provides a Apsara File Storage for HDFS (DFS) File System resource.\n\n\n\nFor information about Apsara File Storage for HDFS (DFS) File System and how to use it, see [What is File System](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.dfs.FileSystem(\"default\", {\n storageType: \"PERFORMANCE\",\n zoneId: \"cn-hangzhou-b\",\n protocolType: \"PANGU\",\n description: name,\n fileSystemName: name,\n throughputMode: \"Provisioned\",\n spaceCapacity: 1024,\n provisionedThroughputInMiBps: 512,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.dfs.FileSystem(\"default\",\n storage_type=\"PERFORMANCE\",\n zone_id=\"cn-hangzhou-b\",\n protocol_type=\"PANGU\",\n description=name,\n file_system_name=name,\n throughput_mode=\"Provisioned\",\n space_capacity=1024,\n provisioned_throughput_in_mi_bps=512)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n StorageType = \"PERFORMANCE\",\n ZoneId = \"cn-hangzhou-b\",\n ProtocolType = \"PANGU\",\n Description = name,\n FileSystemName = name,\n ThroughputMode = \"Provisioned\",\n SpaceCapacity = 1024,\n ProvisionedThroughputInMiBps = 512,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"PERFORMANCE\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t\tThroughputMode: pulumi.String(\"Provisioned\"),\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tProvisionedThroughputInMiBps: pulumi.Int(512),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new FileSystem(\"default\", FileSystemArgs.builder()\n .storageType(\"PERFORMANCE\")\n .zoneId(\"cn-hangzhou-b\")\n .protocolType(\"PANGU\")\n .description(name)\n .fileSystemName(name)\n .throughputMode(\"Provisioned\")\n .spaceCapacity(1024)\n .provisionedThroughputInMiBps(512)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:dfs:FileSystem\n properties:\n storageType: PERFORMANCE\n zoneId: cn-hangzhou-b\n protocolType: PANGU\n description: ${name}\n fileSystemName: ${name}\n throughputMode: Provisioned\n spaceCapacity: '1024'\n provisionedThroughputInMiBps: '512'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsara File Storage for HDFS (DFS) File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/fileSystem:FileSystem example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -140913,7 +143542,7 @@ } }, "alicloud:dfs/mountPoint:MountPoint": { - "description": "Provides a Apsara File Storage for HDFS (DFS) Mount Point resource. \n\nFor information about Apsara File Storage for HDFS (DFS) Mount Point and how to use it, see [What is Mount Point](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: _default.id,\n zoneId: \"cn-hangzhou-e\",\n});\nconst defaultFileSystem = new alicloud.dfs.FileSystem(\"default\", {\n storageType: \"STANDARD\",\n zoneId: \"cn-hangzhou-e\",\n protocolType: \"PANGU\",\n description: name,\n fileSystemName: name,\n throughputMode: \"Provisioned\",\n spaceCapacity: 1024,\n provisionedThroughputInMiBps: 512,\n});\nconst defaultAccessGroup = new alicloud.dfs.AccessGroup(\"default\", {\n accessGroupName: name,\n description: name,\n networkType: \"VPC\",\n});\nconst defaultMountPoint = new alicloud.dfs.MountPoint(\"default\", {\n description: name,\n vpcId: _default.id,\n fileSystemId: defaultFileSystem.id,\n accessGroupId: defaultAccessGroup.id,\n networkType: \"VPC\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default.id,\n zone_id=\"cn-hangzhou-e\")\ndefault_file_system = alicloud.dfs.FileSystem(\"default\",\n storage_type=\"STANDARD\",\n zone_id=\"cn-hangzhou-e\",\n protocol_type=\"PANGU\",\n description=name,\n file_system_name=name,\n throughput_mode=\"Provisioned\",\n space_capacity=1024,\n provisioned_throughput_in_mi_bps=512)\ndefault_access_group = alicloud.dfs.AccessGroup(\"default\",\n access_group_name=name,\n description=name,\n network_type=\"VPC\")\ndefault_mount_point = alicloud.dfs.MountPoint(\"default\",\n description=name,\n vpc_id=default.id,\n file_system_id=default_file_system.id,\n access_group_id=default_access_group.id,\n network_type=\"VPC\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = @default.Id,\n ZoneId = \"cn-hangzhou-e\",\n });\n\n var defaultFileSystem = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n StorageType = \"STANDARD\",\n ZoneId = \"cn-hangzhou-e\",\n ProtocolType = \"PANGU\",\n Description = name,\n FileSystemName = name,\n ThroughputMode = \"Provisioned\",\n SpaceCapacity = 1024,\n ProvisionedThroughputInMiBps = 512,\n });\n\n var defaultAccessGroup = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n AccessGroupName = name,\n Description = name,\n NetworkType = \"VPC\",\n });\n\n var defaultMountPoint = new AliCloud.Dfs.MountPoint(\"default\", new()\n {\n Description = name,\n VpcId = @default.Id,\n FileSystemId = defaultFileSystem.Id,\n AccessGroupId = defaultAccessGroup.Id,\n NetworkType = \"VPC\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"STANDARD\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-e\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t\tThroughputMode: pulumi.String(\"Provisioned\"),\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tProvisionedThroughputInMiBps: pulumi.Int(512),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessGroup, err := dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewMountPoint(ctx, \"default\", \u0026dfs.MountPointArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: _default.ID(),\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAccessGroupId: defaultAccessGroup.ID(),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport com.pulumi.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport com.pulumi.alicloud.dfs.MountPoint;\nimport com.pulumi.alicloud.dfs.MountPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(default_.id())\n .zoneId(\"cn-hangzhou-e\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .storageType(\"STANDARD\")\n .zoneId(\"cn-hangzhou-e\")\n .protocolType(\"PANGU\")\n .description(name)\n .fileSystemName(name)\n .throughputMode(\"Provisioned\")\n .spaceCapacity(1024)\n .provisionedThroughputInMiBps(512)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(name)\n .description(name)\n .networkType(\"VPC\")\n .build());\n\n var defaultMountPoint = new MountPoint(\"defaultMountPoint\", MountPointArgs.builder()\n .description(name)\n .vpcId(default_.id())\n .fileSystemId(defaultFileSystem.id())\n .accessGroupId(defaultAccessGroup.id())\n .networkType(\"VPC\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${default.id}\n zoneId: cn-hangzhou-e\n defaultFileSystem:\n type: alicloud:dfs:FileSystem\n name: default\n properties:\n storageType: STANDARD\n zoneId: cn-hangzhou-e\n protocolType: PANGU\n description: ${name}\n fileSystemName: ${name}\n throughputMode: Provisioned\n spaceCapacity: '1024'\n provisionedThroughputInMiBps: '512'\n defaultAccessGroup:\n type: alicloud:dfs:AccessGroup\n name: default\n properties:\n accessGroupName: ${name}\n description: ${name}\n networkType: VPC\n defaultMountPoint:\n type: alicloud:dfs:MountPoint\n name: default\n properties:\n description: ${name}\n vpcId: ${default.id}\n fileSystemId: ${defaultFileSystem.id}\n accessGroupId: ${defaultAccessGroup.id}\n networkType: VPC\n vswitchId: ${defaultSwitch.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/mountPoint:MountPoint example \u003cfile_system_id\u003e:\u003cmount_point_id\u003e\n```\n\n", + "description": "Provides a Apsara File Storage for HDFS (DFS) Mount Point resource. \n\nFor information about Apsara File Storage for HDFS (DFS) Mount Point and how to use it, see [What is Mount Point](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: _default.id,\n zoneId: \"cn-hangzhou-e\",\n});\nconst defaultFileSystem = new alicloud.dfs.FileSystem(\"default\", {\n storageType: \"STANDARD\",\n zoneId: \"cn-hangzhou-e\",\n protocolType: \"PANGU\",\n description: name,\n fileSystemName: name,\n throughputMode: \"Provisioned\",\n spaceCapacity: 1024,\n provisionedThroughputInMiBps: 512,\n});\nconst defaultAccessGroup = new alicloud.dfs.AccessGroup(\"default\", {\n accessGroupName: name,\n description: name,\n networkType: \"VPC\",\n});\nconst defaultMountPoint = new alicloud.dfs.MountPoint(\"default\", {\n description: name,\n vpcId: _default.id,\n fileSystemId: defaultFileSystem.id,\n accessGroupId: defaultAccessGroup.id,\n networkType: \"VPC\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default.id,\n zone_id=\"cn-hangzhou-e\")\ndefault_file_system = alicloud.dfs.FileSystem(\"default\",\n storage_type=\"STANDARD\",\n zone_id=\"cn-hangzhou-e\",\n protocol_type=\"PANGU\",\n description=name,\n file_system_name=name,\n throughput_mode=\"Provisioned\",\n space_capacity=1024,\n provisioned_throughput_in_mi_bps=512)\ndefault_access_group = alicloud.dfs.AccessGroup(\"default\",\n access_group_name=name,\n description=name,\n network_type=\"VPC\")\ndefault_mount_point = alicloud.dfs.MountPoint(\"default\",\n description=name,\n vpc_id=default.id,\n file_system_id=default_file_system.id,\n access_group_id=default_access_group.id,\n network_type=\"VPC\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = @default.Id,\n ZoneId = \"cn-hangzhou-e\",\n });\n\n var defaultFileSystem = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n StorageType = \"STANDARD\",\n ZoneId = \"cn-hangzhou-e\",\n ProtocolType = \"PANGU\",\n Description = name,\n FileSystemName = name,\n ThroughputMode = \"Provisioned\",\n SpaceCapacity = 1024,\n ProvisionedThroughputInMiBps = 512,\n });\n\n var defaultAccessGroup = new AliCloud.Dfs.AccessGroup(\"default\", new()\n {\n AccessGroupName = name,\n Description = name,\n NetworkType = \"VPC\",\n });\n\n var defaultMountPoint = new AliCloud.Dfs.MountPoint(\"default\", new()\n {\n Description = name,\n VpcId = @default.Id,\n FileSystemId = defaultFileSystem.Id,\n AccessGroupId = defaultAccessGroup.Id,\n NetworkType = \"VPC\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"STANDARD\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-e\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t\tThroughputMode: pulumi.String(\"Provisioned\"),\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tProvisionedThroughputInMiBps: pulumi.Int(512),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessGroup, err := dfs.NewAccessGroup(ctx, \"default\", \u0026dfs.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewMountPoint(ctx, \"default\", \u0026dfs.MountPointArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: _default.ID(),\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAccessGroupId: defaultAccessGroup.ID(),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport com.pulumi.alicloud.dfs.AccessGroup;\nimport com.pulumi.alicloud.dfs.AccessGroupArgs;\nimport com.pulumi.alicloud.dfs.MountPoint;\nimport com.pulumi.alicloud.dfs.MountPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(default_.id())\n .zoneId(\"cn-hangzhou-e\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .storageType(\"STANDARD\")\n .zoneId(\"cn-hangzhou-e\")\n .protocolType(\"PANGU\")\n .description(name)\n .fileSystemName(name)\n .throughputMode(\"Provisioned\")\n .spaceCapacity(1024)\n .provisionedThroughputInMiBps(512)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(name)\n .description(name)\n .networkType(\"VPC\")\n .build());\n\n var defaultMountPoint = new MountPoint(\"defaultMountPoint\", MountPointArgs.builder()\n .description(name)\n .vpcId(default_.id())\n .fileSystemId(defaultFileSystem.id())\n .accessGroupId(defaultAccessGroup.id())\n .networkType(\"VPC\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${default.id}\n zoneId: cn-hangzhou-e\n defaultFileSystem:\n type: alicloud:dfs:FileSystem\n name: default\n properties:\n storageType: STANDARD\n zoneId: cn-hangzhou-e\n protocolType: PANGU\n description: ${name}\n fileSystemName: ${name}\n throughputMode: Provisioned\n spaceCapacity: '1024'\n provisionedThroughputInMiBps: '512'\n defaultAccessGroup:\n type: alicloud:dfs:AccessGroup\n name: default\n properties:\n accessGroupName: ${name}\n description: ${name}\n networkType: VPC\n defaultMountPoint:\n type: alicloud:dfs:MountPoint\n name: default\n properties:\n description: ${name}\n vpcId: ${default.id}\n fileSystemId: ${defaultFileSystem.id}\n accessGroupId: ${defaultAccessGroup.id}\n networkType: VPC\n vswitchId: ${defaultSwitch.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/mountPoint:MountPoint example \u003cfile_system_id\u003e:\u003cmount_point_id\u003e\n```\n\n", "properties": { "accessGroupId": { "type": "string", @@ -141072,7 +143701,7 @@ } }, "alicloud:dfs/vscMountPoint:VscMountPoint": { - "description": "Provides a Apsara File Storage for HDFS (DFS) Vsc Mount Point resource.\n\nFor information about Apsara File Storage for HDFS (DFS) Vsc Mount Point and how to use it, see [What is Vsc Mount Point](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultFileSystem = new alicloud.dfs.FileSystem(\"default\", {\n spaceCapacity: 1024,\n description: \"for vsc mountpoint RMC test\",\n storageType: \"PERFORMANCE\",\n zoneId: \"cn-hangzhou-b\",\n protocolType: \"PANGU\",\n dataRedundancyType: \"LRS\",\n fileSystemName: name,\n});\nconst defaultFsForRMCVscMp = new alicloud.dfs.VscMountPoint(\"DefaultFsForRMCVscMp\", {\n fileSystemId: defaultFileSystem.id,\n aliasPrefix: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_file_system = alicloud.dfs.FileSystem(\"default\",\n space_capacity=1024,\n description=\"for vsc mountpoint RMC test\",\n storage_type=\"PERFORMANCE\",\n zone_id=\"cn-hangzhou-b\",\n protocol_type=\"PANGU\",\n data_redundancy_type=\"LRS\",\n file_system_name=name)\ndefault_fs_for_rmcvsc_mp = alicloud.dfs.VscMountPoint(\"DefaultFsForRMCVscMp\",\n file_system_id=default_file_system.id,\n alias_prefix=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultFileSystem = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n SpaceCapacity = 1024,\n Description = \"for vsc mountpoint RMC test\",\n StorageType = \"PERFORMANCE\",\n ZoneId = \"cn-hangzhou-b\",\n ProtocolType = \"PANGU\",\n DataRedundancyType = \"LRS\",\n FileSystemName = name,\n });\n\n var defaultFsForRMCVscMp = new AliCloud.Dfs.VscMountPoint(\"DefaultFsForRMCVscMp\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n AliasPrefix = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tDescription: pulumi.String(\"for vsc mountpoint RMC test\"),\n\t\t\tStorageType: pulumi.String(\"PERFORMANCE\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDataRedundancyType: pulumi.String(\"LRS\"),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewVscMountPoint(ctx, \"DefaultFsForRMCVscMp\", \u0026dfs.VscMountPointArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAliasPrefix: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport com.pulumi.alicloud.dfs.VscMountPoint;\nimport com.pulumi.alicloud.dfs.VscMountPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .spaceCapacity(1024)\n .description(\"for vsc mountpoint RMC test\")\n .storageType(\"PERFORMANCE\")\n .zoneId(\"cn-hangzhou-b\")\n .protocolType(\"PANGU\")\n .dataRedundancyType(\"LRS\")\n .fileSystemName(name)\n .build());\n\n var defaultFsForRMCVscMp = new VscMountPoint(\"defaultFsForRMCVscMp\", VscMountPointArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .aliasPrefix(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultFileSystem:\n type: alicloud:dfs:FileSystem\n name: default\n properties:\n spaceCapacity: '1024'\n description: for vsc mountpoint RMC test\n storageType: PERFORMANCE\n zoneId: cn-hangzhou-b\n protocolType: PANGU\n dataRedundancyType: LRS\n fileSystemName: ${name}\n defaultFsForRMCVscMp:\n type: alicloud:dfs:VscMountPoint\n name: DefaultFsForRMCVscMp\n properties:\n fileSystemId: ${defaultFileSystem.id}\n aliasPrefix: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/vscMountPoint:VscMountPoint example \u003cfile_system_id\u003e:\u003cmount_point_id\u003e\n```\n\n", + "description": "Provides a Apsara File Storage for HDFS (DFS) Vsc Mount Point resource.\n\nFor information about Apsara File Storage for HDFS (DFS) Vsc Mount Point and how to use it, see [What is Vsc Mount Point](https://www.alibabacloud.com/help/en/aibaba-cloud-storage-services/latest/apsara-file-storage-for-hdfs).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultFileSystem = new alicloud.dfs.FileSystem(\"default\", {\n spaceCapacity: 1024,\n description: \"for vsc mountpoint RMC test\",\n storageType: \"PERFORMANCE\",\n zoneId: \"cn-hangzhou-b\",\n protocolType: \"PANGU\",\n dataRedundancyType: \"LRS\",\n fileSystemName: name,\n});\nconst defaultFsForRMCVscMp = new alicloud.dfs.VscMountPoint(\"DefaultFsForRMCVscMp\", {\n fileSystemId: defaultFileSystem.id,\n aliasPrefix: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_file_system = alicloud.dfs.FileSystem(\"default\",\n space_capacity=1024,\n description=\"for vsc mountpoint RMC test\",\n storage_type=\"PERFORMANCE\",\n zone_id=\"cn-hangzhou-b\",\n protocol_type=\"PANGU\",\n data_redundancy_type=\"LRS\",\n file_system_name=name)\ndefault_fs_for_rmcvsc_mp = alicloud.dfs.VscMountPoint(\"DefaultFsForRMCVscMp\",\n file_system_id=default_file_system.id,\n alias_prefix=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultFileSystem = new AliCloud.Dfs.FileSystem(\"default\", new()\n {\n SpaceCapacity = 1024,\n Description = \"for vsc mountpoint RMC test\",\n StorageType = \"PERFORMANCE\",\n ZoneId = \"cn-hangzhou-b\",\n ProtocolType = \"PANGU\",\n DataRedundancyType = \"LRS\",\n FileSystemName = name,\n });\n\n var defaultFsForRMCVscMp = new AliCloud.Dfs.VscMountPoint(\"DefaultFsForRMCVscMp\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n AliasPrefix = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dfs\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := dfs.NewFileSystem(ctx, \"default\", \u0026dfs.FileSystemArgs{\n\t\t\tSpaceCapacity: pulumi.Int(1024),\n\t\t\tDescription: pulumi.String(\"for vsc mountpoint RMC test\"),\n\t\t\tStorageType: pulumi.String(\"PERFORMANCE\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProtocolType: pulumi.String(\"PANGU\"),\n\t\t\tDataRedundancyType: pulumi.String(\"LRS\"),\n\t\t\tFileSystemName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dfs.NewVscMountPoint(ctx, \"DefaultFsForRMCVscMp\", \u0026dfs.VscMountPointArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAliasPrefix: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.dfs.FileSystem;\nimport com.pulumi.alicloud.dfs.FileSystemArgs;\nimport com.pulumi.alicloud.dfs.VscMountPoint;\nimport com.pulumi.alicloud.dfs.VscMountPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .spaceCapacity(1024)\n .description(\"for vsc mountpoint RMC test\")\n .storageType(\"PERFORMANCE\")\n .zoneId(\"cn-hangzhou-b\")\n .protocolType(\"PANGU\")\n .dataRedundancyType(\"LRS\")\n .fileSystemName(name)\n .build());\n\n var defaultFsForRMCVscMp = new VscMountPoint(\"defaultFsForRMCVscMp\", VscMountPointArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .aliasPrefix(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultFileSystem:\n type: alicloud:dfs:FileSystem\n name: default\n properties:\n spaceCapacity: '1024'\n description: for vsc mountpoint RMC test\n storageType: PERFORMANCE\n zoneId: cn-hangzhou-b\n protocolType: PANGU\n dataRedundancyType: LRS\n fileSystemName: ${name}\n defaultFsForRMCVscMp:\n type: alicloud:dfs:VscMountPoint\n name: DefaultFsForRMCVscMp\n properties:\n fileSystemId: ${defaultFileSystem.id}\n aliasPrefix: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dfs/vscMountPoint:VscMountPoint example \u003cfile_system_id\u003e:\u003cmount_point_id\u003e\n```\n\n", "properties": { "aliasPrefix": { "type": "string", @@ -141153,7 +143782,7 @@ } }, "alicloud:directmail/domain:Domain": { - "description": "Provides a Direct Mail Domain resource.\n\nFor information about Direct Mail Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/doc-detail/29414.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.directmail.Domain(\"example\", {domainName: `alicloud-provider-${_default.result}.online`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.directmail.Domain(\"example\", domain_name=f\"alicloud-provider-{default['result']}.online\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.DirectMail.Domain(\"example\", new()\n {\n DomainName = $\"alicloud-provider-{@default.Result}.online\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directmail.NewDomain(ctx, \"example\", \u0026directmail.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"alicloud-provider-%v.online\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.directmail.Domain;\nimport com.pulumi.alicloud.directmail.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"alicloud-provider-%s.online\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:directmail:Domain\n properties:\n domainName: alicloud-provider-${default.result}.online\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect Mail Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/domain:Domain example \u003cid\u003e\n```\n\n", + "description": "Provides a Direct Mail Domain resource.\n\nFor information about Direct Mail Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/doc-detail/29414.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.directmail.Domain(\"example\", {domainName: `alicloud-provider-${_default.result}.online`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.directmail.Domain(\"example\", domain_name=f\"alicloud-provider-{default['result']}.online\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.DirectMail.Domain(\"example\", new()\n {\n DomainName = $\"alicloud-provider-{@default.Result}.online\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = directmail.NewDomain(ctx, \"example\", \u0026directmail.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"alicloud-provider-%v.online\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.directmail.Domain;\nimport com.pulumi.alicloud.directmail.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(String.format(\"alicloud-provider-%s.online\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:directmail:Domain\n properties:\n domainName: alicloud-provider-${default.result}.online\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDirect Mail Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/domain:Domain example \u003cid\u003e\n```\n\n", "properties": { "domainName": { "type": "string", @@ -141195,7 +143824,7 @@ } }, "alicloud:directmail/mailAddress:MailAddress": { - "description": "Provides a Direct Mail Mail Address resource.\n\nFor information about Direct Mail Mail Address and how to use it, see [What is Mail Address](https://www.alibabacloud.com/help/en/directmail/latest/set-up-sender-addresses).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst accountName = config.get(\"accountName\") || \"tfexample\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.online\";\nconst example = new alicloud.directmail.Domain(\"example\", {domainName: domainName});\nconst exampleMailAddress = new alicloud.directmail.MailAddress(\"example\", {\n accountName: std.format({\n input: \"%s@%s\",\n args: [\n accountName,\n example.domainName,\n ],\n }).then(invoke =\u003e invoke.result),\n sendtype: \"batch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\naccount_name = config.get(\"accountName\")\nif account_name is None:\n account_name = \"tfexample\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.online\"\nexample = alicloud.directmail.Domain(\"example\", domain_name=domain_name)\nexample_mail_address = alicloud.directmail.MailAddress(\"example\",\n account_name=std.format(input=\"%s@%s\",\n args=[\n account_name,\n example.domain_name,\n ]).result,\n sendtype=\"batch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var accountName = config.Get(\"accountName\") ?? \"tfexample\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.online\";\n var example = new AliCloud.DirectMail.Domain(\"example\", new()\n {\n DomainName = domainName,\n });\n\n var exampleMailAddress = new AliCloud.DirectMail.MailAddress(\"example\", new()\n {\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"%s@%s\",\n Args = new[]\n {\n accountName,\n example.DomainName,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Sendtype = \"batch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taccountName := \"tfexample\"\n\t\tif param := cfg.Get(\"accountName\"); param != \"\" {\n\t\t\taccountName = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.online\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\texample, err := directmail.NewDomain(ctx, \"example\", \u0026directmail.DomainArgs{\n\t\t\tDomainName: pulumi.String(domainName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\taccountName,\n\t\t\t\texample.DomainName,\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 = directmail.NewMailAddress(ctx, \"example\", \u0026directmail.MailAddressArgs{\n\t\t\tAccountName: pulumi.String(invokeFormat.Result),\n\t\t\tSendtype: pulumi.String(\"batch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.directmail.Domain;\nimport com.pulumi.alicloud.directmail.DomainArgs;\nimport com.pulumi.alicloud.directmail.MailAddress;\nimport com.pulumi.alicloud.directmail.MailAddressArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 accountName = config.get(\"accountName\").orElse(\"tfexample\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.online\");\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domainName)\n .build());\n\n var exampleMailAddress = new MailAddress(\"exampleMailAddress\", MailAddressArgs.builder()\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@%s\")\n .args( \n accountName,\n example.domainName())\n .build()).result())\n .sendtype(\"batch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n accountName:\n type: string\n default: tfexample\n domainName:\n type: string\n default: alicloud-provider.online\nresources:\n example:\n type: alicloud:directmail:Domain\n properties:\n domainName: ${domainName}\n exampleMailAddress:\n type: alicloud:directmail:MailAddress\n name: example\n properties:\n accountName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@%s'\n args:\n - ${accountName}\n - ${example.domainName}\n return: result\n sendtype: batch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:**\nA maximum of 10 mailing addresses can be added.\nIndividual users: Up to 10 mailing addresses can be deleted within a month.\nEnterprise users: Up to 10 mailing addresses can be deleted within a month.\n\n## Import\n\nDirect Mail Mail Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/mailAddress:MailAddress example \u003cid\u003e\n```\n\n", + "description": "Provides a Direct Mail Mail Address resource.\n\nFor information about Direct Mail Mail Address and how to use it, see [What is Mail Address](https://www.alibabacloud.com/help/en/directmail/latest/set-up-sender-addresses).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst accountName = config.get(\"accountName\") || \"tfexample\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.online\";\nconst example = new alicloud.directmail.Domain(\"example\", {domainName: domainName});\nconst exampleMailAddress = new alicloud.directmail.MailAddress(\"example\", {\n accountName: std.format({\n input: \"%s@%s\",\n args: [\n accountName,\n example.domainName,\n ],\n }).then(invoke =\u003e invoke.result),\n sendtype: \"batch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\naccount_name = config.get(\"accountName\")\nif account_name is None:\n account_name = \"tfexample\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.online\"\nexample = alicloud.directmail.Domain(\"example\", domain_name=domain_name)\nexample_mail_address = alicloud.directmail.MailAddress(\"example\",\n account_name=std.format(input=\"%s@%s\",\n args=[\n account_name,\n example.domain_name,\n ]).result,\n sendtype=\"batch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var accountName = config.Get(\"accountName\") ?? \"tfexample\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.online\";\n var example = new AliCloud.DirectMail.Domain(\"example\", new()\n {\n DomainName = domainName,\n });\n\n var exampleMailAddress = new AliCloud.DirectMail.MailAddress(\"example\", new()\n {\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"%s@%s\",\n Args = new[]\n {\n accountName,\n example.DomainName,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Sendtype = \"batch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\taccountName := \"tfexample\"\n\t\tif param := cfg.Get(\"accountName\"); param != \"\" {\n\t\t\taccountName = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.online\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\texample, err := directmail.NewDomain(ctx, \"example\", \u0026directmail.DomainArgs{\n\t\t\tDomainName: pulumi.String(domainName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\taccountName,\n\t\t\t\texample.DomainName,\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 = directmail.NewMailAddress(ctx, \"example\", \u0026directmail.MailAddressArgs{\n\t\t\tAccountName: pulumi.String(invokeFormat.Result),\n\t\t\tSendtype: pulumi.String(\"batch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.directmail.Domain;\nimport com.pulumi.alicloud.directmail.DomainArgs;\nimport com.pulumi.alicloud.directmail.MailAddress;\nimport com.pulumi.alicloud.directmail.MailAddressArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 accountName = config.get(\"accountName\").orElse(\"tfexample\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.online\");\n var example = new Domain(\"example\", DomainArgs.builder()\n .domainName(domainName)\n .build());\n\n var exampleMailAddress = new MailAddress(\"exampleMailAddress\", MailAddressArgs.builder()\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@%s\")\n .args( \n accountName,\n example.domainName())\n .build()).result())\n .sendtype(\"batch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n accountName:\n type: string\n default: tfexample\n domainName:\n type: string\n default: alicloud-provider.online\nresources:\n example:\n type: alicloud:directmail:Domain\n properties:\n domainName: ${domainName}\n exampleMailAddress:\n type: alicloud:directmail:MailAddress\n name: example\n properties:\n accountName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@%s'\n args:\n - ${accountName}\n - ${example.domainName}\n return: result\n sendtype: batch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **Note:**\nA maximum of 10 mailing addresses can be added.\nIndividual users: Up to 10 mailing addresses can be deleted within a month.\nEnterprise users: Up to 10 mailing addresses can be deleted within a month.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDirect Mail Mail Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/mailAddress:MailAddress example \u003cid\u003e\n```\n\n", "properties": { "accountName": { "type": "string", @@ -141277,7 +143906,7 @@ } }, "alicloud:directmail/receivers:Receivers": { - "description": "Provides a Direct Mail Receivers resource.\n\nFor information about Direct Mail Receivers and how to use it, see [What is Direct Mail Receivers](https://www.alibabacloud.com/help/en/doc-detail/29414.htm).\n\n\u003e **NOTE:** Available since v1.125.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.directmail.Receivers(\"example\", {\n receiversAlias: std.format({\n input: \"%s@onaliyun.com\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n receiversName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.directmail.Receivers(\"example\",\n receivers_alias=std.format(input=\"%s@onaliyun.com\",\n args=[name]).result,\n receivers_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.DirectMail.Receivers(\"example\", new()\n {\n ReceiversAlias = Std.Format.Invoke(new()\n {\n Input = \"%s@onaliyun.com\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ReceiversName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@onaliyun.com\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = directmail.NewReceivers(ctx, \"example\", \u0026directmail.ReceiversArgs{\n\t\t\tReceiversAlias: pulumi.String(invokeFormat.Result),\n\t\t\tReceiversName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.directmail.Receivers;\nimport com.pulumi.alicloud.directmail.ReceiversArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Receivers(\"example\", ReceiversArgs.builder()\n .receiversAlias(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@onaliyun.com\")\n .args(name)\n .build()).result())\n .receiversName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:directmail:Receivers\n properties:\n receiversAlias:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@onaliyun.com'\n args:\n - ${name}\n return: result\n receiversName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect Mail Receivers can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/receivers:Receivers example \u003cid\u003e\n```\n\n", + "description": "Provides a Direct Mail Receivers resource.\n\nFor information about Direct Mail Receivers and how to use it, see [What is Direct Mail Receivers](https://www.alibabacloud.com/help/en/doc-detail/29414.htm).\n\n\u003e **NOTE:** Available since v1.125.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.directmail.Receivers(\"example\", {\n receiversAlias: std.format({\n input: \"%s@onaliyun.com\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n receiversName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.directmail.Receivers(\"example\",\n receivers_alias=std.format(input=\"%s@onaliyun.com\",\n args=[name]).result,\n receivers_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.DirectMail.Receivers(\"example\", new()\n {\n ReceiversAlias = Std.Format.Invoke(new()\n {\n Input = \"%s@onaliyun.com\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ReceiversName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@onaliyun.com\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = directmail.NewReceivers(ctx, \"example\", \u0026directmail.ReceiversArgs{\n\t\t\tReceiversAlias: pulumi.String(invokeFormat.Result),\n\t\t\tReceiversName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.directmail.Receivers;\nimport com.pulumi.alicloud.directmail.ReceiversArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Receivers(\"example\", ReceiversArgs.builder()\n .receiversAlias(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@onaliyun.com\")\n .args(name)\n .build()).result())\n .receiversName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:directmail:Receivers\n properties:\n receiversAlias:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@onaliyun.com'\n args:\n - ${name}\n return: result\n receiversName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDirect Mail Receivers can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/receivers:Receivers example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -141349,7 +143978,7 @@ } }, "alicloud:directmail/tag:Tag": { - "description": "Provides a Direct Mail Tag resource.\n\nFor information about Direct Mail Tag and how to use it, see [What is Tag](https://www.alibabacloud.com/help/en/directmail/latest/createtag).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example\";\nconst example = new alicloud.directmail.Tag(\"example\", {tagName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example\"\nexample = alicloud.directmail.Tag(\"example\", tag_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example\";\n var example = new AliCloud.DirectMail.Tag(\"example\", new()\n {\n TagName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := directmail.NewTag(ctx, \"example\", \u0026directmail.TagArgs{\n\t\t\tTagName: pulumi.String(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.alicloud.directmail.Tag;\nimport com.pulumi.alicloud.directmail.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example\");\n var example = new Tag(\"example\", TagArgs.builder()\n .tagName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example\nresources:\n example:\n type: alicloud:directmail:Tag\n properties:\n tagName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDirect Mail Tag can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/tag:Tag example \u003cid\u003e\n```\n\n", + "description": "Provides a Direct Mail Tag resource.\n\nFor information about Direct Mail Tag and how to use it, see [What is Tag](https://www.alibabacloud.com/help/en/directmail/latest/createtag).\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example\";\nconst example = new alicloud.directmail.Tag(\"example\", {tagName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example\"\nexample = alicloud.directmail.Tag(\"example\", tag_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example\";\n var example = new AliCloud.DirectMail.Tag(\"example\", new()\n {\n TagName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/directmail\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := directmail.NewTag(ctx, \"example\", \u0026directmail.TagArgs{\n\t\t\tTagName: pulumi.String(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.alicloud.directmail.Tag;\nimport com.pulumi.alicloud.directmail.TagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example\");\n var example = new Tag(\"example\", TagArgs.builder()\n .tagName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example\nresources:\n example:\n type: alicloud:directmail:Tag\n properties:\n tagName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDirect Mail Tag can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:directmail/tag:Tag example \u003cid\u003e\n```\n\n", "properties": { "tagName": { "type": "string", @@ -141380,7 +144009,7 @@ } }, "alicloud:dms/airflow:Airflow": { - "description": "Provides a Dms Airflow resource.\n\nAirflow instance, used to schedule jobs.\n\nFor information about Dms Airflow and how to use it, see [What is Airflow](https://next.api.alibabacloud.com/document/Dms/2025-04-14/CreateAirflow).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n vpcId: _default.ids?.[0],\n zoneId: \"cn-hangzhou-h\",\n}));\nconst securityGroup = new alicloud.ecs.SecurityGroup(\"security_group\", {\n description: \"terraform_example_group\",\n securityGroupName: \"terraform_example_group\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n securityGroupType: \"normal\",\n innerAccessPolicy: \"Accept\",\n});\nconst workspace = new alicloud.dms.EnterpriseWorkspace(\"workspace\", {\n description: \"terraform-example\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n workspaceName: \"terraform-example\",\n});\nconst defaultAirflow = new alicloud.dms.Airflow(\"default\", {\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n ossPath: \"/\",\n dagsDir: \"default/dags\",\n zoneId: \"cn-hangzhou-h\",\n workerServerlessReplicas: 0,\n description: \"terraform-example\",\n securityGroupId: securityGroup.id,\n requirementFile: \"default/requirements.txt\",\n airflowName: \"tfaccdms6513\",\n pluginsDir: \"default/plugins\",\n startupFile: \"default/startup.sh\",\n appSpec: \"SMALL\",\n ossBucketName: \"hansheng\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n workspaceId: workspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0],\n zone_id=\"cn-hangzhou-h\")\nsecurity_group = alicloud.ecs.SecurityGroup(\"security_group\",\n description=\"terraform_example_group\",\n security_group_name=\"terraform_example_group\",\n vpc_id=default.ids[0],\n security_group_type=\"normal\",\n inner_access_policy=\"Accept\")\nworkspace = alicloud.dms.EnterpriseWorkspace(\"workspace\",\n description=\"terraform-example\",\n vpc_id=default.ids[0],\n workspace_name=\"terraform-example\")\ndefault_airflow = alicloud.dms.Airflow(\"default\",\n vpc_id=default.ids[0],\n oss_path=\"/\",\n dags_dir=\"default/dags\",\n zone_id=\"cn-hangzhou-h\",\n worker_serverless_replicas=0,\n description=\"terraform-example\",\n security_group_id=security_group.id,\n requirement_file=\"default/requirements.txt\",\n airflow_name=\"tfaccdms6513\",\n plugins_dir=\"default/plugins\",\n startup_file=\"default/startup.sh\",\n app_spec=\"SMALL\",\n oss_bucket_name=\"hansheng\",\n vswitch_id=default_get_switches.ids[0],\n workspace_id=workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-hangzhou-h\",\n });\n\n var securityGroup = new AliCloud.Ecs.SecurityGroup(\"security_group\", new()\n {\n Description = \"terraform_example_group\",\n SecurityGroupName = \"terraform_example_group\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n SecurityGroupType = \"normal\",\n InnerAccessPolicy = \"Accept\",\n });\n\n var workspace = new AliCloud.Dms.EnterpriseWorkspace(\"workspace\", new()\n {\n Description = \"terraform-example\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n WorkspaceName = \"terraform-example\",\n });\n\n var defaultAirflow = new AliCloud.Dms.Airflow(\"default\", new()\n {\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n OssPath = \"/\",\n DagsDir = \"default/dags\",\n ZoneId = \"cn-hangzhou-h\",\n WorkerServerlessReplicas = 0,\n Description = \"terraform-example\",\n SecurityGroupId = securityGroup.Id,\n RequirementFile = \"default/requirements.txt\",\n AirflowName = \"tfaccdms6513\",\n PluginsDir = \"default/plugins\",\n StartupFile = \"default/startup.sh\",\n AppSpec = \"SMALL\",\n OssBucketName = \"hansheng\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n WorkspaceId = workspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-hangzhou-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroup, err := ecs.NewSecurityGroup(ctx, \"security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"terraform_example_group\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform_example_group\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tInnerAccessPolicy: pulumi.String(\"Accept\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := dms.NewEnterpriseWorkspace(ctx, \"workspace\", \u0026dms.EnterpriseWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tWorkspaceName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewAirflow(ctx, \"default\", \u0026dms.AirflowArgs{\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tOssPath: pulumi.String(\"/\"),\n\t\t\tDagsDir: pulumi.String(\"default/dags\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\n\t\t\tWorkerServerlessReplicas: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroupId: securityGroup.ID(),\n\t\t\tRequirementFile: pulumi.String(\"default/requirements.txt\"),\n\t\t\tAirflowName: pulumi.String(\"tfaccdms6513\"),\n\t\t\tPluginsDir: pulumi.String(\"default/plugins\"),\n\t\t\tStartupFile: pulumi.String(\"default/startup.sh\"),\n\t\t\tAppSpec: pulumi.String(\"SMALL\"),\n\t\t\tOssBucketName: pulumi.String(\"hansheng\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tWorkspaceId: workspace.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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspace;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspaceArgs;\nimport com.pulumi.alicloud.dms.Airflow;\nimport com.pulumi.alicloud.dms.AirflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(default_.ids()[0])\n .zoneId(\"cn-hangzhou-h\")\n .build());\n\n var securityGroup = new SecurityGroup(\"securityGroup\", SecurityGroupArgs.builder()\n .description(\"terraform_example_group\")\n .securityGroupName(\"terraform_example_group\")\n .vpcId(default_.ids()[0])\n .securityGroupType(\"normal\")\n .innerAccessPolicy(\"Accept\")\n .build());\n\n var workspace = new EnterpriseWorkspace(\"workspace\", EnterpriseWorkspaceArgs.builder()\n .description(\"terraform-example\")\n .vpcId(default_.ids()[0])\n .workspaceName(\"terraform-example\")\n .build());\n\n var defaultAirflow = new Airflow(\"defaultAirflow\", AirflowArgs.builder()\n .vpcId(default_.ids()[0])\n .ossPath(\"/\")\n .dagsDir(\"default/dags\")\n .zoneId(\"cn-hangzhou-h\")\n .workerServerlessReplicas(0)\n .description(\"terraform-example\")\n .securityGroupId(securityGroup.id())\n .requirementFile(\"default/requirements.txt\")\n .airflowName(\"tfaccdms6513\")\n .pluginsDir(\"default/plugins\")\n .startupFile(\"default/startup.sh\")\n .appSpec(\"SMALL\")\n .ossBucketName(\"hansheng\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .workspaceId(workspace.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n securityGroup:\n type: alicloud:ecs:SecurityGroup\n name: security_group\n properties:\n description: terraform_example_group\n securityGroupName: terraform_example_group\n vpcId: ${default.ids[0]}\n securityGroupType: normal\n innerAccessPolicy: Accept\n workspace:\n type: alicloud:dms:EnterpriseWorkspace\n properties:\n description: terraform-example\n vpcId: ${default.ids[0]}\n workspaceName: terraform-example\n defaultAirflow:\n type: alicloud:dms:Airflow\n name: default\n properties:\n vpcId: ${default.ids[0]}\n ossPath: /\n dagsDir: default/dags\n zoneId: cn-hangzhou-h\n workerServerlessReplicas: '0'\n description: terraform-example\n securityGroupId: ${securityGroup.id}\n requirementFile: default/requirements.txt\n airflowName: tfaccdms6513\n pluginsDir: default/plugins\n startupFile: default/startup.sh\n appSpec: SMALL\n ossBucketName: hansheng\n vswitchId: ${defaultGetSwitches.ids[0]}\n workspaceId: ${workspace.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${default.ids[0]}\n zoneId: cn-hangzhou-h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDms Airflow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/airflow:Airflow example \u003cworkspace_id\u003e:\u003cairflow_id\u003e\n```\n\n", + "description": "Provides a Dms Airflow resource.\n\nAirflow instance, used to schedule jobs.\n\nFor information about Dms Airflow and how to use it, see [What is Airflow](https://next.api.alibabacloud.com/document/Dms/2025-04-14/CreateAirflow).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n vpcId: _default.ids?.[0],\n zoneId: \"cn-hangzhou-h\",\n}));\nconst securityGroup = new alicloud.ecs.SecurityGroup(\"security_group\", {\n description: \"terraform_example_group\",\n securityGroupName: \"terraform_example_group\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n securityGroupType: \"normal\",\n innerAccessPolicy: \"Accept\",\n});\nconst workspace = new alicloud.dms.EnterpriseWorkspace(\"workspace\", {\n description: \"terraform-example\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n workspaceName: \"terraform-example\",\n});\nconst defaultAirflow = new alicloud.dms.Airflow(\"default\", {\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n ossPath: \"/\",\n dagsDir: \"default/dags\",\n zoneId: \"cn-hangzhou-h\",\n workerServerlessReplicas: 0,\n description: \"terraform-example\",\n securityGroupId: securityGroup.id,\n requirementFile: \"default/requirements.txt\",\n airflowName: \"tfaccdms6513\",\n pluginsDir: \"default/plugins\",\n startupFile: \"default/startup.sh\",\n appSpec: \"SMALL\",\n ossBucketName: \"hansheng\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n workspaceId: workspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0],\n zone_id=\"cn-hangzhou-h\")\nsecurity_group = alicloud.ecs.SecurityGroup(\"security_group\",\n description=\"terraform_example_group\",\n security_group_name=\"terraform_example_group\",\n vpc_id=default.ids[0],\n security_group_type=\"normal\",\n inner_access_policy=\"Accept\")\nworkspace = alicloud.dms.EnterpriseWorkspace(\"workspace\",\n description=\"terraform-example\",\n vpc_id=default.ids[0],\n workspace_name=\"terraform-example\")\ndefault_airflow = alicloud.dms.Airflow(\"default\",\n vpc_id=default.ids[0],\n oss_path=\"/\",\n dags_dir=\"default/dags\",\n zone_id=\"cn-hangzhou-h\",\n worker_serverless_replicas=0,\n description=\"terraform-example\",\n security_group_id=security_group.id,\n requirement_file=\"default/requirements.txt\",\n airflow_name=\"tfaccdms6513\",\n plugins_dir=\"default/plugins\",\n startup_file=\"default/startup.sh\",\n app_spec=\"SMALL\",\n oss_bucket_name=\"hansheng\",\n vswitch_id=default_get_switches.ids[0],\n workspace_id=workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-hangzhou-h\",\n });\n\n var securityGroup = new AliCloud.Ecs.SecurityGroup(\"security_group\", new()\n {\n Description = \"terraform_example_group\",\n SecurityGroupName = \"terraform_example_group\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n SecurityGroupType = \"normal\",\n InnerAccessPolicy = \"Accept\",\n });\n\n var workspace = new AliCloud.Dms.EnterpriseWorkspace(\"workspace\", new()\n {\n Description = \"terraform-example\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n WorkspaceName = \"terraform-example\",\n });\n\n var defaultAirflow = new AliCloud.Dms.Airflow(\"default\", new()\n {\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n OssPath = \"/\",\n DagsDir = \"default/dags\",\n ZoneId = \"cn-hangzhou-h\",\n WorkerServerlessReplicas = 0,\n Description = \"terraform-example\",\n SecurityGroupId = securityGroup.Id,\n RequirementFile = \"default/requirements.txt\",\n AirflowName = \"tfaccdms6513\",\n PluginsDir = \"default/plugins\",\n StartupFile = \"default/startup.sh\",\n AppSpec = \"SMALL\",\n OssBucketName = \"hansheng\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n WorkspaceId = workspace.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-hangzhou-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroup, err := ecs.NewSecurityGroup(ctx, \"security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"terraform_example_group\"),\n\t\t\tSecurityGroupName: pulumi.String(\"terraform_example_group\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tInnerAccessPolicy: pulumi.String(\"Accept\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := dms.NewEnterpriseWorkspace(ctx, \"workspace\", \u0026dms.EnterpriseWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tWorkspaceName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewAirflow(ctx, \"default\", \u0026dms.AirflowArgs{\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tOssPath: pulumi.String(\"/\"),\n\t\t\tDagsDir: pulumi.String(\"default/dags\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\n\t\t\tWorkerServerlessReplicas: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroupId: securityGroup.ID(),\n\t\t\tRequirementFile: pulumi.String(\"default/requirements.txt\"),\n\t\t\tAirflowName: pulumi.String(\"tfaccdms6513\"),\n\t\t\tPluginsDir: pulumi.String(\"default/plugins\"),\n\t\t\tStartupFile: pulumi.String(\"default/startup.sh\"),\n\t\t\tAppSpec: pulumi.String(\"SMALL\"),\n\t\t\tOssBucketName: pulumi.String(\"hansheng\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tWorkspaceId: workspace.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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspace;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspaceArgs;\nimport com.pulumi.alicloud.dms.Airflow;\nimport com.pulumi.alicloud.dms.AirflowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(default_.ids()[0])\n .zoneId(\"cn-hangzhou-h\")\n .build());\n\n var securityGroup = new SecurityGroup(\"securityGroup\", SecurityGroupArgs.builder()\n .description(\"terraform_example_group\")\n .securityGroupName(\"terraform_example_group\")\n .vpcId(default_.ids()[0])\n .securityGroupType(\"normal\")\n .innerAccessPolicy(\"Accept\")\n .build());\n\n var workspace = new EnterpriseWorkspace(\"workspace\", EnterpriseWorkspaceArgs.builder()\n .description(\"terraform-example\")\n .vpcId(default_.ids()[0])\n .workspaceName(\"terraform-example\")\n .build());\n\n var defaultAirflow = new Airflow(\"defaultAirflow\", AirflowArgs.builder()\n .vpcId(default_.ids()[0])\n .ossPath(\"/\")\n .dagsDir(\"default/dags\")\n .zoneId(\"cn-hangzhou-h\")\n .workerServerlessReplicas(0)\n .description(\"terraform-example\")\n .securityGroupId(securityGroup.id())\n .requirementFile(\"default/requirements.txt\")\n .airflowName(\"tfaccdms6513\")\n .pluginsDir(\"default/plugins\")\n .startupFile(\"default/startup.sh\")\n .appSpec(\"SMALL\")\n .ossBucketName(\"hansheng\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .workspaceId(workspace.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n securityGroup:\n type: alicloud:ecs:SecurityGroup\n name: security_group\n properties:\n description: terraform_example_group\n securityGroupName: terraform_example_group\n vpcId: ${default.ids[0]}\n securityGroupType: normal\n innerAccessPolicy: Accept\n workspace:\n type: alicloud:dms:EnterpriseWorkspace\n properties:\n description: terraform-example\n vpcId: ${default.ids[0]}\n workspaceName: terraform-example\n defaultAirflow:\n type: alicloud:dms:Airflow\n name: default\n properties:\n vpcId: ${default.ids[0]}\n ossPath: /\n dagsDir: default/dags\n zoneId: cn-hangzhou-h\n workerServerlessReplicas: '0'\n description: terraform-example\n securityGroupId: ${securityGroup.id}\n requirementFile: default/requirements.txt\n airflowName: tfaccdms6513\n pluginsDir: default/plugins\n startupFile: default/startup.sh\n appSpec: SMALL\n ossBucketName: hansheng\n vswitchId: ${defaultGetSwitches.ids[0]}\n workspaceId: ${workspace.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${default.ids[0]}\n zoneId: cn-hangzhou-h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDms Airflow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/airflow:Airflow example \u003cworkspace_id\u003e:\u003cairflow_id\u003e\n```\n\n", "properties": { "airflowId": { "type": "string", @@ -141631,7 +144260,7 @@ } }, "alicloud:dms/enterpriseAuthorityTemplate:EnterpriseAuthorityTemplate": { - "description": "Provides a DMS Enterprise Authority Template resource. \n\nFor information about DMS Enterprise Authority Template and how to use it, see [What is Authority Template](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-createauthoritytemplate).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultEnterpriseAuthorityTemplate = new alicloud.dms.EnterpriseAuthorityTemplate(\"default\", {\n tid: _default.then(_default =\u003e _default.ids?.[0]),\n authorityTemplateName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_enterprise_authority_template = alicloud.dms.EnterpriseAuthorityTemplate(\"default\",\n tid=default.ids[0],\n authority_template_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultEnterpriseAuthorityTemplate = new AliCloud.Dms.EnterpriseAuthorityTemplate(\"default\", new()\n {\n Tid = @default.Apply(@default =\u003e @default.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0])),\n AuthorityTemplateName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseAuthorityTemplate(ctx, \"default\", \u0026dms.EnterpriseAuthorityTemplateArgs{\n\t\t\tTid: pulumi.String(_default.Ids[0]),\n\t\t\tAuthorityTemplateName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.dms.EnterpriseAuthorityTemplate;\nimport com.pulumi.alicloud.dms.EnterpriseAuthorityTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n var defaultEnterpriseAuthorityTemplate = new EnterpriseAuthorityTemplate(\"defaultEnterpriseAuthorityTemplate\", EnterpriseAuthorityTemplateArgs.builder()\n .tid(default_.ids()[0])\n .authorityTemplateName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEnterpriseAuthorityTemplate:\n type: alicloud:dms:EnterpriseAuthorityTemplate\n name: default\n properties:\n tid: ${default.ids[0]}\n authorityTemplateName: ${name}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise Authority Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseAuthorityTemplate:EnterpriseAuthorityTemplate example \u003ctid\u003e:\u003cauthority_template_id\u003e\n```\n\n", + "description": "Provides a DMS Enterprise Authority Template resource. \n\nFor information about DMS Enterprise Authority Template and how to use it, see [What is Authority Template](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-createauthoritytemplate).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultEnterpriseAuthorityTemplate = new alicloud.dms.EnterpriseAuthorityTemplate(\"default\", {\n tid: _default.then(_default =\u003e _default.ids?.[0]),\n authorityTemplateName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_enterprise_authority_template = alicloud.dms.EnterpriseAuthorityTemplate(\"default\",\n tid=default.ids[0],\n authority_template_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultEnterpriseAuthorityTemplate = new AliCloud.Dms.EnterpriseAuthorityTemplate(\"default\", new()\n {\n Tid = @default.Apply(@default =\u003e @default.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0])),\n AuthorityTemplateName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseAuthorityTemplate(ctx, \"default\", \u0026dms.EnterpriseAuthorityTemplateArgs{\n\t\t\tTid: pulumi.String(_default.Ids[0]),\n\t\t\tAuthorityTemplateName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.dms.EnterpriseAuthorityTemplate;\nimport com.pulumi.alicloud.dms.EnterpriseAuthorityTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n var defaultEnterpriseAuthorityTemplate = new EnterpriseAuthorityTemplate(\"defaultEnterpriseAuthorityTemplate\", EnterpriseAuthorityTemplateArgs.builder()\n .tid(default_.ids()[0])\n .authorityTemplateName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEnterpriseAuthorityTemplate:\n type: alicloud:dms:EnterpriseAuthorityTemplate\n name: default\n properties:\n tid: ${default.ids[0]}\n authorityTemplateName: ${name}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise Authority Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseAuthorityTemplate:EnterpriseAuthorityTemplate example \u003ctid\u003e:\u003cauthority_template_id\u003e\n```\n\n", "properties": { "authorityTemplateId": { "type": "integer", @@ -141708,7 +144337,7 @@ } }, "alicloud:dms/enterpriseInstance:EnterpriseInstance": { - "description": "Provides a DMS Enterprise Instance resource.\n\n\u003e **NOTE:** API users must first register in DMS.\n\n\u003e **NOTE:** Available since v1.81.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst current = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetUserTenants = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n securityIps: [\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.rds.Account(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfexamplename\",\n accountPassword: \"Example12345\",\n accountType: \"Normal\",\n});\nconst defaultEnterpriseInstance = new alicloud.dms.EnterpriseInstance(\"default\", {\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n instanceType: \"mysql\",\n instanceSource: \"RDS\",\n networkType: \"VPC\",\n envType: \"dev\",\n host: defaultInstance.connectionString,\n port: 3306,\n databaseUser: defaultAccount.accountName,\n databasePassword: defaultAccount.accountPassword,\n instanceName: name,\n dbaUid: current.then(current =\u003e current.id),\n safeRule: \"904496\",\n useDsql: 1,\n queryTimeout: 60,\n exportTimeout: 600,\n ecsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ncurrent = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\ndefault_get_user_tenants = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n security_ips=[\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.rds.Account(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfexamplename\",\n account_password=\"Example12345\",\n account_type=\"Normal\")\ndefault_enterprise_instance = alicloud.dms.EnterpriseInstance(\"default\",\n tid=default_get_user_tenants.ids[0],\n instance_type=\"mysql\",\n instance_source=\"RDS\",\n network_type=\"VPC\",\n env_type=\"dev\",\n host=default_instance.connection_string,\n port=3306,\n database_user=default_account.account_name,\n database_password=default_account.account_password,\n instance_name=name,\n dba_uid=current.id,\n safe_rule=\"904496\",\n use_dsql=1,\n query_timeout=60,\n export_timeout=600,\n ecs_region=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetUserTenants = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n SecurityIps = new[]\n {\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.Rds.Account(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfexamplename\",\n AccountPassword = \"Example12345\",\n AccountType = \"Normal\",\n });\n\n var defaultEnterpriseInstance = new AliCloud.Dms.EnterpriseInstance(\"default\", new()\n {\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n InstanceType = \"mysql\",\n InstanceSource = \"RDS\",\n NetworkType = \"VPC\",\n EnvType = \"dev\",\n Host = defaultInstance.ConnectionString,\n Port = 3306,\n DatabaseUser = defaultAccount.AccountName,\n DatabasePassword = defaultAccount.AccountPassword,\n InstanceName = name,\n DbaUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n SafeRule = \"904496\",\n UseDsql = 1,\n QueryTimeout = 60,\n ExportTimeout = 600,\n EcsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetUserTenants, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100.104.5.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.6\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := rds.NewAccount(ctx, \"default\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseInstance(ctx, \"default\", \u0026dms.EnterpriseInstanceArgs{\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[0]),\n\t\t\tInstanceType: pulumi.String(\"mysql\"),\n\t\t\tInstanceSource: pulumi.String(\"RDS\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tEnvType: pulumi.String(\"dev\"),\n\t\t\tHost: defaultInstance.ConnectionString,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tDatabaseUser: defaultAccount.AccountName,\n\t\t\tDatabasePassword: defaultAccount.AccountPassword,\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDbaUid: pulumi.String(current.Id),\n\t\t\tSafeRule: pulumi.String(\"904496\"),\n\t\t\tUseDsql: pulumi.Int(1),\n\t\t\tQueryTimeout: pulumi.Int(60),\n\t\t\tExportTimeout: pulumi.Int(600),\n\t\t\tEcsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.dms.EnterpriseInstance;\nimport com.pulumi.alicloud.dms.EnterpriseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetUserTenants = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .securityIps( \n \"100.104.5.0/24\",\n \"192.168.0.6\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfexamplename\")\n .accountPassword(\"Example12345\")\n .accountType(\"Normal\")\n .build());\n\n var defaultEnterpriseInstance = new EnterpriseInstance(\"defaultEnterpriseInstance\", EnterpriseInstanceArgs.builder()\n .tid(defaultGetUserTenants.ids()[0])\n .instanceType(\"mysql\")\n .instanceSource(\"RDS\")\n .networkType(\"VPC\")\n .envType(\"dev\")\n .host(defaultInstance.connectionString())\n .port(3306)\n .databaseUser(defaultAccount.accountName())\n .databasePassword(defaultAccount.accountPassword())\n .instanceName(name)\n .dbaUid(current.id())\n .safeRule(\"904496\")\n .useDsql(1)\n .queryTimeout(60)\n .exportTimeout(600)\n .ecsRegion(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n securityIps:\n - 100.104.5.0/24\n - 192.168.0.6\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:rds:Account\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfexamplename\n accountPassword: Example12345\n accountType: Normal\n defaultEnterpriseInstance:\n type: alicloud:dms:EnterpriseInstance\n name: default\n properties:\n tid: ${defaultGetUserTenants.ids[0]}\n instanceType: mysql\n instanceSource: RDS\n networkType: VPC\n envType: dev\n host: ${defaultInstance.connectionString}\n port: 3306\n databaseUser: ${defaultAccount.accountName}\n databasePassword: ${defaultAccount.accountPassword}\n instanceName: ${name}\n dbaUid: ${current.id}\n safeRule: '904496'\n useDsql: 1\n queryTimeout: 60\n exportTimeout: 600\n ecsRegion: ${default.regions[0].id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetUserTenants:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise can be imported using host and port, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseInstance:EnterpriseInstance example rm-uf648hgs7874xxxx.mysql.rds.aliyuncs.com:3306\n```\n\n", + "description": "Provides a DMS Enterprise Instance resource.\n\n\u003e **NOTE:** API users must first register in DMS.\n\n\u003e **NOTE:** Available since v1.81.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst current = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetUserTenants = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n securityIps: [\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.rds.Account(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfexamplename\",\n accountPassword: \"Example12345\",\n accountType: \"Normal\",\n});\nconst defaultEnterpriseInstance = new alicloud.dms.EnterpriseInstance(\"default\", {\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n instanceType: \"mysql\",\n instanceSource: \"RDS\",\n networkType: \"VPC\",\n envType: \"dev\",\n host: defaultInstance.connectionString,\n port: 3306,\n databaseUser: defaultAccount.accountName,\n databasePassword: defaultAccount.accountPassword,\n instanceName: name,\n dbaUid: current.then(current =\u003e current.id),\n safeRule: \"904496\",\n useDsql: 1,\n queryTimeout: 60,\n exportTimeout: 600,\n ecsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ncurrent = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\ndefault_get_user_tenants = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n security_ips=[\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.rds.Account(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfexamplename\",\n account_password=\"Example12345\",\n account_type=\"Normal\")\ndefault_enterprise_instance = alicloud.dms.EnterpriseInstance(\"default\",\n tid=default_get_user_tenants.ids[0],\n instance_type=\"mysql\",\n instance_source=\"RDS\",\n network_type=\"VPC\",\n env_type=\"dev\",\n host=default_instance.connection_string,\n port=3306,\n database_user=default_account.account_name,\n database_password=default_account.account_password,\n instance_name=name,\n dba_uid=current.id,\n safe_rule=\"904496\",\n use_dsql=1,\n query_timeout=60,\n export_timeout=600,\n ecs_region=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetUserTenants = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n SecurityIps = new[]\n {\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.Rds.Account(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfexamplename\",\n AccountPassword = \"Example12345\",\n AccountType = \"Normal\",\n });\n\n var defaultEnterpriseInstance = new AliCloud.Dms.EnterpriseInstance(\"default\", new()\n {\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n InstanceType = \"mysql\",\n InstanceSource = \"RDS\",\n NetworkType = \"VPC\",\n EnvType = \"dev\",\n Host = defaultInstance.ConnectionString,\n Port = 3306,\n DatabaseUser = defaultAccount.AccountName,\n DatabasePassword = defaultAccount.AccountPassword,\n InstanceName = name,\n DbaUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n SafeRule = \"904496\",\n UseDsql = 1,\n QueryTimeout = 60,\n ExportTimeout = 600,\n EcsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetUserTenants, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100.104.5.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.6\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := rds.NewAccount(ctx, \"default\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseInstance(ctx, \"default\", \u0026dms.EnterpriseInstanceArgs{\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[0]),\n\t\t\tInstanceType: pulumi.String(\"mysql\"),\n\t\t\tInstanceSource: pulumi.String(\"RDS\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tEnvType: pulumi.String(\"dev\"),\n\t\t\tHost: defaultInstance.ConnectionString,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tDatabaseUser: defaultAccount.AccountName,\n\t\t\tDatabasePassword: defaultAccount.AccountPassword,\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDbaUid: pulumi.String(current.Id),\n\t\t\tSafeRule: pulumi.String(\"904496\"),\n\t\t\tUseDsql: pulumi.Int(1),\n\t\t\tQueryTimeout: pulumi.Int(60),\n\t\t\tExportTimeout: pulumi.Int(600),\n\t\t\tEcsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.dms.EnterpriseInstance;\nimport com.pulumi.alicloud.dms.EnterpriseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetUserTenants = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .securityIps( \n \"100.104.5.0/24\",\n \"192.168.0.6\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfexamplename\")\n .accountPassword(\"Example12345\")\n .accountType(\"Normal\")\n .build());\n\n var defaultEnterpriseInstance = new EnterpriseInstance(\"defaultEnterpriseInstance\", EnterpriseInstanceArgs.builder()\n .tid(defaultGetUserTenants.ids()[0])\n .instanceType(\"mysql\")\n .instanceSource(\"RDS\")\n .networkType(\"VPC\")\n .envType(\"dev\")\n .host(defaultInstance.connectionString())\n .port(3306)\n .databaseUser(defaultAccount.accountName())\n .databasePassword(defaultAccount.accountPassword())\n .instanceName(name)\n .dbaUid(current.id())\n .safeRule(\"904496\")\n .useDsql(1)\n .queryTimeout(60)\n .exportTimeout(600)\n .ecsRegion(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n securityIps:\n - 100.104.5.0/24\n - 192.168.0.6\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:rds:Account\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfexamplename\n accountPassword: Example12345\n accountType: Normal\n defaultEnterpriseInstance:\n type: alicloud:dms:EnterpriseInstance\n name: default\n properties:\n tid: ${defaultGetUserTenants.ids[0]}\n instanceType: mysql\n instanceSource: RDS\n networkType: VPC\n envType: dev\n host: ${defaultInstance.connectionString}\n port: 3306\n databaseUser: ${defaultAccount.accountName}\n databasePassword: ${defaultAccount.accountPassword}\n instanceName: ${name}\n dbaUid: ${current.id}\n safeRule: '904496'\n useDsql: 1\n queryTimeout: 60\n exportTimeout: 600\n ecsRegion: ${default.regions[0].id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetUserTenants:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise can be imported using host and port, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseInstance:EnterpriseInstance example rm-uf648hgs7874xxxx.mysql.rds.aliyuncs.com:3306\n```\n\n", "properties": { "dataLinkName": { "type": "string", @@ -142114,7 +144743,7 @@ } }, "alicloud:dms/enterpriseLogicDatabase:EnterpriseLogicDatabase": { - "description": "Provides a DMS Enterprise Logic Database resource.\n\nFor information about DMS Enterprise Logic Database and how to use it, see [What is Logic Database](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-createlogicdatabase).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dms.EnterpriseLogicDatabase(\"default\", {\n alias: \"TF_logic_db_test\",\n databaseIds: [\n \"35617919\",\n \"35617920\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dms.EnterpriseLogicDatabase(\"default\",\n alias=\"TF_logic_db_test\",\n database_ids=[\n \"35617919\",\n \"35617920\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dms.EnterpriseLogicDatabase(\"default\", new()\n {\n Alias = \"TF_logic_db_test\",\n DatabaseIds = new[]\n {\n \"35617919\",\n \"35617920\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewEnterpriseLogicDatabase(ctx, \"default\", \u0026dms.EnterpriseLogicDatabaseArgs{\n\t\t\tAlias: pulumi.String(\"TF_logic_db_test\"),\n\t\t\tDatabaseIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"35617919\"),\n\t\t\t\tpulumi.String(\"35617920\"),\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.alicloud.dms.EnterpriseLogicDatabase;\nimport com.pulumi.alicloud.dms.EnterpriseLogicDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EnterpriseLogicDatabase(\"default\", EnterpriseLogicDatabaseArgs.builder()\n .alias(\"TF_logic_db_test\")\n .databaseIds( \n \"35617919\",\n \"35617920\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dms:EnterpriseLogicDatabase\n properties:\n alias: TF_logic_db_test\n databaseIds:\n - '35617919'\n - '35617920'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise Logic Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseLogicDatabase:EnterpriseLogicDatabase example \u003cid\u003e\n```\n\n", + "description": "Provides a DMS Enterprise Logic Database resource.\n\nFor information about DMS Enterprise Logic Database and how to use it, see [What is Logic Database](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-createlogicdatabase).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dms.EnterpriseLogicDatabase(\"default\", {\n alias: \"TF_logic_db_test\",\n databaseIds: [\n \"35617919\",\n \"35617920\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dms.EnterpriseLogicDatabase(\"default\",\n alias=\"TF_logic_db_test\",\n database_ids=[\n \"35617919\",\n \"35617920\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dms.EnterpriseLogicDatabase(\"default\", new()\n {\n Alias = \"TF_logic_db_test\",\n DatabaseIds = new[]\n {\n \"35617919\",\n \"35617920\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dms.NewEnterpriseLogicDatabase(ctx, \"default\", \u0026dms.EnterpriseLogicDatabaseArgs{\n\t\t\tAlias: pulumi.String(\"TF_logic_db_test\"),\n\t\t\tDatabaseIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"35617919\"),\n\t\t\t\tpulumi.String(\"35617920\"),\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.alicloud.dms.EnterpriseLogicDatabase;\nimport com.pulumi.alicloud.dms.EnterpriseLogicDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EnterpriseLogicDatabase(\"default\", EnterpriseLogicDatabaseArgs.builder()\n .alias(\"TF_logic_db_test\")\n .databaseIds( \n \"35617919\",\n \"35617920\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dms:EnterpriseLogicDatabase\n properties:\n alias: TF_logic_db_test\n databaseIds:\n - '35617919'\n - '35617920'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise Logic Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseLogicDatabase:EnterpriseLogicDatabase example \u003cid\u003e\n```\n\n", "properties": { "alias": { "type": "string", @@ -142256,7 +144885,7 @@ } }, "alicloud:dms/enterpriseProxy:EnterpriseProxy": { - "description": "Provides a DMS Enterprise Proxy resource.\n\nFor information about DMS Enterprise Proxy and how to use it, see [What is Proxy](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateProxy).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst current = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetUserTenants = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[1]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n securityIps: [\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.rds.Account(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfexamplename\",\n accountPassword: \"Example12345\",\n accountType: \"Normal\",\n});\nconst defaultEnterpriseInstance = new alicloud.dms.EnterpriseInstance(\"default\", {\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n instanceType: \"mysql\",\n instanceSource: \"RDS\",\n networkType: \"VPC\",\n envType: \"dev\",\n host: defaultInstance.connectionString,\n port: 3306,\n databaseUser: defaultAccount.accountName,\n databasePassword: defaultAccount.accountPassword,\n instanceName: name,\n dbaUid: current.then(current =\u003e current.id),\n safeRule: \"自由操作\",\n queryTimeout: 60,\n exportTimeout: 600,\n ecsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst defaultEnterpriseProxy = new alicloud.dms.EnterpriseProxy(\"default\", {\n instanceId: defaultEnterpriseInstance.instanceId,\n password: \"Example12345\",\n username: \"tfexamplename\",\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ncurrent = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\ndefault_get_user_tenants = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[1].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n security_ips=[\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.rds.Account(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfexamplename\",\n account_password=\"Example12345\",\n account_type=\"Normal\")\ndefault_enterprise_instance = alicloud.dms.EnterpriseInstance(\"default\",\n tid=default_get_user_tenants.ids[0],\n instance_type=\"mysql\",\n instance_source=\"RDS\",\n network_type=\"VPC\",\n env_type=\"dev\",\n host=default_instance.connection_string,\n port=3306,\n database_user=default_account.account_name,\n database_password=default_account.account_password,\n instance_name=name,\n dba_uid=current.id,\n safe_rule=\"自由操作\",\n query_timeout=60,\n export_timeout=600,\n ecs_region=default.regions[0].id)\ndefault_enterprise_proxy = alicloud.dms.EnterpriseProxy(\"default\",\n instance_id=default_enterprise_instance.instance_id,\n password=\"Example12345\",\n username=\"tfexamplename\",\n tid=default_get_user_tenants.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetUserTenants = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n SecurityIps = new[]\n {\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.Rds.Account(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfexamplename\",\n AccountPassword = \"Example12345\",\n AccountType = \"Normal\",\n });\n\n var defaultEnterpriseInstance = new AliCloud.Dms.EnterpriseInstance(\"default\", new()\n {\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n InstanceType = \"mysql\",\n InstanceSource = \"RDS\",\n NetworkType = \"VPC\",\n EnvType = \"dev\",\n Host = defaultInstance.ConnectionString,\n Port = 3306,\n DatabaseUser = defaultAccount.AccountName,\n DatabasePassword = defaultAccount.AccountPassword,\n InstanceName = name,\n DbaUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n SafeRule = \"自由操作\",\n QueryTimeout = 60,\n ExportTimeout = 600,\n EcsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var defaultEnterpriseProxy = new AliCloud.Dms.EnterpriseProxy(\"default\", new()\n {\n InstanceId = defaultEnterpriseInstance.InstanceId,\n Password = \"Example12345\",\n Username = \"tfexamplename\",\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetUserTenants, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100.104.5.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.6\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := rds.NewAccount(ctx, \"default\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEnterpriseInstance, err := dms.NewEnterpriseInstance(ctx, \"default\", \u0026dms.EnterpriseInstanceArgs{\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[0]),\n\t\t\tInstanceType: pulumi.String(\"mysql\"),\n\t\t\tInstanceSource: pulumi.String(\"RDS\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tEnvType: pulumi.String(\"dev\"),\n\t\t\tHost: defaultInstance.ConnectionString,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tDatabaseUser: defaultAccount.AccountName,\n\t\t\tDatabasePassword: defaultAccount.AccountPassword,\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDbaUid: pulumi.String(current.Id),\n\t\t\tSafeRule: pulumi.String(\"自由操作\"),\n\t\t\tQueryTimeout: pulumi.Int(60),\n\t\t\tExportTimeout: pulumi.Int(600),\n\t\t\tEcsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseProxy(ctx, \"default\", \u0026dms.EnterpriseProxyArgs{\n\t\t\tInstanceId: defaultEnterpriseInstance.InstanceId,\n\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\tUsername: pulumi.String(\"tfexamplename\"),\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.dms.EnterpriseInstance;\nimport com.pulumi.alicloud.dms.EnterpriseInstanceArgs;\nimport com.pulumi.alicloud.dms.EnterpriseProxy;\nimport com.pulumi.alicloud.dms.EnterpriseProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetUserTenants = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[1].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .securityIps( \n \"100.104.5.0/24\",\n \"192.168.0.6\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfexamplename\")\n .accountPassword(\"Example12345\")\n .accountType(\"Normal\")\n .build());\n\n var defaultEnterpriseInstance = new EnterpriseInstance(\"defaultEnterpriseInstance\", EnterpriseInstanceArgs.builder()\n .tid(defaultGetUserTenants.ids()[0])\n .instanceType(\"mysql\")\n .instanceSource(\"RDS\")\n .networkType(\"VPC\")\n .envType(\"dev\")\n .host(defaultInstance.connectionString())\n .port(3306)\n .databaseUser(defaultAccount.accountName())\n .databasePassword(defaultAccount.accountPassword())\n .instanceName(name)\n .dbaUid(current.id())\n .safeRule(\"自由操作\")\n .queryTimeout(60)\n .exportTimeout(600)\n .ecsRegion(default_.regions()[0].id())\n .build());\n\n var defaultEnterpriseProxy = new EnterpriseProxy(\"defaultEnterpriseProxy\", EnterpriseProxyArgs.builder()\n .instanceId(defaultEnterpriseInstance.instanceId())\n .password(\"Example12345\")\n .username(\"tfexamplename\")\n .tid(defaultGetUserTenants.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n securityIps:\n - 100.104.5.0/24\n - 192.168.0.6\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:rds:Account\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfexamplename\n accountPassword: Example12345\n accountType: Normal\n defaultEnterpriseInstance:\n type: alicloud:dms:EnterpriseInstance\n name: default\n properties:\n tid: ${defaultGetUserTenants.ids[0]}\n instanceType: mysql\n instanceSource: RDS\n networkType: VPC\n envType: dev\n host: ${defaultInstance.connectionString}\n port: 3306\n databaseUser: ${defaultAccount.accountName}\n databasePassword: ${defaultAccount.accountPassword}\n instanceName: ${name}\n dbaUid: ${current.id}\n safeRule: 自由操作\n queryTimeout: 60\n exportTimeout: 600\n ecsRegion: ${default.regions[0].id}\n defaultEnterpriseProxy:\n type: alicloud:dms:EnterpriseProxy\n name: default\n properties:\n instanceId: ${defaultEnterpriseInstance.instanceId}\n password: Example12345\n username: tfexamplename\n tid: ${defaultGetUserTenants.ids[0]}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetUserTenants:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[1].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise Proxy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseProxy:EnterpriseProxy example \u003cid\u003e\n```\n\n", + "description": "Provides a DMS Enterprise Proxy resource.\n\nFor information about DMS Enterprise Proxy and how to use it, see [What is Proxy](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateProxy).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst current = alicloud.getAccount({});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetUserTenants = alicloud.dms.getUserTenants({\n status: \"ACTIVE\",\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[1]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n securityIps: [\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.rds.Account(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: \"tfexamplename\",\n accountPassword: \"Example12345\",\n accountType: \"Normal\",\n});\nconst defaultEnterpriseInstance = new alicloud.dms.EnterpriseInstance(\"default\", {\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n instanceType: \"mysql\",\n instanceSource: \"RDS\",\n networkType: \"VPC\",\n envType: \"dev\",\n host: defaultInstance.connectionString,\n port: 3306,\n databaseUser: defaultAccount.accountName,\n databasePassword: defaultAccount.accountPassword,\n instanceName: name,\n dbaUid: current.then(current =\u003e current.id),\n safeRule: \"自由操作\",\n queryTimeout: 60,\n exportTimeout: 600,\n ecsRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\nconst defaultEnterpriseProxy = new alicloud.dms.EnterpriseProxy(\"default\", {\n instanceId: defaultEnterpriseInstance.instanceId,\n password: \"Example12345\",\n username: \"tfexamplename\",\n tid: defaultGetUserTenants.then(defaultGetUserTenants =\u003e defaultGetUserTenants.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ncurrent = alicloud.get_account()\ndefault = alicloud.get_regions(current=True)\ndefault_get_user_tenants = alicloud.dms.get_user_tenants(status=\"ACTIVE\")\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[1].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n security_ips=[\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.rds.Account(\"default\",\n db_instance_id=default_instance.id,\n account_name=\"tfexamplename\",\n account_password=\"Example12345\",\n account_type=\"Normal\")\ndefault_enterprise_instance = alicloud.dms.EnterpriseInstance(\"default\",\n tid=default_get_user_tenants.ids[0],\n instance_type=\"mysql\",\n instance_source=\"RDS\",\n network_type=\"VPC\",\n env_type=\"dev\",\n host=default_instance.connection_string,\n port=3306,\n database_user=default_account.account_name,\n database_password=default_account.account_password,\n instance_name=name,\n dba_uid=current.id,\n safe_rule=\"自由操作\",\n query_timeout=60,\n export_timeout=600,\n ecs_region=default.regions[0].id)\ndefault_enterprise_proxy = alicloud.dms.EnterpriseProxy(\"default\",\n instance_id=default_enterprise_instance.instance_id,\n password=\"Example12345\",\n username=\"tfexamplename\",\n tid=default_get_user_tenants.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetUserTenants = AliCloud.Dms.GetUserTenants.Invoke(new()\n {\n Status = \"ACTIVE\",\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n SecurityIps = new[]\n {\n \"100.104.5.0/24\",\n \"192.168.0.6\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.Rds.Account(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = \"tfexamplename\",\n AccountPassword = \"Example12345\",\n AccountType = \"Normal\",\n });\n\n var defaultEnterpriseInstance = new AliCloud.Dms.EnterpriseInstance(\"default\", new()\n {\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n InstanceType = \"mysql\",\n InstanceSource = \"RDS\",\n NetworkType = \"VPC\",\n EnvType = \"dev\",\n Host = defaultInstance.ConnectionString,\n Port = 3306,\n DatabaseUser = defaultAccount.AccountName,\n DatabasePassword = defaultAccount.AccountPassword,\n InstanceName = name,\n DbaUid = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n SafeRule = \"自由操作\",\n QueryTimeout = 60,\n ExportTimeout = 600,\n EcsRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n var defaultEnterpriseProxy = new AliCloud.Dms.EnterpriseProxy(\"default\", new()\n {\n InstanceId = defaultEnterpriseInstance.InstanceId,\n Password = \"Example12345\",\n Username = \"tfexamplename\",\n Tid = defaultGetUserTenants.Apply(getUserTenantsResult =\u003e getUserTenantsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetUserTenants, err := dms.GetUserTenants(ctx, \u0026dms.GetUserTenantsArgs{\n\t\t\tStatus: pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[1].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100.104.5.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.6\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := rds.NewAccount(ctx, \"default\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEnterpriseInstance, err := dms.NewEnterpriseInstance(ctx, \"default\", \u0026dms.EnterpriseInstanceArgs{\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[0]),\n\t\t\tInstanceType: pulumi.String(\"mysql\"),\n\t\t\tInstanceSource: pulumi.String(\"RDS\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tEnvType: pulumi.String(\"dev\"),\n\t\t\tHost: defaultInstance.ConnectionString,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tDatabaseUser: defaultAccount.AccountName,\n\t\t\tDatabasePassword: defaultAccount.AccountPassword,\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDbaUid: pulumi.String(current.Id),\n\t\t\tSafeRule: pulumi.String(\"自由操作\"),\n\t\t\tQueryTimeout: pulumi.Int(60),\n\t\t\tExportTimeout: pulumi.Int(600),\n\t\t\tEcsRegion: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseProxy(ctx, \"default\", \u0026dms.EnterpriseProxyArgs{\n\t\t\tInstanceId: defaultEnterpriseInstance.InstanceId,\n\t\t\tPassword: pulumi.String(\"Example12345\"),\n\t\t\tUsername: pulumi.String(\"tfexamplename\"),\n\t\t\tTid: pulumi.String(defaultGetUserTenants.Ids[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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetUserTenantsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.dms.EnterpriseInstance;\nimport com.pulumi.alicloud.dms.EnterpriseInstanceArgs;\nimport com.pulumi.alicloud.dms.EnterpriseProxy;\nimport com.pulumi.alicloud.dms.EnterpriseProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetUserTenants = DmsFunctions.getUserTenants(GetUserTenantsArgs.builder()\n .status(\"ACTIVE\")\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[1].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .securityIps( \n \"100.104.5.0/24\",\n \"192.168.0.6\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(\"tfexamplename\")\n .accountPassword(\"Example12345\")\n .accountType(\"Normal\")\n .build());\n\n var defaultEnterpriseInstance = new EnterpriseInstance(\"defaultEnterpriseInstance\", EnterpriseInstanceArgs.builder()\n .tid(defaultGetUserTenants.ids()[0])\n .instanceType(\"mysql\")\n .instanceSource(\"RDS\")\n .networkType(\"VPC\")\n .envType(\"dev\")\n .host(defaultInstance.connectionString())\n .port(3306)\n .databaseUser(defaultAccount.accountName())\n .databasePassword(defaultAccount.accountPassword())\n .instanceName(name)\n .dbaUid(current.id())\n .safeRule(\"自由操作\")\n .queryTimeout(60)\n .exportTimeout(600)\n .ecsRegion(default_.regions()[0].id())\n .build());\n\n var defaultEnterpriseProxy = new EnterpriseProxy(\"defaultEnterpriseProxy\", EnterpriseProxyArgs.builder()\n .instanceId(defaultEnterpriseInstance.instanceId())\n .password(\"Example12345\")\n .username(\"tfexamplename\")\n .tid(defaultGetUserTenants.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n securityIps:\n - 100.104.5.0/24\n - 192.168.0.6\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:rds:Account\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: tfexamplename\n accountPassword: Example12345\n accountType: Normal\n defaultEnterpriseInstance:\n type: alicloud:dms:EnterpriseInstance\n name: default\n properties:\n tid: ${defaultGetUserTenants.ids[0]}\n instanceType: mysql\n instanceSource: RDS\n networkType: VPC\n envType: dev\n host: ${defaultInstance.connectionString}\n port: 3306\n databaseUser: ${defaultAccount.accountName}\n databasePassword: ${defaultAccount.accountPassword}\n instanceName: ${name}\n dbaUid: ${current.id}\n safeRule: 自由操作\n queryTimeout: 60\n exportTimeout: 600\n ecsRegion: ${default.regions[0].id}\n defaultEnterpriseProxy:\n type: alicloud:dms:EnterpriseProxy\n name: default\n properties:\n instanceId: ${defaultEnterpriseInstance.instanceId}\n password: Example12345\n username: tfexamplename\n tid: ${defaultGetUserTenants.ids[0]}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetUserTenants:\n fn::invoke:\n function: alicloud:dms:getUserTenants\n arguments:\n status: ACTIVE\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[1].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise Proxy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseProxy:EnterpriseProxy example \u003cid\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -142335,7 +144964,7 @@ } }, "alicloud:dms/enterpriseProxyAccess:EnterpriseProxyAccess": { - "description": "Provides a DMS Enterprise Proxy Access resource.\n\nFor information about DMS Enterprise Proxy Access and how to use it, see [What is Proxy Access](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateProxyAccess).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst dmsEnterpriseUsersDs = alicloud.dms.getEnterpriseUsers({\n role: \"USER\",\n status: \"NORMAL\",\n});\nconst ids = alicloud.dms.getEnterpriseProxies({});\nconst _default = new alicloud.dms.EnterpriseProxyAccess(\"default\", {\n proxyId: ids.then(ids =\u003e ids.proxies?.[0]?.id),\n userId: dmsEnterpriseUsersDs.then(dmsEnterpriseUsersDs =\u003e dmsEnterpriseUsersDs.users?.[0]?.userId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndms_enterprise_users_ds = alicloud.dms.get_enterprise_users(role=\"USER\",\n status=\"NORMAL\")\nids = alicloud.dms.get_enterprise_proxies()\ndefault = alicloud.dms.EnterpriseProxyAccess(\"default\",\n proxy_id=ids.proxies[0].id,\n user_id=dms_enterprise_users_ds.users[0].user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dmsEnterpriseUsersDs = AliCloud.Dms.GetEnterpriseUsers.Invoke(new()\n {\n Role = \"USER\",\n Status = \"NORMAL\",\n });\n\n var ids = AliCloud.Dms.GetEnterpriseProxies.Invoke();\n\n var @default = new AliCloud.Dms.EnterpriseProxyAccess(\"default\", new()\n {\n ProxyId = ids.Apply(getEnterpriseProxiesResult =\u003e getEnterpriseProxiesResult.Proxies[0]?.Id),\n UserId = dmsEnterpriseUsersDs.Apply(getEnterpriseUsersResult =\u003e getEnterpriseUsersResult.Users[0]?.UserId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdmsEnterpriseUsersDs, err := dms.GetEnterpriseUsers(ctx, \u0026dms.GetEnterpriseUsersArgs{\n\t\t\tRole: pulumi.StringRef(\"USER\"),\n\t\t\tStatus: pulumi.StringRef(\"NORMAL\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tids, err := dms.GetEnterpriseProxies(ctx, \u0026dms.GetEnterpriseProxiesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseProxyAccess(ctx, \"default\", \u0026dms.EnterpriseProxyAccessArgs{\n\t\t\tProxyId: pulumi.String(ids.Proxies[0].Id),\n\t\t\tUserId: pulumi.String(dmsEnterpriseUsersDs.Users[0].UserId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetEnterpriseUsersArgs;\nimport com.pulumi.alicloud.dms.inputs.GetEnterpriseProxiesArgs;\nimport com.pulumi.alicloud.dms.EnterpriseProxyAccess;\nimport com.pulumi.alicloud.dms.EnterpriseProxyAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dmsEnterpriseUsersDs = DmsFunctions.getEnterpriseUsers(GetEnterpriseUsersArgs.builder()\n .role(\"USER\")\n .status(\"NORMAL\")\n .build());\n\n final var ids = DmsFunctions.getEnterpriseProxies(GetEnterpriseProxiesArgs.builder()\n .build());\n\n var default_ = new EnterpriseProxyAccess(\"default\", EnterpriseProxyAccessArgs.builder()\n .proxyId(ids.proxies()[0].id())\n .userId(dmsEnterpriseUsersDs.users()[0].userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dms:EnterpriseProxyAccess\n properties:\n proxyId: ${ids.proxies[0].id}\n userId: ${dmsEnterpriseUsersDs.users[0].userId}\nvariables:\n dmsEnterpriseUsersDs:\n fn::invoke:\n function: alicloud:dms:getEnterpriseUsers\n arguments:\n role: USER\n status: NORMAL\n ids:\n fn::invoke:\n function: alicloud:dms:getEnterpriseProxies\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise Proxy Access can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseProxyAccess:EnterpriseProxyAccess example \u003cid\u003e\n```\n\n", + "description": "Provides a DMS Enterprise Proxy Access resource.\n\nFor information about DMS Enterprise Proxy Access and how to use it, see [What is Proxy Access](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateProxyAccess).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst dmsEnterpriseUsersDs = alicloud.dms.getEnterpriseUsers({\n role: \"USER\",\n status: \"NORMAL\",\n});\nconst ids = alicloud.dms.getEnterpriseProxies({});\nconst _default = new alicloud.dms.EnterpriseProxyAccess(\"default\", {\n proxyId: ids.then(ids =\u003e ids.proxies?.[0]?.id),\n userId: dmsEnterpriseUsersDs.then(dmsEnterpriseUsersDs =\u003e dmsEnterpriseUsersDs.users?.[0]?.userId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndms_enterprise_users_ds = alicloud.dms.get_enterprise_users(role=\"USER\",\n status=\"NORMAL\")\nids = alicloud.dms.get_enterprise_proxies()\ndefault = alicloud.dms.EnterpriseProxyAccess(\"default\",\n proxy_id=ids.proxies[0].id,\n user_id=dms_enterprise_users_ds.users[0].user_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dmsEnterpriseUsersDs = AliCloud.Dms.GetEnterpriseUsers.Invoke(new()\n {\n Role = \"USER\",\n Status = \"NORMAL\",\n });\n\n var ids = AliCloud.Dms.GetEnterpriseProxies.Invoke();\n\n var @default = new AliCloud.Dms.EnterpriseProxyAccess(\"default\", new()\n {\n ProxyId = ids.Apply(getEnterpriseProxiesResult =\u003e getEnterpriseProxiesResult.Proxies[0]?.Id),\n UserId = dmsEnterpriseUsersDs.Apply(getEnterpriseUsersResult =\u003e getEnterpriseUsersResult.Users[0]?.UserId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdmsEnterpriseUsersDs, err := dms.GetEnterpriseUsers(ctx, \u0026dms.GetEnterpriseUsersArgs{\n\t\t\tRole: pulumi.StringRef(\"USER\"),\n\t\t\tStatus: pulumi.StringRef(\"NORMAL\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tids, err := dms.GetEnterpriseProxies(ctx, \u0026dms.GetEnterpriseProxiesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseProxyAccess(ctx, \"default\", \u0026dms.EnterpriseProxyAccessArgs{\n\t\t\tProxyId: pulumi.String(ids.Proxies[0].Id),\n\t\t\tUserId: pulumi.String(dmsEnterpriseUsersDs.Users[0].UserId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dms.DmsFunctions;\nimport com.pulumi.alicloud.dms.inputs.GetEnterpriseUsersArgs;\nimport com.pulumi.alicloud.dms.inputs.GetEnterpriseProxiesArgs;\nimport com.pulumi.alicloud.dms.EnterpriseProxyAccess;\nimport com.pulumi.alicloud.dms.EnterpriseProxyAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dmsEnterpriseUsersDs = DmsFunctions.getEnterpriseUsers(GetEnterpriseUsersArgs.builder()\n .role(\"USER\")\n .status(\"NORMAL\")\n .build());\n\n final var ids = DmsFunctions.getEnterpriseProxies(GetEnterpriseProxiesArgs.builder()\n .build());\n\n var default_ = new EnterpriseProxyAccess(\"default\", EnterpriseProxyAccessArgs.builder()\n .proxyId(ids.proxies()[0].id())\n .userId(dmsEnterpriseUsersDs.users()[0].userId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dms:EnterpriseProxyAccess\n properties:\n proxyId: ${ids.proxies[0].id}\n userId: ${dmsEnterpriseUsersDs.users[0].userId}\nvariables:\n dmsEnterpriseUsersDs:\n fn::invoke:\n function: alicloud:dms:getEnterpriseUsers\n arguments:\n role: USER\n status: NORMAL\n ids:\n fn::invoke:\n function: alicloud:dms:getEnterpriseProxies\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise Proxy Access can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseProxyAccess:EnterpriseProxyAccess example \u003cid\u003e\n```\n\n", "properties": { "accessId": { "type": "string", @@ -142491,7 +145120,7 @@ } }, "alicloud:dms/enterpriseUser:EnterpriseUser": { - "description": "Provides a DMS Enterprise User resource. For information about Alidms Enterprise User and how to use it, see [What is Resource Alidms Enterprise User](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-registeruser).\n\n\u003e **NOTE:** Available since v1.90.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexamplename\";\nconst _default = new alicloud.ram.User(\"default\", {\n name: name,\n displayName: name,\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"example\",\n});\nconst defaultEnterpriseUser = new alicloud.dms.EnterpriseUser(\"default\", {\n uid: _default.id,\n userName: name,\n roleNames: [\"DBA\"],\n mobile: \"86-18688888888\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexamplename\"\ndefault = alicloud.ram.User(\"default\",\n name=name,\n display_name=name,\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"example\")\ndefault_enterprise_user = alicloud.dms.EnterpriseUser(\"default\",\n uid=default.id,\n user_name=name,\n role_names=[\"DBA\"],\n mobile=\"86-18688888888\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexamplename\";\n var @default = new AliCloud.Ram.User(\"default\", new()\n {\n Name = name,\n DisplayName = name,\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"example\",\n });\n\n var defaultEnterpriseUser = new AliCloud.Dms.EnterpriseUser(\"default\", new()\n {\n Uid = @default.Id,\n UserName = name,\n RoleNames = new[]\n {\n \"DBA\",\n },\n Mobile = \"86-18688888888\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexamplename\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseUser(ctx, \"default\", \u0026dms.EnterpriseUserArgs{\n\t\t\tUid: _default.ID(),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DBA\"),\n\t\t\t},\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.dms.EnterpriseUser;\nimport com.pulumi.alicloud.dms.EnterpriseUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexamplename\");\n var default_ = new User(\"default\", UserArgs.builder()\n .name(name)\n .displayName(name)\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"example\")\n .build());\n\n var defaultEnterpriseUser = new EnterpriseUser(\"defaultEnterpriseUser\", EnterpriseUserArgs.builder()\n .uid(default_.id())\n .userName(name)\n .roleNames(\"DBA\")\n .mobile(\"86-18688888888\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexamplename\nresources:\n default:\n type: alicloud:ram:User\n properties:\n name: ${name}\n displayName: ${name}\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: example\n defaultEnterpriseUser:\n type: alicloud:dms:EnterpriseUser\n name: default\n properties:\n uid: ${default.id}\n userName: ${name}\n roleNames:\n - DBA\n mobile: 86-18688888888\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseUser:EnterpriseUser example 24356xxx\n```\n\n", + "description": "Provides a DMS Enterprise User resource. For information about Alidms Enterprise User and how to use it, see [What is Resource Alidms Enterprise User](https://www.alibabacloud.com/help/en/dms/developer-reference/api-dms-enterprise-2018-11-01-registeruser).\n\n\u003e **NOTE:** Available since v1.90.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexamplename\";\nconst _default = new alicloud.ram.User(\"default\", {\n name: name,\n displayName: name,\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"example\",\n});\nconst defaultEnterpriseUser = new alicloud.dms.EnterpriseUser(\"default\", {\n uid: _default.id,\n userName: name,\n roleNames: [\"DBA\"],\n mobile: \"86-18688888888\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexamplename\"\ndefault = alicloud.ram.User(\"default\",\n name=name,\n display_name=name,\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"example\")\ndefault_enterprise_user = alicloud.dms.EnterpriseUser(\"default\",\n uid=default.id,\n user_name=name,\n role_names=[\"DBA\"],\n mobile=\"86-18688888888\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexamplename\";\n var @default = new AliCloud.Ram.User(\"default\", new()\n {\n Name = name,\n DisplayName = name,\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"example\",\n });\n\n var defaultEnterpriseUser = new AliCloud.Dms.EnterpriseUser(\"default\", new()\n {\n Uid = @default.Id,\n UserName = name,\n RoleNames = new[]\n {\n \"DBA\",\n },\n Mobile = \"86-18688888888\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexamplename\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseUser(ctx, \"default\", \u0026dms.EnterpriseUserArgs{\n\t\t\tUid: _default.ID(),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tRoleNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DBA\"),\n\t\t\t},\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.dms.EnterpriseUser;\nimport com.pulumi.alicloud.dms.EnterpriseUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexamplename\");\n var default_ = new User(\"default\", UserArgs.builder()\n .name(name)\n .displayName(name)\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"example\")\n .build());\n\n var defaultEnterpriseUser = new EnterpriseUser(\"defaultEnterpriseUser\", EnterpriseUserArgs.builder()\n .uid(default_.id())\n .userName(name)\n .roleNames(\"DBA\")\n .mobile(\"86-18688888888\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexamplename\nresources:\n default:\n type: alicloud:ram:User\n properties:\n name: ${name}\n displayName: ${name}\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: example\n defaultEnterpriseUser:\n type: alicloud:dms:EnterpriseUser\n name: default\n properties:\n uid: ${default.id}\n userName: ${name}\n roleNames:\n - DBA\n mobile: 86-18688888888\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseUser:EnterpriseUser example 24356xxx\n```\n\n", "properties": { "maxExecuteCount": { "type": "integer", @@ -142634,7 +145263,7 @@ } }, "alicloud:dms/enterpriseWorkspace:EnterpriseWorkspace": { - "description": "Provides a DMS Enterprise Workspace resource.\n\n\n\nFor information about DMS Enterprise Workspace and how to use it, see [What is Workspace](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateWorkspace).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst vpcCreate = new alicloud.vpc.Network(\"vpc_create\", {\n isDefault: false,\n description: \"example vpc\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: `${name}-${_default.result}`,\n});\nconst defaultEnterpriseWorkspace = new alicloud.dms.EnterpriseWorkspace(\"default\", {\n description: name,\n workspaceName: `${name}-${_default.result}`,\n vpcId: vpcCreate.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nvpc_create = alicloud.vpc.Network(\"vpc_create\",\n is_default=False,\n description=\"example vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=f\"{name}-{default['result']}\")\ndefault_enterprise_workspace = alicloud.dms.EnterpriseWorkspace(\"default\",\n description=name,\n workspace_name=f\"{name}-{default['result']}\",\n vpc_id=vpc_create.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var vpcCreate = new AliCloud.Vpc.Network(\"vpc_create\", new()\n {\n IsDefault = false,\n Description = \"example vpc\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = $\"{name}-{@default.Result}\",\n });\n\n var defaultEnterpriseWorkspace = new AliCloud.Dms.EnterpriseWorkspace(\"default\", new()\n {\n Description = name,\n WorkspaceName = $\"{name}-{@default.Result}\",\n VpcId = vpcCreate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcCreate, err := vpc.NewNetwork(ctx, \"vpc_create\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"example vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseWorkspace(ctx, \"default\", \u0026dms.EnterpriseWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tVpcId: vpcCreate.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspace;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var vpcCreate = new Network(\"vpcCreate\", NetworkArgs.builder()\n .isDefault(false)\n .description(\"example vpc\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEnterpriseWorkspace = new EnterpriseWorkspace(\"defaultEnterpriseWorkspace\", EnterpriseWorkspaceArgs.builder()\n .description(name)\n .workspaceName(String.format(\"%s-%s\", name,default_.result()))\n .vpcId(vpcCreate.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n vpcCreate:\n type: alicloud:vpc:Network\n name: vpc_create\n properties:\n isDefault: false\n description: example vpc\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}-${default.result}\n defaultEnterpriseWorkspace:\n type: alicloud:dms:EnterpriseWorkspace\n name: default\n properties:\n description: ${name}\n workspaceName: ${name}-${default.result}\n vpcId: ${vpcCreate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDMS Enterprise Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseWorkspace:EnterpriseWorkspace example \u003cid\u003e\n```\n\n", + "description": "Provides a DMS Enterprise Workspace resource.\n\n\n\nFor information about DMS Enterprise Workspace and how to use it, see [What is Workspace](https://next.api.alibabacloud.com/document/dms-enterprise/2018-11-01/CreateWorkspace).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst vpcCreate = new alicloud.vpc.Network(\"vpc_create\", {\n isDefault: false,\n description: \"example vpc\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: `${name}-${_default.result}`,\n});\nconst defaultEnterpriseWorkspace = new alicloud.dms.EnterpriseWorkspace(\"default\", {\n description: name,\n workspaceName: `${name}-${_default.result}`,\n vpcId: vpcCreate.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nvpc_create = alicloud.vpc.Network(\"vpc_create\",\n is_default=False,\n description=\"example vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=f\"{name}-{default['result']}\")\ndefault_enterprise_workspace = alicloud.dms.EnterpriseWorkspace(\"default\",\n description=name,\n workspace_name=f\"{name}-{default['result']}\",\n vpc_id=vpc_create.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var vpcCreate = new AliCloud.Vpc.Network(\"vpc_create\", new()\n {\n IsDefault = false,\n Description = \"example vpc\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = $\"{name}-{@default.Result}\",\n });\n\n var defaultEnterpriseWorkspace = new AliCloud.Dms.EnterpriseWorkspace(\"default\", new()\n {\n Description = name,\n WorkspaceName = $\"{name}-{@default.Result}\",\n VpcId = vpcCreate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcCreate, err := vpc.NewNetwork(ctx, \"vpc_create\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"example vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dms.NewEnterpriseWorkspace(ctx, \"default\", \u0026dms.EnterpriseWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tVpcId: vpcCreate.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspace;\nimport com.pulumi.alicloud.dms.EnterpriseWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var vpcCreate = new Network(\"vpcCreate\", NetworkArgs.builder()\n .isDefault(false)\n .description(\"example vpc\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEnterpriseWorkspace = new EnterpriseWorkspace(\"defaultEnterpriseWorkspace\", EnterpriseWorkspaceArgs.builder()\n .description(name)\n .workspaceName(String.format(\"%s-%s\", name,default_.result()))\n .vpcId(vpcCreate.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n vpcCreate:\n type: alicloud:vpc:Network\n name: vpc_create\n properties:\n isDefault: false\n description: example vpc\n cidrBlock: 192.168.0.0/16\n vpcName: ${name}-${default.result}\n defaultEnterpriseWorkspace:\n type: alicloud:dms:EnterpriseWorkspace\n name: default\n properties:\n description: ${name}\n workspaceName: ${name}-${default.result}\n vpcId: ${vpcCreate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDMS Enterprise Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dms/enterpriseWorkspace:EnterpriseWorkspace example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -142704,7 +145333,7 @@ } }, "alicloud:dns/accessStrategy:AccessStrategy": { - "description": "Provides a DNS Access Strategy resource.\n\nFor information about DNS Access Strategy and how to use it, see [What is Access Strategy](https://www.alibabacloud.com/help/doc-detail/189620.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool: alicloud.dns.AddressPool[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultAddressPool.push(new alicloud.dns.AddressPool(`default-${range.value}`, {\n addressPoolName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n }));\n}\nconst defaultAccessStrategy = new alicloud.dns.AccessStrategy(\"default\", {\n strategyName: name,\n strategyMode: \"GEO\",\n instanceId: defaultGtmInstance.id,\n defaultAddrPoolType: \"IPV4\",\n defaultLbaStrategy: \"RATIO\",\n defaultMinAvailableAddrNum: 1,\n defaultAddrPools: [{\n lbaWeight: 1,\n addrPoolId: defaultAddressPool[0].id,\n }],\n failoverAddrPoolType: \"IPV4\",\n failoverLbaStrategy: \"RATIO\",\n failoverMinAvailableAddrNum: 1,\n failoverAddrPools: [{\n lbaWeight: 1,\n addrPoolId: defaultAddressPool[1].id,\n }],\n lines: [{\n lineCode: \"default\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_address_pool.append(alicloud.dns.AddressPool(f\"default-{range['value']}\",\n address_pool_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }]))\ndefault_access_strategy = alicloud.dns.AccessStrategy(\"default\",\n strategy_name=name,\n strategy_mode=\"GEO\",\n instance_id=default_gtm_instance.id,\n default_addr_pool_type=\"IPV4\",\n default_lba_strategy=\"RATIO\",\n default_min_available_addr_num=1,\n default_addr_pools=[{\n \"lba_weight\": 1,\n \"addr_pool_id\": default_address_pool[0].id,\n }],\n failover_addr_pool_type=\"IPV4\",\n failover_lba_strategy=\"RATIO\",\n failover_min_available_addr_num=1,\n failover_addr_pools=[{\n \"lba_weight\": 1,\n \"addr_pool_id\": default_address_pool[1].id,\n }],\n lines=[{\n \"line_code\": \"default\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new List\u003cAliCloud.Dns.AddressPool\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultAddressPool.Add(new AliCloud.Dns.AddressPool($\"default-{range.Value}\", new()\n {\n AddressPoolName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n }));\n }\n var defaultAccessStrategy = new AliCloud.Dns.AccessStrategy(\"default\", new()\n {\n StrategyName = name,\n StrategyMode = \"GEO\",\n InstanceId = defaultGtmInstance.Id,\n DefaultAddrPoolType = \"IPV4\",\n DefaultLbaStrategy = \"RATIO\",\n DefaultMinAvailableAddrNum = 1,\n DefaultAddrPools = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyDefaultAddrPoolArgs\n {\n LbaWeight = 1,\n AddrPoolId = defaultAddressPool[0].Id,\n },\n },\n FailoverAddrPoolType = \"IPV4\",\n FailoverLbaStrategy = \"RATIO\",\n FailoverMinAvailableAddrNum = 1,\n FailoverAddrPools = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyFailoverAddrPoolArgs\n {\n LbaWeight = 1,\n AddrPoolId = defaultAddressPool[1].Id,\n },\n },\n Lines = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyLineArgs\n {\n LineCode = \"default\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultAddressPool []*dns.AddressPool\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := dns.NewAddressPool(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026dns.AddressPoolArgs{\n\t\t\t\tAddressPoolName: pulumi.String(invokeFormat.Result),\n\t\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\t\tAttributeInfo: pulumi.String(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\"),\n\t\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultAddressPool = append(defaultAddressPool, __res)\n\t\t}\n\t\t_, err = dns.NewAccessStrategy(ctx, \"default\", \u0026dns.AccessStrategyArgs{\n\t\t\tStrategyName: pulumi.String(name),\n\t\t\tStrategyMode: pulumi.String(\"GEO\"),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tDefaultAddrPoolType: pulumi.String(\"IPV4\"),\n\t\t\tDefaultLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tDefaultMinAvailableAddrNum: pulumi.Int(1),\n\t\t\tDefaultAddrPools: dns.AccessStrategyDefaultAddrPoolArray{\n\t\t\t\t\u0026dns.AccessStrategyDefaultAddrPoolArgs{\n\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\tAddrPoolId: defaultAddressPool[0].ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFailoverAddrPoolType: pulumi.String(\"IPV4\"),\n\t\t\tFailoverLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tFailoverMinAvailableAddrNum: pulumi.Int(1),\n\t\t\tFailoverAddrPools: dns.AccessStrategyFailoverAddrPoolArray{\n\t\t\t\t\u0026dns.AccessStrategyFailoverAddrPoolArgs{\n\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\tAddrPoolId: defaultAddressPool[1].ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLines: dns.AccessStrategyLineArray{\n\t\t\t\t\u0026dns.AccessStrategyLineArgs{\n\t\t\t\t\tLineCode: pulumi.String(\"default\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dns.AccessStrategy;\nimport com.pulumi.alicloud.dns.AccessStrategyArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyDefaultAddrPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyFailoverAddrPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyLineArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new AddressPool(\"defaultAddressPool-\" + i, AddressPoolArgs.builder()\n .addressPoolName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n \n}\n var defaultAccessStrategy = new AccessStrategy(\"defaultAccessStrategy\", AccessStrategyArgs.builder()\n .strategyName(name)\n .strategyMode(\"GEO\")\n .instanceId(defaultGtmInstance.id())\n .defaultAddrPoolType(\"IPV4\")\n .defaultLbaStrategy(\"RATIO\")\n .defaultMinAvailableAddrNum(1)\n .defaultAddrPools(AccessStrategyDefaultAddrPoolArgs.builder()\n .lbaWeight(1)\n .addrPoolId(defaultAddressPool[0].id())\n .build())\n .failoverAddrPoolType(\"IPV4\")\n .failoverLbaStrategy(\"RATIO\")\n .failoverMinAvailableAddrNum(1)\n .failoverAddrPools(AccessStrategyFailoverAddrPoolArgs.builder()\n .lbaWeight(1)\n .addrPoolId(defaultAddressPool[1].id())\n .build())\n .lines(AccessStrategyLineArgs.builder()\n .lineCode(\"default\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS Access Strategy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/accessStrategy:AccessStrategy example \u003cid\u003e\n```\n\n", + "description": "Provides a DNS Access Strategy resource.\n\nFor information about DNS Access Strategy and how to use it, see [What is Access Strategy](https://www.alibabacloud.com/help/doc-detail/189620.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool: alicloud.dns.AddressPool[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultAddressPool.push(new alicloud.dns.AddressPool(`default-${range.value}`, {\n addressPoolName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n }));\n}\nconst defaultAccessStrategy = new alicloud.dns.AccessStrategy(\"default\", {\n strategyName: name,\n strategyMode: \"GEO\",\n instanceId: defaultGtmInstance.id,\n defaultAddrPoolType: \"IPV4\",\n defaultLbaStrategy: \"RATIO\",\n defaultMinAvailableAddrNum: 1,\n defaultAddrPools: [{\n lbaWeight: 1,\n addrPoolId: defaultAddressPool[0].id,\n }],\n failoverAddrPoolType: \"IPV4\",\n failoverLbaStrategy: \"RATIO\",\n failoverMinAvailableAddrNum: 1,\n failoverAddrPools: [{\n lbaWeight: 1,\n addrPoolId: defaultAddressPool[1].id,\n }],\n lines: [{\n lineCode: \"default\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_address_pool.append(alicloud.dns.AddressPool(f\"default-{range['value']}\",\n address_pool_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }]))\ndefault_access_strategy = alicloud.dns.AccessStrategy(\"default\",\n strategy_name=name,\n strategy_mode=\"GEO\",\n instance_id=default_gtm_instance.id,\n default_addr_pool_type=\"IPV4\",\n default_lba_strategy=\"RATIO\",\n default_min_available_addr_num=1,\n default_addr_pools=[{\n \"lba_weight\": 1,\n \"addr_pool_id\": default_address_pool[0].id,\n }],\n failover_addr_pool_type=\"IPV4\",\n failover_lba_strategy=\"RATIO\",\n failover_min_available_addr_num=1,\n failover_addr_pools=[{\n \"lba_weight\": 1,\n \"addr_pool_id\": default_address_pool[1].id,\n }],\n lines=[{\n \"line_code\": \"default\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new List\u003cAliCloud.Dns.AddressPool\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultAddressPool.Add(new AliCloud.Dns.AddressPool($\"default-{range.Value}\", new()\n {\n AddressPoolName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n }));\n }\n var defaultAccessStrategy = new AliCloud.Dns.AccessStrategy(\"default\", new()\n {\n StrategyName = name,\n StrategyMode = \"GEO\",\n InstanceId = defaultGtmInstance.Id,\n DefaultAddrPoolType = \"IPV4\",\n DefaultLbaStrategy = \"RATIO\",\n DefaultMinAvailableAddrNum = 1,\n DefaultAddrPools = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyDefaultAddrPoolArgs\n {\n LbaWeight = 1,\n AddrPoolId = defaultAddressPool[0].Id,\n },\n },\n FailoverAddrPoolType = \"IPV4\",\n FailoverLbaStrategy = \"RATIO\",\n FailoverMinAvailableAddrNum = 1,\n FailoverAddrPools = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyFailoverAddrPoolArgs\n {\n LbaWeight = 1,\n AddrPoolId = defaultAddressPool[1].Id,\n },\n },\n Lines = new[]\n {\n new AliCloud.Dns.Inputs.AccessStrategyLineArgs\n {\n LineCode = \"default\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultAddressPool []*dns.AddressPool\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := dns.NewAddressPool(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026dns.AddressPoolArgs{\n\t\t\t\tAddressPoolName: pulumi.String(invokeFormat.Result),\n\t\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\t\tAttributeInfo: pulumi.String(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\"),\n\t\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultAddressPool = append(defaultAddressPool, __res)\n\t\t}\n\t\t_, err = dns.NewAccessStrategy(ctx, \"default\", \u0026dns.AccessStrategyArgs{\n\t\t\tStrategyName: pulumi.String(name),\n\t\t\tStrategyMode: pulumi.String(\"GEO\"),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tDefaultAddrPoolType: pulumi.String(\"IPV4\"),\n\t\t\tDefaultLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tDefaultMinAvailableAddrNum: pulumi.Int(1),\n\t\t\tDefaultAddrPools: dns.AccessStrategyDefaultAddrPoolArray{\n\t\t\t\t\u0026dns.AccessStrategyDefaultAddrPoolArgs{\n\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\tAddrPoolId: defaultAddressPool[0].ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFailoverAddrPoolType: pulumi.String(\"IPV4\"),\n\t\t\tFailoverLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tFailoverMinAvailableAddrNum: pulumi.Int(1),\n\t\t\tFailoverAddrPools: dns.AccessStrategyFailoverAddrPoolArray{\n\t\t\t\t\u0026dns.AccessStrategyFailoverAddrPoolArgs{\n\t\t\t\t\tLbaWeight: pulumi.Int(1),\n\t\t\t\t\tAddrPoolId: defaultAddressPool[1].ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLines: dns.AccessStrategyLineArray{\n\t\t\t\t\u0026dns.AccessStrategyLineArgs{\n\t\t\t\t\tLineCode: pulumi.String(\"default\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.dns.AccessStrategy;\nimport com.pulumi.alicloud.dns.AccessStrategyArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyDefaultAddrPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyFailoverAddrPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AccessStrategyLineArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new AddressPool(\"defaultAddressPool-\" + i, AddressPoolArgs.builder()\n .addressPoolName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n \n}\n var defaultAccessStrategy = new AccessStrategy(\"defaultAccessStrategy\", AccessStrategyArgs.builder()\n .strategyName(name)\n .strategyMode(\"GEO\")\n .instanceId(defaultGtmInstance.id())\n .defaultAddrPoolType(\"IPV4\")\n .defaultLbaStrategy(\"RATIO\")\n .defaultMinAvailableAddrNum(1)\n .defaultAddrPools(AccessStrategyDefaultAddrPoolArgs.builder()\n .lbaWeight(1)\n .addrPoolId(defaultAddressPool[0].id())\n .build())\n .failoverAddrPoolType(\"IPV4\")\n .failoverLbaStrategy(\"RATIO\")\n .failoverMinAvailableAddrNum(1)\n .failoverAddrPools(AccessStrategyFailoverAddrPoolArgs.builder()\n .lbaWeight(1)\n .addrPoolId(defaultAddressPool[1].id())\n .build())\n .lines(AccessStrategyLineArgs.builder()\n .lineCode(\"default\")\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS Access Strategy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/accessStrategy:AccessStrategy example \u003cid\u003e\n```\n\n", "properties": { "accessMode": { "type": "string", @@ -142979,7 +145608,7 @@ } }, "alicloud:dns/addressPool:AddressPool": { - "description": "Provides a Alidns Address Pool resource.\n\nFor information about Alidns Address Pool and how to use it, see [What is Address Pool](https://www.alibabacloud.com/help/doc-detail/189621.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool = new alicloud.dns.AddressPool(\"default\", {\n addressPoolName: name,\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: ` {\n \\\\\"lineCodeRectifyType\\\\\": \\\\\"RECTIFIED\\\\\",\n \\\\\"lineCodes\\\\\": [\\\\\"os_namerica_us\\\\\"]\n }\n`,\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = alicloud.dns.AddressPool(\"default\",\n address_pool_name=name,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"\"\" {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n\"\"\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new AliCloud.Dns.AddressPool(\"default\", new()\n {\n AddressPoolName = name,\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = @\" {\n \\\"\"lineCodeRectifyType\\\"\": \\\"\"RECTIFIED\\\"\",\n \\\"\"lineCodes\\\"\": [\\\"\"os_namerica_us\\\"\"]\n }\n\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\t_, err = dns.NewAddressPool(ctx, \"default\", \u0026dns.AddressPoolArgs{\n\t\t\tAddressPoolName: pulumi.String(name),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\tAttributeInfo: pulumi.String(\" {\\n \\\\\\\"lineCodeRectifyType\\\\\\\": \\\\\\\"RECTIFIED\\\\\\\",\\n \\\\\\\"lineCodes\\\\\\\": [\\\\\\\"os_namerica_us\\\\\\\"]\\n }\\n\"),\n\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\tLbaWeight: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n var defaultAddressPool = new AddressPool(\"defaultAddressPool\", AddressPoolArgs.builder()\n .addressPoolName(name)\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"\"\"\n {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n \"\"\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: ${name}\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\n defaultAddressPool:\n type: alicloud:dns:AddressPool\n name: default\n properties:\n addressPoolName: ${name}\n instanceId: ${defaultGtmInstance.id}\n lbaStrategy: RATIO\n type: IPV4\n addresses:\n - attributeInfo: |2\n {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n remark: address_remark\n address: 1.1.1.1\n mode: SMART\n lbaWeight: 1\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns Address Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/addressPool:AddressPool example \u003cid\u003e\n```\n\n", + "description": "Provides a Alidns Address Pool resource.\n\nFor information about Alidns Address Pool and how to use it, see [What is Address Pool](https://www.alibabacloud.com/help/doc-detail/189621.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool = new alicloud.dns.AddressPool(\"default\", {\n addressPoolName: name,\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: ` {\n \\\\\"lineCodeRectifyType\\\\\": \\\\\"RECTIFIED\\\\\",\n \\\\\"lineCodes\\\\\": [\\\\\"os_namerica_us\\\\\"]\n }\n`,\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = alicloud.dns.AddressPool(\"default\",\n address_pool_name=name,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"\"\" {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n\"\"\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new AliCloud.Dns.AddressPool(\"default\", new()\n {\n AddressPoolName = name,\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = @\" {\n \\\"\"lineCodeRectifyType\\\"\": \\\"\"RECTIFIED\\\"\",\n \\\"\"lineCodes\\\"\": [\\\"\"os_namerica_us\\\"\"]\n }\n\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\t_, err = dns.NewAddressPool(ctx, \"default\", \u0026dns.AddressPoolArgs{\n\t\t\tAddressPoolName: pulumi.String(name),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\tAttributeInfo: pulumi.String(\" {\\n \\\\\\\"lineCodeRectifyType\\\\\\\": \\\\\\\"RECTIFIED\\\\\\\",\\n \\\\\\\"lineCodes\\\\\\\": [\\\\\\\"os_namerica_us\\\\\\\"]\\n }\\n\"),\n\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\tLbaWeight: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n var defaultAddressPool = new AddressPool(\"defaultAddressPool\", AddressPoolArgs.builder()\n .addressPoolName(name)\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"\"\"\n {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n \"\"\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: ${name}\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\n defaultAddressPool:\n type: alicloud:dns:AddressPool\n name: default\n properties:\n addressPoolName: ${name}\n instanceId: ${defaultGtmInstance.id}\n lbaStrategy: RATIO\n type: IPV4\n addresses:\n - attributeInfo: |2\n {\n \\\"lineCodeRectifyType\\\": \\\"RECTIFIED\\\",\n \\\"lineCodes\\\": [\\\"os_namerica_us\\\"]\n }\n remark: address_remark\n address: 1.1.1.1\n mode: SMART\n lbaWeight: 1\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns Address Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/addressPool:AddressPool example \u003cid\u003e\n```\n\n", "properties": { "addressPoolName": { "type": "string", @@ -143079,7 +145708,7 @@ } }, "alicloud:dns/alidnsDomain:AlidnsDomain": { - "description": "Provides a Alidns domain resource.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns domain can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsDomain:AlidnsDomain example aliyun.com\n```\n\n", + "description": "Provides a Alidns domain resource.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns domain can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsDomain:AlidnsDomain example aliyun.com\n```\n\n", "properties": { "dnsServers": { "type": "array", @@ -143226,7 +145855,7 @@ } }, "alicloud:dns/alidnsDomainAttachment:AlidnsDomainAttachment": { - "description": "Provides bind the domain name to the Alidns instance resource.\n\n\u003e **NOTE:** Available since v1.99.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAlidnsInstance = new alicloud.dns.AlidnsInstance(\"default\", {\n dnsSecurity: \"basic\",\n domainNumbers: \"3\",\n versionCode: \"version_personal\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n});\nconst defaultAlidnsDomainAttachment = new alicloud.dns.AlidnsDomainAttachment(\"default\", {\n instanceId: defaultAlidnsInstance.id,\n domainNames: [defaultAlidnsDomain.domainName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_alidns_instance = alicloud.dns.AlidnsInstance(\"default\",\n dns_security=\"basic\",\n domain_numbers=\"3\",\n version_code=\"version_personal\",\n period=1,\n renewal_status=\"ManualRenewal\")\ndefault_alidns_domain_attachment = alicloud.dns.AlidnsDomainAttachment(\"default\",\n instance_id=default_alidns_instance.id,\n domain_names=[default_alidns_domain.domain_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAlidnsInstance = new AliCloud.Dns.AlidnsInstance(\"default\", new()\n {\n DnsSecurity = \"basic\",\n DomainNumbers = \"3\",\n VersionCode = \"version_personal\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n });\n\n var defaultAlidnsDomainAttachment = new AliCloud.Dns.AlidnsDomainAttachment(\"default\", new()\n {\n InstanceId = defaultAlidnsInstance.Id,\n DomainNames = new[]\n {\n defaultAlidnsDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsDomain, err := dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsInstance, err := dns.NewAlidnsInstance(ctx, \"default\", \u0026dns.AlidnsInstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"basic\"),\n\t\t\tDomainNumbers: pulumi.String(\"3\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsDomainAttachment(ctx, \"default\", \u0026dns.AlidnsDomainAttachmentArgs{\n\t\t\tInstanceId: defaultAlidnsInstance.ID(),\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tdefaultAlidnsDomain.DomainName,\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.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport com.pulumi.alicloud.dns.AlidnsInstance;\nimport com.pulumi.alicloud.dns.AlidnsInstanceArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomainAttachment;\nimport com.pulumi.alicloud.dns.AlidnsDomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAlidnsInstance = new AlidnsInstance(\"defaultAlidnsInstance\", AlidnsInstanceArgs.builder()\n .dnsSecurity(\"basic\")\n .domainNumbers(\"3\")\n .versionCode(\"version_personal\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .build());\n\n var defaultAlidnsDomainAttachment = new AlidnsDomainAttachment(\"defaultAlidnsDomainAttachment\", AlidnsDomainAttachmentArgs.builder()\n .instanceId(defaultAlidnsInstance.id())\n .domainNames(defaultAlidnsDomain.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n defaultAlidnsInstance:\n type: alicloud:dns:AlidnsInstance\n name: default\n properties:\n dnsSecurity: basic\n domainNumbers: 3\n versionCode: version_personal\n period: 1\n renewalStatus: ManualRenewal\n defaultAlidnsDomainAttachment:\n type: alicloud:dns:AlidnsDomainAttachment\n name: default\n properties:\n instanceId: ${defaultAlidnsInstance.id}\n domainNames:\n - ${defaultAlidnsDomain.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS domain attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsDomainAttachment:AlidnsDomainAttachment example dns-cn-v0h1ldjhxxx\n```\n\n", + "description": "Provides bind the domain name to the Alidns instance resource.\n\n\u003e **NOTE:** Available since v1.99.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAlidnsInstance = new alicloud.dns.AlidnsInstance(\"default\", {\n dnsSecurity: \"basic\",\n domainNumbers: \"3\",\n versionCode: \"version_personal\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n});\nconst defaultAlidnsDomainAttachment = new alicloud.dns.AlidnsDomainAttachment(\"default\", {\n instanceId: defaultAlidnsInstance.id,\n domainNames: [defaultAlidnsDomain.domainName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_alidns_instance = alicloud.dns.AlidnsInstance(\"default\",\n dns_security=\"basic\",\n domain_numbers=\"3\",\n version_code=\"version_personal\",\n period=1,\n renewal_status=\"ManualRenewal\")\ndefault_alidns_domain_attachment = alicloud.dns.AlidnsDomainAttachment(\"default\",\n instance_id=default_alidns_instance.id,\n domain_names=[default_alidns_domain.domain_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAlidnsInstance = new AliCloud.Dns.AlidnsInstance(\"default\", new()\n {\n DnsSecurity = \"basic\",\n DomainNumbers = \"3\",\n VersionCode = \"version_personal\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n });\n\n var defaultAlidnsDomainAttachment = new AliCloud.Dns.AlidnsDomainAttachment(\"default\", new()\n {\n InstanceId = defaultAlidnsInstance.Id,\n DomainNames = new[]\n {\n defaultAlidnsDomain.DomainName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsDomain, err := dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsInstance, err := dns.NewAlidnsInstance(ctx, \"default\", \u0026dns.AlidnsInstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"basic\"),\n\t\t\tDomainNumbers: pulumi.String(\"3\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsDomainAttachment(ctx, \"default\", \u0026dns.AlidnsDomainAttachmentArgs{\n\t\t\tInstanceId: defaultAlidnsInstance.ID(),\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tdefaultAlidnsDomain.DomainName,\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.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport com.pulumi.alicloud.dns.AlidnsInstance;\nimport com.pulumi.alicloud.dns.AlidnsInstanceArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomainAttachment;\nimport com.pulumi.alicloud.dns.AlidnsDomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAlidnsInstance = new AlidnsInstance(\"defaultAlidnsInstance\", AlidnsInstanceArgs.builder()\n .dnsSecurity(\"basic\")\n .domainNumbers(\"3\")\n .versionCode(\"version_personal\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .build());\n\n var defaultAlidnsDomainAttachment = new AlidnsDomainAttachment(\"defaultAlidnsDomainAttachment\", AlidnsDomainAttachmentArgs.builder()\n .instanceId(defaultAlidnsInstance.id())\n .domainNames(defaultAlidnsDomain.domainName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n defaultAlidnsInstance:\n type: alicloud:dns:AlidnsInstance\n name: default\n properties:\n dnsSecurity: basic\n domainNumbers: 3\n versionCode: version_personal\n period: 1\n renewalStatus: ManualRenewal\n defaultAlidnsDomainAttachment:\n type: alicloud:dns:AlidnsDomainAttachment\n name: default\n properties:\n instanceId: ${defaultAlidnsInstance.id}\n domainNames:\n - ${defaultAlidnsDomain.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS domain attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsDomainAttachment:AlidnsDomainAttachment example dns-cn-v0h1ldjhxxx\n```\n\n", "properties": { "domainNames": { "type": "array", @@ -143282,7 +145911,7 @@ } }, "alicloud:dns/alidnsInstance:AlidnsInstance": { - "description": "Create an Alidns Instance resource.\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.dns.AlidnsInstance(\"example\", {\n dnsSecurity: \"no\",\n domainNumbers: \"2\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"ManualRenewal\",\n versionCode: \"version_personal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.dns.AlidnsInstance(\"example\",\n dns_security=\"no\",\n domain_numbers=\"2\",\n period=1,\n renew_period=1,\n renewal_status=\"ManualRenewal\",\n version_code=\"version_personal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Dns.AlidnsInstance(\"example\", new()\n {\n DnsSecurity = \"no\",\n DomainNumbers = \"2\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"ManualRenewal\",\n VersionCode = \"version_personal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewAlidnsInstance(ctx, \"example\", \u0026dns.AlidnsInstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"no\"),\n\t\t\tDomainNumbers: pulumi.String(\"2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.AlidnsInstance;\nimport com.pulumi.alicloud.dns.AlidnsInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlidnsInstance(\"example\", AlidnsInstanceArgs.builder()\n .dnsSecurity(\"no\")\n .domainNumbers(\"2\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"ManualRenewal\")\n .versionCode(\"version_personal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:dns:AlidnsInstance\n properties:\n dnsSecurity: no\n domainNumbers: '2'\n period: 1\n renewPeriod: 1\n renewalStatus: ManualRenewal\n versionCode: version_personal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS instance be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsInstance:AlidnsInstance example dns-cn-v0h1ldjhfff\n```\n\n", + "description": "Create an Alidns Instance resource.\n\n\u003e **NOTE:** Available since v1.95.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.dns.AlidnsInstance(\"example\", {\n dnsSecurity: \"no\",\n domainNumbers: \"2\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"ManualRenewal\",\n versionCode: \"version_personal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.dns.AlidnsInstance(\"example\",\n dns_security=\"no\",\n domain_numbers=\"2\",\n period=1,\n renew_period=1,\n renewal_status=\"ManualRenewal\",\n version_code=\"version_personal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Dns.AlidnsInstance(\"example\", new()\n {\n DnsSecurity = \"no\",\n DomainNumbers = \"2\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"ManualRenewal\",\n VersionCode = \"version_personal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewAlidnsInstance(ctx, \"example\", \u0026dns.AlidnsInstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"no\"),\n\t\t\tDomainNumbers: pulumi.String(\"2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.AlidnsInstance;\nimport com.pulumi.alicloud.dns.AlidnsInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AlidnsInstance(\"example\", AlidnsInstanceArgs.builder()\n .dnsSecurity(\"no\")\n .domainNumbers(\"2\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"ManualRenewal\")\n .versionCode(\"version_personal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:dns:AlidnsInstance\n properties:\n dnsSecurity: no\n domainNumbers: '2'\n period: 1\n renewPeriod: 1\n renewalStatus: ManualRenewal\n versionCode: version_personal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS instance be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsInstance:AlidnsInstance example dns-cn-v0h1ldjhfff\n```\n\n", "properties": { "dnsSecurity": { "type": "string", @@ -143411,7 +146040,7 @@ } }, "alicloud:dns/alidnsRecord:AlidnsRecord": { - "description": "Provides a Alidns Record resource. For information about Alidns Domain Record and how to use it, see [What is Resource Alidns Record](https://www.alibabacloud.com/help/en/alibaba-cloud-dns/latest/adding-a-dns-record).\n\n\u003e **NOTE:** Available since v1.85.0.\n\n\u003e **NOTE:** When the site is an international site, the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e neither supports `REDIRECT_URL` nor `REDIRECT_URL`\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst record = new alicloud.dns.AlidnsRecord(\"record\", {\n domainName: defaultAlidnsDomain.domainName,\n rr: \"alimail\",\n type: \"CNAME\",\n value: \"mail.mxhichin.com\",\n remark: \"tf-example\",\n status: \"ENABLE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nrecord = alicloud.dns.AlidnsRecord(\"record\",\n domain_name=default_alidns_domain.domain_name,\n rr=\"alimail\",\n type=\"CNAME\",\n value=\"mail.mxhichin.com\",\n remark=\"tf-example\",\n status=\"ENABLE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var record = new AliCloud.Dns.AlidnsRecord(\"record\", new()\n {\n DomainName = defaultAlidnsDomain.DomainName,\n Rr = \"alimail\",\n Type = \"CNAME\",\n Value = \"mail.mxhichin.com\",\n Remark = \"tf-example\",\n Status = \"ENABLE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsDomain, err := dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsRecord(ctx, \"record\", \u0026dns.AlidnsRecordArgs{\n\t\t\tDomainName: defaultAlidnsDomain.DomainName,\n\t\t\tRr: pulumi.String(\"alimail\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tValue: pulumi.String(\"mail.mxhichin.com\"),\n\t\t\tRemark: pulumi.String(\"tf-example\"),\n\t\t\tStatus: pulumi.String(\"ENABLE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport com.pulumi.alicloud.dns.AlidnsRecord;\nimport com.pulumi.alicloud.dns.AlidnsRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var record = new AlidnsRecord(\"record\", AlidnsRecordArgs.builder()\n .domainName(defaultAlidnsDomain.domainName())\n .rr(\"alimail\")\n .type(\"CNAME\")\n .value(\"mail.mxhichin.com\")\n .remark(\"tf-example\")\n .status(\"ENABLE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n record:\n type: alicloud:dns:AlidnsRecord\n properties:\n domainName: ${defaultAlidnsDomain.domainName}\n rr: alimail\n type: CNAME\n value: mail.mxhichin.com\n remark: tf-example\n status: ENABLE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns Domain Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsRecord:AlidnsRecord example abc123456\n```\n\n", + "description": "Provides a Alidns Record resource. For information about Alidns Domain Record and how to use it, see [What is Resource Alidns Record](https://www.alibabacloud.com/help/en/alibaba-cloud-dns/latest/adding-a-dns-record).\n\n\u003e **NOTE:** Available since v1.85.0.\n\n\u003e **NOTE:** When the site is an international site, the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e neither supports `REDIRECT_URL` nor `REDIRECT_URL`\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\nconst defaultAlidnsDomain = new alicloud.dns.AlidnsDomain(\"default\", {\n domainName: \"starmove.com\",\n groupId: _default.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst record = new alicloud.dns.AlidnsRecord(\"record\", {\n domainName: defaultAlidnsDomain.domainName,\n rr: \"alimail\",\n type: \"CNAME\",\n value: \"mail.mxhichin.com\",\n remark: \"tf-example\",\n status: \"ENABLE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\ndefault_alidns_domain = alicloud.dns.AlidnsDomain(\"default\",\n domain_name=\"starmove.com\",\n group_id=default.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nrecord = alicloud.dns.AlidnsRecord(\"record\",\n domain_name=default_alidns_domain.domain_name,\n rr=\"alimail\",\n type=\"CNAME\",\n value=\"mail.mxhichin.com\",\n remark=\"tf-example\",\n status=\"ENABLE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n var defaultAlidnsDomain = new AliCloud.Dns.AlidnsDomain(\"default\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = @default.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var record = new AliCloud.Dns.AlidnsRecord(\"record\", new()\n {\n DomainName = defaultAlidnsDomain.DomainName,\n Rr = \"alimail\",\n Type = \"CNAME\",\n Value = \"mail.mxhichin.com\",\n Remark = \"tf-example\",\n Status = \"ENABLE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlidnsDomain, err := dns.NewAlidnsDomain(ctx, \"default\", \u0026dns.AlidnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: _default.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewAlidnsRecord(ctx, \"record\", \u0026dns.AlidnsRecordArgs{\n\t\t\tDomainName: defaultAlidnsDomain.DomainName,\n\t\t\tRr: pulumi.String(\"alimail\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tValue: pulumi.String(\"mail.mxhichin.com\"),\n\t\t\tRemark: pulumi.String(\"tf-example\"),\n\t\t\tStatus: pulumi.String(\"ENABLE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport com.pulumi.alicloud.dns.AlidnsDomain;\nimport com.pulumi.alicloud.dns.AlidnsDomainArgs;\nimport com.pulumi.alicloud.dns.AlidnsRecord;\nimport com.pulumi.alicloud.dns.AlidnsRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n var defaultAlidnsDomain = new AlidnsDomain(\"defaultAlidnsDomain\", AlidnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(default_.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var record = new AlidnsRecord(\"record\", AlidnsRecordArgs.builder()\n .domainName(defaultAlidnsDomain.domainName())\n .rr(\"alimail\")\n .type(\"CNAME\")\n .value(\"mail.mxhichin.com\")\n .remark(\"tf-example\")\n .status(\"ENABLE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n defaultAlidnsDomain:\n type: alicloud:dns:AlidnsDomain\n name: default\n properties:\n domainName: starmove.com\n groupId: ${default.id}\n tags:\n Created: TF\n For: example\n record:\n type: alicloud:dns:AlidnsRecord\n properties:\n domainName: ${defaultAlidnsDomain.domainName}\n rr: alimail\n type: CNAME\n value: mail.mxhichin.com\n remark: tf-example\n status: ENABLE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns Domain Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/alidnsRecord:AlidnsRecord example abc123456\n```\n\n", "properties": { "domainName": { "type": "string", @@ -143447,7 +146076,7 @@ }, "type": { "type": "string", - "description": "The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`.\n" + "description": "The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types).\n" }, "userClientIp": { "type": "string", @@ -143500,7 +146129,7 @@ }, "type": { "type": "string", - "description": "The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`.\n" + "description": "The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types).\n" }, "userClientIp": { "type": "string", @@ -143555,7 +146184,7 @@ }, "type": { "type": "string", - "description": "The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`.\n" + "description": "The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types).\n" }, "userClientIp": { "type": "string", @@ -143570,7 +146199,7 @@ } }, "alicloud:dns/customLine:CustomLine": { - "description": "Provides a Alidns Custom Line resource.\n\nFor information about Alidns Custom Line and how to use it, see [What is Custom Line](https://www.alibabacloud.com/help/en/doc-detail/145059.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.CustomLine(\"default\", {\n customLineName: \"tf-example\",\n domainName: \"alicloud-provider.com\",\n ipSegmentLists: [{\n startIp: \"192.0.2.123\",\n endIp: \"192.0.2.125\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.CustomLine(\"default\",\n custom_line_name=\"tf-example\",\n domain_name=\"alicloud-provider.com\",\n ip_segment_lists=[{\n \"start_ip\": \"192.0.2.123\",\n \"end_ip\": \"192.0.2.125\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.CustomLine(\"default\", new()\n {\n CustomLineName = \"tf-example\",\n DomainName = \"alicloud-provider.com\",\n IpSegmentLists = new[]\n {\n new AliCloud.Dns.Inputs.CustomLineIpSegmentListArgs\n {\n StartIp = \"192.0.2.123\",\n EndIp = \"192.0.2.125\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewCustomLine(ctx, \"default\", \u0026dns.CustomLineArgs{\n\t\t\tCustomLineName: pulumi.String(\"tf-example\"),\n\t\t\tDomainName: pulumi.String(\"alicloud-provider.com\"),\n\t\t\tIpSegmentLists: dns.CustomLineIpSegmentListArray{\n\t\t\t\t\u0026dns.CustomLineIpSegmentListArgs{\n\t\t\t\t\tStartIp: pulumi.String(\"192.0.2.123\"),\n\t\t\t\t\tEndIp: pulumi.String(\"192.0.2.125\"),\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.alicloud.dns.CustomLine;\nimport com.pulumi.alicloud.dns.CustomLineArgs;\nimport com.pulumi.alicloud.dns.inputs.CustomLineIpSegmentListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new CustomLine(\"default\", CustomLineArgs.builder()\n .customLineName(\"tf-example\")\n .domainName(\"alicloud-provider.com\")\n .ipSegmentLists(CustomLineIpSegmentListArgs.builder()\n .startIp(\"192.0.2.123\")\n .endIp(\"192.0.2.125\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:CustomLine\n properties:\n customLineName: tf-example\n domainName: alicloud-provider.com\n ipSegmentLists:\n - startIp: 192.0.2.123\n endIp: 192.0.2.125\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns Custom Line can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/customLine:CustomLine example \u003cid\u003e\n```\n\n", + "description": "Provides a Alidns Custom Line resource.\n\nFor information about Alidns Custom Line and how to use it, see [What is Custom Line](https://www.alibabacloud.com/help/en/doc-detail/145059.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.CustomLine(\"default\", {\n customLineName: \"tf-example\",\n domainName: \"alicloud-provider.com\",\n ipSegmentLists: [{\n startIp: \"192.0.2.123\",\n endIp: \"192.0.2.125\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.CustomLine(\"default\",\n custom_line_name=\"tf-example\",\n domain_name=\"alicloud-provider.com\",\n ip_segment_lists=[{\n \"start_ip\": \"192.0.2.123\",\n \"end_ip\": \"192.0.2.125\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.CustomLine(\"default\", new()\n {\n CustomLineName = \"tf-example\",\n DomainName = \"alicloud-provider.com\",\n IpSegmentLists = new[]\n {\n new AliCloud.Dns.Inputs.CustomLineIpSegmentListArgs\n {\n StartIp = \"192.0.2.123\",\n EndIp = \"192.0.2.125\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewCustomLine(ctx, \"default\", \u0026dns.CustomLineArgs{\n\t\t\tCustomLineName: pulumi.String(\"tf-example\"),\n\t\t\tDomainName: pulumi.String(\"alicloud-provider.com\"),\n\t\t\tIpSegmentLists: dns.CustomLineIpSegmentListArray{\n\t\t\t\t\u0026dns.CustomLineIpSegmentListArgs{\n\t\t\t\t\tStartIp: pulumi.String(\"192.0.2.123\"),\n\t\t\t\t\tEndIp: pulumi.String(\"192.0.2.125\"),\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.alicloud.dns.CustomLine;\nimport com.pulumi.alicloud.dns.CustomLineArgs;\nimport com.pulumi.alicloud.dns.inputs.CustomLineIpSegmentListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new CustomLine(\"default\", CustomLineArgs.builder()\n .customLineName(\"tf-example\")\n .domainName(\"alicloud-provider.com\")\n .ipSegmentLists(CustomLineIpSegmentListArgs.builder()\n .startIp(\"192.0.2.123\")\n .endIp(\"192.0.2.125\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:CustomLine\n properties:\n customLineName: tf-example\n domainName: alicloud-provider.com\n ipSegmentLists:\n - startIp: 192.0.2.123\n endIp: 192.0.2.125\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns Custom Line can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/customLine:CustomLine example \u003cid\u003e\n```\n\n", "properties": { "customLineName": { "type": "string", @@ -143847,7 +146476,7 @@ "deprecationMessage": "alicloud.dns.DdosBgpInstance has been deprecated in favor of alicloud.ddos.DdosBgpInstance" }, "alicloud:dns/ddosCooInstance:DdosCooInstance": { - "description": "Provides a BGP-line Anti-DDoS Pro(DdosCoo) Instance resource.\n\nFor information about BGP-line Anti-DDoS Pro(DdosCoo) Instance and how to use it, see [What is Anti-DDoS Pro Instance](https://www.alibabacloud.com/help/en/ddos-protection/latest/create-an-anti-ddos-pro-or-anti-ddos-premium-instance-by-calling-an-api-operation).\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The endpoint of bssopenapi used only support \"business.aliyuncs.com\" at present.\n\n\u003e **NOTE:** From version 1.214.0, if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ddoscoo`\" pulumi-lang-dotnet=\"`Ddoscoo`\" pulumi-lang-go=\"`ddoscoo`\" pulumi-lang-python=\"`ddoscoo`\" pulumi-lang-yaml=\"`ddoscoo`\" pulumi-lang-java=\"`ddoscoo`\"\u003e`ddoscoo`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ddoscooIntl`\" pulumi-lang-dotnet=\"`DdoscooIntl`\" pulumi-lang-go=\"`ddoscooIntl`\" pulumi-lang-python=\"`ddoscoo_intl`\" pulumi-lang-yaml=\"`ddoscooIntl`\" pulumi-lang-java=\"`ddoscooIntl`\"\u003e`ddoscoo_intl`\u003c/span\u003e, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `cn-hangzhou`, and if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to `ddosDip`, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `ap-southeast-1`.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n baseBandwidth: \"30\",\n bandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n productType: \"ddoscoo\",\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n base_bandwidth=\"30\",\n bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n product_type=\"ddoscoo\",\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = \"30\",\n Bandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n ProductType = \"ddoscoo\",\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t\tPeriod: 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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .baseBandwidth(\"30\")\n .bandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .productType(\"ddoscoo\")\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n baseBandwidth: '30'\n bandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n productType: ddoscoo\n period: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDdosCoo Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/ddosCooInstance:DdosCooInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a BGP-line Anti-DDoS Pro(DdosCoo) Instance resource.\n\nFor information about BGP-line Anti-DDoS Pro(DdosCoo) Instance and how to use it, see [What is Anti-DDoS Pro Instance](https://www.alibabacloud.com/help/en/ddos-protection/latest/create-an-anti-ddos-pro-or-anti-ddos-premium-instance-by-calling-an-api-operation).\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The endpoint of bssopenapi used only support \"business.aliyuncs.com\" at present.\n\n\u003e **NOTE:** From version 1.214.0, if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`ddoscoo`\" pulumi-lang-dotnet=\"`Ddoscoo`\" pulumi-lang-go=\"`ddoscoo`\" pulumi-lang-python=\"`ddoscoo`\" pulumi-lang-yaml=\"`ddoscoo`\" pulumi-lang-java=\"`ddoscoo`\"\u003e`ddoscoo`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ddoscooIntl`\" pulumi-lang-dotnet=\"`DdoscooIntl`\" pulumi-lang-go=\"`ddoscooIntl`\" pulumi-lang-python=\"`ddoscoo_intl`\" pulumi-lang-yaml=\"`ddoscooIntl`\" pulumi-lang-java=\"`ddoscooIntl`\"\u003e`ddoscoo_intl`\u003c/span\u003e, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `cn-hangzhou`, and if \u003cspan pulumi-lang-nodejs=\"`productType`\" pulumi-lang-dotnet=\"`ProductType`\" pulumi-lang-go=\"`productType`\" pulumi-lang-python=\"`product_type`\" pulumi-lang-yaml=\"`productType`\" pulumi-lang-java=\"`productType`\"\u003e`product_type`\u003c/span\u003e is set to `ddosDip`, the provider \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e should be set to `ap-southeast-1`.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.ddos.DdosCooInstance(\"default\", {\n name: name,\n baseBandwidth: \"30\",\n bandwidth: \"30\",\n serviceBandwidth: \"100\",\n portCount: \"50\",\n domainCount: \"50\",\n productType: \"ddoscoo\",\n period: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ddos.DdosCooInstance(\"default\",\n name=name,\n base_bandwidth=\"30\",\n bandwidth=\"30\",\n service_bandwidth=\"100\",\n port_count=\"50\",\n domain_count=\"50\",\n product_type=\"ddoscoo\",\n period=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Ddos.DdosCooInstance(\"default\", new()\n {\n Name = name,\n BaseBandwidth = \"30\",\n Bandwidth = \"30\",\n ServiceBandwidth = \"100\",\n PortCount = \"50\",\n DomainCount = \"50\",\n ProductType = \"ddoscoo\",\n Period = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ddos.NewDdosCooInstance(ctx, \"default\", \u0026ddos.DdosCooInstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tBaseBandwidth: pulumi.String(\"30\"),\n\t\t\tBandwidth: pulumi.String(\"30\"),\n\t\t\tServiceBandwidth: pulumi.String(\"100\"),\n\t\t\tPortCount: pulumi.String(\"50\"),\n\t\t\tDomainCount: pulumi.String(\"50\"),\n\t\t\tProductType: pulumi.String(\"ddoscoo\"),\n\t\t\tPeriod: 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.alicloud.ddos.DdosCooInstance;\nimport com.pulumi.alicloud.ddos.DdosCooInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new DdosCooInstance(\"default\", DdosCooInstanceArgs.builder()\n .name(name)\n .baseBandwidth(\"30\")\n .bandwidth(\"30\")\n .serviceBandwidth(\"100\")\n .portCount(\"50\")\n .domainCount(\"50\")\n .productType(\"ddoscoo\")\n .period(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:ddos:DdosCooInstance\n properties:\n name: ${name}\n baseBandwidth: '30'\n bandwidth: '30'\n serviceBandwidth: '100'\n portCount: '50'\n domainCount: '50'\n productType: ddoscoo\n period: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDdosCoo Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/ddosCooInstance:DdosCooInstance example \u003cid\u003e\n```\n\n", "properties": { "addressType": { "type": "string", @@ -144123,7 +146752,7 @@ "deprecationMessage": "alicloud.dns.DdosCooInstance has been deprecated in favor of alicloud.ddos.DdosCooInstance" }, "alicloud:dns/dnsDomain:DnsDomain": { - "description": "Provides a DNS domain resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsDomain \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsDomain \" pulumi-lang-go=\" dns.AlidnsDomain \" pulumi-lang-python=\" dns.AlidnsDomain \" pulumi-lang-yaml=\" alicloud.dns.AlidnsDomain \" pulumi-lang-java=\" alicloud.dns.AlidnsDomain \"\u003e alicloud.dns.AlidnsDomain \u003c/span\u003efrom version 1.95.0.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n\u003e **NOTE:** Available in v1.81.0+.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain.\nconst dns = new alicloud.dns.DnsDomain(\"dns\", {\n domainName: \"starmove.com\",\n groupId: \"85ab8713-4a30-4de4-9d20-155ff830****\",\n tags: {\n Created: \"Terraform\",\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain.\ndns = alicloud.dns.DnsDomain(\"dns\",\n domain_name=\"starmove.com\",\n group_id=\"85ab8713-4a30-4de4-9d20-155ff830****\",\n tags={\n \"Created\": \"Terraform\",\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain.\n var dns = new AliCloud.Dns.DnsDomain(\"dns\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = \"85ab8713-4a30-4de4-9d20-155ff830****\",\n Tags = \n {\n { \"Created\", \"Terraform\" },\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain.\n\t\t_, err := dns.NewDnsDomain(ctx, \"dns\", \u0026dns.DnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: pulumi.String(\"85ab8713-4a30-4de4-9d20-155ff830****\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Environment\": pulumi.String(\"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.alicloud.dns.DnsDomain;\nimport com.pulumi.alicloud.dns.DnsDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a new Domain.\n var dns = new DnsDomain(\"dns\", DnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(\"85ab8713-4a30-4de4-9d20-155ff830****\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"Terraform\"),\n Map.entry(\"Environment\", \"test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain.\n dns:\n type: alicloud:dns:DnsDomain\n properties:\n domainName: starmove.com\n groupId: 85ab8713-4a30-4de4-9d20-155ff830****\n tags:\n Created: Terraform\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS domain can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/dnsDomain:DnsDomain example aliyun.com\n```\n\n", + "description": "Provides a DNS domain resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsDomain \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsDomain \" pulumi-lang-go=\" dns.AlidnsDomain \" pulumi-lang-python=\" dns.AlidnsDomain \" pulumi-lang-yaml=\" alicloud.dns.AlidnsDomain \" pulumi-lang-java=\" alicloud.dns.AlidnsDomain \"\u003e alicloud.dns.AlidnsDomain \u003c/span\u003efrom version 1.95.0.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n\u003e **NOTE:** Available in v1.81.0+.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain.\nconst dns = new alicloud.dns.DnsDomain(\"dns\", {\n domainName: \"starmove.com\",\n groupId: \"85ab8713-4a30-4de4-9d20-155ff830****\",\n tags: {\n Created: \"Terraform\",\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain.\ndns = alicloud.dns.DnsDomain(\"dns\",\n domain_name=\"starmove.com\",\n group_id=\"85ab8713-4a30-4de4-9d20-155ff830****\",\n tags={\n \"Created\": \"Terraform\",\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain.\n var dns = new AliCloud.Dns.DnsDomain(\"dns\", new()\n {\n DomainName = \"starmove.com\",\n GroupId = \"85ab8713-4a30-4de4-9d20-155ff830****\",\n Tags = \n {\n { \"Created\", \"Terraform\" },\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain.\n\t\t_, err := dns.NewDnsDomain(ctx, \"dns\", \u0026dns.DnsDomainArgs{\n\t\t\tDomainName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: pulumi.String(\"85ab8713-4a30-4de4-9d20-155ff830****\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Environment\": pulumi.String(\"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.alicloud.dns.DnsDomain;\nimport com.pulumi.alicloud.dns.DnsDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a new Domain.\n var dns = new DnsDomain(\"dns\", DnsDomainArgs.builder()\n .domainName(\"starmove.com\")\n .groupId(\"85ab8713-4a30-4de4-9d20-155ff830****\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"Terraform\"),\n Map.entry(\"Environment\", \"test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain.\n dns:\n type: alicloud:dns:DnsDomain\n properties:\n domainName: starmove.com\n groupId: 85ab8713-4a30-4de4-9d20-155ff830****\n tags:\n Created: Terraform\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS domain can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/dnsDomain:DnsDomain example aliyun.com\n```\n\n", "properties": { "dnsServers": { "type": "array", @@ -144264,7 +146893,7 @@ } }, "alicloud:dns/domain:Domain": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsDomain \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsDomain \" pulumi-lang-go=\" dns.AlidnsDomain \" pulumi-lang-python=\" dns.AlidnsDomain \" pulumi-lang-yaml=\" alicloud.dns.AlidnsDomain \" pulumi-lang-java=\" alicloud.dns.AlidnsDomain \"\u003e alicloud.dns.AlidnsDomain \u003c/span\u003efrom version 1.95.0.\n\nProvides a DNS resource.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain.\nconst dns = new alicloud.dns.Domain(\"dns\", {\n name: \"starmove.com\",\n groupId: \"85ab8713-4a30-4de4-9d20-155ff830f651\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain.\ndns = alicloud.dns.Domain(\"dns\",\n name=\"starmove.com\",\n group_id=\"85ab8713-4a30-4de4-9d20-155ff830f651\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain.\n var dns = new AliCloud.Dns.Domain(\"dns\", new()\n {\n Name = \"starmove.com\",\n GroupId = \"85ab8713-4a30-4de4-9d20-155ff830f651\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain.\n\t\t_, err := dns.NewDomain(ctx, \"dns\", \u0026dns.DomainArgs{\n\t\t\tName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: pulumi.String(\"85ab8713-4a30-4de4-9d20-155ff830f651\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Domain;\nimport com.pulumi.alicloud.dns.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a new Domain.\n var dns = new Domain(\"dns\", DomainArgs.builder()\n .name(\"starmove.com\")\n .groupId(\"85ab8713-4a30-4de4-9d20-155ff830f651\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain.\n dns:\n type: alicloud:dns:Domain\n properties:\n name: starmove.com\n groupId: 85ab8713-4a30-4de4-9d20-155ff830f651\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domain:Domain example \"aliyun.com\"\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsDomain \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsDomain \" pulumi-lang-go=\" dns.AlidnsDomain \" pulumi-lang-python=\" dns.AlidnsDomain \" pulumi-lang-yaml=\" alicloud.dns.AlidnsDomain \" pulumi-lang-java=\" alicloud.dns.AlidnsDomain \"\u003e alicloud.dns.AlidnsDomain \u003c/span\u003efrom version 1.95.0.\n\nProvides a DNS resource.\n\n\u003e **NOTE:** The domain name which you want to add must be already registered and had not added by another account. Every domain name can only exist in a unique group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain.\nconst dns = new alicloud.dns.Domain(\"dns\", {\n name: \"starmove.com\",\n groupId: \"85ab8713-4a30-4de4-9d20-155ff830f651\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain.\ndns = alicloud.dns.Domain(\"dns\",\n name=\"starmove.com\",\n group_id=\"85ab8713-4a30-4de4-9d20-155ff830f651\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain.\n var dns = new AliCloud.Dns.Domain(\"dns\", new()\n {\n Name = \"starmove.com\",\n GroupId = \"85ab8713-4a30-4de4-9d20-155ff830f651\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain.\n\t\t_, err := dns.NewDomain(ctx, \"dns\", \u0026dns.DomainArgs{\n\t\t\tName: pulumi.String(\"starmove.com\"),\n\t\t\tGroupId: pulumi.String(\"85ab8713-4a30-4de4-9d20-155ff830f651\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Domain;\nimport com.pulumi.alicloud.dns.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a new Domain.\n var dns = new Domain(\"dns\", DomainArgs.builder()\n .name(\"starmove.com\")\n .groupId(\"85ab8713-4a30-4de4-9d20-155ff830f651\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain.\n dns:\n type: alicloud:dns:Domain\n properties:\n name: starmove.com\n groupId: 85ab8713-4a30-4de4-9d20-155ff830f651\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS can be imported using the id or domain name, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domain:Domain example \"aliyun.com\"\n```\n\n", "properties": { "dnsServers": { "type": "array", @@ -144345,7 +146974,7 @@ "deprecationMessage": "This resource has been deprecated in favour of DnsDomain" }, "alicloud:dns/domainAttachment:DomainAttachment": { - "description": "Provides bind the domain name to the DNS instance resource.\n\n\u003e **NOTE:** Available in v1.80.0+.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.99.0`. Please use new resource alicloud_alidns_domain_attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst dns = new alicloud.dns.DomainAttachment(\"dns\", {\n instanceId: \"dns-cn-mp91lyq9xxxx\",\n domainNames: [\n \"test111.abc\",\n \"test222.abc\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndns = alicloud.dns.DomainAttachment(\"dns\",\n instance_id=\"dns-cn-mp91lyq9xxxx\",\n domain_names=[\n \"test111.abc\",\n \"test222.abc\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dns = new AliCloud.Dns.DomainAttachment(\"dns\", new()\n {\n InstanceId = \"dns-cn-mp91lyq9xxxx\",\n DomainNames = new[]\n {\n \"test111.abc\",\n \"test222.abc\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewDomainAttachment(ctx, \"dns\", \u0026dns.DomainAttachmentArgs{\n\t\t\tInstanceId: pulumi.String(\"dns-cn-mp91lyq9xxxx\"),\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test111.abc\"),\n\t\t\t\tpulumi.String(\"test222.abc\"),\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.alicloud.dns.DomainAttachment;\nimport com.pulumi.alicloud.dns.DomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dns = new DomainAttachment(\"dns\", DomainAttachmentArgs.builder()\n .instanceId(\"dns-cn-mp91lyq9xxxx\")\n .domainNames( \n \"test111.abc\",\n \"test222.abc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: alicloud:dns:DomainAttachment\n properties:\n instanceId: dns-cn-mp91lyq9xxxx\n domainNames:\n - test111.abc\n - test222.abc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS domain attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domainAttachment:DomainAttachment example dns-cn-v0h1ldjhxxx\n```\n\n", + "description": "Provides bind the domain name to the DNS instance resource.\n\n\u003e **NOTE:** Available in v1.80.0+.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.99.0`. Please use new resource alicloud_alidns_domain_attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst dns = new alicloud.dns.DomainAttachment(\"dns\", {\n instanceId: \"dns-cn-mp91lyq9xxxx\",\n domainNames: [\n \"test111.abc\",\n \"test222.abc\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndns = alicloud.dns.DomainAttachment(\"dns\",\n instance_id=\"dns-cn-mp91lyq9xxxx\",\n domain_names=[\n \"test111.abc\",\n \"test222.abc\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dns = new AliCloud.Dns.DomainAttachment(\"dns\", new()\n {\n InstanceId = \"dns-cn-mp91lyq9xxxx\",\n DomainNames = new[]\n {\n \"test111.abc\",\n \"test222.abc\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewDomainAttachment(ctx, \"dns\", \u0026dns.DomainAttachmentArgs{\n\t\t\tInstanceId: pulumi.String(\"dns-cn-mp91lyq9xxxx\"),\n\t\t\tDomainNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test111.abc\"),\n\t\t\t\tpulumi.String(\"test222.abc\"),\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.alicloud.dns.DomainAttachment;\nimport com.pulumi.alicloud.dns.DomainAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dns = new DomainAttachment(\"dns\", DomainAttachmentArgs.builder()\n .instanceId(\"dns-cn-mp91lyq9xxxx\")\n .domainNames( \n \"test111.abc\",\n \"test222.abc\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: alicloud:dns:DomainAttachment\n properties:\n instanceId: dns-cn-mp91lyq9xxxx\n domainNames:\n - test111.abc\n - test222.abc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS domain attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domainAttachment:DomainAttachment example dns-cn-v0h1ldjhxxx\n```\n\n", "properties": { "domainNames": { "type": "array", @@ -144401,7 +147030,7 @@ } }, "alicloud:dns/domainGroup:DomainGroup": { - "description": "Provides a Alidns Domain Group resource. For information about Alidns Domain Group and how to use it, see [What is Resource Alidns Domain Group](https://www.alibabacloud.com/help/en/doc-detail/29762.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns domain group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domainGroup:DomainGroup example 0932eb3ddee7499085c4d13d45*****\n```\n\n", + "description": "Provides a Alidns Domain Group resource. For information about Alidns Domain Group and how to use it, see [What is Resource Alidns Domain Group](https://www.alibabacloud.com/help/en/doc-detail/29762.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.dns.DomainGroup(\"default\", {domainGroupName: \"tf-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.dns.DomainGroup(\"default\", domain_group_name=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Dns.DomainGroup(\"default\", new()\n {\n DomainGroupName = \"tf-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewDomainGroup(ctx, \"default\", \u0026dns.DomainGroupArgs{\n\t\t\tDomainGroupName: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.DomainGroup;\nimport com.pulumi.alicloud.dns.DomainGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DomainGroup(\"default\", DomainGroupArgs.builder()\n .domainGroupName(\"tf-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:dns:DomainGroup\n properties:\n domainGroupName: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns domain group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/domainGroup:DomainGroup example 0932eb3ddee7499085c4d13d45*****\n```\n\n", "properties": { "domainGroupName": { "type": "string", @@ -144457,7 +147086,7 @@ } }, "alicloud:dns/group:Group": { - "description": "\u003e **DEPRECATED:** This resource has been deprecated from version `1.84.0`. Please use new resource alicloud_alidns_domain_group.\n\nProvides a DNS Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain group.\nconst group = new alicloud.dns.Group(\"group\", {name: \"testgroup\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain group.\ngroup = alicloud.dns.Group(\"group\", name=\"testgroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain group.\n var @group = new AliCloud.Dns.Group(\"group\", new()\n {\n Name = \"testgroup\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain group.\n\t\t_, err := dns.NewGroup(ctx, \"group\", \u0026dns.GroupArgs{\n\t\t\tName: pulumi.String(\"testgroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Group;\nimport com.pulumi.alicloud.dns.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 // Add a new Domain group.\n var group = new Group(\"group\", GroupArgs.builder()\n .name(\"testgroup\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain group.\n group:\n type: alicloud:dns:Group\n properties:\n name: testgroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "\u003e **DEPRECATED:** This resource has been deprecated from version `1.84.0`. Please use new resource alicloud_alidns_domain_group.\n\nProvides a DNS Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a new Domain group.\nconst group = new alicloud.dns.Group(\"group\", {name: \"testgroup\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a new Domain group.\ngroup = alicloud.dns.Group(\"group\", name=\"testgroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a new Domain group.\n var @group = new AliCloud.Dns.Group(\"group\", new()\n {\n Name = \"testgroup\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a new Domain group.\n\t\t_, err := dns.NewGroup(ctx, \"group\", \u0026dns.GroupArgs{\n\t\t\tName: pulumi.String(\"testgroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Group;\nimport com.pulumi.alicloud.dns.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 // Add a new Domain group.\n var group = new Group(\"group\", GroupArgs.builder()\n .name(\"testgroup\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a new Domain group.\n group:\n type: alicloud:dns:Group\n properties:\n name: testgroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "name": { "type": "string", @@ -144485,7 +147114,7 @@ } }, "alicloud:dns/gtmInstance:GtmInstance": { - "description": "Provides a Alidns Gtm Instance resource.\n\nFor information about Alidns Gtm Instance and how to use it, see [What is Gtm Instance](https://www.alibabacloud.com/help/en/doc-detail/204852.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: \"tf_example\"});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: \"tf_example\",\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=\"tf_example\")\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=\"tf_example\",\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = \"tf_example\",\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = \"tf_example\",\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(\"tf_example\")\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(\"tf_example\")\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: tf_example\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: tf_example\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlidns Gtm Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/gtmInstance:GtmInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a Alidns Gtm Instance resource.\n\nFor information about Alidns Gtm Instance and how to use it, see [What is Gtm Instance](https://www.alibabacloud.com/help/en/doc-detail/204852.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: \"tf_example\"});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: \"tf_example\",\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=\"tf_example\")\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=\"tf_example\",\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = \"tf_example\",\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = \"tf_example\",\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(\"tf_example\")\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(\"tf_example\")\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: tf_example\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: tf_example\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlidns Gtm Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/gtmInstance:GtmInstance example \u003cid\u003e\n```\n\n", "properties": { "alertConfigs": { "type": "array", @@ -144791,7 +147420,7 @@ } }, "alicloud:dns/instance:Instance": { - "description": "Create an DNS Instance resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsInstance \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsInstance \" pulumi-lang-go=\" dns.AlidnsInstance \" pulumi-lang-python=\" dns.AlidnsInstance \" pulumi-lang-yaml=\" alicloud.dns.AlidnsInstance \" pulumi-lang-java=\" alicloud.dns.AlidnsInstance \"\u003e alicloud.dns.AlidnsInstance \u003c/span\u003efrom version 1.95.0.\n\n\u003e **NOTE:** Available in v1.80.0+.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.dns.Instance(\"this\", {\n dnsSecurity: \"no\",\n domainNumbers: \"2\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"ManualRenewal\",\n versionCode: \"version_personal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.dns.Instance(\"this\",\n dns_security=\"no\",\n domain_numbers=\"2\",\n period=1,\n renew_period=1,\n renewal_status=\"ManualRenewal\",\n version_code=\"version_personal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Dns.Instance(\"this\", new()\n {\n DnsSecurity = \"no\",\n DomainNumbers = \"2\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"ManualRenewal\",\n VersionCode = \"version_personal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewInstance(ctx, \"this\", \u0026dns.InstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"no\"),\n\t\t\tDomainNumbers: pulumi.String(\"2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Instance;\nimport com.pulumi.alicloud.dns.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 this_ = new Instance(\"this\", InstanceArgs.builder()\n .dnsSecurity(\"no\")\n .domainNumbers(\"2\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"ManualRenewal\")\n .versionCode(\"version_personal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:dns:Instance\n properties:\n dnsSecurity: no\n domainNumbers: '2'\n period: 1\n renewPeriod: 1\n renewalStatus: ManualRenewal\n versionCode: version_personal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS instance be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/instance:Instance example dns-cn-v0h1ldjhfff\n```\n\n", + "description": "Create an DNS Instance resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.dns.AlidnsInstance \" pulumi-lang-dotnet=\" alicloud.dns.AlidnsInstance \" pulumi-lang-go=\" dns.AlidnsInstance \" pulumi-lang-python=\" dns.AlidnsInstance \" pulumi-lang-yaml=\" alicloud.dns.AlidnsInstance \" pulumi-lang-java=\" alicloud.dns.AlidnsInstance \"\u003e alicloud.dns.AlidnsInstance \u003c/span\u003efrom version 1.95.0.\n\n\u003e **NOTE:** Available in v1.80.0+.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.dns.Instance(\"this\", {\n dnsSecurity: \"no\",\n domainNumbers: \"2\",\n period: 1,\n renewPeriod: 1,\n renewalStatus: \"ManualRenewal\",\n versionCode: \"version_personal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.dns.Instance(\"this\",\n dns_security=\"no\",\n domain_numbers=\"2\",\n period=1,\n renew_period=1,\n renewal_status=\"ManualRenewal\",\n version_code=\"version_personal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Dns.Instance(\"this\", new()\n {\n DnsSecurity = \"no\",\n DomainNumbers = \"2\",\n Period = 1,\n RenewPeriod = 1,\n RenewalStatus = \"ManualRenewal\",\n VersionCode = \"version_personal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dns.NewInstance(ctx, \"this\", \u0026dns.InstanceArgs{\n\t\t\tDnsSecurity: pulumi.String(\"no\"),\n\t\t\tDomainNumbers: pulumi.String(\"2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tVersionCode: pulumi.String(\"version_personal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Instance;\nimport com.pulumi.alicloud.dns.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 this_ = new Instance(\"this\", InstanceArgs.builder()\n .dnsSecurity(\"no\")\n .domainNumbers(\"2\")\n .period(1)\n .renewPeriod(1)\n .renewalStatus(\"ManualRenewal\")\n .versionCode(\"version_personal\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:dns:Instance\n properties:\n dnsSecurity: no\n domainNumbers: '2'\n period: 1\n renewPeriod: 1\n renewalStatus: ManualRenewal\n versionCode: version_personal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS instance be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/instance:Instance example dns-cn-v0h1ldjhfff\n```\n\n", "properties": { "dnsSecurity": { "type": "string", @@ -144917,7 +147546,7 @@ } }, "alicloud:dns/monitorConfig:MonitorConfig": { - "description": "Provides a DNS Monitor Config resource.\n\nFor information about DNS Monitor Config and how to use it, see [What is Monitor Config](https://www.alibabacloud.com/help/en/alibaba-cloud-dns/latest/api-alidns-2015-01-09-adddnsgtmmonitor).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool = new alicloud.dns.AddressPool(\"default\", {\n addressPoolName: name,\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n});\nconst defaultMonitorConfig = new alicloud.dns.MonitorConfig(\"default\", {\n addrPoolId: defaultAddressPool.id,\n evaluationCount: 1,\n interval: 60,\n timeout: 5000,\n protocolType: \"TCP\",\n monitorExtendInfo: \"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n ispCityNodes: [{\n cityCode: \"503\",\n ispCode: \"465\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = alicloud.dns.AddressPool(\"default\",\n address_pool_name=name,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }])\ndefault_monitor_config = alicloud.dns.MonitorConfig(\"default\",\n addr_pool_id=default_address_pool.id,\n evaluation_count=1,\n interval=60,\n timeout=5000,\n protocol_type=\"TCP\",\n monitor_extend_info=\"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n isp_city_nodes=[{\n \"city_code\": \"503\",\n \"isp_code\": \"465\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new AliCloud.Dns.AddressPool(\"default\", new()\n {\n AddressPoolName = name,\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n });\n\n var defaultMonitorConfig = new AliCloud.Dns.MonitorConfig(\"default\", new()\n {\n AddrPoolId = defaultAddressPool.Id,\n EvaluationCount = 1,\n Interval = 60,\n Timeout = 5000,\n ProtocolType = \"TCP\",\n MonitorExtendInfo = \"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n IspCityNodes = new[]\n {\n new AliCloud.Dns.Inputs.MonitorConfigIspCityNodeArgs\n {\n CityCode = \"503\",\n IspCode = \"465\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\tdefaultAddressPool, err := dns.NewAddressPool(ctx, \"default\", \u0026dns.AddressPoolArgs{\n\t\t\tAddressPoolName: pulumi.String(name),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\tAttributeInfo: pulumi.String(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\"),\n\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\tLbaWeight: 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\t_, err = dns.NewMonitorConfig(ctx, \"default\", \u0026dns.MonitorConfigArgs{\n\t\t\tAddrPoolId: defaultAddressPool.ID(),\n\t\t\tEvaluationCount: pulumi.Int(1),\n\t\t\tInterval: pulumi.Int(60),\n\t\t\tTimeout: pulumi.Int(5000),\n\t\t\tProtocolType: pulumi.String(\"TCP\"),\n\t\t\tMonitorExtendInfo: pulumi.String(\"{\\\"failureRate\\\":50,\\\"port\\\":80}\"),\n\t\t\tIspCityNodes: dns.MonitorConfigIspCityNodeArray{\n\t\t\t\t\u0026dns.MonitorConfigIspCityNodeArgs{\n\t\t\t\t\tCityCode: pulumi.String(\"503\"),\n\t\t\t\t\tIspCode: pulumi.String(\"465\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport com.pulumi.alicloud.dns.MonitorConfig;\nimport com.pulumi.alicloud.dns.MonitorConfigArgs;\nimport com.pulumi.alicloud.dns.inputs.MonitorConfigIspCityNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n var defaultAddressPool = new AddressPool(\"defaultAddressPool\", AddressPoolArgs.builder()\n .addressPoolName(name)\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n var defaultMonitorConfig = new MonitorConfig(\"defaultMonitorConfig\", MonitorConfigArgs.builder()\n .addrPoolId(defaultAddressPool.id())\n .evaluationCount(1)\n .interval(60)\n .timeout(5000)\n .protocolType(\"TCP\")\n .monitorExtendInfo(\"{\\\"failureRate\\\":50,\\\"port\\\":80}\")\n .ispCityNodes(MonitorConfigIspCityNodeArgs.builder()\n .cityCode(\"503\")\n .ispCode(\"465\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: ${name}\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\n defaultAddressPool:\n type: alicloud:dns:AddressPool\n name: default\n properties:\n addressPoolName: ${name}\n instanceId: ${defaultGtmInstance.id}\n lbaStrategy: RATIO\n type: IPV4\n addresses:\n - attributeInfo: '{\"lineCodeRectifyType\":\"RECTIFIED\",\"lineCodes\":[\"os_namerica_us\"]}'\n remark: address_remark\n address: 1.1.1.1\n mode: SMART\n lbaWeight: 1\n defaultMonitorConfig:\n type: alicloud:dns:MonitorConfig\n name: default\n properties:\n addrPoolId: ${defaultAddressPool.id}\n evaluationCount: '1'\n interval: '60'\n timeout: '5000'\n protocolType: TCP\n monitorExtendInfo: '{\"failureRate\":50,\"port\":80}'\n ispCityNodes:\n - cityCode: '503'\n ispCode: '465'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDNS Monitor Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/monitorConfig:MonitorConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a DNS Monitor Config resource.\n\nFor information about DNS Monitor Config and how to use it, see [What is Monitor Config](https://www.alibabacloud.com/help/en/alibaba-cloud-dns/latest/api-alidns-2015-01-09-adddnsgtmmonitor).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst domainName = config.get(\"domainName\") || \"alicloud-provider.com\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultAlarmContactGroup = new alicloud.cms.AlarmContactGroup(\"default\", {alarmContactGroupName: name});\nconst defaultGtmInstance = new alicloud.dns.GtmInstance(\"default\", {\n instanceName: name,\n paymentType: \"Subscription\",\n period: 1,\n renewalStatus: \"ManualRenewal\",\n packageEdition: \"standard\",\n healthCheckTaskCount: 100,\n smsNotificationCount: 1000,\n publicCnameMode: \"SYSTEM_ASSIGN\",\n ttl: 60,\n cnameType: \"PUBLIC\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n alertGroups: [defaultAlarmContactGroup.alarmContactGroupName],\n publicUserDomainName: domainName,\n alertConfigs: [{\n smsNotice: true,\n noticeType: \"ADDR_ALERT\",\n emailNotice: true,\n dingtalkNotice: true,\n }],\n});\nconst defaultAddressPool = new alicloud.dns.AddressPool(\"default\", {\n addressPoolName: name,\n instanceId: defaultGtmInstance.id,\n lbaStrategy: \"RATIO\",\n type: \"IPV4\",\n addresses: [{\n attributeInfo: \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n remark: \"address_remark\",\n address: \"1.1.1.1\",\n mode: \"SMART\",\n lbaWeight: 1,\n }],\n});\nconst defaultMonitorConfig = new alicloud.dns.MonitorConfig(\"default\", {\n addrPoolId: defaultAddressPool.id,\n evaluationCount: 1,\n interval: 60,\n timeout: 5000,\n protocolType: \"TCP\",\n monitorExtendInfo: \"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n ispCityNodes: [{\n cityCode: \"503\",\n ispCode: \"465\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndomain_name = config.get(\"domainName\")\nif domain_name is None:\n domain_name = \"alicloud-provider.com\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_alarm_contact_group = alicloud.cms.AlarmContactGroup(\"default\", alarm_contact_group_name=name)\ndefault_gtm_instance = alicloud.dns.GtmInstance(\"default\",\n instance_name=name,\n payment_type=\"Subscription\",\n period=1,\n renewal_status=\"ManualRenewal\",\n package_edition=\"standard\",\n health_check_task_count=100,\n sms_notification_count=1000,\n public_cname_mode=\"SYSTEM_ASSIGN\",\n ttl=60,\n cname_type=\"PUBLIC\",\n resource_group_id=default.groups[0].id,\n alert_groups=[default_alarm_contact_group.alarm_contact_group_name],\n public_user_domain_name=domain_name,\n alert_configs=[{\n \"sms_notice\": True,\n \"notice_type\": \"ADDR_ALERT\",\n \"email_notice\": True,\n \"dingtalk_notice\": True,\n }])\ndefault_address_pool = alicloud.dns.AddressPool(\"default\",\n address_pool_name=name,\n instance_id=default_gtm_instance.id,\n lba_strategy=\"RATIO\",\n type=\"IPV4\",\n addresses=[{\n \"attribute_info\": \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n \"remark\": \"address_remark\",\n \"address\": \"1.1.1.1\",\n \"mode\": \"SMART\",\n \"lba_weight\": 1,\n }])\ndefault_monitor_config = alicloud.dns.MonitorConfig(\"default\",\n addr_pool_id=default_address_pool.id,\n evaluation_count=1,\n interval=60,\n timeout=5000,\n protocol_type=\"TCP\",\n monitor_extend_info=\"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n isp_city_nodes=[{\n \"city_code\": \"503\",\n \"isp_code\": \"465\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var domainName = config.Get(\"domainName\") ?? \"alicloud-provider.com\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultAlarmContactGroup = new AliCloud.Cms.AlarmContactGroup(\"default\", new()\n {\n AlarmContactGroupName = name,\n });\n\n var defaultGtmInstance = new AliCloud.Dns.GtmInstance(\"default\", new()\n {\n InstanceName = name,\n PaymentType = \"Subscription\",\n Period = 1,\n RenewalStatus = \"ManualRenewal\",\n PackageEdition = \"standard\",\n HealthCheckTaskCount = 100,\n SmsNotificationCount = 1000,\n PublicCnameMode = \"SYSTEM_ASSIGN\",\n Ttl = 60,\n CnameType = \"PUBLIC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n AlertGroups = new[]\n {\n defaultAlarmContactGroup.AlarmContactGroupName,\n },\n PublicUserDomainName = domainName,\n AlertConfigs = new[]\n {\n new AliCloud.Dns.Inputs.GtmInstanceAlertConfigArgs\n {\n SmsNotice = true,\n NoticeType = \"ADDR_ALERT\",\n EmailNotice = true,\n DingtalkNotice = true,\n },\n },\n });\n\n var defaultAddressPool = new AliCloud.Dns.AddressPool(\"default\", new()\n {\n AddressPoolName = name,\n InstanceId = defaultGtmInstance.Id,\n LbaStrategy = \"RATIO\",\n Type = \"IPV4\",\n Addresses = new[]\n {\n new AliCloud.Dns.Inputs.AddressPoolAddressArgs\n {\n AttributeInfo = \"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\",\n Remark = \"address_remark\",\n Address = \"1.1.1.1\",\n Mode = \"SMART\",\n LbaWeight = 1,\n },\n },\n });\n\n var defaultMonitorConfig = new AliCloud.Dns.MonitorConfig(\"default\", new()\n {\n AddrPoolId = defaultAddressPool.Id,\n EvaluationCount = 1,\n Interval = 60,\n Timeout = 5000,\n ProtocolType = \"TCP\",\n MonitorExtendInfo = \"{\\\"failureRate\\\":50,\\\"port\\\":80}\",\n IspCityNodes = new[]\n {\n new AliCloud.Dns.Inputs.MonitorConfigIspCityNodeArgs\n {\n CityCode = \"503\",\n IspCode = \"465\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomainName := \"alicloud-provider.com\"\n\t\tif param := cfg.Get(\"domainName\"); param != \"\" {\n\t\t\tdomainName = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAlarmContactGroup, err := cms.NewAlarmContactGroup(ctx, \"default\", \u0026cms.AlarmContactGroupArgs{\n\t\t\tAlarmContactGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGtmInstance, err := dns.NewGtmInstance(ctx, \"default\", \u0026dns.GtmInstanceArgs{\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tPackageEdition: pulumi.String(\"standard\"),\n\t\t\tHealthCheckTaskCount: pulumi.Int(100),\n\t\t\tSmsNotificationCount: pulumi.Int(1000),\n\t\t\tPublicCnameMode: pulumi.String(\"SYSTEM_ASSIGN\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t\tCnameType: pulumi.String(\"PUBLIC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tAlertGroups: pulumi.StringArray{\n\t\t\t\tdefaultAlarmContactGroup.AlarmContactGroupName,\n\t\t\t},\n\t\t\tPublicUserDomainName: pulumi.String(domainName),\n\t\t\tAlertConfigs: dns.GtmInstanceAlertConfigArray{\n\t\t\t\t\u0026dns.GtmInstanceAlertConfigArgs{\n\t\t\t\t\tSmsNotice: pulumi.Bool(true),\n\t\t\t\t\tNoticeType: pulumi.String(\"ADDR_ALERT\"),\n\t\t\t\t\tEmailNotice: pulumi.Bool(true),\n\t\t\t\t\tDingtalkNotice: 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\tdefaultAddressPool, err := dns.NewAddressPool(ctx, \"default\", \u0026dns.AddressPoolArgs{\n\t\t\tAddressPoolName: pulumi.String(name),\n\t\t\tInstanceId: defaultGtmInstance.ID(),\n\t\t\tLbaStrategy: pulumi.String(\"RATIO\"),\n\t\t\tType: pulumi.String(\"IPV4\"),\n\t\t\tAddresses: dns.AddressPoolAddressArray{\n\t\t\t\t\u0026dns.AddressPoolAddressArgs{\n\t\t\t\t\tAttributeInfo: pulumi.String(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\"),\n\t\t\t\t\tRemark: pulumi.String(\"address_remark\"),\n\t\t\t\t\tAddress: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tMode: pulumi.String(\"SMART\"),\n\t\t\t\t\tLbaWeight: 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\t_, err = dns.NewMonitorConfig(ctx, \"default\", \u0026dns.MonitorConfigArgs{\n\t\t\tAddrPoolId: defaultAddressPool.ID(),\n\t\t\tEvaluationCount: pulumi.Int(1),\n\t\t\tInterval: pulumi.Int(60),\n\t\t\tTimeout: pulumi.Int(5000),\n\t\t\tProtocolType: pulumi.String(\"TCP\"),\n\t\t\tMonitorExtendInfo: pulumi.String(\"{\\\"failureRate\\\":50,\\\"port\\\":80}\"),\n\t\t\tIspCityNodes: dns.MonitorConfigIspCityNodeArray{\n\t\t\t\t\u0026dns.MonitorConfigIspCityNodeArgs{\n\t\t\t\t\tCityCode: pulumi.String(\"503\"),\n\t\t\t\t\tIspCode: pulumi.String(\"465\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.cms.AlarmContactGroup;\nimport com.pulumi.alicloud.cms.AlarmContactGroupArgs;\nimport com.pulumi.alicloud.dns.GtmInstance;\nimport com.pulumi.alicloud.dns.GtmInstanceArgs;\nimport com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;\nimport com.pulumi.alicloud.dns.AddressPool;\nimport com.pulumi.alicloud.dns.AddressPoolArgs;\nimport com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;\nimport com.pulumi.alicloud.dns.MonitorConfig;\nimport com.pulumi.alicloud.dns.MonitorConfigArgs;\nimport com.pulumi.alicloud.dns.inputs.MonitorConfigIspCityNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var domainName = config.get(\"domainName\").orElse(\"alicloud-provider.com\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultAlarmContactGroup = new AlarmContactGroup(\"defaultAlarmContactGroup\", AlarmContactGroupArgs.builder()\n .alarmContactGroupName(name)\n .build());\n\n var defaultGtmInstance = new GtmInstance(\"defaultGtmInstance\", GtmInstanceArgs.builder()\n .instanceName(name)\n .paymentType(\"Subscription\")\n .period(1)\n .renewalStatus(\"ManualRenewal\")\n .packageEdition(\"standard\")\n .healthCheckTaskCount(100)\n .smsNotificationCount(1000)\n .publicCnameMode(\"SYSTEM_ASSIGN\")\n .ttl(60)\n .cnameType(\"PUBLIC\")\n .resourceGroupId(default_.groups()[0].id())\n .alertGroups(defaultAlarmContactGroup.alarmContactGroupName())\n .publicUserDomainName(domainName)\n .alertConfigs(GtmInstanceAlertConfigArgs.builder()\n .smsNotice(true)\n .noticeType(\"ADDR_ALERT\")\n .emailNotice(true)\n .dingtalkNotice(true)\n .build())\n .build());\n\n var defaultAddressPool = new AddressPool(\"defaultAddressPool\", AddressPoolArgs.builder()\n .addressPoolName(name)\n .instanceId(defaultGtmInstance.id())\n .lbaStrategy(\"RATIO\")\n .type(\"IPV4\")\n .addresses(AddressPoolAddressArgs.builder()\n .attributeInfo(\"{\\\"lineCodeRectifyType\\\":\\\"RECTIFIED\\\",\\\"lineCodes\\\":[\\\"os_namerica_us\\\"]}\")\n .remark(\"address_remark\")\n .address(\"1.1.1.1\")\n .mode(\"SMART\")\n .lbaWeight(1)\n .build())\n .build());\n\n var defaultMonitorConfig = new MonitorConfig(\"defaultMonitorConfig\", MonitorConfigArgs.builder()\n .addrPoolId(defaultAddressPool.id())\n .evaluationCount(1)\n .interval(60)\n .timeout(5000)\n .protocolType(\"TCP\")\n .monitorExtendInfo(\"{\\\"failureRate\\\":50,\\\"port\\\":80}\")\n .ispCityNodes(MonitorConfigIspCityNodeArgs.builder()\n .cityCode(\"503\")\n .ispCode(\"465\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\n domainName:\n type: string\n default: alicloud-provider.com\nresources:\n defaultAlarmContactGroup:\n type: alicloud:cms:AlarmContactGroup\n name: default\n properties:\n alarmContactGroupName: ${name}\n defaultGtmInstance:\n type: alicloud:dns:GtmInstance\n name: default\n properties:\n instanceName: ${name}\n paymentType: Subscription\n period: 1\n renewalStatus: ManualRenewal\n packageEdition: standard\n healthCheckTaskCount: 100\n smsNotificationCount: 1000\n publicCnameMode: SYSTEM_ASSIGN\n ttl: 60\n cnameType: PUBLIC\n resourceGroupId: ${default.groups[0].id}\n alertGroups:\n - ${defaultAlarmContactGroup.alarmContactGroupName}\n publicUserDomainName: ${domainName}\n alertConfigs:\n - smsNotice: true\n noticeType: ADDR_ALERT\n emailNotice: true\n dingtalkNotice: true\n defaultAddressPool:\n type: alicloud:dns:AddressPool\n name: default\n properties:\n addressPoolName: ${name}\n instanceId: ${defaultGtmInstance.id}\n lbaStrategy: RATIO\n type: IPV4\n addresses:\n - attributeInfo: '{\"lineCodeRectifyType\":\"RECTIFIED\",\"lineCodes\":[\"os_namerica_us\"]}'\n remark: address_remark\n address: 1.1.1.1\n mode: SMART\n lbaWeight: 1\n defaultMonitorConfig:\n type: alicloud:dns:MonitorConfig\n name: default\n properties:\n addrPoolId: ${defaultAddressPool.id}\n evaluationCount: '1'\n interval: '60'\n timeout: '5000'\n protocolType: TCP\n monitorExtendInfo: '{\"failureRate\":50,\"port\":80}'\n ispCityNodes:\n - cityCode: '503'\n ispCode: '465'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDNS Monitor Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/monitorConfig:MonitorConfig example \u003cid\u003e\n```\n\n", "properties": { "addrPoolId": { "type": "string", @@ -145055,7 +147684,7 @@ } }, "alicloud:dns/record:Record": { - "description": "Provides a DNS Record resource.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.85.0`. Please use new resource alicloud_alidns_record.\n\n\u003e **NOTE:** When the site is an international site, the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e neither supports `REDIRECT_URL` nor `REDIRECT_URL`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new Domain record\nconst record = new alicloud.dns.Record(\"record\", {\n name: \"domainname\",\n hostRecord: \"@\",\n type: \"A\",\n value: \"192.168.99.99\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new Domain record\nrecord = alicloud.dns.Record(\"record\",\n name=\"domainname\",\n host_record=\"@\",\n type=\"A\",\n value=\"192.168.99.99\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Domain record\n var record = new AliCloud.Dns.Record(\"record\", new()\n {\n Name = \"domainname\",\n HostRecord = \"@\",\n Type = \"A\",\n Value = \"192.168.99.99\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Domain record\n\t\t_, err := dns.NewRecord(ctx, \"record\", \u0026dns.RecordArgs{\n\t\t\tName: pulumi.String(\"domainname\"),\n\t\t\tHostRecord: pulumi.String(\"@\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tValue: pulumi.String(\"192.168.99.99\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Record;\nimport com.pulumi.alicloud.dns.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 a new Domain record\n var record = new Record(\"record\", RecordArgs.builder()\n .name(\"domainname\")\n .hostRecord(\"@\")\n .type(\"A\")\n .value(\"192.168.99.99\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Domain record\n record:\n type: alicloud:dns:Record\n properties:\n name: domainname\n hostRecord: '@'\n type: A\n value: 192.168.99.99\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/record:Record example \u003cid\u003e\n```\n\n", + "description": "Provides a DNS Record resource.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.85.0`. Please use new resource alicloud_alidns_record.\n\n\u003e **NOTE:** When the site is an international site, the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e neither supports `REDIRECT_URL` nor `REDIRECT_URL`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new Domain record\nconst record = new alicloud.dns.Record(\"record\", {\n name: \"domainname\",\n hostRecord: \"@\",\n type: \"A\",\n value: \"192.168.99.99\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new Domain record\nrecord = alicloud.dns.Record(\"record\",\n name=\"domainname\",\n host_record=\"@\",\n type=\"A\",\n value=\"192.168.99.99\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Domain record\n var record = new AliCloud.Dns.Record(\"record\", new()\n {\n Name = \"domainname\",\n HostRecord = \"@\",\n Type = \"A\",\n Value = \"192.168.99.99\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Domain record\n\t\t_, err := dns.NewRecord(ctx, \"record\", \u0026dns.RecordArgs{\n\t\t\tName: pulumi.String(\"domainname\"),\n\t\t\tHostRecord: pulumi.String(\"@\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tValue: pulumi.String(\"192.168.99.99\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.dns.Record;\nimport com.pulumi.alicloud.dns.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 a new Domain record\n var record = new Record(\"record\", RecordArgs.builder()\n .name(\"domainname\")\n .hostRecord(\"@\")\n .type(\"A\")\n .value(\"192.168.99.99\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Domain record\n record:\n type: alicloud:dns:Record\n properties:\n name: domainname\n hostRecord: '@'\n type: A\n value: 192.168.99.99\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dns/record:Record example \u003cid\u003e\n```\n\n", "properties": { "hostRecord": { "type": "string", @@ -145179,7 +147808,7 @@ } }, "alicloud:drds/instance:Instance": { - "description": "Distributed Relational Database Service (DRDS) is a lightweight (stateless), flexible, stable, and efficient middleware product independently developed by Alibaba Group to resolve scalability issues with single-host relational databases.\nWith its compatibility with MySQL protocols and syntaxes, DRDS enables database/table sharding, smooth scaling, configuration upgrade/downgrade,\ntransparent read/write splitting, and distributed transactions, providing O\u0026M capabilities for distributed databases throughout their entire lifecycle.\n\nFor information about DRDS and how to use it, see [What is DRDS](https://www.alibabacloud.com/help/product/29657.htm).\n\n\u003e **NOTE:** Available since v1.24.0.\n\n\u003e **NOTE:** At present, DRDS instance only can be supported in the regions: cn-shenzhen, cn-beijing, cn-hangzhou, cn-hongkong, cn-qingdao, ap-southeast-1.\n\n\u003e **NOTE:** Currently, this resource only support `Domestic Site Account`.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst instanceSeries = config.get(\"instanceSeries\") || \"drds.sn1.4c8g\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n}));\nconst defaultInstance = new alicloud.drds.Instance(\"default\", {\n description: \"drds instance\",\n instanceChargeType: \"PostPaid\",\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n instanceSeries: instanceSeries,\n specification: \"drds.sn1.4c8g.8C16G\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\ninstance_series = config.get(\"instanceSeries\")\nif instance_series is None:\n instance_series = \"drds.sn1.4c8g\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.drds.Instance(\"default\",\n description=\"drds instance\",\n instance_charge_type=\"PostPaid\",\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id,\n instance_series=instance_series,\n specification=\"drds.sn1.4c8g.8C16G\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var instanceSeries = config.Get(\"instanceSeries\") ?? \"drds.sn1.4c8g\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Drds.Instance(\"default\", new()\n {\n Description = \"drds instance\",\n InstanceChargeType = \"PostPaid\",\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n InstanceSeries = instanceSeries,\n Specification = \"drds.sn1.4c8g.8C16G\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceSeries := \"drds.sn1.4c8g\"\n\t\tif param := cfg.Get(\"instanceSeries\"); param != \"\" {\n\t\t\tinstanceSeries = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = drds.NewInstance(ctx, \"default\", \u0026drds.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"drds instance\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t\tInstanceSeries: pulumi.String(instanceSeries),\n\t\t\tSpecification: pulumi.String(\"drds.sn1.4c8g.8C16G\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.drds.Instance;\nimport com.pulumi.alicloud.drds.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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var instanceSeries = config.get(\"instanceSeries\").orElse(\"drds.sn1.4c8g\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(\"drds instance\")\n .instanceChargeType(\"PostPaid\")\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .instanceSeries(instanceSeries)\n .specification(\"drds.sn1.4c8g.8C16G\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n instanceSeries:\n type: string\n default: drds.sn1.4c8g\nresources:\n defaultInstance:\n type: alicloud:drds:Instance\n name: default\n properties:\n description: drds instance\n instanceChargeType: PostPaid\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\n instanceSeries: ${instanceSeries}\n specification: drds.sn1.4c8g.8C16G\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDistributed Relational Database Service (DRDS) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:drds/instance:Instance example drds-abc123456\n```\n\n", + "description": "Distributed Relational Database Service (DRDS) is a lightweight (stateless), flexible, stable, and efficient middleware product independently developed by Alibaba Group to resolve scalability issues with single-host relational databases.\nWith its compatibility with MySQL protocols and syntaxes, DRDS enables database/table sharding, smooth scaling, configuration upgrade/downgrade,\ntransparent read/write splitting, and distributed transactions, providing O\u0026M capabilities for distributed databases throughout their entire lifecycle.\n\nFor information about DRDS and how to use it, see [What is DRDS](https://www.alibabacloud.com/help/product/29657.htm).\n\n\u003e **NOTE:** Available since v1.24.0.\n\n\u003e **NOTE:** At present, DRDS instance only can be supported in the regions: cn-shenzhen, cn-beijing, cn-hangzhou, cn-hongkong, cn-qingdao, ap-southeast-1.\n\n\u003e **NOTE:** Currently, this resource only support `Domestic Site Account`.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst instanceSeries = config.get(\"instanceSeries\") || \"drds.sn1.4c8g\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n}));\nconst defaultInstance = new alicloud.drds.Instance(\"default\", {\n description: \"drds instance\",\n instanceChargeType: \"PostPaid\",\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n instanceSeries: instanceSeries,\n specification: \"drds.sn1.4c8g.8C16G\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\ninstance_series = config.get(\"instanceSeries\")\nif instance_series is None:\n instance_series = \"drds.sn1.4c8g\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0])\ndefault_instance = alicloud.drds.Instance(\"default\",\n description=\"drds instance\",\n instance_charge_type=\"PostPaid\",\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id,\n instance_series=instance_series,\n specification=\"drds.sn1.4c8g.8C16G\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var instanceSeries = config.Get(\"instanceSeries\") ?? \"drds.sn1.4c8g\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Drds.Instance(\"default\", new()\n {\n Description = \"drds instance\",\n InstanceChargeType = \"PostPaid\",\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n InstanceSeries = instanceSeries,\n Specification = \"drds.sn1.4c8g.8C16G\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tinstanceSeries := \"drds.sn1.4c8g\"\n\t\tif param := cfg.Get(\"instanceSeries\"); param != \"\" {\n\t\t\tinstanceSeries = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = drds.NewInstance(ctx, \"default\", \u0026drds.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"drds instance\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t\tInstanceSeries: pulumi.String(instanceSeries),\n\t\t\tSpecification: pulumi.String(\"drds.sn1.4c8g.8C16G\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.drds.Instance;\nimport com.pulumi.alicloud.drds.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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var instanceSeries = config.get(\"instanceSeries\").orElse(\"drds.sn1.4c8g\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(\"drds instance\")\n .instanceChargeType(\"PostPaid\")\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .instanceSeries(instanceSeries)\n .specification(\"drds.sn1.4c8g.8C16G\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n instanceSeries:\n type: string\n default: drds.sn1.4c8g\nresources:\n defaultInstance:\n type: alicloud:drds:Instance\n name: default\n properties:\n description: drds instance\n instanceChargeType: PostPaid\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\n instanceSeries: ${instanceSeries}\n specification: drds.sn1.4c8g.8C16G\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDistributed Relational Database Service (DRDS) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:drds/instance:Instance example drds-abc123456\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -145336,7 +147965,7 @@ } }, "alicloud:drds/polardbxInstance:PolardbxInstance": { - "description": "Provides a DRDS Polardb X Instance resource.\n\nFor information about DRDS Polardb X Instance and how to use it, see [What is Polardb X Instance](https://www.alibabacloud.com/help/en/polardb/polardb-for-xscale/api-createdbinstance-1).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {vpcName: name});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst defaultPolardbxInstance = new alicloud.drds.PolardbxInstance(\"default\", {\n topologyType: \"3azones\",\n vswitchId: exampleSwitch.id,\n primaryZone: \"ap-southeast-1a\",\n cnNodeCount: 2,\n dnClass: \"mysql.n4.medium.25\",\n cnClass: \"polarx.x4.medium.2e\",\n dnNodeCount: 2,\n secondaryZone: \"ap-southeast-1b\",\n tertiaryZone: \"ap-southeast-1c\",\n vpcId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\", vpc_name=name)\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ndefault_polardbx_instance = alicloud.drds.PolardbxInstance(\"default\",\n topology_type=\"3azones\",\n vswitch_id=example_switch.id,\n primary_zone=\"ap-southeast-1a\",\n cn_node_count=2,\n dn_class=\"mysql.n4.medium.25\",\n cn_class=\"polarx.x4.medium.2e\",\n dn_node_count=2,\n secondary_zone=\"ap-southeast-1b\",\n tertiary_zone=\"ap-southeast-1c\",\n vpc_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var defaultPolardbxInstance = new AliCloud.Drds.PolardbxInstance(\"default\", new()\n {\n TopologyType = \"3azones\",\n VswitchId = exampleSwitch.Id,\n PrimaryZone = \"ap-southeast-1a\",\n CnNodeCount = 2,\n DnClass = \"mysql.n4.medium.25\",\n CnClass = \"polarx.x4.medium.2e\",\n DnNodeCount = 2,\n SecondaryZone = \"ap-southeast-1b\",\n TertiaryZone = \"ap-southeast-1c\",\n VpcId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = drds.NewPolardbxInstance(ctx, \"default\", \u0026drds.PolardbxInstanceArgs{\n\t\t\tTopologyType: pulumi.String(\"3azones\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tPrimaryZone: pulumi.String(\"ap-southeast-1a\"),\n\t\t\tCnNodeCount: pulumi.Int(2),\n\t\t\tDnClass: pulumi.String(\"mysql.n4.medium.25\"),\n\t\t\tCnClass: pulumi.String(\"polarx.x4.medium.2e\"),\n\t\t\tDnNodeCount: pulumi.Int(2),\n\t\t\tSecondaryZone: pulumi.String(\"ap-southeast-1b\"),\n\t\t\tTertiaryZone: pulumi.String(\"ap-southeast-1c\"),\n\t\t\tVpcId: example.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.drds.PolardbxInstance;\nimport com.pulumi.alicloud.drds.PolardbxInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var defaultPolardbxInstance = new PolardbxInstance(\"defaultPolardbxInstance\", PolardbxInstanceArgs.builder()\n .topologyType(\"3azones\")\n .vswitchId(exampleSwitch.id())\n .primaryZone(\"ap-southeast-1a\")\n .cnNodeCount(2)\n .dnClass(\"mysql.n4.medium.25\")\n .cnClass(\"polarx.x4.medium.2e\")\n .dnNodeCount(2)\n .secondaryZone(\"ap-southeast-1b\")\n .tertiaryZone(\"ap-southeast-1c\")\n .vpcId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n defaultPolardbxInstance:\n type: alicloud:drds:PolardbxInstance\n name: default\n properties:\n topologyType: 3azones\n vswitchId: ${exampleSwitch.id}\n primaryZone: ap-southeast-1a\n cnNodeCount: '2'\n dnClass: mysql.n4.medium.25\n cnClass: polarx.x4.medium.2e\n dnNodeCount: '2'\n secondaryZone: ap-southeast-1b\n tertiaryZone: ap-southeast-1c\n vpcId: ${example.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDRDS Polardb X Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:drds/polardbxInstance:PolardbxInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a DRDS Polardb X Instance resource.\n\nFor information about DRDS Polardb X Instance and how to use it, see [What is Polardb X Instance](https://www.alibabacloud.com/help/en/polardb/polardb-for-xscale/api-createdbinstance-1).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {vpcName: name});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst defaultPolardbxInstance = new alicloud.drds.PolardbxInstance(\"default\", {\n topologyType: \"3azones\",\n vswitchId: exampleSwitch.id,\n primaryZone: \"ap-southeast-1a\",\n cnNodeCount: 2,\n dnClass: \"mysql.n4.medium.25\",\n cnClass: \"polarx.x4.medium.2e\",\n dnNodeCount: 2,\n secondaryZone: \"ap-southeast-1b\",\n tertiaryZone: \"ap-southeast-1c\",\n vpcId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\", vpc_name=name)\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ndefault_polardbx_instance = alicloud.drds.PolardbxInstance(\"default\",\n topology_type=\"3azones\",\n vswitch_id=example_switch.id,\n primary_zone=\"ap-southeast-1a\",\n cn_node_count=2,\n dn_class=\"mysql.n4.medium.25\",\n cn_class=\"polarx.x4.medium.2e\",\n dn_node_count=2,\n secondary_zone=\"ap-southeast-1b\",\n tertiary_zone=\"ap-southeast-1c\",\n vpc_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var defaultPolardbxInstance = new AliCloud.Drds.PolardbxInstance(\"default\", new()\n {\n TopologyType = \"3azones\",\n VswitchId = exampleSwitch.Id,\n PrimaryZone = \"ap-southeast-1a\",\n CnNodeCount = 2,\n DnClass = \"mysql.n4.medium.25\",\n CnClass = \"polarx.x4.medium.2e\",\n DnNodeCount = 2,\n SecondaryZone = \"ap-southeast-1b\",\n TertiaryZone = \"ap-southeast-1c\",\n VpcId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = drds.NewPolardbxInstance(ctx, \"default\", \u0026drds.PolardbxInstanceArgs{\n\t\t\tTopologyType: pulumi.String(\"3azones\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tPrimaryZone: pulumi.String(\"ap-southeast-1a\"),\n\t\t\tCnNodeCount: pulumi.Int(2),\n\t\t\tDnClass: pulumi.String(\"mysql.n4.medium.25\"),\n\t\t\tCnClass: pulumi.String(\"polarx.x4.medium.2e\"),\n\t\t\tDnNodeCount: pulumi.Int(2),\n\t\t\tSecondaryZone: pulumi.String(\"ap-southeast-1b\"),\n\t\t\tTertiaryZone: pulumi.String(\"ap-southeast-1c\"),\n\t\t\tVpcId: example.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.drds.PolardbxInstance;\nimport com.pulumi.alicloud.drds.PolardbxInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var defaultPolardbxInstance = new PolardbxInstance(\"defaultPolardbxInstance\", PolardbxInstanceArgs.builder()\n .topologyType(\"3azones\")\n .vswitchId(exampleSwitch.id())\n .primaryZone(\"ap-southeast-1a\")\n .cnNodeCount(2)\n .dnClass(\"mysql.n4.medium.25\")\n .cnClass(\"polarx.x4.medium.2e\")\n .dnNodeCount(2)\n .secondaryZone(\"ap-southeast-1b\")\n .tertiaryZone(\"ap-southeast-1c\")\n .vpcId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n defaultPolardbxInstance:\n type: alicloud:drds:PolardbxInstance\n name: default\n properties:\n topologyType: 3azones\n vswitchId: ${exampleSwitch.id}\n primaryZone: ap-southeast-1a\n cnNodeCount: '2'\n dnClass: mysql.n4.medium.25\n cnClass: polarx.x4.medium.2e\n dnNodeCount: '2'\n secondaryZone: ap-southeast-1b\n tertiaryZone: ap-southeast-1c\n vpcId: ${example.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDRDS Polardb X Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:drds/polardbxInstance:PolardbxInstance example \u003cid\u003e\n```\n\n", "properties": { "cnClass": { "type": "string", @@ -145536,7 +148165,7 @@ } }, "alicloud:dts/consumerChannel:ConsumerChannel": { - "description": "Provides a DTS Consumer Channel resource.\n\nFor information about DTS Consumer Channel and how to use it, see [What is Consumer Channel](https://www.alibabacloud.com/help/en/doc-detail/264593.htm).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleRdsAccount = new alicloud.rds.RdsAccount(\"example\", {\n dbInstanceId: exampleInstance.id,\n accountName: \"example_name\",\n accountPassword: \"example_1234\",\n});\nconst exampleDatabase = new alicloud.rds.Database(\"example\", {\n instanceId: exampleInstance.id,\n name: name,\n});\nconst exampleAccountPrivilege = new alicloud.rds.AccountPrivilege(\"example\", {\n instanceId: exampleInstance.id,\n accountName: exampleRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase.name],\n});\nconst exampleSubscriptionJob = new alicloud.dts.SubscriptionJob(\"example\", {\n dtsJobName: name,\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleInstance.id,\n sourceEndpointDatabaseName: exampleDatabase.name,\n sourceEndpointUserName: exampleRdsAccount.accountName,\n sourceEndpointPassword: exampleRdsAccount.accountPassword,\n dbList: pulumi.interpolate`{\"${exampleDatabase.name}\":{\"name\":\"${exampleDatabase.name}\",\"all\":true}}`,\n subscriptionInstanceNetworkType: \"vpc\",\n subscriptionInstanceVpcId: exampleNetwork.id,\n subscriptionInstanceVswitchId: exampleSwitch.id,\n status: \"Normal\",\n});\nconst exampleConsumerChannel = new alicloud.dts.ConsumerChannel(\"example\", {\n dtsInstanceId: exampleSubscriptionJob.dtsInstanceId,\n consumerGroupName: name,\n consumerGroupUserName: \"example\",\n consumerGroupPassword: \"example1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id])\nexample_rds_account = alicloud.rds.RdsAccount(\"example\",\n db_instance_id=example_instance.id,\n account_name=\"example_name\",\n account_password=\"example_1234\")\nexample_database = alicloud.rds.Database(\"example\",\n instance_id=example_instance.id,\n name=name)\nexample_account_privilege = alicloud.rds.AccountPrivilege(\"example\",\n instance_id=example_instance.id,\n account_name=example_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database.name])\nexample_subscription_job = alicloud.dts.SubscriptionJob(\"example\",\n dts_job_name=name,\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_instance.id,\n source_endpoint_database_name=example_database.name,\n source_endpoint_user_name=example_rds_account.account_name,\n source_endpoint_password=example_rds_account.account_password,\n db_list=pulumi.Output.all(\n exampleDatabaseName=example_database.name,\n exampleDatabaseName1=example_database.name\n).apply(lambda resolved_outputs: f\"{{\\\"{resolved_outputs['exampleDatabaseName']}\\\":{{\\\"name\\\":\\\"{resolved_outputs['exampleDatabaseName1']}\\\",\\\"all\\\":true}}}}\")\n,\n subscription_instance_network_type=\"vpc\",\n subscription_instance_vpc_id=example_network.id,\n subscription_instance_vswitch_id=example_switch.id,\n status=\"Normal\")\nexample_consumer_channel = alicloud.dts.ConsumerChannel(\"example\",\n dts_instance_id=example_subscription_job.dts_instance_id,\n consumer_group_name=name,\n consumer_group_user_name=\"example\",\n consumer_group_password=\"example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleRdsAccount = new AliCloud.Rds.RdsAccount(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n AccountName = \"example_name\",\n AccountPassword = \"example_1234\",\n });\n\n var exampleDatabase = new AliCloud.Rds.Database(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n Name = name,\n });\n\n var exampleAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n AccountName = exampleRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase.Name,\n },\n });\n\n var exampleSubscriptionJob = new AliCloud.Dts.SubscriptionJob(\"example\", new()\n {\n DtsJobName = name,\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleInstance.Id,\n SourceEndpointDatabaseName = exampleDatabase.Name,\n SourceEndpointUserName = exampleRdsAccount.AccountName,\n SourceEndpointPassword = exampleRdsAccount.AccountPassword,\n DbList = Output.Tuple(exampleDatabase.Name, exampleDatabase.Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return $\"{{\\\"{exampleDatabaseName}\\\":{{\\\"name\\\":\\\"{exampleDatabaseName1}\\\",\\\"all\\\":true}}}}\";\n }),\n SubscriptionInstanceNetworkType = \"vpc\",\n SubscriptionInstanceVpcId = exampleNetwork.Id,\n SubscriptionInstanceVswitchId = exampleSwitch.Id,\n Status = \"Normal\",\n });\n\n var exampleConsumerChannel = new AliCloud.Dts.ConsumerChannel(\"example\", new()\n {\n DtsInstanceId = exampleSubscriptionJob.DtsInstanceId,\n ConsumerGroupName = name,\n ConsumerGroupUserName = \"example\",\n ConsumerGroupPassword = \"example1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsAccount, err := rds.NewRdsAccount(ctx, \"example\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"example_name\"),\n\t\t\tAccountPassword: pulumi.String(\"example_1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := rds.NewDatabase(ctx, \"example\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"example\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: exampleRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\texampleDatabase.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscriptionJob, err := dts.NewSubscriptionJob(ctx, \"example\", \u0026dts.SubscriptionJobArgs{\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleInstance.ID(),\n\t\t\tSourceEndpointDatabaseName: exampleDatabase.Name,\n\t\t\tSourceEndpointUserName: exampleRdsAccount.AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount.AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase.Name, exampleDatabase.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"{\\\"%v\\\":{\\\"name\\\":\\\"%v\\\",\\\"all\\\":true}}\", exampleDatabaseName, exampleDatabaseName1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSubscriptionInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSubscriptionInstanceVpcId: exampleNetwork.ID(),\n\t\t\tSubscriptionInstanceVswitchId: exampleSwitch.ID(),\n\t\t\tStatus: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewConsumerChannel(ctx, \"example\", \u0026dts.ConsumerChannelArgs{\n\t\t\tDtsInstanceId: exampleSubscriptionJob.DtsInstanceId,\n\t\t\tConsumerGroupName: pulumi.String(name),\n\t\t\tConsumerGroupUserName: pulumi.String(\"example\"),\n\t\t\tConsumerGroupPassword: pulumi.String(\"example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SubscriptionJob;\nimport com.pulumi.alicloud.dts.SubscriptionJobArgs;\nimport com.pulumi.alicloud.dts.ConsumerChannel;\nimport com.pulumi.alicloud.dts.ConsumerChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleRdsAccount = new RdsAccount(\"exampleRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .accountName(\"example_name\")\n .accountPassword(\"example_1234\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .instanceId(exampleInstance.id())\n .name(name)\n .build());\n\n var exampleAccountPrivilege = new AccountPrivilege(\"exampleAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance.id())\n .accountName(exampleRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase.name())\n .build());\n\n var exampleSubscriptionJob = new SubscriptionJob(\"exampleSubscriptionJob\", SubscriptionJobArgs.builder()\n .dtsJobName(name)\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleInstance.id())\n .sourceEndpointDatabaseName(exampleDatabase.name())\n .sourceEndpointUserName(exampleRdsAccount.accountName())\n .sourceEndpointPassword(exampleRdsAccount.accountPassword())\n .dbList(Output.tuple(exampleDatabase.name(), exampleDatabase.name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return String.format(\"{{\\\"%s\\\":{{\\\"name\\\":\\\"%s\\\",\\\"all\\\":true}}}}\", exampleDatabaseName,exampleDatabaseName1);\n }))\n .subscriptionInstanceNetworkType(\"vpc\")\n .subscriptionInstanceVpcId(exampleNetwork.id())\n .subscriptionInstanceVswitchId(exampleSwitch.id())\n .status(\"Normal\")\n .build());\n\n var exampleConsumerChannel = new ConsumerChannel(\"exampleConsumerChannel\", ConsumerChannelArgs.builder()\n .dtsInstanceId(exampleSubscriptionJob.dtsInstanceId())\n .consumerGroupName(name)\n .consumerGroupUserName(\"example\")\n .consumerGroupPassword(\"example1234\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${exampleGetZones.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleRdsAccount:\n type: alicloud:rds:RdsAccount\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n accountName: example_name\n accountPassword: example_1234\n exampleDatabase:\n type: alicloud:rds:Database\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n name: ${name}\n exampleAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n accountName: ${exampleRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${exampleDatabase.name}\n exampleSubscriptionJob:\n type: alicloud:dts:SubscriptionJob\n name: example\n properties:\n dtsJobName: ${name}\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${example.regions[0].id}\n sourceEndpointInstanceType: RDS\n sourceEndpointInstanceId: ${exampleInstance.id}\n sourceEndpointDatabaseName: ${exampleDatabase.name}\n sourceEndpointUserName: ${exampleRdsAccount.accountName}\n sourceEndpointPassword: ${exampleRdsAccount.accountPassword}\n dbList: '{\"${exampleDatabase.name}\":{\"name\":\"${exampleDatabase.name}\",\"all\":true}}'\n subscriptionInstanceNetworkType: vpc\n subscriptionInstanceVpcId: ${exampleNetwork.id}\n subscriptionInstanceVswitchId: ${exampleSwitch.id}\n status: Normal\n exampleConsumerChannel:\n type: alicloud:dts:ConsumerChannel\n name: example\n properties:\n dtsInstanceId: ${exampleSubscriptionJob.dtsInstanceId}\n consumerGroupName: ${name}\n consumerGroupUserName: example\n consumerGroupPassword: example1234\nvariables:\n example:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n exampleGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${exampleGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDTS Consumer Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/consumerChannel:ConsumerChannel example \u003cdts_instance_id\u003e:\u003cconsumer_group_id\u003e\n```\n\n", + "description": "Provides a DTS Consumer Channel resource.\n\nFor information about DTS Consumer Channel and how to use it, see [What is Consumer Channel](https://www.alibabacloud.com/help/en/doc-detail/264593.htm).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleRdsAccount = new alicloud.rds.RdsAccount(\"example\", {\n dbInstanceId: exampleInstance.id,\n accountName: \"example_name\",\n accountPassword: \"example_1234\",\n});\nconst exampleDatabase = new alicloud.rds.Database(\"example\", {\n instanceId: exampleInstance.id,\n name: name,\n});\nconst exampleAccountPrivilege = new alicloud.rds.AccountPrivilege(\"example\", {\n instanceId: exampleInstance.id,\n accountName: exampleRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase.name],\n});\nconst exampleSubscriptionJob = new alicloud.dts.SubscriptionJob(\"example\", {\n dtsJobName: name,\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleInstance.id,\n sourceEndpointDatabaseName: exampleDatabase.name,\n sourceEndpointUserName: exampleRdsAccount.accountName,\n sourceEndpointPassword: exampleRdsAccount.accountPassword,\n dbList: pulumi.interpolate`{\"${exampleDatabase.name}\":{\"name\":\"${exampleDatabase.name}\",\"all\":true}}`,\n subscriptionInstanceNetworkType: \"vpc\",\n subscriptionInstanceVpcId: exampleNetwork.id,\n subscriptionInstanceVswitchId: exampleSwitch.id,\n status: \"Normal\",\n});\nconst exampleConsumerChannel = new alicloud.dts.ConsumerChannel(\"example\", {\n dtsInstanceId: exampleSubscriptionJob.dtsInstanceId,\n consumerGroupName: name,\n consumerGroupUserName: \"example\",\n consumerGroupPassword: \"example1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id])\nexample_rds_account = alicloud.rds.RdsAccount(\"example\",\n db_instance_id=example_instance.id,\n account_name=\"example_name\",\n account_password=\"example_1234\")\nexample_database = alicloud.rds.Database(\"example\",\n instance_id=example_instance.id,\n name=name)\nexample_account_privilege = alicloud.rds.AccountPrivilege(\"example\",\n instance_id=example_instance.id,\n account_name=example_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database.name])\nexample_subscription_job = alicloud.dts.SubscriptionJob(\"example\",\n dts_job_name=name,\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_instance.id,\n source_endpoint_database_name=example_database.name,\n source_endpoint_user_name=example_rds_account.account_name,\n source_endpoint_password=example_rds_account.account_password,\n db_list=pulumi.Output.all(\n exampleDatabaseName=example_database.name,\n exampleDatabaseName1=example_database.name\n).apply(lambda resolved_outputs: f\"{{\\\"{resolved_outputs['exampleDatabaseName']}\\\":{{\\\"name\\\":\\\"{resolved_outputs['exampleDatabaseName1']}\\\",\\\"all\\\":true}}}}\")\n,\n subscription_instance_network_type=\"vpc\",\n subscription_instance_vpc_id=example_network.id,\n subscription_instance_vswitch_id=example_switch.id,\n status=\"Normal\")\nexample_consumer_channel = alicloud.dts.ConsumerChannel(\"example\",\n dts_instance_id=example_subscription_job.dts_instance_id,\n consumer_group_name=name,\n consumer_group_user_name=\"example\",\n consumer_group_password=\"example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleRdsAccount = new AliCloud.Rds.RdsAccount(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n AccountName = \"example_name\",\n AccountPassword = \"example_1234\",\n });\n\n var exampleDatabase = new AliCloud.Rds.Database(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n Name = name,\n });\n\n var exampleAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n AccountName = exampleRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase.Name,\n },\n });\n\n var exampleSubscriptionJob = new AliCloud.Dts.SubscriptionJob(\"example\", new()\n {\n DtsJobName = name,\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleInstance.Id,\n SourceEndpointDatabaseName = exampleDatabase.Name,\n SourceEndpointUserName = exampleRdsAccount.AccountName,\n SourceEndpointPassword = exampleRdsAccount.AccountPassword,\n DbList = Output.Tuple(exampleDatabase.Name, exampleDatabase.Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return $\"{{\\\"{exampleDatabaseName}\\\":{{\\\"name\\\":\\\"{exampleDatabaseName1}\\\",\\\"all\\\":true}}}}\";\n }),\n SubscriptionInstanceNetworkType = \"vpc\",\n SubscriptionInstanceVpcId = exampleNetwork.Id,\n SubscriptionInstanceVswitchId = exampleSwitch.Id,\n Status = \"Normal\",\n });\n\n var exampleConsumerChannel = new AliCloud.Dts.ConsumerChannel(\"example\", new()\n {\n DtsInstanceId = exampleSubscriptionJob.DtsInstanceId,\n ConsumerGroupName = name,\n ConsumerGroupUserName = \"example\",\n ConsumerGroupPassword = \"example1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsAccount, err := rds.NewRdsAccount(ctx, \"example\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"example_name\"),\n\t\t\tAccountPassword: pulumi.String(\"example_1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := rds.NewDatabase(ctx, \"example\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"example\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: exampleRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\texampleDatabase.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubscriptionJob, err := dts.NewSubscriptionJob(ctx, \"example\", \u0026dts.SubscriptionJobArgs{\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleInstance.ID(),\n\t\t\tSourceEndpointDatabaseName: exampleDatabase.Name,\n\t\t\tSourceEndpointUserName: exampleRdsAccount.AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount.AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase.Name, exampleDatabase.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"{\\\"%v\\\":{\\\"name\\\":\\\"%v\\\",\\\"all\\\":true}}\", exampleDatabaseName, exampleDatabaseName1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSubscriptionInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSubscriptionInstanceVpcId: exampleNetwork.ID(),\n\t\t\tSubscriptionInstanceVswitchId: exampleSwitch.ID(),\n\t\t\tStatus: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewConsumerChannel(ctx, \"example\", \u0026dts.ConsumerChannelArgs{\n\t\t\tDtsInstanceId: exampleSubscriptionJob.DtsInstanceId,\n\t\t\tConsumerGroupName: pulumi.String(name),\n\t\t\tConsumerGroupUserName: pulumi.String(\"example\"),\n\t\t\tConsumerGroupPassword: pulumi.String(\"example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SubscriptionJob;\nimport com.pulumi.alicloud.dts.SubscriptionJobArgs;\nimport com.pulumi.alicloud.dts.ConsumerChannel;\nimport com.pulumi.alicloud.dts.ConsumerChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleRdsAccount = new RdsAccount(\"exampleRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .accountName(\"example_name\")\n .accountPassword(\"example_1234\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .instanceId(exampleInstance.id())\n .name(name)\n .build());\n\n var exampleAccountPrivilege = new AccountPrivilege(\"exampleAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance.id())\n .accountName(exampleRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase.name())\n .build());\n\n var exampleSubscriptionJob = new SubscriptionJob(\"exampleSubscriptionJob\", SubscriptionJobArgs.builder()\n .dtsJobName(name)\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleInstance.id())\n .sourceEndpointDatabaseName(exampleDatabase.name())\n .sourceEndpointUserName(exampleRdsAccount.accountName())\n .sourceEndpointPassword(exampleRdsAccount.accountPassword())\n .dbList(Output.tuple(exampleDatabase.name(), exampleDatabase.name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return String.format(\"{{\\\"%s\\\":{{\\\"name\\\":\\\"%s\\\",\\\"all\\\":true}}}}\", exampleDatabaseName,exampleDatabaseName1);\n }))\n .subscriptionInstanceNetworkType(\"vpc\")\n .subscriptionInstanceVpcId(exampleNetwork.id())\n .subscriptionInstanceVswitchId(exampleSwitch.id())\n .status(\"Normal\")\n .build());\n\n var exampleConsumerChannel = new ConsumerChannel(\"exampleConsumerChannel\", ConsumerChannelArgs.builder()\n .dtsInstanceId(exampleSubscriptionJob.dtsInstanceId())\n .consumerGroupName(name)\n .consumerGroupUserName(\"example\")\n .consumerGroupPassword(\"example1234\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${exampleGetZones.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleRdsAccount:\n type: alicloud:rds:RdsAccount\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n accountName: example_name\n accountPassword: example_1234\n exampleDatabase:\n type: alicloud:rds:Database\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n name: ${name}\n exampleAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n accountName: ${exampleRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${exampleDatabase.name}\n exampleSubscriptionJob:\n type: alicloud:dts:SubscriptionJob\n name: example\n properties:\n dtsJobName: ${name}\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${example.regions[0].id}\n sourceEndpointInstanceType: RDS\n sourceEndpointInstanceId: ${exampleInstance.id}\n sourceEndpointDatabaseName: ${exampleDatabase.name}\n sourceEndpointUserName: ${exampleRdsAccount.accountName}\n sourceEndpointPassword: ${exampleRdsAccount.accountPassword}\n dbList: '{\"${exampleDatabase.name}\":{\"name\":\"${exampleDatabase.name}\",\"all\":true}}'\n subscriptionInstanceNetworkType: vpc\n subscriptionInstanceVpcId: ${exampleNetwork.id}\n subscriptionInstanceVswitchId: ${exampleSwitch.id}\n status: Normal\n exampleConsumerChannel:\n type: alicloud:dts:ConsumerChannel\n name: example\n properties:\n dtsInstanceId: ${exampleSubscriptionJob.dtsInstanceId}\n consumerGroupName: ${name}\n consumerGroupUserName: example\n consumerGroupPassword: example1234\nvariables:\n example:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n exampleGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${exampleGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDTS Consumer Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/consumerChannel:ConsumerChannel example \u003cdts_instance_id\u003e:\u003cconsumer_group_id\u003e\n```\n\n", "properties": { "consumerGroupId": { "type": "string", @@ -145622,7 +148251,7 @@ } }, "alicloud:dts/instance:Instance": { - "description": "Provides a Dts Instance resource.\n\nFor information about Dts Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/data-transmission-service/latest/createdtsinstance).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInstance = new alicloud.dts.Instance(\"default\", {\n type: \"sync\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n paymentType: \"Subscription\",\n instanceClass: \"large\",\n sourceEndpointEngineName: \"MySQL\",\n sourceRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_instance = alicloud.dts.Instance(\"default\",\n type=\"sync\",\n resource_group_id=default.ids[0],\n payment_type=\"Subscription\",\n instance_class=\"large\",\n source_endpoint_engine_name=\"MySQL\",\n source_region=default_get_regions.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_region=default_get_regions.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInstance = new AliCloud.Dts.Instance(\"default\", new()\n {\n Type = \"sync\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n PaymentType = \"Subscription\",\n InstanceClass = \"large\",\n SourceEndpointEngineName = \"MySQL\",\n SourceRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewInstance(ctx, \"default\", \u0026dts.InstanceArgs{\n\t\t\tType: pulumi.String(\"sync\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceClass: pulumi.String(\"large\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.Instance;\nimport com.pulumi.alicloud.dts.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 default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .type(\"sync\")\n .resourceGroupId(default_.ids()[0])\n .paymentType(\"Subscription\")\n .instanceClass(\"large\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceRegion(defaultGetRegions.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationRegion(defaultGetRegions.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInstance:\n type: alicloud:dts:Instance\n name: default\n properties:\n type: sync\n resourceGroupId: ${default.ids[0]}\n paymentType: Subscription\n instanceClass: large\n sourceEndpointEngineName: MySQL\n sourceRegion: ${defaultGetRegions.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationRegion: ${defaultGetRegions.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDts Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Dts Instance resource.\n\nFor information about Dts Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/data-transmission-service/latest/createdtsinstance).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInstance = new alicloud.dts.Instance(\"default\", {\n type: \"sync\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n paymentType: \"Subscription\",\n instanceClass: \"large\",\n sourceEndpointEngineName: \"MySQL\",\n sourceRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_instance = alicloud.dts.Instance(\"default\",\n type=\"sync\",\n resource_group_id=default.ids[0],\n payment_type=\"Subscription\",\n instance_class=\"large\",\n source_endpoint_engine_name=\"MySQL\",\n source_region=default_get_regions.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_region=default_get_regions.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInstance = new AliCloud.Dts.Instance(\"default\", new()\n {\n Type = \"sync\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n PaymentType = \"Subscription\",\n InstanceClass = \"large\",\n SourceEndpointEngineName = \"MySQL\",\n SourceRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewInstance(ctx, \"default\", \u0026dts.InstanceArgs{\n\t\t\tType: pulumi.String(\"sync\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceClass: pulumi.String(\"large\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.Instance;\nimport com.pulumi.alicloud.dts.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 default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .type(\"sync\")\n .resourceGroupId(default_.ids()[0])\n .paymentType(\"Subscription\")\n .instanceClass(\"large\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceRegion(defaultGetRegions.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationRegion(defaultGetRegions.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInstance:\n type: alicloud:dts:Instance\n name: default\n properties:\n type: sync\n resourceGroupId: ${default.ids[0]}\n paymentType: Subscription\n instanceClass: large\n sourceEndpointEngineName: MySQL\n sourceRegion: ${defaultGetRegions.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationRegion: ${defaultGetRegions.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDts Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -145940,7 +148569,7 @@ } }, "alicloud:dts/jobMonitorRule:JobMonitorRule": { - "description": "Provides a DTS Job Monitor Rule resource.\n\nFor information about DTS Job Monitor Rule and how to use it, see [What is Job Monitor Rule](https://www.alibabacloud.com/help/en/dts/developer-reference/api-createjobmonitorrule).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].name,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleMigrationInstance = new alicloud.dts.MigrationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleMigrationJob = new alicloud.dts.MigrationJob(\"example\", {\n dtsInstanceId: exampleMigrationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n status: \"Migrating\",\n});\nconst exampleJobMonitorRule = new alicloud.dts.JobMonitorRule(\"example\", {\n dtsJobId: exampleMigrationJob.id,\n type: \"delay\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_migration_instance = alicloud.dts.MigrationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_migration_job = alicloud.dts.MigrationJob(\"example\",\n dts_instance_id=example_migration_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True,\n status=\"Migrating\")\nexample_job_monitor_rule = alicloud.dts.JobMonitorRule(\"example\",\n dts_job_id=example_migration_job.id,\n type=\"delay\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].Name,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleMigrationInstance = new AliCloud.Dts.MigrationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleMigrationJob = new AliCloud.Dts.MigrationJob(\"example\", new()\n {\n DtsInstanceId = exampleMigrationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n Status = \"Migrating\",\n });\n\n var exampleJobMonitorRule = new AliCloud.Dts.JobMonitorRule(\"example\", new()\n {\n DtsJobId = exampleMigrationJob.Id,\n Type = \"delay\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].Name,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleMigrationInstance, err := dts.NewMigrationInstance(ctx, \"example\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMigrationJob, err := dts.NewMigrationJob(ctx, \"example\", \u0026dts.MigrationJobArgs{\n\t\t\tDtsInstanceId: exampleMigrationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"Migrating\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewJobMonitorRule(ctx, \"example\", \u0026dts.JobMonitorRuleArgs{\n\t\t\tDtsJobId: exampleMigrationJob.ID(),\n\t\t\tType: pulumi.String(\"delay\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport com.pulumi.alicloud.dts.MigrationJob;\nimport com.pulumi.alicloud.dts.MigrationJobArgs;\nimport com.pulumi.alicloud.dts.JobMonitorRule;\nimport com.pulumi.alicloud.dts.JobMonitorRuleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].name())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleMigrationInstance = new MigrationInstance(\"exampleMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleMigrationJob = new MigrationJob(\"exampleMigrationJob\", MigrationJobArgs.builder()\n .dtsInstanceId(exampleMigrationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .status(\"Migrating\")\n .build());\n\n var exampleJobMonitorRule = new JobMonitorRule(\"exampleJobMonitorRule\", JobMonitorRuleArgs.builder()\n .dtsJobId(exampleMigrationJob.id())\n .type(\"delay\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDTS Job Monitor Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/jobMonitorRule:JobMonitorRule example \u003cdts_job_id\u003e\n```\n\n", + "description": "Provides a DTS Job Monitor Rule resource.\n\nFor information about DTS Job Monitor Rule and how to use it, see [What is Job Monitor Rule](https://www.alibabacloud.com/help/en/dts/developer-reference/api-createjobmonitorrule).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].name,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleMigrationInstance = new alicloud.dts.MigrationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleMigrationJob = new alicloud.dts.MigrationJob(\"example\", {\n dtsInstanceId: exampleMigrationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n status: \"Migrating\",\n});\nconst exampleJobMonitorRule = new alicloud.dts.JobMonitorRule(\"example\", {\n dtsJobId: exampleMigrationJob.id,\n type: \"delay\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_migration_instance = alicloud.dts.MigrationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_migration_job = alicloud.dts.MigrationJob(\"example\",\n dts_instance_id=example_migration_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True,\n status=\"Migrating\")\nexample_job_monitor_rule = alicloud.dts.JobMonitorRule(\"example\",\n dts_job_id=example_migration_job.id,\n type=\"delay\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].Name,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleMigrationInstance = new AliCloud.Dts.MigrationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleMigrationJob = new AliCloud.Dts.MigrationJob(\"example\", new()\n {\n DtsInstanceId = exampleMigrationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n Status = \"Migrating\",\n });\n\n var exampleJobMonitorRule = new AliCloud.Dts.JobMonitorRule(\"example\", new()\n {\n DtsJobId = exampleMigrationJob.Id,\n Type = \"delay\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].Name,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleMigrationInstance, err := dts.NewMigrationInstance(ctx, \"example\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMigrationJob, err := dts.NewMigrationJob(ctx, \"example\", \u0026dts.MigrationJobArgs{\n\t\t\tDtsInstanceId: exampleMigrationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"Migrating\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewJobMonitorRule(ctx, \"example\", \u0026dts.JobMonitorRuleArgs{\n\t\t\tDtsJobId: exampleMigrationJob.ID(),\n\t\t\tType: pulumi.String(\"delay\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport com.pulumi.alicloud.dts.MigrationJob;\nimport com.pulumi.alicloud.dts.MigrationJobArgs;\nimport com.pulumi.alicloud.dts.JobMonitorRule;\nimport com.pulumi.alicloud.dts.JobMonitorRuleArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].name())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleMigrationInstance = new MigrationInstance(\"exampleMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleMigrationJob = new MigrationJob(\"exampleMigrationJob\", MigrationJobArgs.builder()\n .dtsInstanceId(exampleMigrationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .status(\"Migrating\")\n .build());\n\n var exampleJobMonitorRule = new JobMonitorRule(\"exampleJobMonitorRule\", JobMonitorRuleArgs.builder()\n .dtsJobId(exampleMigrationJob.id())\n .type(\"delay\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDTS Job Monitor Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/jobMonitorRule:JobMonitorRule example \u003cdts_job_id\u003e\n```\n\n", "properties": { "delayRuleTime": { "type": "string", @@ -146027,7 +148656,7 @@ } }, "alicloud:dts/migrationInstance:MigrationInstance": { - "description": "Provides a DTS Migration Instance resource.\n\nFor information about DTS Migration Instance and how to use it, see [What is Synchronization Instance](https://www.alibabacloud.com/help/en/doc-detail/208270.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultMigrationInstance = new alicloud.dts.MigrationInstance(\"default\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\ndefault_migration_instance = alicloud.dts.MigrationInstance(\"default\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=default.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=default.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultMigrationInstance = new AliCloud.Dts.MigrationInstance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewMigrationInstance(ctx, \"default\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultMigrationInstance = new MigrationInstance(\"defaultMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(default_.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(default_.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultMigrationInstance:\n type: alicloud:dts:MigrationInstance\n name: default\n properties:\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${default.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationEndpointRegion: ${default.regions[0].id}\n instanceClass: small\n syncArchitecture: oneway\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDTS Migration Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/migrationInstance:MigrationInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a DTS Migration Instance resource.\n\nFor information about DTS Migration Instance and how to use it, see [What is Synchronization Instance](https://www.alibabacloud.com/help/en/doc-detail/208270.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultMigrationInstance = new alicloud.dts.MigrationInstance(\"default\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\ndefault_migration_instance = alicloud.dts.MigrationInstance(\"default\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=default.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=default.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultMigrationInstance = new AliCloud.Dts.MigrationInstance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewMigrationInstance(ctx, \"default\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultMigrationInstance = new MigrationInstance(\"defaultMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(default_.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(default_.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultMigrationInstance:\n type: alicloud:dts:MigrationInstance\n name: default\n properties:\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${default.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationEndpointRegion: ${default.regions[0].id}\n instanceClass: small\n syncArchitecture: oneway\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDTS Migration Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/migrationInstance:MigrationInstance example \u003cid\u003e\n```\n\n", "properties": { "computeUnit": { "type": "integer", @@ -146214,7 +148843,7 @@ } }, "alicloud:dts/migrationJob:MigrationJob": { - "description": "Provides a DTS Migration Job resource.\n\nFor information about DTS Migration Job and how to use it, see [What is Migration Job](https://www.alibabacloud.com/help/en/doc-detail/208399.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].name,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleMigrationInstance = new alicloud.dts.MigrationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleMigrationJob = new alicloud.dts.MigrationJob(\"example\", {\n dtsInstanceId: exampleMigrationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_migration_instance = alicloud.dts.MigrationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_migration_job = alicloud.dts.MigrationJob(\"example\",\n dts_instance_id=example_migration_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].Name,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleMigrationInstance = new AliCloud.Dts.MigrationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleMigrationJob = new AliCloud.Dts.MigrationJob(\"example\", new()\n {\n DtsInstanceId = exampleMigrationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].Name,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleMigrationInstance, err := dts.NewMigrationInstance(ctx, \"example\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewMigrationJob(ctx, \"example\", \u0026dts.MigrationJobArgs{\n\t\t\tDtsInstanceId: exampleMigrationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport com.pulumi.alicloud.dts.MigrationJob;\nimport com.pulumi.alicloud.dts.MigrationJobArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].name())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleMigrationInstance = new MigrationInstance(\"exampleMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleMigrationJob = new MigrationJob(\"exampleMigrationJob\", MigrationJobArgs.builder()\n .dtsInstanceId(exampleMigrationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notice\n\n1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended;\n2. After the pay-as-you-go type job suspended, your job configuration fee will still be charged;\n3. If the task suspended for more than 6 hours, the task will not start successfully.\n4. Suspending the task will only stop writing to the target library, but will still continue to obtain the incremental log of the source, so that the task can be quickly resumed after the suspension is canceled. Therefore, some resources of the source library, such as bandwidth resources, will continue to be occupied during the period.\n5. Charges will continue during the task suspension period. If you need to stop charging, please release the instance\n6. When a DTS instance suspended for more than 7 days, the instance cannot be resumed, and the status will change from suspended to failed.\n\n## Import\n\nDTS Migration Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/migrationJob:MigrationJob example \u003cid\u003e\n```\n\n", + "description": "Provides a DTS Migration Job resource.\n\nFor information about DTS Migration Job and how to use it, see [What is Migration Job](https://www.alibabacloud.com/help/en/doc-detail/208399.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: `${name}_%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].name,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleMigrationInstance = new alicloud.dts.MigrationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleMigrationJob = new alicloud.dts.MigrationJob(\"example\", {\n dtsInstanceId: exampleMigrationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=f\"{name}_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_migration_instance = alicloud.dts.MigrationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_migration_job = alicloud.dts.MigrationJob(\"example\",\n dts_instance_id=example_migration_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = $\"{name}_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].Name,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleMigrationInstance = new AliCloud.Dts.MigrationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleMigrationJob = new AliCloud.Dts.MigrationJob(\"example\", new()\n {\n DtsInstanceId = exampleMigrationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"_%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].Name,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleMigrationInstance, err := dts.NewMigrationInstance(ctx, \"example\", \u0026dts.MigrationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewMigrationJob(ctx, \"example\", \u0026dts.MigrationJobArgs{\n\t\t\tDtsInstanceId: exampleMigrationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.MigrationInstance;\nimport com.pulumi.alicloud.dts.MigrationInstanceArgs;\nimport com.pulumi.alicloud.dts.MigrationJob;\nimport com.pulumi.alicloud.dts.MigrationJobArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s_%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].name())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleMigrationInstance = new MigrationInstance(\"exampleMigrationInstance\", MigrationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleMigrationJob = new MigrationJob(\"exampleMigrationJob\", MigrationJobArgs.builder()\n .dtsInstanceId(exampleMigrationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Notice\n\n1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended;\n2. After the pay-as-you-go type job suspended, your job configuration fee will still be charged;\n3. If the task suspended for more than 6 hours, the task will not start successfully.\n4. Suspending the task will only stop writing to the target library, but will still continue to obtain the incremental log of the source, so that the task can be quickly resumed after the suspension is canceled. Therefore, some resources of the source library, such as bandwidth resources, will continue to be occupied during the period.\n5. Charges will continue during the task suspension period. If you need to stop charging, please release the instance\n6. When a DTS instance suspended for more than 7 days, the instance cannot be resumed, and the status will change from suspended to failed.\n\n## Import\n\nDTS Migration Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/migrationJob:MigrationJob example \u003cid\u003e\n```\n\n", "properties": { "checkpoint": { "type": "string", @@ -146679,7 +149308,7 @@ } }, "alicloud:dts/subscriptionJob:SubscriptionJob": { - "description": "Provides a DTS Subscription Job resource.\n\nFor information about DTS Subscription Job and how to use it, see [What is Subscription Job](https://www.alibabacloud.com/help/en/data-transmission-service/latest/configuresubscription).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleRdsAccount = new alicloud.rds.RdsAccount(\"example\", {\n dbInstanceId: exampleInstance.id,\n accountName: \"test_mysql\",\n accountPassword: \"N1cetest\",\n});\nconst exampleDatabase = new alicloud.rds.Database(\"example\", {\n instanceId: exampleInstance.id,\n name: name,\n});\nconst exampleAccountPrivilege = new alicloud.rds.AccountPrivilege(\"example\", {\n instanceId: exampleInstance.id,\n accountName: exampleRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase.name],\n});\nconst exampleSubscriptionJob = new alicloud.dts.SubscriptionJob(\"example\", {\n dtsJobName: name,\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleInstance.id,\n sourceEndpointDatabaseName: exampleDatabase.name,\n sourceEndpointUserName: exampleRdsAccount.accountName,\n sourceEndpointPassword: exampleRdsAccount.accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase.name, exampleDatabase.name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n subscriptionInstanceNetworkType: \"vpc\",\n subscriptionInstanceVpcId: exampleNetwork.id,\n subscriptionInstanceVswitchId: exampleSwitch.id,\n status: \"Normal\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id])\nexample_rds_account = alicloud.rds.RdsAccount(\"example\",\n db_instance_id=example_instance.id,\n account_name=\"test_mysql\",\n account_password=\"N1cetest\")\nexample_database = alicloud.rds.Database(\"example\",\n instance_id=example_instance.id,\n name=name)\nexample_account_privilege = alicloud.rds.AccountPrivilege(\"example\",\n instance_id=example_instance.id,\n account_name=example_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database.name])\nexample_subscription_job = alicloud.dts.SubscriptionJob(\"example\",\n dts_job_name=name,\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_instance.id,\n source_endpoint_database_name=example_database.name,\n source_endpoint_user_name=example_rds_account.account_name,\n source_endpoint_password=example_rds_account.account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database.name,\n exampleDatabaseName1=example_database.name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n subscription_instance_network_type=\"vpc\",\n subscription_instance_vpc_id=example_network.id,\n subscription_instance_vswitch_id=example_switch.id,\n status=\"Normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleRdsAccount = new AliCloud.Rds.RdsAccount(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n AccountName = \"test_mysql\",\n AccountPassword = \"N1cetest\",\n });\n\n var exampleDatabase = new AliCloud.Rds.Database(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n Name = name,\n });\n\n var exampleAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n AccountName = exampleRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase.Name,\n },\n });\n\n var exampleSubscriptionJob = new AliCloud.Dts.SubscriptionJob(\"example\", new()\n {\n DtsJobName = name,\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleInstance.Id,\n SourceEndpointDatabaseName = exampleDatabase.Name,\n SourceEndpointUserName = exampleRdsAccount.AccountName,\n SourceEndpointPassword = exampleRdsAccount.AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase.Name, exampleDatabase.Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n SubscriptionInstanceNetworkType = \"vpc\",\n SubscriptionInstanceVpcId = exampleNetwork.Id,\n SubscriptionInstanceVswitchId = exampleSwitch.Id,\n Status = \"Normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsAccount, err := rds.NewRdsAccount(ctx, \"example\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"test_mysql\"),\n\t\t\tAccountPassword: pulumi.String(\"N1cetest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := rds.NewDatabase(ctx, \"example\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"example\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: exampleRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\texampleDatabase.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 = dts.NewSubscriptionJob(ctx, \"example\", \u0026dts.SubscriptionJobArgs{\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleInstance.ID(),\n\t\t\tSourceEndpointDatabaseName: exampleDatabase.Name,\n\t\t\tSourceEndpointUserName: exampleRdsAccount.AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount.AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase.Name, exampleDatabase.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSubscriptionInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSubscriptionInstanceVpcId: exampleNetwork.ID(),\n\t\t\tSubscriptionInstanceVswitchId: exampleSwitch.ID(),\n\t\t\tStatus: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SubscriptionJob;\nimport com.pulumi.alicloud.dts.SubscriptionJobArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleRdsAccount = new RdsAccount(\"exampleRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .accountName(\"test_mysql\")\n .accountPassword(\"N1cetest\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .instanceId(exampleInstance.id())\n .name(name)\n .build());\n\n var exampleAccountPrivilege = new AccountPrivilege(\"exampleAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance.id())\n .accountName(exampleRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase.name())\n .build());\n\n var exampleSubscriptionJob = new SubscriptionJob(\"exampleSubscriptionJob\", SubscriptionJobArgs.builder()\n .dtsJobName(name)\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleInstance.id())\n .sourceEndpointDatabaseName(exampleDatabase.name())\n .sourceEndpointUserName(exampleRdsAccount.accountName())\n .sourceEndpointPassword(exampleRdsAccount.accountPassword())\n .dbList(Output.tuple(exampleDatabase.name(), exampleDatabase.name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .subscriptionInstanceNetworkType(\"vpc\")\n .subscriptionInstanceVpcId(exampleNetwork.id())\n .subscriptionInstanceVswitchId(exampleSwitch.id())\n .status(\"Normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${exampleGetZones.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleRdsAccount:\n type: alicloud:rds:RdsAccount\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n accountName: test_mysql\n accountPassword: N1cetest\n exampleDatabase:\n type: alicloud:rds:Database\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n name: ${name}\n exampleAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n accountName: ${exampleRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${exampleDatabase.name}\n exampleSubscriptionJob:\n type: alicloud:dts:SubscriptionJob\n name: example\n properties:\n dtsJobName: ${name}\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${example.regions[0].id}\n sourceEndpointInstanceType: RDS\n sourceEndpointInstanceId: ${exampleInstance.id}\n sourceEndpointDatabaseName: ${exampleDatabase.name}\n sourceEndpointUserName: ${exampleRdsAccount.accountName}\n sourceEndpointPassword: ${exampleRdsAccount.accountPassword}\n dbList:\n fn::toJSON:\n ${exampleDatabase.name}:\n name: ${exampleDatabase.name}\n all: true\n subscriptionInstanceNetworkType: vpc\n subscriptionInstanceVpcId: ${exampleNetwork.id}\n subscriptionInstanceVswitchId: ${exampleSwitch.id}\n status: Normal\nvariables:\n example:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n exampleGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${exampleGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDTS Subscription Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/subscriptionJob:SubscriptionJob example \u003cid\u003e\n```\n\n", + "description": "Provides a DTS Subscription Job resource.\n\nFor information about DTS Subscription Job and how to use it, see [What is Subscription Job](https://www.alibabacloud.com/help/en/data-transmission-service/latest/configuresubscription).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n});\nconst exampleRdsAccount = new alicloud.rds.RdsAccount(\"example\", {\n dbInstanceId: exampleInstance.id,\n accountName: \"test_mysql\",\n accountPassword: \"N1cetest\",\n});\nconst exampleDatabase = new alicloud.rds.Database(\"example\", {\n instanceId: exampleInstance.id,\n name: name,\n});\nconst exampleAccountPrivilege = new alicloud.rds.AccountPrivilege(\"example\", {\n instanceId: exampleInstance.id,\n accountName: exampleRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase.name],\n});\nconst exampleSubscriptionJob = new alicloud.dts.SubscriptionJob(\"example\", {\n dtsJobName: name,\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleInstance.id,\n sourceEndpointDatabaseName: exampleDatabase.name,\n sourceEndpointUserName: exampleRdsAccount.accountName,\n sourceEndpointPassword: exampleRdsAccount.accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase.name, exampleDatabase.name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n subscriptionInstanceNetworkType: \"vpc\",\n subscriptionInstanceVpcId: exampleNetwork.id,\n subscriptionInstanceVswitchId: exampleSwitch.id,\n status: \"Normal\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id])\nexample_rds_account = alicloud.rds.RdsAccount(\"example\",\n db_instance_id=example_instance.id,\n account_name=\"test_mysql\",\n account_password=\"N1cetest\")\nexample_database = alicloud.rds.Database(\"example\",\n instance_id=example_instance.id,\n name=name)\nexample_account_privilege = alicloud.rds.AccountPrivilege(\"example\",\n instance_id=example_instance.id,\n account_name=example_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database.name])\nexample_subscription_job = alicloud.dts.SubscriptionJob(\"example\",\n dts_job_name=name,\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_instance.id,\n source_endpoint_database_name=example_database.name,\n source_endpoint_user_name=example_rds_account.account_name,\n source_endpoint_password=example_rds_account.account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database.name,\n exampleDatabaseName1=example_database.name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n subscription_instance_network_type=\"vpc\",\n subscription_instance_vpc_id=example_network.id,\n subscription_instance_vswitch_id=example_switch.id,\n status=\"Normal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n });\n\n var exampleRdsAccount = new AliCloud.Rds.RdsAccount(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n AccountName = \"test_mysql\",\n AccountPassword = \"N1cetest\",\n });\n\n var exampleDatabase = new AliCloud.Rds.Database(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n Name = name,\n });\n\n var exampleAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n AccountName = exampleRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase.Name,\n },\n });\n\n var exampleSubscriptionJob = new AliCloud.Dts.SubscriptionJob(\"example\", new()\n {\n DtsJobName = name,\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleInstance.Id,\n SourceEndpointDatabaseName = exampleDatabase.Name,\n SourceEndpointUserName = exampleRdsAccount.AccountName,\n SourceEndpointPassword = exampleRdsAccount.AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase.Name, exampleDatabase.Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n SubscriptionInstanceNetworkType = \"vpc\",\n SubscriptionInstanceVpcId = exampleNetwork.Id,\n SubscriptionInstanceVswitchId = exampleSwitch.Id,\n Status = \"Normal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsAccount, err := rds.NewRdsAccount(ctx, \"example\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: pulumi.String(\"test_mysql\"),\n\t\t\tAccountPassword: pulumi.String(\"N1cetest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDatabase, err := rds.NewDatabase(ctx, \"example\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"example\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tAccountName: exampleRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\texampleDatabase.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 = dts.NewSubscriptionJob(ctx, \"example\", \u0026dts.SubscriptionJobArgs{\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleInstance.ID(),\n\t\t\tSourceEndpointDatabaseName: exampleDatabase.Name,\n\t\t\tSourceEndpointUserName: exampleRdsAccount.AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount.AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase.Name, exampleDatabase.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSubscriptionInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSubscriptionInstanceVpcId: exampleNetwork.ID(),\n\t\t\tSubscriptionInstanceVswitchId: exampleSwitch.ID(),\n\t\t\tStatus: pulumi.String(\"Normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SubscriptionJob;\nimport com.pulumi.alicloud.dts.SubscriptionJobArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n var exampleRdsAccount = new RdsAccount(\"exampleRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .accountName(\"test_mysql\")\n .accountPassword(\"N1cetest\")\n .build());\n\n var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n .instanceId(exampleInstance.id())\n .name(name)\n .build());\n\n var exampleAccountPrivilege = new AccountPrivilege(\"exampleAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance.id())\n .accountName(exampleRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase.name())\n .build());\n\n var exampleSubscriptionJob = new SubscriptionJob(\"exampleSubscriptionJob\", SubscriptionJobArgs.builder()\n .dtsJobName(name)\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleInstance.id())\n .sourceEndpointDatabaseName(exampleDatabase.name())\n .sourceEndpointUserName(exampleRdsAccount.accountName())\n .sourceEndpointPassword(exampleRdsAccount.accountPassword())\n .dbList(Output.tuple(exampleDatabase.name(), exampleDatabase.name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .subscriptionInstanceNetworkType(\"vpc\")\n .subscriptionInstanceVpcId(exampleNetwork.id())\n .subscriptionInstanceVswitchId(exampleSwitch.id())\n .status(\"Normal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${exampleGetZones.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n exampleRdsAccount:\n type: alicloud:rds:RdsAccount\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n accountName: test_mysql\n accountPassword: N1cetest\n exampleDatabase:\n type: alicloud:rds:Database\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n name: ${name}\n exampleAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n accountName: ${exampleRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${exampleDatabase.name}\n exampleSubscriptionJob:\n type: alicloud:dts:SubscriptionJob\n name: example\n properties:\n dtsJobName: ${name}\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${example.regions[0].id}\n sourceEndpointInstanceType: RDS\n sourceEndpointInstanceId: ${exampleInstance.id}\n sourceEndpointDatabaseName: ${exampleDatabase.name}\n sourceEndpointUserName: ${exampleRdsAccount.accountName}\n sourceEndpointPassword: ${exampleRdsAccount.accountPassword}\n dbList:\n fn::toJSON:\n ${exampleDatabase.name}:\n name: ${exampleDatabase.name}\n all: true\n subscriptionInstanceNetworkType: vpc\n subscriptionInstanceVpcId: ${exampleNetwork.id}\n subscriptionInstanceVswitchId: ${exampleSwitch.id}\n status: Normal\nvariables:\n example:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n exampleGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${exampleGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDTS Subscription Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/subscriptionJob:SubscriptionJob example \u003cid\u003e\n```\n\n", "properties": { "checkpoint": { "type": "string", @@ -147192,7 +149821,7 @@ } }, "alicloud:dts/synchronizationInstance:SynchronizationInstance": { - "description": "Provides a DTS Synchronization Instance resource.\n\nFor information about DTS Synchronization Instance and how to use it, see [What is Synchronization Instance](https://www.alibabacloud.com/help/en/doc-detail/130744.html).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultSynchronizationInstance = new alicloud.dts.SynchronizationInstance(\"default\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\ndefault_synchronization_instance = alicloud.dts.SynchronizationInstance(\"default\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=default.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=default.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultSynchronizationInstance = new AliCloud.Dts.SynchronizationInstance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewSynchronizationInstance(ctx, \"default\", \u0026dts.SynchronizationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.SynchronizationInstance;\nimport com.pulumi.alicloud.dts.SynchronizationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultSynchronizationInstance = new SynchronizationInstance(\"defaultSynchronizationInstance\", SynchronizationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(default_.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(default_.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSynchronizationInstance:\n type: alicloud:dts:SynchronizationInstance\n name: default\n properties:\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${default.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationEndpointRegion: ${default.regions[0].id}\n instanceClass: small\n syncArchitecture: oneway\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDTS Synchronization Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/synchronizationInstance:SynchronizationInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a DTS Synchronization Instance resource.\n\nFor information about DTS Synchronization Instance and how to use it, see [What is Synchronization Instance](https://www.alibabacloud.com/help/en/doc-detail/130744.html).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultSynchronizationInstance = new alicloud.dts.SynchronizationInstance(\"default\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_regions(current=True)\ndefault_synchronization_instance = alicloud.dts.SynchronizationInstance(\"default\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=default.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=default.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultSynchronizationInstance = new AliCloud.Dts.SynchronizationInstance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewSynchronizationInstance(ctx, \"default\", \u0026dts.SynchronizationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.dts.SynchronizationInstance;\nimport com.pulumi.alicloud.dts.SynchronizationInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultSynchronizationInstance = new SynchronizationInstance(\"defaultSynchronizationInstance\", SynchronizationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(default_.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(default_.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSynchronizationInstance:\n type: alicloud:dts:SynchronizationInstance\n name: default\n properties:\n paymentType: PayAsYouGo\n sourceEndpointEngineName: MySQL\n sourceEndpointRegion: ${default.regions[0].id}\n destinationEndpointEngineName: MySQL\n destinationEndpointRegion: ${default.regions[0].id}\n instanceClass: small\n syncArchitecture: oneway\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nDTS Synchronization Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/synchronizationInstance:SynchronizationInstance example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "string", @@ -147407,7 +150036,7 @@ } }, "alicloud:dts/synchronizationJob:SynchronizationJob": { - "description": "Provides a DTS Synchronization Job resource.\n\nFor information about DTS Synchronization Job and how to use it, see [What is Synchronization Job](https://www.alibabacloud.com/help/en/dts/developer-reference/api-configuredtsjob).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n securityGroupName: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: \"%s_%d\",\n args: [\n name,\n range.value + 1,\n ],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: \"%s_%d\",\n args: [\n name,\n range.value + 1,\n ],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleSynchronizationInstance = new alicloud.dts.SynchronizationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleSynchronizationJob = new alicloud.dts.SynchronizationJob(\"example\", {\n dtsInstanceId: exampleSynchronizationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n status: \"Synchronizing\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n security_group_name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=\"%s_%d\",\n args=[\n name,\n range[\"value\"] + 1,\n ]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=\"%s_%d\",\n args=[\n name,\n range[\"value\"] + 1,\n ]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_synchronization_instance = alicloud.dts.SynchronizationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_synchronization_job = alicloud.dts.SynchronizationJob(\"example\",\n dts_instance_id=example_synchronization_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True,\n status=\"Synchronizing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n SecurityGroupName = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = \"%s_%d\",\n Args = new[]\n {\n name,\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = \"%s_%d\",\n Args = new[]\n {\n name,\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleSynchronizationInstance = new AliCloud.Dts.SynchronizationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleSynchronizationJob = new AliCloud.Dts.SynchronizationJob(\"example\", new()\n {\n DtsInstanceId = exampleSynchronizationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n Status = \"Synchronizing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].AccountName,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleSynchronizationInstance, err := dts.NewSynchronizationInstance(ctx, \"example\", \u0026dts.SynchronizationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewSynchronizationJob(ctx, \"example\", \u0026dts.SynchronizationJobArgs{\n\t\t\tDtsInstanceId: exampleSynchronizationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"Synchronizing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SynchronizationInstance;\nimport com.pulumi.alicloud.dts.SynchronizationInstanceArgs;\nimport com.pulumi.alicloud.dts.SynchronizationJob;\nimport com.pulumi.alicloud.dts.SynchronizationJobArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%d\")\n .args( \n name,\n range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%d\")\n .args( \n name,\n range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleSynchronizationInstance = new SynchronizationInstance(\"exampleSynchronizationInstance\", SynchronizationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleSynchronizationJob = new SynchronizationJob(\"exampleSynchronizationJob\", SynchronizationJobArgs.builder()\n .dtsInstanceId(exampleSynchronizationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .status(\"Synchronizing\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notice\n\n1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended;\n2. After the pay-as-you-go type job suspended, your job configuration fee will still be charged;\n3. If the task suspended for more than 6 hours, the task will not start successfully.\n4. Suspending the task will only stop writing to the target library, but will still continue to obtain the incremental log of the source, so that the task can be quickly resumed after the suspension is canceled. Therefore, some resources of the source library, such as bandwidth resources, will continue to be occupied during the period.\n5. Charges will continue during the task suspension period. If you need to stop charging, please release the instance\n6. When a DTS instance suspended for more than 7 days, the instance cannot be resumed, and the status will change from suspended to failed.\n\n## Import\n\nDTS Synchronization Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/synchronizationJob:SynchronizationJob example \u003cid\u003e\n```\n\n", + "description": "Provides a DTS Synchronization Job resource.\n\nFor information about DTS Synchronization Job and how to use it, see [What is Synchronization Job](https://www.alibabacloud.com/help/en/dts/developer-reference/api-configuredtsjob).\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = alicloud.getRegions({\n current: true,\n});\nconst exampleGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = exampleGetZones.then(exampleGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: exampleGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: exampleGetZones.then(exampleGetZones =\u003e exampleGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n securityGroupName: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance: alicloud.rds.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstance.push(new alicloud.rds.Instance(`example-${range.value}`, {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: std.format({\n input: \"%s_%d\",\n args: [\n name,\n range.value + 1,\n ],\n }).then(invoke =\u003e invoke.result),\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [exampleSecurityGroup.id],\n }));\n}\nconst exampleRdsAccount: alicloud.rds.RdsAccount[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleRdsAccount.push(new alicloud.rds.RdsAccount(`example-${range.value}`, {\n dbInstanceId: exampleInstance[range.value].id,\n accountName: std.format({\n input: \"example_name_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n accountPassword: std.format({\n input: \"example_password_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleDatabase: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleDatabase.push(new alicloud.rds.Database(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n name: std.format({\n input: \"%s_%d\",\n args: [\n name,\n range.value + 1,\n ],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleAccountPrivilege: alicloud.rds.AccountPrivilege[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleAccountPrivilege.push(new alicloud.rds.AccountPrivilege(`example-${range.value}`, {\n instanceId: exampleInstance[range.value].id,\n accountName: exampleRdsAccount[range.value].accountName,\n privilege: \"ReadWrite\",\n dbNames: [exampleDatabase[range.value].name],\n }));\n}\nconst exampleSynchronizationInstance = new alicloud.dts.SynchronizationInstance(\"example\", {\n paymentType: \"PayAsYouGo\",\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n instanceClass: \"small\",\n syncArchitecture: \"oneway\",\n});\nconst exampleSynchronizationJob = new alicloud.dts.SynchronizationJob(\"example\", {\n dtsInstanceId: exampleSynchronizationInstance.id,\n dtsJobName: name,\n sourceEndpointInstanceType: \"RDS\",\n sourceEndpointInstanceId: exampleAccountPrivilege[0].instanceId,\n sourceEndpointEngineName: \"MySQL\",\n sourceEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n sourceEndpointUserName: exampleRdsAccount[0].accountName,\n sourceEndpointPassword: exampleRdsAccount[0].accountPassword,\n destinationEndpointInstanceType: \"RDS\",\n destinationEndpointInstanceId: exampleAccountPrivilege[1].instanceId,\n destinationEndpointEngineName: \"MySQL\",\n destinationEndpointRegion: example.then(example =\u003e example.regions?.[0]?.id),\n destinationEndpointUserName: exampleRdsAccount[1].accountName,\n destinationEndpointPassword: exampleRdsAccount[1].accountPassword,\n dbList: pulumi.jsonStringify(pulumi.all([exampleDatabase[0].name, exampleDatabase[1].name]).apply(([exampleDatabaseName, exampleDatabaseName1]) =\u003e {\n [exampleDatabaseName]: {\n name: exampleDatabaseName1,\n all: true,\n },\n })),\n structureInitialization: true,\n dataInitialization: true,\n dataSynchronization: true,\n status: \"Synchronizing\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.get_regions(current=True)\nexample_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example_get_zones.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n security_group_name=name,\n vpc_id=example_network.id)\nexample_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance.append(alicloud.rds.Instance(f\"example-{range['value']}\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=std.format(input=\"%s_%d\",\n args=[\n name,\n range[\"value\"] + 1,\n ]).result,\n vswitch_id=example_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[example_security_group.id]))\nexample_rds_account = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_rds_account.append(alicloud.rds.RdsAccount(f\"example-{range['value']}\",\n db_instance_id=example_instance[range[\"value\"]].id,\n account_name=std.format(input=\"example_name_%d\",\n args=[range[\"value\"] + 1]).result,\n account_password=std.format(input=\"example_password_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_database = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_database.append(alicloud.rds.Database(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n name=std.format(input=\"%s_%d\",\n args=[\n name,\n range[\"value\"] + 1,\n ]).result))\nexample_account_privilege = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_account_privilege.append(alicloud.rds.AccountPrivilege(f\"example-{range['value']}\",\n instance_id=example_instance[range[\"value\"]].id,\n account_name=example_rds_account[range[\"value\"]].account_name,\n privilege=\"ReadWrite\",\n db_names=[example_database[range[\"value\"]].name]))\nexample_synchronization_instance = alicloud.dts.SynchronizationInstance(\"example\",\n payment_type=\"PayAsYouGo\",\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n instance_class=\"small\",\n sync_architecture=\"oneway\")\nexample_synchronization_job = alicloud.dts.SynchronizationJob(\"example\",\n dts_instance_id=example_synchronization_instance.id,\n dts_job_name=name,\n source_endpoint_instance_type=\"RDS\",\n source_endpoint_instance_id=example_account_privilege[0].instance_id,\n source_endpoint_engine_name=\"MySQL\",\n source_endpoint_region=example.regions[0].id,\n source_endpoint_user_name=example_rds_account[0].account_name,\n source_endpoint_password=example_rds_account[0].account_password,\n destination_endpoint_instance_type=\"RDS\",\n destination_endpoint_instance_id=example_account_privilege[1].instance_id,\n destination_endpoint_engine_name=\"MySQL\",\n destination_endpoint_region=example.regions[0].id,\n destination_endpoint_user_name=example_rds_account[1].account_name,\n destination_endpoint_password=example_rds_account[1].account_password,\n db_list=pulumi.Output.json_dumps(pulumi.Output.all(\n exampleDatabaseName=example_database[0].name,\n exampleDatabaseName1=example_database[1].name\n).apply(lambda resolved_outputs: {\n resolved_outputs['exampleDatabaseName']: {\n \"name\": resolved_outputs['exampleDatabaseName1'],\n \"all\": True,\n },\n })\n),\n structure_initialization=True,\n data_initialization=True,\n data_synchronization=True,\n status=\"Synchronizing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var exampleGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = exampleGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n SecurityGroupName = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new List\u003cAliCloud.Rds.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstance.Add(new AliCloud.Rds.Instance($\"example-{range.Value}\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = Std.Format.Invoke(new()\n {\n Input = \"%s_%d\",\n Args = new[]\n {\n name,\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n }));\n }\n var exampleRdsAccount = new List\u003cAliCloud.Rds.RdsAccount\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleRdsAccount.Add(new AliCloud.Rds.RdsAccount($\"example-{range.Value}\", new()\n {\n DbInstanceId = exampleInstance[range.Value].Id,\n AccountName = Std.Format.Invoke(new()\n {\n Input = \"example_name_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccountPassword = Std.Format.Invoke(new()\n {\n Input = \"example_password_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleDatabase = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleDatabase.Add(new AliCloud.Rds.Database($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n Name = Std.Format.Invoke(new()\n {\n Input = \"%s_%d\",\n Args = new[]\n {\n name,\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleAccountPrivilege = new List\u003cAliCloud.Rds.AccountPrivilege\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleAccountPrivilege.Add(new AliCloud.Rds.AccountPrivilege($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance[range.Value].Id,\n AccountName = exampleRdsAccount[range.Value].AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n exampleDatabase[range.Value].Name,\n },\n }));\n }\n var exampleSynchronizationInstance = new AliCloud.Dts.SynchronizationInstance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n InstanceClass = \"small\",\n SyncArchitecture = \"oneway\",\n });\n\n var exampleSynchronizationJob = new AliCloud.Dts.SynchronizationJob(\"example\", new()\n {\n DtsInstanceId = exampleSynchronizationInstance.Id,\n DtsJobName = name,\n SourceEndpointInstanceType = \"RDS\",\n SourceEndpointInstanceId = exampleAccountPrivilege[0].InstanceId,\n SourceEndpointEngineName = \"MySQL\",\n SourceEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n SourceEndpointUserName = exampleRdsAccount[0].AccountName,\n SourceEndpointPassword = exampleRdsAccount[0].AccountPassword,\n DestinationEndpointInstanceType = \"RDS\",\n DestinationEndpointInstanceId = exampleAccountPrivilege[1].InstanceId,\n DestinationEndpointEngineName = \"MySQL\",\n DestinationEndpointRegion = example.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n DestinationEndpointUserName = exampleRdsAccount[1].AccountName,\n DestinationEndpointPassword = exampleRdsAccount[1].AccountPassword,\n DbList = Output.JsonSerialize(Output.Create(Output.Tuple(exampleDatabase[0].Name, exampleDatabase[1].Name).Apply(values =\u003e\n {\n var exampleDatabaseName = values.Item1;\n var exampleDatabaseName1 = values.Item2;\n return \n {\n { exampleDatabaseName, \n {\n { \"name\", exampleDatabaseName1 },\n { \"all\", true },\n } },\n };\n }))),\n StructureInitialization = true,\n DataInitialization = true,\n DataSynchronization = true,\n Status = \"Synchronizing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dts\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(exampleGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(exampleGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstance []*rds.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := rds.NewInstance(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.InstanceArgs{\n\t\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstance = append(exampleInstance, __res)\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_name_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example_password_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleRdsAccount []*rds.RdsAccount\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewRdsAccount(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.RdsAccountArgs{\n\t\t\t\tDbInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: pulumi.String(invokeFormat1.Result),\n\t\t\t\tAccountPassword: pulumi.String(invokeFormat2.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleRdsAccount = append(exampleRdsAccount, __res)\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%d\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleDatabase []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tName: pulumi.String(invokeFormat3.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleDatabase = append(exampleDatabase, __res)\n\t\t}\n\t\tvar exampleAccountPrivilege []*rds.AccountPrivilege\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewAccountPrivilege(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026rds.AccountPrivilegeArgs{\n\t\t\t\tInstanceId: exampleInstance[val0].ID(),\n\t\t\t\tAccountName: exampleRdsAccount[val0].AccountName,\n\t\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\t\texampleDatabase[val0].Name,\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleAccountPrivilege = append(exampleAccountPrivilege, __res)\n\t\t}\n\t\texampleSynchronizationInstance, err := dts.NewSynchronizationInstance(ctx, \"example\", \u0026dts.SynchronizationInstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"small\"),\n\t\t\tSyncArchitecture: pulumi.String(\"oneway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dts.NewSynchronizationJob(ctx, \"example\", \u0026dts.SynchronizationJobArgs{\n\t\t\tDtsInstanceId: exampleSynchronizationInstance.ID(),\n\t\t\tDtsJobName: pulumi.String(name),\n\t\t\tSourceEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tSourceEndpointInstanceId: exampleAccountPrivilege[0].InstanceId,\n\t\t\tSourceEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tSourceEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tSourceEndpointUserName: exampleRdsAccount[0].AccountName,\n\t\t\tSourceEndpointPassword: exampleRdsAccount[0].AccountPassword,\n\t\t\tDestinationEndpointInstanceType: pulumi.String(\"RDS\"),\n\t\t\tDestinationEndpointInstanceId: exampleAccountPrivilege[1].InstanceId,\n\t\t\tDestinationEndpointEngineName: pulumi.String(\"MySQL\"),\n\t\t\tDestinationEndpointRegion: pulumi.String(example.Regions[0].Id),\n\t\t\tDestinationEndpointUserName: exampleRdsAccount[1].AccountName,\n\t\t\tDestinationEndpointPassword: exampleRdsAccount[1].AccountPassword,\n\t\t\tDbList: pulumi.All(exampleDatabase[0].Name, exampleDatabase[1].Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\texampleDatabaseName := _args[0].(string)\n\t\t\t\texampleDatabaseName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]map[string]interface{}{\n\t\t\t\t\texampleDatabaseName: map[string]interface{}{\n\t\t\t\t\t\t\"name\": exampleDatabaseName1,\n\t\t\t\t\t\t\"all\": true,\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 json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStructureInitialization: pulumi.Bool(true),\n\t\t\tDataInitialization: pulumi.Bool(true),\n\t\t\tDataSynchronization: pulumi.Bool(true),\n\t\t\tStatus: pulumi.String(\"Synchronizing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.dts.SynchronizationInstance;\nimport com.pulumi.alicloud.dts.SynchronizationInstanceArgs;\nimport com.pulumi.alicloud.dts.SynchronizationJob;\nimport com.pulumi.alicloud.dts.SynchronizationJobArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var exampleGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(exampleGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(exampleGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"exampleInstance-\" + i, InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%d\")\n .args( \n name,\n range.value() + 1)\n .build()).result())\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(exampleSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new RdsAccount(\"exampleRdsAccount-\" + i, RdsAccountArgs.builder()\n .dbInstanceId(exampleInstance[range.value()].id())\n .accountName(StdFunctions.format(FormatArgs.builder()\n .input(\"example_name_%d\")\n .args(range.value() + 1)\n .build()).result())\n .accountPassword(StdFunctions.format(FormatArgs.builder()\n .input(\"example_password_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"exampleDatabase-\" + i, DatabaseArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%d\")\n .args( \n name,\n range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new AccountPrivilege(\"exampleAccountPrivilege-\" + i, AccountPrivilegeArgs.builder()\n .instanceId(exampleInstance[range.value()].id())\n .accountName(exampleRdsAccount[range.value()].accountName())\n .privilege(\"ReadWrite\")\n .dbNames(exampleDatabase[range.value()].name())\n .build());\n\n \n}\n var exampleSynchronizationInstance = new SynchronizationInstance(\"exampleSynchronizationInstance\", SynchronizationInstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .instanceClass(\"small\")\n .syncArchitecture(\"oneway\")\n .build());\n\n var exampleSynchronizationJob = new SynchronizationJob(\"exampleSynchronizationJob\", SynchronizationJobArgs.builder()\n .dtsInstanceId(exampleSynchronizationInstance.id())\n .dtsJobName(name)\n .sourceEndpointInstanceType(\"RDS\")\n .sourceEndpointInstanceId(exampleAccountPrivilege[0].instanceId())\n .sourceEndpointEngineName(\"MySQL\")\n .sourceEndpointRegion(example.regions()[0].id())\n .sourceEndpointUserName(exampleRdsAccount[0].accountName())\n .sourceEndpointPassword(exampleRdsAccount[0].accountPassword())\n .destinationEndpointInstanceType(\"RDS\")\n .destinationEndpointInstanceId(exampleAccountPrivilege[1].instanceId())\n .destinationEndpointEngineName(\"MySQL\")\n .destinationEndpointRegion(example.regions()[0].id())\n .destinationEndpointUserName(exampleRdsAccount[1].accountName())\n .destinationEndpointPassword(exampleRdsAccount[1].accountPassword())\n .dbList(Output.tuple(exampleDatabase[0].name(), exampleDatabase[1].name()).applyValue(values -\u003e {\n var exampleDatabaseName = values.t1;\n var exampleDatabaseName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(exampleDatabaseName, jsonObject(\n jsonProperty(\"name\", exampleDatabaseName1),\n jsonProperty(\"all\", true)\n ))\n ));\n }))\n .structureInitialization(true)\n .dataInitialization(true)\n .dataSynchronization(true)\n .status(\"Synchronizing\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Notice\n\n1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended;\n2. After the pay-as-you-go type job suspended, your job configuration fee will still be charged;\n3. If the task suspended for more than 6 hours, the task will not start successfully.\n4. Suspending the task will only stop writing to the target library, but will still continue to obtain the incremental log of the source, so that the task can be quickly resumed after the suspension is canceled. Therefore, some resources of the source library, such as bandwidth resources, will continue to be occupied during the period.\n5. Charges will continue during the task suspension period. If you need to stop charging, please release the instance\n6. When a DTS instance suspended for more than 7 days, the instance cannot be resumed, and the status will change from suspended to failed.\n\n## Import\n\nDTS Synchronization Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:dts/synchronizationJob:SynchronizationJob example \u003cid\u003e\n```\n\n", "properties": { "checkpoint": { "type": "string", @@ -148376,7 +151005,7 @@ } }, "alicloud:ebs/dedicatedBlockStorageCluster:DedicatedBlockStorageCluster": { - "description": "Provides a Ebs Dedicated Block Storage Cluster resource.\n\nFor information about Ebs Dedicated Block Storage Cluster and how to use it, see [What is Dedicated Block Storage Cluster](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ebs-2021-07-30-creatededicatedblockstoragecluster).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ebs.DedicatedBlockStorageCluster(\"default\", {\n type: \"Premium\",\n zoneId: \"cn-heyuan-b\",\n dedicatedBlockStorageClusterName: \"dedicated_block_storage_cluster_name\",\n totalCapacity: \"61440\",\n regionId: \"cn-heyuan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ebs.DedicatedBlockStorageCluster(\"default\",\n type=\"Premium\",\n zone_id=\"cn-heyuan-b\",\n dedicated_block_storage_cluster_name=\"dedicated_block_storage_cluster_name\",\n total_capacity=\"61440\",\n region_id=\"cn-heyuan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ebs.DedicatedBlockStorageCluster(\"default\", new()\n {\n Type = \"Premium\",\n ZoneId = \"cn-heyuan-b\",\n DedicatedBlockStorageClusterName = \"dedicated_block_storage_cluster_name\",\n TotalCapacity = \"61440\",\n RegionId = \"cn-heyuan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewDedicatedBlockStorageCluster(ctx, \"default\", \u0026ebs.DedicatedBlockStorageClusterArgs{\n\t\t\tType: pulumi.String(\"Premium\"),\n\t\t\tZoneId: pulumi.String(\"cn-heyuan-b\"),\n\t\t\tDedicatedBlockStorageClusterName: pulumi.String(\"dedicated_block_storage_cluster_name\"),\n\t\t\tTotalCapacity: pulumi.String(\"61440\"),\n\t\t\tRegionId: \"cn-heyuan\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.DedicatedBlockStorageCluster;\nimport com.pulumi.alicloud.ebs.DedicatedBlockStorageClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DedicatedBlockStorageCluster(\"default\", DedicatedBlockStorageClusterArgs.builder()\n .type(\"Premium\")\n .zoneId(\"cn-heyuan-b\")\n .dedicatedBlockStorageClusterName(\"dedicated_block_storage_cluster_name\")\n .totalCapacity(\"61440\")\n .regionId(\"cn-heyuan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ebs:DedicatedBlockStorageCluster\n properties:\n type: Premium\n zoneId: cn-heyuan-b\n dedicatedBlockStorageClusterName: dedicated_block_storage_cluster_name\n totalCapacity: 61440\n regionId: cn-heyuan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEbs Dedicated Block Storage Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/dedicatedBlockStorageCluster:DedicatedBlockStorageCluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Ebs Dedicated Block Storage Cluster resource.\n\nFor information about Ebs Dedicated Block Storage Cluster and how to use it, see [What is Dedicated Block Storage Cluster](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ebs-2021-07-30-creatededicatedblockstoragecluster).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ebs.DedicatedBlockStorageCluster(\"default\", {\n type: \"Premium\",\n zoneId: \"cn-heyuan-b\",\n dedicatedBlockStorageClusterName: \"dedicated_block_storage_cluster_name\",\n totalCapacity: \"61440\",\n regionId: \"cn-heyuan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ebs.DedicatedBlockStorageCluster(\"default\",\n type=\"Premium\",\n zone_id=\"cn-heyuan-b\",\n dedicated_block_storage_cluster_name=\"dedicated_block_storage_cluster_name\",\n total_capacity=\"61440\",\n region_id=\"cn-heyuan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ebs.DedicatedBlockStorageCluster(\"default\", new()\n {\n Type = \"Premium\",\n ZoneId = \"cn-heyuan-b\",\n DedicatedBlockStorageClusterName = \"dedicated_block_storage_cluster_name\",\n TotalCapacity = \"61440\",\n RegionId = \"cn-heyuan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ebs.NewDedicatedBlockStorageCluster(ctx, \"default\", \u0026ebs.DedicatedBlockStorageClusterArgs{\n\t\t\tType: pulumi.String(\"Premium\"),\n\t\t\tZoneId: pulumi.String(\"cn-heyuan-b\"),\n\t\t\tDedicatedBlockStorageClusterName: pulumi.String(\"dedicated_block_storage_cluster_name\"),\n\t\t\tTotalCapacity: pulumi.String(\"61440\"),\n\t\t\tRegionId: \"cn-heyuan\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.DedicatedBlockStorageCluster;\nimport com.pulumi.alicloud.ebs.DedicatedBlockStorageClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new DedicatedBlockStorageCluster(\"default\", DedicatedBlockStorageClusterArgs.builder()\n .type(\"Premium\")\n .zoneId(\"cn-heyuan-b\")\n .dedicatedBlockStorageClusterName(\"dedicated_block_storage_cluster_name\")\n .totalCapacity(\"61440\")\n .regionId(\"cn-heyuan\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ebs:DedicatedBlockStorageCluster\n properties:\n type: Premium\n zoneId: cn-heyuan-b\n dedicatedBlockStorageClusterName: dedicated_block_storage_cluster_name\n totalCapacity: 61440\n regionId: cn-heyuan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEbs Dedicated Block Storage Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/dedicatedBlockStorageCluster:DedicatedBlockStorageCluster example \u003cid\u003e\n```\n\n", "properties": { "availableCapacity": { "type": "string", @@ -148568,7 +151197,7 @@ } }, "alicloud:ebs/diskReplicaGroup:DiskReplicaGroup": { - "description": "Provides a Elastic Block Storage(EBS) Disk Replica Group resource.\n\nconsistent replica group.\n\nFor information about Elastic Block Storage(EBS) Disk Replica Group and how to use it, see [What is Disk Replica Group](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/creatediskreplicagroup).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetRegions = _default.then(_default =\u003e alicloud.ebs.getRegions({\n regionId: _default.regions?.[0]?.id,\n}));\nconst defaultDiskReplicaGroup = new alicloud.ebs.DiskReplicaGroup(\"default\", {\n sourceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n sourceZoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[0]?.zoneId),\n destinationRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationZoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[1]?.zoneId),\n groupName: name,\n description: name,\n rpo: 900,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_regions = alicloud.ebs.get_regions(region_id=default.regions[0].id)\ndefault_disk_replica_group = alicloud.ebs.DiskReplicaGroup(\"default\",\n source_region_id=default.regions[0].id,\n source_zone_id=default_get_regions.regions[0].zones[0].zone_id,\n destination_region_id=default.regions[0].id,\n destination_zone_id=default_get_regions.regions[0].zones[1].zone_id,\n group_name=name,\n description=name,\n rpo=900)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetRegions = AliCloud.Ebs.GetRegions.Invoke(new()\n {\n RegionId = @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n var defaultDiskReplicaGroup = new AliCloud.Ebs.DiskReplicaGroup(\"default\", new()\n {\n SourceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n SourceZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[0]?.ZoneId),\n DestinationRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[1]?.ZoneId),\n GroupName = name,\n Description = name,\n Rpo = 900,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := ebs.GetRegions(ctx, \u0026ebs.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(_default.Regions[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewDiskReplicaGroup(ctx, \"default\", \u0026ebs.DiskReplicaGroupArgs{\n\t\t\tSourceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tSourceZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[0].ZoneId),\n\t\t\tDestinationRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[1].ZoneId),\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRpo: pulumi.Int(900),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ebs.EbsFunctions;\nimport com.pulumi.alicloud.ebs.DiskReplicaGroup;\nimport com.pulumi.alicloud.ebs.DiskReplicaGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetRegions = EbsFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(default_.regions()[0].id())\n .build());\n\n var defaultDiskReplicaGroup = new DiskReplicaGroup(\"defaultDiskReplicaGroup\", DiskReplicaGroupArgs.builder()\n .sourceRegionId(default_.regions()[0].id())\n .sourceZoneId(defaultGetRegions.regions()[0].zones()[0].zoneId())\n .destinationRegionId(default_.regions()[0].id())\n .destinationZoneId(defaultGetRegions.regions()[0].zones()[1].zoneId())\n .groupName(name)\n .description(name)\n .rpo(900)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultDiskReplicaGroup:\n type: alicloud:ebs:DiskReplicaGroup\n name: default\n properties:\n sourceRegionId: ${default.regions[0].id}\n sourceZoneId: ${defaultGetRegions.regions[0].zones[0].zoneId}\n destinationRegionId: ${default.regions[0].id}\n destinationZoneId: ${defaultGetRegions.regions[0].zones[1].zoneId}\n groupName: ${name}\n description: ${name}\n rpo: 900\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetRegions:\n fn::invoke:\n function: alicloud:ebs:getRegions\n arguments:\n regionId: ${default.regions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/diskReplicaGroup:DiskReplicaGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Elastic Block Storage(EBS) Disk Replica Group resource.\n\nconsistent replica group.\n\nFor information about Elastic Block Storage(EBS) Disk Replica Group and how to use it, see [What is Disk Replica Group](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/creatediskreplicagroup).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetRegions = _default.then(_default =\u003e alicloud.ebs.getRegions({\n regionId: _default.regions?.[0]?.id,\n}));\nconst defaultDiskReplicaGroup = new alicloud.ebs.DiskReplicaGroup(\"default\", {\n sourceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n sourceZoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[0]?.zoneId),\n destinationRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n destinationZoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[1]?.zoneId),\n groupName: name,\n description: name,\n rpo: 900,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_regions = alicloud.ebs.get_regions(region_id=default.regions[0].id)\ndefault_disk_replica_group = alicloud.ebs.DiskReplicaGroup(\"default\",\n source_region_id=default.regions[0].id,\n source_zone_id=default_get_regions.regions[0].zones[0].zone_id,\n destination_region_id=default.regions[0].id,\n destination_zone_id=default_get_regions.regions[0].zones[1].zone_id,\n group_name=name,\n description=name,\n rpo=900)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetRegions = AliCloud.Ebs.GetRegions.Invoke(new()\n {\n RegionId = @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n var defaultDiskReplicaGroup = new AliCloud.Ebs.DiskReplicaGroup(\"default\", new()\n {\n SourceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n SourceZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[0]?.ZoneId),\n DestinationRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n DestinationZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[1]?.ZoneId),\n GroupName = name,\n Description = name,\n Rpo = 900,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := ebs.GetRegions(ctx, \u0026ebs.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(_default.Regions[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewDiskReplicaGroup(ctx, \"default\", \u0026ebs.DiskReplicaGroupArgs{\n\t\t\tSourceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tSourceZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[0].ZoneId),\n\t\t\tDestinationRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tDestinationZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[1].ZoneId),\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRpo: pulumi.Int(900),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ebs.EbsFunctions;\nimport com.pulumi.alicloud.ebs.DiskReplicaGroup;\nimport com.pulumi.alicloud.ebs.DiskReplicaGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetRegions = EbsFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(default_.regions()[0].id())\n .build());\n\n var defaultDiskReplicaGroup = new DiskReplicaGroup(\"defaultDiskReplicaGroup\", DiskReplicaGroupArgs.builder()\n .sourceRegionId(default_.regions()[0].id())\n .sourceZoneId(defaultGetRegions.regions()[0].zones()[0].zoneId())\n .destinationRegionId(default_.regions()[0].id())\n .destinationZoneId(defaultGetRegions.regions()[0].zones()[1].zoneId())\n .groupName(name)\n .description(name)\n .rpo(900)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultDiskReplicaGroup:\n type: alicloud:ebs:DiskReplicaGroup\n name: default\n properties:\n sourceRegionId: ${default.regions[0].id}\n sourceZoneId: ${defaultGetRegions.regions[0].zones[0].zoneId}\n destinationRegionId: ${default.regions[0].id}\n destinationZoneId: ${defaultGetRegions.regions[0].zones[1].zoneId}\n groupName: ${name}\n description: ${name}\n rpo: 900\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetRegions:\n fn::invoke:\n function: alicloud:ebs:getRegions\n arguments:\n regionId: ${default.regions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/diskReplicaGroup:DiskReplicaGroup example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -148796,7 +151425,7 @@ } }, "alicloud:ebs/diskReplicaPair:DiskReplicaPair": { - "description": "Provides a Elastic Block Storage(EBS) Disk Replica Pair resource.\n\n\n\nFor information about Elastic Block Storage(EBS) Disk Replica Pair and how to use it, see [What is Disk Replica Pair](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ebs-2021-07-30-creatediskreplicapair).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetRegions = _default.then(_default =\u003e alicloud.ebs.getRegions({\n regionId: _default.regions?.[0]?.id,\n}));\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[0]?.zoneId),\n category: \"cloud_essd\",\n deleteAutoSnapshot: true,\n deleteWithInstance: true,\n description: name,\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n For: \"example\",\n controlledBy: \"ear\",\n },\n});\nconst destination = new alicloud.ecs.EcsDisk(\"destination\", {\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[1]?.zoneId),\n category: \"cloud_essd\",\n deleteAutoSnapshot: true,\n deleteWithInstance: true,\n description: std.format({\n input: \"%s-destination\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n For: \"example\",\n controlledBy: \"ear\",\n },\n});\nconst defaultDiskReplicaPair = new alicloud.ebs.DiskReplicaPair(\"default\", {\n destinationDiskId: destination.id,\n destinationRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n paymentType: \"POSTPAY\",\n destinationZoneId: destination.zoneId,\n sourceZoneId: defaultEcsDisk.zoneId,\n diskId: defaultEcsDisk.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_regions = alicloud.ebs.get_regions(region_id=default.regions[0].id)\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=default_get_regions.regions[0].zones[0].zone_id,\n category=\"cloud_essd\",\n delete_auto_snapshot=True,\n delete_with_instance=True,\n description=name,\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n \"controlledBy\": \"ear\",\n })\ndestination = alicloud.ecs.EcsDisk(\"destination\",\n zone_id=default_get_regions.regions[0].zones[1].zone_id,\n category=\"cloud_essd\",\n delete_auto_snapshot=True,\n delete_with_instance=True,\n description=std.format(input=\"%s-destination\",\n args=[name]).result,\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n \"controlledBy\": \"ear\",\n })\ndefault_disk_replica_pair = alicloud.ebs.DiskReplicaPair(\"default\",\n destination_disk_id=destination.id,\n destination_region_id=default.regions[0].id,\n payment_type=\"POSTPAY\",\n destination_zone_id=destination.zone_id,\n source_zone_id=default_ecs_disk.zone_id,\n disk_id=default_ecs_disk.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetRegions = AliCloud.Ebs.GetRegions.Invoke(new()\n {\n RegionId = @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[0]?.ZoneId),\n Category = \"cloud_essd\",\n DeleteAutoSnapshot = true,\n DeleteWithInstance = true,\n Description = name,\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n { \"controlledBy\", \"ear\" },\n },\n });\n\n var destination = new AliCloud.Ecs.EcsDisk(\"destination\", new()\n {\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[1]?.ZoneId),\n Category = \"cloud_essd\",\n DeleteAutoSnapshot = true,\n DeleteWithInstance = true,\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s-destination\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n { \"controlledBy\", \"ear\" },\n },\n });\n\n var defaultDiskReplicaPair = new AliCloud.Ebs.DiskReplicaPair(\"default\", new()\n {\n DestinationDiskId = destination.Id,\n DestinationRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n PaymentType = \"POSTPAY\",\n DestinationZoneId = destination.ZoneId,\n SourceZoneId = defaultEcsDisk.ZoneId,\n DiskId = defaultEcsDisk.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := ebs.GetRegions(ctx, \u0026ebs.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(_default.Regions[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[0].ZoneId),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t\t\"controlledBy\": pulumi.String(\"ear\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-destination\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := ecs.NewEcsDisk(ctx, \"destination\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[1].ZoneId),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(invokeFormat.Result),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t\t\"controlledBy\": pulumi.String(\"ear\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewDiskReplicaPair(ctx, \"default\", \u0026ebs.DiskReplicaPairArgs{\n\t\t\tDestinationDiskId: destination.ID(),\n\t\t\tDestinationRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tPaymentType: pulumi.String(\"POSTPAY\"),\n\t\t\tDestinationZoneId: destination.ZoneId,\n\t\t\tSourceZoneId: defaultEcsDisk.ZoneId,\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ebs.EbsFunctions;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ebs.DiskReplicaPair;\nimport com.pulumi.alicloud.ebs.DiskReplicaPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetRegions = EbsFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(default_.regions()[0].id())\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(defaultGetRegions.regions()[0].zones()[0].zoneId())\n .category(\"cloud_essd\")\n .deleteAutoSnapshot(true)\n .deleteWithInstance(true)\n .description(name)\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\"),\n Map.entry(\"controlledBy\", \"ear\")\n ))\n .build());\n\n var destination = new EcsDisk(\"destination\", EcsDiskArgs.builder()\n .zoneId(defaultGetRegions.regions()[0].zones()[1].zoneId())\n .category(\"cloud_essd\")\n .deleteAutoSnapshot(true)\n .deleteWithInstance(true)\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-destination\")\n .args(name)\n .build()).result())\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\"),\n Map.entry(\"controlledBy\", \"ear\")\n ))\n .build());\n\n var defaultDiskReplicaPair = new DiskReplicaPair(\"defaultDiskReplicaPair\", DiskReplicaPairArgs.builder()\n .destinationDiskId(destination.id())\n .destinationRegionId(default_.regions()[0].id())\n .paymentType(\"POSTPAY\")\n .destinationZoneId(destination.zoneId())\n .sourceZoneId(defaultEcsDisk.zoneId())\n .diskId(defaultEcsDisk.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${defaultGetRegions.regions[0].zones[0].zoneId}\n category: cloud_essd\n deleteAutoSnapshot: 'true'\n deleteWithInstance: 'true'\n description: ${name}\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n For: example\n controlledBy: ear\n destination:\n type: alicloud:ecs:EcsDisk\n properties:\n zoneId: ${defaultGetRegions.regions[0].zones[1].zoneId}\n category: cloud_essd\n deleteAutoSnapshot: 'true'\n deleteWithInstance: 'true'\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-destination'\n args:\n - ${name}\n return: result\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n For: example\n controlledBy: ear\n defaultDiskReplicaPair:\n type: alicloud:ebs:DiskReplicaPair\n name: default\n properties:\n destinationDiskId: ${destination.id}\n destinationRegionId: ${default.regions[0].id}\n paymentType: POSTPAY\n destinationZoneId: ${destination.zoneId}\n sourceZoneId: ${defaultEcsDisk.zoneId}\n diskId: ${defaultEcsDisk.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetRegions:\n fn::invoke:\n function: alicloud:ebs:getRegions\n arguments:\n regionId: ${default.regions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/diskReplicaPair:DiskReplicaPair example \u003cid\u003e\n```\n\n", + "description": "Provides a Elastic Block Storage(EBS) Disk Replica Pair resource.\n\n\n\nFor information about Elastic Block Storage(EBS) Disk Replica Pair and how to use it, see [What is Disk Replica Pair](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ebs-2021-07-30-creatediskreplicapair).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetRegions = _default.then(_default =\u003e alicloud.ebs.getRegions({\n regionId: _default.regions?.[0]?.id,\n}));\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[0]?.zoneId),\n category: \"cloud_essd\",\n deleteAutoSnapshot: true,\n deleteWithInstance: true,\n description: name,\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n For: \"example\",\n controlledBy: \"ear\",\n },\n});\nconst destination = new alicloud.ecs.EcsDisk(\"destination\", {\n zoneId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.zones?.[1]?.zoneId),\n category: \"cloud_essd\",\n deleteAutoSnapshot: true,\n deleteWithInstance: true,\n description: std.format({\n input: \"%s-destination\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n For: \"example\",\n controlledBy: \"ear\",\n },\n});\nconst defaultDiskReplicaPair = new alicloud.ebs.DiskReplicaPair(\"default\", {\n destinationDiskId: destination.id,\n destinationRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n paymentType: \"POSTPAY\",\n destinationZoneId: destination.zoneId,\n sourceZoneId: defaultEcsDisk.zoneId,\n diskId: defaultEcsDisk.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_regions = alicloud.ebs.get_regions(region_id=default.regions[0].id)\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=default_get_regions.regions[0].zones[0].zone_id,\n category=\"cloud_essd\",\n delete_auto_snapshot=True,\n delete_with_instance=True,\n description=name,\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n \"controlledBy\": \"ear\",\n })\ndestination = alicloud.ecs.EcsDisk(\"destination\",\n zone_id=default_get_regions.regions[0].zones[1].zone_id,\n category=\"cloud_essd\",\n delete_auto_snapshot=True,\n delete_with_instance=True,\n description=std.format(input=\"%s-destination\",\n args=[name]).result,\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n \"controlledBy\": \"ear\",\n })\ndefault_disk_replica_pair = alicloud.ebs.DiskReplicaPair(\"default\",\n destination_disk_id=destination.id,\n destination_region_id=default.regions[0].id,\n payment_type=\"POSTPAY\",\n destination_zone_id=destination.zone_id,\n source_zone_id=default_ecs_disk.zone_id,\n disk_id=default_ecs_disk.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetRegions = AliCloud.Ebs.GetRegions.Invoke(new()\n {\n RegionId = @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[0]?.ZoneId),\n Category = \"cloud_essd\",\n DeleteAutoSnapshot = true,\n DeleteWithInstance = true,\n Description = name,\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n { \"controlledBy\", \"ear\" },\n },\n });\n\n var destination = new AliCloud.Ecs.EcsDisk(\"destination\", new()\n {\n ZoneId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Zones[1]?.ZoneId),\n Category = \"cloud_essd\",\n DeleteAutoSnapshot = true,\n DeleteWithInstance = true,\n Description = Std.Format.Invoke(new()\n {\n Input = \"%s-destination\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n { \"controlledBy\", \"ear\" },\n },\n });\n\n var defaultDiskReplicaPair = new AliCloud.Ebs.DiskReplicaPair(\"default\", new()\n {\n DestinationDiskId = destination.Id,\n DestinationRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n PaymentType = \"POSTPAY\",\n DestinationZoneId = destination.ZoneId,\n SourceZoneId = defaultEcsDisk.ZoneId,\n DiskId = defaultEcsDisk.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := ebs.GetRegions(ctx, \u0026ebs.GetRegionsArgs{\n\t\t\tRegionId: pulumi.StringRef(_default.Regions[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[0].ZoneId),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t\t\"controlledBy\": pulumi.String(\"ear\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s-destination\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdestination, err := ecs.NewEcsDisk(ctx, \"destination\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(defaultGetRegions.Regions[0].Zones[1].ZoneId),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(invokeFormat.Result),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t\t\"controlledBy\": pulumi.String(\"ear\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewDiskReplicaPair(ctx, \"default\", \u0026ebs.DiskReplicaPairArgs{\n\t\t\tDestinationDiskId: destination.ID(),\n\t\t\tDestinationRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tPaymentType: pulumi.String(\"POSTPAY\"),\n\t\t\tDestinationZoneId: destination.ZoneId,\n\t\t\tSourceZoneId: defaultEcsDisk.ZoneId,\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ebs.EbsFunctions;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ebs.DiskReplicaPair;\nimport com.pulumi.alicloud.ebs.DiskReplicaPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetRegions = EbsFunctions.getRegions(GetRegionsArgs.builder()\n .regionId(default_.regions()[0].id())\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(defaultGetRegions.regions()[0].zones()[0].zoneId())\n .category(\"cloud_essd\")\n .deleteAutoSnapshot(true)\n .deleteWithInstance(true)\n .description(name)\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\"),\n Map.entry(\"controlledBy\", \"ear\")\n ))\n .build());\n\n var destination = new EcsDisk(\"destination\", EcsDiskArgs.builder()\n .zoneId(defaultGetRegions.regions()[0].zones()[1].zoneId())\n .category(\"cloud_essd\")\n .deleteAutoSnapshot(true)\n .deleteWithInstance(true)\n .description(StdFunctions.format(FormatArgs.builder()\n .input(\"%s-destination\")\n .args(name)\n .build()).result())\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\"),\n Map.entry(\"controlledBy\", \"ear\")\n ))\n .build());\n\n var defaultDiskReplicaPair = new DiskReplicaPair(\"defaultDiskReplicaPair\", DiskReplicaPairArgs.builder()\n .destinationDiskId(destination.id())\n .destinationRegionId(default_.regions()[0].id())\n .paymentType(\"POSTPAY\")\n .destinationZoneId(destination.zoneId())\n .sourceZoneId(defaultEcsDisk.zoneId())\n .diskId(defaultEcsDisk.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${defaultGetRegions.regions[0].zones[0].zoneId}\n category: cloud_essd\n deleteAutoSnapshot: 'true'\n deleteWithInstance: 'true'\n description: ${name}\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n For: example\n controlledBy: ear\n destination:\n type: alicloud:ecs:EcsDisk\n properties:\n zoneId: ${defaultGetRegions.regions[0].zones[1].zoneId}\n category: cloud_essd\n deleteAutoSnapshot: 'true'\n deleteWithInstance: 'true'\n description:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s-destination'\n args:\n - ${name}\n return: result\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n For: example\n controlledBy: ear\n defaultDiskReplicaPair:\n type: alicloud:ebs:DiskReplicaPair\n name: default\n properties:\n destinationDiskId: ${destination.id}\n destinationRegionId: ${default.regions[0].id}\n paymentType: POSTPAY\n destinationZoneId: ${destination.zoneId}\n sourceZoneId: ${defaultEcsDisk.zoneId}\n diskId: ${defaultEcsDisk.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetRegions:\n fn::invoke:\n function: alicloud:ebs:getRegions\n arguments:\n regionId: ${default.regions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/diskReplicaPair:DiskReplicaPair example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -149087,7 +151716,7 @@ } }, "alicloud:ebs/enterpriseSnapshotPolicy:EnterpriseSnapshotPolicy": { - "description": "Provides a EBS Enterprise Snapshot Policy resource. enterprise snapshot policy.\n\nFor information about EBS Enterprise Snapshot Policy and how to use it, see [What is Enterprise Snapshot Policy](https://next.api.aliyun.com/api/ebs/2021-07-30/CreateEnterpriseSnapshotPolicy).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultJkW46o = new alicloud.ecs.EcsDisk(\"defaultJkW46o\", {\n category: \"cloud_essd\",\n description: \"esp-attachment-test\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n size: 20,\n diskName: name,\n});\nconst defaultPE3jjR = new alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", {\n status: \"DISABLED\",\n desc: \"DESC\",\n schedule: {\n cronExpression: \"0 0 0 1 * ?\",\n },\n enterpriseSnapshotPolicyName: name,\n targetType: \"DISK\",\n retainRule: {\n timeInterval: 120,\n timeUnit: \"DAYS\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_jk_w46o = alicloud.ecs.EcsDisk(\"defaultJkW46o\",\n category=\"cloud_essd\",\n description=\"esp-attachment-test\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n size=20,\n disk_name=name)\ndefault_pe3jj_r = alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\",\n status=\"DISABLED\",\n desc=\"DESC\",\n schedule={\n \"cron_expression\": \"0 0 0 1 * ?\",\n },\n enterprise_snapshot_policy_name=name,\n target_type=\"DISK\",\n retain_rule={\n \"time_interval\": 120,\n \"time_unit\": \"DAYS\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultJkW46o = new AliCloud.Ecs.EcsDisk(\"defaultJkW46o\", new()\n {\n Category = \"cloud_essd\",\n Description = \"esp-attachment-test\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n Size = 20,\n DiskName = name,\n });\n\n var defaultPE3jjR = new AliCloud.Ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", new()\n {\n Status = \"DISABLED\",\n Desc = \"DESC\",\n Schedule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyScheduleArgs\n {\n CronExpression = \"0 0 0 1 * ?\",\n },\n EnterpriseSnapshotPolicyName = name,\n TargetType = \"DISK\",\n RetainRule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyRetainRuleArgs\n {\n TimeInterval = 120,\n TimeUnit = \"DAYS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEcsDisk(ctx, \"defaultJkW46o\", \u0026ecs.EcsDiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDescription: pulumi.String(\"esp-attachment-test\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDiskName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewEnterpriseSnapshotPolicy(ctx, \"defaultPE3jjR\", \u0026ebs.EnterpriseSnapshotPolicyArgs{\n\t\t\tStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDesc: pulumi.String(\"DESC\"),\n\t\t\tSchedule: \u0026ebs.EnterpriseSnapshotPolicyScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 0 1 * ?\"),\n\t\t\t},\n\t\t\tEnterpriseSnapshotPolicyName: pulumi.String(name),\n\t\t\tTargetType: pulumi.String(\"DISK\"),\n\t\t\tRetainRule: \u0026ebs.EnterpriseSnapshotPolicyRetainRuleArgs{\n\t\t\t\tTimeInterval: pulumi.Int(120),\n\t\t\t\tTimeUnit: pulumi.String(\"DAYS\"),\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.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicy;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyScheduleArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyRetainRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultJkW46o = new EcsDisk(\"defaultJkW46o\", EcsDiskArgs.builder()\n .category(\"cloud_essd\")\n .description(\"esp-attachment-test\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .size(20)\n .diskName(name)\n .build());\n\n var defaultPE3jjR = new EnterpriseSnapshotPolicy(\"defaultPE3jjR\", EnterpriseSnapshotPolicyArgs.builder()\n .status(\"DISABLED\")\n .desc(\"DESC\")\n .schedule(EnterpriseSnapshotPolicyScheduleArgs.builder()\n .cronExpression(\"0 0 0 1 * ?\")\n .build())\n .enterpriseSnapshotPolicyName(name)\n .targetType(\"DISK\")\n .retainRule(EnterpriseSnapshotPolicyRetainRuleArgs.builder()\n .timeInterval(120)\n .timeUnit(\"DAYS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultJkW46o:\n type: alicloud:ecs:EcsDisk\n properties:\n category: cloud_essd\n description: esp-attachment-test\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n size: '20'\n diskName: ${name}\n defaultPE3jjR:\n type: alicloud:ebs:EnterpriseSnapshotPolicy\n properties:\n status: DISABLED\n desc: DESC\n schedule:\n cronExpression: 0 0 0 1 * ?\n enterpriseSnapshotPolicyName: ${name}\n targetType: DISK\n retainRule:\n timeInterval: '120'\n timeUnit: DAYS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEBS Enterprise Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/enterpriseSnapshotPolicy:EnterpriseSnapshotPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a EBS Enterprise Snapshot Policy resource. enterprise snapshot policy.\n\nFor information about EBS Enterprise Snapshot Policy and how to use it, see [What is Enterprise Snapshot Policy](https://next.api.aliyun.com/api/ebs/2021-07-30/CreateEnterpriseSnapshotPolicy).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultJkW46o = new alicloud.ecs.EcsDisk(\"defaultJkW46o\", {\n category: \"cloud_essd\",\n description: \"esp-attachment-test\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n size: 20,\n diskName: name,\n});\nconst defaultPE3jjR = new alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", {\n status: \"DISABLED\",\n desc: \"DESC\",\n schedule: {\n cronExpression: \"0 0 0 1 * ?\",\n },\n enterpriseSnapshotPolicyName: name,\n targetType: \"DISK\",\n retainRule: {\n timeInterval: 120,\n timeUnit: \"DAYS\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_jk_w46o = alicloud.ecs.EcsDisk(\"defaultJkW46o\",\n category=\"cloud_essd\",\n description=\"esp-attachment-test\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n size=20,\n disk_name=name)\ndefault_pe3jj_r = alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\",\n status=\"DISABLED\",\n desc=\"DESC\",\n schedule={\n \"cron_expression\": \"0 0 0 1 * ?\",\n },\n enterprise_snapshot_policy_name=name,\n target_type=\"DISK\",\n retain_rule={\n \"time_interval\": 120,\n \"time_unit\": \"DAYS\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultJkW46o = new AliCloud.Ecs.EcsDisk(\"defaultJkW46o\", new()\n {\n Category = \"cloud_essd\",\n Description = \"esp-attachment-test\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n Size = 20,\n DiskName = name,\n });\n\n var defaultPE3jjR = new AliCloud.Ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", new()\n {\n Status = \"DISABLED\",\n Desc = \"DESC\",\n Schedule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyScheduleArgs\n {\n CronExpression = \"0 0 0 1 * ?\",\n },\n EnterpriseSnapshotPolicyName = name,\n TargetType = \"DISK\",\n RetainRule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyRetainRuleArgs\n {\n TimeInterval = 120,\n TimeUnit = \"DAYS\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEcsDisk(ctx, \"defaultJkW46o\", \u0026ecs.EcsDiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDescription: pulumi.String(\"esp-attachment-test\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDiskName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewEnterpriseSnapshotPolicy(ctx, \"defaultPE3jjR\", \u0026ebs.EnterpriseSnapshotPolicyArgs{\n\t\t\tStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDesc: pulumi.String(\"DESC\"),\n\t\t\tSchedule: \u0026ebs.EnterpriseSnapshotPolicyScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 0 1 * ?\"),\n\t\t\t},\n\t\t\tEnterpriseSnapshotPolicyName: pulumi.String(name),\n\t\t\tTargetType: pulumi.String(\"DISK\"),\n\t\t\tRetainRule: \u0026ebs.EnterpriseSnapshotPolicyRetainRuleArgs{\n\t\t\t\tTimeInterval: pulumi.Int(120),\n\t\t\t\tTimeUnit: pulumi.String(\"DAYS\"),\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.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicy;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyScheduleArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyRetainRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultJkW46o = new EcsDisk(\"defaultJkW46o\", EcsDiskArgs.builder()\n .category(\"cloud_essd\")\n .description(\"esp-attachment-test\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .size(20)\n .diskName(name)\n .build());\n\n var defaultPE3jjR = new EnterpriseSnapshotPolicy(\"defaultPE3jjR\", EnterpriseSnapshotPolicyArgs.builder()\n .status(\"DISABLED\")\n .desc(\"DESC\")\n .schedule(EnterpriseSnapshotPolicyScheduleArgs.builder()\n .cronExpression(\"0 0 0 1 * ?\")\n .build())\n .enterpriseSnapshotPolicyName(name)\n .targetType(\"DISK\")\n .retainRule(EnterpriseSnapshotPolicyRetainRuleArgs.builder()\n .timeInterval(120)\n .timeUnit(\"DAYS\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultJkW46o:\n type: alicloud:ecs:EcsDisk\n properties:\n category: cloud_essd\n description: esp-attachment-test\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n size: '20'\n diskName: ${name}\n defaultPE3jjR:\n type: alicloud:ebs:EnterpriseSnapshotPolicy\n properties:\n status: DISABLED\n desc: DESC\n schedule:\n cronExpression: 0 0 0 1 * ?\n enterpriseSnapshotPolicyName: ${name}\n targetType: DISK\n retainRule:\n timeInterval: '120'\n timeUnit: DAYS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEBS Enterprise Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/enterpriseSnapshotPolicy:EnterpriseSnapshotPolicy example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -149270,7 +151899,7 @@ } }, "alicloud:ebs/enterpriseSnapshotPolicyAttachment:EnterpriseSnapshotPolicyAttachment": { - "description": "Provides a EBS Enterprise Snapshot Policy Attachment resource. Enterprise-level snapshot policy cloud disk binding relationship.\n\nFor information about EBS Enterprise Snapshot Policy Attachment and how to use it, see [What is Enterprise Snapshot Policy Attachment](https://next.api.aliyun.com/api/ebs/2021-07-30/BindEnterpriseSnapshotPolicy).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultJkW46o = new alicloud.ecs.EcsDisk(\"defaultJkW46o\", {\n category: \"cloud_essd\",\n description: \"esp-attachment-test\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n size: 20,\n diskName: name,\n});\nconst defaultPE3jjR = new alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", {\n status: \"DISABLED\",\n desc: \"DESC\",\n schedule: {\n cronExpression: \"0 0 0 1 * ?\",\n },\n enterpriseSnapshotPolicyName: name,\n targetType: \"DISK\",\n retainRule: {\n timeInterval: 120,\n timeUnit: \"DAYS\",\n },\n});\nconst _default = new alicloud.ebs.EnterpriseSnapshotPolicyAttachment(\"default\", {\n policyId: defaultPE3jjR.id,\n diskId: defaultJkW46o.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_jk_w46o = alicloud.ecs.EcsDisk(\"defaultJkW46o\",\n category=\"cloud_essd\",\n description=\"esp-attachment-test\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n size=20,\n disk_name=name)\ndefault_pe3jj_r = alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\",\n status=\"DISABLED\",\n desc=\"DESC\",\n schedule={\n \"cron_expression\": \"0 0 0 1 * ?\",\n },\n enterprise_snapshot_policy_name=name,\n target_type=\"DISK\",\n retain_rule={\n \"time_interval\": 120,\n \"time_unit\": \"DAYS\",\n })\ndefault = alicloud.ebs.EnterpriseSnapshotPolicyAttachment(\"default\",\n policy_id=default_pe3jj_r.id,\n disk_id=default_jk_w46o.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultJkW46o = new AliCloud.Ecs.EcsDisk(\"defaultJkW46o\", new()\n {\n Category = \"cloud_essd\",\n Description = \"esp-attachment-test\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n Size = 20,\n DiskName = name,\n });\n\n var defaultPE3jjR = new AliCloud.Ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", new()\n {\n Status = \"DISABLED\",\n Desc = \"DESC\",\n Schedule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyScheduleArgs\n {\n CronExpression = \"0 0 0 1 * ?\",\n },\n EnterpriseSnapshotPolicyName = name,\n TargetType = \"DISK\",\n RetainRule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyRetainRuleArgs\n {\n TimeInterval = 120,\n TimeUnit = \"DAYS\",\n },\n });\n\n var @default = new AliCloud.Ebs.EnterpriseSnapshotPolicyAttachment(\"default\", new()\n {\n PolicyId = defaultPE3jjR.Id,\n DiskId = defaultJkW46o.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultJkW46o, err := ecs.NewEcsDisk(ctx, \"defaultJkW46o\", \u0026ecs.EcsDiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDescription: pulumi.String(\"esp-attachment-test\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDiskName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPE3jjR, err := ebs.NewEnterpriseSnapshotPolicy(ctx, \"defaultPE3jjR\", \u0026ebs.EnterpriseSnapshotPolicyArgs{\n\t\t\tStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDesc: pulumi.String(\"DESC\"),\n\t\t\tSchedule: \u0026ebs.EnterpriseSnapshotPolicyScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 0 1 * ?\"),\n\t\t\t},\n\t\t\tEnterpriseSnapshotPolicyName: pulumi.String(name),\n\t\t\tTargetType: pulumi.String(\"DISK\"),\n\t\t\tRetainRule: \u0026ebs.EnterpriseSnapshotPolicyRetainRuleArgs{\n\t\t\t\tTimeInterval: pulumi.Int(120),\n\t\t\t\tTimeUnit: pulumi.String(\"DAYS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewEnterpriseSnapshotPolicyAttachment(ctx, \"default\", \u0026ebs.EnterpriseSnapshotPolicyAttachmentArgs{\n\t\t\tPolicyId: defaultPE3jjR.ID(),\n\t\t\tDiskId: defaultJkW46o.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.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicy;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyScheduleArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyRetainRuleArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyAttachment;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultJkW46o = new EcsDisk(\"defaultJkW46o\", EcsDiskArgs.builder()\n .category(\"cloud_essd\")\n .description(\"esp-attachment-test\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .size(20)\n .diskName(name)\n .build());\n\n var defaultPE3jjR = new EnterpriseSnapshotPolicy(\"defaultPE3jjR\", EnterpriseSnapshotPolicyArgs.builder()\n .status(\"DISABLED\")\n .desc(\"DESC\")\n .schedule(EnterpriseSnapshotPolicyScheduleArgs.builder()\n .cronExpression(\"0 0 0 1 * ?\")\n .build())\n .enterpriseSnapshotPolicyName(name)\n .targetType(\"DISK\")\n .retainRule(EnterpriseSnapshotPolicyRetainRuleArgs.builder()\n .timeInterval(120)\n .timeUnit(\"DAYS\")\n .build())\n .build());\n\n var default_ = new EnterpriseSnapshotPolicyAttachment(\"default\", EnterpriseSnapshotPolicyAttachmentArgs.builder()\n .policyId(defaultPE3jjR.id())\n .diskId(defaultJkW46o.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultJkW46o:\n type: alicloud:ecs:EcsDisk\n properties:\n category: cloud_essd\n description: esp-attachment-test\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n size: '20'\n diskName: ${name}\n defaultPE3jjR:\n type: alicloud:ebs:EnterpriseSnapshotPolicy\n properties:\n status: DISABLED\n desc: DESC\n schedule:\n cronExpression: 0 0 0 1 * ?\n enterpriseSnapshotPolicyName: ${name}\n targetType: DISK\n retainRule:\n timeInterval: '120'\n timeUnit: DAYS\n default:\n type: alicloud:ebs:EnterpriseSnapshotPolicyAttachment\n properties:\n policyId: ${defaultPE3jjR.id}\n diskId: ${defaultJkW46o.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/enterpriseSnapshotPolicyAttachment:EnterpriseSnapshotPolicyAttachment example \u003cpolicy_id\u003e:\u003cdisk_id\u003e\n```\n\n", + "description": "Provides a EBS Enterprise Snapshot Policy Attachment resource. Enterprise-level snapshot policy cloud disk binding relationship.\n\nFor information about EBS Enterprise Snapshot Policy Attachment and how to use it, see [What is Enterprise Snapshot Policy Attachment](https://next.api.aliyun.com/api/ebs/2021-07-30/BindEnterpriseSnapshotPolicy).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultJkW46o = new alicloud.ecs.EcsDisk(\"defaultJkW46o\", {\n category: \"cloud_essd\",\n description: \"esp-attachment-test\",\n zoneId: \"cn-hangzhou-i\",\n performanceLevel: \"PL1\",\n size: 20,\n diskName: name,\n});\nconst defaultPE3jjR = new alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", {\n status: \"DISABLED\",\n desc: \"DESC\",\n schedule: {\n cronExpression: \"0 0 0 1 * ?\",\n },\n enterpriseSnapshotPolicyName: name,\n targetType: \"DISK\",\n retainRule: {\n timeInterval: 120,\n timeUnit: \"DAYS\",\n },\n});\nconst _default = new alicloud.ebs.EnterpriseSnapshotPolicyAttachment(\"default\", {\n policyId: defaultPE3jjR.id,\n diskId: defaultJkW46o.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_jk_w46o = alicloud.ecs.EcsDisk(\"defaultJkW46o\",\n category=\"cloud_essd\",\n description=\"esp-attachment-test\",\n zone_id=\"cn-hangzhou-i\",\n performance_level=\"PL1\",\n size=20,\n disk_name=name)\ndefault_pe3jj_r = alicloud.ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\",\n status=\"DISABLED\",\n desc=\"DESC\",\n schedule={\n \"cron_expression\": \"0 0 0 1 * ?\",\n },\n enterprise_snapshot_policy_name=name,\n target_type=\"DISK\",\n retain_rule={\n \"time_interval\": 120,\n \"time_unit\": \"DAYS\",\n })\ndefault = alicloud.ebs.EnterpriseSnapshotPolicyAttachment(\"default\",\n policy_id=default_pe3jj_r.id,\n disk_id=default_jk_w46o.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultJkW46o = new AliCloud.Ecs.EcsDisk(\"defaultJkW46o\", new()\n {\n Category = \"cloud_essd\",\n Description = \"esp-attachment-test\",\n ZoneId = \"cn-hangzhou-i\",\n PerformanceLevel = \"PL1\",\n Size = 20,\n DiskName = name,\n });\n\n var defaultPE3jjR = new AliCloud.Ebs.EnterpriseSnapshotPolicy(\"defaultPE3jjR\", new()\n {\n Status = \"DISABLED\",\n Desc = \"DESC\",\n Schedule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyScheduleArgs\n {\n CronExpression = \"0 0 0 1 * ?\",\n },\n EnterpriseSnapshotPolicyName = name,\n TargetType = \"DISK\",\n RetainRule = new AliCloud.Ebs.Inputs.EnterpriseSnapshotPolicyRetainRuleArgs\n {\n TimeInterval = 120,\n TimeUnit = \"DAYS\",\n },\n });\n\n var @default = new AliCloud.Ebs.EnterpriseSnapshotPolicyAttachment(\"default\", new()\n {\n PolicyId = defaultPE3jjR.Id,\n DiskId = defaultJkW46o.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultJkW46o, err := ecs.NewEcsDisk(ctx, \"defaultJkW46o\", \u0026ecs.EcsDiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDescription: pulumi.String(\"esp-attachment-test\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDiskName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPE3jjR, err := ebs.NewEnterpriseSnapshotPolicy(ctx, \"defaultPE3jjR\", \u0026ebs.EnterpriseSnapshotPolicyArgs{\n\t\t\tStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDesc: pulumi.String(\"DESC\"),\n\t\t\tSchedule: \u0026ebs.EnterpriseSnapshotPolicyScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 0 1 * ?\"),\n\t\t\t},\n\t\t\tEnterpriseSnapshotPolicyName: pulumi.String(name),\n\t\t\tTargetType: pulumi.String(\"DISK\"),\n\t\t\tRetainRule: \u0026ebs.EnterpriseSnapshotPolicyRetainRuleArgs{\n\t\t\t\tTimeInterval: pulumi.Int(120),\n\t\t\t\tTimeUnit: pulumi.String(\"DAYS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewEnterpriseSnapshotPolicyAttachment(ctx, \"default\", \u0026ebs.EnterpriseSnapshotPolicyAttachmentArgs{\n\t\t\tPolicyId: defaultPE3jjR.ID(),\n\t\t\tDiskId: defaultJkW46o.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.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicy;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyScheduleArgs;\nimport com.pulumi.alicloud.ebs.inputs.EnterpriseSnapshotPolicyRetainRuleArgs;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyAttachment;\nimport com.pulumi.alicloud.ebs.EnterpriseSnapshotPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultJkW46o = new EcsDisk(\"defaultJkW46o\", EcsDiskArgs.builder()\n .category(\"cloud_essd\")\n .description(\"esp-attachment-test\")\n .zoneId(\"cn-hangzhou-i\")\n .performanceLevel(\"PL1\")\n .size(20)\n .diskName(name)\n .build());\n\n var defaultPE3jjR = new EnterpriseSnapshotPolicy(\"defaultPE3jjR\", EnterpriseSnapshotPolicyArgs.builder()\n .status(\"DISABLED\")\n .desc(\"DESC\")\n .schedule(EnterpriseSnapshotPolicyScheduleArgs.builder()\n .cronExpression(\"0 0 0 1 * ?\")\n .build())\n .enterpriseSnapshotPolicyName(name)\n .targetType(\"DISK\")\n .retainRule(EnterpriseSnapshotPolicyRetainRuleArgs.builder()\n .timeInterval(120)\n .timeUnit(\"DAYS\")\n .build())\n .build());\n\n var default_ = new EnterpriseSnapshotPolicyAttachment(\"default\", EnterpriseSnapshotPolicyAttachmentArgs.builder()\n .policyId(defaultPE3jjR.id())\n .diskId(defaultJkW46o.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultJkW46o:\n type: alicloud:ecs:EcsDisk\n properties:\n category: cloud_essd\n description: esp-attachment-test\n zoneId: cn-hangzhou-i\n performanceLevel: PL1\n size: '20'\n diskName: ${name}\n defaultPE3jjR:\n type: alicloud:ebs:EnterpriseSnapshotPolicy\n properties:\n status: DISABLED\n desc: DESC\n schedule:\n cronExpression: 0 0 0 1 * ?\n enterpriseSnapshotPolicyName: ${name}\n targetType: DISK\n retainRule:\n timeInterval: '120'\n timeUnit: DAYS\n default:\n type: alicloud:ebs:EnterpriseSnapshotPolicyAttachment\n properties:\n policyId: ${defaultPE3jjR.id}\n diskId: ${defaultJkW46o.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/enterpriseSnapshotPolicyAttachment:EnterpriseSnapshotPolicyAttachment example \u003cpolicy_id\u003e:\u003cdisk_id\u003e\n```\n\n", "properties": { "diskId": { "type": "string", @@ -149318,7 +151947,7 @@ } }, "alicloud:ebs/replicaGroupDrill:ReplicaGroupDrill": { - "description": "Provides a EBS Replica Group Drill resource. \n\nFor information about Elastic Block Storage(EBS) Replica Group Drill and how to use it, see [What is Replica Group Drill](https://next.api.alibabacloud.com/document/ebs/2021-07-30/StartReplicaGroupDrill).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ebs.ReplicaGroupDrill(\"default\", {groupId: \"pg-m1H9aaOUIGsDUwgZ\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ebs.ReplicaGroupDrill(\"default\", group_id=\"pg-m1H9aaOUIGsDUwgZ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ebs.ReplicaGroupDrill(\"default\", new()\n {\n GroupId = \"pg-m1H9aaOUIGsDUwgZ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ebs.NewReplicaGroupDrill(ctx, \"default\", \u0026ebs.ReplicaGroupDrillArgs{\n\t\t\tGroupId: pulumi.String(\"pg-m1H9aaOUIGsDUwgZ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.ReplicaGroupDrill;\nimport com.pulumi.alicloud.ebs.ReplicaGroupDrillArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ReplicaGroupDrill(\"default\", ReplicaGroupDrillArgs.builder()\n .groupId(\"pg-m1H9aaOUIGsDUwgZ\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ebs:ReplicaGroupDrill\n properties:\n groupId: pg-m1H9aaOUIGsDUwgZ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEBS Replica Group Drill can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/replicaGroupDrill:ReplicaGroupDrill example \u003cgroup_id\u003e:\u003creplica_group_drill_id\u003e\n```\n\n", + "description": "Provides a EBS Replica Group Drill resource. \n\nFor information about Elastic Block Storage(EBS) Replica Group Drill and how to use it, see [What is Replica Group Drill](https://next.api.alibabacloud.com/document/ebs/2021-07-30/StartReplicaGroupDrill).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ebs.ReplicaGroupDrill(\"default\", {groupId: \"pg-m1H9aaOUIGsDUwgZ\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ebs.ReplicaGroupDrill(\"default\", group_id=\"pg-m1H9aaOUIGsDUwgZ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ebs.ReplicaGroupDrill(\"default\", new()\n {\n GroupId = \"pg-m1H9aaOUIGsDUwgZ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ebs.NewReplicaGroupDrill(ctx, \"default\", \u0026ebs.ReplicaGroupDrillArgs{\n\t\t\tGroupId: pulumi.String(\"pg-m1H9aaOUIGsDUwgZ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.ReplicaGroupDrill;\nimport com.pulumi.alicloud.ebs.ReplicaGroupDrillArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ReplicaGroupDrill(\"default\", ReplicaGroupDrillArgs.builder()\n .groupId(\"pg-m1H9aaOUIGsDUwgZ\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ebs:ReplicaGroupDrill\n properties:\n groupId: pg-m1H9aaOUIGsDUwgZ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEBS Replica Group Drill can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/replicaGroupDrill:ReplicaGroupDrill example \u003cgroup_id\u003e:\u003creplica_group_drill_id\u003e\n```\n\n", "properties": { "groupId": { "type": "string", @@ -149369,7 +151998,7 @@ } }, "alicloud:ebs/replicaPairDrill:ReplicaPairDrill": { - "description": "Provides a EBS Replica Pair Drill resource. \n\nFor information about Elastic Block Storage(EBS) Replica Pair Drill and how to use it, see [What is Replica Pair Drill](https://next.api.alibabacloud.com/document/ebs/2021-07-30/StartPairDrill).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ebs.ReplicaPairDrill(\"default\", {pairId: \"pair-cn-wwo3kjfq5001\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ebs.ReplicaPairDrill(\"default\", pair_id=\"pair-cn-wwo3kjfq5001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ebs.ReplicaPairDrill(\"default\", new()\n {\n PairId = \"pair-cn-wwo3kjfq5001\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ebs.NewReplicaPairDrill(ctx, \"default\", \u0026ebs.ReplicaPairDrillArgs{\n\t\t\tPairId: pulumi.String(\"pair-cn-wwo3kjfq5001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.ReplicaPairDrill;\nimport com.pulumi.alicloud.ebs.ReplicaPairDrillArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ReplicaPairDrill(\"default\", ReplicaPairDrillArgs.builder()\n .pairId(\"pair-cn-wwo3kjfq5001\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ebs:ReplicaPairDrill\n properties:\n pairId: pair-cn-wwo3kjfq5001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEBS Replica Pair Drill can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/replicaPairDrill:ReplicaPairDrill example \u003cpair_id\u003e:\u003creplica_pair_drill_id\u003e\n```\n\n", + "description": "Provides a EBS Replica Pair Drill resource. \n\nFor information about Elastic Block Storage(EBS) Replica Pair Drill and how to use it, see [What is Replica Pair Drill](https://next.api.alibabacloud.com/document/ebs/2021-07-30/StartPairDrill).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ebs.ReplicaPairDrill(\"default\", {pairId: \"pair-cn-wwo3kjfq5001\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ebs.ReplicaPairDrill(\"default\", pair_id=\"pair-cn-wwo3kjfq5001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ebs.ReplicaPairDrill(\"default\", new()\n {\n PairId = \"pair-cn-wwo3kjfq5001\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ebs.NewReplicaPairDrill(ctx, \"default\", \u0026ebs.ReplicaPairDrillArgs{\n\t\t\tPairId: pulumi.String(\"pair-cn-wwo3kjfq5001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ebs.ReplicaPairDrill;\nimport com.pulumi.alicloud.ebs.ReplicaPairDrillArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ReplicaPairDrill(\"default\", ReplicaPairDrillArgs.builder()\n .pairId(\"pair-cn-wwo3kjfq5001\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ebs:ReplicaPairDrill\n properties:\n pairId: pair-cn-wwo3kjfq5001\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEBS Replica Pair Drill can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/replicaPairDrill:ReplicaPairDrill example \u003cpair_id\u003e:\u003creplica_pair_drill_id\u003e\n```\n\n", "properties": { "pairId": { "type": "string", @@ -149420,7 +152049,7 @@ } }, "alicloud:ebs/solutionInstance:SolutionInstance": { - "description": "Provides a EBS Solution Instance resource. \n\nFor information about EBS Solution Instance and how to use it, see [What is Solution Instance](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-shanghai-l\";\nconst regionId = config.get(\"regionId\") || \"cn-shanghai\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSolutionInstance = new alicloud.ebs.SolutionInstance(\"default\", {\n solutionInstanceName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n description: \"description\",\n solutionId: \"mysql\",\n parameters: [\n {\n parameterKey: \"zoneId\",\n parameterValue: zoneId,\n },\n {\n parameterKey: \"ecsType\",\n parameterValue: \"ecs.c6.large\",\n },\n {\n parameterKey: \"ecsImageId\",\n parameterValue: \"CentOS_7\",\n },\n {\n parameterKey: \"internetMaxBandwidthOut\",\n parameterValue: \"100\",\n },\n {\n parameterKey: \"internetChargeType\",\n parameterValue: \"PayByTraffic\",\n },\n {\n parameterKey: \"ecsPassword\",\n parameterValue: \"Ebs12345\",\n },\n {\n parameterKey: \"sysDiskType\",\n parameterValue: \"cloud_essd\",\n },\n {\n parameterKey: \"sysDiskPerformance\",\n parameterValue: \"PL0\",\n },\n {\n parameterKey: \"sysDiskSize\",\n parameterValue: \"40\",\n },\n {\n parameterKey: \"dataDiskType\",\n parameterValue: \"cloud_essd\",\n },\n {\n parameterKey: \"dataDiskPerformance\",\n parameterValue: \"PL0\",\n },\n {\n parameterKey: \"dataDiskSize\",\n parameterValue: \"40\",\n },\n {\n parameterKey: \"mysqlVersion\",\n parameterValue: \"MySQL80\",\n },\n {\n parameterKey: \"mysqlUser\",\n parameterValue: \"root\",\n },\n {\n parameterKey: \"mysqlPassword\",\n parameterValue: \"Ebs12345\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-shanghai-l\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-shanghai\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_solution_instance = alicloud.ebs.SolutionInstance(\"default\",\n solution_instance_name=name,\n resource_group_id=default.ids[0],\n description=\"description\",\n solution_id=\"mysql\",\n parameters=[\n {\n \"parameter_key\": \"zoneId\",\n \"parameter_value\": zone_id,\n },\n {\n \"parameter_key\": \"ecsType\",\n \"parameter_value\": \"ecs.c6.large\",\n },\n {\n \"parameter_key\": \"ecsImageId\",\n \"parameter_value\": \"CentOS_7\",\n },\n {\n \"parameter_key\": \"internetMaxBandwidthOut\",\n \"parameter_value\": \"100\",\n },\n {\n \"parameter_key\": \"internetChargeType\",\n \"parameter_value\": \"PayByTraffic\",\n },\n {\n \"parameter_key\": \"ecsPassword\",\n \"parameter_value\": \"Ebs12345\",\n },\n {\n \"parameter_key\": \"sysDiskType\",\n \"parameter_value\": \"cloud_essd\",\n },\n {\n \"parameter_key\": \"sysDiskPerformance\",\n \"parameter_value\": \"PL0\",\n },\n {\n \"parameter_key\": \"sysDiskSize\",\n \"parameter_value\": \"40\",\n },\n {\n \"parameter_key\": \"dataDiskType\",\n \"parameter_value\": \"cloud_essd\",\n },\n {\n \"parameter_key\": \"dataDiskPerformance\",\n \"parameter_value\": \"PL0\",\n },\n {\n \"parameter_key\": \"dataDiskSize\",\n \"parameter_value\": \"40\",\n },\n {\n \"parameter_key\": \"mysqlVersion\",\n \"parameter_value\": \"MySQL80\",\n },\n {\n \"parameter_key\": \"mysqlUser\",\n \"parameter_value\": \"root\",\n },\n {\n \"parameter_key\": \"mysqlPassword\",\n \"parameter_value\": \"Ebs12345\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-shanghai-l\";\n var regionId = config.Get(\"regionId\") ?? \"cn-shanghai\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSolutionInstance = new AliCloud.Ebs.SolutionInstance(\"default\", new()\n {\n SolutionInstanceName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Description = \"description\",\n SolutionId = \"mysql\",\n Parameters = new[]\n {\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"zoneId\",\n ParameterValue = zoneId,\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsType\",\n ParameterValue = \"ecs.c6.large\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsImageId\",\n ParameterValue = \"CentOS_7\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"internetMaxBandwidthOut\",\n ParameterValue = \"100\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"internetChargeType\",\n ParameterValue = \"PayByTraffic\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsPassword\",\n ParameterValue = \"Ebs12345\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskType\",\n ParameterValue = \"cloud_essd\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskPerformance\",\n ParameterValue = \"PL0\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskSize\",\n ParameterValue = \"40\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskType\",\n ParameterValue = \"cloud_essd\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskPerformance\",\n ParameterValue = \"PL0\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskSize\",\n ParameterValue = \"40\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlVersion\",\n ParameterValue = \"MySQL80\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlUser\",\n ParameterValue = \"root\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlPassword\",\n ParameterValue = \"Ebs12345\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId := \"cn-shanghai-l\"\n\t\tif param := cfg.Get(\"zoneId\"); param != \"\" {\n\t\t\tzoneId = param\n\t\t}\n\t\tregionId := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSolutionInstance(ctx, \"default\", \u0026ebs.SolutionInstanceArgs{\n\t\t\tSolutionInstanceName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tSolutionId: pulumi.String(\"mysql\"),\n\t\t\tParameters: ebs.SolutionInstanceParameterArray{\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"zoneId\"),\n\t\t\t\t\tParameterValue: pulumi.String(zoneId),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"ecs.c6.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsImageId\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"CentOS_7\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"internetMaxBandwidthOut\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"internetChargeType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PayByTraffic\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsPassword\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Ebs12345\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"cloud_essd\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskPerformance\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PL0\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskSize\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"40\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"cloud_essd\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskPerformance\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PL0\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskSize\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"40\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlVersion\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"MySQL80\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlUser\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"root\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlPassword\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Ebs12345\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ebs.SolutionInstance;\nimport com.pulumi.alicloud.ebs.SolutionInstanceArgs;\nimport com.pulumi.alicloud.ebs.inputs.SolutionInstanceParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-shanghai-l\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-shanghai\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSolutionInstance = new SolutionInstance(\"defaultSolutionInstance\", SolutionInstanceArgs.builder()\n .solutionInstanceName(name)\n .resourceGroupId(default_.ids()[0])\n .description(\"description\")\n .solutionId(\"mysql\")\n .parameters( \n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"zoneId\")\n .parameterValue(zoneId)\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsType\")\n .parameterValue(\"ecs.c6.large\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsImageId\")\n .parameterValue(\"CentOS_7\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"internetMaxBandwidthOut\")\n .parameterValue(\"100\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"internetChargeType\")\n .parameterValue(\"PayByTraffic\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsPassword\")\n .parameterValue(\"Ebs12345\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskType\")\n .parameterValue(\"cloud_essd\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskPerformance\")\n .parameterValue(\"PL0\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskSize\")\n .parameterValue(\"40\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskType\")\n .parameterValue(\"cloud_essd\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskPerformance\")\n .parameterValue(\"PL0\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskSize\")\n .parameterValue(\"40\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlVersion\")\n .parameterValue(\"MySQL80\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlUser\")\n .parameterValue(\"root\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlPassword\")\n .parameterValue(\"Ebs12345\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId:\n type: string\n default: cn-shanghai-l\n regionId:\n type: string\n default: cn-shanghai\nresources:\n defaultSolutionInstance:\n type: alicloud:ebs:SolutionInstance\n name: default\n properties:\n solutionInstanceName: ${name}\n resourceGroupId: ${default.ids[0]}\n description: description\n solutionId: mysql\n parameters:\n - parameterKey: zoneId\n parameterValue: ${zoneId}\n - parameterKey: ecsType\n parameterValue: ecs.c6.large\n - parameterKey: ecsImageId\n parameterValue: CentOS_7\n - parameterKey: internetMaxBandwidthOut\n parameterValue: '100'\n - parameterKey: internetChargeType\n parameterValue: PayByTraffic\n - parameterKey: ecsPassword\n parameterValue: Ebs12345\n - parameterKey: sysDiskType\n parameterValue: cloud_essd\n - parameterKey: sysDiskPerformance\n parameterValue: PL0\n - parameterKey: sysDiskSize\n parameterValue: '40'\n - parameterKey: dataDiskType\n parameterValue: cloud_essd\n - parameterKey: dataDiskPerformance\n parameterValue: PL0\n - parameterKey: dataDiskSize\n parameterValue: '40'\n - parameterKey: mysqlVersion\n parameterValue: MySQL80\n - parameterKey: mysqlUser\n parameterValue: root\n - parameterKey: mysqlPassword\n parameterValue: Ebs12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEBS Solution Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/solutionInstance:SolutionInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a EBS Solution Instance resource. \n\nFor information about EBS Solution Instance and how to use it, see [What is Solution Instance](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-shanghai-l\";\nconst regionId = config.get(\"regionId\") || \"cn-shanghai\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSolutionInstance = new alicloud.ebs.SolutionInstance(\"default\", {\n solutionInstanceName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n description: \"description\",\n solutionId: \"mysql\",\n parameters: [\n {\n parameterKey: \"zoneId\",\n parameterValue: zoneId,\n },\n {\n parameterKey: \"ecsType\",\n parameterValue: \"ecs.c6.large\",\n },\n {\n parameterKey: \"ecsImageId\",\n parameterValue: \"CentOS_7\",\n },\n {\n parameterKey: \"internetMaxBandwidthOut\",\n parameterValue: \"100\",\n },\n {\n parameterKey: \"internetChargeType\",\n parameterValue: \"PayByTraffic\",\n },\n {\n parameterKey: \"ecsPassword\",\n parameterValue: \"Ebs12345\",\n },\n {\n parameterKey: \"sysDiskType\",\n parameterValue: \"cloud_essd\",\n },\n {\n parameterKey: \"sysDiskPerformance\",\n parameterValue: \"PL0\",\n },\n {\n parameterKey: \"sysDiskSize\",\n parameterValue: \"40\",\n },\n {\n parameterKey: \"dataDiskType\",\n parameterValue: \"cloud_essd\",\n },\n {\n parameterKey: \"dataDiskPerformance\",\n parameterValue: \"PL0\",\n },\n {\n parameterKey: \"dataDiskSize\",\n parameterValue: \"40\",\n },\n {\n parameterKey: \"mysqlVersion\",\n parameterValue: \"MySQL80\",\n },\n {\n parameterKey: \"mysqlUser\",\n parameterValue: \"root\",\n },\n {\n parameterKey: \"mysqlPassword\",\n parameterValue: \"Ebs12345\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-shanghai-l\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-shanghai\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_solution_instance = alicloud.ebs.SolutionInstance(\"default\",\n solution_instance_name=name,\n resource_group_id=default.ids[0],\n description=\"description\",\n solution_id=\"mysql\",\n parameters=[\n {\n \"parameter_key\": \"zoneId\",\n \"parameter_value\": zone_id,\n },\n {\n \"parameter_key\": \"ecsType\",\n \"parameter_value\": \"ecs.c6.large\",\n },\n {\n \"parameter_key\": \"ecsImageId\",\n \"parameter_value\": \"CentOS_7\",\n },\n {\n \"parameter_key\": \"internetMaxBandwidthOut\",\n \"parameter_value\": \"100\",\n },\n {\n \"parameter_key\": \"internetChargeType\",\n \"parameter_value\": \"PayByTraffic\",\n },\n {\n \"parameter_key\": \"ecsPassword\",\n \"parameter_value\": \"Ebs12345\",\n },\n {\n \"parameter_key\": \"sysDiskType\",\n \"parameter_value\": \"cloud_essd\",\n },\n {\n \"parameter_key\": \"sysDiskPerformance\",\n \"parameter_value\": \"PL0\",\n },\n {\n \"parameter_key\": \"sysDiskSize\",\n \"parameter_value\": \"40\",\n },\n {\n \"parameter_key\": \"dataDiskType\",\n \"parameter_value\": \"cloud_essd\",\n },\n {\n \"parameter_key\": \"dataDiskPerformance\",\n \"parameter_value\": \"PL0\",\n },\n {\n \"parameter_key\": \"dataDiskSize\",\n \"parameter_value\": \"40\",\n },\n {\n \"parameter_key\": \"mysqlVersion\",\n \"parameter_value\": \"MySQL80\",\n },\n {\n \"parameter_key\": \"mysqlUser\",\n \"parameter_value\": \"root\",\n },\n {\n \"parameter_key\": \"mysqlPassword\",\n \"parameter_value\": \"Ebs12345\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-shanghai-l\";\n var regionId = config.Get(\"regionId\") ?? \"cn-shanghai\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSolutionInstance = new AliCloud.Ebs.SolutionInstance(\"default\", new()\n {\n SolutionInstanceName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Description = \"description\",\n SolutionId = \"mysql\",\n Parameters = new[]\n {\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"zoneId\",\n ParameterValue = zoneId,\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsType\",\n ParameterValue = \"ecs.c6.large\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsImageId\",\n ParameterValue = \"CentOS_7\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"internetMaxBandwidthOut\",\n ParameterValue = \"100\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"internetChargeType\",\n ParameterValue = \"PayByTraffic\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"ecsPassword\",\n ParameterValue = \"Ebs12345\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskType\",\n ParameterValue = \"cloud_essd\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskPerformance\",\n ParameterValue = \"PL0\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"sysDiskSize\",\n ParameterValue = \"40\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskType\",\n ParameterValue = \"cloud_essd\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskPerformance\",\n ParameterValue = \"PL0\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"dataDiskSize\",\n ParameterValue = \"40\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlVersion\",\n ParameterValue = \"MySQL80\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlUser\",\n ParameterValue = \"root\",\n },\n new AliCloud.Ebs.Inputs.SolutionInstanceParameterArgs\n {\n ParameterKey = \"mysqlPassword\",\n ParameterValue = \"Ebs12345\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ebs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId := \"cn-shanghai-l\"\n\t\tif param := cfg.Get(\"zoneId\"); param != \"\" {\n\t\t\tzoneId = param\n\t\t}\n\t\tregionId := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ebs.NewSolutionInstance(ctx, \"default\", \u0026ebs.SolutionInstanceArgs{\n\t\t\tSolutionInstanceName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tSolutionId: pulumi.String(\"mysql\"),\n\t\t\tParameters: ebs.SolutionInstanceParameterArray{\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"zoneId\"),\n\t\t\t\t\tParameterValue: pulumi.String(zoneId),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"ecs.c6.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsImageId\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"CentOS_7\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"internetMaxBandwidthOut\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"internetChargeType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PayByTraffic\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"ecsPassword\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Ebs12345\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"cloud_essd\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskPerformance\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PL0\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"sysDiskSize\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"40\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"cloud_essd\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskPerformance\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"PL0\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"dataDiskSize\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"40\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlVersion\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"MySQL80\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlUser\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"root\"),\n\t\t\t\t},\n\t\t\t\t\u0026ebs.SolutionInstanceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"mysqlPassword\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Ebs12345\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ebs.SolutionInstance;\nimport com.pulumi.alicloud.ebs.SolutionInstanceArgs;\nimport com.pulumi.alicloud.ebs.inputs.SolutionInstanceParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-shanghai-l\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-shanghai\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSolutionInstance = new SolutionInstance(\"defaultSolutionInstance\", SolutionInstanceArgs.builder()\n .solutionInstanceName(name)\n .resourceGroupId(default_.ids()[0])\n .description(\"description\")\n .solutionId(\"mysql\")\n .parameters( \n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"zoneId\")\n .parameterValue(zoneId)\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsType\")\n .parameterValue(\"ecs.c6.large\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsImageId\")\n .parameterValue(\"CentOS_7\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"internetMaxBandwidthOut\")\n .parameterValue(\"100\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"internetChargeType\")\n .parameterValue(\"PayByTraffic\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"ecsPassword\")\n .parameterValue(\"Ebs12345\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskType\")\n .parameterValue(\"cloud_essd\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskPerformance\")\n .parameterValue(\"PL0\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"sysDiskSize\")\n .parameterValue(\"40\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskType\")\n .parameterValue(\"cloud_essd\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskPerformance\")\n .parameterValue(\"PL0\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"dataDiskSize\")\n .parameterValue(\"40\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlVersion\")\n .parameterValue(\"MySQL80\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlUser\")\n .parameterValue(\"root\")\n .build(),\n SolutionInstanceParameterArgs.builder()\n .parameterKey(\"mysqlPassword\")\n .parameterValue(\"Ebs12345\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId:\n type: string\n default: cn-shanghai-l\n regionId:\n type: string\n default: cn-shanghai\nresources:\n defaultSolutionInstance:\n type: alicloud:ebs:SolutionInstance\n name: default\n properties:\n solutionInstanceName: ${name}\n resourceGroupId: ${default.ids[0]}\n description: description\n solutionId: mysql\n parameters:\n - parameterKey: zoneId\n parameterValue: ${zoneId}\n - parameterKey: ecsType\n parameterValue: ecs.c6.large\n - parameterKey: ecsImageId\n parameterValue: CentOS_7\n - parameterKey: internetMaxBandwidthOut\n parameterValue: '100'\n - parameterKey: internetChargeType\n parameterValue: PayByTraffic\n - parameterKey: ecsPassword\n parameterValue: Ebs12345\n - parameterKey: sysDiskType\n parameterValue: cloud_essd\n - parameterKey: sysDiskPerformance\n parameterValue: PL0\n - parameterKey: sysDiskSize\n parameterValue: '40'\n - parameterKey: dataDiskType\n parameterValue: cloud_essd\n - parameterKey: dataDiskPerformance\n parameterValue: PL0\n - parameterKey: dataDiskSize\n parameterValue: '40'\n - parameterKey: mysqlVersion\n parameterValue: MySQL80\n - parameterKey: mysqlUser\n parameterValue: root\n - parameterKey: mysqlPassword\n parameterValue: Ebs12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEBS Solution Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ebs/solutionInstance:SolutionInstance example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -149530,7 +152159,7 @@ } }, "alicloud:eci/containerGroup:ContainerGroup": { - "description": "Provides ECI Container Group resource.\n\nFor information about ECI Container Group and how to use it, see [What is Container Group](https://www.alibabacloud.com/help/en/elastic-container-instance/latest/api-eci-2018-08-08-createcontainergroup).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultContainerGroup = new alicloud.eci.ContainerGroup(\"default\", {\n containerGroupName: name,\n cpu: 8,\n memory: 16,\n restartPolicy: \"OnFailure\",\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n autoCreateEip: true,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n containers: [{\n image: \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n name: \"nginx\",\n workingDir: \"/tmp/nginx\",\n imagePullPolicy: \"IfNotPresent\",\n commands: [\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n ],\n volumeMounts: [{\n mountPath: \"/tmp/example\",\n readOnly: false,\n name: \"empty1\",\n }],\n ports: [{\n port: 80,\n protocol: \"TCP\",\n }],\n environmentVars: [{\n key: \"name\",\n value: \"nginx\",\n }],\n livenessProbes: [{\n periodSeconds: 5,\n initialDelaySeconds: 5,\n successThreshold: 1,\n failureThreshold: 3,\n timeoutSeconds: 1,\n execs: [{\n commands: [\"cat /tmp/healthy\"],\n }],\n }],\n readinessProbes: [{\n periodSeconds: 5,\n initialDelaySeconds: 5,\n successThreshold: 1,\n failureThreshold: 3,\n timeoutSeconds: 1,\n execs: [{\n commands: [\"cat /tmp/healthy\"],\n }],\n }],\n }],\n initContainers: [{\n name: \"init-busybox\",\n image: \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n imagePullPolicy: \"IfNotPresent\",\n commands: [\"echo\"],\n args: [\"hello initcontainer\"],\n }],\n volumes: [\n {\n name: \"empty1\",\n type: \"EmptyDirVolume\",\n },\n {\n name: \"empty2\",\n type: \"EmptyDirVolume\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_container_group = alicloud.eci.ContainerGroup(\"default\",\n container_group_name=name,\n cpu=8,\n memory=16,\n restart_policy=\"OnFailure\",\n security_group_id=default_security_group.id,\n vswitch_id=default_switch.id,\n auto_create_eip=True,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n containers=[{\n \"image\": \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n \"name\": \"nginx\",\n \"working_dir\": \"/tmp/nginx\",\n \"image_pull_policy\": \"IfNotPresent\",\n \"commands\": [\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n ],\n \"volume_mounts\": [{\n \"mount_path\": \"/tmp/example\",\n \"read_only\": False,\n \"name\": \"empty1\",\n }],\n \"ports\": [{\n \"port\": 80,\n \"protocol\": \"TCP\",\n }],\n \"environment_vars\": [{\n \"key\": \"name\",\n \"value\": \"nginx\",\n }],\n \"liveness_probes\": [{\n \"period_seconds\": 5,\n \"initial_delay_seconds\": 5,\n \"success_threshold\": 1,\n \"failure_threshold\": 3,\n \"timeout_seconds\": 1,\n \"execs\": [{\n \"commands\": [\"cat /tmp/healthy\"],\n }],\n }],\n \"readiness_probes\": [{\n \"period_seconds\": 5,\n \"initial_delay_seconds\": 5,\n \"success_threshold\": 1,\n \"failure_threshold\": 3,\n \"timeout_seconds\": 1,\n \"execs\": [{\n \"commands\": [\"cat /tmp/healthy\"],\n }],\n }],\n }],\n init_containers=[{\n \"name\": \"init-busybox\",\n \"image\": \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n \"image_pull_policy\": \"IfNotPresent\",\n \"commands\": [\"echo\"],\n \"args\": [\"hello initcontainer\"],\n }],\n volumes=[\n {\n \"name\": \"empty1\",\n \"type\": \"EmptyDirVolume\",\n },\n {\n \"name\": \"empty2\",\n \"type\": \"EmptyDirVolume\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultContainerGroup = new AliCloud.Eci.ContainerGroup(\"default\", new()\n {\n ContainerGroupName = name,\n Cpu = 8,\n Memory = 16,\n RestartPolicy = \"OnFailure\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n AutoCreateEip = true,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n Containers = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerArgs\n {\n Image = \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n Name = \"nginx\",\n WorkingDir = \"/tmp/nginx\",\n ImagePullPolicy = \"IfNotPresent\",\n Commands = new[]\n {\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n },\n VolumeMounts = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerVolumeMountArgs\n {\n MountPath = \"/tmp/example\",\n ReadOnly = false,\n Name = \"empty1\",\n },\n },\n Ports = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerPortArgs\n {\n Port = 80,\n Protocol = \"TCP\",\n },\n },\n EnvironmentVars = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerEnvironmentVarArgs\n {\n Key = \"name\",\n Value = \"nginx\",\n },\n },\n LivenessProbes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerLivenessProbeArgs\n {\n PeriodSeconds = 5,\n InitialDelaySeconds = 5,\n SuccessThreshold = 1,\n FailureThreshold = 3,\n TimeoutSeconds = 1,\n Execs = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerLivenessProbeExecArgs\n {\n Commands = new[]\n {\n \"cat /tmp/healthy\",\n },\n },\n },\n },\n },\n ReadinessProbes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerReadinessProbeArgs\n {\n PeriodSeconds = 5,\n InitialDelaySeconds = 5,\n SuccessThreshold = 1,\n FailureThreshold = 3,\n TimeoutSeconds = 1,\n Execs = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerReadinessProbeExecArgs\n {\n Commands = new[]\n {\n \"cat /tmp/healthy\",\n },\n },\n },\n },\n },\n },\n },\n InitContainers = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupInitContainerArgs\n {\n Name = \"init-busybox\",\n Image = \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n ImagePullPolicy = \"IfNotPresent\",\n Commands = new[]\n {\n \"echo\",\n },\n Args = new[]\n {\n \"hello initcontainer\",\n },\n },\n },\n Volumes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupVolumeArgs\n {\n Name = \"empty1\",\n Type = \"EmptyDirVolume\",\n },\n new AliCloud.Eci.Inputs.ContainerGroupVolumeArgs\n {\n Name = \"empty2\",\n Type = \"EmptyDirVolume\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewContainerGroup(ctx, \"default\", \u0026eci.ContainerGroupArgs{\n\t\t\tContainerGroupName: pulumi.String(name),\n\t\t\tCpu: pulumi.Float64(8),\n\t\t\tMemory: pulumi.Float64(16),\n\t\t\tRestartPolicy: pulumi.String(\"OnFailure\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tAutoCreateEip: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tContainers: eci.ContainerGroupContainerArray{\n\t\t\t\t\u0026eci.ContainerGroupContainerArgs{\n\t\t\t\t\tImage: pulumi.String(\"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\"),\n\t\t\t\t\tName: pulumi.String(\"nginx\"),\n\t\t\t\t\tWorkingDir: pulumi.String(\"/tmp/nginx\"),\n\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/bin/sh\"),\n\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\tpulumi.String(\"sleep 9999\"),\n\t\t\t\t\t},\n\t\t\t\t\tVolumeMounts: eci.ContainerGroupContainerVolumeMountArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerVolumeMountArgs{\n\t\t\t\t\t\t\tMountPath: pulumi.String(\"/tmp/example\"),\n\t\t\t\t\t\t\tReadOnly: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: pulumi.String(\"empty1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPorts: eci.ContainerGroupContainerPortArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerPortArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentVars: eci.ContainerGroupContainerEnvironmentVarArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerEnvironmentVarArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"nginx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbes: eci.ContainerGroupContainerLivenessProbeArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerLivenessProbeArgs{\n\t\t\t\t\t\t\tPeriodSeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\t\t\tExecs: eci.ContainerGroupContainerLivenessProbeExecArray{\n\t\t\t\t\t\t\t\t\u0026eci.ContainerGroupContainerLivenessProbeExecArgs{\n\t\t\t\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"cat /tmp/healthy\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbes: eci.ContainerGroupContainerReadinessProbeArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerReadinessProbeArgs{\n\t\t\t\t\t\t\tPeriodSeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\t\t\tExecs: eci.ContainerGroupContainerReadinessProbeExecArray{\n\t\t\t\t\t\t\t\t\u0026eci.ContainerGroupContainerReadinessProbeExecArgs{\n\t\t\t\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"cat /tmp/healthy\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInitContainers: eci.ContainerGroupInitContainerArray{\n\t\t\t\t\u0026eci.ContainerGroupInitContainerArgs{\n\t\t\t\t\tName: pulumi.String(\"init-busybox\"),\n\t\t\t\t\tImage: pulumi.String(\"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\"),\n\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"echo\"),\n\t\t\t\t\t},\n\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello initcontainer\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVolumes: eci.ContainerGroupVolumeArray{\n\t\t\t\t\u0026eci.ContainerGroupVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"empty1\"),\n\t\t\t\t\tType: pulumi.String(\"EmptyDirVolume\"),\n\t\t\t\t},\n\t\t\t\t\u0026eci.ContainerGroupVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"empty2\"),\n\t\t\t\t\tType: pulumi.String(\"EmptyDirVolume\"),\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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eci.ContainerGroup;\nimport com.pulumi.alicloud.eci.ContainerGroupArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupContainerArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupInitContainerArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultContainerGroup = new ContainerGroup(\"defaultContainerGroup\", ContainerGroupArgs.builder()\n .containerGroupName(name)\n .cpu(8.0)\n .memory(16.0)\n .restartPolicy(\"OnFailure\")\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .autoCreateEip(true)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .containers(ContainerGroupContainerArgs.builder()\n .image(\"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\")\n .name(\"nginx\")\n .workingDir(\"/tmp/nginx\")\n .imagePullPolicy(\"IfNotPresent\")\n .commands( \n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\")\n .volumeMounts(ContainerGroupContainerVolumeMountArgs.builder()\n .mountPath(\"/tmp/example\")\n .readOnly(false)\n .name(\"empty1\")\n .build())\n .ports(ContainerGroupContainerPortArgs.builder()\n .port(80)\n .protocol(\"TCP\")\n .build())\n .environmentVars(ContainerGroupContainerEnvironmentVarArgs.builder()\n .key(\"name\")\n .value(\"nginx\")\n .build())\n .livenessProbes(ContainerGroupContainerLivenessProbeArgs.builder()\n .periodSeconds(5)\n .initialDelaySeconds(5)\n .successThreshold(1)\n .failureThreshold(3)\n .timeoutSeconds(1)\n .execs(ContainerGroupContainerLivenessProbeExecArgs.builder()\n .commands(\"cat /tmp/healthy\")\n .build())\n .build())\n .readinessProbes(ContainerGroupContainerReadinessProbeArgs.builder()\n .periodSeconds(5)\n .initialDelaySeconds(5)\n .successThreshold(1)\n .failureThreshold(3)\n .timeoutSeconds(1)\n .execs(ContainerGroupContainerReadinessProbeExecArgs.builder()\n .commands(\"cat /tmp/healthy\")\n .build())\n .build())\n .build())\n .initContainers(ContainerGroupInitContainerArgs.builder()\n .name(\"init-busybox\")\n .image(\"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\")\n .imagePullPolicy(\"IfNotPresent\")\n .commands(\"echo\")\n .args(\"hello initcontainer\")\n .build())\n .volumes( \n ContainerGroupVolumeArgs.builder()\n .name(\"empty1\")\n .type(\"EmptyDirVolume\")\n .build(),\n ContainerGroupVolumeArgs.builder()\n .name(\"empty2\")\n .type(\"EmptyDirVolume\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultContainerGroup:\n type: alicloud:eci:ContainerGroup\n name: default\n properties:\n containerGroupName: ${name}\n cpu: 8\n memory: 16\n restartPolicy: OnFailure\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n autoCreateEip: true\n tags:\n Created: TF\n For: example\n containers:\n - image: registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\n name: nginx\n workingDir: /tmp/nginx\n imagePullPolicy: IfNotPresent\n commands:\n - /bin/sh\n - -c\n - sleep 9999\n volumeMounts:\n - mountPath: /tmp/example\n readOnly: false\n name: empty1\n ports:\n - port: 80\n protocol: TCP\n environmentVars:\n - key: name\n value: nginx\n livenessProbes:\n - periodSeconds: '5'\n initialDelaySeconds: '5'\n successThreshold: '1'\n failureThreshold: '3'\n timeoutSeconds: '1'\n execs:\n - commands:\n - cat /tmp/healthy\n readinessProbes:\n - periodSeconds: '5'\n initialDelaySeconds: '5'\n successThreshold: '1'\n failureThreshold: '3'\n timeoutSeconds: '1'\n execs:\n - commands:\n - cat /tmp/healthy\n initContainers:\n - name: init-busybox\n image: registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\n imagePullPolicy: IfNotPresent\n commands:\n - echo\n args:\n - hello initcontainer\n volumes:\n - name: empty1\n type: EmptyDirVolume\n - name: empty2\n type: EmptyDirVolume\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECI Container Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/containerGroup:ContainerGroup example \u003ccontainer_group_id\u003e\n```\n\n", + "description": "Provides ECI Container Group resource.\n\nFor information about ECI Container Group and how to use it, see [What is Container Group](https://www.alibabacloud.com/help/en/elastic-container-instance/latest/api-eci-2018-08-08-createcontainergroup).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultContainerGroup = new alicloud.eci.ContainerGroup(\"default\", {\n containerGroupName: name,\n cpu: 8,\n memory: 16,\n restartPolicy: \"OnFailure\",\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n autoCreateEip: true,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n containers: [{\n image: \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n name: \"nginx\",\n workingDir: \"/tmp/nginx\",\n imagePullPolicy: \"IfNotPresent\",\n commands: [\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n ],\n volumeMounts: [{\n mountPath: \"/tmp/example\",\n readOnly: false,\n name: \"empty1\",\n }],\n ports: [{\n port: 80,\n protocol: \"TCP\",\n }],\n environmentVars: [{\n key: \"name\",\n value: \"nginx\",\n }],\n livenessProbes: [{\n periodSeconds: 5,\n initialDelaySeconds: 5,\n successThreshold: 1,\n failureThreshold: 3,\n timeoutSeconds: 1,\n execs: [{\n commands: [\"cat /tmp/healthy\"],\n }],\n }],\n readinessProbes: [{\n periodSeconds: 5,\n initialDelaySeconds: 5,\n successThreshold: 1,\n failureThreshold: 3,\n timeoutSeconds: 1,\n execs: [{\n commands: [\"cat /tmp/healthy\"],\n }],\n }],\n }],\n initContainers: [{\n name: \"init-busybox\",\n image: \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n imagePullPolicy: \"IfNotPresent\",\n commands: [\"echo\"],\n args: [\"hello initcontainer\"],\n }],\n volumes: [\n {\n name: \"empty1\",\n type: \"EmptyDirVolume\",\n },\n {\n name: \"empty2\",\n type: \"EmptyDirVolume\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_container_group = alicloud.eci.ContainerGroup(\"default\",\n container_group_name=name,\n cpu=8,\n memory=16,\n restart_policy=\"OnFailure\",\n security_group_id=default_security_group.id,\n vswitch_id=default_switch.id,\n auto_create_eip=True,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n containers=[{\n \"image\": \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n \"name\": \"nginx\",\n \"working_dir\": \"/tmp/nginx\",\n \"image_pull_policy\": \"IfNotPresent\",\n \"commands\": [\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n ],\n \"volume_mounts\": [{\n \"mount_path\": \"/tmp/example\",\n \"read_only\": False,\n \"name\": \"empty1\",\n }],\n \"ports\": [{\n \"port\": 80,\n \"protocol\": \"TCP\",\n }],\n \"environment_vars\": [{\n \"key\": \"name\",\n \"value\": \"nginx\",\n }],\n \"liveness_probes\": [{\n \"period_seconds\": 5,\n \"initial_delay_seconds\": 5,\n \"success_threshold\": 1,\n \"failure_threshold\": 3,\n \"timeout_seconds\": 1,\n \"execs\": [{\n \"commands\": [\"cat /tmp/healthy\"],\n }],\n }],\n \"readiness_probes\": [{\n \"period_seconds\": 5,\n \"initial_delay_seconds\": 5,\n \"success_threshold\": 1,\n \"failure_threshold\": 3,\n \"timeout_seconds\": 1,\n \"execs\": [{\n \"commands\": [\"cat /tmp/healthy\"],\n }],\n }],\n }],\n init_containers=[{\n \"name\": \"init-busybox\",\n \"image\": \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n \"image_pull_policy\": \"IfNotPresent\",\n \"commands\": [\"echo\"],\n \"args\": [\"hello initcontainer\"],\n }],\n volumes=[\n {\n \"name\": \"empty1\",\n \"type\": \"EmptyDirVolume\",\n },\n {\n \"name\": \"empty2\",\n \"type\": \"EmptyDirVolume\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultContainerGroup = new AliCloud.Eci.ContainerGroup(\"default\", new()\n {\n ContainerGroupName = name,\n Cpu = 8,\n Memory = 16,\n RestartPolicy = \"OnFailure\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n AutoCreateEip = true,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n Containers = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerArgs\n {\n Image = \"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\",\n Name = \"nginx\",\n WorkingDir = \"/tmp/nginx\",\n ImagePullPolicy = \"IfNotPresent\",\n Commands = new[]\n {\n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\",\n },\n VolumeMounts = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerVolumeMountArgs\n {\n MountPath = \"/tmp/example\",\n ReadOnly = false,\n Name = \"empty1\",\n },\n },\n Ports = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerPortArgs\n {\n Port = 80,\n Protocol = \"TCP\",\n },\n },\n EnvironmentVars = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerEnvironmentVarArgs\n {\n Key = \"name\",\n Value = \"nginx\",\n },\n },\n LivenessProbes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerLivenessProbeArgs\n {\n PeriodSeconds = 5,\n InitialDelaySeconds = 5,\n SuccessThreshold = 1,\n FailureThreshold = 3,\n TimeoutSeconds = 1,\n Execs = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerLivenessProbeExecArgs\n {\n Commands = new[]\n {\n \"cat /tmp/healthy\",\n },\n },\n },\n },\n },\n ReadinessProbes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerReadinessProbeArgs\n {\n PeriodSeconds = 5,\n InitialDelaySeconds = 5,\n SuccessThreshold = 1,\n FailureThreshold = 3,\n TimeoutSeconds = 1,\n Execs = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupContainerReadinessProbeExecArgs\n {\n Commands = new[]\n {\n \"cat /tmp/healthy\",\n },\n },\n },\n },\n },\n },\n },\n InitContainers = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupInitContainerArgs\n {\n Name = \"init-busybox\",\n Image = \"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\",\n ImagePullPolicy = \"IfNotPresent\",\n Commands = new[]\n {\n \"echo\",\n },\n Args = new[]\n {\n \"hello initcontainer\",\n },\n },\n },\n Volumes = new[]\n {\n new AliCloud.Eci.Inputs.ContainerGroupVolumeArgs\n {\n Name = \"empty1\",\n Type = \"EmptyDirVolume\",\n },\n new AliCloud.Eci.Inputs.ContainerGroupVolumeArgs\n {\n Name = \"empty2\",\n Type = \"EmptyDirVolume\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewContainerGroup(ctx, \"default\", \u0026eci.ContainerGroupArgs{\n\t\t\tContainerGroupName: pulumi.String(name),\n\t\t\tCpu: pulumi.Float64(8),\n\t\t\tMemory: pulumi.Float64(16),\n\t\t\tRestartPolicy: pulumi.String(\"OnFailure\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tAutoCreateEip: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tContainers: eci.ContainerGroupContainerArray{\n\t\t\t\t\u0026eci.ContainerGroupContainerArgs{\n\t\t\t\t\tImage: pulumi.String(\"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\"),\n\t\t\t\t\tName: pulumi.String(\"nginx\"),\n\t\t\t\t\tWorkingDir: pulumi.String(\"/tmp/nginx\"),\n\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/bin/sh\"),\n\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\tpulumi.String(\"sleep 9999\"),\n\t\t\t\t\t},\n\t\t\t\t\tVolumeMounts: eci.ContainerGroupContainerVolumeMountArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerVolumeMountArgs{\n\t\t\t\t\t\t\tMountPath: pulumi.String(\"/tmp/example\"),\n\t\t\t\t\t\t\tReadOnly: pulumi.Bool(false),\n\t\t\t\t\t\t\tName: pulumi.String(\"empty1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPorts: eci.ContainerGroupContainerPortArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerPortArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironmentVars: eci.ContainerGroupContainerEnvironmentVarArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerEnvironmentVarArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"nginx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbes: eci.ContainerGroupContainerLivenessProbeArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerLivenessProbeArgs{\n\t\t\t\t\t\t\tPeriodSeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\t\t\tExecs: eci.ContainerGroupContainerLivenessProbeExecArray{\n\t\t\t\t\t\t\t\t\u0026eci.ContainerGroupContainerLivenessProbeExecArgs{\n\t\t\t\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"cat /tmp/healthy\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbes: eci.ContainerGroupContainerReadinessProbeArray{\n\t\t\t\t\t\t\u0026eci.ContainerGroupContainerReadinessProbeArgs{\n\t\t\t\t\t\t\tPeriodSeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(5),\n\t\t\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\t\t\tExecs: eci.ContainerGroupContainerReadinessProbeExecArray{\n\t\t\t\t\t\t\t\t\u0026eci.ContainerGroupContainerReadinessProbeExecArgs{\n\t\t\t\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"cat /tmp/healthy\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInitContainers: eci.ContainerGroupInitContainerArray{\n\t\t\t\t\u0026eci.ContainerGroupInitContainerArgs{\n\t\t\t\t\tName: pulumi.String(\"init-busybox\"),\n\t\t\t\t\tImage: pulumi.String(\"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\"),\n\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"echo\"),\n\t\t\t\t\t},\n\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"hello initcontainer\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVolumes: eci.ContainerGroupVolumeArray{\n\t\t\t\t\u0026eci.ContainerGroupVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"empty1\"),\n\t\t\t\t\tType: pulumi.String(\"EmptyDirVolume\"),\n\t\t\t\t},\n\t\t\t\t\u0026eci.ContainerGroupVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"empty2\"),\n\t\t\t\t\tType: pulumi.String(\"EmptyDirVolume\"),\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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eci.ContainerGroup;\nimport com.pulumi.alicloud.eci.ContainerGroupArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupContainerArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupInitContainerArgs;\nimport com.pulumi.alicloud.eci.inputs.ContainerGroupVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultContainerGroup = new ContainerGroup(\"defaultContainerGroup\", ContainerGroupArgs.builder()\n .containerGroupName(name)\n .cpu(8.0)\n .memory(16.0)\n .restartPolicy(\"OnFailure\")\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .autoCreateEip(true)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .containers(ContainerGroupContainerArgs.builder()\n .image(\"registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\")\n .name(\"nginx\")\n .workingDir(\"/tmp/nginx\")\n .imagePullPolicy(\"IfNotPresent\")\n .commands( \n \"/bin/sh\",\n \"-c\",\n \"sleep 9999\")\n .volumeMounts(ContainerGroupContainerVolumeMountArgs.builder()\n .mountPath(\"/tmp/example\")\n .readOnly(false)\n .name(\"empty1\")\n .build())\n .ports(ContainerGroupContainerPortArgs.builder()\n .port(80)\n .protocol(\"TCP\")\n .build())\n .environmentVars(ContainerGroupContainerEnvironmentVarArgs.builder()\n .key(\"name\")\n .value(\"nginx\")\n .build())\n .livenessProbes(ContainerGroupContainerLivenessProbeArgs.builder()\n .periodSeconds(5)\n .initialDelaySeconds(5)\n .successThreshold(1)\n .failureThreshold(3)\n .timeoutSeconds(1)\n .execs(ContainerGroupContainerLivenessProbeExecArgs.builder()\n .commands(\"cat /tmp/healthy\")\n .build())\n .build())\n .readinessProbes(ContainerGroupContainerReadinessProbeArgs.builder()\n .periodSeconds(5)\n .initialDelaySeconds(5)\n .successThreshold(1)\n .failureThreshold(3)\n .timeoutSeconds(1)\n .execs(ContainerGroupContainerReadinessProbeExecArgs.builder()\n .commands(\"cat /tmp/healthy\")\n .build())\n .build())\n .build())\n .initContainers(ContainerGroupInitContainerArgs.builder()\n .name(\"init-busybox\")\n .image(\"registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\")\n .imagePullPolicy(\"IfNotPresent\")\n .commands(\"echo\")\n .args(\"hello initcontainer\")\n .build())\n .volumes( \n ContainerGroupVolumeArgs.builder()\n .name(\"empty1\")\n .type(\"EmptyDirVolume\")\n .build(),\n ContainerGroupVolumeArgs.builder()\n .name(\"empty2\")\n .type(\"EmptyDirVolume\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultContainerGroup:\n type: alicloud:eci:ContainerGroup\n name: default\n properties:\n containerGroupName: ${name}\n cpu: 8\n memory: 16\n restartPolicy: OnFailure\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n autoCreateEip: true\n tags:\n Created: TF\n For: example\n containers:\n - image: registry.cn-beijing.aliyuncs.com/eci_open/nginx:alpine\n name: nginx\n workingDir: /tmp/nginx\n imagePullPolicy: IfNotPresent\n commands:\n - /bin/sh\n - -c\n - sleep 9999\n volumeMounts:\n - mountPath: /tmp/example\n readOnly: false\n name: empty1\n ports:\n - port: 80\n protocol: TCP\n environmentVars:\n - key: name\n value: nginx\n livenessProbes:\n - periodSeconds: '5'\n initialDelaySeconds: '5'\n successThreshold: '1'\n failureThreshold: '3'\n timeoutSeconds: '1'\n execs:\n - commands:\n - cat /tmp/healthy\n readinessProbes:\n - periodSeconds: '5'\n initialDelaySeconds: '5'\n successThreshold: '1'\n failureThreshold: '3'\n timeoutSeconds: '1'\n execs:\n - commands:\n - cat /tmp/healthy\n initContainers:\n - name: init-busybox\n image: registry.cn-beijing.aliyuncs.com/eci_open/busybox:1.30\n imagePullPolicy: IfNotPresent\n commands:\n - echo\n args:\n - hello initcontainer\n volumes:\n - name: empty1\n type: EmptyDirVolume\n - name: empty2\n type: EmptyDirVolume\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECI Container Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/containerGroup:ContainerGroup example \u003ccontainer_group_id\u003e\n```\n\n", "properties": { "acrRegistryInfos": { "type": "array", @@ -150043,7 +152672,7 @@ } }, "alicloud:eci/imageCache:ImageCache": { - "description": "An ECI Image Cache can help user to solve the time-consuming problem of image pull. For information about Alicloud ECI Image Cache and how to use it, see [What is Resource Alicloud ECI Image Cache](https://www.alibabacloud.com/help/doc-detail/146891.htm).\n\n\u003e **NOTE:** Available since v1.89.0.\n\n\u003e **NOTE:** Each image cache corresponds to a snapshot, and the user does not delete the snapshot directly, otherwise the cache will fail.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n isp: \"BGP\",\n addressName: name,\n netmode: \"public\",\n bandwidth: \"1\",\n securityProtectionTypes: [\"AntiDDoS_Enhanced\"],\n paymentType: \"PayAsYouGo\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultImageCache = new alicloud.eci.ImageCache(\"default\", {\n imageCacheName: name,\n images: [defaultGetRegions.then(defaultGetRegions =\u003e `registry-vpc.${defaultGetRegions.regions?.[0]?.id}.aliyuncs.com/eci_open/nginx:alpine`)],\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n eipInstanceId: defaultEipAddress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n isp=\"BGP\",\n address_name=name,\n netmode=\"public\",\n bandwidth=\"1\",\n security_protection_types=[\"AntiDDoS_Enhanced\"],\n payment_type=\"PayAsYouGo\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_image_cache = alicloud.eci.ImageCache(\"default\",\n image_cache_name=name,\n images=[f\"registry-vpc.{default_get_regions.regions[0].id}.aliyuncs.com/eci_open/nginx:alpine\"],\n security_group_id=default_security_group.id,\n vswitch_id=default_switch.id,\n eip_instance_id=default_eip_address.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Isp = \"BGP\",\n AddressName = name,\n Netmode = \"public\",\n Bandwidth = \"1\",\n SecurityProtectionTypes = new[]\n {\n \"AntiDDoS_Enhanced\",\n },\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultImageCache = new AliCloud.Eci.ImageCache(\"default\", new()\n {\n ImageCacheName = name,\n Images = new[]\n {\n $\"registry-vpc.{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/eci_open/nginx:alpine\",\n },\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n EipInstanceId = defaultEipAddress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t\tBandwidth: pulumi.String(\"1\"),\n\t\t\tSecurityProtectionTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AntiDDoS_Enhanced\"),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewImageCache(ctx, \"default\", \u0026eci.ImageCacheArgs{\n\t\t\tImageCacheName: pulumi.String(name),\n\t\t\tImages: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/eci_open/nginx:alpine\", defaultGetRegions.Regions[0].Id),\n\t\t\t},\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEipInstanceId: defaultEipAddress.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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.eci.ImageCache;\nimport com.pulumi.alicloud.eci.ImageCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .isp(\"BGP\")\n .addressName(name)\n .netmode(\"public\")\n .bandwidth(\"1\")\n .securityProtectionTypes(\"AntiDDoS_Enhanced\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultImageCache = new ImageCache(\"defaultImageCache\", ImageCacheArgs.builder()\n .imageCacheName(name)\n .images(String.format(\"registry-vpc.%s.aliyuncs.com/eci_open/nginx:alpine\", defaultGetRegions.regions()[0].id()))\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .eipInstanceId(defaultEipAddress.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n isp: BGP\n addressName: ${name}\n netmode: public\n bandwidth: '1'\n securityProtectionTypes:\n - AntiDDoS_Enhanced\n paymentType: PayAsYouGo\n defaultImageCache:\n type: alicloud:eci:ImageCache\n name: default\n properties:\n imageCacheName: ${name}\n images:\n - registry-vpc.${defaultGetRegions.regions[0].id}.aliyuncs.com/eci_open/nginx:alpine\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n eipInstanceId: ${defaultEipAddress.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECI Image Cache can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/imageCache:ImageCache example abc123456\n```\n\n", + "description": "An ECI Image Cache can help user to solve the time-consuming problem of image pull. For information about Alicloud ECI Image Cache and how to use it, see [What is Resource Alicloud ECI Image Cache](https://www.alibabacloud.com/help/doc-detail/146891.htm).\n\n\u003e **NOTE:** Available since v1.89.0.\n\n\u003e **NOTE:** Each image cache corresponds to a snapshot, and the user does not delete the snapshot directly, otherwise the cache will fail.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n isp: \"BGP\",\n addressName: name,\n netmode: \"public\",\n bandwidth: \"1\",\n securityProtectionTypes: [\"AntiDDoS_Enhanced\"],\n paymentType: \"PayAsYouGo\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultImageCache = new alicloud.eci.ImageCache(\"default\", {\n imageCacheName: name,\n images: [defaultGetRegions.then(defaultGetRegions =\u003e `registry-vpc.${defaultGetRegions.regions?.[0]?.id}.aliyuncs.com/eci_open/nginx:alpine`)],\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n eipInstanceId: defaultEipAddress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n isp=\"BGP\",\n address_name=name,\n netmode=\"public\",\n bandwidth=\"1\",\n security_protection_types=[\"AntiDDoS_Enhanced\"],\n payment_type=\"PayAsYouGo\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_image_cache = alicloud.eci.ImageCache(\"default\",\n image_cache_name=name,\n images=[f\"registry-vpc.{default_get_regions.regions[0].id}.aliyuncs.com/eci_open/nginx:alpine\"],\n security_group_id=default_security_group.id,\n vswitch_id=default_switch.id,\n eip_instance_id=default_eip_address.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Isp = \"BGP\",\n AddressName = name,\n Netmode = \"public\",\n Bandwidth = \"1\",\n SecurityProtectionTypes = new[]\n {\n \"AntiDDoS_Enhanced\",\n },\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultImageCache = new AliCloud.Eci.ImageCache(\"default\", new()\n {\n ImageCacheName = name,\n Images = new[]\n {\n $\"registry-vpc.{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/eci_open/nginx:alpine\",\n },\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n EipInstanceId = defaultEipAddress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t\tBandwidth: pulumi.String(\"1\"),\n\t\t\tSecurityProtectionTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AntiDDoS_Enhanced\"),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewImageCache(ctx, \"default\", \u0026eci.ImageCacheArgs{\n\t\t\tImageCacheName: pulumi.String(name),\n\t\t\tImages: pulumi.StringArray{\n\t\t\t\tpulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/eci_open/nginx:alpine\", defaultGetRegions.Regions[0].Id),\n\t\t\t},\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEipInstanceId: defaultEipAddress.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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.eci.ImageCache;\nimport com.pulumi.alicloud.eci.ImageCacheArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .isp(\"BGP\")\n .addressName(name)\n .netmode(\"public\")\n .bandwidth(\"1\")\n .securityProtectionTypes(\"AntiDDoS_Enhanced\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultImageCache = new ImageCache(\"defaultImageCache\", ImageCacheArgs.builder()\n .imageCacheName(name)\n .images(String.format(\"registry-vpc.%s.aliyuncs.com/eci_open/nginx:alpine\", defaultGetRegions.regions()[0].id()))\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .eipInstanceId(defaultEipAddress.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n isp: BGP\n addressName: ${name}\n netmode: public\n bandwidth: '1'\n securityProtectionTypes:\n - AntiDDoS_Enhanced\n paymentType: PayAsYouGo\n defaultImageCache:\n type: alicloud:eci:ImageCache\n name: default\n properties:\n imageCacheName: ${name}\n images:\n - registry-vpc.${defaultGetRegions.regions[0].id}.aliyuncs.com/eci_open/nginx:alpine\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n eipInstanceId: ${defaultEipAddress.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECI Image Cache can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/imageCache:ImageCache example abc123456\n```\n\n", "properties": { "containerGroupId": { "type": "string", @@ -150410,7 +153039,7 @@ } }, "alicloud:eci/virtualNode:VirtualNode": { - "description": "Provides a ECI Virtual Node resource.\n\nFor information about ECI Virtual Node and how to use it, see [What is Virtual Node](https://www.alibabacloud.com/help/en/doc-detail/89129.html).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n isp: \"BGP\",\n addressName: name,\n netmode: \"public\",\n bandwidth: \"1\",\n securityProtectionTypes: [\"AntiDDoS_Enhanced\"],\n paymentType: \"PayAsYouGo\",\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVirtualNode = new alicloud.eci.VirtualNode(\"default\", {\n securityGroupId: defaultSecurityGroup.id,\n virtualNodeName: name,\n vswitchId: defaultSwitch.id,\n enablePublicNetwork: false,\n eipInstanceId: defaultEipAddress.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n kubeConfig: \"kube_config\",\n tags: {\n Created: \"TF\",\n },\n taints: [{\n effect: \"NoSchedule\",\n key: \"TF\",\n value: \"example\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n isp=\"BGP\",\n address_name=name,\n netmode=\"public\",\n bandwidth=\"1\",\n security_protection_types=[\"AntiDDoS_Enhanced\"],\n payment_type=\"PayAsYouGo\")\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_virtual_node = alicloud.eci.VirtualNode(\"default\",\n security_group_id=default_security_group.id,\n virtual_node_name=name,\n vswitch_id=default_switch.id,\n enable_public_network=False,\n eip_instance_id=default_eip_address.id,\n resource_group_id=default_get_resource_groups.groups[0].id,\n kube_config=\"kube_config\",\n tags={\n \"Created\": \"TF\",\n },\n taints=[{\n \"effect\": \"NoSchedule\",\n \"key\": \"TF\",\n \"value\": \"example\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Isp = \"BGP\",\n AddressName = name,\n Netmode = \"public\",\n Bandwidth = \"1\",\n SecurityProtectionTypes = new[]\n {\n \"AntiDDoS_Enhanced\",\n },\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVirtualNode = new AliCloud.Eci.VirtualNode(\"default\", new()\n {\n SecurityGroupId = defaultSecurityGroup.Id,\n VirtualNodeName = name,\n VswitchId = defaultSwitch.Id,\n EnablePublicNetwork = false,\n EipInstanceId = defaultEipAddress.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n KubeConfig = \"kube_config\",\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n Taints = new[]\n {\n new AliCloud.Eci.Inputs.VirtualNodeTaintArgs\n {\n Effect = \"NoSchedule\",\n Key = \"TF\",\n Value = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t\tBandwidth: pulumi.String(\"1\"),\n\t\t\tSecurityProtectionTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AntiDDoS_Enhanced\"),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewVirtualNode(ctx, \"default\", \u0026eci.VirtualNodeArgs{\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVirtualNodeName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEnablePublicNetwork: pulumi.Bool(false),\n\t\t\tEipInstanceId: defaultEipAddress.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tKubeConfig: pulumi.String(\"kube_config\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tTaints: eci.VirtualNodeTaintArray{\n\t\t\t\t\u0026eci.VirtualNodeTaintArgs{\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\tKey: pulumi.String(\"TF\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eci.VirtualNode;\nimport com.pulumi.alicloud.eci.VirtualNodeArgs;\nimport com.pulumi.alicloud.eci.inputs.VirtualNodeTaintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .isp(\"BGP\")\n .addressName(name)\n .netmode(\"public\")\n .bandwidth(\"1\")\n .securityProtectionTypes(\"AntiDDoS_Enhanced\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVirtualNode = new VirtualNode(\"defaultVirtualNode\", VirtualNodeArgs.builder()\n .securityGroupId(defaultSecurityGroup.id())\n .virtualNodeName(name)\n .vswitchId(defaultSwitch.id())\n .enablePublicNetwork(false)\n .eipInstanceId(defaultEipAddress.id())\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .kubeConfig(\"kube_config\")\n .tags(Map.of(\"Created\", \"TF\"))\n .taints(VirtualNodeTaintArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"TF\")\n .value(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n isp: BGP\n addressName: ${name}\n netmode: public\n bandwidth: '1'\n securityProtectionTypes:\n - AntiDDoS_Enhanced\n paymentType: PayAsYouGo\n defaultVirtualNode:\n type: alicloud:eci:VirtualNode\n name: default\n properties:\n securityGroupId: ${defaultSecurityGroup.id}\n virtualNodeName: ${name}\n vswitchId: ${defaultSwitch.id}\n enablePublicNetwork: false\n eipInstanceId: ${defaultEipAddress.id}\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n kubeConfig: kube_config\n tags:\n Created: TF\n taints:\n - effect: NoSchedule\n key: TF\n value: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECI Virtual Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/virtualNode:VirtualNode example \u003cid\u003e\n```\n\n", + "description": "Provides a ECI Virtual Node resource.\n\nFor information about ECI Virtual Node and how to use it, see [What is Virtual Node](https://www.alibabacloud.com/help/en/doc-detail/89129.html).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.eci.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneIds?.[0]),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n isp: \"BGP\",\n addressName: name,\n netmode: \"public\",\n bandwidth: \"1\",\n securityProtectionTypes: [\"AntiDDoS_Enhanced\"],\n paymentType: \"PayAsYouGo\",\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVirtualNode = new alicloud.eci.VirtualNode(\"default\", {\n securityGroupId: defaultSecurityGroup.id,\n virtualNodeName: name,\n vswitchId: defaultSwitch.id,\n enablePublicNetwork: false,\n eipInstanceId: defaultEipAddress.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n kubeConfig: \"kube_config\",\n tags: {\n Created: \"TF\",\n },\n taints: [{\n effect: \"NoSchedule\",\n key: \"TF\",\n value: \"example\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eci.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].zone_ids[0])\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n isp=\"BGP\",\n address_name=name,\n netmode=\"public\",\n bandwidth=\"1\",\n security_protection_types=[\"AntiDDoS_Enhanced\"],\n payment_type=\"PayAsYouGo\")\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_virtual_node = alicloud.eci.VirtualNode(\"default\",\n security_group_id=default_security_group.id,\n virtual_node_name=name,\n vswitch_id=default_switch.id,\n enable_public_network=False,\n eip_instance_id=default_eip_address.id,\n resource_group_id=default_get_resource_groups.groups[0].id,\n kube_config=\"kube_config\",\n tags={\n \"Created\": \"TF\",\n },\n taints=[{\n \"effect\": \"NoSchedule\",\n \"key\": \"TF\",\n \"value\": \"example\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Eci.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneIds[0])),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Isp = \"BGP\",\n AddressName = name,\n Netmode = \"public\",\n Bandwidth = \"1\",\n SecurityProtectionTypes = new[]\n {\n \"AntiDDoS_Enhanced\",\n },\n PaymentType = \"PayAsYouGo\",\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVirtualNode = new AliCloud.Eci.VirtualNode(\"default\", new()\n {\n SecurityGroupId = defaultSecurityGroup.Id,\n VirtualNodeName = name,\n VswitchId = defaultSwitch.Id,\n EnablePublicNetwork = false,\n EipInstanceId = defaultEipAddress.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n KubeConfig = \"kube_config\",\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n Taints = new[]\n {\n new AliCloud.Eci.Inputs.VirtualNodeTaintArgs\n {\n Effect = \"NoSchedule\",\n Key = \"TF\",\n Value = \"example\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eci\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eci.GetZones(ctx, \u0026eci.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneIds[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tAddressName: pulumi.String(name),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t\tBandwidth: pulumi.String(\"1\"),\n\t\t\tSecurityProtectionTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AntiDDoS_Enhanced\"),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eci.NewVirtualNode(ctx, \"default\", \u0026eci.VirtualNodeArgs{\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVirtualNodeName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEnablePublicNetwork: pulumi.Bool(false),\n\t\t\tEipInstanceId: defaultEipAddress.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tKubeConfig: pulumi.String(\"kube_config\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tTaints: eci.VirtualNodeTaintArray{\n\t\t\t\t\u0026eci.VirtualNodeTaintArgs{\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\tKey: pulumi.String(\"TF\"),\n\t\t\t\t\tValue: pulumi.String(\"example\"),\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.alicloud.eci.EciFunctions;\nimport com.pulumi.alicloud.eci.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eci.VirtualNode;\nimport com.pulumi.alicloud.eci.VirtualNodeArgs;\nimport com.pulumi.alicloud.eci.inputs.VirtualNodeTaintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EciFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].zoneIds()[0])\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .isp(\"BGP\")\n .addressName(name)\n .netmode(\"public\")\n .bandwidth(\"1\")\n .securityProtectionTypes(\"AntiDDoS_Enhanced\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVirtualNode = new VirtualNode(\"defaultVirtualNode\", VirtualNodeArgs.builder()\n .securityGroupId(defaultSecurityGroup.id())\n .virtualNodeName(name)\n .vswitchId(defaultSwitch.id())\n .enablePublicNetwork(false)\n .eipInstanceId(defaultEipAddress.id())\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .kubeConfig(\"kube_config\")\n .tags(Map.of(\"Created\", \"TF\"))\n .taints(VirtualNodeTaintArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"TF\")\n .value(\"example\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].zoneIds[0]}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n isp: BGP\n addressName: ${name}\n netmode: public\n bandwidth: '1'\n securityProtectionTypes:\n - AntiDDoS_Enhanced\n paymentType: PayAsYouGo\n defaultVirtualNode:\n type: alicloud:eci:VirtualNode\n name: default\n properties:\n securityGroupId: ${defaultSecurityGroup.id}\n virtualNodeName: ${name}\n vswitchId: ${defaultSwitch.id}\n enablePublicNetwork: false\n eipInstanceId: ${defaultEipAddress.id}\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n kubeConfig: kube_config\n tags:\n Created: TF\n taints:\n - effect: NoSchedule\n key: TF\n value: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:eci:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECI Virtual Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eci/virtualNode:VirtualNode example \u003cid\u003e\n```\n\n", "properties": { "eipInstanceId": { "type": "string", @@ -150598,7 +153227,7 @@ } }, "alicloud:ecp/instance:Instance": { - "description": "Provides a Elastic Cloud Phone (ECP) Instance resource.\n\nFor information about Elastic Cloud Phone (ECP) Instance and how to use it, see [What is Instance](https://next.api.aliyun.com/document/cloudphone/2020-12-30/RunInstances).\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.ecp.getZones({});\nconst defaultGetInstanceTypes = alicloud.ecp.getInstanceTypes({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n});\nconst defaultKeyPair = new alicloud.ecp.KeyPair(\"default\", {\n keyPairName: `${name}-${defaultInteger.result}`,\n publicKeyBody: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\nconst defaultInstance = new alicloud.ecp.Instance(\"default\", {\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.instanceType),\n imageId: \"android-image-release5501072_a11_20240530.raw\",\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n keyPairName: defaultKeyPair.keyPairName,\n vncPassword: \"Ecp123\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n description: name,\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecp.get_zones()\ndefault_get_instance_types = alicloud.ecp.get_instance_types()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].zone_id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id)\ndefault_key_pair = alicloud.ecp.KeyPair(\"default\",\n key_pair_name=f\"{name}-{default_integer['result']}\",\n public_key_body=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\ndefault_instance = alicloud.ecp.Instance(\"default\",\n instance_type=default_get_instance_types.instance_types[0].instance_type,\n image_id=\"android-image-release5501072_a11_20240530.raw\",\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n key_pair_name=default_key_pair.key_pair_name,\n vnc_password=\"Ecp123\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n description=name,\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Ecp.GetZones.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecp.GetInstanceTypes.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultKeyPair = new AliCloud.Ecp.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n PublicKeyBody = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n var defaultInstance = new AliCloud.Ecp.Instance(\"default\", new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.InstanceType),\n ImageId = \"android-image-release5501072_a11_20240530.raw\",\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n KeyPairName = defaultKeyPair.KeyPairName,\n VncPassword = \"Ecp123\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n Description = name,\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecp.GetZones(ctx, \u0026ecp.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecp.GetInstanceTypes(ctx, \u0026ecp.GetInstanceTypesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKeyPair, err := ecp.NewKeyPair(ctx, \"default\", \u0026ecp.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPublicKeyBody: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecp.NewInstance(ctx, \"default\", \u0026ecp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].InstanceType),\n\t\t\tImageId: pulumi.String(\"android-image-release5501072_a11_20240530.raw\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tKeyPairName: defaultKeyPair.KeyPairName,\n\t\t\tVncPassword: pulumi.String(\"Ecp123\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tForce: 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.alicloud.ecp.EcpFunctions;\nimport com.pulumi.alicloud.ecp.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecp.inputs.GetInstanceTypesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecp.KeyPair;\nimport com.pulumi.alicloud.ecp.KeyPairArgs;\nimport com.pulumi.alicloud.ecp.Instance;\nimport com.pulumi.alicloud.ecp.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EcpFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcpFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].zoneId())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .publicKeyBody(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].instanceType())\n .imageId(\"android-image-release5501072_a11_20240530.raw\")\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .keyPairName(defaultKeyPair.keyPairName())\n .vncPassword(\"Ecp123\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .description(name)\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.zones[0].zoneId}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n defaultKeyPair:\n type: alicloud:ecp:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n publicKeyBody: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n defaultInstance:\n type: alicloud:ecp:Instance\n name: default\n properties:\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].instanceType}\n imageId: android-image-release5501072_a11_20240530.raw\n vswitchId: ${defaultSwitch.id}\n securityGroupId: ${defaultSecurityGroup.id}\n keyPairName: ${defaultKeyPair.keyPairName}\n vncPassword: Ecp123\n paymentType: PayAsYouGo\n instanceName: ${name}\n description: ${name}\n force: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecp:getZones\n arguments: {}\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecp:getInstanceTypes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Cloud Phone (ECP) Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecp/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Elastic Cloud Phone (ECP) Instance resource.\n\nFor information about Elastic Cloud Phone (ECP) Instance and how to use it, see [What is Instance](https://next.api.aliyun.com/document/cloudphone/2020-12-30/RunInstances).\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.ecp.getZones({});\nconst defaultGetInstanceTypes = alicloud.ecp.getInstanceTypes({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n});\nconst defaultKeyPair = new alicloud.ecp.KeyPair(\"default\", {\n keyPairName: `${name}-${defaultInteger.result}`,\n publicKeyBody: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\nconst defaultInstance = new alicloud.ecp.Instance(\"default\", {\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.instanceType),\n imageId: \"android-image-release5501072_a11_20240530.raw\",\n vswitchId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n keyPairName: defaultKeyPair.keyPairName,\n vncPassword: \"Ecp123\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n description: name,\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecp.get_zones()\ndefault_get_instance_types = alicloud.ecp.get_instance_types()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].zone_id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id)\ndefault_key_pair = alicloud.ecp.KeyPair(\"default\",\n key_pair_name=f\"{name}-{default_integer['result']}\",\n public_key_body=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\ndefault_instance = alicloud.ecp.Instance(\"default\",\n instance_type=default_get_instance_types.instance_types[0].instance_type,\n image_id=\"android-image-release5501072_a11_20240530.raw\",\n vswitch_id=default_switch.id,\n security_group_id=default_security_group.id,\n key_pair_name=default_key_pair.key_pair_name,\n vnc_password=\"Ecp123\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n description=name,\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Ecp.GetZones.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Ecp.GetInstanceTypes.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultKeyPair = new AliCloud.Ecp.KeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n PublicKeyBody = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n var defaultInstance = new AliCloud.Ecp.Instance(\"default\", new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.InstanceType),\n ImageId = \"android-image-release5501072_a11_20240530.raw\",\n VswitchId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n KeyPairName = defaultKeyPair.KeyPairName,\n VncPassword = \"Ecp123\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n Description = name,\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecp.GetZones(ctx, \u0026ecp.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecp.GetInstanceTypes(ctx, \u0026ecp.GetInstanceTypesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKeyPair, err := ecp.NewKeyPair(ctx, \"default\", \u0026ecp.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tPublicKeyBody: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecp.NewInstance(ctx, \"default\", \u0026ecp.InstanceArgs{\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].InstanceType),\n\t\t\tImageId: pulumi.String(\"android-image-release5501072_a11_20240530.raw\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tKeyPairName: defaultKeyPair.KeyPairName,\n\t\t\tVncPassword: pulumi.String(\"Ecp123\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tForce: 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.alicloud.ecp.EcpFunctions;\nimport com.pulumi.alicloud.ecp.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecp.inputs.GetInstanceTypesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecp.KeyPair;\nimport com.pulumi.alicloud.ecp.KeyPairArgs;\nimport com.pulumi.alicloud.ecp.Instance;\nimport com.pulumi.alicloud.ecp.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EcpFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EcpFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].zoneId())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultKeyPair = new KeyPair(\"defaultKeyPair\", KeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .publicKeyBody(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].instanceType())\n .imageId(\"android-image-release5501072_a11_20240530.raw\")\n .vswitchId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .keyPairName(defaultKeyPair.keyPairName())\n .vncPassword(\"Ecp123\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .description(name)\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.zones[0].zoneId}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n vpcId: ${defaultNetwork.id}\n defaultKeyPair:\n type: alicloud:ecp:KeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n publicKeyBody: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n defaultInstance:\n type: alicloud:ecp:Instance\n name: default\n properties:\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].instanceType}\n imageId: android-image-release5501072_a11_20240530.raw\n vswitchId: ${defaultSwitch.id}\n securityGroupId: ${defaultSecurityGroup.id}\n keyPairName: ${defaultKeyPair.keyPairName}\n vncPassword: Ecp123\n paymentType: PayAsYouGo\n instanceName: ${name}\n description: ${name}\n force: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecp:getZones\n arguments: {}\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecp:getInstanceTypes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElastic Cloud Phone (ECP) Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecp/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -150846,7 +153475,7 @@ } }, "alicloud:ecp/keyPair:KeyPair": { - "description": "Provides a Elastic Cloud Phone (ECP) Key Pair resource.\n\nFor information about Elastic Cloud Phone (ECP) Key Pair and how to use it, see [What is Key Pair](https://next.api.aliyun.com/document/cloudphone/2020-12-30/ImportImage).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecp.KeyPair(\"example\", {\n keyPairName: \"my-KeyPair\",\n publicKeyBody: \"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecp.KeyPair(\"example\",\n key_pair_name=\"my-KeyPair\",\n public_key_body=\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecp.KeyPair(\"example\", new()\n {\n KeyPairName = \"my-KeyPair\",\n PublicKeyBody = \"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecp.NewKeyPair(ctx, \"example\", \u0026ecp.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"my-KeyPair\"),\n\t\t\tPublicKeyBody: pulumi.String(\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecp.KeyPair;\nimport com.pulumi.alicloud.ecp.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 KeyPair(\"example\", KeyPairArgs.builder()\n .keyPairName(\"my-KeyPair\")\n .publicKeyBody(\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecp:KeyPair\n properties:\n keyPairName: my-KeyPair\n publicKeyBody: ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecp/keyPair:KeyPair example \u003ckey_pair_name\u003e\n```\n\n", + "description": "Provides a Elastic Cloud Phone (ECP) Key Pair resource.\n\nFor information about Elastic Cloud Phone (ECP) Key Pair and how to use it, see [What is Key Pair](https://next.api.aliyun.com/document/cloudphone/2020-12-30/ImportImage).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecp.KeyPair(\"example\", {\n keyPairName: \"my-KeyPair\",\n publicKeyBody: \"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecp.KeyPair(\"example\",\n key_pair_name=\"my-KeyPair\",\n public_key_body=\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecp.KeyPair(\"example\", new()\n {\n KeyPairName = \"my-KeyPair\",\n PublicKeyBody = \"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecp.NewKeyPair(ctx, \"example\", \u0026ecp.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"my-KeyPair\"),\n\t\t\tPublicKeyBody: pulumi.String(\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecp.KeyPair;\nimport com.pulumi.alicloud.ecp.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 KeyPair(\"example\", KeyPairArgs.builder()\n .keyPairName(\"my-KeyPair\")\n .publicKeyBody(\"ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecp:KeyPair\n properties:\n keyPairName: my-KeyPair\n publicKeyBody: ssh-rsa AAAAxxxxxxxxxxtyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecp/keyPair:KeyPair example \u003ckey_pair_name\u003e\n```\n\n", "properties": { "keyPairName": { "type": "string", @@ -150893,7 +153522,7 @@ } }, "alicloud:ecs/activation:Activation": { - "description": "Provides a ECS Activation resource.\n\nFor information about ECS Activation and how to use it, see [What is Activation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createactivation#doc-api-Ecs-CreateActivation).\n\n\u003e **NOTE:** Available since v1.177.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.Activation(\"example\", {\n description: \"terraform-example\",\n instanceCount: 10,\n instanceName: \"terraform-example\",\n ipAddressRange: \"0.0.0.0/0\",\n timeToLiveInHours: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.Activation(\"example\",\n description=\"terraform-example\",\n instance_count=10,\n instance_name=\"terraform-example\",\n ip_address_range=\"0.0.0.0/0\",\n time_to_live_in_hours=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.Activation(\"example\", new()\n {\n Description = \"terraform-example\",\n InstanceCount = 10,\n InstanceName = \"terraform-example\",\n IpAddressRange = \"0.0.0.0/0\",\n TimeToLiveInHours = 4,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewActivation(ctx, \"example\", \u0026ecs.ActivationArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceCount: pulumi.Int(10),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tIpAddressRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTimeToLiveInHours: pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Activation;\nimport com.pulumi.alicloud.ecs.ActivationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Activation(\"example\", ActivationArgs.builder()\n .description(\"terraform-example\")\n .instanceCount(10)\n .instanceName(\"terraform-example\")\n .ipAddressRange(\"0.0.0.0/0\")\n .timeToLiveInHours(4)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:Activation\n properties:\n description: terraform-example\n instanceCount: 10\n instanceName: terraform-example\n ipAddressRange: 0.0.0.0/0\n timeToLiveInHours: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Activation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/activation:Activation example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Activation resource.\n\nFor information about ECS Activation and how to use it, see [What is Activation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createactivation#doc-api-Ecs-CreateActivation).\n\n\u003e **NOTE:** Available since v1.177.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.Activation(\"example\", {\n description: \"terraform-example\",\n instanceCount: 10,\n instanceName: \"terraform-example\",\n ipAddressRange: \"0.0.0.0/0\",\n timeToLiveInHours: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.Activation(\"example\",\n description=\"terraform-example\",\n instance_count=10,\n instance_name=\"terraform-example\",\n ip_address_range=\"0.0.0.0/0\",\n time_to_live_in_hours=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.Activation(\"example\", new()\n {\n Description = \"terraform-example\",\n InstanceCount = 10,\n InstanceName = \"terraform-example\",\n IpAddressRange = \"0.0.0.0/0\",\n TimeToLiveInHours = 4,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewActivation(ctx, \"example\", \u0026ecs.ActivationArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceCount: pulumi.Int(10),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tIpAddressRange: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tTimeToLiveInHours: pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Activation;\nimport com.pulumi.alicloud.ecs.ActivationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Activation(\"example\", ActivationArgs.builder()\n .description(\"terraform-example\")\n .instanceCount(10)\n .instanceName(\"terraform-example\")\n .ipAddressRange(\"0.0.0.0/0\")\n .timeToLiveInHours(4)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:Activation\n properties:\n description: terraform-example\n instanceCount: 10\n instanceName: terraform-example\n ipAddressRange: 0.0.0.0/0\n timeToLiveInHours: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Activation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/activation:Activation example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -150981,7 +153610,7 @@ } }, "alicloud:ecs/autoProvisioningGroup:AutoProvisioningGroup": { - "description": "Provides a ECS auto provisioning group resource which is a solution that uses preemptive instances and\u003cspan pulumi-lang-nodejs=\" payAsYouGo \" pulumi-lang-dotnet=\" PayAsYouGo \" pulumi-lang-go=\" payAsYouGo \" pulumi-lang-python=\" pay_as_you_go \" pulumi-lang-yaml=\" payAsYouGo \" pulumi-lang-java=\" payAsYouGo \"\u003e pay_as_you_go \u003c/span\u003einstances to rapidly deploy clusters.\n\n\u003e **NOTE:** Available in 1.79.0+\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"auto_provisioning_group\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst template = new alicloud.ecs.EcsLaunchTemplate(\"template\", {\n launchTemplateName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: \"ecs.n1.tiny\",\n securityGroupId: defaultSecurityGroup.id,\n});\nconst defaultAutoProvisioningGroup = new alicloud.ecs.AutoProvisioningGroup(\"default\", {\n launchTemplateId: template.id,\n totalTargetCapacity: \"4\",\n payAsYouGoTargetCapacity: \"1\",\n spotTargetCapacity: \"2\",\n launchTemplateConfigs: [{\n instanceType: \"ecs.n1.small\",\n vswitchId: defaultSwitch.id,\n weightedCapacity: \"2\",\n maxPrice: \"2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"auto_provisioning_group\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ntemplate = alicloud.ecs.EcsLaunchTemplate(\"template\",\n launch_template_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=\"ecs.n1.tiny\",\n security_group_id=default_security_group.id)\ndefault_auto_provisioning_group = alicloud.ecs.AutoProvisioningGroup(\"default\",\n launch_template_id=template.id,\n total_target_capacity=\"4\",\n pay_as_you_go_target_capacity=\"1\",\n spot_target_capacity=\"2\",\n launch_template_configs=[{\n \"instance_type\": \"ecs.n1.small\",\n \"vswitch_id\": default_switch.id,\n \"weighted_capacity\": \"2\",\n \"max_price\": \"2\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"auto_provisioning_group\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var template = new AliCloud.Ecs.EcsLaunchTemplate(\"template\", new()\n {\n LaunchTemplateName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = \"ecs.n1.tiny\",\n SecurityGroupId = defaultSecurityGroup.Id,\n });\n\n var defaultAutoProvisioningGroup = new AliCloud.Ecs.AutoProvisioningGroup(\"default\", new()\n {\n LaunchTemplateId = template.Id,\n TotalTargetCapacity = \"4\",\n PayAsYouGoTargetCapacity = \"1\",\n SpotTargetCapacity = \"2\",\n LaunchTemplateConfigs = new[]\n {\n new AliCloud.Ecs.Inputs.AutoProvisioningGroupLaunchTemplateConfigArgs\n {\n InstanceType = \"ecs.n1.small\",\n VswitchId = defaultSwitch.Id,\n WeightedCapacity = \"2\",\n MaxPrice = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"auto_provisioning_group\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttemplate, err := ecs.NewEcsLaunchTemplate(ctx, \"template\", \u0026ecs.EcsLaunchTemplateArgs{\n\t\t\tLaunchTemplateName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(\"ecs.n1.tiny\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewAutoProvisioningGroup(ctx, \"default\", \u0026ecs.AutoProvisioningGroupArgs{\n\t\t\tLaunchTemplateId: template.ID(),\n\t\t\tTotalTargetCapacity: pulumi.String(\"4\"),\n\t\t\tPayAsYouGoTargetCapacity: pulumi.String(\"1\"),\n\t\t\tSpotTargetCapacity: pulumi.String(\"2\"),\n\t\t\tLaunchTemplateConfigs: ecs.AutoProvisioningGroupLaunchTemplateConfigArray{\n\t\t\t\t\u0026ecs.AutoProvisioningGroupLaunchTemplateConfigArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"ecs.n1.small\"),\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\tMaxPrice: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplate;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.AutoProvisioningGroup;\nimport com.pulumi.alicloud.ecs.AutoProvisioningGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.AutoProvisioningGroupLaunchTemplateConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"auto_provisioning_group\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var template = new EcsLaunchTemplate(\"template\", EcsLaunchTemplateArgs.builder()\n .launchTemplateName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(\"ecs.n1.tiny\")\n .securityGroupId(defaultSecurityGroup.id())\n .build());\n\n var defaultAutoProvisioningGroup = new AutoProvisioningGroup(\"defaultAutoProvisioningGroup\", AutoProvisioningGroupArgs.builder()\n .launchTemplateId(template.id())\n .totalTargetCapacity(\"4\")\n .payAsYouGoTargetCapacity(\"1\")\n .spotTargetCapacity(\"2\")\n .launchTemplateConfigs(AutoProvisioningGroupLaunchTemplateConfigArgs.builder()\n .instanceType(\"ecs.n1.small\")\n .vswitchId(defaultSwitch.id())\n .weightedCapacity(\"2\")\n .maxPrice(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: auto_provisioning_group\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultAutoProvisioningGroup:\n type: alicloud:ecs:AutoProvisioningGroup\n name: default\n properties:\n launchTemplateId: ${template.id}\n totalTargetCapacity: '4'\n payAsYouGoTargetCapacity: '1'\n spotTargetCapacity: '2'\n launchTemplateConfigs:\n - instanceType: ecs.n1.small\n vswitchId: ${defaultSwitch.id}\n weightedCapacity: '2'\n maxPrice: '2'\n template:\n type: alicloud:ecs:EcsLaunchTemplate\n properties:\n launchTemplateName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ecs.n1.tiny\n securityGroupId: ${defaultSecurityGroup.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS auto provisioning group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/autoProvisioningGroup:AutoProvisioningGroup example asg-abc123456\n```\n\n", + "description": "Provides a ECS auto provisioning group resource which is a solution that uses preemptive instances and\u003cspan pulumi-lang-nodejs=\" payAsYouGo \" pulumi-lang-dotnet=\" PayAsYouGo \" pulumi-lang-go=\" payAsYouGo \" pulumi-lang-python=\" pay_as_you_go \" pulumi-lang-yaml=\" payAsYouGo \" pulumi-lang-java=\" payAsYouGo \"\u003e pay_as_you_go \u003c/span\u003einstances to rapidly deploy clusters.\n\n\u003e **NOTE:** Available in 1.79.0+\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"auto_provisioning_group\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst template = new alicloud.ecs.EcsLaunchTemplate(\"template\", {\n launchTemplateName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: \"ecs.n1.tiny\",\n securityGroupId: defaultSecurityGroup.id,\n});\nconst defaultAutoProvisioningGroup = new alicloud.ecs.AutoProvisioningGroup(\"default\", {\n launchTemplateId: template.id,\n totalTargetCapacity: \"4\",\n payAsYouGoTargetCapacity: \"1\",\n spotTargetCapacity: \"2\",\n launchTemplateConfigs: [{\n instanceType: \"ecs.n1.small\",\n vswitchId: defaultSwitch.id,\n weightedCapacity: \"2\",\n maxPrice: \"2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"auto_provisioning_group\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ntemplate = alicloud.ecs.EcsLaunchTemplate(\"template\",\n launch_template_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=\"ecs.n1.tiny\",\n security_group_id=default_security_group.id)\ndefault_auto_provisioning_group = alicloud.ecs.AutoProvisioningGroup(\"default\",\n launch_template_id=template.id,\n total_target_capacity=\"4\",\n pay_as_you_go_target_capacity=\"1\",\n spot_target_capacity=\"2\",\n launch_template_configs=[{\n \"instance_type\": \"ecs.n1.small\",\n \"vswitch_id\": default_switch.id,\n \"weighted_capacity\": \"2\",\n \"max_price\": \"2\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"auto_provisioning_group\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var template = new AliCloud.Ecs.EcsLaunchTemplate(\"template\", new()\n {\n LaunchTemplateName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = \"ecs.n1.tiny\",\n SecurityGroupId = defaultSecurityGroup.Id,\n });\n\n var defaultAutoProvisioningGroup = new AliCloud.Ecs.AutoProvisioningGroup(\"default\", new()\n {\n LaunchTemplateId = template.Id,\n TotalTargetCapacity = \"4\",\n PayAsYouGoTargetCapacity = \"1\",\n SpotTargetCapacity = \"2\",\n LaunchTemplateConfigs = new[]\n {\n new AliCloud.Ecs.Inputs.AutoProvisioningGroupLaunchTemplateConfigArgs\n {\n InstanceType = \"ecs.n1.small\",\n VswitchId = defaultSwitch.Id,\n WeightedCapacity = \"2\",\n MaxPrice = \"2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"auto_provisioning_group\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttemplate, err := ecs.NewEcsLaunchTemplate(ctx, \"template\", \u0026ecs.EcsLaunchTemplateArgs{\n\t\t\tLaunchTemplateName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(\"ecs.n1.tiny\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewAutoProvisioningGroup(ctx, \"default\", \u0026ecs.AutoProvisioningGroupArgs{\n\t\t\tLaunchTemplateId: template.ID(),\n\t\t\tTotalTargetCapacity: pulumi.String(\"4\"),\n\t\t\tPayAsYouGoTargetCapacity: pulumi.String(\"1\"),\n\t\t\tSpotTargetCapacity: pulumi.String(\"2\"),\n\t\t\tLaunchTemplateConfigs: ecs.AutoProvisioningGroupLaunchTemplateConfigArray{\n\t\t\t\t\u0026ecs.AutoProvisioningGroupLaunchTemplateConfigArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"ecs.n1.small\"),\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t\tMaxPrice: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplate;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.AutoProvisioningGroup;\nimport com.pulumi.alicloud.ecs.AutoProvisioningGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.AutoProvisioningGroupLaunchTemplateConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"auto_provisioning_group\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var template = new EcsLaunchTemplate(\"template\", EcsLaunchTemplateArgs.builder()\n .launchTemplateName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(\"ecs.n1.tiny\")\n .securityGroupId(defaultSecurityGroup.id())\n .build());\n\n var defaultAutoProvisioningGroup = new AutoProvisioningGroup(\"defaultAutoProvisioningGroup\", AutoProvisioningGroupArgs.builder()\n .launchTemplateId(template.id())\n .totalTargetCapacity(\"4\")\n .payAsYouGoTargetCapacity(\"1\")\n .spotTargetCapacity(\"2\")\n .launchTemplateConfigs(AutoProvisioningGroupLaunchTemplateConfigArgs.builder()\n .instanceType(\"ecs.n1.small\")\n .vswitchId(defaultSwitch.id())\n .weightedCapacity(\"2\")\n .maxPrice(\"2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: auto_provisioning_group\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultAutoProvisioningGroup:\n type: alicloud:ecs:AutoProvisioningGroup\n name: default\n properties:\n launchTemplateId: ${template.id}\n totalTargetCapacity: '4'\n payAsYouGoTargetCapacity: '1'\n spotTargetCapacity: '2'\n launchTemplateConfigs:\n - instanceType: ecs.n1.small\n vswitchId: ${defaultSwitch.id}\n weightedCapacity: '2'\n maxPrice: '2'\n template:\n type: alicloud:ecs:EcsLaunchTemplate\n properties:\n launchTemplateName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ecs.n1.tiny\n securityGroupId: ${defaultSecurityGroup.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS auto provisioning group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/autoProvisioningGroup:AutoProvisioningGroup example asg-abc123456\n```\n\n", "properties": { "autoProvisioningGroupName": { "type": "string", @@ -151283,7 +153912,7 @@ } }, "alicloud:ecs/autoSnapshotPolicy:AutoSnapshotPolicy": { - "description": "Provides a ECS Auto Snapshot Policy resource.\n\nFor information about ECS Auto Snapshot Policy and how to use it, see [What is Auto Snapshot Policy](https://www.alibabacloud.com/help/en/doc-detail/25527.htm).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.AutoSnapshotPolicy(\"example\", {\n name: \"terraform-example\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.AutoSnapshotPolicy(\"example\",\n name=\"terraform-example\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.AutoSnapshotPolicy(\"example\", new()\n {\n Name = \"terraform-example\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewAutoSnapshotPolicy(ctx, \"example\", \u0026ecs.AutoSnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\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.alicloud.ecs.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AutoSnapshotPolicy(\"example\", AutoSnapshotPolicyArgs.builder()\n .name(\"terraform-example\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:AutoSnapshotPolicy\n properties:\n name: terraform-example\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Auto Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/autoSnapshotPolicy:AutoSnapshotPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Auto Snapshot Policy resource.\n\nFor information about ECS Auto Snapshot Policy and how to use it, see [What is Auto Snapshot Policy](https://www.alibabacloud.com/help/en/doc-detail/25527.htm).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.AutoSnapshotPolicy(\"example\", {\n name: \"terraform-example\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.AutoSnapshotPolicy(\"example\",\n name=\"terraform-example\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.AutoSnapshotPolicy(\"example\", new()\n {\n Name = \"terraform-example\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewAutoSnapshotPolicy(ctx, \"example\", \u0026ecs.AutoSnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\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.alicloud.ecs.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AutoSnapshotPolicy(\"example\", AutoSnapshotPolicyArgs.builder()\n .name(\"terraform-example\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:AutoSnapshotPolicy\n properties:\n name: terraform-example\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Auto Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/autoSnapshotPolicy:AutoSnapshotPolicy example \u003cid\u003e\n```\n\n", "properties": { "autoSnapshotPolicyName": { "type": "string", @@ -151507,7 +154136,7 @@ } }, "alicloud:ecs/capacityReservation:CapacityReservation": { - "description": "Provides a Ecs Capacity Reservation resource.\n\nFor information about Ecs Capacity Reservation and how to use it, see [What is Capacity Reservation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createcapacityreservation).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g5\",\n});\nconst defaultGetZones = _default.then(_default =\u003e alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableInstanceType: _default.ids?.[0],\n}));\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultCapacityReservation = new alicloud.ecs.CapacityReservation(\"default\", {\n description: \"terraform-example\",\n platform: \"linux\",\n capacityReservationName: \"terraform-example\",\n endTimeType: \"Unlimited\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n instanceAmount: 1,\n instanceType: _default.then(_default =\u003e _default.ids?.[0]),\n matchCriteria: \"Open\",\n tags: {\n Created: \"terraform-example\",\n },\n zoneIds: [defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g5\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_instance_type=default.ids[0])\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_capacity_reservation = alicloud.ecs.CapacityReservation(\"default\",\n description=\"terraform-example\",\n platform=\"linux\",\n capacity_reservation_name=\"terraform-example\",\n end_time_type=\"Unlimited\",\n resource_group_id=default_get_resource_groups.ids[0],\n instance_amount=1,\n instance_type=default.ids[0],\n match_criteria=\"Open\",\n tags={\n \"Created\": \"terraform-example\",\n },\n zone_ids=[default_get_zones.zones[0].id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g5\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableInstanceType = @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultCapacityReservation = new AliCloud.Ecs.CapacityReservation(\"default\", new()\n {\n Description = \"terraform-example\",\n Platform = \"linux\",\n CapacityReservationName = \"terraform-example\",\n EndTimeType = \"Unlimited\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n InstanceAmount = 1,\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0])),\n MatchCriteria = \"Open\",\n Tags = \n {\n { \"Created\", \"terraform-example\" },\n },\n ZoneIds = new[]\n {\n defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g5\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableInstanceType: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCapacityReservation(ctx, \"default\", \u0026ecs.CapacityReservationArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPlatform: pulumi.String(\"linux\"),\n\t\t\tCapacityReservationName: pulumi.String(\"terraform-example\"),\n\t\t\tEndTimeType: pulumi.String(\"Unlimited\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(_default.Ids[0]),\n\t\t\tMatchCriteria: pulumi.String(\"Open\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"terraform-example\"),\n\t\t\t},\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetZones.Zones[0].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.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.CapacityReservation;\nimport com.pulumi.alicloud.ecs.CapacityReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g5\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableInstanceType(default_.ids()[0])\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultCapacityReservation = new CapacityReservation(\"defaultCapacityReservation\", CapacityReservationArgs.builder()\n .description(\"terraform-example\")\n .platform(\"linux\")\n .capacityReservationName(\"terraform-example\")\n .endTimeType(\"Unlimited\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .instanceAmount(1)\n .instanceType(default_.ids()[0])\n .matchCriteria(\"Open\")\n .tags(Map.of(\"Created\", \"terraform-example\"))\n .zoneIds(defaultGetZones.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCapacityReservation:\n type: alicloud:ecs:CapacityReservation\n name: default\n properties:\n description: terraform-example\n platform: linux\n capacityReservationName: terraform-example\n endTimeType: Unlimited\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n instanceAmount: 1\n instanceType: ${default.ids[0]}\n matchCriteria: Open\n tags:\n Created: terraform-example\n zoneIds:\n - ${defaultGetZones.zones[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.g5\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n availableInstanceType: ${default.ids[0]}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEcs Capacity Reservation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/capacityReservation:CapacityReservation example \u003cid\u003e\n```\n\n", + "description": "Provides a Ecs Capacity Reservation resource.\n\nFor information about Ecs Capacity Reservation and how to use it, see [What is Capacity Reservation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createcapacityreservation).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g5\",\n});\nconst defaultGetZones = _default.then(_default =\u003e alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableInstanceType: _default.ids?.[0],\n}));\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultCapacityReservation = new alicloud.ecs.CapacityReservation(\"default\", {\n description: \"terraform-example\",\n platform: \"linux\",\n capacityReservationName: \"terraform-example\",\n endTimeType: \"Unlimited\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n instanceAmount: 1,\n instanceType: _default.then(_default =\u003e _default.ids?.[0]),\n matchCriteria: \"Open\",\n tags: {\n Created: \"terraform-example\",\n },\n zoneIds: [defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g5\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_instance_type=default.ids[0])\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_capacity_reservation = alicloud.ecs.CapacityReservation(\"default\",\n description=\"terraform-example\",\n platform=\"linux\",\n capacity_reservation_name=\"terraform-example\",\n end_time_type=\"Unlimited\",\n resource_group_id=default_get_resource_groups.ids[0],\n instance_amount=1,\n instance_type=default.ids[0],\n match_criteria=\"Open\",\n tags={\n \"Created\": \"terraform-example\",\n },\n zone_ids=[default_get_zones.zones[0].id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g5\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableInstanceType = @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultCapacityReservation = new AliCloud.Ecs.CapacityReservation(\"default\", new()\n {\n Description = \"terraform-example\",\n Platform = \"linux\",\n CapacityReservationName = \"terraform-example\",\n EndTimeType = \"Unlimited\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n InstanceAmount = 1,\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0])),\n MatchCriteria = \"Open\",\n Tags = \n {\n { \"Created\", \"terraform-example\" },\n },\n ZoneIds = new[]\n {\n defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g5\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableInstanceType: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewCapacityReservation(ctx, \"default\", \u0026ecs.CapacityReservationArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPlatform: pulumi.String(\"linux\"),\n\t\t\tCapacityReservationName: pulumi.String(\"terraform-example\"),\n\t\t\tEndTimeType: pulumi.String(\"Unlimited\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(_default.Ids[0]),\n\t\t\tMatchCriteria: pulumi.String(\"Open\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"terraform-example\"),\n\t\t\t},\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetZones.Zones[0].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.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.CapacityReservation;\nimport com.pulumi.alicloud.ecs.CapacityReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g5\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableInstanceType(default_.ids()[0])\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultCapacityReservation = new CapacityReservation(\"defaultCapacityReservation\", CapacityReservationArgs.builder()\n .description(\"terraform-example\")\n .platform(\"linux\")\n .capacityReservationName(\"terraform-example\")\n .endTimeType(\"Unlimited\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .instanceAmount(1)\n .instanceType(default_.ids()[0])\n .matchCriteria(\"Open\")\n .tags(Map.of(\"Created\", \"terraform-example\"))\n .zoneIds(defaultGetZones.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCapacityReservation:\n type: alicloud:ecs:CapacityReservation\n name: default\n properties:\n description: terraform-example\n platform: linux\n capacityReservationName: terraform-example\n endTimeType: Unlimited\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n instanceAmount: 1\n instanceType: ${default.ids[0]}\n matchCriteria: Open\n tags:\n Created: terraform-example\n zoneIds:\n - ${defaultGetZones.zones[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.g5\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n availableInstanceType: ${default.ids[0]}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEcs Capacity Reservation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/capacityReservation:CapacityReservation example \u003cid\u003e\n```\n\n", "properties": { "capacityReservationName": { "type": "string", @@ -151752,7 +154381,7 @@ } }, "alicloud:ecs/command:Command": { - "description": "Provides a ECS Command resource.\n\nFor information about ECS Command and how to use it, see [What is Command](https://www.alibabacloud.com/help/en/doc-detail/64844.htm).\n\n\u003e **NOTE:** Available in v1.116.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.Command(\"example\", {\n name: \"tf-testAcc\",\n commandContent: \"bHMK\",\n description: \"For Terraform Test\",\n type: \"RunShellScript\",\n workingDir: \"/root\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.Command(\"example\",\n name=\"tf-testAcc\",\n command_content=\"bHMK\",\n description=\"For Terraform Test\",\n type=\"RunShellScript\",\n working_dir=\"/root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.Command(\"example\", new()\n {\n Name = \"tf-testAcc\",\n CommandContent = \"bHMK\",\n Description = \"For Terraform Test\",\n Type = \"RunShellScript\",\n WorkingDir = \"/root\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewCommand(ctx, \"example\", \u0026ecs.CommandArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc\"),\n\t\t\tCommandContent: pulumi.String(\"bHMK\"),\n\t\t\tDescription: pulumi.String(\"For Terraform Test\"),\n\t\t\tType: pulumi.String(\"RunShellScript\"),\n\t\t\tWorkingDir: 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.alicloud.ecs.Command;\nimport com.pulumi.alicloud.ecs.CommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Command(\"example\", CommandArgs.builder()\n .name(\"tf-testAcc\")\n .commandContent(\"bHMK\")\n .description(\"For Terraform Test\")\n .type(\"RunShellScript\")\n .workingDir(\"/root\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:Command\n properties:\n name: tf-testAcc\n commandContent: bHMK\n description: For Terraform Test\n type: RunShellScript\n workingDir: /root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Command can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/command:Command example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Command resource.\n\nFor information about ECS Command and how to use it, see [What is Command](https://www.alibabacloud.com/help/en/doc-detail/64844.htm).\n\n\u003e **NOTE:** Available in v1.116.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.Command(\"example\", {\n name: \"tf-testAcc\",\n commandContent: \"bHMK\",\n description: \"For Terraform Test\",\n type: \"RunShellScript\",\n workingDir: \"/root\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.Command(\"example\",\n name=\"tf-testAcc\",\n command_content=\"bHMK\",\n description=\"For Terraform Test\",\n type=\"RunShellScript\",\n working_dir=\"/root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.Command(\"example\", new()\n {\n Name = \"tf-testAcc\",\n CommandContent = \"bHMK\",\n Description = \"For Terraform Test\",\n Type = \"RunShellScript\",\n WorkingDir = \"/root\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewCommand(ctx, \"example\", \u0026ecs.CommandArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc\"),\n\t\t\tCommandContent: pulumi.String(\"bHMK\"),\n\t\t\tDescription: pulumi.String(\"For Terraform Test\"),\n\t\t\tType: pulumi.String(\"RunShellScript\"),\n\t\t\tWorkingDir: 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.alicloud.ecs.Command;\nimport com.pulumi.alicloud.ecs.CommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Command(\"example\", CommandArgs.builder()\n .name(\"tf-testAcc\")\n .commandContent(\"bHMK\")\n .description(\"For Terraform Test\")\n .type(\"RunShellScript\")\n .workingDir(\"/root\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:Command\n properties:\n name: tf-testAcc\n commandContent: bHMK\n description: For Terraform Test\n type: RunShellScript\n workingDir: /root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Command can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/command:Command example \u003cid\u003e\n```\n\n", "properties": { "commandContent": { "type": "string", @@ -152300,7 +154929,7 @@ } }, "alicloud:ecs/disk:Disk": { - "description": "Provides a ECS disk resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsDisk \" pulumi-lang-dotnet=\" alicloud.ecs.EcsDisk \" pulumi-lang-go=\" ecs.EcsDisk \" pulumi-lang-python=\" ecs.EcsDisk \" pulumi-lang-yaml=\" alicloud.ecs.EcsDisk \" pulumi-lang-java=\" alicloud.ecs.EcsDisk \"\u003e alicloud.ecs.EcsDisk \u003c/span\u003efrom version 1.122.0.\n\n\u003e **NOTE:** One of \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e is required when specifying an ECS disk. If all of them be specified, \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e must more than the size of snapshot which \u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e represents. Currently, \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.Disk`\" pulumi-lang-dotnet=\"`alicloud.ecs.Disk`\" pulumi-lang-go=\"`ecs.Disk`\" pulumi-lang-python=\"`ecs.Disk`\" pulumi-lang-yaml=\"`alicloud.ecs.Disk`\" pulumi-lang-java=\"`alicloud.ecs.Disk`\"\u003e`alicloud.ecs.Disk`\u003c/span\u003e doesn't resize disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new ECS disk.\nconst ecsDisk = new alicloud.ecs.Disk(\"ecs_disk\", {\n availabilityZone: \"cn-beijing-b\",\n name: \"New-disk\",\n description: \"Hello ecs disk.\",\n category: \"cloud_efficiency\",\n size: 30,\n encrypted: true,\n kmsKeyId: \"2a6767f0-a16c-4679-a60f-13bf*****\",\n tags: {\n Name: \"TerraformTest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new ECS disk.\necs_disk = alicloud.ecs.Disk(\"ecs_disk\",\n availability_zone=\"cn-beijing-b\",\n name=\"New-disk\",\n description=\"Hello ecs disk.\",\n category=\"cloud_efficiency\",\n size=30,\n encrypted=True,\n kms_key_id=\"2a6767f0-a16c-4679-a60f-13bf*****\",\n tags={\n \"Name\": \"TerraformTest\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ECS disk.\n var ecsDisk = new AliCloud.Ecs.Disk(\"ecs_disk\", new()\n {\n AvailabilityZone = \"cn-beijing-b\",\n Name = \"New-disk\",\n Description = \"Hello ecs disk.\",\n Category = \"cloud_efficiency\",\n Size = 30,\n Encrypted = true,\n KmsKeyId = \"2a6767f0-a16c-4679-a60f-13bf*****\",\n Tags = \n {\n { \"Name\", \"TerraformTest\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ECS disk.\n\t\t_, err := ecs.NewDisk(ctx, \"ecs_disk\", \u0026ecs.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-b\"),\n\t\t\tName: pulumi.String(\"New-disk\"),\n\t\t\tDescription: pulumi.String(\"Hello ecs disk.\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(\"2a6767f0-a16c-4679-a60f-13bf*****\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest\"),\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.alicloud.ecs.Disk;\nimport com.pulumi.alicloud.ecs.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ECS disk.\n var ecsDisk = new Disk(\"ecsDisk\", DiskArgs.builder()\n .availabilityZone(\"cn-beijing-b\")\n .name(\"New-disk\")\n .description(\"Hello ecs disk.\")\n .category(\"cloud_efficiency\")\n .size(30)\n .encrypted(true)\n .kmsKeyId(\"2a6767f0-a16c-4679-a60f-13bf*****\")\n .tags(Map.of(\"Name\", \"TerraformTest\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ECS disk.\n ecsDisk:\n type: alicloud:ecs:Disk\n name: ecs_disk\n properties:\n availabilityZone: cn-beijing-b\n name: New-disk\n description: Hello ecs disk.\n category: cloud_efficiency\n size: '30'\n encrypted: true\n kmsKeyId: 2a6767f0-a16c-4679-a60f-13bf*****\n tags:\n Name: TerraformTest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/disk:Disk example d-abc12345678\n```\n\n", + "description": "Provides a ECS disk resource.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsDisk \" pulumi-lang-dotnet=\" alicloud.ecs.EcsDisk \" pulumi-lang-go=\" ecs.EcsDisk \" pulumi-lang-python=\" ecs.EcsDisk \" pulumi-lang-yaml=\" alicloud.ecs.EcsDisk \" pulumi-lang-java=\" alicloud.ecs.EcsDisk \"\u003e alicloud.ecs.EcsDisk \u003c/span\u003efrom version 1.122.0.\n\n\u003e **NOTE:** One of \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e is required when specifying an ECS disk. If all of them be specified, \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e must more than the size of snapshot which \u003cspan pulumi-lang-nodejs=\"`snapshotId`\" pulumi-lang-dotnet=\"`SnapshotId`\" pulumi-lang-go=\"`snapshotId`\" pulumi-lang-python=\"`snapshot_id`\" pulumi-lang-yaml=\"`snapshotId`\" pulumi-lang-java=\"`snapshotId`\"\u003e`snapshot_id`\u003c/span\u003e represents. Currently, \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.Disk`\" pulumi-lang-dotnet=\"`alicloud.ecs.Disk`\" pulumi-lang-go=\"`ecs.Disk`\" pulumi-lang-python=\"`ecs.Disk`\" pulumi-lang-yaml=\"`alicloud.ecs.Disk`\" pulumi-lang-java=\"`alicloud.ecs.Disk`\"\u003e`alicloud.ecs.Disk`\u003c/span\u003e doesn't resize disk.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new ECS disk.\nconst ecsDisk = new alicloud.ecs.Disk(\"ecs_disk\", {\n availabilityZone: \"cn-beijing-b\",\n name: \"New-disk\",\n description: \"Hello ecs disk.\",\n category: \"cloud_efficiency\",\n size: 30,\n encrypted: true,\n kmsKeyId: \"2a6767f0-a16c-4679-a60f-13bf*****\",\n tags: {\n Name: \"TerraformTest\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new ECS disk.\necs_disk = alicloud.ecs.Disk(\"ecs_disk\",\n availability_zone=\"cn-beijing-b\",\n name=\"New-disk\",\n description=\"Hello ecs disk.\",\n category=\"cloud_efficiency\",\n size=30,\n encrypted=True,\n kms_key_id=\"2a6767f0-a16c-4679-a60f-13bf*****\",\n tags={\n \"Name\": \"TerraformTest\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ECS disk.\n var ecsDisk = new AliCloud.Ecs.Disk(\"ecs_disk\", new()\n {\n AvailabilityZone = \"cn-beijing-b\",\n Name = \"New-disk\",\n Description = \"Hello ecs disk.\",\n Category = \"cloud_efficiency\",\n Size = 30,\n Encrypted = true,\n KmsKeyId = \"2a6767f0-a16c-4679-a60f-13bf*****\",\n Tags = \n {\n { \"Name\", \"TerraformTest\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ECS disk.\n\t\t_, err := ecs.NewDisk(ctx, \"ecs_disk\", \u0026ecs.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-b\"),\n\t\t\tName: pulumi.String(\"New-disk\"),\n\t\t\tDescription: pulumi.String(\"Hello ecs disk.\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: pulumi.String(\"2a6767f0-a16c-4679-a60f-13bf*****\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest\"),\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.alicloud.ecs.Disk;\nimport com.pulumi.alicloud.ecs.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ECS disk.\n var ecsDisk = new Disk(\"ecsDisk\", DiskArgs.builder()\n .availabilityZone(\"cn-beijing-b\")\n .name(\"New-disk\")\n .description(\"Hello ecs disk.\")\n .category(\"cloud_efficiency\")\n .size(30)\n .encrypted(true)\n .kmsKeyId(\"2a6767f0-a16c-4679-a60f-13bf*****\")\n .tags(Map.of(\"Name\", \"TerraformTest\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ECS disk.\n ecsDisk:\n type: alicloud:ecs:Disk\n name: ecs_disk\n properties:\n availabilityZone: cn-beijing-b\n name: New-disk\n description: Hello ecs disk.\n category: cloud_efficiency\n size: '30'\n encrypted: true\n kmsKeyId: 2a6767f0-a16c-4679-a60f-13bf*****\n tags:\n Name: TerraformTest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nCloud disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/disk:Disk example d-abc12345678\n```\n\n", "properties": { "advancedFeatures": { "type": "string" @@ -152669,7 +155298,7 @@ } }, "alicloud:ecs/diskAttachment:DiskAttachment": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-dotnet=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-go=\" ecs.EcsDiskAttachment \" pulumi-lang-python=\" ecs.EcsDiskAttachment \" pulumi-lang-yaml=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-java=\" alicloud.ecs.EcsDiskAttachment \"\u003e alicloud.ecs.EcsDiskAttachment \u003c/span\u003efrom version 1.122.0.\n\nProvides an Alicloud ECS Disk Attachment as a resource, to attach and detach disks from ECS Instances.\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new ECS disk-attachment and use it attach one disk to a new instance.\nconst ecsSg = new alicloud.ecs.SecurityGroup(\"ecs_sg\", {\n name: \"terraform-test-group\",\n description: \"New security group\",\n});\nconst ecsDisk = new alicloud.ecs.Disk(\"ecs_disk\", {\n availabilityZone: \"cn-beijing-a\",\n size: 50,\n tags: {\n Name: \"TerraformTest-disk\",\n },\n});\nconst ecsInstance = new alicloud.ecs.Instance(\"ecs_instance\", {\n imageId: \"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n instanceType: \"ecs.n4.small\",\n availabilityZone: \"cn-beijing-a\",\n securityGroups: [ecsSg.id],\n instanceName: \"Hello\",\n internetChargeType: \"PayByBandwidth\",\n tags: {\n Name: \"TerraformTest-instance\",\n },\n});\nconst ecsDiskAtt = new alicloud.ecs.DiskAttachment(\"ecs_disk_att\", {\n diskId: ecsDisk.id,\n instanceId: ecsInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new ECS disk-attachment and use it attach one disk to a new instance.\necs_sg = alicloud.ecs.SecurityGroup(\"ecs_sg\",\n name=\"terraform-test-group\",\n description=\"New security group\")\necs_disk = alicloud.ecs.Disk(\"ecs_disk\",\n availability_zone=\"cn-beijing-a\",\n size=50,\n tags={\n \"Name\": \"TerraformTest-disk\",\n })\necs_instance = alicloud.ecs.Instance(\"ecs_instance\",\n image_id=\"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n instance_type=\"ecs.n4.small\",\n availability_zone=\"cn-beijing-a\",\n security_groups=[ecs_sg.id],\n instance_name=\"Hello\",\n internet_charge_type=\"PayByBandwidth\",\n tags={\n \"Name\": \"TerraformTest-instance\",\n })\necs_disk_att = alicloud.ecs.DiskAttachment(\"ecs_disk_att\",\n disk_id=ecs_disk.id,\n instance_id=ecs_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ECS disk-attachment and use it attach one disk to a new instance.\n var ecsSg = new AliCloud.Ecs.SecurityGroup(\"ecs_sg\", new()\n {\n Name = \"terraform-test-group\",\n Description = \"New security group\",\n });\n\n var ecsDisk = new AliCloud.Ecs.Disk(\"ecs_disk\", new()\n {\n AvailabilityZone = \"cn-beijing-a\",\n Size = 50,\n Tags = \n {\n { \"Name\", \"TerraformTest-disk\" },\n },\n });\n\n var ecsInstance = new AliCloud.Ecs.Instance(\"ecs_instance\", new()\n {\n ImageId = \"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n InstanceType = \"ecs.n4.small\",\n AvailabilityZone = \"cn-beijing-a\",\n SecurityGroups = new[]\n {\n ecsSg.Id,\n },\n InstanceName = \"Hello\",\n InternetChargeType = \"PayByBandwidth\",\n Tags = \n {\n { \"Name\", \"TerraformTest-instance\" },\n },\n });\n\n var ecsDiskAtt = new AliCloud.Ecs.DiskAttachment(\"ecs_disk_att\", new()\n {\n DiskId = ecsDisk.Id,\n InstanceId = ecsInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ECS disk-attachment and use it attach one disk to a new instance.\n\t\tecsSg, err := ecs.NewSecurityGroup(ctx, \"ecs_sg\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-test-group\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsDisk, err := ecs.NewDisk(ctx, \"ecs_disk\", \u0026ecs.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-a\"),\n\t\t\tSize: pulumi.Int(50),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest-disk\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstance, err := ecs.NewInstance(ctx, \"ecs_instance\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\"),\n\t\t\tInstanceType: pulumi.String(\"ecs.n4.small\"),\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-a\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tecsSg.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"Hello\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewDiskAttachment(ctx, \"ecs_disk_att\", \u0026ecs.DiskAttachmentArgs{\n\t\t\tDiskId: ecsDisk.ID(),\n\t\t\tInstanceId: ecsInstance.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.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Disk;\nimport com.pulumi.alicloud.ecs.DiskArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.DiskAttachment;\nimport com.pulumi.alicloud.ecs.DiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ECS disk-attachment and use it attach one disk to a new instance.\n var ecsSg = new SecurityGroup(\"ecsSg\", SecurityGroupArgs.builder()\n .name(\"terraform-test-group\")\n .description(\"New security group\")\n .build());\n\n var ecsDisk = new Disk(\"ecsDisk\", DiskArgs.builder()\n .availabilityZone(\"cn-beijing-a\")\n .size(50)\n .tags(Map.of(\"Name\", \"TerraformTest-disk\"))\n .build());\n\n var ecsInstance = new Instance(\"ecsInstance\", InstanceArgs.builder()\n .imageId(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\")\n .instanceType(\"ecs.n4.small\")\n .availabilityZone(\"cn-beijing-a\")\n .securityGroups(ecsSg.id())\n .instanceName(\"Hello\")\n .internetChargeType(\"PayByBandwidth\")\n .tags(Map.of(\"Name\", \"TerraformTest-instance\"))\n .build());\n\n var ecsDiskAtt = new DiskAttachment(\"ecsDiskAtt\", DiskAttachmentArgs.builder()\n .diskId(ecsDisk.id())\n .instanceId(ecsInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ECS disk-attachment and use it attach one disk to a new instance.\n ecsSg:\n type: alicloud:ecs:SecurityGroup\n name: ecs_sg\n properties:\n name: terraform-test-group\n description: New security group\n ecsDisk:\n type: alicloud:ecs:Disk\n name: ecs_disk\n properties:\n availabilityZone: cn-beijing-a\n size: '50'\n tags:\n Name: TerraformTest-disk\n ecsInstance:\n type: alicloud:ecs:Instance\n name: ecs_instance\n properties:\n imageId: ubuntu_18_04_64_20G_alibase_20190624.vhd\n instanceType: ecs.n4.small\n availabilityZone: cn-beijing-a\n securityGroups:\n - ${ecsSg.id}\n instanceName: Hello\n internetChargeType: PayByBandwidth\n tags:\n Name: TerraformTest-instance\n ecsDiskAtt:\n type: alicloud:ecs:DiskAttachment\n name: ecs_disk_att\n properties:\n diskId: ${ecsDisk.id}\n instanceId: ${ecsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe disk attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/diskAttachment:DiskAttachment example d-abc12345678:i-abc12355\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-dotnet=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-go=\" ecs.EcsDiskAttachment \" pulumi-lang-python=\" ecs.EcsDiskAttachment \" pulumi-lang-yaml=\" alicloud.ecs.EcsDiskAttachment \" pulumi-lang-java=\" alicloud.ecs.EcsDiskAttachment \"\u003e alicloud.ecs.EcsDiskAttachment \u003c/span\u003efrom version 1.122.0.\n\nProvides an Alicloud ECS Disk Attachment as a resource, to attach and detach disks from ECS Instances.\n\n## Example Usage\n\nBasic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new ECS disk-attachment and use it attach one disk to a new instance.\nconst ecsSg = new alicloud.ecs.SecurityGroup(\"ecs_sg\", {\n name: \"terraform-test-group\",\n description: \"New security group\",\n});\nconst ecsDisk = new alicloud.ecs.Disk(\"ecs_disk\", {\n availabilityZone: \"cn-beijing-a\",\n size: 50,\n tags: {\n Name: \"TerraformTest-disk\",\n },\n});\nconst ecsInstance = new alicloud.ecs.Instance(\"ecs_instance\", {\n imageId: \"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n instanceType: \"ecs.n4.small\",\n availabilityZone: \"cn-beijing-a\",\n securityGroups: [ecsSg.id],\n instanceName: \"Hello\",\n internetChargeType: \"PayByBandwidth\",\n tags: {\n Name: \"TerraformTest-instance\",\n },\n});\nconst ecsDiskAtt = new alicloud.ecs.DiskAttachment(\"ecs_disk_att\", {\n diskId: ecsDisk.id,\n instanceId: ecsInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new ECS disk-attachment and use it attach one disk to a new instance.\necs_sg = alicloud.ecs.SecurityGroup(\"ecs_sg\",\n name=\"terraform-test-group\",\n description=\"New security group\")\necs_disk = alicloud.ecs.Disk(\"ecs_disk\",\n availability_zone=\"cn-beijing-a\",\n size=50,\n tags={\n \"Name\": \"TerraformTest-disk\",\n })\necs_instance = alicloud.ecs.Instance(\"ecs_instance\",\n image_id=\"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n instance_type=\"ecs.n4.small\",\n availability_zone=\"cn-beijing-a\",\n security_groups=[ecs_sg.id],\n instance_name=\"Hello\",\n internet_charge_type=\"PayByBandwidth\",\n tags={\n \"Name\": \"TerraformTest-instance\",\n })\necs_disk_att = alicloud.ecs.DiskAttachment(\"ecs_disk_att\",\n disk_id=ecs_disk.id,\n instance_id=ecs_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new ECS disk-attachment and use it attach one disk to a new instance.\n var ecsSg = new AliCloud.Ecs.SecurityGroup(\"ecs_sg\", new()\n {\n Name = \"terraform-test-group\",\n Description = \"New security group\",\n });\n\n var ecsDisk = new AliCloud.Ecs.Disk(\"ecs_disk\", new()\n {\n AvailabilityZone = \"cn-beijing-a\",\n Size = 50,\n Tags = \n {\n { \"Name\", \"TerraformTest-disk\" },\n },\n });\n\n var ecsInstance = new AliCloud.Ecs.Instance(\"ecs_instance\", new()\n {\n ImageId = \"ubuntu_18_04_64_20G_alibase_20190624.vhd\",\n InstanceType = \"ecs.n4.small\",\n AvailabilityZone = \"cn-beijing-a\",\n SecurityGroups = new[]\n {\n ecsSg.Id,\n },\n InstanceName = \"Hello\",\n InternetChargeType = \"PayByBandwidth\",\n Tags = \n {\n { \"Name\", \"TerraformTest-instance\" },\n },\n });\n\n var ecsDiskAtt = new AliCloud.Ecs.DiskAttachment(\"ecs_disk_att\", new()\n {\n DiskId = ecsDisk.Id,\n InstanceId = ecsInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new ECS disk-attachment and use it attach one disk to a new instance.\n\t\tecsSg, err := ecs.NewSecurityGroup(ctx, \"ecs_sg\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-test-group\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsDisk, err := ecs.NewDisk(ctx, \"ecs_disk\", \u0026ecs.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-a\"),\n\t\t\tSize: pulumi.Int(50),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest-disk\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsInstance, err := ecs.NewInstance(ctx, \"ecs_instance\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\"),\n\t\t\tInstanceType: pulumi.String(\"ecs.n4.small\"),\n\t\t\tAvailabilityZone: pulumi.String(\"cn-beijing-a\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tecsSg.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"Hello\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"TerraformTest-instance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewDiskAttachment(ctx, \"ecs_disk_att\", \u0026ecs.DiskAttachmentArgs{\n\t\t\tDiskId: ecsDisk.ID(),\n\t\t\tInstanceId: ecsInstance.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.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Disk;\nimport com.pulumi.alicloud.ecs.DiskArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.DiskAttachment;\nimport com.pulumi.alicloud.ecs.DiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new ECS disk-attachment and use it attach one disk to a new instance.\n var ecsSg = new SecurityGroup(\"ecsSg\", SecurityGroupArgs.builder()\n .name(\"terraform-test-group\")\n .description(\"New security group\")\n .build());\n\n var ecsDisk = new Disk(\"ecsDisk\", DiskArgs.builder()\n .availabilityZone(\"cn-beijing-a\")\n .size(50)\n .tags(Map.of(\"Name\", \"TerraformTest-disk\"))\n .build());\n\n var ecsInstance = new Instance(\"ecsInstance\", InstanceArgs.builder()\n .imageId(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\")\n .instanceType(\"ecs.n4.small\")\n .availabilityZone(\"cn-beijing-a\")\n .securityGroups(ecsSg.id())\n .instanceName(\"Hello\")\n .internetChargeType(\"PayByBandwidth\")\n .tags(Map.of(\"Name\", \"TerraformTest-instance\"))\n .build());\n\n var ecsDiskAtt = new DiskAttachment(\"ecsDiskAtt\", DiskAttachmentArgs.builder()\n .diskId(ecsDisk.id())\n .instanceId(ecsInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new ECS disk-attachment and use it attach one disk to a new instance.\n ecsSg:\n type: alicloud:ecs:SecurityGroup\n name: ecs_sg\n properties:\n name: terraform-test-group\n description: New security group\n ecsDisk:\n type: alicloud:ecs:Disk\n name: ecs_disk\n properties:\n availabilityZone: cn-beijing-a\n size: '50'\n tags:\n Name: TerraformTest-disk\n ecsInstance:\n type: alicloud:ecs:Instance\n name: ecs_instance\n properties:\n imageId: ubuntu_18_04_64_20G_alibase_20190624.vhd\n instanceType: ecs.n4.small\n availabilityZone: cn-beijing-a\n securityGroups:\n - ${ecsSg.id}\n instanceName: Hello\n internetChargeType: PayByBandwidth\n tags:\n Name: TerraformTest-instance\n ecsDiskAtt:\n type: alicloud:ecs:DiskAttachment\n name: ecs_disk_att\n properties:\n diskId: ${ecsDisk.id}\n instanceId: ${ecsInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe disk attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/diskAttachment:DiskAttachment example d-abc12345678:i-abc12355\n```\n\n", "properties": { "bootable": { "type": "boolean" @@ -152767,7 +155396,7 @@ } }, "alicloud:ecs/ecsAutoSnapshotPolicyAttachment:EcsAutoSnapshotPolicyAttachment": { - "description": "Provides a ECS Auto Snapshot Policy Attachment resource.\n\nFor information about ECS Auto Snapshot Policy Attachment and how to use it, see [What is Auto Snapshot Policy Attachment](https://www.alibabacloud.com/help/en/doc-detail/25531.htm).\n\n\u003e **NOTE:** Available in v1.122.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst exampleAutoSnapshotPolicy = new alicloud.ecs.AutoSnapshotPolicy(\"example\", {\n name: \"terraform-example\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst exampleEcsDisk = new alicloud.ecs.EcsDisk(\"example\", {\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n diskName: \"terraform-example\",\n description: \"Hello ecs disk.\",\n category: \"cloud_efficiency\",\n size: 30,\n encrypted: true,\n kmsKeyId: exampleKey.id,\n tags: {\n Name: \"terraform-example\",\n },\n});\nconst exampleEcsAutoSnapshotPolicyAttachment = new alicloud.ecs.EcsAutoSnapshotPolicyAttachment(\"example\", {\n autoSnapshotPolicyId: exampleAutoSnapshotPolicy.id,\n diskId: exampleEcsDisk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\")\nexample_auto_snapshot_policy = alicloud.ecs.AutoSnapshotPolicy(\"example\",\n name=\"terraform-example\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\nexample_ecs_disk = alicloud.ecs.EcsDisk(\"example\",\n zone_id=example.zones[0].id,\n disk_name=\"terraform-example\",\n description=\"Hello ecs disk.\",\n category=\"cloud_efficiency\",\n size=30,\n encrypted=True,\n kms_key_id=example_key.id,\n tags={\n \"Name\": \"terraform-example\",\n })\nexample_ecs_auto_snapshot_policy_attachment = alicloud.ecs.EcsAutoSnapshotPolicyAttachment(\"example\",\n auto_snapshot_policy_id=example_auto_snapshot_policy.id,\n disk_id=example_ecs_disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var exampleAutoSnapshotPolicy = new AliCloud.Ecs.AutoSnapshotPolicy(\"example\", new()\n {\n Name = \"terraform-example\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var exampleEcsDisk = new AliCloud.Ecs.EcsDisk(\"example\", new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n DiskName = \"terraform-example\",\n Description = \"Hello ecs disk.\",\n Category = \"cloud_efficiency\",\n Size = 30,\n Encrypted = true,\n KmsKeyId = exampleKey.Id,\n Tags = \n {\n { \"Name\", \"terraform-example\" },\n },\n });\n\n var exampleEcsAutoSnapshotPolicyAttachment = new AliCloud.Ecs.EcsAutoSnapshotPolicyAttachment(\"example\", new()\n {\n AutoSnapshotPolicyId = exampleAutoSnapshotPolicy.Id,\n DiskId = exampleEcsDisk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\texampleAutoSnapshotPolicy, err := ecs.NewAutoSnapshotPolicy(ctx, \"example\", \u0026ecs.AutoSnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEcsDisk, err := ecs.NewEcsDisk(ctx, \"example\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tDiskName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"Hello ecs disk.\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: exampleKey.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"terraform-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsAutoSnapshotPolicyAttachment(ctx, \"example\", \u0026ecs.EcsAutoSnapshotPolicyAttachmentArgs{\n\t\t\tAutoSnapshotPolicyId: exampleAutoSnapshotPolicy.ID(),\n\t\t\tDiskId: exampleEcsDisk.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsAutoSnapshotPolicyAttachment;\nimport com.pulumi.alicloud.ecs.EcsAutoSnapshotPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var exampleAutoSnapshotPolicy = new AutoSnapshotPolicy(\"exampleAutoSnapshotPolicy\", AutoSnapshotPolicyArgs.builder()\n .name(\"terraform-example\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n var exampleEcsDisk = new EcsDisk(\"exampleEcsDisk\", EcsDiskArgs.builder()\n .zoneId(example.zones()[0].id())\n .diskName(\"terraform-example\")\n .description(\"Hello ecs disk.\")\n .category(\"cloud_efficiency\")\n .size(30)\n .encrypted(true)\n .kmsKeyId(exampleKey.id())\n .tags(Map.of(\"Name\", \"terraform-example\"))\n .build());\n\n var exampleEcsAutoSnapshotPolicyAttachment = new EcsAutoSnapshotPolicyAttachment(\"exampleEcsAutoSnapshotPolicyAttachment\", EcsAutoSnapshotPolicyAttachmentArgs.builder()\n .autoSnapshotPolicyId(exampleAutoSnapshotPolicy.id())\n .diskId(exampleEcsDisk.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n exampleAutoSnapshotPolicy:\n type: alicloud:ecs:AutoSnapshotPolicy\n name: example\n properties:\n name: terraform-example\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n exampleEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: example\n properties:\n zoneId: ${example.zones[0].id}\n diskName: terraform-example\n description: Hello ecs disk.\n category: cloud_efficiency\n size: '30'\n encrypted: true\n kmsKeyId: ${exampleKey.id}\n tags:\n Name: terraform-example\n exampleEcsAutoSnapshotPolicyAttachment:\n type: alicloud:ecs:EcsAutoSnapshotPolicyAttachment\n name: example\n properties:\n autoSnapshotPolicyId: ${exampleAutoSnapshotPolicy.id}\n diskId: ${exampleEcsDisk.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Auto Snapshot Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsAutoSnapshotPolicyAttachment:EcsAutoSnapshotPolicyAttachment example s-abcd12345:d-abcd12345\n```\n\n", + "description": "Provides a ECS Auto Snapshot Policy Attachment resource.\n\nFor information about ECS Auto Snapshot Policy Attachment and how to use it, see [What is Auto Snapshot Policy Attachment](https://www.alibabacloud.com/help/en/doc-detail/25531.htm).\n\n\u003e **NOTE:** Available in v1.122.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst exampleAutoSnapshotPolicy = new alicloud.ecs.AutoSnapshotPolicy(\"example\", {\n name: \"terraform-example\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\nconst exampleEcsDisk = new alicloud.ecs.EcsDisk(\"example\", {\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n diskName: \"terraform-example\",\n description: \"Hello ecs disk.\",\n category: \"cloud_efficiency\",\n size: 30,\n encrypted: true,\n kmsKeyId: exampleKey.id,\n tags: {\n Name: \"terraform-example\",\n },\n});\nconst exampleEcsAutoSnapshotPolicyAttachment = new alicloud.ecs.EcsAutoSnapshotPolicyAttachment(\"example\", {\n autoSnapshotPolicyId: exampleAutoSnapshotPolicy.id,\n diskId: exampleEcsDisk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\")\nexample_auto_snapshot_policy = alicloud.ecs.AutoSnapshotPolicy(\"example\",\n name=\"terraform-example\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\nexample_ecs_disk = alicloud.ecs.EcsDisk(\"example\",\n zone_id=example.zones[0].id,\n disk_name=\"terraform-example\",\n description=\"Hello ecs disk.\",\n category=\"cloud_efficiency\",\n size=30,\n encrypted=True,\n kms_key_id=example_key.id,\n tags={\n \"Name\": \"terraform-example\",\n })\nexample_ecs_auto_snapshot_policy_attachment = alicloud.ecs.EcsAutoSnapshotPolicyAttachment(\"example\",\n auto_snapshot_policy_id=example_auto_snapshot_policy.id,\n disk_id=example_ecs_disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var exampleAutoSnapshotPolicy = new AliCloud.Ecs.AutoSnapshotPolicy(\"example\", new()\n {\n Name = \"terraform-example\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n var exampleEcsDisk = new AliCloud.Ecs.EcsDisk(\"example\", new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n DiskName = \"terraform-example\",\n Description = \"Hello ecs disk.\",\n Category = \"cloud_efficiency\",\n Size = 30,\n Encrypted = true,\n KmsKeyId = exampleKey.Id,\n Tags = \n {\n { \"Name\", \"terraform-example\" },\n },\n });\n\n var exampleEcsAutoSnapshotPolicyAttachment = new AliCloud.Ecs.EcsAutoSnapshotPolicyAttachment(\"example\", new()\n {\n AutoSnapshotPolicyId = exampleAutoSnapshotPolicy.Id,\n DiskId = exampleEcsDisk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\texampleAutoSnapshotPolicy, err := ecs.NewAutoSnapshotPolicy(ctx, \"example\", \u0026ecs.AutoSnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEcsDisk, err := ecs.NewEcsDisk(ctx, \"example\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tDiskName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"Hello ecs disk.\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tKmsKeyId: exampleKey.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"terraform-example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsAutoSnapshotPolicyAttachment(ctx, \"example\", \u0026ecs.EcsAutoSnapshotPolicyAttachmentArgs{\n\t\t\tAutoSnapshotPolicyId: exampleAutoSnapshotPolicy.ID(),\n\t\t\tDiskId: exampleEcsDisk.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.ecs.AutoSnapshotPolicyArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsAutoSnapshotPolicyAttachment;\nimport com.pulumi.alicloud.ecs.EcsAutoSnapshotPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var exampleAutoSnapshotPolicy = new AutoSnapshotPolicy(\"exampleAutoSnapshotPolicy\", AutoSnapshotPolicyArgs.builder()\n .name(\"terraform-example\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n var exampleEcsDisk = new EcsDisk(\"exampleEcsDisk\", EcsDiskArgs.builder()\n .zoneId(example.zones()[0].id())\n .diskName(\"terraform-example\")\n .description(\"Hello ecs disk.\")\n .category(\"cloud_efficiency\")\n .size(30)\n .encrypted(true)\n .kmsKeyId(exampleKey.id())\n .tags(Map.of(\"Name\", \"terraform-example\"))\n .build());\n\n var exampleEcsAutoSnapshotPolicyAttachment = new EcsAutoSnapshotPolicyAttachment(\"exampleEcsAutoSnapshotPolicyAttachment\", EcsAutoSnapshotPolicyAttachmentArgs.builder()\n .autoSnapshotPolicyId(exampleAutoSnapshotPolicy.id())\n .diskId(exampleEcsDisk.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n exampleAutoSnapshotPolicy:\n type: alicloud:ecs:AutoSnapshotPolicy\n name: example\n properties:\n name: terraform-example\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n exampleEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: example\n properties:\n zoneId: ${example.zones[0].id}\n diskName: terraform-example\n description: Hello ecs disk.\n category: cloud_efficiency\n size: '30'\n encrypted: true\n kmsKeyId: ${exampleKey.id}\n tags:\n Name: terraform-example\n exampleEcsAutoSnapshotPolicyAttachment:\n type: alicloud:ecs:EcsAutoSnapshotPolicyAttachment\n name: example\n properties:\n autoSnapshotPolicyId: ${exampleAutoSnapshotPolicy.id}\n diskId: ${exampleEcsDisk.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Auto Snapshot Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsAutoSnapshotPolicyAttachment:EcsAutoSnapshotPolicyAttachment example s-abcd12345:d-abcd12345\n```\n\n", "properties": { "autoSnapshotPolicyId": { "type": "string", @@ -152816,7 +155445,7 @@ } }, "alicloud:ecs/ecsDedicatedHostCluster:EcsDedicatedHostCluster": { - "description": "Provides a ECS Dedicated Host Cluster resource.\n\nFor information about ECS Dedicated Host Cluster and how to use it, see [What is Dedicated Host Cluster](https://www.alibabacloud.com/help/en/doc-detail/184667.html).\n\n\u003e **NOTE:** Available since v1.146.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({});\nconst exampleEcsDedicatedHostCluster = new alicloud.ecs.EcsDedicatedHostCluster(\"example\", {\n dedicatedHostClusterName: \"example_value\",\n description: \"example_value\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n tags: {\n Create: \"TF\",\n For: \"DDH_Cluster_Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones()\nexample_ecs_dedicated_host_cluster = alicloud.ecs.EcsDedicatedHostCluster(\"example\",\n dedicated_host_cluster_name=\"example_value\",\n description=\"example_value\",\n zone_id=example.zones[0].id,\n tags={\n \"Create\": \"TF\",\n \"For\": \"DDH_Cluster_Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke();\n\n var exampleEcsDedicatedHostCluster = new AliCloud.Ecs.EcsDedicatedHostCluster(\"example\", new()\n {\n DedicatedHostClusterName = \"example_value\",\n Description = \"example_value\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Tags = \n {\n { \"Create\", \"TF\" },\n { \"For\", \"DDH_Cluster_Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsDedicatedHostCluster(ctx, \"example\", \u0026ecs.EcsDedicatedHostClusterArgs{\n\t\t\tDedicatedHostClusterName: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Create\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"DDH_Cluster_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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsDedicatedHostCluster;\nimport com.pulumi.alicloud.ecs.EcsDedicatedHostClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var exampleEcsDedicatedHostCluster = new EcsDedicatedHostCluster(\"exampleEcsDedicatedHostCluster\", EcsDedicatedHostClusterArgs.builder()\n .dedicatedHostClusterName(\"example_value\")\n .description(\"example_value\")\n .zoneId(example.zones()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Create\", \"TF\"),\n Map.entry(\"For\", \"DDH_Cluster_Test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEcsDedicatedHostCluster:\n type: alicloud:ecs:EcsDedicatedHostCluster\n name: example\n properties:\n dedicatedHostClusterName: example_value\n description: example_value\n zoneId: ${example.zones[0].id}\n tags:\n Create: TF\n For: DDH_Cluster_Test\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Dedicated Host Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDedicatedHostCluster:EcsDedicatedHostCluster example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Dedicated Host Cluster resource.\n\nFor information about ECS Dedicated Host Cluster and how to use it, see [What is Dedicated Host Cluster](https://www.alibabacloud.com/help/en/doc-detail/184667.html).\n\n\u003e **NOTE:** Available since v1.146.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({});\nconst exampleEcsDedicatedHostCluster = new alicloud.ecs.EcsDedicatedHostCluster(\"example\", {\n dedicatedHostClusterName: \"example_value\",\n description: \"example_value\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n tags: {\n Create: \"TF\",\n For: \"DDH_Cluster_Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones()\nexample_ecs_dedicated_host_cluster = alicloud.ecs.EcsDedicatedHostCluster(\"example\",\n dedicated_host_cluster_name=\"example_value\",\n description=\"example_value\",\n zone_id=example.zones[0].id,\n tags={\n \"Create\": \"TF\",\n \"For\": \"DDH_Cluster_Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke();\n\n var exampleEcsDedicatedHostCluster = new AliCloud.Ecs.EcsDedicatedHostCluster(\"example\", new()\n {\n DedicatedHostClusterName = \"example_value\",\n Description = \"example_value\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Tags = \n {\n { \"Create\", \"TF\" },\n { \"For\", \"DDH_Cluster_Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsDedicatedHostCluster(ctx, \"example\", \u0026ecs.EcsDedicatedHostClusterArgs{\n\t\t\tDedicatedHostClusterName: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Create\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"DDH_Cluster_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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsDedicatedHostCluster;\nimport com.pulumi.alicloud.ecs.EcsDedicatedHostClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var exampleEcsDedicatedHostCluster = new EcsDedicatedHostCluster(\"exampleEcsDedicatedHostCluster\", EcsDedicatedHostClusterArgs.builder()\n .dedicatedHostClusterName(\"example_value\")\n .description(\"example_value\")\n .zoneId(example.zones()[0].id())\n .tags(Map.ofEntries(\n Map.entry(\"Create\", \"TF\"),\n Map.entry(\"For\", \"DDH_Cluster_Test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEcsDedicatedHostCluster:\n type: alicloud:ecs:EcsDedicatedHostCluster\n name: example\n properties:\n dedicatedHostClusterName: example_value\n description: example_value\n zoneId: ${example.zones[0].id}\n tags:\n Create: TF\n For: DDH_Cluster_Test\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Dedicated Host Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDedicatedHostCluster:EcsDedicatedHostCluster example \u003cid\u003e\n```\n\n", "properties": { "dedicatedHostClusterName": { "type": "string", @@ -152906,7 +155535,7 @@ } }, "alicloud:ecs/ecsDeploymentSet:EcsDeploymentSet": { - "description": "Provides a ECS Deployment Set resource.\n\nFor information about ECS Deployment Set and how to use it, see [What is Deployment Set](https://www.alibabacloud.com/help/en/doc-detail/91269.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ecs.EcsDeploymentSet(\"default\", {\n strategy: \"Availability\",\n deploymentSetName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecs.EcsDeploymentSet(\"default\",\n strategy=\"Availability\",\n deployment_set_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ecs.EcsDeploymentSet(\"default\", new()\n {\n Strategy = \"Availability\",\n DeploymentSetName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEcsDeploymentSet(ctx, \"default\", \u0026ecs.EcsDeploymentSetArgs{\n\t\t\tStrategy: pulumi.String(\"Availability\"),\n\t\t\tDeploymentSetName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.ecs.EcsDeploymentSet;\nimport com.pulumi.alicloud.ecs.EcsDeploymentSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new EcsDeploymentSet(\"default\", EcsDeploymentSetArgs.builder()\n .strategy(\"Availability\")\n .deploymentSetName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ecs:EcsDeploymentSet\n properties:\n strategy: Availability\n deploymentSetName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Deployment Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDeploymentSet:EcsDeploymentSet example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Deployment Set resource.\n\nFor information about ECS Deployment Set and how to use it, see [What is Deployment Set](https://www.alibabacloud.com/help/en/doc-detail/91269.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ecs.EcsDeploymentSet(\"default\", {\n strategy: \"Availability\",\n deploymentSetName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecs.EcsDeploymentSet(\"default\",\n strategy=\"Availability\",\n deployment_set_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ecs.EcsDeploymentSet(\"default\", new()\n {\n Strategy = \"Availability\",\n DeploymentSetName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEcsDeploymentSet(ctx, \"default\", \u0026ecs.EcsDeploymentSetArgs{\n\t\t\tStrategy: pulumi.String(\"Availability\"),\n\t\t\tDeploymentSetName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.ecs.EcsDeploymentSet;\nimport com.pulumi.alicloud.ecs.EcsDeploymentSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new EcsDeploymentSet(\"default\", EcsDeploymentSetArgs.builder()\n .strategy(\"Availability\")\n .deploymentSetName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ecs:EcsDeploymentSet\n properties:\n strategy: Availability\n deploymentSetName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Deployment Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDeploymentSet:EcsDeploymentSet example \u003cid\u003e\n```\n\n", "properties": { "deploymentSetName": { "type": "string", @@ -153414,7 +156043,7 @@ } }, "alicloud:ecs/ecsDiskAttachment:EcsDiskAttachment": { - "description": "Provides an Alicloud ECS Disk Attachment as a resource, to attach and detach disks from ECS Instances.\n\nFor information about ECS Disk Attachment and how to use it, see [What is Disk Attachment](https://www.alibabacloud.com/help/en/doc-detail/25515.htm).\n\n\u003e **NOTE:** Available since v1.122.0.\n\n## Example Usage\n\nBasic usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"tf-example\",\n description: \"New security group\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n hostName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst disk = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: disk.then(disk =\u003e disk.zones?.[0]?.id),\n category: \"cloud_efficiency\",\n deleteAutoSnapshot: true,\n description: \"Test For Terraform\",\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n Environment: \"Acceptance-test\",\n },\n});\nconst defaultEcsDiskAttachment = new alicloud.ecs.EcsDiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"tf-example\",\n description=\"New security group\",\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n host_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndisk = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=disk.zones[0].id,\n category=\"cloud_efficiency\",\n delete_auto_snapshot=True,\n description=\"Test For Terraform\",\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"Environment\": \"Acceptance-test\",\n })\ndefault_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"tf-example\",\n Description = \"New security group\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n HostName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var disk = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = disk.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Category = \"cloud_efficiency\",\n DeleteAutoSnapshot = true,\n Description = \"Test For Terraform\",\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"Environment\", \"Acceptance-test\" },\n },\n });\n\n var defaultEcsDiskAttachment = new AliCloud.Ecs.EcsDiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdisk, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(disk.Zones[0].Id),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Test For Terraform\"),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Acceptance-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 = ecs.NewEcsDiskAttachment(ctx, \"default\", \u0026ecs.EcsDiskAttachmentArgs{\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachment;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"tf-example\")\n .description(\"New security group\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .hostName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n final var disk = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(disk.zones()[0].id())\n .category(\"cloud_efficiency\")\n .deleteAutoSnapshot(true)\n .description(\"Test For Terraform\")\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"Environment\", \"Acceptance-test\")\n ))\n .build());\n\n var defaultEcsDiskAttachment = new EcsDiskAttachment(\"defaultEcsDiskAttachment\", EcsDiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Create a new ECS disk-attachment and use it attach one disk to a new instance.\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: tf-example\n description: New security group\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n hostName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${disk.zones[0].id}\n category: cloud_efficiency\n deleteAutoSnapshot: 'true'\n description: Test For Terraform\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n Environment: Acceptance-test\n defaultEcsDiskAttachment:\n type: alicloud:ecs:EcsDiskAttachment\n name: default\n properties:\n diskId: ${defaultEcsDisk.id}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n disk:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe disk attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDiskAttachment:EcsDiskAttachment example d-abc12345678:i-abc12355\n```\n\n", + "description": "Provides an Alicloud ECS Disk Attachment as a resource, to attach and detach disks from ECS Instances.\n\nFor information about ECS Disk Attachment and how to use it, see [What is Disk Attachment](https://www.alibabacloud.com/help/en/doc-detail/25515.htm).\n\n\u003e **NOTE:** Available since v1.122.0.\n\n## Example Usage\n\nBasic usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"10.4.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"tf-example\",\n description: \"New security group\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n hostName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst disk = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: disk.then(disk =\u003e disk.zones?.[0]?.id),\n category: \"cloud_efficiency\",\n deleteAutoSnapshot: true,\n description: \"Test For Terraform\",\n diskName: name,\n enableAutoSnapshot: true,\n encrypted: true,\n size: 500,\n tags: {\n Created: \"TF\",\n Environment: \"Acceptance-test\",\n },\n});\nconst defaultEcsDiskAttachment = new alicloud.ecs.EcsDiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"10.4.0.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"tf-example\",\n description=\"New security group\",\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n host_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndisk = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=disk.zones[0].id,\n category=\"cloud_efficiency\",\n delete_auto_snapshot=True,\n description=\"Test For Terraform\",\n disk_name=name,\n enable_auto_snapshot=True,\n encrypted=True,\n size=500,\n tags={\n \"Created\": \"TF\",\n \"Environment\": \"Acceptance-test\",\n })\ndefault_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"10.4.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"tf-example\",\n Description = \"New security group\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n HostName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var disk = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = disk.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Category = \"cloud_efficiency\",\n DeleteAutoSnapshot = true,\n Description = \"Test For Terraform\",\n DiskName = name,\n EnableAutoSnapshot = true,\n Encrypted = true,\n Size = 500,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"Environment\", \"Acceptance-test\" },\n },\n });\n\n var defaultEcsDiskAttachment = new AliCloud.Ecs.EcsDiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example\"),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHostName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdisk, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(disk.Zones[0].Id),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tDeleteAutoSnapshot: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Test For Terraform\"),\n\t\t\tDiskName: pulumi.String(name),\n\t\t\tEnableAutoSnapshot: pulumi.Bool(true),\n\t\t\tEncrypted: pulumi.Bool(true),\n\t\t\tSize: pulumi.Int(500),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"Environment\": pulumi.String(\"Acceptance-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 = ecs.NewEcsDiskAttachment(ctx, \"default\", \u0026ecs.EcsDiskAttachmentArgs{\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachment;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"10.4.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"tf-example\")\n .description(\"New security group\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .hostName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n final var disk = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(disk.zones()[0].id())\n .category(\"cloud_efficiency\")\n .deleteAutoSnapshot(true)\n .description(\"Test For Terraform\")\n .diskName(name)\n .enableAutoSnapshot(true)\n .encrypted(true)\n .size(500)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"Environment\", \"Acceptance-test\")\n ))\n .build());\n\n var defaultEcsDiskAttachment = new EcsDiskAttachment(\"defaultEcsDiskAttachment\", EcsDiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Create a new ECS disk-attachment and use it attach one disk to a new instance.\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 10.4.0.0/24\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: tf-example\n description: New security group\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n hostName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${disk.zones[0].id}\n category: cloud_efficiency\n deleteAutoSnapshot: 'true'\n description: Test For Terraform\n diskName: ${name}\n enableAutoSnapshot: 'true'\n encrypted: 'true'\n size: '500'\n tags:\n Created: TF\n Environment: Acceptance-test\n defaultEcsDiskAttachment:\n type: alicloud:ecs:EcsDiskAttachment\n name: default\n properties:\n diskId: ${defaultEcsDisk.id}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n disk:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe disk attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsDiskAttachment:EcsDiskAttachment example d-abc12345678:i-abc12355\n```\n\n", "properties": { "bootable": { "type": "boolean", @@ -153526,7 +156155,7 @@ } }, "alicloud:ecs/ecsImageComponent:EcsImageComponent": { - "description": "Provides a ECS Image Component resource.\n\n\n\nFor information about ECS Image Component and how to use it, see [What is Image Component](https://www.alibabacloud.com/help/en/doc-detail/200424.htm).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst example = new alicloud.ecs.EcsImageComponent(\"example\", {\n componentType: \"Build\",\n content: \"RUN yum update -y\",\n description: \"example_value\",\n imageComponentName: \"example_value\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n systemType: \"Linux\",\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\nexample = alicloud.ecs.EcsImageComponent(\"example\",\n component_type=\"Build\",\n content=\"RUN yum update -y\",\n description=\"example_value\",\n image_component_name=\"example_value\",\n resource_group_id=default.groups[0].id,\n system_type=\"Linux\",\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var example = new AliCloud.Ecs.EcsImageComponent(\"example\", new()\n {\n ComponentType = \"Build\",\n Content = \"RUN yum update -y\",\n Description = \"example_value\",\n ImageComponentName = \"example_value\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n SystemType = \"Linux\",\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsImageComponent(ctx, \"example\", \u0026ecs.EcsImageComponentArgs{\n\t\t\tComponentType: pulumi.String(\"Build\"),\n\t\t\tContent: pulumi.String(\"RUN yum update -y\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tImageComponentName: pulumi.String(\"example_value\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tSystemType: pulumi.String(\"Linux\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsImageComponent;\nimport com.pulumi.alicloud.ecs.EcsImageComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n var example = new EcsImageComponent(\"example\", EcsImageComponentArgs.builder()\n .componentType(\"Build\")\n .content(\"RUN yum update -y\")\n .description(\"example_value\")\n .imageComponentName(\"example_value\")\n .resourceGroupId(default_.groups()[0].id())\n .systemType(\"Linux\")\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:EcsImageComponent\n properties:\n componentType: Build\n content: RUN yum update -y\n description: example_value\n imageComponentName: example_value\n resourceGroupId: ${default.groups[0].id}\n systemType: Linux\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Image Component can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsImageComponent:EcsImageComponent example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Image Component resource.\n\n\n\nFor information about ECS Image Component and how to use it, see [What is Image Component](https://www.alibabacloud.com/help/en/doc-detail/200424.htm).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst example = new alicloud.ecs.EcsImageComponent(\"example\", {\n componentType: \"Build\",\n content: \"RUN yum update -y\",\n description: \"example_value\",\n imageComponentName: \"example_value\",\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n systemType: \"Linux\",\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\nexample = alicloud.ecs.EcsImageComponent(\"example\",\n component_type=\"Build\",\n content=\"RUN yum update -y\",\n description=\"example_value\",\n image_component_name=\"example_value\",\n resource_group_id=default.groups[0].id,\n system_type=\"Linux\",\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var example = new AliCloud.Ecs.EcsImageComponent(\"example\", new()\n {\n ComponentType = \"Build\",\n Content = \"RUN yum update -y\",\n Description = \"example_value\",\n ImageComponentName = \"example_value\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n SystemType = \"Linux\",\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsImageComponent(ctx, \"example\", \u0026ecs.EcsImageComponentArgs{\n\t\t\tComponentType: pulumi.String(\"Build\"),\n\t\t\tContent: pulumi.String(\"RUN yum update -y\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tImageComponentName: pulumi.String(\"example_value\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tSystemType: pulumi.String(\"Linux\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsImageComponent;\nimport com.pulumi.alicloud.ecs.EcsImageComponentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n var example = new EcsImageComponent(\"example\", EcsImageComponentArgs.builder()\n .componentType(\"Build\")\n .content(\"RUN yum update -y\")\n .description(\"example_value\")\n .imageComponentName(\"example_value\")\n .resourceGroupId(default_.groups()[0].id())\n .systemType(\"Linux\")\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:EcsImageComponent\n properties:\n componentType: Build\n content: RUN yum update -y\n description: example_value\n imageComponentName: example_value\n resourceGroupId: ${default.groups[0].id}\n systemType: Linux\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Image Component can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsImageComponent:EcsImageComponent example \u003cid\u003e\n```\n\n", "properties": { "componentType": { "type": "string", @@ -153676,7 +156305,7 @@ } }, "alicloud:ecs/ecsImagePipeline:EcsImagePipeline": { - "description": "Provides a ECS Image Pipeline resource.\n\nFor information about ECS Image Pipeline and how to use it, see [What is Image Pipeline](https://www.alibabacloud.com/help/en/doc-detail/200427.html).\n\n\u003e **NOTE:** Available in v1.163.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetImages.then(defaultGetImages =\u003e alicloud.ecs.getInstanceTypes({\n imageId: defaultGetImages.ids?.[0],\n}));\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultEcsImagePipeline = new alicloud.ecs.EcsImagePipeline(\"default\", {\n addAccounts: [defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id)],\n baseImage: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n baseImageType: \"IMAGE\",\n buildContent: \"RUN yum update -y\",\n deleteInstanceOnFailure: false,\n imageName: \"terraform-example\",\n name: \"terraform-example\",\n description: \"terraform-example\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n internetMaxBandwidthOut: 20,\n systemDiskSize: 40,\n toRegionIds: [\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n ],\n vswitchId: defaultSwitch.id,\n tags: {\n Created: \"TF\",\n For: \"Acceptance-test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(image_id=default_get_images.ids[0])\ndefault_get_account = alicloud.get_account()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_ecs_image_pipeline = alicloud.ecs.EcsImagePipeline(\"default\",\n add_accounts=[default_get_account.id],\n base_image=default_get_images.ids[0],\n base_image_type=\"IMAGE\",\n build_content=\"RUN yum update -y\",\n delete_instance_on_failure=False,\n image_name=\"terraform-example\",\n name=\"terraform-example\",\n description=\"terraform-example\",\n instance_type=default_get_instance_types.ids[0],\n resource_group_id=default.groups[0].id,\n internet_max_bandwidth_out=20,\n system_disk_size=40,\n to_region_ids=[\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n ],\n vswitch_id=default_switch.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance-test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultEcsImagePipeline = new AliCloud.Ecs.EcsImagePipeline(\"default\", new()\n {\n AddAccounts = new[]\n {\n defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n BaseImage = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n BaseImageType = \"IMAGE\",\n BuildContent = \"RUN yum update -y\",\n DeleteInstanceOnFailure = false,\n ImageName = \"terraform-example\",\n Name = \"terraform-example\",\n Description = \"terraform-example\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n InternetMaxBandwidthOut = 20,\n SystemDiskSize = 40,\n ToRegionIds = new[]\n {\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n },\n VswitchId = defaultSwitch.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance-test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tImageId: pulumi.StringRef(defaultGetImages.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsImagePipeline(ctx, \"default\", \u0026ecs.EcsImagePipelineArgs{\n\t\t\tAddAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetAccount.Id),\n\t\t\t},\n\t\t\tBaseImage: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tBaseImageType: pulumi.String(\"IMAGE\"),\n\t\t\tBuildContent: pulumi.String(\"RUN yum update -y\"),\n\t\t\tDeleteInstanceOnFailure: pulumi.Bool(false),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(20),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tToRegionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-qingdao\"),\n\t\t\t\tpulumi.String(\"cn-zhangjiakou\"),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance-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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.EcsImagePipeline;\nimport com.pulumi.alicloud.ecs.EcsImagePipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .imageId(defaultGetImages.ids()[0])\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultEcsImagePipeline = new EcsImagePipeline(\"defaultEcsImagePipeline\", EcsImagePipelineArgs.builder()\n .addAccounts(defaultGetAccount.id())\n .baseImage(defaultGetImages.ids()[0])\n .baseImageType(\"IMAGE\")\n .buildContent(\"RUN yum update -y\")\n .deleteInstanceOnFailure(false)\n .imageName(\"terraform-example\")\n .name(\"terraform-example\")\n .description(\"terraform-example\")\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .resourceGroupId(default_.groups()[0].id())\n .internetMaxBandwidthOut(20)\n .systemDiskSize(40)\n .toRegionIds( \n \"cn-qingdao\",\n \"cn-zhangjiakou\")\n .vswitchId(defaultSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance-test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultEcsImagePipeline:\n type: alicloud:ecs:EcsImagePipeline\n name: default\n properties:\n addAccounts:\n - ${defaultGetAccount.id}\n baseImage: ${defaultGetImages.ids[0]}\n baseImageType: IMAGE\n buildContent: RUN yum update -y\n deleteInstanceOnFailure: false\n imageName: terraform-example\n name: terraform-example\n description: terraform-example\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n resourceGroupId: ${default.groups[0].id}\n internetMaxBandwidthOut: 20\n systemDiskSize: 40\n toRegionIds:\n - cn-qingdao\n - cn-zhangjiakou\n vswitchId: ${defaultSwitch.id}\n tags:\n Created: TF\n For: Acceptance-test\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n imageId: ${defaultGetImages.ids[0]}\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Image Pipeline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsImagePipeline:EcsImagePipeline example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Image Pipeline resource.\n\nFor information about ECS Image Pipeline and how to use it, see [What is Image Pipeline](https://www.alibabacloud.com/help/en/doc-detail/200427.html).\n\n\u003e **NOTE:** Available in v1.163.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetImages.then(defaultGetImages =\u003e alicloud.ecs.getInstanceTypes({\n imageId: defaultGetImages.ids?.[0],\n}));\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultEcsImagePipeline = new alicloud.ecs.EcsImagePipeline(\"default\", {\n addAccounts: [defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id)],\n baseImage: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n baseImageType: \"IMAGE\",\n buildContent: \"RUN yum update -y\",\n deleteInstanceOnFailure: false,\n imageName: \"terraform-example\",\n name: \"terraform-example\",\n description: \"terraform-example\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n internetMaxBandwidthOut: 20,\n systemDiskSize: 40,\n toRegionIds: [\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n ],\n vswitchId: defaultSwitch.id,\n tags: {\n Created: \"TF\",\n For: \"Acceptance-test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(image_id=default_get_images.ids[0])\ndefault_get_account = alicloud.get_account()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_ecs_image_pipeline = alicloud.ecs.EcsImagePipeline(\"default\",\n add_accounts=[default_get_account.id],\n base_image=default_get_images.ids[0],\n base_image_type=\"IMAGE\",\n build_content=\"RUN yum update -y\",\n delete_instance_on_failure=False,\n image_name=\"terraform-example\",\n name=\"terraform-example\",\n description=\"terraform-example\",\n instance_type=default_get_instance_types.ids[0],\n resource_group_id=default.groups[0].id,\n internet_max_bandwidth_out=20,\n system_disk_size=40,\n to_region_ids=[\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n ],\n vswitch_id=default_switch.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance-test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultEcsImagePipeline = new AliCloud.Ecs.EcsImagePipeline(\"default\", new()\n {\n AddAccounts = new[]\n {\n defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n BaseImage = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n BaseImageType = \"IMAGE\",\n BuildContent = \"RUN yum update -y\",\n DeleteInstanceOnFailure = false,\n ImageName = \"terraform-example\",\n Name = \"terraform-example\",\n Description = \"terraform-example\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n InternetMaxBandwidthOut = 20,\n SystemDiskSize = 40,\n ToRegionIds = new[]\n {\n \"cn-qingdao\",\n \"cn-zhangjiakou\",\n },\n VswitchId = defaultSwitch.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance-test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tImageId: pulumi.StringRef(defaultGetImages.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsImagePipeline(ctx, \"default\", \u0026ecs.EcsImagePipelineArgs{\n\t\t\tAddAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetAccount.Id),\n\t\t\t},\n\t\t\tBaseImage: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tBaseImageType: pulumi.String(\"IMAGE\"),\n\t\t\tBuildContent: pulumi.String(\"RUN yum update -y\"),\n\t\t\tDeleteInstanceOnFailure: pulumi.Bool(false),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(20),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tToRegionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-qingdao\"),\n\t\t\t\tpulumi.String(\"cn-zhangjiakou\"),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance-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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.EcsImagePipeline;\nimport com.pulumi.alicloud.ecs.EcsImagePipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .imageId(defaultGetImages.ids()[0])\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultEcsImagePipeline = new EcsImagePipeline(\"defaultEcsImagePipeline\", EcsImagePipelineArgs.builder()\n .addAccounts(defaultGetAccount.id())\n .baseImage(defaultGetImages.ids()[0])\n .baseImageType(\"IMAGE\")\n .buildContent(\"RUN yum update -y\")\n .deleteInstanceOnFailure(false)\n .imageName(\"terraform-example\")\n .name(\"terraform-example\")\n .description(\"terraform-example\")\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .resourceGroupId(default_.groups()[0].id())\n .internetMaxBandwidthOut(20)\n .systemDiskSize(40)\n .toRegionIds( \n \"cn-qingdao\",\n \"cn-zhangjiakou\")\n .vswitchId(defaultSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance-test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultEcsImagePipeline:\n type: alicloud:ecs:EcsImagePipeline\n name: default\n properties:\n addAccounts:\n - ${defaultGetAccount.id}\n baseImage: ${defaultGetImages.ids[0]}\n baseImageType: IMAGE\n buildContent: RUN yum update -y\n deleteInstanceOnFailure: false\n imageName: terraform-example\n name: terraform-example\n description: terraform-example\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n resourceGroupId: ${default.groups[0].id}\n internetMaxBandwidthOut: 20\n systemDiskSize: 40\n toRegionIds:\n - cn-qingdao\n - cn-zhangjiakou\n vswitchId: ${defaultSwitch.id}\n tags:\n Created: TF\n For: Acceptance-test\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n imageId: ${defaultGetImages.ids[0]}\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Image Pipeline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsImagePipeline:EcsImagePipeline example \u003cid\u003e\n```\n\n", "properties": { "addAccounts": { "type": "array", @@ -153939,7 +156568,7 @@ } }, "alicloud:ecs/ecsInstanceSet:EcsInstanceSet": { - "description": "Provides a ECS Instance Set resource.\n\nFor information about ECS Instance Set and how to use it, see [What is Instance Set](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/runinstances).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n\u003e **NOTE:** This resource is used to batch create a group of instance resources with the same configuration. However, this resource is not recommended. \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.Instance`\" pulumi-lang-dotnet=\"`alicloud.ecs.Instance`\" pulumi-lang-go=\"`ecs.Instance`\" pulumi-lang-python=\"`ecs.Instance`\" pulumi-lang-yaml=\"`alicloud.ecs.Instance`\" pulumi-lang-java=\"`alicloud.ecs.Instance`\"\u003e`alicloud.ecs.Instance`\u003c/span\u003e is preferred.\n\n\u003e **NOTE:** In the instances managed by this resource, names are automatically generated based on \u003cspan pulumi-lang-nodejs=\"`instanceName`\" pulumi-lang-dotnet=\"`InstanceName`\" pulumi-lang-go=\"`instanceName`\" pulumi-lang-python=\"`instance_name`\" pulumi-lang-yaml=\"`instanceName`\" pulumi-lang-java=\"`instanceName`\"\u003e`instance_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uniqueSuffix`\" pulumi-lang-dotnet=\"`UniqueSuffix`\" pulumi-lang-go=\"`uniqueSuffix`\" pulumi-lang-python=\"`unique_suffix`\" pulumi-lang-yaml=\"`uniqueSuffix`\" pulumi-lang-java=\"`uniqueSuffix`\"\u003e`unique_suffix`\u003c/span\u003e.\n\n\u003e **NOTE:** Only \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e support batch modification.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst beijingK = new alicloud.ecs.EcsInstanceSet(\"beijing_k\", {\n amount: 10,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n instanceChargeType: \"PostPaid\",\n systemDiskPerformanceLevel: \"PL0\",\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 200,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup].map(__item =\u003e __item.id),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\nbeijing_k = alicloud.ecs.EcsInstanceSet(\"beijing_k\",\n amount=10,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n instance_charge_type=\"PostPaid\",\n system_disk_performance_level=\"PL0\",\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=200,\n vswitch_id=default_switch.id,\n security_group_ids=[__item.id for __item in [default_security_group]],\n zone_id=default.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var beijingK = new AliCloud.Ecs.EcsInstanceSet(\"beijing_k\", new()\n {\n Amount = 10,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n InstanceChargeType = \"PostPaid\",\n SystemDiskPerformanceLevel = \"PL0\",\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 200,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(1),\nMemorySize: pulumi.Float64Ref(2),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewEcsInstanceSet(ctx, \"beijing_k\", \u0026ecs.EcsInstanceSetArgs{\nAmount: pulumi.Int(10),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskPerformanceLevel: pulumi.String(\"PL0\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(200),\nVswitchId: defaultSwitch.ID(),\nSecurityGroupIds: splat0,\nZoneId: pulumi.String(_default.Zones[0].Id),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsInstanceSet;\nimport com.pulumi.alicloud.ecs.EcsInstanceSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var beijingK = new EcsInstanceSet(\"beijingK\", EcsInstanceSetArgs.builder()\n .amount(10)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .instanceChargeType(\"PostPaid\")\n .systemDiskPerformanceLevel(\"PL0\")\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(200)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .zoneId(default_.zones()[0].id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a ECS Instance Set resource.\n\nFor information about ECS Instance Set and how to use it, see [What is Instance Set](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/runinstances).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n\u003e **NOTE:** This resource is used to batch create a group of instance resources with the same configuration. However, this resource is not recommended. \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.Instance`\" pulumi-lang-dotnet=\"`alicloud.ecs.Instance`\" pulumi-lang-go=\"`ecs.Instance`\" pulumi-lang-python=\"`ecs.Instance`\" pulumi-lang-yaml=\"`alicloud.ecs.Instance`\" pulumi-lang-java=\"`alicloud.ecs.Instance`\"\u003e`alicloud.ecs.Instance`\u003c/span\u003e is preferred.\n\n\u003e **NOTE:** In the instances managed by this resource, names are automatically generated based on \u003cspan pulumi-lang-nodejs=\"`instanceName`\" pulumi-lang-dotnet=\"`InstanceName`\" pulumi-lang-go=\"`instanceName`\" pulumi-lang-python=\"`instance_name`\" pulumi-lang-yaml=\"`instanceName`\" pulumi-lang-java=\"`instanceName`\"\u003e`instance_name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`uniqueSuffix`\" pulumi-lang-dotnet=\"`UniqueSuffix`\" pulumi-lang-go=\"`uniqueSuffix`\" pulumi-lang-python=\"`unique_suffix`\" pulumi-lang-yaml=\"`uniqueSuffix`\" pulumi-lang-java=\"`uniqueSuffix`\"\u003e`unique_suffix`\u003c/span\u003e.\n\n\u003e **NOTE:** Only \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e support batch modification.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst beijingK = new alicloud.ecs.EcsInstanceSet(\"beijing_k\", {\n amount: 10,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n instanceChargeType: \"PostPaid\",\n systemDiskPerformanceLevel: \"PL0\",\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 200,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup].map(__item =\u003e __item.id),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\nbeijing_k = alicloud.ecs.EcsInstanceSet(\"beijing_k\",\n amount=10,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n instance_charge_type=\"PostPaid\",\n system_disk_performance_level=\"PL0\",\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=200,\n vswitch_id=default_switch.id,\n security_group_ids=[__item.id for __item in [default_security_group]],\n zone_id=default.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var beijingK = new AliCloud.Ecs.EcsInstanceSet(\"beijing_k\", new()\n {\n Amount = 10,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n InstanceChargeType = \"PostPaid\",\n SystemDiskPerformanceLevel = \"PL0\",\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 200,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(1),\nMemorySize: pulumi.Float64Ref(2),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewEcsInstanceSet(ctx, \"beijing_k\", \u0026ecs.EcsInstanceSetArgs{\nAmount: pulumi.Int(10),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskPerformanceLevel: pulumi.String(\"PL0\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskSize: pulumi.Int(200),\nVswitchId: defaultSwitch.ID(),\nSecurityGroupIds: splat0,\nZoneId: pulumi.String(_default.Zones[0].Id),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsInstanceSet;\nimport com.pulumi.alicloud.ecs.EcsInstanceSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var beijingK = new EcsInstanceSet(\"beijingK\", EcsInstanceSetArgs.builder()\n .amount(10)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .instanceChargeType(\"PostPaid\")\n .systemDiskPerformanceLevel(\"PL0\")\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(200)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .zoneId(default_.zones()[0].id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "amount": { "type": "integer", @@ -154636,7 +157265,7 @@ } }, "alicloud:ecs/ecsInvocation:EcsInvocation": { - "description": "Provides a ECS Invocation resource.\n\nFor information about ECS Invocation and how to use it, see [What is Invocation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/invokecommand#t9958.html).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n vswitchId: defaultSwitch.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n});\nconst defaultCommand = new alicloud.ecs.Command(\"default\", {\n name: name,\n commandContent: \"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n description: \"For Terraform Test\",\n type: \"RunShellScript\",\n workingDir: \"/root\",\n enableParameter: true,\n});\nconst defaultEcsInvocation = new alicloud.ecs.EcsInvocation(\"default\", {\n commandId: defaultCommand.id,\n instanceIds: [defaultInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n vswitch_id=default_switch.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[default_security_group.id],\n instance_name=name)\ndefault_command = alicloud.ecs.Command(\"default\",\n name=name,\n command_content=\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n description=\"For Terraform Test\",\n type=\"RunShellScript\",\n working_dir=\"/root\",\n enable_parameter=True)\ndefault_ecs_invocation = alicloud.ecs.EcsInvocation(\"default\",\n command_id=default_command.id,\n instance_ids=[default_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n });\n\n var defaultCommand = new AliCloud.Ecs.Command(\"default\", new()\n {\n Name = name,\n CommandContent = \"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n Description = \"For Terraform Test\",\n Type = \"RunShellScript\",\n WorkingDir = \"/root\",\n EnableParameter = true,\n });\n\n var defaultEcsInvocation = new AliCloud.Ecs.EcsInvocation(\"default\", new()\n {\n CommandId = defaultCommand.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCommand, err := ecs.NewCommand(ctx, \"default\", \u0026ecs.CommandArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCommandContent: pulumi.String(\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\"),\n\t\t\tDescription: pulumi.String(\"For Terraform Test\"),\n\t\t\tType: pulumi.String(\"RunShellScript\"),\n\t\t\tWorkingDir: pulumi.String(\"/root\"),\n\t\t\tEnableParameter: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsInvocation(ctx, \"default\", \u0026ecs.EcsInvocationArgs{\n\t\t\tCommandId: defaultCommand.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.Command;\nimport com.pulumi.alicloud.ecs.CommandArgs;\nimport com.pulumi.alicloud.ecs.EcsInvocation;\nimport com.pulumi.alicloud.ecs.EcsInvocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .build());\n\n var defaultCommand = new Command(\"defaultCommand\", CommandArgs.builder()\n .name(name)\n .commandContent(\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\")\n .description(\"For Terraform Test\")\n .type(\"RunShellScript\")\n .workingDir(\"/root\")\n .enableParameter(true)\n .build());\n\n var defaultEcsInvocation = new EcsInvocation(\"defaultEcsInvocation\", EcsInvocationArgs.builder()\n .commandId(defaultCommand.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${name}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n securityGroups:\n - ${defaultSecurityGroup.id}\n instanceName: ${name}\n defaultCommand:\n type: alicloud:ecs:Command\n name: default\n properties:\n name: ${name}\n commandContent: ZWNobyBoZWxsbyx7e25hbWV9fQ==\n description: For Terraform Test\n type: RunShellScript\n workingDir: /root\n enableParameter: true\n defaultEcsInvocation:\n type: alicloud:ecs:EcsInvocation\n name: default\n properties:\n commandId: ${defaultCommand.id}\n instanceIds:\n - ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g6\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Invocation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsInvocation:EcsInvocation example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Invocation resource.\n\nFor information about ECS Invocation and how to use it, see [What is Invocation](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/invokecommand#t9958.html).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n vswitchId: defaultSwitch.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n});\nconst defaultCommand = new alicloud.ecs.Command(\"default\", {\n name: name,\n commandContent: \"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n description: \"For Terraform Test\",\n type: \"RunShellScript\",\n workingDir: \"/root\",\n enableParameter: true,\n});\nconst defaultEcsInvocation = new alicloud.ecs.EcsInvocation(\"default\", {\n commandId: defaultCommand.id,\n instanceIds: [defaultInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n vswitch_id=default_switch.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[default_security_group.id],\n instance_name=name)\ndefault_command = alicloud.ecs.Command(\"default\",\n name=name,\n command_content=\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n description=\"For Terraform Test\",\n type=\"RunShellScript\",\n working_dir=\"/root\",\n enable_parameter=True)\ndefault_ecs_invocation = alicloud.ecs.EcsInvocation(\"default\",\n command_id=default_command.id,\n instance_ids=[default_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n });\n\n var defaultCommand = new AliCloud.Ecs.Command(\"default\", new()\n {\n Name = name,\n CommandContent = \"ZWNobyBoZWxsbyx7e25hbWV9fQ==\",\n Description = \"For Terraform Test\",\n Type = \"RunShellScript\",\n WorkingDir = \"/root\",\n EnableParameter = true,\n });\n\n var defaultEcsInvocation = new AliCloud.Ecs.EcsInvocation(\"default\", new()\n {\n CommandId = defaultCommand.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCommand, err := ecs.NewCommand(ctx, \"default\", \u0026ecs.CommandArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCommandContent: pulumi.String(\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\"),\n\t\t\tDescription: pulumi.String(\"For Terraform Test\"),\n\t\t\tType: pulumi.String(\"RunShellScript\"),\n\t\t\tWorkingDir: pulumi.String(\"/root\"),\n\t\t\tEnableParameter: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsInvocation(ctx, \"default\", \u0026ecs.EcsInvocationArgs{\n\t\t\tCommandId: defaultCommand.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.Command;\nimport com.pulumi.alicloud.ecs.CommandArgs;\nimport com.pulumi.alicloud.ecs.EcsInvocation;\nimport com.pulumi.alicloud.ecs.EcsInvocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .build());\n\n var defaultCommand = new Command(\"defaultCommand\", CommandArgs.builder()\n .name(name)\n .commandContent(\"ZWNobyBoZWxsbyx7e25hbWV9fQ==\")\n .description(\"For Terraform Test\")\n .type(\"RunShellScript\")\n .workingDir(\"/root\")\n .enableParameter(true)\n .build());\n\n var defaultEcsInvocation = new EcsInvocation(\"defaultEcsInvocation\", EcsInvocationArgs.builder()\n .commandId(defaultCommand.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${name}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n securityGroups:\n - ${defaultSecurityGroup.id}\n instanceName: ${name}\n defaultCommand:\n type: alicloud:ecs:Command\n name: default\n properties:\n name: ${name}\n commandContent: ZWNobyBoZWxsbyx7e25hbWV9fQ==\n description: For Terraform Test\n type: RunShellScript\n workingDir: /root\n enableParameter: true\n defaultEcsInvocation:\n type: alicloud:ecs:EcsInvocation\n name: default\n properties:\n commandId: ${defaultCommand.id}\n instanceIds:\n - ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g6\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Invocation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsInvocation:EcsInvocation example \u003cid\u003e\n```\n\n", "properties": { "commandId": { "type": "string", @@ -154799,7 +157428,7 @@ } }, "alicloud:ecs/ecsKeyPair:EcsKeyPair": { - "description": "Provides a ECS Key Pair resource.\n\nFor information about ECS Key Pair and how to use it, see [What is Key Pair](https://www.alibabacloud.com/help/en/doc-detail/51771.htm).\n\n\u003e **NOTE:** Available since v1.121.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.EcsKeyPair(\"example\", {keyPairName: \"key_pair_name\"});\n// Using name prefix to build key pair\nconst prefix = new alicloud.ecs.EcsKeyPair(\"prefix\", {keyNamePrefix: \"terraform-test-key-pair-prefix\"});\n// Import an existing public key to build a alicloud key pair\nconst publickey = new alicloud.ecs.EcsKeyPair(\"publickey\", {\n keyPairName: \"my_public_key\",\n publicKey: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.EcsKeyPair(\"example\", key_pair_name=\"key_pair_name\")\n# Using name prefix to build key pair\nprefix = alicloud.ecs.EcsKeyPair(\"prefix\", key_name_prefix=\"terraform-test-key-pair-prefix\")\n# Import an existing public key to build a alicloud key pair\npublickey = alicloud.ecs.EcsKeyPair(\"publickey\",\n key_pair_name=\"my_public_key\",\n public_key=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.EcsKeyPair(\"example\", new()\n {\n KeyPairName = \"key_pair_name\",\n });\n\n // Using name prefix to build key pair\n var prefix = new AliCloud.Ecs.EcsKeyPair(\"prefix\", new()\n {\n KeyNamePrefix = \"terraform-test-key-pair-prefix\",\n });\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new AliCloud.Ecs.EcsKeyPair(\"publickey\", new()\n {\n KeyPairName = \"my_public_key\",\n PublicKey = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsKeyPair(ctx, \"example\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"key_pair_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using name prefix to build key pair\n\t\t_, err = ecs.NewEcsKeyPair(ctx, \"prefix\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyNamePrefix: pulumi.String(\"terraform-test-key-pair-prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Import an existing public key to build a alicloud key pair\n\t\t_, err = ecs.NewEcsKeyPair(ctx, \"publickey\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"my_public_key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 EcsKeyPair(\"example\", EcsKeyPairArgs.builder()\n .keyPairName(\"key_pair_name\")\n .build());\n\n // Using name prefix to build key pair\n var prefix = new EcsKeyPair(\"prefix\", EcsKeyPairArgs.builder()\n .keyNamePrefix(\"terraform-test-key-pair-prefix\")\n .build());\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new EcsKeyPair(\"publickey\", EcsKeyPairArgs.builder()\n .keyPairName(\"my_public_key\")\n .publicKey(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyPairName: key_pair_name\n # Using name prefix to build key pair\n prefix:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyNamePrefix: terraform-test-key-pair-prefix\n # Import an existing public key to build a alicloud key pair\n publickey:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyPairName: my_public_key\n publicKey: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsKeyPair:EcsKeyPair example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Key Pair resource.\n\nFor information about ECS Key Pair and how to use it, see [What is Key Pair](https://www.alibabacloud.com/help/en/doc-detail/51771.htm).\n\n\u003e **NOTE:** Available since v1.121.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.EcsKeyPair(\"example\", {keyPairName: \"key_pair_name\"});\n// Using name prefix to build key pair\nconst prefix = new alicloud.ecs.EcsKeyPair(\"prefix\", {keyNamePrefix: \"terraform-test-key-pair-prefix\"});\n// Import an existing public key to build a alicloud key pair\nconst publickey = new alicloud.ecs.EcsKeyPair(\"publickey\", {\n keyPairName: \"my_public_key\",\n publicKey: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.EcsKeyPair(\"example\", key_pair_name=\"key_pair_name\")\n# Using name prefix to build key pair\nprefix = alicloud.ecs.EcsKeyPair(\"prefix\", key_name_prefix=\"terraform-test-key-pair-prefix\")\n# Import an existing public key to build a alicloud key pair\npublickey = alicloud.ecs.EcsKeyPair(\"publickey\",\n key_pair_name=\"my_public_key\",\n public_key=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.EcsKeyPair(\"example\", new()\n {\n KeyPairName = \"key_pair_name\",\n });\n\n // Using name prefix to build key pair\n var prefix = new AliCloud.Ecs.EcsKeyPair(\"prefix\", new()\n {\n KeyNamePrefix = \"terraform-test-key-pair-prefix\",\n });\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new AliCloud.Ecs.EcsKeyPair(\"publickey\", new()\n {\n KeyPairName = \"my_public_key\",\n PublicKey = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsKeyPair(ctx, \"example\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"key_pair_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using name prefix to build key pair\n\t\t_, err = ecs.NewEcsKeyPair(ctx, \"prefix\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyNamePrefix: pulumi.String(\"terraform-test-key-pair-prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Import an existing public key to build a alicloud key pair\n\t\t_, err = ecs.NewEcsKeyPair(ctx, \"publickey\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(\"my_public_key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 EcsKeyPair(\"example\", EcsKeyPairArgs.builder()\n .keyPairName(\"key_pair_name\")\n .build());\n\n // Using name prefix to build key pair\n var prefix = new EcsKeyPair(\"prefix\", EcsKeyPairArgs.builder()\n .keyNamePrefix(\"terraform-test-key-pair-prefix\")\n .build());\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new EcsKeyPair(\"publickey\", EcsKeyPairArgs.builder()\n .keyPairName(\"my_public_key\")\n .publicKey(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyPairName: key_pair_name\n # Using name prefix to build key pair\n prefix:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyNamePrefix: terraform-test-key-pair-prefix\n # Import an existing public key to build a alicloud key pair\n publickey:\n type: alicloud:ecs:EcsKeyPair\n properties:\n keyPairName: my_public_key\n publicKey: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsKeyPair:EcsKeyPair example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -154933,7 +157562,7 @@ } }, "alicloud:ecs/ecsKeyPairAttachment:EcsKeyPairAttachment": { - "description": "Provides a ECS Key Pair Attachment resource.\n\nFor information about ECS Key Pair Attachment and how to use it, see [What is Key Pair Attachment](https://www.alibabacloud.com/help/en/doc-detail/51775.htm).\n\n\u003e **NOTE:** Available since v1.121.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"example\", {keyPairName: `tf-example-${_default.result}`});\nconst exampleEcsKeyPairAttachment = new alicloud.ecs.EcsKeyPairAttachment(\"example\", {\n keyPairName: exampleEcsKeyPair.keyPairName,\n instanceIds: [exampleInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"example\", key_pair_name=f\"tf-example-{default['result']}\")\nexample_ecs_key_pair_attachment = alicloud.ecs.EcsKeyPairAttachment(\"example\",\n key_pair_name=example_ecs_key_pair.key_pair_name,\n instance_ids=[example_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"example\", new()\n {\n KeyPairName = $\"tf-example-{@default.Result}\",\n });\n\n var exampleEcsKeyPairAttachment = new AliCloud.Ecs.EcsKeyPairAttachment(\"example\", new()\n {\n KeyPairName = exampleEcsKeyPair.KeyPairName,\n InstanceIds = new[]\n {\n exampleInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"example\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsKeyPairAttachment(ctx, \"example\", \u0026ecs.EcsKeyPairAttachmentArgs{\n\t\t\tKeyPairName: exampleEcsKeyPair.KeyPairName,\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\texampleInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPairAttachment;\nimport com.pulumi.alicloud.ecs.EcsKeyPairAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleEcsKeyPair = new EcsKeyPair(\"exampleEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(String.format(\"tf-example-%s\", default_.result()))\n .build());\n\n var exampleEcsKeyPairAttachment = new EcsKeyPairAttachment(\"exampleEcsKeyPairAttachment\", EcsKeyPairAttachmentArgs.builder()\n .keyPairName(exampleEcsKeyPair.keyPairName())\n .instanceIds(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: example\n properties:\n keyPairName: tf-example-${default.result}\n exampleEcsKeyPairAttachment:\n type: alicloud:ecs:EcsKeyPairAttachment\n name: example\n properties:\n keyPairName: ${exampleEcsKeyPair.keyPairName}\n instanceIds:\n - ${exampleInstance.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Key Pair Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsKeyPairAttachment:EcsKeyPairAttachment example \u003ckey_pair_name\u003e:\u003cinstance_ids\u003e\n```\n\n", + "description": "Provides a ECS Key Pair Attachment resource.\n\nFor information about ECS Key Pair Attachment and how to use it, see [What is Key Pair Attachment](https://www.alibabacloud.com/help/en/doc-detail/51775.htm).\n\n\u003e **NOTE:** Available since v1.121.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"example\", {keyPairName: `tf-example-${_default.result}`});\nconst exampleEcsKeyPairAttachment = new alicloud.ecs.EcsKeyPairAttachment(\"example\", {\n keyPairName: exampleEcsKeyPair.keyPairName,\n instanceIds: [exampleInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"example\", key_pair_name=f\"tf-example-{default['result']}\")\nexample_ecs_key_pair_attachment = alicloud.ecs.EcsKeyPairAttachment(\"example\",\n key_pair_name=example_ecs_key_pair.key_pair_name,\n instance_ids=[example_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"example\", new()\n {\n KeyPairName = $\"tf-example-{@default.Result}\",\n });\n\n var exampleEcsKeyPairAttachment = new AliCloud.Ecs.EcsKeyPairAttachment(\"example\", new()\n {\n KeyPairName = exampleEcsKeyPair.KeyPairName,\n InstanceIds = new[]\n {\n exampleInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"example\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsKeyPairAttachment(ctx, \"example\", \u0026ecs.EcsKeyPairAttachmentArgs{\n\t\t\tKeyPairName: exampleEcsKeyPair.KeyPairName,\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\texampleInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPairAttachment;\nimport com.pulumi.alicloud.ecs.EcsKeyPairAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleEcsKeyPair = new EcsKeyPair(\"exampleEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(String.format(\"tf-example-%s\", default_.result()))\n .build());\n\n var exampleEcsKeyPairAttachment = new EcsKeyPairAttachment(\"exampleEcsKeyPairAttachment\", EcsKeyPairAttachmentArgs.builder()\n .keyPairName(exampleEcsKeyPair.keyPairName())\n .instanceIds(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: example\n properties:\n keyPairName: tf-example-${default.result}\n exampleEcsKeyPairAttachment:\n type: alicloud:ecs:EcsKeyPairAttachment\n name: example\n properties:\n keyPairName: ${exampleEcsKeyPair.keyPairName}\n instanceIds:\n - ${exampleInstance.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Key Pair Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsKeyPairAttachment:EcsKeyPairAttachment example \u003ckey_pair_name\u003e:\u003cinstance_ids\u003e\n```\n\n", "properties": { "force": { "type": "boolean", @@ -155022,7 +157651,7 @@ } }, "alicloud:ecs/ecsLaunchTemplate:EcsLaunchTemplate": { - "description": "Provides a ECS Launch Template resource.\n\nFor information about ECS Launch Template and how to use it, see [What is Launch Template](https://www.alibabacloud.com/help/en/doc-detail/74686.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultEcsLaunchTemplate = new alicloud.ecs.EcsLaunchTemplate(\"default\", {\n launchTemplateName: \"terraform-example\",\n description: \"terraform-example\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n hostName: \"terraform-example\",\n instanceChargeType: \"PrePaid\",\n instanceName: \"terraform-example\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n internetChargeType: \"PayByBandwidth\",\n internetMaxBandwidthIn: 5,\n internetMaxBandwidthOut: 5,\n ioOptimized: \"optimized\",\n keyPairName: \"key_pair_name\",\n ramRoleName: \"ram_role_name\",\n networkType: \"vpc\",\n securityEnhancementStrategy: \"Active\",\n spotPriceLimit: 5,\n spotStrategy: \"SpotWithPriceLimit\",\n securityGroupIds: [defaultSecurityGroup.id],\n systemDisk: {\n category: \"cloud_ssd\",\n description: \"Test For Terraform\",\n name: \"terraform-example\",\n size: 40,\n deleteWithInstance: false,\n },\n userData: \"xxxxxxx\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n templateTags: {\n Create: \"Terraform\",\n For: \"example\",\n },\n networkInterfaces: {\n name: \"eth0\",\n description: \"hello1\",\n primaryIp: \"10.0.0.2\",\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n },\n dataDisks: [\n {\n name: \"disk1\",\n description: \"description\",\n deleteWithInstance: true,\n category: \"cloud\",\n encrypted: false,\n performanceLevel: \"PL0\",\n size: 20,\n },\n {\n name: \"disk2\",\n description: \"description2\",\n deleteWithInstance: true,\n category: \"cloud\",\n encrypted: false,\n performanceLevel: \"PL0\",\n size: 20,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_ecs_launch_template = alicloud.ecs.EcsLaunchTemplate(\"default\",\n launch_template_name=\"terraform-example\",\n description=\"terraform-example\",\n image_id=default_get_images.images[0].id,\n host_name=\"terraform-example\",\n instance_charge_type=\"PrePaid\",\n instance_name=\"terraform-example\",\n instance_type=default_get_instance_types.instance_types[0].id,\n internet_charge_type=\"PayByBandwidth\",\n internet_max_bandwidth_in=5,\n internet_max_bandwidth_out=5,\n io_optimized=\"optimized\",\n key_pair_name=\"key_pair_name\",\n ram_role_name=\"ram_role_name\",\n network_type=\"vpc\",\n security_enhancement_strategy=\"Active\",\n spot_price_limit=5,\n spot_strategy=\"SpotWithPriceLimit\",\n security_group_ids=[default_security_group.id],\n system_disk={\n \"category\": \"cloud_ssd\",\n \"description\": \"Test For Terraform\",\n \"name\": \"terraform-example\",\n \"size\": 40,\n \"delete_with_instance\": False,\n },\n user_data=\"xxxxxxx\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n zone_id=default.zones[0].id,\n template_tags={\n \"Create\": \"Terraform\",\n \"For\": \"example\",\n },\n network_interfaces={\n \"name\": \"eth0\",\n \"description\": \"hello1\",\n \"primary_ip\": \"10.0.0.2\",\n \"security_group_id\": default_security_group.id,\n \"vswitch_id\": default_switch.id,\n },\n data_disks=[\n {\n \"name\": \"disk1\",\n \"description\": \"description\",\n \"delete_with_instance\": True,\n \"category\": \"cloud\",\n \"encrypted\": False,\n \"performance_level\": \"PL0\",\n \"size\": 20,\n },\n {\n \"name\": \"disk2\",\n \"description\": \"description2\",\n \"delete_with_instance\": True,\n \"category\": \"cloud\",\n \"encrypted\": False,\n \"performance_level\": \"PL0\",\n \"size\": 20,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEcsLaunchTemplate = new AliCloud.Ecs.EcsLaunchTemplate(\"default\", new()\n {\n LaunchTemplateName = \"terraform-example\",\n Description = \"terraform-example\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n HostName = \"terraform-example\",\n InstanceChargeType = \"PrePaid\",\n InstanceName = \"terraform-example\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InternetChargeType = \"PayByBandwidth\",\n InternetMaxBandwidthIn = 5,\n InternetMaxBandwidthOut = 5,\n IoOptimized = \"optimized\",\n KeyPairName = \"key_pair_name\",\n RamRoleName = \"ram_role_name\",\n NetworkType = \"vpc\",\n SecurityEnhancementStrategy = \"Active\",\n SpotPriceLimit = 5,\n SpotStrategy = \"SpotWithPriceLimit\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n SystemDisk = new AliCloud.Ecs.Inputs.EcsLaunchTemplateSystemDiskArgs\n {\n Category = \"cloud_ssd\",\n Description = \"Test For Terraform\",\n Name = \"terraform-example\",\n Size = 40,\n DeleteWithInstance = false,\n },\n UserData = \"xxxxxxx\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n TemplateTags = \n {\n { \"Create\", \"Terraform\" },\n { \"For\", \"example\" },\n },\n NetworkInterfaces = new AliCloud.Ecs.Inputs.EcsLaunchTemplateNetworkInterfacesArgs\n {\n Name = \"eth0\",\n Description = \"hello1\",\n PrimaryIp = \"10.0.0.2\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n },\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.EcsLaunchTemplateDataDiskArgs\n {\n Name = \"disk1\",\n Description = \"description\",\n DeleteWithInstance = true,\n Category = \"cloud\",\n Encrypted = false,\n PerformanceLevel = \"PL0\",\n Size = 20,\n },\n new AliCloud.Ecs.Inputs.EcsLaunchTemplateDataDiskArgs\n {\n Name = \"disk2\",\n Description = \"description2\",\n DeleteWithInstance = true,\n Category = \"cloud\",\n Encrypted = false,\n PerformanceLevel = \"PL0\",\n Size = 20,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsLaunchTemplate(ctx, \"default\", \u0026ecs.EcsLaunchTemplateArgs{\n\t\t\tLaunchTemplateName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tHostName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PrePaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tInternetMaxBandwidthIn: pulumi.Int(5),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tIoOptimized: pulumi.String(\"optimized\"),\n\t\t\tKeyPairName: pulumi.String(\"key_pair_name\"),\n\t\t\tRamRoleName: pulumi.String(\"ram_role_name\"),\n\t\t\tNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tSpotPriceLimit: pulumi.Float64(5),\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tSystemDisk: \u0026ecs.EcsLaunchTemplateSystemDiskArgs{\n\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\tDescription: pulumi.String(\"Test For Terraform\"),\n\t\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\tDeleteWithInstance: pulumi.Bool(false),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"xxxxxxx\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tTemplateTags: pulumi.StringMap{\n\t\t\t\t\"Create\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: \u0026ecs.EcsLaunchTemplateNetworkInterfacesArgs{\n\t\t\t\tName: pulumi.String(\"eth0\"),\n\t\t\t\tDescription: pulumi.String(\"hello1\"),\n\t\t\t\tPrimaryIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t},\n\t\t\tDataDisks: ecs.EcsLaunchTemplateDataDiskArray{\n\t\t\t\t\u0026ecs.EcsLaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk1\"),\n\t\t\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\t\t\tCategory: pulumi.String(\"cloud\"),\n\t\t\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\tSize: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t\t\u0026ecs.EcsLaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk2\"),\n\t\t\t\t\tDescription: pulumi.String(\"description2\"),\n\t\t\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\t\t\tCategory: pulumi.String(\"cloud\"),\n\t\t\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\tSize: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplate;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateSystemDiskArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateNetworkInterfacesArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEcsLaunchTemplate = new EcsLaunchTemplate(\"defaultEcsLaunchTemplate\", EcsLaunchTemplateArgs.builder()\n .launchTemplateName(\"terraform-example\")\n .description(\"terraform-example\")\n .imageId(defaultGetImages.images()[0].id())\n .hostName(\"terraform-example\")\n .instanceChargeType(\"PrePaid\")\n .instanceName(\"terraform-example\")\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .internetChargeType(\"PayByBandwidth\")\n .internetMaxBandwidthIn(5)\n .internetMaxBandwidthOut(5)\n .ioOptimized(\"optimized\")\n .keyPairName(\"key_pair_name\")\n .ramRoleName(\"ram_role_name\")\n .networkType(\"vpc\")\n .securityEnhancementStrategy(\"Active\")\n .spotPriceLimit(5.0)\n .spotStrategy(\"SpotWithPriceLimit\")\n .securityGroupIds(defaultSecurityGroup.id())\n .systemDisk(EcsLaunchTemplateSystemDiskArgs.builder()\n .category(\"cloud_ssd\")\n .description(\"Test For Terraform\")\n .name(\"terraform-example\")\n .size(40)\n .deleteWithInstance(false)\n .build())\n .userData(\"xxxxxxx\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .templateTags(Map.ofEntries(\n Map.entry(\"Create\", \"Terraform\"),\n Map.entry(\"For\", \"example\")\n ))\n .networkInterfaces(EcsLaunchTemplateNetworkInterfacesArgs.builder()\n .name(\"eth0\")\n .description(\"hello1\")\n .primaryIp(\"10.0.0.2\")\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build())\n .dataDisks( \n EcsLaunchTemplateDataDiskArgs.builder()\n .name(\"disk1\")\n .description(\"description\")\n .deleteWithInstance(true)\n .category(\"cloud\")\n .encrypted(false)\n .performanceLevel(\"PL0\")\n .size(20)\n .build(),\n EcsLaunchTemplateDataDiskArgs.builder()\n .name(\"disk2\")\n .description(\"description2\")\n .deleteWithInstance(true)\n .category(\"cloud\")\n .encrypted(false)\n .performanceLevel(\"PL0\")\n .size(20)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultEcsLaunchTemplate:\n type: alicloud:ecs:EcsLaunchTemplate\n name: default\n properties:\n launchTemplateName: terraform-example\n description: terraform-example\n imageId: ${defaultGetImages.images[0].id}\n hostName: terraform-example\n instanceChargeType: PrePaid\n instanceName: terraform-example\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n internetChargeType: PayByBandwidth\n internetMaxBandwidthIn: '5'\n internetMaxBandwidthOut: '5'\n ioOptimized: optimized\n keyPairName: key_pair_name\n ramRoleName: ram_role_name\n networkType: vpc\n securityEnhancementStrategy: Active\n spotPriceLimit: '5'\n spotStrategy: SpotWithPriceLimit\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n systemDisk:\n category: cloud_ssd\n description: Test For Terraform\n name: terraform-example\n size: '40'\n deleteWithInstance: 'false'\n userData: xxxxxxx\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n templateTags:\n Create: Terraform\n For: example\n networkInterfaces:\n name: eth0\n description: hello1\n primaryIp: 10.0.0.2\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n dataDisks:\n - name: disk1\n description: description\n deleteWithInstance: 'true'\n category: cloud\n encrypted: 'false'\n performanceLevel: PL0\n size: '20'\n - name: disk2\n description: description2\n deleteWithInstance: 'true'\n category: cloud\n encrypted: 'false'\n performanceLevel: PL0\n size: '20'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Launch Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsLaunchTemplate:EcsLaunchTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Launch Template resource.\n\nFor information about ECS Launch Template and how to use it, see [What is Launch Template](https://www.alibabacloud.com/help/en/doc-detail/74686.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultEcsLaunchTemplate = new alicloud.ecs.EcsLaunchTemplate(\"default\", {\n launchTemplateName: \"terraform-example\",\n description: \"terraform-example\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n hostName: \"terraform-example\",\n instanceChargeType: \"PrePaid\",\n instanceName: \"terraform-example\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n internetChargeType: \"PayByBandwidth\",\n internetMaxBandwidthIn: 5,\n internetMaxBandwidthOut: 5,\n ioOptimized: \"optimized\",\n keyPairName: \"key_pair_name\",\n ramRoleName: \"ram_role_name\",\n networkType: \"vpc\",\n securityEnhancementStrategy: \"Active\",\n spotPriceLimit: 5,\n spotStrategy: \"SpotWithPriceLimit\",\n securityGroupIds: [defaultSecurityGroup.id],\n systemDisk: {\n category: \"cloud_ssd\",\n description: \"Test For Terraform\",\n name: \"terraform-example\",\n size: 40,\n deleteWithInstance: false,\n },\n userData: \"xxxxxxx\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n templateTags: {\n Create: \"Terraform\",\n For: \"example\",\n },\n networkInterfaces: {\n name: \"eth0\",\n description: \"hello1\",\n primaryIp: \"10.0.0.2\",\n securityGroupId: defaultSecurityGroup.id,\n vswitchId: defaultSwitch.id,\n },\n dataDisks: [\n {\n name: \"disk1\",\n description: \"description\",\n deleteWithInstance: true,\n category: \"cloud\",\n encrypted: false,\n performanceLevel: \"PL0\",\n size: 20,\n },\n {\n name: \"disk2\",\n description: \"description2\",\n deleteWithInstance: true,\n category: \"cloud\",\n encrypted: false,\n performanceLevel: \"PL0\",\n size: 20,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_ecs_launch_template = alicloud.ecs.EcsLaunchTemplate(\"default\",\n launch_template_name=\"terraform-example\",\n description=\"terraform-example\",\n image_id=default_get_images.images[0].id,\n host_name=\"terraform-example\",\n instance_charge_type=\"PrePaid\",\n instance_name=\"terraform-example\",\n instance_type=default_get_instance_types.instance_types[0].id,\n internet_charge_type=\"PayByBandwidth\",\n internet_max_bandwidth_in=5,\n internet_max_bandwidth_out=5,\n io_optimized=\"optimized\",\n key_pair_name=\"key_pair_name\",\n ram_role_name=\"ram_role_name\",\n network_type=\"vpc\",\n security_enhancement_strategy=\"Active\",\n spot_price_limit=5,\n spot_strategy=\"SpotWithPriceLimit\",\n security_group_ids=[default_security_group.id],\n system_disk={\n \"category\": \"cloud_ssd\",\n \"description\": \"Test For Terraform\",\n \"name\": \"terraform-example\",\n \"size\": 40,\n \"delete_with_instance\": False,\n },\n user_data=\"xxxxxxx\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n zone_id=default.zones[0].id,\n template_tags={\n \"Create\": \"Terraform\",\n \"For\": \"example\",\n },\n network_interfaces={\n \"name\": \"eth0\",\n \"description\": \"hello1\",\n \"primary_ip\": \"10.0.0.2\",\n \"security_group_id\": default_security_group.id,\n \"vswitch_id\": default_switch.id,\n },\n data_disks=[\n {\n \"name\": \"disk1\",\n \"description\": \"description\",\n \"delete_with_instance\": True,\n \"category\": \"cloud\",\n \"encrypted\": False,\n \"performance_level\": \"PL0\",\n \"size\": 20,\n },\n {\n \"name\": \"disk2\",\n \"description\": \"description2\",\n \"delete_with_instance\": True,\n \"category\": \"cloud\",\n \"encrypted\": False,\n \"performance_level\": \"PL0\",\n \"size\": 20,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEcsLaunchTemplate = new AliCloud.Ecs.EcsLaunchTemplate(\"default\", new()\n {\n LaunchTemplateName = \"terraform-example\",\n Description = \"terraform-example\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n HostName = \"terraform-example\",\n InstanceChargeType = \"PrePaid\",\n InstanceName = \"terraform-example\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InternetChargeType = \"PayByBandwidth\",\n InternetMaxBandwidthIn = 5,\n InternetMaxBandwidthOut = 5,\n IoOptimized = \"optimized\",\n KeyPairName = \"key_pair_name\",\n RamRoleName = \"ram_role_name\",\n NetworkType = \"vpc\",\n SecurityEnhancementStrategy = \"Active\",\n SpotPriceLimit = 5,\n SpotStrategy = \"SpotWithPriceLimit\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n SystemDisk = new AliCloud.Ecs.Inputs.EcsLaunchTemplateSystemDiskArgs\n {\n Category = \"cloud_ssd\",\n Description = \"Test For Terraform\",\n Name = \"terraform-example\",\n Size = 40,\n DeleteWithInstance = false,\n },\n UserData = \"xxxxxxx\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n TemplateTags = \n {\n { \"Create\", \"Terraform\" },\n { \"For\", \"example\" },\n },\n NetworkInterfaces = new AliCloud.Ecs.Inputs.EcsLaunchTemplateNetworkInterfacesArgs\n {\n Name = \"eth0\",\n Description = \"hello1\",\n PrimaryIp = \"10.0.0.2\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VswitchId = defaultSwitch.Id,\n },\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.EcsLaunchTemplateDataDiskArgs\n {\n Name = \"disk1\",\n Description = \"description\",\n DeleteWithInstance = true,\n Category = \"cloud\",\n Encrypted = false,\n PerformanceLevel = \"PL0\",\n Size = 20,\n },\n new AliCloud.Ecs.Inputs.EcsLaunchTemplateDataDiskArgs\n {\n Name = \"disk2\",\n Description = \"description2\",\n DeleteWithInstance = true,\n Category = \"cloud\",\n Encrypted = false,\n PerformanceLevel = \"PL0\",\n Size = 20,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsLaunchTemplate(ctx, \"default\", \u0026ecs.EcsLaunchTemplateArgs{\n\t\t\tLaunchTemplateName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tHostName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PrePaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tInternetMaxBandwidthIn: pulumi.Int(5),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tIoOptimized: pulumi.String(\"optimized\"),\n\t\t\tKeyPairName: pulumi.String(\"key_pair_name\"),\n\t\t\tRamRoleName: pulumi.String(\"ram_role_name\"),\n\t\t\tNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tSpotPriceLimit: pulumi.Float64(5),\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tSystemDisk: \u0026ecs.EcsLaunchTemplateSystemDiskArgs{\n\t\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\t\tDescription: pulumi.String(\"Test For Terraform\"),\n\t\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\tDeleteWithInstance: pulumi.Bool(false),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"xxxxxxx\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tTemplateTags: pulumi.StringMap{\n\t\t\t\t\"Create\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: \u0026ecs.EcsLaunchTemplateNetworkInterfacesArgs{\n\t\t\t\tName: pulumi.String(\"eth0\"),\n\t\t\t\tDescription: pulumi.String(\"hello1\"),\n\t\t\t\tPrimaryIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t},\n\t\t\tDataDisks: ecs.EcsLaunchTemplateDataDiskArray{\n\t\t\t\t\u0026ecs.EcsLaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk1\"),\n\t\t\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\t\t\tCategory: pulumi.String(\"cloud\"),\n\t\t\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\tSize: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t\t\u0026ecs.EcsLaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk2\"),\n\t\t\t\t\tDescription: pulumi.String(\"description2\"),\n\t\t\t\t\tDeleteWithInstance: pulumi.Bool(true),\n\t\t\t\t\tCategory: pulumi.String(\"cloud\"),\n\t\t\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\tSize: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplate;\nimport com.pulumi.alicloud.ecs.EcsLaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateSystemDiskArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateNetworkInterfacesArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsLaunchTemplateDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEcsLaunchTemplate = new EcsLaunchTemplate(\"defaultEcsLaunchTemplate\", EcsLaunchTemplateArgs.builder()\n .launchTemplateName(\"terraform-example\")\n .description(\"terraform-example\")\n .imageId(defaultGetImages.images()[0].id())\n .hostName(\"terraform-example\")\n .instanceChargeType(\"PrePaid\")\n .instanceName(\"terraform-example\")\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .internetChargeType(\"PayByBandwidth\")\n .internetMaxBandwidthIn(5)\n .internetMaxBandwidthOut(5)\n .ioOptimized(\"optimized\")\n .keyPairName(\"key_pair_name\")\n .ramRoleName(\"ram_role_name\")\n .networkType(\"vpc\")\n .securityEnhancementStrategy(\"Active\")\n .spotPriceLimit(5.0)\n .spotStrategy(\"SpotWithPriceLimit\")\n .securityGroupIds(defaultSecurityGroup.id())\n .systemDisk(EcsLaunchTemplateSystemDiskArgs.builder()\n .category(\"cloud_ssd\")\n .description(\"Test For Terraform\")\n .name(\"terraform-example\")\n .size(40)\n .deleteWithInstance(false)\n .build())\n .userData(\"xxxxxxx\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .templateTags(Map.ofEntries(\n Map.entry(\"Create\", \"Terraform\"),\n Map.entry(\"For\", \"example\")\n ))\n .networkInterfaces(EcsLaunchTemplateNetworkInterfacesArgs.builder()\n .name(\"eth0\")\n .description(\"hello1\")\n .primaryIp(\"10.0.0.2\")\n .securityGroupId(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build())\n .dataDisks( \n EcsLaunchTemplateDataDiskArgs.builder()\n .name(\"disk1\")\n .description(\"description\")\n .deleteWithInstance(true)\n .category(\"cloud\")\n .encrypted(false)\n .performanceLevel(\"PL0\")\n .size(20)\n .build(),\n EcsLaunchTemplateDataDiskArgs.builder()\n .name(\"disk2\")\n .description(\"description2\")\n .deleteWithInstance(true)\n .category(\"cloud\")\n .encrypted(false)\n .performanceLevel(\"PL0\")\n .size(20)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultEcsLaunchTemplate:\n type: alicloud:ecs:EcsLaunchTemplate\n name: default\n properties:\n launchTemplateName: terraform-example\n description: terraform-example\n imageId: ${defaultGetImages.images[0].id}\n hostName: terraform-example\n instanceChargeType: PrePaid\n instanceName: terraform-example\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n internetChargeType: PayByBandwidth\n internetMaxBandwidthIn: '5'\n internetMaxBandwidthOut: '5'\n ioOptimized: optimized\n keyPairName: key_pair_name\n ramRoleName: ram_role_name\n networkType: vpc\n securityEnhancementStrategy: Active\n spotPriceLimit: '5'\n spotStrategy: SpotWithPriceLimit\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n systemDisk:\n category: cloud_ssd\n description: Test For Terraform\n name: terraform-example\n size: '40'\n deleteWithInstance: 'false'\n userData: xxxxxxx\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n templateTags:\n Create: Terraform\n For: example\n networkInterfaces:\n name: eth0\n description: hello1\n primaryIp: 10.0.0.2\n securityGroupId: ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n dataDisks:\n - name: disk1\n description: description\n deleteWithInstance: 'true'\n category: cloud\n encrypted: 'false'\n performanceLevel: PL0\n size: '20'\n - name: disk2\n description: description2\n deleteWithInstance: 'true'\n category: cloud\n encrypted: 'false'\n performanceLevel: PL0\n size: '20'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Launch Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsLaunchTemplate:EcsLaunchTemplate example \u003cid\u003e\n```\n\n", "properties": { "autoReleaseTime": { "type": "string", @@ -155783,7 +158412,7 @@ } }, "alicloud:ecs/ecsNetworkInterface:EcsNetworkInterface": { - "description": "Provides a ECS Network Interface resource.\n\nFor information about ECS Network Interface and how to use it, see [What is Network Interface](https://www.alibabacloud.com/help/en/doc-detail/58504.htm).\n\n\u003e **NOTE:** Available since v1.123.1.\n\n\u003e **NOTE** Only one of \u003cspan pulumi-lang-nodejs=\"`privateIpAddresses`\" pulumi-lang-dotnet=\"`PrivateIpAddresses`\" pulumi-lang-go=\"`privateIpAddresses`\" pulumi-lang-python=\"`private_ip_addresses`\" pulumi-lang-yaml=\"`privateIpAddresses`\" pulumi-lang-java=\"`privateIpAddresses`\"\u003e`private_ip_addresses`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-dotnet=\"`SecondaryPrivateIpAddressCount`\" pulumi-lang-go=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-python=\"`secondary_private_ip_address_count`\" pulumi-lang-yaml=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-java=\"`secondaryPrivateIpAddressCount`\"\u003e`secondary_private_ip_address_count`\u003c/span\u003e can be specified when assign private IPs. \n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic test\",\n primaryIpAddress: \"192.168.0.2\",\n tags: {\n Created: \"TF\",\n For: \"Test\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic test\",\n primary_ip_address=\"192.168.0.2\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Test\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic test\",\n PrimaryIpAddress = \"192.168.0.2\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Test\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Basic test\"),\n\t\t\tPrimaryIpAddress: pulumi.String(\"192.168.0.2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic test\")\n .primaryIpAddress(\"192.168.0.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Test\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic test\n primaryIpAddress: 192.168.0.2\n tags:\n Created: TF\n For: Test\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Network Interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterface:EcsNetworkInterface example eni-abcd12345\n```\n\n", + "description": "Provides a ECS Network Interface resource.\n\nFor information about ECS Network Interface and how to use it, see [What is Network Interface](https://www.alibabacloud.com/help/en/doc-detail/58504.htm).\n\n\u003e **NOTE:** Available since v1.123.1.\n\n\u003e **NOTE** Only one of \u003cspan pulumi-lang-nodejs=\"`privateIpAddresses`\" pulumi-lang-dotnet=\"`PrivateIpAddresses`\" pulumi-lang-go=\"`privateIpAddresses`\" pulumi-lang-python=\"`private_ip_addresses`\" pulumi-lang-yaml=\"`privateIpAddresses`\" pulumi-lang-java=\"`privateIpAddresses`\"\u003e`private_ip_addresses`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-dotnet=\"`SecondaryPrivateIpAddressCount`\" pulumi-lang-go=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-python=\"`secondary_private_ip_address_count`\" pulumi-lang-yaml=\"`secondaryPrivateIpAddressCount`\" pulumi-lang-java=\"`secondaryPrivateIpAddressCount`\"\u003e`secondary_private_ip_address_count`\u003c/span\u003e can be specified when assign private IPs. \n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic test\",\n primaryIpAddress: \"192.168.0.2\",\n tags: {\n Created: \"TF\",\n For: \"Test\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic test\",\n primary_ip_address=\"192.168.0.2\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Test\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic test\",\n PrimaryIpAddress = \"192.168.0.2\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Test\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Basic test\"),\n\t\t\tPrimaryIpAddress: pulumi.String(\"192.168.0.2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Test\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic test\")\n .primaryIpAddress(\"192.168.0.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Test\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic test\n primaryIpAddress: 192.168.0.2\n tags:\n Created: TF\n For: Test\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Network Interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterface:EcsNetworkInterface example eni-abcd12345\n```\n\n", "properties": { "description": { "type": "string", @@ -156191,7 +158820,7 @@ } }, "alicloud:ecs/ecsNetworkInterfaceAttachment:EcsNetworkInterfaceAttachment": { - "description": "Provides a ECS Network Interface Attachment resource.\n\nFor information about ECS Network Interface Attachment and how to use it, see [What is Network Interface Attachment](https://www.alibabacloud.com/help/en/doc-detail/58515.htm).\n\n\u003e **NOTE:** Available since v1.123.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n eniAmount: 3,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: \"New security group\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n hostName: \"tf-example\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic example\",\n primaryIpAddress: \"192.168.0.2\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst defaultEcsNetworkInterfaceAttachment = new alicloud.ecs.EcsNetworkInterfaceAttachment(\"default\", {\n networkInterfaceId: defaultEcsNetworkInterface.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n eni_amount=3)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=\"New security group\",\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n host_name=\"tf-example\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic example\",\n primary_ip_address=\"192.168.0.2\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\ndefault_ecs_network_interface_attachment = alicloud.ecs.EcsNetworkInterfaceAttachment(\"default\",\n network_interface_id=default_ecs_network_interface.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n EniAmount = 3,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = \"New security group\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n HostName = \"tf-example\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic example\",\n PrimaryIpAddress = \"192.168.0.2\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var defaultEcsNetworkInterfaceAttachment = new AliCloud.Ecs.EcsNetworkInterfaceAttachment(\"default\", new()\n {\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tEniAmount: pulumi.IntRef(3),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHostName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Basic example\"),\n\t\t\tPrimaryIpAddress: pulumi.String(\"192.168.0.2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsNetworkInterfaceAttachment(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\tNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .eniAmount(3)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(\"New security group\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .hostName(\"tf-example\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic example\")\n .primaryIpAddress(\"192.168.0.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var defaultEcsNetworkInterfaceAttachment = new EcsNetworkInterfaceAttachment(\"defaultEcsNetworkInterfaceAttachment\", EcsNetworkInterfaceAttachmentArgs.builder()\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n description: New security group\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n hostName: tf-example\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic example\n primaryIpAddress: 192.168.0.2\n tags:\n Created: TF\n For: example\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n defaultEcsNetworkInterfaceAttachment:\n type: alicloud:ecs:EcsNetworkInterfaceAttachment\n name: default\n properties:\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n eniAmount: 3\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Network Interface Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterfaceAttachment:EcsNetworkInterfaceAttachment example \u003cnetwork_interface_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a ECS Network Interface Attachment resource.\n\nFor information about ECS Network Interface Attachment and how to use it, see [What is Network Interface Attachment](https://www.alibabacloud.com/help/en/doc-detail/58515.htm).\n\n\u003e **NOTE:** Available since v1.123.1.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n eniAmount: 3,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: \"New security group\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: name,\n hostName: \"tf-example\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"Basic example\",\n primaryIpAddress: \"192.168.0.2\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst defaultEcsNetworkInterfaceAttachment = new alicloud.ecs.EcsNetworkInterfaceAttachment(\"default\", {\n networkInterfaceId: defaultEcsNetworkInterface.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n eni_amount=3)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=\"New security group\",\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=name,\n host_name=\"tf-example\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"Basic example\",\n primary_ip_address=\"192.168.0.2\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\ndefault_ecs_network_interface_attachment = alicloud.ecs.EcsNetworkInterfaceAttachment(\"default\",\n network_interface_id=default_ecs_network_interface.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n EniAmount = 3,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = \"New security group\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = name,\n HostName = \"tf-example\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"Basic example\",\n PrimaryIpAddress = \"192.168.0.2\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var defaultEcsNetworkInterfaceAttachment = new AliCloud.Ecs.EcsNetworkInterfaceAttachment(\"default\", new()\n {\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tEniAmount: pulumi.IntRef(3),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"New security group\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tHostName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Basic example\"),\n\t\t\tPrimaryIpAddress: pulumi.String(\"192.168.0.2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsNetworkInterfaceAttachment(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\tNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\n\t\t\tInstanceId: defaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .eniAmount(3)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(\"New security group\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(name)\n .hostName(\"tf-example\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"Basic example\")\n .primaryIpAddress(\"192.168.0.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var defaultEcsNetworkInterfaceAttachment = new EcsNetworkInterfaceAttachment(\"defaultEcsNetworkInterfaceAttachment\", EcsNetworkInterfaceAttachmentArgs.builder()\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n description: New security group\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: ${name}\n hostName: tf-example\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: Basic example\n primaryIpAddress: 192.168.0.2\n tags:\n Created: TF\n For: example\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n defaultEcsNetworkInterfaceAttachment:\n type: alicloud:ecs:EcsNetworkInterfaceAttachment\n name: default\n properties:\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n eniAmount: 3\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Network Interface Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterfaceAttachment:EcsNetworkInterfaceAttachment example \u003cnetwork_interface_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -156280,7 +158909,7 @@ } }, "alicloud:ecs/ecsNetworkInterfacePermission:EcsNetworkInterfacePermission": { - "description": "Provides a ECS Network Interface Permission resource.\n\nFor information about ECS Network Interface Permission and how to use it, see [What is Network Interface Permission](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/elastic-network-interfaces-overview).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: \"terraform-example\",\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"terraform-example\",\n primaryIpAddress: defaultSwitch.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst example = new alicloud.ecs.EcsNetworkInterfacePermission(\"example\", {\n accountId: defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id),\n networkInterfaceId: defaultEcsNetworkInterface.id,\n permission: \"InstanceAttach\",\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_account = alicloud.get_account()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=\"terraform-example\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"terraform-example\",\n primary_ip_address=default_switch.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\nexample = alicloud.ecs.EcsNetworkInterfacePermission(\"example\",\n account_id=default_get_account.id,\n network_interface_id=default_ecs_network_interface.id,\n permission=\"InstanceAttach\",\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = \"terraform-example\",\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"terraform-example\",\n PrimaryIpAddress = defaultSwitch.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var example = new AliCloud.Ecs.EcsNetworkInterfacePermission(\"example\", new()\n {\n AccountId = defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n Permission = \"InstanceAttach\",\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(\"terraform-example\"),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(\"terraform-example\"),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(\"terraform-example\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(\"terraform-example\"),\nVswitchId: defaultSwitch.ID(),\nSecurityGroupIds: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nDescription: pulumi.String(\"terraform-example\"),\nPrimaryIpAddress: pulumi.String(defaultSwitch.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"example\"),\n},\nResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewEcsNetworkInterfacePermission(ctx, \"example\", \u0026ecs.EcsNetworkInterfacePermissionArgs{\nAccountId: pulumi.String(defaultGetAccount.Id),\nNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\nPermission: pulumi.String(\"InstanceAttach\"),\nForce: pulumi.Bool(true),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfacePermission;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfacePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(\"terraform-example\")\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"terraform-example\")\n .primaryIpAddress(defaultSwitch.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var example = new EcsNetworkInterfacePermission(\"example\", EcsNetworkInterfacePermissionArgs.builder()\n .accountId(defaultGetAccount.id())\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .permission(\"InstanceAttach\")\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: terraform-example\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: terraform-example\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${defaultSwitch.cidrBlock}\n host: 100\n return: result\n tags:\n Created: TF\n For: example\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n example:\n type: alicloud:ecs:EcsNetworkInterfacePermission\n properties:\n accountId: ${defaultGetAccount.id}\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n permission: InstanceAttach\n force: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Network Interface Permission can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterfacePermission:EcsNetworkInterfacePermission example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Network Interface Permission resource.\n\nFor information about ECS Network Interface Permission and how to use it, see [What is Network Interface Permission](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/elastic-network-interfaces-overview).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n networkInterfaceName: \"terraform-example\",\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n description: \"terraform-example\",\n primaryIpAddress: defaultSwitch.cidrBlock.apply(cidrBlock =\u003e std.cidrhostOutput({\n input: cidrBlock,\n host: 100,\n })).apply(invoke =\u003e invoke.result),\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n});\nconst example = new alicloud.ecs.EcsNetworkInterfacePermission(\"example\", {\n accountId: defaultGetAccount.then(defaultGetAccount =\u003e defaultGetAccount.id),\n networkInterfaceId: defaultEcsNetworkInterface.id,\n permission: \"InstanceAttach\",\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_account = alicloud.get_account()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n network_interface_name=\"terraform-example\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id],\n description=\"terraform-example\",\n primary_ip_address=default_switch.cidr_block.apply(lambda cidr_block: std.cidrhost_output(input=cidr_block,\n host=100)).apply(lambda invoke: invoke.result),\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n resource_group_id=default_get_resource_groups.ids[0])\nexample = alicloud.ecs.EcsNetworkInterfacePermission(\"example\",\n account_id=default_get_account.id,\n network_interface_id=default_ecs_network_interface.id,\n permission=\"InstanceAttach\",\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = \"terraform-example\",\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n Description = \"terraform-example\",\n PrimaryIpAddress = defaultSwitch.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrhost.Invoke(new()\n {\n Input = cidrBlock,\n Host = 100,\n })).Apply(invoke =\u003e invoke.Result),\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n var example = new AliCloud.Ecs.EcsNetworkInterfacePermission(\"example\", new()\n {\n AccountId = defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n NetworkInterfaceId = defaultEcsNetworkInterface.Id,\n Permission = \"InstanceAttach\",\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(\"terraform-example\"),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(\"terraform-example\"),\nCidrBlock: pulumi.String(\"172.17.3.0/24\"),\nVpcId: defaultNetwork.ID(),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(\"terraform-example\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrhost, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: cidrBlock,\nHost: 100,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\nNetworkInterfaceName: pulumi.String(\"terraform-example\"),\nVswitchId: defaultSwitch.ID(),\nSecurityGroupIds: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nDescription: pulumi.String(\"terraform-example\"),\nPrimaryIpAddress: pulumi.String(defaultSwitch.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrhostResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrhostResultOutput).ApplyT(func(invoke std.CidrhostResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nTags: pulumi.StringMap{\n\"Created\": pulumi.String(\"TF\"),\n\"For\": pulumi.String(\"example\"),\n},\nResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewEcsNetworkInterfacePermission(ctx, \"example\", \u0026ecs.EcsNetworkInterfacePermissionArgs{\nAccountId: pulumi.String(defaultGetAccount.Id),\nNetworkInterfaceId: defaultEcsNetworkInterface.ID(),\nPermission: pulumi.String(\"InstanceAttach\"),\nForce: pulumi.Bool(true),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrhostArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfacePermission;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfacePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(\"terraform-example\")\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .description(\"terraform-example\")\n .primaryIpAddress(defaultSwitch.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(_cidrBlock)\n .host(100)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .build());\n\n var example = new EcsNetworkInterfacePermission(\"example\", EcsNetworkInterfacePermissionArgs.builder()\n .accountId(defaultGetAccount.id())\n .networkInterfaceId(defaultEcsNetworkInterface.id())\n .permission(\"InstanceAttach\")\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n networkInterfaceName: terraform-example\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n description: terraform-example\n primaryIpAddress:\n fn::invoke:\n function: std:cidrhost\n arguments:\n input: ${defaultSwitch.cidrBlock}\n host: 100\n return: result\n tags:\n Created: TF\n For: example\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n example:\n type: alicloud:ecs:EcsNetworkInterfacePermission\n properties:\n accountId: ${defaultGetAccount.id}\n networkInterfaceId: ${defaultEcsNetworkInterface.id}\n permission: InstanceAttach\n force: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Network Interface Permission can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsNetworkInterfacePermission:EcsNetworkInterfacePermission example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -156368,7 +158997,7 @@ } }, "alicloud:ecs/ecsPrefixList:EcsPrefixList": { - "description": "Provides a ECS Prefix List resource.\n\nFor information about ECS Prefix List and how to use it, see [What is Prefix List.](https://www.alibabacloud.com/help/en/doc-detail/207969.html).\n\n\u003e **NOTE:** Available in v1.152.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.EcsPrefixList(\"default\", {\n addressFamily: \"IPv4\",\n maxEntries: 2,\n prefixListName: \"tftest\",\n description: \"description\",\n entries: [{\n cidr: \"192.168.0.0/24\",\n description: \"description\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.EcsPrefixList(\"default\",\n address_family=\"IPv4\",\n max_entries=2,\n prefix_list_name=\"tftest\",\n description=\"description\",\n entries=[{\n \"cidr\": \"192.168.0.0/24\",\n \"description\": \"description\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.EcsPrefixList(\"default\", new()\n {\n AddressFamily = \"IPv4\",\n MaxEntries = 2,\n PrefixListName = \"tftest\",\n Description = \"description\",\n Entries = new[]\n {\n new AliCloud.Ecs.Inputs.EcsPrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/24\",\n Description = \"description\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsPrefixList(ctx, \"default\", \u0026ecs.EcsPrefixListArgs{\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(2),\n\t\t\tPrefixListName: pulumi.String(\"tftest\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tEntries: ecs.EcsPrefixListEntryArray{\n\t\t\t\t\u0026ecs.EcsPrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"description\"),\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.alicloud.ecs.EcsPrefixList;\nimport com.pulumi.alicloud.ecs.EcsPrefixListArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcsPrefixList(\"default\", EcsPrefixListArgs.builder()\n .addressFamily(\"IPv4\")\n .maxEntries(2)\n .prefixListName(\"tftest\")\n .description(\"description\")\n .entries(EcsPrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/24\")\n .description(\"description\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:EcsPrefixList\n properties:\n addressFamily: IPv4\n maxEntries: 2\n prefixListName: tftest\n description: description\n entries:\n - cidr: 192.168.0.0/24\n description: description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Prefix List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsPrefixList:EcsPrefixList example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Prefix List resource.\n\nFor information about ECS Prefix List and how to use it, see [What is Prefix List.](https://www.alibabacloud.com/help/en/doc-detail/207969.html).\n\n\u003e **NOTE:** Available in v1.152.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.EcsPrefixList(\"default\", {\n addressFamily: \"IPv4\",\n maxEntries: 2,\n prefixListName: \"tftest\",\n description: \"description\",\n entries: [{\n cidr: \"192.168.0.0/24\",\n description: \"description\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.EcsPrefixList(\"default\",\n address_family=\"IPv4\",\n max_entries=2,\n prefix_list_name=\"tftest\",\n description=\"description\",\n entries=[{\n \"cidr\": \"192.168.0.0/24\",\n \"description\": \"description\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.EcsPrefixList(\"default\", new()\n {\n AddressFamily = \"IPv4\",\n MaxEntries = 2,\n PrefixListName = \"tftest\",\n Description = \"description\",\n Entries = new[]\n {\n new AliCloud.Ecs.Inputs.EcsPrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/24\",\n Description = \"description\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsPrefixList(ctx, \"default\", \u0026ecs.EcsPrefixListArgs{\n\t\t\tAddressFamily: pulumi.String(\"IPv4\"),\n\t\t\tMaxEntries: pulumi.Int(2),\n\t\t\tPrefixListName: pulumi.String(\"tftest\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tEntries: ecs.EcsPrefixListEntryArray{\n\t\t\t\t\u0026ecs.EcsPrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tDescription: pulumi.String(\"description\"),\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.alicloud.ecs.EcsPrefixList;\nimport com.pulumi.alicloud.ecs.EcsPrefixListArgs;\nimport com.pulumi.alicloud.ecs.inputs.EcsPrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcsPrefixList(\"default\", EcsPrefixListArgs.builder()\n .addressFamily(\"IPv4\")\n .maxEntries(2)\n .prefixListName(\"tftest\")\n .description(\"description\")\n .entries(EcsPrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/24\")\n .description(\"description\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:EcsPrefixList\n properties:\n addressFamily: IPv4\n maxEntries: 2\n prefixListName: tftest\n description: description\n entries:\n - cidr: 192.168.0.0/24\n description: description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Prefix List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsPrefixList:EcsPrefixList example \u003cid\u003e\n```\n\n", "properties": { "addressFamily": { "type": "string", @@ -156466,7 +159095,7 @@ } }, "alicloud:ecs/ecsSessionManagerStatus:EcsSessionManagerStatus": { - "description": "Provides a ECS Session Manager Status resource.\n\nFor information about ECS Session Manager Status and how to use it, see [What is Session Manager Status](https://www.alibabacloud.com/help/zh/doc-detail/337915.html).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.EcsSessionManagerStatus(\"default\", {\n sessionManagerStatusName: \"sessionManagerStatus\",\n status: \"Disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.EcsSessionManagerStatus(\"default\",\n session_manager_status_name=\"sessionManagerStatus\",\n status=\"Disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.EcsSessionManagerStatus(\"default\", new()\n {\n SessionManagerStatusName = \"sessionManagerStatus\",\n Status = \"Disabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsSessionManagerStatus(ctx, \"default\", \u0026ecs.EcsSessionManagerStatusArgs{\n\t\t\tSessionManagerStatusName: pulumi.String(\"sessionManagerStatus\"),\n\t\t\tStatus: pulumi.String(\"Disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsSessionManagerStatus;\nimport com.pulumi.alicloud.ecs.EcsSessionManagerStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcsSessionManagerStatus(\"default\", EcsSessionManagerStatusArgs.builder()\n .sessionManagerStatusName(\"sessionManagerStatus\")\n .status(\"Disabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:EcsSessionManagerStatus\n properties:\n sessionManagerStatusName: sessionManagerStatus\n status: Disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Session Manager Status can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSessionManagerStatus:EcsSessionManagerStatus example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Session Manager Status resource.\n\nFor information about ECS Session Manager Status and how to use it, see [What is Session Manager Status](https://www.alibabacloud.com/help/zh/doc-detail/337915.html).\n\n\u003e **NOTE:** Available since v1.148.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.EcsSessionManagerStatus(\"default\", {\n sessionManagerStatusName: \"sessionManagerStatus\",\n status: \"Disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.EcsSessionManagerStatus(\"default\",\n session_manager_status_name=\"sessionManagerStatus\",\n status=\"Disabled\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.EcsSessionManagerStatus(\"default\", new()\n {\n SessionManagerStatusName = \"sessionManagerStatus\",\n Status = \"Disabled\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewEcsSessionManagerStatus(ctx, \"default\", \u0026ecs.EcsSessionManagerStatusArgs{\n\t\t\tSessionManagerStatusName: pulumi.String(\"sessionManagerStatus\"),\n\t\t\tStatus: pulumi.String(\"Disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsSessionManagerStatus;\nimport com.pulumi.alicloud.ecs.EcsSessionManagerStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcsSessionManagerStatus(\"default\", EcsSessionManagerStatusArgs.builder()\n .sessionManagerStatusName(\"sessionManagerStatus\")\n .status(\"Disabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:EcsSessionManagerStatus\n properties:\n sessionManagerStatusName: sessionManagerStatus\n status: Disabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Session Manager Status can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSessionManagerStatus:EcsSessionManagerStatus example \u003cid\u003e\n```\n\n", "properties": { "sessionManagerStatusName": { "type": "string", @@ -156513,7 +159142,7 @@ } }, "alicloud:ecs/ecsSnapshot:EcsSnapshot": { - "description": "Provides a ECS Snapshot resource.\n\n\n\nFor information about ECS Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/doc-detail/25524.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_essd\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n dataDisks: [{\n category: \"cloud_essd\",\n size: 20,\n }],\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n diskName: name,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n category: \"cloud_essd\",\n size: 500,\n});\nconst defaultEcsDiskAttachment = new alicloud.ecs.EcsDiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\nconst defaultEcsSnapshot = new alicloud.ecs.EcsSnapshot(\"default\", {\n diskId: defaultEcsDiskAttachment.diskId,\n category: \"standard\",\n retentionDays: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_essd\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id,\n system_disk_category=\"cloud_essd\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_switch.id,\n instance_name=name,\n data_disks=[{\n \"category\": \"cloud_essd\",\n \"size\": 20,\n }])\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n disk_name=name,\n zone_id=default_get_instance_types.instance_types[0].availability_zones[0],\n category=\"cloud_essd\",\n size=500)\ndefault_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\ndefault_ecs_snapshot = alicloud.ecs.EcsSnapshot(\"default\",\n disk_id=default_ecs_disk_attachment.disk_id,\n category=\"standard\",\n retention_days=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_essd\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.InstanceDataDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 20,\n },\n },\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n DiskName = name,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n Category = \"cloud_essd\",\n Size = 500,\n });\n\n var defaultEcsDiskAttachment = new AliCloud.Ecs.EcsDiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultEcsSnapshot = new AliCloud.Ecs.EcsSnapshot(\"default\", new()\n {\n DiskId = defaultEcsDiskAttachment.DiskId,\n Category = \"standard\",\n RetentionDays = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_essd\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\nSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_essd\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\nDataDisks: ecs.InstanceDataDiskArray{\n\u0026ecs.InstanceDataDiskArgs{\nCategory: pulumi.String(\"cloud_essd\"),\nSize: pulumi.Int(20),\n},\n},\n})\nif err != nil {\nreturn err\n}\ndefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\nDiskName: pulumi.String(name),\nZoneId: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nCategory: pulumi.String(\"cloud_essd\"),\nSize: pulumi.Int(500),\n})\nif err != nil {\nreturn err\n}\ndefaultEcsDiskAttachment, err := ecs.NewEcsDiskAttachment(ctx, \"default\", \u0026ecs.EcsDiskAttachmentArgs{\nDiskId: defaultEcsDisk.ID(),\nInstanceId: defaultInstance.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewEcsSnapshot(ctx, \"default\", \u0026ecs.EcsSnapshotArgs{\nDiskId: defaultEcsDiskAttachment.DiskId,\nCategory: pulumi.String(\"standard\"),\nRetentionDays: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.inputs.InstanceDataDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachment;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachmentArgs;\nimport com.pulumi.alicloud.ecs.EcsSnapshot;\nimport com.pulumi.alicloud.ecs.EcsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_essd\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .dataDisks(InstanceDataDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(20)\n .build())\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .diskName(name)\n .zoneId(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .category(\"cloud_essd\")\n .size(500)\n .build());\n\n var defaultEcsDiskAttachment = new EcsDiskAttachment(\"defaultEcsDiskAttachment\", EcsDiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultEcsSnapshot = new EcsSnapshot(\"defaultEcsSnapshot\", EcsSnapshotArgs.builder()\n .diskId(defaultEcsDiskAttachment.diskId())\n .category(\"standard\")\n .retentionDays(20)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSnapshot:EcsSnapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Snapshot resource.\n\n\n\nFor information about ECS Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/doc-detail/25524.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_essd\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n dataDisks: [{\n category: \"cloud_essd\",\n size: 20,\n }],\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n diskName: name,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n category: \"cloud_essd\",\n size: 500,\n});\nconst defaultEcsDiskAttachment = new alicloud.ecs.EcsDiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\nconst defaultEcsSnapshot = new alicloud.ecs.EcsSnapshot(\"default\", {\n diskId: defaultEcsDiskAttachment.diskId,\n category: \"standard\",\n retentionDays: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_essd\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id,\n system_disk_category=\"cloud_essd\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_switch.id,\n instance_name=name,\n data_disks=[{\n \"category\": \"cloud_essd\",\n \"size\": 20,\n }])\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n disk_name=name,\n zone_id=default_get_instance_types.instance_types[0].availability_zones[0],\n category=\"cloud_essd\",\n size=500)\ndefault_ecs_disk_attachment = alicloud.ecs.EcsDiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\ndefault_ecs_snapshot = alicloud.ecs.EcsSnapshot(\"default\",\n disk_id=default_ecs_disk_attachment.disk_id,\n category=\"standard\",\n retention_days=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_essd\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.InstanceDataDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 20,\n },\n },\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n DiskName = name,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n Category = \"cloud_essd\",\n Size = 500,\n });\n\n var defaultEcsDiskAttachment = new AliCloud.Ecs.EcsDiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultEcsSnapshot = new AliCloud.Ecs.EcsSnapshot(\"default\", new()\n {\n DiskId = defaultEcsDiskAttachment.DiskId,\n Category = \"standard\",\n RetentionDays = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_essd\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\nSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_essd\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\nDataDisks: ecs.InstanceDataDiskArray{\n\u0026ecs.InstanceDataDiskArgs{\nCategory: pulumi.String(\"cloud_essd\"),\nSize: pulumi.Int(20),\n},\n},\n})\nif err != nil {\nreturn err\n}\ndefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\nDiskName: pulumi.String(name),\nZoneId: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nCategory: pulumi.String(\"cloud_essd\"),\nSize: pulumi.Int(500),\n})\nif err != nil {\nreturn err\n}\ndefaultEcsDiskAttachment, err := ecs.NewEcsDiskAttachment(ctx, \"default\", \u0026ecs.EcsDiskAttachmentArgs{\nDiskId: defaultEcsDisk.ID(),\nInstanceId: defaultInstance.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewEcsSnapshot(ctx, \"default\", \u0026ecs.EcsSnapshotArgs{\nDiskId: defaultEcsDiskAttachment.DiskId,\nCategory: pulumi.String(\"standard\"),\nRetentionDays: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.inputs.InstanceDataDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachment;\nimport com.pulumi.alicloud.ecs.EcsDiskAttachmentArgs;\nimport com.pulumi.alicloud.ecs.EcsSnapshot;\nimport com.pulumi.alicloud.ecs.EcsSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_essd\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .dataDisks(InstanceDataDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(20)\n .build())\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .diskName(name)\n .zoneId(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .category(\"cloud_essd\")\n .size(500)\n .build());\n\n var defaultEcsDiskAttachment = new EcsDiskAttachment(\"defaultEcsDiskAttachment\", EcsDiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultEcsSnapshot = new EcsSnapshot(\"defaultEcsSnapshot\", EcsSnapshotArgs.builder()\n .diskId(defaultEcsDiskAttachment.diskId())\n .category(\"standard\")\n .retentionDays(20)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSnapshot:EcsSnapshot example \u003cid\u003e\n```\n\n", "properties": { "category": { "type": "string", @@ -156716,7 +159345,7 @@ } }, "alicloud:ecs/ecsSnapshotGroup:EcsSnapshotGroup": { - "description": "Provides a ECS Snapshot Group resource.\n\nFor information about ECS Snapshot Group and how to use it, see [What is Snapshot Group](https://www.alibabacloud.com/help/en/doc-detail/210939.html).\n\n\u003e **NOTE:** Available since v1.160.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableDiskCategory: \"cloud_essd\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n owners: \"system\",\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n internetMaxBandwidthOut: 10,\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n diskName: \"terraform-example\",\n description: \"terraform-example\",\n category: \"cloud_essd\",\n size: 30,\n});\nconst defaultDiskAttachment = new alicloud.ecs.DiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\nconst defaultEcsSnapshotGroup = new alicloud.ecs.EcsSnapshotGroup(\"default\", {\n description: \"terraform-example\",\n diskIds: [defaultDiskAttachment.diskId],\n snapshotGroupName: \"terraform-example\",\n instanceId: defaultInstance.id,\n instantAccess: true,\n instantAccessRetentionDays: 1,\n tags: {\n Created: \"TF\",\n For: \"Acceptance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_disk_category=\"cloud_essd\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_essd\")\ndefault_get_images = alicloud.ecs.get_images(owners=\"system\",\n name_regex=\"^ubuntu_18.*64\",\n most_recent=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.instance_types[0].id,\n image_id=default_get_images.images[0].id,\n internet_max_bandwidth_out=10)\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=default.zones[0].id,\n disk_name=\"terraform-example\",\n description=\"terraform-example\",\n category=\"cloud_essd\",\n size=30)\ndefault_disk_attachment = alicloud.ecs.DiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\ndefault_ecs_snapshot_group = alicloud.ecs.EcsSnapshotGroup(\"default\",\n description=\"terraform-example\",\n disk_ids=[default_disk_attachment.disk_id],\n snapshot_group_name=\"terraform-example\",\n instance_id=default_instance.id,\n instant_access=True,\n instant_access_retention_days=1,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableDiskCategory = \"cloud_essd\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n Owners = \"system\",\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n DiskName = \"terraform-example\",\n Description = \"terraform-example\",\n Category = \"cloud_essd\",\n Size = 30,\n });\n\n var defaultDiskAttachment = new AliCloud.Ecs.DiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultEcsSnapshotGroup = new AliCloud.Ecs.EcsSnapshotGroup(\"default\", new()\n {\n Description = \"terraform-example\",\n DiskIds = new[]\n {\n defaultDiskAttachment.DiskId,\n },\n SnapshotGroupName = \"terraform-example\",\n InstanceId = defaultInstance.Id,\n InstantAccess = true,\n InstantAccessRetentionDays = 1,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tDiskName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDiskAttachment, err := ecs.NewDiskAttachment(ctx, \"default\", \u0026ecs.DiskAttachmentArgs{\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsSnapshotGroup(ctx, \"default\", \u0026ecs.EcsSnapshotGroupArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tDiskIds: pulumi.StringArray{\n\t\t\t\tdefaultDiskAttachment.DiskId,\n\t\t\t},\n\t\t\tSnapshotGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstantAccess: pulumi.Bool(true),\n\t\t\tInstantAccessRetentionDays: pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.DiskAttachment;\nimport com.pulumi.alicloud.ecs.DiskAttachmentArgs;\nimport com.pulumi.alicloud.ecs.EcsSnapshotGroup;\nimport com.pulumi.alicloud.ecs.EcsSnapshotGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableDiskCategory(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .owners(\"system\")\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(default_.zones()[0].id())\n .diskName(\"terraform-example\")\n .description(\"terraform-example\")\n .category(\"cloud_essd\")\n .size(30)\n .build());\n\n var defaultDiskAttachment = new DiskAttachment(\"defaultDiskAttachment\", DiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultEcsSnapshotGroup = new EcsSnapshotGroup(\"defaultEcsSnapshotGroup\", EcsSnapshotGroupArgs.builder()\n .description(\"terraform-example\")\n .diskIds(defaultDiskAttachment.diskId())\n .snapshotGroupName(\"terraform-example\")\n .instanceId(defaultInstance.id())\n .instantAccess(true)\n .instantAccessRetentionDays(1)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n imageId: ${defaultGetImages.images[0].id}\n internetMaxBandwidthOut: 10\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n diskName: terraform-example\n description: terraform-example\n category: cloud_essd\n size: '30'\n defaultDiskAttachment:\n type: alicloud:ecs:DiskAttachment\n name: default\n properties:\n diskId: ${defaultEcsDisk.id}\n instanceId: ${defaultInstance.id}\n defaultEcsSnapshotGroup:\n type: alicloud:ecs:EcsSnapshotGroup\n name: default\n properties:\n description: terraform-example\n diskIds:\n - ${defaultDiskAttachment.diskId}\n snapshotGroupName: terraform-example\n instanceId: ${defaultInstance.id}\n instantAccess: true\n instantAccessRetentionDays: 1\n tags:\n Created: TF\n For: Acceptance\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n availableDiskCategory: cloud_essd\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n systemDiskCategory: cloud_essd\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n owners: system\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Snapshot Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSnapshotGroup:EcsSnapshotGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Snapshot Group resource.\n\nFor information about ECS Snapshot Group and how to use it, see [What is Snapshot Group](https://www.alibabacloud.com/help/en/doc-detail/210939.html).\n\n\u003e **NOTE:** Available since v1.160.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableDiskCategory: \"cloud_essd\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_essd\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n owners: \"system\",\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n internetMaxBandwidthOut: 10,\n});\nconst defaultEcsDisk = new alicloud.ecs.EcsDisk(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n diskName: \"terraform-example\",\n description: \"terraform-example\",\n category: \"cloud_essd\",\n size: 30,\n});\nconst defaultDiskAttachment = new alicloud.ecs.DiskAttachment(\"default\", {\n diskId: defaultEcsDisk.id,\n instanceId: defaultInstance.id,\n});\nconst defaultEcsSnapshotGroup = new alicloud.ecs.EcsSnapshotGroup(\"default\", {\n description: \"terraform-example\",\n diskIds: [defaultDiskAttachment.diskId],\n snapshotGroupName: \"terraform-example\",\n instanceId: defaultInstance.id,\n instantAccess: true,\n instantAccessRetentionDays: 1,\n tags: {\n Created: \"TF\",\n For: \"Acceptance\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_disk_category=\"cloud_essd\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_essd\")\ndefault_get_images = alicloud.ecs.get_images(owners=\"system\",\n name_regex=\"^ubuntu_18.*64\",\n most_recent=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.instance_types[0].id,\n image_id=default_get_images.images[0].id,\n internet_max_bandwidth_out=10)\ndefault_ecs_disk = alicloud.ecs.EcsDisk(\"default\",\n zone_id=default.zones[0].id,\n disk_name=\"terraform-example\",\n description=\"terraform-example\",\n category=\"cloud_essd\",\n size=30)\ndefault_disk_attachment = alicloud.ecs.DiskAttachment(\"default\",\n disk_id=default_ecs_disk.id,\n instance_id=default_instance.id)\ndefault_ecs_snapshot_group = alicloud.ecs.EcsSnapshotGroup(\"default\",\n description=\"terraform-example\",\n disk_ids=[default_disk_attachment.disk_id],\n snapshot_group_name=\"terraform-example\",\n instance_id=default_instance.id,\n instant_access=True,\n instant_access_retention_days=1,\n tags={\n \"Created\": \"TF\",\n \"For\": \"Acceptance\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableDiskCategory = \"cloud_essd\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_essd\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n Owners = \"system\",\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultEcsDisk = new AliCloud.Ecs.EcsDisk(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n DiskName = \"terraform-example\",\n Description = \"terraform-example\",\n Category = \"cloud_essd\",\n Size = 30,\n });\n\n var defaultDiskAttachment = new AliCloud.Ecs.DiskAttachment(\"default\", new()\n {\n DiskId = defaultEcsDisk.Id,\n InstanceId = defaultInstance.Id,\n });\n\n var defaultEcsSnapshotGroup = new AliCloud.Ecs.EcsSnapshotGroup(\"default\", new()\n {\n Description = \"terraform-example\",\n DiskIds = new[]\n {\n defaultDiskAttachment.DiskId,\n },\n SnapshotGroupName = \"terraform-example\",\n InstanceId = defaultInstance.Id,\n InstantAccess = true,\n InstantAccessRetentionDays = 1,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Acceptance\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsDisk, err := ecs.NewEcsDisk(ctx, \"default\", \u0026ecs.EcsDiskArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tDiskName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tSize: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDiskAttachment, err := ecs.NewDiskAttachment(ctx, \"default\", \u0026ecs.DiskAttachmentArgs{\n\t\t\tDiskId: defaultEcsDisk.ID(),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsSnapshotGroup(ctx, \"default\", \u0026ecs.EcsSnapshotGroupArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tDiskIds: pulumi.StringArray{\n\t\t\t\tdefaultDiskAttachment.DiskId,\n\t\t\t},\n\t\t\tSnapshotGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstantAccess: pulumi.Bool(true),\n\t\t\tInstantAccessRetentionDays: pulumi.Int(1),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Acceptance\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsDisk;\nimport com.pulumi.alicloud.ecs.EcsDiskArgs;\nimport com.pulumi.alicloud.ecs.DiskAttachment;\nimport com.pulumi.alicloud.ecs.DiskAttachmentArgs;\nimport com.pulumi.alicloud.ecs.EcsSnapshotGroup;\nimport com.pulumi.alicloud.ecs.EcsSnapshotGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableDiskCategory(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .owners(\"system\")\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultEcsDisk = new EcsDisk(\"defaultEcsDisk\", EcsDiskArgs.builder()\n .zoneId(default_.zones()[0].id())\n .diskName(\"terraform-example\")\n .description(\"terraform-example\")\n .category(\"cloud_essd\")\n .size(30)\n .build());\n\n var defaultDiskAttachment = new DiskAttachment(\"defaultDiskAttachment\", DiskAttachmentArgs.builder()\n .diskId(defaultEcsDisk.id())\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultEcsSnapshotGroup = new EcsSnapshotGroup(\"defaultEcsSnapshotGroup\", EcsSnapshotGroupArgs.builder()\n .description(\"terraform-example\")\n .diskIds(defaultDiskAttachment.diskId())\n .snapshotGroupName(\"terraform-example\")\n .instanceId(defaultInstance.id())\n .instantAccess(true)\n .instantAccessRetentionDays(1)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Acceptance\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n imageId: ${defaultGetImages.images[0].id}\n internetMaxBandwidthOut: 10\n defaultEcsDisk:\n type: alicloud:ecs:EcsDisk\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n diskName: terraform-example\n description: terraform-example\n category: cloud_essd\n size: '30'\n defaultDiskAttachment:\n type: alicloud:ecs:DiskAttachment\n name: default\n properties:\n diskId: ${defaultEcsDisk.id}\n instanceId: ${defaultInstance.id}\n defaultEcsSnapshotGroup:\n type: alicloud:ecs:EcsSnapshotGroup\n name: default\n properties:\n description: terraform-example\n diskIds:\n - ${defaultDiskAttachment.diskId}\n snapshotGroupName: terraform-example\n instanceId: ${defaultInstance.id}\n instantAccess: true\n instantAccessRetentionDays: 1\n tags:\n Created: TF\n For: Acceptance\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n availableDiskCategory: cloud_essd\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n systemDiskCategory: cloud_essd\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n owners: system\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Snapshot Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ecsSnapshotGroup:EcsSnapshotGroup example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -156878,7 +159507,7 @@ } }, "alicloud:ecs/eip:Eip": { - "description": "Provides an elastic IP resource.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.126.0`. Please use new resource alicloud_eip_address.\n\n\u003e **NOTE:** The resource only supports to create `PostPaid PayByTraffic` or `PrePaid PayByBandwidth` elastic IP for international account. Otherwise, you will happened error `COMMODITY.INVALID_COMPONENT`.\nYour account is international if you can use it to login in [International Web Console](https://account.alibabacloud.com/login/login.htm).\n\n\u003e **NOTE:** From version 1.10.1, this resource supports creating \"PrePaid\" EIP. In addition, it supports setting EIP name and description.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new EIP.\nconst example = new alicloud.ecs.Eip(\"example\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new EIP.\nexample = alicloud.ecs.Eip(\"example\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new EIP.\n var example = new AliCloud.Ecs.Eip(\"example\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new EIP.\n\t\t_, err := ecs.NewEip(ctx, \"example\", \u0026ecs.EipArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Eip;\nimport com.pulumi.alicloud.ecs.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new EIP.\n var example = new Eip(\"example\", EipArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new EIP.\n example:\n type: alicloud:ecs:Eip\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing eip module \nto create several EIP instances and associate them with other resources one-click, like ECS instances, SLB, Nat Gateway and so on.\n\n## Import\n\nElastic IP address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eip:Eip example eip-abc12345678\n```\n\n", + "description": "Provides an elastic IP resource.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.126.0`. Please use new resource alicloud_eip_address.\n\n\u003e **NOTE:** The resource only supports to create `PostPaid PayByTraffic` or `PrePaid PayByBandwidth` elastic IP for international account. Otherwise, you will happened error `COMMODITY.INVALID_COMPONENT`.\nYour account is international if you can use it to login in [International Web Console](https://account.alibabacloud.com/login/login.htm).\n\n\u003e **NOTE:** From version 1.10.1, this resource supports creating \"PrePaid\" EIP. In addition, it supports setting EIP name and description.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new EIP.\nconst example = new alicloud.ecs.Eip(\"example\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new EIP.\nexample = alicloud.ecs.Eip(\"example\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new EIP.\n var example = new AliCloud.Ecs.Eip(\"example\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new EIP.\n\t\t_, err := ecs.NewEip(ctx, \"example\", \u0026ecs.EipArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Eip;\nimport com.pulumi.alicloud.ecs.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new EIP.\n var example = new Eip(\"example\", EipArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new EIP.\n example:\n type: alicloud:ecs:Eip\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing eip module \nto create several EIP instances and associate them with other resources one-click, like ECS instances, SLB, Nat Gateway and so on.\n\n## Import\n\nElastic IP address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eip:Eip example eip-abc12345678\n```\n\n", "properties": { "activityId": { "type": "string" @@ -157631,7 +160260,7 @@ } }, "alicloud:ecs/eipAssociation:EipAssociation": { - "description": "Provides a EIP Association resource.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-dotnet=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-go=\"`ecs.EipAssociation`\" pulumi-lang-python=\"`ecs.EipAssociation`\" pulumi-lang-yaml=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-java=\"`alicloud.ecs.EipAssociation`\"\u003e`alicloud.ecs.EipAssociation`\u003c/span\u003e is useful in scenarios where EIPs are either\n pre-existing or distributed to customers or users and therefore cannot be changed.\n\n\u003e **NOTE:** From version 1.7.1, the resource support to associate EIP to SLB Instance or Nat Gateway.\n\n\u003e **NOTE:** One EIP can only be associated with ECS or SLB instance which in the VPC.\n\nFor information about EIP Association and how to use it, see [What is Association](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-associateeipaddress).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: name,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleEipAddress = new alicloud.ecs.EipAddress(\"example\", {addressName: name});\nconst exampleEipAssociation = new alicloud.ecs.EipAssociation(\"example\", {\n allocationId: exampleEipAddress.id,\n instanceId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=name,\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_eip_address = alicloud.ecs.EipAddress(\"example\", address_name=name)\nexample_eip_association = alicloud.ecs.EipAssociation(\"example\",\n allocation_id=example_eip_address.id,\n instance_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleEipAddress = new AliCloud.Ecs.EipAddress(\"example\", new()\n {\n AddressName = name,\n });\n\n var exampleEipAssociation = new AliCloud.Ecs.EipAssociation(\"example\", new()\n {\n AllocationId = exampleEipAddress.Id,\n InstanceId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEipAddress, err := ecs.NewEipAddress(ctx, \"example\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"example\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: exampleEipAddress.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(name)\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleEipAddress = new EipAddress(\"exampleEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var exampleEipAssociation = new EipAssociation(\"exampleEipAssociation\", EipAssociationArgs.builder()\n .allocationId(exampleEipAddress.id())\n .instanceId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: ${name}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n tags:\n Created: TF\n For: example\n exampleEipAddress:\n type: alicloud:ecs:EipAddress\n name: example\n properties:\n addressName: ${name}\n exampleEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: example\n properties:\n allocationId: ${exampleEipAddress.id}\n instanceId: ${exampleInstance.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEIP Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eipAssociation:EipAssociation example \u003callocation_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a EIP Association resource.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-dotnet=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-go=\"`ecs.EipAssociation`\" pulumi-lang-python=\"`ecs.EipAssociation`\" pulumi-lang-yaml=\"`alicloud.ecs.EipAssociation`\" pulumi-lang-java=\"`alicloud.ecs.EipAssociation`\"\u003e`alicloud.ecs.EipAssociation`\u003c/span\u003e is useful in scenarios where EIPs are either\n pre-existing or distributed to customers or users and therefore cannot be changed.\n\n\u003e **NOTE:** From version 1.7.1, the resource support to associate EIP to SLB Instance or Nat Gateway.\n\n\u003e **NOTE:** One EIP can only be associated with ECS or SLB instance which in the VPC.\n\nFor information about EIP Association and how to use it, see [What is Association](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-associateeipaddress).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n instanceName: name,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n vswitchId: exampleSwitch.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleEipAddress = new alicloud.ecs.EipAddress(\"example\", {addressName: name});\nconst exampleEipAssociation = new alicloud.ecs.EipAssociation(\"example\", {\n allocationId: exampleEipAddress.id,\n instanceId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=example.zones[0].id,\n instance_name=name,\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n security_groups=[example_security_group.id],\n vswitch_id=example_switch.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_eip_address = alicloud.ecs.EipAddress(\"example\", address_name=name)\nexample_eip_association = alicloud.ecs.EipAssociation(\"example\",\n allocation_id=example_eip_address.id,\n instance_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n VswitchId = exampleSwitch.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleEipAddress = new AliCloud.Ecs.EipAddress(\"example\", new()\n {\n AddressName = name,\n });\n\n var exampleEipAssociation = new AliCloud.Ecs.EipAssociation(\"example\", new()\n {\n AllocationId = exampleEipAddress.Id,\n InstanceId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEipAddress, err := ecs.NewEipAddress(ctx, \"example\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"example\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: exampleEipAddress.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .instanceName(name)\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .vswitchId(exampleSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleEipAddress = new EipAddress(\"exampleEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var exampleEipAssociation = new EipAssociation(\"exampleEipAssociation\", EipAssociationArgs.builder()\n .allocationId(exampleEipAddress.id())\n .instanceId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${example.zones[0].id}\n instanceName: ${name}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n vswitchId: ${exampleSwitch.id}\n tags:\n Created: TF\n For: example\n exampleEipAddress:\n type: alicloud:ecs:EipAddress\n name: example\n properties:\n addressName: ${name}\n exampleEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: example\n properties:\n allocationId: ${exampleEipAddress.id}\n instanceId: ${exampleInstance.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEIP Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eipAssociation:EipAssociation example \u003callocation_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "allocationId": { "type": "string", @@ -157748,7 +160377,7 @@ } }, "alicloud:ecs/eipSegmentAddress:EipSegmentAddress": { - "description": "Provides a EIP Segment Address resource.\n\nFor information about EIP Segment Address and how to use it, see [What is Segment Address](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/allocateeipsegmentaddress).\n\n\u003e **NOTE:** Available since v1.207.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ecs.EipSegmentAddress(\"default\", {\n eipMask: \"28\",\n bandwidth: \"5\",\n isp: \"BGP\",\n internetChargeType: \"PayByBandwidth\",\n netmode: \"public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecs.EipSegmentAddress(\"default\",\n eip_mask=\"28\",\n bandwidth=\"5\",\n isp=\"BGP\",\n internet_charge_type=\"PayByBandwidth\",\n netmode=\"public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ecs.EipSegmentAddress(\"default\", new()\n {\n EipMask = \"28\",\n Bandwidth = \"5\",\n Isp = \"BGP\",\n InternetChargeType = \"PayByBandwidth\",\n Netmode = \"public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEipSegmentAddress(ctx, \"default\", \u0026ecs.EipSegmentAddressArgs{\n\t\t\tEipMask: pulumi.String(\"28\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EipSegmentAddress;\nimport com.pulumi.alicloud.ecs.EipSegmentAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new EipSegmentAddress(\"default\", EipSegmentAddressArgs.builder()\n .eipMask(\"28\")\n .bandwidth(\"5\")\n .isp(\"BGP\")\n .internetChargeType(\"PayByBandwidth\")\n .netmode(\"public\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ecs:EipSegmentAddress\n properties:\n eipMask: '28'\n bandwidth: '5'\n isp: BGP\n internetChargeType: PayByBandwidth\n netmode: public\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEIP Segment Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eipSegmentAddress:EipSegmentAddress example \u003cid\u003e\n```\n\n", + "description": "Provides a EIP Segment Address resource.\n\nFor information about EIP Segment Address and how to use it, see [What is Segment Address](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/allocateeipsegmentaddress).\n\n\u003e **NOTE:** Available since v1.207.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ecs.EipSegmentAddress(\"default\", {\n eipMask: \"28\",\n bandwidth: \"5\",\n isp: \"BGP\",\n internetChargeType: \"PayByBandwidth\",\n netmode: \"public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ecs.EipSegmentAddress(\"default\",\n eip_mask=\"28\",\n bandwidth=\"5\",\n isp=\"BGP\",\n internet_charge_type=\"PayByBandwidth\",\n netmode=\"public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ecs.EipSegmentAddress(\"default\", new()\n {\n EipMask = \"28\",\n Bandwidth = \"5\",\n Isp = \"BGP\",\n InternetChargeType = \"PayByBandwidth\",\n Netmode = \"public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ecs.NewEipSegmentAddress(ctx, \"default\", \u0026ecs.EipSegmentAddressArgs{\n\t\t\tEipMask: pulumi.String(\"28\"),\n\t\t\tBandwidth: pulumi.String(\"5\"),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tNetmode: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EipSegmentAddress;\nimport com.pulumi.alicloud.ecs.EipSegmentAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new EipSegmentAddress(\"default\", EipSegmentAddressArgs.builder()\n .eipMask(\"28\")\n .bandwidth(\"5\")\n .isp(\"BGP\")\n .internetChargeType(\"PayByBandwidth\")\n .netmode(\"public\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ecs:EipSegmentAddress\n properties:\n eipMask: '28'\n bandwidth: '5'\n isp: BGP\n internetChargeType: PayByBandwidth\n netmode: public\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEIP Segment Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/eipSegmentAddress:EipSegmentAddress example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "string", @@ -157881,7 +160510,7 @@ } }, "alicloud:ecs/elasticityAssurance:ElasticityAssurance": { - "description": "Provides a ECS Elasticity Assurance resource.\n\n\n\nFor information about ECS Elasticity Assurance and how to use it, see [What is Elasticity Assurance](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createelasticityassurance).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.c6\",\n});\nconst defaultElasticityAssurance = new alicloud.ecs.ElasticityAssurance(\"default\", {\n instanceAmount: 1,\n description: \"before\",\n zoneIds: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0])],\n privatePoolOptionsName: name,\n period: 1,\n privatePoolOptionsMatchCriteria: \"Open\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n periodUnit: \"Month\",\n assuranceTimes: \"Unlimited\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.c6\")\ndefault_elasticity_assurance = alicloud.ecs.ElasticityAssurance(\"default\",\n instance_amount=1,\n description=\"before\",\n zone_ids=[default_get_instance_types.instance_types[0].availability_zones[0]],\n private_pool_options_name=name,\n period=1,\n private_pool_options_match_criteria=\"Open\",\n instance_type=default_get_instance_types.instance_types[0].id,\n period_unit=\"Month\",\n assurance_times=\"Unlimited\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.c6\",\n });\n\n var defaultElasticityAssurance = new AliCloud.Ecs.ElasticityAssurance(\"default\", new()\n {\n InstanceAmount = 1,\n Description = \"before\",\n ZoneIds = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n },\n PrivatePoolOptionsName = name,\n Period = 1,\n PrivatePoolOptionsMatchCriteria = \"Open\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n PeriodUnit = \"Month\",\n AssuranceTimes = \"Unlimited\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.c6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewElasticityAssurance(ctx, \"default\", \u0026ecs.ElasticityAssuranceArgs{\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tDescription: pulumi.String(\"before\"),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\n\t\t\t},\n\t\t\tPrivatePoolOptionsName: pulumi.String(name),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPrivatePoolOptionsMatchCriteria: pulumi.String(\"Open\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tAssuranceTimes: pulumi.String(\"Unlimited\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.ElasticityAssurance;\nimport com.pulumi.alicloud.ecs.ElasticityAssuranceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.c6\")\n .build());\n\n var defaultElasticityAssurance = new ElasticityAssurance(\"defaultElasticityAssurance\", ElasticityAssuranceArgs.builder()\n .instanceAmount(1)\n .description(\"before\")\n .zoneIds(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .privatePoolOptionsName(name)\n .period(1)\n .privatePoolOptionsMatchCriteria(\"Open\")\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .periodUnit(\"Month\")\n .assuranceTimes(\"Unlimited\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultElasticityAssurance:\n type: alicloud:ecs:ElasticityAssurance\n name: default\n properties:\n instanceAmount: 1\n description: before\n zoneIds:\n - ${defaultGetInstanceTypes.instanceTypes[0].availabilityZones[0]}\n privatePoolOptionsName: ${name}\n period: 1\n privatePoolOptionsMatchCriteria: Open\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n periodUnit: Month\n assuranceTimes: Unlimited\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.c6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Elasticity Assurance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/elasticityAssurance:ElasticityAssurance example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Elasticity Assurance resource.\n\n\n\nFor information about ECS Elasticity Assurance and how to use it, see [What is Elasticity Assurance](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/createelasticityassurance).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.c6\",\n});\nconst defaultElasticityAssurance = new alicloud.ecs.ElasticityAssurance(\"default\", {\n instanceAmount: 1,\n description: \"before\",\n zoneIds: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0])],\n privatePoolOptionsName: name,\n period: 1,\n privatePoolOptionsMatchCriteria: \"Open\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n periodUnit: \"Month\",\n assuranceTimes: \"Unlimited\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.c6\")\ndefault_elasticity_assurance = alicloud.ecs.ElasticityAssurance(\"default\",\n instance_amount=1,\n description=\"before\",\n zone_ids=[default_get_instance_types.instance_types[0].availability_zones[0]],\n private_pool_options_name=name,\n period=1,\n private_pool_options_match_criteria=\"Open\",\n instance_type=default_get_instance_types.instance_types[0].id,\n period_unit=\"Month\",\n assurance_times=\"Unlimited\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.c6\",\n });\n\n var defaultElasticityAssurance = new AliCloud.Ecs.ElasticityAssurance(\"default\", new()\n {\n InstanceAmount = 1,\n Description = \"before\",\n ZoneIds = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n },\n PrivatePoolOptionsName = name,\n Period = 1,\n PrivatePoolOptionsMatchCriteria = \"Open\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n PeriodUnit = \"Month\",\n AssuranceTimes = \"Unlimited\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.c6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewElasticityAssurance(ctx, \"default\", \u0026ecs.ElasticityAssuranceArgs{\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tDescription: pulumi.String(\"before\"),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\n\t\t\t},\n\t\t\tPrivatePoolOptionsName: pulumi.String(name),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPrivatePoolOptionsMatchCriteria: pulumi.String(\"Open\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tAssuranceTimes: pulumi.String(\"Unlimited\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.ElasticityAssurance;\nimport com.pulumi.alicloud.ecs.ElasticityAssuranceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.c6\")\n .build());\n\n var defaultElasticityAssurance = new ElasticityAssurance(\"defaultElasticityAssurance\", ElasticityAssuranceArgs.builder()\n .instanceAmount(1)\n .description(\"before\")\n .zoneIds(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .privatePoolOptionsName(name)\n .period(1)\n .privatePoolOptionsMatchCriteria(\"Open\")\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .periodUnit(\"Month\")\n .assuranceTimes(\"Unlimited\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultElasticityAssurance:\n type: alicloud:ecs:ElasticityAssurance\n name: default\n properties:\n instanceAmount: 1\n description: before\n zoneIds:\n - ${defaultGetInstanceTypes.instanceTypes[0].availabilityZones[0]}\n privatePoolOptionsName: ${name}\n period: 1\n privatePoolOptionsMatchCriteria: Open\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n periodUnit: Month\n assuranceTimes: Unlimited\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.c6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Elasticity Assurance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/elasticityAssurance:ElasticityAssurance example \u003cid\u003e\n```\n\n", "properties": { "assuranceTimes": { "type": "string", @@ -158183,7 +160812,7 @@ } }, "alicloud:ecs/hpcCluster:HpcCluster": { - "description": "Provides a ECS Hpc Cluster resource.\n\nFor information about ECS Hpc Cluster and how to use it, see [What is Hpc Cluster](https://www.alibabacloud.com/help/en/doc-detail/109138.htm).\n\n\u003e **NOTE:** Available in v1.116.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.HpcCluster(\"example\", {\n name: \"tf-testAcc\",\n description: \"For Terraform Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.HpcCluster(\"example\",\n name=\"tf-testAcc\",\n description=\"For Terraform Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.HpcCluster(\"example\", new()\n {\n Name = \"tf-testAcc\",\n Description = \"For Terraform Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewHpcCluster(ctx, \"example\", \u0026ecs.HpcClusterArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc\"),\n\t\t\tDescription: pulumi.String(\"For Terraform 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.alicloud.ecs.HpcCluster;\nimport com.pulumi.alicloud.ecs.HpcClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 HpcCluster(\"example\", HpcClusterArgs.builder()\n .name(\"tf-testAcc\")\n .description(\"For Terraform Test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:HpcCluster\n properties:\n name: tf-testAcc\n description: For Terraform Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Hpc Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/hpcCluster:HpcCluster example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Hpc Cluster resource.\n\nFor information about ECS Hpc Cluster and how to use it, see [What is Hpc Cluster](https://www.alibabacloud.com/help/en/doc-detail/109138.htm).\n\n\u003e **NOTE:** Available in v1.116.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ecs.HpcCluster(\"example\", {\n name: \"tf-testAcc\",\n description: \"For Terraform Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ecs.HpcCluster(\"example\",\n name=\"tf-testAcc\",\n description=\"For Terraform Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ecs.HpcCluster(\"example\", new()\n {\n Name = \"tf-testAcc\",\n Description = \"For Terraform Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewHpcCluster(ctx, \"example\", \u0026ecs.HpcClusterArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc\"),\n\t\t\tDescription: pulumi.String(\"For Terraform 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.alicloud.ecs.HpcCluster;\nimport com.pulumi.alicloud.ecs.HpcClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 HpcCluster(\"example\", HpcClusterArgs.builder()\n .name(\"tf-testAcc\")\n .description(\"For Terraform Test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ecs:HpcCluster\n properties:\n name: tf-testAcc\n description: For Terraform Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Hpc Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/hpcCluster:HpcCluster example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -158223,7 +160852,7 @@ } }, "alicloud:ecs/image:Image": { - "description": "Provides a ECS Image resource.\n\n\u003e **NOTE:** If you want to create a template from an ECS instance, you can specify the instance ID (InstanceId) to create a custom image. You must make sure that the status of the specified instance is Running or Stopped. After a successful invocation, each disk of the specified instance has a new snapshot created.\n\n\u003e **NOTE:** If you want to create a custom image based on the system disk of your ECS instance, you can specify one of the system disk snapshots (SnapshotId) to create a custom image. However, the specified snapshot cannot be created on or before July 15, 2013.\n\n\u003e **NOTE:** If you want to combine snapshots of multiple disks into an image template, you can specify DiskDeviceMapping to create a custom image.\n\nFor information about ECS Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ecs-2014-05-26-createimage).\n\n\u003e **NOTE:** Available since v1.64.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n architecture: \"x86_64\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n tags: {\n FinanceDept: \"FinanceDeptJoshua\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\",\n architecture=\"x86_64\",\n resource_group_id=default_get_resource_groups.ids[0],\n tags={\n \"FinanceDept\": \"FinanceDeptJoshua\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n Architecture = \"x86_64\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n Tags = \n {\n { \"FinanceDept\", \"FinanceDeptJoshua\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"FinanceDept\": pulumi.String(\"FinanceDeptJoshua\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .architecture(\"x86_64\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .tags(Map.of(\"FinanceDept\", \"FinanceDeptJoshua\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n architecture: x86_64\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n tags:\n FinanceDept: FinanceDeptJoshua\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/image:Image example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Image resource.\n\n\u003e **NOTE:** If you want to create a template from an ECS instance, you can specify the instance ID (InstanceId) to create a custom image. You must make sure that the status of the specified instance is Running or Stopped. After a successful invocation, each disk of the specified instance has a new snapshot created.\n\n\u003e **NOTE:** If you want to create a custom image based on the system disk of your ECS instance, you can specify one of the system disk snapshots (SnapshotId) to create a custom image. However, the specified snapshot cannot be created on or before July 15, 2013.\n\n\u003e **NOTE:** If you want to combine snapshots of multiple disks into an image template, you can specify DiskDeviceMapping to create a custom image.\n\nFor information about ECS Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ecs-2014-05-26-createimage).\n\n\u003e **NOTE:** Available since v1.64.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n architecture: \"x86_64\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n tags: {\n FinanceDept: \"FinanceDeptJoshua\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\",\n architecture=\"x86_64\",\n resource_group_id=default_get_resource_groups.ids[0],\n tags={\n \"FinanceDept\": \"FinanceDeptJoshua\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n Architecture = \"x86_64\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n Tags = \n {\n { \"FinanceDept\", \"FinanceDeptJoshua\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"FinanceDept\": pulumi.String(\"FinanceDeptJoshua\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .architecture(\"x86_64\")\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .tags(Map.of(\"FinanceDept\", \"FinanceDeptJoshua\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n architecture: x86_64\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n tags:\n FinanceDept: FinanceDeptJoshua\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/image:Image example \u003cid\u003e\n```\n\n", "properties": { "architecture": { "type": "string", @@ -158508,7 +161137,7 @@ } }, "alicloud:ecs/imageCopy:ImageCopy": { - "description": "Copies a custom image from one region to another. You can use copied images to perform operations in the target region, such as creating instances (RunInstances) and replacing system disks (ReplaceSystemDisk).\n\n\u003e **NOTE:** You can only copy the custom image when it is in the Available state.\n\n\u003e **NOTE:** You can only copy the image belonging to your Alibaba Cloud account. Images cannot be copied from one account to another.\n\n\u003e **NOTE:** If the copying is not completed, you cannot call DeleteImage to delete the image but you can call CancelCopyImage to cancel the copying.\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultImageCopy = new alicloud.ecs.ImageCopy(\"default\", {\n sourceImageId: defaultImage.id,\n sourceRegionId: \"cn-hangzhou\",\n imageName: \"terraform-example\",\n description: \"terraform-example\",\n tags: {\n FinanceDept: \"FinanceDeptJoshua\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_image_copy = alicloud.ecs.ImageCopy(\"default\",\n source_image_id=default_image.id,\n source_region_id=\"cn-hangzhou\",\n image_name=\"terraform-example\",\n description=\"terraform-example\",\n tags={\n \"FinanceDept\": \"FinanceDeptJoshua\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultImageCopy = new AliCloud.Ecs.ImageCopy(\"default\", new()\n {\n SourceImageId = defaultImage.Id,\n SourceRegionId = \"cn-hangzhou\",\n ImageName = \"terraform-example\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"FinanceDept\", \"FinanceDeptJoshua\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageCopy(ctx, \"default\", \u0026ecs.ImageCopyArgs{\n\t\t\tSourceImageId: defaultImage.ID(),\n\t\t\tSourceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"FinanceDept\": pulumi.String(\"FinanceDeptJoshua\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.ecs.ImageCopy;\nimport com.pulumi.alicloud.ecs.ImageCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultImageCopy = new ImageCopy(\"defaultImageCopy\", ImageCopyArgs.builder()\n .sourceImageId(defaultImage.id())\n .sourceRegionId(\"cn-hangzhou\")\n .imageName(\"terraform-example\")\n .description(\"terraform-example\")\n .tags(Map.of(\"FinanceDept\", \"FinanceDeptJoshua\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example\n description: terraform-example\n defaultImageCopy:\n type: alicloud:ecs:ImageCopy\n name: default\n properties:\n sourceImageId: ${defaultImage.id}\n sourceRegionId: cn-hangzhou\n imageName: terraform-example\n description: terraform-example\n tags:\n FinanceDept: FinanceDeptJoshua\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Attributes Reference0\n \n The following attributes are exported:\n \n* \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e - ID of the image.\n\n## Import\n\nimage can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageCopy:ImageCopy default m-uf66871ape***yg1q***\n```\n\n", + "description": "Copies a custom image from one region to another. You can use copied images to perform operations in the target region, such as creating instances (RunInstances) and replacing system disks (ReplaceSystemDisk).\n\n\u003e **NOTE:** You can only copy the custom image when it is in the Available state.\n\n\u003e **NOTE:** You can only copy the image belonging to your Alibaba Cloud account. Images cannot be copied from one account to another.\n\n\u003e **NOTE:** If the copying is not completed, you cannot call DeleteImage to delete the image but you can call CancelCopyImage to cancel the copying.\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultImageCopy = new alicloud.ecs.ImageCopy(\"default\", {\n sourceImageId: defaultImage.id,\n sourceRegionId: \"cn-hangzhou\",\n imageName: \"terraform-example\",\n description: \"terraform-example\",\n tags: {\n FinanceDept: \"FinanceDeptJoshua\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_image_copy = alicloud.ecs.ImageCopy(\"default\",\n source_image_id=default_image.id,\n source_region_id=\"cn-hangzhou\",\n image_name=\"terraform-example\",\n description=\"terraform-example\",\n tags={\n \"FinanceDept\": \"FinanceDeptJoshua\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultImageCopy = new AliCloud.Ecs.ImageCopy(\"default\", new()\n {\n SourceImageId = defaultImage.Id,\n SourceRegionId = \"cn-hangzhou\",\n ImageName = \"terraform-example\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"FinanceDept\", \"FinanceDeptJoshua\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageCopy(ctx, \"default\", \u0026ecs.ImageCopyArgs{\n\t\t\tSourceImageId: defaultImage.ID(),\n\t\t\tSourceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tImageName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"FinanceDept\": pulumi.String(\"FinanceDeptJoshua\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.ecs.ImageCopy;\nimport com.pulumi.alicloud.ecs.ImageCopyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultImageCopy = new ImageCopy(\"defaultImageCopy\", ImageCopyArgs.builder()\n .sourceImageId(defaultImage.id())\n .sourceRegionId(\"cn-hangzhou\")\n .imageName(\"terraform-example\")\n .description(\"terraform-example\")\n .tags(Map.of(\"FinanceDept\", \"FinanceDeptJoshua\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example\n description: terraform-example\n defaultImageCopy:\n type: alicloud:ecs:ImageCopy\n name: default\n properties:\n sourceImageId: ${defaultImage.id}\n sourceRegionId: cn-hangzhou\n imageName: terraform-example\n description: terraform-example\n tags:\n FinanceDept: FinanceDeptJoshua\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Attributes Reference0\n \n The following attributes are exported:\n \n* \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e - ID of the image.\n\n## Import\n\nimage can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageCopy:ImageCopy default m-uf66871ape***yg1q***\n```\n\n", "properties": { "deleteAutoSnapshot": { "type": "boolean" @@ -158665,7 +161294,7 @@ } }, "alicloud:ecs/imageExport:ImageExport": { - "description": "Export a custom image to the OSS bucket in the same region as the custom image.\n\n\u003e **NOTE:** If you create an ECS instance using a mirror image and create a system disk snapshot again, exporting a custom image created from the system disk snapshot is not supported.\n\n\u003e **NOTE:** Support for exporting custom images that include data disk snapshot information in the image. The number of data disks cannot exceed 4 and the maximum capacity of a single data disk cannot exceed 500 GiB.\n\n\u003e **NOTE:** Before exporting the image, you must authorize the cloud server ECS official service account to write OSS permissions through RAM.\n\n\u003e **NOTE:** Available since v1.68.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `example-value-${defaultInteger.result}`});\nconst defaultImageExport = new alicloud.ecs.ImageExport(\"default\", {\n imageId: defaultImage.id,\n ossBucket: defaultBucket.id,\n ossPrefix: \"ecsExport\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"example-value-{default_integer['result']}\")\ndefault_image_export = alicloud.ecs.ImageExport(\"default\",\n image_id=default_image.id,\n oss_bucket=default_bucket.id,\n oss_prefix=\"ecsExport\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultImageExport = new AliCloud.Ecs.ImageExport(\"default\", new()\n {\n ImageId = defaultImage.Id,\n OssBucket = defaultBucket.Id,\n OssPrefix = \"ecsExport\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageExport(ctx, \"default\", \u0026ecs.ImageExportArgs{\n\t\t\tImageId: defaultImage.ID(),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssPrefix: pulumi.String(\"ecsExport\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.ecs.ImageExport;\nimport com.pulumi.alicloud.ecs.ImageExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultImageExport = new ImageExport(\"defaultImageExport\", ImageExportArgs.builder()\n .imageId(defaultImage.id())\n .ossBucket(defaultBucket.id())\n .ossPrefix(\"ecsExport\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: example-value-${defaultInteger.result}\n defaultImageExport:\n type: alicloud:ecs:ImageExport\n name: default\n properties:\n imageId: ${defaultImage.id}\n ossBucket: ${defaultBucket.id}\n ossPrefix: ecsExport\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Export a custom image to the OSS bucket in the same region as the custom image.\n\n\u003e **NOTE:** If you create an ECS instance using a mirror image and create a system disk snapshot again, exporting a custom image created from the system disk snapshot is not supported.\n\n\u003e **NOTE:** Support for exporting custom images that include data disk snapshot information in the image. The number of data disks cannot exceed 4 and the maximum capacity of a single data disk cannot exceed 500 GiB.\n\n\u003e **NOTE:** Before exporting the image, you must authorize the cloud server ECS official service account to write OSS permissions through RAM.\n\n\u003e **NOTE:** Available since v1.68.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `example-value-${defaultInteger.result}`});\nconst defaultImageExport = new alicloud.ecs.ImageExport(\"default\", {\n imageId: defaultImage.id,\n ossBucket: defaultBucket.id,\n ossPrefix: \"ecsExport\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"example-value-{default_integer['result']}\")\ndefault_image_export = alicloud.ecs.ImageExport(\"default\",\n image_id=default_image.id,\n oss_bucket=default_bucket.id,\n oss_prefix=\"ecsExport\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultImageExport = new AliCloud.Ecs.ImageExport(\"default\", new()\n {\n ImageId = defaultImage.Id,\n OssBucket = defaultBucket.Id,\n OssPrefix = \"ecsExport\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageExport(ctx, \"default\", \u0026ecs.ImageExportArgs{\n\t\t\tImageId: defaultImage.ID(),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssPrefix: pulumi.String(\"ecsExport\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.ecs.ImageExport;\nimport com.pulumi.alicloud.ecs.ImageExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultImageExport = new ImageExport(\"defaultImageExport\", ImageExportArgs.builder()\n .imageId(defaultImage.id())\n .ossBucket(defaultBucket.id())\n .ossPrefix(\"ecsExport\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: example-value-${defaultInteger.result}\n defaultImageExport:\n type: alicloud:ecs:ImageExport\n name: default\n properties:\n imageId: ${defaultImage.id}\n ossBucket: ${defaultBucket.id}\n ossPrefix: ecsExport\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "imageId": { "type": "string", @@ -158728,7 +161357,7 @@ } }, "alicloud:ecs/imageImport:ImageImport": { - "description": "Provides a ECS Image Import resource.\n\nFor information about ECS Image Import and how to use it, see [What is Image Import](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ecs-2014-05-26-importimage).\n\n\u003e **NOTE:** Available since v1.69.0.\n\n\u003e **NOTE:** You must upload the image file to the object storage OSS in advance.\n\n\u003e **NOTE:** The region where the image is imported must be the same region as the OSS bucket where the image file is uploaded.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-image-import-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `${name}-${_default.result}`});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"fc/hello.zip\",\n content: ` # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\\\"hello world\\\\\"\n return 'hello world'\n`,\n});\nconst defaultImageImport = new alicloud.ecs.ImageImport(\"default\", {\n architecture: \"x86_64\",\n osType: \"linux\",\n platform: \"Ubuntu\",\n licenseType: \"Auto\",\n imageName: name,\n description: name,\n diskDeviceMappings: [{\n ossBucket: defaultBucket.id,\n ossObject: defaultBucketObject.id,\n diskImageSize: 5,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-image-import-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"{name}-{default['result']}\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"fc/hello.zip\",\n content=\"\"\" # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n\"\"\")\ndefault_image_import = alicloud.ecs.ImageImport(\"default\",\n architecture=\"x86_64\",\n os_type=\"linux\",\n platform=\"Ubuntu\",\n license_type=\"Auto\",\n image_name=name,\n description=name,\n disk_device_mappings=[{\n \"oss_bucket\": default_bucket.id,\n \"oss_object\": default_bucket_object.id,\n \"disk_image_size\": 5,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-image-import-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"fc/hello.zip\",\n Content = @\" # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"\"hello world\\\"\"\n return 'hello world'\n\",\n });\n\n var defaultImageImport = new AliCloud.Ecs.ImageImport(\"default\", new()\n {\n Architecture = \"x86_64\",\n OsType = \"linux\",\n Platform = \"Ubuntu\",\n LicenseType = \"Auto\",\n ImageName = name,\n Description = name,\n DiskDeviceMappings = new[]\n {\n new AliCloud.Ecs.Inputs.ImageImportDiskDeviceMappingArgs\n {\n OssBucket = defaultBucket.Id,\n OssObject = defaultBucketObject.Id,\n DiskImageSize = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-image-import-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"fc/hello.zip\"),\n\t\t\tContent: pulumi.String(\" # -*- coding: utf-8 -*-\\n def handler(event, context):\\n print \\\\\\\"hello world\\\\\\\"\\n return 'hello world'\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageImport(ctx, \"default\", \u0026ecs.ImageImportArgs{\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tOsType: pulumi.String(\"linux\"),\n\t\t\tPlatform: pulumi.String(\"Ubuntu\"),\n\t\t\tLicenseType: pulumi.String(\"Auto\"),\n\t\t\tImageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDiskDeviceMappings: ecs.ImageImportDiskDeviceMappingArray{\n\t\t\t\t\u0026ecs.ImageImportDiskDeviceMappingArgs{\n\t\t\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\t\t\tOssObject: defaultBucketObject.ID(),\n\t\t\t\t\tDiskImageSize: pulumi.Int(5),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.ecs.ImageImport;\nimport com.pulumi.alicloud.ecs.ImageImportArgs;\nimport com.pulumi.alicloud.ecs.inputs.ImageImportDiskDeviceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-image-import-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"fc/hello.zip\")\n .content(\"\"\"\n # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n \"\"\")\n .build());\n\n var defaultImageImport = new ImageImport(\"defaultImageImport\", ImageImportArgs.builder()\n .architecture(\"x86_64\")\n .osType(\"linux\")\n .platform(\"Ubuntu\")\n .licenseType(\"Auto\")\n .imageName(name)\n .description(name)\n .diskDeviceMappings(ImageImportDiskDeviceMappingArgs.builder()\n .ossBucket(defaultBucket.id())\n .ossObject(defaultBucketObject.id())\n .diskImageSize(5)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-image-import-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${default.result}\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: fc/hello.zip\n content: |2\n # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n defaultImageImport:\n type: alicloud:ecs:ImageImport\n name: default\n properties:\n architecture: x86_64\n osType: linux\n platform: Ubuntu\n licenseType: Auto\n imageName: ${name}\n description: ${name}\n diskDeviceMappings:\n - ossBucket: ${defaultBucket.id}\n ossObject: ${defaultBucketObject.id}\n diskImageSize: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Image Import can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageImport:ImageImport example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Image Import resource.\n\nFor information about ECS Image Import and how to use it, see [What is Image Import](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-ecs-2014-05-26-importimage).\n\n\u003e **NOTE:** Available since v1.69.0.\n\n\u003e **NOTE:** You must upload the image file to the object storage OSS in advance.\n\n\u003e **NOTE:** The region where the image is imported must be the same region as the OSS bucket where the image file is uploaded.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-image-import-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `${name}-${_default.result}`});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"fc/hello.zip\",\n content: ` # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\\\"hello world\\\\\"\n return 'hello world'\n`,\n});\nconst defaultImageImport = new alicloud.ecs.ImageImport(\"default\", {\n architecture: \"x86_64\",\n osType: \"linux\",\n platform: \"Ubuntu\",\n licenseType: \"Auto\",\n imageName: name,\n description: name,\n diskDeviceMappings: [{\n ossBucket: defaultBucket.id,\n ossObject: defaultBucketObject.id,\n diskImageSize: 5,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-image-import-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"{name}-{default['result']}\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"fc/hello.zip\",\n content=\"\"\" # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n\"\"\")\ndefault_image_import = alicloud.ecs.ImageImport(\"default\",\n architecture=\"x86_64\",\n os_type=\"linux\",\n platform=\"Ubuntu\",\n license_type=\"Auto\",\n image_name=name,\n description=name,\n disk_device_mappings=[{\n \"oss_bucket\": default_bucket.id,\n \"oss_object\": default_bucket_object.id,\n \"disk_image_size\": 5,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-image-import-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"fc/hello.zip\",\n Content = @\" # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"\"hello world\\\"\"\n return 'hello world'\n\",\n });\n\n var defaultImageImport = new AliCloud.Ecs.ImageImport(\"default\", new()\n {\n Architecture = \"x86_64\",\n OsType = \"linux\",\n Platform = \"Ubuntu\",\n LicenseType = \"Auto\",\n ImageName = name,\n Description = name,\n DiskDeviceMappings = new[]\n {\n new AliCloud.Ecs.Inputs.ImageImportDiskDeviceMappingArgs\n {\n OssBucket = defaultBucket.Id,\n OssObject = defaultBucketObject.Id,\n DiskImageSize = 5,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-image-import-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"fc/hello.zip\"),\n\t\t\tContent: pulumi.String(\" # -*- coding: utf-8 -*-\\n def handler(event, context):\\n print \\\\\\\"hello world\\\\\\\"\\n return 'hello world'\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewImageImport(ctx, \"default\", \u0026ecs.ImageImportArgs{\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tOsType: pulumi.String(\"linux\"),\n\t\t\tPlatform: pulumi.String(\"Ubuntu\"),\n\t\t\tLicenseType: pulumi.String(\"Auto\"),\n\t\t\tImageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDiskDeviceMappings: ecs.ImageImportDiskDeviceMappingArray{\n\t\t\t\t\u0026ecs.ImageImportDiskDeviceMappingArgs{\n\t\t\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\t\t\tOssObject: defaultBucketObject.ID(),\n\t\t\t\t\tDiskImageSize: pulumi.Int(5),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.ecs.ImageImport;\nimport com.pulumi.alicloud.ecs.ImageImportArgs;\nimport com.pulumi.alicloud.ecs.inputs.ImageImportDiskDeviceMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-image-import-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"fc/hello.zip\")\n .content(\"\"\"\n # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n \"\"\")\n .build());\n\n var defaultImageImport = new ImageImport(\"defaultImageImport\", ImageImportArgs.builder()\n .architecture(\"x86_64\")\n .osType(\"linux\")\n .platform(\"Ubuntu\")\n .licenseType(\"Auto\")\n .imageName(name)\n .description(name)\n .diskDeviceMappings(ImageImportDiskDeviceMappingArgs.builder()\n .ossBucket(defaultBucket.id())\n .ossObject(defaultBucketObject.id())\n .diskImageSize(5)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-image-import-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${default.result}\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: fc/hello.zip\n content: |2\n # -*- coding: utf-8 -*-\n def handler(event, context):\n print \\\"hello world\\\"\n return 'hello world'\n defaultImageImport:\n type: alicloud:ecs:ImageImport\n name: default\n properties:\n architecture: x86_64\n osType: linux\n platform: Ubuntu\n licenseType: Auto\n imageName: ${name}\n description: ${name}\n diskDeviceMappings:\n - ossBucket: ${defaultBucket.id}\n ossObject: ${defaultBucketObject.id}\n diskImageSize: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Image Import can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageImport:ImageImport example \u003cid\u003e\n```\n\n", "properties": { "architecture": { "type": "string", @@ -158920,7 +161549,7 @@ } }, "alicloud:ecs/imageSharePermission:ImageSharePermission": { - "description": "Manage image sharing permissions. You can share your custom image to other Alibaba Cloud users. The user can use the shared custom image to create ECS instances or replace the system disk of the instance.\n\n\u003e **NOTE:** You can only share your own custom images to other Alibaba Cloud users.\n\n\u003e **NOTE:** Each custom image can be shared with up to 50 Alibaba Cloud accounts. You can submit a ticket to share with more users.\n\n\u003e **NOTE:** After creating an ECS instance using a shared image, once the custom image owner releases the image sharing relationship or deletes the custom image, the instance cannot initialize the system disk.\n\n\u003e **NOTE:** Available in 1.68.0+.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst config = new pulumi.Config();\nconst anotherUid = config.get(\"anotherUid\") || \"123456789\";\nconst defaultImageSharePermission = new alicloud.ecs.ImageSharePermission(\"default\", {\n imageId: defaultImage.id,\n accountId: anotherUid,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\nconfig = pulumi.Config()\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"123456789\"\ndefault_image_share_permission = alicloud.ecs.ImageSharePermission(\"default\",\n image_id=default_image.id,\n account_id=another_uid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var config = new Config();\n var anotherUid = config.Get(\"anotherUid\") ?? \"123456789\";\n var defaultImageSharePermission = new AliCloud.Ecs.ImageSharePermission(\"default\", new()\n {\n ImageId = defaultImage.Id,\n AccountId = anotherUid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tanotherUid := \"123456789\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\t_, err = ecs.NewImageSharePermission(ctx, \"default\", \u0026ecs.ImageSharePermissionArgs{\n\t\t\tImageId: defaultImage.ID(),\n\t\t\tAccountId: pulumi.String(anotherUid),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.ecs.ImageSharePermission;\nimport com.pulumi.alicloud.ecs.ImageSharePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n final var anotherUid = config.get(\"anotherUid\").orElse(\"123456789\");\n var defaultImageSharePermission = new ImageSharePermission(\"defaultImageSharePermission\", ImageSharePermissionArgs.builder()\n .imageId(defaultImage.id())\n .accountId(anotherUid)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n anotherUid:\n type: string\n default: '123456789'\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultImageSharePermission:\n type: alicloud:ecs:ImageSharePermission\n name: default\n properties:\n imageId: ${defaultImage.id}\n accountId: ${anotherUid}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Attributes Reference0\n \n The following attributes are exported:\n \n* \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e - ID of the image. It formats as `\u003cimage_id\u003e:\u003caccount_id\u003e`\n\n## Import\n\nimage can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageSharePermission:ImageSharePermission default m-uf66yg1q:123456789\n```\n\n", + "description": "Manage image sharing permissions. You can share your custom image to other Alibaba Cloud users. The user can use the shared custom image to create ECS instances or replace the system disk of the instance.\n\n\u003e **NOTE:** You can only share your own custom images to other Alibaba Cloud users.\n\n\u003e **NOTE:** Each custom image can be shared with up to 50 Alibaba Cloud accounts. You can submit a ticket to share with more users.\n\n\u003e **NOTE:** After creating an ECS instance using a shared image, once the custom image owner releases the image sharing relationship or deletes the custom image, the instance cannot initialize the system disk.\n\n\u003e **NOTE:** Available in 1.68.0+.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst defaultGetInstanceTypes = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.sn1ne\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: \"terraform-example\",\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceName: \"terraform-example\",\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.ids?.[0]),\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.ids?.[0]),\n internetMaxBandwidthOut: 10,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultImage = new alicloud.ecs.Image(\"default\", {\n instanceId: defaultInstance.id,\n imageName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst config = new pulumi.Config();\nconst anotherUid = config.get(\"anotherUid\") || \"123456789\";\nconst defaultImageSharePermission = new alicloud.ecs.ImageSharePermission(\"default\", {\n imageId: defaultImage.id,\n accountId: anotherUid,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_zones(available_resource_creation=\"Instance\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=\"terraform-example\",\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n instance_name=\"terraform-example\",\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n instance_type=default_get_instance_types.ids[0],\n image_id=default_get_images.ids[0],\n internet_max_bandwidth_out=10)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_image = alicloud.ecs.Image(\"default\",\n instance_id=default_instance.id,\n image_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\nconfig = pulumi.Config()\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"123456789\"\ndefault_image_share_permission = alicloud.ecs.ImageSharePermission(\"default\",\n image_id=default_image.id,\n account_id=another_uid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = \"terraform-example\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceName = \"terraform-example\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Ids[0]),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Ids[0]),\n InternetMaxBandwidthOut = 10,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultImage = new AliCloud.Ecs.Image(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ImageName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var config = new Config();\n var anotherUid = config.Get(\"anotherUid\") ?? \"123456789\";\n var defaultImageSharePermission = new AliCloud.Ecs.ImageSharePermission(\"default\", new()\n {\n ImageId = defaultImage.Id,\n AccountId = anotherUid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Ids[0]),\n\t\t\tImageId: pulumi.String(defaultGetImages.Ids[0]),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultImage, err := ecs.NewImage(ctx, \"default\", \u0026ecs.ImageArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tImageName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tanotherUid := \"123456789\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\t_, err = ecs.NewImageSharePermission(ctx, \"default\", \u0026ecs.ImageSharePermissionArgs{\n\t\t\tImageId: defaultImage.ID(),\n\t\t\tAccountId: pulumi.String(anotherUid),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.Image;\nimport com.pulumi.alicloud.ecs.ImageArgs;\nimport com.pulumi.alicloud.ecs.ImageSharePermission;\nimport com.pulumi.alicloud.ecs.ImageSharePermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceName(\"terraform-example\")\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .instanceType(defaultGetInstanceTypes.ids()[0])\n .imageId(defaultGetImages.ids()[0])\n .internetMaxBandwidthOut(10)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .instanceId(defaultInstance.id())\n .imageName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n final var anotherUid = config.get(\"anotherUid\").orElse(\"123456789\");\n var defaultImageSharePermission = new ImageSharePermission(\"defaultImageSharePermission\", ImageSharePermissionArgs.builder()\n .imageId(defaultImage.id())\n .accountId(anotherUid)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n anotherUid:\n type: string\n default: '123456789'\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: terraform-example\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n instanceName: terraform-example\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n instanceType: ${defaultGetInstanceTypes.ids[0]}\n imageId: ${defaultGetImages.ids[0]}\n internetMaxBandwidthOut: 10\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultImage:\n type: alicloud:ecs:Image\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n imageName: terraform-example-${defaultInteger.result}\n description: terraform-example\n defaultImageSharePermission:\n type: alicloud:ecs:ImageSharePermission\n name: default\n properties:\n imageId: ${defaultImage.id}\n accountId: ${anotherUid}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.sn1ne\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Attributes Reference0\n \n The following attributes are exported:\n \n* \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e - ID of the image. It formats as `\u003cimage_id\u003e:\u003caccount_id\u003e`\n\n## Import\n\nimage can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/imageSharePermission:ImageSharePermission default m-uf66yg1q:123456789\n```\n\n", "properties": { "accountId": { "type": "string", @@ -158969,7 +161598,7 @@ } }, "alicloud:ecs/instance:Instance": { - "description": "Provides a ECS instance resource.\n\n\u003e **NOTE:** Available since v1.0.0\n\n\u003e **NOTE:** From version v1.213.0, you can specify \u003cspan pulumi-lang-nodejs=\"`launchTemplateId`\" pulumi-lang-dotnet=\"`LaunchTemplateId`\" pulumi-lang-go=\"`launchTemplateId`\" pulumi-lang-python=\"`launch_template_id`\" pulumi-lang-yaml=\"`launchTemplateId`\" pulumi-lang-java=\"`launchTemplateId`\"\u003e`launch_template_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`launchTemplateVersion`\" pulumi-lang-dotnet=\"`LaunchTemplateVersion`\" pulumi-lang-go=\"`launchTemplateVersion`\" pulumi-lang-python=\"`launch_template_version`\" pulumi-lang-yaml=\"`launchTemplateVersion`\" pulumi-lang-java=\"`launchTemplateVersion`\"\u003e`launch_template_version`\u003c/span\u003e to use a launch template. This eliminates the need to configure a large number of parameters every time you create instances.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst instanceType = config.get(\"instanceType\") || \"ecs.n4.large\";\nconst imageId = config.get(\"imageId\") || \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\n// Create a new ECS instance for VPC\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\n// Create a new ECS instance for a VPC\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n securityGroupName: name,\n description: \"foo\",\n vpcId: vpc.id,\n});\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"Hello KMS\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n availableInstanceType: instanceType,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.ecs.Instance(\"instance\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n securityGroups: [group].map(__item =\u003e __item.id),\n instanceType: instanceType,\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskName: name,\n systemDiskDescription: \"test_foo_system_disk_description\",\n imageId: imageId,\n instanceName: name,\n vswitchId: vswitch.id,\n internetMaxBandwidthOut: 10,\n dataDisks: [{\n name: \"disk2\",\n size: 20,\n category: \"cloud_efficiency\",\n description: \"disk2\",\n encrypted: true,\n kmsKeyId: key.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ninstance_type = config.get(\"instanceType\")\nif instance_type is None:\n instance_type = \"ecs.n4.large\"\nimage_id = config.get(\"imageId\")\nif image_id is None:\n image_id = \"ubuntu_18_04_64_20G_alibase_20190624.vhd\"\n# Create a new ECS instance for VPC\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\n# Create a new ECS instance for a VPC\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n security_group_name=name,\n description=\"foo\",\n vpc_id=vpc.id)\nkey = alicloud.kms.Key(\"key\",\n description=\"Hello KMS\",\n pending_window_in_days=7,\n status=\"Enabled\")\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\",\n available_instance_type=instance_type)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.ecs.Instance(\"instance\",\n availability_zone=default.zones[0].id,\n security_groups=[__item.id for __item in [group]],\n instance_type=instance_type,\n system_disk_category=\"cloud_efficiency\",\n system_disk_name=name,\n system_disk_description=\"test_foo_system_disk_description\",\n image_id=image_id,\n instance_name=name,\n vswitch_id=vswitch.id,\n internet_max_bandwidth_out=10,\n data_disks=[{\n \"name\": \"disk2\",\n \"size\": 20,\n \"category\": \"cloud_efficiency\",\n \"description\": \"disk2\",\n \"encrypted\": True,\n \"kms_key_id\": key.id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var instanceType = config.Get(\"instanceType\") ?? \"ecs.n4.large\";\n var imageId = config.Get(\"imageId\") ?? \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\n // Create a new ECS instance for VPC\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // Create a new ECS instance for a VPC\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n SecurityGroupName = name,\n Description = \"foo\",\n VpcId = vpc.Id,\n });\n\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"Hello KMS\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n AvailableInstanceType = instanceType,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Ecs.Instance(\"instance\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n SecurityGroups = new[]\n {\n @group,\n }.Select(__item =\u003e __item.Id).ToList(),\n InstanceType = instanceType,\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskName = name,\n SystemDiskDescription = \"test_foo_system_disk_description\",\n ImageId = imageId,\n InstanceName = name,\n VswitchId = vswitch.Id,\n InternetMaxBandwidthOut = 10,\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.InstanceDataDiskArgs\n {\n Name = \"disk2\",\n Size = 20,\n Category = \"cloud_efficiency\",\n Description = \"disk2\",\n Encrypted = true,\n KmsKeyId = key.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ninstanceType := \"ecs.n4.large\";\nif param := cfg.Get(\"instanceType\"); param != \"\"{\ninstanceType = param\n}\nimageId := \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\nif param := cfg.Get(\"imageId\"); param != \"\"{\nimageId = param\n}\n// Create a new ECS instance for VPC\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\n// Create a new ECS instance for a VPC\ngroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nDescription: pulumi.String(\"foo\"),\nVpcId: vpc.ID(),\n})\nif err != nil {\nreturn err\n}\nkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\nDescription: pulumi.String(\"Hello KMS\"),\nPendingWindowInDays: pulumi.Int(7),\nStatus: pulumi.String(\"Enabled\"),\n})\nif err != nil {\nreturn err\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\nAvailableInstanceType: pulumi.StringRef(instanceType),\n}, nil);\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: vpc.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewInstance(ctx, \"instance\", \u0026ecs.InstanceArgs{\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nSecurityGroups: splat0,\nInstanceType: pulumi.String(instanceType),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskName: pulumi.String(name),\nSystemDiskDescription: pulumi.String(\"test_foo_system_disk_description\"),\nImageId: pulumi.String(imageId),\nInstanceName: pulumi.String(name),\nVswitchId: vswitch.ID(),\nInternetMaxBandwidthOut: pulumi.Int(10),\nDataDisks: ecs.InstanceDataDiskArray{\n\u0026ecs.InstanceDataDiskArgs{\nName: pulumi.String(\"disk2\"),\nSize: pulumi.Int(20),\nCategory: pulumi.String(\"cloud_efficiency\"),\nDescription: pulumi.String(\"disk2\"),\nEncrypted: pulumi.Bool(true),\nKmsKeyId: key.ID(),\n},\n},\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var instanceType = config.get(\"instanceType\").orElse(\"ecs.n4.large\");\n final var imageId = config.get(\"imageId\").orElse(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\");\n // Create a new ECS instance for VPC\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // Create a new ECS instance for a VPC\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .description(\"foo\")\n .vpcId(vpc.id())\n .build());\n\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .availableInstanceType(instanceType)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .securityGroups(group.stream().map(element -\u003e element.id()).collect(toList()))\n .instanceType(instanceType)\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskName(name)\n .systemDiskDescription(\"test_foo_system_disk_description\")\n .imageId(imageId)\n .instanceName(name)\n .vswitchId(vswitch.id())\n .internetMaxBandwidthOut(10)\n .dataDisks(InstanceDataDiskArgs.builder()\n .name(\"disk2\")\n .size(20)\n .category(\"cloud_efficiency\")\n .description(\"disk2\")\n .encrypted(true)\n .kmsKeyId(key.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing ecs-instance module\nto create several ECS instances one-click.\n\n## Import\n\nInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/instance:Instance example i-abc12345678\n```\n\n", + "description": "Provides a ECS instance resource.\n\n\u003e **NOTE:** Available since v1.0.0\n\n\u003e **NOTE:** From version v1.213.0, you can specify \u003cspan pulumi-lang-nodejs=\"`launchTemplateId`\" pulumi-lang-dotnet=\"`LaunchTemplateId`\" pulumi-lang-go=\"`launchTemplateId`\" pulumi-lang-python=\"`launch_template_id`\" pulumi-lang-yaml=\"`launchTemplateId`\" pulumi-lang-java=\"`launchTemplateId`\"\u003e`launch_template_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`launchTemplateVersion`\" pulumi-lang-dotnet=\"`LaunchTemplateVersion`\" pulumi-lang-go=\"`launchTemplateVersion`\" pulumi-lang-python=\"`launch_template_version`\" pulumi-lang-yaml=\"`launchTemplateVersion`\" pulumi-lang-java=\"`launchTemplateVersion`\"\u003e`launch_template_version`\u003c/span\u003e to use a launch template. This eliminates the need to configure a large number of parameters every time you create instances.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst instanceType = config.get(\"instanceType\") || \"ecs.n4.large\";\nconst imageId = config.get(\"imageId\") || \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\n// Create a new ECS instance for VPC\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\n// Create a new ECS instance for a VPC\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n securityGroupName: name,\n description: \"foo\",\n vpcId: vpc.id,\n});\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"Hello KMS\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n availableInstanceType: instanceType,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.ecs.Instance(\"instance\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n securityGroups: [group].map(__item =\u003e __item.id),\n instanceType: instanceType,\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskName: name,\n systemDiskDescription: \"test_foo_system_disk_description\",\n imageId: imageId,\n instanceName: name,\n vswitchId: vswitch.id,\n internetMaxBandwidthOut: 10,\n dataDisks: [{\n name: \"disk2\",\n size: 20,\n category: \"cloud_efficiency\",\n description: \"disk2\",\n encrypted: true,\n kmsKeyId: key.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ninstance_type = config.get(\"instanceType\")\nif instance_type is None:\n instance_type = \"ecs.n4.large\"\nimage_id = config.get(\"imageId\")\nif image_id is None:\n image_id = \"ubuntu_18_04_64_20G_alibase_20190624.vhd\"\n# Create a new ECS instance for VPC\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\n# Create a new ECS instance for a VPC\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n security_group_name=name,\n description=\"foo\",\n vpc_id=vpc.id)\nkey = alicloud.kms.Key(\"key\",\n description=\"Hello KMS\",\n pending_window_in_days=7,\n status=\"Enabled\")\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\",\n available_instance_type=instance_type)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.ecs.Instance(\"instance\",\n availability_zone=default.zones[0].id,\n security_groups=[__item.id for __item in [group]],\n instance_type=instance_type,\n system_disk_category=\"cloud_efficiency\",\n system_disk_name=name,\n system_disk_description=\"test_foo_system_disk_description\",\n image_id=image_id,\n instance_name=name,\n vswitch_id=vswitch.id,\n internet_max_bandwidth_out=10,\n data_disks=[{\n \"name\": \"disk2\",\n \"size\": 20,\n \"category\": \"cloud_efficiency\",\n \"description\": \"disk2\",\n \"encrypted\": True,\n \"kms_key_id\": key.id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var instanceType = config.Get(\"instanceType\") ?? \"ecs.n4.large\";\n var imageId = config.Get(\"imageId\") ?? \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\n // Create a new ECS instance for VPC\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // Create a new ECS instance for a VPC\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n SecurityGroupName = name,\n Description = \"foo\",\n VpcId = vpc.Id,\n });\n\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"Hello KMS\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n AvailableInstanceType = instanceType,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Ecs.Instance(\"instance\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n SecurityGroups = new[]\n {\n @group,\n }.Select(__item =\u003e __item.Id).ToList(),\n InstanceType = instanceType,\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskName = name,\n SystemDiskDescription = \"test_foo_system_disk_description\",\n ImageId = imageId,\n InstanceName = name,\n VswitchId = vswitch.Id,\n InternetMaxBandwidthOut = 10,\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.InstanceDataDiskArgs\n {\n Name = \"disk2\",\n Size = 20,\n Category = \"cloud_efficiency\",\n Description = \"disk2\",\n Encrypted = true,\n KmsKeyId = key.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ninstanceType := \"ecs.n4.large\";\nif param := cfg.Get(\"instanceType\"); param != \"\"{\ninstanceType = param\n}\nimageId := \"ubuntu_18_04_64_20G_alibase_20190624.vhd\";\nif param := cfg.Get(\"imageId\"); param != \"\"{\nimageId = param\n}\n// Create a new ECS instance for VPC\nvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\n// Create a new ECS instance for a VPC\ngroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nDescription: pulumi.String(\"foo\"),\nVpcId: vpc.ID(),\n})\nif err != nil {\nreturn err\n}\nkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\nDescription: pulumi.String(\"Hello KMS\"),\nPendingWindowInDays: pulumi.Int(7),\nStatus: pulumi.String(\"Enabled\"),\n})\nif err != nil {\nreturn err\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\nAvailableInstanceType: pulumi.StringRef(instanceType),\n}, nil);\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: vpc.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewInstance(ctx, \"instance\", \u0026ecs.InstanceArgs{\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nSecurityGroups: splat0,\nInstanceType: pulumi.String(instanceType),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nSystemDiskName: pulumi.String(name),\nSystemDiskDescription: pulumi.String(\"test_foo_system_disk_description\"),\nImageId: pulumi.String(imageId),\nInstanceName: pulumi.String(name),\nVswitchId: vswitch.ID(),\nInternetMaxBandwidthOut: pulumi.Int(10),\nDataDisks: ecs.InstanceDataDiskArray{\n\u0026ecs.InstanceDataDiskArgs{\nName: pulumi.String(\"disk2\"),\nSize: pulumi.Int(20),\nCategory: pulumi.String(\"cloud_efficiency\"),\nDescription: pulumi.String(\"disk2\"),\nEncrypted: pulumi.Bool(true),\nKmsKeyId: key.ID(),\n},\n},\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var instanceType = config.get(\"instanceType\").orElse(\"ecs.n4.large\");\n final var imageId = config.get(\"imageId\").orElse(\"ubuntu_18_04_64_20G_alibase_20190624.vhd\");\n // Create a new ECS instance for VPC\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // Create a new ECS instance for a VPC\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .description(\"foo\")\n .vpcId(vpc.id())\n .build());\n\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .availableInstanceType(instanceType)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .securityGroups(group.stream().map(element -\u003e element.id()).collect(toList()))\n .instanceType(instanceType)\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskName(name)\n .systemDiskDescription(\"test_foo_system_disk_description\")\n .imageId(imageId)\n .instanceName(name)\n .vswitchId(vswitch.id())\n .internetMaxBandwidthOut(10)\n .dataDisks(InstanceDataDiskArgs.builder()\n .name(\"disk2\")\n .size(20)\n .category(\"cloud_efficiency\")\n .description(\"disk2\")\n .encrypted(true)\n .kmsKeyId(key.id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing ecs-instance module\nto create several ECS instances one-click.\n\n## Import\n\nInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/instance:Instance example i-abc12345678\n```\n\n", "properties": { "allocatePublicIp": { "type": "boolean", @@ -158992,6 +161621,10 @@ "type": "integer", "description": "The number of vCPUs.\n" }, + "cpuOptions": { + "$ref": "#/types/alicloud:ecs/InstanceCpuOptions:InstanceCpuOptions", + "description": "The options of cpu. See \u003cspan pulumi-lang-nodejs=\"`cpuOptions`\" pulumi-lang-dotnet=\"`CpuOptions`\" pulumi-lang-go=\"`cpuOptions`\" pulumi-lang-python=\"`cpu_options`\" pulumi-lang-yaml=\"`cpuOptions`\" pulumi-lang-java=\"`cpuOptions`\"\u003e`cpu_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + }, "createTime": { "type": "string", "description": "(Available since v1.232.0) The time when the instance was created.\n" @@ -159069,7 +161702,7 @@ }, "imageOptions": { "$ref": "#/types/alicloud:ecs/InstanceImageOptions:InstanceImageOptions", - "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n" }, "includeDataDisks": { "type": "boolean", @@ -159367,6 +162000,7 @@ "required": [ "availabilityZone", "cpu", + "cpuOptions", "createTime", "creditSpecification", "deploymentSetGroupNo", @@ -159444,6 +162078,10 @@ "description": "The Zone to start the instance in. It is ignored and will be computed when set \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e.\n", "willReplaceOnChanges": true }, + "cpuOptions": { + "$ref": "#/types/alicloud:ecs/InstanceCpuOptions:InstanceCpuOptions", + "description": "The options of cpu. See \u003cspan pulumi-lang-nodejs=\"`cpuOptions`\" pulumi-lang-dotnet=\"`CpuOptions`\" pulumi-lang-go=\"`cpuOptions`\" pulumi-lang-python=\"`cpu_options`\" pulumi-lang-yaml=\"`cpuOptions`\" pulumi-lang-java=\"`cpuOptions`\"\u003e`cpu_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + }, "creditSpecification": { "type": "string", "description": "Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'.\n" @@ -159512,7 +162150,7 @@ }, "imageOptions": { "$ref": "#/types/alicloud:ecs/InstanceImageOptions:InstanceImageOptions", - "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n" }, "includeDataDisks": { "type": "boolean", @@ -159817,6 +162455,10 @@ "type": "integer", "description": "The number of vCPUs.\n" }, + "cpuOptions": { + "$ref": "#/types/alicloud:ecs/InstanceCpuOptions:InstanceCpuOptions", + "description": "The options of cpu. See \u003cspan pulumi-lang-nodejs=\"`cpuOptions`\" pulumi-lang-dotnet=\"`CpuOptions`\" pulumi-lang-go=\"`cpuOptions`\" pulumi-lang-python=\"`cpu_options`\" pulumi-lang-yaml=\"`cpuOptions`\" pulumi-lang-java=\"`cpuOptions`\"\u003e`cpu_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + }, "createTime": { "type": "string", "description": "(Available since v1.232.0) The time when the instance was created.\n" @@ -159897,7 +162539,7 @@ }, "imageOptions": { "$ref": "#/types/alicloud:ecs/InstanceImageOptions:InstanceImageOptions", - "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n\n\u003e **NOTE:** System disk category \u003cspan pulumi-lang-nodejs=\"`cloud`\" pulumi-lang-dotnet=\"`Cloud`\" pulumi-lang-go=\"`cloud`\" pulumi-lang-python=\"`cloud`\" pulumi-lang-yaml=\"`cloud`\" pulumi-lang-java=\"`cloud`\"\u003e`cloud`\u003c/span\u003e has been outdated and it only can be used none I/O Optimized ECS instances. Recommend \u003cspan pulumi-lang-nodejs=\"`cloudEfficiency`\" pulumi-lang-dotnet=\"`CloudEfficiency`\" pulumi-lang-go=\"`cloudEfficiency`\" pulumi-lang-python=\"`cloud_efficiency`\" pulumi-lang-yaml=\"`cloudEfficiency`\" pulumi-lang-java=\"`cloudEfficiency`\"\u003e`cloud_efficiency`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e disk.\n\n\u003e **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`periodUnit`\" pulumi-lang-dotnet=\"`PeriodUnit`\" pulumi-lang-go=\"`periodUnit`\" pulumi-lang-python=\"`period_unit`\" pulumi-lang-yaml=\"`periodUnit`\" pulumi-lang-java=\"`periodUnit`\"\u003e`period_unit`\u003c/span\u003e, but it is irreversible.\n\n\u003e **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance.\n\n\u003e **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect.\n\n\u003e **NOTE:** From version 1.7.0, setting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e larger than 0 can allocate a public IP for an instance.\nSetting \u003cspan pulumi-lang-nodejs=\"\"internetMaxBandwidthOut\"\" pulumi-lang-dotnet=\"\"InternetMaxBandwidthOut\"\" pulumi-lang-go=\"\"internetMaxBandwidthOut\"\" pulumi-lang-python=\"\"internet_max_bandwidth_out\"\" pulumi-lang-yaml=\"\"internetMaxBandwidthOut\"\" pulumi-lang-java=\"\"internetMaxBandwidthOut\"\"\u003e\"internet_max_bandwidth_out\"\u003c/span\u003e to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0).\nHowever, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is \"PayByBandwidth\".\n\n\u003e **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect.\n" + "description": "The options of images. See \u003cspan pulumi-lang-nodejs=\"`imageOptions`\" pulumi-lang-dotnet=\"`ImageOptions`\" pulumi-lang-go=\"`imageOptions`\" pulumi-lang-python=\"`image_options`\" pulumi-lang-yaml=\"`imageOptions`\" pulumi-lang-java=\"`imageOptions`\"\u003e`image_options`\u003c/span\u003e below.\n" }, "includeDataDisks": { "type": "boolean", @@ -160213,7 +162855,7 @@ } }, "alicloud:ecs/keyPair:KeyPair": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-dotnet=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-go=\" ecs.EcsKeyPair \" pulumi-lang-python=\" ecs.EcsKeyPair \" pulumi-lang-yaml=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-java=\" alicloud.ecs.EcsKeyPair \"\u003e alicloud.ecs.EcsKeyPair \u003c/span\u003efrom version 1.121.0.\n\nProvides a key pair resource.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst basic = new alicloud.ecs.KeyPair(\"basic\", {keyName: \"terraform-test-key-pair\"});\n// Using name prefix to build key pair\nconst prefix = new alicloud.ecs.KeyPair(\"prefix\", {keyNamePrefix: \"terraform-test-key-pair-prefix\"});\n// Import an existing public key to build a alicloud key pair\nconst publickey = new alicloud.ecs.KeyPair(\"publickey\", {\n keyName: \"my_public_key\",\n publicKey: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nbasic = alicloud.ecs.KeyPair(\"basic\", key_name=\"terraform-test-key-pair\")\n# Using name prefix to build key pair\nprefix = alicloud.ecs.KeyPair(\"prefix\", key_name_prefix=\"terraform-test-key-pair-prefix\")\n# Import an existing public key to build a alicloud key pair\npublickey = alicloud.ecs.KeyPair(\"publickey\",\n key_name=\"my_public_key\",\n public_key=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new AliCloud.Ecs.KeyPair(\"basic\", new()\n {\n KeyName = \"terraform-test-key-pair\",\n });\n\n // Using name prefix to build key pair\n var prefix = new AliCloud.Ecs.KeyPair(\"prefix\", new()\n {\n KeyNamePrefix = \"terraform-test-key-pair-prefix\",\n });\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new AliCloud.Ecs.KeyPair(\"publickey\", new()\n {\n KeyName = \"my_public_key\",\n PublicKey = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewKeyPair(ctx, \"basic\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"terraform-test-key-pair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using name prefix to build key pair\n\t\t_, err = ecs.NewKeyPair(ctx, \"prefix\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyNamePrefix: pulumi.String(\"terraform-test-key-pair-prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Import an existing public key to build a alicloud key pair\n\t\t_, err = ecs.NewKeyPair(ctx, \"publickey\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"my_public_key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new KeyPair(\"basic\", KeyPairArgs.builder()\n .keyName(\"terraform-test-key-pair\")\n .build());\n\n // Using name prefix to build key pair\n var prefix = new KeyPair(\"prefix\", KeyPairArgs.builder()\n .keyNamePrefix(\"terraform-test-key-pair-prefix\")\n .build());\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new KeyPair(\"publickey\", KeyPairArgs.builder()\n .keyName(\"my_public_key\")\n .publicKey(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: alicloud:ecs:KeyPair\n properties:\n keyName: terraform-test-key-pair\n # Using name prefix to build key pair\n prefix:\n type: alicloud:ecs:KeyPair\n properties:\n keyNamePrefix: terraform-test-key-pair-prefix\n # Import an existing public key to build a alicloud key pair\n publickey:\n type: alicloud:ecs:KeyPair\n properties:\n keyName: my_public_key\n publicKey: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey pair can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/keyPair:KeyPair example my_public_key\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-dotnet=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-go=\" ecs.EcsKeyPair \" pulumi-lang-python=\" ecs.EcsKeyPair \" pulumi-lang-yaml=\" alicloud.ecs.EcsKeyPair \" pulumi-lang-java=\" alicloud.ecs.EcsKeyPair \"\u003e alicloud.ecs.EcsKeyPair \u003c/span\u003efrom version 1.121.0.\n\nProvides a key pair resource.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst basic = new alicloud.ecs.KeyPair(\"basic\", {keyName: \"terraform-test-key-pair\"});\n// Using name prefix to build key pair\nconst prefix = new alicloud.ecs.KeyPair(\"prefix\", {keyNamePrefix: \"terraform-test-key-pair-prefix\"});\n// Import an existing public key to build a alicloud key pair\nconst publickey = new alicloud.ecs.KeyPair(\"publickey\", {\n keyName: \"my_public_key\",\n publicKey: \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nbasic = alicloud.ecs.KeyPair(\"basic\", key_name=\"terraform-test-key-pair\")\n# Using name prefix to build key pair\nprefix = alicloud.ecs.KeyPair(\"prefix\", key_name_prefix=\"terraform-test-key-pair-prefix\")\n# Import an existing public key to build a alicloud key pair\npublickey = alicloud.ecs.KeyPair(\"publickey\",\n key_name=\"my_public_key\",\n public_key=\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var basic = new AliCloud.Ecs.KeyPair(\"basic\", new()\n {\n KeyName = \"terraform-test-key-pair\",\n });\n\n // Using name prefix to build key pair\n var prefix = new AliCloud.Ecs.KeyPair(\"prefix\", new()\n {\n KeyNamePrefix = \"terraform-test-key-pair-prefix\",\n });\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new AliCloud.Ecs.KeyPair(\"publickey\", new()\n {\n KeyName = \"my_public_key\",\n PublicKey = \"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewKeyPair(ctx, \"basic\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"terraform-test-key-pair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using name prefix to build key pair\n\t\t_, err = ecs.NewKeyPair(ctx, \"prefix\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyNamePrefix: pulumi.String(\"terraform-test-key-pair-prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Import an existing public key to build a alicloud key pair\n\t\t_, err = ecs.NewKeyPair(ctx, \"publickey\", \u0026ecs.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"my_public_key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.KeyPair;\nimport com.pulumi.alicloud.ecs.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var basic = new KeyPair(\"basic\", KeyPairArgs.builder()\n .keyName(\"terraform-test-key-pair\")\n .build());\n\n // Using name prefix to build key pair\n var prefix = new KeyPair(\"prefix\", KeyPairArgs.builder()\n .keyNamePrefix(\"terraform-test-key-pair-prefix\")\n .build());\n\n // Import an existing public key to build a alicloud key pair\n var publickey = new KeyPair(\"publickey\", KeyPairArgs.builder()\n .keyName(\"my_public_key\")\n .publicKey(\"ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n basic:\n type: alicloud:ecs:KeyPair\n properties:\n keyName: terraform-test-key-pair\n # Using name prefix to build key pair\n prefix:\n type: alicloud:ecs:KeyPair\n properties:\n keyNamePrefix: terraform-test-key-pair-prefix\n # Import an existing public key to build a alicloud key pair\n publickey:\n type: alicloud:ecs:KeyPair\n properties:\n keyName: my_public_key\n publicKey: ssh-rsa AAAAB3Nza12345678qwertyuudsfsg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKey pair can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/keyPair:KeyPair example my_public_key\n```\n\n", "properties": { "createTime": { "type": "string" @@ -160426,7 +163068,7 @@ } }, "alicloud:ecs/launchTemplate:LaunchTemplate": { - "description": "Provides an ECS Launch Template resource.\n\nFor information about Launch Template and how to use it, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html).\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.120.0`. Please use new resource alicloud_ecs_launch_template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst images = alicloud.ecs.getImages({\n owners: \"system\",\n});\nconst instances = alicloud.ecs.getInstances({});\nconst template = new alicloud.ecs.LaunchTemplate(\"template\", {\n name: \"tf-test-template\",\n description: \"test1\",\n imageId: images.then(images =\u003e images.images?.[0]?.id),\n hostName: \"tf-test-host\",\n instanceChargeType: \"PrePaid\",\n instanceName: \"tf-instance-name\",\n instanceType: instances.then(instances =\u003e instances.instances?.[0]?.instanceType),\n internetChargeType: \"PayByBandwidth\",\n internetMaxBandwidthIn: 5,\n internetMaxBandwidthOut: 0,\n ioOptimized: \"none\",\n keyPairName: \"test-key-pair\",\n ramRoleName: \"xxxxx\",\n networkType: \"vpc\",\n securityEnhancementStrategy: \"Active\",\n spotPriceLimit: 5,\n spotStrategy: \"SpotWithPriceLimit\",\n securityGroupId: \"sg-zxcvj0lasdf102350asdf9a\",\n systemDiskCategory: \"cloud_ssd\",\n systemDiskDescription: \"test disk\",\n systemDiskName: \"hello\",\n systemDiskSize: 40,\n resourceGroupId: \"rg-zkdfjahg9zxncv0\",\n userdata: \"xxxxxxxxxxxxxx\",\n vswitchId: \"sw-ljkngaksdjfj0nnasdf\",\n vpcId: \"vpc-asdfnbg0as8dfk1nb2\",\n zoneId: \"beijing-a\",\n tags: {\n tag1: \"hello\",\n tag2: \"world\",\n },\n networkInterfaces: {\n name: \"eth0\",\n description: \"hello1\",\n primaryIp: \"10.0.0.2\",\n securityGroupId: \"xxxx\",\n vswitchId: \"xxxxxxx\",\n },\n dataDisks: [\n {\n name: \"disk1\",\n description: \"test1\",\n },\n {\n name: \"disk2\",\n description: \"test2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nimages = alicloud.ecs.get_images(owners=\"system\")\ninstances = alicloud.ecs.get_instances()\ntemplate = alicloud.ecs.LaunchTemplate(\"template\",\n name=\"tf-test-template\",\n description=\"test1\",\n image_id=images.images[0].id,\n host_name=\"tf-test-host\",\n instance_charge_type=\"PrePaid\",\n instance_name=\"tf-instance-name\",\n instance_type=instances.instances[0].instance_type,\n internet_charge_type=\"PayByBandwidth\",\n internet_max_bandwidth_in=5,\n internet_max_bandwidth_out=0,\n io_optimized=\"none\",\n key_pair_name=\"test-key-pair\",\n ram_role_name=\"xxxxx\",\n network_type=\"vpc\",\n security_enhancement_strategy=\"Active\",\n spot_price_limit=5,\n spot_strategy=\"SpotWithPriceLimit\",\n security_group_id=\"sg-zxcvj0lasdf102350asdf9a\",\n system_disk_category=\"cloud_ssd\",\n system_disk_description=\"test disk\",\n system_disk_name=\"hello\",\n system_disk_size=40,\n resource_group_id=\"rg-zkdfjahg9zxncv0\",\n userdata=\"xxxxxxxxxxxxxx\",\n vswitch_id=\"sw-ljkngaksdjfj0nnasdf\",\n vpc_id=\"vpc-asdfnbg0as8dfk1nb2\",\n zone_id=\"beijing-a\",\n tags={\n \"tag1\": \"hello\",\n \"tag2\": \"world\",\n },\n network_interfaces={\n \"name\": \"eth0\",\n \"description\": \"hello1\",\n \"primary_ip\": \"10.0.0.2\",\n \"security_group_id\": \"xxxx\",\n \"vswitch_id\": \"xxxxxxx\",\n },\n data_disks=[\n {\n \"name\": \"disk1\",\n \"description\": \"test1\",\n },\n {\n \"name\": \"disk2\",\n \"description\": \"test2\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var images = AliCloud.Ecs.GetImages.Invoke(new()\n {\n Owners = \"system\",\n });\n\n var instances = AliCloud.Ecs.GetInstances.Invoke();\n\n var template = new AliCloud.Ecs.LaunchTemplate(\"template\", new()\n {\n Name = \"tf-test-template\",\n Description = \"test1\",\n ImageId = images.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n HostName = \"tf-test-host\",\n InstanceChargeType = \"PrePaid\",\n InstanceName = \"tf-instance-name\",\n InstanceType = instances.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.InstanceType),\n InternetChargeType = \"PayByBandwidth\",\n InternetMaxBandwidthIn = 5,\n InternetMaxBandwidthOut = 0,\n IoOptimized = \"none\",\n KeyPairName = \"test-key-pair\",\n RamRoleName = \"xxxxx\",\n NetworkType = \"vpc\",\n SecurityEnhancementStrategy = \"Active\",\n SpotPriceLimit = 5,\n SpotStrategy = \"SpotWithPriceLimit\",\n SecurityGroupId = \"sg-zxcvj0lasdf102350asdf9a\",\n SystemDiskCategory = \"cloud_ssd\",\n SystemDiskDescription = \"test disk\",\n SystemDiskName = \"hello\",\n SystemDiskSize = 40,\n ResourceGroupId = \"rg-zkdfjahg9zxncv0\",\n Userdata = \"xxxxxxxxxxxxxx\",\n VswitchId = \"sw-ljkngaksdjfj0nnasdf\",\n VpcId = \"vpc-asdfnbg0as8dfk1nb2\",\n ZoneId = \"beijing-a\",\n Tags = \n {\n { \"tag1\", \"hello\" },\n { \"tag2\", \"world\" },\n },\n NetworkInterfaces = new AliCloud.Ecs.Inputs.LaunchTemplateNetworkInterfacesArgs\n {\n Name = \"eth0\",\n Description = \"hello1\",\n PrimaryIp = \"10.0.0.2\",\n SecurityGroupId = \"xxxx\",\n VswitchId = \"xxxxxxx\",\n },\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.LaunchTemplateDataDiskArgs\n {\n Name = \"disk1\",\n Description = \"test1\",\n },\n new AliCloud.Ecs.Inputs.LaunchTemplateDataDiskArgs\n {\n Name = \"disk2\",\n Description = \"test2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstances, err := ecs.GetInstances(ctx, \u0026ecs.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewLaunchTemplate(ctx, \"template\", \u0026ecs.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"tf-test-template\"),\n\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t\tImageId: pulumi.String(images.Images[0].Id),\n\t\t\tHostName: pulumi.String(\"tf-test-host\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PrePaid\"),\n\t\t\tInstanceName: pulumi.String(\"tf-instance-name\"),\n\t\t\tInstanceType: pulumi.String(instances.Instances[0].InstanceType),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tInternetMaxBandwidthIn: pulumi.Int(5),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(0),\n\t\t\tIoOptimized: pulumi.String(\"none\"),\n\t\t\tKeyPairName: pulumi.String(\"test-key-pair\"),\n\t\t\tRamRoleName: pulumi.String(\"xxxxx\"),\n\t\t\tNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tSpotPriceLimit: pulumi.Float64(5),\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-zxcvj0lasdf102350asdf9a\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\tSystemDiskDescription: pulumi.String(\"test disk\"),\n\t\t\tSystemDiskName: pulumi.String(\"hello\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tResourceGroupId: pulumi.String(\"rg-zkdfjahg9zxncv0\"),\n\t\t\tUserdata: pulumi.String(\"xxxxxxxxxxxxxx\"),\n\t\t\tVswitchId: pulumi.String(\"sw-ljkngaksdjfj0nnasdf\"),\n\t\t\tVpcId: pulumi.String(\"vpc-asdfnbg0as8dfk1nb2\"),\n\t\t\tZoneId: pulumi.String(\"beijing-a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"hello\"),\n\t\t\t\t\"tag2\": pulumi.String(\"world\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: \u0026ecs.LaunchTemplateNetworkInterfacesArgs{\n\t\t\t\tName: pulumi.String(\"eth0\"),\n\t\t\t\tDescription: pulumi.String(\"hello1\"),\n\t\t\t\tPrimaryIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tSecurityGroupId: pulumi.String(\"xxxx\"),\n\t\t\t\tVswitchId: pulumi.String(\"xxxxxxx\"),\n\t\t\t},\n\t\t\tDataDisks: ecs.LaunchTemplateDataDiskArray{\n\t\t\t\t\u0026ecs.LaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk1\"),\n\t\t\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t\t\t},\n\t\t\t\t\u0026ecs.LaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk2\"),\n\t\t\t\t\tDescription: pulumi.String(\"test2\"),\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.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.ecs.LaunchTemplate;\nimport com.pulumi.alicloud.ecs.LaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.inputs.LaunchTemplateNetworkInterfacesArgs;\nimport com.pulumi.alicloud.ecs.inputs.LaunchTemplateDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var images = EcsFunctions.getImages(GetImagesArgs.builder()\n .owners(\"system\")\n .build());\n\n final var instances = EcsFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var template = new LaunchTemplate(\"template\", LaunchTemplateArgs.builder()\n .name(\"tf-test-template\")\n .description(\"test1\")\n .imageId(images.images()[0].id())\n .hostName(\"tf-test-host\")\n .instanceChargeType(\"PrePaid\")\n .instanceName(\"tf-instance-name\")\n .instanceType(instances.instances()[0].instanceType())\n .internetChargeType(\"PayByBandwidth\")\n .internetMaxBandwidthIn(5)\n .internetMaxBandwidthOut(0)\n .ioOptimized(\"none\")\n .keyPairName(\"test-key-pair\")\n .ramRoleName(\"xxxxx\")\n .networkType(\"vpc\")\n .securityEnhancementStrategy(\"Active\")\n .spotPriceLimit(5.0)\n .spotStrategy(\"SpotWithPriceLimit\")\n .securityGroupId(\"sg-zxcvj0lasdf102350asdf9a\")\n .systemDiskCategory(\"cloud_ssd\")\n .systemDiskDescription(\"test disk\")\n .systemDiskName(\"hello\")\n .systemDiskSize(40)\n .resourceGroupId(\"rg-zkdfjahg9zxncv0\")\n .userdata(\"xxxxxxxxxxxxxx\")\n .vswitchId(\"sw-ljkngaksdjfj0nnasdf\")\n .vpcId(\"vpc-asdfnbg0as8dfk1nb2\")\n .zoneId(\"beijing-a\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"hello\"),\n Map.entry(\"tag2\", \"world\")\n ))\n .networkInterfaces(LaunchTemplateNetworkInterfacesArgs.builder()\n .name(\"eth0\")\n .description(\"hello1\")\n .primaryIp(\"10.0.0.2\")\n .securityGroupId(\"xxxx\")\n .vswitchId(\"xxxxxxx\")\n .build())\n .dataDisks( \n LaunchTemplateDataDiskArgs.builder()\n .name(\"disk1\")\n .description(\"test1\")\n .build(),\n LaunchTemplateDataDiskArgs.builder()\n .name(\"disk2\")\n .description(\"test2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n template:\n type: alicloud:ecs:LaunchTemplate\n properties:\n name: tf-test-template\n description: test1\n imageId: ${images.images[0].id}\n hostName: tf-test-host\n instanceChargeType: PrePaid\n instanceName: tf-instance-name\n instanceType: ${instances.instances[0].instanceType}\n internetChargeType: PayByBandwidth\n internetMaxBandwidthIn: 5\n internetMaxBandwidthOut: 0\n ioOptimized: none\n keyPairName: test-key-pair\n ramRoleName: xxxxx\n networkType: vpc\n securityEnhancementStrategy: Active\n spotPriceLimit: 5\n spotStrategy: SpotWithPriceLimit\n securityGroupId: sg-zxcvj0lasdf102350asdf9a\n systemDiskCategory: cloud_ssd\n systemDiskDescription: test disk\n systemDiskName: hello\n systemDiskSize: 40\n resourceGroupId: rg-zkdfjahg9zxncv0\n userdata: xxxxxxxxxxxxxx\n vswitchId: sw-ljkngaksdjfj0nnasdf\n vpcId: vpc-asdfnbg0as8dfk1nb2\n zoneId: beijing-a\n tags:\n tag1: hello\n tag2: world\n networkInterfaces:\n name: eth0\n description: hello1\n primaryIp: 10.0.0.2\n securityGroupId: xxxx\n vswitchId: xxxxxxx\n dataDisks:\n - name: disk1\n description: test1\n - name: disk2\n description: test2\nvariables:\n images:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n owners: system\n instances:\n fn::invoke:\n function: alicloud:ecs:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLaunch Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/launchTemplate:LaunchTemplate lt lt-abc1234567890000\n```\n\n", + "description": "Provides an ECS Launch Template resource.\n\nFor information about Launch Template and how to use it, see [Launch Template](https://www.alibabacloud.com/help/doc-detail/73916.html).\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.120.0`. Please use new resource alicloud_ecs_launch_template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst images = alicloud.ecs.getImages({\n owners: \"system\",\n});\nconst instances = alicloud.ecs.getInstances({});\nconst template = new alicloud.ecs.LaunchTemplate(\"template\", {\n name: \"tf-test-template\",\n description: \"test1\",\n imageId: images.then(images =\u003e images.images?.[0]?.id),\n hostName: \"tf-test-host\",\n instanceChargeType: \"PrePaid\",\n instanceName: \"tf-instance-name\",\n instanceType: instances.then(instances =\u003e instances.instances?.[0]?.instanceType),\n internetChargeType: \"PayByBandwidth\",\n internetMaxBandwidthIn: 5,\n internetMaxBandwidthOut: 0,\n ioOptimized: \"none\",\n keyPairName: \"test-key-pair\",\n ramRoleName: \"xxxxx\",\n networkType: \"vpc\",\n securityEnhancementStrategy: \"Active\",\n spotPriceLimit: 5,\n spotStrategy: \"SpotWithPriceLimit\",\n securityGroupId: \"sg-zxcvj0lasdf102350asdf9a\",\n systemDiskCategory: \"cloud_ssd\",\n systemDiskDescription: \"test disk\",\n systemDiskName: \"hello\",\n systemDiskSize: 40,\n resourceGroupId: \"rg-zkdfjahg9zxncv0\",\n userdata: \"xxxxxxxxxxxxxx\",\n vswitchId: \"sw-ljkngaksdjfj0nnasdf\",\n vpcId: \"vpc-asdfnbg0as8dfk1nb2\",\n zoneId: \"beijing-a\",\n tags: {\n tag1: \"hello\",\n tag2: \"world\",\n },\n networkInterfaces: {\n name: \"eth0\",\n description: \"hello1\",\n primaryIp: \"10.0.0.2\",\n securityGroupId: \"xxxx\",\n vswitchId: \"xxxxxxx\",\n },\n dataDisks: [\n {\n name: \"disk1\",\n description: \"test1\",\n },\n {\n name: \"disk2\",\n description: \"test2\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nimages = alicloud.ecs.get_images(owners=\"system\")\ninstances = alicloud.ecs.get_instances()\ntemplate = alicloud.ecs.LaunchTemplate(\"template\",\n name=\"tf-test-template\",\n description=\"test1\",\n image_id=images.images[0].id,\n host_name=\"tf-test-host\",\n instance_charge_type=\"PrePaid\",\n instance_name=\"tf-instance-name\",\n instance_type=instances.instances[0].instance_type,\n internet_charge_type=\"PayByBandwidth\",\n internet_max_bandwidth_in=5,\n internet_max_bandwidth_out=0,\n io_optimized=\"none\",\n key_pair_name=\"test-key-pair\",\n ram_role_name=\"xxxxx\",\n network_type=\"vpc\",\n security_enhancement_strategy=\"Active\",\n spot_price_limit=5,\n spot_strategy=\"SpotWithPriceLimit\",\n security_group_id=\"sg-zxcvj0lasdf102350asdf9a\",\n system_disk_category=\"cloud_ssd\",\n system_disk_description=\"test disk\",\n system_disk_name=\"hello\",\n system_disk_size=40,\n resource_group_id=\"rg-zkdfjahg9zxncv0\",\n userdata=\"xxxxxxxxxxxxxx\",\n vswitch_id=\"sw-ljkngaksdjfj0nnasdf\",\n vpc_id=\"vpc-asdfnbg0as8dfk1nb2\",\n zone_id=\"beijing-a\",\n tags={\n \"tag1\": \"hello\",\n \"tag2\": \"world\",\n },\n network_interfaces={\n \"name\": \"eth0\",\n \"description\": \"hello1\",\n \"primary_ip\": \"10.0.0.2\",\n \"security_group_id\": \"xxxx\",\n \"vswitch_id\": \"xxxxxxx\",\n },\n data_disks=[\n {\n \"name\": \"disk1\",\n \"description\": \"test1\",\n },\n {\n \"name\": \"disk2\",\n \"description\": \"test2\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var images = AliCloud.Ecs.GetImages.Invoke(new()\n {\n Owners = \"system\",\n });\n\n var instances = AliCloud.Ecs.GetInstances.Invoke();\n\n var template = new AliCloud.Ecs.LaunchTemplate(\"template\", new()\n {\n Name = \"tf-test-template\",\n Description = \"test1\",\n ImageId = images.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n HostName = \"tf-test-host\",\n InstanceChargeType = \"PrePaid\",\n InstanceName = \"tf-instance-name\",\n InstanceType = instances.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.InstanceType),\n InternetChargeType = \"PayByBandwidth\",\n InternetMaxBandwidthIn = 5,\n InternetMaxBandwidthOut = 0,\n IoOptimized = \"none\",\n KeyPairName = \"test-key-pair\",\n RamRoleName = \"xxxxx\",\n NetworkType = \"vpc\",\n SecurityEnhancementStrategy = \"Active\",\n SpotPriceLimit = 5,\n SpotStrategy = \"SpotWithPriceLimit\",\n SecurityGroupId = \"sg-zxcvj0lasdf102350asdf9a\",\n SystemDiskCategory = \"cloud_ssd\",\n SystemDiskDescription = \"test disk\",\n SystemDiskName = \"hello\",\n SystemDiskSize = 40,\n ResourceGroupId = \"rg-zkdfjahg9zxncv0\",\n Userdata = \"xxxxxxxxxxxxxx\",\n VswitchId = \"sw-ljkngaksdjfj0nnasdf\",\n VpcId = \"vpc-asdfnbg0as8dfk1nb2\",\n ZoneId = \"beijing-a\",\n Tags = \n {\n { \"tag1\", \"hello\" },\n { \"tag2\", \"world\" },\n },\n NetworkInterfaces = new AliCloud.Ecs.Inputs.LaunchTemplateNetworkInterfacesArgs\n {\n Name = \"eth0\",\n Description = \"hello1\",\n PrimaryIp = \"10.0.0.2\",\n SecurityGroupId = \"xxxx\",\n VswitchId = \"xxxxxxx\",\n },\n DataDisks = new[]\n {\n new AliCloud.Ecs.Inputs.LaunchTemplateDataDiskArgs\n {\n Name = \"disk1\",\n Description = \"test1\",\n },\n new AliCloud.Ecs.Inputs.LaunchTemplateDataDiskArgs\n {\n Name = \"disk2\",\n Description = \"test2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstances, err := ecs.GetInstances(ctx, \u0026ecs.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewLaunchTemplate(ctx, \"template\", \u0026ecs.LaunchTemplateArgs{\n\t\t\tName: pulumi.String(\"tf-test-template\"),\n\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t\tImageId: pulumi.String(images.Images[0].Id),\n\t\t\tHostName: pulumi.String(\"tf-test-host\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PrePaid\"),\n\t\t\tInstanceName: pulumi.String(\"tf-instance-name\"),\n\t\t\tInstanceType: pulumi.String(instances.Instances[0].InstanceType),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tInternetMaxBandwidthIn: pulumi.Int(5),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(0),\n\t\t\tIoOptimized: pulumi.String(\"none\"),\n\t\t\tKeyPairName: pulumi.String(\"test-key-pair\"),\n\t\t\tRamRoleName: pulumi.String(\"xxxxx\"),\n\t\t\tNetworkType: pulumi.String(\"vpc\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tSpotPriceLimit: pulumi.Float64(5),\n\t\t\tSpotStrategy: pulumi.String(\"SpotWithPriceLimit\"),\n\t\t\tSecurityGroupId: pulumi.String(\"sg-zxcvj0lasdf102350asdf9a\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\tSystemDiskDescription: pulumi.String(\"test disk\"),\n\t\t\tSystemDiskName: pulumi.String(\"hello\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tResourceGroupId: pulumi.String(\"rg-zkdfjahg9zxncv0\"),\n\t\t\tUserdata: pulumi.String(\"xxxxxxxxxxxxxx\"),\n\t\t\tVswitchId: pulumi.String(\"sw-ljkngaksdjfj0nnasdf\"),\n\t\t\tVpcId: pulumi.String(\"vpc-asdfnbg0as8dfk1nb2\"),\n\t\t\tZoneId: pulumi.String(\"beijing-a\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"hello\"),\n\t\t\t\t\"tag2\": pulumi.String(\"world\"),\n\t\t\t},\n\t\t\tNetworkInterfaces: \u0026ecs.LaunchTemplateNetworkInterfacesArgs{\n\t\t\t\tName: pulumi.String(\"eth0\"),\n\t\t\t\tDescription: pulumi.String(\"hello1\"),\n\t\t\t\tPrimaryIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tSecurityGroupId: pulumi.String(\"xxxx\"),\n\t\t\t\tVswitchId: pulumi.String(\"xxxxxxx\"),\n\t\t\t},\n\t\t\tDataDisks: ecs.LaunchTemplateDataDiskArray{\n\t\t\t\t\u0026ecs.LaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk1\"),\n\t\t\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t\t\t},\n\t\t\t\t\u0026ecs.LaunchTemplateDataDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"disk2\"),\n\t\t\t\t\tDescription: pulumi.String(\"test2\"),\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.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.ecs.LaunchTemplate;\nimport com.pulumi.alicloud.ecs.LaunchTemplateArgs;\nimport com.pulumi.alicloud.ecs.inputs.LaunchTemplateNetworkInterfacesArgs;\nimport com.pulumi.alicloud.ecs.inputs.LaunchTemplateDataDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var images = EcsFunctions.getImages(GetImagesArgs.builder()\n .owners(\"system\")\n .build());\n\n final var instances = EcsFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var template = new LaunchTemplate(\"template\", LaunchTemplateArgs.builder()\n .name(\"tf-test-template\")\n .description(\"test1\")\n .imageId(images.images()[0].id())\n .hostName(\"tf-test-host\")\n .instanceChargeType(\"PrePaid\")\n .instanceName(\"tf-instance-name\")\n .instanceType(instances.instances()[0].instanceType())\n .internetChargeType(\"PayByBandwidth\")\n .internetMaxBandwidthIn(5)\n .internetMaxBandwidthOut(0)\n .ioOptimized(\"none\")\n .keyPairName(\"test-key-pair\")\n .ramRoleName(\"xxxxx\")\n .networkType(\"vpc\")\n .securityEnhancementStrategy(\"Active\")\n .spotPriceLimit(5.0)\n .spotStrategy(\"SpotWithPriceLimit\")\n .securityGroupId(\"sg-zxcvj0lasdf102350asdf9a\")\n .systemDiskCategory(\"cloud_ssd\")\n .systemDiskDescription(\"test disk\")\n .systemDiskName(\"hello\")\n .systemDiskSize(40)\n .resourceGroupId(\"rg-zkdfjahg9zxncv0\")\n .userdata(\"xxxxxxxxxxxxxx\")\n .vswitchId(\"sw-ljkngaksdjfj0nnasdf\")\n .vpcId(\"vpc-asdfnbg0as8dfk1nb2\")\n .zoneId(\"beijing-a\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"hello\"),\n Map.entry(\"tag2\", \"world\")\n ))\n .networkInterfaces(LaunchTemplateNetworkInterfacesArgs.builder()\n .name(\"eth0\")\n .description(\"hello1\")\n .primaryIp(\"10.0.0.2\")\n .securityGroupId(\"xxxx\")\n .vswitchId(\"xxxxxxx\")\n .build())\n .dataDisks( \n LaunchTemplateDataDiskArgs.builder()\n .name(\"disk1\")\n .description(\"test1\")\n .build(),\n LaunchTemplateDataDiskArgs.builder()\n .name(\"disk2\")\n .description(\"test2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n template:\n type: alicloud:ecs:LaunchTemplate\n properties:\n name: tf-test-template\n description: test1\n imageId: ${images.images[0].id}\n hostName: tf-test-host\n instanceChargeType: PrePaid\n instanceName: tf-instance-name\n instanceType: ${instances.instances[0].instanceType}\n internetChargeType: PayByBandwidth\n internetMaxBandwidthIn: 5\n internetMaxBandwidthOut: 0\n ioOptimized: none\n keyPairName: test-key-pair\n ramRoleName: xxxxx\n networkType: vpc\n securityEnhancementStrategy: Active\n spotPriceLimit: 5\n spotStrategy: SpotWithPriceLimit\n securityGroupId: sg-zxcvj0lasdf102350asdf9a\n systemDiskCategory: cloud_ssd\n systemDiskDescription: test disk\n systemDiskName: hello\n systemDiskSize: 40\n resourceGroupId: rg-zkdfjahg9zxncv0\n userdata: xxxxxxxxxxxxxx\n vswitchId: sw-ljkngaksdjfj0nnasdf\n vpcId: vpc-asdfnbg0as8dfk1nb2\n zoneId: beijing-a\n tags:\n tag1: hello\n tag2: world\n networkInterfaces:\n name: eth0\n description: hello1\n primaryIp: 10.0.0.2\n securityGroupId: xxxx\n vswitchId: xxxxxxx\n dataDisks:\n - name: disk1\n description: test1\n - name: disk2\n description: test2\nvariables:\n images:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n owners: system\n instances:\n fn::invoke:\n function: alicloud:ecs:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLaunch Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/launchTemplate:LaunchTemplate lt lt-abc1234567890000\n```\n\n", "properties": { "autoReleaseTime": { "type": "string", @@ -161110,7 +163752,7 @@ } }, "alicloud:ecs/ramRoleAttachment:RamRoleAttachment": { - "description": "Provides a ECS Ram Role Attachment resource.\n\nMount RAM role.\n\nFor information about ECS Ram Role Attachment and how to use it, see [What is Ram Role Attachment](https://next.api.alibabacloud.com/document/Ecs/2014-05-26/AttachInstanceRamRole).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n document: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"ecs.aliyuncs.com\\\\\"\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\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n force: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst defaultRamRoleAttachment = new alicloud.ecs.RamRoleAttachment(\"default\", {\n ramRoleName: defaultRole.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n force=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault_ram_role_attachment = alicloud.ecs.RamRoleAttachment(\"default\",\n ram_role_name=default_role.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n Document = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"\"ecs.aliyuncs.com\\\"\"\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\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Force = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultRamRoleAttachment = new AliCloud.Ecs.RamRoleAttachment(\"default\", new()\n {\n RamRoleName = defaultRole.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\ndefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\nName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\nForce: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewRamRoleAttachment(ctx, \"default\", \u0026ecs.RamRoleAttachmentArgs{\nRamRoleName: defaultRole.ID(),\nInstanceId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.RamRoleAttachment;\nimport com.pulumi.alicloud.ecs.RamRoleAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .document(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .force(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultRamRoleAttachment = new RamRoleAttachment(\"defaultRamRoleAttachment\", RamRoleAttachmentArgs.builder()\n .ramRoleName(defaultRole.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Ram Role Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ramRoleAttachment:RamRoleAttachment example \u003cinstance_id\u003e:\u003cram_role_name\u003e\n```\n\n", + "description": "Provides a ECS Ram Role Attachment resource.\n\nMount RAM role.\n\nFor information about ECS Ram Role Attachment and how to use it, see [What is Ram Role Attachment](https://next.api.alibabacloud.com/document/Ecs/2014-05-26/AttachInstanceRamRole).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n document: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"ecs.aliyuncs.com\\\\\"\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\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n force: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: `${name}-${defaultInteger.result}`,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: `${name}-${defaultInteger.result}`,\n});\nconst defaultRamRoleAttachment = new alicloud.ecs.RamRoleAttachment(\"default\", {\n ramRoleName: defaultRole.id,\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n force=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=f\"{name}-{default_integer['result']}\",\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=f\"{name}-{default_integer['result']}\")\ndefault_ram_role_attachment = alicloud.ecs.RamRoleAttachment(\"default\",\n ram_role_name=default_role.id,\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n Document = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"\"ecs.aliyuncs.com\\\"\"\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\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Force = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultRamRoleAttachment = new AliCloud.Ecs.RamRoleAttachment(\"default\", new()\n {\n RamRoleName = defaultRole.Id,\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\ndefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\nName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\nForce: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewRamRoleAttachment(ctx, \"default\", \u0026ecs.RamRoleAttachmentArgs{\nRamRoleName: defaultRole.ID(),\nInstanceId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.RamRoleAttachment;\nimport com.pulumi.alicloud.ecs.RamRoleAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .document(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t\\t{\n\\t\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\t\\\"ecs.aliyuncs.com\\\"\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\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .force(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultRamRoleAttachment = new RamRoleAttachment(\"defaultRamRoleAttachment\", RamRoleAttachmentArgs.builder()\n .ramRoleName(defaultRole.id())\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Ram Role Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/ramRoleAttachment:RamRoleAttachment example \u003cinstance_id\u003e:\u003cram_role_name\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -161171,7 +163813,7 @@ } }, "alicloud:ecs/reservedInstance:ReservedInstance": { - "description": "Provides an Reserved Instance resource.\n\n\u003e **NOTE:** Available since v1.65.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g6\",\n});\nconst defaultReservedInstance = new alicloud.ecs.ReservedInstance(\"default\", {\n instanceType: _default.then(_default =\u003e _default.instanceTypes?.[0]?.id),\n instanceAmount: 1,\n periodUnit: \"Month\",\n offeringType: \"All Upfront\",\n reservedInstanceName: \"terraform-example\",\n description: \"ReservedInstance\",\n zoneId: _default.then(_default =\u003e _default.instanceTypes?.[0]?.availabilityZones?.[0]),\n scope: \"Zone\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g6\")\ndefault_reserved_instance = alicloud.ecs.ReservedInstance(\"default\",\n instance_type=default.instance_types[0].id,\n instance_amount=1,\n period_unit=\"Month\",\n offering_type=\"All Upfront\",\n reserved_instance_name=\"terraform-example\",\n description=\"ReservedInstance\",\n zone_id=default.instance_types[0].availability_zones[0],\n scope=\"Zone\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultReservedInstance = new AliCloud.Ecs.ReservedInstance(\"default\", new()\n {\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n InstanceAmount = 1,\n PeriodUnit = \"Month\",\n OfferingType = \"All Upfront\",\n ReservedInstanceName = \"terraform-example\",\n Description = \"ReservedInstance\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0])),\n Scope = \"Zone\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewReservedInstance(ctx, \"default\", \u0026ecs.ReservedInstanceArgs{\n\t\t\tInstanceType: pulumi.String(_default.InstanceTypes[0].Id),\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tOfferingType: pulumi.String(\"All Upfront\"),\n\t\t\tReservedInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"ReservedInstance\"),\n\t\t\tZoneId: pulumi.String(_default.InstanceTypes[0].AvailabilityZones[0]),\n\t\t\tScope: pulumi.String(\"Zone\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.ReservedInstance;\nimport com.pulumi.alicloud.ecs.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n var defaultReservedInstance = new ReservedInstance(\"defaultReservedInstance\", ReservedInstanceArgs.builder()\n .instanceType(default_.instanceTypes()[0].id())\n .instanceAmount(1)\n .periodUnit(\"Month\")\n .offeringType(\"All Upfront\")\n .reservedInstanceName(\"terraform-example\")\n .description(\"ReservedInstance\")\n .zoneId(default_.instanceTypes()[0].availabilityZones()[0])\n .scope(\"Zone\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultReservedInstance:\n type: alicloud:ecs:ReservedInstance\n name: default\n properties:\n instanceType: ${default.instanceTypes[0].id}\n instanceAmount: '1'\n periodUnit: Month\n offeringType: All Upfront\n reservedInstanceName: terraform-example\n description: ReservedInstance\n zoneId: ${default.instanceTypes[0].availabilityZones[0]}\n scope: Zone\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.g6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nreservedInstance can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/reservedInstance:ReservedInstance default ecsri-uf6df4xm0h3licit****\n```\n\n", + "description": "Provides an Reserved Instance resource.\n\n\u003e **NOTE:** Available since v1.65.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g6\",\n});\nconst defaultReservedInstance = new alicloud.ecs.ReservedInstance(\"default\", {\n instanceType: _default.then(_default =\u003e _default.instanceTypes?.[0]?.id),\n instanceAmount: 1,\n periodUnit: \"Month\",\n offeringType: \"All Upfront\",\n reservedInstanceName: \"terraform-example\",\n description: \"ReservedInstance\",\n zoneId: _default.then(_default =\u003e _default.instanceTypes?.[0]?.availabilityZones?.[0]),\n scope: \"Zone\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g6\")\ndefault_reserved_instance = alicloud.ecs.ReservedInstance(\"default\",\n instance_type=default.instance_types[0].id,\n instance_amount=1,\n period_unit=\"Month\",\n offering_type=\"All Upfront\",\n reserved_instance_name=\"terraform-example\",\n description=\"ReservedInstance\",\n zone_id=default.instance_types[0].availability_zones[0],\n scope=\"Zone\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultReservedInstance = new AliCloud.Ecs.ReservedInstance(\"default\", new()\n {\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n InstanceAmount = 1,\n PeriodUnit = \"Month\",\n OfferingType = \"All Upfront\",\n ReservedInstanceName = \"terraform-example\",\n Description = \"ReservedInstance\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0])),\n Scope = \"Zone\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewReservedInstance(ctx, \"default\", \u0026ecs.ReservedInstanceArgs{\n\t\t\tInstanceType: pulumi.String(_default.InstanceTypes[0].Id),\n\t\t\tInstanceAmount: pulumi.Int(1),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tOfferingType: pulumi.String(\"All Upfront\"),\n\t\t\tReservedInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"ReservedInstance\"),\n\t\t\tZoneId: pulumi.String(_default.InstanceTypes[0].AvailabilityZones[0]),\n\t\t\tScope: pulumi.String(\"Zone\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.ReservedInstance;\nimport com.pulumi.alicloud.ecs.ReservedInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n var defaultReservedInstance = new ReservedInstance(\"defaultReservedInstance\", ReservedInstanceArgs.builder()\n .instanceType(default_.instanceTypes()[0].id())\n .instanceAmount(1)\n .periodUnit(\"Month\")\n .offeringType(\"All Upfront\")\n .reservedInstanceName(\"terraform-example\")\n .description(\"ReservedInstance\")\n .zoneId(default_.instanceTypes()[0].availabilityZones()[0])\n .scope(\"Zone\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultReservedInstance:\n type: alicloud:ecs:ReservedInstance\n name: default\n properties:\n instanceType: ${default.instanceTypes[0].id}\n instanceAmount: '1'\n periodUnit: Month\n offeringType: All Upfront\n reservedInstanceName: terraform-example\n description: ReservedInstance\n zoneId: ${default.instanceTypes[0].availabilityZones[0]}\n scope: Zone\nvariables:\n default:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n instanceTypeFamily: ecs.g6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nreservedInstance can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/reservedInstance:ReservedInstance default ecsri-uf6df4xm0h3licit****\n```\n\n", "properties": { "allocationStatus": { "type": "string", @@ -161469,7 +164111,7 @@ } }, "alicloud:ecs/securityGroup:SecurityGroup": { - "description": "Provides a ECS Security Group resource.\n\n\n\nFor information about ECS Security Group and how to use it, see [What is Security Group](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-createsecuritygroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-go=\"`ecs.SecurityGroup`\" pulumi-lang-python=\"`ecs.SecurityGroup`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroup`\"\u003e`alicloud.ecs.SecurityGroup`\u003c/span\u003e is used to build and manage a security group, and \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-go=\"`ecs.SecurityGroupRule`\" pulumi-lang-python=\"`ecs.SecurityGroupRule`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroupRule`\"\u003e`alicloud.ecs.SecurityGroupRule`\u003c/span\u003e can define ingress or egress rules for it.\n\n\u003e **NOTE:** From version 1.7.2, \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-go=\"`ecs.SecurityGroup`\" pulumi-lang-python=\"`ecs.SecurityGroup`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroup`\"\u003e`alicloud.ecs.SecurityGroup`\u003c/span\u003e has supported to segregate different ECS instance in which the same security group.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.SecurityGroup(\"default\", {securityGroupName: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.SecurityGroup(\"default\", security_group_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for VPC\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: \"terraform-example\",\n vpcId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=\"terraform-example\",\n vpc_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n VpcId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: _default.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .vpcId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: terraform-example\n vpcId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing security-group module \nto create a security group and add several rules one-click.\n\n## Import\n\nECS Security Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/securityGroup:SecurityGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Security Group resource.\n\n\n\nFor information about ECS Security Group and how to use it, see [What is Security Group](https://www.alibabacloud.com/help/en/ecs/developer-reference/api-createsecuritygroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-go=\"`ecs.SecurityGroup`\" pulumi-lang-python=\"`ecs.SecurityGroup`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroup`\"\u003e`alicloud.ecs.SecurityGroup`\u003c/span\u003e is used to build and manage a security group, and \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-go=\"`ecs.SecurityGroupRule`\" pulumi-lang-python=\"`ecs.SecurityGroupRule`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroupRule`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroupRule`\"\u003e`alicloud.ecs.SecurityGroupRule`\u003c/span\u003e can define ingress or egress rules for it.\n\n\u003e **NOTE:** From version 1.7.2, \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-dotnet=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-go=\"`ecs.SecurityGroup`\" pulumi-lang-python=\"`ecs.SecurityGroup`\" pulumi-lang-yaml=\"`alicloud.ecs.SecurityGroup`\" pulumi-lang-java=\"`alicloud.ecs.SecurityGroup`\"\u003e`alicloud.ecs.SecurityGroup`\u003c/span\u003e has supported to segregate different ECS instance in which the same security group.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.SecurityGroup(\"default\", {securityGroupName: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.SecurityGroup(\"default\", security_group_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for VPC\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: \"terraform-example\",\n vpcId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=\"terraform-example\",\n vpc_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"terraform-example\",\n VpcId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: _default.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(\"terraform-example\")\n .vpcId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: terraform-example\n vpcId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing security-group module \nto create a security group and add several rules one-click.\n\n## Import\n\nECS Security Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/securityGroup:SecurityGroup example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -161626,7 +164268,7 @@ } }, "alicloud:ecs/securityGroupRule:SecurityGroupRule": { - "description": "Provides a Security Group Rule resource.\n\nFor information about Security Group Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/ecs/user-guide/security-group-rules).\n\n\u003e **NOTE:** Available since v0.1.0.\n\nRepresents a single \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e group rule, which can be added to external Security Groups.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`nicType`\" pulumi-lang-dotnet=\"`NicType`\" pulumi-lang-go=\"`nicType`\" pulumi-lang-python=\"`nic_type`\" pulumi-lang-yaml=\"`nicType`\" pulumi-lang-java=\"`nicType`\"\u003e`nic_type`\u003c/span\u003e should set to \u003cspan pulumi-lang-nodejs=\"`intranet`\" pulumi-lang-dotnet=\"`Intranet`\" pulumi-lang-go=\"`intranet`\" pulumi-lang-python=\"`intranet`\" pulumi-lang-yaml=\"`intranet`\" pulumi-lang-java=\"`intranet`\"\u003e`intranet`\u003c/span\u003e when security group type is \u003cspan pulumi-lang-nodejs=\"`vpc`\" pulumi-lang-dotnet=\"`Vpc`\" pulumi-lang-go=\"`vpc`\" pulumi-lang-python=\"`vpc`\" pulumi-lang-yaml=\"`vpc`\" pulumi-lang-java=\"`vpc`\"\u003e`vpc`\u003c/span\u003e or specifying the \u003cspan pulumi-lang-nodejs=\"`sourceSecurityGroupId`\" pulumi-lang-dotnet=\"`SourceSecurityGroupId`\" pulumi-lang-go=\"`sourceSecurityGroupId`\" pulumi-lang-python=\"`source_security_group_id`\" pulumi-lang-yaml=\"`sourceSecurityGroupId`\" pulumi-lang-java=\"`sourceSecurityGroupId`\"\u003e`source_security_group_id`\u003c/span\u003e. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.SecurityGroup(\"default\", {securityGroupName: \"default\"});\nconst allowAllTcp = new alicloud.ecs.SecurityGroupRule(\"allow_all_tcp\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"1/65535\",\n priority: 1,\n securityGroupId: _default.id,\n cidrIp: \"0.0.0.0/0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.SecurityGroup(\"default\", security_group_name=\"default\")\nallow_all_tcp = alicloud.ecs.SecurityGroupRule(\"allow_all_tcp\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"1/65535\",\n priority=1,\n security_group_id=default.id,\n cidr_ip=\"0.0.0.0/0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"default\",\n });\n\n var allowAllTcp = new AliCloud.Ecs.SecurityGroupRule(\"allow_all_tcp\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"1/65535\",\n Priority = 1,\n SecurityGroupId = @default.Id,\n CidrIp = \"0.0.0.0/0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"allow_all_tcp\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"1/65535\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: _default.ID(),\n\t\t\tCidrIp: pulumi.String(\"0.0.0.0/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.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .securityGroupName(\"default\")\n .build());\n\n var allowAllTcp = new SecurityGroupRule(\"allowAllTcp\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"1/65535\")\n .priority(1)\n .securityGroupId(default_.id())\n .cidrIp(\"0.0.0.0/0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: default\n allowAllTcp:\n type: alicloud:ecs:SecurityGroupRule\n name: allow_all_tcp\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 1/65535\n priority: 1\n securityGroupId: ${default.id}\n cidrIp: 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing security-group module \nto create a security group and add several rules one-click.\n\n## Import\n\nSecurity Group Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/securityGroupRule:SecurityGroupRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Security Group Rule resource.\n\nFor information about Security Group Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/ecs/user-guide/security-group-rules).\n\n\u003e **NOTE:** Available since v0.1.0.\n\nRepresents a single \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e group rule, which can be added to external Security Groups.\n\n\u003e **NOTE:** \u003cspan pulumi-lang-nodejs=\"`nicType`\" pulumi-lang-dotnet=\"`NicType`\" pulumi-lang-go=\"`nicType`\" pulumi-lang-python=\"`nic_type`\" pulumi-lang-yaml=\"`nicType`\" pulumi-lang-java=\"`nicType`\"\u003e`nic_type`\u003c/span\u003e should set to \u003cspan pulumi-lang-nodejs=\"`intranet`\" pulumi-lang-dotnet=\"`Intranet`\" pulumi-lang-go=\"`intranet`\" pulumi-lang-python=\"`intranet`\" pulumi-lang-yaml=\"`intranet`\" pulumi-lang-java=\"`intranet`\"\u003e`intranet`\u003c/span\u003e when security group type is \u003cspan pulumi-lang-nodejs=\"`vpc`\" pulumi-lang-dotnet=\"`Vpc`\" pulumi-lang-go=\"`vpc`\" pulumi-lang-python=\"`vpc`\" pulumi-lang-yaml=\"`vpc`\" pulumi-lang-java=\"`vpc`\"\u003e`vpc`\u003c/span\u003e or specifying the \u003cspan pulumi-lang-nodejs=\"`sourceSecurityGroupId`\" pulumi-lang-dotnet=\"`SourceSecurityGroupId`\" pulumi-lang-go=\"`sourceSecurityGroupId`\" pulumi-lang-python=\"`source_security_group_id`\" pulumi-lang-yaml=\"`sourceSecurityGroupId`\" pulumi-lang-java=\"`sourceSecurityGroupId`\"\u003e`source_security_group_id`\u003c/span\u003e. In this situation it does not distinguish between intranet and internet, the rule is effective on them both.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.SecurityGroup(\"default\", {securityGroupName: \"default\"});\nconst allowAllTcp = new alicloud.ecs.SecurityGroupRule(\"allow_all_tcp\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"1/65535\",\n priority: 1,\n securityGroupId: _default.id,\n cidrIp: \"0.0.0.0/0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.SecurityGroup(\"default\", security_group_name=\"default\")\nallow_all_tcp = alicloud.ecs.SecurityGroupRule(\"allow_all_tcp\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"1/65535\",\n priority=1,\n security_group_id=default.id,\n cidr_ip=\"0.0.0.0/0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = \"default\",\n });\n\n var allowAllTcp = new AliCloud.Ecs.SecurityGroupRule(\"allow_all_tcp\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"1/65535\",\n Priority = 1,\n SecurityGroupId = @default.Id,\n CidrIp = \"0.0.0.0/0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"allow_all_tcp\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"1/65535\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: _default.ID(),\n\t\t\tCidrIp: pulumi.String(\"0.0.0.0/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.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .securityGroupName(\"default\")\n .build());\n\n var allowAllTcp = new SecurityGroupRule(\"allowAllTcp\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"1/65535\")\n .priority(1)\n .securityGroupId(default_.id())\n .cidrIp(\"0.0.0.0/0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: default\n allowAllTcp:\n type: alicloud:ecs:SecurityGroupRule\n name: allow_all_tcp\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 1/65535\n priority: 1\n securityGroupId: ${default.id}\n cidrIp: 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing security-group module \nto create a security group and add several rules one-click.\n\n## Import\n\nSecurity Group Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/securityGroupRule:SecurityGroupRule example \u003cid\u003e\n```\n\n", "properties": { "cidrIp": { "type": "string", @@ -161840,7 +164482,7 @@ } }, "alicloud:ecs/snapshot:Snapshot": { - "description": "Provides an ECS snapshot resource.\n\nFor information about snapshot and how to use it, see [Snapshot](https://www.alibabacloud.com/help/doc-detail/25460.html).\n\n\u003e **NOTE:** Deprecated since v1.120.0.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-dotnet=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-go=\" ecs.EcsSnapshot \" pulumi-lang-python=\" ecs.EcsSnapshot \" pulumi-lang-yaml=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-java=\" alicloud.ecs.EcsSnapshot \"\u003e alicloud.ecs.EcsSnapshot \u003c/span\u003efrom version 1.120.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst snapshot = new alicloud.ecs.Snapshot(\"snapshot\", {\n diskId: instance_attachment.diskId,\n name: \"test-snapshot\",\n description: \"this snapshot is created for testing\",\n tags: {\n version: \"1.2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsnapshot = alicloud.ecs.Snapshot(\"snapshot\",\n disk_id=instance_attachment[\"diskId\"],\n name=\"test-snapshot\",\n description=\"this snapshot is created for testing\",\n tags={\n \"version\": \"1.2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = new AliCloud.Ecs.Snapshot(\"snapshot\", new()\n {\n DiskId = instance_attachment.DiskId,\n Name = \"test-snapshot\",\n Description = \"this snapshot is created for testing\",\n Tags = \n {\n { \"version\", \"1.2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSnapshot(ctx, \"snapshot\", \u0026ecs.SnapshotArgs{\n\t\t\tDiskId: pulumi.Any(instance_attachment.DiskId),\n\t\t\tName: pulumi.String(\"test-snapshot\"),\n\t\t\tDescription: pulumi.String(\"this snapshot is created for testing\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"version\": pulumi.String(\"1.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Snapshot;\nimport com.pulumi.alicloud.ecs.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var snapshot = new Snapshot(\"snapshot\", SnapshotArgs.builder()\n .diskId(instance_attachment.diskId())\n .name(\"test-snapshot\")\n .description(\"this snapshot is created for testing\")\n .tags(Map.of(\"version\", \"1.2\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snapshot:\n type: alicloud:ecs:Snapshot\n properties:\n diskId: ${[\"instance-attachment\"].diskId}\n name: test-snapshot\n description: this snapshot is created for testing\n tags:\n version: '1.2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSnapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/snapshot:Snapshot snapshot s-abc1234567890000\n```\n\n", + "description": "Provides an ECS snapshot resource.\n\nFor information about snapshot and how to use it, see [Snapshot](https://www.alibabacloud.com/help/doc-detail/25460.html).\n\n\u003e **NOTE:** Deprecated since v1.120.0.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-dotnet=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-go=\" ecs.EcsSnapshot \" pulumi-lang-python=\" ecs.EcsSnapshot \" pulumi-lang-yaml=\" alicloud.ecs.EcsSnapshot \" pulumi-lang-java=\" alicloud.ecs.EcsSnapshot \"\u003e alicloud.ecs.EcsSnapshot \u003c/span\u003efrom version 1.120.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst snapshot = new alicloud.ecs.Snapshot(\"snapshot\", {\n diskId: instance_attachment.diskId,\n name: \"test-snapshot\",\n description: \"this snapshot is created for testing\",\n tags: {\n version: \"1.2\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsnapshot = alicloud.ecs.Snapshot(\"snapshot\",\n disk_id=instance_attachment[\"diskId\"],\n name=\"test-snapshot\",\n description=\"this snapshot is created for testing\",\n tags={\n \"version\": \"1.2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = new AliCloud.Ecs.Snapshot(\"snapshot\", new()\n {\n DiskId = instance_attachment.DiskId,\n Name = \"test-snapshot\",\n Description = \"this snapshot is created for testing\",\n Tags = \n {\n { \"version\", \"1.2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSnapshot(ctx, \"snapshot\", \u0026ecs.SnapshotArgs{\n\t\t\tDiskId: pulumi.Any(instance_attachment.DiskId),\n\t\t\tName: pulumi.String(\"test-snapshot\"),\n\t\t\tDescription: pulumi.String(\"this snapshot is created for testing\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"version\": pulumi.String(\"1.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.Snapshot;\nimport com.pulumi.alicloud.ecs.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var snapshot = new Snapshot(\"snapshot\", SnapshotArgs.builder()\n .diskId(instance_attachment.diskId())\n .name(\"test-snapshot\")\n .description(\"this snapshot is created for testing\")\n .tags(Map.of(\"version\", \"1.2\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n snapshot:\n type: alicloud:ecs:Snapshot\n properties:\n diskId: ${[\"instance-attachment\"].diskId}\n name: test-snapshot\n description: this snapshot is created for testing\n tags:\n version: '1.2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSnapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/snapshot:Snapshot snapshot s-abc1234567890000\n```\n\n", "properties": { "category": { "type": "string" @@ -162019,7 +164661,7 @@ } }, "alicloud:ecs/snapshotPolicy:SnapshotPolicy": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-dotnet=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-go=\" ecs.AutoSnapshotPolicy \" pulumi-lang-python=\" ecs.AutoSnapshotPolicy \" pulumi-lang-yaml=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-java=\" alicloud.ecs.AutoSnapshotPolicy \"\u003e alicloud.ecs.AutoSnapshotPolicy \u003c/span\u003efrom version 1.117.0.\n\nProvides an ECS snapshot policy resource.\n\nFor information about snapshot policy and how to use it, see [Snapshot](https://www.alibabacloud.com/help/doc-detail/25460.html).\n\n\u003e **NOTE:** Available in 1.42.0+.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst sp = new alicloud.ecs.SnapshotPolicy(\"sp\", {\n name: \"tf-testAcc-sp\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsp = alicloud.ecs.SnapshotPolicy(\"sp\",\n name=\"tf-testAcc-sp\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sp = new AliCloud.Ecs.SnapshotPolicy(\"sp\", new()\n {\n Name = \"tf-testAcc-sp\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSnapshotPolicy(ctx, \"sp\", \u0026ecs.SnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc-sp\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\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.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sp = new SnapshotPolicy(\"sp\", SnapshotPolicyArgs.builder()\n .name(\"tf-testAcc-sp\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sp:\n type: alicloud:ecs:SnapshotPolicy\n properties:\n name: tf-testAcc-sp\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSnapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/snapshotPolicy:SnapshotPolicy snapshot sp-abc1234567890000\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-dotnet=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-go=\" ecs.AutoSnapshotPolicy \" pulumi-lang-python=\" ecs.AutoSnapshotPolicy \" pulumi-lang-yaml=\" alicloud.ecs.AutoSnapshotPolicy \" pulumi-lang-java=\" alicloud.ecs.AutoSnapshotPolicy \"\u003e alicloud.ecs.AutoSnapshotPolicy \u003c/span\u003efrom version 1.117.0.\n\nProvides an ECS snapshot policy resource.\n\nFor information about snapshot policy and how to use it, see [Snapshot](https://www.alibabacloud.com/help/doc-detail/25460.html).\n\n\u003e **NOTE:** Available in 1.42.0+.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst sp = new alicloud.ecs.SnapshotPolicy(\"sp\", {\n name: \"tf-testAcc-sp\",\n repeatWeekdays: [\n \"1\",\n \"2\",\n \"3\",\n ],\n retentionDays: -1,\n timePoints: [\n \"1\",\n \"22\",\n \"23\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nsp = alicloud.ecs.SnapshotPolicy(\"sp\",\n name=\"tf-testAcc-sp\",\n repeat_weekdays=[\n \"1\",\n \"2\",\n \"3\",\n ],\n retention_days=-1,\n time_points=[\n \"1\",\n \"22\",\n \"23\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sp = new AliCloud.Ecs.SnapshotPolicy(\"sp\", new()\n {\n Name = \"tf-testAcc-sp\",\n RepeatWeekdays = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n RetentionDays = -1,\n TimePoints = new[]\n {\n \"1\",\n \"22\",\n \"23\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewSnapshotPolicy(ctx, \"sp\", \u0026ecs.SnapshotPolicyArgs{\n\t\t\tName: pulumi.String(\"tf-testAcc-sp\"),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(-1),\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"22\"),\n\t\t\t\tpulumi.String(\"23\"),\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.alicloud.ecs.SnapshotPolicy;\nimport com.pulumi.alicloud.ecs.SnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sp = new SnapshotPolicy(\"sp\", SnapshotPolicyArgs.builder()\n .name(\"tf-testAcc-sp\")\n .repeatWeekdays( \n \"1\",\n \"2\",\n \"3\")\n .retentionDays(-1)\n .timePoints( \n \"1\",\n \"22\",\n \"23\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sp:\n type: alicloud:ecs:SnapshotPolicy\n properties:\n name: tf-testAcc-sp\n repeatWeekdays:\n - '1'\n - '2'\n - '3'\n retentionDays: -1\n timePoints:\n - '1'\n - '22'\n - '23'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSnapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/snapshotPolicy:SnapshotPolicy snapshot sp-abc1234567890000\n```\n\n", "properties": { "autoSnapshotPolicyName": { "type": "string" @@ -162216,7 +164858,7 @@ } }, "alicloud:ecs/storageCapacityUnit:StorageCapacityUnit": { - "description": "Provides a ECS Storage Capacity Unit resource.\n\nFor information about ECS Storage Capacity Unit and how to use it, see [What is Storage Capacity Unit](https://www.alibabacloud.com/help/en/doc-detail/161157.html).\n\n\u003e **NOTE:** Available since v1.155.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.StorageCapacityUnit(\"default\", {\n capacity: 20,\n description: \"tftestdescription\",\n storageCapacityUnitName: \"tftestname\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.StorageCapacityUnit(\"default\",\n capacity=20,\n description=\"tftestdescription\",\n storage_capacity_unit_name=\"tftestname\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.StorageCapacityUnit(\"default\", new()\n {\n Capacity = 20,\n Description = \"tftestdescription\",\n StorageCapacityUnitName = \"tftestname\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewStorageCapacityUnit(ctx, \"default\", \u0026ecs.StorageCapacityUnitArgs{\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tDescription: pulumi.String(\"tftestdescription\"),\n\t\t\tStorageCapacityUnitName: pulumi.String(\"tftestname\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.StorageCapacityUnit;\nimport com.pulumi.alicloud.ecs.StorageCapacityUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new StorageCapacityUnit(\"default\", StorageCapacityUnitArgs.builder()\n .capacity(20)\n .description(\"tftestdescription\")\n .storageCapacityUnitName(\"tftestname\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:StorageCapacityUnit\n properties:\n capacity: 20\n description: tftestdescription\n storageCapacityUnitName: tftestname\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECS Storage Capacity Unit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/storageCapacityUnit:StorageCapacityUnit example \u003cid\u003e\n```\n\n", + "description": "Provides a ECS Storage Capacity Unit resource.\n\nFor information about ECS Storage Capacity Unit and how to use it, see [What is Storage Capacity Unit](https://www.alibabacloud.com/help/en/doc-detail/161157.html).\n\n\u003e **NOTE:** Available since v1.155.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ecs.StorageCapacityUnit(\"default\", {\n capacity: 20,\n description: \"tftestdescription\",\n storageCapacityUnitName: \"tftestname\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ecs.StorageCapacityUnit(\"default\",\n capacity=20,\n description=\"tftestdescription\",\n storage_capacity_unit_name=\"tftestname\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ecs.StorageCapacityUnit(\"default\", new()\n {\n Capacity = 20,\n Description = \"tftestdescription\",\n StorageCapacityUnitName = \"tftestname\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ecs.NewStorageCapacityUnit(ctx, \"default\", \u0026ecs.StorageCapacityUnitArgs{\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tDescription: pulumi.String(\"tftestdescription\"),\n\t\t\tStorageCapacityUnitName: pulumi.String(\"tftestname\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.StorageCapacityUnit;\nimport com.pulumi.alicloud.ecs.StorageCapacityUnitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new StorageCapacityUnit(\"default\", StorageCapacityUnitArgs.builder()\n .capacity(20)\n .description(\"tftestdescription\")\n .storageCapacityUnitName(\"tftestname\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ecs:StorageCapacityUnit\n properties:\n capacity: 20\n description: tftestdescription\n storageCapacityUnitName: tftestname\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECS Storage Capacity Unit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ecs/storageCapacityUnit:StorageCapacityUnit example \u003cid\u003e\n```\n\n", "properties": { "capacity": { "type": "integer", @@ -162324,7 +164966,7 @@ } }, "alicloud:edas/application:Application": { - "description": "Creates an EDAS ecs application on EDAS, see [What is EDAS Application](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertapplication). The application will be deployed when \u003cspan pulumi-lang-nodejs=\"`groupId`\" pulumi-lang-dotnet=\"`GroupId`\" pulumi-lang-go=\"`groupId`\" pulumi-lang-python=\"`group_id`\" pulumi-lang-yaml=\"`groupId`\" pulumi-lang-java=\"`groupId`\"\u003e`group_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`warUrl`\" pulumi-lang-dotnet=\"`WarUrl`\" pulumi-lang-go=\"`warUrl`\" pulumi-lang-python=\"`war_url`\" pulumi-lang-yaml=\"`warUrl`\" pulumi-lang-java=\"`warUrl`\"\u003e`war_url`\u003c/span\u003e are given.\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: `${name}-${defaultInteger.result}`,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: `${name}-${defaultInteger.result}`,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=f\"{name}-{default_integer['result']}\",\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=f\"{name}-{default_integer['result']}\",\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = $\"{name}-{defaultInteger.Result}\",\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}-${defaultInteger.result}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}-${defaultInteger.result}\n clusterId: ${defaultCluster.id}\n packageType: JAR\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/application:Application app app_Id\n```\n\n", + "description": "Creates an EDAS ecs application on EDAS, see [What is EDAS Application](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertapplication). The application will be deployed when \u003cspan pulumi-lang-nodejs=\"`groupId`\" pulumi-lang-dotnet=\"`GroupId`\" pulumi-lang-go=\"`groupId`\" pulumi-lang-python=\"`group_id`\" pulumi-lang-yaml=\"`groupId`\" pulumi-lang-java=\"`groupId`\"\u003e`group_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`warUrl`\" pulumi-lang-dotnet=\"`WarUrl`\" pulumi-lang-go=\"`warUrl`\" pulumi-lang-python=\"`war_url`\" pulumi-lang-yaml=\"`warUrl`\" pulumi-lang-java=\"`warUrl`\"\u003e`war_url`\u003c/span\u003e are given.\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: `${name}-${defaultInteger.result}`,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: `${name}-${defaultInteger.result}`,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=f\"{name}-{default_integer['result']}\",\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=f\"{name}-{default_integer['result']}\",\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = $\"{name}-{defaultInteger.Result}\",\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}-${defaultInteger.result}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}-${defaultInteger.result}\n clusterId: ${defaultCluster.id}\n packageType: JAR\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/application:Application app app_Id\n```\n\n", "properties": { "applicationName": { "type": "string", @@ -162492,7 +165134,7 @@ } }, "alicloud:edas/applicationDeployment:ApplicationDeployment": { - "description": "Deploys applications on EDAS, see [What is EDAS Application Deployment](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-deployapplication).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: name,\n});\nconst defaultApplicationDeployment = new alicloud.edas.ApplicationDeployment(\"default\", {\n appId: defaultApplication.id,\n groupId: \"all\",\n warUrl: \"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=name)\ndefault_application_deployment = alicloud.edas.ApplicationDeployment(\"default\",\n app_id=default_application.id,\n group_id=\"all\",\n war_url=\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = name,\n });\n\n var defaultApplicationDeployment = new AliCloud.Edas.ApplicationDeployment(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupId = \"all\",\n WarUrl = \"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewApplicationDeployment(ctx, \"default\", \u0026edas.ApplicationDeploymentArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupId: pulumi.String(\"all\"),\n\t\t\tWarUrl: pulumi.String(\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport com.pulumi.alicloud.edas.ApplicationDeployment;\nimport com.pulumi.alicloud.edas.ApplicationDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(name)\n .build());\n\n var defaultApplicationDeployment = new ApplicationDeployment(\"defaultApplicationDeployment\", ApplicationDeploymentArgs.builder()\n .appId(defaultApplication.id())\n .groupId(\"all\")\n .warUrl(\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultDeployGroup:\n type: alicloud:edas:DeployGroup\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupName: ${name}\n defaultApplicationDeployment:\n type: alicloud:edas:ApplicationDeployment\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupId: all\n warUrl: http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Deploys applications on EDAS, see [What is EDAS Application Deployment](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-deployapplication).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: name,\n});\nconst defaultApplicationDeployment = new alicloud.edas.ApplicationDeployment(\"default\", {\n appId: defaultApplication.id,\n groupId: \"all\",\n warUrl: \"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=name)\ndefault_application_deployment = alicloud.edas.ApplicationDeployment(\"default\",\n app_id=default_application.id,\n group_id=\"all\",\n war_url=\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = name,\n });\n\n var defaultApplicationDeployment = new AliCloud.Edas.ApplicationDeployment(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupId = \"all\",\n WarUrl = \"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewApplicationDeployment(ctx, \"default\", \u0026edas.ApplicationDeploymentArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupId: pulumi.String(\"all\"),\n\t\t\tWarUrl: pulumi.String(\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport com.pulumi.alicloud.edas.ApplicationDeployment;\nimport com.pulumi.alicloud.edas.ApplicationDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(name)\n .build());\n\n var defaultApplicationDeployment = new ApplicationDeployment(\"defaultApplicationDeployment\", ApplicationDeploymentArgs.builder()\n .appId(defaultApplication.id())\n .groupId(\"all\")\n .warUrl(\"http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultDeployGroup:\n type: alicloud:edas:DeployGroup\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupName: ${name}\n defaultApplicationDeployment:\n type: alicloud:edas:ApplicationDeployment\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupId: all\n warUrl: http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "appId": { "type": "string", @@ -162581,7 +165223,7 @@ } }, "alicloud:edas/applicationScale:ApplicationScale": { - "description": "This operation is provided to scale out an EDAS application, see [What is EDAS Application Scale](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-scaleoutapplication).\n\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n internetChargeType: \"PayByTraffic\",\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"WAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: name,\n});\nconst defaultGetDeployGroups = alicloud.edas.getDeployGroupsOutput({\n appId: defaultDeployGroup.appId,\n});\nconst defaultApplicationScale = new alicloud.edas.ApplicationScale(\"default\", {\n appId: defaultApplication.id,\n deployGroup: defaultGetDeployGroups.apply(defaultGetDeployGroups =\u003e defaultGetDeployGroups.groups?.[0]?.groupId),\n ecuInfos: [pulumi.all([defaultInstanceClusterAttachment.ecuMap, defaultInstance.id]).apply(([ecuMap, id]) =\u003e ecuMap[id])],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n internet_charge_type=\"PayByTraffic\",\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"WAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=name)\ndefault_get_deploy_groups = alicloud.edas.get_deploy_groups_output(app_id=default_deploy_group.app_id)\ndefault_application_scale = alicloud.edas.ApplicationScale(\"default\",\n app_id=default_application.id,\n deploy_group=default_get_deploy_groups.groups[0].group_id,\n ecu_infos=[pulumi.Output.all(\n ecu_map=default_instance_cluster_attachment.ecu_map,\n id=default_instance.id\n).apply(lambda resolved_outputs: resolved_outputs['ecu_map'][resolved_outputs['id']])\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n InternetChargeType = \"PayByTraffic\",\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"WAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = name,\n });\n\n var defaultGetDeployGroups = AliCloud.Edas.GetDeployGroups.Invoke(new()\n {\n AppId = defaultDeployGroup.AppId,\n });\n\n var defaultApplicationScale = new AliCloud.Edas.ApplicationScale(\"default\", new()\n {\n AppId = defaultApplication.Id,\n DeployGroup = defaultGetDeployGroups.Apply(getDeployGroupsResult =\u003e getDeployGroupsResult.Groups[0]?.GroupId),\n EcuInfos = new[]\n {\n Output.Tuple(defaultInstanceClusterAttachment.EcuMap, defaultInstance.Id).Apply(values =\u003e\n {\n var ecuMap = values.Item1;\n var id = values.Item2;\n return ecuMap[id];\n }),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceClusterAttachment, err := edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"WAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDeployGroup, err := edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetDeployGroups := edas.GetDeployGroupsOutput(ctx, edas.GetDeployGroupsOutputArgs{\n\t\t\tAppId: defaultDeployGroup.AppId,\n\t\t}, nil)\n\t\t_, err = edas.NewApplicationScale(ctx, \"default\", \u0026edas.ApplicationScaleArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tDeployGroup: pulumi.String(defaultGetDeployGroups.ApplyT(func(defaultGetDeployGroups edas.GetDeployGroupsResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetDeployGroups.Groups[0].GroupId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEcuInfos: pulumi.StringArray{\n\t\t\t\tpulumi.All(defaultInstanceClusterAttachment.EcuMap, defaultInstance.ID()).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tecuMap := _args[0].(map[string]string)\n\t\t\t\t\tid := _args[1].(string)\n\t\t\t\t\treturn ecuMap[id], nil\n\t\t\t\t}).(pulumi.StringOutput),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport com.pulumi.alicloud.edas.EdasFunctions;\nimport com.pulumi.alicloud.edas.inputs.GetDeployGroupsArgs;\nimport com.pulumi.alicloud.edas.ApplicationScale;\nimport com.pulumi.alicloud.edas.ApplicationScaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .internetChargeType(\"PayByTraffic\")\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"WAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(name)\n .build());\n\n final var defaultGetDeployGroups = EdasFunctions.getDeployGroups(GetDeployGroupsArgs.builder()\n .appId(defaultDeployGroup.appId())\n .build());\n\n var defaultApplicationScale = new ApplicationScale(\"defaultApplicationScale\", ApplicationScaleArgs.builder()\n .appId(defaultApplication.id())\n .deployGroup(defaultGetDeployGroups.applyValue(_defaultGetDeployGroups -\u003e _defaultGetDeployGroups.groups()[0].groupId()))\n .ecuInfos(Output.tuple(defaultInstanceClusterAttachment.ecuMap(), defaultInstance.id()).applyValue(values -\u003e {\n var ecuMap = values.t1;\n var id = values.t2;\n return ecuMap[id];\n }))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This operation is provided to scale out an EDAS application, see [What is EDAS Application Scale](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-scaleoutapplication).\n\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n internetChargeType: \"PayByTraffic\",\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"WAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: name,\n});\nconst defaultGetDeployGroups = alicloud.edas.getDeployGroupsOutput({\n appId: defaultDeployGroup.appId,\n});\nconst defaultApplicationScale = new alicloud.edas.ApplicationScale(\"default\", {\n appId: defaultApplication.id,\n deployGroup: defaultGetDeployGroups.apply(defaultGetDeployGroups =\u003e defaultGetDeployGroups.groups?.[0]?.groupId),\n ecuInfos: [pulumi.all([defaultInstanceClusterAttachment.ecuMap, defaultInstance.id]).apply(([ecuMap, id]) =\u003e ecuMap[id])],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n internet_charge_type=\"PayByTraffic\",\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"WAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=name)\ndefault_get_deploy_groups = alicloud.edas.get_deploy_groups_output(app_id=default_deploy_group.app_id)\ndefault_application_scale = alicloud.edas.ApplicationScale(\"default\",\n app_id=default_application.id,\n deploy_group=default_get_deploy_groups.groups[0].group_id,\n ecu_infos=[pulumi.Output.all(\n ecu_map=default_instance_cluster_attachment.ecu_map,\n id=default_instance.id\n).apply(lambda resolved_outputs: resolved_outputs['ecu_map'][resolved_outputs['id']])\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n InternetChargeType = \"PayByTraffic\",\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"WAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = name,\n });\n\n var defaultGetDeployGroups = AliCloud.Edas.GetDeployGroups.Invoke(new()\n {\n AppId = defaultDeployGroup.AppId,\n });\n\n var defaultApplicationScale = new AliCloud.Edas.ApplicationScale(\"default\", new()\n {\n AppId = defaultApplication.Id,\n DeployGroup = defaultGetDeployGroups.Apply(getDeployGroupsResult =\u003e getDeployGroupsResult.Groups[0]?.GroupId),\n EcuInfos = new[]\n {\n Output.Tuple(defaultInstanceClusterAttachment.EcuMap, defaultInstance.Id).Apply(values =\u003e\n {\n var ecuMap = values.Item1;\n var id = values.Item2;\n return ecuMap[id];\n }),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceClusterAttachment, err := edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"WAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDeployGroup, err := edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetDeployGroups := edas.GetDeployGroupsOutput(ctx, edas.GetDeployGroupsOutputArgs{\n\t\t\tAppId: defaultDeployGroup.AppId,\n\t\t}, nil)\n\t\t_, err = edas.NewApplicationScale(ctx, \"default\", \u0026edas.ApplicationScaleArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tDeployGroup: pulumi.String(defaultGetDeployGroups.ApplyT(func(defaultGetDeployGroups edas.GetDeployGroupsResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetDeployGroups.Groups[0].GroupId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tEcuInfos: pulumi.StringArray{\n\t\t\t\tpulumi.All(defaultInstanceClusterAttachment.EcuMap, defaultInstance.ID()).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tecuMap := _args[0].(map[string]string)\n\t\t\t\t\tid := _args[1].(string)\n\t\t\t\t\treturn ecuMap[id], nil\n\t\t\t\t}).(pulumi.StringOutput),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport com.pulumi.alicloud.edas.EdasFunctions;\nimport com.pulumi.alicloud.edas.inputs.GetDeployGroupsArgs;\nimport com.pulumi.alicloud.edas.ApplicationScale;\nimport com.pulumi.alicloud.edas.ApplicationScaleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .internetChargeType(\"PayByTraffic\")\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"WAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(name)\n .build());\n\n final var defaultGetDeployGroups = EdasFunctions.getDeployGroups(GetDeployGroupsArgs.builder()\n .appId(defaultDeployGroup.appId())\n .build());\n\n var defaultApplicationScale = new ApplicationScale(\"defaultApplicationScale\", ApplicationScaleArgs.builder()\n .appId(defaultApplication.id())\n .deployGroup(defaultGetDeployGroups.applyValue(_defaultGetDeployGroups -\u003e _defaultGetDeployGroups.groups()[0].groupId()))\n .ecuInfos(Output.tuple(defaultInstanceClusterAttachment.ecuMap(), defaultInstance.id()).applyValue(values -\u003e {\n var ecuMap = values.t1;\n var id = values.t2;\n return ecuMap[id];\n }))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "appId": { "type": "string", @@ -162676,7 +165318,7 @@ } }, "alicloud:edas/cluster:Cluster": { - "description": "Provides an EDAS cluster resource, see [What is EDAS Cluster](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertcluster).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/cluster:Cluster cluster cluster_id\n```\n\n", + "description": "Provides an EDAS cluster resource, see [What is EDAS Cluster](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertcluster).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/cluster:Cluster cluster cluster_id\n```\n\n", "properties": { "clusterName": { "type": "string", @@ -162769,7 +165411,7 @@ } }, "alicloud:edas/deployGroup:DeployGroup": { - "description": "Provides an EDAS deploy group resource, see [What is EDAS Deploy Group](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertdeploygroup).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: `${name}-${defaultInteger.result}`,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: `${name}-${defaultInteger.result}`,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=f\"{name}-{default_integer['result']}\",\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=f\"{name}-{default_integer['result']}\",\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = $\"{name}-{defaultInteger.Result}\",\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}-${defaultInteger.result}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}-${defaultInteger.result}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultDeployGroup:\n type: alicloud:edas:DeployGroup\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS deploy group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/deployGroup:DeployGroup group app_id:group_name:group_id\n```\n\n", + "description": "Provides an EDAS deploy group resource, see [What is EDAS Deploy Group](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertdeploygroup).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: `${name}-${defaultInteger.result}`,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: `${name}-${defaultInteger.result}`,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultDeployGroup = new alicloud.edas.DeployGroup(\"default\", {\n appId: defaultApplication.id,\n groupName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"10.4.0.0/16\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=f\"{name}-{default_integer['result']}\",\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=f\"{name}-{default_integer['result']}\",\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_deploy_group = alicloud.edas.DeployGroup(\"default\",\n app_id=default_application.id,\n group_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = $\"{name}-{defaultInteger.Result}\",\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultDeployGroup = new AliCloud.Edas.DeployGroup(\"default\", new()\n {\n AppId = defaultApplication.Id,\n GroupName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewDeployGroup(ctx, \"default\", \u0026edas.DeployGroupArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tGroupName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.edas.DeployGroup;\nimport com.pulumi.alicloud.edas.DeployGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultDeployGroup = new DeployGroup(\"defaultDeployGroup\", DeployGroupArgs.builder()\n .appId(defaultApplication.id())\n .groupName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 10.4.0.0/16\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}-${defaultInteger.result}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}-${defaultInteger.result}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultDeployGroup:\n type: alicloud:edas:DeployGroup\n name: default\n properties:\n appId: ${defaultApplication.id}\n groupName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS deploy group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/deployGroup:DeployGroup group app_id:group_name:group_id\n```\n\n", "properties": { "appId": { "type": "string", @@ -162828,7 +165470,7 @@ } }, "alicloud:edas/instanceClusterAttachment:InstanceClusterAttachment": { - "description": "Provides an EDAS instance cluster attachment resource, see [What is EDAS Instance Cluster Attachment](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-installagent).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides an EDAS instance cluster attachment resource, see [What is EDAS Instance Cluster Attachment](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-installagent).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "clusterId": { "type": "string", @@ -162931,7 +165573,7 @@ } }, "alicloud:edas/k8sApplication:K8sApplication": { - "description": "Create an EDAS k8s application.For information about EDAS K8s Application and how to use it, see [What is EDAS K8s Application](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertk8sapplication). \n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\nconst defaultK8sApplication = new alicloud.edas.K8sApplication(\"default\", {\n applicationName: name,\n clusterId: defaultK8sCluster.id,\n packageType: \"FatJar\",\n packageUrl: \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk: \"Open JDK 8\",\n replicas: 2,\n readiness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n applicationDescriotion: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\ndefault_k8s_application = alicloud.edas.K8sApplication(\"default\",\n application_name=name,\n cluster_id=default_k8s_cluster.id,\n package_type=\"FatJar\",\n package_url=\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk=\"Open JDK 8\",\n replicas=2,\n readiness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n application_descriotion=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultK8sApplication = new AliCloud.Edas.K8sApplication(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultK8sCluster.Id,\n PackageType = \"FatJar\",\n PackageUrl = \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n Jdk = \"Open JDK 8\",\n Replicas = 2,\n Readiness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n Liveness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n ApplicationDescriotion = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sCluster, err := edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sApplication(ctx, \"default\", \u0026edas.K8sApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultK8sCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"FatJar\"),\n\t\t\tPackageUrl: pulumi.String(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tReplicas: pulumi.Int(2),\n\t\t\tReadiness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tLiveness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tApplicationDescriotion: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport com.pulumi.alicloud.edas.K8sApplication;\nimport com.pulumi.alicloud.edas.K8sApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultK8sApplication = new K8sApplication(\"defaultK8sApplication\", K8sApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultK8sCluster.id())\n .packageType(\"FatJar\")\n .packageUrl(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\")\n .jdk(\"Open JDK 8\")\n .replicas(2)\n .readiness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .liveness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .applicationDescriotion(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\n defaultK8sApplication:\n type: alicloud:edas:K8sApplication\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultK8sCluster.id}\n packageType: FatJar\n packageUrl: http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\n jdk: Open JDK 8\n replicas: 2\n readiness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n liveness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n applicationDescriotion: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS k8s application can be imported as below, e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sApplication:K8sApplication new_k8s_application application_id\n```\n\n", + "description": "Create an EDAS k8s application.For information about EDAS K8s Application and how to use it, see [What is EDAS K8s Application](https://www.alibabacloud.com/help/en/edas/developer-reference/api-edas-2017-08-01-insertk8sapplication). \n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\nconst defaultK8sApplication = new alicloud.edas.K8sApplication(\"default\", {\n applicationName: name,\n clusterId: defaultK8sCluster.id,\n packageType: \"FatJar\",\n packageUrl: \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk: \"Open JDK 8\",\n replicas: 2,\n readiness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n applicationDescriotion: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\ndefault_k8s_application = alicloud.edas.K8sApplication(\"default\",\n application_name=name,\n cluster_id=default_k8s_cluster.id,\n package_type=\"FatJar\",\n package_url=\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk=\"Open JDK 8\",\n replicas=2,\n readiness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n application_descriotion=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultK8sApplication = new AliCloud.Edas.K8sApplication(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultK8sCluster.Id,\n PackageType = \"FatJar\",\n PackageUrl = \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n Jdk = \"Open JDK 8\",\n Replicas = 2,\n Readiness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n Liveness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n ApplicationDescriotion = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sCluster, err := edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sApplication(ctx, \"default\", \u0026edas.K8sApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultK8sCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"FatJar\"),\n\t\t\tPackageUrl: pulumi.String(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tReplicas: pulumi.Int(2),\n\t\t\tReadiness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tLiveness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tApplicationDescriotion: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport com.pulumi.alicloud.edas.K8sApplication;\nimport com.pulumi.alicloud.edas.K8sApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultK8sApplication = new K8sApplication(\"defaultK8sApplication\", K8sApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultK8sCluster.id())\n .packageType(\"FatJar\")\n .packageUrl(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\")\n .jdk(\"Open JDK 8\")\n .replicas(2)\n .readiness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .liveness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .applicationDescriotion(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\n defaultK8sApplication:\n type: alicloud:edas:K8sApplication\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultK8sCluster.id}\n packageType: FatJar\n packageUrl: http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\n jdk: Open JDK 8\n replicas: 2\n readiness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n liveness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n applicationDescriotion: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS k8s application can be imported as below, e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sApplication:K8sApplication new_k8s_application application_id\n```\n\n", "properties": { "applicationDescriotion": { "type": "string", @@ -163369,7 +166011,7 @@ } }, "alicloud:edas/k8sCluster:K8sCluster": { - "description": "Provides an EDAS K8s cluster resource. For information about EDAS K8s Cluster and how to use it, see[What is EDAS K8s Cluster](https://www.alibabacloud.com/help/en/doc-detail/85108.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sCluster:K8sCluster cluster cluster_id\n```\n\n", + "description": "Provides an EDAS K8s cluster resource. For information about EDAS K8s Cluster and how to use it, see[What is EDAS K8s Cluster](https://www.alibabacloud.com/help/en/doc-detail/85108.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sCluster:K8sCluster cluster cluster_id\n```\n\n", "properties": { "clusterImportStatus": { "type": "integer", @@ -163461,7 +166103,7 @@ } }, "alicloud:edas/k8sSlbAttachment:K8sSlbAttachment": { - "description": "Binds SLBs to an EDAS k8s application.\n\nFor information about EDAS k8s slb attachment and how to use it, see [What is k8s slb attachment](https://www.alibabacloud.com/help/en/enterprise-distributed-application-service/latest/bindk8sslb).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\nconst defaultK8sApplication = new alicloud.edas.K8sApplication(\"default\", {\n applicationName: name,\n clusterId: defaultK8sCluster.id,\n packageType: \"FatJar\",\n packageUrl: \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk: \"Open JDK 8\",\n replicas: 2,\n readiness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n applicationDescriotion: name,\n});\nconst defaultK8sSlbAttachment = new alicloud.edas.K8sSlbAttachment(\"default\", {\n appId: defaultK8sApplication.id,\n slbConfigs: [{\n type: \"internet\",\n scheduler: \"rr\",\n portMappings: [{\n loadbalancerProtocol: \"TCP\",\n servicePort: {\n port: 80,\n protocol: \"TCP\",\n targetPort: 8080,\n },\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\ndefault_k8s_application = alicloud.edas.K8sApplication(\"default\",\n application_name=name,\n cluster_id=default_k8s_cluster.id,\n package_type=\"FatJar\",\n package_url=\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk=\"Open JDK 8\",\n replicas=2,\n readiness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n application_descriotion=name)\ndefault_k8s_slb_attachment = alicloud.edas.K8sSlbAttachment(\"default\",\n app_id=default_k8s_application.id,\n slb_configs=[{\n \"type\": \"internet\",\n \"scheduler\": \"rr\",\n \"port_mappings\": [{\n \"loadbalancer_protocol\": \"TCP\",\n \"service_port\": {\n \"port\": 80,\n \"protocol\": \"TCP\",\n \"target_port\": 8080,\n },\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultK8sApplication = new AliCloud.Edas.K8sApplication(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultK8sCluster.Id,\n PackageType = \"FatJar\",\n PackageUrl = \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n Jdk = \"Open JDK 8\",\n Replicas = 2,\n Readiness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n Liveness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n ApplicationDescriotion = name,\n });\n\n var defaultK8sSlbAttachment = new AliCloud.Edas.K8sSlbAttachment(\"default\", new()\n {\n AppId = defaultK8sApplication.Id,\n SlbConfigs = new[]\n {\n new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigArgs\n {\n Type = \"internet\",\n Scheduler = \"rr\",\n PortMappings = new[]\n {\n new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigPortMappingArgs\n {\n LoadbalancerProtocol = \"TCP\",\n ServicePort = new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigPortMappingServicePortArgs\n {\n Port = 80,\n Protocol = \"TCP\",\n TargetPort = 8080,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sCluster, err := edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sApplication, err := edas.NewK8sApplication(ctx, \"default\", \u0026edas.K8sApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultK8sCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"FatJar\"),\n\t\t\tPackageUrl: pulumi.String(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tReplicas: pulumi.Int(2),\n\t\t\tReadiness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tLiveness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tApplicationDescriotion: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sSlbAttachment(ctx, \"default\", \u0026edas.K8sSlbAttachmentArgs{\n\t\t\tAppId: defaultK8sApplication.ID(),\n\t\t\tSlbConfigs: edas.K8sSlbAttachmentSlbConfigArray{\n\t\t\t\t\u0026edas.K8sSlbAttachmentSlbConfigArgs{\n\t\t\t\t\tType: pulumi.String(\"internet\"),\n\t\t\t\t\tScheduler: pulumi.String(\"rr\"),\n\t\t\t\t\tPortMappings: edas.K8sSlbAttachmentSlbConfigPortMappingArray{\n\t\t\t\t\t\t\u0026edas.K8sSlbAttachmentSlbConfigPortMappingArgs{\n\t\t\t\t\t\t\tLoadbalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\tServicePort: \u0026edas.K8sSlbAttachmentSlbConfigPortMappingServicePortArgs{\n\t\t\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport com.pulumi.alicloud.edas.K8sApplication;\nimport com.pulumi.alicloud.edas.K8sApplicationArgs;\nimport com.pulumi.alicloud.edas.K8sSlbAttachment;\nimport com.pulumi.alicloud.edas.K8sSlbAttachmentArgs;\nimport com.pulumi.alicloud.edas.inputs.K8sSlbAttachmentSlbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultK8sApplication = new K8sApplication(\"defaultK8sApplication\", K8sApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultK8sCluster.id())\n .packageType(\"FatJar\")\n .packageUrl(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\")\n .jdk(\"Open JDK 8\")\n .replicas(2)\n .readiness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .liveness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .applicationDescriotion(name)\n .build());\n\n var defaultK8sSlbAttachment = new K8sSlbAttachment(\"defaultK8sSlbAttachment\", K8sSlbAttachmentArgs.builder()\n .appId(defaultK8sApplication.id())\n .slbConfigs(K8sSlbAttachmentSlbConfigArgs.builder()\n .type(\"internet\")\n .scheduler(\"rr\")\n .portMappings(K8sSlbAttachmentSlbConfigPortMappingArgs.builder()\n .loadbalancerProtocol(\"TCP\")\n .servicePort(K8sSlbAttachmentSlbConfigPortMappingServicePortArgs.builder()\n .port(80)\n .protocol(\"TCP\")\n .targetPort(8080)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\n defaultK8sApplication:\n type: alicloud:edas:K8sApplication\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultK8sCluster.id}\n packageType: FatJar\n packageUrl: http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\n jdk: Open JDK 8\n replicas: 2\n readiness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n liveness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n applicationDescriotion: ${name}\n defaultK8sSlbAttachment:\n type: alicloud:edas:K8sSlbAttachment\n name: default\n properties:\n appId: ${defaultK8sApplication.id}\n slbConfigs:\n - type: internet\n scheduler: rr\n portMappings:\n - loadbalancerProtocol: TCP\n servicePort:\n port: 80\n protocol: TCP\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSlb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sSlbAttachment:K8sSlbAttachment example \u003cEDAS k8s app id\u003e\n```\n\n", + "description": "Binds SLBs to an EDAS k8s application.\n\nFor information about EDAS k8s slb attachment and how to use it, see [What is k8s slb attachment](https://www.alibabacloud.com/help/en/enterprise-distributed-application-service/latest/bindk8sslb).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 4,\n memorySize: 8,\n kubernetesNodeRole: \"Worker\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes(\"default\", {\n namePrefix: name,\n clusterSpec: \"ack.pro.small\",\n workerVswitchIds: [defaultSwitch.id],\n newNatGateway: true,\n podCidr: std.cidrsubnet({\n input: \"10.0.0.0/8\",\n newbits: 8,\n netnum: 36,\n }).then(invoke =\u003e invoke.result),\n serviceCidr: std.cidrsubnet({\n input: \"172.16.0.0/16\",\n newbits: 4,\n netnum: 7,\n }).then(invoke =\u003e invoke.result),\n slbInternetEnabled: true,\n});\nconst defaultNodePool = new alicloud.cs.NodePool(\"default\", {\n name: name,\n clusterId: defaultManagedKubernetes.id,\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id)],\n systemDiskCategory: \"cloud_efficiency\",\n systemDiskSize: 40,\n desiredSize: \"2\",\n});\nconst defaultK8sCluster = new alicloud.edas.K8sCluster(\"default\", {csClusterId: defaultNodePool.clusterId});\nconst defaultK8sApplication = new alicloud.edas.K8sApplication(\"default\", {\n applicationName: name,\n clusterId: defaultK8sCluster.id,\n packageType: \"FatJar\",\n packageUrl: \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk: \"Open JDK 8\",\n replicas: 2,\n readiness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness: \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n applicationDescriotion: name,\n});\nconst defaultK8sSlbAttachment = new alicloud.edas.K8sSlbAttachment(\"default\", {\n appId: defaultK8sApplication.id,\n slbConfigs: [{\n type: \"internet\",\n scheduler: \"rr\",\n portMappings: [{\n loadbalancerProtocol: \"TCP\",\n servicePort: {\n port: 80,\n protocol: \"TCP\",\n targetPort: 8080,\n },\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=4,\n memory_size=8,\n kubernetes_node_role=\"Worker\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_managed_kubernetes = alicloud.cs.ManagedKubernetes(\"default\",\n name_prefix=name,\n cluster_spec=\"ack.pro.small\",\n worker_vswitch_ids=[default_switch.id],\n new_nat_gateway=True,\n pod_cidr=std.cidrsubnet(input=\"10.0.0.0/8\",\n newbits=8,\n netnum=36).result,\n service_cidr=std.cidrsubnet(input=\"172.16.0.0/16\",\n newbits=4,\n netnum=7).result,\n slb_internet_enabled=True)\ndefault_node_pool = alicloud.cs.NodePool(\"default\",\n name=name,\n cluster_id=default_managed_kubernetes.id,\n vswitch_ids=[default_switch.id],\n instance_types=[default_get_instance_types.instance_types[0].id],\n system_disk_category=\"cloud_efficiency\",\n system_disk_size=40,\n desired_size=\"2\")\ndefault_k8s_cluster = alicloud.edas.K8sCluster(\"default\", cs_cluster_id=default_node_pool.cluster_id)\ndefault_k8s_application = alicloud.edas.K8sApplication(\"default\",\n application_name=name,\n cluster_id=default_k8s_cluster.id,\n package_type=\"FatJar\",\n package_url=\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n jdk=\"Open JDK 8\",\n replicas=2,\n readiness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n liveness=\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n application_descriotion=name)\ndefault_k8s_slb_attachment = alicloud.edas.K8sSlbAttachment(\"default\",\n app_id=default_k8s_application.id,\n slb_configs=[{\n \"type\": \"internet\",\n \"scheduler\": \"rr\",\n \"port_mappings\": [{\n \"loadbalancer_protocol\": \"TCP\",\n \"service_port\": {\n \"port\": 80,\n \"protocol\": \"TCP\",\n \"target_port\": 8080,\n },\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 4,\n MemorySize = 8,\n KubernetesNodeRole = \"Worker\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes(\"default\", new()\n {\n NamePrefix = name,\n ClusterSpec = \"ack.pro.small\",\n WorkerVswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NewNatGateway = true,\n PodCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"10.0.0.0/8\",\n Newbits = 8,\n Netnum = 36,\n }).Apply(invoke =\u003e invoke.Result),\n ServiceCidr = Std.Cidrsubnet.Invoke(new()\n {\n Input = \"172.16.0.0/16\",\n Newbits = 4,\n Netnum = 7,\n }).Apply(invoke =\u003e invoke.Result),\n SlbInternetEnabled = true,\n });\n\n var defaultNodePool = new AliCloud.CS.NodePool(\"default\", new()\n {\n Name = name,\n ClusterId = defaultManagedKubernetes.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n },\n SystemDiskCategory = \"cloud_efficiency\",\n SystemDiskSize = 40,\n DesiredSize = \"2\",\n });\n\n var defaultK8sCluster = new AliCloud.Edas.K8sCluster(\"default\", new()\n {\n CsClusterId = defaultNodePool.ClusterId,\n });\n\n var defaultK8sApplication = new AliCloud.Edas.K8sApplication(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultK8sCluster.Id,\n PackageType = \"FatJar\",\n PackageUrl = \"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\",\n Jdk = \"Open JDK 8\",\n Replicas = 2,\n Readiness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n Liveness = \"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\",\n ApplicationDescriotion = name,\n });\n\n var defaultK8sSlbAttachment = new AliCloud.Edas.K8sSlbAttachment(\"default\", new()\n {\n AppId = defaultK8sApplication.Id,\n SlbConfigs = new[]\n {\n new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigArgs\n {\n Type = \"internet\",\n Scheduler = \"rr\",\n PortMappings = new[]\n {\n new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigPortMappingArgs\n {\n LoadbalancerProtocol = \"TCP\",\n ServicePort = new AliCloud.Edas.Inputs.K8sSlbAttachmentSlbConfigPortMappingServicePortArgs\n {\n Port = 80,\n Protocol = \"TCP\",\n TargetPort = 8080,\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tKubernetesNodeRole: pulumi.StringRef(\"Worker\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"10.0.0.0/8\",\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 36,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet1, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: \"172.16.0.0/16\",\n\t\t\tNewbits: 4,\n\t\t\tNetnum: 7,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, \"default\", \u0026cs.ManagedKubernetesArgs{\n\t\t\tNamePrefix: pulumi.String(name),\n\t\t\tClusterSpec: pulumi.String(\"ack.pro.small\"),\n\t\t\tWorkerVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tNewNatGateway: pulumi.Bool(true),\n\t\t\tPodCidr: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tServiceCidr: pulumi.String(invokeCidrsubnet1.Result),\n\t\t\tSlbInternetEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNodePool, err := cs.NewNodePool(ctx, \"default\", \u0026cs.NodePoolArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tClusterId: defaultManagedKubernetes.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t},\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSystemDiskSize: pulumi.Int(40),\n\t\t\tDesiredSize: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sCluster, err := edas.NewK8sCluster(ctx, \"default\", \u0026edas.K8sClusterArgs{\n\t\t\tCsClusterId: defaultNodePool.ClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultK8sApplication, err := edas.NewK8sApplication(ctx, \"default\", \u0026edas.K8sApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultK8sCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"FatJar\"),\n\t\t\tPackageUrl: pulumi.String(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tReplicas: pulumi.Int(2),\n\t\t\tReadiness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tLiveness: pulumi.String(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\"),\n\t\t\tApplicationDescriotion: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewK8sSlbAttachment(ctx, \"default\", \u0026edas.K8sSlbAttachmentArgs{\n\t\t\tAppId: defaultK8sApplication.ID(),\n\t\t\tSlbConfigs: edas.K8sSlbAttachmentSlbConfigArray{\n\t\t\t\t\u0026edas.K8sSlbAttachmentSlbConfigArgs{\n\t\t\t\t\tType: pulumi.String(\"internet\"),\n\t\t\t\t\tScheduler: pulumi.String(\"rr\"),\n\t\t\t\t\tPortMappings: edas.K8sSlbAttachmentSlbConfigPortMappingArray{\n\t\t\t\t\t\t\u0026edas.K8sSlbAttachmentSlbConfigPortMappingArgs{\n\t\t\t\t\t\t\tLoadbalancerProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\tServicePort: \u0026edas.K8sSlbAttachmentSlbConfigPortMappingServicePortArgs{\n\t\t\t\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.cs.ManagedKubernetes;\nimport com.pulumi.alicloud.cs.ManagedKubernetesArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.cs.NodePool;\nimport com.pulumi.alicloud.cs.NodePoolArgs;\nimport com.pulumi.alicloud.edas.K8sCluster;\nimport com.pulumi.alicloud.edas.K8sClusterArgs;\nimport com.pulumi.alicloud.edas.K8sApplication;\nimport com.pulumi.alicloud.edas.K8sApplicationArgs;\nimport com.pulumi.alicloud.edas.K8sSlbAttachment;\nimport com.pulumi.alicloud.edas.K8sSlbAttachmentArgs;\nimport com.pulumi.alicloud.edas.inputs.K8sSlbAttachmentSlbConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(4)\n .memorySize(8)\n .kubernetesNodeRole(\"Worker\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultManagedKubernetes = new ManagedKubernetes(\"defaultManagedKubernetes\", ManagedKubernetesArgs.builder()\n .namePrefix(name)\n .clusterSpec(\"ack.pro.small\")\n .workerVswitchIds(defaultSwitch.id())\n .newNatGateway(true)\n .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"10.0.0.0/8\")\n .newbits(8)\n .netnum(36)\n .build()).result())\n .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(\"172.16.0.0/16\")\n .newbits(4)\n .netnum(7)\n .build()).result())\n .slbInternetEnabled(true)\n .build());\n\n var defaultNodePool = new NodePool(\"defaultNodePool\", NodePoolArgs.builder()\n .name(name)\n .clusterId(defaultManagedKubernetes.id())\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .systemDiskSize(40)\n .desiredSize(\"2\")\n .build());\n\n var defaultK8sCluster = new K8sCluster(\"defaultK8sCluster\", K8sClusterArgs.builder()\n .csClusterId(defaultNodePool.clusterId())\n .build());\n\n var defaultK8sApplication = new K8sApplication(\"defaultK8sApplication\", K8sApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultK8sCluster.id())\n .packageType(\"FatJar\")\n .packageUrl(\"http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\")\n .jdk(\"Open JDK 8\")\n .replicas(2)\n .readiness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .liveness(\"{\\\"failureThreshold\\\": 3,\\\"initialDelaySeconds\\\": 5,\\\"successThreshold\\\": 1,\\\"timeoutSeconds\\\": 1,\\\"tcpSocket\\\":{\\\"port\\\":18081}}\")\n .applicationDescriotion(name)\n .build());\n\n var defaultK8sSlbAttachment = new K8sSlbAttachment(\"defaultK8sSlbAttachment\", K8sSlbAttachmentArgs.builder()\n .appId(defaultK8sApplication.id())\n .slbConfigs(K8sSlbAttachmentSlbConfigArgs.builder()\n .type(\"internet\")\n .scheduler(\"rr\")\n .portMappings(K8sSlbAttachmentSlbConfigPortMappingArgs.builder()\n .loadbalancerProtocol(\"TCP\")\n .servicePort(K8sSlbAttachmentSlbConfigPortMappingServicePortArgs.builder()\n .port(80)\n .protocol(\"TCP\")\n .targetPort(8080)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultManagedKubernetes:\n type: alicloud:cs:ManagedKubernetes\n name: default\n properties:\n namePrefix: ${name}\n clusterSpec: ack.pro.small\n workerVswitchIds:\n - ${defaultSwitch.id}\n newNatGateway: true\n podCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 10.0.0.0/8\n newbits: 8\n netnum: 36\n return: result\n serviceCidr:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: 172.16.0.0/16\n newbits: 4\n netnum: 7\n return: result\n slbInternetEnabled: true\n defaultNodePool:\n type: alicloud:cs:NodePool\n name: default\n properties:\n name: ${name}\n clusterId: ${defaultManagedKubernetes.id}\n vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n systemDiskSize: 40\n desiredSize: 2\n defaultK8sCluster:\n type: alicloud:edas:K8sCluster\n name: default\n properties:\n csClusterId: ${defaultNodePool.clusterId}\n defaultK8sApplication:\n type: alicloud:edas:K8sApplication\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultK8sCluster.id}\n packageType: FatJar\n packageUrl: http://edas-bj.oss-cn-beijing.aliyuncs.com/prod/demo/SPRING_CLOUD_PROVIDER.jar\n jdk: Open JDK 8\n replicas: 2\n readiness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n liveness: '{\"failureThreshold\": 3,\"initialDelaySeconds\": 5,\"successThreshold\": 1,\"timeoutSeconds\": 1,\"tcpSocket\":{\"port\":18081}}'\n applicationDescriotion: ${name}\n defaultK8sSlbAttachment:\n type: alicloud:edas:K8sSlbAttachment\n name: default\n properties:\n appId: ${defaultK8sApplication.id}\n slbConfigs:\n - type: internet\n scheduler: rr\n portMappings:\n - loadbalancerProtocol: TCP\n servicePort:\n port: 80\n protocol: TCP\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 4\n memorySize: 8\n kubernetesNodeRole: Worker\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSlb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g.\n\n```sh\n$ pulumi import alicloud:edas/k8sSlbAttachment:K8sSlbAttachment example \u003cEDAS k8s app id\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -163516,7 +166158,7 @@ } }, "alicloud:edas/namespace:Namespace": { - "description": "Provides a EDAS Namespace resource.\n\nFor information about EDAS Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/enterprise-distributed-application-service/latest/insertorupdateregion).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.edas.Namespace(\"default\", {\n debugEnable: false,\n description: name,\n namespaceLogicalId: `${region}:${name}`,\n namespaceName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.edas.Namespace(\"default\",\n debug_enable=False,\n description=name,\n namespace_logical_id=f\"{region}:{name}\",\n namespace_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.Edas.Namespace(\"default\", new()\n {\n DebugEnable = false,\n Description = name,\n NamespaceLogicalId = $\"{region}:{name}\",\n NamespaceName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := edas.NewNamespace(ctx, \"default\", \u0026edas.NamespaceArgs{\n\t\t\tDebugEnable: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespaceLogicalId: pulumi.Sprintf(\"%v:%v\", region, name),\n\t\t\tNamespaceName: pulumi.String(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.alicloud.edas.Namespace;\nimport com.pulumi.alicloud.edas.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new Namespace(\"default\", NamespaceArgs.builder()\n .debugEnable(false)\n .description(name)\n .namespaceLogicalId(String.format(\"%s:%s\", region,name))\n .namespaceName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:edas:Namespace\n properties:\n debugEnable: false\n description: ${name}\n namespaceLogicalId: ${region}:${name}\n namespaceName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEDAS Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/namespace:Namespace example \u003cid\u003e\n```\n\n", + "description": "Provides a EDAS Namespace resource.\n\nFor information about EDAS Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/enterprise-distributed-application-service/latest/insertorupdateregion).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.edas.Namespace(\"default\", {\n debugEnable: false,\n description: name,\n namespaceLogicalId: `${region}:${name}`,\n namespaceName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.edas.Namespace(\"default\",\n debug_enable=False,\n description=name,\n namespace_logical_id=f\"{region}:{name}\",\n namespace_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.Edas.Namespace(\"default\", new()\n {\n DebugEnable = false,\n Description = name,\n NamespaceLogicalId = $\"{region}:{name}\",\n NamespaceName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := edas.NewNamespace(ctx, \"default\", \u0026edas.NamespaceArgs{\n\t\t\tDebugEnable: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tNamespaceLogicalId: pulumi.Sprintf(\"%v:%v\", region, name),\n\t\t\tNamespaceName: pulumi.String(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.alicloud.edas.Namespace;\nimport com.pulumi.alicloud.edas.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new Namespace(\"default\", NamespaceArgs.builder()\n .debugEnable(false)\n .description(name)\n .namespaceLogicalId(String.format(\"%s:%s\", region,name))\n .namespaceName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:edas:Namespace\n properties:\n debugEnable: false\n description: ${name}\n namespaceLogicalId: ${region}:${name}\n namespaceName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEDAS Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:edas/namespace:Namespace example \u003cid\u003e\n```\n\n", "properties": { "debugEnable": { "type": "boolean", @@ -163588,7 +166230,7 @@ } }, "alicloud:edas/slbAttachment:SlbAttachment": { - "description": "Binds SLB to an EDAS application.\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n internetChargeType: \"PayByTraffic\",\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultSlbAttachment = new alicloud.edas.SlbAttachment(\"default\", {\n appId: defaultApplication.id,\n slbId: defaultApplicationLoadBalancer.id,\n slbIp: defaultApplicationLoadBalancer.address,\n type: defaultApplicationLoadBalancer.addressType,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n internet_charge_type=\"PayByTraffic\",\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_slb_attachment = alicloud.edas.SlbAttachment(\"default\",\n app_id=default_application.id,\n slb_id=default_application_load_balancer.id,\n slb_ip=default_application_load_balancer.address,\n type=default_application_load_balancer.address_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n InternetChargeType = \"PayByTraffic\",\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultSlbAttachment = new AliCloud.Edas.SlbAttachment(\"default\", new()\n {\n AppId = defaultApplication.Id,\n SlbId = defaultApplicationLoadBalancer.Id,\n SlbIp = defaultApplicationLoadBalancer.Address,\n Type = defaultApplicationLoadBalancer.AddressType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewSlbAttachment(ctx, \"default\", \u0026edas.SlbAttachmentArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tSlbIp: defaultApplicationLoadBalancer.Address,\n\t\t\tType: defaultApplicationLoadBalancer.AddressType,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.edas.SlbAttachment;\nimport com.pulumi.alicloud.edas.SlbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .internetChargeType(\"PayByTraffic\")\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultSlbAttachment = new SlbAttachment(\"defaultSlbAttachment\", SlbAttachmentArgs.builder()\n .appId(defaultApplication.id())\n .slbId(defaultApplicationLoadBalancer.id())\n .slbIp(defaultApplicationLoadBalancer.address())\n .type(defaultApplicationLoadBalancer.addressType())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n internetMaxBandwidthOut: '10'\n internetChargeType: PayByTraffic\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultSlbAttachment:\n type: alicloud:edas:SlbAttachment\n name: default\n properties:\n appId: ${defaultApplication.id}\n slbId: ${defaultApplicationLoadBalancer.id}\n slbIp: ${defaultApplicationLoadBalancer.address}\n type: ${defaultApplicationLoadBalancer.addressType}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Binds SLB to an EDAS application.\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = defaultGetZones.then(defaultGetZones =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: defaultGetZones.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n internetChargeType: \"PayByTraffic\",\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n});\nconst defaultCluster = new alicloud.edas.Cluster(\"default\", {\n clusterName: name,\n clusterType: 2,\n networkMode: 2,\n logicalRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n vpcId: defaultNetwork.id,\n});\nconst defaultInstanceClusterAttachment = new alicloud.edas.InstanceClusterAttachment(\"default\", {\n clusterId: defaultCluster.id,\n instanceIds: [defaultInstance.id],\n});\nconst defaultApplication = new alicloud.edas.Application(\"default\", {\n applicationName: name,\n clusterId: defaultCluster.id,\n packageType: \"JAR\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultSlbAttachment = new alicloud.edas.SlbAttachment(\"default\", {\n appId: defaultApplication.id,\n slbId: defaultApplicationLoadBalancer.id,\n slbIp: defaultApplicationLoadBalancer.address,\n type: defaultApplicationLoadBalancer.addressType,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default_get_zones.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n internet_charge_type=\"PayByTraffic\",\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\")\ndefault_cluster = alicloud.edas.Cluster(\"default\",\n cluster_name=name,\n cluster_type=2,\n network_mode=2,\n logical_region_id=default.regions[0].id,\n vpc_id=default_network.id)\ndefault_instance_cluster_attachment = alicloud.edas.InstanceClusterAttachment(\"default\",\n cluster_id=default_cluster.id,\n instance_ids=[default_instance.id])\ndefault_application = alicloud.edas.Application(\"default\",\n application_name=name,\n cluster_id=default_cluster.id,\n package_type=\"JAR\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_slb_attachment = alicloud.edas.SlbAttachment(\"default\",\n app_id=default_application.id,\n slb_id=default_application_load_balancer.id,\n slb_ip=default_application_load_balancer.address,\n type=default_application_load_balancer.address_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n InternetChargeType = \"PayByTraffic\",\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n });\n\n var defaultCluster = new AliCloud.Edas.Cluster(\"default\", new()\n {\n ClusterName = name,\n ClusterType = 2,\n NetworkMode = 2,\n LogicalRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstanceClusterAttachment = new AliCloud.Edas.InstanceClusterAttachment(\"default\", new()\n {\n ClusterId = defaultCluster.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n });\n\n var defaultApplication = new AliCloud.Edas.Application(\"default\", new()\n {\n ApplicationName = name,\n ClusterId = defaultCluster.Id,\n PackageType = \"JAR\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultSlbAttachment = new AliCloud.Edas.SlbAttachment(\"default\", new()\n {\n AppId = defaultApplication.Id,\n SlbId = defaultApplicationLoadBalancer.Id,\n SlbIp = defaultApplicationLoadBalancer.Address,\n Type = defaultApplicationLoadBalancer.AddressType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/edas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := edas.NewCluster(ctx, \"default\", \u0026edas.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterType: pulumi.Int(2),\n\t\t\tNetworkMode: pulumi.Int(2),\n\t\t\tLogicalRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewInstanceClusterAttachment(ctx, \"default\", \u0026edas.InstanceClusterAttachmentArgs{\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := edas.NewApplication(ctx, \"default\", \u0026edas.ApplicationArgs{\n\t\t\tApplicationName: pulumi.String(name),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tPackageType: pulumi.String(\"JAR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edas.NewSlbAttachment(ctx, \"default\", \u0026edas.SlbAttachmentArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tSlbIp: defaultApplicationLoadBalancer.Address,\n\t\t\tType: defaultApplicationLoadBalancer.AddressType,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.edas.Cluster;\nimport com.pulumi.alicloud.edas.ClusterArgs;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachment;\nimport com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;\nimport com.pulumi.alicloud.edas.Application;\nimport com.pulumi.alicloud.edas.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.edas.SlbAttachment;\nimport com.pulumi.alicloud.edas.SlbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .internetChargeType(\"PayByTraffic\")\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .clusterType(2)\n .networkMode(2)\n .logicalRegionId(default_.regions()[0].id())\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstanceClusterAttachment = new InstanceClusterAttachment(\"defaultInstanceClusterAttachment\", InstanceClusterAttachmentArgs.builder()\n .clusterId(defaultCluster.id())\n .instanceIds(defaultInstance.id())\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .applicationName(name)\n .clusterId(defaultCluster.id())\n .packageType(\"JAR\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultSlbAttachment = new SlbAttachment(\"defaultSlbAttachment\", SlbAttachmentArgs.builder()\n .appId(defaultApplication.id())\n .slbId(defaultApplicationLoadBalancer.id())\n .slbIp(defaultApplicationLoadBalancer.address())\n .type(defaultApplicationLoadBalancer.addressType())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${defaultGetZones.zones[0].id}\n instanceName: ${name}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n vswitchId: ${defaultSwitch.id}\n internetMaxBandwidthOut: '10'\n internetChargeType: PayByTraffic\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n defaultCluster:\n type: alicloud:edas:Cluster\n name: default\n properties:\n clusterName: ${name}\n clusterType: '2'\n networkMode: '2'\n logicalRegionId: ${default.regions[0].id}\n vpcId: ${defaultNetwork.id}\n defaultInstanceClusterAttachment:\n type: alicloud:edas:InstanceClusterAttachment\n name: default\n properties:\n clusterId: ${defaultCluster.id}\n instanceIds:\n - ${defaultInstance.id}\n defaultApplication:\n type: alicloud:edas:Application\n name: default\n properties:\n applicationName: ${name}\n clusterId: ${defaultCluster.id}\n packageType: JAR\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultSlbAttachment:\n type: alicloud:edas:SlbAttachment\n name: default\n properties:\n appId: ${defaultApplication.id}\n slbId: ${defaultApplicationLoadBalancer.id}\n slbIp: ${defaultApplicationLoadBalancer.address}\n type: ${defaultApplicationLoadBalancer.addressType}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${defaultGetZones.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "appId": { "type": "string", @@ -163715,7 +166357,7 @@ } }, "alicloud:eds/adConnectorDirectory:AdConnectorDirectory": { - "description": "Provides a ECD Ad Connector Directory resource.\n\nFor information about ECD Ad Connector Directory and how to use it, see [What is Ad Connector Directory](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createadconnectordirectory).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAdConnectorDirectory = new alicloud.eds.AdConnectorDirectory(\"default\", {\n directoryName: `${name}-${defaultInteger.result}`,\n desktopAccessType: \"INTERNET\",\n dnsAddresses: [\"127.0.0.2\"],\n domainName: \"corp.example.com\",\n domainPassword: \"Example1234\",\n domainUserName: \"sAMAccountName\",\n enableAdminAccess: false,\n mfaEnabled: false,\n specification: 1,\n subDomainDnsAddresses: [\"127.0.0.3\"],\n subDomainName: \"child.example.com\",\n vswitchIds: [defaultSwitch.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_ad_connector_directory = alicloud.eds.AdConnectorDirectory(\"default\",\n directory_name=f\"{name}-{default_integer['result']}\",\n desktop_access_type=\"INTERNET\",\n dns_addresses=[\"127.0.0.2\"],\n domain_name=\"corp.example.com\",\n domain_password=\"Example1234\",\n domain_user_name=\"sAMAccountName\",\n enable_admin_access=False,\n mfa_enabled=False,\n specification=1,\n sub_domain_dns_addresses=[\"127.0.0.3\"],\n sub_domain_name=\"child.example.com\",\n vswitch_ids=[default_switch.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAdConnectorDirectory = new AliCloud.Eds.AdConnectorDirectory(\"default\", new()\n {\n DirectoryName = $\"{name}-{defaultInteger.Result}\",\n DesktopAccessType = \"INTERNET\",\n DnsAddresses = new[]\n {\n \"127.0.0.2\",\n },\n DomainName = \"corp.example.com\",\n DomainPassword = \"Example1234\",\n DomainUserName = \"sAMAccountName\",\n EnableAdminAccess = false,\n MfaEnabled = false,\n Specification = 1,\n SubDomainDnsAddresses = new[]\n {\n \"127.0.0.3\",\n },\n SubDomainName = \"child.example.com\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetZones(ctx, \u0026eds.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewAdConnectorDirectory(ctx, \"default\", \u0026eds.AdConnectorDirectoryArgs{\n\t\t\tDirectoryName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.2\"),\n\t\t\t},\n\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\tDomainPassword: pulumi.String(\"Example1234\"),\n\t\t\tDomainUserName: pulumi.String(\"sAMAccountName\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tMfaEnabled: pulumi.Bool(false),\n\t\t\tSpecification: pulumi.Int(1),\n\t\t\tSubDomainDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.3\"),\n\t\t\t},\n\t\t\tSubDomainName: pulumi.String(\"child.example.com\"),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.AdConnectorDirectory;\nimport com.pulumi.alicloud.eds.AdConnectorDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAdConnectorDirectory = new AdConnectorDirectory(\"defaultAdConnectorDirectory\", AdConnectorDirectoryArgs.builder()\n .directoryName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .desktopAccessType(\"INTERNET\")\n .dnsAddresses(\"127.0.0.2\")\n .domainName(\"corp.example.com\")\n .domainPassword(\"Example1234\")\n .domainUserName(\"sAMAccountName\")\n .enableAdminAccess(false)\n .mfaEnabled(false)\n .specification(1)\n .subDomainDnsAddresses(\"127.0.0.3\")\n .subDomainName(\"child.example.com\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultAdConnectorDirectory:\n type: alicloud:eds:AdConnectorDirectory\n name: default\n properties:\n directoryName: ${name}-${defaultInteger.result}\n desktopAccessType: INTERNET\n dnsAddresses:\n - 127.0.0.2\n domainName: corp.example.com\n domainPassword: Example1234\n domainUserName: sAMAccountName\n enableAdminAccess: false\n mfaEnabled: false\n specification: 1\n subDomainDnsAddresses:\n - 127.0.0.3\n subDomainName: child.example.com\n vswitchIds:\n - ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Ad Connector Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/adConnectorDirectory:AdConnectorDirectory example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Ad Connector Directory resource.\n\nFor information about ECD Ad Connector Directory and how to use it, see [What is Ad Connector Directory](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createadconnectordirectory).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAdConnectorDirectory = new alicloud.eds.AdConnectorDirectory(\"default\", {\n directoryName: `${name}-${defaultInteger.result}`,\n desktopAccessType: \"INTERNET\",\n dnsAddresses: [\"127.0.0.2\"],\n domainName: \"corp.example.com\",\n domainPassword: \"Example1234\",\n domainUserName: \"sAMAccountName\",\n enableAdminAccess: false,\n mfaEnabled: false,\n specification: 1,\n subDomainDnsAddresses: [\"127.0.0.3\"],\n subDomainName: \"child.example.com\",\n vswitchIds: [defaultSwitch.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_ad_connector_directory = alicloud.eds.AdConnectorDirectory(\"default\",\n directory_name=f\"{name}-{default_integer['result']}\",\n desktop_access_type=\"INTERNET\",\n dns_addresses=[\"127.0.0.2\"],\n domain_name=\"corp.example.com\",\n domain_password=\"Example1234\",\n domain_user_name=\"sAMAccountName\",\n enable_admin_access=False,\n mfa_enabled=False,\n specification=1,\n sub_domain_dns_addresses=[\"127.0.0.3\"],\n sub_domain_name=\"child.example.com\",\n vswitch_ids=[default_switch.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAdConnectorDirectory = new AliCloud.Eds.AdConnectorDirectory(\"default\", new()\n {\n DirectoryName = $\"{name}-{defaultInteger.Result}\",\n DesktopAccessType = \"INTERNET\",\n DnsAddresses = new[]\n {\n \"127.0.0.2\",\n },\n DomainName = \"corp.example.com\",\n DomainPassword = \"Example1234\",\n DomainUserName = \"sAMAccountName\",\n EnableAdminAccess = false,\n MfaEnabled = false,\n Specification = 1,\n SubDomainDnsAddresses = new[]\n {\n \"127.0.0.3\",\n },\n SubDomainName = \"child.example.com\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetZones(ctx, \u0026eds.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewAdConnectorDirectory(ctx, \"default\", \u0026eds.AdConnectorDirectoryArgs{\n\t\t\tDirectoryName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.2\"),\n\t\t\t},\n\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\tDomainPassword: pulumi.String(\"Example1234\"),\n\t\t\tDomainUserName: pulumi.String(\"sAMAccountName\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tMfaEnabled: pulumi.Bool(false),\n\t\t\tSpecification: pulumi.Int(1),\n\t\t\tSubDomainDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.3\"),\n\t\t\t},\n\t\t\tSubDomainName: pulumi.String(\"child.example.com\"),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.AdConnectorDirectory;\nimport com.pulumi.alicloud.eds.AdConnectorDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAdConnectorDirectory = new AdConnectorDirectory(\"defaultAdConnectorDirectory\", AdConnectorDirectoryArgs.builder()\n .directoryName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .desktopAccessType(\"INTERNET\")\n .dnsAddresses(\"127.0.0.2\")\n .domainName(\"corp.example.com\")\n .domainPassword(\"Example1234\")\n .domainUserName(\"sAMAccountName\")\n .enableAdminAccess(false)\n .mfaEnabled(false)\n .specification(1)\n .subDomainDnsAddresses(\"127.0.0.3\")\n .subDomainName(\"child.example.com\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultAdConnectorDirectory:\n type: alicloud:eds:AdConnectorDirectory\n name: default\n properties:\n directoryName: ${name}-${defaultInteger.result}\n desktopAccessType: INTERNET\n dnsAddresses:\n - 127.0.0.2\n domainName: corp.example.com\n domainPassword: Example1234\n domainUserName: sAMAccountName\n enableAdminAccess: false\n mfaEnabled: false\n specification: 1\n subDomainDnsAddresses:\n - 127.0.0.3\n subDomainName: child.example.com\n vswitchIds:\n - ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Ad Connector Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/adConnectorDirectory:AdConnectorDirectory example \u003cid\u003e\n```\n\n", "properties": { "desktopAccessType": { "type": "string", @@ -163950,7 +166592,7 @@ } }, "alicloud:eds/adConnectorOfficeSite:AdConnectorOfficeSite": { - "description": "Provides a ECD Ad Connector Office Site resource.\n\nFor information about ECD Ad Connector Office Site and how to use it, see [What is Ad Connector Office Site](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createadconnectorofficesite).\n\n\u003e **NOTE:** Available since v1.176.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultAdConnectorOfficeSite = new alicloud.eds.AdConnectorOfficeSite(\"default\", {\n adConnectorOfficeSiteName: name,\n bandwidth: 100,\n cenId: _default.id,\n cidrBlock: \"10.0.0.0/12\",\n desktopAccessType: \"INTERNET\",\n dnsAddresses: [\"127.0.0.2\"],\n domainName: \"corp.example.com\",\n domainPassword: \"Example1234\",\n domainUserName: \"sAMAccountName\",\n enableAdminAccess: false,\n enableInternetAccess: false,\n mfaEnabled: false,\n subDomainDnsAddresses: [\"127.0.0.3\"],\n subDomainName: \"child.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_ad_connector_office_site = alicloud.eds.AdConnectorOfficeSite(\"default\",\n ad_connector_office_site_name=name,\n bandwidth=100,\n cen_id=default.id,\n cidr_block=\"10.0.0.0/12\",\n desktop_access_type=\"INTERNET\",\n dns_addresses=[\"127.0.0.2\"],\n domain_name=\"corp.example.com\",\n domain_password=\"Example1234\",\n domain_user_name=\"sAMAccountName\",\n enable_admin_access=False,\n enable_internet_access=False,\n mfa_enabled=False,\n sub_domain_dns_addresses=[\"127.0.0.3\"],\n sub_domain_name=\"child.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultAdConnectorOfficeSite = new AliCloud.Eds.AdConnectorOfficeSite(\"default\", new()\n {\n AdConnectorOfficeSiteName = name,\n Bandwidth = 100,\n CenId = @default.Id,\n CidrBlock = \"10.0.0.0/12\",\n DesktopAccessType = \"INTERNET\",\n DnsAddresses = new[]\n {\n \"127.0.0.2\",\n },\n DomainName = \"corp.example.com\",\n DomainPassword = \"Example1234\",\n DomainUserName = \"sAMAccountName\",\n EnableAdminAccess = false,\n EnableInternetAccess = false,\n MfaEnabled = false,\n SubDomainDnsAddresses = new[]\n {\n \"127.0.0.3\",\n },\n SubDomainName = \"child.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewAdConnectorOfficeSite(ctx, \"default\", \u0026eds.AdConnectorOfficeSiteArgs{\n\t\t\tAdConnectorOfficeSiteName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tCenId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/12\"),\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.2\"),\n\t\t\t},\n\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\tDomainPassword: pulumi.String(\"Example1234\"),\n\t\t\tDomainUserName: pulumi.String(\"sAMAccountName\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tEnableInternetAccess: pulumi.Bool(false),\n\t\t\tMfaEnabled: pulumi.Bool(false),\n\t\t\tSubDomainDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.3\"),\n\t\t\t},\n\t\t\tSubDomainName: pulumi.String(\"child.example.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.eds.AdConnectorOfficeSite;\nimport com.pulumi.alicloud.eds.AdConnectorOfficeSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultAdConnectorOfficeSite = new AdConnectorOfficeSite(\"defaultAdConnectorOfficeSite\", AdConnectorOfficeSiteArgs.builder()\n .adConnectorOfficeSiteName(name)\n .bandwidth(100)\n .cenId(default_.id())\n .cidrBlock(\"10.0.0.0/12\")\n .desktopAccessType(\"INTERNET\")\n .dnsAddresses(\"127.0.0.2\")\n .domainName(\"corp.example.com\")\n .domainPassword(\"Example1234\")\n .domainUserName(\"sAMAccountName\")\n .enableAdminAccess(false)\n .enableInternetAccess(false)\n .mfaEnabled(false)\n .subDomainDnsAddresses(\"127.0.0.3\")\n .subDomainName(\"child.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultAdConnectorOfficeSite:\n type: alicloud:eds:AdConnectorOfficeSite\n name: default\n properties:\n adConnectorOfficeSiteName: ${name}\n bandwidth: 100\n cenId: ${default.id}\n cidrBlock: 10.0.0.0/12\n desktopAccessType: INTERNET\n dnsAddresses:\n - 127.0.0.2\n domainName: corp.example.com\n domainPassword: Example1234\n domainUserName: sAMAccountName\n enableAdminAccess: false\n enableInternetAccess: false\n mfaEnabled: false\n subDomainDnsAddresses:\n - 127.0.0.3\n subDomainName: child.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Ad Connector Office Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/adConnectorOfficeSite:AdConnectorOfficeSite example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Ad Connector Office Site resource.\n\nFor information about ECD Ad Connector Office Site and how to use it, see [What is Ad Connector Office Site](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createadconnectorofficesite).\n\n\u003e **NOTE:** Available since v1.176.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.cen.Instance(\"default\", {\n cenInstanceName: name,\n protectionLevel: \"REDUCED\",\n});\nconst defaultAdConnectorOfficeSite = new alicloud.eds.AdConnectorOfficeSite(\"default\", {\n adConnectorOfficeSiteName: name,\n bandwidth: 100,\n cenId: _default.id,\n cidrBlock: \"10.0.0.0/12\",\n desktopAccessType: \"INTERNET\",\n dnsAddresses: [\"127.0.0.2\"],\n domainName: \"corp.example.com\",\n domainPassword: \"Example1234\",\n domainUserName: \"sAMAccountName\",\n enableAdminAccess: false,\n enableInternetAccess: false,\n mfaEnabled: false,\n subDomainDnsAddresses: [\"127.0.0.3\"],\n subDomainName: \"child.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.cen.Instance(\"default\",\n cen_instance_name=name,\n protection_level=\"REDUCED\")\ndefault_ad_connector_office_site = alicloud.eds.AdConnectorOfficeSite(\"default\",\n ad_connector_office_site_name=name,\n bandwidth=100,\n cen_id=default.id,\n cidr_block=\"10.0.0.0/12\",\n desktop_access_type=\"INTERNET\",\n dns_addresses=[\"127.0.0.2\"],\n domain_name=\"corp.example.com\",\n domain_password=\"Example1234\",\n domain_user_name=\"sAMAccountName\",\n enable_admin_access=False,\n enable_internet_access=False,\n mfa_enabled=False,\n sub_domain_dns_addresses=[\"127.0.0.3\"],\n sub_domain_name=\"child.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var defaultAdConnectorOfficeSite = new AliCloud.Eds.AdConnectorOfficeSite(\"default\", new()\n {\n AdConnectorOfficeSiteName = name,\n Bandwidth = 100,\n CenId = @default.Id,\n CidrBlock = \"10.0.0.0/12\",\n DesktopAccessType = \"INTERNET\",\n DnsAddresses = new[]\n {\n \"127.0.0.2\",\n },\n DomainName = \"corp.example.com\",\n DomainPassword = \"Example1234\",\n DomainUserName = \"sAMAccountName\",\n EnableAdminAccess = false,\n EnableInternetAccess = false,\n MfaEnabled = false,\n SubDomainDnsAddresses = new[]\n {\n \"127.0.0.3\",\n },\n SubDomainName = \"child.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewAdConnectorOfficeSite(ctx, \"default\", \u0026eds.AdConnectorOfficeSiteArgs{\n\t\t\tAdConnectorOfficeSiteName: pulumi.String(name),\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tCenId: _default.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/12\"),\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.2\"),\n\t\t\t},\n\t\t\tDomainName: pulumi.String(\"corp.example.com\"),\n\t\t\tDomainPassword: pulumi.String(\"Example1234\"),\n\t\t\tDomainUserName: pulumi.String(\"sAMAccountName\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tEnableInternetAccess: pulumi.Bool(false),\n\t\t\tMfaEnabled: pulumi.Bool(false),\n\t\t\tSubDomainDnsAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.3\"),\n\t\t\t},\n\t\t\tSubDomainName: pulumi.String(\"child.example.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.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.eds.AdConnectorOfficeSite;\nimport com.pulumi.alicloud.eds.AdConnectorOfficeSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .cenInstanceName(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n var defaultAdConnectorOfficeSite = new AdConnectorOfficeSite(\"defaultAdConnectorOfficeSite\", AdConnectorOfficeSiteArgs.builder()\n .adConnectorOfficeSiteName(name)\n .bandwidth(100)\n .cenId(default_.id())\n .cidrBlock(\"10.0.0.0/12\")\n .desktopAccessType(\"INTERNET\")\n .dnsAddresses(\"127.0.0.2\")\n .domainName(\"corp.example.com\")\n .domainPassword(\"Example1234\")\n .domainUserName(\"sAMAccountName\")\n .enableAdminAccess(false)\n .enableInternetAccess(false)\n .mfaEnabled(false)\n .subDomainDnsAddresses(\"127.0.0.3\")\n .subDomainName(\"child.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n protectionLevel: REDUCED\n defaultAdConnectorOfficeSite:\n type: alicloud:eds:AdConnectorOfficeSite\n name: default\n properties:\n adConnectorOfficeSiteName: ${name}\n bandwidth: 100\n cenId: ${default.id}\n cidrBlock: 10.0.0.0/12\n desktopAccessType: INTERNET\n dnsAddresses:\n - 127.0.0.2\n domainName: corp.example.com\n domainPassword: Example1234\n domainUserName: sAMAccountName\n enableAdminAccess: false\n enableInternetAccess: false\n mfaEnabled: false\n subDomainDnsAddresses:\n - 127.0.0.3\n subDomainName: child.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Ad Connector Office Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/adConnectorOfficeSite:AdConnectorOfficeSite example \u003cid\u003e\n```\n\n", "properties": { "adConnectorOfficeSiteName": { "type": "string", @@ -164248,7 +166890,7 @@ } }, "alicloud:eds/bundle:Bundle": { - "description": "Provides a ECD Bundle resource.\n\nFor information about ECD Bundle and how to use it, see [What is Bundle](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createbundle).\n\n\u003e **NOTE:** Available since v1.170.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getImages({\n imageType: \"SYSTEM\",\n osType: \"Windows\",\n desktopInstanceType: \"eds.hf.4c8g\",\n});\nconst defaultGetDesktopTypes = alicloud.eds.getDesktopTypes({\n instanceTypeFamily: \"eds.hf\",\n cpuCount: 4,\n memorySize: 8192,\n});\nconst defaultBundle = new alicloud.eds.Bundle(\"default\", {\n description: name,\n desktopType: defaultGetDesktopTypes.then(defaultGetDesktopTypes =\u003e defaultGetDesktopTypes.ids?.[0]),\n bundleName: name,\n imageId: _default.then(_default =\u003e _default.ids?.[0]),\n userDiskSizeGibs: [70],\n rootDiskSizeGib: 80,\n rootDiskPerformanceLevel: \"PL1\",\n userDiskPerformanceLevel: \"PL1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_images(image_type=\"SYSTEM\",\n os_type=\"Windows\",\n desktop_instance_type=\"eds.hf.4c8g\")\ndefault_get_desktop_types = alicloud.eds.get_desktop_types(instance_type_family=\"eds.hf\",\n cpu_count=4,\n memory_size=8192)\ndefault_bundle = alicloud.eds.Bundle(\"default\",\n description=name,\n desktop_type=default_get_desktop_types.ids[0],\n bundle_name=name,\n image_id=default.ids[0],\n user_disk_size_gibs=[70],\n root_disk_size_gib=80,\n root_disk_performance_level=\"PL1\",\n user_disk_performance_level=\"PL1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetImages.Invoke(new()\n {\n ImageType = \"SYSTEM\",\n OsType = \"Windows\",\n DesktopInstanceType = \"eds.hf.4c8g\",\n });\n\n var defaultGetDesktopTypes = AliCloud.Eds.GetDesktopTypes.Invoke(new()\n {\n InstanceTypeFamily = \"eds.hf\",\n CpuCount = 4,\n MemorySize = 8192,\n });\n\n var defaultBundle = new AliCloud.Eds.Bundle(\"default\", new()\n {\n Description = name,\n DesktopType = defaultGetDesktopTypes.Apply(getDesktopTypesResult =\u003e getDesktopTypesResult.Ids[0]),\n BundleName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Ids[0])),\n UserDiskSizeGibs = new[]\n {\n 70,\n },\n RootDiskSizeGib = 80,\n RootDiskPerformanceLevel = \"PL1\",\n UserDiskPerformanceLevel = \"PL1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetImages(ctx, \u0026eds.GetImagesArgs{\n\t\t\tImageType: pulumi.StringRef(\"SYSTEM\"),\n\t\t\tOsType: pulumi.StringRef(\"Windows\"),\n\t\t\tDesktopInstanceType: pulumi.StringRef(\"eds.hf.4c8g\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetDesktopTypes, err := eds.GetDesktopTypes(ctx, \u0026eds.GetDesktopTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"eds.hf\"),\n\t\t\tCpuCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.IntRef(8192),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewBundle(ctx, \"default\", \u0026eds.BundleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDesktopType: pulumi.String(defaultGetDesktopTypes.Ids[0]),\n\t\t\tBundleName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Ids[0]),\n\t\t\tUserDiskSizeGibs: pulumi.IntArray{\n\t\t\t\tpulumi.Int(70),\n\t\t\t},\n\t\t\tRootDiskSizeGib: pulumi.Int(80),\n\t\t\tRootDiskPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tUserDiskPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.eds.inputs.GetDesktopTypesArgs;\nimport com.pulumi.alicloud.eds.Bundle;\nimport com.pulumi.alicloud.eds.BundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getImages(GetImagesArgs.builder()\n .imageType(\"SYSTEM\")\n .osType(\"Windows\")\n .desktopInstanceType(\"eds.hf.4c8g\")\n .build());\n\n final var defaultGetDesktopTypes = EdsFunctions.getDesktopTypes(GetDesktopTypesArgs.builder()\n .instanceTypeFamily(\"eds.hf\")\n .cpuCount(4)\n .memorySize(8192)\n .build());\n\n var defaultBundle = new Bundle(\"defaultBundle\", BundleArgs.builder()\n .description(name)\n .desktopType(defaultGetDesktopTypes.ids()[0])\n .bundleName(name)\n .imageId(default_.ids()[0])\n .userDiskSizeGibs(70)\n .rootDiskSizeGib(80)\n .rootDiskPerformanceLevel(\"PL1\")\n .userDiskPerformanceLevel(\"PL1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultBundle:\n type: alicloud:eds:Bundle\n name: default\n properties:\n description: ${name}\n desktopType: ${defaultGetDesktopTypes.ids[0]}\n bundleName: ${name}\n imageId: ${default.ids[0]}\n userDiskSizeGibs:\n - 70\n rootDiskSizeGib: 80\n rootDiskPerformanceLevel: PL1\n userDiskPerformanceLevel: PL1\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getImages\n arguments:\n imageType: SYSTEM\n osType: Windows\n desktopInstanceType: eds.hf.4c8g\n defaultGetDesktopTypes:\n fn::invoke:\n function: alicloud:eds:getDesktopTypes\n arguments:\n instanceTypeFamily: eds.hf\n cpuCount: 4\n memorySize: 8192\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Bundle can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/bundle:Bundle example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Bundle resource.\n\nFor information about ECD Bundle and how to use it, see [What is Bundle](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createbundle).\n\n\u003e **NOTE:** Available since v1.170.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getImages({\n imageType: \"SYSTEM\",\n osType: \"Windows\",\n desktopInstanceType: \"eds.hf.4c8g\",\n});\nconst defaultGetDesktopTypes = alicloud.eds.getDesktopTypes({\n instanceTypeFamily: \"eds.hf\",\n cpuCount: 4,\n memorySize: 8192,\n});\nconst defaultBundle = new alicloud.eds.Bundle(\"default\", {\n description: name,\n desktopType: defaultGetDesktopTypes.then(defaultGetDesktopTypes =\u003e defaultGetDesktopTypes.ids?.[0]),\n bundleName: name,\n imageId: _default.then(_default =\u003e _default.ids?.[0]),\n userDiskSizeGibs: [70],\n rootDiskSizeGib: 80,\n rootDiskPerformanceLevel: \"PL1\",\n userDiskPerformanceLevel: \"PL1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_images(image_type=\"SYSTEM\",\n os_type=\"Windows\",\n desktop_instance_type=\"eds.hf.4c8g\")\ndefault_get_desktop_types = alicloud.eds.get_desktop_types(instance_type_family=\"eds.hf\",\n cpu_count=4,\n memory_size=8192)\ndefault_bundle = alicloud.eds.Bundle(\"default\",\n description=name,\n desktop_type=default_get_desktop_types.ids[0],\n bundle_name=name,\n image_id=default.ids[0],\n user_disk_size_gibs=[70],\n root_disk_size_gib=80,\n root_disk_performance_level=\"PL1\",\n user_disk_performance_level=\"PL1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetImages.Invoke(new()\n {\n ImageType = \"SYSTEM\",\n OsType = \"Windows\",\n DesktopInstanceType = \"eds.hf.4c8g\",\n });\n\n var defaultGetDesktopTypes = AliCloud.Eds.GetDesktopTypes.Invoke(new()\n {\n InstanceTypeFamily = \"eds.hf\",\n CpuCount = 4,\n MemorySize = 8192,\n });\n\n var defaultBundle = new AliCloud.Eds.Bundle(\"default\", new()\n {\n Description = name,\n DesktopType = defaultGetDesktopTypes.Apply(getDesktopTypesResult =\u003e getDesktopTypesResult.Ids[0]),\n BundleName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Ids[0])),\n UserDiskSizeGibs = new[]\n {\n 70,\n },\n RootDiskSizeGib = 80,\n RootDiskPerformanceLevel = \"PL1\",\n UserDiskPerformanceLevel = \"PL1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetImages(ctx, \u0026eds.GetImagesArgs{\n\t\t\tImageType: pulumi.StringRef(\"SYSTEM\"),\n\t\t\tOsType: pulumi.StringRef(\"Windows\"),\n\t\t\tDesktopInstanceType: pulumi.StringRef(\"eds.hf.4c8g\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetDesktopTypes, err := eds.GetDesktopTypes(ctx, \u0026eds.GetDesktopTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"eds.hf\"),\n\t\t\tCpuCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.IntRef(8192),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewBundle(ctx, \"default\", \u0026eds.BundleArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDesktopType: pulumi.String(defaultGetDesktopTypes.Ids[0]),\n\t\t\tBundleName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Ids[0]),\n\t\t\tUserDiskSizeGibs: pulumi.IntArray{\n\t\t\t\tpulumi.Int(70),\n\t\t\t},\n\t\t\tRootDiskSizeGib: pulumi.Int(80),\n\t\t\tRootDiskPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tUserDiskPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.eds.inputs.GetDesktopTypesArgs;\nimport com.pulumi.alicloud.eds.Bundle;\nimport com.pulumi.alicloud.eds.BundleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getImages(GetImagesArgs.builder()\n .imageType(\"SYSTEM\")\n .osType(\"Windows\")\n .desktopInstanceType(\"eds.hf.4c8g\")\n .build());\n\n final var defaultGetDesktopTypes = EdsFunctions.getDesktopTypes(GetDesktopTypesArgs.builder()\n .instanceTypeFamily(\"eds.hf\")\n .cpuCount(4)\n .memorySize(8192)\n .build());\n\n var defaultBundle = new Bundle(\"defaultBundle\", BundleArgs.builder()\n .description(name)\n .desktopType(defaultGetDesktopTypes.ids()[0])\n .bundleName(name)\n .imageId(default_.ids()[0])\n .userDiskSizeGibs(70)\n .rootDiskSizeGib(80)\n .rootDiskPerformanceLevel(\"PL1\")\n .userDiskPerformanceLevel(\"PL1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultBundle:\n type: alicloud:eds:Bundle\n name: default\n properties:\n description: ${name}\n desktopType: ${defaultGetDesktopTypes.ids[0]}\n bundleName: ${name}\n imageId: ${default.ids[0]}\n userDiskSizeGibs:\n - 70\n rootDiskSizeGib: 80\n rootDiskPerformanceLevel: PL1\n userDiskPerformanceLevel: PL1\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getImages\n arguments:\n imageType: SYSTEM\n osType: Windows\n desktopInstanceType: eds.hf.4c8g\n defaultGetDesktopTypes:\n fn::invoke:\n function: alicloud:eds:getDesktopTypes\n arguments:\n instanceTypeFamily: eds.hf\n cpuCount: 4\n memorySize: 8192\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Bundle can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/bundle:Bundle example \u003cid\u003e\n```\n\n", "properties": { "bundleName": { "type": "string", @@ -164402,7 +167044,7 @@ } }, "alicloud:eds/command:Command": { - "description": "Provides a ECD Command resource.\n\nFor information about ECD Command and how to use it, see [What is Command](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-runcommand).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n bundleIds: [\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n ],\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[0]?.id),\n desktopName: name,\n});\nconst defaultCommand = new alicloud.eds.Command(\"default\", {\n commandContent: \"ipconfig\",\n commandType: \"RunPowerShellScript\",\n desktopId: defaultDesktop.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\",\n bundle_ids=[\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n ])\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[0].id,\n desktop_name=name)\ndefault_command = alicloud.eds.Command(\"default\",\n command_content=\"ipconfig\",\n command_type=\"RunPowerShellScript\",\n desktop_id=default_desktop.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n BundleIds = new[]\n {\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n },\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[0]?.Id)),\n DesktopName = name,\n });\n\n var defaultCommand = new AliCloud.Eds.Command(\"default\", new()\n {\n CommandContent = \"ipconfig\",\n CommandType = \"RunPowerShellScript\",\n DesktopId = defaultDesktop.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t\tBundleIds: []string{\n\t\t\t\t\"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n\t\t\t\t\"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[0].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewCommand(ctx, \"default\", \u0026eds.CommandArgs{\n\t\t\tCommandContent: pulumi.String(\"ipconfig\"),\n\t\t\tCommandType: pulumi.String(\"RunPowerShellScript\"),\n\t\t\tDesktopId: defaultDesktop.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Command;\nimport com.pulumi.alicloud.eds.CommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .bundleIds( \n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[0].id())\n .desktopName(name)\n .build());\n\n var defaultCommand = new Command(\"defaultCommand\", CommandArgs.builder()\n .commandContent(\"ipconfig\")\n .commandType(\"RunPowerShellScript\")\n .desktopId(defaultDesktop.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[0].id}\n desktopName: ${name}\n defaultCommand:\n type: alicloud:eds:Command\n name: default\n properties:\n commandContent: ipconfig\n commandType: RunPowerShellScript\n desktopId: ${defaultDesktop.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n bundleIds:\n - bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\n - bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Command can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/command:Command example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Command resource.\n\nFor information about ECD Command and how to use it, see [What is Command](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-runcommand).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n bundleIds: [\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n ],\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[0]?.id),\n desktopName: name,\n});\nconst defaultCommand = new alicloud.eds.Command(\"default\", {\n commandContent: \"ipconfig\",\n commandType: \"RunPowerShellScript\",\n desktopId: defaultDesktop.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\",\n bundle_ids=[\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n ])\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[0].id,\n desktop_name=name)\ndefault_command = alicloud.eds.Command(\"default\",\n command_content=\"ipconfig\",\n command_type=\"RunPowerShellScript\",\n desktop_id=default_desktop.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n BundleIds = new[]\n {\n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n },\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[0]?.Id)),\n DesktopName = name,\n });\n\n var defaultCommand = new AliCloud.Eds.Command(\"default\", new()\n {\n CommandContent = \"ipconfig\",\n CommandType = \"RunPowerShellScript\",\n DesktopId = defaultDesktop.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t\tBundleIds: []string{\n\t\t\t\t\"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n\t\t\t\t\"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[0].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewCommand(ctx, \"default\", \u0026eds.CommandArgs{\n\t\t\tCommandContent: pulumi.String(\"ipconfig\"),\n\t\t\tCommandType: pulumi.String(\"RunPowerShellScript\"),\n\t\t\tDesktopId: defaultDesktop.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Command;\nimport com.pulumi.alicloud.eds.CommandArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .bundleIds( \n \"bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\",\n \"bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[0].id())\n .desktopName(name)\n .build());\n\n var defaultCommand = new Command(\"defaultCommand\", CommandArgs.builder()\n .commandContent(\"ipconfig\")\n .commandType(\"RunPowerShellScript\")\n .desktopId(defaultDesktop.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[0].id}\n desktopName: ${name}\n defaultCommand:\n type: alicloud:eds:Command\n name: default\n properties:\n commandContent: ipconfig\n commandType: RunPowerShellScript\n desktopId: ${defaultDesktop.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n bundleIds:\n - bundle_eds_enterprise_office_4c8g_s8d2_win2019_edu\n - bundle_eds_enterprise_office_8c16g_s8d2_win2019_edu\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Command can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/command:Command example \u003cid\u003e\n```\n\n", "properties": { "commandContent": { "type": "string", @@ -164500,7 +167142,7 @@ } }, "alicloud:eds/customProperty:CustomProperty": { - "description": "Provides a ECD Custom Property resource.\n\nFor information about ECD Custom Property and how to use it, see [What is Custom Property](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-eds-user-2021-03-08-createproperty-desktop).\n\n\u003e **NOTE:** Available since v1.176.0.\n\n\u003e **NOTE:** Up to 10 different attributes can be created under an alibaba cloud account. Up to 50 different attribute values can be added under an attribute.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.eds.CustomProperty(\"example\", {\n propertyKey: \"example_key\",\n propertyValues: [{\n propertyValue: \"example_value\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.eds.CustomProperty(\"example\",\n property_key=\"example_key\",\n property_values=[{\n \"property_value\": \"example_value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Eds.CustomProperty(\"example\", new()\n {\n PropertyKey = \"example_key\",\n PropertyValues = new[]\n {\n new AliCloud.Eds.Inputs.CustomPropertyPropertyValueArgs\n {\n PropertyValue = \"example_value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewCustomProperty(ctx, \"example\", \u0026eds.CustomPropertyArgs{\n\t\t\tPropertyKey: pulumi.String(\"example_key\"),\n\t\t\tPropertyValues: eds.CustomPropertyPropertyValueArray{\n\t\t\t\t\u0026eds.CustomPropertyPropertyValueArgs{\n\t\t\t\t\tPropertyValue: pulumi.String(\"example_value\"),\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.alicloud.eds.CustomProperty;\nimport com.pulumi.alicloud.eds.CustomPropertyArgs;\nimport com.pulumi.alicloud.eds.inputs.CustomPropertyPropertyValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 CustomProperty(\"example\", CustomPropertyArgs.builder()\n .propertyKey(\"example_key\")\n .propertyValues(CustomPropertyPropertyValueArgs.builder()\n .propertyValue(\"example_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:eds:CustomProperty\n properties:\n propertyKey: example_key\n propertyValues:\n - propertyValue: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Custom Property can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/customProperty:CustomProperty example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Custom Property resource.\n\nFor information about ECD Custom Property and how to use it, see [What is Custom Property](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-eds-user-2021-03-08-createproperty-desktop).\n\n\u003e **NOTE:** Available since v1.176.0.\n\n\u003e **NOTE:** Up to 10 different attributes can be created under an alibaba cloud account. Up to 50 different attribute values can be added under an attribute.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.eds.CustomProperty(\"example\", {\n propertyKey: \"example_key\",\n propertyValues: [{\n propertyValue: \"example_value\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.eds.CustomProperty(\"example\",\n property_key=\"example_key\",\n property_values=[{\n \"property_value\": \"example_value\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Eds.CustomProperty(\"example\", new()\n {\n PropertyKey = \"example_key\",\n PropertyValues = new[]\n {\n new AliCloud.Eds.Inputs.CustomPropertyPropertyValueArgs\n {\n PropertyValue = \"example_value\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewCustomProperty(ctx, \"example\", \u0026eds.CustomPropertyArgs{\n\t\t\tPropertyKey: pulumi.String(\"example_key\"),\n\t\t\tPropertyValues: eds.CustomPropertyPropertyValueArray{\n\t\t\t\t\u0026eds.CustomPropertyPropertyValueArgs{\n\t\t\t\t\tPropertyValue: pulumi.String(\"example_value\"),\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.alicloud.eds.CustomProperty;\nimport com.pulumi.alicloud.eds.CustomPropertyArgs;\nimport com.pulumi.alicloud.eds.inputs.CustomPropertyPropertyValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 CustomProperty(\"example\", CustomPropertyArgs.builder()\n .propertyKey(\"example_key\")\n .propertyValues(CustomPropertyPropertyValueArgs.builder()\n .propertyValue(\"example_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:eds:CustomProperty\n properties:\n propertyKey: example_key\n propertyValues:\n - propertyValue: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Custom Property can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/customProperty:CustomProperty example \u003cid\u003e\n```\n\n", "properties": { "propertyKey": { "type": "string", @@ -164552,7 +167194,7 @@ } }, "alicloud:eds/desktop:Desktop": { - "description": "Provides a ECD Desktop resource.\n\nFor information about ECD Desktop and how to use it, see [What is Desktop](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createdesktops)\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Desktop can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/desktop:Desktop example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Desktop resource.\n\nFor information about ECD Desktop and how to use it, see [What is Desktop](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createdesktops)\n\n\u003e **NOTE:** Available since v1.144.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Desktop can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/desktop:Desktop example \u003cid\u003e\n```\n\n", "properties": { "amount": { "type": "integer", @@ -164830,7 +167472,7 @@ } }, "alicloud:eds/ecdPolicyGroup:EcdPolicyGroup": { - "description": "Provides a Elastic Desktop Service (ECD) Policy Group resource.\n\nFor information about Elastic Desktop Service (ECD) Policy Group and how to use it, see [What is Policy Group](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createpolicygroup).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: \"terraform-example\",\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: \"terraform-example\",\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: \"terraform-example\",\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=\"terraform-example\",\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": \"terraform-example\",\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": \"terraform-example\",\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = \"terraform-example\",\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = \"terraform-example\",\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = \"terraform-example\",\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcdPolicyGroup(\"default\", EcdPolicyGroupArgs.builder()\n .policyGroupName(\"terraform-example\")\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(\"terraform-example\")\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(\"terraform-example\")\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eds:EcdPolicyGroup\n properties:\n policyGroupName: terraform-example\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: terraform-example\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: terraform-example\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElastic Desktop Service (ECD) Policy Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/ecdPolicyGroup:EcdPolicyGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Elastic Desktop Service (ECD) Policy Group resource.\n\nFor information about Elastic Desktop Service (ECD) Policy Group and how to use it, see [What is Policy Group](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createpolicygroup).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: \"terraform-example\",\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: \"terraform-example\",\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: \"terraform-example\",\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=\"terraform-example\",\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": \"terraform-example\",\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": \"terraform-example\",\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = \"terraform-example\",\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = \"terraform-example\",\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = \"terraform-example\",\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new EcdPolicyGroup(\"default\", EcdPolicyGroupArgs.builder()\n .policyGroupName(\"terraform-example\")\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(\"terraform-example\")\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(\"terraform-example\")\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eds:EcdPolicyGroup\n properties:\n policyGroupName: terraform-example\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: terraform-example\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: terraform-example\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElastic Desktop Service (ECD) Policy Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/ecdPolicyGroup:EcdPolicyGroup example \u003cid\u003e\n```\n\n", "properties": { "authorizeAccessPolicyRules": { "type": "array", @@ -165113,7 +167755,7 @@ } }, "alicloud:eds/image:Image": { - "description": "Provides a ECD Image resource.\n\nFor information about ECD Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createimage).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\nconst defaultImage = new alicloud.eds.Image(\"default\", {\n imageName: name,\n desktopId: defaultDesktop.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\ndefault_image = alicloud.eds.Image(\"default\",\n image_name=name,\n desktop_id=default_desktop.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n var defaultImage = new AliCloud.Eds.Image(\"default\", new()\n {\n ImageName = name,\n DesktopId = defaultDesktop.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewImage(ctx, \"default\", \u0026eds.ImageArgs{\n\t\t\tImageName: pulumi.String(name),\n\t\t\tDesktopId: defaultDesktop.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Image;\nimport com.pulumi.alicloud.eds.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .imageName(name)\n .desktopId(defaultDesktop.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\n defaultImage:\n type: alicloud:eds:Image\n name: default\n properties:\n imageName: ${name}\n desktopId: ${defaultDesktop.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/image:Image example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Image resource.\n\nFor information about ECD Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createimage).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\nconst defaultImage = new alicloud.eds.Image(\"default\", {\n imageName: name,\n desktopId: defaultDesktop.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\ndefault_image = alicloud.eds.Image(\"default\",\n image_name=name,\n desktop_id=default_desktop.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n var defaultImage = new AliCloud.Eds.Image(\"default\", new()\n {\n ImageName = name,\n DesktopId = defaultDesktop.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewImage(ctx, \"default\", \u0026eds.ImageArgs{\n\t\t\tImageName: pulumi.String(name),\n\t\t\tDesktopId: defaultDesktop.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Image;\nimport com.pulumi.alicloud.eds.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .imageName(name)\n .desktopId(defaultDesktop.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\n defaultImage:\n type: alicloud:eds:Image\n name: default\n properties:\n imageName: ${name}\n desktopId: ${defaultDesktop.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/image:Image example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -165177,7 +167819,7 @@ } }, "alicloud:eds/nasFileSystem:NasFileSystem": { - "description": "Provides a ECD Nas File System resource.\n\nFor information about ECD Nas File System and how to use it, see [What is Nas File System](https://www.alibabacloud.com/help/en/elastic-desktop-service/latest/api-reference-for-easy-use-1).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: false,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${_default.result}`,\n});\nconst example = new alicloud.eds.NasFileSystem(\"example\", {\n nasFileSystemName: name,\n officeSiteId: defaultSimpleOfficeSite.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=False,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default['result']}\")\nexample = alicloud.eds.NasFileSystem(\"example\",\n nas_file_system_name=name,\n office_site_id=default_simple_office_site.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = false,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{@default.Result}\",\n });\n\n var example = new AliCloud.Eds.NasFileSystem(\"example\", new()\n {\n NasFileSystemName = name,\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewNasFileSystem(ctx, \"example\", \u0026eds.NasFileSystemArgs{\n\t\t\tNasFileSystemName: pulumi.String(name),\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.NasFileSystem;\nimport com.pulumi.alicloud.eds.NasFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(false)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var example = new NasFileSystem(\"example\", NasFileSystemArgs.builder()\n .nasFileSystemName(name)\n .officeSiteId(defaultSimpleOfficeSite.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: false\n desktopAccessType: Internet\n officeSiteName: ${name}-${default.result}\n example:\n type: alicloud:eds:NasFileSystem\n properties:\n nasFileSystemName: ${name}\n officeSiteId: ${defaultSimpleOfficeSite.id}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Nas File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/nasFileSystem:NasFileSystem example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Nas File System resource.\n\nFor information about ECD Nas File System and how to use it, see [What is Nas File System](https://www.alibabacloud.com/help/en/elastic-desktop-service/latest/api-reference-for-easy-use-1).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: false,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${_default.result}`,\n});\nconst example = new alicloud.eds.NasFileSystem(\"example\", {\n nasFileSystemName: name,\n officeSiteId: defaultSimpleOfficeSite.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=False,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default['result']}\")\nexample = alicloud.eds.NasFileSystem(\"example\",\n nas_file_system_name=name,\n office_site_id=default_simple_office_site.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = false,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{@default.Result}\",\n });\n\n var example = new AliCloud.Eds.NasFileSystem(\"example\", new()\n {\n NasFileSystemName = name,\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(false),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewNasFileSystem(ctx, \"example\", \u0026eds.NasFileSystemArgs{\n\t\t\tNasFileSystemName: pulumi.String(name),\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tDescription: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.NasFileSystem;\nimport com.pulumi.alicloud.eds.NasFileSystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(false)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var example = new NasFileSystem(\"example\", NasFileSystemArgs.builder()\n .nasFileSystemName(name)\n .officeSiteId(defaultSimpleOfficeSite.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: false\n desktopAccessType: Internet\n officeSiteName: ${name}-${default.result}\n example:\n type: alicloud:eds:NasFileSystem\n properties:\n nasFileSystemName: ${name}\n officeSiteId: ${defaultSimpleOfficeSite.id}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Nas File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/nasFileSystem:NasFileSystem example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -165285,7 +167927,7 @@ } }, "alicloud:eds/networkPackage:NetworkPackage": { - "description": "Provides a ECD Network Package resource.\n\nFor information about ECD Network Package and how to use it, see [What is Network Package](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createnetworkpackage).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `terraform-example-${_default.result}`,\n});\nconst defaultNetworkPackage = new alicloud.eds.NetworkPackage(\"default\", {\n bandwidth: 10,\n officeSiteId: defaultSimpleOfficeSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"terraform-example-{default['result']}\")\ndefault_network_package = alicloud.eds.NetworkPackage(\"default\",\n bandwidth=10,\n office_site_id=default_simple_office_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultNetworkPackage = new AliCloud.Eds.NetworkPackage(\"default\", new()\n {\n Bandwidth = 10,\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewNetworkPackage(ctx, \"default\", \u0026eds.NetworkPackageArgs{\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.NetworkPackage;\nimport com.pulumi.alicloud.eds.NetworkPackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultNetworkPackage = new NetworkPackage(\"defaultNetworkPackage\", NetworkPackageArgs.builder()\n .bandwidth(10)\n .officeSiteId(defaultSimpleOfficeSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: terraform-example-${default.result}\n defaultNetworkPackage:\n type: alicloud:eds:NetworkPackage\n name: default\n properties:\n bandwidth: 10\n officeSiteId: ${defaultSimpleOfficeSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Network Package can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/networkPackage:NetworkPackage example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Network Package resource.\n\nFor information about ECD Network Package and how to use it, see [What is Network Package](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createnetworkpackage).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `terraform-example-${_default.result}`,\n});\nconst defaultNetworkPackage = new alicloud.eds.NetworkPackage(\"default\", {\n bandwidth: 10,\n officeSiteId: defaultSimpleOfficeSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"terraform-example-{default['result']}\")\ndefault_network_package = alicloud.eds.NetworkPackage(\"default\",\n bandwidth=10,\n office_site_id=default_simple_office_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultNetworkPackage = new AliCloud.Eds.NetworkPackage(\"default\", new()\n {\n Bandwidth = 10,\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewNetworkPackage(ctx, \"default\", \u0026eds.NetworkPackageArgs{\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.NetworkPackage;\nimport com.pulumi.alicloud.eds.NetworkPackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultNetworkPackage = new NetworkPackage(\"defaultNetworkPackage\", NetworkPackageArgs.builder()\n .bandwidth(10)\n .officeSiteId(defaultSimpleOfficeSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: terraform-example-${default.result}\n defaultNetworkPackage:\n type: alicloud:eds:NetworkPackage\n name: default\n properties:\n bandwidth: 10\n officeSiteId: ${defaultSimpleOfficeSite.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Network Package can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/networkPackage:NetworkPackage example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -165350,7 +167992,7 @@ } }, "alicloud:eds/ramDirectory:RamDirectory": { - "description": "Provides a ECD Ram Directory resource.\n\nFor information about ECD Ram Directory and how to use it, see [What is Ram Directory](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createramdirectory).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.239.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultRamDirectory = new alicloud.eds.RamDirectory(\"default\", {\n desktopAccessType: \"INTERNET\",\n enableAdminAccess: true,\n ramDirectoryName: name,\n vswitchIds: [defaultSwitch.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_ram_directory = alicloud.eds.RamDirectory(\"default\",\n desktop_access_type=\"INTERNET\",\n enable_admin_access=True,\n ram_directory_name=name,\n vswitch_ids=[default_switch.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultRamDirectory = new AliCloud.Eds.RamDirectory(\"default\", new()\n {\n DesktopAccessType = \"INTERNET\",\n EnableAdminAccess = true,\n RamDirectoryName = name,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetZones(ctx, \u0026eds.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewRamDirectory(ctx, \"default\", \u0026eds.RamDirectoryArgs{\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tRamDirectoryName: pulumi.String(name),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.eds.RamDirectory;\nimport com.pulumi.alicloud.eds.RamDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultRamDirectory = new RamDirectory(\"defaultRamDirectory\", RamDirectoryArgs.builder()\n .desktopAccessType(\"INTERNET\")\n .enableAdminAccess(true)\n .ramDirectoryName(name)\n .vswitchIds(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultRamDirectory:\n type: alicloud:eds:RamDirectory\n name: default\n properties:\n desktopAccessType: INTERNET\n enableAdminAccess: true\n ramDirectoryName: ${name}\n vswitchIds:\n - ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Ram Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/ramDirectory:RamDirectory example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Ram Directory resource.\n\nFor information about ECD Ram Directory and how to use it, see [What is Ram Directory](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createramdirectory).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.239.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.eds.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultRamDirectory = new alicloud.eds.RamDirectory(\"default\", {\n desktopAccessType: \"INTERNET\",\n enableAdminAccess: true,\n ramDirectoryName: name,\n vswitchIds: [defaultSwitch.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eds.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_ram_directory = alicloud.eds.RamDirectory(\"default\",\n desktop_access_type=\"INTERNET\",\n enable_admin_access=True,\n ram_directory_name=name,\n vswitch_ids=[default_switch.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Eds.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultRamDirectory = new AliCloud.Eds.RamDirectory(\"default\", new()\n {\n DesktopAccessType = \"INTERNET\",\n EnableAdminAccess = true,\n RamDirectoryName = name,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eds.GetZones(ctx, \u0026eds.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewRamDirectory(ctx, \"default\", \u0026eds.RamDirectoryArgs{\n\t\t\tDesktopAccessType: pulumi.String(\"INTERNET\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tRamDirectoryName: pulumi.String(name),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.eds.RamDirectory;\nimport com.pulumi.alicloud.eds.RamDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EdsFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultRamDirectory = new RamDirectory(\"defaultRamDirectory\", RamDirectoryArgs.builder()\n .desktopAccessType(\"INTERNET\")\n .enableAdminAccess(true)\n .ramDirectoryName(name)\n .vswitchIds(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultRamDirectory:\n type: alicloud:eds:RamDirectory\n name: default\n properties:\n desktopAccessType: INTERNET\n enableAdminAccess: true\n ramDirectoryName: ${name}\n vswitchIds:\n - ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Ram Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/ramDirectory:RamDirectory example \u003cid\u003e\n```\n\n", "properties": { "desktopAccessType": { "type": "string", @@ -165462,7 +168104,7 @@ } }, "alicloud:eds/simpleOfficeSite:SimpleOfficeSite": { - "description": "Provides a ECD Simple Office Site resource.\n\nFor information about ECD Simple Office Site and how to use it, see [What is Simple Office Site](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createsimpleofficesite).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `terraform-example-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"terraform-example-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"terraform-example-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: terraform-example-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Simple Office Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/simpleOfficeSite:SimpleOfficeSite example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Simple Office Site resource.\n\nFor information about ECD Simple Office Site and how to use it, see [What is Simple Office Site](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createsimpleofficesite).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `terraform-example-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"terraform-example-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"terraform-example-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: terraform-example-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Simple Office Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/simpleOfficeSite:SimpleOfficeSite example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -165641,7 +168283,7 @@ } }, "alicloud:eds/snapshot:Snapshot": { - "description": "Provides a ECD Snapshot resource.\n\nFor information about ECD Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createsnapshot).\n\n\u003e **NOTE:** Available since v1.169.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\nconst defaultSnapshot = new alicloud.eds.Snapshot(\"default\", {\n description: name,\n desktopId: defaultDesktop.id,\n snapshotName: name,\n sourceDiskType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\ndefault_snapshot = alicloud.eds.Snapshot(\"default\",\n description=name,\n desktop_id=default_desktop.id,\n snapshot_name=name,\n source_disk_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n var defaultSnapshot = new AliCloud.Eds.Snapshot(\"default\", new()\n {\n Description = name,\n DesktopId = defaultDesktop.Id,\n SnapshotName = name,\n SourceDiskType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewSnapshot(ctx, \"default\", \u0026eds.SnapshotArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDesktopId: defaultDesktop.ID(),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tSourceDiskType: pulumi.String(\"SYSTEM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Snapshot;\nimport com.pulumi.alicloud.eds.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .description(name)\n .desktopId(defaultDesktop.id())\n .snapshotName(name)\n .sourceDiskType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\n defaultSnapshot:\n type: alicloud:eds:Snapshot\n name: default\n properties:\n description: ${name}\n desktopId: ${defaultDesktop.id}\n snapshotName: ${name}\n sourceDiskType: SYSTEM\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/snapshot:Snapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a ECD Snapshot resource.\n\nFor information about ECD Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-ecd-2020-09-30-createsnapshot).\n\n\u003e **NOTE:** Available since v1.169.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite(\"default\", {\n cidrBlock: \"172.16.0.0/12\",\n enableAdminAccess: true,\n desktopAccessType: \"Internet\",\n officeSiteName: `${name}-${defaultInteger.result}`,\n});\nconst defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup(\"default\", {\n policyGroupName: name,\n clipboard: \"read\",\n localDrive: \"read\",\n usbRedirect: \"off\",\n watermark: \"off\",\n authorizeAccessPolicyRules: [{\n description: name,\n cidrIp: \"1.2.3.45/24\",\n }],\n authorizeSecurityPolicyRules: [{\n type: \"inflow\",\n policy: \"accept\",\n description: name,\n portRange: \"80/80\",\n ipProtocol: \"TCP\",\n priority: \"1\",\n cidrIp: \"1.2.3.4/24\",\n }],\n});\nconst _default = alicloud.eds.getBundles({\n bundleType: \"SYSTEM\",\n});\nconst defaultDesktop = new alicloud.eds.Desktop(\"default\", {\n officeSiteId: defaultSimpleOfficeSite.id,\n policyGroupId: defaultEcdPolicyGroup.id,\n bundleId: _default.then(_default =\u003e _default.bundles?.[1]?.id),\n desktopName: name,\n});\nconst defaultSnapshot = new alicloud.eds.Snapshot(\"default\", {\n description: name,\n desktopId: defaultDesktop.id,\n snapshotName: name,\n sourceDiskType: \"SYSTEM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_simple_office_site = alicloud.eds.SimpleOfficeSite(\"default\",\n cidr_block=\"172.16.0.0/12\",\n enable_admin_access=True,\n desktop_access_type=\"Internet\",\n office_site_name=f\"{name}-{default_integer['result']}\")\ndefault_ecd_policy_group = alicloud.eds.EcdPolicyGroup(\"default\",\n policy_group_name=name,\n clipboard=\"read\",\n local_drive=\"read\",\n usb_redirect=\"off\",\n watermark=\"off\",\n authorize_access_policy_rules=[{\n \"description\": name,\n \"cidr_ip\": \"1.2.3.45/24\",\n }],\n authorize_security_policy_rules=[{\n \"type\": \"inflow\",\n \"policy\": \"accept\",\n \"description\": name,\n \"port_range\": \"80/80\",\n \"ip_protocol\": \"TCP\",\n \"priority\": \"1\",\n \"cidr_ip\": \"1.2.3.4/24\",\n }])\ndefault = alicloud.eds.get_bundles(bundle_type=\"SYSTEM\")\ndefault_desktop = alicloud.eds.Desktop(\"default\",\n office_site_id=default_simple_office_site.id,\n policy_group_id=default_ecd_policy_group.id,\n bundle_id=default.bundles[1].id,\n desktop_name=name)\ndefault_snapshot = alicloud.eds.Snapshot(\"default\",\n description=name,\n desktop_id=default_desktop.id,\n snapshot_name=name,\n source_disk_type=\"SYSTEM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n EnableAdminAccess = true,\n DesktopAccessType = \"Internet\",\n OfficeSiteName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup(\"default\", new()\n {\n PolicyGroupName = name,\n Clipboard = \"read\",\n LocalDrive = \"read\",\n UsbRedirect = \"off\",\n Watermark = \"off\",\n AuthorizeAccessPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs\n {\n Description = name,\n CidrIp = \"1.2.3.45/24\",\n },\n },\n AuthorizeSecurityPolicyRules = new[]\n {\n new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs\n {\n Type = \"inflow\",\n Policy = \"accept\",\n Description = name,\n PortRange = \"80/80\",\n IpProtocol = \"TCP\",\n Priority = \"1\",\n CidrIp = \"1.2.3.4/24\",\n },\n },\n });\n\n var @default = AliCloud.Eds.GetBundles.Invoke(new()\n {\n BundleType = \"SYSTEM\",\n });\n\n var defaultDesktop = new AliCloud.Eds.Desktop(\"default\", new()\n {\n OfficeSiteId = defaultSimpleOfficeSite.Id,\n PolicyGroupId = defaultEcdPolicyGroup.Id,\n BundleId = @default.Apply(@default =\u003e @default.Apply(getBundlesResult =\u003e getBundlesResult.Bundles[1]?.Id)),\n DesktopName = name,\n });\n\n var defaultSnapshot = new AliCloud.Eds.Snapshot(\"default\", new()\n {\n Description = name,\n DesktopId = defaultDesktop.Id,\n SnapshotName = name,\n SourceDiskType = \"SYSTEM\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, \"default\", \u0026eds.SimpleOfficeSiteArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tEnableAdminAccess: pulumi.Bool(true),\n\t\t\tDesktopAccessType: pulumi.String(\"Internet\"),\n\t\t\tOfficeSiteName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, \"default\", \u0026eds.EcdPolicyGroupArgs{\n\t\t\tPolicyGroupName: pulumi.String(name),\n\t\t\tClipboard: pulumi.String(\"read\"),\n\t\t\tLocalDrive: pulumi.String(\"read\"),\n\t\t\tUsbRedirect: pulumi.String(\"off\"),\n\t\t\tWatermark: pulumi.String(\"off\"),\n\t\t\tAuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.45/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{\n\t\t\t\t\u0026eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"inflow\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t\tPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tIpProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPriority: pulumi.String(\"1\"),\n\t\t\t\t\tCidrIp: pulumi.String(\"1.2.3.4/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := eds.GetBundles(ctx, \u0026eds.GetBundlesArgs{\n\t\t\tBundleType: pulumi.StringRef(\"SYSTEM\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDesktop, err := eds.NewDesktop(ctx, \"default\", \u0026eds.DesktopArgs{\n\t\t\tOfficeSiteId: defaultSimpleOfficeSite.ID(),\n\t\t\tPolicyGroupId: defaultEcdPolicyGroup.ID(),\n\t\t\tBundleId: pulumi.String(_default.Bundles[1].Id),\n\t\t\tDesktopName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eds.NewSnapshot(ctx, \"default\", \u0026eds.SnapshotArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDesktopId: defaultDesktop.ID(),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tSourceDiskType: pulumi.String(\"SYSTEM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eds.SimpleOfficeSite;\nimport com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;\nimport com.pulumi.alicloud.eds.EcdPolicyGroup;\nimport com.pulumi.alicloud.eds.EcdPolicyGroupArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;\nimport com.pulumi.alicloud.eds.EdsFunctions;\nimport com.pulumi.alicloud.eds.inputs.GetBundlesArgs;\nimport com.pulumi.alicloud.eds.Desktop;\nimport com.pulumi.alicloud.eds.DesktopArgs;\nimport com.pulumi.alicloud.eds.Snapshot;\nimport com.pulumi.alicloud.eds.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSimpleOfficeSite = new SimpleOfficeSite(\"defaultSimpleOfficeSite\", SimpleOfficeSiteArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .enableAdminAccess(true)\n .desktopAccessType(\"Internet\")\n .officeSiteName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultEcdPolicyGroup = new EcdPolicyGroup(\"defaultEcdPolicyGroup\", EcdPolicyGroupArgs.builder()\n .policyGroupName(name)\n .clipboard(\"read\")\n .localDrive(\"read\")\n .usbRedirect(\"off\")\n .watermark(\"off\")\n .authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()\n .description(name)\n .cidrIp(\"1.2.3.45/24\")\n .build())\n .authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()\n .type(\"inflow\")\n .policy(\"accept\")\n .description(name)\n .portRange(\"80/80\")\n .ipProtocol(\"TCP\")\n .priority(\"1\")\n .cidrIp(\"1.2.3.4/24\")\n .build())\n .build());\n\n final var default = EdsFunctions.getBundles(GetBundlesArgs.builder()\n .bundleType(\"SYSTEM\")\n .build());\n\n var defaultDesktop = new Desktop(\"defaultDesktop\", DesktopArgs.builder()\n .officeSiteId(defaultSimpleOfficeSite.id())\n .policyGroupId(defaultEcdPolicyGroup.id())\n .bundleId(default_.bundles()[1].id())\n .desktopName(name)\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .description(name)\n .desktopId(defaultDesktop.id())\n .snapshotName(name)\n .sourceDiskType(\"SYSTEM\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSimpleOfficeSite:\n type: alicloud:eds:SimpleOfficeSite\n name: default\n properties:\n cidrBlock: 172.16.0.0/12\n enableAdminAccess: true\n desktopAccessType: Internet\n officeSiteName: ${name}-${defaultInteger.result}\n defaultEcdPolicyGroup:\n type: alicloud:eds:EcdPolicyGroup\n name: default\n properties:\n policyGroupName: ${name}\n clipboard: read\n localDrive: read\n usbRedirect: off\n watermark: off\n authorizeAccessPolicyRules:\n - description: ${name}\n cidrIp: 1.2.3.45/24\n authorizeSecurityPolicyRules:\n - type: inflow\n policy: accept\n description: ${name}\n portRange: 80/80\n ipProtocol: TCP\n priority: '1'\n cidrIp: 1.2.3.4/24\n defaultDesktop:\n type: alicloud:eds:Desktop\n name: default\n properties:\n officeSiteId: ${defaultSimpleOfficeSite.id}\n policyGroupId: ${defaultEcdPolicyGroup.id}\n bundleId: ${default.bundles[1].id}\n desktopName: ${name}\n defaultSnapshot:\n type: alicloud:eds:Snapshot\n name: default\n properties:\n description: ${name}\n desktopId: ${defaultDesktop.id}\n snapshotName: ${name}\n sourceDiskType: SYSTEM\nvariables:\n default:\n fn::invoke:\n function: alicloud:eds:getBundles\n arguments:\n bundleType: SYSTEM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/snapshot:Snapshot example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -165729,7 +168371,7 @@ } }, "alicloud:eds/user:User": { - "description": "Provides a Elastic Desktop Service (ECD) User resource.\n\nFor information about Elastic Desktop Service (ECD) User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-eds-user-2021-03-08-createusers-desktop).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eds.User(\"default\", {\n endUserId: \"terraform_example123\",\n email: \"tf.example@abc.com\",\n phone: \"18888888888\",\n password: \"Example_123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eds.User(\"default\",\n end_user_id=\"terraform_example123\",\n email=\"tf.example@abc.com\",\n phone=\"18888888888\",\n password=\"Example_123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Eds.User(\"default\", new()\n {\n EndUserId = \"terraform_example123\",\n Email = \"tf.example@abc.com\",\n Phone = \"18888888888\",\n Password = \"Example_123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewUser(ctx, \"default\", \u0026eds.UserArgs{\n\t\t\tEndUserId: pulumi.String(\"terraform_example123\"),\n\t\t\tEmail: pulumi.String(\"tf.example@abc.com\"),\n\t\t\tPhone: pulumi.String(\"18888888888\"),\n\t\t\tPassword: pulumi.String(\"Example_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.alicloud.eds.User;\nimport com.pulumi.alicloud.eds.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new User(\"default\", UserArgs.builder()\n .endUserId(\"terraform_example123\")\n .email(\"tf.example@abc.com\")\n .phone(\"18888888888\")\n .password(\"Example_123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eds:User\n properties:\n endUserId: terraform_example123\n email: tf.example@abc.com\n phone: '18888888888'\n password: Example_123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nECD User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/user:User example \u003cend_user_id\u003e\n```\n\n", + "description": "Provides a Elastic Desktop Service (ECD) User resource.\n\nFor information about Elastic Desktop Service (ECD) User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/wuying-workspace/developer-reference/api-eds-user-2021-03-08-createusers-desktop).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eds.User(\"default\", {\n endUserId: \"terraform_example123\",\n email: \"tf.example@abc.com\",\n phone: \"18888888888\",\n password: \"Example_123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eds.User(\"default\",\n end_user_id=\"terraform_example123\",\n email=\"tf.example@abc.com\",\n phone=\"18888888888\",\n password=\"Example_123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Eds.User(\"default\", new()\n {\n EndUserId = \"terraform_example123\",\n Email = \"tf.example@abc.com\",\n Phone = \"18888888888\",\n Password = \"Example_123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eds.NewUser(ctx, \"default\", \u0026eds.UserArgs{\n\t\t\tEndUserId: pulumi.String(\"terraform_example123\"),\n\t\t\tEmail: pulumi.String(\"tf.example@abc.com\"),\n\t\t\tPhone: pulumi.String(\"18888888888\"),\n\t\t\tPassword: pulumi.String(\"Example_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.alicloud.eds.User;\nimport com.pulumi.alicloud.eds.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new User(\"default\", UserArgs.builder()\n .endUserId(\"terraform_example123\")\n .email(\"tf.example@abc.com\")\n .phone(\"18888888888\")\n .password(\"Example_123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eds:User\n properties:\n endUserId: terraform_example123\n email: tf.example@abc.com\n phone: '18888888888'\n password: Example_123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nECD User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eds/user:User example \u003cend_user_id\u003e\n```\n\n", "properties": { "email": { "type": "string", @@ -165822,7 +168464,7 @@ } }, "alicloud:eflo/cluster:Cluster": { - "description": "Provides a Eflo Cluster resource.\n\nLarge computing cluster.\n\nFor information about Eflo Cluster and how to use it, see [What is Cluster](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/CreateCluster).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"cluster-resoure-example\",\n});\nconst createVswitch = new alicloud.vpc.Switch(\"create_vswitch\", {\n vpcId: createVpc.id,\n zoneId: \"cn-hangzhou-b\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"cluster-resoure-example\",\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n description: \"sg\",\n securityGroupName: \"cluster-resoure-example\",\n securityGroupType: \"normal\",\n vpcId: createVpc.id,\n});\nconst defaultCluster = new alicloud.eflo.Cluster(\"default\", {\n clusterDescription: \"cluster-resource-example\",\n openEniJumboFrame: false,\n hpnZone: \"B1\",\n nimizVswitches: [\"1111\"],\n ignoreFailedNodeTasks: true,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n nodeGroups: [{\n imageId: \"i198448731735114628708\",\n zoneId: \"cn-hangzhou-b\",\n nodeGroupName: \"cluster-resource-example\",\n nodeGroupDescription: \"cluster-resource-example\",\n machineType: \"efg2.C48cA3sen\",\n }],\n networks: {\n tailIpVersion: \"ipv4\",\n newVpdInfo: {\n monitorVpcId: createVpc.id,\n monitorVswitchId: createVswitch.id,\n cenId: \"11111\",\n cloudLinkId: \"1111\",\n vpdCidr: \"111\",\n vpdSubnets: [{\n zoneId: \"1111\",\n subnetCidr: \"111\",\n subnetType: \"111\",\n }],\n cloudLinkCidr: \"169.254.128.0/23\",\n },\n securityGroupId: createSecurityGroup.id,\n vswitchZoneId: \"cn-hangzhou-b\",\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n vpdInfo: {\n vpdId: \"111\",\n vpdSubnets: [\"111\"],\n },\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"111\",\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n machineType: \"111\",\n }],\n nodePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n nodeId: \"111\",\n }],\n }],\n },\n clusterName: \"tfacceflo7165\",\n clusterType: \"Lite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"cluster-resoure-example\")\ncreate_vswitch = alicloud.vpc.Switch(\"create_vswitch\",\n vpc_id=create_vpc.id,\n zone_id=\"cn-hangzhou-b\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"cluster-resoure-example\")\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n description=\"sg\",\n security_group_name=\"cluster-resoure-example\",\n security_group_type=\"normal\",\n vpc_id=create_vpc.id)\ndefault_cluster = alicloud.eflo.Cluster(\"default\",\n cluster_description=\"cluster-resource-example\",\n open_eni_jumbo_frame=False,\n hpn_zone=\"B1\",\n nimiz_vswitches=[\"1111\"],\n ignore_failed_node_tasks=True,\n resource_group_id=default.ids[1],\n node_groups=[{\n \"image_id\": \"i198448731735114628708\",\n \"zone_id\": \"cn-hangzhou-b\",\n \"node_group_name\": \"cluster-resource-example\",\n \"node_group_description\": \"cluster-resource-example\",\n \"machine_type\": \"efg2.C48cA3sen\",\n }],\n networks={\n \"tail_ip_version\": \"ipv4\",\n \"new_vpd_info\": {\n \"monitor_vpc_id\": create_vpc.id,\n \"monitor_vswitch_id\": create_vswitch.id,\n \"cen_id\": \"11111\",\n \"cloud_link_id\": \"1111\",\n \"vpd_cidr\": \"111\",\n \"vpd_subnets\": [{\n \"zone_id\": \"1111\",\n \"subnet_cidr\": \"111\",\n \"subnet_type\": \"111\",\n }],\n \"cloud_link_cidr\": \"169.254.128.0/23\",\n },\n \"security_group_id\": create_security_group.id,\n \"vswitch_zone_id\": \"cn-hangzhou-b\",\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"vpd_info\": {\n \"vpd_id\": \"111\",\n \"vpd_subnets\": [\"111\"],\n },\n \"ip_allocation_policies\": [{\n \"bond_policy\": {\n \"bond_default_subnet\": \"111\",\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"machine_type\": \"111\",\n }],\n \"node_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"node_id\": \"111\",\n }],\n }],\n },\n cluster_name=\"tfacceflo7165\",\n cluster_type=\"Lite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"cluster-resoure-example\",\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"create_vswitch\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = \"cn-hangzhou-b\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"cluster-resoure-example\",\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"cluster-resoure-example\",\n SecurityGroupType = \"normal\",\n VpcId = createVpc.Id,\n });\n\n var defaultCluster = new AliCloud.Eflo.Cluster(\"default\", new()\n {\n ClusterDescription = \"cluster-resource-example\",\n OpenEniJumboFrame = false,\n HpnZone = \"B1\",\n NimizVswitches = new[]\n {\n \"1111\",\n },\n IgnoreFailedNodeTasks = true,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n NodeGroups = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNodeGroupArgs\n {\n ImageId = \"i198448731735114628708\",\n ZoneId = \"cn-hangzhou-b\",\n NodeGroupName = \"cluster-resource-example\",\n NodeGroupDescription = \"cluster-resource-example\",\n MachineType = \"efg2.C48cA3sen\",\n },\n },\n Networks = new AliCloud.Eflo.Inputs.ClusterNetworksArgs\n {\n TailIpVersion = \"ipv4\",\n NewVpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoArgs\n {\n MonitorVpcId = createVpc.Id,\n MonitorVswitchId = createVswitch.Id,\n CenId = \"11111\",\n CloudLinkId = \"1111\",\n VpdCidr = \"111\",\n VpdSubnets = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoVpdSubnetArgs\n {\n ZoneId = \"1111\",\n SubnetCidr = \"111\",\n SubnetType = \"111\",\n },\n },\n CloudLinkCidr = \"169.254.128.0/23\",\n },\n SecurityGroupId = createSecurityGroup.Id,\n VswitchZoneId = \"cn-hangzhou-b\",\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n VpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksVpdInfoArgs\n {\n VpdId = \"111\",\n VpdSubnets = new[]\n {\n \"111\",\n },\n },\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"111\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n MachineType = \"111\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n NodeId = \"111\",\n },\n },\n },\n },\n },\n ClusterName = \"tfacceflo7165\",\n ClusterType = \"Lite\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"create_vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"cluster-resoure-example\"),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewCluster(ctx, \"default\", \u0026eflo.ClusterArgs{\n\t\t\tClusterDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\tOpenEniJumboFrame: pulumi.Bool(false),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tNimizVswitches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1111\"),\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[1]),\n\t\t\tNodeGroups: eflo.ClusterNodeGroupArray{\n\t\t\t\t\u0026eflo.ClusterNodeGroupArgs{\n\t\t\t\t\tImageId: pulumi.String(\"i198448731735114628708\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\t\tNodeGroupName: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tNodeGroupDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tMachineType: pulumi.String(\"efg2.C48cA3sen\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: \u0026eflo.ClusterNetworksArgs{\n\t\t\t\tTailIpVersion: pulumi.String(\"ipv4\"),\n\t\t\t\tNewVpdInfo: \u0026eflo.ClusterNetworksNewVpdInfoArgs{\n\t\t\t\t\tMonitorVpcId: createVpc.ID(),\n\t\t\t\t\tMonitorVswitchId: createVswitch.ID(),\n\t\t\t\t\tCenId: pulumi.String(\"11111\"),\n\t\t\t\t\tCloudLinkId: pulumi.String(\"1111\"),\n\t\t\t\t\tVpdCidr: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: eflo.ClusterNetworksNewVpdInfoVpdSubnetArray{\n\t\t\t\t\t\t\u0026eflo.ClusterNetworksNewVpdInfoVpdSubnetArgs{\n\t\t\t\t\t\t\tZoneId: pulumi.String(\"1111\"),\n\t\t\t\t\t\t\tSubnetCidr: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tSubnetType: pulumi.String(\"111\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCloudLinkCidr: pulumi.String(\"169.254.128.0/23\"),\n\t\t\t\t},\n\t\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\tVpdInfo: \u0026eflo.ClusterNetworksVpdInfoArgs{\n\t\t\t\t\tVpdId: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"111\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIpAllocationPolicies: eflo.ClusterNetworksIpAllocationPolicyArray{\n\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyArgs{\n\t\t\t\t\t\tBondPolicy: \u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMachineTypePolicies: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tMachineType: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodePolicies: eflo.ClusterNetworksIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tNodeId: pulumi.String(\"111\"),\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\tClusterName: pulumi.String(\"tfacceflo7165\"),\n\t\t\tClusterType: pulumi.String(\"Lite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eflo.Cluster;\nimport com.pulumi.alicloud.eflo.ClusterArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksNewVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksVpdInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"cluster-resoure-example\")\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(\"cn-hangzhou-b\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"cluster-resoure-example\")\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"cluster-resoure-example\")\n .securityGroupType(\"normal\")\n .vpcId(createVpc.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterDescription(\"cluster-resource-example\")\n .openEniJumboFrame(false)\n .hpnZone(\"B1\")\n .nimizVswitches(\"1111\")\n .ignoreFailedNodeTasks(true)\n .resourceGroupId(default_.ids()[1])\n .nodeGroups(ClusterNodeGroupArgs.builder()\n .imageId(\"i198448731735114628708\")\n .zoneId(\"cn-hangzhou-b\")\n .nodeGroupName(\"cluster-resource-example\")\n .nodeGroupDescription(\"cluster-resource-example\")\n .machineType(\"efg2.C48cA3sen\")\n .build())\n .networks(ClusterNetworksArgs.builder()\n .tailIpVersion(\"ipv4\")\n .newVpdInfo(ClusterNetworksNewVpdInfoArgs.builder()\n .monitorVpcId(createVpc.id())\n .monitorVswitchId(createVswitch.id())\n .cenId(\"11111\")\n .cloudLinkId(\"1111\")\n .vpdCidr(\"111\")\n .vpdSubnets(ClusterNetworksNewVpdInfoVpdSubnetArgs.builder()\n .zoneId(\"1111\")\n .subnetCidr(\"111\")\n .subnetType(\"111\")\n .build())\n .cloudLinkCidr(\"169.254.128.0/23\")\n .build())\n .securityGroupId(createSecurityGroup.id())\n .vswitchZoneId(\"cn-hangzhou-b\")\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .vpdInfo(ClusterNetworksVpdInfoArgs.builder()\n .vpdId(\"111\")\n .vpdSubnets(\"111\")\n .build())\n .ipAllocationPolicies(ClusterNetworksIpAllocationPolicyArgs.builder()\n .bondPolicy(ClusterNetworksIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"111\")\n .bonds(ClusterNetworksIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .build())\n .machineTypePolicies(ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .machineType(\"111\")\n .build())\n .nodePolicies(ClusterNetworksIpAllocationPolicyNodePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .nodeId(\"111\")\n .build())\n .build())\n .build())\n .clusterName(\"tfacceflo7165\")\n .clusterType(\"Lite\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Before executing this example, you need to confirm with the product team whether the resources are sufficient or you will get an error message with \"Failure to check order before create instance\"\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: cluster-resoure-example\n createVswitch:\n type: alicloud:vpc:Switch\n name: create_vswitch\n properties:\n vpcId: ${createVpc.id}\n zoneId: cn-hangzhou-b\n cidrBlock: 192.168.0.0/24\n vswitchName: cluster-resoure-example\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n description: sg\n securityGroupName: cluster-resoure-example\n securityGroupType: normal\n vpcId: ${createVpc.id}\n defaultCluster:\n type: alicloud:eflo:Cluster\n name: default\n properties:\n clusterDescription: cluster-resource-example\n openEniJumboFrame: 'false'\n hpnZone: B1\n nimizVswitches:\n - '1111'\n ignoreFailedNodeTasks: 'true'\n resourceGroupId: ${default.ids[1]}\n nodeGroups:\n - imageId: i198448731735114628708\n zoneId: cn-hangzhou-b\n nodeGroupName: cluster-resource-example\n nodeGroupDescription: cluster-resource-example\n machineType: efg2.C48cA3sen\n networks:\n tailIpVersion: ipv4\n newVpdInfo:\n monitorVpcId: ${createVpc.id}\n monitorVswitchId: ${createVswitch.id}\n cenId: '11111'\n cloudLinkId: '1111'\n vpdCidr: '111'\n vpdSubnets:\n - zoneId: '1111'\n subnetCidr: '111'\n subnetType: '111'\n cloudLinkCidr: 169.254.128.0/23\n securityGroupId: ${createSecurityGroup.id}\n vswitchZoneId: cn-hangzhou-b\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n vpdInfo:\n vpdId: '111'\n vpdSubnets:\n - '111'\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: '111'\n bonds:\n - name: '111'\n subnet: '111'\n machineTypePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n machineType: '111'\n nodePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n nodeId: '111'\n clusterName: tfacceflo7165\n clusterType: Lite\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/cluster:Cluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Cluster resource.\n\nLarge computing cluster.\n\nFor information about Eflo Cluster and how to use it, see [What is Cluster](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/CreateCluster).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"cluster-resoure-example\",\n});\nconst createVswitch = new alicloud.vpc.Switch(\"create_vswitch\", {\n vpcId: createVpc.id,\n zoneId: \"cn-hangzhou-b\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"cluster-resoure-example\",\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n description: \"sg\",\n securityGroupName: \"cluster-resoure-example\",\n securityGroupType: \"normal\",\n vpcId: createVpc.id,\n});\nconst defaultCluster = new alicloud.eflo.Cluster(\"default\", {\n clusterDescription: \"cluster-resource-example\",\n openEniJumboFrame: false,\n hpnZone: \"B1\",\n nimizVswitches: [\"1111\"],\n ignoreFailedNodeTasks: true,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n nodeGroups: [{\n imageId: \"i198448731735114628708\",\n zoneId: \"cn-hangzhou-b\",\n nodeGroupName: \"cluster-resource-example\",\n nodeGroupDescription: \"cluster-resource-example\",\n machineType: \"efg2.C48cA3sen\",\n }],\n networks: {\n tailIpVersion: \"ipv4\",\n newVpdInfo: {\n monitorVpcId: createVpc.id,\n monitorVswitchId: createVswitch.id,\n cenId: \"11111\",\n cloudLinkId: \"1111\",\n vpdCidr: \"111\",\n vpdSubnets: [{\n zoneId: \"1111\",\n subnetCidr: \"111\",\n subnetType: \"111\",\n }],\n cloudLinkCidr: \"169.254.128.0/23\",\n },\n securityGroupId: createSecurityGroup.id,\n vswitchZoneId: \"cn-hangzhou-b\",\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n vpdInfo: {\n vpdId: \"111\",\n vpdSubnets: [\"111\"],\n },\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"111\",\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n machineType: \"111\",\n }],\n nodePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n nodeId: \"111\",\n }],\n }],\n },\n clusterName: \"tfacceflo7165\",\n clusterType: \"Lite\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"cluster-resoure-example\")\ncreate_vswitch = alicloud.vpc.Switch(\"create_vswitch\",\n vpc_id=create_vpc.id,\n zone_id=\"cn-hangzhou-b\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"cluster-resoure-example\")\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n description=\"sg\",\n security_group_name=\"cluster-resoure-example\",\n security_group_type=\"normal\",\n vpc_id=create_vpc.id)\ndefault_cluster = alicloud.eflo.Cluster(\"default\",\n cluster_description=\"cluster-resource-example\",\n open_eni_jumbo_frame=False,\n hpn_zone=\"B1\",\n nimiz_vswitches=[\"1111\"],\n ignore_failed_node_tasks=True,\n resource_group_id=default.ids[1],\n node_groups=[{\n \"image_id\": \"i198448731735114628708\",\n \"zone_id\": \"cn-hangzhou-b\",\n \"node_group_name\": \"cluster-resource-example\",\n \"node_group_description\": \"cluster-resource-example\",\n \"machine_type\": \"efg2.C48cA3sen\",\n }],\n networks={\n \"tail_ip_version\": \"ipv4\",\n \"new_vpd_info\": {\n \"monitor_vpc_id\": create_vpc.id,\n \"monitor_vswitch_id\": create_vswitch.id,\n \"cen_id\": \"11111\",\n \"cloud_link_id\": \"1111\",\n \"vpd_cidr\": \"111\",\n \"vpd_subnets\": [{\n \"zone_id\": \"1111\",\n \"subnet_cidr\": \"111\",\n \"subnet_type\": \"111\",\n }],\n \"cloud_link_cidr\": \"169.254.128.0/23\",\n },\n \"security_group_id\": create_security_group.id,\n \"vswitch_zone_id\": \"cn-hangzhou-b\",\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"vpd_info\": {\n \"vpd_id\": \"111\",\n \"vpd_subnets\": [\"111\"],\n },\n \"ip_allocation_policies\": [{\n \"bond_policy\": {\n \"bond_default_subnet\": \"111\",\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"machine_type\": \"111\",\n }],\n \"node_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"node_id\": \"111\",\n }],\n }],\n },\n cluster_name=\"tfacceflo7165\",\n cluster_type=\"Lite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"cluster-resoure-example\",\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"create_vswitch\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = \"cn-hangzhou-b\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"cluster-resoure-example\",\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"cluster-resoure-example\",\n SecurityGroupType = \"normal\",\n VpcId = createVpc.Id,\n });\n\n var defaultCluster = new AliCloud.Eflo.Cluster(\"default\", new()\n {\n ClusterDescription = \"cluster-resource-example\",\n OpenEniJumboFrame = false,\n HpnZone = \"B1\",\n NimizVswitches = new[]\n {\n \"1111\",\n },\n IgnoreFailedNodeTasks = true,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n NodeGroups = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNodeGroupArgs\n {\n ImageId = \"i198448731735114628708\",\n ZoneId = \"cn-hangzhou-b\",\n NodeGroupName = \"cluster-resource-example\",\n NodeGroupDescription = \"cluster-resource-example\",\n MachineType = \"efg2.C48cA3sen\",\n },\n },\n Networks = new AliCloud.Eflo.Inputs.ClusterNetworksArgs\n {\n TailIpVersion = \"ipv4\",\n NewVpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoArgs\n {\n MonitorVpcId = createVpc.Id,\n MonitorVswitchId = createVswitch.Id,\n CenId = \"11111\",\n CloudLinkId = \"1111\",\n VpdCidr = \"111\",\n VpdSubnets = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoVpdSubnetArgs\n {\n ZoneId = \"1111\",\n SubnetCidr = \"111\",\n SubnetType = \"111\",\n },\n },\n CloudLinkCidr = \"169.254.128.0/23\",\n },\n SecurityGroupId = createSecurityGroup.Id,\n VswitchZoneId = \"cn-hangzhou-b\",\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n VpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksVpdInfoArgs\n {\n VpdId = \"111\",\n VpdSubnets = new[]\n {\n \"111\",\n },\n },\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"111\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n MachineType = \"111\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n NodeId = \"111\",\n },\n },\n },\n },\n },\n ClusterName = \"tfacceflo7165\",\n ClusterType = \"Lite\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"create_vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"cluster-resoure-example\"),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewCluster(ctx, \"default\", \u0026eflo.ClusterArgs{\n\t\t\tClusterDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\tOpenEniJumboFrame: pulumi.Bool(false),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tNimizVswitches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1111\"),\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[1]),\n\t\t\tNodeGroups: eflo.ClusterNodeGroupArray{\n\t\t\t\t\u0026eflo.ClusterNodeGroupArgs{\n\t\t\t\t\tImageId: pulumi.String(\"i198448731735114628708\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\t\tNodeGroupName: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tNodeGroupDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tMachineType: pulumi.String(\"efg2.C48cA3sen\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: \u0026eflo.ClusterNetworksArgs{\n\t\t\t\tTailIpVersion: pulumi.String(\"ipv4\"),\n\t\t\t\tNewVpdInfo: \u0026eflo.ClusterNetworksNewVpdInfoArgs{\n\t\t\t\t\tMonitorVpcId: createVpc.ID(),\n\t\t\t\t\tMonitorVswitchId: createVswitch.ID(),\n\t\t\t\t\tCenId: pulumi.String(\"11111\"),\n\t\t\t\t\tCloudLinkId: pulumi.String(\"1111\"),\n\t\t\t\t\tVpdCidr: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: eflo.ClusterNetworksNewVpdInfoVpdSubnetArray{\n\t\t\t\t\t\t\u0026eflo.ClusterNetworksNewVpdInfoVpdSubnetArgs{\n\t\t\t\t\t\t\tZoneId: pulumi.String(\"1111\"),\n\t\t\t\t\t\t\tSubnetCidr: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tSubnetType: pulumi.String(\"111\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCloudLinkCidr: pulumi.String(\"169.254.128.0/23\"),\n\t\t\t\t},\n\t\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\tVpdInfo: \u0026eflo.ClusterNetworksVpdInfoArgs{\n\t\t\t\t\tVpdId: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"111\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIpAllocationPolicies: eflo.ClusterNetworksIpAllocationPolicyArray{\n\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyArgs{\n\t\t\t\t\t\tBondPolicy: \u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMachineTypePolicies: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tMachineType: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodePolicies: eflo.ClusterNetworksIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tNodeId: pulumi.String(\"111\"),\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\tClusterName: pulumi.String(\"tfacceflo7165\"),\n\t\t\tClusterType: pulumi.String(\"Lite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eflo.Cluster;\nimport com.pulumi.alicloud.eflo.ClusterArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksNewVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksVpdInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"cluster-resoure-example\")\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(\"cn-hangzhou-b\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"cluster-resoure-example\")\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"cluster-resoure-example\")\n .securityGroupType(\"normal\")\n .vpcId(createVpc.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterDescription(\"cluster-resource-example\")\n .openEniJumboFrame(false)\n .hpnZone(\"B1\")\n .nimizVswitches(\"1111\")\n .ignoreFailedNodeTasks(true)\n .resourceGroupId(default_.ids()[1])\n .nodeGroups(ClusterNodeGroupArgs.builder()\n .imageId(\"i198448731735114628708\")\n .zoneId(\"cn-hangzhou-b\")\n .nodeGroupName(\"cluster-resource-example\")\n .nodeGroupDescription(\"cluster-resource-example\")\n .machineType(\"efg2.C48cA3sen\")\n .build())\n .networks(ClusterNetworksArgs.builder()\n .tailIpVersion(\"ipv4\")\n .newVpdInfo(ClusterNetworksNewVpdInfoArgs.builder()\n .monitorVpcId(createVpc.id())\n .monitorVswitchId(createVswitch.id())\n .cenId(\"11111\")\n .cloudLinkId(\"1111\")\n .vpdCidr(\"111\")\n .vpdSubnets(ClusterNetworksNewVpdInfoVpdSubnetArgs.builder()\n .zoneId(\"1111\")\n .subnetCidr(\"111\")\n .subnetType(\"111\")\n .build())\n .cloudLinkCidr(\"169.254.128.0/23\")\n .build())\n .securityGroupId(createSecurityGroup.id())\n .vswitchZoneId(\"cn-hangzhou-b\")\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .vpdInfo(ClusterNetworksVpdInfoArgs.builder()\n .vpdId(\"111\")\n .vpdSubnets(\"111\")\n .build())\n .ipAllocationPolicies(ClusterNetworksIpAllocationPolicyArgs.builder()\n .bondPolicy(ClusterNetworksIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"111\")\n .bonds(ClusterNetworksIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .build())\n .machineTypePolicies(ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .machineType(\"111\")\n .build())\n .nodePolicies(ClusterNetworksIpAllocationPolicyNodePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .nodeId(\"111\")\n .build())\n .build())\n .build())\n .clusterName(\"tfacceflo7165\")\n .clusterType(\"Lite\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Before executing this example, you need to confirm with the product team whether the resources are sufficient or you will get an error message with \"Failure to check order before create instance\"\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: cluster-resoure-example\n createVswitch:\n type: alicloud:vpc:Switch\n name: create_vswitch\n properties:\n vpcId: ${createVpc.id}\n zoneId: cn-hangzhou-b\n cidrBlock: 192.168.0.0/24\n vswitchName: cluster-resoure-example\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n description: sg\n securityGroupName: cluster-resoure-example\n securityGroupType: normal\n vpcId: ${createVpc.id}\n defaultCluster:\n type: alicloud:eflo:Cluster\n name: default\n properties:\n clusterDescription: cluster-resource-example\n openEniJumboFrame: 'false'\n hpnZone: B1\n nimizVswitches:\n - '1111'\n ignoreFailedNodeTasks: 'true'\n resourceGroupId: ${default.ids[1]}\n nodeGroups:\n - imageId: i198448731735114628708\n zoneId: cn-hangzhou-b\n nodeGroupName: cluster-resource-example\n nodeGroupDescription: cluster-resource-example\n machineType: efg2.C48cA3sen\n networks:\n tailIpVersion: ipv4\n newVpdInfo:\n monitorVpcId: ${createVpc.id}\n monitorVswitchId: ${createVswitch.id}\n cenId: '11111'\n cloudLinkId: '1111'\n vpdCidr: '111'\n vpdSubnets:\n - zoneId: '1111'\n subnetCidr: '111'\n subnetType: '111'\n cloudLinkCidr: 169.254.128.0/23\n securityGroupId: ${createSecurityGroup.id}\n vswitchZoneId: cn-hangzhou-b\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n vpdInfo:\n vpdId: '111'\n vpdSubnets:\n - '111'\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: '111'\n bonds:\n - name: '111'\n subnet: '111'\n machineTypePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n machineType: '111'\n nodePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n nodeId: '111'\n clusterName: tfacceflo7165\n clusterType: Lite\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/cluster:Cluster example \u003cid\u003e\n```\n\n", "properties": { "clusterDescription": { "type": "string", @@ -166042,7 +168684,7 @@ } }, "alicloud:eflo/er:Er": { - "description": "Provides a Eflo Er resource.\n\n\n\nFor information about Eflo Er and how to use it, see [What is Er](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateEr).\n\n\u003e **NOTE:** Available since v1.258.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultEr = new alicloud.eflo.Er(\"default\", {\n erName: \"er-example-tf\",\n masterZoneId: \"cn-hangzhou-a\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_er = alicloud.eflo.Er(\"default\",\n er_name=\"er-example-tf\",\n master_zone_id=\"cn-hangzhou-a\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultEr = new AliCloud.Eflo.Er(\"default\", new()\n {\n ErName = \"er-example-tf\",\n MasterZoneId = \"cn-hangzhou-a\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewEr(ctx, \"default\", \u0026eflo.ErArgs{\n\t\t\tErName: pulumi.String(\"er-example-tf\"),\n\t\t\tMasterZoneId: pulumi.String(\"cn-hangzhou-a\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Er;\nimport com.pulumi.alicloud.eflo.ErArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultEr = new Er(\"defaultEr\", ErArgs.builder()\n .erName(\"er-example-tf\")\n .masterZoneId(\"cn-hangzhou-a\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEr:\n type: alicloud:eflo:Er\n name: default\n properties:\n erName: er-example-tf\n masterZoneId: cn-hangzhou-a\n description: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Er can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/er:Er example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Er resource.\n\n\n\nFor information about Eflo Er and how to use it, see [What is Er](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateEr).\n\n\u003e **NOTE:** Available since v1.258.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultEr = new alicloud.eflo.Er(\"default\", {\n erName: \"er-example-tf\",\n masterZoneId: \"cn-hangzhou-a\",\n description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_er = alicloud.eflo.Er(\"default\",\n er_name=\"er-example-tf\",\n master_zone_id=\"cn-hangzhou-a\",\n description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultEr = new AliCloud.Eflo.Er(\"default\", new()\n {\n ErName = \"er-example-tf\",\n MasterZoneId = \"cn-hangzhou-a\",\n Description = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewEr(ctx, \"default\", \u0026eflo.ErArgs{\n\t\t\tErName: pulumi.String(\"er-example-tf\"),\n\t\t\tMasterZoneId: pulumi.String(\"cn-hangzhou-a\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Er;\nimport com.pulumi.alicloud.eflo.ErArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultEr = new Er(\"defaultEr\", ErArgs.builder()\n .erName(\"er-example-tf\")\n .masterZoneId(\"cn-hangzhou-a\")\n .description(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEr:\n type: alicloud:eflo:Er\n name: default\n properties:\n erName: er-example-tf\n masterZoneId: cn-hangzhou-a\n description: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Er can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/er:Er example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -166162,7 +168804,7 @@ } }, "alicloud:eflo/experimentPlan:ExperimentPlan": { - "description": "Provides a Eflo Experiment Plan resource.\n\n\n\nFor information about Eflo Experiment Plan and how to use it, see [What is Experiment Plan](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplan).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultpSZN7t = new alicloud.eflo.ExperimentPlanTemplate(\"defaultpSZN7t\", {\n templatePipelines: [{\n workloadId: 2,\n workloadName: \"MatMul\",\n envParams: {\n cpuPerWorker: 90,\n gpuPerWorker: 8,\n memoryPerWorker: 500,\n shareMemory: 500,\n workerNum: 1,\n pyTorchVersion: \"1\",\n gpuDriverVersion: \"1\",\n cudaVersion: \"1\",\n ncclVersion: \"1\",\n },\n pipelineOrder: 1,\n scene: \"baseline\",\n }],\n privacyLevel: \"private\",\n templateName: name,\n templateDescription: name,\n});\nconst defaultResource = new alicloud.eflo.Resource(\"default\", {\n userAccessParam: {\n accessId: \"your_access_id\",\n accessKey: \"your_access_key\",\n workspaceId: \"your_workspace_id\",\n endpoint: \"your_endpoint\",\n },\n clusterId: `terraform-${_default.result}`,\n machineTypes: {\n memoryInfo: \"32x 64GB DDR4 4800 Memory\",\n type: \"Private\",\n bondNum: 5,\n nodeCount: 1,\n cpuInfo: \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n networkInfo: \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n gpuInfo: \"8x OAM 810 GPU\",\n diskInfo: \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n networkMode: \"net\",\n name: \"lingjun\",\n },\n clusterName: name,\n clusterDesc: name,\n});\nconst defaultExperimentPlan = new alicloud.eflo.ExperimentPlan(\"default\", {\n resourceId: defaultResource.resourceId,\n planName: name,\n templateId: defaultpSZN7t.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultp_szn7t = alicloud.eflo.ExperimentPlanTemplate(\"defaultpSZN7t\",\n template_pipelines=[{\n \"workload_id\": 2,\n \"workload_name\": \"MatMul\",\n \"env_params\": {\n \"cpu_per_worker\": 90,\n \"gpu_per_worker\": 8,\n \"memory_per_worker\": 500,\n \"share_memory\": 500,\n \"worker_num\": 1,\n \"py_torch_version\": \"1\",\n \"gpu_driver_version\": \"1\",\n \"cuda_version\": \"1\",\n \"nccl_version\": \"1\",\n },\n \"pipeline_order\": 1,\n \"scene\": \"baseline\",\n }],\n privacy_level=\"private\",\n template_name=name,\n template_description=name)\ndefault_resource = alicloud.eflo.Resource(\"default\",\n user_access_param={\n \"access_id\": \"your_access_id\",\n \"access_key\": \"your_access_key\",\n \"workspace_id\": \"your_workspace_id\",\n \"endpoint\": \"your_endpoint\",\n },\n cluster_id=f\"terraform-{default['result']}\",\n machine_types={\n \"memory_info\": \"32x 64GB DDR4 4800 Memory\",\n \"type\": \"Private\",\n \"bond_num\": 5,\n \"node_count\": 1,\n \"cpu_info\": \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n \"network_info\": \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n \"gpu_info\": \"8x OAM 810 GPU\",\n \"disk_info\": \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n \"network_mode\": \"net\",\n \"name\": \"lingjun\",\n },\n cluster_name=name,\n cluster_desc=name)\ndefault_experiment_plan = alicloud.eflo.ExperimentPlan(\"default\",\n resource_id=default_resource.resource_id,\n plan_name=name,\n template_id=defaultp_szn7t.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultpSZN7t = new AliCloud.Eflo.ExperimentPlanTemplate(\"defaultpSZN7t\", new()\n {\n TemplatePipelines = new[]\n {\n new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineArgs\n {\n WorkloadId = 2,\n WorkloadName = \"MatMul\",\n EnvParams = new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs\n {\n CpuPerWorker = 90,\n GpuPerWorker = 8,\n MemoryPerWorker = 500,\n ShareMemory = 500,\n WorkerNum = 1,\n PyTorchVersion = \"1\",\n GpuDriverVersion = \"1\",\n CudaVersion = \"1\",\n NcclVersion = \"1\",\n },\n PipelineOrder = 1,\n Scene = \"baseline\",\n },\n },\n PrivacyLevel = \"private\",\n TemplateName = name,\n TemplateDescription = name,\n });\n\n var defaultResource = new AliCloud.Eflo.Resource(\"default\", new()\n {\n UserAccessParam = new AliCloud.Eflo.Inputs.ResourceUserAccessParamArgs\n {\n AccessId = \"your_access_id\",\n AccessKey = \"your_access_key\",\n WorkspaceId = \"your_workspace_id\",\n Endpoint = \"your_endpoint\",\n },\n ClusterId = $\"terraform-{@default.Result}\",\n MachineTypes = new AliCloud.Eflo.Inputs.ResourceMachineTypesArgs\n {\n MemoryInfo = \"32x 64GB DDR4 4800 Memory\",\n Type = \"Private\",\n BondNum = 5,\n NodeCount = 1,\n CpuInfo = \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n NetworkInfo = \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n GpuInfo = \"8x OAM 810 GPU\",\n DiskInfo = \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n NetworkMode = \"net\",\n Name = \"lingjun\",\n },\n ClusterName = name,\n ClusterDesc = name,\n });\n\n var defaultExperimentPlan = new AliCloud.Eflo.ExperimentPlan(\"default\", new()\n {\n ResourceId = defaultResource.ResourceId,\n PlanName = name,\n TemplateId = defaultpSZN7t.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultpSZN7t, err := eflo.NewExperimentPlanTemplate(ctx, \"defaultpSZN7t\", \u0026eflo.ExperimentPlanTemplateArgs{\n\t\t\tTemplatePipelines: eflo.ExperimentPlanTemplateTemplatePipelineArray{\n\t\t\t\t\u0026eflo.ExperimentPlanTemplateTemplatePipelineArgs{\n\t\t\t\t\tWorkloadId: pulumi.Int(2),\n\t\t\t\t\tWorkloadName: pulumi.String(\"MatMul\"),\n\t\t\t\t\tEnvParams: \u0026eflo.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs{\n\t\t\t\t\t\tCpuPerWorker: pulumi.Int(90),\n\t\t\t\t\t\tGpuPerWorker: pulumi.Int(8),\n\t\t\t\t\t\tMemoryPerWorker: pulumi.Int(500),\n\t\t\t\t\t\tShareMemory: pulumi.Int(500),\n\t\t\t\t\t\tWorkerNum: pulumi.Int(1),\n\t\t\t\t\t\tPyTorchVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tGpuDriverVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tCudaVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tNcclVersion: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPipelineOrder: pulumi.Int(1),\n\t\t\t\t\tScene: pulumi.String(\"baseline\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivacyLevel: pulumi.String(\"private\"),\n\t\t\tTemplateName: pulumi.String(name),\n\t\t\tTemplateDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResource, err := eflo.NewResource(ctx, \"default\", \u0026eflo.ResourceArgs{\n\t\t\tUserAccessParam: \u0026eflo.ResourceUserAccessParamArgs{\n\t\t\t\tAccessId: pulumi.String(\"your_access_id\"),\n\t\t\t\tAccessKey: pulumi.String(\"your_access_key\"),\n\t\t\t\tWorkspaceId: pulumi.String(\"your_workspace_id\"),\n\t\t\t\tEndpoint: pulumi.String(\"your_endpoint\"),\n\t\t\t},\n\t\t\tClusterId: pulumi.Sprintf(\"terraform-%v\", _default.Result),\n\t\t\tMachineTypes: \u0026eflo.ResourceMachineTypesArgs{\n\t\t\t\tMemoryInfo: pulumi.String(\"32x 64GB DDR4 4800 Memory\"),\n\t\t\t\tType: pulumi.String(\"Private\"),\n\t\t\t\tBondNum: pulumi.Int(5),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tCpuInfo: pulumi.String(\"2x Intel Saphhire Rapid 8469C 48C CPU\"),\n\t\t\t\tNetworkInfo: pulumi.String(\"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\"),\n\t\t\t\tGpuInfo: pulumi.String(\"8x OAM 810 GPU\"),\n\t\t\t\tDiskInfo: pulumi.String(\"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\"),\n\t\t\t\tNetworkMode: pulumi.String(\"net\"),\n\t\t\t\tName: pulumi.String(\"lingjun\"),\n\t\t\t},\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterDesc: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewExperimentPlan(ctx, \"default\", \u0026eflo.ExperimentPlanArgs{\n\t\t\tResourceId: defaultResource.ResourceId,\n\t\t\tPlanName: pulumi.String(name),\n\t\t\tTemplateId: defaultpSZN7t.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplate;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplateArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs;\nimport com.pulumi.alicloud.eflo.Resource;\nimport com.pulumi.alicloud.eflo.ResourceArgs;\nimport com.pulumi.alicloud.eflo.inputs.ResourceUserAccessParamArgs;\nimport com.pulumi.alicloud.eflo.inputs.ResourceMachineTypesArgs;\nimport com.pulumi.alicloud.eflo.ExperimentPlan;\nimport com.pulumi.alicloud.eflo.ExperimentPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultpSZN7t = new ExperimentPlanTemplate(\"defaultpSZN7t\", ExperimentPlanTemplateArgs.builder()\n .templatePipelines(ExperimentPlanTemplateTemplatePipelineArgs.builder()\n .workloadId(2)\n .workloadName(\"MatMul\")\n .envParams(ExperimentPlanTemplateTemplatePipelineEnvParamsArgs.builder()\n .cpuPerWorker(90)\n .gpuPerWorker(8)\n .memoryPerWorker(500)\n .shareMemory(500)\n .workerNum(1)\n .pyTorchVersion(\"1\")\n .gpuDriverVersion(\"1\")\n .cudaVersion(\"1\")\n .ncclVersion(\"1\")\n .build())\n .pipelineOrder(1)\n .scene(\"baseline\")\n .build())\n .privacyLevel(\"private\")\n .templateName(name)\n .templateDescription(name)\n .build());\n\n var defaultResource = new Resource(\"defaultResource\", ResourceArgs.builder()\n .userAccessParam(ResourceUserAccessParamArgs.builder()\n .accessId(\"your_access_id\")\n .accessKey(\"your_access_key\")\n .workspaceId(\"your_workspace_id\")\n .endpoint(\"your_endpoint\")\n .build())\n .clusterId(String.format(\"terraform-%s\", default_.result()))\n .machineTypes(ResourceMachineTypesArgs.builder()\n .memoryInfo(\"32x 64GB DDR4 4800 Memory\")\n .type(\"Private\")\n .bondNum(5)\n .nodeCount(1)\n .cpuInfo(\"2x Intel Saphhire Rapid 8469C 48C CPU\")\n .networkInfo(\"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\")\n .gpuInfo(\"8x OAM 810 GPU\")\n .diskInfo(\"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\")\n .networkMode(\"net\")\n .name(\"lingjun\")\n .build())\n .clusterName(name)\n .clusterDesc(name)\n .build());\n\n var defaultExperimentPlan = new ExperimentPlan(\"defaultExperimentPlan\", ExperimentPlanArgs.builder()\n .resourceId(defaultResource.resourceId())\n .planName(name)\n .templateId(defaultpSZN7t.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultpSZN7t:\n type: alicloud:eflo:ExperimentPlanTemplate\n properties:\n templatePipelines:\n - workloadId: '2'\n workloadName: MatMul\n envParams:\n cpuPerWorker: '90'\n gpuPerWorker: '8'\n memoryPerWorker: '500'\n shareMemory: '500'\n workerNum: '1'\n pyTorchVersion: '1'\n gpuDriverVersion: '1'\n cudaVersion: '1'\n ncclVersion: '1'\n pipelineOrder: '1'\n scene: baseline\n privacyLevel: private\n templateName: ${name}\n templateDescription: ${name}\n defaultResource:\n type: alicloud:eflo:Resource\n name: default\n properties:\n userAccessParam:\n accessId: your_access_id\n accessKey: your_access_key\n workspaceId: your_workspace_id\n endpoint: your_endpoint\n clusterId: terraform-${default.result}\n machineTypes:\n memoryInfo: 32x 64GB DDR4 4800 Memory\n type: Private\n bondNum: '5'\n nodeCount: '1'\n cpuInfo: 2x Intel Saphhire Rapid 8469C 48C CPU\n networkInfo: 1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\n gpuInfo: 8x OAM 810 GPU\n diskInfo: 2x 480GB SATA SSD 4x 3.84TB NVMe SSD\n networkMode: net\n name: lingjun\n clusterName: ${name}\n clusterDesc: ${name}\n defaultExperimentPlan:\n type: alicloud:eflo:ExperimentPlan\n name: default\n properties:\n resourceId: ${defaultResource.resourceId}\n planName: ${name}\n templateId: ${defaultpSZN7t.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Experiment Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/experimentPlan:ExperimentPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Experiment Plan resource.\n\n\n\nFor information about Eflo Experiment Plan and how to use it, see [What is Experiment Plan](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplan).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultpSZN7t = new alicloud.eflo.ExperimentPlanTemplate(\"defaultpSZN7t\", {\n templatePipelines: [{\n workloadId: 2,\n workloadName: \"MatMul\",\n envParams: {\n cpuPerWorker: 90,\n gpuPerWorker: 8,\n memoryPerWorker: 500,\n shareMemory: 500,\n workerNum: 1,\n pyTorchVersion: \"1\",\n gpuDriverVersion: \"1\",\n cudaVersion: \"1\",\n ncclVersion: \"1\",\n },\n pipelineOrder: 1,\n scene: \"baseline\",\n }],\n privacyLevel: \"private\",\n templateName: name,\n templateDescription: name,\n});\nconst defaultResource = new alicloud.eflo.Resource(\"default\", {\n userAccessParam: {\n accessId: \"your_access_id\",\n accessKey: \"your_access_key\",\n workspaceId: \"your_workspace_id\",\n endpoint: \"your_endpoint\",\n },\n clusterId: `terraform-${_default.result}`,\n machineTypes: {\n memoryInfo: \"32x 64GB DDR4 4800 Memory\",\n type: \"Private\",\n bondNum: 5,\n nodeCount: 1,\n cpuInfo: \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n networkInfo: \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n gpuInfo: \"8x OAM 810 GPU\",\n diskInfo: \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n networkMode: \"net\",\n name: \"lingjun\",\n },\n clusterName: name,\n clusterDesc: name,\n});\nconst defaultExperimentPlan = new alicloud.eflo.ExperimentPlan(\"default\", {\n resourceId: defaultResource.resourceId,\n planName: name,\n templateId: defaultpSZN7t.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultp_szn7t = alicloud.eflo.ExperimentPlanTemplate(\"defaultpSZN7t\",\n template_pipelines=[{\n \"workload_id\": 2,\n \"workload_name\": \"MatMul\",\n \"env_params\": {\n \"cpu_per_worker\": 90,\n \"gpu_per_worker\": 8,\n \"memory_per_worker\": 500,\n \"share_memory\": 500,\n \"worker_num\": 1,\n \"py_torch_version\": \"1\",\n \"gpu_driver_version\": \"1\",\n \"cuda_version\": \"1\",\n \"nccl_version\": \"1\",\n },\n \"pipeline_order\": 1,\n \"scene\": \"baseline\",\n }],\n privacy_level=\"private\",\n template_name=name,\n template_description=name)\ndefault_resource = alicloud.eflo.Resource(\"default\",\n user_access_param={\n \"access_id\": \"your_access_id\",\n \"access_key\": \"your_access_key\",\n \"workspace_id\": \"your_workspace_id\",\n \"endpoint\": \"your_endpoint\",\n },\n cluster_id=f\"terraform-{default['result']}\",\n machine_types={\n \"memory_info\": \"32x 64GB DDR4 4800 Memory\",\n \"type\": \"Private\",\n \"bond_num\": 5,\n \"node_count\": 1,\n \"cpu_info\": \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n \"network_info\": \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n \"gpu_info\": \"8x OAM 810 GPU\",\n \"disk_info\": \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n \"network_mode\": \"net\",\n \"name\": \"lingjun\",\n },\n cluster_name=name,\n cluster_desc=name)\ndefault_experiment_plan = alicloud.eflo.ExperimentPlan(\"default\",\n resource_id=default_resource.resource_id,\n plan_name=name,\n template_id=defaultp_szn7t.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultpSZN7t = new AliCloud.Eflo.ExperimentPlanTemplate(\"defaultpSZN7t\", new()\n {\n TemplatePipelines = new[]\n {\n new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineArgs\n {\n WorkloadId = 2,\n WorkloadName = \"MatMul\",\n EnvParams = new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs\n {\n CpuPerWorker = 90,\n GpuPerWorker = 8,\n MemoryPerWorker = 500,\n ShareMemory = 500,\n WorkerNum = 1,\n PyTorchVersion = \"1\",\n GpuDriverVersion = \"1\",\n CudaVersion = \"1\",\n NcclVersion = \"1\",\n },\n PipelineOrder = 1,\n Scene = \"baseline\",\n },\n },\n PrivacyLevel = \"private\",\n TemplateName = name,\n TemplateDescription = name,\n });\n\n var defaultResource = new AliCloud.Eflo.Resource(\"default\", new()\n {\n UserAccessParam = new AliCloud.Eflo.Inputs.ResourceUserAccessParamArgs\n {\n AccessId = \"your_access_id\",\n AccessKey = \"your_access_key\",\n WorkspaceId = \"your_workspace_id\",\n Endpoint = \"your_endpoint\",\n },\n ClusterId = $\"terraform-{@default.Result}\",\n MachineTypes = new AliCloud.Eflo.Inputs.ResourceMachineTypesArgs\n {\n MemoryInfo = \"32x 64GB DDR4 4800 Memory\",\n Type = \"Private\",\n BondNum = 5,\n NodeCount = 1,\n CpuInfo = \"2x Intel Saphhire Rapid 8469C 48C CPU\",\n NetworkInfo = \"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\",\n GpuInfo = \"8x OAM 810 GPU\",\n DiskInfo = \"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\",\n NetworkMode = \"net\",\n Name = \"lingjun\",\n },\n ClusterName = name,\n ClusterDesc = name,\n });\n\n var defaultExperimentPlan = new AliCloud.Eflo.ExperimentPlan(\"default\", new()\n {\n ResourceId = defaultResource.ResourceId,\n PlanName = name,\n TemplateId = defaultpSZN7t.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultpSZN7t, err := eflo.NewExperimentPlanTemplate(ctx, \"defaultpSZN7t\", \u0026eflo.ExperimentPlanTemplateArgs{\n\t\t\tTemplatePipelines: eflo.ExperimentPlanTemplateTemplatePipelineArray{\n\t\t\t\t\u0026eflo.ExperimentPlanTemplateTemplatePipelineArgs{\n\t\t\t\t\tWorkloadId: pulumi.Int(2),\n\t\t\t\t\tWorkloadName: pulumi.String(\"MatMul\"),\n\t\t\t\t\tEnvParams: \u0026eflo.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs{\n\t\t\t\t\t\tCpuPerWorker: pulumi.Int(90),\n\t\t\t\t\t\tGpuPerWorker: pulumi.Int(8),\n\t\t\t\t\t\tMemoryPerWorker: pulumi.Int(500),\n\t\t\t\t\t\tShareMemory: pulumi.Int(500),\n\t\t\t\t\t\tWorkerNum: pulumi.Int(1),\n\t\t\t\t\t\tPyTorchVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tGpuDriverVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tCudaVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tNcclVersion: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPipelineOrder: pulumi.Int(1),\n\t\t\t\t\tScene: pulumi.String(\"baseline\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivacyLevel: pulumi.String(\"private\"),\n\t\t\tTemplateName: pulumi.String(name),\n\t\t\tTemplateDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResource, err := eflo.NewResource(ctx, \"default\", \u0026eflo.ResourceArgs{\n\t\t\tUserAccessParam: \u0026eflo.ResourceUserAccessParamArgs{\n\t\t\t\tAccessId: pulumi.String(\"your_access_id\"),\n\t\t\t\tAccessKey: pulumi.String(\"your_access_key\"),\n\t\t\t\tWorkspaceId: pulumi.String(\"your_workspace_id\"),\n\t\t\t\tEndpoint: pulumi.String(\"your_endpoint\"),\n\t\t\t},\n\t\t\tClusterId: pulumi.Sprintf(\"terraform-%v\", _default.Result),\n\t\t\tMachineTypes: \u0026eflo.ResourceMachineTypesArgs{\n\t\t\t\tMemoryInfo: pulumi.String(\"32x 64GB DDR4 4800 Memory\"),\n\t\t\t\tType: pulumi.String(\"Private\"),\n\t\t\t\tBondNum: pulumi.Int(5),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tCpuInfo: pulumi.String(\"2x Intel Saphhire Rapid 8469C 48C CPU\"),\n\t\t\t\tNetworkInfo: pulumi.String(\"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\"),\n\t\t\t\tGpuInfo: pulumi.String(\"8x OAM 810 GPU\"),\n\t\t\t\tDiskInfo: pulumi.String(\"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\"),\n\t\t\t\tNetworkMode: pulumi.String(\"net\"),\n\t\t\t\tName: pulumi.String(\"lingjun\"),\n\t\t\t},\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tClusterDesc: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewExperimentPlan(ctx, \"default\", \u0026eflo.ExperimentPlanArgs{\n\t\t\tResourceId: defaultResource.ResourceId,\n\t\t\tPlanName: pulumi.String(name),\n\t\t\tTemplateId: defaultpSZN7t.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplate;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplateArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs;\nimport com.pulumi.alicloud.eflo.Resource;\nimport com.pulumi.alicloud.eflo.ResourceArgs;\nimport com.pulumi.alicloud.eflo.inputs.ResourceUserAccessParamArgs;\nimport com.pulumi.alicloud.eflo.inputs.ResourceMachineTypesArgs;\nimport com.pulumi.alicloud.eflo.ExperimentPlan;\nimport com.pulumi.alicloud.eflo.ExperimentPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultpSZN7t = new ExperimentPlanTemplate(\"defaultpSZN7t\", ExperimentPlanTemplateArgs.builder()\n .templatePipelines(ExperimentPlanTemplateTemplatePipelineArgs.builder()\n .workloadId(2)\n .workloadName(\"MatMul\")\n .envParams(ExperimentPlanTemplateTemplatePipelineEnvParamsArgs.builder()\n .cpuPerWorker(90)\n .gpuPerWorker(8)\n .memoryPerWorker(500)\n .shareMemory(500)\n .workerNum(1)\n .pyTorchVersion(\"1\")\n .gpuDriverVersion(\"1\")\n .cudaVersion(\"1\")\n .ncclVersion(\"1\")\n .build())\n .pipelineOrder(1)\n .scene(\"baseline\")\n .build())\n .privacyLevel(\"private\")\n .templateName(name)\n .templateDescription(name)\n .build());\n\n var defaultResource = new Resource(\"defaultResource\", ResourceArgs.builder()\n .userAccessParam(ResourceUserAccessParamArgs.builder()\n .accessId(\"your_access_id\")\n .accessKey(\"your_access_key\")\n .workspaceId(\"your_workspace_id\")\n .endpoint(\"your_endpoint\")\n .build())\n .clusterId(String.format(\"terraform-%s\", default_.result()))\n .machineTypes(ResourceMachineTypesArgs.builder()\n .memoryInfo(\"32x 64GB DDR4 4800 Memory\")\n .type(\"Private\")\n .bondNum(5)\n .nodeCount(1)\n .cpuInfo(\"2x Intel Saphhire Rapid 8469C 48C CPU\")\n .networkInfo(\"1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\")\n .gpuInfo(\"8x OAM 810 GPU\")\n .diskInfo(\"2x 480GB SATA SSD 4x 3.84TB NVMe SSD\")\n .networkMode(\"net\")\n .name(\"lingjun\")\n .build())\n .clusterName(name)\n .clusterDesc(name)\n .build());\n\n var defaultExperimentPlan = new ExperimentPlan(\"defaultExperimentPlan\", ExperimentPlanArgs.builder()\n .resourceId(defaultResource.resourceId())\n .planName(name)\n .templateId(defaultpSZN7t.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultpSZN7t:\n type: alicloud:eflo:ExperimentPlanTemplate\n properties:\n templatePipelines:\n - workloadId: '2'\n workloadName: MatMul\n envParams:\n cpuPerWorker: '90'\n gpuPerWorker: '8'\n memoryPerWorker: '500'\n shareMemory: '500'\n workerNum: '1'\n pyTorchVersion: '1'\n gpuDriverVersion: '1'\n cudaVersion: '1'\n ncclVersion: '1'\n pipelineOrder: '1'\n scene: baseline\n privacyLevel: private\n templateName: ${name}\n templateDescription: ${name}\n defaultResource:\n type: alicloud:eflo:Resource\n name: default\n properties:\n userAccessParam:\n accessId: your_access_id\n accessKey: your_access_key\n workspaceId: your_workspace_id\n endpoint: your_endpoint\n clusterId: terraform-${default.result}\n machineTypes:\n memoryInfo: 32x 64GB DDR4 4800 Memory\n type: Private\n bondNum: '5'\n nodeCount: '1'\n cpuInfo: 2x Intel Saphhire Rapid 8469C 48C CPU\n networkInfo: 1x 200Gbps Dual Port BF3 DPU for VPC 4x 200Gbps Dual Port EIC\n gpuInfo: 8x OAM 810 GPU\n diskInfo: 2x 480GB SATA SSD 4x 3.84TB NVMe SSD\n networkMode: net\n name: lingjun\n clusterName: ${name}\n clusterDesc: ${name}\n defaultExperimentPlan:\n type: alicloud:eflo:ExperimentPlan\n name: default\n properties:\n resourceId: ${defaultResource.resourceId}\n planName: ${name}\n templateId: ${defaultpSZN7t.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Experiment Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/experimentPlan:ExperimentPlan example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -166288,7 +168930,7 @@ } }, "alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate": { - "description": "Provides a Eflo Experiment Plan Template resource.\n\n\n\nFor information about Eflo Experiment Plan Template and how to use it, see [What is Experiment Plan Template](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplantemplate).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.ExperimentPlanTemplate(\"default\", {\n templatePipelines: [{\n workloadId: 2,\n workloadName: \"MatMul\",\n envParams: {\n cpuPerWorker: 90,\n gpuPerWorker: 8,\n memoryPerWorker: 500,\n shareMemory: 500,\n workerNum: 1,\n pyTorchVersion: \"1\",\n gpuDriverVersion: \"1\",\n cudaVersion: \"1\",\n ncclVersion: \"1\",\n },\n pipelineOrder: 1,\n scene: \"baseline\",\n }],\n privacyLevel: \"private\",\n templateName: name,\n templateDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.ExperimentPlanTemplate(\"default\",\n template_pipelines=[{\n \"workload_id\": 2,\n \"workload_name\": \"MatMul\",\n \"env_params\": {\n \"cpu_per_worker\": 90,\n \"gpu_per_worker\": 8,\n \"memory_per_worker\": 500,\n \"share_memory\": 500,\n \"worker_num\": 1,\n \"py_torch_version\": \"1\",\n \"gpu_driver_version\": \"1\",\n \"cuda_version\": \"1\",\n \"nccl_version\": \"1\",\n },\n \"pipeline_order\": 1,\n \"scene\": \"baseline\",\n }],\n privacy_level=\"private\",\n template_name=name,\n template_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.ExperimentPlanTemplate(\"default\", new()\n {\n TemplatePipelines = new[]\n {\n new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineArgs\n {\n WorkloadId = 2,\n WorkloadName = \"MatMul\",\n EnvParams = new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs\n {\n CpuPerWorker = 90,\n GpuPerWorker = 8,\n MemoryPerWorker = 500,\n ShareMemory = 500,\n WorkerNum = 1,\n PyTorchVersion = \"1\",\n GpuDriverVersion = \"1\",\n CudaVersion = \"1\",\n NcclVersion = \"1\",\n },\n PipelineOrder = 1,\n Scene = \"baseline\",\n },\n },\n PrivacyLevel = \"private\",\n TemplateName = name,\n TemplateDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewExperimentPlanTemplate(ctx, \"default\", \u0026eflo.ExperimentPlanTemplateArgs{\n\t\t\tTemplatePipelines: eflo.ExperimentPlanTemplateTemplatePipelineArray{\n\t\t\t\t\u0026eflo.ExperimentPlanTemplateTemplatePipelineArgs{\n\t\t\t\t\tWorkloadId: pulumi.Int(2),\n\t\t\t\t\tWorkloadName: pulumi.String(\"MatMul\"),\n\t\t\t\t\tEnvParams: \u0026eflo.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs{\n\t\t\t\t\t\tCpuPerWorker: pulumi.Int(90),\n\t\t\t\t\t\tGpuPerWorker: pulumi.Int(8),\n\t\t\t\t\t\tMemoryPerWorker: pulumi.Int(500),\n\t\t\t\t\t\tShareMemory: pulumi.Int(500),\n\t\t\t\t\t\tWorkerNum: pulumi.Int(1),\n\t\t\t\t\t\tPyTorchVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tGpuDriverVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tCudaVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tNcclVersion: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPipelineOrder: pulumi.Int(1),\n\t\t\t\t\tScene: pulumi.String(\"baseline\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivacyLevel: pulumi.String(\"private\"),\n\t\t\tTemplateName: pulumi.String(name),\n\t\t\tTemplateDescription: pulumi.String(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.alicloud.eflo.ExperimentPlanTemplate;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplateArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ExperimentPlanTemplate(\"default\", ExperimentPlanTemplateArgs.builder()\n .templatePipelines(ExperimentPlanTemplateTemplatePipelineArgs.builder()\n .workloadId(2)\n .workloadName(\"MatMul\")\n .envParams(ExperimentPlanTemplateTemplatePipelineEnvParamsArgs.builder()\n .cpuPerWorker(90)\n .gpuPerWorker(8)\n .memoryPerWorker(500)\n .shareMemory(500)\n .workerNum(1)\n .pyTorchVersion(\"1\")\n .gpuDriverVersion(\"1\")\n .cudaVersion(\"1\")\n .ncclVersion(\"1\")\n .build())\n .pipelineOrder(1)\n .scene(\"baseline\")\n .build())\n .privacyLevel(\"private\")\n .templateName(name)\n .templateDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:ExperimentPlanTemplate\n properties:\n templatePipelines:\n - workloadId: '2'\n workloadName: MatMul\n envParams:\n cpuPerWorker: '90'\n gpuPerWorker: '8'\n memoryPerWorker: '500'\n shareMemory: '500'\n workerNum: '1'\n pyTorchVersion: '1'\n gpuDriverVersion: '1'\n cudaVersion: '1'\n ncclVersion: '1'\n pipelineOrder: '1'\n scene: baseline\n privacyLevel: private\n templateName: ${name}\n templateDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Experiment Plan Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Experiment Plan Template resource.\n\n\n\nFor information about Eflo Experiment Plan Template and how to use it, see [What is Experiment Plan Template](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-cnp-2023-08-28-createexperimentplantemplate).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.ExperimentPlanTemplate(\"default\", {\n templatePipelines: [{\n workloadId: 2,\n workloadName: \"MatMul\",\n envParams: {\n cpuPerWorker: 90,\n gpuPerWorker: 8,\n memoryPerWorker: 500,\n shareMemory: 500,\n workerNum: 1,\n pyTorchVersion: \"1\",\n gpuDriverVersion: \"1\",\n cudaVersion: \"1\",\n ncclVersion: \"1\",\n },\n pipelineOrder: 1,\n scene: \"baseline\",\n }],\n privacyLevel: \"private\",\n templateName: name,\n templateDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.ExperimentPlanTemplate(\"default\",\n template_pipelines=[{\n \"workload_id\": 2,\n \"workload_name\": \"MatMul\",\n \"env_params\": {\n \"cpu_per_worker\": 90,\n \"gpu_per_worker\": 8,\n \"memory_per_worker\": 500,\n \"share_memory\": 500,\n \"worker_num\": 1,\n \"py_torch_version\": \"1\",\n \"gpu_driver_version\": \"1\",\n \"cuda_version\": \"1\",\n \"nccl_version\": \"1\",\n },\n \"pipeline_order\": 1,\n \"scene\": \"baseline\",\n }],\n privacy_level=\"private\",\n template_name=name,\n template_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.ExperimentPlanTemplate(\"default\", new()\n {\n TemplatePipelines = new[]\n {\n new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineArgs\n {\n WorkloadId = 2,\n WorkloadName = \"MatMul\",\n EnvParams = new AliCloud.Eflo.Inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs\n {\n CpuPerWorker = 90,\n GpuPerWorker = 8,\n MemoryPerWorker = 500,\n ShareMemory = 500,\n WorkerNum = 1,\n PyTorchVersion = \"1\",\n GpuDriverVersion = \"1\",\n CudaVersion = \"1\",\n NcclVersion = \"1\",\n },\n PipelineOrder = 1,\n Scene = \"baseline\",\n },\n },\n PrivacyLevel = \"private\",\n TemplateName = name,\n TemplateDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewExperimentPlanTemplate(ctx, \"default\", \u0026eflo.ExperimentPlanTemplateArgs{\n\t\t\tTemplatePipelines: eflo.ExperimentPlanTemplateTemplatePipelineArray{\n\t\t\t\t\u0026eflo.ExperimentPlanTemplateTemplatePipelineArgs{\n\t\t\t\t\tWorkloadId: pulumi.Int(2),\n\t\t\t\t\tWorkloadName: pulumi.String(\"MatMul\"),\n\t\t\t\t\tEnvParams: \u0026eflo.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs{\n\t\t\t\t\t\tCpuPerWorker: pulumi.Int(90),\n\t\t\t\t\t\tGpuPerWorker: pulumi.Int(8),\n\t\t\t\t\t\tMemoryPerWorker: pulumi.Int(500),\n\t\t\t\t\t\tShareMemory: pulumi.Int(500),\n\t\t\t\t\t\tWorkerNum: pulumi.Int(1),\n\t\t\t\t\t\tPyTorchVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tGpuDriverVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tCudaVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\tNcclVersion: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tPipelineOrder: pulumi.Int(1),\n\t\t\t\t\tScene: pulumi.String(\"baseline\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivacyLevel: pulumi.String(\"private\"),\n\t\t\tTemplateName: pulumi.String(name),\n\t\t\tTemplateDescription: pulumi.String(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.alicloud.eflo.ExperimentPlanTemplate;\nimport com.pulumi.alicloud.eflo.ExperimentPlanTemplateArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineArgs;\nimport com.pulumi.alicloud.eflo.inputs.ExperimentPlanTemplateTemplatePipelineEnvParamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ExperimentPlanTemplate(\"default\", ExperimentPlanTemplateArgs.builder()\n .templatePipelines(ExperimentPlanTemplateTemplatePipelineArgs.builder()\n .workloadId(2)\n .workloadName(\"MatMul\")\n .envParams(ExperimentPlanTemplateTemplatePipelineEnvParamsArgs.builder()\n .cpuPerWorker(90)\n .gpuPerWorker(8)\n .memoryPerWorker(500)\n .shareMemory(500)\n .workerNum(1)\n .pyTorchVersion(\"1\")\n .gpuDriverVersion(\"1\")\n .cudaVersion(\"1\")\n .ncclVersion(\"1\")\n .build())\n .pipelineOrder(1)\n .scene(\"baseline\")\n .build())\n .privacyLevel(\"private\")\n .templateName(name)\n .templateDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:ExperimentPlanTemplate\n properties:\n templatePipelines:\n - workloadId: '2'\n workloadName: MatMul\n envParams:\n cpuPerWorker: '90'\n gpuPerWorker: '8'\n memoryPerWorker: '500'\n shareMemory: '500'\n workerNum: '1'\n pyTorchVersion: '1'\n gpuDriverVersion: '1'\n cudaVersion: '1'\n ncclVersion: '1'\n pipelineOrder: '1'\n scene: baseline\n privacyLevel: private\n templateName: ${name}\n templateDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Experiment Plan Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/experimentPlanTemplate:ExperimentPlanTemplate example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -166392,19 +169034,42 @@ } }, "alicloud:eflo/hyperNode:HyperNode": { - "description": "Provides a Eflo Hyper Node resource.\n\nHyper computing node.\n\nFor information about Eflo Hyper Node and how to use it, see [What is Hyper Node](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-controller-2022-12-15-overview).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.HyperNode(\"default\", {\n zoneId: \"ap-southeast-7a\",\n machineType: \"efg3.GN9A.ch72\",\n hpnZone: \"A1\",\n serverArch: \"bmserver\",\n paymentDuration: 1,\n paymentType: \"Subscription\",\n stageNum: \"1\",\n renewalDuration: 2,\n renewalStatus: \"ManualRenewal\",\n tags: {\n From: \"Terraform\",\n Env: \"Product\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.HyperNode(\"default\",\n zone_id=\"ap-southeast-7a\",\n machine_type=\"efg3.GN9A.ch72\",\n hpn_zone=\"A1\",\n server_arch=\"bmserver\",\n payment_duration=1,\n payment_type=\"Subscription\",\n stage_num=\"1\",\n renewal_duration=2,\n renewal_status=\"ManualRenewal\",\n tags={\n \"From\": \"Terraform\",\n \"Env\": \"Product\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.HyperNode(\"default\", new()\n {\n ZoneId = \"ap-southeast-7a\",\n MachineType = \"efg3.GN9A.ch72\",\n HpnZone = \"A1\",\n ServerArch = \"bmserver\",\n PaymentDuration = 1,\n PaymentType = \"Subscription\",\n StageNum = \"1\",\n RenewalDuration = 2,\n RenewalStatus = \"ManualRenewal\",\n Tags = \n {\n { \"From\", \"Terraform\" },\n { \"Env\", \"Product\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewHyperNode(ctx, \"default\", \u0026eflo.HyperNodeArgs{\n\t\t\tZoneId: pulumi.String(\"ap-southeast-7a\"),\n\t\t\tMachineType: pulumi.String(\"efg3.GN9A.ch72\"),\n\t\t\tHpnZone: pulumi.String(\"A1\"),\n\t\t\tServerArch: pulumi.String(\"bmserver\"),\n\t\t\tPaymentDuration: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tStageNum: pulumi.String(\"1\"),\n\t\t\tRenewalDuration: pulumi.Int(2),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"From\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Env\": pulumi.String(\"Product\"),\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.alicloud.eflo.HyperNode;\nimport com.pulumi.alicloud.eflo.HyperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new HyperNode(\"default\", HyperNodeArgs.builder()\n .zoneId(\"ap-southeast-7a\")\n .machineType(\"efg3.GN9A.ch72\")\n .hpnZone(\"A1\")\n .serverArch(\"bmserver\")\n .paymentDuration(1)\n .paymentType(\"Subscription\")\n .stageNum(\"1\")\n .renewalDuration(2)\n .renewalStatus(\"ManualRenewal\")\n .tags(Map.ofEntries(\n Map.entry(\"From\", \"Terraform\"),\n Map.entry(\"Env\", \"Product\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:HyperNode\n properties:\n zoneId: ap-southeast-7a\n machineType: efg3.GN9A.ch72\n hpnZone: A1\n serverArch: bmserver\n paymentDuration: '1'\n paymentType: Subscription\n stageNum: '1'\n renewalDuration: 2\n renewalStatus: ManualRenewal\n tags:\n From: Terraform\n Env: Product\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Hyper Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/hyperNode:HyperNode example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Hyper Node resource.\n\nHyper computing node.\n\nFor information about Eflo Hyper Node and how to use it, see [What is Hyper Node](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-controller-2022-12-15-overview).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.HyperNode(\"default\", {\n zoneId: \"ap-southeast-7a\",\n machineType: \"efg3.GN9A.ch72\",\n hpnZone: \"A1\",\n serverArch: \"bmserver\",\n paymentDuration: 1,\n paymentType: \"Subscription\",\n stageNum: \"1\",\n renewalDuration: 2,\n renewalStatus: \"ManualRenewal\",\n tags: {\n From: \"Terraform\",\n Env: \"Product\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.HyperNode(\"default\",\n zone_id=\"ap-southeast-7a\",\n machine_type=\"efg3.GN9A.ch72\",\n hpn_zone=\"A1\",\n server_arch=\"bmserver\",\n payment_duration=1,\n payment_type=\"Subscription\",\n stage_num=\"1\",\n renewal_duration=2,\n renewal_status=\"ManualRenewal\",\n tags={\n \"From\": \"Terraform\",\n \"Env\": \"Product\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.HyperNode(\"default\", new()\n {\n ZoneId = \"ap-southeast-7a\",\n MachineType = \"efg3.GN9A.ch72\",\n HpnZone = \"A1\",\n ServerArch = \"bmserver\",\n PaymentDuration = 1,\n PaymentType = \"Subscription\",\n StageNum = \"1\",\n RenewalDuration = 2,\n RenewalStatus = \"ManualRenewal\",\n Tags = \n {\n { \"From\", \"Terraform\" },\n { \"Env\", \"Product\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewHyperNode(ctx, \"default\", \u0026eflo.HyperNodeArgs{\n\t\t\tZoneId: pulumi.String(\"ap-southeast-7a\"),\n\t\t\tMachineType: pulumi.String(\"efg3.GN9A.ch72\"),\n\t\t\tHpnZone: pulumi.String(\"A1\"),\n\t\t\tServerArch: pulumi.String(\"bmserver\"),\n\t\t\tPaymentDuration: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tStageNum: pulumi.String(\"1\"),\n\t\t\tRenewalDuration: pulumi.Int(2),\n\t\t\tRenewalStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"From\": pulumi.String(\"Terraform\"),\n\t\t\t\t\"Env\": pulumi.String(\"Product\"),\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.alicloud.eflo.HyperNode;\nimport com.pulumi.alicloud.eflo.HyperNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new HyperNode(\"default\", HyperNodeArgs.builder()\n .zoneId(\"ap-southeast-7a\")\n .machineType(\"efg3.GN9A.ch72\")\n .hpnZone(\"A1\")\n .serverArch(\"bmserver\")\n .paymentDuration(1)\n .paymentType(\"Subscription\")\n .stageNum(\"1\")\n .renewalDuration(2)\n .renewalStatus(\"ManualRenewal\")\n .tags(Map.ofEntries(\n Map.entry(\"From\", \"Terraform\"),\n Map.entry(\"Env\", \"Product\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:HyperNode\n properties:\n zoneId: ap-southeast-7a\n machineType: efg3.GN9A.ch72\n hpnZone: A1\n serverArch: bmserver\n paymentDuration: '1'\n paymentType: Subscription\n stageNum: '1'\n renewalDuration: 2\n renewalStatus: ManualRenewal\n tags:\n From: Terraform\n Env: Product\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Hyper Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/hyperNode:HyperNode example \u003cid\u003e\n```\n\n", "properties": { + "clusterId": { + "type": "string", + "description": "Cluster ID\n" + }, "createTime": { "type": "string", "description": "The creation time of the resource\n" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/HyperNodeDataDisk:HyperNodeDataDisk" + } + }, + "hostname": { + "type": "string", + "description": "The host name prefix of the sub computing node\n" + }, "hpnZone": { "type": "string", - "description": "Number of the cluster to which the supercompute node belongs\n" + "description": "Number of the cluster to which the hyper computing node belongs\n" + }, + "loginPassword": { + "type": "string", + "description": "Login Password of the sub computing node\n", + "secret": true }, "machineType": { "type": "string", - "description": "The model used by the super computing node\n" + "description": "The model used by the hyper computing node\n" + }, + "nodeGroupId": { + "type": "string", + "description": "Node group ID\n" }, "paymentDuration": { "type": "integer", @@ -166432,11 +169097,11 @@ }, "serverArch": { "type": "string", - "description": "Super Node Architecture\n" + "description": "Hyper Node Architecture\n" }, "stageNum": { "type": "string", - "description": "The number of installments of the supercomputing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "The number of installments of the hyper computing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -166449,9 +169114,21 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom user data for the sub computing node\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc to which the sub computing node\n" + }, + "vswitchId": { + "type": "string", + "description": "The ID of the vswitch to which the sub computing node\n" + }, "zoneId": { "type": "string", - "description": "The zone where the super compute node is located\n" + "description": "The zone where the hyper compute node is located\n" } }, "required": [ @@ -166463,16 +169140,39 @@ "status" ], "inputProperties": { + "clusterId": { + "type": "string", + "description": "Cluster ID\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/HyperNodeDataDisk:HyperNodeDataDisk" + } + }, + "hostname": { + "type": "string", + "description": "The host name prefix of the sub computing node\n" + }, "hpnZone": { "type": "string", - "description": "Number of the cluster to which the supercompute node belongs\n", + "description": "Number of the cluster to which the hyper computing node belongs\n", "willReplaceOnChanges": true }, + "loginPassword": { + "type": "string", + "description": "Login Password of the sub computing node\n", + "secret": true + }, "machineType": { "type": "string", - "description": "The model used by the super computing node\n", + "description": "The model used by the hyper computing node\n", "willReplaceOnChanges": true }, + "nodeGroupId": { + "type": "string", + "description": "Node group ID\n" + }, "paymentDuration": { "type": "integer", "description": "The duration of the instance purchase, in units.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" @@ -166496,12 +169196,12 @@ }, "serverArch": { "type": "string", - "description": "Super Node Architecture\n", + "description": "Hyper Node Architecture\n", "willReplaceOnChanges": true }, "stageNum": { "type": "string", - "description": "The number of installments of the supercomputing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "The number of installments of the hyper computing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "tags": { "type": "object", @@ -166510,9 +169210,21 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom user data for the sub computing node\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc to which the sub computing node\n" + }, + "vswitchId": { + "type": "string", + "description": "The ID of the vswitch to which the sub computing node\n" + }, "zoneId": { "type": "string", - "description": "The zone where the super compute node is located\n", + "description": "The zone where the hyper compute node is located\n", "willReplaceOnChanges": true } }, @@ -166522,20 +169234,43 @@ "stateInputs": { "description": "Input properties used for looking up and filtering HyperNode resources.\n", "properties": { + "clusterId": { + "type": "string", + "description": "Cluster ID\n" + }, "createTime": { "type": "string", "description": "The creation time of the resource\n" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/HyperNodeDataDisk:HyperNodeDataDisk" + } + }, + "hostname": { + "type": "string", + "description": "The host name prefix of the sub computing node\n" + }, "hpnZone": { "type": "string", - "description": "Number of the cluster to which the supercompute node belongs\n", + "description": "Number of the cluster to which the hyper computing node belongs\n", "willReplaceOnChanges": true }, + "loginPassword": { + "type": "string", + "description": "Login Password of the sub computing node\n", + "secret": true + }, "machineType": { "type": "string", - "description": "The model used by the super computing node\n", + "description": "The model used by the hyper computing node\n", "willReplaceOnChanges": true }, + "nodeGroupId": { + "type": "string", + "description": "Node group ID\n" + }, "paymentDuration": { "type": "integer", "description": "The duration of the instance purchase, in units.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" @@ -166563,12 +169298,12 @@ }, "serverArch": { "type": "string", - "description": "Super Node Architecture\n", + "description": "Hyper Node Architecture\n", "willReplaceOnChanges": true }, "stageNum": { "type": "string", - "description": "The number of installments of the supercomputing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "The number of installments of the hyper computing node of the fixed fee installment.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -166581,9 +169316,21 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom user data for the sub computing node\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc to which the sub computing node\n" + }, + "vswitchId": { + "type": "string", + "description": "The ID of the vswitch to which the sub computing node\n" + }, "zoneId": { "type": "string", - "description": "The zone where the super compute node is located\n", + "description": "The zone where the hyper compute node is located\n", "willReplaceOnChanges": true } }, @@ -166807,28 +169554,43 @@ } }, "alicloud:eflo/node:Node": { - "description": "Provides a Eflo Node resource.\n\nLarge computing node.\n\nFor information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNode = new alicloud.eflo.Node(\"default\", {\n period: 36,\n discountLevel: \"36\",\n billingCycle: \"1month\",\n classify: \"gpuserver\",\n zone: \"cn-hangzhou-b\",\n productForm: \"instance\",\n paymentRatio: \"0\",\n hpnZone: \"B1\",\n serverArch: \"bmserver\",\n computingServer: \"efg1.nvga1n\",\n stageNum: \"36\",\n renewalStatus: \"AutoRenewal\",\n renewPeriod: 36,\n status: \"Unused\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_node = alicloud.eflo.Node(\"default\",\n period=36,\n discount_level=\"36\",\n billing_cycle=\"1month\",\n classify=\"gpuserver\",\n zone=\"cn-hangzhou-b\",\n product_form=\"instance\",\n payment_ratio=\"0\",\n hpn_zone=\"B1\",\n server_arch=\"bmserver\",\n computing_server=\"efg1.nvga1n\",\n stage_num=\"36\",\n renewal_status=\"AutoRenewal\",\n renew_period=36,\n status=\"Unused\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNode = new AliCloud.Eflo.Node(\"default\", new()\n {\n Period = 36,\n DiscountLevel = \"36\",\n BillingCycle = \"1month\",\n Classify = \"gpuserver\",\n Zone = \"cn-hangzhou-b\",\n ProductForm = \"instance\",\n PaymentRatio = \"0\",\n HpnZone = \"B1\",\n ServerArch = \"bmserver\",\n ComputingServer = \"efg1.nvga1n\",\n StageNum = \"36\",\n RenewalStatus = \"AutoRenewal\",\n RenewPeriod = 36,\n Status = \"Unused\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewNode(ctx, \"default\", \u0026eflo.NodeArgs{\n\t\t\tPeriod: pulumi.Int(36),\n\t\t\tDiscountLevel: pulumi.String(\"36\"),\n\t\t\tBillingCycle: pulumi.String(\"1month\"),\n\t\t\tClassify: pulumi.String(\"gpuserver\"),\n\t\t\tZone: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProductForm: pulumi.String(\"instance\"),\n\t\t\tPaymentRatio: pulumi.String(\"0\"),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tServerArch: pulumi.String(\"bmserver\"),\n\t\t\tComputingServer: pulumi.String(\"efg1.nvga1n\"),\n\t\t\tStageNum: pulumi.String(\"36\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewPeriod: pulumi.Int(36),\n\t\t\tStatus: pulumi.String(\"Unused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Node;\nimport com.pulumi.alicloud.eflo.NodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNode = new Node(\"defaultNode\", NodeArgs.builder()\n .period(36)\n .discountLevel(\"36\")\n .billingCycle(\"1month\")\n .classify(\"gpuserver\")\n .zone(\"cn-hangzhou-b\")\n .productForm(\"instance\")\n .paymentRatio(\"0\")\n .hpnZone(\"B1\")\n .serverArch(\"bmserver\")\n .computingServer(\"efg1.nvga1n\")\n .stageNum(\"36\")\n .renewalStatus(\"AutoRenewal\")\n .renewPeriod(36)\n .status(\"Unused\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Before executing this example, you need to confirm with the product team whether the resources are sufficient or you will get an error message with \"Failure to check order before create instance\"\n name:\n type: string\n default: terraform-example\nresources:\n defaultNode:\n type: alicloud:eflo:Node\n name: default\n properties:\n period: '36'\n discountLevel: '36'\n billingCycle: 1month\n classify: gpuserver\n zone: cn-hangzhou-b\n productForm: instance\n paymentRatio: '0'\n hpnZone: B1\n serverArch: bmserver\n computingServer: efg1.nvga1n\n stageNum: '36'\n renewalStatus: AutoRenewal\n renewPeriod: '36'\n status: Unused\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/node:Node example \u003cid\u003e\n```\n\n", + "description": "\n\n## Import\n\nEflo Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/node:Node example \u003cid\u003e\n```\n\n", "properties": { "billingCycle": { "type": "string", - "description": "Billing cycle\n" + "description": "Billing cycle\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "classify": { "type": "string", - "description": "Classification\n" + "description": "Classification\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "clusterId": { + "type": "string", + "description": "Cluster id\n" }, "computingServer": { "type": "string", - "description": "Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.\n", + "description": "Node Model\n", "deprecationMessage": "Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead." }, "createTime": { "type": "string", "description": "The creation time of the resource\n" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeDataDisk:NodeDataDisk" + }, + "description": "The data disk of the cloud disk to be attached to the node. See \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e below.\n" + }, "discountLevel": { "type": "string", - "description": "Offer Information\n" + "description": "Offer Information\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "hostname": { + "type": "string", + "description": "Host name\n" }, "hpnZone": { "type": "string", @@ -166838,13 +169600,33 @@ "type": "boolean", "description": "Whether to buy PAI. default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, + "ipAllocationPolicies": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicy:NodeIpAllocationPolicy" + }, + "description": "IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See \u003cspan pulumi-lang-nodejs=\"`ipAllocationPolicy`\" pulumi-lang-dotnet=\"`IpAllocationPolicy`\" pulumi-lang-go=\"`ipAllocationPolicy`\" pulumi-lang-python=\"`ip_allocation_policy`\" pulumi-lang-yaml=\"`ipAllocationPolicy`\" pulumi-lang-java=\"`ipAllocationPolicy`\"\u003e`ip_allocation_policy`\u003c/span\u003e below.\n" + }, + "loginPassword": { + "type": "string", + "description": "Login Password\n", + "secret": true + }, "machineType": { "type": "string", "description": "Model\n" }, + "nodeGroupId": { + "type": "string", + "description": "node group id\n" + }, + "nodeType": { + "type": "string", + "description": "node type\n" + }, "paymentRatio": { "type": "string", - "description": "Down payment ratio\n" + "description": "Down payment ratio\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "paymentType": { "type": "string", @@ -166852,11 +169634,11 @@ }, "period": { "type": "integer", - "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n" + "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "productForm": { "type": "string", - "description": "Form\n" + "description": "Form\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "regionId": { "type": "string", @@ -166876,11 +169658,11 @@ }, "serverArch": { "type": "string", - "description": "Architecture\n" + "description": "Architecture\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "stageNum": { "type": "string", - "description": "Number of stages\n" + "description": "Number of stages\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -166893,37 +169675,72 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom Data\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID\n" + }, + "vswitchId": { + "type": "string", + "description": "Switch ID\n" + }, "zone": { "type": "string", "description": "Availability Zone\n" } }, "required": [ + "clusterId", "computingServer", "createTime", + "dataDisks", + "hostname", "machineType", + "nodeGroupId", + "nodeType", "paymentType", "regionId", "resourceGroupId", - "status" + "status", + "userData", + "vpcId", + "vswitchId" ], "inputProperties": { "billingCycle": { "type": "string", - "description": "Billing cycle\n" + "description": "Billing cycle\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "classify": { "type": "string", - "description": "Classification\n" + "description": "Classification\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "clusterId": { + "type": "string", + "description": "Cluster id\n" }, "computingServer": { "type": "string", - "description": "Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.\n", + "description": "Node Model\n", "deprecationMessage": "Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead." }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeDataDisk:NodeDataDisk" + }, + "description": "The data disk of the cloud disk to be attached to the node. See \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e below.\n" + }, "discountLevel": { "type": "string", - "description": "Offer Information\n" + "description": "Offer Information\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "hostname": { + "type": "string", + "description": "Host name\n" }, "hpnZone": { "type": "string", @@ -166934,14 +169751,34 @@ "type": "boolean", "description": "Whether to buy PAI. default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, + "ipAllocationPolicies": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicy:NodeIpAllocationPolicy" + }, + "description": "IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See \u003cspan pulumi-lang-nodejs=\"`ipAllocationPolicy`\" pulumi-lang-dotnet=\"`IpAllocationPolicy`\" pulumi-lang-go=\"`ipAllocationPolicy`\" pulumi-lang-python=\"`ip_allocation_policy`\" pulumi-lang-yaml=\"`ipAllocationPolicy`\" pulumi-lang-java=\"`ipAllocationPolicy`\"\u003e`ip_allocation_policy`\u003c/span\u003e below.\n" + }, + "loginPassword": { + "type": "string", + "description": "Login Password\n", + "secret": true + }, "machineType": { "type": "string", "description": "Model\n", "willReplaceOnChanges": true }, + "nodeGroupId": { + "type": "string", + "description": "node group id\n" + }, + "nodeType": { + "type": "string", + "description": "node type\n" + }, "paymentRatio": { "type": "string", - "description": "Down payment ratio\n" + "description": "Down payment ratio\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "paymentType": { "type": "string", @@ -166950,11 +169787,11 @@ }, "period": { "type": "integer", - "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n" + "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "productForm": { "type": "string", - "description": "Form\n" + "description": "Form\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "renewPeriod": { "type": "integer", @@ -166970,11 +169807,11 @@ }, "serverArch": { "type": "string", - "description": "Architecture\n" + "description": "Architecture\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "stageNum": { "type": "string", - "description": "Number of stages\n" + "description": "Number of stages\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -166987,6 +169824,18 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom Data\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID\n" + }, + "vswitchId": { + "type": "string", + "description": "Switch ID\n" + }, "zone": { "type": "string", "description": "Availability Zone\n", @@ -166998,24 +169847,39 @@ "properties": { "billingCycle": { "type": "string", - "description": "Billing cycle\n" + "description": "Billing cycle\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "classify": { "type": "string", - "description": "Classification\n" + "description": "Classification\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "clusterId": { + "type": "string", + "description": "Cluster id\n" }, "computingServer": { "type": "string", - "description": "Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.\n", + "description": "Node Model\n", "deprecationMessage": "Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead." }, "createTime": { "type": "string", "description": "The creation time of the resource\n" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeDataDisk:NodeDataDisk" + }, + "description": "The data disk of the cloud disk to be attached to the node. See \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e below.\n" + }, "discountLevel": { "type": "string", - "description": "Offer Information\n" + "description": "Offer Information\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "hostname": { + "type": "string", + "description": "Host name\n" }, "hpnZone": { "type": "string", @@ -167026,14 +169890,34 @@ "type": "boolean", "description": "Whether to buy PAI. default value \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, + "ipAllocationPolicies": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:eflo/NodeIpAllocationPolicy:NodeIpAllocationPolicy" + }, + "description": "IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See \u003cspan pulumi-lang-nodejs=\"`ipAllocationPolicy`\" pulumi-lang-dotnet=\"`IpAllocationPolicy`\" pulumi-lang-go=\"`ipAllocationPolicy`\" pulumi-lang-python=\"`ip_allocation_policy`\" pulumi-lang-yaml=\"`ipAllocationPolicy`\" pulumi-lang-java=\"`ipAllocationPolicy`\"\u003e`ip_allocation_policy`\u003c/span\u003e below.\n" + }, + "loginPassword": { + "type": "string", + "description": "Login Password\n", + "secret": true + }, "machineType": { "type": "string", "description": "Model\n", "willReplaceOnChanges": true }, + "nodeGroupId": { + "type": "string", + "description": "node group id\n" + }, + "nodeType": { + "type": "string", + "description": "node type\n" + }, "paymentRatio": { "type": "string", - "description": "Down payment ratio\n" + "description": "Down payment ratio\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "paymentType": { "type": "string", @@ -167042,11 +169926,11 @@ }, "period": { "type": "integer", - "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n" + "description": "Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "productForm": { "type": "string", - "description": "Form\n" + "description": "Form\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "regionId": { "type": "string", @@ -167066,11 +169950,11 @@ }, "serverArch": { "type": "string", - "description": "Architecture\n" + "description": "Architecture\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "stageNum": { "type": "string", - "description": "Number of stages\n" + "description": "Number of stages\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -167083,6 +169967,18 @@ }, "description": "The tag of the resource\n" }, + "userData": { + "type": "string", + "description": "Custom Data\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID\n" + }, + "vswitchId": { + "type": "string", + "description": "Switch ID\n" + }, "zone": { "type": "string", "description": "Availability Zone\n", @@ -167093,7 +169989,7 @@ } }, "alicloud:eflo/nodeGroup:NodeGroup": { - "description": "Provides a Eflo Node Group resource.\n\nNode group. Divide a cluster into multiple node groups, each containing multiple nodes.\n\nFor information about Eflo Node Group and how to use it, see [What is Node Group](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/CreateNodeGroup).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"cluster-resoure-example\",\n});\nconst createVswitch = new alicloud.vpc.Switch(\"create_vswitch\", {\n vpcId: createVpc.id,\n zoneId: \"cn-hangzhou-b\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"cluster-resoure-example\",\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n description: \"sg\",\n securityGroupName: \"cluster-resoure-example\",\n securityGroupType: \"normal\",\n vpcId: createVpc.id,\n});\nconst defaultCluster = new alicloud.eflo.Cluster(\"default\", {\n clusterDescription: \"cluster-resource-example\",\n openEniJumboFrame: false,\n hpnZone: \"B1\",\n nimizVswitches: [\"1111\"],\n ignoreFailedNodeTasks: true,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n nodeGroups: [{\n imageId: \"i198448731735114628708\",\n zoneId: \"cn-hangzhou-b\",\n nodeGroupName: \"cluster-resource-example\",\n nodeGroupDescription: \"cluster-resource-example\",\n machineType: \"efg2.C48cA3sen\",\n }],\n networks: {\n tailIpVersion: \"ipv4\",\n newVpdInfo: {\n monitorVpcId: createVpc.id,\n monitorVswitchId: createVswitch.id,\n cenId: \"11111\",\n cloudLinkId: \"1111\",\n vpdCidr: \"111\",\n vpdSubnets: [{\n zoneId: \"1111\",\n subnetCidr: \"111\",\n subnetType: \"111\",\n }],\n cloudLinkCidr: \"169.254.128.0/23\",\n },\n securityGroupId: createSecurityGroup.id,\n vswitchZoneId: \"cn-hangzhou-b\",\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n vpdInfo: {\n vpdId: \"111\",\n vpdSubnets: [\"111\"],\n },\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"111\",\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n machineType: \"111\",\n }],\n nodePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n nodeId: \"111\",\n }],\n }],\n },\n clusterName: \"tfacceflo7165\",\n clusterType: \"Lite\",\n});\nconst defaultNode = new alicloud.eflo.Node(\"default\", {\n period: 36,\n discountLevel: \"36\",\n billingCycle: \"1month\",\n classify: \"gpuserver\",\n zone: \"cn-hangzhou-b\",\n productForm: \"instance\",\n paymentRatio: \"0\",\n hpnZone: \"B1\",\n serverArch: \"bmserver\",\n computingServer: \"efg1.nvga1n\",\n stageNum: \"36\",\n renewalStatus: \"AutoRenewal\",\n renewPeriod: 36,\n status: \"Unused\",\n});\nconst defaultNodeGroup = new alicloud.eflo.NodeGroup(\"default\", {\n nodes: [{\n nodeId: defaultNode.id,\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n hostname: \"jxyhostname\",\n loginPassword: \"Alibaba@2025\",\n }],\n ignoreFailedNodeTasks: true,\n clusterId: defaultCluster.id,\n imageId: \"i195048661660874208657\",\n zoneId: \"cn-hangzhou-b\",\n vpdSubnets: [\"example\"],\n userData: \"YWxpLGFsaSxhbGliYWJh\",\n vswitchZoneId: \"cn-hangzhou-b\",\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"example\",\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n machineType: \"example\",\n }],\n nodePolicies: [{\n nodeId: defaultNode.id,\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n }],\n }],\n machineType: \"efg1.nvga1\",\n az: \"cn-hangzhou-b\",\n nodeGroupDescription: \"resource-example1\",\n nodeGroupName: \"tfacceflo63657_update\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"cluster-resoure-example\")\ncreate_vswitch = alicloud.vpc.Switch(\"create_vswitch\",\n vpc_id=create_vpc.id,\n zone_id=\"cn-hangzhou-b\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"cluster-resoure-example\")\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n description=\"sg\",\n security_group_name=\"cluster-resoure-example\",\n security_group_type=\"normal\",\n vpc_id=create_vpc.id)\ndefault_cluster = alicloud.eflo.Cluster(\"default\",\n cluster_description=\"cluster-resource-example\",\n open_eni_jumbo_frame=False,\n hpn_zone=\"B1\",\n nimiz_vswitches=[\"1111\"],\n ignore_failed_node_tasks=True,\n resource_group_id=default.ids[1],\n node_groups=[{\n \"image_id\": \"i198448731735114628708\",\n \"zone_id\": \"cn-hangzhou-b\",\n \"node_group_name\": \"cluster-resource-example\",\n \"node_group_description\": \"cluster-resource-example\",\n \"machine_type\": \"efg2.C48cA3sen\",\n }],\n networks={\n \"tail_ip_version\": \"ipv4\",\n \"new_vpd_info\": {\n \"monitor_vpc_id\": create_vpc.id,\n \"monitor_vswitch_id\": create_vswitch.id,\n \"cen_id\": \"11111\",\n \"cloud_link_id\": \"1111\",\n \"vpd_cidr\": \"111\",\n \"vpd_subnets\": [{\n \"zone_id\": \"1111\",\n \"subnet_cidr\": \"111\",\n \"subnet_type\": \"111\",\n }],\n \"cloud_link_cidr\": \"169.254.128.0/23\",\n },\n \"security_group_id\": create_security_group.id,\n \"vswitch_zone_id\": \"cn-hangzhou-b\",\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"vpd_info\": {\n \"vpd_id\": \"111\",\n \"vpd_subnets\": [\"111\"],\n },\n \"ip_allocation_policies\": [{\n \"bond_policy\": {\n \"bond_default_subnet\": \"111\",\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"machine_type\": \"111\",\n }],\n \"node_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"node_id\": \"111\",\n }],\n }],\n },\n cluster_name=\"tfacceflo7165\",\n cluster_type=\"Lite\")\ndefault_node = alicloud.eflo.Node(\"default\",\n period=36,\n discount_level=\"36\",\n billing_cycle=\"1month\",\n classify=\"gpuserver\",\n zone=\"cn-hangzhou-b\",\n product_form=\"instance\",\n payment_ratio=\"0\",\n hpn_zone=\"B1\",\n server_arch=\"bmserver\",\n computing_server=\"efg1.nvga1n\",\n stage_num=\"36\",\n renewal_status=\"AutoRenewal\",\n renew_period=36,\n status=\"Unused\")\ndefault_node_group = alicloud.eflo.NodeGroup(\"default\",\n nodes=[{\n \"node_id\": default_node.id,\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"hostname\": \"jxyhostname\",\n \"login_password\": \"Alibaba@2025\",\n }],\n ignore_failed_node_tasks=True,\n cluster_id=default_cluster.id,\n image_id=\"i195048661660874208657\",\n zone_id=\"cn-hangzhou-b\",\n vpd_subnets=[\"example\"],\n user_data=\"YWxpLGFsaSxhbGliYWJh\",\n vswitch_zone_id=\"cn-hangzhou-b\",\n ip_allocation_policies=[{\n \"bond_policy\": {\n \"bond_default_subnet\": \"example\",\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n \"machine_type\": \"example\",\n }],\n \"node_policies\": [{\n \"node_id\": default_node.id,\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n }],\n }],\n machine_type=\"efg1.nvga1\",\n az=\"cn-hangzhou-b\",\n node_group_description=\"resource-example1\",\n node_group_name=\"tfacceflo63657_update\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"cluster-resoure-example\",\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"create_vswitch\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = \"cn-hangzhou-b\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"cluster-resoure-example\",\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"cluster-resoure-example\",\n SecurityGroupType = \"normal\",\n VpcId = createVpc.Id,\n });\n\n var defaultCluster = new AliCloud.Eflo.Cluster(\"default\", new()\n {\n ClusterDescription = \"cluster-resource-example\",\n OpenEniJumboFrame = false,\n HpnZone = \"B1\",\n NimizVswitches = new[]\n {\n \"1111\",\n },\n IgnoreFailedNodeTasks = true,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n NodeGroups = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNodeGroupArgs\n {\n ImageId = \"i198448731735114628708\",\n ZoneId = \"cn-hangzhou-b\",\n NodeGroupName = \"cluster-resource-example\",\n NodeGroupDescription = \"cluster-resource-example\",\n MachineType = \"efg2.C48cA3sen\",\n },\n },\n Networks = new AliCloud.Eflo.Inputs.ClusterNetworksArgs\n {\n TailIpVersion = \"ipv4\",\n NewVpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoArgs\n {\n MonitorVpcId = createVpc.Id,\n MonitorVswitchId = createVswitch.Id,\n CenId = \"11111\",\n CloudLinkId = \"1111\",\n VpdCidr = \"111\",\n VpdSubnets = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoVpdSubnetArgs\n {\n ZoneId = \"1111\",\n SubnetCidr = \"111\",\n SubnetType = \"111\",\n },\n },\n CloudLinkCidr = \"169.254.128.0/23\",\n },\n SecurityGroupId = createSecurityGroup.Id,\n VswitchZoneId = \"cn-hangzhou-b\",\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n VpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksVpdInfoArgs\n {\n VpdId = \"111\",\n VpdSubnets = new[]\n {\n \"111\",\n },\n },\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"111\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n MachineType = \"111\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n NodeId = \"111\",\n },\n },\n },\n },\n },\n ClusterName = \"tfacceflo7165\",\n ClusterType = \"Lite\",\n });\n\n var defaultNode = new AliCloud.Eflo.Node(\"default\", new()\n {\n Period = 36,\n DiscountLevel = \"36\",\n BillingCycle = \"1month\",\n Classify = \"gpuserver\",\n Zone = \"cn-hangzhou-b\",\n ProductForm = \"instance\",\n PaymentRatio = \"0\",\n HpnZone = \"B1\",\n ServerArch = \"bmserver\",\n ComputingServer = \"efg1.nvga1n\",\n StageNum = \"36\",\n RenewalStatus = \"AutoRenewal\",\n RenewPeriod = 36,\n Status = \"Unused\",\n });\n\n var defaultNodeGroup = new AliCloud.Eflo.NodeGroup(\"default\", new()\n {\n Nodes = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupNodeArgs\n {\n NodeId = defaultNode.Id,\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n Hostname = \"jxyhostname\",\n LoginPassword = \"Alibaba@2025\",\n },\n },\n IgnoreFailedNodeTasks = true,\n ClusterId = defaultCluster.Id,\n ImageId = \"i195048661660874208657\",\n ZoneId = \"cn-hangzhou-b\",\n VpdSubnets = new[]\n {\n \"example\",\n },\n UserData = \"YWxpLGFsaSxhbGliYWJh\",\n VswitchZoneId = \"cn-hangzhou-b\",\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"example\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n MachineType = \"example\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyNodePolicyArgs\n {\n NodeId = defaultNode.Id,\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n },\n },\n },\n },\n MachineType = \"efg1.nvga1\",\n Az = \"cn-hangzhou-b\",\n NodeGroupDescription = \"resource-example1\",\n NodeGroupName = \"tfacceflo63657_update\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"create_vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"cluster-resoure-example\"),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := eflo.NewCluster(ctx, \"default\", \u0026eflo.ClusterArgs{\n\t\t\tClusterDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\tOpenEniJumboFrame: pulumi.Bool(false),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tNimizVswitches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1111\"),\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[1]),\n\t\t\tNodeGroups: eflo.ClusterNodeGroupArray{\n\t\t\t\t\u0026eflo.ClusterNodeGroupArgs{\n\t\t\t\t\tImageId: pulumi.String(\"i198448731735114628708\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\t\tNodeGroupName: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tNodeGroupDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tMachineType: pulumi.String(\"efg2.C48cA3sen\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: \u0026eflo.ClusterNetworksArgs{\n\t\t\t\tTailIpVersion: pulumi.String(\"ipv4\"),\n\t\t\t\tNewVpdInfo: \u0026eflo.ClusterNetworksNewVpdInfoArgs{\n\t\t\t\t\tMonitorVpcId: createVpc.ID(),\n\t\t\t\t\tMonitorVswitchId: createVswitch.ID(),\n\t\t\t\t\tCenId: pulumi.String(\"11111\"),\n\t\t\t\t\tCloudLinkId: pulumi.String(\"1111\"),\n\t\t\t\t\tVpdCidr: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: eflo.ClusterNetworksNewVpdInfoVpdSubnetArray{\n\t\t\t\t\t\t\u0026eflo.ClusterNetworksNewVpdInfoVpdSubnetArgs{\n\t\t\t\t\t\t\tZoneId: pulumi.String(\"1111\"),\n\t\t\t\t\t\t\tSubnetCidr: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tSubnetType: pulumi.String(\"111\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCloudLinkCidr: pulumi.String(\"169.254.128.0/23\"),\n\t\t\t\t},\n\t\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\tVpdInfo: \u0026eflo.ClusterNetworksVpdInfoArgs{\n\t\t\t\t\tVpdId: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"111\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIpAllocationPolicies: eflo.ClusterNetworksIpAllocationPolicyArray{\n\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyArgs{\n\t\t\t\t\t\tBondPolicy: \u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMachineTypePolicies: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tMachineType: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodePolicies: eflo.ClusterNetworksIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tNodeId: pulumi.String(\"111\"),\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\tClusterName: pulumi.String(\"tfacceflo7165\"),\n\t\t\tClusterType: pulumi.String(\"Lite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNode, err := eflo.NewNode(ctx, \"default\", \u0026eflo.NodeArgs{\n\t\t\tPeriod: pulumi.Int(36),\n\t\t\tDiscountLevel: pulumi.String(\"36\"),\n\t\t\tBillingCycle: pulumi.String(\"1month\"),\n\t\t\tClassify: pulumi.String(\"gpuserver\"),\n\t\t\tZone: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProductForm: pulumi.String(\"instance\"),\n\t\t\tPaymentRatio: pulumi.String(\"0\"),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tServerArch: pulumi.String(\"bmserver\"),\n\t\t\tComputingServer: pulumi.String(\"efg1.nvga1n\"),\n\t\t\tStageNum: pulumi.String(\"36\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewPeriod: pulumi.Int(36),\n\t\t\tStatus: pulumi.String(\"Unused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewNodeGroup(ctx, \"default\", \u0026eflo.NodeGroupArgs{\n\t\t\tNodes: eflo.NodeGroupNodeArray{\n\t\t\t\t\u0026eflo.NodeGroupNodeArgs{\n\t\t\t\t\tNodeId: defaultNode.ID(),\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\tHostname: pulumi.String(\"jxyhostname\"),\n\t\t\t\t\tLoginPassword: pulumi.String(\"Alibaba@2025\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tImageId: pulumi.String(\"i195048661660874208657\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"YWxpLGFsaSxhbGliYWJh\"),\n\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tIpAllocationPolicies: eflo.NodeGroupIpAllocationPolicyArray{\n\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyArgs{\n\t\t\t\t\tBondPolicy: \u0026eflo.NodeGroupIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\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\tMachineTypePolicies: eflo.NodeGroupIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMachineType: pulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodePolicies: eflo.NodeGroupIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\tNodeId: defaultNode.ID(),\n\t\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachineType: pulumi.String(\"efg1.nvga1\"),\n\t\t\tAz: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tNodeGroupDescription: pulumi.String(\"resource-example1\"),\n\t\t\tNodeGroupName: pulumi.String(\"tfacceflo63657_update\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eflo.Cluster;\nimport com.pulumi.alicloud.eflo.ClusterArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksNewVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.Node;\nimport com.pulumi.alicloud.eflo.NodeArgs;\nimport com.pulumi.alicloud.eflo.NodeGroup;\nimport com.pulumi.alicloud.eflo.NodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupNodeArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupIpAllocationPolicyArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupIpAllocationPolicyBondPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"cluster-resoure-example\")\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(\"cn-hangzhou-b\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"cluster-resoure-example\")\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"cluster-resoure-example\")\n .securityGroupType(\"normal\")\n .vpcId(createVpc.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterDescription(\"cluster-resource-example\")\n .openEniJumboFrame(false)\n .hpnZone(\"B1\")\n .nimizVswitches(\"1111\")\n .ignoreFailedNodeTasks(true)\n .resourceGroupId(default_.ids()[1])\n .nodeGroups(ClusterNodeGroupArgs.builder()\n .imageId(\"i198448731735114628708\")\n .zoneId(\"cn-hangzhou-b\")\n .nodeGroupName(\"cluster-resource-example\")\n .nodeGroupDescription(\"cluster-resource-example\")\n .machineType(\"efg2.C48cA3sen\")\n .build())\n .networks(ClusterNetworksArgs.builder()\n .tailIpVersion(\"ipv4\")\n .newVpdInfo(ClusterNetworksNewVpdInfoArgs.builder()\n .monitorVpcId(createVpc.id())\n .monitorVswitchId(createVswitch.id())\n .cenId(\"11111\")\n .cloudLinkId(\"1111\")\n .vpdCidr(\"111\")\n .vpdSubnets(ClusterNetworksNewVpdInfoVpdSubnetArgs.builder()\n .zoneId(\"1111\")\n .subnetCidr(\"111\")\n .subnetType(\"111\")\n .build())\n .cloudLinkCidr(\"169.254.128.0/23\")\n .build())\n .securityGroupId(createSecurityGroup.id())\n .vswitchZoneId(\"cn-hangzhou-b\")\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .vpdInfo(ClusterNetworksVpdInfoArgs.builder()\n .vpdId(\"111\")\n .vpdSubnets(\"111\")\n .build())\n .ipAllocationPolicies(ClusterNetworksIpAllocationPolicyArgs.builder()\n .bondPolicy(ClusterNetworksIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"111\")\n .bonds(ClusterNetworksIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .build())\n .machineTypePolicies(ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .machineType(\"111\")\n .build())\n .nodePolicies(ClusterNetworksIpAllocationPolicyNodePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .nodeId(\"111\")\n .build())\n .build())\n .build())\n .clusterName(\"tfacceflo7165\")\n .clusterType(\"Lite\")\n .build());\n\n var defaultNode = new Node(\"defaultNode\", NodeArgs.builder()\n .period(36)\n .discountLevel(\"36\")\n .billingCycle(\"1month\")\n .classify(\"gpuserver\")\n .zone(\"cn-hangzhou-b\")\n .productForm(\"instance\")\n .paymentRatio(\"0\")\n .hpnZone(\"B1\")\n .serverArch(\"bmserver\")\n .computingServer(\"efg1.nvga1n\")\n .stageNum(\"36\")\n .renewalStatus(\"AutoRenewal\")\n .renewPeriod(36)\n .status(\"Unused\")\n .build());\n\n var defaultNodeGroup = new NodeGroup(\"defaultNodeGroup\", NodeGroupArgs.builder()\n .nodes(NodeGroupNodeArgs.builder()\n .nodeId(defaultNode.id())\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .hostname(\"jxyhostname\")\n .loginPassword(\"Alibaba@2025\")\n .build())\n .ignoreFailedNodeTasks(true)\n .clusterId(defaultCluster.id())\n .imageId(\"i195048661660874208657\")\n .zoneId(\"cn-hangzhou-b\")\n .vpdSubnets(\"example\")\n .userData(\"YWxpLGFsaSxhbGliYWJh\")\n .vswitchZoneId(\"cn-hangzhou-b\")\n .ipAllocationPolicies(NodeGroupIpAllocationPolicyArgs.builder()\n .bondPolicy(NodeGroupIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"example\")\n .bonds(NodeGroupIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .build())\n .machineTypePolicies(NodeGroupIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .machineType(\"example\")\n .build())\n .nodePolicies(NodeGroupIpAllocationPolicyNodePolicyArgs.builder()\n .nodeId(defaultNode.id())\n .bonds(NodeGroupIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .build())\n .build())\n .machineType(\"efg1.nvga1\")\n .az(\"cn-hangzhou-b\")\n .nodeGroupDescription(\"resource-example1\")\n .nodeGroupName(\"tfacceflo63657_update\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Before executing this example, you need to confirm with the product team whether the resources are sufficient or you will get an error message with \"Failure to check order before create instance\"\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: cluster-resoure-example\n createVswitch:\n type: alicloud:vpc:Switch\n name: create_vswitch\n properties:\n vpcId: ${createVpc.id}\n zoneId: cn-hangzhou-b\n cidrBlock: 192.168.0.0/24\n vswitchName: cluster-resoure-example\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n description: sg\n securityGroupName: cluster-resoure-example\n securityGroupType: normal\n vpcId: ${createVpc.id}\n defaultCluster:\n type: alicloud:eflo:Cluster\n name: default\n properties:\n clusterDescription: cluster-resource-example\n openEniJumboFrame: 'false'\n hpnZone: B1\n nimizVswitches:\n - '1111'\n ignoreFailedNodeTasks: 'true'\n resourceGroupId: ${default.ids[1]}\n nodeGroups:\n - imageId: i198448731735114628708\n zoneId: cn-hangzhou-b\n nodeGroupName: cluster-resource-example\n nodeGroupDescription: cluster-resource-example\n machineType: efg2.C48cA3sen\n networks:\n tailIpVersion: ipv4\n newVpdInfo:\n monitorVpcId: ${createVpc.id}\n monitorVswitchId: ${createVswitch.id}\n cenId: '11111'\n cloudLinkId: '1111'\n vpdCidr: '111'\n vpdSubnets:\n - zoneId: '1111'\n subnetCidr: '111'\n subnetType: '111'\n cloudLinkCidr: 169.254.128.0/23\n securityGroupId: ${createSecurityGroup.id}\n vswitchZoneId: cn-hangzhou-b\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n vpdInfo:\n vpdId: '111'\n vpdSubnets:\n - '111'\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: '111'\n bonds:\n - name: '111'\n subnet: '111'\n machineTypePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n machineType: '111'\n nodePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n nodeId: '111'\n clusterName: tfacceflo7165\n clusterType: Lite\n defaultNode:\n type: alicloud:eflo:Node\n name: default\n properties:\n period: '36'\n discountLevel: '36'\n billingCycle: 1month\n classify: gpuserver\n zone: cn-hangzhou-b\n productForm: instance\n paymentRatio: '0'\n hpnZone: B1\n serverArch: bmserver\n computingServer: efg1.nvga1n\n stageNum: '36'\n renewalStatus: AutoRenewal\n renewPeriod: '36'\n status: Unused\n defaultNodeGroup:\n type: alicloud:eflo:NodeGroup\n name: default\n properties:\n nodes:\n - nodeId: ${defaultNode.id}\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n hostname: jxyhostname\n loginPassword: Alibaba@2025\n ignoreFailedNodeTasks: 'true'\n clusterId: ${defaultCluster.id}\n imageId: i195048661660874208657\n zoneId: cn-hangzhou-b\n vpdSubnets:\n - example\n userData: YWxpLGFsaSxhbGliYWJh\n vswitchZoneId: cn-hangzhou-b\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: example\n bonds:\n - name: example\n subnet: example\n machineTypePolicies:\n - bonds:\n - name: example\n subnet: example\n machineType: example\n nodePolicies:\n - nodeId: ${defaultNode.id}\n bonds:\n - name: example\n subnet: example\n machineType: efg1.nvga1\n az: cn-hangzhou-b\n nodeGroupDescription: resource-example1\n nodeGroupName: tfacceflo63657_update\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Node Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/nodeGroup:NodeGroup example \u003ccluster_id\u003e:\u003cnode_group_id\u003e\n```\n\n", + "description": "Provides a Eflo Node Group resource.\n\nNode group. Divide a cluster into multiple node groups, each containing multiple nodes.\n\nFor information about Eflo Node Group and how to use it, see [What is Node Group](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/CreateNodeGroup).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"cluster-resoure-example\",\n});\nconst createVswitch = new alicloud.vpc.Switch(\"create_vswitch\", {\n vpcId: createVpc.id,\n zoneId: \"cn-hangzhou-b\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"cluster-resoure-example\",\n});\nconst createSecurityGroup = new alicloud.ecs.SecurityGroup(\"create_security_group\", {\n description: \"sg\",\n securityGroupName: \"cluster-resoure-example\",\n securityGroupType: \"normal\",\n vpcId: createVpc.id,\n});\nconst defaultCluster = new alicloud.eflo.Cluster(\"default\", {\n clusterDescription: \"cluster-resource-example\",\n openEniJumboFrame: false,\n hpnZone: \"B1\",\n nimizVswitches: [\"1111\"],\n ignoreFailedNodeTasks: true,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[1]),\n nodeGroups: [{\n imageId: \"i198448731735114628708\",\n zoneId: \"cn-hangzhou-b\",\n nodeGroupName: \"cluster-resource-example\",\n nodeGroupDescription: \"cluster-resource-example\",\n machineType: \"efg2.C48cA3sen\",\n }],\n networks: {\n tailIpVersion: \"ipv4\",\n newVpdInfo: {\n monitorVpcId: createVpc.id,\n monitorVswitchId: createVswitch.id,\n cenId: \"11111\",\n cloudLinkId: \"1111\",\n vpdCidr: \"111\",\n vpdSubnets: [{\n zoneId: \"1111\",\n subnetCidr: \"111\",\n subnetType: \"111\",\n }],\n cloudLinkCidr: \"169.254.128.0/23\",\n },\n securityGroupId: createSecurityGroup.id,\n vswitchZoneId: \"cn-hangzhou-b\",\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n vpdInfo: {\n vpdId: \"111\",\n vpdSubnets: [\"111\"],\n },\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"111\",\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n machineType: \"111\",\n }],\n nodePolicies: [{\n bonds: [{\n name: \"111\",\n subnet: \"111\",\n }],\n nodeId: \"111\",\n }],\n }],\n },\n clusterName: \"tfacceflo7165\",\n clusterType: \"Lite\",\n});\nconst defaultNode = new alicloud.eflo.Node(\"default\", {\n period: 36,\n discountLevel: \"36\",\n billingCycle: \"1month\",\n classify: \"gpuserver\",\n zone: \"cn-hangzhou-b\",\n productForm: \"instance\",\n paymentRatio: \"0\",\n hpnZone: \"B1\",\n serverArch: \"bmserver\",\n computingServer: \"efg1.nvga1n\",\n stageNum: \"36\",\n renewalStatus: \"AutoRenewal\",\n renewPeriod: 36,\n status: \"Unused\",\n});\nconst defaultNodeGroup = new alicloud.eflo.NodeGroup(\"default\", {\n nodes: [{\n nodeId: defaultNode.id,\n vpcId: createVpc.id,\n vswitchId: createVswitch.id,\n hostname: \"jxyhostname\",\n loginPassword: \"Alibaba@2025\",\n }],\n ignoreFailedNodeTasks: true,\n clusterId: defaultCluster.id,\n imageId: \"i195048661660874208657\",\n zoneId: \"cn-hangzhou-b\",\n vpdSubnets: [\"example\"],\n userData: \"YWxpLGFsaSxhbGliYWJh\",\n vswitchZoneId: \"cn-hangzhou-b\",\n ipAllocationPolicies: [{\n bondPolicy: {\n bondDefaultSubnet: \"example\",\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n },\n machineTypePolicies: [{\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n machineType: \"example\",\n }],\n nodePolicies: [{\n nodeId: defaultNode.id,\n bonds: [{\n name: \"example\",\n subnet: \"example\",\n }],\n }],\n }],\n machineType: \"efg1.nvga1\",\n az: \"cn-hangzhou-b\",\n nodeGroupDescription: \"resource-example1\",\n nodeGroupName: \"tfacceflo63657_update\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"cluster-resoure-example\")\ncreate_vswitch = alicloud.vpc.Switch(\"create_vswitch\",\n vpc_id=create_vpc.id,\n zone_id=\"cn-hangzhou-b\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"cluster-resoure-example\")\ncreate_security_group = alicloud.ecs.SecurityGroup(\"create_security_group\",\n description=\"sg\",\n security_group_name=\"cluster-resoure-example\",\n security_group_type=\"normal\",\n vpc_id=create_vpc.id)\ndefault_cluster = alicloud.eflo.Cluster(\"default\",\n cluster_description=\"cluster-resource-example\",\n open_eni_jumbo_frame=False,\n hpn_zone=\"B1\",\n nimiz_vswitches=[\"1111\"],\n ignore_failed_node_tasks=True,\n resource_group_id=default.ids[1],\n node_groups=[{\n \"image_id\": \"i198448731735114628708\",\n \"zone_id\": \"cn-hangzhou-b\",\n \"node_group_name\": \"cluster-resource-example\",\n \"node_group_description\": \"cluster-resource-example\",\n \"machine_type\": \"efg2.C48cA3sen\",\n }],\n networks={\n \"tail_ip_version\": \"ipv4\",\n \"new_vpd_info\": {\n \"monitor_vpc_id\": create_vpc.id,\n \"monitor_vswitch_id\": create_vswitch.id,\n \"cen_id\": \"11111\",\n \"cloud_link_id\": \"1111\",\n \"vpd_cidr\": \"111\",\n \"vpd_subnets\": [{\n \"zone_id\": \"1111\",\n \"subnet_cidr\": \"111\",\n \"subnet_type\": \"111\",\n }],\n \"cloud_link_cidr\": \"169.254.128.0/23\",\n },\n \"security_group_id\": create_security_group.id,\n \"vswitch_zone_id\": \"cn-hangzhou-b\",\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"vpd_info\": {\n \"vpd_id\": \"111\",\n \"vpd_subnets\": [\"111\"],\n },\n \"ip_allocation_policies\": [{\n \"bond_policy\": {\n \"bond_default_subnet\": \"111\",\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"machine_type\": \"111\",\n }],\n \"node_policies\": [{\n \"bonds\": [{\n \"name\": \"111\",\n \"subnet\": \"111\",\n }],\n \"node_id\": \"111\",\n }],\n }],\n },\n cluster_name=\"tfacceflo7165\",\n cluster_type=\"Lite\")\ndefault_node = alicloud.eflo.Node(\"default\",\n period=36,\n discount_level=\"36\",\n billing_cycle=\"1month\",\n classify=\"gpuserver\",\n zone=\"cn-hangzhou-b\",\n product_form=\"instance\",\n payment_ratio=\"0\",\n hpn_zone=\"B1\",\n server_arch=\"bmserver\",\n computing_server=\"efg1.nvga1n\",\n stage_num=\"36\",\n renewal_status=\"AutoRenewal\",\n renew_period=36,\n status=\"Unused\")\ndefault_node_group = alicloud.eflo.NodeGroup(\"default\",\n nodes=[{\n \"node_id\": default_node.id,\n \"vpc_id\": create_vpc.id,\n \"vswitch_id\": create_vswitch.id,\n \"hostname\": \"jxyhostname\",\n \"login_password\": \"Alibaba@2025\",\n }],\n ignore_failed_node_tasks=True,\n cluster_id=default_cluster.id,\n image_id=\"i195048661660874208657\",\n zone_id=\"cn-hangzhou-b\",\n vpd_subnets=[\"example\"],\n user_data=\"YWxpLGFsaSxhbGliYWJh\",\n vswitch_zone_id=\"cn-hangzhou-b\",\n ip_allocation_policies=[{\n \"bond_policy\": {\n \"bond_default_subnet\": \"example\",\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n },\n \"machine_type_policies\": [{\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n \"machine_type\": \"example\",\n }],\n \"node_policies\": [{\n \"node_id\": default_node.id,\n \"bonds\": [{\n \"name\": \"example\",\n \"subnet\": \"example\",\n }],\n }],\n }],\n machine_type=\"efg1.nvga1\",\n az=\"cn-hangzhou-b\",\n node_group_description=\"resource-example1\",\n node_group_name=\"tfacceflo63657_update\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"cluster-resoure-example\",\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"create_vswitch\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = \"cn-hangzhou-b\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"cluster-resoure-example\",\n });\n\n var createSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"create_security_group\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"cluster-resoure-example\",\n SecurityGroupType = \"normal\",\n VpcId = createVpc.Id,\n });\n\n var defaultCluster = new AliCloud.Eflo.Cluster(\"default\", new()\n {\n ClusterDescription = \"cluster-resource-example\",\n OpenEniJumboFrame = false,\n HpnZone = \"B1\",\n NimizVswitches = new[]\n {\n \"1111\",\n },\n IgnoreFailedNodeTasks = true,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[1])),\n NodeGroups = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNodeGroupArgs\n {\n ImageId = \"i198448731735114628708\",\n ZoneId = \"cn-hangzhou-b\",\n NodeGroupName = \"cluster-resource-example\",\n NodeGroupDescription = \"cluster-resource-example\",\n MachineType = \"efg2.C48cA3sen\",\n },\n },\n Networks = new AliCloud.Eflo.Inputs.ClusterNetworksArgs\n {\n TailIpVersion = \"ipv4\",\n NewVpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoArgs\n {\n MonitorVpcId = createVpc.Id,\n MonitorVswitchId = createVswitch.Id,\n CenId = \"11111\",\n CloudLinkId = \"1111\",\n VpdCidr = \"111\",\n VpdSubnets = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksNewVpdInfoVpdSubnetArgs\n {\n ZoneId = \"1111\",\n SubnetCidr = \"111\",\n SubnetType = \"111\",\n },\n },\n CloudLinkCidr = \"169.254.128.0/23\",\n },\n SecurityGroupId = createSecurityGroup.Id,\n VswitchZoneId = \"cn-hangzhou-b\",\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n VpdInfo = new AliCloud.Eflo.Inputs.ClusterNetworksVpdInfoArgs\n {\n VpdId = \"111\",\n VpdSubnets = new[]\n {\n \"111\",\n },\n },\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"111\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n MachineType = \"111\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"111\",\n Subnet = \"111\",\n },\n },\n NodeId = \"111\",\n },\n },\n },\n },\n },\n ClusterName = \"tfacceflo7165\",\n ClusterType = \"Lite\",\n });\n\n var defaultNode = new AliCloud.Eflo.Node(\"default\", new()\n {\n Period = 36,\n DiscountLevel = \"36\",\n BillingCycle = \"1month\",\n Classify = \"gpuserver\",\n Zone = \"cn-hangzhou-b\",\n ProductForm = \"instance\",\n PaymentRatio = \"0\",\n HpnZone = \"B1\",\n ServerArch = \"bmserver\",\n ComputingServer = \"efg1.nvga1n\",\n StageNum = \"36\",\n RenewalStatus = \"AutoRenewal\",\n RenewPeriod = 36,\n Status = \"Unused\",\n });\n\n var defaultNodeGroup = new AliCloud.Eflo.NodeGroup(\"default\", new()\n {\n Nodes = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupNodeArgs\n {\n NodeId = defaultNode.Id,\n VpcId = createVpc.Id,\n VswitchId = createVswitch.Id,\n Hostname = \"jxyhostname\",\n LoginPassword = \"Alibaba@2025\",\n },\n },\n IgnoreFailedNodeTasks = true,\n ClusterId = defaultCluster.Id,\n ImageId = \"i195048661660874208657\",\n ZoneId = \"cn-hangzhou-b\",\n VpdSubnets = new[]\n {\n \"example\",\n },\n UserData = \"YWxpLGFsaSxhbGliYWJh\",\n VswitchZoneId = \"cn-hangzhou-b\",\n IpAllocationPolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyArgs\n {\n BondPolicy = new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyBondPolicyArgs\n {\n BondDefaultSubnet = \"example\",\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyBondPolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n },\n MachineTypePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyMachineTypePolicyArgs\n {\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n MachineType = \"example\",\n },\n },\n NodePolicies = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyNodePolicyArgs\n {\n NodeId = defaultNode.Id,\n Bonds = new[]\n {\n new AliCloud.Eflo.Inputs.NodeGroupIpAllocationPolicyNodePolicyBondArgs\n {\n Name = \"example\",\n Subnet = \"example\",\n },\n },\n },\n },\n },\n },\n MachineType = \"efg1.nvga1\",\n Az = \"cn-hangzhou-b\",\n NodeGroupDescription = \"resource-example1\",\n NodeGroupName = \"tfacceflo63657_update\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"create_vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"cluster-resoure-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"create_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"cluster-resoure-example\"),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := eflo.NewCluster(ctx, \"default\", \u0026eflo.ClusterArgs{\n\t\t\tClusterDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\tOpenEniJumboFrame: pulumi.Bool(false),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tNimizVswitches: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1111\"),\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[1]),\n\t\t\tNodeGroups: eflo.ClusterNodeGroupArray{\n\t\t\t\t\u0026eflo.ClusterNodeGroupArgs{\n\t\t\t\t\tImageId: pulumi.String(\"i198448731735114628708\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\t\tNodeGroupName: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tNodeGroupDescription: pulumi.String(\"cluster-resource-example\"),\n\t\t\t\t\tMachineType: pulumi.String(\"efg2.C48cA3sen\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: \u0026eflo.ClusterNetworksArgs{\n\t\t\t\tTailIpVersion: pulumi.String(\"ipv4\"),\n\t\t\t\tNewVpdInfo: \u0026eflo.ClusterNetworksNewVpdInfoArgs{\n\t\t\t\t\tMonitorVpcId: createVpc.ID(),\n\t\t\t\t\tMonitorVswitchId: createVswitch.ID(),\n\t\t\t\t\tCenId: pulumi.String(\"11111\"),\n\t\t\t\t\tCloudLinkId: pulumi.String(\"1111\"),\n\t\t\t\t\tVpdCidr: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: eflo.ClusterNetworksNewVpdInfoVpdSubnetArray{\n\t\t\t\t\t\t\u0026eflo.ClusterNetworksNewVpdInfoVpdSubnetArgs{\n\t\t\t\t\t\t\tZoneId: pulumi.String(\"1111\"),\n\t\t\t\t\t\t\tSubnetCidr: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tSubnetType: pulumi.String(\"111\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCloudLinkCidr: pulumi.String(\"169.254.128.0/23\"),\n\t\t\t\t},\n\t\t\t\tSecurityGroupId: createSecurityGroup.ID(),\n\t\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\tVpdInfo: \u0026eflo.ClusterNetworksVpdInfoArgs{\n\t\t\t\t\tVpdId: pulumi.String(\"111\"),\n\t\t\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"111\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIpAllocationPolicies: eflo.ClusterNetworksIpAllocationPolicyArray{\n\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyArgs{\n\t\t\t\t\t\tBondPolicy: \u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMachineTypePolicies: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tMachineType: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNodePolicies: eflo.ClusterNetworksIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\t\tBonds: eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\t\u0026eflo.ClusterNetworksIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"111\"),\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\tNodeId: pulumi.String(\"111\"),\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\tClusterName: pulumi.String(\"tfacceflo7165\"),\n\t\t\tClusterType: pulumi.String(\"Lite\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNode, err := eflo.NewNode(ctx, \"default\", \u0026eflo.NodeArgs{\n\t\t\tPeriod: pulumi.Int(36),\n\t\t\tDiscountLevel: pulumi.String(\"36\"),\n\t\t\tBillingCycle: pulumi.String(\"1month\"),\n\t\t\tClassify: pulumi.String(\"gpuserver\"),\n\t\t\tZone: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tProductForm: pulumi.String(\"instance\"),\n\t\t\tPaymentRatio: pulumi.String(\"0\"),\n\t\t\tHpnZone: pulumi.String(\"B1\"),\n\t\t\tServerArch: pulumi.String(\"bmserver\"),\n\t\t\tComputingServer: pulumi.String(\"efg1.nvga1n\"),\n\t\t\tStageNum: pulumi.String(\"36\"),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t\tRenewPeriod: pulumi.Int(36),\n\t\t\tStatus: pulumi.String(\"Unused\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewNodeGroup(ctx, \"default\", \u0026eflo.NodeGroupArgs{\n\t\t\tNodes: eflo.NodeGroupNodeArray{\n\t\t\t\t\u0026eflo.NodeGroupNodeArgs{\n\t\t\t\t\tNodeId: defaultNode.ID(),\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\tHostname: pulumi.String(\"jxyhostname\"),\n\t\t\t\t\tLoginPassword: pulumi.String(\"Alibaba@2025\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIgnoreFailedNodeTasks: pulumi.Bool(true),\n\t\t\tClusterId: defaultCluster.ID(),\n\t\t\tImageId: pulumi.String(\"i195048661660874208657\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tVpdSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"YWxpLGFsaSxhbGliYWJh\"),\n\t\t\tVswitchZoneId: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tIpAllocationPolicies: eflo.NodeGroupIpAllocationPolicyArray{\n\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyArgs{\n\t\t\t\t\tBondPolicy: \u0026eflo.NodeGroupIpAllocationPolicyBondPolicyArgs{\n\t\t\t\t\t\tBondDefaultSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyBondPolicyBondArray{\n\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyBondPolicyBondArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\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\tMachineTypePolicies: eflo.NodeGroupIpAllocationPolicyMachineTypePolicyArray{\n\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyMachineTypePolicyArgs{\n\t\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyMachineTypePolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMachineType: pulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodePolicies: eflo.NodeGroupIpAllocationPolicyNodePolicyArray{\n\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyNodePolicyArgs{\n\t\t\t\t\t\t\tNodeId: defaultNode.ID(),\n\t\t\t\t\t\t\tBonds: eflo.NodeGroupIpAllocationPolicyNodePolicyBondArray{\n\t\t\t\t\t\t\t\t\u0026eflo.NodeGroupIpAllocationPolicyNodePolicyBondArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t\tSubnet: pulumi.String(\"example\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachineType: pulumi.String(\"efg1.nvga1\"),\n\t\t\tAz: pulumi.String(\"cn-hangzhou-b\"),\n\t\t\tNodeGroupDescription: pulumi.String(\"resource-example1\"),\n\t\t\tNodeGroupName: pulumi.String(\"tfacceflo63657_update\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eflo.Cluster;\nimport com.pulumi.alicloud.eflo.ClusterArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksNewVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.inputs.ClusterNetworksVpdInfoArgs;\nimport com.pulumi.alicloud.eflo.Node;\nimport com.pulumi.alicloud.eflo.NodeArgs;\nimport com.pulumi.alicloud.eflo.NodeGroup;\nimport com.pulumi.alicloud.eflo.NodeGroupArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupNodeArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupIpAllocationPolicyArgs;\nimport com.pulumi.alicloud.eflo.inputs.NodeGroupIpAllocationPolicyBondPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"cluster-resoure-example\")\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(\"cn-hangzhou-b\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"cluster-resoure-example\")\n .build());\n\n var createSecurityGroup = new SecurityGroup(\"createSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"cluster-resoure-example\")\n .securityGroupType(\"normal\")\n .vpcId(createVpc.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterDescription(\"cluster-resource-example\")\n .openEniJumboFrame(false)\n .hpnZone(\"B1\")\n .nimizVswitches(\"1111\")\n .ignoreFailedNodeTasks(true)\n .resourceGroupId(default_.ids()[1])\n .nodeGroups(ClusterNodeGroupArgs.builder()\n .imageId(\"i198448731735114628708\")\n .zoneId(\"cn-hangzhou-b\")\n .nodeGroupName(\"cluster-resource-example\")\n .nodeGroupDescription(\"cluster-resource-example\")\n .machineType(\"efg2.C48cA3sen\")\n .build())\n .networks(ClusterNetworksArgs.builder()\n .tailIpVersion(\"ipv4\")\n .newVpdInfo(ClusterNetworksNewVpdInfoArgs.builder()\n .monitorVpcId(createVpc.id())\n .monitorVswitchId(createVswitch.id())\n .cenId(\"11111\")\n .cloudLinkId(\"1111\")\n .vpdCidr(\"111\")\n .vpdSubnets(ClusterNetworksNewVpdInfoVpdSubnetArgs.builder()\n .zoneId(\"1111\")\n .subnetCidr(\"111\")\n .subnetType(\"111\")\n .build())\n .cloudLinkCidr(\"169.254.128.0/23\")\n .build())\n .securityGroupId(createSecurityGroup.id())\n .vswitchZoneId(\"cn-hangzhou-b\")\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .vpdInfo(ClusterNetworksVpdInfoArgs.builder()\n .vpdId(\"111\")\n .vpdSubnets(\"111\")\n .build())\n .ipAllocationPolicies(ClusterNetworksIpAllocationPolicyArgs.builder()\n .bondPolicy(ClusterNetworksIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"111\")\n .bonds(ClusterNetworksIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .build())\n .machineTypePolicies(ClusterNetworksIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .machineType(\"111\")\n .build())\n .nodePolicies(ClusterNetworksIpAllocationPolicyNodePolicyArgs.builder()\n .bonds(ClusterNetworksIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"111\")\n .subnet(\"111\")\n .build())\n .nodeId(\"111\")\n .build())\n .build())\n .build())\n .clusterName(\"tfacceflo7165\")\n .clusterType(\"Lite\")\n .build());\n\n var defaultNode = new Node(\"defaultNode\", NodeArgs.builder()\n .period(36)\n .discountLevel(\"36\")\n .billingCycle(\"1month\")\n .classify(\"gpuserver\")\n .zone(\"cn-hangzhou-b\")\n .productForm(\"instance\")\n .paymentRatio(\"0\")\n .hpnZone(\"B1\")\n .serverArch(\"bmserver\")\n .computingServer(\"efg1.nvga1n\")\n .stageNum(\"36\")\n .renewalStatus(\"AutoRenewal\")\n .renewPeriod(36)\n .status(\"Unused\")\n .build());\n\n var defaultNodeGroup = new NodeGroup(\"defaultNodeGroup\", NodeGroupArgs.builder()\n .nodes(NodeGroupNodeArgs.builder()\n .nodeId(defaultNode.id())\n .vpcId(createVpc.id())\n .vswitchId(createVswitch.id())\n .hostname(\"jxyhostname\")\n .loginPassword(\"Alibaba@2025\")\n .build())\n .ignoreFailedNodeTasks(true)\n .clusterId(defaultCluster.id())\n .imageId(\"i195048661660874208657\")\n .zoneId(\"cn-hangzhou-b\")\n .vpdSubnets(\"example\")\n .userData(\"YWxpLGFsaSxhbGliYWJh\")\n .vswitchZoneId(\"cn-hangzhou-b\")\n .ipAllocationPolicies(NodeGroupIpAllocationPolicyArgs.builder()\n .bondPolicy(NodeGroupIpAllocationPolicyBondPolicyArgs.builder()\n .bondDefaultSubnet(\"example\")\n .bonds(NodeGroupIpAllocationPolicyBondPolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .build())\n .machineTypePolicies(NodeGroupIpAllocationPolicyMachineTypePolicyArgs.builder()\n .bonds(NodeGroupIpAllocationPolicyMachineTypePolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .machineType(\"example\")\n .build())\n .nodePolicies(NodeGroupIpAllocationPolicyNodePolicyArgs.builder()\n .nodeId(defaultNode.id())\n .bonds(NodeGroupIpAllocationPolicyNodePolicyBondArgs.builder()\n .name(\"example\")\n .subnet(\"example\")\n .build())\n .build())\n .build())\n .machineType(\"efg1.nvga1\")\n .az(\"cn-hangzhou-b\")\n .nodeGroupDescription(\"resource-example1\")\n .nodeGroupName(\"tfacceflo63657_update\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Before executing this example, you need to confirm with the product team whether the resources are sufficient or you will get an error message with \"Failure to check order before create instance\"\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 192.168.0.0/16\n vpcName: cluster-resoure-example\n createVswitch:\n type: alicloud:vpc:Switch\n name: create_vswitch\n properties:\n vpcId: ${createVpc.id}\n zoneId: cn-hangzhou-b\n cidrBlock: 192.168.0.0/24\n vswitchName: cluster-resoure-example\n createSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: create_security_group\n properties:\n description: sg\n securityGroupName: cluster-resoure-example\n securityGroupType: normal\n vpcId: ${createVpc.id}\n defaultCluster:\n type: alicloud:eflo:Cluster\n name: default\n properties:\n clusterDescription: cluster-resource-example\n openEniJumboFrame: 'false'\n hpnZone: B1\n nimizVswitches:\n - '1111'\n ignoreFailedNodeTasks: 'true'\n resourceGroupId: ${default.ids[1]}\n nodeGroups:\n - imageId: i198448731735114628708\n zoneId: cn-hangzhou-b\n nodeGroupName: cluster-resource-example\n nodeGroupDescription: cluster-resource-example\n machineType: efg2.C48cA3sen\n networks:\n tailIpVersion: ipv4\n newVpdInfo:\n monitorVpcId: ${createVpc.id}\n monitorVswitchId: ${createVswitch.id}\n cenId: '11111'\n cloudLinkId: '1111'\n vpdCidr: '111'\n vpdSubnets:\n - zoneId: '1111'\n subnetCidr: '111'\n subnetType: '111'\n cloudLinkCidr: 169.254.128.0/23\n securityGroupId: ${createSecurityGroup.id}\n vswitchZoneId: cn-hangzhou-b\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n vpdInfo:\n vpdId: '111'\n vpdSubnets:\n - '111'\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: '111'\n bonds:\n - name: '111'\n subnet: '111'\n machineTypePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n machineType: '111'\n nodePolicies:\n - bonds:\n - name: '111'\n subnet: '111'\n nodeId: '111'\n clusterName: tfacceflo7165\n clusterType: Lite\n defaultNode:\n type: alicloud:eflo:Node\n name: default\n properties:\n period: '36'\n discountLevel: '36'\n billingCycle: 1month\n classify: gpuserver\n zone: cn-hangzhou-b\n productForm: instance\n paymentRatio: '0'\n hpnZone: B1\n serverArch: bmserver\n computingServer: efg1.nvga1n\n stageNum: '36'\n renewalStatus: AutoRenewal\n renewPeriod: '36'\n status: Unused\n defaultNodeGroup:\n type: alicloud:eflo:NodeGroup\n name: default\n properties:\n nodes:\n - nodeId: ${defaultNode.id}\n vpcId: ${createVpc.id}\n vswitchId: ${createVswitch.id}\n hostname: jxyhostname\n loginPassword: Alibaba@2025\n ignoreFailedNodeTasks: 'true'\n clusterId: ${defaultCluster.id}\n imageId: i195048661660874208657\n zoneId: cn-hangzhou-b\n vpdSubnets:\n - example\n userData: YWxpLGFsaSxhbGliYWJh\n vswitchZoneId: cn-hangzhou-b\n ipAllocationPolicies:\n - bondPolicy:\n bondDefaultSubnet: example\n bonds:\n - name: example\n subnet: example\n machineTypePolicies:\n - bonds:\n - name: example\n subnet: example\n machineType: example\n nodePolicies:\n - nodeId: ${defaultNode.id}\n bonds:\n - name: example\n subnet: example\n machineType: efg1.nvga1\n az: cn-hangzhou-b\n nodeGroupDescription: resource-example1\n nodeGroupName: tfacceflo63657_update\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Node Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/nodeGroup:NodeGroup example \u003ccluster_id\u003e:\u003cnode_group_id\u003e\n```\n\n", "properties": { "az": { "type": "string", @@ -167358,7 +170254,7 @@ } }, "alicloud:eflo/nodeGroupAttachment:NodeGroupAttachment": { - "description": "Provides a Eflo Node Group Attachment resource.\n\nNode Association Node Group Resources.\n\nFor information about Eflo Node Group Attachment and how to use it, see [What is Node Group Attachment](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/ExtendCluster).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.NodeGroupAttachment(\"default\", {\n vswitchId: \"vsw-uf63gbmvwgreao66opmie\",\n hostname: \"attachment-example-e01-cn-smw4d1bzd0a\",\n loginPassword: \"G7f$2kL9@vQx3Zp5*\",\n clusterId: \"i118976621753269898628\",\n nodeGroupId: \"i127582271753269898630\",\n nodeId: \"e01-cn-smw4d1bzd0a\",\n vpcId: \"vpc-uf6t73bb01dfprb2qvpqa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.NodeGroupAttachment(\"default\",\n vswitch_id=\"vsw-uf63gbmvwgreao66opmie\",\n hostname=\"attachment-example-e01-cn-smw4d1bzd0a\",\n login_password=\"G7f$2kL9@vQx3Zp5*\",\n cluster_id=\"i118976621753269898628\",\n node_group_id=\"i127582271753269898630\",\n node_id=\"e01-cn-smw4d1bzd0a\",\n vpc_id=\"vpc-uf6t73bb01dfprb2qvpqa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.NodeGroupAttachment(\"default\", new()\n {\n VswitchId = \"vsw-uf63gbmvwgreao66opmie\",\n Hostname = \"attachment-example-e01-cn-smw4d1bzd0a\",\n LoginPassword = \"G7f$2kL9@vQx3Zp5*\",\n ClusterId = \"i118976621753269898628\",\n NodeGroupId = \"i127582271753269898630\",\n NodeId = \"e01-cn-smw4d1bzd0a\",\n VpcId = \"vpc-uf6t73bb01dfprb2qvpqa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewNodeGroupAttachment(ctx, \"default\", \u0026eflo.NodeGroupAttachmentArgs{\n\t\t\tVswitchId: pulumi.String(\"vsw-uf63gbmvwgreao66opmie\"),\n\t\t\tHostname: pulumi.String(\"attachment-example-e01-cn-smw4d1bzd0a\"),\n\t\t\tLoginPassword: pulumi.String(\"G7f$2kL9@vQx3Zp5*\"),\n\t\t\tClusterId: pulumi.String(\"i118976621753269898628\"),\n\t\t\tNodeGroupId: pulumi.String(\"i127582271753269898630\"),\n\t\t\tNodeId: pulumi.String(\"e01-cn-smw4d1bzd0a\"),\n\t\t\tVpcId: pulumi.String(\"vpc-uf6t73bb01dfprb2qvpqa\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eflo.NodeGroupAttachment;\nimport com.pulumi.alicloud.eflo.NodeGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new NodeGroupAttachment(\"default\", NodeGroupAttachmentArgs.builder()\n .vswitchId(\"vsw-uf63gbmvwgreao66opmie\")\n .hostname(\"attachment-example-e01-cn-smw4d1bzd0a\")\n .loginPassword(\"G7f$2kL9@vQx3Zp5*\")\n .clusterId(\"i118976621753269898628\")\n .nodeGroupId(\"i127582271753269898630\")\n .nodeId(\"e01-cn-smw4d1bzd0a\")\n .vpcId(\"vpc-uf6t73bb01dfprb2qvpqa\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:NodeGroupAttachment\n properties:\n vswitchId: vsw-uf63gbmvwgreao66opmie\n hostname: attachment-example-e01-cn-smw4d1bzd0a\n loginPassword: G7f$2kL9@vQx3Zp5*\n clusterId: i118976621753269898628\n nodeGroupId: i127582271753269898630\n nodeId: e01-cn-smw4d1bzd0a\n vpcId: vpc-uf6t73bb01dfprb2qvpqa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Node Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/nodeGroupAttachment:NodeGroupAttachment example \u003ccluster_id\u003e:\u003cnode_group_id\u003e:\u003cnode_id\u003e\n```\n\n", + "description": "Provides a Eflo Node Group Attachment resource.\n\nNode Association Node Group Resources.\n\nFor information about Eflo Node Group Attachment and how to use it, see [What is Node Group Attachment](https://next.api.alibabacloud.com/document/eflo-controller/2022-12-15/ExtendCluster).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.NodeGroupAttachment(\"default\", {\n vswitchId: \"vsw-uf63gbmvwgreao66opmie\",\n hostname: \"attachment-example-e01-cn-smw4d1bzd0a\",\n loginPassword: \"G7f$2kL9@vQx3Zp5*\",\n clusterId: \"i118976621753269898628\",\n nodeGroupId: \"i127582271753269898630\",\n nodeId: \"e01-cn-smw4d1bzd0a\",\n vpcId: \"vpc-uf6t73bb01dfprb2qvpqa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.NodeGroupAttachment(\"default\",\n vswitch_id=\"vsw-uf63gbmvwgreao66opmie\",\n hostname=\"attachment-example-e01-cn-smw4d1bzd0a\",\n login_password=\"G7f$2kL9@vQx3Zp5*\",\n cluster_id=\"i118976621753269898628\",\n node_group_id=\"i127582271753269898630\",\n node_id=\"e01-cn-smw4d1bzd0a\",\n vpc_id=\"vpc-uf6t73bb01dfprb2qvpqa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.NodeGroupAttachment(\"default\", new()\n {\n VswitchId = \"vsw-uf63gbmvwgreao66opmie\",\n Hostname = \"attachment-example-e01-cn-smw4d1bzd0a\",\n LoginPassword = \"G7f$2kL9@vQx3Zp5*\",\n ClusterId = \"i118976621753269898628\",\n NodeGroupId = \"i127582271753269898630\",\n NodeId = \"e01-cn-smw4d1bzd0a\",\n VpcId = \"vpc-uf6t73bb01dfprb2qvpqa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewNodeGroupAttachment(ctx, \"default\", \u0026eflo.NodeGroupAttachmentArgs{\n\t\t\tVswitchId: pulumi.String(\"vsw-uf63gbmvwgreao66opmie\"),\n\t\t\tHostname: pulumi.String(\"attachment-example-e01-cn-smw4d1bzd0a\"),\n\t\t\tLoginPassword: pulumi.String(\"G7f$2kL9@vQx3Zp5*\"),\n\t\t\tClusterId: pulumi.String(\"i118976621753269898628\"),\n\t\t\tNodeGroupId: pulumi.String(\"i127582271753269898630\"),\n\t\t\tNodeId: pulumi.String(\"e01-cn-smw4d1bzd0a\"),\n\t\t\tVpcId: pulumi.String(\"vpc-uf6t73bb01dfprb2qvpqa\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eflo.NodeGroupAttachment;\nimport com.pulumi.alicloud.eflo.NodeGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new NodeGroupAttachment(\"default\", NodeGroupAttachmentArgs.builder()\n .vswitchId(\"vsw-uf63gbmvwgreao66opmie\")\n .hostname(\"attachment-example-e01-cn-smw4d1bzd0a\")\n .loginPassword(\"G7f$2kL9@vQx3Zp5*\")\n .clusterId(\"i118976621753269898628\")\n .nodeGroupId(\"i127582271753269898630\")\n .nodeId(\"e01-cn-smw4d1bzd0a\")\n .vpcId(\"vpc-uf6t73bb01dfprb2qvpqa\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:NodeGroupAttachment\n properties:\n vswitchId: vsw-uf63gbmvwgreao66opmie\n hostname: attachment-example-e01-cn-smw4d1bzd0a\n loginPassword: G7f$2kL9@vQx3Zp5*\n clusterId: i118976621753269898628\n nodeGroupId: i127582271753269898630\n nodeId: e01-cn-smw4d1bzd0a\n vpcId: vpc-uf6t73bb01dfprb2qvpqa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Node Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/nodeGroupAttachment:NodeGroupAttachment example \u003ccluster_id\u003e:\u003cnode_group_id\u003e:\u003cnode_id\u003e\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -167615,7 +170511,7 @@ } }, "alicloud:eflo/subnet:Subnet": { - "description": "Provides a Eflo Subnet resource.\n\nFor information about Eflo Subnet and how to use it, see [What is Subnet](https://www.alibabacloud.com/help/en/pai/user-guide/overview-of-intelligent-computing-lingjun).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n});\nconst defaultSubnet = new alicloud.eflo.Subnet(\"default\", {\n subnetName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidr: \"10.0.0.0/16\",\n vpdId: defaultVpd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id)\ndefault_subnet = alicloud.eflo.Subnet(\"default\",\n subnet_name=name,\n zone_id=default.zones[0].id,\n cidr=\"10.0.0.0/16\",\n vpd_id=default_vpd.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n var defaultSubnet = new AliCloud.Eflo.Subnet(\"default\", new()\n {\n SubnetName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Cidr = \"10.0.0.0/16\",\n VpdId = defaultVpd.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpd, err := eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewSubnet(ctx, \"default\", \u0026eflo.SubnetArgs{\n\t\t\tSubnetName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tVpdId: defaultVpd.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport com.pulumi.alicloud.eflo.Subnet;\nimport com.pulumi.alicloud.eflo.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .build());\n\n var defaultSubnet = new Subnet(\"defaultSubnet\", SubnetArgs.builder()\n .subnetName(name)\n .zoneId(default_.zones()[0].id())\n .cidr(\"10.0.0.0/16\")\n .vpdId(defaultVpd.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n defaultSubnet:\n type: alicloud:eflo:Subnet\n name: default\n properties:\n subnetName: ${name}\n zoneId: ${default.zones[0].id}\n cidr: 10.0.0.0/16\n vpdId: ${defaultVpd.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Subnet can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/subnet:Subnet example \u003cvpd_id\u003e:\u003csubnet_id\u003e\n```\n\n", + "description": "Provides a Eflo Subnet resource.\n\nFor information about Eflo Subnet and how to use it, see [What is Subnet](https://www.alibabacloud.com/help/en/pai/user-guide/overview-of-intelligent-computing-lingjun).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n});\nconst defaultSubnet = new alicloud.eflo.Subnet(\"default\", {\n subnetName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidr: \"10.0.0.0/16\",\n vpdId: defaultVpd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name,\n resource_group_id=default_get_resource_groups.groups[0].id)\ndefault_subnet = alicloud.eflo.Subnet(\"default\",\n subnet_name=name,\n zone_id=default.zones[0].id,\n cidr=\"10.0.0.0/16\",\n vpd_id=default_vpd.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n var defaultSubnet = new AliCloud.Eflo.Subnet(\"default\", new()\n {\n SubnetName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Cidr = \"10.0.0.0/16\",\n VpdId = defaultVpd.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpd, err := eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewSubnet(ctx, \"default\", \u0026eflo.SubnetArgs{\n\t\t\tSubnetName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidr: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tVpdId: defaultVpd.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport com.pulumi.alicloud.eflo.Subnet;\nimport com.pulumi.alicloud.eflo.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .build());\n\n var defaultSubnet = new Subnet(\"defaultSubnet\", SubnetArgs.builder()\n .subnetName(name)\n .zoneId(default_.zones()[0].id())\n .cidr(\"10.0.0.0/16\")\n .vpdId(defaultVpd.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n defaultSubnet:\n type: alicloud:eflo:Subnet\n name: default\n properties:\n subnetName: ${name}\n zoneId: ${default.zones[0].id}\n cidr: 10.0.0.0/16\n vpdId: ${defaultVpd.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Subnet can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/subnet:Subnet example \u003cvpd_id\u003e:\u003csubnet_id\u003e\n```\n\n", "properties": { "cidr": { "type": "string", @@ -167762,7 +170658,7 @@ } }, "alicloud:eflo/vpd:Vpd": { - "description": "Provides a Eflo Vpd resource.\n\nLingjun Network Segment.\n\nFor information about Eflo Vpd and how to use it, see [What is Vpd](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateVpd).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name,\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Vpd can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vpd:Vpd example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Vpd resource.\n\nLingjun Network Segment.\n\nFor information about Eflo Vpd and how to use it, see [What is Vpd](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateVpd).\n\n\u003e **NOTE:** Available since v1.201.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name,\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Vpd can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vpd:Vpd example \u003cid\u003e\n```\n\n", "properties": { "cidr": { "type": "string", @@ -167900,7 +170796,7 @@ } }, "alicloud:eflo/vpdGrantRule:VpdGrantRule": { - "description": "Provides a Eflo Vpd Grant Rule resource.\n\nLingjun Network Segment Cross-Account Authorization Information.\n\nFor information about Eflo Vpd Grant Rule and how to use it, see [What is Vpd Grant Rule](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateVpdGrantRule).\n\n\u003e **NOTE:** Available since v1.263.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultEr = new alicloud.eflo.Er(\"default\", {\n erName: name,\n masterZoneId: \"cn-hangzhou-a\",\n});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n});\nconst defaultVpdGrantRule = new alicloud.eflo.VpdGrantRule(\"default\", {\n grantTenantId: _default.then(_default =\u003e _default.id),\n erId: defaultEr.id,\n instanceId: defaultVpd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_er = alicloud.eflo.Er(\"default\",\n er_name=name,\n master_zone_id=\"cn-hangzhou-a\")\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name)\ndefault_vpd_grant_rule = alicloud.eflo.VpdGrantRule(\"default\",\n grant_tenant_id=default.id,\n er_id=default_er.id,\n instance_id=default_vpd.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultEr = new AliCloud.Eflo.Er(\"default\", new()\n {\n ErName = name,\n MasterZoneId = \"cn-hangzhou-a\",\n });\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n });\n\n var defaultVpdGrantRule = new AliCloud.Eflo.VpdGrantRule(\"default\", new()\n {\n GrantTenantId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n ErId = defaultEr.Id,\n InstanceId = defaultVpd.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEr, err := eflo.NewEr(ctx, \"default\", \u0026eflo.ErArgs{\n\t\t\tErName: pulumi.String(name),\n\t\t\tMasterZoneId: pulumi.String(\"cn-hangzhou-a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpd, err := eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewVpdGrantRule(ctx, \"default\", \u0026eflo.VpdGrantRuleArgs{\n\t\t\tGrantTenantId: pulumi.String(_default.Id),\n\t\t\tErId: defaultEr.ID(),\n\t\t\tInstanceId: defaultVpd.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.eflo.Er;\nimport com.pulumi.alicloud.eflo.ErArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport com.pulumi.alicloud.eflo.VpdGrantRule;\nimport com.pulumi.alicloud.eflo.VpdGrantRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultEr = new Er(\"defaultEr\", ErArgs.builder()\n .erName(name)\n .masterZoneId(\"cn-hangzhou-a\")\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .build());\n\n var defaultVpdGrantRule = new VpdGrantRule(\"defaultVpdGrantRule\", VpdGrantRuleArgs.builder()\n .grantTenantId(default_.id())\n .erId(defaultEr.id())\n .instanceId(defaultVpd.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEr:\n type: alicloud:eflo:Er\n name: default\n properties:\n erName: ${name}\n masterZoneId: cn-hangzhou-a\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n defaultVpdGrantRule:\n type: alicloud:eflo:VpdGrantRule\n name: default\n properties:\n grantTenantId: ${default.id}\n erId: ${defaultEr.id}\n instanceId: ${defaultVpd.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Vpd Grant Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vpdGrantRule:VpdGrantRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Vpd Grant Rule resource.\n\nLingjun Network Segment Cross-Account Authorization Information.\n\nFor information about Eflo Vpd Grant Rule and how to use it, see [What is Vpd Grant Rule](https://next.api.alibabacloud.com/document/eflo/2022-05-30/CreateVpdGrantRule).\n\n\u003e **NOTE:** Available since v1.263.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultEr = new alicloud.eflo.Er(\"default\", {\n erName: name,\n masterZoneId: \"cn-hangzhou-a\",\n});\nconst defaultVpd = new alicloud.eflo.Vpd(\"default\", {\n cidr: \"10.0.0.0/8\",\n vpdName: name,\n});\nconst defaultVpdGrantRule = new alicloud.eflo.VpdGrantRule(\"default\", {\n grantTenantId: _default.then(_default =\u003e _default.id),\n erId: defaultEr.id,\n instanceId: defaultVpd.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_er = alicloud.eflo.Er(\"default\",\n er_name=name,\n master_zone_id=\"cn-hangzhou-a\")\ndefault_vpd = alicloud.eflo.Vpd(\"default\",\n cidr=\"10.0.0.0/8\",\n vpd_name=name)\ndefault_vpd_grant_rule = alicloud.eflo.VpdGrantRule(\"default\",\n grant_tenant_id=default.id,\n er_id=default_er.id,\n instance_id=default_vpd.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultEr = new AliCloud.Eflo.Er(\"default\", new()\n {\n ErName = name,\n MasterZoneId = \"cn-hangzhou-a\",\n });\n\n var defaultVpd = new AliCloud.Eflo.Vpd(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n VpdName = name,\n });\n\n var defaultVpdGrantRule = new AliCloud.Eflo.VpdGrantRule(\"default\", new()\n {\n GrantTenantId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n ErId = defaultEr.Id,\n InstanceId = defaultVpd.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEr, err := eflo.NewEr(ctx, \"default\", \u0026eflo.ErArgs{\n\t\t\tErName: pulumi.String(name),\n\t\t\tMasterZoneId: pulumi.String(\"cn-hangzhou-a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpd, err := eflo.NewVpd(ctx, \"default\", \u0026eflo.VpdArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpdName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eflo.NewVpdGrantRule(ctx, \"default\", \u0026eflo.VpdGrantRuleArgs{\n\t\t\tGrantTenantId: pulumi.String(_default.Id),\n\t\t\tErId: defaultEr.ID(),\n\t\t\tInstanceId: defaultVpd.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.eflo.Er;\nimport com.pulumi.alicloud.eflo.ErArgs;\nimport com.pulumi.alicloud.eflo.Vpd;\nimport com.pulumi.alicloud.eflo.VpdArgs;\nimport com.pulumi.alicloud.eflo.VpdGrantRule;\nimport com.pulumi.alicloud.eflo.VpdGrantRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultEr = new Er(\"defaultEr\", ErArgs.builder()\n .erName(name)\n .masterZoneId(\"cn-hangzhou-a\")\n .build());\n\n var defaultVpd = new Vpd(\"defaultVpd\", VpdArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .vpdName(name)\n .build());\n\n var defaultVpdGrantRule = new VpdGrantRule(\"defaultVpdGrantRule\", VpdGrantRuleArgs.builder()\n .grantTenantId(default_.id())\n .erId(defaultEr.id())\n .instanceId(defaultVpd.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEr:\n type: alicloud:eflo:Er\n name: default\n properties:\n erName: ${name}\n masterZoneId: cn-hangzhou-a\n defaultVpd:\n type: alicloud:eflo:Vpd\n name: default\n properties:\n cidr: 10.0.0.0/8\n vpdName: ${name}\n defaultVpdGrantRule:\n type: alicloud:eflo:VpdGrantRule\n name: default\n properties:\n grantTenantId: ${default.id}\n erId: ${defaultEr.id}\n instanceId: ${defaultVpd.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Vpd Grant Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vpdGrantRule:VpdGrantRule example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -167983,7 +170879,7 @@ } }, "alicloud:eflo/vsc:Vsc": { - "description": "Provides a Eflo Vsc resource.\n\nVirtual Storage Channel.\n\nFor information about Eflo Vsc and how to use it, see [What is Vsc](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-controller-2022-12-15-createvsc).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.Vsc(\"default\", {\n vscType: \"primary\",\n nodeId: \"e01-cn-9me49omda01\",\n vscName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.Vsc(\"default\",\n vsc_type=\"primary\",\n node_id=\"e01-cn-9me49omda01\",\n vsc_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.Vsc(\"default\", new()\n {\n VscType = \"primary\",\n NodeId = \"e01-cn-9me49omda01\",\n VscName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewVsc(ctx, \"default\", \u0026eflo.VscArgs{\n\t\t\tVscType: pulumi.String(\"primary\"),\n\t\t\tNodeId: pulumi.String(\"e01-cn-9me49omda01\"),\n\t\t\tVscName: pulumi.String(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.alicloud.eflo.Vsc;\nimport com.pulumi.alicloud.eflo.VscArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Vsc(\"default\", VscArgs.builder()\n .vscType(\"primary\")\n .nodeId(\"e01-cn-9me49omda01\")\n .vscName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:Vsc\n properties:\n vscType: primary\n nodeId: e01-cn-9me49omda01\n vscName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEflo Vsc can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vsc:Vsc example \u003cid\u003e\n```\n\n", + "description": "Provides a Eflo Vsc resource.\n\nVirtual Storage Channel.\n\nFor information about Eflo Vsc and how to use it, see [What is Vsc](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eflo-controller-2022-12-15-createvsc).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eflo.Vsc(\"default\", {\n vscType: \"primary\",\n nodeId: \"e01-cn-9me49omda01\",\n vscName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eflo.Vsc(\"default\",\n vsc_type=\"primary\",\n node_id=\"e01-cn-9me49omda01\",\n vsc_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Eflo.Vsc(\"default\", new()\n {\n VscType = \"primary\",\n NodeId = \"e01-cn-9me49omda01\",\n VscName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eflo.NewVsc(ctx, \"default\", \u0026eflo.VscArgs{\n\t\t\tVscType: pulumi.String(\"primary\"),\n\t\t\tNodeId: pulumi.String(\"e01-cn-9me49omda01\"),\n\t\t\tVscName: pulumi.String(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.alicloud.eflo.Vsc;\nimport com.pulumi.alicloud.eflo.VscArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Vsc(\"default\", VscArgs.builder()\n .vscType(\"primary\")\n .nodeId(\"e01-cn-9me49omda01\")\n .vscName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eflo:Vsc\n properties:\n vscType: primary\n nodeId: e01-cn-9me49omda01\n vscName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEflo Vsc can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eflo/vsc:Vsc example \u003cid\u003e\n```\n\n", "properties": { "nodeId": { "type": "string", @@ -168088,7 +170984,7 @@ } }, "alicloud:ehpc/cluster:Cluster": { - "description": "Provides a Ehpc Cluster resource.\n\nFor information about Ehpc Cluster and how to use it, see [What is Cluster](https://www.alibabacloud.com/help/en/e-hpc/developer-reference/api-ehpc-2018-04-12-createcluster).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^centos_7_6_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n storageType: \"Performance\",\n protocolType: \"NFS\",\n});\nconst defaultMountTarget = new alicloud.nas.MountTarget(\"default\", {\n fileSystemId: defaultFileSystem.id,\n accessGroupName: \"DEFAULT_VPC_GROUP_NAME\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.ehpc.Cluster(\"default\", {\n clusterName: name,\n deployMode: \"Simple\",\n description: name,\n haEnable: false,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n imageOwnerAlias: \"system\",\n volumeProtocol: \"nfs\",\n volumeId: defaultFileSystem.id,\n volumeMountpoint: defaultMountTarget.mountTargetDomain,\n computeCount: 1,\n computeInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n loginCount: 1,\n loginInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n managerCount: 1,\n managerInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n osTag: \"CentOS_7.6_64\",\n schedulerType: \"pbs\",\n password: \"your-password123\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^centos_7_6_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n storage_type=\"Performance\",\n protocol_type=\"NFS\")\ndefault_mount_target = alicloud.nas.MountTarget(\"default\",\n file_system_id=default_file_system.id,\n access_group_name=\"DEFAULT_VPC_GROUP_NAME\",\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.ehpc.Cluster(\"default\",\n cluster_name=name,\n deploy_mode=\"Simple\",\n description=name,\n ha_enable=False,\n image_id=default_get_images.images[0].id,\n image_owner_alias=\"system\",\n volume_protocol=\"nfs\",\n volume_id=default_file_system.id,\n volume_mountpoint=default_mount_target.mount_target_domain,\n compute_count=1,\n compute_instance_type=default_get_instance_types.instance_types[0].id,\n login_count=1,\n login_instance_type=default_get_instance_types.instance_types[0].id,\n manager_count=1,\n manager_instance_type=default_get_instance_types.instance_types[0].id,\n os_tag=\"CentOS_7.6_64\",\n scheduler_type=\"pbs\",\n password=\"your-password123\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^centos_7_6_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n StorageType = \"Performance\",\n ProtocolType = \"NFS\",\n });\n\n var defaultMountTarget = new AliCloud.Nas.MountTarget(\"default\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n AccessGroupName = \"DEFAULT_VPC_GROUP_NAME\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Ehpc.Cluster(\"default\", new()\n {\n ClusterName = name,\n DeployMode = \"Simple\",\n Description = name,\n HaEnable = false,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n ImageOwnerAlias = \"system\",\n VolumeProtocol = \"nfs\",\n VolumeId = defaultFileSystem.Id,\n VolumeMountpoint = defaultMountTarget.MountTargetDomain,\n ComputeCount = 1,\n ComputeInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n LoginCount = 1,\n LoginInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n ManagerCount = 1,\n ManagerInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n OsTag = \"CentOS_7.6_64\",\n SchedulerType = \"pbs\",\n Password = \"your-password123\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^centos_7_6_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMountTarget, err := nas.NewMountTarget(ctx, \"default\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAccessGroupName: pulumi.String(\"DEFAULT_VPC_GROUP_NAME\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ehpc.NewCluster(ctx, \"default\", \u0026ehpc.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tDeployMode: pulumi.String(\"Simple\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tHaEnable: pulumi.Bool(false),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tImageOwnerAlias: pulumi.String(\"system\"),\n\t\t\tVolumeProtocol: pulumi.String(\"nfs\"),\n\t\t\tVolumeId: defaultFileSystem.ID(),\n\t\t\tVolumeMountpoint: defaultMountTarget.MountTargetDomain,\n\t\t\tComputeCount: pulumi.Int(1),\n\t\t\tComputeInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tLoginCount: pulumi.Int(1),\n\t\t\tLoginInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tManagerCount: pulumi.Int(1),\n\t\t\tManagerInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tOsTag: pulumi.String(\"CentOS_7.6_64\"),\n\t\t\tSchedulerType: pulumi.String(\"pbs\"),\n\t\t\tPassword: pulumi.String(\"your-password123\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.alicloud.ehpc.Cluster;\nimport com.pulumi.alicloud.ehpc.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^centos_7_6_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .storageType(\"Performance\")\n .protocolType(\"NFS\")\n .build());\n\n var defaultMountTarget = new MountTarget(\"defaultMountTarget\", MountTargetArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .accessGroupName(\"DEFAULT_VPC_GROUP_NAME\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .deployMode(\"Simple\")\n .description(name)\n .haEnable(false)\n .imageId(defaultGetImages.images()[0].id())\n .imageOwnerAlias(\"system\")\n .volumeProtocol(\"nfs\")\n .volumeId(defaultFileSystem.id())\n .volumeMountpoint(defaultMountTarget.mountTargetDomain())\n .computeCount(1)\n .computeInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .loginCount(1)\n .loginInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .managerCount(1)\n .managerInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .osTag(\"CentOS_7.6_64\")\n .schedulerType(\"pbs\")\n .password(\"your-password123\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n storageType: Performance\n protocolType: NFS\n defaultMountTarget:\n type: alicloud:nas:MountTarget\n name: default\n properties:\n fileSystemId: ${defaultFileSystem.id}\n accessGroupName: DEFAULT_VPC_GROUP_NAME\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:ehpc:Cluster\n name: default\n properties:\n clusterName: ${name}\n deployMode: Simple\n description: ${name}\n haEnable: false\n imageId: ${defaultGetImages.images[0].id}\n imageOwnerAlias: system\n volumeProtocol: nfs\n volumeId: ${defaultFileSystem.id}\n volumeMountpoint: ${defaultMountTarget.mountTargetDomain}\n computeCount: 1\n computeInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n loginCount: 1\n loginInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n managerCount: 1\n managerInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n osTag: CentOS_7.6_64\n schedulerType: pbs\n password: your-password123\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^centos_7_6_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEhpc Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/cluster:Cluster example \u003cid\u003e\n```\n\n", + "description": "Provides a Ehpc Cluster resource.\n\nFor information about Ehpc Cluster and how to use it, see [What is Cluster](https://www.alibabacloud.com/help/en/e-hpc/developer-reference/api-ehpc-2018-04-12-createcluster).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^centos_7_6_x64*\",\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n storageType: \"Performance\",\n protocolType: \"NFS\",\n});\nconst defaultMountTarget = new alicloud.nas.MountTarget(\"default\", {\n fileSystemId: defaultFileSystem.id,\n accessGroupName: \"DEFAULT_VPC_GROUP_NAME\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultCluster = new alicloud.ehpc.Cluster(\"default\", {\n clusterName: name,\n deployMode: \"Simple\",\n description: name,\n haEnable: false,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n imageOwnerAlias: \"system\",\n volumeProtocol: \"nfs\",\n volumeId: defaultFileSystem.id,\n volumeMountpoint: defaultMountTarget.mountTargetDomain,\n computeCount: 1,\n computeInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n loginCount: 1,\n loginInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n managerCount: 1,\n managerInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n osTag: \"CentOS_7.6_64\",\n schedulerType: \"pbs\",\n password: \"your-password123\",\n vswitchId: defaultSwitch.id,\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^centos_7_6_x64*\",\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n storage_type=\"Performance\",\n protocol_type=\"NFS\")\ndefault_mount_target = alicloud.nas.MountTarget(\"default\",\n file_system_id=default_file_system.id,\n access_group_name=\"DEFAULT_VPC_GROUP_NAME\",\n vswitch_id=default_switch.id)\ndefault_cluster = alicloud.ehpc.Cluster(\"default\",\n cluster_name=name,\n deploy_mode=\"Simple\",\n description=name,\n ha_enable=False,\n image_id=default_get_images.images[0].id,\n image_owner_alias=\"system\",\n volume_protocol=\"nfs\",\n volume_id=default_file_system.id,\n volume_mountpoint=default_mount_target.mount_target_domain,\n compute_count=1,\n compute_instance_type=default_get_instance_types.instance_types[0].id,\n login_count=1,\n login_instance_type=default_get_instance_types.instance_types[0].id,\n manager_count=1,\n manager_instance_type=default_get_instance_types.instance_types[0].id,\n os_tag=\"CentOS_7.6_64\",\n scheduler_type=\"pbs\",\n password=\"your-password123\",\n vswitch_id=default_switch.id,\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^centos_7_6_x64*\",\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n StorageType = \"Performance\",\n ProtocolType = \"NFS\",\n });\n\n var defaultMountTarget = new AliCloud.Nas.MountTarget(\"default\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n AccessGroupName = \"DEFAULT_VPC_GROUP_NAME\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultCluster = new AliCloud.Ehpc.Cluster(\"default\", new()\n {\n ClusterName = name,\n DeployMode = \"Simple\",\n Description = name,\n HaEnable = false,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n ImageOwnerAlias = \"system\",\n VolumeProtocol = \"nfs\",\n VolumeId = defaultFileSystem.Id,\n VolumeMountpoint = defaultMountTarget.MountTargetDomain,\n ComputeCount = 1,\n ComputeInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n LoginCount = 1,\n LoginInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n ManagerCount = 1,\n ManagerInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n OsTag = \"CentOS_7.6_64\",\n SchedulerType = \"pbs\",\n Password = \"your-password123\",\n VswitchId = defaultSwitch.Id,\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^centos_7_6_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultMountTarget, err := nas.NewMountTarget(ctx, \"default\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tAccessGroupName: pulumi.String(\"DEFAULT_VPC_GROUP_NAME\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ehpc.NewCluster(ctx, \"default\", \u0026ehpc.ClusterArgs{\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tDeployMode: pulumi.String(\"Simple\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tHaEnable: pulumi.Bool(false),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tImageOwnerAlias: pulumi.String(\"system\"),\n\t\t\tVolumeProtocol: pulumi.String(\"nfs\"),\n\t\t\tVolumeId: defaultFileSystem.ID(),\n\t\t\tVolumeMountpoint: defaultMountTarget.MountTargetDomain,\n\t\t\tComputeCount: pulumi.Int(1),\n\t\t\tComputeInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tLoginCount: pulumi.Int(1),\n\t\t\tLoginInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tManagerCount: pulumi.Int(1),\n\t\t\tManagerInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tOsTag: pulumi.String(\"CentOS_7.6_64\"),\n\t\t\tSchedulerType: pulumi.String(\"pbs\"),\n\t\t\tPassword: pulumi.String(\"your-password123\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.alicloud.ehpc.Cluster;\nimport com.pulumi.alicloud.ehpc.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^centos_7_6_x64*\")\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .storageType(\"Performance\")\n .protocolType(\"NFS\")\n .build());\n\n var defaultMountTarget = new MountTarget(\"defaultMountTarget\", MountTargetArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .accessGroupName(\"DEFAULT_VPC_GROUP_NAME\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .clusterName(name)\n .deployMode(\"Simple\")\n .description(name)\n .haEnable(false)\n .imageId(defaultGetImages.images()[0].id())\n .imageOwnerAlias(\"system\")\n .volumeProtocol(\"nfs\")\n .volumeId(defaultFileSystem.id())\n .volumeMountpoint(defaultMountTarget.mountTargetDomain())\n .computeCount(1)\n .computeInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .loginCount(1)\n .loginInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .managerCount(1)\n .managerInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .osTag(\"CentOS_7.6_64\")\n .schedulerType(\"pbs\")\n .password(\"your-password123\")\n .vswitchId(defaultSwitch.id())\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n storageType: Performance\n protocolType: NFS\n defaultMountTarget:\n type: alicloud:nas:MountTarget\n name: default\n properties:\n fileSystemId: ${defaultFileSystem.id}\n accessGroupName: DEFAULT_VPC_GROUP_NAME\n vswitchId: ${defaultSwitch.id}\n defaultCluster:\n type: alicloud:ehpc:Cluster\n name: default\n properties:\n clusterName: ${name}\n deployMode: Simple\n description: ${name}\n haEnable: false\n imageId: ${defaultGetImages.images[0].id}\n imageOwnerAlias: system\n volumeProtocol: nfs\n volumeId: ${defaultFileSystem.id}\n volumeMountpoint: ${defaultMountTarget.mountTargetDomain}\n computeCount: 1\n computeInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n loginCount: 1\n loginInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n managerCount: 1\n managerInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n osTag: CentOS_7.6_64\n schedulerType: pbs\n password: your-password123\n vswitchId: ${defaultSwitch.id}\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^centos_7_6_x64*\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEhpc Cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/cluster:Cluster example \u003cid\u003e\n```\n\n", "properties": { "accountType": { "type": "string", @@ -168941,8 +171837,240 @@ "type": "object" } }, + "alicloud:ehpc/clusterV2:ClusterV2": { + "description": "Provides a Ehpc Cluster V2 resource.\n\nE-HPC Cluster Resources.\n\nFor information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.vpc.Network(\"example\", {\n isDefault: false,\n cidrBlock: \"10.0.0.0/24\",\n vpcName: \"example-cluster-vpc\",\n});\nconst exampleAccessGroup = new alicloud.nas.AccessGroup(\"example\", {\n accessGroupType: \"Vpc\",\n description: name,\n accessGroupName: \"StandardMountTarget\",\n fileSystemType: \"standard\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n description: \"example-cluster-nas\",\n storageType: \"Capacity\",\n nfsAcl: {\n enabled: false,\n },\n zoneId: \"cn-hangzhou-k\",\n encryptType: 0,\n protocolType: \"NFS\",\n fileSystemType: \"standard\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n isDefault: false,\n vpcId: example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: \"example-cluster-vsw\",\n});\nconst exampleAccessRule = new alicloud.nas.AccessRule(\"example\", {\n priority: 1,\n accessGroupName: exampleAccessGroup.accessGroupName,\n fileSystemType: exampleFileSystem.fileSystemType,\n sourceCidrIp: \"10.0.0.0/24\",\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n vpcId: example.id,\n securityGroupType: \"normal\",\n});\nconst exampleMountTarget = new alicloud.nas.MountTarget(\"example\", {\n vpcId: example.id,\n networkType: \"Vpc\",\n accessGroupName: exampleAccessGroup.accessGroupName,\n vswitchId: exampleSwitch.id,\n fileSystemId: exampleFileSystem.id,\n});\nconst _default = new alicloud.ehpc.ClusterV2(\"default\", {\n clusterCredentials: {\n password: \"aliHPC123\",\n },\n clusterVpcId: example.id,\n clusterCategory: \"Standard\",\n clusterMode: \"Integrated\",\n securityGroupId: exampleSecurityGroup.id,\n clusterName: \"minimal-example-cluster\",\n deletionProtection: true,\n clientVersion: \"2.0.47\",\n sharedStorages: [\n {\n mountDirectory: \"/home\",\n nasDirectory: \"/\",\n mountTargetDomain: exampleMountTarget.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: exampleFileSystem.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n mountDirectory: \"/opt\",\n nasDirectory: \"/\",\n mountTargetDomain: exampleMountTarget.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: exampleFileSystem.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n mountDirectory: \"/ehpcdata\",\n nasDirectory: \"/\",\n mountTargetDomain: exampleMountTarget.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: exampleFileSystem.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n ],\n clusterVswitchId: exampleSwitch.id,\n manager: {\n managerNode: {\n systemDisk: {\n category: \"cloud_essd\",\n size: 40,\n level: \"PL0\",\n },\n enableHt: true,\n instanceChargeType: \"PostPaid\",\n imageId: \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n spotPriceLimit: 0,\n instanceType: \"ecs.c6.xlarge\",\n spotStrategy: \"NoSpot\",\n },\n scheduler: {\n type: \"SLURM\",\n version: \"22.05.8\",\n },\n dns: {\n type: \"nis\",\n version: \"1.0\",\n },\n directoryService: {\n type: \"nis\",\n version: \"1.0\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.vpc.Network(\"example\",\n is_default=False,\n cidr_block=\"10.0.0.0/24\",\n vpc_name=\"example-cluster-vpc\")\nexample_access_group = alicloud.nas.AccessGroup(\"example\",\n access_group_type=\"Vpc\",\n description=name,\n access_group_name=\"StandardMountTarget\",\n file_system_type=\"standard\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n description=\"example-cluster-nas\",\n storage_type=\"Capacity\",\n nfs_acl={\n \"enabled\": False,\n },\n zone_id=\"cn-hangzhou-k\",\n encrypt_type=0,\n protocol_type=\"NFS\",\n file_system_type=\"standard\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n is_default=False,\n vpc_id=example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=\"example-cluster-vsw\")\nexample_access_rule = alicloud.nas.AccessRule(\"example\",\n priority=1,\n access_group_name=example_access_group.access_group_name,\n file_system_type=example_file_system.file_system_type,\n source_cidr_ip=\"10.0.0.0/24\")\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n vpc_id=example.id,\n security_group_type=\"normal\")\nexample_mount_target = alicloud.nas.MountTarget(\"example\",\n vpc_id=example.id,\n network_type=\"Vpc\",\n access_group_name=example_access_group.access_group_name,\n vswitch_id=example_switch.id,\n file_system_id=example_file_system.id)\ndefault = alicloud.ehpc.ClusterV2(\"default\",\n cluster_credentials={\n \"password\": \"aliHPC123\",\n },\n cluster_vpc_id=example.id,\n cluster_category=\"Standard\",\n cluster_mode=\"Integrated\",\n security_group_id=example_security_group.id,\n cluster_name=\"minimal-example-cluster\",\n deletion_protection=True,\n client_version=\"2.0.47\",\n shared_storages=[\n {\n \"mount_directory\": \"/home\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": example_mount_target.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": example_file_system.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n \"mount_directory\": \"/opt\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": example_mount_target.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": example_file_system.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n \"mount_directory\": \"/ehpcdata\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": example_mount_target.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": example_file_system.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n ],\n cluster_vswitch_id=example_switch.id,\n manager={\n \"manager_node\": {\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 40,\n \"level\": \"PL0\",\n },\n \"enable_ht\": True,\n \"instance_charge_type\": \"PostPaid\",\n \"image_id\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n \"spot_price_limit\": 0,\n \"instance_type\": \"ecs.c6.xlarge\",\n \"spot_strategy\": \"NoSpot\",\n },\n \"scheduler\": {\n \"type\": \"SLURM\",\n \"version\": \"22.05.8\",\n },\n \"dns\": {\n \"type\": \"nis\",\n \"version\": \"1.0\",\n },\n \"directory_service\": {\n \"type\": \"nis\",\n \"version\": \"1.0\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n IsDefault = false,\n CidrBlock = \"10.0.0.0/24\",\n VpcName = \"example-cluster-vpc\",\n });\n\n var exampleAccessGroup = new AliCloud.Nas.AccessGroup(\"example\", new()\n {\n AccessGroupType = \"Vpc\",\n Description = name,\n AccessGroupName = \"StandardMountTarget\",\n FileSystemType = \"standard\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n Description = \"example-cluster-nas\",\n StorageType = \"Capacity\",\n NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs\n {\n Enabled = false,\n },\n ZoneId = \"cn-hangzhou-k\",\n EncryptType = 0,\n ProtocolType = \"NFS\",\n FileSystemType = \"standard\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n IsDefault = false,\n VpcId = example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = \"example-cluster-vsw\",\n });\n\n var exampleAccessRule = new AliCloud.Nas.AccessRule(\"example\", new()\n {\n Priority = 1,\n AccessGroupName = exampleAccessGroup.AccessGroupName,\n FileSystemType = exampleFileSystem.FileSystemType,\n SourceCidrIp = \"10.0.0.0/24\",\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n VpcId = example.Id,\n SecurityGroupType = \"normal\",\n });\n\n var exampleMountTarget = new AliCloud.Nas.MountTarget(\"example\", new()\n {\n VpcId = example.Id,\n NetworkType = \"Vpc\",\n AccessGroupName = exampleAccessGroup.AccessGroupName,\n VswitchId = exampleSwitch.Id,\n FileSystemId = exampleFileSystem.Id,\n });\n\n var @default = new AliCloud.Ehpc.ClusterV2(\"default\", new()\n {\n ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs\n {\n Password = \"aliHPC123\",\n },\n ClusterVpcId = example.Id,\n ClusterCategory = \"Standard\",\n ClusterMode = \"Integrated\",\n SecurityGroupId = exampleSecurityGroup.Id,\n ClusterName = \"minimal-example-cluster\",\n DeletionProtection = true,\n ClientVersion = \"2.0.47\",\n SharedStorages = new[]\n {\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/home\",\n NasDirectory = \"/\",\n MountTargetDomain = exampleMountTarget.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = exampleFileSystem.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/opt\",\n NasDirectory = \"/\",\n MountTargetDomain = exampleMountTarget.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = exampleFileSystem.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/ehpcdata\",\n NasDirectory = \"/\",\n MountTargetDomain = exampleMountTarget.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = exampleFileSystem.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n },\n ClusterVswitchId = exampleSwitch.Id,\n Manager = new AliCloud.Ehpc.Inputs.ClusterV2ManagerArgs\n {\n ManagerNode = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeArgs\n {\n SystemDisk = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 40,\n Level = \"PL0\",\n },\n EnableHt = true,\n InstanceChargeType = \"PostPaid\",\n ImageId = \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n SpotPriceLimit = 0,\n InstanceType = \"ecs.c6.xlarge\",\n SpotStrategy = \"NoSpot\",\n },\n Scheduler = new AliCloud.Ehpc.Inputs.ClusterV2ManagerSchedulerArgs\n {\n Type = \"SLURM\",\n Version = \"22.05.8\",\n },\n Dns = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDnsArgs\n {\n Type = \"nis\",\n Version = \"1.0\",\n },\n DirectoryService = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDirectoryServiceArgs\n {\n Type = \"nis\",\n Version = \"1.0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVpcName: pulumi.String(\"example-cluster-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGroup, err := nas.NewAccessGroup(ctx, \"example\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessGroupName: pulumi.String(\"StandardMountTarget\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tDescription: pulumi.String(\"example-cluster-nas\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tNfsAcl: \u0026nas.FileSystemNfsAclArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"example-cluster-vsw\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessRule(ctx, \"example\", \u0026nas.AccessRuleArgs{\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tAccessGroupName: exampleAccessGroup.AccessGroupName,\n\t\t\tFileSystemType: exampleFileSystem.FileSystemType,\n\t\t\tSourceCidrIp: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMountTarget, err := nas.NewMountTarget(ctx, \"example\", \u0026nas.MountTargetArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tNetworkType: pulumi.String(\"Vpc\"),\n\t\t\tAccessGroupName: exampleAccessGroup.AccessGroupName,\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ehpc.NewClusterV2(ctx, \"default\", \u0026ehpc.ClusterV2Args{\n\t\t\tClusterCredentials: \u0026ehpc.ClusterV2ClusterCredentialsArgs{\n\t\t\t\tPassword: pulumi.String(\"aliHPC123\"),\n\t\t\t},\n\t\t\tClusterVpcId: example.ID(),\n\t\t\tClusterCategory: pulumi.String(\"Standard\"),\n\t\t\tClusterMode: pulumi.String(\"Integrated\"),\n\t\t\tSecurityGroupId: exampleSecurityGroup.ID(),\n\t\t\tClusterName: pulumi.String(\"minimal-example-cluster\"),\n\t\t\tDeletionProtection: pulumi.Bool(true),\n\t\t\tClientVersion: pulumi.String(\"2.0.47\"),\n\t\t\tSharedStorages: ehpc.ClusterV2SharedStorageArray{\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/home\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: exampleMountTarget.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/opt\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: exampleMountTarget.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/ehpcdata\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: exampleMountTarget.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterVswitchId: exampleSwitch.ID(),\n\t\t\tManager: \u0026ehpc.ClusterV2ManagerArgs{\n\t\t\t\tManagerNode: \u0026ehpc.ClusterV2ManagerManagerNodeArgs{\n\t\t\t\t\tSystemDisk: \u0026ehpc.ClusterV2ManagerManagerNodeSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\t\t\tLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnableHt: pulumi.Bool(true),\n\t\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\t\tImageId: pulumi.String(\"centos_7_6_x64_20G_alibase_20211130.vhd\"),\n\t\t\t\t\tSpotPriceLimit: pulumi.Float64(0),\n\t\t\t\t\tInstanceType: pulumi.String(\"ecs.c6.xlarge\"),\n\t\t\t\t\tSpotStrategy: pulumi.String(\"NoSpot\"),\n\t\t\t\t},\n\t\t\t\tScheduler: \u0026ehpc.ClusterV2ManagerSchedulerArgs{\n\t\t\t\t\tType: pulumi.String(\"SLURM\"),\n\t\t\t\t\tVersion: pulumi.String(\"22.05.8\"),\n\t\t\t\t},\n\t\t\t\tDns: \u0026ehpc.ClusterV2ManagerDnsArgs{\n\t\t\t\t\tType: pulumi.String(\"nis\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t\tDirectoryService: \u0026ehpc.ClusterV2ManagerDirectoryServiceArgs{\n\t\t\t\t\tType: pulumi.String(\"nis\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.AccessRule;\nimport com.pulumi.alicloud.nas.AccessRuleArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.alicloud.ehpc.ClusterV2;\nimport com.pulumi.alicloud.ehpc.ClusterV2Args;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Network(\"example\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"10.0.0.0/24\")\n .vpcName(\"example-cluster-vpc\")\n .build());\n\n var exampleAccessGroup = new AccessGroup(\"exampleAccessGroup\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .description(name)\n .accessGroupName(\"StandardMountTarget\")\n .fileSystemType(\"standard\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .description(\"example-cluster-nas\")\n .storageType(\"Capacity\")\n .nfsAcl(FileSystemNfsAclArgs.builder()\n .enabled(false)\n .build())\n .zoneId(\"cn-hangzhou-k\")\n .encryptType(0)\n .protocolType(\"NFS\")\n .fileSystemType(\"standard\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(\"example-cluster-vsw\")\n .build());\n\n var exampleAccessRule = new AccessRule(\"exampleAccessRule\", AccessRuleArgs.builder()\n .priority(1)\n .accessGroupName(exampleAccessGroup.accessGroupName())\n .fileSystemType(exampleFileSystem.fileSystemType())\n .sourceCidrIp(\"10.0.0.0/24\")\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(example.id())\n .securityGroupType(\"normal\")\n .build());\n\n var exampleMountTarget = new MountTarget(\"exampleMountTarget\", MountTargetArgs.builder()\n .vpcId(example.id())\n .networkType(\"Vpc\")\n .accessGroupName(exampleAccessGroup.accessGroupName())\n .vswitchId(exampleSwitch.id())\n .fileSystemId(exampleFileSystem.id())\n .build());\n\n var default_ = new ClusterV2(\"default\", ClusterV2Args.builder()\n .clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()\n .password(\"aliHPC123\")\n .build())\n .clusterVpcId(example.id())\n .clusterCategory(\"Standard\")\n .clusterMode(\"Integrated\")\n .securityGroupId(exampleSecurityGroup.id())\n .clusterName(\"minimal-example-cluster\")\n .deletionProtection(true)\n .clientVersion(\"2.0.47\")\n .sharedStorages( \n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/home\")\n .nasDirectory(\"/\")\n .mountTargetDomain(exampleMountTarget.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(exampleFileSystem.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build(),\n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/opt\")\n .nasDirectory(\"/\")\n .mountTargetDomain(exampleMountTarget.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(exampleFileSystem.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build(),\n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/ehpcdata\")\n .nasDirectory(\"/\")\n .mountTargetDomain(exampleMountTarget.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(exampleFileSystem.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build())\n .clusterVswitchId(exampleSwitch.id())\n .manager(ClusterV2ManagerArgs.builder()\n .managerNode(ClusterV2ManagerManagerNodeArgs.builder()\n .systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(40)\n .level(\"PL0\")\n .build())\n .enableHt(true)\n .instanceChargeType(\"PostPaid\")\n .imageId(\"centos_7_6_x64_20G_alibase_20211130.vhd\")\n .spotPriceLimit(0.0)\n .instanceType(\"ecs.c6.xlarge\")\n .spotStrategy(\"NoSpot\")\n .build())\n .scheduler(ClusterV2ManagerSchedulerArgs.builder()\n .type(\"SLURM\")\n .version(\"22.05.8\")\n .build())\n .dns(ClusterV2ManagerDnsArgs.builder()\n .type(\"nis\")\n .version(\"1.0\")\n .build())\n .directoryService(ClusterV2ManagerDirectoryServiceArgs.builder()\n .type(\"nis\")\n .version(\"1.0\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n isDefault: false\n cidrBlock: 10.0.0.0/24\n vpcName: example-cluster-vpc\n exampleAccessGroup:\n type: alicloud:nas:AccessGroup\n name: example\n properties:\n accessGroupType: Vpc\n description: ${name}\n accessGroupName: StandardMountTarget\n fileSystemType: standard\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n description: example-cluster-nas\n storageType: Capacity\n nfsAcl:\n enabled: false\n zoneId: cn-hangzhou-k\n encryptType: '0'\n protocolType: NFS\n fileSystemType: standard\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n isDefault: false\n vpcId: ${example.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 10.0.0.0/24\n vswitchName: example-cluster-vsw\n exampleAccessRule:\n type: alicloud:nas:AccessRule\n name: example\n properties:\n priority: '1'\n accessGroupName: ${exampleAccessGroup.accessGroupName}\n fileSystemType: ${exampleFileSystem.fileSystemType}\n sourceCidrIp: 10.0.0.0/24\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n vpcId: ${example.id}\n securityGroupType: normal\n exampleMountTarget:\n type: alicloud:nas:MountTarget\n name: example\n properties:\n vpcId: ${example.id}\n networkType: Vpc\n accessGroupName: ${exampleAccessGroup.accessGroupName}\n vswitchId: ${exampleSwitch.id}\n fileSystemId: ${exampleFileSystem.id}\n default:\n type: alicloud:ehpc:ClusterV2\n properties:\n clusterCredentials:\n password: aliHPC123\n clusterVpcId: ${example.id}\n clusterCategory: Standard\n clusterMode: Integrated\n securityGroupId: ${exampleSecurityGroup.id}\n clusterName: minimal-example-cluster\n deletionProtection: true\n clientVersion: 2.0.47\n sharedStorages:\n - mountDirectory: /home\n nasDirectory: /\n mountTargetDomain: ${exampleMountTarget.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${exampleFileSystem.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n - mountDirectory: /opt\n nasDirectory: /\n mountTargetDomain: ${exampleMountTarget.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${exampleFileSystem.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n - mountDirectory: /ehpcdata\n nasDirectory: /\n mountTargetDomain: ${exampleMountTarget.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${exampleFileSystem.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n clusterVswitchId: ${exampleSwitch.id}\n manager:\n managerNode:\n systemDisk:\n category: cloud_essd\n size: '40'\n level: PL0\n enableHt: true\n instanceChargeType: PostPaid\n imageId: centos_7_6_x64_20G_alibase_20211130.vhd\n spotPriceLimit: 0\n instanceType: ecs.c6.xlarge\n spotStrategy: NoSpot\n scheduler:\n type: SLURM\n version: 22.05.8\n dns:\n type: nis\n version: '1.0'\n directoryService:\n type: nis\n version: '1.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEhpc Cluster V2 can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example \u003cid\u003e\n```\n\n", + "properties": { + "addons": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Addon:ClusterV2Addon" + }, + "description": "The cluster custom service component configuration. Only one component is supported. See \u003cspan pulumi-lang-nodejs=\"`addons`\" pulumi-lang-dotnet=\"`Addons`\" pulumi-lang-go=\"`addons`\" pulumi-lang-python=\"`addons`\" pulumi-lang-yaml=\"`addons`\" pulumi-lang-java=\"`addons`\"\u003e`addons`\u003c/span\u003e below.\n", + "secret": true + }, + "clientVersion": { + "type": "string", + "description": "Specifies whether to enable auto scale-out for the cluster. Valid values:\n\n- true\n- false\n" + }, + "clusterCategory": { + "type": "string", + "description": "The cluster type. Valid values:\n\n- Standard\n- Serverless\n" + }, + "clusterCredentials": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ClusterCredentials:ClusterV2ClusterCredentials", + "description": "Security credentials for the cluster. See \u003cspan pulumi-lang-nodejs=\"`clusterCredentials`\" pulumi-lang-dotnet=\"`ClusterCredentials`\" pulumi-lang-go=\"`clusterCredentials`\" pulumi-lang-python=\"`cluster_credentials`\" pulumi-lang-yaml=\"`clusterCredentials`\" pulumi-lang-java=\"`clusterCredentials`\"\u003e`cluster_credentials`\u003c/span\u003e below.\n", + "secret": true + }, + "clusterMode": { + "type": "string", + "description": "The deployment mode of the cluster. Valid values:\n\n- Integrated\n- Hybrid\n- Custom\n" + }, + "clusterName": { + "type": "string", + "description": "The post-processing script of the cluster.\n" + }, + "clusterVpcId": { + "type": "string", + "description": "The ID of the virtual private cloud (VPC) in which the cluster resides.\n" + }, + "clusterVswitchId": { + "type": "string", + "description": "The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter.\nYou can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches.\n" + }, + "createTime": { + "type": "string", + "description": "The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "The idle duration of the compute nodes allowed by the cluster.\n" + }, + "manager": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Manager:ClusterV2Manager", + "description": "The configurations of the cluster management node. See \u003cspan pulumi-lang-nodejs=\"`manager`\" pulumi-lang-dotnet=\"`Manager`\" pulumi-lang-go=\"`manager`\" pulumi-lang-python=\"`manager`\" pulumi-lang-yaml=\"`manager`\" pulumi-lang-java=\"`manager`\"\u003e`manager`\u003c/span\u003e below.\n" + }, + "resourceGroupId": { + "type": "string", + "description": "The ID of the resource group to which the cluster belongs.\nYou can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups.\n" + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n" + }, + "sharedStorages": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2SharedStorage:ClusterV2SharedStorage" + }, + "description": "List of cluster shared storage configurations. See \u003cspan pulumi-lang-nodejs=\"`sharedStorages`\" pulumi-lang-dotnet=\"`SharedStorages`\" pulumi-lang-go=\"`sharedStorages`\" pulumi-lang-python=\"`shared_storages`\" pulumi-lang-yaml=\"`sharedStorages`\" pulumi-lang-java=\"`sharedStorages`\"\u003e`shared_storages`\u003c/span\u003e below.\n" + } + }, + "required": [ + "clientVersion", + "clusterCredentials", + "createTime", + "resourceGroupId", + "sharedStorages" + ], + "inputProperties": { + "addons": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Addon:ClusterV2Addon" + }, + "description": "The cluster custom service component configuration. Only one component is supported. See \u003cspan pulumi-lang-nodejs=\"`addons`\" pulumi-lang-dotnet=\"`Addons`\" pulumi-lang-go=\"`addons`\" pulumi-lang-python=\"`addons`\" pulumi-lang-yaml=\"`addons`\" pulumi-lang-java=\"`addons`\"\u003e`addons`\u003c/span\u003e below.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "clientVersion": { + "type": "string", + "description": "Specifies whether to enable auto scale-out for the cluster. Valid values:\n\n- true\n- false\n" + }, + "clusterCategory": { + "type": "string", + "description": "The cluster type. Valid values:\n\n- Standard\n- Serverless\n", + "willReplaceOnChanges": true + }, + "clusterCredentials": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ClusterCredentials:ClusterV2ClusterCredentials", + "description": "Security credentials for the cluster. See \u003cspan pulumi-lang-nodejs=\"`clusterCredentials`\" pulumi-lang-dotnet=\"`ClusterCredentials`\" pulumi-lang-go=\"`clusterCredentials`\" pulumi-lang-python=\"`cluster_credentials`\" pulumi-lang-yaml=\"`clusterCredentials`\" pulumi-lang-java=\"`clusterCredentials`\"\u003e`cluster_credentials`\u003c/span\u003e below.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "clusterMode": { + "type": "string", + "description": "The deployment mode of the cluster. Valid values:\n\n- Integrated\n- Hybrid\n- Custom\n", + "willReplaceOnChanges": true + }, + "clusterName": { + "type": "string", + "description": "The post-processing script of the cluster.\n" + }, + "clusterVpcId": { + "type": "string", + "description": "The ID of the virtual private cloud (VPC) in which the cluster resides.\n", + "willReplaceOnChanges": true + }, + "clusterVswitchId": { + "type": "string", + "description": "The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter.\nYou can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches.\n", + "willReplaceOnChanges": true + }, + "deletionProtection": { + "type": "boolean", + "description": "The idle duration of the compute nodes allowed by the cluster.\n" + }, + "manager": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Manager:ClusterV2Manager", + "description": "The configurations of the cluster management node. See \u003cspan pulumi-lang-nodejs=\"`manager`\" pulumi-lang-dotnet=\"`Manager`\" pulumi-lang-go=\"`manager`\" pulumi-lang-python=\"`manager`\" pulumi-lang-yaml=\"`manager`\" pulumi-lang-java=\"`manager`\"\u003e`manager`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "resourceGroupId": { + "type": "string", + "description": "The ID of the resource group to which the cluster belongs.\nYou can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups.\n", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n", + "willReplaceOnChanges": true + }, + "sharedStorages": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2SharedStorage:ClusterV2SharedStorage" + }, + "description": "List of cluster shared storage configurations. See \u003cspan pulumi-lang-nodejs=\"`sharedStorages`\" pulumi-lang-dotnet=\"`SharedStorages`\" pulumi-lang-go=\"`sharedStorages`\" pulumi-lang-python=\"`shared_storages`\" pulumi-lang-yaml=\"`sharedStorages`\" pulumi-lang-java=\"`sharedStorages`\"\u003e`shared_storages`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "clusterCredentials", + "sharedStorages" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ClusterV2 resources.\n", + "properties": { + "addons": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Addon:ClusterV2Addon" + }, + "description": "The cluster custom service component configuration. Only one component is supported. See \u003cspan pulumi-lang-nodejs=\"`addons`\" pulumi-lang-dotnet=\"`Addons`\" pulumi-lang-go=\"`addons`\" pulumi-lang-python=\"`addons`\" pulumi-lang-yaml=\"`addons`\" pulumi-lang-java=\"`addons`\"\u003e`addons`\u003c/span\u003e below.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "clientVersion": { + "type": "string", + "description": "Specifies whether to enable auto scale-out for the cluster. Valid values:\n\n- true\n- false\n" + }, + "clusterCategory": { + "type": "string", + "description": "The cluster type. Valid values:\n\n- Standard\n- Serverless\n", + "willReplaceOnChanges": true + }, + "clusterCredentials": { + "$ref": "#/types/alicloud:ehpc/ClusterV2ClusterCredentials:ClusterV2ClusterCredentials", + "description": "Security credentials for the cluster. See \u003cspan pulumi-lang-nodejs=\"`clusterCredentials`\" pulumi-lang-dotnet=\"`ClusterCredentials`\" pulumi-lang-go=\"`clusterCredentials`\" pulumi-lang-python=\"`cluster_credentials`\" pulumi-lang-yaml=\"`clusterCredentials`\" pulumi-lang-java=\"`clusterCredentials`\"\u003e`cluster_credentials`\u003c/span\u003e below.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "clusterMode": { + "type": "string", + "description": "The deployment mode of the cluster. Valid values:\n\n- Integrated\n- Hybrid\n- Custom\n", + "willReplaceOnChanges": true + }, + "clusterName": { + "type": "string", + "description": "The post-processing script of the cluster.\n" + }, + "clusterVpcId": { + "type": "string", + "description": "The ID of the virtual private cloud (VPC) in which the cluster resides.\n", + "willReplaceOnChanges": true + }, + "clusterVswitchId": { + "type": "string", + "description": "The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter.\nYou can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches.\n", + "willReplaceOnChanges": true + }, + "createTime": { + "type": "string", + "description": "The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "The idle duration of the compute nodes allowed by the cluster.\n" + }, + "manager": { + "$ref": "#/types/alicloud:ehpc/ClusterV2Manager:ClusterV2Manager", + "description": "The configurations of the cluster management node. See \u003cspan pulumi-lang-nodejs=\"`manager`\" pulumi-lang-dotnet=\"`Manager`\" pulumi-lang-go=\"`manager`\" pulumi-lang-python=\"`manager`\" pulumi-lang-yaml=\"`manager`\" pulumi-lang-java=\"`manager`\"\u003e`manager`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "resourceGroupId": { + "type": "string", + "description": "The ID of the resource group to which the cluster belongs.\nYou can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups.\n", + "willReplaceOnChanges": true + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n", + "willReplaceOnChanges": true + }, + "sharedStorages": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/ClusterV2SharedStorage:ClusterV2SharedStorage" + }, + "description": "List of cluster shared storage configurations. See \u003cspan pulumi-lang-nodejs=\"`sharedStorages`\" pulumi-lang-dotnet=\"`SharedStorages`\" pulumi-lang-go=\"`sharedStorages`\" pulumi-lang-python=\"`shared_storages`\" pulumi-lang-yaml=\"`sharedStorages`\" pulumi-lang-java=\"`sharedStorages`\"\u003e`shared_storages`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:ehpc/jobTemplate:JobTemplate": { - "description": "Provides a Ehpc Job Template resource.\n\nFor information about Ehpc Job Template and how to use it, see [What is Job Template](https://www.alibabacloud.com/help/product/57664.html).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ehpc.JobTemplate(\"default\", {\n jobTemplateName: \"example_value\",\n commandLine: \"./LammpsTest/lammps.pbs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ehpc.JobTemplate(\"default\",\n job_template_name=\"example_value\",\n command_line=\"./LammpsTest/lammps.pbs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ehpc.JobTemplate(\"default\", new()\n {\n JobTemplateName = \"example_value\",\n CommandLine = \"./LammpsTest/lammps.pbs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ehpc.NewJobTemplate(ctx, \"default\", \u0026ehpc.JobTemplateArgs{\n\t\t\tJobTemplateName: pulumi.String(\"example_value\"),\n\t\t\tCommandLine: pulumi.String(\"./LammpsTest/lammps.pbs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ehpc.JobTemplate;\nimport com.pulumi.alicloud.ehpc.JobTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new JobTemplate(\"default\", JobTemplateArgs.builder()\n .jobTemplateName(\"example_value\")\n .commandLine(\"./LammpsTest/lammps.pbs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ehpc:JobTemplate\n properties:\n jobTemplateName: example_value\n commandLine: ./LammpsTest/lammps.pbs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEhpc Job Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/jobTemplate:JobTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Ehpc Job Template resource.\n\nFor information about Ehpc Job Template and how to use it, see [What is Job Template](https://www.alibabacloud.com/help/product/57664.html).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ehpc.JobTemplate(\"default\", {\n jobTemplateName: \"example_value\",\n commandLine: \"./LammpsTest/lammps.pbs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ehpc.JobTemplate(\"default\",\n job_template_name=\"example_value\",\n command_line=\"./LammpsTest/lammps.pbs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ehpc.JobTemplate(\"default\", new()\n {\n JobTemplateName = \"example_value\",\n CommandLine = \"./LammpsTest/lammps.pbs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ehpc.NewJobTemplate(ctx, \"default\", \u0026ehpc.JobTemplateArgs{\n\t\t\tJobTemplateName: pulumi.String(\"example_value\"),\n\t\t\tCommandLine: pulumi.String(\"./LammpsTest/lammps.pbs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ehpc.JobTemplate;\nimport com.pulumi.alicloud.ehpc.JobTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new JobTemplate(\"default\", JobTemplateArgs.builder()\n .jobTemplateName(\"example_value\")\n .commandLine(\"./LammpsTest/lammps.pbs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ehpc:JobTemplate\n properties:\n jobTemplateName: example_value\n commandLine: ./LammpsTest/lammps.pbs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEhpc Job Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/jobTemplate:JobTemplate example \u003cid\u003e\n```\n\n", "properties": { "arrayRequest": { "type": "string", @@ -169167,8 +172295,211 @@ "type": "object" } }, + "alicloud:ehpc/queue:Queue": { + "description": "Provides a Ehpc Queue resource.\n\nE-HPC the compute queue of the cluster.\n\nFor information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst queueMinimalExampleVpc = new alicloud.vpc.Network(\"queue_minimal_example_vpc\", {\n isDefault: false,\n cidrBlock: \"10.0.0.0/8\",\n vpcName: \"example-cluster-vpc\",\n});\nconst queueMinimalExampleVswitch = new alicloud.vpc.Switch(\"queue_minimal_example_vswitch\", {\n isDefault: false,\n vpcId: queueMinimalExampleVpc.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: \"example-cluster-vsw\",\n});\nconst queueMinimalExampleNas = new alicloud.nas.FileSystem(\"queue_minimal_example_nas\", {\n description: \"example-cluster-nas\",\n storageType: \"Capacity\",\n nfsAcl: {\n enabled: false,\n },\n zoneId: \"cn-hangzhou-k\",\n encryptType: 0,\n protocolType: \"NFS\",\n fileSystemType: \"standard\",\n});\nconst queueMinimalExampleAccessGroup = new alicloud.nas.AccessGroup(\"queue_minimal_example_access_group\", {\n accessGroupType: \"Vpc\",\n description: name,\n accessGroupName: \"StandardMountTarget\",\n fileSystemType: \"standard\",\n});\nconst queueMinimalExampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"queue_minimal_example_security_group\", {\n vpcId: queueMinimalExampleVpc.id,\n securityGroupType: \"normal\",\n});\nconst queueMinimalExampleMountDomain = new alicloud.nas.MountTarget(\"queue_minimal_example_mount_domain\", {\n vpcId: queueMinimalExampleVpc.id,\n networkType: \"Vpc\",\n accessGroupName: queueMinimalExampleAccessGroup.accessGroupName,\n vswitchId: queueMinimalExampleVswitch.id,\n fileSystemId: queueMinimalExampleNas.id,\n});\nconst queueMinimalExampleAccessRule = new alicloud.nas.AccessRule(\"queue_minimal_example_access_rule\", {\n priority: 1,\n accessGroupName: queueMinimalExampleAccessGroup.accessGroupName,\n fileSystemType: queueMinimalExampleNas.fileSystemType,\n sourceCidrIp: \"10.0.0.0/8\",\n});\nconst queueMinimalClusterExample = new alicloud.ehpc.ClusterV2(\"queue_minimal_cluster_example\", {\n clusterCredentials: {\n password: \"aliHPC123\",\n },\n clusterVpcId: queueMinimalExampleVpc.id,\n clusterCategory: \"Standard\",\n clusterMode: \"Integrated\",\n securityGroupId: queueMinimalExampleSecurityGroup.id,\n addons: [{\n version: \"1.0\",\n servicesSpec: `[\n {\n \\\\\"ServiceName\\\\\": \\\\\"SSH\\\\\",\n \\\\\"NetworkACL\\\\\": [\n {\n \\\\\"Port\\\\\": 22,\n \\\\\"SourceCidrIp\\\\\": \\\\\"0.0.0.0/0\\\\\",\n \\\\\"IpProtocol\\\\\": \\\\\"TCP\\\\\"\n }\n ]\n },\n {\n \\\\\"ServiceName\\\\\": \\\\\"VNC\\\\\",\n \\\\\"NetworkACL\\\\\": [\n {\n \\\\\"Port\\\\\": 12016,\n \\\\\"SourceCidrIp\\\\\": \\\\\"0.0.0.0/0\\\\\",\n \\\\\"IpProtocol\\\\\": \\\\\"TCP\\\\\"\n }\n ]\n },\n {\n \\\\\"ServiceName\\\\\": \\\\\"CLIENT\\\\\",\n \\\\\"ServiceAccessType\\\\\": \\\\\"URL\\\\\",\n \\\\\"ServiceAccessUrl\\\\\": \\\\\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\\\",\n \\\\\"NetworkACL\\\\\": [\n {\n \\\\\"Port\\\\\": 12011,\n \\\\\"SourceCidrIp\\\\\": \\\\\"0.0.0.0/0\\\\\",\n \\\\\"IpProtocol\\\\\": \\\\\"TCP\\\\\"\n }\n ]\n }\n ]\n`,\n resourcesSpec: `{\n \\\\\"EipResource\\\\\": {\n \\\\\"AutoCreate\\\\\": true\n },\n \\\\\"EcsResources\\\\\": [\n {\n \\\\\"ImageId\\\\\": \\\\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\\\",\n \\\\\"EnableHT\\\\\": true,\n \\\\\"InstanceChargeType\\\\\": \\\\\"PostPaid\\\\\",\n \\\\\"InstanceType\\\\\": \\\\\"ecs.c7.xlarge\\\\\",\n \\\\\"SpotStrategy\\\\\": \\\\\"NoSpot\\\\\",\n \\\\\"SystemDisk\\\\\": {\n \\\\\"Category\\\\\": \\\\\"cloud_essd\\\\\",\n \\\\\"Size\\\\\": 40,\n \\\\\"Level\\\\\": \\\\\"PL0\\\\\"\n },\n \\\\\"DataDisks\\\\\": [\n {\n \\\\\"Category\\\\\": \\\\\"cloud_essd\\\\\",\n \\\\\"Size\\\\\": 40,\n \\\\\"Level\\\\\": \\\\\"PL0\\\\\"\n }\n ]\n }\n ]\n }\n`,\n name: \"Login\",\n }],\n clusterName: \"minimal-example-cluster\",\n deletionProtection: false,\n sharedStorages: [\n {\n mountDirectory: \"/home\",\n nasDirectory: \"/\",\n mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: queueMinimalExampleNas.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n mountDirectory: \"/opt\",\n nasDirectory: \"/\",\n mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: queueMinimalExampleNas.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n mountDirectory: \"/ehpcdata\",\n nasDirectory: \"/\",\n mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,\n protocolType: \"NFS\",\n fileSystemId: queueMinimalExampleNas.id,\n mountOptions: \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n ],\n clusterVswitchId: queueMinimalExampleVswitch.id,\n manager: {\n managerNode: {\n systemDisk: {\n category: \"cloud_essd\",\n size: 40,\n level: \"PL0\",\n },\n enableHt: true,\n instanceChargeType: \"PostPaid\",\n imageId: \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n instanceType: \"ecs.c6.xlarge\",\n spotStrategy: \"NoSpot\",\n },\n scheduler: {\n type: \"SLURM\",\n version: \"22.05.8\",\n },\n dns: {\n type: \"nis\",\n version: \"1.0\",\n },\n directoryService: {\n type: \"nis\",\n version: \"1.0\",\n },\n },\n}, {\n dependsOn: [queueMinimalExampleAccessRule],\n});\nconst _default = new alicloud.ehpc.Queue(\"default\", {\n clusterId: queueMinimalClusterExample.id,\n queueName: \"autoque1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nqueue_minimal_example_vpc = alicloud.vpc.Network(\"queue_minimal_example_vpc\",\n is_default=False,\n cidr_block=\"10.0.0.0/8\",\n vpc_name=\"example-cluster-vpc\")\nqueue_minimal_example_vswitch = alicloud.vpc.Switch(\"queue_minimal_example_vswitch\",\n is_default=False,\n vpc_id=queue_minimal_example_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=\"example-cluster-vsw\")\nqueue_minimal_example_nas = alicloud.nas.FileSystem(\"queue_minimal_example_nas\",\n description=\"example-cluster-nas\",\n storage_type=\"Capacity\",\n nfs_acl={\n \"enabled\": False,\n },\n zone_id=\"cn-hangzhou-k\",\n encrypt_type=0,\n protocol_type=\"NFS\",\n file_system_type=\"standard\")\nqueue_minimal_example_access_group = alicloud.nas.AccessGroup(\"queue_minimal_example_access_group\",\n access_group_type=\"Vpc\",\n description=name,\n access_group_name=\"StandardMountTarget\",\n file_system_type=\"standard\")\nqueue_minimal_example_security_group = alicloud.ecs.SecurityGroup(\"queue_minimal_example_security_group\",\n vpc_id=queue_minimal_example_vpc.id,\n security_group_type=\"normal\")\nqueue_minimal_example_mount_domain = alicloud.nas.MountTarget(\"queue_minimal_example_mount_domain\",\n vpc_id=queue_minimal_example_vpc.id,\n network_type=\"Vpc\",\n access_group_name=queue_minimal_example_access_group.access_group_name,\n vswitch_id=queue_minimal_example_vswitch.id,\n file_system_id=queue_minimal_example_nas.id)\nqueue_minimal_example_access_rule = alicloud.nas.AccessRule(\"queue_minimal_example_access_rule\",\n priority=1,\n access_group_name=queue_minimal_example_access_group.access_group_name,\n file_system_type=queue_minimal_example_nas.file_system_type,\n source_cidr_ip=\"10.0.0.0/8\")\nqueue_minimal_cluster_example = alicloud.ehpc.ClusterV2(\"queue_minimal_cluster_example\",\n cluster_credentials={\n \"password\": \"aliHPC123\",\n },\n cluster_vpc_id=queue_minimal_example_vpc.id,\n cluster_category=\"Standard\",\n cluster_mode=\"Integrated\",\n security_group_id=queue_minimal_example_security_group.id,\n addons=[{\n \"version\": \"1.0\",\n \"services_spec\": \"\"\"[\n {\n \\\"ServiceName\\\": \\\"SSH\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 22,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"VNC\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12016,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"CLIENT\\\",\n \\\"ServiceAccessType\\\": \\\"URL\\\",\n \\\"ServiceAccessUrl\\\": \\\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12011,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n }\n ]\n\"\"\",\n \"resources_spec\": \"\"\"{\n \\\"EipResource\\\": {\n \\\"AutoCreate\\\": true\n },\n \\\"EcsResources\\\": [\n {\n \\\"ImageId\\\": \\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\",\n \\\"EnableHT\\\": true,\n \\\"InstanceChargeType\\\": \\\"PostPaid\\\",\n \\\"InstanceType\\\": \\\"ecs.c7.xlarge\\\",\n \\\"SpotStrategy\\\": \\\"NoSpot\\\",\n \\\"SystemDisk\\\": {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n },\n \\\"DataDisks\\\": [\n {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n }\n ]\n }\n ]\n }\n\"\"\",\n \"name\": \"Login\",\n }],\n cluster_name=\"minimal-example-cluster\",\n deletion_protection=False,\n shared_storages=[\n {\n \"mount_directory\": \"/home\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": queue_minimal_example_mount_domain.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": queue_minimal_example_nas.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n \"mount_directory\": \"/opt\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": queue_minimal_example_mount_domain.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": queue_minimal_example_nas.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n {\n \"mount_directory\": \"/ehpcdata\",\n \"nas_directory\": \"/\",\n \"mount_target_domain\": queue_minimal_example_mount_domain.mount_target_domain,\n \"protocol_type\": \"NFS\",\n \"file_system_id\": queue_minimal_example_nas.id,\n \"mount_options\": \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n ],\n cluster_vswitch_id=queue_minimal_example_vswitch.id,\n manager={\n \"manager_node\": {\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 40,\n \"level\": \"PL0\",\n },\n \"enable_ht\": True,\n \"instance_charge_type\": \"PostPaid\",\n \"image_id\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n \"instance_type\": \"ecs.c6.xlarge\",\n \"spot_strategy\": \"NoSpot\",\n },\n \"scheduler\": {\n \"type\": \"SLURM\",\n \"version\": \"22.05.8\",\n },\n \"dns\": {\n \"type\": \"nis\",\n \"version\": \"1.0\",\n },\n \"directory_service\": {\n \"type\": \"nis\",\n \"version\": \"1.0\",\n },\n },\n opts = pulumi.ResourceOptions(depends_on=[queue_minimal_example_access_rule]))\ndefault = alicloud.ehpc.Queue(\"default\",\n cluster_id=queue_minimal_cluster_example.id,\n queue_name=\"autoque1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var queueMinimalExampleVpc = new AliCloud.Vpc.Network(\"queue_minimal_example_vpc\", new()\n {\n IsDefault = false,\n CidrBlock = \"10.0.0.0/8\",\n VpcName = \"example-cluster-vpc\",\n });\n\n var queueMinimalExampleVswitch = new AliCloud.Vpc.Switch(\"queue_minimal_example_vswitch\", new()\n {\n IsDefault = false,\n VpcId = queueMinimalExampleVpc.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = \"example-cluster-vsw\",\n });\n\n var queueMinimalExampleNas = new AliCloud.Nas.FileSystem(\"queue_minimal_example_nas\", new()\n {\n Description = \"example-cluster-nas\",\n StorageType = \"Capacity\",\n NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs\n {\n Enabled = false,\n },\n ZoneId = \"cn-hangzhou-k\",\n EncryptType = 0,\n ProtocolType = \"NFS\",\n FileSystemType = \"standard\",\n });\n\n var queueMinimalExampleAccessGroup = new AliCloud.Nas.AccessGroup(\"queue_minimal_example_access_group\", new()\n {\n AccessGroupType = \"Vpc\",\n Description = name,\n AccessGroupName = \"StandardMountTarget\",\n FileSystemType = \"standard\",\n });\n\n var queueMinimalExampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"queue_minimal_example_security_group\", new()\n {\n VpcId = queueMinimalExampleVpc.Id,\n SecurityGroupType = \"normal\",\n });\n\n var queueMinimalExampleMountDomain = new AliCloud.Nas.MountTarget(\"queue_minimal_example_mount_domain\", new()\n {\n VpcId = queueMinimalExampleVpc.Id,\n NetworkType = \"Vpc\",\n AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName,\n VswitchId = queueMinimalExampleVswitch.Id,\n FileSystemId = queueMinimalExampleNas.Id,\n });\n\n var queueMinimalExampleAccessRule = new AliCloud.Nas.AccessRule(\"queue_minimal_example_access_rule\", new()\n {\n Priority = 1,\n AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName,\n FileSystemType = queueMinimalExampleNas.FileSystemType,\n SourceCidrIp = \"10.0.0.0/8\",\n });\n\n var queueMinimalClusterExample = new AliCloud.Ehpc.ClusterV2(\"queue_minimal_cluster_example\", new()\n {\n ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs\n {\n Password = \"aliHPC123\",\n },\n ClusterVpcId = queueMinimalExampleVpc.Id,\n ClusterCategory = \"Standard\",\n ClusterMode = \"Integrated\",\n SecurityGroupId = queueMinimalExampleSecurityGroup.Id,\n Addons = new[]\n {\n new AliCloud.Ehpc.Inputs.ClusterV2AddonArgs\n {\n Version = \"1.0\",\n ServicesSpec = @\"[\n {\n \\\"\"ServiceName\\\"\": \\\"\"SSH\\\"\",\n \\\"\"NetworkACL\\\"\": [\n {\n \\\"\"Port\\\"\": 22,\n \\\"\"SourceCidrIp\\\"\": \\\"\"0.0.0.0/0\\\"\",\n \\\"\"IpProtocol\\\"\": \\\"\"TCP\\\"\"\n }\n ]\n },\n {\n \\\"\"ServiceName\\\"\": \\\"\"VNC\\\"\",\n \\\"\"NetworkACL\\\"\": [\n {\n \\\"\"Port\\\"\": 12016,\n \\\"\"SourceCidrIp\\\"\": \\\"\"0.0.0.0/0\\\"\",\n \\\"\"IpProtocol\\\"\": \\\"\"TCP\\\"\"\n }\n ]\n },\n {\n \\\"\"ServiceName\\\"\": \\\"\"CLIENT\\\"\",\n \\\"\"ServiceAccessType\\\"\": \\\"\"URL\\\"\",\n \\\"\"ServiceAccessUrl\\\"\": \\\"\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\"\",\n \\\"\"NetworkACL\\\"\": [\n {\n \\\"\"Port\\\"\": 12011,\n \\\"\"SourceCidrIp\\\"\": \\\"\"0.0.0.0/0\\\"\",\n \\\"\"IpProtocol\\\"\": \\\"\"TCP\\\"\"\n }\n ]\n }\n ]\n\",\n ResourcesSpec = @\"{\n \\\"\"EipResource\\\"\": {\n \\\"\"AutoCreate\\\"\": true\n },\n \\\"\"EcsResources\\\"\": [\n {\n \\\"\"ImageId\\\"\": \\\"\"centos_7_6_x64_20G_alibase_20211130.vhd\\\"\",\n \\\"\"EnableHT\\\"\": true,\n \\\"\"InstanceChargeType\\\"\": \\\"\"PostPaid\\\"\",\n \\\"\"InstanceType\\\"\": \\\"\"ecs.c7.xlarge\\\"\",\n \\\"\"SpotStrategy\\\"\": \\\"\"NoSpot\\\"\",\n \\\"\"SystemDisk\\\"\": {\n \\\"\"Category\\\"\": \\\"\"cloud_essd\\\"\",\n \\\"\"Size\\\"\": 40,\n \\\"\"Level\\\"\": \\\"\"PL0\\\"\"\n },\n \\\"\"DataDisks\\\"\": [\n {\n \\\"\"Category\\\"\": \\\"\"cloud_essd\\\"\",\n \\\"\"Size\\\"\": 40,\n \\\"\"Level\\\"\": \\\"\"PL0\\\"\"\n }\n ]\n }\n ]\n }\n\",\n Name = \"Login\",\n },\n },\n ClusterName = \"minimal-example-cluster\",\n DeletionProtection = false,\n SharedStorages = new[]\n {\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/home\",\n NasDirectory = \"/\",\n MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = queueMinimalExampleNas.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/opt\",\n NasDirectory = \"/\",\n MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = queueMinimalExampleNas.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs\n {\n MountDirectory = \"/ehpcdata\",\n NasDirectory = \"/\",\n MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,\n ProtocolType = \"NFS\",\n FileSystemId = queueMinimalExampleNas.Id,\n MountOptions = \"-t nfs -o vers=3,nolock,proto=tcp,noresvport\",\n },\n },\n ClusterVswitchId = queueMinimalExampleVswitch.Id,\n Manager = new AliCloud.Ehpc.Inputs.ClusterV2ManagerArgs\n {\n ManagerNode = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeArgs\n {\n SystemDisk = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 40,\n Level = \"PL0\",\n },\n EnableHt = true,\n InstanceChargeType = \"PostPaid\",\n ImageId = \"centos_7_6_x64_20G_alibase_20211130.vhd\",\n InstanceType = \"ecs.c6.xlarge\",\n SpotStrategy = \"NoSpot\",\n },\n Scheduler = new AliCloud.Ehpc.Inputs.ClusterV2ManagerSchedulerArgs\n {\n Type = \"SLURM\",\n Version = \"22.05.8\",\n },\n Dns = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDnsArgs\n {\n Type = \"nis\",\n Version = \"1.0\",\n },\n DirectoryService = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDirectoryServiceArgs\n {\n Type = \"nis\",\n Version = \"1.0\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n queueMinimalExampleAccessRule,\n },\n });\n\n var @default = new AliCloud.Ehpc.Queue(\"default\", new()\n {\n ClusterId = queueMinimalClusterExample.Id,\n QueueName = \"autoque1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tqueueMinimalExampleVpc, err := vpc.NewNetwork(ctx, \"queue_minimal_example_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(\"example-cluster-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleVswitch, err := vpc.NewSwitch(ctx, \"queue_minimal_example_vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: queueMinimalExampleVpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"example-cluster-vsw\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleNas, err := nas.NewFileSystem(ctx, \"queue_minimal_example_nas\", \u0026nas.FileSystemArgs{\n\t\t\tDescription: pulumi.String(\"example-cluster-nas\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tNfsAcl: \u0026nas.FileSystemNfsAclArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleAccessGroup, err := nas.NewAccessGroup(ctx, \"queue_minimal_example_access_group\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessGroupName: pulumi.String(\"StandardMountTarget\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"queue_minimal_example_security_group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: queueMinimalExampleVpc.ID(),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleMountDomain, err := nas.NewMountTarget(ctx, \"queue_minimal_example_mount_domain\", \u0026nas.MountTargetArgs{\n\t\t\tVpcId: queueMinimalExampleVpc.ID(),\n\t\t\tNetworkType: pulumi.String(\"Vpc\"),\n\t\t\tAccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName,\n\t\t\tVswitchId: queueMinimalExampleVswitch.ID(),\n\t\t\tFileSystemId: queueMinimalExampleNas.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalExampleAccessRule, err := nas.NewAccessRule(ctx, \"queue_minimal_example_access_rule\", \u0026nas.AccessRuleArgs{\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tAccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName,\n\t\t\tFileSystemType: queueMinimalExampleNas.FileSystemType,\n\t\t\tSourceCidrIp: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueueMinimalClusterExample, err := ehpc.NewClusterV2(ctx, \"queue_minimal_cluster_example\", \u0026ehpc.ClusterV2Args{\n\t\t\tClusterCredentials: \u0026ehpc.ClusterV2ClusterCredentialsArgs{\n\t\t\t\tPassword: pulumi.String(\"aliHPC123\"),\n\t\t\t},\n\t\t\tClusterVpcId: queueMinimalExampleVpc.ID(),\n\t\t\tClusterCategory: pulumi.String(\"Standard\"),\n\t\t\tClusterMode: pulumi.String(\"Integrated\"),\n\t\t\tSecurityGroupId: queueMinimalExampleSecurityGroup.ID(),\n\t\t\tAddons: ehpc.ClusterV2AddonArray{\n\t\t\t\t\u0026ehpc.ClusterV2AddonArgs{\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tServicesSpec: pulumi.String(`[\n {\n \\\"ServiceName\\\": \\\"SSH\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 22,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"VNC\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12016,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"CLIENT\\\",\n \\\"ServiceAccessType\\\": \\\"URL\\\",\n \\\"ServiceAccessUrl\\\": \\\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12011,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n }\n ]\n`),\n\t\t\t\t\tResourcesSpec: pulumi.String(`{\n \\\"EipResource\\\": {\n \\\"AutoCreate\\\": true\n },\n \\\"EcsResources\\\": [\n {\n \\\"ImageId\\\": \\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\",\n \\\"EnableHT\\\": true,\n \\\"InstanceChargeType\\\": \\\"PostPaid\\\",\n \\\"InstanceType\\\": \\\"ecs.c7.xlarge\\\",\n \\\"SpotStrategy\\\": \\\"NoSpot\\\",\n \\\"SystemDisk\\\": {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n },\n \\\"DataDisks\\\": [\n {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n }\n ]\n }\n ]\n }\n`),\n\t\t\t\t\tName: pulumi.String(\"Login\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterName: pulumi.String(\"minimal-example-cluster\"),\n\t\t\tDeletionProtection: pulumi.Bool(false),\n\t\t\tSharedStorages: ehpc.ClusterV2SharedStorageArray{\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/home\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: queueMinimalExampleNas.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/opt\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: queueMinimalExampleNas.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t\t\u0026ehpc.ClusterV2SharedStorageArgs{\n\t\t\t\t\tMountDirectory: pulumi.String(\"/ehpcdata\"),\n\t\t\t\t\tNasDirectory: pulumi.String(\"/\"),\n\t\t\t\t\tMountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,\n\t\t\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\t\t\tFileSystemId: queueMinimalExampleNas.ID(),\n\t\t\t\t\tMountOptions: pulumi.String(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterVswitchId: queueMinimalExampleVswitch.ID(),\n\t\t\tManager: \u0026ehpc.ClusterV2ManagerArgs{\n\t\t\t\tManagerNode: \u0026ehpc.ClusterV2ManagerManagerNodeArgs{\n\t\t\t\t\tSystemDisk: \u0026ehpc.ClusterV2ManagerManagerNodeSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(40),\n\t\t\t\t\t\tLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnableHt: pulumi.Bool(true),\n\t\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\t\tImageId: pulumi.String(\"centos_7_6_x64_20G_alibase_20211130.vhd\"),\n\t\t\t\t\tInstanceType: pulumi.String(\"ecs.c6.xlarge\"),\n\t\t\t\t\tSpotStrategy: pulumi.String(\"NoSpot\"),\n\t\t\t\t},\n\t\t\t\tScheduler: \u0026ehpc.ClusterV2ManagerSchedulerArgs{\n\t\t\t\t\tType: pulumi.String(\"SLURM\"),\n\t\t\t\t\tVersion: pulumi.String(\"22.05.8\"),\n\t\t\t\t},\n\t\t\t\tDns: \u0026ehpc.ClusterV2ManagerDnsArgs{\n\t\t\t\t\tType: pulumi.String(\"nis\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t\tDirectoryService: \u0026ehpc.ClusterV2ManagerDirectoryServiceArgs{\n\t\t\t\t\tType: pulumi.String(\"nis\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tqueueMinimalExampleAccessRule,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ehpc.NewQueue(ctx, \"default\", \u0026ehpc.QueueArgs{\n\t\t\tClusterId: queueMinimalClusterExample.ID(),\n\t\t\tQueueName: pulumi.String(\"autoque1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.alicloud.nas.AccessRule;\nimport com.pulumi.alicloud.nas.AccessRuleArgs;\nimport com.pulumi.alicloud.ehpc.ClusterV2;\nimport com.pulumi.alicloud.ehpc.ClusterV2Args;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2AddonArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs;\nimport com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs;\nimport com.pulumi.alicloud.ehpc.Queue;\nimport com.pulumi.alicloud.ehpc.QueueArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var queueMinimalExampleVpc = new Network(\"queueMinimalExampleVpc\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(\"example-cluster-vpc\")\n .build());\n\n var queueMinimalExampleVswitch = new Switch(\"queueMinimalExampleVswitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(queueMinimalExampleVpc.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(\"example-cluster-vsw\")\n .build());\n\n var queueMinimalExampleNas = new FileSystem(\"queueMinimalExampleNas\", FileSystemArgs.builder()\n .description(\"example-cluster-nas\")\n .storageType(\"Capacity\")\n .nfsAcl(FileSystemNfsAclArgs.builder()\n .enabled(false)\n .build())\n .zoneId(\"cn-hangzhou-k\")\n .encryptType(0)\n .protocolType(\"NFS\")\n .fileSystemType(\"standard\")\n .build());\n\n var queueMinimalExampleAccessGroup = new AccessGroup(\"queueMinimalExampleAccessGroup\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .description(name)\n .accessGroupName(\"StandardMountTarget\")\n .fileSystemType(\"standard\")\n .build());\n\n var queueMinimalExampleSecurityGroup = new SecurityGroup(\"queueMinimalExampleSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(queueMinimalExampleVpc.id())\n .securityGroupType(\"normal\")\n .build());\n\n var queueMinimalExampleMountDomain = new MountTarget(\"queueMinimalExampleMountDomain\", MountTargetArgs.builder()\n .vpcId(queueMinimalExampleVpc.id())\n .networkType(\"Vpc\")\n .accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())\n .vswitchId(queueMinimalExampleVswitch.id())\n .fileSystemId(queueMinimalExampleNas.id())\n .build());\n\n var queueMinimalExampleAccessRule = new AccessRule(\"queueMinimalExampleAccessRule\", AccessRuleArgs.builder()\n .priority(1)\n .accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())\n .fileSystemType(queueMinimalExampleNas.fileSystemType())\n .sourceCidrIp(\"10.0.0.0/8\")\n .build());\n\n var queueMinimalClusterExample = new ClusterV2(\"queueMinimalClusterExample\", ClusterV2Args.builder()\n .clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()\n .password(\"aliHPC123\")\n .build())\n .clusterVpcId(queueMinimalExampleVpc.id())\n .clusterCategory(\"Standard\")\n .clusterMode(\"Integrated\")\n .securityGroupId(queueMinimalExampleSecurityGroup.id())\n .addons(ClusterV2AddonArgs.builder()\n .version(\"1.0\")\n .servicesSpec(\"\"\"\n[\n {\n \\\"ServiceName\\\": \\\"SSH\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 22,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"VNC\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12016,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"CLIENT\\\",\n \\\"ServiceAccessType\\\": \\\"URL\\\",\n \\\"ServiceAccessUrl\\\": \\\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12011,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n }\n ]\n \"\"\")\n .resourcesSpec(\"\"\"\n{\n \\\"EipResource\\\": {\n \\\"AutoCreate\\\": true\n },\n \\\"EcsResources\\\": [\n {\n \\\"ImageId\\\": \\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\",\n \\\"EnableHT\\\": true,\n \\\"InstanceChargeType\\\": \\\"PostPaid\\\",\n \\\"InstanceType\\\": \\\"ecs.c7.xlarge\\\",\n \\\"SpotStrategy\\\": \\\"NoSpot\\\",\n \\\"SystemDisk\\\": {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n },\n \\\"DataDisks\\\": [\n {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n }\n ]\n }\n ]\n }\n \"\"\")\n .name(\"Login\")\n .build())\n .clusterName(\"minimal-example-cluster\")\n .deletionProtection(false)\n .sharedStorages( \n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/home\")\n .nasDirectory(\"/\")\n .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(queueMinimalExampleNas.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build(),\n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/opt\")\n .nasDirectory(\"/\")\n .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(queueMinimalExampleNas.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build(),\n ClusterV2SharedStorageArgs.builder()\n .mountDirectory(\"/ehpcdata\")\n .nasDirectory(\"/\")\n .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())\n .protocolType(\"NFS\")\n .fileSystemId(queueMinimalExampleNas.id())\n .mountOptions(\"-t nfs -o vers=3,nolock,proto=tcp,noresvport\")\n .build())\n .clusterVswitchId(queueMinimalExampleVswitch.id())\n .manager(ClusterV2ManagerArgs.builder()\n .managerNode(ClusterV2ManagerManagerNodeArgs.builder()\n .systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(40)\n .level(\"PL0\")\n .build())\n .enableHt(true)\n .instanceChargeType(\"PostPaid\")\n .imageId(\"centos_7_6_x64_20G_alibase_20211130.vhd\")\n .instanceType(\"ecs.c6.xlarge\")\n .spotStrategy(\"NoSpot\")\n .build())\n .scheduler(ClusterV2ManagerSchedulerArgs.builder()\n .type(\"SLURM\")\n .version(\"22.05.8\")\n .build())\n .dns(ClusterV2ManagerDnsArgs.builder()\n .type(\"nis\")\n .version(\"1.0\")\n .build())\n .directoryService(ClusterV2ManagerDirectoryServiceArgs.builder()\n .type(\"nis\")\n .version(\"1.0\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(queueMinimalExampleAccessRule)\n .build());\n\n var default_ = new Queue(\"default\", QueueArgs.builder()\n .clusterId(queueMinimalClusterExample.id())\n .queueName(\"autoque1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n queueMinimalExampleVpc:\n type: alicloud:vpc:Network\n name: queue_minimal_example_vpc\n properties:\n isDefault: false\n cidrBlock: 10.0.0.0/8\n vpcName: example-cluster-vpc\n queueMinimalExampleVswitch:\n type: alicloud:vpc:Switch\n name: queue_minimal_example_vswitch\n properties:\n isDefault: false\n vpcId: ${queueMinimalExampleVpc.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 10.0.0.0/24\n vswitchName: example-cluster-vsw\n queueMinimalExampleNas:\n type: alicloud:nas:FileSystem\n name: queue_minimal_example_nas\n properties:\n description: example-cluster-nas\n storageType: Capacity\n nfsAcl:\n enabled: false\n zoneId: cn-hangzhou-k\n encryptType: '0'\n protocolType: NFS\n fileSystemType: standard\n queueMinimalExampleAccessGroup:\n type: alicloud:nas:AccessGroup\n name: queue_minimal_example_access_group\n properties:\n accessGroupType: Vpc\n description: ${name}\n accessGroupName: StandardMountTarget\n fileSystemType: standard\n queueMinimalExampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: queue_minimal_example_security_group\n properties:\n vpcId: ${queueMinimalExampleVpc.id}\n securityGroupType: normal\n queueMinimalExampleMountDomain:\n type: alicloud:nas:MountTarget\n name: queue_minimal_example_mount_domain\n properties:\n vpcId: ${queueMinimalExampleVpc.id}\n networkType: Vpc\n accessGroupName: ${queueMinimalExampleAccessGroup.accessGroupName}\n vswitchId: ${queueMinimalExampleVswitch.id}\n fileSystemId: ${queueMinimalExampleNas.id}\n queueMinimalExampleAccessRule:\n type: alicloud:nas:AccessRule\n name: queue_minimal_example_access_rule\n properties:\n priority: '1'\n accessGroupName: ${queueMinimalExampleAccessGroup.accessGroupName}\n fileSystemType: ${queueMinimalExampleNas.fileSystemType}\n sourceCidrIp: 10.0.0.0/8\n queueMinimalClusterExample:\n type: alicloud:ehpc:ClusterV2\n name: queue_minimal_cluster_example\n properties:\n clusterCredentials:\n password: aliHPC123\n clusterVpcId: ${queueMinimalExampleVpc.id}\n clusterCategory: Standard\n clusterMode: Integrated\n securityGroupId: ${queueMinimalExampleSecurityGroup.id}\n addons:\n - version: '1.0'\n servicesSpec: |\n [\n {\n \\\"ServiceName\\\": \\\"SSH\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 22,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"VNC\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12016,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n },\n {\n \\\"ServiceName\\\": \\\"CLIENT\\\",\n \\\"ServiceAccessType\\\": \\\"URL\\\",\n \\\"ServiceAccessUrl\\\": \\\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\\",\n \\\"NetworkACL\\\": [\n {\n \\\"Port\\\": 12011,\n \\\"SourceCidrIp\\\": \\\"0.0.0.0/0\\\",\n \\\"IpProtocol\\\": \\\"TCP\\\"\n }\n ]\n }\n ]\n resourcesSpec: |\n {\n \\\"EipResource\\\": {\n \\\"AutoCreate\\\": true\n },\n \\\"EcsResources\\\": [\n {\n \\\"ImageId\\\": \\\"centos_7_6_x64_20G_alibase_20211130.vhd\\\",\n \\\"EnableHT\\\": true,\n \\\"InstanceChargeType\\\": \\\"PostPaid\\\",\n \\\"InstanceType\\\": \\\"ecs.c7.xlarge\\\",\n \\\"SpotStrategy\\\": \\\"NoSpot\\\",\n \\\"SystemDisk\\\": {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n },\n \\\"DataDisks\\\": [\n {\n \\\"Category\\\": \\\"cloud_essd\\\",\n \\\"Size\\\": 40,\n \\\"Level\\\": \\\"PL0\\\"\n }\n ]\n }\n ]\n }\n name: Login\n clusterName: minimal-example-cluster\n deletionProtection: false\n sharedStorages:\n - mountDirectory: /home\n nasDirectory: /\n mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${queueMinimalExampleNas.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n - mountDirectory: /opt\n nasDirectory: /\n mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${queueMinimalExampleNas.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n - mountDirectory: /ehpcdata\n nasDirectory: /\n mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}\n protocolType: NFS\n fileSystemId: ${queueMinimalExampleNas.id}\n mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport\n clusterVswitchId: ${queueMinimalExampleVswitch.id}\n manager:\n managerNode:\n systemDisk:\n category: cloud_essd\n size: '40'\n level: PL0\n enableHt: true\n instanceChargeType: PostPaid\n imageId: centos_7_6_x64_20G_alibase_20211130.vhd\n instanceType: ecs.c6.xlarge\n spotStrategy: NoSpot\n scheduler:\n type: SLURM\n version: 22.05.8\n dns:\n type: nis\n version: '1.0'\n directoryService:\n type: nis\n version: '1.0'\n options:\n dependsOn:\n - ${queueMinimalExampleAccessRule}\n default:\n type: alicloud:ehpc:Queue\n properties:\n clusterId: ${queueMinimalClusterExample.id}\n queueName: autoque1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEhpc Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ehpc/queue:Queue example \u003ccluster_id\u003e:\u003cqueue_name\u003e\n```\n\n", + "properties": { + "clusterId": { + "type": "string", + "description": "The cluster ID.\nYou can call the ListClusters operation to query the cluster ID.\n" + }, + "computeNodes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/QueueComputeNode:QueueComputeNode" + }, + "description": "The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See \u003cspan pulumi-lang-nodejs=\"`computeNodes`\" pulumi-lang-dotnet=\"`ComputeNodes`\" pulumi-lang-go=\"`computeNodes`\" pulumi-lang-python=\"`compute_nodes`\" pulumi-lang-yaml=\"`computeNodes`\" pulumi-lang-java=\"`computeNodes`\"\u003e`compute_nodes`\u003c/span\u003e below.\n" + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "enableScaleIn": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-in for the queue. Valid values:\n\n- true\n- false\n" + }, + "enableScaleOut": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-out for the queue. Valid values:\n\n- true\n- false\n" + }, + "hostnamePrefix": { + "type": "string", + "description": "The hostname prefix of the added compute nodes.\n" + }, + "hostnameSuffix": { + "type": "string", + "description": "The hostname suffix of the compute nodes in the queue.\n" + }, + "initialCount": { + "type": "integer", + "description": "The initial number of compute nodes in the queue.\n" + }, + "interConnect": { + "type": "string", + "description": "The type of the network for interconnecting compute nodes in the queue.\n" + }, + "maxCount": { + "type": "integer", + "description": "The maximum number of compute nodes that the queue can contain.\n" + }, + "minCount": { + "type": "integer", + "description": "The minimum number of compute nodes that the queue must contain.\n" + }, + "queueName": { + "type": "string", + "description": "The queue name.\n" + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitches available for use by compute nodes in the queue.\n" + } + }, + "required": [ + "clusterId", + "computeNodes", + "createTime", + "enableScaleIn", + "enableScaleOut", + "hostnamePrefix", + "hostnameSuffix", + "initialCount", + "interConnect", + "maxCount", + "minCount", + "queueName" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "The cluster ID.\nYou can call the ListClusters operation to query the cluster ID.\n", + "willReplaceOnChanges": true + }, + "computeNodes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/QueueComputeNode:QueueComputeNode" + }, + "description": "The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See \u003cspan pulumi-lang-nodejs=\"`computeNodes`\" pulumi-lang-dotnet=\"`ComputeNodes`\" pulumi-lang-go=\"`computeNodes`\" pulumi-lang-python=\"`compute_nodes`\" pulumi-lang-yaml=\"`computeNodes`\" pulumi-lang-java=\"`computeNodes`\"\u003e`compute_nodes`\u003c/span\u003e below.\n" + }, + "enableScaleIn": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-in for the queue. Valid values:\n\n- true\n- false\n" + }, + "enableScaleOut": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-out for the queue. Valid values:\n\n- true\n- false\n" + }, + "hostnamePrefix": { + "type": "string", + "description": "The hostname prefix of the added compute nodes.\n" + }, + "hostnameSuffix": { + "type": "string", + "description": "The hostname suffix of the compute nodes in the queue.\n" + }, + "initialCount": { + "type": "integer", + "description": "The initial number of compute nodes in the queue.\n", + "willReplaceOnChanges": true + }, + "interConnect": { + "type": "string", + "description": "The type of the network for interconnecting compute nodes in the queue.\n" + }, + "maxCount": { + "type": "integer", + "description": "The maximum number of compute nodes that the queue can contain.\n" + }, + "minCount": { + "type": "integer", + "description": "The minimum number of compute nodes that the queue must contain.\n" + }, + "queueName": { + "type": "string", + "description": "The queue name.\n", + "willReplaceOnChanges": true + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitches available for use by compute nodes in the queue.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Queue resources.\n", + "properties": { + "clusterId": { + "type": "string", + "description": "The cluster ID.\nYou can call the ListClusters operation to query the cluster ID.\n", + "willReplaceOnChanges": true + }, + "computeNodes": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:ehpc/QueueComputeNode:QueueComputeNode" + }, + "description": "The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See \u003cspan pulumi-lang-nodejs=\"`computeNodes`\" pulumi-lang-dotnet=\"`ComputeNodes`\" pulumi-lang-go=\"`computeNodes`\" pulumi-lang-python=\"`compute_nodes`\" pulumi-lang-yaml=\"`computeNodes`\" pulumi-lang-java=\"`computeNodes`\"\u003e`compute_nodes`\u003c/span\u003e below.\n" + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "enableScaleIn": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-in for the queue. Valid values:\n\n- true\n- false\n" + }, + "enableScaleOut": { + "type": "boolean", + "description": "Specifies whether to enable auto scale-out for the queue. Valid values:\n\n- true\n- false\n" + }, + "hostnamePrefix": { + "type": "string", + "description": "The hostname prefix of the added compute nodes.\n" + }, + "hostnameSuffix": { + "type": "string", + "description": "The hostname suffix of the compute nodes in the queue.\n" + }, + "initialCount": { + "type": "integer", + "description": "The initial number of compute nodes in the queue.\n", + "willReplaceOnChanges": true + }, + "interConnect": { + "type": "string", + "description": "The type of the network for interconnecting compute nodes in the queue.\n" + }, + "maxCount": { + "type": "integer", + "description": "The maximum number of compute nodes that the queue can contain.\n" + }, + "minCount": { + "type": "integer", + "description": "The minimum number of compute nodes that the queue must contain.\n" + }, + "queueName": { + "type": "string", + "description": "The queue name.\n", + "willReplaceOnChanges": true + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitches available for use by compute nodes in the queue.\n" + } + }, + "type": "object" + } + }, "alicloud:eipanycast/anycastEipAddress:AnycastEipAddress": { - "description": "Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address.\n\nFor information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.eipanycast.AnycastEipAddress(\"default\", {\n anycastEipAddressName: name,\n description: name,\n bandwidth: 200,\n serviceLocation: \"international\",\n internetChargeType: \"PayByTraffic\",\n paymentType: \"PayAsYouGo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eipanycast.AnycastEipAddress(\"default\",\n anycast_eip_address_name=name,\n description=name,\n bandwidth=200,\n service_location=\"international\",\n internet_charge_type=\"PayByTraffic\",\n payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.EipAnycast.AnycastEipAddress(\"default\", new()\n {\n AnycastEipAddressName = name,\n Description = name,\n Bandwidth = 200,\n ServiceLocation = \"international\",\n InternetChargeType = \"PayByTraffic\",\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eipanycast.NewAnycastEipAddress(ctx, \"default\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tAnycastEipAddressName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tServiceLocation: pulumi.String(\"international\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new AnycastEipAddress(\"default\", AnycastEipAddressArgs.builder()\n .anycastEipAddressName(name)\n .description(name)\n .bandwidth(200)\n .serviceLocation(\"international\")\n .internetChargeType(\"PayByTraffic\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:eipanycast:AnycastEipAddress\n properties:\n anycastEipAddressName: ${name}\n description: ${name}\n bandwidth: 200\n serviceLocation: international\n internetChargeType: PayByTraffic\n paymentType: PayAsYouGo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEipanycast Anycast Eip Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eipanycast/anycastEipAddress:AnycastEipAddress example \u003cid\u003e\n```\n\n", + "description": "Provides a Eipanycast Anycast Eip Address resource.\n\nAnycast Elastic IP Address.\n\nFor information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.eipanycast.AnycastEipAddress(\"default\", {\n anycastEipAddressName: name,\n description: name,\n bandwidth: 200,\n serviceLocation: \"international\",\n internetChargeType: \"PayByTraffic\",\n paymentType: \"PayAsYouGo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.eipanycast.AnycastEipAddress(\"default\",\n anycast_eip_address_name=name,\n description=name,\n bandwidth=200,\n service_location=\"international\",\n internet_charge_type=\"PayByTraffic\",\n payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.EipAnycast.AnycastEipAddress(\"default\", new()\n {\n AnycastEipAddressName = name,\n Description = name,\n Bandwidth = 200,\n ServiceLocation = \"international\",\n InternetChargeType = \"PayByTraffic\",\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eipanycast.NewAnycastEipAddress(ctx, \"default\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tAnycastEipAddressName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tServiceLocation: pulumi.String(\"international\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new AnycastEipAddress(\"default\", AnycastEipAddressArgs.builder()\n .anycastEipAddressName(name)\n .description(name)\n .bandwidth(200)\n .serviceLocation(\"international\")\n .internetChargeType(\"PayByTraffic\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:eipanycast:AnycastEipAddress\n properties:\n anycastEipAddressName: ${name}\n description: ${name}\n bandwidth: 200\n serviceLocation: international\n internetChargeType: PayByTraffic\n paymentType: PayAsYouGo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEipanycast Anycast Eip Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eipanycast/anycastEipAddress:AnycastEipAddress example \u003cid\u003e\n```\n\n", "properties": { "anycastEipAddressName": { "type": "string", @@ -169184,7 +172515,7 @@ }, "description": { "type": "string", - "description": "Anycast EIP instance description.\n" + "description": "Anycast EIP instance description\n" }, "internetChargeType": { "type": "string", @@ -169192,7 +172523,7 @@ }, "paymentType": { "type": "string", - "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode.\n" + "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode\n" }, "resourceGroupId": { "type": "string", @@ -169232,7 +172563,7 @@ }, "description": { "type": "string", - "description": "Anycast EIP instance description.\n" + "description": "Anycast EIP instance description\n" }, "internetChargeType": { "type": "string", @@ -169241,7 +172572,7 @@ }, "paymentType": { "type": "string", - "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode.\n", + "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode\n", "willReplaceOnChanges": true }, "resourceGroupId": { @@ -169281,7 +172612,7 @@ }, "description": { "type": "string", - "description": "Anycast EIP instance description.\n" + "description": "Anycast EIP instance description\n" }, "internetChargeType": { "type": "string", @@ -169290,7 +172621,7 @@ }, "paymentType": { "type": "string", - "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode.\n", + "description": "The payment model of Anycast EIP instance. \"PayAsYouGo\": Refers to the post-paid mode\n", "willReplaceOnChanges": true }, "resourceGroupId": { @@ -169318,7 +172649,7 @@ } }, "alicloud:eipanycast/anycastEipAddressAttachment:AnycastEipAddressAttachment": { - "description": "Provides a Eipanycast Anycast Eip Address Attachment resource.\n\nFor information about Eipanycast Anycast Eip Address Attachment and how to use it, see [What is Anycast Eip Address Attachment](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-associateanycasteipaddress).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **NOTE:** The following regions support currently while Slb instance support bound. \n[eu-west-1-gb33-a01,cn-hongkong-am4-c04,ap-southeast-os30-a01,us-west-ot7-a01,ap-south-in73-a01,ap-southeast-my88-a01]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.slb.getZones({\n availableSlbAddressType: \"vpc\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n addressType: \"intranet\",\n vswitchId: defaultSwitch.id,\n loadBalancerName: name,\n loadBalancerSpec: \"slb.s1.small\",\n masterZoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultAnycastEipAddress = new alicloud.eipanycast.AnycastEipAddress(\"default\", {\n anycastEipAddressName: name,\n serviceLocation: \"ChineseMainland\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultAnycastEipAddressAttachment = new alicloud.eipanycast.AnycastEipAddressAttachment(\"default\", {\n bindInstanceId: defaultApplicationLoadBalancer.id,\n bindInstanceType: \"SlbInstance\",\n bindInstanceRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n anycastId: defaultAnycastEipAddress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.slb.get_zones(available_slb_address_type=\"vpc\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n address_type=\"intranet\",\n vswitch_id=default_switch.id,\n load_balancer_name=name,\n load_balancer_spec=\"slb.s1.small\",\n master_zone_id=default.zones[0].id)\ndefault_anycast_eip_address = alicloud.eipanycast.AnycastEipAddress(\"default\",\n anycast_eip_address_name=name,\n service_location=\"ChineseMainland\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_anycast_eip_address_attachment = alicloud.eipanycast.AnycastEipAddressAttachment(\"default\",\n bind_instance_id=default_application_load_balancer.id,\n bind_instance_type=\"SlbInstance\",\n bind_instance_region_id=default_get_regions.regions[0].id,\n anycast_id=default_anycast_eip_address.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Slb.GetZones.Invoke(new()\n {\n AvailableSlbAddressType = \"vpc\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n AddressType = \"intranet\",\n VswitchId = defaultSwitch.Id,\n LoadBalancerName = name,\n LoadBalancerSpec = \"slb.s1.small\",\n MasterZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultAnycastEipAddress = new AliCloud.EipAnycast.AnycastEipAddress(\"default\", new()\n {\n AnycastEipAddressName = name,\n ServiceLocation = \"ChineseMainland\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultAnycastEipAddressAttachment = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"default\", new()\n {\n BindInstanceId = defaultApplicationLoadBalancer.Id,\n BindInstanceType = \"SlbInstance\",\n BindInstanceRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n AnycastId = defaultAnycastEipAddress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := slb.GetZones(ctx, \u0026slb.GetZonesArgs{\n\t\t\tAvailableSlbAddressType: pulumi.StringRef(\"vpc\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s1.small\"),\n\t\t\tMasterZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAnycastEipAddress, err := eipanycast.NewAnycastEipAddress(ctx, \"default\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tAnycastEipAddressName: pulumi.String(name),\n\t\t\tServiceLocation: pulumi.String(\"ChineseMainland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eipanycast.NewAnycastEipAddressAttachment(ctx, \"default\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: defaultApplicationLoadBalancer.ID(),\n\t\t\tBindInstanceType: pulumi.String(\"SlbInstance\"),\n\t\t\tBindInstanceRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tAnycastId: defaultAnycastEipAddress.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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachment;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = SlbFunctions.getZones(GetZonesArgs.builder()\n .availableSlbAddressType(\"vpc\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .addressType(\"intranet\")\n .vswitchId(defaultSwitch.id())\n .loadBalancerName(name)\n .loadBalancerSpec(\"slb.s1.small\")\n .masterZoneId(default_.zones()[0].id())\n .build());\n\n var defaultAnycastEipAddress = new AnycastEipAddress(\"defaultAnycastEipAddress\", AnycastEipAddressArgs.builder()\n .anycastEipAddressName(name)\n .serviceLocation(\"ChineseMainland\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultAnycastEipAddressAttachment = new AnycastEipAddressAttachment(\"defaultAnycastEipAddressAttachment\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(defaultApplicationLoadBalancer.id())\n .bindInstanceType(\"SlbInstance\")\n .bindInstanceRegionId(defaultGetRegions.regions()[0].id())\n .anycastId(defaultAnycastEipAddress.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n addressType: intranet\n vswitchId: ${defaultSwitch.id}\n loadBalancerName: ${name}\n loadBalancerSpec: slb.s1.small\n masterZoneId: ${default.zones[0].id}\n defaultAnycastEipAddress:\n type: alicloud:eipanycast:AnycastEipAddress\n name: default\n properties:\n anycastEipAddressName: ${name}\n serviceLocation: ChineseMainland\n defaultAnycastEipAddressAttachment:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n name: default\n properties:\n bindInstanceId: ${defaultApplicationLoadBalancer.id}\n bindInstanceType: SlbInstance\n bindInstanceRegionId: ${defaultGetRegions.regions[0].id}\n anycastId: ${defaultAnycastEipAddress.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:slb:getZones\n arguments:\n availableSlbAddressType: vpc\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Usage\n\n\u003e **NOTE:** Anycast EIP supports binding cloud resource instances in multiple regions. Only one cloud resource instance is supported as the default origin station, and the rest are normal origin stations. When no access point is specified or an access point is added, the access request is forwarded to the default origin by default. If you are bound for the first time, the Default value of the binding mode is **Default * *. /li\u003e li\u003e If you are not binding for the first time, you can set the binding mode to **Default**, and the new Default origin will take effect. The original Default origin will be changed to a common origin.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultVsw = new alicloud.vpc.Switch(\"defaultVsw\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultuBsECI = new alicloud.ecs.SecurityGroup(\"defaultuBsECI\", {vpcId: defaultVpc.id});\nconst default9KDlN7 = new alicloud.ecs.Instance(\"default9KDlN7\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultuBsECI.id],\n availabilityZone: defaultVsw.zoneId,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultVsw.id,\n});\nconst defaultXkpFRs = new alicloud.eipanycast.AnycastEipAddress(\"defaultXkpFRs\", {serviceLocation: \"ChineseMainland\"});\nconst defaultVpc2 = new alicloud.vpc.Network(\"defaultVpc2\", {\n vpcName: `${name}6`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst default2 = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst default2GetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst default2GetInstanceTypes = default2.then(default2 =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: default2.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultdsVsw2 = new alicloud.vpc.Switch(\"defaultdsVsw2\", {\n vpcId: defaultVpc2.id,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: default2.then(default2 =\u003e default2.zones?.[1]?.id),\n});\nconst defaultuBsECI2 = new alicloud.ecs.SecurityGroup(\"defaultuBsECI2\", {vpcId: defaultVpc2.id});\nconst defaultEcs2 = new alicloud.ecs.Instance(\"defaultEcs2\", {\n imageId: default2GetImages.then(default2GetImages =\u003e default2GetImages.images?.[0]?.id),\n instanceType: default2GetInstanceTypes.then(default2GetInstanceTypes =\u003e default2GetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultuBsECI2.id],\n availabilityZone: defaultdsVsw2.zoneId,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultdsVsw2.id,\n});\nconst defaultEfYBJY = new alicloud.eipanycast.AnycastEipAddressAttachment(\"defaultEfYBJY\", {\n bindInstanceId: default9KDlN7.networkInterfaceId,\n bindInstanceType: \"NetworkInterface\",\n bindInstanceRegionId: \"cn-beijing\",\n anycastId: defaultXkpFRs.id,\n associationMode: \"Default\",\n});\nconst normal = new alicloud.eipanycast.AnycastEipAddressAttachment(\"normal\", {\n bindInstanceId: defaultEcs2.networkInterfaceId,\n bindInstanceType: \"NetworkInterface\",\n bindInstanceRegionId: \"cn-hangzhou\",\n anycastId: defaultEfYBJY.anycastId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_vsw = alicloud.vpc.Switch(\"defaultVsw\",\n vpc_id=default_vpc.id,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id)\ndefaultu_bs_eci = alicloud.ecs.SecurityGroup(\"defaultuBsECI\", vpc_id=default_vpc.id)\ndefault9_k_dl_n7 = alicloud.ecs.Instance(\"default9KDlN7\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[defaultu_bs_eci.id],\n availability_zone=default_vsw.zone_id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_vsw.id)\ndefault_xkp_frs = alicloud.eipanycast.AnycastEipAddress(\"defaultXkpFRs\", service_location=\"ChineseMainland\")\ndefault_vpc2 = alicloud.vpc.Network(\"defaultVpc2\",\n vpc_name=f\"{name}6\",\n cidr_block=\"192.168.0.0/16\")\ndefault2 = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault2_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault2_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default2.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefaultds_vsw2 = alicloud.vpc.Switch(\"defaultdsVsw2\",\n vpc_id=default_vpc2.id,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default2.zones[1].id)\ndefaultu_bs_eci2 = alicloud.ecs.SecurityGroup(\"defaultuBsECI2\", vpc_id=default_vpc2.id)\ndefault_ecs2 = alicloud.ecs.Instance(\"defaultEcs2\",\n image_id=default2_get_images.images[0].id,\n instance_type=default2_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[defaultu_bs_eci2.id],\n availability_zone=defaultds_vsw2.zone_id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=defaultds_vsw2.id)\ndefault_ef_ybjy = alicloud.eipanycast.AnycastEipAddressAttachment(\"defaultEfYBJY\",\n bind_instance_id=default9_k_dl_n7.network_interface_id,\n bind_instance_type=\"NetworkInterface\",\n bind_instance_region_id=\"cn-beijing\",\n anycast_id=default_xkp_frs.id,\n association_mode=\"Default\")\nnormal = alicloud.eipanycast.AnycastEipAddressAttachment(\"normal\",\n bind_instance_id=default_ecs2.network_interface_id,\n bind_instance_type=\"NetworkInterface\",\n bind_instance_region_id=\"cn-hangzhou\",\n anycast_id=default_ef_ybjy.anycast_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultVsw = new AliCloud.Vpc.Switch(\"defaultVsw\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultuBsECI = new AliCloud.Ecs.SecurityGroup(\"defaultuBsECI\", new()\n {\n VpcId = defaultVpc.Id,\n });\n\n var default9KDlN7 = new AliCloud.Ecs.Instance(\"default9KDlN7\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultuBsECI.Id,\n },\n AvailabilityZone = defaultVsw.ZoneId,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultVsw.Id,\n });\n\n var defaultXkpFRs = new AliCloud.EipAnycast.AnycastEipAddress(\"defaultXkpFRs\", new()\n {\n ServiceLocation = \"ChineseMainland\",\n });\n\n var defaultVpc2 = new AliCloud.Vpc.Network(\"defaultVpc2\", new()\n {\n VpcName = $\"{name}6\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var default2 = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var default2GetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var default2GetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = default2.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultdsVsw2 = new AliCloud.Vpc.Switch(\"defaultdsVsw2\", new()\n {\n VpcId = defaultVpc2.Id,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = default2.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultuBsECI2 = new AliCloud.Ecs.SecurityGroup(\"defaultuBsECI2\", new()\n {\n VpcId = defaultVpc2.Id,\n });\n\n var defaultEcs2 = new AliCloud.Ecs.Instance(\"defaultEcs2\", new()\n {\n ImageId = default2GetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = default2GetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultuBsECI2.Id,\n },\n AvailabilityZone = defaultdsVsw2.ZoneId,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultdsVsw2.Id,\n });\n\n var defaultEfYBJY = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"defaultEfYBJY\", new()\n {\n BindInstanceId = default9KDlN7.NetworkInterfaceId,\n BindInstanceType = \"NetworkInterface\",\n BindInstanceRegionId = \"cn-beijing\",\n AnycastId = defaultXkpFRs.Id,\n AssociationMode = \"Default\",\n });\n\n var normal = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"normal\", new()\n {\n BindInstanceId = defaultEcs2.NetworkInterfaceId,\n BindInstanceType = \"NetworkInterface\",\n BindInstanceRegionId = \"cn-hangzhou\",\n AnycastId = defaultEfYBJY.AnycastId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVsw, err := vpc.NewSwitch(ctx, \"defaultVsw\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuBsECI, err := ecs.NewSecurityGroup(ctx, \"defaultuBsECI\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9KDlN7, err := ecs.NewInstance(ctx, \"default9KDlN7\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultuBsECI.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultVsw.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tVswitchId: defaultVsw.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultXkpFRs, err := eipanycast.NewAnycastEipAddress(ctx, \"defaultXkpFRs\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tServiceLocation: pulumi.String(\"ChineseMainland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc2, err := vpc.NewNetwork(ctx, \"defaultVpc2\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v6\", name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2GetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2GetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(default2.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultdsVsw2, err := vpc.NewSwitch(ctx, \"defaultdsVsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(default2.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuBsECI2, err := ecs.NewSecurityGroup(ctx, \"defaultuBsECI2\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultVpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcs2, err := ecs.NewInstance(ctx, \"defaultEcs2\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(default2GetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(default2GetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultuBsECI2.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultdsVsw2.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tVswitchId: defaultdsVsw2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEfYBJY, err := eipanycast.NewAnycastEipAddressAttachment(ctx, \"defaultEfYBJY\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: default9KDlN7.NetworkInterfaceId,\n\t\t\tBindInstanceType: pulumi.String(\"NetworkInterface\"),\n\t\t\tBindInstanceRegionId: pulumi.String(\"cn-beijing\"),\n\t\t\tAnycastId: defaultXkpFRs.ID(),\n\t\t\tAssociationMode: pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eipanycast.NewAnycastEipAddressAttachment(ctx, \"normal\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: defaultEcs2.NetworkInterfaceId,\n\t\t\tBindInstanceType: pulumi.String(\"NetworkInterface\"),\n\t\t\tBindInstanceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tAnycastId: defaultEfYBJY.AnycastId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachment;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultVsw = new Switch(\"defaultVsw\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultuBsECI = new SecurityGroup(\"defaultuBsECI\", SecurityGroupArgs.builder()\n .vpcId(defaultVpc.id())\n .build());\n\n var default9KDlN7 = new Instance(\"default9KDlN7\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultuBsECI.id())\n .availabilityZone(defaultVsw.zoneId())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultVsw.id())\n .build());\n\n var defaultXkpFRs = new AnycastEipAddress(\"defaultXkpFRs\", AnycastEipAddressArgs.builder()\n .serviceLocation(\"ChineseMainland\")\n .build());\n\n var defaultVpc2 = new Network(\"defaultVpc2\", NetworkArgs.builder()\n .vpcName(String.format(\"%s6\", name))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n final var default2 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var default2GetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var default2GetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default2.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultdsVsw2 = new Switch(\"defaultdsVsw2\", SwitchArgs.builder()\n .vpcId(defaultVpc2.id())\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default2.zones()[1].id())\n .build());\n\n var defaultuBsECI2 = new SecurityGroup(\"defaultuBsECI2\", SecurityGroupArgs.builder()\n .vpcId(defaultVpc2.id())\n .build());\n\n var defaultEcs2 = new Instance(\"defaultEcs2\", InstanceArgs.builder()\n .imageId(default2GetImages.images()[0].id())\n .instanceType(default2GetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultuBsECI2.id())\n .availabilityZone(defaultdsVsw2.zoneId())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultdsVsw2.id())\n .build());\n\n var defaultEfYBJY = new AnycastEipAddressAttachment(\"defaultEfYBJY\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(default9KDlN7.networkInterfaceId())\n .bindInstanceType(\"NetworkInterface\")\n .bindInstanceRegionId(\"cn-beijing\")\n .anycastId(defaultXkpFRs.id())\n .associationMode(\"Default\")\n .build());\n\n var normal = new AnycastEipAddressAttachment(\"normal\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(defaultEcs2.networkInterfaceId())\n .bindInstanceType(\"NetworkInterface\")\n .bindInstanceRegionId(\"cn-hangzhou\")\n .anycastId(defaultEfYBJY.anycastId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultVsw:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n defaultuBsECI:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${defaultVpc.id}\n default9KDlN7:\n type: alicloud:ecs:Instance\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n instanceName: ${name}\n securityGroups:\n - ${defaultuBsECI.id}\n availabilityZone: ${defaultVsw.zoneId}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${defaultVsw.id}\n defaultXkpFRs:\n type: alicloud:eipanycast:AnycastEipAddress\n properties:\n serviceLocation: ChineseMainland\n defaultVpc2:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}6\n cidrBlock: 192.168.0.0/16\n defaultdsVsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc2.id}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default2.zones[1].id}\n defaultuBsECI2:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${defaultVpc2.id}\n defaultEcs2:\n type: alicloud:ecs:Instance\n properties:\n imageId: ${default2GetImages.images[0].id}\n instanceType: ${default2GetInstanceTypes.instanceTypes[0].id}\n instanceName: ${name}\n securityGroups:\n - ${defaultuBsECI2.id}\n availabilityZone: ${defaultdsVsw2.zoneId}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${defaultdsVsw2.id}\n defaultEfYBJY:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n properties:\n bindInstanceId: ${default9KDlN7.networkInterfaceId}\n bindInstanceType: NetworkInterface\n bindInstanceRegionId: cn-beijing\n anycastId: ${defaultXkpFRs.id}\n associationMode: Default\n normal:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n properties:\n bindInstanceId: ${defaultEcs2.networkInterfaceId}\n bindInstanceType: NetworkInterface\n bindInstanceRegionId: cn-hangzhou\n anycastId: ${defaultEfYBJY.anycastId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n default2:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n default2GetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n default2GetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default2.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEipanycast Anycast Eip Address Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eipanycast/anycastEipAddressAttachment:AnycastEipAddressAttachment example \u003canycast_id\u003e:\u003cbind_instance_id\u003e:\u003cbind_instance_region_id\u003e:\u003cbind_instance_type\u003e\n```\n\n", + "description": "Provides a Eipanycast Anycast Eip Address Attachment resource.\n\nFor information about Eipanycast Anycast Eip Address Attachment and how to use it, see [What is Anycast Eip Address Attachment](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-associateanycasteipaddress).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n\u003e **NOTE:** The following regions support currently while Slb instance support bound. \n[eu-west-1-gb33-a01,cn-hongkong-am4-c04,ap-southeast-os30-a01,us-west-ot7-a01,ap-south-in73-a01,ap-southeast-my88-a01]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.slb.getZones({\n availableSlbAddressType: \"vpc\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n addressType: \"intranet\",\n vswitchId: defaultSwitch.id,\n loadBalancerName: name,\n loadBalancerSpec: \"slb.s1.small\",\n masterZoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultAnycastEipAddress = new alicloud.eipanycast.AnycastEipAddress(\"default\", {\n anycastEipAddressName: name,\n serviceLocation: \"ChineseMainland\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultAnycastEipAddressAttachment = new alicloud.eipanycast.AnycastEipAddressAttachment(\"default\", {\n bindInstanceId: defaultApplicationLoadBalancer.id,\n bindInstanceType: \"SlbInstance\",\n bindInstanceRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n anycastId: defaultAnycastEipAddress.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.slb.get_zones(available_slb_address_type=\"vpc\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n address_type=\"intranet\",\n vswitch_id=default_switch.id,\n load_balancer_name=name,\n load_balancer_spec=\"slb.s1.small\",\n master_zone_id=default.zones[0].id)\ndefault_anycast_eip_address = alicloud.eipanycast.AnycastEipAddress(\"default\",\n anycast_eip_address_name=name,\n service_location=\"ChineseMainland\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_anycast_eip_address_attachment = alicloud.eipanycast.AnycastEipAddressAttachment(\"default\",\n bind_instance_id=default_application_load_balancer.id,\n bind_instance_type=\"SlbInstance\",\n bind_instance_region_id=default_get_regions.regions[0].id,\n anycast_id=default_anycast_eip_address.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Slb.GetZones.Invoke(new()\n {\n AvailableSlbAddressType = \"vpc\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n AddressType = \"intranet\",\n VswitchId = defaultSwitch.Id,\n LoadBalancerName = name,\n LoadBalancerSpec = \"slb.s1.small\",\n MasterZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultAnycastEipAddress = new AliCloud.EipAnycast.AnycastEipAddress(\"default\", new()\n {\n AnycastEipAddressName = name,\n ServiceLocation = \"ChineseMainland\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultAnycastEipAddressAttachment = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"default\", new()\n {\n BindInstanceId = defaultApplicationLoadBalancer.Id,\n BindInstanceType = \"SlbInstance\",\n BindInstanceRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n AnycastId = defaultAnycastEipAddress.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := slb.GetZones(ctx, \u0026slb.GetZonesArgs{\n\t\t\tAvailableSlbAddressType: pulumi.StringRef(\"vpc\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s1.small\"),\n\t\t\tMasterZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAnycastEipAddress, err := eipanycast.NewAnycastEipAddress(ctx, \"default\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tAnycastEipAddressName: pulumi.String(name),\n\t\t\tServiceLocation: pulumi.String(\"ChineseMainland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eipanycast.NewAnycastEipAddressAttachment(ctx, \"default\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: defaultApplicationLoadBalancer.ID(),\n\t\t\tBindInstanceType: pulumi.String(\"SlbInstance\"),\n\t\t\tBindInstanceRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tAnycastId: defaultAnycastEipAddress.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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachment;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = SlbFunctions.getZones(GetZonesArgs.builder()\n .availableSlbAddressType(\"vpc\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .addressType(\"intranet\")\n .vswitchId(defaultSwitch.id())\n .loadBalancerName(name)\n .loadBalancerSpec(\"slb.s1.small\")\n .masterZoneId(default_.zones()[0].id())\n .build());\n\n var defaultAnycastEipAddress = new AnycastEipAddress(\"defaultAnycastEipAddress\", AnycastEipAddressArgs.builder()\n .anycastEipAddressName(name)\n .serviceLocation(\"ChineseMainland\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultAnycastEipAddressAttachment = new AnycastEipAddressAttachment(\"defaultAnycastEipAddressAttachment\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(defaultApplicationLoadBalancer.id())\n .bindInstanceType(\"SlbInstance\")\n .bindInstanceRegionId(defaultGetRegions.regions()[0].id())\n .anycastId(defaultAnycastEipAddress.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n addressType: intranet\n vswitchId: ${defaultSwitch.id}\n loadBalancerName: ${name}\n loadBalancerSpec: slb.s1.small\n masterZoneId: ${default.zones[0].id}\n defaultAnycastEipAddress:\n type: alicloud:eipanycast:AnycastEipAddress\n name: default\n properties:\n anycastEipAddressName: ${name}\n serviceLocation: ChineseMainland\n defaultAnycastEipAddressAttachment:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n name: default\n properties:\n bindInstanceId: ${defaultApplicationLoadBalancer.id}\n bindInstanceType: SlbInstance\n bindInstanceRegionId: ${defaultGetRegions.regions[0].id}\n anycastId: ${defaultAnycastEipAddress.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:slb:getZones\n arguments:\n availableSlbAddressType: vpc\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Usage\n\n\u003e **NOTE:** Anycast EIP supports binding cloud resource instances in multiple regions. Only one cloud resource instance is supported as the default origin station, and the rest are normal origin stations. When no access point is specified or an access point is added, the access request is forwarded to the default origin by default. If you are bound for the first time, the Default value of the binding mode is **Default * *. /li\u003e li\u003e If you are not binding for the first time, you can set the binding mode to **Default**, and the new Default origin will take effect. The original Default origin will be changed to a common origin.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultVsw = new alicloud.vpc.Switch(\"defaultVsw\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultuBsECI = new alicloud.ecs.SecurityGroup(\"defaultuBsECI\", {vpcId: defaultVpc.id});\nconst default9KDlN7 = new alicloud.ecs.Instance(\"default9KDlN7\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultuBsECI.id],\n availabilityZone: defaultVsw.zoneId,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultVsw.id,\n});\nconst defaultXkpFRs = new alicloud.eipanycast.AnycastEipAddress(\"defaultXkpFRs\", {serviceLocation: \"ChineseMainland\"});\nconst defaultVpc2 = new alicloud.vpc.Network(\"defaultVpc2\", {\n vpcName: `${name}6`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst default2 = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst default2GetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst default2GetInstanceTypes = default2.then(default2 =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: default2.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultdsVsw2 = new alicloud.vpc.Switch(\"defaultdsVsw2\", {\n vpcId: defaultVpc2.id,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: default2.then(default2 =\u003e default2.zones?.[1]?.id),\n});\nconst defaultuBsECI2 = new alicloud.ecs.SecurityGroup(\"defaultuBsECI2\", {vpcId: defaultVpc2.id});\nconst defaultEcs2 = new alicloud.ecs.Instance(\"defaultEcs2\", {\n imageId: default2GetImages.then(default2GetImages =\u003e default2GetImages.images?.[0]?.id),\n instanceType: default2GetInstanceTypes.then(default2GetInstanceTypes =\u003e default2GetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultuBsECI2.id],\n availabilityZone: defaultdsVsw2.zoneId,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultdsVsw2.id,\n});\nconst defaultEfYBJY = new alicloud.eipanycast.AnycastEipAddressAttachment(\"defaultEfYBJY\", {\n bindInstanceId: default9KDlN7.networkInterfaceId,\n bindInstanceType: \"NetworkInterface\",\n bindInstanceRegionId: \"cn-beijing\",\n anycastId: defaultXkpFRs.id,\n associationMode: \"Default\",\n});\nconst normal = new alicloud.eipanycast.AnycastEipAddressAttachment(\"normal\", {\n bindInstanceId: defaultEcs2.networkInterfaceId,\n bindInstanceType: \"NetworkInterface\",\n bindInstanceRegionId: \"cn-hangzhou\",\n anycastId: defaultEfYBJY.anycastId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_vsw = alicloud.vpc.Switch(\"defaultVsw\",\n vpc_id=default_vpc.id,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id)\ndefaultu_bs_eci = alicloud.ecs.SecurityGroup(\"defaultuBsECI\", vpc_id=default_vpc.id)\ndefault9_k_dl_n7 = alicloud.ecs.Instance(\"default9KDlN7\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[defaultu_bs_eci.id],\n availability_zone=default_vsw.zone_id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_vsw.id)\ndefault_xkp_frs = alicloud.eipanycast.AnycastEipAddress(\"defaultXkpFRs\", service_location=\"ChineseMainland\")\ndefault_vpc2 = alicloud.vpc.Network(\"defaultVpc2\",\n vpc_name=f\"{name}6\",\n cidr_block=\"192.168.0.0/16\")\ndefault2 = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault2_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault2_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default2.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefaultds_vsw2 = alicloud.vpc.Switch(\"defaultdsVsw2\",\n vpc_id=default_vpc2.id,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default2.zones[1].id)\ndefaultu_bs_eci2 = alicloud.ecs.SecurityGroup(\"defaultuBsECI2\", vpc_id=default_vpc2.id)\ndefault_ecs2 = alicloud.ecs.Instance(\"defaultEcs2\",\n image_id=default2_get_images.images[0].id,\n instance_type=default2_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[defaultu_bs_eci2.id],\n availability_zone=defaultds_vsw2.zone_id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=defaultds_vsw2.id)\ndefault_ef_ybjy = alicloud.eipanycast.AnycastEipAddressAttachment(\"defaultEfYBJY\",\n bind_instance_id=default9_k_dl_n7.network_interface_id,\n bind_instance_type=\"NetworkInterface\",\n bind_instance_region_id=\"cn-beijing\",\n anycast_id=default_xkp_frs.id,\n association_mode=\"Default\")\nnormal = alicloud.eipanycast.AnycastEipAddressAttachment(\"normal\",\n bind_instance_id=default_ecs2.network_interface_id,\n bind_instance_type=\"NetworkInterface\",\n bind_instance_region_id=\"cn-hangzhou\",\n anycast_id=default_ef_ybjy.anycast_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultVsw = new AliCloud.Vpc.Switch(\"defaultVsw\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultuBsECI = new AliCloud.Ecs.SecurityGroup(\"defaultuBsECI\", new()\n {\n VpcId = defaultVpc.Id,\n });\n\n var default9KDlN7 = new AliCloud.Ecs.Instance(\"default9KDlN7\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultuBsECI.Id,\n },\n AvailabilityZone = defaultVsw.ZoneId,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultVsw.Id,\n });\n\n var defaultXkpFRs = new AliCloud.EipAnycast.AnycastEipAddress(\"defaultXkpFRs\", new()\n {\n ServiceLocation = \"ChineseMainland\",\n });\n\n var defaultVpc2 = new AliCloud.Vpc.Network(\"defaultVpc2\", new()\n {\n VpcName = $\"{name}6\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var default2 = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var default2GetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var default2GetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = default2.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultdsVsw2 = new AliCloud.Vpc.Switch(\"defaultdsVsw2\", new()\n {\n VpcId = defaultVpc2.Id,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = default2.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultuBsECI2 = new AliCloud.Ecs.SecurityGroup(\"defaultuBsECI2\", new()\n {\n VpcId = defaultVpc2.Id,\n });\n\n var defaultEcs2 = new AliCloud.Ecs.Instance(\"defaultEcs2\", new()\n {\n ImageId = default2GetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = default2GetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultuBsECI2.Id,\n },\n AvailabilityZone = defaultdsVsw2.ZoneId,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultdsVsw2.Id,\n });\n\n var defaultEfYBJY = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"defaultEfYBJY\", new()\n {\n BindInstanceId = default9KDlN7.NetworkInterfaceId,\n BindInstanceType = \"NetworkInterface\",\n BindInstanceRegionId = \"cn-beijing\",\n AnycastId = defaultXkpFRs.Id,\n AssociationMode = \"Default\",\n });\n\n var normal = new AliCloud.EipAnycast.AnycastEipAddressAttachment(\"normal\", new()\n {\n BindInstanceId = defaultEcs2.NetworkInterfaceId,\n BindInstanceType = \"NetworkInterface\",\n BindInstanceRegionId = \"cn-hangzhou\",\n AnycastId = defaultEfYBJY.AnycastId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eipanycast\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVsw, err := vpc.NewSwitch(ctx, \"defaultVsw\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuBsECI, err := ecs.NewSecurityGroup(ctx, \"defaultuBsECI\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9KDlN7, err := ecs.NewInstance(ctx, \"default9KDlN7\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultuBsECI.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultVsw.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tVswitchId: defaultVsw.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultXkpFRs, err := eipanycast.NewAnycastEipAddress(ctx, \"defaultXkpFRs\", \u0026eipanycast.AnycastEipAddressArgs{\n\t\t\tServiceLocation: pulumi.String(\"ChineseMainland\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc2, err := vpc.NewNetwork(ctx, \"defaultVpc2\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v6\", name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2GetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2GetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(default2.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultdsVsw2, err := vpc.NewSwitch(ctx, \"defaultdsVsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc2.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(default2.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultuBsECI2, err := ecs.NewSecurityGroup(ctx, \"defaultuBsECI2\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultVpc2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcs2, err := ecs.NewInstance(ctx, \"defaultEcs2\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(default2GetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(default2GetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultuBsECI2.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultdsVsw2.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tVswitchId: defaultdsVsw2.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEfYBJY, err := eipanycast.NewAnycastEipAddressAttachment(ctx, \"defaultEfYBJY\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: default9KDlN7.NetworkInterfaceId,\n\t\t\tBindInstanceType: pulumi.String(\"NetworkInterface\"),\n\t\t\tBindInstanceRegionId: pulumi.String(\"cn-beijing\"),\n\t\t\tAnycastId: defaultXkpFRs.ID(),\n\t\t\tAssociationMode: pulumi.String(\"Default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eipanycast.NewAnycastEipAddressAttachment(ctx, \"normal\", \u0026eipanycast.AnycastEipAddressAttachmentArgs{\n\t\t\tBindInstanceId: defaultEcs2.NetworkInterfaceId,\n\t\t\tBindInstanceType: pulumi.String(\"NetworkInterface\"),\n\t\t\tBindInstanceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tAnycastId: defaultEfYBJY.AnycastId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddress;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressArgs;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachment;\nimport com.pulumi.alicloud.eipanycast.AnycastEipAddressAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultVsw = new Switch(\"defaultVsw\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultuBsECI = new SecurityGroup(\"defaultuBsECI\", SecurityGroupArgs.builder()\n .vpcId(defaultVpc.id())\n .build());\n\n var default9KDlN7 = new Instance(\"default9KDlN7\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultuBsECI.id())\n .availabilityZone(defaultVsw.zoneId())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultVsw.id())\n .build());\n\n var defaultXkpFRs = new AnycastEipAddress(\"defaultXkpFRs\", AnycastEipAddressArgs.builder()\n .serviceLocation(\"ChineseMainland\")\n .build());\n\n var defaultVpc2 = new Network(\"defaultVpc2\", NetworkArgs.builder()\n .vpcName(String.format(\"%s6\", name))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n final var default2 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var default2GetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var default2GetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default2.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n var defaultdsVsw2 = new Switch(\"defaultdsVsw2\", SwitchArgs.builder()\n .vpcId(defaultVpc2.id())\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default2.zones()[1].id())\n .build());\n\n var defaultuBsECI2 = new SecurityGroup(\"defaultuBsECI2\", SecurityGroupArgs.builder()\n .vpcId(defaultVpc2.id())\n .build());\n\n var defaultEcs2 = new Instance(\"defaultEcs2\", InstanceArgs.builder()\n .imageId(default2GetImages.images()[0].id())\n .instanceType(default2GetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultuBsECI2.id())\n .availabilityZone(defaultdsVsw2.zoneId())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultdsVsw2.id())\n .build());\n\n var defaultEfYBJY = new AnycastEipAddressAttachment(\"defaultEfYBJY\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(default9KDlN7.networkInterfaceId())\n .bindInstanceType(\"NetworkInterface\")\n .bindInstanceRegionId(\"cn-beijing\")\n .anycastId(defaultXkpFRs.id())\n .associationMode(\"Default\")\n .build());\n\n var normal = new AnycastEipAddressAttachment(\"normal\", AnycastEipAddressAttachmentArgs.builder()\n .bindInstanceId(defaultEcs2.networkInterfaceId())\n .bindInstanceType(\"NetworkInterface\")\n .bindInstanceRegionId(\"cn-hangzhou\")\n .anycastId(defaultEfYBJY.anycastId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultVsw:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n defaultuBsECI:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${defaultVpc.id}\n default9KDlN7:\n type: alicloud:ecs:Instance\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n instanceName: ${name}\n securityGroups:\n - ${defaultuBsECI.id}\n availabilityZone: ${defaultVsw.zoneId}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${defaultVsw.id}\n defaultXkpFRs:\n type: alicloud:eipanycast:AnycastEipAddress\n properties:\n serviceLocation: ChineseMainland\n defaultVpc2:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}6\n cidrBlock: 192.168.0.0/16\n defaultdsVsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc2.id}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default2.zones[1].id}\n defaultuBsECI2:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${defaultVpc2.id}\n defaultEcs2:\n type: alicloud:ecs:Instance\n properties:\n imageId: ${default2GetImages.images[0].id}\n instanceType: ${default2GetInstanceTypes.instanceTypes[0].id}\n instanceName: ${name}\n securityGroups:\n - ${defaultuBsECI2.id}\n availabilityZone: ${defaultdsVsw2.zoneId}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${defaultdsVsw2.id}\n defaultEfYBJY:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n properties:\n bindInstanceId: ${default9KDlN7.networkInterfaceId}\n bindInstanceType: NetworkInterface\n bindInstanceRegionId: cn-beijing\n anycastId: ${defaultXkpFRs.id}\n associationMode: Default\n normal:\n type: alicloud:eipanycast:AnycastEipAddressAttachment\n properties:\n bindInstanceId: ${defaultEcs2.networkInterfaceId}\n bindInstanceType: NetworkInterface\n bindInstanceRegionId: cn-hangzhou\n anycastId: ${defaultEfYBJY.anycastId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n default2:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n default2GetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n default2GetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default2.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEipanycast Anycast Eip Address Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eipanycast/anycastEipAddressAttachment:AnycastEipAddressAttachment example \u003canycast_id\u003e:\u003cbind_instance_id\u003e:\u003cbind_instance_region_id\u003e:\u003cbind_instance_type\u003e\n```\n\n", "properties": { "anycastId": { "type": "string", @@ -169465,97 +172796,134 @@ } }, "alicloud:elasticsearch/instance:Instance": { - "description": "\n\n## Import\n\nElasticsearch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456\n```\n\n", + "description": "Provides a Elasticsearch Instance resource.\n\n\n\nFor information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance).\n\n\u003e **NOTE:** Available since v1.30.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.elasticsearch.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.elasticsearch.Instance(\"default\", {\n description: name,\n vswitchId: defaultSwitch.id,\n password: \"Examplw1234\",\n version: \"7.10_with_X-Pack\",\n instanceChargeType: \"PostPaid\",\n dataNodeAmount: 2,\n dataNodeSpec: \"elasticsearch.sn2ne.large\",\n dataNodeDiskSize: 20,\n dataNodeDiskType: \"cloud_ssd\",\n kibanaNodeSpec: \"elasticsearch.sn2ne.large\",\n dataNodeDiskPerformanceLevel: \"PL1\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.elasticsearch.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.elasticsearch.Instance(\"default\",\n description=name,\n vswitch_id=default_switch.id,\n password=\"Examplw1234\",\n version=\"7.10_with_X-Pack\",\n instance_charge_type=\"PostPaid\",\n data_node_amount=2,\n data_node_spec=\"elasticsearch.sn2ne.large\",\n data_node_disk_size=20,\n data_node_disk_type=\"cloud_ssd\",\n kibana_node_spec=\"elasticsearch.sn2ne.large\",\n data_node_disk_performance_level=\"PL1\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ElasticSearch.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.ElasticSearch.Instance(\"default\", new()\n {\n Description = name,\n VswitchId = defaultSwitch.Id,\n Password = \"Examplw1234\",\n Version = \"7.10_with_X-Pack\",\n InstanceChargeType = \"PostPaid\",\n DataNodeAmount = 2,\n DataNodeSpec = \"elasticsearch.sn2ne.large\",\n DataNodeDiskSize = 20,\n DataNodeDiskType = \"cloud_ssd\",\n KibanaNodeSpec = \"elasticsearch.sn2ne.large\",\n DataNodeDiskPerformanceLevel = \"PL1\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/elasticsearch\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := elasticsearch.GetZones(ctx, \u0026elasticsearch.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = elasticsearch.NewInstance(ctx, \"default\", \u0026elasticsearch.InstanceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tPassword: pulumi.String(\"Examplw1234\"),\n\t\t\tVersion: pulumi.String(\"7.10_with_X-Pack\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tDataNodeAmount: pulumi.Int(2),\n\t\t\tDataNodeSpec: pulumi.String(\"elasticsearch.sn2ne.large\"),\n\t\t\tDataNodeDiskSize: pulumi.Int(20),\n\t\t\tDataNodeDiskType: pulumi.String(\"cloud_ssd\"),\n\t\t\tKibanaNodeSpec: pulumi.String(\"elasticsearch.sn2ne.large\"),\n\t\t\tDataNodeDiskPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.elasticsearch.ElasticsearchFunctions;\nimport com.pulumi.alicloud.elasticsearch.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.elasticsearch.Instance;\nimport com.pulumi.alicloud.elasticsearch.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ElasticsearchFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .description(name)\n .vswitchId(defaultSwitch.id())\n .password(\"Examplw1234\")\n .version(\"7.10_with_X-Pack\")\n .instanceChargeType(\"PostPaid\")\n .dataNodeAmount(2)\n .dataNodeSpec(\"elasticsearch.sn2ne.large\")\n .dataNodeDiskSize(20)\n .dataNodeDiskType(\"cloud_ssd\")\n .kibanaNodeSpec(\"elasticsearch.sn2ne.large\")\n .dataNodeDiskPerformanceLevel(\"PL1\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:elasticsearch:Instance\n name: default\n properties:\n description: ${name}\n vswitchId: ${defaultSwitch.id}\n password: Examplw1234\n version: 7.10_with_X-Pack\n instanceChargeType: PostPaid\n dataNodeAmount: '2'\n dataNodeSpec: elasticsearch.sn2ne.large\n dataNodeDiskSize: '20'\n dataNodeDiskType: cloud_ssd\n kibanaNodeSpec: elasticsearch.sn2ne.large\n dataNodeDiskPerformanceLevel: PL1\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:elasticsearch:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nElasticsearch Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:elasticsearch/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { + "archType": { + "type": "string", + "description": "Schema Type:\n" + }, "autoRenewDuration": { "type": "integer", - "description": "Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is `PrePaid` and \u003cspan pulumi-lang-nodejs=\"`renewStatus`\" pulumi-lang-dotnet=\"`RenewStatus`\" pulumi-lang-go=\"`renewStatus`\" pulumi-lang-python=\"`renew_status`\" pulumi-lang-yaml=\"`renewStatus`\" pulumi-lang-java=\"`renewStatus`\"\u003e`renew_status`\u003c/span\u003e is `AutoRenewal`.\n" + "description": "Renewal Period\n" }, "clientNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n" + "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n", + "deprecationMessage": "Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead." + }, + "clientNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceClientNodeConfiguration:InstanceClientNodeConfiguration", + "description": "Elasticsearch cluster coordination node configuration See \u003cspan pulumi-lang-nodejs=\"`clientNodeConfiguration`\" pulumi-lang-dotnet=\"`ClientNodeConfiguration`\" pulumi-lang-go=\"`clientNodeConfiguration`\" pulumi-lang-python=\"`client_node_configuration`\" pulumi-lang-yaml=\"`clientNodeConfiguration`\" pulumi-lang-java=\"`clientNodeConfiguration`\"\u003e`client_node_configuration`\u003c/span\u003e below.\n" }, "clientNodeSpec": { "type": "string", - "description": "The client node spec. If specified, client node will be created.\n" + "description": "The client node spec. If specified, client node will be created.\n", + "deprecationMessage": "Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead." + }, + "createTime": { + "type": "string", + "description": "Instance creation time\n" }, "dataNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n" + "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n", + "deprecationMessage": "Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead." + }, + "dataNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceDataNodeConfiguration:InstanceDataNodeConfiguration", + "description": "Elasticsearch data node information See \u003cspan pulumi-lang-nodejs=\"`dataNodeConfiguration`\" pulumi-lang-dotnet=\"`DataNodeConfiguration`\" pulumi-lang-go=\"`dataNodeConfiguration`\" pulumi-lang-python=\"`data_node_configuration`\" pulumi-lang-yaml=\"`dataNodeConfiguration`\" pulumi-lang-java=\"`dataNodeConfiguration`\"\u003e`data_node_configuration`\u003c/span\u003e below.\n" }, "dataNodeDiskEncrypted": { "type": "boolean", - "description": "If encrypt the data node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" + "description": "If encrypt the data node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead." }, "dataNodeDiskPerformanceLevel": { "type": "string", - "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n" + "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead." }, "dataNodeDiskSize": { "type": "integer", - "description": "The single data node storage space.\n" + "description": "The single data node storage space.\n", + "deprecationMessage": "Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead." }, "dataNodeDiskType": { "type": "string", - "description": "The data node disk type. Supported values: cloud_ssd, cloud_efficiency.\n" + "description": "The data node disk type. Supported values: cloud_ssd, cloud_efficiency.\n", + "deprecationMessage": "Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead." }, "dataNodeSpec": { "type": "string", - "description": "The data node specifications of the Elasticsearch instance.\n" + "description": "The data node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead." }, "description": { "type": "string", - "description": "The description of instance. It a string of 0 to 30 characters.\n" + "description": "Instance name\n" }, "domain": { "type": "string", - "description": "Instance connection domain (only VPC network access supported).\n" + "description": "Elasticsearch cluster private domain name\n" }, "enableKibanaPrivateNetwork": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can close kibana private network access。\n" + "description": "Whether to enable Kibana private network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" }, "enableKibanaPublicNetwork": { "type": "boolean", - "description": "Bool, default to true. When it set to false, the instance can enable kibana public network access。\n" + "description": "Does Kibana enable public access\n" }, "enablePublic": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can enable public network access。\n" + "description": "Whether to enable Kibana public network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" + }, + "force": { + "type": "boolean" + }, + "instanceCategory": { + "type": "string", + "description": "Version type.\n" }, "instanceChargeType": { "type": "string", - "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n" + "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead." + }, + "kibanaConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceKibanaConfiguration:InstanceKibanaConfiguration", + "description": "Elasticsearch Kibana node settings See \u003cspan pulumi-lang-nodejs=\"`kibanaConfiguration`\" pulumi-lang-dotnet=\"`KibanaConfiguration`\" pulumi-lang-go=\"`kibanaConfiguration`\" pulumi-lang-python=\"`kibana_configuration`\" pulumi-lang-yaml=\"`kibanaConfiguration`\" pulumi-lang-java=\"`kibanaConfiguration`\"\u003e`kibana_configuration`\u003c/span\u003e below.\n" }, "kibanaDomain": { "type": "string", - "description": "Kibana console domain (Internet access supported).\n" + "description": "Kibana address\n" }, "kibanaNodeSpec": { "type": "string", - "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n" + "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n", + "deprecationMessage": "Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead." }, "kibanaPort": { "type": "integer", - "description": "Kibana console port.\n" + "description": "The port assigned by the Kibana node.\n" }, "kibanaPrivateSecurityGroupId": { "type": "string", - "description": "the security group id associated with Kibana private network, this param is required when \u003cspan pulumi-lang-nodejs=\"`enableKibanaPrivateNetwork`\" pulumi-lang-dotnet=\"`EnableKibanaPrivateNetwork`\" pulumi-lang-go=\"`enableKibanaPrivateNetwork`\" pulumi-lang-python=\"`enable_kibana_private_network`\" pulumi-lang-yaml=\"`enableKibanaPrivateNetwork`\" pulumi-lang-java=\"`enableKibanaPrivateNetwork`\"\u003e`enable_kibana_private_network`\u003c/span\u003e set true, and the security group id should in the same VPC as \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e\n" + "description": "Kibana private network security group ID\n" }, "kibanaPrivateWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use \u003cspan pulumi-lang-nodejs=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-dotnet=\"`KibanaPrivateSecurityGroupId`\" pulumi-lang-go=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-python=\"`kibana_private_security_group_id`\" pulumi-lang-yaml=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-java=\"`kibanaPrivateSecurityGroupId`\"\u003e`kibana_private_security_group_id`\u003c/span\u003e instead\n" + "description": "Cluster Kibana node private network access whitelist\n" }, "kibanaWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in internet network.\n" + "description": "Kibana private network access whitelist\n" }, "kmsEncryptedPassword": { "type": "string", @@ -169568,22 +172936,35 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating instance with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "masterConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceMasterConfiguration:InstanceMasterConfiguration", + "description": "Elasticsearch proprietary master node configuration information See \u003cspan pulumi-lang-nodejs=\"`masterConfiguration`\" pulumi-lang-dotnet=\"`MasterConfiguration`\" pulumi-lang-go=\"`masterConfiguration`\" pulumi-lang-python=\"`master_configuration`\" pulumi-lang-yaml=\"`masterConfiguration`\" pulumi-lang-java=\"`masterConfiguration`\"\u003e`master_configuration`\u003c/span\u003e below.\n" + }, "masterNodeDiskType": { "type": "string", - "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n" + "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n", + "deprecationMessage": "Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead." }, "masterNodeSpec": { "type": "string", - "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n" + "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n", + "deprecationMessage": "Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead." + }, + "orderActionType": { + "type": "string" }, "password": { "type": "string", - "description": "The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^\u0026*()_+-=`).\n", + "description": "The access password of the instance.\n", "secret": true }, + "paymentType": { + "type": "string", + "description": "The payment method of the instance. Optional values: \u003cspan pulumi-lang-nodejs=\"`prepaid`\" pulumi-lang-dotnet=\"`Prepaid`\" pulumi-lang-go=\"`prepaid`\" pulumi-lang-python=\"`prepaid`\" pulumi-lang-yaml=\"`prepaid`\" pulumi-lang-java=\"`prepaid`\"\u003e`prepaid`\u003c/span\u003e (subscription) and \u003cspan pulumi-lang-nodejs=\"`postpaid`\" pulumi-lang-dotnet=\"`Postpaid`\" pulumi-lang-go=\"`postpaid`\" pulumi-lang-python=\"`postpaid`\" pulumi-lang-yaml=\"`postpaid`\" pulumi-lang-java=\"`postpaid`\"\u003e`postpaid`\u003c/span\u003e (pay-as-you-go)\n" + }, "period": { "type": "integer", - "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when\u003cspan pulumi-lang-nodejs=\" instanceChargeType \" pulumi-lang-dotnet=\" InstanceChargeType \" pulumi-lang-go=\" instanceChargeType \" pulumi-lang-python=\" instance_charge_type \" pulumi-lang-yaml=\" instanceChargeType \" pulumi-lang-java=\" instanceChargeType \"\u003e instance_charge_type \u003c/span\u003eis `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" + "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" }, "port": { "type": "integer", @@ -169594,60 +172975,63 @@ "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in VPC network.\n" + "description": "Elasticsearch private network whitelist. (Same as EsIpWhitelist)\n" }, "protocol": { "type": "string", - "description": "Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.\n" + "description": "Access protocol. Optional values: `HTTP` and **HTTPS * *.\n" }, "publicDomain": { "type": "string", - "description": "Instance connection public domain.\n" + "description": "The public network address of the current instance.\n" }, "publicPort": { "type": "integer", - "description": "Instance connection public port.\n" + "description": "Elasticsearch cluster public network access port\n" }, "publicWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in internet network.\n" + "description": "Elasticseach public network access whitelist IP list\n" }, "renewStatus": { "type": "string", - "description": "The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e must be `PrePaid`.\n" + "description": "Renewal Status\n" }, "renewalDurationUnit": { "type": "string", - "description": "Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`.\n" + "description": "Renewal Period Unit\n" }, "resourceGroupId": { "type": "string", - "description": "The ID of resource group which the Elasticsearch instance belongs.\n" + "description": "Resource group to which the instance belongs\n" }, "settingConfig": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).\n" + "description": "Configuration information\n" }, "status": { "type": "string", - "description": "The Elasticsearch instance status. Includes \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`activating`\" pulumi-lang-dotnet=\"`Activating`\" pulumi-lang-go=\"`activating`\" pulumi-lang-python=\"`activating`\" pulumi-lang-yaml=\"`activating`\" pulumi-lang-java=\"`activating`\"\u003e`activating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Some operations are denied when status is not \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n" + "description": "Instance change status\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "Collection of tag key-value pairs\n" + }, + "updateStrategy": { + "type": "string" }, "version": { "type": "string", - "description": "Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`.\n" + "description": "Instance version\n" }, "vswitchId": { "type": "string", @@ -169655,132 +173039,200 @@ }, "warmNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n" + "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead." + }, + "warmNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceWarmNodeConfiguration:InstanceWarmNodeConfiguration", + "description": "Elasticsearch cluster cold data node configuration See \u003cspan pulumi-lang-nodejs=\"`warmNodeConfiguration`\" pulumi-lang-dotnet=\"`WarmNodeConfiguration`\" pulumi-lang-go=\"`warmNodeConfiguration`\" pulumi-lang-python=\"`warm_node_configuration`\" pulumi-lang-yaml=\"`warmNodeConfiguration`\" pulumi-lang-java=\"`warmNodeConfiguration`\"\u003e`warm_node_configuration`\u003c/span\u003e below.\n" }, "warmNodeDiskEncrypted": { "type": "boolean", - "description": "If encrypt the warm node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" + "description": "If encrypt the warm node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead." }, "warmNodeDiskSize": { "type": "integer", - "description": "The single warm node storage space, should between 500 and 20480\n" + "description": "The single warm node storage space, should between 500 and 20480\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead." }, "warmNodeDiskType": { "type": "string", - "description": "The warm node disk type. Supported values: cloud_efficiency.\n" + "description": "The warm node disk type. Supported values: cloud_efficiency.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead." }, "warmNodeSpec": { "type": "string", - "description": "The warm node specifications of the Elasticsearch instance.\n" + "description": "The warm node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead." }, "zoneCount": { "type": "integer", - "description": "The Multi-AZ supported for Elasticsearch, between 1 and 3. The \u003cspan pulumi-lang-nodejs=\"`dataNodeAmount`\" pulumi-lang-dotnet=\"`DataNodeAmount`\" pulumi-lang-go=\"`dataNodeAmount`\" pulumi-lang-python=\"`data_node_amount`\" pulumi-lang-yaml=\"`dataNodeAmount`\" pulumi-lang-java=\"`dataNodeAmount`\"\u003e`data_node_amount`\u003c/span\u003e value must be an integral multiple of the \u003cspan pulumi-lang-nodejs=\"`zoneCount`\" pulumi-lang-dotnet=\"`ZoneCount`\" pulumi-lang-go=\"`zoneCount`\" pulumi-lang-python=\"`zone_count`\" pulumi-lang-yaml=\"`zoneCount`\" pulumi-lang-java=\"`zoneCount`\"\u003e`zone_count`\u003c/span\u003e value.\n" + "description": "The number of zones in the Elasticsearch instance.\n\nThe following arguments will be discarded. Please use new fields as soon as possible:\n" } }, "required": [ + "archType", + "clientNodeAmount", + "clientNodeConfiguration", + "clientNodeSpec", + "createTime", "dataNodeAmount", + "dataNodeConfiguration", + "dataNodeDiskEncrypted", + "dataNodeDiskPerformanceLevel", "dataNodeDiskSize", "dataNodeDiskType", "dataNodeSpec", "description", "domain", + "enableKibanaPrivateNetwork", + "enableKibanaPublicNetwork", + "enablePublic", + "instanceCategory", + "instanceChargeType", + "kibanaConfiguration", "kibanaDomain", "kibanaNodeSpec", "kibanaPort", "kibanaPrivateWhitelists", "kibanaWhitelists", + "masterConfiguration", + "masterNodeDiskType", + "masterNodeSpec", + "paymentType", + "period", "port", "privateWhitelists", + "protocol", "publicDomain", "publicPort", "publicWhitelists", + "renewStatus", + "renewalDurationUnit", "resourceGroupId", "settingConfig", "status", "version", - "vswitchId" + "vswitchId", + "warmNodeAmount", + "warmNodeConfiguration", + "warmNodeDiskEncrypted", + "warmNodeDiskSize", + "warmNodeDiskType", + "warmNodeSpec", + "zoneCount" ], "inputProperties": { "autoRenewDuration": { "type": "integer", - "description": "Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is `PrePaid` and \u003cspan pulumi-lang-nodejs=\"`renewStatus`\" pulumi-lang-dotnet=\"`RenewStatus`\" pulumi-lang-go=\"`renewStatus`\" pulumi-lang-python=\"`renew_status`\" pulumi-lang-yaml=\"`renewStatus`\" pulumi-lang-java=\"`renewStatus`\"\u003e`renew_status`\u003c/span\u003e is `AutoRenewal`.\n" + "description": "Renewal Period\n" }, "clientNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n" + "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n", + "deprecationMessage": "Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead." + }, + "clientNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceClientNodeConfiguration:InstanceClientNodeConfiguration", + "description": "Elasticsearch cluster coordination node configuration See \u003cspan pulumi-lang-nodejs=\"`clientNodeConfiguration`\" pulumi-lang-dotnet=\"`ClientNodeConfiguration`\" pulumi-lang-go=\"`clientNodeConfiguration`\" pulumi-lang-python=\"`client_node_configuration`\" pulumi-lang-yaml=\"`clientNodeConfiguration`\" pulumi-lang-java=\"`clientNodeConfiguration`\"\u003e`client_node_configuration`\u003c/span\u003e below.\n" }, "clientNodeSpec": { "type": "string", - "description": "The client node spec. If specified, client node will be created.\n" + "description": "The client node spec. If specified, client node will be created.\n", + "deprecationMessage": "Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead." }, "dataNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n" + "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n", + "deprecationMessage": "Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead." + }, + "dataNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceDataNodeConfiguration:InstanceDataNodeConfiguration", + "description": "Elasticsearch data node information See \u003cspan pulumi-lang-nodejs=\"`dataNodeConfiguration`\" pulumi-lang-dotnet=\"`DataNodeConfiguration`\" pulumi-lang-go=\"`dataNodeConfiguration`\" pulumi-lang-python=\"`data_node_configuration`\" pulumi-lang-yaml=\"`dataNodeConfiguration`\" pulumi-lang-java=\"`dataNodeConfiguration`\"\u003e`data_node_configuration`\u003c/span\u003e below.\n" }, "dataNodeDiskEncrypted": { "type": "boolean", "description": "If encrypt the data node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.", "willReplaceOnChanges": true }, "dataNodeDiskPerformanceLevel": { "type": "string", - "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n" + "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead." }, "dataNodeDiskSize": { "type": "integer", - "description": "The single data node storage space.\n" + "description": "The single data node storage space.\n", + "deprecationMessage": "Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead." }, "dataNodeDiskType": { "type": "string", "description": "The data node disk type. Supported values: cloud_ssd, cloud_efficiency.\n", + "deprecationMessage": "Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.", "willReplaceOnChanges": true }, "dataNodeSpec": { "type": "string", - "description": "The data node specifications of the Elasticsearch instance.\n" + "description": "The data node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead." }, "description": { "type": "string", - "description": "The description of instance. It a string of 0 to 30 characters.\n" + "description": "Instance name\n" }, "enableKibanaPrivateNetwork": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can close kibana private network access。\n" + "description": "Whether to enable Kibana private network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" }, "enableKibanaPublicNetwork": { "type": "boolean", - "description": "Bool, default to true. When it set to false, the instance can enable kibana public network access。\n" + "description": "Does Kibana enable public access\n" }, "enablePublic": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can enable public network access。\n" + "description": "Whether to enable Kibana public network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" + }, + "force": { + "type": "boolean" + }, + "instanceCategory": { + "type": "string", + "description": "Version type.\n", + "willReplaceOnChanges": true }, "instanceChargeType": { "type": "string", - "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n" + "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead." + }, + "kibanaConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceKibanaConfiguration:InstanceKibanaConfiguration", + "description": "Elasticsearch Kibana node settings See \u003cspan pulumi-lang-nodejs=\"`kibanaConfiguration`\" pulumi-lang-dotnet=\"`KibanaConfiguration`\" pulumi-lang-go=\"`kibanaConfiguration`\" pulumi-lang-python=\"`kibana_configuration`\" pulumi-lang-yaml=\"`kibanaConfiguration`\" pulumi-lang-java=\"`kibanaConfiguration`\"\u003e`kibana_configuration`\u003c/span\u003e below.\n" }, "kibanaNodeSpec": { "type": "string", - "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n" + "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n", + "deprecationMessage": "Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead." }, "kibanaPrivateSecurityGroupId": { "type": "string", - "description": "the security group id associated with Kibana private network, this param is required when \u003cspan pulumi-lang-nodejs=\"`enableKibanaPrivateNetwork`\" pulumi-lang-dotnet=\"`EnableKibanaPrivateNetwork`\" pulumi-lang-go=\"`enableKibanaPrivateNetwork`\" pulumi-lang-python=\"`enable_kibana_private_network`\" pulumi-lang-yaml=\"`enableKibanaPrivateNetwork`\" pulumi-lang-java=\"`enableKibanaPrivateNetwork`\"\u003e`enable_kibana_private_network`\u003c/span\u003e set true, and the security group id should in the same VPC as \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e\n" + "description": "Kibana private network security group ID\n" }, "kibanaPrivateWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use \u003cspan pulumi-lang-nodejs=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-dotnet=\"`KibanaPrivateSecurityGroupId`\" pulumi-lang-go=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-python=\"`kibana_private_security_group_id`\" pulumi-lang-yaml=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-java=\"`kibanaPrivateSecurityGroupId`\"\u003e`kibana_private_security_group_id`\u003c/span\u003e instead\n" + "description": "Cluster Kibana node private network access whitelist\n" }, "kibanaWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in internet network.\n" + "description": "Kibana private network access whitelist\n" }, "kmsEncryptedPassword": { "type": "string", @@ -169793,52 +173245,65 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating instance with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "masterConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceMasterConfiguration:InstanceMasterConfiguration", + "description": "Elasticsearch proprietary master node configuration information See \u003cspan pulumi-lang-nodejs=\"`masterConfiguration`\" pulumi-lang-dotnet=\"`MasterConfiguration`\" pulumi-lang-go=\"`masterConfiguration`\" pulumi-lang-python=\"`master_configuration`\" pulumi-lang-yaml=\"`masterConfiguration`\" pulumi-lang-java=\"`masterConfiguration`\"\u003e`master_configuration`\u003c/span\u003e below.\n" + }, "masterNodeDiskType": { "type": "string", - "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n" + "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n", + "deprecationMessage": "Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead." }, "masterNodeSpec": { "type": "string", - "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n" + "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n", + "deprecationMessage": "Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead." + }, + "orderActionType": { + "type": "string" }, "password": { "type": "string", - "description": "The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^\u0026*()_+-=`).\n", + "description": "The access password of the instance.\n", "secret": true }, + "paymentType": { + "type": "string", + "description": "The payment method of the instance. Optional values: \u003cspan pulumi-lang-nodejs=\"`prepaid`\" pulumi-lang-dotnet=\"`Prepaid`\" pulumi-lang-go=\"`prepaid`\" pulumi-lang-python=\"`prepaid`\" pulumi-lang-yaml=\"`prepaid`\" pulumi-lang-java=\"`prepaid`\"\u003e`prepaid`\u003c/span\u003e (subscription) and \u003cspan pulumi-lang-nodejs=\"`postpaid`\" pulumi-lang-dotnet=\"`Postpaid`\" pulumi-lang-go=\"`postpaid`\" pulumi-lang-python=\"`postpaid`\" pulumi-lang-yaml=\"`postpaid`\" pulumi-lang-java=\"`postpaid`\"\u003e`postpaid`\u003c/span\u003e (pay-as-you-go)\n" + }, "period": { "type": "integer", - "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when\u003cspan pulumi-lang-nodejs=\" instanceChargeType \" pulumi-lang-dotnet=\" InstanceChargeType \" pulumi-lang-go=\" instanceChargeType \" pulumi-lang-python=\" instance_charge_type \" pulumi-lang-yaml=\" instanceChargeType \" pulumi-lang-java=\" instanceChargeType \"\u003e instance_charge_type \u003c/span\u003eis `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" + "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" }, "privateWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in VPC network.\n" + "description": "Elasticsearch private network whitelist. (Same as EsIpWhitelist)\n" }, "protocol": { "type": "string", - "description": "Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.\n" + "description": "Access protocol. Optional values: `HTTP` and **HTTPS * *.\n" }, "publicWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in internet network.\n" + "description": "Elasticseach public network access whitelist IP list\n" }, "renewStatus": { "type": "string", - "description": "The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e must be `PrePaid`.\n" + "description": "Renewal Status\n" }, "renewalDurationUnit": { "type": "string", - "description": "Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`.\n" + "description": "Renewal Period Unit\n" }, "resourceGroupId": { "type": "string", - "description": "The ID of resource group which the Elasticsearch instance belongs.\n", + "description": "Resource group to which the instance belongs\n", "willReplaceOnChanges": true }, "settingConfig": { @@ -169846,18 +173311,21 @@ "additionalProperties": { "type": "string" }, - "description": "The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).\n" + "description": "Configuration information\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "Collection of tag key-value pairs\n" + }, + "updateStrategy": { + "type": "string" }, "version": { "type": "string", - "description": "Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`.\n", + "description": "Instance version\n", "willReplaceOnChanges": true }, "vswitchId": { @@ -169867,133 +173335,176 @@ }, "warmNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n" + "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead." + }, + "warmNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceWarmNodeConfiguration:InstanceWarmNodeConfiguration", + "description": "Elasticsearch cluster cold data node configuration See \u003cspan pulumi-lang-nodejs=\"`warmNodeConfiguration`\" pulumi-lang-dotnet=\"`WarmNodeConfiguration`\" pulumi-lang-go=\"`warmNodeConfiguration`\" pulumi-lang-python=\"`warm_node_configuration`\" pulumi-lang-yaml=\"`warmNodeConfiguration`\" pulumi-lang-java=\"`warmNodeConfiguration`\"\u003e`warm_node_configuration`\u003c/span\u003e below.\n" }, "warmNodeDiskEncrypted": { "type": "boolean", "description": "If encrypt the warm node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.", "willReplaceOnChanges": true }, "warmNodeDiskSize": { "type": "integer", - "description": "The single warm node storage space, should between 500 and 20480\n" + "description": "The single warm node storage space, should between 500 and 20480\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead." }, "warmNodeDiskType": { "type": "string", - "description": "The warm node disk type. Supported values: cloud_efficiency.\n" + "description": "The warm node disk type. Supported values: cloud_efficiency.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead." }, "warmNodeSpec": { "type": "string", - "description": "The warm node specifications of the Elasticsearch instance.\n" + "description": "The warm node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead." }, "zoneCount": { "type": "integer", - "description": "The Multi-AZ supported for Elasticsearch, between 1 and 3. The \u003cspan pulumi-lang-nodejs=\"`dataNodeAmount`\" pulumi-lang-dotnet=\"`DataNodeAmount`\" pulumi-lang-go=\"`dataNodeAmount`\" pulumi-lang-python=\"`data_node_amount`\" pulumi-lang-yaml=\"`dataNodeAmount`\" pulumi-lang-java=\"`dataNodeAmount`\"\u003e`data_node_amount`\u003c/span\u003e value must be an integral multiple of the \u003cspan pulumi-lang-nodejs=\"`zoneCount`\" pulumi-lang-dotnet=\"`ZoneCount`\" pulumi-lang-go=\"`zoneCount`\" pulumi-lang-python=\"`zone_count`\" pulumi-lang-yaml=\"`zoneCount`\" pulumi-lang-java=\"`zoneCount`\"\u003e`zone_count`\u003c/span\u003e value.\n", + "description": "The number of zones in the Elasticsearch instance.\n\nThe following arguments will be discarded. Please use new fields as soon as possible:\n", "willReplaceOnChanges": true } }, "requiredInputs": [ - "dataNodeAmount", - "dataNodeDiskSize", - "dataNodeDiskType", - "dataNodeSpec", "version", "vswitchId" ], "stateInputs": { "description": "Input properties used for looking up and filtering Instance resources.\n", "properties": { + "archType": { + "type": "string", + "description": "Schema Type:\n" + }, "autoRenewDuration": { "type": "integer", - "description": "Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e is `PrePaid` and \u003cspan pulumi-lang-nodejs=\"`renewStatus`\" pulumi-lang-dotnet=\"`RenewStatus`\" pulumi-lang-go=\"`renewStatus`\" pulumi-lang-python=\"`renew_status`\" pulumi-lang-yaml=\"`renewStatus`\" pulumi-lang-java=\"`renewStatus`\"\u003e`renew_status`\u003c/span\u003e is `AutoRenewal`.\n" + "description": "Renewal Period\n" }, "clientNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n" + "description": "The Elasticsearch cluster's client node quantity, between 2 and 25.\n", + "deprecationMessage": "Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead." + }, + "clientNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceClientNodeConfiguration:InstanceClientNodeConfiguration", + "description": "Elasticsearch cluster coordination node configuration See \u003cspan pulumi-lang-nodejs=\"`clientNodeConfiguration`\" pulumi-lang-dotnet=\"`ClientNodeConfiguration`\" pulumi-lang-go=\"`clientNodeConfiguration`\" pulumi-lang-python=\"`client_node_configuration`\" pulumi-lang-yaml=\"`clientNodeConfiguration`\" pulumi-lang-java=\"`clientNodeConfiguration`\"\u003e`client_node_configuration`\u003c/span\u003e below.\n" }, "clientNodeSpec": { "type": "string", - "description": "The client node spec. If specified, client node will be created.\n" + "description": "The client node spec. If specified, client node will be created.\n", + "deprecationMessage": "Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead." + }, + "createTime": { + "type": "string", + "description": "Instance creation time\n" }, "dataNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n" + "description": "The Elasticsearch cluster's data node quantity, between 2 and 50.\n", + "deprecationMessage": "Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead." + }, + "dataNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceDataNodeConfiguration:InstanceDataNodeConfiguration", + "description": "Elasticsearch data node information See \u003cspan pulumi-lang-nodejs=\"`dataNodeConfiguration`\" pulumi-lang-dotnet=\"`DataNodeConfiguration`\" pulumi-lang-go=\"`dataNodeConfiguration`\" pulumi-lang-python=\"`data_node_configuration`\" pulumi-lang-yaml=\"`dataNodeConfiguration`\" pulumi-lang-java=\"`dataNodeConfiguration`\"\u003e`data_node_configuration`\u003c/span\u003e below.\n" }, "dataNodeDiskEncrypted": { "type": "boolean", "description": "If encrypt the data node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.", "willReplaceOnChanges": true }, "dataNodeDiskPerformanceLevel": { "type": "string", - "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n" + "description": "Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The \u003cspan pulumi-lang-nodejs=\"`dataNodeDiskType`\" pulumi-lang-dotnet=\"`DataNodeDiskType`\" pulumi-lang-go=\"`dataNodeDiskType`\" pulumi-lang-python=\"`data_node_disk_type`\" pulumi-lang-yaml=\"`dataNodeDiskType`\" pulumi-lang-java=\"`dataNodeDiskType`\"\u003e`data_node_disk_type`\u003c/span\u003e muse be \u003cspan pulumi-lang-nodejs=\"`cloudEssd`\" pulumi-lang-dotnet=\"`CloudEssd`\" pulumi-lang-go=\"`cloudEssd`\" pulumi-lang-python=\"`cloud_essd`\" pulumi-lang-yaml=\"`cloudEssd`\" pulumi-lang-java=\"`cloudEssd`\"\u003e`cloud_essd`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead." }, "dataNodeDiskSize": { "type": "integer", - "description": "The single data node storage space.\n" + "description": "The single data node storage space.\n", + "deprecationMessage": "Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead." }, "dataNodeDiskType": { "type": "string", "description": "The data node disk type. Supported values: cloud_ssd, cloud_efficiency.\n", + "deprecationMessage": "Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.", "willReplaceOnChanges": true }, "dataNodeSpec": { "type": "string", - "description": "The data node specifications of the Elasticsearch instance.\n" + "description": "The data node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead." }, "description": { "type": "string", - "description": "The description of instance. It a string of 0 to 30 characters.\n" + "description": "Instance name\n" }, "domain": { "type": "string", - "description": "Instance connection domain (only VPC network access supported).\n" + "description": "Elasticsearch cluster private domain name\n" }, "enableKibanaPrivateNetwork": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can close kibana private network access。\n" + "description": "Whether to enable Kibana private network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" }, "enableKibanaPublicNetwork": { "type": "boolean", - "description": "Bool, default to true. When it set to false, the instance can enable kibana public network access。\n" + "description": "Does Kibana enable public access\n" }, "enablePublic": { "type": "boolean", - "description": "Bool, default to false. When it set to true, the instance can enable public network access。\n" + "description": "Whether to enable Kibana public network access.\n\nThe meaning of the value is as follows:\n- true: On.\n- false: does not open.\n" + }, + "force": { + "type": "boolean" + }, + "instanceCategory": { + "type": "string", + "description": "Version type.\n", + "willReplaceOnChanges": true }, "instanceChargeType": { "type": "string", - "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n" + "description": "Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your\u003cspan pulumi-lang-nodejs=\" instanceChargeYpe \" pulumi-lang-dotnet=\" InstanceChargeYpe \" pulumi-lang-go=\" instanceChargeYpe \" pulumi-lang-python=\" instance_charge_ype \" pulumi-lang-yaml=\" instanceChargeYpe \" pulumi-lang-java=\" instanceChargeYpe \"\u003e instance_charge_ype \u003c/span\u003efrom `PostPaid` to `PrePaid`, the following attributes are required: \u003cspan pulumi-lang-nodejs=\"`period`\" pulumi-lang-dotnet=\"`Period`\" pulumi-lang-go=\"`period`\" pulumi-lang-python=\"`period`\" pulumi-lang-yaml=\"`period`\" pulumi-lang-java=\"`period`\"\u003e`period`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead." + }, + "kibanaConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceKibanaConfiguration:InstanceKibanaConfiguration", + "description": "Elasticsearch Kibana node settings See \u003cspan pulumi-lang-nodejs=\"`kibanaConfiguration`\" pulumi-lang-dotnet=\"`KibanaConfiguration`\" pulumi-lang-go=\"`kibanaConfiguration`\" pulumi-lang-python=\"`kibana_configuration`\" pulumi-lang-yaml=\"`kibanaConfiguration`\" pulumi-lang-java=\"`kibanaConfiguration`\"\u003e`kibana_configuration`\u003c/span\u003e below.\n" }, "kibanaDomain": { "type": "string", - "description": "Kibana console domain (Internet access supported).\n" + "description": "Kibana address\n" }, "kibanaNodeSpec": { "type": "string", - "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n" + "description": "The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`.\n", + "deprecationMessage": "Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead." }, "kibanaPort": { "type": "integer", - "description": "Kibana console port.\n" + "description": "The port assigned by the Kibana node.\n" }, "kibanaPrivateSecurityGroupId": { "type": "string", - "description": "the security group id associated with Kibana private network, this param is required when \u003cspan pulumi-lang-nodejs=\"`enableKibanaPrivateNetwork`\" pulumi-lang-dotnet=\"`EnableKibanaPrivateNetwork`\" pulumi-lang-go=\"`enableKibanaPrivateNetwork`\" pulumi-lang-python=\"`enable_kibana_private_network`\" pulumi-lang-yaml=\"`enableKibanaPrivateNetwork`\" pulumi-lang-java=\"`enableKibanaPrivateNetwork`\"\u003e`enable_kibana_private_network`\u003c/span\u003e set true, and the security group id should in the same VPC as \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e\n" + "description": "Kibana private network security group ID\n" }, "kibanaPrivateWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use \u003cspan pulumi-lang-nodejs=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-dotnet=\"`KibanaPrivateSecurityGroupId`\" pulumi-lang-go=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-python=\"`kibana_private_security_group_id`\" pulumi-lang-yaml=\"`kibanaPrivateSecurityGroupId`\" pulumi-lang-java=\"`kibanaPrivateSecurityGroupId`\"\u003e`kibana_private_security_group_id`\u003c/span\u003e instead\n" + "description": "Cluster Kibana node private network access whitelist\n" }, "kibanaWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the Kibana's IP whitelist in internet network.\n" + "description": "Kibana private network access whitelist\n" }, "kmsEncryptedPassword": { "type": "string", @@ -170006,22 +173517,35 @@ }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating instance with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" }, + "masterConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceMasterConfiguration:InstanceMasterConfiguration", + "description": "Elasticsearch proprietary master node configuration information See \u003cspan pulumi-lang-nodejs=\"`masterConfiguration`\" pulumi-lang-dotnet=\"`MasterConfiguration`\" pulumi-lang-go=\"`masterConfiguration`\" pulumi-lang-python=\"`master_configuration`\" pulumi-lang-yaml=\"`masterConfiguration`\" pulumi-lang-java=\"`masterConfiguration`\"\u003e`master_configuration`\u003c/span\u003e below.\n" + }, "masterNodeDiskType": { "type": "string", - "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n" + "description": "The single master node storage space. Valid values are `PrePaid`, `PostPaid`.\n", + "deprecationMessage": "Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead." }, "masterNodeSpec": { "type": "string", - "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n" + "description": "The dedicated master node spec. If specified, dedicated master node will be created.\n", + "deprecationMessage": "Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead." + }, + "orderActionType": { + "type": "string" }, "password": { "type": "string", - "description": "The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^\u0026*()_+-=`).\n", + "description": "The access password of the instance.\n", "secret": true }, + "paymentType": { + "type": "string", + "description": "The payment method of the instance. Optional values: \u003cspan pulumi-lang-nodejs=\"`prepaid`\" pulumi-lang-dotnet=\"`Prepaid`\" pulumi-lang-go=\"`prepaid`\" pulumi-lang-python=\"`prepaid`\" pulumi-lang-yaml=\"`prepaid`\" pulumi-lang-java=\"`prepaid`\"\u003e`prepaid`\u003c/span\u003e (subscription) and \u003cspan pulumi-lang-nodejs=\"`postpaid`\" pulumi-lang-dotnet=\"`Postpaid`\" pulumi-lang-go=\"`postpaid`\" pulumi-lang-python=\"`postpaid`\" pulumi-lang-yaml=\"`postpaid`\" pulumi-lang-java=\"`postpaid`\"\u003e`postpaid`\u003c/span\u003e (pay-as-you-go)\n" + }, "period": { "type": "integer", - "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when\u003cspan pulumi-lang-nodejs=\" instanceChargeType \" pulumi-lang-dotnet=\" InstanceChargeType \" pulumi-lang-go=\" instanceChargeType \" pulumi-lang-python=\" instance_charge_type \" pulumi-lang-yaml=\" instanceChargeType \" pulumi-lang-java=\" instanceChargeType \"\u003e instance_charge_type \u003c/span\u003eis `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" + "description": "The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance.\n" }, "port": { "type": "integer", @@ -170032,38 +173556,38 @@ "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in VPC network.\n" + "description": "Elasticsearch private network whitelist. (Same as EsIpWhitelist)\n" }, "protocol": { "type": "string", - "description": "Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`.\n" + "description": "Access protocol. Optional values: `HTTP` and **HTTPS * *.\n" }, "publicDomain": { "type": "string", - "description": "Instance connection public domain.\n" + "description": "The public network address of the current instance.\n" }, "publicPort": { "type": "integer", - "description": "Instance connection public port.\n" + "description": "Elasticsearch cluster public network access port\n" }, "publicWhitelists": { "type": "array", "items": { "type": "string" }, - "description": "Set the instance's IP whitelist in internet network.\n" + "description": "Elasticseach public network access whitelist IP list\n" }, "renewStatus": { "type": "string", - "description": "The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The \u003cspan pulumi-lang-nodejs=\"`instanceChargeType`\" pulumi-lang-dotnet=\"`InstanceChargeType`\" pulumi-lang-go=\"`instanceChargeType`\" pulumi-lang-python=\"`instance_charge_type`\" pulumi-lang-yaml=\"`instanceChargeType`\" pulumi-lang-java=\"`instanceChargeType`\"\u003e`instance_charge_type`\u003c/span\u003e must be `PrePaid`.\n" + "description": "Renewal Status\n" }, "renewalDurationUnit": { "type": "string", - "description": "Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`.\n" + "description": "Renewal Period Unit\n" }, "resourceGroupId": { "type": "string", - "description": "The ID of resource group which the Elasticsearch instance belongs.\n", + "description": "Resource group to which the instance belongs\n", "willReplaceOnChanges": true }, "settingConfig": { @@ -170071,22 +173595,25 @@ "additionalProperties": { "type": "string" }, - "description": "The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html).\n" + "description": "Configuration information\n" }, "status": { "type": "string", - "description": "The Elasticsearch instance status. Includes \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`activating`\" pulumi-lang-dotnet=\"`Activating`\" pulumi-lang-go=\"`activating`\" pulumi-lang-python=\"`activating`\" pulumi-lang-yaml=\"`activating`\" pulumi-lang-java=\"`activating`\"\u003e`activating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Some operations are denied when status is not \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n" + "description": "Instance change status\n" }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A mapping of tags to assign to the resource.\n" + "description": "Collection of tag key-value pairs\n" + }, + "updateStrategy": { + "type": "string" }, "version": { "type": "string", - "description": "Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`.\n", + "description": "Instance version\n", "willReplaceOnChanges": true }, "vswitchId": { @@ -170096,28 +173623,37 @@ }, "warmNodeAmount": { "type": "integer", - "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n" + "description": "The Elasticsearch cluster's warm node quantity, between 3 and 50.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead." + }, + "warmNodeConfiguration": { + "$ref": "#/types/alicloud:elasticsearch/InstanceWarmNodeConfiguration:InstanceWarmNodeConfiguration", + "description": "Elasticsearch cluster cold data node configuration See \u003cspan pulumi-lang-nodejs=\"`warmNodeConfiguration`\" pulumi-lang-dotnet=\"`WarmNodeConfiguration`\" pulumi-lang-go=\"`warmNodeConfiguration`\" pulumi-lang-python=\"`warm_node_configuration`\" pulumi-lang-yaml=\"`warmNodeConfiguration`\" pulumi-lang-java=\"`warmNodeConfiguration`\"\u003e`warm_node_configuration`\u003c/span\u003e below.\n" }, "warmNodeDiskEncrypted": { "type": "boolean", "description": "If encrypt the warm node disk. Valid values are \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.", "willReplaceOnChanges": true }, "warmNodeDiskSize": { "type": "integer", - "description": "The single warm node storage space, should between 500 and 20480\n" + "description": "The single warm node storage space, should between 500 and 20480\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead." }, "warmNodeDiskType": { "type": "string", - "description": "The warm node disk type. Supported values: cloud_efficiency.\n" + "description": "The warm node disk type. Supported values: cloud_efficiency.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead." }, "warmNodeSpec": { "type": "string", - "description": "The warm node specifications of the Elasticsearch instance.\n" + "description": "The warm node specifications of the Elasticsearch instance.\n", + "deprecationMessage": "Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead." }, "zoneCount": { "type": "integer", - "description": "The Multi-AZ supported for Elasticsearch, between 1 and 3. The \u003cspan pulumi-lang-nodejs=\"`dataNodeAmount`\" pulumi-lang-dotnet=\"`DataNodeAmount`\" pulumi-lang-go=\"`dataNodeAmount`\" pulumi-lang-python=\"`data_node_amount`\" pulumi-lang-yaml=\"`dataNodeAmount`\" pulumi-lang-java=\"`dataNodeAmount`\"\u003e`data_node_amount`\u003c/span\u003e value must be an integral multiple of the \u003cspan pulumi-lang-nodejs=\"`zoneCount`\" pulumi-lang-dotnet=\"`ZoneCount`\" pulumi-lang-go=\"`zoneCount`\" pulumi-lang-python=\"`zone_count`\" pulumi-lang-yaml=\"`zoneCount`\" pulumi-lang-java=\"`zoneCount`\"\u003e`zone_count`\u003c/span\u003e value.\n", + "description": "The number of zones in the Elasticsearch instance.\n\nThe following arguments will be discarded. Please use new fields as soon as possible:\n", "willReplaceOnChanges": true } }, @@ -170125,7 +173661,7 @@ } }, "alicloud:emr/cluster:Cluster": { - "description": "Provides a EMR Cluster resource. With this you can create, read, and release EMR Cluster. \n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.204.0`. Please use new resource emrv2_cluster.\n\n\u003e **NOTE:** Available since v1.57.0.\n\n## Example Usage\n\n### 1. Create A Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-create-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-create-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-create-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-create-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-create-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 2. Scale Up\nThe hosts of EMR Cluster are orginized as host group. Scaling up/down is operating host group. \n\nIn the case of scaling up cluster, we should add the\u003cspan pulumi-lang-nodejs=\" nodeCount \" pulumi-lang-dotnet=\" NodeCount \" pulumi-lang-go=\" nodeCount \" pulumi-lang-python=\" node_count \" pulumi-lang-yaml=\" nodeCount \" pulumi-lang-java=\" nodeCount \"\u003e node_count \u003c/span\u003eof some host group. \n\n\u003e **NOTE:** Scaling up is only applicable to CORE and TASK group. Cost time of scaling up will vary with the number of scaling-up nodes. \nScaling down is only applicable to TASK group. If you want to scale down CORE group, please submit tickets or contact EMR support team.\n\nAs the following case, we scale up the TASK group 2 nodes by increasing host_group.node_count by 2.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-resize-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"4\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-resize-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"4\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-resize-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"4\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-resize-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"4\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-resize-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"4\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 3. Scale Down\n\nIn the case of scaling down a cluster, we need to specified the host group and the instance list. \n\n\u003e **NOTE:** Graceful decommission of hadoop cluster has been supported Available since v1.168.0.\n\nThe following is an example. We scale down the cluster by decreasing the node count by 2, and specifying the scale-down instance list.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-resize-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-resize-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-resize-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-resize-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-resize-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 4. Create a emr gateway cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\"GATEWAY\"],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst gateway = new alicloud.emr.Cluster(\"gateway\", {\n name: \"terraform-gateway-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: \"GATEWAY\",\n hostGroups: [{\n hostGroupName: \"master_group\",\n hostGroupType: \"GATEWAY\",\n nodeCount: \"1\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n }],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n relatedClusterId: relatedClusterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\"GATEWAY\"])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ngateway = alicloud.emr.Cluster(\"gateway\",\n name=\"terraform-gateway-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=\"GATEWAY\",\n host_groups=[{\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"GATEWAY\",\n \"node_count\": \"1\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n }],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\",\n related_cluster_id=related_cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"GATEWAY\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var gateway = new AliCloud.Emr.Cluster(\"gateway\", new()\n {\n Name = \"terraform-gateway-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = \"GATEWAY\",\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"GATEWAY\",\n NodeCount = \"1\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n RelatedClusterId = relatedClusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"GATEWAY\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp8 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp8 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp9 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp9 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"gateway\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-gateway-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(\"GATEWAY\"),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"GATEWAY\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"1\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp8),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp9),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t\tRelatedClusterId: pulumi.Any(relatedClusterId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes(\"GATEWAY\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var gateway = new Cluster(\"gateway\", ClusterArgs.builder()\n .name(\"terraform-gateway-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(\"GATEWAY\")\n .hostGroups(ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"GATEWAY\")\n .nodeCount(\"1\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .relatedClusterId(relatedClusterId)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAliclioud E-MapReduce cluster can be imported using the id e.g.\n\n```sh\n$ pulumi import alicloud:emr/cluster:Cluster default C-B47FB8FE96C67XXXX\n```\n\n", + "description": "Provides a EMR Cluster resource. With this you can create, read, and release EMR Cluster. \n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.204.0`. Please use new resource emrv2_cluster.\n\n\u003e **NOTE:** Available since v1.57.0.\n\n## Example Usage\n\n### 1. Create A Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-create-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-create-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-create-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-create-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-create-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 2. Scale Up\nThe hosts of EMR Cluster are orginized as host group. Scaling up/down is operating host group. \n\nIn the case of scaling up cluster, we should add the\u003cspan pulumi-lang-nodejs=\" nodeCount \" pulumi-lang-dotnet=\" NodeCount \" pulumi-lang-go=\" nodeCount \" pulumi-lang-python=\" node_count \" pulumi-lang-yaml=\" nodeCount \" pulumi-lang-java=\" nodeCount \"\u003e node_count \u003c/span\u003eof some host group. \n\n\u003e **NOTE:** Scaling up is only applicable to CORE and TASK group. Cost time of scaling up will vary with the number of scaling-up nodes. \nScaling down is only applicable to TASK group. If you want to scale down CORE group, please submit tickets or contact EMR support team.\n\nAs the following case, we scale up the TASK group 2 nodes by increasing host_group.node_count by 2.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-resize-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"4\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-resize-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"4\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-resize-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"4\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-resize-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"4\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-resize-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"4\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 3. Scale Down\n\nIn the case of scaling down a cluster, we need to specified the host group and the instance list. \n\n\u003e **NOTE:** Graceful decommission of hadoop cluster has been supported Available since v1.168.0.\n\nThe following is an example. We scale down the cluster by decreasing the node count by 2, and specifying the scale-down instance list.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emr.Cluster(\"default\", {\n name: \"terraform-resize-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: _default.then(_default =\u003e _default.mainVersions?.[0]?.clusterTypes?.[0]),\n hostGroups: [\n {\n hostGroupName: \"master_group\",\n hostGroupType: \"MASTER\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"core_group\",\n hostGroupType: \"CORE\",\n nodeCount: \"3\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n {\n hostGroupName: \"task_group\",\n hostGroupType: \"TASK\",\n nodeCount: \"2\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"4\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n },\n ],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n ])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault_cluster = alicloud.emr.Cluster(\"default\",\n name=\"terraform-resize-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=default.main_versions[0].cluster_types[0],\n host_groups=[\n {\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"MASTER\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"core_group\",\n \"host_group_type\": \"CORE\",\n \"node_count\": \"3\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n {\n \"host_group_name\": \"task_group\",\n \"host_group_type\": \"TASK\",\n \"node_count\": \"2\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"4\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n },\n ],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"MASTER\",\n \"CORE\",\n \"TASK\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emr.Cluster(\"default\", new()\n {\n Name = \"terraform-resize-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0])),\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"MASTER\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"core_group\",\n HostGroupType = \"CORE\",\n NodeCount = \"3\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"task_group\",\n HostGroupType = \"TASK\",\n NodeCount = \"2\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"4\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"MASTER\",\n\t\t\t\t\"CORE\",\n\t\t\t\t\"TASK\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp8 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp8 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp9 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp9 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp10 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp10 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp10 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp11 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp11 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp11 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp12 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp12 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp12 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp13 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp13 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp13 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"default\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-resize-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(_default.MainVersions[0].ClusterTypes[0]),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"core_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"3\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp8),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp9),\n\t\t\t\t},\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"task_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"TASK\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"2\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp10),\n\t\t\t\t\tDiskCount: pulumi.String(\"4\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp11),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp12),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp13),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes( \n \"MASTER\",\n \"CORE\",\n \"TASK\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .name(\"terraform-resize-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .hostGroups( \n ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"MASTER\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"core_group\")\n .hostGroupType(\"CORE\")\n .nodeCount(\"3\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build(),\n ClusterHostGroupArgs.builder()\n .hostGroupName(\"task_group\")\n .hostGroupType(\"TASK\")\n .nodeCount(\"2\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"4\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### 4. Create a emr gateway cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.emr.getMainVersions({});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.emr.getInstanceTypes({\n destinationResource: \"InstanceType\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n supportLocalStorage: false,\n instanceChargeType: \"PostPaid\",\n supportNodeTypes: [\"GATEWAY\"],\n}));\nconst dataDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"DataDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst systemDisk = Promise.all([_default, defaultGetInstanceTypes, defaultGetInstanceTypes]).then(([_default, defaultGetInstanceTypes, defaultGetInstanceTypes1]) =\u003e alicloud.emr.getDiskTypes({\n destinationResource: \"SystemDisk\",\n clusterType: _default.mainVersions?.[0]?.clusterTypes?.[0],\n instanceChargeType: \"PostPaid\",\n instanceType: defaultGetInstanceTypes.types?.[0]?.id,\n zoneId: defaultGetInstanceTypes1.types?.[0]?.zoneId,\n}));\nconst vpc: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c (vpcId == \"\" ? 1 : 0); range.value++) {\n vpc.push(new alicloud.vpc.Network(`vpc-${range.value}`, {\n name: vpcName,\n cidrBlock: vpcCidr,\n }));\n}\nconst defaultSecurityGroup: alicloud.ecs.SecurityGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c (securityGroupId == \"\" ? 1 : 0); range.value++) {\n defaultSecurityGroup.push(new alicloud.ecs.SecurityGroup(`default-${range.value}`, {\n name: securityGroupName,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// VSwitch Resource for Module\nconst vswitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c (vswitchId == \"\" ? 1 : 0); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n availabilityZone: availabilityZone == \"\" ? defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId) : availabilityZone,\n vswitchName: vswitchName,\n cidrBlock: vswitchCidr,\n vpcId: vpcId == \"\" ? vpc[0].id : vpcId,\n }));\n}\n// Ram role Resource for Module\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: ramName,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst gateway = new alicloud.emr.Cluster(\"gateway\", {\n name: \"terraform-gateway-cluster-test\",\n emrVer: _default.then(_default =\u003e _default.mainVersions?.[0]?.emrVersion),\n clusterType: \"GATEWAY\",\n hostGroups: [{\n hostGroupName: \"master_group\",\n hostGroupType: \"GATEWAY\",\n nodeCount: \"1\",\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.id),\n diskType: dataDisk.then(dataDisk =\u003e dataDisk.types?.[0]?.value),\n diskCapacity: Promise.all([dataDisk, dataDisk]).then(([dataDisk, dataDisk1]) =\u003e dataDisk.types?.[0]?.min \u003e 160 ? dataDisk1.types?.[0]?.min : 160),\n diskCount: \"1\",\n sysDiskType: systemDisk.then(systemDisk =\u003e systemDisk.types?.[0]?.value),\n sysDiskCapacity: Promise.all([systemDisk, systemDisk]).then(([systemDisk, systemDisk1]) =\u003e systemDisk.types?.[0]?.min \u003e 160 ? systemDisk1.types?.[0]?.min : 160),\n }],\n highAvailabilityEnable: true,\n zoneId: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.types?.[0]?.zoneId),\n securityGroupId: securityGroupId == \"\" ? defaultSecurityGroup[0].id : securityGroupId,\n isOpenPublicIp: true,\n chargeType: \"PostPaid\",\n vswitchId: vswitchId == \"\" ? vswitch[0].id : vswitchId,\n userDefinedEmrEcsRole: defaultRole.name,\n sshEnable: true,\n masterPwd: \"ABCtest1234!\",\n relatedClusterId: relatedClusterId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.emr.get_main_versions()\ndefault_get_instance_types = alicloud.emr.get_instance_types(destination_resource=\"InstanceType\",\n cluster_type=default.main_versions[0].cluster_types[0],\n support_local_storage=False,\n instance_charge_type=\"PostPaid\",\n support_node_types=[\"GATEWAY\"])\ndata_disk = alicloud.emr.get_disk_types(destination_resource=\"DataDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nsystem_disk = alicloud.emr.get_disk_types(destination_resource=\"SystemDisk\",\n cluster_type=default.main_versions[0].cluster_types[0],\n instance_charge_type=\"PostPaid\",\n instance_type=default_get_instance_types.types[0].id,\n zone_id=default_get_instance_types.types[0].zone_id)\nvpc = []\nfor range in [{\"value\": i} for i in range(0, 1 if vpc_id == else 0)]:\n vpc.append(alicloud.vpc.Network(f\"vpc-{range['value']}\",\n name=vpc_name,\n cidr_block=vpc_cidr))\ndefault_security_group = []\nfor range in [{\"value\": i} for i in range(0, 1 if security_group_id == else 0)]:\n default_security_group.append(alicloud.ecs.SecurityGroup(f\"default-{range['value']}\",\n name=security_group_name,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# VSwitch Resource for Module\nvswitch = []\nfor range in [{\"value\": i} for i in range(0, 1 if vswitch_id == else 0)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n availability_zone=default_get_instance_types.types[0].zone_id if availability_zone == \"\" else availability_zone,\n vswitch_name=vswitch_name,\n cidr_block=vswitch_cidr,\n vpc_id=vpc[0].id if vpc_id == \"\" else vpc_id))\n# Ram role Resource for Module\ndefault_role = alicloud.ram.Role(\"default\",\n name=ram_name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ngateway = alicloud.emr.Cluster(\"gateway\",\n name=\"terraform-gateway-cluster-test\",\n emr_ver=default.main_versions[0].emr_version,\n cluster_type=\"GATEWAY\",\n host_groups=[{\n \"host_group_name\": \"master_group\",\n \"host_group_type\": \"GATEWAY\",\n \"node_count\": \"1\",\n \"instance_type\": default_get_instance_types.types[0].id,\n \"disk_type\": data_disk.types[0].value,\n \"disk_capacity\": data_disk.types[0].min if data_disk.types[0].min \u003e 160 else \"160\",\n \"disk_count\": \"1\",\n \"sys_disk_type\": system_disk.types[0].value,\n \"sys_disk_capacity\": system_disk.types[0].min if system_disk.types[0].min \u003e 160 else \"160\",\n }],\n high_availability_enable=True,\n zone_id=default_get_instance_types.types[0].zone_id,\n security_group_id=default_security_group[0].id if security_group_id == \"\" else security_group_id,\n is_open_public_ip=True,\n charge_type=\"PostPaid\",\n vswitch_id=vswitch[0].id if vswitch_id == \"\" else vswitch_id,\n user_defined_emr_ecs_role=default_role.name,\n ssh_enable=True,\n master_pwd=\"ABCtest1234!\",\n related_cluster_id=related_cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Emr.GetMainVersions.Invoke();\n\n var defaultGetInstanceTypes = AliCloud.Emr.GetInstanceTypes.Invoke(new()\n {\n DestinationResource = \"InstanceType\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n SupportLocalStorage = false,\n InstanceChargeType = \"PostPaid\",\n SupportNodeTypes = new[]\n {\n \"GATEWAY\",\n },\n });\n\n var dataDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"DataDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var systemDisk = AliCloud.Emr.GetDiskTypes.Invoke(new()\n {\n DestinationResource = \"SystemDisk\",\n ClusterType = @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.ClusterTypes[0]),\n InstanceChargeType = \"PostPaid\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n });\n\n var vpc = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vpcId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vpc.Add(new AliCloud.Vpc.Network($\"vpc-{range.Value}\", new()\n {\n Name = vpcName,\n CidrBlock = vpcCidr,\n }));\n }\n var defaultSecurityGroup = new List\u003cAliCloud.Ecs.SecurityGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (securityGroupId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSecurityGroup.Add(new AliCloud.Ecs.SecurityGroup($\"default-{range.Value}\", new()\n {\n Name = securityGroupName,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // VSwitch Resource for Module\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c (vswitchId == \"\" ? 1 : 0); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n AvailabilityZone = availabilityZone == \"\" ? defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId) : availabilityZone,\n VswitchName = vswitchName,\n CidrBlock = vswitchCidr,\n VpcId = vpcId == \"\" ? vpc[0].Id : vpcId,\n }));\n }\n // Ram role Resource for Module\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = ramName,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var gateway = new AliCloud.Emr.Cluster(\"gateway\", new()\n {\n Name = \"terraform-gateway-cluster-test\",\n EmrVer = @default.Apply(@default =\u003e @default.Apply(getMainVersionsResult =\u003e getMainVersionsResult.MainVersions[0]?.EmrVersion)),\n ClusterType = \"GATEWAY\",\n HostGroups = new[]\n {\n new AliCloud.Emr.Inputs.ClusterHostGroupArgs\n {\n HostGroupName = \"master_group\",\n HostGroupType = \"GATEWAY\",\n NodeCount = \"1\",\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.Id),\n DiskType = dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n DiskCapacity = Output.Tuple(dataDisk, dataDisk).Apply(values =\u003e\n {\n var dataDisk = values.Item1;\n var dataDisk1 = values.Item2;\n return dataDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? dataDisk1.Types[0]?.Min : 160;\n }),\n DiskCount = \"1\",\n SysDiskType = systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Value),\n SysDiskCapacity = Output.Tuple(systemDisk, systemDisk).Apply(values =\u003e\n {\n var systemDisk = values.Item1;\n var systemDisk1 = values.Item2;\n return systemDisk.Apply(getDiskTypesResult =\u003e getDiskTypesResult.Types[0]?.Min) \u003e 160 ? systemDisk1.Types[0]?.Min : 160;\n }),\n },\n },\n HighAvailabilityEnable = true,\n ZoneId = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.Types[0]?.ZoneId),\n SecurityGroupId = securityGroupId == \"\" ? defaultSecurityGroup[0].Id : securityGroupId,\n IsOpenPublicIp = true,\n ChargeType = \"PostPaid\",\n VswitchId = vswitchId == \"\" ? vswitch[0].Id : vswitchId,\n UserDefinedEmrEcsRole = defaultRole.Name,\n SshEnable = true,\n MasterPwd = \"ABCtest1234!\",\n RelatedClusterId = relatedClusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := emr.GetMainVersions(ctx, \u0026emr.GetMainVersionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := emr.GetInstanceTypes(ctx, \u0026emr.GetInstanceTypesArgs{\n\t\t\tDestinationResource: \"InstanceType\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tSupportLocalStorage: pulumi.BoolRef(false),\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tSupportNodeTypes: []string{\n\t\t\t\t\"GATEWAY\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdataDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"DataDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsystemDisk, err := emr.GetDiskTypes(ctx, \u0026emr.GetDiskTypesArgs{\n\t\t\tDestinationResource: \"SystemDisk\",\n\t\t\tClusterType: _default.MainVersions[0].ClusterTypes[0],\n\t\t\tInstanceChargeType: \"PostPaid\",\n\t\t\tInstanceType: defaultGetInstanceTypes.Types[0].Id,\n\t\t\tZoneId: pulumi.StringRef(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif vpcId == \"\" {\n\t\t\ttmp0 = 1\n\t\t} else {\n\t\t\ttmp0 = 0\n\t\t}\n\t\tvar vpc []*vpc.Network\n\t\tfor index := 0; index \u003c tmp0; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"vpc-%v\", key0), \u0026vpc.NetworkArgs{\n\t\t\t\tName: pulumi.Any(vpcName),\n\t\t\t\tCidrBlock: pulumi.Any(vpcCidr),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvpc = append(vpc, __res)\n\t\t}\n\t\tvar tmp1 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp1 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp1 = pulumi.Any(vpcId)\n\t\t}\n\t\tvar tmp2 float64\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp2 = 1\n\t\t} else {\n\t\t\ttmp2 = 0\n\t\t}\n\t\tvar defaultSecurityGroup []*ecs.SecurityGroup\n\t\tfor index := 0; index \u003c tmp2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.SecurityGroupArgs{\n\t\t\t\tName: pulumi.Any(securityGroupName),\n\t\t\t\tVpcId: pulumi.String(tmp1),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultSecurityGroup = append(defaultSecurityGroup, __res)\n\t\t}\n\t\tvar tmp3 pulumi.String\n\t\tif availabilityZone == \"\" {\n\t\t\ttmp3 = pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId)\n\t\t} else {\n\t\t\ttmp3 = pulumi.Any(availabilityZone)\n\t\t}\n\t\tvar tmp4 pulumi.String\n\t\tif vpcId == \"\" {\n\t\t\ttmp4 = vpc[0].ID()\n\t\t} else {\n\t\t\ttmp4 = pulumi.Any(vpcId)\n\t\t}\n\t\t// VSwitch Resource for Module\n\t\tvar tmp5 float64\n\t\tif vswitchId == \"\" {\n\t\t\ttmp5 = 1\n\t\t} else {\n\t\t\ttmp5 = 0\n\t\t}\n\t\tvar vswitch []*vpc.Switch\n\t\tfor index := 0; index \u003c tmp5; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(tmp3),\n\t\t\t\tVswitchName: pulumi.Any(vswitchName),\n\t\t\t\tCidrBlock: pulumi.Any(vswitchCidr),\n\t\t\t\tVpcId: pulumi.String(tmp4),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvswitch = append(vswitch, __res)\n\t\t}\n\t\t// Ram role Resource for Module\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Any(ramName),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp6 pulumi.String\n\t\tif dataDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp6 = pulumi.Int(dataDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp6 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp7 pulumi.String\n\t\tif systemDisk.Types[0].Min \u003e 160 {\n\t\t\ttmp7 = pulumi.Int(systemDisk.Types[0].Min)\n\t\t} else {\n\t\t\ttmp7 = pulumi.String(\"160\")\n\t\t}\n\t\tvar tmp8 pulumi.String\n\t\tif securityGroupId == \"\" {\n\t\t\ttmp8 = defaultSecurityGroup[0].ID()\n\t\t} else {\n\t\t\ttmp8 = pulumi.Any(securityGroupId)\n\t\t}\n\t\tvar tmp9 pulumi.String\n\t\tif vswitchId == \"\" {\n\t\t\ttmp9 = vswitch[0].ID()\n\t\t} else {\n\t\t\ttmp9 = pulumi.Any(vswitchId)\n\t\t}\n\t\t_, err = emr.NewCluster(ctx, \"gateway\", \u0026emr.ClusterArgs{\n\t\t\tName: pulumi.String(\"terraform-gateway-cluster-test\"),\n\t\t\tEmrVer: pulumi.String(_default.MainVersions[0].EmrVersion),\n\t\t\tClusterType: pulumi.String(\"GATEWAY\"),\n\t\t\tHostGroups: emr.ClusterHostGroupArray{\n\t\t\t\t\u0026emr.ClusterHostGroupArgs{\n\t\t\t\t\tHostGroupName: pulumi.String(\"master_group\"),\n\t\t\t\t\tHostGroupType: pulumi.String(\"GATEWAY\"),\n\t\t\t\t\tNodeCount: pulumi.String(\"1\"),\n\t\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.Types[0].Id),\n\t\t\t\t\tDiskType: pulumi.String(dataDisk.Types[0].Value),\n\t\t\t\t\tDiskCapacity: pulumi.String(tmp6),\n\t\t\t\t\tDiskCount: pulumi.String(\"1\"),\n\t\t\t\t\tSysDiskType: pulumi.String(systemDisk.Types[0].Value),\n\t\t\t\t\tSysDiskCapacity: pulumi.String(tmp7),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHighAvailabilityEnable: pulumi.Bool(true),\n\t\t\tZoneId: pulumi.String(defaultGetInstanceTypes.Types[0].ZoneId),\n\t\t\tSecurityGroupId: pulumi.String(tmp8),\n\t\t\tIsOpenPublicIp: pulumi.Bool(true),\n\t\t\tChargeType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: pulumi.String(tmp9),\n\t\t\tUserDefinedEmrEcsRole: defaultRole.Name,\n\t\t\tSshEnable: pulumi.Bool(true),\n\t\t\tMasterPwd: pulumi.String(\"ABCtest1234!\"),\n\t\t\tRelatedClusterId: pulumi.Any(relatedClusterId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.emr.EmrFunctions;\nimport com.pulumi.alicloud.emr.inputs.GetMainVersionsArgs;\nimport com.pulumi.alicloud.emr.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.emr.inputs.GetDiskTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emr.Cluster;\nimport com.pulumi.alicloud.emr.ClusterArgs;\nimport com.pulumi.alicloud.emr.inputs.ClusterHostGroupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EmrFunctions.getMainVersions(GetMainVersionsArgs.builder()\n .build());\n\n final var defaultGetInstanceTypes = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .destinationResource(\"InstanceType\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .supportLocalStorage(false)\n .instanceChargeType(\"PostPaid\")\n .supportNodeTypes(\"GATEWAY\")\n .build());\n\n final var dataDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"DataDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n final var systemDisk = EmrFunctions.getDiskTypes(GetDiskTypesArgs.builder()\n .destinationResource(\"SystemDisk\")\n .clusterType(default_.mainVersions()[0].clusterTypes()[0])\n .instanceChargeType(\"PostPaid\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .build());\n\n for (var i = 0; i \u003c (vpcId == \"\" ? 1 : 0); i++) {\n new Network(\"vpc-\" + i, NetworkArgs.builder()\n .name(vpcName)\n .cidrBlock(vpcCidr)\n .build());\n\n \n}\n for (var i = 0; i \u003c (securityGroupId == \"\" ? 1 : 0); i++) {\n new SecurityGroup(\"defaultSecurityGroup-\" + i, SecurityGroupArgs.builder()\n .name(securityGroupName)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // VSwitch Resource for Module\n for (var i = 0; i \u003c (vswitchId == \"\" ? 1 : 0); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .availabilityZone(availabilityZone == \"\" ? defaultGetInstanceTypes.types()[0].zoneId() : availabilityZone)\n .vswitchName(vswitchName)\n .cidrBlock(vswitchCidr)\n .vpcId(vpcId == \"\" ? vpc[0].id() : vpcId)\n .build());\n\n \n}\n // Ram role Resource for Module\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(ramName)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var gateway = new Cluster(\"gateway\", ClusterArgs.builder()\n .name(\"terraform-gateway-cluster-test\")\n .emrVer(default_.mainVersions()[0].emrVersion())\n .clusterType(\"GATEWAY\")\n .hostGroups(ClusterHostGroupArgs.builder()\n .hostGroupName(\"master_group\")\n .hostGroupType(\"GATEWAY\")\n .nodeCount(\"1\")\n .instanceType(defaultGetInstanceTypes.types()[0].id())\n .diskType(dataDisk.types()[0].value())\n .diskCapacity(dataDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? dataDisk.types()[0].min() : \"160\")\n .diskCount(\"1\")\n .sysDiskType(systemDisk.types()[0].value())\n .sysDiskCapacity(systemDisk.types()[0].min().applyValue(___convert -\u003e ___convert \u003e 160) ? systemDisk.types()[0].min() : \"160\")\n .build())\n .highAvailabilityEnable(true)\n .zoneId(defaultGetInstanceTypes.types()[0].zoneId())\n .securityGroupId(securityGroupId == \"\" ? defaultSecurityGroup[0].id() : securityGroupId)\n .isOpenPublicIp(true)\n .chargeType(\"PostPaid\")\n .vswitchId(vswitchId == \"\" ? vswitch[0].id() : vswitchId)\n .userDefinedEmrEcsRole(defaultRole.name())\n .sshEnable(true)\n .masterPwd(\"ABCtest1234!\")\n .relatedClusterId(relatedClusterId)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAliclioud E-MapReduce cluster can be imported using the id e.g.\n\n```sh\n$ pulumi import alicloud:emr/cluster:Cluster default C-B47FB8FE96C67XXXX\n```\n\n", "properties": { "bootstrapActions": { "type": "array", @@ -170556,7 +174092,7 @@ } }, "alicloud:emrv2/cluster:Cluster": { - "description": "Provides a EMR cluster resource. This resource is based on EMR's new version OpenAPI.\n\nFor information about EMR New and how to use it, see [Add a domain](https://www.alibabacloud.com/help/doc-detail/28068.htm).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetKeys = alicloud.kms.getKeys({\n status: \"Enabled\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableInstanceType: \"ecs.g7.xlarge\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role example.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emrv2.Cluster(\"default\", {\n nodeGroups: [\n {\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [\"ecs.g7.xlarge\"],\n nodeCount: 1,\n spotInstanceRemedy: false,\n dataDisks: [{\n count: 3,\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n }],\n nodeGroupName: \"emr-master\",\n paymentType: \"PayAsYouGo\",\n withPublicIp: false,\n gracefulShutdown: false,\n systemDisk: {\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n count: 1,\n },\n nodeGroupType: \"MASTER\",\n },\n {\n spotInstanceRemedy: false,\n nodeGroupType: \"CORE\",\n vswitchIds: [defaultSwitch.id],\n nodeCount: 2,\n gracefulShutdown: false,\n systemDisk: {\n performanceLevel: \"PL0\",\n count: 1,\n category: \"cloud_essd\",\n size: 80,\n },\n dataDisks: [{\n count: 3,\n performanceLevel: \"PL0\",\n category: \"cloud_essd\",\n size: 80,\n }],\n nodeGroupName: \"emr-core\",\n paymentType: \"PayAsYouGo\",\n instanceTypes: [\"ecs.g7.xlarge\"],\n withPublicIp: false,\n },\n ],\n deployMode: \"NORMAL\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n releaseVersion: \"EMR-5.10.0\",\n applications: [\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n nodeAttributes: [{\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n keyPairName: defaultEcsKeyPair.id,\n dataDiskEncrypted: true,\n dataDiskKmsKeyId: defaultGetKeys.then(defaultGetKeys =\u003e defaultGetKeys.ids?.[0]),\n vpcId: defaultNetwork.id,\n ramRole: defaultRole.name,\n securityGroupId: defaultSecurityGroup.id,\n }],\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n clusterName: name,\n paymentType: \"PayAsYouGo\",\n clusterType: \"DATAFLOW\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_keys = alicloud.kms.get_keys(status=\"Enabled\")\ndefault_get_zones = alicloud.get_zones(available_instance_type=\"ecs.g7.xlarge\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=name)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_role = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role example.\",\n force=True)\ndefault_cluster = alicloud.emrv2.Cluster(\"default\",\n node_groups=[\n {\n \"vswitch_ids\": [default_switch.id],\n \"instance_types\": [\"ecs.g7.xlarge\"],\n \"node_count\": 1,\n \"spot_instance_remedy\": False,\n \"data_disks\": [{\n \"count\": 3,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n }],\n \"node_group_name\": \"emr-master\",\n \"payment_type\": \"PayAsYouGo\",\n \"with_public_ip\": False,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n \"count\": 1,\n },\n \"node_group_type\": \"MASTER\",\n },\n {\n \"spot_instance_remedy\": False,\n \"node_group_type\": \"CORE\",\n \"vswitch_ids\": [default_switch.id],\n \"node_count\": 2,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"performance_level\": \"PL0\",\n \"count\": 1,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n },\n \"data_disks\": [{\n \"count\": 3,\n \"performance_level\": \"PL0\",\n \"category\": \"cloud_essd\",\n \"size\": 80,\n }],\n \"node_group_name\": \"emr-core\",\n \"payment_type\": \"PayAsYouGo\",\n \"instance_types\": [\"ecs.g7.xlarge\"],\n \"with_public_ip\": False,\n },\n ],\n deploy_mode=\"NORMAL\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n release_version=\"EMR-5.10.0\",\n applications=[\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n node_attributes=[{\n \"zone_id\": default_get_zones.zones[0].id,\n \"key_pair_name\": default_ecs_key_pair.id,\n \"data_disk_encrypted\": True,\n \"data_disk_kms_key_id\": default_get_keys.ids[0],\n \"vpc_id\": default_network.id,\n \"ram_role\": default_role.name,\n \"security_group_id\": default_security_group.id,\n }],\n resource_group_id=default.ids[0],\n cluster_name=name,\n payment_type=\"PayAsYouGo\",\n cluster_type=\"DATAFLOW\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetKeys = AliCloud.Kms.GetKeys.Invoke(new()\n {\n Status = \"Enabled\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableInstanceType = \"ecs.g7.xlarge\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role example.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emrv2.Cluster(\"default\", new()\n {\n NodeGroups = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n \"ecs.g7.xlarge\",\n },\n NodeCount = 1,\n SpotInstanceRemedy = false,\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n },\n },\n NodeGroupName = \"emr-master\",\n PaymentType = \"PayAsYouGo\",\n WithPublicIp = false,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n Count = 1,\n },\n NodeGroupType = \"MASTER\",\n },\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n SpotInstanceRemedy = false,\n NodeGroupType = \"CORE\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NodeCount = 2,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n PerformanceLevel = \"PL0\",\n Count = 1,\n Category = \"cloud_essd\",\n Size = 80,\n },\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n PerformanceLevel = \"PL0\",\n Category = \"cloud_essd\",\n Size = 80,\n },\n },\n NodeGroupName = \"emr-core\",\n PaymentType = \"PayAsYouGo\",\n InstanceTypes = new[]\n {\n \"ecs.g7.xlarge\",\n },\n WithPublicIp = false,\n },\n },\n DeployMode = \"NORMAL\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ReleaseVersion = \"EMR-5.10.0\",\n Applications = new[]\n {\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n },\n NodeAttributes = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n KeyPairName = defaultEcsKeyPair.Id,\n DataDiskEncrypted = true,\n DataDiskKmsKeyId = defaultGetKeys.Apply(getKeysResult =\u003e getKeysResult.Ids[0]),\n VpcId = defaultNetwork.Id,\n RamRole = defaultRole.Name,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ClusterName = name,\n PaymentType = \"PayAsYouGo\",\n ClusterType = \"DATAFLOW\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emrv2\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetKeys, err := kms.GetKeys(ctx, \u0026kms.GetKeysArgs{\n\t\t\tStatus: pulumi.StringRef(\"Enabled\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableInstanceType: pulumi.StringRef(\"ecs.g7.xlarge\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"default\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role example.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emrv2.NewCluster(ctx, \"default\", \u0026emrv2.ClusterArgs{\n\t\t\tNodeGroups: emrv2.ClusterNodeGroupArray{\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g7.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-master\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t},\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tNodeGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-core\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g7.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeployMode: pulumi.String(\"NORMAL\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tReleaseVersion: pulumi.String(\"EMR-5.10.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"HADOOP-COMMON\"),\n\t\t\t\tpulumi.String(\"HDFS\"),\n\t\t\t\tpulumi.String(\"YARN\"),\n\t\t\t},\n\t\t\tNodeAttributes: emrv2.ClusterNodeAttributeArray{\n\t\t\t\t\u0026emrv2.ClusterNodeAttributeArgs{\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t\tKeyPairName: defaultEcsKeyPair.ID(),\n\t\t\t\t\tDataDiskEncrypted: pulumi.Bool(true),\n\t\t\t\t\tDataDiskKmsKeyId: pulumi.String(defaultGetKeys.Ids[0]),\n\t\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\t\tRamRole: defaultRole.Name,\n\t\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tClusterType: pulumi.String(\"DATAFLOW\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.inputs.GetKeysArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emrv2.Cluster;\nimport com.pulumi.alicloud.emrv2.ClusterArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetKeys = KmsFunctions.getKeys(GetKeysArgs.builder()\n .status(\"Enabled\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableInstanceType(\"ecs.g7.xlarge\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultEcsKeyPair = new EcsKeyPair(\"defaultEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role example.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .nodeGroups( \n ClusterNodeGroupArgs.builder()\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(\"ecs.g7.xlarge\")\n .nodeCount(1)\n .spotInstanceRemedy(false)\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .build())\n .nodeGroupName(\"emr-master\")\n .paymentType(\"PayAsYouGo\")\n .withPublicIp(false)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .count(1)\n .build())\n .nodeGroupType(\"MASTER\")\n .build(),\n ClusterNodeGroupArgs.builder()\n .spotInstanceRemedy(false)\n .nodeGroupType(\"CORE\")\n .vswitchIds(defaultSwitch.id())\n .nodeCount(2)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .performanceLevel(\"PL0\")\n .count(1)\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .performanceLevel(\"PL0\")\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .nodeGroupName(\"emr-core\")\n .paymentType(\"PayAsYouGo\")\n .instanceTypes(\"ecs.g7.xlarge\")\n .withPublicIp(false)\n .build())\n .deployMode(\"NORMAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .releaseVersion(\"EMR-5.10.0\")\n .applications( \n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\")\n .nodeAttributes(ClusterNodeAttributeArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .keyPairName(defaultEcsKeyPair.id())\n .dataDiskEncrypted(true)\n .dataDiskKmsKeyId(defaultGetKeys.ids()[0])\n .vpcId(defaultNetwork.id())\n .ramRole(defaultRole.name())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .resourceGroupId(default_.ids()[0])\n .clusterName(name)\n .paymentType(\"PayAsYouGo\")\n .clusterType(\"DATAFLOW\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role example.\n force: true\n defaultCluster:\n type: alicloud:emrv2:Cluster\n name: default\n properties:\n nodeGroups:\n - vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ecs.g7.xlarge\n nodeCount: '1'\n spotInstanceRemedy: 'false'\n dataDisks:\n - count: '3'\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n nodeGroupName: emr-master\n paymentType: PayAsYouGo\n withPublicIp: 'false'\n gracefulShutdown: 'false'\n systemDisk:\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n count: '1'\n nodeGroupType: MASTER\n - spotInstanceRemedy: 'false'\n nodeGroupType: CORE\n vswitchIds:\n - ${defaultSwitch.id}\n nodeCount: '2'\n gracefulShutdown: 'false'\n systemDisk:\n performanceLevel: PL0\n count: '1'\n category: cloud_essd\n size: '80'\n dataDisks:\n - count: '3'\n performanceLevel: PL0\n category: cloud_essd\n size: '80'\n nodeGroupName: emr-core\n paymentType: PayAsYouGo\n instanceTypes:\n - ecs.g7.xlarge\n withPublicIp: 'false'\n deployMode: NORMAL\n tags:\n Created: TF\n For: example\n releaseVersion: EMR-5.10.0\n applications:\n - HADOOP-COMMON\n - HDFS\n - YARN\n nodeAttributes:\n - zoneId: ${defaultGetZones.zones[0].id}\n keyPairName: ${defaultEcsKeyPair.id}\n dataDiskEncrypted: 'true'\n dataDiskKmsKeyId: ${defaultGetKeys.ids[0]}\n vpcId: ${defaultNetwork.id}\n ramRole: ${defaultRole.name}\n securityGroupId: ${defaultSecurityGroup.id}\n resourceGroupId: ${default.ids[0]}\n clusterName: ${name}\n paymentType: PayAsYouGo\n clusterType: DATAFLOW\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetKeys:\n fn::invoke:\n function: alicloud:kms:getKeys\n arguments:\n status: Enabled\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableInstanceType: ecs.g7.xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAliclioud E-MapReduce cluster can be imported using the id e.g.\n\n```sh\n$ pulumi import alicloud:emrv2/cluster:Cluster default \u003cid\u003e\n```\n\n", + "description": "Provides a EMR cluster resource. This resource is based on EMR's new version OpenAPI.\n\nFor information about EMR New and how to use it, see [Add a domain](https://www.alibabacloud.com/help/doc-detail/28068.htm).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetKeys = alicloud.kms.getKeys({\n status: \"Enabled\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableInstanceType: \"ecs.g7.xlarge\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"default\", {keyPairName: `${name}-${defaultInteger.result}`});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role example.\",\n force: true,\n});\nconst defaultCluster = new alicloud.emrv2.Cluster(\"default\", {\n nodeGroups: [\n {\n vswitchIds: [defaultSwitch.id],\n instanceTypes: [\"ecs.g7.xlarge\"],\n nodeCount: 1,\n spotInstanceRemedy: false,\n dataDisks: [{\n count: 3,\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n }],\n nodeGroupName: \"emr-master\",\n paymentType: \"PayAsYouGo\",\n withPublicIp: false,\n gracefulShutdown: false,\n systemDisk: {\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n count: 1,\n },\n nodeGroupType: \"MASTER\",\n },\n {\n spotInstanceRemedy: false,\n nodeGroupType: \"CORE\",\n vswitchIds: [defaultSwitch.id],\n nodeCount: 2,\n gracefulShutdown: false,\n systemDisk: {\n performanceLevel: \"PL0\",\n count: 1,\n category: \"cloud_essd\",\n size: 80,\n },\n dataDisks: [{\n count: 3,\n performanceLevel: \"PL0\",\n category: \"cloud_essd\",\n size: 80,\n }],\n nodeGroupName: \"emr-core\",\n paymentType: \"PayAsYouGo\",\n instanceTypes: [\"ecs.g7.xlarge\"],\n withPublicIp: false,\n },\n ],\n deployMode: \"NORMAL\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n releaseVersion: \"EMR-5.10.0\",\n applications: [\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n nodeAttributes: [{\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n keyPairName: defaultEcsKeyPair.id,\n dataDiskEncrypted: true,\n dataDiskKmsKeyId: defaultGetKeys.then(defaultGetKeys =\u003e defaultGetKeys.ids?.[0]),\n vpcId: defaultNetwork.id,\n ramRole: defaultRole.name,\n securityGroupId: defaultSecurityGroup.id,\n }],\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n clusterName: name,\n paymentType: \"PayAsYouGo\",\n clusterType: \"DATAFLOW\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_keys = alicloud.kms.get_keys(status=\"Enabled\")\ndefault_get_zones = alicloud.get_zones(available_instance_type=\"ecs.g7.xlarge\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=name)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"default\", key_pair_name=f\"{name}-{default_integer['result']}\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_role = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role example.\",\n force=True)\ndefault_cluster = alicloud.emrv2.Cluster(\"default\",\n node_groups=[\n {\n \"vswitch_ids\": [default_switch.id],\n \"instance_types\": [\"ecs.g7.xlarge\"],\n \"node_count\": 1,\n \"spot_instance_remedy\": False,\n \"data_disks\": [{\n \"count\": 3,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n }],\n \"node_group_name\": \"emr-master\",\n \"payment_type\": \"PayAsYouGo\",\n \"with_public_ip\": False,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n \"count\": 1,\n },\n \"node_group_type\": \"MASTER\",\n },\n {\n \"spot_instance_remedy\": False,\n \"node_group_type\": \"CORE\",\n \"vswitch_ids\": [default_switch.id],\n \"node_count\": 2,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"performance_level\": \"PL0\",\n \"count\": 1,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n },\n \"data_disks\": [{\n \"count\": 3,\n \"performance_level\": \"PL0\",\n \"category\": \"cloud_essd\",\n \"size\": 80,\n }],\n \"node_group_name\": \"emr-core\",\n \"payment_type\": \"PayAsYouGo\",\n \"instance_types\": [\"ecs.g7.xlarge\"],\n \"with_public_ip\": False,\n },\n ],\n deploy_mode=\"NORMAL\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n release_version=\"EMR-5.10.0\",\n applications=[\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n node_attributes=[{\n \"zone_id\": default_get_zones.zones[0].id,\n \"key_pair_name\": default_ecs_key_pair.id,\n \"data_disk_encrypted\": True,\n \"data_disk_kms_key_id\": default_get_keys.ids[0],\n \"vpc_id\": default_network.id,\n \"ram_role\": default_role.name,\n \"security_group_id\": default_security_group.id,\n }],\n resource_group_id=default.ids[0],\n cluster_name=name,\n payment_type=\"PayAsYouGo\",\n cluster_type=\"DATAFLOW\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetKeys = AliCloud.Kms.GetKeys.Invoke(new()\n {\n Status = \"Enabled\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableInstanceType = \"ecs.g7.xlarge\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"default\", new()\n {\n KeyPairName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role example.\",\n Force = true,\n });\n\n var defaultCluster = new AliCloud.Emrv2.Cluster(\"default\", new()\n {\n NodeGroups = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n InstanceTypes = new[]\n {\n \"ecs.g7.xlarge\",\n },\n NodeCount = 1,\n SpotInstanceRemedy = false,\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n },\n },\n NodeGroupName = \"emr-master\",\n PaymentType = \"PayAsYouGo\",\n WithPublicIp = false,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n Count = 1,\n },\n NodeGroupType = \"MASTER\",\n },\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n SpotInstanceRemedy = false,\n NodeGroupType = \"CORE\",\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n NodeCount = 2,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n PerformanceLevel = \"PL0\",\n Count = 1,\n Category = \"cloud_essd\",\n Size = 80,\n },\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n PerformanceLevel = \"PL0\",\n Category = \"cloud_essd\",\n Size = 80,\n },\n },\n NodeGroupName = \"emr-core\",\n PaymentType = \"PayAsYouGo\",\n InstanceTypes = new[]\n {\n \"ecs.g7.xlarge\",\n },\n WithPublicIp = false,\n },\n },\n DeployMode = \"NORMAL\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ReleaseVersion = \"EMR-5.10.0\",\n Applications = new[]\n {\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n },\n NodeAttributes = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n KeyPairName = defaultEcsKeyPair.Id,\n DataDiskEncrypted = true,\n DataDiskKmsKeyId = defaultGetKeys.Apply(getKeysResult =\u003e getKeysResult.Ids[0]),\n VpcId = defaultNetwork.Id,\n RamRole = defaultRole.Name,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ClusterName = name,\n PaymentType = \"PayAsYouGo\",\n ClusterType = \"DATAFLOW\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emrv2\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetKeys, err := kms.GetKeys(ctx, \u0026kms.GetKeysArgs{\n\t\t\tStatus: pulumi.StringRef(\"Enabled\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableInstanceType: pulumi.StringRef(\"ecs.g7.xlarge\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"default\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role example.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = emrv2.NewCluster(ctx, \"default\", \u0026emrv2.ClusterArgs{\n\t\t\tNodeGroups: emrv2.ClusterNodeGroupArray{\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g7.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-master\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t},\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tNodeGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-core\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g7.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeployMode: pulumi.String(\"NORMAL\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tReleaseVersion: pulumi.String(\"EMR-5.10.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"HADOOP-COMMON\"),\n\t\t\t\tpulumi.String(\"HDFS\"),\n\t\t\t\tpulumi.String(\"YARN\"),\n\t\t\t},\n\t\t\tNodeAttributes: emrv2.ClusterNodeAttributeArray{\n\t\t\t\t\u0026emrv2.ClusterNodeAttributeArgs{\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t\tKeyPairName: defaultEcsKeyPair.ID(),\n\t\t\t\t\tDataDiskEncrypted: pulumi.Bool(true),\n\t\t\t\t\tDataDiskKmsKeyId: pulumi.String(defaultGetKeys.Ids[0]),\n\t\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\t\tRamRole: defaultRole.Name,\n\t\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tClusterType: pulumi.String(\"DATAFLOW\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.inputs.GetKeysArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.emrv2.Cluster;\nimport com.pulumi.alicloud.emrv2.ClusterArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetKeys = KmsFunctions.getKeys(GetKeysArgs.builder()\n .status(\"Enabled\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableInstanceType(\"ecs.g7.xlarge\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultEcsKeyPair = new EcsKeyPair(\"defaultEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role example.\")\n .force(true)\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .nodeGroups( \n ClusterNodeGroupArgs.builder()\n .vswitchIds(defaultSwitch.id())\n .instanceTypes(\"ecs.g7.xlarge\")\n .nodeCount(1)\n .spotInstanceRemedy(false)\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .build())\n .nodeGroupName(\"emr-master\")\n .paymentType(\"PayAsYouGo\")\n .withPublicIp(false)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .count(1)\n .build())\n .nodeGroupType(\"MASTER\")\n .build(),\n ClusterNodeGroupArgs.builder()\n .spotInstanceRemedy(false)\n .nodeGroupType(\"CORE\")\n .vswitchIds(defaultSwitch.id())\n .nodeCount(2)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .performanceLevel(\"PL0\")\n .count(1)\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .performanceLevel(\"PL0\")\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .nodeGroupName(\"emr-core\")\n .paymentType(\"PayAsYouGo\")\n .instanceTypes(\"ecs.g7.xlarge\")\n .withPublicIp(false)\n .build())\n .deployMode(\"NORMAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .releaseVersion(\"EMR-5.10.0\")\n .applications( \n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\")\n .nodeAttributes(ClusterNodeAttributeArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .keyPairName(defaultEcsKeyPair.id())\n .dataDiskEncrypted(true)\n .dataDiskKmsKeyId(defaultGetKeys.ids()[0])\n .vpcId(defaultNetwork.id())\n .ramRole(defaultRole.name())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .resourceGroupId(default_.ids()[0])\n .clusterName(name)\n .paymentType(\"PayAsYouGo\")\n .clusterType(\"DATAFLOW\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: default\n properties:\n keyPairName: ${name}-${defaultInteger.result}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role example.\n force: true\n defaultCluster:\n type: alicloud:emrv2:Cluster\n name: default\n properties:\n nodeGroups:\n - vswitchIds:\n - ${defaultSwitch.id}\n instanceTypes:\n - ecs.g7.xlarge\n nodeCount: '1'\n spotInstanceRemedy: 'false'\n dataDisks:\n - count: '3'\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n nodeGroupName: emr-master\n paymentType: PayAsYouGo\n withPublicIp: 'false'\n gracefulShutdown: 'false'\n systemDisk:\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n count: '1'\n nodeGroupType: MASTER\n - spotInstanceRemedy: 'false'\n nodeGroupType: CORE\n vswitchIds:\n - ${defaultSwitch.id}\n nodeCount: '2'\n gracefulShutdown: 'false'\n systemDisk:\n performanceLevel: PL0\n count: '1'\n category: cloud_essd\n size: '80'\n dataDisks:\n - count: '3'\n performanceLevel: PL0\n category: cloud_essd\n size: '80'\n nodeGroupName: emr-core\n paymentType: PayAsYouGo\n instanceTypes:\n - ecs.g7.xlarge\n withPublicIp: 'false'\n deployMode: NORMAL\n tags:\n Created: TF\n For: example\n releaseVersion: EMR-5.10.0\n applications:\n - HADOOP-COMMON\n - HDFS\n - YARN\n nodeAttributes:\n - zoneId: ${defaultGetZones.zones[0].id}\n keyPairName: ${defaultEcsKeyPair.id}\n dataDiskEncrypted: 'true'\n dataDiskKmsKeyId: ${defaultGetKeys.ids[0]}\n vpcId: ${defaultNetwork.id}\n ramRole: ${defaultRole.name}\n securityGroupId: ${defaultSecurityGroup.id}\n resourceGroupId: ${default.ids[0]}\n clusterName: ${name}\n paymentType: PayAsYouGo\n clusterType: DATAFLOW\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetKeys:\n fn::invoke:\n function: alicloud:kms:getKeys\n arguments:\n status: Enabled\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableInstanceType: ecs.g7.xlarge\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAliclioud E-MapReduce cluster can be imported using the id e.g.\n\n```sh\n$ pulumi import alicloud:emrv2/cluster:Cluster default \u003cid\u003e\n```\n\n", "properties": { "applicationConfigs": { "type": "array", @@ -170846,7 +174382,7 @@ } }, "alicloud:ens/disk:Disk": { - "description": "Provides a ENS Disk resource.\n\nThe disk. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Disk and how to use it, see [What is Disk](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-createdisk).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Disk(\"default\", {\n category: \"cloud_ssd\",\n size: 20,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chongqing-11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Disk(\"default\",\n category=\"cloud_ssd\",\n size=20,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chongqing-11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Disk(\"default\", new()\n {\n Category = \"cloud_ssd\",\n Size = 20,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chongqing-11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewDisk(ctx, \"default\", \u0026ens.DiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chongqing-11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Disk(\"default\", DiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(20)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chongqing-11\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Disk\n properties:\n category: cloud_ssd\n size: '20'\n paymentType: PayAsYouGo\n ensRegionId: cn-chongqing-11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/disk:Disk example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Disk resource.\n\nThe disk. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Disk and how to use it, see [What is Disk](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-createdisk).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Disk(\"default\", {\n category: \"cloud_ssd\",\n size: 20,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chongqing-11\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Disk(\"default\",\n category=\"cloud_ssd\",\n size=20,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chongqing-11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Disk(\"default\", new()\n {\n Category = \"cloud_ssd\",\n Size = 20,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chongqing-11\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewDisk(ctx, \"default\", \u0026ens.DiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_ssd\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chongqing-11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Disk(\"default\", DiskArgs.builder()\n .category(\"cloud_ssd\")\n .size(20)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chongqing-11\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Disk\n properties:\n category: cloud_ssd\n size: '20'\n paymentType: PayAsYouGo\n ensRegionId: cn-chongqing-11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/disk:Disk example \u003cid\u003e\n```\n\n", "properties": { "category": { "type": "string", @@ -171017,7 +174553,7 @@ } }, "alicloud:ens/diskInstanceAttachment:DiskInstanceAttachment": { - "description": "Provides a ENS Disk Instance Attachment resource. Disk instance mount.\n\nFor information about ENS Disk Instance Attachment and how to use it, see [What is Disk Instance Attachment](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-attachdisk).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Disk(\"default\", {\n size: 20,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n paymentType: \"PayAsYouGo\",\n category: \"cloud_efficiency\",\n});\nconst defaultInstance = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678ABCabc\",\n amount: 1,\n internetMaxBandwidthOut: 10,\n uniqueSuffix: true,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n scheduleAreaLevel: \"Region\",\n periodUnit: \"Month\",\n period: 1,\n});\nconst defaultDiskInstanceAttachment = new alicloud.ens.DiskInstanceAttachment(\"default\", {\n instanceId: defaultInstance.id,\n deleteWithInstance: \"false\",\n diskId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Disk(\"default\",\n size=20,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n payment_type=\"PayAsYouGo\",\n category=\"cloud_efficiency\")\ndefault_instance = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678ABCabc\",\n amount=1,\n internet_max_bandwidth_out=10,\n unique_suffix=True,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n schedule_area_level=\"Region\",\n period_unit=\"Month\",\n period=1)\ndefault_disk_instance_attachment = alicloud.ens.DiskInstanceAttachment(\"default\",\n instance_id=default_instance.id,\n delete_with_instance=\"false\",\n disk_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Disk(\"default\", new()\n {\n Size = 20,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PaymentType = \"PayAsYouGo\",\n Category = \"cloud_efficiency\",\n });\n\n var defaultInstance = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n InternetMaxBandwidthOut = 10,\n UniqueSuffix = true,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n ScheduleAreaLevel = \"Region\",\n PeriodUnit = \"Month\",\n Period = 1,\n });\n\n var defaultDiskInstanceAttachment = new AliCloud.Ens.DiskInstanceAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n DeleteWithInstance = \"false\",\n DiskId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewDisk(ctx, \"default\", \u0026ens.DiskArgs{\n\t\t\tSize: pulumi.Int(20),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tUniqueSuffix: pulumi.Bool(true),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewDiskInstanceAttachment(ctx, \"default\", \u0026ens.DiskInstanceAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tDeleteWithInstance: pulumi.String(\"false\"),\n\t\t\tDiskId: _default.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.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport com.pulumi.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.DiskInstanceAttachment;\nimport com.pulumi.alicloud.ens.DiskInstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Disk(\"default\", DiskArgs.builder()\n .size(20)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .paymentType(\"PayAsYouGo\")\n .category(\"cloud_efficiency\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .internetMaxBandwidthOut(10)\n .uniqueSuffix(true)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .scheduleAreaLevel(\"Region\")\n .periodUnit(\"Month\")\n .period(1)\n .build());\n\n var defaultDiskInstanceAttachment = new DiskInstanceAttachment(\"defaultDiskInstanceAttachment\", DiskInstanceAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .deleteWithInstance(\"false\")\n .diskId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Disk\n properties:\n size: '20'\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n paymentType: PayAsYouGo\n category: cloud_efficiency\n defaultInstance:\n type: alicloud:ens:Instance\n name: default\n properties:\n systemDisk:\n size: '20'\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678ABCabc\n amount: '1'\n internetMaxBandwidthOut: '10'\n uniqueSuffix: true\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n scheduleAreaLevel: Region\n periodUnit: Month\n period: '1'\n defaultDiskInstanceAttachment:\n type: alicloud:ens:DiskInstanceAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n deleteWithInstance: 'false'\n diskId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Disk Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/diskInstanceAttachment:DiskInstanceAttachment example \u003cdisk_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a ENS Disk Instance Attachment resource. Disk instance mount.\n\nFor information about ENS Disk Instance Attachment and how to use it, see [What is Disk Instance Attachment](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-attachdisk).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Disk(\"default\", {\n size: 20,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n paymentType: \"PayAsYouGo\",\n category: \"cloud_efficiency\",\n});\nconst defaultInstance = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678ABCabc\",\n amount: 1,\n internetMaxBandwidthOut: 10,\n uniqueSuffix: true,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n scheduleAreaLevel: \"Region\",\n periodUnit: \"Month\",\n period: 1,\n});\nconst defaultDiskInstanceAttachment = new alicloud.ens.DiskInstanceAttachment(\"default\", {\n instanceId: defaultInstance.id,\n deleteWithInstance: \"false\",\n diskId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Disk(\"default\",\n size=20,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n payment_type=\"PayAsYouGo\",\n category=\"cloud_efficiency\")\ndefault_instance = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678ABCabc\",\n amount=1,\n internet_max_bandwidth_out=10,\n unique_suffix=True,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n schedule_area_level=\"Region\",\n period_unit=\"Month\",\n period=1)\ndefault_disk_instance_attachment = alicloud.ens.DiskInstanceAttachment(\"default\",\n instance_id=default_instance.id,\n delete_with_instance=\"false\",\n disk_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Disk(\"default\", new()\n {\n Size = 20,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PaymentType = \"PayAsYouGo\",\n Category = \"cloud_efficiency\",\n });\n\n var defaultInstance = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n InternetMaxBandwidthOut = 10,\n UniqueSuffix = true,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n ScheduleAreaLevel = \"Region\",\n PeriodUnit = \"Month\",\n Period = 1,\n });\n\n var defaultDiskInstanceAttachment = new AliCloud.Ens.DiskInstanceAttachment(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n DeleteWithInstance = \"false\",\n DiskId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewDisk(ctx, \"default\", \u0026ens.DiskArgs{\n\t\t\tSize: pulumi.Int(20),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tUniqueSuffix: pulumi.Bool(true),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewDiskInstanceAttachment(ctx, \"default\", \u0026ens.DiskInstanceAttachmentArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tDeleteWithInstance: pulumi.String(\"false\"),\n\t\t\tDiskId: _default.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.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport com.pulumi.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.DiskInstanceAttachment;\nimport com.pulumi.alicloud.ens.DiskInstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Disk(\"default\", DiskArgs.builder()\n .size(20)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .paymentType(\"PayAsYouGo\")\n .category(\"cloud_efficiency\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .internetMaxBandwidthOut(10)\n .uniqueSuffix(true)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .scheduleAreaLevel(\"Region\")\n .periodUnit(\"Month\")\n .period(1)\n .build());\n\n var defaultDiskInstanceAttachment = new DiskInstanceAttachment(\"defaultDiskInstanceAttachment\", DiskInstanceAttachmentArgs.builder()\n .instanceId(defaultInstance.id())\n .deleteWithInstance(\"false\")\n .diskId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Disk\n properties:\n size: '20'\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n paymentType: PayAsYouGo\n category: cloud_efficiency\n defaultInstance:\n type: alicloud:ens:Instance\n name: default\n properties:\n systemDisk:\n size: '20'\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678ABCabc\n amount: '1'\n internetMaxBandwidthOut: '10'\n uniqueSuffix: true\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n scheduleAreaLevel: Region\n periodUnit: Month\n period: '1'\n defaultDiskInstanceAttachment:\n type: alicloud:ens:DiskInstanceAttachment\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n deleteWithInstance: 'false'\n diskId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Disk Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/diskInstanceAttachment:DiskInstanceAttachment example \u003cdisk_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "deleteWithInstance": { "type": "string", @@ -171078,7 +174614,7 @@ } }, "alicloud:ens/eip:Eip": { - "description": "Provides a ENS Eip resource.\n\nEdge elastic public network IP. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Eip and how to use it, see [What is Eip](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createeipinstance).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Eip(\"default\", {\n description: \"EipDescription_autotest\",\n bandwidth: 5,\n isp: \"cmcc\",\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n eipName: name,\n internetChargeType: \"95BandwidthByMonth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Eip(\"default\",\n description=\"EipDescription_autotest\",\n bandwidth=5,\n isp=\"cmcc\",\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n eip_name=name,\n internet_charge_type=\"95BandwidthByMonth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Eip(\"default\", new()\n {\n Description = \"EipDescription_autotest\",\n Bandwidth = 5,\n Isp = \"cmcc\",\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n EipName = name,\n InternetChargeType = \"95BandwidthByMonth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewEip(ctx, \"default\", \u0026ens.EipArgs{\n\t\t\tDescription: pulumi.String(\"EipDescription_autotest\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tIsp: pulumi.String(\"cmcc\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tEipName: pulumi.String(name),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Eip;\nimport com.pulumi.alicloud.ens.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Eip(\"default\", EipArgs.builder()\n .description(\"EipDescription_autotest\")\n .bandwidth(5)\n .isp(\"cmcc\")\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .eipName(name)\n .internetChargeType(\"95BandwidthByMonth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Eip\n properties:\n description: EipDescription_autotest\n bandwidth: '5'\n isp: cmcc\n paymentType: PayAsYouGo\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n eipName: ${name}\n internetChargeType: 95BandwidthByMonth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Eip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/eip:Eip example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Eip resource.\n\nEdge elastic public network IP. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Eip and how to use it, see [What is Eip](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createeipinstance).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Eip(\"default\", {\n description: \"EipDescription_autotest\",\n bandwidth: 5,\n isp: \"cmcc\",\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n eipName: name,\n internetChargeType: \"95BandwidthByMonth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Eip(\"default\",\n description=\"EipDescription_autotest\",\n bandwidth=5,\n isp=\"cmcc\",\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n eip_name=name,\n internet_charge_type=\"95BandwidthByMonth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Eip(\"default\", new()\n {\n Description = \"EipDescription_autotest\",\n Bandwidth = 5,\n Isp = \"cmcc\",\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n EipName = name,\n InternetChargeType = \"95BandwidthByMonth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewEip(ctx, \"default\", \u0026ens.EipArgs{\n\t\t\tDescription: pulumi.String(\"EipDescription_autotest\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tIsp: pulumi.String(\"cmcc\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tEipName: pulumi.String(name),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Eip;\nimport com.pulumi.alicloud.ens.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Eip(\"default\", EipArgs.builder()\n .description(\"EipDescription_autotest\")\n .bandwidth(5)\n .isp(\"cmcc\")\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .eipName(name)\n .internetChargeType(\"95BandwidthByMonth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Eip\n properties:\n description: EipDescription_autotest\n bandwidth: '5'\n isp: cmcc\n paymentType: PayAsYouGo\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n eipName: ${name}\n internetChargeType: 95BandwidthByMonth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Eip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/eip:Eip example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -171213,7 +174749,7 @@ } }, "alicloud:ens/eipInstanceAttachment:EipInstanceAttachment": { - "description": "Provides a Ens Eip Instance Attachment resource.\n\nBind an EIP to an instance.\n\nFor information about Ens Eip Instance Attachment and how to use it, see [What is Eip Instance Attachment](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-associateenseipaddress).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst ensRegionId = config.get(\"ensRegionId\") || \"cn-chenzhou-telecom_unicom_cmcc\";\nconst defaultXKjq1W = new alicloud.ens.Instance(\"defaultXKjq1W\", {\n systemDisk: {\n size: 20,\n category: \"cloud_efficiency\",\n },\n schedulingStrategy: \"Concentrate\",\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678abcABC\",\n status: \"Running\",\n amount: 1,\n internetChargeType: \"95BandwidthByMonth\",\n instanceName: name,\n autoUseCoupon: \"true\",\n instanceChargeStrategy: \"PriceHighPriority\",\n ensRegionId: ensRegionId,\n periodUnit: \"Month\",\n});\nconst defaultsGsN4e = new alicloud.ens.Eip(\"defaultsGsN4e\", {\n bandwidth: 5,\n eipName: name,\n ensRegionId: ensRegionId,\n internetChargeType: \"95BandwidthByMonth\",\n paymentType: \"PayAsYouGo\",\n});\nconst _default = new alicloud.ens.EipInstanceAttachment(\"default\", {\n instanceId: defaultXKjq1W.id,\n allocationId: defaultsGsN4e.id,\n instanceType: \"EnsInstance\",\n standby: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nens_region_id = config.get(\"ensRegionId\")\nif ens_region_id is None:\n ens_region_id = \"cn-chenzhou-telecom_unicom_cmcc\"\ndefault_x_kjq1_w = alicloud.ens.Instance(\"defaultXKjq1W\",\n system_disk={\n \"size\": 20,\n \"category\": \"cloud_efficiency\",\n },\n scheduling_strategy=\"Concentrate\",\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678abcABC\",\n status=\"Running\",\n amount=1,\n internet_charge_type=\"95BandwidthByMonth\",\n instance_name=name,\n auto_use_coupon=\"true\",\n instance_charge_strategy=\"PriceHighPriority\",\n ens_region_id=ens_region_id,\n period_unit=\"Month\")\ndefaults_gs_n4e = alicloud.ens.Eip(\"defaultsGsN4e\",\n bandwidth=5,\n eip_name=name,\n ens_region_id=ens_region_id,\n internet_charge_type=\"95BandwidthByMonth\",\n payment_type=\"PayAsYouGo\")\ndefault = alicloud.ens.EipInstanceAttachment(\"default\",\n instance_id=default_x_kjq1_w.id,\n allocation_id=defaults_gs_n4e.id,\n instance_type=\"EnsInstance\",\n standby=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var ensRegionId = config.Get(\"ensRegionId\") ?? \"cn-chenzhou-telecom_unicom_cmcc\";\n var defaultXKjq1W = new AliCloud.Ens.Instance(\"defaultXKjq1W\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n Category = \"cloud_efficiency\",\n },\n SchedulingStrategy = \"Concentrate\",\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678abcABC\",\n Status = \"Running\",\n Amount = 1,\n InternetChargeType = \"95BandwidthByMonth\",\n InstanceName = name,\n AutoUseCoupon = \"true\",\n InstanceChargeStrategy = \"PriceHighPriority\",\n EnsRegionId = ensRegionId,\n PeriodUnit = \"Month\",\n });\n\n var defaultsGsN4e = new AliCloud.Ens.Eip(\"defaultsGsN4e\", new()\n {\n Bandwidth = 5,\n EipName = name,\n EnsRegionId = ensRegionId,\n InternetChargeType = \"95BandwidthByMonth\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var @default = new AliCloud.Ens.EipInstanceAttachment(\"default\", new()\n {\n InstanceId = defaultXKjq1W.Id,\n AllocationId = defaultsGsN4e.Id,\n InstanceType = \"EnsInstance\",\n Standby = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tensRegionId := \"cn-chenzhou-telecom_unicom_cmcc\"\n\t\tif param := cfg.Get(\"ensRegionId\"); param != \"\" {\n\t\t\tensRegionId = param\n\t\t}\n\t\tdefaultXKjq1W, err := ens.NewInstance(ctx, \"defaultXKjq1W\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\t},\n\t\t\tSchedulingStrategy: pulumi.String(\"Concentrate\"),\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678abcABC\"),\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tInstanceChargeStrategy: pulumi.String(\"PriceHighPriority\"),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultsGsN4e, err := ens.NewEip(ctx, \"defaultsGsN4e\", \u0026ens.EipArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tEipName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewEipInstanceAttachment(ctx, \"default\", \u0026ens.EipInstanceAttachmentArgs{\n\t\t\tInstanceId: defaultXKjq1W.ID(),\n\t\t\tAllocationId: defaultsGsN4e.ID(),\n\t\t\tInstanceType: pulumi.String(\"EnsInstance\"),\n\t\t\tStandby: 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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.Eip;\nimport com.pulumi.alicloud.ens.EipArgs;\nimport com.pulumi.alicloud.ens.EipInstanceAttachment;\nimport com.pulumi.alicloud.ens.EipInstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var ensRegionId = config.get(\"ensRegionId\").orElse(\"cn-chenzhou-telecom_unicom_cmcc\");\n var defaultXKjq1W = new Instance(\"defaultXKjq1W\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .category(\"cloud_efficiency\")\n .build())\n .schedulingStrategy(\"Concentrate\")\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678abcABC\")\n .status(\"Running\")\n .amount(1)\n .internetChargeType(\"95BandwidthByMonth\")\n .instanceName(name)\n .autoUseCoupon(\"true\")\n .instanceChargeStrategy(\"PriceHighPriority\")\n .ensRegionId(ensRegionId)\n .periodUnit(\"Month\")\n .build());\n\n var defaultsGsN4e = new Eip(\"defaultsGsN4e\", EipArgs.builder()\n .bandwidth(5)\n .eipName(name)\n .ensRegionId(ensRegionId)\n .internetChargeType(\"95BandwidthByMonth\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var default_ = new EipInstanceAttachment(\"default\", EipInstanceAttachmentArgs.builder()\n .instanceId(defaultXKjq1W.id())\n .allocationId(defaultsGsN4e.id())\n .instanceType(\"EnsInstance\")\n .standby(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n ensRegionId:\n type: string\n default: cn-chenzhou-telecom_unicom_cmcc\nresources:\n defaultXKjq1W:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n category: cloud_efficiency\n schedulingStrategy: Concentrate\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678abcABC\n status: Running\n amount: '1'\n internetChargeType: 95BandwidthByMonth\n instanceName: ${name}\n autoUseCoupon: 'true'\n instanceChargeStrategy: PriceHighPriority\n ensRegionId: ${ensRegionId}\n periodUnit: Month\n defaultsGsN4e:\n type: alicloud:ens:Eip\n properties:\n bandwidth: '5'\n eipName: ${name}\n ensRegionId: ${ensRegionId}\n internetChargeType: 95BandwidthByMonth\n paymentType: PayAsYouGo\n default:\n type: alicloud:ens:EipInstanceAttachment\n properties:\n instanceId: ${defaultXKjq1W.id}\n allocationId: ${defaultsGsN4e.id}\n instanceType: EnsInstance\n standby: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEns Eip Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/eipInstanceAttachment:EipInstanceAttachment example \u003callocation_id\u003e:\u003cinstance_id\u003e:\u003cinstance_type\u003e\n```\n\n", + "description": "Provides a Ens Eip Instance Attachment resource.\n\nBind an EIP to an instance.\n\nFor information about Ens Eip Instance Attachment and how to use it, see [What is Eip Instance Attachment](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-associateenseipaddress).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst ensRegionId = config.get(\"ensRegionId\") || \"cn-chenzhou-telecom_unicom_cmcc\";\nconst defaultXKjq1W = new alicloud.ens.Instance(\"defaultXKjq1W\", {\n systemDisk: {\n size: 20,\n category: \"cloud_efficiency\",\n },\n schedulingStrategy: \"Concentrate\",\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678abcABC\",\n status: \"Running\",\n amount: 1,\n internetChargeType: \"95BandwidthByMonth\",\n instanceName: name,\n autoUseCoupon: \"true\",\n instanceChargeStrategy: \"PriceHighPriority\",\n ensRegionId: ensRegionId,\n periodUnit: \"Month\",\n});\nconst defaultsGsN4e = new alicloud.ens.Eip(\"defaultsGsN4e\", {\n bandwidth: 5,\n eipName: name,\n ensRegionId: ensRegionId,\n internetChargeType: \"95BandwidthByMonth\",\n paymentType: \"PayAsYouGo\",\n});\nconst _default = new alicloud.ens.EipInstanceAttachment(\"default\", {\n instanceId: defaultXKjq1W.id,\n allocationId: defaultsGsN4e.id,\n instanceType: \"EnsInstance\",\n standby: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nens_region_id = config.get(\"ensRegionId\")\nif ens_region_id is None:\n ens_region_id = \"cn-chenzhou-telecom_unicom_cmcc\"\ndefault_x_kjq1_w = alicloud.ens.Instance(\"defaultXKjq1W\",\n system_disk={\n \"size\": 20,\n \"category\": \"cloud_efficiency\",\n },\n scheduling_strategy=\"Concentrate\",\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678abcABC\",\n status=\"Running\",\n amount=1,\n internet_charge_type=\"95BandwidthByMonth\",\n instance_name=name,\n auto_use_coupon=\"true\",\n instance_charge_strategy=\"PriceHighPriority\",\n ens_region_id=ens_region_id,\n period_unit=\"Month\")\ndefaults_gs_n4e = alicloud.ens.Eip(\"defaultsGsN4e\",\n bandwidth=5,\n eip_name=name,\n ens_region_id=ens_region_id,\n internet_charge_type=\"95BandwidthByMonth\",\n payment_type=\"PayAsYouGo\")\ndefault = alicloud.ens.EipInstanceAttachment(\"default\",\n instance_id=default_x_kjq1_w.id,\n allocation_id=defaults_gs_n4e.id,\n instance_type=\"EnsInstance\",\n standby=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var ensRegionId = config.Get(\"ensRegionId\") ?? \"cn-chenzhou-telecom_unicom_cmcc\";\n var defaultXKjq1W = new AliCloud.Ens.Instance(\"defaultXKjq1W\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n Category = \"cloud_efficiency\",\n },\n SchedulingStrategy = \"Concentrate\",\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678abcABC\",\n Status = \"Running\",\n Amount = 1,\n InternetChargeType = \"95BandwidthByMonth\",\n InstanceName = name,\n AutoUseCoupon = \"true\",\n InstanceChargeStrategy = \"PriceHighPriority\",\n EnsRegionId = ensRegionId,\n PeriodUnit = \"Month\",\n });\n\n var defaultsGsN4e = new AliCloud.Ens.Eip(\"defaultsGsN4e\", new()\n {\n Bandwidth = 5,\n EipName = name,\n EnsRegionId = ensRegionId,\n InternetChargeType = \"95BandwidthByMonth\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var @default = new AliCloud.Ens.EipInstanceAttachment(\"default\", new()\n {\n InstanceId = defaultXKjq1W.Id,\n AllocationId = defaultsGsN4e.Id,\n InstanceType = \"EnsInstance\",\n Standby = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tensRegionId := \"cn-chenzhou-telecom_unicom_cmcc\"\n\t\tif param := cfg.Get(\"ensRegionId\"); param != \"\" {\n\t\t\tensRegionId = param\n\t\t}\n\t\tdefaultXKjq1W, err := ens.NewInstance(ctx, \"defaultXKjq1W\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\t},\n\t\t\tSchedulingStrategy: pulumi.String(\"Concentrate\"),\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678abcABC\"),\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tInstanceChargeStrategy: pulumi.String(\"PriceHighPriority\"),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultsGsN4e, err := ens.NewEip(ctx, \"defaultsGsN4e\", \u0026ens.EipArgs{\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tEipName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t\tInternetChargeType: pulumi.String(\"95BandwidthByMonth\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewEipInstanceAttachment(ctx, \"default\", \u0026ens.EipInstanceAttachmentArgs{\n\t\t\tInstanceId: defaultXKjq1W.ID(),\n\t\t\tAllocationId: defaultsGsN4e.ID(),\n\t\t\tInstanceType: pulumi.String(\"EnsInstance\"),\n\t\t\tStandby: 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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.Eip;\nimport com.pulumi.alicloud.ens.EipArgs;\nimport com.pulumi.alicloud.ens.EipInstanceAttachment;\nimport com.pulumi.alicloud.ens.EipInstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var ensRegionId = config.get(\"ensRegionId\").orElse(\"cn-chenzhou-telecom_unicom_cmcc\");\n var defaultXKjq1W = new Instance(\"defaultXKjq1W\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .category(\"cloud_efficiency\")\n .build())\n .schedulingStrategy(\"Concentrate\")\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678abcABC\")\n .status(\"Running\")\n .amount(1)\n .internetChargeType(\"95BandwidthByMonth\")\n .instanceName(name)\n .autoUseCoupon(\"true\")\n .instanceChargeStrategy(\"PriceHighPriority\")\n .ensRegionId(ensRegionId)\n .periodUnit(\"Month\")\n .build());\n\n var defaultsGsN4e = new Eip(\"defaultsGsN4e\", EipArgs.builder()\n .bandwidth(5)\n .eipName(name)\n .ensRegionId(ensRegionId)\n .internetChargeType(\"95BandwidthByMonth\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var default_ = new EipInstanceAttachment(\"default\", EipInstanceAttachmentArgs.builder()\n .instanceId(defaultXKjq1W.id())\n .allocationId(defaultsGsN4e.id())\n .instanceType(\"EnsInstance\")\n .standby(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n ensRegionId:\n type: string\n default: cn-chenzhou-telecom_unicom_cmcc\nresources:\n defaultXKjq1W:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n category: cloud_efficiency\n schedulingStrategy: Concentrate\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678abcABC\n status: Running\n amount: '1'\n internetChargeType: 95BandwidthByMonth\n instanceName: ${name}\n autoUseCoupon: 'true'\n instanceChargeStrategy: PriceHighPriority\n ensRegionId: ${ensRegionId}\n periodUnit: Month\n defaultsGsN4e:\n type: alicloud:ens:Eip\n properties:\n bandwidth: '5'\n eipName: ${name}\n ensRegionId: ${ensRegionId}\n internetChargeType: 95BandwidthByMonth\n paymentType: PayAsYouGo\n default:\n type: alicloud:ens:EipInstanceAttachment\n properties:\n instanceId: ${defaultXKjq1W.id}\n allocationId: ${defaultsGsN4e.id}\n instanceType: EnsInstance\n standby: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEns Eip Instance Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/eipInstanceAttachment:EipInstanceAttachment example \u003callocation_id\u003e:\u003cinstance_id\u003e:\u003cinstance_type\u003e\n```\n\n", "properties": { "allocationId": { "type": "string", @@ -171300,7 +174836,7 @@ } }, "alicloud:ens/image:Image": { - "description": "Provides a ENS Image resource.\n\n\n\nFor information about ENS Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-createimage).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"PayAsYouGo\",\n password: \"12345678ABCabc\",\n amount: 1,\n internetMaxBandwidthOut: 10,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n periodUnit: \"Month\",\n instanceType: \"ens.sn1.stiny\",\n status: \"Stopped\",\n});\nconst defaultImage = new alicloud.ens.Image(\"default\", {\n imageName: name,\n instanceId: _default.id,\n deleteAfterImageUpload: \"false\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"PayAsYouGo\",\n password=\"12345678ABCabc\",\n amount=1,\n internet_max_bandwidth_out=10,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n period_unit=\"Month\",\n instance_type=\"ens.sn1.stiny\",\n status=\"Stopped\")\ndefault_image = alicloud.ens.Image(\"default\",\n image_name=name,\n instance_id=default.id,\n delete_after_image_upload=\"false\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"PayAsYouGo\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n InternetMaxBandwidthOut = 10,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PeriodUnit = \"Month\",\n InstanceType = \"ens.sn1.stiny\",\n Status = \"Stopped\",\n });\n\n var defaultImage = new AliCloud.Ens.Image(\"default\", new()\n {\n ImageName = name,\n InstanceId = @default.Id,\n DeleteAfterImageUpload = \"false\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tStatus: pulumi.String(\"Stopped\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewImage(ctx, \"default\", \u0026ens.ImageArgs{\n\t\t\tImageName: pulumi.String(name),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tDeleteAfterImageUpload: pulumi.String(\"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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.Image;\nimport com.pulumi.alicloud.ens.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"PayAsYouGo\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .internetMaxBandwidthOut(10)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .periodUnit(\"Month\")\n .instanceType(\"ens.sn1.stiny\")\n .status(\"Stopped\")\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .imageName(name)\n .instanceId(default_.id())\n .deleteAfterImageUpload(\"false\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: PayAsYouGo\n password: 12345678ABCabc\n amount: '1'\n internetMaxBandwidthOut: '10'\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n periodUnit: Month\n instanceType: ens.sn1.stiny\n status: Stopped\n defaultImage:\n type: alicloud:ens:Image\n name: default\n properties:\n imageName: ${name}\n instanceId: ${default.id}\n deleteAfterImageUpload: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/image:Image example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Image resource.\n\n\n\nFor information about ENS Image and how to use it, see [What is Image](https://www.alibabacloud.com/help/en/ens/developer-reference/api-ens-2017-11-10-createimage).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"PayAsYouGo\",\n password: \"12345678ABCabc\",\n amount: 1,\n internetMaxBandwidthOut: 10,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n periodUnit: \"Month\",\n instanceType: \"ens.sn1.stiny\",\n status: \"Stopped\",\n});\nconst defaultImage = new alicloud.ens.Image(\"default\", {\n imageName: name,\n instanceId: _default.id,\n deleteAfterImageUpload: \"false\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"PayAsYouGo\",\n password=\"12345678ABCabc\",\n amount=1,\n internet_max_bandwidth_out=10,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n period_unit=\"Month\",\n instance_type=\"ens.sn1.stiny\",\n status=\"Stopped\")\ndefault_image = alicloud.ens.Image(\"default\",\n image_name=name,\n instance_id=default.id,\n delete_after_image_upload=\"false\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"PayAsYouGo\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n InternetMaxBandwidthOut = 10,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PeriodUnit = \"Month\",\n InstanceType = \"ens.sn1.stiny\",\n Status = \"Stopped\",\n });\n\n var defaultImage = new AliCloud.Ens.Image(\"default\", new()\n {\n ImageName = name,\n InstanceId = @default.Id,\n DeleteAfterImageUpload = \"false\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tStatus: pulumi.String(\"Stopped\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewImage(ctx, \"default\", \u0026ens.ImageArgs{\n\t\t\tImageName: pulumi.String(name),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tDeleteAfterImageUpload: pulumi.String(\"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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.Image;\nimport com.pulumi.alicloud.ens.ImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"PayAsYouGo\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .internetMaxBandwidthOut(10)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .periodUnit(\"Month\")\n .instanceType(\"ens.sn1.stiny\")\n .status(\"Stopped\")\n .build());\n\n var defaultImage = new Image(\"defaultImage\", ImageArgs.builder()\n .imageName(name)\n .instanceId(default_.id())\n .deleteAfterImageUpload(\"false\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: PayAsYouGo\n password: 12345678ABCabc\n amount: '1'\n internetMaxBandwidthOut: '10'\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n periodUnit: Month\n instanceType: ens.sn1.stiny\n status: Stopped\n defaultImage:\n type: alicloud:ens:Image\n name: default\n properties:\n imageName: ${name}\n instanceId: ${default.id}\n deleteAfterImageUpload: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/image:Image example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -171936,7 +175472,7 @@ } }, "alicloud:ens/instanceSecurityGroupAttachment:InstanceSecurityGroupAttachment": { - "description": "Provides a ENS Instance Security Group Attachment resource.\n\nBind instance and security group.\n\nFor information about ENS Instance Security Group Attachment and how to use it, see [What is Instance Security Group Attachment](https://next.api.alibabacloud.com/document/Ens/2017-11-10/JoinSecurityGroup).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678ABCabc\",\n amount: 1,\n period: 1,\n internetMaxBandwidthOut: 10,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n periodUnit: \"Month\",\n});\nconst defaultSecurityGroup = new alicloud.ens.SecurityGroup(\"default\", {\n description: \"InstanceSecurityGroupAttachment_Description\",\n securityGroupName: name,\n});\nconst defaultInstanceSecurityGroupAttachment = new alicloud.ens.InstanceSecurityGroupAttachment(\"default\", {\n instanceId: _default.id,\n securityGroupId: defaultSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678ABCabc\",\n amount=1,\n period=1,\n internet_max_bandwidth_out=10,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n period_unit=\"Month\")\ndefault_security_group = alicloud.ens.SecurityGroup(\"default\",\n description=\"InstanceSecurityGroupAttachment_Description\",\n security_group_name=name)\ndefault_instance_security_group_attachment = alicloud.ens.InstanceSecurityGroupAttachment(\"default\",\n instance_id=default.id,\n security_group_id=default_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n Period = 1,\n InternetMaxBandwidthOut = 10,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PeriodUnit = \"Month\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ens.SecurityGroup(\"default\", new()\n {\n Description = \"InstanceSecurityGroupAttachment_Description\",\n SecurityGroupName = name,\n });\n\n var defaultInstanceSecurityGroupAttachment = new AliCloud.Ens.InstanceSecurityGroupAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ens.NewSecurityGroup(ctx, \"default\", \u0026ens.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"InstanceSecurityGroupAttachment_Description\"),\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewInstanceSecurityGroupAttachment(ctx, \"default\", \u0026ens.InstanceSecurityGroupAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.SecurityGroup;\nimport com.pulumi.alicloud.ens.SecurityGroupArgs;\nimport com.pulumi.alicloud.ens.InstanceSecurityGroupAttachment;\nimport com.pulumi.alicloud.ens.InstanceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .period(1)\n .internetMaxBandwidthOut(10)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .periodUnit(\"Month\")\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"InstanceSecurityGroupAttachment_Description\")\n .securityGroupName(name)\n .build());\n\n var defaultInstanceSecurityGroupAttachment = new InstanceSecurityGroupAttachment(\"defaultInstanceSecurityGroupAttachment\", InstanceSecurityGroupAttachmentArgs.builder()\n .instanceId(default_.id())\n .securityGroupId(defaultSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678ABCabc\n amount: '1'\n period: '1'\n internetMaxBandwidthOut: '10'\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n periodUnit: Month\n defaultSecurityGroup:\n type: alicloud:ens:SecurityGroup\n name: default\n properties:\n description: InstanceSecurityGroupAttachment_Description\n securityGroupName: ${name}\n defaultInstanceSecurityGroupAttachment:\n type: alicloud:ens:InstanceSecurityGroupAttachment\n name: default\n properties:\n instanceId: ${default.id}\n securityGroupId: ${defaultSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Instance Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/instanceSecurityGroupAttachment:InstanceSecurityGroupAttachment example \u003cinstance_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", + "description": "Provides a ENS Instance Security Group Attachment resource.\n\nBind instance and security group.\n\nFor information about ENS Instance Security Group Attachment and how to use it, see [What is Instance Security Group Attachment](https://next.api.alibabacloud.com/document/Ens/2017-11-10/JoinSecurityGroup).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Instance(\"default\", {\n systemDisk: {\n size: 20,\n },\n scheduleAreaLevel: \"Region\",\n imageId: \"centos_6_08_64_20G_alibase_20171208\",\n paymentType: \"Subscription\",\n instanceType: \"ens.sn1.stiny\",\n password: \"12345678ABCabc\",\n amount: 1,\n period: 1,\n internetMaxBandwidthOut: 10,\n publicIpIdentification: true,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n periodUnit: \"Month\",\n});\nconst defaultSecurityGroup = new alicloud.ens.SecurityGroup(\"default\", {\n description: \"InstanceSecurityGroupAttachment_Description\",\n securityGroupName: name,\n});\nconst defaultInstanceSecurityGroupAttachment = new alicloud.ens.InstanceSecurityGroupAttachment(\"default\", {\n instanceId: _default.id,\n securityGroupId: defaultSecurityGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Instance(\"default\",\n system_disk={\n \"size\": 20,\n },\n schedule_area_level=\"Region\",\n image_id=\"centos_6_08_64_20G_alibase_20171208\",\n payment_type=\"Subscription\",\n instance_type=\"ens.sn1.stiny\",\n password=\"12345678ABCabc\",\n amount=1,\n period=1,\n internet_max_bandwidth_out=10,\n public_ip_identification=True,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n period_unit=\"Month\")\ndefault_security_group = alicloud.ens.SecurityGroup(\"default\",\n description=\"InstanceSecurityGroupAttachment_Description\",\n security_group_name=name)\ndefault_instance_security_group_attachment = alicloud.ens.InstanceSecurityGroupAttachment(\"default\",\n instance_id=default.id,\n security_group_id=default_security_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Instance(\"default\", new()\n {\n SystemDisk = new AliCloud.Ens.Inputs.InstanceSystemDiskArgs\n {\n Size = 20,\n },\n ScheduleAreaLevel = \"Region\",\n ImageId = \"centos_6_08_64_20G_alibase_20171208\",\n PaymentType = \"Subscription\",\n InstanceType = \"ens.sn1.stiny\",\n Password = \"12345678ABCabc\",\n Amount = 1,\n Period = 1,\n InternetMaxBandwidthOut = 10,\n PublicIpIdentification = true,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n PeriodUnit = \"Month\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ens.SecurityGroup(\"default\", new()\n {\n Description = \"InstanceSecurityGroupAttachment_Description\",\n SecurityGroupName = name,\n });\n\n var defaultInstanceSecurityGroupAttachment = new AliCloud.Ens.InstanceSecurityGroupAttachment(\"default\", new()\n {\n InstanceId = @default.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewInstance(ctx, \"default\", \u0026ens.InstanceArgs{\n\t\t\tSystemDisk: \u0026ens.InstanceSystemDiskArgs{\n\t\t\t\tSize: pulumi.Int(20),\n\t\t\t},\n\t\t\tScheduleAreaLevel: pulumi.String(\"Region\"),\n\t\t\tImageId: pulumi.String(\"centos_6_08_64_20G_alibase_20171208\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tInstanceType: pulumi.String(\"ens.sn1.stiny\"),\n\t\t\tPassword: pulumi.String(\"12345678ABCabc\"),\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tPublicIpIdentification: pulumi.Bool(true),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ens.NewSecurityGroup(ctx, \"default\", \u0026ens.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"InstanceSecurityGroupAttachment_Description\"),\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewInstanceSecurityGroupAttachment(ctx, \"default\", \u0026ens.InstanceSecurityGroupAttachmentArgs{\n\t\t\tInstanceId: _default.ID(),\n\t\t\tSecurityGroupId: defaultSecurityGroup.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.alicloud.ens.Instance;\nimport com.pulumi.alicloud.ens.InstanceArgs;\nimport com.pulumi.alicloud.ens.inputs.InstanceSystemDiskArgs;\nimport com.pulumi.alicloud.ens.SecurityGroup;\nimport com.pulumi.alicloud.ens.SecurityGroupArgs;\nimport com.pulumi.alicloud.ens.InstanceSecurityGroupAttachment;\nimport com.pulumi.alicloud.ens.InstanceSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .systemDisk(InstanceSystemDiskArgs.builder()\n .size(20)\n .build())\n .scheduleAreaLevel(\"Region\")\n .imageId(\"centos_6_08_64_20G_alibase_20171208\")\n .paymentType(\"Subscription\")\n .instanceType(\"ens.sn1.stiny\")\n .password(\"12345678ABCabc\")\n .amount(1)\n .period(1)\n .internetMaxBandwidthOut(10)\n .publicIpIdentification(true)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .periodUnit(\"Month\")\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .description(\"InstanceSecurityGroupAttachment_Description\")\n .securityGroupName(name)\n .build());\n\n var defaultInstanceSecurityGroupAttachment = new InstanceSecurityGroupAttachment(\"defaultInstanceSecurityGroupAttachment\", InstanceSecurityGroupAttachmentArgs.builder()\n .instanceId(default_.id())\n .securityGroupId(defaultSecurityGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Instance\n properties:\n systemDisk:\n size: '20'\n scheduleAreaLevel: Region\n imageId: centos_6_08_64_20G_alibase_20171208\n paymentType: Subscription\n instanceType: ens.sn1.stiny\n password: 12345678ABCabc\n amount: '1'\n period: '1'\n internetMaxBandwidthOut: '10'\n publicIpIdentification: true\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n periodUnit: Month\n defaultSecurityGroup:\n type: alicloud:ens:SecurityGroup\n name: default\n properties:\n description: InstanceSecurityGroupAttachment_Description\n securityGroupName: ${name}\n defaultInstanceSecurityGroupAttachment:\n type: alicloud:ens:InstanceSecurityGroupAttachment\n name: default\n properties:\n instanceId: ${default.id}\n securityGroupId: ${defaultSecurityGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Instance Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/instanceSecurityGroupAttachment:InstanceSecurityGroupAttachment example \u003cinstance_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -171984,7 +175520,7 @@ } }, "alicloud:ens/keyPair:KeyPair": { - "description": "Provides a ENS Key Pair resource.\n\nFor information about ENS Key Pair and how to use it, see [What is Key Pair](https://www.alibabacloud.com/help/en/ens/latest/createkeypair).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.ens.KeyPair(\"example\", {\n keyPairName: name,\n version: \"2017-11-10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.ens.KeyPair(\"example\",\n key_pair_name=name,\n version=\"2017-11-10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Ens.KeyPair(\"example\", new()\n {\n KeyPairName = name,\n Version = \"2017-11-10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewKeyPair(ctx, \"example\", \u0026ens.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(name),\n\t\t\tVersion: pulumi.String(\"2017-11-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.alicloud.ens.KeyPair;\nimport com.pulumi.alicloud.ens.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new KeyPair(\"example\", KeyPairArgs.builder()\n .keyPairName(name)\n .version(\"2017-11-10\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:ens:KeyPair\n properties:\n keyPairName: ${name}\n version: 2017-11-10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/keyPair:KeyPair example \u003ckey_pair_name\u003e:\u003cversion\u003e\n```\n\n", + "description": "Provides a ENS Key Pair resource.\n\nFor information about ENS Key Pair and how to use it, see [What is Key Pair](https://www.alibabacloud.com/help/en/ens/latest/createkeypair).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.ens.KeyPair(\"example\", {\n keyPairName: name,\n version: \"2017-11-10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.ens.KeyPair(\"example\",\n key_pair_name=name,\n version=\"2017-11-10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Ens.KeyPair(\"example\", new()\n {\n KeyPairName = name,\n Version = \"2017-11-10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewKeyPair(ctx, \"example\", \u0026ens.KeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(name),\n\t\t\tVersion: pulumi.String(\"2017-11-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.alicloud.ens.KeyPair;\nimport com.pulumi.alicloud.ens.KeyPairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new KeyPair(\"example\", KeyPairArgs.builder()\n .keyPairName(name)\n .version(\"2017-11-10\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:ens:KeyPair\n properties:\n keyPairName: ${name}\n version: 2017-11-10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Key Pair can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/keyPair:KeyPair example \u003ckey_pair_name\u003e:\u003cversion\u003e\n```\n\n", "properties": { "keyPairName": { "type": "string", @@ -172033,7 +175569,7 @@ } }, "alicloud:ens/loadBalancer:LoadBalancer": { - "description": "Provides a ENS Load Balancer resource.\n\nLoad balancing.\n\nFor information about ENS Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst network = new alicloud.ens.Network(\"network\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\nconst _switch = new alicloud.ens.Vswitch(\"switch\", {\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n networkId: network.id,\n});\nconst _default = new alicloud.ens.LoadBalancer(\"default\", {\n loadBalancerName: name,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n loadBalancerSpec: \"elb.s1.small\",\n vswitchId: _switch.id,\n networkId: network.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nnetwork = alicloud.ens.Network(\"network\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\nswitch = alicloud.ens.Vswitch(\"switch\",\n description=name,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n network_id=network.id)\ndefault = alicloud.ens.LoadBalancer(\"default\",\n load_balancer_name=name,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n load_balancer_spec=\"elb.s1.small\",\n vswitch_id=switch.id,\n network_id=network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var network = new AliCloud.Ens.Network(\"network\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n var @switch = new AliCloud.Ens.Vswitch(\"switch\", new()\n {\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n NetworkId = network.Id,\n });\n\n var @default = new AliCloud.Ens.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n LoadBalancerSpec = \"elb.s1.small\",\n VswitchId = @switch.Id,\n NetworkId = network.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnetwork, err := ens.NewNetwork(ctx, \"network\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_switch, err := ens.NewVswitch(ctx, \"switch\", \u0026ens.VswitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tNetworkId: network.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewLoadBalancer(ctx, \"default\", \u0026ens.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tLoadBalancerSpec: pulumi.String(\"elb.s1.small\"),\n\t\t\tVswitchId: _switch.ID(),\n\t\t\tNetworkId: network.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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport com.pulumi.alicloud.ens.LoadBalancer;\nimport com.pulumi.alicloud.ens.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var network = new Network(\"network\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n var switch_ = new Vswitch(\"switch\", VswitchArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .networkId(network.id())\n .build());\n\n var default_ = new LoadBalancer(\"default\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .loadBalancerSpec(\"elb.s1.small\")\n .vswitchId(switch_.id())\n .networkId(network.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n network:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n switch:\n type: alicloud:ens:Vswitch\n properties:\n description: ${name}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n networkId: ${network.id}\n default:\n type: alicloud:ens:LoadBalancer\n properties:\n loadBalancerName: ${name}\n paymentType: PayAsYouGo\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n loadBalancerSpec: elb.s1.small\n vswitchId: ${switch.id}\n networkId: ${network.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Load Balancer resource.\n\nLoad balancing.\n\nFor information about ENS Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst network = new alicloud.ens.Network(\"network\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\nconst _switch = new alicloud.ens.Vswitch(\"switch\", {\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n networkId: network.id,\n});\nconst _default = new alicloud.ens.LoadBalancer(\"default\", {\n loadBalancerName: name,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n loadBalancerSpec: \"elb.s1.small\",\n vswitchId: _switch.id,\n networkId: network.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nnetwork = alicloud.ens.Network(\"network\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\nswitch = alicloud.ens.Vswitch(\"switch\",\n description=name,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n network_id=network.id)\ndefault = alicloud.ens.LoadBalancer(\"default\",\n load_balancer_name=name,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n load_balancer_spec=\"elb.s1.small\",\n vswitch_id=switch.id,\n network_id=network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var network = new AliCloud.Ens.Network(\"network\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n var @switch = new AliCloud.Ens.Vswitch(\"switch\", new()\n {\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n NetworkId = network.Id,\n });\n\n var @default = new AliCloud.Ens.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n LoadBalancerSpec = \"elb.s1.small\",\n VswitchId = @switch.Id,\n NetworkId = network.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnetwork, err := ens.NewNetwork(ctx, \"network\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_switch, err := ens.NewVswitch(ctx, \"switch\", \u0026ens.VswitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tNetworkId: network.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewLoadBalancer(ctx, \"default\", \u0026ens.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tLoadBalancerSpec: pulumi.String(\"elb.s1.small\"),\n\t\t\tVswitchId: _switch.ID(),\n\t\t\tNetworkId: network.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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport com.pulumi.alicloud.ens.LoadBalancer;\nimport com.pulumi.alicloud.ens.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var network = new Network(\"network\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n var switch_ = new Vswitch(\"switch\", VswitchArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .networkId(network.id())\n .build());\n\n var default_ = new LoadBalancer(\"default\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .loadBalancerSpec(\"elb.s1.small\")\n .vswitchId(switch_.id())\n .networkId(network.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n network:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n switch:\n type: alicloud:ens:Vswitch\n properties:\n description: ${name}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n networkId: ${network.id}\n default:\n type: alicloud:ens:LoadBalancer\n properties:\n loadBalancerName: ${name}\n paymentType: PayAsYouGo\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n loadBalancerSpec: elb.s1.small\n vswitchId: ${switch.id}\n networkId: ${network.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", "properties": { "backendServers": { "type": "array", @@ -172181,7 +175717,7 @@ } }, "alicloud:ens/natGateway:NatGateway": { - "description": "Provides a ENS Nat Gateway resource.\n\nNat gateway of ENS.\n\nFor information about ENS Nat Gateway and how to use it, see [What is Nat Gateway](https://next.api.alibabacloud.com/document/Ens/2017-11-10/CreateNatGateway).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst ensRegionId = config.get(\"ensRegionId\") || \"cn-chenzhou-telecom_unicom_cmcc\";\nconst defaultObbrL7 = new alicloud.ens.Network(\"defaultObbrL7\", {\n networkName: name,\n description: name,\n cidrBlock: \"10.0.0.0/8\",\n ensRegionId: ensRegionId,\n});\nconst defaulteFw783 = new alicloud.ens.Vswitch(\"defaulteFw783\", {\n cidrBlock: \"10.0.8.0/24\",\n vswitchName: name,\n ensRegionId: defaultObbrL7.ensRegionId,\n networkId: defaultObbrL7.id,\n});\nconst _default = new alicloud.ens.NatGateway(\"default\", {\n vswitchId: defaulteFw783.id,\n ensRegionId: defaulteFw783.ensRegionId,\n networkId: defaulteFw783.networkId,\n instanceType: \"enat.default\",\n natName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nens_region_id = config.get(\"ensRegionId\")\nif ens_region_id is None:\n ens_region_id = \"cn-chenzhou-telecom_unicom_cmcc\"\ndefault_obbr_l7 = alicloud.ens.Network(\"defaultObbrL7\",\n network_name=name,\n description=name,\n cidr_block=\"10.0.0.0/8\",\n ens_region_id=ens_region_id)\ndefaulte_fw783 = alicloud.ens.Vswitch(\"defaulteFw783\",\n cidr_block=\"10.0.8.0/24\",\n vswitch_name=name,\n ens_region_id=default_obbr_l7.ens_region_id,\n network_id=default_obbr_l7.id)\ndefault = alicloud.ens.NatGateway(\"default\",\n vswitch_id=defaulte_fw783.id,\n ens_region_id=defaulte_fw783.ens_region_id,\n network_id=defaulte_fw783.network_id,\n instance_type=\"enat.default\",\n nat_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var ensRegionId = config.Get(\"ensRegionId\") ?? \"cn-chenzhou-telecom_unicom_cmcc\";\n var defaultObbrL7 = new AliCloud.Ens.Network(\"defaultObbrL7\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"10.0.0.0/8\",\n EnsRegionId = ensRegionId,\n });\n\n var defaulteFw783 = new AliCloud.Ens.Vswitch(\"defaulteFw783\", new()\n {\n CidrBlock = \"10.0.8.0/24\",\n VswitchName = name,\n EnsRegionId = defaultObbrL7.EnsRegionId,\n NetworkId = defaultObbrL7.Id,\n });\n\n var @default = new AliCloud.Ens.NatGateway(\"default\", new()\n {\n VswitchId = defaulteFw783.Id,\n EnsRegionId = defaulteFw783.EnsRegionId,\n NetworkId = defaulteFw783.NetworkId,\n InstanceType = \"enat.default\",\n NatName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tensRegionId := \"cn-chenzhou-telecom_unicom_cmcc\"\n\t\tif param := cfg.Get(\"ensRegionId\"); param != \"\" {\n\t\t\tensRegionId = param\n\t\t}\n\t\tdefaultObbrL7, err := ens.NewNetwork(ctx, \"defaultObbrL7\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulteFw783, err := ens.NewVswitch(ctx, \"defaulteFw783\", \u0026ens.VswitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.8.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: defaultObbrL7.EnsRegionId,\n\t\t\tNetworkId: defaultObbrL7.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewNatGateway(ctx, \"default\", \u0026ens.NatGatewayArgs{\n\t\t\tVswitchId: defaulteFw783.ID(),\n\t\t\tEnsRegionId: defaulteFw783.EnsRegionId,\n\t\t\tNetworkId: defaulteFw783.NetworkId,\n\t\t\tInstanceType: pulumi.String(\"enat.default\"),\n\t\t\tNatName: pulumi.String(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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport com.pulumi.alicloud.ens.NatGateway;\nimport com.pulumi.alicloud.ens.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var ensRegionId = config.get(\"ensRegionId\").orElse(\"cn-chenzhou-telecom_unicom_cmcc\");\n var defaultObbrL7 = new Network(\"defaultObbrL7\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"10.0.0.0/8\")\n .ensRegionId(ensRegionId)\n .build());\n\n var defaulteFw783 = new Vswitch(\"defaulteFw783\", VswitchArgs.builder()\n .cidrBlock(\"10.0.8.0/24\")\n .vswitchName(name)\n .ensRegionId(defaultObbrL7.ensRegionId())\n .networkId(defaultObbrL7.id())\n .build());\n\n var default_ = new NatGateway(\"default\", NatGatewayArgs.builder()\n .vswitchId(defaulteFw783.id())\n .ensRegionId(defaulteFw783.ensRegionId())\n .networkId(defaulteFw783.networkId())\n .instanceType(\"enat.default\")\n .natName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n ensRegionId:\n type: string\n default: cn-chenzhou-telecom_unicom_cmcc\nresources:\n defaultObbrL7:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 10.0.0.0/8\n ensRegionId: ${ensRegionId}\n defaulteFw783:\n type: alicloud:ens:Vswitch\n properties:\n cidrBlock: 10.0.8.0/24\n vswitchName: ${name}\n ensRegionId: ${defaultObbrL7.ensRegionId}\n networkId: ${defaultObbrL7.id}\n default:\n type: alicloud:ens:NatGateway\n properties:\n vswitchId: ${defaulteFw783.id}\n ensRegionId: ${defaulteFw783.ensRegionId}\n networkId: ${defaulteFw783.networkId}\n instanceType: enat.default\n natName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Nat Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/natGateway:NatGateway example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Nat Gateway resource.\n\nNat gateway of ENS.\n\nFor information about ENS Nat Gateway and how to use it, see [What is Nat Gateway](https://next.api.alibabacloud.com/document/Ens/2017-11-10/CreateNatGateway).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst ensRegionId = config.get(\"ensRegionId\") || \"cn-chenzhou-telecom_unicom_cmcc\";\nconst defaultObbrL7 = new alicloud.ens.Network(\"defaultObbrL7\", {\n networkName: name,\n description: name,\n cidrBlock: \"10.0.0.0/8\",\n ensRegionId: ensRegionId,\n});\nconst defaulteFw783 = new alicloud.ens.Vswitch(\"defaulteFw783\", {\n cidrBlock: \"10.0.8.0/24\",\n vswitchName: name,\n ensRegionId: defaultObbrL7.ensRegionId,\n networkId: defaultObbrL7.id,\n});\nconst _default = new alicloud.ens.NatGateway(\"default\", {\n vswitchId: defaulteFw783.id,\n ensRegionId: defaulteFw783.ensRegionId,\n networkId: defaulteFw783.networkId,\n instanceType: \"enat.default\",\n natName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nens_region_id = config.get(\"ensRegionId\")\nif ens_region_id is None:\n ens_region_id = \"cn-chenzhou-telecom_unicom_cmcc\"\ndefault_obbr_l7 = alicloud.ens.Network(\"defaultObbrL7\",\n network_name=name,\n description=name,\n cidr_block=\"10.0.0.0/8\",\n ens_region_id=ens_region_id)\ndefaulte_fw783 = alicloud.ens.Vswitch(\"defaulteFw783\",\n cidr_block=\"10.0.8.0/24\",\n vswitch_name=name,\n ens_region_id=default_obbr_l7.ens_region_id,\n network_id=default_obbr_l7.id)\ndefault = alicloud.ens.NatGateway(\"default\",\n vswitch_id=defaulte_fw783.id,\n ens_region_id=defaulte_fw783.ens_region_id,\n network_id=defaulte_fw783.network_id,\n instance_type=\"enat.default\",\n nat_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var ensRegionId = config.Get(\"ensRegionId\") ?? \"cn-chenzhou-telecom_unicom_cmcc\";\n var defaultObbrL7 = new AliCloud.Ens.Network(\"defaultObbrL7\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"10.0.0.0/8\",\n EnsRegionId = ensRegionId,\n });\n\n var defaulteFw783 = new AliCloud.Ens.Vswitch(\"defaulteFw783\", new()\n {\n CidrBlock = \"10.0.8.0/24\",\n VswitchName = name,\n EnsRegionId = defaultObbrL7.EnsRegionId,\n NetworkId = defaultObbrL7.Id,\n });\n\n var @default = new AliCloud.Ens.NatGateway(\"default\", new()\n {\n VswitchId = defaulteFw783.Id,\n EnsRegionId = defaulteFw783.EnsRegionId,\n NetworkId = defaulteFw783.NetworkId,\n InstanceType = \"enat.default\",\n NatName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tensRegionId := \"cn-chenzhou-telecom_unicom_cmcc\"\n\t\tif param := cfg.Get(\"ensRegionId\"); param != \"\" {\n\t\t\tensRegionId = param\n\t\t}\n\t\tdefaultObbrL7, err := ens.NewNetwork(ctx, \"defaultObbrL7\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tEnsRegionId: pulumi.String(ensRegionId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulteFw783, err := ens.NewVswitch(ctx, \"defaulteFw783\", \u0026ens.VswitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.8.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: defaultObbrL7.EnsRegionId,\n\t\t\tNetworkId: defaultObbrL7.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewNatGateway(ctx, \"default\", \u0026ens.NatGatewayArgs{\n\t\t\tVswitchId: defaulteFw783.ID(),\n\t\t\tEnsRegionId: defaulteFw783.EnsRegionId,\n\t\t\tNetworkId: defaulteFw783.NetworkId,\n\t\t\tInstanceType: pulumi.String(\"enat.default\"),\n\t\t\tNatName: pulumi.String(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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport com.pulumi.alicloud.ens.NatGateway;\nimport com.pulumi.alicloud.ens.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var ensRegionId = config.get(\"ensRegionId\").orElse(\"cn-chenzhou-telecom_unicom_cmcc\");\n var defaultObbrL7 = new Network(\"defaultObbrL7\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"10.0.0.0/8\")\n .ensRegionId(ensRegionId)\n .build());\n\n var defaulteFw783 = new Vswitch(\"defaulteFw783\", VswitchArgs.builder()\n .cidrBlock(\"10.0.8.0/24\")\n .vswitchName(name)\n .ensRegionId(defaultObbrL7.ensRegionId())\n .networkId(defaultObbrL7.id())\n .build());\n\n var default_ = new NatGateway(\"default\", NatGatewayArgs.builder()\n .vswitchId(defaulteFw783.id())\n .ensRegionId(defaulteFw783.ensRegionId())\n .networkId(defaulteFw783.networkId())\n .instanceType(\"enat.default\")\n .natName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n ensRegionId:\n type: string\n default: cn-chenzhou-telecom_unicom_cmcc\nresources:\n defaultObbrL7:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 10.0.0.0/8\n ensRegionId: ${ensRegionId}\n defaulteFw783:\n type: alicloud:ens:Vswitch\n properties:\n cidrBlock: 10.0.8.0/24\n vswitchName: ${name}\n ensRegionId: ${defaultObbrL7.ensRegionId}\n networkId: ${defaultObbrL7.id}\n default:\n type: alicloud:ens:NatGateway\n properties:\n vswitchId: ${defaulteFw783.id}\n ensRegionId: ${defaulteFw783.ensRegionId}\n networkId: ${defaulteFw783.networkId}\n instanceType: enat.default\n natName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Nat Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/natGateway:NatGateway example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -172282,7 +175818,7 @@ } }, "alicloud:ens/network:Network": { - "description": "Provides a ENS Network resource. \n\nFor information about ENS Network and how to use it, see [What is Network](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createnetwork-1).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Network(\"default\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewNetwork(ctx, \"default\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/network:Network example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Network resource. \n\nFor information about ENS Network and how to use it, see [What is Network](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createnetwork-1).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Network(\"default\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewNetwork(ctx, \"default\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/network:Network example \u003cid\u003e\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -172373,7 +175909,7 @@ } }, "alicloud:ens/securityGroup:SecurityGroup": { - "description": "Provides a ENS Security Group resource. \n\nFor information about ENS Security Group and how to use it, see [What is Security Group](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createsnapshot).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.SecurityGroup(\"default\", {\n description: name,\n securityGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.SecurityGroup(\"default\",\n description=name,\n security_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.SecurityGroup(\"default\", new()\n {\n Description = name,\n SecurityGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewSecurityGroup(ctx, \"default\", \u0026ens.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSecurityGroupName: pulumi.String(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.alicloud.ens.SecurityGroup;\nimport com.pulumi.alicloud.ens.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .description(name)\n .securityGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:SecurityGroup\n properties:\n description: ${name}\n securityGroupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Security Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/securityGroup:SecurityGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Security Group resource. \n\nFor information about ENS Security Group and how to use it, see [What is Security Group](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createsnapshot).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.SecurityGroup(\"default\", {\n description: name,\n securityGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.SecurityGroup(\"default\",\n description=name,\n security_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.SecurityGroup(\"default\", new()\n {\n Description = name,\n SecurityGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ens.NewSecurityGroup(ctx, \"default\", \u0026ens.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSecurityGroupName: pulumi.String(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.alicloud.ens.SecurityGroup;\nimport com.pulumi.alicloud.ens.SecurityGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SecurityGroup(\"default\", SecurityGroupArgs.builder()\n .description(name)\n .securityGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:SecurityGroup\n properties:\n description: ${name}\n securityGroupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Security Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/securityGroup:SecurityGroup example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -172410,7 +175946,7 @@ } }, "alicloud:ens/snapshot:Snapshot": { - "description": "Provides a ENS Snapshot resource. Snapshot. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createsnapshot).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst disk = new alicloud.ens.Disk(\"disk\", {\n category: \"cloud_efficiency\",\n size: 20,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"ch-zurich-1\",\n});\nconst _default = new alicloud.ens.Snapshot(\"default\", {\n description: name,\n ensRegionId: \"ch-zurich-1\",\n snapshotName: name,\n diskId: disk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndisk = alicloud.ens.Disk(\"disk\",\n category=\"cloud_efficiency\",\n size=20,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"ch-zurich-1\")\ndefault = alicloud.ens.Snapshot(\"default\",\n description=name,\n ens_region_id=\"ch-zurich-1\",\n snapshot_name=name,\n disk_id=disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var disk = new AliCloud.Ens.Disk(\"disk\", new()\n {\n Category = \"cloud_efficiency\",\n Size = 20,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"ch-zurich-1\",\n });\n\n var @default = new AliCloud.Ens.Snapshot(\"default\", new()\n {\n Description = name,\n EnsRegionId = \"ch-zurich-1\",\n SnapshotName = name,\n DiskId = disk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdisk, err := ens.NewDisk(ctx, \"disk\", \u0026ens.DiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"ch-zurich-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewSnapshot(ctx, \"default\", \u0026ens.SnapshotArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"ch-zurich-1\"),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tDiskId: disk.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.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport com.pulumi.alicloud.ens.Snapshot;\nimport com.pulumi.alicloud.ens.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var disk = new Disk(\"disk\", DiskArgs.builder()\n .category(\"cloud_efficiency\")\n .size(20)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"ch-zurich-1\")\n .build());\n\n var default_ = new Snapshot(\"default\", SnapshotArgs.builder()\n .description(name)\n .ensRegionId(\"ch-zurich-1\")\n .snapshotName(name)\n .diskId(disk.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n disk:\n type: alicloud:ens:Disk\n properties:\n category: cloud_efficiency\n size: '20'\n paymentType: PayAsYouGo\n ensRegionId: ch-zurich-1\n default:\n type: alicloud:ens:Snapshot\n properties:\n description: ${name}\n ensRegionId: ch-zurich-1\n snapshotName: ${name}\n diskId: ${disk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/snapshot:Snapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Snapshot resource. Snapshot. When you use it for the first time, please contact the product classmates to add a resource whitelist.\n\nFor information about ENS Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createsnapshot).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst disk = new alicloud.ens.Disk(\"disk\", {\n category: \"cloud_efficiency\",\n size: 20,\n paymentType: \"PayAsYouGo\",\n ensRegionId: \"ch-zurich-1\",\n});\nconst _default = new alicloud.ens.Snapshot(\"default\", {\n description: name,\n ensRegionId: \"ch-zurich-1\",\n snapshotName: name,\n diskId: disk.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndisk = alicloud.ens.Disk(\"disk\",\n category=\"cloud_efficiency\",\n size=20,\n payment_type=\"PayAsYouGo\",\n ens_region_id=\"ch-zurich-1\")\ndefault = alicloud.ens.Snapshot(\"default\",\n description=name,\n ens_region_id=\"ch-zurich-1\",\n snapshot_name=name,\n disk_id=disk.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var disk = new AliCloud.Ens.Disk(\"disk\", new()\n {\n Category = \"cloud_efficiency\",\n Size = 20,\n PaymentType = \"PayAsYouGo\",\n EnsRegionId = \"ch-zurich-1\",\n });\n\n var @default = new AliCloud.Ens.Snapshot(\"default\", new()\n {\n Description = name,\n EnsRegionId = \"ch-zurich-1\",\n SnapshotName = name,\n DiskId = disk.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdisk, err := ens.NewDisk(ctx, \"disk\", \u0026ens.DiskArgs{\n\t\t\tCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEnsRegionId: pulumi.String(\"ch-zurich-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewSnapshot(ctx, \"default\", \u0026ens.SnapshotArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"ch-zurich-1\"),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t\tDiskId: disk.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.alicloud.ens.Disk;\nimport com.pulumi.alicloud.ens.DiskArgs;\nimport com.pulumi.alicloud.ens.Snapshot;\nimport com.pulumi.alicloud.ens.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var disk = new Disk(\"disk\", DiskArgs.builder()\n .category(\"cloud_efficiency\")\n .size(20)\n .paymentType(\"PayAsYouGo\")\n .ensRegionId(\"ch-zurich-1\")\n .build());\n\n var default_ = new Snapshot(\"default\", SnapshotArgs.builder()\n .description(name)\n .ensRegionId(\"ch-zurich-1\")\n .snapshotName(name)\n .diskId(disk.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n disk:\n type: alicloud:ens:Disk\n properties:\n category: cloud_efficiency\n size: '20'\n paymentType: PayAsYouGo\n ensRegionId: ch-zurich-1\n default:\n type: alicloud:ens:Snapshot\n properties:\n description: ${name}\n ensRegionId: ch-zurich-1\n snapshotName: ${name}\n diskId: ${disk.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/snapshot:Snapshot example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -172501,7 +176037,7 @@ } }, "alicloud:ens/vswitch:Vswitch": { - "description": "Provides a ENS Vswitch resource.\n\n\n\nFor information about ENS Vswitch and how to use it, see [What is Vswitch](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createvswitch).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n networkId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Network(\"default\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=name,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n network_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n NetworkId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewNetwork(ctx, \"default\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewVswitch(ctx, \"default\", \u0026ens.VswitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tNetworkId: _default.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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n var defaultVswitch = new Vswitch(\"defaultVswitch\", VswitchArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .networkId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n defaultVswitch:\n type: alicloud:ens:Vswitch\n name: default\n properties:\n description: ${name}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n networkId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENS Vswitch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/vswitch:Vswitch example \u003cid\u003e\n```\n\n", + "description": "Provides a ENS Vswitch resource.\n\n\n\nFor information about ENS Vswitch and how to use it, see [What is Vswitch](https://www.alibabacloud.com/help/en/ens/developer-reference/api-createvswitch).\n\n\u003e **NOTE:** Available since v1.213.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: name,\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: name,\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: name,\n ensRegionId: \"cn-chenzhou-telecom_unicom_cmcc\",\n networkId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ens.Network(\"default\",\n network_name=name,\n description=name,\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=name,\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=name,\n ens_region_id=\"cn-chenzhou-telecom_unicom_cmcc\",\n network_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = name,\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = name,\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = name,\n EnsRegionId = \"cn-chenzhou-telecom_unicom_cmcc\",\n NetworkId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ens\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ens.NewNetwork(ctx, \"default\", \u0026ens.NetworkArgs{\n\t\t\tNetworkName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ens.NewVswitch(ctx, \"default\", \u0026ens.VswitchArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tEnsRegionId: pulumi.String(\"cn-chenzhou-telecom_unicom_cmcc\"),\n\t\t\tNetworkId: _default.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.alicloud.ens.Network;\nimport com.pulumi.alicloud.ens.NetworkArgs;\nimport com.pulumi.alicloud.ens.Vswitch;\nimport com.pulumi.alicloud.ens.VswitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .networkName(name)\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .build());\n\n var defaultVswitch = new Vswitch(\"defaultVswitch\", VswitchArgs.builder()\n .description(name)\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(name)\n .ensRegionId(\"cn-chenzhou-telecom_unicom_cmcc\")\n .networkId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ens:Network\n properties:\n networkName: ${name}\n description: ${name}\n cidrBlock: 192.168.2.0/24\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n defaultVswitch:\n type: alicloud:ens:Vswitch\n name: default\n properties:\n description: ${name}\n cidrBlock: 192.168.2.0/24\n vswitchName: ${name}\n ensRegionId: cn-chenzhou-telecom_unicom_cmcc\n networkId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENS Vswitch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ens/vswitch:Vswitch example \u003cid\u003e\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -172607,7 +176143,7 @@ } }, "alicloud:esa/cacheReserveInstance:CacheReserveInstance": { - "description": "Provides a ESA Cache Reserve Instance resource.\n\n\n\nFor information about ESA Cache Reserve Instance and how to use it, see [What is Cache Reserve Instance](https://next.api.alibabacloud.com/document/ESA/2024-09-10/PurchaseCacheReserve).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.CacheReserveInstance(\"default\", {\n quotaGb: 10240,\n crRegion: \"CN-beijing\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.CacheReserveInstance(\"default\",\n quota_gb=10240,\n cr_region=\"CN-beijing\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.CacheReserveInstance(\"default\", new()\n {\n QuotaGb = 10240,\n CrRegion = \"CN-beijing\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewCacheReserveInstance(ctx, \"default\", \u0026esa.CacheReserveInstanceArgs{\n\t\t\tQuotaGb: pulumi.Int(10240),\n\t\t\tCrRegion: pulumi.String(\"CN-beijing\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tAutoPay: 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.alicloud.esa.CacheReserveInstance;\nimport com.pulumi.alicloud.esa.CacheReserveInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CacheReserveInstance(\"default\", CacheReserveInstanceArgs.builder()\n .quotaGb(10240)\n .crRegion(\"CN-beijing\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:CacheReserveInstance\n properties:\n quotaGb: '10240'\n crRegion: CN-beijing\n autoRenew: true\n period: '1'\n paymentType: Subscription\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Cache Reserve Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/cacheReserveInstance:CacheReserveInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Cache Reserve Instance resource.\n\n\n\nFor information about ESA Cache Reserve Instance and how to use it, see [What is Cache Reserve Instance](https://next.api.alibabacloud.com/document/ESA/2024-09-10/PurchaseCacheReserve).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.CacheReserveInstance(\"default\", {\n quotaGb: 10240,\n crRegion: \"CN-beijing\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.CacheReserveInstance(\"default\",\n quota_gb=10240,\n cr_region=\"CN-beijing\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.CacheReserveInstance(\"default\", new()\n {\n QuotaGb = 10240,\n CrRegion = \"CN-beijing\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewCacheReserveInstance(ctx, \"default\", \u0026esa.CacheReserveInstanceArgs{\n\t\t\tQuotaGb: pulumi.Int(10240),\n\t\t\tCrRegion: pulumi.String(\"CN-beijing\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tAutoPay: 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.alicloud.esa.CacheReserveInstance;\nimport com.pulumi.alicloud.esa.CacheReserveInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CacheReserveInstance(\"default\", CacheReserveInstanceArgs.builder()\n .quotaGb(10240)\n .crRegion(\"CN-beijing\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:CacheReserveInstance\n properties:\n quotaGb: '10240'\n crRegion: CN-beijing\n autoRenew: true\n period: '1'\n paymentType: Subscription\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Cache Reserve Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/cacheReserveInstance:CacheReserveInstance example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -172722,7 +176258,7 @@ } }, "alicloud:esa/cacheRule:CacheRule": { - "description": "Provides a ESA Cache Rule resource.\n\n\n\nFor information about ESA Cache Rule and how to use it, see [What is Cache Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCacheRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultCacheRule = new alicloud.esa.CacheRule(\"default\", {\n userDeviceType: \"off\",\n browserCacheMode: \"no_cache\",\n userLanguage: \"off\",\n checkPresenceHeader: \"headername\",\n includeCookie: \"cookie_exapmle\",\n edgeCacheMode: \"follow_origin\",\n additionalCacheablePorts: \"2053\",\n ruleName: \"rule_example\",\n edgeStatusCodeCacheTtl: \"300\",\n browserCacheTtl: \"300\",\n queryString: \"example\",\n userGeo: \"off\",\n sortQueryStringForCache: \"off\",\n checkPresenceCookie: \"cookiename\",\n cacheReserveEligibility: \"bypass_cache_reserve\",\n queryStringMode: \"ignore_all\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n cacheDeceptionArmor: \"off\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n bypassCache: \"cache_all\",\n edgeCacheTtl: \"300\",\n ruleEnable: \"off\",\n siteVersion: 0,\n includeHeader: \"example\",\n serveStale: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_cache_rule = alicloud.esa.CacheRule(\"default\",\n user_device_type=\"off\",\n browser_cache_mode=\"no_cache\",\n user_language=\"off\",\n check_presence_header=\"headername\",\n include_cookie=\"cookie_exapmle\",\n edge_cache_mode=\"follow_origin\",\n additional_cacheable_ports=\"2053\",\n rule_name=\"rule_example\",\n edge_status_code_cache_ttl=\"300\",\n browser_cache_ttl=\"300\",\n query_string=\"example\",\n user_geo=\"off\",\n sort_query_string_for_cache=\"off\",\n check_presence_cookie=\"cookiename\",\n cache_reserve_eligibility=\"bypass_cache_reserve\",\n query_string_mode=\"ignore_all\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n cache_deception_armor=\"off\",\n site_id=default.sites[0].id,\n bypass_cache=\"cache_all\",\n edge_cache_ttl=\"300\",\n rule_enable=\"off\",\n site_version=0,\n include_header=\"example\",\n serve_stale=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultCacheRule = new AliCloud.Esa.CacheRule(\"default\", new()\n {\n UserDeviceType = \"off\",\n BrowserCacheMode = \"no_cache\",\n UserLanguage = \"off\",\n CheckPresenceHeader = \"headername\",\n IncludeCookie = \"cookie_exapmle\",\n EdgeCacheMode = \"follow_origin\",\n AdditionalCacheablePorts = \"2053\",\n RuleName = \"rule_example\",\n EdgeStatusCodeCacheTtl = \"300\",\n BrowserCacheTtl = \"300\",\n QueryString = \"example\",\n UserGeo = \"off\",\n SortQueryStringForCache = \"off\",\n CheckPresenceCookie = \"cookiename\",\n CacheReserveEligibility = \"bypass_cache_reserve\",\n QueryStringMode = \"ignore_all\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n CacheDeceptionArmor = \"off\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n BypassCache = \"cache_all\",\n EdgeCacheTtl = \"300\",\n RuleEnable = \"off\",\n SiteVersion = 0,\n IncludeHeader = \"example\",\n ServeStale = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCacheRule(ctx, \"default\", \u0026esa.CacheRuleArgs{\n\t\t\tUserDeviceType: pulumi.String(\"off\"),\n\t\t\tBrowserCacheMode: pulumi.String(\"no_cache\"),\n\t\t\tUserLanguage: pulumi.String(\"off\"),\n\t\t\tCheckPresenceHeader: pulumi.String(\"headername\"),\n\t\t\tIncludeCookie: pulumi.String(\"cookie_exapmle\"),\n\t\t\tEdgeCacheMode: pulumi.String(\"follow_origin\"),\n\t\t\tAdditionalCacheablePorts: pulumi.String(\"2053\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tEdgeStatusCodeCacheTtl: pulumi.String(\"300\"),\n\t\t\tBrowserCacheTtl: pulumi.String(\"300\"),\n\t\t\tQueryString: pulumi.String(\"example\"),\n\t\t\tUserGeo: pulumi.String(\"off\"),\n\t\t\tSortQueryStringForCache: pulumi.String(\"off\"),\n\t\t\tCheckPresenceCookie: pulumi.String(\"cookiename\"),\n\t\t\tCacheReserveEligibility: pulumi.String(\"bypass_cache_reserve\"),\n\t\t\tQueryStringMode: pulumi.String(\"ignore_all\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tCacheDeceptionArmor: pulumi.String(\"off\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tBypassCache: pulumi.String(\"cache_all\"),\n\t\t\tEdgeCacheTtl: pulumi.String(\"300\"),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tIncludeHeader: pulumi.String(\"example\"),\n\t\t\tServeStale: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.CacheRule;\nimport com.pulumi.alicloud.esa.CacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultCacheRule = new CacheRule(\"defaultCacheRule\", CacheRuleArgs.builder()\n .userDeviceType(\"off\")\n .browserCacheMode(\"no_cache\")\n .userLanguage(\"off\")\n .checkPresenceHeader(\"headername\")\n .includeCookie(\"cookie_exapmle\")\n .edgeCacheMode(\"follow_origin\")\n .additionalCacheablePorts(\"2053\")\n .ruleName(\"rule_example\")\n .edgeStatusCodeCacheTtl(\"300\")\n .browserCacheTtl(\"300\")\n .queryString(\"example\")\n .userGeo(\"off\")\n .sortQueryStringForCache(\"off\")\n .checkPresenceCookie(\"cookiename\")\n .cacheReserveEligibility(\"bypass_cache_reserve\")\n .queryStringMode(\"ignore_all\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .cacheDeceptionArmor(\"off\")\n .siteId(default_.sites()[0].id())\n .bypassCache(\"cache_all\")\n .edgeCacheTtl(\"300\")\n .ruleEnable(\"off\")\n .siteVersion(0)\n .includeHeader(\"example\")\n .serveStale(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCacheRule:\n type: alicloud:esa:CacheRule\n name: default\n properties:\n userDeviceType: off\n browserCacheMode: no_cache\n userLanguage: off\n checkPresenceHeader: headername\n includeCookie: cookie_exapmle\n edgeCacheMode: follow_origin\n additionalCacheablePorts: '2053'\n ruleName: rule_example\n edgeStatusCodeCacheTtl: '300'\n browserCacheTtl: '300'\n queryString: example\n userGeo: off\n sortQueryStringForCache: off\n checkPresenceCookie: cookiename\n cacheReserveEligibility: bypass_cache_reserve\n queryStringMode: ignore_all\n rule: http.host eq \"video.example.com\"\n cacheDeceptionArmor: off\n siteId: ${default.sites[0].id}\n bypassCache: cache_all\n edgeCacheTtl: '300'\n ruleEnable: off\n siteVersion: '0'\n includeHeader: example\n serveStale: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Cache Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/cacheRule:CacheRule example \u003csite_id\u003e:\u003ccache_rule_id\u003e\n```\n\n", + "description": "Provides a ESA Cache Rule resource.\n\n\n\nFor information about ESA Cache Rule and how to use it, see [What is Cache Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCacheRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultCacheRule = new alicloud.esa.CacheRule(\"default\", {\n userDeviceType: \"off\",\n browserCacheMode: \"no_cache\",\n userLanguage: \"off\",\n checkPresenceHeader: \"headername\",\n includeCookie: \"cookie_exapmle\",\n edgeCacheMode: \"follow_origin\",\n additionalCacheablePorts: \"2053\",\n ruleName: \"rule_example\",\n edgeStatusCodeCacheTtl: \"300\",\n browserCacheTtl: \"300\",\n queryString: \"example\",\n userGeo: \"off\",\n sortQueryStringForCache: \"off\",\n checkPresenceCookie: \"cookiename\",\n cacheReserveEligibility: \"bypass_cache_reserve\",\n queryStringMode: \"ignore_all\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n cacheDeceptionArmor: \"off\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n bypassCache: \"cache_all\",\n edgeCacheTtl: \"300\",\n ruleEnable: \"off\",\n siteVersion: 0,\n includeHeader: \"example\",\n serveStale: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_cache_rule = alicloud.esa.CacheRule(\"default\",\n user_device_type=\"off\",\n browser_cache_mode=\"no_cache\",\n user_language=\"off\",\n check_presence_header=\"headername\",\n include_cookie=\"cookie_exapmle\",\n edge_cache_mode=\"follow_origin\",\n additional_cacheable_ports=\"2053\",\n rule_name=\"rule_example\",\n edge_status_code_cache_ttl=\"300\",\n browser_cache_ttl=\"300\",\n query_string=\"example\",\n user_geo=\"off\",\n sort_query_string_for_cache=\"off\",\n check_presence_cookie=\"cookiename\",\n cache_reserve_eligibility=\"bypass_cache_reserve\",\n query_string_mode=\"ignore_all\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n cache_deception_armor=\"off\",\n site_id=default.sites[0].id,\n bypass_cache=\"cache_all\",\n edge_cache_ttl=\"300\",\n rule_enable=\"off\",\n site_version=0,\n include_header=\"example\",\n serve_stale=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultCacheRule = new AliCloud.Esa.CacheRule(\"default\", new()\n {\n UserDeviceType = \"off\",\n BrowserCacheMode = \"no_cache\",\n UserLanguage = \"off\",\n CheckPresenceHeader = \"headername\",\n IncludeCookie = \"cookie_exapmle\",\n EdgeCacheMode = \"follow_origin\",\n AdditionalCacheablePorts = \"2053\",\n RuleName = \"rule_example\",\n EdgeStatusCodeCacheTtl = \"300\",\n BrowserCacheTtl = \"300\",\n QueryString = \"example\",\n UserGeo = \"off\",\n SortQueryStringForCache = \"off\",\n CheckPresenceCookie = \"cookiename\",\n CacheReserveEligibility = \"bypass_cache_reserve\",\n QueryStringMode = \"ignore_all\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n CacheDeceptionArmor = \"off\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n BypassCache = \"cache_all\",\n EdgeCacheTtl = \"300\",\n RuleEnable = \"off\",\n SiteVersion = 0,\n IncludeHeader = \"example\",\n ServeStale = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCacheRule(ctx, \"default\", \u0026esa.CacheRuleArgs{\n\t\t\tUserDeviceType: pulumi.String(\"off\"),\n\t\t\tBrowserCacheMode: pulumi.String(\"no_cache\"),\n\t\t\tUserLanguage: pulumi.String(\"off\"),\n\t\t\tCheckPresenceHeader: pulumi.String(\"headername\"),\n\t\t\tIncludeCookie: pulumi.String(\"cookie_exapmle\"),\n\t\t\tEdgeCacheMode: pulumi.String(\"follow_origin\"),\n\t\t\tAdditionalCacheablePorts: pulumi.String(\"2053\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tEdgeStatusCodeCacheTtl: pulumi.String(\"300\"),\n\t\t\tBrowserCacheTtl: pulumi.String(\"300\"),\n\t\t\tQueryString: pulumi.String(\"example\"),\n\t\t\tUserGeo: pulumi.String(\"off\"),\n\t\t\tSortQueryStringForCache: pulumi.String(\"off\"),\n\t\t\tCheckPresenceCookie: pulumi.String(\"cookiename\"),\n\t\t\tCacheReserveEligibility: pulumi.String(\"bypass_cache_reserve\"),\n\t\t\tQueryStringMode: pulumi.String(\"ignore_all\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tCacheDeceptionArmor: pulumi.String(\"off\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tBypassCache: pulumi.String(\"cache_all\"),\n\t\t\tEdgeCacheTtl: pulumi.String(\"300\"),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tIncludeHeader: pulumi.String(\"example\"),\n\t\t\tServeStale: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.CacheRule;\nimport com.pulumi.alicloud.esa.CacheRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultCacheRule = new CacheRule(\"defaultCacheRule\", CacheRuleArgs.builder()\n .userDeviceType(\"off\")\n .browserCacheMode(\"no_cache\")\n .userLanguage(\"off\")\n .checkPresenceHeader(\"headername\")\n .includeCookie(\"cookie_exapmle\")\n .edgeCacheMode(\"follow_origin\")\n .additionalCacheablePorts(\"2053\")\n .ruleName(\"rule_example\")\n .edgeStatusCodeCacheTtl(\"300\")\n .browserCacheTtl(\"300\")\n .queryString(\"example\")\n .userGeo(\"off\")\n .sortQueryStringForCache(\"off\")\n .checkPresenceCookie(\"cookiename\")\n .cacheReserveEligibility(\"bypass_cache_reserve\")\n .queryStringMode(\"ignore_all\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .cacheDeceptionArmor(\"off\")\n .siteId(default_.sites()[0].id())\n .bypassCache(\"cache_all\")\n .edgeCacheTtl(\"300\")\n .ruleEnable(\"off\")\n .siteVersion(0)\n .includeHeader(\"example\")\n .serveStale(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCacheRule:\n type: alicloud:esa:CacheRule\n name: default\n properties:\n userDeviceType: off\n browserCacheMode: no_cache\n userLanguage: off\n checkPresenceHeader: headername\n includeCookie: cookie_exapmle\n edgeCacheMode: follow_origin\n additionalCacheablePorts: '2053'\n ruleName: rule_example\n edgeStatusCodeCacheTtl: '300'\n browserCacheTtl: '300'\n queryString: example\n userGeo: off\n sortQueryStringForCache: off\n checkPresenceCookie: cookiename\n cacheReserveEligibility: bypass_cache_reserve\n queryStringMode: ignore_all\n rule: http.host eq \"video.example.com\"\n cacheDeceptionArmor: off\n siteId: ${default.sites[0].id}\n bypassCache: cache_all\n edgeCacheTtl: '300'\n ruleEnable: off\n siteVersion: '0'\n includeHeader: example\n serveStale: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Cache Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/cacheRule:CacheRule example \u003csite_id\u003e:\u003ccache_rule_id\u003e\n```\n\n", "properties": { "additionalCacheablePorts": { "type": "string", @@ -172802,14 +176338,14 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "serveStale": { "type": "string", "description": "Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range:\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the [ListSites] API.\n" }, "siteVersion": { @@ -172913,14 +176449,14 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "serveStale": { "type": "string", "description": "Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range:\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the [ListSites] API.\n", "willReplaceOnChanges": true }, @@ -173030,14 +176566,14 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "serveStale": { "type": "string", "description": "Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range:\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the [ListSites] API.\n", "willReplaceOnChanges": true }, @@ -173067,7 +176603,7 @@ } }, "alicloud:esa/certificate:Certificate": { - "description": "Provides a ESA Certificate resource.\n\n\n\nFor information about ESA Certificate and how to use it, see [What is Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/SetCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultCertificate = new alicloud.esa.Certificate(\"default\", {\n createdType: \"free\",\n domains: \"101.gositecdn.cn\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n type: \"lets_encrypt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_certificate = alicloud.esa.Certificate(\"default\",\n created_type=\"free\",\n domains=\"101.gositecdn.cn\",\n site_id=default.sites[0].id,\n type=\"lets_encrypt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultCertificate = new AliCloud.Esa.Certificate(\"default\", new()\n {\n CreatedType = \"free\",\n Domains = \"101.gositecdn.cn\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n Type = \"lets_encrypt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCertificate(ctx, \"default\", \u0026esa.CertificateArgs{\n\t\t\tCreatedType: pulumi.String(\"free\"),\n\t\t\tDomains: pulumi.String(\"101.gositecdn.cn\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tType: pulumi.String(\"lets_encrypt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Certificate;\nimport com.pulumi.alicloud.esa.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 final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultCertificate = new Certificate(\"defaultCertificate\", CertificateArgs.builder()\n .createdType(\"free\")\n .domains(\"101.gositecdn.cn\")\n .siteId(default_.sites()[0].id())\n .type(\"lets_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCertificate:\n type: alicloud:esa:Certificate\n name: default\n properties:\n createdType: free\n domains: 101.gositecdn.cn\n siteId: ${default.sites[0].id}\n type: lets_encrypt\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/certificate:Certificate example \u003csite_id\u003e:\u003ccert_id\u003e\n```\n\n", + "description": "Provides a ESA Certificate resource.\n\n\n\nFor information about ESA Certificate and how to use it, see [What is Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/SetCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultCertificate = new alicloud.esa.Certificate(\"default\", {\n createdType: \"free\",\n domains: \"101.gositecdn.cn\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n type: \"lets_encrypt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_certificate = alicloud.esa.Certificate(\"default\",\n created_type=\"free\",\n domains=\"101.gositecdn.cn\",\n site_id=default.sites[0].id,\n type=\"lets_encrypt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultCertificate = new AliCloud.Esa.Certificate(\"default\", new()\n {\n CreatedType = \"free\",\n Domains = \"101.gositecdn.cn\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n Type = \"lets_encrypt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCertificate(ctx, \"default\", \u0026esa.CertificateArgs{\n\t\t\tCreatedType: pulumi.String(\"free\"),\n\t\t\tDomains: pulumi.String(\"101.gositecdn.cn\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tType: pulumi.String(\"lets_encrypt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Certificate;\nimport com.pulumi.alicloud.esa.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 final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultCertificate = new Certificate(\"defaultCertificate\", CertificateArgs.builder()\n .createdType(\"free\")\n .domains(\"101.gositecdn.cn\")\n .siteId(default_.sites()[0].id())\n .type(\"lets_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultCertificate:\n type: alicloud:esa:Certificate\n name: default\n properties:\n createdType: free\n domains: 101.gositecdn.cn\n siteId: ${default.sites[0].id}\n type: lets_encrypt\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/certificate:Certificate example \u003csite_id\u003e:\u003ccert_id\u003e\n```\n\n", "properties": { "casId": { "type": "string", @@ -173248,7 +176784,7 @@ } }, "alicloud:esa/clientCaCertificate:ClientCaCertificate": { - "description": "Provides a ESA Client Ca Certificate resource.\n\n\n\nFor information about ESA Client Ca Certificate and how to use it, see [What is Client Ca Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadClientCaCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultClientCaCertificate = new alicloud.esa.ClientCaCertificate(\"default\", {\n certificate: `-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----`,\n clientCaCertName: \"example\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_client_ca_certificate = alicloud.esa.ClientCaCertificate(\"default\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----\"\"\",\n client_ca_cert_name=\"example\",\n site_id=default.sites[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultClientCaCertificate = new AliCloud.Esa.ClientCaCertificate(\"default\", new()\n {\n Certificate = @\"-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----\",\n ClientCaCertName = \"example\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewClientCaCertificate(ctx, \"default\", \u0026esa.ClientCaCertificateArgs{\n\t\t\tCertificate: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n****-----END CERTIFICATE-----\"),\n\t\t\tClientCaCertName: pulumi.String(\"example\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.ClientCaCertificate;\nimport com.pulumi.alicloud.esa.ClientCaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultClientCaCertificate = new ClientCaCertificate(\"defaultClientCaCertificate\", ClientCaCertificateArgs.builder()\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE----- \"\"\")\n .clientCaCertName(\"example\")\n .siteId(default_.sites()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultClientCaCertificate:\n type: alicloud:esa:ClientCaCertificate\n name: default\n properties:\n certificate: |-\n -----BEGIN CERTIFICATE-----\n ****-----END CERTIFICATE-----\n clientCaCertName: example\n siteId: ${default.sites[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Client Ca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/clientCaCertificate:ClientCaCertificate example \u003csite_id\u003e:\u003cclient_ca_cert_id\u003e\n```\n\n", + "description": "Provides a ESA Client Ca Certificate resource.\n\n\n\nFor information about ESA Client Ca Certificate and how to use it, see [What is Client Ca Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadClientCaCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultClientCaCertificate = new alicloud.esa.ClientCaCertificate(\"default\", {\n certificate: `-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----`,\n clientCaCertName: \"example\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_client_ca_certificate = alicloud.esa.ClientCaCertificate(\"default\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----\"\"\",\n client_ca_cert_name=\"example\",\n site_id=default.sites[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultClientCaCertificate = new AliCloud.Esa.ClientCaCertificate(\"default\", new()\n {\n Certificate = @\"-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE-----\",\n ClientCaCertName = \"example\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewClientCaCertificate(ctx, \"default\", \u0026esa.ClientCaCertificateArgs{\n\t\t\tCertificate: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n****-----END CERTIFICATE-----\"),\n\t\t\tClientCaCertName: pulumi.String(\"example\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.ClientCaCertificate;\nimport com.pulumi.alicloud.esa.ClientCaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultClientCaCertificate = new ClientCaCertificate(\"defaultClientCaCertificate\", ClientCaCertificateArgs.builder()\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\n****-----END CERTIFICATE----- \"\"\")\n .clientCaCertName(\"example\")\n .siteId(default_.sites()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultClientCaCertificate:\n type: alicloud:esa:ClientCaCertificate\n name: default\n properties:\n certificate: |-\n -----BEGIN CERTIFICATE-----\n ****-----END CERTIFICATE-----\n clientCaCertName: example\n siteId: ${default.sites[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Client Ca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/clientCaCertificate:ClientCaCertificate example \u003csite_id\u003e:\u003cclient_ca_cert_id\u003e\n```\n\n", "properties": { "certificate": { "type": "string", @@ -173338,7 +176874,7 @@ } }, "alicloud:esa/clientCertificate:ClientCertificate": { - "description": "Provides a ESA Client Certificate resource.\n\n\n\nFor information about ESA Client Certificate and how to use it, see [What is Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateClientCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultClientCertificate = new alicloud.esa.ClientCertificate(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n pkeyType: \"RSA\",\n validityDays: \"365\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_client_certificate = alicloud.esa.ClientCertificate(\"default\",\n site_id=default.sites[0].id,\n pkey_type=\"RSA\",\n validity_days=\"365\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultClientCertificate = new AliCloud.Esa.ClientCertificate(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n PkeyType = \"RSA\",\n ValidityDays = \"365\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewClientCertificate(ctx, \"default\", \u0026esa.ClientCertificateArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tPkeyType: pulumi.String(\"RSA\"),\n\t\t\tValidityDays: pulumi.String(\"365\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.ClientCertificate;\nimport com.pulumi.alicloud.esa.ClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultClientCertificate = new ClientCertificate(\"defaultClientCertificate\", ClientCertificateArgs.builder()\n .siteId(default_.sites()[0].id())\n .pkeyType(\"RSA\")\n .validityDays(\"365\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultClientCertificate:\n type: alicloud:esa:ClientCertificate\n name: default\n properties:\n siteId: ${default.sites[0].id}\n pkeyType: RSA\n validityDays: '365'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/clientCertificate:ClientCertificate example \u003csite_id\u003e:\u003cclient_cert_id\u003e\n```\n\n", + "description": "Provides a ESA Client Certificate resource.\n\n\n\nFor information about ESA Client Certificate and how to use it, see [What is Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateClientCertificate).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n siteName: \"gositecdn.cn\",\n});\nconst defaultClientCertificate = new alicloud.esa.ClientCertificate(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n pkeyType: \"RSA\",\n validityDays: \"365\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\",\n site_name=\"gositecdn.cn\")\ndefault_client_certificate = alicloud.esa.ClientCertificate(\"default\",\n site_id=default.sites[0].id,\n pkey_type=\"RSA\",\n validity_days=\"365\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n SiteName = \"gositecdn.cn\",\n });\n\n var defaultClientCertificate = new AliCloud.Esa.ClientCertificate(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n PkeyType = \"RSA\",\n ValidityDays = \"365\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t\tSiteName: pulumi.StringRef(\"gositecdn.cn\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewClientCertificate(ctx, \"default\", \u0026esa.ClientCertificateArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tPkeyType: pulumi.String(\"RSA\"),\n\t\t\tValidityDays: pulumi.String(\"365\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.ClientCertificate;\nimport com.pulumi.alicloud.esa.ClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .siteName(\"gositecdn.cn\")\n .build());\n\n var defaultClientCertificate = new ClientCertificate(\"defaultClientCertificate\", ClientCertificateArgs.builder()\n .siteId(default_.sites()[0].id())\n .pkeyType(\"RSA\")\n .validityDays(\"365\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultClientCertificate:\n type: alicloud:esa:ClientCertificate\n name: default\n properties:\n siteId: ${default.sites[0].id}\n pkeyType: RSA\n validityDays: '365'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n siteName: gositecdn.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/clientCertificate:ClientCertificate example \u003csite_id\u003e:\u003cclient_cert_id\u003e\n```\n\n", "properties": { "clientCertId": { "type": "string", @@ -173350,14 +176886,14 @@ }, "csr": { "type": "string", - "description": "Certificate signing request content.\n" + "description": "Certificate signing request content.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "pkeyType": { "type": "string", - "description": "The private key algorithm type.\n" + "description": "The private key algorithm type.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n" }, "status": { @@ -173366,7 +176902,7 @@ }, "validityDays": { "type": "string", - "description": "Certificate validity period.\n" + "description": "Certificate validity period.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" } }, "required": [ @@ -173379,14 +176915,14 @@ "inputProperties": { "csr": { "type": "string", - "description": "Certificate signing request content.\n" + "description": "Certificate signing request content.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "pkeyType": { "type": "string", - "description": "The private key algorithm type.\n" + "description": "The private key algorithm type.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n", "willReplaceOnChanges": true }, @@ -173396,7 +176932,7 @@ }, "validityDays": { "type": "string", - "description": "Certificate validity period.\n" + "description": "Certificate validity period.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" } }, "requiredInputs": [ @@ -173416,14 +176952,14 @@ }, "csr": { "type": "string", - "description": "Certificate signing request content.\n" + "description": "Certificate signing request content.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "pkeyType": { "type": "string", - "description": "The private key algorithm type.\n" + "description": "The private key algorithm type.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n", "willReplaceOnChanges": true }, @@ -173433,14 +176969,14 @@ }, "validityDays": { "type": "string", - "description": "Certificate validity period.\n" + "description": "Certificate validity period.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" } }, "type": "object" } }, "alicloud:esa/compressionRule:CompressionRule": { - "description": "Provides a ESA Compression Rule resource.\n\n\n\nFor information about ESA Compression Rule and how to use it, see [What is Compression Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCompressionRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst example = new alicloud.esa.Site(\"example\", {\n siteName: \"compression.example.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultCompressionRule = new alicloud.esa.CompressionRule(\"default\", {\n gzip: \"off\",\n brotli: \"off\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n siteVersion: 0,\n ruleName: \"rule_example\",\n siteId: example.id,\n zstd: \"off\",\n ruleEnable: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nexample = alicloud.esa.Site(\"example\",\n site_name=\"compression.example.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_compression_rule = alicloud.esa.CompressionRule(\"default\",\n gzip=\"off\",\n brotli=\"off\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n site_version=0,\n rule_name=\"rule_example\",\n site_id=example.id,\n zstd=\"off\",\n rule_enable=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var example = new AliCloud.Esa.Site(\"example\", new()\n {\n SiteName = \"compression.example.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultCompressionRule = new AliCloud.Esa.CompressionRule(\"default\", new()\n {\n Gzip = \"off\",\n Brotli = \"off\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n SiteVersion = 0,\n RuleName = \"rule_example\",\n SiteId = example.Id,\n Zstd = \"off\",\n RuleEnable = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := esa.NewSite(ctx, \"example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"compression.example.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCompressionRule(ctx, \"default\", \u0026esa.CompressionRuleArgs{\n\t\t\tGzip: pulumi.String(\"off\"),\n\t\t\tBrotli: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tSiteId: example.ID(),\n\t\t\tZstd: pulumi.String(\"off\"),\n\t\t\tRuleEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.CompressionRule;\nimport com.pulumi.alicloud.esa.CompressionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var example = new Site(\"example\", SiteArgs.builder()\n .siteName(\"compression.example.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultCompressionRule = new CompressionRule(\"defaultCompressionRule\", CompressionRuleArgs.builder()\n .gzip(\"off\")\n .brotli(\"off\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .siteVersion(0)\n .ruleName(\"rule_example\")\n .siteId(example.id())\n .zstd(\"off\")\n .ruleEnable(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:esa:Site\n properties:\n siteName: compression.example.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultCompressionRule:\n type: alicloud:esa:CompressionRule\n name: default\n properties:\n gzip: off\n brotli: off\n rule: http.host eq \"video.example.com\"\n siteVersion: '0'\n ruleName: rule_example\n siteId: ${example.id}\n zstd: off\n ruleEnable: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Compression Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/compressionRule:CompressionRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Compression Rule resource.\n\n\n\nFor information about ESA Compression Rule and how to use it, see [What is Compression Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCompressionRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst example = new alicloud.esa.Site(\"example\", {\n siteName: \"compression.example.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultCompressionRule = new alicloud.esa.CompressionRule(\"default\", {\n gzip: \"off\",\n brotli: \"off\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n siteVersion: 0,\n ruleName: \"rule_example\",\n siteId: example.id,\n zstd: \"off\",\n ruleEnable: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nexample = alicloud.esa.Site(\"example\",\n site_name=\"compression.example.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_compression_rule = alicloud.esa.CompressionRule(\"default\",\n gzip=\"off\",\n brotli=\"off\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n site_version=0,\n rule_name=\"rule_example\",\n site_id=example.id,\n zstd=\"off\",\n rule_enable=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var example = new AliCloud.Esa.Site(\"example\", new()\n {\n SiteName = \"compression.example.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultCompressionRule = new AliCloud.Esa.CompressionRule(\"default\", new()\n {\n Gzip = \"off\",\n Brotli = \"off\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n SiteVersion = 0,\n RuleName = \"rule_example\",\n SiteId = example.Id,\n Zstd = \"off\",\n RuleEnable = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := esa.NewSite(ctx, \"example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"compression.example.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCompressionRule(ctx, \"default\", \u0026esa.CompressionRuleArgs{\n\t\t\tGzip: pulumi.String(\"off\"),\n\t\t\tBrotli: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tSiteId: example.ID(),\n\t\t\tZstd: pulumi.String(\"off\"),\n\t\t\tRuleEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.CompressionRule;\nimport com.pulumi.alicloud.esa.CompressionRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var example = new Site(\"example\", SiteArgs.builder()\n .siteName(\"compression.example.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultCompressionRule = new CompressionRule(\"defaultCompressionRule\", CompressionRuleArgs.builder()\n .gzip(\"off\")\n .brotli(\"off\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .siteVersion(0)\n .ruleName(\"rule_example\")\n .siteId(example.id())\n .zstd(\"off\")\n .ruleEnable(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:esa:Site\n properties:\n siteName: compression.example.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultCompressionRule:\n type: alicloud:esa:CompressionRule\n name: default\n properties:\n gzip: off\n brotli: off\n rule: http.host eq \"video.example.com\"\n siteVersion: '0'\n ruleName: rule_example\n siteId: ${example.id}\n zstd: off\n ruleEnable: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Compression Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/compressionRule:CompressionRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "brotli": { "type": "string", @@ -173581,7 +177117,7 @@ } }, "alicloud:esa/customScenePolicy:CustomScenePolicy": { - "description": "Provides a ESA Custom Scene Policy resource.\n\n\n\nFor information about ESA Custom Scene Policy and how to use it, see [What is Custom Scene Policy](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCustomScenePolicy).\n\n\u003e **NOTE:** Available since v1.253.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"bcd58610.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: name,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n versionManagement: true,\n});\nconst defaultCustomScenePolicy = new alicloud.esa.CustomScenePolicy(\"default\", {\n endTime: \"2025-08-07T17:00:00Z\",\n createTime: \"2025-07-07T17:00:00Z\",\n siteIds: defaultSite.id,\n template: \"promotion\",\n customScenePolicyName: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"bcd58610.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=name,\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\",\n version_management=True)\ndefault_custom_scene_policy = alicloud.esa.CustomScenePolicy(\"default\",\n end_time=\"2025-08-07T17:00:00Z\",\n create_time=\"2025-07-07T17:00:00Z\",\n site_ids=default_site.id,\n template=\"promotion\",\n custom_scene_policy_name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"bcd58610.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = name,\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n VersionManagement = true,\n });\n\n var defaultCustomScenePolicy = new AliCloud.Esa.CustomScenePolicy(\"default\", new()\n {\n EndTime = \"2025-08-07T17:00:00Z\",\n CreateTime = \"2025-07-07T17:00:00Z\",\n SiteIds = defaultSite.Id,\n Template = \"promotion\",\n CustomScenePolicyName = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"bcd58610.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tVersionManagement: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCustomScenePolicy(ctx, \"default\", \u0026esa.CustomScenePolicyArgs{\n\t\t\tEndTime: pulumi.String(\"2025-08-07T17:00:00Z\"),\n\t\t\tCreateTime: pulumi.String(\"2025-07-07T17:00:00Z\"),\n\t\t\tSiteIds: defaultSite.ID(),\n\t\t\tTemplate: pulumi.String(\"promotion\"),\n\t\t\tCustomScenePolicyName: pulumi.String(\"example-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.CustomScenePolicy;\nimport com.pulumi.alicloud.esa.CustomScenePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"bcd58610.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(name)\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .versionManagement(true)\n .build());\n\n var defaultCustomScenePolicy = new CustomScenePolicy(\"defaultCustomScenePolicy\", CustomScenePolicyArgs.builder()\n .endTime(\"2025-08-07T17:00:00Z\")\n .createTime(\"2025-07-07T17:00:00Z\")\n .siteIds(defaultSite.id())\n .template(\"promotion\")\n .customScenePolicyName(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: bcd58610.com\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: ${name}\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n versionManagement: true\n defaultCustomScenePolicy:\n type: alicloud:esa:CustomScenePolicy\n name: default\n properties:\n endTime: 2025-08-07T17:00:00Z\n createTime: 2025-07-07T17:00:00Z\n siteIds: ${defaultSite.id}\n template: promotion\n customScenePolicyName: example-policy\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Custom Scene Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/customScenePolicy:CustomScenePolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Custom Scene Policy resource.\n\n\n\nFor information about ESA Custom Scene Policy and how to use it, see [What is Custom Scene Policy](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateCustomScenePolicy).\n\n\u003e **NOTE:** Available since v1.253.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"bcd58610.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: name,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n versionManagement: true,\n});\nconst defaultCustomScenePolicy = new alicloud.esa.CustomScenePolicy(\"default\", {\n endTime: \"2025-08-07T17:00:00Z\",\n createTime: \"2025-07-07T17:00:00Z\",\n siteIds: defaultSite.id,\n template: \"promotion\",\n customScenePolicyName: \"example-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"bcd58610.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=name,\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\",\n version_management=True)\ndefault_custom_scene_policy = alicloud.esa.CustomScenePolicy(\"default\",\n end_time=\"2025-08-07T17:00:00Z\",\n create_time=\"2025-07-07T17:00:00Z\",\n site_ids=default_site.id,\n template=\"promotion\",\n custom_scene_policy_name=\"example-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"bcd58610.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = name,\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n VersionManagement = true,\n });\n\n var defaultCustomScenePolicy = new AliCloud.Esa.CustomScenePolicy(\"default\", new()\n {\n EndTime = \"2025-08-07T17:00:00Z\",\n CreateTime = \"2025-07-07T17:00:00Z\",\n SiteIds = defaultSite.Id,\n Template = \"promotion\",\n CustomScenePolicyName = \"example-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"bcd58610.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tVersionManagement: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewCustomScenePolicy(ctx, \"default\", \u0026esa.CustomScenePolicyArgs{\n\t\t\tEndTime: pulumi.String(\"2025-08-07T17:00:00Z\"),\n\t\t\tCreateTime: pulumi.String(\"2025-07-07T17:00:00Z\"),\n\t\t\tSiteIds: defaultSite.ID(),\n\t\t\tTemplate: pulumi.String(\"promotion\"),\n\t\t\tCustomScenePolicyName: pulumi.String(\"example-policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.CustomScenePolicy;\nimport com.pulumi.alicloud.esa.CustomScenePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"bcd58610.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(name)\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .versionManagement(true)\n .build());\n\n var defaultCustomScenePolicy = new CustomScenePolicy(\"defaultCustomScenePolicy\", CustomScenePolicyArgs.builder()\n .endTime(\"2025-08-07T17:00:00Z\")\n .createTime(\"2025-07-07T17:00:00Z\")\n .siteIds(defaultSite.id())\n .template(\"promotion\")\n .customScenePolicyName(\"example-policy\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: bcd58610.com\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: ${name}\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n versionManagement: true\n defaultCustomScenePolicy:\n type: alicloud:esa:CustomScenePolicy\n name: default\n properties:\n endTime: 2025-08-07T17:00:00Z\n createTime: 2025-07-07T17:00:00Z\n siteIds: ${defaultSite.id}\n template: promotion\n customScenePolicyName: example-policy\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Custom Scene Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/customScenePolicy:CustomScenePolicy example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -173681,7 +177217,7 @@ } }, "alicloud:esa/edgeContainerApp:EdgeContainerApp": { - "description": "Provides a ESA Edge Container App resource.\n\n\n\nFor information about ESA Edge Container App and how to use it, see [What is Edge Container App](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateEdgeContainerApp).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.esa.EdgeContainerApp(\"default\", {\n targetPort: 3000,\n healthCheckHost: \"example.com\",\n remarks: name,\n healthCheckPort: 80,\n healthCheckUri: \"/\",\n healthCheckTimeout: 3,\n healthCheckMethod: \"HEAD\",\n healthCheckHttpCode: \"http_2xx\",\n healthCheckFailTimes: 5,\n servicePort: 80,\n healthCheckInterval: 5,\n healthCheckSuccTimes: 2,\n edgeContainerAppName: name,\n healthCheckType: \"l7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.esa.EdgeContainerApp(\"default\",\n target_port=3000,\n health_check_host=\"example.com\",\n remarks=name,\n health_check_port=80,\n health_check_uri=\"/\",\n health_check_timeout=3,\n health_check_method=\"HEAD\",\n health_check_http_code=\"http_2xx\",\n health_check_fail_times=5,\n service_port=80,\n health_check_interval=5,\n health_check_succ_times=2,\n edge_container_app_name=name,\n health_check_type=\"l7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.Esa.EdgeContainerApp(\"default\", new()\n {\n TargetPort = 3000,\n HealthCheckHost = \"example.com\",\n Remarks = name,\n HealthCheckPort = 80,\n HealthCheckUri = \"/\",\n HealthCheckTimeout = 3,\n HealthCheckMethod = \"HEAD\",\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckFailTimes = 5,\n ServicePort = 80,\n HealthCheckInterval = 5,\n HealthCheckSuccTimes = 2,\n EdgeContainerAppName = name,\n HealthCheckType = \"l7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewEdgeContainerApp(ctx, \"default\", \u0026esa.EdgeContainerAppArgs{\n\t\t\tTargetPort: pulumi.Int(3000),\n\t\t\tHealthCheckHost: pulumi.String(\"example.com\"),\n\t\t\tRemarks: pulumi.String(name),\n\t\t\tHealthCheckPort: pulumi.Int(80),\n\t\t\tHealthCheckUri: pulumi.String(\"/\"),\n\t\t\tHealthCheckTimeout: pulumi.Int(3),\n\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckFailTimes: pulumi.Int(5),\n\t\t\tServicePort: pulumi.Int(80),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckSuccTimes: pulumi.Int(2),\n\t\t\tEdgeContainerAppName: pulumi.String(name),\n\t\t\tHealthCheckType: pulumi.String(\"l7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EdgeContainerApp;\nimport com.pulumi.alicloud.esa.EdgeContainerAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new EdgeContainerApp(\"default\", EdgeContainerAppArgs.builder()\n .targetPort(3000)\n .healthCheckHost(\"example.com\")\n .remarks(name)\n .healthCheckPort(80)\n .healthCheckUri(\"/\")\n .healthCheckTimeout(3)\n .healthCheckMethod(\"HEAD\")\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckFailTimes(5)\n .servicePort(80)\n .healthCheckInterval(5)\n .healthCheckSuccTimes(2)\n .edgeContainerAppName(name)\n .healthCheckType(\"l7\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:esa:EdgeContainerApp\n properties:\n targetPort: '3000'\n healthCheckHost: example.com\n remarks: ${name}\n healthCheckPort: '80'\n healthCheckUri: /\n healthCheckTimeout: '3'\n healthCheckMethod: HEAD\n healthCheckHttpCode: http_2xx\n healthCheckFailTimes: '5'\n servicePort: '80'\n healthCheckInterval: '5'\n healthCheckSuccTimes: '2'\n edgeContainerAppName: ${name}\n healthCheckType: l7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Edge Container App can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/edgeContainerApp:EdgeContainerApp example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Edge Container App resource.\n\n\n\nFor information about ESA Edge Container App and how to use it, see [What is Edge Container App](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateEdgeContainerApp).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.esa.EdgeContainerApp(\"default\", {\n targetPort: 3000,\n healthCheckHost: \"example.com\",\n remarks: name,\n healthCheckPort: 80,\n healthCheckUri: \"/\",\n healthCheckTimeout: 3,\n healthCheckMethod: \"HEAD\",\n healthCheckHttpCode: \"http_2xx\",\n healthCheckFailTimes: 5,\n servicePort: 80,\n healthCheckInterval: 5,\n healthCheckSuccTimes: 2,\n edgeContainerAppName: name,\n healthCheckType: \"l7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.esa.EdgeContainerApp(\"default\",\n target_port=3000,\n health_check_host=\"example.com\",\n remarks=name,\n health_check_port=80,\n health_check_uri=\"/\",\n health_check_timeout=3,\n health_check_method=\"HEAD\",\n health_check_http_code=\"http_2xx\",\n health_check_fail_times=5,\n service_port=80,\n health_check_interval=5,\n health_check_succ_times=2,\n edge_container_app_name=name,\n health_check_type=\"l7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.Esa.EdgeContainerApp(\"default\", new()\n {\n TargetPort = 3000,\n HealthCheckHost = \"example.com\",\n Remarks = name,\n HealthCheckPort = 80,\n HealthCheckUri = \"/\",\n HealthCheckTimeout = 3,\n HealthCheckMethod = \"HEAD\",\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckFailTimes = 5,\n ServicePort = 80,\n HealthCheckInterval = 5,\n HealthCheckSuccTimes = 2,\n EdgeContainerAppName = name,\n HealthCheckType = \"l7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewEdgeContainerApp(ctx, \"default\", \u0026esa.EdgeContainerAppArgs{\n\t\t\tTargetPort: pulumi.Int(3000),\n\t\t\tHealthCheckHost: pulumi.String(\"example.com\"),\n\t\t\tRemarks: pulumi.String(name),\n\t\t\tHealthCheckPort: pulumi.Int(80),\n\t\t\tHealthCheckUri: pulumi.String(\"/\"),\n\t\t\tHealthCheckTimeout: pulumi.Int(3),\n\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckFailTimes: pulumi.Int(5),\n\t\t\tServicePort: pulumi.Int(80),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckSuccTimes: pulumi.Int(2),\n\t\t\tEdgeContainerAppName: pulumi.String(name),\n\t\t\tHealthCheckType: pulumi.String(\"l7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EdgeContainerApp;\nimport com.pulumi.alicloud.esa.EdgeContainerAppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new EdgeContainerApp(\"default\", EdgeContainerAppArgs.builder()\n .targetPort(3000)\n .healthCheckHost(\"example.com\")\n .remarks(name)\n .healthCheckPort(80)\n .healthCheckUri(\"/\")\n .healthCheckTimeout(3)\n .healthCheckMethod(\"HEAD\")\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckFailTimes(5)\n .servicePort(80)\n .healthCheckInterval(5)\n .healthCheckSuccTimes(2)\n .edgeContainerAppName(name)\n .healthCheckType(\"l7\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:esa:EdgeContainerApp\n properties:\n targetPort: '3000'\n healthCheckHost: example.com\n remarks: ${name}\n healthCheckPort: '80'\n healthCheckUri: /\n healthCheckTimeout: '3'\n healthCheckMethod: HEAD\n healthCheckHttpCode: http_2xx\n healthCheckFailTimes: '5'\n servicePort: '80'\n healthCheckInterval: '5'\n healthCheckSuccTimes: '2'\n edgeContainerAppName: ${name}\n healthCheckType: l7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Edge Container App can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/edgeContainerApp:EdgeContainerApp example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -173926,7 +177462,7 @@ } }, "alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord": { - "description": "Provides a ESA Edge Container App Record resource.\n\n\n\nFor information about ESA Edge Container App Record and how to use it, see [What is Edge Container App Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateEdgeContainerAppRecord).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteOriginPoolTest = new alicloud.esa.Site(\"resource_Site_OriginPool_test\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultEdgeContainerApp = new alicloud.esa.EdgeContainerApp(\"default\", {\n healthCheckHost: \"example.com\",\n healthCheckType: \"l7\",\n servicePort: 80,\n healthCheckInterval: 5,\n edgeContainerAppName: \"terraform-app\",\n healthCheckHttpCode: \"http_2xx\",\n healthCheckUri: \"/\",\n healthCheckTimeout: 3,\n healthCheckSuccTimes: 2,\n remarks: name,\n healthCheckMethod: \"HEAD\",\n healthCheckPort: 80,\n healthCheckFailTimes: 5,\n targetPort: 3000,\n});\nconst defaultEdgeContainerAppRecord = new alicloud.esa.EdgeContainerAppRecord(\"default\", {\n recordName: \"tf.terraform.com\",\n siteId: resourceSiteOriginPoolTest.id,\n appId: defaultEdgeContainerApp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_origin_pool_test = alicloud.esa.Site(\"resource_Site_OriginPool_test\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_edge_container_app = alicloud.esa.EdgeContainerApp(\"default\",\n health_check_host=\"example.com\",\n health_check_type=\"l7\",\n service_port=80,\n health_check_interval=5,\n edge_container_app_name=\"terraform-app\",\n health_check_http_code=\"http_2xx\",\n health_check_uri=\"/\",\n health_check_timeout=3,\n health_check_succ_times=2,\n remarks=name,\n health_check_method=\"HEAD\",\n health_check_port=80,\n health_check_fail_times=5,\n target_port=3000)\ndefault_edge_container_app_record = alicloud.esa.EdgeContainerAppRecord(\"default\",\n record_name=\"tf.terraform.com\",\n site_id=resource_site_origin_pool_test.id,\n app_id=default_edge_container_app.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteOriginPoolTest = new AliCloud.Esa.Site(\"resource_Site_OriginPool_test\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultEdgeContainerApp = new AliCloud.Esa.EdgeContainerApp(\"default\", new()\n {\n HealthCheckHost = \"example.com\",\n HealthCheckType = \"l7\",\n ServicePort = 80,\n HealthCheckInterval = 5,\n EdgeContainerAppName = \"terraform-app\",\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckUri = \"/\",\n HealthCheckTimeout = 3,\n HealthCheckSuccTimes = 2,\n Remarks = name,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPort = 80,\n HealthCheckFailTimes = 5,\n TargetPort = 3000,\n });\n\n var defaultEdgeContainerAppRecord = new AliCloud.Esa.EdgeContainerAppRecord(\"default\", new()\n {\n RecordName = \"tf.terraform.com\",\n SiteId = resourceSiteOriginPoolTest.Id,\n AppId = defaultEdgeContainerApp.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginPoolTest, err := esa.NewSite(ctx, \"resource_Site_OriginPool_test\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEdgeContainerApp, err := esa.NewEdgeContainerApp(ctx, \"default\", \u0026esa.EdgeContainerAppArgs{\n\t\t\tHealthCheckHost: pulumi.String(\"example.com\"),\n\t\t\tHealthCheckType: pulumi.String(\"l7\"),\n\t\t\tServicePort: pulumi.Int(80),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tEdgeContainerAppName: pulumi.String(\"terraform-app\"),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/\"),\n\t\t\tHealthCheckTimeout: pulumi.Int(3),\n\t\t\tHealthCheckSuccTimes: pulumi.Int(2),\n\t\t\tRemarks: pulumi.String(name),\n\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\tHealthCheckPort: pulumi.Int(80),\n\t\t\tHealthCheckFailTimes: pulumi.Int(5),\n\t\t\tTargetPort: pulumi.Int(3000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewEdgeContainerAppRecord(ctx, \"default\", \u0026esa.EdgeContainerAppRecordArgs{\n\t\t\tRecordName: pulumi.String(\"tf.terraform.com\"),\n\t\t\tSiteId: resourceSiteOriginPoolTest.ID(),\n\t\t\tAppId: defaultEdgeContainerApp.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.EdgeContainerApp;\nimport com.pulumi.alicloud.esa.EdgeContainerAppArgs;\nimport com.pulumi.alicloud.esa.EdgeContainerAppRecord;\nimport com.pulumi.alicloud.esa.EdgeContainerAppRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteOriginPoolTest = new Site(\"resourceSiteOriginPoolTest\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultEdgeContainerApp = new EdgeContainerApp(\"defaultEdgeContainerApp\", EdgeContainerAppArgs.builder()\n .healthCheckHost(\"example.com\")\n .healthCheckType(\"l7\")\n .servicePort(80)\n .healthCheckInterval(5)\n .edgeContainerAppName(\"terraform-app\")\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckUri(\"/\")\n .healthCheckTimeout(3)\n .healthCheckSuccTimes(2)\n .remarks(name)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPort(80)\n .healthCheckFailTimes(5)\n .targetPort(3000)\n .build());\n\n var defaultEdgeContainerAppRecord = new EdgeContainerAppRecord(\"defaultEdgeContainerAppRecord\", EdgeContainerAppRecordArgs.builder()\n .recordName(\"tf.terraform.com\")\n .siteId(resourceSiteOriginPoolTest.id())\n .appId(defaultEdgeContainerApp.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform.com\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n resourceSiteOriginPoolTest:\n type: alicloud:esa:Site\n name: resource_Site_OriginPool_test\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultEdgeContainerApp:\n type: alicloud:esa:EdgeContainerApp\n name: default\n properties:\n healthCheckHost: example.com\n healthCheckType: l7\n servicePort: '80'\n healthCheckInterval: '5'\n edgeContainerAppName: terraform-app\n healthCheckHttpCode: http_2xx\n healthCheckUri: /\n healthCheckTimeout: '3'\n healthCheckSuccTimes: '2'\n remarks: ${name}\n healthCheckMethod: HEAD\n healthCheckPort: '80'\n healthCheckFailTimes: '5'\n targetPort: '3000'\n defaultEdgeContainerAppRecord:\n type: alicloud:esa:EdgeContainerAppRecord\n name: default\n properties:\n recordName: tf.terraform.com\n siteId: ${resourceSiteOriginPoolTest.id}\n appId: ${defaultEdgeContainerApp.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Edge Container App Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord example \u003csite_id\u003e:\u003capp_id\u003e:\u003crecord_name\u003e\n```\n\n", + "description": "Provides a ESA Edge Container App Record resource.\n\n\n\nFor information about ESA Edge Container App Record and how to use it, see [What is Edge Container App Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateEdgeContainerAppRecord).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteOriginPoolTest = new alicloud.esa.Site(\"resource_Site_OriginPool_test\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultEdgeContainerApp = new alicloud.esa.EdgeContainerApp(\"default\", {\n healthCheckHost: \"example.com\",\n healthCheckType: \"l7\",\n servicePort: 80,\n healthCheckInterval: 5,\n edgeContainerAppName: \"terraform-app2\",\n healthCheckHttpCode: \"http_2xx\",\n healthCheckUri: \"/\",\n healthCheckTimeout: 3,\n healthCheckSuccTimes: 2,\n remarks: name,\n healthCheckMethod: \"HEAD\",\n healthCheckPort: 80,\n healthCheckFailTimes: 5,\n targetPort: 3000,\n});\nconst defaultEdgeContainerAppRecord = new alicloud.esa.EdgeContainerAppRecord(\"default\", {\n recordName: \"tf.terraform.com\",\n siteId: resourceSiteOriginPoolTest.id,\n appId: defaultEdgeContainerApp.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_origin_pool_test = alicloud.esa.Site(\"resource_Site_OriginPool_test\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_edge_container_app = alicloud.esa.EdgeContainerApp(\"default\",\n health_check_host=\"example.com\",\n health_check_type=\"l7\",\n service_port=80,\n health_check_interval=5,\n edge_container_app_name=\"terraform-app2\",\n health_check_http_code=\"http_2xx\",\n health_check_uri=\"/\",\n health_check_timeout=3,\n health_check_succ_times=2,\n remarks=name,\n health_check_method=\"HEAD\",\n health_check_port=80,\n health_check_fail_times=5,\n target_port=3000)\ndefault_edge_container_app_record = alicloud.esa.EdgeContainerAppRecord(\"default\",\n record_name=\"tf.terraform.com\",\n site_id=resource_site_origin_pool_test.id,\n app_id=default_edge_container_app.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteOriginPoolTest = new AliCloud.Esa.Site(\"resource_Site_OriginPool_test\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultEdgeContainerApp = new AliCloud.Esa.EdgeContainerApp(\"default\", new()\n {\n HealthCheckHost = \"example.com\",\n HealthCheckType = \"l7\",\n ServicePort = 80,\n HealthCheckInterval = 5,\n EdgeContainerAppName = \"terraform-app2\",\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckUri = \"/\",\n HealthCheckTimeout = 3,\n HealthCheckSuccTimes = 2,\n Remarks = name,\n HealthCheckMethod = \"HEAD\",\n HealthCheckPort = 80,\n HealthCheckFailTimes = 5,\n TargetPort = 3000,\n });\n\n var defaultEdgeContainerAppRecord = new AliCloud.Esa.EdgeContainerAppRecord(\"default\", new()\n {\n RecordName = \"tf.terraform.com\",\n SiteId = resourceSiteOriginPoolTest.Id,\n AppId = defaultEdgeContainerApp.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginPoolTest, err := esa.NewSite(ctx, \"resource_Site_OriginPool_test\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEdgeContainerApp, err := esa.NewEdgeContainerApp(ctx, \"default\", \u0026esa.EdgeContainerAppArgs{\n\t\t\tHealthCheckHost: pulumi.String(\"example.com\"),\n\t\t\tHealthCheckType: pulumi.String(\"l7\"),\n\t\t\tServicePort: pulumi.Int(80),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tEdgeContainerAppName: pulumi.String(\"terraform-app2\"),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/\"),\n\t\t\tHealthCheckTimeout: pulumi.Int(3),\n\t\t\tHealthCheckSuccTimes: pulumi.Int(2),\n\t\t\tRemarks: pulumi.String(name),\n\t\t\tHealthCheckMethod: pulumi.String(\"HEAD\"),\n\t\t\tHealthCheckPort: pulumi.Int(80),\n\t\t\tHealthCheckFailTimes: pulumi.Int(5),\n\t\t\tTargetPort: pulumi.Int(3000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewEdgeContainerAppRecord(ctx, \"default\", \u0026esa.EdgeContainerAppRecordArgs{\n\t\t\tRecordName: pulumi.String(\"tf.terraform.com\"),\n\t\t\tSiteId: resourceSiteOriginPoolTest.ID(),\n\t\t\tAppId: defaultEdgeContainerApp.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.EdgeContainerApp;\nimport com.pulumi.alicloud.esa.EdgeContainerAppArgs;\nimport com.pulumi.alicloud.esa.EdgeContainerAppRecord;\nimport com.pulumi.alicloud.esa.EdgeContainerAppRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteOriginPoolTest = new Site(\"resourceSiteOriginPoolTest\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultEdgeContainerApp = new EdgeContainerApp(\"defaultEdgeContainerApp\", EdgeContainerAppArgs.builder()\n .healthCheckHost(\"example.com\")\n .healthCheckType(\"l7\")\n .servicePort(80)\n .healthCheckInterval(5)\n .edgeContainerAppName(\"terraform-app2\")\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckUri(\"/\")\n .healthCheckTimeout(3)\n .healthCheckSuccTimes(2)\n .remarks(name)\n .healthCheckMethod(\"HEAD\")\n .healthCheckPort(80)\n .healthCheckFailTimes(5)\n .targetPort(3000)\n .build());\n\n var defaultEdgeContainerAppRecord = new EdgeContainerAppRecord(\"defaultEdgeContainerAppRecord\", EdgeContainerAppRecordArgs.builder()\n .recordName(\"tf.terraform.com\")\n .siteId(resourceSiteOriginPoolTest.id())\n .appId(defaultEdgeContainerApp.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform.com\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n resourceSiteOriginPoolTest:\n type: alicloud:esa:Site\n name: resource_Site_OriginPool_test\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultEdgeContainerApp:\n type: alicloud:esa:EdgeContainerApp\n name: default\n properties:\n healthCheckHost: example.com\n healthCheckType: l7\n servicePort: '80'\n healthCheckInterval: '5'\n edgeContainerAppName: terraform-app2\n healthCheckHttpCode: http_2xx\n healthCheckUri: /\n healthCheckTimeout: '3'\n healthCheckSuccTimes: '2'\n remarks: ${name}\n healthCheckMethod: HEAD\n healthCheckPort: '80'\n healthCheckFailTimes: '5'\n targetPort: '3000'\n defaultEdgeContainerAppRecord:\n type: alicloud:esa:EdgeContainerAppRecord\n name: default\n properties:\n recordName: tf.terraform.com\n siteId: ${resourceSiteOriginPoolTest.id}\n appId: ${defaultEdgeContainerApp.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Edge Container App Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord example \u003csite_id\u003e:\u003capp_id\u003e:\u003crecord_name\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -173941,7 +177477,7 @@ "description": "The associated domain name.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID.\n" } }, @@ -173963,7 +177499,7 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID.\n", "willReplaceOnChanges": true } @@ -173990,7 +177526,7 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID.\n", "willReplaceOnChanges": true } @@ -173998,8 +177534,262 @@ "type": "object" } }, + "alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule": { + "description": "Provides a ESA Http Incoming Request Header Modification Rule resource.\n\n\n\nFor information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceHttpIncomingRequestHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance(\"resource_HttpIncomingRequestHeaderModificationRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new alicloud.esa.Site(\"resource_Site_HttpIncomingRequestHeaderModificationRule_example\", {\n siteName: `gositecdn${_default.result}.cn`,\n instanceId: resourceHttpIncomingRequestHeaderModificationRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpIncomingRequestHeaderModificationRule = new alicloud.esa.HttpIncomingRequestHeaderModificationRule(\"default\", {\n siteId: resourceSiteHttpIncomingRequestHeaderModificationRuleExample.id,\n ruleEnable: \"on\",\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n sequence: 1,\n siteVersion: 0,\n ruleName: \"example\",\n requestHeaderModifications: [\n {\n type: \"static\",\n value: \"add\",\n operation: \"add\",\n name: \"exampleadd\",\n },\n {\n operation: \"del\",\n name: \"exampledel\",\n },\n {\n type: \"dynamic\",\n value: \"ip.geoip.country\",\n operation: \"modify\",\n name: \"examplemodify\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_http_incoming_request_header_modification_rule_example = alicloud.esa.RatePlanInstance(\"resource_HttpIncomingRequestHeaderModificationRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\nresource_site_http_incoming_request_header_modification_rule_example = alicloud.esa.Site(\"resource_Site_HttpIncomingRequestHeaderModificationRule_example\",\n site_name=f\"gositecdn{default['result']}.cn\",\n instance_id=resource_http_incoming_request_header_modification_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_incoming_request_header_modification_rule = alicloud.esa.HttpIncomingRequestHeaderModificationRule(\"default\",\n site_id=resource_site_http_incoming_request_header_modification_rule_example.id,\n rule_enable=\"on\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n sequence=1,\n site_version=0,\n rule_name=\"example\",\n request_header_modifications=[\n {\n \"type\": \"static\",\n \"value\": \"add\",\n \"operation\": \"add\",\n \"name\": \"exampleadd\",\n },\n {\n \"operation\": \"del\",\n \"name\": \"exampledel\",\n },\n {\n \"type\": \"dynamic\",\n \"value\": \"ip.geoip.country\",\n \"operation\": \"modify\",\n \"name\": \"examplemodify\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceHttpIncomingRequestHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_HttpIncomingRequestHeaderModificationRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new AliCloud.Esa.Site(\"resource_Site_HttpIncomingRequestHeaderModificationRule_example\", new()\n {\n SiteName = $\"gositecdn{@default.Result}.cn\",\n InstanceId = resourceHttpIncomingRequestHeaderModificationRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpIncomingRequestHeaderModificationRule = new AliCloud.Esa.HttpIncomingRequestHeaderModificationRule(\"default\", new()\n {\n SiteId = resourceSiteHttpIncomingRequestHeaderModificationRuleExample.Id,\n RuleEnable = \"on\",\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n Sequence = 1,\n SiteVersion = 0,\n RuleName = \"example\",\n RequestHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs\n {\n Type = \"static\",\n Value = \"add\",\n Operation = \"add\",\n Name = \"exampleadd\",\n },\n new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs\n {\n Operation = \"del\",\n Name = \"exampledel\",\n },\n new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs\n {\n Type = \"dynamic\",\n Value = \"ip.geoip.country\",\n Operation = \"modify\",\n Name = \"examplemodify\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceHttpIncomingRequestHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_HttpIncomingRequestHeaderModificationRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpIncomingRequestHeaderModificationRuleExample, err := esa.NewSite(ctx, \"resource_Site_HttpIncomingRequestHeaderModificationRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceHttpIncomingRequestHeaderModificationRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpIncomingRequestHeaderModificationRule(ctx, \"default\", \u0026esa.HttpIncomingRequestHeaderModificationRuleArgs{\n\t\t\tSiteId: resourceSiteHttpIncomingRequestHeaderModificationRuleExample.ID(),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tRequestHeaderModifications: esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{\n\t\t\t\t\tType: pulumi.String(\"static\"),\n\t\t\t\t\tValue: pulumi.String(\"add\"),\n\t\t\t\t\tOperation: pulumi.String(\"add\"),\n\t\t\t\t\tName: pulumi.String(\"exampleadd\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{\n\t\t\t\t\tOperation: pulumi.String(\"del\"),\n\t\t\t\t\tName: pulumi.String(\"exampledel\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{\n\t\t\t\t\tType: pulumi.String(\"dynamic\"),\n\t\t\t\t\tValue: pulumi.String(\"ip.geoip.country\"),\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"examplemodify\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpIncomingRequestHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpIncomingRequestHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceHttpIncomingRequestHeaderModificationRuleExample = new RatePlanInstance(\"resourceHttpIncomingRequestHeaderModificationRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new Site(\"resourceSiteHttpIncomingRequestHeaderModificationRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn%s.cn\", default_.result()))\n .instanceId(resourceHttpIncomingRequestHeaderModificationRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpIncomingRequestHeaderModificationRule = new HttpIncomingRequestHeaderModificationRule(\"defaultHttpIncomingRequestHeaderModificationRule\", HttpIncomingRequestHeaderModificationRuleArgs.builder()\n .siteId(resourceSiteHttpIncomingRequestHeaderModificationRuleExample.id())\n .ruleEnable(\"on\")\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .sequence(1)\n .siteVersion(0)\n .ruleName(\"example\")\n .requestHeaderModifications( \n HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()\n .type(\"static\")\n .value(\"add\")\n .operation(\"add\")\n .name(\"exampleadd\")\n .build(),\n HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()\n .operation(\"del\")\n .name(\"exampledel\")\n .build(),\n HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()\n .type(\"dynamic\")\n .value(\"ip.geoip.country\")\n .operation(\"modify\")\n .name(\"examplemodify\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceHttpIncomingRequestHeaderModificationRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_HttpIncomingRequestHeaderModificationRule_example\n properties:\n type: NS\n autoRenew: false\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: true\n planName: high\n resourceSiteHttpIncomingRequestHeaderModificationRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_HttpIncomingRequestHeaderModificationRule_example\n properties:\n siteName: gositecdn${default.result}.cn\n instanceId: ${resourceHttpIncomingRequestHeaderModificationRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultHttpIncomingRequestHeaderModificationRule:\n type: alicloud:esa:HttpIncomingRequestHeaderModificationRule\n name: default\n properties:\n siteId: ${resourceSiteHttpIncomingRequestHeaderModificationRuleExample.id}\n ruleEnable: on\n rule: (http.host eq \"video.example.com\")\n sequence: '1'\n siteVersion: '0'\n ruleName: example\n requestHeaderModifications:\n - type: static\n value: add\n operation: add\n name: exampleadd\n - operation: del\n name: exampledel\n - type: dynamic\n value: ip.geoip.country\n operation: modify\n name: examplemodify\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Http Incoming Request Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "properties": { + "configId": { + "type": "integer", + "description": "Config Id\n" + }, + "requestHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification:HttpIncomingRequestHeaderModificationRuleRequestHeaderModification" + }, + "description": "The configurations of modifying request headers. You can add, delete, or modify a request header. See \u003cspan pulumi-lang-nodejs=\"`requestHeaderModification`\" pulumi-lang-dotnet=\"`RequestHeaderModification`\" pulumi-lang-go=\"`requestHeaderModification`\" pulumi-lang-python=\"`request_header_modification`\" pulumi-lang-yaml=\"`requestHeaderModification`\" pulumi-lang-java=\"`requestHeaderModification`\"\u003e`request_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n" + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n" + } + }, + "required": [ + "configId", + "requestHeaderModifications", + "siteId" + ], + "inputProperties": { + "requestHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification:HttpIncomingRequestHeaderModificationRuleRequestHeaderModification" + }, + "description": "The configurations of modifying request headers. You can add, delete, or modify a request header. See \u003cspan pulumi-lang-nodejs=\"`requestHeaderModification`\" pulumi-lang-dotnet=\"`RequestHeaderModification`\" pulumi-lang-go=\"`requestHeaderModification`\" pulumi-lang-python=\"`request_header_modification`\" pulumi-lang-yaml=\"`requestHeaderModification`\" pulumi-lang-java=\"`requestHeaderModification`\"\u003e`request_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n", + "willReplaceOnChanges": true + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "requestHeaderModifications", + "siteId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering HttpIncomingRequestHeaderModificationRule resources.\n", + "properties": { + "configId": { + "type": "integer", + "description": "Config Id\n" + }, + "requestHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification:HttpIncomingRequestHeaderModificationRuleRequestHeaderModification" + }, + "description": "The configurations of modifying request headers. You can add, delete, or modify a request header. See \u003cspan pulumi-lang-nodejs=\"`requestHeaderModification`\" pulumi-lang-dotnet=\"`RequestHeaderModification`\" pulumi-lang-go=\"`requestHeaderModification`\" pulumi-lang-python=\"`request_header_modification`\" pulumi-lang-yaml=\"`requestHeaderModification`\" pulumi-lang-java=\"`requestHeaderModification`\"\u003e`request_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n", + "willReplaceOnChanges": true + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule": { + "description": "Provides a ESA Http Incoming Response Header Modification Rule resource.\n\n\n\nFor information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceHttpIncomingResponseHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance(\"resource_HttpIncomingResponseHeaderModificationRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"basic\",\n});\nconst resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new alicloud.esa.Site(\"resource_Site_HttpIncomingResponseHeaderModificationRule_example\", {\n siteName: `gositecdn${_default.result}.cn`,\n instanceId: resourceHttpIncomingResponseHeaderModificationRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpIncomingResponseHeaderModificationRule = new alicloud.esa.HttpIncomingResponseHeaderModificationRule(\"default\", {\n siteId: resourceSiteHttpIncomingResponseHeaderModificationRuleExample.id,\n ruleEnable: \"on\",\n responseHeaderModifications: [\n {\n type: \"static\",\n value: \"add\",\n operation: \"add\",\n name: \"exampleadd\",\n },\n {\n type: \"static\",\n operation: \"del\",\n name: \"exampledel\",\n },\n {\n type: \"static\",\n value: \"modify\",\n operation: \"modify\",\n name: \"examplemodify\",\n },\n ],\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n sequence: 1,\n siteVersion: 0,\n ruleName: \"exampleResponseHeader\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_http_incoming_response_header_modification_rule_example = alicloud.esa.RatePlanInstance(\"resource_HttpIncomingResponseHeaderModificationRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"basic\")\nresource_site_http_incoming_response_header_modification_rule_example = alicloud.esa.Site(\"resource_Site_HttpIncomingResponseHeaderModificationRule_example\",\n site_name=f\"gositecdn{default['result']}.cn\",\n instance_id=resource_http_incoming_response_header_modification_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_incoming_response_header_modification_rule = alicloud.esa.HttpIncomingResponseHeaderModificationRule(\"default\",\n site_id=resource_site_http_incoming_response_header_modification_rule_example.id,\n rule_enable=\"on\",\n response_header_modifications=[\n {\n \"type\": \"static\",\n \"value\": \"add\",\n \"operation\": \"add\",\n \"name\": \"exampleadd\",\n },\n {\n \"type\": \"static\",\n \"operation\": \"del\",\n \"name\": \"exampledel\",\n },\n {\n \"type\": \"static\",\n \"value\": \"modify\",\n \"operation\": \"modify\",\n \"name\": \"examplemodify\",\n },\n ],\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n sequence=1,\n site_version=0,\n rule_name=\"exampleResponseHeader\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceHttpIncomingResponseHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_HttpIncomingResponseHeaderModificationRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"basic\",\n });\n\n var resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new AliCloud.Esa.Site(\"resource_Site_HttpIncomingResponseHeaderModificationRule_example\", new()\n {\n SiteName = $\"gositecdn{@default.Result}.cn\",\n InstanceId = resourceHttpIncomingResponseHeaderModificationRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpIncomingResponseHeaderModificationRule = new AliCloud.Esa.HttpIncomingResponseHeaderModificationRule(\"default\", new()\n {\n SiteId = resourceSiteHttpIncomingResponseHeaderModificationRuleExample.Id,\n RuleEnable = \"on\",\n ResponseHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Type = \"static\",\n Value = \"add\",\n Operation = \"add\",\n Name = \"exampleadd\",\n },\n new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Type = \"static\",\n Operation = \"del\",\n Name = \"exampledel\",\n },\n new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Type = \"static\",\n Value = \"modify\",\n Operation = \"modify\",\n Name = \"examplemodify\",\n },\n },\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n Sequence = 1,\n SiteVersion = 0,\n RuleName = \"exampleResponseHeader\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceHttpIncomingResponseHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_HttpIncomingResponseHeaderModificationRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpIncomingResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, \"resource_Site_HttpIncomingResponseHeaderModificationRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceHttpIncomingResponseHeaderModificationRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpIncomingResponseHeaderModificationRule(ctx, \"default\", \u0026esa.HttpIncomingResponseHeaderModificationRuleArgs{\n\t\t\tSiteId: resourceSiteHttpIncomingResponseHeaderModificationRuleExample.ID(),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tResponseHeaderModifications: esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tType: pulumi.String(\"static\"),\n\t\t\t\t\tValue: pulumi.String(\"add\"),\n\t\t\t\t\tOperation: pulumi.String(\"add\"),\n\t\t\t\t\tName: pulumi.String(\"exampleadd\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tType: pulumi.String(\"static\"),\n\t\t\t\t\tOperation: pulumi.String(\"del\"),\n\t\t\t\t\tName: pulumi.String(\"exampledel\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tType: pulumi.String(\"static\"),\n\t\t\t\t\tValue: pulumi.String(\"modify\"),\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"examplemodify\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"exampleResponseHeader\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpIncomingResponseHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpIncomingResponseHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceHttpIncomingResponseHeaderModificationRuleExample = new RatePlanInstance(\"resourceHttpIncomingResponseHeaderModificationRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"basic\")\n .build());\n\n var resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new Site(\"resourceSiteHttpIncomingResponseHeaderModificationRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn%s.cn\", default_.result()))\n .instanceId(resourceHttpIncomingResponseHeaderModificationRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpIncomingResponseHeaderModificationRule = new HttpIncomingResponseHeaderModificationRule(\"defaultHttpIncomingResponseHeaderModificationRule\", HttpIncomingResponseHeaderModificationRuleArgs.builder()\n .siteId(resourceSiteHttpIncomingResponseHeaderModificationRuleExample.id())\n .ruleEnable(\"on\")\n .responseHeaderModifications( \n HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .type(\"static\")\n .value(\"add\")\n .operation(\"add\")\n .name(\"exampleadd\")\n .build(),\n HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .type(\"static\")\n .operation(\"del\")\n .name(\"exampledel\")\n .build(),\n HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .type(\"static\")\n .value(\"modify\")\n .operation(\"modify\")\n .name(\"examplemodify\")\n .build())\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .sequence(1)\n .siteVersion(0)\n .ruleName(\"exampleResponseHeader\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceHttpIncomingResponseHeaderModificationRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_HttpIncomingResponseHeaderModificationRule_example\n properties:\n type: NS\n autoRenew: false\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: true\n planName: basic\n resourceSiteHttpIncomingResponseHeaderModificationRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_HttpIncomingResponseHeaderModificationRule_example\n properties:\n siteName: gositecdn${default.result}.cn\n instanceId: ${resourceHttpIncomingResponseHeaderModificationRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultHttpIncomingResponseHeaderModificationRule:\n type: alicloud:esa:HttpIncomingResponseHeaderModificationRule\n name: default\n properties:\n siteId: ${resourceSiteHttpIncomingResponseHeaderModificationRuleExample.id}\n ruleEnable: on\n responseHeaderModifications:\n - type: static\n value: add\n operation: add\n name: exampleadd\n - type: static\n operation: del\n name: exampledel\n - type: static\n value: modify\n operation: modify\n name: examplemodify\n rule: (http.host eq \"video.example.com\")\n sequence: '1'\n siteVersion: '0'\n ruleName: exampleResponseHeader\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Http Incoming Response Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "properties": { + "configId": { + "type": "integer", + "description": "Config Id\n" + }, + "responseHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification:HttpIncomingResponseHeaderModificationRuleResponseHeaderModification" + }, + "description": "Modify response headers, supporting add, delete, and modify operations. See \u003cspan pulumi-lang-nodejs=\"`responseHeaderModification`\" pulumi-lang-dotnet=\"`ResponseHeaderModification`\" pulumi-lang-go=\"`responseHeaderModification`\" pulumi-lang-python=\"`response_header_modification`\" pulumi-lang-yaml=\"`responseHeaderModification`\" pulumi-lang-java=\"`responseHeaderModification`\"\u003e`response_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n" + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n" + } + }, + "required": [ + "configId", + "responseHeaderModifications", + "siteId" + ], + "inputProperties": { + "responseHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification:HttpIncomingResponseHeaderModificationRuleResponseHeaderModification" + }, + "description": "Modify response headers, supporting add, delete, and modify operations. See \u003cspan pulumi-lang-nodejs=\"`responseHeaderModification`\" pulumi-lang-dotnet=\"`ResponseHeaderModification`\" pulumi-lang-go=\"`responseHeaderModification`\" pulumi-lang-python=\"`response_header_modification`\" pulumi-lang-yaml=\"`responseHeaderModification`\" pulumi-lang-java=\"`responseHeaderModification`\"\u003e`response_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n", + "willReplaceOnChanges": true + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "responseHeaderModifications", + "siteId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering HttpIncomingResponseHeaderModificationRule resources.\n", + "properties": { + "configId": { + "type": "integer", + "description": "Config Id\n" + }, + "responseHeaderModifications": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:esa/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification:HttpIncomingResponseHeaderModificationRuleResponseHeaderModification" + }, + "description": "Modify response headers, supporting add, delete, and modify operations. See \u003cspan pulumi-lang-nodejs=\"`responseHeaderModification`\" pulumi-lang-dotnet=\"`ResponseHeaderModification`\" pulumi-lang-go=\"`responseHeaderModification`\" pulumi-lang-python=\"`response_header_modification`\" pulumi-lang-yaml=\"`responseHeaderModification`\" pulumi-lang-java=\"`responseHeaderModification`\"\u003e`response_header_modification`\u003c/span\u003e below.\n" + }, + "rule": { + "type": "string", + "description": "Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios:\n- Match all incoming requests: value set to true\n- Match specified request: Set the value to a custom expression, for example: (http.host eq \\\"video.example.com\\\")\n" + }, + "ruleEnable": { + "type": "string", + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n" + }, + "ruleName": { + "type": "string", + "description": "Rule name. When adding global configuration, this parameter does not need to be set.\n" + }, + "sequence": { + "type": "integer", + "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + }, + "siteId": { + "type": "string", + "description": "The site ID.\n", + "willReplaceOnChanges": true + }, + "siteVersion": { + "type": "integer", + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule": { - "description": "Provides a ESA Http Request Header Modification Rule resource.\n\n\n\nFor information about ESA Http Request Header Modification Rule and how to use it, see [What is Http Request Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttprequestheadermodificationrule).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst instance = new alicloud.esa.RatePlanInstance(\"instance\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst site = new alicloud.esa.Site(\"site\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: instance.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpRequestHeaderModificationRule = new alicloud.esa.HttpRequestHeaderModificationRule(\"default\", {\n ruleName: \"example_modify\",\n requestHeaderModifications: [{\n value: \"modify1\",\n operation: \"modify\",\n name: \"example_modify1\",\n }],\n siteId: site.id,\n ruleEnable: \"off\",\n rule: \"(http.request.uri eq \\\"/content?page=1234\\\")\",\n siteVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ninstance = alicloud.esa.RatePlanInstance(\"instance\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nsite = alicloud.esa.Site(\"site\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=instance.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_request_header_modification_rule = alicloud.esa.HttpRequestHeaderModificationRule(\"default\",\n rule_name=\"example_modify\",\n request_header_modifications=[{\n \"value\": \"modify1\",\n \"operation\": \"modify\",\n \"name\": \"example_modify1\",\n }],\n site_id=site.id,\n rule_enable=\"off\",\n rule=\"(http.request.uri eq \\\"/content?page=1234\\\")\",\n site_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var instance = new AliCloud.Esa.RatePlanInstance(\"instance\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var site = new AliCloud.Esa.Site(\"site\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = instance.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpRequestHeaderModificationRule = new AliCloud.Esa.HttpRequestHeaderModificationRule(\"default\", new()\n {\n RuleName = \"example_modify\",\n RequestHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs\n {\n Value = \"modify1\",\n Operation = \"modify\",\n Name = \"example_modify1\",\n },\n },\n SiteId = site.Id,\n RuleEnable = \"off\",\n Rule = \"(http.request.uri eq \\\"/content?page=1234\\\")\",\n SiteVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinstance, err := esa.NewRatePlanInstance(ctx, \"instance\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsite, err := esa.NewSite(ctx, \"site\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: instance.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpRequestHeaderModificationRule(ctx, \"default\", \u0026esa.HttpRequestHeaderModificationRuleArgs{\n\t\t\tRuleName: pulumi.String(\"example_modify\"),\n\t\t\tRequestHeaderModifications: esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{\n\t\t\t\t\tValue: pulumi.String(\"modify1\"),\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"example_modify1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: site.ID(),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"(http.request.uri eq \\\"/content?page=1234\\\")\"),\n\t\t\tSiteVersion: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpRequestHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpRequestHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var instance = new RatePlanInstance(\"instance\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var site = new Site(\"site\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(instance.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpRequestHeaderModificationRule = new HttpRequestHeaderModificationRule(\"defaultHttpRequestHeaderModificationRule\", HttpRequestHeaderModificationRuleArgs.builder()\n .ruleName(\"example_modify\")\n .requestHeaderModifications(HttpRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()\n .value(\"modify1\")\n .operation(\"modify\")\n .name(\"example_modify1\")\n .build())\n .siteId(site.id())\n .ruleEnable(\"off\")\n .rule(\"(http.request.uri eq \\\"/content?page=1234\\\")\")\n .siteVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n instance:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n site:\n type: alicloud:esa:Site\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${instance.id}\n coverage: overseas\n accessType: NS\n defaultHttpRequestHeaderModificationRule:\n type: alicloud:esa:HttpRequestHeaderModificationRule\n name: default\n properties:\n ruleName: example_modify\n requestHeaderModifications:\n - value: modify1\n operation: modify\n name: example_modify1\n siteId: ${site.id}\n ruleEnable: off\n rule: (http.request.uri eq \"/content?page=1234\")\n siteVersion: '0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Http Request Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Http Request Header Modification Rule resource.\n\n\n\nFor information about ESA Http Request Header Modification Rule and how to use it, see [What is Http Request Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttprequestheadermodificationrule).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst instance = new alicloud.esa.RatePlanInstance(\"instance\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst site = new alicloud.esa.Site(\"site\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: instance.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpRequestHeaderModificationRule = new alicloud.esa.HttpRequestHeaderModificationRule(\"default\", {\n ruleName: \"example_modify\",\n requestHeaderModifications: [{\n value: \"modify1\",\n operation: \"modify\",\n name: \"example_modify1\",\n }],\n siteId: site.id,\n ruleEnable: \"off\",\n rule: \"(http.request.uri eq \\\"/content?page=1234\\\")\",\n siteVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ninstance = alicloud.esa.RatePlanInstance(\"instance\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nsite = alicloud.esa.Site(\"site\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=instance.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_request_header_modification_rule = alicloud.esa.HttpRequestHeaderModificationRule(\"default\",\n rule_name=\"example_modify\",\n request_header_modifications=[{\n \"value\": \"modify1\",\n \"operation\": \"modify\",\n \"name\": \"example_modify1\",\n }],\n site_id=site.id,\n rule_enable=\"off\",\n rule=\"(http.request.uri eq \\\"/content?page=1234\\\")\",\n site_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var instance = new AliCloud.Esa.RatePlanInstance(\"instance\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var site = new AliCloud.Esa.Site(\"site\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = instance.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpRequestHeaderModificationRule = new AliCloud.Esa.HttpRequestHeaderModificationRule(\"default\", new()\n {\n RuleName = \"example_modify\",\n RequestHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs\n {\n Value = \"modify1\",\n Operation = \"modify\",\n Name = \"example_modify1\",\n },\n },\n SiteId = site.Id,\n RuleEnable = \"off\",\n Rule = \"(http.request.uri eq \\\"/content?page=1234\\\")\",\n SiteVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinstance, err := esa.NewRatePlanInstance(ctx, \"instance\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsite, err := esa.NewSite(ctx, \"site\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: instance.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpRequestHeaderModificationRule(ctx, \"default\", \u0026esa.HttpRequestHeaderModificationRuleArgs{\n\t\t\tRuleName: pulumi.String(\"example_modify\"),\n\t\t\tRequestHeaderModifications: esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{\n\t\t\t\t\tValue: pulumi.String(\"modify1\"),\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"example_modify1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: site.ID(),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"(http.request.uri eq \\\"/content?page=1234\\\")\"),\n\t\t\tSiteVersion: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpRequestHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpRequestHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpRequestHeaderModificationRuleRequestHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var instance = new RatePlanInstance(\"instance\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var site = new Site(\"site\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(instance.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpRequestHeaderModificationRule = new HttpRequestHeaderModificationRule(\"defaultHttpRequestHeaderModificationRule\", HttpRequestHeaderModificationRuleArgs.builder()\n .ruleName(\"example_modify\")\n .requestHeaderModifications(HttpRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()\n .value(\"modify1\")\n .operation(\"modify\")\n .name(\"example_modify1\")\n .build())\n .siteId(site.id())\n .ruleEnable(\"off\")\n .rule(\"(http.request.uri eq \\\"/content?page=1234\\\")\")\n .siteVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n instance:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n site:\n type: alicloud:esa:Site\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${instance.id}\n coverage: overseas\n accessType: NS\n defaultHttpRequestHeaderModificationRule:\n type: alicloud:esa:HttpRequestHeaderModificationRule\n name: default\n properties:\n ruleName: example_modify\n requestHeaderModifications:\n - value: modify1\n operation: modify\n name: example_modify1\n siteId: ${site.id}\n ruleEnable: off\n rule: (http.request.uri eq \"/content?page=1234\")\n siteVersion: '0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Http Request Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -174127,7 +177917,7 @@ } }, "alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule": { - "description": "Provides a ESA Http Response Header Modification Rule resource.\n\n\n\nFor information about ESA Http Response Header Modification Rule and how to use it, see [What is Http Response Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttpresponseheadermodificationrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceHttpResponseHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteHttpResponseHeaderModificationRuleExample = new alicloud.esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceHttpResponseHeaderModificationRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpResponseHeaderModificationRule = new alicloud.esa.HttpResponseHeaderModificationRule(\"default\", {\n ruleEnable: \"on\",\n responseHeaderModifications: [\n {\n value: \"add\",\n operation: \"add\",\n name: \"exampleadd\",\n },\n {\n operation: \"del\",\n name: \"exampledel\",\n },\n {\n operation: \"modify\",\n name: \"examplemodify\",\n value: \"modify\",\n },\n ],\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n siteVersion: 0,\n ruleName: \"exampleResponseHeader\",\n siteId: resourceSiteHttpResponseHeaderModificationRuleExample.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_http_response_header_modification_rule_example = alicloud.esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_http_response_header_modification_rule_example = alicloud.esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_http_response_header_modification_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_response_header_modification_rule = alicloud.esa.HttpResponseHeaderModificationRule(\"default\",\n rule_enable=\"on\",\n response_header_modifications=[\n {\n \"value\": \"add\",\n \"operation\": \"add\",\n \"name\": \"exampleadd\",\n },\n {\n \"operation\": \"del\",\n \"name\": \"exampledel\",\n },\n {\n \"operation\": \"modify\",\n \"name\": \"examplemodify\",\n \"value\": \"modify\",\n },\n ],\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n site_version=0,\n rule_name=\"exampleResponseHeader\",\n site_id=resource_site_http_response_header_modification_rule_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceHttpResponseHeaderModificationRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpResponseHeaderModificationRule = new AliCloud.Esa.HttpResponseHeaderModificationRule(\"default\", new()\n {\n RuleEnable = \"on\",\n ResponseHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Value = \"add\",\n Operation = \"add\",\n Name = \"exampleadd\",\n },\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Operation = \"del\",\n Name = \"exampledel\",\n },\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Operation = \"modify\",\n Name = \"examplemodify\",\n Value = \"modify\",\n },\n },\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n SiteVersion = 0,\n RuleName = \"exampleResponseHeader\",\n SiteId = resourceSiteHttpResponseHeaderModificationRuleExample.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceHttpResponseHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_HttpResponseHeaderModificationRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, \"resource_Site_HttpResponseHeaderModificationRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceHttpResponseHeaderModificationRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpResponseHeaderModificationRule(ctx, \"default\", \u0026esa.HttpResponseHeaderModificationRuleArgs{\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tResponseHeaderModifications: esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tValue: pulumi.String(\"add\"),\n\t\t\t\t\tOperation: pulumi.String(\"add\"),\n\t\t\t\t\tName: pulumi.String(\"exampleadd\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tOperation: pulumi.String(\"del\"),\n\t\t\t\t\tName: pulumi.String(\"exampledel\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"examplemodify\"),\n\t\t\t\t\tValue: pulumi.String(\"modify\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"exampleResponseHeader\"),\n\t\t\tSiteId: resourceSiteHttpResponseHeaderModificationRuleExample.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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpResponseHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpResponseHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceHttpResponseHeaderModificationRuleExample = new RatePlanInstance(\"resourceHttpResponseHeaderModificationRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteHttpResponseHeaderModificationRuleExample = new Site(\"resourceSiteHttpResponseHeaderModificationRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceHttpResponseHeaderModificationRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpResponseHeaderModificationRule = new HttpResponseHeaderModificationRule(\"defaultHttpResponseHeaderModificationRule\", HttpResponseHeaderModificationRuleArgs.builder()\n .ruleEnable(\"on\")\n .responseHeaderModifications( \n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .value(\"add\")\n .operation(\"add\")\n .name(\"exampleadd\")\n .build(),\n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .operation(\"del\")\n .name(\"exampledel\")\n .build(),\n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .operation(\"modify\")\n .name(\"examplemodify\")\n .value(\"modify\")\n .build())\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .siteVersion(0)\n .ruleName(\"exampleResponseHeader\")\n .siteId(resourceSiteHttpResponseHeaderModificationRuleExample.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceHttpResponseHeaderModificationRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_HttpResponseHeaderModificationRule_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceSiteHttpResponseHeaderModificationRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_HttpResponseHeaderModificationRule_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceHttpResponseHeaderModificationRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultHttpResponseHeaderModificationRule:\n type: alicloud:esa:HttpResponseHeaderModificationRule\n name: default\n properties:\n ruleEnable: on\n responseHeaderModifications:\n - value: add\n operation: add\n name: exampleadd\n - operation: del\n name: exampledel\n - operation: modify\n name: examplemodify\n value: modify\n rule: (http.host eq \"video.example.com\")\n siteVersion: '0'\n ruleName: exampleResponseHeader\n siteId: ${resourceSiteHttpResponseHeaderModificationRuleExample.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Http Response Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Http Response Header Modification Rule resource.\n\n\n\nFor information about ESA Http Response Header Modification Rule and how to use it, see [What is Http Response Header Modification Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createhttpresponseheadermodificationrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceHttpResponseHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteHttpResponseHeaderModificationRuleExample = new alicloud.esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceHttpResponseHeaderModificationRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpResponseHeaderModificationRule = new alicloud.esa.HttpResponseHeaderModificationRule(\"default\", {\n ruleEnable: \"on\",\n responseHeaderModifications: [\n {\n value: \"add\",\n operation: \"add\",\n name: \"exampleadd\",\n },\n {\n operation: \"del\",\n name: \"exampledel\",\n },\n {\n operation: \"modify\",\n name: \"examplemodify\",\n value: \"modify\",\n },\n ],\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n siteVersion: 0,\n ruleName: \"exampleResponseHeader\",\n siteId: resourceSiteHttpResponseHeaderModificationRuleExample.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_http_response_header_modification_rule_example = alicloud.esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_http_response_header_modification_rule_example = alicloud.esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_http_response_header_modification_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_http_response_header_modification_rule = alicloud.esa.HttpResponseHeaderModificationRule(\"default\",\n rule_enable=\"on\",\n response_header_modifications=[\n {\n \"value\": \"add\",\n \"operation\": \"add\",\n \"name\": \"exampleadd\",\n },\n {\n \"operation\": \"del\",\n \"name\": \"exampledel\",\n },\n {\n \"operation\": \"modify\",\n \"name\": \"examplemodify\",\n \"value\": \"modify\",\n },\n ],\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n site_version=0,\n rule_name=\"exampleResponseHeader\",\n site_id=resource_site_http_response_header_modification_rule_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_HttpResponseHeaderModificationRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteHttpResponseHeaderModificationRuleExample = new AliCloud.Esa.Site(\"resource_Site_HttpResponseHeaderModificationRule_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceHttpResponseHeaderModificationRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpResponseHeaderModificationRule = new AliCloud.Esa.HttpResponseHeaderModificationRule(\"default\", new()\n {\n RuleEnable = \"on\",\n ResponseHeaderModifications = new[]\n {\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Value = \"add\",\n Operation = \"add\",\n Name = \"exampleadd\",\n },\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Operation = \"del\",\n Name = \"exampledel\",\n },\n new AliCloud.Esa.Inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs\n {\n Operation = \"modify\",\n Name = \"examplemodify\",\n Value = \"modify\",\n },\n },\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n SiteVersion = 0,\n RuleName = \"exampleResponseHeader\",\n SiteId = resourceSiteHttpResponseHeaderModificationRuleExample.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceHttpResponseHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_HttpResponseHeaderModificationRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, \"resource_Site_HttpResponseHeaderModificationRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceHttpResponseHeaderModificationRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpResponseHeaderModificationRule(ctx, \"default\", \u0026esa.HttpResponseHeaderModificationRuleArgs{\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tResponseHeaderModifications: esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArray{\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tValue: pulumi.String(\"add\"),\n\t\t\t\t\tOperation: pulumi.String(\"add\"),\n\t\t\t\t\tName: pulumi.String(\"exampleadd\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tOperation: pulumi.String(\"del\"),\n\t\t\t\t\tName: pulumi.String(\"exampledel\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{\n\t\t\t\t\tOperation: pulumi.String(\"modify\"),\n\t\t\t\t\tName: pulumi.String(\"examplemodify\"),\n\t\t\t\t\tValue: pulumi.String(\"modify\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"exampleResponseHeader\"),\n\t\t\tSiteId: resourceSiteHttpResponseHeaderModificationRuleExample.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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpResponseHeaderModificationRule;\nimport com.pulumi.alicloud.esa.HttpResponseHeaderModificationRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.HttpResponseHeaderModificationRuleResponseHeaderModificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceHttpResponseHeaderModificationRuleExample = new RatePlanInstance(\"resourceHttpResponseHeaderModificationRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteHttpResponseHeaderModificationRuleExample = new Site(\"resourceSiteHttpResponseHeaderModificationRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceHttpResponseHeaderModificationRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpResponseHeaderModificationRule = new HttpResponseHeaderModificationRule(\"defaultHttpResponseHeaderModificationRule\", HttpResponseHeaderModificationRuleArgs.builder()\n .ruleEnable(\"on\")\n .responseHeaderModifications( \n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .value(\"add\")\n .operation(\"add\")\n .name(\"exampleadd\")\n .build(),\n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .operation(\"del\")\n .name(\"exampledel\")\n .build(),\n HttpResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()\n .operation(\"modify\")\n .name(\"examplemodify\")\n .value(\"modify\")\n .build())\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .siteVersion(0)\n .ruleName(\"exampleResponseHeader\")\n .siteId(resourceSiteHttpResponseHeaderModificationRuleExample.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceHttpResponseHeaderModificationRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_HttpResponseHeaderModificationRule_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceSiteHttpResponseHeaderModificationRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_HttpResponseHeaderModificationRule_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceHttpResponseHeaderModificationRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultHttpResponseHeaderModificationRule:\n type: alicloud:esa:HttpResponseHeaderModificationRule\n name: default\n properties:\n ruleEnable: on\n responseHeaderModifications:\n - value: add\n operation: add\n name: exampleadd\n - operation: del\n name: exampledel\n - operation: modify\n name: examplemodify\n value: modify\n rule: (http.host eq \"video.example.com\")\n siteVersion: '0'\n ruleName: exampleResponseHeader\n siteId: ${resourceSiteHttpResponseHeaderModificationRuleExample.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Http Response Header Modification Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -174157,7 +177947,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n" }, "siteVersion": { @@ -174196,7 +177986,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n", "willReplaceOnChanges": true }, @@ -174241,7 +178031,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n", "willReplaceOnChanges": true }, @@ -174255,7 +178045,7 @@ } }, "alicloud:esa/httpsApplicationConfiguration:HttpsApplicationConfiguration": { - "description": "Provides a ESA Https Application Configuration resource.\n\n\n\nFor information about ESA Https Application Configuration and how to use it, see [What is Https Application Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsApplicationConfiguration).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"httpsapplicationconfiguration.example.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultHttpsApplicationConfiguration = new alicloud.esa.HttpsApplicationConfiguration(\"default\", {\n hstsMaxAge: \"31536000\",\n altSvcClear: \"off\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n httpsForce: \"off\",\n altSvcMa: \"86400\",\n hsts: \"off\",\n ruleName: \"rule_example\",\n ruleEnable: \"off\",\n siteId: defaultSite.id,\n altSvcPersist: \"off\",\n hstsPreload: \"off\",\n hstsIncludeSubdomains: \"off\",\n altSvc: \"off\",\n httpsForceCode: \"301\",\n siteVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"httpsapplicationconfiguration.example.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_https_application_configuration = alicloud.esa.HttpsApplicationConfiguration(\"default\",\n hsts_max_age=\"31536000\",\n alt_svc_clear=\"off\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n https_force=\"off\",\n alt_svc_ma=\"86400\",\n hsts=\"off\",\n rule_name=\"rule_example\",\n rule_enable=\"off\",\n site_id=default_site.id,\n alt_svc_persist=\"off\",\n hsts_preload=\"off\",\n hsts_include_subdomains=\"off\",\n alt_svc=\"off\",\n https_force_code=\"301\",\n site_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"httpsapplicationconfiguration.example.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultHttpsApplicationConfiguration = new AliCloud.Esa.HttpsApplicationConfiguration(\"default\", new()\n {\n HstsMaxAge = \"31536000\",\n AltSvcClear = \"off\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n HttpsForce = \"off\",\n AltSvcMa = \"86400\",\n Hsts = \"off\",\n RuleName = \"rule_example\",\n RuleEnable = \"off\",\n SiteId = defaultSite.Id,\n AltSvcPersist = \"off\",\n HstsPreload = \"off\",\n HstsIncludeSubdomains = \"off\",\n AltSvc = \"off\",\n HttpsForceCode = \"301\",\n SiteVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"httpsapplicationconfiguration.example.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpsApplicationConfiguration(ctx, \"default\", \u0026esa.HttpsApplicationConfigurationArgs{\n\t\t\tHstsMaxAge: pulumi.String(\"31536000\"),\n\t\t\tAltSvcClear: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tHttpsForce: pulumi.String(\"off\"),\n\t\t\tAltSvcMa: pulumi.String(\"86400\"),\n\t\t\tHsts: pulumi.String(\"off\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tAltSvcPersist: pulumi.String(\"off\"),\n\t\t\tHstsPreload: pulumi.String(\"off\"),\n\t\t\tHstsIncludeSubdomains: pulumi.String(\"off\"),\n\t\t\tAltSvc: pulumi.String(\"off\"),\n\t\t\tHttpsForceCode: pulumi.String(\"301\"),\n\t\t\tSiteVersion: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpsApplicationConfiguration;\nimport com.pulumi.alicloud.esa.HttpsApplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"httpsapplicationconfiguration.example.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpsApplicationConfiguration = new HttpsApplicationConfiguration(\"defaultHttpsApplicationConfiguration\", HttpsApplicationConfigurationArgs.builder()\n .hstsMaxAge(\"31536000\")\n .altSvcClear(\"off\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .httpsForce(\"off\")\n .altSvcMa(\"86400\")\n .hsts(\"off\")\n .ruleName(\"rule_example\")\n .ruleEnable(\"off\")\n .siteId(defaultSite.id())\n .altSvcPersist(\"off\")\n .hstsPreload(\"off\")\n .hstsIncludeSubdomains(\"off\")\n .altSvc(\"off\")\n .httpsForceCode(\"301\")\n .siteVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: httpsapplicationconfiguration.example.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultHttpsApplicationConfiguration:\n type: alicloud:esa:HttpsApplicationConfiguration\n name: default\n properties:\n hstsMaxAge: '31536000'\n altSvcClear: off\n rule: http.host eq \"video.example.com\"\n httpsForce: off\n altSvcMa: '86400'\n hsts: off\n ruleName: rule_example\n ruleEnable: off\n siteId: ${defaultSite.id}\n altSvcPersist: off\n hstsPreload: off\n hstsIncludeSubdomains: off\n altSvc: off\n httpsForceCode: '301'\n siteVersion: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Https Application Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpsApplicationConfiguration:HttpsApplicationConfiguration example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Https Application Configuration resource.\n\n\n\nFor information about ESA Https Application Configuration and how to use it, see [What is Https Application Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsApplicationConfiguration).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"httpsapplicationconfiguration.example.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultHttpsApplicationConfiguration = new alicloud.esa.HttpsApplicationConfiguration(\"default\", {\n hstsMaxAge: \"31536000\",\n altSvcClear: \"off\",\n rule: \"http.host eq \\\"video.example.com\\\"\",\n httpsForce: \"off\",\n altSvcMa: \"86400\",\n hsts: \"off\",\n ruleName: \"rule_example\",\n ruleEnable: \"off\",\n siteId: defaultSite.id,\n altSvcPersist: \"off\",\n hstsPreload: \"off\",\n hstsIncludeSubdomains: \"off\",\n altSvc: \"off\",\n httpsForceCode: \"301\",\n siteVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"httpsapplicationconfiguration.example.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_https_application_configuration = alicloud.esa.HttpsApplicationConfiguration(\"default\",\n hsts_max_age=\"31536000\",\n alt_svc_clear=\"off\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n https_force=\"off\",\n alt_svc_ma=\"86400\",\n hsts=\"off\",\n rule_name=\"rule_example\",\n rule_enable=\"off\",\n site_id=default_site.id,\n alt_svc_persist=\"off\",\n hsts_preload=\"off\",\n hsts_include_subdomains=\"off\",\n alt_svc=\"off\",\n https_force_code=\"301\",\n site_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"httpsapplicationconfiguration.example.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultHttpsApplicationConfiguration = new AliCloud.Esa.HttpsApplicationConfiguration(\"default\", new()\n {\n HstsMaxAge = \"31536000\",\n AltSvcClear = \"off\",\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n HttpsForce = \"off\",\n AltSvcMa = \"86400\",\n Hsts = \"off\",\n RuleName = \"rule_example\",\n RuleEnable = \"off\",\n SiteId = defaultSite.Id,\n AltSvcPersist = \"off\",\n HstsPreload = \"off\",\n HstsIncludeSubdomains = \"off\",\n AltSvc = \"off\",\n HttpsForceCode = \"301\",\n SiteVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"httpsapplicationconfiguration.example.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpsApplicationConfiguration(ctx, \"default\", \u0026esa.HttpsApplicationConfigurationArgs{\n\t\t\tHstsMaxAge: pulumi.String(\"31536000\"),\n\t\t\tAltSvcClear: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tHttpsForce: pulumi.String(\"off\"),\n\t\t\tAltSvcMa: pulumi.String(\"86400\"),\n\t\t\tHsts: pulumi.String(\"off\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tAltSvcPersist: pulumi.String(\"off\"),\n\t\t\tHstsPreload: pulumi.String(\"off\"),\n\t\t\tHstsIncludeSubdomains: pulumi.String(\"off\"),\n\t\t\tAltSvc: pulumi.String(\"off\"),\n\t\t\tHttpsForceCode: pulumi.String(\"301\"),\n\t\t\tSiteVersion: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpsApplicationConfiguration;\nimport com.pulumi.alicloud.esa.HttpsApplicationConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"httpsapplicationconfiguration.example.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpsApplicationConfiguration = new HttpsApplicationConfiguration(\"defaultHttpsApplicationConfiguration\", HttpsApplicationConfigurationArgs.builder()\n .hstsMaxAge(\"31536000\")\n .altSvcClear(\"off\")\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .httpsForce(\"off\")\n .altSvcMa(\"86400\")\n .hsts(\"off\")\n .ruleName(\"rule_example\")\n .ruleEnable(\"off\")\n .siteId(defaultSite.id())\n .altSvcPersist(\"off\")\n .hstsPreload(\"off\")\n .hstsIncludeSubdomains(\"off\")\n .altSvc(\"off\")\n .httpsForceCode(\"301\")\n .siteVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: httpsapplicationconfiguration.example.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultHttpsApplicationConfiguration:\n type: alicloud:esa:HttpsApplicationConfiguration\n name: default\n properties:\n hstsMaxAge: '31536000'\n altSvcClear: off\n rule: http.host eq \"video.example.com\"\n httpsForce: off\n altSvcMa: '86400'\n hsts: off\n ruleName: rule_example\n ruleEnable: off\n siteId: ${defaultSite.id}\n altSvcPersist: off\n hstsPreload: off\n hstsIncludeSubdomains: off\n altSvc: off\n httpsForceCode: '301'\n siteVersion: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Https Application Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpsApplicationConfiguration:HttpsApplicationConfiguration example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "altSvc": { "type": "string", @@ -174330,7 +178120,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n" }, "siteVersion": { @@ -174413,7 +178203,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, @@ -174502,7 +178292,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, @@ -174516,7 +178306,7 @@ } }, "alicloud:esa/httpsBasicConfiguration:HttpsBasicConfiguration": { - "description": "Provides a ESA Https Basic Configuration resource.\n\n\n\nFor information about ESA Https Basic Configuration and how to use it, see [What is Https Basic Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsBasicConfiguration).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.esa.RatePlanInstance(\"example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceHttpBasicConfigurationSetExample = new alicloud.esa.Site(\"resource_HttpBasicConfiguration_set_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: example.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpsBasicConfiguration = new alicloud.esa.HttpsBasicConfiguration(\"default\", {\n https: \"on\",\n rule: \"true\",\n ruleName: \"example2\",\n siteId: resourceHttpBasicConfigurationSetExample.id,\n ruleEnable: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.esa.RatePlanInstance(\"example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_http_basic_configuration_set_example = alicloud.esa.Site(\"resource_HttpBasicConfiguration_set_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_https_basic_configuration = alicloud.esa.HttpsBasicConfiguration(\"default\",\n https=\"on\",\n rule=\"true\",\n rule_name=\"example2\",\n site_id=resource_http_basic_configuration_set_example.id,\n rule_enable=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Esa.RatePlanInstance(\"example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceHttpBasicConfigurationSetExample = new AliCloud.Esa.Site(\"resource_HttpBasicConfiguration_set_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = example.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpsBasicConfiguration = new AliCloud.Esa.HttpsBasicConfiguration(\"default\", new()\n {\n Https = \"on\",\n Rule = \"true\",\n RuleName = \"example2\",\n SiteId = resourceHttpBasicConfigurationSetExample.Id,\n RuleEnable = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := esa.NewRatePlanInstance(ctx, \"example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceHttpBasicConfigurationSetExample, err := esa.NewSite(ctx, \"resource_HttpBasicConfiguration_set_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: example.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpsBasicConfiguration(ctx, \"default\", \u0026esa.HttpsBasicConfigurationArgs{\n\t\t\tHttps: pulumi.String(\"on\"),\n\t\t\tRule: pulumi.String(\"true\"),\n\t\t\tRuleName: pulumi.String(\"example2\"),\n\t\t\tSiteId: resourceHttpBasicConfigurationSetExample.ID(),\n\t\t\tRuleEnable: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpsBasicConfiguration;\nimport com.pulumi.alicloud.esa.HttpsBasicConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new RatePlanInstance(\"example\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceHttpBasicConfigurationSetExample = new Site(\"resourceHttpBasicConfigurationSetExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(example.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpsBasicConfiguration = new HttpsBasicConfiguration(\"defaultHttpsBasicConfiguration\", HttpsBasicConfigurationArgs.builder()\n .https(\"on\")\n .rule(\"true\")\n .ruleName(\"example2\")\n .siteId(resourceHttpBasicConfigurationSetExample.id())\n .ruleEnable(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceHttpBasicConfigurationSetExample:\n type: alicloud:esa:Site\n name: resource_HttpBasicConfiguration_set_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${example.id}\n coverage: overseas\n accessType: NS\n defaultHttpsBasicConfiguration:\n type: alicloud:esa:HttpsBasicConfiguration\n name: default\n properties:\n https: on\n rule: 'true'\n ruleName: example2\n siteId: ${resourceHttpBasicConfigurationSetExample.id}\n ruleEnable: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Https Basic Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpsBasicConfiguration:HttpsBasicConfiguration example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Https Basic Configuration resource.\n\n\n\nFor information about ESA Https Basic Configuration and how to use it, see [What is Https Basic Configuration](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpsBasicConfiguration).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.esa.RatePlanInstance(\"example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceHttpBasicConfigurationSetExample = new alicloud.esa.Site(\"resource_HttpBasicConfiguration_set_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: example.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultHttpsBasicConfiguration = new alicloud.esa.HttpsBasicConfiguration(\"default\", {\n https: \"on\",\n rule: \"true\",\n ruleName: \"example2\",\n siteId: resourceHttpBasicConfigurationSetExample.id,\n ruleEnable: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.esa.RatePlanInstance(\"example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_http_basic_configuration_set_example = alicloud.esa.Site(\"resource_HttpBasicConfiguration_set_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_https_basic_configuration = alicloud.esa.HttpsBasicConfiguration(\"default\",\n https=\"on\",\n rule=\"true\",\n rule_name=\"example2\",\n site_id=resource_http_basic_configuration_set_example.id,\n rule_enable=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Esa.RatePlanInstance(\"example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceHttpBasicConfigurationSetExample = new AliCloud.Esa.Site(\"resource_HttpBasicConfiguration_set_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = example.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultHttpsBasicConfiguration = new AliCloud.Esa.HttpsBasicConfiguration(\"default\", new()\n {\n Https = \"on\",\n Rule = \"true\",\n RuleName = \"example2\",\n SiteId = resourceHttpBasicConfigurationSetExample.Id,\n RuleEnable = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := esa.NewRatePlanInstance(ctx, \"example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceHttpBasicConfigurationSetExample, err := esa.NewSite(ctx, \"resource_HttpBasicConfiguration_set_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: example.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewHttpsBasicConfiguration(ctx, \"default\", \u0026esa.HttpsBasicConfigurationArgs{\n\t\t\tHttps: pulumi.String(\"on\"),\n\t\t\tRule: pulumi.String(\"true\"),\n\t\t\tRuleName: pulumi.String(\"example2\"),\n\t\t\tSiteId: resourceHttpBasicConfigurationSetExample.ID(),\n\t\t\tRuleEnable: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.HttpsBasicConfiguration;\nimport com.pulumi.alicloud.esa.HttpsBasicConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new RatePlanInstance(\"example\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceHttpBasicConfigurationSetExample = new Site(\"resourceHttpBasicConfigurationSetExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(example.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultHttpsBasicConfiguration = new HttpsBasicConfiguration(\"defaultHttpsBasicConfiguration\", HttpsBasicConfigurationArgs.builder()\n .https(\"on\")\n .rule(\"true\")\n .ruleName(\"example2\")\n .siteId(resourceHttpBasicConfigurationSetExample.id())\n .ruleEnable(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceHttpBasicConfigurationSetExample:\n type: alicloud:esa:Site\n name: resource_HttpBasicConfiguration_set_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${example.id}\n coverage: overseas\n accessType: NS\n defaultHttpsBasicConfiguration:\n type: alicloud:esa:HttpsBasicConfiguration\n name: default\n properties:\n https: on\n rule: 'true'\n ruleName: example2\n siteId: ${resourceHttpBasicConfigurationSetExample.id}\n ruleEnable: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Https Basic Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/httpsBasicConfiguration:HttpsBasicConfiguration example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "ciphersuite": { "type": "string", @@ -174563,7 +178353,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID, which can be obtained by calling the ListSites interface.\n" }, "tls10": { @@ -174630,7 +178420,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID, which can be obtained by calling the ListSites interface.\n", "willReplaceOnChanges": true }, @@ -174702,7 +178492,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID, which can be obtained by calling the ListSites interface.\n", "willReplaceOnChanges": true }, @@ -174727,7 +178517,7 @@ } }, "alicloud:esa/imageTransform:ImageTransform": { - "description": "Provides a ESA Image Transform resource.\n\n\n\nFor information about ESA Image Transform and how to use it, see [What is Image Transform](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateImageTransform).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"imagetransform.tf.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultImageTransform = new alicloud.esa.ImageTransform(\"default\", {\n rule: \"http.host eq \\\"video.example.com\\\"\",\n siteVersion: 0,\n ruleName: \"rule_example\",\n siteId: defaultSite.id,\n ruleEnable: \"off\",\n enable: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"imagetransform.tf.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_image_transform = alicloud.esa.ImageTransform(\"default\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n site_version=0,\n rule_name=\"rule_example\",\n site_id=default_site.id,\n rule_enable=\"off\",\n enable=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"imagetransform.tf.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultImageTransform = new AliCloud.Esa.ImageTransform(\"default\", new()\n {\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n SiteVersion = 0,\n RuleName = \"rule_example\",\n SiteId = defaultSite.Id,\n RuleEnable = \"off\",\n Enable = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"imagetransform.tf.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewImageTransform(ctx, \"default\", \u0026esa.ImageTransformArgs{\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ImageTransform;\nimport com.pulumi.alicloud.esa.ImageTransformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"imagetransform.tf.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultImageTransform = new ImageTransform(\"defaultImageTransform\", ImageTransformArgs.builder()\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .siteVersion(0)\n .ruleName(\"rule_example\")\n .siteId(defaultSite.id())\n .ruleEnable(\"off\")\n .enable(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: imagetransform.tf.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultImageTransform:\n type: alicloud:esa:ImageTransform\n name: default\n properties:\n rule: http.host eq \"video.example.com\"\n siteVersion: '0'\n ruleName: rule_example\n siteId: ${defaultSite.id}\n ruleEnable: off\n enable: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Image Transform can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/imageTransform:ImageTransform example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Image Transform resource.\n\n\n\nFor information about ESA Image Transform and how to use it, see [What is Image Transform](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateImageTransform).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"imagetransform.tf.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"domestic\",\n accessType: \"NS\",\n});\nconst defaultImageTransform = new alicloud.esa.ImageTransform(\"default\", {\n rule: \"http.host eq \\\"video.example.com\\\"\",\n siteVersion: 0,\n ruleName: \"rule_example\",\n siteId: defaultSite.id,\n ruleEnable: \"off\",\n enable: \"off\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"imagetransform.tf.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"domestic\",\n access_type=\"NS\")\ndefault_image_transform = alicloud.esa.ImageTransform(\"default\",\n rule=\"http.host eq \\\"video.example.com\\\"\",\n site_version=0,\n rule_name=\"rule_example\",\n site_id=default_site.id,\n rule_enable=\"off\",\n enable=\"off\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"imagetransform.tf.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"domestic\",\n AccessType = \"NS\",\n });\n\n var defaultImageTransform = new AliCloud.Esa.ImageTransform(\"default\", new()\n {\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n SiteVersion = 0,\n RuleName = \"rule_example\",\n SiteId = defaultSite.Id,\n RuleEnable = \"off\",\n Enable = \"off\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"imagetransform.tf.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"domestic\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewImageTransform(ctx, \"default\", \u0026esa.ImageTransformArgs{\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRuleEnable: pulumi.String(\"off\"),\n\t\t\tEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ImageTransform;\nimport com.pulumi.alicloud.esa.ImageTransformArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"imagetransform.tf.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"domestic\")\n .accessType(\"NS\")\n .build());\n\n var defaultImageTransform = new ImageTransform(\"defaultImageTransform\", ImageTransformArgs.builder()\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .siteVersion(0)\n .ruleName(\"rule_example\")\n .siteId(defaultSite.id())\n .ruleEnable(\"off\")\n .enable(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: imagetransform.tf.com\n instanceId: ${default.sites[0].instanceId}\n coverage: domestic\n accessType: NS\n defaultImageTransform:\n type: alicloud:esa:ImageTransform\n name: default\n properties:\n rule: http.host eq \"video.example.com\"\n siteVersion: '0'\n ruleName: rule_example\n siteId: ${defaultSite.id}\n ruleEnable: off\n enable: off\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Image Transform can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/imageTransform:ImageTransform example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -174844,7 +178634,7 @@ } }, "alicloud:esa/kv:Kv": { - "description": "Provides a ESA Kv resource.\n\n\n\nFor information about ESA Kv and how to use it, see [What is Kv](https://next.api.alibabacloud.com/document/ESA/2024-09-10/PutKv).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.esa.KvNamespace(\"default\", {\n description: \"this is a example namespace.\",\n kvNamespace: \"namespace1\",\n});\nconst defaultKv = new alicloud.esa.Kv(\"default\", {\n isbase: false,\n expirationTtl: 360,\n value: \"example_value\",\n expiration: 1690,\n namespace: _default.id,\n key: \"example_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.KvNamespace(\"default\",\n description=\"this is a example namespace.\",\n kv_namespace=\"namespace1\")\ndefault_kv = alicloud.esa.Kv(\"default\",\n isbase=False,\n expiration_ttl=360,\n value=\"example_value\",\n expiration=1690,\n namespace=default.id,\n key=\"example_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Esa.KvNamespace(\"default\", new()\n {\n Description = \"this is a example namespace.\",\n NamespaceValue = \"namespace1\",\n });\n\n var defaultKv = new AliCloud.Esa.Kv(\"default\", new()\n {\n Isbase = false,\n ExpirationTtl = 360,\n Value = \"example_value\",\n Expiration = 1690,\n Namespace = @default.Id,\n Key = \"example_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.NewKvNamespace(ctx, \"default\", \u0026esa.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(\"this is a example namespace.\"),\n\t\t\tKvNamespace: pulumi.String(\"namespace1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewKv(ctx, \"default\", \u0026esa.KvArgs{\n\t\t\tIsbase: pulumi.Bool(false),\n\t\t\tExpirationTtl: pulumi.Int(360),\n\t\t\tValue: pulumi.String(\"example_value\"),\n\t\t\tExpiration: pulumi.Int(1690),\n\t\t\tNamespace: _default.ID(),\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.KvNamespace;\nimport com.pulumi.alicloud.esa.KvNamespaceArgs;\nimport com.pulumi.alicloud.esa.Kv;\nimport com.pulumi.alicloud.esa.KvArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new KvNamespace(\"default\", KvNamespaceArgs.builder()\n .description(\"this is a example namespace.\")\n .kvNamespace(\"namespace1\")\n .build());\n\n var defaultKv = new Kv(\"defaultKv\", KvArgs.builder()\n .isbase(false)\n .expirationTtl(360)\n .value(\"example_value\")\n .expiration(1690)\n .namespace(default_.id())\n .key(\"example_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:esa:KvNamespace\n properties:\n description: this is a example namespace.\n kvNamespace: namespace1\n defaultKv:\n type: alicloud:esa:Kv\n name: default\n properties:\n isbase: 'false'\n expirationTtl: '360'\n value: example_value\n expiration: '1690'\n namespace: ${default.id}\n key: example_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Kv can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/kv:Kv example \u003cnamespace\u003e:\u003ckey\u003e\n```\n\n", + "description": "Provides a ESA Kv resource.\n\n\n\nFor information about ESA Kv and how to use it, see [What is Kv](https://next.api.alibabacloud.com/document/ESA/2024-09-10/PutKv).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.esa.KvNamespace(\"default\", {\n description: \"this is a example namespace.\",\n kvNamespace: \"namespace1\",\n});\nconst defaultKv = new alicloud.esa.Kv(\"default\", {\n isbase: false,\n expirationTtl: 360,\n value: \"example_value\",\n expiration: 1690,\n namespace: _default.id,\n key: \"example_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.KvNamespace(\"default\",\n description=\"this is a example namespace.\",\n kv_namespace=\"namespace1\")\ndefault_kv = alicloud.esa.Kv(\"default\",\n isbase=False,\n expiration_ttl=360,\n value=\"example_value\",\n expiration=1690,\n namespace=default.id,\n key=\"example_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Esa.KvNamespace(\"default\", new()\n {\n Description = \"this is a example namespace.\",\n NamespaceValue = \"namespace1\",\n });\n\n var defaultKv = new AliCloud.Esa.Kv(\"default\", new()\n {\n Isbase = false,\n ExpirationTtl = 360,\n Value = \"example_value\",\n Expiration = 1690,\n Namespace = @default.Id,\n Key = \"example_key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.NewKvNamespace(ctx, \"default\", \u0026esa.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(\"this is a example namespace.\"),\n\t\t\tKvNamespace: pulumi.String(\"namespace1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewKv(ctx, \"default\", \u0026esa.KvArgs{\n\t\t\tIsbase: pulumi.Bool(false),\n\t\t\tExpirationTtl: pulumi.Int(360),\n\t\t\tValue: pulumi.String(\"example_value\"),\n\t\t\tExpiration: pulumi.Int(1690),\n\t\t\tNamespace: _default.ID(),\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.KvNamespace;\nimport com.pulumi.alicloud.esa.KvNamespaceArgs;\nimport com.pulumi.alicloud.esa.Kv;\nimport com.pulumi.alicloud.esa.KvArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new KvNamespace(\"default\", KvNamespaceArgs.builder()\n .description(\"this is a example namespace.\")\n .kvNamespace(\"namespace1\")\n .build());\n\n var defaultKv = new Kv(\"defaultKv\", KvArgs.builder()\n .isbase(false)\n .expirationTtl(360)\n .value(\"example_value\")\n .expiration(1690)\n .namespace(default_.id())\n .key(\"example_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:esa:KvNamespace\n properties:\n description: this is a example namespace.\n kvNamespace: namespace1\n defaultKv:\n type: alicloud:esa:Kv\n name: default\n properties:\n isbase: 'false'\n expirationTtl: '360'\n value: example_value\n expiration: '1690'\n namespace: ${default.id}\n key: example_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Kv can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/kv:Kv example \u003cnamespace\u003e:\u003ckey\u003e\n```\n\n", "properties": { "expiration": { "type": "integer", @@ -174976,7 +178766,7 @@ } }, "alicloud:esa/kvNamespace:KvNamespace": { - "description": "Provides a ESA Kv Namespace resource.\n\n\n\nFor information about ESA Kv Namespace and how to use it, see [What is Kv Namespace](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateKvNamespace).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.esa.KvNamespace(\"default\", {\n description: \"this is a example namespace.\",\n kvNamespace: \"example_namespace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.KvNamespace(\"default\",\n description=\"this is a example namespace.\",\n kv_namespace=\"example_namespace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Esa.KvNamespace(\"default\", new()\n {\n Description = \"this is a example namespace.\",\n NamespaceValue = \"example_namespace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := esa.NewKvNamespace(ctx, \"default\", \u0026esa.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(\"this is a example namespace.\"),\n\t\t\tKvNamespace: pulumi.String(\"example_namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.KvNamespace;\nimport com.pulumi.alicloud.esa.KvNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new KvNamespace(\"default\", KvNamespaceArgs.builder()\n .description(\"this is a example namespace.\")\n .kvNamespace(\"example_namespace\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:esa:KvNamespace\n properties:\n description: this is a example namespace.\n kvNamespace: example_namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Kv Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/kvNamespace:KvNamespace example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Kv Namespace resource.\n\n\n\nFor information about ESA Kv Namespace and how to use it, see [What is Kv Namespace](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateKvNamespace).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.esa.KvNamespace(\"default\", {\n description: \"this is a example namespace.\",\n kvNamespace: \"example_namespace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.KvNamespace(\"default\",\n description=\"this is a example namespace.\",\n kv_namespace=\"example_namespace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Esa.KvNamespace(\"default\", new()\n {\n Description = \"this is a example namespace.\",\n NamespaceValue = \"example_namespace\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := esa.NewKvNamespace(ctx, \"default\", \u0026esa.KvNamespaceArgs{\n\t\t\tDescription: pulumi.String(\"this is a example namespace.\"),\n\t\t\tKvNamespace: pulumi.String(\"example_namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.KvNamespace;\nimport com.pulumi.alicloud.esa.KvNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new KvNamespace(\"default\", KvNamespaceArgs.builder()\n .description(\"this is a example namespace.\")\n .kvNamespace(\"example_namespace\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:esa:KvNamespace\n properties:\n description: this is a example namespace.\n kvNamespace: example_namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Kv Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/kvNamespace:KvNamespace example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -175047,7 +178837,7 @@ } }, "alicloud:esa/list:List": { - "description": "Provides a ESA List resource.\n\n\n\nFor information about ESA List and how to use it, see [What is List](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/grouping).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.List(\"default\", {\n description: \"resource example ip list\",\n kind: \"ip\",\n items: [\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n ],\n name: \"resource_example_ip_list\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.List(\"default\",\n description=\"resource example ip list\",\n kind=\"ip\",\n items=[\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n ],\n name=\"resource_example_ip_list\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.List(\"default\", new()\n {\n Description = \"resource example ip list\",\n Kind = \"ip\",\n Items = new[]\n {\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n },\n Name = \"resource_example_ip_list\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewList(ctx, \"default\", \u0026esa.ListArgs{\n\t\t\tDescription: pulumi.String(\"resource example ip list\"),\n\t\t\tKind: pulumi.String(\"ip\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.1.1\"),\n\t\t\t\tpulumi.String(\"10.1.1.2\"),\n\t\t\t\tpulumi.String(\"10.1.1.3\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"resource_example_ip_list\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.List;\nimport com.pulumi.alicloud.esa.ListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new List(\"default\", ListArgs.builder()\n .description(\"resource example ip list\")\n .kind(\"ip\")\n .items( \n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\")\n .name(\"resource_example_ip_list\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:List\n properties:\n description: resource example ip list\n kind: ip\n items:\n - 10.1.1.1\n - 10.1.1.2\n - 10.1.1.3\n name: resource_example_ip_list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/list:List example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA List resource.\n\n\n\nFor information about ESA List and how to use it, see [What is List](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/grouping).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.List(\"default\", {\n description: \"resource example ip list\",\n kind: \"ip\",\n items: [\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n ],\n name: \"resource_example_ip_list\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.List(\"default\",\n description=\"resource example ip list\",\n kind=\"ip\",\n items=[\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n ],\n name=\"resource_example_ip_list\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.List(\"default\", new()\n {\n Description = \"resource example ip list\",\n Kind = \"ip\",\n Items = new[]\n {\n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\",\n },\n Name = \"resource_example_ip_list\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewList(ctx, \"default\", \u0026esa.ListArgs{\n\t\t\tDescription: pulumi.String(\"resource example ip list\"),\n\t\t\tKind: pulumi.String(\"ip\"),\n\t\t\tItems: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.1.1.1\"),\n\t\t\t\tpulumi.String(\"10.1.1.2\"),\n\t\t\t\tpulumi.String(\"10.1.1.3\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"resource_example_ip_list\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.List;\nimport com.pulumi.alicloud.esa.ListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new List(\"default\", ListArgs.builder()\n .description(\"resource example ip list\")\n .kind(\"ip\")\n .items( \n \"10.1.1.1\",\n \"10.1.1.2\",\n \"10.1.1.3\")\n .name(\"resource_example_ip_list\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:List\n properties:\n description: resource example ip list\n kind: ip\n items:\n - 10.1.1.1\n - 10.1.1.2\n - 10.1.1.3\n name: resource_example_ip_list\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/list:List example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -175122,7 +178912,7 @@ } }, "alicloud:esa/loadBalancer:LoadBalancer": { - "description": "Provides a ESA Load Balancer resource.\n\n\n\nFor information about ESA Load Balancer and how to use it, see [What is Load Balancer](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateLoadBalancer).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteOriginPool = new alicloud.esa.Site(\"resource_Site_OriginPool\", {\n siteName: `${name}${defaultInteger.result}.com`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst resourceOriginPoolLoadBalancer11 = new alicloud.esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\", {\n origins: [{\n type: \"ip_domain\",\n address: \"www.example.com\",\n header: \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n enabled: true,\n weight: 30,\n name: \"origin1\",\n }],\n siteId: resourceSiteOriginPool.id,\n originPoolName: \"originpool1\",\n enabled: true,\n});\nconst defaultLoadBalancer = new alicloud.esa.LoadBalancer(\"default\", {\n loadBalancerName: \"lb.exampleloadbalancer.top\",\n fallbackPool: resourceOriginPoolLoadBalancer11.originPoolId,\n siteId: resourceSiteOriginPool.id,\n description: name,\n defaultPools: [resourceOriginPoolLoadBalancer11.originPoolId],\n steeringPolicy: \"geo\",\n monitor: {\n type: \"ICMP Ping\",\n timeout: 5,\n monitoringRegion: \"ChineseMainland\",\n consecutiveUp: 3,\n consecutiveDown: 5,\n interval: 60,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_origin_pool = alicloud.esa.Site(\"resource_Site_OriginPool\",\n site_name=f\"{name}{default_integer['result']}.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\nresource_origin_pool_load_balancer11 = alicloud.esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\",\n origins=[{\n \"type\": \"ip_domain\",\n \"address\": \"www.example.com\",\n \"header\": \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n \"enabled\": True,\n \"weight\": 30,\n \"name\": \"origin1\",\n }],\n site_id=resource_site_origin_pool.id,\n origin_pool_name=\"originpool1\",\n enabled=True)\ndefault_load_balancer = alicloud.esa.LoadBalancer(\"default\",\n load_balancer_name=\"lb.exampleloadbalancer.top\",\n fallback_pool=resource_origin_pool_load_balancer11.origin_pool_id,\n site_id=resource_site_origin_pool.id,\n description=name,\n default_pools=[resource_origin_pool_load_balancer11.origin_pool_id],\n steering_policy=\"geo\",\n monitor={\n \"type\": \"ICMP Ping\",\n \"timeout\": 5,\n \"monitoring_region\": \"ChineseMainland\",\n \"consecutive_up\": 3,\n \"consecutive_down\": 5,\n \"interval\": 60,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteOriginPool = new AliCloud.Esa.Site(\"resource_Site_OriginPool\", new()\n {\n SiteName = $\"{name}{defaultInteger.Result}.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var resourceOriginPoolLoadBalancer11 = new AliCloud.Esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\", new()\n {\n Origins = new[]\n {\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"ip_domain\",\n Address = \"www.example.com\",\n Header = \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n Enabled = true,\n Weight = 30,\n Name = \"origin1\",\n },\n },\n SiteId = resourceSiteOriginPool.Id,\n OriginPoolName = \"originpool1\",\n Enabled = true,\n });\n\n var defaultLoadBalancer = new AliCloud.Esa.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = \"lb.exampleloadbalancer.top\",\n FallbackPool = resourceOriginPoolLoadBalancer11.OriginPoolId,\n SiteId = resourceSiteOriginPool.Id,\n Description = name,\n DefaultPools = new[]\n {\n resourceOriginPoolLoadBalancer11.OriginPoolId,\n },\n SteeringPolicy = \"geo\",\n Monitor = new AliCloud.Esa.Inputs.LoadBalancerMonitorArgs\n {\n Type = \"ICMP Ping\",\n Timeout = 5,\n MonitoringRegion = \"ChineseMainland\",\n ConsecutiveUp = 3,\n ConsecutiveDown = 5,\n Interval = 60,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginPool, err := esa.NewSite(ctx, \"resource_Site_OriginPool\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"%v%v.com\", name, defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceOriginPoolLoadBalancer11, err := esa.NewOriginPool(ctx, \"resource_OriginPool_LoadBalancer_1_1\", \u0026esa.OriginPoolArgs{\n\t\t\tOrigins: esa.OriginPoolOriginArray{\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_domain\"),\n\t\t\t\t\tAddress: pulumi.String(\"www.example.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"www.example.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tWeight: pulumi.Int(30),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: resourceSiteOriginPool.ID(),\n\t\t\tOriginPoolName: pulumi.String(\"originpool1\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewLoadBalancer(ctx, \"default\", \u0026esa.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"lb.exampleloadbalancer.top\"),\n\t\t\tFallbackPool: resourceOriginPoolLoadBalancer11.OriginPoolId,\n\t\t\tSiteId: resourceSiteOriginPool.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDefaultPools: pulumi.IntArray{\n\t\t\t\tresourceOriginPoolLoadBalancer11.OriginPoolId,\n\t\t\t},\n\t\t\tSteeringPolicy: pulumi.String(\"geo\"),\n\t\t\tMonitor: \u0026esa.LoadBalancerMonitorArgs{\n\t\t\t\tType: pulumi.String(\"ICMP Ping\"),\n\t\t\t\tTimeout: pulumi.Int(5),\n\t\t\t\tMonitoringRegion: pulumi.String(\"ChineseMainland\"),\n\t\t\t\tConsecutiveUp: pulumi.Int(3),\n\t\t\t\tConsecutiveDown: pulumi.Int(5),\n\t\t\t\tInterval: pulumi.Int(60),\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginPool;\nimport com.pulumi.alicloud.esa.OriginPoolArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginArgs;\nimport com.pulumi.alicloud.esa.LoadBalancer;\nimport com.pulumi.alicloud.esa.LoadBalancerArgs;\nimport com.pulumi.alicloud.esa.inputs.LoadBalancerMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteOriginPool = new Site(\"resourceSiteOriginPool\", SiteArgs.builder()\n .siteName(String.format(\"%s%s.com\", name,defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var resourceOriginPoolLoadBalancer11 = new OriginPool(\"resourceOriginPoolLoadBalancer11\", OriginPoolArgs.builder()\n .origins(OriginPoolOriginArgs.builder()\n .type(\"ip_domain\")\n .address(\"www.example.com\")\n .header(\"{\\\"Host\\\":[\\\"www.example.com\\\"]}\")\n .enabled(true)\n .weight(30)\n .name(\"origin1\")\n .build())\n .siteId(resourceSiteOriginPool.id())\n .originPoolName(\"originpool1\")\n .enabled(true)\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(\"lb.exampleloadbalancer.top\")\n .fallbackPool(resourceOriginPoolLoadBalancer11.originPoolId())\n .siteId(resourceSiteOriginPool.id())\n .description(name)\n .defaultPools(resourceOriginPoolLoadBalancer11.originPoolId())\n .steeringPolicy(\"geo\")\n .monitor(LoadBalancerMonitorArgs.builder()\n .type(\"ICMP Ping\")\n .timeout(5)\n .monitoringRegion(\"ChineseMainland\")\n .consecutiveUp(3)\n .consecutiveDown(5)\n .interval(60)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n resourceSiteOriginPool:\n type: alicloud:esa:Site\n name: resource_Site_OriginPool\n properties:\n siteName: ${name}${defaultInteger.result}.com\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n resourceOriginPoolLoadBalancer11:\n type: alicloud:esa:OriginPool\n name: resource_OriginPool_LoadBalancer_1_1\n properties:\n origins:\n - type: ip_domain\n address: www.example.com\n header: '{\"Host\":[\"www.example.com\"]}'\n enabled: true\n weight: '30'\n name: origin1\n siteId: ${resourceSiteOriginPool.id}\n originPoolName: originpool1\n enabled: true\n defaultLoadBalancer:\n type: alicloud:esa:LoadBalancer\n name: default\n properties:\n loadBalancerName: lb.exampleloadbalancer.top\n fallbackPool: ${resourceOriginPoolLoadBalancer11.originPoolId}\n siteId: ${resourceSiteOriginPool.id}\n description: ${name}\n defaultPools:\n - ${resourceOriginPoolLoadBalancer11.originPoolId}\n steeringPolicy: geo\n monitor:\n type: ICMP Ping\n timeout: 5\n monitoringRegion: ChineseMainland\n consecutiveUp: 3\n consecutiveDown: 5\n interval: 60\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/loadBalancer:LoadBalancer example \u003csite_id\u003e:\u003cload_balancer_id\u003e\n```\n\n", + "description": "Provides a ESA Load Balancer resource.\n\n\n\nFor information about ESA Load Balancer and how to use it, see [What is Load Balancer](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateLoadBalancer).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteOriginPool = new alicloud.esa.Site(\"resource_Site_OriginPool\", {\n siteName: `${name}${defaultInteger.result}.com`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst resourceOriginPoolLoadBalancer11 = new alicloud.esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\", {\n origins: [{\n type: \"ip_domain\",\n address: \"www.example.com\",\n header: \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n enabled: true,\n weight: 30,\n name: \"origin1\",\n }],\n siteId: resourceSiteOriginPool.id,\n originPoolName: \"originpool1\",\n enabled: true,\n});\nconst defaultLoadBalancer = new alicloud.esa.LoadBalancer(\"default\", {\n loadBalancerName: \"lb.exampleloadbalancer.top\",\n fallbackPool: resourceOriginPoolLoadBalancer11.originPoolId,\n siteId: resourceSiteOriginPool.id,\n description: name,\n defaultPools: [resourceOriginPoolLoadBalancer11.originPoolId],\n steeringPolicy: \"geo\",\n monitor: {\n type: \"ICMP Ping\",\n timeout: 5,\n monitoringRegion: \"ChineseMainland\",\n consecutiveUp: 3,\n consecutiveDown: 5,\n interval: 60,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_origin_pool = alicloud.esa.Site(\"resource_Site_OriginPool\",\n site_name=f\"{name}{default_integer['result']}.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\nresource_origin_pool_load_balancer11 = alicloud.esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\",\n origins=[{\n \"type\": \"ip_domain\",\n \"address\": \"www.example.com\",\n \"header\": \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n \"enabled\": True,\n \"weight\": 30,\n \"name\": \"origin1\",\n }],\n site_id=resource_site_origin_pool.id,\n origin_pool_name=\"originpool1\",\n enabled=True)\ndefault_load_balancer = alicloud.esa.LoadBalancer(\"default\",\n load_balancer_name=\"lb.exampleloadbalancer.top\",\n fallback_pool=resource_origin_pool_load_balancer11.origin_pool_id,\n site_id=resource_site_origin_pool.id,\n description=name,\n default_pools=[resource_origin_pool_load_balancer11.origin_pool_id],\n steering_policy=\"geo\",\n monitor={\n \"type\": \"ICMP Ping\",\n \"timeout\": 5,\n \"monitoring_region\": \"ChineseMainland\",\n \"consecutive_up\": 3,\n \"consecutive_down\": 5,\n \"interval\": 60,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteOriginPool = new AliCloud.Esa.Site(\"resource_Site_OriginPool\", new()\n {\n SiteName = $\"{name}{defaultInteger.Result}.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var resourceOriginPoolLoadBalancer11 = new AliCloud.Esa.OriginPool(\"resource_OriginPool_LoadBalancer_1_1\", new()\n {\n Origins = new[]\n {\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"ip_domain\",\n Address = \"www.example.com\",\n Header = \"{\\\"Host\\\":[\\\"www.example.com\\\"]}\",\n Enabled = true,\n Weight = 30,\n Name = \"origin1\",\n },\n },\n SiteId = resourceSiteOriginPool.Id,\n OriginPoolName = \"originpool1\",\n Enabled = true,\n });\n\n var defaultLoadBalancer = new AliCloud.Esa.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = \"lb.exampleloadbalancer.top\",\n FallbackPool = resourceOriginPoolLoadBalancer11.OriginPoolId,\n SiteId = resourceSiteOriginPool.Id,\n Description = name,\n DefaultPools = new[]\n {\n resourceOriginPoolLoadBalancer11.OriginPoolId,\n },\n SteeringPolicy = \"geo\",\n Monitor = new AliCloud.Esa.Inputs.LoadBalancerMonitorArgs\n {\n Type = \"ICMP Ping\",\n Timeout = 5,\n MonitoringRegion = \"ChineseMainland\",\n ConsecutiveUp = 3,\n ConsecutiveDown = 5,\n Interval = 60,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginPool, err := esa.NewSite(ctx, \"resource_Site_OriginPool\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"%v%v.com\", name, defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceOriginPoolLoadBalancer11, err := esa.NewOriginPool(ctx, \"resource_OriginPool_LoadBalancer_1_1\", \u0026esa.OriginPoolArgs{\n\t\t\tOrigins: esa.OriginPoolOriginArray{\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_domain\"),\n\t\t\t\t\tAddress: pulumi.String(\"www.example.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"www.example.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tWeight: pulumi.Int(30),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: resourceSiteOriginPool.ID(),\n\t\t\tOriginPoolName: pulumi.String(\"originpool1\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewLoadBalancer(ctx, \"default\", \u0026esa.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"lb.exampleloadbalancer.top\"),\n\t\t\tFallbackPool: resourceOriginPoolLoadBalancer11.OriginPoolId,\n\t\t\tSiteId: resourceSiteOriginPool.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDefaultPools: pulumi.IntArray{\n\t\t\t\tresourceOriginPoolLoadBalancer11.OriginPoolId,\n\t\t\t},\n\t\t\tSteeringPolicy: pulumi.String(\"geo\"),\n\t\t\tMonitor: \u0026esa.LoadBalancerMonitorArgs{\n\t\t\t\tType: pulumi.String(\"ICMP Ping\"),\n\t\t\t\tTimeout: pulumi.Int(5),\n\t\t\t\tMonitoringRegion: pulumi.String(\"ChineseMainland\"),\n\t\t\t\tConsecutiveUp: pulumi.Int(3),\n\t\t\t\tConsecutiveDown: pulumi.Int(5),\n\t\t\t\tInterval: pulumi.Int(60),\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginPool;\nimport com.pulumi.alicloud.esa.OriginPoolArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginArgs;\nimport com.pulumi.alicloud.esa.LoadBalancer;\nimport com.pulumi.alicloud.esa.LoadBalancerArgs;\nimport com.pulumi.alicloud.esa.inputs.LoadBalancerMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteOriginPool = new Site(\"resourceSiteOriginPool\", SiteArgs.builder()\n .siteName(String.format(\"%s%s.com\", name,defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var resourceOriginPoolLoadBalancer11 = new OriginPool(\"resourceOriginPoolLoadBalancer11\", OriginPoolArgs.builder()\n .origins(OriginPoolOriginArgs.builder()\n .type(\"ip_domain\")\n .address(\"www.example.com\")\n .header(\"{\\\"Host\\\":[\\\"www.example.com\\\"]}\")\n .enabled(true)\n .weight(30)\n .name(\"origin1\")\n .build())\n .siteId(resourceSiteOriginPool.id())\n .originPoolName(\"originpool1\")\n .enabled(true)\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(\"lb.exampleloadbalancer.top\")\n .fallbackPool(resourceOriginPoolLoadBalancer11.originPoolId())\n .siteId(resourceSiteOriginPool.id())\n .description(name)\n .defaultPools(resourceOriginPoolLoadBalancer11.originPoolId())\n .steeringPolicy(\"geo\")\n .monitor(LoadBalancerMonitorArgs.builder()\n .type(\"ICMP Ping\")\n .timeout(5)\n .monitoringRegion(\"ChineseMainland\")\n .consecutiveUp(3)\n .consecutiveDown(5)\n .interval(60)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n resourceSiteOriginPool:\n type: alicloud:esa:Site\n name: resource_Site_OriginPool\n properties:\n siteName: ${name}${defaultInteger.result}.com\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n resourceOriginPoolLoadBalancer11:\n type: alicloud:esa:OriginPool\n name: resource_OriginPool_LoadBalancer_1_1\n properties:\n origins:\n - type: ip_domain\n address: www.example.com\n header: '{\"Host\":[\"www.example.com\"]}'\n enabled: true\n weight: '30'\n name: origin1\n siteId: ${resourceSiteOriginPool.id}\n originPoolName: originpool1\n enabled: true\n defaultLoadBalancer:\n type: alicloud:esa:LoadBalancer\n name: default\n properties:\n loadBalancerName: lb.exampleloadbalancer.top\n fallbackPool: ${resourceOriginPoolLoadBalancer11.originPoolId}\n siteId: ${resourceSiteOriginPool.id}\n description: ${name}\n defaultPools:\n - ${resourceOriginPoolLoadBalancer11.originPoolId}\n steeringPolicy: geo\n monitor:\n type: ICMP Ping\n timeout: 5\n monitoringRegion: ChineseMainland\n consecutiveUp: 3\n consecutiveDown: 5\n interval: 60\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/loadBalancer:LoadBalancer example \u003csite_id\u003e:\u003cload_balancer_id\u003e\n```\n\n", "properties": { "adaptiveRouting": { "$ref": "#/types/alicloud:esa/LoadBalancerAdaptiveRouting:LoadBalancerAdaptiveRouting", @@ -175373,7 +179163,7 @@ } }, "alicloud:esa/networkOptimization:NetworkOptimization": { - "description": "Provides a ESA Network Optimization resource.\n\n\n\nFor information about ESA Network Optimization and how to use it, see [What is Network Optimization](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateNetworkOptimization).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultNetworkOptimization = new alicloud.esa.NetworkOptimization(\"default\", {\n siteVersion: 0,\n siteId: defaultSite.id,\n ruleEnable: \"on\",\n websocket: \"off\",\n rule: \"(http.host eq \\\"tf.example.com\\\")\",\n grpc: \"off\",\n http2Origin: \"off\",\n smartRouting: \"off\",\n uploadMaxFilesize: \"100\",\n ruleName: \"network_optimization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_network_optimization = alicloud.esa.NetworkOptimization(\"default\",\n site_version=0,\n site_id=default_site.id,\n rule_enable=\"on\",\n websocket=\"off\",\n rule=\"(http.host eq \\\"tf.example.com\\\")\",\n grpc=\"off\",\n http2_origin=\"off\",\n smart_routing=\"off\",\n upload_max_filesize=\"100\",\n rule_name=\"network_optimization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultNetworkOptimization = new AliCloud.Esa.NetworkOptimization(\"default\", new()\n {\n SiteVersion = 0,\n SiteId = defaultSite.Id,\n RuleEnable = \"on\",\n Websocket = \"off\",\n Rule = \"(http.host eq \\\"tf.example.com\\\")\",\n Grpc = \"off\",\n Http2Origin = \"off\",\n SmartRouting = \"off\",\n UploadMaxFilesize = \"100\",\n RuleName = \"network_optimization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewNetworkOptimization(ctx, \"default\", \u0026esa.NetworkOptimizationArgs{\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tWebsocket: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"tf.example.com\\\")\"),\n\t\t\tGrpc: pulumi.String(\"off\"),\n\t\t\tHttp2Origin: pulumi.String(\"off\"),\n\t\t\tSmartRouting: pulumi.String(\"off\"),\n\t\t\tUploadMaxFilesize: pulumi.String(\"100\"),\n\t\t\tRuleName: pulumi.String(\"network_optimization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.NetworkOptimization;\nimport com.pulumi.alicloud.esa.NetworkOptimizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultNetworkOptimization = new NetworkOptimization(\"defaultNetworkOptimization\", NetworkOptimizationArgs.builder()\n .siteVersion(0)\n .siteId(defaultSite.id())\n .ruleEnable(\"on\")\n .websocket(\"off\")\n .rule(\"(http.host eq \\\"tf.example.com\\\")\")\n .grpc(\"off\")\n .http2Origin(\"off\")\n .smartRouting(\"off\")\n .uploadMaxFilesize(\"100\")\n .ruleName(\"network_optimization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultNetworkOptimization:\n type: alicloud:esa:NetworkOptimization\n name: default\n properties:\n siteVersion: '0'\n siteId: ${defaultSite.id}\n ruleEnable: on\n websocket: off\n rule: (http.host eq \"tf.example.com\")\n grpc: off\n http2Origin: off\n smartRouting: off\n uploadMaxFilesize: '100'\n ruleName: network_optimization\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Network Optimization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/networkOptimization:NetworkOptimization example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Network Optimization resource.\n\n\n\nFor information about ESA Network Optimization and how to use it, see [What is Network Optimization](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateNetworkOptimization).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultNetworkOptimization = new alicloud.esa.NetworkOptimization(\"default\", {\n siteVersion: 0,\n siteId: defaultSite.id,\n ruleEnable: \"on\",\n websocket: \"off\",\n rule: \"(http.host eq \\\"tf.example.com\\\")\",\n grpc: \"off\",\n http2Origin: \"off\",\n smartRouting: \"off\",\n uploadMaxFilesize: \"100\",\n ruleName: \"network_optimization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_network_optimization = alicloud.esa.NetworkOptimization(\"default\",\n site_version=0,\n site_id=default_site.id,\n rule_enable=\"on\",\n websocket=\"off\",\n rule=\"(http.host eq \\\"tf.example.com\\\")\",\n grpc=\"off\",\n http2_origin=\"off\",\n smart_routing=\"off\",\n upload_max_filesize=\"100\",\n rule_name=\"network_optimization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultNetworkOptimization = new AliCloud.Esa.NetworkOptimization(\"default\", new()\n {\n SiteVersion = 0,\n SiteId = defaultSite.Id,\n RuleEnable = \"on\",\n Websocket = \"off\",\n Rule = \"(http.host eq \\\"tf.example.com\\\")\",\n Grpc = \"off\",\n Http2Origin = \"off\",\n SmartRouting = \"off\",\n UploadMaxFilesize = \"100\",\n RuleName = \"network_optimization\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewNetworkOptimization(ctx, \"default\", \u0026esa.NetworkOptimizationArgs{\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tWebsocket: pulumi.String(\"off\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"tf.example.com\\\")\"),\n\t\t\tGrpc: pulumi.String(\"off\"),\n\t\t\tHttp2Origin: pulumi.String(\"off\"),\n\t\t\tSmartRouting: pulumi.String(\"off\"),\n\t\t\tUploadMaxFilesize: pulumi.String(\"100\"),\n\t\t\tRuleName: pulumi.String(\"network_optimization\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.NetworkOptimization;\nimport com.pulumi.alicloud.esa.NetworkOptimizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultNetworkOptimization = new NetworkOptimization(\"defaultNetworkOptimization\", NetworkOptimizationArgs.builder()\n .siteVersion(0)\n .siteId(defaultSite.id())\n .ruleEnable(\"on\")\n .websocket(\"off\")\n .rule(\"(http.host eq \\\"tf.example.com\\\")\")\n .grpc(\"off\")\n .http2Origin(\"off\")\n .smartRouting(\"off\")\n .uploadMaxFilesize(\"100\")\n .ruleName(\"network_optimization\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultNetworkOptimization:\n type: alicloud:esa:NetworkOptimization\n name: default\n properties:\n siteVersion: '0'\n siteId: ${defaultSite.id}\n ruleEnable: on\n websocket: off\n rule: (http.host eq \"tf.example.com\")\n grpc: off\n http2Origin: off\n smartRouting: off\n uploadMaxFilesize: '100'\n ruleName: network_optimization\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Network Optimization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/networkOptimization:NetworkOptimization example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -175538,7 +179328,7 @@ } }, "alicloud:esa/originCaCertificate:OriginCaCertificate": { - "description": "Provides a ESA Origin Ca Certificate resource.\n\n\n\nFor information about ESA Origin Ca Certificate and how to use it, see [What is Origin Ca Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadOriginCaCertificate).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst example = new alicloud.esa.Site(\"example\", {\n siteName: \"bcd.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginCaCertificate = new alicloud.esa.OriginCaCertificate(\"default\", {\n siteId: example.id,\n certificate: `-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----`,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nexample = alicloud.esa.Site(\"example\",\n site_name=\"bcd.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_ca_certificate = alicloud.esa.OriginCaCertificate(\"default\",\n site_id=example.id,\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----\"\"\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var example = new AliCloud.Esa.Site(\"example\", new()\n {\n SiteName = \"bcd.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginCaCertificate = new AliCloud.Esa.OriginCaCertificate(\"default\", new()\n {\n SiteId = example.Id,\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := esa.NewSite(ctx, \"example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"bcd.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginCaCertificate(ctx, \"default\", \u0026esa.OriginCaCertificateArgs{\n\t\t\tSiteId: example.ID(),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----`),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginCaCertificate;\nimport com.pulumi.alicloud.esa.OriginCaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var example = new Site(\"example\", SiteArgs.builder()\n .siteName(\"bcd.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginCaCertificate = new OriginCaCertificate(\"defaultOriginCaCertificate\", OriginCaCertificateArgs.builder()\n .siteId(example.id())\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE----- \"\"\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:esa:Site\n properties:\n siteName: bcd.com\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginCaCertificate:\n type: alicloud:esa:OriginCaCertificate\n name: default\n properties:\n siteId: ${example.id}\n certificate: |-\n -----BEGIN CERTIFICATE-----\n MIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\n BQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\n VQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\n BAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\n BAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\n IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\n JYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n 5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\n TkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n 7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\n VipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\n AQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\n AQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\n Al9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\n QeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n 2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\n XMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\n S2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n -----END CERTIFICATE-----\n name: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Origin Ca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originCaCertificate:OriginCaCertificate example \u003csite_id\u003e:\u003corigin_ca_certificate_id\u003e\n```\n\n", + "description": "Provides a ESA Origin Ca Certificate resource.\n\n\n\nFor information about ESA Origin Ca Certificate and how to use it, see [What is Origin Ca Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadOriginCaCertificate).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst example = new alicloud.esa.Site(\"example\", {\n siteName: \"bcd.com\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginCaCertificate = new alicloud.esa.OriginCaCertificate(\"default\", {\n siteId: example.id,\n certificate: `-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----`,\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nexample = alicloud.esa.Site(\"example\",\n site_name=\"bcd.com\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_ca_certificate = alicloud.esa.OriginCaCertificate(\"default\",\n site_id=example.id,\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----\"\"\",\n name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var example = new AliCloud.Esa.Site(\"example\", new()\n {\n SiteName = \"bcd.com\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginCaCertificate = new AliCloud.Esa.OriginCaCertificate(\"default\", new()\n {\n SiteId = example.Id,\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := esa.NewSite(ctx, \"example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"bcd.com\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginCaCertificate(ctx, \"default\", \u0026esa.OriginCaCertificateArgs{\n\t\t\tSiteId: example.ID(),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE-----`),\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginCaCertificate;\nimport com.pulumi.alicloud.esa.OriginCaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var example = new Site(\"example\", SiteArgs.builder()\n .siteName(\"bcd.com\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginCaCertificate = new OriginCaCertificate(\"defaultOriginCaCertificate\", OriginCaCertificateArgs.builder()\n .siteId(example.id())\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\nBQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\nVQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\nBAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\nBAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\nJYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\nTkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\nVipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\nAQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\nAQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\nAl9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\nQeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\nXMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\nS2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n-----END CERTIFICATE----- \"\"\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:esa:Site\n properties:\n siteName: bcd.com\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginCaCertificate:\n type: alicloud:esa:OriginCaCertificate\n name: default\n properties:\n siteId: ${example.id}\n certificate: |-\n -----BEGIN CERTIFICATE-----\n MIIDRTCCAi2gAwIBAgIUHRPTIPKP2zN9on/NCzBe0BV68UUwDQYJKoZIhvcNAQEF\n BQAwMzEPMA0GA1UEAwwGU1NMZXllMRMwEQYDVQQKDApTU0xleWUgSW5jMQswCQYD\n VQQGEwJDTjAeFw0yNTA3MzAwODQzMDBaFw0yNTEyMzEwODQwMDBaMGQxCzAJBgNV\n BAYTAkNOMQ8wDQYDVQQIDAbljJfkuqwxEDAOBgNVBAcMB0JlaWppbmcxGzAZBgNV\n BAoMEuenkeaKgOaciemZkOWFrOWPuDEVMBMGA1UEAwwMZ29zaXRlY2RuLmNuMIIB\n IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtu2oW3t2bj9LsFnXj1C2EmaR\n JYJwNgHsTBKl3DxeL2+Ext0qN2Z+UgTqYM1c1HOdwN9x13pnAVe4PmiLAkxpp/4u\n 5gKsH1+6p3aXFUk0NvEoLXfESoQpyvoB0o/8oryxNs3+iUfvAk+a7IKAr99a1P9F\n TkpyE6t+dgSLYhHc49ZRdYImmZcYQLmpygYOwWBdv6hlQUFi/tvX16fRZ0GgyUOK\n 7xsTWG6qUhPJyLRtj9zn+0khgh5DJhfJQ4KTWZMX63UPiIx7sPu9sR+TPWqJsEuq\n VipxouMys+NNMjDtn55+PE6/sDbkvULHeFUglGMZ9qHcl3ej31zmkhu6bmvNcQID\n AQABoyAwHjALBgNVHREEBDACggAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\n AQUFAAOCAQEAF6J9TdaDYQ96EaWvb2ttQ6jNrDe4k3t1cdfhPEWMJzxZFxoDBYZ2\n Al9vB2JICEsGDkCwpqYz2UXJsGnq2rHjUxouYo1568K/loownWjwdCgdLGbQpnXY\n QeqPSTRLT71ikH+RqCpoYxcN63i3j9oYWm9KoD5F4arcqlLrEUZ1TqW5csGSY1h6\n 2HmGPsINl9KCxwUS+76dxsdHIqLFx0qdnD6S5vmd0sin33jdYhj9ltp0KvhEgMvS\n XMuzECVRvI4MZxebf7gkV3EByqV6XvazBSxuMhplygpAaLra11yV1M/m9wzVwlnS\n S2GNvRkNym9WnH0IQ0kn9hS8hj52Nh12JQ==\n -----END CERTIFICATE-----\n name: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Origin Ca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originCaCertificate:OriginCaCertificate example \u003csite_id\u003e:\u003corigin_ca_certificate_id\u003e\n```\n\n", "properties": { "certificate": { "type": "string", @@ -175629,7 +179419,7 @@ } }, "alicloud:esa/originClientCertificate:OriginClientCertificate": { - "description": "Provides a ESA Origin Client Certificate resource.\n\n\n\nFor information about ESA Origin Client Certificate and how to use it, see [What is Origin Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadOriginClientCertificate).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteOriginClientCertificateExample = new alicloud.esa.Site(\"resource_Site_OriginClientCertificate_example\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginClientCertificate = new alicloud.esa.OriginClientCertificate(\"default\", {\n siteId: resourceSiteOriginClientCertificateExample.id,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`,\n hostnames: [\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n ],\n originClientCertificateName: \"exampleCertificate\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_origin_client_certificate_example = alicloud.esa.Site(\"resource_Site_OriginClientCertificate_example\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_client_certificate = alicloud.esa.OriginClientCertificate(\"default\",\n site_id=resource_site_origin_client_certificate_example.id,\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\"\"\",\n hostnames=[\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n ],\n origin_client_certificate_name=\"exampleCertificate\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteOriginClientCertificateExample = new AliCloud.Esa.Site(\"resource_Site_OriginClientCertificate_example\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginClientCertificate = new AliCloud.Esa.OriginClientCertificate(\"default\", new()\n {\n SiteId = resourceSiteOriginClientCertificateExample.Id,\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\",\n Hostnames = new[]\n {\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n },\n OriginClientCertificateName = \"exampleCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginClientCertificateExample, err := esa.NewSite(ctx, \"resource_Site_OriginClientCertificate_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginClientCertificate(ctx, \"default\", \u0026esa.OriginClientCertificateArgs{\n\t\t\tSiteId: resourceSiteOriginClientCertificateExample.ID(),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\tHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.example1.com\"),\n\t\t\t\tpulumi.String(\"www.example2.com\"),\n\t\t\t\tpulumi.String(\"www.example3.com\"),\n\t\t\t},\n\t\t\tOriginClientCertificateName: pulumi.String(\"exampleCertificate\"),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginClientCertificate;\nimport com.pulumi.alicloud.esa.OriginClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteOriginClientCertificateExample = new Site(\"resourceSiteOriginClientCertificateExample\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginClientCertificate = new OriginClientCertificate(\"defaultOriginClientCertificate\", OriginClientCertificateArgs.builder()\n .siteId(resourceSiteOriginClientCertificateExample.id())\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .hostnames( \n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\")\n .originClientCertificateName(\"exampleCertificate\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n resourceSiteOriginClientCertificateExample:\n type: alicloud:esa:Site\n name: resource_Site_OriginClientCertificate_example\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginClientCertificate:\n type: alicloud:esa:OriginClientCertificate\n name: default\n properties:\n siteId: ${resourceSiteOriginClientCertificateExample.id}\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\n UsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n 9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\n AoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\n Xxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\n JDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n 6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\n VKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\n JDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\n ySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\n QC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\n pFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\n tYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n -----END RSA PRIVATE KEY-----\n hostnames:\n - www.example1.com\n - www.example2.com\n - www.example3.com\n originClientCertificateName: exampleCertificate\n certificate: |\n -----BEGIN CERTIFICATE-----\n MIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\n bjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\n YWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\n ODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\n CAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\n EDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\n BQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n 859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\n iur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\n AAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n +Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\n y6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\n pCPDN7g=\n -----END CERTIFICATE-----\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Origin Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originClientCertificate:OriginClientCertificate example \u003csite_id\u003e:\u003corigin_client_certificate_id\u003e\n```\n\n", + "description": "Provides a ESA Origin Client Certificate resource.\n\n\n\nFor information about ESA Origin Client Certificate and how to use it, see [What is Origin Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadOriginClientCertificate).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteOriginClientCertificateExample = new alicloud.esa.Site(\"resource_Site_OriginClientCertificate_example\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginClientCertificate = new alicloud.esa.OriginClientCertificate(\"default\", {\n siteId: resourceSiteOriginClientCertificateExample.id,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`,\n hostnames: [\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n ],\n originClientCertificateName: \"exampleCertificate\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_origin_client_certificate_example = alicloud.esa.Site(\"resource_Site_OriginClientCertificate_example\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_client_certificate = alicloud.esa.OriginClientCertificate(\"default\",\n site_id=resource_site_origin_client_certificate_example.id,\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\"\"\",\n hostnames=[\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n ],\n origin_client_certificate_name=\"exampleCertificate\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteOriginClientCertificateExample = new AliCloud.Esa.Site(\"resource_Site_OriginClientCertificate_example\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginClientCertificate = new AliCloud.Esa.OriginClientCertificate(\"default\", new()\n {\n SiteId = resourceSiteOriginClientCertificateExample.Id,\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\",\n Hostnames = new[]\n {\n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\",\n },\n OriginClientCertificateName = \"exampleCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteOriginClientCertificateExample, err := esa.NewSite(ctx, \"resource_Site_OriginClientCertificate_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginClientCertificate(ctx, \"default\", \u0026esa.OriginClientCertificateArgs{\n\t\t\tSiteId: resourceSiteOriginClientCertificateExample.ID(),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\tHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"www.example1.com\"),\n\t\t\t\tpulumi.String(\"www.example2.com\"),\n\t\t\t\tpulumi.String(\"www.example3.com\"),\n\t\t\t},\n\t\t\tOriginClientCertificateName: pulumi.String(\"exampleCertificate\"),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginClientCertificate;\nimport com.pulumi.alicloud.esa.OriginClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteOriginClientCertificateExample = new Site(\"resourceSiteOriginClientCertificateExample\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginClientCertificate = new OriginClientCertificate(\"defaultOriginClientCertificate\", OriginClientCertificateArgs.builder()\n .siteId(resourceSiteOriginClientCertificateExample.id())\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .hostnames( \n \"www.example1.com\",\n \"www.example2.com\",\n \"www.example3.com\")\n .originClientCertificateName(\"exampleCertificate\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n resourceSiteOriginClientCertificateExample:\n type: alicloud:esa:Site\n name: resource_Site_OriginClientCertificate_example\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginClientCertificate:\n type: alicloud:esa:OriginClientCertificate\n name: default\n properties:\n siteId: ${resourceSiteOriginClientCertificateExample.id}\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\n UsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n 9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\n AoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\n Xxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\n JDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n 6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\n VKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\n JDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\n ySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\n QC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\n pFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\n tYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n -----END RSA PRIVATE KEY-----\n hostnames:\n - www.example1.com\n - www.example2.com\n - www.example3.com\n originClientCertificateName: exampleCertificate\n certificate: |\n -----BEGIN CERTIFICATE-----\n MIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\n bjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\n YWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\n ODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\n CAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\n EDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\n BQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n 859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\n iur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\n AAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n +Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\n y6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\n pCPDN7g=\n -----END CERTIFICATE-----\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Origin Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originClientCertificate:OriginClientCertificate example \u003csite_id\u003e:\u003corigin_client_certificate_id\u003e\n```\n\n", "properties": { "certificate": { "type": "string", @@ -175660,7 +179450,7 @@ "secret": true }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n" }, "status": { @@ -175701,7 +179491,7 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n", "willReplaceOnChanges": true } @@ -175746,7 +179536,7 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n", "willReplaceOnChanges": true }, @@ -175759,7 +179549,7 @@ } }, "alicloud:esa/originPool:OriginPool": { - "description": "Provides a ESA Origin Pool resource.\n\n\n\nFor information about ESA Origin Pool and how to use it, see [What is Origin Pool](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginPool).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginPool = new alicloud.esa.OriginPool(\"default\", {\n origins: [\n {\n type: \"OSS\",\n address: \"example.oss-cn-beijing.aliyuncs.com\",\n header: \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n enabled: true,\n authConf: {\n secretKey: \"\u003cSecretKeyId\u003e\",\n authType: \"private_cross_account\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n },\n weight: 50,\n name: \"origin1\",\n },\n {\n address: \"example.s3.com\",\n header: \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n enabled: true,\n authConf: {\n version: \"v2\",\n region: \"us-east-1\",\n authType: \"private\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n secretKey: \"\u003cSecretKeyId\u003e\",\n },\n weight: 50,\n name: \"origin2\",\n type: \"S3\",\n },\n {\n type: \"S3\",\n address: \"example1111.s3.com\",\n header: \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n enabled: true,\n authConf: {\n secretKey: \"\u003cSecretKeyId\u003e\",\n version: \"v2\",\n region: \"us-east-1\",\n authType: \"private\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n },\n weight: 30,\n name: \"origin3\",\n },\n ],\n siteId: defaultSite.id,\n originPoolName: \"exampleoriginpool\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_pool = alicloud.esa.OriginPool(\"default\",\n origins=[\n {\n \"type\": \"OSS\",\n \"address\": \"example.oss-cn-beijing.aliyuncs.com\",\n \"header\": \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n \"auth_type\": \"private_cross_account\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n },\n \"weight\": 50,\n \"name\": \"origin1\",\n },\n {\n \"address\": \"example.s3.com\",\n \"header\": \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"version\": \"v2\",\n \"region\": \"us-east-1\",\n \"auth_type\": \"private\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n },\n \"weight\": 50,\n \"name\": \"origin2\",\n \"type\": \"S3\",\n },\n {\n \"type\": \"S3\",\n \"address\": \"example1111.s3.com\",\n \"header\": \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n \"version\": \"v2\",\n \"region\": \"us-east-1\",\n \"auth_type\": \"private\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n },\n \"weight\": 30,\n \"name\": \"origin3\",\n },\n ],\n site_id=default_site.id,\n origin_pool_name=\"exampleoriginpool\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginPool = new AliCloud.Esa.OriginPool(\"default\", new()\n {\n Origins = new[]\n {\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"OSS\",\n Address = \"example.oss-cn-beijing.aliyuncs.com\",\n Header = \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n SecretKey = \"\u003cSecretKeyId\u003e\",\n AuthType = \"private_cross_account\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n },\n Weight = 50,\n Name = \"origin1\",\n },\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Address = \"example.s3.com\",\n Header = \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n Version = \"v2\",\n Region = \"us-east-1\",\n AuthType = \"private\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n SecretKey = \"\u003cSecretKeyId\u003e\",\n },\n Weight = 50,\n Name = \"origin2\",\n Type = \"S3\",\n },\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"S3\",\n Address = \"example1111.s3.com\",\n Header = \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n SecretKey = \"\u003cSecretKeyId\u003e\",\n Version = \"v2\",\n Region = \"us-east-1\",\n AuthType = \"private\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n },\n Weight = 30,\n Name = \"origin3\",\n },\n },\n SiteId = defaultSite.Id,\n OriginPoolName = \"exampleoriginpool\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginPool(ctx, \"default\", \u0026esa.OriginPoolArgs{\n\t\t\tOrigins: esa.OriginPoolOriginArray{\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"OSS\"),\n\t\t\t\t\tAddress: pulumi.String(\"example.oss-cn-beijing.aliyuncs.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private_cross_account\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example.s3.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\": [\\\"example1.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tVersion: pulumi.String(\"v2\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t\tName: pulumi.String(\"origin2\"),\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tAddress: pulumi.String(\"example1111.s3.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"example1111.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"v2\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(30),\n\t\t\t\t\tName: pulumi.String(\"origin3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tOriginPoolName: pulumi.String(\"exampleoriginpool\"),\n\t\t\tEnabled: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginPool;\nimport com.pulumi.alicloud.esa.OriginPoolArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginAuthConfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginPool = new OriginPool(\"defaultOriginPool\", OriginPoolArgs.builder()\n .origins( \n OriginPoolOriginArgs.builder()\n .type(\"OSS\")\n .address(\"example.oss-cn-beijing.aliyuncs.com\")\n .header(\"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .authType(\"private_cross_account\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .build())\n .weight(50)\n .name(\"origin1\")\n .build(),\n OriginPoolOriginArgs.builder()\n .address(\"example.s3.com\")\n .header(\"{\\\"Host\\\": [\\\"example1.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .version(\"v2\")\n .region(\"us-east-1\")\n .authType(\"private\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .build())\n .weight(50)\n .name(\"origin2\")\n .type(\"S3\")\n .build(),\n OriginPoolOriginArgs.builder()\n .type(\"S3\")\n .address(\"example1111.s3.com\")\n .header(\"{\\\"Host\\\":[\\\"example1111.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .version(\"v2\")\n .region(\"us-east-1\")\n .authType(\"private\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .build())\n .weight(30)\n .name(\"origin3\")\n .build())\n .siteId(defaultSite.id())\n .originPoolName(\"exampleoriginpool\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginPool:\n type: alicloud:esa:OriginPool\n name: default\n properties:\n origins:\n - type: OSS\n address: example.oss-cn-beijing.aliyuncs.com\n header: '{\"Host\":[\"example.oss-cn-beijing.aliyuncs.com\"]}'\n enabled: 'true'\n authConf:\n secretKey: \u003cSecretKeyId\u003e\n authType: private_cross_account\n accessKey: \u003cAccessKeyId\u003e\n weight: '50'\n name: origin1\n - address: example.s3.com\n header: '{\"Host\": [\"example1.com\"]}'\n enabled: 'true'\n authConf:\n version: v2\n region: us-east-1\n authType: private\n accessKey: \u003cAccessKeyId\u003e\n secretKey: \u003cSecretKeyId\u003e\n weight: '50'\n name: origin2\n type: S3\n - type: S3\n address: example1111.s3.com\n header: '{\"Host\":[\"example1111.com\"]}'\n enabled: 'true'\n authConf:\n secretKey: \u003cSecretKeyId\u003e\n version: v2\n region: us-east-1\n authType: private\n accessKey: \u003cAccessKeyId\u003e\n weight: '30'\n name: origin3\n siteId: ${defaultSite.id}\n originPoolName: exampleoriginpool\n enabled: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Origin Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originPool:OriginPool example \u003csite_id\u003e:\u003corigin_pool_id\u003e\n```\n\n", + "description": "Provides a ESA Origin Pool resource.\n\n\n\nFor information about ESA Origin Pool and how to use it, see [What is Origin Pool](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginPool).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `gositecdn-${defaultInteger.result}.cn`,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginPool = new alicloud.esa.OriginPool(\"default\", {\n origins: [\n {\n type: \"OSS\",\n address: \"example.oss-cn-beijing.aliyuncs.com\",\n header: \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n enabled: true,\n authConf: {\n secretKey: \"\u003cSecretKeyId\u003e\",\n authType: \"private_cross_account\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n },\n weight: 50,\n name: \"origin1\",\n },\n {\n address: \"example.s3.com\",\n header: \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n enabled: true,\n authConf: {\n version: \"v2\",\n region: \"us-east-1\",\n authType: \"private\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n secretKey: \"\u003cSecretKeyId\u003e\",\n },\n weight: 50,\n name: \"origin2\",\n type: \"S3\",\n },\n {\n type: \"S3\",\n address: \"example1111.s3.com\",\n header: \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n enabled: true,\n authConf: {\n secretKey: \"\u003cSecretKeyId\u003e\",\n version: \"v2\",\n region: \"us-east-1\",\n authType: \"private\",\n accessKey: \"\u003cAccessKeyId\u003e\",\n },\n weight: 30,\n name: \"origin3\",\n },\n ],\n siteId: defaultSite.id,\n originPoolName: \"exampleoriginpool\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"gositecdn-{default_integer['result']}.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_pool = alicloud.esa.OriginPool(\"default\",\n origins=[\n {\n \"type\": \"OSS\",\n \"address\": \"example.oss-cn-beijing.aliyuncs.com\",\n \"header\": \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n \"auth_type\": \"private_cross_account\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n },\n \"weight\": 50,\n \"name\": \"origin1\",\n },\n {\n \"address\": \"example.s3.com\",\n \"header\": \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"version\": \"v2\",\n \"region\": \"us-east-1\",\n \"auth_type\": \"private\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n },\n \"weight\": 50,\n \"name\": \"origin2\",\n \"type\": \"S3\",\n },\n {\n \"type\": \"S3\",\n \"address\": \"example1111.s3.com\",\n \"header\": \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n \"enabled\": True,\n \"auth_conf\": {\n \"secret_key\": \"\u003cSecretKeyId\u003e\",\n \"version\": \"v2\",\n \"region\": \"us-east-1\",\n \"auth_type\": \"private\",\n \"access_key\": \"\u003cAccessKeyId\u003e\",\n },\n \"weight\": 30,\n \"name\": \"origin3\",\n },\n ],\n site_id=default_site.id,\n origin_pool_name=\"exampleoriginpool\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"gositecdn-{defaultInteger.Result}.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginPool = new AliCloud.Esa.OriginPool(\"default\", new()\n {\n Origins = new[]\n {\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"OSS\",\n Address = \"example.oss-cn-beijing.aliyuncs.com\",\n Header = \"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n SecretKey = \"\u003cSecretKeyId\u003e\",\n AuthType = \"private_cross_account\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n },\n Weight = 50,\n Name = \"origin1\",\n },\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Address = \"example.s3.com\",\n Header = \"{\\\"Host\\\": [\\\"example1.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n Version = \"v2\",\n Region = \"us-east-1\",\n AuthType = \"private\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n SecretKey = \"\u003cSecretKeyId\u003e\",\n },\n Weight = 50,\n Name = \"origin2\",\n Type = \"S3\",\n },\n new AliCloud.Esa.Inputs.OriginPoolOriginArgs\n {\n Type = \"S3\",\n Address = \"example1111.s3.com\",\n Header = \"{\\\"Host\\\":[\\\"example1111.com\\\"]}\",\n Enabled = true,\n AuthConf = new AliCloud.Esa.Inputs.OriginPoolOriginAuthConfArgs\n {\n SecretKey = \"\u003cSecretKeyId\u003e\",\n Version = \"v2\",\n Region = \"us-east-1\",\n AuthType = \"private\",\n AccessKey = \"\u003cAccessKeyId\u003e\",\n },\n Weight = 30,\n Name = \"origin3\",\n },\n },\n SiteId = defaultSite.Id,\n OriginPoolName = \"exampleoriginpool\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", defaultInteger.Result),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginPool(ctx, \"default\", \u0026esa.OriginPoolArgs{\n\t\t\tOrigins: esa.OriginPoolOriginArray{\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"OSS\"),\n\t\t\t\t\tAddress: pulumi.String(\"example.oss-cn-beijing.aliyuncs.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private_cross_account\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t\tName: pulumi.String(\"origin1\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tAddress: pulumi.String(\"example.s3.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\": [\\\"example1.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tVersion: pulumi.String(\"v2\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t\tName: pulumi.String(\"origin2\"),\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.OriginPoolOriginArgs{\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tAddress: pulumi.String(\"example1111.s3.com\"),\n\t\t\t\t\tHeader: pulumi.String(\"{\\\"Host\\\":[\\\"example1111.com\\\"]}\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAuthConf: \u0026esa.OriginPoolOriginAuthConfArgs{\n\t\t\t\t\t\tSecretKey: pulumi.String(\"\u003cSecretKeyId\u003e\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"v2\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\tAuthType: pulumi.String(\"private\"),\n\t\t\t\t\t\tAccessKey: pulumi.String(\"\u003cAccessKeyId\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tWeight: pulumi.Int(30),\n\t\t\t\t\tName: pulumi.String(\"origin3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tOriginPoolName: pulumi.String(\"exampleoriginpool\"),\n\t\t\tEnabled: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginPool;\nimport com.pulumi.alicloud.esa.OriginPoolArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginArgs;\nimport com.pulumi.alicloud.esa.inputs.OriginPoolOriginAuthConfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", defaultInteger.result()))\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginPool = new OriginPool(\"defaultOriginPool\", OriginPoolArgs.builder()\n .origins( \n OriginPoolOriginArgs.builder()\n .type(\"OSS\")\n .address(\"example.oss-cn-beijing.aliyuncs.com\")\n .header(\"{\\\"Host\\\":[\\\"example.oss-cn-beijing.aliyuncs.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .authType(\"private_cross_account\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .build())\n .weight(50)\n .name(\"origin1\")\n .build(),\n OriginPoolOriginArgs.builder()\n .address(\"example.s3.com\")\n .header(\"{\\\"Host\\\": [\\\"example1.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .version(\"v2\")\n .region(\"us-east-1\")\n .authType(\"private\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .build())\n .weight(50)\n .name(\"origin2\")\n .type(\"S3\")\n .build(),\n OriginPoolOriginArgs.builder()\n .type(\"S3\")\n .address(\"example1111.s3.com\")\n .header(\"{\\\"Host\\\":[\\\"example1111.com\\\"]}\")\n .enabled(true)\n .authConf(OriginPoolOriginAuthConfArgs.builder()\n .secretKey(\"\u003cSecretKeyId\u003e\")\n .version(\"v2\")\n .region(\"us-east-1\")\n .authType(\"private\")\n .accessKey(\"\u003cAccessKeyId\u003e\")\n .build())\n .weight(30)\n .name(\"origin3\")\n .build())\n .siteId(defaultSite.id())\n .originPoolName(\"exampleoriginpool\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: gositecdn-${defaultInteger.result}.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginPool:\n type: alicloud:esa:OriginPool\n name: default\n properties:\n origins:\n - type: OSS\n address: example.oss-cn-beijing.aliyuncs.com\n header: '{\"Host\":[\"example.oss-cn-beijing.aliyuncs.com\"]}'\n enabled: 'true'\n authConf:\n secretKey: \u003cSecretKeyId\u003e\n authType: private_cross_account\n accessKey: \u003cAccessKeyId\u003e\n weight: '50'\n name: origin1\n - address: example.s3.com\n header: '{\"Host\": [\"example1.com\"]}'\n enabled: 'true'\n authConf:\n version: v2\n region: us-east-1\n authType: private\n accessKey: \u003cAccessKeyId\u003e\n secretKey: \u003cSecretKeyId\u003e\n weight: '50'\n name: origin2\n type: S3\n - type: S3\n address: example1111.s3.com\n header: '{\"Host\":[\"example1111.com\"]}'\n enabled: 'true'\n authConf:\n secretKey: \u003cSecretKeyId\u003e\n version: v2\n region: us-east-1\n authType: private\n accessKey: \u003cAccessKeyId\u003e\n weight: '30'\n name: origin3\n siteId: ${defaultSite.id}\n originPoolName: exampleoriginpool\n enabled: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Origin Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originPool:OriginPool example \u003csite_id\u003e:\u003corigin_pool_id\u003e\n```\n\n", "properties": { "enabled": { "type": "boolean", @@ -175850,7 +179640,7 @@ } }, "alicloud:esa/originProtection:OriginProtection": { - "description": "Provides a ESA Origin Protection resource.\n\n\n\nFor information about ESA Origin Protection and how to use it, see [What is Origin Protection](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginProtection).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginProtection = new alicloud.esa.OriginProtection(\"default\", {\n originConverge: \"on\",\n siteId: defaultSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_protection = alicloud.esa.OriginProtection(\"default\",\n origin_converge=\"on\",\n site_id=default_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginProtection = new AliCloud.Esa.OriginProtection(\"default\", new()\n {\n OriginConverge = \"on\",\n SiteId = defaultSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginProtection(ctx, \"default\", \u0026esa.OriginProtectionArgs{\n\t\t\tOriginConverge: pulumi.String(\"on\"),\n\t\t\tSiteId: defaultSite.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginProtection;\nimport com.pulumi.alicloud.esa.OriginProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginProtection = new OriginProtection(\"defaultOriginProtection\", OriginProtectionArgs.builder()\n .originConverge(\"on\")\n .siteId(defaultSite.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginProtection:\n type: alicloud:esa:OriginProtection\n name: default\n properties:\n originConverge: on\n siteId: ${defaultSite.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Origin Protection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originProtection:OriginProtection example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Origin Protection resource.\n\n\n\nFor information about ESA Origin Protection and how to use it, see [What is Origin Protection](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginProtection).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultOriginProtection = new alicloud.esa.OriginProtection(\"default\", {\n originConverge: \"on\",\n siteId: defaultSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_origin_protection = alicloud.esa.OriginProtection(\"default\",\n origin_converge=\"on\",\n site_id=default_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultOriginProtection = new AliCloud.Esa.OriginProtection(\"default\", new()\n {\n OriginConverge = \"on\",\n SiteId = defaultSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginProtection(ctx, \"default\", \u0026esa.OriginProtectionArgs{\n\t\t\tOriginConverge: pulumi.String(\"on\"),\n\t\t\tSiteId: defaultSite.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.OriginProtection;\nimport com.pulumi.alicloud.esa.OriginProtectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultOriginProtection = new OriginProtection(\"defaultOriginProtection\", OriginProtectionArgs.builder()\n .originConverge(\"on\")\n .siteId(defaultSite.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultOriginProtection:\n type: alicloud:esa:OriginProtection\n name: default\n properties:\n originConverge: on\n siteId: ${defaultSite.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Origin Protection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originProtection:OriginProtection example \u003cid\u003e\n```\n\n", "properties": { "originConverge": { "type": "string", @@ -175895,7 +179685,7 @@ } }, "alicloud:esa/originRule:OriginRule": { - "description": "Provides a ESA Origin Rule resource.\n\n\n\nFor information about ESA Origin Rule and how to use it, see [What is Origin Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultOriginRule = new alicloud.esa.OriginRule(\"default\", {\n originSni: \"origin.example.com\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n originHost: \"origin.example.com\",\n dnsRecord: \"tf.example.com\",\n siteVersion: 0,\n ruleName: \"tf\",\n originHttpsPort: \"443\",\n originScheme: \"http\",\n range: \"on\",\n originHttpPort: \"8080\",\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n ruleEnable: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_origin_rule = alicloud.esa.OriginRule(\"default\",\n origin_sni=\"origin.example.com\",\n site_id=default.sites[0].id,\n origin_host=\"origin.example.com\",\n dns_record=\"tf.example.com\",\n site_version=0,\n rule_name=\"tf\",\n origin_https_port=\"443\",\n origin_scheme=\"http\",\n range=\"on\",\n origin_http_port=\"8080\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n rule_enable=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultOriginRule = new AliCloud.Esa.OriginRule(\"default\", new()\n {\n OriginSni = \"origin.example.com\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n OriginHost = \"origin.example.com\",\n DnsRecord = \"tf.example.com\",\n SiteVersion = 0,\n RuleName = \"tf\",\n OriginHttpsPort = \"443\",\n OriginScheme = \"http\",\n Range = \"on\",\n OriginHttpPort = \"8080\",\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n RuleEnable = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginRule(ctx, \"default\", \u0026esa.OriginRuleArgs{\n\t\t\tOriginSni: pulumi.String(\"origin.example.com\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tOriginHost: pulumi.String(\"origin.example.com\"),\n\t\t\tDnsRecord: pulumi.String(\"tf.example.com\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"tf\"),\n\t\t\tOriginHttpsPort: pulumi.String(\"443\"),\n\t\t\tOriginScheme: pulumi.String(\"http\"),\n\t\t\tRange: pulumi.String(\"on\"),\n\t\t\tOriginHttpPort: pulumi.String(\"8080\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tRuleEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.OriginRule;\nimport com.pulumi.alicloud.esa.OriginRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultOriginRule = new OriginRule(\"defaultOriginRule\", OriginRuleArgs.builder()\n .originSni(\"origin.example.com\")\n .siteId(default_.sites()[0].id())\n .originHost(\"origin.example.com\")\n .dnsRecord(\"tf.example.com\")\n .siteVersion(0)\n .ruleName(\"tf\")\n .originHttpsPort(\"443\")\n .originScheme(\"http\")\n .range(\"on\")\n .originHttpPort(\"8080\")\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .ruleEnable(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultOriginRule:\n type: alicloud:esa:OriginRule\n name: default\n properties:\n originSni: origin.example.com\n siteId: ${default.sites[0].id}\n originHost: origin.example.com\n dnsRecord: tf.example.com\n siteVersion: '0'\n ruleName: tf\n originHttpsPort: '443'\n originScheme: http\n range: on\n originHttpPort: '8080'\n rule: (http.host eq \"video.example.com\")\n ruleEnable: on\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Origin Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originRule:OriginRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Origin Rule resource.\n\n\n\nFor information about ESA Origin Rule and how to use it, see [What is Origin Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateOriginRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultOriginRule = new alicloud.esa.OriginRule(\"default\", {\n originSni: \"origin.example.com\",\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.id),\n originHost: \"origin.example.com\",\n dnsRecord: \"tf.example.com\",\n siteVersion: 0,\n ruleName: \"tf\",\n originHttpsPort: \"443\",\n originScheme: \"http\",\n range: \"on\",\n originHttpPort: \"8080\",\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n ruleEnable: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_origin_rule = alicloud.esa.OriginRule(\"default\",\n origin_sni=\"origin.example.com\",\n site_id=default.sites[0].id,\n origin_host=\"origin.example.com\",\n dns_record=\"tf.example.com\",\n site_version=0,\n rule_name=\"tf\",\n origin_https_port=\"443\",\n origin_scheme=\"http\",\n range=\"on\",\n origin_http_port=\"8080\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n rule_enable=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultOriginRule = new AliCloud.Esa.OriginRule(\"default\", new()\n {\n OriginSni = \"origin.example.com\",\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.Id)),\n OriginHost = \"origin.example.com\",\n DnsRecord = \"tf.example.com\",\n SiteVersion = 0,\n RuleName = \"tf\",\n OriginHttpsPort = \"443\",\n OriginScheme = \"http\",\n Range = \"on\",\n OriginHttpPort = \"8080\",\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n RuleEnable = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewOriginRule(ctx, \"default\", \u0026esa.OriginRuleArgs{\n\t\t\tOriginSni: pulumi.String(\"origin.example.com\"),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].Id),\n\t\t\tOriginHost: pulumi.String(\"origin.example.com\"),\n\t\t\tDnsRecord: pulumi.String(\"tf.example.com\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"tf\"),\n\t\t\tOriginHttpsPort: pulumi.String(\"443\"),\n\t\t\tOriginScheme: pulumi.String(\"http\"),\n\t\t\tRange: pulumi.String(\"on\"),\n\t\t\tOriginHttpPort: pulumi.String(\"8080\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tRuleEnable: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.OriginRule;\nimport com.pulumi.alicloud.esa.OriginRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultOriginRule = new OriginRule(\"defaultOriginRule\", OriginRuleArgs.builder()\n .originSni(\"origin.example.com\")\n .siteId(default_.sites()[0].id())\n .originHost(\"origin.example.com\")\n .dnsRecord(\"tf.example.com\")\n .siteVersion(0)\n .ruleName(\"tf\")\n .originHttpsPort(\"443\")\n .originScheme(\"http\")\n .range(\"on\")\n .originHttpPort(\"8080\")\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .ruleEnable(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultOriginRule:\n type: alicloud:esa:OriginRule\n name: default\n properties:\n originSni: origin.example.com\n siteId: ${default.sites[0].id}\n originHost: origin.example.com\n dnsRecord: tf.example.com\n siteVersion: '0'\n ruleName: tf\n originHttpsPort: '443'\n originScheme: http\n range: on\n originHttpPort: '8080'\n rule: (http.host eq \"video.example.com\")\n ruleEnable: on\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Origin Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/originRule:OriginRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -175982,7 +179772,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n" }, "siteVersion": { @@ -176077,7 +179867,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n", "willReplaceOnChanges": true }, @@ -176178,7 +179968,7 @@ "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID.\n", "willReplaceOnChanges": true }, @@ -176192,7 +179982,7 @@ } }, "alicloud:esa/page:Page": { - "description": "Provides a ESA Page resource.\n\n\n\nFor information about ESA Page and how to use it, see [What is Page](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/customize-page).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.Page(\"default\", {\n description: \"example resource html page\",\n contentType: \"text/html\",\n content: \"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n pageName: \"resource_example_html_page\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.Page(\"default\",\n description=\"example resource html page\",\n content_type=\"text/html\",\n content=\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n page_name=\"resource_example_html_page\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.Page(\"default\", new()\n {\n Description = \"example resource html page\",\n ContentType = \"text/html\",\n Content = \"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n PageName = \"resource_example_html_page\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewPage(ctx, \"default\", \u0026esa.PageArgs{\n\t\t\tDescription: pulumi.String(\"example resource html page\"),\n\t\t\tContentType: pulumi.String(\"text/html\"),\n\t\t\tContent: pulumi.String(\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\"),\n\t\t\tPageName: pulumi.String(\"resource_example_html_page\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.Page;\nimport com.pulumi.alicloud.esa.PageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Page(\"default\", PageArgs.builder()\n .description(\"example resource html page\")\n .contentType(\"text/html\")\n .content(\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\")\n .pageName(\"resource_example_html_page\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:Page\n properties:\n description: example resource html page\n contentType: text/html\n content: PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\n pageName: resource_example_html_page\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Page can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/page:Page example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Page resource.\n\n\n\nFor information about ESA Page and how to use it, see [What is Page](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/customize-page).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.Page(\"default\", {\n description: \"example resource html page\",\n contentType: \"text/html\",\n content: \"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n pageName: \"resource_example_html_page\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.Page(\"default\",\n description=\"example resource html page\",\n content_type=\"text/html\",\n content=\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n page_name=\"resource_example_html_page\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.Page(\"default\", new()\n {\n Description = \"example resource html page\",\n ContentType = \"text/html\",\n Content = \"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\",\n PageName = \"resource_example_html_page\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewPage(ctx, \"default\", \u0026esa.PageArgs{\n\t\t\tDescription: pulumi.String(\"example resource html page\"),\n\t\t\tContentType: pulumi.String(\"text/html\"),\n\t\t\tContent: pulumi.String(\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\"),\n\t\t\tPageName: pulumi.String(\"resource_example_html_page\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.Page;\nimport com.pulumi.alicloud.esa.PageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Page(\"default\", PageArgs.builder()\n .description(\"example resource html page\")\n .contentType(\"text/html\")\n .content(\"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\")\n .pageName(\"resource_example_html_page\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:Page\n properties:\n description: example resource html page\n contentType: text/html\n content: PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoLUNOIj4KICA8aGVhZD4KICAgIDx0aXRsZT40MDMgRm9yYmlkZGVuPC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8aDE+NDAzIEZvcmJpZGRlbjwvaDE+CiAgPC9ib2R5Pgo8L2h0bWw+\n pageName: resource_example_html_page\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Page can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/page:Page example \u003cid\u003e\n```\n\n", "properties": { "content": { "type": "string", @@ -176261,7 +180051,7 @@ } }, "alicloud:esa/ratePlanInstance:RatePlanInstance": { - "description": "Provides a ESA Rate Plan Instance resource.\n\n\n\nFor information about ESA Rate Plan Instance and how to use it, see [What is Rate Plan Instance](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/product-overview/query-package-information).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.RatePlanInstance(\"default\", {\n type: \"NS\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n planName: \"basic\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.RatePlanInstance(\"default\",\n type=\"NS\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n plan_name=\"basic\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.RatePlanInstance(\"default\", new()\n {\n Type = \"NS\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n PlanName = \"basic\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewRatePlanInstance(ctx, \"default\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tPlanName: pulumi.String(\"basic\"),\n\t\t\tAutoPay: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new RatePlanInstance(\"default\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .planName(\"basic\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: true\n period: '1'\n paymentType: Subscription\n coverage: overseas\n planName: basic\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Rate Plan Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/ratePlanInstance:RatePlanInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Rate Plan Instance resource.\n\n\n\nFor information about ESA Rate Plan Instance and how to use it, see [What is Rate Plan Instance](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/product-overview/query-package-information).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.RatePlanInstance(\"default\", {\n type: \"NS\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n planName: \"basic\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.RatePlanInstance(\"default\",\n type=\"NS\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n plan_name=\"basic\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.RatePlanInstance(\"default\", new()\n {\n Type = \"NS\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n PlanName = \"basic\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewRatePlanInstance(ctx, \"default\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tPlanName: pulumi.String(\"basic\"),\n\t\t\tAutoPay: 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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new RatePlanInstance(\"default\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .planName(\"basic\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: true\n period: '1'\n paymentType: Subscription\n coverage: overseas\n planName: basic\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Rate Plan Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/ratePlanInstance:RatePlanInstance example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean" @@ -176387,7 +180177,7 @@ } }, "alicloud:esa/record:Record": { - "description": "Provides a ESA Record resource.\n\n\n\nFor information about ESA Record and how to use it, see [What is Record](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/add-parsing-record/).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.RatePlanInstance(\"default\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"idlexamplerecord.com\",\n instanceId: _default.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRecord = new alicloud.esa.Record(\"default\", {\n data: {\n value: \"www.eerrraaa.com\",\n weight: 1,\n priority: 1,\n port: 80,\n },\n ttl: 100,\n recordName: \"_udp._sip.idlexamplerecord.com\",\n comment: \"This is a remark\",\n siteId: defaultSite.id,\n recordType: \"SRV\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.RatePlanInstance(\"default\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"idlexamplerecord.com\",\n instance_id=default.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_record = alicloud.esa.Record(\"default\",\n data={\n \"value\": \"www.eerrraaa.com\",\n \"weight\": 1,\n \"priority\": 1,\n \"port\": 80,\n },\n ttl=100,\n record_name=\"_udp._sip.idlexamplerecord.com\",\n comment=\"This is a remark\",\n site_id=default_site.id,\n record_type=\"SRV\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.RatePlanInstance(\"default\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"idlexamplerecord.com\",\n InstanceId = @default.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRecord = new AliCloud.Esa.Record(\"default\", new()\n {\n Data = new AliCloud.Esa.Inputs.RecordDataArgs\n {\n Value = \"www.eerrraaa.com\",\n Weight = 1,\n Priority = 1,\n Port = 80,\n },\n Ttl = 100,\n RecordName = \"_udp._sip.idlexamplerecord.com\",\n Comment = \"This is a remark\",\n SiteId = defaultSite.Id,\n RecordType = \"SRV\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.NewRatePlanInstance(ctx, \"default\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"idlexamplerecord.com\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRecord(ctx, \"default\", \u0026esa.RecordArgs{\n\t\t\tData: \u0026esa.RecordDataArgs{\n\t\t\t\tValue: pulumi.String(\"www.eerrraaa.com\"),\n\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t},\n\t\t\tTtl: pulumi.Int(100),\n\t\t\tRecordName: pulumi.String(\"_udp._sip.idlexamplerecord.com\"),\n\t\t\tComment: pulumi.String(\"This is a remark\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRecordType: pulumi.String(\"SRV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Record;\nimport com.pulumi.alicloud.esa.RecordArgs;\nimport com.pulumi.alicloud.esa.inputs.RecordDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new RatePlanInstance(\"default\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"idlexamplerecord.com\")\n .instanceId(default_.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRecord = new Record(\"defaultRecord\", RecordArgs.builder()\n .data(RecordDataArgs.builder()\n .value(\"www.eerrraaa.com\")\n .weight(1)\n .priority(1)\n .port(80)\n .build())\n .ttl(100)\n .recordName(\"_udp._sip.idlexamplerecord.com\")\n .comment(\"This is a remark\")\n .siteId(defaultSite.id())\n .recordType(\"SRV\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: idlexamplerecord.com\n instanceId: ${default.id}\n coverage: overseas\n accessType: NS\n defaultRecord:\n type: alicloud:esa:Record\n name: default\n properties:\n data:\n value: www.eerrraaa.com\n weight: '1'\n priority: '1'\n port: '80'\n ttl: '100'\n recordName: _udp._sip.idlexamplerecord.com\n comment: This is a remark\n siteId: ${defaultSite.id}\n recordType: SRV\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/record:Record example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Record resource.\n\n\n\nFor information about ESA Record and how to use it, see [What is Record](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/add-parsing-record/).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.RatePlanInstance(\"default\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"idlexamplerecord.com\",\n instanceId: _default.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRecord = new alicloud.esa.Record(\"default\", {\n data: {\n value: \"www.eerrraaa.com\",\n weight: 1,\n priority: 1,\n port: 80,\n },\n ttl: 100,\n recordName: \"_udp._sip.idlexamplerecord.com\",\n comment: \"This is a remark\",\n siteId: defaultSite.id,\n recordType: \"SRV\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.RatePlanInstance(\"default\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"idlexamplerecord.com\",\n instance_id=default.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_record = alicloud.esa.Record(\"default\",\n data={\n \"value\": \"www.eerrraaa.com\",\n \"weight\": 1,\n \"priority\": 1,\n \"port\": 80,\n },\n ttl=100,\n record_name=\"_udp._sip.idlexamplerecord.com\",\n comment=\"This is a remark\",\n site_id=default_site.id,\n record_type=\"SRV\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.RatePlanInstance(\"default\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"idlexamplerecord.com\",\n InstanceId = @default.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRecord = new AliCloud.Esa.Record(\"default\", new()\n {\n Data = new AliCloud.Esa.Inputs.RecordDataArgs\n {\n Value = \"www.eerrraaa.com\",\n Weight = 1,\n Priority = 1,\n Port = 80,\n },\n Ttl = 100,\n RecordName = \"_udp._sip.idlexamplerecord.com\",\n Comment = \"This is a remark\",\n SiteId = defaultSite.Id,\n RecordType = \"SRV\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.NewRatePlanInstance(ctx, \"default\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"idlexamplerecord.com\"),\n\t\t\tInstanceId: _default.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRecord(ctx, \"default\", \u0026esa.RecordArgs{\n\t\t\tData: \u0026esa.RecordDataArgs{\n\t\t\t\tValue: pulumi.String(\"www.eerrraaa.com\"),\n\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t},\n\t\t\tTtl: pulumi.Int(100),\n\t\t\tRecordName: pulumi.String(\"_udp._sip.idlexamplerecord.com\"),\n\t\t\tComment: pulumi.String(\"This is a remark\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tRecordType: pulumi.String(\"SRV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Record;\nimport com.pulumi.alicloud.esa.RecordArgs;\nimport com.pulumi.alicloud.esa.inputs.RecordDataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new RatePlanInstance(\"default\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"idlexamplerecord.com\")\n .instanceId(default_.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRecord = new Record(\"defaultRecord\", RecordArgs.builder()\n .data(RecordDataArgs.builder()\n .value(\"www.eerrraaa.com\")\n .weight(1)\n .priority(1)\n .port(80)\n .build())\n .ttl(100)\n .recordName(\"_udp._sip.idlexamplerecord.com\")\n .comment(\"This is a remark\")\n .siteId(defaultSite.id())\n .recordType(\"SRV\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: idlexamplerecord.com\n instanceId: ${default.id}\n coverage: overseas\n accessType: NS\n defaultRecord:\n type: alicloud:esa:Record\n name: default\n properties:\n data:\n value: www.eerrraaa.com\n weight: '1'\n priority: '1'\n port: '80'\n ttl: '100'\n recordName: _udp._sip.idlexamplerecord.com\n comment: This is a remark\n siteId: ${defaultSite.id}\n recordType: SRV\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/record:Record example \u003cid\u003e\n```\n\n", "properties": { "authConf": { "$ref": "#/types/alicloud:esa/RecordAuthConf:RecordAuthConf", @@ -176559,7 +180349,7 @@ } }, "alicloud:esa/redirectRule:RedirectRule": { - "description": "Provides a ESA Redirect Rule resource.\n\n\n\nFor information about ESA Redirect Rule and how to use it, see [What is Redirect Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createredirectrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceRedirectRuleExample = new alicloud.esa.RatePlanInstance(\"resource_RedirectRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteRedirectRuleExample = new alicloud.esa.Site(\"resource_Site_RedirectRule_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceRedirectRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRedirectRule = new alicloud.esa.RedirectRule(\"default\", {\n statusCode: \"301\",\n ruleName: \"example\",\n siteId: resourceSiteRedirectRuleExample.id,\n type: \"static\",\n reserveQueryString: \"on\",\n targetUrl: \"http://www.exapmle.com/index.html\",\n ruleEnable: \"on\",\n siteVersion: 0,\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_redirect_rule_example = alicloud.esa.RatePlanInstance(\"resource_RedirectRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_redirect_rule_example = alicloud.esa.Site(\"resource_Site_RedirectRule_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_redirect_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_redirect_rule = alicloud.esa.RedirectRule(\"default\",\n status_code=\"301\",\n rule_name=\"example\",\n site_id=resource_site_redirect_rule_example.id,\n type=\"static\",\n reserve_query_string=\"on\",\n target_url=\"http://www.exapmle.com/index.html\",\n rule_enable=\"on\",\n site_version=0,\n rule=\"(http.host eq \\\"video.example.com\\\")\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceRedirectRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_RedirectRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteRedirectRuleExample = new AliCloud.Esa.Site(\"resource_Site_RedirectRule_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceRedirectRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRedirectRule = new AliCloud.Esa.RedirectRule(\"default\", new()\n {\n StatusCode = \"301\",\n RuleName = \"example\",\n SiteId = resourceSiteRedirectRuleExample.Id,\n Type = \"static\",\n ReserveQueryString = \"on\",\n TargetUrl = \"http://www.exapmle.com/index.html\",\n RuleEnable = \"on\",\n SiteVersion = 0,\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceRedirectRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_RedirectRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteRedirectRuleExample, err := esa.NewSite(ctx, \"resource_Site_RedirectRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceRedirectRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRedirectRule(ctx, \"default\", \u0026esa.RedirectRuleArgs{\n\t\t\tStatusCode: pulumi.String(\"301\"),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tSiteId: resourceSiteRedirectRuleExample.ID(),\n\t\t\tType: pulumi.String(\"static\"),\n\t\t\tReserveQueryString: pulumi.String(\"on\"),\n\t\t\tTargetUrl: pulumi.String(\"http://www.exapmle.com/index.html\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.RedirectRule;\nimport com.pulumi.alicloud.esa.RedirectRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceRedirectRuleExample = new RatePlanInstance(\"resourceRedirectRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteRedirectRuleExample = new Site(\"resourceSiteRedirectRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceRedirectRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRedirectRule = new RedirectRule(\"defaultRedirectRule\", RedirectRuleArgs.builder()\n .statusCode(\"301\")\n .ruleName(\"example\")\n .siteId(resourceSiteRedirectRuleExample.id())\n .type(\"static\")\n .reserveQueryString(\"on\")\n .targetUrl(\"http://www.exapmle.com/index.html\")\n .ruleEnable(\"on\")\n .siteVersion(0)\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceRedirectRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_RedirectRule_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceSiteRedirectRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_RedirectRule_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceRedirectRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultRedirectRule:\n type: alicloud:esa:RedirectRule\n name: default\n properties:\n statusCode: '301'\n ruleName: example\n siteId: ${resourceSiteRedirectRuleExample.id}\n type: static\n reserveQueryString: on\n targetUrl: http://www.exapmle.com/index.html\n ruleEnable: on\n siteVersion: '0'\n rule: (http.host eq \"video.example.com\")\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Redirect Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/redirectRule:RedirectRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Redirect Rule resource.\n\n\n\nFor information about ESA Redirect Rule and how to use it, see [What is Redirect Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createredirectrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceRedirectRuleExample = new alicloud.esa.RatePlanInstance(\"resource_RedirectRule_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceSiteRedirectRuleExample = new alicloud.esa.Site(\"resource_Site_RedirectRule_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceRedirectRuleExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRedirectRule = new alicloud.esa.RedirectRule(\"default\", {\n statusCode: \"301\",\n ruleName: \"example\",\n siteId: resourceSiteRedirectRuleExample.id,\n type: \"static\",\n reserveQueryString: \"on\",\n targetUrl: \"http://www.exapmle.com/index.html\",\n ruleEnable: \"on\",\n siteVersion: 0,\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_redirect_rule_example = alicloud.esa.RatePlanInstance(\"resource_RedirectRule_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_site_redirect_rule_example = alicloud.esa.Site(\"resource_Site_RedirectRule_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_redirect_rule_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_redirect_rule = alicloud.esa.RedirectRule(\"default\",\n status_code=\"301\",\n rule_name=\"example\",\n site_id=resource_site_redirect_rule_example.id,\n type=\"static\",\n reserve_query_string=\"on\",\n target_url=\"http://www.exapmle.com/index.html\",\n rule_enable=\"on\",\n site_version=0,\n rule=\"(http.host eq \\\"video.example.com\\\")\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceRedirectRuleExample = new AliCloud.Esa.RatePlanInstance(\"resource_RedirectRule_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceSiteRedirectRuleExample = new AliCloud.Esa.Site(\"resource_Site_RedirectRule_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceRedirectRuleExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRedirectRule = new AliCloud.Esa.RedirectRule(\"default\", new()\n {\n StatusCode = \"301\",\n RuleName = \"example\",\n SiteId = resourceSiteRedirectRuleExample.Id,\n Type = \"static\",\n ReserveQueryString = \"on\",\n TargetUrl = \"http://www.exapmle.com/index.html\",\n RuleEnable = \"on\",\n SiteVersion = 0,\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceRedirectRuleExample, err := esa.NewRatePlanInstance(ctx, \"resource_RedirectRule_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteRedirectRuleExample, err := esa.NewSite(ctx, \"resource_Site_RedirectRule_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceRedirectRuleExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRedirectRule(ctx, \"default\", \u0026esa.RedirectRuleArgs{\n\t\t\tStatusCode: pulumi.String(\"301\"),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tSiteId: resourceSiteRedirectRuleExample.ID(),\n\t\t\tType: pulumi.String(\"static\"),\n\t\t\tReserveQueryString: pulumi.String(\"on\"),\n\t\t\tTargetUrl: pulumi.String(\"http://www.exapmle.com/index.html\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.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.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.RedirectRule;\nimport com.pulumi.alicloud.esa.RedirectRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceRedirectRuleExample = new RatePlanInstance(\"resourceRedirectRuleExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceSiteRedirectRuleExample = new Site(\"resourceSiteRedirectRuleExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceRedirectRuleExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRedirectRule = new RedirectRule(\"defaultRedirectRule\", RedirectRuleArgs.builder()\n .statusCode(\"301\")\n .ruleName(\"example\")\n .siteId(resourceSiteRedirectRuleExample.id())\n .type(\"static\")\n .reserveQueryString(\"on\")\n .targetUrl(\"http://www.exapmle.com/index.html\")\n .ruleEnable(\"on\")\n .siteVersion(0)\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceRedirectRuleExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_RedirectRule_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceSiteRedirectRuleExample:\n type: alicloud:esa:Site\n name: resource_Site_RedirectRule_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceRedirectRuleExample.id}\n coverage: overseas\n accessType: NS\n defaultRedirectRule:\n type: alicloud:esa:RedirectRule\n name: default\n properties:\n statusCode: '301'\n ruleName: example\n siteId: ${resourceSiteRedirectRuleExample.id}\n type: static\n reserveQueryString: on\n targetUrl: http://www.exapmle.com/index.html\n ruleEnable: on\n siteVersion: '0'\n rule: (http.host eq \"video.example.com\")\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Redirect Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/redirectRule:RedirectRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -176586,7 +180376,7 @@ "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n" }, "siteVersion": { @@ -176637,7 +180427,7 @@ "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n", "willReplaceOnChanges": true }, @@ -176694,7 +180484,7 @@ "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n", "willReplaceOnChanges": true }, @@ -176720,7 +180510,7 @@ } }, "alicloud:esa/rewriteUrlRule:RewriteUrlRule": { - "description": "Provides a ESA Rewrite Url Rule resource.\n\n\n\nFor information about ESA Rewrite Url Rule and how to use it, see [What is Rewrite Url Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createrewriteurlrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceRewriteUrlRuleRatePlanInstanceExample = new alicloud.esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceRewriteUrlRuleSiteExample = new alicloud.esa.Site(\"resource_RewriteUrlRule_Site_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceRewriteUrlRuleRatePlanInstanceExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRewriteUrlRule = new alicloud.esa.RewriteUrlRule(\"default\", {\n rewriteUriType: \"static\",\n rewriteQueryStringType: \"static\",\n siteId: resourceRewriteUrlRuleSiteExample.id,\n ruleName: \"example\",\n ruleEnable: \"on\",\n queryString: \"example=123\",\n siteVersion: 0,\n rule: \"http.host eq \\\"video.example.com\\\"\",\n uri: \"/image/example.jpg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_rewrite_url_rule_rate_plan_instance_example = alicloud.esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_rewrite_url_rule_site_example = alicloud.esa.Site(\"resource_RewriteUrlRule_Site_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_rewrite_url_rule_rate_plan_instance_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_rewrite_url_rule = alicloud.esa.RewriteUrlRule(\"default\",\n rewrite_uri_type=\"static\",\n rewrite_query_string_type=\"static\",\n site_id=resource_rewrite_url_rule_site_example.id,\n rule_name=\"example\",\n rule_enable=\"on\",\n query_string=\"example=123\",\n site_version=0,\n rule=\"http.host eq \\\"video.example.com\\\"\",\n uri=\"/image/example.jpg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceRewriteUrlRuleRatePlanInstanceExample = new AliCloud.Esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceRewriteUrlRuleSiteExample = new AliCloud.Esa.Site(\"resource_RewriteUrlRule_Site_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceRewriteUrlRuleRatePlanInstanceExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRewriteUrlRule = new AliCloud.Esa.RewriteUrlRule(\"default\", new()\n {\n RewriteUriType = \"static\",\n RewriteQueryStringType = \"static\",\n SiteId = resourceRewriteUrlRuleSiteExample.Id,\n RuleName = \"example\",\n RuleEnable = \"on\",\n QueryString = \"example=123\",\n SiteVersion = 0,\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n Uri = \"/image/example.jpg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceRewriteUrlRuleRatePlanInstanceExample, err := esa.NewRatePlanInstance(ctx, \"resource_RewriteUrlRule_RatePlanInstance_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceRewriteUrlRuleSiteExample, err := esa.NewSite(ctx, \"resource_RewriteUrlRule_Site_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceRewriteUrlRuleRatePlanInstanceExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRewriteUrlRule(ctx, \"default\", \u0026esa.RewriteUrlRuleArgs{\n\t\t\tRewriteUriType: pulumi.String(\"static\"),\n\t\t\tRewriteQueryStringType: pulumi.String(\"static\"),\n\t\t\tSiteId: resourceRewriteUrlRuleSiteExample.ID(),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tQueryString: pulumi.String(\"example=123\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tUri: pulumi.String(\"/image/example.jpg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.RewriteUrlRule;\nimport com.pulumi.alicloud.esa.RewriteUrlRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceRewriteUrlRuleRatePlanInstanceExample = new RatePlanInstance(\"resourceRewriteUrlRuleRatePlanInstanceExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceRewriteUrlRuleSiteExample = new Site(\"resourceRewriteUrlRuleSiteExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceRewriteUrlRuleRatePlanInstanceExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRewriteUrlRule = new RewriteUrlRule(\"defaultRewriteUrlRule\", RewriteUrlRuleArgs.builder()\n .rewriteUriType(\"static\")\n .rewriteQueryStringType(\"static\")\n .siteId(resourceRewriteUrlRuleSiteExample.id())\n .ruleName(\"example\")\n .ruleEnable(\"on\")\n .queryString(\"example=123\")\n .siteVersion(0)\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .uri(\"/image/example.jpg\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceRewriteUrlRuleRatePlanInstanceExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_RewriteUrlRule_RatePlanInstance_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceRewriteUrlRuleSiteExample:\n type: alicloud:esa:Site\n name: resource_RewriteUrlRule_Site_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceRewriteUrlRuleRatePlanInstanceExample.id}\n coverage: overseas\n accessType: NS\n defaultRewriteUrlRule:\n type: alicloud:esa:RewriteUrlRule\n name: default\n properties:\n rewriteUriType: static\n rewriteQueryStringType: static\n siteId: ${resourceRewriteUrlRuleSiteExample.id}\n ruleName: example\n ruleEnable: on\n queryString: example=123\n siteVersion: '0'\n rule: http.host eq \"video.example.com\"\n uri: /image/example.jpg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Rewrite Url Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/rewriteUrlRule:RewriteUrlRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Rewrite Url Rule resource.\n\n\n\nFor information about ESA Rewrite Url Rule and how to use it, see [What is Rewrite Url Rule](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-createrewriteurlrule).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst resourceRewriteUrlRuleRatePlanInstanceExample = new alicloud.esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\", {\n type: \"NS\",\n autoRenew: false,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"high\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst resourceRewriteUrlRuleSiteExample = new alicloud.esa.Site(\"resource_RewriteUrlRule_Site_example\", {\n siteName: `gositecdn-${_default.result}.cn`,\n instanceId: resourceRewriteUrlRuleRatePlanInstanceExample.id,\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRewriteUrlRule = new alicloud.esa.RewriteUrlRule(\"default\", {\n rewriteUriType: \"static\",\n rewriteQueryStringType: \"static\",\n siteId: resourceRewriteUrlRuleSiteExample.id,\n ruleName: \"example\",\n ruleEnable: \"on\",\n queryString: \"example=123\",\n siteVersion: 0,\n rule: \"http.host eq \\\"video.example.com\\\"\",\n uri: \"/image/example.jpg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nresource_rewrite_url_rule_rate_plan_instance_example = alicloud.esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\",\n type=\"NS\",\n auto_renew=False,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"high\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nresource_rewrite_url_rule_site_example = alicloud.esa.Site(\"resource_RewriteUrlRule_Site_example\",\n site_name=f\"gositecdn-{default['result']}.cn\",\n instance_id=resource_rewrite_url_rule_rate_plan_instance_example.id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_rewrite_url_rule = alicloud.esa.RewriteUrlRule(\"default\",\n rewrite_uri_type=\"static\",\n rewrite_query_string_type=\"static\",\n site_id=resource_rewrite_url_rule_site_example.id,\n rule_name=\"example\",\n rule_enable=\"on\",\n query_string=\"example=123\",\n site_version=0,\n rule=\"http.host eq \\\"video.example.com\\\"\",\n uri=\"/image/example.jpg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var resourceRewriteUrlRuleRatePlanInstanceExample = new AliCloud.Esa.RatePlanInstance(\"resource_RewriteUrlRule_RatePlanInstance_example\", new()\n {\n Type = \"NS\",\n AutoRenew = false,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"high\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var resourceRewriteUrlRuleSiteExample = new AliCloud.Esa.Site(\"resource_RewriteUrlRule_Site_example\", new()\n {\n SiteName = $\"gositecdn-{@default.Result}.cn\",\n InstanceId = resourceRewriteUrlRuleRatePlanInstanceExample.Id,\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRewriteUrlRule = new AliCloud.Esa.RewriteUrlRule(\"default\", new()\n {\n RewriteUriType = \"static\",\n RewriteQueryStringType = \"static\",\n SiteId = resourceRewriteUrlRuleSiteExample.Id,\n RuleName = \"example\",\n RuleEnable = \"on\",\n QueryString = \"example=123\",\n SiteVersion = 0,\n Rule = \"http.host eq \\\"video.example.com\\\"\",\n Uri = \"/image/example.jpg\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tresourceRewriteUrlRuleRatePlanInstanceExample, err := esa.NewRatePlanInstance(ctx, \"resource_RewriteUrlRule_RatePlanInstance_example\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"high\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceRewriteUrlRuleSiteExample, err := esa.NewSite(ctx, \"resource_RewriteUrlRule_Site_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"gositecdn-%v.cn\", _default.Result),\n\t\t\tInstanceId: resourceRewriteUrlRuleRatePlanInstanceExample.ID(),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRewriteUrlRule(ctx, \"default\", \u0026esa.RewriteUrlRuleArgs{\n\t\t\tRewriteUriType: pulumi.String(\"static\"),\n\t\t\tRewriteQueryStringType: pulumi.String(\"static\"),\n\t\t\tSiteId: resourceRewriteUrlRuleSiteExample.ID(),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tQueryString: pulumi.String(\"example=123\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRule: pulumi.String(\"http.host eq \\\"video.example.com\\\"\"),\n\t\t\tUri: pulumi.String(\"/image/example.jpg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.RewriteUrlRule;\nimport com.pulumi.alicloud.esa.RewriteUrlRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var resourceRewriteUrlRuleRatePlanInstanceExample = new RatePlanInstance(\"resourceRewriteUrlRuleRatePlanInstanceExample\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(false)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"high\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var resourceRewriteUrlRuleSiteExample = new Site(\"resourceRewriteUrlRuleSiteExample\", SiteArgs.builder()\n .siteName(String.format(\"gositecdn-%s.cn\", default_.result()))\n .instanceId(resourceRewriteUrlRuleRatePlanInstanceExample.id())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRewriteUrlRule = new RewriteUrlRule(\"defaultRewriteUrlRule\", RewriteUrlRuleArgs.builder()\n .rewriteUriType(\"static\")\n .rewriteQueryStringType(\"static\")\n .siteId(resourceRewriteUrlRuleSiteExample.id())\n .ruleName(\"example\")\n .ruleEnable(\"on\")\n .queryString(\"example=123\")\n .siteVersion(0)\n .rule(\"http.host eq \\\"video.example.com\\\"\")\n .uri(\"/image/example.jpg\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceRewriteUrlRuleRatePlanInstanceExample:\n type: alicloud:esa:RatePlanInstance\n name: resource_RewriteUrlRule_RatePlanInstance_example\n properties:\n type: NS\n autoRenew: 'false'\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: 'true'\n planName: high\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n resourceRewriteUrlRuleSiteExample:\n type: alicloud:esa:Site\n name: resource_RewriteUrlRule_Site_example\n properties:\n siteName: gositecdn-${default.result}.cn\n instanceId: ${resourceRewriteUrlRuleRatePlanInstanceExample.id}\n coverage: overseas\n accessType: NS\n defaultRewriteUrlRule:\n type: alicloud:esa:RewriteUrlRule\n name: default\n properties:\n rewriteUriType: static\n rewriteQueryStringType: static\n siteId: ${resourceRewriteUrlRuleSiteExample.id}\n ruleName: example\n ruleEnable: on\n queryString: example=123\n siteVersion: '0'\n rule: http.host eq \"video.example.com\"\n uri: /image/example.jpg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Rewrite Url Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/rewriteUrlRule:RewriteUrlRule example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -176873,7 +180663,7 @@ } }, "alicloud:esa/routine:Routine": { - "description": "Provides a ESA Routine resource.\n\n\n\nFor information about ESA Routine and how to use it, see [What is Routine](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutine).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.Routine(\"default\", {\n description: name,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.Routine(\"default\",\n description=name,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.Routine(\"default\", new()\n {\n Description = name,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewRoutine(ctx, \"default\", \u0026esa.RoutineArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tName: pulumi.String(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.alicloud.esa.Routine;\nimport com.pulumi.alicloud.esa.RoutineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Routine(\"default\", RoutineArgs.builder()\n .description(name)\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:Routine\n properties:\n description: ${name}\n name: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Routine can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/routine:Routine example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Routine resource.\n\n\n\nFor information about ESA Routine and how to use it, see [What is Routine](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutine).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.esa.Routine(\"default\", {\n description: name,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.Routine(\"default\",\n description=name,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Esa.Routine(\"default\", new()\n {\n Description = name,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := esa.NewRoutine(ctx, \"default\", \u0026esa.RoutineArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tName: pulumi.String(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.alicloud.esa.Routine;\nimport com.pulumi.alicloud.esa.RoutineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Routine(\"default\", RoutineArgs.builder()\n .description(name)\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:esa:Routine\n properties:\n description: ${name}\n name: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Routine can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/routine:Routine example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -176926,18 +180716,23 @@ } }, "alicloud:esa/routineRelatedRecord:RoutineRelatedRecord": { + "description": "Provides a ESA Routine Related Record resource.\n\n\n\nFor information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord).\n\n\u003e **NOTE:** Available since v1.265.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultRoutine = new alicloud.esa.Routine(\"default\", {\n description: \"example-routine2\",\n name: \"example-routine2\",\n});\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultRoutineRelatedRecord = new alicloud.esa.RoutineRelatedRecord(\"default\", {\n name: defaultRoutine.id,\n recordName: \"tfexampleacc.com\",\n siteId: \"618651327383200\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_routine = alicloud.esa.Routine(\"default\",\n description=\"example-routine2\",\n name=\"example-routine2\")\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_routine_related_record = alicloud.esa.RoutineRelatedRecord(\"default\",\n name=default_routine.id,\n record_name=\"tfexampleacc.com\",\n site_id=\"618651327383200\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultRoutine = new AliCloud.Esa.Routine(\"default\", new()\n {\n Description = \"example-routine2\",\n Name = \"example-routine2\",\n });\n\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultRoutineRelatedRecord = new AliCloud.Esa.RoutineRelatedRecord(\"default\", new()\n {\n Name = defaultRoutine.Id,\n RecordName = \"tfexampleacc.com\",\n SiteId = \"618651327383200\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultRoutine, err := esa.NewRoutine(ctx, \"default\", \u0026esa.RoutineArgs{\n\t\t\tDescription: pulumi.String(\"example-routine2\"),\n\t\t\tName: pulumi.String(\"example-routine2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRoutineRelatedRecord(ctx, \"default\", \u0026esa.RoutineRelatedRecordArgs{\n\t\t\tName: defaultRoutine.ID(),\n\t\t\tRecordName: pulumi.String(\"tfexampleacc.com\"),\n\t\t\tSiteId: pulumi.String(\"618651327383200\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.Routine;\nimport com.pulumi.alicloud.esa.RoutineArgs;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.RoutineRelatedRecord;\nimport com.pulumi.alicloud.esa.RoutineRelatedRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultRoutine = new Routine(\"defaultRoutine\", RoutineArgs.builder()\n .description(\"example-routine2\")\n .name(\"example-routine2\")\n .build());\n\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultRoutineRelatedRecord = new RoutineRelatedRecord(\"defaultRoutineRelatedRecord\", RoutineRelatedRecordArgs.builder()\n .name(defaultRoutine.id())\n .recordName(\"tfexampleacc.com\")\n .siteId(\"618651327383200\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultRoutine:\n type: alicloud:esa:Routine\n name: default\n properties:\n description: example-routine2\n name: example-routine2\n defaultRoutineRelatedRecord:\n type: alicloud:esa:RoutineRelatedRecord\n name: default\n properties:\n name: ${defaultRoutine.id}\n recordName: tfexampleacc.com\n siteId: '618651327383200'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Routine Related Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example \u003cname\u003e:\u003crecord_id\u003e\n```\n\n", "properties": { "name": { - "type": "string" + "type": "string", + "description": "The routine name.\n" }, "recordId": { - "type": "integer" + "type": "integer", + "description": "The record ID.\n" }, "recordName": { - "type": "string" + "type": "string", + "description": "The record name.\n" }, "siteId": { - "type": "integer" + "type": "string", + "description": "The website ID.\n" } }, "required": [ @@ -176949,14 +180744,17 @@ "inputProperties": { "name": { "type": "string", + "description": "The routine name.\n", "willReplaceOnChanges": true }, "recordName": { "type": "string", + "description": "The record name.\n", "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", + "description": "The website ID.\n", "willReplaceOnChanges": true } }, @@ -176969,17 +180767,21 @@ "properties": { "name": { "type": "string", + "description": "The routine name.\n", "willReplaceOnChanges": true }, "recordId": { - "type": "integer" + "type": "integer", + "description": "The record ID.\n" }, "recordName": { "type": "string", + "description": "The record name.\n", "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", + "description": "The website ID.\n", "willReplaceOnChanges": true } }, @@ -176987,7 +180789,7 @@ } }, "alicloud:esa/routineRoute:RoutineRoute": { - "description": "Provides a ESA Routine Route resource.\n\n\n\nFor information about ESA Routine Route and how to use it, see [What is Routine Route](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRoute).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRoutine = new alicloud.esa.Routine(\"default\", {\n description: \"example-routine2\",\n name: \"example-routine2\",\n});\nconst defaultRoutineRoute = new alicloud.esa.RoutineRoute(\"default\", {\n routeEnable: \"on\",\n rule: \"(http.host eq \\\"video.example1.com\\\")\",\n sequence: 1,\n routineName: defaultRoutine.name,\n siteId: defaultSite.id,\n bypass: \"off\",\n routeName: \"example_routine\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_routine = alicloud.esa.Routine(\"default\",\n description=\"example-routine2\",\n name=\"example-routine2\")\ndefault_routine_route = alicloud.esa.RoutineRoute(\"default\",\n route_enable=\"on\",\n rule=\"(http.host eq \\\"video.example1.com\\\")\",\n sequence=1,\n routine_name=default_routine.name,\n site_id=default_site.id,\n bypass=\"off\",\n route_name=\"example_routine\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRoutine = new AliCloud.Esa.Routine(\"default\", new()\n {\n Description = \"example-routine2\",\n Name = \"example-routine2\",\n });\n\n var defaultRoutineRoute = new AliCloud.Esa.RoutineRoute(\"default\", new()\n {\n RouteEnable = \"on\",\n Rule = \"(http.host eq \\\"video.example1.com\\\")\",\n Sequence = 1,\n RoutineName = defaultRoutine.Name,\n SiteId = defaultSite.Id,\n Bypass = \"off\",\n RouteName = \"example_routine\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRoutine, err := esa.NewRoutine(ctx, \"default\", \u0026esa.RoutineArgs{\n\t\t\tDescription: pulumi.String(\"example-routine2\"),\n\t\t\tName: pulumi.String(\"example-routine2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRoutineRoute(ctx, \"default\", \u0026esa.RoutineRouteArgs{\n\t\t\tRouteEnable: pulumi.String(\"on\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example1.com\\\")\"),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tRoutineName: defaultRoutine.Name,\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tBypass: pulumi.String(\"off\"),\n\t\t\tRouteName: pulumi.String(\"example_routine\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Routine;\nimport com.pulumi.alicloud.esa.RoutineArgs;\nimport com.pulumi.alicloud.esa.RoutineRoute;\nimport com.pulumi.alicloud.esa.RoutineRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRoutine = new Routine(\"defaultRoutine\", RoutineArgs.builder()\n .description(\"example-routine2\")\n .name(\"example-routine2\")\n .build());\n\n var defaultRoutineRoute = new RoutineRoute(\"defaultRoutineRoute\", RoutineRouteArgs.builder()\n .routeEnable(\"on\")\n .rule(\"(http.host eq \\\"video.example1.com\\\")\")\n .sequence(1)\n .routineName(defaultRoutine.name())\n .siteId(defaultSite.id())\n .bypass(\"off\")\n .routeName(\"example_routine\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultRoutine:\n type: alicloud:esa:Routine\n name: default\n properties:\n description: example-routine2\n name: example-routine2\n defaultRoutineRoute:\n type: alicloud:esa:RoutineRoute\n name: default\n properties:\n routeEnable: on\n rule: (http.host eq \"video.example1.com\")\n sequence: '1'\n routineName: ${defaultRoutine.name}\n siteId: ${defaultSite.id}\n bypass: off\n routeName: example_routine\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Routine Route can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/routineRoute:RoutineRoute example \u003csite_id\u003e:\u003croutine_name\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Routine Route resource.\n\n\n\nFor information about ESA Routine Route and how to use it, see [What is Routine Route](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRoute).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultRoutine = new alicloud.esa.Routine(\"default\", {\n description: \"example-routine2\",\n name: \"example-routine2\",\n});\nconst defaultRoutineRoute = new alicloud.esa.RoutineRoute(\"default\", {\n routeEnable: \"on\",\n rule: \"(http.host eq \\\"video.example1.com\\\")\",\n sequence: 1,\n routineName: defaultRoutine.name,\n siteId: defaultSite.id,\n bypass: \"off\",\n routeName: \"example_routine\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_routine = alicloud.esa.Routine(\"default\",\n description=\"example-routine2\",\n name=\"example-routine2\")\ndefault_routine_route = alicloud.esa.RoutineRoute(\"default\",\n route_enable=\"on\",\n rule=\"(http.host eq \\\"video.example1.com\\\")\",\n sequence=1,\n routine_name=default_routine.name,\n site_id=default_site.id,\n bypass=\"off\",\n route_name=\"example_routine\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultRoutine = new AliCloud.Esa.Routine(\"default\", new()\n {\n Description = \"example-routine2\",\n Name = \"example-routine2\",\n });\n\n var defaultRoutineRoute = new AliCloud.Esa.RoutineRoute(\"default\", new()\n {\n RouteEnable = \"on\",\n Rule = \"(http.host eq \\\"video.example1.com\\\")\",\n Sequence = 1,\n RoutineName = defaultRoutine.Name,\n SiteId = defaultSite.Id,\n Bypass = \"off\",\n RouteName = \"example_routine\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRoutine, err := esa.NewRoutine(ctx, \"default\", \u0026esa.RoutineArgs{\n\t\t\tDescription: pulumi.String(\"example-routine2\"),\n\t\t\tName: pulumi.String(\"example-routine2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewRoutineRoute(ctx, \"default\", \u0026esa.RoutineRouteArgs{\n\t\t\tRouteEnable: pulumi.String(\"on\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example1.com\\\")\"),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tRoutineName: defaultRoutine.Name,\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tBypass: pulumi.String(\"off\"),\n\t\t\tRouteName: pulumi.String(\"example_routine\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Routine;\nimport com.pulumi.alicloud.esa.RoutineArgs;\nimport com.pulumi.alicloud.esa.RoutineRoute;\nimport com.pulumi.alicloud.esa.RoutineRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultRoutine = new Routine(\"defaultRoutine\", RoutineArgs.builder()\n .description(\"example-routine2\")\n .name(\"example-routine2\")\n .build());\n\n var defaultRoutineRoute = new RoutineRoute(\"defaultRoutineRoute\", RoutineRouteArgs.builder()\n .routeEnable(\"on\")\n .rule(\"(http.host eq \\\"video.example1.com\\\")\")\n .sequence(1)\n .routineName(defaultRoutine.name())\n .siteId(defaultSite.id())\n .bypass(\"off\")\n .routeName(\"example_routine\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultRoutine:\n type: alicloud:esa:Routine\n name: default\n properties:\n description: example-routine2\n name: example-routine2\n defaultRoutineRoute:\n type: alicloud:esa:RoutineRoute\n name: default\n properties:\n routeEnable: on\n rule: (http.host eq \"video.example1.com\")\n sequence: '1'\n routineName: ${defaultRoutine.name}\n siteId: ${defaultSite.id}\n bypass: off\n routeName: example_routine\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Routine Route can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/routineRoute:RoutineRoute example \u003csite_id\u003e:\u003croutine_name\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "bypass": { "type": "string", @@ -176997,6 +180799,10 @@ "type": "integer", "description": "Config Id\n" }, + "fallback": { + "type": "string", + "description": "Spare\n" + }, "routeEnable": { "type": "string", "description": "Routing switch. Value range:\n- on: Open\n- off: off\n" @@ -177018,12 +180824,13 @@ "description": "Rule execution order.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n" } }, "required": [ "configId", + "fallback", "routineName", "siteId" ], @@ -177032,6 +180839,10 @@ "type": "string", "description": "Bypass mode. Value range:\n- on: Open\n- off: off\n" }, + "fallback": { + "type": "string", + "description": "Spare\n" + }, "routeEnable": { "type": "string", "description": "Routing switch. Value range:\n- on: Open\n- off: off\n" @@ -177051,11 +180862,10 @@ }, "sequence": { "type": "integer", - "description": "Rule execution order.\n", - "willReplaceOnChanges": true + "description": "Rule execution order.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n", "willReplaceOnChanges": true } @@ -177075,6 +180885,10 @@ "type": "integer", "description": "Config Id\n" }, + "fallback": { + "type": "string", + "description": "Spare\n" + }, "routeEnable": { "type": "string", "description": "Routing switch. Value range:\n- on: Open\n- off: off\n" @@ -177094,11 +180908,10 @@ }, "sequence": { "type": "integer", - "description": "Rule execution order.\n", - "willReplaceOnChanges": true + "description": "Rule execution order.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site Id\n", "willReplaceOnChanges": true } @@ -177107,7 +180920,7 @@ } }, "alicloud:esa/scheduledPreloadExecution:ScheduledPreloadExecution": { - "description": "Provides a ESA Scheduled Preload Execution resource.\n\n\n\nFor information about ESA Scheduled Preload Execution and how to use it, see [What is Scheduled Preload Execution](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateScheduledPreloadExecutions).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultScheduledPreloadJob = new alicloud.esa.ScheduledPreloadJob(\"default\", {\n insertWay: \"textBox\",\n siteId: defaultSite.id,\n scheduledPreloadJobName: \"example_scheduledpreloadexecution_job\",\n urlList: \"http://example.gositecdn.cn/example/example.txt\",\n});\nconst defaultScheduledPreloadExecution = new alicloud.esa.ScheduledPreloadExecution(\"default\", {\n sliceLen: 5,\n endTime: \"2024-06-04T10:02:09.000+08:00\",\n startTime: \"2024-06-04T00:00:00.000+08:00\",\n scheduledPreloadJobId: defaultScheduledPreloadJob.scheduledPreloadJobId,\n interval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_scheduled_preload_job = alicloud.esa.ScheduledPreloadJob(\"default\",\n insert_way=\"textBox\",\n site_id=default_site.id,\n scheduled_preload_job_name=\"example_scheduledpreloadexecution_job\",\n url_list=\"http://example.gositecdn.cn/example/example.txt\")\ndefault_scheduled_preload_execution = alicloud.esa.ScheduledPreloadExecution(\"default\",\n slice_len=5,\n end_time=\"2024-06-04T10:02:09.000+08:00\",\n start_time=\"2024-06-04T00:00:00.000+08:00\",\n scheduled_preload_job_id=default_scheduled_preload_job.scheduled_preload_job_id,\n interval=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultScheduledPreloadJob = new AliCloud.Esa.ScheduledPreloadJob(\"default\", new()\n {\n InsertWay = \"textBox\",\n SiteId = defaultSite.Id,\n ScheduledPreloadJobName = \"example_scheduledpreloadexecution_job\",\n UrlList = \"http://example.gositecdn.cn/example/example.txt\",\n });\n\n var defaultScheduledPreloadExecution = new AliCloud.Esa.ScheduledPreloadExecution(\"default\", new()\n {\n SliceLen = 5,\n EndTime = \"2024-06-04T10:02:09.000+08:00\",\n StartTime = \"2024-06-04T00:00:00.000+08:00\",\n ScheduledPreloadJobId = defaultScheduledPreloadJob.ScheduledPreloadJobId,\n Interval = 30,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScheduledPreloadJob, err := esa.NewScheduledPreloadJob(ctx, \"default\", \u0026esa.ScheduledPreloadJobArgs{\n\t\t\tInsertWay: pulumi.String(\"textBox\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tScheduledPreloadJobName: pulumi.String(\"example_scheduledpreloadexecution_job\"),\n\t\t\tUrlList: pulumi.String(\"http://example.gositecdn.cn/example/example.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewScheduledPreloadExecution(ctx, \"default\", \u0026esa.ScheduledPreloadExecutionArgs{\n\t\t\tSliceLen: pulumi.Int(5),\n\t\t\tEndTime: pulumi.String(\"2024-06-04T10:02:09.000+08:00\"),\n\t\t\tStartTime: pulumi.String(\"2024-06-04T00:00:00.000+08:00\"),\n\t\t\tScheduledPreloadJobId: defaultScheduledPreloadJob.ScheduledPreloadJobId,\n\t\t\tInterval: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJob;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJobArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadExecution;\nimport com.pulumi.alicloud.esa.ScheduledPreloadExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultScheduledPreloadJob = new ScheduledPreloadJob(\"defaultScheduledPreloadJob\", ScheduledPreloadJobArgs.builder()\n .insertWay(\"textBox\")\n .siteId(defaultSite.id())\n .scheduledPreloadJobName(\"example_scheduledpreloadexecution_job\")\n .urlList(\"http://example.gositecdn.cn/example/example.txt\")\n .build());\n\n var defaultScheduledPreloadExecution = new ScheduledPreloadExecution(\"defaultScheduledPreloadExecution\", ScheduledPreloadExecutionArgs.builder()\n .sliceLen(5)\n .endTime(\"2024-06-04T10:02:09.000+08:00\")\n .startTime(\"2024-06-04T00:00:00.000+08:00\")\n .scheduledPreloadJobId(defaultScheduledPreloadJob.scheduledPreloadJobId())\n .interval(30)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultScheduledPreloadJob:\n type: alicloud:esa:ScheduledPreloadJob\n name: default\n properties:\n insertWay: textBox\n siteId: ${defaultSite.id}\n scheduledPreloadJobName: example_scheduledpreloadexecution_job\n urlList: http://example.gositecdn.cn/example/example.txt\n defaultScheduledPreloadExecution:\n type: alicloud:esa:ScheduledPreloadExecution\n name: default\n properties:\n sliceLen: '5'\n endTime: 2024-06-04T10:02:09.000+08:00\n startTime: 2024-06-04T00:00:00.000+08:00\n scheduledPreloadJobId: ${defaultScheduledPreloadJob.scheduledPreloadJobId}\n interval: '30'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Scheduled Preload Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/scheduledPreloadExecution:ScheduledPreloadExecution example \u003cscheduled_preload_job_id\u003e:\u003cscheduled_preload_execution_id\u003e\n```\n\n", + "description": "Provides a ESA Scheduled Preload Execution resource.\n\n\n\nFor information about ESA Scheduled Preload Execution and how to use it, see [What is Scheduled Preload Execution](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateScheduledPreloadExecutions).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultScheduledPreloadJob = new alicloud.esa.ScheduledPreloadJob(\"default\", {\n insertWay: \"textBox\",\n siteId: defaultSite.id,\n scheduledPreloadJobName: \"example_scheduledpreloadexecution_job\",\n urlList: \"http://example.gositecdn.cn/example/example.txt\",\n});\nconst defaultScheduledPreloadExecution = new alicloud.esa.ScheduledPreloadExecution(\"default\", {\n sliceLen: 5,\n endTime: \"2024-06-04T10:02:09.000+08:00\",\n startTime: \"2024-06-04T00:00:00.000+08:00\",\n scheduledPreloadJobId: defaultScheduledPreloadJob.scheduledPreloadJobId,\n interval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_scheduled_preload_job = alicloud.esa.ScheduledPreloadJob(\"default\",\n insert_way=\"textBox\",\n site_id=default_site.id,\n scheduled_preload_job_name=\"example_scheduledpreloadexecution_job\",\n url_list=\"http://example.gositecdn.cn/example/example.txt\")\ndefault_scheduled_preload_execution = alicloud.esa.ScheduledPreloadExecution(\"default\",\n slice_len=5,\n end_time=\"2024-06-04T10:02:09.000+08:00\",\n start_time=\"2024-06-04T00:00:00.000+08:00\",\n scheduled_preload_job_id=default_scheduled_preload_job.scheduled_preload_job_id,\n interval=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultScheduledPreloadJob = new AliCloud.Esa.ScheduledPreloadJob(\"default\", new()\n {\n InsertWay = \"textBox\",\n SiteId = defaultSite.Id,\n ScheduledPreloadJobName = \"example_scheduledpreloadexecution_job\",\n UrlList = \"http://example.gositecdn.cn/example/example.txt\",\n });\n\n var defaultScheduledPreloadExecution = new AliCloud.Esa.ScheduledPreloadExecution(\"default\", new()\n {\n SliceLen = 5,\n EndTime = \"2024-06-04T10:02:09.000+08:00\",\n StartTime = \"2024-06-04T00:00:00.000+08:00\",\n ScheduledPreloadJobId = defaultScheduledPreloadJob.ScheduledPreloadJobId,\n Interval = 30,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScheduledPreloadJob, err := esa.NewScheduledPreloadJob(ctx, \"default\", \u0026esa.ScheduledPreloadJobArgs{\n\t\t\tInsertWay: pulumi.String(\"textBox\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tScheduledPreloadJobName: pulumi.String(\"example_scheduledpreloadexecution_job\"),\n\t\t\tUrlList: pulumi.String(\"http://example.gositecdn.cn/example/example.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewScheduledPreloadExecution(ctx, \"default\", \u0026esa.ScheduledPreloadExecutionArgs{\n\t\t\tSliceLen: pulumi.Int(5),\n\t\t\tEndTime: pulumi.String(\"2024-06-04T10:02:09.000+08:00\"),\n\t\t\tStartTime: pulumi.String(\"2024-06-04T00:00:00.000+08:00\"),\n\t\t\tScheduledPreloadJobId: defaultScheduledPreloadJob.ScheduledPreloadJobId,\n\t\t\tInterval: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJob;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJobArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadExecution;\nimport com.pulumi.alicloud.esa.ScheduledPreloadExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultScheduledPreloadJob = new ScheduledPreloadJob(\"defaultScheduledPreloadJob\", ScheduledPreloadJobArgs.builder()\n .insertWay(\"textBox\")\n .siteId(defaultSite.id())\n .scheduledPreloadJobName(\"example_scheduledpreloadexecution_job\")\n .urlList(\"http://example.gositecdn.cn/example/example.txt\")\n .build());\n\n var defaultScheduledPreloadExecution = new ScheduledPreloadExecution(\"defaultScheduledPreloadExecution\", ScheduledPreloadExecutionArgs.builder()\n .sliceLen(5)\n .endTime(\"2024-06-04T10:02:09.000+08:00\")\n .startTime(\"2024-06-04T00:00:00.000+08:00\")\n .scheduledPreloadJobId(defaultScheduledPreloadJob.scheduledPreloadJobId())\n .interval(30)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultScheduledPreloadJob:\n type: alicloud:esa:ScheduledPreloadJob\n name: default\n properties:\n insertWay: textBox\n siteId: ${defaultSite.id}\n scheduledPreloadJobName: example_scheduledpreloadexecution_job\n urlList: http://example.gositecdn.cn/example/example.txt\n defaultScheduledPreloadExecution:\n type: alicloud:esa:ScheduledPreloadExecution\n name: default\n properties:\n sliceLen: '5'\n endTime: 2024-06-04T10:02:09.000+08:00\n startTime: 2024-06-04T00:00:00.000+08:00\n scheduledPreloadJobId: ${defaultScheduledPreloadJob.scheduledPreloadJobId}\n interval: '30'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Scheduled Preload Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/scheduledPreloadExecution:ScheduledPreloadExecution example \u003cscheduled_preload_job_id\u003e:\u003cscheduled_preload_execution_id\u003e\n```\n\n", "properties": { "endTime": { "type": "string", @@ -177210,7 +181023,7 @@ } }, "alicloud:esa/scheduledPreloadJob:ScheduledPreloadJob": { - "description": "Provides a ESA Scheduled Preload Job resource.\n\n\n\nFor information about ESA Scheduled Preload Job and how to use it, see [What is Scheduled Preload Job](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateScheduledPreloadJob).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultScheduledPreloadJob = new alicloud.esa.ScheduledPreloadJob(\"default\", {\n insertWay: \"textBox\",\n siteId: defaultSite.id,\n scheduledPreloadJobName: \"example_scheduledpreloadexecution_job\",\n urlList: \"http://example.gositecdn.cn/example/example.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_scheduled_preload_job = alicloud.esa.ScheduledPreloadJob(\"default\",\n insert_way=\"textBox\",\n site_id=default_site.id,\n scheduled_preload_job_name=\"example_scheduledpreloadexecution_job\",\n url_list=\"http://example.gositecdn.cn/example/example.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultScheduledPreloadJob = new AliCloud.Esa.ScheduledPreloadJob(\"default\", new()\n {\n InsertWay = \"textBox\",\n SiteId = defaultSite.Id,\n ScheduledPreloadJobName = \"example_scheduledpreloadexecution_job\",\n UrlList = \"http://example.gositecdn.cn/example/example.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewScheduledPreloadJob(ctx, \"default\", \u0026esa.ScheduledPreloadJobArgs{\n\t\t\tInsertWay: pulumi.String(\"textBox\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tScheduledPreloadJobName: pulumi.String(\"example_scheduledpreloadexecution_job\"),\n\t\t\tUrlList: pulumi.String(\"http://example.gositecdn.cn/example/example.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJob;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultScheduledPreloadJob = new ScheduledPreloadJob(\"defaultScheduledPreloadJob\", ScheduledPreloadJobArgs.builder()\n .insertWay(\"textBox\")\n .siteId(defaultSite.id())\n .scheduledPreloadJobName(\"example_scheduledpreloadexecution_job\")\n .urlList(\"http://example.gositecdn.cn/example/example.txt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultScheduledPreloadJob:\n type: alicloud:esa:ScheduledPreloadJob\n name: default\n properties:\n insertWay: textBox\n siteId: ${defaultSite.id}\n scheduledPreloadJobName: example_scheduledpreloadexecution_job\n urlList: http://example.gositecdn.cn/example/example.txt\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Scheduled Preload Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/scheduledPreloadJob:ScheduledPreloadJob example \u003csite_id\u003e:\u003cscheduled_preload_job_id\u003e\n```\n\n", + "description": "Provides a ESA Scheduled Preload Job resource.\n\n\n\nFor information about ESA Scheduled Preload Job and how to use it, see [What is Scheduled Preload Job](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateScheduledPreloadJob).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultScheduledPreloadJob = new alicloud.esa.ScheduledPreloadJob(\"default\", {\n insertWay: \"textBox\",\n siteId: defaultSite.id,\n scheduledPreloadJobName: \"example_scheduledpreloadexecution_job\",\n urlList: \"http://example.gositecdn.cn/example/example.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_scheduled_preload_job = alicloud.esa.ScheduledPreloadJob(\"default\",\n insert_way=\"textBox\",\n site_id=default_site.id,\n scheduled_preload_job_name=\"example_scheduledpreloadexecution_job\",\n url_list=\"http://example.gositecdn.cn/example/example.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultScheduledPreloadJob = new AliCloud.Esa.ScheduledPreloadJob(\"default\", new()\n {\n InsertWay = \"textBox\",\n SiteId = defaultSite.Id,\n ScheduledPreloadJobName = \"example_scheduledpreloadexecution_job\",\n UrlList = \"http://example.gositecdn.cn/example/example.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewScheduledPreloadJob(ctx, \"default\", \u0026esa.ScheduledPreloadJobArgs{\n\t\t\tInsertWay: pulumi.String(\"textBox\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tScheduledPreloadJobName: pulumi.String(\"example_scheduledpreloadexecution_job\"),\n\t\t\tUrlList: pulumi.String(\"http://example.gositecdn.cn/example/example.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJob;\nimport com.pulumi.alicloud.esa.ScheduledPreloadJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultScheduledPreloadJob = new ScheduledPreloadJob(\"defaultScheduledPreloadJob\", ScheduledPreloadJobArgs.builder()\n .insertWay(\"textBox\")\n .siteId(defaultSite.id())\n .scheduledPreloadJobName(\"example_scheduledpreloadexecution_job\")\n .urlList(\"http://example.gositecdn.cn/example/example.txt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultScheduledPreloadJob:\n type: alicloud:esa:ScheduledPreloadJob\n name: default\n properties:\n insertWay: textBox\n siteId: ${defaultSite.id}\n scheduledPreloadJobName: example_scheduledpreloadexecution_job\n urlList: http://example.gositecdn.cn/example/example.txt\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Scheduled Preload Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/scheduledPreloadJob:ScheduledPreloadJob example \u003csite_id\u003e:\u003cscheduled_preload_job_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -177317,7 +181130,7 @@ } }, "alicloud:esa/site:Site": { - "description": "Provides a ESA Site resource.\n\n\n\nFor information about ESA Site and how to use it, see [What is Site](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/site-management).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIEoDfU = new alicloud.esa.RatePlanInstance(\"defaultIEoDfU\", {\n type: \"NS\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"basic\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `bcd${defaultInteger.result}.com`,\n coverage: \"overseas\",\n accessType: \"NS\",\n instanceId: defaultIEoDfU.id,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_i_eo_df_u = alicloud.esa.RatePlanInstance(\"defaultIEoDfU\",\n type=\"NS\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"basic\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"bcd{default_integer['result']}.com\",\n coverage=\"overseas\",\n access_type=\"NS\",\n instance_id=default_i_eo_df_u.id,\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIEoDfU = new AliCloud.Esa.RatePlanInstance(\"defaultIEoDfU\", new()\n {\n Type = \"NS\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"basic\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"bcd{defaultInteger.Result}.com\",\n Coverage = \"overseas\",\n AccessType = \"NS\",\n InstanceId = defaultIEoDfU.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIEoDfU, err := esa.NewRatePlanInstance(ctx, \"defaultIEoDfU\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"bcd%v.com\", defaultInteger.Result),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tInstanceId: defaultIEoDfU.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIEoDfU = new RatePlanInstance(\"defaultIEoDfU\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"basic\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"bcd%s.com\", defaultInteger.result()))\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .instanceId(defaultIEoDfU.id())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIEoDfU:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: true\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: true\n planName: basic\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: bcd${defaultInteger.result}.com\n coverage: overseas\n accessType: NS\n instanceId: ${defaultIEoDfU.id}\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/site:Site example \u003cid\u003e\n```\n\n", + "description": "Provides a ESA Site resource.\n\n\n\nFor information about ESA Site and how to use it, see [What is Site](https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/user-guide/site-management).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIEoDfU = new alicloud.esa.RatePlanInstance(\"defaultIEoDfU\", {\n type: \"NS\",\n autoRenew: true,\n period: 1,\n paymentType: \"Subscription\",\n coverage: \"overseas\",\n autoPay: true,\n planName: \"basic\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: `bcd${defaultInteger.result}.com`,\n coverage: \"overseas\",\n accessType: \"NS\",\n instanceId: defaultIEoDfU.id,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_i_eo_df_u = alicloud.esa.RatePlanInstance(\"defaultIEoDfU\",\n type=\"NS\",\n auto_renew=True,\n period=1,\n payment_type=\"Subscription\",\n coverage=\"overseas\",\n auto_pay=True,\n plan_name=\"basic\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=f\"bcd{default_integer['result']}.com\",\n coverage=\"overseas\",\n access_type=\"NS\",\n instance_id=default_i_eo_df_u.id,\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIEoDfU = new AliCloud.Esa.RatePlanInstance(\"defaultIEoDfU\", new()\n {\n Type = \"NS\",\n AutoRenew = true,\n Period = 1,\n PaymentType = \"Subscription\",\n Coverage = \"overseas\",\n AutoPay = true,\n PlanName = \"basic\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = $\"bcd{defaultInteger.Result}.com\",\n Coverage = \"overseas\",\n AccessType = \"NS\",\n InstanceId = defaultIEoDfU.Id,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIEoDfU, err := esa.NewRatePlanInstance(ctx, \"defaultIEoDfU\", \u0026esa.RatePlanInstanceArgs{\n\t\t\tType: pulumi.String(\"NS\"),\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPlanName: pulumi.String(\"basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.Sprintf(\"bcd%v.com\", defaultInteger.Result),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tInstanceId: defaultIEoDfU.ID(),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.esa.RatePlanInstance;\nimport com.pulumi.alicloud.esa.RatePlanInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIEoDfU = new RatePlanInstance(\"defaultIEoDfU\", RatePlanInstanceArgs.builder()\n .type(\"NS\")\n .autoRenew(true)\n .period(1)\n .paymentType(\"Subscription\")\n .coverage(\"overseas\")\n .autoPay(true)\n .planName(\"basic\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(String.format(\"bcd%s.com\", defaultInteger.result()))\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .instanceId(defaultIEoDfU.id())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIEoDfU:\n type: alicloud:esa:RatePlanInstance\n properties:\n type: NS\n autoRenew: true\n period: '1'\n paymentType: Subscription\n coverage: overseas\n autoPay: true\n planName: basic\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: bcd${defaultInteger.result}.com\n coverage: overseas\n accessType: NS\n instanceId: ${defaultIEoDfU.id}\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Site can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/site:Site example \u003cid\u003e\n```\n\n", "properties": { "accessType": { "type": "string", @@ -177379,6 +181192,10 @@ "type": "string", "description": "The region in which Ipv6 is enabled. The default value is x.x:\n- 'x.x': Global.\n- 'Cn.cn ': Mainland China.\n" }, + "paused": { + "type": "boolean", + "description": "Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values:\n" + }, "resourceGroupId": { "type": "string", "description": "The ID of the resource group\n" @@ -177488,6 +181305,10 @@ "type": "string", "description": "The region in which Ipv6 is enabled. The default value is x.x:\n- 'x.x': Global.\n- 'Cn.cn ': Mainland China.\n" }, + "paused": { + "type": "boolean", + "description": "Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values:\n" + }, "resourceGroupId": { "type": "string", "description": "The ID of the resource group\n", @@ -177595,6 +181416,10 @@ "type": "string", "description": "The region in which Ipv6 is enabled. The default value is x.x:\n- 'x.x': Global.\n- 'Cn.cn ': Mainland China.\n" }, + "paused": { + "type": "boolean", + "description": "Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values:\n" + }, "resourceGroupId": { "type": "string", "description": "The ID of the resource group\n", @@ -177641,7 +181466,7 @@ } }, "alicloud:esa/siteDeliveryTask:SiteDeliveryTask": { - "description": "Provides a ESA Site Delivery Task resource.\n\n\n\nFor information about ESA Site Delivery Task and how to use it, see [What is Site Delivery Task](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateSiteDeliveryTask).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteHttpExample = new alicloud.esa.Site(\"resource_Site_http_example\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultSiteDeliveryTask = new alicloud.esa.SiteDeliveryTask(\"default\", {\n httpDelivery: {\n standardAuthParam: {\n privateKey: \"***\",\n urlPath: \"v1/log/upload\",\n expiredTime: 300,\n },\n transformTimeout: 10,\n maxRetry: 3,\n maxBatchMb: 5,\n compress: \"gzip\",\n logBodySuffix: \"cdnVersion:1.0\",\n standardAuthOn: false,\n logBodyPrefix: \"cdnVersion:1.0\",\n destUrl: \"http://11.177.129.13:8081\",\n maxBatchSize: 1000,\n },\n dataCenter: \"global\",\n discardRate: 0,\n taskName: \"dcdn-example-task\",\n businessType: \"dcdn_log_access_l1\",\n fieldName: \"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n deliveryType: \"http\",\n siteId: resourceSiteHttpExample.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_http_example = alicloud.esa.Site(\"resource_Site_http_example\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_site_delivery_task = alicloud.esa.SiteDeliveryTask(\"default\",\n http_delivery={\n \"standard_auth_param\": {\n \"private_key\": \"***\",\n \"url_path\": \"v1/log/upload\",\n \"expired_time\": 300,\n },\n \"transform_timeout\": 10,\n \"max_retry\": 3,\n \"max_batch_mb\": 5,\n \"compress\": \"gzip\",\n \"log_body_suffix\": \"cdnVersion:1.0\",\n \"standard_auth_on\": False,\n \"log_body_prefix\": \"cdnVersion:1.0\",\n \"dest_url\": \"http://11.177.129.13:8081\",\n \"max_batch_size\": 1000,\n },\n data_center=\"global\",\n discard_rate=0,\n task_name=\"dcdn-example-task\",\n business_type=\"dcdn_log_access_l1\",\n field_name=\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n delivery_type=\"http\",\n site_id=resource_site_http_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteHttpExample = new AliCloud.Esa.Site(\"resource_Site_http_example\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultSiteDeliveryTask = new AliCloud.Esa.SiteDeliveryTask(\"default\", new()\n {\n HttpDelivery = new AliCloud.Esa.Inputs.SiteDeliveryTaskHttpDeliveryArgs\n {\n StandardAuthParam = new AliCloud.Esa.Inputs.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs\n {\n PrivateKey = \"***\",\n UrlPath = \"v1/log/upload\",\n ExpiredTime = 300,\n },\n TransformTimeout = 10,\n MaxRetry = 3,\n MaxBatchMb = 5,\n Compress = \"gzip\",\n LogBodySuffix = \"cdnVersion:1.0\",\n StandardAuthOn = false,\n LogBodyPrefix = \"cdnVersion:1.0\",\n DestUrl = \"http://11.177.129.13:8081\",\n MaxBatchSize = 1000,\n },\n DataCenter = \"global\",\n DiscardRate = 0,\n TaskName = \"dcdn-example-task\",\n BusinessType = \"dcdn_log_access_l1\",\n FieldName = \"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n DeliveryType = \"http\",\n SiteId = resourceSiteHttpExample.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpExample, err := esa.NewSite(ctx, \"resource_Site_http_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSiteDeliveryTask(ctx, \"default\", \u0026esa.SiteDeliveryTaskArgs{\n\t\t\tHttpDelivery: \u0026esa.SiteDeliveryTaskHttpDeliveryArgs{\n\t\t\t\tStandardAuthParam: \u0026esa.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs{\n\t\t\t\t\tPrivateKey: pulumi.String(\"***\"),\n\t\t\t\t\tUrlPath: pulumi.String(\"v1/log/upload\"),\n\t\t\t\t\tExpiredTime: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tTransformTimeout: pulumi.Int(10),\n\t\t\t\tMaxRetry: pulumi.Int(3),\n\t\t\t\tMaxBatchMb: pulumi.Int(5),\n\t\t\t\tCompress: pulumi.String(\"gzip\"),\n\t\t\t\tLogBodySuffix: pulumi.String(\"cdnVersion:1.0\"),\n\t\t\t\tStandardAuthOn: pulumi.Bool(false),\n\t\t\t\tLogBodyPrefix: pulumi.String(\"cdnVersion:1.0\"),\n\t\t\t\tDestUrl: pulumi.String(\"http://11.177.129.13:8081\"),\n\t\t\t\tMaxBatchSize: pulumi.Int(1000),\n\t\t\t},\n\t\t\tDataCenter: pulumi.String(\"global\"),\n\t\t\tDiscardRate: pulumi.Float64(0),\n\t\t\tTaskName: pulumi.String(\"dcdn-example-task\"),\n\t\t\tBusinessType: pulumi.String(\"dcdn_log_access_l1\"),\n\t\t\tFieldName: pulumi.String(\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\"),\n\t\t\tDeliveryType: pulumi.String(\"http\"),\n\t\t\tSiteId: resourceSiteHttpExample.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.SiteDeliveryTask;\nimport com.pulumi.alicloud.esa.SiteDeliveryTaskArgs;\nimport com.pulumi.alicloud.esa.inputs.SiteDeliveryTaskHttpDeliveryArgs;\nimport com.pulumi.alicloud.esa.inputs.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteHttpExample = new Site(\"resourceSiteHttpExample\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultSiteDeliveryTask = new SiteDeliveryTask(\"defaultSiteDeliveryTask\", SiteDeliveryTaskArgs.builder()\n .httpDelivery(SiteDeliveryTaskHttpDeliveryArgs.builder()\n .standardAuthParam(SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs.builder()\n .privateKey(\"***\")\n .urlPath(\"v1/log/upload\")\n .expiredTime(300)\n .build())\n .transformTimeout(10)\n .maxRetry(3)\n .maxBatchMb(5)\n .compress(\"gzip\")\n .logBodySuffix(\"cdnVersion:1.0\")\n .standardAuthOn(false)\n .logBodyPrefix(\"cdnVersion:1.0\")\n .destUrl(\"http://11.177.129.13:8081\")\n .maxBatchSize(1000)\n .build())\n .dataCenter(\"global\")\n .discardRate(0.0)\n .taskName(\"dcdn-example-task\")\n .businessType(\"dcdn_log_access_l1\")\n .fieldName(\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\")\n .deliveryType(\"http\")\n .siteId(resourceSiteHttpExample.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceSiteHttpExample:\n type: alicloud:esa:Site\n name: resource_Site_http_example\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultSiteDeliveryTask:\n type: alicloud:esa:SiteDeliveryTask\n name: default\n properties:\n httpDelivery:\n standardAuthParam:\n privateKey: '***'\n urlPath: v1/log/upload\n expiredTime: '300'\n transformTimeout: '10'\n maxRetry: '3'\n maxBatchMb: '5'\n compress: gzip\n logBodySuffix: cdnVersion:1.0\n standardAuthOn: 'false'\n logBodyPrefix: cdnVersion:1.0\n destUrl: http://11.177.129.13:8081\n maxBatchSize: '1000'\n dataCenter: global\n discardRate: '0.0'\n taskName: dcdn-example-task\n businessType: dcdn_log_access_l1\n fieldName: ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\n deliveryType: http\n siteId: ${resourceSiteHttpExample.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Site Delivery Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/siteDeliveryTask:SiteDeliveryTask example \u003csite_id\u003e:\u003ctask_name\u003e\n```\n\n", + "description": "Provides a ESA Site Delivery Task resource.\n\n\n\nFor information about ESA Site Delivery Task and how to use it, see [What is Site Delivery Task](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateSiteDeliveryTask).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteHttpExample = new alicloud.esa.Site(\"resource_Site_http_example\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultSiteDeliveryTask = new alicloud.esa.SiteDeliveryTask(\"default\", {\n httpDelivery: {\n standardAuthParam: {\n privateKey: \"***\",\n urlPath: \"v1/log/upload\",\n expiredTime: 300,\n },\n transformTimeout: 10,\n maxRetry: 3,\n maxBatchMb: 5,\n compress: \"gzip\",\n logBodySuffix: \"cdnVersion:1.0\",\n standardAuthOn: false,\n logBodyPrefix: \"cdnVersion:1.0\",\n destUrl: \"http://11.177.129.13:8081\",\n maxBatchSize: 1000,\n },\n dataCenter: \"global\",\n discardRate: 0,\n taskName: \"dcdn-example-task\",\n businessType: \"dcdn_log_access_l1\",\n fieldName: \"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n deliveryType: \"http\",\n siteId: resourceSiteHttpExample.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_http_example = alicloud.esa.Site(\"resource_Site_http_example\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_site_delivery_task = alicloud.esa.SiteDeliveryTask(\"default\",\n http_delivery={\n \"standard_auth_param\": {\n \"private_key\": \"***\",\n \"url_path\": \"v1/log/upload\",\n \"expired_time\": 300,\n },\n \"transform_timeout\": 10,\n \"max_retry\": 3,\n \"max_batch_mb\": 5,\n \"compress\": \"gzip\",\n \"log_body_suffix\": \"cdnVersion:1.0\",\n \"standard_auth_on\": False,\n \"log_body_prefix\": \"cdnVersion:1.0\",\n \"dest_url\": \"http://11.177.129.13:8081\",\n \"max_batch_size\": 1000,\n },\n data_center=\"global\",\n discard_rate=0,\n task_name=\"dcdn-example-task\",\n business_type=\"dcdn_log_access_l1\",\n field_name=\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n delivery_type=\"http\",\n site_id=resource_site_http_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteHttpExample = new AliCloud.Esa.Site(\"resource_Site_http_example\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultSiteDeliveryTask = new AliCloud.Esa.SiteDeliveryTask(\"default\", new()\n {\n HttpDelivery = new AliCloud.Esa.Inputs.SiteDeliveryTaskHttpDeliveryArgs\n {\n StandardAuthParam = new AliCloud.Esa.Inputs.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs\n {\n PrivateKey = \"***\",\n UrlPath = \"v1/log/upload\",\n ExpiredTime = 300,\n },\n TransformTimeout = 10,\n MaxRetry = 3,\n MaxBatchMb = 5,\n Compress = \"gzip\",\n LogBodySuffix = \"cdnVersion:1.0\",\n StandardAuthOn = false,\n LogBodyPrefix = \"cdnVersion:1.0\",\n DestUrl = \"http://11.177.129.13:8081\",\n MaxBatchSize = 1000,\n },\n DataCenter = \"global\",\n DiscardRate = 0,\n TaskName = \"dcdn-example-task\",\n BusinessType = \"dcdn_log_access_l1\",\n FieldName = \"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\",\n DeliveryType = \"http\",\n SiteId = resourceSiteHttpExample.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteHttpExample, err := esa.NewSite(ctx, \"resource_Site_http_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSiteDeliveryTask(ctx, \"default\", \u0026esa.SiteDeliveryTaskArgs{\n\t\t\tHttpDelivery: \u0026esa.SiteDeliveryTaskHttpDeliveryArgs{\n\t\t\t\tStandardAuthParam: \u0026esa.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs{\n\t\t\t\t\tPrivateKey: pulumi.String(\"***\"),\n\t\t\t\t\tUrlPath: pulumi.String(\"v1/log/upload\"),\n\t\t\t\t\tExpiredTime: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t\tTransformTimeout: pulumi.Int(10),\n\t\t\t\tMaxRetry: pulumi.Int(3),\n\t\t\t\tMaxBatchMb: pulumi.Int(5),\n\t\t\t\tCompress: pulumi.String(\"gzip\"),\n\t\t\t\tLogBodySuffix: pulumi.String(\"cdnVersion:1.0\"),\n\t\t\t\tStandardAuthOn: pulumi.Bool(false),\n\t\t\t\tLogBodyPrefix: pulumi.String(\"cdnVersion:1.0\"),\n\t\t\t\tDestUrl: pulumi.String(\"http://11.177.129.13:8081\"),\n\t\t\t\tMaxBatchSize: pulumi.Int(1000),\n\t\t\t},\n\t\t\tDataCenter: pulumi.String(\"global\"),\n\t\t\tDiscardRate: pulumi.Float64(0),\n\t\t\tTaskName: pulumi.String(\"dcdn-example-task\"),\n\t\t\tBusinessType: pulumi.String(\"dcdn_log_access_l1\"),\n\t\t\tFieldName: pulumi.String(\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\"),\n\t\t\tDeliveryType: pulumi.String(\"http\"),\n\t\t\tSiteId: resourceSiteHttpExample.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.SiteDeliveryTask;\nimport com.pulumi.alicloud.esa.SiteDeliveryTaskArgs;\nimport com.pulumi.alicloud.esa.inputs.SiteDeliveryTaskHttpDeliveryArgs;\nimport com.pulumi.alicloud.esa.inputs.SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteHttpExample = new Site(\"resourceSiteHttpExample\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultSiteDeliveryTask = new SiteDeliveryTask(\"defaultSiteDeliveryTask\", SiteDeliveryTaskArgs.builder()\n .httpDelivery(SiteDeliveryTaskHttpDeliveryArgs.builder()\n .standardAuthParam(SiteDeliveryTaskHttpDeliveryStandardAuthParamArgs.builder()\n .privateKey(\"***\")\n .urlPath(\"v1/log/upload\")\n .expiredTime(300)\n .build())\n .transformTimeout(10)\n .maxRetry(3)\n .maxBatchMb(5)\n .compress(\"gzip\")\n .logBodySuffix(\"cdnVersion:1.0\")\n .standardAuthOn(false)\n .logBodyPrefix(\"cdnVersion:1.0\")\n .destUrl(\"http://11.177.129.13:8081\")\n .maxBatchSize(1000)\n .build())\n .dataCenter(\"global\")\n .discardRate(0.0)\n .taskName(\"dcdn-example-task\")\n .businessType(\"dcdn_log_access_l1\")\n .fieldName(\"ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\")\n .deliveryType(\"http\")\n .siteId(resourceSiteHttpExample.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n resourceSiteHttpExample:\n type: alicloud:esa:Site\n name: resource_Site_http_example\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultSiteDeliveryTask:\n type: alicloud:esa:SiteDeliveryTask\n name: default\n properties:\n httpDelivery:\n standardAuthParam:\n privateKey: '***'\n urlPath: v1/log/upload\n expiredTime: '300'\n transformTimeout: '10'\n maxRetry: '3'\n maxBatchMb: '5'\n compress: gzip\n logBodySuffix: cdnVersion:1.0\n standardAuthOn: 'false'\n logBodyPrefix: cdnVersion:1.0\n destUrl: http://11.177.129.13:8081\n maxBatchSize: '1000'\n dataCenter: global\n discardRate: '0.0'\n taskName: dcdn-example-task\n businessType: dcdn_log_access_l1\n fieldName: ConsoleLog,CPUTime,Duration,ErrorCode,ErrorMessage,ResponseSize,ResponseStatus,RoutineName,ClientRequestID,LogTimestamp,FetchStatus,SubRequestID\n deliveryType: http\n siteId: ${resourceSiteHttpExample.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Site Delivery Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/siteDeliveryTask:SiteDeliveryTask example \u003csite_id\u003e:\u003ctask_name\u003e\n```\n\n", "properties": { "businessType": { "type": "string", @@ -177835,7 +181660,7 @@ } }, "alicloud:esa/siteOriginClientCertificate:SiteOriginClientCertificate": { - "description": "Provides a ESA Site Origin Client Certificate resource.\n\n\n\nFor information about ESA Site Origin Client Certificate and how to use it, see [What is Site Origin Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadSiteOriginClientCertificate).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultSiteOriginClientCertificate = new alicloud.esa.SiteOriginClientCertificate(\"default\", {\n siteOriginClientCertificateName: \"exampleCertificate\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`,\n siteId: defaultSite.id,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_site_origin_client_certificate = alicloud.esa.SiteOriginClientCertificate(\"default\",\n site_origin_client_certificate_name=\"exampleCertificate\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\"\"\",\n site_id=default_site.id,\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultSiteOriginClientCertificate = new AliCloud.Esa.SiteOriginClientCertificate(\"default\", new()\n {\n SiteOriginClientCertificateName = \"exampleCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\",\n SiteId = defaultSite.Id,\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSiteOriginClientCertificate(ctx, \"default\", \u0026esa.SiteOriginClientCertificateArgs{\n\t\t\tSiteOriginClientCertificateName: pulumi.String(\"exampleCertificate\"),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.SiteOriginClientCertificate;\nimport com.pulumi.alicloud.esa.SiteOriginClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultSiteOriginClientCertificate = new SiteOriginClientCertificate(\"defaultSiteOriginClientCertificate\", SiteOriginClientCertificateArgs.builder()\n .siteOriginClientCertificateName(\"exampleCertificate\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n \"\"\")\n .siteId(defaultSite.id())\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultSiteOriginClientCertificate:\n type: alicloud:esa:SiteOriginClientCertificate\n name: default\n properties:\n siteOriginClientCertificateName: exampleCertificate\n certificate: |\n -----BEGIN CERTIFICATE-----\n MIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\n bjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\n YWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\n ODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\n CAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\n EDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\n BQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n 859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\n iur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\n AAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n +Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\n y6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\n pCPDN7g=\n -----END CERTIFICATE-----\n siteId: ${defaultSite.id}\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\n UsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n 9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\n AoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\n Xxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\n JDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n 6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\n VKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\n JDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\n ySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\n QC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\n pFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\n tYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n -----END RSA PRIVATE KEY-----\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Site Origin Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/siteOriginClientCertificate:SiteOriginClientCertificate example \u003csite_id\u003e:\u003csite_origin_client_certificate_id\u003e\n```\n\n", + "description": "Provides a ESA Site Origin Client Certificate resource.\n\n\n\nFor information about ESA Site Origin Client Certificate and how to use it, see [What is Site Origin Client Certificate](https://next.api.alibabacloud.com/document/ESA/2024-09-10/UploadSiteOriginClientCertificate).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultSiteOriginClientCertificate = new alicloud.esa.SiteOriginClientCertificate(\"default\", {\n siteOriginClientCertificateName: \"exampleCertificate\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`,\n siteId: defaultSite.id,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_site_origin_client_certificate = alicloud.esa.SiteOriginClientCertificate(\"default\",\n site_origin_client_certificate_name=\"exampleCertificate\",\n certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\"\"\",\n site_id=default_site.id,\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultSiteOriginClientCertificate = new AliCloud.Esa.SiteOriginClientCertificate(\"default\", new()\n {\n SiteOriginClientCertificateName = \"exampleCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n\",\n SiteId = defaultSite.Id,\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewSiteOriginClientCertificate(ctx, \"default\", \u0026esa.SiteOriginClientCertificateArgs{\n\t\t\tSiteOriginClientCertificateName: pulumi.String(\"exampleCertificate\"),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n`),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.SiteOriginClientCertificate;\nimport com.pulumi.alicloud.esa.SiteOriginClientCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultSiteOriginClientCertificate = new SiteOriginClientCertificate(\"defaultSiteOriginClientCertificate\", SiteOriginClientCertificateArgs.builder()\n .siteOriginClientCertificateName(\"exampleCertificate\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\nbjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\nYWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\nODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\nCAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\nEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\nBQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\niur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\nAAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n+Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\ny6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\npCPDN7g=\n-----END CERTIFICATE-----\n \"\"\")\n .siteId(defaultSite.id())\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\nUsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\nAoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\nXxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\nJDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\nVKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\nJDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\nySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\nQC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\npFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\ntYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultSiteOriginClientCertificate:\n type: alicloud:esa:SiteOriginClientCertificate\n name: default\n properties:\n siteOriginClientCertificateName: exampleCertificate\n certificate: |\n -----BEGIN CERTIFICATE-----\n MIICQTCCAaoCCQCFfdyqahygLzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJj\n bjEQMA4GA1UECAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwI\n YWxpY2xvdWQxEDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwHhcNMjAw\n ODA2MTAwMDAyWhcNMzAwODA0MTAwMDAyWjBlMQswCQYDVQQGEwJjbjEQMA4GA1UE\n CAwHYmVpamluZzEQMA4GA1UEBwwHYmVpamluZzERMA8GA1UECgwIYWxpY2xvdWQx\n EDAOBgNVBAsMB2FsaWJhYmExDTALBgNVBAMMBHRlc3QwgZ8wDQYJKoZIhvcNAQEB\n BQADgY0AMIGJAoGBAL7t2CmRCJ8irM5Too2QVGNm0xk6g3v+KE1/8Gthw+EtBKRw\n 859SxM/+q8fS73rkadgWICgre5YZCj1oIG6hrBEUo0Fr1mklXJVtqYFZMFD8XGx+\n iur2Mk1Hs5YDd/G8PGDDISS/SqyeHXNo6SPJSXEVjAOIXFnX9EcCP9IAEK5tAgMB\n AAEwDQYJKoZIhvcNAQEFBQADgYEAavYdM9s5jLFP9/ZPCrsRuRsjSJpe5y9VZL+1\n +Ebbw16V0xMYaqODyFH1meLRW/A4xUs15Ny2vLYOW15Mriif7Sixty3HUedBFa4l\n y6/gQ+mBEeZYzMaTTFgyzEZDMsfZxwV9GKfhOzAmK3jZ2LDpHIhnlJN4WwVf0lME\n pCPDN7g=\n -----END CERTIFICATE-----\n siteId: ${defaultSite.id}\n privateKey: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQC+7dgpkQifIqzOU6KNkFRjZtMZOoN7/ihNf/BrYcPhLQSkcPOf\n UsTP/qvH0u965GnYFiAoK3uWGQo9aCBuoawRFKNBa9ZpJVyVbamBWTBQ/Fxsforq\n 9jJNR7OWA3fxvDxgwyEkv0qsnh1zaOkjyUlxFYwDiFxZ1/RHAj/SABCubQIDAQAB\n AoGADiobBUprN1MdOtldj98LQ6yXMKH0qzg5yTYaofzIyWXLmF+A02sSitO77sEp\n Xxae+5b4n8JKEuKcrd2RumNoHmN47iLQ0M2eodjUQ96kzm5Esq6nln62/NF5KLuK\n JDw63nTsg6K0O+gQZv4SYjZAL3cswSmeQmvmcoNgArfcaoECQQDgYy6S91ZIUsLx\n 6BB3tW+x7APYnvKysYbcKUEP8AutZSo4hdMfPQkOD0LwP5dWsrNippDWjNDiPZmt\n VKuZDoDdAkEA2dPxy1eQeJsRYTZmTWIuh3UY9xlL3G9skcSOM4LbFidroHWW9UDJ\n JDSSEMH2+/4quYTdPr28cj7RCjqL0brC0QJABXDCL1QJ5oUDLwRWaeCfTawQR89K\n ySRexbXGWxGR5uleBbLQ9J/xOUMLd3HDRJnemZS6TElrwyCFOlukMXjVjQJBALr5\n QC0opmu/vzVQepOl2QaQrrM7VXCLfAfLTbxNcD0d7TY4eTFfQMgBD/euZpB65LWF\n pFs8hcsSvGApTObjhmECQEydB1zzjU6kH171XlXCtRFnbORu2IB7rMsDP2CBPHyR\n tYBjBNVHIUGcmrMVFX4LeMuvvmUyzwfgLmLchHxbDP8=\n -----END RSA PRIVATE KEY-----\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Site Origin Client Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/siteOriginClientCertificate:SiteOriginClientCertificate example \u003csite_id\u003e:\u003csite_origin_client_certificate_id\u003e\n```\n\n", "properties": { "certificate": { "type": "string", @@ -177974,7 +181799,7 @@ "description": "The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e below.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n" }, "status": { @@ -178015,7 +181840,7 @@ "description": "The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e below.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n", "willReplaceOnChanges": true } @@ -178057,7 +181882,7 @@ "description": "The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e below.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "Site ID.\n", "willReplaceOnChanges": true }, @@ -178070,7 +181895,7 @@ } }, "alicloud:esa/urlObservation:UrlObservation": { - "description": "Provides a ESA Url Observation resource.\n\nWeb page monitoring.\n\nFor information about ESA Url Observation and how to use it, see [What is Url Observation](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateUrlObservation).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultUrlObservation = new alicloud.esa.UrlObservation(\"default\", {\n sdkType: \"automatic\",\n siteId: defaultSite.id,\n url: \"terraform.cn/a.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_url_observation = alicloud.esa.UrlObservation(\"default\",\n sdk_type=\"automatic\",\n site_id=default_site.id,\n url=\"terraform.cn/a.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultUrlObservation = new AliCloud.Esa.UrlObservation(\"default\", new()\n {\n SdkType = \"automatic\",\n SiteId = defaultSite.Id,\n Url = \"terraform.cn/a.html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewUrlObservation(ctx, \"default\", \u0026esa.UrlObservationArgs{\n\t\t\tSdkType: pulumi.String(\"automatic\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tUrl: pulumi.String(\"terraform.cn/a.html\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.UrlObservation;\nimport com.pulumi.alicloud.esa.UrlObservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultUrlObservation = new UrlObservation(\"defaultUrlObservation\", UrlObservationArgs.builder()\n .sdkType(\"automatic\")\n .siteId(defaultSite.id())\n .url(\"terraform.cn/a.html\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultUrlObservation:\n type: alicloud:esa:UrlObservation\n name: default\n properties:\n sdkType: automatic\n siteId: ${defaultSite.id}\n url: terraform.cn/a.html\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Url Observation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/urlObservation:UrlObservation example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Url Observation resource.\n\nWeb page monitoring.\n\nFor information about ESA Url Observation and how to use it, see [What is Url Observation](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateUrlObservation).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.cn\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultUrlObservation = new alicloud.esa.UrlObservation(\"default\", {\n sdkType: \"automatic\",\n siteId: defaultSite.id,\n url: \"terraform.cn/a.html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.cn\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_url_observation = alicloud.esa.UrlObservation(\"default\",\n sdk_type=\"automatic\",\n site_id=default_site.id,\n url=\"terraform.cn/a.html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.cn\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultUrlObservation = new AliCloud.Esa.UrlObservation(\"default\", new()\n {\n SdkType = \"automatic\",\n SiteId = defaultSite.Id,\n Url = \"terraform.cn/a.html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.cn\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewUrlObservation(ctx, \"default\", \u0026esa.UrlObservationArgs{\n\t\t\tSdkType: pulumi.String(\"automatic\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tUrl: pulumi.String(\"terraform.cn/a.html\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.UrlObservation;\nimport com.pulumi.alicloud.esa.UrlObservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.cn\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultUrlObservation = new UrlObservation(\"defaultUrlObservation\", UrlObservationArgs.builder()\n .sdkType(\"automatic\")\n .siteId(defaultSite.id())\n .url(\"terraform.cn/a.html\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.cn\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultUrlObservation:\n type: alicloud:esa:UrlObservation\n name: default\n properties:\n sdkType: automatic\n siteId: ${defaultSite.id}\n url: terraform.cn/a.html\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Url Observation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/urlObservation:UrlObservation example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -178142,7 +181967,7 @@ } }, "alicloud:esa/version:Version": { - "description": "Provides a ESA Site Version resource.\n\n\n\nFor information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"bcd72239.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: name,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n versionManagement: true,\n});\nconst defaultVersion = new alicloud.esa.Version(\"default\", {\n siteId: defaultSite.id,\n description: \"example\",\n originVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"bcd72239.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=name,\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\",\n version_management=True)\ndefault_version = alicloud.esa.Version(\"default\",\n site_id=default_site.id,\n description=\"example\",\n origin_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"bcd72239.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = name,\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n VersionManagement = true,\n });\n\n var defaultVersion = new AliCloud.Esa.Version(\"default\", new()\n {\n SiteId = defaultSite.Id,\n Description = \"example\",\n OriginVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"bcd72239.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tVersionManagement: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewVersion(ctx, \"default\", \u0026esa.VersionArgs{\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOriginVersion: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Version;\nimport com.pulumi.alicloud.esa.VersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"bcd72239.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(name)\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .versionManagement(true)\n .build());\n\n var defaultVersion = new Version(\"defaultVersion\", VersionArgs.builder()\n .siteId(defaultSite.id())\n .description(\"example\")\n .originVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: bcd72239.com\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: ${name}\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n versionManagement: true\n defaultVersion:\n type: alicloud:esa:Version\n name: default\n properties:\n siteId: ${defaultSite.id}\n description: example\n originVersion: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Site Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/version:Version example \u003csite_id\u003e:\u003csite_version\u003e\n```\n\n", + "description": "Provides a ESA Version resource.\n\n\n\nFor information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"bcd72239.com\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: name,\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n versionManagement: true,\n});\nconst defaultVersion = new alicloud.esa.Version(\"default\", {\n siteId: defaultSite.id,\n description: \"example\",\n originVersion: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"bcd72239.com\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=name,\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\",\n version_management=True)\ndefault_version = alicloud.esa.Version(\"default\",\n site_id=default_site.id,\n description=\"example\",\n origin_version=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"bcd72239.com\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = name,\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n VersionManagement = true,\n });\n\n var defaultVersion = new AliCloud.Esa.Version(\"default\", new()\n {\n SiteId = defaultSite.Id,\n Description = \"example\",\n OriginVersion = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"bcd72239.com\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(name),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t\tVersionManagement: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewVersion(ctx, \"default\", \u0026esa.VersionArgs{\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOriginVersion: 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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.Version;\nimport com.pulumi.alicloud.esa.VersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"bcd72239.com\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(name)\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .versionManagement(true)\n .build());\n\n var defaultVersion = new Version(\"defaultVersion\", VersionArgs.builder()\n .siteId(defaultSite.id())\n .description(\"example\")\n .originVersion(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: bcd72239.com\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: ${name}\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n versionManagement: true\n defaultVersion:\n type: alicloud:esa:Version\n name: default\n properties:\n siteId: ${defaultSite.id}\n description: example\n originVersion: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Site Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/version:Version example \u003csite_id\u003e:\u003csite_version\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -178157,12 +181982,12 @@ "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n" }, "siteVersion": { "type": "integer", - "description": "The version number of the site configuration.\n" + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n" }, "status": { "type": "string", @@ -178187,7 +182012,7 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true } @@ -178213,13 +182038,13 @@ "willReplaceOnChanges": true }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, "siteVersion": { "type": "integer", - "description": "The version number of the site configuration.\n" + "description": "The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0.\n" }, "status": { "type": "string", @@ -178230,7 +182055,7 @@ } }, "alicloud:esa/videoProcessing:VideoProcessing": { - "description": "Provides a ESA Video Processing resource.\n\n\n\nFor information about ESA Video Processing and how to use it, see [What is Video Processing](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateVideoProcessing).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultVideoProcessing = new alicloud.esa.VideoProcessing(\"default\", {\n videoSeekEnable: \"on\",\n ruleEnable: \"on\",\n mp4SeekEnd: \"end\",\n flvSeekStart: \"start\",\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n flvVideoSeekMode: \"by_byte\",\n mp4SeekStart: \"start\",\n flvSeekEnd: \"end\",\n siteId: defaultSite.id,\n sequence: 1,\n siteVersion: 0,\n ruleName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_video_processing = alicloud.esa.VideoProcessing(\"default\",\n video_seek_enable=\"on\",\n rule_enable=\"on\",\n mp4_seek_end=\"end\",\n flv_seek_start=\"start\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n flv_video_seek_mode=\"by_byte\",\n mp4_seek_start=\"start\",\n flv_seek_end=\"end\",\n site_id=default_site.id,\n sequence=1,\n site_version=0,\n rule_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultVideoProcessing = new AliCloud.Esa.VideoProcessing(\"default\", new()\n {\n VideoSeekEnable = \"on\",\n RuleEnable = \"on\",\n Mp4SeekEnd = \"end\",\n FlvSeekStart = \"start\",\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n FlvVideoSeekMode = \"by_byte\",\n Mp4SeekStart = \"start\",\n FlvSeekEnd = \"end\",\n SiteId = defaultSite.Id,\n Sequence = 1,\n SiteVersion = 0,\n RuleName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewVideoProcessing(ctx, \"default\", \u0026esa.VideoProcessingArgs{\n\t\t\tVideoSeekEnable: pulumi.String(\"on\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tMp4SeekEnd: pulumi.String(\"end\"),\n\t\t\tFlvSeekStart: pulumi.String(\"start\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tFlvVideoSeekMode: pulumi.String(\"by_byte\"),\n\t\t\tMp4SeekStart: pulumi.String(\"start\"),\n\t\t\tFlvSeekEnd: pulumi.String(\"end\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.VideoProcessing;\nimport com.pulumi.alicloud.esa.VideoProcessingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultVideoProcessing = new VideoProcessing(\"defaultVideoProcessing\", VideoProcessingArgs.builder()\n .videoSeekEnable(\"on\")\n .ruleEnable(\"on\")\n .mp4SeekEnd(\"end\")\n .flvSeekStart(\"start\")\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .flvVideoSeekMode(\"by_byte\")\n .mp4SeekStart(\"start\")\n .flvSeekEnd(\"end\")\n .siteId(defaultSite.id())\n .sequence(1)\n .siteVersion(0)\n .ruleName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultVideoProcessing:\n type: alicloud:esa:VideoProcessing\n name: default\n properties:\n videoSeekEnable: on\n ruleEnable: on\n mp4SeekEnd: end\n flvSeekStart: start\n rule: (http.host eq \"video.example.com\")\n flvVideoSeekMode: by_byte\n mp4SeekStart: start\n flvSeekEnd: end\n siteId: ${defaultSite.id}\n sequence: '1'\n siteVersion: '0'\n ruleName: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Video Processing can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/videoProcessing:VideoProcessing example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a ESA Video Processing resource.\n\n\n\nFor information about ESA Video Processing and how to use it, see [What is Video Processing](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateVideoProcessing).\n\n\u003e **NOTE:** Available since v1.251.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultVideoProcessing = new alicloud.esa.VideoProcessing(\"default\", {\n videoSeekEnable: \"on\",\n ruleEnable: \"on\",\n mp4SeekEnd: \"end\",\n flvSeekStart: \"start\",\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n flvVideoSeekMode: \"by_byte\",\n mp4SeekStart: \"start\",\n flvSeekEnd: \"end\",\n siteId: defaultSite.id,\n sequence: 1,\n siteVersion: 0,\n ruleName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_video_processing = alicloud.esa.VideoProcessing(\"default\",\n video_seek_enable=\"on\",\n rule_enable=\"on\",\n mp4_seek_end=\"end\",\n flv_seek_start=\"start\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n flv_video_seek_mode=\"by_byte\",\n mp4_seek_start=\"start\",\n flv_seek_end=\"end\",\n site_id=default_site.id,\n sequence=1,\n site_version=0,\n rule_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultVideoProcessing = new AliCloud.Esa.VideoProcessing(\"default\", new()\n {\n VideoSeekEnable = \"on\",\n RuleEnable = \"on\",\n Mp4SeekEnd = \"end\",\n FlvSeekStart = \"start\",\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n FlvVideoSeekMode = \"by_byte\",\n Mp4SeekStart = \"start\",\n FlvSeekEnd = \"end\",\n SiteId = defaultSite.Id,\n Sequence = 1,\n SiteVersion = 0,\n RuleName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewVideoProcessing(ctx, \"default\", \u0026esa.VideoProcessingArgs{\n\t\t\tVideoSeekEnable: pulumi.String(\"on\"),\n\t\t\tRuleEnable: pulumi.String(\"on\"),\n\t\t\tMp4SeekEnd: pulumi.String(\"end\"),\n\t\t\tFlvSeekStart: pulumi.String(\"start\"),\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tFlvVideoSeekMode: pulumi.String(\"by_byte\"),\n\t\t\tMp4SeekStart: pulumi.String(\"start\"),\n\t\t\tFlvSeekEnd: pulumi.String(\"end\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tSequence: pulumi.Int(1),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tRuleName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.VideoProcessing;\nimport com.pulumi.alicloud.esa.VideoProcessingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultVideoProcessing = new VideoProcessing(\"defaultVideoProcessing\", VideoProcessingArgs.builder()\n .videoSeekEnable(\"on\")\n .ruleEnable(\"on\")\n .mp4SeekEnd(\"end\")\n .flvSeekStart(\"start\")\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .flvVideoSeekMode(\"by_byte\")\n .mp4SeekStart(\"start\")\n .flvSeekEnd(\"end\")\n .siteId(defaultSite.id())\n .sequence(1)\n .siteVersion(0)\n .ruleName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultVideoProcessing:\n type: alicloud:esa:VideoProcessing\n name: default\n properties:\n videoSeekEnable: on\n ruleEnable: on\n mp4SeekEnd: end\n flvSeekStart: start\n rule: (http.host eq \"video.example.com\")\n flvVideoSeekMode: by_byte\n mp4SeekStart: start\n flvSeekEnd: end\n siteId: ${defaultSite.id}\n sequence: '1'\n siteVersion: '0'\n ruleName: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Video Processing can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/videoProcessing:VideoProcessing example \u003csite_id\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "integer", @@ -178270,10 +182095,10 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n" + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n" }, "siteVersion": { @@ -178324,11 +182149,10 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n", - "willReplaceOnChanges": true + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, @@ -178386,11 +182210,10 @@ }, "sequence": { "type": "integer", - "description": "Order of rule execution. The smaller the value, the higher the priority for execution.\n", - "willReplaceOnChanges": true + "description": "The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, @@ -178408,7 +182231,7 @@ } }, "alicloud:esa/wafRule:WafRule": { - "description": "Provides a ESA Waf Rule resource.\n\nThe detailed configuration of a Web Application Firewall (WAF) rule.\n\nFor information about ESA Waf Rule and how to use it, see [What is Waf Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/BatchCreateWafRules).\n\n\u003e **NOTE:** Available since v1.261.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultWafRuleset = new alicloud.esa.WafRuleset(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n phase: \"http_custom\",\n siteVersion: 0,\n});\nconst defaultWafRule = new alicloud.esa.WafRule(\"default\", {\n rulesetId: defaultWafRuleset.rulesetId,\n phase: \"http_custom\",\n config: {\n status: \"on\",\n action: \"deny\",\n expression: \"(http.host in {\\\"123.example.top\\\"})\",\n actions: {\n response: {\n id: 0,\n code: 403,\n },\n },\n name: \"111\",\n },\n siteVersion: 0,\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_waf_ruleset = alicloud.esa.WafRuleset(\"default\",\n site_id=default.sites[0].site_id,\n phase=\"http_custom\",\n site_version=0)\ndefault_waf_rule = alicloud.esa.WafRule(\"default\",\n ruleset_id=default_waf_ruleset.ruleset_id,\n phase=\"http_custom\",\n config={\n \"status\": \"on\",\n \"action\": \"deny\",\n \"expression\": \"(http.host in {\\\"123.example.top\\\"})\",\n \"actions\": {\n \"response\": {\n \"id\": 0,\n \"code\": 403,\n },\n },\n \"name\": \"111\",\n },\n site_version=0,\n site_id=default.sites[0].site_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultWafRuleset = new AliCloud.Esa.WafRuleset(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n Phase = \"http_custom\",\n SiteVersion = 0,\n });\n\n var defaultWafRule = new AliCloud.Esa.WafRule(\"default\", new()\n {\n RulesetId = defaultWafRuleset.RulesetId,\n Phase = \"http_custom\",\n Config = new AliCloud.Esa.Inputs.WafRuleConfigArgs\n {\n Status = \"on\",\n Action = \"deny\",\n Expression = \"(http.host in {\\\"123.example.top\\\"})\",\n Actions = new AliCloud.Esa.Inputs.WafRuleConfigActionsArgs\n {\n Response = new AliCloud.Esa.Inputs.WafRuleConfigActionsResponseArgs\n {\n Id = 0,\n Code = 403,\n },\n },\n Name = \"111\",\n },\n SiteVersion = 0,\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWafRuleset, err := esa.NewWafRuleset(ctx, \"default\", \u0026esa.WafRulesetArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWafRule(ctx, \"default\", \u0026esa.WafRuleArgs{\n\t\t\tRulesetId: defaultWafRuleset.RulesetId,\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tConfig: \u0026esa.WafRuleConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"on\"),\n\t\t\t\tAction: pulumi.String(\"deny\"),\n\t\t\t\tExpression: pulumi.String(\"(http.host in {\\\"123.example.top\\\"})\"),\n\t\t\t\tActions: \u0026esa.WafRuleConfigActionsArgs{\n\t\t\t\t\tResponse: \u0026esa.WafRuleConfigActionsResponseArgs{\n\t\t\t\t\t\tId: pulumi.Int(0),\n\t\t\t\t\t\tCode: pulumi.Int(403),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t},\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.WafRuleset;\nimport com.pulumi.alicloud.esa.WafRulesetArgs;\nimport com.pulumi.alicloud.esa.WafRule;\nimport com.pulumi.alicloud.esa.WafRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultWafRuleset = new WafRuleset(\"defaultWafRuleset\", WafRulesetArgs.builder()\n .siteId(default_.sites()[0].siteId())\n .phase(\"http_custom\")\n .siteVersion(0)\n .build());\n\n var defaultWafRule = new WafRule(\"defaultWafRule\", WafRuleArgs.builder()\n .rulesetId(defaultWafRuleset.rulesetId())\n .phase(\"http_custom\")\n .config(WafRuleConfigArgs.builder()\n .status(\"on\")\n .action(\"deny\")\n .expression(\"(http.host in {\\\"123.example.top\\\"})\")\n .actions(WafRuleConfigActionsArgs.builder()\n .response(WafRuleConfigActionsResponseArgs.builder()\n .id(0)\n .code(403)\n .build())\n .build())\n .name(\"111\")\n .build())\n .siteVersion(0)\n .siteId(default_.sites()[0].siteId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultWafRuleset:\n type: alicloud:esa:WafRuleset\n name: default\n properties:\n siteId: ${default.sites[0].siteId}\n phase: http_custom\n siteVersion: '0'\n defaultWafRule:\n type: alicloud:esa:WafRule\n name: default\n properties:\n rulesetId: ${defaultWafRuleset.rulesetId}\n phase: http_custom\n config:\n status: on\n action: deny\n expression: (http.host in {\"123.example.top\"})\n actions:\n response:\n id: '0'\n code: '403'\n name: '111'\n siteVersion: '0'\n siteId: ${default.sites[0].siteId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Waf Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/wafRule:WafRule example \u003csite_id\u003e:\u003cwaf_rule_id\u003e\n```\n\n", + "description": "Provides a ESA Waf Rule resource.\n\nThe detailed configuration of a Web Application Firewall (WAF) rule.\n\nFor information about ESA Waf Rule and how to use it, see [What is Waf Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/BatchCreateWafRules).\n\n\u003e **NOTE:** Available since v1.261.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultWafRuleset = new alicloud.esa.WafRuleset(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n phase: \"http_custom\",\n siteVersion: 0,\n});\nconst defaultWafRule = new alicloud.esa.WafRule(\"default\", {\n rulesetId: defaultWafRuleset.rulesetId,\n phase: \"http_custom\",\n config: {\n status: \"on\",\n action: \"deny\",\n expression: \"(http.host in {\\\"123.example.top\\\"})\",\n actions: {\n response: {\n id: 0,\n code: 403,\n },\n },\n name: \"111\",\n },\n siteVersion: 0,\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_waf_ruleset = alicloud.esa.WafRuleset(\"default\",\n site_id=default.sites[0].site_id,\n phase=\"http_custom\",\n site_version=0)\ndefault_waf_rule = alicloud.esa.WafRule(\"default\",\n ruleset_id=default_waf_ruleset.ruleset_id,\n phase=\"http_custom\",\n config={\n \"status\": \"on\",\n \"action\": \"deny\",\n \"expression\": \"(http.host in {\\\"123.example.top\\\"})\",\n \"actions\": {\n \"response\": {\n \"id\": 0,\n \"code\": 403,\n },\n },\n \"name\": \"111\",\n },\n site_version=0,\n site_id=default.sites[0].site_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultWafRuleset = new AliCloud.Esa.WafRuleset(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n Phase = \"http_custom\",\n SiteVersion = 0,\n });\n\n var defaultWafRule = new AliCloud.Esa.WafRule(\"default\", new()\n {\n RulesetId = defaultWafRuleset.RulesetId,\n Phase = \"http_custom\",\n Config = new AliCloud.Esa.Inputs.WafRuleConfigArgs\n {\n Status = \"on\",\n Action = \"deny\",\n Expression = \"(http.host in {\\\"123.example.top\\\"})\",\n Actions = new AliCloud.Esa.Inputs.WafRuleConfigActionsArgs\n {\n Response = new AliCloud.Esa.Inputs.WafRuleConfigActionsResponseArgs\n {\n Id = 0,\n Code = 403,\n },\n },\n Name = \"111\",\n },\n SiteVersion = 0,\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWafRuleset, err := esa.NewWafRuleset(ctx, \"default\", \u0026esa.WafRulesetArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWafRule(ctx, \"default\", \u0026esa.WafRuleArgs{\n\t\t\tRulesetId: defaultWafRuleset.RulesetId,\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tConfig: \u0026esa.WafRuleConfigArgs{\n\t\t\t\tStatus: pulumi.String(\"on\"),\n\t\t\t\tAction: pulumi.String(\"deny\"),\n\t\t\t\tExpression: pulumi.String(\"(http.host in {\\\"123.example.top\\\"})\"),\n\t\t\t\tActions: \u0026esa.WafRuleConfigActionsArgs{\n\t\t\t\t\tResponse: \u0026esa.WafRuleConfigActionsResponseArgs{\n\t\t\t\t\t\tId: pulumi.Int(0),\n\t\t\t\t\t\tCode: pulumi.Int(403),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"111\"),\n\t\t\t},\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.WafRuleset;\nimport com.pulumi.alicloud.esa.WafRulesetArgs;\nimport com.pulumi.alicloud.esa.WafRule;\nimport com.pulumi.alicloud.esa.WafRuleArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsArgs;\nimport com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsResponseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultWafRuleset = new WafRuleset(\"defaultWafRuleset\", WafRulesetArgs.builder()\n .siteId(default_.sites()[0].siteId())\n .phase(\"http_custom\")\n .siteVersion(0)\n .build());\n\n var defaultWafRule = new WafRule(\"defaultWafRule\", WafRuleArgs.builder()\n .rulesetId(defaultWafRuleset.rulesetId())\n .phase(\"http_custom\")\n .config(WafRuleConfigArgs.builder()\n .status(\"on\")\n .action(\"deny\")\n .expression(\"(http.host in {\\\"123.example.top\\\"})\")\n .actions(WafRuleConfigActionsArgs.builder()\n .response(WafRuleConfigActionsResponseArgs.builder()\n .id(0)\n .code(403)\n .build())\n .build())\n .name(\"111\")\n .build())\n .siteVersion(0)\n .siteId(default_.sites()[0].siteId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultWafRuleset:\n type: alicloud:esa:WafRuleset\n name: default\n properties:\n siteId: ${default.sites[0].siteId}\n phase: http_custom\n siteVersion: '0'\n defaultWafRule:\n type: alicloud:esa:WafRule\n name: default\n properties:\n rulesetId: ${defaultWafRuleset.rulesetId}\n phase: http_custom\n config:\n status: on\n action: deny\n expression: (http.host in {\"123.example.top\"})\n actions:\n response:\n id: '0'\n code: '403'\n name: '111'\n siteVersion: '0'\n siteId: ${default.sites[0].siteId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Waf Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/wafRule:WafRule example \u003csite_id\u003e:\u003cwaf_rule_id\u003e\n```\n\n", "properties": { "config": { "$ref": "#/types/alicloud:esa/WafRuleConfig:WafRuleConfig", @@ -178423,16 +182246,14 @@ "description": "The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation.\n" }, "shared": { - "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared", - "description": "Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared" }, "siteId": { - "type": "integer", + "type": "string", "description": "The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n" }, "siteVersion": { - "type": "integer", - "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n" + "type": "integer" }, "wafRuleId": { "type": "integer", @@ -178460,17 +182281,15 @@ "willReplaceOnChanges": true }, "shared": { - "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared", - "description": "Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared" }, "siteId": { - "type": "integer", + "type": "string", "description": "The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n", "willReplaceOnChanges": true }, "siteVersion": { - "type": "integer", - "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n" + "type": "integer" } }, "requiredInputs": [ @@ -178495,17 +182314,15 @@ "willReplaceOnChanges": true }, "shared": { - "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared", - "description": "Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See \u003cspan pulumi-lang-nodejs=\"`shared`\" pulumi-lang-dotnet=\"`Shared`\" pulumi-lang-go=\"`shared`\" pulumi-lang-python=\"`shared`\" pulumi-lang-yaml=\"`shared`\" pulumi-lang-java=\"`shared`\"\u003e`shared`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:esa/WafRuleShared:WafRuleShared" }, "siteId": { - "type": "integer", + "type": "string", "description": "The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n", "willReplaceOnChanges": true }, "siteVersion": { - "type": "integer", - "description": "The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation.\n" + "type": "integer" }, "wafRuleId": { "type": "integer", @@ -178516,7 +182333,7 @@ } }, "alicloud:esa/wafRuleset:WafRuleset": { - "description": "Provides a ESA Waf Ruleset resource.\n\nwaf rule set.\n\nFor information about ESA Waf Ruleset and how to use it, see [What is Waf Ruleset](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWafRuleset).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultWafRuleset = new alicloud.esa.WafRuleset(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n phase: \"http_custom\",\n siteVersion: 0,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_waf_ruleset = alicloud.esa.WafRuleset(\"default\",\n site_id=default.sites[0].site_id,\n phase=\"http_custom\",\n site_version=0,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultWafRuleset = new AliCloud.Esa.WafRuleset(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n Phase = \"http_custom\",\n SiteVersion = 0,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWafRuleset(ctx, \"default\", \u0026esa.WafRulesetArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tName: pulumi.String(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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.WafRuleset;\nimport com.pulumi.alicloud.esa.WafRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultWafRuleset = new WafRuleset(\"defaultWafRuleset\", WafRulesetArgs.builder()\n .siteId(default_.sites()[0].siteId())\n .phase(\"http_custom\")\n .siteVersion(0)\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultWafRuleset:\n type: alicloud:esa:WafRuleset\n name: default\n properties:\n siteId: ${default.sites[0].siteId}\n phase: http_custom\n siteVersion: '0'\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Waf Ruleset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/wafRuleset:WafRuleset example \u003cruleset_id\u003e:\u003csite_id\u003e\n```\n\n", + "description": "Provides a ESA Waf Ruleset resource.\n\nwaf rule set.\n\nFor information about ESA Waf Ruleset and how to use it, see [What is Waf Ruleset](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWafRuleset).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultWafRuleset = new alicloud.esa.WafRuleset(\"default\", {\n siteId: _default.then(_default =\u003e _default.sites?.[0]?.siteId),\n phase: \"http_custom\",\n siteVersion: 0,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_waf_ruleset = alicloud.esa.WafRuleset(\"default\",\n site_id=default.sites[0].site_id,\n phase=\"http_custom\",\n site_version=0,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultWafRuleset = new AliCloud.Esa.WafRuleset(\"default\", new()\n {\n SiteId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.SiteId)),\n Phase = \"http_custom\",\n SiteVersion = 0,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWafRuleset(ctx, \"default\", \u0026esa.WafRulesetArgs{\n\t\t\tSiteId: pulumi.Int(_default.Sites[0].SiteId),\n\t\t\tPhase: pulumi.String(\"http_custom\"),\n\t\t\tSiteVersion: pulumi.Int(0),\n\t\t\tName: pulumi.String(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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.WafRuleset;\nimport com.pulumi.alicloud.esa.WafRulesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultWafRuleset = new WafRuleset(\"defaultWafRuleset\", WafRulesetArgs.builder()\n .siteId(default_.sites()[0].siteId())\n .phase(\"http_custom\")\n .siteVersion(0)\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultWafRuleset:\n type: alicloud:esa:WafRuleset\n name: default\n properties:\n siteId: ${default.sites[0].siteId}\n phase: http_custom\n siteVersion: '0'\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Waf Ruleset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/wafRuleset:WafRuleset example \u003cruleset_id\u003e:\u003csite_id\u003e\n```\n\n", "properties": { "name": { "type": "string", @@ -178611,7 +182428,7 @@ } }, "alicloud:esa/waitingRoom:WaitingRoom": { - "description": "Provides a ESA Waiting Room resource.\n\n\n\nFor information about ESA Waiting Room and how to use it, see [What is Waiting Room](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoom).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteExample = new alicloud.esa.Site(\"resource_Site_example\", {\n siteName: \"terraform.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n queuingMethod: \"fifo\",\n sessionDuration: \"5\",\n totalActiveUsers: \"300\",\n hostNameAndPaths: [\n {\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n },\n {\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain1.com.\",\n },\n {\n path: \"/example\",\n subdomain: \"example_sub_domain2.com.\",\n domain: \"sub_domain.com\",\n },\n ],\n waitingRoomType: \"default\",\n newUsersPerMinute: \"200\",\n customPageHtml: \"\",\n language: \"zhcn\",\n queuingStatusCode: \"200\",\n waitingRoomName: \"waitingroom_example\",\n status: \"off\",\n siteId: resourceSiteExample.id,\n queueAllEnable: \"off\",\n disableSessionRenewalEnable: \"off\",\n description: \"example\",\n jsonResponseEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_example = alicloud.esa.Site(\"resource_Site_example\",\n site_name=\"terraform.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n queuing_method=\"fifo\",\n session_duration=\"5\",\n total_active_users=\"300\",\n host_name_and_paths=[\n {\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n },\n {\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain1.com.\",\n },\n {\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain2.com.\",\n \"domain\": \"sub_domain.com\",\n },\n ],\n waiting_room_type=\"default\",\n new_users_per_minute=\"200\",\n custom_page_html=\"\",\n language=\"zhcn\",\n queuing_status_code=\"200\",\n waiting_room_name=\"waitingroom_example\",\n status=\"off\",\n site_id=resource_site_example.id,\n queue_all_enable=\"off\",\n disable_session_renewal_enable=\"off\",\n description=\"example\",\n json_response_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteExample = new AliCloud.Esa.Site(\"resource_Site_example\", new()\n {\n SiteName = \"terraform.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n QueuingMethod = \"fifo\",\n SessionDuration = \"5\",\n TotalActiveUsers = \"300\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain1.com.\",\n },\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Path = \"/example\",\n Subdomain = \"example_sub_domain2.com.\",\n Domain = \"sub_domain.com\",\n },\n },\n WaitingRoomType = \"default\",\n NewUsersPerMinute = \"200\",\n CustomPageHtml = \"\",\n Language = \"zhcn\",\n QueuingStatusCode = \"200\",\n WaitingRoomName = \"waitingroom_example\",\n Status = \"off\",\n SiteId = resourceSiteExample.Id,\n QueueAllEnable = \"off\",\n DisableSessionRenewalEnable = \"off\",\n Description = \"example\",\n JsonResponseEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteExample, err := esa.NewSite(ctx, \"resource_Site_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain1.com.\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain2.com.\"),\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: resourceSiteExample.ID(),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteExample = new Site(\"resourceSiteExample\", SiteArgs.builder()\n .siteName(\"terraform.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .queuingMethod(\"fifo\")\n .sessionDuration(\"5\")\n .totalActiveUsers(\"300\")\n .hostNameAndPaths( \n WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build(),\n WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain1.com.\")\n .build(),\n WaitingRoomHostNameAndPathArgs.builder()\n .path(\"/example\")\n .subdomain(\"example_sub_domain2.com.\")\n .domain(\"sub_domain.com\")\n .build())\n .waitingRoomType(\"default\")\n .newUsersPerMinute(\"200\")\n .customPageHtml(\"\")\n .language(\"zhcn\")\n .queuingStatusCode(\"200\")\n .waitingRoomName(\"waitingroom_example\")\n .status(\"off\")\n .siteId(resourceSiteExample.id())\n .queueAllEnable(\"off\")\n .disableSessionRenewalEnable(\"off\")\n .description(\"example\")\n .jsonResponseEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n resourceSiteExample:\n type: alicloud:esa:Site\n name: resource_Site_example\n properties:\n siteName: terraform.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n queuingMethod: fifo\n sessionDuration: '5'\n totalActiveUsers: '300'\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain1.com.\n - path: /example\n subdomain: example_sub_domain2.com.\n domain: sub_domain.com\n waitingRoomType: default\n newUsersPerMinute: '200'\n customPageHtml: \"\"\n language: zhcn\n queuingStatusCode: '200'\n waitingRoomName: waitingroom_example\n status: off\n siteId: ${resourceSiteExample.id}\n queueAllEnable: off\n disableSessionRenewalEnable: off\n description: example\n jsonResponseEnable: off\n cookieName: __aliwaitingroom_example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Waiting Room can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoom:WaitingRoom example \u003csite_id\u003e:\u003cwaiting_room_id\u003e\n```\n\n", + "description": "Provides a ESA Waiting Room resource.\n\n\n\nFor information about ESA Waiting Room and how to use it, see [What is Waiting Room](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoom).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst resourceSiteExample = new alicloud.esa.Site(\"resource_Site_example\", {\n siteName: \"terraform.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n queuingMethod: \"fifo\",\n sessionDuration: \"5\",\n totalActiveUsers: \"300\",\n hostNameAndPaths: [\n {\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n },\n {\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain1.com.\",\n },\n {\n path: \"/example\",\n subdomain: \"example_sub_domain2.com.\",\n domain: \"sub_domain.com\",\n },\n ],\n waitingRoomType: \"default\",\n newUsersPerMinute: \"200\",\n customPageHtml: \"\",\n language: \"zhcn\",\n queuingStatusCode: \"200\",\n waitingRoomName: \"waitingroom_example\",\n status: \"off\",\n siteId: resourceSiteExample.id,\n queueAllEnable: \"off\",\n disableSessionRenewalEnable: \"off\",\n description: \"example\",\n jsonResponseEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\nresource_site_example = alicloud.esa.Site(\"resource_Site_example\",\n site_name=\"terraform.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n queuing_method=\"fifo\",\n session_duration=\"5\",\n total_active_users=\"300\",\n host_name_and_paths=[\n {\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n },\n {\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain1.com.\",\n },\n {\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain2.com.\",\n \"domain\": \"sub_domain.com\",\n },\n ],\n waiting_room_type=\"default\",\n new_users_per_minute=\"200\",\n custom_page_html=\"\",\n language=\"zhcn\",\n queuing_status_code=\"200\",\n waiting_room_name=\"waitingroom_example\",\n status=\"off\",\n site_id=resource_site_example.id,\n queue_all_enable=\"off\",\n disable_session_renewal_enable=\"off\",\n description=\"example\",\n json_response_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var resourceSiteExample = new AliCloud.Esa.Site(\"resource_Site_example\", new()\n {\n SiteName = \"terraform.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n QueuingMethod = \"fifo\",\n SessionDuration = \"5\",\n TotalActiveUsers = \"300\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain1.com.\",\n },\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Path = \"/example\",\n Subdomain = \"example_sub_domain2.com.\",\n Domain = \"sub_domain.com\",\n },\n },\n WaitingRoomType = \"default\",\n NewUsersPerMinute = \"200\",\n CustomPageHtml = \"\",\n Language = \"zhcn\",\n QueuingStatusCode = \"200\",\n WaitingRoomName = \"waitingroom_example\",\n Status = \"off\",\n SiteId = resourceSiteExample.Id,\n QueueAllEnable = \"off\",\n DisableSessionRenewalEnable = \"off\",\n Description = \"example\",\n JsonResponseEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tresourceSiteExample, err := esa.NewSite(ctx, \"resource_Site_example\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain1.com.\"),\n\t\t\t\t},\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain2.com.\"),\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: resourceSiteExample.ID(),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var resourceSiteExample = new Site(\"resourceSiteExample\", SiteArgs.builder()\n .siteName(\"terraform.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .queuingMethod(\"fifo\")\n .sessionDuration(\"5\")\n .totalActiveUsers(\"300\")\n .hostNameAndPaths( \n WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build(),\n WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain1.com.\")\n .build(),\n WaitingRoomHostNameAndPathArgs.builder()\n .path(\"/example\")\n .subdomain(\"example_sub_domain2.com.\")\n .domain(\"sub_domain.com\")\n .build())\n .waitingRoomType(\"default\")\n .newUsersPerMinute(\"200\")\n .customPageHtml(\"\")\n .language(\"zhcn\")\n .queuingStatusCode(\"200\")\n .waitingRoomName(\"waitingroom_example\")\n .status(\"off\")\n .siteId(resourceSiteExample.id())\n .queueAllEnable(\"off\")\n .disableSessionRenewalEnable(\"off\")\n .description(\"example\")\n .jsonResponseEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n resourceSiteExample:\n type: alicloud:esa:Site\n name: resource_Site_example\n properties:\n siteName: terraform.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n queuingMethod: fifo\n sessionDuration: '5'\n totalActiveUsers: '300'\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain1.com.\n - path: /example\n subdomain: example_sub_domain2.com.\n domain: sub_domain.com\n waitingRoomType: default\n newUsersPerMinute: '200'\n customPageHtml: \"\"\n language: zhcn\n queuingStatusCode: '200'\n waitingRoomName: waitingroom_example\n status: off\n siteId: ${resourceSiteExample.id}\n queueAllEnable: off\n disableSessionRenewalEnable: off\n description: example\n jsonResponseEnable: off\n cookieName: __aliwaitingroom_example\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Waiting Room can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoom:WaitingRoom example \u003csite_id\u003e:\u003cwaiting_room_id\u003e\n```\n\n", "properties": { "cookieName": { "type": "string", @@ -178874,7 +182691,7 @@ } }, "alicloud:esa/waitingRoomEvent:WaitingRoomEvent": { - "description": "Provides a ESA Waiting Room Event resource.\n\n\n\nFor information about ESA Waiting Room Event and how to use it, see [What is Waiting Room Event](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomEvent).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n status: \"off\",\n siteId: defaultSite.id,\n jsonResponseEnable: \"off\",\n description: \"example\",\n waitingRoomType: \"default\",\n disableSessionRenewalEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n waitingRoomName: \"waitingroom_example\",\n queueAllEnable: \"off\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n newUsersPerMinute: \"200\",\n sessionDuration: \"5\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n queuingMethod: \"fifo\",\n hostNameAndPaths: [{\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n }],\n});\nconst defaultWaitingRoomEvent = new alicloud.esa.WaitingRoomEvent(\"default\", {\n waitingRoomId: defaultWaitingRoom.waitingRoomId,\n endTime: \"1719863200\",\n waitingRoomEventName: \"WaitingRoomEvent_example\",\n preQueueStartTime: \"\",\n randomPreQueueEnable: \"off\",\n jsonResponseEnable: \"off\",\n siteId: defaultSite.id,\n preQueueEnable: \"off\",\n description: \"example\",\n newUsersPerMinute: \"200\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n waitingRoomType: \"default\",\n startTime: \"1719763200\",\n status: \"off\",\n disableSessionRenewalEnable: \"off\",\n queuingMethod: \"fifo\",\n sessionDuration: \"5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n status=\"off\",\n site_id=default_site.id,\n json_response_enable=\"off\",\n description=\"example\",\n waiting_room_type=\"default\",\n disable_session_renewal_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\",\n waiting_room_name=\"waitingroom_example\",\n queue_all_enable=\"off\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n new_users_per_minute=\"200\",\n session_duration=\"5\",\n language=\"zhcn\",\n total_active_users=\"300\",\n queuing_method=\"fifo\",\n host_name_and_paths=[{\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n }])\ndefault_waiting_room_event = alicloud.esa.WaitingRoomEvent(\"default\",\n waiting_room_id=default_waiting_room.waiting_room_id,\n end_time=\"1719863200\",\n waiting_room_event_name=\"WaitingRoomEvent_example\",\n pre_queue_start_time=\"\",\n random_pre_queue_enable=\"off\",\n json_response_enable=\"off\",\n site_id=default_site.id,\n pre_queue_enable=\"off\",\n description=\"example\",\n new_users_per_minute=\"200\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n language=\"zhcn\",\n total_active_users=\"300\",\n waiting_room_type=\"default\",\n start_time=\"1719763200\",\n status=\"off\",\n disable_session_renewal_enable=\"off\",\n queuing_method=\"fifo\",\n session_duration=\"5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n Status = \"off\",\n SiteId = defaultSite.Id,\n JsonResponseEnable = \"off\",\n Description = \"example\",\n WaitingRoomType = \"default\",\n DisableSessionRenewalEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n WaitingRoomName = \"waitingroom_example\",\n QueueAllEnable = \"off\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n NewUsersPerMinute = \"200\",\n SessionDuration = \"5\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n QueuingMethod = \"fifo\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n },\n });\n\n var defaultWaitingRoomEvent = new AliCloud.Esa.WaitingRoomEvent(\"default\", new()\n {\n WaitingRoomId = defaultWaitingRoom.WaitingRoomId,\n EndTime = \"1719863200\",\n WaitingRoomEventName = \"WaitingRoomEvent_example\",\n PreQueueStartTime = \"\",\n RandomPreQueueEnable = \"off\",\n JsonResponseEnable = \"off\",\n SiteId = defaultSite.Id,\n PreQueueEnable = \"off\",\n Description = \"example\",\n NewUsersPerMinute = \"200\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n WaitingRoomType = \"default\",\n StartTime = \"1719763200\",\n Status = \"off\",\n DisableSessionRenewalEnable = \"off\",\n QueuingMethod = \"fifo\",\n SessionDuration = \"5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWaitingRoom, err := esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\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 = esa.NewWaitingRoomEvent(ctx, \"default\", \u0026esa.WaitingRoomEventArgs{\n\t\t\tWaitingRoomId: defaultWaitingRoom.WaitingRoomId,\n\t\t\tEndTime: pulumi.String(\"1719863200\"),\n\t\t\tWaitingRoomEventName: pulumi.String(\"WaitingRoomEvent_example\"),\n\t\t\tPreQueueStartTime: pulumi.String(\"\"),\n\t\t\tRandomPreQueueEnable: pulumi.String(\"off\"),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tPreQueueEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tStartTime: pulumi.String(\"1719763200\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport com.pulumi.alicloud.esa.WaitingRoomEvent;\nimport com.pulumi.alicloud.esa.WaitingRoomEventArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .status(\"off\")\n .siteId(defaultSite.id())\n .jsonResponseEnable(\"off\")\n .description(\"example\")\n .waitingRoomType(\"default\")\n .disableSessionRenewalEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .waitingRoomName(\"waitingroom_example\")\n .queueAllEnable(\"off\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .newUsersPerMinute(\"200\")\n .sessionDuration(\"5\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .queuingMethod(\"fifo\")\n .hostNameAndPaths(WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build())\n .build());\n\n var defaultWaitingRoomEvent = new WaitingRoomEvent(\"defaultWaitingRoomEvent\", WaitingRoomEventArgs.builder()\n .waitingRoomId(defaultWaitingRoom.waitingRoomId())\n .endTime(\"1719863200\")\n .waitingRoomEventName(\"WaitingRoomEvent_example\")\n .preQueueStartTime(\"\")\n .randomPreQueueEnable(\"off\")\n .jsonResponseEnable(\"off\")\n .siteId(defaultSite.id())\n .preQueueEnable(\"off\")\n .description(\"example\")\n .newUsersPerMinute(\"200\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .waitingRoomType(\"default\")\n .startTime(\"1719763200\")\n .status(\"off\")\n .disableSessionRenewalEnable(\"off\")\n .queuingMethod(\"fifo\")\n .sessionDuration(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n status: off\n siteId: ${defaultSite.id}\n jsonResponseEnable: off\n description: example\n waitingRoomType: default\n disableSessionRenewalEnable: off\n cookieName: __aliwaitingroom_example\n waitingRoomName: waitingroom_example\n queueAllEnable: off\n queuingStatusCode: '200'\n customPageHtml: \"\"\n newUsersPerMinute: '200'\n sessionDuration: '5'\n language: zhcn\n totalActiveUsers: '300'\n queuingMethod: fifo\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n defaultWaitingRoomEvent:\n type: alicloud:esa:WaitingRoomEvent\n name: default\n properties:\n waitingRoomId: ${defaultWaitingRoom.waitingRoomId}\n endTime: '1719863200'\n waitingRoomEventName: WaitingRoomEvent_example\n preQueueStartTime: \"\"\n randomPreQueueEnable: off\n jsonResponseEnable: off\n siteId: ${defaultSite.id}\n preQueueEnable: off\n description: example\n newUsersPerMinute: '200'\n queuingStatusCode: '200'\n customPageHtml: \"\"\n language: zhcn\n totalActiveUsers: '300'\n waitingRoomType: default\n startTime: '1719763200'\n status: off\n disableSessionRenewalEnable: off\n queuingMethod: fifo\n sessionDuration: '5'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Waiting Room Event can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoomEvent:WaitingRoomEvent example \u003csite_id\u003e:\u003cwaiting_room_id\u003e:\u003cwaiting_room_event_id\u003e\n```\n\n", + "description": "Provides a ESA Waiting Room Event resource.\n\n\n\nFor information about ESA Waiting Room Event and how to use it, see [What is Waiting Room Event](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomEvent).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"chenxin0116.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n status: \"off\",\n siteId: defaultSite.id,\n jsonResponseEnable: \"off\",\n description: \"example\",\n waitingRoomType: \"default\",\n disableSessionRenewalEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n waitingRoomName: \"waitingroom_example\",\n queueAllEnable: \"off\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n newUsersPerMinute: \"200\",\n sessionDuration: \"5\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n queuingMethod: \"fifo\",\n hostNameAndPaths: [{\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n }],\n});\nconst defaultWaitingRoomEvent = new alicloud.esa.WaitingRoomEvent(\"default\", {\n waitingRoomId: defaultWaitingRoom.waitingRoomId,\n endTime: \"1719863200\",\n waitingRoomEventName: \"WaitingRoomEvent_example\",\n preQueueStartTime: \"\",\n randomPreQueueEnable: \"off\",\n jsonResponseEnable: \"off\",\n siteId: defaultSite.id,\n preQueueEnable: \"off\",\n description: \"example\",\n newUsersPerMinute: \"200\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n waitingRoomType: \"default\",\n startTime: \"1719763200\",\n status: \"off\",\n disableSessionRenewalEnable: \"off\",\n queuingMethod: \"fifo\",\n sessionDuration: \"5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"chenxin0116.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n status=\"off\",\n site_id=default_site.id,\n json_response_enable=\"off\",\n description=\"example\",\n waiting_room_type=\"default\",\n disable_session_renewal_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\",\n waiting_room_name=\"waitingroom_example\",\n queue_all_enable=\"off\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n new_users_per_minute=\"200\",\n session_duration=\"5\",\n language=\"zhcn\",\n total_active_users=\"300\",\n queuing_method=\"fifo\",\n host_name_and_paths=[{\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n }])\ndefault_waiting_room_event = alicloud.esa.WaitingRoomEvent(\"default\",\n waiting_room_id=default_waiting_room.waiting_room_id,\n end_time=\"1719863200\",\n waiting_room_event_name=\"WaitingRoomEvent_example\",\n pre_queue_start_time=\"\",\n random_pre_queue_enable=\"off\",\n json_response_enable=\"off\",\n site_id=default_site.id,\n pre_queue_enable=\"off\",\n description=\"example\",\n new_users_per_minute=\"200\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n language=\"zhcn\",\n total_active_users=\"300\",\n waiting_room_type=\"default\",\n start_time=\"1719763200\",\n status=\"off\",\n disable_session_renewal_enable=\"off\",\n queuing_method=\"fifo\",\n session_duration=\"5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"chenxin0116.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n Status = \"off\",\n SiteId = defaultSite.Id,\n JsonResponseEnable = \"off\",\n Description = \"example\",\n WaitingRoomType = \"default\",\n DisableSessionRenewalEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n WaitingRoomName = \"waitingroom_example\",\n QueueAllEnable = \"off\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n NewUsersPerMinute = \"200\",\n SessionDuration = \"5\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n QueuingMethod = \"fifo\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n },\n });\n\n var defaultWaitingRoomEvent = new AliCloud.Esa.WaitingRoomEvent(\"default\", new()\n {\n WaitingRoomId = defaultWaitingRoom.WaitingRoomId,\n EndTime = \"1719863200\",\n WaitingRoomEventName = \"WaitingRoomEvent_example\",\n PreQueueStartTime = \"\",\n RandomPreQueueEnable = \"off\",\n JsonResponseEnable = \"off\",\n SiteId = defaultSite.Id,\n PreQueueEnable = \"off\",\n Description = \"example\",\n NewUsersPerMinute = \"200\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n WaitingRoomType = \"default\",\n StartTime = \"1719763200\",\n Status = \"off\",\n DisableSessionRenewalEnable = \"off\",\n QueuingMethod = \"fifo\",\n SessionDuration = \"5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"chenxin0116.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWaitingRoom, err := esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\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 = esa.NewWaitingRoomEvent(ctx, \"default\", \u0026esa.WaitingRoomEventArgs{\n\t\t\tWaitingRoomId: defaultWaitingRoom.WaitingRoomId,\n\t\t\tEndTime: pulumi.String(\"1719863200\"),\n\t\t\tWaitingRoomEventName: pulumi.String(\"WaitingRoomEvent_example\"),\n\t\t\tPreQueueStartTime: pulumi.String(\"\"),\n\t\t\tRandomPreQueueEnable: pulumi.String(\"off\"),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tPreQueueEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tStartTime: pulumi.String(\"1719763200\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport com.pulumi.alicloud.esa.WaitingRoomEvent;\nimport com.pulumi.alicloud.esa.WaitingRoomEventArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"chenxin0116.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .status(\"off\")\n .siteId(defaultSite.id())\n .jsonResponseEnable(\"off\")\n .description(\"example\")\n .waitingRoomType(\"default\")\n .disableSessionRenewalEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .waitingRoomName(\"waitingroom_example\")\n .queueAllEnable(\"off\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .newUsersPerMinute(\"200\")\n .sessionDuration(\"5\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .queuingMethod(\"fifo\")\n .hostNameAndPaths(WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build())\n .build());\n\n var defaultWaitingRoomEvent = new WaitingRoomEvent(\"defaultWaitingRoomEvent\", WaitingRoomEventArgs.builder()\n .waitingRoomId(defaultWaitingRoom.waitingRoomId())\n .endTime(\"1719863200\")\n .waitingRoomEventName(\"WaitingRoomEvent_example\")\n .preQueueStartTime(\"\")\n .randomPreQueueEnable(\"off\")\n .jsonResponseEnable(\"off\")\n .siteId(defaultSite.id())\n .preQueueEnable(\"off\")\n .description(\"example\")\n .newUsersPerMinute(\"200\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .waitingRoomType(\"default\")\n .startTime(\"1719763200\")\n .status(\"off\")\n .disableSessionRenewalEnable(\"off\")\n .queuingMethod(\"fifo\")\n .sessionDuration(\"5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: chenxin0116.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n status: off\n siteId: ${defaultSite.id}\n jsonResponseEnable: off\n description: example\n waitingRoomType: default\n disableSessionRenewalEnable: off\n cookieName: __aliwaitingroom_example\n waitingRoomName: waitingroom_example\n queueAllEnable: off\n queuingStatusCode: '200'\n customPageHtml: \"\"\n newUsersPerMinute: '200'\n sessionDuration: '5'\n language: zhcn\n totalActiveUsers: '300'\n queuingMethod: fifo\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n defaultWaitingRoomEvent:\n type: alicloud:esa:WaitingRoomEvent\n name: default\n properties:\n waitingRoomId: ${defaultWaitingRoom.waitingRoomId}\n endTime: '1719863200'\n waitingRoomEventName: WaitingRoomEvent_example\n preQueueStartTime: \"\"\n randomPreQueueEnable: off\n jsonResponseEnable: off\n siteId: ${defaultSite.id}\n preQueueEnable: off\n description: example\n newUsersPerMinute: '200'\n queuingStatusCode: '200'\n customPageHtml: \"\"\n language: zhcn\n totalActiveUsers: '300'\n waitingRoomType: default\n startTime: '1719763200'\n status: off\n disableSessionRenewalEnable: off\n queuingMethod: fifo\n sessionDuration: '5'\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Waiting Room Event can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoomEvent:WaitingRoomEvent example \u003csite_id\u003e:\u003cwaiting_room_id\u003e:\u003cwaiting_room_event_id\u003e\n```\n\n", "properties": { "customPageHtml": { "type": "string", @@ -179167,7 +182984,7 @@ } }, "alicloud:esa/waitingRoomRule:WaitingRoomRule": { - "description": "Provides a ESA Waiting Room Rule resource.\n\n\n\nFor information about ESA Waiting Room Rule and how to use it, see [What is Waiting Room Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n status: \"off\",\n siteId: defaultSite.id,\n jsonResponseEnable: \"off\",\n description: \"example\",\n waitingRoomType: \"default\",\n disableSessionRenewalEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n waitingRoomName: \"waitingroom_example\",\n queueAllEnable: \"off\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n newUsersPerMinute: \"200\",\n sessionDuration: \"5\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n queuingMethod: \"fifo\",\n hostNameAndPaths: [{\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n }],\n});\nconst defaultWaitingRoomRule = new alicloud.esa.WaitingRoomRule(\"default\", {\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n waitingRoomId: defaultWaitingRoom.waitingRoomId,\n ruleName: \"WaitingRoomRule_example1\",\n status: \"off\",\n siteId: defaultSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n status=\"off\",\n site_id=default_site.id,\n json_response_enable=\"off\",\n description=\"example\",\n waiting_room_type=\"default\",\n disable_session_renewal_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\",\n waiting_room_name=\"waitingroom_example\",\n queue_all_enable=\"off\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n new_users_per_minute=\"200\",\n session_duration=\"5\",\n language=\"zhcn\",\n total_active_users=\"300\",\n queuing_method=\"fifo\",\n host_name_and_paths=[{\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n }])\ndefault_waiting_room_rule = alicloud.esa.WaitingRoomRule(\"default\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n waiting_room_id=default_waiting_room.waiting_room_id,\n rule_name=\"WaitingRoomRule_example1\",\n status=\"off\",\n site_id=default_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n Status = \"off\",\n SiteId = defaultSite.Id,\n JsonResponseEnable = \"off\",\n Description = \"example\",\n WaitingRoomType = \"default\",\n DisableSessionRenewalEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n WaitingRoomName = \"waitingroom_example\",\n QueueAllEnable = \"off\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n NewUsersPerMinute = \"200\",\n SessionDuration = \"5\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n QueuingMethod = \"fifo\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n },\n });\n\n var defaultWaitingRoomRule = new AliCloud.Esa.WaitingRoomRule(\"default\", new()\n {\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n WaitingRoomId = defaultWaitingRoom.WaitingRoomId,\n RuleName = \"WaitingRoomRule_example1\",\n Status = \"off\",\n SiteId = defaultSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWaitingRoom, err := esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\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 = esa.NewWaitingRoomRule(ctx, \"default\", \u0026esa.WaitingRoomRuleArgs{\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tWaitingRoomId: defaultWaitingRoom.WaitingRoomId,\n\t\t\tRuleName: pulumi.String(\"WaitingRoomRule_example1\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport com.pulumi.alicloud.esa.WaitingRoomRule;\nimport com.pulumi.alicloud.esa.WaitingRoomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .status(\"off\")\n .siteId(defaultSite.id())\n .jsonResponseEnable(\"off\")\n .description(\"example\")\n .waitingRoomType(\"default\")\n .disableSessionRenewalEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .waitingRoomName(\"waitingroom_example\")\n .queueAllEnable(\"off\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .newUsersPerMinute(\"200\")\n .sessionDuration(\"5\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .queuingMethod(\"fifo\")\n .hostNameAndPaths(WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build())\n .build());\n\n var defaultWaitingRoomRule = new WaitingRoomRule(\"defaultWaitingRoomRule\", WaitingRoomRuleArgs.builder()\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .waitingRoomId(defaultWaitingRoom.waitingRoomId())\n .ruleName(\"WaitingRoomRule_example1\")\n .status(\"off\")\n .siteId(defaultSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n status: off\n siteId: ${defaultSite.id}\n jsonResponseEnable: off\n description: example\n waitingRoomType: default\n disableSessionRenewalEnable: off\n cookieName: __aliwaitingroom_example\n waitingRoomName: waitingroom_example\n queueAllEnable: off\n queuingStatusCode: '200'\n customPageHtml: \"\"\n newUsersPerMinute: '200'\n sessionDuration: '5'\n language: zhcn\n totalActiveUsers: '300'\n queuingMethod: fifo\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n defaultWaitingRoomRule:\n type: alicloud:esa:WaitingRoomRule\n name: default\n properties:\n rule: (http.host eq \"video.example.com\")\n waitingRoomId: ${defaultWaitingRoom.waitingRoomId}\n ruleName: WaitingRoomRule_example1\n status: off\n siteId: ${defaultSite.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESA Waiting Room Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoomRule:WaitingRoomRule example \u003csite_id\u003e:\u003cwaiting_room_id\u003e:\u003cwaiting_room_rule_id\u003e\n```\n\n", + "description": "Provides a ESA Waiting Room Rule resource.\n\n\n\nFor information about ESA Waiting Room Rule and how to use it, see [What is Waiting Room Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoomRule).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.esa.getSites({\n planSubscribeType: \"enterpriseplan\",\n});\nconst defaultSite = new alicloud.esa.Site(\"default\", {\n siteName: \"terraform.site\",\n instanceId: _default.then(_default =\u003e _default.sites?.[0]?.instanceId),\n coverage: \"overseas\",\n accessType: \"NS\",\n});\nconst defaultWaitingRoom = new alicloud.esa.WaitingRoom(\"default\", {\n status: \"off\",\n siteId: defaultSite.id,\n jsonResponseEnable: \"off\",\n description: \"example\",\n waitingRoomType: \"default\",\n disableSessionRenewalEnable: \"off\",\n cookieName: \"__aliwaitingroom_example\",\n waitingRoomName: \"waitingroom_example\",\n queueAllEnable: \"off\",\n queuingStatusCode: \"200\",\n customPageHtml: \"\",\n newUsersPerMinute: \"200\",\n sessionDuration: \"5\",\n language: \"zhcn\",\n totalActiveUsers: \"300\",\n queuingMethod: \"fifo\",\n hostNameAndPaths: [{\n domain: \"sub_domain.com\",\n path: \"/example\",\n subdomain: \"example_sub_domain.com.\",\n }],\n});\nconst defaultWaitingRoomRule = new alicloud.esa.WaitingRoomRule(\"default\", {\n rule: \"(http.host eq \\\"video.example.com\\\")\",\n waitingRoomId: defaultWaitingRoom.waitingRoomId,\n ruleName: \"WaitingRoomRule_example1\",\n status: \"off\",\n siteId: defaultSite.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.esa.get_sites(plan_subscribe_type=\"enterpriseplan\")\ndefault_site = alicloud.esa.Site(\"default\",\n site_name=\"terraform.site\",\n instance_id=default.sites[0].instance_id,\n coverage=\"overseas\",\n access_type=\"NS\")\ndefault_waiting_room = alicloud.esa.WaitingRoom(\"default\",\n status=\"off\",\n site_id=default_site.id,\n json_response_enable=\"off\",\n description=\"example\",\n waiting_room_type=\"default\",\n disable_session_renewal_enable=\"off\",\n cookie_name=\"__aliwaitingroom_example\",\n waiting_room_name=\"waitingroom_example\",\n queue_all_enable=\"off\",\n queuing_status_code=\"200\",\n custom_page_html=\"\",\n new_users_per_minute=\"200\",\n session_duration=\"5\",\n language=\"zhcn\",\n total_active_users=\"300\",\n queuing_method=\"fifo\",\n host_name_and_paths=[{\n \"domain\": \"sub_domain.com\",\n \"path\": \"/example\",\n \"subdomain\": \"example_sub_domain.com.\",\n }])\ndefault_waiting_room_rule = alicloud.esa.WaitingRoomRule(\"default\",\n rule=\"(http.host eq \\\"video.example.com\\\")\",\n waiting_room_id=default_waiting_room.waiting_room_id,\n rule_name=\"WaitingRoomRule_example1\",\n status=\"off\",\n site_id=default_site.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Esa.GetSites.Invoke(new()\n {\n PlanSubscribeType = \"enterpriseplan\",\n });\n\n var defaultSite = new AliCloud.Esa.Site(\"default\", new()\n {\n SiteName = \"terraform.site\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getSitesResult =\u003e getSitesResult.Sites[0]?.InstanceId)),\n Coverage = \"overseas\",\n AccessType = \"NS\",\n });\n\n var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom(\"default\", new()\n {\n Status = \"off\",\n SiteId = defaultSite.Id,\n JsonResponseEnable = \"off\",\n Description = \"example\",\n WaitingRoomType = \"default\",\n DisableSessionRenewalEnable = \"off\",\n CookieName = \"__aliwaitingroom_example\",\n WaitingRoomName = \"waitingroom_example\",\n QueueAllEnable = \"off\",\n QueuingStatusCode = \"200\",\n CustomPageHtml = \"\",\n NewUsersPerMinute = \"200\",\n SessionDuration = \"5\",\n Language = \"zhcn\",\n TotalActiveUsers = \"300\",\n QueuingMethod = \"fifo\",\n HostNameAndPaths = new[]\n {\n new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs\n {\n Domain = \"sub_domain.com\",\n Path = \"/example\",\n Subdomain = \"example_sub_domain.com.\",\n },\n },\n });\n\n var defaultWaitingRoomRule = new AliCloud.Esa.WaitingRoomRule(\"default\", new()\n {\n Rule = \"(http.host eq \\\"video.example.com\\\")\",\n WaitingRoomId = defaultWaitingRoom.WaitingRoomId,\n RuleName = \"WaitingRoomRule_example1\",\n Status = \"off\",\n SiteId = defaultSite.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := esa.GetSites(ctx, \u0026esa.GetSitesArgs{\n\t\t\tPlanSubscribeType: pulumi.StringRef(\"enterpriseplan\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSite, err := esa.NewSite(ctx, \"default\", \u0026esa.SiteArgs{\n\t\t\tSiteName: pulumi.String(\"terraform.site\"),\n\t\t\tInstanceId: pulumi.String(_default.Sites[0].InstanceId),\n\t\t\tCoverage: pulumi.String(\"overseas\"),\n\t\t\tAccessType: pulumi.String(\"NS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWaitingRoom, err := esa.NewWaitingRoom(ctx, \"default\", \u0026esa.WaitingRoomArgs{\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.ID(),\n\t\t\tJsonResponseEnable: pulumi.String(\"off\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tWaitingRoomType: pulumi.String(\"default\"),\n\t\t\tDisableSessionRenewalEnable: pulumi.String(\"off\"),\n\t\t\tCookieName: pulumi.String(\"__aliwaitingroom_example\"),\n\t\t\tWaitingRoomName: pulumi.String(\"waitingroom_example\"),\n\t\t\tQueueAllEnable: pulumi.String(\"off\"),\n\t\t\tQueuingStatusCode: pulumi.String(\"200\"),\n\t\t\tCustomPageHtml: pulumi.String(\"\"),\n\t\t\tNewUsersPerMinute: pulumi.String(\"200\"),\n\t\t\tSessionDuration: pulumi.String(\"5\"),\n\t\t\tLanguage: pulumi.String(\"zhcn\"),\n\t\t\tTotalActiveUsers: pulumi.String(\"300\"),\n\t\t\tQueuingMethod: pulumi.String(\"fifo\"),\n\t\t\tHostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{\n\t\t\t\t\u0026esa.WaitingRoomHostNameAndPathArgs{\n\t\t\t\t\tDomain: pulumi.String(\"sub_domain.com\"),\n\t\t\t\t\tPath: pulumi.String(\"/example\"),\n\t\t\t\t\tSubdomain: pulumi.String(\"example_sub_domain.com.\"),\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 = esa.NewWaitingRoomRule(ctx, \"default\", \u0026esa.WaitingRoomRuleArgs{\n\t\t\tRule: pulumi.String(\"(http.host eq \\\"video.example.com\\\")\"),\n\t\t\tWaitingRoomId: defaultWaitingRoom.WaitingRoomId,\n\t\t\tRuleName: pulumi.String(\"WaitingRoomRule_example1\"),\n\t\t\tStatus: pulumi.String(\"off\"),\n\t\t\tSiteId: defaultSite.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.alicloud.esa.EsaFunctions;\nimport com.pulumi.alicloud.esa.inputs.GetSitesArgs;\nimport com.pulumi.alicloud.esa.Site;\nimport com.pulumi.alicloud.esa.SiteArgs;\nimport com.pulumi.alicloud.esa.WaitingRoom;\nimport com.pulumi.alicloud.esa.WaitingRoomArgs;\nimport com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;\nimport com.pulumi.alicloud.esa.WaitingRoomRule;\nimport com.pulumi.alicloud.esa.WaitingRoomRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = EsaFunctions.getSites(GetSitesArgs.builder()\n .planSubscribeType(\"enterpriseplan\")\n .build());\n\n var defaultSite = new Site(\"defaultSite\", SiteArgs.builder()\n .siteName(\"terraform.site\")\n .instanceId(default_.sites()[0].instanceId())\n .coverage(\"overseas\")\n .accessType(\"NS\")\n .build());\n\n var defaultWaitingRoom = new WaitingRoom(\"defaultWaitingRoom\", WaitingRoomArgs.builder()\n .status(\"off\")\n .siteId(defaultSite.id())\n .jsonResponseEnable(\"off\")\n .description(\"example\")\n .waitingRoomType(\"default\")\n .disableSessionRenewalEnable(\"off\")\n .cookieName(\"__aliwaitingroom_example\")\n .waitingRoomName(\"waitingroom_example\")\n .queueAllEnable(\"off\")\n .queuingStatusCode(\"200\")\n .customPageHtml(\"\")\n .newUsersPerMinute(\"200\")\n .sessionDuration(\"5\")\n .language(\"zhcn\")\n .totalActiveUsers(\"300\")\n .queuingMethod(\"fifo\")\n .hostNameAndPaths(WaitingRoomHostNameAndPathArgs.builder()\n .domain(\"sub_domain.com\")\n .path(\"/example\")\n .subdomain(\"example_sub_domain.com.\")\n .build())\n .build());\n\n var defaultWaitingRoomRule = new WaitingRoomRule(\"defaultWaitingRoomRule\", WaitingRoomRuleArgs.builder()\n .rule(\"(http.host eq \\\"video.example.com\\\")\")\n .waitingRoomId(defaultWaitingRoom.waitingRoomId())\n .ruleName(\"WaitingRoomRule_example1\")\n .status(\"off\")\n .siteId(defaultSite.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSite:\n type: alicloud:esa:Site\n name: default\n properties:\n siteName: terraform.site\n instanceId: ${default.sites[0].instanceId}\n coverage: overseas\n accessType: NS\n defaultWaitingRoom:\n type: alicloud:esa:WaitingRoom\n name: default\n properties:\n status: off\n siteId: ${defaultSite.id}\n jsonResponseEnable: off\n description: example\n waitingRoomType: default\n disableSessionRenewalEnable: off\n cookieName: __aliwaitingroom_example\n waitingRoomName: waitingroom_example\n queueAllEnable: off\n queuingStatusCode: '200'\n customPageHtml: \"\"\n newUsersPerMinute: '200'\n sessionDuration: '5'\n language: zhcn\n totalActiveUsers: '300'\n queuingMethod: fifo\n hostNameAndPaths:\n - domain: sub_domain.com\n path: /example\n subdomain: example_sub_domain.com.\n defaultWaitingRoomRule:\n type: alicloud:esa:WaitingRoomRule\n name: default\n properties:\n rule: (http.host eq \"video.example.com\")\n waitingRoomId: ${defaultWaitingRoom.waitingRoomId}\n ruleName: WaitingRoomRule_example1\n status: off\n siteId: ${defaultSite.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:esa:getSites\n arguments:\n planSubscribeType: enterpriseplan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESA Waiting Room Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:esa/waitingRoomRule:WaitingRoomRule example \u003csite_id\u003e:\u003cwaiting_room_id\u003e:\u003cwaiting_room_rule_id\u003e\n```\n\n", "properties": { "rule": { "type": "string", @@ -179178,12 +182995,12 @@ "description": "Rule name, optional, used to query by waiting room bypass rule name.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n" }, "status": { "type": "string", - "description": "Rule enabled status, supporting:\n-'on': means enabled.\n-'off': means disabled.\n" + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" }, "waitingRoomId": { "type": "string", @@ -179212,13 +183029,13 @@ "description": "Rule name, optional, used to query by waiting room bypass rule name.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, "status": { "type": "string", - "description": "Rule enabled status, supporting:\n-'on': means enabled.\n-'off': means disabled.\n" + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" }, "waitingRoomId": { "type": "string", @@ -179245,13 +183062,13 @@ "description": "Rule name, optional, used to query by waiting room bypass rule name.\n" }, "siteId": { - "type": "integer", + "type": "string", "description": "The site ID, which can be obtained by calling the ListSites API.\n", "willReplaceOnChanges": true }, "status": { "type": "string", - "description": "Rule enabled status, supporting:\n-'on': means enabled.\n-'off': means disabled.\n" + "description": "Rule switch. When adding global configuration, this parameter does not need to be set. Value range:\n- on: open.\n- off: close.\n" }, "waitingRoomId": { "type": "string", @@ -179267,7 +183084,7 @@ } }, "alicloud:ess/alarm:Alarm": { - "description": "Provides a ESS alarm task resource.\n\nFor information about ess alarm, see [CreateAlarm](https://www.alibabacloud.com/help/en/auto-scaling/latest/createalarm).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 20,\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\nconst defaultScalingRule = new alicloud.ess.ScalingRule(\"default\", {\n scalingRuleName: myName,\n scalingGroupId: defaultScalingGroup.id,\n adjustmentType: \"TotalCapacity\",\n adjustmentValue: 2,\n cooldown: 60,\n});\nconst defaultAlarm = new alicloud.ess.Alarm(\"default\", {\n name: myName,\n description: name,\n alarmActions: [defaultScalingRule.ari],\n scalingGroupId: defaultScalingGroup.id,\n metricType: \"system\",\n metricName: \"CpuUtilization\",\n period: 300,\n statistics: \"Average\",\n threshold: \"200.3\",\n comparisonOperator: \"\u003e=\",\n evaluationCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=20,\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\ndefault_scaling_rule = alicloud.ess.ScalingRule(\"default\",\n scaling_rule_name=my_name,\n scaling_group_id=default_scaling_group.id,\n adjustment_type=\"TotalCapacity\",\n adjustment_value=2,\n cooldown=60)\ndefault_alarm = alicloud.ess.Alarm(\"default\",\n name=my_name,\n description=name,\n alarm_actions=[default_scaling_rule.ari],\n scaling_group_id=default_scaling_group.id,\n metric_type=\"system\",\n metric_name=\"CpuUtilization\",\n period=300,\n statistics=\"Average\",\n threshold=\"200.3\",\n comparison_operator=\"\u003e=\",\n evaluation_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 20,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n var defaultScalingRule = new AliCloud.Ess.ScalingRule(\"default\", new()\n {\n ScalingRuleName = myName,\n ScalingGroupId = defaultScalingGroup.Id,\n AdjustmentType = \"TotalCapacity\",\n AdjustmentValue = 2,\n Cooldown = 60,\n });\n\n var defaultAlarm = new AliCloud.Ess.Alarm(\"default\", new()\n {\n Name = myName,\n Description = name,\n AlarmActions = new[]\n {\n defaultScalingRule.Ari,\n },\n ScalingGroupId = defaultScalingGroup.Id,\n MetricType = \"system\",\n MetricName = \"CpuUtilization\",\n Period = 300,\n Statistics = \"Average\",\n Threshold = \"200.3\",\n ComparisonOperator = \"\u003e=\",\n EvaluationCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(20),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingRule, err := ess.NewScalingRule(ctx, \"default\", \u0026ess.ScalingRuleArgs{\n\t\t\tScalingRuleName: pulumi.String(myName),\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tAdjustmentType: pulumi.String(\"TotalCapacity\"),\n\t\t\tAdjustmentValue: pulumi.Int(2),\n\t\t\tCooldown: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewAlarm(ctx, \"default\", \u0026ess.AlarmArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\tdefaultScalingRule.Ari,\n\t\t\t},\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tMetricType: pulumi.String(\"system\"),\n\t\t\tMetricName: pulumi.String(\"CpuUtilization\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.String(\"200.3\"),\n\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\tEvaluationCount: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingRule;\nimport com.pulumi.alicloud.ess.ScalingRuleArgs;\nimport com.pulumi.alicloud.ess.Alarm;\nimport com.pulumi.alicloud.ess.AlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(20)\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n var defaultScalingRule = new ScalingRule(\"defaultScalingRule\", ScalingRuleArgs.builder()\n .scalingRuleName(myName)\n .scalingGroupId(defaultScalingGroup.id())\n .adjustmentType(\"TotalCapacity\")\n .adjustmentValue(2)\n .cooldown(60)\n .build());\n\n var defaultAlarm = new Alarm(\"defaultAlarm\", AlarmArgs.builder()\n .name(myName)\n .description(name)\n .alarmActions(defaultScalingRule.ari())\n .scalingGroupId(defaultScalingGroup.id())\n .metricType(\"system\")\n .metricName(\"CpuUtilization\")\n .period(300)\n .statistics(\"Average\")\n .threshold(\"200.3\")\n .comparisonOperator(\"\u003e=\")\n .evaluationCount(2)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n defaultCooldown: 20\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n defaultScalingRule:\n type: alicloud:ess:ScalingRule\n name: default\n properties:\n scalingRuleName: ${myName}\n scalingGroupId: ${defaultScalingGroup.id}\n adjustmentType: TotalCapacity\n adjustmentValue: 2\n cooldown: 60\n defaultAlarm:\n type: alicloud:ess:Alarm\n name: default\n properties:\n name: ${myName}\n description: ${name}\n alarmActions:\n - ${defaultScalingRule.ari}\n scalingGroupId: ${defaultScalingGroup.id}\n metricType: system\n metricName: CpuUtilization\n period: 300\n statistics: Average\n threshold: 200.3\n comparisonOperator: '\u003e='\n evaluationCount: 2\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing autoscaling-rule module \nto create alarm task, different type rules and scheduled task one-click.\n\n## Import\n\nEss alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/alarm:Alarm example asg-2ze500_045efffe-4d05\n```\n\n", + "description": "Provides a ESS alarm task resource.\n\nFor information about ess alarm, see [CreateAlarm](https://www.alibabacloud.com/help/en/auto-scaling/latest/createalarm).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 20,\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\nconst defaultScalingRule = new alicloud.ess.ScalingRule(\"default\", {\n scalingRuleName: myName,\n scalingGroupId: defaultScalingGroup.id,\n adjustmentType: \"TotalCapacity\",\n adjustmentValue: 2,\n cooldown: 60,\n});\nconst defaultAlarm = new alicloud.ess.Alarm(\"default\", {\n name: myName,\n description: name,\n alarmActions: [defaultScalingRule.ari],\n scalingGroupId: defaultScalingGroup.id,\n metricType: \"system\",\n metricName: \"CpuUtilization\",\n period: 300,\n statistics: \"Average\",\n threshold: \"200.3\",\n comparisonOperator: \"\u003e=\",\n evaluationCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=20,\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\ndefault_scaling_rule = alicloud.ess.ScalingRule(\"default\",\n scaling_rule_name=my_name,\n scaling_group_id=default_scaling_group.id,\n adjustment_type=\"TotalCapacity\",\n adjustment_value=2,\n cooldown=60)\ndefault_alarm = alicloud.ess.Alarm(\"default\",\n name=my_name,\n description=name,\n alarm_actions=[default_scaling_rule.ari],\n scaling_group_id=default_scaling_group.id,\n metric_type=\"system\",\n metric_name=\"CpuUtilization\",\n period=300,\n statistics=\"Average\",\n threshold=\"200.3\",\n comparison_operator=\"\u003e=\",\n evaluation_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 20,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n var defaultScalingRule = new AliCloud.Ess.ScalingRule(\"default\", new()\n {\n ScalingRuleName = myName,\n ScalingGroupId = defaultScalingGroup.Id,\n AdjustmentType = \"TotalCapacity\",\n AdjustmentValue = 2,\n Cooldown = 60,\n });\n\n var defaultAlarm = new AliCloud.Ess.Alarm(\"default\", new()\n {\n Name = myName,\n Description = name,\n AlarmActions = new[]\n {\n defaultScalingRule.Ari,\n },\n ScalingGroupId = defaultScalingGroup.Id,\n MetricType = \"system\",\n MetricName = \"CpuUtilization\",\n Period = 300,\n Statistics = \"Average\",\n Threshold = \"200.3\",\n ComparisonOperator = \"\u003e=\",\n EvaluationCount = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(20),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingRule, err := ess.NewScalingRule(ctx, \"default\", \u0026ess.ScalingRuleArgs{\n\t\t\tScalingRuleName: pulumi.String(myName),\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tAdjustmentType: pulumi.String(\"TotalCapacity\"),\n\t\t\tAdjustmentValue: pulumi.Int(2),\n\t\t\tCooldown: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewAlarm(ctx, \"default\", \u0026ess.AlarmArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\tdefaultScalingRule.Ari,\n\t\t\t},\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tMetricType: pulumi.String(\"system\"),\n\t\t\tMetricName: pulumi.String(\"CpuUtilization\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tStatistics: pulumi.String(\"Average\"),\n\t\t\tThreshold: pulumi.String(\"200.3\"),\n\t\t\tComparisonOperator: pulumi.String(\"\u003e=\"),\n\t\t\tEvaluationCount: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingRule;\nimport com.pulumi.alicloud.ess.ScalingRuleArgs;\nimport com.pulumi.alicloud.ess.Alarm;\nimport com.pulumi.alicloud.ess.AlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(20)\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n var defaultScalingRule = new ScalingRule(\"defaultScalingRule\", ScalingRuleArgs.builder()\n .scalingRuleName(myName)\n .scalingGroupId(defaultScalingGroup.id())\n .adjustmentType(\"TotalCapacity\")\n .adjustmentValue(2)\n .cooldown(60)\n .build());\n\n var defaultAlarm = new Alarm(\"defaultAlarm\", AlarmArgs.builder()\n .name(myName)\n .description(name)\n .alarmActions(defaultScalingRule.ari())\n .scalingGroupId(defaultScalingGroup.id())\n .metricType(\"system\")\n .metricName(\"CpuUtilization\")\n .period(300)\n .statistics(\"Average\")\n .threshold(\"200.3\")\n .comparisonOperator(\"\u003e=\")\n .evaluationCount(2)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n defaultCooldown: 20\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n defaultScalingRule:\n type: alicloud:ess:ScalingRule\n name: default\n properties:\n scalingRuleName: ${myName}\n scalingGroupId: ${defaultScalingGroup.id}\n adjustmentType: TotalCapacity\n adjustmentValue: 2\n cooldown: 60\n defaultAlarm:\n type: alicloud:ess:Alarm\n name: default\n properties:\n name: ${myName}\n description: ${name}\n alarmActions:\n - ${defaultScalingRule.ari}\n scalingGroupId: ${defaultScalingGroup.id}\n metricType: system\n metricName: CpuUtilization\n period: 300\n statistics: Average\n threshold: 200.3\n comparisonOperator: '\u003e='\n evaluationCount: 2\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing autoscaling-rule module \nto create alarm task, different type rules and scheduled task one-click.\n\n## Import\n\nEss alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/alarm:Alarm example asg-2ze500_045efffe-4d05\n```\n\n", "properties": { "alarmActions": { "type": "array", @@ -179542,7 +183359,7 @@ } }, "alicloud:ess/albServerGroupAttachment:AlbServerGroupAttachment": { - "description": "Attaches/Detaches alb server group to a specified scaling group.\n\nFor information about alb server group attachment, see [AttachAlbServerGroups](https://www.alibabacloud.com/help/en/doc-detail/266800.html).\n\n\u003e **NOTE:** If scaling group's network type is `VPC`, the alb server groups must be in the same `VPC`.\n\n\u003e **NOTE:** Alb server group attachment is defined uniquely by \u003cspan pulumi-lang-nodejs=\"`scalingGroupId`\" pulumi-lang-dotnet=\"`ScalingGroupId`\" pulumi-lang-go=\"`scalingGroupId`\" pulumi-lang-python=\"`scaling_group_id`\" pulumi-lang-yaml=\"`scalingGroupId`\" pulumi-lang-java=\"`scalingGroupId`\"\u003e`scaling_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`albServerGroupId`\" pulumi-lang-dotnet=\"`AlbServerGroupId`\" pulumi-lang-go=\"`albServerGroupId`\" pulumi-lang-python=\"`alb_server_group_id`\" pulumi-lang-yaml=\"`albServerGroupId`\" pulumi-lang-java=\"`albServerGroupId`\"\u003e`alb_server_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e.\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-dotnet=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-go=\"`ess.AlbServerGroupAttachment`\" pulumi-lang-python=\"`ess.AlbServerGroupAttachment`\" pulumi-lang-yaml=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-java=\"`alicloud.ess.AlbServerGroupAttachment`\"\u003e`alicloud.ess.AlbServerGroupAttachment`\u003c/span\u003e don't support modification.\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\"OldestInstance\"],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n serverGroupName: myName,\n vpcId: defaultNetwork.id,\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n});\nconst defaultAlbServerGroupAttachment = new alicloud.ess.AlbServerGroupAttachment(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n albServerGroupId: defaultServerGroup.id,\n port: 9000,\n weight: 50,\n forceAttach: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\"OldestInstance\"],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n enable=True)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n server_group_name=my_name,\n vpc_id=default_network.id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n })\ndefault_alb_server_group_attachment = alicloud.ess.AlbServerGroupAttachment(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n alb_server_group_id=default_server_group.id,\n port=9000,\n weight=50,\n force_attach=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n ServerGroupName = myName,\n VpcId = defaultNetwork.Id,\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n });\n\n var defaultAlbServerGroupAttachment = new AliCloud.Ess.AlbServerGroupAttachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n AlbServerGroupId = defaultServerGroup.Id,\n Port = 9000,\n Weight = 50,\n ForceAttach = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tServerGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewAlbServerGroupAttachment(ctx, \"default\", \u0026ess.AlbServerGroupAttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tAlbServerGroupId: defaultServerGroup.ID(),\n\t\t\tPort: pulumi.Int(9000),\n\t\t\tWeight: pulumi.Int(50),\n\t\t\tForceAttach: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.ess.AlbServerGroupAttachment;\nimport com.pulumi.alicloud.ess.AlbServerGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies(\"OldestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .serverGroupName(myName)\n .vpcId(defaultNetwork.id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .build());\n\n var defaultAlbServerGroupAttachment = new AlbServerGroupAttachment(\"defaultAlbServerGroupAttachment\", AlbServerGroupAttachmentArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .albServerGroupId(defaultServerGroup.id())\n .port(9000)\n .weight(50)\n .forceAttach(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '0'\n maxSize: '2'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n enable: true\n defaultServerGroup:\n type: alicloud:alb:ServerGroup\n name: default\n properties:\n serverGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n healthCheckConfig:\n healthCheckEnabled: 'false'\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n defaultAlbServerGroupAttachment:\n type: alicloud:ess:AlbServerGroupAttachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n albServerGroupId: ${defaultServerGroup.id}\n port: 9000\n weight: 50\n forceAttach: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESS alb server groups can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/albServerGroupAttachment:AlbServerGroupAttachment example asg-xxx:sgp-xxx:5000\n```\n\n", + "description": "Attaches/Detaches alb server group to a specified scaling group.\n\nFor information about alb server group attachment, see [AttachAlbServerGroups](https://www.alibabacloud.com/help/en/doc-detail/266800.html).\n\n\u003e **NOTE:** If scaling group's network type is `VPC`, the alb server groups must be in the same `VPC`.\n\n\u003e **NOTE:** Alb server group attachment is defined uniquely by \u003cspan pulumi-lang-nodejs=\"`scalingGroupId`\" pulumi-lang-dotnet=\"`ScalingGroupId`\" pulumi-lang-go=\"`scalingGroupId`\" pulumi-lang-python=\"`scaling_group_id`\" pulumi-lang-yaml=\"`scalingGroupId`\" pulumi-lang-java=\"`scalingGroupId`\"\u003e`scaling_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`albServerGroupId`\" pulumi-lang-dotnet=\"`AlbServerGroupId`\" pulumi-lang-go=\"`albServerGroupId`\" pulumi-lang-python=\"`alb_server_group_id`\" pulumi-lang-yaml=\"`albServerGroupId`\" pulumi-lang-java=\"`albServerGroupId`\"\u003e`alb_server_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e.\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-dotnet=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-go=\"`ess.AlbServerGroupAttachment`\" pulumi-lang-python=\"`ess.AlbServerGroupAttachment`\" pulumi-lang-yaml=\"`alicloud.ess.AlbServerGroupAttachment`\" pulumi-lang-java=\"`alicloud.ess.AlbServerGroupAttachment`\"\u003e`alicloud.ess.AlbServerGroupAttachment`\u003c/span\u003e don't support modification.\n\n\u003e **NOTE:** Available since v1.158.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\"OldestInstance\"],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n serverGroupName: myName,\n vpcId: defaultNetwork.id,\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n});\nconst defaultAlbServerGroupAttachment = new alicloud.ess.AlbServerGroupAttachment(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n albServerGroupId: defaultServerGroup.id,\n port: 9000,\n weight: 50,\n forceAttach: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\"OldestInstance\"],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n enable=True)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n server_group_name=my_name,\n vpc_id=default_network.id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n })\ndefault_alb_server_group_attachment = alicloud.ess.AlbServerGroupAttachment(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n alb_server_group_id=default_server_group.id,\n port=9000,\n weight=50,\n force_attach=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n ServerGroupName = myName,\n VpcId = defaultNetwork.Id,\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n });\n\n var defaultAlbServerGroupAttachment = new AliCloud.Ess.AlbServerGroupAttachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n AlbServerGroupId = defaultServerGroup.Id,\n Port = 9000,\n Weight = 50,\n ForceAttach = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tServerGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewAlbServerGroupAttachment(ctx, \"default\", \u0026ess.AlbServerGroupAttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tAlbServerGroupId: defaultServerGroup.ID(),\n\t\t\tPort: pulumi.Int(9000),\n\t\t\tWeight: pulumi.Int(50),\n\t\t\tForceAttach: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.ess.AlbServerGroupAttachment;\nimport com.pulumi.alicloud.ess.AlbServerGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies(\"OldestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .serverGroupName(myName)\n .vpcId(defaultNetwork.id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .build());\n\n var defaultAlbServerGroupAttachment = new AlbServerGroupAttachment(\"defaultAlbServerGroupAttachment\", AlbServerGroupAttachmentArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .albServerGroupId(defaultServerGroup.id())\n .port(9000)\n .weight(50)\n .forceAttach(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '0'\n maxSize: '2'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n enable: true\n defaultServerGroup:\n type: alicloud:alb:ServerGroup\n name: default\n properties:\n serverGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n healthCheckConfig:\n healthCheckEnabled: 'false'\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n defaultAlbServerGroupAttachment:\n type: alicloud:ess:AlbServerGroupAttachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n albServerGroupId: ${defaultServerGroup.id}\n port: 9000\n weight: 50\n forceAttach: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESS alb server groups can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/albServerGroupAttachment:AlbServerGroupAttachment example asg-xxx:sgp-xxx:5000\n```\n\n", "properties": { "albServerGroupId": { "type": "string", @@ -179635,7 +183452,7 @@ } }, "alicloud:ess/attachment:Attachment": { - "description": "Attaches several ECS instances to a specified scaling group or remove them from it.\n\n\u003e **NOTE:** ECS instances can be attached or remove only when the scaling group is active, and it has no scaling activity in progress.\n\n\u003e **NOTE:** There are two types ECS instances in a scaling group: \"AutoCreated\" and \"Attached\". The total number of them can not larger than the scaling group \"MaxSize\".\n\n\u003e **NOTE:** Available since v1.6.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g9i\",\n}));\nconst defaultGetImages = defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e alicloud.ecs.getImages({\n instanceType: defaultGetInstanceTypes.instanceTypes?.[0]?.id,\n mostRecent: true,\n owners: \"system\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n systemDiskCategory: \"cloud_essd\",\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultInstance.push(new alicloud.ecs.Instance(`default-${range.value}`, {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n instanceName: name,\n }));\n}\nconst defaultAttachment = new alicloud.ess.Attachment(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n instanceIds: [\n defaultInstance[0].id,\n defaultInstance[1].id,\n ],\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g9i\")\ndefault_get_images = alicloud.ecs.get_images(instance_type=default_get_instance_types.instance_types[0].id,\n most_recent=True,\n owners=\"system\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_get_switches.ids[0]])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n system_disk_category=\"cloud_essd\",\n force_delete=True,\n active=True,\n enable=True)\ndefault_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_instance.append(alicloud.ecs.Instance(f\"default-{range['value']}\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_get_switches.ids[0],\n instance_name=name))\ndefault_attachment = alicloud.ess.Attachment(\"default\",\n scaling_group_id=default_scaling_group.id,\n instance_ids=[\n default_instance[0].id,\n default_instance[1].id,\n ],\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g9i\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n SystemDiskCategory = \"cloud_essd\",\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.Ecs.Instance($\"default-{range.Value}\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n InstanceName = name,\n }));\n }\n var defaultAttachment = new AliCloud.Ess.Attachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n InstanceIds = new[]\n {\n defaultInstance[0].Id,\n defaultInstance[1].Id,\n },\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g9i\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tInstanceType: pulumi.StringRef(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\t_, err = ess.NewAttachment(ctx, \"default\", \u0026ess.AttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance[0].ID(),\n\t\t\t\tdefaultInstance[1].ID(),\n\t\t\t},\n\t\t\tForce: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ess.Attachment;\nimport com.pulumi.alicloud.ess.AttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g9i\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultGetSwitches.ids()[0])\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .systemDiskCategory(\"cloud_essd\")\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .instanceName(name)\n .build());\n\n \n}\n var defaultAttachment = new Attachment(\"defaultAttachment\", AttachmentArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .instanceIds( \n defaultInstance[0].id(),\n defaultInstance[1].id())\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 0\n maxSize: 2\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n systemDiskCategory: cloud_essd\n forceDelete: true\n active: true\n enable: true\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '10'\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_essd\n vswitchId: ${defaultGetSwitches.ids[0]}\n instanceName: ${name}\n options: {}\n defaultAttachment:\n type: alicloud:ess:Attachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n instanceIds:\n - ${defaultInstance[0].id}\n - ${defaultInstance[1].id}\n force: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g9i\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n mostRecent: true\n owners: system\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESS attachment can be imported using the id or scaling group id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/attachment:Attachment example asg-abc123456\n```\n\n", + "description": "Attaches several ECS instances to a specified scaling group or remove them from it.\n\n\u003e **NOTE:** ECS instances can be attached or remove only when the scaling group is active, and it has no scaling activity in progress.\n\n\u003e **NOTE:** There are two types ECS instances in a scaling group: \"AutoCreated\" and \"Attached\". The total number of them can not larger than the scaling group \"MaxSize\".\n\n\u003e **NOTE:** Available since v1.6.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g9i\",\n}));\nconst defaultGetImages = defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e alicloud.ecs.getImages({\n instanceType: defaultGetInstanceTypes.instanceTypes?.[0]?.id,\n mostRecent: true,\n owners: \"system\",\n}));\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0])});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n systemDiskCategory: \"cloud_essd\",\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultInstance.push(new alicloud.ecs.Instance(`default-${range.value}`, {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_essd\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n instanceName: name,\n }));\n}\nconst defaultAttachment = new alicloud.ess.Attachment(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n instanceIds: [\n defaultInstance[0].id,\n defaultInstance[1].id,\n ],\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g9i\")\ndefault_get_images = alicloud.ecs.get_images(instance_type=default_get_instance_types.instance_types[0].id,\n most_recent=True,\n owners=\"system\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"10.4.0.0/16\")\ndefault_get_switches = alicloud.vpc.get_switches(cidr_block=\"10.4.0.0/24\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_get_networks.ids[0])\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_get_switches.ids[0]])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n system_disk_category=\"cloud_essd\",\n force_delete=True,\n active=True,\n enable=True)\ndefault_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_instance.append(alicloud.ecs.Instance(f\"default-{range['value']}\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[default_security_group.id],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_essd\",\n vswitch_id=default_get_switches.ids[0],\n instance_name=name))\ndefault_attachment = alicloud.ess.Attachment(\"default\",\n scaling_group_id=default_scaling_group.id,\n instance_ids=[\n default_instance[0].id,\n default_instance[1].id,\n ],\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g9i\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n SystemDiskCategory = \"cloud_essd\",\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.Ecs.Instance($\"default-{range.Value}\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_essd\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n InstanceName = name,\n }));\n }\n var defaultAttachment = new AliCloud.Ess.Attachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n InstanceIds = new[]\n {\n defaultInstance[0].Id,\n defaultInstance[1].Id,\n },\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g9i\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tInstanceType: pulumi.StringRef(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tCidrBlock: pulumi.StringRef(\"10.4.0.0/24\"),\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\t_, err = ess.NewAttachment(ctx, \"default\", \u0026ess.AttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance[0].ID(),\n\t\t\t\tdefaultInstance[1].ID(),\n\t\t\t},\n\t\t\tForce: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ess.Attachment;\nimport com.pulumi.alicloud.ess.AttachmentArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g9i\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultGetSwitches.ids()[0])\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .systemDiskCategory(\"cloud_essd\")\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_essd\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .instanceName(name)\n .build());\n\n \n}\n var defaultAttachment = new Attachment(\"defaultAttachment\", AttachmentArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .instanceIds( \n defaultInstance[0].id(),\n defaultInstance[1].id())\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 0\n maxSize: 2\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n systemDiskCategory: cloud_essd\n forceDelete: true\n active: true\n enable: true\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroups:\n - ${defaultSecurityGroup.id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '10'\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_essd\n vswitchId: ${defaultGetSwitches.ids[0]}\n instanceName: ${name}\n options: {}\n defaultAttachment:\n type: alicloud:ess:Attachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n instanceIds:\n - ${defaultInstance[0].id}\n - ${defaultInstance[1].id}\n force: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g9i\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n mostRecent: true\n owners: system\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 10.4.0.0/16\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESS attachment can be imported using the id or scaling group id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/attachment:Attachment example asg-abc123456\n```\n\n", "properties": { "entrusted": { "type": "boolean", @@ -179755,7 +183572,7 @@ } }, "alicloud:ess/eciScalingConfiguration:EciScalingConfiguration": { - "description": "Provides a ESS eci scaling configuration resource.\n\nFor information about ess eci scaling configuration, see [CreateEciScalingConfiguration](https://www.alibabacloud.com/help/en/auto-scaling/latest/create-eci-scaling-configuration).\n\n\u003e **NOTE:** Available since v1.164.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n groupType: \"ECI\",\n});\nconst defaultEciScalingConfiguration = new alicloud.ess.EciScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n cpu: 2,\n memory: 4,\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n containerGroupName: \"container-group-1649839595174\",\n containers: [{\n name: \"container-1\",\n image: \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id],\n group_type=\"ECI\")\ndefault_eci_scaling_configuration = alicloud.ess.EciScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n cpu=2,\n memory=4,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n container_group_name=\"container-group-1649839595174\",\n containers=[{\n \"name\": \"container-1\",\n \"image\": \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n GroupType = \"ECI\",\n });\n\n var defaultEciScalingConfiguration = new AliCloud.Ess.EciScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n Cpu = 2,\n Memory = 4,\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n ContainerGroupName = \"container-group-1649839595174\",\n Containers = new[]\n {\n new AliCloud.Ess.Inputs.EciScalingConfigurationContainerArgs\n {\n Name = \"container-1\",\n Image = \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tGroupType: pulumi.String(\"ECI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewEciScalingConfiguration(ctx, \"default\", \u0026ess.EciScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tCpu: pulumi.Float64(2),\n\t\t\tMemory: pulumi.Float64(4),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tContainerGroupName: pulumi.String(\"container-group-1649839595174\"),\n\t\t\tContainers: ess.EciScalingConfigurationContainerArray{\n\t\t\t\t\u0026ess.EciScalingConfigurationContainerArgs{\n\t\t\t\t\tName: pulumi.String(\"container-1\"),\n\t\t\t\t\tImage: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.EciScalingConfiguration;\nimport com.pulumi.alicloud.ess.EciScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.inputs.EciScalingConfigurationContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .groupType(\"ECI\")\n .build());\n\n var defaultEciScalingConfiguration = new EciScalingConfiguration(\"defaultEciScalingConfiguration\", EciScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .cpu(2.0)\n .memory(4.0)\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .containerGroupName(\"container-group-1649839595174\")\n .containers(EciScalingConfigurationContainerArgs.builder()\n .name(\"container-1\")\n .image(\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 0\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n groupType: ECI\n defaultEciScalingConfiguration:\n type: alicloud:ess:EciScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n cpu: 2\n memory: 4\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n containerGroupName: container-group-1649839595174\n containers:\n - name: container-1\n image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESS eci scaling configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/eciScalingConfiguration:EciScalingConfiguration example asc-abc123456\n```\n\n", + "description": "Provides a ESS eci scaling configuration resource.\n\nFor information about ess eci scaling configuration, see [CreateEciScalingConfiguration](https://www.alibabacloud.com/help/en/auto-scaling/latest/create-eci-scaling-configuration).\n\n\u003e **NOTE:** Available since v1.164.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n groupType: \"ECI\",\n});\nconst defaultEciScalingConfiguration = new alicloud.ess.EciScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n cpu: 2,\n memory: 4,\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n containerGroupName: \"container-group-1649839595174\",\n containers: [{\n name: \"container-1\",\n image: \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id],\n group_type=\"ECI\")\ndefault_eci_scaling_configuration = alicloud.ess.EciScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n cpu=2,\n memory=4,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n container_group_name=\"container-group-1649839595174\",\n containers=[{\n \"name\": \"container-1\",\n \"image\": \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n GroupType = \"ECI\",\n });\n\n var defaultEciScalingConfiguration = new AliCloud.Ess.EciScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n Cpu = 2,\n Memory = 4,\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n ContainerGroupName = \"container-group-1649839595174\",\n Containers = new[]\n {\n new AliCloud.Ess.Inputs.EciScalingConfigurationContainerArgs\n {\n Name = \"container-1\",\n Image = \"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tGroupType: pulumi.String(\"ECI\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewEciScalingConfiguration(ctx, \"default\", \u0026ess.EciScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tCpu: pulumi.Float64(2),\n\t\t\tMemory: pulumi.Float64(4),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tContainerGroupName: pulumi.String(\"container-group-1649839595174\"),\n\t\t\tContainers: ess.EciScalingConfigurationContainerArray{\n\t\t\t\t\u0026ess.EciScalingConfigurationContainerArgs{\n\t\t\t\t\tName: pulumi.String(\"container-1\"),\n\t\t\t\t\tImage: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.EciScalingConfiguration;\nimport com.pulumi.alicloud.ess.EciScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.inputs.EciScalingConfigurationContainerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .groupType(\"ECI\")\n .build());\n\n var defaultEciScalingConfiguration = new EciScalingConfiguration(\"defaultEciScalingConfiguration\", EciScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .cpu(2.0)\n .memory(4.0)\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .containerGroupName(\"container-group-1649839595174\")\n .containers(EciScalingConfigurationContainerArgs.builder()\n .name(\"container-1\")\n .image(\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 0\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n groupType: ECI\n defaultEciScalingConfiguration:\n type: alicloud:ess:EciScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n cpu: 2\n memory: 4\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n containerGroupName: container-group-1649839595174\n containers:\n - name: container-1\n image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESS eci scaling configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/eciScalingConfiguration:EciScalingConfiguration example asc-abc123456\n```\n\n", "properties": { "acrRegistryInfos": { "type": "array", @@ -180588,7 +184405,7 @@ } }, "alicloud:ess/lifecycleHook:LifecycleHook": { - "description": "Provides a ESS lifecycle hook resource. More about Ess lifecycle hook, see [LifecycleHook](https://www.alibabacloud.com/help/doc-detail/73839.htm).\n\n\u003e **NOTE:** Available since v1.13.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n});\nconst defaultLifecycleHook = new alicloud.ess.LifecycleHook(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n name: myName,\n lifecycleTransition: \"SCALE_OUT\",\n heartbeatTimeout: 400,\n notificationMetadata: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ])\ndefault_lifecycle_hook = alicloud.ess.LifecycleHook(\"default\",\n scaling_group_id=default_scaling_group.id,\n name=my_name,\n lifecycle_transition=\"SCALE_OUT\",\n heartbeat_timeout=400,\n notification_metadata=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n });\n\n var defaultLifecycleHook = new AliCloud.Ess.LifecycleHook(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n Name = myName,\n LifecycleTransition = \"SCALE_OUT\",\n HeartbeatTimeout = 400,\n NotificationMetadata = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.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 = ess.NewLifecycleHook(ctx, \"default\", \u0026ess.LifecycleHookArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tName: pulumi.String(myName),\n\t\t\tLifecycleTransition: pulumi.String(\"SCALE_OUT\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(400),\n\t\t\tNotificationMetadata: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.LifecycleHook;\nimport com.pulumi.alicloud.ess.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .build());\n\n var defaultLifecycleHook = new LifecycleHook(\"defaultLifecycleHook\", LifecycleHookArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .name(myName)\n .lifecycleTransition(\"SCALE_OUT\")\n .heartbeatTimeout(400)\n .notificationMetadata(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '1'\n maxSize: '1'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n defaultLifecycleHook:\n type: alicloud:ess:LifecycleHook\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n name: ${myName}\n lifecycleTransition: SCALE_OUT\n heartbeatTimeout: 400\n notificationMetadata: example\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a lifecycle hook, scaling group and configuration one-click.\n\n## Import\n\nEss lifecycle hook can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/lifecycleHook:LifecycleHook example ash-l12345\n```\n\n", + "description": "Provides a ESS lifecycle hook resource. More about Ess lifecycle hook, see [LifecycleHook](https://www.alibabacloud.com/help/doc-detail/73839.htm).\n\n\u003e **NOTE:** Available since v1.13.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n});\nconst defaultLifecycleHook = new alicloud.ess.LifecycleHook(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n name: myName,\n lifecycleTransition: \"SCALE_OUT\",\n heartbeatTimeout: 400,\n notificationMetadata: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ])\ndefault_lifecycle_hook = alicloud.ess.LifecycleHook(\"default\",\n scaling_group_id=default_scaling_group.id,\n name=my_name,\n lifecycle_transition=\"SCALE_OUT\",\n heartbeat_timeout=400,\n notification_metadata=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n });\n\n var defaultLifecycleHook = new AliCloud.Ess.LifecycleHook(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n Name = myName,\n LifecycleTransition = \"SCALE_OUT\",\n HeartbeatTimeout = 400,\n NotificationMetadata = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.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 = ess.NewLifecycleHook(ctx, \"default\", \u0026ess.LifecycleHookArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tName: pulumi.String(myName),\n\t\t\tLifecycleTransition: pulumi.String(\"SCALE_OUT\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(400),\n\t\t\tNotificationMetadata: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.LifecycleHook;\nimport com.pulumi.alicloud.ess.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .build());\n\n var defaultLifecycleHook = new LifecycleHook(\"defaultLifecycleHook\", LifecycleHookArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .name(myName)\n .lifecycleTransition(\"SCALE_OUT\")\n .heartbeatTimeout(400)\n .notificationMetadata(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '1'\n maxSize: '1'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n defaultLifecycleHook:\n type: alicloud:ess:LifecycleHook\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n name: ${myName}\n lifecycleTransition: SCALE_OUT\n heartbeatTimeout: 400\n notificationMetadata: example\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a lifecycle hook, scaling group and configuration one-click.\n\n## Import\n\nEss lifecycle hook can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/lifecycleHook:LifecycleHook example ash-l12345\n```\n\n", "properties": { "defaultResult": { "type": "string", @@ -180700,7 +184517,7 @@ } }, "alicloud:ess/notification:Notification": { - "description": "Provides a ESS notification resource. More about Ess notification, see [Autoscaling Notification](https://www.alibabacloud.com/help/doc-detail/71114.htm).\n\n\u003e **NOTE:** Available since v1.55.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultGetZones = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: myName});\nconst defaultNotification = new alicloud.ess.Notification(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n notificationTypes: [\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n ],\n notificationArn: pulumi.all([_default, defaultGetAccount, defaultQueue.name]).apply(([_default, defaultGetAccount, name]) =\u003e `acs:ess:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:queue/${name}`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_account = alicloud.get_account()\ndefault_get_zones = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=my_name)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id])\ndefault_queue = alicloud.mns.Queue(\"default\", name=my_name)\ndefault_notification = alicloud.ess.Notification(\"default\",\n scaling_group_id=default_scaling_group.id,\n notification_types=[\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n ],\n notification_arn=default_queue.name.apply(lambda name: f\"acs:ess:{default.regions[0].id}:{default_get_account.id}:queue/{name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = myName,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = myName,\n });\n\n var defaultNotification = new AliCloud.Ess.Notification(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n NotificationTypes = new[]\n {\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n },\n NotificationArn = Output.Tuple(@default, defaultGetAccount, defaultQueue.Name).Apply(values =\u003e\n {\n var @default = values.Item1;\n var defaultGetAccount = values.Item2;\n var name = values.Item3;\n return $\"acs:ess:{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:queue/{name}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewNotification(ctx, \"default\", \u0026ess.NotificationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tNotificationTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AUTOSCALING:SCALE_OUT_SUCCESS\"),\n\t\t\t\tpulumi.String(\"AUTOSCALING:SCALE_OUT_ERROR\"),\n\t\t\t},\n\t\t\tNotificationArn: defaultQueue.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:ess:%v:%v:queue/%v\", _default.Regions[0].Id, defaultGetAccount.Id, name), 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.ess.Notification;\nimport com.pulumi.alicloud.ess.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(myName)\n .build());\n\n var defaultNotification = new Notification(\"defaultNotification\", NotificationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .notificationTypes( \n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\")\n .notificationArn(defaultQueue.name().applyValue(_name -\u003e String.format(\"acs:ess:%s:%s:queue/%s\", default_.regions()[0].id(),defaultGetAccount.id(),_name)))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${myName}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: ${myName}\n defaultNotification:\n type: alicloud:ess:Notification\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n notificationTypes:\n - AUTOSCALING:SCALE_OUT_SUCCESS\n - AUTOSCALING:SCALE_OUT_ERROR\n notificationArn: acs:ess:${default.regions[0].id}:${defaultGetAccount.id}:queue/${defaultQueue.name}\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEss notification can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/notification:Notification example 'scaling_group_id:notification_arn'\n```\n\n", + "description": "Provides a ESS notification resource. More about Ess notification, see [Autoscaling Notification](https://www.alibabacloud.com/help/doc-detail/71114.htm).\n\n\u003e **NOTE:** Available since v1.55.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetAccount = alicloud.getAccount({});\nconst defaultGetZones = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: myName});\nconst defaultNotification = new alicloud.ess.Notification(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n notificationTypes: [\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n ],\n notificationArn: pulumi.all([_default, defaultGetAccount, defaultQueue.name]).apply(([_default, defaultGetAccount, name]) =\u003e `acs:ess:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:queue/${name}`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_account = alicloud.get_account()\ndefault_get_zones = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=my_name)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id])\ndefault_queue = alicloud.mns.Queue(\"default\", name=my_name)\ndefault_notification = alicloud.ess.Notification(\"default\",\n scaling_group_id=default_scaling_group.id,\n notification_types=[\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n ],\n notification_arn=default_queue.name.apply(lambda name: f\"acs:ess:{default.regions[0].id}:{default_get_account.id}:queue/{name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetAccount = AliCloud.GetAccount.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = myName,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = myName,\n });\n\n var defaultNotification = new AliCloud.Ess.Notification(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n NotificationTypes = new[]\n {\n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\",\n },\n NotificationArn = Output.Tuple(@default, defaultGetAccount, defaultQueue.Name).Apply(values =\u003e\n {\n var @default = values.Item1;\n var defaultGetAccount = values.Item2;\n var name = values.Item3;\n return $\"acs:ess:{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id)}:queue/{name}\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewNotification(ctx, \"default\", \u0026ess.NotificationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tNotificationTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AUTOSCALING:SCALE_OUT_SUCCESS\"),\n\t\t\t\tpulumi.String(\"AUTOSCALING:SCALE_OUT_ERROR\"),\n\t\t\t},\n\t\t\tNotificationArn: defaultQueue.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:ess:%v:%v:queue/%v\", _default.Regions[0].Id, defaultGetAccount.Id, name), 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.ess.Notification;\nimport com.pulumi.alicloud.ess.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(myName)\n .build());\n\n var defaultNotification = new Notification(\"defaultNotification\", NotificationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .notificationTypes( \n \"AUTOSCALING:SCALE_OUT_SUCCESS\",\n \"AUTOSCALING:SCALE_OUT_ERROR\")\n .notificationArn(defaultQueue.name().applyValue(_name -\u003e String.format(\"acs:ess:%s:%s:queue/%s\", default_.regions()[0].id(),defaultGetAccount.id(),_name)))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${myName}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: ${myName}\n defaultNotification:\n type: alicloud:ess:Notification\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n notificationTypes:\n - AUTOSCALING:SCALE_OUT_SUCCESS\n - AUTOSCALING:SCALE_OUT_ERROR\n notificationArn: acs:ess:${default.regions[0].id}:${defaultGetAccount.id}:queue/${defaultQueue.name}\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEss notification can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/notification:Notification example 'scaling_group_id:notification_arn'\n```\n\n", "properties": { "notificationArn": { "type": "string", @@ -180784,7 +184601,7 @@ } }, "alicloud:ess/scalingConfiguration:ScalingConfiguration": { - "description": "Provides a ESS scaling configuration resource.\n\n\u003e **NOTE:** Several instance types have outdated in some regions and availability zones, such as `ecs.t1.*`, `ecs.s2.*`, `ecs.n1.*` and so on. If you want to keep them, you should set \u003cspan pulumi-lang-nodejs=\"`isOutdated`\" pulumi-lang-dotnet=\"`IsOutdated`\" pulumi-lang-go=\"`isOutdated`\" pulumi-lang-python=\"`is_outdated`\" pulumi-lang-yaml=\"`isOutdated`\" pulumi-lang-java=\"`isOutdated`\"\u003e`is_outdated`\u003c/span\u003e to true. For more about the upgraded instance type, refer to \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-dotnet=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-go=\"`ecs.getInstanceTypes`\" pulumi-lang-python=\"`ecs_get_instance_types`\" pulumi-lang-yaml=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-java=\"`alicloud.ecs.getInstanceTypes`\"\u003e`alicloud.ecs.getInstanceTypes`\u003c/span\u003e datasource.\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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 = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a configuration, scaling group and lifecycle hook one-click.\n\n## Import\n\nESS scaling configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingConfiguration:ScalingConfiguration example asg-abc123456\n```\n\n", + "description": "Provides a ESS scaling configuration resource.\n\n\u003e **NOTE:** Several instance types have outdated in some regions and availability zones, such as `ecs.t1.*`, `ecs.s2.*`, `ecs.n1.*` and so on. If you want to keep them, you should set \u003cspan pulumi-lang-nodejs=\"`isOutdated`\" pulumi-lang-dotnet=\"`IsOutdated`\" pulumi-lang-go=\"`isOutdated`\" pulumi-lang-python=\"`is_outdated`\" pulumi-lang-yaml=\"`isOutdated`\" pulumi-lang-java=\"`isOutdated`\"\u003e`is_outdated`\u003c/span\u003e to true. For more about the upgraded instance type, refer to \u003cspan pulumi-lang-nodejs=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-dotnet=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-go=\"`ecs.getInstanceTypes`\" pulumi-lang-python=\"`ecs_get_instance_types`\" pulumi-lang-yaml=\"`alicloud.ecs.getInstanceTypes`\" pulumi-lang-java=\"`alicloud.ecs.getInstanceTypes`\"\u003e`alicloud.ecs.getInstanceTypes`\u003c/span\u003e datasource.\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.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 = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a configuration, scaling group and lifecycle hook one-click.\n\n## Import\n\nESS scaling configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingConfiguration:ScalingConfiguration example asg-abc123456\n```\n\n", "properties": { "active": { "type": "boolean", @@ -181579,7 +185396,7 @@ } }, "alicloud:ess/scalingGroup:ScalingGroup": { - "description": "Provides a ESS scaling group resource which is a collection of ECS instances with the same application scenarios.\n\nIt defines the maximum and minimum numbers of ECS instances in the group, and their associated Server Load Balancer instances, RDS instances, and other attributes.\n\n\u003e **NOTE:** You can launch an ESS scaling group for a VPC network via specifying parameter \u003cspan pulumi-lang-nodejs=\"`vswitchIds`\" pulumi-lang-dotnet=\"`VswitchIds`\" pulumi-lang-go=\"`vswitchIds`\" pulumi-lang-python=\"`vswitch_ids`\" pulumi-lang-yaml=\"`vswitchIds`\" pulumi-lang-java=\"`vswitchIds`\"\u003e`vswitch_ids`\u003c/span\u003e.\n\nFor information about ess scaling rule, see [CreateScalingGroup](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalinggroup).\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 20,\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=20,\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 20,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(20),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(20)\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n defaultCooldown: 20\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a scaling group, configuration and lifecycle hook one-click.\n\n## Import\n\nESS scaling group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingGroup:ScalingGroup example asg-abc123456\n```\n\n", + "description": "Provides a ESS scaling group resource which is a collection of ECS instances with the same application scenarios.\n\nIt defines the maximum and minimum numbers of ECS instances in the group, and their associated Server Load Balancer instances, RDS instances, and other attributes.\n\n\u003e **NOTE:** You can launch an ESS scaling group for a VPC network via specifying parameter \u003cspan pulumi-lang-nodejs=\"`vswitchIds`\" pulumi-lang-dotnet=\"`VswitchIds`\" pulumi-lang-go=\"`vswitchIds`\" pulumi-lang-python=\"`vswitch_ids`\" pulumi-lang-yaml=\"`vswitchIds`\" pulumi-lang-java=\"`vswitchIds`\"\u003e`vswitch_ids`\u003c/span\u003e.\n\nFor information about ess scaling rule, see [CreateScalingGroup](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalinggroup).\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst default2 = new alicloud.vpc.Switch(\"default2\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.1.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: `${name}-bar`,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n defaultCooldown: 20,\n vswitchIds: [\n defaultSwitch.id,\n default2.id,\n ],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault2 = alicloud.vpc.Switch(\"default2\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.1.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=f\"{name}-bar\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n default_cooldown=20,\n vswitch_ids=[\n default_switch.id,\n default2.id,\n ],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var default2 = new AliCloud.Vpc.Switch(\"default2\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.1.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = $\"{name}-bar\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n DefaultCooldown = 20,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n default2.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2, err := vpc.NewSwitch(ctx, \"default2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-bar\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(20),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t\tdefault2.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var default2 = new Switch(\"default2\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.1.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(String.format(\"%s-bar\", name))\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .defaultCooldown(20)\n .vswitchIds( \n defaultSwitch.id(),\n default2.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n default2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.1.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}-bar\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n defaultCooldown: 20\n vswitchIds:\n - ${defaultSwitch.id}\n - ${default2.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing autoscaling module \nto create a scaling group, configuration and lifecycle hook one-click.\n\n## Import\n\nESS scaling group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingGroup:ScalingGroup example asg-abc123456\n```\n\n", "properties": { "albServerGroups": { "type": "array", @@ -182281,7 +186098,7 @@ } }, "alicloud:ess/scalingRule:ScalingRule": { - "description": "Provides a ESS scaling rule resource.\n\nFor information about ess scaling rule, see [CreateScalingRule](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalingrule).\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n vswitchIds: [defaultSwitch.id],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n});\nconst defaultScalingRule = new alicloud.ess.ScalingRule(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n adjustmentType: \"TotalCapacity\",\n adjustmentValue: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n vswitch_ids=[default_switch.id],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True)\ndefault_scaling_rule = alicloud.ess.ScalingRule(\"default\",\n scaling_group_id=default_scaling_group.id,\n adjustment_type=\"TotalCapacity\",\n adjustment_value=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n });\n\n var defaultScalingRule = new AliCloud.Ess.ScalingRule(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n AdjustmentType = \"TotalCapacity\",\n AdjustmentValue = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingRule(ctx, \"default\", \u0026ess.ScalingRuleArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tAdjustmentType: pulumi.String(\"TotalCapacity\"),\n\t\t\tAdjustmentValue: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.ScalingRule;\nimport com.pulumi.alicloud.ess.ScalingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .vswitchIds(defaultSwitch.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .build());\n\n var defaultScalingRule = new ScalingRule(\"defaultScalingRule\", ScalingRuleArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .adjustmentType(\"TotalCapacity\")\n .adjustmentValue(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n vswitchIds:\n - ${defaultSwitch.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: 'true'\n defaultScalingRule:\n type: alicloud:ess:ScalingRule\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n adjustmentType: TotalCapacity\n adjustmentValue: 1\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing autoscaling-rule module \nto create different type rules, alarm task and scheduled task one-click.\n\n## Import\n\nESS scaling rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingRule:ScalingRule example abc123456\n```\n\n", + "description": "Provides a ESS scaling rule resource.\n\nFor information about ess scaling rule, see [CreateScalingRule](https://www.alibabacloud.com/help/en/auto-scaling/latest/createscalingrule).\n\n\u003e **NOTE:** Available since v1.39.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n vswitchIds: [defaultSwitch.id],\n removalPolicies: [\n \"OldestInstance\",\n \"NewestInstance\",\n ],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n});\nconst defaultScalingRule = new alicloud.ess.ScalingRule(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n adjustmentType: \"TotalCapacity\",\n adjustmentValue: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n vswitch_ids=[default_switch.id],\n removal_policies=[\n \"OldestInstance\",\n \"NewestInstance\",\n ])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True)\ndefault_scaling_rule = alicloud.ess.ScalingRule(\"default\",\n scaling_group_id=default_scaling_group.id,\n adjustment_type=\"TotalCapacity\",\n adjustment_value=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n \"NewestInstance\",\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n });\n\n var defaultScalingRule = new AliCloud.Ess.ScalingRule(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n AdjustmentType = \"TotalCapacity\",\n AdjustmentValue = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\n\t\t\tType: pulumi.String(\"ingress\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tNicType: pulumi.String(\"intranet\"),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tPortRange: pulumi.String(\"22/22\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tCidrIp: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t\tpulumi.String(\"NewestInstance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewScalingRule(ctx, \"default\", \u0026ess.ScalingRuleArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tAdjustmentType: pulumi.String(\"TotalCapacity\"),\n\t\t\tAdjustmentValue: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.ScalingRule;\nimport com.pulumi.alicloud.ess.ScalingRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .vswitchIds(defaultSwitch.id())\n .removalPolicies( \n \"OldestInstance\",\n \"NewestInstance\")\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .build());\n\n var defaultScalingRule = new ScalingRule(\"defaultScalingRule\", ScalingRuleArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .adjustmentType(\"TotalCapacity\")\n .adjustmentValue(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultSecurityGroupRule:\n type: alicloud:ecs:SecurityGroupRule\n name: default\n properties:\n type: ingress\n ipProtocol: tcp\n nicType: intranet\n policy: accept\n portRange: 22/22\n priority: 1\n securityGroupId: ${defaultSecurityGroup.id}\n cidrIp: 172.16.0.0/24\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n vswitchIds:\n - ${defaultSwitch.id}\n removalPolicies:\n - OldestInstance\n - NewestInstance\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: 'true'\n defaultScalingRule:\n type: alicloud:ess:ScalingRule\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n adjustmentType: TotalCapacity\n adjustmentValue: 1\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing autoscaling-rule module \nto create different type rules, alarm task and scheduled task one-click.\n\n## Import\n\nESS scaling rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/scalingRule:ScalingRule example abc123456\n```\n\n", "properties": { "adjustmentType": { "type": "string", @@ -182932,7 +186749,7 @@ } }, "alicloud:ess/serverGroupAttachment:ServerGroupAttachment": { - "description": "Attaches/Detaches server group to a specified scaling group.\n\nFor information about server group attachment, see [AttachServerGroups](https://www.alibabacloud.com/help/en/auto-scaling/developer-reference/api-attachservergroups).\n\n\u003e **NOTE:** If scaling group's network type is `VPC`, the server groups must be in the same `VPC`.\n\n\u003e **NOTE:** server group attachment is defined uniquely by \u003cspan pulumi-lang-nodejs=\"`scalingGroupId`\" pulumi-lang-dotnet=\"`ScalingGroupId`\" pulumi-lang-go=\"`scalingGroupId`\" pulumi-lang-python=\"`scaling_group_id`\" pulumi-lang-yaml=\"`scalingGroupId`\" pulumi-lang-java=\"`scalingGroupId`\"\u003e`scaling_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serverGroupId`\" pulumi-lang-dotnet=\"`ServerGroupId`\" pulumi-lang-go=\"`serverGroupId`\" pulumi-lang-python=\"`server_group_id`\" pulumi-lang-yaml=\"`serverGroupId`\" pulumi-lang-java=\"`serverGroupId`\"\u003e`server_group_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e.\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-dotnet=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-go=\"`ess.ServerGroupAttachment`\" pulumi-lang-python=\"`ess.ServerGroupAttachment`\" pulumi-lang-yaml=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-java=\"`alicloud.ess.ServerGroupAttachment`\"\u003e`alicloud.ess.ServerGroupAttachment`\u003c/span\u003e don't support modification.\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\"OldestInstance\"],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n systemDiskSize: 50,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n serverGroupName: myName,\n vpcId: defaultNetwork.id,\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n});\nconst defaultServerGroupAttachment = new alicloud.ess.ServerGroupAttachment(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n serverGroupId: defaultServerGroup.id,\n port: 9000,\n type: \"ALB\",\n weight: 50,\n forceAttach: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\"OldestInstance\"],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n system_disk_size=50,\n force_delete=True,\n active=True,\n enable=True)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n server_group_name=my_name,\n vpc_id=default_network.id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n })\ndefault_server_group_attachment = alicloud.ess.ServerGroupAttachment(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n server_group_id=default_server_group.id,\n port=9000,\n type=\"ALB\",\n weight=50,\n force_attach=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n SystemDiskSize = 50,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n ServerGroupName = myName,\n VpcId = defaultNetwork.Id,\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n });\n\n var defaultServerGroupAttachment = new AliCloud.Ess.ServerGroupAttachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n ServerGroupId = defaultServerGroup.Id,\n Port = 9000,\n Type = \"ALB\",\n Weight = 50,\n ForceAttach = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tServerGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewServerGroupAttachment(ctx, \"default\", \u0026ess.ServerGroupAttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tPort: pulumi.Int(9000),\n\t\t\tType: pulumi.String(\"ALB\"),\n\t\t\tWeight: pulumi.Int(50),\n\t\t\tForceAttach: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.ess.ServerGroupAttachment;\nimport com.pulumi.alicloud.ess.ServerGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies(\"OldestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .systemDiskSize(50)\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .serverGroupName(myName)\n .vpcId(defaultNetwork.id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .build());\n\n var defaultServerGroupAttachment = new ServerGroupAttachment(\"defaultServerGroupAttachment\", ServerGroupAttachmentArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .serverGroupId(defaultServerGroup.id())\n .port(9000)\n .type(\"ALB\")\n .weight(50)\n .forceAttach(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '0'\n maxSize: '2'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n systemDiskSize: 50\n forceDelete: true\n active: true\n enable: true\n defaultServerGroup:\n type: alicloud:alb:ServerGroup\n name: default\n properties:\n serverGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n healthCheckConfig:\n healthCheckEnabled: 'false'\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n defaultServerGroupAttachment:\n type: alicloud:ess:ServerGroupAttachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n serverGroupId: ${defaultServerGroup.id}\n port: 9000\n type: ALB\n weight: 50\n forceAttach: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Attaches/Detaches server group to a specified scaling group.\n\nFor information about server group attachment, see [AttachServerGroups](https://www.alibabacloud.com/help/en/auto-scaling/developer-reference/api-attachservergroups).\n\n\u003e **NOTE:** If scaling group's network type is `VPC`, the server groups must be in the same `VPC`.\n\n\u003e **NOTE:** server group attachment is defined uniquely by \u003cspan pulumi-lang-nodejs=\"`scalingGroupId`\" pulumi-lang-dotnet=\"`ScalingGroupId`\" pulumi-lang-go=\"`scalingGroupId`\" pulumi-lang-python=\"`scaling_group_id`\" pulumi-lang-yaml=\"`scalingGroupId`\" pulumi-lang-java=\"`scalingGroupId`\"\u003e`scaling_group_id`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serverGroupId`\" pulumi-lang-dotnet=\"`ServerGroupId`\" pulumi-lang-go=\"`serverGroupId`\" pulumi-lang-python=\"`server_group_id`\" pulumi-lang-yaml=\"`serverGroupId`\" pulumi-lang-java=\"`serverGroupId`\"\u003e`server_group_id`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e.\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-dotnet=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-go=\"`ess.ServerGroupAttachment`\" pulumi-lang-python=\"`ess.ServerGroupAttachment`\" pulumi-lang-yaml=\"`alicloud.ess.ServerGroupAttachment`\" pulumi-lang-java=\"`alicloud.ess.ServerGroupAttachment`\"\u003e`alicloud.ess.ServerGroupAttachment`\u003c/span\u003e don't support modification.\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 0,\n maxSize: 2,\n scalingGroupName: myName,\n defaultCooldown: 200,\n removalPolicies: [\"OldestInstance\"],\n vswitchIds: [defaultSwitch.id],\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n systemDiskSize: 50,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultServerGroup = new alicloud.alb.ServerGroup(\"default\", {\n serverGroupName: myName,\n vpcId: defaultNetwork.id,\n healthCheckConfig: {\n healthCheckEnabled: false,\n },\n stickySessionConfig: {\n stickySessionEnabled: true,\n cookie: \"tf-example\",\n stickySessionType: \"Server\",\n },\n});\nconst defaultServerGroupAttachment = new alicloud.ess.ServerGroupAttachment(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n serverGroupId: defaultServerGroup.id,\n port: 9000,\n type: \"ALB\",\n weight: 50,\n forceAttach: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=0,\n max_size=2,\n scaling_group_name=my_name,\n default_cooldown=200,\n removal_policies=[\"OldestInstance\"],\n vswitch_ids=[default_switch.id])\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n system_disk_size=50,\n force_delete=True,\n active=True,\n enable=True)\ndefault_server_group = alicloud.alb.ServerGroup(\"default\",\n server_group_name=my_name,\n vpc_id=default_network.id,\n health_check_config={\n \"health_check_enabled\": False,\n },\n sticky_session_config={\n \"sticky_session_enabled\": True,\n \"cookie\": \"tf-example\",\n \"sticky_session_type\": \"Server\",\n })\ndefault_server_group_attachment = alicloud.ess.ServerGroupAttachment(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n server_group_id=default_server_group.id,\n port=9000,\n type=\"ALB\",\n weight=50,\n force_attach=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 0,\n MaxSize = 2,\n ScalingGroupName = myName,\n DefaultCooldown = 200,\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n SystemDiskSize = 50,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultServerGroup = new AliCloud.Alb.ServerGroup(\"default\", new()\n {\n ServerGroupName = myName,\n VpcId = defaultNetwork.Id,\n HealthCheckConfig = new AliCloud.Alb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckEnabled = false,\n },\n StickySessionConfig = new AliCloud.Alb.Inputs.ServerGroupStickySessionConfigArgs\n {\n StickySessionEnabled = true,\n Cookie = \"tf-example\",\n StickySessionType = \"Server\",\n },\n });\n\n var defaultServerGroupAttachment = new AliCloud.Ess.ServerGroupAttachment(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n ServerGroupId = defaultServerGroup.Id,\n Port = 9000,\n Type = \"ALB\",\n Weight = 50,\n ForceAttach = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tMaxSize: pulumi.Int(2),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := alb.NewServerGroup(ctx, \"default\", \u0026alb.ServerGroupArgs{\n\t\t\tServerGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tHealthCheckConfig: \u0026alb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tStickySessionConfig: \u0026alb.ServerGroupStickySessionConfigArgs{\n\t\t\t\tStickySessionEnabled: pulumi.Bool(true),\n\t\t\t\tCookie: pulumi.String(\"tf-example\"),\n\t\t\t\tStickySessionType: pulumi.String(\"Server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewServerGroupAttachment(ctx, \"default\", \u0026ess.ServerGroupAttachmentArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tPort: pulumi.Int(9000),\n\t\t\tType: pulumi.String(\"ALB\"),\n\t\t\tWeight: pulumi.Int(50),\n\t\t\tForceAttach: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.alb.ServerGroup;\nimport com.pulumi.alicloud.alb.ServerGroupArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.alb.inputs.ServerGroupStickySessionConfigArgs;\nimport com.pulumi.alicloud.ess.ServerGroupAttachment;\nimport com.pulumi.alicloud.ess.ServerGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(0)\n .maxSize(2)\n .scalingGroupName(myName)\n .defaultCooldown(200)\n .removalPolicies(\"OldestInstance\")\n .vswitchIds(defaultSwitch.id())\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .systemDiskSize(50)\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .serverGroupName(myName)\n .vpcId(defaultNetwork.id())\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .stickySessionConfig(ServerGroupStickySessionConfigArgs.builder()\n .stickySessionEnabled(true)\n .cookie(\"tf-example\")\n .stickySessionType(\"Server\")\n .build())\n .build());\n\n var defaultServerGroupAttachment = new ServerGroupAttachment(\"defaultServerGroupAttachment\", ServerGroupAttachmentArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .serverGroupId(defaultServerGroup.id())\n .port(9000)\n .type(\"ALB\")\n .weight(50)\n .forceAttach(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: '0'\n maxSize: '2'\n scalingGroupName: ${myName}\n defaultCooldown: 200\n removalPolicies:\n - OldestInstance\n vswitchIds:\n - ${defaultSwitch.id}\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n systemDiskSize: 50\n forceDelete: true\n active: true\n enable: true\n defaultServerGroup:\n type: alicloud:alb:ServerGroup\n name: default\n properties:\n serverGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n healthCheckConfig:\n healthCheckEnabled: 'false'\n stickySessionConfig:\n stickySessionEnabled: true\n cookie: tf-example\n stickySessionType: Server\n defaultServerGroupAttachment:\n type: alicloud:ess:ServerGroupAttachment\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n serverGroupId: ${defaultServerGroup.id}\n port: 9000\n type: ALB\n weight: 50\n forceAttach: true\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "forceAttach": { "type": "boolean", @@ -183041,7 +186858,7 @@ } }, "alicloud:ess/suspendProcess:SuspendProcess": { - "description": "Suspend/Resume processes to a specified scaling group.\n\nFor information about scaling group suspend process, see [SuspendProcesses](https://www.alibabacloud.com/help/en/auto-scaling/latest/suspendprocesses).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n vswitchIds: [defaultSwitch.id],\n removalPolicies: [\"OldestInstance\"],\n defaultCooldown: 200,\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultSuspendProcess = new alicloud.ess.SuspendProcess(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n process: \"ScaleIn\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n vswitch_ids=[default_switch.id],\n removal_policies=[\"OldestInstance\"],\n default_cooldown=200)\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n enable=True)\ndefault_suspend_process = alicloud.ess.SuspendProcess(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n process=\"ScaleIn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n DefaultCooldown = 200,\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultSuspendProcess = new AliCloud.Ess.SuspendProcess(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n Process = \"ScaleIn\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewSuspendProcess(ctx, \"default\", \u0026ess.SuspendProcessArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tProcess: pulumi.String(\"ScaleIn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.SuspendProcess;\nimport com.pulumi.alicloud.ess.SuspendProcessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .vswitchIds(defaultSwitch.id())\n .removalPolicies(\"OldestInstance\")\n .defaultCooldown(200)\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultSuspendProcess = new SuspendProcess(\"defaultSuspendProcess\", SuspendProcessArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .process(\"ScaleIn\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n vswitchIds:\n - ${defaultSwitch.id}\n removalPolicies:\n - OldestInstance\n defaultCooldown: 200\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n enable: true\n defaultSuspendProcess:\n type: alicloud:ess:SuspendProcess\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n process: ScaleIn\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nESS suspend process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/suspendProcess:SuspendProcess example asg-xxx:sgp-xxx:5000\n```\n\n", + "description": "Suspend/Resume processes to a specified scaling group.\n\nFor information about scaling group suspend process, see [SuspendProcesses](https://www.alibabacloud.com/help/en/auto-scaling/latest/suspendprocesses).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst myName = `${name}-${defaultInteger.result}`;\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 4,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: myName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: myName,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: myName,\n vpcId: defaultNetwork.id,\n});\nconst defaultScalingGroup = new alicloud.ess.ScalingGroup(\"default\", {\n minSize: 1,\n maxSize: 1,\n scalingGroupName: myName,\n vswitchIds: [defaultSwitch.id],\n removalPolicies: [\"OldestInstance\"],\n defaultCooldown: 200,\n});\nconst defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration(\"default\", {\n scalingGroupId: defaultScalingGroup.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroupId: defaultSecurityGroup.id,\n forceDelete: true,\n active: true,\n enable: true,\n});\nconst defaultSuspendProcess = new alicloud.ess.SuspendProcess(\"default\", {\n scalingGroupId: defaultScalingConfiguration.scalingGroupId,\n process: \"ScaleIn\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nmy_name = f\"{name}-{default_integer['result']}\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=4)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=my_name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=my_name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=my_name,\n vpc_id=default_network.id)\ndefault_scaling_group = alicloud.ess.ScalingGroup(\"default\",\n min_size=1,\n max_size=1,\n scaling_group_name=my_name,\n vswitch_ids=[default_switch.id],\n removal_policies=[\"OldestInstance\"],\n default_cooldown=200)\ndefault_scaling_configuration = alicloud.ess.ScalingConfiguration(\"default\",\n scaling_group_id=default_scaling_group.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_group_id=default_security_group.id,\n force_delete=True,\n active=True,\n enable=True)\ndefault_suspend_process = alicloud.ess.SuspendProcess(\"default\",\n scaling_group_id=default_scaling_configuration.scaling_group_id,\n process=\"ScaleIn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var myName = $\"{name}-{defaultInteger.Result}\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 4,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = myName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = myName,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = myName,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultScalingGroup = new AliCloud.Ess.ScalingGroup(\"default\", new()\n {\n MinSize = 1,\n MaxSize = 1,\n ScalingGroupName = myName,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n RemovalPolicies = new[]\n {\n \"OldestInstance\",\n },\n DefaultCooldown = 200,\n });\n\n var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration(\"default\", new()\n {\n ScalingGroupId = defaultScalingGroup.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroupId = defaultSecurityGroup.Id,\n ForceDelete = true,\n Active = true,\n Enable = true,\n });\n\n var defaultSuspendProcess = new AliCloud.Ess.SuspendProcess(\"default\", new()\n {\n ScalingGroupId = defaultScalingConfiguration.ScalingGroupId,\n Process = \"ScaleIn\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyName := fmt.Sprintf(\"%v-%v\", name, defaultInteger.Result)\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(4),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(myName),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(myName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(myName),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingGroup, err := ess.NewScalingGroup(ctx, \"default\", \u0026ess.ScalingGroupArgs{\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tScalingGroupName: pulumi.String(myName),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tRemovalPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OldestInstance\"),\n\t\t\t},\n\t\t\tDefaultCooldown: pulumi.Int(200),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultScalingConfiguration, err := ess.NewScalingConfiguration(ctx, \"default\", \u0026ess.ScalingConfigurationArgs{\n\t\t\tScalingGroupId: defaultScalingGroup.ID(),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tForceDelete: pulumi.Bool(true),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ess.NewSuspendProcess(ctx, \"default\", \u0026ess.SuspendProcessArgs{\n\t\t\tScalingGroupId: defaultScalingConfiguration.ScalingGroupId,\n\t\t\tProcess: pulumi.String(\"ScaleIn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingGroup;\nimport com.pulumi.alicloud.ess.ScalingGroupArgs;\nimport com.pulumi.alicloud.ess.ScalingConfiguration;\nimport com.pulumi.alicloud.ess.ScalingConfigurationArgs;\nimport com.pulumi.alicloud.ess.SuspendProcess;\nimport com.pulumi.alicloud.ess.SuspendProcessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var myName = String.format(\"%s-%s\", name,defaultInteger.result());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(4)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(myName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(myName)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(myName)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultScalingGroup = new ScalingGroup(\"defaultScalingGroup\", ScalingGroupArgs.builder()\n .minSize(1)\n .maxSize(1)\n .scalingGroupName(myName)\n .vswitchIds(defaultSwitch.id())\n .removalPolicies(\"OldestInstance\")\n .defaultCooldown(200)\n .build());\n\n var defaultScalingConfiguration = new ScalingConfiguration(\"defaultScalingConfiguration\", ScalingConfigurationArgs.builder()\n .scalingGroupId(defaultScalingGroup.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroupId(defaultSecurityGroup.id())\n .forceDelete(true)\n .active(true)\n .enable(true)\n .build());\n\n var defaultSuspendProcess = new SuspendProcess(\"defaultSuspendProcess\", SuspendProcessArgs.builder()\n .scalingGroupId(defaultScalingConfiguration.scalingGroupId())\n .process(\"ScaleIn\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${myName}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${myName}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n securityGroupName: ${myName}\n vpcId: ${defaultNetwork.id}\n defaultScalingGroup:\n type: alicloud:ess:ScalingGroup\n name: default\n properties:\n minSize: 1\n maxSize: 1\n scalingGroupName: ${myName}\n vswitchIds:\n - ${defaultSwitch.id}\n removalPolicies:\n - OldestInstance\n defaultCooldown: 200\n defaultScalingConfiguration:\n type: alicloud:ess:ScalingConfiguration\n name: default\n properties:\n scalingGroupId: ${defaultScalingGroup.id}\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n securityGroupId: ${defaultSecurityGroup.id}\n forceDelete: true\n active: true\n enable: true\n defaultSuspendProcess:\n type: alicloud:ess:SuspendProcess\n name: default\n properties:\n scalingGroupId: ${defaultScalingConfiguration.scalingGroupId}\n process: ScaleIn\nvariables:\n myName: ${name}-${defaultInteger.result}\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 2\n memorySize: 4\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nESS suspend process can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ess/suspendProcess:SuspendProcess example asg-xxx:sgp-xxx:5000\n```\n\n", "properties": { "process": { "type": "string", @@ -183090,7 +186907,7 @@ } }, "alicloud:eventbridge/apiDestination:ApiDestination": { - "description": "Provides a Event Bridge Api Destination resource. \n\nFor information about Event Bridge Api Destination and how to use it, see [What is Api Destination](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createapidestination).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-chengdu\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eventbridge.Connection(\"default\", {\n connectionName: name,\n networkParameters: {\n networkType: \"PublicNetwork\",\n },\n});\nconst defaultApiDestination = new alicloud.eventbridge.ApiDestination(\"default\", {\n connectionName: _default.connectionName,\n apiDestinationName: name,\n description: \"test-api-destination-connection\",\n httpApiParameters: {\n endpoint: \"http://127.0.0.1:8001\",\n method: \"POST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-chengdu\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eventbridge.Connection(\"default\",\n connection_name=name,\n network_parameters={\n \"network_type\": \"PublicNetwork\",\n })\ndefault_api_destination = alicloud.eventbridge.ApiDestination(\"default\",\n connection_name=default.connection_name,\n api_destination_name=name,\n description=\"test-api-destination-connection\",\n http_api_parameters={\n \"endpoint\": \"http://127.0.0.1:8001\",\n \"method\": \"POST\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-chengdu\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.EventBridge.Connection(\"default\", new()\n {\n ConnectionName = name,\n NetworkParameters = new AliCloud.EventBridge.Inputs.ConnectionNetworkParametersArgs\n {\n NetworkType = \"PublicNetwork\",\n },\n });\n\n var defaultApiDestination = new AliCloud.EventBridge.ApiDestination(\"default\", new()\n {\n ConnectionName = @default.ConnectionName,\n ApiDestinationName = name,\n Description = \"test-api-destination-connection\",\n HttpApiParameters = new AliCloud.EventBridge.Inputs.ApiDestinationHttpApiParametersArgs\n {\n Endpoint = \"http://127.0.0.1:8001\",\n Method = \"POST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-chengdu\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eventbridge.NewConnection(ctx, \"default\", \u0026eventbridge.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(name),\n\t\t\tNetworkParameters: \u0026eventbridge.ConnectionNetworkParametersArgs{\n\t\t\t\tNetworkType: pulumi.String(\"PublicNetwork\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewApiDestination(ctx, \"default\", \u0026eventbridge.ApiDestinationArgs{\n\t\t\tConnectionName: _default.ConnectionName,\n\t\t\tApiDestinationName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"test-api-destination-connection\"),\n\t\t\tHttpApiParameters: \u0026eventbridge.ApiDestinationHttpApiParametersArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://127.0.0.1:8001\"),\n\t\t\t\tMethod: pulumi.String(\"POST\"),\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.alicloud.eventbridge.Connection;\nimport com.pulumi.alicloud.eventbridge.ConnectionArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionNetworkParametersArgs;\nimport com.pulumi.alicloud.eventbridge.ApiDestination;\nimport com.pulumi.alicloud.eventbridge.ApiDestinationArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ApiDestinationHttpApiParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-chengdu\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Connection(\"default\", ConnectionArgs.builder()\n .connectionName(name)\n .networkParameters(ConnectionNetworkParametersArgs.builder()\n .networkType(\"PublicNetwork\")\n .build())\n .build());\n\n var defaultApiDestination = new ApiDestination(\"defaultApiDestination\", ApiDestinationArgs.builder()\n .connectionName(default_.connectionName())\n .apiDestinationName(name)\n .description(\"test-api-destination-connection\")\n .httpApiParameters(ApiDestinationHttpApiParametersArgs.builder()\n .endpoint(\"http://127.0.0.1:8001\")\n .method(\"POST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-chengdu\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eventbridge:Connection\n properties:\n connectionName: ${name}\n networkParameters:\n networkType: PublicNetwork\n defaultApiDestination:\n type: alicloud:eventbridge:ApiDestination\n name: default\n properties:\n connectionName: ${default.connectionName}\n apiDestinationName: ${name}\n description: test-api-destination-connection\n httpApiParameters:\n endpoint: http://127.0.0.1:8001\n method: POST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Api Destination can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/apiDestination:ApiDestination example \u003cid\u003e\n```\n\n", + "description": "Provides a Event Bridge Api Destination resource. \n\nFor information about Event Bridge Api Destination and how to use it, see [What is Api Destination](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createapidestination).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-chengdu\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.eventbridge.Connection(\"default\", {\n connectionName: name,\n networkParameters: {\n networkType: \"PublicNetwork\",\n },\n});\nconst defaultApiDestination = new alicloud.eventbridge.ApiDestination(\"default\", {\n connectionName: _default.connectionName,\n apiDestinationName: name,\n description: \"test-api-destination-connection\",\n httpApiParameters: {\n endpoint: \"http://127.0.0.1:8001\",\n method: \"POST\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-chengdu\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.eventbridge.Connection(\"default\",\n connection_name=name,\n network_parameters={\n \"network_type\": \"PublicNetwork\",\n })\ndefault_api_destination = alicloud.eventbridge.ApiDestination(\"default\",\n connection_name=default.connection_name,\n api_destination_name=name,\n description=\"test-api-destination-connection\",\n http_api_parameters={\n \"endpoint\": \"http://127.0.0.1:8001\",\n \"method\": \"POST\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-chengdu\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.EventBridge.Connection(\"default\", new()\n {\n ConnectionName = name,\n NetworkParameters = new AliCloud.EventBridge.Inputs.ConnectionNetworkParametersArgs\n {\n NetworkType = \"PublicNetwork\",\n },\n });\n\n var defaultApiDestination = new AliCloud.EventBridge.ApiDestination(\"default\", new()\n {\n ConnectionName = @default.ConnectionName,\n ApiDestinationName = name,\n Description = \"test-api-destination-connection\",\n HttpApiParameters = new AliCloud.EventBridge.Inputs.ApiDestinationHttpApiParametersArgs\n {\n Endpoint = \"http://127.0.0.1:8001\",\n Method = \"POST\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-chengdu\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := eventbridge.NewConnection(ctx, \"default\", \u0026eventbridge.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(name),\n\t\t\tNetworkParameters: \u0026eventbridge.ConnectionNetworkParametersArgs{\n\t\t\t\tNetworkType: pulumi.String(\"PublicNetwork\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewApiDestination(ctx, \"default\", \u0026eventbridge.ApiDestinationArgs{\n\t\t\tConnectionName: _default.ConnectionName,\n\t\t\tApiDestinationName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"test-api-destination-connection\"),\n\t\t\tHttpApiParameters: \u0026eventbridge.ApiDestinationHttpApiParametersArgs{\n\t\t\t\tEndpoint: pulumi.String(\"http://127.0.0.1:8001\"),\n\t\t\t\tMethod: pulumi.String(\"POST\"),\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.alicloud.eventbridge.Connection;\nimport com.pulumi.alicloud.eventbridge.ConnectionArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionNetworkParametersArgs;\nimport com.pulumi.alicloud.eventbridge.ApiDestination;\nimport com.pulumi.alicloud.eventbridge.ApiDestinationArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ApiDestinationHttpApiParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-chengdu\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Connection(\"default\", ConnectionArgs.builder()\n .connectionName(name)\n .networkParameters(ConnectionNetworkParametersArgs.builder()\n .networkType(\"PublicNetwork\")\n .build())\n .build());\n\n var defaultApiDestination = new ApiDestination(\"defaultApiDestination\", ApiDestinationArgs.builder()\n .connectionName(default_.connectionName())\n .apiDestinationName(name)\n .description(\"test-api-destination-connection\")\n .httpApiParameters(ApiDestinationHttpApiParametersArgs.builder()\n .endpoint(\"http://127.0.0.1:8001\")\n .method(\"POST\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-chengdu\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:eventbridge:Connection\n properties:\n connectionName: ${name}\n networkParameters:\n networkType: PublicNetwork\n defaultApiDestination:\n type: alicloud:eventbridge:ApiDestination\n name: default\n properties:\n connectionName: ${default.connectionName}\n apiDestinationName: ${name}\n description: test-api-destination-connection\n httpApiParameters:\n endpoint: http://127.0.0.1:8001\n method: POST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Api Destination can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/apiDestination:ApiDestination example \u003cid\u003e\n```\n\n", "properties": { "apiDestinationName": { "type": "string", @@ -183174,7 +186991,7 @@ } }, "alicloud:eventbridge/connection:Connection": { - "description": "Provides a Event Bridge Connection resource.\n\nFor information about Event Bridge Connection and how to use it, see [What is Connection](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createconnection).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-chengdu\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultSwitch.vpcId,\n});\nconst defaultConnection = new alicloud.eventbridge.Connection(\"default\", {\n connectionName: name,\n description: \"test-connection-basic-pre\",\n networkParameters: {\n networkType: \"PublicNetwork\",\n vpcId: defaultNetwork.id,\n vswitcheId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n },\n authParameters: {\n authorizationType: \"BASIC_AUTH\",\n apiKeyAuthParameters: {\n apiKeyName: \"Token\",\n apiKeyValue: \"Token-value\",\n },\n basicAuthParameters: {\n username: \"admin\",\n password: \"admin\",\n },\n oauthParameters: {\n authorizationEndpoint: \"http://127.0.0.1:8080\",\n httpMethod: \"POST\",\n clientParameters: {\n clientId: \"ClientId\",\n clientSecret: \"ClientSecret\",\n },\n oauthHttpParameters: {\n headerParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n bodyParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n queryStringParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-chengdu\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_switch.vpc_id)\ndefault_connection = alicloud.eventbridge.Connection(\"default\",\n connection_name=name,\n description=\"test-connection-basic-pre\",\n network_parameters={\n \"network_type\": \"PublicNetwork\",\n \"vpc_id\": default_network.id,\n \"vswitche_id\": default_switch.id,\n \"security_group_id\": default_security_group.id,\n },\n auth_parameters={\n \"authorization_type\": \"BASIC_AUTH\",\n \"api_key_auth_parameters\": {\n \"api_key_name\": \"Token\",\n \"api_key_value\": \"Token-value\",\n },\n \"basic_auth_parameters\": {\n \"username\": \"admin\",\n \"password\": \"admin\",\n },\n \"oauth_parameters\": {\n \"authorization_endpoint\": \"http://127.0.0.1:8080\",\n \"http_method\": \"POST\",\n \"client_parameters\": {\n \"client_id\": \"ClientId\",\n \"client_secret\": \"ClientSecret\",\n },\n \"oauth_http_parameters\": {\n \"header_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n \"body_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n \"query_string_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-chengdu\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultConnection = new AliCloud.EventBridge.Connection(\"default\", new()\n {\n ConnectionName = name,\n Description = \"test-connection-basic-pre\",\n NetworkParameters = new AliCloud.EventBridge.Inputs.ConnectionNetworkParametersArgs\n {\n NetworkType = \"PublicNetwork\",\n VpcId = defaultNetwork.Id,\n VswitcheId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n AuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersArgs\n {\n AuthorizationType = \"BASIC_AUTH\",\n ApiKeyAuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersApiKeyAuthParametersArgs\n {\n ApiKeyName = \"Token\",\n ApiKeyValue = \"Token-value\",\n },\n BasicAuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersBasicAuthParametersArgs\n {\n Username = \"admin\",\n Password = \"admin\",\n },\n OauthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersArgs\n {\n AuthorizationEndpoint = \"http://127.0.0.1:8080\",\n HttpMethod = \"POST\",\n ClientParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersClientParametersArgs\n {\n ClientId = \"ClientId\",\n ClientSecret = \"ClientSecret\",\n },\n OauthHttpParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs\n {\n HeaderParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n BodyParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n QueryStringParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-chengdu\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultSwitch.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewConnection(ctx, \"default\", \u0026eventbridge.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"test-connection-basic-pre\"),\n\t\t\tNetworkParameters: \u0026eventbridge.ConnectionNetworkParametersArgs{\n\t\t\t\tNetworkType: pulumi.String(\"PublicNetwork\"),\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tVswitcheId: defaultSwitch.ID(),\n\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tAuthParameters: \u0026eventbridge.ConnectionAuthParametersArgs{\n\t\t\t\tAuthorizationType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\tApiKeyAuthParameters: \u0026eventbridge.ConnectionAuthParametersApiKeyAuthParametersArgs{\n\t\t\t\t\tApiKeyName: pulumi.String(\"Token\"),\n\t\t\t\t\tApiKeyValue: pulumi.String(\"Token-value\"),\n\t\t\t\t},\n\t\t\t\tBasicAuthParameters: \u0026eventbridge.ConnectionAuthParametersBasicAuthParametersArgs{\n\t\t\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\t\t\tPassword: pulumi.String(\"admin\"),\n\t\t\t\t},\n\t\t\t\tOauthParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersArgs{\n\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"http://127.0.0.1:8080\"),\n\t\t\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tClientParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersClientParametersArgs{\n\t\t\t\t\t\tClientId: pulumi.String(\"ClientId\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"ClientSecret\"),\n\t\t\t\t\t},\n\t\t\t\t\tOauthHttpParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs{\n\t\t\t\t\t\tHeaderParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tBodyParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueryStringParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eventbridge.Connection;\nimport com.pulumi.alicloud.eventbridge.ConnectionArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionNetworkParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersApiKeyAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersBasicAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersClientParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-chengdu\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .connectionName(name)\n .description(\"test-connection-basic-pre\")\n .networkParameters(ConnectionNetworkParametersArgs.builder()\n .networkType(\"PublicNetwork\")\n .vpcId(defaultNetwork.id())\n .vswitcheId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .authParameters(ConnectionAuthParametersArgs.builder()\n .authorizationType(\"BASIC_AUTH\")\n .apiKeyAuthParameters(ConnectionAuthParametersApiKeyAuthParametersArgs.builder()\n .apiKeyName(\"Token\")\n .apiKeyValue(\"Token-value\")\n .build())\n .basicAuthParameters(ConnectionAuthParametersBasicAuthParametersArgs.builder()\n .username(\"admin\")\n .password(\"admin\")\n .build())\n .oauthParameters(ConnectionAuthParametersOauthParametersArgs.builder()\n .authorizationEndpoint(\"http://127.0.0.1:8080\")\n .httpMethod(\"POST\")\n .clientParameters(ConnectionAuthParametersOauthParametersClientParametersArgs.builder()\n .clientId(\"ClientId\")\n .clientSecret(\"ClientSecret\")\n .build())\n .oauthHttpParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersArgs.builder()\n .headerParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .bodyParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .queryStringParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-chengdu\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultSwitch.vpcId}\n defaultConnection:\n type: alicloud:eventbridge:Connection\n name: default\n properties:\n connectionName: ${name}\n description: test-connection-basic-pre\n networkParameters:\n networkType: PublicNetwork\n vpcId: ${defaultNetwork.id}\n vswitcheId: ${defaultSwitch.id}\n securityGroupId: ${defaultSecurityGroup.id}\n authParameters:\n authorizationType: BASIC_AUTH\n apiKeyAuthParameters:\n apiKeyName: Token\n apiKeyValue: Token-value\n basicAuthParameters:\n username: admin\n password: admin\n oauthParameters:\n authorizationEndpoint: http://127.0.0.1:8080\n httpMethod: POST\n clientParameters:\n clientId: ClientId\n clientSecret: ClientSecret\n oauthHttpParameters:\n headerParameters:\n - key: name\n value: name\n isValueSecret: 'true'\n bodyParameters:\n - key: name\n value: name\n isValueSecret: 'true'\n queryStringParameters:\n - key: name\n value: name\n isValueSecret: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/connection:Connection example \u003cid\u003e\n```\n\n", + "description": "Provides a Event Bridge Connection resource.\n\nFor information about Event Bridge Connection and how to use it, see [What is Connection](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createconnection).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-chengdu\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultSwitch.vpcId,\n});\nconst defaultConnection = new alicloud.eventbridge.Connection(\"default\", {\n connectionName: name,\n description: \"test-connection-basic-pre\",\n networkParameters: {\n networkType: \"PublicNetwork\",\n vpcId: defaultNetwork.id,\n vswitcheId: defaultSwitch.id,\n securityGroupId: defaultSecurityGroup.id,\n },\n authParameters: {\n authorizationType: \"BASIC_AUTH\",\n apiKeyAuthParameters: {\n apiKeyName: \"Token\",\n apiKeyValue: \"Token-value\",\n },\n basicAuthParameters: {\n username: \"admin\",\n password: \"admin\",\n },\n oauthParameters: {\n authorizationEndpoint: \"http://127.0.0.1:8080\",\n httpMethod: \"POST\",\n clientParameters: {\n clientId: \"ClientId\",\n clientSecret: \"ClientSecret\",\n },\n oauthHttpParameters: {\n headerParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n bodyParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n queryStringParameters: [{\n key: \"name\",\n value: \"name\",\n isValueSecret: \"true\",\n }],\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-chengdu\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_switch.vpc_id)\ndefault_connection = alicloud.eventbridge.Connection(\"default\",\n connection_name=name,\n description=\"test-connection-basic-pre\",\n network_parameters={\n \"network_type\": \"PublicNetwork\",\n \"vpc_id\": default_network.id,\n \"vswitche_id\": default_switch.id,\n \"security_group_id\": default_security_group.id,\n },\n auth_parameters={\n \"authorization_type\": \"BASIC_AUTH\",\n \"api_key_auth_parameters\": {\n \"api_key_name\": \"Token\",\n \"api_key_value\": \"Token-value\",\n },\n \"basic_auth_parameters\": {\n \"username\": \"admin\",\n \"password\": \"admin\",\n },\n \"oauth_parameters\": {\n \"authorization_endpoint\": \"http://127.0.0.1:8080\",\n \"http_method\": \"POST\",\n \"client_parameters\": {\n \"client_id\": \"ClientId\",\n \"client_secret\": \"ClientSecret\",\n },\n \"oauth_http_parameters\": {\n \"header_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n \"body_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n \"query_string_parameters\": [{\n \"key\": \"name\",\n \"value\": \"name\",\n \"is_value_secret\": \"true\",\n }],\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-chengdu\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultConnection = new AliCloud.EventBridge.Connection(\"default\", new()\n {\n ConnectionName = name,\n Description = \"test-connection-basic-pre\",\n NetworkParameters = new AliCloud.EventBridge.Inputs.ConnectionNetworkParametersArgs\n {\n NetworkType = \"PublicNetwork\",\n VpcId = defaultNetwork.Id,\n VswitcheId = defaultSwitch.Id,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n AuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersArgs\n {\n AuthorizationType = \"BASIC_AUTH\",\n ApiKeyAuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersApiKeyAuthParametersArgs\n {\n ApiKeyName = \"Token\",\n ApiKeyValue = \"Token-value\",\n },\n BasicAuthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersBasicAuthParametersArgs\n {\n Username = \"admin\",\n Password = \"admin\",\n },\n OauthParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersArgs\n {\n AuthorizationEndpoint = \"http://127.0.0.1:8080\",\n HttpMethod = \"POST\",\n ClientParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersClientParametersArgs\n {\n ClientId = \"ClientId\",\n ClientSecret = \"ClientSecret\",\n },\n OauthHttpParameters = new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs\n {\n HeaderParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n BodyParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n QueryStringParameters = new[]\n {\n new AliCloud.EventBridge.Inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs\n {\n Key = \"name\",\n Value = \"name\",\n IsValueSecret = \"true\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-chengdu\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultSwitch.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewConnection(ctx, \"default\", \u0026eventbridge.ConnectionArgs{\n\t\t\tConnectionName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"test-connection-basic-pre\"),\n\t\t\tNetworkParameters: \u0026eventbridge.ConnectionNetworkParametersArgs{\n\t\t\t\tNetworkType: pulumi.String(\"PublicNetwork\"),\n\t\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\t\tVswitcheId: defaultSwitch.ID(),\n\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tAuthParameters: \u0026eventbridge.ConnectionAuthParametersArgs{\n\t\t\t\tAuthorizationType: pulumi.String(\"BASIC_AUTH\"),\n\t\t\t\tApiKeyAuthParameters: \u0026eventbridge.ConnectionAuthParametersApiKeyAuthParametersArgs{\n\t\t\t\t\tApiKeyName: pulumi.String(\"Token\"),\n\t\t\t\t\tApiKeyValue: pulumi.String(\"Token-value\"),\n\t\t\t\t},\n\t\t\t\tBasicAuthParameters: \u0026eventbridge.ConnectionAuthParametersBasicAuthParametersArgs{\n\t\t\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\t\t\tPassword: pulumi.String(\"admin\"),\n\t\t\t\t},\n\t\t\t\tOauthParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersArgs{\n\t\t\t\t\tAuthorizationEndpoint: pulumi.String(\"http://127.0.0.1:8080\"),\n\t\t\t\t\tHttpMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tClientParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersClientParametersArgs{\n\t\t\t\t\t\tClientId: pulumi.String(\"ClientId\"),\n\t\t\t\t\t\tClientSecret: pulumi.String(\"ClientSecret\"),\n\t\t\t\t\t},\n\t\t\t\t\tOauthHttpParameters: \u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs{\n\t\t\t\t\t\tHeaderParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tBodyParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tQueryStringParameters: eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArray{\n\t\t\t\t\t\t\t\u0026eventbridge.ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"name\"),\n\t\t\t\t\t\t\t\tIsValueSecret: pulumi.String(\"true\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.eventbridge.Connection;\nimport com.pulumi.alicloud.eventbridge.ConnectionArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionNetworkParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersApiKeyAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersBasicAuthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersClientParametersArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.ConnectionAuthParametersOauthParametersOauthHttpParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-chengdu\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .connectionName(name)\n .description(\"test-connection-basic-pre\")\n .networkParameters(ConnectionNetworkParametersArgs.builder()\n .networkType(\"PublicNetwork\")\n .vpcId(defaultNetwork.id())\n .vswitcheId(defaultSwitch.id())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .authParameters(ConnectionAuthParametersArgs.builder()\n .authorizationType(\"BASIC_AUTH\")\n .apiKeyAuthParameters(ConnectionAuthParametersApiKeyAuthParametersArgs.builder()\n .apiKeyName(\"Token\")\n .apiKeyValue(\"Token-value\")\n .build())\n .basicAuthParameters(ConnectionAuthParametersBasicAuthParametersArgs.builder()\n .username(\"admin\")\n .password(\"admin\")\n .build())\n .oauthParameters(ConnectionAuthParametersOauthParametersArgs.builder()\n .authorizationEndpoint(\"http://127.0.0.1:8080\")\n .httpMethod(\"POST\")\n .clientParameters(ConnectionAuthParametersOauthParametersClientParametersArgs.builder()\n .clientId(\"ClientId\")\n .clientSecret(\"ClientSecret\")\n .build())\n .oauthHttpParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersArgs.builder()\n .headerParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersHeaderParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .bodyParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersBodyParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .queryStringParameters(ConnectionAuthParametersOauthParametersOauthHttpParametersQueryStringParameterArgs.builder()\n .key(\"name\")\n .value(\"name\")\n .isValueSecret(\"true\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-chengdu\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultSwitch.vpcId}\n defaultConnection:\n type: alicloud:eventbridge:Connection\n name: default\n properties:\n connectionName: ${name}\n description: test-connection-basic-pre\n networkParameters:\n networkType: PublicNetwork\n vpcId: ${defaultNetwork.id}\n vswitcheId: ${defaultSwitch.id}\n securityGroupId: ${defaultSecurityGroup.id}\n authParameters:\n authorizationType: BASIC_AUTH\n apiKeyAuthParameters:\n apiKeyName: Token\n apiKeyValue: Token-value\n basicAuthParameters:\n username: admin\n password: admin\n oauthParameters:\n authorizationEndpoint: http://127.0.0.1:8080\n httpMethod: POST\n clientParameters:\n clientId: ClientId\n clientSecret: ClientSecret\n oauthHttpParameters:\n headerParameters:\n - key: name\n value: name\n isValueSecret: 'true'\n bodyParameters:\n - key: name\n value: name\n isValueSecret: 'true'\n queryStringParameters:\n - key: name\n value: name\n isValueSecret: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/connection:Connection example \u003cid\u003e\n```\n\n", "properties": { "authParameters": { "$ref": "#/types/alicloud:eventbridge/ConnectionAuthParameters:ConnectionAuthParameters", @@ -183254,7 +187071,7 @@ } }, "alicloud:eventbridge/eventBus:EventBus": { - "description": "Provides a Event Bridge Event Bus resource.\n\nFor information about Event Bridge Event Bus and how to use it, see [What is Event Bus](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createeventbus).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.eventbridge.EventBus(\"example\", {eventBusName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.eventbridge.EventBus(\"example\", event_bus_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.EventBridge.EventBus(\"example\", new()\n {\n EventBusName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eventbridge.NewEventBus(ctx, \"example\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.String(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.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new EventBus(\"example\", EventBusArgs.builder()\n .eventBusName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:eventbridge:EventBus\n properties:\n eventBusName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Event Bus can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/eventBus:EventBus example \u003cevent_bus_name\u003e\n```\n\n", + "description": "Provides a Event Bridge Event Bus resource.\n\nFor information about Event Bridge Event Bus and how to use it, see [What is Event Bus](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createeventbus).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.eventbridge.EventBus(\"example\", {eventBusName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.eventbridge.EventBus(\"example\", event_bus_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.EventBridge.EventBus(\"example\", new()\n {\n EventBusName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := eventbridge.NewEventBus(ctx, \"example\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.String(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.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new EventBus(\"example\", EventBusArgs.builder()\n .eventBusName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:eventbridge:EventBus\n properties:\n eventBusName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Event Bus can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/eventBus:EventBus example \u003cevent_bus_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -183299,7 +187116,7 @@ } }, "alicloud:eventbridge/eventSource:EventSource": { - "description": "Provides a Event Bridge Event Source resource.\n\nFor information about Event Bridge Event Source and how to use it, see [What is Event Source](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createeventsource).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: `${name}-${_default.result}`});\nconst defaultEventBus = new alicloud.eventbridge.EventBus(\"default\", {eventBusName: `${name}-${_default.result}`});\nconst defaultEventSource = new alicloud.eventbridge.EventSource(\"default\", {\n eventBusName: defaultEventBus.eventBusName,\n eventSourceName: `${name}-${_default.result}`,\n description: name,\n linkedExternalSource: true,\n externalSourceType: \"MNS\",\n externalSourceConfig: {\n QueueName: defaultQueue.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_queue = alicloud.mns.Queue(\"default\", name=f\"{name}-{default['result']}\")\ndefault_event_bus = alicloud.eventbridge.EventBus(\"default\", event_bus_name=f\"{name}-{default['result']}\")\ndefault_event_source = alicloud.eventbridge.EventSource(\"default\",\n event_bus_name=default_event_bus.event_bus_name,\n event_source_name=f\"{name}-{default['result']}\",\n description=name,\n linked_external_source=True,\n external_source_type=\"MNS\",\n external_source_config={\n \"QueueName\": default_queue.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n });\n\n var defaultEventBus = new AliCloud.EventBridge.EventBus(\"default\", new()\n {\n EventBusName = $\"{name}-{@default.Result}\",\n });\n\n var defaultEventSource = new AliCloud.EventBridge.EventSource(\"default\", new()\n {\n EventBusName = defaultEventBus.EventBusName,\n EventSourceName = $\"{name}-{@default.Result}\",\n Description = name,\n LinkedExternalSource = true,\n ExternalSourceType = \"MNS\",\n ExternalSourceConfig = \n {\n { \"QueueName\", defaultQueue.Name },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEventBus, err := eventbridge.NewEventBus(ctx, \"default\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewEventSource(ctx, \"default\", \u0026eventbridge.EventSourceArgs{\n\t\t\tEventBusName: defaultEventBus.EventBusName,\n\t\t\tEventSourceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLinkedExternalSource: pulumi.Bool(true),\n\t\t\tExternalSourceType: pulumi.String(\"MNS\"),\n\t\t\tExternalSourceConfig: pulumi.StringMap{\n\t\t\t\t\"QueueName\": defaultQueue.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport com.pulumi.alicloud.eventbridge.EventSource;\nimport com.pulumi.alicloud.eventbridge.EventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEventBus = new EventBus(\"defaultEventBus\", EventBusArgs.builder()\n .eventBusName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEventSource = new EventSource(\"defaultEventSource\", EventSourceArgs.builder()\n .eventBusName(defaultEventBus.eventBusName())\n .eventSourceName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .linkedExternalSource(true)\n .externalSourceType(\"MNS\")\n .externalSourceConfig(Map.of(\"QueueName\", defaultQueue.name()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: ${name}-${default.result}\n defaultEventBus:\n type: alicloud:eventbridge:EventBus\n name: default\n properties:\n eventBusName: ${name}-${default.result}\n defaultEventSource:\n type: alicloud:eventbridge:EventSource\n name: default\n properties:\n eventBusName: ${defaultEventBus.eventBusName}\n eventSourceName: ${name}-${default.result}\n description: ${name}\n linkedExternalSource: true\n externalSourceType: MNS\n externalSourceConfig:\n QueueName: ${defaultQueue.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Event Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/eventSource:EventSource example \u003cevent_source_name\u003e\n```\n\n", + "description": "Provides a Event Bridge Event Source resource.\n\nFor information about Event Bridge Event Source and how to use it, see [What is Event Source](https://www.alibabacloud.com/help/en/eventbridge/latest/api-eventbridge-2020-04-01-createeventsource).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: `${name}-${_default.result}`});\nconst defaultEventBus = new alicloud.eventbridge.EventBus(\"default\", {eventBusName: `${name}-${_default.result}`});\nconst defaultEventSource = new alicloud.eventbridge.EventSource(\"default\", {\n eventBusName: defaultEventBus.eventBusName,\n eventSourceName: `${name}-${_default.result}`,\n description: name,\n linkedExternalSource: true,\n externalSourceType: \"MNS\",\n externalSourceConfig: {\n QueueName: defaultQueue.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_queue = alicloud.mns.Queue(\"default\", name=f\"{name}-{default['result']}\")\ndefault_event_bus = alicloud.eventbridge.EventBus(\"default\", event_bus_name=f\"{name}-{default['result']}\")\ndefault_event_source = alicloud.eventbridge.EventSource(\"default\",\n event_bus_name=default_event_bus.event_bus_name,\n event_source_name=f\"{name}-{default['result']}\",\n description=name,\n linked_external_source=True,\n external_source_type=\"MNS\",\n external_source_config={\n \"QueueName\": default_queue.name,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n });\n\n var defaultEventBus = new AliCloud.EventBridge.EventBus(\"default\", new()\n {\n EventBusName = $\"{name}-{@default.Result}\",\n });\n\n var defaultEventSource = new AliCloud.EventBridge.EventSource(\"default\", new()\n {\n EventBusName = defaultEventBus.EventBusName,\n EventSourceName = $\"{name}-{@default.Result}\",\n Description = name,\n LinkedExternalSource = true,\n ExternalSourceType = \"MNS\",\n ExternalSourceConfig = \n {\n { \"QueueName\", defaultQueue.Name },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEventBus, err := eventbridge.NewEventBus(ctx, \"default\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewEventSource(ctx, \"default\", \u0026eventbridge.EventSourceArgs{\n\t\t\tEventBusName: defaultEventBus.EventBusName,\n\t\t\tEventSourceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLinkedExternalSource: pulumi.Bool(true),\n\t\t\tExternalSourceType: pulumi.String(\"MNS\"),\n\t\t\tExternalSourceConfig: pulumi.StringMap{\n\t\t\t\t\"QueueName\": defaultQueue.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport com.pulumi.alicloud.eventbridge.EventSource;\nimport com.pulumi.alicloud.eventbridge.EventSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEventBus = new EventBus(\"defaultEventBus\", EventBusArgs.builder()\n .eventBusName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultEventSource = new EventSource(\"defaultEventSource\", EventSourceArgs.builder()\n .eventBusName(defaultEventBus.eventBusName())\n .eventSourceName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .linkedExternalSource(true)\n .externalSourceType(\"MNS\")\n .externalSourceConfig(Map.of(\"QueueName\", defaultQueue.name()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: ${name}-${default.result}\n defaultEventBus:\n type: alicloud:eventbridge:EventBus\n name: default\n properties:\n eventBusName: ${name}-${default.result}\n defaultEventSource:\n type: alicloud:eventbridge:EventSource\n name: default\n properties:\n eventBusName: ${defaultEventBus.eventBusName}\n eventSourceName: ${name}-${default.result}\n description: ${name}\n linkedExternalSource: true\n externalSourceType: MNS\n externalSourceConfig:\n QueueName: ${defaultQueue.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Event Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/eventSource:EventSource example \u003cevent_source_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -183405,7 +187222,7 @@ } }, "alicloud:eventbridge/rule:Rule": { - "description": "Provides a Event Bridge Rule resource.\n\nFor information about Event Bridge Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/eventbridge/latest/createrule-6).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst defaultEventBus = new alicloud.eventbridge.EventBus(\"default\", {eventBusName: name});\nconst queue1 = new alicloud.mns.Queue(\"queue1\", {name: name});\nconst mnsEndpointA = std.format({\n input: \"acs:mns:cn-hangzhou:%s:queues/%s\",\n args: [\n _default.then(_default =\u003e _default.id),\n queue1.name,\n ],\n}).then(invoke =\u003e invoke.result);\nconst fnfEndpoint = std.format({\n input: \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n args: [_default.then(_default =\u003e _default.id)],\n}).then(invoke =\u003e invoke.result);\nconst example = new alicloud.eventbridge.Rule(\"example\", {\n eventBusName: defaultEventBus.eventBusName,\n ruleName: name,\n description: \"example\",\n filterPattern: \"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n targets: [{\n targetId: \"tf-example1\",\n endpoint: mnsEndpointA,\n type: \"acs.mns.queue\",\n paramLists: [\n {\n resourceKey: \"queue\",\n form: \"CONSTANT\",\n value: \"tf-testaccEbRule\",\n },\n {\n resourceKey: \"Body\",\n form: \"ORIGINAL\",\n },\n {\n form: \"CONSTANT\",\n resourceKey: \"IsBase64Encode\",\n value: \"true\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\ndefault_event_bus = alicloud.eventbridge.EventBus(\"default\", event_bus_name=name)\nqueue1 = alicloud.mns.Queue(\"queue1\", name=name)\nmns_endpoint_a = std.format(input=\"acs:mns:cn-hangzhou:%s:queues/%s\",\n args=[\n default.id,\n queue1.name,\n ]).result\nfnf_endpoint = std.format(input=\"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n args=[default.id]).result\nexample = alicloud.eventbridge.Rule(\"example\",\n event_bus_name=default_event_bus.event_bus_name,\n rule_name=name,\n description=\"example\",\n filter_pattern=\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n targets=[{\n \"target_id\": \"tf-example1\",\n \"endpoint\": mns_endpoint_a,\n \"type\": \"acs.mns.queue\",\n \"param_lists\": [\n {\n \"resource_key\": \"queue\",\n \"form\": \"CONSTANT\",\n \"value\": \"tf-testaccEbRule\",\n },\n {\n \"resource_key\": \"Body\",\n \"form\": \"ORIGINAL\",\n },\n {\n \"form\": \"CONSTANT\",\n \"resource_key\": \"IsBase64Encode\",\n \"value\": \"true\",\n },\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultEventBus = new AliCloud.EventBridge.EventBus(\"default\", new()\n {\n EventBusName = name,\n });\n\n var queue1 = new AliCloud.Mns.Queue(\"queue1\", new()\n {\n Name = name,\n });\n\n var mnsEndpointA = Std.Format.Invoke(new()\n {\n Input = \"acs:mns:cn-hangzhou:%s:queues/%s\",\n Args = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n queue1.Name,\n },\n }).Apply(invoke =\u003e invoke.Result);\n\n var fnfEndpoint = Std.Format.Invoke(new()\n {\n Input = \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n Args = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n },\n }).Apply(invoke =\u003e invoke.Result);\n\n var example = new AliCloud.EventBridge.Rule(\"example\", new()\n {\n EventBusName = defaultEventBus.EventBusName,\n RuleName = name,\n Description = \"example\",\n FilterPattern = \"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n Targets = new[]\n {\n new AliCloud.EventBridge.Inputs.RuleTargetArgs\n {\n TargetId = \"tf-example1\",\n Endpoint = mnsEndpointA,\n Type = \"acs.mns.queue\",\n ParamLists = new[]\n {\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n ResourceKey = \"queue\",\n Form = \"CONSTANT\",\n Value = \"tf-testaccEbRule\",\n },\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n ResourceKey = \"Body\",\n Form = \"ORIGINAL\",\n },\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n Form = \"CONSTANT\",\n ResourceKey = \"IsBase64Encode\",\n Value = \"true\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEventBus, err := eventbridge.NewEventBus(ctx, \"default\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue1, err := mns.NewQueue(ctx, \"queue1\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmnsEndpointA := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:mns:cn-hangzhou:%s:queues/%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Id,\n\t\t\t\tqueue1.Name,\n\t\t\t},\n\t\t}, nil).Result\n\t\t_ := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n\t\t\tArgs: []*string{\n\t\t\t\t_default.Id,\n\t\t\t},\n\t\t}, nil).Result\n\t\t_, err = eventbridge.NewRule(ctx, \"example\", \u0026eventbridge.RuleArgs{\n\t\t\tEventBusName: defaultEventBus.EventBusName,\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tFilterPattern: pulumi.String(\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\"),\n\t\t\tTargets: eventbridge.RuleTargetArray{\n\t\t\t\t\u0026eventbridge.RuleTargetArgs{\n\t\t\t\t\tTargetId: pulumi.String(\"tf-example1\"),\n\t\t\t\t\tEndpoint: pulumi.String(mnsEndpointA),\n\t\t\t\t\tType: pulumi.String(\"acs.mns.queue\"),\n\t\t\t\t\tParamLists: eventbridge.RuleTargetParamListArray{\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"queue\"),\n\t\t\t\t\t\t\tForm: pulumi.String(\"CONSTANT\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"tf-testaccEbRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\tForm: pulumi.String(\"ORIGINAL\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tForm: pulumi.String(\"CONSTANT\"),\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"IsBase64Encode\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.eventbridge.Rule;\nimport com.pulumi.alicloud.eventbridge.RuleArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.RuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultEventBus = new EventBus(\"defaultEventBus\", EventBusArgs.builder()\n .eventBusName(name)\n .build());\n\n var queue1 = new Queue(\"queue1\", QueueArgs.builder()\n .name(name)\n .build());\n\n final var mnsEndpointA = StdFunctions.format(FormatArgs.builder()\n .input(\"acs:mns:cn-hangzhou:%s:queues/%s\")\n .args( \n default_.id(),\n queue1.name())\n .build()).result();\n\n final var fnfEndpoint = StdFunctions.format(FormatArgs.builder()\n .input(\"acs:fnf:cn-hangzhou:%s:flow/${flow}\")\n .args(default_.id())\n .build()).result();\n\n var example = new Rule(\"example\", RuleArgs.builder()\n .eventBusName(defaultEventBus.eventBusName())\n .ruleName(name)\n .description(\"example\")\n .filterPattern(\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\")\n .targets(RuleTargetArgs.builder()\n .targetId(\"tf-example1\")\n .endpoint(mnsEndpointA)\n .type(\"acs.mns.queue\")\n .paramLists( \n RuleTargetParamListArgs.builder()\n .resourceKey(\"queue\")\n .form(\"CONSTANT\")\n .value(\"tf-testaccEbRule\")\n .build(),\n RuleTargetParamListArgs.builder()\n .resourceKey(\"Body\")\n .form(\"ORIGINAL\")\n .build(),\n RuleTargetParamListArgs.builder()\n .form(\"CONSTANT\")\n .resourceKey(\"IsBase64Encode\")\n .value(\"true\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultEventBus:\n type: alicloud:eventbridge:EventBus\n name: default\n properties:\n eventBusName: ${name}\n queue1:\n type: alicloud:mns:Queue\n properties:\n name: ${name}\n example:\n type: alicloud:eventbridge:Rule\n properties:\n eventBusName: ${defaultEventBus.eventBusName}\n ruleName: ${name}\n description: example\n filterPattern: '{\"source\":[\"crmabc.newsletter\"],\"type\":[\"UserSignUp\", \"UserLogin\"]}'\n targets:\n - targetId: tf-example1\n endpoint: ${mnsEndpointA}\n type: acs.mns.queue\n paramLists:\n - resourceKey: queue\n form: CONSTANT\n value: tf-testaccEbRule\n - resourceKey: Body\n form: ORIGINAL\n - form: CONSTANT\n resourceKey: IsBase64Encode\n value: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n mnsEndpointA:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:mns:cn-hangzhou:%s:queues/%s\n args:\n - ${default.id}\n - ${queue1.name}\n return: result\n fnfEndpoint:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:fnf:cn-hangzhou:%s:flow/$${flow}\n args:\n - ${default.id}\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/rule:Rule example \u003cevent_bus_name\u003e:\u003crule_name\u003e\n```\n\n", + "description": "Provides a Event Bridge Rule resource.\n\nFor information about Event Bridge Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/eventbridge/latest/createrule-6).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst defaultEventBus = new alicloud.eventbridge.EventBus(\"default\", {eventBusName: name});\nconst queue1 = new alicloud.mns.Queue(\"queue1\", {name: name});\nconst mnsEndpointA = std.format({\n input: \"acs:mns:cn-hangzhou:%s:queues/%s\",\n args: [\n _default.then(_default =\u003e _default.id),\n queue1.name,\n ],\n}).then(invoke =\u003e invoke.result);\nconst fnfEndpoint = std.format({\n input: \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n args: [_default.then(_default =\u003e _default.id)],\n}).then(invoke =\u003e invoke.result);\nconst example = new alicloud.eventbridge.Rule(\"example\", {\n eventBusName: defaultEventBus.eventBusName,\n ruleName: name,\n description: \"example\",\n filterPattern: \"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n targets: [{\n targetId: \"tf-example1\",\n endpoint: mnsEndpointA,\n type: \"acs.mns.queue\",\n paramLists: [\n {\n resourceKey: \"queue\",\n form: \"CONSTANT\",\n value: \"tf-testaccEbRule\",\n },\n {\n resourceKey: \"Body\",\n form: \"ORIGINAL\",\n },\n {\n form: \"CONSTANT\",\n resourceKey: \"IsBase64Encode\",\n value: \"true\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\ndefault_event_bus = alicloud.eventbridge.EventBus(\"default\", event_bus_name=name)\nqueue1 = alicloud.mns.Queue(\"queue1\", name=name)\nmns_endpoint_a = std.format(input=\"acs:mns:cn-hangzhou:%s:queues/%s\",\n args=[\n default.id,\n queue1.name,\n ]).result\nfnf_endpoint = std.format(input=\"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n args=[default.id]).result\nexample = alicloud.eventbridge.Rule(\"example\",\n event_bus_name=default_event_bus.event_bus_name,\n rule_name=name,\n description=\"example\",\n filter_pattern=\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n targets=[{\n \"target_id\": \"tf-example1\",\n \"endpoint\": mns_endpoint_a,\n \"type\": \"acs.mns.queue\",\n \"param_lists\": [\n {\n \"resource_key\": \"queue\",\n \"form\": \"CONSTANT\",\n \"value\": \"tf-testaccEbRule\",\n },\n {\n \"resource_key\": \"Body\",\n \"form\": \"ORIGINAL\",\n },\n {\n \"form\": \"CONSTANT\",\n \"resource_key\": \"IsBase64Encode\",\n \"value\": \"true\",\n },\n ],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultEventBus = new AliCloud.EventBridge.EventBus(\"default\", new()\n {\n EventBusName = name,\n });\n\n var queue1 = new AliCloud.Mns.Queue(\"queue1\", new()\n {\n Name = name,\n });\n\n var mnsEndpointA = Std.Format.Invoke(new()\n {\n Input = \"acs:mns:cn-hangzhou:%s:queues/%s\",\n Args = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n queue1.Name,\n },\n }).Apply(invoke =\u003e invoke.Result);\n\n var fnfEndpoint = Std.Format.Invoke(new()\n {\n Input = \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n Args = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n },\n }).Apply(invoke =\u003e invoke.Result);\n\n var example = new AliCloud.EventBridge.Rule(\"example\", new()\n {\n EventBusName = defaultEventBus.EventBusName,\n RuleName = name,\n Description = \"example\",\n FilterPattern = \"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\",\n Targets = new[]\n {\n new AliCloud.EventBridge.Inputs.RuleTargetArgs\n {\n TargetId = \"tf-example1\",\n Endpoint = mnsEndpointA,\n Type = \"acs.mns.queue\",\n ParamLists = new[]\n {\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n ResourceKey = \"queue\",\n Form = \"CONSTANT\",\n Value = \"tf-testaccEbRule\",\n },\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n ResourceKey = \"Body\",\n Form = \"ORIGINAL\",\n },\n new AliCloud.EventBridge.Inputs.RuleTargetParamListArgs\n {\n Form = \"CONSTANT\",\n ResourceKey = \"IsBase64Encode\",\n Value = \"true\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEventBus, err := eventbridge.NewEventBus(ctx, \"default\", \u0026eventbridge.EventBusArgs{\n\t\t\tEventBusName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tqueue1, err := mns.NewQueue(ctx, \"queue1\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmnsEndpointA := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:mns:cn-hangzhou:%s:queues/%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Id,\n\t\t\t\tqueue1.Name,\n\t\t\t},\n\t\t}, nil).Result\n\t\t_ := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:fnf:cn-hangzhou:%s:flow/${flow}\",\n\t\t\tArgs: []*string{\n\t\t\t\t_default.Id,\n\t\t\t},\n\t\t}, nil).Result\n\t\t_, err = eventbridge.NewRule(ctx, \"example\", \u0026eventbridge.RuleArgs{\n\t\t\tEventBusName: defaultEventBus.EventBusName,\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tFilterPattern: pulumi.String(\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\"),\n\t\t\tTargets: eventbridge.RuleTargetArray{\n\t\t\t\t\u0026eventbridge.RuleTargetArgs{\n\t\t\t\t\tTargetId: pulumi.String(\"tf-example1\"),\n\t\t\t\t\tEndpoint: pulumi.String(mnsEndpointA),\n\t\t\t\t\tType: pulumi.String(\"acs.mns.queue\"),\n\t\t\t\t\tParamLists: eventbridge.RuleTargetParamListArray{\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"queue\"),\n\t\t\t\t\t\t\tForm: pulumi.String(\"CONSTANT\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"tf-testaccEbRule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\tForm: pulumi.String(\"ORIGINAL\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026eventbridge.RuleTargetParamListArgs{\n\t\t\t\t\t\t\tForm: pulumi.String(\"CONSTANT\"),\n\t\t\t\t\t\t\tResourceKey: pulumi.String(\"IsBase64Encode\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.eventbridge.EventBus;\nimport com.pulumi.alicloud.eventbridge.EventBusArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.eventbridge.Rule;\nimport com.pulumi.alicloud.eventbridge.RuleArgs;\nimport com.pulumi.alicloud.eventbridge.inputs.RuleTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultEventBus = new EventBus(\"defaultEventBus\", EventBusArgs.builder()\n .eventBusName(name)\n .build());\n\n var queue1 = new Queue(\"queue1\", QueueArgs.builder()\n .name(name)\n .build());\n\n final var mnsEndpointA = StdFunctions.format(FormatArgs.builder()\n .input(\"acs:mns:cn-hangzhou:%s:queues/%s\")\n .args( \n default_.id(),\n queue1.name())\n .build()).result();\n\n final var fnfEndpoint = StdFunctions.format(FormatArgs.builder()\n .input(\"acs:fnf:cn-hangzhou:%s:flow/${flow}\")\n .args(default_.id())\n .build()).result();\n\n var example = new Rule(\"example\", RuleArgs.builder()\n .eventBusName(defaultEventBus.eventBusName())\n .ruleName(name)\n .description(\"example\")\n .filterPattern(\"{\\\"source\\\":[\\\"crmabc.newsletter\\\"],\\\"type\\\":[\\\"UserSignUp\\\", \\\"UserLogin\\\"]}\")\n .targets(RuleTargetArgs.builder()\n .targetId(\"tf-example1\")\n .endpoint(mnsEndpointA)\n .type(\"acs.mns.queue\")\n .paramLists( \n RuleTargetParamListArgs.builder()\n .resourceKey(\"queue\")\n .form(\"CONSTANT\")\n .value(\"tf-testaccEbRule\")\n .build(),\n RuleTargetParamListArgs.builder()\n .resourceKey(\"Body\")\n .form(\"ORIGINAL\")\n .build(),\n RuleTargetParamListArgs.builder()\n .form(\"CONSTANT\")\n .resourceKey(\"IsBase64Encode\")\n .value(\"true\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultEventBus:\n type: alicloud:eventbridge:EventBus\n name: default\n properties:\n eventBusName: ${name}\n queue1:\n type: alicloud:mns:Queue\n properties:\n name: ${name}\n example:\n type: alicloud:eventbridge:Rule\n properties:\n eventBusName: ${defaultEventBus.eventBusName}\n ruleName: ${name}\n description: example\n filterPattern: '{\"source\":[\"crmabc.newsletter\"],\"type\":[\"UserSignUp\", \"UserLogin\"]}'\n targets:\n - targetId: tf-example1\n endpoint: ${mnsEndpointA}\n type: acs.mns.queue\n paramLists:\n - resourceKey: queue\n form: CONSTANT\n value: tf-testaccEbRule\n - resourceKey: Body\n form: ORIGINAL\n - form: CONSTANT\n resourceKey: IsBase64Encode\n value: 'true'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n mnsEndpointA:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:mns:cn-hangzhou:%s:queues/%s\n args:\n - ${default.id}\n - ${queue1.name}\n return: result\n fnfEndpoint:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:fnf:cn-hangzhou:%s:flow/$${flow}\n args:\n - ${default.id}\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/rule:Rule example \u003cevent_bus_name\u003e:\u003crule_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -183516,7 +187333,7 @@ } }, "alicloud:eventbridge/serviceLinkedRole:ServiceLinkedRole": { - "description": "Provides a Event Bridge Service Linked Role resource.\n\nFor information about Event Bridge Service Linked Role and how to use it, see [What is Service Linked Role](https://www.alibabacloud.com/help/en/eventbridge/developer-reference/api-eventbridge-2020-04-01-createservicelinkedroleforproduct).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n\u003e **NOTE:** From version 1.142.0, the resource is renamed as \u003cspan pulumi-lang-nodejs=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-dotnet=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-go=\"`eventbridge.ServiceLinkedRole`\" pulumi-lang-python=\"`eventbridge.ServiceLinkedRole`\" pulumi-lang-yaml=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-java=\"`alicloud.eventbridge.ServiceLinkedRole`\"\u003e`alicloud.eventbridge.ServiceLinkedRole`\u003c/span\u003e.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eventbridge.ServiceLinkedRole(\"default\", {productName: \"AliyunServiceRoleForEventBridgeSourceRocketMQ\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eventbridge.ServiceLinkedRole(\"default\", product_name=\"AliyunServiceRoleForEventBridgeSourceRocketMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.EventBridge.ServiceLinkedRole(\"default\", new()\n {\n ProductName = \"AliyunServiceRoleForEventBridgeSourceRocketMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventbridge.NewServiceLinkedRole(ctx, \"default\", \u0026eventbridge.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForEventBridgeSourceRocketMQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRole;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceLinkedRole(\"default\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForEventBridgeSourceRocketMQ\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eventbridge:ServiceLinkedRole\n properties:\n productName: AliyunServiceRoleForEventBridgeSourceRocketMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEvent Bridge Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", + "description": "Provides a Event Bridge Service Linked Role resource.\n\nFor information about Event Bridge Service Linked Role and how to use it, see [What is Service Linked Role](https://www.alibabacloud.com/help/en/eventbridge/developer-reference/api-eventbridge-2020-04-01-createservicelinkedroleforproduct).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n\u003e **NOTE:** From version 1.142.0, the resource is renamed as \u003cspan pulumi-lang-nodejs=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-dotnet=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-go=\"`eventbridge.ServiceLinkedRole`\" pulumi-lang-python=\"`eventbridge.ServiceLinkedRole`\" pulumi-lang-yaml=\"`alicloud.eventbridge.ServiceLinkedRole`\" pulumi-lang-java=\"`alicloud.eventbridge.ServiceLinkedRole`\"\u003e`alicloud.eventbridge.ServiceLinkedRole`\u003c/span\u003e.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.eventbridge.ServiceLinkedRole(\"default\", {productName: \"AliyunServiceRoleForEventBridgeSourceRocketMQ\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.eventbridge.ServiceLinkedRole(\"default\", product_name=\"AliyunServiceRoleForEventBridgeSourceRocketMQ\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.EventBridge.ServiceLinkedRole(\"default\", new()\n {\n ProductName = \"AliyunServiceRoleForEventBridgeSourceRocketMQ\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventbridge.NewServiceLinkedRole(ctx, \"default\", \u0026eventbridge.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForEventBridgeSourceRocketMQ\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRole;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceLinkedRole(\"default\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForEventBridgeSourceRocketMQ\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:eventbridge:ServiceLinkedRole\n properties:\n productName: AliyunServiceRoleForEventBridgeSourceRocketMQ\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEvent Bridge Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:eventbridge/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", "properties": { "productName": { "type": "string", @@ -183578,7 +187395,7 @@ } }, "alicloud:expressconnect/ecFailoverTestJob:EcFailoverTestJob": { - "description": "Provides a Express Connect Ec Failover Test Job resource. Express Connect Failover Test Job.\n\nFor information about Express Connect Ec Failover Test Job and how to use it, see [What is Ec Failover Test Job](https://www.alibabacloud.com/help/zh/express-connect/developer-reference/api-vpc-2016-04-28-createfailovertestjob-efficiency-channels).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst defaultEcFailoverTestJob = new alicloud.expressconnect.EcFailoverTestJob(\"default\", {\n description: name,\n jobType: \"StartNow\",\n resourceIds: [\n _default.then(_default =\u003e _default.ids?.[0]),\n _default.then(_default =\u003e _default.ids?.[1]),\n ],\n jobDuration: 1,\n resourceType: \"PHYSICALCONNECTION\",\n ecFailoverTestJobName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ndefault_ec_failover_test_job = alicloud.expressconnect.EcFailoverTestJob(\"default\",\n description=name,\n job_type=\"StartNow\",\n resource_ids=[\n default.ids[0],\n default.ids[1],\n ],\n job_duration=1,\n resource_type=\"PHYSICALCONNECTION\",\n ec_failover_test_job_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var defaultEcFailoverTestJob = new AliCloud.ExpressConnect.EcFailoverTestJob(\"default\", new()\n {\n Description = name,\n JobType = \"StartNow\",\n ResourceIds = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[0])),\n @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n },\n JobDuration = 1,\n ResourceType = \"PHYSICALCONNECTION\",\n EcFailoverTestJobName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewEcFailoverTestJob(ctx, \"default\", \u0026expressconnect.EcFailoverTestJobArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tJobType: pulumi.String(\"StartNow\"),\n\t\t\tResourceIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Ids[0]),\n\t\t\t\tpulumi.String(_default.Ids[1]),\n\t\t\t},\n\t\t\tJobDuration: pulumi.Int(1),\n\t\t\tResourceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t\tEcFailoverTestJobName: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.EcFailoverTestJob;\nimport com.pulumi.alicloud.expressconnect.EcFailoverTestJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var defaultEcFailoverTestJob = new EcFailoverTestJob(\"defaultEcFailoverTestJob\", EcFailoverTestJobArgs.builder()\n .description(name)\n .jobType(\"StartNow\")\n .resourceIds( \n default_.ids()[0],\n default_.ids()[1])\n .jobDuration(1)\n .resourceType(\"PHYSICALCONNECTION\")\n .ecFailoverTestJobName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEcFailoverTestJob:\n type: alicloud:expressconnect:EcFailoverTestJob\n name: default\n properties:\n description: ${name}\n jobType: StartNow\n resourceIds:\n - ${default.ids[0]}\n - ${default.ids[1]}\n jobDuration: '1'\n resourceType: PHYSICALCONNECTION\n ecFailoverTestJobName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Ec Failover Test Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/ecFailoverTestJob:EcFailoverTestJob example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Ec Failover Test Job resource. Express Connect Failover Test Job.\n\nFor information about Express Connect Ec Failover Test Job and how to use it, see [What is Ec Failover Test Job](https://www.alibabacloud.com/help/zh/express-connect/developer-reference/api-vpc-2016-04-28-createfailovertestjob-efficiency-channels).\n\n\u003e **NOTE:** Available since v1.215.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst defaultEcFailoverTestJob = new alicloud.expressconnect.EcFailoverTestJob(\"default\", {\n description: name,\n jobType: \"StartNow\",\n resourceIds: [\n _default.then(_default =\u003e _default.ids?.[0]),\n _default.then(_default =\u003e _default.ids?.[1]),\n ],\n jobDuration: 1,\n resourceType: \"PHYSICALCONNECTION\",\n ecFailoverTestJobName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ndefault_ec_failover_test_job = alicloud.expressconnect.EcFailoverTestJob(\"default\",\n description=name,\n job_type=\"StartNow\",\n resource_ids=[\n default.ids[0],\n default.ids[1],\n ],\n job_duration=1,\n resource_type=\"PHYSICALCONNECTION\",\n ec_failover_test_job_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var defaultEcFailoverTestJob = new AliCloud.ExpressConnect.EcFailoverTestJob(\"default\", new()\n {\n Description = name,\n JobType = \"StartNow\",\n ResourceIds = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[0])),\n @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n },\n JobDuration = 1,\n ResourceType = \"PHYSICALCONNECTION\",\n EcFailoverTestJobName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewEcFailoverTestJob(ctx, \"default\", \u0026expressconnect.EcFailoverTestJobArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tJobType: pulumi.String(\"StartNow\"),\n\t\t\tResourceIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Ids[0]),\n\t\t\t\tpulumi.String(_default.Ids[1]),\n\t\t\t},\n\t\t\tJobDuration: pulumi.Int(1),\n\t\t\tResourceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t\tEcFailoverTestJobName: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.EcFailoverTestJob;\nimport com.pulumi.alicloud.expressconnect.EcFailoverTestJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var defaultEcFailoverTestJob = new EcFailoverTestJob(\"defaultEcFailoverTestJob\", EcFailoverTestJobArgs.builder()\n .description(name)\n .jobType(\"StartNow\")\n .resourceIds( \n default_.ids()[0],\n default_.ids()[1])\n .jobDuration(1)\n .resourceType(\"PHYSICALCONNECTION\")\n .ecFailoverTestJobName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEcFailoverTestJob:\n type: alicloud:expressconnect:EcFailoverTestJob\n name: default\n properties:\n description: ${name}\n jobType: StartNow\n resourceIds:\n - ${default.ids[0]}\n - ${default.ids[1]}\n jobDuration: '1'\n resourceType: PHYSICALCONNECTION\n ecFailoverTestJobName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Ec Failover Test Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/ecFailoverTestJob:EcFailoverTestJob example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -183701,7 +187518,7 @@ } }, "alicloud:expressconnect/grantRuleToCen:GrantRuleToCen": { - "description": "Provides a Express Connect Grant Rule To Cen resource.\n\nFor information about Express Connect Grant Rule To Cen and how to use it, see [What is Grant Rule To Cen](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/grantinstancetocen).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetPhysicalConnections = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 2999,\n min: 1,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: defaultGetPhysicalConnections.then(defaultGetPhysicalConnections =\u003e defaultGetPhysicalConnections.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultGrantRuleToCen = new alicloud.expressconnect.GrantRuleToCen(\"default\", {\n cenId: defaultInstance.id,\n cenOwnerId: _default.then(_default =\u003e _default.id),\n instanceId: defaultVirtualBorderRouter.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_get_physical_connections = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n max=2999,\n min=1)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default_get_physical_connections.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_instance = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_grant_rule_to_cen = alicloud.expressconnect.GrantRuleToCen(\"default\",\n cen_id=default_instance.id,\n cen_owner_id=default.id,\n instance_id=default_virtual_border_router.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetPhysicalConnections = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = defaultGetPhysicalConnections.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultGrantRuleToCen = new AliCloud.ExpressConnect.GrantRuleToCen(\"default\", new()\n {\n CenId = defaultInstance.Id,\n CenOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n InstanceId = defaultVirtualBorderRouter.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(defaultGetPhysicalConnections.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewGrantRuleToCen(ctx, \"default\", \u0026expressconnect.GrantRuleToCenArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tCenOwnerId: pulumi.String(_default.Id),\n\t\t\tInstanceId: defaultVirtualBorderRouter.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.expressconnect.GrantRuleToCen;\nimport com.pulumi.alicloud.expressconnect.GrantRuleToCenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetPhysicalConnections = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(defaultGetPhysicalConnections.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultGrantRuleToCen = new GrantRuleToCen(\"defaultGrantRuleToCen\", GrantRuleToCenArgs.builder()\n .cenId(defaultInstance.id())\n .cenOwnerId(default_.id())\n .instanceId(defaultVirtualBorderRouter.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 2999\n min: 1\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${defaultGetPhysicalConnections.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n defaultGrantRuleToCen:\n type: alicloud:expressconnect:GrantRuleToCen\n name: default\n properties:\n cenId: ${defaultInstance.id}\n cenOwnerId: ${default.id}\n instanceId: ${defaultVirtualBorderRouter.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetPhysicalConnections:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Grant Rule To Cen can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/grantRuleToCen:GrantRuleToCen example \u003ccen_id\u003e:\u003ccen_owner_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a Express Connect Grant Rule To Cen resource.\n\nFor information about Express Connect Grant Rule To Cen and how to use it, see [What is Grant Rule To Cen](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/grantinstancetocen).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getAccount({});\nconst defaultGetPhysicalConnections = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 2999,\n min: 1,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: defaultGetPhysicalConnections.then(defaultGetPhysicalConnections =\u003e defaultGetPhysicalConnections.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultGrantRuleToCen = new alicloud.expressconnect.GrantRuleToCen(\"default\", {\n cenId: defaultInstance.id,\n cenOwnerId: _default.then(_default =\u003e _default.id),\n instanceId: defaultVirtualBorderRouter.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_account()\ndefault_get_physical_connections = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n max=2999,\n min=1)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default_get_physical_connections.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_instance = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_grant_rule_to_cen = alicloud.expressconnect.GrantRuleToCen(\"default\",\n cen_id=default_instance.id,\n cen_owner_id=default.id,\n instance_id=default_virtual_border_router.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetPhysicalConnections = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = defaultGetPhysicalConnections.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultGrantRuleToCen = new AliCloud.ExpressConnect.GrantRuleToCen(\"default\", new()\n {\n CenId = defaultInstance.Id,\n CenOwnerId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n InstanceId = defaultVirtualBorderRouter.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(defaultGetPhysicalConnections.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewGrantRuleToCen(ctx, \"default\", \u0026expressconnect.GrantRuleToCenArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tCenOwnerId: pulumi.String(_default.Id),\n\t\t\tInstanceId: defaultVirtualBorderRouter.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.expressconnect.GrantRuleToCen;\nimport com.pulumi.alicloud.expressconnect.GrantRuleToCenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetPhysicalConnections = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(defaultGetPhysicalConnections.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultGrantRuleToCen = new GrantRuleToCen(\"defaultGrantRuleToCen\", GrantRuleToCenArgs.builder()\n .cenId(defaultInstance.id())\n .cenOwnerId(default_.id())\n .instanceId(defaultVirtualBorderRouter.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 2999\n min: 1\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${defaultGetPhysicalConnections.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n defaultGrantRuleToCen:\n type: alicloud:expressconnect:GrantRuleToCen\n name: default\n properties:\n cenId: ${defaultInstance.id}\n cenOwnerId: ${default.id}\n instanceId: ${defaultVirtualBorderRouter.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetPhysicalConnections:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Grant Rule To Cen can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/grantRuleToCen:GrantRuleToCen example \u003ccen_id\u003e:\u003ccen_owner_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "cenId": { "type": "string", @@ -183775,7 +187592,7 @@ } }, "alicloud:expressconnect/physicalConnection:PhysicalConnection": { - "description": "Provides a Express Connect Physical Connection resource.\n\nFor information about Express Connect Physical Connection and how to use it, see [What is Physical Connection](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-vpc-2016-04-28-createphysicalconnection-efficiency-channels).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst domestic = new alicloud.expressconnect.PhysicalConnection(\"domestic\", {\n accessPointId: \"ap-cn-hangzhou-yh-B\",\n lineOperator: \"CT\",\n peerLocation: \"example_value\",\n physicalConnectionName: \"example_value\",\n type: \"VPC\",\n description: \"my domestic connection\",\n portType: \"1000Base-LX\",\n bandwidth: \"100\",\n});\nconst international = new alicloud.expressconnect.PhysicalConnection(\"international\", {\n accessPointId: \"ap-sg-singpore-A\",\n lineOperator: \"Other\",\n peerLocation: \"example_value\",\n physicalConnectionName: \"example_value\",\n type: \"VPC\",\n description: \"my domestic connection\",\n portType: \"1000Base-LX\",\n bandwidth: \"100\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndomestic = alicloud.expressconnect.PhysicalConnection(\"domestic\",\n access_point_id=\"ap-cn-hangzhou-yh-B\",\n line_operator=\"CT\",\n peer_location=\"example_value\",\n physical_connection_name=\"example_value\",\n type=\"VPC\",\n description=\"my domestic connection\",\n port_type=\"1000Base-LX\",\n bandwidth=\"100\")\ninternational = alicloud.expressconnect.PhysicalConnection(\"international\",\n access_point_id=\"ap-sg-singpore-A\",\n line_operator=\"Other\",\n peer_location=\"example_value\",\n physical_connection_name=\"example_value\",\n type=\"VPC\",\n description=\"my domestic connection\",\n port_type=\"1000Base-LX\",\n bandwidth=\"100\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domestic = new AliCloud.ExpressConnect.PhysicalConnection(\"domestic\", new()\n {\n AccessPointId = \"ap-cn-hangzhou-yh-B\",\n LineOperator = \"CT\",\n PeerLocation = \"example_value\",\n PhysicalConnectionName = \"example_value\",\n Type = \"VPC\",\n Description = \"my domestic connection\",\n PortType = \"1000Base-LX\",\n Bandwidth = \"100\",\n });\n\n var international = new AliCloud.ExpressConnect.PhysicalConnection(\"international\", new()\n {\n AccessPointId = \"ap-sg-singpore-A\",\n LineOperator = \"Other\",\n PeerLocation = \"example_value\",\n PhysicalConnectionName = \"example_value\",\n Type = \"VPC\",\n Description = \"my domestic connection\",\n PortType = \"1000Base-LX\",\n Bandwidth = \"100\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := expressconnect.NewPhysicalConnection(ctx, \"domestic\", \u0026expressconnect.PhysicalConnectionArgs{\n\t\t\tAccessPointId: pulumi.String(\"ap-cn-hangzhou-yh-B\"),\n\t\t\tLineOperator: pulumi.String(\"CT\"),\n\t\t\tPeerLocation: pulumi.String(\"example_value\"),\n\t\t\tPhysicalConnectionName: pulumi.String(\"example_value\"),\n\t\t\tType: pulumi.String(\"VPC\"),\n\t\t\tDescription: pulumi.String(\"my domestic connection\"),\n\t\t\tPortType: pulumi.String(\"1000Base-LX\"),\n\t\t\tBandwidth: pulumi.String(\"100\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewPhysicalConnection(ctx, \"international\", \u0026expressconnect.PhysicalConnectionArgs{\n\t\t\tAccessPointId: pulumi.String(\"ap-sg-singpore-A\"),\n\t\t\tLineOperator: pulumi.String(\"Other\"),\n\t\t\tPeerLocation: pulumi.String(\"example_value\"),\n\t\t\tPhysicalConnectionName: pulumi.String(\"example_value\"),\n\t\t\tType: pulumi.String(\"VPC\"),\n\t\t\tDescription: pulumi.String(\"my domestic connection\"),\n\t\t\tPortType: pulumi.String(\"1000Base-LX\"),\n\t\t\tBandwidth: pulumi.String(\"100\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.PhysicalConnection;\nimport com.pulumi.alicloud.expressconnect.PhysicalConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domestic = new PhysicalConnection(\"domestic\", PhysicalConnectionArgs.builder()\n .accessPointId(\"ap-cn-hangzhou-yh-B\")\n .lineOperator(\"CT\")\n .peerLocation(\"example_value\")\n .physicalConnectionName(\"example_value\")\n .type(\"VPC\")\n .description(\"my domestic connection\")\n .portType(\"1000Base-LX\")\n .bandwidth(\"100\")\n .build());\n\n var international = new PhysicalConnection(\"international\", PhysicalConnectionArgs.builder()\n .accessPointId(\"ap-sg-singpore-A\")\n .lineOperator(\"Other\")\n .peerLocation(\"example_value\")\n .physicalConnectionName(\"example_value\")\n .type(\"VPC\")\n .description(\"my domestic connection\")\n .portType(\"1000Base-LX\")\n .bandwidth(\"100\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domestic:\n type: alicloud:expressconnect:PhysicalConnection\n properties:\n accessPointId: ap-cn-hangzhou-yh-B\n lineOperator: CT\n peerLocation: example_value\n physicalConnectionName: example_value\n type: VPC\n description: my domestic connection\n portType: 1000Base-LX\n bandwidth: 100\n international:\n type: alicloud:expressconnect:PhysicalConnection\n properties:\n accessPointId: ap-sg-singpore-A\n lineOperator: Other\n peerLocation: example_value\n physicalConnectionName: example_value\n type: VPC\n description: my domestic connection\n portType: 1000Base-LX\n bandwidth: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Physical Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/physicalConnection:PhysicalConnection example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Physical Connection resource.\n\nFor information about Express Connect Physical Connection and how to use it, see [What is Physical Connection](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-vpc-2016-04-28-createphysicalconnection-efficiency-channels).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst domestic = new alicloud.expressconnect.PhysicalConnection(\"domestic\", {\n accessPointId: \"ap-cn-hangzhou-yh-B\",\n lineOperator: \"CT\",\n peerLocation: \"example_value\",\n physicalConnectionName: \"example_value\",\n type: \"VPC\",\n description: \"my domestic connection\",\n portType: \"1000Base-LX\",\n bandwidth: \"100\",\n});\nconst international = new alicloud.expressconnect.PhysicalConnection(\"international\", {\n accessPointId: \"ap-sg-singpore-A\",\n lineOperator: \"Other\",\n peerLocation: \"example_value\",\n physicalConnectionName: \"example_value\",\n type: \"VPC\",\n description: \"my domestic connection\",\n portType: \"1000Base-LX\",\n bandwidth: \"100\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndomestic = alicloud.expressconnect.PhysicalConnection(\"domestic\",\n access_point_id=\"ap-cn-hangzhou-yh-B\",\n line_operator=\"CT\",\n peer_location=\"example_value\",\n physical_connection_name=\"example_value\",\n type=\"VPC\",\n description=\"my domestic connection\",\n port_type=\"1000Base-LX\",\n bandwidth=\"100\")\ninternational = alicloud.expressconnect.PhysicalConnection(\"international\",\n access_point_id=\"ap-sg-singpore-A\",\n line_operator=\"Other\",\n peer_location=\"example_value\",\n physical_connection_name=\"example_value\",\n type=\"VPC\",\n description=\"my domestic connection\",\n port_type=\"1000Base-LX\",\n bandwidth=\"100\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domestic = new AliCloud.ExpressConnect.PhysicalConnection(\"domestic\", new()\n {\n AccessPointId = \"ap-cn-hangzhou-yh-B\",\n LineOperator = \"CT\",\n PeerLocation = \"example_value\",\n PhysicalConnectionName = \"example_value\",\n Type = \"VPC\",\n Description = \"my domestic connection\",\n PortType = \"1000Base-LX\",\n Bandwidth = \"100\",\n });\n\n var international = new AliCloud.ExpressConnect.PhysicalConnection(\"international\", new()\n {\n AccessPointId = \"ap-sg-singpore-A\",\n LineOperator = \"Other\",\n PeerLocation = \"example_value\",\n PhysicalConnectionName = \"example_value\",\n Type = \"VPC\",\n Description = \"my domestic connection\",\n PortType = \"1000Base-LX\",\n Bandwidth = \"100\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := expressconnect.NewPhysicalConnection(ctx, \"domestic\", \u0026expressconnect.PhysicalConnectionArgs{\n\t\t\tAccessPointId: pulumi.String(\"ap-cn-hangzhou-yh-B\"),\n\t\t\tLineOperator: pulumi.String(\"CT\"),\n\t\t\tPeerLocation: pulumi.String(\"example_value\"),\n\t\t\tPhysicalConnectionName: pulumi.String(\"example_value\"),\n\t\t\tType: pulumi.String(\"VPC\"),\n\t\t\tDescription: pulumi.String(\"my domestic connection\"),\n\t\t\tPortType: pulumi.String(\"1000Base-LX\"),\n\t\t\tBandwidth: pulumi.String(\"100\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewPhysicalConnection(ctx, \"international\", \u0026expressconnect.PhysicalConnectionArgs{\n\t\t\tAccessPointId: pulumi.String(\"ap-sg-singpore-A\"),\n\t\t\tLineOperator: pulumi.String(\"Other\"),\n\t\t\tPeerLocation: pulumi.String(\"example_value\"),\n\t\t\tPhysicalConnectionName: pulumi.String(\"example_value\"),\n\t\t\tType: pulumi.String(\"VPC\"),\n\t\t\tDescription: pulumi.String(\"my domestic connection\"),\n\t\t\tPortType: pulumi.String(\"1000Base-LX\"),\n\t\t\tBandwidth: pulumi.String(\"100\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.PhysicalConnection;\nimport com.pulumi.alicloud.expressconnect.PhysicalConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domestic = new PhysicalConnection(\"domestic\", PhysicalConnectionArgs.builder()\n .accessPointId(\"ap-cn-hangzhou-yh-B\")\n .lineOperator(\"CT\")\n .peerLocation(\"example_value\")\n .physicalConnectionName(\"example_value\")\n .type(\"VPC\")\n .description(\"my domestic connection\")\n .portType(\"1000Base-LX\")\n .bandwidth(\"100\")\n .build());\n\n var international = new PhysicalConnection(\"international\", PhysicalConnectionArgs.builder()\n .accessPointId(\"ap-sg-singpore-A\")\n .lineOperator(\"Other\")\n .peerLocation(\"example_value\")\n .physicalConnectionName(\"example_value\")\n .type(\"VPC\")\n .description(\"my domestic connection\")\n .portType(\"1000Base-LX\")\n .bandwidth(\"100\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domestic:\n type: alicloud:expressconnect:PhysicalConnection\n properties:\n accessPointId: ap-cn-hangzhou-yh-B\n lineOperator: CT\n peerLocation: example_value\n physicalConnectionName: example_value\n type: VPC\n description: my domestic connection\n portType: 1000Base-LX\n bandwidth: 100\n international:\n type: alicloud:expressconnect:PhysicalConnection\n properties:\n accessPointId: ap-sg-singpore-A\n lineOperator: Other\n peerLocation: example_value\n physicalConnectionName: example_value\n type: VPC\n description: my domestic connection\n portType: 1000Base-LX\n bandwidth: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Physical Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/physicalConnection:PhysicalConnection example \u003cid\u003e\n```\n\n", "properties": { "accessPointId": { "type": "string", @@ -184104,7 +187921,7 @@ } }, "alicloud:expressconnect/routerGrantAssociation:RouterGrantAssociation": { - "description": "Provides a Express Connect Router Grant Association resource.\n\nNetwork instances authorized to the leased line Gateway.\n\nFor information about Express Connect Router Grant Association and how to use it, see [What is Grant Association](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-expressconnectrouter-2023-09-01-grantinstancetoexpressconnectrouter).\n\n\u003e **NOTE:** Available since v1.239.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpcId = config.get(\"vpcId\") || \"vpc-xxx\";\nconst ecrOwnerUid = config.get(\"ecrOwnerUid\") || \"18xxx\";\nconst ecrId = config.get(\"ecrId\") || \"ecr-xxx\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.expressconnect.RouterGrantAssociation(\"default\", {\n ecrId: ecrId,\n instanceRegionId: region,\n instanceId: vpcId,\n ecrOwnerAliUid: ecrOwnerUid,\n instanceType: \"VPC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"vpc-xxx\"\necr_owner_uid = config.get(\"ecrOwnerUid\")\nif ecr_owner_uid is None:\n ecr_owner_uid = \"18xxx\"\necr_id = config.get(\"ecrId\")\nif ecr_id is None:\n ecr_id = \"ecr-xxx\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.expressconnect.RouterGrantAssociation(\"default\",\n ecr_id=ecr_id,\n instance_region_id=region,\n instance_id=vpc_id,\n ecr_owner_ali_uid=ecr_owner_uid,\n instance_type=\"VPC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpcId = config.Get(\"vpcId\") ?? \"vpc-xxx\";\n var ecrOwnerUid = config.Get(\"ecrOwnerUid\") ?? \"18xxx\";\n var ecrId = config.Get(\"ecrId\") ?? \"ecr-xxx\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.ExpressConnect.RouterGrantAssociation(\"default\", new()\n {\n EcrId = ecrId,\n InstanceRegionId = region,\n InstanceId = vpcId,\n EcrOwnerAliUid = ecrOwnerUid,\n InstanceType = \"VPC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpcId := \"vpc-xxx\"\n\t\tif param := cfg.Get(\"vpcId\"); param != \"\" {\n\t\t\tvpcId = param\n\t\t}\n\t\tecrOwnerUid := \"18xxx\"\n\t\tif param := cfg.Get(\"ecrOwnerUid\"); param != \"\" {\n\t\t\tecrOwnerUid = param\n\t\t}\n\t\tecrId := \"ecr-xxx\"\n\t\tif param := cfg.Get(\"ecrId\"); param != \"\" {\n\t\t\tecrId = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_, err := expressconnect.NewRouterGrantAssociation(ctx, \"default\", \u0026expressconnect.RouterGrantAssociationArgs{\n\t\t\tEcrId: pulumi.String(ecrId),\n\t\t\tInstanceRegionId: pulumi.String(region),\n\t\t\tInstanceId: pulumi.String(vpcId),\n\t\t\tEcrOwnerAliUid: pulumi.String(ecrOwnerUid),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.RouterGrantAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterGrantAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var vpcId = config.get(\"vpcId\").orElse(\"vpc-xxx\");\n final var ecrOwnerUid = config.get(\"ecrOwnerUid\").orElse(\"18xxx\");\n final var ecrId = config.get(\"ecrId\").orElse(\"ecr-xxx\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n var default_ = new RouterGrantAssociation(\"default\", RouterGrantAssociationArgs.builder()\n .ecrId(ecrId)\n .instanceRegionId(region)\n .instanceId(vpcId)\n .ecrOwnerAliUid(ecrOwnerUid)\n .instanceType(\"VPC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n vpcId:\n type: string\n default: vpc-xxx\n ecrOwnerUid:\n type: string\n default: 18xxx\n ecrId:\n type: string\n default: ecr-xxx\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:expressconnect:RouterGrantAssociation\n properties:\n ecrId: ${ecrId}\n instanceRegionId: ${region}\n instanceId: ${vpcId}\n ecrOwnerAliUid: ${ecrOwnerUid}\n instanceType: VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Router Grant Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerGrantAssociation:RouterGrantAssociation example \u003cecr_id\u003e:\u003cinstance_id\u003e:\u003cinstance_region_id\u003e:\u003cecr_owner_ali_uid\u003e:\u003cinstance_type\u003e\n```\n\n", + "description": "Provides a Express Connect Router Grant Association resource.\n\nNetwork instances authorized to the leased line Gateway.\n\nFor information about Express Connect Router Grant Association and how to use it, see [What is Grant Association](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-expressconnectrouter-2023-09-01-grantinstancetoexpressconnectrouter).\n\n\u003e **NOTE:** Available since v1.239.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpcId = config.get(\"vpcId\") || \"vpc-xxx\";\nconst ecrOwnerUid = config.get(\"ecrOwnerUid\") || \"18xxx\";\nconst ecrId = config.get(\"ecrId\") || \"ecr-xxx\";\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.expressconnect.RouterGrantAssociation(\"default\", {\n ecrId: ecrId,\n instanceRegionId: region,\n instanceId: vpcId,\n ecrOwnerAliUid: ecrOwnerUid,\n instanceType: \"VPC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc_id = config.get(\"vpcId\")\nif vpc_id is None:\n vpc_id = \"vpc-xxx\"\necr_owner_uid = config.get(\"ecrOwnerUid\")\nif ecr_owner_uid is None:\n ecr_owner_uid = \"18xxx\"\necr_id = config.get(\"ecrId\")\nif ecr_id is None:\n ecr_id = \"ecr-xxx\"\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.expressconnect.RouterGrantAssociation(\"default\",\n ecr_id=ecr_id,\n instance_region_id=region,\n instance_id=vpc_id,\n ecr_owner_ali_uid=ecr_owner_uid,\n instance_type=\"VPC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpcId = config.Get(\"vpcId\") ?? \"vpc-xxx\";\n var ecrOwnerUid = config.Get(\"ecrOwnerUid\") ?? \"18xxx\";\n var ecrId = config.Get(\"ecrId\") ?? \"ecr-xxx\";\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.ExpressConnect.RouterGrantAssociation(\"default\", new()\n {\n EcrId = ecrId,\n InstanceRegionId = region,\n InstanceId = vpcId,\n EcrOwnerAliUid = ecrOwnerUid,\n InstanceType = \"VPC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpcId := \"vpc-xxx\"\n\t\tif param := cfg.Get(\"vpcId\"); param != \"\" {\n\t\t\tvpcId = param\n\t\t}\n\t\tecrOwnerUid := \"18xxx\"\n\t\tif param := cfg.Get(\"ecrOwnerUid\"); param != \"\" {\n\t\t\tecrOwnerUid = param\n\t\t}\n\t\tecrId := \"ecr-xxx\"\n\t\tif param := cfg.Get(\"ecrId\"); param != \"\" {\n\t\t\tecrId = param\n\t\t}\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_, err := expressconnect.NewRouterGrantAssociation(ctx, \"default\", \u0026expressconnect.RouterGrantAssociationArgs{\n\t\t\tEcrId: pulumi.String(ecrId),\n\t\t\tInstanceRegionId: pulumi.String(region),\n\t\t\tInstanceId: pulumi.String(vpcId),\n\t\t\tEcrOwnerAliUid: pulumi.String(ecrOwnerUid),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.RouterGrantAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterGrantAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var vpcId = config.get(\"vpcId\").orElse(\"vpc-xxx\");\n final var ecrOwnerUid = config.get(\"ecrOwnerUid\").orElse(\"18xxx\");\n final var ecrId = config.get(\"ecrId\").orElse(\"ecr-xxx\");\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n var default_ = new RouterGrantAssociation(\"default\", RouterGrantAssociationArgs.builder()\n .ecrId(ecrId)\n .instanceRegionId(region)\n .instanceId(vpcId)\n .ecrOwnerAliUid(ecrOwnerUid)\n .instanceType(\"VPC\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n vpcId:\n type: string\n default: vpc-xxx\n ecrOwnerUid:\n type: string\n default: 18xxx\n ecrId:\n type: string\n default: ecr-xxx\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:expressconnect:RouterGrantAssociation\n properties:\n ecrId: ${ecrId}\n instanceRegionId: ${region}\n instanceId: ${vpcId}\n ecrOwnerAliUid: ${ecrOwnerUid}\n instanceType: VPC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Router Grant Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerGrantAssociation:RouterGrantAssociation example \u003cecr_id\u003e:\u003cinstance_id\u003e:\u003cinstance_region_id\u003e:\u003cecr_owner_ali_uid\u003e:\u003cinstance_type\u003e\n```\n\n", "properties": { "ecrId": { "type": "string", @@ -184210,7 +188027,7 @@ } }, "alicloud:expressconnect/routerInterface:RouterInterface": { - "description": "Provides a Express Connect Router Interface resource.\n\n\n\nFor information about Express Connect Router Interface and how to use it, see [What is Router Interface](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateRouterInterface).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst _this = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING-JG\",\n});\nconst defaultGetZones = alicloud.alb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n enableIpv6: true,\n});\nconst zoneA = new alicloud.vpc.Switch(\"zone_a\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n ipv6CidrBlockMask: 6,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n vlanId: 1001,\n peerGatewayIp: \"192.168.254.2\",\n peeringSubnetMask: \"255.255.255.0\",\n localGatewayIp: \"192.168.254.1\",\n});\nconst defaultRouterInterface = new alicloud.expressconnect.RouterInterface(\"default\", {\n autoRenew: true,\n spec: \"Mini.2\",\n oppositeRouterType: \"VRouter\",\n routerId: defaultVirtualBorderRouter.id,\n description: \"terraform-example\",\n accessPointId: \"ap-cn-hangzhou-jg-B\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n period: 1,\n oppositeRouterId: defaultNetwork.routerId,\n role: \"InitiatingSide\",\n paymentType: \"PayAsYouGo\",\n autoPay: true,\n oppositeInterfaceOwnerId: _this.then(_this =\u003e _this.id),\n routerInterfaceName: name,\n fastLinkMode: true,\n oppositeRegionId: \"cn-hangzhou\",\n routerType: \"VBR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.resourcemanager.get_resource_groups()\nthis = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING-JG\")\ndefault_get_zones = alicloud.alb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\",\n enable_ipv6=True)\nzone_a = alicloud.vpc.Switch(\"zone_a\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n ipv6_cidr_block_mask=6)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n physical_connection_id=name_regex.connections[0].id,\n vlan_id=1001,\n peer_gateway_ip=\"192.168.254.2\",\n peering_subnet_mask=\"255.255.255.0\",\n local_gateway_ip=\"192.168.254.1\")\ndefault_router_interface = alicloud.expressconnect.RouterInterface(\"default\",\n auto_renew=True,\n spec=\"Mini.2\",\n opposite_router_type=\"VRouter\",\n router_id=default_virtual_border_router.id,\n description=\"terraform-example\",\n access_point_id=\"ap-cn-hangzhou-jg-B\",\n resource_group_id=default.ids[0],\n period=1,\n opposite_router_id=default_network.router_id,\n role=\"InitiatingSide\",\n payment_type=\"PayAsYouGo\",\n auto_pay=True,\n opposite_interface_owner_id=this.id,\n router_interface_name=name,\n fast_link_mode=True,\n opposite_region_id=\"cn-hangzhou\",\n router_type=\"VBR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var @this = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING-JG\",\n });\n\n var defaultGetZones = AliCloud.Alb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n EnableIpv6 = true,\n });\n\n var zoneA = new AliCloud.Vpc.Switch(\"zone_a\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Ipv6CidrBlockMask = 6,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VlanId = 1001,\n PeerGatewayIp = \"192.168.254.2\",\n PeeringSubnetMask = \"255.255.255.0\",\n LocalGatewayIp = \"192.168.254.1\",\n });\n\n var defaultRouterInterface = new AliCloud.ExpressConnect.RouterInterface(\"default\", new()\n {\n AutoRenew = true,\n Spec = \"Mini.2\",\n OppositeRouterType = \"VRouter\",\n RouterId = defaultVirtualBorderRouter.Id,\n Description = \"terraform-example\",\n AccessPointId = \"ap-cn-hangzhou-jg-B\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Period = 1,\n OppositeRouterId = defaultNetwork.RouterId,\n Role = \"InitiatingSide\",\n PaymentType = \"PayAsYouGo\",\n AutoPay = true,\n OppositeInterfaceOwnerId = @this.Apply(@this =\u003e @this.Apply(getAccountResult =\u003e getAccountResult.Id)),\n RouterInterfaceName = name,\n FastLinkMode = true,\n OppositeRegionId = \"cn-hangzhou\",\n RouterType = \"VBR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING-JG\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"zone_a\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVlanId: pulumi.Int(1001),\n\t\t\tPeerGatewayIp: pulumi.String(\"192.168.254.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.0\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"192.168.254.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterInterface(ctx, \"default\", \u0026expressconnect.RouterInterfaceArgs{\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"Mini.2\"),\n\t\t\tOppositeRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: defaultVirtualBorderRouter.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessPointId: pulumi.String(\"ap-cn-hangzhou-jg-B\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tOppositeRouterId: defaultNetwork.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tOppositeInterfaceOwnerId: pulumi.String(this.Id),\n\t\t\tRouterInterfaceName: pulumi.String(name),\n\t\t\tFastLinkMode: pulumi.Bool(true),\n\t\t\tOppositeRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tRouterType: pulumi.String(\"VBR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.RouterInterface;\nimport com.pulumi.alicloud.expressconnect.RouterInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING-JG\")\n .build());\n\n final var defaultGetZones = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .enableIpv6(true)\n .build());\n\n var zoneA = new Switch(\"zoneA\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .ipv6CidrBlockMask(6)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .physicalConnectionId(nameRegex.connections()[0].id())\n .vlanId(1001)\n .peerGatewayIp(\"192.168.254.2\")\n .peeringSubnetMask(\"255.255.255.0\")\n .localGatewayIp(\"192.168.254.1\")\n .build());\n\n var defaultRouterInterface = new RouterInterface(\"defaultRouterInterface\", RouterInterfaceArgs.builder()\n .autoRenew(true)\n .spec(\"Mini.2\")\n .oppositeRouterType(\"VRouter\")\n .routerId(defaultVirtualBorderRouter.id())\n .description(\"terraform-example\")\n .accessPointId(\"ap-cn-hangzhou-jg-B\")\n .resourceGroupId(default_.ids()[0])\n .period(1)\n .oppositeRouterId(defaultNetwork.routerId())\n .role(\"InitiatingSide\")\n .paymentType(\"PayAsYouGo\")\n .autoPay(true)\n .oppositeInterfaceOwnerId(this_.id())\n .routerInterfaceName(name)\n .fastLinkMode(true)\n .oppositeRegionId(\"cn-hangzhou\")\n .routerType(\"VBR\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n enableIpv6: 'true'\n zoneA:\n type: alicloud:vpc:Switch\n name: zone_a\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n ipv6CidrBlockMask: '6'\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n physicalConnectionId: ${nameRegex.connections[0].id}\n vlanId: '1001'\n peerGatewayIp: 192.168.254.2\n peeringSubnetMask: 255.255.255.0\n localGatewayIp: 192.168.254.1\n defaultRouterInterface:\n type: alicloud:expressconnect:RouterInterface\n name: default\n properties:\n autoRenew: 'true'\n spec: Mini.2\n oppositeRouterType: VRouter\n routerId: ${defaultVirtualBorderRouter.id}\n description: terraform-example\n accessPointId: ap-cn-hangzhou-jg-B\n resourceGroupId: ${default.ids[0]}\n period: '1'\n oppositeRouterId: ${defaultNetwork.routerId}\n role: InitiatingSide\n paymentType: PayAsYouGo\n autoPay: 'true'\n oppositeInterfaceOwnerId: ${this.id}\n routerInterfaceName: ${name}\n fastLinkMode: 'true'\n oppositeRegionId: cn-hangzhou\n routerType: VBR\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING-JG\n defaultGetZones:\n fn::invoke:\n function: alicloud:alb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Router Interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerInterface:RouterInterface example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Router Interface resource.\n\n\n\nFor information about Express Connect Router Interface and how to use it, see [What is Router Interface](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateRouterInterface).\n\n\u003e **NOTE:** Available since v1.199.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst _this = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING-JG\",\n});\nconst defaultGetZones = alicloud.alb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n enableIpv6: true,\n});\nconst zoneA = new alicloud.vpc.Switch(\"zone_a\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n ipv6CidrBlockMask: 6,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n vlanId: 1001,\n peerGatewayIp: \"192.168.254.2\",\n peeringSubnetMask: \"255.255.255.0\",\n localGatewayIp: \"192.168.254.1\",\n});\nconst defaultRouterInterface = new alicloud.expressconnect.RouterInterface(\"default\", {\n autoRenew: true,\n spec: \"Mini.2\",\n oppositeRouterType: \"VRouter\",\n routerId: defaultVirtualBorderRouter.id,\n description: \"terraform-example\",\n accessPointId: \"ap-cn-hangzhou-jg-B\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n period: 1,\n oppositeRouterId: defaultNetwork.routerId,\n role: \"InitiatingSide\",\n paymentType: \"PayAsYouGo\",\n autoPay: true,\n oppositeInterfaceOwnerId: _this.then(_this =\u003e _this.id),\n routerInterfaceName: name,\n fastLinkMode: true,\n oppositeRegionId: \"cn-hangzhou\",\n routerType: \"VBR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.resourcemanager.get_resource_groups()\nthis = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING-JG\")\ndefault_get_zones = alicloud.alb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\",\n enable_ipv6=True)\nzone_a = alicloud.vpc.Switch(\"zone_a\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n ipv6_cidr_block_mask=6)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n physical_connection_id=name_regex.connections[0].id,\n vlan_id=1001,\n peer_gateway_ip=\"192.168.254.2\",\n peering_subnet_mask=\"255.255.255.0\",\n local_gateway_ip=\"192.168.254.1\")\ndefault_router_interface = alicloud.expressconnect.RouterInterface(\"default\",\n auto_renew=True,\n spec=\"Mini.2\",\n opposite_router_type=\"VRouter\",\n router_id=default_virtual_border_router.id,\n description=\"terraform-example\",\n access_point_id=\"ap-cn-hangzhou-jg-B\",\n resource_group_id=default.ids[0],\n period=1,\n opposite_router_id=default_network.router_id,\n role=\"InitiatingSide\",\n payment_type=\"PayAsYouGo\",\n auto_pay=True,\n opposite_interface_owner_id=this.id,\n router_interface_name=name,\n fast_link_mode=True,\n opposite_region_id=\"cn-hangzhou\",\n router_type=\"VBR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var @this = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING-JG\",\n });\n\n var defaultGetZones = AliCloud.Alb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n EnableIpv6 = true,\n });\n\n var zoneA = new AliCloud.Vpc.Switch(\"zone_a\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Ipv6CidrBlockMask = 6,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VlanId = 1001,\n PeerGatewayIp = \"192.168.254.2\",\n PeeringSubnetMask = \"255.255.255.0\",\n LocalGatewayIp = \"192.168.254.1\",\n });\n\n var defaultRouterInterface = new AliCloud.ExpressConnect.RouterInterface(\"default\", new()\n {\n AutoRenew = true,\n Spec = \"Mini.2\",\n OppositeRouterType = \"VRouter\",\n RouterId = defaultVirtualBorderRouter.Id,\n Description = \"terraform-example\",\n AccessPointId = \"ap-cn-hangzhou-jg-B\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Period = 1,\n OppositeRouterId = defaultNetwork.RouterId,\n Role = \"InitiatingSide\",\n PaymentType = \"PayAsYouGo\",\n AutoPay = true,\n OppositeInterfaceOwnerId = @this.Apply(@this =\u003e @this.Apply(getAccountResult =\u003e getAccountResult.Id)),\n RouterInterfaceName = name,\n FastLinkMode = true,\n OppositeRegionId = \"cn-hangzhou\",\n RouterType = \"VBR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING-JG\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alb.GetZones(ctx, \u0026alb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"zone_a\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(6),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVlanId: pulumi.Int(1001),\n\t\t\tPeerGatewayIp: pulumi.String(\"192.168.254.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.0\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"192.168.254.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterInterface(ctx, \"default\", \u0026expressconnect.RouterInterfaceArgs{\n\t\t\tAutoRenew: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"Mini.2\"),\n\t\t\tOppositeRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: defaultVirtualBorderRouter.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessPointId: pulumi.String(\"ap-cn-hangzhou-jg-B\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tOppositeRouterId: defaultNetwork.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tOppositeInterfaceOwnerId: pulumi.String(this.Id),\n\t\t\tRouterInterfaceName: pulumi.String(name),\n\t\t\tFastLinkMode: pulumi.Bool(true),\n\t\t\tOppositeRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tRouterType: pulumi.String(\"VBR\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.alb.AlbFunctions;\nimport com.pulumi.alicloud.alb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.RouterInterface;\nimport com.pulumi.alicloud.expressconnect.RouterInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING-JG\")\n .build());\n\n final var defaultGetZones = AlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .enableIpv6(true)\n .build());\n\n var zoneA = new Switch(\"zoneA\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .ipv6CidrBlockMask(6)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .physicalConnectionId(nameRegex.connections()[0].id())\n .vlanId(1001)\n .peerGatewayIp(\"192.168.254.2\")\n .peeringSubnetMask(\"255.255.255.0\")\n .localGatewayIp(\"192.168.254.1\")\n .build());\n\n var defaultRouterInterface = new RouterInterface(\"defaultRouterInterface\", RouterInterfaceArgs.builder()\n .autoRenew(true)\n .spec(\"Mini.2\")\n .oppositeRouterType(\"VRouter\")\n .routerId(defaultVirtualBorderRouter.id())\n .description(\"terraform-example\")\n .accessPointId(\"ap-cn-hangzhou-jg-B\")\n .resourceGroupId(default_.ids()[0])\n .period(1)\n .oppositeRouterId(defaultNetwork.routerId())\n .role(\"InitiatingSide\")\n .paymentType(\"PayAsYouGo\")\n .autoPay(true)\n .oppositeInterfaceOwnerId(this_.id())\n .routerInterfaceName(name)\n .fastLinkMode(true)\n .oppositeRegionId(\"cn-hangzhou\")\n .routerType(\"VBR\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n enableIpv6: 'true'\n zoneA:\n type: alicloud:vpc:Switch\n name: zone_a\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n ipv6CidrBlockMask: '6'\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n physicalConnectionId: ${nameRegex.connections[0].id}\n vlanId: '1001'\n peerGatewayIp: 192.168.254.2\n peeringSubnetMask: 255.255.255.0\n localGatewayIp: 192.168.254.1\n defaultRouterInterface:\n type: alicloud:expressconnect:RouterInterface\n name: default\n properties:\n autoRenew: 'true'\n spec: Mini.2\n oppositeRouterType: VRouter\n routerId: ${defaultVirtualBorderRouter.id}\n description: terraform-example\n accessPointId: ap-cn-hangzhou-jg-B\n resourceGroupId: ${default.ids[0]}\n period: '1'\n oppositeRouterId: ${defaultNetwork.routerId}\n role: InitiatingSide\n paymentType: PayAsYouGo\n autoPay: 'true'\n oppositeInterfaceOwnerId: ${this.id}\n routerInterfaceName: ${name}\n fastLinkMode: 'true'\n oppositeRegionId: cn-hangzhou\n routerType: VBR\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING-JG\n defaultGetZones:\n fn::invoke:\n function: alicloud:alb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Router Interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerInterface:RouterInterface example \u003cid\u003e\n```\n\n", "properties": { "accessPointId": { "type": "string", @@ -184765,7 +188582,7 @@ } }, "alicloud:expressconnect/routerTrAssociation:RouterTrAssociation": { - "description": "Provides a Express Connect Router Express Connect Router Tr Association resource. Leased line gateway and TR binding relationship object.\n\nFor information about Express Connect Router Express Connect Router Tr Association and how to use it, see [What is Express Connect Router Tr Association](https://next.api.alibabacloud.com/api/ExpressConnectRouter/2023-09-01/CreateExpressConnectRouterAssociation).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst alowprefix1 = config.get(\"alowprefix1\") || \"10.0.0.0/24\";\nconst allowprefix2 = config.get(\"allowprefix2\") || \"10.0.1.0/24\";\nconst allowprefix3 = config.get(\"allowprefix3\") || \"10.0.2.0/24\";\nconst allowprefix4 = config.get(\"allowprefix4\") || \"10.0.3.0/24\";\nconst asn = config.get(\"asn\") || \"4200001003\";\nconst defaultpX0KlC = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultpX0KlC\", {alibabaSideAsn: asn});\nconst default418DC9 = new alicloud.cen.Instance(\"default418DC9\", {cenInstanceName: name});\nconst defaultRYcjsc = new alicloud.cen.TransitRouter(\"defaultRYcjsc\", {cenId: default418DC9.id});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterTrAssociation(\"default\", {\n ecrId: defaultpX0KlC.id,\n cenId: default418DC9.id,\n transitRouterOwnerId: current.then(current =\u003e current.id),\n allowedPrefixes: [\n alowprefix1,\n allowprefix3,\n allowprefix2,\n ],\n transitRouterId: defaultRYcjsc.transitRouterId,\n associationRegionId: \"cn-hangzhou\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalowprefix1 = config.get(\"alowprefix1\")\nif alowprefix1 is None:\n alowprefix1 = \"10.0.0.0/24\"\nallowprefix2 = config.get(\"allowprefix2\")\nif allowprefix2 is None:\n allowprefix2 = \"10.0.1.0/24\"\nallowprefix3 = config.get(\"allowprefix3\")\nif allowprefix3 is None:\n allowprefix3 = \"10.0.2.0/24\"\nallowprefix4 = config.get(\"allowprefix4\")\nif allowprefix4 is None:\n allowprefix4 = \"10.0.3.0/24\"\nasn = config.get(\"asn\")\nif asn is None:\n asn = \"4200001003\"\ndefaultp_x0_kl_c = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultpX0KlC\", alibaba_side_asn=asn)\ndefault418_dc9 = alicloud.cen.Instance(\"default418DC9\", cen_instance_name=name)\ndefault_r_ycjsc = alicloud.cen.TransitRouter(\"defaultRYcjsc\", cen_id=default418_dc9.id)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterTrAssociation(\"default\",\n ecr_id=defaultp_x0_kl_c.id,\n cen_id=default418_dc9.id,\n transit_router_owner_id=current.id,\n allowed_prefixes=[\n alowprefix1,\n allowprefix3,\n allowprefix2,\n ],\n transit_router_id=default_r_ycjsc.transit_router_id,\n association_region_id=\"cn-hangzhou\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var alowprefix1 = config.Get(\"alowprefix1\") ?? \"10.0.0.0/24\";\n var allowprefix2 = config.Get(\"allowprefix2\") ?? \"10.0.1.0/24\";\n var allowprefix3 = config.Get(\"allowprefix3\") ?? \"10.0.2.0/24\";\n var allowprefix4 = config.Get(\"allowprefix4\") ?? \"10.0.3.0/24\";\n var asn = config.Get(\"asn\") ?? \"4200001003\";\n var defaultpX0KlC = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultpX0KlC\", new()\n {\n AlibabaSideAsn = asn,\n });\n\n var default418DC9 = new AliCloud.Cen.Instance(\"default418DC9\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultRYcjsc = new AliCloud.Cen.TransitRouter(\"defaultRYcjsc\", new()\n {\n CenId = default418DC9.Id,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterTrAssociation(\"default\", new()\n {\n EcrId = defaultpX0KlC.Id,\n CenId = default418DC9.Id,\n TransitRouterOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n AllowedPrefixes = new[]\n {\n alowprefix1,\n allowprefix3,\n allowprefix2,\n },\n TransitRouterId = defaultRYcjsc.TransitRouterId,\n AssociationRegionId = \"cn-hangzhou\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talowprefix1 := \"10.0.0.0/24\"\n\t\tif param := cfg.Get(\"alowprefix1\"); param != \"\" {\n\t\t\talowprefix1 = param\n\t\t}\n\t\tallowprefix2 := \"10.0.1.0/24\"\n\t\tif param := cfg.Get(\"allowprefix2\"); param != \"\" {\n\t\t\tallowprefix2 = param\n\t\t}\n\t\tallowprefix3 := \"10.0.2.0/24\"\n\t\tif param := cfg.Get(\"allowprefix3\"); param != \"\" {\n\t\t\tallowprefix3 = param\n\t\t}\n\t\tallowprefix4 := \"10.0.3.0/24\"\n\t\tif param := cfg.Get(\"allowprefix4\"); param != \"\" {\n\t\t\tallowprefix4 = param\n\t\t}\n\t\tasn := \"4200001003\"\n\t\tif param := cfg.Get(\"asn\"); param != \"\" {\n\t\t\tasn = param\n\t\t}\n\t\tdefaultpX0KlC, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultpX0KlC\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.String(asn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault418DC9, err := cen.NewInstance(ctx, \"default418DC9\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRYcjsc, err := cen.NewTransitRouter(ctx, \"defaultRYcjsc\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: default418DC9.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterTrAssociation(ctx, \"default\", \u0026expressconnect.RouterTrAssociationArgs{\n\t\t\tEcrId: defaultpX0KlC.ID(),\n\t\t\tCenId: default418DC9.ID(),\n\t\t\tTransitRouterOwnerId: pulumi.String(current.Id),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(alowprefix1),\n\t\t\t\tpulumi.String(allowprefix3),\n\t\t\t\tpulumi.String(allowprefix2),\n\t\t\t},\n\t\t\tTransitRouterId: defaultRYcjsc.TransitRouterId,\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var alowprefix1 = config.get(\"alowprefix1\").orElse(\"10.0.0.0/24\");\n final var allowprefix2 = config.get(\"allowprefix2\").orElse(\"10.0.1.0/24\");\n final var allowprefix3 = config.get(\"allowprefix3\").orElse(\"10.0.2.0/24\");\n final var allowprefix4 = config.get(\"allowprefix4\").orElse(\"10.0.3.0/24\");\n final var asn = config.get(\"asn\").orElse(\"4200001003\");\n var defaultpX0KlC = new RouterExpressConnectRouter(\"defaultpX0KlC\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(asn)\n .build());\n\n var default418DC9 = new Instance(\"default418DC9\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultRYcjsc = new TransitRouter(\"defaultRYcjsc\", TransitRouterArgs.builder()\n .cenId(default418DC9.id())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterTrAssociation(\"default\", RouterTrAssociationArgs.builder()\n .ecrId(defaultpX0KlC.id())\n .cenId(default418DC9.id())\n .transitRouterOwnerId(current.id())\n .allowedPrefixes( \n alowprefix1,\n allowprefix3,\n allowprefix2)\n .transitRouterId(defaultRYcjsc.transitRouterId())\n .associationRegionId(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n alowprefix1:\n type: string\n default: 10.0.0.0/24\n allowprefix2:\n type: string\n default: 10.0.1.0/24\n allowprefix3:\n type: string\n default: 10.0.2.0/24\n allowprefix4:\n type: string\n default: 10.0.3.0/24\n asn:\n type: string\n default: '4200001003'\nresources:\n defaultpX0KlC:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: ${asn}\n default418DC9:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultRYcjsc:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${default418DC9.id}\n default:\n type: alicloud:expressconnect:RouterTrAssociation\n properties:\n ecrId: ${defaultpX0KlC.id}\n cenId: ${default418DC9.id}\n transitRouterOwnerId: ${current.id}\n allowedPrefixes:\n - ${alowprefix1}\n - ${allowprefix3}\n - ${allowprefix2}\n transitRouterId: ${defaultRYcjsc.transitRouterId}\n associationRegionId: cn-hangzhou\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Router Express Connect Router Tr Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerTrAssociation:RouterTrAssociation example \u003cecr_id\u003e:\u003cassociation_id\u003e:\u003ctransit_router_id\u003e\n```\n\n", + "description": "Provides a Express Connect Router Express Connect Router Tr Association resource. Leased line gateway and TR binding relationship object.\n\nFor information about Express Connect Router Express Connect Router Tr Association and how to use it, see [What is Express Connect Router Tr Association](https://next.api.alibabacloud.com/api/ExpressConnectRouter/2023-09-01/CreateExpressConnectRouterAssociation).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst alowprefix1 = config.get(\"alowprefix1\") || \"10.0.0.0/24\";\nconst allowprefix2 = config.get(\"allowprefix2\") || \"10.0.1.0/24\";\nconst allowprefix3 = config.get(\"allowprefix3\") || \"10.0.2.0/24\";\nconst allowprefix4 = config.get(\"allowprefix4\") || \"10.0.3.0/24\";\nconst asn = config.get(\"asn\") || \"4200001003\";\nconst defaultpX0KlC = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultpX0KlC\", {alibabaSideAsn: asn});\nconst default418DC9 = new alicloud.cen.Instance(\"default418DC9\", {cenInstanceName: name});\nconst defaultRYcjsc = new alicloud.cen.TransitRouter(\"defaultRYcjsc\", {cenId: default418DC9.id});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterTrAssociation(\"default\", {\n ecrId: defaultpX0KlC.id,\n cenId: default418DC9.id,\n transitRouterOwnerId: current.then(current =\u003e current.id),\n allowedPrefixes: [\n alowprefix1,\n allowprefix3,\n allowprefix2,\n ],\n transitRouterId: defaultRYcjsc.transitRouterId,\n associationRegionId: \"cn-hangzhou\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalowprefix1 = config.get(\"alowprefix1\")\nif alowprefix1 is None:\n alowprefix1 = \"10.0.0.0/24\"\nallowprefix2 = config.get(\"allowprefix2\")\nif allowprefix2 is None:\n allowprefix2 = \"10.0.1.0/24\"\nallowprefix3 = config.get(\"allowprefix3\")\nif allowprefix3 is None:\n allowprefix3 = \"10.0.2.0/24\"\nallowprefix4 = config.get(\"allowprefix4\")\nif allowprefix4 is None:\n allowprefix4 = \"10.0.3.0/24\"\nasn = config.get(\"asn\")\nif asn is None:\n asn = \"4200001003\"\ndefaultp_x0_kl_c = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultpX0KlC\", alibaba_side_asn=asn)\ndefault418_dc9 = alicloud.cen.Instance(\"default418DC9\", cen_instance_name=name)\ndefault_r_ycjsc = alicloud.cen.TransitRouter(\"defaultRYcjsc\", cen_id=default418_dc9.id)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterTrAssociation(\"default\",\n ecr_id=defaultp_x0_kl_c.id,\n cen_id=default418_dc9.id,\n transit_router_owner_id=current.id,\n allowed_prefixes=[\n alowprefix1,\n allowprefix3,\n allowprefix2,\n ],\n transit_router_id=default_r_ycjsc.transit_router_id,\n association_region_id=\"cn-hangzhou\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var alowprefix1 = config.Get(\"alowprefix1\") ?? \"10.0.0.0/24\";\n var allowprefix2 = config.Get(\"allowprefix2\") ?? \"10.0.1.0/24\";\n var allowprefix3 = config.Get(\"allowprefix3\") ?? \"10.0.2.0/24\";\n var allowprefix4 = config.Get(\"allowprefix4\") ?? \"10.0.3.0/24\";\n var asn = config.Get(\"asn\") ?? \"4200001003\";\n var defaultpX0KlC = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultpX0KlC\", new()\n {\n AlibabaSideAsn = asn,\n });\n\n var default418DC9 = new AliCloud.Cen.Instance(\"default418DC9\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultRYcjsc = new AliCloud.Cen.TransitRouter(\"defaultRYcjsc\", new()\n {\n CenId = default418DC9.Id,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterTrAssociation(\"default\", new()\n {\n EcrId = defaultpX0KlC.Id,\n CenId = default418DC9.Id,\n TransitRouterOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n AllowedPrefixes = new[]\n {\n alowprefix1,\n allowprefix3,\n allowprefix2,\n },\n TransitRouterId = defaultRYcjsc.TransitRouterId,\n AssociationRegionId = \"cn-hangzhou\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talowprefix1 := \"10.0.0.0/24\"\n\t\tif param := cfg.Get(\"alowprefix1\"); param != \"\" {\n\t\t\talowprefix1 = param\n\t\t}\n\t\tallowprefix2 := \"10.0.1.0/24\"\n\t\tif param := cfg.Get(\"allowprefix2\"); param != \"\" {\n\t\t\tallowprefix2 = param\n\t\t}\n\t\tallowprefix3 := \"10.0.2.0/24\"\n\t\tif param := cfg.Get(\"allowprefix3\"); param != \"\" {\n\t\t\tallowprefix3 = param\n\t\t}\n\t\tallowprefix4 := \"10.0.3.0/24\"\n\t\tif param := cfg.Get(\"allowprefix4\"); param != \"\" {\n\t\t\tallowprefix4 = param\n\t\t}\n\t\tasn := \"4200001003\"\n\t\tif param := cfg.Get(\"asn\"); param != \"\" {\n\t\t\tasn = param\n\t\t}\n\t\tdefaultpX0KlC, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultpX0KlC\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.String(asn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault418DC9, err := cen.NewInstance(ctx, \"default418DC9\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRYcjsc, err := cen.NewTransitRouter(ctx, \"defaultRYcjsc\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: default418DC9.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterTrAssociation(ctx, \"default\", \u0026expressconnect.RouterTrAssociationArgs{\n\t\t\tEcrId: defaultpX0KlC.ID(),\n\t\t\tCenId: default418DC9.ID(),\n\t\t\tTransitRouterOwnerId: pulumi.String(current.Id),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(alowprefix1),\n\t\t\t\tpulumi.String(allowprefix3),\n\t\t\t\tpulumi.String(allowprefix2),\n\t\t\t},\n\t\t\tTransitRouterId: defaultRYcjsc.TransitRouterId,\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterTrAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var alowprefix1 = config.get(\"alowprefix1\").orElse(\"10.0.0.0/24\");\n final var allowprefix2 = config.get(\"allowprefix2\").orElse(\"10.0.1.0/24\");\n final var allowprefix3 = config.get(\"allowprefix3\").orElse(\"10.0.2.0/24\");\n final var allowprefix4 = config.get(\"allowprefix4\").orElse(\"10.0.3.0/24\");\n final var asn = config.get(\"asn\").orElse(\"4200001003\");\n var defaultpX0KlC = new RouterExpressConnectRouter(\"defaultpX0KlC\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(asn)\n .build());\n\n var default418DC9 = new Instance(\"default418DC9\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultRYcjsc = new TransitRouter(\"defaultRYcjsc\", TransitRouterArgs.builder()\n .cenId(default418DC9.id())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterTrAssociation(\"default\", RouterTrAssociationArgs.builder()\n .ecrId(defaultpX0KlC.id())\n .cenId(default418DC9.id())\n .transitRouterOwnerId(current.id())\n .allowedPrefixes( \n alowprefix1,\n allowprefix3,\n allowprefix2)\n .transitRouterId(defaultRYcjsc.transitRouterId())\n .associationRegionId(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n alowprefix1:\n type: string\n default: 10.0.0.0/24\n allowprefix2:\n type: string\n default: 10.0.1.0/24\n allowprefix3:\n type: string\n default: 10.0.2.0/24\n allowprefix4:\n type: string\n default: 10.0.3.0/24\n asn:\n type: string\n default: '4200001003'\nresources:\n defaultpX0KlC:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: ${asn}\n default418DC9:\n type: alicloud:cen:Instance\n properties:\n cenInstanceName: ${name}\n defaultRYcjsc:\n type: alicloud:cen:TransitRouter\n properties:\n cenId: ${default418DC9.id}\n default:\n type: alicloud:expressconnect:RouterTrAssociation\n properties:\n ecrId: ${defaultpX0KlC.id}\n cenId: ${default418DC9.id}\n transitRouterOwnerId: ${current.id}\n allowedPrefixes:\n - ${alowprefix1}\n - ${allowprefix3}\n - ${allowprefix2}\n transitRouterId: ${defaultRYcjsc.transitRouterId}\n associationRegionId: cn-hangzhou\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Router Express Connect Router Tr Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerTrAssociation:RouterTrAssociation example \u003cecr_id\u003e:\u003cassociation_id\u003e:\u003ctransit_router_id\u003e\n```\n\n", "properties": { "allowedPrefixes": { "type": "array", @@ -184905,7 +188722,7 @@ } }, "alicloud:expressconnect/routerVbrChildInstance:RouterVbrChildInstance": { - "description": "Provides a Express Connect Router Express Connect Router Vbr Child Instance resource.\n\nFor information about Express Connect Router Express Connect Router Vbr Child Instance and how to use it, see [What is Express Connect Router Vbr Child Instance](https://next.api.alibabacloud.com/api/ExpressConnectRouter/2023-09-01/AttachExpressConnectRouterChildInstance).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultydbbk3 = new alicloud.expressconnect.VirtualBorderRouter(\"defaultydbbk3\", {\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n vlanId: 1000,\n peerGatewayIp: \"192.168.254.2\",\n peeringSubnetMask: \"255.255.255.0\",\n localGatewayIp: \"192.168.254.1\",\n});\nconst defaultAAlhUy = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultAAlhUy\", {alibabaSideAsn: 65532});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterVbrChildInstance(\"default\", {\n childInstanceId: defaultydbbk3.id,\n childInstanceRegionId: \"cn-hangzhou\",\n ecrId: defaultAAlhUy.id,\n childInstanceType: \"VBR\",\n childInstanceOwnerId: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefaultydbbk3 = alicloud.expressconnect.VirtualBorderRouter(\"defaultydbbk3\",\n physical_connection_id=name_regex.connections[0].id,\n vlan_id=1000,\n peer_gateway_ip=\"192.168.254.2\",\n peering_subnet_mask=\"255.255.255.0\",\n local_gateway_ip=\"192.168.254.1\")\ndefault_a_alh_uy = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultAAlhUy\", alibaba_side_asn=65532)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterVbrChildInstance(\"default\",\n child_instance_id=defaultydbbk3.id,\n child_instance_region_id=\"cn-hangzhou\",\n ecr_id=default_a_alh_uy.id,\n child_instance_type=\"VBR\",\n child_instance_owner_id=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultydbbk3 = new AliCloud.ExpressConnect.VirtualBorderRouter(\"defaultydbbk3\", new()\n {\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VlanId = 1000,\n PeerGatewayIp = \"192.168.254.2\",\n PeeringSubnetMask = \"255.255.255.0\",\n LocalGatewayIp = \"192.168.254.1\",\n });\n\n var defaultAAlhUy = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultAAlhUy\", new()\n {\n AlibabaSideAsn = 65532,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterVbrChildInstance(\"default\", new()\n {\n ChildInstanceId = defaultydbbk3.Id,\n ChildInstanceRegionId = \"cn-hangzhou\",\n EcrId = defaultAAlhUy.Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultydbbk3, err := expressconnect.NewVirtualBorderRouter(ctx, \"defaultydbbk3\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVlanId: pulumi.Int(1000),\n\t\t\tPeerGatewayIp: pulumi.String(\"192.168.254.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.0\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"192.168.254.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAAlhUy, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultAAlhUy\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.Int(65532),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterVbrChildInstance(ctx, \"default\", \u0026expressconnect.RouterVbrChildInstanceArgs{\n\t\t\tChildInstanceId: defaultydbbk3.ID(),\n\t\t\tChildInstanceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tEcrId: defaultAAlhUy.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\tChildInstanceOwnerId: pulumi.String(current.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterVbrChildInstance;\nimport com.pulumi.alicloud.expressconnect.RouterVbrChildInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultydbbk3 = new VirtualBorderRouter(\"defaultydbbk3\", VirtualBorderRouterArgs.builder()\n .physicalConnectionId(nameRegex.connections()[0].id())\n .vlanId(1000)\n .peerGatewayIp(\"192.168.254.2\")\n .peeringSubnetMask(\"255.255.255.0\")\n .localGatewayIp(\"192.168.254.1\")\n .build());\n\n var defaultAAlhUy = new RouterExpressConnectRouter(\"defaultAAlhUy\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(65532)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterVbrChildInstance(\"default\", RouterVbrChildInstanceArgs.builder()\n .childInstanceId(defaultydbbk3.id())\n .childInstanceRegionId(\"cn-hangzhou\")\n .ecrId(defaultAAlhUy.id())\n .childInstanceType(\"VBR\")\n .childInstanceOwnerId(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultydbbk3:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n physicalConnectionId: ${nameRegex.connections[0].id}\n vlanId: '1000'\n peerGatewayIp: 192.168.254.2\n peeringSubnetMask: 255.255.255.0\n localGatewayIp: 192.168.254.1\n defaultAAlhUy:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: '65532'\n default:\n type: alicloud:expressconnect:RouterVbrChildInstance\n properties:\n childInstanceId: ${defaultydbbk3.id}\n childInstanceRegionId: cn-hangzhou\n ecrId: ${defaultAAlhUy.id}\n childInstanceType: VBR\n childInstanceOwnerId: ${current.id}\nvariables:\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerVbrChildInstance:RouterVbrChildInstance example \u003cecr_id\u003e:\u003cchild_instance_id\u003e:\u003cchild_instance_type\u003e\n```\n\n", + "description": "Provides a Express Connect Router Express Connect Router Vbr Child Instance resource.\n\nFor information about Express Connect Router Express Connect Router Vbr Child Instance and how to use it, see [What is Express Connect Router Vbr Child Instance](https://next.api.alibabacloud.com/api/ExpressConnectRouter/2023-09-01/AttachExpressConnectRouterChildInstance).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst nameRegex = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultydbbk3 = new alicloud.expressconnect.VirtualBorderRouter(\"defaultydbbk3\", {\n physicalConnectionId: nameRegex.then(nameRegex =\u003e nameRegex.connections?.[0]?.id),\n vlanId: 1000,\n peerGatewayIp: \"192.168.254.2\",\n peeringSubnetMask: \"255.255.255.0\",\n localGatewayIp: \"192.168.254.1\",\n});\nconst defaultAAlhUy = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultAAlhUy\", {alibabaSideAsn: 65532});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterVbrChildInstance(\"default\", {\n childInstanceId: defaultydbbk3.id,\n childInstanceRegionId: \"cn-hangzhou\",\n ecrId: defaultAAlhUy.id,\n childInstanceType: \"VBR\",\n childInstanceOwnerId: current.then(current =\u003e current.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nname_regex = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefaultydbbk3 = alicloud.expressconnect.VirtualBorderRouter(\"defaultydbbk3\",\n physical_connection_id=name_regex.connections[0].id,\n vlan_id=1000,\n peer_gateway_ip=\"192.168.254.2\",\n peering_subnet_mask=\"255.255.255.0\",\n local_gateway_ip=\"192.168.254.1\")\ndefault_a_alh_uy = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultAAlhUy\", alibaba_side_asn=65532)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterVbrChildInstance(\"default\",\n child_instance_id=defaultydbbk3.id,\n child_instance_region_id=\"cn-hangzhou\",\n ecr_id=default_a_alh_uy.id,\n child_instance_type=\"VBR\",\n child_instance_owner_id=current.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var nameRegex = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultydbbk3 = new AliCloud.ExpressConnect.VirtualBorderRouter(\"defaultydbbk3\", new()\n {\n PhysicalConnectionId = nameRegex.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VlanId = 1000,\n PeerGatewayIp = \"192.168.254.2\",\n PeeringSubnetMask = \"255.255.255.0\",\n LocalGatewayIp = \"192.168.254.1\",\n });\n\n var defaultAAlhUy = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultAAlhUy\", new()\n {\n AlibabaSideAsn = 65532,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterVbrChildInstance(\"default\", new()\n {\n ChildInstanceId = defaultydbbk3.Id,\n ChildInstanceRegionId = \"cn-hangzhou\",\n EcrId = defaultAAlhUy.Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tnameRegex, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultydbbk3, err := expressconnect.NewVirtualBorderRouter(ctx, \"defaultydbbk3\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tPhysicalConnectionId: pulumi.String(nameRegex.Connections[0].Id),\n\t\t\tVlanId: pulumi.Int(1000),\n\t\t\tPeerGatewayIp: pulumi.String(\"192.168.254.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.0\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"192.168.254.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAAlhUy, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultAAlhUy\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.Int(65532),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterVbrChildInstance(ctx, \"default\", \u0026expressconnect.RouterVbrChildInstanceArgs{\n\t\t\tChildInstanceId: defaultydbbk3.ID(),\n\t\t\tChildInstanceRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tEcrId: defaultAAlhUy.ID(),\n\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\tChildInstanceOwnerId: pulumi.String(current.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterVbrChildInstance;\nimport com.pulumi.alicloud.expressconnect.RouterVbrChildInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var nameRegex = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultydbbk3 = new VirtualBorderRouter(\"defaultydbbk3\", VirtualBorderRouterArgs.builder()\n .physicalConnectionId(nameRegex.connections()[0].id())\n .vlanId(1000)\n .peerGatewayIp(\"192.168.254.2\")\n .peeringSubnetMask(\"255.255.255.0\")\n .localGatewayIp(\"192.168.254.1\")\n .build());\n\n var defaultAAlhUy = new RouterExpressConnectRouter(\"defaultAAlhUy\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(65532)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterVbrChildInstance(\"default\", RouterVbrChildInstanceArgs.builder()\n .childInstanceId(defaultydbbk3.id())\n .childInstanceRegionId(\"cn-hangzhou\")\n .ecrId(defaultAAlhUy.id())\n .childInstanceType(\"VBR\")\n .childInstanceOwnerId(current.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultydbbk3:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n physicalConnectionId: ${nameRegex.connections[0].id}\n vlanId: '1000'\n peerGatewayIp: 192.168.254.2\n peeringSubnetMask: 255.255.255.0\n localGatewayIp: 192.168.254.1\n defaultAAlhUy:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: '65532'\n default:\n type: alicloud:expressconnect:RouterVbrChildInstance\n properties:\n childInstanceId: ${defaultydbbk3.id}\n childInstanceRegionId: cn-hangzhou\n ecrId: ${defaultAAlhUy.id}\n childInstanceType: VBR\n childInstanceOwnerId: ${current.id}\nvariables:\n nameRegex:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerVbrChildInstance:RouterVbrChildInstance example \u003cecr_id\u003e:\u003cchild_instance_id\u003e:\u003cchild_instance_type\u003e\n```\n\n", "properties": { "childInstanceId": { "type": "string", @@ -185031,7 +188848,7 @@ } }, "alicloud:expressconnect/routerVpcAssociation:RouterVpcAssociation": { - "description": "Provides a Express Connect Router Express Connect Router Vpc Association resource. Bind relationship object between leased line gateway and VPC.\n\nFor information about Express Connect Router Express Connect Router Vpc Association and how to use it, see [What is Express Connect Router Vpc Association](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-expressconnectrouter-2023-09-01-createexpressconnectrouterassociation).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default8qAtD6 = new alicloud.vpc.Network(\"default8qAtD6\", {cidrBlock: \"172.16.0.0/16\"});\nconst defaultM9YxGW = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultM9YxGW\", {alibabaSideAsn: 65533});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterVpcAssociation(\"default\", {\n ecrId: defaultM9YxGW.id,\n allowedPrefixes: [\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n ],\n vpcOwnerId: current.then(current =\u003e current.id),\n associationRegionId: \"cn-hangzhou\",\n vpcId: default8qAtD6.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault8q_at_d6 = alicloud.vpc.Network(\"default8qAtD6\", cidr_block=\"172.16.0.0/16\")\ndefault_m9_yx_gw = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultM9YxGW\", alibaba_side_asn=65533)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterVpcAssociation(\"default\",\n ecr_id=default_m9_yx_gw.id,\n allowed_prefixes=[\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n ],\n vpc_owner_id=current.id,\n association_region_id=\"cn-hangzhou\",\n vpc_id=default8q_at_d6.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default8qAtD6 = new AliCloud.Vpc.Network(\"default8qAtD6\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultM9YxGW = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultM9YxGW\", new()\n {\n AlibabaSideAsn = 65533,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterVpcAssociation(\"default\", new()\n {\n EcrId = defaultM9YxGW.Id,\n AllowedPrefixes = new[]\n {\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n },\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n AssociationRegionId = \"cn-hangzhou\",\n VpcId = default8qAtD6.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault8qAtD6, err := vpc.NewNetwork(ctx, \"default8qAtD6\", \u0026vpc.NetworkArgs{\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\tdefaultM9YxGW, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultM9YxGW\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.Int(65533),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterVpcAssociation(ctx, \"default\", \u0026expressconnect.RouterVpcAssociationArgs{\n\t\t\tEcrId: defaultM9YxGW.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.4.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.3.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.2.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.1.0/24\"),\n\t\t\t},\n\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tVpcId: default8qAtD6.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterVpcAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default8qAtD6 = new Network(\"default8qAtD6\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultM9YxGW = new RouterExpressConnectRouter(\"defaultM9YxGW\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(65533)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterVpcAssociation(\"default\", RouterVpcAssociationArgs.builder()\n .ecrId(defaultM9YxGW.id())\n .allowedPrefixes( \n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\")\n .vpcOwnerId(current.id())\n .associationRegionId(\"cn-hangzhou\")\n .vpcId(default8qAtD6.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default8qAtD6:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/16\n defaultM9YxGW:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: '65533'\n default:\n type: alicloud:expressconnect:RouterVpcAssociation\n properties:\n ecrId: ${defaultM9YxGW.id}\n allowedPrefixes:\n - 172.16.4.0/24\n - 172.16.3.0/24\n - 172.16.2.0/24\n - 172.16.1.0/24\n vpcOwnerId: ${current.id}\n associationRegionId: cn-hangzhou\n vpcId: ${default8qAtD6.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Router Express Connect Router Vpc Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerVpcAssociation:RouterVpcAssociation example \u003cecr_id\u003e:\u003cassociation_id\u003e:\u003cvpc_id\u003e\n```\n\n", + "description": "Provides a Express Connect Router Express Connect Router Vpc Association resource. Bind relationship object between leased line gateway and VPC.\n\nFor information about Express Connect Router Express Connect Router Vpc Association and how to use it, see [What is Express Connect Router Vpc Association](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-expressconnectrouter-2023-09-01-createexpressconnectrouterassociation).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default8qAtD6 = new alicloud.vpc.Network(\"default8qAtD6\", {cidrBlock: \"172.16.0.0/16\"});\nconst defaultM9YxGW = new alicloud.expressconnect.RouterExpressConnectRouter(\"defaultM9YxGW\", {alibabaSideAsn: 65533});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.expressconnect.RouterVpcAssociation(\"default\", {\n ecrId: defaultM9YxGW.id,\n allowedPrefixes: [\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n ],\n vpcOwnerId: current.then(current =\u003e current.id),\n associationRegionId: \"cn-hangzhou\",\n vpcId: default8qAtD6.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault8q_at_d6 = alicloud.vpc.Network(\"default8qAtD6\", cidr_block=\"172.16.0.0/16\")\ndefault_m9_yx_gw = alicloud.expressconnect.RouterExpressConnectRouter(\"defaultM9YxGW\", alibaba_side_asn=65533)\ncurrent = alicloud.get_account()\ndefault = alicloud.expressconnect.RouterVpcAssociation(\"default\",\n ecr_id=default_m9_yx_gw.id,\n allowed_prefixes=[\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n ],\n vpc_owner_id=current.id,\n association_region_id=\"cn-hangzhou\",\n vpc_id=default8q_at_d6.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default8qAtD6 = new AliCloud.Vpc.Network(\"default8qAtD6\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultM9YxGW = new AliCloud.ExpressConnect.RouterExpressConnectRouter(\"defaultM9YxGW\", new()\n {\n AlibabaSideAsn = 65533,\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.ExpressConnect.RouterVpcAssociation(\"default\", new()\n {\n EcrId = defaultM9YxGW.Id,\n AllowedPrefixes = new[]\n {\n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\",\n },\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n AssociationRegionId = \"cn-hangzhou\",\n VpcId = default8qAtD6.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault8qAtD6, err := vpc.NewNetwork(ctx, \"default8qAtD6\", \u0026vpc.NetworkArgs{\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\tdefaultM9YxGW, err := expressconnect.NewRouterExpressConnectRouter(ctx, \"defaultM9YxGW\", \u0026expressconnect.RouterExpressConnectRouterArgs{\n\t\t\tAlibabaSideAsn: pulumi.Int(65533),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewRouterVpcAssociation(ctx, \"default\", \u0026expressconnect.RouterVpcAssociationArgs{\n\t\t\tEcrId: defaultM9YxGW.ID(),\n\t\t\tAllowedPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"172.16.4.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.3.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.2.0/24\"),\n\t\t\t\tpulumi.String(\"172.16.1.0/24\"),\n\t\t\t},\n\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\tAssociationRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tVpcId: default8qAtD6.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouter;\nimport com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.RouterVpcAssociation;\nimport com.pulumi.alicloud.expressconnect.RouterVpcAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default8qAtD6 = new Network(\"default8qAtD6\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultM9YxGW = new RouterExpressConnectRouter(\"defaultM9YxGW\", RouterExpressConnectRouterArgs.builder()\n .alibabaSideAsn(65533)\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new RouterVpcAssociation(\"default\", RouterVpcAssociationArgs.builder()\n .ecrId(defaultM9YxGW.id())\n .allowedPrefixes( \n \"172.16.4.0/24\",\n \"172.16.3.0/24\",\n \"172.16.2.0/24\",\n \"172.16.1.0/24\")\n .vpcOwnerId(current.id())\n .associationRegionId(\"cn-hangzhou\")\n .vpcId(default8qAtD6.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default8qAtD6:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/16\n defaultM9YxGW:\n type: alicloud:expressconnect:RouterExpressConnectRouter\n properties:\n alibabaSideAsn: '65533'\n default:\n type: alicloud:expressconnect:RouterVpcAssociation\n properties:\n ecrId: ${defaultM9YxGW.id}\n allowedPrefixes:\n - 172.16.4.0/24\n - 172.16.3.0/24\n - 172.16.2.0/24\n - 172.16.1.0/24\n vpcOwnerId: ${current.id}\n associationRegionId: cn-hangzhou\n vpcId: ${default8qAtD6.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Router Express Connect Router Vpc Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/routerVpcAssociation:RouterVpcAssociation example \u003cecr_id\u003e:\u003cassociation_id\u003e:\u003cvpc_id\u003e\n```\n\n", "properties": { "allowedPrefixes": { "type": "array", @@ -185159,7 +188976,7 @@ } }, "alicloud:expressconnect/trafficQos:TrafficQos": { - "description": "Provides a Express Connect Traffic Qos resource.\n\nExpress Connect Traffic QoS Policy.\n\nFor information about Express Connect Traffic Qos and how to use it, see [What is Traffic Qos](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQos).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(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.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Traffic Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQos:TrafficQos example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Traffic Qos resource.\n\nExpress Connect Traffic QoS Policy.\n\nFor information about Express Connect Traffic Qos and how to use it, see [What is Traffic Qos](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQos).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(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.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Traffic Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQos:TrafficQos example \u003cid\u003e\n```\n\n", "properties": { "qosDescription": { "type": "string", @@ -185241,7 +189058,7 @@ } }, "alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation": { - "description": "Provides a Express Connect Traffic Qos Association resource. Express Connect QoS associated resources.\n\nFor information about Express Connect Traffic Qos Association and how to use it, see [What is Traffic Qos Association](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/ModifyExpressConnectTrafficQos).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Traffic Qos Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation example \u003cqos_id\u003e:\u003cinstance_id\u003e:\u003cinstance_type\u003e\n```\n\n", + "description": "Provides a Express Connect Traffic Qos Association resource. Express Connect QoS associated resources.\n\nFor information about Express Connect Traffic Qos Association and how to use it, see [What is Traffic Qos Association](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/ModifyExpressConnectTrafficQos).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Traffic Qos Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosAssociation:TrafficQosAssociation example \u003cqos_id\u003e:\u003cinstance_id\u003e:\u003cinstance_type\u003e\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -185313,7 +189130,7 @@ } }, "alicloud:expressconnect/trafficQosQueue:TrafficQosQueue": { - "description": "Provides a Express Connect Traffic Qos Queue resource.\n\nExpress Connect Traffic QoS Queue.\n\nFor information about Express Connect Traffic Qos Queue and how to use it, see [What is Traffic Qos Queue](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQosQueue).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\nconst createQosQueue = new alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\", {\n qosId: createQos.id,\n bandwidthPercent: \"60\",\n queueDescription: \"terraform-example\",\n queueName: name,\n queueType: \"Medium\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\ncreate_qos_queue = alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\",\n qos_id=create_qos.id,\n bandwidth_percent=\"60\",\n queue_description=\"terraform-example\",\n queue_name=name,\n queue_type=\"Medium\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n var createQosQueue = new AliCloud.ExpressConnect.TrafficQosQueue(\"createQosQueue\", new()\n {\n QosId = createQos.Id,\n BandwidthPercent = \"60\",\n QueueDescription = \"terraform-example\",\n QueueName = name,\n QueueType = \"Medium\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosQueue(ctx, \"createQosQueue\", \u0026expressconnect.TrafficQosQueueArgs{\n\t\t\tQosId: createQos.ID(),\n\t\t\tBandwidthPercent: pulumi.String(\"60\"),\n\t\t\tQueueDescription: pulumi.String(\"terraform-example\"),\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tQueueType: pulumi.String(\"Medium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueue;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n var createQosQueue = new TrafficQosQueue(\"createQosQueue\", TrafficQosQueueArgs.builder()\n .qosId(createQos.id())\n .bandwidthPercent(\"60\")\n .queueDescription(\"terraform-example\")\n .queueName(name)\n .queueType(\"Medium\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\n createQosQueue:\n type: alicloud:expressconnect:TrafficQosQueue\n properties:\n qosId: ${createQos.id}\n bandwidthPercent: '60'\n queueDescription: terraform-example\n queueName: ${name}\n queueType: Medium\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Traffic Qos Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosQueue:TrafficQosQueue example \u003cqos_id\u003e:\u003cqueue_id\u003e\n```\n\n", + "description": "Provides a Express Connect Traffic Qos Queue resource.\n\nExpress Connect Traffic QoS Queue.\n\nFor information about Express Connect Traffic Qos Queue and how to use it, see [What is Traffic Qos Queue](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQosQueue).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\nconst createQosQueue = new alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\", {\n qosId: createQos.id,\n bandwidthPercent: \"60\",\n queueDescription: \"terraform-example\",\n queueName: name,\n queueType: \"Medium\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\ncreate_qos_queue = alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\",\n qos_id=create_qos.id,\n bandwidth_percent=\"60\",\n queue_description=\"terraform-example\",\n queue_name=name,\n queue_type=\"Medium\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n var createQosQueue = new AliCloud.ExpressConnect.TrafficQosQueue(\"createQosQueue\", new()\n {\n QosId = createQos.Id,\n BandwidthPercent = \"60\",\n QueueDescription = \"terraform-example\",\n QueueName = name,\n QueueType = \"Medium\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosQueue(ctx, \"createQosQueue\", \u0026expressconnect.TrafficQosQueueArgs{\n\t\t\tQosId: createQos.ID(),\n\t\t\tBandwidthPercent: pulumi.String(\"60\"),\n\t\t\tQueueDescription: pulumi.String(\"terraform-example\"),\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tQueueType: pulumi.String(\"Medium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueue;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n var createQosQueue = new TrafficQosQueue(\"createQosQueue\", TrafficQosQueueArgs.builder()\n .qosId(createQos.id())\n .bandwidthPercent(\"60\")\n .queueDescription(\"terraform-example\")\n .queueName(name)\n .queueType(\"Medium\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\n createQosQueue:\n type: alicloud:expressconnect:TrafficQosQueue\n properties:\n qosId: ${createQos.id}\n bandwidthPercent: '60'\n queueDescription: terraform-example\n queueName: ${name}\n queueType: Medium\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Traffic Qos Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosQueue:TrafficQosQueue example \u003cqos_id\u003e:\u003cqueue_id\u003e\n```\n\n", "properties": { "bandwidthPercent": { "type": "string", @@ -185417,7 +189234,7 @@ } }, "alicloud:expressconnect/trafficQosRule:TrafficQosRule": { - "description": "Provides a Express Connect Traffic Qos Rule resource.\n\nExpress Connect Traffic QoS Rule.\n\nFor information about Express Connect Traffic Qos Rule and how to use it, see [What is Traffic Qos Rule](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQosRule).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\nconst createQosQueue = new alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\", {\n qosId: createQos.id,\n bandwidthPercent: \"60\",\n queueDescription: \"terraform-example\",\n queueName: name,\n queueType: \"Medium\",\n});\nconst defaultTrafficQosRule = new alicloud.expressconnect.TrafficQosRule(\"default\", {\n ruleDescription: \"terraform-example\",\n priority: 1,\n protocol: \"ALL\",\n srcPortRange: \"-1/-1\",\n dstIpv6Cidr: \"2001:db8:1234:5678::/64\",\n srcIpv6Cidr: \"2001:db8:1234:5678::/64\",\n dstPortRange: \"-1/-1\",\n remarkingDscp: -1,\n queueId: createQosQueue.queueId,\n qosId: createQos.id,\n matchDscp: -1,\n ruleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\ncreate_qos_queue = alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\",\n qos_id=create_qos.id,\n bandwidth_percent=\"60\",\n queue_description=\"terraform-example\",\n queue_name=name,\n queue_type=\"Medium\")\ndefault_traffic_qos_rule = alicloud.expressconnect.TrafficQosRule(\"default\",\n rule_description=\"terraform-example\",\n priority=1,\n protocol=\"ALL\",\n src_port_range=\"-1/-1\",\n dst_ipv6_cidr=\"2001:db8:1234:5678::/64\",\n src_ipv6_cidr=\"2001:db8:1234:5678::/64\",\n dst_port_range=\"-1/-1\",\n remarking_dscp=-1,\n queue_id=create_qos_queue.queue_id,\n qos_id=create_qos.id,\n match_dscp=-1,\n rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n var createQosQueue = new AliCloud.ExpressConnect.TrafficQosQueue(\"createQosQueue\", new()\n {\n QosId = createQos.Id,\n BandwidthPercent = \"60\",\n QueueDescription = \"terraform-example\",\n QueueName = name,\n QueueType = \"Medium\",\n });\n\n var defaultTrafficQosRule = new AliCloud.ExpressConnect.TrafficQosRule(\"default\", new()\n {\n RuleDescription = \"terraform-example\",\n Priority = 1,\n Protocol = \"ALL\",\n SrcPortRange = \"-1/-1\",\n DstIpv6Cidr = \"2001:db8:1234:5678::/64\",\n SrcIpv6Cidr = \"2001:db8:1234:5678::/64\",\n DstPortRange = \"-1/-1\",\n RemarkingDscp = -1,\n QueueId = createQosQueue.QueueId,\n QosId = createQos.Id,\n MatchDscp = -1,\n RuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQosQueue, err := expressconnect.NewTrafficQosQueue(ctx, \"createQosQueue\", \u0026expressconnect.TrafficQosQueueArgs{\n\t\t\tQosId: createQos.ID(),\n\t\t\tBandwidthPercent: pulumi.String(\"60\"),\n\t\t\tQueueDescription: pulumi.String(\"terraform-example\"),\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tQueueType: pulumi.String(\"Medium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosRule(ctx, \"default\", \u0026expressconnect.TrafficQosRuleArgs{\n\t\t\tRuleDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tProtocol: pulumi.String(\"ALL\"),\n\t\t\tSrcPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDstIpv6Cidr: pulumi.String(\"2001:db8:1234:5678::/64\"),\n\t\t\tSrcIpv6Cidr: pulumi.String(\"2001:db8:1234:5678::/64\"),\n\t\t\tDstPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tRemarkingDscp: pulumi.Int(-1),\n\t\t\tQueueId: createQosQueue.QueueId,\n\t\t\tQosId: createQos.ID(),\n\t\t\tMatchDscp: pulumi.Int(-1),\n\t\t\tRuleName: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueue;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueueArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosRule;\nimport com.pulumi.alicloud.expressconnect.TrafficQosRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n var createQosQueue = new TrafficQosQueue(\"createQosQueue\", TrafficQosQueueArgs.builder()\n .qosId(createQos.id())\n .bandwidthPercent(\"60\")\n .queueDescription(\"terraform-example\")\n .queueName(name)\n .queueType(\"Medium\")\n .build());\n\n var defaultTrafficQosRule = new TrafficQosRule(\"defaultTrafficQosRule\", TrafficQosRuleArgs.builder()\n .ruleDescription(\"terraform-example\")\n .priority(1)\n .protocol(\"ALL\")\n .srcPortRange(\"-1/-1\")\n .dstIpv6Cidr(\"2001:db8:1234:5678::/64\")\n .srcIpv6Cidr(\"2001:db8:1234:5678::/64\")\n .dstPortRange(\"-1/-1\")\n .remarkingDscp(-1)\n .queueId(createQosQueue.queueId())\n .qosId(createQos.id())\n .matchDscp(-1)\n .ruleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\n createQosQueue:\n type: alicloud:expressconnect:TrafficQosQueue\n properties:\n qosId: ${createQos.id}\n bandwidthPercent: '60'\n queueDescription: terraform-example\n queueName: ${name}\n queueType: Medium\n defaultTrafficQosRule:\n type: alicloud:expressconnect:TrafficQosRule\n name: default\n properties:\n ruleDescription: terraform-example\n priority: '1'\n protocol: ALL\n srcPortRange: -1/-1\n dstIpv6Cidr: 2001:db8:1234:5678::/64\n srcIpv6Cidr: 2001:db8:1234:5678::/64\n dstPortRange: -1/-1\n remarkingDscp: '-1'\n queueId: ${createQosQueue.queueId}\n qosId: ${createQos.id}\n matchDscp: '-1'\n ruleName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Traffic Qos Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosRule:TrafficQosRule example \u003cqos_id\u003e:\u003cqueue_id\u003e:\u003crule_id\u003e\n```\n\n", + "description": "Provides a Express Connect Traffic Qos Rule resource.\n\nExpress Connect Traffic QoS Rule.\n\nFor information about Express Connect Traffic Qos Rule and how to use it, see [What is Traffic Qos Rule](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/CreateExpressConnectTrafficQosRule).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"preserved-NODELETING\",\n});\nconst createQos = new alicloud.expressconnect.TrafficQos(\"createQos\", {\n qosName: name,\n qosDescription: \"terraform-example\",\n});\nconst associateQos = new alicloud.expressconnect.TrafficQosAssociation(\"associateQos\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[1]),\n qosId: createQos.id,\n instanceType: \"PHYSICALCONNECTION\",\n});\nconst createQosQueue = new alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\", {\n qosId: createQos.id,\n bandwidthPercent: \"60\",\n queueDescription: \"terraform-example\",\n queueName: name,\n queueType: \"Medium\",\n});\nconst defaultTrafficQosRule = new alicloud.expressconnect.TrafficQosRule(\"default\", {\n ruleDescription: \"terraform-example\",\n priority: 1,\n protocol: \"ALL\",\n srcPortRange: \"-1/-1\",\n dstIpv6Cidr: \"2001:db8:1234:5678::/64\",\n srcIpv6Cidr: \"2001:db8:1234:5678::/64\",\n dstPortRange: \"-1/-1\",\n remarkingDscp: -1,\n queueId: createQosQueue.queueId,\n qosId: createQos.id,\n matchDscp: -1,\n ruleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"preserved-NODELETING\")\ncreate_qos = alicloud.expressconnect.TrafficQos(\"createQos\",\n qos_name=name,\n qos_description=\"terraform-example\")\nassociate_qos = alicloud.expressconnect.TrafficQosAssociation(\"associateQos\",\n instance_id=default.ids[1],\n qos_id=create_qos.id,\n instance_type=\"PHYSICALCONNECTION\")\ncreate_qos_queue = alicloud.expressconnect.TrafficQosQueue(\"createQosQueue\",\n qos_id=create_qos.id,\n bandwidth_percent=\"60\",\n queue_description=\"terraform-example\",\n queue_name=name,\n queue_type=\"Medium\")\ndefault_traffic_qos_rule = alicloud.expressconnect.TrafficQosRule(\"default\",\n rule_description=\"terraform-example\",\n priority=1,\n protocol=\"ALL\",\n src_port_range=\"-1/-1\",\n dst_ipv6_cidr=\"2001:db8:1234:5678::/64\",\n src_ipv6_cidr=\"2001:db8:1234:5678::/64\",\n dst_port_range=\"-1/-1\",\n remarking_dscp=-1,\n queue_id=create_qos_queue.queue_id,\n qos_id=create_qos.id,\n match_dscp=-1,\n rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"preserved-NODELETING\",\n });\n\n var createQos = new AliCloud.ExpressConnect.TrafficQos(\"createQos\", new()\n {\n QosName = name,\n QosDescription = \"terraform-example\",\n });\n\n var associateQos = new AliCloud.ExpressConnect.TrafficQosAssociation(\"associateQos\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[1])),\n QosId = createQos.Id,\n InstanceType = \"PHYSICALCONNECTION\",\n });\n\n var createQosQueue = new AliCloud.ExpressConnect.TrafficQosQueue(\"createQosQueue\", new()\n {\n QosId = createQos.Id,\n BandwidthPercent = \"60\",\n QueueDescription = \"terraform-example\",\n QueueName = name,\n QueueType = \"Medium\",\n });\n\n var defaultTrafficQosRule = new AliCloud.ExpressConnect.TrafficQosRule(\"default\", new()\n {\n RuleDescription = \"terraform-example\",\n Priority = 1,\n Protocol = \"ALL\",\n SrcPortRange = \"-1/-1\",\n DstIpv6Cidr = \"2001:db8:1234:5678::/64\",\n SrcIpv6Cidr = \"2001:db8:1234:5678::/64\",\n DstPortRange = \"-1/-1\",\n RemarkingDscp = -1,\n QueueId = createQosQueue.QueueId,\n QosId = createQos.Id,\n MatchDscp = -1,\n RuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQos, err := expressconnect.NewTrafficQos(ctx, \"createQos\", \u0026expressconnect.TrafficQosArgs{\n\t\t\tQosName: pulumi.String(name),\n\t\t\tQosDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosAssociation(ctx, \"associateQos\", \u0026expressconnect.TrafficQosAssociationArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[1]),\n\t\t\tQosId: createQos.ID(),\n\t\t\tInstanceType: pulumi.String(\"PHYSICALCONNECTION\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQosQueue, err := expressconnect.NewTrafficQosQueue(ctx, \"createQosQueue\", \u0026expressconnect.TrafficQosQueueArgs{\n\t\t\tQosId: createQos.ID(),\n\t\t\tBandwidthPercent: pulumi.String(\"60\"),\n\t\t\tQueueDescription: pulumi.String(\"terraform-example\"),\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tQueueType: pulumi.String(\"Medium\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewTrafficQosRule(ctx, \"default\", \u0026expressconnect.TrafficQosRuleArgs{\n\t\t\tRuleDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tProtocol: pulumi.String(\"ALL\"),\n\t\t\tSrcPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDstIpv6Cidr: pulumi.String(\"2001:db8:1234:5678::/64\"),\n\t\t\tSrcIpv6Cidr: pulumi.String(\"2001:db8:1234:5678::/64\"),\n\t\t\tDstPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tRemarkingDscp: pulumi.Int(-1),\n\t\t\tQueueId: createQosQueue.QueueId,\n\t\t\tQosId: createQos.ID(),\n\t\t\tMatchDscp: pulumi.Int(-1),\n\t\t\tRuleName: pulumi.String(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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQos;\nimport com.pulumi.alicloud.expressconnect.TrafficQosArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociation;\nimport com.pulumi.alicloud.expressconnect.TrafficQosAssociationArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueue;\nimport com.pulumi.alicloud.expressconnect.TrafficQosQueueArgs;\nimport com.pulumi.alicloud.expressconnect.TrafficQosRule;\nimport com.pulumi.alicloud.expressconnect.TrafficQosRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"preserved-NODELETING\")\n .build());\n\n var createQos = new TrafficQos(\"createQos\", TrafficQosArgs.builder()\n .qosName(name)\n .qosDescription(\"terraform-example\")\n .build());\n\n var associateQos = new TrafficQosAssociation(\"associateQos\", TrafficQosAssociationArgs.builder()\n .instanceId(default_.ids()[1])\n .qosId(createQos.id())\n .instanceType(\"PHYSICALCONNECTION\")\n .build());\n\n var createQosQueue = new TrafficQosQueue(\"createQosQueue\", TrafficQosQueueArgs.builder()\n .qosId(createQos.id())\n .bandwidthPercent(\"60\")\n .queueDescription(\"terraform-example\")\n .queueName(name)\n .queueType(\"Medium\")\n .build());\n\n var defaultTrafficQosRule = new TrafficQosRule(\"defaultTrafficQosRule\", TrafficQosRuleArgs.builder()\n .ruleDescription(\"terraform-example\")\n .priority(1)\n .protocol(\"ALL\")\n .srcPortRange(\"-1/-1\")\n .dstIpv6Cidr(\"2001:db8:1234:5678::/64\")\n .srcIpv6Cidr(\"2001:db8:1234:5678::/64\")\n .dstPortRange(\"-1/-1\")\n .remarkingDscp(-1)\n .queueId(createQosQueue.queueId())\n .qosId(createQos.id())\n .matchDscp(-1)\n .ruleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createQos:\n type: alicloud:expressconnect:TrafficQos\n properties:\n qosName: ${name}\n qosDescription: terraform-example\n associateQos:\n type: alicloud:expressconnect:TrafficQosAssociation\n properties:\n instanceId: ${default.ids[1]}\n qosId: ${createQos.id}\n instanceType: PHYSICALCONNECTION\n createQosQueue:\n type: alicloud:expressconnect:TrafficQosQueue\n properties:\n qosId: ${createQos.id}\n bandwidthPercent: '60'\n queueDescription: terraform-example\n queueName: ${name}\n queueType: Medium\n defaultTrafficQosRule:\n type: alicloud:expressconnect:TrafficQosRule\n name: default\n properties:\n ruleDescription: terraform-example\n priority: '1'\n protocol: ALL\n srcPortRange: -1/-1\n dstIpv6Cidr: 2001:db8:1234:5678::/64\n srcIpv6Cidr: 2001:db8:1234:5678::/64\n dstPortRange: -1/-1\n remarkingDscp: '-1'\n queueId: ${createQosQueue.queueId}\n qosId: ${createQos.id}\n matchDscp: '-1'\n ruleName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Traffic Qos Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/trafficQosRule:TrafficQosRule example \u003cqos_id\u003e:\u003cqueue_id\u003e:\u003crule_id\u003e\n```\n\n", "properties": { "dstCidr": { "type": "string", @@ -185636,7 +189453,7 @@ } }, "alicloud:expressconnect/vbrPconnAssociation:VbrPconnAssociation": { - "description": "Provides a Express Connect Vbr Pconn Association resource.\n\nVBR multi-pconn Association.\n\nFor information about Express Connect Vbr Pconn Association and how to use it, see [What is Vbr Pconn Association](https://www.alibabacloud.com/help/en/express-connect/latest/associatephysicalconnectiontovirtualborderrouter#doc-api-Vpc-AssociatePhysicalConnectionToVirtualBorderRouter).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst _default = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: 110,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n enableIpv6: true,\n localIpv6GatewayIp: \"2408:4004:cc:400::1\",\n peerIpv6GatewayIp: \"2408:4004:cc:400::2\",\n peeringIpv6SubnetMask: \"2408:4004:cc:400::/56\",\n});\nconst exampleVbrPconnAssociation = new alicloud.expressconnect.VbrPconnAssociation(\"example\", {\n peerGatewayIp: \"10.0.0.6\",\n localGatewayIp: \"10.0.0.5\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[1]?.id),\n vbrId: _default.id,\n peeringSubnetMask: \"255.255.255.252\",\n vlanId: 1122,\n enableIpv6: true,\n localIpv6GatewayIp: \"2408:4004:cc::3\",\n peerIpv6GatewayIp: \"2408:4004:cc::4\",\n peeringIpv6SubnetMask: \"2408:4004:cc::/56\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=110,\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10,\n enable_ipv6=True,\n local_ipv6_gateway_ip=\"2408:4004:cc:400::1\",\n peer_ipv6_gateway_ip=\"2408:4004:cc:400::2\",\n peering_ipv6_subnet_mask=\"2408:4004:cc:400::/56\")\nexample_vbr_pconn_association = alicloud.expressconnect.VbrPconnAssociation(\"example\",\n peer_gateway_ip=\"10.0.0.6\",\n local_gateway_ip=\"10.0.0.5\",\n physical_connection_id=example.connections[1].id,\n vbr_id=default.id,\n peering_subnet_mask=\"255.255.255.252\",\n vlan_id=1122,\n enable_ipv6=True,\n local_ipv6_gateway_ip=\"2408:4004:cc::3\",\n peer_ipv6_gateway_ip=\"2408:4004:cc::4\",\n peering_ipv6_subnet_mask=\"2408:4004:cc::/56\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var @default = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = 110,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n EnableIpv6 = true,\n LocalIpv6GatewayIp = \"2408:4004:cc:400::1\",\n PeerIpv6GatewayIp = \"2408:4004:cc:400::2\",\n PeeringIpv6SubnetMask = \"2408:4004:cc:400::/56\",\n });\n\n var exampleVbrPconnAssociation = new AliCloud.ExpressConnect.VbrPconnAssociation(\"example\", new()\n {\n PeerGatewayIp = \"10.0.0.6\",\n LocalGatewayIp = \"10.0.0.5\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[1]?.Id),\n VbrId = @default.Id,\n PeeringSubnetMask = \"255.255.255.252\",\n VlanId = 1122,\n EnableIpv6 = true,\n LocalIpv6GatewayIp = \"2408:4004:cc::3\",\n PeerIpv6GatewayIp = \"2408:4004:cc::4\",\n PeeringIpv6SubnetMask = \"2408:4004:cc::/56\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: pulumi.Int(110),\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tLocalIpv6GatewayIp: pulumi.String(\"2408:4004:cc:400::1\"),\n\t\t\tPeerIpv6GatewayIp: pulumi.String(\"2408:4004:cc:400::2\"),\n\t\t\tPeeringIpv6SubnetMask: pulumi.String(\"2408:4004:cc:400::/56\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVbrPconnAssociation(ctx, \"example\", \u0026expressconnect.VbrPconnAssociationArgs{\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.6\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.5\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[1].Id),\n\t\t\tVbrId: _default.ID(),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tVlanId: pulumi.Int(1122),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tLocalIpv6GatewayIp: pulumi.String(\"2408:4004:cc::3\"),\n\t\t\tPeerIpv6GatewayIp: pulumi.String(\"2408:4004:cc::4\"),\n\t\t\tPeeringIpv6SubnetMask: pulumi.String(\"2408:4004:cc::/56\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.VbrPconnAssociation;\nimport com.pulumi.alicloud.expressconnect.VbrPconnAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var default_ = new VirtualBorderRouter(\"default\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(110)\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .enableIpv6(true)\n .localIpv6GatewayIp(\"2408:4004:cc:400::1\")\n .peerIpv6GatewayIp(\"2408:4004:cc:400::2\")\n .peeringIpv6SubnetMask(\"2408:4004:cc:400::/56\")\n .build());\n\n var exampleVbrPconnAssociation = new VbrPconnAssociation(\"exampleVbrPconnAssociation\", VbrPconnAssociationArgs.builder()\n .peerGatewayIp(\"10.0.0.6\")\n .localGatewayIp(\"10.0.0.5\")\n .physicalConnectionId(example.connections()[1].id())\n .vbrId(default_.id())\n .peeringSubnetMask(\"255.255.255.252\")\n .vlanId(1122)\n .enableIpv6(true)\n .localIpv6GatewayIp(\"2408:4004:cc::3\")\n .peerIpv6GatewayIp(\"2408:4004:cc::4\")\n .peeringIpv6SubnetMask(\"2408:4004:cc::/56\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: 110\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n enableIpv6: true\n localIpv6GatewayIp: 2408:4004:cc:400::1\n peerIpv6GatewayIp: 2408:4004:cc:400::2\n peeringIpv6SubnetMask: 2408:4004:cc:400::/56\n exampleVbrPconnAssociation:\n type: alicloud:expressconnect:VbrPconnAssociation\n name: example\n properties:\n peerGatewayIp: 10.0.0.6\n localGatewayIp: 10.0.0.5\n physicalConnectionId: ${example.connections[1].id}\n vbrId: ${default.id}\n peeringSubnetMask: 255.255.255.252\n vlanId: '1122'\n enableIpv6: true\n localIpv6GatewayIp: 2408:4004:cc::3\n peerIpv6GatewayIp: 2408:4004:cc::4\n peeringIpv6SubnetMask: 2408:4004:cc::/56\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Vbr Pconn Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/vbrPconnAssociation:VbrPconnAssociation example \u003cvbr_id\u003e:\u003cphysical_connection_id\u003e\n```\n\n", + "description": "Provides a Express Connect Vbr Pconn Association resource.\n\nVBR multi-pconn Association.\n\nFor information about Express Connect Vbr Pconn Association and how to use it, see [What is Vbr Pconn Association](https://www.alibabacloud.com/help/en/express-connect/latest/associatephysicalconnectiontovirtualborderrouter#doc-api-Vpc-AssociatePhysicalConnectionToVirtualBorderRouter).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst _default = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: 110,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n enableIpv6: true,\n localIpv6GatewayIp: \"2408:4004:cc:400::1\",\n peerIpv6GatewayIp: \"2408:4004:cc:400::2\",\n peeringIpv6SubnetMask: \"2408:4004:cc:400::/56\",\n});\nconst exampleVbrPconnAssociation = new alicloud.expressconnect.VbrPconnAssociation(\"example\", {\n peerGatewayIp: \"10.0.0.6\",\n localGatewayIp: \"10.0.0.5\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[1]?.id),\n vbrId: _default.id,\n peeringSubnetMask: \"255.255.255.252\",\n vlanId: 1122,\n enableIpv6: true,\n localIpv6GatewayIp: \"2408:4004:cc::3\",\n peerIpv6GatewayIp: \"2408:4004:cc::4\",\n peeringIpv6SubnetMask: \"2408:4004:cc::/56\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=110,\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10,\n enable_ipv6=True,\n local_ipv6_gateway_ip=\"2408:4004:cc:400::1\",\n peer_ipv6_gateway_ip=\"2408:4004:cc:400::2\",\n peering_ipv6_subnet_mask=\"2408:4004:cc:400::/56\")\nexample_vbr_pconn_association = alicloud.expressconnect.VbrPconnAssociation(\"example\",\n peer_gateway_ip=\"10.0.0.6\",\n local_gateway_ip=\"10.0.0.5\",\n physical_connection_id=example.connections[1].id,\n vbr_id=default.id,\n peering_subnet_mask=\"255.255.255.252\",\n vlan_id=1122,\n enable_ipv6=True,\n local_ipv6_gateway_ip=\"2408:4004:cc::3\",\n peer_ipv6_gateway_ip=\"2408:4004:cc::4\",\n peering_ipv6_subnet_mask=\"2408:4004:cc::/56\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var @default = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = 110,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n EnableIpv6 = true,\n LocalIpv6GatewayIp = \"2408:4004:cc:400::1\",\n PeerIpv6GatewayIp = \"2408:4004:cc:400::2\",\n PeeringIpv6SubnetMask = \"2408:4004:cc:400::/56\",\n });\n\n var exampleVbrPconnAssociation = new AliCloud.ExpressConnect.VbrPconnAssociation(\"example\", new()\n {\n PeerGatewayIp = \"10.0.0.6\",\n LocalGatewayIp = \"10.0.0.5\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[1]?.Id),\n VbrId = @default.Id,\n PeeringSubnetMask = \"255.255.255.252\",\n VlanId = 1122,\n EnableIpv6 = true,\n LocalIpv6GatewayIp = \"2408:4004:cc::3\",\n PeerIpv6GatewayIp = \"2408:4004:cc::4\",\n PeeringIpv6SubnetMask = \"2408:4004:cc::/56\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: pulumi.Int(110),\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tLocalIpv6GatewayIp: pulumi.String(\"2408:4004:cc:400::1\"),\n\t\t\tPeerIpv6GatewayIp: pulumi.String(\"2408:4004:cc:400::2\"),\n\t\t\tPeeringIpv6SubnetMask: pulumi.String(\"2408:4004:cc:400::/56\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVbrPconnAssociation(ctx, \"example\", \u0026expressconnect.VbrPconnAssociationArgs{\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.6\"),\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.5\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[1].Id),\n\t\t\tVbrId: _default.ID(),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tVlanId: pulumi.Int(1122),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tLocalIpv6GatewayIp: pulumi.String(\"2408:4004:cc::3\"),\n\t\t\tPeerIpv6GatewayIp: pulumi.String(\"2408:4004:cc::4\"),\n\t\t\tPeeringIpv6SubnetMask: pulumi.String(\"2408:4004:cc::/56\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.expressconnect.VbrPconnAssociation;\nimport com.pulumi.alicloud.expressconnect.VbrPconnAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var default_ = new VirtualBorderRouter(\"default\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(110)\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .enableIpv6(true)\n .localIpv6GatewayIp(\"2408:4004:cc:400::1\")\n .peerIpv6GatewayIp(\"2408:4004:cc:400::2\")\n .peeringIpv6SubnetMask(\"2408:4004:cc:400::/56\")\n .build());\n\n var exampleVbrPconnAssociation = new VbrPconnAssociation(\"exampleVbrPconnAssociation\", VbrPconnAssociationArgs.builder()\n .peerGatewayIp(\"10.0.0.6\")\n .localGatewayIp(\"10.0.0.5\")\n .physicalConnectionId(example.connections()[1].id())\n .vbrId(default_.id())\n .peeringSubnetMask(\"255.255.255.252\")\n .vlanId(1122)\n .enableIpv6(true)\n .localIpv6GatewayIp(\"2408:4004:cc::3\")\n .peerIpv6GatewayIp(\"2408:4004:cc::4\")\n .peeringIpv6SubnetMask(\"2408:4004:cc::/56\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:expressconnect:VirtualBorderRouter\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: 110\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n enableIpv6: true\n localIpv6GatewayIp: 2408:4004:cc:400::1\n peerIpv6GatewayIp: 2408:4004:cc:400::2\n peeringIpv6SubnetMask: 2408:4004:cc:400::/56\n exampleVbrPconnAssociation:\n type: alicloud:expressconnect:VbrPconnAssociation\n name: example\n properties:\n peerGatewayIp: 10.0.0.6\n localGatewayIp: 10.0.0.5\n physicalConnectionId: ${example.connections[1].id}\n vbrId: ${default.id}\n peeringSubnetMask: 255.255.255.252\n vlanId: '1122'\n enableIpv6: true\n localIpv6GatewayIp: 2408:4004:cc::3\n peerIpv6GatewayIp: 2408:4004:cc::4\n peeringIpv6SubnetMask: 2408:4004:cc::/56\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Vbr Pconn Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/vbrPconnAssociation:VbrPconnAssociation example \u003cvbr_id\u003e:\u003cphysical_connection_id\u003e\n```\n\n", "properties": { "circuitCode": { "type": "string", @@ -185818,7 +189635,7 @@ } }, "alicloud:expressconnect/virtualBorderRouter:VirtualBorderRouter": { - "description": "Provides a Express Connect Virtual Border Router resource.\n\nFor information about Express Connect Virtual Border Router and how to use it, see [What is Virtual Border Router](https://www.alibabacloud.com/help/en/doc-detail/44854.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 1,\n max: 2999,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: _default.then(_default =\u003e _default.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n min=1,\n max=2999)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 1,\n Max = 2999,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id)),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 1,\n\t\t\tMax: 2999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(_default.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: 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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(1)\n .max(2999)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(default_.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1\n max: 2999\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${default.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Virtual Border Router can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/virtualBorderRouter:VirtualBorderRouter example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Virtual Border Router resource.\n\nFor information about Express Connect Virtual Border Router and how to use it, see [What is Virtual Border Router](https://www.alibabacloud.com/help/en/doc-detail/44854.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 1,\n max: 2999,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: _default.then(_default =\u003e _default.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n min=1,\n max=2999)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 1,\n Max = 2999,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id)),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 1,\n\t\t\tMax: 2999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(_default.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: 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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(1)\n .max(2999)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(default_.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1\n max: 2999\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${default.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Virtual Border Router can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/virtualBorderRouter:VirtualBorderRouter example \u003cid\u003e\n```\n\n", "properties": { "associatedPhysicalConnections": { "type": "string", @@ -185926,6 +189743,7 @@ } }, "required": [ + "bandwidth", "createTime", "detectMultiplier", "localGatewayIp", @@ -186159,7 +189977,7 @@ } }, "alicloud:expressconnect/virtualPhysicalConnection:VirtualPhysicalConnection": { - "description": "Provides a Express Connect Virtual Physical Connection resource.\n\nFor information about Express Connect Virtual Physical Connection and how to use it, see [What is Virtual Physical Connection](https://www.alibabacloud.com/help/en/express-connect/latest/createvirtualphysicalconnection#doc-api-Vpc-CreateVirtualPhysicalConnection).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst _default = alicloud.getAccount({});\nconst exampleVirtualPhysicalConnection = new alicloud.expressconnect.VirtualPhysicalConnection(\"example\", {\n virtualPhysicalConnectionName: name,\n description: name,\n orderMode: \"PayByPhysicalConnectionOwner\",\n parentPhysicalConnectionId: example.then(example =\u003e example.ids?.[0]),\n spec: \"50M\",\n vlanId: vlanId.id,\n vpconnAliUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\ndefault = alicloud.get_account()\nexample_virtual_physical_connection = alicloud.expressconnect.VirtualPhysicalConnection(\"example\",\n virtual_physical_connection_name=name,\n description=name,\n order_mode=\"PayByPhysicalConnectionOwner\",\n parent_physical_connection_id=example.ids[0],\n spec=\"50M\",\n vlan_id=vlan_id[\"id\"],\n vpconn_ali_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var @default = AliCloud.GetAccount.Invoke();\n\n var exampleVirtualPhysicalConnection = new AliCloud.ExpressConnect.VirtualPhysicalConnection(\"example\", new()\n {\n VirtualPhysicalConnectionName = name,\n Description = name,\n OrderMode = \"PayByPhysicalConnectionOwner\",\n ParentPhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[0]),\n Spec = \"50M\",\n VlanId = vlanId.Id,\n VpconnAliUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVirtualPhysicalConnection(ctx, \"example\", \u0026expressconnect.VirtualPhysicalConnectionArgs{\n\t\t\tVirtualPhysicalConnectionName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tOrderMode: pulumi.String(\"PayByPhysicalConnectionOwner\"),\n\t\t\tParentPhysicalConnectionId: pulumi.String(example.Ids[0]),\n\t\t\tSpec: pulumi.String(\"50M\"),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tVpconnAliUid: pulumi.String(_default.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.VirtualPhysicalConnection;\nimport com.pulumi.alicloud.expressconnect.VirtualPhysicalConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var exampleVirtualPhysicalConnection = new VirtualPhysicalConnection(\"exampleVirtualPhysicalConnection\", VirtualPhysicalConnectionArgs.builder()\n .virtualPhysicalConnectionName(name)\n .description(name)\n .orderMode(\"PayByPhysicalConnectionOwner\")\n .parentPhysicalConnectionId(example.ids()[0])\n .spec(\"50M\")\n .vlanId(vlanId.id())\n .vpconnAliUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualPhysicalConnection:\n type: alicloud:expressconnect:VirtualPhysicalConnection\n name: example\n properties:\n virtualPhysicalConnectionName: ${name}\n description: ${name}\n orderMode: PayByPhysicalConnectionOwner\n parentPhysicalConnectionId: ${example.ids[0]}\n spec: 50M\n vlanId: ${vlanId.id}\n vpconnAliUid: ${default.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Virtual Physical Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/virtualPhysicalConnection:VirtualPhysicalConnection example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Virtual Physical Connection resource.\n\nFor information about Express Connect Virtual Physical Connection and how to use it, see [What is Virtual Physical Connection](https://www.alibabacloud.com/help/en/express-connect/latest/createvirtualphysicalconnection#doc-api-Vpc-CreateVirtualPhysicalConnection).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst _default = alicloud.getAccount({});\nconst exampleVirtualPhysicalConnection = new alicloud.expressconnect.VirtualPhysicalConnection(\"example\", {\n virtualPhysicalConnectionName: name,\n description: name,\n orderMode: \"PayByPhysicalConnectionOwner\",\n parentPhysicalConnectionId: example.then(example =\u003e example.ids?.[0]),\n spec: \"50M\",\n vlanId: vlanId.id,\n vpconnAliUid: _default.then(_default =\u003e _default.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\ndefault = alicloud.get_account()\nexample_virtual_physical_connection = alicloud.expressconnect.VirtualPhysicalConnection(\"example\",\n virtual_physical_connection_name=name,\n description=name,\n order_mode=\"PayByPhysicalConnectionOwner\",\n parent_physical_connection_id=example.ids[0],\n spec=\"50M\",\n vlan_id=vlan_id[\"id\"],\n vpconn_ali_uid=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var @default = AliCloud.GetAccount.Invoke();\n\n var exampleVirtualPhysicalConnection = new AliCloud.ExpressConnect.VirtualPhysicalConnection(\"example\", new()\n {\n VirtualPhysicalConnectionName = name,\n Description = name,\n OrderMode = \"PayByPhysicalConnectionOwner\",\n ParentPhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Ids[0]),\n Spec = \"50M\",\n VlanId = vlanId.Id,\n VpconnAliUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = expressconnect.NewVirtualPhysicalConnection(ctx, \"example\", \u0026expressconnect.VirtualPhysicalConnectionArgs{\n\t\t\tVirtualPhysicalConnectionName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tOrderMode: pulumi.String(\"PayByPhysicalConnectionOwner\"),\n\t\t\tParentPhysicalConnectionId: pulumi.String(example.Ids[0]),\n\t\t\tSpec: pulumi.String(\"50M\"),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tVpconnAliUid: pulumi.String(_default.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.expressconnect.VirtualPhysicalConnection;\nimport com.pulumi.alicloud.expressconnect.VirtualPhysicalConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var exampleVirtualPhysicalConnection = new VirtualPhysicalConnection(\"exampleVirtualPhysicalConnection\", VirtualPhysicalConnectionArgs.builder()\n .virtualPhysicalConnectionName(name)\n .description(name)\n .orderMode(\"PayByPhysicalConnectionOwner\")\n .parentPhysicalConnectionId(example.ids()[0])\n .spec(\"50M\")\n .vlanId(vlanId.id())\n .vpconnAliUid(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualPhysicalConnection:\n type: alicloud:expressconnect:VirtualPhysicalConnection\n name: example\n properties:\n virtualPhysicalConnectionName: ${name}\n description: ${name}\n orderMode: PayByPhysicalConnectionOwner\n parentPhysicalConnectionId: ${example.ids[0]}\n spec: 50M\n vlanId: ${vlanId.id}\n vpconnAliUid: ${default.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Virtual Physical Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:expressconnect/virtualPhysicalConnection:VirtualPhysicalConnection example \u003cid\u003e\n```\n\n", "properties": { "accessPointId": { "type": "string", @@ -186474,7 +190292,7 @@ } }, "alicloud:fc/alias:Alias": { - "description": "Creates a Function Compute service alias. Creates an alias that points to the specified Function Compute service version. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-createalias).\n\n\u003e **NOTE:** Available since v1.104.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${_default.result}`,\n description: \"example-value\",\n publish: true,\n});\nconst example = new alicloud.fc.Alias(\"example\", {\n aliasName: \"example-value\",\n description: \"example-value\",\n serviceName: defaultService.name,\n serviceVersion: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default['result']}\",\n description=\"example-value\",\n publish=True)\nexample = alicloud.fc.Alias(\"example\",\n alias_name=\"example-value\",\n description=\"example-value\",\n service_name=default_service.name,\n service_version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n Description = \"example-value\",\n Publish = true,\n });\n\n var example = new AliCloud.FC.Alias(\"example\", new()\n {\n AliasName = \"example-value\",\n Description = \"example-value\",\n ServiceName = defaultService.Name,\n ServiceVersion = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tPublish: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewAlias(ctx, \"example\", \u0026fc.AliasArgs{\n\t\t\tAliasName: pulumi.String(\"example-value\"),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tServiceName: defaultService.Name,\n\t\t\tServiceVersion: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.Alias;\nimport com.pulumi.alicloud.fc.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .description(\"example-value\")\n .publish(true)\n .build());\n\n var example = new Alias(\"example\", AliasArgs.builder()\n .aliasName(\"example-value\")\n .description(\"example-value\")\n .serviceName(defaultService.name())\n .serviceVersion(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${default.result}\n description: example-value\n publish: 'true'\n example:\n type: alicloud:fc:Alias\n properties:\n aliasName: example-value\n description: example-value\n serviceName: ${defaultService.name}\n serviceVersion: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Compute alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/alias:Alias example my_alias_id\n```\n\n", + "description": "Creates a Function Compute service alias. Creates an alias that points to the specified Function Compute service version. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-createalias).\n\n\u003e **NOTE:** Available since v1.104.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${_default.result}`,\n description: \"example-value\",\n publish: true,\n});\nconst example = new alicloud.fc.Alias(\"example\", {\n aliasName: \"example-value\",\n description: \"example-value\",\n serviceName: defaultService.name,\n serviceVersion: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default['result']}\",\n description=\"example-value\",\n publish=True)\nexample = alicloud.fc.Alias(\"example\",\n alias_name=\"example-value\",\n description=\"example-value\",\n service_name=default_service.name,\n service_version=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n Description = \"example-value\",\n Publish = true,\n });\n\n var example = new AliCloud.FC.Alias(\"example\", new()\n {\n AliasName = \"example-value\",\n Description = \"example-value\",\n ServiceName = defaultService.Name,\n ServiceVersion = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tPublish: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewAlias(ctx, \"example\", \u0026fc.AliasArgs{\n\t\t\tAliasName: pulumi.String(\"example-value\"),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tServiceName: defaultService.Name,\n\t\t\tServiceVersion: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.Alias;\nimport com.pulumi.alicloud.fc.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .description(\"example-value\")\n .publish(true)\n .build());\n\n var example = new Alias(\"example\", AliasArgs.builder()\n .aliasName(\"example-value\")\n .description(\"example-value\")\n .serviceName(defaultService.name())\n .serviceVersion(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${default.result}\n description: example-value\n publish: 'true'\n example:\n type: alicloud:fc:Alias\n properties:\n aliasName: example-value\n description: example-value\n serviceName: ${defaultService.name}\n serviceVersion: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFunction Compute alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/alias:Alias example my_alias_id\n```\n\n", "properties": { "aliasName": { "type": "string", @@ -186561,7 +190379,7 @@ } }, "alicloud:fc/customDomain:CustomDomain": { - "description": "Provides an Alicloud Function Compute custom domain resource. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-createcustomdomain).\n\n\u003e **NOTE:** Available since v1.98.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {name: `example-value-${_default.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"example-value\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${_default.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fc.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunLogFullAccess\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${_default.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n logConfig: {\n project: defaultProject.name,\n logstore: defaultStore.name,\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n },\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.9\",\n handler: \"hello.handler\",\n});\nconst defaultCustomDomain = new alicloud.fc.CustomDomain(\"default\", {\n domainName: \"terraform.functioncompute.com\",\n protocol: \"HTTP\",\n routeConfigs: [{\n path: \"/login/*\",\n serviceName: defaultService.name,\n functionName: defaultFunction.name,\n qualifier: \"?query\",\n methods: [\n \"GET\",\n \"POST\",\n ],\n }],\n certConfig: {\n certName: \"example\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", name=f\"example-value-{default['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"example-value\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunLogFullAccess\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n log_config={\n \"project\": default_project.name,\n \"logstore\": default_store.name,\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n })\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.9\",\n handler=\"hello.handler\")\ndefault_custom_domain = alicloud.fc.CustomDomain(\"default\",\n domain_name=\"terraform.functioncompute.com\",\n protocol=\"HTTP\",\n route_configs=[{\n \"path\": \"/login/*\",\n \"service_name\": default_service.name,\n \"function_name\": default_function.name,\n \"qualifier\": \"?query\",\n \"methods\": [\n \"GET\",\n \"POST\",\n ],\n }],\n cert_config={\n \"cert_name\": \"example\",\n \"certificate\": \"\"\"-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----\"\"\",\n \"private_key\": \"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"example-value\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{@default.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fc.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunLogFullAccess\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n LogConfig = new AliCloud.FC.Inputs.ServiceLogConfigArgs\n {\n Project = defaultProject.Name,\n Logstore = defaultStore.Name,\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n },\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.9\",\n Handler = \"hello.handler\",\n });\n\n var defaultCustomDomain = new AliCloud.FC.CustomDomain(\"default\", new()\n {\n DomainName = \"terraform.functioncompute.com\",\n Protocol = \"HTTP\",\n RouteConfigs = new[]\n {\n new AliCloud.FC.Inputs.CustomDomainRouteConfigArgs\n {\n Path = \"/login/*\",\n ServiceName = defaultService.Name,\n FunctionName = defaultFunction.Name,\n Qualifier = \"?query\",\n Methods = new[]\n {\n \"GET\",\n \"POST\",\n },\n },\n },\n CertConfig = new AliCloud.FC.Inputs.CustomDomainCertConfigArgs\n {\n CertName = \"example\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", _default.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunLogFullAccess\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tLogConfig: \u0026fc.ServiceLogConfigArgs{\n\t\t\t\tProject: defaultProject.Name,\n\t\t\t\tLogstore: defaultStore.Name,\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: 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\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewCustomDomain(ctx, \"default\", \u0026fc.CustomDomainArgs{\n\t\t\tDomainName: pulumi.String(\"terraform.functioncompute.com\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tRouteConfigs: fc.CustomDomainRouteConfigArray{\n\t\t\t\t\u0026fc.CustomDomainRouteConfigArgs{\n\t\t\t\t\tPath: pulumi.String(\"/login/*\"),\n\t\t\t\t\tServiceName: defaultService.Name,\n\t\t\t\t\tFunctionName: defaultFunction.Name,\n\t\t\t\t\tQualifier: pulumi.String(\"?query\"),\n\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertConfig: \u0026fc.CustomDomainCertConfigArgs{\n\t\t\t\tCertName: pulumi.String(\"example\"),\n\t\t\t\tCertificate: pulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIICWD****-----END CERTIFICATE-----\"),\n\t\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\nMIICX****n-----END RSA PRIVATE KEY-----\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.inputs.ServiceLogConfigArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.CustomDomain;\nimport com.pulumi.alicloud.fc.CustomDomainArgs;\nimport com.pulumi.alicloud.fc.inputs.CustomDomainRouteConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.CustomDomainCertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"example-value\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", default_.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunLogFullAccess\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .logConfig(ServiceLogConfigArgs.builder()\n .project(defaultProject.name())\n .logstore(defaultStore.name())\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .build())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.9\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultCustomDomain = new CustomDomain(\"defaultCustomDomain\", CustomDomainArgs.builder()\n .domainName(\"terraform.functioncompute.com\")\n .protocol(\"HTTP\")\n .routeConfigs(CustomDomainRouteConfigArgs.builder()\n .path(\"/login/*\")\n .serviceName(defaultService.name())\n .functionName(defaultFunction.name())\n .qualifier(\"?query\")\n .methods( \n \"GET\",\n \"POST\")\n .build())\n .certConfig(CustomDomainCertConfigArgs.builder()\n .certName(\"example\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE----- \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY----- \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: example-value-${default.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: example-value\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${default.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunLogFullAccess\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${default.result}\n description: example-value\n role: ${defaultRole.arn}\n logConfig:\n project: ${defaultProject.name}\n logstore: ${defaultStore.name}\n enableInstanceMetrics: true\n enableRequestMetrics: true\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.9\n handler: hello.handler\n defaultCustomDomain:\n type: alicloud:fc:CustomDomain\n name: default\n properties:\n domainName: terraform.functioncompute.com\n protocol: HTTP\n routeConfigs:\n - path: /login/*\n serviceName: ${defaultService.name}\n functionName: ${defaultFunction.name}\n qualifier: ?query\n methods:\n - GET\n - POST\n certConfig:\n certName: example\n certificate: |-\n -----BEGIN CERTIFICATE-----\n MIICWD****-----END CERTIFICATE-----\n privateKey: |-\n -----BEGIN RSA PRIVATE KEY-----\n MIICX****n-----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Compute custom domain can be imported using the id or the domain name, e.g.\n\n```sh\n$ pulumi import alicloud:fc/customDomain:CustomDomain foo my-fc-custom-domain\n```\n\n", + "description": "Provides an Alicloud Function Compute custom domain resource. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-createcustomdomain).\n\n\u003e **NOTE:** Available since v1.98.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {name: `example-value-${_default.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"example-value\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${_default.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fc.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunLogFullAccess\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${_default.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n logConfig: {\n project: defaultProject.name,\n logstore: defaultStore.name,\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n },\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.9\",\n handler: \"hello.handler\",\n});\nconst defaultCustomDomain = new alicloud.fc.CustomDomain(\"default\", {\n domainName: \"terraform.functioncompute.com\",\n protocol: \"HTTP\",\n routeConfigs: [{\n path: \"/login/*\",\n serviceName: defaultService.name,\n functionName: defaultFunction.name,\n qualifier: \"?query\",\n methods: [\n \"GET\",\n \"POST\",\n ],\n }],\n certConfig: {\n certName: \"example\",\n certificate: `-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", name=f\"example-value-{default['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"example-value\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunLogFullAccess\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n log_config={\n \"project\": default_project.name,\n \"logstore\": default_store.name,\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n })\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.9\",\n handler=\"hello.handler\")\ndefault_custom_domain = alicloud.fc.CustomDomain(\"default\",\n domain_name=\"terraform.functioncompute.com\",\n protocol=\"HTTP\",\n route_configs=[{\n \"path\": \"/login/*\",\n \"service_name\": default_service.name,\n \"function_name\": default_function.name,\n \"qualifier\": \"?query\",\n \"methods\": [\n \"GET\",\n \"POST\",\n ],\n }],\n cert_config={\n \"cert_name\": \"example\",\n \"certificate\": \"\"\"-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----\"\"\",\n \"private_key\": \"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"example-value\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{@default.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fc.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunLogFullAccess\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{@default.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n LogConfig = new AliCloud.FC.Inputs.ServiceLogConfigArgs\n {\n Project = defaultProject.Name,\n Logstore = defaultStore.Name,\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n },\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.9\",\n Handler = \"hello.handler\",\n });\n\n var defaultCustomDomain = new AliCloud.FC.CustomDomain(\"default\", new()\n {\n DomainName = \"terraform.functioncompute.com\",\n Protocol = \"HTTP\",\n RouteConfigs = new[]\n {\n new AliCloud.FC.Inputs.CustomDomainRouteConfigArgs\n {\n Path = \"/login/*\",\n ServiceName = defaultService.Name,\n FunctionName = defaultFunction.Name,\n Qualifier = \"?query\",\n Methods = new[]\n {\n \"GET\",\n \"POST\",\n },\n },\n },\n CertConfig = new AliCloud.FC.Inputs.CustomDomainCertConfigArgs\n {\n CertName = \"example\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE-----\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY-----\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", _default.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunLogFullAccess\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tLogConfig: \u0026fc.ServiceLogConfigArgs{\n\t\t\t\tProject: defaultProject.Name,\n\t\t\t\tLogstore: defaultStore.Name,\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: 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\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewCustomDomain(ctx, \"default\", \u0026fc.CustomDomainArgs{\n\t\t\tDomainName: pulumi.String(\"terraform.functioncompute.com\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tRouteConfigs: fc.CustomDomainRouteConfigArray{\n\t\t\t\t\u0026fc.CustomDomainRouteConfigArgs{\n\t\t\t\t\tPath: pulumi.String(\"/login/*\"),\n\t\t\t\t\tServiceName: defaultService.Name,\n\t\t\t\t\tFunctionName: defaultFunction.Name,\n\t\t\t\t\tQualifier: pulumi.String(\"?query\"),\n\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertConfig: \u0026fc.CustomDomainCertConfigArgs{\n\t\t\t\tCertName: pulumi.String(\"example\"),\n\t\t\t\tCertificate: pulumi.String(\"-----BEGIN CERTIFICATE-----\\nMIICWD****-----END CERTIFICATE-----\"),\n\t\t\t\tPrivateKey: pulumi.String(\"-----BEGIN RSA PRIVATE KEY-----\\nMIICX****n-----END RSA PRIVATE KEY-----\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.inputs.ServiceLogConfigArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.CustomDomain;\nimport com.pulumi.alicloud.fc.CustomDomainArgs;\nimport com.pulumi.alicloud.fc.inputs.CustomDomainRouteConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.CustomDomainCertConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"example-value\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", default_.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunLogFullAccess\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", default_.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .logConfig(ServiceLogConfigArgs.builder()\n .project(defaultProject.name())\n .logstore(defaultStore.name())\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .build())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.9\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultCustomDomain = new CustomDomain(\"defaultCustomDomain\", CustomDomainArgs.builder()\n .domainName(\"terraform.functioncompute.com\")\n .protocol(\"HTTP\")\n .routeConfigs(CustomDomainRouteConfigArgs.builder()\n .path(\"/login/*\")\n .serviceName(defaultService.name())\n .functionName(defaultFunction.name())\n .qualifier(\"?query\")\n .methods( \n \"GET\",\n \"POST\")\n .build())\n .certConfig(CustomDomainCertConfigArgs.builder()\n .certName(\"example\")\n .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIICWD****-----END CERTIFICATE----- \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICX****n-----END RSA PRIVATE KEY----- \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: example-value-${default.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: example-value\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${default.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunLogFullAccess\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${default.result}\n description: example-value\n role: ${defaultRole.arn}\n logConfig:\n project: ${defaultProject.name}\n logstore: ${defaultStore.name}\n enableInstanceMetrics: true\n enableRequestMetrics: true\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.9\n handler: hello.handler\n defaultCustomDomain:\n type: alicloud:fc:CustomDomain\n name: default\n properties:\n domainName: terraform.functioncompute.com\n protocol: HTTP\n routeConfigs:\n - path: /login/*\n serviceName: ${defaultService.name}\n functionName: ${defaultFunction.name}\n qualifier: ?query\n methods:\n - GET\n - POST\n certConfig:\n certName: example\n certificate: |-\n -----BEGIN CERTIFICATE-----\n MIICWD****-----END CERTIFICATE-----\n privateKey: |-\n -----BEGIN RSA PRIVATE KEY-----\n MIICX****n-----END RSA PRIVATE KEY-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFunction Compute custom domain can be imported using the id or the domain name, e.g.\n\n```sh\n$ pulumi import alicloud:fc/customDomain:CustomDomain foo my-fc-custom-domain\n```\n\n", "properties": { "accountId": { "type": "string", @@ -186993,7 +190811,7 @@ } }, "alicloud:fc/functionAsyncInvokeConfig:FunctionAsyncInvokeConfig": { - "description": "Manages an asynchronous invocation configuration for a FC Function or Alias. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-putfunctionasyncinvokeconfig).\n\n\u003e **NOTE:** Available since v1.100.0.\n\n## Example Usage\n\n### Destination Configuration\n\n\u003e **NOTE** Ensure the FC Function RAM Role has necessary permissions for the destination, such as `mns:SendMessage`, `mns:PublishMessage` or `fc:InvokeFunction`, otherwise the API will return a generic error.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `examplerole${defaultInteger.result}`,\n document: `\\\\t{\n\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t {\n\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t \\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"fc.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t ]\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t }\n\\\\t\\\\t],\n\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t}\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultPolicy = new alicloud.ram.Policy(\"default\", {\n policyName: `examplepolicy${defaultInteger.result}`,\n policyDocument: `\\\\t{\n\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\",\n\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t {\n\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"mns:*\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": \\\\\"*\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\"\n\\\\t\\\\t }\n\\\\t\\\\t]\n\\\\t }\n`,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: defaultPolicy.policyName,\n policyType: \"Custom\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: `terraform-example-${defaultInteger.result}`});\nconst defaultTopic = new alicloud.mns.Topic(\"default\", {name: `terraform-example-${defaultInteger.result}`});\nconst defaultFunctionAsyncInvokeConfig = new alicloud.fc.FunctionAsyncInvokeConfig(\"default\", {\n serviceName: defaultService.name,\n functionName: defaultFunction.name,\n destinationConfig: {\n onFailure: {\n destination: pulumi.all([defaultGetRegions, _default, defaultQueue.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/queues/${name}/messages`),\n },\n onSuccess: {\n destination: pulumi.all([defaultGetRegions, _default, defaultTopic.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/topics/${name}/messages`),\n },\n },\n maximumEventAgeInSeconds: 60,\n maximumRetryAttempts: 0,\n statefulInvocation: true,\n qualifier: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"examplerole{default_integer['result']}\",\n document=\"\"\"\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_policy = alicloud.ram.Policy(\"default\",\n policy_name=f\"examplepolicy{default_integer['result']}\",\n policy_document=\"\"\"\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n\"\"\")\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=default_policy.policy_name,\n policy_type=\"Custom\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_queue = alicloud.mns.Queue(\"default\", name=f\"terraform-example-{default_integer['result']}\")\ndefault_topic = alicloud.mns.Topic(\"default\", name=f\"terraform-example-{default_integer['result']}\")\ndefault_function_async_invoke_config = alicloud.fc.FunctionAsyncInvokeConfig(\"default\",\n service_name=default_service.name,\n function_name=default_function.name,\n destination_config={\n \"on_failure\": {\n \"destination\": default_queue.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/queues/{name}/messages\"),\n },\n \"on_success\": {\n \"destination\": default_topic.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/topics/{name}/messages\"),\n },\n },\n maximum_event_age_in_seconds=60,\n maximum_retry_attempts=0,\n stateful_invocation=True,\n qualifier=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"examplerole{defaultInteger.Result}\",\n Document = @\"\\t{\n\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t {\n\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t \\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\\"\"fc.aliyuncs.com\\\"\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t}\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultPolicy = new AliCloud.Ram.Policy(\"default\", new()\n {\n PolicyName = $\"examplepolicy{defaultInteger.Result}\",\n PolicyDocument = @\"\\t{\n\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\",\n\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t {\n\\t\\t\\t\\\"\"Action\\\"\": \\\"\"mns:*\\\"\",\n\\t\\t\\t\\\"\"Resource\\\"\": \\\"\"*\\\"\",\n\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\"\n\\t\\t }\n\\t\\t]\n\\t }\n\",\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = defaultPolicy.PolicyName,\n PolicyType = \"Custom\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultTopic = new AliCloud.Mns.Topic(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultFunctionAsyncInvokeConfig = new AliCloud.FC.FunctionAsyncInvokeConfig(\"default\", new()\n {\n ServiceName = defaultService.Name,\n FunctionName = defaultFunction.Name,\n DestinationConfig = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigArgs\n {\n OnFailure = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = Output.Tuple(defaultGetRegions, @default, defaultQueue.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/queues/{name}/messages\";\n }),\n },\n OnSuccess = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = Output.Tuple(defaultGetRegions, @default, defaultTopic.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/topics/{name}/messages\";\n }),\n },\n },\n MaximumEventAgeInSeconds = 60,\n MaximumRetryAttempts = 0,\n StatefulInvocation = true,\n Qualifier = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"examplerole%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(`\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPolicy, err := ram.NewPolicy(ctx, \"default\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"examplepolicy%v\", defaultInteger.Result),\n\t\t\tPolicyDocument: pulumi.String(`\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: defaultPolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := mns.NewTopic(ctx, \"default\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewFunctionAsyncInvokeConfig(ctx, \"default\", \u0026fc.FunctionAsyncInvokeConfigArgs{\n\t\t\tServiceName: defaultService.Name,\n\t\t\tFunctionName: defaultFunction.Name,\n\t\t\tDestinationConfig: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: defaultQueue.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/queues/%v/messages\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: defaultTopic.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/topics/%v/messages\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaximumEventAgeInSeconds: pulumi.Int(60),\n\t\t\tMaximumRetryAttempts: pulumi.Int(0),\n\t\t\tStatefulInvocation: pulumi.Bool(true),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.fc.FunctionAsyncInvokeConfig;\nimport com.pulumi.alicloud.fc.FunctionAsyncInvokeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"examplerole%s\", defaultInteger.result()))\n .document(\"\"\"\n\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultPolicy = new Policy(\"defaultPolicy\", PolicyArgs.builder()\n .policyName(String.format(\"examplepolicy%s\", defaultInteger.result()))\n .policyDocument(\"\"\"\n\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n \"\"\")\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(defaultPolicy.policyName())\n .policyType(\"Custom\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultFunctionAsyncInvokeConfig = new FunctionAsyncInvokeConfig(\"defaultFunctionAsyncInvokeConfig\", FunctionAsyncInvokeConfigArgs.builder()\n .serviceName(defaultService.name())\n .functionName(defaultFunction.name())\n .destinationConfig(FunctionAsyncInvokeConfigDestinationConfigArgs.builder()\n .onFailure(FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(defaultQueue.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/queues/%s/messages\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .build())\n .onSuccess(FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(defaultTopic.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/topics/%s/messages\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .build())\n .build())\n .maximumEventAgeInSeconds(60)\n .maximumRetryAttempts(0)\n .statefulInvocation(true)\n .qualifier(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: examplerole${defaultInteger.result}\n document: |\n \\t{\n \\t\\t\\\"Statement\\\": [\n \\t\\t {\n \\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\\"Principal\\\": {\n \\t\\t\\t \\\"Service\\\": [\n \\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n \\t\\t\\t ]\n \\t\\t\\t}\n \\t\\t }\n \\t\\t],\n \\t\\t\\\"Version\\\": \\\"1\\\"\n \\t}\n description: this is a example\n force: true\n defaultPolicy:\n type: alicloud:ram:Policy\n name: default\n properties:\n policyName: examplepolicy${defaultInteger.result}\n policyDocument: |\n \\t{\n \\t\\t\\\"Version\\\": \\\"1\\\",\n \\t\\t\\\"Statement\\\": [\n \\t\\t {\n \\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n \\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n \\t\\t }\n \\t\\t]\n \\t }\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: ${defaultPolicy.policyName}\n policyType: Custom\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n role: ${defaultRole.arn}\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n defaultTopic:\n type: alicloud:mns:Topic\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n defaultFunctionAsyncInvokeConfig:\n type: alicloud:fc:FunctionAsyncInvokeConfig\n name: default\n properties:\n serviceName: ${defaultService.name}\n functionName: ${defaultFunction.name}\n destinationConfig:\n onFailure:\n destination: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/queues/${defaultQueue.name}/messages\n onSuccess:\n destination: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/topics/${defaultTopic.name}/messages\n maximumEventAgeInSeconds: 60\n maximumRetryAttempts: 0 # Async Job Configuration\n statefulInvocation: true # Configuration for Function Latest Unpublished Version\n qualifier: LATEST\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Compute Function Async Invoke Configs can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/functionAsyncInvokeConfig:FunctionAsyncInvokeConfig example my_function\n```\n\n", + "description": "Manages an asynchronous invocation configuration for a FC Function or Alias. \n For the detailed information, please refer to the [developer guide](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-putfunctionasyncinvokeconfig).\n\n\u003e **NOTE:** Available since v1.100.0.\n\n## Example Usage\n\n### Destination Configuration\n\n\u003e **NOTE** Ensure the FC Function RAM Role has necessary permissions for the destination, such as `mns:SendMessage`, `mns:PublishMessage` or `fc:InvokeFunction`, otherwise the API will return a generic error.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `examplerole${defaultInteger.result}`,\n document: `\\\\t{\n\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t {\n\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t \\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"fc.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t ]\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t }\n\\\\t\\\\t],\n\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t}\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultPolicy = new alicloud.ram.Policy(\"default\", {\n policyName: `examplepolicy${defaultInteger.result}`,\n policyDocument: `\\\\t{\n\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\",\n\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t {\n\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"mns:*\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": \\\\\"*\\\\\",\n\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\"\n\\\\t\\\\t }\n\\\\t\\\\t]\n\\\\t }\n`,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: defaultPolicy.policyName,\n policyType: \"Custom\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultQueue = new alicloud.mns.Queue(\"default\", {name: `terraform-example-${defaultInteger.result}`});\nconst defaultTopic = new alicloud.mns.Topic(\"default\", {name: `terraform-example-${defaultInteger.result}`});\nconst defaultFunctionAsyncInvokeConfig = new alicloud.fc.FunctionAsyncInvokeConfig(\"default\", {\n serviceName: defaultService.name,\n functionName: defaultFunction.name,\n destinationConfig: {\n onFailure: {\n destination: pulumi.all([defaultGetRegions, _default, defaultQueue.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/queues/${name}/messages`),\n },\n onSuccess: {\n destination: pulumi.all([defaultGetRegions, _default, defaultTopic.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/topics/${name}/messages`),\n },\n },\n maximumEventAgeInSeconds: 60,\n maximumRetryAttempts: 0,\n statefulInvocation: true,\n qualifier: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"examplerole{default_integer['result']}\",\n document=\"\"\"\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_policy = alicloud.ram.Policy(\"default\",\n policy_name=f\"examplepolicy{default_integer['result']}\",\n policy_document=\"\"\"\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n\"\"\")\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=default_policy.policy_name,\n policy_type=\"Custom\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_queue = alicloud.mns.Queue(\"default\", name=f\"terraform-example-{default_integer['result']}\")\ndefault_topic = alicloud.mns.Topic(\"default\", name=f\"terraform-example-{default_integer['result']}\")\ndefault_function_async_invoke_config = alicloud.fc.FunctionAsyncInvokeConfig(\"default\",\n service_name=default_service.name,\n function_name=default_function.name,\n destination_config={\n \"on_failure\": {\n \"destination\": default_queue.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/queues/{name}/messages\"),\n },\n \"on_success\": {\n \"destination\": default_topic.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/topics/{name}/messages\"),\n },\n },\n maximum_event_age_in_seconds=60,\n maximum_retry_attempts=0,\n stateful_invocation=True,\n qualifier=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"examplerole{defaultInteger.Result}\",\n Document = @\"\\t{\n\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t {\n\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t \\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\\"\"fc.aliyuncs.com\\\"\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t}\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultPolicy = new AliCloud.Ram.Policy(\"default\", new()\n {\n PolicyName = $\"examplepolicy{defaultInteger.Result}\",\n PolicyDocument = @\"\\t{\n\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\",\n\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t {\n\\t\\t\\t\\\"\"Action\\\"\": \\\"\"mns:*\\\"\",\n\\t\\t\\t\\\"\"Resource\\\"\": \\\"\"*\\\"\",\n\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\"\n\\t\\t }\n\\t\\t]\n\\t }\n\",\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = defaultPolicy.PolicyName,\n PolicyType = \"Custom\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultQueue = new AliCloud.Mns.Queue(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultTopic = new AliCloud.Mns.Topic(\"default\", new()\n {\n Name = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultFunctionAsyncInvokeConfig = new AliCloud.FC.FunctionAsyncInvokeConfig(\"default\", new()\n {\n ServiceName = defaultService.Name,\n FunctionName = defaultFunction.Name,\n DestinationConfig = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigArgs\n {\n OnFailure = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = Output.Tuple(defaultGetRegions, @default, defaultQueue.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/queues/{name}/messages\";\n }),\n },\n OnSuccess = new AliCloud.FC.Inputs.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = Output.Tuple(defaultGetRegions, @default, defaultTopic.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/topics/{name}/messages\";\n }),\n },\n },\n MaximumEventAgeInSeconds = 60,\n MaximumRetryAttempts = 0,\n StatefulInvocation = true,\n Qualifier = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"examplerole%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(`\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPolicy, err := ram.NewPolicy(ctx, \"default\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"examplepolicy%v\", defaultInteger.Result),\n\t\t\tPolicyDocument: pulumi.String(`\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: defaultPolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := mns.NewQueue(ctx, \"default\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := mns.NewTopic(ctx, \"default\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewFunctionAsyncInvokeConfig(ctx, \"default\", \u0026fc.FunctionAsyncInvokeConfigArgs{\n\t\t\tServiceName: defaultService.Name,\n\t\t\tFunctionName: defaultFunction.Name,\n\t\t\tDestinationConfig: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: defaultQueue.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/queues/%v/messages\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026fc.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: defaultTopic.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/topics/%v/messages\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaximumEventAgeInSeconds: pulumi.Int(60),\n\t\t\tMaximumRetryAttempts: pulumi.Int(0),\n\t\t\tStatefulInvocation: pulumi.Bool(true),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.fc.FunctionAsyncInvokeConfig;\nimport com.pulumi.alicloud.fc.FunctionAsyncInvokeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.alicloud.fc.inputs.FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"examplerole%s\", defaultInteger.result()))\n .document(\"\"\"\n\\t{\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t \\\"Service\\\": [\n\\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t }\n\\t\\t],\n\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t}\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultPolicy = new Policy(\"defaultPolicy\", PolicyArgs.builder()\n .policyName(String.format(\"examplepolicy%s\", defaultInteger.result()))\n .policyDocument(\"\"\"\n\\t{\n\\t\\t\\\"Version\\\": \\\"1\\\",\n\\t\\t\\\"Statement\\\": [\n\\t\\t {\n\\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n\\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n\\t\\t }\n\\t\\t]\n\\t }\n \"\"\")\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(defaultPolicy.policyName())\n .policyType(\"Custom\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultFunctionAsyncInvokeConfig = new FunctionAsyncInvokeConfig(\"defaultFunctionAsyncInvokeConfig\", FunctionAsyncInvokeConfigArgs.builder()\n .serviceName(defaultService.name())\n .functionName(defaultFunction.name())\n .destinationConfig(FunctionAsyncInvokeConfigDestinationConfigArgs.builder()\n .onFailure(FunctionAsyncInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(defaultQueue.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/queues/%s/messages\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .build())\n .onSuccess(FunctionAsyncInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(defaultTopic.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/topics/%s/messages\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .build())\n .build())\n .maximumEventAgeInSeconds(60)\n .maximumRetryAttempts(0)\n .statefulInvocation(true)\n .qualifier(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: examplerole${defaultInteger.result}\n document: |\n \\t{\n \\t\\t\\\"Statement\\\": [\n \\t\\t {\n \\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\\"Principal\\\": {\n \\t\\t\\t \\\"Service\\\": [\n \\t\\t\\t\\t\\\"fc.aliyuncs.com\\\"\n \\t\\t\\t ]\n \\t\\t\\t}\n \\t\\t }\n \\t\\t],\n \\t\\t\\\"Version\\\": \\\"1\\\"\n \\t}\n description: this is a example\n force: true\n defaultPolicy:\n type: alicloud:ram:Policy\n name: default\n properties:\n policyName: examplepolicy${defaultInteger.result}\n policyDocument: |\n \\t{\n \\t\\t\\\"Version\\\": \\\"1\\\",\n \\t\\t\\\"Statement\\\": [\n \\t\\t {\n \\t\\t\\t\\\"Action\\\": \\\"mns:*\\\",\n \\t\\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\t\\\"Effect\\\": \\\"Allow\\\"\n \\t\\t }\n \\t\\t]\n \\t }\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: ${defaultPolicy.policyName}\n policyType: Custom\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n role: ${defaultRole.arn}\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultQueue:\n type: alicloud:mns:Queue\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n defaultTopic:\n type: alicloud:mns:Topic\n name: default\n properties:\n name: terraform-example-${defaultInteger.result}\n defaultFunctionAsyncInvokeConfig:\n type: alicloud:fc:FunctionAsyncInvokeConfig\n name: default\n properties:\n serviceName: ${defaultService.name}\n functionName: ${defaultFunction.name}\n destinationConfig:\n onFailure:\n destination: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/queues/${defaultQueue.name}/messages\n onSuccess:\n destination: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/topics/${defaultTopic.name}/messages\n maximumEventAgeInSeconds: 60\n maximumRetryAttempts: 0 # Async Job Configuration\n statefulInvocation: true # Configuration for Function Latest Unpublished Version\n qualifier: LATEST\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFunction Compute Function Async Invoke Configs can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/functionAsyncInvokeConfig:FunctionAsyncInvokeConfig example my_function\n```\n\n", "properties": { "createdTime": { "type": "string", @@ -187122,7 +190940,7 @@ } }, "alicloud:fc/layerVersion:LayerVersion": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst example = new alicloud.fc.LayerVersion(\"example\", {\n layerName: `terraform-example-${_default.result}`,\n compatibleRuntimes: [\"python2.7\"],\n ossBucketName: defaultBucket.bucket,\n ossObjectName: defaultBucketObject.key,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\nexample = alicloud.fc.LayerVersion(\"example\",\n layer_name=f\"terraform-example-{default['result']}\",\n compatible_runtimes=[\"python2.7\"],\n oss_bucket_name=default_bucket.bucket,\n oss_object_name=default_bucket_object.key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var example = new AliCloud.FC.LayerVersion(\"example\", new()\n {\n LayerName = $\"terraform-example-{@default.Result}\",\n CompatibleRuntimes = new[]\n {\n \"python2.7\",\n },\n OssBucketName = defaultBucket.BucketName,\n OssObjectName = defaultBucketObject.Key,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewLayerVersion(ctx, \"example\", \u0026fc.LayerVersionArgs{\n\t\t\tLayerName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tCompatibleRuntimes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"python2.7\"),\n\t\t\t},\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssObjectName: defaultBucketObject.Key,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.LayerVersion;\nimport com.pulumi.alicloud.fc.LayerVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var example = new LayerVersion(\"example\", LayerVersionArgs.builder()\n .layerName(String.format(\"terraform-example-%s\", default_.result()))\n .compatibleRuntimes(\"python2.7\")\n .ossBucketName(defaultBucket.bucket())\n .ossObjectName(defaultBucketObject.key())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n example:\n type: alicloud:fc:LayerVersion\n properties:\n layerName: terraform-example-${default.result}\n compatibleRuntimes:\n - python2.7\n ossBucketName: ${defaultBucket.bucket}\n ossObjectName: ${defaultBucketObject.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Compute Layer Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/layerVersion:LayerVersion example my_function\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst example = new alicloud.fc.LayerVersion(\"example\", {\n layerName: `terraform-example-${_default.result}`,\n compatibleRuntimes: [\"python2.7\"],\n ossBucketName: defaultBucket.bucket,\n ossObjectName: defaultBucketObject.key,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\nexample = alicloud.fc.LayerVersion(\"example\",\n layer_name=f\"terraform-example-{default['result']}\",\n compatible_runtimes=[\"python2.7\"],\n oss_bucket_name=default_bucket.bucket,\n oss_object_name=default_bucket_object.key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var example = new AliCloud.FC.LayerVersion(\"example\", new()\n {\n LayerName = $\"terraform-example-{@default.Result}\",\n CompatibleRuntimes = new[]\n {\n \"python2.7\",\n },\n OssBucketName = defaultBucket.BucketName,\n OssObjectName = defaultBucketObject.Key,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewLayerVersion(ctx, \"example\", \u0026fc.LayerVersionArgs{\n\t\t\tLayerName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tCompatibleRuntimes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"python2.7\"),\n\t\t\t},\n\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\tOssObjectName: defaultBucketObject.Key,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.LayerVersion;\nimport com.pulumi.alicloud.fc.LayerVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var example = new LayerVersion(\"example\", LayerVersionArgs.builder()\n .layerName(String.format(\"terraform-example-%s\", default_.result()))\n .compatibleRuntimes(\"python2.7\")\n .ossBucketName(defaultBucket.bucket())\n .ossObjectName(defaultBucketObject.key())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n example:\n type: alicloud:fc:LayerVersion\n properties:\n layerName: terraform-example-${default.result}\n compatibleRuntimes:\n - python2.7\n ossBucketName: ${defaultBucket.bucket}\n ossObjectName: ${defaultBucketObject.key}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFunction Compute Layer Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/layerVersion:LayerVersion example my_function\n```\n\n", "properties": { "acl": { "type": "string", @@ -187472,7 +191290,7 @@ } }, "alicloud:fc/trigger:Trigger": { - "description": "Provides an Alicloud Function Compute Trigger resource. Based on trigger, execute your code in response to events in Alibaba Cloud.\n For information about Service and how to use it, see [What is Function Compute](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-createtrigger).\n\n\u003e **NOTE:** The resource requires a provider field 'account_id'. See account_id.\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: `example-value-${defaultInteger.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-value\",\n});\nconst sourceStore = new alicloud.log.Store(\"source_store\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-source-store\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fc.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunLogFullAccess\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n logConfig: {\n project: defaultProject.projectName,\n logstore: defaultStore.logstoreName,\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n },\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: pulumi.all([defaultGetRegions, _default, defaultProject.projectName]).apply(([defaultGetRegions, _default, projectName]) =\u003e `acs:log:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:project/${projectName}`),\n type: \"log\",\n config: pulumi.interpolate` {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"${sourceStore.logstoreName}\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"${defaultProject.projectName}\\\",\n \\\"logstore\\\": \\\"${defaultStore.logstoreName}\\\"\n },\n \\\"enable\\\": true\n }\n \n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", project_name=f\"example-value-{default_integer['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=\"example-value\")\nsource_store = alicloud.log.Store(\"source_store\",\n project_name=default_project.project_name,\n logstore_name=\"example-source-store\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunLogFullAccess\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n log_config={\n \"project\": default_project.project_name,\n \"logstore\": default_store.logstore_name,\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n })\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=default_project.project_name.apply(lambda project_name: f\"acs:log:{default_get_regions.regions[0].id}:{default.id}:project/{project_name}\"),\n type=\"log\",\n config=pulumi.Output.all(\n sourceStoreLogstore_name=source_store.logstore_name,\n project_name=default_project.project_name,\n defaultStoreLogstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"\"\" {{\n \\\"sourceConfig\\\": {{\n \\\"logstore\\\": \\\"{resolved_outputs['sourceStoreLogstore_name']}\\\",\n \\\"startTime\\\": null\n }},\n \\\"jobConfig\\\": {{\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n }},\n \\\"functionParameter\\\": {{\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n }},\n \\\"logConfig\\\": {{\n \\\"project\\\": \\\"{resolved_outputs['project_name']}\\\",\n \\\"logstore\\\": \\\"{resolved_outputs['defaultStoreLogstore_name']}\\\"\n }},\n \\\"enable\\\": true\n }}\n \n\"\"\")\n)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-value\",\n });\n\n var sourceStore = new AliCloud.Log.Store(\"source_store\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-source-store\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fc.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunLogFullAccess\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n LogConfig = new AliCloud.FC.Inputs.ServiceLogConfigArgs\n {\n Project = defaultProject.ProjectName,\n Logstore = defaultStore.LogstoreName,\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n },\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = Output.Tuple(defaultGetRegions, @default, defaultProject.ProjectName).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var projectName = values.Item3;\n return $\"acs:log:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}\";\n }),\n Type = \"log\",\n Config = Output.Tuple(sourceStore.LogstoreName, defaultProject.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var sourceStoreLogstoreName = values.Item1;\n var projectName = values.Item2;\n var defaultStoreLogstoreName = values.Item3;\n return @$\" {{\n \\\"\"sourceConfig\\\"\": {{\n \\\"\"logstore\\\"\": \\\"\"{sourceStoreLogstoreName}\\\"\",\n \\\"\"startTime\\\"\": null\n }},\n \\\"\"jobConfig\\\"\": {{\n \\\"\"maxRetryTime\\\"\": 3,\n \\\"\"triggerInterval\\\"\": 60\n }},\n \\\"\"functionParameter\\\"\": {{\n \\\"\"a\\\"\": \\\"\"b\\\"\",\n \\\"\"c\\\"\": \\\"\"d\\\"\"\n }},\n \\\"\"logConfig\\\"\": {{\n \\\"\"project\\\"\": \\\"\"{projectName}\\\"\",\n \\\"\"logstore\\\"\": \\\"\"{defaultStoreLogstoreName}\\\"\"\n }},\n \\\"\"enable\\\"\": true\n }}\n \n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceStore, err := log.NewStore(ctx, \"source_store\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-source-store\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunLogFullAccess\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tLogConfig: \u0026fc.ServiceLogConfigArgs{\n\t\t\t\tProject: defaultProject.ProjectName,\n\t\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: 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\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", defaultGetRegions.Regions[0].Id, _default.Id, projectName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(\"log\"),\n\t\t\tConfig: pulumi.All(sourceStore.LogstoreName, defaultProject.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceStoreLogstoreName := _args[0].(string)\n\t\t\t\tprojectName := _args[1].(string)\n\t\t\t\tdefaultStoreLogstoreName := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(` {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"%v\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"%v\\\",\n \\\"logstore\\\": \\\"%v\\\"\n },\n \\\"enable\\\": true\n }\n \n`, sourceStoreLogstoreName, projectName, defaultStoreLogstoreName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.inputs.ServiceLogConfigArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-value\")\n .build());\n\n var sourceStore = new Store(\"sourceStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-source-store\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunLogFullAccess\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .logConfig(ServiceLogConfigArgs.builder()\n .project(defaultProject.projectName())\n .logstore(defaultStore.logstoreName())\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .build())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(defaultProject.projectName().applyValue(_projectName -\u003e String.format(\"acs:log:%s:%s:project/%s\", defaultGetRegions.regions()[0].id(),default_.id(),_projectName)))\n .type(\"log\")\n .config(Output.tuple(sourceStore.logstoreName(), defaultProject.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var sourceStoreLogstoreName = values.t1;\n var projectName = values.t2;\n var defaultStoreLogstoreName = values.t3;\n return \"\"\"\n {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"%s\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"%s\\\",\n \\\"logstore\\\": \\\"%s\\\"\n },\n \\\"enable\\\": true\n }\n \n\", sourceStoreLogstoreName,projectName,defaultStoreLogstoreName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: example-value-${defaultInteger.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-value\n sourceStore:\n type: alicloud:log:Store\n name: source_store\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-source-store\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunLogFullAccess\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n role: ${defaultRole.arn}\n logConfig:\n project: ${defaultProject.projectName}\n logstore: ${defaultStore.logstoreName}\n enableInstanceMetrics: true\n enableRequestMetrics: true\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:log:${defaultGetRegions.regions[0].id}:${default.id}:project/${defaultProject.projectName}\n type: log\n config: \" {\\n \\\\\\\"sourceConfig\\\\\\\": {\\n \\\\\\\"logstore\\\\\\\": \\\\\\\"${sourceStore.logstoreName}\\\\\\\",\\n \\\\\\\"startTime\\\\\\\": null\\n },\\n \\\\\\\"jobConfig\\\\\\\": {\\n \\\\\\\"maxRetryTime\\\\\\\": 3,\\n \\\\\\\"triggerInterval\\\\\\\": 60\\n },\\n \\\\\\\"functionParameter\\\\\\\": {\\n \\\\\\\"a\\\\\\\": \\\\\\\"b\\\\\\\",\\n \\\\\\\"c\\\\\\\": \\\\\\\"d\\\\\\\"\\n },\\n \\\\\\\"logConfig\\\\\\\": {\\n \\\\\\\"project\\\\\\\": \\\\\\\"${defaultProject.projectName}\\\\\\\",\\n \\\\\\\"logstore\\\\\\\": \\\\\\\"${defaultStore.logstoreName}\\\\\\\"\\n },\\n \\\\\\\"enable\\\\\\\": true\\n }\\n \\n\"\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMNS topic trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultTopic = new alicloud.mns.Topic(\"default\", {name: `example-value-${defaultInteger.result}`});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"mns.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunMNSNotificationRolePolicy\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: pulumi.all([defaultGetRegions, _default, defaultTopic.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/topics/${name}`),\n type: \"mns_topic\",\n configMns: ` {\n \\\\\"filterTag\\\\\":\\\\\"exampleTag\\\\\",\n \\\\\"notifyContentFormat\\\\\":\\\\\"STREAM\\\\\",\n \\\\\"notifyStrategy\\\\\":\\\\\"BACKOFF_RETRY\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_topic = alicloud.mns.Topic(\"default\", name=f\"example-value-{default_integer['result']}\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunMNSNotificationRolePolicy\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=default_topic.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/topics/{name}\"),\n type=\"mns_topic\",\n config_mns=\"\"\" {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultTopic = new AliCloud.Mns.Topic(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"mns.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunMNSNotificationRolePolicy\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = Output.Tuple(defaultGetRegions, @default, defaultTopic.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/topics/{name}\";\n }),\n Type = \"mns_topic\",\n ConfigMns = @\" {\n \\\"\"filterTag\\\"\":\\\"\"exampleTag\\\"\",\n \\\"\"notifyContentFormat\\\"\":\\\"\"STREAM\\\"\",\n \\\"\"notifyStrategy\\\"\":\\\"\"BACKOFF_RETRY\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := mns.NewTopic(ctx, \"default\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunMNSNotificationRolePolicy\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: defaultTopic.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/topics/%v\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(\"mns_topic\"),\n\t\t\tConfigMns: pulumi.String(` {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunMNSNotificationRolePolicy\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(defaultTopic.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/topics/%s\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .type(\"mns_topic\")\n .configMns(\"\"\"\n {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultTopic:\n type: alicloud:mns:Topic\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunMNSNotificationRolePolicy\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/topics/${defaultTopic.name}\n type: mns_topic\n configMns: |2\n {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCDN events trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n domainName: `example${defaultInteger.result}.tf.com`,\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: 20,\n port: 80,\n weight: 10,\n }],\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"cdn.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultPolicy = new alicloud.ram.Policy(\"default\", {\n policyName: `fcservicepolicy-${defaultInteger.result}`,\n policyDocument: pulumi.interpolate` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/${defaultService.name}/functions/*\\\",\n \\\"acs:fc:*:*:services/${defaultService.name}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: defaultPolicy.policyName,\n policyType: \"Custom\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: _default.then(_default =\u003e `acs:cdn:*:${_default.id}`),\n type: \"cdn_events\",\n config: pulumi.interpolate` {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"${defaultDomainNew.domainName}\\\"]\n }\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n domain_name=f\"example{default_integer['result']}.tf.com\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 10,\n }])\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_policy = alicloud.ram.Policy(\"default\",\n policy_name=f\"fcservicepolicy-{default_integer['result']}\",\n policy_document=pulumi.Output.all(\n defaultServiceName=default_service.name,\n defaultServiceName1=default_service.name\n).apply(lambda resolved_outputs: f\"\"\" {{\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {{\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/{resolved_outputs['defaultServiceName']}/functions/*\\\",\n \\\"acs:fc:*:*:services/{resolved_outputs['defaultServiceName1']}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }}\n ]\n }}\n\"\"\")\n,\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=default_policy.policy_name,\n policy_type=\"Custom\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=f\"acs:cdn:*:{default.id}\",\n type=\"cdn_events\",\n config=default_domain_new.domain_name.apply(lambda domain_name: f\"\"\" {{\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{{\n \\\"domain\\\": [\\\"{domain_name}\\\"]\n }}\n }}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n DomainName = $\"example{defaultInteger.Result}.tf.com\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = 20,\n Port = 80,\n Weight = 10,\n },\n },\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"cdn.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultPolicy = new AliCloud.Ram.Policy(\"default\", new()\n {\n PolicyName = $\"fcservicepolicy-{defaultInteger.Result}\",\n PolicyDocument = Output.Tuple(defaultService.Name, defaultService.Name).Apply(values =\u003e\n {\n var defaultServiceName = values.Item1;\n var defaultServiceName1 = values.Item2;\n return @$\" {{\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {{\n \\\"\"Action\\\"\": [\n \\\"\"fc:InvokeFunction\\\"\"\n ],\n \\\"\"Resource\\\"\": [\n \\\"\"acs:fc:*:*:services/{defaultServiceName}/functions/*\\\"\",\n \\\"\"acs:fc:*:*:services/{defaultServiceName1}.*/functions/*\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\"\n }}\n ]\n }}\n\";\n }),\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = defaultPolicy.PolicyName,\n PolicyType = \"Custom\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = @default.Apply(@default =\u003e $\"acs:cdn:*:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}\"),\n Type = \"cdn_events\",\n Config = defaultDomainNew.DomainName.Apply(domainName =\u003e @$\" {{\\\"\"eventName\\\"\":\\\"\"LogFileCreated\\\"\",\n \\\"\"eventVersion\\\"\":\\\"\"1.0.0\\\"\",\n \\\"\"notes\\\"\":\\\"\"cdn events trigger\\\"\",\n \\\"\"filter\\\"\":{{\n \\\"\"domain\\\"\": [\\\"\"{domainName}\\\"\"]\n }}\n }}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomainNew, err := cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example%v.tf.com\", defaultInteger.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\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\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPolicy, err := ram.NewPolicy(ctx, \"default\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"fcservicepolicy-%v\", defaultInteger.Result),\n\t\t\tPolicyDocument: pulumi.All(defaultService.Name, defaultService.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tdefaultServiceName := _args[0].(string)\n\t\t\t\tdefaultServiceName1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/%v/functions/*\\\",\n \\\"acs:fc:*:*:services/%v.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n`, defaultServiceName, defaultServiceName1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: defaultPolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v\", _default.Id),\n\t\t\tType: pulumi.String(\"cdn_events\"),\n\t\t\tConfig: defaultDomainNew.DomainName.ApplyT(func(domainName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(` {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"%v\\\"]\n }\n }\n`, domainName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .domainName(String.format(\"example%s.tf.com\", defaultInteger.result()))\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainNewSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(20)\n .port(80)\n .weight(10)\n .build())\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultPolicy = new Policy(\"defaultPolicy\", PolicyArgs.builder()\n .policyName(String.format(\"fcservicepolicy-%s\", defaultInteger.result()))\n .policyDocument(Output.tuple(defaultService.name(), defaultService.name()).applyValue(values -\u003e {\n var defaultServiceName = values.t1;\n var defaultServiceName1 = values.t2;\n return \"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/%s/functions/*\\\",\n \\\"acs:fc:*:*:services/%s.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n\", defaultServiceName,defaultServiceName1);\n }))\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(defaultPolicy.policyName())\n .policyType(\"Custom\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(String.format(\"acs:cdn:*:%s\", default_.id()))\n .type(\"cdn_events\")\n .config(defaultDomainNew.domainName().applyValue(_domainName -\u003e \"\"\"\n {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"%s\\\"]\n }\n }\n\", _domainName)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n domainName: example${defaultInteger.result}.tf.com\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: 20\n port: 80\n weight: 10\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultPolicy:\n type: alicloud:ram:Policy\n name: default\n properties:\n policyName: fcservicepolicy-${defaultInteger.result}\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/${defaultService.name}/functions/*\\\",\n \\\"acs:fc:*:*:services/${defaultService.name}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: ${defaultPolicy.policyName}\n policyType: Custom\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:cdn:*:${default.id}\n type: cdn_events\n config: |2\n {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"${defaultDomainNew.domainName}\\\"]\n }\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEventBridge trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst serviceLinkedRole = new alicloud.eventbridge.ServiceLinkedRole(\"service_linked_role\", {productName: \"AliyunServiceRoleForEventBridgeSendToFC\"});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst ossTrigger = new alicloud.fc.Trigger(\"oss_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-oss\",\n type: \"eventbridge\",\n config: JSON.stringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventSourceConfig: {\n eventSourceType: \"Default\",\n },\n eventRuleFilterPattern: \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst mnsTrigger = new alicloud.fc.Trigger(\"mns_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-mns\",\n type: \"eventbridge\",\n config: JSON.stringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventSourceConfig: {\n eventSourceType: \"MNS\",\n eventSourceParameters: {\n sourceMNSParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n QueueName: \"mns-queue\",\n IsBase64Decode: true,\n },\n },\n },\n eventRuleFilterPattern: \"{}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {\n instanceName: `terraform-example-${defaultInteger.result}`,\n remark: \"terraform-example\",\n});\nconst defaultGroup = new alicloud.rocketmq.Group(\"default\", {\n groupName: \"GID-example\",\n instanceId: defaultInstance.id,\n remark: \"terraform-example\",\n});\nconst defaultTopic = new alicloud.rocketmq.Topic(\"default\", {\n topicName: \"mytopic\",\n instanceId: defaultInstance.id,\n messageType: 0,\n remark: \"terraform-example\",\n});\nconst rocketmqTrigger = new alicloud.fc.Trigger(\"rocketmq_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-rocketmq\",\n type: \"eventbridge\",\n config: pulumi.jsonStringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventRuleFilterPattern: \"{}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n eventSourceConfig: {\n eventSourceType: \"RocketMQ\",\n eventSourceParameters: {\n sourceRocketMQParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n InstanceId: defaultInstance.id,\n GroupID: defaultGroup.groupName,\n Topic: defaultTopic.topicName,\n Timestamp: 1686296162,\n Tag: \"example-tag\",\n Offset: \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst defaultInstance2 = new alicloud.amqp.Instance(\"default\", {\n instanceName: `terraform-example-${defaultInteger.result}`,\n instanceType: \"professional\",\n maxTps: \"1000\",\n queueCapacity: \"50\",\n supportEip: true,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: defaultInstance2.id,\n virtualHostName: \"example-VirtualHost\",\n});\nconst defaultQueue = new alicloud.amqp.Queue(\"default\", {\n instanceId: defaultVirtualHost.instanceId,\n queueName: \"example-queue\",\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst rabbitmqTrigger = new alicloud.fc.Trigger(\"rabbitmq_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-rabbitmq\",\n type: \"eventbridge\",\n config: pulumi.jsonStringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventRuleFilterPattern: \"{}\",\n eventSourceConfig: {\n eventSourceType: \"RabbitMQ\",\n eventSourceParameters: {\n sourceRabbitMQParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n InstanceId: defaultInstance2.id,\n VirtualHostName: defaultVirtualHost.virtualHostName,\n QueueName: defaultQueue.queueName,\n },\n },\n },\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nservice_linked_role = alicloud.eventbridge.ServiceLinkedRole(\"service_linked_role\", product_name=\"AliyunServiceRoleForEventBridgeSendToFC\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\noss_trigger = alicloud.fc.Trigger(\"oss_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-oss\",\n type=\"eventbridge\",\n config=json.dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventSourceConfig\": {\n \"eventSourceType\": \"Default\",\n },\n \"eventRuleFilterPattern\": \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\nmns_trigger = alicloud.fc.Trigger(\"mns_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-mns\",\n type=\"eventbridge\",\n config=json.dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventSourceConfig\": {\n \"eventSourceType\": \"MNS\",\n \"eventSourceParameters\": {\n \"sourceMNSParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"QueueName\": \"mns-queue\",\n \"IsBase64Decode\": True,\n },\n },\n },\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\ndefault_instance = alicloud.rocketmq.Instance(\"default\",\n instance_name=f\"terraform-example-{default_integer['result']}\",\n remark=\"terraform-example\")\ndefault_group = alicloud.rocketmq.Group(\"default\",\n group_name=\"GID-example\",\n instance_id=default_instance.id,\n remark=\"terraform-example\")\ndefault_topic = alicloud.rocketmq.Topic(\"default\",\n topic_name=\"mytopic\",\n instance_id=default_instance.id,\n message_type=0,\n remark=\"terraform-example\")\nrocketmq_trigger = alicloud.fc.Trigger(\"rocketmq_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-rocketmq\",\n type=\"eventbridge\",\n config=pulumi.Output.json_dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"eventSourceConfig\": {\n \"eventSourceType\": \"RocketMQ\",\n \"eventSourceParameters\": {\n \"sourceRocketMQParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"InstanceId\": default_instance.id,\n \"GroupID\": default_group.group_name,\n \"Topic\": default_topic.topic_name,\n \"Timestamp\": 1686296162,\n \"Tag\": \"example-tag\",\n \"Offset\": \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\ndefault_instance2 = alicloud.amqp.Instance(\"default\",\n instance_name=f\"terraform-example-{default_integer['result']}\",\n instance_type=\"professional\",\n max_tps=\"1000\",\n queue_capacity=\"50\",\n support_eip=True,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default_instance2.id,\n virtual_host_name=\"example-VirtualHost\")\ndefault_queue = alicloud.amqp.Queue(\"default\",\n instance_id=default_virtual_host.instance_id,\n queue_name=\"example-queue\",\n virtual_host_name=default_virtual_host.virtual_host_name)\nrabbitmq_trigger = alicloud.fc.Trigger(\"rabbitmq_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-rabbitmq\",\n type=\"eventbridge\",\n config=pulumi.Output.json_dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSourceConfig\": {\n \"eventSourceType\": \"RabbitMQ\",\n \"eventSourceParameters\": {\n \"sourceRabbitMQParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"InstanceId\": default_instance2.id,\n \"VirtualHostName\": default_virtual_host.virtual_host_name,\n \"QueueName\": default_queue.queue_name,\n },\n },\n },\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var serviceLinkedRole = new AliCloud.EventBridge.ServiceLinkedRole(\"service_linked_role\", new()\n {\n ProductName = \"AliyunServiceRoleForEventBridgeSendToFC\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var ossTrigger = new AliCloud.FC.Trigger(\"oss_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-oss\",\n Type = \"eventbridge\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"Default\",\n },\n [\"eventRuleFilterPattern\"] = \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n }),\n });\n\n var mnsTrigger = new AliCloud.FC.Trigger(\"mns_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-mns\",\n Type = \"eventbridge\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"MNS\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceMNSParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"QueueName\"] = \"mns-queue\",\n [\"IsBase64Decode\"] = true,\n },\n },\n },\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n }),\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"terraform-example-{defaultInteger.Result}\",\n Remark = \"terraform-example\",\n });\n\n var defaultGroup = new AliCloud.RocketMQ.Group(\"default\", new()\n {\n GroupName = \"GID-example\",\n InstanceId = defaultInstance.Id,\n Remark = \"terraform-example\",\n });\n\n var defaultTopic = new AliCloud.RocketMQ.Topic(\"default\", new()\n {\n TopicName = \"mytopic\",\n InstanceId = defaultInstance.Id,\n MessageType = 0,\n Remark = \"terraform-example\",\n });\n\n var rocketmqTrigger = new AliCloud.FC.Trigger(\"rocketmq_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-rocketmq\",\n Type = \"eventbridge\",\n Config = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"RocketMQ\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceRocketMQParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"InstanceId\"] = defaultInstance.Id,\n [\"GroupID\"] = defaultGroup.GroupName,\n [\"Topic\"] = defaultTopic.TopicName,\n [\"Timestamp\"] = 1686296162,\n [\"Tag\"] = \"example-tag\",\n [\"Offset\"] = \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n })),\n });\n\n var defaultInstance2 = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceName = $\"terraform-example-{defaultInteger.Result}\",\n InstanceType = \"professional\",\n MaxTps = \"1000\",\n QueueCapacity = \"50\",\n SupportEip = true,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = defaultInstance2.Id,\n VirtualHostName = \"example-VirtualHost\",\n });\n\n var defaultQueue = new AliCloud.Amqp.Queue(\"default\", new()\n {\n InstanceId = defaultVirtualHost.InstanceId,\n QueueName = \"example-queue\",\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var rabbitmqTrigger = new AliCloud.FC.Trigger(\"rabbitmq_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-rabbitmq\",\n Type = \"eventbridge\",\n Config = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"RabbitMQ\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceRabbitMQParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"InstanceId\"] = defaultInstance2.Id,\n [\"VirtualHostName\"] = defaultVirtualHost.VirtualHostName,\n [\"QueueName\"] = defaultQueue.QueueName,\n },\n },\n },\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewServiceLinkedRole(ctx, \"service_linked_role\", \u0026eventbridge.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForEventBridgeSendToFC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\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\"triggerEnable\": false,\n\t\t\t\"asyncInvocationType\": false,\n\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\"eventSourceType\": \"Default\",\n\t\t\t},\n\t\t\t\"eventRuleFilterPattern\": \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t},\n\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\"mode\": \"event-driven\",\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 = fc.NewTrigger(ctx, \"oss_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-oss\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"triggerEnable\": false,\n\t\t\t\"asyncInvocationType\": false,\n\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\"eventSourceType\": \"MNS\",\n\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\"sourceMNSParameters\": map[string]interface{}{\n\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\"QueueName\": \"mns-queue\",\n\t\t\t\t\t\t\"IsBase64Decode\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t},\n\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = fc.NewTrigger(ctx, \"mns_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-mns\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGroup, err := rocketmq.NewGroup(ctx, \"default\", \u0026rocketmq.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"GID-example\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := rocketmq.NewTopic(ctx, \"default\", \u0026rocketmq.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"mytopic\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMessageType: pulumi.Int(0),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"rocketmq_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-rocketmq\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.All(defaultInstance.ID(), defaultGroup.GroupName, defaultTopic.TopicName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tgroupName := _args[1].(string)\n\t\t\t\ttopicName := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"triggerEnable\": false,\n\t\t\t\t\t\"asyncInvocationType\": false,\n\t\t\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"eventSourceType\": \"RocketMQ\",\n\t\t\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sourceRocketMQParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\t\t\"InstanceId\": id,\n\t\t\t\t\t\t\t\t\"GroupID\": groupName,\n\t\t\t\t\t\t\t\t\"Topic\": topicName,\n\t\t\t\t\t\t\t\t\"Timestamp\": 1686296162,\n\t\t\t\t\t\t\t\t\"Tag\": \"example-tag\",\n\t\t\t\t\t\t\t\t\"Offset\": \"CONSUME_FROM_LAST_OFFSET\",\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\"runOptions\": map[string]interface{}{\n\t\t\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\t\t\"mode\": \"event-driven\",\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\tjson2 := string(tmpJSON2)\n\t\t\t\treturn json2, 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\tdefaultInstance2, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tInstanceType: pulumi.String(\"professional\"),\n\t\t\tMaxTps: pulumi.String(\"1000\"),\n\t\t\tQueueCapacity: pulumi.String(\"50\"),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: defaultInstance2.ID(),\n\t\t\tVirtualHostName: pulumi.String(\"example-VirtualHost\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := amqp.NewQueue(ctx, \"default\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: defaultVirtualHost.InstanceId,\n\t\t\tQueueName: pulumi.String(\"example-queue\"),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"rabbitmq_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-rabbitmq\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.All(defaultInstance2.ID(), defaultVirtualHost.VirtualHostName, defaultQueue.QueueName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tvirtualHostName := _args[1].(string)\n\t\t\t\tqueueName := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"triggerEnable\": false,\n\t\t\t\t\t\"asyncInvocationType\": false,\n\t\t\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"eventSourceType\": \"RabbitMQ\",\n\t\t\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sourceRabbitMQParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\t\t\"InstanceId\": id,\n\t\t\t\t\t\t\t\t\"VirtualHostName\": virtualHostName,\n\t\t\t\t\t\t\t\t\"QueueName\": queueName,\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\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\t\t\"mode\": \"event-driven\",\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\tjson3 := string(tmpJSON3)\n\t\t\t\treturn json3, 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRole;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRoleArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport com.pulumi.alicloud.rocketmq.Group;\nimport com.pulumi.alicloud.rocketmq.GroupArgs;\nimport com.pulumi.alicloud.rocketmq.Topic;\nimport com.pulumi.alicloud.rocketmq.TopicArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\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 default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForEventBridgeSendToFC\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var ossTrigger = new Trigger(\"ossTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-oss\")\n .type(\"eventbridge\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"Default\")\n )),\n jsonProperty(\"eventRuleFilterPattern\", \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n )))\n .build());\n\n var mnsTrigger = new Trigger(\"mnsTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-mns\")\n .type(\"eventbridge\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"MNS\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceMNSParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"QueueName\", \"mns-queue\"),\n jsonProperty(\"IsBase64Decode\", true)\n ))\n ))\n )),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n )))\n .build());\n\n var defaultInstance = new com.pulumi.alicloud.rocketmq.Instance(\"defaultInstance\", com.pulumi.alicloud.rocketmq.InstanceArgs.builder()\n .instanceName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .remark(\"terraform-example\")\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .groupName(\"GID-example\")\n .instanceId(defaultInstance.id())\n .remark(\"terraform-example\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .topicName(\"mytopic\")\n .instanceId(defaultInstance.id())\n .messageType(0)\n .remark(\"terraform-example\")\n .build());\n\n var rocketmqTrigger = new Trigger(\"rocketmqTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-rocketmq\")\n .type(\"eventbridge\")\n .config(Output.tuple(defaultInstance.id(), defaultGroup.groupName(), defaultTopic.topicName()).applyValue(values -\u003e {\n var id = values.t1;\n var groupName = values.t2;\n var topicName = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"RocketMQ\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceRocketMQParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"InstanceId\", id),\n jsonProperty(\"GroupID\", groupName),\n jsonProperty(\"Topic\", topicName),\n jsonProperty(\"Timestamp\", 1686296162),\n jsonProperty(\"Tag\", \"example-tag\"),\n jsonProperty(\"Offset\", \"CONSUME_FROM_LAST_OFFSET\")\n ))\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n ));\n }))\n .build());\n\n var defaultInstance2 = new com.pulumi.alicloud.amqp.Instance(\"defaultInstance2\", com.pulumi.alicloud.amqp.InstanceArgs.builder()\n .instanceName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .instanceType(\"professional\")\n .maxTps(\"1000\")\n .queueCapacity(\"50\")\n .supportEip(true)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(defaultInstance2.id())\n .virtualHostName(\"example-VirtualHost\")\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .instanceId(defaultVirtualHost.instanceId())\n .queueName(\"example-queue\")\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var rabbitmqTrigger = new Trigger(\"rabbitmqTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-rabbitmq\")\n .type(\"eventbridge\")\n .config(Output.tuple(defaultInstance2.id(), defaultVirtualHost.virtualHostName(), defaultQueue.queueName()).applyValue(values -\u003e {\n var id = values.t1;\n var virtualHostName = values.t2;\n var queueName = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"RabbitMQ\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceRabbitMQParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"InstanceId\", id),\n jsonProperty(\"VirtualHostName\", virtualHostName),\n jsonProperty(\"QueueName\", queueName)\n ))\n ))\n )),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n serviceLinkedRole:\n type: alicloud:eventbridge:ServiceLinkedRole\n name: service_linked_role\n properties:\n productName: AliyunServiceRoleForEventBridgeSendToFC\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n ossTrigger:\n type: alicloud:fc:Trigger\n name: oss_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-oss\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventSourceConfig:\n eventSourceType: Default\n eventRuleFilterPattern: '{\"source\":[\"acs.oss\"],\"type\":[\"oss:BucketCreated:PutBucket\"]}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n mnsTrigger:\n type: alicloud:fc:Trigger\n name: mns_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-mns\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventSourceConfig:\n eventSourceType: MNS\n eventSourceParameters:\n sourceMNSParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n QueueName: mns-queue\n IsBase64Decode: true\n eventRuleFilterPattern: '{}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: terraform-example-${defaultInteger.result}\n remark: terraform-example\n defaultGroup:\n type: alicloud:rocketmq:Group\n name: default\n properties:\n groupName: GID-example\n instanceId: ${defaultInstance.id}\n remark: terraform-example\n defaultTopic:\n type: alicloud:rocketmq:Topic\n name: default\n properties:\n topicName: mytopic\n instanceId: ${defaultInstance.id}\n messageType: 0\n remark: terraform-example\n rocketmqTrigger:\n type: alicloud:fc:Trigger\n name: rocketmq_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-rocketmq\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventRuleFilterPattern: '{}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n eventSourceConfig:\n eventSourceType: RocketMQ\n eventSourceParameters:\n sourceRocketMQParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n InstanceId: ${defaultInstance.id}\n GroupID: ${defaultGroup.groupName}\n Topic: ${defaultTopic.topicName}\n Timestamp: 1.686296162e+09\n Tag: example-tag\n Offset: CONSUME_FROM_LAST_OFFSET\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n defaultInstance2:\n type: alicloud:amqp:Instance\n name: default\n properties:\n instanceName: terraform-example-${defaultInteger.result}\n instanceType: professional\n maxTps: 1000\n queueCapacity: 50\n supportEip: true\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${defaultInstance2.id}\n virtualHostName: example-VirtualHost\n defaultQueue:\n type: alicloud:amqp:Queue\n name: default\n properties:\n instanceId: ${defaultVirtualHost.instanceId}\n queueName: example-queue\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n rabbitmqTrigger:\n type: alicloud:fc:Trigger\n name: rabbitmq_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-rabbitmq\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventRuleFilterPattern: '{}'\n eventSourceConfig:\n eventSourceType: RabbitMQ\n eventSourceParameters:\n sourceRabbitMQParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n InstanceId: ${defaultInstance2.id}\n VirtualHostName: ${defaultVirtualHost.virtualHostName}\n QueueName: ${defaultQueue.queueName}\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing fc module \nto create several triggers quickly.\n\n## Import\n\nFunction Compute trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/trigger:Trigger foo my-fc-service:hello-world:hello-trigger\n```\n\n", + "description": "Provides an Alicloud Function Compute Trigger resource. Based on trigger, execute your code in response to events in Alibaba Cloud.\n For information about Service and how to use it, see [What is Function Compute](https://www.alibabacloud.com/help/en/fc/developer-reference/api-fc-open-2021-04-06-createtrigger).\n\n\u003e **NOTE:** The resource requires a provider field 'account_id'. See account_id.\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: `example-value-${defaultInteger.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-value\",\n});\nconst sourceStore = new alicloud.log.Store(\"source_store\", {\n projectName: defaultProject.projectName,\n logstoreName: \"example-source-store\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fc.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunLogFullAccess\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n role: defaultRole.arn,\n logConfig: {\n project: defaultProject.projectName,\n logstore: defaultStore.logstoreName,\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n },\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: pulumi.all([defaultGetRegions, _default, defaultProject.projectName]).apply(([defaultGetRegions, _default, projectName]) =\u003e `acs:log:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:project/${projectName}`),\n type: \"log\",\n config: pulumi.interpolate` {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"${sourceStore.logstoreName}\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"${defaultProject.projectName}\\\",\n \\\"logstore\\\": \\\"${defaultStore.logstoreName}\\\"\n },\n \\\"enable\\\": true\n }\n \n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", project_name=f\"example-value-{default_integer['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.project_name,\n logstore_name=\"example-value\")\nsource_store = alicloud.log.Store(\"source_store\",\n project_name=default_project.project_name,\n logstore_name=\"example-source-store\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunLogFullAccess\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n role=default_role.arn,\n log_config={\n \"project\": default_project.project_name,\n \"logstore\": default_store.logstore_name,\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n })\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=default_project.project_name.apply(lambda project_name: f\"acs:log:{default_get_regions.regions[0].id}:{default.id}:project/{project_name}\"),\n type=\"log\",\n config=pulumi.Output.all(\n sourceStoreLogstore_name=source_store.logstore_name,\n project_name=default_project.project_name,\n defaultStoreLogstore_name=default_store.logstore_name\n).apply(lambda resolved_outputs: f\"\"\" {{\n \\\"sourceConfig\\\": {{\n \\\"logstore\\\": \\\"{resolved_outputs['sourceStoreLogstore_name']}\\\",\n \\\"startTime\\\": null\n }},\n \\\"jobConfig\\\": {{\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n }},\n \\\"functionParameter\\\": {{\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n }},\n \\\"logConfig\\\": {{\n \\\"project\\\": \\\"{resolved_outputs['project_name']}\\\",\n \\\"logstore\\\": \\\"{resolved_outputs['defaultStoreLogstore_name']}\\\"\n }},\n \\\"enable\\\": true\n }}\n \n\"\"\")\n)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-value\",\n });\n\n var sourceStore = new AliCloud.Log.Store(\"source_store\", new()\n {\n ProjectName = defaultProject.ProjectName,\n LogstoreName = \"example-source-store\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fc.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunLogFullAccess\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n Role = defaultRole.Arn,\n LogConfig = new AliCloud.FC.Inputs.ServiceLogConfigArgs\n {\n Project = defaultProject.ProjectName,\n Logstore = defaultStore.LogstoreName,\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n },\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = Output.Tuple(defaultGetRegions, @default, defaultProject.ProjectName).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var projectName = values.Item3;\n return $\"acs:log:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:project/{projectName}\";\n }),\n Type = \"log\",\n Config = Output.Tuple(sourceStore.LogstoreName, defaultProject.ProjectName, defaultStore.LogstoreName).Apply(values =\u003e\n {\n var sourceStoreLogstoreName = values.Item1;\n var projectName = values.Item2;\n var defaultStoreLogstoreName = values.Item3;\n return @$\" {{\n \\\"\"sourceConfig\\\"\": {{\n \\\"\"logstore\\\"\": \\\"\"{sourceStoreLogstoreName}\\\"\",\n \\\"\"startTime\\\"\": null\n }},\n \\\"\"jobConfig\\\"\": {{\n \\\"\"maxRetryTime\\\"\": 3,\n \\\"\"triggerInterval\\\"\": 60\n }},\n \\\"\"functionParameter\\\"\": {{\n \\\"\"a\\\"\": \\\"\"b\\\"\",\n \\\"\"c\\\"\": \\\"\"d\\\"\"\n }},\n \\\"\"logConfig\\\"\": {{\n \\\"\"project\\\"\": \\\"\"{projectName}\\\"\",\n \\\"\"logstore\\\"\": \\\"\"{defaultStoreLogstoreName}\\\"\"\n }},\n \\\"\"enable\\\"\": true\n }}\n \n\";\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsourceStore, err := log.NewStore(ctx, \"source_store\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-source-store\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunLogFullAccess\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tLogConfig: \u0026fc.ServiceLogConfigArgs{\n\t\t\t\tProject: defaultProject.ProjectName,\n\t\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: 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\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:log:%v:%v:project/%v\", defaultGetRegions.Regions[0].Id, _default.Id, projectName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(\"log\"),\n\t\t\tConfig: pulumi.All(sourceStore.LogstoreName, defaultProject.ProjectName, defaultStore.LogstoreName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tsourceStoreLogstoreName := _args[0].(string)\n\t\t\t\tprojectName := _args[1].(string)\n\t\t\t\tdefaultStoreLogstoreName := _args[2].(string)\n\t\t\t\treturn fmt.Sprintf(` {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"%v\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"%v\\\",\n \\\"logstore\\\": \\\"%v\\\"\n },\n \\\"enable\\\": true\n }\n \n`, sourceStoreLogstoreName, projectName, defaultStoreLogstoreName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.fc.inputs.ServiceLogConfigArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-value\")\n .build());\n\n var sourceStore = new Store(\"sourceStore\", StoreArgs.builder()\n .projectName(defaultProject.projectName())\n .logstoreName(\"example-source-store\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunLogFullAccess\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .role(defaultRole.arn())\n .logConfig(ServiceLogConfigArgs.builder()\n .project(defaultProject.projectName())\n .logstore(defaultStore.logstoreName())\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .build())\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(defaultProject.projectName().applyValue(_projectName -\u003e String.format(\"acs:log:%s:%s:project/%s\", defaultGetRegions.regions()[0].id(),default_.id(),_projectName)))\n .type(\"log\")\n .config(Output.tuple(sourceStore.logstoreName(), defaultProject.projectName(), defaultStore.logstoreName()).applyValue(values -\u003e {\n var sourceStoreLogstoreName = values.t1;\n var projectName = values.t2;\n var defaultStoreLogstoreName = values.t3;\n return \"\"\"\n {\n \\\"sourceConfig\\\": {\n \\\"logstore\\\": \\\"%s\\\",\n \\\"startTime\\\": null\n },\n \\\"jobConfig\\\": {\n \\\"maxRetryTime\\\": 3,\n \\\"triggerInterval\\\": 60\n },\n \\\"functionParameter\\\": {\n \\\"a\\\": \\\"b\\\",\n \\\"c\\\": \\\"d\\\"\n },\n \\\"logConfig\\\": {\n \\\"project\\\": \\\"%s\\\",\n \\\"logstore\\\": \\\"%s\\\"\n },\n \\\"enable\\\": true\n }\n \n\", sourceStoreLogstoreName,projectName,defaultStoreLogstoreName);\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: example-value-${defaultInteger.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-value\n sourceStore:\n type: alicloud:log:Store\n name: source_store\n properties:\n projectName: ${defaultProject.projectName}\n logstoreName: example-source-store\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fc.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunLogFullAccess\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n role: ${defaultRole.arn}\n logConfig:\n project: ${defaultProject.projectName}\n logstore: ${defaultStore.logstoreName}\n enableInstanceMetrics: true\n enableRequestMetrics: true\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:log:${defaultGetRegions.regions[0].id}:${default.id}:project/${defaultProject.projectName}\n type: log\n config: \" {\\n \\\\\\\"sourceConfig\\\\\\\": {\\n \\\\\\\"logstore\\\\\\\": \\\\\\\"${sourceStore.logstoreName}\\\\\\\",\\n \\\\\\\"startTime\\\\\\\": null\\n },\\n \\\\\\\"jobConfig\\\\\\\": {\\n \\\\\\\"maxRetryTime\\\\\\\": 3,\\n \\\\\\\"triggerInterval\\\\\\\": 60\\n },\\n \\\\\\\"functionParameter\\\\\\\": {\\n \\\\\\\"a\\\\\\\": \\\\\\\"b\\\\\\\",\\n \\\\\\\"c\\\\\\\": \\\\\\\"d\\\\\\\"\\n },\\n \\\\\\\"logConfig\\\\\\\": {\\n \\\\\\\"project\\\\\\\": \\\\\\\"${defaultProject.projectName}\\\\\\\",\\n \\\\\\\"logstore\\\\\\\": \\\\\\\"${defaultStore.logstoreName}\\\\\\\"\\n },\\n \\\\\\\"enable\\\\\\\": true\\n }\\n \\n\"\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMNS topic trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultTopic = new alicloud.mns.Topic(\"default\", {name: `example-value-${defaultInteger.result}`});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"mns.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: \"AliyunMNSNotificationRolePolicy\",\n policyType: \"System\",\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: pulumi.all([defaultGetRegions, _default, defaultTopic.name]).apply(([defaultGetRegions, _default, name]) =\u003e `acs:mns:${defaultGetRegions.regions?.[0]?.id}:${_default.id}:/topics/${name}`),\n type: \"mns_topic\",\n configMns: ` {\n \\\\\"filterTag\\\\\":\\\\\"exampleTag\\\\\",\n \\\\\"notifyContentFormat\\\\\":\\\\\"STREAM\\\\\",\n \\\\\"notifyStrategy\\\\\":\\\\\"BACKOFF_RETRY\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_topic = alicloud.mns.Topic(\"default\", name=f\"example-value-{default_integer['result']}\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=\"AliyunMNSNotificationRolePolicy\",\n policy_type=\"System\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=default_topic.name.apply(lambda name: f\"acs:mns:{default_get_regions.regions[0].id}:{default.id}:/topics/{name}\"),\n type=\"mns_topic\",\n config_mns=\"\"\" {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultTopic = new AliCloud.Mns.Topic(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"mns.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = \"AliyunMNSNotificationRolePolicy\",\n PolicyType = \"System\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = Output.Tuple(defaultGetRegions, @default, defaultTopic.Name).Apply(values =\u003e\n {\n var defaultGetRegions = values.Item1;\n var @default = values.Item2;\n var name = values.Item3;\n return $\"acs:mns:{defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:/topics/{name}\";\n }),\n Type = \"mns_topic\",\n ConfigMns = @\" {\n \\\"\"filterTag\\\"\":\\\"\"exampleTag\\\"\",\n \\\"\"notifyContentFormat\\\"\":\\\"\"STREAM\\\"\",\n \\\"\"notifyStrategy\\\"\":\\\"\"BACKOFF_RETRY\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := mns.NewTopic(ctx, \"default\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: pulumi.String(\"AliyunMNSNotificationRolePolicy\"),\n\t\t\tPolicyType: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: defaultTopic.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"acs:mns:%v:%v:/topics/%v\", defaultGetRegions.Regions[0].Id, _default.Id, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tType: pulumi.String(\"mns_topic\"),\n\t\t\tConfigMns: pulumi.String(` {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(\"AliyunMNSNotificationRolePolicy\")\n .policyType(\"System\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(defaultTopic.name().applyValue(_name -\u003e String.format(\"acs:mns:%s:%s:/topics/%s\", defaultGetRegions.regions()[0].id(),default_.id(),_name)))\n .type(\"mns_topic\")\n .configMns(\"\"\"\n {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultTopic:\n type: alicloud:mns:Topic\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"mns.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: AliyunMNSNotificationRolePolicy\n policyType: System\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:mns:${defaultGetRegions.regions[0].id}:${default.id}:/topics/${defaultTopic.name}\n type: mns_topic\n configMns: |2\n {\n \\\"filterTag\\\":\\\"exampleTag\\\",\n \\\"notifyContentFormat\\\":\\\"STREAM\\\",\n \\\"notifyStrategy\\\":\\\"BACKOFF_RETRY\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCDN events trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultDomainNew = new alicloud.cdn.DomainNew(\"default\", {\n domainName: `example${defaultInteger.result}.tf.com`,\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: 20,\n port: 80,\n weight: 10,\n }],\n});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: `fcservicerole-${defaultInteger.result}`,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"cdn.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultPolicy = new alicloud.ram.Policy(\"default\", {\n policyName: `fcservicepolicy-${defaultInteger.result}`,\n policyDocument: pulumi.interpolate` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/${defaultService.name}/functions/*\\\",\n \\\"acs:fc:*:*:services/${defaultService.name}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n`,\n description: \"this is a example\",\n force: true,\n});\nconst defaultRolePolicyAttachment = new alicloud.ram.RolePolicyAttachment(\"default\", {\n roleName: defaultRole.name,\n policyName: defaultPolicy.policyName,\n policyType: \"Custom\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: `terraform-example-${defaultInteger.result}`,\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst defaultTrigger = new alicloud.fc.Trigger(\"default\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example\",\n role: defaultRole.arn,\n sourceArn: _default.then(_default =\u003e `acs:cdn:*:${_default.id}`),\n type: \"cdn_events\",\n config: pulumi.interpolate` {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"${defaultDomainNew.domainName}\\\"]\n }\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_domain_new = alicloud.cdn.DomainNew(\"default\",\n domain_name=f\"example{default_integer['result']}.tf.com\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": 20,\n \"port\": 80,\n \"weight\": 10,\n }])\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_role = alicloud.ram.Role(\"default\",\n name=f\"fcservicerole-{default_integer['result']}\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a example\",\n force=True)\ndefault_policy = alicloud.ram.Policy(\"default\",\n policy_name=f\"fcservicepolicy-{default_integer['result']}\",\n policy_document=pulumi.Output.all(\n defaultServiceName=default_service.name,\n defaultServiceName1=default_service.name\n).apply(lambda resolved_outputs: f\"\"\" {{\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {{\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/{resolved_outputs['defaultServiceName']}/functions/*\\\",\n \\\"acs:fc:*:*:services/{resolved_outputs['defaultServiceName1']}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }}\n ]\n }}\n\"\"\")\n,\n description=\"this is a example\",\n force=True)\ndefault_role_policy_attachment = alicloud.ram.RolePolicyAttachment(\"default\",\n role_name=default_role.name,\n policy_name=default_policy.policy_name,\n policy_type=\"Custom\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=f\"terraform-example-{default_integer['result']}\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\ndefault_trigger = alicloud.fc.Trigger(\"default\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example\",\n role=default_role.arn,\n source_arn=f\"acs:cdn:*:{default.id}\",\n type=\"cdn_events\",\n config=default_domain_new.domain_name.apply(lambda domain_name: f\"\"\" {{\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{{\n \\\"domain\\\": [\\\"{domain_name}\\\"]\n }}\n }}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultDomainNew = new AliCloud.Cdn.DomainNew(\"default\", new()\n {\n DomainName = $\"example{defaultInteger.Result}.tf.com\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Cdn.Inputs.DomainNewSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = 20,\n Port = 80,\n Weight = 10,\n },\n },\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = $\"fcservicerole-{defaultInteger.Result}\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"cdn.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultPolicy = new AliCloud.Ram.Policy(\"default\", new()\n {\n PolicyName = $\"fcservicepolicy-{defaultInteger.Result}\",\n PolicyDocument = Output.Tuple(defaultService.Name, defaultService.Name).Apply(values =\u003e\n {\n var defaultServiceName = values.Item1;\n var defaultServiceName1 = values.Item2;\n return @$\" {{\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {{\n \\\"\"Action\\\"\": [\n \\\"\"fc:InvokeFunction\\\"\"\n ],\n \\\"\"Resource\\\"\": [\n \\\"\"acs:fc:*:*:services/{defaultServiceName}/functions/*\\\"\",\n \\\"\"acs:fc:*:*:services/{defaultServiceName1}.*/functions/*\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\"\n }}\n ]\n }}\n\";\n }),\n Description = \"this is a example\",\n Force = true,\n });\n\n var defaultRolePolicyAttachment = new AliCloud.Ram.RolePolicyAttachment(\"default\", new()\n {\n RoleName = defaultRole.Name,\n PolicyName = defaultPolicy.PolicyName,\n PolicyType = \"Custom\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var defaultTrigger = new AliCloud.FC.Trigger(\"default\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example\",\n Role = defaultRole.Arn,\n SourceArn = @default.Apply(@default =\u003e $\"acs:cdn:*:{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}\"),\n Type = \"cdn_events\",\n Config = defaultDomainNew.DomainName.Apply(domainName =\u003e @$\" {{\\\"\"eventName\\\"\":\\\"\"LogFileCreated\\\"\",\n \\\"\"eventVersion\\\"\":\\\"\"1.0.0\\\"\",\n \\\"\"notes\\\"\":\\\"\"cdn events trigger\\\"\",\n \\\"\"filter\\\"\":{{\n \\\"\"domain\\\"\": [\\\"\"{domainName}\\\"\"]\n }}\n }}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cdn\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomainNew, err := cdn.NewDomainNew(ctx, \"default\", \u0026cdn.DomainNewArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example%v.tf.com\", defaultInteger.Result),\n\t\t\tCdnType: pulumi.String(\"web\"),\n\t\t\tScope: pulumi.String(\"overseas\"),\n\t\t\tSources: cdn.DomainNewSourceArray{\n\t\t\t\t\u0026cdn.DomainNewSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\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\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.Sprintf(\"fcservicerole-%v\", defaultInteger.Result),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPolicy, err := ram.NewPolicy(ctx, \"default\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"fcservicepolicy-%v\", defaultInteger.Result),\n\t\t\tPolicyDocument: pulumi.All(defaultService.Name, defaultService.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tdefaultServiceName := _args[0].(string)\n\t\t\t\tdefaultServiceName1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/%v/functions/*\\\",\n \\\"acs:fc:*:*:services/%v.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n`, defaultServiceName, defaultServiceName1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tDescription: pulumi.String(\"this is a example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"default\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tRoleName: defaultRole.Name,\n\t\t\tPolicyName: defaultPolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"default\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tRole: defaultRole.Arn,\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v\", _default.Id),\n\t\t\tType: pulumi.String(\"cdn_events\"),\n\t\t\tConfig: defaultDomainNew.DomainName.ApplyT(func(domainName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(` {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"%v\\\"]\n }\n }\n`, domainName), 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.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cdn.DomainNew;\nimport com.pulumi.alicloud.cdn.DomainNewArgs;\nimport com.pulumi.alicloud.cdn.inputs.DomainNewSourceArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultDomainNew = new DomainNew(\"defaultDomainNew\", DomainNewArgs.builder()\n .domainName(String.format(\"example%s.tf.com\", defaultInteger.result()))\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainNewSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(20)\n .port(80)\n .weight(10)\n .build())\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(String.format(\"fcservicerole-%s\", defaultInteger.result()))\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultPolicy = new Policy(\"defaultPolicy\", PolicyArgs.builder()\n .policyName(String.format(\"fcservicepolicy-%s\", defaultInteger.result()))\n .policyDocument(Output.tuple(defaultService.name(), defaultService.name()).applyValue(values -\u003e {\n var defaultServiceName = values.t1;\n var defaultServiceName1 = values.t2;\n return \"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/%s/functions/*\\\",\n \\\"acs:fc:*:*:services/%s.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n\", defaultServiceName,defaultServiceName1);\n }))\n .description(\"this is a example\")\n .force(true)\n .build());\n\n var defaultRolePolicyAttachment = new RolePolicyAttachment(\"defaultRolePolicyAttachment\", RolePolicyAttachmentArgs.builder()\n .roleName(defaultRole.name())\n .policyName(defaultPolicy.policyName())\n .policyType(\"Custom\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var defaultTrigger = new Trigger(\"defaultTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example\")\n .role(defaultRole.arn())\n .sourceArn(String.format(\"acs:cdn:*:%s\", default_.id()))\n .type(\"cdn_events\")\n .config(defaultDomainNew.domainName().applyValue(_domainName -\u003e \"\"\"\n {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"%s\\\"]\n }\n }\n\", _domainName)))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultDomainNew:\n type: alicloud:cdn:DomainNew\n name: default\n properties:\n domainName: example${defaultInteger.result}.tf.com\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: 20\n port: 80\n weight: 10\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: fcservicerole-${defaultInteger.result}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"cdn.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a example\n force: true\n defaultPolicy:\n type: alicloud:ram:Policy\n name: default\n properties:\n policyName: fcservicepolicy-${defaultInteger.result}\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"fc:InvokeFunction\\\"\n ],\n \\\"Resource\\\": [\n \\\"acs:fc:*:*:services/${defaultService.name}/functions/*\\\",\n \\\"acs:fc:*:*:services/${defaultService.name}.*/functions/*\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\"\n }\n ]\n }\n description: this is a example\n force: true\n defaultRolePolicyAttachment:\n type: alicloud:ram:RolePolicyAttachment\n name: default\n properties:\n roleName: ${defaultRole.name}\n policyName: ${defaultPolicy.policyName}\n policyType: Custom\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example-${defaultInteger.result}\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n defaultTrigger:\n type: alicloud:fc:Trigger\n name: default\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example\n role: ${defaultRole.arn}\n sourceArn: acs:cdn:*:${default.id}\n type: cdn_events\n config: |2\n {\\\"eventName\\\":\\\"LogFileCreated\\\",\n \\\"eventVersion\\\":\\\"1.0.0\\\",\n \\\"notes\\\":\\\"cdn events trigger\\\",\n \\\"filter\\\":{\n \\\"domain\\\": [\\\"${defaultDomainNew.domainName}\\\"]\n }\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEventBridge trigger:\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = alicloud.getAccount({});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst serviceLinkedRole = new alicloud.eventbridge.ServiceLinkedRole(\"service_linked_role\", {productName: \"AliyunServiceRoleForEventBridgeSendToFC\"});\nconst defaultService = new alicloud.fc.Service(\"default\", {\n name: `example-value-${defaultInteger.result}`,\n description: \"example-value\",\n internetAccess: false,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${defaultInteger.result}`});\n// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.id,\n key: \"index.py\",\n content: `import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'`,\n});\nconst defaultFunction = new alicloud.fc.Function(\"default\", {\n service: defaultService.name,\n name: \"terraform-example\",\n description: \"example\",\n ossBucket: defaultBucket.id,\n ossKey: defaultBucketObject.key,\n memorySize: 512,\n runtime: \"python3.10\",\n handler: \"hello.handler\",\n});\nconst ossTrigger = new alicloud.fc.Trigger(\"oss_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-oss\",\n type: \"eventbridge\",\n config: JSON.stringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventSourceConfig: {\n eventSourceType: \"Default\",\n },\n eventRuleFilterPattern: \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst mnsTrigger = new alicloud.fc.Trigger(\"mns_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-mns\",\n type: \"eventbridge\",\n config: JSON.stringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventSourceConfig: {\n eventSourceType: \"MNS\",\n eventSourceParameters: {\n sourceMNSParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n QueueName: \"mns-queue\",\n IsBase64Decode: true,\n },\n },\n },\n eventRuleFilterPattern: \"{}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {\n instanceName: `terraform-example-${defaultInteger.result}`,\n remark: \"terraform-example\",\n});\nconst defaultGroup = new alicloud.rocketmq.Group(\"default\", {\n groupName: \"GID-example\",\n instanceId: defaultInstance.id,\n remark: \"terraform-example\",\n});\nconst defaultTopic = new alicloud.rocketmq.Topic(\"default\", {\n topicName: \"mytopic\",\n instanceId: defaultInstance.id,\n messageType: 0,\n remark: \"terraform-example\",\n});\nconst rocketmqTrigger = new alicloud.fc.Trigger(\"rocketmq_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-rocketmq\",\n type: \"eventbridge\",\n config: pulumi.jsonStringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventRuleFilterPattern: \"{}\",\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n eventSourceConfig: {\n eventSourceType: \"RocketMQ\",\n eventSourceParameters: {\n sourceRocketMQParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n InstanceId: defaultInstance.id,\n GroupID: defaultGroup.groupName,\n Topic: defaultTopic.topicName,\n Timestamp: 1686296162,\n Tag: \"example-tag\",\n Offset: \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\nconst defaultInstance2 = new alicloud.amqp.Instance(\"default\", {\n instanceName: `terraform-example-${defaultInteger.result}`,\n instanceType: \"professional\",\n maxTps: \"1000\",\n queueCapacity: \"50\",\n supportEip: true,\n maxEipTps: \"128\",\n paymentType: \"Subscription\",\n period: 1,\n});\nconst defaultVirtualHost = new alicloud.amqp.VirtualHost(\"default\", {\n instanceId: defaultInstance2.id,\n virtualHostName: \"example-VirtualHost\",\n});\nconst defaultQueue = new alicloud.amqp.Queue(\"default\", {\n instanceId: defaultVirtualHost.instanceId,\n queueName: \"example-queue\",\n virtualHostName: defaultVirtualHost.virtualHostName,\n});\nconst rabbitmqTrigger = new alicloud.fc.Trigger(\"rabbitmq_trigger\", {\n service: defaultService.name,\n \"function\": defaultFunction.name,\n name: \"terraform-example-rabbitmq\",\n type: \"eventbridge\",\n config: pulumi.jsonStringify({\n triggerEnable: false,\n asyncInvocationType: false,\n eventRuleFilterPattern: \"{}\",\n eventSourceConfig: {\n eventSourceType: \"RabbitMQ\",\n eventSourceParameters: {\n sourceRabbitMQParameters: {\n RegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n InstanceId: defaultInstance2.id,\n VirtualHostName: defaultVirtualHost.virtualHostName,\n QueueName: defaultQueue.queueName,\n },\n },\n },\n eventSinkConfig: {\n deliveryOption: {\n mode: \"event-driven\",\n eventSchema: \"CloudEvents\",\n },\n },\n runOptions: {\n retryStrategy: {\n PushRetryStrategy: \"BACKOFF_RETRY\",\n },\n errorsTolerance: \"ALL\",\n mode: \"event-driven\",\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = alicloud.get_account()\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nservice_linked_role = alicloud.eventbridge.ServiceLinkedRole(\"service_linked_role\", product_name=\"AliyunServiceRoleForEventBridgeSendToFC\")\ndefault_service = alicloud.fc.Service(\"default\",\n name=f\"example-value-{default_integer['result']}\",\n description=\"example-value\",\n internet_access=False)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default_integer['result']}\")\n# If you upload the function by OSS Bucket, you need to specify path can't upload by content.\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.id,\n key=\"index.py\",\n content=\"\"\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\"\"\")\ndefault_function = alicloud.fc.Function(\"default\",\n service=default_service.name,\n name=\"terraform-example\",\n description=\"example\",\n oss_bucket=default_bucket.id,\n oss_key=default_bucket_object.key,\n memory_size=512,\n runtime=\"python3.10\",\n handler=\"hello.handler\")\noss_trigger = alicloud.fc.Trigger(\"oss_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-oss\",\n type=\"eventbridge\",\n config=json.dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventSourceConfig\": {\n \"eventSourceType\": \"Default\",\n },\n \"eventRuleFilterPattern\": \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\nmns_trigger = alicloud.fc.Trigger(\"mns_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-mns\",\n type=\"eventbridge\",\n config=json.dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventSourceConfig\": {\n \"eventSourceType\": \"MNS\",\n \"eventSourceParameters\": {\n \"sourceMNSParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"QueueName\": \"mns-queue\",\n \"IsBase64Decode\": True,\n },\n },\n },\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\ndefault_instance = alicloud.rocketmq.Instance(\"default\",\n instance_name=f\"terraform-example-{default_integer['result']}\",\n remark=\"terraform-example\")\ndefault_group = alicloud.rocketmq.Group(\"default\",\n group_name=\"GID-example\",\n instance_id=default_instance.id,\n remark=\"terraform-example\")\ndefault_topic = alicloud.rocketmq.Topic(\"default\",\n topic_name=\"mytopic\",\n instance_id=default_instance.id,\n message_type=0,\n remark=\"terraform-example\")\nrocketmq_trigger = alicloud.fc.Trigger(\"rocketmq_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-rocketmq\",\n type=\"eventbridge\",\n config=pulumi.Output.json_dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"eventSourceConfig\": {\n \"eventSourceType\": \"RocketMQ\",\n \"eventSourceParameters\": {\n \"sourceRocketMQParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"InstanceId\": default_instance.id,\n \"GroupID\": default_group.group_name,\n \"Topic\": default_topic.topic_name,\n \"Timestamp\": 1686296162,\n \"Tag\": \"example-tag\",\n \"Offset\": \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\ndefault_instance2 = alicloud.amqp.Instance(\"default\",\n instance_name=f\"terraform-example-{default_integer['result']}\",\n instance_type=\"professional\",\n max_tps=\"1000\",\n queue_capacity=\"50\",\n support_eip=True,\n max_eip_tps=\"128\",\n payment_type=\"Subscription\",\n period=1)\ndefault_virtual_host = alicloud.amqp.VirtualHost(\"default\",\n instance_id=default_instance2.id,\n virtual_host_name=\"example-VirtualHost\")\ndefault_queue = alicloud.amqp.Queue(\"default\",\n instance_id=default_virtual_host.instance_id,\n queue_name=\"example-queue\",\n virtual_host_name=default_virtual_host.virtual_host_name)\nrabbitmq_trigger = alicloud.fc.Trigger(\"rabbitmq_trigger\",\n service=default_service.name,\n function=default_function.name,\n name=\"terraform-example-rabbitmq\",\n type=\"eventbridge\",\n config=pulumi.Output.json_dumps({\n \"triggerEnable\": False,\n \"asyncInvocationType\": False,\n \"eventRuleFilterPattern\": \"{}\",\n \"eventSourceConfig\": {\n \"eventSourceType\": \"RabbitMQ\",\n \"eventSourceParameters\": {\n \"sourceRabbitMQParameters\": {\n \"RegionId\": default_get_regions.regions[0].id,\n \"InstanceId\": default_instance2.id,\n \"VirtualHostName\": default_virtual_host.virtual_host_name,\n \"QueueName\": default_queue.queue_name,\n },\n },\n },\n \"eventSinkConfig\": {\n \"deliveryOption\": {\n \"mode\": \"event-driven\",\n \"eventSchema\": \"CloudEvents\",\n },\n },\n \"runOptions\": {\n \"retryStrategy\": {\n \"PushRetryStrategy\": \"BACKOFF_RETRY\",\n },\n \"errorsTolerance\": \"ALL\",\n \"mode\": \"event-driven\",\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var serviceLinkedRole = new AliCloud.EventBridge.ServiceLinkedRole(\"service_linked_role\", new()\n {\n ProductName = \"AliyunServiceRoleForEventBridgeSendToFC\",\n });\n\n var defaultService = new AliCloud.FC.Service(\"default\", new()\n {\n Name = $\"example-value-{defaultInteger.Result}\",\n Description = \"example-value\",\n InternetAccess = false,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.Id,\n Key = \"index.py\",\n Content = @\"import logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world'\",\n });\n\n var defaultFunction = new AliCloud.FC.Function(\"default\", new()\n {\n Service = defaultService.Name,\n Name = \"terraform-example\",\n Description = \"example\",\n OssBucket = defaultBucket.Id,\n OssKey = defaultBucketObject.Key,\n MemorySize = 512,\n Runtime = \"python3.10\",\n Handler = \"hello.handler\",\n });\n\n var ossTrigger = new AliCloud.FC.Trigger(\"oss_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-oss\",\n Type = \"eventbridge\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"Default\",\n },\n [\"eventRuleFilterPattern\"] = \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n }),\n });\n\n var mnsTrigger = new AliCloud.FC.Trigger(\"mns_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-mns\",\n Type = \"eventbridge\",\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"MNS\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceMNSParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"QueueName\"] = \"mns-queue\",\n [\"IsBase64Decode\"] = true,\n },\n },\n },\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n }),\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"terraform-example-{defaultInteger.Result}\",\n Remark = \"terraform-example\",\n });\n\n var defaultGroup = new AliCloud.RocketMQ.Group(\"default\", new()\n {\n GroupName = \"GID-example\",\n InstanceId = defaultInstance.Id,\n Remark = \"terraform-example\",\n });\n\n var defaultTopic = new AliCloud.RocketMQ.Topic(\"default\", new()\n {\n TopicName = \"mytopic\",\n InstanceId = defaultInstance.Id,\n MessageType = 0,\n Remark = \"terraform-example\",\n });\n\n var rocketmqTrigger = new AliCloud.FC.Trigger(\"rocketmq_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-rocketmq\",\n Type = \"eventbridge\",\n Config = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"RocketMQ\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceRocketMQParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"InstanceId\"] = defaultInstance.Id,\n [\"GroupID\"] = defaultGroup.GroupName,\n [\"Topic\"] = defaultTopic.TopicName,\n [\"Timestamp\"] = 1686296162,\n [\"Tag\"] = \"example-tag\",\n [\"Offset\"] = \"CONSUME_FROM_LAST_OFFSET\",\n },\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n })),\n });\n\n var defaultInstance2 = new AliCloud.Amqp.Instance(\"default\", new()\n {\n InstanceName = $\"terraform-example-{defaultInteger.Result}\",\n InstanceType = \"professional\",\n MaxTps = \"1000\",\n QueueCapacity = \"50\",\n SupportEip = true,\n MaxEipTps = \"128\",\n PaymentType = \"Subscription\",\n Period = 1,\n });\n\n var defaultVirtualHost = new AliCloud.Amqp.VirtualHost(\"default\", new()\n {\n InstanceId = defaultInstance2.Id,\n VirtualHostName = \"example-VirtualHost\",\n });\n\n var defaultQueue = new AliCloud.Amqp.Queue(\"default\", new()\n {\n InstanceId = defaultVirtualHost.InstanceId,\n QueueName = \"example-queue\",\n VirtualHostName = defaultVirtualHost.VirtualHostName,\n });\n\n var rabbitmqTrigger = new AliCloud.FC.Trigger(\"rabbitmq_trigger\", new()\n {\n Service = defaultService.Name,\n Function = defaultFunction.Name,\n Name = \"terraform-example-rabbitmq\",\n Type = \"eventbridge\",\n Config = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"triggerEnable\"] = false,\n [\"asyncInvocationType\"] = false,\n [\"eventRuleFilterPattern\"] = \"{}\",\n [\"eventSourceConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"eventSourceType\"] = \"RabbitMQ\",\n [\"eventSourceParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceRabbitMQParameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"RegionId\"] = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n [\"InstanceId\"] = defaultInstance2.Id,\n [\"VirtualHostName\"] = defaultVirtualHost.VirtualHostName,\n [\"QueueName\"] = defaultQueue.QueueName,\n },\n },\n },\n [\"eventSinkConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"deliveryOption\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"event-driven\",\n [\"eventSchema\"] = \"CloudEvents\",\n },\n },\n [\"runOptions\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"retryStrategy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PushRetryStrategy\"] = \"BACKOFF_RETRY\",\n },\n [\"errorsTolerance\"] = \"ALL\",\n [\"mode\"] = \"event-driven\",\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eventbridge\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventbridge.NewServiceLinkedRole(ctx, \"service_linked_role\", \u0026eventbridge.ServiceLinkedRoleArgs{\n\t\t\tProductName: pulumi.String(\"AliyunServiceRoleForEventBridgeSendToFC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultService, err := fc.NewService(ctx, \"default\", \u0026fc.ServiceArgs{\n\t\t\tName: pulumi.Sprintf(\"example-value-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"example-value\"),\n\t\t\tInternetAccess: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.ID(),\n\t\t\tKey: pulumi.String(\"index.py\"),\n\t\t\tContent: pulumi.String(\"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFunction, err := fc.NewFunction(ctx, \"default\", \u0026fc.FunctionArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tOssBucket: defaultBucket.ID(),\n\t\t\tOssKey: defaultBucketObject.Key,\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tHandler: pulumi.String(\"hello.handler\"),\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\"triggerEnable\": false,\n\t\t\t\"asyncInvocationType\": false,\n\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\"eventSourceType\": \"Default\",\n\t\t\t},\n\t\t\t\"eventRuleFilterPattern\": \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\",\n\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t},\n\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\"mode\": \"event-driven\",\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 = fc.NewTrigger(ctx, \"oss_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-oss\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"triggerEnable\": false,\n\t\t\t\"asyncInvocationType\": false,\n\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\"eventSourceType\": \"MNS\",\n\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\"sourceMNSParameters\": map[string]interface{}{\n\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\"QueueName\": \"mns-queue\",\n\t\t\t\t\t\t\"IsBase64Decode\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t},\n\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = fc.NewTrigger(ctx, \"mns_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-mns\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.String(json1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGroup, err := rocketmq.NewGroup(ctx, \"default\", \u0026rocketmq.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"GID-example\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTopic, err := rocketmq.NewTopic(ctx, \"default\", \u0026rocketmq.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"mytopic\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMessageType: pulumi.Int(0),\n\t\t\tRemark: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"rocketmq_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-rocketmq\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.All(defaultInstance.ID(), defaultGroup.GroupName, defaultTopic.TopicName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tgroupName := _args[1].(string)\n\t\t\t\ttopicName := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"triggerEnable\": false,\n\t\t\t\t\t\"asyncInvocationType\": false,\n\t\t\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\t\t\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"eventSourceType\": \"RocketMQ\",\n\t\t\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sourceRocketMQParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\t\t\"InstanceId\": id,\n\t\t\t\t\t\t\t\t\"GroupID\": groupName,\n\t\t\t\t\t\t\t\t\"Topic\": topicName,\n\t\t\t\t\t\t\t\t\"Timestamp\": 1686296162,\n\t\t\t\t\t\t\t\t\"Tag\": \"example-tag\",\n\t\t\t\t\t\t\t\t\"Offset\": \"CONSUME_FROM_LAST_OFFSET\",\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\"runOptions\": map[string]interface{}{\n\t\t\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\t\t\"mode\": \"event-driven\",\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\tjson2 := string(tmpJSON2)\n\t\t\t\treturn json2, 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\tdefaultInstance2, err := amqp.NewInstance(ctx, \"default\", \u0026amqp.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tInstanceType: pulumi.String(\"professional\"),\n\t\t\tMaxTps: pulumi.String(\"1000\"),\n\t\t\tQueueCapacity: pulumi.String(\"50\"),\n\t\t\tSupportEip: pulumi.Bool(true),\n\t\t\tMaxEipTps: pulumi.String(\"128\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualHost, err := amqp.NewVirtualHost(ctx, \"default\", \u0026amqp.VirtualHostArgs{\n\t\t\tInstanceId: defaultInstance2.ID(),\n\t\t\tVirtualHostName: pulumi.String(\"example-VirtualHost\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQueue, err := amqp.NewQueue(ctx, \"default\", \u0026amqp.QueueArgs{\n\t\t\tInstanceId: defaultVirtualHost.InstanceId,\n\t\t\tQueueName: pulumi.String(\"example-queue\"),\n\t\t\tVirtualHostName: defaultVirtualHost.VirtualHostName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewTrigger(ctx, \"rabbitmq_trigger\", \u0026fc.TriggerArgs{\n\t\t\tService: defaultService.Name,\n\t\t\tFunction: defaultFunction.Name,\n\t\t\tName: pulumi.String(\"terraform-example-rabbitmq\"),\n\t\t\tType: pulumi.String(\"eventbridge\"),\n\t\t\tConfig: pulumi.All(defaultInstance2.ID(), defaultVirtualHost.VirtualHostName, defaultQueue.QueueName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\tvirtualHostName := _args[1].(string)\n\t\t\t\tqueueName := _args[2].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"triggerEnable\": false,\n\t\t\t\t\t\"asyncInvocationType\": false,\n\t\t\t\t\t\"eventRuleFilterPattern\": \"{}\",\n\t\t\t\t\t\"eventSourceConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"eventSourceType\": \"RabbitMQ\",\n\t\t\t\t\t\t\"eventSourceParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sourceRabbitMQParameters\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"RegionId\": defaultGetRegions.Regions[0].Id,\n\t\t\t\t\t\t\t\t\"InstanceId\": id,\n\t\t\t\t\t\t\t\t\"VirtualHostName\": virtualHostName,\n\t\t\t\t\t\t\t\t\"QueueName\": queueName,\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\"eventSinkConfig\": map[string]interface{}{\n\t\t\t\t\t\t\"deliveryOption\": map[string]interface{}{\n\t\t\t\t\t\t\t\"mode\": \"event-driven\",\n\t\t\t\t\t\t\t\"eventSchema\": \"CloudEvents\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"runOptions\": map[string]interface{}{\n\t\t\t\t\t\t\"retryStrategy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"PushRetryStrategy\": \"BACKOFF_RETRY\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"errorsTolerance\": \"ALL\",\n\t\t\t\t\t\t\"mode\": \"event-driven\",\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\tjson3 := string(tmpJSON3)\n\t\t\t\treturn json3, 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRole;\nimport com.pulumi.alicloud.eventbridge.ServiceLinkedRoleArgs;\nimport com.pulumi.alicloud.fc.Service;\nimport com.pulumi.alicloud.fc.ServiceArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.Function;\nimport com.pulumi.alicloud.fc.FunctionArgs;\nimport com.pulumi.alicloud.fc.Trigger;\nimport com.pulumi.alicloud.fc.TriggerArgs;\nimport com.pulumi.alicloud.rocketmq.Group;\nimport com.pulumi.alicloud.rocketmq.GroupArgs;\nimport com.pulumi.alicloud.rocketmq.Topic;\nimport com.pulumi.alicloud.rocketmq.TopicArgs;\nimport com.pulumi.alicloud.amqp.VirtualHost;\nimport com.pulumi.alicloud.amqp.VirtualHostArgs;\nimport com.pulumi.alicloud.amqp.Queue;\nimport com.pulumi.alicloud.amqp.QueueArgs;\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 default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\", ServiceLinkedRoleArgs.builder()\n .productName(\"AliyunServiceRoleForEventBridgeSendToFC\")\n .build());\n\n var defaultService = new Service(\"defaultService\", ServiceArgs.builder()\n .name(String.format(\"example-value-%s\", defaultInteger.result()))\n .description(\"example-value\")\n .internetAccess(false)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n // If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.id())\n .key(\"index.py\")\n .content(\"\"\"\nimport logging \ndef handler(event, context): \nlogger = logging.getLogger() \nlogger.info('hello world') \nreturn 'hello world' \"\"\")\n .build());\n\n var defaultFunction = new Function(\"defaultFunction\", FunctionArgs.builder()\n .service(defaultService.name())\n .name(\"terraform-example\")\n .description(\"example\")\n .ossBucket(defaultBucket.id())\n .ossKey(defaultBucketObject.key())\n .memorySize(512)\n .runtime(\"python3.10\")\n .handler(\"hello.handler\")\n .build());\n\n var ossTrigger = new Trigger(\"ossTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-oss\")\n .type(\"eventbridge\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"Default\")\n )),\n jsonProperty(\"eventRuleFilterPattern\", \"{\\\"source\\\":[\\\"acs.oss\\\"],\\\"type\\\":[\\\"oss:BucketCreated:PutBucket\\\"]}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n )))\n .build());\n\n var mnsTrigger = new Trigger(\"mnsTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-mns\")\n .type(\"eventbridge\")\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"MNS\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceMNSParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"QueueName\", \"mns-queue\"),\n jsonProperty(\"IsBase64Decode\", true)\n ))\n ))\n )),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n )))\n .build());\n\n var defaultInstance = new com.pulumi.alicloud.rocketmq.Instance(\"defaultInstance\", com.pulumi.alicloud.rocketmq.InstanceArgs.builder()\n .instanceName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .remark(\"terraform-example\")\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .groupName(\"GID-example\")\n .instanceId(defaultInstance.id())\n .remark(\"terraform-example\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .topicName(\"mytopic\")\n .instanceId(defaultInstance.id())\n .messageType(0)\n .remark(\"terraform-example\")\n .build());\n\n var rocketmqTrigger = new Trigger(\"rocketmqTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-rocketmq\")\n .type(\"eventbridge\")\n .config(Output.tuple(defaultInstance.id(), defaultGroup.groupName(), defaultTopic.topicName()).applyValue(values -\u003e {\n var id = values.t1;\n var groupName = values.t2;\n var topicName = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"RocketMQ\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceRocketMQParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"InstanceId\", id),\n jsonProperty(\"GroupID\", groupName),\n jsonProperty(\"Topic\", topicName),\n jsonProperty(\"Timestamp\", 1686296162),\n jsonProperty(\"Tag\", \"example-tag\"),\n jsonProperty(\"Offset\", \"CONSUME_FROM_LAST_OFFSET\")\n ))\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n ));\n }))\n .build());\n\n var defaultInstance2 = new com.pulumi.alicloud.amqp.Instance(\"defaultInstance2\", com.pulumi.alicloud.amqp.InstanceArgs.builder()\n .instanceName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .instanceType(\"professional\")\n .maxTps(\"1000\")\n .queueCapacity(\"50\")\n .supportEip(true)\n .maxEipTps(\"128\")\n .paymentType(\"Subscription\")\n .period(1)\n .build());\n\n var defaultVirtualHost = new VirtualHost(\"defaultVirtualHost\", VirtualHostArgs.builder()\n .instanceId(defaultInstance2.id())\n .virtualHostName(\"example-VirtualHost\")\n .build());\n\n var defaultQueue = new Queue(\"defaultQueue\", QueueArgs.builder()\n .instanceId(defaultVirtualHost.instanceId())\n .queueName(\"example-queue\")\n .virtualHostName(defaultVirtualHost.virtualHostName())\n .build());\n\n var rabbitmqTrigger = new Trigger(\"rabbitmqTrigger\", TriggerArgs.builder()\n .service(defaultService.name())\n .function(defaultFunction.name())\n .name(\"terraform-example-rabbitmq\")\n .type(\"eventbridge\")\n .config(Output.tuple(defaultInstance2.id(), defaultVirtualHost.virtualHostName(), defaultQueue.queueName()).applyValue(values -\u003e {\n var id = values.t1;\n var virtualHostName = values.t2;\n var queueName = values.t3;\n return serializeJson(\n jsonObject(\n jsonProperty(\"triggerEnable\", false),\n jsonProperty(\"asyncInvocationType\", false),\n jsonProperty(\"eventRuleFilterPattern\", \"{}\"),\n jsonProperty(\"eventSourceConfig\", jsonObject(\n jsonProperty(\"eventSourceType\", \"RabbitMQ\"),\n jsonProperty(\"eventSourceParameters\", jsonObject(\n jsonProperty(\"sourceRabbitMQParameters\", jsonObject(\n jsonProperty(\"RegionId\", defaultGetRegions.regions()[0].id()),\n jsonProperty(\"InstanceId\", id),\n jsonProperty(\"VirtualHostName\", virtualHostName),\n jsonProperty(\"QueueName\", queueName)\n ))\n ))\n )),\n jsonProperty(\"eventSinkConfig\", jsonObject(\n jsonProperty(\"deliveryOption\", jsonObject(\n jsonProperty(\"mode\", \"event-driven\"),\n jsonProperty(\"eventSchema\", \"CloudEvents\")\n ))\n )),\n jsonProperty(\"runOptions\", jsonObject(\n jsonProperty(\"retryStrategy\", jsonObject(\n jsonProperty(\"PushRetryStrategy\", \"BACKOFF_RETRY\")\n )),\n jsonProperty(\"errorsTolerance\", \"ALL\"),\n jsonProperty(\"mode\", \"event-driven\")\n ))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n serviceLinkedRole:\n type: alicloud:eventbridge:ServiceLinkedRole\n name: service_linked_role\n properties:\n productName: AliyunServiceRoleForEventBridgeSendToFC\n defaultService:\n type: alicloud:fc:Service\n name: default\n properties:\n name: example-value-${defaultInteger.result}\n description: example-value\n internetAccess: false\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${defaultInteger.result}\n # If you upload the function by OSS Bucket, you need to specify path can't upload by content.\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.id}\n key: index.py\n content: \"import logging \\ndef handler(event, context): \\nlogger = logging.getLogger() \\nlogger.info('hello world') \\nreturn 'hello world'\"\n defaultFunction:\n type: alicloud:fc:Function\n name: default\n properties:\n service: ${defaultService.name}\n name: terraform-example\n description: example\n ossBucket: ${defaultBucket.id}\n ossKey: ${defaultBucketObject.key}\n memorySize: '512'\n runtime: python3.10\n handler: hello.handler\n ossTrigger:\n type: alicloud:fc:Trigger\n name: oss_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-oss\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventSourceConfig:\n eventSourceType: Default\n eventRuleFilterPattern: '{\"source\":[\"acs.oss\"],\"type\":[\"oss:BucketCreated:PutBucket\"]}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n mnsTrigger:\n type: alicloud:fc:Trigger\n name: mns_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-mns\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventSourceConfig:\n eventSourceType: MNS\n eventSourceParameters:\n sourceMNSParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n QueueName: mns-queue\n IsBase64Decode: true\n eventRuleFilterPattern: '{}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: terraform-example-${defaultInteger.result}\n remark: terraform-example\n defaultGroup:\n type: alicloud:rocketmq:Group\n name: default\n properties:\n groupName: GID-example\n instanceId: ${defaultInstance.id}\n remark: terraform-example\n defaultTopic:\n type: alicloud:rocketmq:Topic\n name: default\n properties:\n topicName: mytopic\n instanceId: ${defaultInstance.id}\n messageType: 0\n remark: terraform-example\n rocketmqTrigger:\n type: alicloud:fc:Trigger\n name: rocketmq_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-rocketmq\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventRuleFilterPattern: '{}'\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n eventSourceConfig:\n eventSourceType: RocketMQ\n eventSourceParameters:\n sourceRocketMQParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n InstanceId: ${defaultInstance.id}\n GroupID: ${defaultGroup.groupName}\n Topic: ${defaultTopic.topicName}\n Timestamp: 1.686296162e+09\n Tag: example-tag\n Offset: CONSUME_FROM_LAST_OFFSET\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\n defaultInstance2:\n type: alicloud:amqp:Instance\n name: default\n properties:\n instanceName: terraform-example-${defaultInteger.result}\n instanceType: professional\n maxTps: 1000\n queueCapacity: 50\n supportEip: true\n maxEipTps: 128\n paymentType: Subscription\n period: 1\n defaultVirtualHost:\n type: alicloud:amqp:VirtualHost\n name: default\n properties:\n instanceId: ${defaultInstance2.id}\n virtualHostName: example-VirtualHost\n defaultQueue:\n type: alicloud:amqp:Queue\n name: default\n properties:\n instanceId: ${defaultVirtualHost.instanceId}\n queueName: example-queue\n virtualHostName: ${defaultVirtualHost.virtualHostName}\n rabbitmqTrigger:\n type: alicloud:fc:Trigger\n name: rabbitmq_trigger\n properties:\n service: ${defaultService.name}\n function: ${defaultFunction.name}\n name: terraform-example-rabbitmq\n type: eventbridge\n config:\n fn::toJSON:\n triggerEnable: false\n asyncInvocationType: false\n eventRuleFilterPattern: '{}'\n eventSourceConfig:\n eventSourceType: RabbitMQ\n eventSourceParameters:\n sourceRabbitMQParameters:\n RegionId: ${defaultGetRegions.regions[0].id}\n InstanceId: ${defaultInstance2.id}\n VirtualHostName: ${defaultVirtualHost.virtualHostName}\n QueueName: ${defaultQueue.queueName}\n eventSinkConfig:\n deliveryOption:\n mode: event-driven\n eventSchema: CloudEvents\n runOptions:\n retryStrategy:\n PushRetryStrategy: BACKOFF_RETRY\n errorsTolerance: ALL\n mode: event-driven\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing fc module \nto create several triggers quickly.\n\n## Import\n\nFunction Compute trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/trigger:Trigger foo my-fc-service:hello-world:hello-trigger\n```\n\n", "properties": { "config": { "type": "string", @@ -187996,7 +191814,7 @@ } }, "alicloud:fc/v3Alias:V3Alias": { - "description": "Provides a FCV3 Alias resource.\n\nAlias for functions.\n\nFor information about FCV3 Alias and how to use it, see [What is Alias](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-createalias).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"flask-3xdg\";\nconst _default = new alicloud.fc.V3Alias(\"default\", {\n versionId: \"1\",\n functionName: functionName,\n description: \"create alias\",\n aliasName: name,\n additionalVersionWeight: {\n \"2\": 0.5,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"flask-3xdg\"\ndefault = alicloud.fc.V3Alias(\"default\",\n version_id=\"1\",\n function_name=function_name,\n description=\"create alias\",\n alias_name=name,\n additional_version_weight={\n \"2\": 0.5,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"flask-3xdg\";\n var @default = new AliCloud.FC.V3Alias(\"default\", new()\n {\n VersionId = \"1\",\n FunctionName = functionName,\n Description = \"create alias\",\n AliasName = name,\n AdditionalVersionWeight = \n {\n { \"2\", 0.5 },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"flask-3xdg\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\t_, err := fc.NewV3Alias(ctx, \"default\", \u0026fc.V3AliasArgs{\n\t\t\tVersionId: pulumi.String(\"1\"),\n\t\t\tFunctionName: pulumi.String(functionName),\n\t\t\tDescription: pulumi.String(\"create alias\"),\n\t\t\tAliasName: pulumi.String(name),\n\t\t\tAdditionalVersionWeight: pulumi.Float64Map{\n\t\t\t\t\"2\": pulumi.Float64(0.5),\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.alicloud.fc.V3Alias;\nimport com.pulumi.alicloud.fc.V3AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"flask-3xdg\");\n var default_ = new V3Alias(\"default\", V3AliasArgs.builder()\n .versionId(\"1\")\n .functionName(functionName)\n .description(\"create alias\")\n .aliasName(name)\n .additionalVersionWeight(Map.of(\"2\", 0.5))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: flask-3xdg\nresources:\n default:\n type: alicloud:fc:V3Alias\n properties:\n versionId: '1'\n functionName: ${functionName}\n description: create alias\n aliasName: ${name}\n additionalVersionWeight:\n '2': '0.5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Alias:V3Alias example \u003cfunction_name\u003e:\u003calias_name\u003e\n```\n\n", + "description": "Provides a FCV3 Alias resource.\n\nAlias for functions.\n\nFor information about FCV3 Alias and how to use it, see [What is Alias](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-createalias).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"flask-3xdg\";\nconst _default = new alicloud.fc.V3Alias(\"default\", {\n versionId: \"1\",\n functionName: functionName,\n description: \"create alias\",\n aliasName: name,\n additionalVersionWeight: {\n \"2\": 0.5,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"flask-3xdg\"\ndefault = alicloud.fc.V3Alias(\"default\",\n version_id=\"1\",\n function_name=function_name,\n description=\"create alias\",\n alias_name=name,\n additional_version_weight={\n \"2\": 0.5,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"flask-3xdg\";\n var @default = new AliCloud.FC.V3Alias(\"default\", new()\n {\n VersionId = \"1\",\n FunctionName = functionName,\n Description = \"create alias\",\n AliasName = name,\n AdditionalVersionWeight = \n {\n { \"2\", 0.5 },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"flask-3xdg\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\t_, err := fc.NewV3Alias(ctx, \"default\", \u0026fc.V3AliasArgs{\n\t\t\tVersionId: pulumi.String(\"1\"),\n\t\t\tFunctionName: pulumi.String(functionName),\n\t\t\tDescription: pulumi.String(\"create alias\"),\n\t\t\tAliasName: pulumi.String(name),\n\t\t\tAdditionalVersionWeight: pulumi.Float64Map{\n\t\t\t\t\"2\": pulumi.Float64(0.5),\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.alicloud.fc.V3Alias;\nimport com.pulumi.alicloud.fc.V3AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"flask-3xdg\");\n var default_ = new V3Alias(\"default\", V3AliasArgs.builder()\n .versionId(\"1\")\n .functionName(functionName)\n .description(\"create alias\")\n .aliasName(name)\n .additionalVersionWeight(Map.of(\"2\", 0.5))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: flask-3xdg\nresources:\n default:\n type: alicloud:fc:V3Alias\n properties:\n versionId: '1'\n functionName: ${functionName}\n description: create alias\n aliasName: ${name}\n additionalVersionWeight:\n '2': '0.5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Alias:V3Alias example \u003cfunction_name\u003e:\u003calias_name\u003e\n```\n\n", "properties": { "additionalVersionWeight": { "type": "object", @@ -188107,7 +191925,7 @@ } }, "alicloud:fc/v3AsyncInvokeConfig:V3AsyncInvokeConfig": { - "description": "Provides a FCV3 Async Invoke Config resource.\n\nFunction Asynchronous Configuration.\n\nFor information about FCV3 Async Invoke Config and how to use it, see [What is Async Invoke Config](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getasyncinvokeconfig).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst function1 = new alicloud.fc.V3Function(\"function1\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: std.format({\n input: \"%s_%s\",\n args: [\n name,\n \"update1\",\n ],\n }).then(invoke =\u003e invoke.result),\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst function2 = new alicloud.fc.V3Function(\"function2\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: std.format({\n input: \"%s_%s\",\n args: [\n name,\n \"update2\",\n ],\n }).then(invoke =\u003e invoke.result),\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3AsyncInvokeConfig(\"default\", {\n maxAsyncRetryAttempts: 1,\n maxAsyncEventAgeInSeconds: 1,\n asyncTask: true,\n functionName: _function.functionName,\n destinationConfig: {\n onFailure: {\n destination: pulumi.all([current, function1.functionName]).apply(([current, functionName]) =\u003e `acs:fc:eu-central-1:${current.id}:functions/${functionName}`),\n },\n onSuccess: {\n destination: pulumi.all([current, function1.functionName]).apply(([current, functionName]) =\u003e `acs:fc:eu-central-1:${current.id}:functions/${functionName}`),\n },\n },\n qualifier: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\nfunction1 = alicloud.fc.V3Function(\"function1\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=std.format(input=\"%s_%s\",\n args=[\n name,\n \"update1\",\n ]).result,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\nfunction2 = alicloud.fc.V3Function(\"function2\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=std.format(input=\"%s_%s\",\n args=[\n name,\n \"update2\",\n ]).result,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3AsyncInvokeConfig(\"default\",\n max_async_retry_attempts=1,\n max_async_event_age_in_seconds=1,\n async_task=True,\n function_name=function.function_name,\n destination_config={\n \"on_failure\": {\n \"destination\": function1.function_name.apply(lambda function_name: f\"acs:fc:eu-central-1:{current.id}:functions/{function_name}\"),\n },\n \"on_success\": {\n \"destination\": function1.function_name.apply(lambda function_name: f\"acs:fc:eu-central-1:{current.id}:functions/{function_name}\"),\n },\n },\n qualifier=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var function1 = new AliCloud.FC.V3Function(\"function1\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = Std.Format.Invoke(new()\n {\n Input = \"%s_%s\",\n Args = new[]\n {\n name,\n \"update1\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var function2 = new AliCloud.FC.V3Function(\"function2\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = Std.Format.Invoke(new()\n {\n Input = \"%s_%s\",\n Args = new[]\n {\n name,\n \"update2\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3AsyncInvokeConfig(\"default\", new()\n {\n MaxAsyncRetryAttempts = 1,\n MaxAsyncEventAgeInSeconds = 1,\n AsyncTask = true,\n FunctionName = function.FunctionName,\n DestinationConfig = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigArgs\n {\n OnFailure = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = Output.Tuple(current, function1.FunctionName).Apply(values =\u003e\n {\n var current = values.Item1;\n var functionName = values.Item2;\n return $\"acs:fc:eu-central-1:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:functions/{functionName}\";\n }),\n },\n OnSuccess = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = Output.Tuple(current, function1.FunctionName).Apply(values =\u003e\n {\n var current = values.Item1;\n var functionName = values.Item2;\n return $\"acs:fc:eu-central-1:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:functions/{functionName}\";\n }),\n },\n },\n Qualifier = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"update1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction1, err := fc.NewV3Function(ctx, \"function1\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(invokeFormat.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"update2\",\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 = fc.NewV3Function(ctx, \"function2\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(invokeFormat1.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3AsyncInvokeConfig(ctx, \"default\", \u0026fc.V3AsyncInvokeConfigArgs{\n\t\t\tMaxAsyncRetryAttempts: pulumi.Int(1),\n\t\t\tMaxAsyncEventAgeInSeconds: pulumi.Int(1),\n\t\t\tAsyncTask: pulumi.Bool(true),\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tDestinationConfig: \u0026fc.V3AsyncInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026fc.V3AsyncInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: function1.FunctionName.ApplyT(func(functionName string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:fc:eu-central-1:%v:functions/%v\", current.Id, functionName), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026fc.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: function1.FunctionName.ApplyT(func(functionName string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:fc:eu-central-1:%v:functions/%v\", current.Id, functionName), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.fc.V3AsyncInvokeConfig;\nimport com.pulumi.alicloud.fc.V3AsyncInvokeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var function1 = new V3Function(\"function1\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%s\")\n .args( \n name,\n \"update1\")\n .build()).result())\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var function2 = new V3Function(\"function2\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%s\")\n .args( \n name,\n \"update2\")\n .build()).result())\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3AsyncInvokeConfig(\"default\", V3AsyncInvokeConfigArgs.builder()\n .maxAsyncRetryAttempts(1)\n .maxAsyncEventAgeInSeconds(1)\n .asyncTask(true)\n .functionName(function.functionName())\n .destinationConfig(V3AsyncInvokeConfigDestinationConfigArgs.builder()\n .onFailure(V3AsyncInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(function1.functionName().applyValue(_functionName -\u003e String.format(\"acs:fc:eu-central-1:%s:functions/%s\", current.id(),_functionName)))\n .build())\n .onSuccess(V3AsyncInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(function1.functionName().applyValue(_functionName -\u003e String.format(\"acs:fc:eu-central-1:%s:functions/%s\", current.id(),_functionName)))\n .build())\n .build())\n .qualifier(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n function1:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s_%s'\n args:\n - ${name}\n - update1\n return: result\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n function2:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s_%s'\n args:\n - ${name}\n - update2\n return: result\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3AsyncInvokeConfig\n properties:\n maxAsyncRetryAttempts: '1'\n maxAsyncEventAgeInSeconds: '1'\n asyncTask: 'true'\n functionName: ${function.functionName}\n destinationConfig:\n onFailure:\n destination: acs:fc:eu-central-1:${current.id}:functions/${function1.functionName}\n onSuccess:\n destination: acs:fc:eu-central-1:${current.id}:functions/${function1.functionName}\n qualifier: LATEST\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Async Invoke Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3AsyncInvokeConfig:V3AsyncInvokeConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a FCV3 Async Invoke Config resource.\n\nFunction Asynchronous Configuration.\n\nFor information about FCV3 Async Invoke Config and how to use it, see [What is Async Invoke Config](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getasyncinvokeconfig).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst function1 = new alicloud.fc.V3Function(\"function1\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: std.format({\n input: \"%s_%s\",\n args: [\n name,\n \"update1\",\n ],\n }).then(invoke =\u003e invoke.result),\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst function2 = new alicloud.fc.V3Function(\"function2\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: std.format({\n input: \"%s_%s\",\n args: [\n name,\n \"update2\",\n ],\n }).then(invoke =\u003e invoke.result),\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3AsyncInvokeConfig(\"default\", {\n maxAsyncRetryAttempts: 1,\n maxAsyncEventAgeInSeconds: 1,\n asyncTask: true,\n functionName: _function.functionName,\n destinationConfig: {\n onFailure: {\n destination: pulumi.all([current, function1.functionName]).apply(([current, functionName]) =\u003e `acs:fc:eu-central-1:${current.id}:functions/${functionName}`),\n },\n onSuccess: {\n destination: pulumi.all([current, function1.functionName]).apply(([current, functionName]) =\u003e `acs:fc:eu-central-1:${current.id}:functions/${functionName}`),\n },\n },\n qualifier: \"LATEST\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\nfunction1 = alicloud.fc.V3Function(\"function1\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=std.format(input=\"%s_%s\",\n args=[\n name,\n \"update1\",\n ]).result,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\nfunction2 = alicloud.fc.V3Function(\"function2\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=std.format(input=\"%s_%s\",\n args=[\n name,\n \"update2\",\n ]).result,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3AsyncInvokeConfig(\"default\",\n max_async_retry_attempts=1,\n max_async_event_age_in_seconds=1,\n async_task=True,\n function_name=function.function_name,\n destination_config={\n \"on_failure\": {\n \"destination\": function1.function_name.apply(lambda function_name: f\"acs:fc:eu-central-1:{current.id}:functions/{function_name}\"),\n },\n \"on_success\": {\n \"destination\": function1.function_name.apply(lambda function_name: f\"acs:fc:eu-central-1:{current.id}:functions/{function_name}\"),\n },\n },\n qualifier=\"LATEST\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var function1 = new AliCloud.FC.V3Function(\"function1\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = Std.Format.Invoke(new()\n {\n Input = \"%s_%s\",\n Args = new[]\n {\n name,\n \"update1\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var function2 = new AliCloud.FC.V3Function(\"function2\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = Std.Format.Invoke(new()\n {\n Input = \"%s_%s\",\n Args = new[]\n {\n name,\n \"update2\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3AsyncInvokeConfig(\"default\", new()\n {\n MaxAsyncRetryAttempts = 1,\n MaxAsyncEventAgeInSeconds = 1,\n AsyncTask = true,\n FunctionName = function.FunctionName,\n DestinationConfig = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigArgs\n {\n OnFailure = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigOnFailureArgs\n {\n Destination = Output.Tuple(current, function1.FunctionName).Apply(values =\u003e\n {\n var current = values.Item1;\n var functionName = values.Item2;\n return $\"acs:fc:eu-central-1:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:functions/{functionName}\";\n }),\n },\n OnSuccess = new AliCloud.FC.Inputs.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs\n {\n Destination = Output.Tuple(current, function1.FunctionName).Apply(values =\u003e\n {\n var current = values.Item1;\n var functionName = values.Item2;\n return $\"acs:fc:eu-central-1:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:functions/{functionName}\";\n }),\n },\n },\n Qualifier = \"LATEST\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"update1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction1, err := fc.NewV3Function(ctx, \"function1\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(invokeFormat.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s_%s\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t\t\"update2\",\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 = fc.NewV3Function(ctx, \"function2\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(invokeFormat1.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3AsyncInvokeConfig(ctx, \"default\", \u0026fc.V3AsyncInvokeConfigArgs{\n\t\t\tMaxAsyncRetryAttempts: pulumi.Int(1),\n\t\t\tMaxAsyncEventAgeInSeconds: pulumi.Int(1),\n\t\t\tAsyncTask: pulumi.Bool(true),\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tDestinationConfig: \u0026fc.V3AsyncInvokeConfigDestinationConfigArgs{\n\t\t\t\tOnFailure: \u0026fc.V3AsyncInvokeConfigDestinationConfigOnFailureArgs{\n\t\t\t\t\tDestination: function1.FunctionName.ApplyT(func(functionName string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:fc:eu-central-1:%v:functions/%v\", current.Id, functionName), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t\tOnSuccess: \u0026fc.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs{\n\t\t\t\t\tDestination: function1.FunctionName.ApplyT(func(functionName string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"acs:fc:eu-central-1:%v:functions/%v\", current.Id, functionName), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.fc.V3AsyncInvokeConfig;\nimport com.pulumi.alicloud.fc.V3AsyncInvokeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigOnFailureArgs;\nimport com.pulumi.alicloud.fc.inputs.V3AsyncInvokeConfigDestinationConfigOnSuccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var function1 = new V3Function(\"function1\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%s\")\n .args( \n name,\n \"update1\")\n .build()).result())\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var function2 = new V3Function(\"function2\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s_%s\")\n .args( \n name,\n \"update2\")\n .build()).result())\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3AsyncInvokeConfig(\"default\", V3AsyncInvokeConfigArgs.builder()\n .maxAsyncRetryAttempts(1)\n .maxAsyncEventAgeInSeconds(1)\n .asyncTask(true)\n .functionName(function.functionName())\n .destinationConfig(V3AsyncInvokeConfigDestinationConfigArgs.builder()\n .onFailure(V3AsyncInvokeConfigDestinationConfigOnFailureArgs.builder()\n .destination(function1.functionName().applyValue(_functionName -\u003e String.format(\"acs:fc:eu-central-1:%s:functions/%s\", current.id(),_functionName)))\n .build())\n .onSuccess(V3AsyncInvokeConfigDestinationConfigOnSuccessArgs.builder()\n .destination(function1.functionName().applyValue(_functionName -\u003e String.format(\"acs:fc:eu-central-1:%s:functions/%s\", current.id(),_functionName)))\n .build())\n .build())\n .qualifier(\"LATEST\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n function1:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s_%s'\n args:\n - ${name}\n - update1\n return: result\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n function2:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s_%s'\n args:\n - ${name}\n - update2\n return: result\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3AsyncInvokeConfig\n properties:\n maxAsyncRetryAttempts: '1'\n maxAsyncEventAgeInSeconds: '1'\n asyncTask: 'true'\n functionName: ${function.functionName}\n destinationConfig:\n onFailure:\n destination: acs:fc:eu-central-1:${current.id}:functions/${function1.functionName}\n onSuccess:\n destination: acs:fc:eu-central-1:${current.id}:functions/${function1.functionName}\n qualifier: LATEST\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Async Invoke Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3AsyncInvokeConfig:V3AsyncInvokeConfig example \u003cid\u003e\n```\n\n", "properties": { "asyncTask": { "type": "boolean", @@ -188227,7 +192045,7 @@ } }, "alicloud:fc/v3ConcurrencyConfig:V3ConcurrencyConfig": { - "description": "Provides a FCV3 Concurrency Config resource.\n\nFunction concurrency configuration.\n\nFor information about FCV3 Concurrency Config and how to use it, see [What is Concurrency Config](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-putconcurrencyconfig).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3ConcurrencyConfig(\"default\", {\n functionName: _function.functionName,\n reservedConcurrency: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3ConcurrencyConfig(\"default\",\n function_name=function.function_name,\n reserved_concurrency=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3ConcurrencyConfig(\"default\", new()\n {\n FunctionName = function.FunctionName,\n ReservedConcurrency = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3ConcurrencyConfig(ctx, \"default\", \u0026fc.V3ConcurrencyConfigArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tReservedConcurrency: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3ConcurrencyConfig;\nimport com.pulumi.alicloud.fc.V3ConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3ConcurrencyConfig(\"default\", V3ConcurrencyConfigArgs.builder()\n .functionName(function.functionName())\n .reservedConcurrency(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3ConcurrencyConfig\n properties:\n functionName: ${function.functionName}\n reservedConcurrency: '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Concurrency Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3ConcurrencyConfig:V3ConcurrencyConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a FCV3 Concurrency Config resource.\n\nFunction concurrency configuration.\n\nFor information about FCV3 Concurrency Config and how to use it, see [What is Concurrency Config](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-putconcurrencyconfig).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3ConcurrencyConfig(\"default\", {\n functionName: _function.functionName,\n reservedConcurrency: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3ConcurrencyConfig(\"default\",\n function_name=function.function_name,\n reserved_concurrency=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3ConcurrencyConfig(\"default\", new()\n {\n FunctionName = function.FunctionName,\n ReservedConcurrency = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3ConcurrencyConfig(ctx, \"default\", \u0026fc.V3ConcurrencyConfigArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tReservedConcurrency: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3ConcurrencyConfig;\nimport com.pulumi.alicloud.fc.V3ConcurrencyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3ConcurrencyConfig(\"default\", V3ConcurrencyConfigArgs.builder()\n .functionName(function.functionName())\n .reservedConcurrency(100)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3ConcurrencyConfig\n properties:\n functionName: ${function.functionName}\n reservedConcurrency: '100'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Concurrency Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3ConcurrencyConfig:V3ConcurrencyConfig example \u003cid\u003e\n```\n\n", "properties": { "functionArn": { "type": "string", @@ -188281,7 +192099,7 @@ } }, "alicloud:fc/v3CustomDomain:V3CustomDomain": { - "description": "Provides a FCV3 Custom Domain resource.\n\nCustom Domain names allow users to access FC functions through custom domain names, providing convenience for building Web services using function compute.\nYou can bind a custom domain name to Function Compute and set different paths to different functions of different services.\n\nFor information about FCV3 Custom Domain and how to use it, see [What is Custom Domain](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getcustomdomain).\n\n\u003e **NOTE:** This content is a technical preview, and should not be relied on in a production environment.\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\";\nconst functionName1 = config.get(\"functionName1\") || \"terraform-custom-domain-t1\";\nconst authConfig = config.get(\"authConfig\") || `{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n`;\nconst certificate = config.get(\"certificate\") || `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`;\nconst privateKey = config.get(\"privateKey\") || `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`;\nconst _default = new alicloud.fc.V3CustomDomain(\"default\", {\n customDomainName: name,\n routeConfig: {\n routes: [\n {\n functionName: functionName1,\n rewriteConfig: {\n regexRules: [\n {\n match: \"/api/*\",\n replacement: \"$1\",\n },\n {\n match: \"/api1/*\",\n replacement: \"$1\",\n },\n {\n match: \"/api2/*\",\n replacement: \"$1\",\n },\n ],\n wildcardRules: [\n {\n match: \"^/api1/.+?/(.*)\",\n replacement: \"/api/v1/$1\",\n },\n {\n match: \"^/api2/.+?/(.*)\",\n replacement: \"/api/v2/$1\",\n },\n {\n match: \"^/api2/.+?/(.*)\",\n replacement: \"/api/v3/$1\",\n },\n ],\n equalRules: [\n {\n match: \"/old\",\n replacement: \"/new\",\n },\n {\n replacement: \"/new1\",\n match: \"/old1\",\n },\n {\n match: \"/old2\",\n replacement: \"/new2\",\n },\n ],\n },\n methods: [\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n ],\n path: \"/a\",\n qualifier: \"LATEST\",\n },\n {\n functionName: functionName1,\n methods: [\"GET\"],\n path: \"/b\",\n qualifier: \"LATEST\",\n },\n {\n functionName: functionName1,\n methods: [\"POST\"],\n path: \"/c\",\n qualifier: \"1\",\n },\n ],\n },\n authConfig: {\n authType: \"jwt\",\n authInfo: authConfig,\n },\n protocol: \"HTTP,HTTPS\",\n certConfig: {\n certName: \"cert-name\",\n certificate: certificate,\n privateKey: privateKey,\n },\n tlsConfig: {\n cipherSuites: [\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n ],\n maxVersion: \"TLSv1.3\",\n minVersion: \"TLSv1.0\",\n },\n wafConfig: {\n enableWaf: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\"\nfunction_name1 = config.get(\"functionName1\")\nif function_name1 is None:\n function_name1 = \"terraform-custom-domain-t1\"\nauth_config = config.get(\"authConfig\")\nif auth_config is None:\n auth_config = \"\"\"{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n\"\"\"\ncertificate = config.get(\"certificate\")\nif certificate is None:\n certificate = \"\"\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\"\"\"\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\"\"\"\ndefault = alicloud.fc.V3CustomDomain(\"default\",\n custom_domain_name=name,\n route_config={\n \"routes\": [\n {\n \"function_name\": function_name1,\n \"rewrite_config\": {\n \"regex_rules\": [\n {\n \"match\": \"/api/*\",\n \"replacement\": \"$1\",\n },\n {\n \"match\": \"/api1/*\",\n \"replacement\": \"$1\",\n },\n {\n \"match\": \"/api2/*\",\n \"replacement\": \"$1\",\n },\n ],\n \"wildcard_rules\": [\n {\n \"match\": \"^/api1/.+?/(.*)\",\n \"replacement\": \"/api/v1/$1\",\n },\n {\n \"match\": \"^/api2/.+?/(.*)\",\n \"replacement\": \"/api/v2/$1\",\n },\n {\n \"match\": \"^/api2/.+?/(.*)\",\n \"replacement\": \"/api/v3/$1\",\n },\n ],\n \"equal_rules\": [\n {\n \"match\": \"/old\",\n \"replacement\": \"/new\",\n },\n {\n \"replacement\": \"/new1\",\n \"match\": \"/old1\",\n },\n {\n \"match\": \"/old2\",\n \"replacement\": \"/new2\",\n },\n ],\n },\n \"methods\": [\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n ],\n \"path\": \"/a\",\n \"qualifier\": \"LATEST\",\n },\n {\n \"function_name\": function_name1,\n \"methods\": [\"GET\"],\n \"path\": \"/b\",\n \"qualifier\": \"LATEST\",\n },\n {\n \"function_name\": function_name1,\n \"methods\": [\"POST\"],\n \"path\": \"/c\",\n \"qualifier\": \"1\",\n },\n ],\n },\n auth_config={\n \"auth_type\": \"jwt\",\n \"auth_info\": auth_config,\n },\n protocol=\"HTTP,HTTPS\",\n cert_config={\n \"cert_name\": \"cert-name\",\n \"certificate\": certificate,\n \"private_key\": private_key,\n },\n tls_config={\n \"cipher_suites\": [\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n ],\n \"max_version\": \"TLSv1.3\",\n \"min_version\": \"TLSv1.0\",\n },\n waf_config={\n \"enable_waf\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\";\n var functionName1 = config.Get(\"functionName1\") ?? \"terraform-custom-domain-t1\";\n var authConfig = config.Get(\"authConfig\") ?? @\"{\n \"\"jwks\"\": {\n \"\"keys\"\": [\n {\n \"\"p\"\": \"\"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\"\",\n \"\"kty\"\": \"\"RSA\"\",\n \"\"q\"\": \"\"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\"\",\n \"\"d\"\": \"\"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\"\",\n \"\"e\"\": \"\"AQAB\"\",\n \"\"use\"\": \"\"sig\"\",\n \"\"qi\"\": \"\"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\"\",\n \"\"dp\"\": \"\"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\"\",\n \"\"alg\"\": \"\"RS256\"\",\n \"\"dq\"\": \"\"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\"\",\n \"\"n\"\": \"\"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\"\n }\n ]\n },\n \"\"tokenLookup\"\": \"\"header:auth\"\",\n \"\"claimPassBy\"\": \"\"header:name:name\"\"\n}\n\";\n var certificate = config.Get(\"certificate\") ?? @\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\";\n var privateKey = config.Get(\"privateKey\") ?? @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\";\n var @default = new AliCloud.FC.V3CustomDomain(\"default\", new()\n {\n CustomDomainName = name,\n RouteConfig = new AliCloud.FC.Inputs.V3CustomDomainRouteConfigArgs\n {\n Routes = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n RewriteConfig = new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigArgs\n {\n RegexRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api/*\",\n Replacement = \"$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api1/*\",\n Replacement = \"$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api2/*\",\n Replacement = \"$1\",\n },\n },\n WildcardRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api1/.+?/(.*)\",\n Replacement = \"/api/v1/$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api2/.+?/(.*)\",\n Replacement = \"/api/v2/$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api2/.+?/(.*)\",\n Replacement = \"/api/v3/$1\",\n },\n },\n EqualRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Match = \"/old\",\n Replacement = \"/new\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Replacement = \"/new1\",\n Match = \"/old1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Match = \"/old2\",\n Replacement = \"/new2\",\n },\n },\n },\n Methods = new[]\n {\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n },\n Path = \"/a\",\n Qualifier = \"LATEST\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n Methods = new[]\n {\n \"GET\",\n },\n Path = \"/b\",\n Qualifier = \"LATEST\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n Methods = new[]\n {\n \"POST\",\n },\n Path = \"/c\",\n Qualifier = \"1\",\n },\n },\n },\n AuthConfig = new AliCloud.FC.Inputs.V3CustomDomainAuthConfigArgs\n {\n AuthType = \"jwt\",\n AuthInfo = authConfig,\n },\n Protocol = \"HTTP,HTTPS\",\n CertConfig = new AliCloud.FC.Inputs.V3CustomDomainCertConfigArgs\n {\n CertName = \"cert-name\",\n Certificate = certificate,\n PrivateKey = privateKey,\n },\n TlsConfig = new AliCloud.FC.Inputs.V3CustomDomainTlsConfigArgs\n {\n CipherSuites = new[]\n {\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n },\n MaxVersion = \"TLSv1.3\",\n MinVersion = \"TLSv1.0\",\n },\n WafConfig = new AliCloud.FC.Inputs.V3CustomDomainWafConfigArgs\n {\n EnableWaf = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName1 := \"terraform-custom-domain-t1\"\n\t\tif param := cfg.Get(\"functionName1\"); param != \"\" {\n\t\t\tfunctionName1 = param\n\t\t}\n\t\tauthConfig := `{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n`\n\t\tif param := cfg.Get(\"authConfig\"); param != \"\" {\n\t\t\tauthConfig = param\n\t\t}\n\t\tcertificate := `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`\n\t\tif param := cfg.Get(\"certificate\"); param != \"\" {\n\t\t\tcertificate = param\n\t\t}\n\t\tprivateKey := `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\t_, err := fc.NewV3CustomDomain(ctx, \"default\", \u0026fc.V3CustomDomainArgs{\n\t\t\tCustomDomainName: pulumi.String(name),\n\t\t\tRouteConfig: \u0026fc.V3CustomDomainRouteConfigArgs{\n\t\t\t\tRoutes: fc.V3CustomDomainRouteConfigRouteArray{\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tRewriteConfig: \u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigArgs{\n\t\t\t\t\t\t\tRegexRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api1/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api2/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWildcardRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api1/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v1/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api2/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v2/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api2/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v3/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEqualRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new1\"),\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old2\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/a\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/b\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/c\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthConfig: \u0026fc.V3CustomDomainAuthConfigArgs{\n\t\t\t\tAuthType: pulumi.String(\"jwt\"),\n\t\t\t\tAuthInfo: pulumi.String(authConfig),\n\t\t\t},\n\t\t\tProtocol: pulumi.String(\"HTTP,HTTPS\"),\n\t\t\tCertConfig: \u0026fc.V3CustomDomainCertConfigArgs{\n\t\t\t\tCertName: pulumi.String(\"cert-name\"),\n\t\t\t\tCertificate: pulumi.String(certificate),\n\t\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t\t},\n\t\t\tTlsConfig: \u0026fc.V3CustomDomainTlsConfigArgs{\n\t\t\t\tCipherSuites: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_128_CBC_SHA\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_256_CBC_SHA\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_128_GCM_SHA256\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_256_GCM_SHA384\"),\n\t\t\t\t},\n\t\t\t\tMaxVersion: pulumi.String(\"TLSv1.3\"),\n\t\t\t\tMinVersion: pulumi.String(\"TLSv1.0\"),\n\t\t\t},\n\t\t\tWafConfig: \u0026fc.V3CustomDomainWafConfigArgs{\n\t\t\t\tEnableWaf: pulumi.Bool(false),\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.alicloud.fc.V3CustomDomain;\nimport com.pulumi.alicloud.fc.V3CustomDomainArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainRouteConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainAuthConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainCertConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainTlsConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainWafConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\");\n final var functionName1 = config.get(\"functionName1\").orElse(\"terraform-custom-domain-t1\");\n final var authConfig = config.get(\"authConfig\").orElse(\"\"\"\n{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n \"\"\");\n final var certificate = config.get(\"certificate\").orElse(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n \"\"\");\n final var privateKey = config.get(\"privateKey\").orElse(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n \"\"\");\n var default_ = new V3CustomDomain(\"default\", V3CustomDomainArgs.builder()\n .customDomainName(name)\n .routeConfig(V3CustomDomainRouteConfigArgs.builder()\n .routes( \n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .rewriteConfig(V3CustomDomainRouteConfigRouteRewriteConfigArgs.builder()\n .regexRules( \n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api/*\")\n .replacement(\"$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api1/*\")\n .replacement(\"$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api2/*\")\n .replacement(\"$1\")\n .build())\n .wildcardRules( \n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api1/.+?/(.*)\")\n .replacement(\"/api/v1/$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api2/.+?/(.*)\")\n .replacement(\"/api/v2/$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api2/.+?/(.*)\")\n .replacement(\"/api/v3/$1\")\n .build())\n .equalRules( \n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .match(\"/old\")\n .replacement(\"/new\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .replacement(\"/new1\")\n .match(\"/old1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .match(\"/old2\")\n .replacement(\"/new2\")\n .build())\n .build())\n .methods( \n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\")\n .path(\"/a\")\n .qualifier(\"LATEST\")\n .build(),\n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .methods(\"GET\")\n .path(\"/b\")\n .qualifier(\"LATEST\")\n .build(),\n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .methods(\"POST\")\n .path(\"/c\")\n .qualifier(\"1\")\n .build())\n .build())\n .authConfig(V3CustomDomainAuthConfigArgs.builder()\n .authType(\"jwt\")\n .authInfo(authConfig)\n .build())\n .protocol(\"HTTP,HTTPS\")\n .certConfig(V3CustomDomainCertConfigArgs.builder()\n .certName(\"cert-name\")\n .certificate(certificate)\n .privateKey(privateKey)\n .build())\n .tlsConfig(V3CustomDomainTlsConfigArgs.builder()\n .cipherSuites( \n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\")\n .maxVersion(\"TLSv1.3\")\n .minVersion(\"TLSv1.0\")\n .build())\n .wafConfig(V3CustomDomainWafConfigArgs.builder()\n .enableWaf(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\n functionName1:\n type: string\n default: terraform-custom-domain-t1\n authConfig:\n type: string\n default: |\n {\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n }\n certificate:\n type: string\n default: |\n -----BEGIN CERTIFICATE-----\n MIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\n BAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\n MA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\n ZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\n djELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\n ChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n 9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\n AoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\n coG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\n KOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\n HQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n +OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\n QkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\n MAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\n AJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\n cQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\n Ofi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\n DUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n -----END CERTIFICATE-----\n privateKey:\n type: string\n default: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\n kg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\n ywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\n AoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n 6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\n hwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\n MdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n 71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\n Ev9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\n qygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n 9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\n zWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\n DrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n -----END RSA PRIVATE KEY-----\nresources:\n default:\n type: alicloud:fc:V3CustomDomain\n properties:\n customDomainName: ${name}\n routeConfig:\n routes:\n - functionName: ${functionName1}\n rewriteConfig:\n regexRules:\n - match: /api/*\n replacement: $1\n - match: /api1/*\n replacement: $1\n - match: /api2/*\n replacement: $1\n wildcardRules:\n - match: ^/api1/.+?/(.*)\n replacement: /api/v1/$1\n - match: ^/api2/.+?/(.*)\n replacement: /api/v2/$1\n - match: ^/api2/.+?/(.*)\n replacement: /api/v3/$1\n equalRules:\n - match: /old\n replacement: /new\n - replacement: /new1\n match: /old1\n - match: /old2\n replacement: /new2\n methods:\n - GET\n - POST\n - DELETE\n - HEAD\n path: /a\n qualifier: LATEST\n - functionName: ${functionName1}\n methods:\n - GET\n path: /b\n qualifier: LATEST\n - functionName: ${functionName1}\n methods:\n - POST\n path: /c\n qualifier: '1'\n authConfig:\n authType: jwt\n authInfo: ${authConfig}\n protocol: HTTP,HTTPS\n certConfig:\n certName: cert-name\n certificate: ${certificate}\n privateKey: ${privateKey}\n tlsConfig:\n cipherSuites:\n - TLS_RSA_WITH_AES_128_CBC_SHA\n - TLS_RSA_WITH_AES_256_CBC_SHA\n - TLS_RSA_WITH_AES_128_GCM_SHA256\n - TLS_RSA_WITH_AES_256_GCM_SHA384\n maxVersion: TLSv1.3\n minVersion: TLSv1.0\n wafConfig:\n enableWaf: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Custom Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3CustomDomain:V3CustomDomain example \u003cid\u003e\n```\n\n", + "description": "Provides a FCV3 Custom Domain resource.\n\nCustom Domain names allow users to access FC functions through custom domain names, providing convenience for building Web services using function compute.\nYou can bind a custom domain name to Function Compute and set different paths to different functions of different services.\n\nFor information about FCV3 Custom Domain and how to use it, see [What is Custom Domain](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getcustomdomain).\n\n\u003e **NOTE:** This content is a technical preview, and should not be relied on in a production environment.\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\";\nconst functionName1 = config.get(\"functionName1\") || \"terraform-custom-domain-t1\";\nconst authConfig = config.get(\"authConfig\") || `{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n`;\nconst certificate = config.get(\"certificate\") || `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`;\nconst privateKey = config.get(\"privateKey\") || `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`;\nconst _default = new alicloud.fc.V3CustomDomain(\"default\", {\n customDomainName: name,\n routeConfig: {\n routes: [\n {\n functionName: functionName1,\n rewriteConfig: {\n regexRules: [\n {\n match: \"/api/*\",\n replacement: \"$1\",\n },\n {\n match: \"/api1/*\",\n replacement: \"$1\",\n },\n {\n match: \"/api2/*\",\n replacement: \"$1\",\n },\n ],\n wildcardRules: [\n {\n match: \"^/api1/.+?/(.*)\",\n replacement: \"/api/v1/$1\",\n },\n {\n match: \"^/api2/.+?/(.*)\",\n replacement: \"/api/v2/$1\",\n },\n {\n match: \"^/api2/.+?/(.*)\",\n replacement: \"/api/v3/$1\",\n },\n ],\n equalRules: [\n {\n match: \"/old\",\n replacement: \"/new\",\n },\n {\n replacement: \"/new1\",\n match: \"/old1\",\n },\n {\n match: \"/old2\",\n replacement: \"/new2\",\n },\n ],\n },\n methods: [\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n ],\n path: \"/a\",\n qualifier: \"LATEST\",\n },\n {\n functionName: functionName1,\n methods: [\"GET\"],\n path: \"/b\",\n qualifier: \"LATEST\",\n },\n {\n functionName: functionName1,\n methods: [\"POST\"],\n path: \"/c\",\n qualifier: \"1\",\n },\n ],\n },\n authConfig: {\n authType: \"jwt\",\n authInfo: authConfig,\n },\n protocol: \"HTTP,HTTPS\",\n certConfig: {\n certName: \"cert-name\",\n certificate: certificate,\n privateKey: privateKey,\n },\n tlsConfig: {\n cipherSuites: [\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n ],\n maxVersion: \"TLSv1.3\",\n minVersion: \"TLSv1.0\",\n },\n wafConfig: {\n enableWaf: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\"\nfunction_name1 = config.get(\"functionName1\")\nif function_name1 is None:\n function_name1 = \"terraform-custom-domain-t1\"\nauth_config = config.get(\"authConfig\")\nif auth_config is None:\n auth_config = \"\"\"{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n\"\"\"\ncertificate = config.get(\"certificate\")\nif certificate is None:\n certificate = \"\"\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\"\"\"\nprivate_key = config.get(\"privateKey\")\nif private_key is None:\n private_key = \"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\"\"\"\ndefault = alicloud.fc.V3CustomDomain(\"default\",\n custom_domain_name=name,\n route_config={\n \"routes\": [\n {\n \"function_name\": function_name1,\n \"rewrite_config\": {\n \"regex_rules\": [\n {\n \"match\": \"/api/*\",\n \"replacement\": \"$1\",\n },\n {\n \"match\": \"/api1/*\",\n \"replacement\": \"$1\",\n },\n {\n \"match\": \"/api2/*\",\n \"replacement\": \"$1\",\n },\n ],\n \"wildcard_rules\": [\n {\n \"match\": \"^/api1/.+?/(.*)\",\n \"replacement\": \"/api/v1/$1\",\n },\n {\n \"match\": \"^/api2/.+?/(.*)\",\n \"replacement\": \"/api/v2/$1\",\n },\n {\n \"match\": \"^/api2/.+?/(.*)\",\n \"replacement\": \"/api/v3/$1\",\n },\n ],\n \"equal_rules\": [\n {\n \"match\": \"/old\",\n \"replacement\": \"/new\",\n },\n {\n \"replacement\": \"/new1\",\n \"match\": \"/old1\",\n },\n {\n \"match\": \"/old2\",\n \"replacement\": \"/new2\",\n },\n ],\n },\n \"methods\": [\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n ],\n \"path\": \"/a\",\n \"qualifier\": \"LATEST\",\n },\n {\n \"function_name\": function_name1,\n \"methods\": [\"GET\"],\n \"path\": \"/b\",\n \"qualifier\": \"LATEST\",\n },\n {\n \"function_name\": function_name1,\n \"methods\": [\"POST\"],\n \"path\": \"/c\",\n \"qualifier\": \"1\",\n },\n ],\n },\n auth_config={\n \"auth_type\": \"jwt\",\n \"auth_info\": auth_config,\n },\n protocol=\"HTTP,HTTPS\",\n cert_config={\n \"cert_name\": \"cert-name\",\n \"certificate\": certificate,\n \"private_key\": private_key,\n },\n tls_config={\n \"cipher_suites\": [\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n ],\n \"max_version\": \"TLSv1.3\",\n \"min_version\": \"TLSv1.0\",\n },\n waf_config={\n \"enable_waf\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\";\n var functionName1 = config.Get(\"functionName1\") ?? \"terraform-custom-domain-t1\";\n var authConfig = config.Get(\"authConfig\") ?? @\"{\n \"\"jwks\"\": {\n \"\"keys\"\": [\n {\n \"\"p\"\": \"\"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\"\",\n \"\"kty\"\": \"\"RSA\"\",\n \"\"q\"\": \"\"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\"\",\n \"\"d\"\": \"\"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\"\",\n \"\"e\"\": \"\"AQAB\"\",\n \"\"use\"\": \"\"sig\"\",\n \"\"qi\"\": \"\"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\"\",\n \"\"dp\"\": \"\"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\"\",\n \"\"alg\"\": \"\"RS256\"\",\n \"\"dq\"\": \"\"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\"\",\n \"\"n\"\": \"\"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\"\n }\n ]\n },\n \"\"tokenLookup\"\": \"\"header:auth\"\",\n \"\"claimPassBy\"\": \"\"header:name:name\"\"\n}\n\";\n var certificate = config.Get(\"certificate\") ?? @\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\";\n var privateKey = config.Get(\"privateKey\") ?? @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\";\n var @default = new AliCloud.FC.V3CustomDomain(\"default\", new()\n {\n CustomDomainName = name,\n RouteConfig = new AliCloud.FC.Inputs.V3CustomDomainRouteConfigArgs\n {\n Routes = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n RewriteConfig = new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigArgs\n {\n RegexRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api/*\",\n Replacement = \"$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api1/*\",\n Replacement = \"$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs\n {\n Match = \"/api2/*\",\n Replacement = \"$1\",\n },\n },\n WildcardRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api1/.+?/(.*)\",\n Replacement = \"/api/v1/$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api2/.+?/(.*)\",\n Replacement = \"/api/v2/$1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs\n {\n Match = \"^/api2/.+?/(.*)\",\n Replacement = \"/api/v3/$1\",\n },\n },\n EqualRules = new[]\n {\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Match = \"/old\",\n Replacement = \"/new\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Replacement = \"/new1\",\n Match = \"/old1\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs\n {\n Match = \"/old2\",\n Replacement = \"/new2\",\n },\n },\n },\n Methods = new[]\n {\n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\",\n },\n Path = \"/a\",\n Qualifier = \"LATEST\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n Methods = new[]\n {\n \"GET\",\n },\n Path = \"/b\",\n Qualifier = \"LATEST\",\n },\n new AliCloud.FC.Inputs.V3CustomDomainRouteConfigRouteArgs\n {\n FunctionName = functionName1,\n Methods = new[]\n {\n \"POST\",\n },\n Path = \"/c\",\n Qualifier = \"1\",\n },\n },\n },\n AuthConfig = new AliCloud.FC.Inputs.V3CustomDomainAuthConfigArgs\n {\n AuthType = \"jwt\",\n AuthInfo = authConfig,\n },\n Protocol = \"HTTP,HTTPS\",\n CertConfig = new AliCloud.FC.Inputs.V3CustomDomainCertConfigArgs\n {\n CertName = \"cert-name\",\n Certificate = certificate,\n PrivateKey = privateKey,\n },\n TlsConfig = new AliCloud.FC.Inputs.V3CustomDomainTlsConfigArgs\n {\n CipherSuites = new[]\n {\n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n },\n MaxVersion = \"TLSv1.3\",\n MinVersion = \"TLSv1.0\",\n },\n WafConfig = new AliCloud.FC.Inputs.V3CustomDomainWafConfigArgs\n {\n EnableWaf = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName1 := \"terraform-custom-domain-t1\"\n\t\tif param := cfg.Get(\"functionName1\"); param != \"\" {\n\t\t\tfunctionName1 = param\n\t\t}\n\t\tauthConfig := `{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n`\n\t\tif param := cfg.Get(\"authConfig\"); param != \"\" {\n\t\t\tauthConfig = param\n\t\t}\n\t\tcertificate := `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`\n\t\tif param := cfg.Get(\"certificate\"); param != \"\" {\n\t\t\tcertificate = param\n\t\t}\n\t\tprivateKey := `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`\n\t\tif param := cfg.Get(\"privateKey\"); param != \"\" {\n\t\t\tprivateKey = param\n\t\t}\n\t\t_, err := fc.NewV3CustomDomain(ctx, \"default\", \u0026fc.V3CustomDomainArgs{\n\t\t\tCustomDomainName: pulumi.String(name),\n\t\t\tRouteConfig: \u0026fc.V3CustomDomainRouteConfigArgs{\n\t\t\t\tRoutes: fc.V3CustomDomainRouteConfigRouteArray{\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tRewriteConfig: \u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigArgs{\n\t\t\t\t\t\t\tRegexRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api1/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/api2/*\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWildcardRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api1/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v1/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api2/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v2/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"^/api2/.+?/(.*)\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/api/v3/$1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEqualRules: fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArray{\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new1\"),\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs{\n\t\t\t\t\t\t\t\t\tMatch: pulumi.String(\"/old2\"),\n\t\t\t\t\t\t\t\t\tReplacement: pulumi.String(\"/new2\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\tpulumi.String(\"HEAD\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/a\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/b\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026fc.V3CustomDomainRouteConfigRouteArgs{\n\t\t\t\t\t\tFunctionName: pulumi.String(functionName1),\n\t\t\t\t\t\tMethods: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPath: pulumi.String(\"/c\"),\n\t\t\t\t\t\tQualifier: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthConfig: \u0026fc.V3CustomDomainAuthConfigArgs{\n\t\t\t\tAuthType: pulumi.String(\"jwt\"),\n\t\t\t\tAuthInfo: pulumi.String(authConfig),\n\t\t\t},\n\t\t\tProtocol: pulumi.String(\"HTTP,HTTPS\"),\n\t\t\tCertConfig: \u0026fc.V3CustomDomainCertConfigArgs{\n\t\t\t\tCertName: pulumi.String(\"cert-name\"),\n\t\t\t\tCertificate: pulumi.String(certificate),\n\t\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t\t},\n\t\t\tTlsConfig: \u0026fc.V3CustomDomainTlsConfigArgs{\n\t\t\t\tCipherSuites: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_128_CBC_SHA\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_256_CBC_SHA\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_128_GCM_SHA256\"),\n\t\t\t\t\tpulumi.String(\"TLS_RSA_WITH_AES_256_GCM_SHA384\"),\n\t\t\t\t},\n\t\t\t\tMaxVersion: pulumi.String(\"TLSv1.3\"),\n\t\t\t\tMinVersion: pulumi.String(\"TLSv1.0\"),\n\t\t\t},\n\t\t\tWafConfig: \u0026fc.V3CustomDomainWafConfigArgs{\n\t\t\t\tEnableWaf: pulumi.Bool(false),\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.alicloud.fc.V3CustomDomain;\nimport com.pulumi.alicloud.fc.V3CustomDomainArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainRouteConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainAuthConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainCertConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainTlsConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3CustomDomainWafConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\");\n final var functionName1 = config.get(\"functionName1\").orElse(\"terraform-custom-domain-t1\");\n final var authConfig = config.get(\"authConfig\").orElse(\"\"\"\n{\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n}\n \"\"\");\n final var certificate = config.get(\"certificate\").orElse(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n \"\"\");\n final var privateKey = config.get(\"privateKey\").orElse(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n \"\"\");\n var default_ = new V3CustomDomain(\"default\", V3CustomDomainArgs.builder()\n .customDomainName(name)\n .routeConfig(V3CustomDomainRouteConfigArgs.builder()\n .routes( \n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .rewriteConfig(V3CustomDomainRouteConfigRouteRewriteConfigArgs.builder()\n .regexRules( \n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api/*\")\n .replacement(\"$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api1/*\")\n .replacement(\"$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigRegexRuleArgs.builder()\n .match(\"/api2/*\")\n .replacement(\"$1\")\n .build())\n .wildcardRules( \n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api1/.+?/(.*)\")\n .replacement(\"/api/v1/$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api2/.+?/(.*)\")\n .replacement(\"/api/v2/$1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigWildcardRuleArgs.builder()\n .match(\"^/api2/.+?/(.*)\")\n .replacement(\"/api/v3/$1\")\n .build())\n .equalRules( \n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .match(\"/old\")\n .replacement(\"/new\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .replacement(\"/new1\")\n .match(\"/old1\")\n .build(),\n V3CustomDomainRouteConfigRouteRewriteConfigEqualRuleArgs.builder()\n .match(\"/old2\")\n .replacement(\"/new2\")\n .build())\n .build())\n .methods( \n \"GET\",\n \"POST\",\n \"DELETE\",\n \"HEAD\")\n .path(\"/a\")\n .qualifier(\"LATEST\")\n .build(),\n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .methods(\"GET\")\n .path(\"/b\")\n .qualifier(\"LATEST\")\n .build(),\n V3CustomDomainRouteConfigRouteArgs.builder()\n .functionName(functionName1)\n .methods(\"POST\")\n .path(\"/c\")\n .qualifier(\"1\")\n .build())\n .build())\n .authConfig(V3CustomDomainAuthConfigArgs.builder()\n .authType(\"jwt\")\n .authInfo(authConfig)\n .build())\n .protocol(\"HTTP,HTTPS\")\n .certConfig(V3CustomDomainCertConfigArgs.builder()\n .certName(\"cert-name\")\n .certificate(certificate)\n .privateKey(privateKey)\n .build())\n .tlsConfig(V3CustomDomainTlsConfigArgs.builder()\n .cipherSuites( \n \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n \"TLS_RSA_WITH_AES_256_GCM_SHA384\")\n .maxVersion(\"TLSv1.3\")\n .minVersion(\"TLSv1.0\")\n .build())\n .wafConfig(V3CustomDomainWafConfigArgs.builder()\n .enableWaf(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: flask-07ap.fcv3.1511928242963727.cn-shanghai.fc.devsapp.net\n functionName1:\n type: string\n default: terraform-custom-domain-t1\n authConfig:\n type: string\n default: |\n {\n \"jwks\": {\n \"keys\": [\n {\n \"p\": \"8AdUVeldoE4LueFuzEF_C8tvJ7NhlkzS58Gz9KJTPXPr5DADSUVLWJCr5OdFE79q513SneT0UhGo-JfQ1lNMoNv5-YZ1AxIo9fZUEPIe-KyX9ttaglpzCAUE3TeKdm5J-_HZQzBPKbyUwJHAILNgB2-4IBZZwK7LAfbmfi9TmFM\",\n \"kty\": \"RSA\",\n \"q\": \"x8m5ydXwC8AAp9I-hOnUAx6yQJz1Nx-jXPCfn--XdHpJuNcuwRQsuUCSRQs_h3SoCI3qZZdzswQnPrtHFxgUJtQFuMj-QZpyMnebDb81rmczl2KPVUtaVDVagJEF6U9Ov3PfrLhvHUEv5u7p6s4Z6maBUaByfFlhEVPv4_ao8Us\",\n \"d\": \"bjIQAKD2e65gwJ38_Sqq_EmLFuMMey3gjDv1bSCHFH8fyONJTq-utrZfvspz6EegRwW2mSHW9kq87hRwIBW9y7ED5N4KG5gHDjyh57BRE0SKv0Dz1igtKLyp-nl8-aHc1DbONwr1d7tZfFt255TxIN8cPTakXOp2Av_ztql_JotVUGK8eHmXNJFlvq5tc180sKWMHNSNsCUhQgcB1TWb_gwcqxdsIWPsLZI491XKeTGQ98J7z5h6R1cTC97lfJZ0vNtJahd2jHd3WfTUDj5-untMKyZpYYak2Vr8xtFz8H6Q5Rsz8uX_7gtEqYH2CMjPdbXcebrnD1igRSJMYiP0lQ\",\n \"e\": \"AQAB\",\n \"use\": \"sig\",\n \"qi\": \"MTCCRu8AcvvjbHms7V_sDFO7wX0YNyvOJAAbuTmHvQbJ0NDeDta-f-hi8cjkMk7Fpk2hej158E5gDyO62UG99wHZSbmHT34MvIdmhQ5mnbL-5KK9rxde0nayO1ebGepD_GJThPAg9iskzeWpCg5X2etNo2bHoG_ZLQGXj2BQ1VM\",\n \"dp\": \"J4_ttKNcTTnP8PlZO81n1VfYoGCOqylKceyZbq76rVxX-yp2wDLtslFWI8qCtjiMtEnglynPo19JzH-pakocjT70us4Qp0rs-W16ebiOpko8WfHZvzaNUzsQjC3FYrPW-fHo74wc4DI3Cm57jmhCYbdmT9OfQ4UL7Oz3HMFMNAU\",\n \"alg\": \"RS256\",\n \"dq\": \"H4-VgvYB-sk1EU3cRIDv1iJWRHDHKBMeaoM0pD5kLalX1hRgNW4rdoRl1vRk79AU720D11Kqm2APlxBctaA_JrcdxEg0KkbsvV45p11KbKeu9b5DKFVECsN27ZJ7XZUCuqnibtWf7_4pRBD_8PDoFShmS2_ORiiUdflNjzSbEas\",\n \"n\": \"u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ\"\n }\n ]\n },\n \"tokenLookup\": \"header:auth\",\n \"claimPassBy\": \"header:name:name\"\n }\n certificate:\n type: string\n default: |\n -----BEGIN CERTIFICATE-----\n MIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\n BAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\n MA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\n ZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\n djELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\n ChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n 9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\n AoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\n coG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\n KOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\n HQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n +OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\n QkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\n MAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\n AJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\n cQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\n Ofi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\n DUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n -----END CERTIFICATE-----\n privateKey:\n type: string\n default: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\n kg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\n ywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\n AoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n 6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\n hwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\n MdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n 71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\n Ev9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\n qygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n 9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\n zWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\n DrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n -----END RSA PRIVATE KEY-----\nresources:\n default:\n type: alicloud:fc:V3CustomDomain\n properties:\n customDomainName: ${name}\n routeConfig:\n routes:\n - functionName: ${functionName1}\n rewriteConfig:\n regexRules:\n - match: /api/*\n replacement: $1\n - match: /api1/*\n replacement: $1\n - match: /api2/*\n replacement: $1\n wildcardRules:\n - match: ^/api1/.+?/(.*)\n replacement: /api/v1/$1\n - match: ^/api2/.+?/(.*)\n replacement: /api/v2/$1\n - match: ^/api2/.+?/(.*)\n replacement: /api/v3/$1\n equalRules:\n - match: /old\n replacement: /new\n - replacement: /new1\n match: /old1\n - match: /old2\n replacement: /new2\n methods:\n - GET\n - POST\n - DELETE\n - HEAD\n path: /a\n qualifier: LATEST\n - functionName: ${functionName1}\n methods:\n - GET\n path: /b\n qualifier: LATEST\n - functionName: ${functionName1}\n methods:\n - POST\n path: /c\n qualifier: '1'\n authConfig:\n authType: jwt\n authInfo: ${authConfig}\n protocol: HTTP,HTTPS\n certConfig:\n certName: cert-name\n certificate: ${certificate}\n privateKey: ${privateKey}\n tlsConfig:\n cipherSuites:\n - TLS_RSA_WITH_AES_128_CBC_SHA\n - TLS_RSA_WITH_AES_256_CBC_SHA\n - TLS_RSA_WITH_AES_128_GCM_SHA256\n - TLS_RSA_WITH_AES_256_GCM_SHA384\n maxVersion: TLSv1.3\n minVersion: TLSv1.0\n wafConfig:\n enableWaf: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Custom Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3CustomDomain:V3CustomDomain example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -188430,11 +192248,10 @@ } }, "alicloud:fc/v3Function:V3Function": { - "description": "Provides a Function Compute Service V3 (FCV3) Function resource.\n\nThe resource scheduling and running of Function Compute is based on functions. The FC function consists of function code and function configuration.\n\nFor information about Function Compute Service V3 (FCV3) Function and how to use it, see [What is Function](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getfunction).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `${name}-${_default.result}`});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"FCV3Py39.zip\",\n content: \"print('hello')\",\n});\nconst defaultV3Function = new alicloud.fc.V3Function(\"default\", {\n description: \"Create\",\n memorySize: 512,\n layers: [\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"],\n timeout: 3,\n runtime: \"custom.debian10\",\n handler: \"index.handler\",\n diskSize: 512,\n customRuntimeConfig: {\n commands: [\n \"python\",\n \"-c\",\n \"example\",\n ],\n args: [\n \"app.py\",\n \"xx\",\n \"x\",\n ],\n port: 9000,\n healthCheckConfig: {\n httpGetUrl: \"/ready\",\n initialDelaySeconds: 1,\n periodSeconds: 10,\n successThreshold: 1,\n timeoutSeconds: 1,\n failureThreshold: 3,\n },\n },\n logConfig: {\n logBeginRule: \"None\",\n },\n code: {\n ossBucketName: defaultBucket.bucket,\n ossObjectName: defaultBucketObject.key,\n checksum: \"4270285996107335518\",\n },\n instanceLifecycleConfig: {\n initializer: {\n timeout: 1,\n handler: \"index.init\",\n },\n preStop: {\n timeout: 1,\n handler: \"index.stop\",\n },\n },\n cpu: 0.5,\n instanceConcurrency: 2,\n functionName: `${name}-${_default.result}`,\n environmentVariables: {\n EnvKey: \"EnvVal\",\n },\n internetAccess: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"{name}-{default['result']}\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"FCV3Py39.zip\",\n content=\"print('hello')\")\ndefault_v3_function = alicloud.fc.V3Function(\"default\",\n description=\"Create\",\n memory_size=512,\n layers=[\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"],\n timeout=3,\n runtime=\"custom.debian10\",\n handler=\"index.handler\",\n disk_size=512,\n custom_runtime_config={\n \"commands\": [\n \"python\",\n \"-c\",\n \"example\",\n ],\n \"args\": [\n \"app.py\",\n \"xx\",\n \"x\",\n ],\n \"port\": 9000,\n \"health_check_config\": {\n \"http_get_url\": \"/ready\",\n \"initial_delay_seconds\": 1,\n \"period_seconds\": 10,\n \"success_threshold\": 1,\n \"timeout_seconds\": 1,\n \"failure_threshold\": 3,\n },\n },\n log_config={\n \"log_begin_rule\": \"None\",\n },\n code={\n \"oss_bucket_name\": default_bucket.bucket,\n \"oss_object_name\": default_bucket_object.key,\n \"checksum\": \"4270285996107335518\",\n },\n instance_lifecycle_config={\n \"initializer\": {\n \"timeout\": 1,\n \"handler\": \"index.init\",\n },\n \"pre_stop\": {\n \"timeout\": 1,\n \"handler\": \"index.stop\",\n },\n },\n cpu=0.5,\n instance_concurrency=2,\n function_name=f\"{name}-{default['result']}\",\n environment_variables={\n \"EnvKey\": \"EnvVal\",\n },\n internet_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"FCV3Py39.zip\",\n Content = \"print('hello')\",\n });\n\n var defaultV3Function = new AliCloud.FC.V3Function(\"default\", new()\n {\n Description = \"Create\",\n MemorySize = 512,\n Layers = new[]\n {\n \"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\",\n },\n Timeout = 3,\n Runtime = \"custom.debian10\",\n Handler = \"index.handler\",\n DiskSize = 512,\n CustomRuntimeConfig = new AliCloud.FC.Inputs.V3FunctionCustomRuntimeConfigArgs\n {\n Commands = new[]\n {\n \"python\",\n \"-c\",\n \"example\",\n },\n Args = new[]\n {\n \"app.py\",\n \"xx\",\n \"x\",\n },\n Port = 9000,\n HealthCheckConfig = new AliCloud.FC.Inputs.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs\n {\n HttpGetUrl = \"/ready\",\n InitialDelaySeconds = 1,\n PeriodSeconds = 10,\n SuccessThreshold = 1,\n TimeoutSeconds = 1,\n FailureThreshold = 3,\n },\n },\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n OssBucketName = defaultBucket.BucketName,\n OssObjectName = defaultBucketObject.Key,\n Checksum = \"4270285996107335518\",\n },\n InstanceLifecycleConfig = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigArgs\n {\n Initializer = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigInitializerArgs\n {\n Timeout = 1,\n Handler = \"index.init\",\n },\n PreStop = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigPreStopArgs\n {\n Timeout = 1,\n Handler = \"index.stop\",\n },\n },\n Cpu = 0.5,\n InstanceConcurrency = 2,\n FunctionName = $\"{name}-{@default.Result}\",\n EnvironmentVariables = \n {\n { \"EnvKey\", \"EnvVal\" },\n },\n InternetAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"FCV3Py39.zip\"),\n\t\t\tContent: pulumi.String(\"print('hello')\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3Function(ctx, \"default\", \u0026fc.V3FunctionArgs{\n\t\t\tDescription: pulumi.String(\"Create\"),\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.Int(3),\n\t\t\tRuntime: pulumi.String(\"custom.debian10\"),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tCustomRuntimeConfig: \u0026fc.V3FunctionCustomRuntimeConfigArgs{\n\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"python\"),\n\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"app.py\"),\n\t\t\t\t\tpulumi.String(\"xx\"),\n\t\t\t\t\tpulumi.String(\"x\"),\n\t\t\t\t},\n\t\t\t\tPort: pulumi.Int(9000),\n\t\t\t\tHealthCheckConfig: \u0026fc.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs{\n\t\t\t\t\tHttpGetUrl: pulumi.String(\"/ready\"),\n\t\t\t\t\tInitialDelaySeconds: pulumi.Int(1),\n\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\t\tOssObjectName: defaultBucketObject.Key,\n\t\t\t\tChecksum: pulumi.String(\"4270285996107335518\"),\n\t\t\t},\n\t\t\tInstanceLifecycleConfig: \u0026fc.V3FunctionInstanceLifecycleConfigArgs{\n\t\t\t\tInitializer: \u0026fc.V3FunctionInstanceLifecycleConfigInitializerArgs{\n\t\t\t\t\tTimeout: pulumi.Int(1),\n\t\t\t\t\tHandler: pulumi.String(\"index.init\"),\n\t\t\t\t},\n\t\t\t\tPreStop: \u0026fc.V3FunctionInstanceLifecycleConfigPreStopArgs{\n\t\t\t\t\tTimeout: pulumi.Int(1),\n\t\t\t\t\tHandler: pulumi.String(\"index.stop\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tInstanceConcurrency: pulumi.Int(2),\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"EnvKey\": pulumi.String(\"EnvVal\"),\n\t\t\t},\n\t\t\tInternetAccess: 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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCustomRuntimeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigInitializerArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigPreStopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"FCV3Py39.zip\")\n .content(\"print('hello')\")\n .build());\n\n var defaultV3Function = new V3Function(\"defaultV3Function\", V3FunctionArgs.builder()\n .description(\"Create\")\n .memorySize(512)\n .layers(\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\")\n .timeout(3)\n .runtime(\"custom.debian10\")\n .handler(\"index.handler\")\n .diskSize(512)\n .customRuntimeConfig(V3FunctionCustomRuntimeConfigArgs.builder()\n .commands( \n \"python\",\n \"-c\",\n \"example\")\n .args( \n \"app.py\",\n \"xx\",\n \"x\")\n .port(9000)\n .healthCheckConfig(V3FunctionCustomRuntimeConfigHealthCheckConfigArgs.builder()\n .httpGetUrl(\"/ready\")\n .initialDelaySeconds(1)\n .periodSeconds(10)\n .successThreshold(1)\n .timeoutSeconds(1)\n .failureThreshold(3)\n .build())\n .build())\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .code(V3FunctionCodeArgs.builder()\n .ossBucketName(defaultBucket.bucket())\n .ossObjectName(defaultBucketObject.key())\n .checksum(\"4270285996107335518\")\n .build())\n .instanceLifecycleConfig(V3FunctionInstanceLifecycleConfigArgs.builder()\n .initializer(V3FunctionInstanceLifecycleConfigInitializerArgs.builder()\n .timeout(1)\n .handler(\"index.init\")\n .build())\n .preStop(V3FunctionInstanceLifecycleConfigPreStopArgs.builder()\n .timeout(1)\n .handler(\"index.stop\")\n .build())\n .build())\n .cpu(0.5)\n .instanceConcurrency(2)\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .environmentVariables(Map.of(\"EnvKey\", \"EnvVal\"))\n .internetAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${default.result}\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: FCV3Py39.zip\n content: print('hello')\n defaultV3Function:\n type: alicloud:fc:V3Function\n name: default\n properties:\n description: Create\n memorySize: '512'\n layers:\n - acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\n timeout: '3'\n runtime: custom.debian10\n handler: index.handler\n diskSize: '512'\n customRuntimeConfig:\n commands:\n - python\n - -c\n - example\n args:\n - app.py\n - xx\n - x\n port: '9000'\n healthCheckConfig:\n httpGetUrl: /ready\n initialDelaySeconds: '1'\n periodSeconds: '10'\n successThreshold: '1'\n timeoutSeconds: '1'\n failureThreshold: '3'\n logConfig:\n logBeginRule: None\n code:\n ossBucketName: ${defaultBucket.bucket}\n ossObjectName: ${defaultBucketObject.key}\n checksum: '4270285996107335518'\n instanceLifecycleConfig:\n initializer:\n timeout: '1'\n handler: index.init\n preStop:\n timeout: '1'\n handler: index.stop\n cpu: '0.5'\n instanceConcurrency: '2'\n functionName: ${name}-${default.result}\n environmentVariables:\n EnvKey: EnvVal\n internetAccess: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFunction Compute Service V3 (FCV3) Function can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Function:V3Function example \u003cid\u003e\n```\n\n", + "description": "Provides a Function Compute Service V3 (FCV3) Function resource.\n\nThe resource scheduling and running of Function Compute is based on functions. The FC function consists of function code and function configuration.\n\nFor information about Function Compute Service V3 (FCV3) Function and how to use it, see [What is Function](https://www.alibabacloud.com/help/en/functioncompute/developer-reference/api-fc-2023-03-30-getfunction).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `${name}-${_default.result}`});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"FCV3Py39.zip\",\n content: \"print('hello')\",\n});\nconst defaultV3Function = new alicloud.fc.V3Function(\"default\", {\n description: \"Create\",\n memorySize: 512,\n layers: [\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"],\n timeout: 3,\n runtime: \"custom.debian10\",\n handler: \"index.handler\",\n diskSize: 512,\n customRuntimeConfig: {\n commands: [\n \"python\",\n \"-c\",\n \"example\",\n ],\n args: [\n \"app.py\",\n \"xx\",\n \"x\",\n ],\n port: 9000,\n healthCheckConfig: {\n httpGetUrl: \"/ready\",\n initialDelaySeconds: 1,\n periodSeconds: 10,\n successThreshold: 1,\n timeoutSeconds: 1,\n failureThreshold: 3,\n },\n },\n logConfig: {\n logBeginRule: \"None\",\n },\n code: {\n ossBucketName: defaultBucket.bucket,\n ossObjectName: defaultBucketObject.key,\n checksum: \"4270285996107335518\",\n },\n instanceLifecycleConfig: {\n initializer: {\n timeout: 1,\n handler: \"index.init\",\n },\n preStop: {\n timeout: 1,\n handler: \"index.stop\",\n },\n },\n cpu: 0.5,\n instanceConcurrency: 2,\n functionName: `${name}-${_default.result}`,\n environmentVariables: {\n EnvKey: \"EnvVal\",\n },\n internetAccess: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"{name}-{default['result']}\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"FCV3Py39.zip\",\n content=\"print('hello')\")\ndefault_v3_function = alicloud.fc.V3Function(\"default\",\n description=\"Create\",\n memory_size=512,\n layers=[\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"],\n timeout=3,\n runtime=\"custom.debian10\",\n handler=\"index.handler\",\n disk_size=512,\n custom_runtime_config={\n \"commands\": [\n \"python\",\n \"-c\",\n \"example\",\n ],\n \"args\": [\n \"app.py\",\n \"xx\",\n \"x\",\n ],\n \"port\": 9000,\n \"health_check_config\": {\n \"http_get_url\": \"/ready\",\n \"initial_delay_seconds\": 1,\n \"period_seconds\": 10,\n \"success_threshold\": 1,\n \"timeout_seconds\": 1,\n \"failure_threshold\": 3,\n },\n },\n log_config={\n \"log_begin_rule\": \"None\",\n },\n code={\n \"oss_bucket_name\": default_bucket.bucket,\n \"oss_object_name\": default_bucket_object.key,\n \"checksum\": \"4270285996107335518\",\n },\n instance_lifecycle_config={\n \"initializer\": {\n \"timeout\": 1,\n \"handler\": \"index.init\",\n },\n \"pre_stop\": {\n \"timeout\": 1,\n \"handler\": \"index.stop\",\n },\n },\n cpu=0.5,\n instance_concurrency=2,\n function_name=f\"{name}-{default['result']}\",\n environment_variables={\n \"EnvKey\": \"EnvVal\",\n },\n internet_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"FCV3Py39.zip\",\n Content = \"print('hello')\",\n });\n\n var defaultV3Function = new AliCloud.FC.V3Function(\"default\", new()\n {\n Description = \"Create\",\n MemorySize = 512,\n Layers = new[]\n {\n \"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\",\n },\n Timeout = 3,\n Runtime = \"custom.debian10\",\n Handler = \"index.handler\",\n DiskSize = 512,\n CustomRuntimeConfig = new AliCloud.FC.Inputs.V3FunctionCustomRuntimeConfigArgs\n {\n Commands = new[]\n {\n \"python\",\n \"-c\",\n \"example\",\n },\n Args = new[]\n {\n \"app.py\",\n \"xx\",\n \"x\",\n },\n Port = 9000,\n HealthCheckConfig = new AliCloud.FC.Inputs.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs\n {\n HttpGetUrl = \"/ready\",\n InitialDelaySeconds = 1,\n PeriodSeconds = 10,\n SuccessThreshold = 1,\n TimeoutSeconds = 1,\n FailureThreshold = 3,\n },\n },\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n OssBucketName = defaultBucket.BucketName,\n OssObjectName = defaultBucketObject.Key,\n Checksum = \"4270285996107335518\",\n },\n InstanceLifecycleConfig = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigArgs\n {\n Initializer = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigInitializerArgs\n {\n Timeout = 1,\n Handler = \"index.init\",\n },\n PreStop = new AliCloud.FC.Inputs.V3FunctionInstanceLifecycleConfigPreStopArgs\n {\n Timeout = 1,\n Handler = \"index.stop\",\n },\n },\n Cpu = 0.5,\n InstanceConcurrency = 2,\n FunctionName = $\"{name}-{@default.Result}\",\n EnvironmentVariables = \n {\n { \"EnvKey\", \"EnvVal\" },\n },\n InternetAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucketObject, err := oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"FCV3Py39.zip\"),\n\t\t\tContent: pulumi.String(\"print('hello')\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3Function(ctx, \"default\", \u0026fc.V3FunctionArgs{\n\t\t\tDescription: pulumi.String(\"Create\"),\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tLayers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\"),\n\t\t\t},\n\t\t\tTimeout: pulumi.Int(3),\n\t\t\tRuntime: pulumi.String(\"custom.debian10\"),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tCustomRuntimeConfig: \u0026fc.V3FunctionCustomRuntimeConfigArgs{\n\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"python\"),\n\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"app.py\"),\n\t\t\t\t\tpulumi.String(\"xx\"),\n\t\t\t\t\tpulumi.String(\"x\"),\n\t\t\t\t},\n\t\t\t\tPort: pulumi.Int(9000),\n\t\t\t\tHealthCheckConfig: \u0026fc.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs{\n\t\t\t\t\tHttpGetUrl: pulumi.String(\"/ready\"),\n\t\t\t\t\tInitialDelaySeconds: pulumi.Int(1),\n\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\tSuccessThreshold: pulumi.Int(1),\n\t\t\t\t\tTimeoutSeconds: pulumi.Int(1),\n\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tOssBucketName: defaultBucket.Bucket,\n\t\t\t\tOssObjectName: defaultBucketObject.Key,\n\t\t\t\tChecksum: pulumi.String(\"4270285996107335518\"),\n\t\t\t},\n\t\t\tInstanceLifecycleConfig: \u0026fc.V3FunctionInstanceLifecycleConfigArgs{\n\t\t\t\tInitializer: \u0026fc.V3FunctionInstanceLifecycleConfigInitializerArgs{\n\t\t\t\t\tTimeout: pulumi.Int(1),\n\t\t\t\t\tHandler: pulumi.String(\"index.init\"),\n\t\t\t\t},\n\t\t\t\tPreStop: \u0026fc.V3FunctionInstanceLifecycleConfigPreStopArgs{\n\t\t\t\t\tTimeout: pulumi.Int(1),\n\t\t\t\t\tHandler: pulumi.String(\"index.stop\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tInstanceConcurrency: pulumi.Int(2),\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\"EnvKey\": pulumi.String(\"EnvVal\"),\n\t\t\t},\n\t\t\tInternetAccess: 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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCustomRuntimeConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCustomRuntimeConfigHealthCheckConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigInitializerArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionInstanceLifecycleConfigPreStopArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"FCV3Py39.zip\")\n .content(\"print('hello')\")\n .build());\n\n var defaultV3Function = new V3Function(\"defaultV3Function\", V3FunctionArgs.builder()\n .description(\"Create\")\n .memorySize(512)\n .layers(\"acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\")\n .timeout(3)\n .runtime(\"custom.debian10\")\n .handler(\"index.handler\")\n .diskSize(512)\n .customRuntimeConfig(V3FunctionCustomRuntimeConfigArgs.builder()\n .commands( \n \"python\",\n \"-c\",\n \"example\")\n .args( \n \"app.py\",\n \"xx\",\n \"x\")\n .port(9000)\n .healthCheckConfig(V3FunctionCustomRuntimeConfigHealthCheckConfigArgs.builder()\n .httpGetUrl(\"/ready\")\n .initialDelaySeconds(1)\n .periodSeconds(10)\n .successThreshold(1)\n .timeoutSeconds(1)\n .failureThreshold(3)\n .build())\n .build())\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .code(V3FunctionCodeArgs.builder()\n .ossBucketName(defaultBucket.bucket())\n .ossObjectName(defaultBucketObject.key())\n .checksum(\"4270285996107335518\")\n .build())\n .instanceLifecycleConfig(V3FunctionInstanceLifecycleConfigArgs.builder()\n .initializer(V3FunctionInstanceLifecycleConfigInitializerArgs.builder()\n .timeout(1)\n .handler(\"index.init\")\n .build())\n .preStop(V3FunctionInstanceLifecycleConfigPreStopArgs.builder()\n .timeout(1)\n .handler(\"index.stop\")\n .build())\n .build())\n .cpu(0.5)\n .instanceConcurrency(2)\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .environmentVariables(Map.of(\"EnvKey\", \"EnvVal\"))\n .internetAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: ${name}-${default.result}\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: FCV3Py39.zip\n content: print('hello')\n defaultV3Function:\n type: alicloud:fc:V3Function\n name: default\n properties:\n description: Create\n memorySize: '512'\n layers:\n - acs:fc:cn-shanghai:official:layers/Python39-Aliyun-SDK/versions/3\n timeout: '3'\n runtime: custom.debian10\n handler: index.handler\n diskSize: '512'\n customRuntimeConfig:\n commands:\n - python\n - -c\n - example\n args:\n - app.py\n - xx\n - x\n port: '9000'\n healthCheckConfig:\n httpGetUrl: /ready\n initialDelaySeconds: '1'\n periodSeconds: '10'\n successThreshold: '1'\n timeoutSeconds: '1'\n failureThreshold: '3'\n logConfig:\n logBeginRule: None\n code:\n ossBucketName: ${defaultBucket.bucket}\n ossObjectName: ${defaultBucketObject.key}\n checksum: '4270285996107335518'\n instanceLifecycleConfig:\n initializer:\n timeout: '1'\n handler: index.init\n preStop:\n timeout: '1'\n handler: index.stop\n cpu: '0.5'\n instanceConcurrency: '2'\n functionName: ${name}-${default.result}\n environmentVariables:\n EnvKey: EnvVal\n internetAccess: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFunction Compute Service V3 (FCV3) Function can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Function:V3Function example \u003cid\u003e\n```\n\n", "properties": { "code": { - "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode", - "description": "Function code ZIP package. code and customContainerConfig. See \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode" }, "codeSize": { "type": "integer", @@ -188495,6 +192312,10 @@ "type": "string", "description": "Function Handler: the call entry for the function compute system to run your function.\n" }, + "idleTimeout": { + "type": "integer", + "description": "Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used.\n" + }, "instanceConcurrency": { "type": "integer", "description": "Maximum instance concurrency.\n" @@ -188556,7 +192377,7 @@ }, "resourceGroupId": { "type": "string", - "description": "Resource Group ID.\n" + "description": "Resource Group ID\n" }, "role": { "type": "string", @@ -188564,7 +192385,7 @@ }, "runtime": { "type": "string", - "description": "Function runtime type.\n" + "description": "Function runtime type\n" }, "sessionAffinity": { "type": "string", @@ -188616,6 +192437,7 @@ "functionName", "handler", "instanceConcurrency", + "instanceIsolationMode", "internetAccess", "lastModifiedTime", "lastUpdateStatus", @@ -188626,6 +192448,7 @@ "ossMountConfig", "resourceGroupId", "runtime", + "sessionAffinity", "state", "stateReason", "stateReasonCode", @@ -188635,8 +192458,7 @@ ], "inputProperties": { "code": { - "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode", - "description": "Function code ZIP package. code and customContainerConfig. See \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode" }, "cpu": { "type": "number", @@ -188682,6 +192504,11 @@ "type": "string", "description": "Function Handler: the call entry for the function compute system to run your function.\n" }, + "idleTimeout": { + "type": "integer", + "description": "Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used.\n", + "willReplaceOnChanges": true + }, "instanceConcurrency": { "type": "integer", "description": "Maximum instance concurrency.\n" @@ -188727,7 +192554,7 @@ }, "resourceGroupId": { "type": "string", - "description": "Resource Group ID.\n" + "description": "Resource Group ID\n" }, "role": { "type": "string", @@ -188735,7 +192562,7 @@ }, "runtime": { "type": "string", - "description": "Function runtime type.\n" + "description": "Function runtime type\n" }, "sessionAffinity": { "type": "string", @@ -188769,8 +192596,7 @@ "description": "Input properties used for looking up and filtering V3Function resources.\n", "properties": { "code": { - "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode", - "description": "Function code ZIP package. code and customContainerConfig. See \u003cspan pulumi-lang-nodejs=\"`code`\" pulumi-lang-dotnet=\"`Code`\" pulumi-lang-go=\"`code`\" pulumi-lang-python=\"`code`\" pulumi-lang-yaml=\"`code`\" pulumi-lang-java=\"`code`\"\u003e`code`\u003c/span\u003e below.\n" + "$ref": "#/types/alicloud:fc/V3FunctionCode:V3FunctionCode" }, "codeSize": { "type": "integer", @@ -188832,6 +192658,11 @@ "type": "string", "description": "Function Handler: the call entry for the function compute system to run your function.\n" }, + "idleTimeout": { + "type": "integer", + "description": "Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used.\n", + "willReplaceOnChanges": true + }, "instanceConcurrency": { "type": "integer", "description": "Maximum instance concurrency.\n" @@ -188893,7 +192724,7 @@ }, "resourceGroupId": { "type": "string", - "description": "Resource Group ID.\n" + "description": "Resource Group ID\n" }, "role": { "type": "string", @@ -188901,7 +192732,7 @@ }, "runtime": { "type": "string", - "description": "Function runtime type.\n" + "description": "Function runtime type\n" }, "sessionAffinity": { "type": "string", @@ -188947,7 +192778,7 @@ } }, "alicloud:fc/v3FunctionVersion:V3FunctionVersion": { - "description": "Provides a FCV3 Function Version resource.\n\nVersion of the function.\n\nFor information about FCV3 Function Version and how to use it, see [What is Function Version](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-listfunctionversions).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: `${name}-${_default.result}`,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst defaultV3FunctionVersion = new alicloud.fc.V3FunctionVersion(\"default\", {\n functionName: _function.functionName,\n description: \"version1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=f\"{name}-{default['result']}\",\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault_v3_function_version = alicloud.fc.V3FunctionVersion(\"default\",\n function_name=function.function_name,\n description=\"version1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = $\"{name}-{@default.Result}\",\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var defaultV3FunctionVersion = new AliCloud.FC.V3FunctionVersion(\"default\", new()\n {\n FunctionName = function.FunctionName,\n Description = \"version1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3FunctionVersion(ctx, \"default\", \u0026fc.V3FunctionVersionArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tDescription: pulumi.String(\"version1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3FunctionVersion;\nimport com.pulumi.alicloud.fc.V3FunctionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var defaultV3FunctionVersion = new V3FunctionVersion(\"defaultV3FunctionVersion\", V3FunctionVersionArgs.builder()\n .functionName(function.functionName())\n .description(\"version1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}-${default.result}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n defaultV3FunctionVersion:\n type: alicloud:fc:V3FunctionVersion\n name: default\n properties:\n functionName: ${function.functionName}\n description: version1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Function Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3FunctionVersion:V3FunctionVersion example \u003cfunction_name\u003e:\u003cversion_id\u003e\n```\n\n", + "description": "Provides a FCV3 Function Version resource.\n\nVersion of the function.\n\nFor information about FCV3 Function Version and how to use it, see [What is Function Version](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-listfunctionversions).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: `${name}-${_default.result}`,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst defaultV3FunctionVersion = new alicloud.fc.V3FunctionVersion(\"default\", {\n functionName: _function.functionName,\n description: \"version1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=f\"{name}-{default['result']}\",\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault_v3_function_version = alicloud.fc.V3FunctionVersion(\"default\",\n function_name=function.function_name,\n description=\"version1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = $\"{name}-{@default.Result}\",\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var defaultV3FunctionVersion = new AliCloud.FC.V3FunctionVersion(\"default\", new()\n {\n FunctionName = function.FunctionName,\n Description = \"version1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3FunctionVersion(ctx, \"default\", \u0026fc.V3FunctionVersionArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tDescription: pulumi.String(\"version1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3FunctionVersion;\nimport com.pulumi.alicloud.fc.V3FunctionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var defaultV3FunctionVersion = new V3FunctionVersion(\"defaultV3FunctionVersion\", V3FunctionVersionArgs.builder()\n .functionName(function.functionName())\n .description(\"version1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}-${default.result}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n defaultV3FunctionVersion:\n type: alicloud:fc:V3FunctionVersion\n name: default\n properties:\n functionName: ${function.functionName}\n description: version1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Function Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3FunctionVersion:V3FunctionVersion example \u003cfunction_name\u003e:\u003cversion_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -189021,7 +192852,7 @@ } }, "alicloud:fc/v3LayerVersion:V3LayerVersion": { - "description": "Provides a FCV3 Layer Version resource.\n\nLayer provides you with the ability to publish and deploy common dependency libraries, runtime environments, and function extensions.\n\nFor information about FCV3 Layer Version and how to use it, see [What is Layer Version](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-createlayerversion).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.fc.V3LayerVersion(\"default\", {\n description: name,\n layerName: \"FC3LayerResouceTest_ZIP_2024SepWed\",\n license: \"Apache2.0\",\n acl: \"0\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.fc.V3LayerVersion(\"default\",\n description=name,\n layer_name=\"FC3LayerResouceTest_ZIP_2024SepWed\",\n license=\"Apache2.0\",\n acl=\"0\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.FC.V3LayerVersion(\"default\", new()\n {\n Description = name,\n LayerName = \"FC3LayerResouceTest_ZIP_2024SepWed\",\n License = \"Apache2.0\",\n Acl = \"0\",\n Code = new AliCloud.FC.Inputs.V3LayerVersionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := fc.NewV3LayerVersion(ctx, \"default\", \u0026fc.V3LayerVersionArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLayerName: pulumi.String(\"FC3LayerResouceTest_ZIP_2024SepWed\"),\n\t\t\tLicense: pulumi.String(\"Apache2.0\"),\n\t\t\tAcl: pulumi.String(\"0\"),\n\t\t\tCode: \u0026fc.V3LayerVersionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\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.alicloud.fc.V3LayerVersion;\nimport com.pulumi.alicloud.fc.V3LayerVersionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3LayerVersionCodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new V3LayerVersion(\"default\", V3LayerVersionArgs.builder()\n .description(name)\n .layerName(\"FC3LayerResouceTest_ZIP_2024SepWed\")\n .license(\"Apache2.0\")\n .acl(\"0\")\n .code(V3LayerVersionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:fc:V3LayerVersion\n properties:\n description: ${name}\n layerName: FC3LayerResouceTest_ZIP_2024SepWed\n license: Apache2.0\n acl: '0'\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Layer Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3LayerVersion:V3LayerVersion example \u003clayer_name\u003e:\u003cversion\u003e\n```\n\n", + "description": "Provides a FCV3 Layer Version resource.\n\nLayer provides you with the ability to publish and deploy common dependency libraries, runtime environments, and function extensions.\n\nFor information about FCV3 Layer Version and how to use it, see [What is Layer Version](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-createlayerversion).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.fc.V3LayerVersion(\"default\", {\n description: name,\n layerName: \"FC3LayerResouceTest_ZIP_2024SepWed\",\n license: \"Apache2.0\",\n acl: \"0\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.fc.V3LayerVersion(\"default\",\n description=name,\n layer_name=\"FC3LayerResouceTest_ZIP_2024SepWed\",\n license=\"Apache2.0\",\n acl=\"0\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.FC.V3LayerVersion(\"default\", new()\n {\n Description = name,\n LayerName = \"FC3LayerResouceTest_ZIP_2024SepWed\",\n License = \"Apache2.0\",\n Acl = \"0\",\n Code = new AliCloud.FC.Inputs.V3LayerVersionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := fc.NewV3LayerVersion(ctx, \"default\", \u0026fc.V3LayerVersionArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tLayerName: pulumi.String(\"FC3LayerResouceTest_ZIP_2024SepWed\"),\n\t\t\tLicense: pulumi.String(\"Apache2.0\"),\n\t\t\tAcl: pulumi.String(\"0\"),\n\t\t\tCode: \u0026fc.V3LayerVersionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\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.alicloud.fc.V3LayerVersion;\nimport com.pulumi.alicloud.fc.V3LayerVersionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3LayerVersionCodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new V3LayerVersion(\"default\", V3LayerVersionArgs.builder()\n .description(name)\n .layerName(\"FC3LayerResouceTest_ZIP_2024SepWed\")\n .license(\"Apache2.0\")\n .acl(\"0\")\n .code(V3LayerVersionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:fc:V3LayerVersion\n properties:\n description: ${name}\n layerName: FC3LayerResouceTest_ZIP_2024SepWed\n license: Apache2.0\n acl: '0'\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Layer Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3LayerVersion:V3LayerVersion example \u003clayer_name\u003e:\u003cversion\u003e\n```\n\n", "properties": { "acl": { "type": "string", @@ -189182,7 +193013,7 @@ } }, "alicloud:fc/v3ProvisionConfig:V3ProvisionConfig": { - "description": "Provides a FCV3 Provision Config resource.\n\nFunction Reservation Configuration.\n\nFor information about FCV3 Provision Config and how to use it, see [What is Provision Config](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-putprovisionconfig).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `${name}-${_default.result}`,\n description: name,\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.name,\n logstoreName: `${name}-${_default.result}`,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst wait10Minutes = new time.index.Sleep(\"wait_10_minutes\", {createDuration: \"10m\"}, {\n dependsOn: [defaultStore],\n});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.handler\",\n functionName: `${name}-${_default.result}`,\n runtime: \"python3.10\",\n diskSize: 512,\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n logConfig: {\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n project: defaultProject.projectName,\n logstore: defaultStore.logstoreName,\n logBeginRule: \"None\",\n },\n}, {\n dependsOn: [wait10Minutes],\n});\nconst defaultV3ProvisionConfig = new alicloud.fc.V3ProvisionConfig(\"default\", {\n target: 1,\n targetTrackingPolicies: [\n {\n name: \"t1\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n minCapacity: 0,\n maxCapacity: 1,\n metricTarget: 1,\n metricType: \"ProvisionedConcurrencyUtilization\",\n },\n {\n metricTarget: 1,\n metricType: \"ProvisionedConcurrencyUtilization\",\n name: \"t2\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n minCapacity: 0,\n maxCapacity: 1,\n },\n {\n metricType: \"ProvisionedConcurrencyUtilization\",\n timeZone: \"Asia/Shanghai\",\n name: \"t3\",\n startTime: \"2030-10-10T10:10:10\",\n endTime: \"2035-10-10T10:10:10\",\n minCapacity: 0,\n maxCapacity: 1,\n metricTarget: 1,\n },\n ],\n scheduledActions: [\n {\n target: 0,\n name: \"s1\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n scheduleExpression: \"cron(0 0 4 * * *)\",\n },\n {\n name: \"s2\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n scheduleExpression: \"cron(0 0 6 * * *)\",\n target: 1,\n },\n {\n startTime: \"2030-10-10T10:10:10\",\n endTime: \"2035-10-10T10:10:10\",\n scheduleExpression: \"cron(0 0 7 * * *)\",\n target: 0,\n timeZone: \"Asia/Shanghai\",\n name: \"s3\",\n },\n ],\n qualifier: \"LATEST\",\n alwaysAllocateGpu: true,\n functionName: _function.functionName,\n alwaysAllocateCpu: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"{name}-{default['result']}\",\n description=name)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.name,\n logstore_name=f\"{name}-{default['result']}\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nwait10_minutes = time.index.Sleep(\"wait_10_minutes\", create_duration=10m,\nopts = pulumi.ResourceOptions(depends_on=[default_store]))\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.handler\",\n function_name=f\"{name}-{default['result']}\",\n runtime=\"python3.10\",\n disk_size=512,\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n log_config={\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n \"project\": default_project.project_name,\n \"logstore\": default_store.logstore_name,\n \"log_begin_rule\": \"None\",\n },\n opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))\ndefault_v3_provision_config = alicloud.fc.V3ProvisionConfig(\"default\",\n target=1,\n target_tracking_policies=[\n {\n \"name\": \"t1\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n \"metric_target\": 1,\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n },\n {\n \"metric_target\": 1,\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n \"name\": \"t2\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n },\n {\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n \"time_zone\": \"Asia/Shanghai\",\n \"name\": \"t3\",\n \"start_time\": \"2030-10-10T10:10:10\",\n \"end_time\": \"2035-10-10T10:10:10\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n \"metric_target\": 1,\n },\n ],\n scheduled_actions=[\n {\n \"target\": 0,\n \"name\": \"s1\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"schedule_expression\": \"cron(0 0 4 * * *)\",\n },\n {\n \"name\": \"s2\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"schedule_expression\": \"cron(0 0 6 * * *)\",\n \"target\": 1,\n },\n {\n \"start_time\": \"2030-10-10T10:10:10\",\n \"end_time\": \"2035-10-10T10:10:10\",\n \"schedule_expression\": \"cron(0 0 7 * * *)\",\n \"target\": 0,\n \"time_zone\": \"Asia/Shanghai\",\n \"name\": \"s3\",\n },\n ],\n qualifier=\"LATEST\",\n always_allocate_gpu=True,\n function_name=function.function_name,\n always_allocate_cpu=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"{name}-{@default.Result}\",\n Description = name,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.Name,\n LogstoreName = $\"{name}-{@default.Result}\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var wait10Minutes = new Time.Index.Sleep(\"wait_10_minutes\", new()\n {\n CreateDuration = \"10m\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultStore,\n },\n });\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.handler\",\n FunctionName = $\"{name}-{@default.Result}\",\n Runtime = \"python3.10\",\n DiskSize = 512,\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n Project = defaultProject.ProjectName,\n Logstore = defaultStore.LogstoreName,\n LogBeginRule = \"None\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n wait10Minutes,\n },\n });\n\n var defaultV3ProvisionConfig = new AliCloud.FC.V3ProvisionConfig(\"default\", new()\n {\n Target = 1,\n TargetTrackingPolicies = new[]\n {\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n Name = \"t1\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n MinCapacity = 0,\n MaxCapacity = 1,\n MetricTarget = 1,\n MetricType = \"ProvisionedConcurrencyUtilization\",\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n MetricTarget = 1,\n MetricType = \"ProvisionedConcurrencyUtilization\",\n Name = \"t2\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n MinCapacity = 0,\n MaxCapacity = 1,\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n MetricType = \"ProvisionedConcurrencyUtilization\",\n TimeZone = \"Asia/Shanghai\",\n Name = \"t3\",\n StartTime = \"2030-10-10T10:10:10\",\n EndTime = \"2035-10-10T10:10:10\",\n MinCapacity = 0,\n MaxCapacity = 1,\n MetricTarget = 1,\n },\n },\n ScheduledActions = new[]\n {\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n Target = 0,\n Name = \"s1\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n ScheduleExpression = \"cron(0 0 4 * * *)\",\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n Name = \"s2\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n ScheduleExpression = \"cron(0 0 6 * * *)\",\n Target = 1,\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n StartTime = \"2030-10-10T10:10:10\",\n EndTime = \"2035-10-10T10:10:10\",\n ScheduleExpression = \"cron(0 0 7 * * *)\",\n Target = 0,\n TimeZone = \"Asia/Shanghai\",\n Name = \"s3\",\n },\n },\n Qualifier = \"LATEST\",\n AlwaysAllocateGpu = true,\n FunctionName = function.FunctionName,\n AlwaysAllocateCpu = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.Name,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twait10Minutes, err := time.NewSleep(ctx, \"wait_10_minutes\", \u0026time.SleepArgs{\n\t\t\tCreateDuration: \"10m\",\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultStore,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: pulumi.Bool(true),\n\t\t\t\tProject: defaultProject.ProjectName,\n\t\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twait10Minutes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3ProvisionConfig(ctx, \"default\", \u0026fc.V3ProvisionConfigArgs{\n\t\t\tTarget: pulumi.Int(1),\n\t\t\tTargetTrackingPolicies: fc.V3ProvisionConfigTargetTrackingPolicyArray{\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"t1\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t\tName: pulumi.String(\"t2\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\tName: pulumi.String(\"t3\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledActions: fc.V3ProvisionConfigScheduledActionArray{\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tTarget: pulumi.Int(0),\n\t\t\t\t\tName: pulumi.String(\"s1\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 4 * * *)\"),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tName: pulumi.String(\"s2\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 6 * * *)\"),\n\t\t\t\t\tTarget: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 7 * * *)\"),\n\t\t\t\t\tTarget: pulumi.Int(0),\n\t\t\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\tName: pulumi.String(\"s3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tAlwaysAllocateGpu: pulumi.Bool(true),\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tAlwaysAllocateCpu: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.time.Sleep;\nimport com.pulumi.time.SleepArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3ProvisionConfig;\nimport com.pulumi.alicloud.fc.V3ProvisionConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3ProvisionConfigTargetTrackingPolicyArgs;\nimport com.pulumi.alicloud.fc.inputs.V3ProvisionConfigScheduledActionArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.name())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var wait10Minutes = new Sleep(\"wait10Minutes\", SleepArgs.builder()\n .createDuration(\"10m\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(List.of(defaultStore))\n .build());\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.handler\")\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .runtime(\"python3.10\")\n .diskSize(512)\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .logConfig(V3FunctionLogConfigArgs.builder()\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .project(defaultProject.projectName())\n .logstore(defaultStore.logstoreName())\n .logBeginRule(\"None\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(wait10Minutes)\n .build());\n\n var defaultV3ProvisionConfig = new V3ProvisionConfig(\"defaultV3ProvisionConfig\", V3ProvisionConfigArgs.builder()\n .target(1)\n .targetTrackingPolicies( \n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .name(\"t1\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .minCapacity(0)\n .maxCapacity(1)\n .metricTarget(1.0)\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .build(),\n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .metricTarget(1.0)\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .name(\"t2\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .minCapacity(0)\n .maxCapacity(1)\n .build(),\n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .timeZone(\"Asia/Shanghai\")\n .name(\"t3\")\n .startTime(\"2030-10-10T10:10:10\")\n .endTime(\"2035-10-10T10:10:10\")\n .minCapacity(0)\n .maxCapacity(1)\n .metricTarget(1.0)\n .build())\n .scheduledActions( \n V3ProvisionConfigScheduledActionArgs.builder()\n .target(0)\n .name(\"s1\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .scheduleExpression(\"cron(0 0 4 * * *)\")\n .build(),\n V3ProvisionConfigScheduledActionArgs.builder()\n .name(\"s2\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .scheduleExpression(\"cron(0 0 6 * * *)\")\n .target(1)\n .build(),\n V3ProvisionConfigScheduledActionArgs.builder()\n .startTime(\"2030-10-10T10:10:10\")\n .endTime(\"2035-10-10T10:10:10\")\n .scheduleExpression(\"cron(0 0 7 * * *)\")\n .target(0)\n .timeZone(\"Asia/Shanghai\")\n .name(\"s3\")\n .build())\n .qualifier(\"LATEST\")\n .alwaysAllocateGpu(true)\n .functionName(function.functionName())\n .alwaysAllocateCpu(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}-${default.result}\n description: ${name}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.name}\n logstoreName: ${name}-${default.result}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n wait10Minutes:\n type: time:Sleep\n name: wait_10_minutes\n properties:\n createDuration: 10m\n options:\n dependsOn:\n - ${defaultStore}\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.handler\n functionName: ${name}-${default.result}\n runtime: python3.10\n diskSize: '512'\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n logConfig:\n enableInstanceMetrics: true\n enableRequestMetrics: true\n project: ${defaultProject.projectName}\n logstore: ${defaultStore.logstoreName}\n logBeginRule: None\n options:\n dependsOn:\n - ${wait10Minutes}\n defaultV3ProvisionConfig:\n type: alicloud:fc:V3ProvisionConfig\n name: default\n properties:\n target: '1'\n targetTrackingPolicies:\n - name: t1\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n minCapacity: '0'\n maxCapacity: '1'\n metricTarget: '1'\n metricType: ProvisionedConcurrencyUtilization\n - metricTarget: '1'\n metricType: ProvisionedConcurrencyUtilization\n name: t2\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n minCapacity: '0'\n maxCapacity: '1'\n - metricType: ProvisionedConcurrencyUtilization\n timeZone: Asia/Shanghai\n name: t3\n startTime: 2030-10-10T10:10:10\n endTime: 2035-10-10T10:10:10\n minCapacity: '0'\n maxCapacity: '1'\n metricTarget: '1'\n scheduledActions:\n - target: '0'\n name: s1\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n scheduleExpression: cron(0 0 4 * * *)\n - name: s2\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n scheduleExpression: cron(0 0 6 * * *)\n target: '1'\n - startTime: 2030-10-10T10:10:10\n endTime: 2035-10-10T10:10:10\n scheduleExpression: cron(0 0 7 * * *)\n target: '0'\n timeZone: Asia/Shanghai\n name: s3\n qualifier: LATEST\n alwaysAllocateGpu: 'true'\n functionName: ${function.functionName}\n alwaysAllocateCpu: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Provision Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3ProvisionConfig:V3ProvisionConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a FCV3 Provision Config resource.\n\nFunction Reservation Configuration.\n\nFor information about FCV3 Provision Config and how to use it, see [What is Provision Config](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-putprovisionconfig).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {\n projectName: `${name}-${_default.result}`,\n description: name,\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n projectName: defaultProject.name,\n logstoreName: `${name}-${_default.result}`,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst wait10Minutes = new time.index.Sleep(\"wait_10_minutes\", {createDuration: \"10m\"}, {\n dependsOn: [defaultStore],\n});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.handler\",\n functionName: `${name}-${_default.result}`,\n runtime: \"python3.10\",\n diskSize: 512,\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n logConfig: {\n enableInstanceMetrics: true,\n enableRequestMetrics: true,\n project: defaultProject.projectName,\n logstore: defaultStore.logstoreName,\n logBeginRule: \"None\",\n },\n}, {\n dependsOn: [wait10Minutes],\n});\nconst defaultV3ProvisionConfig = new alicloud.fc.V3ProvisionConfig(\"default\", {\n target: 1,\n targetTrackingPolicies: [\n {\n name: \"t1\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n minCapacity: 0,\n maxCapacity: 1,\n metricTarget: 1,\n metricType: \"ProvisionedConcurrencyUtilization\",\n },\n {\n metricTarget: 1,\n metricType: \"ProvisionedConcurrencyUtilization\",\n name: \"t2\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n minCapacity: 0,\n maxCapacity: 1,\n },\n {\n metricType: \"ProvisionedConcurrencyUtilization\",\n timeZone: \"Asia/Shanghai\",\n name: \"t3\",\n startTime: \"2030-10-10T10:10:10\",\n endTime: \"2035-10-10T10:10:10\",\n minCapacity: 0,\n maxCapacity: 1,\n metricTarget: 1,\n },\n ],\n scheduledActions: [\n {\n target: 0,\n name: \"s1\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n scheduleExpression: \"cron(0 0 4 * * *)\",\n },\n {\n name: \"s2\",\n startTime: \"2030-10-10T10:10:10Z\",\n endTime: \"2035-10-10T10:10:10Z\",\n scheduleExpression: \"cron(0 0 6 * * *)\",\n target: 1,\n },\n {\n startTime: \"2030-10-10T10:10:10\",\n endTime: \"2035-10-10T10:10:10\",\n scheduleExpression: \"cron(0 0 7 * * *)\",\n target: 0,\n timeZone: \"Asia/Shanghai\",\n name: \"s3\",\n },\n ],\n qualifier: \"LATEST\",\n alwaysAllocateGpu: true,\n functionName: _function.functionName,\n alwaysAllocateCpu: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_project = alicloud.log.Project(\"default\",\n project_name=f\"{name}-{default['result']}\",\n description=name)\ndefault_store = alicloud.log.Store(\"default\",\n project_name=default_project.name,\n logstore_name=f\"{name}-{default['result']}\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nwait10_minutes = time.index.Sleep(\"wait_10_minutes\", create_duration=10m,\nopts = pulumi.ResourceOptions(depends_on=[default_store]))\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.handler\",\n function_name=f\"{name}-{default['result']}\",\n runtime=\"python3.10\",\n disk_size=512,\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n log_config={\n \"enable_instance_metrics\": True,\n \"enable_request_metrics\": True,\n \"project\": default_project.project_name,\n \"logstore\": default_store.logstore_name,\n \"log_begin_rule\": \"None\",\n },\n opts = pulumi.ResourceOptions(depends_on=[wait10_minutes]))\ndefault_v3_provision_config = alicloud.fc.V3ProvisionConfig(\"default\",\n target=1,\n target_tracking_policies=[\n {\n \"name\": \"t1\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n \"metric_target\": 1,\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n },\n {\n \"metric_target\": 1,\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n \"name\": \"t2\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n },\n {\n \"metric_type\": \"ProvisionedConcurrencyUtilization\",\n \"time_zone\": \"Asia/Shanghai\",\n \"name\": \"t3\",\n \"start_time\": \"2030-10-10T10:10:10\",\n \"end_time\": \"2035-10-10T10:10:10\",\n \"min_capacity\": 0,\n \"max_capacity\": 1,\n \"metric_target\": 1,\n },\n ],\n scheduled_actions=[\n {\n \"target\": 0,\n \"name\": \"s1\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"schedule_expression\": \"cron(0 0 4 * * *)\",\n },\n {\n \"name\": \"s2\",\n \"start_time\": \"2030-10-10T10:10:10Z\",\n \"end_time\": \"2035-10-10T10:10:10Z\",\n \"schedule_expression\": \"cron(0 0 6 * * *)\",\n \"target\": 1,\n },\n {\n \"start_time\": \"2030-10-10T10:10:10\",\n \"end_time\": \"2035-10-10T10:10:10\",\n \"schedule_expression\": \"cron(0 0 7 * * *)\",\n \"target\": 0,\n \"time_zone\": \"Asia/Shanghai\",\n \"name\": \"s3\",\n },\n ],\n qualifier=\"LATEST\",\n always_allocate_gpu=True,\n function_name=function.function_name,\n always_allocate_cpu=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = $\"{name}-{@default.Result}\",\n Description = name,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n ProjectName = defaultProject.Name,\n LogstoreName = $\"{name}-{@default.Result}\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var wait10Minutes = new Time.Index.Sleep(\"wait_10_minutes\", new()\n {\n CreateDuration = \"10m\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n defaultStore,\n },\n });\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.handler\",\n FunctionName = $\"{name}-{@default.Result}\",\n Runtime = \"python3.10\",\n DiskSize = 512,\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n EnableInstanceMetrics = true,\n EnableRequestMetrics = true,\n Project = defaultProject.ProjectName,\n Logstore = defaultStore.LogstoreName,\n LogBeginRule = \"None\",\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n wait10Minutes,\n },\n });\n\n var defaultV3ProvisionConfig = new AliCloud.FC.V3ProvisionConfig(\"default\", new()\n {\n Target = 1,\n TargetTrackingPolicies = new[]\n {\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n Name = \"t1\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n MinCapacity = 0,\n MaxCapacity = 1,\n MetricTarget = 1,\n MetricType = \"ProvisionedConcurrencyUtilization\",\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n MetricTarget = 1,\n MetricType = \"ProvisionedConcurrencyUtilization\",\n Name = \"t2\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n MinCapacity = 0,\n MaxCapacity = 1,\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigTargetTrackingPolicyArgs\n {\n MetricType = \"ProvisionedConcurrencyUtilization\",\n TimeZone = \"Asia/Shanghai\",\n Name = \"t3\",\n StartTime = \"2030-10-10T10:10:10\",\n EndTime = \"2035-10-10T10:10:10\",\n MinCapacity = 0,\n MaxCapacity = 1,\n MetricTarget = 1,\n },\n },\n ScheduledActions = new[]\n {\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n Target = 0,\n Name = \"s1\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n ScheduleExpression = \"cron(0 0 4 * * *)\",\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n Name = \"s2\",\n StartTime = \"2030-10-10T10:10:10Z\",\n EndTime = \"2035-10-10T10:10:10Z\",\n ScheduleExpression = \"cron(0 0 6 * * *)\",\n Target = 1,\n },\n new AliCloud.FC.Inputs.V3ProvisionConfigScheduledActionArgs\n {\n StartTime = \"2030-10-10T10:10:10\",\n EndTime = \"2035-10-10T10:10:10\",\n ScheduleExpression = \"cron(0 0 7 * * *)\",\n Target = 0,\n TimeZone = \"Asia/Shanghai\",\n Name = \"s3\",\n },\n },\n Qualifier = \"LATEST\",\n AlwaysAllocateGpu = true,\n FunctionName = function.FunctionName,\n AlwaysAllocateCpu = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProjectName: defaultProject.Name,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twait10Minutes, err := time.NewSleep(ctx, \"wait_10_minutes\", \u0026time.SleepArgs{\n\t\t\tCreateDuration: \"10m\",\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultStore,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.handler\"),\n\t\t\tFunctionName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRuntime: pulumi.String(\"python3.10\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tEnableInstanceMetrics: pulumi.Bool(true),\n\t\t\t\tEnableRequestMetrics: pulumi.Bool(true),\n\t\t\t\tProject: defaultProject.ProjectName,\n\t\t\t\tLogstore: defaultStore.LogstoreName,\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\twait10Minutes,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3ProvisionConfig(ctx, \"default\", \u0026fc.V3ProvisionConfigArgs{\n\t\t\tTarget: pulumi.Int(1),\n\t\t\tTargetTrackingPolicies: fc.V3ProvisionConfigTargetTrackingPolicyArray{\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tName: pulumi.String(\"t1\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t\tName: pulumi.String(\"t2\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigTargetTrackingPolicyArgs{\n\t\t\t\t\tMetricType: pulumi.String(\"ProvisionedConcurrencyUtilization\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\tName: pulumi.String(\"t3\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10\"),\n\t\t\t\t\tMinCapacity: pulumi.Int(0),\n\t\t\t\t\tMaxCapacity: pulumi.Int(1),\n\t\t\t\t\tMetricTarget: pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduledActions: fc.V3ProvisionConfigScheduledActionArray{\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tTarget: pulumi.Int(0),\n\t\t\t\t\tName: pulumi.String(\"s1\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 4 * * *)\"),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tName: pulumi.String(\"s2\"),\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10Z\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10Z\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 6 * * *)\"),\n\t\t\t\t\tTarget: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026fc.V3ProvisionConfigScheduledActionArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"2030-10-10T10:10:10\"),\n\t\t\t\t\tEndTime: pulumi.String(\"2035-10-10T10:10:10\"),\n\t\t\t\t\tScheduleExpression: pulumi.String(\"cron(0 0 7 * * *)\"),\n\t\t\t\t\tTarget: pulumi.Int(0),\n\t\t\t\t\tTimeZone: pulumi.String(\"Asia/Shanghai\"),\n\t\t\t\t\tName: pulumi.String(\"s3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tAlwaysAllocateGpu: pulumi.Bool(true),\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tAlwaysAllocateCpu: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.time.Sleep;\nimport com.pulumi.time.SleepArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3ProvisionConfig;\nimport com.pulumi.alicloud.fc.V3ProvisionConfigArgs;\nimport com.pulumi.alicloud.fc.inputs.V3ProvisionConfigTargetTrackingPolicyArgs;\nimport com.pulumi.alicloud.fc.inputs.V3ProvisionConfigScheduledActionArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .projectName(defaultProject.name())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var wait10Minutes = new Sleep(\"wait10Minutes\", SleepArgs.builder()\n .createDuration(\"10m\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(List.of(defaultStore))\n .build());\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.handler\")\n .functionName(String.format(\"%s-%s\", name,default_.result()))\n .runtime(\"python3.10\")\n .diskSize(512)\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .logConfig(V3FunctionLogConfigArgs.builder()\n .enableInstanceMetrics(true)\n .enableRequestMetrics(true)\n .project(defaultProject.projectName())\n .logstore(defaultStore.logstoreName())\n .logBeginRule(\"None\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(wait10Minutes)\n .build());\n\n var defaultV3ProvisionConfig = new V3ProvisionConfig(\"defaultV3ProvisionConfig\", V3ProvisionConfigArgs.builder()\n .target(1)\n .targetTrackingPolicies( \n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .name(\"t1\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .minCapacity(0)\n .maxCapacity(1)\n .metricTarget(1.0)\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .build(),\n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .metricTarget(1.0)\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .name(\"t2\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .minCapacity(0)\n .maxCapacity(1)\n .build(),\n V3ProvisionConfigTargetTrackingPolicyArgs.builder()\n .metricType(\"ProvisionedConcurrencyUtilization\")\n .timeZone(\"Asia/Shanghai\")\n .name(\"t3\")\n .startTime(\"2030-10-10T10:10:10\")\n .endTime(\"2035-10-10T10:10:10\")\n .minCapacity(0)\n .maxCapacity(1)\n .metricTarget(1.0)\n .build())\n .scheduledActions( \n V3ProvisionConfigScheduledActionArgs.builder()\n .target(0)\n .name(\"s1\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .scheduleExpression(\"cron(0 0 4 * * *)\")\n .build(),\n V3ProvisionConfigScheduledActionArgs.builder()\n .name(\"s2\")\n .startTime(\"2030-10-10T10:10:10Z\")\n .endTime(\"2035-10-10T10:10:10Z\")\n .scheduleExpression(\"cron(0 0 6 * * *)\")\n .target(1)\n .build(),\n V3ProvisionConfigScheduledActionArgs.builder()\n .startTime(\"2030-10-10T10:10:10\")\n .endTime(\"2035-10-10T10:10:10\")\n .scheduleExpression(\"cron(0 0 7 * * *)\")\n .target(0)\n .timeZone(\"Asia/Shanghai\")\n .name(\"s3\")\n .build())\n .qualifier(\"LATEST\")\n .alwaysAllocateGpu(true)\n .functionName(function.functionName())\n .alwaysAllocateCpu(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}-${default.result}\n description: ${name}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n projectName: ${defaultProject.name}\n logstoreName: ${name}-${default.result}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n wait10Minutes:\n type: time:Sleep\n name: wait_10_minutes\n properties:\n createDuration: 10m\n options:\n dependsOn:\n - ${defaultStore}\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.handler\n functionName: ${name}-${default.result}\n runtime: python3.10\n diskSize: '512'\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n logConfig:\n enableInstanceMetrics: true\n enableRequestMetrics: true\n project: ${defaultProject.projectName}\n logstore: ${defaultStore.logstoreName}\n logBeginRule: None\n options:\n dependsOn:\n - ${wait10Minutes}\n defaultV3ProvisionConfig:\n type: alicloud:fc:V3ProvisionConfig\n name: default\n properties:\n target: '1'\n targetTrackingPolicies:\n - name: t1\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n minCapacity: '0'\n maxCapacity: '1'\n metricTarget: '1'\n metricType: ProvisionedConcurrencyUtilization\n - metricTarget: '1'\n metricType: ProvisionedConcurrencyUtilization\n name: t2\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n minCapacity: '0'\n maxCapacity: '1'\n - metricType: ProvisionedConcurrencyUtilization\n timeZone: Asia/Shanghai\n name: t3\n startTime: 2030-10-10T10:10:10\n endTime: 2035-10-10T10:10:10\n minCapacity: '0'\n maxCapacity: '1'\n metricTarget: '1'\n scheduledActions:\n - target: '0'\n name: s1\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n scheduleExpression: cron(0 0 4 * * *)\n - name: s2\n startTime: 2030-10-10T10:10:10Z\n endTime: 2035-10-10T10:10:10Z\n scheduleExpression: cron(0 0 6 * * *)\n target: '1'\n - startTime: 2030-10-10T10:10:10\n endTime: 2035-10-10T10:10:10\n scheduleExpression: cron(0 0 7 * * *)\n target: '0'\n timeZone: Asia/Shanghai\n name: s3\n qualifier: LATEST\n alwaysAllocateGpu: 'true'\n functionName: ${function.functionName}\n alwaysAllocateCpu: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Provision Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3ProvisionConfig:V3ProvisionConfig example \u003cid\u003e\n```\n\n", "properties": { "alwaysAllocateCpu": { "type": "boolean", @@ -189332,7 +193163,7 @@ } }, "alicloud:fc/v3Trigger:V3Trigger": { - "description": "Provides a FCV3 Trigger resource.\n\nA trigger is a way of triggering the execution of a function. In the event-driven computing model, the event source is the producer of the event, the function is the handler of the event, and the trigger provides a centralized and unified way to manage different event sources. In the event source, when the event occurs, if the rules defined by the trigger are met,.\n\nFor information about FCV3 Trigger and how to use it, see [What is Trigger](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-createtrigger).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"TerraformTriggerResourceAPI\";\nconst triggerName = config.get(\"triggerName\") || \"TerraformTrigger_CDN\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.fc.V3Trigger(\"default\", {\n triggerType: \"cdn_events\",\n triggerName: name,\n description: \"create\",\n qualifier: \"LATEST\",\n triggerConfig: JSON.stringify({\n eventName: \"CachedObjectsPushed\",\n eventVersion: \"1.0.0\",\n notes: \"example\",\n filter: {\n domain: [\"example.com\"],\n },\n }),\n sourceArn: current.then(current =\u003e `acs:cdn:*:${current.id}`),\n invocationRole: current.then(current =\u003e `acs:ram::${current.id}:role/aliyuncdneventnotificationrole`),\n functionName: _function.functionName,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"TerraformTriggerResourceAPI\"\ntrigger_name = config.get(\"triggerName\")\nif trigger_name is None:\n trigger_name = \"TerraformTrigger_CDN\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ncurrent = alicloud.get_account()\ndefault = alicloud.fc.V3Trigger(\"default\",\n trigger_type=\"cdn_events\",\n trigger_name=name,\n description=\"create\",\n qualifier=\"LATEST\",\n trigger_config=json.dumps({\n \"eventName\": \"CachedObjectsPushed\",\n \"eventVersion\": \"1.0.0\",\n \"notes\": \"example\",\n \"filter\": {\n \"domain\": [\"example.com\"],\n },\n }),\n source_arn=f\"acs:cdn:*:{current.id}\",\n invocation_role=f\"acs:ram::{current.id}:role/aliyuncdneventnotificationrole\",\n function_name=function.function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"TerraformTriggerResourceAPI\";\n var triggerName = config.Get(\"triggerName\") ?? \"TerraformTrigger_CDN\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.FC.V3Trigger(\"default\", new()\n {\n TriggerType = \"cdn_events\",\n TriggerName = name,\n Description = \"create\",\n Qualifier = \"LATEST\",\n TriggerConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"eventName\"] = \"CachedObjectsPushed\",\n [\"eventVersion\"] = \"1.0.0\",\n [\"notes\"] = \"example\",\n [\"filter\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = new[]\n {\n \"example.com\",\n },\n },\n }),\n SourceArn = $\"acs:cdn:*:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}\",\n InvocationRole = $\"acs:ram::{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyuncdneventnotificationrole\",\n FunctionName = function.FunctionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"TerraformTriggerResourceAPI\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\ttriggerName := \"TerraformTrigger_CDN\"\n\t\tif param := cfg.Get(\"triggerName\"); param != \"\" {\n\t\t\ttriggerName = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\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\"eventName\": \"CachedObjectsPushed\",\n\t\t\t\"eventVersion\": \"1.0.0\",\n\t\t\t\"notes\": \"example\",\n\t\t\t\"filter\": map[string]interface{}{\n\t\t\t\t\"domain\": []string{\n\t\t\t\t\t\"example.com\",\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 = fc.NewV3Trigger(ctx, \"default\", \u0026fc.V3TriggerArgs{\n\t\t\tTriggerType: pulumi.String(\"cdn_events\"),\n\t\t\tTriggerName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"create\"),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tTriggerConfig: pulumi.String(json0),\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v\", current.Id),\n\t\t\tInvocationRole: pulumi.Sprintf(\"acs:ram::%v:role/aliyuncdneventnotificationrole\", current.Id),\n\t\t\tFunctionName: function.FunctionName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Trigger;\nimport com.pulumi.alicloud.fc.V3TriggerArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"TerraformTriggerResourceAPI\");\n final var triggerName = config.get(\"triggerName\").orElse(\"TerraformTrigger_CDN\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new V3Trigger(\"default\", V3TriggerArgs.builder()\n .triggerType(\"cdn_events\")\n .triggerName(name)\n .description(\"create\")\n .qualifier(\"LATEST\")\n .triggerConfig(serializeJson(\n jsonObject(\n jsonProperty(\"eventName\", \"CachedObjectsPushed\"),\n jsonProperty(\"eventVersion\", \"1.0.0\"),\n jsonProperty(\"notes\", \"example\"),\n jsonProperty(\"filter\", jsonObject(\n jsonProperty(\"domain\", jsonArray(\"example.com\"))\n ))\n )))\n .sourceArn(String.format(\"acs:cdn:*:%s\", current.id()))\n .invocationRole(String.format(\"acs:ram::%s:role/aliyuncdneventnotificationrole\", current.id()))\n .functionName(function.functionName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: TerraformTriggerResourceAPI\n triggerName:\n type: string\n default: TerraformTrigger_CDN\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3Trigger\n properties:\n triggerType: cdn_events\n triggerName: ${name}\n description: create\n qualifier: LATEST\n triggerConfig:\n fn::toJSON:\n eventName: CachedObjectsPushed\n eventVersion: 1.0.0\n notes: example\n filter:\n domain:\n - example.com\n sourceArn: acs:cdn:*:${current.id}\n invocationRole: acs:ram::${current.id}:role/aliyuncdneventnotificationrole\n functionName: ${function.functionName}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nHTTP Trigger\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"TerraformTriggerResourceAPI\";\nconst triggerName = config.get(\"triggerName\") || \"TerraformTrigger_HTTP\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.fc.V3Trigger(\"default\", {\n triggerType: \"http\",\n triggerName: name,\n description: \"create\",\n qualifier: \"LATEST\",\n triggerConfig: JSON.stringify({\n authType: \"anonymous\",\n methods: [\n \"GET\",\n \"POST\",\n ],\n }),\n functionName: _function.functionName,\n});\nexport const outputCalicloudFcv3TriggerInternet = alicloudFcv3Trigger[\"default\"].httpTrigger[0].urlInternet;\nexport const outputCalicloudFcv3TriggerIntranet = alicloudFcv3Trigger[\"default\"].httpTrigger[0].urlIntranet;\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"TerraformTriggerResourceAPI\"\ntrigger_name = config.get(\"triggerName\")\nif trigger_name is None:\n trigger_name = \"TerraformTrigger_HTTP\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ncurrent = alicloud.get_account()\ndefault = alicloud.fc.V3Trigger(\"default\",\n trigger_type=\"http\",\n trigger_name=name,\n description=\"create\",\n qualifier=\"LATEST\",\n trigger_config=json.dumps({\n \"authType\": \"anonymous\",\n \"methods\": [\n \"GET\",\n \"POST\",\n ],\n }),\n function_name=function.function_name)\npulumi.export(\"outputCalicloudFcv3TriggerInternet\", alicloud_fcv3_trigger[\"default\"][\"httpTrigger\"][0][\"urlInternet\"])\npulumi.export(\"outputCalicloudFcv3TriggerIntranet\", alicloud_fcv3_trigger[\"default\"][\"httpTrigger\"][0][\"urlIntranet\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"TerraformTriggerResourceAPI\";\n var triggerName = config.Get(\"triggerName\") ?? \"TerraformTrigger_HTTP\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.FC.V3Trigger(\"default\", new()\n {\n TriggerType = \"http\",\n TriggerName = name,\n Description = \"create\",\n Qualifier = \"LATEST\",\n TriggerConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"authType\"] = \"anonymous\",\n [\"methods\"] = new[]\n {\n \"GET\",\n \"POST\",\n },\n }),\n FunctionName = function.FunctionName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"outputCalicloudFcv3TriggerInternet\"] = alicloudFcv3Trigger.Default.HttpTrigger[0].UrlInternet,\n [\"outputCalicloudFcv3TriggerIntranet\"] = alicloudFcv3Trigger.Default.HttpTrigger[0].UrlIntranet,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"TerraformTriggerResourceAPI\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\ttriggerName := \"TerraformTrigger_HTTP\"\n\t\tif param := cfg.Get(\"triggerName\"); param != \"\" {\n\t\t\ttriggerName = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\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\"authType\": \"anonymous\",\n\t\t\t\"methods\": []string{\n\t\t\t\t\"GET\",\n\t\t\t\t\"POST\",\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 = fc.NewV3Trigger(ctx, \"default\", \u0026fc.V3TriggerArgs{\n\t\t\tTriggerType: pulumi.String(\"http\"),\n\t\t\tTriggerName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"create\"),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tTriggerConfig: pulumi.String(json0),\n\t\t\tFunctionName: function.FunctionName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"outputCalicloudFcv3TriggerInternet\", alicloudFcv3Trigger.Default.HttpTrigger[0].UrlInternet)\n\t\tctx.Export(\"outputCalicloudFcv3TriggerIntranet\", alicloudFcv3Trigger.Default.HttpTrigger[0].UrlIntranet)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Trigger;\nimport com.pulumi.alicloud.fc.V3TriggerArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"TerraformTriggerResourceAPI\");\n final var triggerName = config.get(\"triggerName\").orElse(\"TerraformTrigger_HTTP\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new V3Trigger(\"default\", V3TriggerArgs.builder()\n .triggerType(\"http\")\n .triggerName(name)\n .description(\"create\")\n .qualifier(\"LATEST\")\n .triggerConfig(serializeJson(\n jsonObject(\n jsonProperty(\"authType\", \"anonymous\"),\n jsonProperty(\"methods\", jsonArray(\n \"GET\", \n \"POST\"\n ))\n )))\n .functionName(function.functionName())\n .build());\n\n ctx.export(\"outputCalicloudFcv3TriggerInternet\", alicloudFcv3Trigger.default().httpTrigger()[0].urlInternet());\n ctx.export(\"outputCalicloudFcv3TriggerIntranet\", alicloudFcv3Trigger.default().httpTrigger()[0].urlIntranet());\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: TerraformTriggerResourceAPI\n triggerName:\n type: string\n default: TerraformTrigger_HTTP\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3Trigger\n properties:\n triggerType: http\n triggerName: ${name}\n description: create\n qualifier: LATEST\n triggerConfig:\n fn::toJSON:\n authType: anonymous\n methods:\n - GET\n - POST\n functionName: ${function.functionName}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\noutputs:\n outputCalicloudFcv3TriggerInternet: ${alicloudFcv3Trigger.default.httpTrigger[0].urlInternet}\n outputCalicloudFcv3TriggerIntranet: ${alicloudFcv3Trigger.default.httpTrigger[0].urlIntranet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Trigger:V3Trigger example \u003cfunction_name\u003e:\u003ctrigger_name\u003e\n```\n\n", + "description": "Provides a FCV3 Trigger resource.\n\nA trigger is a way of triggering the execution of a function. In the event-driven computing model, the event source is the producer of the event, the function is the handler of the event, and the trigger provides a centralized and unified way to manage different event sources. In the event source, when the event occurs, if the rules defined by the trigger are met,.\n\nFor information about FCV3 Trigger and how to use it, see [What is Trigger](https://www.alibabacloud.com/help/en/functioncompute/api-fc-2023-03-30-createtrigger).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"TerraformTriggerResourceAPI\";\nconst triggerName = config.get(\"triggerName\") || \"TerraformTrigger_CDN\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.fc.V3Trigger(\"default\", {\n triggerType: \"cdn_events\",\n triggerName: name,\n description: \"create\",\n qualifier: \"LATEST\",\n triggerConfig: JSON.stringify({\n eventName: \"CachedObjectsPushed\",\n eventVersion: \"1.0.0\",\n notes: \"example\",\n filter: {\n domain: [\"example.com\"],\n },\n }),\n sourceArn: current.then(current =\u003e `acs:cdn:*:${current.id}`),\n invocationRole: current.then(current =\u003e `acs:ram::${current.id}:role/aliyuncdneventnotificationrole`),\n functionName: _function.functionName,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"TerraformTriggerResourceAPI\"\ntrigger_name = config.get(\"triggerName\")\nif trigger_name is None:\n trigger_name = \"TerraformTrigger_CDN\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ncurrent = alicloud.get_account()\ndefault = alicloud.fc.V3Trigger(\"default\",\n trigger_type=\"cdn_events\",\n trigger_name=name,\n description=\"create\",\n qualifier=\"LATEST\",\n trigger_config=json.dumps({\n \"eventName\": \"CachedObjectsPushed\",\n \"eventVersion\": \"1.0.0\",\n \"notes\": \"example\",\n \"filter\": {\n \"domain\": [\"example.com\"],\n },\n }),\n source_arn=f\"acs:cdn:*:{current.id}\",\n invocation_role=f\"acs:ram::{current.id}:role/aliyuncdneventnotificationrole\",\n function_name=function.function_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"TerraformTriggerResourceAPI\";\n var triggerName = config.Get(\"triggerName\") ?? \"TerraformTrigger_CDN\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.FC.V3Trigger(\"default\", new()\n {\n TriggerType = \"cdn_events\",\n TriggerName = name,\n Description = \"create\",\n Qualifier = \"LATEST\",\n TriggerConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"eventName\"] = \"CachedObjectsPushed\",\n [\"eventVersion\"] = \"1.0.0\",\n [\"notes\"] = \"example\",\n [\"filter\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = new[]\n {\n \"example.com\",\n },\n },\n }),\n SourceArn = $\"acs:cdn:*:{current.Apply(getAccountResult =\u003e getAccountResult.Id)}\",\n InvocationRole = $\"acs:ram::{current.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyuncdneventnotificationrole\",\n FunctionName = function.FunctionName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"TerraformTriggerResourceAPI\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\ttriggerName := \"TerraformTrigger_CDN\"\n\t\tif param := cfg.Get(\"triggerName\"); param != \"\" {\n\t\t\ttriggerName = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\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\"eventName\": \"CachedObjectsPushed\",\n\t\t\t\"eventVersion\": \"1.0.0\",\n\t\t\t\"notes\": \"example\",\n\t\t\t\"filter\": map[string]interface{}{\n\t\t\t\t\"domain\": []string{\n\t\t\t\t\t\"example.com\",\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 = fc.NewV3Trigger(ctx, \"default\", \u0026fc.V3TriggerArgs{\n\t\t\tTriggerType: pulumi.String(\"cdn_events\"),\n\t\t\tTriggerName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"create\"),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tTriggerConfig: pulumi.String(json0),\n\t\t\tSourceArn: pulumi.Sprintf(\"acs:cdn:*:%v\", current.Id),\n\t\t\tInvocationRole: pulumi.Sprintf(\"acs:ram::%v:role/aliyuncdneventnotificationrole\", current.Id),\n\t\t\tFunctionName: function.FunctionName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Trigger;\nimport com.pulumi.alicloud.fc.V3TriggerArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"TerraformTriggerResourceAPI\");\n final var triggerName = config.get(\"triggerName\").orElse(\"TerraformTrigger_CDN\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new V3Trigger(\"default\", V3TriggerArgs.builder()\n .triggerType(\"cdn_events\")\n .triggerName(name)\n .description(\"create\")\n .qualifier(\"LATEST\")\n .triggerConfig(serializeJson(\n jsonObject(\n jsonProperty(\"eventName\", \"CachedObjectsPushed\"),\n jsonProperty(\"eventVersion\", \"1.0.0\"),\n jsonProperty(\"notes\", \"example\"),\n jsonProperty(\"filter\", jsonObject(\n jsonProperty(\"domain\", jsonArray(\"example.com\"))\n ))\n )))\n .sourceArn(String.format(\"acs:cdn:*:%s\", current.id()))\n .invocationRole(String.format(\"acs:ram::%s:role/aliyuncdneventnotificationrole\", current.id()))\n .functionName(function.functionName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: TerraformTriggerResourceAPI\n triggerName:\n type: string\n default: TerraformTrigger_CDN\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3Trigger\n properties:\n triggerType: cdn_events\n triggerName: ${name}\n description: create\n qualifier: LATEST\n triggerConfig:\n fn::toJSON:\n eventName: CachedObjectsPushed\n eventVersion: 1.0.0\n notes: example\n filter:\n domain:\n - example.com\n sourceArn: acs:cdn:*:${current.id}\n invocationRole: acs:ram::${current.id}:role/aliyuncdneventnotificationrole\n functionName: ${function.functionName}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nHTTP Trigger\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst functionName = config.get(\"functionName\") || \"TerraformTriggerResourceAPI\";\nconst triggerName = config.get(\"triggerName\") || \"TerraformTrigger_HTTP\";\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst current = alicloud.getAccount({});\nconst _default = new alicloud.fc.V3Trigger(\"default\", {\n triggerType: \"http\",\n triggerName: name,\n description: \"create\",\n qualifier: \"LATEST\",\n triggerConfig: JSON.stringify({\n authType: \"anonymous\",\n methods: [\n \"GET\",\n \"POST\",\n ],\n }),\n functionName: _function.functionName,\n});\nexport const outputCalicloudFcv3TriggerInternet = alicloudFcv3Trigger[\"default\"].httpTrigger[0].urlInternet;\nexport const outputCalicloudFcv3TriggerIntranet = alicloudFcv3Trigger[\"default\"].httpTrigger[0].urlIntranet;\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfunction_name = config.get(\"functionName\")\nif function_name is None:\n function_name = \"TerraformTriggerResourceAPI\"\ntrigger_name = config.get(\"triggerName\")\nif trigger_name is None:\n trigger_name = \"TerraformTrigger_HTTP\"\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ncurrent = alicloud.get_account()\ndefault = alicloud.fc.V3Trigger(\"default\",\n trigger_type=\"http\",\n trigger_name=name,\n description=\"create\",\n qualifier=\"LATEST\",\n trigger_config=json.dumps({\n \"authType\": \"anonymous\",\n \"methods\": [\n \"GET\",\n \"POST\",\n ],\n }),\n function_name=function.function_name)\npulumi.export(\"outputCalicloudFcv3TriggerInternet\", alicloud_fcv3_trigger[\"default\"][\"httpTrigger\"][0][\"urlInternet\"])\npulumi.export(\"outputCalicloudFcv3TriggerIntranet\", alicloud_fcv3_trigger[\"default\"][\"httpTrigger\"][0][\"urlIntranet\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var functionName = config.Get(\"functionName\") ?? \"TerraformTriggerResourceAPI\";\n var triggerName = config.Get(\"triggerName\") ?? \"TerraformTrigger_HTTP\";\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var current = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.FC.V3Trigger(\"default\", new()\n {\n TriggerType = \"http\",\n TriggerName = name,\n Description = \"create\",\n Qualifier = \"LATEST\",\n TriggerConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"authType\"] = \"anonymous\",\n [\"methods\"] = new[]\n {\n \"GET\",\n \"POST\",\n },\n }),\n FunctionName = function.FunctionName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"outputCalicloudFcv3TriggerInternet\"] = alicloudFcv3Trigger.Default.HttpTrigger[0].UrlInternet,\n [\"outputCalicloudFcv3TriggerIntranet\"] = alicloudFcv3Trigger.Default.HttpTrigger[0].UrlIntranet,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfunctionName := \"TerraformTriggerResourceAPI\"\n\t\tif param := cfg.Get(\"functionName\"); param != \"\" {\n\t\t\tfunctionName = param\n\t\t}\n\t\ttriggerName := \"TerraformTrigger_HTTP\"\n\t\tif param := cfg.Get(\"triggerName\"); param != \"\" {\n\t\t\ttriggerName = param\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\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\"authType\": \"anonymous\",\n\t\t\t\"methods\": []string{\n\t\t\t\t\"GET\",\n\t\t\t\t\"POST\",\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 = fc.NewV3Trigger(ctx, \"default\", \u0026fc.V3TriggerArgs{\n\t\t\tTriggerType: pulumi.String(\"http\"),\n\t\t\tTriggerName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"create\"),\n\t\t\tQualifier: pulumi.String(\"LATEST\"),\n\t\t\tTriggerConfig: pulumi.String(json0),\n\t\t\tFunctionName: function.FunctionName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"outputCalicloudFcv3TriggerInternet\", alicloudFcv3Trigger.Default.HttpTrigger[0].UrlInternet)\n\t\tctx.Export(\"outputCalicloudFcv3TriggerIntranet\", alicloudFcv3Trigger.Default.HttpTrigger[0].UrlIntranet)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.fc.V3Trigger;\nimport com.pulumi.alicloud.fc.V3TriggerArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var functionName = config.get(\"functionName\").orElse(\"TerraformTriggerResourceAPI\");\n final var triggerName = config.get(\"triggerName\").orElse(\"TerraformTrigger_HTTP\");\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new V3Trigger(\"default\", V3TriggerArgs.builder()\n .triggerType(\"http\")\n .triggerName(name)\n .description(\"create\")\n .qualifier(\"LATEST\")\n .triggerConfig(serializeJson(\n jsonObject(\n jsonProperty(\"authType\", \"anonymous\"),\n jsonProperty(\"methods\", jsonArray(\n \"GET\", \n \"POST\"\n ))\n )))\n .functionName(function.functionName())\n .build());\n\n ctx.export(\"outputCalicloudFcv3TriggerInternet\", alicloudFcv3Trigger.default().httpTrigger()[0].urlInternet());\n ctx.export(\"outputCalicloudFcv3TriggerIntranet\", alicloudFcv3Trigger.default().httpTrigger()[0].urlIntranet());\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n functionName:\n type: string\n default: TerraformTriggerResourceAPI\n triggerName:\n type: string\n default: TerraformTrigger_HTTP\nresources:\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3Trigger\n properties:\n triggerType: http\n triggerName: ${name}\n description: create\n qualifier: LATEST\n triggerConfig:\n fn::toJSON:\n authType: anonymous\n methods:\n - GET\n - POST\n functionName: ${function.functionName}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\noutputs:\n outputCalicloudFcv3TriggerInternet: ${alicloudFcv3Trigger.default.httpTrigger[0].urlInternet}\n outputCalicloudFcv3TriggerIntranet: ${alicloudFcv3Trigger.default.httpTrigger[0].urlIntranet}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Trigger can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3Trigger:V3Trigger example \u003cfunction_name\u003e:\u003ctrigger_name\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -189517,7 +193348,7 @@ } }, "alicloud:fc/v3VpcBinding:V3VpcBinding": { - "description": "Provides a FCV3 Vpc Binding resource.\n\n\n\nFor information about FCV3 Vpc Binding and how to use it, see [What is Vpc Binding](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-createvpcbinding).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3VpcBinding(\"default\", {\n functionName: _function.functionName,\n vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3VpcBinding(\"default\",\n function_name=function.function_name,\n vpc_id=vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3VpcBinding(\"default\", new()\n {\n FunctionName = function.FunctionName,\n VpcId = vpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3VpcBinding(ctx, \"default\", \u0026fc.V3VpcBindingArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tVpcId: vpc.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3VpcBinding;\nimport com.pulumi.alicloud.fc.V3VpcBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3VpcBinding(\"default\", V3VpcBindingArgs.builder()\n .functionName(function.functionName())\n .vpcId(vpc.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3VpcBinding\n properties:\n functionName: ${function.functionName}\n vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFCV3 Vpc Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3VpcBinding:V3VpcBinding example \u003cfunction_name\u003e:\u003cvpc_id\u003e\n```\n\n", + "description": "Provides a FCV3 Vpc Binding resource.\n\n\n\nFor information about FCV3 Vpc Binding and how to use it, see [What is Vpc Binding](https://www.alibabacloud.com/help/en/functioncompute/fc-3-0/developer-reference/api-fc-2023-03-30-createvpcbinding).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst _function = new alicloud.fc.V3Function(\"function\", {\n memorySize: 512,\n cpu: 0.5,\n handler: \"index.Handler\",\n code: {\n zipFile: \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n functionName: name,\n runtime: \"python3.9\",\n diskSize: 512,\n logConfig: {\n logBeginRule: \"None\",\n },\n});\nconst _default = new alicloud.fc.V3VpcBinding(\"default\", {\n functionName: _function.functionName,\n vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\nfunction = alicloud.fc.V3Function(\"function\",\n memory_size=512,\n cpu=0.5,\n handler=\"index.Handler\",\n code={\n \"zip_file\": \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n function_name=name,\n runtime=\"python3.9\",\n disk_size=512,\n log_config={\n \"log_begin_rule\": \"None\",\n })\ndefault = alicloud.fc.V3VpcBinding(\"default\",\n function_name=function.function_name,\n vpc_id=vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var function = new AliCloud.FC.V3Function(\"function\", new()\n {\n MemorySize = 512,\n Cpu = 0.5,\n Handler = \"index.Handler\",\n Code = new AliCloud.FC.Inputs.V3FunctionCodeArgs\n {\n ZipFile = \"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\",\n },\n FunctionName = name,\n Runtime = \"python3.9\",\n DiskSize = 512,\n LogConfig = new AliCloud.FC.Inputs.V3FunctionLogConfigArgs\n {\n LogBeginRule = \"None\",\n },\n });\n\n var @default = new AliCloud.FC.V3VpcBinding(\"default\", new()\n {\n FunctionName = function.FunctionName,\n VpcId = vpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfunction, err := fc.NewV3Function(ctx, \"function\", \u0026fc.V3FunctionArgs{\n\t\t\tMemorySize: pulumi.Int(512),\n\t\t\tCpu: pulumi.Float64(0.5),\n\t\t\tHandler: pulumi.String(\"index.Handler\"),\n\t\t\tCode: \u0026fc.V3FunctionCodeArgs{\n\t\t\t\tZipFile: pulumi.String(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\"),\n\t\t\t},\n\t\t\tFunctionName: pulumi.String(name),\n\t\t\tRuntime: pulumi.String(\"python3.9\"),\n\t\t\tDiskSize: pulumi.Int(512),\n\t\t\tLogConfig: \u0026fc.V3FunctionLogConfigArgs{\n\t\t\t\tLogBeginRule: pulumi.String(\"None\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fc.NewV3VpcBinding(ctx, \"default\", \u0026fc.V3VpcBindingArgs{\n\t\t\tFunctionName: function.FunctionName,\n\t\t\tVpcId: vpc.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.fc.V3Function;\nimport com.pulumi.alicloud.fc.V3FunctionArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionCodeArgs;\nimport com.pulumi.alicloud.fc.inputs.V3FunctionLogConfigArgs;\nimport com.pulumi.alicloud.fc.V3VpcBinding;\nimport com.pulumi.alicloud.fc.V3VpcBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var function = new V3Function(\"function\", V3FunctionArgs.builder()\n .memorySize(512)\n .cpu(0.5)\n .handler(\"index.Handler\")\n .code(V3FunctionCodeArgs.builder()\n .zipFile(\"UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\")\n .build())\n .functionName(name)\n .runtime(\"python3.9\")\n .diskSize(512)\n .logConfig(V3FunctionLogConfigArgs.builder()\n .logBeginRule(\"None\")\n .build())\n .build());\n\n var default_ = new V3VpcBinding(\"default\", V3VpcBindingArgs.builder()\n .functionName(function.functionName())\n .vpcId(vpc.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n function:\n type: alicloud:fc:V3Function\n properties:\n memorySize: '512'\n cpu: 0.5\n handler: index.Handler\n code:\n zipFile: UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAaW5kZXgucHmEkEFKxEAQRfd9ig9ZTCJOooIwDMwNXLqXnnQlaalUhU5lRj2KZ/FOXkESGR114bJ/P/7jV4b1xRq1hijtFpM1682cuNgPmgysbRulPT0fRxXnMtwrSPyeCdYRokSLnuMLJTTkbUqEvDMbxm1VdcRD6Tk+T1LW2ldB66knsYdA5iNX17ebm6tN2VnPhcswMPmREPuBacb+CiapLarAj9gT6/H97dVlCNScY3mtYvRkxdZlwDKDEnanPWVLdrdkeXEGlFEazVdfPVHaVeHc3N15CUwppwOJXeK7HshAB8NuOU7J6sP4SRXuH/EvbUfMiqMmDqv5M5FNSfAj/wgAAP//UEsHCPl//NYAAQAArwEAAFBLAQIUABQACAAIAAAAAAD5f/zWAAEAAK8BAAAIAAAAAAAAAAAAAAAAAAAAAABpbmRleC5weVBLBQYAAAAAAQABADYAAAA2AQAAAAA=\n functionName: ${name}\n runtime: python3.9\n diskSize: '512'\n logConfig:\n logBeginRule: None\n default:\n type: alicloud:fc:V3VpcBinding\n properties:\n functionName: ${function.functionName}\n vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFCV3 Vpc Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fc/v3VpcBinding:V3VpcBinding example \u003cfunction_name\u003e:\u003cvpc_id\u003e\n```\n\n", "properties": { "functionName": { "type": "string", @@ -189565,7 +193396,7 @@ } }, "alicloud:fnf/execution:Execution": { - "description": "Provides a Serverless Workflow Execution resource.\n\nFor information about Serverless Workflow Execution and how to use it, see [What is Execution](https://www.alibabacloud.com/help/en/doc-detail/122628.html).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-fnfflow\";\nconst _default = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fnf.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n});\nconst defaultFlow = new alicloud.fnf.Flow(\"default\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: .wait\n`,\n roleArn: _default.arn,\n description: \"Test for terraform fnf_flow.\",\n name: name,\n type: \"FDL\",\n});\nconst defaultExecution = new alicloud.fnf.Execution(\"default\", {\n executionName: name,\n flowName: defaultFlow.name,\n input: \"{\\\"wait\\\": 600}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-fnfflow\"\ndefault = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\")\ndefault_flow = alicloud.fnf.Flow(\"default\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n\"\"\",\n role_arn=default.arn,\n description=\"Test for terraform fnf_flow.\",\n name=name,\n type=\"FDL\")\ndefault_execution = alicloud.fnf.Execution(\"default\",\n execution_name=name,\n flow_name=default_flow.name,\n input=\"{\\\"wait\\\": 600}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-fnfflow\";\n var @default = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fnf.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n });\n\n var defaultFlow = new AliCloud.FNF.Flow(\"default\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n\",\n RoleArn = @default.Arn,\n Description = \"Test for terraform fnf_flow.\",\n Name = name,\n Type = \"FDL\",\n });\n\n var defaultExecution = new AliCloud.FNF.Execution(\"default\", new()\n {\n ExecutionName = name,\n FlowName = defaultFlow.Name,\n Input = \"{\\\"wait\\\": 600}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-fnfflow\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFlow, err := fnf.NewFlow(ctx, \"default\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n`),\n\t\t\tRoleArn: _default.Arn,\n\t\t\tDescription: pulumi.String(\"Test for terraform fnf_flow.\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewExecution(ctx, \"default\", \u0026fnf.ExecutionArgs{\n\t\t\tExecutionName: pulumi.String(name),\n\t\t\tFlowName: defaultFlow.Name,\n\t\t\tInput: pulumi.String(\"{\\\"wait\\\": 600}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport com.pulumi.alicloud.fnf.Execution;\nimport com.pulumi.alicloud.fnf.ExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-fnfflow\");\n var default_ = new Role(\"default\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build());\n\n var defaultFlow = new Flow(\"defaultFlow\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n \"\"\")\n .roleArn(default_.arn())\n .description(\"Test for terraform fnf_flow.\")\n .name(name)\n .type(\"FDL\")\n .build());\n\n var defaultExecution = new Execution(\"defaultExecution\", ExecutionArgs.builder()\n .executionName(name)\n .flowName(defaultFlow.name())\n .input(\"{\\\"wait\\\": 600}\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-fnfflow\nresources:\n default:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n defaultFlow:\n type: alicloud:fnf:Flow\n name: default\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n roleArn: ${default.arn}\n description: Test for terraform fnf_flow.\n name: ${name}\n type: FDL\n defaultExecution:\n type: alicloud:fnf:Execution\n name: default\n properties:\n executionName: ${name}\n flowName: ${defaultFlow.name}\n input: '{\"wait\": 600}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless Workflow Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/execution:Execution example \u003cflow_name\u003e:\u003cexecution_name\u003e\n```\n\n", + "description": "Provides a Serverless Workflow Execution resource.\n\nFor information about Serverless Workflow Execution and how to use it, see [What is Execution](https://www.alibabacloud.com/help/en/doc-detail/122628.html).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-fnfflow\";\nconst _default = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fnf.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n});\nconst defaultFlow = new alicloud.fnf.Flow(\"default\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: .wait\n`,\n roleArn: _default.arn,\n description: \"Test for terraform fnf_flow.\",\n name: name,\n type: \"FDL\",\n});\nconst defaultExecution = new alicloud.fnf.Execution(\"default\", {\n executionName: name,\n flowName: defaultFlow.name,\n input: \"{\\\"wait\\\": 600}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-fnfflow\"\ndefault = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\")\ndefault_flow = alicloud.fnf.Flow(\"default\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n\"\"\",\n role_arn=default.arn,\n description=\"Test for terraform fnf_flow.\",\n name=name,\n type=\"FDL\")\ndefault_execution = alicloud.fnf.Execution(\"default\",\n execution_name=name,\n flow_name=default_flow.name,\n input=\"{\\\"wait\\\": 600}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-fnfflow\";\n var @default = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fnf.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n });\n\n var defaultFlow = new AliCloud.FNF.Flow(\"default\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n\",\n RoleArn = @default.Arn,\n Description = \"Test for terraform fnf_flow.\",\n Name = name,\n Type = \"FDL\",\n });\n\n var defaultExecution = new AliCloud.FNF.Execution(\"default\", new()\n {\n ExecutionName = name,\n FlowName = defaultFlow.Name,\n Input = \"{\\\"wait\\\": 600}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-fnfflow\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFlow, err := fnf.NewFlow(ctx, \"default\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n`),\n\t\t\tRoleArn: _default.Arn,\n\t\t\tDescription: pulumi.String(\"Test for terraform fnf_flow.\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewExecution(ctx, \"default\", \u0026fnf.ExecutionArgs{\n\t\t\tExecutionName: pulumi.String(name),\n\t\t\tFlowName: defaultFlow.Name,\n\t\t\tInput: pulumi.String(\"{\\\"wait\\\": 600}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport com.pulumi.alicloud.fnf.Execution;\nimport com.pulumi.alicloud.fnf.ExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-fnfflow\");\n var default_ = new Role(\"default\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build());\n\n var defaultFlow = new Flow(\"defaultFlow\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n \"\"\")\n .roleArn(default_.arn())\n .description(\"Test for terraform fnf_flow.\")\n .name(name)\n .type(\"FDL\")\n .build());\n\n var defaultExecution = new Execution(\"defaultExecution\", ExecutionArgs.builder()\n .executionName(name)\n .flowName(defaultFlow.name())\n .input(\"{\\\"wait\\\": 600}\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-fnfflow\nresources:\n default:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n defaultFlow:\n type: alicloud:fnf:Flow\n name: default\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: wait\n name: custom_wait\n duration: $.wait\n roleArn: ${default.arn}\n description: Test for terraform fnf_flow.\n name: ${name}\n type: FDL\n defaultExecution:\n type: alicloud:fnf:Execution\n name: default\n properties:\n executionName: ${name}\n flowName: ${defaultFlow.name}\n input: '{\"wait\": 600}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless Workflow Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/execution:Execution example \u003cflow_name\u003e:\u003cexecution_name\u003e\n```\n\n", "properties": { "executionName": { "type": "string", @@ -189641,7 +193472,7 @@ } }, "alicloud:fnf/flow:Flow": { - "description": "Provides a Serverless Workflow Flow resource.\n\nFor information about Serverless Workflow Flow and how to use it, see [What is Flow](https://www.alibabacloud.com/help/en/doc-detail/123079.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ram.Role(\"default\", {\n name: \"tf-example-fnfflow\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fnf.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n});\nconst example = new alicloud.fnf.Flow(\"example\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`,\n roleArn: _default.arn,\n description: \"Test for terraform fnf_flow.\",\n name: \"tf-example-flow\",\n type: \"FDL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ram.Role(\"default\",\n name=\"tf-example-fnfflow\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\")\nexample = alicloud.fnf.Flow(\"example\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\"\"\",\n role_arn=default.arn,\n description=\"Test for terraform fnf_flow.\",\n name=\"tf-example-flow\",\n type=\"FDL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = \"tf-example-fnfflow\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fnf.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n });\n\n var example = new AliCloud.FNF.Flow(\"example\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\",\n RoleArn = @default.Arn,\n Description = \"Test for terraform fnf_flow.\",\n Name = \"tf-example-flow\",\n Type = \"FDL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-example-fnfflow\"),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewFlow(ctx, \"example\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`),\n\t\t\tRoleArn: _default.Arn,\n\t\t\tDescription: pulumi.String(\"Test for terraform fnf_flow.\"),\n\t\t\tName: pulumi.String(\"tf-example-flow\"),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Role(\"default\", RoleArgs.builder()\n .name(\"tf-example-fnfflow\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build());\n\n var example = new Flow(\"example\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n \"\"\")\n .roleArn(default_.arn())\n .description(\"Test for terraform fnf_flow.\")\n .name(\"tf-example-flow\")\n .type(\"FDL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ram:Role\n properties:\n name: tf-example-fnfflow\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n example:\n type: alicloud:fnf:Flow\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n roleArn: ${default.arn}\n description: Test for terraform fnf_flow.\n name: tf-example-flow\n type: FDL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless Workflow Flow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/flow:Flow example \u003cname\u003e\n```\n\n", + "description": "Provides a Serverless Workflow Flow resource.\n\nFor information about Serverless Workflow Flow and how to use it, see [What is Flow](https://www.alibabacloud.com/help/en/doc-detail/123079.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ram.Role(\"default\", {\n name: \"tf-example-fnfflow\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"fnf.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n});\nconst example = new alicloud.fnf.Flow(\"example\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`,\n roleArn: _default.arn,\n description: \"Test for terraform fnf_flow.\",\n name: \"tf-example-flow\",\n type: \"FDL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ram.Role(\"default\",\n name=\"tf-example-fnfflow\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\")\nexample = alicloud.fnf.Flow(\"example\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\"\"\",\n role_arn=default.arn,\n description=\"Test for terraform fnf_flow.\",\n name=\"tf-example-flow\",\n type=\"FDL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = \"tf-example-fnfflow\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"fnf.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n });\n\n var example = new AliCloud.FNF.Flow(\"example\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\",\n RoleArn = @default.Arn,\n Description = \"Test for terraform fnf_flow.\",\n Name = \"tf-example-flow\",\n Type = \"FDL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"tf-example-fnfflow\"),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewFlow(ctx, \"example\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`),\n\t\t\tRoleArn: _default.Arn,\n\t\t\tDescription: pulumi.String(\"Test for terraform fnf_flow.\"),\n\t\t\tName: pulumi.String(\"tf-example-flow\"),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Role(\"default\", RoleArgs.builder()\n .name(\"tf-example-fnfflow\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .build());\n\n var example = new Flow(\"example\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n \"\"\")\n .roleArn(default_.arn())\n .description(\"Test for terraform fnf_flow.\")\n .name(\"tf-example-flow\")\n .type(\"FDL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ram:Role\n properties:\n name: tf-example-fnfflow\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"fnf.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n example:\n type: alicloud:fnf:Flow\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n roleArn: ${default.arn}\n description: Test for terraform fnf_flow.\n name: tf-example-flow\n type: FDL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless Workflow Flow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/flow:Flow example \u003cname\u003e\n```\n\n", "properties": { "definition": { "type": "string", @@ -189745,7 +193576,7 @@ } }, "alicloud:fnf/schedule:Schedule": { - "description": "Provides a Serverless Workflow Schedule resource.\n\nFor information about Serverless Workflow Schedule and how to use it, see [What is Schedule](https://www.alibabacloud.com/help/en/doc-detail/168934.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.fnf.Flow(\"example\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`,\n description: \"tf-exampleFnFFlow983041\",\n name: \"tf-exampleSchedule\",\n type: \"FDL\",\n});\nconst exampleSchedule = new alicloud.fnf.Schedule(\"example\", {\n cronExpression: \"30 9 * * * *\",\n description: \"tf-exampleFnFSchedule983041\",\n enable: true,\n flowName: example.name,\n payload: \"{\\\"tf-example\\\": \\\"example success\\\"}\",\n scheduleName: \"tf-exampleFnFSchedule983041\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.fnf.Flow(\"example\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\"\"\",\n description=\"tf-exampleFnFFlow983041\",\n name=\"tf-exampleSchedule\",\n type=\"FDL\")\nexample_schedule = alicloud.fnf.Schedule(\"example\",\n cron_expression=\"30 9 * * * *\",\n description=\"tf-exampleFnFSchedule983041\",\n enable=True,\n flow_name=example.name,\n payload=\"{\\\"tf-example\\\": \\\"example success\\\"}\",\n schedule_name=\"tf-exampleFnFSchedule983041\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.FNF.Flow(\"example\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\",\n Description = \"tf-exampleFnFFlow983041\",\n Name = \"tf-exampleSchedule\",\n Type = \"FDL\",\n });\n\n var exampleSchedule = new AliCloud.FNF.Schedule(\"example\", new()\n {\n CronExpression = \"30 9 * * * *\",\n Description = \"tf-exampleFnFSchedule983041\",\n Enable = true,\n FlowName = example.Name,\n Payload = \"{\\\"tf-example\\\": \\\"example success\\\"}\",\n ScheduleName = \"tf-exampleFnFSchedule983041\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := fnf.NewFlow(ctx, \"example\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`),\n\t\t\tDescription: pulumi.String(\"tf-exampleFnFFlow983041\"),\n\t\t\tName: pulumi.String(\"tf-exampleSchedule\"),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewSchedule(ctx, \"example\", \u0026fnf.ScheduleArgs{\n\t\t\tCronExpression: pulumi.String(\"30 9 * * * *\"),\n\t\t\tDescription: pulumi.String(\"tf-exampleFnFSchedule983041\"),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tFlowName: example.Name,\n\t\t\tPayload: pulumi.String(\"{\\\"tf-example\\\": \\\"example success\\\"}\"),\n\t\t\tScheduleName: pulumi.String(\"tf-exampleFnFSchedule983041\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport com.pulumi.alicloud.fnf.Schedule;\nimport com.pulumi.alicloud.fnf.ScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Flow(\"example\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n \"\"\")\n .description(\"tf-exampleFnFFlow983041\")\n .name(\"tf-exampleSchedule\")\n .type(\"FDL\")\n .build());\n\n var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n .cronExpression(\"30 9 * * * *\")\n .description(\"tf-exampleFnFSchedule983041\")\n .enable(true)\n .flowName(example.name())\n .payload(\"{\\\"tf-example\\\": \\\"example success\\\"}\")\n .scheduleName(\"tf-exampleFnFSchedule983041\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:fnf:Flow\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n description: tf-exampleFnFFlow983041\n name: tf-exampleSchedule\n type: FDL\n exampleSchedule:\n type: alicloud:fnf:Schedule\n name: example\n properties:\n cronExpression: 30 9 * * * *\n description: tf-exampleFnFSchedule983041\n enable: 'true'\n flowName: ${example.name}\n payload: '{\"tf-example\": \"example success\"}'\n scheduleName: tf-exampleFnFSchedule983041\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless Workflow Schedule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/schedule:Schedule example \u003cschedule_name\u003e:\u003cflow_name\u003e\n```\n\n", + "description": "Provides a Serverless Workflow Schedule resource.\n\nFor information about Serverless Workflow Schedule and how to use it, see [What is Schedule](https://www.alibabacloud.com/help/en/doc-detail/168934.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.fnf.Flow(\"example\", {\n definition: ` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`,\n description: \"tf-exampleFnFFlow983041\",\n name: \"tf-exampleSchedule\",\n type: \"FDL\",\n});\nconst exampleSchedule = new alicloud.fnf.Schedule(\"example\", {\n cronExpression: \"30 9 * * * *\",\n description: \"tf-exampleFnFSchedule983041\",\n enable: true,\n flowName: example.name,\n payload: \"{\\\"tf-example\\\": \\\"example success\\\"}\",\n scheduleName: \"tf-exampleFnFSchedule983041\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.fnf.Flow(\"example\",\n definition=\"\"\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\"\"\",\n description=\"tf-exampleFnFFlow983041\",\n name=\"tf-exampleSchedule\",\n type=\"FDL\")\nexample_schedule = alicloud.fnf.Schedule(\"example\",\n cron_expression=\"30 9 * * * *\",\n description=\"tf-exampleFnFSchedule983041\",\n enable=True,\n flow_name=example.name,\n payload=\"{\\\"tf-example\\\": \\\"example success\\\"}\",\n schedule_name=\"tf-exampleFnFSchedule983041\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.FNF.Flow(\"example\", new()\n {\n Definition = @\" version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n\",\n Description = \"tf-exampleFnFFlow983041\",\n Name = \"tf-exampleSchedule\",\n Type = \"FDL\",\n });\n\n var exampleSchedule = new AliCloud.FNF.Schedule(\"example\", new()\n {\n CronExpression = \"30 9 * * * *\",\n Description = \"tf-exampleFnFSchedule983041\",\n Enable = true,\n FlowName = example.Name,\n Payload = \"{\\\"tf-example\\\": \\\"example success\\\"}\",\n ScheduleName = \"tf-exampleFnFSchedule983041\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/fnf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := fnf.NewFlow(ctx, \"example\", \u0026fnf.FlowArgs{\n\t\t\tDefinition: pulumi.String(` version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n`),\n\t\t\tDescription: pulumi.String(\"tf-exampleFnFFlow983041\"),\n\t\t\tName: pulumi.String(\"tf-exampleSchedule\"),\n\t\t\tType: pulumi.String(\"FDL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fnf.NewSchedule(ctx, \"example\", \u0026fnf.ScheduleArgs{\n\t\t\tCronExpression: pulumi.String(\"30 9 * * * *\"),\n\t\t\tDescription: pulumi.String(\"tf-exampleFnFSchedule983041\"),\n\t\t\tEnable: pulumi.Bool(true),\n\t\t\tFlowName: example.Name,\n\t\t\tPayload: pulumi.String(\"{\\\"tf-example\\\": \\\"example success\\\"}\"),\n\t\t\tScheduleName: pulumi.String(\"tf-exampleFnFSchedule983041\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.fnf.Flow;\nimport com.pulumi.alicloud.fnf.FlowArgs;\nimport com.pulumi.alicloud.fnf.Schedule;\nimport com.pulumi.alicloud.fnf.ScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Flow(\"example\", FlowArgs.builder()\n .definition(\"\"\"\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n \"\"\")\n .description(\"tf-exampleFnFFlow983041\")\n .name(\"tf-exampleSchedule\")\n .type(\"FDL\")\n .build());\n\n var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n .cronExpression(\"30 9 * * * *\")\n .description(\"tf-exampleFnFSchedule983041\")\n .enable(true)\n .flowName(example.name())\n .payload(\"{\\\"tf-example\\\": \\\"example success\\\"}\")\n .scheduleName(\"tf-exampleFnFSchedule983041\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:fnf:Flow\n properties:\n definition: |2\n version: v1beta1\n type: flow\n steps:\n - type: pass\n name: helloworld\n description: tf-exampleFnFFlow983041\n name: tf-exampleSchedule\n type: FDL\n exampleSchedule:\n type: alicloud:fnf:Schedule\n name: example\n properties:\n cronExpression: 30 9 * * * *\n description: tf-exampleFnFSchedule983041\n enable: 'true'\n flowName: ${example.name}\n payload: '{\"tf-example\": \"example success\"}'\n scheduleName: tf-exampleFnFSchedule983041\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless Workflow Schedule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:fnf/schedule:Schedule example \u003cschedule_name\u003e:\u003cflow_name\u003e\n```\n\n", "properties": { "cronExpression": { "type": "string", @@ -189862,7 +193693,7 @@ } }, "alicloud:ga/accelerator:Accelerator": { - "description": "Provides a Global Accelerator (GA) Accelerator resource.\n\nFor information about Global Accelerator (GA) Accelerator and how to use it, see [What is Accelerator](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createaccelerator).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ga.Accelerator(\"example\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ga.Accelerator(\"example\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ga.Accelerator(\"example\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewAccelerator(ctx, \"example\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Accelerator(\"example\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Accelerator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/accelerator:Accelerator example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Accelerator resource.\n\nFor information about Global Accelerator (GA) Accelerator and how to use it, see [What is Accelerator](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createaccelerator).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ga.Accelerator(\"example\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ga.Accelerator(\"example\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ga.Accelerator(\"example\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewAccelerator(ctx, \"example\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Accelerator(\"example\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Accelerator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/accelerator:Accelerator example \u003cid\u003e\n```\n\n", "properties": { "acceleratorName": { "type": "string", @@ -190085,7 +193916,7 @@ } }, "alicloud:ga/acceleratorSpareIpAttachment:AcceleratorSpareIpAttachment": { - "description": "Provides a Global Accelerator (GA) Accelerator Spare Ip Attachment resource.\n\nFor information about Global Accelerator (GA) Accelerator Spare Ip Attachment and how to use it, see [What is Accelerator Spare Ip Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createspareips).\n\n\u003e **NOTE:** Available since v1.167.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n spec: \"1\",\n acceleratorName: \"terraform-example\",\n autoUseCoupon: true,\n description: \"terraform-example\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n bandwidthPackageName: \"terraform-example\",\n autoPay: true,\n autoUseCoupon: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultAcceleratorSpareIpAttachment = new alicloud.ga.AcceleratorSpareIpAttachment(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n spareIp: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n spec=\"1\",\n accelerator_name=\"terraform-example\",\n auto_use_coupon=True,\n description=\"terraform-example\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30,\n bandwidth_package_name=\"terraform-example\",\n auto_pay=True,\n auto_use_coupon=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_accelerator_spare_ip_attachment = alicloud.ga.AcceleratorSpareIpAttachment(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n spare_ip=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n Spec = \"1\",\n AcceleratorName = \"terraform-example\",\n AutoUseCoupon = true,\n Description = \"terraform-example\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n BandwidthPackageName = \"terraform-example\",\n AutoPay = true,\n AutoUseCoupon = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultAcceleratorSpareIpAttachment = new AliCloud.Ga.AcceleratorSpareIpAttachment(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n SpareIp = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t\tAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t\tBandwidthPackageName: pulumi.String(\"terraform-example\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAcceleratorSpareIpAttachment(ctx, \"default\", \u0026ga.AcceleratorSpareIpAttachmentArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tSpareIp: pulumi.String(\"127.0.0.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.AcceleratorSpareIpAttachment;\nimport com.pulumi.alicloud.ga.AcceleratorSpareIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .spec(\"1\")\n .acceleratorName(\"terraform-example\")\n .autoUseCoupon(true)\n .description(\"terraform-example\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .bandwidthPackageName(\"terraform-example\")\n .autoPay(true)\n .autoUseCoupon(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultAcceleratorSpareIpAttachment = new AcceleratorSpareIpAttachment(\"defaultAcceleratorSpareIpAttachment\", AcceleratorSpareIpAttachmentArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .spareIp(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n spec: '1'\n acceleratorName: terraform-example\n autoUseCoupon: true\n description: terraform-example\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n bandwidthPackageName: terraform-example\n autoPay: true\n autoUseCoupon: true\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultAcceleratorSpareIpAttachment:\n type: alicloud:ga:AcceleratorSpareIpAttachment\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n spareIp: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/acceleratorSpareIpAttachment:AcceleratorSpareIpAttachment example \u003caccelerator_id\u003e:\u003cspare_ip\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Accelerator Spare Ip Attachment resource.\n\nFor information about Global Accelerator (GA) Accelerator Spare Ip Attachment and how to use it, see [What is Accelerator Spare Ip Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createspareips).\n\n\u003e **NOTE:** Available since v1.167.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n spec: \"1\",\n acceleratorName: \"terraform-example\",\n autoUseCoupon: true,\n description: \"terraform-example\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n bandwidthPackageName: \"terraform-example\",\n autoPay: true,\n autoUseCoupon: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultAcceleratorSpareIpAttachment = new alicloud.ga.AcceleratorSpareIpAttachment(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n spareIp: \"127.0.0.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n spec=\"1\",\n accelerator_name=\"terraform-example\",\n auto_use_coupon=True,\n description=\"terraform-example\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30,\n bandwidth_package_name=\"terraform-example\",\n auto_pay=True,\n auto_use_coupon=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_accelerator_spare_ip_attachment = alicloud.ga.AcceleratorSpareIpAttachment(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n spare_ip=\"127.0.0.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n Spec = \"1\",\n AcceleratorName = \"terraform-example\",\n AutoUseCoupon = true,\n Description = \"terraform-example\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n BandwidthPackageName = \"terraform-example\",\n AutoPay = true,\n AutoUseCoupon = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultAcceleratorSpareIpAttachment = new AliCloud.Ga.AcceleratorSpareIpAttachment(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n SpareIp = \"127.0.0.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t\tAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t\tBandwidthPackageName: pulumi.String(\"terraform-example\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAcceleratorSpareIpAttachment(ctx, \"default\", \u0026ga.AcceleratorSpareIpAttachmentArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tSpareIp: pulumi.String(\"127.0.0.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.AcceleratorSpareIpAttachment;\nimport com.pulumi.alicloud.ga.AcceleratorSpareIpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .spec(\"1\")\n .acceleratorName(\"terraform-example\")\n .autoUseCoupon(true)\n .description(\"terraform-example\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .bandwidthPackageName(\"terraform-example\")\n .autoPay(true)\n .autoUseCoupon(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultAcceleratorSpareIpAttachment = new AcceleratorSpareIpAttachment(\"defaultAcceleratorSpareIpAttachment\", AcceleratorSpareIpAttachmentArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .spareIp(\"127.0.0.1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n spec: '1'\n acceleratorName: terraform-example\n autoUseCoupon: true\n description: terraform-example\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n bandwidthPackageName: terraform-example\n autoPay: true\n autoUseCoupon: true\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultAcceleratorSpareIpAttachment:\n type: alicloud:ga:AcceleratorSpareIpAttachment\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n spareIp: 127.0.0.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/acceleratorSpareIpAttachment:AcceleratorSpareIpAttachment example \u003caccelerator_id\u003e:\u003cspare_ip\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -190155,7 +193986,7 @@ } }, "alicloud:ga/accessLog:AccessLog": { - "description": "Provides a Global Accelerator (GA) Access Log resource.\n\nFor information about Global Accelerator (GA) Access Log and how to use it, see [What is Access Log](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-attachlogstoretoendpointgroup).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {name: `terraform-example-${_default.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"terraform-example\",\n});\nconst defaultAccelerator = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"2\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultAccelerator.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n clientAffinity: \"SOURCE_IP\",\n protocol: \"HTTP\",\n name: \"terraform-example\",\n portRanges: [{\n fromPort: 70,\n toPort: 70,\n }],\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n addressName: \"terraform-example\",\n});\nconst defaultEndpointGroup = new alicloud.ga.EndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n endpointConfigurations: [{\n endpoint: defaultEipAddress.ipAddress,\n type: \"PublicIp\",\n weight: 20,\n }],\n endpointGroupRegion: region,\n listenerId: defaultListener.id,\n});\nconst defaultAccessLog = new alicloud.ga.AccessLog(\"default\", {\n acceleratorId: defaultAccelerator.id,\n listenerId: defaultListener.id,\n endpointGroupId: defaultEndpointGroup.id,\n slsProjectName: defaultProject.name,\n slsLogStoreName: defaultStore.name,\n slsRegionId: region,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", name=f\"terraform-example-{default['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"terraform-example\")\ndefault_accelerator = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"2\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_accelerator.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n client_affinity=\"SOURCE_IP\",\n protocol=\"HTTP\",\n name=\"terraform-example\",\n port_ranges=[{\n \"from_port\": 70,\n \"to_port\": 70,\n }])\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\",\n address_name=\"terraform-example\")\ndefault_endpoint_group = alicloud.ga.EndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n endpoint_configurations=[{\n \"endpoint\": default_eip_address.ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n }],\n endpoint_group_region=region,\n listener_id=default_listener.id)\ndefault_access_log = alicloud.ga.AccessLog(\"default\",\n accelerator_id=default_accelerator.id,\n listener_id=default_listener.id,\n endpoint_group_id=default_endpoint_group.id,\n sls_project_name=default_project.name,\n sls_log_store_name=default_store.name,\n sls_region_id=region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"terraform-example\",\n });\n\n var defaultAccelerator = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"2\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"HTTP\",\n Name = \"terraform-example\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 70,\n ToPort = 70,\n },\n },\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n AddressName = \"terraform-example\",\n });\n\n var defaultEndpointGroup = new AliCloud.Ga.EndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress.IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n },\n EndpointGroupRegion = region,\n ListenerId = defaultListener.Id,\n });\n\n var defaultAccessLog = new AliCloud.Ga.AccessLog(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n ListenerId = defaultListener.Id,\n EndpointGroupId = defaultEndpointGroup.Id,\n SlsProjectName = defaultProject.Name,\n SlsLogStoreName = defaultStore.Name,\n SlsRegionId = region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccelerator, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(70),\n\t\t\t\t\tToPort: pulumi.Int(70),\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\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tAddressName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEndpointGroup, err := ga.NewEndpointGroup(ctx, \"default\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress.IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAccessLog(ctx, \"default\", \u0026ga.AccessLogArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupId: defaultEndpointGroup.ID(),\n\t\t\tSlsProjectName: defaultProject.Name,\n\t\t\tSlsLogStoreName: defaultStore.Name,\n\t\t\tSlsRegionId: pulumi.String(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.alicloud.ga.AccessLog;\nimport com.pulumi.alicloud.ga.AccessLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"terraform-example\")\n .build());\n\n var defaultAccelerator = new Accelerator(\"defaultAccelerator\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"2\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"HTTP\")\n .name(\"terraform-example\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(70)\n .toPort(70)\n .build())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .addressName(\"terraform-example\")\n .build());\n\n var defaultEndpointGroup = new EndpointGroup(\"defaultEndpointGroup\", EndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress.ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build())\n .endpointGroupRegion(region)\n .listenerId(defaultListener.id())\n .build());\n\n var defaultAccessLog = new AccessLog(\"defaultAccessLog\", AccessLogArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .listenerId(defaultListener.id())\n .endpointGroupId(defaultEndpointGroup.id())\n .slsProjectName(defaultProject.name())\n .slsLogStoreName(defaultStore.name())\n .slsRegionId(region)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: terraform-example-${default.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: terraform-example\n defaultAccelerator:\n type: alicloud:ga:Accelerator\n name: default\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '2'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n clientAffinity: SOURCE_IP\n protocol: HTTP\n name: terraform-example\n portRanges:\n - fromPort: 70\n toPort: 70\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n addressName: terraform-example\n defaultEndpointGroup:\n type: alicloud:ga:EndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n endpointConfigurations:\n - endpoint: ${defaultEipAddress.ipAddress}\n type: PublicIp\n weight: 20\n endpointGroupRegion: ${region}\n listenerId: ${defaultListener.id}\n defaultAccessLog:\n type: alicloud:ga:AccessLog\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n listenerId: ${defaultListener.id}\n endpointGroupId: ${defaultEndpointGroup.id}\n slsProjectName: ${defaultProject.name}\n slsLogStoreName: ${defaultStore.name}\n slsRegionId: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Access Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/accessLog:AccessLog example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cendpoint_group_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Access Log resource.\n\nFor information about Global Accelerator (GA) Access Log and how to use it, see [What is Access Log](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-attachlogstoretoendpointgroup).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {name: `terraform-example-${_default.result}`});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n project: defaultProject.name,\n name: \"terraform-example\",\n});\nconst defaultAccelerator = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"2\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultAccelerator.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n clientAffinity: \"SOURCE_IP\",\n protocol: \"HTTP\",\n name: \"terraform-example\",\n portRanges: [{\n fromPort: 70,\n toPort: 70,\n }],\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n addressName: \"terraform-example\",\n});\nconst defaultEndpointGroup = new alicloud.ga.EndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n endpointConfigurations: [{\n endpoint: defaultEipAddress.ipAddress,\n type: \"PublicIp\",\n weight: 20,\n }],\n endpointGroupRegion: region,\n listenerId: defaultListener.id,\n});\nconst defaultAccessLog = new alicloud.ga.AccessLog(\"default\", {\n acceleratorId: defaultAccelerator.id,\n listenerId: defaultListener.id,\n endpointGroupId: defaultEndpointGroup.id,\n slsProjectName: defaultProject.name,\n slsLogStoreName: defaultStore.name,\n slsRegionId: region,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_project = alicloud.log.Project(\"default\", name=f\"terraform-example-{default['result']}\")\ndefault_store = alicloud.log.Store(\"default\",\n project=default_project.name,\n name=\"terraform-example\")\ndefault_accelerator = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"2\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_accelerator.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n client_affinity=\"SOURCE_IP\",\n protocol=\"HTTP\",\n name=\"terraform-example\",\n port_ranges=[{\n \"from_port\": 70,\n \"to_port\": 70,\n }])\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\",\n address_name=\"terraform-example\")\ndefault_endpoint_group = alicloud.ga.EndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n endpoint_configurations=[{\n \"endpoint\": default_eip_address.ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n }],\n endpoint_group_region=region,\n listener_id=default_listener.id)\ndefault_access_log = alicloud.ga.AccessLog(\"default\",\n accelerator_id=default_accelerator.id,\n listener_id=default_listener.id,\n endpoint_group_id=default_endpoint_group.id,\n sls_project_name=default_project.name,\n sls_log_store_name=default_store.name,\n sls_region_id=region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n Project = defaultProject.Name,\n Name = \"terraform-example\",\n });\n\n var defaultAccelerator = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"2\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"HTTP\",\n Name = \"terraform-example\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 70,\n ToPort = 70,\n },\n },\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n AddressName = \"terraform-example\",\n });\n\n var defaultEndpointGroup = new AliCloud.Ga.EndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress.IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n },\n EndpointGroupRegion = region,\n ListenerId = defaultListener.Id,\n });\n\n var defaultAccessLog = new AliCloud.Ga.AccessLog(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n ListenerId = defaultListener.Id,\n EndpointGroupId = defaultEndpointGroup.Id,\n SlsProjectName = defaultProject.Name,\n SlsLogStoreName = defaultStore.Name,\n SlsRegionId = region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tProject: defaultProject.Name,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccelerator, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(70),\n\t\t\t\t\tToPort: pulumi.Int(70),\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\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tAddressName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEndpointGroup, err := ga.NewEndpointGroup(ctx, \"default\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress.IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAccessLog(ctx, \"default\", \u0026ga.AccessLogArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupId: defaultEndpointGroup.ID(),\n\t\t\tSlsProjectName: defaultProject.Name,\n\t\t\tSlsLogStoreName: defaultStore.Name,\n\t\t\tSlsRegionId: pulumi.String(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.alicloud.ga.AccessLog;\nimport com.pulumi.alicloud.ga.AccessLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .project(defaultProject.name())\n .name(\"terraform-example\")\n .build());\n\n var defaultAccelerator = new Accelerator(\"defaultAccelerator\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"2\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"HTTP\")\n .name(\"terraform-example\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(70)\n .toPort(70)\n .build())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .addressName(\"terraform-example\")\n .build());\n\n var defaultEndpointGroup = new EndpointGroup(\"defaultEndpointGroup\", EndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress.ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build())\n .endpointGroupRegion(region)\n .listenerId(defaultListener.id())\n .build());\n\n var defaultAccessLog = new AccessLog(\"defaultAccessLog\", AccessLogArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .listenerId(defaultListener.id())\n .endpointGroupId(defaultEndpointGroup.id())\n .slsProjectName(defaultProject.name())\n .slsLogStoreName(defaultStore.name())\n .slsRegionId(region)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n name: terraform-example-${default.result}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n project: ${defaultProject.name}\n name: terraform-example\n defaultAccelerator:\n type: alicloud:ga:Accelerator\n name: default\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '2'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n clientAffinity: SOURCE_IP\n protocol: HTTP\n name: terraform-example\n portRanges:\n - fromPort: 70\n toPort: 70\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n addressName: terraform-example\n defaultEndpointGroup:\n type: alicloud:ga:EndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n endpointConfigurations:\n - endpoint: ${defaultEipAddress.ipAddress}\n type: PublicIp\n weight: 20\n endpointGroupRegion: ${region}\n listenerId: ${defaultListener.id}\n defaultAccessLog:\n type: alicloud:ga:AccessLog\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n listenerId: ${defaultListener.id}\n endpointGroupId: ${defaultEndpointGroup.id}\n slsProjectName: ${defaultProject.name}\n slsLogStoreName: ${defaultStore.name}\n slsRegionId: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Access Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/accessLog:AccessLog example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cendpoint_group_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -190277,7 +194108,7 @@ } }, "alicloud:ga/acl:Acl": { - "description": "Provides a Global Accelerator (GA) Acl resource.\n\nFor information about Global Accelerator (GA) Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createacl).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Acl(\"default\", {\n aclName: \"terraform-example\",\n addressIpVersion: \"IPv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"192.168.1.1/32\",\n entryDescription: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Acl(\"default\",\n acl_name=\"terraform-example\",\n address_ip_version=\"IPv4\")\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"192.168.1.1/32\",\n entry_description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Acl(\"default\", new()\n {\n AclName = \"terraform-example\",\n AddressIpVersion = \"IPv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAclName: pulumi.String(\"terraform-example\"),\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Acl(\"default\", AclArgs.builder()\n .aclName(\"terraform-example\")\n .addressIpVersion(\"IPv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Acl\n properties:\n aclName: terraform-example\n addressIpVersion: IPv4\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 192.168.1.1/32\n entryDescription: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/acl:Acl example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Acl resource.\n\nFor information about Global Accelerator (GA) Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createacl).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Acl(\"default\", {\n aclName: \"terraform-example\",\n addressIpVersion: \"IPv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"192.168.1.1/32\",\n entryDescription: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Acl(\"default\",\n acl_name=\"terraform-example\",\n address_ip_version=\"IPv4\")\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"192.168.1.1/32\",\n entry_description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Acl(\"default\", new()\n {\n AclName = \"terraform-example\",\n AddressIpVersion = \"IPv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAclName: pulumi.String(\"terraform-example\"),\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Acl(\"default\", AclArgs.builder()\n .aclName(\"terraform-example\")\n .addressIpVersion(\"IPv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Acl\n properties:\n aclName: terraform-example\n addressIpVersion: IPv4\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 192.168.1.1/32\n entryDescription: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/acl:Acl example \u003cid\u003e\n```\n\n", "properties": { "aclEntries": { "type": "array", @@ -190402,7 +194233,7 @@ } }, "alicloud:ga/aclAttachment:AclAttachment": { - "description": "Provides a Global Accelerator (GA) Acl Attachment resource.\n\nFor information about Global Accelerator (GA) Acl Attachment and how to use it, see [What is Acl Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-associateaclswithlistener).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\nconst defaultAcl = new alicloud.ga.Acl(\"default\", {\n aclName: \"terraform-example\",\n addressIpVersion: \"IPv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"192.168.1.1/32\",\n entryDescription: \"terraform-example\",\n});\nconst defaultAclAttachment = new alicloud.ga.AclAttachment(\"default\", {\n listenerId: defaultListener.id,\n aclId: defaultAcl.id,\n aclType: \"white\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 80,\n \"to_port\": 80,\n }])\ndefault_acl = alicloud.ga.Acl(\"default\",\n acl_name=\"terraform-example\",\n address_ip_version=\"IPv4\")\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"192.168.1.1/32\",\n entry_description=\"terraform-example\")\ndefault_acl_attachment = alicloud.ga.AclAttachment(\"default\",\n listener_id=default_listener.id,\n acl_id=default_acl.id,\n acl_type=\"white\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n var defaultAcl = new AliCloud.Ga.Acl(\"default\", new()\n {\n AclName = \"terraform-example\",\n AddressIpVersion = \"IPv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = \"terraform-example\",\n });\n\n var defaultAclAttachment = new AliCloud.Ga.AclAttachment(\"default\", new()\n {\n ListenerId = defaultListener.Id,\n AclId = defaultAcl.Id,\n AclType = \"white\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: 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\tdefaultAcl, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAclName: pulumi.String(\"terraform-example\"),\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclAttachment(ctx, \"default\", \u0026ga.AclAttachmentArgs{\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.ga.AclAttachment;\nimport com.pulumi.alicloud.ga.AclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(\"terraform-example\")\n .addressIpVersion(\"IPv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(\"terraform-example\")\n .build());\n\n var defaultAclAttachment = new AclAttachment(\"defaultAclAttachment\", AclAttachmentArgs.builder()\n .listenerId(defaultListener.id())\n .aclId(defaultAcl.id())\n .aclType(\"white\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 80\n toPort: 80\n defaultAcl:\n type: alicloud:ga:Acl\n name: default\n properties:\n aclName: terraform-example\n addressIpVersion: IPv4\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAcl.id}\n entry: 192.168.1.1/32\n entryDescription: terraform-example\n defaultAclAttachment:\n type: alicloud:ga:AclAttachment\n name: default\n properties:\n listenerId: ${defaultListener.id}\n aclId: ${defaultAcl.id}\n aclType: white\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/aclAttachment:AclAttachment example \u003clistener_id\u003e:\u003cacl_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Acl Attachment resource.\n\nFor information about Global Accelerator (GA) Acl Attachment and how to use it, see [What is Acl Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-associateaclswithlistener).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\nconst defaultAcl = new alicloud.ga.Acl(\"default\", {\n aclName: \"terraform-example\",\n addressIpVersion: \"IPv4\",\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: defaultAcl.id,\n entry: \"192.168.1.1/32\",\n entryDescription: \"terraform-example\",\n});\nconst defaultAclAttachment = new alicloud.ga.AclAttachment(\"default\", {\n listenerId: defaultListener.id,\n aclId: defaultAcl.id,\n aclType: \"white\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 80,\n \"to_port\": 80,\n }])\ndefault_acl = alicloud.ga.Acl(\"default\",\n acl_name=\"terraform-example\",\n address_ip_version=\"IPv4\")\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default_acl.id,\n entry=\"192.168.1.1/32\",\n entry_description=\"terraform-example\")\ndefault_acl_attachment = alicloud.ga.AclAttachment(\"default\",\n listener_id=default_listener.id,\n acl_id=default_acl.id,\n acl_type=\"white\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n var defaultAcl = new AliCloud.Ga.Acl(\"default\", new()\n {\n AclName = \"terraform-example\",\n AddressIpVersion = \"IPv4\",\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = defaultAcl.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = \"terraform-example\",\n });\n\n var defaultAclAttachment = new AliCloud.Ga.AclAttachment(\"default\", new()\n {\n ListenerId = defaultListener.Id,\n AclId = defaultAcl.Id,\n AclType = \"white\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: 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\tdefaultAcl, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAclName: pulumi.String(\"terraform-example\"),\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclAttachment(ctx, \"default\", \u0026ga.AclAttachmentArgs{\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tAclId: defaultAcl.ID(),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport com.pulumi.alicloud.ga.AclAttachment;\nimport com.pulumi.alicloud.ga.AclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n var defaultAcl = new Acl(\"defaultAcl\", AclArgs.builder()\n .aclName(\"terraform-example\")\n .addressIpVersion(\"IPv4\")\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(defaultAcl.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(\"terraform-example\")\n .build());\n\n var defaultAclAttachment = new AclAttachment(\"defaultAclAttachment\", AclAttachmentArgs.builder()\n .listenerId(defaultListener.id())\n .aclId(defaultAcl.id())\n .aclType(\"white\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 80\n toPort: 80\n defaultAcl:\n type: alicloud:ga:Acl\n name: default\n properties:\n aclName: terraform-example\n addressIpVersion: IPv4\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${defaultAcl.id}\n entry: 192.168.1.1/32\n entryDescription: terraform-example\n defaultAclAttachment:\n type: alicloud:ga:AclAttachment\n name: default\n properties:\n listenerId: ${defaultListener.id}\n aclId: ${defaultAcl.id}\n aclType: white\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/aclAttachment:AclAttachment example \u003clistener_id\u003e:\u003cacl_id\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -190488,7 +194319,7 @@ } }, "alicloud:ga/aclEntryAttachment:AclEntryAttachment": { - "description": "Provides a Global Accelerator (GA) Acl Entry Attachment resource.\n\nFor information about Global Accelerator (GA) Acl Entry Attachment and how to use it, see [What is Acl Entry Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-addentriestoacl).\n\n\u003e **NOTE:** Available since v1.190.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ga.Acl(\"default\", {\n addressIpVersion: \"IPv4\",\n aclName: name,\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"192.168.1.1/32\",\n entryDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ga.Acl(\"default\",\n address_ip_version=\"IPv4\",\n acl_name=name)\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"192.168.1.1/32\",\n entry_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ga.Acl(\"default\", new()\n {\n AddressIpVersion = \"IPv4\",\n AclName = name,\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t\tAclName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(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.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Acl(\"default\", AclArgs.builder()\n .addressIpVersion(\"IPv4\")\n .aclName(name)\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ga:Acl\n properties:\n addressIpVersion: IPv4\n aclName: ${name}\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 192.168.1.1/32\n entryDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Acl Entry Attachment resource.\n\nFor information about Global Accelerator (GA) Acl Entry Attachment and how to use it, see [What is Acl Entry Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-addentriestoacl).\n\n\u003e **NOTE:** Available since v1.190.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.ga.Acl(\"default\", {\n addressIpVersion: \"IPv4\",\n aclName: name,\n});\nconst defaultAclEntryAttachment = new alicloud.ga.AclEntryAttachment(\"default\", {\n aclId: _default.id,\n entry: \"192.168.1.1/32\",\n entryDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.ga.Acl(\"default\",\n address_ip_version=\"IPv4\",\n acl_name=name)\ndefault_acl_entry_attachment = alicloud.ga.AclEntryAttachment(\"default\",\n acl_id=default.id,\n entry=\"192.168.1.1/32\",\n entry_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Ga.Acl(\"default\", new()\n {\n AddressIpVersion = \"IPv4\",\n AclName = name,\n });\n\n var defaultAclEntryAttachment = new AliCloud.Ga.AclEntryAttachment(\"default\", new()\n {\n AclId = @default.Id,\n Entry = \"192.168.1.1/32\",\n EntryDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ga.NewAcl(ctx, \"default\", \u0026ga.AclArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"IPv4\"),\n\t\t\tAclName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewAclEntryAttachment(ctx, \"default\", \u0026ga.AclEntryAttachmentArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tEntry: pulumi.String(\"192.168.1.1/32\"),\n\t\t\tEntryDescription: pulumi.String(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.alicloud.ga.Acl;\nimport com.pulumi.alicloud.ga.AclArgs;\nimport com.pulumi.alicloud.ga.AclEntryAttachment;\nimport com.pulumi.alicloud.ga.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Acl(\"default\", AclArgs.builder()\n .addressIpVersion(\"IPv4\")\n .aclName(name)\n .build());\n\n var defaultAclEntryAttachment = new AclEntryAttachment(\"defaultAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(default_.id())\n .entry(\"192.168.1.1/32\")\n .entryDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:ga:Acl\n properties:\n addressIpVersion: IPv4\n aclName: ${name}\n defaultAclEntryAttachment:\n type: alicloud:ga:AclEntryAttachment\n name: default\n properties:\n aclId: ${default.id}\n entry: 192.168.1.1/32\n entryDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -190560,7 +194391,7 @@ } }, "alicloud:ga/additionalCertificate:AdditionalCertificate": { - "description": "Provides a Global Accelerator (GA) Additional Certificate resource.\n\nFor information about Global Accelerator (GA) Additional Certificate and how to use it, see [What is Additional Certificate](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-associateadditionalcertificateswithlistener).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.ga.getAccelerators({\n status: \"active\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n bandwidthPackageName: name,\n autoPay: true,\n autoUseCoupon: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.then(_default =\u003e _default.ids?.[0]),\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultServiceCertificate: alicloud.cas.ServiceCertificate[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultServiceCertificate.push(new alicloud.cas.ServiceCertificate(`default-${range.value}`, {\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n cert: `-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n`,\n }));\n}\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n name: name,\n protocol: \"HTTPS\",\n portRanges: [{\n fromPort: 8080,\n toPort: 8080,\n }],\n certificates: [{\n id: std.joinOutput({\n separator: \"-\",\n input: [\n defaultServiceCertificate[1].id,\n region,\n ],\n }).apply(invoke =\u003e invoke.result),\n }],\n});\nconst domain = \"alicloud-provider.cn\";\nconst defaultAdditionalCertificate = new alicloud.ga.AdditionalCertificate(\"default\", {\n certificateId: std.joinOutput({\n separator: \"-\",\n input: [\n defaultServiceCertificate[1].id,\n region,\n ],\n }).apply(invoke =\u003e invoke.result),\n domain: domain,\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ga.get_accelerators(status=\"active\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30,\n bandwidth_package_name=name,\n auto_pay=True,\n auto_use_coupon=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.ids[0],\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_service_certificate = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_service_certificate.append(alicloud.cas.ServiceCertificate(f\"default-{range['value']}\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n range[\"value\"],\n ]).result,\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n\"\"\"))\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n name=name,\n protocol=\"HTTPS\",\n port_ranges=[{\n \"from_port\": 8080,\n \"to_port\": 8080,\n }],\n certificates=[{\n \"id\": std.join_output(separator=\"-\",\n input=[\n default_service_certificate[1].id,\n region,\n ]).apply(lambda invoke: invoke.result),\n }])\ndomain = \"alicloud-provider.cn\"\ndefault_additional_certificate = alicloud.ga.AdditionalCertificate(\"default\",\n certificate_id=std.join_output(separator=\"-\",\n input=[\n default_service_certificate[1].id,\n region,\n ]).apply(lambda invoke: invoke.result),\n domain=domain,\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Ga.GetAccelerators.Invoke(new()\n {\n Status = \"active\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n BandwidthPackageName = name,\n AutoPay = true,\n AutoUseCoupon = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Apply(@default =\u003e @default.Apply(getAcceleratorsResult =\u003e getAcceleratorsResult.Ids[0])),\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultServiceCertificate = new List\u003cAliCloud.Cas.ServiceCertificate\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultServiceCertificate.Add(new AliCloud.Cas.ServiceCertificate($\"default-{range.Value}\", new()\n {\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n\",\n }));\n }\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n Name = name,\n Protocol = \"HTTPS\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 8080,\n ToPort = 8080,\n },\n },\n Certificates = new[]\n {\n new AliCloud.Ga.Inputs.ListenerCertificateArgs\n {\n Id = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n region,\n },\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var domain = \"alicloud-provider.cn\";\n\n var defaultAdditionalCertificate = new AliCloud.Ga.AdditionalCertificate(\"default\", new()\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n region,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Domain = domain,\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ga.GetAccelerators(ctx, \u0026ga.GetAcceleratorsArgs{\n\t\t\tStatus: pulumi.StringRef(\"active\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: pulumi.String(_default.Ids[0]),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultServiceCertificate []*cas.ServiceCertificate\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cas.NewServiceCertificate(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cas.ServiceCertificateArgs{\n\t\t\t\tCertificateName: pulumi.String(invokeJoin.Result),\n\t\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n`),\n\t\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultServiceCertificate = append(defaultServiceCertificate, __res)\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tName: pulumi.String(name),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(8080),\n\t\t\t\t\tToPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertificates: ga.ListenerCertificateArray{\n\t\t\t\t\u0026ga.ListenerCertificateArgs{\n\t\t\t\t\tId: std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\t\tSeparator: pulumi.String(\"-\"),\n\t\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\t\t\tpulumi.String(region),\n\t\t\t\t\t\t},\n\t\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\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\tdomain := \"alicloud-provider.cn\"\n\t\t_, err = ga.NewAdditionalCertificate(ctx, \"default\", \u0026ga.AdditionalCertificateArgs{\n\t\t\tCertificateId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"-\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\tpulumi.String(region),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tDomain: pulumi.String(domain),\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.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.alicloud.ga.GaFunctions;\nimport com.pulumi.alicloud.ga.inputs.GetAcceleratorsArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerCertificateArgs;\nimport com.pulumi.alicloud.ga.AdditionalCertificate;\nimport com.pulumi.alicloud.ga.AdditionalCertificateArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = GaFunctions.getAccelerators(GetAcceleratorsArgs.builder()\n .status(\"active\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .bandwidthPackageName(name)\n .autoPay(true)\n .autoUseCoupon(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.ids()[0])\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ServiceCertificate(\"defaultServiceCertificate-\" + i, ServiceCertificateArgs.builder()\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n range.value())\n .build()).result())\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n \n}\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .name(name)\n .protocol(\"HTTPS\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(8080)\n .toPort(8080)\n .build())\n .certificates(ListenerCertificateArgs.builder()\n .id(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n defaultServiceCertificate[1].id(),\n region)\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .build())\n .build());\n\n final var domain = \"alicloud-provider.cn\";\n\n var defaultAdditionalCertificate = new AdditionalCertificate(\"defaultAdditionalCertificate\", AdditionalCertificateArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n defaultServiceCertificate[1].id(),\n region)\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .domain(domain)\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n bandwidthPackageName: ${name}\n autoPay: true\n autoUseCoupon: true\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.ids[0]}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultServiceCertificate:\n type: alicloud:cas:ServiceCertificate\n name: default\n properties:\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${range.value}\n return: result\n cert: |\n -----BEGIN CERTIFICATE-----\n MIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\n XjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\n ZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\n HhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\n MBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\n A4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\n iQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\n zm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n 7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n 1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n 4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\n AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\n GDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\n BQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\n L2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\n b3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\n SSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n 02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\n ZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\n yQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\n G9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\n ltGN\n -----END CERTIFICATE-----\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\n MAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\n jeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n 8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\n cNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n 4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\n PlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\n HfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\n QzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\n iwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\n N0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n 0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n 5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\n YEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\n jXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\n GyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\n GYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\n X3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\n xtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\n EDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\n FXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n 16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\n l3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n 2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n /rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n -----END RSA PRIVATE KEY-----\n options: {}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n name: ${name}\n protocol: HTTPS\n portRanges:\n - fromPort: 8080\n toPort: 8080\n certificates:\n - id:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${defaultServiceCertificate[1].id}\n - ${region}\n return: result\n defaultAdditionalCertificate:\n type: alicloud:ga:AdditionalCertificate\n name: default\n properties:\n certificateId:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${defaultServiceCertificate[1].id}\n - ${region}\n return: result\n domain: ${domain}\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:ga:getAccelerators\n arguments:\n status: active\n domain: alicloud-provider.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Additional Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/additionalCertificate:AdditionalCertificate example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cdomain\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Additional Certificate resource.\n\nFor information about Global Accelerator (GA) Additional Certificate and how to use it, see [What is Additional Certificate](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-associateadditionalcertificateswithlistener).\n\n\u003e **NOTE:** Available since v1.150.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.ga.getAccelerators({\n status: \"active\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n bandwidthPackageName: name,\n autoPay: true,\n autoUseCoupon: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.then(_default =\u003e _default.ids?.[0]),\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultServiceCertificate: alicloud.cas.ServiceCertificate[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultServiceCertificate.push(new alicloud.cas.ServiceCertificate(`default-${range.value}`, {\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n range.value,\n ],\n }).then(invoke =\u003e invoke.result),\n cert: `-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n`,\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n`,\n }));\n}\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n name: name,\n protocol: \"HTTPS\",\n portRanges: [{\n fromPort: 8080,\n toPort: 8080,\n }],\n certificates: [{\n id: std.joinOutput({\n separator: \"-\",\n input: [\n defaultServiceCertificate[1].id,\n region,\n ],\n }).apply(invoke =\u003e invoke.result),\n }],\n});\nconst domain = \"alicloud-provider.cn\";\nconst defaultAdditionalCertificate = new alicloud.ga.AdditionalCertificate(\"default\", {\n certificateId: std.joinOutput({\n separator: \"-\",\n input: [\n defaultServiceCertificate[1].id,\n region,\n ],\n }).apply(invoke =\u003e invoke.result),\n domain: domain,\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ga.get_accelerators(status=\"active\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30,\n bandwidth_package_name=name,\n auto_pay=True,\n auto_use_coupon=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.ids[0],\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_service_certificate = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_service_certificate.append(alicloud.cas.ServiceCertificate(f\"default-{range['value']}\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n range[\"value\"],\n ]).result,\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n\"\"\",\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n\"\"\"))\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n name=name,\n protocol=\"HTTPS\",\n port_ranges=[{\n \"from_port\": 8080,\n \"to_port\": 8080,\n }],\n certificates=[{\n \"id\": std.join_output(separator=\"-\",\n input=[\n default_service_certificate[1].id,\n region,\n ]).apply(lambda invoke: invoke.result),\n }])\ndomain = \"alicloud-provider.cn\"\ndefault_additional_certificate = alicloud.ga.AdditionalCertificate(\"default\",\n certificate_id=std.join_output(separator=\"-\",\n input=[\n default_service_certificate[1].id,\n region,\n ]).apply(lambda invoke: invoke.result),\n domain=domain,\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Ga.GetAccelerators.Invoke(new()\n {\n Status = \"active\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n BandwidthPackageName = name,\n AutoPay = true,\n AutoUseCoupon = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Apply(@default =\u003e @default.Apply(getAcceleratorsResult =\u003e getAcceleratorsResult.Ids[0])),\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultServiceCertificate = new List\u003cAliCloud.Cas.ServiceCertificate\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultServiceCertificate.Add(new AliCloud.Cas.ServiceCertificate($\"default-{range.Value}\", new()\n {\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n range.Value,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n\",\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n\",\n }));\n }\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n Name = name,\n Protocol = \"HTTPS\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 8080,\n ToPort = 8080,\n },\n },\n Certificates = new[]\n {\n new AliCloud.Ga.Inputs.ListenerCertificateArgs\n {\n Id = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n region,\n },\n }).Apply(invoke =\u003e invoke.Result),\n },\n },\n });\n\n var domain = \"alicloud-provider.cn\";\n\n var defaultAdditionalCertificate = new AliCloud.Ga.AdditionalCertificate(\"default\", new()\n {\n CertificateId = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n defaultServiceCertificate[1].Id,\n region,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Domain = domain,\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ga.GetAccelerators(ctx, \u0026ga.GetAcceleratorsArgs{\n\t\t\tStatus: pulumi.StringRef(\"active\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: pulumi.String(_default.Ids[0]),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tval0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultServiceCertificate []*cas.ServiceCertificate\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := cas.NewServiceCertificate(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026cas.ServiceCertificateArgs{\n\t\t\t\tCertificateName: pulumi.String(invokeJoin.Result),\n\t\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n`),\n\t\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultServiceCertificate = append(defaultServiceCertificate, __res)\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tName: pulumi.String(name),\n\t\t\tProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(8080),\n\t\t\t\t\tToPort: pulumi.Int(8080),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCertificates: ga.ListenerCertificateArray{\n\t\t\t\t\u0026ga.ListenerCertificateArgs{\n\t\t\t\t\tId: std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\t\t\tSeparator: pulumi.String(\"-\"),\n\t\t\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\t\t\tpulumi.String(region),\n\t\t\t\t\t\t},\n\t\t\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\t\t\treturn invoke.Result, nil\n\t\t\t\t\t}).(pulumi.StringPtrOutput),\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\tdomain := \"alicloud-provider.cn\"\n\t\t_, err = ga.NewAdditionalCertificate(ctx, \"default\", \u0026ga.AdditionalCertificateArgs{\n\t\t\tCertificateId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"-\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultServiceCertificate[1].ID(),\n\t\t\t\t\tpulumi.String(region),\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tDomain: pulumi.String(domain),\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.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.alicloud.ga.GaFunctions;\nimport com.pulumi.alicloud.ga.inputs.GetAcceleratorsArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerCertificateArgs;\nimport com.pulumi.alicloud.ga.AdditionalCertificate;\nimport com.pulumi.alicloud.ga.AdditionalCertificateArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = GaFunctions.getAccelerators(GetAcceleratorsArgs.builder()\n .status(\"active\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .bandwidthPackageName(name)\n .autoPay(true)\n .autoUseCoupon(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.ids()[0])\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new ServiceCertificate(\"defaultServiceCertificate-\" + i, ServiceCertificateArgs.builder()\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n range.value())\n .build()).result())\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\nXjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\nZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\nHhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\nMBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\niQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\nzm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\nAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\nGDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\nBQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\nL2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\nb3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\nSSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\nZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\nyQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\nG9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\nltGN\n-----END CERTIFICATE-----\n \"\"\")\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\nMAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\njeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\ncNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\nPlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\nHfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\nQzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\niwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\nN0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\nYEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\njXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\nGyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\nGYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\nX3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\nxtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\nEDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\nFXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\nl3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n/rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n \n}\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .name(name)\n .protocol(\"HTTPS\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(8080)\n .toPort(8080)\n .build())\n .certificates(ListenerCertificateArgs.builder()\n .id(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n defaultServiceCertificate[1].id(),\n region)\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .build())\n .build());\n\n final var domain = \"alicloud-provider.cn\";\n\n var defaultAdditionalCertificate = new AdditionalCertificate(\"defaultAdditionalCertificate\", AdditionalCertificateArgs.builder()\n .certificateId(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n defaultServiceCertificate[1].id(),\n region)\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .domain(domain)\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n bandwidthPackageName: ${name}\n autoPay: true\n autoUseCoupon: true\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.ids[0]}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultServiceCertificate:\n type: alicloud:cas:ServiceCertificate\n name: default\n properties:\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${range.value}\n return: result\n cert: |\n -----BEGIN CERTIFICATE-----\n MIID7zCCAtegAwIBAgIRAKi2/Fx1cUTyhV839x42ockwDQYJKoZIhvcNAQELBQAw\n XjELMAkGA1UEBhMCQ04xDjAMBgNVBAoTBU15U1NMMSswKQYDVQQLEyJNeVNTTCBU\n ZXN0IFJTQSAtIEZvciB0ZXN0IHVzZSBvbmx5MRIwEAYDVQQDEwlNeVNTTC5jb20w\n HhcNMjMwODA5MDQ1NDU3WhcNMjYwODA4MDQ1NDU3WjAsMQswCQYDVQQGEwJDTjEd\n MBsGA1UEAxMUYWxpY2xvdWQtcHJvdmlkZXIuY24wggEiMA0GCSqGSIb3DQEBAQUA\n A4IBDwAwggEKAoIBAQDdkot9e0pMCTPAtA29Sz5sF+aPT/l9+3sOnQeJ1kKLNkqK\n iQgwADexoAqlmTaZM03gh/GnkqPw9gxN/fJHWdVzxE03Fs8bKgMdS6cf0v/xArrQ\n zm6N4vmsbuE8SX2eu303PAsyBMqPByTODZ5i+5LkZcrxMFQsbA3xnBouzS5e+T+a\n 7YTyyVv5WDy871/sdRAYTfnUttdnqkKGeMKgQgRlJ2pDk5/k2iwmQmSh/wbk465+\n 1U5w2npPYGPvGAkzl7RRc4/VckqlV8P0cmgguqIRyllJwFEnvcpqpOHTxBOBq9iZ\n 4b/h7ynrfB/GbAw574eSEl0gzLBW60bT9YedbTeXAgMBAAGjgdkwgdYwDgYDVR0P\n AQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSME\n GDAWgBQogSYF0TQaP8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYB\n BQUHMAGGFWh0dHA6Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDov\n L2NhLm15c3NsLmNvbS9teXNzbHRlc3Ryc2EuY3J0MB8GA1UdEQQYMBaCFGFsaWNs\n b3VkLXByb3ZpZGVyLmNuMA0GCSqGSIb3DQEBCwUAA4IBAQCwUBeznv6cAjcTLCDb\n SSvgkM9HFcbWnuGS8Nf5P4YfmSs52VuHZyjzwphjAU6B/danI/nMdZe52PXyvjVV\n 02Y8ld/tMpqPV5SpaOadLtdg6TGBNJieOAt9doM8WNEgq/JycAL9ivIOjChUetZf\n ZEV7HDIgiHSpqAPWMZYL71MS/p5zYkyOnPqmGyLNdi1neotwVCQopQXRNC2iLlVV\n yQONfXH5iijqr1iTWkB0ESK/xBt1PB655PlTjzFQUOovE1SyoQS8K3u7TP6+BqtD\n G9TYNTNZvxl5I/iU/KdWVip+qJbxRA8Skc8gHkkzeIEStw3l5cjnrp9h7EhnhkOh\n ltGN\n -----END CERTIFICATE-----\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIIEpQIBAAKCAQEA3ZKLfXtKTAkzwLQNvUs+bBfmj0/5fft7Dp0HidZCizZKiokI\n MAA3saAKpZk2mTNN4Ifxp5Kj8PYMTf3yR1nVc8RNNxbPGyoDHUunH9L/8QK60M5u\n jeL5rG7hPEl9nrt9NzwLMgTKjwckzg2eYvuS5GXK8TBULGwN8ZwaLs0uXvk/mu2E\n 8slb+Vg8vO9f7HUQGE351LbXZ6pChnjCoEIEZSdqQ5Of5NosJkJkof8G5OOuftVO\n cNp6T2Bj7xgJM5e0UXOP1XJKpVfD9HJoILqiEcpZScBRJ73KaqTh08QTgavYmeG/\n 4e8p63wfxmwMOe+HkhJdIMywVutG0/WHnW03lwIDAQABAoIBAQCe5rHS09B8pzzO\n PlJ8JrIlox5eOOScTPX7jPITD+25GL5si8mrYvyODlCUYkSdqgV3uQa9PpUEAfDh\n HfXa5boGxAj8MQdmW8LQB6lbUV7r4SFJDkKKzvRvjTVKnwnQBHXQXudIf9ckq+Lh\n QzMLmY/G7JmWTyqOkQ+O7nx4g/11bcU7uQrQdvWPfc0+IiT1TYQdyLQ/Chlj3RF/\n iwF8ZL2sfKF+Z5O49+Q6cXvUcQOvqtkIXbQijayyVNBMJwDB7aOZRA7JBNj9/ib6\n N0iTo81dJVz/nnpbWRaFTVinIsDF1heDfQ1qDx06T/Mpi6pjoWjRUcyIHEbZJTel\n 0nXDJD1BAoGBAPZB/PN8MP+o9gkf2jnoU9LzctDJrQwD1J2XElq4RomimPIMqDQP\n 5TRAJThf0O0X4Mv2n9EzV457OpJL+fz9htRWEYogWl9bkbzZ1AoX4K/acuGeawTT\n YEhPjJ2ZETsBsCeDkDDuHHzYwRQv+EfoXH36z9PBDxG1ZDb7kWwAILXdAoGBAOZW\n jXG7m4I7cxUtXGtjwydh4K7nwH/5QoH2m928HM2AT48eQCl3CMQ089+qeJGgfHQv\n GyVOO/FGhcFsFi10FMQ7IlwWgZODg64qnrNhi4zbV1M2wKem1T2dlEpkd82EFdnS\n GYRIEkFORMxEDyzx3Th2TajpWC8YKKG3Tnm0bQ4DAoGBAIZTEEswHvoVi78GZN7Z\n X3/d028X0xCOtlcPpK9ffPpuesbtKILdeMS7iJHrkecB81jOOfa+7q+FgDl0v/PD\n xtvj5sVVSHZjWGeO2h53T9QccDWpV+7V7dsDqUv9xmxNS20CUpCeEWP4R7lfQSrY\n EDuXp+11jWa3buae6n/iwfTxAoGABEYW2cVhXUk9GWd+D4AKXvCx+ozSRY2abk7l\n FXgoEKgQ0db92ccboohY/g1rr0gLBxzYpBiPhCqK0MvwnWdJ+1odiRfhz5rhFpoz\n 16A3tqVbOXAKoxG1Yy9JURgMIQQSY7hCQPIVZKDPJfsdTPgv4pxPVJL/z9/i4R1F\n l3yBiYECgYEA0+vpzL24nHZYdwgBF4qbmYhv8baRi07/BNgV1+d6vESuO/MwwoE/\n 2UZ9Drf5yoX2Bvi5/vVMbyc7cSluO7icPBkl0D8F7E3x0v5mzwPxtpR8BTRoJKOL\n /rMdLscMz2VQsL5DJd/9OZg60fHRaRtWtV0afXzL5zUxnfDLot24IG4=\n -----END RSA PRIVATE KEY-----\n options: {}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n name: ${name}\n protocol: HTTPS\n portRanges:\n - fromPort: 8080\n toPort: 8080\n certificates:\n - id:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${defaultServiceCertificate[1].id}\n - ${region}\n return: result\n defaultAdditionalCertificate:\n type: alicloud:ga:AdditionalCertificate\n name: default\n properties:\n certificateId:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${defaultServiceCertificate[1].id}\n - ${region}\n return: result\n domain: ${domain}\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:ga:getAccelerators\n arguments:\n status: active\n domain: alicloud-provider.cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Additional Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/additionalCertificate:AdditionalCertificate example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cdomain\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -190639,7 +194470,7 @@ } }, "alicloud:ga/bandwidthPackage:BandwidthPackage": { - "description": "Provides a Global Accelerator (GA) Bandwidth Package resource.\n\nFor information about Global Accelerator (GA) Bandwidth Package and how to use it, see [What is Bandwidth Package](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbandwidthpackage).\n\n\u003e **NOTE:** At present, The \u003cspan pulumi-lang-nodejs=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-dotnet=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-go=\"`ga.BandwidthPackage`\" pulumi-lang-python=\"`ga.BandwidthPackage`\" pulumi-lang-yaml=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-java=\"`alicloud.ga.BandwidthPackage`\"\u003e`alicloud.ga.BandwidthPackage`\u003c/span\u003e created with `Subscription` cannot be deleted. you need to wait until the resource is outdated and released automatically.\n\n\u003e **NOTE:** Available since v1.112.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ga.BandwidthPackage(\"example\", {\n bandwidth: 20,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n duration: \"1\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ga.BandwidthPackage(\"example\",\n bandwidth=20,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n duration=\"1\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ga.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 20,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n Duration = \"1\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewBandwidthPackage(ctx, \"example\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tAutoPay: 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.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .bandwidth(20)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .duration(\"1\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ga:BandwidthPackage\n properties:\n bandwidth: 20\n type: Basic\n bandwidthType: Basic\n duration: 1\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Bandwidth Package can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/bandwidthPackage:BandwidthPackage example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Bandwidth Package resource.\n\nFor information about Global Accelerator (GA) Bandwidth Package and how to use it, see [What is Bandwidth Package](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbandwidthpackage).\n\n\u003e **NOTE:** At present, The \u003cspan pulumi-lang-nodejs=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-dotnet=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-go=\"`ga.BandwidthPackage`\" pulumi-lang-python=\"`ga.BandwidthPackage`\" pulumi-lang-yaml=\"`alicloud.ga.BandwidthPackage`\" pulumi-lang-java=\"`alicloud.ga.BandwidthPackage`\"\u003e`alicloud.ga.BandwidthPackage`\u003c/span\u003e created with `Subscription` cannot be deleted. you need to wait until the resource is outdated and released automatically.\n\n\u003e **NOTE:** Available since v1.112.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ga.BandwidthPackage(\"example\", {\n bandwidth: 20,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n duration: \"1\",\n autoPay: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ga.BandwidthPackage(\"example\",\n bandwidth=20,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n duration=\"1\",\n auto_pay=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ga.BandwidthPackage(\"example\", new()\n {\n Bandwidth = 20,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n Duration = \"1\",\n AutoPay = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewBandwidthPackage(ctx, \"example\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tAutoPay: 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.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .bandwidth(20)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .duration(\"1\")\n .autoPay(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ga:BandwidthPackage\n properties:\n bandwidth: 20\n type: Basic\n bandwidthType: Basic\n duration: 1\n autoPay: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Bandwidth Package can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/bandwidthPackage:BandwidthPackage example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -190911,7 +194742,7 @@ } }, "alicloud:ga/bandwidthPackageAttachment:BandwidthPackageAttachment": { - "description": "Provides a Global Accelerator (GA) Bandwidth Package Attachment resource.\n\nFor information about Global Accelerator (GA) Bandwidth Package Attachment and how to use it, see [What is Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-bandwidthpackageaddaccelerator).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/bandwidthPackageAttachment:BandwidthPackageAttachment example \u003caccelerator_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Bandwidth Package Attachment resource.\n\nFor information about Global Accelerator (GA) Bandwidth Package Attachment and how to use it, see [What is Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-bandwidthpackageaddaccelerator).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/bandwidthPackageAttachment:BandwidthPackageAttachment example \u003caccelerator_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -190982,7 +194813,7 @@ } }, "alicloud:ga/basicAccelerateIp:BasicAccelerateIp": { - "description": "Provides a Global Accelerator (GA) Basic Accelerate IP resource.\n\nFor information about Global Accelerator (GA) Basic Accelerate IP and how to use it, see [What is Basic Accelerate IP](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerateip).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: _default.id,\n accelerateRegionId: region,\n ispType: \"BGP\",\n bandwidth: 5,\n});\nconst defaultBasicAccelerateIp = new alicloud.ga.BasicAccelerateIp(\"default\", {\n acceleratorId: _default.id,\n ipSetId: defaultBasicIpSet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default.id,\n accelerate_region_id=region,\n isp_type=\"BGP\",\n bandwidth=5)\ndefault_basic_accelerate_ip = alicloud.ga.BasicAccelerateIp(\"default\",\n accelerator_id=default.id,\n ip_set_id=default_basic_ip_set.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = @default.Id,\n AccelerateRegionId = region,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n var defaultBasicAccelerateIp = new AliCloud.Ga.BasicAccelerateIp(\"default\", new()\n {\n AcceleratorId = @default.Id,\n IpSetId = defaultBasicIpSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicIpSet, err := ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicAccelerateIp(ctx, \"default\", \u0026ga.BasicAccelerateIpArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tIpSetId: defaultBasicIpSet.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.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIp;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(default_.id())\n .accelerateRegionId(region)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n var defaultBasicAccelerateIp = new BasicAccelerateIp(\"defaultBasicAccelerateIp\", BasicAccelerateIpArgs.builder()\n .acceleratorId(default_.id())\n .ipSetId(defaultBasicIpSet.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${default.id}\n accelerateRegionId: ${region}\n ispType: BGP\n bandwidth: '5'\n defaultBasicAccelerateIp:\n type: alicloud:ga:BasicAccelerateIp\n name: default\n properties:\n acceleratorId: ${default.id}\n ipSetId: ${defaultBasicIpSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerateIp:BasicAccelerateIp example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Accelerate IP resource.\n\nFor information about Global Accelerator (GA) Basic Accelerate IP and how to use it, see [What is Basic Accelerate IP](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerateip).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: _default.id,\n accelerateRegionId: region,\n ispType: \"BGP\",\n bandwidth: 5,\n});\nconst defaultBasicAccelerateIp = new alicloud.ga.BasicAccelerateIp(\"default\", {\n acceleratorId: _default.id,\n ipSetId: defaultBasicIpSet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default.id,\n accelerate_region_id=region,\n isp_type=\"BGP\",\n bandwidth=5)\ndefault_basic_accelerate_ip = alicloud.ga.BasicAccelerateIp(\"default\",\n accelerator_id=default.id,\n ip_set_id=default_basic_ip_set.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = @default.Id,\n AccelerateRegionId = region,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n var defaultBasicAccelerateIp = new AliCloud.Ga.BasicAccelerateIp(\"default\", new()\n {\n AcceleratorId = @default.Id,\n IpSetId = defaultBasicIpSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicIpSet, err := ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicAccelerateIp(ctx, \"default\", \u0026ga.BasicAccelerateIpArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tIpSetId: defaultBasicIpSet.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.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIp;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(default_.id())\n .accelerateRegionId(region)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n var defaultBasicAccelerateIp = new BasicAccelerateIp(\"defaultBasicAccelerateIp\", BasicAccelerateIpArgs.builder()\n .acceleratorId(default_.id())\n .ipSetId(defaultBasicIpSet.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${default.id}\n accelerateRegionId: ${region}\n ispType: BGP\n bandwidth: '5'\n defaultBasicAccelerateIp:\n type: alicloud:ga:BasicAccelerateIp\n name: default\n properties:\n acceleratorId: ${default.id}\n ipSetId: ${defaultBasicIpSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerateIp:BasicAccelerateIp example \u003cid\u003e\n```\n\n", "properties": { "accelerateIpAddress": { "type": "string", @@ -191049,7 +194880,7 @@ } }, "alicloud:ga/basicAccelerateIpEndpointRelation:BasicAccelerateIpEndpointRelation": { - "description": "Provides a Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation resource.\n\nFor information about Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation and how to use it, see [What is Basic Accelerate Ip Endpoint Relation](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerateipendpointrelation).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-shenzhen\";\nconst endpointRegion = config.get(\"endpointRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: \"terraform-example\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n accelerateRegionId: endpointRegion,\n ispType: \"BGP\",\n bandwidth: 5,\n});\nconst defaultBasicAccelerateIp = new alicloud.ga.BasicAccelerateIp(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n ipSetId: defaultBasicIpSet.id,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: region,\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultBasicEndpoint = new alicloud.ga.BasicEndpoint(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupId: defaultBasicEndpointGroup.id,\n endpointType: \"ENI\",\n endpointAddress: defaultEcsNetworkInterface.id,\n endpointSubAddressType: \"primary\",\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointName: \"terraform-example\",\n});\nconst defaultBasicAccelerateIpEndpointRelation = new alicloud.ga.BasicAccelerateIpEndpointRelation(\"default\", {\n acceleratorId: defaultBasicAccelerateIp.acceleratorId,\n accelerateIpId: defaultBasicAccelerateIp.id,\n endpointId: defaultBasicEndpoint.endpointId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-shenzhen\"\nendpoint_region = config.get(\"endpointRegion\")\nif endpoint_region is None:\n endpoint_region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=\"terraform-example\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id])\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default_basic_accelerator.id,\n accelerate_region_id=endpoint_region,\n isp_type=\"BGP\",\n bandwidth=5)\ndefault_basic_accelerate_ip = alicloud.ga.BasicAccelerateIp(\"default\",\n accelerator_id=default_basic_accelerator.id,\n ip_set_id=default_basic_ip_set.id)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=region,\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_basic_endpoint = alicloud.ga.BasicEndpoint(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_id=default_basic_endpoint_group.id,\n endpoint_type=\"ENI\",\n endpoint_address=default_ecs_network_interface.id,\n endpoint_sub_address_type=\"primary\",\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_name=\"terraform-example\")\ndefault_basic_accelerate_ip_endpoint_relation = alicloud.ga.BasicAccelerateIpEndpointRelation(\"default\",\n accelerator_id=default_basic_accelerate_ip.accelerator_id,\n accelerate_ip_id=default_basic_accelerate_ip.id,\n endpoint_id=default_basic_endpoint.endpoint_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-shenzhen\";\n var endpointRegion = config.Get(\"endpointRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = \"terraform-example\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n AccelerateRegionId = endpointRegion,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n var defaultBasicAccelerateIp = new AliCloud.Ga.BasicAccelerateIp(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n IpSetId = defaultBasicIpSet.Id,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = region,\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultBasicEndpoint = new AliCloud.Ga.BasicEndpoint(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupId = defaultBasicEndpointGroup.Id,\n EndpointType = \"ENI\",\n EndpointAddress = defaultEcsNetworkInterface.Id,\n EndpointSubAddressType = \"primary\",\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointName = \"terraform-example\",\n });\n\n var defaultBasicAccelerateIpEndpointRelation = new AliCloud.Ga.BasicAccelerateIpEndpointRelation(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerateIp.AcceleratorId,\n AccelerateIpId = defaultBasicAccelerateIp.Id,\n EndpointId = defaultBasicEndpoint.EndpointId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-shenzhen\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"endpointRegion\"); param != \"\" {\n\t\t\tendpointRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicIpSet, err := ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(endpointRegion),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerateIp, err := ga.NewBasicAccelerateIp(ctx, \"default\", \u0026ga.BasicAccelerateIpArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tIpSetId: defaultBasicIpSet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpointGroup, err := ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpoint, err := ga.NewBasicEndpoint(ctx, \"default\", \u0026ga.BasicEndpointArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupId: defaultBasicEndpointGroup.ID(),\n\t\t\tEndpointType: pulumi.String(\"ENI\"),\n\t\t\tEndpointAddress: defaultEcsNetworkInterface.ID(),\n\t\t\tEndpointSubAddressType: pulumi.String(\"primary\"),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicAccelerateIpEndpointRelation(ctx, \"default\", \u0026ga.BasicAccelerateIpEndpointRelationArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerateIp.AcceleratorId,\n\t\t\tAccelerateIpId: defaultBasicAccelerateIp.ID(),\n\t\t\tEndpointId: defaultBasicEndpoint.EndpointId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIp;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.BasicEndpoint;\nimport com.pulumi.alicloud.ga.BasicEndpointArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpEndpointRelation;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpEndpointRelationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-shenzhen\");\n final var endpointRegion = config.get(\"endpointRegion\").orElse(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(\"terraform-example\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .accelerateRegionId(endpointRegion)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n var defaultBasicAccelerateIp = new BasicAccelerateIp(\"defaultBasicAccelerateIp\", BasicAccelerateIpArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .ipSetId(defaultBasicIpSet.id())\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(region)\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultBasicEndpoint = new BasicEndpoint(\"defaultBasicEndpoint\", BasicEndpointArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupId(defaultBasicEndpointGroup.id())\n .endpointType(\"ENI\")\n .endpointAddress(defaultEcsNetworkInterface.id())\n .endpointSubAddressType(\"primary\")\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointName(\"terraform-example\")\n .build());\n\n var defaultBasicAccelerateIpEndpointRelation = new BasicAccelerateIpEndpointRelation(\"defaultBasicAccelerateIpEndpointRelation\", BasicAccelerateIpEndpointRelationArgs.builder()\n .acceleratorId(defaultBasicAccelerateIp.acceleratorId())\n .accelerateIpId(defaultBasicAccelerateIp.id())\n .endpointId(defaultBasicEndpoint.endpointId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-shenzhen\n endpointRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: terraform-example\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n accelerateRegionId: ${endpointRegion}\n ispType: BGP\n bandwidth: '5'\n defaultBasicAccelerateIp:\n type: alicloud:ga:BasicAccelerateIp\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n ipSetId: ${defaultBasicIpSet.id}\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${region}\n basicEndpointGroupName: terraform-example\n description: terraform-example\n defaultBasicEndpoint:\n type: alicloud:ga:BasicEndpoint\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupId: ${defaultBasicEndpointGroup.id}\n endpointType: ENI\n endpointAddress: ${defaultEcsNetworkInterface.id}\n endpointSubAddressType: primary\n endpointSubAddress: 192.168.0.1\n basicEndpointName: terraform-example\n defaultBasicAccelerateIpEndpointRelation:\n type: alicloud:ga:BasicAccelerateIpEndpointRelation\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerateIp.acceleratorId}\n accelerateIpId: ${defaultBasicAccelerateIp.id}\n endpointId: ${defaultBasicEndpoint.endpointId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerateIpEndpointRelation:BasicAccelerateIpEndpointRelation example \u003caccelerator_id\u003e:\u003caccelerate_ip_id\u003e:\u003cendpoint_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation resource.\n\nFor information about Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation and how to use it, see [What is Basic Accelerate Ip Endpoint Relation](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerateipendpointrelation).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-shenzhen\";\nconst endpointRegion = config.get(\"endpointRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: \"terraform-example\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n accelerateRegionId: endpointRegion,\n ispType: \"BGP\",\n bandwidth: 5,\n});\nconst defaultBasicAccelerateIp = new alicloud.ga.BasicAccelerateIp(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n ipSetId: defaultBasicIpSet.id,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: region,\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultBasicEndpoint = new alicloud.ga.BasicEndpoint(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupId: defaultBasicEndpointGroup.id,\n endpointType: \"ENI\",\n endpointAddress: defaultEcsNetworkInterface.id,\n endpointSubAddressType: \"primary\",\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointName: \"terraform-example\",\n});\nconst defaultBasicAccelerateIpEndpointRelation = new alicloud.ga.BasicAccelerateIpEndpointRelation(\"default\", {\n acceleratorId: defaultBasicAccelerateIp.acceleratorId,\n accelerateIpId: defaultBasicAccelerateIp.id,\n endpointId: defaultBasicEndpoint.endpointId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-shenzhen\"\nendpoint_region = config.get(\"endpointRegion\")\nif endpoint_region is None:\n endpoint_region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=\"terraform-example\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id])\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default_basic_accelerator.id,\n accelerate_region_id=endpoint_region,\n isp_type=\"BGP\",\n bandwidth=5)\ndefault_basic_accelerate_ip = alicloud.ga.BasicAccelerateIp(\"default\",\n accelerator_id=default_basic_accelerator.id,\n ip_set_id=default_basic_ip_set.id)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=region,\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_basic_endpoint = alicloud.ga.BasicEndpoint(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_id=default_basic_endpoint_group.id,\n endpoint_type=\"ENI\",\n endpoint_address=default_ecs_network_interface.id,\n endpoint_sub_address_type=\"primary\",\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_name=\"terraform-example\")\ndefault_basic_accelerate_ip_endpoint_relation = alicloud.ga.BasicAccelerateIpEndpointRelation(\"default\",\n accelerator_id=default_basic_accelerate_ip.accelerator_id,\n accelerate_ip_id=default_basic_accelerate_ip.id,\n endpoint_id=default_basic_endpoint.endpoint_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-shenzhen\";\n var endpointRegion = config.Get(\"endpointRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = \"terraform-example\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n AccelerateRegionId = endpointRegion,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n var defaultBasicAccelerateIp = new AliCloud.Ga.BasicAccelerateIp(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n IpSetId = defaultBasicIpSet.Id,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = region,\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultBasicEndpoint = new AliCloud.Ga.BasicEndpoint(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupId = defaultBasicEndpointGroup.Id,\n EndpointType = \"ENI\",\n EndpointAddress = defaultEcsNetworkInterface.Id,\n EndpointSubAddressType = \"primary\",\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointName = \"terraform-example\",\n });\n\n var defaultBasicAccelerateIpEndpointRelation = new AliCloud.Ga.BasicAccelerateIpEndpointRelation(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerateIp.AcceleratorId,\n AccelerateIpId = defaultBasicAccelerateIp.Id,\n EndpointId = defaultBasicEndpoint.EndpointId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-shenzhen\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"endpointRegion\"); param != \"\" {\n\t\t\tendpointRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicIpSet, err := ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(endpointRegion),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerateIp, err := ga.NewBasicAccelerateIp(ctx, \"default\", \u0026ga.BasicAccelerateIpArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tIpSetId: defaultBasicIpSet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpointGroup, err := ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpoint, err := ga.NewBasicEndpoint(ctx, \"default\", \u0026ga.BasicEndpointArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupId: defaultBasicEndpointGroup.ID(),\n\t\t\tEndpointType: pulumi.String(\"ENI\"),\n\t\t\tEndpointAddress: defaultEcsNetworkInterface.ID(),\n\t\t\tEndpointSubAddressType: pulumi.String(\"primary\"),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicAccelerateIpEndpointRelation(ctx, \"default\", \u0026ga.BasicAccelerateIpEndpointRelationArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerateIp.AcceleratorId,\n\t\t\tAccelerateIpId: defaultBasicAccelerateIp.ID(),\n\t\t\tEndpointId: defaultBasicEndpoint.EndpointId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIp;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.BasicEndpoint;\nimport com.pulumi.alicloud.ga.BasicEndpointArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpEndpointRelation;\nimport com.pulumi.alicloud.ga.BasicAccelerateIpEndpointRelationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-shenzhen\");\n final var endpointRegion = config.get(\"endpointRegion\").orElse(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(\"terraform-example\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .accelerateRegionId(endpointRegion)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n var defaultBasicAccelerateIp = new BasicAccelerateIp(\"defaultBasicAccelerateIp\", BasicAccelerateIpArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .ipSetId(defaultBasicIpSet.id())\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(region)\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultBasicEndpoint = new BasicEndpoint(\"defaultBasicEndpoint\", BasicEndpointArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupId(defaultBasicEndpointGroup.id())\n .endpointType(\"ENI\")\n .endpointAddress(defaultEcsNetworkInterface.id())\n .endpointSubAddressType(\"primary\")\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointName(\"terraform-example\")\n .build());\n\n var defaultBasicAccelerateIpEndpointRelation = new BasicAccelerateIpEndpointRelation(\"defaultBasicAccelerateIpEndpointRelation\", BasicAccelerateIpEndpointRelationArgs.builder()\n .acceleratorId(defaultBasicAccelerateIp.acceleratorId())\n .accelerateIpId(defaultBasicAccelerateIp.id())\n .endpointId(defaultBasicEndpoint.endpointId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-shenzhen\n endpointRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: terraform-example\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n accelerateRegionId: ${endpointRegion}\n ispType: BGP\n bandwidth: '5'\n defaultBasicAccelerateIp:\n type: alicloud:ga:BasicAccelerateIp\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n ipSetId: ${defaultBasicIpSet.id}\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${region}\n basicEndpointGroupName: terraform-example\n description: terraform-example\n defaultBasicEndpoint:\n type: alicloud:ga:BasicEndpoint\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupId: ${defaultBasicEndpointGroup.id}\n endpointType: ENI\n endpointAddress: ${defaultEcsNetworkInterface.id}\n endpointSubAddressType: primary\n endpointSubAddress: 192.168.0.1\n basicEndpointName: terraform-example\n defaultBasicAccelerateIpEndpointRelation:\n type: alicloud:ga:BasicAccelerateIpEndpointRelation\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerateIp.acceleratorId}\n accelerateIpId: ${defaultBasicAccelerateIp.id}\n endpointId: ${defaultBasicEndpoint.endpointId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerateIpEndpointRelation:BasicAccelerateIpEndpointRelation example \u003caccelerator_id\u003e:\u003caccelerate_ip_id\u003e:\u003cendpoint_id\u003e\n```\n\n", "properties": { "accelerateIpId": { "type": "string", @@ -191123,7 +194954,7 @@ } }, "alicloud:ga/basicAccelerator:BasicAccelerator": { - "description": "Provides a Global Accelerator (GA) Basic Accelerator resource.\n\nFor information about Global Accelerator (GA) Basic Accelerator and how to use it, see [What is Basic Accelerator](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerator).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n pricingCycle: \"Month\",\n basicAcceleratorName: \"tf-example-value\",\n description: \"tf-example-value\",\n bandwidthBillingType: \"BandwidthPackage\",\n autoPay: true,\n autoUseCoupon: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n pricing_cycle=\"Month\",\n basic_accelerator_name=\"tf-example-value\",\n description=\"tf-example-value\",\n bandwidth_billing_type=\"BandwidthPackage\",\n auto_pay=True,\n auto_use_coupon=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n PricingCycle = \"Month\",\n BasicAcceleratorName = \"tf-example-value\",\n Description = \"tf-example-value\",\n BandwidthBillingType = \"BandwidthPackage\",\n AutoPay = true,\n AutoUseCoupon = \"true\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tBasicAcceleratorName: pulumi.String(\"tf-example-value\"),\n\t\t\tDescription: pulumi.String(\"tf-example-value\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"BandwidthPackage\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.String(\"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.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .pricingCycle(\"Month\")\n .basicAcceleratorName(\"tf-example-value\")\n .description(\"tf-example-value\")\n .bandwidthBillingType(\"BandwidthPackage\")\n .autoPay(true)\n .autoUseCoupon(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n pricingCycle: Month\n basicAcceleratorName: tf-example-value\n description: tf-example-value\n bandwidthBillingType: BandwidthPackage\n autoPay: true\n autoUseCoupon: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerator:BasicAccelerator example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Accelerator resource.\n\nFor information about Global Accelerator (GA) Basic Accelerator and how to use it, see [What is Basic Accelerator](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicaccelerator).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n pricingCycle: \"Month\",\n basicAcceleratorName: \"tf-example-value\",\n description: \"tf-example-value\",\n bandwidthBillingType: \"BandwidthPackage\",\n autoPay: true,\n autoUseCoupon: \"true\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n pricing_cycle=\"Month\",\n basic_accelerator_name=\"tf-example-value\",\n description=\"tf-example-value\",\n bandwidth_billing_type=\"BandwidthPackage\",\n auto_pay=True,\n auto_use_coupon=\"true\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n PricingCycle = \"Month\",\n BasicAcceleratorName = \"tf-example-value\",\n Description = \"tf-example-value\",\n BandwidthBillingType = \"BandwidthPackage\",\n AutoPay = true,\n AutoUseCoupon = \"true\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tBasicAcceleratorName: pulumi.String(\"tf-example-value\"),\n\t\t\tDescription: pulumi.String(\"tf-example-value\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"BandwidthPackage\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.String(\"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.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .pricingCycle(\"Month\")\n .basicAcceleratorName(\"tf-example-value\")\n .description(\"tf-example-value\")\n .bandwidthBillingType(\"BandwidthPackage\")\n .autoPay(true)\n .autoUseCoupon(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n pricingCycle: Month\n basicAcceleratorName: tf-example-value\n description: tf-example-value\n bandwidthBillingType: BandwidthPackage\n autoPay: true\n autoUseCoupon: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Accelerator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicAccelerator:BasicAccelerator example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -191330,7 +195161,7 @@ } }, "alicloud:ga/basicEndpoint:BasicEndpoint": { - "description": "Provides a Global Accelerator (GA) Basic Endpoint resource.\n\nFor information about Global Accelerator (GA) Basic Endpoint and how to use it, see [What is Basic Endpoint](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicendpoint).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-shenzhen\";\nconst endpointRegion = config.get(\"endpointRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: \"terraform-example\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: region,\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultBasicEndpoint = new alicloud.ga.BasicEndpoint(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupId: defaultBasicEndpointGroup.id,\n endpointType: \"ENI\",\n endpointAddress: defaultEcsNetworkInterface.id,\n endpointSubAddressType: \"secondary\",\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointName: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-shenzhen\"\nendpoint_region = config.get(\"endpointRegion\")\nif endpoint_region is None:\n endpoint_region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=\"terraform-example\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id])\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=region,\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_basic_endpoint = alicloud.ga.BasicEndpoint(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_id=default_basic_endpoint_group.id,\n endpoint_type=\"ENI\",\n endpoint_address=default_ecs_network_interface.id,\n endpoint_sub_address_type=\"secondary\",\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-shenzhen\";\n var endpointRegion = config.Get(\"endpointRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = \"terraform-example\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = region,\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultBasicEndpoint = new AliCloud.Ga.BasicEndpoint(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupId = defaultBasicEndpointGroup.Id,\n EndpointType = \"ENI\",\n EndpointAddress = defaultEcsNetworkInterface.Id,\n EndpointSubAddressType = \"secondary\",\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-shenzhen\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"endpointRegion\"); param != \"\" {\n\t\t\tendpointRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpointGroup, err := ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicEndpoint(ctx, \"default\", \u0026ga.BasicEndpointArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupId: defaultBasicEndpointGroup.ID(),\n\t\t\tEndpointType: pulumi.String(\"ENI\"),\n\t\t\tEndpointAddress: defaultEcsNetworkInterface.ID(),\n\t\t\tEndpointSubAddressType: pulumi.String(\"secondary\"),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.BasicEndpoint;\nimport com.pulumi.alicloud.ga.BasicEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-shenzhen\");\n final var endpointRegion = config.get(\"endpointRegion\").orElse(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(\"terraform-example\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(region)\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultBasicEndpoint = new BasicEndpoint(\"defaultBasicEndpoint\", BasicEndpointArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupId(defaultBasicEndpointGroup.id())\n .endpointType(\"ENI\")\n .endpointAddress(defaultEcsNetworkInterface.id())\n .endpointSubAddressType(\"secondary\")\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-shenzhen\n endpointRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: terraform-example\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${region}\n basicEndpointGroupName: terraform-example\n description: terraform-example\n defaultBasicEndpoint:\n type: alicloud:ga:BasicEndpoint\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupId: ${defaultBasicEndpointGroup.id}\n endpointType: ENI\n endpointAddress: ${defaultEcsNetworkInterface.id}\n endpointSubAddressType: secondary\n endpointSubAddress: 192.168.0.1\n basicEndpointName: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicEndpoint:BasicEndpoint example \u003cendpoint_group_id\u003e:\u003cendpoint_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Endpoint resource.\n\nFor information about Global Accelerator (GA) Basic Endpoint and how to use it, see [What is Basic Endpoint](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicendpoint).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-shenzhen\";\nconst endpointRegion = config.get(\"endpointRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: \"terraform-example\",\n});\nconst defaultEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"default\", {\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: region,\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultBasicEndpoint = new alicloud.ga.BasicEndpoint(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupId: defaultBasicEndpointGroup.id,\n endpointType: \"ENI\",\n endpointAddress: defaultEcsNetworkInterface.id,\n endpointSubAddressType: \"secondary\",\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointName: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-shenzhen\"\nendpoint_region = config.get(\"endpointRegion\")\nif endpoint_region is None:\n endpoint_region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=\"terraform-example\")\ndefault_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"default\",\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id])\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=region,\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_basic_endpoint = alicloud.ga.BasicEndpoint(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_id=default_basic_endpoint_group.id,\n endpoint_type=\"ENI\",\n endpoint_address=default_ecs_network_interface.id,\n endpoint_sub_address_type=\"secondary\",\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-shenzhen\";\n var endpointRegion = config.Get(\"endpointRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = \"terraform-example\",\n });\n\n var defaultEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"default\", new()\n {\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = region,\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultBasicEndpoint = new AliCloud.Ga.BasicEndpoint(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupId = defaultBasicEndpointGroup.Id,\n EndpointType = \"ENI\",\n EndpointAddress = defaultEcsNetworkInterface.Id,\n EndpointSubAddressType = \"secondary\",\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-shenzhen\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"endpointRegion\"); param != \"\" {\n\t\t\tendpointRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"default\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicEndpointGroup, err := ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicEndpoint(ctx, \"default\", \u0026ga.BasicEndpointArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupId: defaultBasicEndpointGroup.ID(),\n\t\t\tEndpointType: pulumi.String(\"ENI\"),\n\t\t\tEndpointAddress: defaultEcsNetworkInterface.ID(),\n\t\t\tEndpointSubAddressType: pulumi.String(\"secondary\"),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.BasicEndpoint;\nimport com.pulumi.alicloud.ga.BasicEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-shenzhen\");\n final var endpointRegion = config.get(\"endpointRegion\").orElse(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(\"terraform-example\")\n .build());\n\n var defaultEcsNetworkInterface = new EcsNetworkInterface(\"defaultEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(region)\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultBasicEndpoint = new BasicEndpoint(\"defaultBasicEndpoint\", BasicEndpointArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupId(defaultBasicEndpointGroup.id())\n .endpointType(\"ENI\")\n .endpointAddress(defaultEcsNetworkInterface.id())\n .endpointSubAddressType(\"secondary\")\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-shenzhen\n endpointRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: terraform-example\n defaultEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: default\n properties:\n vswitchId: ${defaultSwitch.id}\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${region}\n basicEndpointGroupName: terraform-example\n description: terraform-example\n defaultBasicEndpoint:\n type: alicloud:ga:BasicEndpoint\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupId: ${defaultBasicEndpointGroup.id}\n endpointType: ENI\n endpointAddress: ${defaultEcsNetworkInterface.id}\n endpointSubAddressType: secondary\n endpointSubAddress: 192.168.0.1\n basicEndpointName: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicEndpoint:BasicEndpoint example \u003cendpoint_group_id\u003e:\u003cendpoint_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -191483,7 +195314,7 @@ } }, "alicloud:ga/basicEndpointGroup:BasicEndpointGroup": { - "description": "Provides a Global Accelerator (GA) Basic Endpoint Group resource.\n\nFor information about Global Accelerator (GA) Basic Endpoint Group and how to use it, see [What is Basic Endpoint Group](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicendpointgroup).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst endpointGroupRegion = config.get(\"endpointGroupRegion\") || \"cn-beijing\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: \"terraform-example\",\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: endpointGroupRegion,\n endpointType: \"SLB\",\n endpointAddress: defaultApplicationLoadBalancer.id,\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nendpoint_group_region = config.get(\"endpointGroupRegion\")\nif endpoint_group_region is None:\n endpoint_group_region = \"cn-beijing\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=\"terraform-example\",\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=endpoint_group_region,\n endpoint_type=\"SLB\",\n endpoint_address=default_application_load_balancer.id,\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var endpointGroupRegion = config.Get(\"endpointGroupRegion\") ?? \"cn-beijing\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = \"terraform-example\",\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = endpointGroupRegion,\n EndpointType = \"SLB\",\n EndpointAddress = defaultApplicationLoadBalancer.Id,\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointGroupRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"endpointGroupRegion\"); param != \"\" {\n\t\t\tendpointGroupRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(endpointGroupRegion),\n\t\t\tEndpointType: pulumi.String(\"SLB\"),\n\t\t\tEndpointAddress: defaultApplicationLoadBalancer.ID(),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var endpointGroupRegion = config.get(\"endpointGroupRegion\").orElse(\"cn-beijing\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(\"terraform-example\")\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(endpointGroupRegion)\n .endpointType(\"SLB\")\n .endpointAddress(defaultApplicationLoadBalancer.id())\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n endpointGroupRegion:\n type: string\n default: cn-beijing\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: terraform-example\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${endpointGroupRegion}\n endpointType: SLB\n endpointAddress: ${defaultApplicationLoadBalancer.id}\n endpointSubAddress: 192.168.0.1\n basicEndpointGroupName: terraform-example\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicEndpointGroup:BasicEndpointGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Endpoint Group resource.\n\nFor information about Global Accelerator (GA) Basic Endpoint Group and how to use it, see [What is Basic Endpoint Group](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicendpointgroup).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst endpointGroupRegion = config.get(\"endpointGroupRegion\") || \"cn-beijing\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: \"terraform-example\",\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultBasicAccelerator = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n basicAcceleratorName: \"terraform-example\",\n description: \"terraform-example\",\n bandwidthBillingType: \"CDT\",\n autoUseCoupon: \"true\",\n autoPay: true,\n});\nconst defaultBasicEndpointGroup = new alicloud.ga.BasicEndpointGroup(\"default\", {\n acceleratorId: defaultBasicAccelerator.id,\n endpointGroupRegion: endpointGroupRegion,\n endpointType: \"SLB\",\n endpointAddress: defaultApplicationLoadBalancer.id,\n endpointSubAddress: \"192.168.0.1\",\n basicEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nendpoint_group_region = config.get(\"endpointGroupRegion\")\nif endpoint_group_region is None:\n endpoint_group_region = \"cn-beijing\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=\"terraform-example\",\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_basic_accelerator = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n basic_accelerator_name=\"terraform-example\",\n description=\"terraform-example\",\n bandwidth_billing_type=\"CDT\",\n auto_use_coupon=\"true\",\n auto_pay=True)\ndefault_basic_endpoint_group = alicloud.ga.BasicEndpointGroup(\"default\",\n accelerator_id=default_basic_accelerator.id,\n endpoint_group_region=endpoint_group_region,\n endpoint_type=\"SLB\",\n endpoint_address=default_application_load_balancer.id,\n endpoint_sub_address=\"192.168.0.1\",\n basic_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var endpointGroupRegion = config.Get(\"endpointGroupRegion\") ?? \"cn-beijing\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = \"terraform-example\",\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultBasicAccelerator = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n BasicAcceleratorName = \"terraform-example\",\n Description = \"terraform-example\",\n BandwidthBillingType = \"CDT\",\n AutoUseCoupon = \"true\",\n AutoPay = true,\n });\n\n var defaultBasicEndpointGroup = new AliCloud.Ga.BasicEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultBasicAccelerator.Id,\n EndpointGroupRegion = endpointGroupRegion,\n EndpointType = \"SLB\",\n EndpointAddress = defaultApplicationLoadBalancer.Id,\n EndpointSubAddress = \"192.168.0.1\",\n BasicEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tendpointGroupRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"endpointGroupRegion\"); param != \"\" {\n\t\t\tendpointGroupRegion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBasicAccelerator, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tBasicAcceleratorName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicEndpointGroup(ctx, \"default\", \u0026ga.BasicEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultBasicAccelerator.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(endpointGroupRegion),\n\t\t\tEndpointType: pulumi.String(\"SLB\"),\n\t\t\tEndpointAddress: defaultApplicationLoadBalancer.ID(),\n\t\t\tEndpointSubAddress: pulumi.String(\"192.168.0.1\"),\n\t\t\tBasicEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicEndpointGroup;\nimport com.pulumi.alicloud.ga.BasicEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var endpointGroupRegion = config.get(\"endpointGroupRegion\").orElse(\"cn-beijing\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(\"terraform-example\")\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultBasicAccelerator = new BasicAccelerator(\"defaultBasicAccelerator\", BasicAcceleratorArgs.builder()\n .duration(1)\n .basicAcceleratorName(\"terraform-example\")\n .description(\"terraform-example\")\n .bandwidthBillingType(\"CDT\")\n .autoUseCoupon(\"true\")\n .autoPay(true)\n .build());\n\n var defaultBasicEndpointGroup = new BasicEndpointGroup(\"defaultBasicEndpointGroup\", BasicEndpointGroupArgs.builder()\n .acceleratorId(defaultBasicAccelerator.id())\n .endpointGroupRegion(endpointGroupRegion)\n .endpointType(\"SLB\")\n .endpointAddress(defaultApplicationLoadBalancer.id())\n .endpointSubAddress(\"192.168.0.1\")\n .basicEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n endpointGroupRegion:\n type: string\n default: cn-beijing\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: terraform-example\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultBasicAccelerator:\n type: alicloud:ga:BasicAccelerator\n name: default\n properties:\n duration: 1\n basicAcceleratorName: terraform-example\n description: terraform-example\n bandwidthBillingType: CDT\n autoUseCoupon: 'true'\n autoPay: true\n defaultBasicEndpointGroup:\n type: alicloud:ga:BasicEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultBasicAccelerator.id}\n endpointGroupRegion: ${endpointGroupRegion}\n endpointType: SLB\n endpointAddress: ${defaultApplicationLoadBalancer.id}\n endpointSubAddress: 192.168.0.1\n basicEndpointGroupName: terraform-example\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicEndpointGroup:BasicEndpointGroup example \u003cid\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -191610,7 +195441,7 @@ } }, "alicloud:ga/basicIpSet:BasicIpSet": { - "description": "Provides a Global Accelerator (GA) Basic Ip Set resource.\n\nFor information about Global Accelerator (GA) Basic Ip Set and how to use it, see [What is Basic Ip Set](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicipset).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n pricingCycle: \"Month\",\n bandwidthBillingType: \"CDT\",\n autoPay: true,\n autoUseCoupon: \"true\",\n autoRenew: false,\n autoRenewDuration: 1,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: _default.id,\n accelerateRegionId: region,\n ispType: \"BGP\",\n bandwidth: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n pricing_cycle=\"Month\",\n bandwidth_billing_type=\"CDT\",\n auto_pay=True,\n auto_use_coupon=\"true\",\n auto_renew=False,\n auto_renew_duration=1)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default.id,\n accelerate_region_id=region,\n isp_type=\"BGP\",\n bandwidth=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n PricingCycle = \"Month\",\n BandwidthBillingType = \"CDT\",\n AutoPay = true,\n AutoUseCoupon = \"true\",\n AutoRenew = false,\n AutoRenewDuration = 1,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = @default.Id,\n AccelerateRegionId = region,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAutoRenewDuration: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .pricingCycle(\"Month\")\n .bandwidthBillingType(\"CDT\")\n .autoPay(true)\n .autoUseCoupon(\"true\")\n .autoRenew(false)\n .autoRenewDuration(1)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(default_.id())\n .accelerateRegionId(region)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n pricingCycle: Month\n bandwidthBillingType: CDT\n autoPay: true\n autoUseCoupon: 'true'\n autoRenew: false\n autoRenewDuration: 1\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${default.id}\n accelerateRegionId: ${region}\n ispType: BGP\n bandwidth: '5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Basic Ip Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicIpSet:BasicIpSet example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Basic Ip Set resource.\n\nFor information about Global Accelerator (GA) Basic Ip Set and how to use it, see [What is Basic Ip Set](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createbasicipset).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.BasicAccelerator(\"default\", {\n duration: 1,\n pricingCycle: \"Month\",\n bandwidthBillingType: \"CDT\",\n autoPay: true,\n autoUseCoupon: \"true\",\n autoRenew: false,\n autoRenewDuration: 1,\n});\nconst defaultBasicIpSet = new alicloud.ga.BasicIpSet(\"default\", {\n acceleratorId: _default.id,\n accelerateRegionId: region,\n ispType: \"BGP\",\n bandwidth: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.BasicAccelerator(\"default\",\n duration=1,\n pricing_cycle=\"Month\",\n bandwidth_billing_type=\"CDT\",\n auto_pay=True,\n auto_use_coupon=\"true\",\n auto_renew=False,\n auto_renew_duration=1)\ndefault_basic_ip_set = alicloud.ga.BasicIpSet(\"default\",\n accelerator_id=default.id,\n accelerate_region_id=region,\n isp_type=\"BGP\",\n bandwidth=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.BasicAccelerator(\"default\", new()\n {\n Duration = 1,\n PricingCycle = \"Month\",\n BandwidthBillingType = \"CDT\",\n AutoPay = true,\n AutoUseCoupon = \"true\",\n AutoRenew = false,\n AutoRenewDuration = 1,\n });\n\n var defaultBasicIpSet = new AliCloud.Ga.BasicIpSet(\"default\", new()\n {\n AcceleratorId = @default.Id,\n AccelerateRegionId = region,\n IspType = \"BGP\",\n Bandwidth = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewBasicAccelerator(ctx, \"default\", \u0026ga.BasicAcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tBandwidthBillingType: pulumi.String(\"CDT\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tAutoUseCoupon: pulumi.String(\"true\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tAutoRenewDuration: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewBasicIpSet(ctx, \"default\", \u0026ga.BasicIpSetArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tIspType: pulumi.String(\"BGP\"),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.BasicAccelerator;\nimport com.pulumi.alicloud.ga.BasicAcceleratorArgs;\nimport com.pulumi.alicloud.ga.BasicIpSet;\nimport com.pulumi.alicloud.ga.BasicIpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new BasicAccelerator(\"default\", BasicAcceleratorArgs.builder()\n .duration(1)\n .pricingCycle(\"Month\")\n .bandwidthBillingType(\"CDT\")\n .autoPay(true)\n .autoUseCoupon(\"true\")\n .autoRenew(false)\n .autoRenewDuration(1)\n .build());\n\n var defaultBasicIpSet = new BasicIpSet(\"defaultBasicIpSet\", BasicIpSetArgs.builder()\n .acceleratorId(default_.id())\n .accelerateRegionId(region)\n .ispType(\"BGP\")\n .bandwidth(5)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:BasicAccelerator\n properties:\n duration: 1\n pricingCycle: Month\n bandwidthBillingType: CDT\n autoPay: true\n autoUseCoupon: 'true'\n autoRenew: false\n autoRenewDuration: 1\n defaultBasicIpSet:\n type: alicloud:ga:BasicIpSet\n name: default\n properties:\n acceleratorId: ${default.id}\n accelerateRegionId: ${region}\n ispType: BGP\n bandwidth: '5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Basic Ip Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/basicIpSet:BasicIpSet example \u003cid\u003e\n```\n\n", "properties": { "accelerateRegionId": { "type": "string", @@ -191696,7 +195527,7 @@ } }, "alicloud:ga/customRoutingEndpoint:CustomRoutingEndpoint": { - "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint and how to use it, see [What is Custom Routing Endpoint](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpoints).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultAccelerator = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultAccelerator.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultCustomRoutingEndpoint = new alicloud.ga.CustomRoutingEndpoint(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n endpoint: defaultSwitch.id,\n type: \"PrivateSubNet\",\n trafficToEndpointPolicy: \"DenyAll\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_accelerator = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_accelerator.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_custom_routing_endpoint = alicloud.ga.CustomRoutingEndpoint(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n endpoint=default_switch.id,\n type=\"PrivateSubNet\",\n traffic_to_endpoint_policy=\"DenyAll\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultAccelerator = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultCustomRoutingEndpoint = new AliCloud.Ga.CustomRoutingEndpoint(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Endpoint = defaultSwitch.Id,\n Type = \"PrivateSubNet\",\n TrafficToEndpointPolicy = \"DenyAll\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccelerator, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpoint(ctx, \"default\", \u0026ga.CustomRoutingEndpointArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tEndpoint: defaultSwitch.ID(),\n\t\t\tType: pulumi.String(\"PrivateSubNet\"),\n\t\t\tTrafficToEndpointPolicy: pulumi.String(\"DenyAll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpoint;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultAccelerator = new Accelerator(\"defaultAccelerator\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultCustomRoutingEndpoint = new CustomRoutingEndpoint(\"defaultCustomRoutingEndpoint\", CustomRoutingEndpointArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .endpoint(defaultSwitch.id())\n .type(\"PrivateSubNet\")\n .trafficToEndpointPolicy(\"DenyAll\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultAccelerator:\n type: alicloud:ga:Accelerator\n name: default\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n defaultCustomRoutingEndpoint:\n type: alicloud:ga:CustomRoutingEndpoint\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n endpoint: ${defaultSwitch.id}\n type: PrivateSubNet\n trafficToEndpointPolicy: DenyAll\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpoint:CustomRoutingEndpoint example \u003cendpoint_group_id\u003e:\u003ccustom_routing_endpoint_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint and how to use it, see [What is Custom Routing Endpoint](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpoints).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultAccelerator = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultAccelerator.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultCustomRoutingEndpoint = new alicloud.ga.CustomRoutingEndpoint(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n endpoint: defaultSwitch.id,\n type: \"PrivateSubNet\",\n trafficToEndpointPolicy: \"DenyAll\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_accelerator = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_accelerator.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_custom_routing_endpoint = alicloud.ga.CustomRoutingEndpoint(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n endpoint=default_switch.id,\n type=\"PrivateSubNet\",\n traffic_to_endpoint_policy=\"DenyAll\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultAccelerator = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultAccelerator.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultCustomRoutingEndpoint = new AliCloud.Ga.CustomRoutingEndpoint(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Endpoint = defaultSwitch.Id,\n Type = \"PrivateSubNet\",\n TrafficToEndpointPolicy = \"DenyAll\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccelerator, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: defaultAccelerator.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpoint(ctx, \"default\", \u0026ga.CustomRoutingEndpointArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tEndpoint: defaultSwitch.ID(),\n\t\t\tType: pulumi.String(\"PrivateSubNet\"),\n\t\t\tTrafficToEndpointPolicy: pulumi.String(\"DenyAll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpoint;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultAccelerator = new Accelerator(\"defaultAccelerator\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultAccelerator.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultCustomRoutingEndpoint = new CustomRoutingEndpoint(\"defaultCustomRoutingEndpoint\", CustomRoutingEndpointArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .endpoint(defaultSwitch.id())\n .type(\"PrivateSubNet\")\n .trafficToEndpointPolicy(\"DenyAll\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultAccelerator:\n type: alicloud:ga:Accelerator\n name: default\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultAccelerator.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n defaultCustomRoutingEndpoint:\n type: alicloud:ga:CustomRoutingEndpoint\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n endpoint: ${defaultSwitch.id}\n type: PrivateSubNet\n trafficToEndpointPolicy: DenyAll\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpoint:CustomRoutingEndpoint example \u003cendpoint_group_id\u003e:\u003ccustom_routing_endpoint_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -191810,7 +195641,7 @@ } }, "alicloud:ga/customRoutingEndpointGroup:CustomRoutingEndpointGroup": { - "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Group resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Group and how to use it, see [What is Custom Routing Endpoint Group](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointgroups).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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 = ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointGroup:CustomRoutingEndpointGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Group resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Group and how to use it, see [What is Custom Routing Endpoint Group](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointgroups).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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 = ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointGroup:CustomRoutingEndpointGroup example \u003cid\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -191908,7 +195739,7 @@ } }, "alicloud:ga/customRoutingEndpointGroupDestination:CustomRoutingEndpointGroupDestination": { - "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Group Destination resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Group Destination and how to use it, see [What is Custom Routing Endpoint Group Destination](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointgroupdestinations).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultCustomRoutingEndpointGroupDestination = new alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n protocols: [\"TCP\"],\n fromPort: 1,\n toPort: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_custom_routing_endpoint_group_destination = alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n protocols=[\"TCP\"],\n from_port=1,\n to_port=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultCustomRoutingEndpointGroupDestination = new AliCloud.Ga.CustomRoutingEndpointGroupDestination(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Protocols = new[]\n {\n \"TCP\",\n },\n FromPort = 1,\n ToPort = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpointGroupDestination(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupDestinationArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(1),\n\t\t\tToPort: 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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestination;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultCustomRoutingEndpointGroupDestination = new CustomRoutingEndpointGroupDestination(\"defaultCustomRoutingEndpointGroupDestination\", CustomRoutingEndpointGroupDestinationArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .protocols(\"TCP\")\n .fromPort(1)\n .toPort(2)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n defaultCustomRoutingEndpointGroupDestination:\n type: alicloud:ga:CustomRoutingEndpointGroupDestination\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n protocols:\n - TCP\n fromPort: 1\n toPort: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointGroupDestination:CustomRoutingEndpointGroupDestination example \u003cendpoint_group_id\u003e:\u003ccustom_routing_endpoint_group_destination_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Group Destination resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Group Destination and how to use it, see [What is Custom Routing Endpoint Group Destination](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointgroupdestinations).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 16000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: region,\n customRoutingEndpointGroupName: \"terraform-example\",\n description: \"terraform-example\",\n});\nconst defaultCustomRoutingEndpointGroupDestination = new alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n protocols: [\"TCP\"],\n fromPort: 1,\n toPort: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 16000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=region,\n custom_routing_endpoint_group_name=\"terraform-example\",\n description=\"terraform-example\")\ndefault_custom_routing_endpoint_group_destination = alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n protocols=[\"TCP\"],\n from_port=1,\n to_port=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 16000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = region,\n CustomRoutingEndpointGroupName = \"terraform-example\",\n Description = \"terraform-example\",\n });\n\n var defaultCustomRoutingEndpointGroupDestination = new AliCloud.Ga.CustomRoutingEndpointGroupDestination(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Protocols = new[]\n {\n \"TCP\",\n },\n FromPort = 1,\n ToPort = 2,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(16000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpointGroupDestination(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupDestinationArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(1),\n\t\t\tToPort: 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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestination;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(16000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(region)\n .customRoutingEndpointGroupName(\"terraform-example\")\n .description(\"terraform-example\")\n .build());\n\n var defaultCustomRoutingEndpointGroupDestination = new CustomRoutingEndpointGroupDestination(\"defaultCustomRoutingEndpointGroupDestination\", CustomRoutingEndpointGroupDestinationArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .protocols(\"TCP\")\n .fromPort(1)\n .toPort(2)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 16000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${region}\n customRoutingEndpointGroupName: terraform-example\n description: terraform-example\n defaultCustomRoutingEndpointGroupDestination:\n type: alicloud:ga:CustomRoutingEndpointGroupDestination\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n protocols:\n - TCP\n fromPort: 1\n toPort: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointGroupDestination:CustomRoutingEndpointGroupDestination example \u003cendpoint_group_id\u003e:\u003ccustom_routing_endpoint_group_destination_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -192028,7 +195859,7 @@ } }, "alicloud:ga/customRoutingEndpointTrafficPolicy:CustomRoutingEndpointTrafficPolicy": { - "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Traffic Policy resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Traffic Policy and how to use it, see [What is Custom Routing Endpoint Traffic Policy](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointtrafficpolicies).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetAccelerators = alicloud.ga.getAccelerators({\n status: \"active\",\n bandwidthBillingType: \"BandwidthPackage\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultGetAccelerators.then(defaultGetAccelerators =\u003e defaultGetAccelerators.accelerators?.[1]?.id),\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 26000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n customRoutingEndpointGroupName: name,\n description: name,\n});\nconst defaultCustomRoutingEndpointGroupDestination = new alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n protocols: [\"TCP\"],\n fromPort: 1,\n toPort: 10,\n});\nconst defaultCustomRoutingEndpoint = new alicloud.ga.CustomRoutingEndpoint(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroupDestination.endpointGroupId,\n endpoint: defaultSwitch.id,\n type: \"PrivateSubNet\",\n trafficToEndpointPolicy: \"AllowAll\",\n});\nconst defaultCustomRoutingEndpointTrafficPolicy = new alicloud.ga.CustomRoutingEndpointTrafficPolicy(\"default\", {\n endpointId: defaultCustomRoutingEndpoint.customRoutingEndpointId,\n address: \"192.168.192.2\",\n portRanges: [{\n fromPort: 1,\n toPort: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones()\ndefault_get_accelerators = alicloud.ga.get_accelerators(status=\"active\",\n bandwidth_billing_type=\"BandwidthPackage\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.ids[0])\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_get_accelerators.accelerators[1].id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 26000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=default_get_regions.regions[0].id,\n custom_routing_endpoint_group_name=name,\n description=name)\ndefault_custom_routing_endpoint_group_destination = alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n protocols=[\"TCP\"],\n from_port=1,\n to_port=10)\ndefault_custom_routing_endpoint = alicloud.ga.CustomRoutingEndpoint(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group_destination.endpoint_group_id,\n endpoint=default_switch.id,\n type=\"PrivateSubNet\",\n traffic_to_endpoint_policy=\"AllowAll\")\ndefault_custom_routing_endpoint_traffic_policy = alicloud.ga.CustomRoutingEndpointTrafficPolicy(\"default\",\n endpoint_id=default_custom_routing_endpoint.custom_routing_endpoint_id,\n address=\"192.168.192.2\",\n port_ranges=[{\n \"from_port\": 1,\n \"to_port\": 2,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetAccelerators = AliCloud.Ga.GetAccelerators.Invoke(new()\n {\n Status = \"active\",\n BandwidthBillingType = \"BandwidthPackage\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultGetAccelerators.Apply(getAcceleratorsResult =\u003e getAcceleratorsResult.Accelerators[1]?.Id),\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 26000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n CustomRoutingEndpointGroupName = name,\n Description = name,\n });\n\n var defaultCustomRoutingEndpointGroupDestination = new AliCloud.Ga.CustomRoutingEndpointGroupDestination(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Protocols = new[]\n {\n \"TCP\",\n },\n FromPort = 1,\n ToPort = 10,\n });\n\n var defaultCustomRoutingEndpoint = new AliCloud.Ga.CustomRoutingEndpoint(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroupDestination.EndpointGroupId,\n Endpoint = defaultSwitch.Id,\n Type = \"PrivateSubNet\",\n TrafficToEndpointPolicy = \"AllowAll\",\n });\n\n var defaultCustomRoutingEndpointTrafficPolicy = new AliCloud.Ga.CustomRoutingEndpointTrafficPolicy(\"default\", new()\n {\n EndpointId = defaultCustomRoutingEndpoint.CustomRoutingEndpointId,\n Address = \"192.168.192.2\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.CustomRoutingEndpointTrafficPolicyPortRangeArgs\n {\n FromPort = 1,\n ToPort = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccelerators, err := ga.GetAccelerators(ctx, \u0026ga.GetAcceleratorsArgs{\n\t\t\tStatus: pulumi.StringRef(\"active\"),\n\t\t\tBandwidthBillingType: pulumi.StringRef(\"BandwidthPackage\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: pulumi.String(defaultGetAccelerators.Accelerators[1].Id),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(26000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomRoutingEndpointGroupDestination, err := ga.NewCustomRoutingEndpointGroupDestination(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupDestinationArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(1),\n\t\t\tToPort: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomRoutingEndpoint, err := ga.NewCustomRoutingEndpoint(ctx, \"default\", \u0026ga.CustomRoutingEndpointArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroupDestination.EndpointGroupId,\n\t\t\tEndpoint: defaultSwitch.ID(),\n\t\t\tType: pulumi.String(\"PrivateSubNet\"),\n\t\t\tTrafficToEndpointPolicy: pulumi.String(\"AllowAll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpointTrafficPolicy(ctx, \"default\", \u0026ga.CustomRoutingEndpointTrafficPolicyArgs{\n\t\t\tEndpointId: defaultCustomRoutingEndpoint.CustomRoutingEndpointId,\n\t\t\tAddress: pulumi.String(\"192.168.192.2\"),\n\t\t\tPortRanges: ga.CustomRoutingEndpointTrafficPolicyPortRangeArray{\n\t\t\t\t\u0026ga.CustomRoutingEndpointTrafficPolicyPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(1),\n\t\t\t\t\tToPort: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ga.GaFunctions;\nimport com.pulumi.alicloud.ga.inputs.GetAcceleratorsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestination;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestinationArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpoint;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointTrafficPolicy;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointTrafficPolicyArgs;\nimport com.pulumi.alicloud.ga.inputs.CustomRoutingEndpointTrafficPolicyPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetAccelerators = GaFunctions.getAccelerators(GetAcceleratorsArgs.builder()\n .status(\"active\")\n .bandwidthBillingType(\"BandwidthPackage\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultGetAccelerators.accelerators()[1].id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(26000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(defaultGetRegions.regions()[0].id())\n .customRoutingEndpointGroupName(name)\n .description(name)\n .build());\n\n var defaultCustomRoutingEndpointGroupDestination = new CustomRoutingEndpointGroupDestination(\"defaultCustomRoutingEndpointGroupDestination\", CustomRoutingEndpointGroupDestinationArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .protocols(\"TCP\")\n .fromPort(1)\n .toPort(10)\n .build());\n\n var defaultCustomRoutingEndpoint = new CustomRoutingEndpoint(\"defaultCustomRoutingEndpoint\", CustomRoutingEndpointArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroupDestination.endpointGroupId())\n .endpoint(defaultSwitch.id())\n .type(\"PrivateSubNet\")\n .trafficToEndpointPolicy(\"AllowAll\")\n .build());\n\n var defaultCustomRoutingEndpointTrafficPolicy = new CustomRoutingEndpointTrafficPolicy(\"defaultCustomRoutingEndpointTrafficPolicy\", CustomRoutingEndpointTrafficPolicyArgs.builder()\n .endpointId(defaultCustomRoutingEndpoint.customRoutingEndpointId())\n .address(\"192.168.192.2\")\n .portRanges(CustomRoutingEndpointTrafficPolicyPortRangeArgs.builder()\n .fromPort(1)\n .toPort(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.ids[0]}\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultGetAccelerators.accelerators[1].id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 26000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${defaultGetRegions.regions[0].id}\n customRoutingEndpointGroupName: ${name}\n description: ${name}\n defaultCustomRoutingEndpointGroupDestination:\n type: alicloud:ga:CustomRoutingEndpointGroupDestination\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n protocols:\n - TCP\n fromPort: 1\n toPort: 10\n defaultCustomRoutingEndpoint:\n type: alicloud:ga:CustomRoutingEndpoint\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroupDestination.endpointGroupId}\n endpoint: ${defaultSwitch.id}\n type: PrivateSubNet\n trafficToEndpointPolicy: AllowAll\n defaultCustomRoutingEndpointTrafficPolicy:\n type: alicloud:ga:CustomRoutingEndpointTrafficPolicy\n name: default\n properties:\n endpointId: ${defaultCustomRoutingEndpoint.customRoutingEndpointId}\n address: 192.168.192.2\n portRanges:\n - fromPort: 1\n toPort: 2\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n defaultGetAccelerators:\n fn::invoke:\n function: alicloud:ga:getAccelerators\n arguments:\n status: active\n bandwidthBillingType: BandwidthPackage\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointTrafficPolicy:CustomRoutingEndpointTrafficPolicy example \u003cendpoint_id\u003e:\u003ccustom_routing_endpoint_traffic_policy_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Custom Routing Endpoint Traffic Policy resource.\n\nFor information about Global Accelerator (GA) Custom Routing Endpoint Traffic Policy and how to use it, see [What is Custom Routing Endpoint Traffic Policy](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createcustomroutingendpointtrafficpolicies).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetAccelerators = alicloud.ga.getAccelerators({\n status: \"active\",\n bandwidthBillingType: \"BandwidthPackage\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: defaultGetAccelerators.then(defaultGetAccelerators =\u003e defaultGetAccelerators.accelerators?.[1]?.id),\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n listenerType: \"CustomRouting\",\n portRanges: [{\n fromPort: 10000,\n toPort: 26000,\n }],\n});\nconst defaultCustomRoutingEndpointGroup = new alicloud.ga.CustomRoutingEndpointGroup(\"default\", {\n acceleratorId: defaultListener.acceleratorId,\n listenerId: defaultListener.id,\n endpointGroupRegion: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n customRoutingEndpointGroupName: name,\n description: name,\n});\nconst defaultCustomRoutingEndpointGroupDestination = new alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroup.id,\n protocols: [\"TCP\"],\n fromPort: 1,\n toPort: 10,\n});\nconst defaultCustomRoutingEndpoint = new alicloud.ga.CustomRoutingEndpoint(\"default\", {\n endpointGroupId: defaultCustomRoutingEndpointGroupDestination.endpointGroupId,\n endpoint: defaultSwitch.id,\n type: \"PrivateSubNet\",\n trafficToEndpointPolicy: \"AllowAll\",\n});\nconst defaultCustomRoutingEndpointTrafficPolicy = new alicloud.ga.CustomRoutingEndpointTrafficPolicy(\"default\", {\n endpointId: defaultCustomRoutingEndpoint.customRoutingEndpointId,\n address: \"192.168.192.2\",\n portRanges: [{\n fromPort: 1,\n toPort: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones()\ndefault_get_accelerators = alicloud.ga.get_accelerators(status=\"active\",\n bandwidth_billing_type=\"BandwidthPackage\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.ids[0])\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default_get_accelerators.accelerators[1].id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n listener_type=\"CustomRouting\",\n port_ranges=[{\n \"from_port\": 10000,\n \"to_port\": 26000,\n }])\ndefault_custom_routing_endpoint_group = alicloud.ga.CustomRoutingEndpointGroup(\"default\",\n accelerator_id=default_listener.accelerator_id,\n listener_id=default_listener.id,\n endpoint_group_region=default_get_regions.regions[0].id,\n custom_routing_endpoint_group_name=name,\n description=name)\ndefault_custom_routing_endpoint_group_destination = alicloud.ga.CustomRoutingEndpointGroupDestination(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group.id,\n protocols=[\"TCP\"],\n from_port=1,\n to_port=10)\ndefault_custom_routing_endpoint = alicloud.ga.CustomRoutingEndpoint(\"default\",\n endpoint_group_id=default_custom_routing_endpoint_group_destination.endpoint_group_id,\n endpoint=default_switch.id,\n type=\"PrivateSubNet\",\n traffic_to_endpoint_policy=\"AllowAll\")\ndefault_custom_routing_endpoint_traffic_policy = alicloud.ga.CustomRoutingEndpointTrafficPolicy(\"default\",\n endpoint_id=default_custom_routing_endpoint.custom_routing_endpoint_id,\n address=\"192.168.192.2\",\n port_ranges=[{\n \"from_port\": 1,\n \"to_port\": 2,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetAccelerators = AliCloud.Ga.GetAccelerators.Invoke(new()\n {\n Status = \"active\",\n BandwidthBillingType = \"BandwidthPackage\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = defaultGetAccelerators.Apply(getAcceleratorsResult =\u003e getAcceleratorsResult.Accelerators[1]?.Id),\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n ListenerType = \"CustomRouting\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 10000,\n ToPort = 26000,\n },\n },\n });\n\n var defaultCustomRoutingEndpointGroup = new AliCloud.Ga.CustomRoutingEndpointGroup(\"default\", new()\n {\n AcceleratorId = defaultListener.AcceleratorId,\n ListenerId = defaultListener.Id,\n EndpointGroupRegion = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n CustomRoutingEndpointGroupName = name,\n Description = name,\n });\n\n var defaultCustomRoutingEndpointGroupDestination = new AliCloud.Ga.CustomRoutingEndpointGroupDestination(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroup.Id,\n Protocols = new[]\n {\n \"TCP\",\n },\n FromPort = 1,\n ToPort = 10,\n });\n\n var defaultCustomRoutingEndpoint = new AliCloud.Ga.CustomRoutingEndpoint(\"default\", new()\n {\n EndpointGroupId = defaultCustomRoutingEndpointGroupDestination.EndpointGroupId,\n Endpoint = defaultSwitch.Id,\n Type = \"PrivateSubNet\",\n TrafficToEndpointPolicy = \"AllowAll\",\n });\n\n var defaultCustomRoutingEndpointTrafficPolicy = new AliCloud.Ga.CustomRoutingEndpointTrafficPolicy(\"default\", new()\n {\n EndpointId = defaultCustomRoutingEndpoint.CustomRoutingEndpointId,\n Address = \"192.168.192.2\",\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.CustomRoutingEndpointTrafficPolicyPortRangeArgs\n {\n FromPort = 1,\n ToPort = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetAccelerators, err := ga.GetAccelerators(ctx, \u0026ga.GetAcceleratorsArgs{\n\t\t\tStatus: pulumi.StringRef(\"active\"),\n\t\t\tBandwidthBillingType: pulumi.StringRef(\"BandwidthPackage\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.192.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: pulumi.String(defaultGetAccelerators.Accelerators[1].Id),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tListenerType: pulumi.String(\"CustomRouting\"),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(10000),\n\t\t\t\t\tToPort: pulumi.Int(26000),\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\tdefaultCustomRoutingEndpointGroup, err := ga.NewCustomRoutingEndpointGroup(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupArgs{\n\t\t\tAcceleratorId: defaultListener.AcceleratorId,\n\t\t\tListenerId: defaultListener.ID(),\n\t\t\tEndpointGroupRegion: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tCustomRoutingEndpointGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomRoutingEndpointGroupDestination, err := ga.NewCustomRoutingEndpointGroupDestination(ctx, \"default\", \u0026ga.CustomRoutingEndpointGroupDestinationArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroup.ID(),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TCP\"),\n\t\t\t},\n\t\t\tFromPort: pulumi.Int(1),\n\t\t\tToPort: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomRoutingEndpoint, err := ga.NewCustomRoutingEndpoint(ctx, \"default\", \u0026ga.CustomRoutingEndpointArgs{\n\t\t\tEndpointGroupId: defaultCustomRoutingEndpointGroupDestination.EndpointGroupId,\n\t\t\tEndpoint: defaultSwitch.ID(),\n\t\t\tType: pulumi.String(\"PrivateSubNet\"),\n\t\t\tTrafficToEndpointPolicy: pulumi.String(\"AllowAll\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewCustomRoutingEndpointTrafficPolicy(ctx, \"default\", \u0026ga.CustomRoutingEndpointTrafficPolicyArgs{\n\t\t\tEndpointId: defaultCustomRoutingEndpoint.CustomRoutingEndpointId,\n\t\t\tAddress: pulumi.String(\"192.168.192.2\"),\n\t\t\tPortRanges: ga.CustomRoutingEndpointTrafficPolicyPortRangeArray{\n\t\t\t\t\u0026ga.CustomRoutingEndpointTrafficPolicyPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(1),\n\t\t\t\t\tToPort: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ga.GaFunctions;\nimport com.pulumi.alicloud.ga.inputs.GetAcceleratorsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroup;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestination;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointGroupDestinationArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpoint;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointArgs;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointTrafficPolicy;\nimport com.pulumi.alicloud.ga.CustomRoutingEndpointTrafficPolicyArgs;\nimport com.pulumi.alicloud.ga.inputs.CustomRoutingEndpointTrafficPolicyPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetAccelerators = GaFunctions.getAccelerators(GetAcceleratorsArgs.builder()\n .status(\"active\")\n .bandwidthBillingType(\"BandwidthPackage\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(defaultGetAccelerators.accelerators()[1].id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .listenerType(\"CustomRouting\")\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(10000)\n .toPort(26000)\n .build())\n .build());\n\n var defaultCustomRoutingEndpointGroup = new CustomRoutingEndpointGroup(\"defaultCustomRoutingEndpointGroup\", CustomRoutingEndpointGroupArgs.builder()\n .acceleratorId(defaultListener.acceleratorId())\n .listenerId(defaultListener.id())\n .endpointGroupRegion(defaultGetRegions.regions()[0].id())\n .customRoutingEndpointGroupName(name)\n .description(name)\n .build());\n\n var defaultCustomRoutingEndpointGroupDestination = new CustomRoutingEndpointGroupDestination(\"defaultCustomRoutingEndpointGroupDestination\", CustomRoutingEndpointGroupDestinationArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroup.id())\n .protocols(\"TCP\")\n .fromPort(1)\n .toPort(10)\n .build());\n\n var defaultCustomRoutingEndpoint = new CustomRoutingEndpoint(\"defaultCustomRoutingEndpoint\", CustomRoutingEndpointArgs.builder()\n .endpointGroupId(defaultCustomRoutingEndpointGroupDestination.endpointGroupId())\n .endpoint(defaultSwitch.id())\n .type(\"PrivateSubNet\")\n .trafficToEndpointPolicy(\"AllowAll\")\n .build());\n\n var defaultCustomRoutingEndpointTrafficPolicy = new CustomRoutingEndpointTrafficPolicy(\"defaultCustomRoutingEndpointTrafficPolicy\", CustomRoutingEndpointTrafficPolicyArgs.builder()\n .endpointId(defaultCustomRoutingEndpoint.customRoutingEndpointId())\n .address(\"192.168.192.2\")\n .portRanges(CustomRoutingEndpointTrafficPolicyPortRangeArgs.builder()\n .fromPort(1)\n .toPort(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 192.168.192.0/24\n zoneId: ${default.ids[0]}\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${defaultGetAccelerators.accelerators[1].id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n listenerType: CustomRouting\n portRanges:\n - fromPort: 10000\n toPort: 26000\n defaultCustomRoutingEndpointGroup:\n type: alicloud:ga:CustomRoutingEndpointGroup\n name: default\n properties:\n acceleratorId: ${defaultListener.acceleratorId}\n listenerId: ${defaultListener.id}\n endpointGroupRegion: ${defaultGetRegions.regions[0].id}\n customRoutingEndpointGroupName: ${name}\n description: ${name}\n defaultCustomRoutingEndpointGroupDestination:\n type: alicloud:ga:CustomRoutingEndpointGroupDestination\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroup.id}\n protocols:\n - TCP\n fromPort: 1\n toPort: 10\n defaultCustomRoutingEndpoint:\n type: alicloud:ga:CustomRoutingEndpoint\n name: default\n properties:\n endpointGroupId: ${defaultCustomRoutingEndpointGroupDestination.endpointGroupId}\n endpoint: ${defaultSwitch.id}\n type: PrivateSubNet\n trafficToEndpointPolicy: AllowAll\n defaultCustomRoutingEndpointTrafficPolicy:\n type: alicloud:ga:CustomRoutingEndpointTrafficPolicy\n name: default\n properties:\n endpointId: ${defaultCustomRoutingEndpoint.customRoutingEndpointId}\n address: 192.168.192.2\n portRanges:\n - fromPort: 1\n toPort: 2\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments: {}\n defaultGetAccelerators:\n fn::invoke:\n function: alicloud:ga:getAccelerators\n arguments:\n status: active\n bandwidthBillingType: BandwidthPackage\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGlobal Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/customRoutingEndpointTrafficPolicy:CustomRoutingEndpointTrafficPolicy example \u003cendpoint_id\u003e:\u003ccustom_routing_endpoint_traffic_policy_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -192141,7 +195972,7 @@ } }, "alicloud:ga/domain:Domain": { - "description": "Provides a Ga Domain resource.\n\nFor information about Ga Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createdomain).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultDomain = new alicloud.ga.Domain(\"default\", {\n domain: \"changes.com.cn\",\n acceleratorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_domain = alicloud.ga.Domain(\"default\",\n domain=\"changes.com.cn\",\n accelerator_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultDomain = new AliCloud.Ga.Domain(\"default\", new()\n {\n AcceleratedDomain = \"changes.com.cn\",\n AcceleratorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewDomain(ctx, \"default\", \u0026ga.DomainArgs{\n\t\t\tDomain: pulumi.String(\"changes.com.cn\"),\n\t\t\tAcceleratorId: _default.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.Domain;\nimport com.pulumi.alicloud.ga.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domain(\"changes.com.cn\")\n .acceleratorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultDomain:\n type: alicloud:ga:Domain\n name: default\n properties:\n domain: changes.com.cn\n acceleratorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/domain:Domain example \u003caccelerator_id\u003e:\u003cdomain\u003e\n```\n\n", + "description": "Provides a Ga Domain resource.\n\nFor information about Ga Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createdomain).\n\n\u003e **NOTE:** Available since v1.197.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultDomain = new alicloud.ga.Domain(\"default\", {\n domain: \"changes.com.cn\",\n acceleratorId: _default.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_domain = alicloud.ga.Domain(\"default\",\n domain=\"changes.com.cn\",\n accelerator_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultDomain = new AliCloud.Ga.Domain(\"default\", new()\n {\n AcceleratedDomain = \"changes.com.cn\",\n AcceleratorId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewDomain(ctx, \"default\", \u0026ga.DomainArgs{\n\t\t\tDomain: pulumi.String(\"changes.com.cn\"),\n\t\t\tAcceleratorId: _default.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.Domain;\nimport com.pulumi.alicloud.ga.DomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domain(\"changes.com.cn\")\n .acceleratorId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultDomain:\n type: alicloud:ga:Domain\n name: default\n properties:\n domain: changes.com.cn\n acceleratorId: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/domain:Domain example \u003caccelerator_id\u003e:\u003cdomain\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -192214,7 +196045,7 @@ } }, "alicloud:ga/endpointGroup:EndpointGroup": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 60,\n toPort: 70,\n }],\n clientAffinity: \"SOURCE_IP\",\n protocol: \"UDP\",\n name: \"terraform-example\",\n});\nconst defaultEipAddress: alicloud.ecs.EipAddress[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEipAddress.push(new alicloud.ecs.EipAddress(`default-${range.value}`, {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n addressName: \"terraform-example\",\n }));\n}\nconst defaultEndpointGroup = new alicloud.ga.EndpointGroup(\"default\", {\n acceleratorId: _default.id,\n endpointConfigurations: [\n {\n endpoint: defaultEipAddress[0].ipAddress,\n type: \"PublicIp\",\n weight: 20,\n },\n {\n endpoint: defaultEipAddress[1].ipAddress,\n type: \"PublicIp\",\n weight: 20,\n },\n ],\n endpointGroupRegion: region,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 60,\n \"to_port\": 70,\n }],\n client_affinity=\"SOURCE_IP\",\n protocol=\"UDP\",\n name=\"terraform-example\")\ndefault_eip_address = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_eip_address.append(alicloud.ecs.EipAddress(f\"default-{range['value']}\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\",\n address_name=\"terraform-example\"))\ndefault_endpoint_group = alicloud.ga.EndpointGroup(\"default\",\n accelerator_id=default.id,\n endpoint_configurations=[\n {\n \"endpoint\": default_eip_address[0].ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n },\n {\n \"endpoint\": default_eip_address[1].ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n },\n ],\n endpoint_group_region=region,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 60,\n ToPort = 70,\n },\n },\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"UDP\",\n Name = \"terraform-example\",\n });\n\n var defaultEipAddress = new List\u003cAliCloud.Ecs.EipAddress\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEipAddress.Add(new AliCloud.Ecs.EipAddress($\"default-{range.Value}\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n AddressName = \"terraform-example\",\n }));\n }\n var defaultEndpointGroup = new AliCloud.Ga.EndpointGroup(\"default\", new()\n {\n AcceleratorId = @default.Id,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress[0].IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress[1].IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n },\n EndpointGroupRegion = region,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(60),\n\t\t\t\t\tToPort: pulumi.Int(70),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultEipAddress []*ecs.EipAddress\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewEipAddress(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EipAddressArgs{\n\t\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\t\tAddressName: pulumi.String(\"terraform-example\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEipAddress = append(defaultEipAddress, __res)\n\t\t}\n\t\t_, err = ga.NewEndpointGroup(ctx, \"default\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress[0].IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress[1].IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tListenerId: defaultListener.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(60)\n .toPort(70)\n .build())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"UDP\")\n .name(\"terraform-example\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new EipAddress(\"defaultEipAddress-\" + i, EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .addressName(\"terraform-example\")\n .build());\n\n \n}\n var defaultEndpointGroup = new EndpointGroup(\"defaultEndpointGroup\", EndpointGroupArgs.builder()\n .acceleratorId(default_.id())\n .endpointConfigurations( \n EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress[0].ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build(),\n EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress[1].ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build())\n .endpointGroupRegion(region)\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 60\n toPort: 70\n clientAffinity: SOURCE_IP\n protocol: UDP\n name: terraform-example\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n addressName: terraform-example\n options: {}\n defaultEndpointGroup:\n type: alicloud:ga:EndpointGroup\n name: default\n properties:\n acceleratorId: ${default.id}\n endpointConfigurations:\n - endpoint: ${defaultEipAddress[0].ipAddress}\n type: PublicIp\n weight: '20'\n - endpoint: ${defaultEipAddress[1].ipAddress}\n type: PublicIp\n weight: '20'\n endpointGroupRegion: ${region}\n listenerId: ${defaultListener.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/endpointGroup:EndpointGroup example \u003cid\u003e\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 60,\n toPort: 70,\n }],\n clientAffinity: \"SOURCE_IP\",\n protocol: \"UDP\",\n name: \"terraform-example\",\n});\nconst defaultEipAddress: alicloud.ecs.EipAddress[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEipAddress.push(new alicloud.ecs.EipAddress(`default-${range.value}`, {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n addressName: \"terraform-example\",\n }));\n}\nconst defaultEndpointGroup = new alicloud.ga.EndpointGroup(\"default\", {\n acceleratorId: _default.id,\n endpointConfigurations: [\n {\n endpoint: defaultEipAddress[0].ipAddress,\n type: \"PublicIp\",\n weight: 20,\n },\n {\n endpoint: defaultEipAddress[1].ipAddress,\n type: \"PublicIp\",\n weight: 20,\n },\n ],\n endpointGroupRegion: region,\n listenerId: defaultListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 60,\n \"to_port\": 70,\n }],\n client_affinity=\"SOURCE_IP\",\n protocol=\"UDP\",\n name=\"terraform-example\")\ndefault_eip_address = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_eip_address.append(alicloud.ecs.EipAddress(f\"default-{range['value']}\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\",\n address_name=\"terraform-example\"))\ndefault_endpoint_group = alicloud.ga.EndpointGroup(\"default\",\n accelerator_id=default.id,\n endpoint_configurations=[\n {\n \"endpoint\": default_eip_address[0].ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n },\n {\n \"endpoint\": default_eip_address[1].ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n },\n ],\n endpoint_group_region=region,\n listener_id=default_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 60,\n ToPort = 70,\n },\n },\n ClientAffinity = \"SOURCE_IP\",\n Protocol = \"UDP\",\n Name = \"terraform-example\",\n });\n\n var defaultEipAddress = new List\u003cAliCloud.Ecs.EipAddress\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEipAddress.Add(new AliCloud.Ecs.EipAddress($\"default-{range.Value}\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n AddressName = \"terraform-example\",\n }));\n }\n var defaultEndpointGroup = new AliCloud.Ga.EndpointGroup(\"default\", new()\n {\n AcceleratorId = @default.Id,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress[0].IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = defaultEipAddress[1].IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n },\n },\n EndpointGroupRegion = region,\n ListenerId = defaultListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultListener, err := ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(60),\n\t\t\t\t\tToPort: pulumi.Int(70),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultEipAddress []*ecs.EipAddress\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewEipAddress(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EipAddressArgs{\n\t\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\t\tAddressName: pulumi.String(\"terraform-example\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEipAddress = append(defaultEipAddress, __res)\n\t\t}\n\t\t_, err = ga.NewEndpointGroup(ctx, \"default\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress[0].IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: defaultEipAddress[1].IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(region),\n\t\t\tListenerId: defaultListener.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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\").orElse(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(60)\n .toPort(70)\n .build())\n .clientAffinity(\"SOURCE_IP\")\n .protocol(\"UDP\")\n .name(\"terraform-example\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new EipAddress(\"defaultEipAddress-\" + i, EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .addressName(\"terraform-example\")\n .build());\n\n \n}\n var defaultEndpointGroup = new EndpointGroup(\"defaultEndpointGroup\", EndpointGroupArgs.builder()\n .acceleratorId(default_.id())\n .endpointConfigurations( \n EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress[0].ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build(),\n EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(defaultEipAddress[1].ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .build())\n .endpointGroupRegion(region)\n .listenerId(defaultListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 60\n toPort: 70\n clientAffinity: SOURCE_IP\n protocol: UDP\n name: terraform-example\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n addressName: terraform-example\n options: {}\n defaultEndpointGroup:\n type: alicloud:ga:EndpointGroup\n name: default\n properties:\n acceleratorId: ${default.id}\n endpointConfigurations:\n - endpoint: ${defaultEipAddress[0].ipAddress}\n type: PublicIp\n weight: '20'\n - endpoint: ${defaultEipAddress[1].ipAddress}\n type: PublicIp\n weight: '20'\n endpointGroupRegion: ${region}\n listenerId: ${defaultListener.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Endpoint Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/endpointGroup:EndpointGroup example \u003cid\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -192510,7 +196341,7 @@ } }, "alicloud:ga/forwardingRule:ForwardingRule": { - "description": "Provides a Global Accelerator (GA) Forwarding Rule resource.\n\nFor information about Global Accelerator (GA) Forwarding Rule and how to use it, see [What is Forwarding Rule](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createforwardingrules).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.ga.Accelerator(\"example\", {\n duration: 3,\n spec: \"2\",\n acceleratorName: name,\n autoUseCoupon: false,\n description: name,\n autoRenewDuration: 2,\n renewalStatus: \"AutoRenewal\",\n});\nconst exampleBandwidthPackage = new alicloud.ga.BandwidthPackage(\"example\", {\n type: \"Basic\",\n bandwidth: 20,\n bandwidthType: \"Basic\",\n duration: \"1\",\n autoPay: true,\n paymentType: \"Subscription\",\n autoUseCoupon: false,\n bandwidthPackageName: name,\n description: name,\n});\nconst exampleBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"example\", {\n acceleratorId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleListener = new alicloud.ga.Listener(\"example\", {\n acceleratorId: exampleBandwidthPackageAttachment.acceleratorId,\n clientAffinity: \"SOURCE_IP\",\n description: name,\n name: name,\n protocol: \"HTTP\",\n proxyProtocol: true,\n portRanges: [{\n fromPort: 60,\n toPort: 60,\n }],\n});\nconst exampleEipAddress = new alicloud.ecs.EipAddress(\"example\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n});\nconst virtual = new alicloud.ga.EndpointGroup(\"virtual\", {\n acceleratorId: example.id,\n endpointConfigurations: [{\n endpoint: exampleEipAddress.ipAddress,\n type: \"PublicIp\",\n weight: 20,\n enableClientipPreservation: true,\n }],\n endpointGroupRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n listenerId: exampleListener.id,\n description: name,\n endpointGroupType: \"virtual\",\n endpointRequestProtocol: \"HTTPS\",\n healthCheckIntervalSeconds: 4,\n healthCheckPath: \"/path\",\n name: name,\n thresholdCount: 4,\n trafficPercentage: 20,\n portOverrides: {\n endpointPort: 80,\n listenerPort: 60,\n },\n});\nconst exampleForwardingRule = new alicloud.ga.ForwardingRule(\"example\", {\n acceleratorId: example.id,\n listenerId: exampleListener.id,\n ruleConditions: [\n {\n ruleConditionType: \"Path\",\n pathConfig: {\n values: [\"/testpathconfig\"],\n },\n },\n {\n ruleConditionType: \"Host\",\n hostConfigs: [{\n values: [\"www.test.com\"],\n }],\n },\n ],\n ruleActions: [{\n order: 40,\n ruleActionType: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n endpointGroupId: virtual.id,\n }],\n },\n }],\n priority: 2,\n forwardingRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.ga.Accelerator(\"example\",\n duration=3,\n spec=\"2\",\n accelerator_name=name,\n auto_use_coupon=False,\n description=name,\n auto_renew_duration=2,\n renewal_status=\"AutoRenewal\")\nexample_bandwidth_package = alicloud.ga.BandwidthPackage(\"example\",\n type=\"Basic\",\n bandwidth=20,\n bandwidth_type=\"Basic\",\n duration=\"1\",\n auto_pay=True,\n payment_type=\"Subscription\",\n auto_use_coupon=False,\n bandwidth_package_name=name,\n description=name)\nexample_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"example\",\n accelerator_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_listener = alicloud.ga.Listener(\"example\",\n accelerator_id=example_bandwidth_package_attachment.accelerator_id,\n client_affinity=\"SOURCE_IP\",\n description=name,\n name=name,\n protocol=\"HTTP\",\n proxy_protocol=True,\n port_ranges=[{\n \"from_port\": 60,\n \"to_port\": 60,\n }])\nexample_eip_address = alicloud.ecs.EipAddress(\"example\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\")\nvirtual = alicloud.ga.EndpointGroup(\"virtual\",\n accelerator_id=example.id,\n endpoint_configurations=[{\n \"endpoint\": example_eip_address.ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n \"enable_clientip_preservation\": True,\n }],\n endpoint_group_region=default.regions[0].id,\n listener_id=example_listener.id,\n description=name,\n endpoint_group_type=\"virtual\",\n endpoint_request_protocol=\"HTTPS\",\n health_check_interval_seconds=4,\n health_check_path=\"/path\",\n name=name,\n threshold_count=4,\n traffic_percentage=20,\n port_overrides={\n \"endpoint_port\": 80,\n \"listener_port\": 60,\n })\nexample_forwarding_rule = alicloud.ga.ForwardingRule(\"example\",\n accelerator_id=example.id,\n listener_id=example_listener.id,\n rule_conditions=[\n {\n \"rule_condition_type\": \"Path\",\n \"path_config\": {\n \"values\": [\"/testpathconfig\"],\n },\n },\n {\n \"rule_condition_type\": \"Host\",\n \"host_configs\": [{\n \"values\": [\"www.test.com\"],\n }],\n },\n ],\n rule_actions=[{\n \"order\": 40,\n \"rule_action_type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"endpoint_group_id\": virtual.id,\n }],\n },\n }],\n priority=2,\n forwarding_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Ga.Accelerator(\"example\", new()\n {\n Duration = 3,\n Spec = \"2\",\n AcceleratorName = name,\n AutoUseCoupon = false,\n Description = name,\n AutoRenewDuration = 2,\n RenewalStatus = \"AutoRenewal\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"example\", new()\n {\n Type = \"Basic\",\n Bandwidth = 20,\n BandwidthType = \"Basic\",\n Duration = \"1\",\n AutoPay = true,\n PaymentType = \"Subscription\",\n AutoUseCoupon = false,\n BandwidthPackageName = name,\n Description = name,\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"example\", new()\n {\n AcceleratorId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleListener = new AliCloud.Ga.Listener(\"example\", new()\n {\n AcceleratorId = exampleBandwidthPackageAttachment.AcceleratorId,\n ClientAffinity = \"SOURCE_IP\",\n Description = name,\n Name = name,\n Protocol = \"HTTP\",\n ProxyProtocol = true,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 60,\n ToPort = 60,\n },\n },\n });\n\n var exampleEipAddress = new AliCloud.Ecs.EipAddress(\"example\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n var @virtual = new AliCloud.Ga.EndpointGroup(\"virtual\", new()\n {\n AcceleratorId = example.Id,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = exampleEipAddress.IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n EnableClientipPreservation = true,\n },\n },\n EndpointGroupRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ListenerId = exampleListener.Id,\n Description = name,\n EndpointGroupType = \"virtual\",\n EndpointRequestProtocol = \"HTTPS\",\n HealthCheckIntervalSeconds = 4,\n HealthCheckPath = \"/path\",\n Name = name,\n ThresholdCount = 4,\n TrafficPercentage = 20,\n PortOverrides = new AliCloud.Ga.Inputs.EndpointGroupPortOverridesArgs\n {\n EndpointPort = 80,\n ListenerPort = 60,\n },\n });\n\n var exampleForwardingRule = new AliCloud.Ga.ForwardingRule(\"example\", new()\n {\n AcceleratorId = example.Id,\n ListenerId = exampleListener.Id,\n RuleConditions = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionArgs\n {\n RuleConditionType = \"Path\",\n PathConfig = new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionPathConfigArgs\n {\n Values = new[]\n {\n \"/testpathconfig\",\n },\n },\n },\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionArgs\n {\n RuleConditionType = \"Host\",\n HostConfigs = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionHostConfigArgs\n {\n Values = new[]\n {\n \"www.test.com\",\n },\n },\n },\n },\n },\n RuleActions = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleActionArgs\n {\n Order = 40,\n RuleActionType = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Ga.Inputs.ForwardingRuleRuleActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs\n {\n EndpointGroupId = @virtual.Id,\n },\n },\n },\n },\n },\n Priority = 2,\n ForwardingRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ga.NewAccelerator(ctx, \"example\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tSpec: pulumi.String(\"2\"),\n\t\t\tAcceleratorName: pulumi.String(name),\n\t\t\tAutoUseCoupon: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAutoRenewDuration: pulumi.Int(2),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"example\", \u0026ga.BandwidthPackageArgs{\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tAutoUseCoupon: pulumi.Bool(false),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"example\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleListener, err := ga.NewListener(ctx, \"example\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: exampleBandwidthPackageAttachment.AcceleratorId,\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tName: pulumi.String(name),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tProxyProtocol: pulumi.Bool(true),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(60),\n\t\t\t\t\tToPort: pulumi.Int(60),\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\texampleEipAddress, err := ecs.NewEipAddress(ctx, \"example\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvirtual, err := ga.NewEndpointGroup(ctx, \"virtual\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: exampleEipAddress.IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\tEnableClientipPreservation: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tListenerId: exampleListener.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEndpointGroupType: pulumi.String(\"virtual\"),\n\t\t\tEndpointRequestProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tHealthCheckIntervalSeconds: pulumi.Int(4),\n\t\t\tHealthCheckPath: pulumi.String(\"/path\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tThresholdCount: pulumi.Int(4),\n\t\t\tTrafficPercentage: pulumi.Int(20),\n\t\t\tPortOverrides: \u0026ga.EndpointGroupPortOverridesArgs{\n\t\t\t\tEndpointPort: pulumi.Int(80),\n\t\t\t\tListenerPort: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewForwardingRule(ctx, \"example\", \u0026ga.ForwardingRuleArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tListenerId: exampleListener.ID(),\n\t\t\tRuleConditions: ga.ForwardingRuleRuleConditionArray{\n\t\t\t\t\u0026ga.ForwardingRuleRuleConditionArgs{\n\t\t\t\t\tRuleConditionType: pulumi.String(\"Path\"),\n\t\t\t\t\tPathConfig: \u0026ga.ForwardingRuleRuleConditionPathConfigArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/testpathconfig\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ga.ForwardingRuleRuleConditionArgs{\n\t\t\t\t\tRuleConditionType: pulumi.String(\"Host\"),\n\t\t\t\t\tHostConfigs: ga.ForwardingRuleRuleConditionHostConfigArray{\n\t\t\t\t\t\t\u0026ga.ForwardingRuleRuleConditionHostConfigArgs{\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"www.test.com\"),\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\tRuleActions: ga.ForwardingRuleRuleActionArray{\n\t\t\t\t\u0026ga.ForwardingRuleRuleActionArgs{\n\t\t\t\t\tOrder: pulumi.Int(40),\n\t\t\t\t\tRuleActionType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026ga.ForwardingRuleRuleActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: ga.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026ga.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tEndpointGroupId: virtual.ID(),\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\tPriority: pulumi.Int(2),\n\t\t\tForwardingRuleName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupPortOverridesArgs;\nimport com.pulumi.alicloud.ga.ForwardingRule;\nimport com.pulumi.alicloud.ga.ForwardingRuleArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleConditionArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleConditionPathConfigArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleActionArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleActionForwardGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Accelerator(\"example\", AcceleratorArgs.builder()\n .duration(3)\n .spec(\"2\")\n .acceleratorName(name)\n .autoUseCoupon(false)\n .description(name)\n .autoRenewDuration(2)\n .renewalStatus(\"AutoRenewal\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .type(\"Basic\")\n .bandwidth(20)\n .bandwidthType(\"Basic\")\n .duration(\"1\")\n .autoPay(true)\n .paymentType(\"Subscription\")\n .autoUseCoupon(false)\n .bandwidthPackageName(name)\n .description(name)\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .acceleratorId(exampleBandwidthPackageAttachment.acceleratorId())\n .clientAffinity(\"SOURCE_IP\")\n .description(name)\n .name(name)\n .protocol(\"HTTP\")\n .proxyProtocol(true)\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(60)\n .toPort(60)\n .build())\n .build());\n\n var exampleEipAddress = new EipAddress(\"exampleEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n var virtual = new EndpointGroup(\"virtual\", EndpointGroupArgs.builder()\n .acceleratorId(example.id())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(exampleEipAddress.ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .enableClientipPreservation(true)\n .build())\n .endpointGroupRegion(default_.regions()[0].id())\n .listenerId(exampleListener.id())\n .description(name)\n .endpointGroupType(\"virtual\")\n .endpointRequestProtocol(\"HTTPS\")\n .healthCheckIntervalSeconds(4)\n .healthCheckPath(\"/path\")\n .name(name)\n .thresholdCount(4)\n .trafficPercentage(20)\n .portOverrides(EndpointGroupPortOverridesArgs.builder()\n .endpointPort(80)\n .listenerPort(60)\n .build())\n .build());\n\n var exampleForwardingRule = new ForwardingRule(\"exampleForwardingRule\", ForwardingRuleArgs.builder()\n .acceleratorId(example.id())\n .listenerId(exampleListener.id())\n .ruleConditions( \n ForwardingRuleRuleConditionArgs.builder()\n .ruleConditionType(\"Path\")\n .pathConfig(ForwardingRuleRuleConditionPathConfigArgs.builder()\n .values(\"/testpathconfig\")\n .build())\n .build(),\n ForwardingRuleRuleConditionArgs.builder()\n .ruleConditionType(\"Host\")\n .hostConfigs(ForwardingRuleRuleConditionHostConfigArgs.builder()\n .values(\"www.test.com\")\n .build())\n .build())\n .ruleActions(ForwardingRuleRuleActionArgs.builder()\n .order(40)\n .ruleActionType(\"ForwardGroup\")\n .forwardGroupConfig(ForwardingRuleRuleActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs.builder()\n .endpointGroupId(virtual.id())\n .build())\n .build())\n .build())\n .priority(2)\n .forwardingRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:ga:Accelerator\n properties:\n duration: 3\n spec: '2'\n acceleratorName: ${name}\n autoUseCoupon: false\n description: ${name}\n autoRenewDuration: '2'\n renewalStatus: AutoRenewal\n exampleBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: example\n properties:\n type: Basic\n bandwidth: 20\n bandwidthType: Basic\n duration: 1\n autoPay: true\n paymentType: Subscription\n autoUseCoupon: false\n bandwidthPackageName: ${name}\n description: ${name}\n exampleBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: example\n properties:\n acceleratorId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleListener:\n type: alicloud:ga:Listener\n name: example\n properties:\n acceleratorId: ${exampleBandwidthPackageAttachment.acceleratorId}\n clientAffinity: SOURCE_IP\n description: ${name}\n name: ${name}\n protocol: HTTP\n proxyProtocol: true\n portRanges:\n - fromPort: 60\n toPort: 60\n exampleEipAddress:\n type: alicloud:ecs:EipAddress\n name: example\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n virtual:\n type: alicloud:ga:EndpointGroup\n properties:\n acceleratorId: ${example.id}\n endpointConfigurations:\n - endpoint: ${exampleEipAddress.ipAddress}\n type: PublicIp\n weight: '20'\n enableClientipPreservation: true\n endpointGroupRegion: ${default.regions[0].id}\n listenerId: ${exampleListener.id}\n description: ${name}\n endpointGroupType: virtual\n endpointRequestProtocol: HTTPS\n healthCheckIntervalSeconds: 4\n healthCheckPath: /path\n name: ${name}\n thresholdCount: 4\n trafficPercentage: 20\n portOverrides:\n endpointPort: 80\n listenerPort: 60\n exampleForwardingRule:\n type: alicloud:ga:ForwardingRule\n name: example\n properties:\n acceleratorId: ${example.id}\n listenerId: ${exampleListener.id}\n ruleConditions:\n - ruleConditionType: Path\n pathConfig:\n values:\n - /testpathconfig\n - ruleConditionType: Host\n hostConfigs:\n - values:\n - www.test.com\n ruleActions:\n - order: '40'\n ruleActionType: ForwardGroup\n forwardGroupConfig:\n serverGroupTuples:\n - endpointGroupId: ${virtual.id}\n priority: 2\n forwardingRuleName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Forwarding Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/forwardingRule:ForwardingRule example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cforwarding_rule_id\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Forwarding Rule resource.\n\nFor information about Global Accelerator (GA) Forwarding Rule and how to use it, see [What is Forwarding Rule](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createforwardingrules).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.ga.Accelerator(\"example\", {\n duration: 3,\n spec: \"2\",\n acceleratorName: name,\n autoUseCoupon: false,\n description: name,\n autoRenewDuration: 2,\n renewalStatus: \"AutoRenewal\",\n});\nconst exampleBandwidthPackage = new alicloud.ga.BandwidthPackage(\"example\", {\n type: \"Basic\",\n bandwidth: 20,\n bandwidthType: \"Basic\",\n duration: \"1\",\n autoPay: true,\n paymentType: \"Subscription\",\n autoUseCoupon: false,\n bandwidthPackageName: name,\n description: name,\n});\nconst exampleBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"example\", {\n acceleratorId: example.id,\n bandwidthPackageId: exampleBandwidthPackage.id,\n});\nconst exampleListener = new alicloud.ga.Listener(\"example\", {\n acceleratorId: exampleBandwidthPackageAttachment.acceleratorId,\n clientAffinity: \"SOURCE_IP\",\n description: name,\n name: name,\n protocol: \"HTTP\",\n proxyProtocol: true,\n portRanges: [{\n fromPort: 60,\n toPort: 60,\n }],\n});\nconst exampleEipAddress = new alicloud.ecs.EipAddress(\"example\", {\n bandwidth: \"10\",\n internetChargeType: \"PayByBandwidth\",\n});\nconst virtual = new alicloud.ga.EndpointGroup(\"virtual\", {\n acceleratorId: example.id,\n endpointConfigurations: [{\n endpoint: exampleEipAddress.ipAddress,\n type: \"PublicIp\",\n weight: 20,\n enableClientipPreservation: true,\n }],\n endpointGroupRegion: _default.then(_default =\u003e _default.regions?.[0]?.id),\n listenerId: exampleListener.id,\n description: name,\n endpointGroupType: \"virtual\",\n endpointRequestProtocol: \"HTTPS\",\n healthCheckIntervalSeconds: 4,\n healthCheckPath: \"/path\",\n name: name,\n thresholdCount: 4,\n trafficPercentage: 20,\n portOverrides: {\n endpointPort: 80,\n listenerPort: 60,\n },\n});\nconst exampleForwardingRule = new alicloud.ga.ForwardingRule(\"example\", {\n acceleratorId: example.id,\n listenerId: exampleListener.id,\n ruleConditions: [\n {\n ruleConditionType: \"Path\",\n pathConfig: {\n values: [\"/testpathconfig\"],\n },\n },\n {\n ruleConditionType: \"Host\",\n hostConfigs: [{\n values: [\"www.test.com\"],\n }],\n },\n ],\n ruleActions: [{\n order: 40,\n ruleActionType: \"ForwardGroup\",\n forwardGroupConfig: {\n serverGroupTuples: [{\n endpointGroupId: virtual.id,\n }],\n },\n }],\n priority: 2,\n forwardingRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.ga.Accelerator(\"example\",\n duration=3,\n spec=\"2\",\n accelerator_name=name,\n auto_use_coupon=False,\n description=name,\n auto_renew_duration=2,\n renewal_status=\"AutoRenewal\")\nexample_bandwidth_package = alicloud.ga.BandwidthPackage(\"example\",\n type=\"Basic\",\n bandwidth=20,\n bandwidth_type=\"Basic\",\n duration=\"1\",\n auto_pay=True,\n payment_type=\"Subscription\",\n auto_use_coupon=False,\n bandwidth_package_name=name,\n description=name)\nexample_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"example\",\n accelerator_id=example.id,\n bandwidth_package_id=example_bandwidth_package.id)\nexample_listener = alicloud.ga.Listener(\"example\",\n accelerator_id=example_bandwidth_package_attachment.accelerator_id,\n client_affinity=\"SOURCE_IP\",\n description=name,\n name=name,\n protocol=\"HTTP\",\n proxy_protocol=True,\n port_ranges=[{\n \"from_port\": 60,\n \"to_port\": 60,\n }])\nexample_eip_address = alicloud.ecs.EipAddress(\"example\",\n bandwidth=\"10\",\n internet_charge_type=\"PayByBandwidth\")\nvirtual = alicloud.ga.EndpointGroup(\"virtual\",\n accelerator_id=example.id,\n endpoint_configurations=[{\n \"endpoint\": example_eip_address.ip_address,\n \"type\": \"PublicIp\",\n \"weight\": 20,\n \"enable_clientip_preservation\": True,\n }],\n endpoint_group_region=default.regions[0].id,\n listener_id=example_listener.id,\n description=name,\n endpoint_group_type=\"virtual\",\n endpoint_request_protocol=\"HTTPS\",\n health_check_interval_seconds=4,\n health_check_path=\"/path\",\n name=name,\n threshold_count=4,\n traffic_percentage=20,\n port_overrides={\n \"endpoint_port\": 80,\n \"listener_port\": 60,\n })\nexample_forwarding_rule = alicloud.ga.ForwardingRule(\"example\",\n accelerator_id=example.id,\n listener_id=example_listener.id,\n rule_conditions=[\n {\n \"rule_condition_type\": \"Path\",\n \"path_config\": {\n \"values\": [\"/testpathconfig\"],\n },\n },\n {\n \"rule_condition_type\": \"Host\",\n \"host_configs\": [{\n \"values\": [\"www.test.com\"],\n }],\n },\n ],\n rule_actions=[{\n \"order\": 40,\n \"rule_action_type\": \"ForwardGroup\",\n \"forward_group_config\": {\n \"server_group_tuples\": [{\n \"endpoint_group_id\": virtual.id,\n }],\n },\n }],\n priority=2,\n forwarding_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Ga.Accelerator(\"example\", new()\n {\n Duration = 3,\n Spec = \"2\",\n AcceleratorName = name,\n AutoUseCoupon = false,\n Description = name,\n AutoRenewDuration = 2,\n RenewalStatus = \"AutoRenewal\",\n });\n\n var exampleBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"example\", new()\n {\n Type = \"Basic\",\n Bandwidth = 20,\n BandwidthType = \"Basic\",\n Duration = \"1\",\n AutoPay = true,\n PaymentType = \"Subscription\",\n AutoUseCoupon = false,\n BandwidthPackageName = name,\n Description = name,\n });\n\n var exampleBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"example\", new()\n {\n AcceleratorId = example.Id,\n BandwidthPackageId = exampleBandwidthPackage.Id,\n });\n\n var exampleListener = new AliCloud.Ga.Listener(\"example\", new()\n {\n AcceleratorId = exampleBandwidthPackageAttachment.AcceleratorId,\n ClientAffinity = \"SOURCE_IP\",\n Description = name,\n Name = name,\n Protocol = \"HTTP\",\n ProxyProtocol = true,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 60,\n ToPort = 60,\n },\n },\n });\n\n var exampleEipAddress = new AliCloud.Ecs.EipAddress(\"example\", new()\n {\n Bandwidth = \"10\",\n InternetChargeType = \"PayByBandwidth\",\n });\n\n var @virtual = new AliCloud.Ga.EndpointGroup(\"virtual\", new()\n {\n AcceleratorId = example.Id,\n EndpointConfigurations = new[]\n {\n new AliCloud.Ga.Inputs.EndpointGroupEndpointConfigurationArgs\n {\n Endpoint = exampleEipAddress.IpAddress,\n Type = \"PublicIp\",\n Weight = 20,\n EnableClientipPreservation = true,\n },\n },\n EndpointGroupRegion = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n ListenerId = exampleListener.Id,\n Description = name,\n EndpointGroupType = \"virtual\",\n EndpointRequestProtocol = \"HTTPS\",\n HealthCheckIntervalSeconds = 4,\n HealthCheckPath = \"/path\",\n Name = name,\n ThresholdCount = 4,\n TrafficPercentage = 20,\n PortOverrides = new AliCloud.Ga.Inputs.EndpointGroupPortOverridesArgs\n {\n EndpointPort = 80,\n ListenerPort = 60,\n },\n });\n\n var exampleForwardingRule = new AliCloud.Ga.ForwardingRule(\"example\", new()\n {\n AcceleratorId = example.Id,\n ListenerId = exampleListener.Id,\n RuleConditions = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionArgs\n {\n RuleConditionType = \"Path\",\n PathConfig = new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionPathConfigArgs\n {\n Values = new[]\n {\n \"/testpathconfig\",\n },\n },\n },\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionArgs\n {\n RuleConditionType = \"Host\",\n HostConfigs = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleConditionHostConfigArgs\n {\n Values = new[]\n {\n \"www.test.com\",\n },\n },\n },\n },\n },\n RuleActions = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleActionArgs\n {\n Order = 40,\n RuleActionType = \"ForwardGroup\",\n ForwardGroupConfig = new AliCloud.Ga.Inputs.ForwardingRuleRuleActionForwardGroupConfigArgs\n {\n ServerGroupTuples = new[]\n {\n new AliCloud.Ga.Inputs.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs\n {\n EndpointGroupId = @virtual.Id,\n },\n },\n },\n },\n },\n Priority = 2,\n ForwardingRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ga.NewAccelerator(ctx, \"example\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(3),\n\t\t\tSpec: pulumi.String(\"2\"),\n\t\t\tAcceleratorName: pulumi.String(name),\n\t\t\tAutoUseCoupon: pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAutoRenewDuration: pulumi.Int(2),\n\t\t\tRenewalStatus: pulumi.String(\"AutoRenewal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"example\", \u0026ga.BandwidthPackageArgs{\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tDuration: pulumi.String(\"1\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tAutoUseCoupon: pulumi.Bool(false),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"example\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleListener, err := ga.NewListener(ctx, \"example\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: exampleBandwidthPackageAttachment.AcceleratorId,\n\t\t\tClientAffinity: pulumi.String(\"SOURCE_IP\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tName: pulumi.String(name),\n\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\tProxyProtocol: pulumi.Bool(true),\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(60),\n\t\t\t\t\tToPort: pulumi.Int(60),\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\texampleEipAddress, err := ecs.NewEipAddress(ctx, \"example\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"10\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvirtual, err := ga.NewEndpointGroup(ctx, \"virtual\", \u0026ga.EndpointGroupArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tEndpointConfigurations: ga.EndpointGroupEndpointConfigurationArray{\n\t\t\t\t\u0026ga.EndpointGroupEndpointConfigurationArgs{\n\t\t\t\t\tEndpoint: exampleEipAddress.IpAddress,\n\t\t\t\t\tType: pulumi.String(\"PublicIp\"),\n\t\t\t\t\tWeight: pulumi.Int(20),\n\t\t\t\t\tEnableClientipPreservation: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpointGroupRegion: pulumi.String(_default.Regions[0].Id),\n\t\t\tListenerId: exampleListener.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEndpointGroupType: pulumi.String(\"virtual\"),\n\t\t\tEndpointRequestProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tHealthCheckIntervalSeconds: pulumi.Int(4),\n\t\t\tHealthCheckPath: pulumi.String(\"/path\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tThresholdCount: pulumi.Int(4),\n\t\t\tTrafficPercentage: pulumi.Int(20),\n\t\t\tPortOverrides: \u0026ga.EndpointGroupPortOverridesArgs{\n\t\t\t\tEndpointPort: pulumi.Int(80),\n\t\t\t\tListenerPort: pulumi.Int(60),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewForwardingRule(ctx, \"example\", \u0026ga.ForwardingRuleArgs{\n\t\t\tAcceleratorId: example.ID(),\n\t\t\tListenerId: exampleListener.ID(),\n\t\t\tRuleConditions: ga.ForwardingRuleRuleConditionArray{\n\t\t\t\t\u0026ga.ForwardingRuleRuleConditionArgs{\n\t\t\t\t\tRuleConditionType: pulumi.String(\"Path\"),\n\t\t\t\t\tPathConfig: \u0026ga.ForwardingRuleRuleConditionPathConfigArgs{\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/testpathconfig\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ga.ForwardingRuleRuleConditionArgs{\n\t\t\t\t\tRuleConditionType: pulumi.String(\"Host\"),\n\t\t\t\t\tHostConfigs: ga.ForwardingRuleRuleConditionHostConfigArray{\n\t\t\t\t\t\t\u0026ga.ForwardingRuleRuleConditionHostConfigArgs{\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"www.test.com\"),\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\tRuleActions: ga.ForwardingRuleRuleActionArray{\n\t\t\t\t\u0026ga.ForwardingRuleRuleActionArgs{\n\t\t\t\t\tOrder: pulumi.Int(40),\n\t\t\t\t\tRuleActionType: pulumi.String(\"ForwardGroup\"),\n\t\t\t\t\tForwardGroupConfig: \u0026ga.ForwardingRuleRuleActionForwardGroupConfigArgs{\n\t\t\t\t\t\tServerGroupTuples: ga.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArray{\n\t\t\t\t\t\t\t\u0026ga.ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs{\n\t\t\t\t\t\t\t\tEndpointGroupId: virtual.ID(),\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\tPriority: pulumi.Int(2),\n\t\t\tForwardingRuleName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ga.EndpointGroup;\nimport com.pulumi.alicloud.ga.EndpointGroupArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupEndpointConfigurationArgs;\nimport com.pulumi.alicloud.ga.inputs.EndpointGroupPortOverridesArgs;\nimport com.pulumi.alicloud.ga.ForwardingRule;\nimport com.pulumi.alicloud.ga.ForwardingRuleArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleConditionArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleConditionPathConfigArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleActionArgs;\nimport com.pulumi.alicloud.ga.inputs.ForwardingRuleRuleActionForwardGroupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new Accelerator(\"example\", AcceleratorArgs.builder()\n .duration(3)\n .spec(\"2\")\n .acceleratorName(name)\n .autoUseCoupon(false)\n .description(name)\n .autoRenewDuration(2)\n .renewalStatus(\"AutoRenewal\")\n .build());\n\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", BandwidthPackageArgs.builder()\n .type(\"Basic\")\n .bandwidth(20)\n .bandwidthType(\"Basic\")\n .duration(\"1\")\n .autoPay(true)\n .paymentType(\"Subscription\")\n .autoUseCoupon(false)\n .bandwidthPackageName(name)\n .description(name)\n .build());\n\n var exampleBandwidthPackageAttachment = new BandwidthPackageAttachment(\"exampleBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(example.id())\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder()\n .acceleratorId(exampleBandwidthPackageAttachment.acceleratorId())\n .clientAffinity(\"SOURCE_IP\")\n .description(name)\n .name(name)\n .protocol(\"HTTP\")\n .proxyProtocol(true)\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(60)\n .toPort(60)\n .build())\n .build());\n\n var exampleEipAddress = new EipAddress(\"exampleEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"10\")\n .internetChargeType(\"PayByBandwidth\")\n .build());\n\n var virtual = new EndpointGroup(\"virtual\", EndpointGroupArgs.builder()\n .acceleratorId(example.id())\n .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder()\n .endpoint(exampleEipAddress.ipAddress())\n .type(\"PublicIp\")\n .weight(20)\n .enableClientipPreservation(true)\n .build())\n .endpointGroupRegion(default_.regions()[0].id())\n .listenerId(exampleListener.id())\n .description(name)\n .endpointGroupType(\"virtual\")\n .endpointRequestProtocol(\"HTTPS\")\n .healthCheckIntervalSeconds(4)\n .healthCheckPath(\"/path\")\n .name(name)\n .thresholdCount(4)\n .trafficPercentage(20)\n .portOverrides(EndpointGroupPortOverridesArgs.builder()\n .endpointPort(80)\n .listenerPort(60)\n .build())\n .build());\n\n var exampleForwardingRule = new ForwardingRule(\"exampleForwardingRule\", ForwardingRuleArgs.builder()\n .acceleratorId(example.id())\n .listenerId(exampleListener.id())\n .ruleConditions( \n ForwardingRuleRuleConditionArgs.builder()\n .ruleConditionType(\"Path\")\n .pathConfig(ForwardingRuleRuleConditionPathConfigArgs.builder()\n .values(\"/testpathconfig\")\n .build())\n .build(),\n ForwardingRuleRuleConditionArgs.builder()\n .ruleConditionType(\"Host\")\n .hostConfigs(ForwardingRuleRuleConditionHostConfigArgs.builder()\n .values(\"www.test.com\")\n .build())\n .build())\n .ruleActions(ForwardingRuleRuleActionArgs.builder()\n .order(40)\n .ruleActionType(\"ForwardGroup\")\n .forwardGroupConfig(ForwardingRuleRuleActionForwardGroupConfigArgs.builder()\n .serverGroupTuples(ForwardingRuleRuleActionForwardGroupConfigServerGroupTupleArgs.builder()\n .endpointGroupId(virtual.id())\n .build())\n .build())\n .build())\n .priority(2)\n .forwardingRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:ga:Accelerator\n properties:\n duration: 3\n spec: '2'\n acceleratorName: ${name}\n autoUseCoupon: false\n description: ${name}\n autoRenewDuration: '2'\n renewalStatus: AutoRenewal\n exampleBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: example\n properties:\n type: Basic\n bandwidth: 20\n bandwidthType: Basic\n duration: 1\n autoPay: true\n paymentType: Subscription\n autoUseCoupon: false\n bandwidthPackageName: ${name}\n description: ${name}\n exampleBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: example\n properties:\n acceleratorId: ${example.id}\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n exampleListener:\n type: alicloud:ga:Listener\n name: example\n properties:\n acceleratorId: ${exampleBandwidthPackageAttachment.acceleratorId}\n clientAffinity: SOURCE_IP\n description: ${name}\n name: ${name}\n protocol: HTTP\n proxyProtocol: true\n portRanges:\n - fromPort: 60\n toPort: 60\n exampleEipAddress:\n type: alicloud:ecs:EipAddress\n name: example\n properties:\n bandwidth: '10'\n internetChargeType: PayByBandwidth\n virtual:\n type: alicloud:ga:EndpointGroup\n properties:\n acceleratorId: ${example.id}\n endpointConfigurations:\n - endpoint: ${exampleEipAddress.ipAddress}\n type: PublicIp\n weight: '20'\n enableClientipPreservation: true\n endpointGroupRegion: ${default.regions[0].id}\n listenerId: ${exampleListener.id}\n description: ${name}\n endpointGroupType: virtual\n endpointRequestProtocol: HTTPS\n healthCheckIntervalSeconds: 4\n healthCheckPath: /path\n name: ${name}\n thresholdCount: 4\n trafficPercentage: 20\n portOverrides:\n endpointPort: 80\n listenerPort: 60\n exampleForwardingRule:\n type: alicloud:ga:ForwardingRule\n name: example\n properties:\n acceleratorId: ${example.id}\n listenerId: ${exampleListener.id}\n ruleConditions:\n - ruleConditionType: Path\n pathConfig:\n values:\n - /testpathconfig\n - ruleConditionType: Host\n hostConfigs:\n - values:\n - www.test.com\n ruleActions:\n - order: '40'\n ruleActionType: ForwardGroup\n forwardGroupConfig:\n serverGroupTuples:\n - endpointGroupId: ${virtual.id}\n priority: 2\n forwardingRuleName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Forwarding Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/forwardingRule:ForwardingRule example \u003caccelerator_id\u003e:\u003clistener_id\u003e:\u003cforwarding_rule_id\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -192648,7 +196479,7 @@ } }, "alicloud:ga/ipSet:IpSet": { - "description": "Provides a Global Accelerator (GA) Ip Set resource.\n\nFor information about Global Accelerator (GA) Ip Set and how to use it, see [What is Ip Set](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createipsets).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst example = new alicloud.ga.IpSet(\"example\", {\n accelerateRegionId: region,\n bandwidth: 5,\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\nexample = alicloud.ga.IpSet(\"example\",\n accelerate_region_id=region,\n bandwidth=5,\n accelerator_id=default_bandwidth_package_attachment.accelerator_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var example = new AliCloud.Ga.IpSet(\"example\", new()\n {\n AccelerateRegionId = region,\n Bandwidth = 5,\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewIpSet(ctx, \"example\", \u0026ga.IpSetArgs{\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.IpSet;\nimport com.pulumi.alicloud.ga.IpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var example = new IpSet(\"example\", IpSetArgs.builder()\n .accelerateRegionId(region)\n .bandwidth(5)\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n example:\n type: alicloud:ga:IpSet\n properties:\n accelerateRegionId: ${region}\n bandwidth: '5'\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Ip Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/ipSet:IpSet example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Ip Set resource.\n\nFor information about Global Accelerator (GA) Ip Set and how to use it, see [What is Ip Set](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createipsets).\n\n\u003e **NOTE:** Available since v1.113.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst example = new alicloud.ga.IpSet(\"example\", {\n accelerateRegionId: region,\n bandwidth: 5,\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\nexample = alicloud.ga.IpSet(\"example\",\n accelerate_region_id=region,\n bandwidth=5,\n accelerator_id=default_bandwidth_package_attachment.accelerator_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var example = new AliCloud.Ga.IpSet(\"example\", new()\n {\n AccelerateRegionId = region,\n Bandwidth = 5,\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewIpSet(ctx, \"example\", \u0026ga.IpSetArgs{\n\t\t\tAccelerateRegionId: pulumi.String(region),\n\t\t\tBandwidth: pulumi.Int(5),\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.IpSet;\nimport com.pulumi.alicloud.ga.IpSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var example = new IpSet(\"example\", IpSetArgs.builder()\n .accelerateRegionId(region)\n .bandwidth(5)\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n example:\n type: alicloud:ga:IpSet\n properties:\n accelerateRegionId: ${region}\n bandwidth: '5'\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Ip Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/ipSet:IpSet example \u003cid\u003e\n```\n\n", "properties": { "accelerateRegionId": { "type": "string", @@ -192762,7 +196593,7 @@ } }, "alicloud:ga/listener:Listener": { - "description": "Provides a Global Accelerator (GA) Listener resource.\n\nFor information about Global Accelerator (GA) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createlistener).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 80,\n \"to_port\": 80,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: 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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGa Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/listener:Listener example \u003cid\u003e\n```\n\n", + "description": "Provides a Global Accelerator (GA) Listener resource.\n\nFor information about Global Accelerator (GA) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/global-accelerator/latest/api-ga-2019-11-20-createlistener).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ga.Accelerator(\"default\", {\n duration: 1,\n autoUseCoupon: true,\n spec: \"1\",\n});\nconst defaultBandwidthPackage = new alicloud.ga.BandwidthPackage(\"default\", {\n bandwidth: 100,\n type: \"Basic\",\n bandwidthType: \"Basic\",\n paymentType: \"PayAsYouGo\",\n billingType: \"PayBy95\",\n ratio: 30,\n});\nconst defaultBandwidthPackageAttachment = new alicloud.ga.BandwidthPackageAttachment(\"default\", {\n acceleratorId: _default.id,\n bandwidthPackageId: defaultBandwidthPackage.id,\n});\nconst defaultListener = new alicloud.ga.Listener(\"default\", {\n acceleratorId: defaultBandwidthPackageAttachment.acceleratorId,\n portRanges: [{\n fromPort: 80,\n toPort: 80,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ga.Accelerator(\"default\",\n duration=1,\n auto_use_coupon=True,\n spec=\"1\")\ndefault_bandwidth_package = alicloud.ga.BandwidthPackage(\"default\",\n bandwidth=100,\n type=\"Basic\",\n bandwidth_type=\"Basic\",\n payment_type=\"PayAsYouGo\",\n billing_type=\"PayBy95\",\n ratio=30)\ndefault_bandwidth_package_attachment = alicloud.ga.BandwidthPackageAttachment(\"default\",\n accelerator_id=default.id,\n bandwidth_package_id=default_bandwidth_package.id)\ndefault_listener = alicloud.ga.Listener(\"default\",\n accelerator_id=default_bandwidth_package_attachment.accelerator_id,\n port_ranges=[{\n \"from_port\": 80,\n \"to_port\": 80,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ga.Accelerator(\"default\", new()\n {\n Duration = 1,\n AutoUseCoupon = true,\n Spec = \"1\",\n });\n\n var defaultBandwidthPackage = new AliCloud.Ga.BandwidthPackage(\"default\", new()\n {\n Bandwidth = 100,\n Type = \"Basic\",\n BandwidthType = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n BillingType = \"PayBy95\",\n Ratio = 30,\n });\n\n var defaultBandwidthPackageAttachment = new AliCloud.Ga.BandwidthPackageAttachment(\"default\", new()\n {\n AcceleratorId = @default.Id,\n BandwidthPackageId = defaultBandwidthPackage.Id,\n });\n\n var defaultListener = new AliCloud.Ga.Listener(\"default\", new()\n {\n AcceleratorId = defaultBandwidthPackageAttachment.AcceleratorId,\n PortRanges = new[]\n {\n new AliCloud.Ga.Inputs.ListenerPortRangeArgs\n {\n FromPort = 80,\n ToPort = 80,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ga\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ga.NewAccelerator(ctx, \"default\", \u0026ga.AcceleratorArgs{\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tAutoUseCoupon: pulumi.Bool(true),\n\t\t\tSpec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackage, err := ga.NewBandwidthPackage(ctx, \"default\", \u0026ga.BandwidthPackageArgs{\n\t\t\tBandwidth: pulumi.Int(100),\n\t\t\tType: pulumi.String(\"Basic\"),\n\t\t\tBandwidthType: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBillingType: pulumi.String(\"PayBy95\"),\n\t\t\tRatio: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBandwidthPackageAttachment, err := ga.NewBandwidthPackageAttachment(ctx, \"default\", \u0026ga.BandwidthPackageAttachmentArgs{\n\t\t\tAcceleratorId: _default.ID(),\n\t\t\tBandwidthPackageId: defaultBandwidthPackage.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ga.NewListener(ctx, \"default\", \u0026ga.ListenerArgs{\n\t\t\tAcceleratorId: defaultBandwidthPackageAttachment.AcceleratorId,\n\t\t\tPortRanges: ga.ListenerPortRangeArray{\n\t\t\t\t\u0026ga.ListenerPortRangeArgs{\n\t\t\t\t\tFromPort: pulumi.Int(80),\n\t\t\t\t\tToPort: 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.alicloud.ga.Accelerator;\nimport com.pulumi.alicloud.ga.AcceleratorArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackage;\nimport com.pulumi.alicloud.ga.BandwidthPackageArgs;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachment;\nimport com.pulumi.alicloud.ga.BandwidthPackageAttachmentArgs;\nimport com.pulumi.alicloud.ga.Listener;\nimport com.pulumi.alicloud.ga.ListenerArgs;\nimport com.pulumi.alicloud.ga.inputs.ListenerPortRangeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Accelerator(\"default\", AcceleratorArgs.builder()\n .duration(1)\n .autoUseCoupon(true)\n .spec(\"1\")\n .build());\n\n var defaultBandwidthPackage = new BandwidthPackage(\"defaultBandwidthPackage\", BandwidthPackageArgs.builder()\n .bandwidth(100)\n .type(\"Basic\")\n .bandwidthType(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .billingType(\"PayBy95\")\n .ratio(30)\n .build());\n\n var defaultBandwidthPackageAttachment = new BandwidthPackageAttachment(\"defaultBandwidthPackageAttachment\", BandwidthPackageAttachmentArgs.builder()\n .acceleratorId(default_.id())\n .bandwidthPackageId(defaultBandwidthPackage.id())\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .acceleratorId(defaultBandwidthPackageAttachment.acceleratorId())\n .portRanges(ListenerPortRangeArgs.builder()\n .fromPort(80)\n .toPort(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ga:Accelerator\n properties:\n duration: 1\n autoUseCoupon: true\n spec: '1'\n defaultBandwidthPackage:\n type: alicloud:ga:BandwidthPackage\n name: default\n properties:\n bandwidth: 100\n type: Basic\n bandwidthType: Basic\n paymentType: PayAsYouGo\n billingType: PayBy95\n ratio: 30\n defaultBandwidthPackageAttachment:\n type: alicloud:ga:BandwidthPackageAttachment\n name: default\n properties:\n acceleratorId: ${default.id}\n bandwidthPackageId: ${defaultBandwidthPackage.id}\n defaultListener:\n type: alicloud:ga:Listener\n name: default\n properties:\n acceleratorId: ${defaultBandwidthPackageAttachment.acceleratorId}\n portRanges:\n - fromPort: 80\n toPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGa Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ga/listener:Listener example \u003cid\u003e\n```\n\n", "properties": { "acceleratorId": { "type": "string", @@ -193123,7 +196954,7 @@ } }, "alicloud:governance/baseline:Baseline": { - "description": "Provides a Governance Baseline resource.\n\nAccount Factory Baseline.\n\nFor information about Governance Baseline and how to use it, see [What is Baseline](https://next.api.aliyun.com/document/governance/2021-01-20/CreateAccountFactoryBaseline).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst itemPasswordPolicy = config.get(\"itemPasswordPolicy\") || \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\";\nconst baselineNameUpdate = config.get(\"baselineNameUpdate\") || \"tf-auto-example-baseline-update\";\nconst itemServices = config.get(\"itemServices\") || \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\";\nconst baselineName = config.get(\"baselineName\") || \"tf-auto-example-baseline\";\nconst itemRamSecurity = config.get(\"itemRamSecurity\") || \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\";\nconst defaultBaseline = new alicloud.governance.Baseline(\"default\", {\n baselineItems: [{\n version: \"1.0\",\n name: itemPasswordPolicy,\n config: JSON.stringify({\n MinimumPasswordLength: 8,\n RequireLowercaseCharacters: true,\n RequireUppercaseCharacters: true,\n RequireNumbers: true,\n RequireSymbols: true,\n MaxPasswordAge: 0,\n HardExpiry: false,\n PasswordReusePrevention: 0,\n MaxLoginAttempts: 0,\n }),\n }],\n description: name,\n baselineName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nitem_password_policy = config.get(\"itemPasswordPolicy\")\nif item_password_policy is None:\n item_password_policy = \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\"\nbaseline_name_update = config.get(\"baselineNameUpdate\")\nif baseline_name_update is None:\n baseline_name_update = \"tf-auto-example-baseline-update\"\nitem_services = config.get(\"itemServices\")\nif item_services is None:\n item_services = \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\"\nbaseline_name = config.get(\"baselineName\")\nif baseline_name is None:\n baseline_name = \"tf-auto-example-baseline\"\nitem_ram_security = config.get(\"itemRamSecurity\")\nif item_ram_security is None:\n item_ram_security = \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\"\ndefault_baseline = alicloud.governance.Baseline(\"default\",\n baseline_items=[{\n \"version\": \"1.0\",\n \"name\": item_password_policy,\n \"config\": json.dumps({\n \"MinimumPasswordLength\": 8,\n \"RequireLowercaseCharacters\": True,\n \"RequireUppercaseCharacters\": True,\n \"RequireNumbers\": True,\n \"RequireSymbols\": True,\n \"MaxPasswordAge\": 0,\n \"HardExpiry\": False,\n \"PasswordReusePrevention\": 0,\n \"MaxLoginAttempts\": 0,\n }),\n }],\n description=name,\n baseline_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var itemPasswordPolicy = config.Get(\"itemPasswordPolicy\") ?? \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\";\n var baselineNameUpdate = config.Get(\"baselineNameUpdate\") ?? \"tf-auto-example-baseline-update\";\n var itemServices = config.Get(\"itemServices\") ?? \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\";\n var baselineName = config.Get(\"baselineName\") ?? \"tf-auto-example-baseline\";\n var itemRamSecurity = config.Get(\"itemRamSecurity\") ?? \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\";\n var defaultBaseline = new AliCloud.Governance.Baseline(\"default\", new()\n {\n BaselineItems = new[]\n {\n new AliCloud.Governance.Inputs.BaselineBaselineItemArgs\n {\n Version = \"1.0\",\n Name = itemPasswordPolicy,\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"MinimumPasswordLength\"] = 8,\n [\"RequireLowercaseCharacters\"] = true,\n [\"RequireUppercaseCharacters\"] = true,\n [\"RequireNumbers\"] = true,\n [\"RequireSymbols\"] = true,\n [\"MaxPasswordAge\"] = 0,\n [\"HardExpiry\"] = false,\n [\"PasswordReusePrevention\"] = 0,\n [\"MaxLoginAttempts\"] = 0,\n }),\n },\n },\n Description = name,\n BaselineName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/governance\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\titemPasswordPolicy := \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\"\n\t\tif param := cfg.Get(\"itemPasswordPolicy\"); param != \"\" {\n\t\t\titemPasswordPolicy = param\n\t\t}\n\t\tbaselineNameUpdate := \"tf-auto-example-baseline-update\"\n\t\tif param := cfg.Get(\"baselineNameUpdate\"); param != \"\" {\n\t\t\tbaselineNameUpdate = param\n\t\t}\n\t\titemServices := \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\"\n\t\tif param := cfg.Get(\"itemServices\"); param != \"\" {\n\t\t\titemServices = param\n\t\t}\n\t\tbaselineName := \"tf-auto-example-baseline\"\n\t\tif param := cfg.Get(\"baselineName\"); param != \"\" {\n\t\t\tbaselineName = param\n\t\t}\n\t\titemRamSecurity := \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\"\n\t\tif param := cfg.Get(\"itemRamSecurity\"); param != \"\" {\n\t\t\titemRamSecurity = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"MinimumPasswordLength\": 8,\n\t\t\t\"RequireLowercaseCharacters\": true,\n\t\t\t\"RequireUppercaseCharacters\": true,\n\t\t\t\"RequireNumbers\": true,\n\t\t\t\"RequireSymbols\": true,\n\t\t\t\"MaxPasswordAge\": 0,\n\t\t\t\"HardExpiry\": false,\n\t\t\t\"PasswordReusePrevention\": 0,\n\t\t\t\"MaxLoginAttempts\": 0,\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 = governance.NewBaseline(ctx, \"default\", \u0026governance.BaselineArgs{\n\t\t\tBaselineItems: governance.BaselineBaselineItemArray{\n\t\t\t\t\u0026governance.BaselineBaselineItemArgs{\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tName: pulumi.String(itemPasswordPolicy),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBaselineName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.governance.Baseline;\nimport com.pulumi.alicloud.governance.BaselineArgs;\nimport com.pulumi.alicloud.governance.inputs.BaselineBaselineItemArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var itemPasswordPolicy = config.get(\"itemPasswordPolicy\").orElse(\"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\");\n final var baselineNameUpdate = config.get(\"baselineNameUpdate\").orElse(\"tf-auto-example-baseline-update\");\n final var itemServices = config.get(\"itemServices\").orElse(\"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\");\n final var baselineName = config.get(\"baselineName\").orElse(\"tf-auto-example-baseline\");\n final var itemRamSecurity = config.get(\"itemRamSecurity\").orElse(\"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\");\n var defaultBaseline = new Baseline(\"defaultBaseline\", BaselineArgs.builder()\n .baselineItems(BaselineBaselineItemArgs.builder()\n .version(\"1.0\")\n .name(itemPasswordPolicy)\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"MinimumPasswordLength\", 8),\n jsonProperty(\"RequireLowercaseCharacters\", true),\n jsonProperty(\"RequireUppercaseCharacters\", true),\n jsonProperty(\"RequireNumbers\", true),\n jsonProperty(\"RequireSymbols\", true),\n jsonProperty(\"MaxPasswordAge\", 0),\n jsonProperty(\"HardExpiry\", false),\n jsonProperty(\"PasswordReusePrevention\", 0),\n jsonProperty(\"MaxLoginAttempts\", 0)\n )))\n .build())\n .description(name)\n .baselineName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n itemPasswordPolicy:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\n baselineNameUpdate:\n type: string\n default: tf-auto-example-baseline-update\n itemServices:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\n baselineName:\n type: string\n default: tf-auto-example-baseline\n itemRamSecurity:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultBaseline:\n type: alicloud:governance:Baseline\n name: default\n properties:\n baselineItems:\n - version: '1.0'\n name: ${itemPasswordPolicy}\n config:\n fn::toJSON:\n MinimumPasswordLength: 8\n RequireLowercaseCharacters: true\n RequireUppercaseCharacters: true\n RequireNumbers: true\n RequireSymbols: true\n MaxPasswordAge: 0\n HardExpiry: false\n PasswordReusePrevention: 0\n MaxLoginAttempts: 0\n description: ${name}\n baselineName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGovernance Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:governance/baseline:Baseline example \u003cid\u003e\n```\n\n", + "description": "Provides a Governance Baseline resource.\n\nAccount Factory Baseline.\n\nFor information about Governance Baseline and how to use it, see [What is Baseline](https://next.api.aliyun.com/document/governance/2021-01-20/CreateAccountFactoryBaseline).\n\n\u003e **NOTE:** Available since v1.228.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst itemPasswordPolicy = config.get(\"itemPasswordPolicy\") || \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\";\nconst baselineNameUpdate = config.get(\"baselineNameUpdate\") || \"tf-auto-example-baseline-update\";\nconst itemServices = config.get(\"itemServices\") || \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\";\nconst baselineName = config.get(\"baselineName\") || \"tf-auto-example-baseline\";\nconst itemRamSecurity = config.get(\"itemRamSecurity\") || \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\";\nconst defaultBaseline = new alicloud.governance.Baseline(\"default\", {\n baselineItems: [{\n version: \"1.0\",\n name: itemPasswordPolicy,\n config: JSON.stringify({\n MinimumPasswordLength: 8,\n RequireLowercaseCharacters: true,\n RequireUppercaseCharacters: true,\n RequireNumbers: true,\n RequireSymbols: true,\n MaxPasswordAge: 0,\n HardExpiry: false,\n PasswordReusePrevention: 0,\n MaxLoginAttempts: 0,\n }),\n }],\n description: name,\n baselineName: `${name}-${_default.result}`,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nitem_password_policy = config.get(\"itemPasswordPolicy\")\nif item_password_policy is None:\n item_password_policy = \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\"\nbaseline_name_update = config.get(\"baselineNameUpdate\")\nif baseline_name_update is None:\n baseline_name_update = \"tf-auto-example-baseline-update\"\nitem_services = config.get(\"itemServices\")\nif item_services is None:\n item_services = \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\"\nbaseline_name = config.get(\"baselineName\")\nif baseline_name is None:\n baseline_name = \"tf-auto-example-baseline\"\nitem_ram_security = config.get(\"itemRamSecurity\")\nif item_ram_security is None:\n item_ram_security = \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\"\ndefault_baseline = alicloud.governance.Baseline(\"default\",\n baseline_items=[{\n \"version\": \"1.0\",\n \"name\": item_password_policy,\n \"config\": json.dumps({\n \"MinimumPasswordLength\": 8,\n \"RequireLowercaseCharacters\": True,\n \"RequireUppercaseCharacters\": True,\n \"RequireNumbers\": True,\n \"RequireSymbols\": True,\n \"MaxPasswordAge\": 0,\n \"HardExpiry\": False,\n \"PasswordReusePrevention\": 0,\n \"MaxLoginAttempts\": 0,\n }),\n }],\n description=name,\n baseline_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var itemPasswordPolicy = config.Get(\"itemPasswordPolicy\") ?? \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\";\n var baselineNameUpdate = config.Get(\"baselineNameUpdate\") ?? \"tf-auto-example-baseline-update\";\n var itemServices = config.Get(\"itemServices\") ?? \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\";\n var baselineName = config.Get(\"baselineName\") ?? \"tf-auto-example-baseline\";\n var itemRamSecurity = config.Get(\"itemRamSecurity\") ?? \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\";\n var defaultBaseline = new AliCloud.Governance.Baseline(\"default\", new()\n {\n BaselineItems = new[]\n {\n new AliCloud.Governance.Inputs.BaselineBaselineItemArgs\n {\n Version = \"1.0\",\n Name = itemPasswordPolicy,\n Config = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"MinimumPasswordLength\"] = 8,\n [\"RequireLowercaseCharacters\"] = true,\n [\"RequireUppercaseCharacters\"] = true,\n [\"RequireNumbers\"] = true,\n [\"RequireSymbols\"] = true,\n [\"MaxPasswordAge\"] = 0,\n [\"HardExpiry\"] = false,\n [\"PasswordReusePrevention\"] = 0,\n [\"MaxLoginAttempts\"] = 0,\n }),\n },\n },\n Description = name,\n BaselineName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/governance\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\titemPasswordPolicy := \"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\"\n\t\tif param := cfg.Get(\"itemPasswordPolicy\"); param != \"\" {\n\t\t\titemPasswordPolicy = param\n\t\t}\n\t\tbaselineNameUpdate := \"tf-auto-example-baseline-update\"\n\t\tif param := cfg.Get(\"baselineNameUpdate\"); param != \"\" {\n\t\t\tbaselineNameUpdate = param\n\t\t}\n\t\titemServices := \"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\"\n\t\tif param := cfg.Get(\"itemServices\"); param != \"\" {\n\t\t\titemServices = param\n\t\t}\n\t\tbaselineName := \"tf-auto-example-baseline\"\n\t\tif param := cfg.Get(\"baselineName\"); param != \"\" {\n\t\t\tbaselineName = param\n\t\t}\n\t\titemRamSecurity := \"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\"\n\t\tif param := cfg.Get(\"itemRamSecurity\"); param != \"\" {\n\t\t\titemRamSecurity = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"MinimumPasswordLength\": 8,\n\t\t\t\"RequireLowercaseCharacters\": true,\n\t\t\t\"RequireUppercaseCharacters\": true,\n\t\t\t\"RequireNumbers\": true,\n\t\t\t\"RequireSymbols\": true,\n\t\t\t\"MaxPasswordAge\": 0,\n\t\t\t\"HardExpiry\": false,\n\t\t\t\"PasswordReusePrevention\": 0,\n\t\t\t\"MaxLoginAttempts\": 0,\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 = governance.NewBaseline(ctx, \"default\", \u0026governance.BaselineArgs{\n\t\t\tBaselineItems: governance.BaselineBaselineItemArray{\n\t\t\t\t\u0026governance.BaselineBaselineItemArgs{\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t\tName: pulumi.String(itemPasswordPolicy),\n\t\t\t\t\tConfig: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(name),\n\t\t\tBaselineName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.governance.Baseline;\nimport com.pulumi.alicloud.governance.BaselineArgs;\nimport com.pulumi.alicloud.governance.inputs.BaselineBaselineItemArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var itemPasswordPolicy = config.get(\"itemPasswordPolicy\").orElse(\"ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\");\n final var baselineNameUpdate = config.get(\"baselineNameUpdate\").orElse(\"tf-auto-example-baseline-update\");\n final var itemServices = config.get(\"itemServices\").orElse(\"ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\");\n final var baselineName = config.get(\"baselineName\").orElse(\"tf-auto-example-baseline\");\n final var itemRamSecurity = config.get(\"itemRamSecurity\").orElse(\"ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\");\n var defaultBaseline = new Baseline(\"defaultBaseline\", BaselineArgs.builder()\n .baselineItems(BaselineBaselineItemArgs.builder()\n .version(\"1.0\")\n .name(itemPasswordPolicy)\n .config(serializeJson(\n jsonObject(\n jsonProperty(\"MinimumPasswordLength\", 8),\n jsonProperty(\"RequireLowercaseCharacters\", true),\n jsonProperty(\"RequireUppercaseCharacters\", true),\n jsonProperty(\"RequireNumbers\", true),\n jsonProperty(\"RequireSymbols\", true),\n jsonProperty(\"MaxPasswordAge\", 0),\n jsonProperty(\"HardExpiry\", false),\n jsonProperty(\"PasswordReusePrevention\", 0),\n jsonProperty(\"MaxLoginAttempts\", 0)\n )))\n .build())\n .description(name)\n .baselineName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n itemPasswordPolicy:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_RAM_USER_PASSWORD_POLICY\n baselineNameUpdate:\n type: string\n default: tf-auto-example-baseline-update\n itemServices:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_SUBSCRIBE_SERVICES\n baselineName:\n type: string\n default: tf-auto-example-baseline\n itemRamSecurity:\n type: string\n default: ACS-BP_ACCOUNT_FACTORY_RAM_SECURITY_PREFERENCE\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultBaseline:\n type: alicloud:governance:Baseline\n name: default\n properties:\n baselineItems:\n - version: '1.0'\n name: ${itemPasswordPolicy}\n config:\n fn::toJSON:\n MinimumPasswordLength: 8\n RequireLowercaseCharacters: true\n RequireUppercaseCharacters: true\n RequireNumbers: true\n RequireSymbols: true\n MaxPasswordAge: 0\n HardExpiry: false\n PasswordReusePrevention: 0\n MaxLoginAttempts: 0\n description: ${name}\n baselineName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGovernance Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:governance/baseline:Baseline example \u003cid\u003e\n```\n\n", "properties": { "baselineItems": { "type": "array", @@ -193181,7 +197012,7 @@ } }, "alicloud:gpdb/account:Account": { - "description": "Provides a GPDB Account resource.\n\nFor information about GPDB Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/doc-detail/86924.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\nconst defaultAccount = new alicloud.gpdb.Account(\"default\", {\n accountName: \"tf_example\",\n dbInstanceId: defaultInstance.id,\n accountPassword: \"Example1234\",\n accountDescription: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\ndefault_account = alicloud.gpdb.Account(\"default\",\n account_name=\"tf_example\",\n db_instance_id=default_instance.id,\n account_password=\"Example1234\",\n account_description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n var defaultAccount = new AliCloud.Gpdb.Account(\"default\", new()\n {\n AccountName = \"tf_example\",\n DbInstanceId = defaultInstance.Id,\n AccountPassword = \"Example1234\",\n AccountDescription = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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\t_, err = gpdb.NewAccount(ctx, \"default\", \u0026gpdb.AccountArgs{\n\t\t\tAccountName: pulumi.String(\"tf_example\"),\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(default_.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .accountName(\"tf_example\")\n .dbInstanceId(defaultInstance.id())\n .accountPassword(\"Example1234\")\n .accountDescription(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${default.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\n defaultAccount:\n type: alicloud:gpdb:Account\n name: default\n properties:\n accountName: tf_example\n dbInstanceId: ${defaultInstance.id}\n accountPassword: Example1234\n accountDescription: tf_example\nvariables:\n default:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/account:Account example \u003cdb_instance_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a GPDB Account resource.\n\nFor information about GPDB Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/doc-detail/86924.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\nconst defaultAccount = new alicloud.gpdb.Account(\"default\", {\n accountName: \"tf_example\",\n dbInstanceId: defaultInstance.id,\n accountPassword: \"Example1234\",\n accountDescription: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\ndefault_account = alicloud.gpdb.Account(\"default\",\n account_name=\"tf_example\",\n db_instance_id=default_instance.id,\n account_password=\"Example1234\",\n account_description=\"tf_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n var defaultAccount = new AliCloud.Gpdb.Account(\"default\", new()\n {\n AccountName = \"tf_example\",\n DbInstanceId = defaultInstance.Id,\n AccountPassword = \"Example1234\",\n AccountDescription = \"tf_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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\t_, err = gpdb.NewAccount(ctx, \"default\", \u0026gpdb.AccountArgs{\n\t\t\tAccountName: pulumi.String(\"tf_example\"),\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"tf_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(default_.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .accountName(\"tf_example\")\n .dbInstanceId(defaultInstance.id())\n .accountPassword(\"Example1234\")\n .accountDescription(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${default.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\n defaultAccount:\n type: alicloud:gpdb:Account\n name: default\n properties:\n accountName: tf_example\n dbInstanceId: ${defaultInstance.id}\n accountPassword: Example1234\n accountDescription: tf_example\nvariables:\n default:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/account:Account example \u003cdb_instance_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -193395,7 +197226,7 @@ } }, "alicloud:gpdb/connection:Connection": { - "description": "Provides a connection resource to allocate an Internet connection string for instance.\n\n\u003e **NOTE:** Available since v1.48.0.\n\n\u003e **NOTE:** Each instance will allocate a intranet connection string automatically and its prefix is instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\nconst defaultConnection = new alicloud.gpdb.Connection(\"default\", {\n instanceId: defaultInstance.id,\n connectionPrefix: \"exampelcon\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default_get_zones.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\ndefault_connection = alicloud.gpdb.Connection(\"default\",\n instance_id=default_instance.id,\n connection_prefix=\"exampelcon\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n var defaultConnection = new AliCloud.Gpdb.Connection(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ConnectionPrefix = \"exampelcon\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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\t_, err = gpdb.NewConnection(ctx, \"default\", \u0026gpdb.ConnectionArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"exampelcon\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport com.pulumi.alicloud.gpdb.Connection;\nimport com.pulumi.alicloud.gpdb.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(defaultGetZones.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .instanceId(defaultInstance.id())\n .connectionPrefix(\"exampelcon\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${defaultGetZones.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\n defaultConnection:\n type: alicloud:gpdb:Connection\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n connectionPrefix: exampelcon\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for PostgreSQL's connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/connection:Connection example abc12345678\n```\n\n", + "description": "Provides a connection resource to allocate an Internet connection string for instance.\n\n\u003e **NOTE:** Available since v1.48.0.\n\n\u003e **NOTE:** Each instance will allocate a intranet connection string automatically and its prefix is instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\nconst defaultConnection = new alicloud.gpdb.Connection(\"default\", {\n instanceId: defaultInstance.id,\n connectionPrefix: \"exampelcon\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default_get_zones.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\ndefault_connection = alicloud.gpdb.Connection(\"default\",\n instance_id=default_instance.id,\n connection_prefix=\"exampelcon\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n var defaultConnection = new AliCloud.Gpdb.Connection(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ConnectionPrefix = \"exampelcon\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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\t_, err = gpdb.NewConnection(ctx, \"default\", \u0026gpdb.ConnectionArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"exampelcon\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport com.pulumi.alicloud.gpdb.Connection;\nimport com.pulumi.alicloud.gpdb.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(defaultGetZones.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .instanceId(defaultInstance.id())\n .connectionPrefix(\"exampelcon\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${defaultGetZones.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\n defaultConnection:\n type: alicloud:gpdb:Connection\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n connectionPrefix: exampelcon\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL's connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/connection:Connection example abc12345678\n```\n\n", "properties": { "connectionPrefix": { "type": "string", @@ -193473,7 +197304,7 @@ } }, "alicloud:gpdb/database:Database": { - "description": "Provides a GPDB Database resource.\n\n\n\nFor information about GPDB Database and how to use it, see [What is Database](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.232.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default35OkxY = new alicloud.vpc.Network(\"default35OkxY\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultl8haQ3 = new alicloud.vpc.Switch(\"defaultl8haQ3\", {\n vpcId: default35OkxY.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultTC08a9 = new alicloud.gpdb.Instance(\"defaultTC08a9\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n engine: \"gpdb\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultl8haQ3.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default35OkxY.id,\n dbInstanceMode: \"StorageElastic\",\n});\nconst _default = new alicloud.gpdb.Database(\"default\", {\n characterSetName: \"UTF8\",\n owner: \"adbpgadmin\",\n description: \"go-to-the-docks-for-french-fries\",\n databaseName: \"seagull\",\n collate: \"en_US.utf8\",\n ctype: \"en_US.utf8\",\n dbInstanceId: defaultTC08a9.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault35_okx_y = alicloud.vpc.Network(\"default35OkxY\", cidr_block=\"192.168.0.0/16\")\ndefaultl8ha_q3 = alicloud.vpc.Switch(\"defaultl8haQ3\",\n vpc_id=default35_okx_y.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_tc08a9 = alicloud.gpdb.Instance(\"defaultTC08a9\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n engine=\"gpdb\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultl8ha_q3.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default35_okx_y.id,\n db_instance_mode=\"StorageElastic\")\ndefault = alicloud.gpdb.Database(\"default\",\n character_set_name=\"UTF8\",\n owner=\"adbpgadmin\",\n description=\"go-to-the-docks-for-french-fries\",\n database_name=\"seagull\",\n collate=\"en_US.utf8\",\n ctype=\"en_US.utf8\",\n db_instance_id=default_tc08a9.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default35OkxY = new AliCloud.Vpc.Network(\"default35OkxY\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultl8haQ3 = new AliCloud.Vpc.Switch(\"defaultl8haQ3\", new()\n {\n VpcId = default35OkxY.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultTC08a9 = new AliCloud.Gpdb.Instance(\"defaultTC08a9\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n Engine = \"gpdb\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultl8haQ3.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default35OkxY.Id,\n DbInstanceMode = \"StorageElastic\",\n });\n\n var @default = new AliCloud.Gpdb.Database(\"default\", new()\n {\n CharacterSetName = \"UTF8\",\n Owner = \"adbpgadmin\",\n Description = \"go-to-the-docks-for-french-fries\",\n DatabaseName = \"seagull\",\n Collate = \"en_US.utf8\",\n Ctype = \"en_US.utf8\",\n DbInstanceId = defaultTC08a9.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault35OkxY, err := vpc.NewNetwork(ctx, \"default35OkxY\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultl8haQ3, err := vpc.NewSwitch(ctx, \"defaultl8haQ3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: default35OkxY.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTC08a9, err := gpdb.NewInstance(ctx, \"defaultTC08a9\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultl8haQ3.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default35OkxY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewDatabase(ctx, \"default\", \u0026gpdb.DatabaseArgs{\n\t\t\tCharacterSetName: pulumi.String(\"UTF8\"),\n\t\t\tOwner: pulumi.String(\"adbpgadmin\"),\n\t\t\tDescription: pulumi.String(\"go-to-the-docks-for-french-fries\"),\n\t\t\tDatabaseName: pulumi.String(\"seagull\"),\n\t\t\tCollate: pulumi.String(\"en_US.utf8\"),\n\t\t\tCtype: pulumi.String(\"en_US.utf8\"),\n\t\t\tDbInstanceId: defaultTC08a9.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Database;\nimport com.pulumi.alicloud.gpdb.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default35OkxY = new Network(\"default35OkxY\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultl8haQ3 = new Switch(\"defaultl8haQ3\", SwitchArgs.builder()\n .vpcId(default35OkxY.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultTC08a9 = new Instance(\"defaultTC08a9\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .engine(\"gpdb\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultl8haQ3.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default35OkxY.id())\n .dbInstanceMode(\"StorageElastic\")\n .build());\n\n var default_ = new Database(\"default\", DatabaseArgs.builder()\n .characterSetName(\"UTF8\")\n .owner(\"adbpgadmin\")\n .description(\"go-to-the-docks-for-french-fries\")\n .databaseName(\"seagull\")\n .collate(\"en_US.utf8\")\n .ctype(\"en_US.utf8\")\n .dbInstanceId(defaultTC08a9.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default35OkxY:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultl8haQ3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${default35OkxY.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultTC08a9:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n engine: gpdb\n zoneId: cn-beijing-h\n vswitchId: ${defaultl8haQ3.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default35OkxY.id}\n dbInstanceMode: StorageElastic\n default:\n type: alicloud:gpdb:Database\n properties:\n characterSetName: UTF8\n owner: adbpgadmin\n description: go-to-the-docks-for-french-fries\n databaseName: seagull\n collate: en_US.utf8\n ctype: en_US.utf8\n dbInstanceId: ${defaultTC08a9.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/database:Database example \u003cdb_instance_id\u003e:\u003cdatabase_name\u003e\n```\n\n", + "description": "Provides a GPDB Database resource.\n\n\n\nFor information about GPDB Database and how to use it, see [What is Database](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.232.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default35OkxY = new alicloud.vpc.Network(\"default35OkxY\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultl8haQ3 = new alicloud.vpc.Switch(\"defaultl8haQ3\", {\n vpcId: default35OkxY.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultTC08a9 = new alicloud.gpdb.Instance(\"defaultTC08a9\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n engine: \"gpdb\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultl8haQ3.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default35OkxY.id,\n dbInstanceMode: \"StorageElastic\",\n});\nconst _default = new alicloud.gpdb.Database(\"default\", {\n characterSetName: \"UTF8\",\n owner: \"adbpgadmin\",\n description: \"go-to-the-docks-for-french-fries\",\n databaseName: \"seagull\",\n collate: \"en_US.utf8\",\n ctype: \"en_US.utf8\",\n dbInstanceId: defaultTC08a9.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault35_okx_y = alicloud.vpc.Network(\"default35OkxY\", cidr_block=\"192.168.0.0/16\")\ndefaultl8ha_q3 = alicloud.vpc.Switch(\"defaultl8haQ3\",\n vpc_id=default35_okx_y.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_tc08a9 = alicloud.gpdb.Instance(\"defaultTC08a9\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n engine=\"gpdb\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultl8ha_q3.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default35_okx_y.id,\n db_instance_mode=\"StorageElastic\")\ndefault = alicloud.gpdb.Database(\"default\",\n character_set_name=\"UTF8\",\n owner=\"adbpgadmin\",\n description=\"go-to-the-docks-for-french-fries\",\n database_name=\"seagull\",\n collate=\"en_US.utf8\",\n ctype=\"en_US.utf8\",\n db_instance_id=default_tc08a9.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default35OkxY = new AliCloud.Vpc.Network(\"default35OkxY\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultl8haQ3 = new AliCloud.Vpc.Switch(\"defaultl8haQ3\", new()\n {\n VpcId = default35OkxY.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultTC08a9 = new AliCloud.Gpdb.Instance(\"defaultTC08a9\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n Engine = \"gpdb\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultl8haQ3.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default35OkxY.Id,\n DbInstanceMode = \"StorageElastic\",\n });\n\n var @default = new AliCloud.Gpdb.Database(\"default\", new()\n {\n CharacterSetName = \"UTF8\",\n Owner = \"adbpgadmin\",\n Description = \"go-to-the-docks-for-french-fries\",\n DatabaseName = \"seagull\",\n Collate = \"en_US.utf8\",\n Ctype = \"en_US.utf8\",\n DbInstanceId = defaultTC08a9.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault35OkxY, err := vpc.NewNetwork(ctx, \"default35OkxY\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultl8haQ3, err := vpc.NewSwitch(ctx, \"defaultl8haQ3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: default35OkxY.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTC08a9, err := gpdb.NewInstance(ctx, \"defaultTC08a9\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultl8haQ3.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default35OkxY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewDatabase(ctx, \"default\", \u0026gpdb.DatabaseArgs{\n\t\t\tCharacterSetName: pulumi.String(\"UTF8\"),\n\t\t\tOwner: pulumi.String(\"adbpgadmin\"),\n\t\t\tDescription: pulumi.String(\"go-to-the-docks-for-french-fries\"),\n\t\t\tDatabaseName: pulumi.String(\"seagull\"),\n\t\t\tCollate: pulumi.String(\"en_US.utf8\"),\n\t\t\tCtype: pulumi.String(\"en_US.utf8\"),\n\t\t\tDbInstanceId: defaultTC08a9.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Database;\nimport com.pulumi.alicloud.gpdb.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default35OkxY = new Network(\"default35OkxY\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultl8haQ3 = new Switch(\"defaultl8haQ3\", SwitchArgs.builder()\n .vpcId(default35OkxY.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultTC08a9 = new Instance(\"defaultTC08a9\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .engine(\"gpdb\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultl8haQ3.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default35OkxY.id())\n .dbInstanceMode(\"StorageElastic\")\n .build());\n\n var default_ = new Database(\"default\", DatabaseArgs.builder()\n .characterSetName(\"UTF8\")\n .owner(\"adbpgadmin\")\n .description(\"go-to-the-docks-for-french-fries\")\n .databaseName(\"seagull\")\n .collate(\"en_US.utf8\")\n .ctype(\"en_US.utf8\")\n .dbInstanceId(defaultTC08a9.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default35OkxY:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultl8haQ3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${default35OkxY.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultTC08a9:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n engine: gpdb\n zoneId: cn-beijing-h\n vswitchId: ${defaultl8haQ3.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default35OkxY.id}\n dbInstanceMode: StorageElastic\n default:\n type: alicloud:gpdb:Database\n properties:\n characterSetName: UTF8\n owner: adbpgadmin\n description: go-to-the-docks-for-french-fries\n databaseName: seagull\n collate: en_US.utf8\n ctype: en_US.utf8\n dbInstanceId: ${defaultTC08a9.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/database:Database example \u003cdb_instance_id\u003e:\u003cdatabase_name\u003e\n```\n\n", "properties": { "characterSetName": { "type": "string", @@ -193594,7 +197425,7 @@ } }, "alicloud:gpdb/dbInstanceIpArray:DbInstanceIpArray": { - "description": "Provides a GPDB DB Instance IP Array resource.\n\nWhitelist IP Group.\n\nFor information about GPDB DB Instance IP Array and how to use it, see [What is DB Instance IP Array](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNpLRa1 = new alicloud.vpc.Network(\"defaultNpLRa1\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultwLA5v4 = new alicloud.vpc.Switch(\"defaultwLA5v4\", {\n vpcId: defaultNpLRa1.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultHKdDs3 = new alicloud.gpdb.Instance(\"defaultHKdDs3\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwLA5v4.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultNpLRa1.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n description: name,\n});\nconst defaultDbInstanceIpArray = new alicloud.gpdb.DbInstanceIpArray(\"default\", {\n dbInstanceIpArrayAttribute: \"taffyFish\",\n securityIpLists: [\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n ],\n dbInstanceIpArrayName: \"taffy\",\n dbInstanceId: defaultHKdDs3.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_np_l_ra1 = alicloud.vpc.Network(\"defaultNpLRa1\", cidr_block=\"192.168.0.0/16\")\ndefaultw_la5v4 = alicloud.vpc.Switch(\"defaultwLA5v4\",\n vpc_id=default_np_l_ra1.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_h_kd_ds3 = alicloud.gpdb.Instance(\"defaultHKdDs3\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_la5v4.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_np_l_ra1.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n description=name)\ndefault_db_instance_ip_array = alicloud.gpdb.DbInstanceIpArray(\"default\",\n db_instance_ip_array_attribute=\"taffyFish\",\n security_ip_lists=[\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n ],\n db_instance_ip_array_name=\"taffy\",\n db_instance_id=default_h_kd_ds3.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNpLRa1 = new AliCloud.Vpc.Network(\"defaultNpLRa1\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultwLA5v4 = new AliCloud.Vpc.Switch(\"defaultwLA5v4\", new()\n {\n VpcId = defaultNpLRa1.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultHKdDs3 = new AliCloud.Gpdb.Instance(\"defaultHKdDs3\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwLA5v4.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultNpLRa1.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n Description = name,\n });\n\n var defaultDbInstanceIpArray = new AliCloud.Gpdb.DbInstanceIpArray(\"default\", new()\n {\n DbInstanceIpArrayAttribute = \"taffyFish\",\n SecurityIpLists = new[]\n {\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n },\n DbInstanceIpArrayName = \"taffy\",\n DbInstanceId = defaultHKdDs3.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNpLRa1, err := vpc.NewNetwork(ctx, \"defaultNpLRa1\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwLA5v4, err := vpc.NewSwitch(ctx, \"defaultwLA5v4\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNpLRa1.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHKdDs3, err := gpdb.NewInstance(ctx, \"defaultHKdDs3\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwLA5v4.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultNpLRa1.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewDbInstanceIpArray(ctx, \"default\", \u0026gpdb.DbInstanceIpArrayArgs{\n\t\t\tDbInstanceIpArrayAttribute: pulumi.String(\"taffyFish\"),\n\t\t\tSecurityIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12.34.56.78\"),\n\t\t\t\tpulumi.String(\"11.45.14.0\"),\n\t\t\t\tpulumi.String(\"19.19.81.0\"),\n\t\t\t},\n\t\t\tDbInstanceIpArrayName: pulumi.String(\"taffy\"),\n\t\t\tDbInstanceId: defaultHKdDs3.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.DbInstanceIpArray;\nimport com.pulumi.alicloud.gpdb.DbInstanceIpArrayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNpLRa1 = new Network(\"defaultNpLRa1\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultwLA5v4 = new Switch(\"defaultwLA5v4\", SwitchArgs.builder()\n .vpcId(defaultNpLRa1.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultHKdDs3 = new Instance(\"defaultHKdDs3\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwLA5v4.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultNpLRa1.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .description(name)\n .build());\n\n var defaultDbInstanceIpArray = new DbInstanceIpArray(\"defaultDbInstanceIpArray\", DbInstanceIpArrayArgs.builder()\n .dbInstanceIpArrayAttribute(\"taffyFish\")\n .securityIpLists( \n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\")\n .dbInstanceIpArrayName(\"taffy\")\n .dbInstanceId(defaultHKdDs3.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNpLRa1:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultwLA5v4:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNpLRa1.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultHKdDs3:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwLA5v4.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultNpLRa1.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n description: ${name}\n defaultDbInstanceIpArray:\n type: alicloud:gpdb:DbInstanceIpArray\n name: default\n properties:\n dbInstanceIpArrayAttribute: taffyFish\n securityIpLists:\n - 12.34.56.78\n - 11.45.14.0\n - 19.19.81.0\n dbInstanceIpArrayName: taffy\n dbInstanceId: ${defaultHKdDs3.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB DB Instance IP Array can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/dbInstanceIpArray:DbInstanceIpArray example \u003cdb_instance_id\u003e:\u003cdb_instance_ip_array_name\u003e\n```\n\n", + "description": "Provides a GPDB DB Instance IP Array resource.\n\nWhitelist IP Group.\n\nFor information about GPDB DB Instance IP Array and how to use it, see [What is DB Instance IP Array](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNpLRa1 = new alicloud.vpc.Network(\"defaultNpLRa1\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultwLA5v4 = new alicloud.vpc.Switch(\"defaultwLA5v4\", {\n vpcId: defaultNpLRa1.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultHKdDs3 = new alicloud.gpdb.Instance(\"defaultHKdDs3\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwLA5v4.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultNpLRa1.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n description: name,\n});\nconst defaultDbInstanceIpArray = new alicloud.gpdb.DbInstanceIpArray(\"default\", {\n dbInstanceIpArrayAttribute: \"taffyFish\",\n securityIpLists: [\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n ],\n dbInstanceIpArrayName: \"taffy\",\n dbInstanceId: defaultHKdDs3.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_np_l_ra1 = alicloud.vpc.Network(\"defaultNpLRa1\", cidr_block=\"192.168.0.0/16\")\ndefaultw_la5v4 = alicloud.vpc.Switch(\"defaultwLA5v4\",\n vpc_id=default_np_l_ra1.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_h_kd_ds3 = alicloud.gpdb.Instance(\"defaultHKdDs3\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_la5v4.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_np_l_ra1.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n description=name)\ndefault_db_instance_ip_array = alicloud.gpdb.DbInstanceIpArray(\"default\",\n db_instance_ip_array_attribute=\"taffyFish\",\n security_ip_lists=[\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n ],\n db_instance_ip_array_name=\"taffy\",\n db_instance_id=default_h_kd_ds3.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNpLRa1 = new AliCloud.Vpc.Network(\"defaultNpLRa1\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultwLA5v4 = new AliCloud.Vpc.Switch(\"defaultwLA5v4\", new()\n {\n VpcId = defaultNpLRa1.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultHKdDs3 = new AliCloud.Gpdb.Instance(\"defaultHKdDs3\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwLA5v4.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultNpLRa1.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n Description = name,\n });\n\n var defaultDbInstanceIpArray = new AliCloud.Gpdb.DbInstanceIpArray(\"default\", new()\n {\n DbInstanceIpArrayAttribute = \"taffyFish\",\n SecurityIpLists = new[]\n {\n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\",\n },\n DbInstanceIpArrayName = \"taffy\",\n DbInstanceId = defaultHKdDs3.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNpLRa1, err := vpc.NewNetwork(ctx, \"defaultNpLRa1\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwLA5v4, err := vpc.NewSwitch(ctx, \"defaultwLA5v4\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNpLRa1.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHKdDs3, err := gpdb.NewInstance(ctx, \"defaultHKdDs3\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwLA5v4.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultNpLRa1.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewDbInstanceIpArray(ctx, \"default\", \u0026gpdb.DbInstanceIpArrayArgs{\n\t\t\tDbInstanceIpArrayAttribute: pulumi.String(\"taffyFish\"),\n\t\t\tSecurityIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12.34.56.78\"),\n\t\t\t\tpulumi.String(\"11.45.14.0\"),\n\t\t\t\tpulumi.String(\"19.19.81.0\"),\n\t\t\t},\n\t\t\tDbInstanceIpArrayName: pulumi.String(\"taffy\"),\n\t\t\tDbInstanceId: defaultHKdDs3.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.DbInstanceIpArray;\nimport com.pulumi.alicloud.gpdb.DbInstanceIpArrayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNpLRa1 = new Network(\"defaultNpLRa1\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultwLA5v4 = new Switch(\"defaultwLA5v4\", SwitchArgs.builder()\n .vpcId(defaultNpLRa1.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultHKdDs3 = new Instance(\"defaultHKdDs3\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwLA5v4.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultNpLRa1.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .description(name)\n .build());\n\n var defaultDbInstanceIpArray = new DbInstanceIpArray(\"defaultDbInstanceIpArray\", DbInstanceIpArrayArgs.builder()\n .dbInstanceIpArrayAttribute(\"taffyFish\")\n .securityIpLists( \n \"12.34.56.78\",\n \"11.45.14.0\",\n \"19.19.81.0\")\n .dbInstanceIpArrayName(\"taffy\")\n .dbInstanceId(defaultHKdDs3.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNpLRa1:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultwLA5v4:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultNpLRa1.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultHKdDs3:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwLA5v4.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultNpLRa1.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n description: ${name}\n defaultDbInstanceIpArray:\n type: alicloud:gpdb:DbInstanceIpArray\n name: default\n properties:\n dbInstanceIpArrayAttribute: taffyFish\n securityIpLists:\n - 12.34.56.78\n - 11.45.14.0\n - 19.19.81.0\n dbInstanceIpArrayName: taffy\n dbInstanceId: ${defaultHKdDs3.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB DB Instance IP Array can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/dbInstanceIpArray:DbInstanceIpArray example \u003cdb_instance_id\u003e:\u003cdb_instance_ip_array_name\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -193853,7 +197684,7 @@ } }, "alicloud:gpdb/dbResourceGroup:DbResourceGroup": { - "description": "Provides a AnalyticDB for PostgreSQL (GPDB) Db Resource Group resource.\n\n\n\nFor information about AnalyticDB for PostgreSQL (GPDB) Db Resource Group and how to use it, see [What is Db Resource Group](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateDBResourceGroup).\n\n\u003e **NOTE:** Available since v1.225.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultZc8RD9 = new alicloud.vpc.Network(\"defaultZc8RD9\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultRv5UXt = new alicloud.vpc.Switch(\"defaultRv5UXt\", {\n vpcId: defaultZc8RD9.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultJXWSlW = new alicloud.gpdb.Instance(\"defaultJXWSlW\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n engine: \"gpdb\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultRv5UXt.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultZc8RD9.id,\n dbInstanceMode: \"StorageElastic\",\n description: name,\n});\nconst defaultDbResourceGroup = new alicloud.gpdb.DbResourceGroup(\"default\", {\n resourceGroupConfig: JSON.stringify({\n CpuRateLimit: 10,\n MemoryLimit: 10,\n MemorySharedQuota: 80,\n MemorySpillRatio: 0,\n Concurrency: 10,\n }),\n dbInstanceId: defaultJXWSlW.id,\n resourceGroupName: \"yb_example_group\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_zc8_rd9 = alicloud.vpc.Network(\"defaultZc8RD9\", cidr_block=\"192.168.0.0/16\")\ndefault_rv5_u_xt = alicloud.vpc.Switch(\"defaultRv5UXt\",\n vpc_id=default_zc8_rd9.id,\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.1.0/24\")\ndefault_jxw_sl_w = alicloud.gpdb.Instance(\"defaultJXWSlW\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n engine=\"gpdb\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=default.zones[0].id,\n vswitch_id=default_rv5_u_xt.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_zc8_rd9.id,\n db_instance_mode=\"StorageElastic\",\n description=name)\ndefault_db_resource_group = alicloud.gpdb.DbResourceGroup(\"default\",\n resource_group_config=json.dumps({\n \"CpuRateLimit\": 10,\n \"MemoryLimit\": 10,\n \"MemorySharedQuota\": 80,\n \"MemorySpillRatio\": 0,\n \"Concurrency\": 10,\n }),\n db_instance_id=default_jxw_sl_w.id,\n resource_group_name=\"yb_example_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultZc8RD9 = new AliCloud.Vpc.Network(\"defaultZc8RD9\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultRv5UXt = new AliCloud.Vpc.Switch(\"defaultRv5UXt\", new()\n {\n VpcId = defaultZc8RD9.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultJXWSlW = new AliCloud.Gpdb.Instance(\"defaultJXWSlW\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n Engine = \"gpdb\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultRv5UXt.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultZc8RD9.Id,\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n });\n\n var defaultDbResourceGroup = new AliCloud.Gpdb.DbResourceGroup(\"default\", new()\n {\n ResourceGroupConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"CpuRateLimit\"] = 10,\n [\"MemoryLimit\"] = 10,\n [\"MemorySharedQuota\"] = 80,\n [\"MemorySpillRatio\"] = 0,\n [\"Concurrency\"] = 10,\n }),\n DbInstanceId = defaultJXWSlW.Id,\n ResourceGroupName = \"yb_example_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZc8RD9, err := vpc.NewNetwork(ctx, \"defaultZc8RD9\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRv5UXt, err := vpc.NewSwitch(ctx, \"defaultRv5UXt\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultZc8RD9.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultJXWSlW, err := gpdb.NewInstance(ctx, \"defaultJXWSlW\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: defaultRv5UXt.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultZc8RD9.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\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\"CpuRateLimit\": 10,\n\t\t\t\"MemoryLimit\": 10,\n\t\t\t\"MemorySharedQuota\": 80,\n\t\t\t\"MemorySpillRatio\": 0,\n\t\t\t\"Concurrency\": 10,\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 = gpdb.NewDbResourceGroup(ctx, \"default\", \u0026gpdb.DbResourceGroupArgs{\n\t\t\tResourceGroupConfig: pulumi.String(json0),\n\t\t\tDbInstanceId: defaultJXWSlW.ID(),\n\t\t\tResourceGroupName: pulumi.String(\"yb_example_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.DbResourceGroup;\nimport com.pulumi.alicloud.gpdb.DbResourceGroupArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultZc8RD9 = new Network(\"defaultZc8RD9\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultRv5UXt = new Switch(\"defaultRv5UXt\", SwitchArgs.builder()\n .vpcId(defaultZc8RD9.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultJXWSlW = new Instance(\"defaultJXWSlW\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .engine(\"gpdb\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultRv5UXt.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultZc8RD9.id())\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .build());\n\n var defaultDbResourceGroup = new DbResourceGroup(\"defaultDbResourceGroup\", DbResourceGroupArgs.builder()\n .resourceGroupConfig(serializeJson(\n jsonObject(\n jsonProperty(\"CpuRateLimit\", 10),\n jsonProperty(\"MemoryLimit\", 10),\n jsonProperty(\"MemorySharedQuota\", 80),\n jsonProperty(\"MemorySpillRatio\", 0),\n jsonProperty(\"Concurrency\", 10)\n )))\n .dbInstanceId(defaultJXWSlW.id())\n .resourceGroupName(\"yb_example_group\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultZc8RD9:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultRv5UXt:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultZc8RD9.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.1.0/24\n defaultJXWSlW:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n engine: gpdb\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultRv5UXt.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultZc8RD9.id}\n dbInstanceMode: StorageElastic\n description: ${name}\n defaultDbResourceGroup:\n type: alicloud:gpdb:DbResourceGroup\n name: default\n properties:\n resourceGroupConfig:\n fn::toJSON:\n CpuRateLimit: 10\n MemoryLimit: 10\n MemorySharedQuota: 80\n MemorySpillRatio: 0\n Concurrency: 10\n dbInstanceId: ${defaultJXWSlW.id}\n resourceGroupName: yb_example_group\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/dbResourceGroup:DbResourceGroup example \u003cdb_instance_id\u003e:\u003cresource_group_name\u003e\n```\n\n", + "description": "Provides a AnalyticDB for PostgreSQL (GPDB) Db Resource Group resource.\n\n\n\nFor information about AnalyticDB for PostgreSQL (GPDB) Db Resource Group and how to use it, see [What is Db Resource Group](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateDBResourceGroup).\n\n\u003e **NOTE:** Available since v1.225.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultZc8RD9 = new alicloud.vpc.Network(\"defaultZc8RD9\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultRv5UXt = new alicloud.vpc.Switch(\"defaultRv5UXt\", {\n vpcId: defaultZc8RD9.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultJXWSlW = new alicloud.gpdb.Instance(\"defaultJXWSlW\", {\n instanceSpec: \"2C8G\",\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n engine: \"gpdb\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultRv5UXt.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultZc8RD9.id,\n dbInstanceMode: \"StorageElastic\",\n description: name,\n});\nconst defaultDbResourceGroup = new alicloud.gpdb.DbResourceGroup(\"default\", {\n resourceGroupConfig: JSON.stringify({\n CpuRateLimit: 10,\n MemoryLimit: 10,\n MemorySharedQuota: 80,\n MemorySpillRatio: 0,\n Concurrency: 10,\n }),\n dbInstanceId: defaultJXWSlW.id,\n resourceGroupName: \"yb_example_group\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_zc8_rd9 = alicloud.vpc.Network(\"defaultZc8RD9\", cidr_block=\"192.168.0.0/16\")\ndefault_rv5_u_xt = alicloud.vpc.Switch(\"defaultRv5UXt\",\n vpc_id=default_zc8_rd9.id,\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.1.0/24\")\ndefault_jxw_sl_w = alicloud.gpdb.Instance(\"defaultJXWSlW\",\n instance_spec=\"2C8G\",\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n engine=\"gpdb\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=default.zones[0].id,\n vswitch_id=default_rv5_u_xt.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_zc8_rd9.id,\n db_instance_mode=\"StorageElastic\",\n description=name)\ndefault_db_resource_group = alicloud.gpdb.DbResourceGroup(\"default\",\n resource_group_config=json.dumps({\n \"CpuRateLimit\": 10,\n \"MemoryLimit\": 10,\n \"MemorySharedQuota\": 80,\n \"MemorySpillRatio\": 0,\n \"Concurrency\": 10,\n }),\n db_instance_id=default_jxw_sl_w.id,\n resource_group_name=\"yb_example_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultZc8RD9 = new AliCloud.Vpc.Network(\"defaultZc8RD9\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultRv5UXt = new AliCloud.Vpc.Switch(\"defaultRv5UXt\", new()\n {\n VpcId = defaultZc8RD9.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultJXWSlW = new AliCloud.Gpdb.Instance(\"defaultJXWSlW\", new()\n {\n InstanceSpec = \"2C8G\",\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n Engine = \"gpdb\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultRv5UXt.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultZc8RD9.Id,\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n });\n\n var defaultDbResourceGroup = new AliCloud.Gpdb.DbResourceGroup(\"default\", new()\n {\n ResourceGroupConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"CpuRateLimit\"] = 10,\n [\"MemoryLimit\"] = 10,\n [\"MemorySharedQuota\"] = 80,\n [\"MemorySpillRatio\"] = 0,\n [\"Concurrency\"] = 10,\n }),\n DbInstanceId = defaultJXWSlW.Id,\n ResourceGroupName = \"yb_example_group\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZc8RD9, err := vpc.NewNetwork(ctx, \"defaultZc8RD9\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRv5UXt, err := vpc.NewSwitch(ctx, \"defaultRv5UXt\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultZc8RD9.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultJXWSlW, err := gpdb.NewInstance(ctx, \"defaultJXWSlW\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: defaultRv5UXt.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultZc8RD9.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\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\"CpuRateLimit\": 10,\n\t\t\t\"MemoryLimit\": 10,\n\t\t\t\"MemorySharedQuota\": 80,\n\t\t\t\"MemorySpillRatio\": 0,\n\t\t\t\"Concurrency\": 10,\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 = gpdb.NewDbResourceGroup(ctx, \"default\", \u0026gpdb.DbResourceGroupArgs{\n\t\t\tResourceGroupConfig: pulumi.String(json0),\n\t\t\tDbInstanceId: defaultJXWSlW.ID(),\n\t\t\tResourceGroupName: pulumi.String(\"yb_example_group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.DbResourceGroup;\nimport com.pulumi.alicloud.gpdb.DbResourceGroupArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultZc8RD9 = new Network(\"defaultZc8RD9\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultRv5UXt = new Switch(\"defaultRv5UXt\", SwitchArgs.builder()\n .vpcId(defaultZc8RD9.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultJXWSlW = new Instance(\"defaultJXWSlW\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .engine(\"gpdb\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultRv5UXt.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultZc8RD9.id())\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .build());\n\n var defaultDbResourceGroup = new DbResourceGroup(\"defaultDbResourceGroup\", DbResourceGroupArgs.builder()\n .resourceGroupConfig(serializeJson(\n jsonObject(\n jsonProperty(\"CpuRateLimit\", 10),\n jsonProperty(\"MemoryLimit\", 10),\n jsonProperty(\"MemorySharedQuota\", 80),\n jsonProperty(\"MemorySpillRatio\", 0),\n jsonProperty(\"Concurrency\", 10)\n )))\n .dbInstanceId(defaultJXWSlW.id())\n .resourceGroupName(\"yb_example_group\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultZc8RD9:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultRv5UXt:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultZc8RD9.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.1.0/24\n defaultJXWSlW:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n engine: gpdb\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultRv5UXt.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultZc8RD9.id}\n dbInstanceMode: StorageElastic\n description: ${name}\n defaultDbResourceGroup:\n type: alicloud:gpdb:DbResourceGroup\n name: default\n properties:\n resourceGroupConfig:\n fn::toJSON:\n CpuRateLimit: 10\n MemoryLimit: 10\n MemorySharedQuota: 80\n MemorySpillRatio: 0\n Concurrency: 10\n dbInstanceId: ${defaultJXWSlW.id}\n resourceGroupName: yb_example_group\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/dbResourceGroup:DbResourceGroup example \u003cdb_instance_id\u003e:\u003cresource_group_name\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -193937,7 +197768,7 @@ } }, "alicloud:gpdb/elasticInstance:ElasticInstance": { - "description": "Provides a AnalyticDB for PostgreSQL instance resource which storage type is flexible. Compared to the reserved storage ADB PG instance, you can scale up each disk and smoothly scale out nodes online. \nFor more detail product introduction, see [here](https://www.alibabacloud.com/help/doc-detail/141368.htm).\n\n\u003e **NOTE:** Deprecated since v1.147.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.147.0`. Please use new resource alicloud_gpdb_instance.\n\n\n## Example Usage\n\n### Create a AnalyticDB for PostgreSQL instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Gpdb\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: \"vpc-123456\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"vpc-123456\",\n});\nconst adbPgInstance = new alicloud.gpdb.ElasticInstance(\"adb_pg_instance\", {\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n instanceSpec: \"2C16G\",\n dbInstanceDescription: \"Created by terraform\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Gpdb\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=\"vpc-123456\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"vpc-123456\")\nadb_pg_instance = alicloud.gpdb.ElasticInstance(\"adb_pg_instance\",\n engine=\"gpdb\",\n engine_version=\"6.0\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n instance_spec=\"2C16G\",\n db_instance_description=\"Created by terraform\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Gpdb\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = \"vpc-123456\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"vpc-123456\",\n });\n\n var adbPgInstance = new AliCloud.Gpdb.ElasticInstance(\"adb_pg_instance\", new()\n {\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n InstanceSpec = \"2C16G\",\n DbInstanceDescription = \"Created by terraform\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Gpdb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(\"vpc-123456\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"vpc-123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewElasticInstance(ctx, \"adb_pg_instance\", \u0026gpdb.ElasticInstanceArgs{\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"Created by terraform\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.ElasticInstance;\nimport com.pulumi.alicloud.gpdb.ElasticInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Gpdb\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(\"vpc-123456\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"vpc-123456\")\n .build());\n\n var adbPgInstance = new ElasticInstance(\"adbPgInstance\", ElasticInstanceArgs.builder()\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .instanceSpec(\"2C16G\")\n .dbInstanceDescription(\"Created by terraform\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: vpc-123456\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n vswitchName: vpc-123456\n adbPgInstance:\n type: alicloud:gpdb:ElasticInstance\n name: adb_pg_instance\n properties:\n engine: gpdb\n engineVersion: '6.0'\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n instanceSpec: 2C16G\n dbInstanceDescription: Created by terraform\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Gpdb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for PostgreSQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/elasticInstance:ElasticInstance adb_pg_instance gp-bpxxxxxxxxxxxxxx\n```\n\n", + "description": "Provides a AnalyticDB for PostgreSQL instance resource which storage type is flexible. Compared to the reserved storage ADB PG instance, you can scale up each disk and smoothly scale out nodes online. \nFor more detail product introduction, see [here](https://www.alibabacloud.com/help/doc-detail/141368.htm).\n\n\u003e **NOTE:** Deprecated since v1.147.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.147.0`. Please use new resource alicloud_gpdb_instance.\n\n\n## Example Usage\n\n### Create a AnalyticDB for PostgreSQL instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"Gpdb\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: \"vpc-123456\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"vpc-123456\",\n});\nconst adbPgInstance = new alicloud.gpdb.ElasticInstance(\"adb_pg_instance\", {\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n instanceSpec: \"2C16G\",\n dbInstanceDescription: \"Created by terraform\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"Gpdb\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=\"vpc-123456\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n zone_id=default.zones[0].id,\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"vpc-123456\")\nadb_pg_instance = alicloud.gpdb.ElasticInstance(\"adb_pg_instance\",\n engine=\"gpdb\",\n engine_version=\"6.0\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n instance_spec=\"2C16G\",\n db_instance_description=\"Created by terraform\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Gpdb\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = \"vpc-123456\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"vpc-123456\",\n });\n\n var adbPgInstance = new AliCloud.Gpdb.ElasticInstance(\"adb_pg_instance\", new()\n {\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n InstanceSpec = \"2C16G\",\n DbInstanceDescription = \"Created by terraform\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Gpdb\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(\"vpc-123456\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"vpc-123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewElasticInstance(ctx, \"adb_pg_instance\", \u0026gpdb.ElasticInstanceArgs{\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"Created by terraform\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.ElasticInstance;\nimport com.pulumi.alicloud.gpdb.ElasticInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Gpdb\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(\"vpc-123456\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .zoneId(default_.zones()[0].id())\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"vpc-123456\")\n .build());\n\n var adbPgInstance = new ElasticInstance(\"adbPgInstance\", ElasticInstanceArgs.builder()\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .instanceSpec(\"2C16G\")\n .dbInstanceDescription(\"Created by terraform\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: vpc-123456\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n vswitchName: vpc-123456\n adbPgInstance:\n type: alicloud:gpdb:ElasticInstance\n name: adb_pg_instance\n properties:\n engine: gpdb\n engineVersion: '6.0'\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n instanceSpec: 2C16G\n dbInstanceDescription: Created by terraform\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Gpdb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/elasticInstance:ElasticInstance adb_pg_instance gp-bpxxxxxxxxxxxxxx\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -194258,7 +198089,7 @@ } }, "alicloud:gpdb/externalDataService:ExternalDataService": { - "description": "Provides a AnalyticDB for PostgreSQL (GPDB) External Data Service resource.\n\nExternal Data Services.\n\nFor information about AnalyticDB for PostgreSQL (GPDB) External Data Service and how to use it, see [What is External Data Service](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateExternalDataService).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultrple4a = new alicloud.vpc.Network(\"defaultrple4a\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultnYWSkl = new alicloud.vpc.Switch(\"defaultnYWSkl\", {\n vpcId: defaultrple4a.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultZ7DPgB = new alicloud.gpdb.Instance(\"defaultZ7DPgB\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultnYWSkl.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultrple4a.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultExternalDataService = new alicloud.gpdb.ExternalDataService(\"default\", {\n serviceName: \"example6\",\n dbInstanceId: defaultZ7DPgB.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefaultrple4a = alicloud.vpc.Network(\"defaultrple4a\", cidr_block=\"192.168.0.0/16\")\ndefaultn_yw_skl = alicloud.vpc.Switch(\"defaultnYWSkl\",\n vpc_id=defaultrple4a.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_z7_d_pg_b = alicloud.gpdb.Instance(\"defaultZ7DPgB\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultn_yw_skl.id,\n storage_size=50,\n master_cu=4,\n vpc_id=defaultrple4a.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_external_data_service = alicloud.gpdb.ExternalDataService(\"default\",\n service_name=\"example6\",\n db_instance_id=default_z7_d_pg_b.id,\n service_description=\"example\",\n service_spec=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultrple4a = new AliCloud.Vpc.Network(\"defaultrple4a\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultnYWSkl = new AliCloud.Vpc.Switch(\"defaultnYWSkl\", new()\n {\n VpcId = defaultrple4a.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultZ7DPgB = new AliCloud.Gpdb.Instance(\"defaultZ7DPgB\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultnYWSkl.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultrple4a.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultExternalDataService = new AliCloud.Gpdb.ExternalDataService(\"default\", new()\n {\n ServiceName = \"example6\",\n DbInstanceId = defaultZ7DPgB.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultrple4a, err := vpc.NewNetwork(ctx, \"defaultrple4a\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnYWSkl, err := vpc.NewSwitch(ctx, \"defaultnYWSkl\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultrple4a.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZ7DPgB, err := gpdb.NewInstance(ctx, \"defaultZ7DPgB\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultnYWSkl.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultrple4a.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewExternalDataService(ctx, \"default\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example6\"),\n\t\t\tDbInstanceId: defaultZ7DPgB.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultrple4a = new Network(\"defaultrple4a\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultnYWSkl = new Switch(\"defaultnYWSkl\", SwitchArgs.builder()\n .vpcId(defaultrple4a.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultZ7DPgB = new Instance(\"defaultZ7DPgB\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultnYWSkl.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultrple4a.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultExternalDataService = new ExternalDataService(\"defaultExternalDataService\", ExternalDataServiceArgs.builder()\n .serviceName(\"example6\")\n .dbInstanceId(defaultZ7DPgB.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultrple4a:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultnYWSkl:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultrple4a.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultZ7DPgB:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultnYWSkl.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultrple4a.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultExternalDataService:\n type: alicloud:gpdb:ExternalDataService\n name: default\n properties:\n serviceName: example6\n dbInstanceId: ${defaultZ7DPgB.id}\n serviceDescription: example\n serviceSpec: '8'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/externalDataService:ExternalDataService example \u003cdb_instance_id\u003e:\u003cservice_id\u003e\n```\n\n", + "description": "Provides a AnalyticDB for PostgreSQL (GPDB) External Data Service resource.\n\nExternal Data Services.\n\nFor information about AnalyticDB for PostgreSQL (GPDB) External Data Service and how to use it, see [What is External Data Service](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateExternalDataService).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultrple4a = new alicloud.vpc.Network(\"defaultrple4a\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultnYWSkl = new alicloud.vpc.Switch(\"defaultnYWSkl\", {\n vpcId: defaultrple4a.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultZ7DPgB = new alicloud.gpdb.Instance(\"defaultZ7DPgB\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultnYWSkl.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultrple4a.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultExternalDataService = new alicloud.gpdb.ExternalDataService(\"default\", {\n serviceName: \"example6\",\n dbInstanceId: defaultZ7DPgB.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefaultrple4a = alicloud.vpc.Network(\"defaultrple4a\", cidr_block=\"192.168.0.0/16\")\ndefaultn_yw_skl = alicloud.vpc.Switch(\"defaultnYWSkl\",\n vpc_id=defaultrple4a.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_z7_d_pg_b = alicloud.gpdb.Instance(\"defaultZ7DPgB\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultn_yw_skl.id,\n storage_size=50,\n master_cu=4,\n vpc_id=defaultrple4a.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_external_data_service = alicloud.gpdb.ExternalDataService(\"default\",\n service_name=\"example6\",\n db_instance_id=default_z7_d_pg_b.id,\n service_description=\"example\",\n service_spec=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultrple4a = new AliCloud.Vpc.Network(\"defaultrple4a\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultnYWSkl = new AliCloud.Vpc.Switch(\"defaultnYWSkl\", new()\n {\n VpcId = defaultrple4a.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultZ7DPgB = new AliCloud.Gpdb.Instance(\"defaultZ7DPgB\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultnYWSkl.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultrple4a.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultExternalDataService = new AliCloud.Gpdb.ExternalDataService(\"default\", new()\n {\n ServiceName = \"example6\",\n DbInstanceId = defaultZ7DPgB.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultrple4a, err := vpc.NewNetwork(ctx, \"defaultrple4a\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnYWSkl, err := vpc.NewSwitch(ctx, \"defaultnYWSkl\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultrple4a.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZ7DPgB, err := gpdb.NewInstance(ctx, \"defaultZ7DPgB\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultnYWSkl.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultrple4a.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewExternalDataService(ctx, \"default\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example6\"),\n\t\t\tDbInstanceId: defaultZ7DPgB.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultrple4a = new Network(\"defaultrple4a\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultnYWSkl = new Switch(\"defaultnYWSkl\", SwitchArgs.builder()\n .vpcId(defaultrple4a.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultZ7DPgB = new Instance(\"defaultZ7DPgB\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultnYWSkl.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultrple4a.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultExternalDataService = new ExternalDataService(\"defaultExternalDataService\", ExternalDataServiceArgs.builder()\n .serviceName(\"example6\")\n .dbInstanceId(defaultZ7DPgB.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultrple4a:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultnYWSkl:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultrple4a.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultZ7DPgB:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultnYWSkl.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultrple4a.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultExternalDataService:\n type: alicloud:gpdb:ExternalDataService\n name: default\n properties:\n serviceName: example6\n dbInstanceId: ${defaultZ7DPgB.id}\n serviceDescription: example\n serviceSpec: '8'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/externalDataService:ExternalDataService example \u003cdb_instance_id\u003e:\u003cservice_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -194360,7 +198191,7 @@ } }, "alicloud:gpdb/hadoopDataSource:HadoopDataSource": { - "description": "Provides a GPDB Hadoop Data Source resource.\n\nHadoop DataSource Config.\n\nFor information about GPDB Hadoop Data Source and how to use it, see [What is Hadoop Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createhadoopdatasource).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: \"cn-beijing-h\",\n}));\nconst defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"default\", {keyPairName: name});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role example.\",\n force: true,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetKeys = alicloud.kms.getKeys({\n status: \"Enabled\",\n});\nconst defaultCluster = new alicloud.emrv2.Cluster(\"default\", {\n nodeGroups: [\n {\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n instanceTypes: [\"ecs.g6.xlarge\"],\n nodeCount: 1,\n spotInstanceRemedy: false,\n dataDisks: [{\n count: 3,\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n }],\n nodeGroupName: \"emr-master\",\n paymentType: \"PayAsYouGo\",\n withPublicIp: false,\n gracefulShutdown: false,\n systemDisk: {\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n count: 1,\n },\n nodeGroupType: \"MASTER\",\n },\n {\n spotInstanceRemedy: false,\n nodeGroupType: \"CORE\",\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n nodeCount: 2,\n gracefulShutdown: false,\n systemDisk: {\n performanceLevel: \"PL0\",\n count: 1,\n category: \"cloud_essd\",\n size: 80,\n },\n dataDisks: [{\n count: 3,\n performanceLevel: \"PL0\",\n category: \"cloud_essd\",\n size: 80,\n }],\n nodeGroupName: \"emr-core\",\n paymentType: \"PayAsYouGo\",\n instanceTypes: [\"ecs.g6.xlarge\"],\n withPublicIp: false,\n },\n ],\n deployMode: \"NORMAL\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n releaseVersion: \"EMR-5.10.0\",\n applications: [\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n nodeAttributes: [{\n zoneId: \"cn-beijing-h\",\n keyPairName: defaultEcsKeyPair.id,\n dataDiskEncrypted: true,\n dataDiskKmsKeyId: defaultGetKeys.then(defaultGetKeys =\u003e defaultGetKeys.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n ramRole: defaultRole.name,\n securityGroupId: defaultSecurityGroup.id,\n }],\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n clusterName: name,\n paymentType: \"PayAsYouGo\",\n clusterType: \"DATAFLOW\",\n});\nconst defaultZoepvx = new alicloud.gpdb.Instance(\"defaultZoepvx\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n dbInstanceCategory: \"Basic\",\n});\nconst defaultyOxz1K = new alicloud.gpdb.ExternalDataService(\"defaultyOxz1K\", {\n serviceName: name,\n dbInstanceId: defaultZoepvx.id,\n serviceDescription: name,\n serviceSpec: \"8\",\n});\nconst defaultHadoopDataSource = new alicloud.gpdb.HadoopDataSource(\"default\", {\n hdfsConf: \"aaa\",\n dataSourceName: defaultyOxz1K.serviceName,\n yarnConf: \"aaa\",\n hiveConf: \"aaa\",\n hadoopCreateType: \"emr\",\n dataSourceDescription: name,\n mapReduceConf: \"aaa\",\n dataSourceType: \"hive\",\n hadoopCoreConf: \"aaa\",\n emrInstanceId: defaultCluster.id,\n dbInstanceId: defaultZoepvx.id,\n hadoopHostsAddress: \"aaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=\"cn-beijing-h\")\ndefault_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"default\", key_pair_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_role = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role example.\",\n force=True)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_keys = alicloud.kms.get_keys(status=\"Enabled\")\ndefault_cluster = alicloud.emrv2.Cluster(\"default\",\n node_groups=[\n {\n \"vswitch_ids\": [default_get_switches.ids[0]],\n \"instance_types\": [\"ecs.g6.xlarge\"],\n \"node_count\": 1,\n \"spot_instance_remedy\": False,\n \"data_disks\": [{\n \"count\": 3,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n }],\n \"node_group_name\": \"emr-master\",\n \"payment_type\": \"PayAsYouGo\",\n \"with_public_ip\": False,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n \"count\": 1,\n },\n \"node_group_type\": \"MASTER\",\n },\n {\n \"spot_instance_remedy\": False,\n \"node_group_type\": \"CORE\",\n \"vswitch_ids\": [default_get_switches.ids[0]],\n \"node_count\": 2,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"performance_level\": \"PL0\",\n \"count\": 1,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n },\n \"data_disks\": [{\n \"count\": 3,\n \"performance_level\": \"PL0\",\n \"category\": \"cloud_essd\",\n \"size\": 80,\n }],\n \"node_group_name\": \"emr-core\",\n \"payment_type\": \"PayAsYouGo\",\n \"instance_types\": [\"ecs.g6.xlarge\"],\n \"with_public_ip\": False,\n },\n ],\n deploy_mode=\"NORMAL\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n release_version=\"EMR-5.10.0\",\n applications=[\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n node_attributes=[{\n \"zone_id\": \"cn-beijing-h\",\n \"key_pair_name\": default_ecs_key_pair.id,\n \"data_disk_encrypted\": True,\n \"data_disk_kms_key_id\": default_get_keys.ids[0],\n \"vpc_id\": default_get_networks.ids[0],\n \"ram_role\": default_role.name,\n \"security_group_id\": default_security_group.id,\n }],\n resource_group_id=default_get_resource_groups.ids[0],\n cluster_name=name,\n payment_type=\"PayAsYouGo\",\n cluster_type=\"DATAFLOW\")\ndefault_zoepvx = alicloud.gpdb.Instance(\"defaultZoepvx\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default_get_switches.ids[0],\n storage_size=50,\n master_cu=4,\n vpc_id=default_get_networks.ids[0],\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n db_instance_category=\"Basic\")\ndefaulty_oxz1_k = alicloud.gpdb.ExternalDataService(\"defaultyOxz1K\",\n service_name=name,\n db_instance_id=default_zoepvx.id,\n service_description=name,\n service_spec=\"8\")\ndefault_hadoop_data_source = alicloud.gpdb.HadoopDataSource(\"default\",\n hdfs_conf=\"aaa\",\n data_source_name=defaulty_oxz1_k.service_name,\n yarn_conf=\"aaa\",\n hive_conf=\"aaa\",\n hadoop_create_type=\"emr\",\n data_source_description=name,\n map_reduce_conf=\"aaa\",\n data_source_type=\"hive\",\n hadoop_core_conf=\"aaa\",\n emr_instance_id=default_cluster.id,\n db_instance_id=default_zoepvx.id,\n hadoop_hosts_address=\"aaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-beijing-h\",\n });\n\n var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"default\", new()\n {\n KeyPairName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role example.\",\n Force = true,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetKeys = AliCloud.Kms.GetKeys.Invoke(new()\n {\n Status = \"Enabled\",\n });\n\n var defaultCluster = new AliCloud.Emrv2.Cluster(\"default\", new()\n {\n NodeGroups = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n InstanceTypes = new[]\n {\n \"ecs.g6.xlarge\",\n },\n NodeCount = 1,\n SpotInstanceRemedy = false,\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n },\n },\n NodeGroupName = \"emr-master\",\n PaymentType = \"PayAsYouGo\",\n WithPublicIp = false,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n Count = 1,\n },\n NodeGroupType = \"MASTER\",\n },\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n SpotInstanceRemedy = false,\n NodeGroupType = \"CORE\",\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n NodeCount = 2,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n PerformanceLevel = \"PL0\",\n Count = 1,\n Category = \"cloud_essd\",\n Size = 80,\n },\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n PerformanceLevel = \"PL0\",\n Category = \"cloud_essd\",\n Size = 80,\n },\n },\n NodeGroupName = \"emr-core\",\n PaymentType = \"PayAsYouGo\",\n InstanceTypes = new[]\n {\n \"ecs.g6.xlarge\",\n },\n WithPublicIp = false,\n },\n },\n DeployMode = \"NORMAL\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ReleaseVersion = \"EMR-5.10.0\",\n Applications = new[]\n {\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n },\n NodeAttributes = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs\n {\n ZoneId = \"cn-beijing-h\",\n KeyPairName = defaultEcsKeyPair.Id,\n DataDiskEncrypted = true,\n DataDiskKmsKeyId = defaultGetKeys.Apply(getKeysResult =\u003e getKeysResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n RamRole = defaultRole.Name,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ClusterName = name,\n PaymentType = \"PayAsYouGo\",\n ClusterType = \"DATAFLOW\",\n });\n\n var defaultZoepvx = new AliCloud.Gpdb.Instance(\"defaultZoepvx\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n DbInstanceCategory = \"Basic\",\n });\n\n var defaultyOxz1K = new AliCloud.Gpdb.ExternalDataService(\"defaultyOxz1K\", new()\n {\n ServiceName = name,\n DbInstanceId = defaultZoepvx.Id,\n ServiceDescription = name,\n ServiceSpec = \"8\",\n });\n\n var defaultHadoopDataSource = new AliCloud.Gpdb.HadoopDataSource(\"default\", new()\n {\n HdfsConf = \"aaa\",\n DataSourceName = defaultyOxz1K.ServiceName,\n YarnConf = \"aaa\",\n HiveConf = \"aaa\",\n HadoopCreateType = \"emr\",\n DataSourceDescription = name,\n MapReduceConf = \"aaa\",\n DataSourceType = \"hive\",\n HadoopCoreConf = \"aaa\",\n EmrInstanceId = defaultCluster.Id,\n DbInstanceId = defaultZoepvx.Id,\n HadoopHostsAddress = \"aaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emrv2\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-beijing-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"default\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role example.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetKeys, err := kms.GetKeys(ctx, \u0026kms.GetKeysArgs{\n\t\t\tStatus: pulumi.StringRef(\"Enabled\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := emrv2.NewCluster(ctx, \"default\", \u0026emrv2.ClusterArgs{\n\t\t\tNodeGroups: emrv2.ClusterNodeGroupArray{\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g6.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-master\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t},\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tNodeGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-core\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g6.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeployMode: pulumi.String(\"NORMAL\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tReleaseVersion: pulumi.String(\"EMR-5.10.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"HADOOP-COMMON\"),\n\t\t\t\tpulumi.String(\"HDFS\"),\n\t\t\t\tpulumi.String(\"YARN\"),\n\t\t\t},\n\t\t\tNodeAttributes: emrv2.ClusterNodeAttributeArray{\n\t\t\t\t\u0026emrv2.ClusterNodeAttributeArgs{\n\t\t\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\t\t\tKeyPairName: defaultEcsKeyPair.ID(),\n\t\t\t\t\tDataDiskEncrypted: pulumi.Bool(true),\n\t\t\t\t\tDataDiskKmsKeyId: pulumi.String(defaultGetKeys.Ids[0]),\n\t\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t\t\tRamRole: defaultRole.Name,\n\t\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tClusterType: pulumi.String(\"DATAFLOW\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZoepvx, err := gpdb.NewInstance(ctx, \"defaultZoepvx\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyOxz1K, err := gpdb.NewExternalDataService(ctx, \"defaultyOxz1K\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(name),\n\t\t\tDbInstanceId: defaultZoepvx.ID(),\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewHadoopDataSource(ctx, \"default\", \u0026gpdb.HadoopDataSourceArgs{\n\t\t\tHdfsConf: pulumi.String(\"aaa\"),\n\t\t\tDataSourceName: defaultyOxz1K.ServiceName,\n\t\t\tYarnConf: pulumi.String(\"aaa\"),\n\t\t\tHiveConf: pulumi.String(\"aaa\"),\n\t\t\tHadoopCreateType: pulumi.String(\"emr\"),\n\t\t\tDataSourceDescription: pulumi.String(name),\n\t\t\tMapReduceConf: pulumi.String(\"aaa\"),\n\t\t\tDataSourceType: pulumi.String(\"hive\"),\n\t\t\tHadoopCoreConf: pulumi.String(\"aaa\"),\n\t\t\tEmrInstanceId: defaultCluster.ID(),\n\t\t\tDbInstanceId: defaultZoepvx.ID(),\n\t\t\tHadoopHostsAddress: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.inputs.GetKeysArgs;\nimport com.pulumi.alicloud.emrv2.Cluster;\nimport com.pulumi.alicloud.emrv2.ClusterArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.HadoopDataSource;\nimport com.pulumi.alicloud.gpdb.HadoopDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(\"cn-beijing-h\")\n .build());\n\n var defaultEcsKeyPair = new EcsKeyPair(\"defaultEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role example.\")\n .force(true)\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetKeys = KmsFunctions.getKeys(GetKeysArgs.builder()\n .status(\"Enabled\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .nodeGroups( \n ClusterNodeGroupArgs.builder()\n .vswitchIds(defaultGetSwitches.ids()[0])\n .instanceTypes(\"ecs.g6.xlarge\")\n .nodeCount(1)\n .spotInstanceRemedy(false)\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .build())\n .nodeGroupName(\"emr-master\")\n .paymentType(\"PayAsYouGo\")\n .withPublicIp(false)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .count(1)\n .build())\n .nodeGroupType(\"MASTER\")\n .build(),\n ClusterNodeGroupArgs.builder()\n .spotInstanceRemedy(false)\n .nodeGroupType(\"CORE\")\n .vswitchIds(defaultGetSwitches.ids()[0])\n .nodeCount(2)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .performanceLevel(\"PL0\")\n .count(1)\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .performanceLevel(\"PL0\")\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .nodeGroupName(\"emr-core\")\n .paymentType(\"PayAsYouGo\")\n .instanceTypes(\"ecs.g6.xlarge\")\n .withPublicIp(false)\n .build())\n .deployMode(\"NORMAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .releaseVersion(\"EMR-5.10.0\")\n .applications( \n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\")\n .nodeAttributes(ClusterNodeAttributeArgs.builder()\n .zoneId(\"cn-beijing-h\")\n .keyPairName(defaultEcsKeyPair.id())\n .dataDiskEncrypted(true)\n .dataDiskKmsKeyId(defaultGetKeys.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .ramRole(defaultRole.name())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .clusterName(name)\n .paymentType(\"PayAsYouGo\")\n .clusterType(\"DATAFLOW\")\n .build());\n\n var defaultZoepvx = new Instance(\"defaultZoepvx\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultGetNetworks.ids()[0])\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .dbInstanceCategory(\"Basic\")\n .build());\n\n var defaultyOxz1K = new ExternalDataService(\"defaultyOxz1K\", ExternalDataServiceArgs.builder()\n .serviceName(name)\n .dbInstanceId(defaultZoepvx.id())\n .serviceDescription(name)\n .serviceSpec(\"8\")\n .build());\n\n var defaultHadoopDataSource = new HadoopDataSource(\"defaultHadoopDataSource\", HadoopDataSourceArgs.builder()\n .hdfsConf(\"aaa\")\n .dataSourceName(defaultyOxz1K.serviceName())\n .yarnConf(\"aaa\")\n .hiveConf(\"aaa\")\n .hadoopCreateType(\"emr\")\n .dataSourceDescription(name)\n .mapReduceConf(\"aaa\")\n .dataSourceType(\"hive\")\n .hadoopCoreConf(\"aaa\")\n .emrInstanceId(defaultCluster.id())\n .dbInstanceId(defaultZoepvx.id())\n .hadoopHostsAddress(\"aaa\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: default\n properties:\n keyPairName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role example.\n force: true\n defaultCluster:\n type: alicloud:emrv2:Cluster\n name: default\n properties:\n nodeGroups:\n - vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n instanceTypes:\n - ecs.g6.xlarge\n nodeCount: '1'\n spotInstanceRemedy: 'false'\n dataDisks:\n - count: '3'\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n nodeGroupName: emr-master\n paymentType: PayAsYouGo\n withPublicIp: 'false'\n gracefulShutdown: 'false'\n systemDisk:\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n count: '1'\n nodeGroupType: MASTER\n - spotInstanceRemedy: 'false'\n nodeGroupType: CORE\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n nodeCount: '2'\n gracefulShutdown: 'false'\n systemDisk:\n performanceLevel: PL0\n count: '1'\n category: cloud_essd\n size: '80'\n dataDisks:\n - count: '3'\n performanceLevel: PL0\n category: cloud_essd\n size: '80'\n nodeGroupName: emr-core\n paymentType: PayAsYouGo\n instanceTypes:\n - ecs.g6.xlarge\n withPublicIp: 'false'\n deployMode: NORMAL\n tags:\n Created: TF\n For: example\n releaseVersion: EMR-5.10.0\n applications:\n - HADOOP-COMMON\n - HDFS\n - YARN\n nodeAttributes:\n - zoneId: cn-beijing-h\n keyPairName: ${defaultEcsKeyPair.id}\n dataDiskEncrypted: 'true'\n dataDiskKmsKeyId: ${defaultGetKeys.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n ramRole: ${defaultRole.name}\n securityGroupId: ${defaultSecurityGroup.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n clusterName: ${name}\n paymentType: PayAsYouGo\n clusterType: DATAFLOW\n defaultZoepvx:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultGetSwitches.ids[0]}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultGetNetworks.ids[0]}\n dbInstanceMode: StorageElastic\n engine: gpdb\n dbInstanceCategory: Basic\n defaultyOxz1K:\n type: alicloud:gpdb:ExternalDataService\n properties:\n serviceName: ${name}\n dbInstanceId: ${defaultZoepvx.id}\n serviceDescription: ${name}\n serviceSpec: '8'\n defaultHadoopDataSource:\n type: alicloud:gpdb:HadoopDataSource\n name: default\n properties:\n hdfsConf: aaa\n dataSourceName: ${defaultyOxz1K.serviceName}\n yarnConf: aaa\n hiveConf: aaa\n hadoopCreateType: emr\n dataSourceDescription: ${name}\n mapReduceConf: aaa\n dataSourceType: hive\n hadoopCoreConf: aaa\n emrInstanceId: ${defaultCluster.id}\n dbInstanceId: ${defaultZoepvx.id}\n hadoopHostsAddress: aaa\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: cn-beijing-h\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetKeys:\n fn::invoke:\n function: alicloud:kms:getKeys\n arguments:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Hadoop Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/hadoopDataSource:HadoopDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", + "description": "Provides a GPDB Hadoop Data Source resource.\n\nHadoop DataSource Config.\n\nFor information about GPDB Hadoop Data Source and how to use it, see [What is Hadoop Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createhadoopdatasource).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: \"cn-beijing-h\",\n}));\nconst defaultEcsKeyPair = new alicloud.ecs.EcsKeyPair(\"default\", {keyPairName: name});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role example.\",\n force: true,\n});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultGetKeys = alicloud.kms.getKeys({\n status: \"Enabled\",\n});\nconst defaultCluster = new alicloud.emrv2.Cluster(\"default\", {\n nodeGroups: [\n {\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n instanceTypes: [\"ecs.g6.xlarge\"],\n nodeCount: 1,\n spotInstanceRemedy: false,\n dataDisks: [{\n count: 3,\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n }],\n nodeGroupName: \"emr-master\",\n paymentType: \"PayAsYouGo\",\n withPublicIp: false,\n gracefulShutdown: false,\n systemDisk: {\n category: \"cloud_essd\",\n size: 80,\n performanceLevel: \"PL0\",\n count: 1,\n },\n nodeGroupType: \"MASTER\",\n },\n {\n spotInstanceRemedy: false,\n nodeGroupType: \"CORE\",\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n nodeCount: 2,\n gracefulShutdown: false,\n systemDisk: {\n performanceLevel: \"PL0\",\n count: 1,\n category: \"cloud_essd\",\n size: 80,\n },\n dataDisks: [{\n count: 3,\n performanceLevel: \"PL0\",\n category: \"cloud_essd\",\n size: 80,\n }],\n nodeGroupName: \"emr-core\",\n paymentType: \"PayAsYouGo\",\n instanceTypes: [\"ecs.g6.xlarge\"],\n withPublicIp: false,\n },\n ],\n deployMode: \"NORMAL\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n releaseVersion: \"EMR-5.10.0\",\n applications: [\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n nodeAttributes: [{\n zoneId: \"cn-beijing-h\",\n keyPairName: defaultEcsKeyPair.id,\n dataDiskEncrypted: true,\n dataDiskKmsKeyId: defaultGetKeys.then(defaultGetKeys =\u003e defaultGetKeys.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n ramRole: defaultRole.name,\n securityGroupId: defaultSecurityGroup.id,\n }],\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n clusterName: name,\n paymentType: \"PayAsYouGo\",\n clusterType: \"DATAFLOW\",\n});\nconst defaultZoepvx = new alicloud.gpdb.Instance(\"defaultZoepvx\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n dbInstanceCategory: \"Basic\",\n});\nconst defaultyOxz1K = new alicloud.gpdb.ExternalDataService(\"defaultyOxz1K\", {\n serviceName: name,\n dbInstanceId: defaultZoepvx.id,\n serviceDescription: name,\n serviceSpec: \"8\",\n});\nconst defaultHadoopDataSource = new alicloud.gpdb.HadoopDataSource(\"default\", {\n hdfsConf: \"aaa\",\n dataSourceName: defaultyOxz1K.serviceName,\n yarnConf: \"aaa\",\n hiveConf: \"aaa\",\n hadoopCreateType: \"emr\",\n dataSourceDescription: name,\n mapReduceConf: \"aaa\",\n dataSourceType: \"hive\",\n hadoopCoreConf: \"aaa\",\n emrInstanceId: defaultCluster.id,\n dbInstanceId: defaultZoepvx.id,\n hadoopHostsAddress: \"aaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=\"cn-beijing-h\")\ndefault_ecs_key_pair = alicloud.ecs.EcsKeyPair(\"default\", key_pair_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_get_networks.ids[0])\ndefault_role = alicloud.ram.Role(\"default\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role example.\",\n force=True)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_get_keys = alicloud.kms.get_keys(status=\"Enabled\")\ndefault_cluster = alicloud.emrv2.Cluster(\"default\",\n node_groups=[\n {\n \"vswitch_ids\": [default_get_switches.ids[0]],\n \"instance_types\": [\"ecs.g6.xlarge\"],\n \"node_count\": 1,\n \"spot_instance_remedy\": False,\n \"data_disks\": [{\n \"count\": 3,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n }],\n \"node_group_name\": \"emr-master\",\n \"payment_type\": \"PayAsYouGo\",\n \"with_public_ip\": False,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"category\": \"cloud_essd\",\n \"size\": 80,\n \"performance_level\": \"PL0\",\n \"count\": 1,\n },\n \"node_group_type\": \"MASTER\",\n },\n {\n \"spot_instance_remedy\": False,\n \"node_group_type\": \"CORE\",\n \"vswitch_ids\": [default_get_switches.ids[0]],\n \"node_count\": 2,\n \"graceful_shutdown\": False,\n \"system_disk\": {\n \"performance_level\": \"PL0\",\n \"count\": 1,\n \"category\": \"cloud_essd\",\n \"size\": 80,\n },\n \"data_disks\": [{\n \"count\": 3,\n \"performance_level\": \"PL0\",\n \"category\": \"cloud_essd\",\n \"size\": 80,\n }],\n \"node_group_name\": \"emr-core\",\n \"payment_type\": \"PayAsYouGo\",\n \"instance_types\": [\"ecs.g6.xlarge\"],\n \"with_public_ip\": False,\n },\n ],\n deploy_mode=\"NORMAL\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n release_version=\"EMR-5.10.0\",\n applications=[\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n ],\n node_attributes=[{\n \"zone_id\": \"cn-beijing-h\",\n \"key_pair_name\": default_ecs_key_pair.id,\n \"data_disk_encrypted\": True,\n \"data_disk_kms_key_id\": default_get_keys.ids[0],\n \"vpc_id\": default_get_networks.ids[0],\n \"ram_role\": default_role.name,\n \"security_group_id\": default_security_group.id,\n }],\n resource_group_id=default_get_resource_groups.ids[0],\n cluster_name=name,\n payment_type=\"PayAsYouGo\",\n cluster_type=\"DATAFLOW\")\ndefault_zoepvx = alicloud.gpdb.Instance(\"defaultZoepvx\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default_get_switches.ids[0],\n storage_size=50,\n master_cu=4,\n vpc_id=default_get_networks.ids[0],\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n db_instance_category=\"Basic\")\ndefaulty_oxz1_k = alicloud.gpdb.ExternalDataService(\"defaultyOxz1K\",\n service_name=name,\n db_instance_id=default_zoepvx.id,\n service_description=name,\n service_spec=\"8\")\ndefault_hadoop_data_source = alicloud.gpdb.HadoopDataSource(\"default\",\n hdfs_conf=\"aaa\",\n data_source_name=defaulty_oxz1_k.service_name,\n yarn_conf=\"aaa\",\n hive_conf=\"aaa\",\n hadoop_create_type=\"emr\",\n data_source_description=name,\n map_reduce_conf=\"aaa\",\n data_source_type=\"hive\",\n hadoop_core_conf=\"aaa\",\n emr_instance_id=default_cluster.id,\n db_instance_id=default_zoepvx.id,\n hadoop_hosts_address=\"aaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-beijing-h\",\n });\n\n var defaultEcsKeyPair = new AliCloud.Ecs.EcsKeyPair(\"default\", new()\n {\n KeyPairName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role example.\",\n Force = true,\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultGetKeys = AliCloud.Kms.GetKeys.Invoke(new()\n {\n Status = \"Enabled\",\n });\n\n var defaultCluster = new AliCloud.Emrv2.Cluster(\"default\", new()\n {\n NodeGroups = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n InstanceTypes = new[]\n {\n \"ecs.g6.xlarge\",\n },\n NodeCount = 1,\n SpotInstanceRemedy = false,\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n },\n },\n NodeGroupName = \"emr-master\",\n PaymentType = \"PayAsYouGo\",\n WithPublicIp = false,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 80,\n PerformanceLevel = \"PL0\",\n Count = 1,\n },\n NodeGroupType = \"MASTER\",\n },\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupArgs\n {\n SpotInstanceRemedy = false,\n NodeGroupType = \"CORE\",\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n NodeCount = 2,\n GracefulShutdown = false,\n SystemDisk = new AliCloud.Emrv2.Inputs.ClusterNodeGroupSystemDiskArgs\n {\n PerformanceLevel = \"PL0\",\n Count = 1,\n Category = \"cloud_essd\",\n Size = 80,\n },\n DataDisks = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeGroupDataDiskArgs\n {\n Count = 3,\n PerformanceLevel = \"PL0\",\n Category = \"cloud_essd\",\n Size = 80,\n },\n },\n NodeGroupName = \"emr-core\",\n PaymentType = \"PayAsYouGo\",\n InstanceTypes = new[]\n {\n \"ecs.g6.xlarge\",\n },\n WithPublicIp = false,\n },\n },\n DeployMode = \"NORMAL\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ReleaseVersion = \"EMR-5.10.0\",\n Applications = new[]\n {\n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\",\n },\n NodeAttributes = new[]\n {\n new AliCloud.Emrv2.Inputs.ClusterNodeAttributeArgs\n {\n ZoneId = \"cn-beijing-h\",\n KeyPairName = defaultEcsKeyPair.Id,\n DataDiskEncrypted = true,\n DataDiskKmsKeyId = defaultGetKeys.Apply(getKeysResult =\u003e getKeysResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n RamRole = defaultRole.Name,\n SecurityGroupId = defaultSecurityGroup.Id,\n },\n },\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ClusterName = name,\n PaymentType = \"PayAsYouGo\",\n ClusterType = \"DATAFLOW\",\n });\n\n var defaultZoepvx = new AliCloud.Gpdb.Instance(\"defaultZoepvx\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n DbInstanceCategory = \"Basic\",\n });\n\n var defaultyOxz1K = new AliCloud.Gpdb.ExternalDataService(\"defaultyOxz1K\", new()\n {\n ServiceName = name,\n DbInstanceId = defaultZoepvx.Id,\n ServiceDescription = name,\n ServiceSpec = \"8\",\n });\n\n var defaultHadoopDataSource = new AliCloud.Gpdb.HadoopDataSource(\"default\", new()\n {\n HdfsConf = \"aaa\",\n DataSourceName = defaultyOxz1K.ServiceName,\n YarnConf = \"aaa\",\n HiveConf = \"aaa\",\n HadoopCreateType = \"emr\",\n DataSourceDescription = name,\n MapReduceConf = \"aaa\",\n DataSourceType = \"hive\",\n HadoopCoreConf = \"aaa\",\n EmrInstanceId = defaultCluster.Id,\n DbInstanceId = defaultZoepvx.Id,\n HadoopHostsAddress = \"aaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emrv2\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-beijing-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEcsKeyPair, err := ecs.NewEcsKeyPair(ctx, \"default\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role example.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetKeys, err := kms.GetKeys(ctx, \u0026kms.GetKeysArgs{\n\t\t\tStatus: pulumi.StringRef(\"Enabled\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := emrv2.NewCluster(ctx, \"default\", \u0026emrv2.ClusterArgs{\n\t\t\tNodeGroups: emrv2.ClusterNodeGroupArray{\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g6.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-master\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupType: pulumi.String(\"MASTER\"),\n\t\t\t\t},\n\t\t\t\t\u0026emrv2.ClusterNodeGroupArgs{\n\t\t\t\t\tSpotInstanceRemedy: pulumi.Bool(false),\n\t\t\t\t\tNodeGroupType: pulumi.String(\"CORE\"),\n\t\t\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t\t\t},\n\t\t\t\t\tNodeCount: pulumi.Int(2),\n\t\t\t\t\tGracefulShutdown: pulumi.Bool(false),\n\t\t\t\t\tSystemDisk: \u0026emrv2.ClusterNodeGroupSystemDiskArgs{\n\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t},\n\t\t\t\t\tDataDisks: emrv2.ClusterNodeGroupDataDiskArray{\n\t\t\t\t\t\t\u0026emrv2.ClusterNodeGroupDataDiskArgs{\n\t\t\t\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\t\t\tSize: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeGroupName: pulumi.String(\"emr-core\"),\n\t\t\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ecs.g6.xlarge\"),\n\t\t\t\t\t},\n\t\t\t\t\tWithPublicIp: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDeployMode: pulumi.String(\"NORMAL\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tReleaseVersion: pulumi.String(\"EMR-5.10.0\"),\n\t\t\tApplications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"HADOOP-COMMON\"),\n\t\t\t\tpulumi.String(\"HDFS\"),\n\t\t\t\tpulumi.String(\"YARN\"),\n\t\t\t},\n\t\t\tNodeAttributes: emrv2.ClusterNodeAttributeArray{\n\t\t\t\t\u0026emrv2.ClusterNodeAttributeArgs{\n\t\t\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\t\t\tKeyPairName: defaultEcsKeyPair.ID(),\n\t\t\t\t\tDataDiskEncrypted: pulumi.Bool(true),\n\t\t\t\t\tDataDiskKmsKeyId: pulumi.String(defaultGetKeys.Ids[0]),\n\t\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t\t\tRamRole: defaultRole.Name,\n\t\t\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tClusterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tClusterType: pulumi.String(\"DATAFLOW\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZoepvx, err := gpdb.NewInstance(ctx, \"defaultZoepvx\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyOxz1K, err := gpdb.NewExternalDataService(ctx, \"defaultyOxz1K\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(name),\n\t\t\tDbInstanceId: defaultZoepvx.ID(),\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewHadoopDataSource(ctx, \"default\", \u0026gpdb.HadoopDataSourceArgs{\n\t\t\tHdfsConf: pulumi.String(\"aaa\"),\n\t\t\tDataSourceName: defaultyOxz1K.ServiceName,\n\t\t\tYarnConf: pulumi.String(\"aaa\"),\n\t\t\tHiveConf: pulumi.String(\"aaa\"),\n\t\t\tHadoopCreateType: pulumi.String(\"emr\"),\n\t\t\tDataSourceDescription: pulumi.String(name),\n\t\t\tMapReduceConf: pulumi.String(\"aaa\"),\n\t\t\tDataSourceType: pulumi.String(\"hive\"),\n\t\t\tHadoopCoreConf: pulumi.String(\"aaa\"),\n\t\t\tEmrInstanceId: defaultCluster.ID(),\n\t\t\tDbInstanceId: defaultZoepvx.ID(),\n\t\t\tHadoopHostsAddress: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.inputs.GetKeysArgs;\nimport com.pulumi.alicloud.emrv2.Cluster;\nimport com.pulumi.alicloud.emrv2.ClusterArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeGroupSystemDiskArgs;\nimport com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.HadoopDataSource;\nimport com.pulumi.alicloud.gpdb.HadoopDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(\"cn-beijing-h\")\n .build());\n\n var defaultEcsKeyPair = new EcsKeyPair(\"defaultEcsKeyPair\", EcsKeyPairArgs.builder()\n .keyPairName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role example.\")\n .force(true)\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n final var defaultGetKeys = KmsFunctions.getKeys(GetKeysArgs.builder()\n .status(\"Enabled\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .nodeGroups( \n ClusterNodeGroupArgs.builder()\n .vswitchIds(defaultGetSwitches.ids()[0])\n .instanceTypes(\"ecs.g6.xlarge\")\n .nodeCount(1)\n .spotInstanceRemedy(false)\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .build())\n .nodeGroupName(\"emr-master\")\n .paymentType(\"PayAsYouGo\")\n .withPublicIp(false)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(80)\n .performanceLevel(\"PL0\")\n .count(1)\n .build())\n .nodeGroupType(\"MASTER\")\n .build(),\n ClusterNodeGroupArgs.builder()\n .spotInstanceRemedy(false)\n .nodeGroupType(\"CORE\")\n .vswitchIds(defaultGetSwitches.ids()[0])\n .nodeCount(2)\n .gracefulShutdown(false)\n .systemDisk(ClusterNodeGroupSystemDiskArgs.builder()\n .performanceLevel(\"PL0\")\n .count(1)\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .dataDisks(ClusterNodeGroupDataDiskArgs.builder()\n .count(3)\n .performanceLevel(\"PL0\")\n .category(\"cloud_essd\")\n .size(80)\n .build())\n .nodeGroupName(\"emr-core\")\n .paymentType(\"PayAsYouGo\")\n .instanceTypes(\"ecs.g6.xlarge\")\n .withPublicIp(false)\n .build())\n .deployMode(\"NORMAL\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .releaseVersion(\"EMR-5.10.0\")\n .applications( \n \"HADOOP-COMMON\",\n \"HDFS\",\n \"YARN\")\n .nodeAttributes(ClusterNodeAttributeArgs.builder()\n .zoneId(\"cn-beijing-h\")\n .keyPairName(defaultEcsKeyPair.id())\n .dataDiskEncrypted(true)\n .dataDiskKmsKeyId(defaultGetKeys.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .ramRole(defaultRole.name())\n .securityGroupId(defaultSecurityGroup.id())\n .build())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .clusterName(name)\n .paymentType(\"PayAsYouGo\")\n .clusterType(\"DATAFLOW\")\n .build());\n\n var defaultZoepvx = new Instance(\"defaultZoepvx\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultGetNetworks.ids()[0])\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .dbInstanceCategory(\"Basic\")\n .build());\n\n var defaultyOxz1K = new ExternalDataService(\"defaultyOxz1K\", ExternalDataServiceArgs.builder()\n .serviceName(name)\n .dbInstanceId(defaultZoepvx.id())\n .serviceDescription(name)\n .serviceSpec(\"8\")\n .build());\n\n var defaultHadoopDataSource = new HadoopDataSource(\"defaultHadoopDataSource\", HadoopDataSourceArgs.builder()\n .hdfsConf(\"aaa\")\n .dataSourceName(defaultyOxz1K.serviceName())\n .yarnConf(\"aaa\")\n .hiveConf(\"aaa\")\n .hadoopCreateType(\"emr\")\n .dataSourceDescription(name)\n .mapReduceConf(\"aaa\")\n .dataSourceType(\"hive\")\n .hadoopCoreConf(\"aaa\")\n .emrInstanceId(defaultCluster.id())\n .dbInstanceId(defaultZoepvx.id())\n .hadoopHostsAddress(\"aaa\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultEcsKeyPair:\n type: alicloud:ecs:EcsKeyPair\n name: default\n properties:\n keyPairName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role example.\n force: true\n defaultCluster:\n type: alicloud:emrv2:Cluster\n name: default\n properties:\n nodeGroups:\n - vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n instanceTypes:\n - ecs.g6.xlarge\n nodeCount: '1'\n spotInstanceRemedy: 'false'\n dataDisks:\n - count: '3'\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n nodeGroupName: emr-master\n paymentType: PayAsYouGo\n withPublicIp: 'false'\n gracefulShutdown: 'false'\n systemDisk:\n category: cloud_essd\n size: '80'\n performanceLevel: PL0\n count: '1'\n nodeGroupType: MASTER\n - spotInstanceRemedy: 'false'\n nodeGroupType: CORE\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n nodeCount: '2'\n gracefulShutdown: 'false'\n systemDisk:\n performanceLevel: PL0\n count: '1'\n category: cloud_essd\n size: '80'\n dataDisks:\n - count: '3'\n performanceLevel: PL0\n category: cloud_essd\n size: '80'\n nodeGroupName: emr-core\n paymentType: PayAsYouGo\n instanceTypes:\n - ecs.g6.xlarge\n withPublicIp: 'false'\n deployMode: NORMAL\n tags:\n Created: TF\n For: example\n releaseVersion: EMR-5.10.0\n applications:\n - HADOOP-COMMON\n - HDFS\n - YARN\n nodeAttributes:\n - zoneId: cn-beijing-h\n keyPairName: ${defaultEcsKeyPair.id}\n dataDiskEncrypted: 'true'\n dataDiskKmsKeyId: ${defaultGetKeys.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n ramRole: ${defaultRole.name}\n securityGroupId: ${defaultSecurityGroup.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n clusterName: ${name}\n paymentType: PayAsYouGo\n clusterType: DATAFLOW\n defaultZoepvx:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultGetSwitches.ids[0]}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultGetNetworks.ids[0]}\n dbInstanceMode: StorageElastic\n engine: gpdb\n dbInstanceCategory: Basic\n defaultyOxz1K:\n type: alicloud:gpdb:ExternalDataService\n properties:\n serviceName: ${name}\n dbInstanceId: ${defaultZoepvx.id}\n serviceDescription: ${name}\n serviceSpec: '8'\n defaultHadoopDataSource:\n type: alicloud:gpdb:HadoopDataSource\n name: default\n properties:\n hdfsConf: aaa\n dataSourceName: ${defaultyOxz1K.serviceName}\n yarnConf: aaa\n hiveConf: aaa\n hadoopCreateType: emr\n dataSourceDescription: ${name}\n mapReduceConf: aaa\n dataSourceType: hive\n hadoopCoreConf: aaa\n emrInstanceId: ${defaultCluster.id}\n dbInstanceId: ${defaultZoepvx.id}\n hadoopHostsAddress: aaa\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: cn-beijing-h\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n defaultGetKeys:\n fn::invoke:\n function: alicloud:kms:getKeys\n arguments:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Hadoop Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/hadoopDataSource:HadoopDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -194554,7 +198385,7 @@ } }, "alicloud:gpdb/instance:Instance": { - "description": "Provides a AnalyticDB for PostgreSQL instance resource supports replica set instances only. the AnalyticDB for PostgreSQL provides stable, reliable, and automatic scalable database services.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/en/analyticdb-for-postgresql/latest/api-gpdb-2016-05-03-createdbinstance)\n\n\u003e **NOTE:** Available since v1.47.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default_get_zones.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(defaultGetZones.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${defaultGetZones.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnalyticDB for PostgreSQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a AnalyticDB for PostgreSQL instance resource supports replica set instances only. the AnalyticDB for PostgreSQL provides stable, reliable, and automatic scalable database services.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/en/analyticdb-for-postgresql/latest/api-gpdb-2016-05-03-createdbinstance)\n\n\u003e **NOTE:** Available since v1.47.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.gpdb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.ids?.[0],\n}));\nconst defaultInstance = new alicloud.gpdb.Instance(\"default\", {\n dbInstanceCategory: \"HighAvailability\",\n dbInstanceClass: \"gpdb.group.segsdx1\",\n dbInstanceMode: \"StorageElastic\",\n description: name,\n engine: \"gpdb\",\n engineVersion: \"6.0\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.ids?.[0]),\n instanceNetworkType: \"VPC\",\n instanceSpec: \"2C16G\",\n paymentType: \"PayAsYouGo\",\n segStorageType: \"cloud_essd\",\n segNodeNum: 4,\n storageSize: 50,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n ipWhitelists: [{\n securityIpList: \"127.0.0.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.gpdb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.ids[0])\ndefault_instance = alicloud.gpdb.Instance(\"default\",\n db_instance_category=\"HighAvailability\",\n db_instance_class=\"gpdb.group.segsdx1\",\n db_instance_mode=\"StorageElastic\",\n description=name,\n engine=\"gpdb\",\n engine_version=\"6.0\",\n zone_id=default_get_zones.ids[0],\n instance_network_type=\"VPC\",\n instance_spec=\"2C16G\",\n payment_type=\"PayAsYouGo\",\n seg_storage_type=\"cloud_essd\",\n seg_node_num=4,\n storage_size=50,\n vpc_id=default_get_networks.ids[0],\n vswitch_id=default_get_switches.ids[0],\n ip_whitelists=[{\n \"security_ip_list\": \"127.0.0.1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Gpdb.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Gpdb.Instance(\"default\", new()\n {\n DbInstanceCategory = \"HighAvailability\",\n DbInstanceClass = \"gpdb.group.segsdx1\",\n DbInstanceMode = \"StorageElastic\",\n Description = name,\n Engine = \"gpdb\",\n EngineVersion = \"6.0\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n InstanceNetworkType = \"VPC\",\n InstanceSpec = \"2C16G\",\n PaymentType = \"PayAsYouGo\",\n SegStorageType = \"cloud_essd\",\n SegNodeNum = 4,\n StorageSize = 50,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n IpWhitelists = new[]\n {\n new AliCloud.Gpdb.Inputs.InstanceIpWhitelistArgs\n {\n SecurityIpList = \"127.0.0.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := gpdb.GetZones(ctx, \u0026gpdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewInstance(ctx, \"default\", \u0026gpdb.InstanceArgs{\n\t\t\tDbInstanceCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tDbInstanceClass: pulumi.String(\"gpdb.group.segsdx1\"),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Ids[0]),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tInstanceSpec: pulumi.String(\"2C16G\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSegNodeNum: pulumi.Int(4),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tIpWhitelists: gpdb.InstanceIpWhitelistArray{\n\t\t\t\t\u0026gpdb.InstanceIpWhitelistArgs{\n\t\t\t\t\tSecurityIpList: pulumi.String(\"127.0.0.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.gpdb.GpdbFunctions;\nimport com.pulumi.alicloud.gpdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.inputs.InstanceIpWhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = GpdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceCategory(\"HighAvailability\")\n .dbInstanceClass(\"gpdb.group.segsdx1\")\n .dbInstanceMode(\"StorageElastic\")\n .description(name)\n .engine(\"gpdb\")\n .engineVersion(\"6.0\")\n .zoneId(defaultGetZones.ids()[0])\n .instanceNetworkType(\"VPC\")\n .instanceSpec(\"2C16G\")\n .paymentType(\"PayAsYouGo\")\n .segStorageType(\"cloud_essd\")\n .segNodeNum(4)\n .storageSize(50)\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitchId(defaultGetSwitches.ids()[0])\n .ipWhitelists(InstanceIpWhitelistArgs.builder()\n .securityIpList(\"127.0.0.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:gpdb:Instance\n name: default\n properties:\n dbInstanceCategory: HighAvailability\n dbInstanceClass: gpdb.group.segsdx1\n dbInstanceMode: StorageElastic\n description: ${name}\n engine: gpdb\n engineVersion: '6.0'\n zoneId: ${defaultGetZones.ids[0]}\n instanceNetworkType: VPC\n instanceSpec: 2C16G\n paymentType: PayAsYouGo\n segStorageType: cloud_essd\n segNodeNum: 4\n storageSize: 50\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitchId: ${defaultGetSwitches.ids[0]}\n ipWhitelists:\n - securityIpList: 127.0.0.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:gpdb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "availabilityZone": { "type": "string", @@ -195194,7 +199025,7 @@ } }, "alicloud:gpdb/jdbcDataSource:JdbcDataSource": { - "description": "Provides a GPDB Jdbc Data Source resource.\n\n\n\nFor information about GPDB Jdbc Data Source and how to use it, see [What is Jdbc Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createjdbcdatasource).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: \"cn-beijing-h\",\n}));\nconst defaulttuqTmM = new alicloud.gpdb.Instance(\"defaulttuqTmM\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n dbInstanceCategory: \"Basic\",\n});\nconst defaultsk1eaS = new alicloud.gpdb.Account(\"defaultsk1eaS\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaulttuqTmM.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultRXkfKL = new alicloud.gpdb.ExternalDataService(\"defaultRXkfKL\", {\n serviceName: name,\n dbInstanceId: defaulttuqTmM.id,\n serviceDescription: \"myexample\",\n serviceSpec: \"8\",\n});\nconst defaultJdbcDataSource = new alicloud.gpdb.JdbcDataSource(\"default\", {\n jdbcConnectionString: \"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n dataSourceDescription: \"myexample\",\n dbInstanceId: defaulttuqTmM.id,\n jdbcPassword: \"example_001\",\n dataSourceName: defaultRXkfKL.serviceName,\n dataSourceType: \"mysql\",\n jdbcUserName: \"example_001\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=\"cn-beijing-h\")\ndefaulttuq_tm_m = alicloud.gpdb.Instance(\"defaulttuqTmM\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default_get_switches.ids[0],\n storage_size=50,\n master_cu=4,\n vpc_id=default_get_networks.ids[0],\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n db_instance_category=\"Basic\")\ndefaultsk1ea_s = alicloud.gpdb.Account(\"defaultsk1eaS\",\n account_description=\"example_001\",\n db_instance_id=defaulttuq_tm_m.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefault_r_xkf_kl = alicloud.gpdb.ExternalDataService(\"defaultRXkfKL\",\n service_name=name,\n db_instance_id=defaulttuq_tm_m.id,\n service_description=\"myexample\",\n service_spec=\"8\")\ndefault_jdbc_data_source = alicloud.gpdb.JdbcDataSource(\"default\",\n jdbc_connection_string=\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n data_source_description=\"myexample\",\n db_instance_id=defaulttuq_tm_m.id,\n jdbc_password=\"example_001\",\n data_source_name=default_r_xkf_kl.service_name,\n data_source_type=\"mysql\",\n jdbc_user_name=\"example_001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-beijing-h\",\n });\n\n var defaulttuqTmM = new AliCloud.Gpdb.Instance(\"defaulttuqTmM\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n DbInstanceCategory = \"Basic\",\n });\n\n var defaultsk1eaS = new AliCloud.Gpdb.Account(\"defaultsk1eaS\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaulttuqTmM.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultRXkfKL = new AliCloud.Gpdb.ExternalDataService(\"defaultRXkfKL\", new()\n {\n ServiceName = name,\n DbInstanceId = defaulttuqTmM.Id,\n ServiceDescription = \"myexample\",\n ServiceSpec = \"8\",\n });\n\n var defaultJdbcDataSource = new AliCloud.Gpdb.JdbcDataSource(\"default\", new()\n {\n JdbcConnectionString = \"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n DataSourceDescription = \"myexample\",\n DbInstanceId = defaulttuqTmM.Id,\n JdbcPassword = \"example_001\",\n DataSourceName = defaultRXkfKL.ServiceName,\n DataSourceType = \"mysql\",\n JdbcUserName = \"example_001\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-beijing-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulttuqTmM, err := gpdb.NewInstance(ctx, \"defaulttuqTmM\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewAccount(ctx, \"defaultsk1eaS\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRXkfKL, err := gpdb.NewExternalDataService(ctx, \"defaultRXkfKL\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(name),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tServiceDescription: pulumi.String(\"myexample\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewJdbcDataSource(ctx, \"default\", \u0026gpdb.JdbcDataSourceArgs{\n\t\t\tJdbcConnectionString: pulumi.String(\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\"),\n\t\t\tDataSourceDescription: pulumi.String(\"myexample\"),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tJdbcPassword: pulumi.String(\"example_001\"),\n\t\t\tDataSourceName: defaultRXkfKL.ServiceName,\n\t\t\tDataSourceType: pulumi.String(\"mysql\"),\n\t\t\tJdbcUserName: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.AccountArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.JdbcDataSource;\nimport com.pulumi.alicloud.gpdb.JdbcDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(\"cn-beijing-h\")\n .build());\n\n var defaulttuqTmM = new Instance(\"defaulttuqTmM\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultGetNetworks.ids()[0])\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .dbInstanceCategory(\"Basic\")\n .build());\n\n var defaultsk1eaS = new Account(\"defaultsk1eaS\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaulttuqTmM.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultRXkfKL = new ExternalDataService(\"defaultRXkfKL\", ExternalDataServiceArgs.builder()\n .serviceName(name)\n .dbInstanceId(defaulttuqTmM.id())\n .serviceDescription(\"myexample\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultJdbcDataSource = new JdbcDataSource(\"defaultJdbcDataSource\", JdbcDataSourceArgs.builder()\n .jdbcConnectionString(\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\")\n .dataSourceDescription(\"myexample\")\n .dbInstanceId(defaulttuqTmM.id())\n .jdbcPassword(\"example_001\")\n .dataSourceName(defaultRXkfKL.serviceName())\n .dataSourceType(\"mysql\")\n .jdbcUserName(\"example_001\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulttuqTmM:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultGetSwitches.ids[0]}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultGetNetworks.ids[0]}\n dbInstanceMode: StorageElastic\n engine: gpdb\n dbInstanceCategory: Basic\n defaultsk1eaS:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaulttuqTmM.id}\n accountName: example_001\n accountPassword: example_001\n defaultRXkfKL:\n type: alicloud:gpdb:ExternalDataService\n properties:\n serviceName: ${name}\n dbInstanceId: ${defaulttuqTmM.id}\n serviceDescription: myexample\n serviceSpec: '8'\n defaultJdbcDataSource:\n type: alicloud:gpdb:JdbcDataSource\n name: default\n properties:\n jdbcConnectionString: jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\n dataSourceDescription: myexample\n dbInstanceId: ${defaulttuqTmM.id}\n jdbcPassword: example_001\n dataSourceName: ${defaultRXkfKL.serviceName}\n dataSourceType: mysql\n jdbcUserName: example_001\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: cn-beijing-h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Jdbc Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/jdbcDataSource:JdbcDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", + "description": "Provides a GPDB Jdbc Data Source resource.\n\n\n\nFor information about GPDB Jdbc Data Source and how to use it, see [What is Jdbc Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createjdbcdatasource).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: \"cn-beijing-h\",\n}));\nconst defaulttuqTmM = new alicloud.gpdb.Instance(\"defaulttuqTmM\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n dbInstanceCategory: \"Basic\",\n});\nconst defaultsk1eaS = new alicloud.gpdb.Account(\"defaultsk1eaS\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaulttuqTmM.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultRXkfKL = new alicloud.gpdb.ExternalDataService(\"defaultRXkfKL\", {\n serviceName: name,\n dbInstanceId: defaulttuqTmM.id,\n serviceDescription: \"myexample\",\n serviceSpec: \"8\",\n});\nconst defaultJdbcDataSource = new alicloud.gpdb.JdbcDataSource(\"default\", {\n jdbcConnectionString: \"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n dataSourceDescription: \"myexample\",\n dbInstanceId: defaulttuqTmM.id,\n jdbcPassword: \"example_001\",\n dataSourceName: defaultRXkfKL.serviceName,\n dataSourceType: \"mysql\",\n jdbcUserName: \"example_001\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=\"cn-beijing-h\")\ndefaulttuq_tm_m = alicloud.gpdb.Instance(\"defaulttuqTmM\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default_get_switches.ids[0],\n storage_size=50,\n master_cu=4,\n vpc_id=default_get_networks.ids[0],\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\",\n db_instance_category=\"Basic\")\ndefaultsk1ea_s = alicloud.gpdb.Account(\"defaultsk1eaS\",\n account_description=\"example_001\",\n db_instance_id=defaulttuq_tm_m.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefault_r_xkf_kl = alicloud.gpdb.ExternalDataService(\"defaultRXkfKL\",\n service_name=name,\n db_instance_id=defaulttuq_tm_m.id,\n service_description=\"myexample\",\n service_spec=\"8\")\ndefault_jdbc_data_source = alicloud.gpdb.JdbcDataSource(\"default\",\n jdbc_connection_string=\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n data_source_description=\"myexample\",\n db_instance_id=defaulttuq_tm_m.id,\n jdbc_password=\"example_001\",\n data_source_name=default_r_xkf_kl.service_name,\n data_source_type=\"mysql\",\n jdbc_user_name=\"example_001\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-beijing-h\",\n });\n\n var defaulttuqTmM = new AliCloud.Gpdb.Instance(\"defaulttuqTmM\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n DbInstanceCategory = \"Basic\",\n });\n\n var defaultsk1eaS = new AliCloud.Gpdb.Account(\"defaultsk1eaS\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaulttuqTmM.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultRXkfKL = new AliCloud.Gpdb.ExternalDataService(\"defaultRXkfKL\", new()\n {\n ServiceName = name,\n DbInstanceId = defaulttuqTmM.Id,\n ServiceDescription = \"myexample\",\n ServiceSpec = \"8\",\n });\n\n var defaultJdbcDataSource = new AliCloud.Gpdb.JdbcDataSource(\"default\", new()\n {\n JdbcConnectionString = \"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\",\n DataSourceDescription = \"myexample\",\n DbInstanceId = defaulttuqTmM.Id,\n JdbcPassword = \"example_001\",\n DataSourceName = defaultRXkfKL.ServiceName,\n DataSourceType = \"mysql\",\n JdbcUserName = \"example_001\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-beijing-h\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulttuqTmM, err := gpdb.NewInstance(ctx, \"defaulttuqTmM\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewAccount(ctx, \"defaultsk1eaS\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRXkfKL, err := gpdb.NewExternalDataService(ctx, \"defaultRXkfKL\", \u0026gpdb.ExternalDataServiceArgs{\n\t\t\tServiceName: pulumi.String(name),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tServiceDescription: pulumi.String(\"myexample\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewJdbcDataSource(ctx, \"default\", \u0026gpdb.JdbcDataSourceArgs{\n\t\t\tJdbcConnectionString: pulumi.String(\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\"),\n\t\t\tDataSourceDescription: pulumi.String(\"myexample\"),\n\t\t\tDbInstanceId: defaulttuqTmM.ID(),\n\t\t\tJdbcPassword: pulumi.String(\"example_001\"),\n\t\t\tDataSourceName: defaultRXkfKL.ServiceName,\n\t\t\tDataSourceType: pulumi.String(\"mysql\"),\n\t\t\tJdbcUserName: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.AccountArgs;\nimport com.pulumi.alicloud.gpdb.ExternalDataService;\nimport com.pulumi.alicloud.gpdb.ExternalDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.JdbcDataSource;\nimport com.pulumi.alicloud.gpdb.JdbcDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(\"cn-beijing-h\")\n .build());\n\n var defaulttuqTmM = new Instance(\"defaulttuqTmM\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultGetNetworks.ids()[0])\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .dbInstanceCategory(\"Basic\")\n .build());\n\n var defaultsk1eaS = new Account(\"defaultsk1eaS\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaulttuqTmM.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultRXkfKL = new ExternalDataService(\"defaultRXkfKL\", ExternalDataServiceArgs.builder()\n .serviceName(name)\n .dbInstanceId(defaulttuqTmM.id())\n .serviceDescription(\"myexample\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultJdbcDataSource = new JdbcDataSource(\"defaultJdbcDataSource\", JdbcDataSourceArgs.builder()\n .jdbcConnectionString(\"jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\")\n .dataSourceDescription(\"myexample\")\n .dbInstanceId(defaulttuqTmM.id())\n .jdbcPassword(\"example_001\")\n .dataSourceName(defaultRXkfKL.serviceName())\n .dataSourceType(\"mysql\")\n .jdbcUserName(\"example_001\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulttuqTmM:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultGetSwitches.ids[0]}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultGetNetworks.ids[0]}\n dbInstanceMode: StorageElastic\n engine: gpdb\n dbInstanceCategory: Basic\n defaultsk1eaS:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaulttuqTmM.id}\n accountName: example_001\n accountPassword: example_001\n defaultRXkfKL:\n type: alicloud:gpdb:ExternalDataService\n properties:\n serviceName: ${name}\n dbInstanceId: ${defaulttuqTmM.id}\n serviceDescription: myexample\n serviceSpec: '8'\n defaultJdbcDataSource:\n type: alicloud:gpdb:JdbcDataSource\n name: default\n properties:\n jdbcConnectionString: jdbc:mysql://rm-2ze327yr44c61183c.mysql.rds.aliyuncs.com:3306/example_001\n dataSourceDescription: myexample\n dbInstanceId: ${defaulttuqTmM.id}\n jdbcPassword: example_001\n dataSourceName: ${defaultRXkfKL.serviceName}\n dataSourceType: mysql\n jdbcUserName: example_001\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: cn-beijing-h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Jdbc Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/jdbcDataSource:JdbcDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -195330,7 +199161,7 @@ } }, "alicloud:gpdb/remoteAdbDataSource:RemoteAdbDataSource": { - "description": "Provides a GPDB Remote ADB Data Source resource.\n\nRemoteADBDataSource is the data external table call method between greenplums, which will be used for data external table access between ADB-PG.\n\nFor information about GPDB Remote ADB Data Source and how to use it, see [What is Remote ADB Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createremoteadbdatasource).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst default4Mf0nY = new alicloud.vpc.Network(\"default4Mf0nY\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultwSAVpf = new alicloud.vpc.Switch(\"defaultwSAVpf\", {\n vpcId: default4Mf0nY.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultEtEzMF = new alicloud.gpdb.Instance(\"defaultEtEzMF\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwSAVpf.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default4Mf0nY.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultEY7t9t = new alicloud.gpdb.Instance(\"defaultEY7t9t\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwSAVpf.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default4Mf0nY.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst default26qpEo = new alicloud.gpdb.Account(\"default26qpEo\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaultEtEzMF.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultwXePof = new alicloud.gpdb.Account(\"defaultwXePof\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaultEY7t9t.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultRemoteAdbDataSource = new alicloud.gpdb.RemoteAdbDataSource(\"default\", {\n remoteDatabase: \"example_001\",\n managerUserName: \"example_001\",\n userName: \"example_001\",\n remoteDbInstanceId: defaultwXePof.dbInstanceId,\n localDatabase: \"example_001\",\n dataSourceName: \"myexample\",\n userPassword: \"example_001\",\n managerUserPassword: \"example_001\",\n localDbInstanceId: defaultEtEzMF.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault4_mf0n_y = alicloud.vpc.Network(\"default4Mf0nY\", cidr_block=\"192.168.0.0/16\")\ndefaultw_sa_vpf = alicloud.vpc.Switch(\"defaultwSAVpf\",\n vpc_id=default4_mf0n_y.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_et_ez_mf = alicloud.gpdb.Instance(\"defaultEtEzMF\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_sa_vpf.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default4_mf0n_y.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_ey7t9t = alicloud.gpdb.Instance(\"defaultEY7t9t\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_sa_vpf.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default4_mf0n_y.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault26qp_eo = alicloud.gpdb.Account(\"default26qpEo\",\n account_description=\"example_001\",\n db_instance_id=default_et_ez_mf.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefaultw_xe_pof = alicloud.gpdb.Account(\"defaultwXePof\",\n account_description=\"example_001\",\n db_instance_id=default_ey7t9t.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefault_remote_adb_data_source = alicloud.gpdb.RemoteAdbDataSource(\"default\",\n remote_database=\"example_001\",\n manager_user_name=\"example_001\",\n user_name=\"example_001\",\n remote_db_instance_id=defaultw_xe_pof.db_instance_id,\n local_database=\"example_001\",\n data_source_name=\"myexample\",\n user_password=\"example_001\",\n manager_user_password=\"example_001\",\n local_db_instance_id=default_et_ez_mf.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var default4Mf0nY = new AliCloud.Vpc.Network(\"default4Mf0nY\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultwSAVpf = new AliCloud.Vpc.Switch(\"defaultwSAVpf\", new()\n {\n VpcId = default4Mf0nY.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultEtEzMF = new AliCloud.Gpdb.Instance(\"defaultEtEzMF\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwSAVpf.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default4Mf0nY.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultEY7t9t = new AliCloud.Gpdb.Instance(\"defaultEY7t9t\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwSAVpf.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default4Mf0nY.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var default26qpEo = new AliCloud.Gpdb.Account(\"default26qpEo\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaultEtEzMF.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultwXePof = new AliCloud.Gpdb.Account(\"defaultwXePof\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaultEY7t9t.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultRemoteAdbDataSource = new AliCloud.Gpdb.RemoteAdbDataSource(\"default\", new()\n {\n RemoteDatabase = \"example_001\",\n ManagerUserName = \"example_001\",\n UserName = \"example_001\",\n RemoteDbInstanceId = defaultwXePof.DbInstanceId,\n LocalDatabase = \"example_001\",\n DataSourceName = \"myexample\",\n UserPassword = \"example_001\",\n ManagerUserPassword = \"example_001\",\n LocalDbInstanceId = defaultEtEzMF.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault4Mf0nY, err := vpc.NewNetwork(ctx, \"default4Mf0nY\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwSAVpf, err := vpc.NewSwitch(ctx, \"defaultwSAVpf\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEtEzMF, err := gpdb.NewInstance(ctx, \"defaultEtEzMF\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwSAVpf.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEY7t9t, err := gpdb.NewInstance(ctx, \"defaultEY7t9t\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwSAVpf.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewAccount(ctx, \"default26qpEo\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaultEtEzMF.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwXePof, err := gpdb.NewAccount(ctx, \"defaultwXePof\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaultEY7t9t.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewRemoteAdbDataSource(ctx, \"default\", \u0026gpdb.RemoteAdbDataSourceArgs{\n\t\t\tRemoteDatabase: pulumi.String(\"example_001\"),\n\t\t\tManagerUserName: pulumi.String(\"example_001\"),\n\t\t\tUserName: pulumi.String(\"example_001\"),\n\t\t\tRemoteDbInstanceId: defaultwXePof.DbInstanceId,\n\t\t\tLocalDatabase: pulumi.String(\"example_001\"),\n\t\t\tDataSourceName: pulumi.String(\"myexample\"),\n\t\t\tUserPassword: pulumi.String(\"example_001\"),\n\t\t\tManagerUserPassword: pulumi.String(\"example_001\"),\n\t\t\tLocalDbInstanceId: defaultEtEzMF.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.AccountArgs;\nimport com.pulumi.alicloud.gpdb.RemoteAdbDataSource;\nimport com.pulumi.alicloud.gpdb.RemoteAdbDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var default4Mf0nY = new Network(\"default4Mf0nY\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultwSAVpf = new Switch(\"defaultwSAVpf\", SwitchArgs.builder()\n .vpcId(default4Mf0nY.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultEtEzMF = new Instance(\"defaultEtEzMF\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwSAVpf.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default4Mf0nY.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultEY7t9t = new Instance(\"defaultEY7t9t\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwSAVpf.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default4Mf0nY.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var default26qpEo = new Account(\"default26qpEo\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaultEtEzMF.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultwXePof = new Account(\"defaultwXePof\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaultEY7t9t.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultRemoteAdbDataSource = new RemoteAdbDataSource(\"defaultRemoteAdbDataSource\", RemoteAdbDataSourceArgs.builder()\n .remoteDatabase(\"example_001\")\n .managerUserName(\"example_001\")\n .userName(\"example_001\")\n .remoteDbInstanceId(defaultwXePof.dbInstanceId())\n .localDatabase(\"example_001\")\n .dataSourceName(\"myexample\")\n .userPassword(\"example_001\")\n .managerUserPassword(\"example_001\")\n .localDbInstanceId(defaultEtEzMF.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default4Mf0nY:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultwSAVpf:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${default4Mf0nY.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultEtEzMF:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwSAVpf.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default4Mf0nY.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultEY7t9t:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwSAVpf.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default4Mf0nY.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n default26qpEo:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaultEtEzMF.id}\n accountName: example_001\n accountPassword: example_001\n defaultwXePof:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaultEY7t9t.id}\n accountName: example_001\n accountPassword: example_001\n defaultRemoteAdbDataSource:\n type: alicloud:gpdb:RemoteAdbDataSource\n name: default\n properties:\n remoteDatabase: example_001\n managerUserName: example_001\n userName: example_001\n remoteDbInstanceId: ${defaultwXePof.dbInstanceId}\n localDatabase: example_001\n dataSourceName: myexample\n userPassword: example_001\n managerUserPassword: example_001\n localDbInstanceId: ${defaultEtEzMF.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Remote ADB Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/remoteAdbDataSource:RemoteAdbDataSource example \u003clocal_db_instance_id\u003e:\u003cremote_adb_data_source_id\u003e\n```\n\n", + "description": "Provides a GPDB Remote ADB Data Source resource.\n\nRemoteADBDataSource is the data external table call method between greenplums, which will be used for data external table access between ADB-PG.\n\nFor information about GPDB Remote ADB Data Source and how to use it, see [What is Remote ADB Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createremoteadbdatasource).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst default4Mf0nY = new alicloud.vpc.Network(\"default4Mf0nY\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultwSAVpf = new alicloud.vpc.Switch(\"defaultwSAVpf\", {\n vpcId: default4Mf0nY.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaultEtEzMF = new alicloud.gpdb.Instance(\"defaultEtEzMF\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwSAVpf.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default4Mf0nY.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultEY7t9t = new alicloud.gpdb.Instance(\"defaultEY7t9t\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultwSAVpf.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: default4Mf0nY.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst default26qpEo = new alicloud.gpdb.Account(\"default26qpEo\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaultEtEzMF.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultwXePof = new alicloud.gpdb.Account(\"defaultwXePof\", {\n accountDescription: \"example_001\",\n dbInstanceId: defaultEY7t9t.id,\n accountName: \"example_001\",\n accountPassword: \"example_001\",\n});\nconst defaultRemoteAdbDataSource = new alicloud.gpdb.RemoteAdbDataSource(\"default\", {\n remoteDatabase: \"example_001\",\n managerUserName: \"example_001\",\n userName: \"example_001\",\n remoteDbInstanceId: defaultwXePof.dbInstanceId,\n localDatabase: \"example_001\",\n dataSourceName: \"myexample\",\n userPassword: \"example_001\",\n managerUserPassword: \"example_001\",\n localDbInstanceId: defaultEtEzMF.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault4_mf0n_y = alicloud.vpc.Network(\"default4Mf0nY\", cidr_block=\"192.168.0.0/16\")\ndefaultw_sa_vpf = alicloud.vpc.Switch(\"defaultwSAVpf\",\n vpc_id=default4_mf0n_y.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault_et_ez_mf = alicloud.gpdb.Instance(\"defaultEtEzMF\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_sa_vpf.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default4_mf0n_y.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_ey7t9t = alicloud.gpdb.Instance(\"defaultEY7t9t\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultw_sa_vpf.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default4_mf0n_y.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault26qp_eo = alicloud.gpdb.Account(\"default26qpEo\",\n account_description=\"example_001\",\n db_instance_id=default_et_ez_mf.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefaultw_xe_pof = alicloud.gpdb.Account(\"defaultwXePof\",\n account_description=\"example_001\",\n db_instance_id=default_ey7t9t.id,\n account_name=\"example_001\",\n account_password=\"example_001\")\ndefault_remote_adb_data_source = alicloud.gpdb.RemoteAdbDataSource(\"default\",\n remote_database=\"example_001\",\n manager_user_name=\"example_001\",\n user_name=\"example_001\",\n remote_db_instance_id=defaultw_xe_pof.db_instance_id,\n local_database=\"example_001\",\n data_source_name=\"myexample\",\n user_password=\"example_001\",\n manager_user_password=\"example_001\",\n local_db_instance_id=default_et_ez_mf.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var default4Mf0nY = new AliCloud.Vpc.Network(\"default4Mf0nY\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultwSAVpf = new AliCloud.Vpc.Switch(\"defaultwSAVpf\", new()\n {\n VpcId = default4Mf0nY.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaultEtEzMF = new AliCloud.Gpdb.Instance(\"defaultEtEzMF\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwSAVpf.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default4Mf0nY.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultEY7t9t = new AliCloud.Gpdb.Instance(\"defaultEY7t9t\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultwSAVpf.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = default4Mf0nY.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var default26qpEo = new AliCloud.Gpdb.Account(\"default26qpEo\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaultEtEzMF.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultwXePof = new AliCloud.Gpdb.Account(\"defaultwXePof\", new()\n {\n AccountDescription = \"example_001\",\n DbInstanceId = defaultEY7t9t.Id,\n AccountName = \"example_001\",\n AccountPassword = \"example_001\",\n });\n\n var defaultRemoteAdbDataSource = new AliCloud.Gpdb.RemoteAdbDataSource(\"default\", new()\n {\n RemoteDatabase = \"example_001\",\n ManagerUserName = \"example_001\",\n UserName = \"example_001\",\n RemoteDbInstanceId = defaultwXePof.DbInstanceId,\n LocalDatabase = \"example_001\",\n DataSourceName = \"myexample\",\n UserPassword = \"example_001\",\n ManagerUserPassword = \"example_001\",\n LocalDbInstanceId = defaultEtEzMF.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault4Mf0nY, err := vpc.NewNetwork(ctx, \"default4Mf0nY\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwSAVpf, err := vpc.NewSwitch(ctx, \"defaultwSAVpf\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEtEzMF, err := gpdb.NewInstance(ctx, \"defaultEtEzMF\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwSAVpf.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEY7t9t, err := gpdb.NewInstance(ctx, \"defaultEY7t9t\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultwSAVpf.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: default4Mf0nY.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewAccount(ctx, \"default26qpEo\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaultEtEzMF.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwXePof, err := gpdb.NewAccount(ctx, \"defaultwXePof\", \u0026gpdb.AccountArgs{\n\t\t\tAccountDescription: pulumi.String(\"example_001\"),\n\t\t\tDbInstanceId: defaultEY7t9t.ID(),\n\t\t\tAccountName: pulumi.String(\"example_001\"),\n\t\t\tAccountPassword: pulumi.String(\"example_001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewRemoteAdbDataSource(ctx, \"default\", \u0026gpdb.RemoteAdbDataSourceArgs{\n\t\t\tRemoteDatabase: pulumi.String(\"example_001\"),\n\t\t\tManagerUserName: pulumi.String(\"example_001\"),\n\t\t\tUserName: pulumi.String(\"example_001\"),\n\t\t\tRemoteDbInstanceId: defaultwXePof.DbInstanceId,\n\t\t\tLocalDatabase: pulumi.String(\"example_001\"),\n\t\t\tDataSourceName: pulumi.String(\"myexample\"),\n\t\t\tUserPassword: pulumi.String(\"example_001\"),\n\t\t\tManagerUserPassword: pulumi.String(\"example_001\"),\n\t\t\tLocalDbInstanceId: defaultEtEzMF.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.Account;\nimport com.pulumi.alicloud.gpdb.AccountArgs;\nimport com.pulumi.alicloud.gpdb.RemoteAdbDataSource;\nimport com.pulumi.alicloud.gpdb.RemoteAdbDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var default4Mf0nY = new Network(\"default4Mf0nY\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultwSAVpf = new Switch(\"defaultwSAVpf\", SwitchArgs.builder()\n .vpcId(default4Mf0nY.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaultEtEzMF = new Instance(\"defaultEtEzMF\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwSAVpf.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default4Mf0nY.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultEY7t9t = new Instance(\"defaultEY7t9t\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultwSAVpf.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(default4Mf0nY.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var default26qpEo = new Account(\"default26qpEo\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaultEtEzMF.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultwXePof = new Account(\"defaultwXePof\", AccountArgs.builder()\n .accountDescription(\"example_001\")\n .dbInstanceId(defaultEY7t9t.id())\n .accountName(\"example_001\")\n .accountPassword(\"example_001\")\n .build());\n\n var defaultRemoteAdbDataSource = new RemoteAdbDataSource(\"defaultRemoteAdbDataSource\", RemoteAdbDataSourceArgs.builder()\n .remoteDatabase(\"example_001\")\n .managerUserName(\"example_001\")\n .userName(\"example_001\")\n .remoteDbInstanceId(defaultwXePof.dbInstanceId())\n .localDatabase(\"example_001\")\n .dataSourceName(\"myexample\")\n .userPassword(\"example_001\")\n .managerUserPassword(\"example_001\")\n .localDbInstanceId(defaultEtEzMF.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default4Mf0nY:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultwSAVpf:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${default4Mf0nY.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaultEtEzMF:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwSAVpf.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default4Mf0nY.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultEY7t9t:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultwSAVpf.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${default4Mf0nY.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n default26qpEo:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaultEtEzMF.id}\n accountName: example_001\n accountPassword: example_001\n defaultwXePof:\n type: alicloud:gpdb:Account\n properties:\n accountDescription: example_001\n dbInstanceId: ${defaultEY7t9t.id}\n accountName: example_001\n accountPassword: example_001\n defaultRemoteAdbDataSource:\n type: alicloud:gpdb:RemoteAdbDataSource\n name: default\n properties:\n remoteDatabase: example_001\n managerUserName: example_001\n userName: example_001\n remoteDbInstanceId: ${defaultwXePof.dbInstanceId}\n localDatabase: example_001\n dataSourceName: myexample\n userPassword: example_001\n managerUserPassword: example_001\n localDbInstanceId: ${defaultEtEzMF.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Remote ADB Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/remoteAdbDataSource:RemoteAdbDataSource example \u003clocal_db_instance_id\u003e:\u003cremote_adb_data_source_id\u003e\n```\n\n", "properties": { "dataSourceName": { "type": "string", @@ -195505,7 +199336,7 @@ } }, "alicloud:gpdb/streamingDataService:StreamingDataService": { - "description": "Provides a GPDB Streaming Data Service resource.\n\n\n\nFor information about GPDB Streaming Data Service and how to use it, see [What is Streaming Data Service](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingdataservice).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultTXZPBL = new alicloud.vpc.Network(\"defaultTXZPBL\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultrJ5mmz = new alicloud.vpc.Switch(\"defaultrJ5mmz\", {\n vpcId: defaultTXZPBL.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst default1oSPzX = new alicloud.gpdb.Instance(\"default1oSPzX\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultrJ5mmz.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultTXZPBL.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultStreamingDataService = new alicloud.gpdb.StreamingDataService(\"default\", {\n serviceName: \"example\",\n dbInstanceId: default1oSPzX.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_txzpbl = alicloud.vpc.Network(\"defaultTXZPBL\", cidr_block=\"192.168.0.0/16\")\ndefaultr_j5mmz = alicloud.vpc.Switch(\"defaultrJ5mmz\",\n vpc_id=default_txzpbl.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault1o_s_pz_x = alicloud.gpdb.Instance(\"default1oSPzX\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultr_j5mmz.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_txzpbl.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_streaming_data_service = alicloud.gpdb.StreamingDataService(\"default\",\n service_name=\"example\",\n db_instance_id=default1o_s_pz_x.id,\n service_description=\"example\",\n service_spec=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultTXZPBL = new AliCloud.Vpc.Network(\"defaultTXZPBL\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultrJ5mmz = new AliCloud.Vpc.Switch(\"defaultrJ5mmz\", new()\n {\n VpcId = defaultTXZPBL.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var default1oSPzX = new AliCloud.Gpdb.Instance(\"default1oSPzX\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultrJ5mmz.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultTXZPBL.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultStreamingDataService = new AliCloud.Gpdb.StreamingDataService(\"default\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = default1oSPzX.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTXZPBL, err := vpc.NewNetwork(ctx, \"defaultTXZPBL\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultrJ5mmz, err := vpc.NewSwitch(ctx, \"defaultrJ5mmz\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultTXZPBL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1oSPzX, err := gpdb.NewInstance(ctx, \"default1oSPzX\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultrJ5mmz.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultTXZPBL.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingDataService(ctx, \"default\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: default1oSPzX.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultTXZPBL = new Network(\"defaultTXZPBL\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultrJ5mmz = new Switch(\"defaultrJ5mmz\", SwitchArgs.builder()\n .vpcId(defaultTXZPBL.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var default1oSPzX = new Instance(\"default1oSPzX\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultrJ5mmz.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultTXZPBL.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultStreamingDataService = new StreamingDataService(\"defaultStreamingDataService\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(default1oSPzX.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultTXZPBL:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultrJ5mmz:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultTXZPBL.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n default1oSPzX:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultrJ5mmz.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultTXZPBL.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultStreamingDataService:\n type: alicloud:gpdb:StreamingDataService\n name: default\n properties:\n serviceName: example\n dbInstanceId: ${default1oSPzX.id}\n serviceDescription: example\n serviceSpec: '8'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Streaming Data Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingDataService:StreamingDataService example \u003cdb_instance_id\u003e:\u003cservice_id\u003e\n```\n\n", + "description": "Provides a GPDB Streaming Data Service resource.\n\n\n\nFor information about GPDB Streaming Data Service and how to use it, see [What is Streaming Data Service](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingdataservice).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultTXZPBL = new alicloud.vpc.Network(\"defaultTXZPBL\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultrJ5mmz = new alicloud.vpc.Switch(\"defaultrJ5mmz\", {\n vpcId: defaultTXZPBL.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst default1oSPzX = new alicloud.gpdb.Instance(\"default1oSPzX\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultrJ5mmz.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultTXZPBL.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultStreamingDataService = new alicloud.gpdb.StreamingDataService(\"default\", {\n serviceName: \"example\",\n dbInstanceId: default1oSPzX.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_txzpbl = alicloud.vpc.Network(\"defaultTXZPBL\", cidr_block=\"192.168.0.0/16\")\ndefaultr_j5mmz = alicloud.vpc.Switch(\"defaultrJ5mmz\",\n vpc_id=default_txzpbl.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault1o_s_pz_x = alicloud.gpdb.Instance(\"default1oSPzX\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaultr_j5mmz.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_txzpbl.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault_streaming_data_service = alicloud.gpdb.StreamingDataService(\"default\",\n service_name=\"example\",\n db_instance_id=default1o_s_pz_x.id,\n service_description=\"example\",\n service_spec=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultTXZPBL = new AliCloud.Vpc.Network(\"defaultTXZPBL\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultrJ5mmz = new AliCloud.Vpc.Switch(\"defaultrJ5mmz\", new()\n {\n VpcId = defaultTXZPBL.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var default1oSPzX = new AliCloud.Gpdb.Instance(\"default1oSPzX\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultrJ5mmz.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultTXZPBL.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultStreamingDataService = new AliCloud.Gpdb.StreamingDataService(\"default\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = default1oSPzX.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTXZPBL, err := vpc.NewNetwork(ctx, \"defaultTXZPBL\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultrJ5mmz, err := vpc.NewSwitch(ctx, \"defaultrJ5mmz\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultTXZPBL.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1oSPzX, err := gpdb.NewInstance(ctx, \"default1oSPzX\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultrJ5mmz.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultTXZPBL.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingDataService(ctx, \"default\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: default1oSPzX.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultTXZPBL = new Network(\"defaultTXZPBL\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultrJ5mmz = new Switch(\"defaultrJ5mmz\", SwitchArgs.builder()\n .vpcId(defaultTXZPBL.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var default1oSPzX = new Instance(\"default1oSPzX\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultrJ5mmz.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultTXZPBL.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultStreamingDataService = new StreamingDataService(\"defaultStreamingDataService\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(default1oSPzX.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultTXZPBL:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultrJ5mmz:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultTXZPBL.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n default1oSPzX:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultrJ5mmz.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultTXZPBL.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultStreamingDataService:\n type: alicloud:gpdb:StreamingDataService\n name: default\n properties:\n serviceName: example\n dbInstanceId: ${default1oSPzX.id}\n serviceDescription: example\n serviceSpec: '8'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Streaming Data Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingDataService:StreamingDataService example \u003cdb_instance_id\u003e:\u003cservice_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -195607,7 +199438,7 @@ } }, "alicloud:gpdb/streamingDataSource:StreamingDataSource": { - "description": "Provides a GPDB Streaming Data Source resource.\n\nReal-time data source.\n\nFor information about GPDB Streaming Data Source and how to use it, see [What is Streaming Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingdatasource).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst kafka_config_modify = config.get(\"kafka-config-modify\") || `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`;\nconst kafka_config = config.get(\"kafka-config\") || `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`;\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultDfkYOR = new alicloud.vpc.Network(\"defaultDfkYOR\", {cidrBlock: \"192.168.0.0/16\"});\nconst default59ZqyD = new alicloud.vpc.Switch(\"default59ZqyD\", {\n vpcId: defaultDfkYOR.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst default7mX6ld = new alicloud.gpdb.Instance(\"default7mX6ld\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: default59ZqyD.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultDfkYOR.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultwruvdv = new alicloud.gpdb.StreamingDataService(\"defaultwruvdv\", {\n serviceName: \"example\",\n dbInstanceId: default7mX6ld.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\nconst defaultStreamingDataSource = new alicloud.gpdb.StreamingDataSource(\"default\", {\n dbInstanceId: default7mX6ld.id,\n dataSourceName: \"example-kafka3\",\n dataSourceConfig: kafka_config,\n dataSourceType: \"kafka\",\n dataSourceDescription: \"example-kafka\",\n serviceId: defaultwruvdv.serviceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nkafka_config_modify = config.get(\"kafka-config-modify\")\nif kafka_config_modify is None:\n kafka_config_modify = \"\"\"{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n\"\"\"\nkafka_config = config.get(\"kafka-config\")\nif kafka_config is None:\n kafka_config = \"\"\"{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n\"\"\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_dfk_yor = alicloud.vpc.Network(\"defaultDfkYOR\", cidr_block=\"192.168.0.0/16\")\ndefault59_zqy_d = alicloud.vpc.Switch(\"default59ZqyD\",\n vpc_id=default_dfk_yor.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault7m_x6ld = alicloud.gpdb.Instance(\"default7mX6ld\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default59_zqy_d.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_dfk_yor.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefaultwruvdv = alicloud.gpdb.StreamingDataService(\"defaultwruvdv\",\n service_name=\"example\",\n db_instance_id=default7m_x6ld.id,\n service_description=\"example\",\n service_spec=\"8\")\ndefault_streaming_data_source = alicloud.gpdb.StreamingDataSource(\"default\",\n db_instance_id=default7m_x6ld.id,\n data_source_name=\"example-kafka3\",\n data_source_config=kafka_config,\n data_source_type=\"kafka\",\n data_source_description=\"example-kafka\",\n service_id=defaultwruvdv.service_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var kafka_config_modify = config.Get(\"kafka-config-modify\") ?? @\"{\n \"\"brokers\"\": \"\"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"\",\n \"\"delimiter\"\": \"\"#\"\",\n \"\"format\"\": \"\"delimited\"\",\n \"\"topic\"\": \"\"ziyuan_example\"\"\n}\n\";\n var kafka_config = config.Get(\"kafka-config\") ?? @\"{\n \"\"brokers\"\": \"\"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"\",\n \"\"delimiter\"\": \"\"|\"\",\n \"\"format\"\": \"\"delimited\"\",\n \"\"topic\"\": \"\"ziyuan_example\"\"\n}\n\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultDfkYOR = new AliCloud.Vpc.Network(\"defaultDfkYOR\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var default59ZqyD = new AliCloud.Vpc.Switch(\"default59ZqyD\", new()\n {\n VpcId = defaultDfkYOR.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var default7mX6ld = new AliCloud.Gpdb.Instance(\"default7mX6ld\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = default59ZqyD.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultDfkYOR.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultwruvdv = new AliCloud.Gpdb.StreamingDataService(\"defaultwruvdv\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = default7mX6ld.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n var defaultStreamingDataSource = new AliCloud.Gpdb.StreamingDataSource(\"default\", new()\n {\n DbInstanceId = default7mX6ld.Id,\n DataSourceName = \"example-kafka3\",\n DataSourceConfig = kafka_config,\n DataSourceType = \"kafka\",\n DataSourceDescription = \"example-kafka\",\n ServiceId = defaultwruvdv.ServiceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tkafka_config_modify := `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`\n\t\tif param := cfg.Get(\"kafka-config-modify\"); param != \"\" {\n\t\t\tkafka_config_modify = param\n\t\t}\n\t\tkafka_config := `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`\n\t\tif param := cfg.Get(\"kafka-config\"); param != \"\" {\n\t\t\tkafka_config = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDfkYOR, err := vpc.NewNetwork(ctx, \"defaultDfkYOR\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault59ZqyD, err := vpc.NewSwitch(ctx, \"default59ZqyD\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultDfkYOR.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault7mX6ld, err := gpdb.NewInstance(ctx, \"default7mX6ld\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: default59ZqyD.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultDfkYOR.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwruvdv, err := gpdb.NewStreamingDataService(ctx, \"defaultwruvdv\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: default7mX6ld.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingDataSource(ctx, \"default\", \u0026gpdb.StreamingDataSourceArgs{\n\t\t\tDbInstanceId: default7mX6ld.ID(),\n\t\t\tDataSourceName: pulumi.String(\"example-kafka3\"),\n\t\t\tDataSourceConfig: pulumi.String(kafka_config),\n\t\t\tDataSourceType: pulumi.String(\"kafka\"),\n\t\t\tDataSourceDescription: pulumi.String(\"example-kafka\"),\n\t\t\tServiceId: defaultwruvdv.ServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataSource;\nimport com.pulumi.alicloud.gpdb.StreamingDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var kafka_config_modify = config.get(\"kafka-config-modify\").orElse(\"\"\"\n{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n \"\"\");\n final var kafka_config = config.get(\"kafka-config\").orElse(\"\"\"\n{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n \"\"\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultDfkYOR = new Network(\"defaultDfkYOR\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var default59ZqyD = new Switch(\"default59ZqyD\", SwitchArgs.builder()\n .vpcId(defaultDfkYOR.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var default7mX6ld = new Instance(\"default7mX6ld\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(default59ZqyD.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultDfkYOR.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultwruvdv = new StreamingDataService(\"defaultwruvdv\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(default7mX6ld.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultStreamingDataSource = new StreamingDataSource(\"defaultStreamingDataSource\", StreamingDataSourceArgs.builder()\n .dbInstanceId(default7mX6ld.id())\n .dataSourceName(\"example-kafka3\")\n .dataSourceConfig(kafka_config)\n .dataSourceType(\"kafka\")\n .dataSourceDescription(\"example-kafka\")\n .serviceId(defaultwruvdv.serviceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n kafka-config-modify:\n type: string\n default: |\n {\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n }\n kafka-config:\n type: string\n default: |\n {\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n }\nresources:\n defaultDfkYOR:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n default59ZqyD:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultDfkYOR.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n default7mX6ld:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${default59ZqyD.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultDfkYOR.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultwruvdv:\n type: alicloud:gpdb:StreamingDataService\n properties:\n serviceName: example\n dbInstanceId: ${default7mX6ld.id}\n serviceDescription: example\n serviceSpec: '8'\n defaultStreamingDataSource:\n type: alicloud:gpdb:StreamingDataSource\n name: default\n properties:\n dbInstanceId: ${default7mX6ld.id}\n dataSourceName: example-kafka3\n dataSourceConfig: ${[\"kafka-config\"]}\n dataSourceType: kafka\n dataSourceDescription: example-kafka\n serviceId: ${defaultwruvdv.serviceId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Streaming Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingDataSource:StreamingDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", + "description": "Provides a GPDB Streaming Data Source resource.\n\nReal-time data source.\n\nFor information about GPDB Streaming Data Source and how to use it, see [What is Streaming Data Source](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingdatasource).\n\n\u003e **NOTE:** Available since v1.227.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst kafka_config_modify = config.get(\"kafka-config-modify\") || `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`;\nconst kafka_config = config.get(\"kafka-config\") || `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`;\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultDfkYOR = new alicloud.vpc.Network(\"defaultDfkYOR\", {cidrBlock: \"192.168.0.0/16\"});\nconst default59ZqyD = new alicloud.vpc.Switch(\"default59ZqyD\", {\n vpcId: defaultDfkYOR.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst default7mX6ld = new alicloud.gpdb.Instance(\"default7mX6ld\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: default59ZqyD.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultDfkYOR.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst defaultwruvdv = new alicloud.gpdb.StreamingDataService(\"defaultwruvdv\", {\n serviceName: \"example\",\n dbInstanceId: default7mX6ld.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\nconst defaultStreamingDataSource = new alicloud.gpdb.StreamingDataSource(\"default\", {\n dbInstanceId: default7mX6ld.id,\n dataSourceName: \"example-kafka3\",\n dataSourceConfig: kafka_config,\n dataSourceType: \"kafka\",\n dataSourceDescription: \"example-kafka\",\n serviceId: defaultwruvdv.serviceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nkafka_config_modify = config.get(\"kafka-config-modify\")\nif kafka_config_modify is None:\n kafka_config_modify = \"\"\"{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n\"\"\"\nkafka_config = config.get(\"kafka-config\")\nif kafka_config is None:\n kafka_config = \"\"\"{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n\"\"\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_dfk_yor = alicloud.vpc.Network(\"defaultDfkYOR\", cidr_block=\"192.168.0.0/16\")\ndefault59_zqy_d = alicloud.vpc.Switch(\"default59ZqyD\",\n vpc_id=default_dfk_yor.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefault7m_x6ld = alicloud.gpdb.Instance(\"default7mX6ld\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=default59_zqy_d.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_dfk_yor.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefaultwruvdv = alicloud.gpdb.StreamingDataService(\"defaultwruvdv\",\n service_name=\"example\",\n db_instance_id=default7m_x6ld.id,\n service_description=\"example\",\n service_spec=\"8\")\ndefault_streaming_data_source = alicloud.gpdb.StreamingDataSource(\"default\",\n db_instance_id=default7m_x6ld.id,\n data_source_name=\"example-kafka3\",\n data_source_config=kafka_config,\n data_source_type=\"kafka\",\n data_source_description=\"example-kafka\",\n service_id=defaultwruvdv.service_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var kafka_config_modify = config.Get(\"kafka-config-modify\") ?? @\"{\n \"\"brokers\"\": \"\"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"\",\n \"\"delimiter\"\": \"\"#\"\",\n \"\"format\"\": \"\"delimited\"\",\n \"\"topic\"\": \"\"ziyuan_example\"\"\n}\n\";\n var kafka_config = config.Get(\"kafka-config\") ?? @\"{\n \"\"brokers\"\": \"\"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"\",\n \"\"delimiter\"\": \"\"|\"\",\n \"\"format\"\": \"\"delimited\"\",\n \"\"topic\"\": \"\"ziyuan_example\"\"\n}\n\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultDfkYOR = new AliCloud.Vpc.Network(\"defaultDfkYOR\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var default59ZqyD = new AliCloud.Vpc.Switch(\"default59ZqyD\", new()\n {\n VpcId = defaultDfkYOR.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var default7mX6ld = new AliCloud.Gpdb.Instance(\"default7mX6ld\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = default59ZqyD.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultDfkYOR.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var defaultwruvdv = new AliCloud.Gpdb.StreamingDataService(\"defaultwruvdv\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = default7mX6ld.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n var defaultStreamingDataSource = new AliCloud.Gpdb.StreamingDataSource(\"default\", new()\n {\n DbInstanceId = default7mX6ld.Id,\n DataSourceName = \"example-kafka3\",\n DataSourceConfig = kafka_config,\n DataSourceType = \"kafka\",\n DataSourceDescription = \"example-kafka\",\n ServiceId = defaultwruvdv.ServiceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tkafka_config_modify := `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`\n\t\tif param := cfg.Get(\"kafka-config-modify\"); param != \"\" {\n\t\t\tkafka_config_modify = param\n\t\t}\n\t\tkafka_config := `{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n`\n\t\tif param := cfg.Get(\"kafka-config\"); param != \"\" {\n\t\t\tkafka_config = param\n\t\t}\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDfkYOR, err := vpc.NewNetwork(ctx, \"defaultDfkYOR\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault59ZqyD, err := vpc.NewSwitch(ctx, \"default59ZqyD\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultDfkYOR.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault7mX6ld, err := gpdb.NewInstance(ctx, \"default7mX6ld\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: default59ZqyD.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultDfkYOR.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultwruvdv, err := gpdb.NewStreamingDataService(ctx, \"defaultwruvdv\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: default7mX6ld.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingDataSource(ctx, \"default\", \u0026gpdb.StreamingDataSourceArgs{\n\t\t\tDbInstanceId: default7mX6ld.ID(),\n\t\t\tDataSourceName: pulumi.String(\"example-kafka3\"),\n\t\t\tDataSourceConfig: pulumi.String(kafka_config),\n\t\t\tDataSourceType: pulumi.String(\"kafka\"),\n\t\t\tDataSourceDescription: pulumi.String(\"example-kafka\"),\n\t\t\tServiceId: defaultwruvdv.ServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataSource;\nimport com.pulumi.alicloud.gpdb.StreamingDataSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var kafka_config_modify = config.get(\"kafka-config-modify\").orElse(\"\"\"\n{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n \"\"\");\n final var kafka_config = config.get(\"kafka-config\").orElse(\"\"\"\n{\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n}\n \"\"\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultDfkYOR = new Network(\"defaultDfkYOR\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var default59ZqyD = new Switch(\"default59ZqyD\", SwitchArgs.builder()\n .vpcId(defaultDfkYOR.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var default7mX6ld = new Instance(\"default7mX6ld\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(default59ZqyD.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultDfkYOR.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var defaultwruvdv = new StreamingDataService(\"defaultwruvdv\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(default7mX6ld.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultStreamingDataSource = new StreamingDataSource(\"defaultStreamingDataSource\", StreamingDataSourceArgs.builder()\n .dbInstanceId(default7mX6ld.id())\n .dataSourceName(\"example-kafka3\")\n .dataSourceConfig(kafka_config)\n .dataSourceType(\"kafka\")\n .dataSourceDescription(\"example-kafka\")\n .serviceId(defaultwruvdv.serviceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n kafka-config-modify:\n type: string\n default: |\n {\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"#\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n }\n kafka-config:\n type: string\n default: |\n {\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\"\n }\nresources:\n defaultDfkYOR:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n default59ZqyD:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultDfkYOR.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n default7mX6ld:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${default59ZqyD.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultDfkYOR.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n defaultwruvdv:\n type: alicloud:gpdb:StreamingDataService\n properties:\n serviceName: example\n dbInstanceId: ${default7mX6ld.id}\n serviceDescription: example\n serviceSpec: '8'\n defaultStreamingDataSource:\n type: alicloud:gpdb:StreamingDataSource\n name: default\n properties:\n dbInstanceId: ${default7mX6ld.id}\n dataSourceName: example-kafka3\n dataSourceConfig: ${[\"kafka-config\"]}\n dataSourceType: kafka\n dataSourceDescription: example-kafka\n serviceId: ${defaultwruvdv.serviceId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Streaming Data Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingDataSource:StreamingDataSource example \u003cdb_instance_id\u003e:\u003cdata_source_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -195741,7 +199572,7 @@ } }, "alicloud:gpdb/streamingJob:StreamingJob": { - "description": "Provides a GPDB Streaming Job resource.\n\nReal-time data tasks.\n\nFor information about GPDB Streaming Job and how to use it, see [What is Streaming Job](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingjob).\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultTXqb15 = new alicloud.vpc.Network(\"defaultTXqb15\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultaSWhbT = new alicloud.vpc.Switch(\"defaultaSWhbT\", {\n vpcId: defaultTXqb15.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaulth2ghc1 = new alicloud.gpdb.Instance(\"defaulth2ghc1\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultaSWhbT.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultTXqb15.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst default2dUszY = new alicloud.gpdb.StreamingDataService(\"default2dUszY\", {\n serviceName: \"example\",\n dbInstanceId: defaulth2ghc1.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\nconst defaultcDQItu = new alicloud.gpdb.StreamingDataSource(\"defaultcDQItu\", {\n dbInstanceId: defaulth2ghc1.id,\n dataSourceName: \"example\",\n dataSourceConfig: JSON.stringify({\n brokers: \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n delimiter: \"|\",\n format: \"delimited\",\n topic: \"ziyuan_example\",\n }),\n dataSourceType: \"kafka\",\n dataSourceDescription: \"example\",\n serviceId: default2dUszY.serviceId,\n});\nconst _default = new alicloud.gpdb.StreamingJob(\"default\", {\n account: \"example_001\",\n destSchema: \"public\",\n mode: \"professional\",\n jobName: \"example-kafka\",\n jobDescription: \"example-kafka\",\n destDatabase: \"adb_sampledata_tpch\",\n dbInstanceId: defaulth2ghc1.id,\n destTable: \"customer\",\n dataSourceId: defaultcDQItu.dataSourceId,\n password: \"example_001\",\n jobConfig: `ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\\\\\'|\\\\\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\\\\\'|\\\\\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n`,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_t_xqb15 = alicloud.vpc.Network(\"defaultTXqb15\", cidr_block=\"192.168.0.0/16\")\ndefaulta_s_whb_t = alicloud.vpc.Switch(\"defaultaSWhbT\",\n vpc_id=default_t_xqb15.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefaulth2ghc1 = alicloud.gpdb.Instance(\"defaulth2ghc1\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaulta_s_whb_t.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_t_xqb15.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault2d_usz_y = alicloud.gpdb.StreamingDataService(\"default2dUszY\",\n service_name=\"example\",\n db_instance_id=defaulth2ghc1.id,\n service_description=\"example\",\n service_spec=\"8\")\ndefaultc_dq_itu = alicloud.gpdb.StreamingDataSource(\"defaultcDQItu\",\n db_instance_id=defaulth2ghc1.id,\n data_source_name=\"example\",\n data_source_config=json.dumps({\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\",\n }),\n data_source_type=\"kafka\",\n data_source_description=\"example\",\n service_id=default2d_usz_y.service_id)\ndefault = alicloud.gpdb.StreamingJob(\"default\",\n account=\"example_001\",\n dest_schema=\"public\",\n mode=\"professional\",\n job_name=\"example-kafka\",\n job_description=\"example-kafka\",\n dest_database=\"adb_sampledata_tpch\",\n db_instance_id=defaulth2ghc1.id,\n dest_table=\"customer\",\n data_source_id=defaultc_dq_itu.data_source_id,\n password=\"example_001\",\n job_config=\"\"\"ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultTXqb15 = new AliCloud.Vpc.Network(\"defaultTXqb15\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultaSWhbT = new AliCloud.Vpc.Switch(\"defaultaSWhbT\", new()\n {\n VpcId = defaultTXqb15.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaulth2ghc1 = new AliCloud.Gpdb.Instance(\"defaulth2ghc1\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultaSWhbT.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultTXqb15.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var default2dUszY = new AliCloud.Gpdb.StreamingDataService(\"default2dUszY\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = defaulth2ghc1.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n var defaultcDQItu = new AliCloud.Gpdb.StreamingDataSource(\"defaultcDQItu\", new()\n {\n DbInstanceId = defaulth2ghc1.Id,\n DataSourceName = \"example\",\n DataSourceConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"brokers\"] = \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n [\"delimiter\"] = \"|\",\n [\"format\"] = \"delimited\",\n [\"topic\"] = \"ziyuan_example\",\n }),\n DataSourceType = \"kafka\",\n DataSourceDescription = \"example\",\n ServiceId = default2dUszY.ServiceId,\n });\n\n var @default = new AliCloud.Gpdb.StreamingJob(\"default\", new()\n {\n Account = \"example_001\",\n DestSchema = \"public\",\n Mode = \"professional\",\n JobName = \"example-kafka\",\n JobDescription = \"example-kafka\",\n DestDatabase = \"adb_sampledata_tpch\",\n DbInstanceId = defaulth2ghc1.Id,\n DestTable = \"customer\",\n DataSourceId = defaultcDQItu.DataSourceId,\n Password = \"example_001\",\n JobConfig = @\"ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultTXqb15, err := vpc.NewNetwork(ctx, \"defaultTXqb15\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultaSWhbT, err := vpc.NewSwitch(ctx, \"defaultaSWhbT\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultTXqb15.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulth2ghc1, err := gpdb.NewInstance(ctx, \"defaulth2ghc1\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultaSWhbT.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultTXqb15.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2dUszY, err := gpdb.NewStreamingDataService(ctx, \"default2dUszY\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\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\"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n\t\t\t\"delimiter\": \"|\",\n\t\t\t\"format\": \"delimited\",\n\t\t\t\"topic\": \"ziyuan_example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultcDQItu, err := gpdb.NewStreamingDataSource(ctx, \"defaultcDQItu\", \u0026gpdb.StreamingDataSourceArgs{\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tDataSourceName: pulumi.String(\"example\"),\n\t\t\tDataSourceConfig: pulumi.String(json0),\n\t\t\tDataSourceType: pulumi.String(\"kafka\"),\n\t\t\tDataSourceDescription: pulumi.String(\"example\"),\n\t\t\tServiceId: default2dUszY.ServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingJob(ctx, \"default\", \u0026gpdb.StreamingJobArgs{\n\t\t\tAccount: pulumi.String(\"example_001\"),\n\t\t\tDestSchema: pulumi.String(\"public\"),\n\t\t\tMode: pulumi.String(\"professional\"),\n\t\t\tJobName: pulumi.String(\"example-kafka\"),\n\t\t\tJobDescription: pulumi.String(\"example-kafka\"),\n\t\t\tDestDatabase: pulumi.String(\"adb_sampledata_tpch\"),\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tDestTable: pulumi.String(\"customer\"),\n\t\t\tDataSourceId: defaultcDQItu.DataSourceId,\n\t\t\tPassword: pulumi.String(\"example_001\"),\n\t\t\tJobConfig: pulumi.String(`ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataSource;\nimport com.pulumi.alicloud.gpdb.StreamingDataSourceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingJob;\nimport com.pulumi.alicloud.gpdb.StreamingJobArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultTXqb15 = new Network(\"defaultTXqb15\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultaSWhbT = new Switch(\"defaultaSWhbT\", SwitchArgs.builder()\n .vpcId(defaultTXqb15.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaulth2ghc1 = new Instance(\"defaulth2ghc1\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultaSWhbT.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultTXqb15.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var default2dUszY = new StreamingDataService(\"default2dUszY\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(defaulth2ghc1.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultcDQItu = new StreamingDataSource(\"defaultcDQItu\", StreamingDataSourceArgs.builder()\n .dbInstanceId(defaulth2ghc1.id())\n .dataSourceName(\"example\")\n .dataSourceConfig(serializeJson(\n jsonObject(\n jsonProperty(\"brokers\", \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"),\n jsonProperty(\"delimiter\", \"|\"),\n jsonProperty(\"format\", \"delimited\"),\n jsonProperty(\"topic\", \"ziyuan_example\")\n )))\n .dataSourceType(\"kafka\")\n .dataSourceDescription(\"example\")\n .serviceId(default2dUszY.serviceId())\n .build());\n\n var default_ = new StreamingJob(\"default\", StreamingJobArgs.builder()\n .account(\"example_001\")\n .destSchema(\"public\")\n .mode(\"professional\")\n .jobName(\"example-kafka\")\n .jobDescription(\"example-kafka\")\n .destDatabase(\"adb_sampledata_tpch\")\n .dbInstanceId(defaulth2ghc1.id())\n .destTable(\"customer\")\n .dataSourceId(defaultcDQItu.dataSourceId())\n .password(\"example_001\")\n .jobConfig(\"\"\"\nATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultTXqb15:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultaSWhbT:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultTXqb15.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaulth2ghc1:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultaSWhbT.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultTXqb15.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n default2dUszY:\n type: alicloud:gpdb:StreamingDataService\n properties:\n serviceName: example\n dbInstanceId: ${defaulth2ghc1.id}\n serviceDescription: example\n serviceSpec: '8'\n defaultcDQItu:\n type: alicloud:gpdb:StreamingDataSource\n properties:\n dbInstanceId: ${defaulth2ghc1.id}\n dataSourceName: example\n dataSourceConfig:\n fn::toJSON:\n brokers: alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\n delimiter: '|'\n format: delimited\n topic: ziyuan_example\n dataSourceType: kafka\n dataSourceDescription: example\n serviceId: ${default2dUszY.serviceId}\n default:\n type: alicloud:gpdb:StreamingJob\n properties:\n account: example_001\n destSchema: public\n mode: professional\n jobName: example-kafka\n jobDescription: example-kafka\n destDatabase: adb_sampledata_tpch\n dbInstanceId: ${defaulth2ghc1.id}\n destTable: customer\n dataSourceId: ${defaultcDQItu.dataSourceId}\n password: example_001\n jobConfig: |\n ATABASE: adb_sampledata_tpch\n USER: example_001\n PASSWORD: example_001\n HOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\n PORT: 5432\n KAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGPDB Streaming Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingJob:StreamingJob example \u003cdb_instance_id\u003e:\u003cjob_id\u003e\n```\n\n", + "description": "Provides a GPDB Streaming Job resource.\n\nReal-time data tasks.\n\nFor information about GPDB Streaming Job and how to use it, see [What is Streaming Job](https://www.alibabacloud.com/help/en/analyticdb/analyticdb-for-postgresql/developer-reference/api-gpdb-2016-05-03-createstreamingjob).\n\n\u003e **NOTE:** Available since v1.231.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultTXqb15 = new alicloud.vpc.Network(\"defaultTXqb15\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultaSWhbT = new alicloud.vpc.Switch(\"defaultaSWhbT\", {\n vpcId: defaultTXqb15.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"192.168.1.0/24\",\n});\nconst defaulth2ghc1 = new alicloud.gpdb.Instance(\"defaulth2ghc1\", {\n instanceSpec: \"2C8G\",\n description: name,\n segNodeNum: 2,\n segStorageType: \"cloud_essd\",\n instanceNetworkType: \"VPC\",\n dbInstanceCategory: \"Basic\",\n paymentType: \"PayAsYouGo\",\n sslEnabled: 0,\n engineVersion: \"6.0\",\n zoneId: \"cn-beijing-h\",\n vswitchId: defaultaSWhbT.id,\n storageSize: 50,\n masterCu: 4,\n vpcId: defaultTXqb15.id,\n dbInstanceMode: \"StorageElastic\",\n engine: \"gpdb\",\n});\nconst default2dUszY = new alicloud.gpdb.StreamingDataService(\"default2dUszY\", {\n serviceName: \"example\",\n dbInstanceId: defaulth2ghc1.id,\n serviceDescription: \"example\",\n serviceSpec: \"8\",\n});\nconst defaultcDQItu = new alicloud.gpdb.StreamingDataSource(\"defaultcDQItu\", {\n dbInstanceId: defaulth2ghc1.id,\n dataSourceName: \"example\",\n dataSourceConfig: JSON.stringify({\n brokers: \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n delimiter: \"|\",\n format: \"delimited\",\n topic: \"ziyuan_example\",\n }),\n dataSourceType: \"kafka\",\n dataSourceDescription: \"example\",\n serviceId: default2dUszY.serviceId,\n});\nconst _default = new alicloud.gpdb.StreamingJob(\"default\", {\n account: \"example_001\",\n destSchema: \"public\",\n mode: \"professional\",\n jobName: \"example-kafka\",\n jobDescription: \"example-kafka\",\n destDatabase: \"adb_sampledata_tpch\",\n dbInstanceId: defaulth2ghc1.id,\n destTable: \"customer\",\n dataSourceId: defaultcDQItu.dataSourceId,\n password: \"example_001\",\n jobConfig: `ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\\\\\'|\\\\\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\\\\\'|\\\\\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n`,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_t_xqb15 = alicloud.vpc.Network(\"defaultTXqb15\", cidr_block=\"192.168.0.0/16\")\ndefaulta_s_whb_t = alicloud.vpc.Switch(\"defaultaSWhbT\",\n vpc_id=default_t_xqb15.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"192.168.1.0/24\")\ndefaulth2ghc1 = alicloud.gpdb.Instance(\"defaulth2ghc1\",\n instance_spec=\"2C8G\",\n description=name,\n seg_node_num=2,\n seg_storage_type=\"cloud_essd\",\n instance_network_type=\"VPC\",\n db_instance_category=\"Basic\",\n payment_type=\"PayAsYouGo\",\n ssl_enabled=0,\n engine_version=\"6.0\",\n zone_id=\"cn-beijing-h\",\n vswitch_id=defaulta_s_whb_t.id,\n storage_size=50,\n master_cu=4,\n vpc_id=default_t_xqb15.id,\n db_instance_mode=\"StorageElastic\",\n engine=\"gpdb\")\ndefault2d_usz_y = alicloud.gpdb.StreamingDataService(\"default2dUszY\",\n service_name=\"example\",\n db_instance_id=defaulth2ghc1.id,\n service_description=\"example\",\n service_spec=\"8\")\ndefaultc_dq_itu = alicloud.gpdb.StreamingDataSource(\"defaultcDQItu\",\n db_instance_id=defaulth2ghc1.id,\n data_source_name=\"example\",\n data_source_config=json.dumps({\n \"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n \"delimiter\": \"|\",\n \"format\": \"delimited\",\n \"topic\": \"ziyuan_example\",\n }),\n data_source_type=\"kafka\",\n data_source_description=\"example\",\n service_id=default2d_usz_y.service_id)\ndefault = alicloud.gpdb.StreamingJob(\"default\",\n account=\"example_001\",\n dest_schema=\"public\",\n mode=\"professional\",\n job_name=\"example-kafka\",\n job_description=\"example-kafka\",\n dest_database=\"adb_sampledata_tpch\",\n db_instance_id=defaulth2ghc1.id,\n dest_table=\"customer\",\n data_source_id=defaultc_dq_itu.data_source_id,\n password=\"example_001\",\n job_config=\"\"\"ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultTXqb15 = new AliCloud.Vpc.Network(\"defaultTXqb15\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultaSWhbT = new AliCloud.Vpc.Switch(\"defaultaSWhbT\", new()\n {\n VpcId = defaultTXqb15.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"192.168.1.0/24\",\n });\n\n var defaulth2ghc1 = new AliCloud.Gpdb.Instance(\"defaulth2ghc1\", new()\n {\n InstanceSpec = \"2C8G\",\n Description = name,\n SegNodeNum = 2,\n SegStorageType = \"cloud_essd\",\n InstanceNetworkType = \"VPC\",\n DbInstanceCategory = \"Basic\",\n PaymentType = \"PayAsYouGo\",\n SslEnabled = 0,\n EngineVersion = \"6.0\",\n ZoneId = \"cn-beijing-h\",\n VswitchId = defaultaSWhbT.Id,\n StorageSize = 50,\n MasterCu = 4,\n VpcId = defaultTXqb15.Id,\n DbInstanceMode = \"StorageElastic\",\n Engine = \"gpdb\",\n });\n\n var default2dUszY = new AliCloud.Gpdb.StreamingDataService(\"default2dUszY\", new()\n {\n ServiceName = \"example\",\n DbInstanceId = defaulth2ghc1.Id,\n ServiceDescription = \"example\",\n ServiceSpec = \"8\",\n });\n\n var defaultcDQItu = new AliCloud.Gpdb.StreamingDataSource(\"defaultcDQItu\", new()\n {\n DbInstanceId = defaulth2ghc1.Id,\n DataSourceName = \"example\",\n DataSourceConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"brokers\"] = \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n [\"delimiter\"] = \"|\",\n [\"format\"] = \"delimited\",\n [\"topic\"] = \"ziyuan_example\",\n }),\n DataSourceType = \"kafka\",\n DataSourceDescription = \"example\",\n ServiceId = default2dUszY.ServiceId,\n });\n\n var @default = new AliCloud.Gpdb.StreamingJob(\"default\", new()\n {\n Account = \"example_001\",\n DestSchema = \"public\",\n Mode = \"professional\",\n JobName = \"example-kafka\",\n JobDescription = \"example-kafka\",\n DestDatabase = \"adb_sampledata_tpch\",\n DbInstanceId = defaulth2ghc1.Id,\n DestTable = \"customer\",\n DataSourceId = defaultcDQItu.DataSourceId,\n Password = \"example_001\",\n JobConfig = @\"ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultTXqb15, err := vpc.NewNetwork(ctx, \"defaultTXqb15\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultaSWhbT, err := vpc.NewSwitch(ctx, \"defaultaSWhbT\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultTXqb15.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulth2ghc1, err := gpdb.NewInstance(ctx, \"defaulth2ghc1\", \u0026gpdb.InstanceArgs{\n\t\t\tInstanceSpec: pulumi.String(\"2C8G\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSegNodeNum: pulumi.Int(2),\n\t\t\tSegStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"Basic\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tSslEnabled: pulumi.Int(0),\n\t\t\tEngineVersion: pulumi.String(\"6.0\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tVswitchId: defaultaSWhbT.ID(),\n\t\t\tStorageSize: pulumi.Int(50),\n\t\t\tMasterCu: pulumi.Int(4),\n\t\t\tVpcId: defaultTXqb15.ID(),\n\t\t\tDbInstanceMode: pulumi.String(\"StorageElastic\"),\n\t\t\tEngine: pulumi.String(\"gpdb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault2dUszY, err := gpdb.NewStreamingDataService(ctx, \"default2dUszY\", \u0026gpdb.StreamingDataServiceArgs{\n\t\t\tServiceName: pulumi.String(\"example\"),\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tServiceDescription: pulumi.String(\"example\"),\n\t\t\tServiceSpec: pulumi.String(\"8\"),\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\"brokers\": \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\",\n\t\t\t\"delimiter\": \"|\",\n\t\t\t\"format\": \"delimited\",\n\t\t\t\"topic\": \"ziyuan_example\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tdefaultcDQItu, err := gpdb.NewStreamingDataSource(ctx, \"defaultcDQItu\", \u0026gpdb.StreamingDataSourceArgs{\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tDataSourceName: pulumi.String(\"example\"),\n\t\t\tDataSourceConfig: pulumi.String(json0),\n\t\t\tDataSourceType: pulumi.String(\"kafka\"),\n\t\t\tDataSourceDescription: pulumi.String(\"example\"),\n\t\t\tServiceId: default2dUszY.ServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewStreamingJob(ctx, \"default\", \u0026gpdb.StreamingJobArgs{\n\t\t\tAccount: pulumi.String(\"example_001\"),\n\t\t\tDestSchema: pulumi.String(\"public\"),\n\t\t\tMode: pulumi.String(\"professional\"),\n\t\t\tJobName: pulumi.String(\"example-kafka\"),\n\t\t\tJobDescription: pulumi.String(\"example-kafka\"),\n\t\t\tDestDatabase: pulumi.String(\"adb_sampledata_tpch\"),\n\t\t\tDbInstanceId: defaulth2ghc1.ID(),\n\t\t\tDestTable: pulumi.String(\"customer\"),\n\t\t\tDataSourceId: defaultcDQItu.DataSourceId,\n\t\t\tPassword: pulumi.String(\"example_001\"),\n\t\t\tJobConfig: pulumi.String(`ATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.gpdb.Instance;\nimport com.pulumi.alicloud.gpdb.InstanceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataService;\nimport com.pulumi.alicloud.gpdb.StreamingDataServiceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingDataSource;\nimport com.pulumi.alicloud.gpdb.StreamingDataSourceArgs;\nimport com.pulumi.alicloud.gpdb.StreamingJob;\nimport com.pulumi.alicloud.gpdb.StreamingJobArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultTXqb15 = new Network(\"defaultTXqb15\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultaSWhbT = new Switch(\"defaultaSWhbT\", SwitchArgs.builder()\n .vpcId(defaultTXqb15.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"192.168.1.0/24\")\n .build());\n\n var defaulth2ghc1 = new Instance(\"defaulth2ghc1\", InstanceArgs.builder()\n .instanceSpec(\"2C8G\")\n .description(name)\n .segNodeNum(2)\n .segStorageType(\"cloud_essd\")\n .instanceNetworkType(\"VPC\")\n .dbInstanceCategory(\"Basic\")\n .paymentType(\"PayAsYouGo\")\n .sslEnabled(0)\n .engineVersion(\"6.0\")\n .zoneId(\"cn-beijing-h\")\n .vswitchId(defaultaSWhbT.id())\n .storageSize(50)\n .masterCu(4)\n .vpcId(defaultTXqb15.id())\n .dbInstanceMode(\"StorageElastic\")\n .engine(\"gpdb\")\n .build());\n\n var default2dUszY = new StreamingDataService(\"default2dUszY\", StreamingDataServiceArgs.builder()\n .serviceName(\"example\")\n .dbInstanceId(defaulth2ghc1.id())\n .serviceDescription(\"example\")\n .serviceSpec(\"8\")\n .build());\n\n var defaultcDQItu = new StreamingDataSource(\"defaultcDQItu\", StreamingDataSourceArgs.builder()\n .dbInstanceId(defaulth2ghc1.id())\n .dataSourceName(\"example\")\n .dataSourceConfig(serializeJson(\n jsonObject(\n jsonProperty(\"brokers\", \"alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\"),\n jsonProperty(\"delimiter\", \"|\"),\n jsonProperty(\"format\", \"delimited\"),\n jsonProperty(\"topic\", \"ziyuan_example\")\n )))\n .dataSourceType(\"kafka\")\n .dataSourceDescription(\"example\")\n .serviceId(default2dUszY.serviceId())\n .build());\n\n var default_ = new StreamingJob(\"default\", StreamingJobArgs.builder()\n .account(\"example_001\")\n .destSchema(\"public\")\n .mode(\"professional\")\n .jobName(\"example-kafka\")\n .jobDescription(\"example-kafka\")\n .destDatabase(\"adb_sampledata_tpch\")\n .dbInstanceId(defaulth2ghc1.id())\n .destTable(\"customer\")\n .dataSourceId(defaultcDQItu.dataSourceId())\n .password(\"example_001\")\n .jobConfig(\"\"\"\nATABASE: adb_sampledata_tpch\nUSER: example_001\nPASSWORD: example_001\nHOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\nPORT: 5432\nKAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultTXqb15:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 192.168.0.0/16\n defaultaSWhbT:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultTXqb15.id}\n zoneId: cn-beijing-h\n cidrBlock: 192.168.1.0/24\n defaulth2ghc1:\n type: alicloud:gpdb:Instance\n properties:\n instanceSpec: 2C8G\n description: ${name}\n segNodeNum: '2'\n segStorageType: cloud_essd\n instanceNetworkType: VPC\n dbInstanceCategory: Basic\n paymentType: PayAsYouGo\n sslEnabled: '0'\n engineVersion: '6.0'\n zoneId: cn-beijing-h\n vswitchId: ${defaultaSWhbT.id}\n storageSize: '50'\n masterCu: '4'\n vpcId: ${defaultTXqb15.id}\n dbInstanceMode: StorageElastic\n engine: gpdb\n default2dUszY:\n type: alicloud:gpdb:StreamingDataService\n properties:\n serviceName: example\n dbInstanceId: ${defaulth2ghc1.id}\n serviceDescription: example\n serviceSpec: '8'\n defaultcDQItu:\n type: alicloud:gpdb:StreamingDataSource\n properties:\n dbInstanceId: ${defaulth2ghc1.id}\n dataSourceName: example\n dataSourceConfig:\n fn::toJSON:\n brokers: alikafka-post-cn-g4t3t4eod004-1-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-2-vpc.alikafka.aliyuncs.com:9092,alikafka-post-cn-g4t3t4eod004-3-vpc.alikafka.aliyuncs.com:9092\n delimiter: '|'\n format: delimited\n topic: ziyuan_example\n dataSourceType: kafka\n dataSourceDescription: example\n serviceId: ${default2dUszY.serviceId}\n default:\n type: alicloud:gpdb:StreamingJob\n properties:\n account: example_001\n destSchema: public\n mode: professional\n jobName: example-kafka\n jobDescription: example-kafka\n destDatabase: adb_sampledata_tpch\n dbInstanceId: ${defaulth2ghc1.id}\n destTable: customer\n dataSourceId: ${defaultcDQItu.dataSourceId}\n password: example_001\n jobConfig: |\n ATABASE: adb_sampledata_tpch\n USER: example_001\n PASSWORD: example_001\n HOST: gp-2zean69451zsjj139-master.gpdb.rds.aliyuncs.com\n PORT: 5432\n KAFKA:\n INPUT:\n SOURCE:\n BROKERS: alikafka-post-cn-3mp3t4ekq004-1-vpc.alikafka.aliyuncs.com:9092\n TOPIC: ziyuan_example\n FALLBACK_OFFSET: LATEST\n KEY:\n COLUMNS:\n - NAME: c_custkey\n TYPE: int\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n VALUE:\n COLUMNS:\n - NAME: c_comment\n TYPE: varchar\n FORMAT: delimited\n DELIMITED_OPTION:\n DELIMITER: \\\\'|\\\\'\n ERROR_LIMIT: 10\n OUTPUT:\n SCHEMA: public\n TABLE: customer\n MODE: MERGE\n MATCH_COLUMNS:\n - c_custkey\n ORDER_COLUMNS:\n - c_custkey\n UPDATE_COLUMNS:\n - c_custkey\n MAPPING:\n - NAME: c_custkey\n EXPRESSION: c_custkey\n COMMIT:\n MAX_ROW: 1000\n MINIMAL_INTERVAL: 1000\n CONSISTENCY: ATLEAST\n POLL:\n BATCHSIZE: 1000\n TIMEOUT: 1000\n PROPERTIES:\n group.id: ziyuan_example_01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGPDB Streaming Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/streamingJob:StreamingJob example \u003cdb_instance_id\u003e:\u003cjob_id\u003e\n```\n\n", "properties": { "account": { "type": "string", @@ -196086,8 +199917,202 @@ "type": "object" } }, + "alicloud:gpdb/supabaseProject:SupabaseProject": { + "description": "Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource.\n\n\n\nFor information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n vpcId: _default.ids?.[0],\n zoneId: \"cn-hangzhou-j\",\n}));\nconst defaultSupabaseProject = new alicloud.gpdb.SupabaseProject(\"default\", {\n projectSpec: \"1C2G\",\n zoneId: \"cn-hangzhou-j\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n projectName: \"supabase_example\",\n securityIpLists: [\"127.0.0.1\"],\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n diskPerformanceLevel: \"PL0\",\n storageSize: 1,\n accountPassword: \"YourPassword123!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0],\n zone_id=\"cn-hangzhou-j\")\ndefault_supabase_project = alicloud.gpdb.SupabaseProject(\"default\",\n project_spec=\"1C2G\",\n zone_id=\"cn-hangzhou-j\",\n vpc_id=default.ids[0],\n project_name=\"supabase_example\",\n security_ip_lists=[\"127.0.0.1\"],\n vswitch_id=default_get_switches.ids[0],\n disk_performance_level=\"PL0\",\n storage_size=1,\n account_password=\"YourPassword123!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = \"cn-hangzhou-j\",\n });\n\n var defaultSupabaseProject = new AliCloud.Gpdb.SupabaseProject(\"default\", new()\n {\n ProjectSpec = \"1C2G\",\n ZoneId = \"cn-hangzhou-j\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n ProjectName = \"supabase_example\",\n SecurityIpLists = new[]\n {\n \"127.0.0.1\",\n },\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DiskPerformanceLevel = \"PL0\",\n StorageSize = 1,\n AccountPassword = \"YourPassword123!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(\"cn-hangzhou-j\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gpdb.NewSupabaseProject(ctx, \"default\", \u0026gpdb.SupabaseProjectArgs{\n\t\t\tProjectSpec: pulumi.String(\"1C2G\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tProjectName: pulumi.String(\"supabase_example\"),\n\t\t\tSecurityIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t},\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tDiskPerformanceLevel: pulumi.String(\"PL0\"),\n\t\t\tStorageSize: pulumi.Int(1),\n\t\t\tAccountPassword: pulumi.String(\"YourPassword123!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.gpdb.SupabaseProject;\nimport com.pulumi.alicloud.gpdb.SupabaseProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(default_.ids()[0])\n .zoneId(\"cn-hangzhou-j\")\n .build());\n\n var defaultSupabaseProject = new SupabaseProject(\"defaultSupabaseProject\", SupabaseProjectArgs.builder()\n .projectSpec(\"1C2G\")\n .zoneId(\"cn-hangzhou-j\")\n .vpcId(default_.ids()[0])\n .projectName(\"supabase_example\")\n .securityIpLists(\"127.0.0.1\")\n .vswitchId(defaultGetSwitches.ids()[0])\n .diskPerformanceLevel(\"PL0\")\n .storageSize(1)\n .accountPassword(\"YourPassword123!\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultSupabaseProject:\n type: alicloud:gpdb:SupabaseProject\n name: default\n properties:\n projectSpec: 1C2G\n zoneId: cn-hangzhou-j\n vpcId: ${default.ids[0]}\n projectName: supabase_example\n securityIpLists:\n - 127.0.0.1\n vswitchId: ${defaultGetSwitches.ids[0]}\n diskPerformanceLevel: PL0\n storageSize: '1'\n accountPassword: YourPassword123!\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${default.ids[0]}\n zoneId: cn-hangzhou-j\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example \u003cid\u003e\n```\n\n", + "properties": { + "accountPassword": { + "type": "string", + "description": "The password for the initial account.\n- Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters.\n- Support for special characters:! @#$%^\u0026 *()_+-=\n- Length is 8~32 characters.\n", + "secret": true + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "diskPerformanceLevel": { + "type": "string", + "description": "cloud disk performance level\n" + }, + "projectName": { + "type": "string", + "description": "The project name. The naming rules are as follows:\n- 1~128 characters in length.\n- Can only contain English letters, numbers, dashes (-) and underscores (_).\n- Must begin with an English letter or an underscore (_).\n" + }, + "projectSpec": { + "type": "string", + "description": "The performance level of the Supabase instance.\n" + }, + "regionId": { + "type": "string", + "description": "The region ID.\n" + }, + "securityIpLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address whitelist.\n" + }, + "status": { + "type": "string", + "description": "The status of the Supabase instance.\n" + }, + "storageSize": { + "type": "integer", + "description": "The storage capacity of the instance. Unit: GB.\n" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID.\n" + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID.\n" + }, + "zoneId": { + "type": "string", + "description": "The Zone ID.\n" + } + }, + "required": [ + "accountPassword", + "createTime", + "diskPerformanceLevel", + "projectName", + "projectSpec", + "regionId", + "securityIpLists", + "status", + "storageSize", + "vpcId", + "vswitchId", + "zoneId" + ], + "inputProperties": { + "accountPassword": { + "type": "string", + "description": "The password for the initial account.\n- Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters.\n- Support for special characters:! @#$%^\u0026 *()_+-=\n- Length is 8~32 characters.\n", + "secret": true + }, + "diskPerformanceLevel": { + "type": "string", + "description": "cloud disk performance level\n", + "willReplaceOnChanges": true + }, + "projectName": { + "type": "string", + "description": "The project name. The naming rules are as follows:\n- 1~128 characters in length.\n- Can only contain English letters, numbers, dashes (-) and underscores (_).\n- Must begin with an English letter or an underscore (_).\n", + "willReplaceOnChanges": true + }, + "projectSpec": { + "type": "string", + "description": "The performance level of the Supabase instance.\n", + "willReplaceOnChanges": true + }, + "securityIpLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address whitelist.\n" + }, + "storageSize": { + "type": "integer", + "description": "The storage capacity of the instance. Unit: GB.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "The VPC ID.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "The Zone ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "accountPassword", + "projectName", + "projectSpec", + "securityIpLists", + "vpcId", + "vswitchId", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SupabaseProject resources.\n", + "properties": { + "accountPassword": { + "type": "string", + "description": "The password for the initial account.\n- Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters.\n- Support for special characters:! @#$%^\u0026 *()_+-=\n- Length is 8~32 characters.\n", + "secret": true + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "diskPerformanceLevel": { + "type": "string", + "description": "cloud disk performance level\n", + "willReplaceOnChanges": true + }, + "projectName": { + "type": "string", + "description": "The project name. The naming rules are as follows:\n- 1~128 characters in length.\n- Can only contain English letters, numbers, dashes (-) and underscores (_).\n- Must begin with an English letter or an underscore (_).\n", + "willReplaceOnChanges": true + }, + "projectSpec": { + "type": "string", + "description": "The performance level of the Supabase instance.\n", + "willReplaceOnChanges": true + }, + "regionId": { + "type": "string", + "description": "The region ID.\n" + }, + "securityIpLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP address whitelist.\n" + }, + "status": { + "type": "string", + "description": "The status of the Supabase instance.\n" + }, + "storageSize": { + "type": "integer", + "description": "The storage capacity of the instance. Unit: GB.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "The VPC ID.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "The Zone ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:graphdatabase/dbInstance:DbInstance": { - "description": "Provides a Graph Database Db Instance resource.\n\nFor information about Graph Database Db Instance and how to use it, see [What is Db Instance](https://www.alibabacloud.com/help/en/graph-compute/latest/placeholder).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.graphdatabase.DbInstance(\"example\", {\n dbNodeClass: \"gdb.r.2xlarge\",\n dbInstanceNetworkType: \"vpc\",\n dbVersion: \"1.0\",\n dbInstanceCategory: \"HA\",\n dbInstanceStorageType: \"cloud_ssd\",\n dbNodeStorage: 50,\n paymentType: \"PayAsYouGo\",\n dbInstanceDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.graphdatabase.DbInstance(\"example\",\n db_node_class=\"gdb.r.2xlarge\",\n db_instance_network_type=\"vpc\",\n db_version=\"1.0\",\n db_instance_category=\"HA\",\n db_instance_storage_type=\"cloud_ssd\",\n db_node_storage=50,\n payment_type=\"PayAsYouGo\",\n db_instance_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.GraphDatabase.DbInstance(\"example\", new()\n {\n DbNodeClass = \"gdb.r.2xlarge\",\n DbInstanceNetworkType = \"vpc\",\n DbVersion = \"1.0\",\n DbInstanceCategory = \"HA\",\n DbInstanceStorageType = \"cloud_ssd\",\n DbNodeStorage = 50,\n PaymentType = \"PayAsYouGo\",\n DbInstanceDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/graphdatabase\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := graphdatabase.NewDbInstance(ctx, \"example\", \u0026graphdatabase.DbInstanceArgs{\n\t\t\tDbNodeClass: pulumi.String(\"gdb.r.2xlarge\"),\n\t\t\tDbInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbVersion: pulumi.String(\"1.0\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"HA\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_ssd\"),\n\t\t\tDbNodeStorage: pulumi.Int(50),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbInstanceDescription: pulumi.String(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.alicloud.graphdatabase.DbInstance;\nimport com.pulumi.alicloud.graphdatabase.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .dbNodeClass(\"gdb.r.2xlarge\")\n .dbInstanceNetworkType(\"vpc\")\n .dbVersion(\"1.0\")\n .dbInstanceCategory(\"HA\")\n .dbInstanceStorageType(\"cloud_ssd\")\n .dbNodeStorage(50)\n .paymentType(\"PayAsYouGo\")\n .dbInstanceDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:graphdatabase:DbInstance\n properties:\n dbNodeClass: gdb.r.2xlarge\n dbInstanceNetworkType: vpc\n dbVersion: '1.0'\n dbInstanceCategory: HA\n dbInstanceStorageType: cloud_ssd\n dbNodeStorage: '50'\n paymentType: PayAsYouGo\n dbInstanceDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGraph Database Db Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:graphdatabase/dbInstance:DbInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a Graph Database Db Instance resource.\n\nFor information about Graph Database Db Instance and how to use it, see [What is Db Instance](https://www.alibabacloud.com/help/en/graph-compute/latest/placeholder).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.graphdatabase.DbInstance(\"example\", {\n dbNodeClass: \"gdb.r.2xlarge\",\n dbInstanceNetworkType: \"vpc\",\n dbVersion: \"1.0\",\n dbInstanceCategory: \"HA\",\n dbInstanceStorageType: \"cloud_ssd\",\n dbNodeStorage: 50,\n paymentType: \"PayAsYouGo\",\n dbInstanceDescription: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.graphdatabase.DbInstance(\"example\",\n db_node_class=\"gdb.r.2xlarge\",\n db_instance_network_type=\"vpc\",\n db_version=\"1.0\",\n db_instance_category=\"HA\",\n db_instance_storage_type=\"cloud_ssd\",\n db_node_storage=50,\n payment_type=\"PayAsYouGo\",\n db_instance_description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.GraphDatabase.DbInstance(\"example\", new()\n {\n DbNodeClass = \"gdb.r.2xlarge\",\n DbInstanceNetworkType = \"vpc\",\n DbVersion = \"1.0\",\n DbInstanceCategory = \"HA\",\n DbInstanceStorageType = \"cloud_ssd\",\n DbNodeStorage = 50,\n PaymentType = \"PayAsYouGo\",\n DbInstanceDescription = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/graphdatabase\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := graphdatabase.NewDbInstance(ctx, \"example\", \u0026graphdatabase.DbInstanceArgs{\n\t\t\tDbNodeClass: pulumi.String(\"gdb.r.2xlarge\"),\n\t\t\tDbInstanceNetworkType: pulumi.String(\"vpc\"),\n\t\t\tDbVersion: pulumi.String(\"1.0\"),\n\t\t\tDbInstanceCategory: pulumi.String(\"HA\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_ssd\"),\n\t\t\tDbNodeStorage: pulumi.Int(50),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbInstanceDescription: pulumi.String(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.alicloud.graphdatabase.DbInstance;\nimport com.pulumi.alicloud.graphdatabase.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n var example = new DbInstance(\"example\", DbInstanceArgs.builder()\n .dbNodeClass(\"gdb.r.2xlarge\")\n .dbInstanceNetworkType(\"vpc\")\n .dbVersion(\"1.0\")\n .dbInstanceCategory(\"HA\")\n .dbInstanceStorageType(\"cloud_ssd\")\n .dbNodeStorage(50)\n .paymentType(\"PayAsYouGo\")\n .dbInstanceDescription(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:graphdatabase:DbInstance\n properties:\n dbNodeClass: gdb.r.2xlarge\n dbInstanceNetworkType: vpc\n dbVersion: '1.0'\n dbInstanceCategory: HA\n dbInstanceStorageType: cloud_ssd\n dbNodeStorage: '50'\n paymentType: PayAsYouGo\n dbInstanceDescription: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGraph Database Db Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:graphdatabase/dbInstance:DbInstance example \u003cid\u003e\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -196318,7 +200343,7 @@ } }, "alicloud:gwlb/listener:Listener": { - "description": "Provides a GWLB Listener resource.\n\n\n\nFor information about GWLB Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createlistener).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultLoadBalancer = new alicloud.gwlb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n loadBalancerName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n zoneMappings: [{\n vswitchId: defaultSwitch.id,\n zoneId: zoneId1,\n }],\n addressIpVersion: \"Ipv4\",\n});\nconst defaultServerGroup = new alicloud.gwlb.ServerGroup(\"default\", {\n protocol: \"GENEVE\",\n serverGroupName: \"tfaccgwlb62413\",\n serverGroupType: \"Ip\",\n servers: [\n {\n serverId: \"10.0.0.1\",\n serverIp: \"10.0.0.1\",\n serverType: \"Ip\",\n },\n {\n serverId: \"10.0.0.2\",\n serverIp: \"10.0.0.2\",\n serverType: \"Ip\",\n },\n {\n serverId: \"10.0.0.3\",\n serverIp: \"10.0.0.3\",\n serverType: \"Ip\",\n },\n ],\n connectionDrainConfig: {\n connectionDrainEnabled: true,\n connectionDrainTimeout: 1,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n dryRun: false,\n healthCheckConfig: {\n healthCheckProtocol: \"HTTP\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckInterval: 10,\n healthCheckPath: \"/health-check\",\n unhealthyThreshold: 2,\n healthCheckConnectPort: 80,\n healthCheckConnectTimeout: 5,\n healthCheckDomain: \"www.domain.com\",\n healthCheckEnabled: true,\n healthyThreshold: 2,\n },\n vpcId: defaultNetwork.id,\n scheduler: \"5TCH\",\n});\nconst defaultListener = new alicloud.gwlb.Listener(\"default\", {\n listenerDescription: \"example-tf-lsn\",\n serverGroupId: defaultServerGroup.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\ndefault_load_balancer = alicloud.gwlb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n load_balancer_name=std.format(input=\"%s3\",\n args=[name]).result,\n zone_mappings=[{\n \"vswitch_id\": default_switch.id,\n \"zone_id\": zone_id1,\n }],\n address_ip_version=\"Ipv4\")\ndefault_server_group = alicloud.gwlb.ServerGroup(\"default\",\n protocol=\"GENEVE\",\n server_group_name=\"tfaccgwlb62413\",\n server_group_type=\"Ip\",\n servers=[\n {\n \"server_id\": \"10.0.0.1\",\n \"server_ip\": \"10.0.0.1\",\n \"server_type\": \"Ip\",\n },\n {\n \"server_id\": \"10.0.0.2\",\n \"server_ip\": \"10.0.0.2\",\n \"server_type\": \"Ip\",\n },\n {\n \"server_id\": \"10.0.0.3\",\n \"server_ip\": \"10.0.0.3\",\n \"server_type\": \"Ip\",\n },\n ],\n connection_drain_config={\n \"connection_drain_enabled\": True,\n \"connection_drain_timeout\": 1,\n },\n resource_group_id=default.ids[0],\n dry_run=False,\n health_check_config={\n \"health_check_protocol\": \"HTTP\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_interval\": 10,\n \"health_check_path\": \"/health-check\",\n \"unhealthy_threshold\": 2,\n \"health_check_connect_port\": 80,\n \"health_check_connect_timeout\": 5,\n \"health_check_domain\": \"www.domain.com\",\n \"health_check_enabled\": True,\n \"healthy_threshold\": 2,\n },\n vpc_id=default_network.id,\n scheduler=\"5TCH\")\ndefault_listener = alicloud.gwlb.Listener(\"default\",\n listener_description=\"example-tf-lsn\",\n server_group_id=default_server_group.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultLoadBalancer = new AliCloud.Gwlb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n LoadBalancerName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneMappings = new[]\n {\n new AliCloud.Gwlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = zoneId1,\n },\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n var defaultServerGroup = new AliCloud.Gwlb.ServerGroup(\"default\", new()\n {\n Protocol = \"GENEVE\",\n ServerGroupName = \"tfaccgwlb62413\",\n ServerGroupType = \"Ip\",\n Servers = new[]\n {\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.1\",\n ServerIp = \"10.0.0.1\",\n ServerType = \"Ip\",\n },\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.2\",\n ServerIp = \"10.0.0.2\",\n ServerType = \"Ip\",\n },\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.3\",\n ServerIp = \"10.0.0.3\",\n ServerType = \"Ip\",\n },\n },\n ConnectionDrainConfig = new AliCloud.Gwlb.Inputs.ServerGroupConnectionDrainConfigArgs\n {\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 1,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n DryRun = false,\n HealthCheckConfig = new AliCloud.Gwlb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckProtocol = \"HTTP\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckInterval = 10,\n HealthCheckPath = \"/health-check\",\n UnhealthyThreshold = 2,\n HealthCheckConnectPort = 80,\n HealthCheckConnectTimeout = 5,\n HealthCheckDomain = \"www.domain.com\",\n HealthCheckEnabled = true,\n HealthyThreshold = 2,\n },\n VpcId = defaultNetwork.Id,\n Scheduler = \"5TCH\",\n });\n\n var defaultListener = new AliCloud.Gwlb.Listener(\"default\", new()\n {\n ListenerDescription = \"example-tf-lsn\",\n ServerGroupId = defaultServerGroup.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := gwlb.NewLoadBalancer(ctx, \"default\", \u0026gwlb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tLoadBalancerName: pulumi.String(invokeFormat1.Result),\n\t\t\tZoneMappings: gwlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026gwlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := gwlb.NewServerGroup(ctx, \"default\", \u0026gwlb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tServerGroupName: pulumi.String(\"tfaccgwlb62413\"),\n\t\t\tServerGroupType: pulumi.String(\"Ip\"),\n\t\t\tServers: gwlb.ServerGroupServerArray{\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.2\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.3\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.3\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionDrainConfig: \u0026gwlb.ServerGroupConnectionDrainConfigArgs{\n\t\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\t\tConnectionDrainTimeout: pulumi.Int(1),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tHealthCheckConfig: \u0026gwlb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/health-check\"),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(80),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckDomain: pulumi.String(\"www.domain.com\"),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t},\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"5TCH\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewListener(ctx, \"default\", \u0026gwlb.ListenerArgs{\n\t\t\tListenerDescription: pulumi.String(\"example-tf-lsn\"),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.LoadBalancer;\nimport com.pulumi.alicloud.gwlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.gwlb.ServerGroup;\nimport com.pulumi.alicloud.gwlb.ServerGroupArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupConnectionDrainConfigArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.gwlb.Listener;\nimport com.pulumi.alicloud.gwlb.ListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .loadBalancerName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .zoneMappings(LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(zoneId1)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"GENEVE\")\n .serverGroupName(\"tfaccgwlb62413\")\n .serverGroupType(\"Ip\")\n .servers( \n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.1\")\n .serverIp(\"10.0.0.1\")\n .serverType(\"Ip\")\n .build(),\n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.2\")\n .serverIp(\"10.0.0.2\")\n .serverType(\"Ip\")\n .build(),\n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.3\")\n .serverIp(\"10.0.0.3\")\n .serverType(\"Ip\")\n .build())\n .connectionDrainConfig(ServerGroupConnectionDrainConfigArgs.builder()\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(1)\n .build())\n .resourceGroupId(default_.ids()[0])\n .dryRun(false)\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckProtocol(\"HTTP\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckInterval(10)\n .healthCheckPath(\"/health-check\")\n .unhealthyThreshold(2)\n .healthCheckConnectPort(80)\n .healthCheckConnectTimeout(5)\n .healthCheckDomain(\"www.domain.com\")\n .healthCheckEnabled(true)\n .healthyThreshold(2)\n .build())\n .vpcId(defaultNetwork.id())\n .scheduler(\"5TCH\")\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .listenerDescription(\"example-tf-lsn\")\n .serverGroupId(defaultServerGroup.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n defaultLoadBalancer:\n type: alicloud:gwlb:LoadBalancer\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n loadBalancerName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${zoneId1}\n addressIpVersion: Ipv4\n defaultServerGroup:\n type: alicloud:gwlb:ServerGroup\n name: default\n properties:\n protocol: GENEVE\n serverGroupName: tfaccgwlb62413\n serverGroupType: Ip\n servers:\n - serverId: 10.0.0.1\n serverIp: 10.0.0.1\n serverType: Ip\n - serverId: 10.0.0.2\n serverIp: 10.0.0.2\n serverType: Ip\n - serverId: 10.0.0.3\n serverIp: 10.0.0.3\n serverType: Ip\n connectionDrainConfig:\n connectionDrainEnabled: 'true'\n connectionDrainTimeout: '1'\n resourceGroupId: ${default.ids[0]}\n dryRun: 'false'\n healthCheckConfig:\n healthCheckProtocol: HTTP\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckInterval: '10'\n healthCheckPath: /health-check\n unhealthyThreshold: '2'\n healthCheckConnectPort: '80'\n healthCheckConnectTimeout: '5'\n healthCheckDomain: www.domain.com\n healthCheckEnabled: 'true'\n healthyThreshold: '2'\n vpcId: ${defaultNetwork.id}\n scheduler: 5TCH\n defaultListener:\n type: alicloud:gwlb:Listener\n name: default\n properties:\n listenerDescription: example-tf-lsn\n serverGroupId: ${defaultServerGroup.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGWLB Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/listener:Listener example \u003cid\u003e\n```\n\n", + "description": "Provides a GWLB Listener resource.\n\n\n\nFor information about GWLB Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createlistener).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultLoadBalancer = new alicloud.gwlb.LoadBalancer(\"default\", {\n vpcId: defaultNetwork.id,\n loadBalancerName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n zoneMappings: [{\n vswitchId: defaultSwitch.id,\n zoneId: zoneId1,\n }],\n addressIpVersion: \"Ipv4\",\n});\nconst defaultServerGroup = new alicloud.gwlb.ServerGroup(\"default\", {\n protocol: \"GENEVE\",\n serverGroupName: \"tfaccgwlb62413\",\n serverGroupType: \"Ip\",\n servers: [\n {\n serverId: \"10.0.0.1\",\n serverIp: \"10.0.0.1\",\n serverType: \"Ip\",\n },\n {\n serverId: \"10.0.0.2\",\n serverIp: \"10.0.0.2\",\n serverType: \"Ip\",\n },\n {\n serverId: \"10.0.0.3\",\n serverIp: \"10.0.0.3\",\n serverType: \"Ip\",\n },\n ],\n connectionDrainConfig: {\n connectionDrainEnabled: true,\n connectionDrainTimeout: 1,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n dryRun: false,\n healthCheckConfig: {\n healthCheckProtocol: \"HTTP\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckInterval: 10,\n healthCheckPath: \"/health-check\",\n unhealthyThreshold: 2,\n healthCheckConnectPort: 80,\n healthCheckConnectTimeout: 5,\n healthCheckDomain: \"www.domain.com\",\n healthCheckEnabled: true,\n healthyThreshold: 2,\n },\n vpcId: defaultNetwork.id,\n scheduler: \"5TCH\",\n});\nconst defaultListener = new alicloud.gwlb.Listener(\"default\", {\n listenerDescription: \"example-tf-lsn\",\n serverGroupId: defaultServerGroup.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\ndefault_load_balancer = alicloud.gwlb.LoadBalancer(\"default\",\n vpc_id=default_network.id,\n load_balancer_name=std.format(input=\"%s3\",\n args=[name]).result,\n zone_mappings=[{\n \"vswitch_id\": default_switch.id,\n \"zone_id\": zone_id1,\n }],\n address_ip_version=\"Ipv4\")\ndefault_server_group = alicloud.gwlb.ServerGroup(\"default\",\n protocol=\"GENEVE\",\n server_group_name=\"tfaccgwlb62413\",\n server_group_type=\"Ip\",\n servers=[\n {\n \"server_id\": \"10.0.0.1\",\n \"server_ip\": \"10.0.0.1\",\n \"server_type\": \"Ip\",\n },\n {\n \"server_id\": \"10.0.0.2\",\n \"server_ip\": \"10.0.0.2\",\n \"server_type\": \"Ip\",\n },\n {\n \"server_id\": \"10.0.0.3\",\n \"server_ip\": \"10.0.0.3\",\n \"server_type\": \"Ip\",\n },\n ],\n connection_drain_config={\n \"connection_drain_enabled\": True,\n \"connection_drain_timeout\": 1,\n },\n resource_group_id=default.ids[0],\n dry_run=False,\n health_check_config={\n \"health_check_protocol\": \"HTTP\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_interval\": 10,\n \"health_check_path\": \"/health-check\",\n \"unhealthy_threshold\": 2,\n \"health_check_connect_port\": 80,\n \"health_check_connect_timeout\": 5,\n \"health_check_domain\": \"www.domain.com\",\n \"health_check_enabled\": True,\n \"healthy_threshold\": 2,\n },\n vpc_id=default_network.id,\n scheduler=\"5TCH\")\ndefault_listener = alicloud.gwlb.Listener(\"default\",\n listener_description=\"example-tf-lsn\",\n server_group_id=default_server_group.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultLoadBalancer = new AliCloud.Gwlb.LoadBalancer(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n LoadBalancerName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneMappings = new[]\n {\n new AliCloud.Gwlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = zoneId1,\n },\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n var defaultServerGroup = new AliCloud.Gwlb.ServerGroup(\"default\", new()\n {\n Protocol = \"GENEVE\",\n ServerGroupName = \"tfaccgwlb62413\",\n ServerGroupType = \"Ip\",\n Servers = new[]\n {\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.1\",\n ServerIp = \"10.0.0.1\",\n ServerType = \"Ip\",\n },\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.2\",\n ServerIp = \"10.0.0.2\",\n ServerType = \"Ip\",\n },\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = \"10.0.0.3\",\n ServerIp = \"10.0.0.3\",\n ServerType = \"Ip\",\n },\n },\n ConnectionDrainConfig = new AliCloud.Gwlb.Inputs.ServerGroupConnectionDrainConfigArgs\n {\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 1,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n DryRun = false,\n HealthCheckConfig = new AliCloud.Gwlb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckProtocol = \"HTTP\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckInterval = 10,\n HealthCheckPath = \"/health-check\",\n UnhealthyThreshold = 2,\n HealthCheckConnectPort = 80,\n HealthCheckConnectTimeout = 5,\n HealthCheckDomain = \"www.domain.com\",\n HealthCheckEnabled = true,\n HealthyThreshold = 2,\n },\n VpcId = defaultNetwork.Id,\n Scheduler = \"5TCH\",\n });\n\n var defaultListener = new AliCloud.Gwlb.Listener(\"default\", new()\n {\n ListenerDescription = \"example-tf-lsn\",\n ServerGroupId = defaultServerGroup.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := gwlb.NewLoadBalancer(ctx, \"default\", \u0026gwlb.LoadBalancerArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tLoadBalancerName: pulumi.String(invokeFormat1.Result),\n\t\t\tZoneMappings: gwlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026gwlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := gwlb.NewServerGroup(ctx, \"default\", \u0026gwlb.ServerGroupArgs{\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tServerGroupName: pulumi.String(\"tfaccgwlb62413\"),\n\t\t\tServerGroupType: pulumi.String(\"Ip\"),\n\t\t\tServers: gwlb.ServerGroupServerArray{\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.1\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.2\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: pulumi.String(\"10.0.0.3\"),\n\t\t\t\t\tServerIp: pulumi.String(\"10.0.0.3\"),\n\t\t\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectionDrainConfig: \u0026gwlb.ServerGroupConnectionDrainConfigArgs{\n\t\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\t\tConnectionDrainTimeout: pulumi.Int(1),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tHealthCheckConfig: \u0026gwlb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/health-check\"),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(80),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckDomain: pulumi.String(\"www.domain.com\"),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t},\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"5TCH\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewListener(ctx, \"default\", \u0026gwlb.ListenerArgs{\n\t\t\tListenerDescription: pulumi.String(\"example-tf-lsn\"),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.LoadBalancer;\nimport com.pulumi.alicloud.gwlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.gwlb.ServerGroup;\nimport com.pulumi.alicloud.gwlb.ServerGroupArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupConnectionDrainConfigArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupHealthCheckConfigArgs;\nimport com.pulumi.alicloud.gwlb.Listener;\nimport com.pulumi.alicloud.gwlb.ListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaultNetwork.id())\n .loadBalancerName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .zoneMappings(LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(zoneId1)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .protocol(\"GENEVE\")\n .serverGroupName(\"tfaccgwlb62413\")\n .serverGroupType(\"Ip\")\n .servers( \n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.1\")\n .serverIp(\"10.0.0.1\")\n .serverType(\"Ip\")\n .build(),\n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.2\")\n .serverIp(\"10.0.0.2\")\n .serverType(\"Ip\")\n .build(),\n ServerGroupServerArgs.builder()\n .serverId(\"10.0.0.3\")\n .serverIp(\"10.0.0.3\")\n .serverType(\"Ip\")\n .build())\n .connectionDrainConfig(ServerGroupConnectionDrainConfigArgs.builder()\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(1)\n .build())\n .resourceGroupId(default_.ids()[0])\n .dryRun(false)\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckProtocol(\"HTTP\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckInterval(10)\n .healthCheckPath(\"/health-check\")\n .unhealthyThreshold(2)\n .healthCheckConnectPort(80)\n .healthCheckConnectTimeout(5)\n .healthCheckDomain(\"www.domain.com\")\n .healthCheckEnabled(true)\n .healthyThreshold(2)\n .build())\n .vpcId(defaultNetwork.id())\n .scheduler(\"5TCH\")\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .listenerDescription(\"example-tf-lsn\")\n .serverGroupId(defaultServerGroup.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n defaultLoadBalancer:\n type: alicloud:gwlb:LoadBalancer\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n loadBalancerName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${zoneId1}\n addressIpVersion: Ipv4\n defaultServerGroup:\n type: alicloud:gwlb:ServerGroup\n name: default\n properties:\n protocol: GENEVE\n serverGroupName: tfaccgwlb62413\n serverGroupType: Ip\n servers:\n - serverId: 10.0.0.1\n serverIp: 10.0.0.1\n serverType: Ip\n - serverId: 10.0.0.2\n serverIp: 10.0.0.2\n serverType: Ip\n - serverId: 10.0.0.3\n serverIp: 10.0.0.3\n serverType: Ip\n connectionDrainConfig:\n connectionDrainEnabled: 'true'\n connectionDrainTimeout: '1'\n resourceGroupId: ${default.ids[0]}\n dryRun: 'false'\n healthCheckConfig:\n healthCheckProtocol: HTTP\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckInterval: '10'\n healthCheckPath: /health-check\n unhealthyThreshold: '2'\n healthCheckConnectPort: '80'\n healthCheckConnectTimeout: '5'\n healthCheckDomain: www.domain.com\n healthCheckEnabled: 'true'\n healthyThreshold: '2'\n vpcId: ${defaultNetwork.id}\n scheduler: 5TCH\n defaultListener:\n type: alicloud:gwlb:Listener\n name: default\n properties:\n listenerDescription: example-tf-lsn\n serverGroupId: ${defaultServerGroup.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGWLB Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/listener:Listener example \u003cid\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -196428,7 +200453,7 @@ } }, "alicloud:gwlb/loadBalancer:LoadBalancer": { - "description": "Provides a GWLB Load Balancer resource.\n\n\n\nFor information about GWLB Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-wulanchabu\";\nconst zoneId2 = config.get(\"zoneId2\") || \"cn-wulanchabu-c\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaulti9Axhl = new alicloud.vpc.Network(\"defaulti9Axhl\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst default9NaKmL = new alicloud.vpc.Switch(\"default9NaKmL\", {\n vpcId: defaulti9Axhl.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultH4pKT4 = new alicloud.vpc.Switch(\"defaultH4pKT4\", {\n vpcId: defaulti9Axhl.id,\n zoneId: zoneId2,\n cidrBlock: \"10.0.1.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultLoadBalancer = new alicloud.gwlb.LoadBalancer(\"default\", {\n vpcId: defaulti9Axhl.id,\n loadBalancerName: name,\n zoneMappings: [{\n vswitchId: default9NaKmL.id,\n zoneId: zoneId1,\n }],\n addressIpVersion: \"Ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-wulanchabu\"\nzone_id2 = config.get(\"zoneId2\")\nif zone_id2 is None:\n zone_id2 = \"cn-wulanchabu-c\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaulti9_axhl = alicloud.vpc.Network(\"defaulti9Axhl\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault9_na_km_l = alicloud.vpc.Switch(\"default9NaKmL\",\n vpc_id=defaulti9_axhl.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\ndefault_h4p_kt4 = alicloud.vpc.Switch(\"defaultH4pKT4\",\n vpc_id=defaulti9_axhl.id,\n zone_id=zone_id2,\n cidr_block=\"10.0.1.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_load_balancer = alicloud.gwlb.LoadBalancer(\"default\",\n vpc_id=defaulti9_axhl.id,\n load_balancer_name=name,\n zone_mappings=[{\n \"vswitch_id\": default9_na_km_l.id,\n \"zone_id\": zone_id1,\n }],\n address_ip_version=\"Ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-wulanchabu\";\n var zoneId2 = config.Get(\"zoneId2\") ?? \"cn-wulanchabu-c\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaulti9Axhl = new AliCloud.Vpc.Network(\"defaulti9Axhl\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var default9NaKmL = new AliCloud.Vpc.Switch(\"default9NaKmL\", new()\n {\n VpcId = defaulti9Axhl.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultH4pKT4 = new AliCloud.Vpc.Switch(\"defaultH4pKT4\", new()\n {\n VpcId = defaulti9Axhl.Id,\n ZoneId = zoneId2,\n CidrBlock = \"10.0.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultLoadBalancer = new AliCloud.Gwlb.LoadBalancer(\"default\", new()\n {\n VpcId = defaulti9Axhl.Id,\n LoadBalancerName = name,\n ZoneMappings = new[]\n {\n new AliCloud.Gwlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default9NaKmL.Id,\n ZoneId = zoneId1,\n },\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-wulanchabu\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tzoneId2 := \"cn-wulanchabu-c\"\n\t\tif param := cfg.Get(\"zoneId2\"); param != \"\" {\n\t\t\tzoneId2 = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulti9Axhl, err := vpc.NewNetwork(ctx, \"defaulti9Axhl\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9NaKmL, err := vpc.NewSwitch(ctx, \"default9NaKmL\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = vpc.NewSwitch(ctx, \"defaultH4pKT4\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tZoneId: pulumi.String(zoneId2),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewLoadBalancer(ctx, \"default\", \u0026gwlb.LoadBalancerArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tZoneMappings: gwlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026gwlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default9NaKmL.ID(),\n\t\t\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.LoadBalancer;\nimport com.pulumi.alicloud.gwlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-wulanchabu\");\n final var zoneId2 = config.get(\"zoneId2\").orElse(\"cn-wulanchabu-c\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaulti9Axhl = new Network(\"defaulti9Axhl\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var default9NaKmL = new Switch(\"default9NaKmL\", SwitchArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultH4pKT4 = new Switch(\"defaultH4pKT4\", SwitchArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .zoneId(zoneId2)\n .cidrBlock(\"10.0.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .loadBalancerName(name)\n .zoneMappings(LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default9NaKmL.id())\n .zoneId(zoneId1)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-wulanchabu\n zoneId2:\n type: string\n default: cn-wulanchabu-c\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaulti9Axhl:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n default9NaKmL:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaulti9Axhl.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n defaultH4pKT4:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaulti9Axhl.id}\n zoneId: ${zoneId2}\n cidrBlock: 10.0.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultLoadBalancer:\n type: alicloud:gwlb:LoadBalancer\n name: default\n properties:\n vpcId: ${defaulti9Axhl.id}\n loadBalancerName: ${name}\n zoneMappings:\n - vswitchId: ${default9NaKmL.id}\n zoneId: ${zoneId1}\n addressIpVersion: Ipv4\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGWLB Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", + "description": "Provides a GWLB Load Balancer resource.\n\n\n\nFor information about GWLB Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-wulanchabu\";\nconst zoneId2 = config.get(\"zoneId2\") || \"cn-wulanchabu-c\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaulti9Axhl = new alicloud.vpc.Network(\"defaulti9Axhl\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst default9NaKmL = new alicloud.vpc.Switch(\"default9NaKmL\", {\n vpcId: defaulti9Axhl.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultH4pKT4 = new alicloud.vpc.Switch(\"defaultH4pKT4\", {\n vpcId: defaulti9Axhl.id,\n zoneId: zoneId2,\n cidrBlock: \"10.0.1.0/24\",\n vswitchName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultLoadBalancer = new alicloud.gwlb.LoadBalancer(\"default\", {\n vpcId: defaulti9Axhl.id,\n loadBalancerName: name,\n zoneMappings: [{\n vswitchId: default9NaKmL.id,\n zoneId: zoneId1,\n }],\n addressIpVersion: \"Ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-wulanchabu\"\nzone_id2 = config.get(\"zoneId2\")\nif zone_id2 is None:\n zone_id2 = \"cn-wulanchabu-c\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaulti9_axhl = alicloud.vpc.Network(\"defaulti9Axhl\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault9_na_km_l = alicloud.vpc.Switch(\"default9NaKmL\",\n vpc_id=defaulti9_axhl.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=std.format(input=\"%s1\",\n args=[name]).result)\ndefault_h4p_kt4 = alicloud.vpc.Switch(\"defaultH4pKT4\",\n vpc_id=defaulti9_axhl.id,\n zone_id=zone_id2,\n cidr_block=\"10.0.1.0/24\",\n vswitch_name=std.format(input=\"%s2\",\n args=[name]).result)\ndefault_load_balancer = alicloud.gwlb.LoadBalancer(\"default\",\n vpc_id=defaulti9_axhl.id,\n load_balancer_name=name,\n zone_mappings=[{\n \"vswitch_id\": default9_na_km_l.id,\n \"zone_id\": zone_id1,\n }],\n address_ip_version=\"Ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-wulanchabu\";\n var zoneId2 = config.Get(\"zoneId2\") ?? \"cn-wulanchabu-c\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaulti9Axhl = new AliCloud.Vpc.Network(\"defaulti9Axhl\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var default9NaKmL = new AliCloud.Vpc.Switch(\"default9NaKmL\", new()\n {\n VpcId = defaulti9Axhl.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultH4pKT4 = new AliCloud.Vpc.Switch(\"defaultH4pKT4\", new()\n {\n VpcId = defaulti9Axhl.Id,\n ZoneId = zoneId2,\n CidrBlock = \"10.0.1.0/24\",\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultLoadBalancer = new AliCloud.Gwlb.LoadBalancer(\"default\", new()\n {\n VpcId = defaulti9Axhl.Id,\n LoadBalancerName = name,\n ZoneMappings = new[]\n {\n new AliCloud.Gwlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default9NaKmL.Id,\n ZoneId = zoneId1,\n },\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-wulanchabu\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tzoneId2 := \"cn-wulanchabu-c\"\n\t\tif param := cfg.Get(\"zoneId2\"); param != \"\" {\n\t\t\tzoneId2 = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulti9Axhl, err := vpc.NewNetwork(ctx, \"defaulti9Axhl\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9NaKmL, err := vpc.NewSwitch(ctx, \"default9NaKmL\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = vpc.NewSwitch(ctx, \"defaultH4pKT4\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tZoneId: pulumi.String(zoneId2),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewLoadBalancer(ctx, \"default\", \u0026gwlb.LoadBalancerArgs{\n\t\t\tVpcId: defaulti9Axhl.ID(),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tZoneMappings: gwlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026gwlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default9NaKmL.ID(),\n\t\t\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.LoadBalancer;\nimport com.pulumi.alicloud.gwlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-wulanchabu\");\n final var zoneId2 = config.get(\"zoneId2\").orElse(\"cn-wulanchabu-c\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaulti9Axhl = new Network(\"defaulti9Axhl\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var default9NaKmL = new Switch(\"default9NaKmL\", SwitchArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultH4pKT4 = new Switch(\"defaultH4pKT4\", SwitchArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .zoneId(zoneId2)\n .cidrBlock(\"10.0.1.0/24\")\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .vpcId(defaulti9Axhl.id())\n .loadBalancerName(name)\n .zoneMappings(LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default9NaKmL.id())\n .zoneId(zoneId1)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-wulanchabu\n zoneId2:\n type: string\n default: cn-wulanchabu-c\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaulti9Axhl:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n default9NaKmL:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaulti9Axhl.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n defaultH4pKT4:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaulti9Axhl.id}\n zoneId: ${zoneId2}\n cidrBlock: 10.0.1.0/24\n vswitchName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n defaultLoadBalancer:\n type: alicloud:gwlb:LoadBalancer\n name: default\n properties:\n vpcId: ${defaulti9Axhl.id}\n loadBalancerName: ${name}\n zoneMappings:\n - vswitchId: ${default9NaKmL.id}\n zoneId: ${zoneId1}\n addressIpVersion: Ipv4\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGWLB Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", "properties": { "addressIpVersion": { "type": "string", @@ -196575,7 +200600,7 @@ } }, "alicloud:gwlb/serverGroup:ServerGroup": { - "description": "Provides a GWLB Server Group resource.\n\n\n\nFor information about GWLB Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createservergroup).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-wulanchabu\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultEaxcvb = new alicloud.vpc.Network(\"defaultEaxcvb\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: \"tf-gwlb-vpc\",\n});\nconst defaultc3uVID = new alicloud.vpc.Switch(\"defaultc3uVID\", {\n vpcId: defaultEaxcvb.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: \"tf-example-vsw1\",\n});\nconst default7NNxRl = new alicloud.ecs.SecurityGroup(\"default7NNxRl\", {\n description: \"sg\",\n securityGroupName: \"sg_name\",\n vpcId: defaultEaxcvb.id,\n securityGroupType: \"normal\",\n});\nconst defaultH6McvC = new alicloud.ecs.Instance(\"defaultH6McvC\", {\n vswitchId: defaultc3uVID.id,\n imageId: \"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n instanceType: \"ecs.g6.large\",\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n instanceName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n description: \"tf-example-ecs\",\n securityGroups: [default7NNxRl.id],\n availabilityZone: defaultc3uVID.zoneId,\n instanceChargeType: \"PostPaid\",\n});\nconst defaultServerGroup = new alicloud.gwlb.ServerGroup(\"default\", {\n dryRun: false,\n servers: [{\n serverId: defaultH6McvC.id,\n serverType: \"Ecs\",\n }],\n scheduler: \"5TCH\",\n protocol: \"GENEVE\",\n connectionDrainConfig: {\n connectionDrainEnabled: true,\n connectionDrainTimeout: 1,\n },\n vpcId: defaultEaxcvb.id,\n serverGroupType: \"Instance\",\n serverGroupName: name,\n healthCheckConfig: {\n healthCheckConnectPort: 80,\n healthCheckEnabled: true,\n healthCheckProtocol: \"HTTP\",\n healthCheckConnectTimeout: 5,\n healthCheckDomain: \"www.domain.com\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckInterval: 10,\n healthCheckPath: \"/health-check\",\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-wulanchabu\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_eaxcvb = alicloud.vpc.Network(\"defaultEaxcvb\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=\"tf-gwlb-vpc\")\ndefaultc3u_vid = alicloud.vpc.Switch(\"defaultc3uVID\",\n vpc_id=default_eaxcvb.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=\"tf-example-vsw1\")\ndefault7_n_nx_rl = alicloud.ecs.SecurityGroup(\"default7NNxRl\",\n description=\"sg\",\n security_group_name=\"sg_name\",\n vpc_id=default_eaxcvb.id,\n security_group_type=\"normal\")\ndefault_h6_mcv_c = alicloud.ecs.Instance(\"defaultH6McvC\",\n vswitch_id=defaultc3u_vid.id,\n image_id=\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n instance_type=\"ecs.g6.large\",\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n instance_name=std.format(input=\"%s4\",\n args=[name]).result,\n description=\"tf-example-ecs\",\n security_groups=[default7_n_nx_rl.id],\n availability_zone=defaultc3u_vid.zone_id,\n instance_charge_type=\"PostPaid\")\ndefault_server_group = alicloud.gwlb.ServerGroup(\"default\",\n dry_run=False,\n servers=[{\n \"server_id\": default_h6_mcv_c.id,\n \"server_type\": \"Ecs\",\n }],\n scheduler=\"5TCH\",\n protocol=\"GENEVE\",\n connection_drain_config={\n \"connection_drain_enabled\": True,\n \"connection_drain_timeout\": 1,\n },\n vpc_id=default_eaxcvb.id,\n server_group_type=\"Instance\",\n server_group_name=name,\n health_check_config={\n \"health_check_connect_port\": 80,\n \"health_check_enabled\": True,\n \"health_check_protocol\": \"HTTP\",\n \"health_check_connect_timeout\": 5,\n \"health_check_domain\": \"www.domain.com\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_interval\": 10,\n \"health_check_path\": \"/health-check\",\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n },\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-wulanchabu\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultEaxcvb = new AliCloud.Vpc.Network(\"defaultEaxcvb\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = \"tf-gwlb-vpc\",\n });\n\n var defaultc3uVID = new AliCloud.Vpc.Switch(\"defaultc3uVID\", new()\n {\n VpcId = defaultEaxcvb.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = \"tf-example-vsw1\",\n });\n\n var default7NNxRl = new AliCloud.Ecs.SecurityGroup(\"default7NNxRl\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"sg_name\",\n VpcId = defaultEaxcvb.Id,\n SecurityGroupType = \"normal\",\n });\n\n var defaultH6McvC = new AliCloud.Ecs.Instance(\"defaultH6McvC\", new()\n {\n VswitchId = defaultc3uVID.Id,\n ImageId = \"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n InstanceType = \"ecs.g6.large\",\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n InstanceName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Description = \"tf-example-ecs\",\n SecurityGroups = new[]\n {\n default7NNxRl.Id,\n },\n AvailabilityZone = defaultc3uVID.ZoneId,\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultServerGroup = new AliCloud.Gwlb.ServerGroup(\"default\", new()\n {\n DryRun = false,\n Servers = new[]\n {\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = defaultH6McvC.Id,\n ServerType = \"Ecs\",\n },\n },\n Scheduler = \"5TCH\",\n Protocol = \"GENEVE\",\n ConnectionDrainConfig = new AliCloud.Gwlb.Inputs.ServerGroupConnectionDrainConfigArgs\n {\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 1,\n },\n VpcId = defaultEaxcvb.Id,\n ServerGroupType = \"Instance\",\n ServerGroupName = name,\n HealthCheckConfig = new AliCloud.Gwlb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 80,\n HealthCheckEnabled = true,\n HealthCheckProtocol = \"HTTP\",\n HealthCheckConnectTimeout = 5,\n HealthCheckDomain = \"www.domain.com\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckInterval = 10,\n HealthCheckPath = \"/health-check\",\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-wulanchabu\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEaxcvb, err := vpc.NewNetwork(ctx, \"defaultEaxcvb\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(\"tf-gwlb-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultc3uVID, err := vpc.NewSwitch(ctx, \"defaultc3uVID\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-example-vsw1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault7NNxRl, err := ecs.NewSecurityGroup(ctx, \"default7NNxRl\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"sg_name\"),\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultH6McvC, err := ecs.NewInstance(ctx, \"defaultH6McvC\", \u0026ecs.InstanceArgs{\n\t\t\tVswitchId: defaultc3uVID.ID(),\n\t\t\tImageId: pulumi.String(\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\"),\n\t\t\tInstanceType: pulumi.String(\"ecs.g6.large\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\tDescription: pulumi.String(\"tf-example-ecs\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefault7NNxRl.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultc3uVID.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewServerGroup(ctx, \"default\", \u0026gwlb.ServerGroupArgs{\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tServers: gwlb.ServerGroupServerArray{\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: defaultH6McvC.ID(),\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduler: pulumi.String(\"5TCH\"),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tConnectionDrainConfig: \u0026gwlb.ServerGroupConnectionDrainConfigArgs{\n\t\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\t\tConnectionDrainTimeout: pulumi.Int(1),\n\t\t\t},\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tHealthCheckConfig: \u0026gwlb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(80),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckDomain: pulumi.String(\"www.domain.com\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/health-check\"),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.ServerGroup;\nimport com.pulumi.alicloud.gwlb.ServerGroupArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupConnectionDrainConfigArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-wulanchabu\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultEaxcvb = new Network(\"defaultEaxcvb\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(\"tf-gwlb-vpc\")\n .build());\n\n var defaultc3uVID = new Switch(\"defaultc3uVID\", SwitchArgs.builder()\n .vpcId(defaultEaxcvb.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(\"tf-example-vsw1\")\n .build());\n\n var default7NNxRl = new SecurityGroup(\"default7NNxRl\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"sg_name\")\n .vpcId(defaultEaxcvb.id())\n .securityGroupType(\"normal\")\n .build());\n\n var defaultH6McvC = new Instance(\"defaultH6McvC\", InstanceArgs.builder()\n .vswitchId(defaultc3uVID.id())\n .imageId(\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\")\n .instanceType(\"ecs.g6.large\")\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .description(\"tf-example-ecs\")\n .securityGroups(default7NNxRl.id())\n .availabilityZone(defaultc3uVID.zoneId())\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .dryRun(false)\n .servers(ServerGroupServerArgs.builder()\n .serverId(defaultH6McvC.id())\n .serverType(\"Ecs\")\n .build())\n .scheduler(\"5TCH\")\n .protocol(\"GENEVE\")\n .connectionDrainConfig(ServerGroupConnectionDrainConfigArgs.builder()\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(1)\n .build())\n .vpcId(defaultEaxcvb.id())\n .serverGroupType(\"Instance\")\n .serverGroupName(name)\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(80)\n .healthCheckEnabled(true)\n .healthCheckProtocol(\"HTTP\")\n .healthCheckConnectTimeout(5)\n .healthCheckDomain(\"www.domain.com\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckInterval(10)\n .healthCheckPath(\"/health-check\")\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .build())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-wulanchabu\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaultEaxcvb:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: tf-gwlb-vpc\n defaultc3uVID:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultEaxcvb.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName: tf-example-vsw1\n default7NNxRl:\n type: alicloud:ecs:SecurityGroup\n properties:\n description: sg\n securityGroupName: sg_name\n vpcId: ${defaultEaxcvb.id}\n securityGroupType: normal\n defaultH6McvC:\n type: alicloud:ecs:Instance\n properties:\n vswitchId: ${defaultc3uVID.id}\n imageId: aliyun_2_1903_x64_20G_alibase_20231221.vhd\n instanceType: ecs.g6.large\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n instanceName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n description: tf-example-ecs\n securityGroups:\n - ${default7NNxRl.id}\n availabilityZone: ${defaultc3uVID.zoneId}\n instanceChargeType: PostPaid\n defaultServerGroup:\n type: alicloud:gwlb:ServerGroup\n name: default\n properties:\n dryRun: 'false'\n servers:\n - serverId: ${defaultH6McvC.id}\n serverType: Ecs\n scheduler: 5TCH\n protocol: GENEVE\n connectionDrainConfig:\n connectionDrainEnabled: 'true'\n connectionDrainTimeout: '1'\n vpcId: ${defaultEaxcvb.id}\n serverGroupType: Instance\n serverGroupName: ${name}\n healthCheckConfig:\n healthCheckConnectPort: '80'\n healthCheckEnabled: 'true'\n healthCheckProtocol: HTTP\n healthCheckConnectTimeout: '5'\n healthCheckDomain: www.domain.com\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckInterval: '10'\n healthCheckPath: /health-check\n healthyThreshold: '2'\n unhealthyThreshold: '2'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGWLB Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a GWLB Server Group resource.\n\n\n\nFor information about GWLB Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/slb/gateway-based-load-balancing-gwlb/developer-reference/api-gwlb-2024-04-15-createservergroup).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-wulanchabu\";\nconst zoneId1 = config.get(\"zoneId1\") || \"cn-wulanchabu-b\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultEaxcvb = new alicloud.vpc.Network(\"defaultEaxcvb\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: \"tf-gwlb-vpc\",\n});\nconst defaultc3uVID = new alicloud.vpc.Switch(\"defaultc3uVID\", {\n vpcId: defaultEaxcvb.id,\n zoneId: zoneId1,\n cidrBlock: \"10.0.0.0/24\",\n vswitchName: \"tf-example-vsw1\",\n});\nconst default7NNxRl = new alicloud.ecs.SecurityGroup(\"default7NNxRl\", {\n description: \"sg\",\n securityGroupName: \"sg_name\",\n vpcId: defaultEaxcvb.id,\n securityGroupType: \"normal\",\n});\nconst defaultH6McvC = new alicloud.ecs.Instance(\"defaultH6McvC\", {\n vswitchId: defaultc3uVID.id,\n imageId: \"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n instanceType: \"ecs.g6.large\",\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n instanceName: std.format({\n input: \"%s4\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n description: \"tf-example-ecs\",\n securityGroups: [default7NNxRl.id],\n availabilityZone: defaultc3uVID.zoneId,\n instanceChargeType: \"PostPaid\",\n});\nconst defaultServerGroup = new alicloud.gwlb.ServerGroup(\"default\", {\n dryRun: false,\n servers: [{\n serverId: defaultH6McvC.id,\n serverType: \"Ecs\",\n }],\n scheduler: \"5TCH\",\n protocol: \"GENEVE\",\n connectionDrainConfig: {\n connectionDrainEnabled: true,\n connectionDrainTimeout: 1,\n },\n vpcId: defaultEaxcvb.id,\n serverGroupType: \"Instance\",\n serverGroupName: name,\n healthCheckConfig: {\n healthCheckConnectPort: 80,\n healthCheckEnabled: true,\n healthCheckProtocol: \"HTTP\",\n healthCheckConnectTimeout: 5,\n healthCheckDomain: \"www.domain.com\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n healthCheckInterval: 10,\n healthCheckPath: \"/health-check\",\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n },\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-wulanchabu\"\nzone_id1 = config.get(\"zoneId1\")\nif zone_id1 is None:\n zone_id1 = \"cn-wulanchabu-b\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_eaxcvb = alicloud.vpc.Network(\"defaultEaxcvb\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=\"tf-gwlb-vpc\")\ndefaultc3u_vid = alicloud.vpc.Switch(\"defaultc3uVID\",\n vpc_id=default_eaxcvb.id,\n zone_id=zone_id1,\n cidr_block=\"10.0.0.0/24\",\n vswitch_name=\"tf-example-vsw1\")\ndefault7_n_nx_rl = alicloud.ecs.SecurityGroup(\"default7NNxRl\",\n description=\"sg\",\n security_group_name=\"sg_name\",\n vpc_id=default_eaxcvb.id,\n security_group_type=\"normal\")\ndefault_h6_mcv_c = alicloud.ecs.Instance(\"defaultH6McvC\",\n vswitch_id=defaultc3u_vid.id,\n image_id=\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n instance_type=\"ecs.g6.large\",\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n instance_name=std.format(input=\"%s4\",\n args=[name]).result,\n description=\"tf-example-ecs\",\n security_groups=[default7_n_nx_rl.id],\n availability_zone=defaultc3u_vid.zone_id,\n instance_charge_type=\"PostPaid\")\ndefault_server_group = alicloud.gwlb.ServerGroup(\"default\",\n dry_run=False,\n servers=[{\n \"server_id\": default_h6_mcv_c.id,\n \"server_type\": \"Ecs\",\n }],\n scheduler=\"5TCH\",\n protocol=\"GENEVE\",\n connection_drain_config={\n \"connection_drain_enabled\": True,\n \"connection_drain_timeout\": 1,\n },\n vpc_id=default_eaxcvb.id,\n server_group_type=\"Instance\",\n server_group_name=name,\n health_check_config={\n \"health_check_connect_port\": 80,\n \"health_check_enabled\": True,\n \"health_check_protocol\": \"HTTP\",\n \"health_check_connect_timeout\": 5,\n \"health_check_domain\": \"www.domain.com\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n \"health_check_interval\": 10,\n \"health_check_path\": \"/health-check\",\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n },\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-wulanchabu\";\n var zoneId1 = config.Get(\"zoneId1\") ?? \"cn-wulanchabu-b\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultEaxcvb = new AliCloud.Vpc.Network(\"defaultEaxcvb\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = \"tf-gwlb-vpc\",\n });\n\n var defaultc3uVID = new AliCloud.Vpc.Switch(\"defaultc3uVID\", new()\n {\n VpcId = defaultEaxcvb.Id,\n ZoneId = zoneId1,\n CidrBlock = \"10.0.0.0/24\",\n VswitchName = \"tf-example-vsw1\",\n });\n\n var default7NNxRl = new AliCloud.Ecs.SecurityGroup(\"default7NNxRl\", new()\n {\n Description = \"sg\",\n SecurityGroupName = \"sg_name\",\n VpcId = defaultEaxcvb.Id,\n SecurityGroupType = \"normal\",\n });\n\n var defaultH6McvC = new AliCloud.Ecs.Instance(\"defaultH6McvC\", new()\n {\n VswitchId = defaultc3uVID.Id,\n ImageId = \"aliyun_2_1903_x64_20G_alibase_20231221.vhd\",\n InstanceType = \"ecs.g6.large\",\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n InstanceName = Std.Format.Invoke(new()\n {\n Input = \"%s4\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Description = \"tf-example-ecs\",\n SecurityGroups = new[]\n {\n default7NNxRl.Id,\n },\n AvailabilityZone = defaultc3uVID.ZoneId,\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultServerGroup = new AliCloud.Gwlb.ServerGroup(\"default\", new()\n {\n DryRun = false,\n Servers = new[]\n {\n new AliCloud.Gwlb.Inputs.ServerGroupServerArgs\n {\n ServerId = defaultH6McvC.Id,\n ServerType = \"Ecs\",\n },\n },\n Scheduler = \"5TCH\",\n Protocol = \"GENEVE\",\n ConnectionDrainConfig = new AliCloud.Gwlb.Inputs.ServerGroupConnectionDrainConfigArgs\n {\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 1,\n },\n VpcId = defaultEaxcvb.Id,\n ServerGroupType = \"Instance\",\n ServerGroupName = name,\n HealthCheckConfig = new AliCloud.Gwlb.Inputs.ServerGroupHealthCheckConfigArgs\n {\n HealthCheckConnectPort = 80,\n HealthCheckEnabled = true,\n HealthCheckProtocol = \"HTTP\",\n HealthCheckConnectTimeout = 5,\n HealthCheckDomain = \"www.domain.com\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n HealthCheckInterval = 10,\n HealthCheckPath = \"/health-check\",\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gwlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-wulanchabu\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tzoneId1 := \"cn-wulanchabu-b\"\n\t\tif param := cfg.Get(\"zoneId1\"); param != \"\" {\n\t\t\tzoneId1 = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEaxcvb, err := vpc.NewNetwork(ctx, \"defaultEaxcvb\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(\"tf-gwlb-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultc3uVID, err := vpc.NewSwitch(ctx, \"defaultc3uVID\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tZoneId: pulumi.String(zoneId1),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-example-vsw1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault7NNxRl, err := ecs.NewSecurityGroup(ctx, \"default7NNxRl\", \u0026ecs.SecurityGroupArgs{\n\t\t\tDescription: pulumi.String(\"sg\"),\n\t\t\tSecurityGroupName: pulumi.String(\"sg_name\"),\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tSecurityGroupType: pulumi.String(\"normal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s4\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultH6McvC, err := ecs.NewInstance(ctx, \"defaultH6McvC\", \u0026ecs.InstanceArgs{\n\t\t\tVswitchId: defaultc3uVID.ID(),\n\t\t\tImageId: pulumi.String(\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\"),\n\t\t\tInstanceType: pulumi.String(\"ecs.g6.large\"),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tInstanceName: pulumi.String(invokeFormat.Result),\n\t\t\tDescription: pulumi.String(\"tf-example-ecs\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefault7NNxRl.ID(),\n\t\t\t},\n\t\t\tAvailabilityZone: defaultc3uVID.ZoneId,\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gwlb.NewServerGroup(ctx, \"default\", \u0026gwlb.ServerGroupArgs{\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tServers: gwlb.ServerGroupServerArray{\n\t\t\t\t\u0026gwlb.ServerGroupServerArgs{\n\t\t\t\t\tServerId: defaultH6McvC.ID(),\n\t\t\t\t\tServerType: pulumi.String(\"Ecs\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScheduler: pulumi.String(\"5TCH\"),\n\t\t\tProtocol: pulumi.String(\"GENEVE\"),\n\t\t\tConnectionDrainConfig: \u0026gwlb.ServerGroupConnectionDrainConfigArgs{\n\t\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\t\tConnectionDrainTimeout: pulumi.Int(1),\n\t\t\t},\n\t\t\tVpcId: defaultEaxcvb.ID(),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tHealthCheckConfig: \u0026gwlb.ServerGroupHealthCheckConfigArgs{\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(80),\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckDomain: pulumi.String(\"www.domain.com\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHealthCheckPath: pulumi.String(\"/health-check\"),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.gwlb.ServerGroup;\nimport com.pulumi.alicloud.gwlb.ServerGroupArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupServerArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupConnectionDrainConfigArgs;\nimport com.pulumi.alicloud.gwlb.inputs.ServerGroupHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-wulanchabu\");\n final var zoneId1 = config.get(\"zoneId1\").orElse(\"cn-wulanchabu-b\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultEaxcvb = new Network(\"defaultEaxcvb\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(\"tf-gwlb-vpc\")\n .build());\n\n var defaultc3uVID = new Switch(\"defaultc3uVID\", SwitchArgs.builder()\n .vpcId(defaultEaxcvb.id())\n .zoneId(zoneId1)\n .cidrBlock(\"10.0.0.0/24\")\n .vswitchName(\"tf-example-vsw1\")\n .build());\n\n var default7NNxRl = new SecurityGroup(\"default7NNxRl\", SecurityGroupArgs.builder()\n .description(\"sg\")\n .securityGroupName(\"sg_name\")\n .vpcId(defaultEaxcvb.id())\n .securityGroupType(\"normal\")\n .build());\n\n var defaultH6McvC = new Instance(\"defaultH6McvC\", InstanceArgs.builder()\n .vswitchId(defaultc3uVID.id())\n .imageId(\"aliyun_2_1903_x64_20G_alibase_20231221.vhd\")\n .instanceType(\"ecs.g6.large\")\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .instanceName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s4\")\n .args(name)\n .build()).result())\n .description(\"tf-example-ecs\")\n .securityGroups(default7NNxRl.id())\n .availabilityZone(defaultc3uVID.zoneId())\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .dryRun(false)\n .servers(ServerGroupServerArgs.builder()\n .serverId(defaultH6McvC.id())\n .serverType(\"Ecs\")\n .build())\n .scheduler(\"5TCH\")\n .protocol(\"GENEVE\")\n .connectionDrainConfig(ServerGroupConnectionDrainConfigArgs.builder()\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(1)\n .build())\n .vpcId(defaultEaxcvb.id())\n .serverGroupType(\"Instance\")\n .serverGroupName(name)\n .healthCheckConfig(ServerGroupHealthCheckConfigArgs.builder()\n .healthCheckConnectPort(80)\n .healthCheckEnabled(true)\n .healthCheckProtocol(\"HTTP\")\n .healthCheckConnectTimeout(5)\n .healthCheckDomain(\"www.domain.com\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .healthCheckInterval(10)\n .healthCheckPath(\"/health-check\")\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .build())\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-wulanchabu\n zoneId1:\n type: string\n default: cn-wulanchabu-b\nresources:\n defaultEaxcvb:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: tf-gwlb-vpc\n defaultc3uVID:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultEaxcvb.id}\n zoneId: ${zoneId1}\n cidrBlock: 10.0.0.0/24\n vswitchName: tf-example-vsw1\n default7NNxRl:\n type: alicloud:ecs:SecurityGroup\n properties:\n description: sg\n securityGroupName: sg_name\n vpcId: ${defaultEaxcvb.id}\n securityGroupType: normal\n defaultH6McvC:\n type: alicloud:ecs:Instance\n properties:\n vswitchId: ${defaultc3uVID.id}\n imageId: aliyun_2_1903_x64_20G_alibase_20231221.vhd\n instanceType: ecs.g6.large\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n instanceName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s4'\n args:\n - ${name}\n return: result\n description: tf-example-ecs\n securityGroups:\n - ${default7NNxRl.id}\n availabilityZone: ${defaultc3uVID.zoneId}\n instanceChargeType: PostPaid\n defaultServerGroup:\n type: alicloud:gwlb:ServerGroup\n name: default\n properties:\n dryRun: 'false'\n servers:\n - serverId: ${defaultH6McvC.id}\n serverType: Ecs\n scheduler: 5TCH\n protocol: GENEVE\n connectionDrainConfig:\n connectionDrainEnabled: 'true'\n connectionDrainTimeout: '1'\n vpcId: ${defaultEaxcvb.id}\n serverGroupType: Instance\n serverGroupName: ${name}\n healthCheckConfig:\n healthCheckConnectPort: '80'\n healthCheckEnabled: 'true'\n healthCheckProtocol: HTTP\n healthCheckConnectTimeout: '5'\n healthCheckDomain: www.domain.com\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n healthCheckInterval: '10'\n healthCheckPath: /health-check\n healthyThreshold: '2'\n unhealthyThreshold: '2'\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nGWLB Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:gwlb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", "properties": { "connectionDrainConfig": { "$ref": "#/types/alicloud:gwlb/ServerGroupConnectionDrainConfig:ServerGroupConnectionDrainConfig", @@ -196774,7 +200799,7 @@ } }, "alicloud:hbase/instance:Instance": { - "description": "Provides a HBase instance resource supports replica set instances only. The HBase provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/en/apsaradb-for-hbase/latest/createcluster)\n\n\u003e **NOTE:** Available since v1.67.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network HBase instance.\n[`cn-hangzhou`,`cn-shanghai`,`cn-qingdao`,`cn-beijing`,`cn-shenzhen`,`ap-southeast-1a`,.....]\nThe official website mark more regions. or you can call [DescribeRegions](https://www.alibabacloud.com/help/en/apsaradb-for-hbase/latest/describeregions)\n\n\u003e **NOTE:** Create HBase instance or change instance type and storage would cost 15 minutes. Please make full preparation\n\n## Example Usage\n\n### Create a hbase instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.hbase.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[1]?.id,\n}));\nconst defaultInstance = new alicloud.hbase.Instance(\"default\", {\n name: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n engine: \"hbaseue\",\n engineVersion: \"2.0\",\n masterInstanceType: \"hbase.sn2.2xlarge\",\n coreInstanceType: \"hbase.sn2.2xlarge\",\n coreInstanceQuantity: 2,\n coreDiskType: \"cloud_efficiency\",\n coreDiskSize: 400,\n payType: \"PostPaid\",\n coldStorageSize: 0,\n deletionProtection: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.hbase.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[1].id)\ndefault_instance = alicloud.hbase.Instance(\"default\",\n name=name,\n zone_id=default.zones[1].id,\n vswitch_id=default_get_switches.ids[0],\n vpc_id=default_get_networks.ids[0],\n engine=\"hbaseue\",\n engine_version=\"2.0\",\n master_instance_type=\"hbase.sn2.2xlarge\",\n core_instance_type=\"hbase.sn2.2xlarge\",\n core_instance_quantity=2,\n core_disk_type=\"cloud_efficiency\",\n core_disk_size=400,\n pay_type=\"PostPaid\",\n cold_storage_size=0,\n deletion_protection=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Hbase.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultInstance = new AliCloud.Hbase.Instance(\"default\", new()\n {\n Name = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Engine = \"hbaseue\",\n EngineVersion = \"2.0\",\n MasterInstanceType = \"hbase.sn2.2xlarge\",\n CoreInstanceType = \"hbase.sn2.2xlarge\",\n CoreInstanceQuantity = 2,\n CoreDiskType = \"cloud_efficiency\",\n CoreDiskSize = 400,\n PayType = \"PostPaid\",\n ColdStorageSize = 0,\n DeletionProtection = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbase\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := hbase.GetZones(ctx, \u0026hbase.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[1].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbase.NewInstance(ctx, \"default\", \u0026hbase.InstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tEngine: pulumi.String(\"hbaseue\"),\n\t\t\tEngineVersion: pulumi.String(\"2.0\"),\n\t\t\tMasterInstanceType: pulumi.String(\"hbase.sn2.2xlarge\"),\n\t\t\tCoreInstanceType: pulumi.String(\"hbase.sn2.2xlarge\"),\n\t\t\tCoreInstanceQuantity: pulumi.Int(2),\n\t\t\tCoreDiskType: pulumi.String(\"cloud_efficiency\"),\n\t\t\tCoreDiskSize: pulumi.Int(400),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tColdStorageSize: pulumi.Int(0),\n\t\t\tDeletionProtection: 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.alicloud.hbase.HbaseFunctions;\nimport com.pulumi.alicloud.hbase.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.hbase.Instance;\nimport com.pulumi.alicloud.hbase.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = HbaseFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[1].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(name)\n .zoneId(default_.zones()[1].id())\n .vswitchId(defaultGetSwitches.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .engine(\"hbaseue\")\n .engineVersion(\"2.0\")\n .masterInstanceType(\"hbase.sn2.2xlarge\")\n .coreInstanceType(\"hbase.sn2.2xlarge\")\n .coreInstanceQuantity(2)\n .coreDiskType(\"cloud_efficiency\")\n .coreDiskSize(400)\n .payType(\"PostPaid\")\n .coldStorageSize(0)\n .deletionProtection(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:hbase:Instance\n name: default\n properties:\n name: ${name}\n zoneId: ${default.zones[1].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n engine: hbaseue\n engineVersion: '2.0'\n masterInstanceType: hbase.sn2.2xlarge\n coreInstanceType: hbase.sn2.2xlarge\n coreInstanceQuantity: 2\n coreDiskType: cloud_efficiency\n coreDiskSize: 400\n payType: PostPaid\n coldStorageSize: 0\n deletionProtection: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbase:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[1].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nthis is a example for class netType instance. you can find more detail with the examples/hbase dir.\n\n## Import\n\nHBase can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbase/instance:Instance example hb-wz96815u13k659fvd\n```\n\n", + "description": "Provides a HBase instance resource supports replica set instances only. The HBase provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/en/apsaradb-for-hbase/latest/createcluster)\n\n\u003e **NOTE:** Available since v1.67.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network HBase instance.\n[`cn-hangzhou`,`cn-shanghai`,`cn-qingdao`,`cn-beijing`,`cn-shenzhen`,`ap-southeast-1a`,.....]\nThe official website mark more regions. or you can call [DescribeRegions](https://www.alibabacloud.com/help/en/apsaradb-for-hbase/latest/describeregions)\n\n\u003e **NOTE:** Create HBase instance or change instance type and storage would cost 15 minutes. Please make full preparation\n\n## Example Usage\n\n### Create a hbase instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.hbase.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[1]?.id,\n}));\nconst defaultInstance = new alicloud.hbase.Instance(\"default\", {\n name: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n engine: \"hbaseue\",\n engineVersion: \"2.0\",\n masterInstanceType: \"hbase.sn2.2xlarge\",\n coreInstanceType: \"hbase.sn2.2xlarge\",\n coreInstanceQuantity: 2,\n coreDiskType: \"cloud_efficiency\",\n coreDiskSize: 400,\n payType: \"PostPaid\",\n coldStorageSize: 0,\n deletionProtection: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.hbase.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[1].id)\ndefault_instance = alicloud.hbase.Instance(\"default\",\n name=name,\n zone_id=default.zones[1].id,\n vswitch_id=default_get_switches.ids[0],\n vpc_id=default_get_networks.ids[0],\n engine=\"hbaseue\",\n engine_version=\"2.0\",\n master_instance_type=\"hbase.sn2.2xlarge\",\n core_instance_type=\"hbase.sn2.2xlarge\",\n core_instance_quantity=2,\n core_disk_type=\"cloud_efficiency\",\n core_disk_size=400,\n pay_type=\"PostPaid\",\n cold_storage_size=0,\n deletion_protection=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Hbase.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultInstance = new AliCloud.Hbase.Instance(\"default\", new()\n {\n Name = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Engine = \"hbaseue\",\n EngineVersion = \"2.0\",\n MasterInstanceType = \"hbase.sn2.2xlarge\",\n CoreInstanceType = \"hbase.sn2.2xlarge\",\n CoreInstanceQuantity = 2,\n CoreDiskType = \"cloud_efficiency\",\n CoreDiskSize = 400,\n PayType = \"PostPaid\",\n ColdStorageSize = 0,\n DeletionProtection = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbase\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := hbase.GetZones(ctx, \u0026hbase.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[1].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbase.NewInstance(ctx, \"default\", \u0026hbase.InstanceArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tEngine: pulumi.String(\"hbaseue\"),\n\t\t\tEngineVersion: pulumi.String(\"2.0\"),\n\t\t\tMasterInstanceType: pulumi.String(\"hbase.sn2.2xlarge\"),\n\t\t\tCoreInstanceType: pulumi.String(\"hbase.sn2.2xlarge\"),\n\t\t\tCoreInstanceQuantity: pulumi.Int(2),\n\t\t\tCoreDiskType: pulumi.String(\"cloud_efficiency\"),\n\t\t\tCoreDiskSize: pulumi.Int(400),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tColdStorageSize: pulumi.Int(0),\n\t\t\tDeletionProtection: 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.alicloud.hbase.HbaseFunctions;\nimport com.pulumi.alicloud.hbase.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.hbase.Instance;\nimport com.pulumi.alicloud.hbase.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = HbaseFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[1].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(name)\n .zoneId(default_.zones()[1].id())\n .vswitchId(defaultGetSwitches.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .engine(\"hbaseue\")\n .engineVersion(\"2.0\")\n .masterInstanceType(\"hbase.sn2.2xlarge\")\n .coreInstanceType(\"hbase.sn2.2xlarge\")\n .coreInstanceQuantity(2)\n .coreDiskType(\"cloud_efficiency\")\n .coreDiskSize(400)\n .payType(\"PostPaid\")\n .coldStorageSize(0)\n .deletionProtection(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:hbase:Instance\n name: default\n properties:\n name: ${name}\n zoneId: ${default.zones[1].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n engine: hbaseue\n engineVersion: '2.0'\n masterInstanceType: hbase.sn2.2xlarge\n coreInstanceType: hbase.sn2.2xlarge\n coreInstanceQuantity: 2\n coreDiskType: cloud_efficiency\n coreDiskSize: 400\n payType: PostPaid\n coldStorageSize: 0\n deletionProtection: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbase:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[1].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nthis is a example for class netType instance. you can find more detail with the examples/hbase dir.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHBase can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbase/instance:Instance example hb-wz96815u13k659fvd\n```\n\n", "properties": { "account": { "type": "string", @@ -197182,7 +201207,7 @@ } }, "alicloud:hbr/crossAccount:CrossAccount": { - "description": "Provides a Hybrid Backup Recovery (HBR) Cross Account resource.\n\nThe cross account is used for the cross-account backup in the Cloud Backup. The management account can back up the resources under the cross account.\n\nFor information about Hybrid Backup Recovery (HBR) Cross Account and how to use it, see [What is Cross Account](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.hbr.CrossAccount(\"default\", {\n crossAccountUserId: 1,\n crossAccountRoleName: name,\n alias: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.hbr.CrossAccount(\"default\",\n cross_account_user_id=1,\n cross_account_role_name=name,\n alias=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Hbr.CrossAccount(\"default\", new()\n {\n CrossAccountUserId = 1,\n CrossAccountRoleName = name,\n Alias = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := hbr.NewCrossAccount(ctx, \"default\", \u0026hbr.CrossAccountArgs{\n\t\t\tCrossAccountUserId: pulumi.Int(1),\n\t\t\tCrossAccountRoleName: pulumi.String(name),\n\t\t\tAlias: pulumi.String(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.alicloud.hbr.CrossAccount;\nimport com.pulumi.alicloud.hbr.CrossAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CrossAccount(\"default\", CrossAccountArgs.builder()\n .crossAccountUserId(1)\n .crossAccountRoleName(name)\n .alias(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:hbr:CrossAccount\n properties:\n crossAccountUserId: '1'\n crossAccountRoleName: ${name}\n alias: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/crossAccount:CrossAccount example \u003ccross_account_user_id\u003e:\u003ccross_account_role_name\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Cross Account resource.\n\nThe cross account is used for the cross-account backup in the Cloud Backup. The management account can back up the resources under the cross account.\n\nFor information about Hybrid Backup Recovery (HBR) Cross Account and how to use it, see [What is Cross Account](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.241.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.hbr.CrossAccount(\"default\", {\n crossAccountUserId: 1,\n crossAccountRoleName: name,\n alias: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.hbr.CrossAccount(\"default\",\n cross_account_user_id=1,\n cross_account_role_name=name,\n alias=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Hbr.CrossAccount(\"default\", new()\n {\n CrossAccountUserId = 1,\n CrossAccountRoleName = name,\n Alias = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := hbr.NewCrossAccount(ctx, \"default\", \u0026hbr.CrossAccountArgs{\n\t\t\tCrossAccountUserId: pulumi.Int(1),\n\t\t\tCrossAccountRoleName: pulumi.String(name),\n\t\t\tAlias: pulumi.String(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.alicloud.hbr.CrossAccount;\nimport com.pulumi.alicloud.hbr.CrossAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CrossAccount(\"default\", CrossAccountArgs.builder()\n .crossAccountUserId(1)\n .crossAccountRoleName(name)\n .alias(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:hbr:CrossAccount\n properties:\n crossAccountUserId: '1'\n crossAccountRoleName: ${name}\n alias: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/crossAccount:CrossAccount example \u003ccross_account_user_id\u003e:\u003ccross_account_role_name\u003e\n```\n\n", "properties": { "alias": { "type": "string", @@ -197254,7 +201279,7 @@ } }, "alicloud:hbr/ecsBackupClient:EcsBackupClient": { - "description": "Provides a Hybrid Backup Recovery (HBR) Ecs Backup Client resource.\n\nFor information about Hybrid Backup Recovery (HBR) Ecs Backup Client and how to use it, see [What is Ecs Backup Client](https://www.alibabacloud.com/help/doc-detail/186570.htm).\n\n\u003e **NOTE:** Available in v1.132.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleEcsBackupClient = new alicloud.hbr.EcsBackupClient(\"example\", {\n instanceId: exampleInstance.id,\n useHttps: false,\n dataNetworkType: \"VPC\",\n maxCpuCore: \"2\",\n maxWorker: \"4\",\n dataProxySetting: \"USE_CONTROL_PROXY\",\n proxyHost: \"192.168.11.101\",\n proxyPort: \"80\",\n proxyUser: \"user\",\n proxyPassword: \"password\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_ecs_backup_client = alicloud.hbr.EcsBackupClient(\"example\",\n instance_id=example_instance.id,\n use_https=False,\n data_network_type=\"VPC\",\n max_cpu_core=\"2\",\n max_worker=\"4\",\n data_proxy_setting=\"USE_CONTROL_PROXY\",\n proxy_host=\"192.168.11.101\",\n proxy_port=\"80\",\n proxy_user=\"user\",\n proxy_password=\"password\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleEcsBackupClient = new AliCloud.Hbr.EcsBackupClient(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n UseHttps = false,\n DataNetworkType = \"VPC\",\n MaxCpuCore = \"2\",\n MaxWorker = \"4\",\n DataProxySetting = \"USE_CONTROL_PROXY\",\n ProxyHost = \"192.168.11.101\",\n ProxyPort = \"80\",\n ProxyUser = \"user\",\n ProxyPassword = \"password\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewEcsBackupClient(ctx, \"example\", \u0026hbr.EcsBackupClientArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tUseHttps: pulumi.Bool(false),\n\t\t\tDataNetworkType: pulumi.String(\"VPC\"),\n\t\t\tMaxCpuCore: pulumi.String(\"2\"),\n\t\t\tMaxWorker: pulumi.String(\"4\"),\n\t\t\tDataProxySetting: pulumi.String(\"USE_CONTROL_PROXY\"),\n\t\t\tProxyHost: pulumi.String(\"192.168.11.101\"),\n\t\t\tProxyPort: pulumi.String(\"80\"),\n\t\t\tProxyUser: pulumi.String(\"user\"),\n\t\t\tProxyPassword: pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.hbr.EcsBackupClient;\nimport com.pulumi.alicloud.hbr.EcsBackupClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleEcsBackupClient = new EcsBackupClient(\"exampleEcsBackupClient\", EcsBackupClientArgs.builder()\n .instanceId(exampleInstance.id())\n .useHttps(false)\n .dataNetworkType(\"VPC\")\n .maxCpuCore(\"2\")\n .maxWorker(\"4\")\n .dataProxySetting(\"USE_CONTROL_PROXY\")\n .proxyHost(\"192.168.11.101\")\n .proxyPort(\"80\")\n .proxyUser(\"user\")\n .proxyPassword(\"password\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleEcsBackupClient:\n type: alicloud:hbr:EcsBackupClient\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n useHttps: false\n dataNetworkType: VPC\n maxCpuCore: 2\n maxWorker: 4\n dataProxySetting: USE_CONTROL_PROXY\n proxyHost: 192.168.11.101\n proxyPort: 80\n proxyUser: user\n proxyPassword: password\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notice\n\n\u003e **Note:** Please read the following precautions carefully before deleting a client:\n1. You cannot delete active clients that have received heartbeat packets within one hour.\n2. You can make the client inactive by change the status of client to `STOPPED`.\n3. The resources bound to the client will be deleted in cascade, including:\n - Backup plan\n - Backup task (Running in the background)\n - Snapshot\n\n## Import\n\nHybrid Backup Recovery (HBR) Ecs Backup Client can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ecsBackupClient:EcsBackupClient example \u003cid\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Ecs Backup Client resource.\n\nFor information about Hybrid Backup Recovery (HBR) Ecs Backup Client and how to use it, see [What is Ecs Backup Client](https://www.alibabacloud.com/help/doc-detail/186570.htm).\n\n\u003e **NOTE:** Available in v1.132.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleEcsBackupClient = new alicloud.hbr.EcsBackupClient(\"example\", {\n instanceId: exampleInstance.id,\n useHttps: false,\n dataNetworkType: \"VPC\",\n maxCpuCore: \"2\",\n maxWorker: \"4\",\n dataProxySetting: \"USE_CONTROL_PROXY\",\n proxyHost: \"192.168.11.101\",\n proxyPort: \"80\",\n proxyUser: \"user\",\n proxyPassword: \"password\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_ecs_backup_client = alicloud.hbr.EcsBackupClient(\"example\",\n instance_id=example_instance.id,\n use_https=False,\n data_network_type=\"VPC\",\n max_cpu_core=\"2\",\n max_worker=\"4\",\n data_proxy_setting=\"USE_CONTROL_PROXY\",\n proxy_host=\"192.168.11.101\",\n proxy_port=\"80\",\n proxy_user=\"user\",\n proxy_password=\"password\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleEcsBackupClient = new AliCloud.Hbr.EcsBackupClient(\"example\", new()\n {\n InstanceId = exampleInstance.Id,\n UseHttps = false,\n DataNetworkType = \"VPC\",\n MaxCpuCore = \"2\",\n MaxWorker = \"4\",\n DataProxySetting = \"USE_CONTROL_PROXY\",\n ProxyHost = \"192.168.11.101\",\n ProxyPort = \"80\",\n ProxyUser = \"user\",\n ProxyPassword = \"password\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewEcsBackupClient(ctx, \"example\", \u0026hbr.EcsBackupClientArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tUseHttps: pulumi.Bool(false),\n\t\t\tDataNetworkType: pulumi.String(\"VPC\"),\n\t\t\tMaxCpuCore: pulumi.String(\"2\"),\n\t\t\tMaxWorker: pulumi.String(\"4\"),\n\t\t\tDataProxySetting: pulumi.String(\"USE_CONTROL_PROXY\"),\n\t\t\tProxyHost: pulumi.String(\"192.168.11.101\"),\n\t\t\tProxyPort: pulumi.String(\"80\"),\n\t\t\tProxyUser: pulumi.String(\"user\"),\n\t\t\tProxyPassword: pulumi.String(\"password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.hbr.EcsBackupClient;\nimport com.pulumi.alicloud.hbr.EcsBackupClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleEcsBackupClient = new EcsBackupClient(\"exampleEcsBackupClient\", EcsBackupClientArgs.builder()\n .instanceId(exampleInstance.id())\n .useHttps(false)\n .dataNetworkType(\"VPC\")\n .maxCpuCore(\"2\")\n .maxWorker(\"4\")\n .dataProxySetting(\"USE_CONTROL_PROXY\")\n .proxyHost(\"192.168.11.101\")\n .proxyPort(\"80\")\n .proxyUser(\"user\")\n .proxyPassword(\"password\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleEcsBackupClient:\n type: alicloud:hbr:EcsBackupClient\n name: example\n properties:\n instanceId: ${exampleInstance.id}\n useHttps: false\n dataNetworkType: VPC\n maxCpuCore: 2\n maxWorker: 4\n dataProxySetting: USE_CONTROL_PROXY\n proxyHost: 192.168.11.101\n proxyPort: 80\n proxyUser: user\n proxyPassword: password\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Notice\n\n\u003e **Note:** Please read the following precautions carefully before deleting a client:\n1. You cannot delete active clients that have received heartbeat packets within one hour.\n2. You can make the client inactive by change the status of client to `STOPPED`.\n3. The resources bound to the client will be deleted in cascade, including:\n - Backup plan\n - Backup task (Running in the background)\n - Snapshot\n\n## Import\n\nHybrid Backup Recovery (HBR) Ecs Backup Client can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ecsBackupClient:EcsBackupClient example \u003cid\u003e\n```\n\n", "properties": { "dataNetworkType": { "type": "string", @@ -197417,7 +201442,7 @@ } }, "alicloud:hbr/ecsBackupPlan:EcsBackupPlan": { - "description": "Provides a HBR Ecs Backup Plan resource.\n\nFor information about HBR Ecs Backup Plan and how to use it, see [What is Ecs Backup Plan](https://www.alibabacloud.com/help/doc-detail/186574.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleEcsBackupPlan = new alicloud.hbr.EcsBackupPlan(\"example\", {\n ecsBackupPlanName: \"terraform-example\",\n instanceId: exampleInstance.id,\n vaultId: exampleVault.id,\n retention: \"1\",\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n speedLimit: \"0:24:5120\",\n paths: [\n \"/home\",\n \"/var\",\n ],\n exclude: \" [\\\\\\\"/home/exclude\\\\\\\"]\\n\",\n include: \" [\\\\\\\"/home/include\\\\\\\"]\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_ecs_backup_plan = alicloud.hbr.EcsBackupPlan(\"example\",\n ecs_backup_plan_name=\"terraform-example\",\n instance_id=example_instance.id,\n vault_id=example_vault.id,\n retention=\"1\",\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n speed_limit=\"0:24:5120\",\n paths=[\n \"/home\",\n \"/var\",\n ],\n exclude=\" [\\\\\\\"/home/exclude\\\\\\\"]\\n\",\n include=\" [\\\\\\\"/home/include\\\\\\\"]\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleEcsBackupPlan = new AliCloud.Hbr.EcsBackupPlan(\"example\", new()\n {\n EcsBackupPlanName = \"terraform-example\",\n InstanceId = exampleInstance.Id,\n VaultId = exampleVault.Id,\n Retention = \"1\",\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n SpeedLimit = \"0:24:5120\",\n Paths = new[]\n {\n \"/home\",\n \"/var\",\n },\n Exclude = @\" [\\\"\"/home/exclude\\\"\"]\n\",\n Include = @\" [\\\"\"/home/include\\\"\"]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewEcsBackupPlan(ctx, \"example\", \u0026hbr.EcsBackupPlanArgs{\n\t\t\tEcsBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tSpeedLimit: pulumi.String(\"0:24:5120\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/home\"),\n\t\t\t\tpulumi.String(\"/var\"),\n\t\t\t},\n\t\t\tExclude: pulumi.String(\" [\\\\\\\"/home/exclude\\\\\\\"]\\n\"),\n\t\t\tInclude: pulumi.String(\" [\\\\\\\"/home/include\\\\\\\"]\\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.EcsBackupPlan;\nimport com.pulumi.alicloud.hbr.EcsBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleEcsBackupPlan = new EcsBackupPlan(\"exampleEcsBackupPlan\", EcsBackupPlanArgs.builder()\n .ecsBackupPlanName(\"terraform-example\")\n .instanceId(exampleInstance.id())\n .vaultId(exampleVault.id())\n .retention(\"1\")\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .speedLimit(\"0:24:5120\")\n .paths( \n \"/home\",\n \"/var\")\n .exclude(\"\"\"\n [\\\"/home/exclude\\\"]\n \"\"\")\n .include(\"\"\"\n [\\\"/home/include\\\"]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleEcsBackupPlan:\n type: alicloud:hbr:EcsBackupPlan\n name: example\n properties:\n ecsBackupPlanName: terraform-example\n instanceId: ${exampleInstance.id}\n vaultId: ${exampleVault.id}\n retention: '1'\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n speedLimit: 0:24:5120\n paths:\n - /home\n - /var\n exclude: |2\n [\\\"/home/exclude\\\"]\n include: |2\n [\\\"/home/include\\\"]\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Notice\n\n**About Backup path rules:**\n1. If there is no wildcard `*`, you can enter 8 items of path.\n2. When using wildcard `*`, only one item of path can be input, and wildcards like `/*/*` are supported.\n3. Each item of path only supports absolute paths, for example starting with `/`, `\\`, `C:\\`, `D:\\`.\n\n**About Restrictions:**\n1. When using `VSS`: multiple paths, UNC paths, wildcards, and excluded files not supported.\n2. When using `UNC`: VSS not supported, wildcards not supported, and files to be excluded are not supported.\n\n**About include/exclude path rules:**\n1. Supports up to 8 paths, including paths using wildcards `*`.\n2. If the path does not contain `/`, then `*` matches multiple path names or file names, for example `*abc*` will match `/abc/`, `/d/eabcd/`, `/a/abc`; `*.txt` will match all files with an extension `.txt`.\n3. If the path contains `/`, each `*` only matches a single-level path or file name. For example, `/a/*/*/` share will match `/a/b/c/share`, but not `/a/d/share`.\n4. If the path ends with `/`, it means the folder matches. For example, `*tmp/` will match `/a/b/aaatmp/`, `/tmp/` and so on.\n5. The path separator takes Linux system `/` as an example, if it is Windows system, please replace it with `\\`.\n\n## Import\n\nHBR Ecs Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ecsBackupPlan:EcsBackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a HBR Ecs Backup Plan resource.\n\nFor information about HBR Ecs Backup Plan and how to use it, see [What is Ecs Backup Plan](https://www.alibabacloud.com/help/doc-detail/186574.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleEcsBackupPlan = new alicloud.hbr.EcsBackupPlan(\"example\", {\n ecsBackupPlanName: \"terraform-example\",\n instanceId: exampleInstance.id,\n vaultId: exampleVault.id,\n retention: \"1\",\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n speedLimit: \"0:24:5120\",\n paths: [\n \"/home\",\n \"/var\",\n ],\n exclude: \" [\\\\\\\"/home/exclude\\\\\\\"]\\n\",\n include: \" [\\\\\\\"/home/include\\\\\\\"]\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_ecs_backup_plan = alicloud.hbr.EcsBackupPlan(\"example\",\n ecs_backup_plan_name=\"terraform-example\",\n instance_id=example_instance.id,\n vault_id=example_vault.id,\n retention=\"1\",\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n speed_limit=\"0:24:5120\",\n paths=[\n \"/home\",\n \"/var\",\n ],\n exclude=\" [\\\\\\\"/home/exclude\\\\\\\"]\\n\",\n include=\" [\\\\\\\"/home/include\\\\\\\"]\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleEcsBackupPlan = new AliCloud.Hbr.EcsBackupPlan(\"example\", new()\n {\n EcsBackupPlanName = \"terraform-example\",\n InstanceId = exampleInstance.Id,\n VaultId = exampleVault.Id,\n Retention = \"1\",\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n SpeedLimit = \"0:24:5120\",\n Paths = new[]\n {\n \"/home\",\n \"/var\",\n },\n Exclude = @\" [\\\"\"/home/exclude\\\"\"]\n\",\n Include = @\" [\\\"\"/home/include\\\"\"]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewEcsBackupPlan(ctx, \"example\", \u0026hbr.EcsBackupPlanArgs{\n\t\t\tEcsBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tSpeedLimit: pulumi.String(\"0:24:5120\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/home\"),\n\t\t\t\tpulumi.String(\"/var\"),\n\t\t\t},\n\t\t\tExclude: pulumi.String(\" [\\\\\\\"/home/exclude\\\\\\\"]\\n\"),\n\t\t\tInclude: pulumi.String(\" [\\\\\\\"/home/include\\\\\\\"]\\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.EcsBackupPlan;\nimport com.pulumi.alicloud.hbr.EcsBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleEcsBackupPlan = new EcsBackupPlan(\"exampleEcsBackupPlan\", EcsBackupPlanArgs.builder()\n .ecsBackupPlanName(\"terraform-example\")\n .instanceId(exampleInstance.id())\n .vaultId(exampleVault.id())\n .retention(\"1\")\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .speedLimit(\"0:24:5120\")\n .paths( \n \"/home\",\n \"/var\")\n .exclude(\"\"\"\n [\\\"/home/exclude\\\"]\n \"\"\")\n .include(\"\"\"\n [\\\"/home/include\\\"]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleEcsBackupPlan:\n type: alicloud:hbr:EcsBackupPlan\n name: example\n properties:\n ecsBackupPlanName: terraform-example\n instanceId: ${exampleInstance.id}\n vaultId: ${exampleVault.id}\n retention: '1'\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n speedLimit: 0:24:5120\n paths:\n - /home\n - /var\n exclude: |2\n [\\\"/home/exclude\\\"]\n include: |2\n [\\\"/home/include\\\"]\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Notice\n\n**About Backup path rules:**\n1. If there is no wildcard `*`, you can enter 8 items of path.\n2. When using wildcard `*`, only one item of path can be input, and wildcards like `/*/*` are supported.\n3. Each item of path only supports absolute paths, for example starting with `/`, `\\`, `C:\\`, `D:\\`.\n\n**About Restrictions:**\n1. When using `VSS`: multiple paths, UNC paths, wildcards, and excluded files not supported.\n2. When using `UNC`: VSS not supported, wildcards not supported, and files to be excluded are not supported.\n\n**About include/exclude path rules:**\n1. Supports up to 8 paths, including paths using wildcards `*`.\n2. If the path does not contain `/`, then `*` matches multiple path names or file names, for example `*abc*` will match `/abc/`, `/d/eabcd/`, `/a/abc`; `*.txt` will match all files with an extension `.txt`.\n3. If the path contains `/`, each `*` only matches a single-level path or file name. For example, `/a/*/*/` share will match `/a/b/c/share`, but not `/a/d/share`.\n4. If the path ends with `/`, it means the folder matches. For example, `*tmp/` will match `/a/b/aaatmp/`, `/tmp/` and so on.\n5. The path separator takes Linux system `/` as an example, if it is Windows system, please replace it with `\\`.\n\n## Import\n\nHBR Ecs Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ecsBackupPlan:EcsBackupPlan example \u003cid\u003e\n```\n\n", "properties": { "backupType": { "type": "string", @@ -197676,7 +201701,7 @@ } }, "alicloud:hbr/hanaBackupClient:HanaBackupClient": { - "description": "Provides a Hybrid Backup Recovery (HBR) Hana Backup Client resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Backup Client and how to use it, see [What is Hana Backup Client](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createclients).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: \"terraform-example\"});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: \"terraform-example\",\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: exampleGetResourceGroups.then(exampleGetResourceGroups =\u003e exampleGetResourceGroups.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\nconst _default = new alicloud.hbr.HanaBackupClient(\"default\", {\n vaultId: exampleVault.id,\n clientInfo: pulumi.interpolate`[ { \"instanceId\": \"${exampleInstance.id}\", \"clusterId\": \"${exampleHanaInstance.hanaInstanceId}\", \"sourceTypes\": [ \"HANA\" ] }]`,\n alertSetting: \"INHERITED\",\n useHttps: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=\"terraform-example\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=\"terraform-example\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example_get_resource_groups.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\ndefault = alicloud.hbr.HanaBackupClient(\"default\",\n vault_id=example_vault.id,\n client_info=pulumi.Output.all(\n id=example_instance.id,\n hana_instance_id=example_hana_instance.hana_instance_id\n).apply(lambda resolved_outputs: f\"[ {{ \\\"instanceId\\\": \\\"{resolved_outputs['id']}\\\", \\\"clusterId\\\": \\\"{resolved_outputs['hana_instance_id']}\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\")\n,\n alert_setting=\"INHERITED\",\n use_https=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = \"terraform-example\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = \"terraform-example\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = exampleGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n var @default = new AliCloud.Hbr.HanaBackupClient(\"default\", new()\n {\n VaultId = exampleVault.Id,\n ClientInfo = Output.Tuple(exampleInstance.Id, exampleHanaInstance.HanaInstanceId).Apply(values =\u003e\n {\n var id = values.Item1;\n var hanaInstanceId = values.Item2;\n return $\"[ {{ \\\"instanceId\\\": \\\"{id}\\\", \\\"clusterId\\\": \\\"{hanaInstanceId}\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\";\n }),\n AlertSetting = \"INHERITED\",\n UseHttps = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHanaInstance, err := hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.String(\"terraform-example\"),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(exampleGetResourceGroups.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaBackupClient(ctx, \"default\", \u0026hbr.HanaBackupClientArgs{\n\t\t\tVaultId: exampleVault.ID(),\n\t\t\tClientInfo: pulumi.All(exampleInstance.ID(), exampleHanaInstance.HanaInstanceId).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thanaInstanceId := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"[ { \\\"instanceId\\\": \\\"%v\\\", \\\"clusterId\\\": \\\"%v\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }]\", id, hanaInstanceId), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tUseHttps: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport com.pulumi.alicloud.hbr.HanaBackupClient;\nimport com.pulumi.alicloud.hbr.HanaBackupClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n final var exampleGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(\"terraform-example\")\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(\"terraform-example\")\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(exampleGetResourceGroups.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n var default_ = new HanaBackupClient(\"default\", HanaBackupClientArgs.builder()\n .vaultId(exampleVault.id())\n .clientInfo(Output.tuple(exampleInstance.id(), exampleHanaInstance.hanaInstanceId()).applyValue(values -\u003e {\n var id = values.t1;\n var hanaInstanceId = values.t2;\n return String.format(\"[ {{ \\\"instanceId\\\": \\\"%s\\\", \\\"clusterId\\\": \\\"%s\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\", id,hanaInstanceId);\n }))\n .alertSetting(\"INHERITED\")\n .useHttps(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${exampleGetResourceGroups.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\n default:\n type: alicloud:hbr:HanaBackupClient\n properties:\n vaultId: ${exampleVault.id}\n clientInfo: '[ { \"instanceId\": \"${exampleInstance.id}\", \"clusterId\": \"${exampleHanaInstance.hanaInstanceId}\", \"sourceTypes\": [ \"HANA\" ] }]'\n alertSetting: INHERITED\n useHttps: true\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n exampleGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaBackupClient:HanaBackupClient example \u003cvault_id\u003e:\u003cclient_id\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Hana Backup Client resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Backup Client and how to use it, see [What is Hana Backup Client](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createclients).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: \"terraform-example\"});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: \"terraform-example\",\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: exampleGetResourceGroups.then(exampleGetResourceGroups =\u003e exampleGetResourceGroups.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\nconst _default = new alicloud.hbr.HanaBackupClient(\"default\", {\n vaultId: exampleVault.id,\n clientInfo: pulumi.interpolate`[ { \"instanceId\": \"${exampleInstance.id}\", \"clusterId\": \"${exampleHanaInstance.hanaInstanceId}\", \"sourceTypes\": [ \"HANA\" ] }]`,\n alertSetting: \"INHERITED\",\n useHttps: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=\"terraform-example\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=\"terraform-example\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example_get_resource_groups.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\ndefault = alicloud.hbr.HanaBackupClient(\"default\",\n vault_id=example_vault.id,\n client_info=pulumi.Output.all(\n id=example_instance.id,\n hana_instance_id=example_hana_instance.hana_instance_id\n).apply(lambda resolved_outputs: f\"[ {{ \\\"instanceId\\\": \\\"{resolved_outputs['id']}\\\", \\\"clusterId\\\": \\\"{resolved_outputs['hana_instance_id']}\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\")\n,\n alert_setting=\"INHERITED\",\n use_https=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = \"terraform-example\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = \"terraform-example\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = exampleGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n var @default = new AliCloud.Hbr.HanaBackupClient(\"default\", new()\n {\n VaultId = exampleVault.Id,\n ClientInfo = Output.Tuple(exampleInstance.Id, exampleHanaInstance.HanaInstanceId).Apply(values =\u003e\n {\n var id = values.Item1;\n var hanaInstanceId = values.Item2;\n return $\"[ {{ \\\"instanceId\\\": \\\"{id}\\\", \\\"clusterId\\\": \\\"{hanaInstanceId}\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\";\n }),\n AlertSetting = \"INHERITED\",\n UseHttps = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHanaInstance, err := hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.String(\"terraform-example\"),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(exampleGetResourceGroups.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaBackupClient(ctx, \"default\", \u0026hbr.HanaBackupClientArgs{\n\t\t\tVaultId: exampleVault.ID(),\n\t\t\tClientInfo: pulumi.All(exampleInstance.ID(), exampleHanaInstance.HanaInstanceId).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tid := _args[0].(string)\n\t\t\t\thanaInstanceId := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"[ { \\\"instanceId\\\": \\\"%v\\\", \\\"clusterId\\\": \\\"%v\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }]\", id, hanaInstanceId), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tUseHttps: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport com.pulumi.alicloud.hbr.HanaBackupClient;\nimport com.pulumi.alicloud.hbr.HanaBackupClientArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n final var exampleGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(\"terraform-example\")\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(\"terraform-example\")\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(exampleGetResourceGroups.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n var default_ = new HanaBackupClient(\"default\", HanaBackupClientArgs.builder()\n .vaultId(exampleVault.id())\n .clientInfo(Output.tuple(exampleInstance.id(), exampleHanaInstance.hanaInstanceId()).applyValue(values -\u003e {\n var id = values.t1;\n var hanaInstanceId = values.t2;\n return String.format(\"[ {{ \\\"instanceId\\\": \\\"%s\\\", \\\"clusterId\\\": \\\"%s\\\", \\\"sourceTypes\\\": [ \\\"HANA\\\" ] }}]\", id,hanaInstanceId);\n }))\n .alertSetting(\"INHERITED\")\n .useHttps(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${exampleGetResourceGroups.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\n default:\n type: alicloud:hbr:HanaBackupClient\n properties:\n vaultId: ${exampleVault.id}\n clientInfo: '[ { \"instanceId\": \"${exampleInstance.id}\", \"clusterId\": \"${exampleHanaInstance.hanaInstanceId}\", \"sourceTypes\": [ \"HANA\" ] }]'\n alertSetting: INHERITED\n useHttps: true\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_[0-9]+_[0-9]+_x64*\n owners: system\n exampleGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaBackupClient:HanaBackupClient example \u003cvault_id\u003e:\u003cclient_id\u003e\n```\n\n", "properties": { "alertSetting": { "type": "string", @@ -197786,7 +201811,7 @@ } }, "alicloud:hbr/hanaBackupPlan:HanaBackupPlan": { - "description": "Provides a Hybrid Backup Recovery (HBR) Hana Backup Plan resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Backup Plan and how to use it, see [What is Hana Backup Plan](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createhanabackupplan).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: `terraform-example-${_default.result}`,\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\nconst exampleHanaBackupPlan = new alicloud.hbr.HanaBackupPlan(\"example\", {\n backupPrefix: \"DIFF_DATA_BACKUP\",\n backupType: \"COMPLETE\",\n clusterId: exampleHanaInstance.hanaInstanceId,\n databaseName: \"SYSTEMDB\",\n planName: \"terraform-example\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n schedule: \"I|1602673264|P1D\",\n vaultId: exampleHanaInstance.vaultId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=f\"terraform-example-{default['result']}\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\nexample_hana_backup_plan = alicloud.hbr.HanaBackupPlan(\"example\",\n backup_prefix=\"DIFF_DATA_BACKUP\",\n backup_type=\"COMPLETE\",\n cluster_id=example_hana_instance.hana_instance_id,\n database_name=\"SYSTEMDB\",\n plan_name=\"terraform-example\",\n resource_group_id=example.groups[0].id,\n schedule=\"I|1602673264|P1D\",\n vault_id=example_hana_instance.vault_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = $\"terraform-example-{@default.Result}\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n var exampleHanaBackupPlan = new AliCloud.Hbr.HanaBackupPlan(\"example\", new()\n {\n BackupPrefix = \"DIFF_DATA_BACKUP\",\n BackupType = \"COMPLETE\",\n ClusterId = exampleHanaInstance.HanaInstanceId,\n DatabaseName = \"SYSTEMDB\",\n PlanName = \"terraform-example\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Schedule = \"I|1602673264|P1D\",\n VaultId = exampleHanaInstance.VaultId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHanaInstance, err := hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaBackupPlan(ctx, \"example\", \u0026hbr.HanaBackupPlanArgs{\n\t\t\tBackupPrefix: pulumi.String(\"DIFF_DATA_BACKUP\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tClusterId: exampleHanaInstance.HanaInstanceId,\n\t\t\tDatabaseName: pulumi.String(\"SYSTEMDB\"),\n\t\t\tPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|P1D\"),\n\t\t\tVaultId: exampleHanaInstance.VaultId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport com.pulumi.alicloud.hbr.HanaBackupPlan;\nimport com.pulumi.alicloud.hbr.HanaBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(String.format(\"terraform-example-%s\", default_.result()))\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(example.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n var exampleHanaBackupPlan = new HanaBackupPlan(\"exampleHanaBackupPlan\", HanaBackupPlanArgs.builder()\n .backupPrefix(\"DIFF_DATA_BACKUP\")\n .backupType(\"COMPLETE\")\n .clusterId(exampleHanaInstance.hanaInstanceId())\n .databaseName(\"SYSTEMDB\")\n .planName(\"terraform-example\")\n .resourceGroupId(example.groups()[0].id())\n .schedule(\"I|1602673264|P1D\")\n .vaultId(exampleHanaInstance.vaultId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example-${default.result}\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${example.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\n exampleHanaBackupPlan:\n type: alicloud:hbr:HanaBackupPlan\n name: example\n properties:\n backupPrefix: DIFF_DATA_BACKUP\n backupType: COMPLETE\n clusterId: ${exampleHanaInstance.hanaInstanceId}\n databaseName: SYSTEMDB\n planName: terraform-example\n resourceGroupId: ${example.groups[0].id}\n schedule: I|1602673264|P1D\n vaultId: ${exampleHanaInstance.vaultId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaBackupPlan:HanaBackupPlan example \u003cplan_id\u003e:\u003cvault_id\u003e:\u003ccluster_id\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Hana Backup Plan resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Backup Plan and how to use it, see [What is Hana Backup Plan](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createhanabackupplan).\n\n\u003e **NOTE:** Available since v1.179.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: `terraform-example-${_default.result}`,\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\nconst exampleHanaBackupPlan = new alicloud.hbr.HanaBackupPlan(\"example\", {\n backupPrefix: \"DIFF_DATA_BACKUP\",\n backupType: \"COMPLETE\",\n clusterId: exampleHanaInstance.hanaInstanceId,\n databaseName: \"SYSTEMDB\",\n planName: \"terraform-example\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n schedule: \"I|1602673264|P1D\",\n vaultId: exampleHanaInstance.vaultId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=f\"terraform-example-{default['result']}\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\nexample_hana_backup_plan = alicloud.hbr.HanaBackupPlan(\"example\",\n backup_prefix=\"DIFF_DATA_BACKUP\",\n backup_type=\"COMPLETE\",\n cluster_id=example_hana_instance.hana_instance_id,\n database_name=\"SYSTEMDB\",\n plan_name=\"terraform-example\",\n resource_group_id=example.groups[0].id,\n schedule=\"I|1602673264|P1D\",\n vault_id=example_hana_instance.vault_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = $\"terraform-example-{@default.Result}\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n var exampleHanaBackupPlan = new AliCloud.Hbr.HanaBackupPlan(\"example\", new()\n {\n BackupPrefix = \"DIFF_DATA_BACKUP\",\n BackupType = \"COMPLETE\",\n ClusterId = exampleHanaInstance.HanaInstanceId,\n DatabaseName = \"SYSTEMDB\",\n PlanName = \"terraform-example\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Schedule = \"I|1602673264|P1D\",\n VaultId = exampleHanaInstance.VaultId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHanaInstance, err := hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaBackupPlan(ctx, \"example\", \u0026hbr.HanaBackupPlanArgs{\n\t\t\tBackupPrefix: pulumi.String(\"DIFF_DATA_BACKUP\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tClusterId: exampleHanaInstance.HanaInstanceId,\n\t\t\tDatabaseName: pulumi.String(\"SYSTEMDB\"),\n\t\t\tPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|P1D\"),\n\t\t\tVaultId: exampleHanaInstance.VaultId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport com.pulumi.alicloud.hbr.HanaBackupPlan;\nimport com.pulumi.alicloud.hbr.HanaBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(String.format(\"terraform-example-%s\", default_.result()))\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(example.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n var exampleHanaBackupPlan = new HanaBackupPlan(\"exampleHanaBackupPlan\", HanaBackupPlanArgs.builder()\n .backupPrefix(\"DIFF_DATA_BACKUP\")\n .backupType(\"COMPLETE\")\n .clusterId(exampleHanaInstance.hanaInstanceId())\n .databaseName(\"SYSTEMDB\")\n .planName(\"terraform-example\")\n .resourceGroupId(example.groups()[0].id())\n .schedule(\"I|1602673264|P1D\")\n .vaultId(exampleHanaInstance.vaultId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example-${default.result}\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${example.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\n exampleHanaBackupPlan:\n type: alicloud:hbr:HanaBackupPlan\n name: example\n properties:\n backupPrefix: DIFF_DATA_BACKUP\n backupType: COMPLETE\n clusterId: ${exampleHanaInstance.hanaInstanceId}\n databaseName: SYSTEMDB\n planName: terraform-example\n resourceGroupId: ${example.groups[0].id}\n schedule: I|1602673264|P1D\n vaultId: ${exampleHanaInstance.vaultId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaBackupPlan:HanaBackupPlan example \u003cplan_id\u003e:\u003cvault_id\u003e:\u003ccluster_id\u003e\n```\n\n", "properties": { "backupPrefix": { "type": "string", @@ -197941,7 +201966,7 @@ } }, "alicloud:hbr/hanaInstance:HanaInstance": { - "description": "Provides a Hybrid Backup Recovery (HBR) Hana Instance resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Instance and how to use it, see [What is Hana Instance](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createhanainstance).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n\u003e **NOTE:** The \u003cspan pulumi-lang-nodejs=\"`sid`\" pulumi-lang-dotnet=\"`Sid`\" pulumi-lang-go=\"`sid`\" pulumi-lang-python=\"`sid`\" pulumi-lang-yaml=\"`sid`\" pulumi-lang-java=\"`sid`\"\u003e`sid`\u003c/span\u003e attribute is required when destroying resources.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: `terraform-example-${_default.result}`,\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=f\"terraform-example-{default['result']}\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = $\"terraform-example-{@default.Result}\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(String.format(\"terraform-example-%s\", default_.result()))\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(example.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example-${default.result}\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${example.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaInstance:HanaInstance example \u003cvault_id\u003e:\u003chana_instance_id\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Hana Instance resource.\n\nFor information about Hybrid Backup Recovery (HBR) Hana Instance and how to use it, see [What is Hana Instance](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createhanainstance).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n\u003e **NOTE:** The \u003cspan pulumi-lang-nodejs=\"`sid`\" pulumi-lang-dotnet=\"`Sid`\" pulumi-lang-go=\"`sid`\" pulumi-lang-python=\"`sid`\" pulumi-lang-yaml=\"`sid`\" pulumi-lang-java=\"`sid`\"\u003e`sid`\u003c/span\u003e attribute is required when destroying resources.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleVault = new alicloud.hbr.Vault(\"example\", {vaultName: `terraform-example-${_default.result}`});\nconst exampleHanaInstance = new alicloud.hbr.HanaInstance(\"example\", {\n alertSetting: \"INHERITED\",\n hanaName: `terraform-example-${_default.result}`,\n host: \"1.1.1.1\",\n instanceNumber: 1,\n password: \"YouPassword123\",\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n sid: \"HXE\",\n useSsl: false,\n userName: \"admin\",\n validateCertificate: false,\n vaultId: exampleVault.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_vault = alicloud.hbr.Vault(\"example\", vault_name=f\"terraform-example-{default['result']}\")\nexample_hana_instance = alicloud.hbr.HanaInstance(\"example\",\n alert_setting=\"INHERITED\",\n hana_name=f\"terraform-example-{default['result']}\",\n host=\"1.1.1.1\",\n instance_number=1,\n password=\"YouPassword123\",\n resource_group_id=example.groups[0].id,\n sid=\"HXE\",\n use_ssl=False,\n user_name=\"admin\",\n validate_certificate=False,\n vault_id=example_vault.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleVault = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var exampleHanaInstance = new AliCloud.Hbr.HanaInstance(\"example\", new()\n {\n AlertSetting = \"INHERITED\",\n HanaName = $\"terraform-example-{@default.Result}\",\n Host = \"1.1.1.1\",\n InstanceNumber = 1,\n Password = \"YouPassword123\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n Sid = \"HXE\",\n UseSsl = false,\n UserName = \"admin\",\n ValidateCertificate = false,\n VaultId = exampleVault.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVault, err := hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewHanaInstance(ctx, \"example\", \u0026hbr.HanaInstanceArgs{\n\t\t\tAlertSetting: pulumi.String(\"INHERITED\"),\n\t\t\tHanaName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\tInstanceNumber: pulumi.Int(1),\n\t\t\tPassword: pulumi.String(\"YouPassword123\"),\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t\tSid: pulumi.String(\"HXE\"),\n\t\t\tUseSsl: pulumi.Bool(false),\n\t\t\tUserName: pulumi.String(\"admin\"),\n\t\t\tValidateCertificate: pulumi.Bool(false),\n\t\t\tVaultId: exampleVault.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.HanaInstance;\nimport com.pulumi.alicloud.hbr.HanaInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleVault = new Vault(\"exampleVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var exampleHanaInstance = new HanaInstance(\"exampleHanaInstance\", HanaInstanceArgs.builder()\n .alertSetting(\"INHERITED\")\n .hanaName(String.format(\"terraform-example-%s\", default_.result()))\n .host(\"1.1.1.1\")\n .instanceNumber(1)\n .password(\"YouPassword123\")\n .resourceGroupId(example.groups()[0].id())\n .sid(\"HXE\")\n .useSsl(false)\n .userName(\"admin\")\n .validateCertificate(false)\n .vaultId(exampleVault.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleVault:\n type: alicloud:hbr:Vault\n name: example\n properties:\n vaultName: terraform-example-${default.result}\n exampleHanaInstance:\n type: alicloud:hbr:HanaInstance\n name: example\n properties:\n alertSetting: INHERITED\n hanaName: terraform-example-${default.result}\n host: 1.1.1.1\n instanceNumber: 1\n password: YouPassword123\n resourceGroupId: ${example.groups[0].id}\n sid: HXE\n useSsl: false\n userName: admin\n validateCertificate: false\n vaultId: ${exampleVault.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/hanaInstance:HanaInstance example \u003cvault_id\u003e:\u003chana_instance_id\u003e\n```\n\n", "properties": { "alertSetting": { "type": "string", @@ -198142,7 +202167,7 @@ } }, "alicloud:hbr/nasBackupPlan:NasBackupPlan": { - "description": "Provides a HBR Nas Backup Plan resource.\n\nFor information about HBR Nas Backup Plan and how to use it, see [What is Nas Backup Plan](https://www.alibabacloud.com/help/doc-detail/132248.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${_default.result}`});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n protocolType: \"NFS\",\n storageType: \"Performance\",\n description: \"terraform-example\",\n encryptType: 1,\n});\nconst defaultNasBackupPlan = new alicloud.hbr.NasBackupPlan(\"default\", {\n nasBackupPlanName: \"terraform-example\",\n fileSystemId: defaultFileSystem.id,\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n vaultId: defaultVault.id,\n retention: \"2\",\n paths: [\"/\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default['result']}\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n protocol_type=\"NFS\",\n storage_type=\"Performance\",\n description=\"terraform-example\",\n encrypt_type=1)\ndefault_nas_backup_plan = alicloud.hbr.NasBackupPlan(\"default\",\n nas_backup_plan_name=\"terraform-example\",\n file_system_id=default_file_system.id,\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n vault_id=default_vault.id,\n retention=\"2\",\n paths=[\"/\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Performance\",\n Description = \"terraform-example\",\n EncryptType = 1,\n });\n\n var defaultNasBackupPlan = new AliCloud.Hbr.NasBackupPlan(\"default\", new()\n {\n NasBackupPlanName = \"terraform-example\",\n FileSystemId = defaultFileSystem.Id,\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n VaultId = defaultVault.Id,\n Retention = \"2\",\n Paths = new[]\n {\n \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewNasBackupPlan(ctx, \"default\", \u0026hbr.NasBackupPlanArgs{\n\t\t\tNasBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tRetention: pulumi.String(\"2\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.hbr.NasBackupPlan;\nimport com.pulumi.alicloud.hbr.NasBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Performance\")\n .description(\"terraform-example\")\n .encryptType(1)\n .build());\n\n var defaultNasBackupPlan = new NasBackupPlan(\"defaultNasBackupPlan\", NasBackupPlanArgs.builder()\n .nasBackupPlanName(\"terraform-example\")\n .fileSystemId(defaultFileSystem.id())\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .vaultId(defaultVault.id())\n .retention(\"2\")\n .paths(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${default.result}\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n protocolType: NFS\n storageType: Performance\n description: terraform-example\n encryptType: '1'\n defaultNasBackupPlan:\n type: alicloud:hbr:NasBackupPlan\n name: default\n properties:\n nasBackupPlanName: terraform-example\n fileSystemId: ${defaultFileSystem.id}\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n vaultId: ${defaultVault.id}\n retention: '2'\n paths:\n - /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHBR Nas Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/nasBackupPlan:NasBackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a HBR Nas Backup Plan resource.\n\nFor information about HBR Nas Backup Plan and how to use it, see [What is Nas Backup Plan](https://www.alibabacloud.com/help/doc-detail/132248.htm).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${_default.result}`});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n protocolType: \"NFS\",\n storageType: \"Performance\",\n description: \"terraform-example\",\n encryptType: 1,\n});\nconst defaultNasBackupPlan = new alicloud.hbr.NasBackupPlan(\"default\", {\n nasBackupPlanName: \"terraform-example\",\n fileSystemId: defaultFileSystem.id,\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n vaultId: defaultVault.id,\n retention: \"2\",\n paths: [\"/\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default['result']}\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n protocol_type=\"NFS\",\n storage_type=\"Performance\",\n description=\"terraform-example\",\n encrypt_type=1)\ndefault_nas_backup_plan = alicloud.hbr.NasBackupPlan(\"default\",\n nas_backup_plan_name=\"terraform-example\",\n file_system_id=default_file_system.id,\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n vault_id=default_vault.id,\n retention=\"2\",\n paths=[\"/\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Performance\",\n Description = \"terraform-example\",\n EncryptType = 1,\n });\n\n var defaultNasBackupPlan = new AliCloud.Hbr.NasBackupPlan(\"default\", new()\n {\n NasBackupPlanName = \"terraform-example\",\n FileSystemId = defaultFileSystem.Id,\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n VaultId = defaultVault.Id,\n Retention = \"2\",\n Paths = new[]\n {\n \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewNasBackupPlan(ctx, \"default\", \u0026hbr.NasBackupPlanArgs{\n\t\t\tNasBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tRetention: pulumi.String(\"2\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.hbr.NasBackupPlan;\nimport com.pulumi.alicloud.hbr.NasBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Performance\")\n .description(\"terraform-example\")\n .encryptType(1)\n .build());\n\n var defaultNasBackupPlan = new NasBackupPlan(\"defaultNasBackupPlan\", NasBackupPlanArgs.builder()\n .nasBackupPlanName(\"terraform-example\")\n .fileSystemId(defaultFileSystem.id())\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .vaultId(defaultVault.id())\n .retention(\"2\")\n .paths(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${default.result}\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n protocolType: NFS\n storageType: Performance\n description: terraform-example\n encryptType: '1'\n defaultNasBackupPlan:\n type: alicloud:hbr:NasBackupPlan\n name: default\n properties:\n nasBackupPlanName: terraform-example\n fileSystemId: ${defaultFileSystem.id}\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n vaultId: ${defaultVault.id}\n retention: '2'\n paths:\n - /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHBR Nas Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/nasBackupPlan:NasBackupPlan example \u003cid\u003e\n```\n\n", "properties": { "backupType": { "type": "string", @@ -198356,7 +202381,7 @@ } }, "alicloud:hbr/ossBackupPlan:OssBackupPlan": { - "description": "Provides a HBR Oss Backup Plan resource.\n\nFor information about HBR Oss Backup Plan and how to use it, see [What is Oss Backup Plan](https://www.alibabacloud.com/help/doc-detail/130040.htm).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${_default.result}`});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultOssBackupPlan = new alicloud.hbr.OssBackupPlan(\"default\", {\n ossBackupPlanName: \"terraform-example\",\n prefix: \"/example\",\n bucket: defaultBucket.bucket,\n vaultId: defaultVault.id,\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n retention: \"2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default['result']}\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_oss_backup_plan = alicloud.hbr.OssBackupPlan(\"default\",\n oss_backup_plan_name=\"terraform-example\",\n prefix=\"/example\",\n bucket=default_bucket.bucket,\n vault_id=default_vault.id,\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n retention=\"2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultOssBackupPlan = new AliCloud.Hbr.OssBackupPlan(\"default\", new()\n {\n OssBackupPlanName = \"terraform-example\",\n Prefix = \"/example\",\n Bucket = defaultBucket.BucketName,\n VaultId = defaultVault.Id,\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n Retention = \"2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewOssBackupPlan(ctx, \"default\", \u0026hbr.OssBackupPlanArgs{\n\t\t\tOssBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tPrefix: pulumi.String(\"/example\"),\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tRetention: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.hbr.OssBackupPlan;\nimport com.pulumi.alicloud.hbr.OssBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultOssBackupPlan = new OssBackupPlan(\"defaultOssBackupPlan\", OssBackupPlanArgs.builder()\n .ossBackupPlanName(\"terraform-example\")\n .prefix(\"/example\")\n .bucket(defaultBucket.bucket())\n .vaultId(defaultVault.id())\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .retention(\"2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${default.result}\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultOssBackupPlan:\n type: alicloud:hbr:OssBackupPlan\n name: default\n properties:\n ossBackupPlanName: terraform-example\n prefix: /example\n bucket: ${defaultBucket.bucket}\n vaultId: ${defaultVault.id}\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n retention: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHBR Oss Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ossBackupPlan:OssBackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a HBR Oss Backup Plan resource.\n\nFor information about HBR Oss Backup Plan and how to use it, see [What is Oss Backup Plan](https://www.alibabacloud.com/help/doc-detail/130040.htm).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${_default.result}`});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultOssBackupPlan = new alicloud.hbr.OssBackupPlan(\"default\", {\n ossBackupPlanName: \"terraform-example\",\n prefix: \"/example\",\n bucket: defaultBucket.bucket,\n vaultId: defaultVault.id,\n schedule: \"I|1602673264|PT2H\",\n backupType: \"COMPLETE\",\n retention: \"2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default['result']}\")\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_oss_backup_plan = alicloud.hbr.OssBackupPlan(\"default\",\n oss_backup_plan_name=\"terraform-example\",\n prefix=\"/example\",\n bucket=default_bucket.bucket,\n vault_id=default_vault.id,\n schedule=\"I|1602673264|PT2H\",\n backup_type=\"COMPLETE\",\n retention=\"2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultOssBackupPlan = new AliCloud.Hbr.OssBackupPlan(\"default\", new()\n {\n OssBackupPlanName = \"terraform-example\",\n Prefix = \"/example\",\n Bucket = defaultBucket.BucketName,\n VaultId = defaultVault.Id,\n Schedule = \"I|1602673264|PT2H\",\n BackupType = \"COMPLETE\",\n Retention = \"2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewOssBackupPlan(ctx, \"default\", \u0026hbr.OssBackupPlanArgs{\n\t\t\tOssBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tPrefix: pulumi.String(\"/example\"),\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tRetention: pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.hbr.OssBackupPlan;\nimport com.pulumi.alicloud.hbr.OssBackupPlanArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultOssBackupPlan = new OssBackupPlan(\"defaultOssBackupPlan\", OssBackupPlanArgs.builder()\n .ossBackupPlanName(\"terraform-example\")\n .prefix(\"/example\")\n .bucket(defaultBucket.bucket())\n .vaultId(defaultVault.id())\n .schedule(\"I|1602673264|PT2H\")\n .backupType(\"COMPLETE\")\n .retention(\"2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${default.result}\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultOssBackupPlan:\n type: alicloud:hbr:OssBackupPlan\n name: default\n properties:\n ossBackupPlanName: terraform-example\n prefix: /example\n bucket: ${defaultBucket.bucket}\n vaultId: ${defaultVault.id}\n schedule: I|1602673264|PT2H\n backupType: COMPLETE\n retention: '2'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHBR Oss Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/ossBackupPlan:OssBackupPlan example \u003cid\u003e\n```\n\n", "properties": { "backupType": { "type": "string", @@ -198531,7 +202556,7 @@ } }, "alicloud:hbr/otsBackupPlan:OtsBackupPlan": { - "description": "Provides a HBR Ots Backup Plan resource.\n\nFor information about HBR Ots Backup Plan and how to use it, see [What is Ots Backup Plan](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/overview).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {\n vaultName: `terraform-example-${defaultInteger.result}`,\n vaultType: \"STANDARD\",\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `Example-${defaultInteger.result}`,\n description: \"terraform-example\",\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"terraform_example\",\n primaryKeys: [{\n name: \"pk1\",\n type: \"Integer\",\n }],\n timeToLive: -1,\n maxVersion: 1,\n deviationCellVersionInSec: \"1\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: \"hbrexamplerole\",\n document: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"crossbackup.hbr.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t\\\\t\\\\t]\n\\\\t\\\\t\\\\t\\\\t}\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t\\\\t],\n \\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n force: true,\n});\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.hbr.OtsBackupPlan(\"example\", {\n otsBackupPlanName: `terraform-example-${defaultInteger.result}`,\n vaultId: defaultVault.id,\n backupType: \"COMPLETE\",\n retention: \"1\",\n instanceName: defaultInstance.name,\n crossAccountType: \"SELF_ACCOUNT\",\n crossAccountUserId: _default.then(_default =\u003e _default.id),\n crossAccountRoleName: defaultRole.id,\n otsDetails: [{\n tableNames: [defaultTable.tableName],\n }],\n rules: [{\n schedule: \"I|1602673264|PT2H\",\n retention: \"1\",\n disabled: false,\n ruleName: \"terraform-example\",\n backupType: \"COMPLETE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_vault = alicloud.hbr.Vault(\"default\",\n vault_name=f\"terraform-example-{default_integer['result']}\",\n vault_type=\"STANDARD\")\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"Example-{default_integer['result']}\",\n description=\"terraform-example\",\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"terraform_example\",\n primary_keys=[{\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n }],\n time_to_live=-1,\n max_version=1,\n deviation_cell_version_in_sec=\"1\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=\"hbrexamplerole\",\n document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n force=True)\ndefault = alicloud.get_account()\nexample = alicloud.hbr.OtsBackupPlan(\"example\",\n ots_backup_plan_name=f\"terraform-example-{default_integer['result']}\",\n vault_id=default_vault.id,\n backup_type=\"COMPLETE\",\n retention=\"1\",\n instance_name=default_instance.name,\n cross_account_type=\"SELF_ACCOUNT\",\n cross_account_user_id=default.id,\n cross_account_role_name=default_role.id,\n ots_details=[{\n \"table_names\": [default_table.table_name],\n }],\n rules=[{\n \"schedule\": \"I|1602673264|PT2H\",\n \"retention\": \"1\",\n \"disabled\": False,\n \"rule_name\": \"terraform-example\",\n \"backup_type\": \"COMPLETE\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{defaultInteger.Result}\",\n VaultType = \"STANDARD\",\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"Example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"terraform_example\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n },\n TimeToLive = -1,\n MaxVersion = 1,\n DeviationCellVersionInSec = \"1\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = \"hbrexamplerole\",\n Document = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\t\\t\\\"\"crossbackup.hbr.aliyuncs.com\\\"\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Force = true,\n });\n\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Hbr.OtsBackupPlan(\"example\", new()\n {\n OtsBackupPlanName = $\"terraform-example-{defaultInteger.Result}\",\n VaultId = defaultVault.Id,\n BackupType = \"COMPLETE\",\n Retention = \"1\",\n InstanceName = defaultInstance.Name,\n CrossAccountType = \"SELF_ACCOUNT\",\n CrossAccountUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n CrossAccountRoleName = defaultRole.Id,\n OtsDetails = new[]\n {\n new AliCloud.Hbr.Inputs.OtsBackupPlanOtsDetailArgs\n {\n TableNames = new[]\n {\n defaultTable.TableName,\n },\n },\n },\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.OtsBackupPlanRuleArgs\n {\n Schedule = \"I|1602673264|PT2H\",\n Retention = \"1\",\n Disabled = false,\n RuleName = \"terraform-example\",\n BackupType = \"COMPLETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"Example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"terraform_example\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tDeviationCellVersionInSec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"hbrexamplerole\"),\n\t\t\tDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewOtsBackupPlan(ctx, \"example\", \u0026hbr.OtsBackupPlanArgs{\n\t\t\tOtsBackupPlanName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tCrossAccountType: pulumi.String(\"SELF_ACCOUNT\"),\n\t\t\tCrossAccountUserId: pulumi.String(_default.Id),\n\t\t\tCrossAccountRoleName: defaultRole.ID(),\n\t\t\tOtsDetails: hbr.OtsBackupPlanOtsDetailArray{\n\t\t\t\t\u0026hbr.OtsBackupPlanOtsDetailArgs{\n\t\t\t\t\tTableNames: pulumi.StringArray{\n\t\t\t\t\t\tdefaultTable.TableName,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: hbr.OtsBackupPlanRuleArray{\n\t\t\t\t\u0026hbr.OtsBackupPlanRuleArgs{\n\t\t\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tRuleName: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.hbr.OtsBackupPlan;\nimport com.pulumi.alicloud.hbr.OtsBackupPlanArgs;\nimport com.pulumi.alicloud.hbr.inputs.OtsBackupPlanOtsDetailArgs;\nimport com.pulumi.alicloud.hbr.inputs.OtsBackupPlanRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .vaultType(\"STANDARD\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"Example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"terraform_example\")\n .primaryKeys(TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build())\n .timeToLive(-1)\n .maxVersion(1)\n .deviationCellVersionInSec(\"1\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"hbrexamplerole\")\n .document(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .force(true)\n .build());\n\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new OtsBackupPlan(\"example\", OtsBackupPlanArgs.builder()\n .otsBackupPlanName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .vaultId(defaultVault.id())\n .backupType(\"COMPLETE\")\n .retention(\"1\")\n .instanceName(defaultInstance.name())\n .crossAccountType(\"SELF_ACCOUNT\")\n .crossAccountUserId(default_.id())\n .crossAccountRoleName(defaultRole.id())\n .otsDetails(OtsBackupPlanOtsDetailArgs.builder()\n .tableNames(defaultTable.tableName())\n .build())\n .rules(OtsBackupPlanRuleArgs.builder()\n .schedule(\"I|1602673264|PT2H\")\n .retention(\"1\")\n .disabled(false)\n .ruleName(\"terraform-example\")\n .backupType(\"COMPLETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${defaultInteger.result}\n vaultType: STANDARD\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: Example-${defaultInteger.result}\n description: terraform-example\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: terraform_example\n primaryKeys:\n - name: pk1\n type: Integer\n timeToLive: -1\n maxVersion: 1\n deviationCellVersionInSec: 1\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: hbrexamplerole\n document: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Principal\\\": {\n \\t\\t\\t\\t\\t\\\"Service\\\": [\n \\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n \\t\\t\\t\\t\\t]\n \\t\\t\\t\\t}\n \\t\\t\\t}\n \\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n force: true\n example:\n type: alicloud:hbr:OtsBackupPlan\n properties:\n otsBackupPlanName: terraform-example-${defaultInteger.result}\n vaultId: ${defaultVault.id}\n backupType: COMPLETE\n retention: '1'\n instanceName: ${defaultInstance.name}\n crossAccountType: SELF_ACCOUNT\n crossAccountUserId: ${default.id}\n crossAccountRoleName: ${defaultRole.id}\n otsDetails:\n - tableNames:\n - ${defaultTable.tableName}\n rules:\n - schedule: I|1602673264|PT2H\n retention: '1'\n disabled: 'false'\n ruleName: terraform-example\n backupType: COMPLETE\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHBR Ots Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/otsBackupPlan:OtsBackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a HBR Ots Backup Plan resource.\n\nFor information about HBR Ots Backup Plan and how to use it, see [What is Ots Backup Plan](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/overview).\n\n\u003e **NOTE:** Available since v1.163.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {\n vaultName: `terraform-example-${defaultInteger.result}`,\n vaultType: \"STANDARD\",\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `Example-${defaultInteger.result}`,\n description: \"terraform-example\",\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"terraform_example\",\n primaryKeys: [{\n name: \"pk1\",\n type: \"Integer\",\n }],\n timeToLive: -1,\n maxVersion: 1,\n deviationCellVersionInSec: \"1\",\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n name: \"hbrexamplerole\",\n document: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\\"crossbackup.hbr.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t\\\\t\\\\t]\n\\\\t\\\\t\\\\t\\\\t}\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t\\\\t],\n \\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n force: true,\n});\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.hbr.OtsBackupPlan(\"example\", {\n otsBackupPlanName: `terraform-example-${defaultInteger.result}`,\n vaultId: defaultVault.id,\n backupType: \"COMPLETE\",\n retention: \"1\",\n instanceName: defaultInstance.name,\n crossAccountType: \"SELF_ACCOUNT\",\n crossAccountUserId: _default.then(_default =\u003e _default.id),\n crossAccountRoleName: defaultRole.id,\n otsDetails: [{\n tableNames: [defaultTable.tableName],\n }],\n rules: [{\n schedule: \"I|1602673264|PT2H\",\n retention: \"1\",\n disabled: false,\n ruleName: \"terraform-example\",\n backupType: \"COMPLETE\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_vault = alicloud.hbr.Vault(\"default\",\n vault_name=f\"terraform-example-{default_integer['result']}\",\n vault_type=\"STANDARD\")\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"Example-{default_integer['result']}\",\n description=\"terraform-example\",\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"terraform_example\",\n primary_keys=[{\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n }],\n time_to_live=-1,\n max_version=1,\n deviation_cell_version_in_sec=\"1\")\ndefault_role = alicloud.ram.Role(\"default\",\n name=\"hbrexamplerole\",\n document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n force=True)\ndefault = alicloud.get_account()\nexample = alicloud.hbr.OtsBackupPlan(\"example\",\n ots_backup_plan_name=f\"terraform-example-{default_integer['result']}\",\n vault_id=default_vault.id,\n backup_type=\"COMPLETE\",\n retention=\"1\",\n instance_name=default_instance.name,\n cross_account_type=\"SELF_ACCOUNT\",\n cross_account_user_id=default.id,\n cross_account_role_name=default_role.id,\n ots_details=[{\n \"table_names\": [default_table.table_name],\n }],\n rules=[{\n \"schedule\": \"I|1602673264|PT2H\",\n \"retention\": \"1\",\n \"disabled\": False,\n \"rule_name\": \"terraform-example\",\n \"backup_type\": \"COMPLETE\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{defaultInteger.Result}\",\n VaultType = \"STANDARD\",\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"Example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"terraform_example\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n },\n TimeToLive = -1,\n MaxVersion = 1,\n DeviationCellVersionInSec = \"1\",\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n Name = \"hbrexamplerole\",\n Document = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t\\t\\t\\\"\"crossbackup.hbr.aliyuncs.com\\\"\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Force = true,\n });\n\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Hbr.OtsBackupPlan(\"example\", new()\n {\n OtsBackupPlanName = $\"terraform-example-{defaultInteger.Result}\",\n VaultId = defaultVault.Id,\n BackupType = \"COMPLETE\",\n Retention = \"1\",\n InstanceName = defaultInstance.Name,\n CrossAccountType = \"SELF_ACCOUNT\",\n CrossAccountUserId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n CrossAccountRoleName = defaultRole.Id,\n OtsDetails = new[]\n {\n new AliCloud.Hbr.Inputs.OtsBackupPlanOtsDetailArgs\n {\n TableNames = new[]\n {\n defaultTable.TableName,\n },\n },\n },\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.OtsBackupPlanRuleArgs\n {\n Schedule = \"I|1602673264|PT2H\",\n Retention = \"1\",\n Disabled = false,\n RuleName = \"terraform-example\",\n BackupType = \"COMPLETE\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"Example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"terraform_example\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tDeviationCellVersionInSec: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRole, err := ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"hbrexamplerole\"),\n\t\t\tDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewOtsBackupPlan(ctx, \"example\", \u0026hbr.OtsBackupPlanArgs{\n\t\t\tOtsBackupPlanName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tVaultId: defaultVault.ID(),\n\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tCrossAccountType: pulumi.String(\"SELF_ACCOUNT\"),\n\t\t\tCrossAccountUserId: pulumi.String(_default.Id),\n\t\t\tCrossAccountRoleName: defaultRole.ID(),\n\t\t\tOtsDetails: hbr.OtsBackupPlanOtsDetailArray{\n\t\t\t\t\u0026hbr.OtsBackupPlanOtsDetailArgs{\n\t\t\t\t\tTableNames: pulumi.StringArray{\n\t\t\t\t\t\tdefaultTable.TableName,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: hbr.OtsBackupPlanRuleArray{\n\t\t\t\t\u0026hbr.OtsBackupPlanRuleArgs{\n\t\t\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\t\t\tRetention: pulumi.String(\"1\"),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tRuleName: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.hbr.OtsBackupPlan;\nimport com.pulumi.alicloud.hbr.OtsBackupPlanArgs;\nimport com.pulumi.alicloud.hbr.inputs.OtsBackupPlanOtsDetailArgs;\nimport com.pulumi.alicloud.hbr.inputs.OtsBackupPlanRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .vaultType(\"STANDARD\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"Example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"terraform_example\")\n .primaryKeys(TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build())\n .timeToLive(-1)\n .maxVersion(1)\n .deviationCellVersionInSec(\"1\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .name(\"hbrexamplerole\")\n .document(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Principal\\\": {\n\\t\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n\\t\\t\\t\\t\\t]\n\\t\\t\\t\\t}\n\\t\\t\\t}\n\\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .force(true)\n .build());\n\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new OtsBackupPlan(\"example\", OtsBackupPlanArgs.builder()\n .otsBackupPlanName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .vaultId(defaultVault.id())\n .backupType(\"COMPLETE\")\n .retention(\"1\")\n .instanceName(defaultInstance.name())\n .crossAccountType(\"SELF_ACCOUNT\")\n .crossAccountUserId(default_.id())\n .crossAccountRoleName(defaultRole.id())\n .otsDetails(OtsBackupPlanOtsDetailArgs.builder()\n .tableNames(defaultTable.tableName())\n .build())\n .rules(OtsBackupPlanRuleArgs.builder()\n .schedule(\"I|1602673264|PT2H\")\n .retention(\"1\")\n .disabled(false)\n .ruleName(\"terraform-example\")\n .backupType(\"COMPLETE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${defaultInteger.result}\n vaultType: STANDARD\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: Example-${defaultInteger.result}\n description: terraform-example\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: terraform_example\n primaryKeys:\n - name: pk1\n type: Integer\n timeToLive: -1\n maxVersion: 1\n deviationCellVersionInSec: 1\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n name: hbrexamplerole\n document: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t\\t\\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Principal\\\": {\n \\t\\t\\t\\t\\t\\\"Service\\\": [\n \\t\\t\\t\\t\\t\\t\\\"crossbackup.hbr.aliyuncs.com\\\"\n \\t\\t\\t\\t\\t]\n \\t\\t\\t\\t}\n \\t\\t\\t}\n \\t\\t\\t],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n force: true\n example:\n type: alicloud:hbr:OtsBackupPlan\n properties:\n otsBackupPlanName: terraform-example-${defaultInteger.result}\n vaultId: ${defaultVault.id}\n backupType: COMPLETE\n retention: '1'\n instanceName: ${defaultInstance.name}\n crossAccountType: SELF_ACCOUNT\n crossAccountUserId: ${default.id}\n crossAccountRoleName: ${defaultRole.id}\n otsDetails:\n - tableNames:\n - ${defaultTable.tableName}\n rules:\n - schedule: I|1602673264|PT2H\n retention: '1'\n disabled: 'false'\n ruleName: terraform-example\n backupType: COMPLETE\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHBR Ots Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/otsBackupPlan:OtsBackupPlan example \u003cid\u003e\n```\n\n", "properties": { "backupType": { "type": "string", @@ -198731,7 +202756,7 @@ } }, "alicloud:hbr/policy:Policy": { - "description": "Provides a Hybrid Backup Recovery (HBR) Policy resource.\n\n\nFor information about Hybrid Backup Recovery (HBR) Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/cloud-backup/developer-reference/api-hbr-2017-09-08-createpolicyv2).\n\n\u003e **NOTE:** Available since v1.221.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultyk84Hc = new alicloud.hbr.Vault(\"defaultyk84Hc\", {\n vaultType: \"STANDARD\",\n vaultName: `example-value-${_default.result}`,\n});\nconst defaultoqWvHQ = new alicloud.hbr.Policy(\"defaultoqWvHQ\", {\n policyName: `example-value-${_default.result}`,\n rules: [{\n ruleType: \"BACKUP\",\n backupType: \"COMPLETE\",\n schedule: \"I|1631685600|P1D\",\n retention: 7,\n archiveDays: 0,\n vaultId: defaultyk84Hc.id,\n }],\n policyDescription: \"policy example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefaultyk84_hc = alicloud.hbr.Vault(\"defaultyk84Hc\",\n vault_type=\"STANDARD\",\n vault_name=f\"example-value-{default['result']}\")\ndefaultoq_wv_hq = alicloud.hbr.Policy(\"defaultoqWvHQ\",\n policy_name=f\"example-value-{default['result']}\",\n rules=[{\n \"rule_type\": \"BACKUP\",\n \"backup_type\": \"COMPLETE\",\n \"schedule\": \"I|1631685600|P1D\",\n \"retention\": 7,\n \"archive_days\": 0,\n \"vault_id\": defaultyk84_hc.id,\n }],\n policy_description=\"policy example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultyk84Hc = new AliCloud.Hbr.Vault(\"defaultyk84Hc\", new()\n {\n VaultType = \"STANDARD\",\n VaultName = $\"example-value-{@default.Result}\",\n });\n\n var defaultoqWvHQ = new AliCloud.Hbr.Policy(\"defaultoqWvHQ\", new()\n {\n PolicyName = $\"example-value-{@default.Result}\",\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.PolicyRuleArgs\n {\n RuleType = \"BACKUP\",\n BackupType = \"COMPLETE\",\n Schedule = \"I|1631685600|P1D\",\n Retention = 7,\n ArchiveDays = 0,\n VaultId = defaultyk84Hc.Id,\n },\n },\n PolicyDescription = \"policy example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyk84Hc, err := hbr.NewVault(ctx, \"defaultyk84Hc\", \u0026hbr.VaultArgs{\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t\tVaultName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewPolicy(ctx, \"defaultoqWvHQ\", \u0026hbr.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRules: hbr.PolicyRuleArray{\n\t\t\t\t\u0026hbr.PolicyRuleArgs{\n\t\t\t\t\tRuleType: pulumi.String(\"BACKUP\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\t\t\tSchedule: pulumi.String(\"I|1631685600|P1D\"),\n\t\t\t\t\tRetention: pulumi.Int(7),\n\t\t\t\t\tArchiveDays: pulumi.Int(0),\n\t\t\t\t\tVaultId: defaultyk84Hc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyDescription: pulumi.String(\"policy example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.Policy;\nimport com.pulumi.alicloud.hbr.PolicyArgs;\nimport com.pulumi.alicloud.hbr.inputs.PolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultyk84Hc = new Vault(\"defaultyk84Hc\", VaultArgs.builder()\n .vaultType(\"STANDARD\")\n .vaultName(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultoqWvHQ = new Policy(\"defaultoqWvHQ\", PolicyArgs.builder()\n .policyName(String.format(\"example-value-%s\", default_.result()))\n .rules(PolicyRuleArgs.builder()\n .ruleType(\"BACKUP\")\n .backupType(\"COMPLETE\")\n .schedule(\"I|1631685600|P1D\")\n .retention(7)\n .archiveDays(0)\n .vaultId(defaultyk84Hc.id())\n .build())\n .policyDescription(\"policy example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultyk84Hc:\n type: alicloud:hbr:Vault\n properties:\n vaultType: STANDARD\n vaultName: example-value-${default.result}\n defaultoqWvHQ:\n type: alicloud:hbr:Policy\n properties:\n policyName: example-value-${default.result}\n rules:\n - ruleType: BACKUP\n backupType: COMPLETE\n schedule: I|1631685600|P1D\n retention: '7'\n archiveDays: '0'\n vaultId: ${defaultyk84Hc.id}\n policyDescription: policy example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/policy:Policy example \u003cid\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Policy resource.\n\n\nFor information about Hybrid Backup Recovery (HBR) Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/cloud-backup/developer-reference/api-hbr-2017-09-08-createpolicyv2).\n\n\u003e **NOTE:** Available since v1.221.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultyk84Hc = new alicloud.hbr.Vault(\"defaultyk84Hc\", {\n vaultType: \"STANDARD\",\n vaultName: `example-value-${_default.result}`,\n});\nconst defaultoqWvHQ = new alicloud.hbr.Policy(\"defaultoqWvHQ\", {\n policyName: `example-value-${_default.result}`,\n rules: [{\n ruleType: \"BACKUP\",\n backupType: \"COMPLETE\",\n schedule: \"I|1631685600|P1D\",\n retention: 7,\n archiveDays: 0,\n vaultId: defaultyk84Hc.id,\n }],\n policyDescription: \"policy example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefaultyk84_hc = alicloud.hbr.Vault(\"defaultyk84Hc\",\n vault_type=\"STANDARD\",\n vault_name=f\"example-value-{default['result']}\")\ndefaultoq_wv_hq = alicloud.hbr.Policy(\"defaultoqWvHQ\",\n policy_name=f\"example-value-{default['result']}\",\n rules=[{\n \"rule_type\": \"BACKUP\",\n \"backup_type\": \"COMPLETE\",\n \"schedule\": \"I|1631685600|P1D\",\n \"retention\": 7,\n \"archive_days\": 0,\n \"vault_id\": defaultyk84_hc.id,\n }],\n policy_description=\"policy example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultyk84Hc = new AliCloud.Hbr.Vault(\"defaultyk84Hc\", new()\n {\n VaultType = \"STANDARD\",\n VaultName = $\"example-value-{@default.Result}\",\n });\n\n var defaultoqWvHQ = new AliCloud.Hbr.Policy(\"defaultoqWvHQ\", new()\n {\n PolicyName = $\"example-value-{@default.Result}\",\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.PolicyRuleArgs\n {\n RuleType = \"BACKUP\",\n BackupType = \"COMPLETE\",\n Schedule = \"I|1631685600|P1D\",\n Retention = 7,\n ArchiveDays = 0,\n VaultId = defaultyk84Hc.Id,\n },\n },\n PolicyDescription = \"policy example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyk84Hc, err := hbr.NewVault(ctx, \"defaultyk84Hc\", \u0026hbr.VaultArgs{\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t\tVaultName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewPolicy(ctx, \"defaultoqWvHQ\", \u0026hbr.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRules: hbr.PolicyRuleArray{\n\t\t\t\t\u0026hbr.PolicyRuleArgs{\n\t\t\t\t\tRuleType: pulumi.String(\"BACKUP\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\t\t\tSchedule: pulumi.String(\"I|1631685600|P1D\"),\n\t\t\t\t\tRetention: pulumi.Int(7),\n\t\t\t\t\tArchiveDays: pulumi.Int(0),\n\t\t\t\t\tVaultId: defaultyk84Hc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyDescription: pulumi.String(\"policy example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.Policy;\nimport com.pulumi.alicloud.hbr.PolicyArgs;\nimport com.pulumi.alicloud.hbr.inputs.PolicyRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultyk84Hc = new Vault(\"defaultyk84Hc\", VaultArgs.builder()\n .vaultType(\"STANDARD\")\n .vaultName(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultoqWvHQ = new Policy(\"defaultoqWvHQ\", PolicyArgs.builder()\n .policyName(String.format(\"example-value-%s\", default_.result()))\n .rules(PolicyRuleArgs.builder()\n .ruleType(\"BACKUP\")\n .backupType(\"COMPLETE\")\n .schedule(\"I|1631685600|P1D\")\n .retention(7)\n .archiveDays(0)\n .vaultId(defaultyk84Hc.id())\n .build())\n .policyDescription(\"policy example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultyk84Hc:\n type: alicloud:hbr:Vault\n properties:\n vaultType: STANDARD\n vaultName: example-value-${default.result}\n defaultoqWvHQ:\n type: alicloud:hbr:Policy\n properties:\n policyName: example-value-${default.result}\n rules:\n - ruleType: BACKUP\n backupType: COMPLETE\n schedule: I|1631685600|P1D\n retention: '7'\n archiveDays: '0'\n vaultId: ${defaultyk84Hc.id}\n policyDescription: policy example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/policy:Policy example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -198815,7 +202840,7 @@ } }, "alicloud:hbr/policyBinding:PolicyBinding": { - "description": "Provides a HBR Policy Binding resource.\n\nFor information about HBR Policy Binding and how to use it, see [What is Policy Binding](https://www.alibabacloud.com/help/en/cloud-backup/developer-reference/api-hbr-2017-09-08-createpolicybindings).\n\n\u003e **NOTE:** Available since v1.221.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultyk84Hc = new alicloud.hbr.Vault(\"defaultyk84Hc\", {\n vaultType: \"STANDARD\",\n vaultName: `example-value-${_default.result}`,\n});\nconst defaultoqWvHQ = new alicloud.hbr.Policy(\"defaultoqWvHQ\", {\n policyName: `example-value-${_default.result}`,\n rules: [{\n ruleType: \"BACKUP\",\n backupType: \"COMPLETE\",\n schedule: \"I|1631685600|P1D\",\n retention: 7,\n archiveDays: 0,\n vaultId: defaultyk84Hc.id,\n }],\n policyDescription: \"policy example\",\n});\nconst defaultKtt2XY = new alicloud.oss.Bucket(\"defaultKtt2XY\", {\n storageClass: \"Standard\",\n bucket: `example-value-${_default.result}`,\n});\nconst defaultPolicyBinding = new alicloud.hbr.PolicyBinding(\"default\", {\n sourceType: \"OSS\",\n disabled: false,\n policyId: defaultoqWvHQ.id,\n dataSourceId: defaultKtt2XY.bucket,\n policyBindingDescription: \"policy binding example (update)\",\n source: \"prefix-example-update/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefaultyk84_hc = alicloud.hbr.Vault(\"defaultyk84Hc\",\n vault_type=\"STANDARD\",\n vault_name=f\"example-value-{default['result']}\")\ndefaultoq_wv_hq = alicloud.hbr.Policy(\"defaultoqWvHQ\",\n policy_name=f\"example-value-{default['result']}\",\n rules=[{\n \"rule_type\": \"BACKUP\",\n \"backup_type\": \"COMPLETE\",\n \"schedule\": \"I|1631685600|P1D\",\n \"retention\": 7,\n \"archive_days\": 0,\n \"vault_id\": defaultyk84_hc.id,\n }],\n policy_description=\"policy example\")\ndefault_ktt2_xy = alicloud.oss.Bucket(\"defaultKtt2XY\",\n storage_class=\"Standard\",\n bucket=f\"example-value-{default['result']}\")\ndefault_policy_binding = alicloud.hbr.PolicyBinding(\"default\",\n source_type=\"OSS\",\n disabled=False,\n policy_id=defaultoq_wv_hq.id,\n data_source_id=default_ktt2_xy.bucket,\n policy_binding_description=\"policy binding example (update)\",\n source=\"prefix-example-update/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultyk84Hc = new AliCloud.Hbr.Vault(\"defaultyk84Hc\", new()\n {\n VaultType = \"STANDARD\",\n VaultName = $\"example-value-{@default.Result}\",\n });\n\n var defaultoqWvHQ = new AliCloud.Hbr.Policy(\"defaultoqWvHQ\", new()\n {\n PolicyName = $\"example-value-{@default.Result}\",\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.PolicyRuleArgs\n {\n RuleType = \"BACKUP\",\n BackupType = \"COMPLETE\",\n Schedule = \"I|1631685600|P1D\",\n Retention = 7,\n ArchiveDays = 0,\n VaultId = defaultyk84Hc.Id,\n },\n },\n PolicyDescription = \"policy example\",\n });\n\n var defaultKtt2XY = new AliCloud.Oss.Bucket(\"defaultKtt2XY\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var defaultPolicyBinding = new AliCloud.Hbr.PolicyBinding(\"default\", new()\n {\n SourceType = \"OSS\",\n Disabled = false,\n PolicyId = defaultoqWvHQ.Id,\n DataSourceId = defaultKtt2XY.BucketName,\n PolicyBindingDescription = \"policy binding example (update)\",\n Source = \"prefix-example-update/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyk84Hc, err := hbr.NewVault(ctx, \"defaultyk84Hc\", \u0026hbr.VaultArgs{\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t\tVaultName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultoqWvHQ, err := hbr.NewPolicy(ctx, \"defaultoqWvHQ\", \u0026hbr.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRules: hbr.PolicyRuleArray{\n\t\t\t\t\u0026hbr.PolicyRuleArgs{\n\t\t\t\t\tRuleType: pulumi.String(\"BACKUP\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\t\t\tSchedule: pulumi.String(\"I|1631685600|P1D\"),\n\t\t\t\t\tRetention: pulumi.Int(7),\n\t\t\t\t\tArchiveDays: pulumi.Int(0),\n\t\t\t\t\tVaultId: defaultyk84Hc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyDescription: pulumi.String(\"policy example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKtt2XY, err := oss.NewBucket(ctx, \"defaultKtt2XY\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewPolicyBinding(ctx, \"default\", \u0026hbr.PolicyBindingArgs{\n\t\t\tSourceType: pulumi.String(\"OSS\"),\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tPolicyId: defaultoqWvHQ.ID(),\n\t\t\tDataSourceId: defaultKtt2XY.Bucket,\n\t\t\tPolicyBindingDescription: pulumi.String(\"policy binding example (update)\"),\n\t\t\tSource: pulumi.String(\"prefix-example-update/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.Policy;\nimport com.pulumi.alicloud.hbr.PolicyArgs;\nimport com.pulumi.alicloud.hbr.inputs.PolicyRuleArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.hbr.PolicyBinding;\nimport com.pulumi.alicloud.hbr.PolicyBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultyk84Hc = new Vault(\"defaultyk84Hc\", VaultArgs.builder()\n .vaultType(\"STANDARD\")\n .vaultName(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultoqWvHQ = new Policy(\"defaultoqWvHQ\", PolicyArgs.builder()\n .policyName(String.format(\"example-value-%s\", default_.result()))\n .rules(PolicyRuleArgs.builder()\n .ruleType(\"BACKUP\")\n .backupType(\"COMPLETE\")\n .schedule(\"I|1631685600|P1D\")\n .retention(7)\n .archiveDays(0)\n .vaultId(defaultyk84Hc.id())\n .build())\n .policyDescription(\"policy example\")\n .build());\n\n var defaultKtt2XY = new Bucket(\"defaultKtt2XY\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultPolicyBinding = new PolicyBinding(\"defaultPolicyBinding\", PolicyBindingArgs.builder()\n .sourceType(\"OSS\")\n .disabled(false)\n .policyId(defaultoqWvHQ.id())\n .dataSourceId(defaultKtt2XY.bucket())\n .policyBindingDescription(\"policy binding example (update)\")\n .source(\"prefix-example-update/\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultyk84Hc:\n type: alicloud:hbr:Vault\n properties:\n vaultType: STANDARD\n vaultName: example-value-${default.result}\n defaultoqWvHQ:\n type: alicloud:hbr:Policy\n properties:\n policyName: example-value-${default.result}\n rules:\n - ruleType: BACKUP\n backupType: COMPLETE\n schedule: I|1631685600|P1D\n retention: '7'\n archiveDays: '0'\n vaultId: ${defaultyk84Hc.id}\n policyDescription: policy example\n defaultKtt2XY:\n type: alicloud:oss:Bucket\n properties:\n storageClass: Standard\n bucket: example-value-${default.result}\n defaultPolicyBinding:\n type: alicloud:hbr:PolicyBinding\n name: default\n properties:\n sourceType: OSS\n disabled: 'false'\n policyId: ${defaultoqWvHQ.id}\n dataSourceId: ${defaultKtt2XY.bucket}\n policyBindingDescription: policy binding example (update)\n source: prefix-example-update/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHBR Policy Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/policyBinding:PolicyBinding example \u003cpolicy_id\u003e:\u003csource_type\u003e:\u003cdata_source_id\u003e\n```\n\n", + "description": "Provides a HBR Policy Binding resource.\n\nFor information about HBR Policy Binding and how to use it, see [What is Policy Binding](https://www.alibabacloud.com/help/en/cloud-backup/developer-reference/api-hbr-2017-09-08-createpolicybindings).\n\n\u003e **NOTE:** Available since v1.221.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultyk84Hc = new alicloud.hbr.Vault(\"defaultyk84Hc\", {\n vaultType: \"STANDARD\",\n vaultName: `example-value-${_default.result}`,\n});\nconst defaultoqWvHQ = new alicloud.hbr.Policy(\"defaultoqWvHQ\", {\n policyName: `example-value-${_default.result}`,\n rules: [{\n ruleType: \"BACKUP\",\n backupType: \"COMPLETE\",\n schedule: \"I|1631685600|P1D\",\n retention: 7,\n archiveDays: 0,\n vaultId: defaultyk84Hc.id,\n }],\n policyDescription: \"policy example\",\n});\nconst defaultKtt2XY = new alicloud.oss.Bucket(\"defaultKtt2XY\", {\n storageClass: \"Standard\",\n bucket: `example-value-${_default.result}`,\n});\nconst defaultPolicyBinding = new alicloud.hbr.PolicyBinding(\"default\", {\n sourceType: \"OSS\",\n disabled: false,\n policyId: defaultoqWvHQ.id,\n dataSourceId: defaultKtt2XY.bucket,\n policyBindingDescription: \"policy binding example (update)\",\n source: \"prefix-example-update/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefaultyk84_hc = alicloud.hbr.Vault(\"defaultyk84Hc\",\n vault_type=\"STANDARD\",\n vault_name=f\"example-value-{default['result']}\")\ndefaultoq_wv_hq = alicloud.hbr.Policy(\"defaultoqWvHQ\",\n policy_name=f\"example-value-{default['result']}\",\n rules=[{\n \"rule_type\": \"BACKUP\",\n \"backup_type\": \"COMPLETE\",\n \"schedule\": \"I|1631685600|P1D\",\n \"retention\": 7,\n \"archive_days\": 0,\n \"vault_id\": defaultyk84_hc.id,\n }],\n policy_description=\"policy example\")\ndefault_ktt2_xy = alicloud.oss.Bucket(\"defaultKtt2XY\",\n storage_class=\"Standard\",\n bucket=f\"example-value-{default['result']}\")\ndefault_policy_binding = alicloud.hbr.PolicyBinding(\"default\",\n source_type=\"OSS\",\n disabled=False,\n policy_id=defaultoq_wv_hq.id,\n data_source_id=default_ktt2_xy.bucket,\n policy_binding_description=\"policy binding example (update)\",\n source=\"prefix-example-update/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultyk84Hc = new AliCloud.Hbr.Vault(\"defaultyk84Hc\", new()\n {\n VaultType = \"STANDARD\",\n VaultName = $\"example-value-{@default.Result}\",\n });\n\n var defaultoqWvHQ = new AliCloud.Hbr.Policy(\"defaultoqWvHQ\", new()\n {\n PolicyName = $\"example-value-{@default.Result}\",\n Rules = new[]\n {\n new AliCloud.Hbr.Inputs.PolicyRuleArgs\n {\n RuleType = \"BACKUP\",\n BackupType = \"COMPLETE\",\n Schedule = \"I|1631685600|P1D\",\n Retention = 7,\n ArchiveDays = 0,\n VaultId = defaultyk84Hc.Id,\n },\n },\n PolicyDescription = \"policy example\",\n });\n\n var defaultKtt2XY = new AliCloud.Oss.Bucket(\"defaultKtt2XY\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var defaultPolicyBinding = new AliCloud.Hbr.PolicyBinding(\"default\", new()\n {\n SourceType = \"OSS\",\n Disabled = false,\n PolicyId = defaultoqWvHQ.Id,\n DataSourceId = defaultKtt2XY.BucketName,\n PolicyBindingDescription = \"policy binding example (update)\",\n Source = \"prefix-example-update/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultyk84Hc, err := hbr.NewVault(ctx, \"defaultyk84Hc\", \u0026hbr.VaultArgs{\n\t\t\tVaultType: pulumi.String(\"STANDARD\"),\n\t\t\tVaultName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultoqWvHQ, err := hbr.NewPolicy(ctx, \"defaultoqWvHQ\", \u0026hbr.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRules: hbr.PolicyRuleArray{\n\t\t\t\t\u0026hbr.PolicyRuleArgs{\n\t\t\t\t\tRuleType: pulumi.String(\"BACKUP\"),\n\t\t\t\t\tBackupType: pulumi.String(\"COMPLETE\"),\n\t\t\t\t\tSchedule: pulumi.String(\"I|1631685600|P1D\"),\n\t\t\t\t\tRetention: pulumi.Int(7),\n\t\t\t\t\tArchiveDays: pulumi.Int(0),\n\t\t\t\t\tVaultId: defaultyk84Hc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyDescription: pulumi.String(\"policy example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKtt2XY, err := oss.NewBucket(ctx, \"defaultKtt2XY\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewPolicyBinding(ctx, \"default\", \u0026hbr.PolicyBindingArgs{\n\t\t\tSourceType: pulumi.String(\"OSS\"),\n\t\t\tDisabled: pulumi.Bool(false),\n\t\t\tPolicyId: defaultoqWvHQ.ID(),\n\t\t\tDataSourceId: defaultKtt2XY.Bucket,\n\t\t\tPolicyBindingDescription: pulumi.String(\"policy binding example (update)\"),\n\t\t\tSource: pulumi.String(\"prefix-example-update/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.Policy;\nimport com.pulumi.alicloud.hbr.PolicyArgs;\nimport com.pulumi.alicloud.hbr.inputs.PolicyRuleArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.hbr.PolicyBinding;\nimport com.pulumi.alicloud.hbr.PolicyBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultyk84Hc = new Vault(\"defaultyk84Hc\", VaultArgs.builder()\n .vaultType(\"STANDARD\")\n .vaultName(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultoqWvHQ = new Policy(\"defaultoqWvHQ\", PolicyArgs.builder()\n .policyName(String.format(\"example-value-%s\", default_.result()))\n .rules(PolicyRuleArgs.builder()\n .ruleType(\"BACKUP\")\n .backupType(\"COMPLETE\")\n .schedule(\"I|1631685600|P1D\")\n .retention(7)\n .archiveDays(0)\n .vaultId(defaultyk84Hc.id())\n .build())\n .policyDescription(\"policy example\")\n .build());\n\n var defaultKtt2XY = new Bucket(\"defaultKtt2XY\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var defaultPolicyBinding = new PolicyBinding(\"defaultPolicyBinding\", PolicyBindingArgs.builder()\n .sourceType(\"OSS\")\n .disabled(false)\n .policyId(defaultoqWvHQ.id())\n .dataSourceId(defaultKtt2XY.bucket())\n .policyBindingDescription(\"policy binding example (update)\")\n .source(\"prefix-example-update/\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultyk84Hc:\n type: alicloud:hbr:Vault\n properties:\n vaultType: STANDARD\n vaultName: example-value-${default.result}\n defaultoqWvHQ:\n type: alicloud:hbr:Policy\n properties:\n policyName: example-value-${default.result}\n rules:\n - ruleType: BACKUP\n backupType: COMPLETE\n schedule: I|1631685600|P1D\n retention: '7'\n archiveDays: '0'\n vaultId: ${defaultyk84Hc.id}\n policyDescription: policy example\n defaultKtt2XY:\n type: alicloud:oss:Bucket\n properties:\n storageClass: Standard\n bucket: example-value-${default.result}\n defaultPolicyBinding:\n type: alicloud:hbr:PolicyBinding\n name: default\n properties:\n sourceType: OSS\n disabled: 'false'\n policyId: ${defaultoqWvHQ.id}\n dataSourceId: ${defaultKtt2XY.bucket}\n policyBindingDescription: policy binding example (update)\n source: prefix-example-update/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHBR Policy Binding can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/policyBinding:PolicyBinding example \u003cpolicy_id\u003e:\u003csource_type\u003e:\u003cdata_source_id\u003e\n```\n\n", "properties": { "advancedOptions": { "$ref": "#/types/alicloud:hbr/PolicyBindingAdvancedOptions:PolicyBindingAdvancedOptions", @@ -199014,7 +203039,7 @@ } }, "alicloud:hbr/replicationVault:ReplicationVault": { - "description": "Provides a Hybrid Backup Recovery (HBR) Replication Vault resource.\n\nThe replication vault used by the cross-region backup function of Cloud Backup.\n\nFor information about Hybrid Backup Recovery (HBR) Replication Vault and how to use it, see [What is Replication Vault](https://www.alibabacloud.com/help/en/doc-detail/345603.html).\n\n\u003e **NOTE:** Available since v1.252.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst sourceRegion = config.get(\"sourceRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.hbr.getReplicationVaultRegions({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${defaultInteger.result}`});\nconst defaultReplicationVault = new alicloud.hbr.ReplicationVault(\"default\", {\n replicationSourceRegionId: sourceRegion,\n replicationSourceVaultId: defaultVault.id,\n vaultName: \"terraform-example\",\n vaultStorageClass: \"STANDARD\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nsource_region = config.get(\"sourceRegion\")\nif source_region is None:\n source_region = \"cn-hangzhou\"\ndefault = alicloud.hbr.get_replication_vault_regions()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default_integer['result']}\")\ndefault_replication_vault = alicloud.hbr.ReplicationVault(\"default\",\n replication_source_region_id=source_region,\n replication_source_vault_id=default_vault.id,\n vault_name=\"terraform-example\",\n vault_storage_class=\"STANDARD\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sourceRegion = config.Get(\"sourceRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.Hbr.GetReplicationVaultRegions.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultReplicationVault = new AliCloud.Hbr.ReplicationVault(\"default\", new()\n {\n ReplicationSourceRegionId = sourceRegion,\n ReplicationSourceVaultId = defaultVault.Id,\n VaultName = \"terraform-example\",\n VaultStorageClass = \"STANDARD\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsourceRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"sourceRegion\"); param != \"\" {\n\t\t\tsourceRegion = param\n\t\t}\n\t\t_, err := hbr.GetReplicationVaultRegions(ctx, \u0026hbr.GetReplicationVaultRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewReplicationVault(ctx, \"default\", \u0026hbr.ReplicationVaultArgs{\n\t\t\tReplicationSourceRegionId: pulumi.String(sourceRegion),\n\t\t\tReplicationSourceVaultId: defaultVault.ID(),\n\t\t\tVaultName: pulumi.String(\"terraform-example\"),\n\t\t\tVaultStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.hbr.HbrFunctions;\nimport com.pulumi.alicloud.hbr.inputs.GetReplicationVaultRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.ReplicationVault;\nimport com.pulumi.alicloud.hbr.ReplicationVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sourceRegion = config.get(\"sourceRegion\").orElse(\"cn-hangzhou\");\n final var default = HbrFunctions.getReplicationVaultRegions(GetReplicationVaultRegionsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultReplicationVault = new ReplicationVault(\"defaultReplicationVault\", ReplicationVaultArgs.builder()\n .replicationSourceRegionId(sourceRegion)\n .replicationSourceVaultId(defaultVault.id())\n .vaultName(\"terraform-example\")\n .vaultStorageClass(\"STANDARD\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sourceRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${defaultInteger.result}\n defaultReplicationVault:\n type: alicloud:hbr:ReplicationVault\n name: default\n properties:\n replicationSourceRegionId: ${sourceRegion}\n replicationSourceVaultId: ${defaultVault.id}\n vaultName: terraform-example\n vaultStorageClass: STANDARD\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbr:getReplicationVaultRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/replicationVault:ReplicationVault example \u003cid\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Replication Vault resource.\n\nThe replication vault used by the cross-region backup function of Cloud Backup.\n\nFor information about Hybrid Backup Recovery (HBR) Replication Vault and how to use it, see [What is Replication Vault](https://www.alibabacloud.com/help/en/doc-detail/345603.html).\n\n\u003e **NOTE:** Available since v1.252.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst sourceRegion = config.get(\"sourceRegion\") || \"cn-hangzhou\";\nconst _default = alicloud.hbr.getReplicationVaultRegions({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultVault = new alicloud.hbr.Vault(\"default\", {vaultName: `terraform-example-${defaultInteger.result}`});\nconst defaultReplicationVault = new alicloud.hbr.ReplicationVault(\"default\", {\n replicationSourceRegionId: sourceRegion,\n replicationSourceVaultId: defaultVault.id,\n vaultName: \"terraform-example\",\n vaultStorageClass: \"STANDARD\",\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nsource_region = config.get(\"sourceRegion\")\nif source_region is None:\n source_region = \"cn-hangzhou\"\ndefault = alicloud.hbr.get_replication_vault_regions()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_vault = alicloud.hbr.Vault(\"default\", vault_name=f\"terraform-example-{default_integer['result']}\")\ndefault_replication_vault = alicloud.hbr.ReplicationVault(\"default\",\n replication_source_region_id=source_region,\n replication_source_vault_id=default_vault.id,\n vault_name=\"terraform-example\",\n vault_storage_class=\"STANDARD\",\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sourceRegion = config.Get(\"sourceRegion\") ?? \"cn-hangzhou\";\n var @default = AliCloud.Hbr.GetReplicationVaultRegions.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultVault = new AliCloud.Hbr.Vault(\"default\", new()\n {\n VaultName = $\"terraform-example-{defaultInteger.Result}\",\n });\n\n var defaultReplicationVault = new AliCloud.Hbr.ReplicationVault(\"default\", new()\n {\n ReplicationSourceRegionId = sourceRegion,\n ReplicationSourceVaultId = defaultVault.Id,\n VaultName = \"terraform-example\",\n VaultStorageClass = \"STANDARD\",\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsourceRegion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"sourceRegion\"); param != \"\" {\n\t\t\tsourceRegion = param\n\t\t}\n\t\t_, err := hbr.GetReplicationVaultRegions(ctx, \u0026hbr.GetReplicationVaultRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVault, err := hbr.NewVault(ctx, \"default\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewReplicationVault(ctx, \"default\", \u0026hbr.ReplicationVaultArgs{\n\t\t\tReplicationSourceRegionId: pulumi.String(sourceRegion),\n\t\t\tReplicationSourceVaultId: defaultVault.ID(),\n\t\t\tVaultName: pulumi.String(\"terraform-example\"),\n\t\t\tVaultStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.hbr.HbrFunctions;\nimport com.pulumi.alicloud.hbr.inputs.GetReplicationVaultRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport com.pulumi.alicloud.hbr.ReplicationVault;\nimport com.pulumi.alicloud.hbr.ReplicationVaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sourceRegion = config.get(\"sourceRegion\").orElse(\"cn-hangzhou\");\n final var default = HbrFunctions.getReplicationVaultRegions(GetReplicationVaultRegionsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultVault = new Vault(\"defaultVault\", VaultArgs.builder()\n .vaultName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .build());\n\n var defaultReplicationVault = new ReplicationVault(\"defaultReplicationVault\", ReplicationVaultArgs.builder()\n .replicationSourceRegionId(sourceRegion)\n .replicationSourceVaultId(defaultVault.id())\n .vaultName(\"terraform-example\")\n .vaultStorageClass(\"STANDARD\")\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sourceRegion:\n type: string\n default: cn-hangzhou\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultVault:\n type: alicloud:hbr:Vault\n name: default\n properties:\n vaultName: terraform-example-${defaultInteger.result}\n defaultReplicationVault:\n type: alicloud:hbr:ReplicationVault\n name: default\n properties:\n replicationSourceRegionId: ${sourceRegion}\n replicationSourceVaultId: ${defaultVault.id}\n vaultName: terraform-example\n vaultStorageClass: STANDARD\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbr:getReplicationVaultRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/replicationVault:ReplicationVault example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -199151,7 +203176,7 @@ } }, "alicloud:hbr/restoreJob:RestoreJob": { - "description": "Provides a Hybrid Backup Recovery (HBR) Restore Job resource.\n\nFor information about Hybrid Backup Recovery (HBR) Restore Job and how to use it, see [What is Restore Job](https://www.alibabacloud.com/help/doc-detail/186575.htm).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.hbr.getEcsBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst defaultGetOssBackupPlans = alicloud.hbr.getOssBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst defaultGetNasBackupPlans = alicloud.hbr.getNasBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst ecsSnapshots = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"ECS_FILE\",\n vaultId: _default.plans?.[0]?.vaultId,\n instanceId: _default1.plans?.[0]?.instanceId,\n}));\nconst ossSnapshots = Promise.all([defaultGetOssBackupPlans, defaultGetOssBackupPlans]).then(([defaultGetOssBackupPlans, defaultGetOssBackupPlans1]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"OSS\",\n vaultId: defaultGetOssBackupPlans.plans?.[0]?.vaultId,\n bucket: defaultGetOssBackupPlans1.plans?.[0]?.bucket,\n}));\nconst nasSnapshots = Promise.all([defaultGetNasBackupPlans, defaultGetNasBackupPlans, defaultGetNasBackupPlans]).then(([defaultGetNasBackupPlans, defaultGetNasBackupPlans1, defaultGetNasBackupPlans2]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"NAS\",\n vaultId: defaultGetNasBackupPlans.plans?.[0]?.vaultId,\n fileSystemId: defaultGetNasBackupPlans1.plans?.[0]?.fileSystemId,\n createTime: defaultGetNasBackupPlans2.plans?.[0]?.createTime,\n}));\nconst nasJob = new alicloud.hbr.RestoreJob(\"nasJob\", {\n snapshotHash: nasSnapshots.then(nasSnapshots =\u003e nasSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.vaultId),\n sourceType: \"NAS\",\n restoreType: \"NAS\",\n snapshotId: nasSnapshots.then(nasSnapshots =\u003e nasSnapshots.snapshots?.[0]?.snapshotId),\n targetFileSystemId: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.fileSystemId),\n targetCreateTime: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.createTime),\n targetPath: \"/\",\n options: \" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\",\n});\nconst ossJob = new alicloud.hbr.RestoreJob(\"ossJob\", {\n snapshotHash: ossSnapshots.then(ossSnapshots =\u003e ossSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: defaultGetOssBackupPlans.then(defaultGetOssBackupPlans =\u003e defaultGetOssBackupPlans.plans?.[0]?.vaultId),\n sourceType: \"OSS\",\n restoreType: \"OSS\",\n snapshotId: ossSnapshots.then(ossSnapshots =\u003e ossSnapshots.snapshots?.[0]?.snapshotId),\n targetBucket: defaultGetOssBackupPlans.then(defaultGetOssBackupPlans =\u003e defaultGetOssBackupPlans.plans?.[0]?.bucket),\n targetPrefix: \"\",\n options: \" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\",\n});\nconst ecsJob = new alicloud.hbr.RestoreJob(\"ecsJob\", {\n snapshotHash: ecsSnapshots.then(ecsSnapshots =\u003e ecsSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: _default.then(_default =\u003e _default.plans?.[0]?.vaultId),\n sourceType: \"ECS_FILE\",\n restoreType: \"ECS_FILE\",\n snapshotId: ecsSnapshots.then(ecsSnapshots =\u003e ecsSnapshots.snapshots?.[0]?.snapshotId),\n targetInstanceId: _default.then(_default =\u003e _default.plans?.[0]?.instanceId),\n targetPath: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.hbr.get_ecs_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\ndefault_get_oss_backup_plans = alicloud.hbr.get_oss_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\ndefault_get_nas_backup_plans = alicloud.hbr.get_nas_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\necs_snapshots = alicloud.hbr.get_snapshots(source_type=\"ECS_FILE\",\n vault_id=default.plans[0].vault_id,\n instance_id=default.plans[0].instance_id)\noss_snapshots = alicloud.hbr.get_snapshots(source_type=\"OSS\",\n vault_id=default_get_oss_backup_plans.plans[0].vault_id,\n bucket=default_get_oss_backup_plans.plans[0].bucket)\nnas_snapshots = alicloud.hbr.get_snapshots(source_type=\"NAS\",\n vault_id=default_get_nas_backup_plans.plans[0].vault_id,\n file_system_id=default_get_nas_backup_plans.plans[0].file_system_id,\n create_time=default_get_nas_backup_plans.plans[0].create_time)\nnas_job = alicloud.hbr.RestoreJob(\"nasJob\",\n snapshot_hash=nas_snapshots.snapshots[0].snapshot_hash,\n vault_id=default_get_nas_backup_plans.plans[0].vault_id,\n source_type=\"NAS\",\n restore_type=\"NAS\",\n snapshot_id=nas_snapshots.snapshots[0].snapshot_id,\n target_file_system_id=default_get_nas_backup_plans.plans[0].file_system_id,\n target_create_time=default_get_nas_backup_plans.plans[0].create_time,\n target_path=\"/\",\n options=\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\")\noss_job = alicloud.hbr.RestoreJob(\"ossJob\",\n snapshot_hash=oss_snapshots.snapshots[0].snapshot_hash,\n vault_id=default_get_oss_backup_plans.plans[0].vault_id,\n source_type=\"OSS\",\n restore_type=\"OSS\",\n snapshot_id=oss_snapshots.snapshots[0].snapshot_id,\n target_bucket=default_get_oss_backup_plans.plans[0].bucket,\n target_prefix=\"\",\n options=\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\")\necs_job = alicloud.hbr.RestoreJob(\"ecsJob\",\n snapshot_hash=ecs_snapshots.snapshots[0].snapshot_hash,\n vault_id=default.plans[0].vault_id,\n source_type=\"ECS_FILE\",\n restore_type=\"ECS_FILE\",\n snapshot_id=ecs_snapshots.snapshots[0].snapshot_id,\n target_instance_id=default.plans[0].instance_id,\n target_path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Hbr.GetEcsBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var defaultGetOssBackupPlans = AliCloud.Hbr.GetOssBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var defaultGetNasBackupPlans = AliCloud.Hbr.GetNasBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var ecsSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"ECS_FILE\",\n VaultId = @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.VaultId),\n InstanceId = @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.InstanceId),\n });\n\n var ossSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"OSS\",\n VaultId = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.VaultId),\n Bucket = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.Bucket),\n });\n\n var nasSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"NAS\",\n VaultId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.VaultId),\n FileSystemId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.FileSystemId),\n CreateTime = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.CreateTime),\n });\n\n var nasJob = new AliCloud.Hbr.RestoreJob(\"nasJob\", new()\n {\n SnapshotHash = nasSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.VaultId),\n SourceType = \"NAS\",\n RestoreType = \"NAS\",\n SnapshotId = nasSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetFileSystemId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.FileSystemId),\n TargetCreateTime = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.CreateTime),\n TargetPath = \"/\",\n Options = @\" {\\\"\"includes\\\"\":[], \\\"\"excludes\\\"\":[]}\n\",\n });\n\n var ossJob = new AliCloud.Hbr.RestoreJob(\"ossJob\", new()\n {\n SnapshotHash = ossSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.VaultId),\n SourceType = \"OSS\",\n RestoreType = \"OSS\",\n SnapshotId = ossSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetBucket = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.Bucket),\n TargetPrefix = \"\",\n Options = @\" {\\\"\"includes\\\"\":[], \\\"\"excludes\\\"\":[]}\n\",\n });\n\n var ecsJob = new AliCloud.Hbr.RestoreJob(\"ecsJob\", new()\n {\n SnapshotHash = ecsSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = @default.Apply(@default =\u003e @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.VaultId)),\n SourceType = \"ECS_FILE\",\n RestoreType = \"ECS_FILE\",\n SnapshotId = ecsSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetInstanceId = @default.Apply(@default =\u003e @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.InstanceId)),\n TargetPath = \"/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := hbr.GetEcsBackupPlans(ctx, \u0026hbr.GetEcsBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetOssBackupPlans, err := hbr.GetOssBackupPlans(ctx, \u0026hbr.GetOssBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNasBackupPlans, err := hbr.GetNasBackupPlans(ctx, \u0026hbr.GetNasBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"ECS_FILE\",\n\t\t\tVaultId: _default.Plans[0].VaultId,\n\t\t\tInstanceId: pulumi.StringRef(_default.Plans[0].InstanceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tossSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"OSS\",\n\t\t\tVaultId: defaultGetOssBackupPlans.Plans[0].VaultId,\n\t\t\tBucket: pulumi.StringRef(defaultGetOssBackupPlans.Plans[0].Bucket),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnasSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"NAS\",\n\t\t\tVaultId: defaultGetNasBackupPlans.Plans[0].VaultId,\n\t\t\tFileSystemId: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].FileSystemId),\n\t\t\tCreateTime: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].CreateTime),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"nasJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(nasSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(defaultGetNasBackupPlans.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"NAS\"),\n\t\t\tRestoreType: pulumi.String(\"NAS\"),\n\t\t\tSnapshotId: pulumi.String(nasSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetFileSystemId: pulumi.String(defaultGetNasBackupPlans.Plans[0].FileSystemId),\n\t\t\tTargetCreateTime: pulumi.String(defaultGetNasBackupPlans.Plans[0].CreateTime),\n\t\t\tTargetPath: pulumi.String(\"/\"),\n\t\t\tOptions: pulumi.String(\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"ossJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(ossSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(defaultGetOssBackupPlans.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"OSS\"),\n\t\t\tRestoreType: pulumi.String(\"OSS\"),\n\t\t\tSnapshotId: pulumi.String(ossSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetBucket: pulumi.String(defaultGetOssBackupPlans.Plans[0].Bucket),\n\t\t\tTargetPrefix: pulumi.String(\"\"),\n\t\t\tOptions: pulumi.String(\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"ecsJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(ecsSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(_default.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"ECS_FILE\"),\n\t\t\tRestoreType: pulumi.String(\"ECS_FILE\"),\n\t\t\tSnapshotId: pulumi.String(ecsSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetInstanceId: pulumi.String(_default.Plans[0].InstanceId),\n\t\t\tTargetPath: 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.alicloud.hbr.HbrFunctions;\nimport com.pulumi.alicloud.hbr.inputs.GetEcsBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetOssBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetNasBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetSnapshotsArgs;\nimport com.pulumi.alicloud.hbr.RestoreJob;\nimport com.pulumi.alicloud.hbr.RestoreJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = HbrFunctions.getEcsBackupPlans(GetEcsBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var defaultGetOssBackupPlans = HbrFunctions.getOssBackupPlans(GetOssBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var defaultGetNasBackupPlans = HbrFunctions.getNasBackupPlans(GetNasBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var ecsSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"ECS_FILE\")\n .vaultId(default_.plans()[0].vaultId())\n .instanceId(default_.plans()[0].instanceId())\n .build());\n\n final var ossSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"OSS\")\n .vaultId(defaultGetOssBackupPlans.plans()[0].vaultId())\n .bucket(defaultGetOssBackupPlans.plans()[0].bucket())\n .build());\n\n final var nasSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"NAS\")\n .vaultId(defaultGetNasBackupPlans.plans()[0].vaultId())\n .fileSystemId(defaultGetNasBackupPlans.plans()[0].fileSystemId())\n .createTime(defaultGetNasBackupPlans.plans()[0].createTime())\n .build());\n\n var nasJob = new RestoreJob(\"nasJob\", RestoreJobArgs.builder()\n .snapshotHash(nasSnapshots.snapshots()[0].snapshotHash())\n .vaultId(defaultGetNasBackupPlans.plans()[0].vaultId())\n .sourceType(\"NAS\")\n .restoreType(\"NAS\")\n .snapshotId(nasSnapshots.snapshots()[0].snapshotId())\n .targetFileSystemId(defaultGetNasBackupPlans.plans()[0].fileSystemId())\n .targetCreateTime(defaultGetNasBackupPlans.plans()[0].createTime())\n .targetPath(\"/\")\n .options(\"\"\"\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n \"\"\")\n .build());\n\n var ossJob = new RestoreJob(\"ossJob\", RestoreJobArgs.builder()\n .snapshotHash(ossSnapshots.snapshots()[0].snapshotHash())\n .vaultId(defaultGetOssBackupPlans.plans()[0].vaultId())\n .sourceType(\"OSS\")\n .restoreType(\"OSS\")\n .snapshotId(ossSnapshots.snapshots()[0].snapshotId())\n .targetBucket(defaultGetOssBackupPlans.plans()[0].bucket())\n .targetPrefix(\"\")\n .options(\"\"\"\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n \"\"\")\n .build());\n\n var ecsJob = new RestoreJob(\"ecsJob\", RestoreJobArgs.builder()\n .snapshotHash(ecsSnapshots.snapshots()[0].snapshotHash())\n .vaultId(default_.plans()[0].vaultId())\n .sourceType(\"ECS_FILE\")\n .restoreType(\"ECS_FILE\")\n .snapshotId(ecsSnapshots.snapshots()[0].snapshotId())\n .targetInstanceId(default_.plans()[0].instanceId())\n .targetPath(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nasJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${nasSnapshots.snapshots[0].snapshotHash}\n vaultId: ${defaultGetNasBackupPlans.plans[0].vaultId}\n sourceType: NAS\n restoreType: NAS\n snapshotId: ${nasSnapshots.snapshots[0].snapshotId}\n targetFileSystemId: ${defaultGetNasBackupPlans.plans[0].fileSystemId}\n targetCreateTime: ${defaultGetNasBackupPlans.plans[0].createTime}\n targetPath: /\n options: |2\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n ossJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${ossSnapshots.snapshots[0].snapshotHash}\n vaultId: ${defaultGetOssBackupPlans.plans[0].vaultId}\n sourceType: OSS\n restoreType: OSS\n snapshotId: ${ossSnapshots.snapshots[0].snapshotId}\n targetBucket: ${defaultGetOssBackupPlans.plans[0].bucket}\n targetPrefix: \"\"\n options: |2\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n ecsJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${ecsSnapshots.snapshots[0].snapshotHash}\n vaultId: ${default.plans[0].vaultId}\n sourceType: ECS_FILE\n restoreType: ECS_FILE\n snapshotId: ${ecsSnapshots.snapshots[0].snapshotId}\n targetInstanceId: ${default.plans[0].instanceId}\n targetPath: /\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbr:getEcsBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n defaultGetOssBackupPlans:\n fn::invoke:\n function: alicloud:hbr:getOssBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n defaultGetNasBackupPlans:\n fn::invoke:\n function: alicloud:hbr:getNasBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n ecsSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: ECS_FILE\n vaultId: ${default.plans[0].vaultId}\n instanceId: ${default.plans[0].instanceId}\n ossSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: OSS\n vaultId: ${defaultGetOssBackupPlans.plans[0].vaultId}\n bucket: ${defaultGetOssBackupPlans.plans[0].bucket}\n nasSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: NAS\n vaultId: ${defaultGetNasBackupPlans.plans[0].vaultId}\n fileSystemId: ${defaultGetNasBackupPlans.plans[0].fileSystemId}\n createTime: ${defaultGetNasBackupPlans.plans[0].createTime}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource.\n\n## Import\n\nHybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `\u003crestore_job_id\u003e:\u003crestore_type\u003e`, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/restoreJob:RestoreJob example your_restore_job_id:your_restore_type\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Restore Job resource.\n\nFor information about Hybrid Backup Recovery (HBR) Restore Job and how to use it, see [What is Restore Job](https://www.alibabacloud.com/help/doc-detail/186575.htm).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.hbr.getEcsBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst defaultGetOssBackupPlans = alicloud.hbr.getOssBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst defaultGetNasBackupPlans = alicloud.hbr.getNasBackupPlans({\n nameRegex: \"plan-tf-used-dont-delete\",\n});\nconst ecsSnapshots = Promise.all([_default, _default]).then(([_default, _default1]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"ECS_FILE\",\n vaultId: _default.plans?.[0]?.vaultId,\n instanceId: _default1.plans?.[0]?.instanceId,\n}));\nconst ossSnapshots = Promise.all([defaultGetOssBackupPlans, defaultGetOssBackupPlans]).then(([defaultGetOssBackupPlans, defaultGetOssBackupPlans1]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"OSS\",\n vaultId: defaultGetOssBackupPlans.plans?.[0]?.vaultId,\n bucket: defaultGetOssBackupPlans1.plans?.[0]?.bucket,\n}));\nconst nasSnapshots = Promise.all([defaultGetNasBackupPlans, defaultGetNasBackupPlans, defaultGetNasBackupPlans]).then(([defaultGetNasBackupPlans, defaultGetNasBackupPlans1, defaultGetNasBackupPlans2]) =\u003e alicloud.hbr.getSnapshots({\n sourceType: \"NAS\",\n vaultId: defaultGetNasBackupPlans.plans?.[0]?.vaultId,\n fileSystemId: defaultGetNasBackupPlans1.plans?.[0]?.fileSystemId,\n createTime: defaultGetNasBackupPlans2.plans?.[0]?.createTime,\n}));\nconst nasJob = new alicloud.hbr.RestoreJob(\"nasJob\", {\n snapshotHash: nasSnapshots.then(nasSnapshots =\u003e nasSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.vaultId),\n sourceType: \"NAS\",\n restoreType: \"NAS\",\n snapshotId: nasSnapshots.then(nasSnapshots =\u003e nasSnapshots.snapshots?.[0]?.snapshotId),\n targetFileSystemId: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.fileSystemId),\n targetCreateTime: defaultGetNasBackupPlans.then(defaultGetNasBackupPlans =\u003e defaultGetNasBackupPlans.plans?.[0]?.createTime),\n targetPath: \"/\",\n options: \" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\",\n});\nconst ossJob = new alicloud.hbr.RestoreJob(\"ossJob\", {\n snapshotHash: ossSnapshots.then(ossSnapshots =\u003e ossSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: defaultGetOssBackupPlans.then(defaultGetOssBackupPlans =\u003e defaultGetOssBackupPlans.plans?.[0]?.vaultId),\n sourceType: \"OSS\",\n restoreType: \"OSS\",\n snapshotId: ossSnapshots.then(ossSnapshots =\u003e ossSnapshots.snapshots?.[0]?.snapshotId),\n targetBucket: defaultGetOssBackupPlans.then(defaultGetOssBackupPlans =\u003e defaultGetOssBackupPlans.plans?.[0]?.bucket),\n targetPrefix: \"\",\n options: \" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\",\n});\nconst ecsJob = new alicloud.hbr.RestoreJob(\"ecsJob\", {\n snapshotHash: ecsSnapshots.then(ecsSnapshots =\u003e ecsSnapshots.snapshots?.[0]?.snapshotHash),\n vaultId: _default.then(_default =\u003e _default.plans?.[0]?.vaultId),\n sourceType: \"ECS_FILE\",\n restoreType: \"ECS_FILE\",\n snapshotId: ecsSnapshots.then(ecsSnapshots =\u003e ecsSnapshots.snapshots?.[0]?.snapshotId),\n targetInstanceId: _default.then(_default =\u003e _default.plans?.[0]?.instanceId),\n targetPath: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.hbr.get_ecs_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\ndefault_get_oss_backup_plans = alicloud.hbr.get_oss_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\ndefault_get_nas_backup_plans = alicloud.hbr.get_nas_backup_plans(name_regex=\"plan-tf-used-dont-delete\")\necs_snapshots = alicloud.hbr.get_snapshots(source_type=\"ECS_FILE\",\n vault_id=default.plans[0].vault_id,\n instance_id=default.plans[0].instance_id)\noss_snapshots = alicloud.hbr.get_snapshots(source_type=\"OSS\",\n vault_id=default_get_oss_backup_plans.plans[0].vault_id,\n bucket=default_get_oss_backup_plans.plans[0].bucket)\nnas_snapshots = alicloud.hbr.get_snapshots(source_type=\"NAS\",\n vault_id=default_get_nas_backup_plans.plans[0].vault_id,\n file_system_id=default_get_nas_backup_plans.plans[0].file_system_id,\n create_time=default_get_nas_backup_plans.plans[0].create_time)\nnas_job = alicloud.hbr.RestoreJob(\"nasJob\",\n snapshot_hash=nas_snapshots.snapshots[0].snapshot_hash,\n vault_id=default_get_nas_backup_plans.plans[0].vault_id,\n source_type=\"NAS\",\n restore_type=\"NAS\",\n snapshot_id=nas_snapshots.snapshots[0].snapshot_id,\n target_file_system_id=default_get_nas_backup_plans.plans[0].file_system_id,\n target_create_time=default_get_nas_backup_plans.plans[0].create_time,\n target_path=\"/\",\n options=\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\")\noss_job = alicloud.hbr.RestoreJob(\"ossJob\",\n snapshot_hash=oss_snapshots.snapshots[0].snapshot_hash,\n vault_id=default_get_oss_backup_plans.plans[0].vault_id,\n source_type=\"OSS\",\n restore_type=\"OSS\",\n snapshot_id=oss_snapshots.snapshots[0].snapshot_id,\n target_bucket=default_get_oss_backup_plans.plans[0].bucket,\n target_prefix=\"\",\n options=\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\")\necs_job = alicloud.hbr.RestoreJob(\"ecsJob\",\n snapshot_hash=ecs_snapshots.snapshots[0].snapshot_hash,\n vault_id=default.plans[0].vault_id,\n source_type=\"ECS_FILE\",\n restore_type=\"ECS_FILE\",\n snapshot_id=ecs_snapshots.snapshots[0].snapshot_id,\n target_instance_id=default.plans[0].instance_id,\n target_path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Hbr.GetEcsBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var defaultGetOssBackupPlans = AliCloud.Hbr.GetOssBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var defaultGetNasBackupPlans = AliCloud.Hbr.GetNasBackupPlans.Invoke(new()\n {\n NameRegex = \"plan-tf-used-dont-delete\",\n });\n\n var ecsSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"ECS_FILE\",\n VaultId = @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.VaultId),\n InstanceId = @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.InstanceId),\n });\n\n var ossSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"OSS\",\n VaultId = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.VaultId),\n Bucket = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.Bucket),\n });\n\n var nasSnapshots = AliCloud.Hbr.GetSnapshots.Invoke(new()\n {\n SourceType = \"NAS\",\n VaultId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.VaultId),\n FileSystemId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.FileSystemId),\n CreateTime = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.CreateTime),\n });\n\n var nasJob = new AliCloud.Hbr.RestoreJob(\"nasJob\", new()\n {\n SnapshotHash = nasSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.VaultId),\n SourceType = \"NAS\",\n RestoreType = \"NAS\",\n SnapshotId = nasSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetFileSystemId = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.FileSystemId),\n TargetCreateTime = defaultGetNasBackupPlans.Apply(getNasBackupPlansResult =\u003e getNasBackupPlansResult.Plans[0]?.CreateTime),\n TargetPath = \"/\",\n Options = @\" {\\\"\"includes\\\"\":[], \\\"\"excludes\\\"\":[]}\n\",\n });\n\n var ossJob = new AliCloud.Hbr.RestoreJob(\"ossJob\", new()\n {\n SnapshotHash = ossSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.VaultId),\n SourceType = \"OSS\",\n RestoreType = \"OSS\",\n SnapshotId = ossSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetBucket = defaultGetOssBackupPlans.Apply(getOssBackupPlansResult =\u003e getOssBackupPlansResult.Plans[0]?.Bucket),\n TargetPrefix = \"\",\n Options = @\" {\\\"\"includes\\\"\":[], \\\"\"excludes\\\"\":[]}\n\",\n });\n\n var ecsJob = new AliCloud.Hbr.RestoreJob(\"ecsJob\", new()\n {\n SnapshotHash = ecsSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotHash),\n VaultId = @default.Apply(@default =\u003e @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.VaultId)),\n SourceType = \"ECS_FILE\",\n RestoreType = \"ECS_FILE\",\n SnapshotId = ecsSnapshots.Apply(getSnapshotsResult =\u003e getSnapshotsResult.Snapshots[0]?.SnapshotId),\n TargetInstanceId = @default.Apply(@default =\u003e @default.Apply(getEcsBackupPlansResult =\u003e getEcsBackupPlansResult.Plans[0]?.InstanceId)),\n TargetPath = \"/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := hbr.GetEcsBackupPlans(ctx, \u0026hbr.GetEcsBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetOssBackupPlans, err := hbr.GetOssBackupPlans(ctx, \u0026hbr.GetOssBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNasBackupPlans, err := hbr.GetNasBackupPlans(ctx, \u0026hbr.GetNasBackupPlansArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"plan-tf-used-dont-delete\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tecsSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"ECS_FILE\",\n\t\t\tVaultId: _default.Plans[0].VaultId,\n\t\t\tInstanceId: pulumi.StringRef(_default.Plans[0].InstanceId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tossSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"OSS\",\n\t\t\tVaultId: defaultGetOssBackupPlans.Plans[0].VaultId,\n\t\t\tBucket: pulumi.StringRef(defaultGetOssBackupPlans.Plans[0].Bucket),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnasSnapshots, err := hbr.GetSnapshots(ctx, \u0026hbr.GetSnapshotsArgs{\n\t\t\tSourceType: \"NAS\",\n\t\t\tVaultId: defaultGetNasBackupPlans.Plans[0].VaultId,\n\t\t\tFileSystemId: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].FileSystemId),\n\t\t\tCreateTime: pulumi.StringRef(defaultGetNasBackupPlans.Plans[0].CreateTime),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"nasJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(nasSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(defaultGetNasBackupPlans.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"NAS\"),\n\t\t\tRestoreType: pulumi.String(\"NAS\"),\n\t\t\tSnapshotId: pulumi.String(nasSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetFileSystemId: pulumi.String(defaultGetNasBackupPlans.Plans[0].FileSystemId),\n\t\t\tTargetCreateTime: pulumi.String(defaultGetNasBackupPlans.Plans[0].CreateTime),\n\t\t\tTargetPath: pulumi.String(\"/\"),\n\t\t\tOptions: pulumi.String(\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"ossJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(ossSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(defaultGetOssBackupPlans.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"OSS\"),\n\t\t\tRestoreType: pulumi.String(\"OSS\"),\n\t\t\tSnapshotId: pulumi.String(ossSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetBucket: pulumi.String(defaultGetOssBackupPlans.Plans[0].Bucket),\n\t\t\tTargetPrefix: pulumi.String(\"\"),\n\t\t\tOptions: pulumi.String(\" {\\\\\\\"includes\\\\\\\":[], \\\\\\\"excludes\\\\\\\":[]}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewRestoreJob(ctx, \"ecsJob\", \u0026hbr.RestoreJobArgs{\n\t\t\tSnapshotHash: pulumi.String(ecsSnapshots.Snapshots[0].SnapshotHash),\n\t\t\tVaultId: pulumi.String(_default.Plans[0].VaultId),\n\t\t\tSourceType: pulumi.String(\"ECS_FILE\"),\n\t\t\tRestoreType: pulumi.String(\"ECS_FILE\"),\n\t\t\tSnapshotId: pulumi.String(ecsSnapshots.Snapshots[0].SnapshotId),\n\t\t\tTargetInstanceId: pulumi.String(_default.Plans[0].InstanceId),\n\t\t\tTargetPath: 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.alicloud.hbr.HbrFunctions;\nimport com.pulumi.alicloud.hbr.inputs.GetEcsBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetOssBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetNasBackupPlansArgs;\nimport com.pulumi.alicloud.hbr.inputs.GetSnapshotsArgs;\nimport com.pulumi.alicloud.hbr.RestoreJob;\nimport com.pulumi.alicloud.hbr.RestoreJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = HbrFunctions.getEcsBackupPlans(GetEcsBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var defaultGetOssBackupPlans = HbrFunctions.getOssBackupPlans(GetOssBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var defaultGetNasBackupPlans = HbrFunctions.getNasBackupPlans(GetNasBackupPlansArgs.builder()\n .nameRegex(\"plan-tf-used-dont-delete\")\n .build());\n\n final var ecsSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"ECS_FILE\")\n .vaultId(default_.plans()[0].vaultId())\n .instanceId(default_.plans()[0].instanceId())\n .build());\n\n final var ossSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"OSS\")\n .vaultId(defaultGetOssBackupPlans.plans()[0].vaultId())\n .bucket(defaultGetOssBackupPlans.plans()[0].bucket())\n .build());\n\n final var nasSnapshots = HbrFunctions.getSnapshots(GetSnapshotsArgs.builder()\n .sourceType(\"NAS\")\n .vaultId(defaultGetNasBackupPlans.plans()[0].vaultId())\n .fileSystemId(defaultGetNasBackupPlans.plans()[0].fileSystemId())\n .createTime(defaultGetNasBackupPlans.plans()[0].createTime())\n .build());\n\n var nasJob = new RestoreJob(\"nasJob\", RestoreJobArgs.builder()\n .snapshotHash(nasSnapshots.snapshots()[0].snapshotHash())\n .vaultId(defaultGetNasBackupPlans.plans()[0].vaultId())\n .sourceType(\"NAS\")\n .restoreType(\"NAS\")\n .snapshotId(nasSnapshots.snapshots()[0].snapshotId())\n .targetFileSystemId(defaultGetNasBackupPlans.plans()[0].fileSystemId())\n .targetCreateTime(defaultGetNasBackupPlans.plans()[0].createTime())\n .targetPath(\"/\")\n .options(\"\"\"\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n \"\"\")\n .build());\n\n var ossJob = new RestoreJob(\"ossJob\", RestoreJobArgs.builder()\n .snapshotHash(ossSnapshots.snapshots()[0].snapshotHash())\n .vaultId(defaultGetOssBackupPlans.plans()[0].vaultId())\n .sourceType(\"OSS\")\n .restoreType(\"OSS\")\n .snapshotId(ossSnapshots.snapshots()[0].snapshotId())\n .targetBucket(defaultGetOssBackupPlans.plans()[0].bucket())\n .targetPrefix(\"\")\n .options(\"\"\"\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n \"\"\")\n .build());\n\n var ecsJob = new RestoreJob(\"ecsJob\", RestoreJobArgs.builder()\n .snapshotHash(ecsSnapshots.snapshots()[0].snapshotHash())\n .vaultId(default_.plans()[0].vaultId())\n .sourceType(\"ECS_FILE\")\n .restoreType(\"ECS_FILE\")\n .snapshotId(ecsSnapshots.snapshots()[0].snapshotId())\n .targetInstanceId(default_.plans()[0].instanceId())\n .targetPath(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n nasJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${nasSnapshots.snapshots[0].snapshotHash}\n vaultId: ${defaultGetNasBackupPlans.plans[0].vaultId}\n sourceType: NAS\n restoreType: NAS\n snapshotId: ${nasSnapshots.snapshots[0].snapshotId}\n targetFileSystemId: ${defaultGetNasBackupPlans.plans[0].fileSystemId}\n targetCreateTime: ${defaultGetNasBackupPlans.plans[0].createTime}\n targetPath: /\n options: |2\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n ossJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${ossSnapshots.snapshots[0].snapshotHash}\n vaultId: ${defaultGetOssBackupPlans.plans[0].vaultId}\n sourceType: OSS\n restoreType: OSS\n snapshotId: ${ossSnapshots.snapshots[0].snapshotId}\n targetBucket: ${defaultGetOssBackupPlans.plans[0].bucket}\n targetPrefix: \"\"\n options: |2\n {\\\"includes\\\":[], \\\"excludes\\\":[]}\n ecsJob:\n type: alicloud:hbr:RestoreJob\n properties:\n snapshotHash: ${ecsSnapshots.snapshots[0].snapshotHash}\n vaultId: ${default.plans[0].vaultId}\n sourceType: ECS_FILE\n restoreType: ECS_FILE\n snapshotId: ${ecsSnapshots.snapshots[0].snapshotId}\n targetInstanceId: ${default.plans[0].instanceId}\n targetPath: /\nvariables:\n default:\n fn::invoke:\n function: alicloud:hbr:getEcsBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n defaultGetOssBackupPlans:\n fn::invoke:\n function: alicloud:hbr:getOssBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n defaultGetNasBackupPlans:\n fn::invoke:\n function: alicloud:hbr:getNasBackupPlans\n arguments:\n nameRegex: plan-tf-used-dont-delete\n ecsSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: ECS_FILE\n vaultId: ${default.plans[0].vaultId}\n instanceId: ${default.plans[0].instanceId}\n ossSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: OSS\n vaultId: ${defaultGetOssBackupPlans.plans[0].vaultId}\n bucket: ${defaultGetOssBackupPlans.plans[0].bucket}\n nasSnapshots:\n fn::invoke:\n function: alicloud:hbr:getSnapshots\n arguments:\n sourceType: NAS\n vaultId: ${defaultGetNasBackupPlans.plans[0].vaultId}\n fileSystemId: ${defaultGetNasBackupPlans.plans[0].fileSystemId}\n createTime: ${defaultGetNasBackupPlans.plans[0].createTime}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `\u003crestore_job_id\u003e:\u003crestore_type\u003e`, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/restoreJob:RestoreJob example your_restore_job_id:your_restore_type\n```\n\n", "properties": { "crossAccountRoleName": { "type": "string", @@ -199534,7 +203559,7 @@ } }, "alicloud:hbr/serverBackupPlan:ServerBackupPlan": { - "description": "Provides a Hybrid Backup Recovery (HBR) Server Backup Plan resource.\n\nFor information about Hybrid Backup Recovery (HBR) Server Backup Plan and how to use it, see [What is Server Backup Plan](https://www.alibabacloud.com/help/doc-detail/211140.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleServerBackupPlan = new alicloud.hbr.ServerBackupPlan(\"example\", {\n ecsServerBackupPlanName: \"terraform-example\",\n instanceId: exampleInstance.id,\n schedule: \"I|1602673264|PT2H\",\n retention: 1,\n details: [{\n appConsistent: true,\n snapshotGroup: true,\n }],\n disabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_server_backup_plan = alicloud.hbr.ServerBackupPlan(\"example\",\n ecs_server_backup_plan_name=\"terraform-example\",\n instance_id=example_instance.id,\n schedule=\"I|1602673264|PT2H\",\n retention=1,\n details=[{\n \"app_consistent\": True,\n \"snapshot_group\": True,\n }],\n disabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleServerBackupPlan = new AliCloud.Hbr.ServerBackupPlan(\"example\", new()\n {\n EcsServerBackupPlanName = \"terraform-example\",\n InstanceId = exampleInstance.Id,\n Schedule = \"I|1602673264|PT2H\",\n Retention = 1,\n Details = new[]\n {\n new AliCloud.Hbr.Inputs.ServerBackupPlanDetailArgs\n {\n AppConsistent = true,\n SnapshotGroup = true,\n },\n },\n Disabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewServerBackupPlan(ctx, \"example\", \u0026hbr.ServerBackupPlanArgs{\n\t\t\tEcsServerBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tDetails: hbr.ServerBackupPlanDetailArray{\n\t\t\t\t\u0026hbr.ServerBackupPlanDetailArgs{\n\t\t\t\t\tAppConsistent: pulumi.Bool(true),\n\t\t\t\t\tSnapshotGroup: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisabled: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.hbr.ServerBackupPlan;\nimport com.pulumi.alicloud.hbr.ServerBackupPlanArgs;\nimport com.pulumi.alicloud.hbr.inputs.ServerBackupPlanDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleServerBackupPlan = new ServerBackupPlan(\"exampleServerBackupPlan\", ServerBackupPlanArgs.builder()\n .ecsServerBackupPlanName(\"terraform-example\")\n .instanceId(exampleInstance.id())\n .schedule(\"I|1602673264|PT2H\")\n .retention(1)\n .details(ServerBackupPlanDetailArgs.builder()\n .appConsistent(true)\n .snapshotGroup(true)\n .build())\n .disabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleServerBackupPlan:\n type: alicloud:hbr:ServerBackupPlan\n name: example\n properties:\n ecsServerBackupPlanName: terraform-example\n instanceId: ${exampleInstance.id}\n schedule: I|1602673264|PT2H\n retention: 1\n details:\n - appConsistent: true\n snapshotGroup: true\n disabled: false\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/serverBackupPlan:ServerBackupPlan example \u003cid\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Server Backup Plan resource.\n\nFor information about Hybrid Backup Recovery (HBR) Server Backup Plan and how to use it, see [What is Server Backup Plan](https://www.alibabacloud.com/help/doc-detail/211140.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n\u003e **NOTE:** Deprecated since v1.249.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.249.0`. Please use new resource\u003cspan pulumi-lang-nodejs=\" alicloud.hbr.Policy \" pulumi-lang-dotnet=\" alicloud.hbr.Policy \" pulumi-lang-go=\" hbr.Policy \" pulumi-lang-python=\" hbr.Policy \" pulumi-lang-yaml=\" alicloud.hbr.Policy \" pulumi-lang-java=\" alicloud.hbr.Policy \"\u003e alicloud.hbr.Policy \u003c/span\u003eand alicloud_hbr_policy_binding.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"Instance\",\n});\nconst exampleGetInstanceTypes = example.then(example =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: example.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: \"terraform-example\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: exampleGetInstanceTypes.then(exampleGetInstanceTypes =\u003e exampleGetInstanceTypes.instanceTypes?.[0]?.id),\n availabilityZone: example.then(example =\u003e example.zones?.[0]?.id),\n securityGroups: [exampleSecurityGroup.id],\n instanceName: \"terraform-example\",\n internetChargeType: \"PayByBandwidth\",\n vswitchId: exampleSwitch.id,\n});\nconst exampleServerBackupPlan = new alicloud.hbr.ServerBackupPlan(\"example\", {\n ecsServerBackupPlanName: \"terraform-example\",\n instanceId: exampleInstance.id,\n schedule: \"I|1602673264|PT2H\",\n retention: 1,\n details: [{\n appConsistent: true,\n snapshotGroup: true,\n }],\n disabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"Instance\")\nexample_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=example.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=\"terraform-example\",\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n image_id=example_get_images.images[0].id,\n instance_type=example_get_instance_types.instance_types[0].id,\n availability_zone=example.zones[0].id,\n security_groups=[example_security_group.id],\n instance_name=\"terraform-example\",\n internet_charge_type=\"PayByBandwidth\",\n vswitch_id=example_switch.id)\nexample_server_backup_plan = alicloud.hbr.ServerBackupPlan(\"example\",\n ecs_server_backup_plan_name=\"terraform-example\",\n instance_id=example_instance.id,\n schedule=\"I|1602673264|PT2H\",\n retention=1,\n details=[{\n \"app_consistent\": True,\n \"snapshot_group\": True,\n }],\n disabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n });\n\n var exampleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = \"terraform-example\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = exampleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = \"terraform-example\",\n InternetChargeType = \"PayByBandwidth\",\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleServerBackupPlan = new AliCloud.Hbr.ServerBackupPlan(\"example\", new()\n {\n EcsServerBackupPlanName = \"terraform-example\",\n InstanceId = exampleInstance.Id,\n Schedule = \"I|1602673264|PT2H\",\n Retention = 1,\n Details = new[]\n {\n new AliCloud.Hbr.Inputs.ServerBackupPlanDetailArgs\n {\n AppConsistent = true,\n SnapshotGroup = true,\n },\n },\n Disabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tAvailabilityZone: pulumi.String(example.Zones[0].Id),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewServerBackupPlan(ctx, \"example\", \u0026hbr.ServerBackupPlanArgs{\n\t\t\tEcsServerBackupPlanName: pulumi.String(\"terraform-example\"),\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tSchedule: pulumi.String(\"I|1602673264|PT2H\"),\n\t\t\tRetention: pulumi.Int(1),\n\t\t\tDetails: hbr.ServerBackupPlanDetailArray{\n\t\t\t\t\u0026hbr.ServerBackupPlanDetailArgs{\n\t\t\t\t\tAppConsistent: pulumi.Bool(true),\n\t\t\t\t\tSnapshotGroup: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisabled: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.hbr.ServerBackupPlan;\nimport com.pulumi.alicloud.hbr.ServerBackupPlanArgs;\nimport com.pulumi.alicloud.hbr.inputs.ServerBackupPlanDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .build());\n\n final var exampleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(example.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(\"terraform-example\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(exampleGetInstanceTypes.instanceTypes()[0].id())\n .availabilityZone(example.zones()[0].id())\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(\"terraform-example\")\n .internetChargeType(\"PayByBandwidth\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleServerBackupPlan = new ServerBackupPlan(\"exampleServerBackupPlan\", ServerBackupPlanArgs.builder()\n .ecsServerBackupPlanName(\"terraform-example\")\n .instanceId(exampleInstance.id())\n .schedule(\"I|1602673264|PT2H\")\n .retention(1)\n .details(ServerBackupPlanDetailArgs.builder()\n .appConsistent(true)\n .snapshotGroup(true)\n .build())\n .disabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: terraform-example\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${exampleGetInstanceTypes.instanceTypes[0].id}\n availabilityZone: ${example.zones[0].id}\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: terraform-example\n internetChargeType: PayByBandwidth\n vswitchId: ${exampleSwitch.id}\n exampleServerBackupPlan:\n type: alicloud:hbr:ServerBackupPlan\n name: example\n properties:\n ecsServerBackupPlanName: terraform-example\n instanceId: ${exampleInstance.id}\n schedule: I|1602673264|PT2H\n retention: 1\n details:\n - appConsistent: true\n snapshotGroup: true\n disabled: false\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: Instance\n exampleGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${example.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/serverBackupPlan:ServerBackupPlan example \u003cid\u003e\n```\n\n", "properties": { "crossAccountRoleName": { "type": "string", @@ -199688,7 +203713,7 @@ } }, "alicloud:hbr/vault:Vault": { - "description": "Provides a Hybrid Backup Recovery (HBR) Vault resource.\n\nWhere backup or archived data is stored.\n\nFor information about Hybrid Backup Recovery (HBR) Vault and how to use it, see [What is Vault](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createvault).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.hbr.Vault(\"example\", {vaultName: `example_value_${_default.result}`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.hbr.Vault(\"example\", vault_name=f\"example_value_{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"example_value_{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"example_value_%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Vault(\"example\", VaultArgs.builder()\n .vaultName(String.format(\"example_value_%s\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:hbr:Vault\n properties:\n vaultName: example_value_${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHybrid Backup Recovery (HBR) Vault can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/vault:Vault example \u003cid\u003e\n```\n\n", + "description": "Provides a Hybrid Backup Recovery (HBR) Vault resource.\n\nWhere backup or archived data is stored.\n\nFor information about Hybrid Backup Recovery (HBR) Vault and how to use it, see [What is Vault](https://www.alibabacloud.com/help/en/hybrid-backup-recovery/latest/api-hbr-2017-09-08-createvault).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.hbr.Vault(\"example\", {vaultName: `example_value_${_default.result}`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.hbr.Vault(\"example\", vault_name=f\"example_value_{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Hbr.Vault(\"example\", new()\n {\n VaultName = $\"example_value_{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/hbr\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = hbr.NewVault(ctx, \"example\", \u0026hbr.VaultArgs{\n\t\t\tVaultName: pulumi.Sprintf(\"example_value_%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.hbr.Vault;\nimport com.pulumi.alicloud.hbr.VaultArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Vault(\"example\", VaultArgs.builder()\n .vaultName(String.format(\"example_value_%s\", default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:hbr:Vault\n properties:\n vaultName: example_value_${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nHybrid Backup Recovery (HBR) Vault can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:hbr/vault:Vault example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -199885,6 +203910,10 @@ "type": "integer", "description": "The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it.\n" }, + "enableSsl": { + "type": "boolean", + "description": "Specifies whether to enable SSL encryption. Default Value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" + }, "endpoints": { "type": "array", "items": { @@ -199981,6 +204010,10 @@ "type": "integer", "description": "The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it.\n" }, + "enableSsl": { + "type": "boolean", + "description": "Specifies whether to enable SSL encryption. Default Value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" + }, "endpoints": { "type": "array", "items": { @@ -200077,6 +204110,10 @@ "type": "integer", "description": "The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it.\n" }, + "enableSsl": { + "type": "boolean", + "description": "Specifies whether to enable SSL encryption. Default Value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" + }, "endpoints": { "type": "array", "items": { @@ -200152,7 +204189,7 @@ } }, "alicloud:imm/project:Project": { - "description": "Provides a Intelligent Media Management Project resource.\n\nFor information about Intelligent Media Management Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/network-intelligence-service/latest/user-overview).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst role = new alicloud.ram.Role(\"role\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"imm.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst example = new alicloud.imm.Project(\"example\", {\n project: name,\n serviceRole: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nrole = alicloud.ram.Role(\"role\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\nexample = alicloud.imm.Project(\"example\",\n project=name,\n service_role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"imm.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var example = new AliCloud.Imm.Project(\"example\", new()\n {\n ProjectName = name,\n ServiceRole = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/imm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = imm.NewProject(ctx, \"example\", \u0026imm.ProjectArgs{\n\t\t\tProject: pulumi.String(name),\n\t\t\tServiceRole: role.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.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.imm.Project;\nimport com.pulumi.alicloud.imm.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tfexample\");\n var role = new Role(\"role\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .project(name)\n .serviceRole(role.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n role:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n force: true\n example:\n type: alicloud:imm:Project\n properties:\n project: ${name}\n serviceRole: ${role.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIntelligent Media Management Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:imm/project:Project example \u003cproject\u003e\n```\n\n", + "description": "Provides a Intelligent Media Management Project resource.\n\nFor information about Intelligent Media Management Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/network-intelligence-service/latest/user-overview).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst role = new alicloud.ram.Role(\"role\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"imm.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst example = new alicloud.imm.Project(\"example\", {\n project: name,\n serviceRole: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nrole = alicloud.ram.Role(\"role\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\nexample = alicloud.imm.Project(\"example\",\n project=name,\n service_role=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"imm.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var example = new AliCloud.Imm.Project(\"example\", new()\n {\n ProjectName = name,\n ServiceRole = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/imm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = imm.NewProject(ctx, \"example\", \u0026imm.ProjectArgs{\n\t\t\tProject: pulumi.String(name),\n\t\t\tServiceRole: role.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.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.imm.Project;\nimport com.pulumi.alicloud.imm.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tfexample\");\n var role = new Role(\"role\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .project(name)\n .serviceRole(role.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n role:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"imm.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n force: true\n example:\n type: alicloud:imm:Project\n properties:\n project: ${name}\n serviceRole: ${role.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nIntelligent Media Management Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:imm/project:Project example \u003cproject\u003e\n```\n\n", "properties": { "project": { "type": "string", @@ -200213,7 +204250,7 @@ } }, "alicloud:imp/appTemplate:AppTemplate": { - "description": "Provides a Apsara Agile Live (IMP) App Template resource.\n\nFor information about Apsara Agile Live (IMP) App Template and how to use it, see [What is App Template](https://help.aliyun.com/document_detail/270121.html).\n\n\u003e **NOTE:** Available in v1.137.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.imp.AppTemplate(\"example\", {\n appTemplateName: \"example_value\",\n componentLists: [\n \"component.live\",\n \"component.liveRecord\",\n ],\n integrationMode: \"paasSDK\",\n scene: \"business\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.imp.AppTemplate(\"example\",\n app_template_name=\"example_value\",\n component_lists=[\n \"component.live\",\n \"component.liveRecord\",\n ],\n integration_mode=\"paasSDK\",\n scene=\"business\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Imp.AppTemplate(\"example\", new()\n {\n AppTemplateName = \"example_value\",\n ComponentLists = new[]\n {\n \"component.live\",\n \"component.liveRecord\",\n },\n IntegrationMode = \"paasSDK\",\n Scene = \"business\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/imp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imp.NewAppTemplate(ctx, \"example\", \u0026imp.AppTemplateArgs{\n\t\t\tAppTemplateName: pulumi.String(\"example_value\"),\n\t\t\tComponentLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"component.live\"),\n\t\t\t\tpulumi.String(\"component.liveRecord\"),\n\t\t\t},\n\t\t\tIntegrationMode: pulumi.String(\"paasSDK\"),\n\t\t\tScene: pulumi.String(\"business\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.imp.AppTemplate;\nimport com.pulumi.alicloud.imp.AppTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AppTemplate(\"example\", AppTemplateArgs.builder()\n .appTemplateName(\"example_value\")\n .componentLists( \n \"component.live\",\n \"component.liveRecord\")\n .integrationMode(\"paasSDK\")\n .scene(\"business\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:imp:AppTemplate\n properties:\n appTemplateName: example_value\n componentLists:\n - component.live\n - component.liveRecord\n integrationMode: paasSDK\n scene: business\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApsara Agile Live (IMP) App Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:imp/appTemplate:AppTemplate example \u003cid\u003e\n```\n\n", + "description": "Provides a Apsara Agile Live (IMP) App Template resource.\n\nFor information about Apsara Agile Live (IMP) App Template and how to use it, see [What is App Template](https://help.aliyun.com/document_detail/270121.html).\n\n\u003e **NOTE:** Available in v1.137.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.imp.AppTemplate(\"example\", {\n appTemplateName: \"example_value\",\n componentLists: [\n \"component.live\",\n \"component.liveRecord\",\n ],\n integrationMode: \"paasSDK\",\n scene: \"business\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.imp.AppTemplate(\"example\",\n app_template_name=\"example_value\",\n component_lists=[\n \"component.live\",\n \"component.liveRecord\",\n ],\n integration_mode=\"paasSDK\",\n scene=\"business\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Imp.AppTemplate(\"example\", new()\n {\n AppTemplateName = \"example_value\",\n ComponentLists = new[]\n {\n \"component.live\",\n \"component.liveRecord\",\n },\n IntegrationMode = \"paasSDK\",\n Scene = \"business\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/imp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := imp.NewAppTemplate(ctx, \"example\", \u0026imp.AppTemplateArgs{\n\t\t\tAppTemplateName: pulumi.String(\"example_value\"),\n\t\t\tComponentLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"component.live\"),\n\t\t\t\tpulumi.String(\"component.liveRecord\"),\n\t\t\t},\n\t\t\tIntegrationMode: pulumi.String(\"paasSDK\"),\n\t\t\tScene: pulumi.String(\"business\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.imp.AppTemplate;\nimport com.pulumi.alicloud.imp.AppTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 AppTemplate(\"example\", AppTemplateArgs.builder()\n .appTemplateName(\"example_value\")\n .componentLists( \n \"component.live\",\n \"component.liveRecord\")\n .integrationMode(\"paasSDK\")\n .scene(\"business\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:imp:AppTemplate\n properties:\n appTemplateName: example_value\n componentLists:\n - component.live\n - component.liveRecord\n integrationMode: paasSDK\n scene: business\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nApsara Agile Live (IMP) App Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:imp/appTemplate:AppTemplate example \u003cid\u003e\n```\n\n", "properties": { "appTemplateName": { "type": "string", @@ -200328,7 +204365,7 @@ } }, "alicloud:ims/oidcProvider:OidcProvider": { - "description": "Provides a IMS Oidc Provider resource.\n\nOpenID Connect Provider.\n\nFor information about IMS Oidc Provider and how to use it, see [What is Oidc Provider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createoidcprovider).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst oidcProviderName = config.get(\"oidcProviderName\") || \"amp-resource-example-oidc-provider\";\nconst _default = new alicloud.ims.OidcProvider(\"default\", {\n fingerprints: [\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"],\n issuanceLimitTime: 12,\n oidcProviderName: \"tfaccims89018\",\n clientIds: [\n \"123\",\n \"456\",\n ],\n description: oidcProviderName,\n issuerUrl: \"https://oauth.aliyun.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\noidc_provider_name = config.get(\"oidcProviderName\")\nif oidc_provider_name is None:\n oidc_provider_name = \"amp-resource-example-oidc-provider\"\ndefault = alicloud.ims.OidcProvider(\"default\",\n fingerprints=[\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"],\n issuance_limit_time=12,\n oidc_provider_name=\"tfaccims89018\",\n client_ids=[\n \"123\",\n \"456\",\n ],\n description=oidc_provider_name,\n issuer_url=\"https://oauth.aliyun.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var oidcProviderName = config.Get(\"oidcProviderName\") ?? \"amp-resource-example-oidc-provider\";\n var @default = new AliCloud.Ims.OidcProvider(\"default\", new()\n {\n Fingerprints = new[]\n {\n \"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\",\n },\n IssuanceLimitTime = 12,\n OidcProviderName = \"tfaccims89018\",\n ClientIds = new[]\n {\n \"123\",\n \"456\",\n },\n Description = oidcProviderName,\n IssuerUrl = \"https://oauth.aliyun.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ims\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\toidcProviderName := \"amp-resource-example-oidc-provider\"\n\t\tif param := cfg.Get(\"oidcProviderName\"); param != \"\" {\n\t\t\toidcProviderName = param\n\t\t}\n\t\t_, err := ims.NewOidcProvider(ctx, \"default\", \u0026ims.OidcProviderArgs{\n\t\t\tFingerprints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"),\n\t\t\t},\n\t\t\tIssuanceLimitTime: pulumi.Int(12),\n\t\t\tOidcProviderName: pulumi.String(\"tfaccims89018\"),\n\t\t\tClientIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123\"),\n\t\t\t\tpulumi.String(\"456\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(oidcProviderName),\n\t\t\tIssuerUrl: pulumi.String(\"https://oauth.aliyun.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.alicloud.ims.OidcProvider;\nimport com.pulumi.alicloud.ims.OidcProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var oidcProviderName = config.get(\"oidcProviderName\").orElse(\"amp-resource-example-oidc-provider\");\n var default_ = new OidcProvider(\"default\", OidcProviderArgs.builder()\n .fingerprints(\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\")\n .issuanceLimitTime(12)\n .oidcProviderName(\"tfaccims89018\")\n .clientIds( \n \"123\",\n \"456\")\n .description(oidcProviderName)\n .issuerUrl(\"https://oauth.aliyun.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n oidcProviderName:\n type: string\n default: amp-resource-example-oidc-provider\nresources:\n default:\n type: alicloud:ims:OidcProvider\n properties:\n fingerprints:\n - 0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\n issuanceLimitTime: '12'\n oidcProviderName: tfaccims89018\n clientIds:\n - '123'\n - '456'\n description: ${oidcProviderName}\n issuerUrl: https://oauth.aliyun.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIMS Oidc Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ims/oidcProvider:OidcProvider example \u003cid\u003e\n```\n\n", + "description": "Provides a IMS Oidc Provider resource.\n\nOpenID Connect Provider.\n\nFor information about IMS Oidc Provider and how to use it, see [What is Oidc Provider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createoidcprovider).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst oidcProviderName = config.get(\"oidcProviderName\") || \"amp-resource-example-oidc-provider\";\nconst _default = new alicloud.ims.OidcProvider(\"default\", {\n fingerprints: [\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"],\n issuanceLimitTime: 12,\n oidcProviderName: \"tfaccims89018\",\n clientIds: [\n \"123\",\n \"456\",\n ],\n description: oidcProviderName,\n issuerUrl: \"https://oauth.aliyun.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\noidc_provider_name = config.get(\"oidcProviderName\")\nif oidc_provider_name is None:\n oidc_provider_name = \"amp-resource-example-oidc-provider\"\ndefault = alicloud.ims.OidcProvider(\"default\",\n fingerprints=[\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"],\n issuance_limit_time=12,\n oidc_provider_name=\"tfaccims89018\",\n client_ids=[\n \"123\",\n \"456\",\n ],\n description=oidc_provider_name,\n issuer_url=\"https://oauth.aliyun.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var oidcProviderName = config.Get(\"oidcProviderName\") ?? \"amp-resource-example-oidc-provider\";\n var @default = new AliCloud.Ims.OidcProvider(\"default\", new()\n {\n Fingerprints = new[]\n {\n \"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\",\n },\n IssuanceLimitTime = 12,\n OidcProviderName = \"tfaccims89018\",\n ClientIds = new[]\n {\n \"123\",\n \"456\",\n },\n Description = oidcProviderName,\n IssuerUrl = \"https://oauth.aliyun.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ims\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\toidcProviderName := \"amp-resource-example-oidc-provider\"\n\t\tif param := cfg.Get(\"oidcProviderName\"); param != \"\" {\n\t\t\toidcProviderName = param\n\t\t}\n\t\t_, err := ims.NewOidcProvider(ctx, \"default\", \u0026ims.OidcProviderArgs{\n\t\t\tFingerprints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\"),\n\t\t\t},\n\t\t\tIssuanceLimitTime: pulumi.Int(12),\n\t\t\tOidcProviderName: pulumi.String(\"tfaccims89018\"),\n\t\t\tClientIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123\"),\n\t\t\t\tpulumi.String(\"456\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(oidcProviderName),\n\t\t\tIssuerUrl: pulumi.String(\"https://oauth.aliyun.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.alicloud.ims.OidcProvider;\nimport com.pulumi.alicloud.ims.OidcProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var oidcProviderName = config.get(\"oidcProviderName\").orElse(\"amp-resource-example-oidc-provider\");\n var default_ = new OidcProvider(\"default\", OidcProviderArgs.builder()\n .fingerprints(\"0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\")\n .issuanceLimitTime(12)\n .oidcProviderName(\"tfaccims89018\")\n .clientIds( \n \"123\",\n \"456\")\n .description(oidcProviderName)\n .issuerUrl(\"https://oauth.aliyun.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n oidcProviderName:\n type: string\n default: amp-resource-example-oidc-provider\nresources:\n default:\n type: alicloud:ims:OidcProvider\n properties:\n fingerprints:\n - 0BBFAB97059595E8D1EC48E89EB8657C0E5AAE71\n issuanceLimitTime: '12'\n oidcProviderName: tfaccims89018\n clientIds:\n - '123'\n - '456'\n description: ${oidcProviderName}\n issuerUrl: https://oauth.aliyun.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nIMS Oidc Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ims/oidcProvider:OidcProvider example \u003cid\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -200778,7 +204815,7 @@ } }, "alicloud:index/mscSubContract:MscSubContract": { - "description": "Provides a Msc Sub Contact resource.\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.MscSubContract(\"default\", {\n contactName: name,\n position: \"CEO\",\n email: \"123@163.com\",\n mobile: \"15388888888\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.MscSubContract(\"default\",\n contact_name=name,\n position=\"CEO\",\n email=\"123@163.com\",\n mobile=\"15388888888\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.MscSubContract(\"default\", new()\n {\n ContactName = name,\n Position = \"CEO\",\n Email = \"123@163.com\",\n Mobile = \"15388888888\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.NewMscSubContract(ctx, \"default\", \u0026alicloud.MscSubContractArgs{\n\t\t\tContactName: pulumi.String(name),\n\t\t\tPosition: pulumi.String(\"CEO\"),\n\t\t\tEmail: pulumi.String(\"123@163.com\"),\n\t\t\tMobile: pulumi.String(\"15388888888\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.MscSubContract;\nimport com.pulumi.alicloud.MscSubContractArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new MscSubContract(\"default\", MscSubContractArgs.builder()\n .contactName(name)\n .position(\"CEO\")\n .email(\"123@163.com\")\n .mobile(\"15388888888\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:MscSubContract\n properties:\n contactName: ${name}\n position: CEO\n email: 123@163.com\n mobile: '15388888888'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMsc Sub Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubContract:MscSubContract example \u003cid\u003e\n```\n\n", + "description": "Provides a Msc Sub Contact resource.\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = new alicloud.MscSubContract(\"default\", {\n contactName: name,\n position: \"CEO\",\n email: \"123@163.com\",\n mobile: \"15388888888\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.MscSubContract(\"default\",\n contact_name=name,\n position=\"CEO\",\n email=\"123@163.com\",\n mobile=\"15388888888\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = new AliCloud.MscSubContract(\"default\", new()\n {\n ContactName = name,\n Position = \"CEO\",\n Email = \"123@163.com\",\n Mobile = \"15388888888\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := alicloud.NewMscSubContract(ctx, \"default\", \u0026alicloud.MscSubContractArgs{\n\t\t\tContactName: pulumi.String(name),\n\t\t\tPosition: pulumi.String(\"CEO\"),\n\t\t\tEmail: pulumi.String(\"123@163.com\"),\n\t\t\tMobile: pulumi.String(\"15388888888\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.MscSubContract;\nimport com.pulumi.alicloud.MscSubContractArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var default_ = new MscSubContract(\"default\", MscSubContractArgs.builder()\n .contactName(name)\n .position(\"CEO\")\n .email(\"123@163.com\")\n .mobile(\"15388888888\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n default:\n type: alicloud:MscSubContract\n properties:\n contactName: ${name}\n position: CEO\n email: 123@163.com\n mobile: '15388888888'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMsc Sub Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubContract:MscSubContract example \u003cid\u003e\n```\n\n", "properties": { "contactName": { "type": "string", @@ -200853,7 +204890,7 @@ } }, "alicloud:index/mscSubSubscription:MscSubSubscription": { - "description": "Provides a Msc Sub Subscription resource.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.MscSubSubscription(\"example\", {\n itemName: \"Notifications of Product Expiration\",\n smsStatus: 1,\n emailStatus: 1,\n pmsgStatus: 1,\n ttsStatus: 1,\n webhookStatus: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.MscSubSubscription(\"example\",\n item_name=\"Notifications of Product Expiration\",\n sms_status=1,\n email_status=1,\n pmsg_status=1,\n tts_status=1,\n webhook_status=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.MscSubSubscription(\"example\", new()\n {\n ItemName = \"Notifications of Product Expiration\",\n SmsStatus = 1,\n EmailStatus = 1,\n PmsgStatus = 1,\n TtsStatus = 1,\n WebhookStatus = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.NewMscSubSubscription(ctx, \"example\", \u0026alicloud.MscSubSubscriptionArgs{\n\t\t\tItemName: pulumi.String(\"Notifications of Product Expiration\"),\n\t\t\tSmsStatus: pulumi.Int(1),\n\t\t\tEmailStatus: pulumi.Int(1),\n\t\t\tPmsgStatus: pulumi.Int(1),\n\t\t\tTtsStatus: pulumi.Int(1),\n\t\t\tWebhookStatus: 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.alicloud.MscSubSubscription;\nimport com.pulumi.alicloud.MscSubSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MscSubSubscription(\"example\", MscSubSubscriptionArgs.builder()\n .itemName(\"Notifications of Product Expiration\")\n .smsStatus(1)\n .emailStatus(1)\n .pmsgStatus(1)\n .ttsStatus(1)\n .webhookStatus(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:MscSubSubscription\n properties:\n itemName: Notifications of Product Expiration\n smsStatus: '1'\n emailStatus: '1'\n pmsgStatus: '1'\n ttsStatus: '1'\n webhookStatus: '0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMsc Sub Subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubSubscription:MscSubSubscription example \u003cid\u003e\n```\n\n", + "description": "Provides a Msc Sub Subscription resource.\n\n\u003e **NOTE:** Available since v1.135.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.MscSubSubscription(\"example\", {\n itemName: \"Notifications of Product Expiration\",\n smsStatus: 1,\n emailStatus: 1,\n pmsgStatus: 1,\n ttsStatus: 1,\n webhookStatus: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.MscSubSubscription(\"example\",\n item_name=\"Notifications of Product Expiration\",\n sms_status=1,\n email_status=1,\n pmsg_status=1,\n tts_status=1,\n webhook_status=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.MscSubSubscription(\"example\", new()\n {\n ItemName = \"Notifications of Product Expiration\",\n SmsStatus = 1,\n EmailStatus = 1,\n PmsgStatus = 1,\n TtsStatus = 1,\n WebhookStatus = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alicloud.NewMscSubSubscription(ctx, \"example\", \u0026alicloud.MscSubSubscriptionArgs{\n\t\t\tItemName: pulumi.String(\"Notifications of Product Expiration\"),\n\t\t\tSmsStatus: pulumi.Int(1),\n\t\t\tEmailStatus: pulumi.Int(1),\n\t\t\tPmsgStatus: pulumi.Int(1),\n\t\t\tTtsStatus: pulumi.Int(1),\n\t\t\tWebhookStatus: 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.alicloud.MscSubSubscription;\nimport com.pulumi.alicloud.MscSubSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MscSubSubscription(\"example\", MscSubSubscriptionArgs.builder()\n .itemName(\"Notifications of Product Expiration\")\n .smsStatus(1)\n .emailStatus(1)\n .pmsgStatus(1)\n .ttsStatus(1)\n .webhookStatus(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:MscSubSubscription\n properties:\n itemName: Notifications of Product Expiration\n smsStatus: '1'\n emailStatus: '1'\n pmsgStatus: '1'\n ttsStatus: '1'\n webhookStatus: '0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMsc Sub Subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubSubscription:MscSubSubscription example \u003cid\u003e\n```\n\n", "properties": { "channel": { "type": "string", @@ -201007,7 +205044,7 @@ } }, "alicloud:index/mscSubWebhook:MscSubWebhook": { - "description": "Provides a Msc Sub Webhook resource.\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst token = config.get(\"token\") || \"abcd****\";\nconst example = new alicloud.MscSubWebhook(\"example\", {\n serverUrl: std.format({\n input: \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n args: [token],\n }).then(invoke =\u003e invoke.result),\n webhookName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ntoken = config.get(\"token\")\nif token is None:\n token = \"abcd****\"\nexample = alicloud.MscSubWebhook(\"example\",\n server_url=std.format(input=\"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n args=[token]).result,\n webhook_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var token = config.Get(\"token\") ?? \"abcd****\";\n var example = new AliCloud.MscSubWebhook(\"example\", new()\n {\n ServerUrl = Std.Format.Invoke(new()\n {\n Input = \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n Args = new[]\n {\n token,\n },\n }).Apply(invoke =\u003e invoke.Result),\n WebhookName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttoken := \"abcd****\"\n\t\tif param := cfg.Get(\"token\"); param != \"\" {\n\t\t\ttoken = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n\t\t\tArgs: []string{\n\t\t\t\ttoken,\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 = alicloud.NewMscSubWebhook(ctx, \"example\", \u0026alicloud.MscSubWebhookArgs{\n\t\t\tServerUrl: pulumi.String(invokeFormat.Result),\n\t\t\tWebhookName: pulumi.String(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.alicloud.MscSubWebhook;\nimport com.pulumi.alicloud.MscSubWebhookArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var token = config.get(\"token\").orElse(\"abcd****\");\n var example = new MscSubWebhook(\"example\", MscSubWebhookArgs.builder()\n .serverUrl(StdFunctions.format(FormatArgs.builder()\n .input(\"https://oapi.dingtalk.com/robot/send?access_token=%s\")\n .args(token)\n .build()).result())\n .webhookName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\n token:\n type: string\n default: abcd****\nresources:\n example:\n type: alicloud:MscSubWebhook\n properties:\n serverUrl:\n fn::invoke:\n function: std:format\n arguments:\n input: https://oapi.dingtalk.com/robot/send?access_token=%s\n args:\n - ${token}\n return: result\n webhookName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMsc Sub Webhook can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubWebhook:MscSubWebhook example \u003cid\u003e\n```\n\n", + "description": "Provides a Msc Sub Webhook resource.\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst token = config.get(\"token\") || \"abcd****\";\nconst example = new alicloud.MscSubWebhook(\"example\", {\n serverUrl: std.format({\n input: \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n args: [token],\n }).then(invoke =\u003e invoke.result),\n webhookName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ntoken = config.get(\"token\")\nif token is None:\n token = \"abcd****\"\nexample = alicloud.MscSubWebhook(\"example\",\n server_url=std.format(input=\"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n args=[token]).result,\n webhook_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var token = config.Get(\"token\") ?? \"abcd****\";\n var example = new AliCloud.MscSubWebhook(\"example\", new()\n {\n ServerUrl = Std.Format.Invoke(new()\n {\n Input = \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n Args = new[]\n {\n token,\n },\n }).Apply(invoke =\u003e invoke.Result),\n WebhookName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttoken := \"abcd****\"\n\t\tif param := cfg.Get(\"token\"); param != \"\" {\n\t\t\ttoken = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"https://oapi.dingtalk.com/robot/send?access_token=%s\",\n\t\t\tArgs: []string{\n\t\t\t\ttoken,\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 = alicloud.NewMscSubWebhook(ctx, \"example\", \u0026alicloud.MscSubWebhookArgs{\n\t\t\tServerUrl: pulumi.String(invokeFormat.Result),\n\t\t\tWebhookName: pulumi.String(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.alicloud.MscSubWebhook;\nimport com.pulumi.alicloud.MscSubWebhookArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var token = config.get(\"token\").orElse(\"abcd****\");\n var example = new MscSubWebhook(\"example\", MscSubWebhookArgs.builder()\n .serverUrl(StdFunctions.format(FormatArgs.builder()\n .input(\"https://oapi.dingtalk.com/robot/send?access_token=%s\")\n .args(token)\n .build()).result())\n .webhookName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\n token:\n type: string\n default: abcd****\nresources:\n example:\n type: alicloud:MscSubWebhook\n properties:\n serverUrl:\n fn::invoke:\n function: std:format\n arguments:\n input: https://oapi.dingtalk.com/robot/send?access_token=%s\n args:\n - ${token}\n return: result\n webhookName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMsc Sub Webhook can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/mscSubWebhook:MscSubWebhook example \u003cid\u003e\n```\n\n", "properties": { "serverUrl": { "type": "string", @@ -201051,8 +205088,282 @@ "type": "object" } }, + "alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer": { + "description": "Provides a Open Api Explorer Api Mcp Server resource.\n\nAPI MCP Server.\n\nFor information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.OpenApiExplorerApiMcpServer(\"default\", {\n systemTools: [\"FetchRamActionDetails\"],\n description: \"Create\",\n prompts: [\n {\n description: \"Obtain user customization information description\",\n content: \"Prompt body,{{name}}\",\n arguments: [{\n description: \"Name information\",\n required: true,\n name: \"name\",\n }],\n name: \"Obtain user customization information\",\n },\n {\n description: \"Obtain user customization information description\",\n content: \"Prompt text, {{name }}, {{age }}, {{description}}\",\n arguments: [\n {\n description: \"Name information\",\n required: true,\n name: \"name\",\n },\n {\n description: \"Age information\",\n required: true,\n name: \"age\",\n },\n {\n description: \"Description Information\",\n required: true,\n name: \"description\",\n },\n ],\n name: \"Obtain user customization information 1\",\n },\n ],\n oauthClientId: \"123456\",\n apis: [\n {\n apiVersion: \"2014-05-26\",\n product: \"Ecs\",\n selectors: [\n \"DescribeAvailableResource\",\n \"DescribeRegions\",\n \"DescribeZones\",\n ],\n },\n {\n apiVersion: \"2017-03-21\",\n product: \"vod\",\n selectors: [\"CreateUploadVideo\"],\n },\n {\n apiVersion: \"2014-05-15\",\n product: \"Slb\",\n selectors: [\"DescribeAvailableResource\"],\n },\n ],\n instructions: \"Describes the role of the entire MCP Server\",\n additionalApiDescriptions: [\n {\n apiVersion: \"2014-05-26\",\n enableOutputSchema: true,\n apiName: \"DescribeAvailableResource\",\n constParameters: [\n {\n value: \"cn-hangzhou\",\n key: \"x_mcp_region_id\",\n },\n {\n value: \"B1\",\n key: \"a1\",\n },\n {\n value: \"b2\",\n key: \"a2\",\n },\n ],\n apiOverrideJson: JSON.stringify({\n summary: \"This operation supports querying the list of instances based on different request conditions and associating the query instance details. \",\n }),\n product: \"Ecs\",\n executeCliCommand: false,\n },\n {\n apiVersion: \"2014-05-26\",\n enableOutputSchema: true,\n apiName: \"DescribeRegions\",\n product: \"Ecs\",\n executeCliCommand: true,\n },\n {\n apiVersion: \"2014-05-26\",\n enableOutputSchema: true,\n apiName: \"DescribeZones\",\n product: \"Ecs\",\n executeCliCommand: true,\n },\n ],\n vpcWhitelists: [\n \"vpc-examplea\",\n \"vpc-exampleb\",\n \"vpc-examplec\",\n ],\n name: \"my-name\",\n language: \"ZH_CN\",\n enableAssumeRole: true,\n assumeRoleExtraPolicy: JSON.stringify({\n Version: \"1\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\n \"ecs:Describe*\",\n \"vpc:Describe*\",\n \"vpc:List*\",\n ],\n Resource: \"*\",\n }],\n }),\n terraformTools: [\n {\n description: \"Terraform as tool example\",\n async: true,\n destroyPolicy: \"NEVER\",\n code: `variable \\\\\"name\\\\\" {\n default = \\\\\"terraform-example\\\\\"\n}\n\nprovider \\\\\"alicloud\\\\\" {\n region = \\\\\"cn-beijing\\\\\"\n}\n\nresource \\\\\"alicloud_vpc\\\\\" \\\\\"default\\\\\" {\n ipv6_isp = \\\\\"BGP\\\\\"\n description = \\\\\"example\\\\\"\n cidr_block = \\\\\"10.0.0.0/8\\\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`,\n name: \"tfexample\",\n },\n {\n description: \"Terraform as tool example\",\n async: true,\n destroyPolicy: \"NEVER\",\n code: `variable \\\\\"name\\\\\" {\n default = \\\\\"terraform-example\\\\\"\n}\n\nprovider \\\\\"alicloud\\\\\" {\n region = \\\\\"cn-beijing\\\\\"\n}\n\nresource \\\\\"alicloud_vpc\\\\\" \\\\\"default\\\\\" {\n ipv6_isp = \\\\\"BGP\\\\\"\n description = \\\\\"example\\\\\"\n cidr_block = \\\\\"10.0.0.0/8\\\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`,\n name: \"tfexample2\",\n },\n {\n description: \"Terraform as tool example\",\n async: true,\n destroyPolicy: \"NEVER\",\n code: `variable \\\\\"name\\\\\" {\n default = \\\\\"terraform-example\\\\\"\n}\n\nprovider \\\\\"alicloud\\\\\" {\n region = \\\\\"cn-beijing\\\\\"\n}\n\nresource \\\\\"alicloud_vpc\\\\\" \\\\\"default\\\\\" {\n ipv6_isp = \\\\\"BGP\\\\\"\n description = \\\\\"example\\\\\"\n cidr_block = \\\\\"10.0.0.0/8\\\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`,\n name: \"tfexample3\",\n },\n ],\n assumeRoleName: \"default-role\",\n publicAccess: \"on\",\n enableCustomVpcWhitelist: true,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.OpenApiExplorerApiMcpServer(\"default\",\n system_tools=[\"FetchRamActionDetails\"],\n description=\"Create\",\n prompts=[\n {\n \"description\": \"Obtain user customization information description\",\n \"content\": \"Prompt body,{{name}}\",\n \"arguments\": [{\n \"description\": \"Name information\",\n \"required\": True,\n \"name\": \"name\",\n }],\n \"name\": \"Obtain user customization information\",\n },\n {\n \"description\": \"Obtain user customization information description\",\n \"content\": \"Prompt text, {{name }}, {{age }}, {{description}}\",\n \"arguments\": [\n {\n \"description\": \"Name information\",\n \"required\": True,\n \"name\": \"name\",\n },\n {\n \"description\": \"Age information\",\n \"required\": True,\n \"name\": \"age\",\n },\n {\n \"description\": \"Description Information\",\n \"required\": True,\n \"name\": \"description\",\n },\n ],\n \"name\": \"Obtain user customization information 1\",\n },\n ],\n oauth_client_id=\"123456\",\n apis=[\n {\n \"api_version\": \"2014-05-26\",\n \"product\": \"Ecs\",\n \"selectors\": [\n \"DescribeAvailableResource\",\n \"DescribeRegions\",\n \"DescribeZones\",\n ],\n },\n {\n \"api_version\": \"2017-03-21\",\n \"product\": \"vod\",\n \"selectors\": [\"CreateUploadVideo\"],\n },\n {\n \"api_version\": \"2014-05-15\",\n \"product\": \"Slb\",\n \"selectors\": [\"DescribeAvailableResource\"],\n },\n ],\n instructions=\"Describes the role of the entire MCP Server\",\n additional_api_descriptions=[\n {\n \"api_version\": \"2014-05-26\",\n \"enable_output_schema\": True,\n \"api_name\": \"DescribeAvailableResource\",\n \"const_parameters\": [\n {\n \"value\": \"cn-hangzhou\",\n \"key\": \"x_mcp_region_id\",\n },\n {\n \"value\": \"B1\",\n \"key\": \"a1\",\n },\n {\n \"value\": \"b2\",\n \"key\": \"a2\",\n },\n ],\n \"api_override_json\": json.dumps({\n \"summary\": \"This operation supports querying the list of instances based on different request conditions and associating the query instance details. \",\n }),\n \"product\": \"Ecs\",\n \"execute_cli_command\": False,\n },\n {\n \"api_version\": \"2014-05-26\",\n \"enable_output_schema\": True,\n \"api_name\": \"DescribeRegions\",\n \"product\": \"Ecs\",\n \"execute_cli_command\": True,\n },\n {\n \"api_version\": \"2014-05-26\",\n \"enable_output_schema\": True,\n \"api_name\": \"DescribeZones\",\n \"product\": \"Ecs\",\n \"execute_cli_command\": True,\n },\n ],\n vpc_whitelists=[\n \"vpc-examplea\",\n \"vpc-exampleb\",\n \"vpc-examplec\",\n ],\n name=\"my-name\",\n language=\"ZH_CN\",\n enable_assume_role=True,\n assume_role_extra_policy=json.dumps({\n \"Version\": \"1\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ecs:Describe*\",\n \"vpc:Describe*\",\n \"vpc:List*\",\n ],\n \"Resource\": \"*\",\n }],\n }),\n terraform_tools=[\n {\n \"description\": \"Terraform as tool example\",\n \"async_\": True,\n \"destroy_policy\": \"NEVER\",\n \"code\": \"\"\"variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\"\"\",\n \"name\": \"tfexample\",\n },\n {\n \"description\": \"Terraform as tool example\",\n \"async_\": True,\n \"destroy_policy\": \"NEVER\",\n \"code\": \"\"\"variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\"\"\",\n \"name\": \"tfexample2\",\n },\n {\n \"description\": \"Terraform as tool example\",\n \"async_\": True,\n \"destroy_policy\": \"NEVER\",\n \"code\": \"\"\"variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\"\"\",\n \"name\": \"tfexample3\",\n },\n ],\n assume_role_name=\"default-role\",\n public_access=\"on\",\n enable_custom_vpc_whitelist=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.OpenApiExplorerApiMcpServer(\"default\", new()\n {\n SystemTools = new[]\n {\n \"FetchRamActionDetails\",\n },\n Description = \"Create\",\n Prompts = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgs\n {\n Description = \"Obtain user customization information description\",\n Content = \"Prompt body,{{name}}\",\n Arguments = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs\n {\n Description = \"Name information\",\n Required = true,\n Name = \"name\",\n },\n },\n Name = \"Obtain user customization information\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgs\n {\n Description = \"Obtain user customization information description\",\n Content = \"Prompt text, {{name }}, {{age }}, {{description}}\",\n Arguments = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs\n {\n Description = \"Name information\",\n Required = true,\n Name = \"name\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs\n {\n Description = \"Age information\",\n Required = true,\n Name = \"age\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs\n {\n Description = \"Description Information\",\n Required = true,\n Name = \"description\",\n },\n },\n Name = \"Obtain user customization information 1\",\n },\n },\n OauthClientId = \"123456\",\n Apis = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs\n {\n ApiVersion = \"2014-05-26\",\n Product = \"Ecs\",\n Selectors = new[]\n {\n \"DescribeAvailableResource\",\n \"DescribeRegions\",\n \"DescribeZones\",\n },\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs\n {\n ApiVersion = \"2017-03-21\",\n Product = \"vod\",\n Selectors = new[]\n {\n \"CreateUploadVideo\",\n },\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs\n {\n ApiVersion = \"2014-05-15\",\n Product = \"Slb\",\n Selectors = new[]\n {\n \"DescribeAvailableResource\",\n },\n },\n },\n Instructions = \"Describes the role of the entire MCP Server\",\n AdditionalApiDescriptions = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs\n {\n ApiVersion = \"2014-05-26\",\n EnableOutputSchema = true,\n ApiName = \"DescribeAvailableResource\",\n ConstParameters = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs\n {\n Value = \"cn-hangzhou\",\n Key = \"x_mcp_region_id\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs\n {\n Value = \"B1\",\n Key = \"a1\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs\n {\n Value = \"b2\",\n Key = \"a2\",\n },\n },\n ApiOverrideJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"summary\"] = \"This operation supports querying the list of instances based on different request conditions and associating the query instance details. \",\n }),\n Product = \"Ecs\",\n ExecuteCliCommand = false,\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs\n {\n ApiVersion = \"2014-05-26\",\n EnableOutputSchema = true,\n ApiName = \"DescribeRegions\",\n Product = \"Ecs\",\n ExecuteCliCommand = true,\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs\n {\n ApiVersion = \"2014-05-26\",\n EnableOutputSchema = true,\n ApiName = \"DescribeZones\",\n Product = \"Ecs\",\n ExecuteCliCommand = true,\n },\n },\n VpcWhitelists = new[]\n {\n \"vpc-examplea\",\n \"vpc-exampleb\",\n \"vpc-examplec\",\n },\n Name = \"my-name\",\n Language = \"ZH_CN\",\n EnableAssumeRole = true,\n AssumeRoleExtraPolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"ecs:Describe*\",\n \"vpc:Describe*\",\n \"vpc:List*\",\n },\n [\"Resource\"] = \"*\",\n },\n },\n }),\n TerraformTools = new[]\n {\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs\n {\n Description = \"Terraform as tool example\",\n Async = true,\n DestroyPolicy = \"NEVER\",\n Code = @\"variable \\\"\"name\\\"\" {\n default = \\\"\"terraform-example\\\"\"\n}\n\nprovider \\\"\"alicloud\\\"\" {\n region = \\\"\"cn-beijing\\\"\"\n}\n\nresource \\\"\"alicloud_vpc\\\"\" \\\"\"default\\\"\" {\n ipv6_isp = \\\"\"BGP\\\"\"\n description = \\\"\"example\\\"\"\n cidr_block = \\\"\"10.0.0.0/8\\\"\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\",\n Name = \"tfexample\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs\n {\n Description = \"Terraform as tool example\",\n Async = true,\n DestroyPolicy = \"NEVER\",\n Code = @\"variable \\\"\"name\\\"\" {\n default = \\\"\"terraform-example\\\"\"\n}\n\nprovider \\\"\"alicloud\\\"\" {\n region = \\\"\"cn-beijing\\\"\"\n}\n\nresource \\\"\"alicloud_vpc\\\"\" \\\"\"default\\\"\" {\n ipv6_isp = \\\"\"BGP\\\"\"\n description = \\\"\"example\\\"\"\n cidr_block = \\\"\"10.0.0.0/8\\\"\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\",\n Name = \"tfexample2\",\n },\n new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs\n {\n Description = \"Terraform as tool example\",\n Async = true,\n DestroyPolicy = \"NEVER\",\n Code = @\"variable \\\"\"name\\\"\" {\n default = \\\"\"terraform-example\\\"\"\n}\n\nprovider \\\"\"alicloud\\\"\" {\n region = \\\"\"cn-beijing\\\"\"\n}\n\nresource \\\"\"alicloud_vpc\\\"\" \\\"\"default\\\"\" {\n ipv6_isp = \\\"\"BGP\\\"\"\n description = \\\"\"example\\\"\"\n cidr_block = \\\"\"10.0.0.0/8\\\"\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n\",\n Name = \"tfexample3\",\n },\n },\n AssumeRoleName = \"default-role\",\n PublicAccess = \"on\",\n EnableCustomVpcWhitelist = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"summary\": \"This operation supports querying the list of instances based on different request conditions and associating the query instance details. \",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ecs:Describe*\",\n\t\t\t\t\t\t\"vpc:Describe*\",\n\t\t\t\t\t\t\"vpc:List*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\t_, err = alicloud.NewOpenApiExplorerApiMcpServer(ctx, \"default\", \u0026alicloud.OpenApiExplorerApiMcpServerArgs{\n\t\t\tSystemTools: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"FetchRamActionDetails\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Create\"),\n\t\t\tPrompts: alicloud.OpenApiExplorerApiMcpServerPromptArray{\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Obtain user customization information description\"),\n\t\t\t\t\tContent: pulumi.String(\"Prompt body,{{name}}\"),\n\t\t\t\t\tArguments: alicloud.OpenApiExplorerApiMcpServerPromptArgumentArray{\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Name information\"),\n\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\tName: pulumi.String(\"name\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Obtain user customization information\"),\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Obtain user customization information description\"),\n\t\t\t\t\tContent: pulumi.String(\"Prompt text, {{name }}, {{age }}, {{description}}\"),\n\t\t\t\t\tArguments: alicloud.OpenApiExplorerApiMcpServerPromptArgumentArray{\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Name information\"),\n\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\tName: pulumi.String(\"name\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Age information\"),\n\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\tName: pulumi.String(\"age\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{\n\t\t\t\t\t\t\tDescription: pulumi.String(\"Description Information\"),\n\t\t\t\t\t\t\tRequired: pulumi.Bool(true),\n\t\t\t\t\t\t\tName: pulumi.String(\"description\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"Obtain user customization information 1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOauthClientId: pulumi.String(\"123456\"),\n\t\t\tApis: alicloud.OpenApiExplorerApiMcpServerApiArray{\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerApiArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2014-05-26\"),\n\t\t\t\t\tProduct: pulumi.String(\"Ecs\"),\n\t\t\t\t\tSelectors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DescribeAvailableResource\"),\n\t\t\t\t\t\tpulumi.String(\"DescribeRegions\"),\n\t\t\t\t\t\tpulumi.String(\"DescribeZones\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerApiArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2017-03-21\"),\n\t\t\t\t\tProduct: pulumi.String(\"vod\"),\n\t\t\t\t\tSelectors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"CreateUploadVideo\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerApiArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2014-05-15\"),\n\t\t\t\t\tProduct: pulumi.String(\"Slb\"),\n\t\t\t\t\tSelectors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"DescribeAvailableResource\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstructions: pulumi.String(\"Describes the role of the entire MCP Server\"),\n\t\t\tAdditionalApiDescriptions: alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray{\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2014-05-26\"),\n\t\t\t\t\tEnableOutputSchema: pulumi.Bool(true),\n\t\t\t\t\tApiName: pulumi.String(\"DescribeAvailableResource\"),\n\t\t\t\t\tConstParameters: alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray{\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"x_mcp_region_id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"B1\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"a1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(\"b2\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"a2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tApiOverrideJson: pulumi.String(json0),\n\t\t\t\t\tProduct: pulumi.String(\"Ecs\"),\n\t\t\t\t\tExecuteCliCommand: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2014-05-26\"),\n\t\t\t\t\tEnableOutputSchema: pulumi.Bool(true),\n\t\t\t\t\tApiName: pulumi.String(\"DescribeRegions\"),\n\t\t\t\t\tProduct: pulumi.String(\"Ecs\"),\n\t\t\t\t\tExecuteCliCommand: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{\n\t\t\t\t\tApiVersion: pulumi.String(\"2014-05-26\"),\n\t\t\t\t\tEnableOutputSchema: pulumi.Bool(true),\n\t\t\t\t\tApiName: pulumi.String(\"DescribeZones\"),\n\t\t\t\t\tProduct: pulumi.String(\"Ecs\"),\n\t\t\t\t\tExecuteCliCommand: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"vpc-examplea\"),\n\t\t\t\tpulumi.String(\"vpc-exampleb\"),\n\t\t\t\tpulumi.String(\"vpc-examplec\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"my-name\"),\n\t\t\tLanguage: pulumi.String(\"ZH_CN\"),\n\t\t\tEnableAssumeRole: pulumi.Bool(true),\n\t\t\tAssumeRoleExtraPolicy: pulumi.String(json1),\n\t\t\tTerraformTools: alicloud.OpenApiExplorerApiMcpServerTerraformToolArray{\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Terraform as tool example\"),\n\t\t\t\t\tAsync: pulumi.Bool(true),\n\t\t\t\t\tDestroyPolicy: pulumi.String(\"NEVER\"),\n\t\t\t\t\tCode: pulumi.String(`variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`),\n\t\t\t\t\tName: pulumi.String(\"tfexample\"),\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Terraform as tool example\"),\n\t\t\t\t\tAsync: pulumi.Bool(true),\n\t\t\t\t\tDestroyPolicy: pulumi.String(\"NEVER\"),\n\t\t\t\t\tCode: pulumi.String(`variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`),\n\t\t\t\t\tName: pulumi.String(\"tfexample2\"),\n\t\t\t\t},\n\t\t\t\t\u0026alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Terraform as tool example\"),\n\t\t\t\t\tAsync: pulumi.Bool(true),\n\t\t\t\t\tDestroyPolicy: pulumi.String(\"NEVER\"),\n\t\t\t\t\tCode: pulumi.String(`variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n`),\n\t\t\t\t\tName: pulumi.String(\"tfexample3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssumeRoleName: pulumi.String(\"default-role\"),\n\t\t\tPublicAccess: pulumi.String(\"on\"),\n\t\t\tEnableCustomVpcWhitelist: 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.alicloud.OpenApiExplorerApiMcpServer;\nimport com.pulumi.alicloud.OpenApiExplorerApiMcpServerArgs;\nimport com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerPromptArgs;\nimport com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerApiArgs;\nimport com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs;\nimport com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerTerraformToolArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new OpenApiExplorerApiMcpServer(\"default\", OpenApiExplorerApiMcpServerArgs.builder()\n .systemTools(\"FetchRamActionDetails\")\n .description(\"Create\")\n .prompts( \n OpenApiExplorerApiMcpServerPromptArgs.builder()\n .description(\"Obtain user customization information description\")\n .content(\"Prompt body,{{name}}\")\n .arguments(OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()\n .description(\"Name information\")\n .required(true)\n .name(\"name\")\n .build())\n .name(\"Obtain user customization information\")\n .build(),\n OpenApiExplorerApiMcpServerPromptArgs.builder()\n .description(\"Obtain user customization information description\")\n .content(\"Prompt text, {{name }}, {{age }}, {{description}}\")\n .arguments( \n OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()\n .description(\"Name information\")\n .required(true)\n .name(\"name\")\n .build(),\n OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()\n .description(\"Age information\")\n .required(true)\n .name(\"age\")\n .build(),\n OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()\n .description(\"Description Information\")\n .required(true)\n .name(\"description\")\n .build())\n .name(\"Obtain user customization information 1\")\n .build())\n .oauthClientId(\"123456\")\n .apis( \n OpenApiExplorerApiMcpServerApiArgs.builder()\n .apiVersion(\"2014-05-26\")\n .product(\"Ecs\")\n .selectors( \n \"DescribeAvailableResource\",\n \"DescribeRegions\",\n \"DescribeZones\")\n .build(),\n OpenApiExplorerApiMcpServerApiArgs.builder()\n .apiVersion(\"2017-03-21\")\n .product(\"vod\")\n .selectors(\"CreateUploadVideo\")\n .build(),\n OpenApiExplorerApiMcpServerApiArgs.builder()\n .apiVersion(\"2014-05-15\")\n .product(\"Slb\")\n .selectors(\"DescribeAvailableResource\")\n .build())\n .instructions(\"Describes the role of the entire MCP Server\")\n .additionalApiDescriptions( \n OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()\n .apiVersion(\"2014-05-26\")\n .enableOutputSchema(true)\n .apiName(\"DescribeAvailableResource\")\n .constParameters( \n OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()\n .value(\"cn-hangzhou\")\n .key(\"x_mcp_region_id\")\n .build(),\n OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()\n .value(\"B1\")\n .key(\"a1\")\n .build(),\n OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()\n .value(\"b2\")\n .key(\"a2\")\n .build())\n .apiOverrideJson(serializeJson(\n jsonObject(\n jsonProperty(\"summary\", \"This operation supports querying the list of instances based on different request conditions and associating the query instance details. \")\n )))\n .product(\"Ecs\")\n .executeCliCommand(false)\n .build(),\n OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()\n .apiVersion(\"2014-05-26\")\n .enableOutputSchema(true)\n .apiName(\"DescribeRegions\")\n .product(\"Ecs\")\n .executeCliCommand(true)\n .build(),\n OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()\n .apiVersion(\"2014-05-26\")\n .enableOutputSchema(true)\n .apiName(\"DescribeZones\")\n .product(\"Ecs\")\n .executeCliCommand(true)\n .build())\n .vpcWhitelists( \n \"vpc-examplea\",\n \"vpc-exampleb\",\n \"vpc-examplec\")\n .name(\"my-name\")\n .language(\"ZH_CN\")\n .enableAssumeRole(true)\n .assumeRoleExtraPolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\n \"ecs:Describe*\", \n \"vpc:Describe*\", \n \"vpc:List*\"\n )),\n jsonProperty(\"Resource\", \"*\")\n )))\n )))\n .terraformTools( \n OpenApiExplorerApiMcpServerTerraformToolArgs.builder()\n .description(\"Terraform as tool example\")\n .async(true)\n .destroyPolicy(\"NEVER\")\n .code(\"\"\"\nvariable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n \"\"\")\n .name(\"tfexample\")\n .build(),\n OpenApiExplorerApiMcpServerTerraformToolArgs.builder()\n .description(\"Terraform as tool example\")\n .async(true)\n .destroyPolicy(\"NEVER\")\n .code(\"\"\"\nvariable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n \"\"\")\n .name(\"tfexample2\")\n .build(),\n OpenApiExplorerApiMcpServerTerraformToolArgs.builder()\n .description(\"Terraform as tool example\")\n .async(true)\n .destroyPolicy(\"NEVER\")\n .code(\"\"\"\nvariable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n}\n\nprovider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n}\n\nresource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n}\n \"\"\")\n .name(\"tfexample3\")\n .build())\n .assumeRoleName(\"default-role\")\n .publicAccess(\"on\")\n .enableCustomVpcWhitelist(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:OpenApiExplorerApiMcpServer\n properties:\n systemTools:\n - FetchRamActionDetails\n description: Create\n prompts:\n - description: Obtain user customization information description\n content: Prompt body,{{name}}\n arguments:\n - description: Name information\n required: true\n name: name\n name: Obtain user customization information\n - description: Obtain user customization information description\n content: Prompt text, {{name }}, {{age }}, {{description}}\n arguments:\n - description: Name information\n required: true\n name: name\n - description: Age information\n required: true\n name: age\n - description: Description Information\n required: true\n name: description\n name: Obtain user customization information 1\n oauthClientId: '123456'\n apis:\n - apiVersion: 2014-05-26\n product: Ecs\n selectors:\n - DescribeAvailableResource\n - DescribeRegions\n - DescribeZones\n - apiVersion: 2017-03-21\n product: vod\n selectors:\n - CreateUploadVideo\n - apiVersion: 2014-05-15\n product: Slb\n selectors:\n - DescribeAvailableResource\n instructions: Describes the role of the entire MCP Server\n additionalApiDescriptions:\n - apiVersion: 2014-05-26\n enableOutputSchema: true\n apiName: DescribeAvailableResource\n constParameters:\n - value: cn-hangzhou\n key: x_mcp_region_id\n - value: B1\n key: a1\n - value: b2\n key: a2\n apiOverrideJson:\n fn::toJSON:\n summary: 'This operation supports querying the list of instances based on different request conditions and associating the query instance details. '\n product: Ecs\n executeCliCommand: false\n - apiVersion: 2014-05-26\n enableOutputSchema: true\n apiName: DescribeRegions\n product: Ecs\n executeCliCommand: true\n - apiVersion: 2014-05-26\n enableOutputSchema: true\n apiName: DescribeZones\n product: Ecs\n executeCliCommand: true\n vpcWhitelists:\n - vpc-examplea\n - vpc-exampleb\n - vpc-examplec\n name: my-name\n language: ZH_CN\n enableAssumeRole: true\n assumeRoleExtraPolicy:\n fn::toJSON:\n Version: '1'\n Statement:\n - Effect: Allow\n Action:\n - ecs:Describe*\n - vpc:Describe*\n - vpc:List*\n Resource: '*'\n terraformTools:\n - description: Terraform as tool example\n async: true\n destroyPolicy: NEVER\n code: |\n variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n }\n\n provider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n }\n\n resource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n }\n name: tfexample\n - description: Terraform as tool example\n async: true\n destroyPolicy: NEVER\n code: |\n variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n }\n\n provider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n }\n\n resource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n }\n name: tfexample2\n - description: Terraform as tool example\n async: true\n destroyPolicy: NEVER\n code: |\n variable \\\"name\\\" {\n default = \\\"terraform-example\\\"\n }\n\n provider \\\"alicloud\\\" {\n region = \\\"cn-beijing\\\"\n }\n\n resource \\\"alicloud_vpc\\\" \\\"default\\\" {\n ipv6_isp = \\\"BGP\\\"\n description = \\\"example\\\"\n cidr_block = \\\"10.0.0.0/8\\\"\n vpc_name = var.name\n enable_ipv6 = true\n }\n name: tfexample3\n assumeRoleName: default-role\n publicAccess: on\n enableCustomVpcWhitelist: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOpen Api Explorer Api Mcp Server can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example \u003cid\u003e\n```\n\n", + "properties": { + "additionalApiDescriptions": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescription:OpenApiExplorerApiMcpServerAdditionalApiDescription" + }, + "description": "Additional OpenAPI description information that can override the default behavior of APIs, including:\n- API name\n- Modification or removal of API parameter names\n- Whether to exclude the API from the output API response structure definition\n- Whether to return a CLI execution command instead of directly executing the API\n- Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See \u003cspan pulumi-lang-nodejs=\"`additionalApiDescriptions`\" pulumi-lang-dotnet=\"`AdditionalApiDescriptions`\" pulumi-lang-go=\"`additionalApiDescriptions`\" pulumi-lang-python=\"`additional_api_descriptions`\" pulumi-lang-yaml=\"`additionalApiDescriptions`\" pulumi-lang-java=\"`additionalApiDescriptions`\"\u003e`additional_api_descriptions`\u003c/span\u003e below.\n" + }, + "apis": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerApi:OpenApiExplorerApiMcpServerApi" + }, + "description": "The list of APIs to be included in the API MCP Server. See \u003cspan pulumi-lang-nodejs=\"`apis`\" pulumi-lang-dotnet=\"`Apis`\" pulumi-lang-go=\"`apis`\" pulumi-lang-python=\"`apis`\" pulumi-lang-yaml=\"`apis`\" pulumi-lang-java=\"`apis`\"\u003e`apis`\u003c/span\u003e below.\n" + }, + "assumeRoleExtraPolicy": { + "type": "string", + "description": "When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy.\n" + }, + "assumeRoleName": { + "type": "string", + "description": "The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations.\n" + }, + "createTime": { + "type": "string", + "description": "MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52.\n" + }, + "description": { + "type": "string", + "description": "Description of the API MCP service.\n" + }, + "enableAssumeRole": { + "type": "boolean", + "description": "Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the\u003cspan pulumi-lang-nodejs=\" xAssumeAccountId \" pulumi-lang-dotnet=\" XAssumeAccountId \" pulumi-lang-go=\" xAssumeAccountId \" pulumi-lang-python=\" x_assume_account_id \" pulumi-lang-yaml=\" xAssumeAccountId \" pulumi-lang-java=\" xAssumeAccountId \"\u003e x_assume_account_id \u003c/span\u003eparameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations.\n" + }, + "enableCustomVpcWhitelist": { + "type": "boolean", + "description": "Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting.\n" + }, + "instructions": { + "type": "string", + "description": "MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol.\n" + }, + "language": { + "type": "string", + "description": "Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN.\n" + }, + "name": { + "type": "string", + "description": "Name of the MCP Server. It can contain digits, English letters, and hyphens (-).\n" + }, + "oauthClientId": { + "type": "string", + "description": "The custom OAuth Client ID when selecting a custom OAuth configuration.\n`Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.`\n" + }, + "prompts": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerPrompt:OpenApiExplorerApiMcpServerPrompt" + }, + "description": "List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See \u003cspan pulumi-lang-nodejs=\"`prompts`\" pulumi-lang-dotnet=\"`Prompts`\" pulumi-lang-go=\"`prompts`\" pulumi-lang-python=\"`prompts`\" pulumi-lang-yaml=\"`prompts`\" pulumi-lang-java=\"`prompts`\"\u003e`prompts`\u003c/span\u003e below.\n" + }, + "publicAccess": { + "type": "string", + "description": "Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options:\n- on: enables public network access;\n- off: disables public network access;\n- follow: inherits the account-level configuration.\n" + }, + "systemTools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Enabled system services.\n" + }, + "terraformTools": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerTerraformTool:OpenApiExplorerApiMcpServerTerraformTool" + } + }, + "vpcWhitelists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source.\n" + } + }, + "required": [ + "apis", + "createTime", + "name" + ], + "inputProperties": { + "additionalApiDescriptions": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescription:OpenApiExplorerApiMcpServerAdditionalApiDescription" + }, + "description": "Additional OpenAPI description information that can override the default behavior of APIs, including:\n- API name\n- Modification or removal of API parameter names\n- Whether to exclude the API from the output API response structure definition\n- Whether to return a CLI execution command instead of directly executing the API\n- Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See \u003cspan pulumi-lang-nodejs=\"`additionalApiDescriptions`\" pulumi-lang-dotnet=\"`AdditionalApiDescriptions`\" pulumi-lang-go=\"`additionalApiDescriptions`\" pulumi-lang-python=\"`additional_api_descriptions`\" pulumi-lang-yaml=\"`additionalApiDescriptions`\" pulumi-lang-java=\"`additionalApiDescriptions`\"\u003e`additional_api_descriptions`\u003c/span\u003e below.\n" + }, + "apis": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerApi:OpenApiExplorerApiMcpServerApi" + }, + "description": "The list of APIs to be included in the API MCP Server. See \u003cspan pulumi-lang-nodejs=\"`apis`\" pulumi-lang-dotnet=\"`Apis`\" pulumi-lang-go=\"`apis`\" pulumi-lang-python=\"`apis`\" pulumi-lang-yaml=\"`apis`\" pulumi-lang-java=\"`apis`\"\u003e`apis`\u003c/span\u003e below.\n" + }, + "assumeRoleExtraPolicy": { + "type": "string", + "description": "When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy.\n" + }, + "assumeRoleName": { + "type": "string", + "description": "The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations.\n" + }, + "description": { + "type": "string", + "description": "Description of the API MCP service.\n" + }, + "enableAssumeRole": { + "type": "boolean", + "description": "Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the\u003cspan pulumi-lang-nodejs=\" xAssumeAccountId \" pulumi-lang-dotnet=\" XAssumeAccountId \" pulumi-lang-go=\" xAssumeAccountId \" pulumi-lang-python=\" x_assume_account_id \" pulumi-lang-yaml=\" xAssumeAccountId \" pulumi-lang-java=\" xAssumeAccountId \"\u003e x_assume_account_id \u003c/span\u003eparameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations.\n" + }, + "enableCustomVpcWhitelist": { + "type": "boolean", + "description": "Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting.\n" + }, + "instructions": { + "type": "string", + "description": "MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol.\n" + }, + "language": { + "type": "string", + "description": "Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN.\n" + }, + "name": { + "type": "string", + "description": "Name of the MCP Server. It can contain digits, English letters, and hyphens (-).\n", + "willReplaceOnChanges": true + }, + "oauthClientId": { + "type": "string", + "description": "The custom OAuth Client ID when selecting a custom OAuth configuration.\n`Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.`\n" + }, + "prompts": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerPrompt:OpenApiExplorerApiMcpServerPrompt" + }, + "description": "List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See \u003cspan pulumi-lang-nodejs=\"`prompts`\" pulumi-lang-dotnet=\"`Prompts`\" pulumi-lang-go=\"`prompts`\" pulumi-lang-python=\"`prompts`\" pulumi-lang-yaml=\"`prompts`\" pulumi-lang-java=\"`prompts`\"\u003e`prompts`\u003c/span\u003e below.\n" + }, + "publicAccess": { + "type": "string", + "description": "Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options:\n- on: enables public network access;\n- off: disables public network access;\n- follow: inherits the account-level configuration.\n" + }, + "systemTools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Enabled system services.\n" + }, + "terraformTools": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerTerraformTool:OpenApiExplorerApiMcpServerTerraformTool" + } + }, + "vpcWhitelists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source.\n" + } + }, + "requiredInputs": [ + "apis" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OpenApiExplorerApiMcpServer resources.\n", + "properties": { + "additionalApiDescriptions": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerAdditionalApiDescription:OpenApiExplorerApiMcpServerAdditionalApiDescription" + }, + "description": "Additional OpenAPI description information that can override the default behavior of APIs, including:\n- API name\n- Modification or removal of API parameter names\n- Whether to exclude the API from the output API response structure definition\n- Whether to return a CLI execution command instead of directly executing the API\n- Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See \u003cspan pulumi-lang-nodejs=\"`additionalApiDescriptions`\" pulumi-lang-dotnet=\"`AdditionalApiDescriptions`\" pulumi-lang-go=\"`additionalApiDescriptions`\" pulumi-lang-python=\"`additional_api_descriptions`\" pulumi-lang-yaml=\"`additionalApiDescriptions`\" pulumi-lang-java=\"`additionalApiDescriptions`\"\u003e`additional_api_descriptions`\u003c/span\u003e below.\n" + }, + "apis": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerApi:OpenApiExplorerApiMcpServerApi" + }, + "description": "The list of APIs to be included in the API MCP Server. See \u003cspan pulumi-lang-nodejs=\"`apis`\" pulumi-lang-dotnet=\"`Apis`\" pulumi-lang-go=\"`apis`\" pulumi-lang-python=\"`apis`\" pulumi-lang-yaml=\"`apis`\" pulumi-lang-java=\"`apis`\"\u003e`apis`\u003c/span\u003e below.\n" + }, + "assumeRoleExtraPolicy": { + "type": "string", + "description": "When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy.\n" + }, + "assumeRoleName": { + "type": "string", + "description": "The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations.\n" + }, + "createTime": { + "type": "string", + "description": "MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52.\n" + }, + "description": { + "type": "string", + "description": "Description of the API MCP service.\n" + }, + "enableAssumeRole": { + "type": "boolean", + "description": "Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the\u003cspan pulumi-lang-nodejs=\" xAssumeAccountId \" pulumi-lang-dotnet=\" XAssumeAccountId \" pulumi-lang-go=\" xAssumeAccountId \" pulumi-lang-python=\" x_assume_account_id \" pulumi-lang-yaml=\" xAssumeAccountId \" pulumi-lang-java=\" xAssumeAccountId \"\u003e x_assume_account_id \u003c/span\u003eparameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations.\n" + }, + "enableCustomVpcWhitelist": { + "type": "boolean", + "description": "Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting.\n" + }, + "instructions": { + "type": "string", + "description": "MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol.\n" + }, + "language": { + "type": "string", + "description": "Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN.\n" + }, + "name": { + "type": "string", + "description": "Name of the MCP Server. It can contain digits, English letters, and hyphens (-).\n", + "willReplaceOnChanges": true + }, + "oauthClientId": { + "type": "string", + "description": "The custom OAuth Client ID when selecting a custom OAuth configuration.\n`Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.`\n" + }, + "prompts": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerPrompt:OpenApiExplorerApiMcpServerPrompt" + }, + "description": "List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See \u003cspan pulumi-lang-nodejs=\"`prompts`\" pulumi-lang-dotnet=\"`Prompts`\" pulumi-lang-go=\"`prompts`\" pulumi-lang-python=\"`prompts`\" pulumi-lang-yaml=\"`prompts`\" pulumi-lang-java=\"`prompts`\"\u003e`prompts`\u003c/span\u003e below.\n" + }, + "publicAccess": { + "type": "string", + "description": "Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options:\n- on: enables public network access;\n- off: disables public network access;\n- follow: inherits the account-level configuration.\n" + }, + "systemTools": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Enabled system services.\n" + }, + "terraformTools": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:index/OpenApiExplorerApiMcpServerTerraformTool:OpenApiExplorerApiMcpServerTerraformTool" + } + }, + "vpcWhitelists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source.\n" + } + }, + "type": "object" + } + }, "alicloud:index/polarDbExtension:PolarDbExtension": { - "description": "Provides a Polar Db Extension resource.\n\n\n\nFor information about Polar Db Extension and how to use it, see [What is Extension](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateExtensions).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"PostgreSQL\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst dbcluster = new alicloud.polardb.Cluster(\"dbcluster\", {\n defaultTimeZone: \"SYSTEM\",\n creationCategory: \"Normal\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n creationOption: \"Normal\",\n dbVersion: \"14\",\n payType: \"PostPaid\",\n dbType: \"PostgreSQL\",\n dbNodeClass: \"polar.pg.x4.medium.c\",\n vswitchId: defaultSwitch.id,\n});\nconst account = new alicloud.polardb.Account(\"account\", {\n accountType: \"Normal\",\n accountName: \"nzh\",\n accountPassword: \"Ali123456\",\n dbClusterId: dbcluster.id,\n});\nconst database = new alicloud.polardb.Database(\"database\", {\n characterSetName: \"UTF8\",\n dbDescription: name,\n dbClusterId: dbcluster.id,\n dbName: \"nzh\",\n accountName: account.dbClusterId,\n});\nconst defaultPolarDbExtension = new alicloud.PolarDbExtension(\"default\", {\n extensionName: \"postgres_fdw\",\n dbClusterId: dbcluster.id,\n accountName: account.accountName,\n dbName: database.dbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.polardb.get_node_classes(db_type=\"PostgreSQL\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndbcluster = alicloud.polardb.Cluster(\"dbcluster\",\n default_time_zone=\"SYSTEM\",\n creation_category=\"Normal\",\n zone_id=default.classes[0].zone_id,\n creation_option=\"Normal\",\n db_version=\"14\",\n pay_type=\"PostPaid\",\n db_type=\"PostgreSQL\",\n db_node_class=\"polar.pg.x4.medium.c\",\n vswitch_id=default_switch.id)\naccount = alicloud.polardb.Account(\"account\",\n account_type=\"Normal\",\n account_name=\"nzh\",\n account_password=\"Ali123456\",\n db_cluster_id=dbcluster.id)\ndatabase = alicloud.polardb.Database(\"database\",\n character_set_name=\"UTF8\",\n db_description=name,\n db_cluster_id=dbcluster.id,\n db_name=\"nzh\",\n account_name=account.db_cluster_id)\ndefault_polar_db_extension = alicloud.PolarDbExtension(\"default\",\n extension_name=\"postgres_fdw\",\n db_cluster_id=dbcluster.id,\n account_name=account.account_name,\n db_name=database.db_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"PostgreSQL\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var dbcluster = new AliCloud.PolarDB.Cluster(\"dbcluster\", new()\n {\n DefaultTimeZone = \"SYSTEM\",\n CreationCategory = \"Normal\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n CreationOption = \"Normal\",\n DbVersion = \"14\",\n PayType = \"PostPaid\",\n DbType = \"PostgreSQL\",\n DbNodeClass = \"polar.pg.x4.medium.c\",\n VswitchId = defaultSwitch.Id,\n });\n\n var account = new AliCloud.PolarDB.Account(\"account\", new()\n {\n AccountType = \"Normal\",\n AccountName = \"nzh\",\n AccountPassword = \"Ali123456\",\n DbClusterId = dbcluster.Id,\n });\n\n var database = new AliCloud.PolarDB.Database(\"database\", new()\n {\n CharacterSetName = \"UTF8\",\n DbDescription = name,\n DbClusterId = dbcluster.Id,\n DbName = \"nzh\",\n AccountName = account.DbClusterId,\n });\n\n var defaultPolarDbExtension = new AliCloud.PolarDbExtension(\"default\", new()\n {\n ExtensionName = \"postgres_fdw\",\n DbClusterId = dbcluster.Id,\n AccountName = account.AccountName,\n DbName = database.DbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdbcluster, err := polardb.NewCluster(ctx, \"dbcluster\", \u0026polardb.ClusterArgs{\n\t\t\tDefaultTimeZone: pulumi.String(\"SYSTEM\"),\n\t\t\tCreationCategory: pulumi.String(\"Normal\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tCreationOption: pulumi.String(\"Normal\"),\n\t\t\tDbVersion: pulumi.String(\"14\"),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tDbType: pulumi.String(\"PostgreSQL\"),\n\t\t\tDbNodeClass: pulumi.String(\"polar.pg.x4.medium.c\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccount, err := polardb.NewAccount(ctx, \"account\", \u0026polardb.AccountArgs{\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t\tAccountName: pulumi.String(\"nzh\"),\n\t\t\tAccountPassword: pulumi.String(\"Ali123456\"),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabase, err := polardb.NewDatabase(ctx, \"database\", \u0026polardb.DatabaseArgs{\n\t\t\tCharacterSetName: pulumi.String(\"UTF8\"),\n\t\t\tDbDescription: pulumi.String(name),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t\tDbName: pulumi.String(\"nzh\"),\n\t\t\tAccountName: account.DbClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.NewPolarDbExtension(ctx, \"default\", \u0026alicloud.PolarDbExtensionArgs{\n\t\t\tExtensionName: pulumi.String(\"postgres_fdw\"),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t\tAccountName: account.AccountName,\n\t\t\tDbName: database.DbName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.AccountArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.DatabaseArgs;\nimport com.pulumi.alicloud.PolarDbExtension;\nimport com.pulumi.alicloud.PolarDbExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"PostgreSQL\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var dbcluster = new Cluster(\"dbcluster\", ClusterArgs.builder()\n .defaultTimeZone(\"SYSTEM\")\n .creationCategory(\"Normal\")\n .zoneId(default_.classes()[0].zoneId())\n .creationOption(\"Normal\")\n .dbVersion(\"14\")\n .payType(\"PostPaid\")\n .dbType(\"PostgreSQL\")\n .dbNodeClass(\"polar.pg.x4.medium.c\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var account = new Account(\"account\", AccountArgs.builder()\n .accountType(\"Normal\")\n .accountName(\"nzh\")\n .accountPassword(\"Ali123456\")\n .dbClusterId(dbcluster.id())\n .build());\n\n var database = new Database(\"database\", DatabaseArgs.builder()\n .characterSetName(\"UTF8\")\n .dbDescription(name)\n .dbClusterId(dbcluster.id())\n .dbName(\"nzh\")\n .accountName(account.dbClusterId())\n .build());\n\n var defaultPolarDbExtension = new PolarDbExtension(\"defaultPolarDbExtension\", PolarDbExtensionArgs.builder()\n .extensionName(\"postgres_fdw\")\n .dbClusterId(dbcluster.id())\n .accountName(account.accountName())\n .dbName(database.dbName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n dbcluster:\n type: alicloud:polardb:Cluster\n properties:\n defaultTimeZone: SYSTEM\n creationCategory: Normal\n zoneId: ${default.classes[0].zoneId}\n creationOption: Normal\n dbVersion: '14'\n payType: PostPaid\n dbType: PostgreSQL\n dbNodeClass: polar.pg.x4.medium.c\n vswitchId: ${defaultSwitch.id}\n account:\n type: alicloud:polardb:Account\n properties:\n accountType: Normal\n accountName: nzh\n accountPassword: Ali123456\n dbClusterId: ${dbcluster.id}\n database:\n type: alicloud:polardb:Database\n properties:\n characterSetName: UTF8\n dbDescription: ${name}\n dbClusterId: ${dbcluster.id}\n dbName: nzh\n accountName: ${account.dbClusterId}\n defaultPolarDbExtension:\n type: alicloud:PolarDbExtension\n name: default\n properties:\n extensionName: postgres_fdw\n dbClusterId: ${dbcluster.id}\n accountName: ${account.accountName}\n dbName: ${database.dbName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: PostgreSQL\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolar Db Extension can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/polarDbExtension:PolarDbExtension example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e:\u003cdb_name\u003e:\u003cextension_name\u003e\n```\n\n", + "description": "Provides a Polar Db Extension resource.\n\n\n\nFor information about Polar Db Extension and how to use it, see [What is Extension](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateExtensions).\n\n\u003e **NOTE:** Available since v1.264.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"PostgreSQL\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst dbcluster = new alicloud.polardb.Cluster(\"dbcluster\", {\n defaultTimeZone: \"SYSTEM\",\n creationCategory: \"Normal\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n creationOption: \"Normal\",\n dbVersion: \"14\",\n payType: \"PostPaid\",\n dbType: \"PostgreSQL\",\n dbNodeClass: \"polar.pg.x4.medium.c\",\n vswitchId: defaultSwitch.id,\n});\nconst account = new alicloud.polardb.Account(\"account\", {\n accountType: \"Normal\",\n accountName: \"nzh\",\n accountPassword: \"Ali123456\",\n dbClusterId: dbcluster.id,\n});\nconst database = new alicloud.polardb.Database(\"database\", {\n characterSetName: \"UTF8\",\n dbDescription: name,\n dbClusterId: dbcluster.id,\n dbName: \"nzh\",\n accountName: account.dbClusterId,\n});\nconst defaultPolarDbExtension = new alicloud.PolarDbExtension(\"default\", {\n extensionName: \"postgres_fdw\",\n dbClusterId: dbcluster.id,\n accountName: account.accountName,\n dbName: database.dbName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.polardb.get_node_classes(db_type=\"PostgreSQL\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndbcluster = alicloud.polardb.Cluster(\"dbcluster\",\n default_time_zone=\"SYSTEM\",\n creation_category=\"Normal\",\n zone_id=default.classes[0].zone_id,\n creation_option=\"Normal\",\n db_version=\"14\",\n pay_type=\"PostPaid\",\n db_type=\"PostgreSQL\",\n db_node_class=\"polar.pg.x4.medium.c\",\n vswitch_id=default_switch.id)\naccount = alicloud.polardb.Account(\"account\",\n account_type=\"Normal\",\n account_name=\"nzh\",\n account_password=\"Ali123456\",\n db_cluster_id=dbcluster.id)\ndatabase = alicloud.polardb.Database(\"database\",\n character_set_name=\"UTF8\",\n db_description=name,\n db_cluster_id=dbcluster.id,\n db_name=\"nzh\",\n account_name=account.db_cluster_id)\ndefault_polar_db_extension = alicloud.PolarDbExtension(\"default\",\n extension_name=\"postgres_fdw\",\n db_cluster_id=dbcluster.id,\n account_name=account.account_name,\n db_name=database.db_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"PostgreSQL\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var dbcluster = new AliCloud.PolarDB.Cluster(\"dbcluster\", new()\n {\n DefaultTimeZone = \"SYSTEM\",\n CreationCategory = \"Normal\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n CreationOption = \"Normal\",\n DbVersion = \"14\",\n PayType = \"PostPaid\",\n DbType = \"PostgreSQL\",\n DbNodeClass = \"polar.pg.x4.medium.c\",\n VswitchId = defaultSwitch.Id,\n });\n\n var account = new AliCloud.PolarDB.Account(\"account\", new()\n {\n AccountType = \"Normal\",\n AccountName = \"nzh\",\n AccountPassword = \"Ali123456\",\n DbClusterId = dbcluster.Id,\n });\n\n var database = new AliCloud.PolarDB.Database(\"database\", new()\n {\n CharacterSetName = \"UTF8\",\n DbDescription = name,\n DbClusterId = dbcluster.Id,\n DbName = \"nzh\",\n AccountName = account.DbClusterId,\n });\n\n var defaultPolarDbExtension = new AliCloud.PolarDbExtension(\"default\", new()\n {\n ExtensionName = \"postgres_fdw\",\n DbClusterId = dbcluster.Id,\n AccountName = account.AccountName,\n DbName = database.DbName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdbcluster, err := polardb.NewCluster(ctx, \"dbcluster\", \u0026polardb.ClusterArgs{\n\t\t\tDefaultTimeZone: pulumi.String(\"SYSTEM\"),\n\t\t\tCreationCategory: pulumi.String(\"Normal\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tCreationOption: pulumi.String(\"Normal\"),\n\t\t\tDbVersion: pulumi.String(\"14\"),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tDbType: pulumi.String(\"PostgreSQL\"),\n\t\t\tDbNodeClass: pulumi.String(\"polar.pg.x4.medium.c\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccount, err := polardb.NewAccount(ctx, \"account\", \u0026polardb.AccountArgs{\n\t\t\tAccountType: pulumi.String(\"Normal\"),\n\t\t\tAccountName: pulumi.String(\"nzh\"),\n\t\t\tAccountPassword: pulumi.String(\"Ali123456\"),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabase, err := polardb.NewDatabase(ctx, \"database\", \u0026polardb.DatabaseArgs{\n\t\t\tCharacterSetName: pulumi.String(\"UTF8\"),\n\t\t\tDbDescription: pulumi.String(name),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t\tDbName: pulumi.String(\"nzh\"),\n\t\t\tAccountName: account.DbClusterId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = alicloud.NewPolarDbExtension(ctx, \"default\", \u0026alicloud.PolarDbExtensionArgs{\n\t\t\tExtensionName: pulumi.String(\"postgres_fdw\"),\n\t\t\tDbClusterId: dbcluster.ID(),\n\t\t\tAccountName: account.AccountName,\n\t\t\tDbName: database.DbName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.AccountArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.DatabaseArgs;\nimport com.pulumi.alicloud.PolarDbExtension;\nimport com.pulumi.alicloud.PolarDbExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"PostgreSQL\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var dbcluster = new Cluster(\"dbcluster\", ClusterArgs.builder()\n .defaultTimeZone(\"SYSTEM\")\n .creationCategory(\"Normal\")\n .zoneId(default_.classes()[0].zoneId())\n .creationOption(\"Normal\")\n .dbVersion(\"14\")\n .payType(\"PostPaid\")\n .dbType(\"PostgreSQL\")\n .dbNodeClass(\"polar.pg.x4.medium.c\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var account = new Account(\"account\", AccountArgs.builder()\n .accountType(\"Normal\")\n .accountName(\"nzh\")\n .accountPassword(\"Ali123456\")\n .dbClusterId(dbcluster.id())\n .build());\n\n var database = new Database(\"database\", DatabaseArgs.builder()\n .characterSetName(\"UTF8\")\n .dbDescription(name)\n .dbClusterId(dbcluster.id())\n .dbName(\"nzh\")\n .accountName(account.dbClusterId())\n .build());\n\n var defaultPolarDbExtension = new PolarDbExtension(\"defaultPolarDbExtension\", PolarDbExtensionArgs.builder()\n .extensionName(\"postgres_fdw\")\n .dbClusterId(dbcluster.id())\n .accountName(account.accountName())\n .dbName(database.dbName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n dbcluster:\n type: alicloud:polardb:Cluster\n properties:\n defaultTimeZone: SYSTEM\n creationCategory: Normal\n zoneId: ${default.classes[0].zoneId}\n creationOption: Normal\n dbVersion: '14'\n payType: PostPaid\n dbType: PostgreSQL\n dbNodeClass: polar.pg.x4.medium.c\n vswitchId: ${defaultSwitch.id}\n account:\n type: alicloud:polardb:Account\n properties:\n accountType: Normal\n accountName: nzh\n accountPassword: Ali123456\n dbClusterId: ${dbcluster.id}\n database:\n type: alicloud:polardb:Database\n properties:\n characterSetName: UTF8\n dbDescription: ${name}\n dbClusterId: ${dbcluster.id}\n dbName: nzh\n accountName: ${account.dbClusterId}\n defaultPolarDbExtension:\n type: alicloud:PolarDbExtension\n name: default\n properties:\n extensionName: postgres_fdw\n dbClusterId: ${dbcluster.id}\n accountName: ${account.accountName}\n dbName: ${database.dbName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: PostgreSQL\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolar Db Extension can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/polarDbExtension:PolarDbExtension example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e:\u003cdb_name\u003e:\u003cextension_name\u003e\n```\n\n", "properties": { "accountName": { "type": "string", @@ -201155,7 +205466,7 @@ } }, "alicloud:index/starRocksInstance:StarRocksInstance": { - "description": "Provides a Star Rocks Instance resource.\n\nStarRocks resource instance.\n\nFor information about Star Rocks Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateInstanceV1).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultB21JUD = new alicloud.vpc.Network(\"defaultB21JUD\", {cidrBlock: \"172.16.0.0/12\"});\nconst default106DkE = new alicloud.vpc.Switch(\"default106DkE\", {\n vpcId: defaultB21JUD.id,\n cidrBlock: \"172.16.1.0/24\",\n vswitchName: \"sr-example\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultInstance = new alicloud.starrocks.Instance(\"default\", {\n instanceName: \"create-instance-1\",\n autoRenew: false,\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n vswitches: [{\n vswitchId: default106DkE.id,\n zoneId: \"cn-hangzhou-i\",\n }],\n backendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n clusterZoneId: \"cn-hangzhou-i\",\n duration: 1,\n payType: \"postPaid\",\n vpcId: defaultB21JUD.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n adminPassword: \"1qaz@QAZ\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRole\",\n pricingCycle: \"Month\",\n kmsKeyId: \"123\",\n promotionOptionNo: \"123\",\n encrypted: false,\n observerNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n residentNodeNumber: 1,\n specType: \"standard\",\n localStorageInstanceType: \"null\",\n zoneId: \"cn-hangzhou-h\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_b21_jud = alicloud.vpc.Network(\"defaultB21JUD\", cidr_block=\"172.16.0.0/12\")\ndefault106_dk_e = alicloud.vpc.Switch(\"default106DkE\",\n vpc_id=default_b21_jud.id,\n cidr_block=\"172.16.1.0/24\",\n vswitch_name=\"sr-example\",\n zone_id=\"cn-hangzhou-i\")\ndefault_instance = alicloud.starrocks.Instance(\"default\",\n instance_name=\"create-instance-1\",\n auto_renew=False,\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n vswitches=[{\n \"vswitch_id\": default106_dk_e.id,\n \"zone_id\": \"cn-hangzhou-i\",\n }],\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n cluster_zone_id=\"cn-hangzhou-i\",\n duration=1,\n pay_type=\"postPaid\",\n vpc_id=default_b21_jud.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n admin_password=\"1qaz@QAZ\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRole\",\n pricing_cycle=\"Month\",\n kms_key_id=\"123\",\n promotion_option_no=\"123\",\n encrypted=False,\n observer_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"resident_node_number\": 1,\n \"spec_type\": \"standard\",\n \"local_storage_instance_type\": \"null\",\n \"zone_id\": \"cn-hangzhou-h\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultB21JUD = new AliCloud.Vpc.Network(\"defaultB21JUD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default106DkE = new AliCloud.Vpc.Switch(\"default106DkE\", new()\n {\n VpcId = defaultB21JUD.Id,\n CidrBlock = \"172.16.1.0/24\",\n VswitchName = \"sr-example\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultInstance = new AliCloud.StarRocks.Instance(\"default\", new()\n {\n InstanceName = \"create-instance-1\",\n AutoRenew = false,\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n VswitchId = default106DkE.Id,\n ZoneId = \"cn-hangzhou-i\",\n },\n },\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n ClusterZoneId = \"cn-hangzhou-i\",\n Duration = 1,\n PayType = \"postPaid\",\n VpcId = defaultB21JUD.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n AdminPassword = \"1qaz@QAZ\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRole\",\n PricingCycle = \"Month\",\n KmsKeyId = \"123\",\n PromotionOptionNo = \"123\",\n Encrypted = false,\n ObserverNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceObserverNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n SpecType = \"standard\",\n LocalStorageInstanceType = \"null\",\n ZoneId = \"cn-hangzhou-h\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultB21JUD, err := vpc.NewNetwork(ctx, \"defaultB21JUD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault106DkE, err := vpc.NewSwitch(ctx, \"default106DkE\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = starrocks.NewInstance(ctx, \"default\", \u0026starrocks.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"create-instance-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tVswitchId: default106DkE.ID(),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRole\"),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tKmsKeyId: pulumi.String(\"123\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"123\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tObserverNodeGroups: starrocks.InstanceObserverNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceObserverNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceObserverNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultB21JUD = new Network(\"defaultB21JUD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default106DkE = new Switch(\"default106DkE\", SwitchArgs.builder()\n .vpcId(defaultB21JUD.id())\n .cidrBlock(\"172.16.1.0/24\")\n .vswitchName(\"sr-example\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(\"create-instance-1\")\n .autoRenew(false)\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .vswitches(InstanceVswitchArgs.builder()\n .vswitchId(default106DkE.id())\n .zoneId(\"cn-hangzhou-i\")\n .build())\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .clusterZoneId(\"cn-hangzhou-i\")\n .duration(1)\n .payType(\"postPaid\")\n .vpcId(defaultB21JUD.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .adminPassword(\"1qaz@QAZ\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRole\")\n .pricingCycle(\"Month\")\n .kmsKeyId(\"123\")\n .promotionOptionNo(\"123\")\n .encrypted(false)\n .observerNodeGroups(InstanceObserverNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .residentNodeNumber(1)\n .specType(\"standard\")\n .localStorageInstanceType(\"null\")\n .zoneId(\"cn-hangzhou-h\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultB21JUD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n default106DkE:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultB21JUD.id}\n cidrBlock: 172.16.1.0/24\n vswitchName: sr-example\n zoneId: cn-hangzhou-i\n defaultInstance:\n type: alicloud:starrocks:Instance\n name: default\n properties:\n instanceName: create-instance-1\n autoRenew: false\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n storagePerformanceLevel: pl1\n specType: standard\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n vswitches:\n - vswitchId: ${default106DkE.id}\n zoneId: cn-hangzhou-i\n backendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n specType: standard\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n clusterZoneId: cn-hangzhou-i\n duration: '1'\n payType: postPaid\n vpcId: ${defaultB21JUD.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n adminPassword: 1qaz@QAZ\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRole\n pricingCycle: Month\n kmsKeyId: '123'\n promotionOptionNo: '123'\n encrypted: false\n observerNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n residentNodeNumber: '1'\n specType: standard\n localStorageInstanceType: null\n zoneId: cn-hangzhou-h\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStar Rocks Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/starRocksInstance:StarRocksInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a Star Rocks Instance resource.\n\nStarRocks resource instance.\n\nFor information about Star Rocks Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateInstanceV1).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultB21JUD = new alicloud.vpc.Network(\"defaultB21JUD\", {cidrBlock: \"172.16.0.0/12\"});\nconst default106DkE = new alicloud.vpc.Switch(\"default106DkE\", {\n vpcId: defaultB21JUD.id,\n cidrBlock: \"172.16.1.0/24\",\n vswitchName: \"sr-example\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultInstance = new alicloud.starrocks.Instance(\"default\", {\n instanceName: \"create-instance-1\",\n autoRenew: false,\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n vswitches: [{\n vswitchId: default106DkE.id,\n zoneId: \"cn-hangzhou-i\",\n }],\n backendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n clusterZoneId: \"cn-hangzhou-i\",\n duration: 1,\n payType: \"postPaid\",\n vpcId: defaultB21JUD.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n adminPassword: \"1qaz@QAZ\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRole\",\n pricingCycle: \"Month\",\n kmsKeyId: \"123\",\n promotionOptionNo: \"123\",\n encrypted: false,\n observerNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n residentNodeNumber: 1,\n specType: \"standard\",\n localStorageInstanceType: \"null\",\n zoneId: \"cn-hangzhou-h\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_b21_jud = alicloud.vpc.Network(\"defaultB21JUD\", cidr_block=\"172.16.0.0/12\")\ndefault106_dk_e = alicloud.vpc.Switch(\"default106DkE\",\n vpc_id=default_b21_jud.id,\n cidr_block=\"172.16.1.0/24\",\n vswitch_name=\"sr-example\",\n zone_id=\"cn-hangzhou-i\")\ndefault_instance = alicloud.starrocks.Instance(\"default\",\n instance_name=\"create-instance-1\",\n auto_renew=False,\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n vswitches=[{\n \"vswitch_id\": default106_dk_e.id,\n \"zone_id\": \"cn-hangzhou-i\",\n }],\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n cluster_zone_id=\"cn-hangzhou-i\",\n duration=1,\n pay_type=\"postPaid\",\n vpc_id=default_b21_jud.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n admin_password=\"1qaz@QAZ\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRole\",\n pricing_cycle=\"Month\",\n kms_key_id=\"123\",\n promotion_option_no=\"123\",\n encrypted=False,\n observer_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"resident_node_number\": 1,\n \"spec_type\": \"standard\",\n \"local_storage_instance_type\": \"null\",\n \"zone_id\": \"cn-hangzhou-h\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultB21JUD = new AliCloud.Vpc.Network(\"defaultB21JUD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default106DkE = new AliCloud.Vpc.Switch(\"default106DkE\", new()\n {\n VpcId = defaultB21JUD.Id,\n CidrBlock = \"172.16.1.0/24\",\n VswitchName = \"sr-example\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultInstance = new AliCloud.StarRocks.Instance(\"default\", new()\n {\n InstanceName = \"create-instance-1\",\n AutoRenew = false,\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n VswitchId = default106DkE.Id,\n ZoneId = \"cn-hangzhou-i\",\n },\n },\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n ClusterZoneId = \"cn-hangzhou-i\",\n Duration = 1,\n PayType = \"postPaid\",\n VpcId = defaultB21JUD.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n AdminPassword = \"1qaz@QAZ\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRole\",\n PricingCycle = \"Month\",\n KmsKeyId = \"123\",\n PromotionOptionNo = \"123\",\n Encrypted = false,\n ObserverNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceObserverNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n SpecType = \"standard\",\n LocalStorageInstanceType = \"null\",\n ZoneId = \"cn-hangzhou-h\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultB21JUD, err := vpc.NewNetwork(ctx, \"defaultB21JUD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault106DkE, err := vpc.NewSwitch(ctx, \"default106DkE\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = starrocks.NewInstance(ctx, \"default\", \u0026starrocks.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"create-instance-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tVswitchId: default106DkE.ID(),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRole\"),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tKmsKeyId: pulumi.String(\"123\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"123\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tObserverNodeGroups: starrocks.InstanceObserverNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceObserverNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceObserverNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultB21JUD = new Network(\"defaultB21JUD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default106DkE = new Switch(\"default106DkE\", SwitchArgs.builder()\n .vpcId(defaultB21JUD.id())\n .cidrBlock(\"172.16.1.0/24\")\n .vswitchName(\"sr-example\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(\"create-instance-1\")\n .autoRenew(false)\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .vswitches(InstanceVswitchArgs.builder()\n .vswitchId(default106DkE.id())\n .zoneId(\"cn-hangzhou-i\")\n .build())\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .clusterZoneId(\"cn-hangzhou-i\")\n .duration(1)\n .payType(\"postPaid\")\n .vpcId(defaultB21JUD.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .adminPassword(\"1qaz@QAZ\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRole\")\n .pricingCycle(\"Month\")\n .kmsKeyId(\"123\")\n .promotionOptionNo(\"123\")\n .encrypted(false)\n .observerNodeGroups(InstanceObserverNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .residentNodeNumber(1)\n .specType(\"standard\")\n .localStorageInstanceType(\"null\")\n .zoneId(\"cn-hangzhou-h\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultB21JUD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n default106DkE:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultB21JUD.id}\n cidrBlock: 172.16.1.0/24\n vswitchName: sr-example\n zoneId: cn-hangzhou-i\n defaultInstance:\n type: alicloud:starrocks:Instance\n name: default\n properties:\n instanceName: create-instance-1\n autoRenew: false\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n storagePerformanceLevel: pl1\n specType: standard\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n vswitches:\n - vswitchId: ${default106DkE.id}\n zoneId: cn-hangzhou-i\n backendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n specType: standard\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n clusterZoneId: cn-hangzhou-i\n duration: '1'\n payType: postPaid\n vpcId: ${defaultB21JUD.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n adminPassword: 1qaz@QAZ\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRole\n pricingCycle: Month\n kmsKeyId: '123'\n promotionOptionNo: '123'\n encrypted: false\n observerNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n residentNodeNumber: '1'\n specType: standard\n localStorageInstanceType: null\n zoneId: cn-hangzhou-h\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nStar Rocks Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:index/starRocksInstance:StarRocksInstance example \u003cid\u003e\n```\n\n", "properties": { "adminPassword": { "type": "string", @@ -201536,7 +205847,7 @@ "deprecationMessage": "alicloud.index/starrocksinstance.StarRocksInstance has been deprecated in favor of alicloud.starrocks/instance.Instance" }, "alicloud:iot/deviceGroup:DeviceGroup": { - "description": "Provides a Iot Device Group resource.\n\nFor information about Iot Device Group and how to use it, see [What is Device Group](https://www.alibabacloud.com/help/product/30520.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.iot.DeviceGroup(\"example\", {groupName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.iot.DeviceGroup(\"example\", group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.Iot.DeviceGroup(\"example\", new()\n {\n GroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := iot.NewDeviceGroup(ctx, \"example\", \u0026iot.DeviceGroupArgs{\n\t\t\tGroupName: pulumi.String(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.alicloud.iot.DeviceGroup;\nimport com.pulumi.alicloud.iot.DeviceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new DeviceGroup(\"example\", DeviceGroupArgs.builder()\n .groupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:iot:DeviceGroup\n properties:\n groupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIot Device Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:iot/deviceGroup:DeviceGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Iot Device Group resource.\n\nFor information about Iot Device Group and how to use it, see [What is Device Group](https://www.alibabacloud.com/help/product/30520.htm).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.iot.DeviceGroup(\"example\", {groupName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.iot.DeviceGroup(\"example\", group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.Iot.DeviceGroup(\"example\", new()\n {\n GroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := iot.NewDeviceGroup(ctx, \"example\", \u0026iot.DeviceGroupArgs{\n\t\t\tGroupName: pulumi.String(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.alicloud.iot.DeviceGroup;\nimport com.pulumi.alicloud.iot.DeviceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new DeviceGroup(\"example\", DeviceGroupArgs.builder()\n .groupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:iot:DeviceGroup\n properties:\n groupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nIot Device Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:iot/deviceGroup:DeviceGroup example \u003cid\u003e\n```\n\n", "properties": { "groupDesc": { "type": "string", @@ -201607,7 +205918,7 @@ } }, "alicloud:kms/alias:Alias": { - "description": "Create an alias for the master key (CMK).\n\n\u003e **NOTE:** Available since v1.77.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.kms.Key(\"this\", {pendingWindowInDays: 7});\nconst thisAlias = new alicloud.kms.Alias(\"this\", {\n aliasName: \"alias/example_kms_alias\",\n keyId: _this.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.kms.Key(\"this\", pending_window_in_days=7)\nthis_alias = alicloud.kms.Alias(\"this\",\n alias_name=\"alias/example_kms_alias\",\n key_id=this.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Kms.Key(\"this\", new()\n {\n PendingWindowInDays = 7,\n });\n\n var thisAlias = new AliCloud.Kms.Alias(\"this\", new()\n {\n AliasName = \"alias/example_kms_alias\",\n KeyId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := kms.NewKey(ctx, \"this\", \u0026kms.KeyArgs{\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewAlias(ctx, \"this\", \u0026kms.AliasArgs{\n\t\t\tAliasName: pulumi.String(\"alias/example_kms_alias\"),\n\t\t\tKeyId: this.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.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.kms.Alias;\nimport com.pulumi.alicloud.kms.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Key(\"this\", KeyArgs.builder()\n .pendingWindowInDays(7)\n .build());\n\n var thisAlias = new Alias(\"thisAlias\", AliasArgs.builder()\n .aliasName(\"alias/example_kms_alias\")\n .keyId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:kms:Key\n properties:\n pendingWindowInDays: 7\n thisAlias:\n type: alicloud:kms:Alias\n name: this\n properties:\n aliasName: alias/example_kms_alias\n keyId: ${this.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/alias:Alias example alias/test_kms_alias\n```\n\n", + "description": "Create an alias for the master key (CMK).\n\n\u003e **NOTE:** Available since v1.77.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.kms.Key(\"this\", {pendingWindowInDays: 7});\nconst thisAlias = new alicloud.kms.Alias(\"this\", {\n aliasName: \"alias/example_kms_alias\",\n keyId: _this.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.kms.Key(\"this\", pending_window_in_days=7)\nthis_alias = alicloud.kms.Alias(\"this\",\n alias_name=\"alias/example_kms_alias\",\n key_id=this.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Kms.Key(\"this\", new()\n {\n PendingWindowInDays = 7,\n });\n\n var thisAlias = new AliCloud.Kms.Alias(\"this\", new()\n {\n AliasName = \"alias/example_kms_alias\",\n KeyId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := kms.NewKey(ctx, \"this\", \u0026kms.KeyArgs{\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewAlias(ctx, \"this\", \u0026kms.AliasArgs{\n\t\t\tAliasName: pulumi.String(\"alias/example_kms_alias\"),\n\t\t\tKeyId: this.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.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.kms.Alias;\nimport com.pulumi.alicloud.kms.AliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Key(\"this\", KeyArgs.builder()\n .pendingWindowInDays(7)\n .build());\n\n var thisAlias = new Alias(\"thisAlias\", AliasArgs.builder()\n .aliasName(\"alias/example_kms_alias\")\n .keyId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:kms:Key\n properties:\n pendingWindowInDays: 7\n thisAlias:\n type: alicloud:kms:Alias\n name: this\n properties:\n aliasName: alias/example_kms_alias\n keyId: ${this.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS alias can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/alias:Alias example alias/test_kms_alias\n```\n\n", "properties": { "aliasName": { "type": "string", @@ -201654,7 +205965,7 @@ } }, "alicloud:kms/applicationAccessPoint:ApplicationAccessPoint": { - "description": "Provides a KMS Application Access Point resource. An application access point (AAP) is used to implement fine-grained access control for Key Management Service (KMS) resources. An application can access a KMS instance only after an AAP is created for the application. .\n\nFor information about KMS Application Access Point and how to use it, see [What is Application Access Point](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createapplicationaccesspoint).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.ApplicationAccessPoint(\"default\", {\n description: \"example aap\",\n applicationAccessPointName: name,\n policies: [\n \"abc\",\n \"efg\",\n \"hfc\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.ApplicationAccessPoint(\"default\",\n description=\"example aap\",\n application_access_point_name=name,\n policies=[\n \"abc\",\n \"efg\",\n \"hfc\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.ApplicationAccessPoint(\"default\", new()\n {\n Description = \"example aap\",\n ApplicationAccessPointName = name,\n Policies = new[]\n {\n \"abc\",\n \"efg\",\n \"hfc\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewApplicationAccessPoint(ctx, \"default\", \u0026kms.ApplicationAccessPointArgs{\n\t\t\tDescription: pulumi.String(\"example aap\"),\n\t\t\tApplicationAccessPointName: pulumi.String(name),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abc\"),\n\t\t\t\tpulumi.String(\"efg\"),\n\t\t\t\tpulumi.String(\"hfc\"),\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.alicloud.kms.ApplicationAccessPoint;\nimport com.pulumi.alicloud.kms.ApplicationAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ApplicationAccessPoint(\"default\", ApplicationAccessPointArgs.builder()\n .description(\"example aap\")\n .applicationAccessPointName(name)\n .policies( \n \"abc\",\n \"efg\",\n \"hfc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:ApplicationAccessPoint\n properties:\n description: example aap\n applicationAccessPointName: ${name}\n policies:\n - abc\n - efg\n - hfc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Application Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/applicationAccessPoint:ApplicationAccessPoint example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Application Access Point resource. An application access point (AAP) is used to implement fine-grained access control for Key Management Service (KMS) resources. An application can access a KMS instance only after an AAP is created for the application. .\n\nFor information about KMS Application Access Point and how to use it, see [What is Application Access Point](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createapplicationaccesspoint).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.ApplicationAccessPoint(\"default\", {\n description: \"example aap\",\n applicationAccessPointName: name,\n policies: [\n \"abc\",\n \"efg\",\n \"hfc\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.ApplicationAccessPoint(\"default\",\n description=\"example aap\",\n application_access_point_name=name,\n policies=[\n \"abc\",\n \"efg\",\n \"hfc\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.ApplicationAccessPoint(\"default\", new()\n {\n Description = \"example aap\",\n ApplicationAccessPointName = name,\n Policies = new[]\n {\n \"abc\",\n \"efg\",\n \"hfc\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewApplicationAccessPoint(ctx, \"default\", \u0026kms.ApplicationAccessPointArgs{\n\t\t\tDescription: pulumi.String(\"example aap\"),\n\t\t\tApplicationAccessPointName: pulumi.String(name),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abc\"),\n\t\t\t\tpulumi.String(\"efg\"),\n\t\t\t\tpulumi.String(\"hfc\"),\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.alicloud.kms.ApplicationAccessPoint;\nimport com.pulumi.alicloud.kms.ApplicationAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ApplicationAccessPoint(\"default\", ApplicationAccessPointArgs.builder()\n .description(\"example aap\")\n .applicationAccessPointName(name)\n .policies( \n \"abc\",\n \"efg\",\n \"hfc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:ApplicationAccessPoint\n properties:\n description: example aap\n applicationAccessPointName: ${name}\n policies:\n - abc\n - efg\n - hfc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Application Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/applicationAccessPoint:ApplicationAccessPoint example \u003cid\u003e\n```\n\n", "properties": { "applicationAccessPointName": { "type": "string", @@ -201722,7 +206033,7 @@ } }, "alicloud:kms/ciphertext:Ciphertext": { - "description": "## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"example key\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\nconst encrypted = new alicloud.kms.Ciphertext(\"encrypted\", {\n keyId: key.id,\n plaintext: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nkey = alicloud.kms.Key(\"key\",\n description=\"example key\",\n status=\"Enabled\",\n pending_window_in_days=7)\nencrypted = alicloud.kms.Ciphertext(\"encrypted\",\n key_id=key.id,\n plaintext=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"example key\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n var encrypted = new AliCloud.Kms.Ciphertext(\"encrypted\", new()\n {\n KeyId = key.Id,\n Plaintext = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example key\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCiphertext(ctx, \"encrypted\", \u0026kms.CiphertextArgs{\n\t\t\tKeyId: key.ID(),\n\t\t\tPlaintext: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.kms.Ciphertext;\nimport com.pulumi.alicloud.kms.CiphertextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"example key\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n var encrypted = new Ciphertext(\"encrypted\", CiphertextArgs.builder()\n .keyId(key.id())\n .plaintext(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n key:\n type: alicloud:kms:Key\n properties:\n description: example key\n status: Enabled\n pendingWindowInDays: 7\n encrypted:\n type: alicloud:kms:Ciphertext\n properties:\n keyId: ${key.id}\n plaintext: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"example key\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\nconst encrypted = new alicloud.kms.Ciphertext(\"encrypted\", {\n keyId: key.id,\n plaintext: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nkey = alicloud.kms.Key(\"key\",\n description=\"example key\",\n status=\"Enabled\",\n pending_window_in_days=7)\nencrypted = alicloud.kms.Ciphertext(\"encrypted\",\n key_id=key.id,\n plaintext=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"example key\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n var encrypted = new AliCloud.Kms.Ciphertext(\"encrypted\", new()\n {\n KeyId = key.Id,\n Plaintext = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"example key\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewCiphertext(ctx, \"encrypted\", \u0026kms.CiphertextArgs{\n\t\t\tKeyId: key.ID(),\n\t\t\tPlaintext: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.kms.Ciphertext;\nimport com.pulumi.alicloud.kms.CiphertextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"example key\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n var encrypted = new Ciphertext(\"encrypted\", CiphertextArgs.builder()\n .keyId(key.id())\n .plaintext(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n key:\n type: alicloud:kms:Key\n properties:\n description: example key\n status: Enabled\n pendingWindowInDays: 7\n encrypted:\n type: alicloud:kms:Ciphertext\n properties:\n keyId: ${key.id}\n plaintext: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "ciphertextBlob": { "type": "string", @@ -201806,7 +206117,7 @@ } }, "alicloud:kms/clientKey:ClientKey": { - "description": "Provides a KMS Client Key resource. Client key (of Application Access Point).\n\nFor information about KMS Client Key and how to use it, see [What is Client Key](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createclientkey).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst AAP0 = new alicloud.kms.ApplicationAccessPoint(\"AAP0\", {\n policies: [\"aa\"],\n description: \"aa\",\n applicationAccessPointName: name,\n});\nconst _default = new alicloud.kms.ClientKey(\"default\", {\n aapName: AAP0.applicationAccessPointName,\n password: \"YouPassword123!\",\n notBefore: \"2023-09-01T14:11:22Z\",\n notAfter: \"2028-09-01T14:11:22Z\",\n privateKeyDataFile: \"./private_key_data_file.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\naap0 = alicloud.kms.ApplicationAccessPoint(\"AAP0\",\n policies=[\"aa\"],\n description=\"aa\",\n application_access_point_name=name)\ndefault = alicloud.kms.ClientKey(\"default\",\n aap_name=aap0.application_access_point_name,\n password=\"YouPassword123!\",\n not_before=\"2023-09-01T14:11:22Z\",\n not_after=\"2028-09-01T14:11:22Z\",\n private_key_data_file=\"./private_key_data_file.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var AAP0 = new AliCloud.Kms.ApplicationAccessPoint(\"AAP0\", new()\n {\n Policies = new[]\n {\n \"aa\",\n },\n Description = \"aa\",\n ApplicationAccessPointName = name,\n });\n\n var @default = new AliCloud.Kms.ClientKey(\"default\", new()\n {\n AapName = AAP0.ApplicationAccessPointName,\n Password = \"YouPassword123!\",\n NotBefore = \"2023-09-01T14:11:22Z\",\n NotAfter = \"2028-09-01T14:11:22Z\",\n PrivateKeyDataFile = \"./private_key_data_file.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tAAP0, err := kms.NewApplicationAccessPoint(ctx, \"AAP0\", \u0026kms.ApplicationAccessPointArgs{\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aa\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"aa\"),\n\t\t\tApplicationAccessPointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewClientKey(ctx, \"default\", \u0026kms.ClientKeyArgs{\n\t\t\tAapName: AAP0.ApplicationAccessPointName,\n\t\t\tPassword: pulumi.String(\"YouPassword123!\"),\n\t\t\tNotBefore: pulumi.String(\"2023-09-01T14:11:22Z\"),\n\t\t\tNotAfter: pulumi.String(\"2028-09-01T14:11:22Z\"),\n\t\t\tPrivateKeyDataFile: pulumi.String(\"./private_key_data_file.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.ApplicationAccessPoint;\nimport com.pulumi.alicloud.kms.ApplicationAccessPointArgs;\nimport com.pulumi.alicloud.kms.ClientKey;\nimport com.pulumi.alicloud.kms.ClientKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var aAP0 = new ApplicationAccessPoint(\"AAP0\", ApplicationAccessPointArgs.builder()\n .policies(\"aa\")\n .description(\"aa\")\n .applicationAccessPointName(name)\n .build());\n\n var default_ = new ClientKey(\"default\", ClientKeyArgs.builder()\n .aapName(AAP0.applicationAccessPointName())\n .password(\"YouPassword123!\")\n .notBefore(\"2023-09-01T14:11:22Z\")\n .notAfter(\"2028-09-01T14:11:22Z\")\n .privateKeyDataFile(\"./private_key_data_file.txt\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n AAP0:\n type: alicloud:kms:ApplicationAccessPoint\n properties:\n policies:\n - aa\n description: aa\n applicationAccessPointName: ${name}\n default:\n type: alicloud:kms:ClientKey\n properties:\n aapName: ${AAP0.applicationAccessPointName}\n password: YouPassword123!\n notBefore: 2023-09-01T14:11:22Z\n notAfter: 2028-09-01T14:11:22Z\n privateKeyDataFile: ./private_key_data_file.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Client Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/clientKey:ClientKey example \u003cid\u003e\n```\n\nResource attributes such as `password`, `private_key_data_file` are not available for imported resources as this information cannot be read from the KMS API.\n\n", + "description": "Provides a KMS Client Key resource. Client key (of Application Access Point).\n\nFor information about KMS Client Key and how to use it, see [What is Client Key](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createclientkey).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst AAP0 = new alicloud.kms.ApplicationAccessPoint(\"AAP0\", {\n policies: [\"aa\"],\n description: \"aa\",\n applicationAccessPointName: name,\n});\nconst _default = new alicloud.kms.ClientKey(\"default\", {\n aapName: AAP0.applicationAccessPointName,\n password: \"YouPassword123!\",\n notBefore: \"2023-09-01T14:11:22Z\",\n notAfter: \"2028-09-01T14:11:22Z\",\n privateKeyDataFile: \"./private_key_data_file.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\naap0 = alicloud.kms.ApplicationAccessPoint(\"AAP0\",\n policies=[\"aa\"],\n description=\"aa\",\n application_access_point_name=name)\ndefault = alicloud.kms.ClientKey(\"default\",\n aap_name=aap0.application_access_point_name,\n password=\"YouPassword123!\",\n not_before=\"2023-09-01T14:11:22Z\",\n not_after=\"2028-09-01T14:11:22Z\",\n private_key_data_file=\"./private_key_data_file.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var AAP0 = new AliCloud.Kms.ApplicationAccessPoint(\"AAP0\", new()\n {\n Policies = new[]\n {\n \"aa\",\n },\n Description = \"aa\",\n ApplicationAccessPointName = name,\n });\n\n var @default = new AliCloud.Kms.ClientKey(\"default\", new()\n {\n AapName = AAP0.ApplicationAccessPointName,\n Password = \"YouPassword123!\",\n NotBefore = \"2023-09-01T14:11:22Z\",\n NotAfter = \"2028-09-01T14:11:22Z\",\n PrivateKeyDataFile = \"./private_key_data_file.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tAAP0, err := kms.NewApplicationAccessPoint(ctx, \"AAP0\", \u0026kms.ApplicationAccessPointArgs{\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aa\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"aa\"),\n\t\t\tApplicationAccessPointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewClientKey(ctx, \"default\", \u0026kms.ClientKeyArgs{\n\t\t\tAapName: AAP0.ApplicationAccessPointName,\n\t\t\tPassword: pulumi.String(\"YouPassword123!\"),\n\t\t\tNotBefore: pulumi.String(\"2023-09-01T14:11:22Z\"),\n\t\t\tNotAfter: pulumi.String(\"2028-09-01T14:11:22Z\"),\n\t\t\tPrivateKeyDataFile: pulumi.String(\"./private_key_data_file.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.ApplicationAccessPoint;\nimport com.pulumi.alicloud.kms.ApplicationAccessPointArgs;\nimport com.pulumi.alicloud.kms.ClientKey;\nimport com.pulumi.alicloud.kms.ClientKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var aAP0 = new ApplicationAccessPoint(\"AAP0\", ApplicationAccessPointArgs.builder()\n .policies(\"aa\")\n .description(\"aa\")\n .applicationAccessPointName(name)\n .build());\n\n var default_ = new ClientKey(\"default\", ClientKeyArgs.builder()\n .aapName(AAP0.applicationAccessPointName())\n .password(\"YouPassword123!\")\n .notBefore(\"2023-09-01T14:11:22Z\")\n .notAfter(\"2028-09-01T14:11:22Z\")\n .privateKeyDataFile(\"./private_key_data_file.txt\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n AAP0:\n type: alicloud:kms:ApplicationAccessPoint\n properties:\n policies:\n - aa\n description: aa\n applicationAccessPointName: ${name}\n default:\n type: alicloud:kms:ClientKey\n properties:\n aapName: ${AAP0.applicationAccessPointName}\n password: YouPassword123!\n notBefore: 2023-09-01T14:11:22Z\n notAfter: 2028-09-01T14:11:22Z\n privateKeyDataFile: ./private_key_data_file.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Client Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/clientKey:ClientKey example \u003cid\u003e\n```\n\nResource attributes such as `password`, `private_key_data_file` are not available for imported resources as this information cannot be read from the KMS API.\n\n", "properties": { "aapName": { "type": "string", @@ -201909,7 +206220,7 @@ } }, "alicloud:kms/instance:Instance": { - "description": "Provides a KMS Instance resource.\n\nFor information about KMS Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/zh/key-management-service/latest/kms-instance-management).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nCreate a subscription kms instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst _default = new alicloud.kms.Instance(\"default\", {\n vpcNum: 7,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n renewStatus: \"ManualRenewal\",\n productVersion: \"3\",\n renewPeriod: 3,\n vpcId: vswitch.vpcId,\n zoneIds: [\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitchIds: [vswitch_j.id],\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: region,\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: region,\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: region,\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n log: \"0\",\n period: 1,\n logStorage: 0,\n paymentType: \"Subscription\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault = alicloud.kms.Instance(\"default\",\n vpc_num=7,\n key_num=1000,\n secret_num=0,\n spec=1000,\n renew_status=\"ManualRenewal\",\n product_version=\"3\",\n renew_period=3,\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitch_ids=[vswitch_j.id],\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ],\n log=\"0\",\n period=1,\n log_storage=0,\n payment_type=\"Subscription\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var @default = new AliCloud.Kms.Instance(\"default\", new()\n {\n VpcNum = 7,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n RenewStatus = \"ManualRenewal\",\n ProductVersion = \"3\",\n RenewPeriod = 3,\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n },\n VswitchIds = new[]\n {\n vswitch_j.Id,\n },\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = region,\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = region,\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = region,\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n Log = \"0\",\n Period = 1,\n LogStorage = 0,\n PaymentType = \"Subscription\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch_j, err := vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: shareVPC.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s5\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s7\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC3.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tVpcNum: pulumi.Int(7),\n\t\t\tKeyNum: pulumi.Int(1000),\n\t\t\tSecretNum: pulumi.Int(0),\n\t\t\tSpec: pulumi.Int(1000),\n\t\t\tRenewStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tRenewPeriod: pulumi.Int(3),\n\t\t\tVpcId: vswitch.VpcId,\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou-k\"),\n\t\t\t\tpulumi.String(\"cn-hangzhou-j\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tvswitch_j.ID(),\n\t\t\t},\n\t\t\tBindVpcs: kms.InstanceBindVpcArray{\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: shareVswitch.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: shareVswitch.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vswitch2.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vswitch2.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vsw3.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vsw3.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLog: pulumi.String(\"0\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tLogStorage: pulumi.Int(0),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .vpcNum(7)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .renewStatus(\"ManualRenewal\")\n .productVersion(\"3\")\n .renewPeriod(3)\n .vpcId(vswitch.vpcId())\n .zoneIds( \n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\")\n .vswitchIds(vswitch_j.id())\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(region)\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(region)\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(region)\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .log(\"0\")\n .period(1)\n .logStorage(0)\n .paymentType(\"Subscription\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n default:\n type: alicloud:kms:Instance\n properties:\n vpcNum: '7'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n renewStatus: ManualRenewal\n productVersion: '3'\n renewPeriod: '3'\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - cn-hangzhou-k\n - cn-hangzhou-j\n vswitchIds:\n - ${[\"vswitch-j\"].id}\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: ${region}\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\n log: '0'\n period: '1'\n logStorage: '0'\n paymentType: Subscription\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nCreate a pay-as-you-go kms instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst _default = new alicloud.kms.Instance(\"default\", {\n paymentType: \"PayAsYouGo\",\n productVersion: \"3\",\n vpcId: vswitch.vpcId,\n zoneIds: [\n vswitch.zoneId,\n vswitch_j.zoneId,\n ],\n vswitchIds: [vswitch.id],\n forceDeleteWithoutBackup: \"true\",\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: region,\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: region,\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: region,\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault = alicloud.kms.Instance(\"default\",\n payment_type=\"PayAsYouGo\",\n product_version=\"3\",\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n vswitch.zone_id,\n vswitch_j.zone_id,\n ],\n vswitch_ids=[vswitch.id],\n force_delete_without_backup=\"true\",\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var @default = new AliCloud.Kms.Instance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n ProductVersion = \"3\",\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n vswitch.ZoneId,\n vswitch_j.ZoneId,\n },\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n ForceDeleteWithoutBackup = \"true\",\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = region,\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = region,\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = region,\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch_j, err := vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: shareVPC.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s5\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s7\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC3.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tVpcId: vswitch.VpcId,\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tvswitch.ZoneId,\n\t\t\t\tvswitch_j.ZoneId,\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tvswitch.ID(),\n\t\t\t},\n\t\t\tForceDeleteWithoutBackup: pulumi.String(\"true\"),\n\t\t\tBindVpcs: kms.InstanceBindVpcArray{\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: shareVswitch.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: shareVswitch.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vswitch2.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vswitch2.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vsw3.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vsw3.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .productVersion(\"3\")\n .vpcId(vswitch.vpcId())\n .zoneIds( \n vswitch.zoneId(),\n vswitch_j.zoneId())\n .vswitchIds(vswitch.id())\n .forceDeleteWithoutBackup(\"true\")\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(region)\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(region)\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(region)\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n default:\n type: alicloud:kms:Instance\n properties:\n paymentType: PayAsYouGo\n productVersion: 3\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - ${vswitch.zoneId}\n - ${[\"vswitch-j\"].zoneId}\n vswitchIds:\n - ${vswitch.id}\n forceDeleteWithoutBackup: true\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: ${region}\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Instance resource.\n\nFor information about KMS Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/zh/key-management-service/latest/kms-instance-management).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nCreate a subscription kms instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst _default = new alicloud.kms.Instance(\"default\", {\n vpcNum: 7,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n renewStatus: \"ManualRenewal\",\n productVersion: \"3\",\n renewPeriod: 3,\n vpcId: vswitch.vpcId,\n zoneIds: [\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitchIds: [vswitch_j.id],\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: region,\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: region,\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: region,\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n log: \"0\",\n period: 1,\n logStorage: 0,\n paymentType: \"Subscription\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault = alicloud.kms.Instance(\"default\",\n vpc_num=7,\n key_num=1000,\n secret_num=0,\n spec=1000,\n renew_status=\"ManualRenewal\",\n product_version=\"3\",\n renew_period=3,\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitch_ids=[vswitch_j.id],\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ],\n log=\"0\",\n period=1,\n log_storage=0,\n payment_type=\"Subscription\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var @default = new AliCloud.Kms.Instance(\"default\", new()\n {\n VpcNum = 7,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n RenewStatus = \"ManualRenewal\",\n ProductVersion = \"3\",\n RenewPeriod = 3,\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n },\n VswitchIds = new[]\n {\n vswitch_j.Id,\n },\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = region,\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = region,\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = region,\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n Log = \"0\",\n Period = 1,\n LogStorage = 0,\n PaymentType = \"Subscription\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch_j, err := vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: shareVPC.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s5\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s7\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC3.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tVpcNum: pulumi.Int(7),\n\t\t\tKeyNum: pulumi.Int(1000),\n\t\t\tSecretNum: pulumi.Int(0),\n\t\t\tSpec: pulumi.Int(1000),\n\t\t\tRenewStatus: pulumi.String(\"ManualRenewal\"),\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tRenewPeriod: pulumi.Int(3),\n\t\t\tVpcId: vswitch.VpcId,\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou-k\"),\n\t\t\t\tpulumi.String(\"cn-hangzhou-j\"),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tvswitch_j.ID(),\n\t\t\t},\n\t\t\tBindVpcs: kms.InstanceBindVpcArray{\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: shareVswitch.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: shareVswitch.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vswitch2.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vswitch2.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vsw3.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vsw3.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLog: pulumi.String(\"0\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tLogStorage: pulumi.Int(0),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .vpcNum(7)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .renewStatus(\"ManualRenewal\")\n .productVersion(\"3\")\n .renewPeriod(3)\n .vpcId(vswitch.vpcId())\n .zoneIds( \n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\")\n .vswitchIds(vswitch_j.id())\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(region)\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(region)\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(region)\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .log(\"0\")\n .period(1)\n .logStorage(0)\n .paymentType(\"Subscription\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n default:\n type: alicloud:kms:Instance\n properties:\n vpcNum: '7'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n renewStatus: ManualRenewal\n productVersion: '3'\n renewPeriod: '3'\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - cn-hangzhou-k\n - cn-hangzhou-j\n vswitchIds:\n - ${[\"vswitch-j\"].id}\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: ${region}\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\n log: '0'\n period: '1'\n logStorage: '0'\n paymentType: Subscription\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nCreate a pay-as-you-go kms instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst _default = new alicloud.kms.Instance(\"default\", {\n paymentType: \"PayAsYouGo\",\n productVersion: \"3\",\n vpcId: vswitch.vpcId,\n zoneIds: [\n vswitch.zoneId,\n vswitch_j.zoneId,\n ],\n vswitchIds: [vswitch.id],\n forceDeleteWithoutBackup: \"true\",\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: region,\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: region,\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: region,\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault = alicloud.kms.Instance(\"default\",\n payment_type=\"PayAsYouGo\",\n product_version=\"3\",\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n vswitch.zone_id,\n vswitch_j.zone_id,\n ],\n vswitch_ids=[vswitch.id],\n force_delete_without_backup=\"true\",\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": region,\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var @default = new AliCloud.Kms.Instance(\"default\", new()\n {\n PaymentType = \"PayAsYouGo\",\n ProductVersion = \"3\",\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n vswitch.ZoneId,\n vswitch_j.ZoneId,\n },\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n ForceDeleteWithoutBackup = \"true\",\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = region,\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = region,\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = region,\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch_j, err := vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc_amp_instance_example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: shareVPC.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s5\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s7\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: share_VPC3.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-k\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tVpcId: vswitch.VpcId,\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tvswitch.ZoneId,\n\t\t\t\tvswitch_j.ZoneId,\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tvswitch.ID(),\n\t\t\t},\n\t\t\tForceDeleteWithoutBackup: pulumi.String(\"true\"),\n\t\t\tBindVpcs: kms.InstanceBindVpcArray{\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: shareVswitch.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: shareVswitch.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vswitch2.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vswitch2.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\n\t\t\t\t},\n\t\t\t\t\u0026kms.InstanceBindVpcArgs{\n\t\t\t\t\tVpcId: share_vsw3.VpcId,\n\t\t\t\t\tRegionId: pulumi.String(region),\n\t\t\t\t\tVswitchId: share_vsw3.ID(),\n\t\t\t\t\tVpcOwnerId: pulumi.String(current.Id),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .productVersion(\"3\")\n .vpcId(vswitch.vpcId())\n .zoneIds( \n vswitch.zoneId(),\n vswitch_j.zoneId())\n .vswitchIds(vswitch.id())\n .forceDeleteWithoutBackup(\"true\")\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(region)\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(region)\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(region)\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n default:\n type: alicloud:kms:Instance\n properties:\n paymentType: PayAsYouGo\n productVersion: 3\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - ${vswitch.zoneId}\n - ${[\"vswitch-j\"].zoneId}\n vswitchIds:\n - ${vswitch.id}\n forceDeleteWithoutBackup: true\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: ${region}\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: ${region}\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "bindVpcs": { "type": "array", @@ -202240,7 +206551,7 @@ } }, "alicloud:kms/key:Key": { - "description": "Provides a KMS Key resource.\n\n\n\nFor information about KMS Key and how to use it, see [What is Key](https://www.alibabacloud.com/help/en/kms/developer-reference/api-createkey).\n\n\u003e **NOTE:** Available since v1.85.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.kms.Key(\"default\", {\n description: \"Hello KMS\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.kms.Key(\"default\",\n description=\"Hello KMS\",\n status=\"Enabled\",\n pending_window_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Kms.Key(\"default\", new()\n {\n Description = \"Hello KMS\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Hello KMS\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Key(\"default\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:kms:Key\n properties:\n description: Hello KMS\n status: Enabled\n pendingWindowInDays: '7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/key:Key example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Key resource.\n\n\n\nFor information about KMS Key and how to use it, see [What is Key](https://www.alibabacloud.com/help/en/kms/developer-reference/api-createkey).\n\n\u003e **NOTE:** Available since v1.85.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.kms.Key(\"default\", {\n description: \"Hello KMS\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.kms.Key(\"default\",\n description=\"Hello KMS\",\n status=\"Enabled\",\n pending_window_in_days=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Kms.Key(\"default\", new()\n {\n Description = \"Hello KMS\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := kms.NewKey(ctx, \"default\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Hello KMS\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Key(\"default\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:kms:Key\n properties:\n description: Hello KMS\n status: Enabled\n pendingWindowInDays: '7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Key can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/key:Key example \u003cid\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -202584,7 +206895,7 @@ } }, "alicloud:kms/keyVersion:KeyVersion": { - "description": "Provides a Alikms Key Version resource. For information about Alikms Key Version and how to use it, see [What is Resource Alikms Key Version](https://www.alibabacloud.com/help/doc-detail/133838.htm).\n\n\u003e **NOTE:** Available in v1.85.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.kms.Key(\"this\", {});\nconst keyversion = new alicloud.kms.KeyVersion(\"keyversion\", {keyId: _this.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.kms.Key(\"this\")\nkeyversion = alicloud.kms.KeyVersion(\"keyversion\", key_id=this.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Kms.Key(\"this\");\n\n var keyversion = new AliCloud.Kms.KeyVersion(\"keyversion\", new()\n {\n KeyId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := kms.NewKey(ctx, \"this\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewKeyVersion(ctx, \"keyversion\", \u0026kms.KeyVersionArgs{\n\t\t\tKeyId: this.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.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyVersion;\nimport com.pulumi.alicloud.kms.KeyVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Key(\"this\");\n\n var keyversion = new KeyVersion(\"keyversion\", KeyVersionArgs.builder()\n .keyId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:kms:Key\n keyversion:\n type: alicloud:kms:KeyVersion\n properties:\n keyId: ${this.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlikms key version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/keyVersion:KeyVersion example 72da539a-2fa8-4f2d-b854-*****\n```\n\n", + "description": "Provides a Alikms Key Version resource. For information about Alikms Key Version and how to use it, see [What is Resource Alikms Key Version](https://www.alibabacloud.com/help/doc-detail/133838.htm).\n\n\u003e **NOTE:** Available in v1.85.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _this = new alicloud.kms.Key(\"this\", {});\nconst keyversion = new alicloud.kms.KeyVersion(\"keyversion\", {keyId: _this.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nthis = alicloud.kms.Key(\"this\")\nkeyversion = alicloud.kms.KeyVersion(\"keyversion\", key_id=this.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new AliCloud.Kms.Key(\"this\");\n\n var keyversion = new AliCloud.Kms.KeyVersion(\"keyversion\", new()\n {\n KeyId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := kms.NewKey(ctx, \"this\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewKeyVersion(ctx, \"keyversion\", \u0026kms.KeyVersionArgs{\n\t\t\tKeyId: this.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.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyVersion;\nimport com.pulumi.alicloud.kms.KeyVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var this_ = new Key(\"this\");\n\n var keyversion = new KeyVersion(\"keyversion\", KeyVersionArgs.builder()\n .keyId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: alicloud:kms:Key\n keyversion:\n type: alicloud:kms:KeyVersion\n properties:\n keyId: ${this.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAlikms key version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/keyVersion:KeyVersion example 72da539a-2fa8-4f2d-b854-*****\n```\n\n", "properties": { "keyId": { "type": "string", @@ -202626,7 +206937,7 @@ } }, "alicloud:kms/networkRule:NetworkRule": { - "description": "Provides a KMS Network Rule resource. Network rules that can be bound by Application Access Point's policies.\n\nFor information about KMS Network Rule and how to use it, see [What is Network Rule](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createnetworkrule).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.NetworkRule(\"default\", {\n description: \"example-description\",\n sourcePrivateIps: [\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n ],\n networkRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.NetworkRule(\"default\",\n description=\"example-description\",\n source_private_ips=[\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n ],\n network_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.NetworkRule(\"default\", new()\n {\n Description = \"example-description\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n },\n NetworkRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewNetworkRule(ctx, \"default\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"example-description\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10/24\"),\n\t\t\t\tpulumi.String(\"192.168.17.13\"),\n\t\t\t\tpulumi.String(\"100.177.24.254\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(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.alicloud.kms.NetworkRule;\nimport com.pulumi.alicloud.kms.NetworkRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new NetworkRule(\"default\", NetworkRuleArgs.builder()\n .description(\"example-description\")\n .sourcePrivateIps( \n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\")\n .networkRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:NetworkRule\n properties:\n description: example-description\n sourcePrivateIps:\n - 10.10.10.10/24\n - 192.168.17.13\n - 100.177.24.254\n networkRuleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Network Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/networkRule:NetworkRule example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Network Rule resource. Network rules that can be bound by Application Access Point's policies.\n\nFor information about KMS Network Rule and how to use it, see [What is Network Rule](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createnetworkrule).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.NetworkRule(\"default\", {\n description: \"example-description\",\n sourcePrivateIps: [\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n ],\n networkRuleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.NetworkRule(\"default\",\n description=\"example-description\",\n source_private_ips=[\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n ],\n network_rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.NetworkRule(\"default\", new()\n {\n Description = \"example-description\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\",\n },\n NetworkRuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewNetworkRule(ctx, \"default\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"example-description\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10/24\"),\n\t\t\t\tpulumi.String(\"192.168.17.13\"),\n\t\t\t\tpulumi.String(\"100.177.24.254\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(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.alicloud.kms.NetworkRule;\nimport com.pulumi.alicloud.kms.NetworkRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new NetworkRule(\"default\", NetworkRuleArgs.builder()\n .description(\"example-description\")\n .sourcePrivateIps( \n \"10.10.10.10/24\",\n \"192.168.17.13\",\n \"100.177.24.254\")\n .networkRuleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:NetworkRule\n properties:\n description: example-description\n sourcePrivateIps:\n - 10.10.10.10/24\n - 192.168.17.13\n - 100.177.24.254\n networkRuleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Network Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/networkRule:NetworkRule example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -202693,7 +207004,7 @@ } }, "alicloud:kms/policy:Policy": { - "description": "Provides a KMS Policy resource. Permission policies which can be bound to the Application Access Points.\n\nFor information about KMS Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createpolicy).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst networkRule1 = new alicloud.kms.NetworkRule(\"networkRule1\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst networkRule2 = new alicloud.kms.NetworkRule(\"networkRule2\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst networkRule3 = new alicloud.kms.NetworkRule(\"networkRule3\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst _default = new alicloud.kms.Policy(\"default\", {\n description: \"terraformpolicy\",\n permissions: [\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n ],\n resources: [\n \"secret/*\",\n \"key/*\",\n ],\n policyName: name,\n kmsInstanceId: \"shared\",\n accessControlRules: ` {\n \\\\\"NetworkRules\\\\\":[\n \\\\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\\\"\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nnetwork_rule1 = alicloud.kms.NetworkRule(\"networkRule1\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s1\",\n args=[name]).result)\nnetwork_rule2 = alicloud.kms.NetworkRule(\"networkRule2\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s2\",\n args=[name]).result)\nnetwork_rule3 = alicloud.kms.NetworkRule(\"networkRule3\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault = alicloud.kms.Policy(\"default\",\n description=\"terraformpolicy\",\n permissions=[\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n ],\n resources=[\n \"secret/*\",\n \"key/*\",\n ],\n policy_name=name,\n kms_instance_id=\"shared\",\n access_control_rules=\"\"\" {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var networkRule1 = new AliCloud.Kms.NetworkRule(\"networkRule1\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var networkRule2 = new AliCloud.Kms.NetworkRule(\"networkRule2\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var networkRule3 = new AliCloud.Kms.NetworkRule(\"networkRule3\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var @default = new AliCloud.Kms.Policy(\"default\", new()\n {\n Description = \"terraformpolicy\",\n Permissions = new[]\n {\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n },\n Resources = new[]\n {\n \"secret/*\",\n \"key/*\",\n },\n PolicyName = name,\n KmsInstanceId = \"shared\",\n AccessControlRules = @\" {\n \\\"\"NetworkRules\\\"\":[\n \\\"\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\"\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule1\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule2\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule3\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewPolicy(ctx, \"default\", \u0026kms.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"terraformpolicy\"),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RbacPermission/Template/CryptoServiceKeyUser\"),\n\t\t\t\tpulumi.String(\"RbacPermission/Template/CryptoServiceSecretUser\"),\n\t\t\t},\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"secret/*\"),\n\t\t\t\tpulumi.String(\"key/*\"),\n\t\t\t},\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tKmsInstanceId: pulumi.String(\"shared\"),\n\t\t\tAccessControlRules: pulumi.String(` {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\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.alicloud.kms.NetworkRule;\nimport com.pulumi.alicloud.kms.NetworkRuleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Policy;\nimport com.pulumi.alicloud.kms.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var networkRule1 = new NetworkRule(\"networkRule1\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var networkRule2 = new NetworkRule(\"networkRule2\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var networkRule3 = new NetworkRule(\"networkRule3\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var default_ = new Policy(\"default\", PolicyArgs.builder()\n .description(\"terraformpolicy\")\n .permissions( \n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\")\n .resources( \n \"secret/*\",\n \"key/*\")\n .policyName(name)\n .kmsInstanceId(\"shared\")\n .accessControlRules(\"\"\"\n {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n networkRule1:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n networkRule2:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n networkRule3:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n default:\n type: alicloud:kms:Policy\n properties:\n description: terraformpolicy\n permissions:\n - RbacPermission/Template/CryptoServiceKeyUser\n - RbacPermission/Template/CryptoServiceSecretUser\n resources:\n - secret/*\n - key/*\n policyName: ${name}\n kmsInstanceId: shared\n accessControlRules: |2\n {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/policy:Policy example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Policy resource. Permission policies which can be bound to the Application Access Points.\n\nFor information about KMS Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/zh/key-management-service/latest/api-createpolicy).\n\n\u003e **NOTE:** Available since v1.210.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst networkRule1 = new alicloud.kms.NetworkRule(\"networkRule1\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst networkRule2 = new alicloud.kms.NetworkRule(\"networkRule2\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s2\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst networkRule3 = new alicloud.kms.NetworkRule(\"networkRule3\", {\n description: \"dummy\",\n sourcePrivateIps: [\"10.10.10.10\"],\n networkRuleName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst _default = new alicloud.kms.Policy(\"default\", {\n description: \"terraformpolicy\",\n permissions: [\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n ],\n resources: [\n \"secret/*\",\n \"key/*\",\n ],\n policyName: name,\n kmsInstanceId: \"shared\",\n accessControlRules: ` {\n \\\\\"NetworkRules\\\\\":[\n \\\\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\\\"\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nnetwork_rule1 = alicloud.kms.NetworkRule(\"networkRule1\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s1\",\n args=[name]).result)\nnetwork_rule2 = alicloud.kms.NetworkRule(\"networkRule2\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s2\",\n args=[name]).result)\nnetwork_rule3 = alicloud.kms.NetworkRule(\"networkRule3\",\n description=\"dummy\",\n source_private_ips=[\"10.10.10.10\"],\n network_rule_name=std.format(input=\"%s3\",\n args=[name]).result)\ndefault = alicloud.kms.Policy(\"default\",\n description=\"terraformpolicy\",\n permissions=[\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n ],\n resources=[\n \"secret/*\",\n \"key/*\",\n ],\n policy_name=name,\n kms_instance_id=\"shared\",\n access_control_rules=\"\"\" {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var networkRule1 = new AliCloud.Kms.NetworkRule(\"networkRule1\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var networkRule2 = new AliCloud.Kms.NetworkRule(\"networkRule2\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s2\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var networkRule3 = new AliCloud.Kms.NetworkRule(\"networkRule3\", new()\n {\n Description = \"dummy\",\n SourcePrivateIps = new[]\n {\n \"10.10.10.10\",\n },\n NetworkRuleName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var @default = new AliCloud.Kms.Policy(\"default\", new()\n {\n Description = \"terraformpolicy\",\n Permissions = new[]\n {\n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\",\n },\n Resources = new[]\n {\n \"secret/*\",\n \"key/*\",\n },\n PolicyName = name,\n KmsInstanceId = \"shared\",\n AccessControlRules = @\" {\n \\\"\"NetworkRules\\\"\":[\n \\\"\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\"\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule1\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule2\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s3\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\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 = kms.NewNetworkRule(ctx, \"networkRule3\", \u0026kms.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"dummy\"),\n\t\t\tSourcePrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.10.10\"),\n\t\t\t},\n\t\t\tNetworkRuleName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kms.NewPolicy(ctx, \"default\", \u0026kms.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"terraformpolicy\"),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RbacPermission/Template/CryptoServiceKeyUser\"),\n\t\t\t\tpulumi.String(\"RbacPermission/Template/CryptoServiceSecretUser\"),\n\t\t\t},\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"secret/*\"),\n\t\t\t\tpulumi.String(\"key/*\"),\n\t\t\t},\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tKmsInstanceId: pulumi.String(\"shared\"),\n\t\t\tAccessControlRules: pulumi.String(` {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\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.alicloud.kms.NetworkRule;\nimport com.pulumi.alicloud.kms.NetworkRuleArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Policy;\nimport com.pulumi.alicloud.kms.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var networkRule1 = new NetworkRule(\"networkRule1\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .build());\n\n var networkRule2 = new NetworkRule(\"networkRule2\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2\")\n .args(name)\n .build()).result())\n .build());\n\n var networkRule3 = new NetworkRule(\"networkRule3\", NetworkRuleArgs.builder()\n .description(\"dummy\")\n .sourcePrivateIps(\"10.10.10.10\")\n .networkRuleName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var default_ = new Policy(\"default\", PolicyArgs.builder()\n .description(\"terraformpolicy\")\n .permissions( \n \"RbacPermission/Template/CryptoServiceKeyUser\",\n \"RbacPermission/Template/CryptoServiceSecretUser\")\n .resources( \n \"secret/*\",\n \"key/*\")\n .policyName(name)\n .kmsInstanceId(\"shared\")\n .accessControlRules(\"\"\"\n {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n networkRule1:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n networkRule2:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2'\n args:\n - ${name}\n return: result\n networkRule3:\n type: alicloud:kms:NetworkRule\n properties:\n description: dummy\n sourcePrivateIps:\n - 10.10.10.10\n networkRuleName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n default:\n type: alicloud:kms:Policy\n properties:\n description: terraformpolicy\n permissions:\n - RbacPermission/Template/CryptoServiceKeyUser\n - RbacPermission/Template/CryptoServiceSecretUser\n resources:\n - secret/*\n - key/*\n policyName: ${name}\n kmsInstanceId: shared\n accessControlRules: |2\n {\n \\\"NetworkRules\\\":[\n \\\"alicloud_kms_network_rule.networkRule1.network_rule_name\\\"\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/policy:Policy example \u003cid\u003e\n```\n\n", "properties": { "accessControlRules": { "type": "string", @@ -202814,7 +207125,7 @@ } }, "alicloud:kms/secret:Secret": { - "description": "Provides a KMS Secret resource.\n\nFor information about KMS Secret and how to use it, see [What is Secret](https://www.alibabacloud.com/help/en/kms/developer-reference/api-createsecret).\n\n\u003e **NOTE:** Available since v1.76.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.Secret(\"default\", {\n secretName: name,\n secretData: \"Secret data\",\n versionId: \"v1\",\n forceDeleteWithoutRecovery: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.Secret(\"default\",\n secret_name=name,\n secret_data=\"Secret data\",\n version_id=\"v1\",\n force_delete_without_recovery=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.Secret(\"default\", new()\n {\n SecretName = name,\n SecretData = \"Secret data\",\n VersionId = \"v1\",\n ForceDeleteWithoutRecovery = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewSecret(ctx, \"default\", \u0026kms.SecretArgs{\n\t\t\tSecretName: pulumi.String(name),\n\t\t\tSecretData: pulumi.String(\"Secret data\"),\n\t\t\tVersionId: pulumi.String(\"v1\"),\n\t\t\tForceDeleteWithoutRecovery: 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.alicloud.kms.Secret;\nimport com.pulumi.alicloud.kms.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Secret(\"default\", SecretArgs.builder()\n .secretName(name)\n .secretData(\"Secret data\")\n .versionId(\"v1\")\n .forceDeleteWithoutRecovery(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:Secret\n properties:\n secretName: ${name}\n secretData: Secret data\n versionId: v1\n forceDeleteWithoutRecovery: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKMS Secret can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/secret:Secret example \u003cid\u003e\n```\n\n", + "description": "Provides a KMS Secret resource.\n\nFor information about KMS Secret and how to use it, see [What is Secret](https://www.alibabacloud.com/help/en/kms/developer-reference/api-createsecret).\n\n\u003e **NOTE:** Available since v1.76.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.Secret(\"default\", {\n secretName: name,\n secretData: \"Secret data\",\n versionId: \"v1\",\n forceDeleteWithoutRecovery: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.Secret(\"default\",\n secret_name=name,\n secret_data=\"Secret data\",\n version_id=\"v1\",\n force_delete_without_recovery=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.Secret(\"default\", new()\n {\n SecretName = name,\n SecretData = \"Secret data\",\n VersionId = \"v1\",\n ForceDeleteWithoutRecovery = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewSecret(ctx, \"default\", \u0026kms.SecretArgs{\n\t\t\tSecretName: pulumi.String(name),\n\t\t\tSecretData: pulumi.String(\"Secret data\"),\n\t\t\tVersionId: pulumi.String(\"v1\"),\n\t\t\tForceDeleteWithoutRecovery: 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.alicloud.kms.Secret;\nimport com.pulumi.alicloud.kms.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Secret(\"default\", SecretArgs.builder()\n .secretName(name)\n .secretData(\"Secret data\")\n .versionId(\"v1\")\n .forceDeleteWithoutRecovery(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:Secret\n properties:\n secretName: ${name}\n secretData: Secret data\n versionId: v1\n forceDeleteWithoutRecovery: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Secret can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/secret:Secret example \u003cid\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -203089,8 +207400,113 @@ "type": "object" } }, + "alicloud:kms/valueAddedService:ValueAddedService": { + "description": "Provides a KMS Value Added Service resource.\n\nValue Added Service.\n\nFor information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance).\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.kms.ValueAddedService(\"default\", {\n valueAddedService: \"2\",\n period: 1,\n paymentType: \"Subscription\",\n renewPeriod: 1,\n renewStatus: \"AutoRenewal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kms.ValueAddedService(\"default\",\n value_added_service=\"2\",\n period=1,\n payment_type=\"Subscription\",\n renew_period=1,\n renew_status=\"AutoRenewal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Kms.ValueAddedService(\"default\", new()\n {\n ValueAddedService = \"2\",\n Period = 1,\n PaymentType = \"Subscription\",\n RenewPeriod = 1,\n RenewStatus = \"AutoRenewal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := kms.NewValueAddedService(ctx, \"default\", \u0026kms.ValueAddedServiceArgs{\n\t\t\tValueAddedService: pulumi.String(\"2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tRenewPeriod: pulumi.Int(1),\n\t\t\tRenewStatus: pulumi.String(\"AutoRenewal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kms.ValueAddedService;\nimport com.pulumi.alicloud.kms.ValueAddedServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ValueAddedService(\"default\", ValueAddedServiceArgs.builder()\n .valueAddedService(\"2\")\n .period(1)\n .paymentType(\"Subscription\")\n .renewPeriod(1)\n .renewStatus(\"AutoRenewal\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:kms:ValueAddedService\n properties:\n valueAddedService: '2'\n period: '1'\n paymentType: Subscription\n renewPeriod: '1'\n renewStatus: AutoRenewal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nKMS Value Added Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kms/valueAddedService:ValueAddedService example \u003cid\u003e\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "paymentType": { + "type": "string", + "description": "The payment type of the resource\n" + }, + "period": { + "type": "integer" + }, + "regionId": { + "type": "string", + "description": "The region ID of the resource\n" + }, + "renewPeriod": { + "type": "integer", + "description": "Automatic renewal period, in years.\n\n\u003e **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set.\n" + }, + "renewStatus": { + "type": "string", + "description": "The renewal status of the specified instance. Valid values:\n\n- AutoRenewal: The instance is automatically renewed.\n- ManualRenewal: The instance is manually renewed.\n- NotRenewal: The instance is not renewed.\n" + }, + "status": { + "type": "string", + "description": "The status of the resource\n" + }, + "valueAddedService": { + "type": "string", + "description": "value added service type, Instance Backup 1 default key rotation 2 Expert service 3\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + } + }, + "required": [ + "createTime", + "paymentType", + "regionId", + "status" + ], + "inputProperties": { + "paymentType": { + "type": "string", + "description": "The payment type of the resource\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer" + }, + "renewPeriod": { + "type": "integer", + "description": "Automatic renewal period, in years.\n\n\u003e **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set.\n" + }, + "renewStatus": { + "type": "string", + "description": "The renewal status of the specified instance. Valid values:\n\n- AutoRenewal: The instance is automatically renewed.\n- ManualRenewal: The instance is manually renewed.\n- NotRenewal: The instance is not renewed.\n" + }, + "valueAddedService": { + "type": "string", + "description": "value added service type, Instance Backup 1 default key rotation 2 Expert service 3\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + } + }, + "requiredInputs": [ + "paymentType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ValueAddedService resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "paymentType": { + "type": "string", + "description": "The payment type of the resource\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer" + }, + "regionId": { + "type": "string", + "description": "The region ID of the resource\n" + }, + "renewPeriod": { + "type": "integer", + "description": "Automatic renewal period, in years.\n\n\u003e **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set.\n" + }, + "renewStatus": { + "type": "string", + "description": "The renewal status of the specified instance. Valid values:\n\n- AutoRenewal: The instance is automatically renewed.\n- ManualRenewal: The instance is manually renewed.\n- NotRenewal: The instance is not renewed.\n" + }, + "status": { + "type": "string", + "description": "The status of the resource\n" + }, + "valueAddedService": { + "type": "string", + "description": "value added service type, Instance Backup 1 default key rotation 2 Expert service 3\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + } + }, + "type": "object" + } + }, "alicloud:kvstore/account:Account": { - "description": "Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Account resource.\n\n\n\nFor information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-createaccount-redis).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.kvstore.Account(\"default\", {\n accountName: \"tfexamplename\",\n accountPassword: \"YourPassword_123\",\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.kvstore.Account(\"default\",\n account_name=\"tfexamplename\",\n account_password=\"YourPassword_123\",\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.KVStore.Account(\"default\", new()\n {\n AccountName = \"tfexamplename\",\n AccountPassword = \"YourPassword_123\",\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewAccount(ctx, \"default\", \u0026kvstore.AccountArgs{\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"YourPassword_123\"),\n\t\t\tInstanceId: defaultInstance.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.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.Account;\nimport com.pulumi.alicloud.kvstore.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .accountName(\"tfexamplename\")\n .accountPassword(\"YourPassword_123\")\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:kvstore:Account\n name: default\n properties:\n accountName: tfexamplename\n accountPassword: YourPassword_123\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/account:Account example \u003cinstance_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Account resource.\n\n\n\nFor information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-createaccount-redis).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultAccount = new alicloud.kvstore.Account(\"default\", {\n accountName: \"tfexamplename\",\n accountPassword: \"YourPassword_123\",\n instanceId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_account = alicloud.kvstore.Account(\"default\",\n account_name=\"tfexamplename\",\n account_password=\"YourPassword_123\",\n instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultAccount = new AliCloud.KVStore.Account(\"default\", new()\n {\n AccountName = \"tfexamplename\",\n AccountPassword = \"YourPassword_123\",\n InstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewAccount(ctx, \"default\", \u0026kvstore.AccountArgs{\n\t\t\tAccountName: pulumi.String(\"tfexamplename\"),\n\t\t\tAccountPassword: pulumi.String(\"YourPassword_123\"),\n\t\t\tInstanceId: defaultInstance.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.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.Account;\nimport com.pulumi.alicloud.kvstore.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .accountName(\"tfexamplename\")\n .accountPassword(\"YourPassword_123\")\n .instanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultAccount:\n type: alicloud:kvstore:Account\n name: default\n properties:\n accountName: tfexamplename\n accountPassword: YourPassword_123\n instanceId: ${defaultInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/account:Account example \u003cinstance_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountName": { "type": "string", @@ -203236,7 +207652,7 @@ } }, "alicloud:kvstore/auditLogConfig:AuditLogConfig": { - "description": "Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config resource.\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst example = new alicloud.kvstore.AuditLogConfig(\"example\", {\n instanceId: defaultInstance.id,\n dbAudit: true,\n retention: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample = alicloud.kvstore.AuditLogConfig(\"example\",\n instance_id=default_instance.id,\n db_audit=True,\n retention=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var example = new AliCloud.KVStore.AuditLogConfig(\"example\", new()\n {\n InstanceId = defaultInstance.Id,\n DbAudit = true,\n Retention = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewAuditLogConfig(ctx, \"example\", \u0026kvstore.AuditLogConfigArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tDbAudit: pulumi.Bool(true),\n\t\t\tRetention: 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.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.AuditLogConfig;\nimport com.pulumi.alicloud.kvstore.AuditLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var example = new AuditLogConfig(\"example\", AuditLogConfigArgs.builder()\n .instanceId(defaultInstance.id())\n .dbAudit(true)\n .retention(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n example:\n type: alicloud:kvstore:AuditLogConfig\n properties:\n instanceId: ${defaultInstance.id}\n dbAudit: true\n retention: 1\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/auditLogConfig:AuditLogConfig example \u003cinstance_id\u003e\n```\n\n", + "description": "Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config resource.\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst example = new alicloud.kvstore.AuditLogConfig(\"example\", {\n instanceId: defaultInstance.id,\n dbAudit: true,\n retention: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample = alicloud.kvstore.AuditLogConfig(\"example\",\n instance_id=default_instance.id,\n db_audit=True,\n retention=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var example = new AliCloud.KVStore.AuditLogConfig(\"example\", new()\n {\n InstanceId = defaultInstance.Id,\n DbAudit = true,\n Retention = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewAuditLogConfig(ctx, \"example\", \u0026kvstore.AuditLogConfigArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tDbAudit: pulumi.Bool(true),\n\t\t\tRetention: 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.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.AuditLogConfig;\nimport com.pulumi.alicloud.kvstore.AuditLogConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var example = new AuditLogConfig(\"example\", AuditLogConfigArgs.builder()\n .instanceId(defaultInstance.id())\n .dbAudit(true)\n .retention(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n example:\n type: alicloud:kvstore:AuditLogConfig\n properties:\n instanceId: ${defaultInstance.id}\n dbAudit: true\n retention: 1\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/auditLogConfig:AuditLogConfig example \u003cinstance_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -203311,7 +207727,7 @@ } }, "alicloud:kvstore/backupPolicy:BackupPolicy": { - "description": "Provides a Backup Policy for Tair (Redis OSS-Compatible) And Memcache (KVStore) resource.\n\nFor information about Backup Policy for Tair (Redis OSS-Compatible) And Memcache (KVStore) and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.104.0`. Please use resource alicloud_kvstore_instance.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultBackupPolicy = new alicloud.kvstore.BackupPolicy(\"default\", {\n instanceId: defaultInstance.id,\n backupPeriods: [\n \"Tuesday\",\n \"Wednesday\",\n ],\n backupTime: \"10:00Z-11:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_backup_policy = alicloud.kvstore.BackupPolicy(\"default\",\n instance_id=default_instance.id,\n backup_periods=[\n \"Tuesday\",\n \"Wednesday\",\n ],\n backup_time=\"10:00Z-11:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultBackupPolicy = new AliCloud.KVStore.BackupPolicy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n BackupPeriods = new[]\n {\n \"Tuesday\",\n \"Wednesday\",\n },\n BackupTime = \"10:00Z-11:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewBackupPolicy(ctx, \"default\", \u0026kvstore.BackupPolicyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t},\n\t\t\tBackupTime: pulumi.String(\"10:00Z-11:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.BackupPolicy;\nimport com.pulumi.alicloud.kvstore.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .instanceId(defaultInstance.id())\n .backupPeriods( \n \"Tuesday\",\n \"Wednesday\")\n .backupTime(\"10:00Z-11:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultBackupPolicy:\n type: alicloud:kvstore:BackupPolicy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n backupPeriods:\n - Tuesday\n - Wednesday\n backupTime: 10:00Z-11:00Z\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Backup Policy for Tair (Redis OSS-Compatible) And Memcache (KVStore) resource.\n\nFor information about Backup Policy for Tair (Redis OSS-Compatible) And Memcache (KVStore) and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.104.0`. Please use resource alicloud_kvstore_instance.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultBackupPolicy = new alicloud.kvstore.BackupPolicy(\"default\", {\n instanceId: defaultInstance.id,\n backupPeriods: [\n \"Tuesday\",\n \"Wednesday\",\n ],\n backupTime: \"10:00Z-11:00Z\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_backup_policy = alicloud.kvstore.BackupPolicy(\"default\",\n instance_id=default_instance.id,\n backup_periods=[\n \"Tuesday\",\n \"Wednesday\",\n ],\n backup_time=\"10:00Z-11:00Z\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultBackupPolicy = new AliCloud.KVStore.BackupPolicy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n BackupPeriods = new[]\n {\n \"Tuesday\",\n \"Wednesday\",\n },\n BackupTime = \"10:00Z-11:00Z\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewBackupPolicy(ctx, \"default\", \u0026kvstore.BackupPolicyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\tpulumi.String(\"Wednesday\"),\n\t\t\t},\n\t\t\tBackupTime: pulumi.String(\"10:00Z-11:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.BackupPolicy;\nimport com.pulumi.alicloud.kvstore.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .instanceId(defaultInstance.id())\n .backupPeriods( \n \"Tuesday\",\n \"Wednesday\")\n .backupTime(\"10:00Z-11:00Z\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultBackupPolicy:\n type: alicloud:kvstore:BackupPolicy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n backupPeriods:\n - Tuesday\n - Wednesday\n backupTime: 10:00Z-11:00Z\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", "properties": { "backupPeriods": { "type": "array", @@ -203378,7 +207794,7 @@ } }, "alicloud:kvstore/connection:Connection": { - "description": "Operate the public network ip of the specified resource. How to use it, see [What is Connection](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-allocateinstancepublicconnection-redis).\n\n\u003e **NOTE:** Available since v1.101.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultConnection = new alicloud.kvstore.Connection(\"default\", {\n connectionStringPrefix: \"exampleconnection\",\n instanceId: defaultInstance.id,\n port: \"6370\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_connection = alicloud.kvstore.Connection(\"default\",\n connection_string_prefix=\"exampleconnection\",\n instance_id=default_instance.id,\n port=\"6370\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultConnection = new AliCloud.KVStore.Connection(\"default\", new()\n {\n ConnectionStringPrefix = \"exampleconnection\",\n InstanceId = defaultInstance.Id,\n Port = \"6370\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewConnection(ctx, \"default\", \u0026kvstore.ConnectionArgs{\n\t\t\tConnectionStringPrefix: pulumi.String(\"exampleconnection\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tPort: pulumi.String(\"6370\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.Connection;\nimport com.pulumi.alicloud.kvstore.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .connectionStringPrefix(\"exampleconnection\")\n .instanceId(defaultInstance.id())\n .port(\"6370\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultConnection:\n type: alicloud:kvstore:Connection\n name: default\n properties:\n connectionStringPrefix: exampleconnection\n instanceId: ${defaultInstance.id}\n port: '6370'\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/connection:Connection example r-abc12345678\n```\n\n", + "description": "Operate the public network ip of the specified resource. How to use it, see [What is Connection](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-allocateinstancepublicconnection-redis).\n\n\u003e **NOTE:** Available since v1.101.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.kvstore.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n dbInstanceName: name,\n vswitchId: defaultSwitch.id,\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceClass: \"redis.master.large.default\",\n instanceType: \"Redis\",\n engineVersion: \"5.0\",\n securityIps: [\"10.23.12.24\"],\n config: {\n appendonly: \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultConnection = new alicloud.kvstore.Connection(\"default\", {\n connectionStringPrefix: \"exampleconnection\",\n instanceId: defaultInstance.id,\n port: \"6370\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.kvstore.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n db_instance_name=name,\n vswitch_id=default_switch.id,\n resource_group_id=default_get_resource_groups.ids[0],\n zone_id=default.zones[0].id,\n instance_class=\"redis.master.large.default\",\n instance_type=\"Redis\",\n engine_version=\"5.0\",\n security_ips=[\"10.23.12.24\"],\n config={\n \"appendonly\": \"yes\",\n \"lazyfree-lazy-eviction\": \"yes\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_connection = alicloud.kvstore.Connection(\"default\",\n connection_string_prefix=\"exampleconnection\",\n instance_id=default_instance.id,\n port=\"6370\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.KVStore.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n DbInstanceName = name,\n VswitchId = defaultSwitch.Id,\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceClass = \"redis.master.large.default\",\n InstanceType = \"Redis\",\n EngineVersion = \"5.0\",\n SecurityIps = new[]\n {\n \"10.23.12.24\",\n },\n Config = \n {\n { \"appendonly\", \"yes\" },\n { \"lazyfree-lazy-eviction\", \"yes\" },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultConnection = new AliCloud.KVStore.Connection(\"default\", new()\n {\n ConnectionStringPrefix = \"exampleconnection\",\n InstanceId = defaultInstance.Id,\n Port = \"6370\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := kvstore.GetZones(ctx, \u0026kvstore.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\n\t\t\tDbInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceClass: pulumi.String(\"redis.master.large.default\"),\n\t\t\tInstanceType: pulumi.String(\"Redis\"),\n\t\t\tEngineVersion: pulumi.String(\"5.0\"),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.23.12.24\"),\n\t\t\t},\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"appendonly\": pulumi.String(\"yes\"),\n\t\t\t\t\"lazyfree-lazy-eviction\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kvstore.NewConnection(ctx, \"default\", \u0026kvstore.ConnectionArgs{\n\t\t\tConnectionStringPrefix: pulumi.String(\"exampleconnection\"),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tPort: pulumi.String(\"6370\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.kvstore.KvstoreFunctions;\nimport com.pulumi.alicloud.kvstore.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.kvstore.Connection;\nimport com.pulumi.alicloud.kvstore.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = KvstoreFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .dbInstanceName(name)\n .vswitchId(defaultSwitch.id())\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zoneId(default_.zones()[0].id())\n .instanceClass(\"redis.master.large.default\")\n .instanceType(\"Redis\")\n .engineVersion(\"5.0\")\n .securityIps(\"10.23.12.24\")\n .config(Map.ofEntries(\n Map.entry(\"appendonly\", \"yes\"),\n Map.entry(\"lazyfree-lazy-eviction\", \"yes\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .connectionStringPrefix(\"exampleconnection\")\n .instanceId(defaultInstance.id())\n .port(\"6370\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstance:\n type: alicloud:kvstore:Instance\n name: default\n properties:\n dbInstanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n resourceGroupId: ${defaultGetResourceGroups.ids[0]}\n zoneId: ${default.zones[0].id}\n instanceClass: redis.master.large.default\n instanceType: Redis\n engineVersion: '5.0'\n securityIps:\n - 10.23.12.24\n config:\n appendonly: yes\n lazyfree-lazy-eviction: yes\n tags:\n Created: TF\n For: example\n defaultConnection:\n type: alicloud:kvstore:Connection\n name: default\n properties:\n connectionStringPrefix: exampleconnection\n instanceId: ${defaultInstance.id}\n port: '6370'\nvariables:\n default:\n fn::invoke:\n function: alicloud:kvstore:getZones\n arguments: {}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:kvstore/connection:Connection example r-abc12345678\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -204393,7 +208809,7 @@ } }, "alicloud:lindorm/instance:Instance": { - "description": "Provides a Lindorm Instance resource.\n\nFor information about Lindorm Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/lindorm/latest/product-introduction-overview).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** The Lindorm Instance does not support updating the specifications of multiple different engines, or the number of nodes at the same time.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst region = \"cn-hangzhou\";\nconst zoneId = \"cn-hangzhou-h\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: zoneId,\n}));\nconst defaultInstance = new alicloud.lindorm.Instance(\"default\", {\n diskCategory: \"cloud_efficiency\",\n paymentType: \"PayAsYouGo\",\n zoneId: zoneId,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n instanceName: name,\n tableEngineSpecification: \"lindorm.g.4xlarge\",\n tableEngineNodeCount: 2,\n instanceStorage: \"1920\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nregion = \"cn-hangzhou\"\nzone_id = \"cn-hangzhou-h\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=zone_id)\ndefault_instance = alicloud.lindorm.Instance(\"default\",\n disk_category=\"cloud_efficiency\",\n payment_type=\"PayAsYouGo\",\n zone_id=zone_id,\n vswitch_id=default_get_switches.ids[0],\n vpc_id=default_get_networks.ids[0],\n instance_name=name,\n table_engine_specification=\"lindorm.g.4xlarge\",\n table_engine_node_count=2,\n instance_storage=\"1920\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var region = \"cn-hangzhou\";\n\n var zoneId = \"cn-hangzhou-h\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = zoneId,\n });\n\n var defaultInstance = new AliCloud.Lindorm.Instance(\"default\", new()\n {\n DiskCategory = \"cloud_efficiency\",\n PaymentType = \"PayAsYouGo\",\n ZoneId = zoneId,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n InstanceName = name,\n TableEngineSpecification = \"lindorm.g.4xlarge\",\n TableEngineNodeCount = 2,\n InstanceStorage = \"1920\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/lindorm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_ := \"cn-hangzhou\"\n\t\tzoneId := \"cn-hangzhou-h\"\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(zoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lindorm.NewInstance(ctx, \"default\", \u0026lindorm.InstanceArgs{\n\t\t\tDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tTableEngineSpecification: pulumi.String(\"lindorm.g.4xlarge\"),\n\t\t\tTableEngineNodeCount: pulumi.Int(2),\n\t\t\tInstanceStorage: pulumi.String(\"1920\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.lindorm.Instance;\nimport com.pulumi.alicloud.lindorm.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var region = \"cn-hangzhou\";\n\n final var zoneId = \"cn-hangzhou-h\";\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(zoneId)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .diskCategory(\"cloud_efficiency\")\n .paymentType(\"PayAsYouGo\")\n .zoneId(zoneId)\n .vswitchId(defaultGetSwitches.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .instanceName(name)\n .tableEngineSpecification(\"lindorm.g.4xlarge\")\n .tableEngineNodeCount(2)\n .instanceStorage(\"1920\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:lindorm:Instance\n name: default\n properties:\n diskCategory: cloud_efficiency\n paymentType: PayAsYouGo\n zoneId: ${zoneId}\n vswitchId: ${defaultGetSwitches.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n instanceName: ${name}\n tableEngineSpecification: lindorm.g.4xlarge\n tableEngineNodeCount: '2'\n instanceStorage: '1920'\nvariables:\n region: cn-hangzhou\n zoneId: cn-hangzhou-h\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${zoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLindorm Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:lindorm/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Lindorm Instance resource.\n\nFor information about Lindorm Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/lindorm/latest/product-introduction-overview).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n\u003e **NOTE:** The Lindorm Instance does not support updating the specifications of multiple different engines, or the number of nodes at the same time.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst region = \"cn-hangzhou\";\nconst zoneId = \"cn-hangzhou-h\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = defaultGetNetworks.then(defaultGetNetworks =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: zoneId,\n}));\nconst defaultInstance = new alicloud.lindorm.Instance(\"default\", {\n diskCategory: \"cloud_efficiency\",\n paymentType: \"PayAsYouGo\",\n zoneId: zoneId,\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n instanceName: name,\n tableEngineSpecification: \"lindorm.g.4xlarge\",\n tableEngineNodeCount: 2,\n instanceStorage: \"1920\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nregion = \"cn-hangzhou\"\nzone_id = \"cn-hangzhou-h\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=zone_id)\ndefault_instance = alicloud.lindorm.Instance(\"default\",\n disk_category=\"cloud_efficiency\",\n payment_type=\"PayAsYouGo\",\n zone_id=zone_id,\n vswitch_id=default_get_switches.ids[0],\n vpc_id=default_get_networks.ids[0],\n instance_name=name,\n table_engine_specification=\"lindorm.g.4xlarge\",\n table_engine_node_count=2,\n instance_storage=\"1920\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var region = \"cn-hangzhou\";\n\n var zoneId = \"cn-hangzhou-h\";\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = zoneId,\n });\n\n var defaultInstance = new AliCloud.Lindorm.Instance(\"default\", new()\n {\n DiskCategory = \"cloud_efficiency\",\n PaymentType = \"PayAsYouGo\",\n ZoneId = zoneId,\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n InstanceName = name,\n TableEngineSpecification = \"lindorm.g.4xlarge\",\n TableEngineNodeCount = 2,\n InstanceStorage = \"1920\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/lindorm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_ := \"cn-hangzhou\"\n\t\tzoneId := \"cn-hangzhou-h\"\n\t\t_, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(zoneId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lindorm.NewInstance(ctx, \"default\", \u0026lindorm.InstanceArgs{\n\t\t\tDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tTableEngineSpecification: pulumi.String(\"lindorm.g.4xlarge\"),\n\t\t\tTableEngineNodeCount: pulumi.Int(2),\n\t\t\tInstanceStorage: pulumi.String(\"1920\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.lindorm.Instance;\nimport com.pulumi.alicloud.lindorm.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var region = \"cn-hangzhou\";\n\n final var zoneId = \"cn-hangzhou-h\";\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(zoneId)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .diskCategory(\"cloud_efficiency\")\n .paymentType(\"PayAsYouGo\")\n .zoneId(zoneId)\n .vswitchId(defaultGetSwitches.ids()[0])\n .vpcId(defaultGetNetworks.ids()[0])\n .instanceName(name)\n .tableEngineSpecification(\"lindorm.g.4xlarge\")\n .tableEngineNodeCount(2)\n .instanceStorage(\"1920\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:lindorm:Instance\n name: default\n properties:\n diskCategory: cloud_efficiency\n paymentType: PayAsYouGo\n zoneId: ${zoneId}\n vswitchId: ${defaultGetSwitches.ids[0]}\n vpcId: ${defaultGetNetworks.ids[0]}\n instanceName: ${name}\n tableEngineSpecification: lindorm.g.4xlarge\n tableEngineNodeCount: '2'\n instanceStorage: '1920'\nvariables:\n region: cn-hangzhou\n zoneId: cn-hangzhou-h\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${zoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLindorm Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:lindorm/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "arbiterVswitchId": { "type": "string", @@ -205078,7 +209494,7 @@ } }, "alicloud:lindorm/instanceV2:InstanceV2": { - "description": "Provides a Lindorm Instance V2 resource.\n\nCloud-native multi-model database.\n\nFor information about Lindorm Instance V2 and how to use it, see [What is Instance V2](https://next.api.alibabacloud.com/document/hitsdb/2020-06-15/CreateLindormV2Instance).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultR8vXlP = new alicloud.vpc.Network(\"defaultR8vXlP\", {cidrBlock: \"172.16.0.0/16\"});\nconst default9umuzwH = new alicloud.vpc.Switch(\"default9umuzwH\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"172.16.0.0/24\",\n});\nconst defaultgOFAo3L = new alicloud.vpc.Switch(\"defaultgOFAo3L\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-l\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst defaultTAbr2pJ = new alicloud.vpc.Switch(\"defaultTAbr2pJ\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst _default = new alicloud.lindorm.InstanceV2(\"default\", {\n standbyZoneId: \"cn-beijing-l\",\n engineLists: [{\n engineType: \"TABLE\",\n nodeGroups: [{\n nodeCount: 4,\n nodeSpec: \"lindorm.g.2xlarge\",\n resourceGroupName: \"cx-mz-rg\",\n }],\n }],\n cloudStorageSize: 400,\n primaryZoneId: \"cn-beijing-h\",\n zoneId: \"cn-beijing-h\",\n cloudStorageType: \"PerformanceStorage\",\n archVersion: \"2.0\",\n vswitchId: default9umuzwH.id,\n standbyVswitchId: defaultgOFAo3L.id,\n primaryVswitchId: default9umuzwH.id,\n arbiterVswitchId: defaultTAbr2pJ.id,\n vpcId: defaultR8vXlP.id,\n instanceAlias: \"preTest-MZ\",\n paymentType: \"POSTPAY\",\n arbiterZoneId: \"cn-beijing-j\",\n autoRenewal: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_r8v_xl_p = alicloud.vpc.Network(\"defaultR8vXlP\", cidr_block=\"172.16.0.0/16\")\ndefault9umuzw_h = alicloud.vpc.Switch(\"default9umuzwH\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"172.16.0.0/24\")\ndefaultg_of_ao3_l = alicloud.vpc.Switch(\"defaultgOFAo3L\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-l\",\n cidr_block=\"172.16.1.0/24\")\ndefault_t_abr2p_j = alicloud.vpc.Switch(\"defaultTAbr2pJ\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"172.16.2.0/24\")\ndefault = alicloud.lindorm.InstanceV2(\"default\",\n standby_zone_id=\"cn-beijing-l\",\n engine_lists=[{\n \"engine_type\": \"TABLE\",\n \"node_groups\": [{\n \"node_count\": 4,\n \"node_spec\": \"lindorm.g.2xlarge\",\n \"resource_group_name\": \"cx-mz-rg\",\n }],\n }],\n cloud_storage_size=400,\n primary_zone_id=\"cn-beijing-h\",\n zone_id=\"cn-beijing-h\",\n cloud_storage_type=\"PerformanceStorage\",\n arch_version=\"2.0\",\n vswitch_id=default9umuzw_h.id,\n standby_vswitch_id=defaultg_of_ao3_l.id,\n primary_vswitch_id=default9umuzw_h.id,\n arbiter_vswitch_id=default_t_abr2p_j.id,\n vpc_id=default_r8v_xl_p.id,\n instance_alias=\"preTest-MZ\",\n payment_type=\"POSTPAY\",\n arbiter_zone_id=\"cn-beijing-j\",\n auto_renewal=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultR8vXlP = new AliCloud.Vpc.Network(\"defaultR8vXlP\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default9umuzwH = new AliCloud.Vpc.Switch(\"default9umuzwH\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var defaultgOFAo3L = new AliCloud.Vpc.Switch(\"defaultgOFAo3L\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-l\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var defaultTAbr2pJ = new AliCloud.Vpc.Switch(\"defaultTAbr2pJ\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var @default = new AliCloud.Lindorm.InstanceV2(\"default\", new()\n {\n StandbyZoneId = \"cn-beijing-l\",\n EngineLists = new[]\n {\n new AliCloud.Lindorm.Inputs.InstanceV2EngineListArgs\n {\n EngineType = \"TABLE\",\n NodeGroups = new[]\n {\n new AliCloud.Lindorm.Inputs.InstanceV2EngineListNodeGroupArgs\n {\n NodeCount = 4,\n NodeSpec = \"lindorm.g.2xlarge\",\n ResourceGroupName = \"cx-mz-rg\",\n },\n },\n },\n },\n CloudStorageSize = 400,\n PrimaryZoneId = \"cn-beijing-h\",\n ZoneId = \"cn-beijing-h\",\n CloudStorageType = \"PerformanceStorage\",\n ArchVersion = \"2.0\",\n VswitchId = default9umuzwH.Id,\n StandbyVswitchId = defaultgOFAo3L.Id,\n PrimaryVswitchId = default9umuzwH.Id,\n ArbiterVswitchId = defaultTAbr2pJ.Id,\n VpcId = defaultR8vXlP.Id,\n InstanceAlias = \"preTest-MZ\",\n PaymentType = \"POSTPAY\",\n ArbiterZoneId = \"cn-beijing-j\",\n AutoRenewal = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/lindorm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultR8vXlP, err := vpc.NewNetwork(ctx, \"defaultR8vXlP\", \u0026vpc.NetworkArgs{\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\tdefault9umuzwH, err := vpc.NewSwitch(ctx, \"default9umuzwH\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultgOFAo3L, err := vpc.NewSwitch(ctx, \"defaultgOFAo3L\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTAbr2pJ, err := vpc.NewSwitch(ctx, \"defaultTAbr2pJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lindorm.NewInstanceV2(ctx, \"default\", \u0026lindorm.InstanceV2Args{\n\t\t\tStandbyZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tEngineLists: lindorm.InstanceV2EngineListArray{\n\t\t\t\t\u0026lindorm.InstanceV2EngineListArgs{\n\t\t\t\t\tEngineType: pulumi.String(\"TABLE\"),\n\t\t\t\t\tNodeGroups: lindorm.InstanceV2EngineListNodeGroupArray{\n\t\t\t\t\t\t\u0026lindorm.InstanceV2EngineListNodeGroupArgs{\n\t\t\t\t\t\t\tNodeCount: pulumi.Int(4),\n\t\t\t\t\t\t\tNodeSpec: pulumi.String(\"lindorm.g.2xlarge\"),\n\t\t\t\t\t\t\tResourceGroupName: pulumi.String(\"cx-mz-rg\"),\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\tCloudStorageSize: pulumi.Int(400),\n\t\t\tPrimaryZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCloudStorageType: pulumi.String(\"PerformanceStorage\"),\n\t\t\tArchVersion: pulumi.String(\"2.0\"),\n\t\t\tVswitchId: default9umuzwH.ID(),\n\t\t\tStandbyVswitchId: defaultgOFAo3L.ID(),\n\t\t\tPrimaryVswitchId: default9umuzwH.ID(),\n\t\t\tArbiterVswitchId: defaultTAbr2pJ.ID(),\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tInstanceAlias: pulumi.String(\"preTest-MZ\"),\n\t\t\tPaymentType: pulumi.String(\"POSTPAY\"),\n\t\t\tArbiterZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tAutoRenewal: 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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.lindorm.InstanceV2;\nimport com.pulumi.alicloud.lindorm.InstanceV2Args;\nimport com.pulumi.alicloud.lindorm.inputs.InstanceV2EngineListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultR8vXlP = new Network(\"defaultR8vXlP\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var default9umuzwH = new Switch(\"default9umuzwH\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var defaultgOFAo3L = new Switch(\"defaultgOFAo3L\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-l\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var defaultTAbr2pJ = new Switch(\"defaultTAbr2pJ\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var default_ = new InstanceV2(\"default\", InstanceV2Args.builder()\n .standbyZoneId(\"cn-beijing-l\")\n .engineLists(InstanceV2EngineListArgs.builder()\n .engineType(\"TABLE\")\n .nodeGroups(InstanceV2EngineListNodeGroupArgs.builder()\n .nodeCount(4)\n .nodeSpec(\"lindorm.g.2xlarge\")\n .resourceGroupName(\"cx-mz-rg\")\n .build())\n .build())\n .cloudStorageSize(400)\n .primaryZoneId(\"cn-beijing-h\")\n .zoneId(\"cn-beijing-h\")\n .cloudStorageType(\"PerformanceStorage\")\n .archVersion(\"2.0\")\n .vswitchId(default9umuzwH.id())\n .standbyVswitchId(defaultgOFAo3L.id())\n .primaryVswitchId(default9umuzwH.id())\n .arbiterVswitchId(defaultTAbr2pJ.id())\n .vpcId(defaultR8vXlP.id())\n .instanceAlias(\"preTest-MZ\")\n .paymentType(\"POSTPAY\")\n .arbiterZoneId(\"cn-beijing-j\")\n .autoRenewal(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultR8vXlP:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/16\n default9umuzwH:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-h\n cidrBlock: 172.16.0.0/24\n defaultgOFAo3L:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-l\n cidrBlock: 172.16.1.0/24\n defaultTAbr2pJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-j\n cidrBlock: 172.16.2.0/24\n default:\n type: alicloud:lindorm:InstanceV2\n properties:\n standbyZoneId: cn-beijing-l\n engineLists:\n - engineType: TABLE\n nodeGroups:\n - nodeCount: '4'\n nodeSpec: lindorm.g.2xlarge\n resourceGroupName: cx-mz-rg\n cloudStorageSize: '400'\n primaryZoneId: cn-beijing-h\n zoneId: cn-beijing-h\n cloudStorageType: PerformanceStorage\n archVersion: '2.0'\n vswitchId: ${default9umuzwH.id}\n standbyVswitchId: ${defaultgOFAo3L.id}\n primaryVswitchId: ${default9umuzwH.id}\n arbiterVswitchId: ${defaultTAbr2pJ.id}\n vpcId: ${defaultR8vXlP.id}\n instanceAlias: preTest-MZ\n paymentType: POSTPAY\n arbiterZoneId: cn-beijing-j\n autoRenewal: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLindorm Instance V2 can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:lindorm/instanceV2:InstanceV2 example \u003cid\u003e\n```\n\n", + "description": "Provides a Lindorm Instance V2 resource.\n\nCloud-native multi-model database.\n\nFor information about Lindorm Instance V2 and how to use it, see [What is Instance V2](https://next.api.alibabacloud.com/document/hitsdb/2020-06-15/CreateLindormV2Instance).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultR8vXlP = new alicloud.vpc.Network(\"defaultR8vXlP\", {cidrBlock: \"172.16.0.0/16\"});\nconst default9umuzwH = new alicloud.vpc.Switch(\"default9umuzwH\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-h\",\n cidrBlock: \"172.16.0.0/24\",\n});\nconst defaultgOFAo3L = new alicloud.vpc.Switch(\"defaultgOFAo3L\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-l\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst defaultTAbr2pJ = new alicloud.vpc.Switch(\"defaultTAbr2pJ\", {\n vpcId: defaultR8vXlP.id,\n zoneId: \"cn-beijing-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst _default = new alicloud.lindorm.InstanceV2(\"default\", {\n standbyZoneId: \"cn-beijing-l\",\n engineLists: [{\n engineType: \"TABLE\",\n nodeGroups: [{\n nodeCount: 4,\n nodeSpec: \"lindorm.g.2xlarge\",\n resourceGroupName: \"cx-mz-rg\",\n }],\n }],\n cloudStorageSize: 400,\n primaryZoneId: \"cn-beijing-h\",\n zoneId: \"cn-beijing-h\",\n cloudStorageType: \"PerformanceStorage\",\n archVersion: \"2.0\",\n vswitchId: default9umuzwH.id,\n standbyVswitchId: defaultgOFAo3L.id,\n primaryVswitchId: default9umuzwH.id,\n arbiterVswitchId: defaultTAbr2pJ.id,\n vpcId: defaultR8vXlP.id,\n instanceAlias: \"preTest-MZ\",\n paymentType: \"POSTPAY\",\n arbiterZoneId: \"cn-beijing-j\",\n autoRenewal: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_r8v_xl_p = alicloud.vpc.Network(\"defaultR8vXlP\", cidr_block=\"172.16.0.0/16\")\ndefault9umuzw_h = alicloud.vpc.Switch(\"default9umuzwH\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-h\",\n cidr_block=\"172.16.0.0/24\")\ndefaultg_of_ao3_l = alicloud.vpc.Switch(\"defaultgOFAo3L\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-l\",\n cidr_block=\"172.16.1.0/24\")\ndefault_t_abr2p_j = alicloud.vpc.Switch(\"defaultTAbr2pJ\",\n vpc_id=default_r8v_xl_p.id,\n zone_id=\"cn-beijing-j\",\n cidr_block=\"172.16.2.0/24\")\ndefault = alicloud.lindorm.InstanceV2(\"default\",\n standby_zone_id=\"cn-beijing-l\",\n engine_lists=[{\n \"engine_type\": \"TABLE\",\n \"node_groups\": [{\n \"node_count\": 4,\n \"node_spec\": \"lindorm.g.2xlarge\",\n \"resource_group_name\": \"cx-mz-rg\",\n }],\n }],\n cloud_storage_size=400,\n primary_zone_id=\"cn-beijing-h\",\n zone_id=\"cn-beijing-h\",\n cloud_storage_type=\"PerformanceStorage\",\n arch_version=\"2.0\",\n vswitch_id=default9umuzw_h.id,\n standby_vswitch_id=defaultg_of_ao3_l.id,\n primary_vswitch_id=default9umuzw_h.id,\n arbiter_vswitch_id=default_t_abr2p_j.id,\n vpc_id=default_r8v_xl_p.id,\n instance_alias=\"preTest-MZ\",\n payment_type=\"POSTPAY\",\n arbiter_zone_id=\"cn-beijing-j\",\n auto_renewal=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultR8vXlP = new AliCloud.Vpc.Network(\"defaultR8vXlP\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default9umuzwH = new AliCloud.Vpc.Switch(\"default9umuzwH\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-h\",\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var defaultgOFAo3L = new AliCloud.Vpc.Switch(\"defaultgOFAo3L\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-l\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var defaultTAbr2pJ = new AliCloud.Vpc.Switch(\"defaultTAbr2pJ\", new()\n {\n VpcId = defaultR8vXlP.Id,\n ZoneId = \"cn-beijing-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var @default = new AliCloud.Lindorm.InstanceV2(\"default\", new()\n {\n StandbyZoneId = \"cn-beijing-l\",\n EngineLists = new[]\n {\n new AliCloud.Lindorm.Inputs.InstanceV2EngineListArgs\n {\n EngineType = \"TABLE\",\n NodeGroups = new[]\n {\n new AliCloud.Lindorm.Inputs.InstanceV2EngineListNodeGroupArgs\n {\n NodeCount = 4,\n NodeSpec = \"lindorm.g.2xlarge\",\n ResourceGroupName = \"cx-mz-rg\",\n },\n },\n },\n },\n CloudStorageSize = 400,\n PrimaryZoneId = \"cn-beijing-h\",\n ZoneId = \"cn-beijing-h\",\n CloudStorageType = \"PerformanceStorage\",\n ArchVersion = \"2.0\",\n VswitchId = default9umuzwH.Id,\n StandbyVswitchId = defaultgOFAo3L.Id,\n PrimaryVswitchId = default9umuzwH.Id,\n ArbiterVswitchId = defaultTAbr2pJ.Id,\n VpcId = defaultR8vXlP.Id,\n InstanceAlias = \"preTest-MZ\",\n PaymentType = \"POSTPAY\",\n ArbiterZoneId = \"cn-beijing-j\",\n AutoRenewal = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/lindorm\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultR8vXlP, err := vpc.NewNetwork(ctx, \"defaultR8vXlP\", \u0026vpc.NetworkArgs{\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\tdefault9umuzwH, err := vpc.NewSwitch(ctx, \"default9umuzwH\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultgOFAo3L, err := vpc.NewSwitch(ctx, \"defaultgOFAo3L\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTAbr2pJ, err := vpc.NewSwitch(ctx, \"defaultTAbr2pJ\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = lindorm.NewInstanceV2(ctx, \"default\", \u0026lindorm.InstanceV2Args{\n\t\t\tStandbyZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tEngineLists: lindorm.InstanceV2EngineListArray{\n\t\t\t\t\u0026lindorm.InstanceV2EngineListArgs{\n\t\t\t\t\tEngineType: pulumi.String(\"TABLE\"),\n\t\t\t\t\tNodeGroups: lindorm.InstanceV2EngineListNodeGroupArray{\n\t\t\t\t\t\t\u0026lindorm.InstanceV2EngineListNodeGroupArgs{\n\t\t\t\t\t\t\tNodeCount: pulumi.Int(4),\n\t\t\t\t\t\t\tNodeSpec: pulumi.String(\"lindorm.g.2xlarge\"),\n\t\t\t\t\t\t\tResourceGroupName: pulumi.String(\"cx-mz-rg\"),\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\tCloudStorageSize: pulumi.Int(400),\n\t\t\tPrimaryZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-h\"),\n\t\t\tCloudStorageType: pulumi.String(\"PerformanceStorage\"),\n\t\t\tArchVersion: pulumi.String(\"2.0\"),\n\t\t\tVswitchId: default9umuzwH.ID(),\n\t\t\tStandbyVswitchId: defaultgOFAo3L.ID(),\n\t\t\tPrimaryVswitchId: default9umuzwH.ID(),\n\t\t\tArbiterVswitchId: defaultTAbr2pJ.ID(),\n\t\t\tVpcId: defaultR8vXlP.ID(),\n\t\t\tInstanceAlias: pulumi.String(\"preTest-MZ\"),\n\t\t\tPaymentType: pulumi.String(\"POSTPAY\"),\n\t\t\tArbiterZoneId: pulumi.String(\"cn-beijing-j\"),\n\t\t\tAutoRenewal: 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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.lindorm.InstanceV2;\nimport com.pulumi.alicloud.lindorm.InstanceV2Args;\nimport com.pulumi.alicloud.lindorm.inputs.InstanceV2EngineListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultR8vXlP = new Network(\"defaultR8vXlP\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var default9umuzwH = new Switch(\"default9umuzwH\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-h\")\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var defaultgOFAo3L = new Switch(\"defaultgOFAo3L\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-l\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var defaultTAbr2pJ = new Switch(\"defaultTAbr2pJ\", SwitchArgs.builder()\n .vpcId(defaultR8vXlP.id())\n .zoneId(\"cn-beijing-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var default_ = new InstanceV2(\"default\", InstanceV2Args.builder()\n .standbyZoneId(\"cn-beijing-l\")\n .engineLists(InstanceV2EngineListArgs.builder()\n .engineType(\"TABLE\")\n .nodeGroups(InstanceV2EngineListNodeGroupArgs.builder()\n .nodeCount(4)\n .nodeSpec(\"lindorm.g.2xlarge\")\n .resourceGroupName(\"cx-mz-rg\")\n .build())\n .build())\n .cloudStorageSize(400)\n .primaryZoneId(\"cn-beijing-h\")\n .zoneId(\"cn-beijing-h\")\n .cloudStorageType(\"PerformanceStorage\")\n .archVersion(\"2.0\")\n .vswitchId(default9umuzwH.id())\n .standbyVswitchId(defaultgOFAo3L.id())\n .primaryVswitchId(default9umuzwH.id())\n .arbiterVswitchId(defaultTAbr2pJ.id())\n .vpcId(defaultR8vXlP.id())\n .instanceAlias(\"preTest-MZ\")\n .paymentType(\"POSTPAY\")\n .arbiterZoneId(\"cn-beijing-j\")\n .autoRenewal(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultR8vXlP:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/16\n default9umuzwH:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-h\n cidrBlock: 172.16.0.0/24\n defaultgOFAo3L:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-l\n cidrBlock: 172.16.1.0/24\n defaultTAbr2pJ:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultR8vXlP.id}\n zoneId: cn-beijing-j\n cidrBlock: 172.16.2.0/24\n default:\n type: alicloud:lindorm:InstanceV2\n properties:\n standbyZoneId: cn-beijing-l\n engineLists:\n - engineType: TABLE\n nodeGroups:\n - nodeCount: '4'\n nodeSpec: lindorm.g.2xlarge\n resourceGroupName: cx-mz-rg\n cloudStorageSize: '400'\n primaryZoneId: cn-beijing-h\n zoneId: cn-beijing-h\n cloudStorageType: PerformanceStorage\n archVersion: '2.0'\n vswitchId: ${default9umuzwH.id}\n standbyVswitchId: ${defaultgOFAo3L.id}\n primaryVswitchId: ${default9umuzwH.id}\n arbiterVswitchId: ${defaultTAbr2pJ.id}\n vpcId: ${defaultR8vXlP.id}\n instanceAlias: preTest-MZ\n paymentType: POSTPAY\n arbiterZoneId: cn-beijing-j\n autoRenewal: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLindorm Instance V2 can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:lindorm/instanceV2:InstanceV2 example \u003cid\u003e\n```\n\n", "properties": { "arbiterVswitchId": { "type": "string", @@ -205090,11 +209506,11 @@ }, "archVersion": { "type": "string", - "description": "Deployment Scenario\n\n\u003e **NOTE:** Enumeration value\n\n\u003e **NOTE:** - 1.0 Single AZ\n\n\u003e **NOTE:** - 2.0 Multi-AZ Basic\n\n\u003e **NOTE:** - 3.0 Multi-AZ High Availability Edition\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Deployment Scenario\n\nEnumeration value:\n- **1.0**: Single Zone\n- **2.0**: Multi-AZ Basic Edition\n- **3.0**: Multi-AZ High Availability Edition\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewDuration": { "type": "string", - "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to **12 * *.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is **true.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewal": { "type": "boolean", @@ -205102,11 +209518,11 @@ }, "cloudStorageSize": { "type": "integer", - "description": "\u003e **NOTE:** Cloud storage capacity in GB\n" + "description": "The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\n\u003e **NOTE:** Cloud storage capacity in GB\n" }, "cloudStorageType": { "type": "string", - "description": "\u003e **NOTE:** \u003e\n\n\u003e **NOTE:** - StandardStorage: Standard cloud storage\n\n\u003e **NOTE:** - PerformanceStorage: performance-based cloud storage\n\n\u003e **NOTE:** - capacity storage: Capacity-based cloud storage\n" + "description": "Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\nEnumeration value:\n- `StandardStorage`: Standard cloud storage\n- **Performance storage**: Performance-based cloud storage\n- **Capacity Storage**: Capacity-based cloud storage\n" }, "deletionProtection": { "type": "string", @@ -205129,7 +209545,7 @@ }, "paymentType": { "type": "string", - "description": "The payment type of the resource\n" + "description": "Resource attribute fields representing payment types\n\nEnumeration value:\n- `PREPAY`: Prepaid mode\n- `POSTPAY`: Postpay mode\n" }, "pricingCycle": { "type": "string", @@ -205163,6 +209579,13 @@ "type": "string", "description": "VswitchId\n" }, + "whiteIpLists": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:lindorm/InstanceV2WhiteIpList:InstanceV2WhiteIpList" + }, + "description": "Instance whitelist list See \u003cspan pulumi-lang-nodejs=\"`whiteIpList`\" pulumi-lang-dotnet=\"`WhiteIpList`\" pulumi-lang-go=\"`whiteIpList`\" pulumi-lang-python=\"`white_ip_list`\" pulumi-lang-yaml=\"`whiteIpList`\" pulumi-lang-java=\"`whiteIpList`\"\u003e`white_ip_list`\u003c/span\u003e below.\n" + }, "zoneId": { "type": "string", "description": "The zone ID of the resource\n" @@ -205177,6 +209600,7 @@ "regionId", "vpcId", "vswitchId", + "whiteIpLists", "zoneId" ], "inputProperties": { @@ -205192,11 +209616,11 @@ }, "archVersion": { "type": "string", - "description": "Deployment Scenario\n\n\u003e **NOTE:** Enumeration value\n\n\u003e **NOTE:** - 1.0 Single AZ\n\n\u003e **NOTE:** - 2.0 Multi-AZ Basic\n\n\u003e **NOTE:** - 3.0 Multi-AZ High Availability Edition\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Deployment Scenario\n\nEnumeration value:\n- **1.0**: Single Zone\n- **2.0**: Multi-AZ Basic Edition\n- **3.0**: Multi-AZ High Availability Edition\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewDuration": { "type": "string", - "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to **12 * *.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is **true.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewal": { "type": "boolean", @@ -205204,11 +209628,11 @@ }, "cloudStorageSize": { "type": "integer", - "description": "\u003e **NOTE:** Cloud storage capacity in GB\n" + "description": "The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\n\u003e **NOTE:** Cloud storage capacity in GB\n" }, "cloudStorageType": { "type": "string", - "description": "\u003e **NOTE:** \u003e\n\n\u003e **NOTE:** - StandardStorage: Standard cloud storage\n\n\u003e **NOTE:** - PerformanceStorage: performance-based cloud storage\n\n\u003e **NOTE:** - capacity storage: Capacity-based cloud storage\n", + "description": "Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\nEnumeration value:\n- `StandardStorage`: Standard cloud storage\n- **Performance storage**: Performance-based cloud storage\n- **Capacity Storage**: Capacity-based cloud storage\n", "willReplaceOnChanges": true }, "deletionProtection": { @@ -205232,7 +209656,7 @@ }, "paymentType": { "type": "string", - "description": "The payment type of the resource\n" + "description": "Resource attribute fields representing payment types\n\nEnumeration value:\n- `PREPAY`: Prepaid mode\n- `POSTPAY`: Postpay mode\n" }, "pricingCycle": { "type": "string", @@ -205268,6 +209692,13 @@ "description": "VswitchId\n", "willReplaceOnChanges": true }, + "whiteIpLists": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:lindorm/InstanceV2WhiteIpList:InstanceV2WhiteIpList" + }, + "description": "Instance whitelist list See \u003cspan pulumi-lang-nodejs=\"`whiteIpList`\" pulumi-lang-dotnet=\"`WhiteIpList`\" pulumi-lang-go=\"`whiteIpList`\" pulumi-lang-python=\"`white_ip_list`\" pulumi-lang-yaml=\"`whiteIpList`\" pulumi-lang-java=\"`whiteIpList`\"\u003e`white_ip_list`\u003c/span\u003e below.\n" + }, "zoneId": { "type": "string", "description": "The zone ID of the resource\n", @@ -205298,11 +209729,11 @@ }, "archVersion": { "type": "string", - "description": "Deployment Scenario\n\n\u003e **NOTE:** Enumeration value\n\n\u003e **NOTE:** - 1.0 Single AZ\n\n\u003e **NOTE:** - 2.0 Multi-AZ Basic\n\n\u003e **NOTE:** - 3.0 Multi-AZ High Availability Edition\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Deployment Scenario\n\nEnumeration value:\n- **1.0**: Single Zone\n- **2.0**: Multi-AZ Basic Edition\n- **3.0**: Multi-AZ High Availability Edition\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewDuration": { "type": "string", - "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to **12 * *.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is **true.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + "description": "Automatic renewal duration. Unit: Month.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e.\n\n\u003e **NOTE:** This item takes effect only when `AutoRenewal` is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "autoRenewal": { "type": "boolean", @@ -205310,11 +209741,11 @@ }, "cloudStorageSize": { "type": "integer", - "description": "\u003e **NOTE:** Cloud storage capacity in GB\n" + "description": "The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\n\u003e **NOTE:** Cloud storage capacity in GB\n" }, "cloudStorageType": { "type": "string", - "description": "\u003e **NOTE:** \u003e\n\n\u003e **NOTE:** - StandardStorage: Standard cloud storage\n\n\u003e **NOTE:** - PerformanceStorage: performance-based cloud storage\n\n\u003e **NOTE:** - capacity storage: Capacity-based cloud storage\n", + "description": "Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required.\n\nEnumeration value:\n- `StandardStorage`: Standard cloud storage\n- **Performance storage**: Performance-based cloud storage\n- **Capacity Storage**: Capacity-based cloud storage\n", "willReplaceOnChanges": true }, "deletionProtection": { @@ -205338,7 +209769,7 @@ }, "paymentType": { "type": "string", - "description": "The payment type of the resource\n" + "description": "Resource attribute fields representing payment types\n\nEnumeration value:\n- `PREPAY`: Prepaid mode\n- `POSTPAY`: Postpay mode\n" }, "pricingCycle": { "type": "string", @@ -205378,6 +209809,13 @@ "description": "VswitchId\n", "willReplaceOnChanges": true }, + "whiteIpLists": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:lindorm/InstanceV2WhiteIpList:InstanceV2WhiteIpList" + }, + "description": "Instance whitelist list See \u003cspan pulumi-lang-nodejs=\"`whiteIpList`\" pulumi-lang-dotnet=\"`WhiteIpList`\" pulumi-lang-go=\"`whiteIpList`\" pulumi-lang-python=\"`white_ip_list`\" pulumi-lang-yaml=\"`whiteIpList`\" pulumi-lang-java=\"`whiteIpList`\"\u003e`white_ip_list`\u003c/span\u003e below.\n" + }, "zoneId": { "type": "string", "description": "The zone ID of the resource\n", @@ -205456,7 +209894,7 @@ } }, "alicloud:live/caster:Caster": { - "description": "Provides a Live Caster resource.\n\nRelying on Alibaba Cloud's powerful technologies such as live video broadcasting, media processing, and video AI, cloud guide integrates capabilities such as graphic packaging, real-time keying, multi-language translation, and multi-channel mixed streaming to innovate traditional guide services in the cloud. Provide easy-to-use cloud-based guide services for event performances, news reports, live events, off-site broadcasts and other scenes, without hardware, reduce user guide costs, and create a better live broadcast experience.\n\nFor information about Live Caster and how to use it, see [What is Caster](https://www.alibabacloud.com/help/en/live/developer-reference/api-live-2016-11-01-createcaster).\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.live.Caster(\"default\", {\n casterName: name,\n paymentType: \"PayAsYouGo\",\n normType: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.live.Caster(\"default\",\n caster_name=name,\n payment_type=\"PayAsYouGo\",\n norm_type=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Live.Caster(\"default\", new()\n {\n CasterName = name,\n PaymentType = \"PayAsYouGo\",\n NormType = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/live\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := live.NewCaster(ctx, \"default\", \u0026live.CasterArgs{\n\t\t\tCasterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tNormType: 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.alicloud.live.Caster;\nimport com.pulumi.alicloud.live.CasterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Caster(\"default\", CasterArgs.builder()\n .casterName(name)\n .paymentType(\"PayAsYouGo\")\n .normType(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:live:Caster\n properties:\n casterName: ${name}\n paymentType: PayAsYouGo\n normType: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLive Caster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:live/caster:Caster example \u003cid\u003e\n```\n\n", + "description": "Provides a Live Caster resource.\n\nRelying on Alibaba Cloud's powerful technologies such as live video broadcasting, media processing, and video AI, cloud guide integrates capabilities such as graphic packaging, real-time keying, multi-language translation, and multi-channel mixed streaming to innovate traditional guide services in the cloud. Provide easy-to-use cloud-based guide services for event performances, news reports, live events, off-site broadcasts and other scenes, without hardware, reduce user guide costs, and create a better live broadcast experience.\n\nFor information about Live Caster and how to use it, see [What is Caster](https://www.alibabacloud.com/help/en/live/developer-reference/api-live-2016-11-01-createcaster).\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.live.Caster(\"default\", {\n casterName: name,\n paymentType: \"PayAsYouGo\",\n normType: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.live.Caster(\"default\",\n caster_name=name,\n payment_type=\"PayAsYouGo\",\n norm_type=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Live.Caster(\"default\", new()\n {\n CasterName = name,\n PaymentType = \"PayAsYouGo\",\n NormType = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/live\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := live.NewCaster(ctx, \"default\", \u0026live.CasterArgs{\n\t\t\tCasterName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tNormType: 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.alicloud.live.Caster;\nimport com.pulumi.alicloud.live.CasterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Caster(\"default\", CasterArgs.builder()\n .casterName(name)\n .paymentType(\"PayAsYouGo\")\n .normType(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:live:Caster\n properties:\n casterName: ${name}\n paymentType: PayAsYouGo\n normType: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLive Caster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:live/caster:Caster example \u003cid\u003e\n```\n\n", "properties": { "autoSwitchUrgentConfig": { "type": "string", @@ -205764,7 +210202,7 @@ } }, "alicloud:log/alert:Alert": { - "description": "Log alert is a unit of log service, which is used to monitor and alert the user's logstore status information. \nLog Service enables you to configure alerts based on the charts in a dashboard to monitor the service status in real time.\n\nFor information about SLS Alert and how to use it, see [SLS Alert Overview](https://www.alibabacloud.com/help/en/doc-detail/209202.html)\n\n\u003e **NOTE:** Available in 1.78.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleAlert = new alicloud.log.Alert(\"example\", {\n projectName: example.name,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n condition: \"count\u003e 100\",\n dashboard: \"example-dashboard\",\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n queryLists: [{\n logstore: exampleStore.name,\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"* AND aliyun\",\n }],\n notificationLists: [\n {\n type: \"SMS\",\n mobileLists: [\n \"12345678\",\n \"87654321\",\n ],\n content: \"alert content\",\n },\n {\n type: \"Email\",\n emailLists: [\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n ],\n content: \"alert content\",\n },\n {\n type: \"DingTalk\",\n serviceUri: \"www.aliyun.com\",\n content: \"alert content\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_alert = alicloud.log.Alert(\"example\",\n project_name=example.name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n condition=\"count\u003e 100\",\n dashboard=\"example-dashboard\",\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n query_lists=[{\n \"logstore\": example_store.name,\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"* AND aliyun\",\n }],\n notification_lists=[\n {\n \"type\": \"SMS\",\n \"mobile_lists\": [\n \"12345678\",\n \"87654321\",\n ],\n \"content\": \"alert content\",\n },\n {\n \"type\": \"Email\",\n \"email_lists\": [\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n ],\n \"content\": \"alert content\",\n },\n {\n \"type\": \"DingTalk\",\n \"service_uri\": \"www.aliyun.com\",\n \"content\": \"alert content\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleAlert = new AliCloud.Log.Alert(\"example\", new()\n {\n ProjectName = example.Name,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n Condition = \"count\u003e 100\",\n Dashboard = \"example-dashboard\",\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n QueryLists = new[]\n {\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Logstore = exampleStore.Name,\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"* AND aliyun\",\n },\n },\n NotificationLists = new[]\n {\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"SMS\",\n MobileLists = new[]\n {\n \"12345678\",\n \"87654321\",\n },\n Content = \"alert content\",\n },\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"Email\",\n EmailLists = new[]\n {\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n },\n Content = \"alert content\",\n },\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"DingTalk\",\n ServiceUri = \"www.aliyun.com\",\n Content = \"alert content\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example\", \u0026log.AlertArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tCondition: pulumi.String(\"count\u003e 100\"),\n\t\t\tDashboard: pulumi.String(\"example-dashboard\"),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tQueryLists: log.AlertQueryListArray{\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tLogstore: exampleStore.Name,\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"* AND aliyun\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationLists: log.AlertNotificationListArray{\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"SMS\"),\n\t\t\t\t\tMobileLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"12345678\"),\n\t\t\t\t\t\tpulumi.String(\"87654321\"),\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"Email\"),\n\t\t\t\t\tEmailLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"aliyun@alibaba-inc.com\"),\n\t\t\t\t\t\tpulumi.String(\"tf-example@123.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"DingTalk\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertQueryListArgs;\nimport com.pulumi.alicloud.log.inputs.AlertNotificationListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleAlert = new Alert(\"exampleAlert\", AlertArgs.builder()\n .projectName(example.name())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .condition(\"count\u003e 100\")\n .dashboard(\"example-dashboard\")\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .queryLists(AlertQueryListArgs.builder()\n .logstore(exampleStore.name())\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"* AND aliyun\")\n .build())\n .notificationLists( \n AlertNotificationListArgs.builder()\n .type(\"SMS\")\n .mobileLists( \n \"12345678\",\n \"87654321\")\n .content(\"alert content\")\n .build(),\n AlertNotificationListArgs.builder()\n .type(\"Email\")\n .emailLists( \n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\")\n .content(\"alert content\")\n .build(),\n AlertNotificationListArgs.builder()\n .type(\"DingTalk\")\n .serviceUri(\"www.aliyun.com\")\n .content(\"alert content\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleAlert:\n type: alicloud:log:Alert\n name: example\n properties:\n projectName: ${example.name}\n alertName: example-alert\n alertDisplayname: example-alert\n condition: count\u003e 100\n dashboard: example-dashboard\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n queryLists:\n - logstore: ${exampleStore.name}\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: '* AND aliyun'\n notificationLists:\n - type: SMS\n mobileLists:\n - '12345678'\n - '87654321'\n content: alert content\n - type: Email\n emailLists:\n - aliyun@alibaba-inc.com\n - tf-example@123.com\n content: alert content\n - type: DingTalk\n serviceUri: www.aliyun.com\n content: alert content\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for new alert\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example_2 = new alicloud.log.Alert(\"example-2\", {\n version: \"2.0\",\n type: \"default\",\n projectName: example.projectName,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n muteUntil: 1632486684,\n noDataFire: false,\n noDataSeverity: 8,\n sendResolved: true,\n autoAnnotation: true,\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n queryLists: [\n {\n store: exampleStore.logstoreName,\n storeType: \"log\",\n project: example.projectName,\n region: \"cn-heyuan\",\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"* AND aliyun | select count(1) as cnt\",\n powerSqlMode: \"auto\",\n dashboardId: \"example-dashboard\",\n },\n {\n store: exampleStore.logstoreName,\n storeType: \"log\",\n project: example.projectName,\n region: \"cn-heyuan\",\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"error | select count(1) as error_cnt\",\n powerSqlMode: \"enable\",\n dashboardId: \"example-dashboard\",\n },\n ],\n labels: [{\n key: \"env\",\n value: \"test\",\n }],\n annotations: [\n {\n key: \"title\",\n value: \"alert title\",\n },\n {\n key: \"desc\",\n value: \"alert desc\",\n },\n {\n key: \"test_key\",\n value: \"test value\",\n },\n ],\n groupConfiguration: {\n type: \"custom\",\n fields: [\"cnt\"],\n },\n policyConfiguration: {\n alertPolicyId: \"sls.bultin\",\n actionPolicyId: \"sls_test_action\",\n repeatInterval: \"4h\",\n },\n severityConfigurations: [\n {\n severity: 8,\n evalCondition: {\n condition: \"cnt \u003e 3\",\n count_condition: \"__count__ \u003e 3\",\n },\n },\n {\n severity: 6,\n evalCondition: {\n condition: \"\",\n count_condition: \"__count__ \u003e 0\",\n },\n },\n {\n severity: 2,\n evalCondition: {\n condition: \"\",\n count_condition: \"\",\n },\n },\n ],\n joinConfigurations: [{\n type: \"cross_join\",\n condition: \"\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_2 = alicloud.log.Alert(\"example-2\",\n version=\"2.0\",\n type=\"default\",\n project_name=example.project_name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n mute_until=1632486684,\n no_data_fire=False,\n no_data_severity=8,\n send_resolved=True,\n auto_annotation=True,\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n query_lists=[\n {\n \"store\": example_store.logstore_name,\n \"store_type\": \"log\",\n \"project\": example.project_name,\n \"region\": \"cn-heyuan\",\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"* AND aliyun | select count(1) as cnt\",\n \"power_sql_mode\": \"auto\",\n \"dashboard_id\": \"example-dashboard\",\n },\n {\n \"store\": example_store.logstore_name,\n \"store_type\": \"log\",\n \"project\": example.project_name,\n \"region\": \"cn-heyuan\",\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"error | select count(1) as error_cnt\",\n \"power_sql_mode\": \"enable\",\n \"dashboard_id\": \"example-dashboard\",\n },\n ],\n labels=[{\n \"key\": \"env\",\n \"value\": \"test\",\n }],\n annotations=[\n {\n \"key\": \"title\",\n \"value\": \"alert title\",\n },\n {\n \"key\": \"desc\",\n \"value\": \"alert desc\",\n },\n {\n \"key\": \"test_key\",\n \"value\": \"test value\",\n },\n ],\n group_configuration={\n \"type\": \"custom\",\n \"fields\": [\"cnt\"],\n },\n policy_configuration={\n \"alert_policy_id\": \"sls.bultin\",\n \"action_policy_id\": \"sls_test_action\",\n \"repeat_interval\": \"4h\",\n },\n severity_configurations=[\n {\n \"severity\": 8,\n \"eval_condition\": {\n \"condition\": \"cnt \u003e 3\",\n \"count_condition\": \"__count__ \u003e 3\",\n },\n },\n {\n \"severity\": 6,\n \"eval_condition\": {\n \"condition\": \"\",\n \"count_condition\": \"__count__ \u003e 0\",\n },\n },\n {\n \"severity\": 2,\n \"eval_condition\": {\n \"condition\": \"\",\n \"count_condition\": \"\",\n },\n },\n ],\n join_configurations=[{\n \"type\": \"cross_join\",\n \"condition\": \"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example_2 = new AliCloud.Log.Alert(\"example-2\", new()\n {\n Version = \"2.0\",\n Type = \"default\",\n ProjectName = example.ProjectName,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n MuteUntil = 1632486684,\n NoDataFire = false,\n NoDataSeverity = 8,\n SendResolved = true,\n AutoAnnotation = true,\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n QueryLists = new[]\n {\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Store = exampleStore.LogstoreName,\n StoreType = \"log\",\n Project = example.ProjectName,\n Region = \"cn-heyuan\",\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"* AND aliyun | select count(1) as cnt\",\n PowerSqlMode = \"auto\",\n DashboardId = \"example-dashboard\",\n },\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Store = exampleStore.LogstoreName,\n StoreType = \"log\",\n Project = example.ProjectName,\n Region = \"cn-heyuan\",\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"error | select count(1) as error_cnt\",\n PowerSqlMode = \"enable\",\n DashboardId = \"example-dashboard\",\n },\n },\n Labels = new[]\n {\n new AliCloud.Log.Inputs.AlertLabelArgs\n {\n Key = \"env\",\n Value = \"test\",\n },\n },\n Annotations = new[]\n {\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"title\",\n Value = \"alert title\",\n },\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"desc\",\n Value = \"alert desc\",\n },\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"test_key\",\n Value = \"test value\",\n },\n },\n GroupConfiguration = new AliCloud.Log.Inputs.AlertGroupConfigurationArgs\n {\n Type = \"custom\",\n Fields = new[]\n {\n \"cnt\",\n },\n },\n PolicyConfiguration = new AliCloud.Log.Inputs.AlertPolicyConfigurationArgs\n {\n AlertPolicyId = \"sls.bultin\",\n ActionPolicyId = \"sls_test_action\",\n RepeatInterval = \"4h\",\n },\n SeverityConfigurations = new[]\n {\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 8,\n EvalCondition = \n {\n { \"condition\", \"cnt \u003e 3\" },\n { \"count_condition\", \"__count__ \u003e 3\" },\n },\n },\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 6,\n EvalCondition = \n {\n { \"condition\", \"\" },\n { \"count_condition\", \"__count__ \u003e 0\" },\n },\n },\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 2,\n EvalCondition = \n {\n { \"condition\", \"\" },\n { \"count_condition\", \"\" },\n },\n },\n },\n JoinConfigurations = new[]\n {\n new AliCloud.Log.Inputs.AlertJoinConfigurationArgs\n {\n Type = \"cross_join\",\n Condition = \"\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example-2\", \u0026log.AlertArgs{\n\t\t\tVersion: pulumi.String(\"2.0\"),\n\t\t\tType: pulumi.String(\"default\"),\n\t\t\tProjectName: example.ProjectName,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tMuteUntil: pulumi.Int(1632486684),\n\t\t\tNoDataFire: pulumi.Bool(false),\n\t\t\tNoDataSeverity: pulumi.Int(8),\n\t\t\tSendResolved: pulumi.Bool(true),\n\t\t\tAutoAnnotation: pulumi.Bool(true),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tQueryLists: log.AlertQueryListArray{\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tStore: exampleStore.LogstoreName,\n\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tRegion: pulumi.String(\"cn-heyuan\"),\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"* AND aliyun | select count(1) as cnt\"),\n\t\t\t\t\tPowerSqlMode: pulumi.String(\"auto\"),\n\t\t\t\t\tDashboardId: pulumi.String(\"example-dashboard\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tStore: exampleStore.LogstoreName,\n\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tRegion: pulumi.String(\"cn-heyuan\"),\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"error | select count(1) as error_cnt\"),\n\t\t\t\t\tPowerSqlMode: pulumi.String(\"enable\"),\n\t\t\t\t\tDashboardId: pulumi.String(\"example-dashboard\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: log.AlertLabelArray{\n\t\t\t\t\u0026log.AlertLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAnnotations: log.AlertAnnotationArray{\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"title\"),\n\t\t\t\t\tValue: pulumi.String(\"alert title\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"desc\"),\n\t\t\t\t\tValue: pulumi.String(\"alert desc\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_key\"),\n\t\t\t\t\tValue: pulumi.String(\"test value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupConfiguration: \u0026log.AlertGroupConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"custom\"),\n\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cnt\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyConfiguration: \u0026log.AlertPolicyConfigurationArgs{\n\t\t\t\tAlertPolicyId: pulumi.String(\"sls.bultin\"),\n\t\t\t\tActionPolicyId: pulumi.String(\"sls_test_action\"),\n\t\t\t\tRepeatInterval: pulumi.String(\"4h\"),\n\t\t\t},\n\t\t\tSeverityConfigurations: log.AlertSeverityConfigurationArray{\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(8),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"cnt \u003e 3\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"__count__ \u003e 3\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(6),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"__count__ \u003e 0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(2),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tJoinConfigurations: log.AlertJoinConfigurationArray{\n\t\t\t\t\u0026log.AlertJoinConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"cross_join\"),\n\t\t\t\t\tCondition: pulumi.String(\"\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertQueryListArgs;\nimport com.pulumi.alicloud.log.inputs.AlertLabelArgs;\nimport com.pulumi.alicloud.log.inputs.AlertAnnotationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertGroupConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertPolicyConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertSeverityConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertJoinConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example_2 = new Alert(\"example-2\", AlertArgs.builder()\n .version(\"2.0\")\n .type(\"default\")\n .projectName(example.projectName())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .muteUntil(1632486684)\n .noDataFire(false)\n .noDataSeverity(8)\n .sendResolved(true)\n .autoAnnotation(true)\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .queryLists( \n AlertQueryListArgs.builder()\n .store(exampleStore.logstoreName())\n .storeType(\"log\")\n .project(example.projectName())\n .region(\"cn-heyuan\")\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"* AND aliyun | select count(1) as cnt\")\n .powerSqlMode(\"auto\")\n .dashboardId(\"example-dashboard\")\n .build(),\n AlertQueryListArgs.builder()\n .store(exampleStore.logstoreName())\n .storeType(\"log\")\n .project(example.projectName())\n .region(\"cn-heyuan\")\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"error | select count(1) as error_cnt\")\n .powerSqlMode(\"enable\")\n .dashboardId(\"example-dashboard\")\n .build())\n .labels(AlertLabelArgs.builder()\n .key(\"env\")\n .value(\"test\")\n .build())\n .annotations( \n AlertAnnotationArgs.builder()\n .key(\"title\")\n .value(\"alert title\")\n .build(),\n AlertAnnotationArgs.builder()\n .key(\"desc\")\n .value(\"alert desc\")\n .build(),\n AlertAnnotationArgs.builder()\n .key(\"test_key\")\n .value(\"test value\")\n .build())\n .groupConfiguration(AlertGroupConfigurationArgs.builder()\n .type(\"custom\")\n .fields(\"cnt\")\n .build())\n .policyConfiguration(AlertPolicyConfigurationArgs.builder()\n .alertPolicyId(\"sls.bultin\")\n .actionPolicyId(\"sls_test_action\")\n .repeatInterval(\"4h\")\n .build())\n .severityConfigurations( \n AlertSeverityConfigurationArgs.builder()\n .severity(8)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"cnt \u003e 3\"),\n Map.entry(\"count_condition\", \"__count__ \u003e 3\")\n ))\n .build(),\n AlertSeverityConfigurationArgs.builder()\n .severity(6)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"\"),\n Map.entry(\"count_condition\", \"__count__ \u003e 0\")\n ))\n .build(),\n AlertSeverityConfigurationArgs.builder()\n .severity(2)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"\"),\n Map.entry(\"count_condition\", \"\")\n ))\n .build())\n .joinConfigurations(AlertJoinConfigurationArgs.builder()\n .type(\"cross_join\")\n .condition(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example-2:\n type: alicloud:log:Alert\n properties:\n version: '2.0'\n type: default\n projectName: ${example.projectName}\n alertName: example-alert\n alertDisplayname: example-alert\n muteUntil: '1632486684'\n noDataFire: 'false'\n noDataSeverity: 8\n sendResolved: true\n autoAnnotation: true\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n queryLists:\n - store: ${exampleStore.logstoreName}\n storeType: log\n project: ${example.projectName}\n region: cn-heyuan\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: '* AND aliyun | select count(1) as cnt'\n powerSqlMode: auto\n dashboardId: example-dashboard\n - store: ${exampleStore.logstoreName}\n storeType: log\n project: ${example.projectName}\n region: cn-heyuan\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: error | select count(1) as error_cnt\n powerSqlMode: enable\n dashboardId: example-dashboard\n labels:\n - key: env\n value: test\n annotations:\n - key: title\n value: alert title\n - key: desc\n value: alert desc\n - key: test_key\n value: test value\n groupConfiguration:\n type: custom\n fields:\n - cnt\n policyConfiguration:\n alertPolicyId: sls.bultin\n actionPolicyId: sls_test_action\n repeatInterval: 4h\n severityConfigurations:\n - severity: 8\n evalCondition:\n condition: cnt \u003e 3\n count_condition: __count__ \u003e 3\n - severity: 6\n evalCondition:\n condition: \"\"\n count_condition: __count__ \u003e 0\n - severity: 2\n evalCondition:\n condition: \"\"\n count_condition: \"\"\n joinConfigurations:\n - type: cross_join\n condition: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for alert template\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example_3 = new alicloud.log.Alert(\"example-3\", {\n version: \"2.0\",\n type: \"tpl\",\n projectName: example.projectName,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n muteUntil: 1632486684,\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n templateConfiguration: {\n id: \"sls.app.sls_ack.node.down\",\n type: \"sys\",\n lang: \"cn\",\n annotations: {},\n tokens: {\n interval_minute: \"5\",\n \"default.action_policy\": \"sls.app.ack.builtin\",\n \"default.severity\": \"6\",\n sendResolved: \"false\",\n \"default.project\": example.projectName,\n \"default.logstore\": \"k8s-event\",\n \"default.repeatInterval\": \"4h\",\n trigger_threshold: \"1\",\n \"default.clusterId\": \"example-cluster-id\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_3 = alicloud.log.Alert(\"example-3\",\n version=\"2.0\",\n type=\"tpl\",\n project_name=example.project_name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n mute_until=1632486684,\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n template_configuration={\n \"id\": \"sls.app.sls_ack.node.down\",\n \"type\": \"sys\",\n \"lang\": \"cn\",\n \"annotations\": {},\n \"tokens\": {\n \"interval_minute\": \"5\",\n \"default.action_policy\": \"sls.app.ack.builtin\",\n \"default.severity\": \"6\",\n \"sendResolved\": \"false\",\n \"default.project\": example.project_name,\n \"default.logstore\": \"k8s-event\",\n \"default.repeatInterval\": \"4h\",\n \"trigger_threshold\": \"1\",\n \"default.clusterId\": \"example-cluster-id\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example_3 = new AliCloud.Log.Alert(\"example-3\", new()\n {\n Version = \"2.0\",\n Type = \"tpl\",\n ProjectName = example.ProjectName,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n MuteUntil = 1632486684,\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n TemplateConfiguration = new AliCloud.Log.Inputs.AlertTemplateConfigurationArgs\n {\n Id = \"sls.app.sls_ack.node.down\",\n Type = \"sys\",\n Lang = \"cn\",\n Annotations = null,\n Tokens = \n {\n { \"interval_minute\", \"5\" },\n { \"default.action_policy\", \"sls.app.ack.builtin\" },\n { \"default.severity\", \"6\" },\n { \"sendResolved\", \"false\" },\n { \"default.project\", example.ProjectName },\n { \"default.logstore\", \"k8s-event\" },\n { \"default.repeatInterval\", \"4h\" },\n { \"trigger_threshold\", \"1\" },\n { \"default.clusterId\", \"example-cluster-id\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example-3\", \u0026log.AlertArgs{\n\t\t\tVersion: pulumi.String(\"2.0\"),\n\t\t\tType: pulumi.String(\"tpl\"),\n\t\t\tProjectName: example.ProjectName,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tMuteUntil: pulumi.Int(1632486684),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTemplateConfiguration: \u0026log.AlertTemplateConfigurationArgs{\n\t\t\t\tId: pulumi.String(\"sls.app.sls_ack.node.down\"),\n\t\t\t\tType: pulumi.String(\"sys\"),\n\t\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\t\tAnnotations: pulumi.StringMap{},\n\t\t\t\tTokens: pulumi.StringMap{\n\t\t\t\t\t\"interval_minute\": pulumi.String(\"5\"),\n\t\t\t\t\t\"default.action_policy\": pulumi.String(\"sls.app.ack.builtin\"),\n\t\t\t\t\t\"default.severity\": pulumi.String(\"6\"),\n\t\t\t\t\t\"sendResolved\": pulumi.String(\"false\"),\n\t\t\t\t\t\"default.project\": example.ProjectName,\n\t\t\t\t\t\"default.logstore\": pulumi.String(\"k8s-event\"),\n\t\t\t\t\t\"default.repeatInterval\": pulumi.String(\"4h\"),\n\t\t\t\t\t\"trigger_threshold\": pulumi.String(\"1\"),\n\t\t\t\t\t\"default.clusterId\": pulumi.String(\"example-cluster-id\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertTemplateConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example_3 = new Alert(\"example-3\", AlertArgs.builder()\n .version(\"2.0\")\n .type(\"tpl\")\n .projectName(example.projectName())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .muteUntil(1632486684)\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .templateConfiguration(AlertTemplateConfigurationArgs.builder()\n .id(\"sls.app.sls_ack.node.down\")\n .type(\"sys\")\n .lang(\"cn\")\n .annotations(Map.ofEntries(\n ))\n .tokens(Map.ofEntries(\n Map.entry(\"interval_minute\", \"5\"),\n Map.entry(\"default.action_policy\", \"sls.app.ack.builtin\"),\n Map.entry(\"default.severity\", \"6\"),\n Map.entry(\"sendResolved\", \"false\"),\n Map.entry(\"default.project\", example.projectName()),\n Map.entry(\"default.logstore\", \"k8s-event\"),\n Map.entry(\"default.repeatInterval\", \"4h\"),\n Map.entry(\"trigger_threshold\", \"1\"),\n Map.entry(\"default.clusterId\", \"example-cluster-id\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example-3:\n type: alicloud:log:Alert\n properties:\n version: '2.0'\n type: tpl\n projectName: ${example.projectName}\n alertName: example-alert\n alertDisplayname: example-alert\n muteUntil: '1632486684'\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n templateConfiguration:\n id: sls.app.sls_ack.node.down\n type: sys\n lang: cn\n annotations: {}\n tokens:\n interval_minute: '5'\n default.action_policy: sls.app.ack.builtin\n default.severity: '6'\n sendResolved: 'false'\n default.project: ${example.projectName}\n default.logstore: k8s-event\n default.repeatInterval: 4h\n trigger_threshold: '1'\n default.clusterId: example-cluster-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog alert can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/alert:Alert example tf-log:tf-log-alert\n```\n\n", + "description": "Log alert is a unit of log service, which is used to monitor and alert the user's logstore status information. \nLog Service enables you to configure alerts based on the charts in a dashboard to monitor the service status in real time.\n\nFor information about SLS Alert and how to use it, see [SLS Alert Overview](https://www.alibabacloud.com/help/en/doc-detail/209202.html)\n\n\u003e **NOTE:** Available in 1.78.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleAlert = new alicloud.log.Alert(\"example\", {\n projectName: example.name,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n condition: \"count\u003e 100\",\n dashboard: \"example-dashboard\",\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n queryLists: [{\n logstore: exampleStore.name,\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"* AND aliyun\",\n }],\n notificationLists: [\n {\n type: \"SMS\",\n mobileLists: [\n \"12345678\",\n \"87654321\",\n ],\n content: \"alert content\",\n },\n {\n type: \"Email\",\n emailLists: [\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n ],\n content: \"alert content\",\n },\n {\n type: \"DingTalk\",\n serviceUri: \"www.aliyun.com\",\n content: \"alert content\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_alert = alicloud.log.Alert(\"example\",\n project_name=example.name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n condition=\"count\u003e 100\",\n dashboard=\"example-dashboard\",\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n query_lists=[{\n \"logstore\": example_store.name,\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"* AND aliyun\",\n }],\n notification_lists=[\n {\n \"type\": \"SMS\",\n \"mobile_lists\": [\n \"12345678\",\n \"87654321\",\n ],\n \"content\": \"alert content\",\n },\n {\n \"type\": \"Email\",\n \"email_lists\": [\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n ],\n \"content\": \"alert content\",\n },\n {\n \"type\": \"DingTalk\",\n \"service_uri\": \"www.aliyun.com\",\n \"content\": \"alert content\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleAlert = new AliCloud.Log.Alert(\"example\", new()\n {\n ProjectName = example.Name,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n Condition = \"count\u003e 100\",\n Dashboard = \"example-dashboard\",\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n QueryLists = new[]\n {\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Logstore = exampleStore.Name,\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"* AND aliyun\",\n },\n },\n NotificationLists = new[]\n {\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"SMS\",\n MobileLists = new[]\n {\n \"12345678\",\n \"87654321\",\n },\n Content = \"alert content\",\n },\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"Email\",\n EmailLists = new[]\n {\n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\",\n },\n Content = \"alert content\",\n },\n new AliCloud.Log.Inputs.AlertNotificationListArgs\n {\n Type = \"DingTalk\",\n ServiceUri = \"www.aliyun.com\",\n Content = \"alert content\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example\", \u0026log.AlertArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tCondition: pulumi.String(\"count\u003e 100\"),\n\t\t\tDashboard: pulumi.String(\"example-dashboard\"),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tQueryLists: log.AlertQueryListArray{\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tLogstore: exampleStore.Name,\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"* AND aliyun\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNotificationLists: log.AlertNotificationListArray{\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"SMS\"),\n\t\t\t\t\tMobileLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"12345678\"),\n\t\t\t\t\t\tpulumi.String(\"87654321\"),\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"Email\"),\n\t\t\t\t\tEmailLists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"aliyun@alibaba-inc.com\"),\n\t\t\t\t\t\tpulumi.String(\"tf-example@123.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertNotificationListArgs{\n\t\t\t\t\tType: pulumi.String(\"DingTalk\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"www.aliyun.com\"),\n\t\t\t\t\tContent: pulumi.String(\"alert content\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertQueryListArgs;\nimport com.pulumi.alicloud.log.inputs.AlertNotificationListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleAlert = new Alert(\"exampleAlert\", AlertArgs.builder()\n .projectName(example.name())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .condition(\"count\u003e 100\")\n .dashboard(\"example-dashboard\")\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .queryLists(AlertQueryListArgs.builder()\n .logstore(exampleStore.name())\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"* AND aliyun\")\n .build())\n .notificationLists( \n AlertNotificationListArgs.builder()\n .type(\"SMS\")\n .mobileLists( \n \"12345678\",\n \"87654321\")\n .content(\"alert content\")\n .build(),\n AlertNotificationListArgs.builder()\n .type(\"Email\")\n .emailLists( \n \"aliyun@alibaba-inc.com\",\n \"tf-example@123.com\")\n .content(\"alert content\")\n .build(),\n AlertNotificationListArgs.builder()\n .type(\"DingTalk\")\n .serviceUri(\"www.aliyun.com\")\n .content(\"alert content\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleAlert:\n type: alicloud:log:Alert\n name: example\n properties:\n projectName: ${example.name}\n alertName: example-alert\n alertDisplayname: example-alert\n condition: count\u003e 100\n dashboard: example-dashboard\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n queryLists:\n - logstore: ${exampleStore.name}\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: '* AND aliyun'\n notificationLists:\n - type: SMS\n mobileLists:\n - '12345678'\n - '87654321'\n content: alert content\n - type: Email\n emailLists:\n - aliyun@alibaba-inc.com\n - tf-example@123.com\n content: alert content\n - type: DingTalk\n serviceUri: www.aliyun.com\n content: alert content\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for new alert\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example_2 = new alicloud.log.Alert(\"example-2\", {\n version: \"2.0\",\n type: \"default\",\n projectName: example.projectName,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n muteUntil: 1632486684,\n noDataFire: false,\n noDataSeverity: 8,\n sendResolved: true,\n autoAnnotation: true,\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n queryLists: [\n {\n store: exampleStore.logstoreName,\n storeType: \"log\",\n project: example.projectName,\n region: \"cn-heyuan\",\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"* AND aliyun | select count(1) as cnt\",\n powerSqlMode: \"auto\",\n dashboardId: \"example-dashboard\",\n },\n {\n store: exampleStore.logstoreName,\n storeType: \"log\",\n project: example.projectName,\n region: \"cn-heyuan\",\n chartTitle: \"chart_title\",\n start: \"-60s\",\n end: \"20s\",\n query: \"error | select count(1) as error_cnt\",\n powerSqlMode: \"enable\",\n dashboardId: \"example-dashboard\",\n },\n ],\n labels: [{\n key: \"env\",\n value: \"test\",\n }],\n annotations: [\n {\n key: \"title\",\n value: \"alert title\",\n },\n {\n key: \"desc\",\n value: \"alert desc\",\n },\n {\n key: \"test_key\",\n value: \"test value\",\n },\n ],\n groupConfiguration: {\n type: \"custom\",\n fields: [\"cnt\"],\n },\n policyConfiguration: {\n alertPolicyId: \"sls.bultin\",\n actionPolicyId: \"sls_test_action\",\n repeatInterval: \"4h\",\n },\n severityConfigurations: [\n {\n severity: 8,\n evalCondition: {\n condition: \"cnt \u003e 3\",\n count_condition: \"__count__ \u003e 3\",\n },\n },\n {\n severity: 6,\n evalCondition: {\n condition: \"\",\n count_condition: \"__count__ \u003e 0\",\n },\n },\n {\n severity: 2,\n evalCondition: {\n condition: \"\",\n count_condition: \"\",\n },\n },\n ],\n joinConfigurations: [{\n type: \"cross_join\",\n condition: \"\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_2 = alicloud.log.Alert(\"example-2\",\n version=\"2.0\",\n type=\"default\",\n project_name=example.project_name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n mute_until=1632486684,\n no_data_fire=False,\n no_data_severity=8,\n send_resolved=True,\n auto_annotation=True,\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n query_lists=[\n {\n \"store\": example_store.logstore_name,\n \"store_type\": \"log\",\n \"project\": example.project_name,\n \"region\": \"cn-heyuan\",\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"* AND aliyun | select count(1) as cnt\",\n \"power_sql_mode\": \"auto\",\n \"dashboard_id\": \"example-dashboard\",\n },\n {\n \"store\": example_store.logstore_name,\n \"store_type\": \"log\",\n \"project\": example.project_name,\n \"region\": \"cn-heyuan\",\n \"chart_title\": \"chart_title\",\n \"start\": \"-60s\",\n \"end\": \"20s\",\n \"query\": \"error | select count(1) as error_cnt\",\n \"power_sql_mode\": \"enable\",\n \"dashboard_id\": \"example-dashboard\",\n },\n ],\n labels=[{\n \"key\": \"env\",\n \"value\": \"test\",\n }],\n annotations=[\n {\n \"key\": \"title\",\n \"value\": \"alert title\",\n },\n {\n \"key\": \"desc\",\n \"value\": \"alert desc\",\n },\n {\n \"key\": \"test_key\",\n \"value\": \"test value\",\n },\n ],\n group_configuration={\n \"type\": \"custom\",\n \"fields\": [\"cnt\"],\n },\n policy_configuration={\n \"alert_policy_id\": \"sls.bultin\",\n \"action_policy_id\": \"sls_test_action\",\n \"repeat_interval\": \"4h\",\n },\n severity_configurations=[\n {\n \"severity\": 8,\n \"eval_condition\": {\n \"condition\": \"cnt \u003e 3\",\n \"count_condition\": \"__count__ \u003e 3\",\n },\n },\n {\n \"severity\": 6,\n \"eval_condition\": {\n \"condition\": \"\",\n \"count_condition\": \"__count__ \u003e 0\",\n },\n },\n {\n \"severity\": 2,\n \"eval_condition\": {\n \"condition\": \"\",\n \"count_condition\": \"\",\n },\n },\n ],\n join_configurations=[{\n \"type\": \"cross_join\",\n \"condition\": \"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example_2 = new AliCloud.Log.Alert(\"example-2\", new()\n {\n Version = \"2.0\",\n Type = \"default\",\n ProjectName = example.ProjectName,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n MuteUntil = 1632486684,\n NoDataFire = false,\n NoDataSeverity = 8,\n SendResolved = true,\n AutoAnnotation = true,\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n QueryLists = new[]\n {\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Store = exampleStore.LogstoreName,\n StoreType = \"log\",\n Project = example.ProjectName,\n Region = \"cn-heyuan\",\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"* AND aliyun | select count(1) as cnt\",\n PowerSqlMode = \"auto\",\n DashboardId = \"example-dashboard\",\n },\n new AliCloud.Log.Inputs.AlertQueryListArgs\n {\n Store = exampleStore.LogstoreName,\n StoreType = \"log\",\n Project = example.ProjectName,\n Region = \"cn-heyuan\",\n ChartTitle = \"chart_title\",\n Start = \"-60s\",\n End = \"20s\",\n Query = \"error | select count(1) as error_cnt\",\n PowerSqlMode = \"enable\",\n DashboardId = \"example-dashboard\",\n },\n },\n Labels = new[]\n {\n new AliCloud.Log.Inputs.AlertLabelArgs\n {\n Key = \"env\",\n Value = \"test\",\n },\n },\n Annotations = new[]\n {\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"title\",\n Value = \"alert title\",\n },\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"desc\",\n Value = \"alert desc\",\n },\n new AliCloud.Log.Inputs.AlertAnnotationArgs\n {\n Key = \"test_key\",\n Value = \"test value\",\n },\n },\n GroupConfiguration = new AliCloud.Log.Inputs.AlertGroupConfigurationArgs\n {\n Type = \"custom\",\n Fields = new[]\n {\n \"cnt\",\n },\n },\n PolicyConfiguration = new AliCloud.Log.Inputs.AlertPolicyConfigurationArgs\n {\n AlertPolicyId = \"sls.bultin\",\n ActionPolicyId = \"sls_test_action\",\n RepeatInterval = \"4h\",\n },\n SeverityConfigurations = new[]\n {\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 8,\n EvalCondition = \n {\n { \"condition\", \"cnt \u003e 3\" },\n { \"count_condition\", \"__count__ \u003e 3\" },\n },\n },\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 6,\n EvalCondition = \n {\n { \"condition\", \"\" },\n { \"count_condition\", \"__count__ \u003e 0\" },\n },\n },\n new AliCloud.Log.Inputs.AlertSeverityConfigurationArgs\n {\n Severity = 2,\n EvalCondition = \n {\n { \"condition\", \"\" },\n { \"count_condition\", \"\" },\n },\n },\n },\n JoinConfigurations = new[]\n {\n new AliCloud.Log.Inputs.AlertJoinConfigurationArgs\n {\n Type = \"cross_join\",\n Condition = \"\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example-2\", \u0026log.AlertArgs{\n\t\t\tVersion: pulumi.String(\"2.0\"),\n\t\t\tType: pulumi.String(\"default\"),\n\t\t\tProjectName: example.ProjectName,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tMuteUntil: pulumi.Int(1632486684),\n\t\t\tNoDataFire: pulumi.Bool(false),\n\t\t\tNoDataSeverity: pulumi.Int(8),\n\t\t\tSendResolved: pulumi.Bool(true),\n\t\t\tAutoAnnotation: pulumi.Bool(true),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tQueryLists: log.AlertQueryListArray{\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tStore: exampleStore.LogstoreName,\n\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tRegion: pulumi.String(\"cn-heyuan\"),\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"* AND aliyun | select count(1) as cnt\"),\n\t\t\t\t\tPowerSqlMode: pulumi.String(\"auto\"),\n\t\t\t\t\tDashboardId: pulumi.String(\"example-dashboard\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertQueryListArgs{\n\t\t\t\t\tStore: exampleStore.LogstoreName,\n\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tRegion: pulumi.String(\"cn-heyuan\"),\n\t\t\t\t\tChartTitle: pulumi.String(\"chart_title\"),\n\t\t\t\t\tStart: pulumi.String(\"-60s\"),\n\t\t\t\t\tEnd: pulumi.String(\"20s\"),\n\t\t\t\t\tQuery: pulumi.String(\"error | select count(1) as error_cnt\"),\n\t\t\t\t\tPowerSqlMode: pulumi.String(\"enable\"),\n\t\t\t\t\tDashboardId: pulumi.String(\"example-dashboard\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: log.AlertLabelArray{\n\t\t\t\t\u0026log.AlertLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"env\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAnnotations: log.AlertAnnotationArray{\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"title\"),\n\t\t\t\t\tValue: pulumi.String(\"alert title\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"desc\"),\n\t\t\t\t\tValue: pulumi.String(\"alert desc\"),\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_key\"),\n\t\t\t\t\tValue: pulumi.String(\"test value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tGroupConfiguration: \u0026log.AlertGroupConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"custom\"),\n\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cnt\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicyConfiguration: \u0026log.AlertPolicyConfigurationArgs{\n\t\t\t\tAlertPolicyId: pulumi.String(\"sls.bultin\"),\n\t\t\t\tActionPolicyId: pulumi.String(\"sls_test_action\"),\n\t\t\t\tRepeatInterval: pulumi.String(\"4h\"),\n\t\t\t},\n\t\t\tSeverityConfigurations: log.AlertSeverityConfigurationArray{\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(8),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"cnt \u003e 3\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"__count__ \u003e 3\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(6),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"__count__ \u003e 0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026log.AlertSeverityConfigurationArgs{\n\t\t\t\t\tSeverity: pulumi.Int(2),\n\t\t\t\t\tEvalCondition: pulumi.StringMap{\n\t\t\t\t\t\t\"condition\": pulumi.String(\"\"),\n\t\t\t\t\t\t\"count_condition\": pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tJoinConfigurations: log.AlertJoinConfigurationArray{\n\t\t\t\t\u0026log.AlertJoinConfigurationArgs{\n\t\t\t\t\tType: pulumi.String(\"cross_join\"),\n\t\t\t\t\tCondition: pulumi.String(\"\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertQueryListArgs;\nimport com.pulumi.alicloud.log.inputs.AlertLabelArgs;\nimport com.pulumi.alicloud.log.inputs.AlertAnnotationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertGroupConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertPolicyConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertSeverityConfigurationArgs;\nimport com.pulumi.alicloud.log.inputs.AlertJoinConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example_2 = new Alert(\"example-2\", AlertArgs.builder()\n .version(\"2.0\")\n .type(\"default\")\n .projectName(example.projectName())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .muteUntil(1632486684)\n .noDataFire(false)\n .noDataSeverity(8)\n .sendResolved(true)\n .autoAnnotation(true)\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .queryLists( \n AlertQueryListArgs.builder()\n .store(exampleStore.logstoreName())\n .storeType(\"log\")\n .project(example.projectName())\n .region(\"cn-heyuan\")\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"* AND aliyun | select count(1) as cnt\")\n .powerSqlMode(\"auto\")\n .dashboardId(\"example-dashboard\")\n .build(),\n AlertQueryListArgs.builder()\n .store(exampleStore.logstoreName())\n .storeType(\"log\")\n .project(example.projectName())\n .region(\"cn-heyuan\")\n .chartTitle(\"chart_title\")\n .start(\"-60s\")\n .end(\"20s\")\n .query(\"error | select count(1) as error_cnt\")\n .powerSqlMode(\"enable\")\n .dashboardId(\"example-dashboard\")\n .build())\n .labels(AlertLabelArgs.builder()\n .key(\"env\")\n .value(\"test\")\n .build())\n .annotations( \n AlertAnnotationArgs.builder()\n .key(\"title\")\n .value(\"alert title\")\n .build(),\n AlertAnnotationArgs.builder()\n .key(\"desc\")\n .value(\"alert desc\")\n .build(),\n AlertAnnotationArgs.builder()\n .key(\"test_key\")\n .value(\"test value\")\n .build())\n .groupConfiguration(AlertGroupConfigurationArgs.builder()\n .type(\"custom\")\n .fields(\"cnt\")\n .build())\n .policyConfiguration(AlertPolicyConfigurationArgs.builder()\n .alertPolicyId(\"sls.bultin\")\n .actionPolicyId(\"sls_test_action\")\n .repeatInterval(\"4h\")\n .build())\n .severityConfigurations( \n AlertSeverityConfigurationArgs.builder()\n .severity(8)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"cnt \u003e 3\"),\n Map.entry(\"count_condition\", \"__count__ \u003e 3\")\n ))\n .build(),\n AlertSeverityConfigurationArgs.builder()\n .severity(6)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"\"),\n Map.entry(\"count_condition\", \"__count__ \u003e 0\")\n ))\n .build(),\n AlertSeverityConfigurationArgs.builder()\n .severity(2)\n .evalCondition(Map.ofEntries(\n Map.entry(\"condition\", \"\"),\n Map.entry(\"count_condition\", \"\")\n ))\n .build())\n .joinConfigurations(AlertJoinConfigurationArgs.builder()\n .type(\"cross_join\")\n .condition(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example-2:\n type: alicloud:log:Alert\n properties:\n version: '2.0'\n type: default\n projectName: ${example.projectName}\n alertName: example-alert\n alertDisplayname: example-alert\n muteUntil: '1632486684'\n noDataFire: 'false'\n noDataSeverity: 8\n sendResolved: true\n autoAnnotation: true\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n queryLists:\n - store: ${exampleStore.logstoreName}\n storeType: log\n project: ${example.projectName}\n region: cn-heyuan\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: '* AND aliyun | select count(1) as cnt'\n powerSqlMode: auto\n dashboardId: example-dashboard\n - store: ${exampleStore.logstoreName}\n storeType: log\n project: ${example.projectName}\n region: cn-heyuan\n chartTitle: chart_title\n start: -60s\n end: 20s\n query: error | select count(1) as error_cnt\n powerSqlMode: enable\n dashboardId: example-dashboard\n labels:\n - key: env\n value: test\n annotations:\n - key: title\n value: alert title\n - key: desc\n value: alert desc\n - key: test_key\n value: test value\n groupConfiguration:\n type: custom\n fields:\n - cnt\n policyConfiguration:\n alertPolicyId: sls.bultin\n actionPolicyId: sls_test_action\n repeatInterval: 4h\n severityConfigurations:\n - severity: 8\n evalCondition:\n condition: cnt \u003e 3\n count_condition: __count__ \u003e 3\n - severity: 6\n evalCondition:\n condition: \"\"\n count_condition: __count__ \u003e 0\n - severity: 2\n evalCondition:\n condition: \"\"\n count_condition: \"\"\n joinConfigurations:\n - type: cross_join\n condition: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nBasic Usage for alert template\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example_3 = new alicloud.log.Alert(\"example-3\", {\n version: \"2.0\",\n type: \"tpl\",\n projectName: example.projectName,\n alertName: \"example-alert\",\n alertDisplayname: \"example-alert\",\n muteUntil: 1632486684,\n schedule: {\n type: \"FixedRate\",\n interval: \"5m\",\n hour: 0,\n dayOfWeek: 0,\n delay: 0,\n runImmediately: false,\n },\n templateConfiguration: {\n id: \"sls.app.sls_ack.node.down\",\n type: \"sys\",\n lang: \"cn\",\n annotations: {},\n tokens: {\n interval_minute: \"5\",\n \"default.action_policy\": \"sls.app.ack.builtin\",\n \"default.severity\": \"6\",\n sendResolved: \"false\",\n \"default.project\": example.projectName,\n \"default.logstore\": \"k8s-event\",\n \"default.repeatInterval\": \"4h\",\n trigger_threshold: \"1\",\n \"default.clusterId\": \"example-cluster-id\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_3 = alicloud.log.Alert(\"example-3\",\n version=\"2.0\",\n type=\"tpl\",\n project_name=example.project_name,\n alert_name=\"example-alert\",\n alert_displayname=\"example-alert\",\n mute_until=1632486684,\n schedule={\n \"type\": \"FixedRate\",\n \"interval\": \"5m\",\n \"hour\": 0,\n \"day_of_week\": 0,\n \"delay\": 0,\n \"run_immediately\": False,\n },\n template_configuration={\n \"id\": \"sls.app.sls_ack.node.down\",\n \"type\": \"sys\",\n \"lang\": \"cn\",\n \"annotations\": {},\n \"tokens\": {\n \"interval_minute\": \"5\",\n \"default.action_policy\": \"sls.app.ack.builtin\",\n \"default.severity\": \"6\",\n \"sendResolved\": \"false\",\n \"default.project\": example.project_name,\n \"default.logstore\": \"k8s-event\",\n \"default.repeatInterval\": \"4h\",\n \"trigger_threshold\": \"1\",\n \"default.clusterId\": \"example-cluster-id\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example_3 = new AliCloud.Log.Alert(\"example-3\", new()\n {\n Version = \"2.0\",\n Type = \"tpl\",\n ProjectName = example.ProjectName,\n AlertName = \"example-alert\",\n AlertDisplayname = \"example-alert\",\n MuteUntil = 1632486684,\n Schedule = new AliCloud.Log.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n Interval = \"5m\",\n Hour = 0,\n DayOfWeek = 0,\n Delay = 0,\n RunImmediately = false,\n },\n TemplateConfiguration = new AliCloud.Log.Inputs.AlertTemplateConfigurationArgs\n {\n Id = \"sls.app.sls_ack.node.down\",\n Type = \"sys\",\n Lang = \"cn\",\n Annotations = null,\n Tokens = \n {\n { \"interval_minute\", \"5\" },\n { \"default.action_policy\", \"sls.app.ack.builtin\" },\n { \"default.severity\", \"6\" },\n { \"sendResolved\", \"false\" },\n { \"default.project\", example.ProjectName },\n { \"default.logstore\", \"k8s-event\" },\n { \"default.repeatInterval\", \"4h\" },\n { \"trigger_threshold\", \"1\" },\n { \"default.clusterId\", \"example-cluster-id\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAlert(ctx, \"example-3\", \u0026log.AlertArgs{\n\t\t\tVersion: pulumi.String(\"2.0\"),\n\t\t\tType: pulumi.String(\"tpl\"),\n\t\t\tProjectName: example.ProjectName,\n\t\t\tAlertName: pulumi.String(\"example-alert\"),\n\t\t\tAlertDisplayname: pulumi.String(\"example-alert\"),\n\t\t\tMuteUntil: pulumi.Int(1632486684),\n\t\t\tSchedule: \u0026log.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tInterval: pulumi.String(\"5m\"),\n\t\t\t\tHour: pulumi.Int(0),\n\t\t\t\tDayOfWeek: pulumi.Int(0),\n\t\t\t\tDelay: pulumi.Int(0),\n\t\t\t\tRunImmediately: pulumi.Bool(false),\n\t\t\t},\n\t\t\tTemplateConfiguration: \u0026log.AlertTemplateConfigurationArgs{\n\t\t\t\tId: pulumi.String(\"sls.app.sls_ack.node.down\"),\n\t\t\t\tType: pulumi.String(\"sys\"),\n\t\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\t\tAnnotations: pulumi.StringMap{},\n\t\t\t\tTokens: pulumi.StringMap{\n\t\t\t\t\t\"interval_minute\": pulumi.String(\"5\"),\n\t\t\t\t\t\"default.action_policy\": pulumi.String(\"sls.app.ack.builtin\"),\n\t\t\t\t\t\"default.severity\": pulumi.String(\"6\"),\n\t\t\t\t\t\"sendResolved\": pulumi.String(\"false\"),\n\t\t\t\t\t\"default.project\": example.ProjectName,\n\t\t\t\t\t\"default.logstore\": pulumi.String(\"k8s-event\"),\n\t\t\t\t\t\"default.repeatInterval\": pulumi.String(\"4h\"),\n\t\t\t\t\t\"trigger_threshold\": pulumi.String(\"1\"),\n\t\t\t\t\t\"default.clusterId\": pulumi.String(\"example-cluster-id\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Alert;\nimport com.pulumi.alicloud.log.AlertArgs;\nimport com.pulumi.alicloud.log.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.log.inputs.AlertTemplateConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example_3 = new Alert(\"example-3\", AlertArgs.builder()\n .version(\"2.0\")\n .type(\"tpl\")\n .projectName(example.projectName())\n .alertName(\"example-alert\")\n .alertDisplayname(\"example-alert\")\n .muteUntil(1632486684)\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .interval(\"5m\")\n .hour(0)\n .dayOfWeek(0)\n .delay(0)\n .runImmediately(false)\n .build())\n .templateConfiguration(AlertTemplateConfigurationArgs.builder()\n .id(\"sls.app.sls_ack.node.down\")\n .type(\"sys\")\n .lang(\"cn\")\n .annotations(Map.ofEntries(\n ))\n .tokens(Map.ofEntries(\n Map.entry(\"interval_minute\", \"5\"),\n Map.entry(\"default.action_policy\", \"sls.app.ack.builtin\"),\n Map.entry(\"default.severity\", \"6\"),\n Map.entry(\"sendResolved\", \"false\"),\n Map.entry(\"default.project\", example.projectName()),\n Map.entry(\"default.logstore\", \"k8s-event\"),\n Map.entry(\"default.repeatInterval\", \"4h\"),\n Map.entry(\"trigger_threshold\", \"1\"),\n Map.entry(\"default.clusterId\", \"example-cluster-id\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example-3:\n type: alicloud:log:Alert\n properties:\n version: '2.0'\n type: tpl\n projectName: ${example.projectName}\n alertName: example-alert\n alertDisplayname: example-alert\n muteUntil: '1632486684'\n schedule:\n type: FixedRate\n interval: 5m\n hour: 0\n dayOfWeek: 0\n delay: 0\n runImmediately: false\n templateConfiguration:\n id: sls.app.sls_ack.node.down\n type: sys\n lang: cn\n annotations: {}\n tokens:\n interval_minute: '5'\n default.action_policy: sls.app.ack.builtin\n default.severity: '6'\n sendResolved: 'false'\n default.project: ${example.projectName}\n default.logstore: k8s-event\n default.repeatInterval: 4h\n trigger_threshold: '1'\n default.clusterId: example-cluster-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog alert can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/alert:Alert example tf-log:tf-log-alert\n```\n\n", "properties": { "alertDescription": { "type": "string", @@ -206203,7 +210641,7 @@ } }, "alicloud:log/alertResource:AlertResource": { - "description": "Using this resource can init SLS Alert resources automatically.\n\nFor information about SLS Alert and how to use it, see [SLS Alert Overview](https://www.alibabacloud.com/help/en/doc-detail/209202.html)\n\n\u003e **NOTE:** Available since v1.219.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst exampleUser = new alicloud.log.AlertResource(\"example_user\", {\n type: \"user\",\n lang: \"cn\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample_user = alicloud.log.AlertResource(\"example_user\",\n type=\"user\",\n lang=\"cn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUser = new AliCloud.Log.AlertResource(\"example_user\", new()\n {\n Type = \"user\",\n Lang = \"cn\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewAlertResource(ctx, \"example_user\", \u0026log.AlertResourceArgs{\n\t\t\tType: pulumi.String(\"user\"),\n\t\t\tLang: pulumi.String(\"cn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.AlertResource;\nimport com.pulumi.alicloud.log.AlertResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUser = new AlertResource(\"exampleUser\", AlertResourceArgs.builder()\n .type(\"user\")\n .lang(\"cn\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: alicloud:log:AlertResource\n name: example_user\n properties:\n type: user\n lang: cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog alert resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/alertResource:AlertResource example alert_resource:project:tf-project\n```\n\n", + "description": "Using this resource can init SLS Alert resources automatically.\n\nFor information about SLS Alert and how to use it, see [SLS Alert Overview](https://www.alibabacloud.com/help/en/doc-detail/209202.html)\n\n\u003e **NOTE:** Available since v1.219.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst exampleUser = new alicloud.log.AlertResource(\"example_user\", {\n type: \"user\",\n lang: \"cn\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample_user = alicloud.log.AlertResource(\"example_user\",\n type=\"user\",\n lang=\"cn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUser = new AliCloud.Log.AlertResource(\"example_user\", new()\n {\n Type = \"user\",\n Lang = \"cn\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewAlertResource(ctx, \"example_user\", \u0026log.AlertResourceArgs{\n\t\t\tType: pulumi.String(\"user\"),\n\t\t\tLang: pulumi.String(\"cn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.AlertResource;\nimport com.pulumi.alicloud.log.AlertResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleUser = new AlertResource(\"exampleUser\", AlertResourceArgs.builder()\n .type(\"user\")\n .lang(\"cn\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: alicloud:log:AlertResource\n name: example_user\n properties:\n type: user\n lang: cn\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog alert resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/alertResource:AlertResource example alert_resource:project:tf-project\n```\n\n", "properties": { "lang": { "type": "string", @@ -206264,7 +210702,7 @@ } }, "alicloud:log/audit:Audit": { - "description": "SLS log audit exists in the form of log service app.\n\nIn addition to inheriting all SLS functions, it also enhances the real-time automatic centralized collection of audit related logs across multi cloud products under multi accounts, and provides support for storage, query and information summary required by audit. It covers actiontrail, OSS, NAS, SLB, API gateway, RDS, WAF, cloud firewall, cloud security center and other products.\n\n\u003e **NOTE:** Available since v1.81.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"7\",\n oss_sync_enabled: \"true\",\n oss_sync_ttl: \"180\",\n oss_metering_enabled: \"true\",\n oss_metering_ttl: \"180\",\n rds_enabled: \"true\",\n rds_audit_collection_policy: \"\",\n rds_ttl: \"180\",\n rds_slow_enabled: \"false\",\n rds_slow_collection_policy: \"\",\n rds_slow_ttl: \"180\",\n rds_perf_enabled: \"false\",\n rds_perf_collection_policy: \"\",\n rds_perf_ttl: \"180\",\n vpc_flow_enabled: \"false\",\n vpc_flow_ttl: \"7\",\n vpc_flow_collection_policy: \"\",\n vpc_sync_enabled: \"true\",\n vpc_sync_ttl: \"180\",\n polardb_enabled: \"true\",\n polardb_audit_collection_policy: \"\",\n polardb_ttl: \"180\",\n polardb_slow_enabled: \"false\",\n polardb_slow_collection_policy: \"\",\n polardb_slow_ttl: \"180\",\n polardb_perf_enabled: \"false\",\n polardb_perf_collection_policy: \"\",\n polardb_perf_ttl: \"180\",\n drds_audit_enabled: \"true\",\n drds_audit_collection_policy: \"\",\n drds_audit_ttl: \"7\",\n drds_sync_enabled: \"true\",\n drds_sync_ttl: \"180\",\n slb_access_enabled: \"true\",\n slb_access_collection_policy: \"\",\n slb_access_ttl: \"7\",\n slb_sync_enabled: \"true\",\n slb_sync_ttl: \"180\",\n bastion_enabled: \"true\",\n bastion_ttl: \"180\",\n waf_enabled: \"true\",\n waf_ttl: \"180\",\n cloudfirewall_enabled: \"true\",\n cloudfirewall_ttl: \"180\",\n ddos_coo_access_enabled: \"false\",\n ddos_coo_access_ttl: \"180\",\n ddos_bgp_access_enabled: \"false\",\n ddos_bgp_access_ttl: \"180\",\n ddos_dip_access_enabled: \"false\",\n ddos_dip_access_ttl: \"180\",\n sas_crack_enabled: \"true\",\n sas_dns_enabled: \"true\",\n sas_http_enabled: \"true\",\n sas_local_dns_enabled: \"true\",\n sas_login_enabled: \"true\",\n sas_network_enabled: \"true\",\n sas_process_enabled: \"true\",\n sas_security_alert_enabled: \"true\",\n sas_security_hc_enabled: \"true\",\n sas_security_vul_enabled: \"true\",\n sas_session_enabled: \"true\",\n sas_snapshot_account_enabled: \"true\",\n sas_snapshot_port_enabled: \"true\",\n sas_snapshot_process_enabled: \"true\",\n sas_ttl: \"180\",\n apigateway_enabled: \"true\",\n apigateway_ttl: \"180\",\n nas_enabled: \"true\",\n nas_ttl: \"180\",\n appconnect_enabled: \"false\",\n appconnect_ttl: \"180\",\n cps_enabled: \"true\",\n cps_ttl: \"180\",\n k8s_audit_enabled: \"true\",\n k8s_audit_collection_policy: \"\",\n k8s_audit_ttl: \"180\",\n k8s_event_enabled: \"true\",\n k8s_event_collection_policy: \"\",\n k8s_event_ttl: \"180\",\n k8s_ingress_enabled: \"true\",\n k8s_ingress_collection_policy: \"\",\n k8s_ingress_ttl: \"180\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"7\",\n \"oss_sync_enabled\": \"true\",\n \"oss_sync_ttl\": \"180\",\n \"oss_metering_enabled\": \"true\",\n \"oss_metering_ttl\": \"180\",\n \"rds_enabled\": \"true\",\n \"rds_audit_collection_policy\": \"\",\n \"rds_ttl\": \"180\",\n \"rds_slow_enabled\": \"false\",\n \"rds_slow_collection_policy\": \"\",\n \"rds_slow_ttl\": \"180\",\n \"rds_perf_enabled\": \"false\",\n \"rds_perf_collection_policy\": \"\",\n \"rds_perf_ttl\": \"180\",\n \"vpc_flow_enabled\": \"false\",\n \"vpc_flow_ttl\": \"7\",\n \"vpc_flow_collection_policy\": \"\",\n \"vpc_sync_enabled\": \"true\",\n \"vpc_sync_ttl\": \"180\",\n \"polardb_enabled\": \"true\",\n \"polardb_audit_collection_policy\": \"\",\n \"polardb_ttl\": \"180\",\n \"polardb_slow_enabled\": \"false\",\n \"polardb_slow_collection_policy\": \"\",\n \"polardb_slow_ttl\": \"180\",\n \"polardb_perf_enabled\": \"false\",\n \"polardb_perf_collection_policy\": \"\",\n \"polardb_perf_ttl\": \"180\",\n \"drds_audit_enabled\": \"true\",\n \"drds_audit_collection_policy\": \"\",\n \"drds_audit_ttl\": \"7\",\n \"drds_sync_enabled\": \"true\",\n \"drds_sync_ttl\": \"180\",\n \"slb_access_enabled\": \"true\",\n \"slb_access_collection_policy\": \"\",\n \"slb_access_ttl\": \"7\",\n \"slb_sync_enabled\": \"true\",\n \"slb_sync_ttl\": \"180\",\n \"bastion_enabled\": \"true\",\n \"bastion_ttl\": \"180\",\n \"waf_enabled\": \"true\",\n \"waf_ttl\": \"180\",\n \"cloudfirewall_enabled\": \"true\",\n \"cloudfirewall_ttl\": \"180\",\n \"ddos_coo_access_enabled\": \"false\",\n \"ddos_coo_access_ttl\": \"180\",\n \"ddos_bgp_access_enabled\": \"false\",\n \"ddos_bgp_access_ttl\": \"180\",\n \"ddos_dip_access_enabled\": \"false\",\n \"ddos_dip_access_ttl\": \"180\",\n \"sas_crack_enabled\": \"true\",\n \"sas_dns_enabled\": \"true\",\n \"sas_http_enabled\": \"true\",\n \"sas_local_dns_enabled\": \"true\",\n \"sas_login_enabled\": \"true\",\n \"sas_network_enabled\": \"true\",\n \"sas_process_enabled\": \"true\",\n \"sas_security_alert_enabled\": \"true\",\n \"sas_security_hc_enabled\": \"true\",\n \"sas_security_vul_enabled\": \"true\",\n \"sas_session_enabled\": \"true\",\n \"sas_snapshot_account_enabled\": \"true\",\n \"sas_snapshot_port_enabled\": \"true\",\n \"sas_snapshot_process_enabled\": \"true\",\n \"sas_ttl\": \"180\",\n \"apigateway_enabled\": \"true\",\n \"apigateway_ttl\": \"180\",\n \"nas_enabled\": \"true\",\n \"nas_ttl\": \"180\",\n \"appconnect_enabled\": \"false\",\n \"appconnect_ttl\": \"180\",\n \"cps_enabled\": \"true\",\n \"cps_ttl\": \"180\",\n \"k8s_audit_enabled\": \"true\",\n \"k8s_audit_collection_policy\": \"\",\n \"k8s_audit_ttl\": \"180\",\n \"k8s_event_enabled\": \"true\",\n \"k8s_event_collection_policy\": \"\",\n \"k8s_event_ttl\": \"180\",\n \"k8s_ingress_enabled\": \"true\",\n \"k8s_ingress_collection_policy\": \"\",\n \"k8s_ingress_ttl\": \"180\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"7\" },\n { \"oss_sync_enabled\", \"true\" },\n { \"oss_sync_ttl\", \"180\" },\n { \"oss_metering_enabled\", \"true\" },\n { \"oss_metering_ttl\", \"180\" },\n { \"rds_enabled\", \"true\" },\n { \"rds_audit_collection_policy\", \"\" },\n { \"rds_ttl\", \"180\" },\n { \"rds_slow_enabled\", \"false\" },\n { \"rds_slow_collection_policy\", \"\" },\n { \"rds_slow_ttl\", \"180\" },\n { \"rds_perf_enabled\", \"false\" },\n { \"rds_perf_collection_policy\", \"\" },\n { \"rds_perf_ttl\", \"180\" },\n { \"vpc_flow_enabled\", \"false\" },\n { \"vpc_flow_ttl\", \"7\" },\n { \"vpc_flow_collection_policy\", \"\" },\n { \"vpc_sync_enabled\", \"true\" },\n { \"vpc_sync_ttl\", \"180\" },\n { \"polardb_enabled\", \"true\" },\n { \"polardb_audit_collection_policy\", \"\" },\n { \"polardb_ttl\", \"180\" },\n { \"polardb_slow_enabled\", \"false\" },\n { \"polardb_slow_collection_policy\", \"\" },\n { \"polardb_slow_ttl\", \"180\" },\n { \"polardb_perf_enabled\", \"false\" },\n { \"polardb_perf_collection_policy\", \"\" },\n { \"polardb_perf_ttl\", \"180\" },\n { \"drds_audit_enabled\", \"true\" },\n { \"drds_audit_collection_policy\", \"\" },\n { \"drds_audit_ttl\", \"7\" },\n { \"drds_sync_enabled\", \"true\" },\n { \"drds_sync_ttl\", \"180\" },\n { \"slb_access_enabled\", \"true\" },\n { \"slb_access_collection_policy\", \"\" },\n { \"slb_access_ttl\", \"7\" },\n { \"slb_sync_enabled\", \"true\" },\n { \"slb_sync_ttl\", \"180\" },\n { \"bastion_enabled\", \"true\" },\n { \"bastion_ttl\", \"180\" },\n { \"waf_enabled\", \"true\" },\n { \"waf_ttl\", \"180\" },\n { \"cloudfirewall_enabled\", \"true\" },\n { \"cloudfirewall_ttl\", \"180\" },\n { \"ddos_coo_access_enabled\", \"false\" },\n { \"ddos_coo_access_ttl\", \"180\" },\n { \"ddos_bgp_access_enabled\", \"false\" },\n { \"ddos_bgp_access_ttl\", \"180\" },\n { \"ddos_dip_access_enabled\", \"false\" },\n { \"ddos_dip_access_ttl\", \"180\" },\n { \"sas_crack_enabled\", \"true\" },\n { \"sas_dns_enabled\", \"true\" },\n { \"sas_http_enabled\", \"true\" },\n { \"sas_local_dns_enabled\", \"true\" },\n { \"sas_login_enabled\", \"true\" },\n { \"sas_network_enabled\", \"true\" },\n { \"sas_process_enabled\", \"true\" },\n { \"sas_security_alert_enabled\", \"true\" },\n { \"sas_security_hc_enabled\", \"true\" },\n { \"sas_security_vul_enabled\", \"true\" },\n { \"sas_session_enabled\", \"true\" },\n { \"sas_snapshot_account_enabled\", \"true\" },\n { \"sas_snapshot_port_enabled\", \"true\" },\n { \"sas_snapshot_process_enabled\", \"true\" },\n { \"sas_ttl\", \"180\" },\n { \"apigateway_enabled\", \"true\" },\n { \"apigateway_ttl\", \"180\" },\n { \"nas_enabled\", \"true\" },\n { \"nas_ttl\", \"180\" },\n { \"appconnect_enabled\", \"false\" },\n { \"appconnect_ttl\", \"180\" },\n { \"cps_enabled\", \"true\" },\n { \"cps_ttl\", \"180\" },\n { \"k8s_audit_enabled\", \"true\" },\n { \"k8s_audit_collection_policy\", \"\" },\n { \"k8s_audit_ttl\", \"180\" },\n { \"k8s_event_enabled\", \"true\" },\n { \"k8s_event_collection_policy\", \"\" },\n { \"k8s_event_ttl\", \"180\" },\n { \"k8s_ingress_enabled\", \"true\" },\n { \"k8s_ingress_collection_policy\", \"\" },\n { \"k8s_ingress_ttl\", \"180\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"oss_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_metering_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_metering_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"rds_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_slow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"rds_slow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_slow_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_perf_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"rds_perf_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_perf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"vpc_flow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"vpc_flow_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"vpc_flow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"vpc_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"vpc_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"polardb_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_slow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"polardb_slow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_slow_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_perf_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"polardb_perf_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_perf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"drds_audit_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"drds_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"drds_audit_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"drds_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"drds_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"slb_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"slb_access_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"slb_access_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"slb_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"slb_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"bastion_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"bastion_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"waf_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"waf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"cloudfirewall_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"cloudfirewall_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_coo_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_coo_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_bgp_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_bgp_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_dip_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_dip_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"sas_crack_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_dns_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_http_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_local_dns_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_login_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_network_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_process_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_alert_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_hc_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_vul_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_session_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_account_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_port_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_process_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"apigateway_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"apigateway_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"nas_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"nas_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"appconnect_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"appconnect_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"cps_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"cps_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_audit_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_audit_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_event_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_event_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_event_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_ingress_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_ingress_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_ingress_ttl\": pulumi.String(\"180\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"7\"),\n Map.entry(\"oss_sync_enabled\", \"true\"),\n Map.entry(\"oss_sync_ttl\", \"180\"),\n Map.entry(\"oss_metering_enabled\", \"true\"),\n Map.entry(\"oss_metering_ttl\", \"180\"),\n Map.entry(\"rds_enabled\", \"true\"),\n Map.entry(\"rds_audit_collection_policy\", \"\"),\n Map.entry(\"rds_ttl\", \"180\"),\n Map.entry(\"rds_slow_enabled\", \"false\"),\n Map.entry(\"rds_slow_collection_policy\", \"\"),\n Map.entry(\"rds_slow_ttl\", \"180\"),\n Map.entry(\"rds_perf_enabled\", \"false\"),\n Map.entry(\"rds_perf_collection_policy\", \"\"),\n Map.entry(\"rds_perf_ttl\", \"180\"),\n Map.entry(\"vpc_flow_enabled\", \"false\"),\n Map.entry(\"vpc_flow_ttl\", \"7\"),\n Map.entry(\"vpc_flow_collection_policy\", \"\"),\n Map.entry(\"vpc_sync_enabled\", \"true\"),\n Map.entry(\"vpc_sync_ttl\", \"180\"),\n Map.entry(\"polardb_enabled\", \"true\"),\n Map.entry(\"polardb_audit_collection_policy\", \"\"),\n Map.entry(\"polardb_ttl\", \"180\"),\n Map.entry(\"polardb_slow_enabled\", \"false\"),\n Map.entry(\"polardb_slow_collection_policy\", \"\"),\n Map.entry(\"polardb_slow_ttl\", \"180\"),\n Map.entry(\"polardb_perf_enabled\", \"false\"),\n Map.entry(\"polardb_perf_collection_policy\", \"\"),\n Map.entry(\"polardb_perf_ttl\", \"180\"),\n Map.entry(\"drds_audit_enabled\", \"true\"),\n Map.entry(\"drds_audit_collection_policy\", \"\"),\n Map.entry(\"drds_audit_ttl\", \"7\"),\n Map.entry(\"drds_sync_enabled\", \"true\"),\n Map.entry(\"drds_sync_ttl\", \"180\"),\n Map.entry(\"slb_access_enabled\", \"true\"),\n Map.entry(\"slb_access_collection_policy\", \"\"),\n Map.entry(\"slb_access_ttl\", \"7\"),\n Map.entry(\"slb_sync_enabled\", \"true\"),\n Map.entry(\"slb_sync_ttl\", \"180\"),\n Map.entry(\"bastion_enabled\", \"true\"),\n Map.entry(\"bastion_ttl\", \"180\"),\n Map.entry(\"waf_enabled\", \"true\"),\n Map.entry(\"waf_ttl\", \"180\"),\n Map.entry(\"cloudfirewall_enabled\", \"true\"),\n Map.entry(\"cloudfirewall_ttl\", \"180\"),\n Map.entry(\"ddos_coo_access_enabled\", \"false\"),\n Map.entry(\"ddos_coo_access_ttl\", \"180\"),\n Map.entry(\"ddos_bgp_access_enabled\", \"false\"),\n Map.entry(\"ddos_bgp_access_ttl\", \"180\"),\n Map.entry(\"ddos_dip_access_enabled\", \"false\"),\n Map.entry(\"ddos_dip_access_ttl\", \"180\"),\n Map.entry(\"sas_crack_enabled\", \"true\"),\n Map.entry(\"sas_dns_enabled\", \"true\"),\n Map.entry(\"sas_http_enabled\", \"true\"),\n Map.entry(\"sas_local_dns_enabled\", \"true\"),\n Map.entry(\"sas_login_enabled\", \"true\"),\n Map.entry(\"sas_network_enabled\", \"true\"),\n Map.entry(\"sas_process_enabled\", \"true\"),\n Map.entry(\"sas_security_alert_enabled\", \"true\"),\n Map.entry(\"sas_security_hc_enabled\", \"true\"),\n Map.entry(\"sas_security_vul_enabled\", \"true\"),\n Map.entry(\"sas_session_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_account_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_port_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_process_enabled\", \"true\"),\n Map.entry(\"sas_ttl\", \"180\"),\n Map.entry(\"apigateway_enabled\", \"true\"),\n Map.entry(\"apigateway_ttl\", \"180\"),\n Map.entry(\"nas_enabled\", \"true\"),\n Map.entry(\"nas_ttl\", \"180\"),\n Map.entry(\"appconnect_enabled\", \"false\"),\n Map.entry(\"appconnect_ttl\", \"180\"),\n Map.entry(\"cps_enabled\", \"true\"),\n Map.entry(\"cps_ttl\", \"180\"),\n Map.entry(\"k8s_audit_enabled\", \"true\"),\n Map.entry(\"k8s_audit_collection_policy\", \"\"),\n Map.entry(\"k8s_audit_ttl\", \"180\"),\n Map.entry(\"k8s_event_enabled\", \"true\"),\n Map.entry(\"k8s_event_collection_policy\", \"\"),\n Map.entry(\"k8s_event_ttl\", \"180\"),\n Map.entry(\"k8s_ingress_enabled\", \"true\"),\n Map.entry(\"k8s_ingress_collection_policy\", \"\"),\n Map.entry(\"k8s_ingress_ttl\", \"180\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '7'\n oss_sync_enabled: 'true'\n oss_sync_ttl: '180'\n oss_metering_enabled: 'true'\n oss_metering_ttl: '180'\n rds_enabled: 'true'\n rds_audit_collection_policy: \"\"\n rds_ttl: '180'\n rds_slow_enabled: 'false'\n rds_slow_collection_policy: \"\"\n rds_slow_ttl: '180'\n rds_perf_enabled: 'false'\n rds_perf_collection_policy: \"\"\n rds_perf_ttl: '180'\n vpc_flow_enabled: 'false'\n vpc_flow_ttl: '7'\n vpc_flow_collection_policy: \"\"\n vpc_sync_enabled: 'true'\n vpc_sync_ttl: '180'\n polardb_enabled: 'true'\n polardb_audit_collection_policy: \"\"\n polardb_ttl: '180'\n polardb_slow_enabled: 'false'\n polardb_slow_collection_policy: \"\"\n polardb_slow_ttl: '180'\n polardb_perf_enabled: 'false'\n polardb_perf_collection_policy: \"\"\n polardb_perf_ttl: '180'\n drds_audit_enabled: 'true'\n drds_audit_collection_policy: \"\"\n drds_audit_ttl: '7'\n drds_sync_enabled: 'true'\n drds_sync_ttl: '180'\n slb_access_enabled: 'true'\n slb_access_collection_policy: \"\"\n slb_access_ttl: '7'\n slb_sync_enabled: 'true'\n slb_sync_ttl: '180'\n bastion_enabled: 'true'\n bastion_ttl: '180'\n waf_enabled: 'true'\n waf_ttl: '180'\n cloudfirewall_enabled: 'true'\n cloudfirewall_ttl: '180'\n ddos_coo_access_enabled: 'false'\n ddos_coo_access_ttl: '180'\n ddos_bgp_access_enabled: 'false'\n ddos_bgp_access_ttl: '180'\n ddos_dip_access_enabled: 'false'\n ddos_dip_access_ttl: '180'\n sas_crack_enabled: 'true'\n sas_dns_enabled: 'true'\n sas_http_enabled: 'true'\n sas_local_dns_enabled: 'true'\n sas_login_enabled: 'true'\n sas_network_enabled: 'true'\n sas_process_enabled: 'true'\n sas_security_alert_enabled: 'true'\n sas_security_hc_enabled: 'true'\n sas_security_vul_enabled: 'true'\n sas_session_enabled: 'true'\n sas_snapshot_account_enabled: 'true'\n sas_snapshot_port_enabled: 'true'\n sas_snapshot_process_enabled: 'true'\n sas_ttl: '180'\n apigateway_enabled: 'true'\n apigateway_ttl: '180'\n nas_enabled: 'true'\n nas_ttl: '180'\n appconnect_enabled: 'false'\n appconnect_ttl: '180'\n cps_enabled: 'true'\n cps_ttl: '180'\n k8s_audit_enabled: 'true'\n k8s_audit_collection_policy: \"\"\n k8s_audit_ttl: '180'\n k8s_event_enabled: 'true'\n k8s_event_collection_policy: \"\"\n k8s_event_ttl: '180'\n k8s_ingress_enabled: 'true'\n k8s_ingress_collection_policy: \"\"\n k8s_ingress_ttl: '180'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nMultiple accounts Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n multiAccounts: [\n \"123456789123\",\n \"12345678912300123\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n multi_accounts=[\n \"123456789123\",\n \"12345678912300123\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n MultiAccounts = new[]\n {\n \"123456789123\",\n \"12345678912300123\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tMultiAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789123\"),\n\t\t\t\tpulumi.String(\"12345678912300123\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .multiAccounts( \n \"123456789123\",\n \"12345678912300123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n multiAccounts:\n - '123456789123'\n - '12345678912300123'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nResource Directory Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n resourceDirectoryType: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n resource_directory_type=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n ResourceDirectoryType = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tResourceDirectoryType: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .resourceDirectoryType(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n resourceDirectoryType: all\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n multiAccounts: [],\n resourceDirectoryType: \"custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n multi_accounts=[],\n resource_directory_type=\"custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n MultiAccounts = new[] {},\n ResourceDirectoryType = \"custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tMultiAccounts: pulumi.StringArray{},\n\t\t\tResourceDirectoryType: pulumi.String(\"custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .multiAccounts()\n .resourceDirectoryType(\"custom\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n multiAccounts: # Put your member accounts here, separated by \",\"\n[]\n resourceDirectoryType: custom\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog audit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/audit:Audit example tf-audit-example\n```\n\n", + "description": "SLS log audit exists in the form of log service app.\n\nIn addition to inheriting all SLS functions, it also enhances the real-time automatic centralized collection of audit related logs across multi cloud products under multi accounts, and provides support for storage, query and information summary required by audit. It covers actiontrail, OSS, NAS, SLB, API gateway, RDS, WAF, cloud firewall, cloud security center and other products.\n\n\u003e **NOTE:** Available since v1.81.0\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"7\",\n oss_sync_enabled: \"true\",\n oss_sync_ttl: \"180\",\n oss_metering_enabled: \"true\",\n oss_metering_ttl: \"180\",\n rds_enabled: \"true\",\n rds_audit_collection_policy: \"\",\n rds_ttl: \"180\",\n rds_slow_enabled: \"false\",\n rds_slow_collection_policy: \"\",\n rds_slow_ttl: \"180\",\n rds_perf_enabled: \"false\",\n rds_perf_collection_policy: \"\",\n rds_perf_ttl: \"180\",\n vpc_flow_enabled: \"false\",\n vpc_flow_ttl: \"7\",\n vpc_flow_collection_policy: \"\",\n vpc_sync_enabled: \"true\",\n vpc_sync_ttl: \"180\",\n polardb_enabled: \"true\",\n polardb_audit_collection_policy: \"\",\n polardb_ttl: \"180\",\n polardb_slow_enabled: \"false\",\n polardb_slow_collection_policy: \"\",\n polardb_slow_ttl: \"180\",\n polardb_perf_enabled: \"false\",\n polardb_perf_collection_policy: \"\",\n polardb_perf_ttl: \"180\",\n drds_audit_enabled: \"true\",\n drds_audit_collection_policy: \"\",\n drds_audit_ttl: \"7\",\n drds_sync_enabled: \"true\",\n drds_sync_ttl: \"180\",\n slb_access_enabled: \"true\",\n slb_access_collection_policy: \"\",\n slb_access_ttl: \"7\",\n slb_sync_enabled: \"true\",\n slb_sync_ttl: \"180\",\n bastion_enabled: \"true\",\n bastion_ttl: \"180\",\n waf_enabled: \"true\",\n waf_ttl: \"180\",\n cloudfirewall_enabled: \"true\",\n cloudfirewall_ttl: \"180\",\n ddos_coo_access_enabled: \"false\",\n ddos_coo_access_ttl: \"180\",\n ddos_bgp_access_enabled: \"false\",\n ddos_bgp_access_ttl: \"180\",\n ddos_dip_access_enabled: \"false\",\n ddos_dip_access_ttl: \"180\",\n sas_crack_enabled: \"true\",\n sas_dns_enabled: \"true\",\n sas_http_enabled: \"true\",\n sas_local_dns_enabled: \"true\",\n sas_login_enabled: \"true\",\n sas_network_enabled: \"true\",\n sas_process_enabled: \"true\",\n sas_security_alert_enabled: \"true\",\n sas_security_hc_enabled: \"true\",\n sas_security_vul_enabled: \"true\",\n sas_session_enabled: \"true\",\n sas_snapshot_account_enabled: \"true\",\n sas_snapshot_port_enabled: \"true\",\n sas_snapshot_process_enabled: \"true\",\n sas_ttl: \"180\",\n apigateway_enabled: \"true\",\n apigateway_ttl: \"180\",\n nas_enabled: \"true\",\n nas_ttl: \"180\",\n appconnect_enabled: \"false\",\n appconnect_ttl: \"180\",\n cps_enabled: \"true\",\n cps_ttl: \"180\",\n k8s_audit_enabled: \"true\",\n k8s_audit_collection_policy: \"\",\n k8s_audit_ttl: \"180\",\n k8s_event_enabled: \"true\",\n k8s_event_collection_policy: \"\",\n k8s_event_ttl: \"180\",\n k8s_ingress_enabled: \"true\",\n k8s_ingress_collection_policy: \"\",\n k8s_ingress_ttl: \"180\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"7\",\n \"oss_sync_enabled\": \"true\",\n \"oss_sync_ttl\": \"180\",\n \"oss_metering_enabled\": \"true\",\n \"oss_metering_ttl\": \"180\",\n \"rds_enabled\": \"true\",\n \"rds_audit_collection_policy\": \"\",\n \"rds_ttl\": \"180\",\n \"rds_slow_enabled\": \"false\",\n \"rds_slow_collection_policy\": \"\",\n \"rds_slow_ttl\": \"180\",\n \"rds_perf_enabled\": \"false\",\n \"rds_perf_collection_policy\": \"\",\n \"rds_perf_ttl\": \"180\",\n \"vpc_flow_enabled\": \"false\",\n \"vpc_flow_ttl\": \"7\",\n \"vpc_flow_collection_policy\": \"\",\n \"vpc_sync_enabled\": \"true\",\n \"vpc_sync_ttl\": \"180\",\n \"polardb_enabled\": \"true\",\n \"polardb_audit_collection_policy\": \"\",\n \"polardb_ttl\": \"180\",\n \"polardb_slow_enabled\": \"false\",\n \"polardb_slow_collection_policy\": \"\",\n \"polardb_slow_ttl\": \"180\",\n \"polardb_perf_enabled\": \"false\",\n \"polardb_perf_collection_policy\": \"\",\n \"polardb_perf_ttl\": \"180\",\n \"drds_audit_enabled\": \"true\",\n \"drds_audit_collection_policy\": \"\",\n \"drds_audit_ttl\": \"7\",\n \"drds_sync_enabled\": \"true\",\n \"drds_sync_ttl\": \"180\",\n \"slb_access_enabled\": \"true\",\n \"slb_access_collection_policy\": \"\",\n \"slb_access_ttl\": \"7\",\n \"slb_sync_enabled\": \"true\",\n \"slb_sync_ttl\": \"180\",\n \"bastion_enabled\": \"true\",\n \"bastion_ttl\": \"180\",\n \"waf_enabled\": \"true\",\n \"waf_ttl\": \"180\",\n \"cloudfirewall_enabled\": \"true\",\n \"cloudfirewall_ttl\": \"180\",\n \"ddos_coo_access_enabled\": \"false\",\n \"ddos_coo_access_ttl\": \"180\",\n \"ddos_bgp_access_enabled\": \"false\",\n \"ddos_bgp_access_ttl\": \"180\",\n \"ddos_dip_access_enabled\": \"false\",\n \"ddos_dip_access_ttl\": \"180\",\n \"sas_crack_enabled\": \"true\",\n \"sas_dns_enabled\": \"true\",\n \"sas_http_enabled\": \"true\",\n \"sas_local_dns_enabled\": \"true\",\n \"sas_login_enabled\": \"true\",\n \"sas_network_enabled\": \"true\",\n \"sas_process_enabled\": \"true\",\n \"sas_security_alert_enabled\": \"true\",\n \"sas_security_hc_enabled\": \"true\",\n \"sas_security_vul_enabled\": \"true\",\n \"sas_session_enabled\": \"true\",\n \"sas_snapshot_account_enabled\": \"true\",\n \"sas_snapshot_port_enabled\": \"true\",\n \"sas_snapshot_process_enabled\": \"true\",\n \"sas_ttl\": \"180\",\n \"apigateway_enabled\": \"true\",\n \"apigateway_ttl\": \"180\",\n \"nas_enabled\": \"true\",\n \"nas_ttl\": \"180\",\n \"appconnect_enabled\": \"false\",\n \"appconnect_ttl\": \"180\",\n \"cps_enabled\": \"true\",\n \"cps_ttl\": \"180\",\n \"k8s_audit_enabled\": \"true\",\n \"k8s_audit_collection_policy\": \"\",\n \"k8s_audit_ttl\": \"180\",\n \"k8s_event_enabled\": \"true\",\n \"k8s_event_collection_policy\": \"\",\n \"k8s_event_ttl\": \"180\",\n \"k8s_ingress_enabled\": \"true\",\n \"k8s_ingress_collection_policy\": \"\",\n \"k8s_ingress_ttl\": \"180\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"7\" },\n { \"oss_sync_enabled\", \"true\" },\n { \"oss_sync_ttl\", \"180\" },\n { \"oss_metering_enabled\", \"true\" },\n { \"oss_metering_ttl\", \"180\" },\n { \"rds_enabled\", \"true\" },\n { \"rds_audit_collection_policy\", \"\" },\n { \"rds_ttl\", \"180\" },\n { \"rds_slow_enabled\", \"false\" },\n { \"rds_slow_collection_policy\", \"\" },\n { \"rds_slow_ttl\", \"180\" },\n { \"rds_perf_enabled\", \"false\" },\n { \"rds_perf_collection_policy\", \"\" },\n { \"rds_perf_ttl\", \"180\" },\n { \"vpc_flow_enabled\", \"false\" },\n { \"vpc_flow_ttl\", \"7\" },\n { \"vpc_flow_collection_policy\", \"\" },\n { \"vpc_sync_enabled\", \"true\" },\n { \"vpc_sync_ttl\", \"180\" },\n { \"polardb_enabled\", \"true\" },\n { \"polardb_audit_collection_policy\", \"\" },\n { \"polardb_ttl\", \"180\" },\n { \"polardb_slow_enabled\", \"false\" },\n { \"polardb_slow_collection_policy\", \"\" },\n { \"polardb_slow_ttl\", \"180\" },\n { \"polardb_perf_enabled\", \"false\" },\n { \"polardb_perf_collection_policy\", \"\" },\n { \"polardb_perf_ttl\", \"180\" },\n { \"drds_audit_enabled\", \"true\" },\n { \"drds_audit_collection_policy\", \"\" },\n { \"drds_audit_ttl\", \"7\" },\n { \"drds_sync_enabled\", \"true\" },\n { \"drds_sync_ttl\", \"180\" },\n { \"slb_access_enabled\", \"true\" },\n { \"slb_access_collection_policy\", \"\" },\n { \"slb_access_ttl\", \"7\" },\n { \"slb_sync_enabled\", \"true\" },\n { \"slb_sync_ttl\", \"180\" },\n { \"bastion_enabled\", \"true\" },\n { \"bastion_ttl\", \"180\" },\n { \"waf_enabled\", \"true\" },\n { \"waf_ttl\", \"180\" },\n { \"cloudfirewall_enabled\", \"true\" },\n { \"cloudfirewall_ttl\", \"180\" },\n { \"ddos_coo_access_enabled\", \"false\" },\n { \"ddos_coo_access_ttl\", \"180\" },\n { \"ddos_bgp_access_enabled\", \"false\" },\n { \"ddos_bgp_access_ttl\", \"180\" },\n { \"ddos_dip_access_enabled\", \"false\" },\n { \"ddos_dip_access_ttl\", \"180\" },\n { \"sas_crack_enabled\", \"true\" },\n { \"sas_dns_enabled\", \"true\" },\n { \"sas_http_enabled\", \"true\" },\n { \"sas_local_dns_enabled\", \"true\" },\n { \"sas_login_enabled\", \"true\" },\n { \"sas_network_enabled\", \"true\" },\n { \"sas_process_enabled\", \"true\" },\n { \"sas_security_alert_enabled\", \"true\" },\n { \"sas_security_hc_enabled\", \"true\" },\n { \"sas_security_vul_enabled\", \"true\" },\n { \"sas_session_enabled\", \"true\" },\n { \"sas_snapshot_account_enabled\", \"true\" },\n { \"sas_snapshot_port_enabled\", \"true\" },\n { \"sas_snapshot_process_enabled\", \"true\" },\n { \"sas_ttl\", \"180\" },\n { \"apigateway_enabled\", \"true\" },\n { \"apigateway_ttl\", \"180\" },\n { \"nas_enabled\", \"true\" },\n { \"nas_ttl\", \"180\" },\n { \"appconnect_enabled\", \"false\" },\n { \"appconnect_ttl\", \"180\" },\n { \"cps_enabled\", \"true\" },\n { \"cps_ttl\", \"180\" },\n { \"k8s_audit_enabled\", \"true\" },\n { \"k8s_audit_collection_policy\", \"\" },\n { \"k8s_audit_ttl\", \"180\" },\n { \"k8s_event_enabled\", \"true\" },\n { \"k8s_event_collection_policy\", \"\" },\n { \"k8s_event_ttl\", \"180\" },\n { \"k8s_ingress_enabled\", \"true\" },\n { \"k8s_ingress_collection_policy\", \"\" },\n { \"k8s_ingress_ttl\", \"180\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"oss_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_metering_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_metering_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"rds_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_slow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"rds_slow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_slow_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"rds_perf_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"rds_perf_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"rds_perf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"vpc_flow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"vpc_flow_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"vpc_flow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"vpc_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"vpc_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"polardb_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_slow_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"polardb_slow_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_slow_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"polardb_perf_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"polardb_perf_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"polardb_perf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"drds_audit_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"drds_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"drds_audit_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"drds_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"drds_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"slb_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"slb_access_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"slb_access_ttl\": pulumi.String(\"7\"),\n\t\t\t\t\"slb_sync_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"slb_sync_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"bastion_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"bastion_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"waf_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"waf_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"cloudfirewall_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"cloudfirewall_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_coo_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_coo_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_bgp_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_bgp_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"ddos_dip_access_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"ddos_dip_access_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"sas_crack_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_dns_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_http_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_local_dns_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_login_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_network_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_process_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_alert_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_hc_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_security_vul_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_session_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_account_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_port_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_snapshot_process_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"sas_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"apigateway_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"apigateway_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"nas_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"nas_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"appconnect_enabled\": pulumi.String(\"false\"),\n\t\t\t\t\"appconnect_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"cps_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"cps_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_audit_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_audit_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_audit_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_event_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_event_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_event_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"k8s_ingress_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"k8s_ingress_collection_policy\": pulumi.String(\"\"),\n\t\t\t\t\"k8s_ingress_ttl\": pulumi.String(\"180\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"7\"),\n Map.entry(\"oss_sync_enabled\", \"true\"),\n Map.entry(\"oss_sync_ttl\", \"180\"),\n Map.entry(\"oss_metering_enabled\", \"true\"),\n Map.entry(\"oss_metering_ttl\", \"180\"),\n Map.entry(\"rds_enabled\", \"true\"),\n Map.entry(\"rds_audit_collection_policy\", \"\"),\n Map.entry(\"rds_ttl\", \"180\"),\n Map.entry(\"rds_slow_enabled\", \"false\"),\n Map.entry(\"rds_slow_collection_policy\", \"\"),\n Map.entry(\"rds_slow_ttl\", \"180\"),\n Map.entry(\"rds_perf_enabled\", \"false\"),\n Map.entry(\"rds_perf_collection_policy\", \"\"),\n Map.entry(\"rds_perf_ttl\", \"180\"),\n Map.entry(\"vpc_flow_enabled\", \"false\"),\n Map.entry(\"vpc_flow_ttl\", \"7\"),\n Map.entry(\"vpc_flow_collection_policy\", \"\"),\n Map.entry(\"vpc_sync_enabled\", \"true\"),\n Map.entry(\"vpc_sync_ttl\", \"180\"),\n Map.entry(\"polardb_enabled\", \"true\"),\n Map.entry(\"polardb_audit_collection_policy\", \"\"),\n Map.entry(\"polardb_ttl\", \"180\"),\n Map.entry(\"polardb_slow_enabled\", \"false\"),\n Map.entry(\"polardb_slow_collection_policy\", \"\"),\n Map.entry(\"polardb_slow_ttl\", \"180\"),\n Map.entry(\"polardb_perf_enabled\", \"false\"),\n Map.entry(\"polardb_perf_collection_policy\", \"\"),\n Map.entry(\"polardb_perf_ttl\", \"180\"),\n Map.entry(\"drds_audit_enabled\", \"true\"),\n Map.entry(\"drds_audit_collection_policy\", \"\"),\n Map.entry(\"drds_audit_ttl\", \"7\"),\n Map.entry(\"drds_sync_enabled\", \"true\"),\n Map.entry(\"drds_sync_ttl\", \"180\"),\n Map.entry(\"slb_access_enabled\", \"true\"),\n Map.entry(\"slb_access_collection_policy\", \"\"),\n Map.entry(\"slb_access_ttl\", \"7\"),\n Map.entry(\"slb_sync_enabled\", \"true\"),\n Map.entry(\"slb_sync_ttl\", \"180\"),\n Map.entry(\"bastion_enabled\", \"true\"),\n Map.entry(\"bastion_ttl\", \"180\"),\n Map.entry(\"waf_enabled\", \"true\"),\n Map.entry(\"waf_ttl\", \"180\"),\n Map.entry(\"cloudfirewall_enabled\", \"true\"),\n Map.entry(\"cloudfirewall_ttl\", \"180\"),\n Map.entry(\"ddos_coo_access_enabled\", \"false\"),\n Map.entry(\"ddos_coo_access_ttl\", \"180\"),\n Map.entry(\"ddos_bgp_access_enabled\", \"false\"),\n Map.entry(\"ddos_bgp_access_ttl\", \"180\"),\n Map.entry(\"ddos_dip_access_enabled\", \"false\"),\n Map.entry(\"ddos_dip_access_ttl\", \"180\"),\n Map.entry(\"sas_crack_enabled\", \"true\"),\n Map.entry(\"sas_dns_enabled\", \"true\"),\n Map.entry(\"sas_http_enabled\", \"true\"),\n Map.entry(\"sas_local_dns_enabled\", \"true\"),\n Map.entry(\"sas_login_enabled\", \"true\"),\n Map.entry(\"sas_network_enabled\", \"true\"),\n Map.entry(\"sas_process_enabled\", \"true\"),\n Map.entry(\"sas_security_alert_enabled\", \"true\"),\n Map.entry(\"sas_security_hc_enabled\", \"true\"),\n Map.entry(\"sas_security_vul_enabled\", \"true\"),\n Map.entry(\"sas_session_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_account_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_port_enabled\", \"true\"),\n Map.entry(\"sas_snapshot_process_enabled\", \"true\"),\n Map.entry(\"sas_ttl\", \"180\"),\n Map.entry(\"apigateway_enabled\", \"true\"),\n Map.entry(\"apigateway_ttl\", \"180\"),\n Map.entry(\"nas_enabled\", \"true\"),\n Map.entry(\"nas_ttl\", \"180\"),\n Map.entry(\"appconnect_enabled\", \"false\"),\n Map.entry(\"appconnect_ttl\", \"180\"),\n Map.entry(\"cps_enabled\", \"true\"),\n Map.entry(\"cps_ttl\", \"180\"),\n Map.entry(\"k8s_audit_enabled\", \"true\"),\n Map.entry(\"k8s_audit_collection_policy\", \"\"),\n Map.entry(\"k8s_audit_ttl\", \"180\"),\n Map.entry(\"k8s_event_enabled\", \"true\"),\n Map.entry(\"k8s_event_collection_policy\", \"\"),\n Map.entry(\"k8s_event_ttl\", \"180\"),\n Map.entry(\"k8s_ingress_enabled\", \"true\"),\n Map.entry(\"k8s_ingress_collection_policy\", \"\"),\n Map.entry(\"k8s_ingress_ttl\", \"180\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '7'\n oss_sync_enabled: 'true'\n oss_sync_ttl: '180'\n oss_metering_enabled: 'true'\n oss_metering_ttl: '180'\n rds_enabled: 'true'\n rds_audit_collection_policy: \"\"\n rds_ttl: '180'\n rds_slow_enabled: 'false'\n rds_slow_collection_policy: \"\"\n rds_slow_ttl: '180'\n rds_perf_enabled: 'false'\n rds_perf_collection_policy: \"\"\n rds_perf_ttl: '180'\n vpc_flow_enabled: 'false'\n vpc_flow_ttl: '7'\n vpc_flow_collection_policy: \"\"\n vpc_sync_enabled: 'true'\n vpc_sync_ttl: '180'\n polardb_enabled: 'true'\n polardb_audit_collection_policy: \"\"\n polardb_ttl: '180'\n polardb_slow_enabled: 'false'\n polardb_slow_collection_policy: \"\"\n polardb_slow_ttl: '180'\n polardb_perf_enabled: 'false'\n polardb_perf_collection_policy: \"\"\n polardb_perf_ttl: '180'\n drds_audit_enabled: 'true'\n drds_audit_collection_policy: \"\"\n drds_audit_ttl: '7'\n drds_sync_enabled: 'true'\n drds_sync_ttl: '180'\n slb_access_enabled: 'true'\n slb_access_collection_policy: \"\"\n slb_access_ttl: '7'\n slb_sync_enabled: 'true'\n slb_sync_ttl: '180'\n bastion_enabled: 'true'\n bastion_ttl: '180'\n waf_enabled: 'true'\n waf_ttl: '180'\n cloudfirewall_enabled: 'true'\n cloudfirewall_ttl: '180'\n ddos_coo_access_enabled: 'false'\n ddos_coo_access_ttl: '180'\n ddos_bgp_access_enabled: 'false'\n ddos_bgp_access_ttl: '180'\n ddos_dip_access_enabled: 'false'\n ddos_dip_access_ttl: '180'\n sas_crack_enabled: 'true'\n sas_dns_enabled: 'true'\n sas_http_enabled: 'true'\n sas_local_dns_enabled: 'true'\n sas_login_enabled: 'true'\n sas_network_enabled: 'true'\n sas_process_enabled: 'true'\n sas_security_alert_enabled: 'true'\n sas_security_hc_enabled: 'true'\n sas_security_vul_enabled: 'true'\n sas_session_enabled: 'true'\n sas_snapshot_account_enabled: 'true'\n sas_snapshot_port_enabled: 'true'\n sas_snapshot_process_enabled: 'true'\n sas_ttl: '180'\n apigateway_enabled: 'true'\n apigateway_ttl: '180'\n nas_enabled: 'true'\n nas_ttl: '180'\n appconnect_enabled: 'false'\n appconnect_ttl: '180'\n cps_enabled: 'true'\n cps_ttl: '180'\n k8s_audit_enabled: 'true'\n k8s_audit_collection_policy: \"\"\n k8s_audit_ttl: '180'\n k8s_event_enabled: 'true'\n k8s_event_collection_policy: \"\"\n k8s_event_ttl: '180'\n k8s_ingress_enabled: 'true'\n k8s_ingress_collection_policy: \"\"\n k8s_ingress_ttl: '180'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nMultiple accounts Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n multiAccounts: [\n \"123456789123\",\n \"12345678912300123\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n multi_accounts=[\n \"123456789123\",\n \"12345678912300123\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n MultiAccounts = new[]\n {\n \"123456789123\",\n \"12345678912300123\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tMultiAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789123\"),\n\t\t\t\tpulumi.String(\"12345678912300123\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .multiAccounts( \n \"123456789123\",\n \"12345678912300123\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n multiAccounts:\n - '123456789123'\n - '12345678912300123'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\nResource Directory Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n resourceDirectoryType: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n resource_directory_type=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n ResourceDirectoryType = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tResourceDirectoryType: pulumi.String(\"all\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .resourceDirectoryType(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n resourceDirectoryType: all\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.log.Audit(\"example\", {\n displayName: \"tf-audit-example\",\n aliuid: _default.then(_default =\u003e _default.id),\n variableMap: {\n actiontrail_enabled: \"true\",\n actiontrail_ttl: \"180\",\n oss_access_enabled: \"true\",\n oss_access_ttl: \"180\",\n },\n multiAccounts: [],\n resourceDirectoryType: \"custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nexample = alicloud.log.Audit(\"example\",\n display_name=\"tf-audit-example\",\n aliuid=default.id,\n variable_map={\n \"actiontrail_enabled\": \"true\",\n \"actiontrail_ttl\": \"180\",\n \"oss_access_enabled\": \"true\",\n \"oss_access_ttl\": \"180\",\n },\n multi_accounts=[],\n resource_directory_type=\"custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Log.Audit(\"example\", new()\n {\n DisplayName = \"tf-audit-example\",\n Aliuid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n VariableMap = \n {\n { \"actiontrail_enabled\", \"true\" },\n { \"actiontrail_ttl\", \"180\" },\n { \"oss_access_enabled\", \"true\" },\n { \"oss_access_ttl\", \"180\" },\n },\n MultiAccounts = new[] {},\n ResourceDirectoryType = \"custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewAudit(ctx, \"example\", \u0026log.AuditArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-audit-example\"),\n\t\t\tAliuid: pulumi.String(_default.Id),\n\t\t\tVariableMap: pulumi.StringMap{\n\t\t\t\t\"actiontrail_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"actiontrail_ttl\": pulumi.String(\"180\"),\n\t\t\t\t\"oss_access_enabled\": pulumi.String(\"true\"),\n\t\t\t\t\"oss_access_ttl\": pulumi.String(\"180\"),\n\t\t\t},\n\t\t\tMultiAccounts: pulumi.StringArray{},\n\t\t\tResourceDirectoryType: pulumi.String(\"custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.log.Audit;\nimport com.pulumi.alicloud.log.AuditArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Audit(\"example\", AuditArgs.builder()\n .displayName(\"tf-audit-example\")\n .aliuid(default_.id())\n .variableMap(Map.ofEntries(\n Map.entry(\"actiontrail_enabled\", \"true\"),\n Map.entry(\"actiontrail_ttl\", \"180\"),\n Map.entry(\"oss_access_enabled\", \"true\"),\n Map.entry(\"oss_access_ttl\", \"180\")\n ))\n .multiAccounts()\n .resourceDirectoryType(\"custom\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Audit\n properties:\n displayName: tf-audit-example\n aliuid: ${default.id}\n variableMap:\n actiontrail_enabled: 'true'\n actiontrail_ttl: '180'\n oss_access_enabled: 'true'\n oss_access_ttl: '180'\n multiAccounts: # Put your member accounts here, separated by \",\"\n[]\n resourceDirectoryType: custom\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog audit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/audit:Audit example tf-audit-example\n```\n\n", "properties": { "aliuid": { "type": "string", @@ -206367,7 +210805,7 @@ } }, "alicloud:log/dashboard:Dashboard": { - "description": "The dashboard is a real-time data analysis platform provided by the log service. You can display frequently used query and analysis statements in the form of charts and save statistical charts to the dashboard.\n[Refer to details](https://www.alibabacloud.com/help/doc-detail/102530.htm).\n\n\u003e **NOTE:** Available since v1.86.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleDashboard = new alicloud.log.Dashboard(\"example\", {\n projectName: example.projectName,\n dashboardName: \"terraform-example\",\n displayName: \"terraform-example\",\n attribute: ` {\n \\\\\"type\\\\\":\\\\\"grid\\\\\"\n }\n`,\n charList: ` [\n {\n \\\\\"action\\\\\": {},\n \\\\\"title\\\\\":\\\\\"new_title\\\\\",\n \\\\\"type\\\\\":\\\\\"map\\\\\",\n \\\\\"search\\\\\":{\n \\\\\"logstore\\\\\":\\\\\"example-store\\\\\",\n \\\\\"topic\\\\\":\\\\\"new_topic\\\\\",\n \\\\\"query\\\\\":\\\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\\\",\n \\\\\"start\\\\\":\\\\\"-86400s\\\\\",\n \\\\\"end\\\\\":\\\\\"now\\\\\"\n },\n \\\\\"display\\\\\":{\n \\\\\"xAxis\\\\\":[\n \\\\\"ct_name\\\\\"\n ],\n \\\\\"yAxis\\\\\":[\n \\\\\"ct_product\\\\\"\n ],\n \\\\\"xPos\\\\\":0,\n \\\\\"yPos\\\\\":0,\n \\\\\"width\\\\\":10,\n \\\\\"height\\\\\":12,\n \\\\\"displayName\\\\\":\\\\\"terraform-example\\\\\"\n }\n }\n ]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_dashboard = alicloud.log.Dashboard(\"example\",\n project_name=example.project_name,\n dashboard_name=\"terraform-example\",\n display_name=\"terraform-example\",\n attribute=\"\"\" {\n \\\"type\\\":\\\"grid\\\"\n }\n\"\"\",\n char_list=\"\"\" [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleDashboard = new AliCloud.Log.Dashboard(\"example\", new()\n {\n ProjectName = example.ProjectName,\n DashboardName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Attribute = @\" {\n \\\"\"type\\\"\":\\\"\"grid\\\"\"\n }\n\",\n CharList = @\" [\n {\n \\\"\"action\\\"\": {},\n \\\"\"title\\\"\":\\\"\"new_title\\\"\",\n \\\"\"type\\\"\":\\\"\"map\\\"\",\n \\\"\"search\\\"\":{\n \\\"\"logstore\\\"\":\\\"\"example-store\\\"\",\n \\\"\"topic\\\"\":\\\"\"new_topic\\\"\",\n \\\"\"query\\\"\":\\\"\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\"\",\n \\\"\"start\\\"\":\\\"\"-86400s\\\"\",\n \\\"\"end\\\"\":\\\"\"now\\\"\"\n },\n \\\"\"display\\\"\":{\n \\\"\"xAxis\\\"\":[\n \\\"\"ct_name\\\"\"\n ],\n \\\"\"yAxis\\\"\":[\n \\\"\"ct_product\\\"\"\n ],\n \\\"\"xPos\\\"\":0,\n \\\"\"yPos\\\"\":0,\n \\\"\"width\\\"\":10,\n \\\"\"height\\\"\":12,\n \\\"\"displayName\\\"\":\\\"\"terraform-example\\\"\"\n }\n }\n ]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewDashboard(ctx, \"example\", \u0026log.DashboardArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tDashboardName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tAttribute: pulumi.String(\" {\\n \\\\\\\"type\\\\\\\":\\\\\\\"grid\\\\\\\"\\n }\\n\"),\n\t\t\tCharList: pulumi.String(` [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Dashboard;\nimport com.pulumi.alicloud.log.DashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleDashboard = new Dashboard(\"exampleDashboard\", DashboardArgs.builder()\n .projectName(example.projectName())\n .dashboardName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .attribute(\"\"\"\n {\n \\\"type\\\":\\\"grid\\\"\n }\n \"\"\")\n .charList(\"\"\"\n [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleDashboard:\n type: alicloud:log:Dashboard\n name: example\n properties:\n projectName: ${example.projectName}\n dashboardName: terraform-example\n displayName: terraform-example\n attribute: |2\n {\n \\\"type\\\":\\\"grid\\\"\n }\n charList: |2\n [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Dashboard can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/dashboard:Dashboard example \u003cproject_name\u003e:\u003cdashboard_name\u003e\n```\n\n", + "description": "The dashboard is a real-time data analysis platform provided by the log service. You can display frequently used query and analysis statements in the form of charts and save statistical charts to the dashboard.\n[Refer to details](https://www.alibabacloud.com/help/doc-detail/102530.htm).\n\n\u003e **NOTE:** Available since v1.86.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleDashboard = new alicloud.log.Dashboard(\"example\", {\n projectName: example.projectName,\n dashboardName: \"terraform-example\",\n displayName: \"terraform-example\",\n attribute: ` {\n \\\\\"type\\\\\":\\\\\"grid\\\\\"\n }\n`,\n charList: ` [\n {\n \\\\\"action\\\\\": {},\n \\\\\"title\\\\\":\\\\\"new_title\\\\\",\n \\\\\"type\\\\\":\\\\\"map\\\\\",\n \\\\\"search\\\\\":{\n \\\\\"logstore\\\\\":\\\\\"example-store\\\\\",\n \\\\\"topic\\\\\":\\\\\"new_topic\\\\\",\n \\\\\"query\\\\\":\\\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\\\",\n \\\\\"start\\\\\":\\\\\"-86400s\\\\\",\n \\\\\"end\\\\\":\\\\\"now\\\\\"\n },\n \\\\\"display\\\\\":{\n \\\\\"xAxis\\\\\":[\n \\\\\"ct_name\\\\\"\n ],\n \\\\\"yAxis\\\\\":[\n \\\\\"ct_product\\\\\"\n ],\n \\\\\"xPos\\\\\":0,\n \\\\\"yPos\\\\\":0,\n \\\\\"width\\\\\":10,\n \\\\\"height\\\\\":12,\n \\\\\"displayName\\\\\":\\\\\"terraform-example\\\\\"\n }\n }\n ]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_dashboard = alicloud.log.Dashboard(\"example\",\n project_name=example.project_name,\n dashboard_name=\"terraform-example\",\n display_name=\"terraform-example\",\n attribute=\"\"\" {\n \\\"type\\\":\\\"grid\\\"\n }\n\"\"\",\n char_list=\"\"\" [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleDashboard = new AliCloud.Log.Dashboard(\"example\", new()\n {\n ProjectName = example.ProjectName,\n DashboardName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Attribute = @\" {\n \\\"\"type\\\"\":\\\"\"grid\\\"\"\n }\n\",\n CharList = @\" [\n {\n \\\"\"action\\\"\": {},\n \\\"\"title\\\"\":\\\"\"new_title\\\"\",\n \\\"\"type\\\"\":\\\"\"map\\\"\",\n \\\"\"search\\\"\":{\n \\\"\"logstore\\\"\":\\\"\"example-store\\\"\",\n \\\"\"topic\\\"\":\\\"\"new_topic\\\"\",\n \\\"\"query\\\"\":\\\"\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\"\",\n \\\"\"start\\\"\":\\\"\"-86400s\\\"\",\n \\\"\"end\\\"\":\\\"\"now\\\"\"\n },\n \\\"\"display\\\"\":{\n \\\"\"xAxis\\\"\":[\n \\\"\"ct_name\\\"\"\n ],\n \\\"\"yAxis\\\"\":[\n \\\"\"ct_product\\\"\"\n ],\n \\\"\"xPos\\\"\":0,\n \\\"\"yPos\\\"\":0,\n \\\"\"width\\\"\":10,\n \\\"\"height\\\"\":12,\n \\\"\"displayName\\\"\":\\\"\"terraform-example\\\"\"\n }\n }\n ]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewDashboard(ctx, \"example\", \u0026log.DashboardArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tDashboardName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tAttribute: pulumi.String(\" {\\n \\\\\\\"type\\\\\\\":\\\\\\\"grid\\\\\\\"\\n }\\n\"),\n\t\t\tCharList: pulumi.String(` [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Dashboard;\nimport com.pulumi.alicloud.log.DashboardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleDashboard = new Dashboard(\"exampleDashboard\", DashboardArgs.builder()\n .projectName(example.projectName())\n .dashboardName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .attribute(\"\"\"\n {\n \\\"type\\\":\\\"grid\\\"\n }\n \"\"\")\n .charList(\"\"\"\n [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleDashboard:\n type: alicloud:log:Dashboard\n name: example\n properties:\n projectName: ${example.projectName}\n dashboardName: terraform-example\n displayName: terraform-example\n attribute: |2\n {\n \\\"type\\\":\\\"grid\\\"\n }\n charList: |2\n [\n {\n \\\"action\\\": {},\n \\\"title\\\":\\\"new_title\\\",\n \\\"type\\\":\\\"map\\\",\n \\\"search\\\":{\n \\\"logstore\\\":\\\"example-store\\\",\n \\\"topic\\\":\\\"new_topic\\\",\n \\\"query\\\":\\\"* | SELECT COUNT(name) as ct_name, COUNT(product) as ct_product, name,product GROUP BY name,product\\\",\n \\\"start\\\":\\\"-86400s\\\",\n \\\"end\\\":\\\"now\\\"\n },\n \\\"display\\\":{\n \\\"xAxis\\\":[\n \\\"ct_name\\\"\n ],\n \\\"yAxis\\\":[\n \\\"ct_product\\\"\n ],\n \\\"xPos\\\":0,\n \\\"yPos\\\":0,\n \\\"width\\\":10,\n \\\"height\\\":12,\n \\\"displayName\\\":\\\"terraform-example\\\"\n }\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Dashboard can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/dashboard:Dashboard example \u003cproject_name\u003e:\u003cdashboard_name\u003e\n```\n\n", "properties": { "attribute": { "type": "string", @@ -206455,7 +210893,7 @@ } }, "alicloud:log/etl:Etl": { - "description": "The data transformation of the log service is a hosted, highly available, and scalable data processing service, \nwhich is widely applicable to scenarios such as data regularization, enrichment, distribution, aggregation, and index reconstruction.\n[Refer to details](https://www.alibabacloud.com/help/zh/doc-detail/125384.htm).\n\n\u003e **NOTE:** This resource is no longer maintained. It is recommended to use the new resource alicloud_sls_etl.\n[Refer to details](https://www.alibabacloud.com/help/zh/doc-detail/125384.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example2 = new alicloud.log.Store(\"example2\", {\n projectName: example.projectName,\n logstoreName: \"example-store2\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example3 = new alicloud.log.Store(\"example3\", {\n projectName: example.projectName,\n logstoreName: \"example-store3\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleEtl = new alicloud.log.Etl(\"example\", {\n etlName: \"terraform-example\",\n project: example.projectName,\n displayName: \"terraform-example\",\n description: \"terraform-example\",\n accessKeyId: \"access_key_id\",\n accessKeySecret: \"access_key_secret\",\n script: \"e_set('new','key')\",\n logstore: exampleStore.logstoreName,\n etlSinks: [\n {\n name: \"target_name\",\n accessKeyId: \"example2_access_key_id\",\n accessKeySecret: \"example2_access_key_secret\",\n endpoint: \"cn-hangzhou.log.aliyuncs.com\",\n project: example.projectName,\n logstore: example2.logstoreName,\n },\n {\n name: \"target_name2\",\n accessKeyId: \"example3_access_key_id\",\n accessKeySecret: \"example3_access_key_secret\",\n endpoint: \"cn-hangzhou.log.aliyuncs.com\",\n project: example.projectName,\n logstore: example3.logstoreName,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample2 = alicloud.log.Store(\"example2\",\n project_name=example.project_name,\n logstore_name=\"example-store2\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample3 = alicloud.log.Store(\"example3\",\n project_name=example.project_name,\n logstore_name=\"example-store3\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_etl = alicloud.log.Etl(\"example\",\n etl_name=\"terraform-example\",\n project=example.project_name,\n display_name=\"terraform-example\",\n description=\"terraform-example\",\n access_key_id=\"access_key_id\",\n access_key_secret=\"access_key_secret\",\n script=\"e_set('new','key')\",\n logstore=example_store.logstore_name,\n etl_sinks=[\n {\n \"name\": \"target_name\",\n \"access_key_id\": \"example2_access_key_id\",\n \"access_key_secret\": \"example2_access_key_secret\",\n \"endpoint\": \"cn-hangzhou.log.aliyuncs.com\",\n \"project\": example.project_name,\n \"logstore\": example2.logstore_name,\n },\n {\n \"name\": \"target_name2\",\n \"access_key_id\": \"example3_access_key_id\",\n \"access_key_secret\": \"example3_access_key_secret\",\n \"endpoint\": \"cn-hangzhou.log.aliyuncs.com\",\n \"project\": example.project_name,\n \"logstore\": example3.logstore_name,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example2 = new AliCloud.Log.Store(\"example2\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store2\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example3 = new AliCloud.Log.Store(\"example3\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store3\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleEtl = new AliCloud.Log.Etl(\"example\", new()\n {\n EtlName = \"terraform-example\",\n Project = example.ProjectName,\n DisplayName = \"terraform-example\",\n Description = \"terraform-example\",\n AccessKeyId = \"access_key_id\",\n AccessKeySecret = \"access_key_secret\",\n Script = \"e_set('new','key')\",\n Logstore = exampleStore.LogstoreName,\n EtlSinks = new[]\n {\n new AliCloud.Log.Inputs.EtlEtlSinkArgs\n {\n Name = \"target_name\",\n AccessKeyId = \"example2_access_key_id\",\n AccessKeySecret = \"example2_access_key_secret\",\n Endpoint = \"cn-hangzhou.log.aliyuncs.com\",\n Project = example.ProjectName,\n Logstore = example2.LogstoreName,\n },\n new AliCloud.Log.Inputs.EtlEtlSinkArgs\n {\n Name = \"target_name2\",\n AccessKeyId = \"example3_access_key_id\",\n AccessKeySecret = \"example3_access_key_secret\",\n Endpoint = \"cn-hangzhou.log.aliyuncs.com\",\n Project = example.ProjectName,\n Logstore = example3.LogstoreName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := log.NewStore(ctx, \"example2\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store2\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample3, err := log.NewStore(ctx, \"example3\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store3\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewEtl(ctx, \"example\", \u0026log.EtlArgs{\n\t\t\tEtlName: pulumi.String(\"terraform-example\"),\n\t\t\tProject: example.ProjectName,\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessKeyId: pulumi.String(\"access_key_id\"),\n\t\t\tAccessKeySecret: pulumi.String(\"access_key_secret\"),\n\t\t\tScript: pulumi.String(\"e_set('new','key')\"),\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tEtlSinks: log.EtlEtlSinkArray{\n\t\t\t\t\u0026log.EtlEtlSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"target_name\"),\n\t\t\t\t\tAccessKeyId: pulumi.String(\"example2_access_key_id\"),\n\t\t\t\t\tAccessKeySecret: pulumi.String(\"example2_access_key_secret\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou.log.aliyuncs.com\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tLogstore: example2.LogstoreName,\n\t\t\t\t},\n\t\t\t\t\u0026log.EtlEtlSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"target_name2\"),\n\t\t\t\t\tAccessKeyId: pulumi.String(\"example3_access_key_id\"),\n\t\t\t\t\tAccessKeySecret: pulumi.String(\"example3_access_key_secret\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou.log.aliyuncs.com\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tLogstore: example3.LogstoreName,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Etl;\nimport com.pulumi.alicloud.log.EtlArgs;\nimport com.pulumi.alicloud.log.inputs.EtlEtlSinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example2 = new Store(\"example2\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store2\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example3 = new Store(\"example3\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store3\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleEtl = new Etl(\"exampleEtl\", EtlArgs.builder()\n .etlName(\"terraform-example\")\n .project(example.projectName())\n .displayName(\"terraform-example\")\n .description(\"terraform-example\")\n .accessKeyId(\"access_key_id\")\n .accessKeySecret(\"access_key_secret\")\n .script(\"e_set('new','key')\")\n .logstore(exampleStore.logstoreName())\n .etlSinks( \n EtlEtlSinkArgs.builder()\n .name(\"target_name\")\n .accessKeyId(\"example2_access_key_id\")\n .accessKeySecret(\"example2_access_key_secret\")\n .endpoint(\"cn-hangzhou.log.aliyuncs.com\")\n .project(example.projectName())\n .logstore(example2.logstoreName())\n .build(),\n EtlEtlSinkArgs.builder()\n .name(\"target_name2\")\n .accessKeyId(\"example3_access_key_id\")\n .accessKeySecret(\"example3_access_key_secret\")\n .endpoint(\"cn-hangzhou.log.aliyuncs.com\")\n .project(example.projectName())\n .logstore(example3.logstoreName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example2:\n type: alicloud:log:Store\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store2\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example3:\n type: alicloud:log:Store\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store3\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleEtl:\n type: alicloud:log:Etl\n name: example\n properties:\n etlName: terraform-example\n project: ${example.projectName}\n displayName: terraform-example\n description: terraform-example\n accessKeyId: access_key_id\n accessKeySecret: access_key_secret\n script: e_set('new','key')\n logstore: ${exampleStore.logstoreName}\n etlSinks:\n - name: target_name\n accessKeyId: example2_access_key_id\n accessKeySecret: example2_access_key_secret\n endpoint: cn-hangzhou.log.aliyuncs.com\n project: ${example.projectName}\n logstore: ${example2.logstoreName}\n - name: target_name2\n accessKeyId: example3_access_key_id\n accessKeySecret: example3_access_key_secret\n endpoint: cn-hangzhou.log.aliyuncs.com\n project: ${example.projectName}\n logstore: ${example3.logstoreName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog etl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/etl:Etl example tf-log-project:tf-log-etl-name\n```\n\n", + "description": "The data transformation of the log service is a hosted, highly available, and scalable data processing service, \nwhich is widely applicable to scenarios such as data regularization, enrichment, distribution, aggregation, and index reconstruction.\n[Refer to details](https://www.alibabacloud.com/help/zh/doc-detail/125384.htm).\n\n\u003e **NOTE:** This resource is no longer maintained. It is recommended to use the new resource alicloud_sls_etl.\n[Refer to details](https://www.alibabacloud.com/help/zh/doc-detail/125384.htm).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example2 = new alicloud.log.Store(\"example2\", {\n projectName: example.projectName,\n logstoreName: \"example-store2\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst example3 = new alicloud.log.Store(\"example3\", {\n projectName: example.projectName,\n logstoreName: \"example-store3\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleEtl = new alicloud.log.Etl(\"example\", {\n etlName: \"terraform-example\",\n project: example.projectName,\n displayName: \"terraform-example\",\n description: \"terraform-example\",\n accessKeyId: \"access_key_id\",\n accessKeySecret: \"access_key_secret\",\n script: \"e_set('new','key')\",\n logstore: exampleStore.logstoreName,\n etlSinks: [\n {\n name: \"target_name\",\n accessKeyId: \"example2_access_key_id\",\n accessKeySecret: \"example2_access_key_secret\",\n endpoint: \"cn-hangzhou.log.aliyuncs.com\",\n project: example.projectName,\n logstore: example2.logstoreName,\n },\n {\n name: \"target_name2\",\n accessKeyId: \"example3_access_key_id\",\n accessKeySecret: \"example3_access_key_secret\",\n endpoint: \"cn-hangzhou.log.aliyuncs.com\",\n project: example.projectName,\n logstore: example3.logstoreName,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample2 = alicloud.log.Store(\"example2\",\n project_name=example.project_name,\n logstore_name=\"example-store2\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample3 = alicloud.log.Store(\"example3\",\n project_name=example.project_name,\n logstore_name=\"example-store3\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_etl = alicloud.log.Etl(\"example\",\n etl_name=\"terraform-example\",\n project=example.project_name,\n display_name=\"terraform-example\",\n description=\"terraform-example\",\n access_key_id=\"access_key_id\",\n access_key_secret=\"access_key_secret\",\n script=\"e_set('new','key')\",\n logstore=example_store.logstore_name,\n etl_sinks=[\n {\n \"name\": \"target_name\",\n \"access_key_id\": \"example2_access_key_id\",\n \"access_key_secret\": \"example2_access_key_secret\",\n \"endpoint\": \"cn-hangzhou.log.aliyuncs.com\",\n \"project\": example.project_name,\n \"logstore\": example2.logstore_name,\n },\n {\n \"name\": \"target_name2\",\n \"access_key_id\": \"example3_access_key_id\",\n \"access_key_secret\": \"example3_access_key_secret\",\n \"endpoint\": \"cn-hangzhou.log.aliyuncs.com\",\n \"project\": example.project_name,\n \"logstore\": example3.logstore_name,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example2 = new AliCloud.Log.Store(\"example2\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store2\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var example3 = new AliCloud.Log.Store(\"example3\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store3\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleEtl = new AliCloud.Log.Etl(\"example\", new()\n {\n EtlName = \"terraform-example\",\n Project = example.ProjectName,\n DisplayName = \"terraform-example\",\n Description = \"terraform-example\",\n AccessKeyId = \"access_key_id\",\n AccessKeySecret = \"access_key_secret\",\n Script = \"e_set('new','key')\",\n Logstore = exampleStore.LogstoreName,\n EtlSinks = new[]\n {\n new AliCloud.Log.Inputs.EtlEtlSinkArgs\n {\n Name = \"target_name\",\n AccessKeyId = \"example2_access_key_id\",\n AccessKeySecret = \"example2_access_key_secret\",\n Endpoint = \"cn-hangzhou.log.aliyuncs.com\",\n Project = example.ProjectName,\n Logstore = example2.LogstoreName,\n },\n new AliCloud.Log.Inputs.EtlEtlSinkArgs\n {\n Name = \"target_name2\",\n AccessKeyId = \"example3_access_key_id\",\n AccessKeySecret = \"example3_access_key_secret\",\n Endpoint = \"cn-hangzhou.log.aliyuncs.com\",\n Project = example.ProjectName,\n Logstore = example3.LogstoreName,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample2, err := log.NewStore(ctx, \"example2\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store2\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample3, err := log.NewStore(ctx, \"example3\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store3\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewEtl(ctx, \"example\", \u0026log.EtlArgs{\n\t\t\tEtlName: pulumi.String(\"terraform-example\"),\n\t\t\tProject: example.ProjectName,\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAccessKeyId: pulumi.String(\"access_key_id\"),\n\t\t\tAccessKeySecret: pulumi.String(\"access_key_secret\"),\n\t\t\tScript: pulumi.String(\"e_set('new','key')\"),\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tEtlSinks: log.EtlEtlSinkArray{\n\t\t\t\t\u0026log.EtlEtlSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"target_name\"),\n\t\t\t\t\tAccessKeyId: pulumi.String(\"example2_access_key_id\"),\n\t\t\t\t\tAccessKeySecret: pulumi.String(\"example2_access_key_secret\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou.log.aliyuncs.com\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tLogstore: example2.LogstoreName,\n\t\t\t\t},\n\t\t\t\t\u0026log.EtlEtlSinkArgs{\n\t\t\t\t\tName: pulumi.String(\"target_name2\"),\n\t\t\t\t\tAccessKeyId: pulumi.String(\"example3_access_key_id\"),\n\t\t\t\t\tAccessKeySecret: pulumi.String(\"example3_access_key_secret\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou.log.aliyuncs.com\"),\n\t\t\t\t\tProject: example.ProjectName,\n\t\t\t\t\tLogstore: example3.LogstoreName,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Etl;\nimport com.pulumi.alicloud.log.EtlArgs;\nimport com.pulumi.alicloud.log.inputs.EtlEtlSinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example2 = new Store(\"example2\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store2\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var example3 = new Store(\"example3\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store3\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleEtl = new Etl(\"exampleEtl\", EtlArgs.builder()\n .etlName(\"terraform-example\")\n .project(example.projectName())\n .displayName(\"terraform-example\")\n .description(\"terraform-example\")\n .accessKeyId(\"access_key_id\")\n .accessKeySecret(\"access_key_secret\")\n .script(\"e_set('new','key')\")\n .logstore(exampleStore.logstoreName())\n .etlSinks( \n EtlEtlSinkArgs.builder()\n .name(\"target_name\")\n .accessKeyId(\"example2_access_key_id\")\n .accessKeySecret(\"example2_access_key_secret\")\n .endpoint(\"cn-hangzhou.log.aliyuncs.com\")\n .project(example.projectName())\n .logstore(example2.logstoreName())\n .build(),\n EtlEtlSinkArgs.builder()\n .name(\"target_name2\")\n .accessKeyId(\"example3_access_key_id\")\n .accessKeySecret(\"example3_access_key_secret\")\n .endpoint(\"cn-hangzhou.log.aliyuncs.com\")\n .project(example.projectName())\n .logstore(example3.logstoreName())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example2:\n type: alicloud:log:Store\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store2\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n example3:\n type: alicloud:log:Store\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store3\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleEtl:\n type: alicloud:log:Etl\n name: example\n properties:\n etlName: terraform-example\n project: ${example.projectName}\n displayName: terraform-example\n description: terraform-example\n accessKeyId: access_key_id\n accessKeySecret: access_key_secret\n script: e_set('new','key')\n logstore: ${exampleStore.logstoreName}\n etlSinks:\n - name: target_name\n accessKeyId: example2_access_key_id\n accessKeySecret: example2_access_key_secret\n endpoint: cn-hangzhou.log.aliyuncs.com\n project: ${example.projectName}\n logstore: ${example2.logstoreName}\n - name: target_name2\n accessKeyId: example3_access_key_id\n accessKeySecret: example3_access_key_secret\n endpoint: cn-hangzhou.log.aliyuncs.com\n project: ${example.projectName}\n logstore: ${example3.logstoreName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog etl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/etl:Etl example tf-log-project:tf-log-etl-name\n```\n\n", "properties": { "accessKeyId": { "type": "string", @@ -206821,7 +211259,7 @@ } }, "alicloud:log/ingestion:Ingestion": { - "description": "Log service ingestion, this service provides the function of importing logs of various data sources(OSS, MaxCompute) into logstore. [Refer to details](https://www.alibabacloud.com/help/en/doc-detail/147819.html).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleIngestion = new alicloud.log.Ingestion(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n ingestionName: \"terraform-example\",\n displayName: \"terraform-example\",\n description: \"terraform-example\",\n interval: \"30m\",\n runImmediately: true,\n timeZone: \"+0800\",\n source: ` {\n \\\\\"bucket\\\\\": \\\\\"bucket_name\\\\\",\n \\\\\"compressionCodec\\\\\": \\\\\"none\\\\\",\n \\\\\"encoding\\\\\": \\\\\"UTF-8\\\\\",\n \\\\\"endpoint\\\\\": \\\\\"oss-cn-hangzhou-internal.aliyuncs.com\\\\\",\n \\\\\"format\\\\\": {\n \\\\\"escapeChar\\\\\": \\\\\"\\\\\\\\\\\\\\\\\\\\\",\n \\\\\"fieldDelimiter\\\\\": \\\\\",\\\\\",\n \\\\\"fieldNames\\\\\": [],\n \\\\\"firstRowAsHeader\\\\\": true,\n \\\\\"maxLines\\\\\": 1,\n \\\\\"quoteChar\\\\\": \\\\\"\\\\\\\\\\\\\"\\\\\",\n \\\\\"skipLeadingRows\\\\\": 0,\n \\\\\"timeField\\\\\": \\\\\"\\\\\",\n \\\\\"type\\\\\": \\\\\"DelimitedText\\\\\"\n },\n \\\\\"pattern\\\\\": \\\\\"\\\\\",\n \\\\\"prefix\\\\\": \\\\\"test-prefix/\\\\\",\n \\\\\"restoreObjectEnabled\\\\\": false,\n \\\\\"roleARN\\\\\": \\\\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\\\",\n \\\\\"type\\\\\": \\\\\"AliyunOSS\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_ingestion = alicloud.log.Ingestion(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n ingestion_name=\"terraform-example\",\n display_name=\"terraform-example\",\n description=\"terraform-example\",\n interval=\"30m\",\n run_immediately=True,\n time_zone=\"+0800\",\n source=\"\"\" {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleIngestion = new AliCloud.Log.Ingestion(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n IngestionName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Description = \"terraform-example\",\n Interval = \"30m\",\n RunImmediately = true,\n TimeZone = \"+0800\",\n Source = @\" {\n \\\"\"bucket\\\"\": \\\"\"bucket_name\\\"\",\n \\\"\"compressionCodec\\\"\": \\\"\"none\\\"\",\n \\\"\"encoding\\\"\": \\\"\"UTF-8\\\"\",\n \\\"\"endpoint\\\"\": \\\"\"oss-cn-hangzhou-internal.aliyuncs.com\\\"\",\n \\\"\"format\\\"\": {\n \\\"\"escapeChar\\\"\": \\\"\"\\\\\\\\\\\"\",\n \\\"\"fieldDelimiter\\\"\": \\\"\",\\\"\",\n \\\"\"fieldNames\\\"\": [],\n \\\"\"firstRowAsHeader\\\"\": true,\n \\\"\"maxLines\\\"\": 1,\n \\\"\"quoteChar\\\"\": \\\"\"\\\\\\\"\"\\\"\",\n \\\"\"skipLeadingRows\\\"\": 0,\n \\\"\"timeField\\\"\": \\\"\"\\\"\",\n \\\"\"type\\\"\": \\\"\"DelimitedText\\\"\"\n },\n \\\"\"pattern\\\"\": \\\"\"\\\"\",\n \\\"\"prefix\\\"\": \\\"\"test-prefix/\\\"\",\n \\\"\"restoreObjectEnabled\\\"\": false,\n \\\"\"roleARN\\\"\": \\\"\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\"\",\n \\\"\"type\\\"\": \\\"\"AliyunOSS\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewIngestion(ctx, \"example\", \u0026log.IngestionArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tIngestionName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInterval: pulumi.String(\"30m\"),\n\t\t\tRunImmediately: pulumi.Bool(true),\n\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t\tSource: pulumi.String(` {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Ingestion;\nimport com.pulumi.alicloud.log.IngestionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleIngestion = new Ingestion(\"exampleIngestion\", IngestionArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .ingestionName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .description(\"terraform-example\")\n .interval(\"30m\")\n .runImmediately(true)\n .timeZone(\"+0800\")\n .source(\"\"\"\n {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleIngestion:\n type: alicloud:log:Ingestion\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n ingestionName: terraform-example\n displayName: terraform-example\n description: terraform-example\n interval: 30m\n runImmediately: true\n timeZone: '+0800'\n source: |2\n {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog ingestion can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ingestion:Ingestion example tf-log-project:tf-log-logstore:ingestion_name\n```\n\n", + "description": "Log service ingestion, this service provides the function of importing logs of various data sources(OSS, MaxCompute) into logstore. [Refer to details](https://www.alibabacloud.com/help/en/doc-detail/147819.html).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleIngestion = new alicloud.log.Ingestion(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n ingestionName: \"terraform-example\",\n displayName: \"terraform-example\",\n description: \"terraform-example\",\n interval: \"30m\",\n runImmediately: true,\n timeZone: \"+0800\",\n source: ` {\n \\\\\"bucket\\\\\": \\\\\"bucket_name\\\\\",\n \\\\\"compressionCodec\\\\\": \\\\\"none\\\\\",\n \\\\\"encoding\\\\\": \\\\\"UTF-8\\\\\",\n \\\\\"endpoint\\\\\": \\\\\"oss-cn-hangzhou-internal.aliyuncs.com\\\\\",\n \\\\\"format\\\\\": {\n \\\\\"escapeChar\\\\\": \\\\\"\\\\\\\\\\\\\\\\\\\\\",\n \\\\\"fieldDelimiter\\\\\": \\\\\",\\\\\",\n \\\\\"fieldNames\\\\\": [],\n \\\\\"firstRowAsHeader\\\\\": true,\n \\\\\"maxLines\\\\\": 1,\n \\\\\"quoteChar\\\\\": \\\\\"\\\\\\\\\\\\\"\\\\\",\n \\\\\"skipLeadingRows\\\\\": 0,\n \\\\\"timeField\\\\\": \\\\\"\\\\\",\n \\\\\"type\\\\\": \\\\\"DelimitedText\\\\\"\n },\n \\\\\"pattern\\\\\": \\\\\"\\\\\",\n \\\\\"prefix\\\\\": \\\\\"test-prefix/\\\\\",\n \\\\\"restoreObjectEnabled\\\\\": false,\n \\\\\"roleARN\\\\\": \\\\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\\\",\n \\\\\"type\\\\\": \\\\\"AliyunOSS\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_ingestion = alicloud.log.Ingestion(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n ingestion_name=\"terraform-example\",\n display_name=\"terraform-example\",\n description=\"terraform-example\",\n interval=\"30m\",\n run_immediately=True,\n time_zone=\"+0800\",\n source=\"\"\" {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleIngestion = new AliCloud.Log.Ingestion(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n IngestionName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Description = \"terraform-example\",\n Interval = \"30m\",\n RunImmediately = true,\n TimeZone = \"+0800\",\n Source = @\" {\n \\\"\"bucket\\\"\": \\\"\"bucket_name\\\"\",\n \\\"\"compressionCodec\\\"\": \\\"\"none\\\"\",\n \\\"\"encoding\\\"\": \\\"\"UTF-8\\\"\",\n \\\"\"endpoint\\\"\": \\\"\"oss-cn-hangzhou-internal.aliyuncs.com\\\"\",\n \\\"\"format\\\"\": {\n \\\"\"escapeChar\\\"\": \\\"\"\\\\\\\\\\\"\",\n \\\"\"fieldDelimiter\\\"\": \\\"\",\\\"\",\n \\\"\"fieldNames\\\"\": [],\n \\\"\"firstRowAsHeader\\\"\": true,\n \\\"\"maxLines\\\"\": 1,\n \\\"\"quoteChar\\\"\": \\\"\"\\\\\\\"\"\\\"\",\n \\\"\"skipLeadingRows\\\"\": 0,\n \\\"\"timeField\\\"\": \\\"\"\\\"\",\n \\\"\"type\\\"\": \\\"\"DelimitedText\\\"\"\n },\n \\\"\"pattern\\\"\": \\\"\"\\\"\",\n \\\"\"prefix\\\"\": \\\"\"test-prefix/\\\"\",\n \\\"\"restoreObjectEnabled\\\"\": false,\n \\\"\"roleARN\\\"\": \\\"\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\"\",\n \\\"\"type\\\"\": \\\"\"AliyunOSS\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewIngestion(ctx, \"example\", \u0026log.IngestionArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tIngestionName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tInterval: pulumi.String(\"30m\"),\n\t\t\tRunImmediately: pulumi.Bool(true),\n\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t\tSource: pulumi.String(` {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.Ingestion;\nimport com.pulumi.alicloud.log.IngestionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleIngestion = new Ingestion(\"exampleIngestion\", IngestionArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .ingestionName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .description(\"terraform-example\")\n .interval(\"30m\")\n .runImmediately(true)\n .timeZone(\"+0800\")\n .source(\"\"\"\n {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleIngestion:\n type: alicloud:log:Ingestion\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n ingestionName: terraform-example\n displayName: terraform-example\n description: terraform-example\n interval: 30m\n runImmediately: true\n timeZone: '+0800'\n source: |2\n {\n \\\"bucket\\\": \\\"bucket_name\\\",\n \\\"compressionCodec\\\": \\\"none\\\",\n \\\"encoding\\\": \\\"UTF-8\\\",\n \\\"endpoint\\\": \\\"oss-cn-hangzhou-internal.aliyuncs.com\\\",\n \\\"format\\\": {\n \\\"escapeChar\\\": \\\"\\\\\\\\\\\",\n \\\"fieldDelimiter\\\": \\\",\\\",\n \\\"fieldNames\\\": [],\n \\\"firstRowAsHeader\\\": true,\n \\\"maxLines\\\": 1,\n \\\"quoteChar\\\": \\\"\\\\\\\"\\\",\n \\\"skipLeadingRows\\\": 0,\n \\\"timeField\\\": \\\"\\\",\n \\\"type\\\": \\\"DelimitedText\\\"\n },\n \\\"pattern\\\": \\\"\\\",\n \\\"prefix\\\": \\\"test-prefix/\\\",\n \\\"restoreObjectEnabled\\\": false,\n \\\"roleARN\\\": \\\"acs:ram::1049446484210612:role/aliyunlogimportossrole\\\",\n \\\"type\\\": \\\"AliyunOSS\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog ingestion can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ingestion:Ingestion example tf-log-project:tf-log-logstore:ingestion_name\n```\n\n", "properties": { "description": { "type": "string", @@ -206966,7 +211404,7 @@ } }, "alicloud:log/logTailAttachment:LogTailAttachment": { - "description": "The Logtail access service is a log collection agent provided by Log Service.\nYou can use Logtail to collect logs from servers such as Alibaba Cloud Elastic\nCompute Service (ECS) instances in real time in the Log Service console. [Refer to details](https://www.alibabacloud.com/help/doc-detail/29058.htm)\n\nThis resource amis to attach one logtail configure to a machine group.\n\n\u003e **NOTE:** One logtail configure can be attached to multiple machine groups and one machine group can attach several logtail configures.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogTailConfig = new alicloud.log.LogTailConfig(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n inputType: \"file\",\n name: \"terraform-example\",\n outputType: \"LogService\",\n inputDetail: ` \\\\t{\n\\\\t\\\\t\\\\\"logPath\\\\\": \\\\\"/logPath\\\\\",\n\\\\t\\\\t\\\\\"filePattern\\\\\": \\\\\"access.log\\\\\",\n\\\\t\\\\t\\\\\"logType\\\\\": \\\\\"json_log\\\\\",\n\\\\t\\\\t\\\\\"topicFormat\\\\\": \\\\\"default\\\\\",\n\\\\t\\\\t\\\\\"discardUnmatch\\\\\": false,\n\\\\t\\\\t\\\\\"enableRawLog\\\\\": true,\n\\\\t\\\\t\\\\\"fileEncoding\\\\\": \\\\\"gbk\\\\\",\n\\\\t\\\\t\\\\\"maxDepth\\\\\": 10\n\\\\t}\n`,\n});\nconst exampleMachineGroup = new alicloud.log.MachineGroup(\"example\", {\n project: example.projectName,\n name: \"terraform-example\",\n identifyType: \"ip\",\n topic: \"terraform\",\n identifyLists: [\n \"10.0.0.1\",\n \"10.0.0.2\",\n ],\n});\nconst exampleLogTailAttachment = new alicloud.log.LogTailAttachment(\"example\", {\n project: example.projectName,\n logtailConfigName: exampleLogTailConfig.name,\n machineGroupName: exampleMachineGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_tail_config = alicloud.log.LogTailConfig(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n input_type=\"file\",\n name=\"terraform-example\",\n output_type=\"LogService\",\n input_detail=\"\"\" \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n\"\"\")\nexample_machine_group = alicloud.log.MachineGroup(\"example\",\n project=example.project_name,\n name=\"terraform-example\",\n identify_type=\"ip\",\n topic=\"terraform\",\n identify_lists=[\n \"10.0.0.1\",\n \"10.0.0.2\",\n ])\nexample_log_tail_attachment = alicloud.log.LogTailAttachment(\"example\",\n project=example.project_name,\n logtail_config_name=example_log_tail_config.name,\n machine_group_name=example_machine_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogTailConfig = new AliCloud.Log.LogTailConfig(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n InputType = \"file\",\n Name = \"terraform-example\",\n OutputType = \"LogService\",\n InputDetail = @\" \\t{\n\\t\\t\\\"\"logPath\\\"\": \\\"\"/logPath\\\"\",\n\\t\\t\\\"\"filePattern\\\"\": \\\"\"access.log\\\"\",\n\\t\\t\\\"\"logType\\\"\": \\\"\"json_log\\\"\",\n\\t\\t\\\"\"topicFormat\\\"\": \\\"\"default\\\"\",\n\\t\\t\\\"\"discardUnmatch\\\"\": false,\n\\t\\t\\\"\"enableRawLog\\\"\": true,\n\\t\\t\\\"\"fileEncoding\\\"\": \\\"\"gbk\\\"\",\n\\t\\t\\\"\"maxDepth\\\"\": 10\n\\t}\n\",\n });\n\n var exampleMachineGroup = new AliCloud.Log.MachineGroup(\"example\", new()\n {\n Project = example.ProjectName,\n Name = \"terraform-example\",\n IdentifyType = \"ip\",\n Topic = \"terraform\",\n IdentifyLists = new[]\n {\n \"10.0.0.1\",\n \"10.0.0.2\",\n },\n });\n\n var exampleLogTailAttachment = new AliCloud.Log.LogTailAttachment(\"example\", new()\n {\n Project = example.ProjectName,\n LogtailConfigName = exampleLogTailConfig.Name,\n MachineGroupName = exampleMachineGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogTailConfig, err := log.NewLogTailConfig(ctx, \"example\", \u0026log.LogTailConfigArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(` \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMachineGroup, err := log.NewMachineGroup(ctx, \"example\", \u0026log.MachineGroupArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tIdentifyType: pulumi.String(\"ip\"),\n\t\t\tTopic: pulumi.String(\"terraform\"),\n\t\t\tIdentifyLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewLogTailAttachment(ctx, \"example\", \u0026log.LogTailAttachmentArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogtailConfigName: exampleLogTailConfig.Name,\n\t\t\tMachineGroupName: exampleMachineGroup.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.LogTailConfig;\nimport com.pulumi.alicloud.log.LogTailConfigArgs;\nimport com.pulumi.alicloud.log.MachineGroup;\nimport com.pulumi.alicloud.log.MachineGroupArgs;\nimport com.pulumi.alicloud.log.LogTailAttachment;\nimport com.pulumi.alicloud.log.LogTailAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogTailConfig = new LogTailConfig(\"exampleLogTailConfig\", LogTailConfigArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .inputType(\"file\")\n .name(\"terraform-example\")\n .outputType(\"LogService\")\n .inputDetail(\"\"\"\n \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n \"\"\")\n .build());\n\n var exampleMachineGroup = new MachineGroup(\"exampleMachineGroup\", MachineGroupArgs.builder()\n .project(example.projectName())\n .name(\"terraform-example\")\n .identifyType(\"ip\")\n .topic(\"terraform\")\n .identifyLists( \n \"10.0.0.1\",\n \"10.0.0.2\")\n .build());\n\n var exampleLogTailAttachment = new LogTailAttachment(\"exampleLogTailAttachment\", LogTailAttachmentArgs.builder()\n .project(example.projectName())\n .logtailConfigName(exampleLogTailConfig.name())\n .machineGroupName(exampleMachineGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogTailConfig:\n type: alicloud:log:LogTailConfig\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n inputType: file\n name: terraform-example\n outputType: LogService\n inputDetail: |2\n \\t{\n \\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n \\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n \\t\\t\\\"logType\\\": \\\"json_log\\\",\n \\t\\t\\\"topicFormat\\\": \\\"default\\\",\n \\t\\t\\\"discardUnmatch\\\": false,\n \\t\\t\\\"enableRawLog\\\": true,\n \\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n \\t\\t\\\"maxDepth\\\": 10\n \\t}\n exampleMachineGroup:\n type: alicloud:log:MachineGroup\n name: example\n properties:\n project: ${example.projectName}\n name: terraform-example\n identifyType: ip\n topic: terraform\n identifyLists:\n - 10.0.0.1\n - 10.0.0.2\n exampleLogTailAttachment:\n type: alicloud:log:LogTailAttachment\n name: example\n properties:\n project: ${example.projectName}\n logtailConfigName: ${exampleLogTailConfig.name}\n machineGroupName: ${exampleMachineGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLogtial to machine group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/logTailAttachment:LogTailAttachment example tf-log:tf-log-config:tf-log-machine-group\n```\n\n", + "description": "The Logtail access service is a log collection agent provided by Log Service.\nYou can use Logtail to collect logs from servers such as Alibaba Cloud Elastic\nCompute Service (ECS) instances in real time in the Log Service console. [Refer to details](https://www.alibabacloud.com/help/doc-detail/29058.htm)\n\nThis resource amis to attach one logtail configure to a machine group.\n\n\u003e **NOTE:** One logtail configure can be attached to multiple machine groups and one machine group can attach several logtail configures.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogTailConfig = new alicloud.log.LogTailConfig(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n inputType: \"file\",\n name: \"terraform-example\",\n outputType: \"LogService\",\n inputDetail: ` \\\\t{\n\\\\t\\\\t\\\\\"logPath\\\\\": \\\\\"/logPath\\\\\",\n\\\\t\\\\t\\\\\"filePattern\\\\\": \\\\\"access.log\\\\\",\n\\\\t\\\\t\\\\\"logType\\\\\": \\\\\"json_log\\\\\",\n\\\\t\\\\t\\\\\"topicFormat\\\\\": \\\\\"default\\\\\",\n\\\\t\\\\t\\\\\"discardUnmatch\\\\\": false,\n\\\\t\\\\t\\\\\"enableRawLog\\\\\": true,\n\\\\t\\\\t\\\\\"fileEncoding\\\\\": \\\\\"gbk\\\\\",\n\\\\t\\\\t\\\\\"maxDepth\\\\\": 10\n\\\\t}\n`,\n});\nconst exampleMachineGroup = new alicloud.log.MachineGroup(\"example\", {\n project: example.projectName,\n name: \"terraform-example\",\n identifyType: \"ip\",\n topic: \"terraform\",\n identifyLists: [\n \"10.0.0.1\",\n \"10.0.0.2\",\n ],\n});\nconst exampleLogTailAttachment = new alicloud.log.LogTailAttachment(\"example\", {\n project: example.projectName,\n logtailConfigName: exampleLogTailConfig.name,\n machineGroupName: exampleMachineGroup.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_tail_config = alicloud.log.LogTailConfig(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n input_type=\"file\",\n name=\"terraform-example\",\n output_type=\"LogService\",\n input_detail=\"\"\" \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n\"\"\")\nexample_machine_group = alicloud.log.MachineGroup(\"example\",\n project=example.project_name,\n name=\"terraform-example\",\n identify_type=\"ip\",\n topic=\"terraform\",\n identify_lists=[\n \"10.0.0.1\",\n \"10.0.0.2\",\n ])\nexample_log_tail_attachment = alicloud.log.LogTailAttachment(\"example\",\n project=example.project_name,\n logtail_config_name=example_log_tail_config.name,\n machine_group_name=example_machine_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogTailConfig = new AliCloud.Log.LogTailConfig(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n InputType = \"file\",\n Name = \"terraform-example\",\n OutputType = \"LogService\",\n InputDetail = @\" \\t{\n\\t\\t\\\"\"logPath\\\"\": \\\"\"/logPath\\\"\",\n\\t\\t\\\"\"filePattern\\\"\": \\\"\"access.log\\\"\",\n\\t\\t\\\"\"logType\\\"\": \\\"\"json_log\\\"\",\n\\t\\t\\\"\"topicFormat\\\"\": \\\"\"default\\\"\",\n\\t\\t\\\"\"discardUnmatch\\\"\": false,\n\\t\\t\\\"\"enableRawLog\\\"\": true,\n\\t\\t\\\"\"fileEncoding\\\"\": \\\"\"gbk\\\"\",\n\\t\\t\\\"\"maxDepth\\\"\": 10\n\\t}\n\",\n });\n\n var exampleMachineGroup = new AliCloud.Log.MachineGroup(\"example\", new()\n {\n Project = example.ProjectName,\n Name = \"terraform-example\",\n IdentifyType = \"ip\",\n Topic = \"terraform\",\n IdentifyLists = new[]\n {\n \"10.0.0.1\",\n \"10.0.0.2\",\n },\n });\n\n var exampleLogTailAttachment = new AliCloud.Log.LogTailAttachment(\"example\", new()\n {\n Project = example.ProjectName,\n LogtailConfigName = exampleLogTailConfig.Name,\n MachineGroupName = exampleMachineGroup.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogTailConfig, err := log.NewLogTailConfig(ctx, \"example\", \u0026log.LogTailConfigArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(` \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMachineGroup, err := log.NewMachineGroup(ctx, \"example\", \u0026log.MachineGroupArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tIdentifyType: pulumi.String(\"ip\"),\n\t\t\tTopic: pulumi.String(\"terraform\"),\n\t\t\tIdentifyLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewLogTailAttachment(ctx, \"example\", \u0026log.LogTailAttachmentArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogtailConfigName: exampleLogTailConfig.Name,\n\t\t\tMachineGroupName: exampleMachineGroup.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.LogTailConfig;\nimport com.pulumi.alicloud.log.LogTailConfigArgs;\nimport com.pulumi.alicloud.log.MachineGroup;\nimport com.pulumi.alicloud.log.MachineGroupArgs;\nimport com.pulumi.alicloud.log.LogTailAttachment;\nimport com.pulumi.alicloud.log.LogTailAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogTailConfig = new LogTailConfig(\"exampleLogTailConfig\", LogTailConfigArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .inputType(\"file\")\n .name(\"terraform-example\")\n .outputType(\"LogService\")\n .inputDetail(\"\"\"\n \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n \"\"\")\n .build());\n\n var exampleMachineGroup = new MachineGroup(\"exampleMachineGroup\", MachineGroupArgs.builder()\n .project(example.projectName())\n .name(\"terraform-example\")\n .identifyType(\"ip\")\n .topic(\"terraform\")\n .identifyLists( \n \"10.0.0.1\",\n \"10.0.0.2\")\n .build());\n\n var exampleLogTailAttachment = new LogTailAttachment(\"exampleLogTailAttachment\", LogTailAttachmentArgs.builder()\n .project(example.projectName())\n .logtailConfigName(exampleLogTailConfig.name())\n .machineGroupName(exampleMachineGroup.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogTailConfig:\n type: alicloud:log:LogTailConfig\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n inputType: file\n name: terraform-example\n outputType: LogService\n inputDetail: |2\n \\t{\n \\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n \\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n \\t\\t\\\"logType\\\": \\\"json_log\\\",\n \\t\\t\\\"topicFormat\\\": \\\"default\\\",\n \\t\\t\\\"discardUnmatch\\\": false,\n \\t\\t\\\"enableRawLog\\\": true,\n \\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n \\t\\t\\\"maxDepth\\\": 10\n \\t}\n exampleMachineGroup:\n type: alicloud:log:MachineGroup\n name: example\n properties:\n project: ${example.projectName}\n name: terraform-example\n identifyType: ip\n topic: terraform\n identifyLists:\n - 10.0.0.1\n - 10.0.0.2\n exampleLogTailAttachment:\n type: alicloud:log:LogTailAttachment\n name: example\n properties:\n project: ${example.projectName}\n logtailConfigName: ${exampleLogTailConfig.name}\n machineGroupName: ${exampleMachineGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLogtial to machine group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/logTailAttachment:LogTailAttachment example tf-log:tf-log-config:tf-log-machine-group\n```\n\n", "properties": { "logtailConfigName": { "type": "string", @@ -207031,7 +211469,7 @@ } }, "alicloud:log/logTailConfig:LogTailConfig": { - "description": "The Logtail access service is a log collection agent provided by Log Service.\nYou can use Logtail to collect logs from servers such as Alibaba Cloud Elastic\nCompute Service (ECS) instances in real time in the Log Service console. [Refer to details](https://www.alibabacloud.com/help/doc-detail/29058.htm\n)\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogTailConfig = new alicloud.log.LogTailConfig(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n inputType: \"file\",\n name: \"terraform-example\",\n outputType: \"LogService\",\n inputDetail: ` \\\\t{\n\\\\t\\\\t\\\\\"logPath\\\\\": \\\\\"/logPath\\\\\",\n\\\\t\\\\t\\\\\"filePattern\\\\\": \\\\\"access.log\\\\\",\n\\\\t\\\\t\\\\\"logType\\\\\": \\\\\"json_log\\\\\",\n\\\\t\\\\t\\\\\"topicFormat\\\\\": \\\\\"default\\\\\",\n\\\\t\\\\t\\\\\"discardUnmatch\\\\\": false,\n\\\\t\\\\t\\\\\"enableRawLog\\\\\": true,\n\\\\t\\\\t\\\\\"fileEncoding\\\\\": \\\\\"gbk\\\\\",\n\\\\t\\\\t\\\\\"maxDepth\\\\\": 10\n\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_tail_config = alicloud.log.LogTailConfig(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n input_type=\"file\",\n name=\"terraform-example\",\n output_type=\"LogService\",\n input_detail=\"\"\" \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogTailConfig = new AliCloud.Log.LogTailConfig(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n InputType = \"file\",\n Name = \"terraform-example\",\n OutputType = \"LogService\",\n InputDetail = @\" \\t{\n\\t\\t\\\"\"logPath\\\"\": \\\"\"/logPath\\\"\",\n\\t\\t\\\"\"filePattern\\\"\": \\\"\"access.log\\\"\",\n\\t\\t\\\"\"logType\\\"\": \\\"\"json_log\\\"\",\n\\t\\t\\\"\"topicFormat\\\"\": \\\"\"default\\\"\",\n\\t\\t\\\"\"discardUnmatch\\\"\": false,\n\\t\\t\\\"\"enableRawLog\\\"\": true,\n\\t\\t\\\"\"fileEncoding\\\"\": \\\"\"gbk\\\"\",\n\\t\\t\\\"\"maxDepth\\\"\": 10\n\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewLogTailConfig(ctx, \"example\", \u0026log.LogTailConfigArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(` \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.LogTailConfig;\nimport com.pulumi.alicloud.log.LogTailConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogTailConfig = new LogTailConfig(\"exampleLogTailConfig\", LogTailConfigArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .inputType(\"file\")\n .name(\"terraform-example\")\n .outputType(\"LogService\")\n .inputDetail(\"\"\"\n \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogTailConfig:\n type: alicloud:log:LogTailConfig\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n inputType: file\n name: terraform-example\n outputType: LogService\n inputDetail: |2\n \\t{\n \\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n \\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n \\t\\t\\\"logType\\\": \\\"json_log\\\",\n \\t\\t\\\"topicFormat\\\": \\\"default\\\",\n \\t\\t\\\"discardUnmatch\\\": false,\n \\t\\t\\\"enableRawLog\\\": true,\n \\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n \\t\\t\\\"maxDepth\\\": 10\n \\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing sls-logtail module\nto create logtail config, machine group, install logtail on ECS instances and join instances into machine group one-click.\n\n## Import\n\nLogtial config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/logTailConfig:LogTailConfig example tf-log:tf-log-store:tf-log-config\n```\n\n", + "description": "The Logtail access service is a log collection agent provided by Log Service.\nYou can use Logtail to collect logs from servers such as Alibaba Cloud Elastic\nCompute Service (ECS) instances in real time in the Log Service console. [Refer to details](https://www.alibabacloud.com/help/doc-detail/29058.htm\n)\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleLogTailConfig = new alicloud.log.LogTailConfig(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n inputType: \"file\",\n name: \"terraform-example\",\n outputType: \"LogService\",\n inputDetail: ` \\\\t{\n\\\\t\\\\t\\\\\"logPath\\\\\": \\\\\"/logPath\\\\\",\n\\\\t\\\\t\\\\\"filePattern\\\\\": \\\\\"access.log\\\\\",\n\\\\t\\\\t\\\\\"logType\\\\\": \\\\\"json_log\\\\\",\n\\\\t\\\\t\\\\\"topicFormat\\\\\": \\\\\"default\\\\\",\n\\\\t\\\\t\\\\\"discardUnmatch\\\\\": false,\n\\\\t\\\\t\\\\\"enableRawLog\\\\\": true,\n\\\\t\\\\t\\\\\"fileEncoding\\\\\": \\\\\"gbk\\\\\",\n\\\\t\\\\t\\\\\"maxDepth\\\\\": 10\n\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_log_tail_config = alicloud.log.LogTailConfig(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n input_type=\"file\",\n name=\"terraform-example\",\n output_type=\"LogService\",\n input_detail=\"\"\" \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleLogTailConfig = new AliCloud.Log.LogTailConfig(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n InputType = \"file\",\n Name = \"terraform-example\",\n OutputType = \"LogService\",\n InputDetail = @\" \\t{\n\\t\\t\\\"\"logPath\\\"\": \\\"\"/logPath\\\"\",\n\\t\\t\\\"\"filePattern\\\"\": \\\"\"access.log\\\"\",\n\\t\\t\\\"\"logType\\\"\": \\\"\"json_log\\\"\",\n\\t\\t\\\"\"topicFormat\\\"\": \\\"\"default\\\"\",\n\\t\\t\\\"\"discardUnmatch\\\"\": false,\n\\t\\t\\\"\"enableRawLog\\\"\": true,\n\\t\\t\\\"\"fileEncoding\\\"\": \\\"\"gbk\\\"\",\n\\t\\t\\\"\"maxDepth\\\"\": 10\n\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewLogTailConfig(ctx, \"example\", \u0026log.LogTailConfigArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(` \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.LogTailConfig;\nimport com.pulumi.alicloud.log.LogTailConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleLogTailConfig = new LogTailConfig(\"exampleLogTailConfig\", LogTailConfigArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .inputType(\"file\")\n .name(\"terraform-example\")\n .outputType(\"LogService\")\n .inputDetail(\"\"\"\n \\t{\n\\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n\\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n\\t\\t\\\"logType\\\": \\\"json_log\\\",\n\\t\\t\\\"topicFormat\\\": \\\"default\\\",\n\\t\\t\\\"discardUnmatch\\\": false,\n\\t\\t\\\"enableRawLog\\\": true,\n\\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n\\t\\t\\\"maxDepth\\\": 10\n\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleLogTailConfig:\n type: alicloud:log:LogTailConfig\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n inputType: file\n name: terraform-example\n outputType: LogService\n inputDetail: |2\n \\t{\n \\t\\t\\\"logPath\\\": \\\"/logPath\\\",\n \\t\\t\\\"filePattern\\\": \\\"access.log\\\",\n \\t\\t\\\"logType\\\": \\\"json_log\\\",\n \\t\\t\\\"topicFormat\\\": \\\"default\\\",\n \\t\\t\\\"discardUnmatch\\\": false,\n \\t\\t\\\"enableRawLog\\\": true,\n \\t\\t\\\"fileEncoding\\\": \\\"gbk\\\",\n \\t\\t\\\"maxDepth\\\": 10\n \\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing sls-logtail module\nto create logtail config, machine group, install logtail on ECS instances and join instances into machine group one-click.\n\n## Import\n\nLogtial config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/logTailConfig:LogTailConfig example tf-log:tf-log-store:tf-log-config\n```\n\n", "properties": { "inputDetail": { "type": "string", @@ -207160,7 +211598,7 @@ } }, "alicloud:log/machineGroup:MachineGroup": { - "description": "Log Service manages all the ECS instances whose logs need to be collected by using the Logtail client in the form of machine groups.\n [Refer to details](https://www.alibabacloud.com/help/doc-detail/28966.htm)\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleMachineGroup = new alicloud.log.MachineGroup(\"example\", {\n project: example.projectName,\n name: \"terraform-example\",\n identifyType: \"ip\",\n topic: \"terraform\",\n identifyLists: [\n \"10.0.0.1\",\n \"10.0.0.2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_machine_group = alicloud.log.MachineGroup(\"example\",\n project=example.project_name,\n name=\"terraform-example\",\n identify_type=\"ip\",\n topic=\"terraform\",\n identify_lists=[\n \"10.0.0.1\",\n \"10.0.0.2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleMachineGroup = new AliCloud.Log.MachineGroup(\"example\", new()\n {\n Project = example.ProjectName,\n Name = \"terraform-example\",\n IdentifyType = \"ip\",\n Topic = \"terraform\",\n IdentifyLists = new[]\n {\n \"10.0.0.1\",\n \"10.0.0.2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewMachineGroup(ctx, \"example\", \u0026log.MachineGroupArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tIdentifyType: pulumi.String(\"ip\"),\n\t\t\tTopic: pulumi.String(\"terraform\"),\n\t\t\tIdentifyLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.MachineGroup;\nimport com.pulumi.alicloud.log.MachineGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleMachineGroup = new MachineGroup(\"exampleMachineGroup\", MachineGroupArgs.builder()\n .project(example.projectName())\n .name(\"terraform-example\")\n .identifyType(\"ip\")\n .topic(\"terraform\")\n .identifyLists( \n \"10.0.0.1\",\n \"10.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleMachineGroup:\n type: alicloud:log:MachineGroup\n name: example\n properties:\n project: ${example.projectName}\n name: terraform-example\n identifyType: ip\n topic: terraform\n identifyLists:\n - 10.0.0.1\n - 10.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing sls-logtail module \nto create logtail config, machine group, install logtail on ECS instances and join instances into machine group one-click.\n\n## Import\n\nLog machine group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/machineGroup:MachineGroup example tf-log:tf-machine-group\n```\n\n", + "description": "Log Service manages all the ECS instances whose logs need to be collected by using the Logtail client in the form of machine groups.\n [Refer to details](https://www.alibabacloud.com/help/doc-detail/28966.htm)\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleMachineGroup = new alicloud.log.MachineGroup(\"example\", {\n project: example.projectName,\n name: \"terraform-example\",\n identifyType: \"ip\",\n topic: \"terraform\",\n identifyLists: [\n \"10.0.0.1\",\n \"10.0.0.2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_machine_group = alicloud.log.MachineGroup(\"example\",\n project=example.project_name,\n name=\"terraform-example\",\n identify_type=\"ip\",\n topic=\"terraform\",\n identify_lists=[\n \"10.0.0.1\",\n \"10.0.0.2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleMachineGroup = new AliCloud.Log.MachineGroup(\"example\", new()\n {\n Project = example.ProjectName,\n Name = \"terraform-example\",\n IdentifyType = \"ip\",\n Topic = \"terraform\",\n IdentifyLists = new[]\n {\n \"10.0.0.1\",\n \"10.0.0.2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewMachineGroup(ctx, \"example\", \u0026log.MachineGroupArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\tIdentifyType: pulumi.String(\"ip\"),\n\t\t\tTopic: pulumi.String(\"terraform\"),\n\t\t\tIdentifyLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.1\"),\n\t\t\t\tpulumi.String(\"10.0.0.2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.MachineGroup;\nimport com.pulumi.alicloud.log.MachineGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleMachineGroup = new MachineGroup(\"exampleMachineGroup\", MachineGroupArgs.builder()\n .project(example.projectName())\n .name(\"terraform-example\")\n .identifyType(\"ip\")\n .topic(\"terraform\")\n .identifyLists( \n \"10.0.0.1\",\n \"10.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleMachineGroup:\n type: alicloud:log:MachineGroup\n name: example\n properties:\n project: ${example.projectName}\n name: terraform-example\n identifyType: ip\n topic: terraform\n identifyLists:\n - 10.0.0.1\n - 10.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing sls-logtail module \nto create logtail config, machine group, install logtail on ECS instances and join instances into machine group one-click.\n\n## Import\n\nLog machine group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/machineGroup:MachineGroup example tf-log:tf-machine-group\n```\n\n", "properties": { "identifyLists": { "type": "array", @@ -207255,7 +211693,7 @@ } }, "alicloud:log/ossExport:OssExport": { - "description": "Log service data delivery management, this service provides the function of delivering data in logstore to oss product storage. [Refer to details](https://www.alibabacloud.com/help/en/log-service/latest/ship-logs-to-oss-new-version).\n\n\u003e **NOTE:** This resource is no longer maintained. It is recommended to use the new resource alicloud_sls_oss_export_sink.\nRefer to details.\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleOssExport = new alicloud.log.OssExport(\"example\", {\n projectName: example.projectName,\n logstoreName: exampleStore.logstoreName,\n exportName: \"terraform-example\",\n displayName: \"terraform-example\",\n bucket: \"example-bucket\",\n prefix: \"root\",\n suffix: \"\",\n bufferInterval: 300,\n bufferSize: 250,\n compressType: \"none\",\n pathFormat: \"%Y/%m/%d/%H/%M\",\n contentType: \"json\",\n jsonEnableTag: true,\n roleArn: \"role_arn_for_oss_write\",\n logReadRoleArn: \"role_arn_for_sls_read\",\n timeZone: \"+0800\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_oss_export = alicloud.log.OssExport(\"example\",\n project_name=example.project_name,\n logstore_name=example_store.logstore_name,\n export_name=\"terraform-example\",\n display_name=\"terraform-example\",\n bucket=\"example-bucket\",\n prefix=\"root\",\n suffix=\"\",\n buffer_interval=300,\n buffer_size=250,\n compress_type=\"none\",\n path_format=\"%Y/%m/%d/%H/%M\",\n content_type=\"json\",\n json_enable_tag=True,\n role_arn=\"role_arn_for_oss_write\",\n log_read_role_arn=\"role_arn_for_sls_read\",\n time_zone=\"+0800\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleOssExport = new AliCloud.Log.OssExport(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = exampleStore.LogstoreName,\n ExportName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Bucket = \"example-bucket\",\n Prefix = \"root\",\n Suffix = \"\",\n BufferInterval = 300,\n BufferSize = 250,\n CompressType = \"none\",\n PathFormat = \"%Y/%m/%d/%H/%M\",\n ContentType = \"json\",\n JsonEnableTag = true,\n RoleArn = \"role_arn_for_oss_write\",\n LogReadRoleArn = \"role_arn_for_sls_read\",\n TimeZone = \"+0800\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewOssExport(ctx, \"example\", \u0026log.OssExportArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: exampleStore.LogstoreName,\n\t\t\tExportName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t\tPrefix: pulumi.String(\"root\"),\n\t\t\tSuffix: pulumi.String(\"\"),\n\t\t\tBufferInterval: pulumi.Int(300),\n\t\t\tBufferSize: pulumi.Int(250),\n\t\t\tCompressType: pulumi.String(\"none\"),\n\t\t\tPathFormat: pulumi.String(\"%Y/%m/%d/%H/%M\"),\n\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\tJsonEnableTag: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.String(\"role_arn_for_oss_write\"),\n\t\t\tLogReadRoleArn: pulumi.String(\"role_arn_for_sls_read\"),\n\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.OssExport;\nimport com.pulumi.alicloud.log.OssExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleOssExport = new OssExport(\"exampleOssExport\", OssExportArgs.builder()\n .projectName(example.projectName())\n .logstoreName(exampleStore.logstoreName())\n .exportName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .bucket(\"example-bucket\")\n .prefix(\"root\")\n .suffix(\"\")\n .bufferInterval(300)\n .bufferSize(250)\n .compressType(\"none\")\n .pathFormat(\"%Y/%m/%d/%H/%M\")\n .contentType(\"json\")\n .jsonEnableTag(true)\n .roleArn(\"role_arn_for_oss_write\")\n .logReadRoleArn(\"role_arn_for_sls_read\")\n .timeZone(\"+0800\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleOssExport:\n type: alicloud:log:OssExport\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: ${exampleStore.logstoreName}\n exportName: terraform-example\n displayName: terraform-example\n bucket: example-bucket\n prefix: root\n suffix: \"\"\n bufferInterval: 300\n bufferSize: 250\n compressType: none\n pathFormat: '%Y/%m/%d/%H/%M'\n contentType: json\n jsonEnableTag: true\n roleArn: role_arn_for_oss_write\n logReadRoleArn: role_arn_for_sls_read\n timeZone: '+0800'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog oss export can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ossExport:OssExport example tf-log-project:tf-log-logstore:tf-log-export\n```\n\n", + "description": "Log service data delivery management, this service provides the function of delivering data in logstore to oss product storage. [Refer to details](https://www.alibabacloud.com/help/en/log-service/latest/ship-logs-to-oss-new-version).\n\n\u003e **NOTE:** This resource is no longer maintained. It is recommended to use the new resource alicloud_sls_oss_export_sink.\nRefer to details.\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n retentionPeriod: 3650,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleOssExport = new alicloud.log.OssExport(\"example\", {\n projectName: example.projectName,\n logstoreName: exampleStore.logstoreName,\n exportName: \"terraform-example\",\n displayName: \"terraform-example\",\n bucket: \"example-bucket\",\n prefix: \"root\",\n suffix: \"\",\n bufferInterval: 300,\n bufferSize: 250,\n compressType: \"none\",\n pathFormat: \"%Y/%m/%d/%H/%M\",\n contentType: \"json\",\n jsonEnableTag: true,\n roleArn: \"role_arn_for_oss_write\",\n logReadRoleArn: \"role_arn_for_sls_read\",\n timeZone: \"+0800\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n retention_period=3650,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_oss_export = alicloud.log.OssExport(\"example\",\n project_name=example.project_name,\n logstore_name=example_store.logstore_name,\n export_name=\"terraform-example\",\n display_name=\"terraform-example\",\n bucket=\"example-bucket\",\n prefix=\"root\",\n suffix=\"\",\n buffer_interval=300,\n buffer_size=250,\n compress_type=\"none\",\n path_format=\"%Y/%m/%d/%H/%M\",\n content_type=\"json\",\n json_enable_tag=True,\n role_arn=\"role_arn_for_oss_write\",\n log_read_role_arn=\"role_arn_for_sls_read\",\n time_zone=\"+0800\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n RetentionPeriod = 3650,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleOssExport = new AliCloud.Log.OssExport(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = exampleStore.LogstoreName,\n ExportName = \"terraform-example\",\n DisplayName = \"terraform-example\",\n Bucket = \"example-bucket\",\n Prefix = \"root\",\n Suffix = \"\",\n BufferInterval = 300,\n BufferSize = 250,\n CompressType = \"none\",\n PathFormat = \"%Y/%m/%d/%H/%M\",\n ContentType = \"json\",\n JsonEnableTag = true,\n RoleArn = \"role_arn_for_oss_write\",\n LogReadRoleArn = \"role_arn_for_sls_read\",\n TimeZone = \"+0800\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewOssExport(ctx, \"example\", \u0026log.OssExportArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: exampleStore.LogstoreName,\n\t\t\tExportName: pulumi.String(\"terraform-example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform-example\"),\n\t\t\tBucket: pulumi.String(\"example-bucket\"),\n\t\t\tPrefix: pulumi.String(\"root\"),\n\t\t\tSuffix: pulumi.String(\"\"),\n\t\t\tBufferInterval: pulumi.Int(300),\n\t\t\tBufferSize: pulumi.Int(250),\n\t\t\tCompressType: pulumi.String(\"none\"),\n\t\t\tPathFormat: pulumi.String(\"%Y/%m/%d/%H/%M\"),\n\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\tJsonEnableTag: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.String(\"role_arn_for_oss_write\"),\n\t\t\tLogReadRoleArn: pulumi.String(\"role_arn_for_sls_read\"),\n\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.OssExport;\nimport com.pulumi.alicloud.log.OssExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .retentionPeriod(3650)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleOssExport = new OssExport(\"exampleOssExport\", OssExportArgs.builder()\n .projectName(example.projectName())\n .logstoreName(exampleStore.logstoreName())\n .exportName(\"terraform-example\")\n .displayName(\"terraform-example\")\n .bucket(\"example-bucket\")\n .prefix(\"root\")\n .suffix(\"\")\n .bufferInterval(300)\n .bufferSize(250)\n .compressType(\"none\")\n .pathFormat(\"%Y/%m/%d/%H/%M\")\n .contentType(\"json\")\n .jsonEnableTag(true)\n .roleArn(\"role_arn_for_oss_write\")\n .logReadRoleArn(\"role_arn_for_sls_read\")\n .timeZone(\"+0800\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n retentionPeriod: 3650\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleOssExport:\n type: alicloud:log:OssExport\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: ${exampleStore.logstoreName}\n exportName: terraform-example\n displayName: terraform-example\n bucket: example-bucket\n prefix: root\n suffix: \"\"\n bufferInterval: 300\n bufferSize: 250\n compressType: none\n pathFormat: '%Y/%m/%d/%H/%M'\n contentType: json\n jsonEnableTag: true\n roleArn: role_arn_for_oss_write\n logReadRoleArn: role_arn_for_sls_read\n timeZone: '+0800'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog oss export can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ossExport:OssExport example tf-log-project:tf-log-logstore:tf-log-export\n```\n\n", "properties": { "bucket": { "type": "string", @@ -207615,7 +212053,7 @@ } }, "alicloud:log/ossShipper:OssShipper": { - "description": "Log service data delivery management, this service provides the function of delivering data in logstore to oss product storage.\n[Refer to details](https://www.alibabacloud.com/help/en/doc-detail/43724.htm).\n\n\u003e **NOTE:** Available since v1.121.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.215.0`. Please use new resource alicloud_log_oss_export.\n\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n retentionPeriod: 3650,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleOssShipper = new alicloud.log.OssShipper(\"example\", {\n projectName: example.name,\n logstoreName: exampleStore.name,\n shipperName: \"terraform-example\",\n ossBucket: \"example_bucket\",\n ossPrefix: \"root\",\n bufferInterval: 300,\n bufferSize: 250,\n compressType: \"none\",\n pathFormat: \"%Y/%m/%d/%H/%M\",\n format: \"json\",\n jsonEnableTag: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n retention_period=3650,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_oss_shipper = alicloud.log.OssShipper(\"example\",\n project_name=example.name,\n logstore_name=example_store.name,\n shipper_name=\"terraform-example\",\n oss_bucket=\"example_bucket\",\n oss_prefix=\"root\",\n buffer_interval=300,\n buffer_size=250,\n compress_type=\"none\",\n path_format=\"%Y/%m/%d/%H/%M\",\n format=\"json\",\n json_enable_tag=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n RetentionPeriod = 3650,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleOssShipper = new AliCloud.Log.OssShipper(\"example\", new()\n {\n ProjectName = example.Name,\n LogstoreName = exampleStore.Name,\n ShipperName = \"terraform-example\",\n OssBucket = \"example_bucket\",\n OssPrefix = \"root\",\n BufferInterval = 300,\n BufferSize = 250,\n CompressType = \"none\",\n PathFormat = \"%Y/%m/%d/%H/%M\",\n Format = \"json\",\n JsonEnableTag = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewOssShipper(ctx, \"example\", \u0026log.OssShipperArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tLogstoreName: exampleStore.Name,\n\t\t\tShipperName: pulumi.String(\"terraform-example\"),\n\t\t\tOssBucket: pulumi.String(\"example_bucket\"),\n\t\t\tOssPrefix: pulumi.String(\"root\"),\n\t\t\tBufferInterval: pulumi.Int(300),\n\t\t\tBufferSize: pulumi.Int(250),\n\t\t\tCompressType: pulumi.String(\"none\"),\n\t\t\tPathFormat: pulumi.String(\"%Y/%m/%d/%H/%M\"),\n\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\tJsonEnableTag: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.OssShipper;\nimport com.pulumi.alicloud.log.OssShipperArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .retentionPeriod(3650)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleOssShipper = new OssShipper(\"exampleOssShipper\", OssShipperArgs.builder()\n .projectName(example.name())\n .logstoreName(exampleStore.name())\n .shipperName(\"terraform-example\")\n .ossBucket(\"example_bucket\")\n .ossPrefix(\"root\")\n .bufferInterval(300)\n .bufferSize(250)\n .compressType(\"none\")\n .pathFormat(\"%Y/%m/%d/%H/%M\")\n .format(\"json\")\n .jsonEnableTag(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n retentionPeriod: 3650\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleOssShipper:\n type: alicloud:log:OssShipper\n name: example\n properties:\n projectName: ${example.name}\n logstoreName: ${exampleStore.name}\n shipperName: terraform-example\n ossBucket: example_bucket\n ossPrefix: root\n bufferInterval: 300\n bufferSize: 250\n compressType: none\n pathFormat: '%Y/%m/%d/%H/%M'\n format: json\n jsonEnableTag: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog oss shipper can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ossShipper:OssShipper example tf-log-project:tf-log-logstore:tf-log-shipper\n```\n\n", + "description": "Log service data delivery management, this service provides the function of delivering data in logstore to oss product storage.\n[Refer to details](https://www.alibabacloud.com/help/en/doc-detail/43724.htm).\n\n\u003e **NOTE:** Available since v1.121.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.215.0`. Please use new resource alicloud_log_oss_export.\n\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n retentionPeriod: 3650,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleOssShipper = new alicloud.log.OssShipper(\"example\", {\n projectName: example.name,\n logstoreName: exampleStore.name,\n shipperName: \"terraform-example\",\n ossBucket: \"example_bucket\",\n ossPrefix: \"root\",\n bufferInterval: 300,\n bufferSize: 250,\n compressType: \"none\",\n pathFormat: \"%Y/%m/%d/%H/%M\",\n format: \"json\",\n jsonEnableTag: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n retention_period=3650,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_oss_shipper = alicloud.log.OssShipper(\"example\",\n project_name=example.name,\n logstore_name=example_store.name,\n shipper_name=\"terraform-example\",\n oss_bucket=\"example_bucket\",\n oss_prefix=\"root\",\n buffer_interval=300,\n buffer_size=250,\n compress_type=\"none\",\n path_format=\"%Y/%m/%d/%H/%M\",\n format=\"json\",\n json_enable_tag=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n RetentionPeriod = 3650,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleOssShipper = new AliCloud.Log.OssShipper(\"example\", new()\n {\n ProjectName = example.Name,\n LogstoreName = exampleStore.Name,\n ShipperName = \"terraform-example\",\n OssBucket = \"example_bucket\",\n OssPrefix = \"root\",\n BufferInterval = 300,\n BufferSize = 250,\n CompressType = \"none\",\n PathFormat = \"%Y/%m/%d/%H/%M\",\n Format = \"json\",\n JsonEnableTag = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tRetentionPeriod: pulumi.Int(3650),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewOssShipper(ctx, \"example\", \u0026log.OssShipperArgs{\n\t\t\tProjectName: example.Name,\n\t\t\tLogstoreName: exampleStore.Name,\n\t\t\tShipperName: pulumi.String(\"terraform-example\"),\n\t\t\tOssBucket: pulumi.String(\"example_bucket\"),\n\t\t\tOssPrefix: pulumi.String(\"root\"),\n\t\t\tBufferInterval: pulumi.Int(300),\n\t\t\tBufferSize: pulumi.Int(250),\n\t\t\tCompressType: pulumi.String(\"none\"),\n\t\t\tPathFormat: pulumi.String(\"%Y/%m/%d/%H/%M\"),\n\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\tJsonEnableTag: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.OssShipper;\nimport com.pulumi.alicloud.log.OssShipperArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .retentionPeriod(3650)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleOssShipper = new OssShipper(\"exampleOssShipper\", OssShipperArgs.builder()\n .projectName(example.name())\n .logstoreName(exampleStore.name())\n .shipperName(\"terraform-example\")\n .ossBucket(\"example_bucket\")\n .ossPrefix(\"root\")\n .bufferInterval(300)\n .bufferSize(250)\n .compressType(\"none\")\n .pathFormat(\"%Y/%m/%d/%H/%M\")\n .format(\"json\")\n .jsonEnableTag(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n retentionPeriod: 3650\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleOssShipper:\n type: alicloud:log:OssShipper\n name: example\n properties:\n projectName: ${example.name}\n logstoreName: ${exampleStore.name}\n shipperName: terraform-example\n ossBucket: example_bucket\n ossPrefix: root\n bufferInterval: 300\n bufferSize: 250\n compressType: none\n pathFormat: '%Y/%m/%d/%H/%M'\n format: json\n jsonEnableTag: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog oss shipper can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:log/ossShipper:OssShipper example tf-log-project:tf-log-logstore:tf-log-shipper\n```\n\n", "properties": { "bufferInterval": { "type": "integer", @@ -207876,7 +212314,7 @@ } }, "alicloud:log/project:Project": { - "description": "Provides a SLS Project resource. \n\nFor information about SLS Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/sls/developer-reference/api-createproject).\n\n\u003e **NOTE:** Available since v1.9.5.\n\n## Example Usage\n\nBasic Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProject With Policy Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst examplePolicy = new alicloud.log.Project(\"example_policy\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n policy: `{\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"log:PostLogStoreLogs\\\\\"\n ],\n \\\\\"Condition\\\\\": {\n \\\\\"StringNotLike\\\\\": {\n \\\\\"acs:SourceVpc\\\\\": [\n \\\\\"vpc-*\\\\\"\n ]\n }\n },\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Resource\\\\\": \\\\\"acs:log:*:*:project/tf-log/*\\\\\"\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample_policy = alicloud.log.Project(\"example_policy\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n policy=\"\"\"{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var examplePolicy = new AliCloud.Log.Project(\"example_policy\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Policy = @\"{\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"log:PostLogStoreLogs\\\"\"\n ],\n \\\"\"Condition\\\"\": {\n \\\"\"StringNotLike\\\"\": {\n \\\"\"acs:SourceVpc\\\"\": [\n \\\"\"vpc-*\\\"\"\n ]\n }\n },\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Resource\\\"\": \\\"\"acs:log:*:*:project/tf-log/*\\\"\"\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewProject(ctx, \"example_policy\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPolicy: pulumi.String(`{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var examplePolicy = new Project(\"examplePolicy\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .policy(\"\"\"\n{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n examplePolicy:\n type: alicloud:log:Project\n name: example_policy\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n policy: |\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nSLS Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/project:Project example \u003cid\u003e\n```\n\n", + "description": "Provides a SLS Project resource. \n\nFor information about SLS Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/sls/developer-reference/api-createproject).\n\n\u003e **NOTE:** Available since v1.9.5.\n\n## Example Usage\n\nBasic Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n tags:\n Created: TF\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nProject With Policy Usage\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst examplePolicy = new alicloud.log.Project(\"example_policy\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n policy: `{\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"log:PostLogStoreLogs\\\\\"\n ],\n \\\\\"Condition\\\\\": {\n \\\\\"StringNotLike\\\\\": {\n \\\\\"acs:SourceVpc\\\\\": [\n \\\\\"vpc-*\\\\\"\n ]\n }\n },\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Resource\\\\\": \\\\\"acs:log:*:*:project/tf-log/*\\\\\"\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample_policy = alicloud.log.Project(\"example_policy\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\",\n policy=\"\"\"{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var examplePolicy = new AliCloud.Log.Project(\"example_policy\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n Policy = @\"{\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"log:PostLogStoreLogs\\\"\"\n ],\n \\\"\"Condition\\\"\": {\n \\\"\"StringNotLike\\\"\": {\n \\\"\"acs:SourceVpc\\\"\": [\n \\\"\"vpc-*\\\"\"\n ]\n }\n },\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Resource\\\"\": \\\"\"acs:log:*:*:project/tf-log/*\\\"\"\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewProject(ctx, \"example_policy\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPolicy: pulumi.String(`{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.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 default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var examplePolicy = new Project(\"examplePolicy\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .policy(\"\"\"\n{\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n examplePolicy:\n type: alicloud:log:Project\n name: example_policy\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n policy: |\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"log:PostLogStoreLogs\\\"\n ],\n \\\"Condition\\\": {\n \\\"StringNotLike\\\": {\n \\\"acs:SourceVpc\\\": [\n \\\"vpc-*\\\"\n ]\n }\n },\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Resource\\\": \\\"acs:log:*:*:project/tf-log/*\\\"\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nSLS Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/project:Project example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -208000,7 +212438,7 @@ } }, "alicloud:log/resource:Resource": { - "description": "Log resource is a meta store service provided by log service, resource can be used to define meta store's table structure. \n\nFor information about SLS Resource and how to use it, see [Resource management](https://www.alibabacloud.com/help/en/doc-detail/207732.html)\n\n\u003e **NOTE:** Available since v1.162.0. log resource region should be set a main region: cn-heyuan.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.log.Resource(\"example\", {\n type: \"userdefine\",\n name: \"user.tf.resource\",\n description: \"user tf resource desc\",\n extInfo: \"{}\",\n schema: ` {\n \\\\\"schema\\\\\": [\n {\n \\\\\"column\\\\\": \\\\\"col1\\\\\",\n \\\\\"desc\\\\\": \\\\\"col1 desc\\\\\",\n \\\\\"ext_info\\\\\": {\n },\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n },\n {\n \\\\\"column\\\\\": \\\\\"col2\\\\\",\n \\\\\"desc\\\\\": \\\\\"col2 desc\\\\\",\n \\\\\"ext_info\\\\\": \\\\\"optional\\\\\",\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n }\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.log.Resource(\"example\",\n type=\"userdefine\",\n name=\"user.tf.resource\",\n description=\"user tf resource desc\",\n ext_info=\"{}\",\n schema=\"\"\" {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Log.Resource(\"example\", new()\n {\n Type = \"userdefine\",\n Name = \"user.tf.resource\",\n Description = \"user tf resource desc\",\n ExtInfo = \"{}\",\n Schema = @\" {\n \\\"\"schema\\\"\": [\n {\n \\\"\"column\\\"\": \\\"\"col1\\\"\",\n \\\"\"desc\\\"\": \\\"\"col1 desc\\\"\",\n \\\"\"ext_info\\\"\": {\n },\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n },\n {\n \\\"\"column\\\"\": \\\"\"col2\\\"\",\n \\\"\"desc\\\"\": \\\"\"col2 desc\\\"\",\n \\\"\"ext_info\\\"\": \\\"\"optional\\\"\",\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n }\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewResource(ctx, \"example\", \u0026log.ResourceArgs{\n\t\t\tType: pulumi.String(\"userdefine\"),\n\t\t\tName: pulumi.String(\"user.tf.resource\"),\n\t\t\tDescription: pulumi.String(\"user tf resource desc\"),\n\t\t\tExtInfo: pulumi.String(\"{}\"),\n\t\t\tSchema: pulumi.String(` {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\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.alicloud.log.Resource;\nimport com.pulumi.alicloud.log.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Resource(\"example\", ResourceArgs.builder()\n .type(\"userdefine\")\n .name(\"user.tf.resource\")\n .description(\"user tf resource desc\")\n .extInfo(\"{}\")\n .schema(\"\"\"\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Resource\n properties:\n type: userdefine\n name: user.tf.resource\n description: user tf resource desc\n extInfo: '{}'\n schema: |2\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/resource:Resource example \u003cid\u003e\n```\n\n", + "description": "Log resource is a meta store service provided by log service, resource can be used to define meta store's table structure. \n\nFor information about SLS Resource and how to use it, see [Resource management](https://www.alibabacloud.com/help/en/doc-detail/207732.html)\n\n\u003e **NOTE:** Available since v1.162.0. log resource region should be set a main region: cn-heyuan.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.log.Resource(\"example\", {\n type: \"userdefine\",\n name: \"user.tf.resource\",\n description: \"user tf resource desc\",\n extInfo: \"{}\",\n schema: ` {\n \\\\\"schema\\\\\": [\n {\n \\\\\"column\\\\\": \\\\\"col1\\\\\",\n \\\\\"desc\\\\\": \\\\\"col1 desc\\\\\",\n \\\\\"ext_info\\\\\": {\n },\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n },\n {\n \\\\\"column\\\\\": \\\\\"col2\\\\\",\n \\\\\"desc\\\\\": \\\\\"col2 desc\\\\\",\n \\\\\"ext_info\\\\\": \\\\\"optional\\\\\",\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n }\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.log.Resource(\"example\",\n type=\"userdefine\",\n name=\"user.tf.resource\",\n description=\"user tf resource desc\",\n ext_info=\"{}\",\n schema=\"\"\" {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Log.Resource(\"example\", new()\n {\n Type = \"userdefine\",\n Name = \"user.tf.resource\",\n Description = \"user tf resource desc\",\n ExtInfo = \"{}\",\n Schema = @\" {\n \\\"\"schema\\\"\": [\n {\n \\\"\"column\\\"\": \\\"\"col1\\\"\",\n \\\"\"desc\\\"\": \\\"\"col1 desc\\\"\",\n \\\"\"ext_info\\\"\": {\n },\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n },\n {\n \\\"\"column\\\"\": \\\"\"col2\\\"\",\n \\\"\"desc\\\"\": \\\"\"col2 desc\\\"\",\n \\\"\"ext_info\\\"\": \\\"\"optional\\\"\",\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n }\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewResource(ctx, \"example\", \u0026log.ResourceArgs{\n\t\t\tType: pulumi.String(\"userdefine\"),\n\t\t\tName: pulumi.String(\"user.tf.resource\"),\n\t\t\tDescription: pulumi.String(\"user tf resource desc\"),\n\t\t\tExtInfo: pulumi.String(\"{}\"),\n\t\t\tSchema: pulumi.String(` {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\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.alicloud.log.Resource;\nimport com.pulumi.alicloud.log.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Resource(\"example\", ResourceArgs.builder()\n .type(\"userdefine\")\n .name(\"user.tf.resource\")\n .description(\"user tf resource desc\")\n .extInfo(\"{}\")\n .schema(\"\"\"\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Resource\n properties:\n type: userdefine\n name: user.tf.resource\n description: user tf resource desc\n extInfo: '{}'\n schema: |2\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/resource:Resource example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -208084,7 +212522,7 @@ } }, "alicloud:log/resourceRecord:ResourceRecord": { - "description": "Log resource is a meta store service provided by log service, resource can be used to define meta store's table structure, record can be used for table's row data. \n\nFor information about SLS Resource and how to use it, see [Resource management](https://www.alibabacloud.com/help/en/doc-detail/207732.html)\n\n\u003e **NOTE:** Available since v1.162.0. log resource region should be set a main region: cn-heyuan.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.log.Resource(\"example\", {\n type: \"userdefine\",\n name: \"user.tf.resource\",\n description: \"user tf resource desc\",\n extInfo: \"{}\",\n schema: ` {\n \\\\\"schema\\\\\": [\n {\n \\\\\"column\\\\\": \\\\\"col1\\\\\",\n \\\\\"desc\\\\\": \\\\\"col1 desc\\\\\",\n \\\\\"ext_info\\\\\": {\n },\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n },\n {\n \\\\\"column\\\\\": \\\\\"col2\\\\\",\n \\\\\"desc\\\\\": \\\\\"col2 desc\\\\\",\n \\\\\"ext_info\\\\\": \\\\\"optional\\\\\",\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n }\n ]\n }\n`,\n});\nconst exampleResourceRecord = new alicloud.log.ResourceRecord(\"example\", {\n resourceName: example.id,\n recordId: \"tf_user_example\",\n tag: \"tf example\",\n value: `{\n \\\\\"user_name\\\\\": \\\\\"tf example\\\\\",\n \\\\\"sms_enabled\\\\\": true,\n \\\\\"phone\\\\\": \\\\\"18888888889\\\\\",\n \\\\\"voice_enabled\\\\\": false,\n \\\\\"email\\\\\": [\n \\\\\"test@qq.com\\\\\"\n ],\n \\\\\"enabled\\\\\": true,\n \\\\\"user_id\\\\\": \\\\\"tf_user\\\\\",\n \\\\\"country_code\\\\\": \\\\\"86\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.log.Resource(\"example\",\n type=\"userdefine\",\n name=\"user.tf.resource\",\n description=\"user tf resource desc\",\n ext_info=\"{}\",\n schema=\"\"\" {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n\"\"\")\nexample_resource_record = alicloud.log.ResourceRecord(\"example\",\n resource_name_=example.id,\n record_id=\"tf_user_example\",\n tag=\"tf example\",\n value=\"\"\"{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Log.Resource(\"example\", new()\n {\n Type = \"userdefine\",\n Name = \"user.tf.resource\",\n Description = \"user tf resource desc\",\n ExtInfo = \"{}\",\n Schema = @\" {\n \\\"\"schema\\\"\": [\n {\n \\\"\"column\\\"\": \\\"\"col1\\\"\",\n \\\"\"desc\\\"\": \\\"\"col1 desc\\\"\",\n \\\"\"ext_info\\\"\": {\n },\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n },\n {\n \\\"\"column\\\"\": \\\"\"col2\\\"\",\n \\\"\"desc\\\"\": \\\"\"col2 desc\\\"\",\n \\\"\"ext_info\\\"\": \\\"\"optional\\\"\",\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n }\n ]\n }\n\",\n });\n\n var exampleResourceRecord = new AliCloud.Log.ResourceRecord(\"example\", new()\n {\n ResourceName = example.Id,\n RecordId = \"tf_user_example\",\n Tag = \"tf example\",\n Value = @\"{\n \\\"\"user_name\\\"\": \\\"\"tf example\\\"\",\n \\\"\"sms_enabled\\\"\": true,\n \\\"\"phone\\\"\": \\\"\"18888888889\\\"\",\n \\\"\"voice_enabled\\\"\": false,\n \\\"\"email\\\"\": [\n \\\"\"test@qq.com\\\"\"\n ],\n \\\"\"enabled\\\"\": true,\n \\\"\"user_id\\\"\": \\\"\"tf_user\\\"\",\n \\\"\"country_code\\\"\": \\\"\"86\\\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := log.NewResource(ctx, \"example\", \u0026log.ResourceArgs{\n\t\t\tType: pulumi.String(\"userdefine\"),\n\t\t\tName: pulumi.String(\"user.tf.resource\"),\n\t\t\tDescription: pulumi.String(\"user tf resource desc\"),\n\t\t\tExtInfo: pulumi.String(\"{}\"),\n\t\t\tSchema: pulumi.String(` {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewResourceRecord(ctx, \"example\", \u0026log.ResourceRecordArgs{\n\t\t\tResourceName: example.ID(),\n\t\t\tRecordId: pulumi.String(\"tf_user_example\"),\n\t\t\tTag: pulumi.String(\"tf example\"),\n\t\t\tValue: pulumi.String(`{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\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.alicloud.log.Resource;\nimport com.pulumi.alicloud.log.ResourceArgs;\nimport com.pulumi.alicloud.log.ResourceRecord;\nimport com.pulumi.alicloud.log.ResourceRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Resource(\"example\", ResourceArgs.builder()\n .type(\"userdefine\")\n .name(\"user.tf.resource\")\n .description(\"user tf resource desc\")\n .extInfo(\"{}\")\n .schema(\"\"\"\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n var exampleResourceRecord = new ResourceRecord(\"exampleResourceRecord\", ResourceRecordArgs.builder()\n .resourceName(example.id())\n .recordId(\"tf_user_example\")\n .tag(\"tf example\")\n .value(\"\"\"\n{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Resource\n properties:\n type: userdefine\n name: user.tf.resource\n description: user tf resource desc\n extInfo: '{}'\n schema: |2\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n exampleResourceRecord:\n type: alicloud:log:ResourceRecord\n name: example\n properties:\n resourceName: ${example.id}\n recordId: tf_user_example\n tag: tf example\n value: |\n {\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog resource record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/resourceRecord:ResourceRecord example \u003cresource_name\u003e:\u003crecord_id\u003e\n```\n\n", + "description": "Log resource is a meta store service provided by log service, resource can be used to define meta store's table structure, record can be used for table's row data. \n\nFor information about SLS Resource and how to use it, see [Resource management](https://www.alibabacloud.com/help/en/doc-detail/207732.html)\n\n\u003e **NOTE:** Available since v1.162.0. log resource region should be set a main region: cn-heyuan.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.log.Resource(\"example\", {\n type: \"userdefine\",\n name: \"user.tf.resource\",\n description: \"user tf resource desc\",\n extInfo: \"{}\",\n schema: ` {\n \\\\\"schema\\\\\": [\n {\n \\\\\"column\\\\\": \\\\\"col1\\\\\",\n \\\\\"desc\\\\\": \\\\\"col1 desc\\\\\",\n \\\\\"ext_info\\\\\": {\n },\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n },\n {\n \\\\\"column\\\\\": \\\\\"col2\\\\\",\n \\\\\"desc\\\\\": \\\\\"col2 desc\\\\\",\n \\\\\"ext_info\\\\\": \\\\\"optional\\\\\",\n \\\\\"required\\\\\": true,\n \\\\\"type\\\\\": \\\\\"string\\\\\"\n }\n ]\n }\n`,\n});\nconst exampleResourceRecord = new alicloud.log.ResourceRecord(\"example\", {\n resourceName: example.id,\n recordId: \"tf_user_example\",\n tag: \"tf example\",\n value: `{\n \\\\\"user_name\\\\\": \\\\\"tf example\\\\\",\n \\\\\"sms_enabled\\\\\": true,\n \\\\\"phone\\\\\": \\\\\"18888888889\\\\\",\n \\\\\"voice_enabled\\\\\": false,\n \\\\\"email\\\\\": [\n \\\\\"test@qq.com\\\\\"\n ],\n \\\\\"enabled\\\\\": true,\n \\\\\"user_id\\\\\": \\\\\"tf_user\\\\\",\n \\\\\"country_code\\\\\": \\\\\"86\\\\\"\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.log.Resource(\"example\",\n type=\"userdefine\",\n name=\"user.tf.resource\",\n description=\"user tf resource desc\",\n ext_info=\"{}\",\n schema=\"\"\" {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n\"\"\")\nexample_resource_record = alicloud.log.ResourceRecord(\"example\",\n resource_name_=example.id,\n record_id=\"tf_user_example\",\n tag=\"tf example\",\n value=\"\"\"{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Log.Resource(\"example\", new()\n {\n Type = \"userdefine\",\n Name = \"user.tf.resource\",\n Description = \"user tf resource desc\",\n ExtInfo = \"{}\",\n Schema = @\" {\n \\\"\"schema\\\"\": [\n {\n \\\"\"column\\\"\": \\\"\"col1\\\"\",\n \\\"\"desc\\\"\": \\\"\"col1 desc\\\"\",\n \\\"\"ext_info\\\"\": {\n },\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n },\n {\n \\\"\"column\\\"\": \\\"\"col2\\\"\",\n \\\"\"desc\\\"\": \\\"\"col2 desc\\\"\",\n \\\"\"ext_info\\\"\": \\\"\"optional\\\"\",\n \\\"\"required\\\"\": true,\n \\\"\"type\\\"\": \\\"\"string\\\"\"\n }\n ]\n }\n\",\n });\n\n var exampleResourceRecord = new AliCloud.Log.ResourceRecord(\"example\", new()\n {\n ResourceName = example.Id,\n RecordId = \"tf_user_example\",\n Tag = \"tf example\",\n Value = @\"{\n \\\"\"user_name\\\"\": \\\"\"tf example\\\"\",\n \\\"\"sms_enabled\\\"\": true,\n \\\"\"phone\\\"\": \\\"\"18888888889\\\"\",\n \\\"\"voice_enabled\\\"\": false,\n \\\"\"email\\\"\": [\n \\\"\"test@qq.com\\\"\"\n ],\n \\\"\"enabled\\\"\": true,\n \\\"\"user_id\\\"\": \\\"\"tf_user\\\"\",\n \\\"\"country_code\\\"\": \\\"\"86\\\"\"\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := log.NewResource(ctx, \"example\", \u0026log.ResourceArgs{\n\t\t\tType: pulumi.String(\"userdefine\"),\n\t\t\tName: pulumi.String(\"user.tf.resource\"),\n\t\t\tDescription: pulumi.String(\"user tf resource desc\"),\n\t\t\tExtInfo: pulumi.String(\"{}\"),\n\t\t\tSchema: pulumi.String(` {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewResourceRecord(ctx, \"example\", \u0026log.ResourceRecordArgs{\n\t\t\tResourceName: example.ID(),\n\t\t\tRecordId: pulumi.String(\"tf_user_example\"),\n\t\t\tTag: pulumi.String(\"tf example\"),\n\t\t\tValue: pulumi.String(`{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\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.alicloud.log.Resource;\nimport com.pulumi.alicloud.log.ResourceArgs;\nimport com.pulumi.alicloud.log.ResourceRecord;\nimport com.pulumi.alicloud.log.ResourceRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Resource(\"example\", ResourceArgs.builder()\n .type(\"userdefine\")\n .name(\"user.tf.resource\")\n .description(\"user tf resource desc\")\n .extInfo(\"{}\")\n .schema(\"\"\"\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n var exampleResourceRecord = new ResourceRecord(\"exampleResourceRecord\", ResourceRecordArgs.builder()\n .resourceName(example.id())\n .recordId(\"tf_user_example\")\n .tag(\"tf example\")\n .value(\"\"\"\n{\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:log:Resource\n properties:\n type: userdefine\n name: user.tf.resource\n description: user tf resource desc\n extInfo: '{}'\n schema: |2\n {\n \\\"schema\\\": [\n {\n \\\"column\\\": \\\"col1\\\",\n \\\"desc\\\": \\\"col1 desc\\\",\n \\\"ext_info\\\": {\n },\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n },\n {\n \\\"column\\\": \\\"col2\\\",\n \\\"desc\\\": \\\"col2 desc\\\",\n \\\"ext_info\\\": \\\"optional\\\",\n \\\"required\\\": true,\n \\\"type\\\": \\\"string\\\"\n }\n ]\n }\n exampleResourceRecord:\n type: alicloud:log:ResourceRecord\n name: example\n properties:\n resourceName: ${example.id}\n recordId: tf_user_example\n tag: tf example\n value: |\n {\n \\\"user_name\\\": \\\"tf example\\\",\n \\\"sms_enabled\\\": true,\n \\\"phone\\\": \\\"18888888889\\\",\n \\\"voice_enabled\\\": false,\n \\\"email\\\": [\n \\\"test@qq.com\\\"\n ],\n \\\"enabled\\\": true,\n \\\"user_id\\\": \\\"tf_user\\\",\n \\\"country_code\\\": \\\"86\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog resource record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/resourceRecord:ResourceRecord example \u003cresource_name\u003e:\u003crecord_id\u003e\n```\n\n", "properties": { "recordId": { "type": "string", @@ -208159,7 +212597,7 @@ } }, "alicloud:log/store:Store": { - "description": "Provides a SLS Log Store resource.\n\n\n\nFor information about SLS Log Store and how to use it, see [What is Log Store](https://www.alibabacloud.com/help/doc-detail/48874.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEncrypt Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\n// The region of kms key.\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst example = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n vpcId: _default.ids?.[0],\n}));\nconst defaultInstance = new alicloud.kms.Instance(\"default\", {\n productVersion: \"3\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIds: [\n defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[1]?.zoneId),\n ],\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n vpcNum: 1,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n forceDeleteWithoutBackup: \"true\",\n paymentType: \"PayAsYouGo\",\n});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n dkmsInstanceId: defaultInstance.id,\n});\nconst exampleProject = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: exampleProject.projectName,\n logstoreName: \"example-store\",\n shardCount: 1,\n autoSplit: true,\n maxSplitShardCount: 60,\n encryptConf: {\n enable: true,\n encryptType: \"default\",\n userCmkInfo: {\n cmkKeyId: exampleKey.id,\n arn: example.then(example =\u003e `acs:ram::${example.id}:role/aliyunlogdefaultrole`),\n regionId: region,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\n# The region of kms key.\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nexample = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0])\ndefault_instance = alicloud.kms.Instance(\"default\",\n product_version=\"3\",\n vpc_id=default.ids[0],\n zone_ids=[\n default_get_switches.vswitches[0].zone_id,\n default_get_switches.vswitches[1].zone_id,\n ],\n vswitch_ids=[default_get_switches.ids[0]],\n vpc_num=1,\n key_num=1000,\n secret_num=0,\n spec=1000,\n force_delete_without_backup=\"true\",\n payment_type=\"PayAsYouGo\")\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\",\n dkms_instance_id=default_instance.id)\nexample_project = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example_project.project_name,\n logstore_name=\"example-store\",\n shard_count=1,\n auto_split=True,\n max_split_shard_count=60,\n encrypt_conf={\n \"enable\": True,\n \"encrypt_type\": \"default\",\n \"user_cmk_info\": {\n \"cmk_key_id\": example_key.id,\n \"arn\": f\"acs:ram::{example.id}:role/aliyunlogdefaultrole\",\n \"region_id\": region,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The region of kms key.\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var example = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Kms.Instance(\"default\", new()\n {\n ProductVersion = \"3\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n ZoneIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[1]?.ZoneId),\n },\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n VpcNum = 1,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n ForceDeleteWithoutBackup = \"true\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n DkmsInstanceId = defaultInstance.Id,\n });\n\n var exampleProject = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = exampleProject.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 1,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n EncryptConf = new AliCloud.Log.Inputs.StoreEncryptConfArgs\n {\n Enable = true,\n EncryptType = \"default\",\n UserCmkInfo = new AliCloud.Log.Inputs.StoreEncryptConfUserCmkInfoArgs\n {\n CmkKeyId = exampleKey.Id,\n Arn = $\"acs:ram::{example.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyunlogdefaultrole\",\n RegionId = region,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The region of kms key.\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\texample, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\t\tpulumi.String(defaultGetSwitches.Vswitches[1].ZoneId),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t\tVpcNum: pulumi.Int(1),\n\t\t\tKeyNum: pulumi.Int(1000),\n\t\t\tSecretNum: pulumi.Int(0),\n\t\t\tSpec: pulumi.Int(1000),\n\t\t\tForceDeleteWithoutBackup: pulumi.String(\"true\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tDkmsInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tEncryptConf: \u0026log.StoreEncryptConfArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tEncryptType: pulumi.String(\"default\"),\n\t\t\t\tUserCmkInfo: \u0026log.StoreEncryptConfUserCmkInfoArgs{\n\t\t\t\t\tCmkKeyId: exampleKey.ID(),\n\t\t\t\t\tArn: pulumi.Sprintf(\"acs:ram::%v:role/aliyunlogdefaultrole\", example.Id),\n\t\t\t\t\tRegionId: pulumi.String(region),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.inputs.StoreEncryptConfArgs;\nimport com.pulumi.alicloud.log.inputs.StoreEncryptConfUserCmkInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var example = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(default_.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .productVersion(\"3\")\n .vpcId(default_.ids()[0])\n .zoneIds( \n defaultGetSwitches.vswitches()[0].zoneId(),\n defaultGetSwitches.vswitches()[1].zoneId())\n .vswitchIds(defaultGetSwitches.ids()[0])\n .vpcNum(1)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .forceDeleteWithoutBackup(\"true\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .dkmsInstanceId(defaultInstance.id())\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(exampleProject.projectName())\n .logstoreName(\"example-store\")\n .shardCount(1)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .encryptConf(StoreEncryptConfArgs.builder()\n .enable(true)\n .encryptType(\"default\")\n .userCmkInfo(StoreEncryptConfUserCmkInfoArgs.builder()\n .cmkKeyId(exampleKey.id())\n .arn(String.format(\"acs:ram::%s:role/aliyunlogdefaultrole\", example.id()))\n .regionId(region)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultInstance:\n type: alicloud:kms:Instance\n name: default\n properties:\n productVersion: '3'\n vpcId: ${default.ids[0]}\n zoneIds:\n - ${defaultGetSwitches.vswitches[0].zoneId}\n - ${defaultGetSwitches.vswitches[1].zoneId}\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n vpcNum: '1'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n forceDeleteWithoutBackup: true\n paymentType: PayAsYouGo\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n dkmsInstanceId: ${defaultInstance.id}\n exampleProject:\n type: alicloud:log:Project\n name: example\n properties:\n projectName: terraform-example-${defaultInteger.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${exampleProject.projectName}\n logstoreName: example-store\n shardCount: 1\n autoSplit: true\n maxSplitShardCount: 60\n encryptConf:\n enable: true\n encryptType: default\n userCmkInfo:\n cmkKeyId: ${exampleKey.id}\n arn: acs:ram::${example.id}:role/aliyunlogdefaultrole\n regionId: ${region}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nSLS Log Store can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/store:Store example \u003cproject_name\u003e:\u003clogstore_name\u003e\n```\n\n", + "description": "Provides a SLS Log Store resource.\n\n\n\nFor information about SLS Log Store and how to use it, see [What is Log Store](https://www.alibabacloud.com/help/doc-detail/48874.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n name: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n project: example.name,\n name: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project=example.name,\n name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n Project = example.Name,\n Name = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProject: example.Name,\n\t\t\tName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .project(example.name())\n .name(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n name: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n project: ${example.name}\n name: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEncrypt Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\n// The region of kms key.\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst example = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n vpcId: _default.ids?.[0],\n}));\nconst defaultInstance = new alicloud.kms.Instance(\"default\", {\n productVersion: \"3\",\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIds: [\n defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[1]?.zoneId),\n ],\n vswitchIds: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n vpcNum: 1,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n forceDeleteWithoutBackup: \"true\",\n paymentType: \"PayAsYouGo\",\n});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n dkmsInstanceId: defaultInstance.id,\n});\nconst exampleProject = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${defaultInteger.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: exampleProject.projectName,\n logstoreName: \"example-store\",\n shardCount: 1,\n autoSplit: true,\n maxSplitShardCount: 60,\n encryptConf: {\n enable: true,\n encryptType: \"default\",\n userCmkInfo: {\n cmkKeyId: exampleKey.id,\n arn: example.then(example =\u003e `acs:ram::${example.id}:role/aliyunlogdefaultrole`),\n regionId: region,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\n# The region of kms key.\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nexample = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0])\ndefault_instance = alicloud.kms.Instance(\"default\",\n product_version=\"3\",\n vpc_id=default.ids[0],\n zone_ids=[\n default_get_switches.vswitches[0].zone_id,\n default_get_switches.vswitches[1].zone_id,\n ],\n vswitch_ids=[default_get_switches.ids[0]],\n vpc_num=1,\n key_num=1000,\n secret_num=0,\n spec=1000,\n force_delete_without_backup=\"true\",\n payment_type=\"PayAsYouGo\")\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\",\n dkms_instance_id=default_instance.id)\nexample_project = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default_integer['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example_project.project_name,\n logstore_name=\"example-store\",\n shard_count=1,\n auto_split=True,\n max_split_shard_count=60,\n encrypt_conf={\n \"enable\": True,\n \"encrypt_type\": \"default\",\n \"user_cmk_info\": {\n \"cmk_key_id\": example_key.id,\n \"arn\": f\"acs:ram::{example.id}:role/aliyunlogdefaultrole\",\n \"region_id\": region,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The region of kms key.\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var example = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var defaultInstance = new AliCloud.Kms.Instance(\"default\", new()\n {\n ProductVersion = \"3\",\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n ZoneIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[1]?.ZoneId),\n },\n VswitchIds = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n VpcNum = 1,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n ForceDeleteWithoutBackup = \"true\",\n PaymentType = \"PayAsYouGo\",\n });\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n DkmsInstanceId = defaultInstance.Id,\n });\n\n var exampleProject = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{defaultInteger.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = exampleProject.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 1,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n EncryptConf = new AliCloud.Log.Inputs.StoreEncryptConfArgs\n {\n Enable = true,\n EncryptType = \"default\",\n UserCmkInfo = new AliCloud.Log.Inputs.StoreEncryptConfUserCmkInfoArgs\n {\n CmkKeyId = exampleKey.Id,\n Arn = $\"acs:ram::{example.Apply(getAccountResult =\u003e getAccountResult.Id)}:role/aliyunlogdefaultrole\",\n RegionId = region,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The region of kms key.\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\texample, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\n\t\t\tProductVersion: pulumi.String(\"3\"),\n\t\t\tVpcId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\t\tpulumi.String(defaultGetSwitches.Vswitches[1].ZoneId),\n\t\t\t},\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\t},\n\t\t\tVpcNum: pulumi.Int(1),\n\t\t\tKeyNum: pulumi.Int(1000),\n\t\t\tSecretNum: pulumi.Int(0),\n\t\t\tSpec: pulumi.Int(1000),\n\t\t\tForceDeleteWithoutBackup: pulumi.String(\"true\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tDkmsInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(1),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tEncryptConf: \u0026log.StoreEncryptConfArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tEncryptType: pulumi.String(\"default\"),\n\t\t\t\tUserCmkInfo: \u0026log.StoreEncryptConfUserCmkInfoArgs{\n\t\t\t\t\tCmkKeyId: exampleKey.ID(),\n\t\t\t\t\tArn: pulumi.Sprintf(\"acs:ram::%v:role/aliyunlogdefaultrole\", example.Id),\n\t\t\t\t\tRegionId: pulumi.String(region),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.inputs.StoreEncryptConfArgs;\nimport com.pulumi.alicloud.log.inputs.StoreEncryptConfUserCmkInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var example = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(default_.ids()[0])\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .productVersion(\"3\")\n .vpcId(default_.ids()[0])\n .zoneIds( \n defaultGetSwitches.vswitches()[0].zoneId(),\n defaultGetSwitches.vswitches()[1].zoneId())\n .vswitchIds(defaultGetSwitches.ids()[0])\n .vpcNum(1)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .forceDeleteWithoutBackup(\"true\")\n .paymentType(\"PayAsYouGo\")\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .dkmsInstanceId(defaultInstance.id())\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(exampleProject.projectName())\n .logstoreName(\"example-store\")\n .shardCount(1)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .encryptConf(StoreEncryptConfArgs.builder()\n .enable(true)\n .encryptType(\"default\")\n .userCmkInfo(StoreEncryptConfUserCmkInfoArgs.builder()\n .cmkKeyId(exampleKey.id())\n .arn(String.format(\"acs:ram::%s:role/aliyunlogdefaultrole\", example.id()))\n .regionId(region)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultInstance:\n type: alicloud:kms:Instance\n name: default\n properties:\n productVersion: '3'\n vpcId: ${default.ids[0]}\n zoneIds:\n - ${defaultGetSwitches.vswitches[0].zoneId}\n - ${defaultGetSwitches.vswitches[1].zoneId}\n vswitchIds:\n - ${defaultGetSwitches.ids[0]}\n vpcNum: '1'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n forceDeleteWithoutBackup: true\n paymentType: PayAsYouGo\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n dkmsInstanceId: ${defaultInstance.id}\n exampleProject:\n type: alicloud:log:Project\n name: example\n properties:\n projectName: terraform-example-${defaultInteger.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${exampleProject.projectName}\n logstoreName: example-store\n shardCount: 1\n autoSplit: true\n maxSplitShardCount: 60\n encryptConf:\n enable: true\n encryptType: default\n userCmkInfo:\n cmkKeyId: ${exampleKey.id}\n arn: acs:ram::${example.id}:role/aliyunlogdefaultrole\n regionId: ${region}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${default.ids[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nSLS Log Store can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/store:Store example \u003cproject_name\u003e:\u003clogstore_name\u003e\n```\n\n", "properties": { "appendMeta": { "type": "boolean", @@ -208415,7 +212853,7 @@ } }, "alicloud:log/storeIndex:StoreIndex": { - "description": "Log Service provides the LogSearch/Analytics function to query and analyze large amounts of logs in real time.\nYou can use this function by enabling the index and field statistics. [Refer to details](https://www.alibabacloud.com/help/doc-detail/43772.htm)\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleStoreIndex = new alicloud.log.StoreIndex(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n fullText: {\n caseSensitive: true,\n token: ` #^*\\x0d\n\\x09`,\n },\n fieldSearches: [{\n name: \"terraform-example\",\n enableAnalytics: true,\n type: \"text\",\n token: ` #^*\\x0d\n\\x09`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_store_index = alicloud.log.StoreIndex(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n full_text={\n \"case_sensitive\": True,\n \"token\": \"\"\" #$^*\\x0d\n\\x09\"\"\",\n },\n field_searches=[{\n \"name\": \"terraform-example\",\n \"enable_analytics\": True,\n \"type\": \"text\",\n \"token\": \"\"\" #$^*\\x0d\n\\x09\"\"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleStoreIndex = new AliCloud.Log.StoreIndex(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n FullText = new AliCloud.Log.Inputs.StoreIndexFullTextArgs\n {\n CaseSensitive = true,\n Token = @\" #$^*\r\n\t\",\n },\n FieldSearches = new[]\n {\n new AliCloud.Log.Inputs.StoreIndexFieldSearchArgs\n {\n Name = \"terraform-example\",\n EnableAnalytics = true,\n Type = \"text\",\n Token = @\" #$^*\r\n\t\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStoreIndex(ctx, \"example\", \u0026log.StoreIndexArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tFullText: \u0026log.StoreIndexFullTextArgs{\n\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\tToken: pulumi.String(\" #$^*\r\\n\t\"),\n\t\t\t},\n\t\t\tFieldSearches: log.StoreIndexFieldSearchArray{\n\t\t\t\t\u0026log.StoreIndexFieldSearchArgs{\n\t\t\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tEnableAnalytics: pulumi.Bool(true),\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tToken: pulumi.String(\" #$^*\r\\n\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.StoreIndex;\nimport com.pulumi.alicloud.log.StoreIndexArgs;\nimport com.pulumi.alicloud.log.inputs.StoreIndexFullTextArgs;\nimport com.pulumi.alicloud.log.inputs.StoreIndexFieldSearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleStoreIndex = new StoreIndex(\"exampleStoreIndex\", StoreIndexArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .fullText(StoreIndexFullTextArgs.builder()\n .caseSensitive(true)\n .token(\"\"\"\n #$^*\r\n\t \"\"\")\n .build())\n .fieldSearches(StoreIndexFieldSearchArgs.builder()\n .name(\"terraform-example\")\n .enableAnalytics(true)\n .type(\"text\")\n .token(\"\"\"\n #$^*\r\n\t \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleStoreIndex:\n type: alicloud:log:StoreIndex\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n fullText:\n caseSensitive: true\n token: \" #$^*\\r\\n\\t\"\n fieldSearches:\n - name: terraform-example\n enableAnalytics: true\n type: text\n token: \" #$^*\\r\\n\\t\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nLog store index can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/storeIndex:StoreIndex example tf-log:tf-log-store\n```\n\n", + "description": "Log Service provides the LogSearch/Analytics function to query and analyze large amounts of logs in real time.\nYou can use this function by enabling the index and field statistics. [Refer to details](https://www.alibabacloud.com/help/doc-detail/43772.htm)\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.log.Project(\"example\", {\n projectName: `terraform-example-${_default.result}`,\n description: \"terraform-example\",\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: example.projectName,\n logstoreName: \"example-store\",\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleStoreIndex = new alicloud.log.StoreIndex(\"example\", {\n project: example.projectName,\n logstore: exampleStore.logstoreName,\n fullText: {\n caseSensitive: true,\n token: ` #^*\\x0d\n\\x09`,\n },\n fieldSearches: [{\n name: \"terraform-example\",\n enableAnalytics: true,\n type: \"text\",\n token: ` #^*\\x0d\n\\x09`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.log.Project(\"example\",\n project_name=f\"terraform-example-{default['result']}\",\n description=\"terraform-example\")\nexample_store = alicloud.log.Store(\"example\",\n project_name=example.project_name,\n logstore_name=\"example-store\",\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_store_index = alicloud.log.StoreIndex(\"example\",\n project=example.project_name,\n logstore=example_store.logstore_name,\n full_text={\n \"case_sensitive\": True,\n \"token\": \"\"\" #$^*\\x0d\n\\x09\"\"\",\n },\n field_searches=[{\n \"name\": \"terraform-example\",\n \"enable_analytics\": True,\n \"type\": \"text\",\n \"token\": \"\"\" #$^*\\x0d\n\\x09\"\"\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = $\"terraform-example-{@default.Result}\",\n Description = \"terraform-example\",\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = example.ProjectName,\n LogstoreName = \"example-store\",\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleStoreIndex = new AliCloud.Log.StoreIndex(\"example\", new()\n {\n Project = example.ProjectName,\n Logstore = exampleStore.LogstoreName,\n FullText = new AliCloud.Log.Inputs.StoreIndexFullTextArgs\n {\n CaseSensitive = true,\n Token = @\" #$^*\r\n\t\",\n },\n FieldSearches = new[]\n {\n new AliCloud.Log.Inputs.StoreIndexFieldSearchArgs\n {\n Name = \"terraform-example\",\n EnableAnalytics = true,\n Type = \"text\",\n Token = @\" #$^*\r\n\t\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: example.ProjectName,\n\t\t\tLogstoreName: pulumi.String(\"example-store\"),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = log.NewStoreIndex(ctx, \"example\", \u0026log.StoreIndexArgs{\n\t\t\tProject: example.ProjectName,\n\t\t\tLogstore: exampleStore.LogstoreName,\n\t\t\tFullText: \u0026log.StoreIndexFullTextArgs{\n\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\tToken: pulumi.String(\" #$^*\r\\n\t\"),\n\t\t\t},\n\t\t\tFieldSearches: log.StoreIndexFieldSearchArray{\n\t\t\t\t\u0026log.StoreIndexFieldSearchArgs{\n\t\t\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t\t\t\tEnableAnalytics: pulumi.Bool(true),\n\t\t\t\t\tType: pulumi.String(\"text\"),\n\t\t\t\t\tToken: pulumi.String(\" #$^*\r\\n\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.log.StoreIndex;\nimport com.pulumi.alicloud.log.StoreIndexArgs;\nimport com.pulumi.alicloud.log.inputs.StoreIndexFullTextArgs;\nimport com.pulumi.alicloud.log.inputs.StoreIndexFieldSearchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Project(\"example\", ProjectArgs.builder()\n .projectName(String.format(\"terraform-example-%s\", default_.result()))\n .description(\"terraform-example\")\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(example.projectName())\n .logstoreName(\"example-store\")\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleStoreIndex = new StoreIndex(\"exampleStoreIndex\", StoreIndexArgs.builder()\n .project(example.projectName())\n .logstore(exampleStore.logstoreName())\n .fullText(StoreIndexFullTextArgs.builder()\n .caseSensitive(true)\n .token(\"\"\"\n #$^*\r\n\t \"\"\")\n .build())\n .fieldSearches(StoreIndexFieldSearchArgs.builder()\n .name(\"terraform-example\")\n .enableAnalytics(true)\n .type(\"text\")\n .token(\"\"\"\n #$^*\r\n\t \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:log:Project\n properties:\n projectName: terraform-example-${default.result}\n description: terraform-example\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${example.projectName}\n logstoreName: example-store\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleStoreIndex:\n type: alicloud:log:StoreIndex\n name: example\n properties:\n project: ${example.projectName}\n logstore: ${exampleStore.logstoreName}\n fullText:\n caseSensitive: true\n token: \" #$^*\\r\\n\\t\"\n fieldSearches:\n - name: terraform-example\n enableAnalytics: true\n type: text\n token: \" #$^*\\r\\n\\t\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use the existing sls module \nto create SLS project, store and store index one-click, like ECS instances.\n\n## Import\n\nLog store index can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:log/storeIndex:StoreIndex example tf-log:tf-log-store\n```\n\n", "properties": { "fieldSearches": { "type": "array", @@ -208563,7 +213001,7 @@ } }, "alicloud:marketplace/order:Order": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst order = new alicloud.marketplace.Order(\"order\", {\n productCode: \"cmapi033136\",\n payType: \"PrePaid\",\n quantity: 1,\n duration: 1,\n pricingCycle: \"Month\",\n packageVersion: \"yuncode2713600001\",\n couponId: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\norder = alicloud.marketplace.Order(\"order\",\n product_code=\"cmapi033136\",\n pay_type=\"PrePaid\",\n quantity=1,\n duration=1,\n pricing_cycle=\"Month\",\n package_version=\"yuncode2713600001\",\n coupon_id=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new AliCloud.MarketPlace.Order(\"order\", new()\n {\n ProductCode = \"cmapi033136\",\n PayType = \"PrePaid\",\n Quantity = 1,\n Duration = 1,\n PricingCycle = \"Month\",\n PackageVersion = \"yuncode2713600001\",\n CouponId = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := marketplace.NewOrder(ctx, \"order\", \u0026marketplace.OrderArgs{\n\t\t\tProductCode: pulumi.String(\"cmapi033136\"),\n\t\t\tPayType: pulumi.String(\"PrePaid\"),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tPackageVersion: pulumi.String(\"yuncode2713600001\"),\n\t\t\tCouponId: 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.alicloud.marketplace.Order;\nimport com.pulumi.alicloud.marketplace.OrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var order = new Order(\"order\", OrderArgs.builder()\n .productCode(\"cmapi033136\")\n .payType(\"PrePaid\")\n .quantity(1)\n .duration(1)\n .pricingCycle(\"Month\")\n .packageVersion(\"yuncode2713600001\")\n .couponId(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: alicloud:marketplace:Order\n properties:\n productCode: cmapi033136\n payType: PrePaid\n quantity: 1\n duration: 1\n pricingCycle: Month\n packageVersion: yuncode2713600001\n couponId: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMarket order can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:marketplace/order:Order order your-order-id\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst order = new alicloud.marketplace.Order(\"order\", {\n productCode: \"cmapi033136\",\n payType: \"PrePaid\",\n quantity: 1,\n duration: 1,\n pricingCycle: \"Month\",\n packageVersion: \"yuncode2713600001\",\n couponId: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\norder = alicloud.marketplace.Order(\"order\",\n product_code=\"cmapi033136\",\n pay_type=\"PrePaid\",\n quantity=1,\n duration=1,\n pricing_cycle=\"Month\",\n package_version=\"yuncode2713600001\",\n coupon_id=\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var order = new AliCloud.MarketPlace.Order(\"order\", new()\n {\n ProductCode = \"cmapi033136\",\n PayType = \"PrePaid\",\n Quantity = 1,\n Duration = 1,\n PricingCycle = \"Month\",\n PackageVersion = \"yuncode2713600001\",\n CouponId = \"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/marketplace\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := marketplace.NewOrder(ctx, \"order\", \u0026marketplace.OrderArgs{\n\t\t\tProductCode: pulumi.String(\"cmapi033136\"),\n\t\t\tPayType: pulumi.String(\"PrePaid\"),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tPackageVersion: pulumi.String(\"yuncode2713600001\"),\n\t\t\tCouponId: 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.alicloud.marketplace.Order;\nimport com.pulumi.alicloud.marketplace.OrderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var order = new Order(\"order\", OrderArgs.builder()\n .productCode(\"cmapi033136\")\n .payType(\"PrePaid\")\n .quantity(1)\n .duration(1)\n .pricingCycle(\"Month\")\n .packageVersion(\"yuncode2713600001\")\n .couponId(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n order:\n type: alicloud:marketplace:Order\n properties:\n productCode: cmapi033136\n payType: PrePaid\n quantity: 1\n duration: 1\n pricingCycle: Month\n packageVersion: yuncode2713600001\n couponId: \"\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMarket order can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:marketplace/order:Order order your-order-id\n```\n\n", "properties": { "components": { "type": "object", @@ -208707,7 +213145,7 @@ } }, "alicloud:maxcompute/project:Project": { - "description": "Provides a Max Compute Project resource.\n\nMaxCompute project .\n\nFor information about Max Compute Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/maxcompute/user-guide/api-maxcompute-2022-01-04-createproject).\n\n\u003e **NOTE:** Available since v1.77.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.maxcompute.Project(\"default\", {\n defaultQuota: \"os_PayAsYouGoQuota\",\n projectName: name,\n comment: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.maxcompute.Project(\"default\",\n default_quota=\"os_PayAsYouGoQuota\",\n project_name=name,\n comment=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.MaxCompute.Project(\"default\", new()\n {\n DefaultQuota = \"os_PayAsYouGoQuota\",\n ProjectName = name,\n Comment = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := maxcompute.NewProject(ctx, \"default\", \u0026maxcompute.ProjectArgs{\n\t\t\tDefaultQuota: pulumi.String(\"os_PayAsYouGoQuota\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tComment: pulumi.String(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.alicloud.maxcompute.Project;\nimport com.pulumi.alicloud.maxcompute.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .defaultQuota(\"os_PayAsYouGoQuota\")\n .projectName(name)\n .comment(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:maxcompute:Project\n properties:\n defaultQuota: os_PayAsYouGoQuota\n projectName: ${name}\n comment: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMax Compute Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/project:Project example \u003cid\u003e\n```\n\n", + "description": "Provides a Max Compute Project resource.\n\nMaxCompute project .\n\nFor information about Max Compute Project and how to use it, see [What is Project](https://www.alibabacloud.com/help/en/maxcompute/user-guide/api-maxcompute-2022-01-04-createproject).\n\n\u003e **NOTE:** Available since v1.77.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.maxcompute.Project(\"default\", {\n defaultQuota: \"os_PayAsYouGoQuota\",\n projectName: name,\n comment: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.maxcompute.Project(\"default\",\n default_quota=\"os_PayAsYouGoQuota\",\n project_name=name,\n comment=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.MaxCompute.Project(\"default\", new()\n {\n DefaultQuota = \"os_PayAsYouGoQuota\",\n ProjectName = name,\n Comment = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := maxcompute.NewProject(ctx, \"default\", \u0026maxcompute.ProjectArgs{\n\t\t\tDefaultQuota: pulumi.String(\"os_PayAsYouGoQuota\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tComment: pulumi.String(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.alicloud.maxcompute.Project;\nimport com.pulumi.alicloud.maxcompute.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .defaultQuota(\"os_PayAsYouGoQuota\")\n .projectName(name)\n .comment(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:maxcompute:Project\n properties:\n defaultQuota: os_PayAsYouGoQuota\n projectName: ${name}\n comment: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMax Compute Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/project:Project example \u003cid\u003e\n```\n\n", "properties": { "comment": { "type": "string", @@ -208998,7 +213436,7 @@ } }, "alicloud:maxcompute/quotaPlan:QuotaPlan": { - "description": "Provides a Max Compute Quota Plan resource.\n\n\n\nFor information about Max Compute Quota Plan and how to use it, see [What is Quota Plan](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst elasticReservedCu = config.get(\"elasticReservedCu\") || \"50\";\nconst _default = new alicloud.maxcompute.QuotaPlan(\"default\", {\n nickname: \"os_terrform_p\",\n quota: {\n parameter: {\n elasticReservedCu: elasticReservedCu,\n },\n subQuotaInfoLists: [\n {\n nickName: \"sub_quota\",\n parameter: {\n minCu: 0,\n maxCu: 20,\n elasticReservedCu: elasticReservedCu,\n },\n },\n {\n nickName: \"os_terrform\",\n parameter: {\n minCu: 50,\n maxCu: 50,\n elasticReservedCu: 0,\n },\n },\n ],\n },\n planName: \"quota_plan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nelastic_reserved_cu = config.get(\"elasticReservedCu\")\nif elastic_reserved_cu is None:\n elastic_reserved_cu = \"50\"\ndefault = alicloud.maxcompute.QuotaPlan(\"default\",\n nickname=\"os_terrform_p\",\n quota={\n \"parameter\": {\n \"elastic_reserved_cu\": elastic_reserved_cu,\n },\n \"sub_quota_info_lists\": [\n {\n \"nick_name\": \"sub_quota\",\n \"parameter\": {\n \"min_cu\": 0,\n \"max_cu\": 20,\n \"elastic_reserved_cu\": elastic_reserved_cu,\n },\n },\n {\n \"nick_name\": \"os_terrform\",\n \"parameter\": {\n \"min_cu\": 50,\n \"max_cu\": 50,\n \"elastic_reserved_cu\": 0,\n },\n },\n ],\n },\n plan_name=\"quota_plan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var elasticReservedCu = config.Get(\"elasticReservedCu\") ?? \"50\";\n var @default = new AliCloud.MaxCompute.QuotaPlan(\"default\", new()\n {\n Nickname = \"os_terrform_p\",\n Quota = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaArgs\n {\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaParameterArgs\n {\n ElasticReservedCu = elasticReservedCu,\n },\n SubQuotaInfoLists = new[]\n {\n new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListArgs\n {\n NickName = \"sub_quota\",\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListParameterArgs\n {\n MinCu = 0,\n MaxCu = 20,\n ElasticReservedCu = elasticReservedCu,\n },\n },\n new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListArgs\n {\n NickName = \"os_terrform\",\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListParameterArgs\n {\n MinCu = 50,\n MaxCu = 50,\n ElasticReservedCu = 0,\n },\n },\n },\n },\n PlanName = \"quota_plan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\telasticReservedCu := \"50\"\n\t\tif param := cfg.Get(\"elasticReservedCu\"); param != \"\" {\n\t\t\telasticReservedCu = param\n\t\t}\n\t\t_, err := maxcompute.NewQuotaPlan(ctx, \"default\", \u0026maxcompute.QuotaPlanArgs{\n\t\t\tNickname: pulumi.String(\"os_terrform_p\"),\n\t\t\tQuota: \u0026maxcompute.QuotaPlanQuotaArgs{\n\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaParameterArgs{\n\t\t\t\t\tElasticReservedCu: pulumi.String(elasticReservedCu),\n\t\t\t\t},\n\t\t\t\tSubQuotaInfoLists: maxcompute.QuotaPlanQuotaSubQuotaInfoListArray{\n\t\t\t\t\t\u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListArgs{\n\t\t\t\t\t\tNickName: pulumi.String(\"sub_quota\"),\n\t\t\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListParameterArgs{\n\t\t\t\t\t\t\tMinCu: pulumi.Int(0),\n\t\t\t\t\t\t\tMaxCu: pulumi.Int(20),\n\t\t\t\t\t\t\tElasticReservedCu: pulumi.String(elasticReservedCu),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListArgs{\n\t\t\t\t\t\tNickName: pulumi.String(\"os_terrform\"),\n\t\t\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListParameterArgs{\n\t\t\t\t\t\t\tMinCu: pulumi.Int(50),\n\t\t\t\t\t\t\tMaxCu: pulumi.Int(50),\n\t\t\t\t\t\t\tElasticReservedCu: pulumi.Int(0),\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\tPlanName: pulumi.String(\"quota_plan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.QuotaPlan;\nimport com.pulumi.alicloud.maxcompute.QuotaPlanArgs;\nimport com.pulumi.alicloud.maxcompute.inputs.QuotaPlanQuotaArgs;\nimport com.pulumi.alicloud.maxcompute.inputs.QuotaPlanQuotaParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var elasticReservedCu = config.get(\"elasticReservedCu\").orElse(\"50\");\n var default_ = new QuotaPlan(\"default\", QuotaPlanArgs.builder()\n .nickname(\"os_terrform_p\")\n .quota(QuotaPlanQuotaArgs.builder()\n .parameter(QuotaPlanQuotaParameterArgs.builder()\n .elasticReservedCu(elasticReservedCu)\n .build())\n .subQuotaInfoLists( \n QuotaPlanQuotaSubQuotaInfoListArgs.builder()\n .nickName(\"sub_quota\")\n .parameter(QuotaPlanQuotaSubQuotaInfoListParameterArgs.builder()\n .minCu(0)\n .maxCu(20)\n .elasticReservedCu(elasticReservedCu)\n .build())\n .build(),\n QuotaPlanQuotaSubQuotaInfoListArgs.builder()\n .nickName(\"os_terrform\")\n .parameter(QuotaPlanQuotaSubQuotaInfoListParameterArgs.builder()\n .minCu(50)\n .maxCu(50)\n .elasticReservedCu(0)\n .build())\n .build())\n .build())\n .planName(\"quota_plan\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n elasticReservedCu:\n type: string\n default: '50'\nresources:\n default:\n type: alicloud:maxcompute:QuotaPlan\n properties:\n nickname: os_terrform_p\n quota:\n parameter:\n elasticReservedCu: ${elasticReservedCu}\n subQuotaInfoLists:\n - nickName: sub_quota\n parameter:\n minCu: '0'\n maxCu: '20'\n elasticReservedCu: ${elasticReservedCu}\n - nickName: os_terrform\n parameter:\n minCu: '50'\n maxCu: '50'\n elasticReservedCu: '0'\n planName: quota_plan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMax Compute Quota Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/quotaPlan:QuotaPlan example \u003cnickname\u003e:\u003cplan_name\u003e\n```\n\n", + "description": "Provides a Max Compute Quota Plan resource.\n\n\n\nFor information about Max Compute Quota Plan and how to use it, see [What is Quota Plan](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst elasticReservedCu = config.get(\"elasticReservedCu\") || \"50\";\nconst _default = new alicloud.maxcompute.QuotaPlan(\"default\", {\n nickname: \"os_terrform_p\",\n quota: {\n parameter: {\n elasticReservedCu: elasticReservedCu,\n },\n subQuotaInfoLists: [\n {\n nickName: \"sub_quota\",\n parameter: {\n minCu: 0,\n maxCu: 20,\n elasticReservedCu: elasticReservedCu,\n },\n },\n {\n nickName: \"os_terrform\",\n parameter: {\n minCu: 50,\n maxCu: 50,\n elasticReservedCu: 0,\n },\n },\n ],\n },\n planName: \"quota_plan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nelastic_reserved_cu = config.get(\"elasticReservedCu\")\nif elastic_reserved_cu is None:\n elastic_reserved_cu = \"50\"\ndefault = alicloud.maxcompute.QuotaPlan(\"default\",\n nickname=\"os_terrform_p\",\n quota={\n \"parameter\": {\n \"elastic_reserved_cu\": elastic_reserved_cu,\n },\n \"sub_quota_info_lists\": [\n {\n \"nick_name\": \"sub_quota\",\n \"parameter\": {\n \"min_cu\": 0,\n \"max_cu\": 20,\n \"elastic_reserved_cu\": elastic_reserved_cu,\n },\n },\n {\n \"nick_name\": \"os_terrform\",\n \"parameter\": {\n \"min_cu\": 50,\n \"max_cu\": 50,\n \"elastic_reserved_cu\": 0,\n },\n },\n ],\n },\n plan_name=\"quota_plan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var elasticReservedCu = config.Get(\"elasticReservedCu\") ?? \"50\";\n var @default = new AliCloud.MaxCompute.QuotaPlan(\"default\", new()\n {\n Nickname = \"os_terrform_p\",\n Quota = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaArgs\n {\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaParameterArgs\n {\n ElasticReservedCu = elasticReservedCu,\n },\n SubQuotaInfoLists = new[]\n {\n new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListArgs\n {\n NickName = \"sub_quota\",\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListParameterArgs\n {\n MinCu = 0,\n MaxCu = 20,\n ElasticReservedCu = elasticReservedCu,\n },\n },\n new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListArgs\n {\n NickName = \"os_terrform\",\n Parameter = new AliCloud.MaxCompute.Inputs.QuotaPlanQuotaSubQuotaInfoListParameterArgs\n {\n MinCu = 50,\n MaxCu = 50,\n ElasticReservedCu = 0,\n },\n },\n },\n },\n PlanName = \"quota_plan\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\telasticReservedCu := \"50\"\n\t\tif param := cfg.Get(\"elasticReservedCu\"); param != \"\" {\n\t\t\telasticReservedCu = param\n\t\t}\n\t\t_, err := maxcompute.NewQuotaPlan(ctx, \"default\", \u0026maxcompute.QuotaPlanArgs{\n\t\t\tNickname: pulumi.String(\"os_terrform_p\"),\n\t\t\tQuota: \u0026maxcompute.QuotaPlanQuotaArgs{\n\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaParameterArgs{\n\t\t\t\t\tElasticReservedCu: pulumi.String(elasticReservedCu),\n\t\t\t\t},\n\t\t\t\tSubQuotaInfoLists: maxcompute.QuotaPlanQuotaSubQuotaInfoListArray{\n\t\t\t\t\t\u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListArgs{\n\t\t\t\t\t\tNickName: pulumi.String(\"sub_quota\"),\n\t\t\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListParameterArgs{\n\t\t\t\t\t\t\tMinCu: pulumi.Int(0),\n\t\t\t\t\t\t\tMaxCu: pulumi.Int(20),\n\t\t\t\t\t\t\tElasticReservedCu: pulumi.String(elasticReservedCu),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListArgs{\n\t\t\t\t\t\tNickName: pulumi.String(\"os_terrform\"),\n\t\t\t\t\t\tParameter: \u0026maxcompute.QuotaPlanQuotaSubQuotaInfoListParameterArgs{\n\t\t\t\t\t\t\tMinCu: pulumi.Int(50),\n\t\t\t\t\t\t\tMaxCu: pulumi.Int(50),\n\t\t\t\t\t\t\tElasticReservedCu: pulumi.Int(0),\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\tPlanName: pulumi.String(\"quota_plan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.QuotaPlan;\nimport com.pulumi.alicloud.maxcompute.QuotaPlanArgs;\nimport com.pulumi.alicloud.maxcompute.inputs.QuotaPlanQuotaArgs;\nimport com.pulumi.alicloud.maxcompute.inputs.QuotaPlanQuotaParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var elasticReservedCu = config.get(\"elasticReservedCu\").orElse(\"50\");\n var default_ = new QuotaPlan(\"default\", QuotaPlanArgs.builder()\n .nickname(\"os_terrform_p\")\n .quota(QuotaPlanQuotaArgs.builder()\n .parameter(QuotaPlanQuotaParameterArgs.builder()\n .elasticReservedCu(elasticReservedCu)\n .build())\n .subQuotaInfoLists( \n QuotaPlanQuotaSubQuotaInfoListArgs.builder()\n .nickName(\"sub_quota\")\n .parameter(QuotaPlanQuotaSubQuotaInfoListParameterArgs.builder()\n .minCu(0)\n .maxCu(20)\n .elasticReservedCu(elasticReservedCu)\n .build())\n .build(),\n QuotaPlanQuotaSubQuotaInfoListArgs.builder()\n .nickName(\"os_terrform\")\n .parameter(QuotaPlanQuotaSubQuotaInfoListParameterArgs.builder()\n .minCu(50)\n .maxCu(50)\n .elasticReservedCu(0)\n .build())\n .build())\n .build())\n .planName(\"quota_plan\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n elasticReservedCu:\n type: string\n default: '50'\nresources:\n default:\n type: alicloud:maxcompute:QuotaPlan\n properties:\n nickname: os_terrform_p\n quota:\n parameter:\n elasticReservedCu: ${elasticReservedCu}\n subQuotaInfoLists:\n - nickName: sub_quota\n parameter:\n minCu: '0'\n maxCu: '20'\n elasticReservedCu: ${elasticReservedCu}\n - nickName: os_terrform\n parameter:\n minCu: '50'\n maxCu: '50'\n elasticReservedCu: '0'\n planName: quota_plan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMax Compute Quota Plan can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/quotaPlan:QuotaPlan example \u003cnickname\u003e:\u003cplan_name\u003e\n```\n\n", "properties": { "isEffective": { "type": "boolean", @@ -209143,7 +213581,7 @@ } }, "alicloud:maxcompute/role:Role": { - "description": "Provides a Max Compute Role resource.\n\n\n\nFor information about Max Compute Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.maxcompute.Project(\"default\", {\n defaultQuota: \"默认后付费Quota\",\n projectName: name,\n comment: name,\n productType: \"PayAsYouGo\",\n});\nconst defaultRole = new alicloud.maxcompute.Role(\"default\", {\n type: \"admin\",\n projectName: _default.id,\n policy: JSON.stringify({\n Statement: [{\n Action: [\"odps:*\"],\n Effect: \"Allow\",\n Resource: [\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n ],\n }],\n Version: \"1\",\n }),\n roleName: \"tf_example112\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.maxcompute.Project(\"default\",\n default_quota=\"默认后付费Quota\",\n project_name=name,\n comment=name,\n product_type=\"PayAsYouGo\")\ndefault_role = alicloud.maxcompute.Role(\"default\",\n type=\"admin\",\n project_name=default.id,\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\"odps:*\"],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n ],\n }],\n \"Version\": \"1\",\n }),\n role_name=\"tf_example112\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.MaxCompute.Project(\"default\", new()\n {\n DefaultQuota = \"默认后付费Quota\",\n ProjectName = name,\n Comment = name,\n ProductType = \"PayAsYouGo\",\n });\n\n var defaultRole = new AliCloud.MaxCompute.Role(\"default\", new()\n {\n Type = \"admin\",\n ProjectName = @default.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"odps:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n },\n },\n },\n [\"Version\"] = \"1\",\n }),\n RoleName = \"tf_example112\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := maxcompute.NewProject(ctx, \"default\", \u0026maxcompute.ProjectArgs{\n\t\t\tDefaultQuota: pulumi.String(\"默认后付费Quota\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tComment: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"PayAsYouGo\"),\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\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"odps:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"acs:odps:*:projects/project_name/authorization/roles\",\n\t\t\t\t\t\t\"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"1\",\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 = maxcompute.NewRole(ctx, \"default\", \u0026maxcompute.RoleArgs{\n\t\t\tType: pulumi.String(\"admin\"),\n\t\t\tProjectName: _default.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t\tRoleName: pulumi.String(\"tf_example112\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.Project;\nimport com.pulumi.alicloud.maxcompute.ProjectArgs;\nimport com.pulumi.alicloud.maxcompute.Role;\nimport com.pulumi.alicloud.maxcompute.RoleArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .defaultQuota(\"默认后付费Quota\")\n .projectName(name)\n .comment(name)\n .productType(\"PayAsYouGo\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .type(\"admin\")\n .projectName(default_.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"odps:*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\n \"acs:odps:*:projects/project_name/authorization/roles\", \n \"acs:odps:*:projects/project_name/authorization/roles/*/*\"\n ))\n ))),\n jsonProperty(\"Version\", \"1\")\n )))\n .roleName(\"tf_example112\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:maxcompute:Project\n properties:\n defaultQuota: 默认后付费Quota\n projectName: ${name}\n comment: ${name}\n productType: PayAsYouGo\n defaultRole:\n type: alicloud:maxcompute:Role\n name: default\n properties:\n type: admin\n projectName: ${default.id}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - odps:*\n Effect: Allow\n Resource:\n - acs:odps:*:projects/project_name/authorization/roles\n - acs:odps:*:projects/project_name/authorization/roles/*/*\n Version: '1'\n roleName: tf_example112\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMax Compute Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/role:Role example \u003cproject_name\u003e:\u003crole_name\u003e\n```\n\n", + "description": "Provides a Max Compute Role resource.\n\n\n\nFor information about Max Compute Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.maxcompute.Project(\"default\", {\n defaultQuota: \"默认后付费Quota\",\n projectName: name,\n comment: name,\n productType: \"PayAsYouGo\",\n});\nconst defaultRole = new alicloud.maxcompute.Role(\"default\", {\n type: \"admin\",\n projectName: _default.id,\n policy: JSON.stringify({\n Statement: [{\n Action: [\"odps:*\"],\n Effect: \"Allow\",\n Resource: [\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n ],\n }],\n Version: \"1\",\n }),\n roleName: \"tf_example112\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.maxcompute.Project(\"default\",\n default_quota=\"默认后付费Quota\",\n project_name=name,\n comment=name,\n product_type=\"PayAsYouGo\")\ndefault_role = alicloud.maxcompute.Role(\"default\",\n type=\"admin\",\n project_name=default.id,\n policy=json.dumps({\n \"Statement\": [{\n \"Action\": [\"odps:*\"],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n ],\n }],\n \"Version\": \"1\",\n }),\n role_name=\"tf_example112\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.MaxCompute.Project(\"default\", new()\n {\n DefaultQuota = \"默认后付费Quota\",\n ProjectName = name,\n Comment = name,\n ProductType = \"PayAsYouGo\",\n });\n\n var defaultRole = new AliCloud.MaxCompute.Role(\"default\", new()\n {\n Type = \"admin\",\n ProjectName = @default.Id,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"odps:*\",\n },\n [\"Effect\"] = \"Allow\",\n [\"Resource\"] = new[]\n {\n \"acs:odps:*:projects/project_name/authorization/roles\",\n \"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n },\n },\n },\n [\"Version\"] = \"1\",\n }),\n RoleName = \"tf_example112\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := maxcompute.NewProject(ctx, \"default\", \u0026maxcompute.ProjectArgs{\n\t\t\tDefaultQuota: pulumi.String(\"默认后付费Quota\"),\n\t\t\tProjectName: pulumi.String(name),\n\t\t\tComment: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"PayAsYouGo\"),\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\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"odps:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"acs:odps:*:projects/project_name/authorization/roles\",\n\t\t\t\t\t\t\"acs:odps:*:projects/project_name/authorization/roles/*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"1\",\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 = maxcompute.NewRole(ctx, \"default\", \u0026maxcompute.RoleArgs{\n\t\t\tType: pulumi.String(\"admin\"),\n\t\t\tProjectName: _default.ID(),\n\t\t\tPolicy: pulumi.String(json0),\n\t\t\tRoleName: pulumi.String(\"tf_example112\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.Project;\nimport com.pulumi.alicloud.maxcompute.ProjectArgs;\nimport com.pulumi.alicloud.maxcompute.Role;\nimport com.pulumi.alicloud.maxcompute.RoleArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .defaultQuota(\"默认后付费Quota\")\n .projectName(name)\n .comment(name)\n .productType(\"PayAsYouGo\")\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .type(\"admin\")\n .projectName(default_.id())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\"odps:*\")),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Resource\", jsonArray(\n \"acs:odps:*:projects/project_name/authorization/roles\", \n \"acs:odps:*:projects/project_name/authorization/roles/*/*\"\n ))\n ))),\n jsonProperty(\"Version\", \"1\")\n )))\n .roleName(\"tf_example112\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:maxcompute:Project\n properties:\n defaultQuota: 默认后付费Quota\n projectName: ${name}\n comment: ${name}\n productType: PayAsYouGo\n defaultRole:\n type: alicloud:maxcompute:Role\n name: default\n properties:\n type: admin\n projectName: ${default.id}\n policy:\n fn::toJSON:\n Statement:\n - Action:\n - odps:*\n Effect: Allow\n Resource:\n - acs:odps:*:projects/project_name/authorization/roles\n - acs:odps:*:projects/project_name/authorization/roles/*/*\n Version: '1'\n roleName: tf_example112\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMax Compute Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/role:Role example \u003cproject_name\u003e:\u003crole_name\u003e\n```\n\n", "properties": { "policy": { "type": "string", @@ -209218,7 +213656,7 @@ } }, "alicloud:maxcompute/roleUserAttachment:RoleUserAttachment": { - "description": "Provides a Max Compute Role User Attachment resource.\n\nResources associated with a user and a project-level role.\n\nFor information about Max Compute Role User Attachment and how to use it, see [What is Role User Attachment](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst aliyunUser = config.get(\"aliyunUser\") || \"ALIYUN$openapiautomation@test.aliyunid.com\";\nconst ramUser = config.get(\"ramUser\") || \"RAM$openapiautomation@test.aliyunid.com:tf-example\";\nconst ramRole = config.get(\"ramRole\") || \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\";\nconst roleName = config.get(\"roleName\") || \"role_project_admin\";\nconst projectName = config.get(\"projectName\") || \"default_project_669886c\";\nconst _default = new alicloud.maxcompute.RoleUserAttachment(\"default\", {\n roleName: roleName,\n user: ramRole,\n projectName: projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\naliyun_user = config.get(\"aliyunUser\")\nif aliyun_user is None:\n aliyun_user = \"ALIYUN$openapiautomation@test.aliyunid.com\"\nram_user = config.get(\"ramUser\")\nif ram_user is None:\n ram_user = \"RAM$openapiautomation@test.aliyunid.com:tf-example\"\nram_role = config.get(\"ramRole\")\nif ram_role is None:\n ram_role = \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\"\nrole_name = config.get(\"roleName\")\nif role_name is None:\n role_name = \"role_project_admin\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"default_project_669886c\"\ndefault = alicloud.maxcompute.RoleUserAttachment(\"default\",\n role_name=role_name,\n user=ram_role,\n project_name=project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var aliyunUser = config.Get(\"aliyunUser\") ?? \"ALIYUN$openapiautomation@test.aliyunid.com\";\n var ramUser = config.Get(\"ramUser\") ?? \"RAM$openapiautomation@test.aliyunid.com:tf-example\";\n var ramRole = config.Get(\"ramRole\") ?? \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\";\n var roleName = config.Get(\"roleName\") ?? \"role_project_admin\";\n var projectName = config.Get(\"projectName\") ?? \"default_project_669886c\";\n var @default = new AliCloud.MaxCompute.RoleUserAttachment(\"default\", new()\n {\n RoleName = roleName,\n User = ramRole,\n ProjectName = projectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\taliyunUser := \"ALIYUN$openapiautomation@test.aliyunid.com\"\n\t\tif param := cfg.Get(\"aliyunUser\"); param != \"\" {\n\t\t\taliyunUser = param\n\t\t}\n\t\tramUser := \"RAM$openapiautomation@test.aliyunid.com:tf-example\"\n\t\tif param := cfg.Get(\"ramUser\"); param != \"\" {\n\t\t\tramUser = param\n\t\t}\n\t\tramRole := \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\"\n\t\tif param := cfg.Get(\"ramRole\"); param != \"\" {\n\t\t\tramRole = param\n\t\t}\n\t\troleName := \"role_project_admin\"\n\t\tif param := cfg.Get(\"roleName\"); param != \"\" {\n\t\t\troleName = param\n\t\t}\n\t\tprojectName := \"default_project_669886c\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_, err := maxcompute.NewRoleUserAttachment(ctx, \"default\", \u0026maxcompute.RoleUserAttachmentArgs{\n\t\t\tRoleName: pulumi.String(roleName),\n\t\t\tUser: pulumi.String(ramRole),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.RoleUserAttachment;\nimport com.pulumi.alicloud.maxcompute.RoleUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var aliyunUser = config.get(\"aliyunUser\").orElse(\"ALIYUN$openapiautomation@test.aliyunid.com\");\n final var ramUser = config.get(\"ramUser\").orElse(\"RAM$openapiautomation@test.aliyunid.com:tf-example\");\n final var ramRole = config.get(\"ramRole\").orElse(\"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\");\n final var roleName = config.get(\"roleName\").orElse(\"role_project_admin\");\n final var projectName = config.get(\"projectName\").orElse(\"default_project_669886c\");\n var default_ = new RoleUserAttachment(\"default\", RoleUserAttachmentArgs.builder()\n .roleName(roleName)\n .user(ramRole)\n .projectName(projectName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n aliyunUser:\n type: string\n default: ALIYUN$openapiautomation@test.aliyunid.com\n ramUser:\n type: string\n default: RAM$openapiautomation@test.aliyunid.com:tf-example\n ramRole:\n type: string\n default: RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\n roleName:\n type: string\n default: role_project_admin\n projectName:\n type: string\n default: default_project_669886c\nresources:\n default:\n type: alicloud:maxcompute:RoleUserAttachment\n properties:\n roleName: ${roleName}\n user: ${ramRole}\n projectName: ${projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMax Compute Role User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/roleUserAttachment:RoleUserAttachment example \u003cproject_name\u003e-\u003crole_name\u003e-\u003cuser\u003e\n```\n\n", + "description": "Provides a Max Compute Role User Attachment resource.\n\nResources associated with a user and a project-level role.\n\nFor information about Max Compute Role User Attachment and how to use it, see [What is Role User Attachment](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst aliyunUser = config.get(\"aliyunUser\") || \"ALIYUN$openapiautomation@test.aliyunid.com\";\nconst ramUser = config.get(\"ramUser\") || \"RAM$openapiautomation@test.aliyunid.com:tf-example\";\nconst ramRole = config.get(\"ramRole\") || \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\";\nconst roleName = config.get(\"roleName\") || \"role_project_admin\";\nconst projectName = config.get(\"projectName\") || \"default_project_669886c\";\nconst _default = new alicloud.maxcompute.RoleUserAttachment(\"default\", {\n roleName: roleName,\n user: ramRole,\n projectName: projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\naliyun_user = config.get(\"aliyunUser\")\nif aliyun_user is None:\n aliyun_user = \"ALIYUN$openapiautomation@test.aliyunid.com\"\nram_user = config.get(\"ramUser\")\nif ram_user is None:\n ram_user = \"RAM$openapiautomation@test.aliyunid.com:tf-example\"\nram_role = config.get(\"ramRole\")\nif ram_role is None:\n ram_role = \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\"\nrole_name = config.get(\"roleName\")\nif role_name is None:\n role_name = \"role_project_admin\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"default_project_669886c\"\ndefault = alicloud.maxcompute.RoleUserAttachment(\"default\",\n role_name=role_name,\n user=ram_role,\n project_name=project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var aliyunUser = config.Get(\"aliyunUser\") ?? \"ALIYUN$openapiautomation@test.aliyunid.com\";\n var ramUser = config.Get(\"ramUser\") ?? \"RAM$openapiautomation@test.aliyunid.com:tf-example\";\n var ramRole = config.Get(\"ramRole\") ?? \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\";\n var roleName = config.Get(\"roleName\") ?? \"role_project_admin\";\n var projectName = config.Get(\"projectName\") ?? \"default_project_669886c\";\n var @default = new AliCloud.MaxCompute.RoleUserAttachment(\"default\", new()\n {\n RoleName = roleName,\n User = ramRole,\n ProjectName = projectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/maxcompute\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\taliyunUser := \"ALIYUN$openapiautomation@test.aliyunid.com\"\n\t\tif param := cfg.Get(\"aliyunUser\"); param != \"\" {\n\t\t\taliyunUser = param\n\t\t}\n\t\tramUser := \"RAM$openapiautomation@test.aliyunid.com:tf-example\"\n\t\tif param := cfg.Get(\"ramUser\"); param != \"\" {\n\t\t\tramUser = param\n\t\t}\n\t\tramRole := \"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\"\n\t\tif param := cfg.Get(\"ramRole\"); param != \"\" {\n\t\t\tramRole = param\n\t\t}\n\t\troleName := \"role_project_admin\"\n\t\tif param := cfg.Get(\"roleName\"); param != \"\" {\n\t\t\troleName = param\n\t\t}\n\t\tprojectName := \"default_project_669886c\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_, err := maxcompute.NewRoleUserAttachment(ctx, \"default\", \u0026maxcompute.RoleUserAttachmentArgs{\n\t\t\tRoleName: pulumi.String(roleName),\n\t\t\tUser: pulumi.String(ramRole),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.maxcompute.RoleUserAttachment;\nimport com.pulumi.alicloud.maxcompute.RoleUserAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var aliyunUser = config.get(\"aliyunUser\").orElse(\"ALIYUN$openapiautomation@test.aliyunid.com\");\n final var ramUser = config.get(\"ramUser\").orElse(\"RAM$openapiautomation@test.aliyunid.com:tf-example\");\n final var ramRole = config.get(\"ramRole\").orElse(\"RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\");\n final var roleName = config.get(\"roleName\").orElse(\"role_project_admin\");\n final var projectName = config.get(\"projectName\").orElse(\"default_project_669886c\");\n var default_ = new RoleUserAttachment(\"default\", RoleUserAttachmentArgs.builder()\n .roleName(roleName)\n .user(ramRole)\n .projectName(projectName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n aliyunUser:\n type: string\n default: ALIYUN$openapiautomation@test.aliyunid.com\n ramUser:\n type: string\n default: RAM$openapiautomation@test.aliyunid.com:tf-example\n ramRole:\n type: string\n default: RAM$openapiautomation@test.aliyunid.com:role/terraform-no-ak-assumerole-no-deleting\n roleName:\n type: string\n default: role_project_admin\n projectName:\n type: string\n default: default_project_669886c\nresources:\n default:\n type: alicloud:maxcompute:RoleUserAttachment\n properties:\n roleName: ${roleName}\n user: ${ramRole}\n projectName: ${projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMax Compute Role User Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:maxcompute/roleUserAttachment:RoleUserAttachment example \u003cproject_name\u003e-\u003crole_name\u003e-\u003cuser\u003e\n```\n\n", "properties": { "projectName": { "type": "string", @@ -209395,7 +213833,7 @@ } }, "alicloud:message/serviceEndpointAcl:ServiceEndpointAcl": { - "description": "Provides a Message Service Endpoint Acl resource.\n\n\n\nFor information about Message Service Endpoint Acl and how to use it, see [What is Endpoint Acl](https://www.alibabacloud.com/help/en/mns/developer-reference/api-mns-open-2022-01-19-authorizeendpointacl).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.message.ServiceEndpoint(\"default\", {\n endpointEnabled: true,\n endpointType: \"public\",\n});\nconst defaultServiceEndpointAcl = new alicloud.message.ServiceEndpointAcl(\"default\", {\n cidr: \"192.168.1.1/23\",\n endpointType: _default.id,\n aclStrategy: \"allow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.message.ServiceEndpoint(\"default\",\n endpoint_enabled=True,\n endpoint_type=\"public\")\ndefault_service_endpoint_acl = alicloud.message.ServiceEndpointAcl(\"default\",\n cidr=\"192.168.1.1/23\",\n endpoint_type=default.id,\n acl_strategy=\"allow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Message.ServiceEndpoint(\"default\", new()\n {\n EndpointEnabled = true,\n EndpointType = \"public\",\n });\n\n var defaultServiceEndpointAcl = new AliCloud.Message.ServiceEndpointAcl(\"default\", new()\n {\n Cidr = \"192.168.1.1/23\",\n EndpointType = @default.Id,\n AclStrategy = \"allow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := message.NewServiceEndpoint(ctx, \"default\", \u0026message.ServiceEndpointArgs{\n\t\t\tEndpointEnabled: pulumi.Bool(true),\n\t\t\tEndpointType: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceEndpointAcl(ctx, \"default\", \u0026message.ServiceEndpointAclArgs{\n\t\t\tCidr: pulumi.String(\"192.168.1.1/23\"),\n\t\t\tEndpointType: _default.ID(),\n\t\t\tAclStrategy: pulumi.String(\"allow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceEndpoint;\nimport com.pulumi.alicloud.message.ServiceEndpointArgs;\nimport com.pulumi.alicloud.message.ServiceEndpointAcl;\nimport com.pulumi.alicloud.message.ServiceEndpointAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceEndpoint(\"default\", ServiceEndpointArgs.builder()\n .endpointEnabled(true)\n .endpointType(\"public\")\n .build());\n\n var defaultServiceEndpointAcl = new ServiceEndpointAcl(\"defaultServiceEndpointAcl\", ServiceEndpointAclArgs.builder()\n .cidr(\"192.168.1.1/23\")\n .endpointType(default_.id())\n .aclStrategy(\"allow\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:message:ServiceEndpoint\n properties:\n endpointEnabled: true\n endpointType: public\n defaultServiceEndpointAcl:\n type: alicloud:message:ServiceEndpointAcl\n name: default\n properties:\n cidr: 192.168.1.1/23\n endpointType: ${default.id}\n aclStrategy: allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMessage Service Endpoint Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceEndpointAcl:ServiceEndpointAcl example \u003cendpoint_type\u003e:\u003cacl_strategy\u003e:\u003ccidr\u003e\n```\n\n", + "description": "Provides a Message Service Endpoint Acl resource.\n\n\n\nFor information about Message Service Endpoint Acl and how to use it, see [What is Endpoint Acl](https://www.alibabacloud.com/help/en/mns/developer-reference/api-mns-open-2022-01-19-authorizeendpointacl).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.message.ServiceEndpoint(\"default\", {\n endpointEnabled: true,\n endpointType: \"public\",\n});\nconst defaultServiceEndpointAcl = new alicloud.message.ServiceEndpointAcl(\"default\", {\n cidr: \"192.168.1.1/23\",\n endpointType: _default.id,\n aclStrategy: \"allow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.message.ServiceEndpoint(\"default\",\n endpoint_enabled=True,\n endpoint_type=\"public\")\ndefault_service_endpoint_acl = alicloud.message.ServiceEndpointAcl(\"default\",\n cidr=\"192.168.1.1/23\",\n endpoint_type=default.id,\n acl_strategy=\"allow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Message.ServiceEndpoint(\"default\", new()\n {\n EndpointEnabled = true,\n EndpointType = \"public\",\n });\n\n var defaultServiceEndpointAcl = new AliCloud.Message.ServiceEndpointAcl(\"default\", new()\n {\n Cidr = \"192.168.1.1/23\",\n EndpointType = @default.Id,\n AclStrategy = \"allow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := message.NewServiceEndpoint(ctx, \"default\", \u0026message.ServiceEndpointArgs{\n\t\t\tEndpointEnabled: pulumi.Bool(true),\n\t\t\tEndpointType: pulumi.String(\"public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceEndpointAcl(ctx, \"default\", \u0026message.ServiceEndpointAclArgs{\n\t\t\tCidr: pulumi.String(\"192.168.1.1/23\"),\n\t\t\tEndpointType: _default.ID(),\n\t\t\tAclStrategy: pulumi.String(\"allow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceEndpoint;\nimport com.pulumi.alicloud.message.ServiceEndpointArgs;\nimport com.pulumi.alicloud.message.ServiceEndpointAcl;\nimport com.pulumi.alicloud.message.ServiceEndpointAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceEndpoint(\"default\", ServiceEndpointArgs.builder()\n .endpointEnabled(true)\n .endpointType(\"public\")\n .build());\n\n var defaultServiceEndpointAcl = new ServiceEndpointAcl(\"defaultServiceEndpointAcl\", ServiceEndpointAclArgs.builder()\n .cidr(\"192.168.1.1/23\")\n .endpointType(default_.id())\n .aclStrategy(\"allow\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:message:ServiceEndpoint\n properties:\n endpointEnabled: true\n endpointType: public\n defaultServiceEndpointAcl:\n type: alicloud:message:ServiceEndpointAcl\n name: default\n properties:\n cidr: 192.168.1.1/23\n endpointType: ${default.id}\n aclStrategy: allow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMessage Service Endpoint Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceEndpointAcl:ServiceEndpointAcl example \u003cendpoint_type\u003e:\u003cacl_strategy\u003e:\u003ccidr\u003e\n```\n\n", "properties": { "aclStrategy": { "type": "string", @@ -209457,7 +213895,7 @@ } }, "alicloud:message/serviceEventRule:ServiceEventRule": { - "description": "Provides a Message Service Event Rule resource.\n\n\n\nFor information about Message Service Event Rule and how to use it, see [What is Event Rule](https://next.api.alibabacloud.com/document/Mns-open/2022-01-19/CreateEventRule).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst queueName = config.get(\"queueName\") || \"tf-exampe-topic2queue\";\nconst ruleName = config.get(\"ruleName\") || \"tf-exampe-topic-1\";\nconst topicName = config.get(\"topicName\") || \"tf-exampe-topic2queue\";\nconst createTopic = new alicloud.message.ServiceTopic(\"CreateTopic\", {\n maxMessageSize: 65536,\n topicName: topicName,\n loggingEnabled: false,\n});\nconst createQueue = new alicloud.message.ServiceQueue(\"CreateQueue\", {\n delaySeconds: 2,\n pollingWaitSeconds: 2,\n messageRetentionPeriod: 566,\n maximumMessageSize: 1123,\n visibilityTimeout: 30,\n queueName: queueName,\n loggingEnabled: false,\n});\nconst createSub = new alicloud.message.ServiceSubscription(\"CreateSub\", {\n pushType: \"queue\",\n notifyStrategy: \"BACKOFF_RETRY\",\n notifyContentFormat: \"SIMPLIFIED\",\n subscriptionName: \"RDK-example-sub\",\n filterTag: \"important\",\n topicName: createTopic.topicName,\n endpoint: std.format({\n input: \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n args: [createQueue.id],\n }).then(invoke =\u003e invoke.result),\n});\nconst _default = new alicloud.message.ServiceEventRule(\"default\", {\n eventTypes: [\"ObjectCreated:PutObject\"],\n matchRules: [[{\n suffix: \"\",\n matchState: \"true\",\n name: \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n prefix: \"\",\n }]],\n endpoint: {\n endpointValue: createSub.topicName,\n endpointType: \"topic\",\n },\n ruleName: ruleName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nqueue_name = config.get(\"queueName\")\nif queue_name is None:\n queue_name = \"tf-exampe-topic2queue\"\nrule_name = config.get(\"ruleName\")\nif rule_name is None:\n rule_name = \"tf-exampe-topic-1\"\ntopic_name = config.get(\"topicName\")\nif topic_name is None:\n topic_name = \"tf-exampe-topic2queue\"\ncreate_topic = alicloud.message.ServiceTopic(\"CreateTopic\",\n max_message_size=65536,\n topic_name=topic_name,\n logging_enabled=False)\ncreate_queue = alicloud.message.ServiceQueue(\"CreateQueue\",\n delay_seconds=2,\n polling_wait_seconds=2,\n message_retention_period=566,\n maximum_message_size=1123,\n visibility_timeout=30,\n queue_name=queue_name,\n logging_enabled=False)\ncreate_sub = alicloud.message.ServiceSubscription(\"CreateSub\",\n push_type=\"queue\",\n notify_strategy=\"BACKOFF_RETRY\",\n notify_content_format=\"SIMPLIFIED\",\n subscription_name=\"RDK-example-sub\",\n filter_tag=\"important\",\n topic_name=create_topic.topic_name,\n endpoint=std.format(input=\"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n args=[create_queue.id]).result)\ndefault = alicloud.message.ServiceEventRule(\"default\",\n event_types=[\"ObjectCreated:PutObject\"],\n match_rules=[[{\n \"suffix\": \"\",\n \"match_state\": \"true\",\n \"name\": \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n \"prefix\": \"\",\n }]],\n endpoint={\n \"endpoint_value\": create_sub.topic_name,\n \"endpoint_type\": \"topic\",\n },\n rule_name=rule_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var queueName = config.Get(\"queueName\") ?? \"tf-exampe-topic2queue\";\n var ruleName = config.Get(\"ruleName\") ?? \"tf-exampe-topic-1\";\n var topicName = config.Get(\"topicName\") ?? \"tf-exampe-topic2queue\";\n var createTopic = new AliCloud.Message.ServiceTopic(\"CreateTopic\", new()\n {\n MaxMessageSize = 65536,\n TopicName = topicName,\n LoggingEnabled = false,\n });\n\n var createQueue = new AliCloud.Message.ServiceQueue(\"CreateQueue\", new()\n {\n DelaySeconds = 2,\n PollingWaitSeconds = 2,\n MessageRetentionPeriod = 566,\n MaximumMessageSize = 1123,\n VisibilityTimeout = 30,\n QueueName = queueName,\n LoggingEnabled = false,\n });\n\n var createSub = new AliCloud.Message.ServiceSubscription(\"CreateSub\", new()\n {\n PushType = \"queue\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n NotifyContentFormat = \"SIMPLIFIED\",\n SubscriptionName = \"RDK-example-sub\",\n FilterTag = \"important\",\n TopicName = createTopic.TopicName,\n Endpoint = Std.Format.Invoke(new()\n {\n Input = \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n Args = new[]\n {\n createQueue.Id,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var @default = new AliCloud.Message.ServiceEventRule(\"default\", new()\n {\n EventTypes = new[]\n {\n \"ObjectCreated:PutObject\",\n },\n MatchRules = new[]\n {\n new[]\n {\n new AliCloud.Message.Inputs.ServiceEventRuleMatchRuleArgs\n {\n Suffix = \"\",\n MatchState = \"true\",\n Name = \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n Prefix = \"\",\n },\n },\n },\n Endpoint = new AliCloud.Message.Inputs.ServiceEventRuleEndpointArgs\n {\n EndpointValue = createSub.TopicName,\n EndpointType = \"topic\",\n },\n RuleName = ruleName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tqueueName := \"tf-exampe-topic2queue\"\n\t\tif param := cfg.Get(\"queueName\"); param != \"\" {\n\t\t\tqueueName = param\n\t\t}\n\t\truleName := \"tf-exampe-topic-1\"\n\t\tif param := cfg.Get(\"ruleName\"); param != \"\" {\n\t\t\truleName = param\n\t\t}\n\t\ttopicName := \"tf-exampe-topic2queue\"\n\t\tif param := cfg.Get(\"topicName\"); param != \"\" {\n\t\t\ttopicName = param\n\t\t}\n\t\tcreateTopic, err := message.NewServiceTopic(ctx, \"CreateTopic\", \u0026message.ServiceTopicArgs{\n\t\t\tMaxMessageSize: pulumi.Int(65536),\n\t\t\tTopicName: pulumi.String(topicName),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQueue, err := message.NewServiceQueue(ctx, \"CreateQueue\", \u0026message.ServiceQueueArgs{\n\t\t\tDelaySeconds: pulumi.Int(2),\n\t\t\tPollingWaitSeconds: pulumi.Int(2),\n\t\t\tMessageRetentionPeriod: pulumi.Int(566),\n\t\t\tMaximumMessageSize: pulumi.Int(1123),\n\t\t\tVisibilityTimeout: pulumi.Int(30),\n\t\t\tQueueName: pulumi.String(queueName),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n\t\t\tArgs: pulumi.StringArray{\n\t\t\t\tcreateQueue.ID(),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSub, err := message.NewServiceSubscription(ctx, \"CreateSub\", \u0026message.ServiceSubscriptionArgs{\n\t\t\tPushType: pulumi.String(\"queue\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t\tNotifyContentFormat: pulumi.String(\"SIMPLIFIED\"),\n\t\t\tSubscriptionName: pulumi.String(\"RDK-example-sub\"),\n\t\t\tFilterTag: pulumi.String(\"important\"),\n\t\t\tTopicName: createTopic.TopicName,\n\t\t\tEndpoint: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceEventRule(ctx, \"default\", \u0026message.ServiceEventRuleArgs{\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ObjectCreated:PutObject\"),\n\t\t\t},\n\t\t\tMatchRules: message.ServiceEventRuleMatchRuleArrayArray{\n\t\t\t\tmessage.ServiceEventRuleMatchRuleArray{\n\t\t\t\t\t\u0026message.ServiceEventRuleMatchRuleArgs{\n\t\t\t\t\t\tSuffix: pulumi.String(\"\"),\n\t\t\t\t\t\tMatchState: pulumi.String(\"true\"),\n\t\t\t\t\t\tName: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:accccx\"),\n\t\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpoint: \u0026message.ServiceEventRuleEndpointArgs{\n\t\t\t\tEndpointValue: createSub.TopicName,\n\t\t\t\tEndpointType: pulumi.String(\"topic\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(ruleName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport com.pulumi.alicloud.message.ServiceQueue;\nimport com.pulumi.alicloud.message.ServiceQueueArgs;\nimport com.pulumi.alicloud.message.ServiceSubscription;\nimport com.pulumi.alicloud.message.ServiceSubscriptionArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.message.ServiceEventRule;\nimport com.pulumi.alicloud.message.ServiceEventRuleArgs;\nimport com.pulumi.alicloud.message.inputs.ServiceEventRuleEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var queueName = config.get(\"queueName\").orElse(\"tf-exampe-topic2queue\");\n final var ruleName = config.get(\"ruleName\").orElse(\"tf-exampe-topic-1\");\n final var topicName = config.get(\"topicName\").orElse(\"tf-exampe-topic2queue\");\n var createTopic = new ServiceTopic(\"createTopic\", ServiceTopicArgs.builder()\n .maxMessageSize(65536)\n .topicName(topicName)\n .loggingEnabled(false)\n .build());\n\n var createQueue = new ServiceQueue(\"createQueue\", ServiceQueueArgs.builder()\n .delaySeconds(2)\n .pollingWaitSeconds(2)\n .messageRetentionPeriod(566)\n .maximumMessageSize(1123)\n .visibilityTimeout(30)\n .queueName(queueName)\n .loggingEnabled(false)\n .build());\n\n var createSub = new ServiceSubscription(\"createSub\", ServiceSubscriptionArgs.builder()\n .pushType(\"queue\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .notifyContentFormat(\"SIMPLIFIED\")\n .subscriptionName(\"RDK-example-sub\")\n .filterTag(\"important\")\n .topicName(createTopic.topicName())\n .endpoint(StdFunctions.format(FormatArgs.builder()\n .input(\"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\")\n .args(createQueue.id())\n .build()).result())\n .build());\n\n var default_ = new ServiceEventRule(\"default\", ServiceEventRuleArgs.builder()\n .eventTypes(\"ObjectCreated:PutObject\")\n .matchRules(ServiceEventRuleMatchRuleArgs.builder()\n .suffix(\"\")\n .matchState(\"true\")\n .name(\"acs:oss:cn-hangzhou:1511928242963727:accccx\")\n .prefix(\"\")\n .build())\n .endpoint(ServiceEventRuleEndpointArgs.builder()\n .endpointValue(createSub.topicName())\n .endpointType(\"topic\")\n .build())\n .ruleName(ruleName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n queueName:\n type: string\n default: tf-exampe-topic2queue\n ruleName:\n type: string\n default: tf-exampe-topic-1\n topicName:\n type: string\n default: tf-exampe-topic2queue\nresources:\n createTopic:\n type: alicloud:message:ServiceTopic\n name: CreateTopic\n properties:\n maxMessageSize: '65536'\n topicName: ${topicName}\n loggingEnabled: false\n createQueue:\n type: alicloud:message:ServiceQueue\n name: CreateQueue\n properties:\n delaySeconds: '2'\n pollingWaitSeconds: '2'\n messageRetentionPeriod: '566'\n maximumMessageSize: '1123'\n visibilityTimeout: '30'\n queueName: ${queueName}\n loggingEnabled: false\n createSub:\n type: alicloud:message:ServiceSubscription\n name: CreateSub\n properties:\n pushType: queue\n notifyStrategy: BACKOFF_RETRY\n notifyContentFormat: SIMPLIFIED\n subscriptionName: RDK-example-sub\n filterTag: important\n topicName: ${createTopic.topicName}\n endpoint:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:mns:cn-hangzhou:1511928242963727:/queues/%s\n args:\n - ${createQueue.id}\n return: result\n default:\n type: alicloud:message:ServiceEventRule\n properties:\n eventTypes:\n - ObjectCreated:PutObject\n matchRules:\n - - suffix: \"\"\n matchState: 'true'\n name: acs:oss:cn-hangzhou:1511928242963727:accccx\n prefix: \"\"\n endpoint:\n endpointValue: ${createSub.topicName}\n endpointType: topic\n ruleName: ${ruleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMessage Service Event Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceEventRule:ServiceEventRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Message Service Event Rule resource.\n\n\n\nFor information about Message Service Event Rule and how to use it, see [What is Event Rule](https://next.api.alibabacloud.com/document/Mns-open/2022-01-19/CreateEventRule).\n\n\u003e **NOTE:** Available since v1.255.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst queueName = config.get(\"queueName\") || \"tf-exampe-topic2queue\";\nconst ruleName = config.get(\"ruleName\") || \"tf-exampe-topic-1\";\nconst topicName = config.get(\"topicName\") || \"tf-exampe-topic2queue\";\nconst createTopic = new alicloud.message.ServiceTopic(\"CreateTopic\", {\n maxMessageSize: 65536,\n topicName: topicName,\n loggingEnabled: false,\n});\nconst createQueue = new alicloud.message.ServiceQueue(\"CreateQueue\", {\n delaySeconds: 2,\n pollingWaitSeconds: 2,\n messageRetentionPeriod: 566,\n maximumMessageSize: 1123,\n visibilityTimeout: 30,\n queueName: queueName,\n loggingEnabled: false,\n});\nconst createSub = new alicloud.message.ServiceSubscription(\"CreateSub\", {\n pushType: \"queue\",\n notifyStrategy: \"BACKOFF_RETRY\",\n notifyContentFormat: \"SIMPLIFIED\",\n subscriptionName: \"RDK-example-sub\",\n filterTag: \"important\",\n topicName: createTopic.topicName,\n endpoint: std.format({\n input: \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n args: [createQueue.id],\n }).then(invoke =\u003e invoke.result),\n});\nconst _default = new alicloud.message.ServiceEventRule(\"default\", {\n eventTypes: [\"ObjectCreated:PutObject\"],\n matchRules: [[{\n suffix: \"\",\n matchState: \"true\",\n name: \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n prefix: \"\",\n }]],\n endpoint: {\n endpointValue: createSub.topicName,\n endpointType: \"topic\",\n },\n ruleName: ruleName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nqueue_name = config.get(\"queueName\")\nif queue_name is None:\n queue_name = \"tf-exampe-topic2queue\"\nrule_name = config.get(\"ruleName\")\nif rule_name is None:\n rule_name = \"tf-exampe-topic-1\"\ntopic_name = config.get(\"topicName\")\nif topic_name is None:\n topic_name = \"tf-exampe-topic2queue\"\ncreate_topic = alicloud.message.ServiceTopic(\"CreateTopic\",\n max_message_size=65536,\n topic_name=topic_name,\n logging_enabled=False)\ncreate_queue = alicloud.message.ServiceQueue(\"CreateQueue\",\n delay_seconds=2,\n polling_wait_seconds=2,\n message_retention_period=566,\n maximum_message_size=1123,\n visibility_timeout=30,\n queue_name=queue_name,\n logging_enabled=False)\ncreate_sub = alicloud.message.ServiceSubscription(\"CreateSub\",\n push_type=\"queue\",\n notify_strategy=\"BACKOFF_RETRY\",\n notify_content_format=\"SIMPLIFIED\",\n subscription_name=\"RDK-example-sub\",\n filter_tag=\"important\",\n topic_name=create_topic.topic_name,\n endpoint=std.format(input=\"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n args=[create_queue.id]).result)\ndefault = alicloud.message.ServiceEventRule(\"default\",\n event_types=[\"ObjectCreated:PutObject\"],\n match_rules=[[{\n \"suffix\": \"\",\n \"match_state\": \"true\",\n \"name\": \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n \"prefix\": \"\",\n }]],\n endpoint={\n \"endpoint_value\": create_sub.topic_name,\n \"endpoint_type\": \"topic\",\n },\n rule_name=rule_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var queueName = config.Get(\"queueName\") ?? \"tf-exampe-topic2queue\";\n var ruleName = config.Get(\"ruleName\") ?? \"tf-exampe-topic-1\";\n var topicName = config.Get(\"topicName\") ?? \"tf-exampe-topic2queue\";\n var createTopic = new AliCloud.Message.ServiceTopic(\"CreateTopic\", new()\n {\n MaxMessageSize = 65536,\n TopicName = topicName,\n LoggingEnabled = false,\n });\n\n var createQueue = new AliCloud.Message.ServiceQueue(\"CreateQueue\", new()\n {\n DelaySeconds = 2,\n PollingWaitSeconds = 2,\n MessageRetentionPeriod = 566,\n MaximumMessageSize = 1123,\n VisibilityTimeout = 30,\n QueueName = queueName,\n LoggingEnabled = false,\n });\n\n var createSub = new AliCloud.Message.ServiceSubscription(\"CreateSub\", new()\n {\n PushType = \"queue\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n NotifyContentFormat = \"SIMPLIFIED\",\n SubscriptionName = \"RDK-example-sub\",\n FilterTag = \"important\",\n TopicName = createTopic.TopicName,\n Endpoint = Std.Format.Invoke(new()\n {\n Input = \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n Args = new[]\n {\n createQueue.Id,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var @default = new AliCloud.Message.ServiceEventRule(\"default\", new()\n {\n EventTypes = new[]\n {\n \"ObjectCreated:PutObject\",\n },\n MatchRules = new[]\n {\n new[]\n {\n new AliCloud.Message.Inputs.ServiceEventRuleMatchRuleArgs\n {\n Suffix = \"\",\n MatchState = \"true\",\n Name = \"acs:oss:cn-hangzhou:1511928242963727:accccx\",\n Prefix = \"\",\n },\n },\n },\n Endpoint = new AliCloud.Message.Inputs.ServiceEventRuleEndpointArgs\n {\n EndpointValue = createSub.TopicName,\n EndpointType = \"topic\",\n },\n RuleName = ruleName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tqueueName := \"tf-exampe-topic2queue\"\n\t\tif param := cfg.Get(\"queueName\"); param != \"\" {\n\t\t\tqueueName = param\n\t\t}\n\t\truleName := \"tf-exampe-topic-1\"\n\t\tif param := cfg.Get(\"ruleName\"); param != \"\" {\n\t\t\truleName = param\n\t\t}\n\t\ttopicName := \"tf-exampe-topic2queue\"\n\t\tif param := cfg.Get(\"topicName\"); param != \"\" {\n\t\t\ttopicName = param\n\t\t}\n\t\tcreateTopic, err := message.NewServiceTopic(ctx, \"CreateTopic\", \u0026message.ServiceTopicArgs{\n\t\t\tMaxMessageSize: pulumi.Int(65536),\n\t\t\tTopicName: pulumi.String(topicName),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateQueue, err := message.NewServiceQueue(ctx, \"CreateQueue\", \u0026message.ServiceQueueArgs{\n\t\t\tDelaySeconds: pulumi.Int(2),\n\t\t\tPollingWaitSeconds: pulumi.Int(2),\n\t\t\tMessageRetentionPeriod: pulumi.Int(566),\n\t\t\tMaximumMessageSize: pulumi.Int(1123),\n\t\t\tVisibilityTimeout: pulumi.Int(30),\n\t\t\tQueueName: pulumi.String(queueName),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\",\n\t\t\tArgs: pulumi.StringArray{\n\t\t\t\tcreateQueue.ID(),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSub, err := message.NewServiceSubscription(ctx, \"CreateSub\", \u0026message.ServiceSubscriptionArgs{\n\t\t\tPushType: pulumi.String(\"queue\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t\tNotifyContentFormat: pulumi.String(\"SIMPLIFIED\"),\n\t\t\tSubscriptionName: pulumi.String(\"RDK-example-sub\"),\n\t\t\tFilterTag: pulumi.String(\"important\"),\n\t\t\tTopicName: createTopic.TopicName,\n\t\t\tEndpoint: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceEventRule(ctx, \"default\", \u0026message.ServiceEventRuleArgs{\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ObjectCreated:PutObject\"),\n\t\t\t},\n\t\t\tMatchRules: message.ServiceEventRuleMatchRuleArrayArray{\n\t\t\t\tmessage.ServiceEventRuleMatchRuleArray{\n\t\t\t\t\t\u0026message.ServiceEventRuleMatchRuleArgs{\n\t\t\t\t\t\tSuffix: pulumi.String(\"\"),\n\t\t\t\t\t\tMatchState: pulumi.String(\"true\"),\n\t\t\t\t\t\tName: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:accccx\"),\n\t\t\t\t\t\tPrefix: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEndpoint: \u0026message.ServiceEventRuleEndpointArgs{\n\t\t\t\tEndpointValue: createSub.TopicName,\n\t\t\t\tEndpointType: pulumi.String(\"topic\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(ruleName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport com.pulumi.alicloud.message.ServiceQueue;\nimport com.pulumi.alicloud.message.ServiceQueueArgs;\nimport com.pulumi.alicloud.message.ServiceSubscription;\nimport com.pulumi.alicloud.message.ServiceSubscriptionArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.message.ServiceEventRule;\nimport com.pulumi.alicloud.message.ServiceEventRuleArgs;\nimport com.pulumi.alicloud.message.inputs.ServiceEventRuleEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var queueName = config.get(\"queueName\").orElse(\"tf-exampe-topic2queue\");\n final var ruleName = config.get(\"ruleName\").orElse(\"tf-exampe-topic-1\");\n final var topicName = config.get(\"topicName\").orElse(\"tf-exampe-topic2queue\");\n var createTopic = new ServiceTopic(\"createTopic\", ServiceTopicArgs.builder()\n .maxMessageSize(65536)\n .topicName(topicName)\n .loggingEnabled(false)\n .build());\n\n var createQueue = new ServiceQueue(\"createQueue\", ServiceQueueArgs.builder()\n .delaySeconds(2)\n .pollingWaitSeconds(2)\n .messageRetentionPeriod(566)\n .maximumMessageSize(1123)\n .visibilityTimeout(30)\n .queueName(queueName)\n .loggingEnabled(false)\n .build());\n\n var createSub = new ServiceSubscription(\"createSub\", ServiceSubscriptionArgs.builder()\n .pushType(\"queue\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .notifyContentFormat(\"SIMPLIFIED\")\n .subscriptionName(\"RDK-example-sub\")\n .filterTag(\"important\")\n .topicName(createTopic.topicName())\n .endpoint(StdFunctions.format(FormatArgs.builder()\n .input(\"acs:mns:cn-hangzhou:1511928242963727:/queues/%s\")\n .args(createQueue.id())\n .build()).result())\n .build());\n\n var default_ = new ServiceEventRule(\"default\", ServiceEventRuleArgs.builder()\n .eventTypes(\"ObjectCreated:PutObject\")\n .matchRules(ServiceEventRuleMatchRuleArgs.builder()\n .suffix(\"\")\n .matchState(\"true\")\n .name(\"acs:oss:cn-hangzhou:1511928242963727:accccx\")\n .prefix(\"\")\n .build())\n .endpoint(ServiceEventRuleEndpointArgs.builder()\n .endpointValue(createSub.topicName())\n .endpointType(\"topic\")\n .build())\n .ruleName(ruleName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n queueName:\n type: string\n default: tf-exampe-topic2queue\n ruleName:\n type: string\n default: tf-exampe-topic-1\n topicName:\n type: string\n default: tf-exampe-topic2queue\nresources:\n createTopic:\n type: alicloud:message:ServiceTopic\n name: CreateTopic\n properties:\n maxMessageSize: '65536'\n topicName: ${topicName}\n loggingEnabled: false\n createQueue:\n type: alicloud:message:ServiceQueue\n name: CreateQueue\n properties:\n delaySeconds: '2'\n pollingWaitSeconds: '2'\n messageRetentionPeriod: '566'\n maximumMessageSize: '1123'\n visibilityTimeout: '30'\n queueName: ${queueName}\n loggingEnabled: false\n createSub:\n type: alicloud:message:ServiceSubscription\n name: CreateSub\n properties:\n pushType: queue\n notifyStrategy: BACKOFF_RETRY\n notifyContentFormat: SIMPLIFIED\n subscriptionName: RDK-example-sub\n filterTag: important\n topicName: ${createTopic.topicName}\n endpoint:\n fn::invoke:\n function: std:format\n arguments:\n input: acs:mns:cn-hangzhou:1511928242963727:/queues/%s\n args:\n - ${createQueue.id}\n return: result\n default:\n type: alicloud:message:ServiceEventRule\n properties:\n eventTypes:\n - ObjectCreated:PutObject\n matchRules:\n - - suffix: \"\"\n matchState: 'true'\n name: acs:oss:cn-hangzhou:1511928242963727:accccx\n prefix: \"\"\n endpoint:\n endpointValue: ${createSub.topicName}\n endpointType: topic\n ruleName: ${ruleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMessage Service Event Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceEventRule:ServiceEventRule example \u003cid\u003e\n```\n\n", "properties": { "deliveryMode": { "type": "string", @@ -209576,7 +214014,7 @@ } }, "alicloud:message/serviceQueue:ServiceQueue": { - "description": "Provides a Message Service Queue resource.\n\n\n\nFor information about Message Service Queue and how to use it, see [What is Queue](https://www.alibabacloud.com/help/en/message-service/latest/createqueue).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceQueue(\"default\", {\n queueName: name,\n delaySeconds: 2,\n pollingWaitSeconds: 2,\n messageRetentionPeriod: 566,\n maximumMessageSize: 1126,\n visibilityTimeout: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceQueue(\"default\",\n queue_name=name,\n delay_seconds=2,\n polling_wait_seconds=2,\n message_retention_period=566,\n maximum_message_size=1126,\n visibility_timeout=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceQueue(\"default\", new()\n {\n QueueName = name,\n DelaySeconds = 2,\n PollingWaitSeconds = 2,\n MessageRetentionPeriod = 566,\n MaximumMessageSize = 1126,\n VisibilityTimeout = 30,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := message.NewServiceQueue(ctx, \"default\", \u0026message.ServiceQueueArgs{\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tDelaySeconds: pulumi.Int(2),\n\t\t\tPollingWaitSeconds: pulumi.Int(2),\n\t\t\tMessageRetentionPeriod: pulumi.Int(566),\n\t\t\tMaximumMessageSize: pulumi.Int(1126),\n\t\t\tVisibilityTimeout: 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.alicloud.message.ServiceQueue;\nimport com.pulumi.alicloud.message.ServiceQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceQueue(\"default\", ServiceQueueArgs.builder()\n .queueName(name)\n .delaySeconds(2)\n .pollingWaitSeconds(2)\n .messageRetentionPeriod(566)\n .maximumMessageSize(1126)\n .visibilityTimeout(30)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceQueue\n properties:\n queueName: ${name}\n delaySeconds: '2'\n pollingWaitSeconds: '2'\n messageRetentionPeriod: '566'\n maximumMessageSize: '1126'\n visibilityTimeout: '30'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMessage Service Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceQueue:ServiceQueue example \u003cid\u003e\n```\n\n", + "description": "Provides a Message Service Queue resource.\n\n\n\nFor information about Message Service Queue and how to use it, see [What is Queue](https://www.alibabacloud.com/help/en/message-service/latest/createqueue).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceQueue(\"default\", {\n queueName: name,\n delaySeconds: 2,\n pollingWaitSeconds: 2,\n messageRetentionPeriod: 566,\n maximumMessageSize: 1126,\n visibilityTimeout: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceQueue(\"default\",\n queue_name=name,\n delay_seconds=2,\n polling_wait_seconds=2,\n message_retention_period=566,\n maximum_message_size=1126,\n visibility_timeout=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceQueue(\"default\", new()\n {\n QueueName = name,\n DelaySeconds = 2,\n PollingWaitSeconds = 2,\n MessageRetentionPeriod = 566,\n MaximumMessageSize = 1126,\n VisibilityTimeout = 30,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := message.NewServiceQueue(ctx, \"default\", \u0026message.ServiceQueueArgs{\n\t\t\tQueueName: pulumi.String(name),\n\t\t\tDelaySeconds: pulumi.Int(2),\n\t\t\tPollingWaitSeconds: pulumi.Int(2),\n\t\t\tMessageRetentionPeriod: pulumi.Int(566),\n\t\t\tMaximumMessageSize: pulumi.Int(1126),\n\t\t\tVisibilityTimeout: 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.alicloud.message.ServiceQueue;\nimport com.pulumi.alicloud.message.ServiceQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceQueue(\"default\", ServiceQueueArgs.builder()\n .queueName(name)\n .delaySeconds(2)\n .pollingWaitSeconds(2)\n .messageRetentionPeriod(566)\n .maximumMessageSize(1126)\n .visibilityTimeout(30)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceQueue\n properties:\n queueName: ${name}\n delaySeconds: '2'\n pollingWaitSeconds: '2'\n messageRetentionPeriod: '566'\n maximumMessageSize: '1126'\n visibilityTimeout: '30'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMessage Service Queue can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceQueue:ServiceQueue example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -209750,7 +214188,7 @@ } }, "alicloud:message/serviceSubscription:ServiceSubscription": { - "description": "Provides a Message Service Subscription resource.\n\n\n\nFor information about Message Service Subscription and how to use it, see [What is Subscription](https://www.alibabacloud.com/help/en/mns/developer-reference/api-mns-open-2022-01-19-subscribe).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceTopic(\"default\", {\n topicName: name,\n maxMessageSize: 16888,\n enableLogging: true,\n});\nconst defaultServiceSubscription = new alicloud.message.ServiceSubscription(\"default\", {\n topicName: _default.topicName,\n subscriptionName: name,\n endpoint: \"http://example.com\",\n pushType: \"http\",\n filterTag: name,\n notifyContentFormat: \"XML\",\n notifyStrategy: \"BACKOFF_RETRY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceTopic(\"default\",\n topic_name=name,\n max_message_size=16888,\n enable_logging=True)\ndefault_service_subscription = alicloud.message.ServiceSubscription(\"default\",\n topic_name=default.topic_name,\n subscription_name=name,\n endpoint=\"http://example.com\",\n push_type=\"http\",\n filter_tag=name,\n notify_content_format=\"XML\",\n notify_strategy=\"BACKOFF_RETRY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceTopic(\"default\", new()\n {\n TopicName = name,\n MaxMessageSize = 16888,\n EnableLogging = true,\n });\n\n var defaultServiceSubscription = new AliCloud.Message.ServiceSubscription(\"default\", new()\n {\n TopicName = @default.TopicName,\n SubscriptionName = name,\n Endpoint = \"http://example.com\",\n PushType = \"http\",\n FilterTag = name,\n NotifyContentFormat = \"XML\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := message.NewServiceTopic(ctx, \"default\", \u0026message.ServiceTopicArgs{\n\t\t\tTopicName: pulumi.String(name),\n\t\t\tMaxMessageSize: pulumi.Int(16888),\n\t\t\tEnableLogging: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceSubscription(ctx, \"default\", \u0026message.ServiceSubscriptionArgs{\n\t\t\tTopicName: _default.TopicName,\n\t\t\tSubscriptionName: pulumi.String(name),\n\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\tPushType: pulumi.String(\"http\"),\n\t\t\tFilterTag: pulumi.String(name),\n\t\t\tNotifyContentFormat: pulumi.String(\"XML\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport com.pulumi.alicloud.message.ServiceSubscription;\nimport com.pulumi.alicloud.message.ServiceSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceTopic(\"default\", ServiceTopicArgs.builder()\n .topicName(name)\n .maxMessageSize(16888)\n .enableLogging(true)\n .build());\n\n var defaultServiceSubscription = new ServiceSubscription(\"defaultServiceSubscription\", ServiceSubscriptionArgs.builder()\n .topicName(default_.topicName())\n .subscriptionName(name)\n .endpoint(\"http://example.com\")\n .pushType(\"http\")\n .filterTag(name)\n .notifyContentFormat(\"XML\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceTopic\n properties:\n topicName: ${name}\n maxMessageSize: 16888\n enableLogging: true\n defaultServiceSubscription:\n type: alicloud:message:ServiceSubscription\n name: default\n properties:\n topicName: ${default.topicName}\n subscriptionName: ${name}\n endpoint: http://example.com\n pushType: http\n filterTag: ${name}\n notifyContentFormat: XML\n notifyStrategy: BACKOFF_RETRY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMessage Service Subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceSubscription:ServiceSubscription example \u003ctopic_name\u003e:\u003csubscription_name\u003e\n```\n\n", + "description": "Provides a Message Service Subscription resource.\n\n\n\nFor information about Message Service Subscription and how to use it, see [What is Subscription](https://www.alibabacloud.com/help/en/mns/developer-reference/api-mns-open-2022-01-19-subscribe).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceTopic(\"default\", {\n topicName: name,\n maxMessageSize: 16888,\n enableLogging: true,\n});\nconst defaultServiceSubscription = new alicloud.message.ServiceSubscription(\"default\", {\n topicName: _default.topicName,\n subscriptionName: name,\n endpoint: \"http://example.com\",\n pushType: \"http\",\n filterTag: name,\n notifyContentFormat: \"XML\",\n notifyStrategy: \"BACKOFF_RETRY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceTopic(\"default\",\n topic_name=name,\n max_message_size=16888,\n enable_logging=True)\ndefault_service_subscription = alicloud.message.ServiceSubscription(\"default\",\n topic_name=default.topic_name,\n subscription_name=name,\n endpoint=\"http://example.com\",\n push_type=\"http\",\n filter_tag=name,\n notify_content_format=\"XML\",\n notify_strategy=\"BACKOFF_RETRY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceTopic(\"default\", new()\n {\n TopicName = name,\n MaxMessageSize = 16888,\n EnableLogging = true,\n });\n\n var defaultServiceSubscription = new AliCloud.Message.ServiceSubscription(\"default\", new()\n {\n TopicName = @default.TopicName,\n SubscriptionName = name,\n Endpoint = \"http://example.com\",\n PushType = \"http\",\n FilterTag = name,\n NotifyContentFormat = \"XML\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := message.NewServiceTopic(ctx, \"default\", \u0026message.ServiceTopicArgs{\n\t\t\tTopicName: pulumi.String(name),\n\t\t\tMaxMessageSize: pulumi.Int(16888),\n\t\t\tEnableLogging: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = message.NewServiceSubscription(ctx, \"default\", \u0026message.ServiceSubscriptionArgs{\n\t\t\tTopicName: _default.TopicName,\n\t\t\tSubscriptionName: pulumi.String(name),\n\t\t\tEndpoint: pulumi.String(\"http://example.com\"),\n\t\t\tPushType: pulumi.String(\"http\"),\n\t\t\tFilterTag: pulumi.String(name),\n\t\t\tNotifyContentFormat: pulumi.String(\"XML\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport com.pulumi.alicloud.message.ServiceSubscription;\nimport com.pulumi.alicloud.message.ServiceSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceTopic(\"default\", ServiceTopicArgs.builder()\n .topicName(name)\n .maxMessageSize(16888)\n .enableLogging(true)\n .build());\n\n var defaultServiceSubscription = new ServiceSubscription(\"defaultServiceSubscription\", ServiceSubscriptionArgs.builder()\n .topicName(default_.topicName())\n .subscriptionName(name)\n .endpoint(\"http://example.com\")\n .pushType(\"http\")\n .filterTag(name)\n .notifyContentFormat(\"XML\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceTopic\n properties:\n topicName: ${name}\n maxMessageSize: 16888\n enableLogging: true\n defaultServiceSubscription:\n type: alicloud:message:ServiceSubscription\n name: default\n properties:\n topicName: ${default.topicName}\n subscriptionName: ${name}\n endpoint: http://example.com\n pushType: http\n filterTag: ${name}\n notifyContentFormat: XML\n notifyStrategy: BACKOFF_RETRY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMessage Service Subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceSubscription:ServiceSubscription example \u003ctopic_name\u003e:\u003csubscription_name\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -209907,7 +214345,7 @@ } }, "alicloud:message/serviceTopic:ServiceTopic": { - "description": "Provides a Message Service Topic resource.\n\n\n\nFor information about Message Service Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/message-service/latest/createtopic).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceTopic(\"default\", {\n topicName: name,\n maxMessageSize: 16888,\n enableLogging: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceTopic(\"default\",\n topic_name=name,\n max_message_size=16888,\n enable_logging=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceTopic(\"default\", new()\n {\n TopicName = name,\n MaxMessageSize = 16888,\n EnableLogging = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := message.NewServiceTopic(ctx, \"default\", \u0026message.ServiceTopicArgs{\n\t\t\tTopicName: pulumi.String(name),\n\t\t\tMaxMessageSize: pulumi.Int(16888),\n\t\t\tEnableLogging: 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.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceTopic(\"default\", ServiceTopicArgs.builder()\n .topicName(name)\n .maxMessageSize(16888)\n .enableLogging(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceTopic\n properties:\n topicName: ${name}\n maxMessageSize: 16888\n enableLogging: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMessage Service Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceTopic:ServiceTopic example \u003cid\u003e\n```\n\n", + "description": "Provides a Message Service Topic resource.\n\n\n\nFor information about Message Service Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/message-service/latest/createtopic).\n\n\u003e **NOTE:** Available since v1.188.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.message.ServiceTopic(\"default\", {\n topicName: name,\n maxMessageSize: 16888,\n enableLogging: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.message.ServiceTopic(\"default\",\n topic_name=name,\n max_message_size=16888,\n enable_logging=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Message.ServiceTopic(\"default\", new()\n {\n TopicName = name,\n MaxMessageSize = 16888,\n EnableLogging = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/message\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := message.NewServiceTopic(ctx, \"default\", \u0026message.ServiceTopicArgs{\n\t\t\tTopicName: pulumi.String(name),\n\t\t\tMaxMessageSize: pulumi.Int(16888),\n\t\t\tEnableLogging: 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.alicloud.message.ServiceTopic;\nimport com.pulumi.alicloud.message.ServiceTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ServiceTopic(\"default\", ServiceTopicArgs.builder()\n .topicName(name)\n .maxMessageSize(16888)\n .enableLogging(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:message:ServiceTopic\n properties:\n topicName: ${name}\n maxMessageSize: 16888\n enableLogging: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMessage Service Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:message/serviceTopic:ServiceTopic example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -210012,7 +214450,7 @@ } }, "alicloud:mhub/app:App": { - "description": "Provides a MHUB App resource.\n\nFor information about MHUB App and how to use it, see [What is App](https://help.aliyun.com/product/65109.html).\n\n\u003e **NOTE:** Available since v1.138.0+.\n\n\u003e **NOTE:** At present, the resource only supports cn-shanghai region.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst _default = new alicloud.mhub.Product(\"default\", {productName: name});\nconst defaultApp = new alicloud.mhub.App(\"default\", {\n appName: name,\n productId: _default.id,\n packageName: \"com.example.android\",\n type: \"Android\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault = alicloud.mhub.Product(\"default\", product_name=name)\ndefault_app = alicloud.mhub.App(\"default\",\n app_name=name,\n product_id=default.id,\n package_name=\"com.example.android\",\n type=\"Android\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var @default = new AliCloud.Mhub.Product(\"default\", new()\n {\n ProductName = name,\n });\n\n var defaultApp = new AliCloud.Mhub.App(\"default\", new()\n {\n AppName = name,\n ProductId = @default.Id,\n PackageName = \"com.example.android\",\n Type = \"Android\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example_value\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mhub.NewProduct(ctx, \"default\", \u0026mhub.ProductArgs{\n\t\t\tProductName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mhub.NewApp(ctx, \"default\", \u0026mhub.AppArgs{\n\t\t\tAppName: pulumi.String(name),\n\t\t\tProductId: _default.ID(),\n\t\t\tPackageName: pulumi.String(\"com.example.android\"),\n\t\t\tType: pulumi.String(\"Android\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mhub.Product;\nimport com.pulumi.alicloud.mhub.ProductArgs;\nimport com.pulumi.alicloud.mhub.App;\nimport com.pulumi.alicloud.mhub.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example_value\");\n var default_ = new Product(\"default\", ProductArgs.builder()\n .productName(name)\n .build());\n\n var defaultApp = new App(\"defaultApp\", AppArgs.builder()\n .appName(name)\n .productId(default_.id())\n .packageName(\"com.example.android\")\n .type(\"Android\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example_value\nresources:\n default:\n type: alicloud:mhub:Product\n properties:\n productName: ${name}\n defaultApp:\n type: alicloud:mhub:App\n name: default\n properties:\n appName: ${name}\n productId: ${default.id}\n packageName: com.example.android\n type: Android\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMHUB App can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mhub/app:App example \u003cproduct_id\u003e:\u003capp_key\u003e\n```\n\n", + "description": "Provides a MHUB App resource.\n\nFor information about MHUB App and how to use it, see [What is App](https://help.aliyun.com/product/65109.html).\n\n\u003e **NOTE:** Available since v1.138.0+.\n\n\u003e **NOTE:** At present, the resource only supports cn-shanghai region.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst _default = new alicloud.mhub.Product(\"default\", {productName: name});\nconst defaultApp = new alicloud.mhub.App(\"default\", {\n appName: name,\n productId: _default.id,\n packageName: \"com.example.android\",\n type: \"Android\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault = alicloud.mhub.Product(\"default\", product_name=name)\ndefault_app = alicloud.mhub.App(\"default\",\n app_name=name,\n product_id=default.id,\n package_name=\"com.example.android\",\n type=\"Android\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var @default = new AliCloud.Mhub.Product(\"default\", new()\n {\n ProductName = name,\n });\n\n var defaultApp = new AliCloud.Mhub.App(\"default\", new()\n {\n AppName = name,\n ProductId = @default.Id,\n PackageName = \"com.example.android\",\n Type = \"Android\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"example_value\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mhub.NewProduct(ctx, \"default\", \u0026mhub.ProductArgs{\n\t\t\tProductName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mhub.NewApp(ctx, \"default\", \u0026mhub.AppArgs{\n\t\t\tAppName: pulumi.String(name),\n\t\t\tProductId: _default.ID(),\n\t\t\tPackageName: pulumi.String(\"com.example.android\"),\n\t\t\tType: pulumi.String(\"Android\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mhub.Product;\nimport com.pulumi.alicloud.mhub.ProductArgs;\nimport com.pulumi.alicloud.mhub.App;\nimport com.pulumi.alicloud.mhub.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"example_value\");\n var default_ = new Product(\"default\", ProductArgs.builder()\n .productName(name)\n .build());\n\n var defaultApp = new App(\"defaultApp\", AppArgs.builder()\n .appName(name)\n .productId(default_.id())\n .packageName(\"com.example.android\")\n .type(\"Android\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: example_value\nresources:\n default:\n type: alicloud:mhub:Product\n properties:\n productName: ${name}\n defaultApp:\n type: alicloud:mhub:App\n name: default\n properties:\n appName: ${name}\n productId: ${default.id}\n packageName: com.example.android\n type: Android\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMHUB App can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mhub/app:App example \u003cproduct_id\u003e:\u003capp_key\u003e\n```\n\n", "properties": { "appName": { "type": "string", @@ -210120,7 +214558,7 @@ } }, "alicloud:mhub/product:Product": { - "description": "Provides a MHUB Product resource.\n\nFor information about MHUB Product and how to use it, see [What is Product](https://help.aliyun.com/product/65109.html).\n\n\u003e **NOTE:** Available since v1.138.0+.\n\n\u003e **NOTE:** At present, the resource only supports cn-shanghai region.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.mhub.Product(\"example\", {productName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.mhub.Product(\"example\", product_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Mhub.Product(\"example\", new()\n {\n ProductName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mhub.NewProduct(ctx, \"example\", \u0026mhub.ProductArgs{\n\t\t\tProductName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mhub.Product;\nimport com.pulumi.alicloud.mhub.ProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Product(\"example\", ProductArgs.builder()\n .productName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mhub:Product\n properties:\n productName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMHUB Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mhub/product:Product example \u003cid\u003e\n```\n\n", + "description": "Provides a MHUB Product resource.\n\nFor information about MHUB Product and how to use it, see [What is Product](https://help.aliyun.com/product/65109.html).\n\n\u003e **NOTE:** Available since v1.138.0+.\n\n\u003e **NOTE:** At present, the resource only supports cn-shanghai region.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.mhub.Product(\"example\", {productName: \"example_value\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.mhub.Product(\"example\", product_name=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Mhub.Product(\"example\", new()\n {\n ProductName = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mhub.NewProduct(ctx, \"example\", \u0026mhub.ProductArgs{\n\t\t\tProductName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mhub.Product;\nimport com.pulumi.alicloud.mhub.ProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Product(\"example\", ProductArgs.builder()\n .productName(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mhub:Product\n properties:\n productName: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMHUB Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mhub/product:Product example \u003cid\u003e\n```\n\n", "properties": { "productName": { "type": "string", @@ -210151,7 +214589,7 @@ } }, "alicloud:mns/queue:Queue": { - "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst queue = new alicloud.mns.Queue(\"queue\", {\n name: \"tf-example-mnsqueue\",\n delaySeconds: 0,\n maximumMessageSize: 65536,\n messageRetentionPeriod: 345600,\n visibilityTimeout: 30,\n pollingWaitSeconds: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nqueue = alicloud.mns.Queue(\"queue\",\n name=\"tf-example-mnsqueue\",\n delay_seconds=0,\n maximum_message_size=65536,\n message_retention_period=345600,\n visibility_timeout=30,\n polling_wait_seconds=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new AliCloud.Mns.Queue(\"queue\", new()\n {\n Name = \"tf-example-mnsqueue\",\n DelaySeconds = 0,\n MaximumMessageSize = 65536,\n MessageRetentionPeriod = 345600,\n VisibilityTimeout = 30,\n PollingWaitSeconds = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewQueue(ctx, \"queue\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnsqueue\"),\n\t\t\tDelaySeconds: pulumi.Int(0),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tMessageRetentionPeriod: pulumi.Int(345600),\n\t\t\tVisibilityTimeout: pulumi.Int(30),\n\t\t\tPollingWaitSeconds: 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.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"tf-example-mnsqueue\")\n .delaySeconds(0)\n .maximumMessageSize(65536)\n .messageRetentionPeriod(345600)\n .visibilityTimeout(30)\n .pollingWaitSeconds(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: alicloud:mns:Queue\n properties:\n name: tf-example-mnsqueue\n delaySeconds: 0\n maximumMessageSize: 65536\n messageRetentionPeriod: 345600\n visibilityTimeout: 30\n pollingWaitSeconds: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMNS QUEUE can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:mns/queue:Queue queue queuename\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst queue = new alicloud.mns.Queue(\"queue\", {\n name: \"tf-example-mnsqueue\",\n delaySeconds: 0,\n maximumMessageSize: 65536,\n messageRetentionPeriod: 345600,\n visibilityTimeout: 30,\n pollingWaitSeconds: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nqueue = alicloud.mns.Queue(\"queue\",\n name=\"tf-example-mnsqueue\",\n delay_seconds=0,\n maximum_message_size=65536,\n message_retention_period=345600,\n visibility_timeout=30,\n polling_wait_seconds=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var queue = new AliCloud.Mns.Queue(\"queue\", new()\n {\n Name = \"tf-example-mnsqueue\",\n DelaySeconds = 0,\n MaximumMessageSize = 65536,\n MessageRetentionPeriod = 345600,\n VisibilityTimeout = 30,\n PollingWaitSeconds = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewQueue(ctx, \"queue\", \u0026mns.QueueArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnsqueue\"),\n\t\t\tDelaySeconds: pulumi.Int(0),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tMessageRetentionPeriod: pulumi.Int(345600),\n\t\t\tVisibilityTimeout: pulumi.Int(30),\n\t\t\tPollingWaitSeconds: 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.alicloud.mns.Queue;\nimport com.pulumi.alicloud.mns.QueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var queue = new Queue(\"queue\", QueueArgs.builder()\n .name(\"tf-example-mnsqueue\")\n .delaySeconds(0)\n .maximumMessageSize(65536)\n .messageRetentionPeriod(345600)\n .visibilityTimeout(30)\n .pollingWaitSeconds(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n queue:\n type: alicloud:mns:Queue\n properties:\n name: tf-example-mnsqueue\n delaySeconds: 0\n maximumMessageSize: 65536\n messageRetentionPeriod: 345600\n visibilityTimeout: 30\n pollingWaitSeconds: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMNS QUEUE can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:mns/queue:Queue queue queuename\n```\n\n", "properties": { "delaySeconds": { "type": "integer", @@ -210241,7 +214679,7 @@ } }, "alicloud:mns/topic:Topic": { - "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst topic = new alicloud.mns.Topic(\"topic\", {\n name: \"tf-example-mnstopic\",\n maximumMessageSize: 65536,\n loggingEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ntopic = alicloud.mns.Topic(\"topic\",\n name=\"tf-example-mnstopic\",\n maximum_message_size=65536,\n logging_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = new AliCloud.Mns.Topic(\"topic\", new()\n {\n Name = \"tf-example-mnstopic\",\n MaximumMessageSize = 65536,\n LoggingEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewTopic(ctx, \"topic\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tLoggingEnabled: 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.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.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 topic = new Topic(\"topic\", TopicArgs.builder()\n .name(\"tf-example-mnstopic\")\n .maximumMessageSize(65536)\n .loggingEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topic:\n type: alicloud:mns:Topic\n properties:\n name: tf-example-mnstopic\n maximumMessageSize: 65536\n loggingEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMNS Topic can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:mns/topic:Topic topic topicName\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst topic = new alicloud.mns.Topic(\"topic\", {\n name: \"tf-example-mnstopic\",\n maximumMessageSize: 65536,\n loggingEnabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ntopic = alicloud.mns.Topic(\"topic\",\n name=\"tf-example-mnstopic\",\n maximum_message_size=65536,\n logging_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = new AliCloud.Mns.Topic(\"topic\", new()\n {\n Name = \"tf-example-mnstopic\",\n MaximumMessageSize = 65536,\n LoggingEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewTopic(ctx, \"topic\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tLoggingEnabled: 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.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.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 topic = new Topic(\"topic\", TopicArgs.builder()\n .name(\"tf-example-mnstopic\")\n .maximumMessageSize(65536)\n .loggingEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topic:\n type: alicloud:mns:Topic\n properties:\n name: tf-example-mnstopic\n maximumMessageSize: 65536\n loggingEnabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMNS Topic can be imported using the id or name, e.g.\n\n```sh\n$ pulumi import alicloud:mns/topic:Topic topic topicName\n```\n\n", "properties": { "loggingEnabled": { "type": "boolean", @@ -210295,7 +214733,7 @@ } }, "alicloud:mns/topicSubscription:TopicSubscription": { - "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst topic = new alicloud.mns.Topic(\"topic\", {\n name: \"tf-example-mnstopic\",\n maximumMessageSize: 65536,\n loggingEnabled: false,\n});\nconst subscription = new alicloud.mns.TopicSubscription(\"subscription\", {\n topicName: \"tf-example-mnstopic\",\n name: \"tf-example-mnstopic-sub\",\n filterTag: \"test\",\n endpoint: \"http://www.xxx.com/xxx\",\n notifyStrategy: \"BACKOFF_RETRY\",\n notifyContentFormat: \"XML\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ntopic = alicloud.mns.Topic(\"topic\",\n name=\"tf-example-mnstopic\",\n maximum_message_size=65536,\n logging_enabled=False)\nsubscription = alicloud.mns.TopicSubscription(\"subscription\",\n topic_name=\"tf-example-mnstopic\",\n name=\"tf-example-mnstopic-sub\",\n filter_tag=\"test\",\n endpoint=\"http://www.xxx.com/xxx\",\n notify_strategy=\"BACKOFF_RETRY\",\n notify_content_format=\"XML\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = new AliCloud.Mns.Topic(\"topic\", new()\n {\n Name = \"tf-example-mnstopic\",\n MaximumMessageSize = 65536,\n LoggingEnabled = false,\n });\n\n var subscription = new AliCloud.Mns.TopicSubscription(\"subscription\", new()\n {\n TopicName = \"tf-example-mnstopic\",\n Name = \"tf-example-mnstopic-sub\",\n FilterTag = \"test\",\n Endpoint = \"http://www.xxx.com/xxx\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n NotifyContentFormat = \"XML\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewTopic(ctx, \"topic\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mns.NewTopicSubscription(ctx, \"subscription\", \u0026mns.TopicSubscriptionArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tName: pulumi.String(\"tf-example-mnstopic-sub\"),\n\t\t\tFilterTag: pulumi.String(\"test\"),\n\t\t\tEndpoint: pulumi.String(\"http://www.xxx.com/xxx\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t\tNotifyContentFormat: pulumi.String(\"XML\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.mns.TopicSubscription;\nimport com.pulumi.alicloud.mns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var topic = new Topic(\"topic\", TopicArgs.builder()\n .name(\"tf-example-mnstopic\")\n .maximumMessageSize(65536)\n .loggingEnabled(false)\n .build());\n\n var subscription = new TopicSubscription(\"subscription\", TopicSubscriptionArgs.builder()\n .topicName(\"tf-example-mnstopic\")\n .name(\"tf-example-mnstopic-sub\")\n .filterTag(\"test\")\n .endpoint(\"http://www.xxx.com/xxx\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .notifyContentFormat(\"XML\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topic:\n type: alicloud:mns:Topic\n properties:\n name: tf-example-mnstopic\n maximumMessageSize: 65536\n loggingEnabled: false\n subscription:\n type: alicloud:mns:TopicSubscription\n properties:\n topicName: tf-example-mnstopic\n name: tf-example-mnstopic-sub\n filterTag: test\n endpoint: http://www.xxx.com/xxx\n notifyStrategy: BACKOFF_RETRY\n notifyContentFormat: XML\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMNS Topic subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mns/topicSubscription:TopicSubscription subscription tf-example-mnstopic:tf-example-mnstopic-sub\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst topic = new alicloud.mns.Topic(\"topic\", {\n name: \"tf-example-mnstopic\",\n maximumMessageSize: 65536,\n loggingEnabled: false,\n});\nconst subscription = new alicloud.mns.TopicSubscription(\"subscription\", {\n topicName: \"tf-example-mnstopic\",\n name: \"tf-example-mnstopic-sub\",\n filterTag: \"test\",\n endpoint: \"http://www.xxx.com/xxx\",\n notifyStrategy: \"BACKOFF_RETRY\",\n notifyContentFormat: \"XML\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ntopic = alicloud.mns.Topic(\"topic\",\n name=\"tf-example-mnstopic\",\n maximum_message_size=65536,\n logging_enabled=False)\nsubscription = alicloud.mns.TopicSubscription(\"subscription\",\n topic_name=\"tf-example-mnstopic\",\n name=\"tf-example-mnstopic-sub\",\n filter_tag=\"test\",\n endpoint=\"http://www.xxx.com/xxx\",\n notify_strategy=\"BACKOFF_RETRY\",\n notify_content_format=\"XML\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var topic = new AliCloud.Mns.Topic(\"topic\", new()\n {\n Name = \"tf-example-mnstopic\",\n MaximumMessageSize = 65536,\n LoggingEnabled = false,\n });\n\n var subscription = new AliCloud.Mns.TopicSubscription(\"subscription\", new()\n {\n TopicName = \"tf-example-mnstopic\",\n Name = \"tf-example-mnstopic-sub\",\n FilterTag = \"test\",\n Endpoint = \"http://www.xxx.com/xxx\",\n NotifyStrategy = \"BACKOFF_RETRY\",\n NotifyContentFormat = \"XML\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := mns.NewTopic(ctx, \"topic\", \u0026mns.TopicArgs{\n\t\t\tName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tMaximumMessageSize: pulumi.Int(65536),\n\t\t\tLoggingEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mns.NewTopicSubscription(ctx, \"subscription\", \u0026mns.TopicSubscriptionArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example-mnstopic\"),\n\t\t\tName: pulumi.String(\"tf-example-mnstopic-sub\"),\n\t\t\tFilterTag: pulumi.String(\"test\"),\n\t\t\tEndpoint: pulumi.String(\"http://www.xxx.com/xxx\"),\n\t\t\tNotifyStrategy: pulumi.String(\"BACKOFF_RETRY\"),\n\t\t\tNotifyContentFormat: pulumi.String(\"XML\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mns.Topic;\nimport com.pulumi.alicloud.mns.TopicArgs;\nimport com.pulumi.alicloud.mns.TopicSubscription;\nimport com.pulumi.alicloud.mns.TopicSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var topic = new Topic(\"topic\", TopicArgs.builder()\n .name(\"tf-example-mnstopic\")\n .maximumMessageSize(65536)\n .loggingEnabled(false)\n .build());\n\n var subscription = new TopicSubscription(\"subscription\", TopicSubscriptionArgs.builder()\n .topicName(\"tf-example-mnstopic\")\n .name(\"tf-example-mnstopic-sub\")\n .filterTag(\"test\")\n .endpoint(\"http://www.xxx.com/xxx\")\n .notifyStrategy(\"BACKOFF_RETRY\")\n .notifyContentFormat(\"XML\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n topic:\n type: alicloud:mns:Topic\n properties:\n name: tf-example-mnstopic\n maximumMessageSize: 65536\n loggingEnabled: false\n subscription:\n type: alicloud:mns:TopicSubscription\n properties:\n topicName: tf-example-mnstopic\n name: tf-example-mnstopic-sub\n filterTag: test\n endpoint: http://www.xxx.com/xxx\n notifyStrategy: BACKOFF_RETRY\n notifyContentFormat: XML\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMNS Topic subscription can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mns/topicSubscription:TopicSubscription subscription tf-example-mnstopic:tf-example-mnstopic-sub\n```\n\n", "properties": { "endpoint": { "type": "string", @@ -210561,7 +214999,7 @@ } }, "alicloud:mongodb/globalSecurityIpGroup:GlobalSecurityIpGroup": { - "description": "Provides a Mongodb Global Security IP Group resource.\n\nWhitelist Template Resources.\n\nFor information about Mongodb Global Security IP Group and how to use it, see [What is Global Security IP Group](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateGlobalSecurityIPGroup).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraformexample\";\nconst _default = new alicloud.mongodb.GlobalSecurityIpGroup(\"default\", {\n globalIgName: name,\n globalSecurityIpList: \"192.168.1.1,192.168.1.2,192.168.1.3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraformexample\"\ndefault = alicloud.mongodb.GlobalSecurityIpGroup(\"default\",\n global_ig_name=name,\n global_security_ip_list=\"192.168.1.1,192.168.1.2,192.168.1.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraformexample\";\n var @default = new AliCloud.MongoDB.GlobalSecurityIpGroup(\"default\", new()\n {\n GlobalIgName = name,\n GlobalSecurityIpList = \"192.168.1.1,192.168.1.2,192.168.1.3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraformexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := mongodb.NewGlobalSecurityIpGroup(ctx, \"default\", \u0026mongodb.GlobalSecurityIpGroupArgs{\n\t\t\tGlobalIgName: pulumi.String(name),\n\t\t\tGlobalSecurityIpList: pulumi.String(\"192.168.1.1,192.168.1.2,192.168.1.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.alicloud.mongodb.GlobalSecurityIpGroup;\nimport com.pulumi.alicloud.mongodb.GlobalSecurityIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraformexample\");\n var default_ = new GlobalSecurityIpGroup(\"default\", GlobalSecurityIpGroupArgs.builder()\n .globalIgName(name)\n .globalSecurityIpList(\"192.168.1.1,192.168.1.2,192.168.1.3\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraformexample\nresources:\n default:\n type: alicloud:mongodb:GlobalSecurityIpGroup\n properties:\n globalIgName: ${name}\n globalSecurityIpList: 192.168.1.1,192.168.1.2,192.168.1.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongodb Global Security IP Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/globalSecurityIpGroup:GlobalSecurityIpGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Mongodb Global Security IP Group resource.\n\nWhitelist Template Resources.\n\nFor information about Mongodb Global Security IP Group and how to use it, see [What is Global Security IP Group](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateGlobalSecurityIPGroup).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraformexample\";\nconst _default = new alicloud.mongodb.GlobalSecurityIpGroup(\"default\", {\n globalIgName: name,\n globalSecurityIpList: \"192.168.1.1,192.168.1.2,192.168.1.3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraformexample\"\ndefault = alicloud.mongodb.GlobalSecurityIpGroup(\"default\",\n global_ig_name=name,\n global_security_ip_list=\"192.168.1.1,192.168.1.2,192.168.1.3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraformexample\";\n var @default = new AliCloud.MongoDB.GlobalSecurityIpGroup(\"default\", new()\n {\n GlobalIgName = name,\n GlobalSecurityIpList = \"192.168.1.1,192.168.1.2,192.168.1.3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraformexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := mongodb.NewGlobalSecurityIpGroup(ctx, \"default\", \u0026mongodb.GlobalSecurityIpGroupArgs{\n\t\t\tGlobalIgName: pulumi.String(name),\n\t\t\tGlobalSecurityIpList: pulumi.String(\"192.168.1.1,192.168.1.2,192.168.1.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.alicloud.mongodb.GlobalSecurityIpGroup;\nimport com.pulumi.alicloud.mongodb.GlobalSecurityIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraformexample\");\n var default_ = new GlobalSecurityIpGroup(\"default\", GlobalSecurityIpGroupArgs.builder()\n .globalIgName(name)\n .globalSecurityIpList(\"192.168.1.1,192.168.1.2,192.168.1.3\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraformexample\nresources:\n default:\n type: alicloud:mongodb:GlobalSecurityIpGroup\n properties:\n globalIgName: ${name}\n globalSecurityIpList: 192.168.1.1,192.168.1.2,192.168.1.3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongodb Global Security IP Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/globalSecurityIpGroup:GlobalSecurityIpGroup example \u003cid\u003e\n```\n\n", "properties": { "globalIgName": { "type": "string", @@ -210615,7 +215053,7 @@ } }, "alicloud:mongodb/instance:Instance": { - "description": "Provides a MongoDB instance resource supports replica set instances only. the MongoDB provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/doc-detail/26558.htm)\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network MongoDB instance.\n[`cn-zhangjiakou`,`cn-huhehaote`,`ap-southeast-3`,`ap-southeast-5`,`me-east-1`,`ap-northeast-1`,`eu-west-1`]\n\n\u003e **NOTE:** Create MongoDB instance or change instance type and storage would cost 5~10 minutes. Please make full preparation\n\n## Example Usage\n\n### Create a Mongodb instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.2\",\n dbInstanceClass: \"dds.mongo.mid\",\n dbInstanceStorage: 10,\n vswitchId: defaultSwitch.id,\n securityIpLists: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n name: name,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.2\",\n db_instance_class=\"dds.mongo.mid\",\n db_instance_storage=10,\n vswitch_id=default_switch.id,\n security_ip_lists=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n name=name,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.2\",\n DbInstanceClass = \"dds.mongo.mid\",\n DbInstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n SecurityIpLists = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n Name = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tDbInstanceClass: pulumi.String(\"dds.mongo.mid\"),\n\t\t\tDbInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t\tName: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.2\")\n .dbInstanceClass(\"dds.mongo.mid\")\n .dbInstanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .securityIpLists( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .name(name)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing mongodb module\nto create a MongoDB instance resource one-click.\n\n## Import\n\nMongoDB instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a MongoDB instance resource supports replica set instances only. the MongoDB provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/doc-detail/26558.htm)\n\n\u003e **NOTE:** Available since v1.37.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network MongoDB instance.\n[`cn-zhangjiakou`,`cn-huhehaote`,`ap-southeast-3`,`ap-southeast-5`,`me-east-1`,`ap-northeast-1`,`eu-west-1`]\n\n\u003e **NOTE:** Create MongoDB instance or change instance type and storage would cost 5~10 minutes. Please make full preparation\n\n## Example Usage\n\n### Create a Mongodb instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.2\",\n dbInstanceClass: \"dds.mongo.mid\",\n dbInstanceStorage: 10,\n vswitchId: defaultSwitch.id,\n securityIpLists: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n name: name,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.2\",\n db_instance_class=\"dds.mongo.mid\",\n db_instance_storage=10,\n vswitch_id=default_switch.id,\n security_ip_lists=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n name=name,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.2\",\n DbInstanceClass = \"dds.mongo.mid\",\n DbInstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n SecurityIpLists = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n Name = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tDbInstanceClass: pulumi.String(\"dds.mongo.mid\"),\n\t\t\tDbInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tSecurityIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t\tName: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.2\")\n .dbInstanceClass(\"dds.mongo.mid\")\n .dbInstanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .securityIpLists( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .name(name)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing mongodb module\nto create a MongoDB instance resource one-click.\n\n## Import\n\nMongoDB instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "accountPassword": { "type": "string", @@ -211341,8 +215779,213 @@ "type": "object" } }, + "alicloud:mongodb/node:Node": { + "description": "Provides a Mongodb Node resource.\n\nThe sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes.\n\nFor information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-shanghai-b\";\nconst regionId = config.get(\"regionId\") || \"cn-shanghai\";\nconst ipv4Cidr = config.get(\"ipv4Cidr\") || \"10.0.0.0/24\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n description: \"tf-example\",\n vpcName: \"tf-vpc-shanghai-b\",\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: _default.id,\n zoneId: zoneId,\n cidrBlock: ipv4Cidr,\n vswitchName: \"tf-shanghai-B\",\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n engineVersion: \"4.2\",\n vswitchId: defaultSwitch.id,\n zoneId: zoneId,\n name: name,\n storageType: \"cloud_auto\",\n provisionedIops: 60,\n configServerLists: [{\n nodeClass: \"mdb.shard.2x.xlarge.d\",\n nodeStorage: 40,\n }],\n mongoLists: [\n {\n nodeClass: \"mdb.shard.2x.xlarge.d\",\n },\n {\n nodeClass: \"mdb.shard.2x.xlarge.d\",\n },\n ],\n shardLists: [\n {\n nodeClass: \"mdb.shard.2x.xlarge.d\",\n nodeStorage: 40,\n },\n {\n nodeClass: \"mdb.shard.2x.xlarge.d\",\n nodeStorage: 40,\n },\n ],\n});\nconst defaultNode = new alicloud.mongodb.Node(\"default\", {\n accountPassword: \"q1w2e3r4!\",\n autoPay: true,\n nodeClass: \"mdb.shard.4x.large.d\",\n shardDirect: false,\n businessInfo: \"1234\",\n nodeStorage: 40,\n readonlyReplicas: 0,\n dbInstanceId: defaultShardingInstance.id,\n nodeType: \"shard\",\n accountName: \"root\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-shanghai-b\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-shanghai\"\nipv4_cidr = config.get(\"ipv4Cidr\")\nif ipv4_cidr is None:\n ipv4_cidr = \"10.0.0.0/24\"\ndefault = alicloud.vpc.Network(\"default\",\n description=\"tf-example\",\n vpc_name=\"tf-vpc-shanghai-b\",\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default.id,\n zone_id=zone_id,\n cidr_block=ipv4_cidr,\n vswitch_name=\"tf-shanghai-B\")\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n engine_version=\"4.2\",\n vswitch_id=default_switch.id,\n zone_id=zone_id,\n name=name,\n storage_type=\"cloud_auto\",\n provisioned_iops=60,\n config_server_lists=[{\n \"node_class\": \"mdb.shard.2x.xlarge.d\",\n \"node_storage\": 40,\n }],\n mongo_lists=[\n {\n \"node_class\": \"mdb.shard.2x.xlarge.d\",\n },\n {\n \"node_class\": \"mdb.shard.2x.xlarge.d\",\n },\n ],\n shard_lists=[\n {\n \"node_class\": \"mdb.shard.2x.xlarge.d\",\n \"node_storage\": 40,\n },\n {\n \"node_class\": \"mdb.shard.2x.xlarge.d\",\n \"node_storage\": 40,\n },\n ])\ndefault_node = alicloud.mongodb.Node(\"default\",\n account_password=\"q1w2e3r4!\",\n auto_pay=True,\n node_class=\"mdb.shard.4x.large.d\",\n shard_direct=False,\n business_info=\"1234\",\n node_storage=40,\n readonly_replicas=0,\n db_instance_id=default_sharding_instance.id,\n node_type=\"shard\",\n account_name=\"root\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-shanghai-b\";\n var regionId = config.Get(\"regionId\") ?? \"cn-shanghai\";\n var ipv4Cidr = config.Get(\"ipv4Cidr\") ?? \"10.0.0.0/24\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n Description = \"tf-example\",\n VpcName = \"tf-vpc-shanghai-b\",\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = @default.Id,\n ZoneId = zoneId,\n CidrBlock = ipv4Cidr,\n VswitchName = \"tf-shanghai-B\",\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n EngineVersion = \"4.2\",\n VswitchId = defaultSwitch.Id,\n ZoneId = zoneId,\n Name = name,\n StorageType = \"cloud_auto\",\n ProvisionedIops = 60,\n ConfigServerLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceConfigServerListArgs\n {\n NodeClass = \"mdb.shard.2x.xlarge.d\",\n NodeStorage = 40,\n },\n },\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"mdb.shard.2x.xlarge.d\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"mdb.shard.2x.xlarge.d\",\n },\n },\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"mdb.shard.2x.xlarge.d\",\n NodeStorage = 40,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"mdb.shard.2x.xlarge.d\",\n NodeStorage = 40,\n },\n },\n });\n\n var defaultNode = new AliCloud.MongoDB.Node(\"default\", new()\n {\n AccountPassword = \"q1w2e3r4!\",\n AutoPay = true,\n NodeClass = \"mdb.shard.4x.large.d\",\n ShardDirect = false,\n BusinessInfo = \"1234\",\n NodeStorage = 40,\n ReadonlyReplicas = 0,\n DbInstanceId = defaultShardingInstance.Id,\n NodeType = \"shard\",\n AccountName = \"root\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId := \"cn-shanghai-b\"\n\t\tif param := cfg.Get(\"zoneId\"); param != \"\" {\n\t\t\tzoneId = param\n\t\t}\n\t\tregionId := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tipv4Cidr := \"10.0.0.0/24\"\n\t\tif param := cfg.Get(\"ipv4Cidr\"); param != \"\" {\n\t\t\tipv4Cidr = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t\tVpcName: pulumi.String(\"tf-vpc-shanghai-b\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(ipv4Cidr),\n\t\t\tVswitchName: pulumi.String(\"tf-shanghai-B\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultShardingInstance, err := mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tName: pulumi.String(name),\n\t\t\tStorageType: pulumi.String(\"cloud_auto\"),\n\t\t\tProvisionedIops: pulumi.Int(60),\n\t\t\tConfigServerLists: mongodb.ShardingInstanceConfigServerListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceConfigServerListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"mdb.shard.2x.xlarge.d\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(40),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"mdb.shard.2x.xlarge.d\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"mdb.shard.2x.xlarge.d\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"mdb.shard.2x.xlarge.d\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(40),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"mdb.shard.2x.xlarge.d\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(40),\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 = mongodb.NewNode(ctx, \"default\", \u0026mongodb.NodeArgs{\n\t\t\tAccountPassword: pulumi.String(\"q1w2e3r4!\"),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tNodeClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tShardDirect: pulumi.Bool(false),\n\t\t\tBusinessInfo: pulumi.String(\"1234\"),\n\t\t\tNodeStorage: pulumi.Int(40),\n\t\t\tReadonlyReplicas: pulumi.Int(0),\n\t\t\tDbInstanceId: defaultShardingInstance.ID(),\n\t\t\tNodeType: pulumi.String(\"shard\"),\n\t\t\tAccountName: 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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceConfigServerListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport com.pulumi.alicloud.mongodb.Node;\nimport com.pulumi.alicloud.mongodb.NodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-shanghai-b\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-shanghai\");\n final var ipv4Cidr = config.get(\"ipv4Cidr\").orElse(\"10.0.0.0/24\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .description(\"tf-example\")\n .vpcName(\"tf-vpc-shanghai-b\")\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(default_.id())\n .zoneId(zoneId)\n .cidrBlock(ipv4Cidr)\n .vswitchName(\"tf-shanghai-B\")\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .engineVersion(\"4.2\")\n .vswitchId(defaultSwitch.id())\n .zoneId(zoneId)\n .name(name)\n .storageType(\"cloud_auto\")\n .provisionedIops(60)\n .configServerLists(ShardingInstanceConfigServerListArgs.builder()\n .nodeClass(\"mdb.shard.2x.xlarge.d\")\n .nodeStorage(40)\n .build())\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"mdb.shard.2x.xlarge.d\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"mdb.shard.2x.xlarge.d\")\n .build())\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"mdb.shard.2x.xlarge.d\")\n .nodeStorage(40)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"mdb.shard.2x.xlarge.d\")\n .nodeStorage(40)\n .build())\n .build());\n\n var defaultNode = new Node(\"defaultNode\", NodeArgs.builder()\n .accountPassword(\"q1w2e3r4!\")\n .autoPay(true)\n .nodeClass(\"mdb.shard.4x.large.d\")\n .shardDirect(false)\n .businessInfo(\"1234\")\n .nodeStorage(40)\n .readonlyReplicas(0)\n .dbInstanceId(defaultShardingInstance.id())\n .nodeType(\"shard\")\n .accountName(\"root\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId:\n type: string\n default: cn-shanghai-b\n regionId:\n type: string\n default: cn-shanghai\n ipv4Cidr:\n type: string\n default: 10.0.0.0/24\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n description: tf-example\n vpcName: tf-vpc-shanghai-b\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${default.id}\n zoneId: ${zoneId}\n cidrBlock: ${ipv4Cidr}\n vswitchName: tf-shanghai-B\n defaultShardingInstance:\n type: alicloud:mongodb:ShardingInstance\n name: default\n properties:\n engineVersion: '4.2'\n vswitchId: ${defaultSwitch.id}\n zoneId: ${zoneId}\n name: ${name}\n storageType: cloud_auto\n provisionedIops: 60\n configServerLists:\n - nodeClass: mdb.shard.2x.xlarge.d\n nodeStorage: 40\n mongoLists:\n - nodeClass: mdb.shard.2x.xlarge.d\n - nodeClass: mdb.shard.2x.xlarge.d\n shardLists:\n - nodeClass: mdb.shard.2x.xlarge.d\n nodeStorage: 40\n - nodeClass: mdb.shard.2x.xlarge.d\n nodeStorage: 40\n defaultNode:\n type: alicloud:mongodb:Node\n name: default\n properties:\n accountPassword: q1w2e3r4!\n autoPay: 'true'\n nodeClass: mdb.shard.4x.large.d\n shardDirect: 'false'\n businessInfo: '1234'\n nodeStorage: '40'\n readonlyReplicas: '0'\n dbInstanceId: ${defaultShardingInstance.id}\n nodeType: shard\n accountName: root\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongodb Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/node:Node example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", + "properties": { + "accountName": { + "type": "string", + "description": "Account name, value description:\n- Begins with a lowercase letter.\n- Consists of lowercase letters, numbers, or underscores (_).\n- 4~16 characters in length.\n\n\u003e **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts.\n- The permissions of the account are fixed to read-only permissions.\n- When applying for a direct connection address of a Shard node for the first time, you need to set an account and password.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "accountPassword": { + "type": "string", + "description": "Account password, value description:\n- Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters.\n- Oh-! @#$%^\u0026 *()_+-= is a special character.\n- Length is 8~32 characters.\n\n\u003e **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "autoPay": { + "type": "boolean", + "description": "Whether to pay automatically. Value description:\n" + }, + "businessInfo": { + "type": "string", + "description": "Additional parameters, business information.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "dbInstanceId": { + "type": "string", + "description": "The ID of the sharded cluster instance.\n" + }, + "effectiveTime": { + "type": "string" + }, + "fromApp": { + "type": "string", + "description": "Request Source, value description:\n- `OpenApi`: The request source is OpenApi.\n" + }, + "nodeClass": { + "type": "string", + "description": "The specifications of the Shard node or Mongos node. For more information, see Instance Specifications.\n" + }, + "nodeId": { + "type": "string", + "description": "The first ID of the resource\n" + }, + "nodeStorage": { + "type": "integer", + "description": "The disk space of the Node. Unit: GB.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, with a step size of 10GB.\n\n\u003e **NOTE:** When the node type is `Shard`, you need to configure this parameter.\n" + }, + "nodeType": { + "type": "string", + "description": "Node type, value description:\n" + }, + "orderType": { + "type": "string" + }, + "readonlyReplicas": { + "type": "integer", + "description": "The number of read-only nodes in the Shard.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (integer). Default value: **0 * *.\n\n\u003e **NOTE:** This parameter is currently only supported by China Station.\n" + }, + "shardDirect": { + "type": "boolean", + "description": "Whether to apply for the direct connection address of the Shard node. Value description:\n" + }, + "status": { + "type": "string", + "description": "Running status of node in sharded cluster\n" + }, + "switchTime": { + "type": "string" + } + }, + "required": [ + "dbInstanceId", + "nodeClass", + "nodeId", + "nodeType", + "readonlyReplicas", + "status" + ], + "inputProperties": { + "accountName": { + "type": "string", + "description": "Account name, value description:\n- Begins with a lowercase letter.\n- Consists of lowercase letters, numbers, or underscores (_).\n- 4~16 characters in length.\n\n\u003e **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts.\n- The permissions of the account are fixed to read-only permissions.\n- When applying for a direct connection address of a Shard node for the first time, you need to set an account and password.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "accountPassword": { + "type": "string", + "description": "Account password, value description:\n- Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters.\n- Oh-! @#$%^\u0026 *()_+-= is a special character.\n- Length is 8~32 characters.\n\n\u003e **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "autoPay": { + "type": "boolean", + "description": "Whether to pay automatically. Value description:\n" + }, + "businessInfo": { + "type": "string", + "description": "Additional parameters, business information.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "dbInstanceId": { + "type": "string", + "description": "The ID of the sharded cluster instance.\n", + "willReplaceOnChanges": true + }, + "effectiveTime": { + "type": "string" + }, + "fromApp": { + "type": "string", + "description": "Request Source, value description:\n- `OpenApi`: The request source is OpenApi.\n" + }, + "nodeClass": { + "type": "string", + "description": "The specifications of the Shard node or Mongos node. For more information, see Instance Specifications.\n" + }, + "nodeStorage": { + "type": "integer", + "description": "The disk space of the Node. Unit: GB.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, with a step size of 10GB.\n\n\u003e **NOTE:** When the node type is `Shard`, you need to configure this parameter.\n" + }, + "nodeType": { + "type": "string", + "description": "Node type, value description:\n", + "willReplaceOnChanges": true + }, + "orderType": { + "type": "string" + }, + "readonlyReplicas": { + "type": "integer", + "description": "The number of read-only nodes in the Shard.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (integer). Default value: **0 * *.\n\n\u003e **NOTE:** This parameter is currently only supported by China Station.\n" + }, + "shardDirect": { + "type": "boolean", + "description": "Whether to apply for the direct connection address of the Shard node. Value description:\n" + }, + "switchTime": { + "type": "string" + } + }, + "requiredInputs": [ + "dbInstanceId", + "nodeClass", + "nodeType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Node resources.\n", + "properties": { + "accountName": { + "type": "string", + "description": "Account name, value description:\n- Begins with a lowercase letter.\n- Consists of lowercase letters, numbers, or underscores (_).\n- 4~16 characters in length.\n\n\u003e **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts.\n- The permissions of the account are fixed to read-only permissions.\n- When applying for a direct connection address of a Shard node for the first time, you need to set an account and password.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "accountPassword": { + "type": "string", + "description": "Account password, value description:\n- Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters.\n- Oh-! @#$%^\u0026 *()_+-= is a special character.\n- Length is 8~32 characters.\n\n\u003e **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "autoPay": { + "type": "boolean", + "description": "Whether to pay automatically. Value description:\n" + }, + "businessInfo": { + "type": "string", + "description": "Additional parameters, business information.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "dbInstanceId": { + "type": "string", + "description": "The ID of the sharded cluster instance.\n", + "willReplaceOnChanges": true + }, + "effectiveTime": { + "type": "string" + }, + "fromApp": { + "type": "string", + "description": "Request Source, value description:\n- `OpenApi`: The request source is OpenApi.\n" + }, + "nodeClass": { + "type": "string", + "description": "The specifications of the Shard node or Mongos node. For more information, see Instance Specifications.\n" + }, + "nodeId": { + "type": "string", + "description": "The first ID of the resource\n" + }, + "nodeStorage": { + "type": "integer", + "description": "The disk space of the Node. Unit: GB.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e, with a step size of 10GB.\n\n\u003e **NOTE:** When the node type is `Shard`, you need to configure this parameter.\n" + }, + "nodeType": { + "type": "string", + "description": "Node type, value description:\n", + "willReplaceOnChanges": true + }, + "orderType": { + "type": "string" + }, + "readonlyReplicas": { + "type": "integer", + "description": "The number of read-only nodes in the Shard.\n\nValue range: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e (integer). Default value: **0 * *.\n\n\u003e **NOTE:** This parameter is currently only supported by China Station.\n" + }, + "shardDirect": { + "type": "boolean", + "description": "Whether to apply for the direct connection address of the Shard node. Value description:\n" + }, + "status": { + "type": "string", + "description": "Running status of node in sharded cluster\n" + }, + "switchTime": { + "type": "string" + } + }, + "type": "object" + } + }, "alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress": { - "description": "Provides a Mongodb Private Srv Network Address resource.\n\nPrivate network SRV highly available link address.\n\nFor information about Mongodb Private Srv Network Address and how to use it, see [What is Private Srv Network Address](https://next.api.alibabacloud.com/document/Dds/2015-12-01/AllocateDBInstanceSrvNetworkAddress).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-shanghai-b\";\nconst regionId = config.get(\"regionId\") || \"cn-shanghai\";\nconst defaultie35CW = new alicloud.vpc.Network(\"defaultie35CW\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultg0DCAR = new alicloud.vpc.Switch(\"defaultg0DCAR\", {\n vpcId: defaultie35CW.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultHrZmxC = new alicloud.mongodb.Instance(\"defaultHrZmxC\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultg0DCAR.id,\n dbInstanceStorage: 20,\n vpcId: defaultie35CW.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst _default = new alicloud.mongodb.PrivateSrvNetworkAddress(\"default\", {dbInstanceId: defaultHrZmxC.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-shanghai-b\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-shanghai\"\ndefaultie35_cw = alicloud.vpc.Network(\"defaultie35CW\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefaultg0_dcar = alicloud.vpc.Switch(\"defaultg0DCAR\",\n vpc_id=defaultie35_cw.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_hr_zmx_c = alicloud.mongodb.Instance(\"defaultHrZmxC\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=defaultg0_dcar.id,\n db_instance_storage=20,\n vpc_id=defaultie35_cw.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault = alicloud.mongodb.PrivateSrvNetworkAddress(\"default\", db_instance_id=default_hr_zmx_c.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-shanghai-b\";\n var regionId = config.Get(\"regionId\") ?? \"cn-shanghai\";\n var defaultie35CW = new AliCloud.Vpc.Network(\"defaultie35CW\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultg0DCAR = new AliCloud.Vpc.Switch(\"defaultg0DCAR\", new()\n {\n VpcId = defaultie35CW.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultHrZmxC = new AliCloud.MongoDB.Instance(\"defaultHrZmxC\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultg0DCAR.Id,\n DbInstanceStorage = 20,\n VpcId = defaultie35CW.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var @default = new AliCloud.MongoDB.PrivateSrvNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultHrZmxC.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId := \"cn-shanghai-b\"\n\t\tif param := cfg.Get(\"zoneId\"); param != \"\" {\n\t\t\tzoneId = param\n\t\t}\n\t\tregionId := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultie35CW, err := vpc.NewNetwork(ctx, \"defaultie35CW\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultg0DCAR, err := vpc.NewSwitch(ctx, \"defaultg0DCAR\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultie35CW.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHrZmxC, err := mongodb.NewInstance(ctx, \"defaultHrZmxC\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultg0DCAR.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultie35CW.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewPrivateSrvNetworkAddress(ctx, \"default\", \u0026mongodb.PrivateSrvNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultHrZmxC.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PrivateSrvNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PrivateSrvNetworkAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-shanghai-b\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-shanghai\");\n var defaultie35CW = new Network(\"defaultie35CW\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultg0DCAR = new Switch(\"defaultg0DCAR\", SwitchArgs.builder()\n .vpcId(defaultie35CW.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultHrZmxC = new Instance(\"defaultHrZmxC\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultg0DCAR.id())\n .dbInstanceStorage(20)\n .vpcId(defaultie35CW.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var default_ = new PrivateSrvNetworkAddress(\"default\", PrivateSrvNetworkAddressArgs.builder()\n .dbInstanceId(defaultHrZmxC.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId:\n type: string\n default: cn-shanghai-b\n regionId:\n type: string\n default: cn-shanghai\nresources:\n defaultie35CW:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n defaultg0DCAR:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultie35CW.id}\n zoneId: ${zoneId}\n cidrBlock: 10.0.0.0/24\n defaultHrZmxC:\n type: alicloud:mongodb:Instance\n properties:\n engineVersion: '4.4'\n storageType: cloud_essd1\n vswitchId: ${defaultg0DCAR.id}\n dbInstanceStorage: '20'\n vpcId: ${defaultie35CW.id}\n dbInstanceClass: mdb.shard.4x.large.d\n storageEngine: WiredTiger\n networkType: VPC\n zoneId: ${zoneId}\n default:\n type: alicloud:mongodb:PrivateSrvNetworkAddress\n properties:\n dbInstanceId: ${defaultHrZmxC.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongodb Private Srv Network Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress example \u003cid\u003e\n```\n\n", + "description": "Provides a Mongodb Private Srv Network Address resource.\n\nPrivate network SRV highly available link address.\n\nFor information about Mongodb Private Srv Network Address and how to use it, see [What is Private Srv Network Address](https://next.api.alibabacloud.com/document/Dds/2015-12-01/AllocateDBInstanceSrvNetworkAddress).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-shanghai-b\";\nconst regionId = config.get(\"regionId\") || \"cn-shanghai\";\nconst defaultie35CW = new alicloud.vpc.Network(\"defaultie35CW\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultg0DCAR = new alicloud.vpc.Switch(\"defaultg0DCAR\", {\n vpcId: defaultie35CW.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultHrZmxC = new alicloud.mongodb.Instance(\"defaultHrZmxC\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultg0DCAR.id,\n dbInstanceStorage: 20,\n vpcId: defaultie35CW.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst _default = new alicloud.mongodb.PrivateSrvNetworkAddress(\"default\", {dbInstanceId: defaultHrZmxC.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-shanghai-b\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-shanghai\"\ndefaultie35_cw = alicloud.vpc.Network(\"defaultie35CW\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefaultg0_dcar = alicloud.vpc.Switch(\"defaultg0DCAR\",\n vpc_id=defaultie35_cw.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_hr_zmx_c = alicloud.mongodb.Instance(\"defaultHrZmxC\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=defaultg0_dcar.id,\n db_instance_storage=20,\n vpc_id=defaultie35_cw.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault = alicloud.mongodb.PrivateSrvNetworkAddress(\"default\", db_instance_id=default_hr_zmx_c.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-shanghai-b\";\n var regionId = config.Get(\"regionId\") ?? \"cn-shanghai\";\n var defaultie35CW = new AliCloud.Vpc.Network(\"defaultie35CW\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultg0DCAR = new AliCloud.Vpc.Switch(\"defaultg0DCAR\", new()\n {\n VpcId = defaultie35CW.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultHrZmxC = new AliCloud.MongoDB.Instance(\"defaultHrZmxC\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultg0DCAR.Id,\n DbInstanceStorage = 20,\n VpcId = defaultie35CW.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var @default = new AliCloud.MongoDB.PrivateSrvNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultHrZmxC.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzoneId := \"cn-shanghai-b\"\n\t\tif param := cfg.Get(\"zoneId\"); param != \"\" {\n\t\t\tzoneId = param\n\t\t}\n\t\tregionId := \"cn-shanghai\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultie35CW, err := vpc.NewNetwork(ctx, \"defaultie35CW\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultg0DCAR, err := vpc.NewSwitch(ctx, \"defaultg0DCAR\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultie35CW.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHrZmxC, err := mongodb.NewInstance(ctx, \"defaultHrZmxC\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultg0DCAR.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultie35CW.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewPrivateSrvNetworkAddress(ctx, \"default\", \u0026mongodb.PrivateSrvNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultHrZmxC.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PrivateSrvNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PrivateSrvNetworkAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-shanghai-b\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-shanghai\");\n var defaultie35CW = new Network(\"defaultie35CW\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultg0DCAR = new Switch(\"defaultg0DCAR\", SwitchArgs.builder()\n .vpcId(defaultie35CW.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultHrZmxC = new Instance(\"defaultHrZmxC\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultg0DCAR.id())\n .dbInstanceStorage(20)\n .vpcId(defaultie35CW.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var default_ = new PrivateSrvNetworkAddress(\"default\", PrivateSrvNetworkAddressArgs.builder()\n .dbInstanceId(defaultHrZmxC.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n zoneId:\n type: string\n default: cn-shanghai-b\n regionId:\n type: string\n default: cn-shanghai\nresources:\n defaultie35CW:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n defaultg0DCAR:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultie35CW.id}\n zoneId: ${zoneId}\n cidrBlock: 10.0.0.0/24\n defaultHrZmxC:\n type: alicloud:mongodb:Instance\n properties:\n engineVersion: '4.4'\n storageType: cloud_essd1\n vswitchId: ${defaultg0DCAR.id}\n dbInstanceStorage: '20'\n vpcId: ${defaultie35CW.id}\n dbInstanceClass: mdb.shard.4x.large.d\n storageEngine: WiredTiger\n networkType: VPC\n zoneId: ${zoneId}\n default:\n type: alicloud:mongodb:PrivateSrvNetworkAddress\n properties:\n dbInstanceId: ${defaultHrZmxC.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongodb Private Srv Network Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress example \u003cid\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -211384,7 +216027,7 @@ } }, "alicloud:mongodb/publicNetworkAddress:PublicNetworkAddress": { - "description": "Provides an Alicloud MongoDB public network address resource.\n\nFor information about MongoDB public network address and how to use it, see [Allocate Public Network Address for MongoDB](https://www.alibabacloud.com/help/en/mongodb/getting-started/apply-for-a-public-endpoint-for-an-apsaradb-for-mongodb-instance-optional).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultSwitch.id,\n dbInstanceStorage: 20,\n vpcId: defaultNetwork.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst defaultPublicNetworkAddress = new alicloud.mongodb.PublicNetworkAddress(\"default\", {dbInstanceId: defaultInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=default_switch.id,\n db_instance_storage=20,\n vpc_id=default_network.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault_public_network_address = alicloud.mongodb.PublicNetworkAddress(\"default\", db_instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultSwitch.Id,\n DbInstanceStorage = 20,\n VpcId = defaultNetwork.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var defaultPublicNetworkAddress = new AliCloud.MongoDB.PublicNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewPublicNetworkAddress(ctx, \"default\", \u0026mongodb.PublicNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorage(20)\n .vpcId(defaultNetwork.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var defaultPublicNetworkAddress = new PublicNetworkAddress(\"defaultPublicNetworkAddress\", PublicNetworkAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongoDB public network address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/publicNetworkAddress:PublicNetworkAddress example \u003cid\u003e\n```\n\n", + "description": "Provides an Alicloud MongoDB public network address resource.\n\nFor information about MongoDB public network address and how to use it, see [Allocate Public Network Address for MongoDB](https://www.alibabacloud.com/help/en/mongodb/getting-started/apply-for-a-public-endpoint-for-an-apsaradb-for-mongodb-instance-optional).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultSwitch.id,\n dbInstanceStorage: 20,\n vpcId: defaultNetwork.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst defaultPublicNetworkAddress = new alicloud.mongodb.PublicNetworkAddress(\"default\", {dbInstanceId: defaultInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=default_switch.id,\n db_instance_storage=20,\n vpc_id=default_network.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault_public_network_address = alicloud.mongodb.PublicNetworkAddress(\"default\", db_instance_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultSwitch.Id,\n DbInstanceStorage = 20,\n VpcId = defaultNetwork.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var defaultPublicNetworkAddress = new AliCloud.MongoDB.PublicNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewPublicNetworkAddress(ctx, \"default\", \u0026mongodb.PublicNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorage(20)\n .vpcId(defaultNetwork.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var defaultPublicNetworkAddress = new PublicNetworkAddress(\"defaultPublicNetworkAddress\", PublicNetworkAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongoDB public network address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/publicNetworkAddress:PublicNetworkAddress example \u003cid\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -211432,7 +216075,7 @@ } }, "alicloud:mongodb/replicaSetRole:ReplicaSetRole": { - "description": "Provides an Alicloud MongoDB replica set role resource to modify the connection string of the replica set.\n\nFor information about how to modify connection string of MongoDB, see [Modify Connection String](https://alibabacloud.com/help/en/mongodb/user-guide/change-the-endpoint-and-port-of-an-instance).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultSwitch.id,\n dbInstanceStorage: 20,\n vpcId: defaultNetwork.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst defaultPublicNetworkAddress = new alicloud.mongodb.PublicNetworkAddress(\"default\", {dbInstanceId: defaultInstance.id});\n// modify private network address.\nconst _private = new alicloud.mongodb.ReplicaSetRole(\"private\", {\n dbInstanceId: defaultInstance.id,\n roleId: defaultInstance.replicaSets.apply(replicaSets =\u003e replicaSets[0].roleId),\n connectionPrefix: \"test-tf-private-change\",\n connectionPort: 3718,\n networkType: \"VPC\",\n});\n// modify public network address.\nconst _public = new alicloud.mongodb.ReplicaSetRole(\"public\", {\n dbInstanceId: defaultInstance.id,\n roleId: defaultPublicNetworkAddress.replicaSets.apply(replicaSets =\u003e replicaSets[0].roleId),\n connectionPrefix: \"test-tf-public-0\",\n connectionPort: 3719,\n networkType: \"Public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=default_switch.id,\n db_instance_storage=20,\n vpc_id=default_network.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault_public_network_address = alicloud.mongodb.PublicNetworkAddress(\"default\", db_instance_id=default_instance.id)\n# modify private network address.\nprivate = alicloud.mongodb.ReplicaSetRole(\"private\",\n db_instance_id=default_instance.id,\n role_id=default_instance.replica_sets[0].role_id,\n connection_prefix=\"test-tf-private-change\",\n connection_port=3718,\n network_type=\"VPC\")\n# modify public network address.\npublic = alicloud.mongodb.ReplicaSetRole(\"public\",\n db_instance_id=default_instance.id,\n role_id=default_public_network_address.replica_sets[0].role_id,\n connection_prefix=\"test-tf-public-0\",\n connection_port=3719,\n network_type=\"Public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultSwitch.Id,\n DbInstanceStorage = 20,\n VpcId = defaultNetwork.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var defaultPublicNetworkAddress = new AliCloud.MongoDB.PublicNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n });\n\n // modify private network address.\n var @private = new AliCloud.MongoDB.ReplicaSetRole(\"private\", new()\n {\n DbInstanceId = defaultInstance.Id,\n RoleId = defaultInstance.ReplicaSets.Apply(replicaSets =\u003e replicaSets[0].RoleId),\n ConnectionPrefix = \"test-tf-private-change\",\n ConnectionPort = 3718,\n NetworkType = \"VPC\",\n });\n\n // modify public network address.\n var @public = new AliCloud.MongoDB.ReplicaSetRole(\"public\", new()\n {\n DbInstanceId = defaultInstance.Id,\n RoleId = defaultPublicNetworkAddress.ReplicaSets.Apply(replicaSets =\u003e replicaSets[0].RoleId),\n ConnectionPrefix = \"test-tf-public-0\",\n ConnectionPort = 3719,\n NetworkType = \"Public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPublicNetworkAddress, err := mongodb.NewPublicNetworkAddress(ctx, \"default\", \u0026mongodb.PublicNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// modify private network address.\n\t\t_, err = mongodb.NewReplicaSetRole(ctx, \"private\", \u0026mongodb.ReplicaSetRoleArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tRoleId: pulumi.String(defaultInstance.ReplicaSets.ApplyT(func(replicaSets []mongodb.InstanceReplicaSet) (*string, error) {\n\t\t\t\treturn \u0026replicaSets[0].RoleId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"test-tf-private-change\"),\n\t\t\tConnectionPort: pulumi.Int(3718),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// modify public network address.\n\t\t_, err = mongodb.NewReplicaSetRole(ctx, \"public\", \u0026mongodb.ReplicaSetRoleArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tRoleId: pulumi.String(defaultPublicNetworkAddress.ReplicaSets.ApplyT(func(replicaSets []mongodb.PublicNetworkAddressReplicaSet) (*string, error) {\n\t\t\t\treturn \u0026replicaSets[0].RoleId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"test-tf-public-0\"),\n\t\t\tConnectionPort: pulumi.Int(3719),\n\t\t\tNetworkType: pulumi.String(\"Public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddressArgs;\nimport com.pulumi.alicloud.mongodb.ReplicaSetRole;\nimport com.pulumi.alicloud.mongodb.ReplicaSetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorage(20)\n .vpcId(defaultNetwork.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var defaultPublicNetworkAddress = new PublicNetworkAddress(\"defaultPublicNetworkAddress\", PublicNetworkAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .build());\n\n // modify private network address.\n var private_ = new ReplicaSetRole(\"private\", ReplicaSetRoleArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .roleId(defaultInstance.replicaSets().applyValue(_replicaSets -\u003e _replicaSets[0].roleId()))\n .connectionPrefix(\"test-tf-private-change\")\n .connectionPort(3718)\n .networkType(\"VPC\")\n .build());\n\n // modify public network address.\n var public_ = new ReplicaSetRole(\"public\", ReplicaSetRoleArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .roleId(defaultPublicNetworkAddress.replicaSets().applyValue(_replicaSets -\u003e _replicaSets[0].roleId()))\n .connectionPrefix(\"test-tf-public-0\")\n .connectionPort(3719)\n .networkType(\"Public\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `\u003cdb_instance_id\u003e:\u003cnetwork_type\u003e:\u003crole_id\u003e`.\n\n```sh\n$ pulumi import alicloud:mongodb/replicaSetRole:ReplicaSetRole example \u003cid\u003e\n```\n\n", + "description": "Provides an Alicloud MongoDB replica set role resource to modify the connection string of the replica set.\n\nFor information about how to modify connection string of MongoDB, see [Modify Connection String](https://alibabacloud.com/help/en/mongodb/user-guide/change-the-endpoint-and-port-of-an-instance).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n cidrBlock: \"10.0.0.0/24\",\n});\nconst defaultInstance = new alicloud.mongodb.Instance(\"default\", {\n engineVersion: \"4.4\",\n storageType: \"cloud_essd1\",\n vswitchId: defaultSwitch.id,\n dbInstanceStorage: 20,\n vpcId: defaultNetwork.id,\n dbInstanceClass: \"mdb.shard.4x.large.d\",\n storageEngine: \"WiredTiger\",\n networkType: \"VPC\",\n zoneId: zoneId,\n});\nconst defaultPublicNetworkAddress = new alicloud.mongodb.PublicNetworkAddress(\"default\", {dbInstanceId: defaultInstance.id});\n// modify private network address.\nconst _private = new alicloud.mongodb.ReplicaSetRole(\"private\", {\n dbInstanceId: defaultInstance.id,\n roleId: defaultInstance.replicaSets.apply(replicaSets =\u003e replicaSets[0].roleId),\n connectionPrefix: \"test-tf-private-change\",\n connectionPort: 3718,\n networkType: \"VPC\",\n});\n// modify public network address.\nconst _public = new alicloud.mongodb.ReplicaSetRole(\"public\", {\n dbInstanceId: defaultInstance.id,\n roleId: defaultPublicNetworkAddress.replicaSets.apply(replicaSets =\u003e replicaSets[0].roleId),\n connectionPrefix: \"test-tf-public-0\",\n connectionPort: 3719,\n networkType: \"Public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n zone_id=zone_id,\n cidr_block=\"10.0.0.0/24\")\ndefault_instance = alicloud.mongodb.Instance(\"default\",\n engine_version=\"4.4\",\n storage_type=\"cloud_essd1\",\n vswitch_id=default_switch.id,\n db_instance_storage=20,\n vpc_id=default_network.id,\n db_instance_class=\"mdb.shard.4x.large.d\",\n storage_engine=\"WiredTiger\",\n network_type=\"VPC\",\n zone_id=zone_id)\ndefault_public_network_address = alicloud.mongodb.PublicNetworkAddress(\"default\", db_instance_id=default_instance.id)\n# modify private network address.\nprivate = alicloud.mongodb.ReplicaSetRole(\"private\",\n db_instance_id=default_instance.id,\n role_id=default_instance.replica_sets[0].role_id,\n connection_prefix=\"test-tf-private-change\",\n connection_port=3718,\n network_type=\"VPC\")\n# modify public network address.\npublic = alicloud.mongodb.ReplicaSetRole(\"public\",\n db_instance_id=default_instance.id,\n role_id=default_public_network_address.replica_sets[0].role_id,\n connection_prefix=\"test-tf-public-0\",\n connection_port=3719,\n network_type=\"Public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n CidrBlock = \"10.0.0.0/24\",\n });\n\n var defaultInstance = new AliCloud.MongoDB.Instance(\"default\", new()\n {\n EngineVersion = \"4.4\",\n StorageType = \"cloud_essd1\",\n VswitchId = defaultSwitch.Id,\n DbInstanceStorage = 20,\n VpcId = defaultNetwork.Id,\n DbInstanceClass = \"mdb.shard.4x.large.d\",\n StorageEngine = \"WiredTiger\",\n NetworkType = \"VPC\",\n ZoneId = zoneId,\n });\n\n var defaultPublicNetworkAddress = new AliCloud.MongoDB.PublicNetworkAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n });\n\n // modify private network address.\n var @private = new AliCloud.MongoDB.ReplicaSetRole(\"private\", new()\n {\n DbInstanceId = defaultInstance.Id,\n RoleId = defaultInstance.ReplicaSets.Apply(replicaSets =\u003e replicaSets[0].RoleId),\n ConnectionPrefix = \"test-tf-private-change\",\n ConnectionPort = 3718,\n NetworkType = \"VPC\",\n });\n\n // modify public network address.\n var @public = new AliCloud.MongoDB.ReplicaSetRole(\"public\", new()\n {\n DbInstanceId = defaultInstance.Id,\n RoleId = defaultPublicNetworkAddress.ReplicaSets.Apply(replicaSets =\u003e replicaSets[0].RoleId),\n ConnectionPrefix = \"test-tf-public-0\",\n ConnectionPort = 3719,\n NetworkType = \"Public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := mongodb.NewInstance(ctx, \"default\", \u0026mongodb.InstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.4\"),\n\t\t\tStorageType: pulumi.String(\"cloud_essd1\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorage: pulumi.Int(20),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tDbInstanceClass: pulumi.String(\"mdb.shard.4x.large.d\"),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPublicNetworkAddress, err := mongodb.NewPublicNetworkAddress(ctx, \"default\", \u0026mongodb.PublicNetworkAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// modify private network address.\n\t\t_, err = mongodb.NewReplicaSetRole(ctx, \"private\", \u0026mongodb.ReplicaSetRoleArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tRoleId: pulumi.String(defaultInstance.ReplicaSets.ApplyT(func(replicaSets []mongodb.InstanceReplicaSet) (*string, error) {\n\t\t\t\treturn \u0026replicaSets[0].RoleId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"test-tf-private-change\"),\n\t\t\tConnectionPort: pulumi.Int(3718),\n\t\t\tNetworkType: pulumi.String(\"VPC\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// modify public network address.\n\t\t_, err = mongodb.NewReplicaSetRole(ctx, \"public\", \u0026mongodb.ReplicaSetRoleArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tRoleId: pulumi.String(defaultPublicNetworkAddress.ReplicaSets.ApplyT(func(replicaSets []mongodb.PublicNetworkAddressReplicaSet) (*string, error) {\n\t\t\t\treturn \u0026replicaSets[0].RoleId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"test-tf-public-0\"),\n\t\t\tConnectionPort: pulumi.Int(3719),\n\t\t\tNetworkType: pulumi.String(\"Public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.Instance;\nimport com.pulumi.alicloud.mongodb.InstanceArgs;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddress;\nimport com.pulumi.alicloud.mongodb.PublicNetworkAddressArgs;\nimport com.pulumi.alicloud.mongodb.ReplicaSetRole;\nimport com.pulumi.alicloud.mongodb.ReplicaSetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .cidrBlock(\"10.0.0.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engineVersion(\"4.4\")\n .storageType(\"cloud_essd1\")\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorage(20)\n .vpcId(defaultNetwork.id())\n .dbInstanceClass(\"mdb.shard.4x.large.d\")\n .storageEngine(\"WiredTiger\")\n .networkType(\"VPC\")\n .zoneId(zoneId)\n .build());\n\n var defaultPublicNetworkAddress = new PublicNetworkAddress(\"defaultPublicNetworkAddress\", PublicNetworkAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .build());\n\n // modify private network address.\n var private_ = new ReplicaSetRole(\"private\", ReplicaSetRoleArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .roleId(defaultInstance.replicaSets().applyValue(_replicaSets -\u003e _replicaSets[0].roleId()))\n .connectionPrefix(\"test-tf-private-change\")\n .connectionPort(3718)\n .networkType(\"VPC\")\n .build());\n\n // modify public network address.\n var public_ = new ReplicaSetRole(\"public\", ReplicaSetRoleArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .roleId(defaultPublicNetworkAddress.replicaSets().applyValue(_replicaSets -\u003e _replicaSets[0].roleId()))\n .connectionPrefix(\"test-tf-public-0\")\n .connectionPort(3719)\n .networkType(\"Public\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `\u003cdb_instance_id\u003e:\u003cnetwork_type\u003e:\u003crole_id\u003e`.\n\n```sh\n$ pulumi import alicloud:mongodb/replicaSetRole:ReplicaSetRole example \u003cid\u003e\n```\n\n", "properties": { "connectionDomain": { "type": "string", @@ -211551,7 +216194,7 @@ } }, "alicloud:mongodb/serverlessInstance:ServerlessInstance": { - "description": "Provides a MongoDB Serverless Instance resource.\n\nFor information about MongoDB Serverless Instance and how to use it, see [What is Serverless Instance](https://www.alibabacloud.com/help/doc-detail/26558.html).\n\n\u003e **NOTE:** Deprecated since v1.214.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.214.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.mongodb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.mongodb.ServerlessInstance(\"example\", {\n accountPassword: \"Abc12345\",\n dbInstanceDescription: \"example_value\",\n dbInstanceStorage: 5,\n storageEngine: \"WiredTiger\",\n capacityUnit: 100,\n engine: \"MongoDB\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n engineVersion: \"4.2\",\n period: 1,\n periodPriceType: \"Month\",\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n tags: {\n Created: \"MongodbServerlessInstance\",\n For: \"TF\",\n },\n securityIpGroups: [{\n securityIpGroupAttribute: \"example_value\",\n securityIpGroupName: \"example_value\",\n securityIpList: \"192.168.0.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.mongodb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.mongodb.ServerlessInstance(\"example\",\n account_password=\"Abc12345\",\n db_instance_description=\"example_value\",\n db_instance_storage=5,\n storage_engine=\"WiredTiger\",\n capacity_unit=100,\n engine=\"MongoDB\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n engine_version=\"4.2\",\n period=1,\n period_price_type=\"Month\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id,\n vswitch_id=default_get_switches.ids[0],\n tags={\n \"Created\": \"MongodbServerlessInstance\",\n \"For\": \"TF\",\n },\n security_ip_groups=[{\n \"security_ip_group_attribute\": \"example_value\",\n \"security_ip_group_name\": \"example_value\",\n \"security_ip_list\": \"192.168.0.1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.MongoDB.ServerlessInstance(\"example\", new()\n {\n AccountPassword = \"Abc12345\",\n DbInstanceDescription = \"example_value\",\n DbInstanceStorage = 5,\n StorageEngine = \"WiredTiger\",\n CapacityUnit = 100,\n Engine = \"MongoDB\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n EngineVersion = \"4.2\",\n Period = 1,\n PeriodPriceType = \"Month\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n Tags = \n {\n { \"Created\", \"MongodbServerlessInstance\" },\n { \"For\", \"TF\" },\n },\n SecurityIpGroups = new[]\n {\n new AliCloud.MongoDB.Inputs.ServerlessInstanceSecurityIpGroupArgs\n {\n SecurityIpGroupAttribute = \"example_value\",\n SecurityIpGroupName = \"example_value\",\n SecurityIpList = \"192.168.0.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewServerlessInstance(ctx, \"example\", \u0026mongodb.ServerlessInstanceArgs{\n\t\t\tAccountPassword: pulumi.String(\"Abc12345\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"example_value\"),\n\t\t\tDbInstanceStorage: pulumi.Int(5),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tCapacityUnit: pulumi.Int(100),\n\t\t\tEngine: pulumi.String(\"MongoDB\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPeriodPriceType: pulumi.String(\"Month\"),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"MongodbServerlessInstance\"),\n\t\t\t\t\"For\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tSecurityIpGroups: mongodb.ServerlessInstanceSecurityIpGroupArray{\n\t\t\t\t\u0026mongodb.ServerlessInstanceSecurityIpGroupArgs{\n\t\t\t\t\tSecurityIpGroupAttribute: pulumi.String(\"example_value\"),\n\t\t\t\t\tSecurityIpGroupName: pulumi.String(\"example_value\"),\n\t\t\t\t\tSecurityIpList: pulumi.String(\"192.168.0.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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.mongodb.ServerlessInstance;\nimport com.pulumi.alicloud.mongodb.ServerlessInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ServerlessInstanceSecurityIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new ServerlessInstance(\"example\", ServerlessInstanceArgs.builder()\n .accountPassword(\"Abc12345\")\n .dbInstanceDescription(\"example_value\")\n .dbInstanceStorage(5)\n .storageEngine(\"WiredTiger\")\n .capacityUnit(100)\n .engine(\"MongoDB\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .engineVersion(\"4.2\")\n .period(1)\n .periodPriceType(\"Month\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultGetSwitches.ids()[0])\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"MongodbServerlessInstance\"),\n Map.entry(\"For\", \"TF\")\n ))\n .securityIpGroups(ServerlessInstanceSecurityIpGroupArgs.builder()\n .securityIpGroupAttribute(\"example_value\")\n .securityIpGroupName(\"example_value\")\n .securityIpList(\"192.168.0.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mongodb:ServerlessInstance\n properties:\n accountPassword: Abc12345\n dbInstanceDescription: example_value\n dbInstanceStorage: 5\n storageEngine: WiredTiger\n capacityUnit: 100\n engine: MongoDB\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n engineVersion: '4.2'\n period: 1\n periodPriceType: Month\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n tags:\n Created: MongodbServerlessInstance\n For: TF\n securityIpGroups:\n - securityIpGroupAttribute: example_value\n securityIpGroupName: example_value\n securityIpList: 192.168.0.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:mongodb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongoDB Serverless Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/serverlessInstance:ServerlessInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a MongoDB Serverless Instance resource.\n\nFor information about MongoDB Serverless Instance and how to use it, see [What is Serverless Instance](https://www.alibabacloud.com/help/doc-detail/26558.html).\n\n\u003e **NOTE:** Deprecated since v1.214.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.214.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.mongodb.getZones({});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.mongodb.ServerlessInstance(\"example\", {\n accountPassword: \"Abc12345\",\n dbInstanceDescription: \"example_value\",\n dbInstanceStorage: 5,\n storageEngine: \"WiredTiger\",\n capacityUnit: 100,\n engine: \"MongoDB\",\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.groups?.[0]?.id),\n engineVersion: \"4.2\",\n period: 1,\n periodPriceType: \"Month\",\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0]),\n tags: {\n Created: \"MongodbServerlessInstance\",\n For: \"TF\",\n },\n securityIpGroups: [{\n securityIpGroupAttribute: \"example_value\",\n securityIpGroupName: \"example_value\",\n securityIpList: \"192.168.0.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.mongodb.get_zones()\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.mongodb.ServerlessInstance(\"example\",\n account_password=\"Abc12345\",\n db_instance_description=\"example_value\",\n db_instance_storage=5,\n storage_engine=\"WiredTiger\",\n capacity_unit=100,\n engine=\"MongoDB\",\n resource_group_id=default_get_resource_groups.groups[0].id,\n engine_version=\"4.2\",\n period=1,\n period_price_type=\"Month\",\n vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id,\n vswitch_id=default_get_switches.ids[0],\n tags={\n \"Created\": \"MongodbServerlessInstance\",\n \"For\": \"TF\",\n },\n security_ip_groups=[{\n \"security_ip_group_attribute\": \"example_value\",\n \"security_ip_group_name\": \"example_value\",\n \"security_ip_list\": \"192.168.0.1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.MongoDB.ServerlessInstance(\"example\", new()\n {\n AccountPassword = \"Abc12345\",\n DbInstanceDescription = \"example_value\",\n DbInstanceStorage = 5,\n StorageEngine = \"WiredTiger\",\n CapacityUnit = 100,\n Engine = \"MongoDB\",\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n EngineVersion = \"4.2\",\n Period = 1,\n PeriodPriceType = \"Month\",\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n Tags = \n {\n { \"Created\", \"MongodbServerlessInstance\" },\n { \"For\", \"TF\" },\n },\n SecurityIpGroups = new[]\n {\n new AliCloud.MongoDB.Inputs.ServerlessInstanceSecurityIpGroupArgs\n {\n SecurityIpGroupAttribute = \"example_value\",\n SecurityIpGroupName = \"example_value\",\n SecurityIpList = \"192.168.0.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewServerlessInstance(ctx, \"example\", \u0026mongodb.ServerlessInstanceArgs{\n\t\t\tAccountPassword: pulumi.String(\"Abc12345\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"example_value\"),\n\t\t\tDbInstanceStorage: pulumi.Int(5),\n\t\t\tStorageEngine: pulumi.String(\"WiredTiger\"),\n\t\t\tCapacityUnit: pulumi.Int(100),\n\t\t\tEngine: pulumi.String(\"MongoDB\"),\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Groups[0].Id),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tPeriodPriceType: pulumi.String(\"Month\"),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Ids[0]),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"MongodbServerlessInstance\"),\n\t\t\t\t\"For\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t\tSecurityIpGroups: mongodb.ServerlessInstanceSecurityIpGroupArray{\n\t\t\t\t\u0026mongodb.ServerlessInstanceSecurityIpGroupArgs{\n\t\t\t\t\tSecurityIpGroupAttribute: pulumi.String(\"example_value\"),\n\t\t\t\t\tSecurityIpGroupName: pulumi.String(\"example_value\"),\n\t\t\t\t\tSecurityIpList: pulumi.String(\"192.168.0.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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.mongodb.ServerlessInstance;\nimport com.pulumi.alicloud.mongodb.ServerlessInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ServerlessInstanceSecurityIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new ServerlessInstance(\"example\", ServerlessInstanceArgs.builder()\n .accountPassword(\"Abc12345\")\n .dbInstanceDescription(\"example_value\")\n .dbInstanceStorage(5)\n .storageEngine(\"WiredTiger\")\n .capacityUnit(100)\n .engine(\"MongoDB\")\n .resourceGroupId(defaultGetResourceGroups.groups()[0].id())\n .engineVersion(\"4.2\")\n .period(1)\n .periodPriceType(\"Month\")\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultGetSwitches.ids()[0])\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"MongodbServerlessInstance\"),\n Map.entry(\"For\", \"TF\")\n ))\n .securityIpGroups(ServerlessInstanceSecurityIpGroupArgs.builder()\n .securityIpGroupAttribute(\"example_value\")\n .securityIpGroupName(\"example_value\")\n .securityIpList(\"192.168.0.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:mongodb:ServerlessInstance\n properties:\n accountPassword: Abc12345\n dbInstanceDescription: example_value\n dbInstanceStorage: 5\n storageEngine: WiredTiger\n capacityUnit: 100\n engine: MongoDB\n resourceGroupId: ${defaultGetResourceGroups.groups[0].id}\n engineVersion: '4.2'\n period: 1\n periodPriceType: Month\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultGetSwitches.ids[0]}\n tags:\n Created: MongodbServerlessInstance\n For: TF\n securityIpGroups:\n - securityIpGroupAttribute: example_value\n securityIpGroupName: example_value\n securityIpList: 192.168.0.1\nvariables:\n default:\n fn::invoke:\n function: alicloud:mongodb:getZones\n arguments: {}\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: default-NODELETING\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n defaultGetResourceGroups:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongoDB Serverless Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/serverlessInstance:ServerlessInstance example \u003cid\u003e\n```\n\n", "properties": { "accountPassword": { "type": "string", @@ -211841,7 +216484,7 @@ } }, "alicloud:mongodb/shardingInstance:ShardingInstance": { - "description": "Provides a MongoDB Sharding Instance resource supports replica set instances only. the MongoDB provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/doc-detail/26558.htm)\n\n\u003e **NOTE:** Available since v1.40.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network MongoDB Sharding Instance.\n[`cn-zhangjiakou`,`cn-huhehaote`,`ap-southeast-3`,`ap-southeast-5`,`me-east-1`,`ap-northeast-1`,`eu-west-1`]\n\n\u003e **NOTE:** Create MongoDB Sharding instance or change instance type and storage would cost 10~20 minutes. Please make full preparation.\n\n## Example Usage\n\n### Create a Mongodb Sharding instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n engineVersion: \"4.2\",\n vswitchId: defaultSwitch.id,\n zoneId: zoneId,\n name: name,\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n engine_version=\"4.2\",\n vswitch_id=default_switch.id,\n zone_id=zone_id,\n name=name,\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ],\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n EngineVersion = \"4.2\",\n VswitchId = defaultSwitch.Id,\n ZoneId = zoneId,\n Name = name,\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tName: pulumi.String(name),\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: 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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .engineVersion(\"4.2\")\n .vswitchId(defaultSwitch.id())\n .zoneId(zoneId)\n .name(name)\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing mongodb-sharding module\nto create a MongoDB Sharding Instance resource one-click.\n\n## Import\n\nMongoDB Sharding Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingInstance:ShardingInstance example dds-bp1291daeda44195\n```\n\n", + "description": "Provides a MongoDB Sharding Instance resource supports replica set instances only. the MongoDB provides stable, reliable, and automatic scalable database services.\nIt offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms.\nYou can see detail product introduction [here](https://www.alibabacloud.com/help/doc-detail/26558.htm)\n\n\u003e **NOTE:** Available since v1.40.0.\n\n\u003e **NOTE:** The following regions don't support create Classic network MongoDB Sharding Instance.\n[`cn-zhangjiakou`,`cn-huhehaote`,`ap-southeast-3`,`ap-southeast-5`,`me-east-1`,`ap-northeast-1`,`eu-west-1`]\n\n\u003e **NOTE:** Create MongoDB Sharding instance or change instance type and storage would cost 10~20 minutes. Please make full preparation.\n\n## Example Usage\n\n### Create a Mongodb Sharding instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n engineVersion: \"4.2\",\n vswitchId: defaultSwitch.id,\n zoneId: zoneId,\n name: name,\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n engine_version=\"4.2\",\n vswitch_id=default_switch.id,\n zone_id=zone_id,\n name=name,\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ],\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n EngineVersion = \"4.2\",\n VswitchId = defaultSwitch.Id,\n ZoneId = zoneId,\n Name = name,\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tName: pulumi.String(name),\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: 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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .engineVersion(\"4.2\")\n .vswitchId(defaultSwitch.id())\n .zoneId(zoneId)\n .name(name)\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing mongodb-sharding module\nto create a MongoDB Sharding Instance resource one-click.\n\n## Import\n\nMongoDB Sharding Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingInstance:ShardingInstance example dds-bp1291daeda44195\n```\n\n", "properties": { "accountPassword": { "type": "string", @@ -212542,7 +217185,7 @@ } }, "alicloud:mongodb/shardingNetworkPrivateAddress:ShardingNetworkPrivateAddress": { - "description": "Provides a MongoDB Sharding Network Private Address resource.\n\nFor information about MongoDB Sharding Network Private Address and how to use it, see [What is Sharding Network Private Address](https://www.alibabacloud.com/help/en/doc-detail/141403.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultSwitch.id,\n engineVersion: \"4.2\",\n name: name,\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n});\nconst defaultShardingNetworkPrivateAddress = new alicloud.mongodb.ShardingNetworkPrivateAddress(\"default\", {\n dbInstanceId: defaultShardingInstance.id,\n nodeId: defaultShardingInstance.shardLists.apply(shardLists =\u003e shardLists[0].nodeId),\n zoneId: defaultShardingInstance.zoneId,\n accountName: \"example\",\n accountPassword: \"Example_123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n zone_id=default.zones[0].id,\n vswitch_id=default_switch.id,\n engine_version=\"4.2\",\n name=name,\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ],\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ])\ndefault_sharding_network_private_address = alicloud.mongodb.ShardingNetworkPrivateAddress(\"default\",\n db_instance_id=default_sharding_instance.id,\n node_id=default_sharding_instance.shard_lists[0].node_id,\n zone_id=default_sharding_instance.zone_id,\n account_name=\"example\",\n account_password=\"Example_123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultSwitch.Id,\n EngineVersion = \"4.2\",\n Name = name,\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n });\n\n var defaultShardingNetworkPrivateAddress = new AliCloud.MongoDB.ShardingNetworkPrivateAddress(\"default\", new()\n {\n DbInstanceId = defaultShardingInstance.Id,\n NodeId = defaultShardingInstance.ShardLists.Apply(shardLists =\u003e shardLists[0].NodeId),\n ZoneId = defaultShardingInstance.ZoneId,\n AccountName = \"example\",\n AccountPassword = \"Example_123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultShardingInstance, err := mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\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 = mongodb.NewShardingNetworkPrivateAddress(ctx, \"default\", \u0026mongodb.ShardingNetworkPrivateAddressArgs{\n\t\t\tDbInstanceId: defaultShardingInstance.ID(),\n\t\t\tNodeId: pulumi.String(defaultShardingInstance.ShardLists.ApplyT(func(shardLists []mongodb.ShardingInstanceShardList) (*string, error) {\n\t\t\t\treturn \u0026shardLists[0].NodeId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tZoneId: defaultShardingInstance.ZoneId,\n\t\t\tAccountName: pulumi.String(\"example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example_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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPrivateAddress;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPrivateAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultSwitch.id())\n .engineVersion(\"4.2\")\n .name(name)\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .build());\n\n var defaultShardingNetworkPrivateAddress = new ShardingNetworkPrivateAddress(\"defaultShardingNetworkPrivateAddress\", ShardingNetworkPrivateAddressArgs.builder()\n .dbInstanceId(defaultShardingInstance.id())\n .nodeId(defaultShardingInstance.shardLists().applyValue(_shardLists -\u003e _shardLists[0].nodeId()))\n .zoneId(defaultShardingInstance.zoneId())\n .accountName(\"example\")\n .accountPassword(\"Example_123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultShardingInstance:\n type: alicloud:mongodb:ShardingInstance\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultSwitch.id}\n engineVersion: '4.2'\n name: ${name}\n shardLists:\n - nodeClass: dds.shard.mid\n nodeStorage: '10'\n - nodeClass: dds.shard.standard\n nodeStorage: '20'\n readonlyReplicas: '1'\n mongoLists:\n - nodeClass: dds.mongos.mid\n - nodeClass: dds.mongos.mid\n defaultShardingNetworkPrivateAddress:\n type: alicloud:mongodb:ShardingNetworkPrivateAddress\n name: default\n properties:\n dbInstanceId: ${defaultShardingInstance.id}\n nodeId: ${defaultShardingInstance.shardLists[0].nodeId}\n zoneId: ${defaultShardingInstance.zoneId}\n accountName: example\n accountPassword: Example_123\nvariables:\n default:\n fn::invoke:\n function: alicloud:mongodb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongoDB Sharding Network Private Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingNetworkPrivateAddress:ShardingNetworkPrivateAddress example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", + "description": "Provides a MongoDB Sharding Network Private Address resource.\n\nFor information about MongoDB Sharding Network Private Address and how to use it, see [What is Sharding Network Private Address](https://www.alibabacloud.com/help/en/doc-detail/141403.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: defaultSwitch.id,\n engineVersion: \"4.2\",\n name: name,\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n});\nconst defaultShardingNetworkPrivateAddress = new alicloud.mongodb.ShardingNetworkPrivateAddress(\"default\", {\n dbInstanceId: defaultShardingInstance.id,\n nodeId: defaultShardingInstance.shardLists.apply(shardLists =\u003e shardLists[0].nodeId),\n zoneId: defaultShardingInstance.zoneId,\n accountName: \"example\",\n accountPassword: \"Example_123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n zone_id=default.zones[0].id,\n vswitch_id=default_switch.id,\n engine_version=\"4.2\",\n name=name,\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ],\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ])\ndefault_sharding_network_private_address = alicloud.mongodb.ShardingNetworkPrivateAddress(\"default\",\n db_instance_id=default_sharding_instance.id,\n node_id=default_sharding_instance.shard_lists[0].node_id,\n zone_id=default_sharding_instance.zone_id,\n account_name=\"example\",\n account_password=\"Example_123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = defaultSwitch.Id,\n EngineVersion = \"4.2\",\n Name = name,\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n });\n\n var defaultShardingNetworkPrivateAddress = new AliCloud.MongoDB.ShardingNetworkPrivateAddress(\"default\", new()\n {\n DbInstanceId = defaultShardingInstance.Id,\n NodeId = defaultShardingInstance.ShardLists.Apply(shardLists =\u003e shardLists[0].NodeId),\n ZoneId = defaultShardingInstance.ZoneId,\n AccountName = \"example\",\n AccountPassword = \"Example_123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultShardingInstance, err := mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\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 = mongodb.NewShardingNetworkPrivateAddress(ctx, \"default\", \u0026mongodb.ShardingNetworkPrivateAddressArgs{\n\t\t\tDbInstanceId: defaultShardingInstance.ID(),\n\t\t\tNodeId: pulumi.String(defaultShardingInstance.ShardLists.ApplyT(func(shardLists []mongodb.ShardingInstanceShardList) (*string, error) {\n\t\t\t\treturn \u0026shardLists[0].NodeId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tZoneId: defaultShardingInstance.ZoneId,\n\t\t\tAccountName: pulumi.String(\"example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example_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.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPrivateAddress;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPrivateAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .zoneId(default_.zones()[0].id())\n .vswitchId(defaultSwitch.id())\n .engineVersion(\"4.2\")\n .name(name)\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .build());\n\n var defaultShardingNetworkPrivateAddress = new ShardingNetworkPrivateAddress(\"defaultShardingNetworkPrivateAddress\", ShardingNetworkPrivateAddressArgs.builder()\n .dbInstanceId(defaultShardingInstance.id())\n .nodeId(defaultShardingInstance.shardLists().applyValue(_shardLists -\u003e _shardLists[0].nodeId()))\n .zoneId(defaultShardingInstance.zoneId())\n .accountName(\"example\")\n .accountPassword(\"Example_123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.17.3.0/24\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 172.17.3.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultShardingInstance:\n type: alicloud:mongodb:ShardingInstance\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n vswitchId: ${defaultSwitch.id}\n engineVersion: '4.2'\n name: ${name}\n shardLists:\n - nodeClass: dds.shard.mid\n nodeStorage: '10'\n - nodeClass: dds.shard.standard\n nodeStorage: '20'\n readonlyReplicas: '1'\n mongoLists:\n - nodeClass: dds.mongos.mid\n - nodeClass: dds.mongos.mid\n defaultShardingNetworkPrivateAddress:\n type: alicloud:mongodb:ShardingNetworkPrivateAddress\n name: default\n properties:\n dbInstanceId: ${defaultShardingInstance.id}\n nodeId: ${defaultShardingInstance.shardLists[0].nodeId}\n zoneId: ${defaultShardingInstance.zoneId}\n accountName: example\n accountPassword: Example_123\nvariables:\n default:\n fn::invoke:\n function: alicloud:mongodb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongoDB Sharding Network Private Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingNetworkPrivateAddress:ShardingNetworkPrivateAddress example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", "properties": { "accountName": { "type": "string", @@ -212649,7 +217292,7 @@ } }, "alicloud:mongodb/shardingNetworkPublicAddress:ShardingNetworkPublicAddress": { - "description": "Provides a MongoDB Sharding Network Public Address resource.\n\nFor information about MongoDB Sharding Network Public Address and how to use it, see [What is Sharding Network Public Address](https://www.alibabacloud.com/help/doc-detail/67602.html).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n\u003e **NOTE:** This operation supports sharded cluster instances only.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n zoneId: zoneId,\n vswitchId: defaultSwitch.id,\n engineVersion: \"4.2\",\n name: name,\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n});\nconst example = new alicloud.mongodb.ShardingNetworkPublicAddress(\"example\", {\n dbInstanceId: defaultShardingInstance.id,\n nodeId: defaultShardingInstance.mongoLists.apply(mongoLists =\u003e mongoLists[0].nodeId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n zone_id=zone_id,\n vswitch_id=default_switch.id,\n engine_version=\"4.2\",\n name=name,\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ],\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ])\nexample = alicloud.mongodb.ShardingNetworkPublicAddress(\"example\",\n db_instance_id=default_sharding_instance.id,\n node_id=default_sharding_instance.mongo_lists[0].node_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n ZoneId = zoneId,\n VswitchId = defaultSwitch.Id,\n EngineVersion = \"4.2\",\n Name = name,\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n });\n\n var example = new AliCloud.MongoDB.ShardingNetworkPublicAddress(\"example\", new()\n {\n DbInstanceId = defaultShardingInstance.Id,\n NodeId = defaultShardingInstance.MongoLists.Apply(mongoLists =\u003e mongoLists[0].NodeId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultShardingInstance, err := mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\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 = mongodb.NewShardingNetworkPublicAddress(ctx, \"example\", \u0026mongodb.ShardingNetworkPublicAddressArgs{\n\t\t\tDbInstanceId: defaultShardingInstance.ID(),\n\t\t\tNodeId: pulumi.String(defaultShardingInstance.MongoLists.ApplyT(func(mongoLists []mongodb.ShardingInstanceMongoList) (*string, error) {\n\t\t\t\treturn \u0026mongoLists[0].NodeId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPublicAddress;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPublicAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .zoneId(zoneId)\n .vswitchId(defaultSwitch.id())\n .engineVersion(\"4.2\")\n .name(name)\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .build());\n\n var example = new ShardingNetworkPublicAddress(\"example\", ShardingNetworkPublicAddressArgs.builder()\n .dbInstanceId(defaultShardingInstance.id())\n .nodeId(defaultShardingInstance.mongoLists().applyValue(_mongoLists -\u003e _mongoLists[0].nodeId()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongoDB Sharding Network Public Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingNetworkPublicAddress:ShardingNetworkPublicAddress example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", + "description": "Provides a MongoDB Sharding Network Public Address resource.\n\nFor information about MongoDB Sharding Network Public Address and how to use it, see [What is Sharding Network Public Address](https://www.alibabacloud.com/help/doc-detail/67602.html).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n\u003e **NOTE:** This operation supports sharded cluster instances only.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.mongodb.getZones({});\nconst index = _default.then(_default =\u003e _default.zones).length.apply(length =\u003e length - 1);\nconst zoneId = _default.then(_default =\u003e _default.zones[index].id);\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"172.17.3.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: zoneId,\n});\nconst defaultShardingInstance = new alicloud.mongodb.ShardingInstance(\"default\", {\n zoneId: zoneId,\n vswitchId: defaultSwitch.id,\n engineVersion: \"4.2\",\n name: name,\n shardLists: [\n {\n nodeClass: \"dds.shard.mid\",\n nodeStorage: 10,\n },\n {\n nodeClass: \"dds.shard.standard\",\n nodeStorage: 20,\n readonlyReplicas: 1,\n },\n ],\n mongoLists: [\n {\n nodeClass: \"dds.mongos.mid\",\n },\n {\n nodeClass: \"dds.mongos.mid\",\n },\n ],\n});\nconst example = new alicloud.mongodb.ShardingNetworkPublicAddress(\"example\", {\n dbInstanceId: defaultShardingInstance.id,\n nodeId: defaultShardingInstance.mongoLists.apply(mongoLists =\u003e mongoLists[0].nodeId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.mongodb.get_zones()\nindex = len(default.zones).apply(lambda length: length - 1)\nzone_id = default.zones[index].id\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.17.3.0/24\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"172.17.3.0/24\",\n vpc_id=default_network.id,\n zone_id=zone_id)\ndefault_sharding_instance = alicloud.mongodb.ShardingInstance(\"default\",\n zone_id=zone_id,\n vswitch_id=default_switch.id,\n engine_version=\"4.2\",\n name=name,\n shard_lists=[\n {\n \"node_class\": \"dds.shard.mid\",\n \"node_storage\": 10,\n },\n {\n \"node_class\": \"dds.shard.standard\",\n \"node_storage\": 20,\n \"readonly_replicas\": 1,\n },\n ],\n mongo_lists=[\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n {\n \"node_class\": \"dds.mongos.mid\",\n },\n ])\nexample = alicloud.mongodb.ShardingNetworkPublicAddress(\"example\",\n db_instance_id=default_sharding_instance.id,\n node_id=default_sharding_instance.mongo_lists[0].node_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.MongoDB.GetZones.Invoke();\n\n var index = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length.Apply(length =\u003e length - 1);\n\n var zoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[index].Id);\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"172.17.3.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = zoneId,\n });\n\n var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance(\"default\", new()\n {\n ZoneId = zoneId,\n VswitchId = defaultSwitch.Id,\n EngineVersion = \"4.2\",\n Name = name,\n ShardLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.mid\",\n NodeStorage = 10,\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs\n {\n NodeClass = \"dds.shard.standard\",\n NodeStorage = 20,\n ReadonlyReplicas = 1,\n },\n },\n MongoLists = new[]\n {\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs\n {\n NodeClass = \"dds.mongos.mid\",\n },\n },\n });\n\n var example = new AliCloud.MongoDB.ShardingNetworkPublicAddress(\"example\", new()\n {\n DbInstanceId = defaultShardingInstance.Id,\n NodeId = defaultShardingInstance.MongoLists.Apply(mongoLists =\u003e mongoLists[0].NodeId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := mongodb.GetZones(ctx, \u0026mongodb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tindex := len(_default.Zones).ApplyT(func(length int) (float64, error) {\n\t\t\treturn float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output)), nil\n\t\t}).(pulumi.Float64Output)\n\t\tzoneId := _default.Zones[index].Id\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultShardingInstance, err := mongodb.NewShardingInstance(ctx, \"default\", \u0026mongodb.ShardingInstanceArgs{\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tEngineVersion: pulumi.String(\"4.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tShardLists: mongodb.ShardingInstanceShardListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.mid\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceShardListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.shard.standard\"),\n\t\t\t\t\tNodeStorage: pulumi.Int(20),\n\t\t\t\t\tReadonlyReplicas: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMongoLists: mongodb.ShardingInstanceMongoListArray{\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\n\t\t\t\t},\n\t\t\t\t\u0026mongodb.ShardingInstanceMongoListArgs{\n\t\t\t\t\tNodeClass: pulumi.String(\"dds.mongos.mid\"),\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 = mongodb.NewShardingNetworkPublicAddress(ctx, \"example\", \u0026mongodb.ShardingNetworkPublicAddressArgs{\n\t\t\tDbInstanceId: defaultShardingInstance.ID(),\n\t\t\tNodeId: pulumi.String(defaultShardingInstance.MongoLists.ApplyT(func(mongoLists []mongodb.ShardingInstanceMongoList) (*string, error) {\n\t\t\t\treturn \u0026mongoLists[0].NodeId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.mongodb.MongodbFunctions;\nimport com.pulumi.alicloud.mongodb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mongodb.ShardingInstance;\nimport com.pulumi.alicloud.mongodb.ShardingInstanceArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;\nimport com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPublicAddress;\nimport com.pulumi.alicloud.mongodb.ShardingNetworkPublicAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = MongodbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var index = default_.zones().length().applyValue(_length -\u003e _length - 1);\n\n final var zoneId = default_.zones()[index].id();\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(zoneId)\n .build());\n\n var defaultShardingInstance = new ShardingInstance(\"defaultShardingInstance\", ShardingInstanceArgs.builder()\n .zoneId(zoneId)\n .vswitchId(defaultSwitch.id())\n .engineVersion(\"4.2\")\n .name(name)\n .shardLists( \n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.mid\")\n .nodeStorage(10)\n .build(),\n ShardingInstanceShardListArgs.builder()\n .nodeClass(\"dds.shard.standard\")\n .nodeStorage(20)\n .readonlyReplicas(1)\n .build())\n .mongoLists( \n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build(),\n ShardingInstanceMongoListArgs.builder()\n .nodeClass(\"dds.mongos.mid\")\n .build())\n .build());\n\n var example = new ShardingNetworkPublicAddress(\"example\", ShardingNetworkPublicAddressArgs.builder()\n .dbInstanceId(defaultShardingInstance.id())\n .nodeId(defaultShardingInstance.mongoLists().applyValue(_mongoLists -\u003e _mongoLists[0].nodeId()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMongoDB Sharding Network Public Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mongodb/shardingNetworkPublicAddress:ShardingNetworkPublicAddress example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", "properties": { "dbInstanceId": { "type": "string", @@ -213046,7 +217689,7 @@ } }, "alicloud:mse/engineNamespace:EngineNamespace": { - "description": "Provides a Microservice Engine (MSE) Engine Namespace resource.\n\nFor information about Microservice Engine (MSE) Engine Namespace and how to use it, see [What is Engine Namespace](https://www.alibabacloud.com/help/en/mse/developer-reference/api-mse-2019-05-31-createenginenamespace).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterType: \"Nacos-Ans\",\n clusterVersion: \"NACOS_2_0_0\",\n instanceCount: 3,\n netType: \"privatenet\",\n pubNetworkFlow: \"1\",\n connectionType: \"slb\",\n clusterAliasName: \"terraform-example\",\n mseVersion: \"mse_pro\",\n vswitchId: exampleSwitch.id,\n vpcId: exampleNetwork.id,\n});\nconst exampleEngineNamespace = new alicloud.mse.EngineNamespace(\"example\", {\n instanceId: exampleCluster.id,\n namespaceShowName: \"terraform-example\",\n namespaceId: \"terraform-example\",\n namespaceDesc: \"description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_type=\"Nacos-Ans\",\n cluster_version=\"NACOS_2_0_0\",\n instance_count=3,\n net_type=\"privatenet\",\n pub_network_flow=\"1\",\n connection_type=\"slb\",\n cluster_alias_name=\"terraform-example\",\n mse_version=\"mse_pro\",\n vswitch_id=example_switch.id,\n vpc_id=example_network.id)\nexample_engine_namespace = alicloud.mse.EngineNamespace(\"example\",\n instance_id=example_cluster.id,\n namespace_show_name=\"terraform-example\",\n namespace_id=\"terraform-example\",\n namespace_desc=\"description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterType = \"Nacos-Ans\",\n ClusterVersion = \"NACOS_2_0_0\",\n InstanceCount = 3,\n NetType = \"privatenet\",\n PubNetworkFlow = \"1\",\n ConnectionType = \"slb\",\n ClusterAliasName = \"terraform-example\",\n MseVersion = \"mse_pro\",\n VswitchId = exampleSwitch.Id,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleEngineNamespace = new AliCloud.Mse.EngineNamespace(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n NamespaceShowName = \"terraform-example\",\n NamespaceId = \"terraform-example\",\n NamespaceDesc = \"description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterType: pulumi.String(\"Nacos-Ans\"),\n\t\t\tClusterVersion: pulumi.String(\"NACOS_2_0_0\"),\n\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tConnectionType: pulumi.String(\"slb\"),\n\t\t\tClusterAliasName: pulumi.String(\"terraform-example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_pro\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewEngineNamespace(ctx, \"example\", \u0026mse.EngineNamespaceArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tNamespaceShowName: pulumi.String(\"terraform-example\"),\n\t\t\tNamespaceId: pulumi.String(\"terraform-example\"),\n\t\t\tNamespaceDesc: pulumi.String(\"description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.EngineNamespace;\nimport com.pulumi.alicloud.mse.EngineNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterType(\"Nacos-Ans\")\n .clusterVersion(\"NACOS_2_0_0\")\n .instanceCount(3)\n .netType(\"privatenet\")\n .pubNetworkFlow(\"1\")\n .connectionType(\"slb\")\n .clusterAliasName(\"terraform-example\")\n .mseVersion(\"mse_pro\")\n .vswitchId(exampleSwitch.id())\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleEngineNamespace = new EngineNamespace(\"exampleEngineNamespace\", EngineNamespaceArgs.builder()\n .instanceId(exampleCluster.id())\n .namespaceShowName(\"terraform-example\")\n .namespaceId(\"terraform-example\")\n .namespaceDesc(\"description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n clusterSpecification: MSE_SC_1_2_60_c\n clusterType: Nacos-Ans\n clusterVersion: NACOS_2_0_0\n instanceCount: 3\n netType: privatenet\n pubNetworkFlow: '1'\n connectionType: slb\n clusterAliasName: terraform-example\n mseVersion: mse_pro\n vswitchId: ${exampleSwitch.id}\n vpcId: ${exampleNetwork.id}\n exampleEngineNamespace:\n type: alicloud:mse:EngineNamespace\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n namespaceShowName: terraform-example\n namespaceId: terraform-example\n namespaceDesc: description\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicroservice Engine (MSE) Engine Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/engineNamespace:EngineNamespace example \u003cinstance_id\u003e:\u003cnamespace_id\u003e\n```\n\n", + "description": "Provides a Microservice Engine (MSE) Engine Namespace resource.\n\nFor information about Microservice Engine (MSE) Engine Namespace and how to use it, see [What is Engine Namespace](https://www.alibabacloud.com/help/en/mse/developer-reference/api-mse-2019-05-31-createenginenamespace).\n\n\u003e **NOTE:** Available since v1.166.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterType: \"Nacos-Ans\",\n clusterVersion: \"NACOS_2_0_0\",\n instanceCount: 3,\n netType: \"privatenet\",\n pubNetworkFlow: \"1\",\n connectionType: \"slb\",\n clusterAliasName: \"terraform-example\",\n mseVersion: \"mse_pro\",\n vswitchId: exampleSwitch.id,\n vpcId: exampleNetwork.id,\n});\nconst exampleEngineNamespace = new alicloud.mse.EngineNamespace(\"example\", {\n instanceId: exampleCluster.id,\n namespaceShowName: \"terraform-example\",\n namespaceId: \"terraform-example\",\n namespaceDesc: \"description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_type=\"Nacos-Ans\",\n cluster_version=\"NACOS_2_0_0\",\n instance_count=3,\n net_type=\"privatenet\",\n pub_network_flow=\"1\",\n connection_type=\"slb\",\n cluster_alias_name=\"terraform-example\",\n mse_version=\"mse_pro\",\n vswitch_id=example_switch.id,\n vpc_id=example_network.id)\nexample_engine_namespace = alicloud.mse.EngineNamespace(\"example\",\n instance_id=example_cluster.id,\n namespace_show_name=\"terraform-example\",\n namespace_id=\"terraform-example\",\n namespace_desc=\"description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterType = \"Nacos-Ans\",\n ClusterVersion = \"NACOS_2_0_0\",\n InstanceCount = 3,\n NetType = \"privatenet\",\n PubNetworkFlow = \"1\",\n ConnectionType = \"slb\",\n ClusterAliasName = \"terraform-example\",\n MseVersion = \"mse_pro\",\n VswitchId = exampleSwitch.Id,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleEngineNamespace = new AliCloud.Mse.EngineNamespace(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n NamespaceShowName = \"terraform-example\",\n NamespaceId = \"terraform-example\",\n NamespaceDesc = \"description\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterType: pulumi.String(\"Nacos-Ans\"),\n\t\t\tClusterVersion: pulumi.String(\"NACOS_2_0_0\"),\n\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tConnectionType: pulumi.String(\"slb\"),\n\t\t\tClusterAliasName: pulumi.String(\"terraform-example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_pro\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewEngineNamespace(ctx, \"example\", \u0026mse.EngineNamespaceArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tNamespaceShowName: pulumi.String(\"terraform-example\"),\n\t\t\tNamespaceId: pulumi.String(\"terraform-example\"),\n\t\t\tNamespaceDesc: pulumi.String(\"description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.EngineNamespace;\nimport com.pulumi.alicloud.mse.EngineNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterType(\"Nacos-Ans\")\n .clusterVersion(\"NACOS_2_0_0\")\n .instanceCount(3)\n .netType(\"privatenet\")\n .pubNetworkFlow(\"1\")\n .connectionType(\"slb\")\n .clusterAliasName(\"terraform-example\")\n .mseVersion(\"mse_pro\")\n .vswitchId(exampleSwitch.id())\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleEngineNamespace = new EngineNamespace(\"exampleEngineNamespace\", EngineNamespaceArgs.builder()\n .instanceId(exampleCluster.id())\n .namespaceShowName(\"terraform-example\")\n .namespaceId(\"terraform-example\")\n .namespaceDesc(\"description\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n clusterSpecification: MSE_SC_1_2_60_c\n clusterType: Nacos-Ans\n clusterVersion: NACOS_2_0_0\n instanceCount: 3\n netType: privatenet\n pubNetworkFlow: '1'\n connectionType: slb\n clusterAliasName: terraform-example\n mseVersion: mse_pro\n vswitchId: ${exampleSwitch.id}\n vpcId: ${exampleNetwork.id}\n exampleEngineNamespace:\n type: alicloud:mse:EngineNamespace\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n namespaceShowName: terraform-example\n namespaceId: terraform-example\n namespaceDesc: description\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMicroservice Engine (MSE) Engine Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/engineNamespace:EngineNamespace example \u003cinstance_id\u003e:\u003cnamespace_id\u003e\n```\n\n", "properties": { "acceptLanguage": { "type": "string", @@ -213147,7 +217790,7 @@ } }, "alicloud:mse/gateway:Gateway": { - "description": "Provides a Microservice Engine (MSE) Gateway resource.\n\nFor information about Microservice Engine (MSE) Gateway and how to use it, see [What is Gateway](https://help.aliyun.com/document_detail/347638.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleSwitch.push(new alicloud.vpc.Switch(`example-${range.value}`, {\n vpcId: exampleNetwork.id,\n cidrBlock: std.format({\n input: \"172.16.%d.0/21\",\n args: [(range.value + 1) * 16],\n }).then(invoke =\u003e invoke.result),\n zoneId: example.then(example =\u003e example.zones[range.value].id),\n vswitchName: std.format({\n input: \"terraform_example_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleGateway = new alicloud.mse.Gateway(\"example\", {\n gatewayName: \"terraform-example\",\n replica: 2,\n spec: \"MSE_GTW_2_4_200_c\",\n vswitchId: exampleSwitch[0].id,\n backupVswitchId: exampleSwitch[1].id,\n vpcId: exampleNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_switch.append(alicloud.vpc.Switch(f\"example-{range['value']}\",\n vpc_id=example_network.id,\n cidr_block=std.format(input=\"172.16.%d.0/21\",\n args=[(range[\"value\"] + 1) * 16]).result,\n zone_id=example.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=\"terraform_example_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_gateway = alicloud.mse.Gateway(\"example\",\n gateway_name=\"terraform-example\",\n replica=2,\n spec=\"MSE_GTW_2_4_200_c\",\n vswitch_id=example_switch[0].id,\n backup_vswitch_id=example_switch[1].id,\n vpc_id=example_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleSwitch.Add(new AliCloud.Vpc.Switch($\"example-{range.Value}\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"172.16.%d.0/21\",\n Args = new[]\n {\n (range.Value + 1) * 16,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id,\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"terraform_example_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleGateway = new AliCloud.Mse.Gateway(\"example\", new()\n {\n GatewayName = \"terraform-example\",\n Replica = 2,\n Spec = \"MSE_GTW_2_4_200_c\",\n VswitchId = exampleSwitch[0].Id,\n BackupVswitchId = exampleSwitch[1].Id,\n VpcId = exampleNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"172.16.%d.0/21\",\n\t\t\tArgs: []float64{\n\t\t\t\t(val0 + 1) * 16,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"terraform_example_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: example.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleSwitch = append(exampleSwitch, __res)\n\t\t}\n\t\t_, err = mse.NewGateway(ctx, \"example\", \u0026mse.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tReplica: pulumi.Int(2),\n\t\t\tSpec: pulumi.String(\"MSE_GTW_2_4_200_c\"),\n\t\t\tVswitchId: exampleSwitch[0].ID(),\n\t\t\tBackupVswitchId: exampleSwitch[1].ID(),\n\t\t\tVpcId: exampleNetwork.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.mse.Gateway;\nimport com.pulumi.alicloud.mse.GatewayArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"exampleSwitch-\" + i, SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"172.16.%d.0/21\")\n .args((range.value() + 1) * 16)\n .build()).result())\n .zoneId(example.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"terraform_example_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n .gatewayName(\"terraform-example\")\n .replica(2)\n .spec(\"MSE_GTW_2_4_200_c\")\n .vswitchId(exampleSwitch[0].id())\n .backupVswitchId(exampleSwitch[1].id())\n .vpcId(exampleNetwork.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicroservice Engine (MSE) Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/gateway:Gateway example \u003cid\u003e\n```\n\n", + "description": "Provides a Microservice Engine (MSE) Gateway resource.\n\nFor information about Microservice Engine (MSE) Gateway and how to use it, see [What is Gateway](https://help.aliyun.com/document_detail/347638.html).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleSwitch.push(new alicloud.vpc.Switch(`example-${range.value}`, {\n vpcId: exampleNetwork.id,\n cidrBlock: std.format({\n input: \"172.16.%d.0/21\",\n args: [(range.value + 1) * 16],\n }).then(invoke =\u003e invoke.result),\n zoneId: example.then(example =\u003e example.zones[range.value].id),\n vswitchName: std.format({\n input: \"terraform_example_%d\",\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n }));\n}\nconst exampleGateway = new alicloud.mse.Gateway(\"example\", {\n gatewayName: \"terraform-example\",\n replica: 2,\n spec: \"MSE_GTW_2_4_200_c\",\n vswitchId: exampleSwitch[0].id,\n backupVswitchId: exampleSwitch[1].id,\n vpcId: exampleNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_switch.append(alicloud.vpc.Switch(f\"example-{range['value']}\",\n vpc_id=example_network.id,\n cidr_block=std.format(input=\"172.16.%d.0/21\",\n args=[(range[\"value\"] + 1) * 16]).result,\n zone_id=example.zones[range[\"value\"]].id,\n vswitch_name=std.format(input=\"terraform_example_%d\",\n args=[range[\"value\"] + 1]).result))\nexample_gateway = alicloud.mse.Gateway(\"example\",\n gateway_name=\"terraform-example\",\n replica=2,\n spec=\"MSE_GTW_2_4_200_c\",\n vswitch_id=example_switch[0].id,\n backup_vswitch_id=example_switch[1].id,\n vpc_id=example_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleSwitch.Add(new AliCloud.Vpc.Switch($\"example-{range.Value}\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = Std.Format.Invoke(new()\n {\n Input = \"172.16.%d.0/21\",\n Args = new[]\n {\n (range.Value + 1) * 16,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones)[range.Value].Id,\n VswitchName = Std.Format.Invoke(new()\n {\n Input = \"terraform_example_%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n }));\n }\n var exampleGateway = new AliCloud.Mse.Gateway(\"example\", new()\n {\n GatewayName = \"terraform-example\",\n Replica = 2,\n Spec = \"MSE_GTW_2_4_200_c\",\n VswitchId = exampleSwitch[0].Id,\n BackupVswitchId = exampleSwitch[1].Id,\n VpcId = exampleNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"172.16.%d.0/21\",\n\t\t\tArgs: []float64{\n\t\t\t\t(val0 + 1) * 16,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"terraform_example_%d\",\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleSwitch []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\t\tCidrBlock: pulumi.String(invokeFormat.Result),\n\t\t\t\tZoneId: example.Zones[val0].Id,\n\t\t\t\tVswitchName: pulumi.String(invokeFormat1.Result),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleSwitch = append(exampleSwitch, __res)\n\t\t}\n\t\t_, err = mse.NewGateway(ctx, \"example\", \u0026mse.GatewayArgs{\n\t\t\tGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tReplica: pulumi.Int(2),\n\t\t\tSpec: pulumi.String(\"MSE_GTW_2_4_200_c\"),\n\t\t\tVswitchId: exampleSwitch[0].ID(),\n\t\t\tBackupVswitchId: exampleSwitch[1].ID(),\n\t\t\tVpcId: exampleNetwork.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.mse.Gateway;\nimport com.pulumi.alicloud.mse.GatewayArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"exampleSwitch-\" + i, SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(StdFunctions.format(FormatArgs.builder()\n .input(\"172.16.%d.0/21\")\n .args((range.value() + 1) * 16)\n .build()).result())\n .zoneId(example.zones()[range.value()].id())\n .vswitchName(StdFunctions.format(FormatArgs.builder()\n .input(\"terraform_example_%d\")\n .args(range.value() + 1)\n .build()).result())\n .build());\n\n \n}\n var exampleGateway = new Gateway(\"exampleGateway\", GatewayArgs.builder()\n .gatewayName(\"terraform-example\")\n .replica(2)\n .spec(\"MSE_GTW_2_4_200_c\")\n .vswitchId(exampleSwitch[0].id())\n .backupVswitchId(exampleSwitch[1].id())\n .vpcId(exampleNetwork.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMicroservice Engine (MSE) Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/gateway:Gateway example \u003cid\u003e\n```\n\n", "properties": { "backupVswitchId": { "type": "string", @@ -213326,7 +217969,7 @@ } }, "alicloud:mse/nacosConfig:NacosConfig": { - "description": "Provides a Microservice Engine (MSE) Nacos Config resource.\n\nFor information about Microservice Engine (MSE) Nacos Config and how to use it, see [What is Nacos configuration](https://www.alibabacloud.com/help/en/mse/developer-reference/api-mse-2019-05-31-createnacosconfig)\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n connectionType: \"slb\",\n netType: \"privatenet\",\n vswitchId: exampleSwitch.id,\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterVersion: \"NACOS_2_0_0\",\n instanceCount: 3,\n pubNetworkFlow: \"1\",\n clusterAliasName: \"example\",\n mseVersion: \"mse_pro\",\n clusterType: \"Nacos-Ans\",\n});\nconst exampleEngineNamespace = new alicloud.mse.EngineNamespace(\"example\", {\n instanceId: exampleCluster.id,\n namespaceShowName: \"example\",\n namespaceId: \"example\",\n});\nconst exampleNacosConfig = new alicloud.mse.NacosConfig(\"example\", {\n instanceId: exampleCluster.id,\n dataId: \"example\",\n group: \"example\",\n namespaceId: exampleEngineNamespace.namespaceId,\n content: \"example\",\n type: \"text\",\n tags: \"example\",\n appName: \"example\",\n desc: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n connection_type=\"slb\",\n net_type=\"privatenet\",\n vswitch_id=example_switch.id,\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_version=\"NACOS_2_0_0\",\n instance_count=3,\n pub_network_flow=\"1\",\n cluster_alias_name=\"example\",\n mse_version=\"mse_pro\",\n cluster_type=\"Nacos-Ans\")\nexample_engine_namespace = alicloud.mse.EngineNamespace(\"example\",\n instance_id=example_cluster.id,\n namespace_show_name=\"example\",\n namespace_id=\"example\")\nexample_nacos_config = alicloud.mse.NacosConfig(\"example\",\n instance_id=example_cluster.id,\n data_id=\"example\",\n group=\"example\",\n namespace_id=example_engine_namespace.namespace_id,\n content=\"example\",\n type=\"text\",\n tags=\"example\",\n app_name=\"example\",\n desc=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ConnectionType = \"slb\",\n NetType = \"privatenet\",\n VswitchId = exampleSwitch.Id,\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterVersion = \"NACOS_2_0_0\",\n InstanceCount = 3,\n PubNetworkFlow = \"1\",\n ClusterAliasName = \"example\",\n MseVersion = \"mse_pro\",\n ClusterType = \"Nacos-Ans\",\n });\n\n var exampleEngineNamespace = new AliCloud.Mse.EngineNamespace(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n NamespaceShowName = \"example\",\n NamespaceId = \"example\",\n });\n\n var exampleNacosConfig = new AliCloud.Mse.NacosConfig(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n DataId = \"example\",\n Group = \"example\",\n NamespaceId = exampleEngineNamespace.NamespaceId,\n Content = \"example\",\n Type = \"text\",\n Tags = \"example\",\n AppName = \"example\",\n Desc = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tConnectionType: pulumi.String(\"slb\"),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterVersion: pulumi.String(\"NACOS_2_0_0\"),\n\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tClusterAliasName: pulumi.String(\"example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_pro\"),\n\t\t\tClusterType: pulumi.String(\"Nacos-Ans\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEngineNamespace, err := mse.NewEngineNamespace(ctx, \"example\", \u0026mse.EngineNamespaceArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tNamespaceShowName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewNacosConfig(ctx, \"example\", \u0026mse.NacosConfigArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tDataId: pulumi.String(\"example\"),\n\t\t\tGroup: pulumi.String(\"example\"),\n\t\t\tNamespaceId: exampleEngineNamespace.NamespaceId,\n\t\t\tContent: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"text\"),\n\t\t\tTags: pulumi.String(\"example\"),\n\t\t\tAppName: pulumi.String(\"example\"),\n\t\t\tDesc: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.EngineNamespace;\nimport com.pulumi.alicloud.mse.EngineNamespaceArgs;\nimport com.pulumi.alicloud.mse.NacosConfig;\nimport com.pulumi.alicloud.mse.NacosConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .connectionType(\"slb\")\n .netType(\"privatenet\")\n .vswitchId(exampleSwitch.id())\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterVersion(\"NACOS_2_0_0\")\n .instanceCount(3)\n .pubNetworkFlow(\"1\")\n .clusterAliasName(\"example\")\n .mseVersion(\"mse_pro\")\n .clusterType(\"Nacos-Ans\")\n .build());\n\n var exampleEngineNamespace = new EngineNamespace(\"exampleEngineNamespace\", EngineNamespaceArgs.builder()\n .instanceId(exampleCluster.id())\n .namespaceShowName(\"example\")\n .namespaceId(\"example\")\n .build());\n\n var exampleNacosConfig = new NacosConfig(\"exampleNacosConfig\", NacosConfigArgs.builder()\n .instanceId(exampleCluster.id())\n .dataId(\"example\")\n .group(\"example\")\n .namespaceId(exampleEngineNamespace.namespaceId())\n .content(\"example\")\n .type(\"text\")\n .tags(\"example\")\n .appName(\"example\")\n .desc(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n connectionType: slb\n netType: privatenet\n vswitchId: ${exampleSwitch.id}\n clusterSpecification: MSE_SC_1_2_60_c\n clusterVersion: NACOS_2_0_0\n instanceCount: '3'\n pubNetworkFlow: '1'\n clusterAliasName: example\n mseVersion: mse_pro\n clusterType: Nacos-Ans\n exampleEngineNamespace:\n type: alicloud:mse:EngineNamespace\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n namespaceShowName: example\n namespaceId: example\n exampleNacosConfig:\n type: alicloud:mse:NacosConfig\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n dataId: example\n group: example\n namespaceId: ${exampleEngineNamespace.namespaceId}\n content: example\n type: text\n tags: example\n appName: example\n desc: example\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicroservice Engine (MSE) Nacos Config can be imported using the id, e.g.\n\n**Note**: If instance_id, namespace_id, data_id, and group contain \":\", please replace it with \"\\\\\\\\:\", available since v1.243.0\n\n```sh\n$ pulumi import alicloud:mse/nacosConfig:NacosConfig example \u003cinstance_id\u003e:\u003cnamespace_id\u003e:\u003cdata_id\u003e:\u003cgroup\u003e\n```\n\n", + "description": "Provides a Microservice Engine (MSE) Nacos Config resource.\n\nFor information about Microservice Engine (MSE) Nacos Config and how to use it, see [What is Nacos configuration](https://www.alibabacloud.com/help/en/mse/developer-reference/api-mse-2019-05-31-createnacosconfig)\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n connectionType: \"slb\",\n netType: \"privatenet\",\n vswitchId: exampleSwitch.id,\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterVersion: \"NACOS_2_0_0\",\n instanceCount: 3,\n pubNetworkFlow: \"1\",\n clusterAliasName: \"example\",\n mseVersion: \"mse_pro\",\n clusterType: \"Nacos-Ans\",\n});\nconst exampleEngineNamespace = new alicloud.mse.EngineNamespace(\"example\", {\n instanceId: exampleCluster.id,\n namespaceShowName: \"example\",\n namespaceId: \"example\",\n});\nconst exampleNacosConfig = new alicloud.mse.NacosConfig(\"example\", {\n instanceId: exampleCluster.id,\n dataId: \"example\",\n group: \"example\",\n namespaceId: exampleEngineNamespace.namespaceId,\n content: \"example\",\n type: \"text\",\n tags: \"example\",\n appName: \"example\",\n desc: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n connection_type=\"slb\",\n net_type=\"privatenet\",\n vswitch_id=example_switch.id,\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_version=\"NACOS_2_0_0\",\n instance_count=3,\n pub_network_flow=\"1\",\n cluster_alias_name=\"example\",\n mse_version=\"mse_pro\",\n cluster_type=\"Nacos-Ans\")\nexample_engine_namespace = alicloud.mse.EngineNamespace(\"example\",\n instance_id=example_cluster.id,\n namespace_show_name=\"example\",\n namespace_id=\"example\")\nexample_nacos_config = alicloud.mse.NacosConfig(\"example\",\n instance_id=example_cluster.id,\n data_id=\"example\",\n group=\"example\",\n namespace_id=example_engine_namespace.namespace_id,\n content=\"example\",\n type=\"text\",\n tags=\"example\",\n app_name=\"example\",\n desc=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ConnectionType = \"slb\",\n NetType = \"privatenet\",\n VswitchId = exampleSwitch.Id,\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterVersion = \"NACOS_2_0_0\",\n InstanceCount = 3,\n PubNetworkFlow = \"1\",\n ClusterAliasName = \"example\",\n MseVersion = \"mse_pro\",\n ClusterType = \"Nacos-Ans\",\n });\n\n var exampleEngineNamespace = new AliCloud.Mse.EngineNamespace(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n NamespaceShowName = \"example\",\n NamespaceId = \"example\",\n });\n\n var exampleNacosConfig = new AliCloud.Mse.NacosConfig(\"example\", new()\n {\n InstanceId = exampleCluster.Id,\n DataId = \"example\",\n Group = \"example\",\n NamespaceId = exampleEngineNamespace.NamespaceId,\n Content = \"example\",\n Type = \"text\",\n Tags = \"example\",\n AppName = \"example\",\n Desc = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tConnectionType: pulumi.String(\"slb\"),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterVersion: pulumi.String(\"NACOS_2_0_0\"),\n\t\t\tInstanceCount: pulumi.Int(3),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tClusterAliasName: pulumi.String(\"example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_pro\"),\n\t\t\tClusterType: pulumi.String(\"Nacos-Ans\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEngineNamespace, err := mse.NewEngineNamespace(ctx, \"example\", \u0026mse.EngineNamespaceArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tNamespaceShowName: pulumi.String(\"example\"),\n\t\t\tNamespaceId: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewNacosConfig(ctx, \"example\", \u0026mse.NacosConfigArgs{\n\t\t\tInstanceId: exampleCluster.ID(),\n\t\t\tDataId: pulumi.String(\"example\"),\n\t\t\tGroup: pulumi.String(\"example\"),\n\t\t\tNamespaceId: exampleEngineNamespace.NamespaceId,\n\t\t\tContent: pulumi.String(\"example\"),\n\t\t\tType: pulumi.String(\"text\"),\n\t\t\tTags: pulumi.String(\"example\"),\n\t\t\tAppName: pulumi.String(\"example\"),\n\t\t\tDesc: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.EngineNamespace;\nimport com.pulumi.alicloud.mse.EngineNamespaceArgs;\nimport com.pulumi.alicloud.mse.NacosConfig;\nimport com.pulumi.alicloud.mse.NacosConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .connectionType(\"slb\")\n .netType(\"privatenet\")\n .vswitchId(exampleSwitch.id())\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterVersion(\"NACOS_2_0_0\")\n .instanceCount(3)\n .pubNetworkFlow(\"1\")\n .clusterAliasName(\"example\")\n .mseVersion(\"mse_pro\")\n .clusterType(\"Nacos-Ans\")\n .build());\n\n var exampleEngineNamespace = new EngineNamespace(\"exampleEngineNamespace\", EngineNamespaceArgs.builder()\n .instanceId(exampleCluster.id())\n .namespaceShowName(\"example\")\n .namespaceId(\"example\")\n .build());\n\n var exampleNacosConfig = new NacosConfig(\"exampleNacosConfig\", NacosConfigArgs.builder()\n .instanceId(exampleCluster.id())\n .dataId(\"example\")\n .group(\"example\")\n .namespaceId(exampleEngineNamespace.namespaceId())\n .content(\"example\")\n .type(\"text\")\n .tags(\"example\")\n .appName(\"example\")\n .desc(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n connectionType: slb\n netType: privatenet\n vswitchId: ${exampleSwitch.id}\n clusterSpecification: MSE_SC_1_2_60_c\n clusterVersion: NACOS_2_0_0\n instanceCount: '3'\n pubNetworkFlow: '1'\n clusterAliasName: example\n mseVersion: mse_pro\n clusterType: Nacos-Ans\n exampleEngineNamespace:\n type: alicloud:mse:EngineNamespace\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n namespaceShowName: example\n namespaceId: example\n exampleNacosConfig:\n type: alicloud:mse:NacosConfig\n name: example\n properties:\n instanceId: ${exampleCluster.id}\n dataId: example\n group: example\n namespaceId: ${exampleEngineNamespace.namespaceId}\n content: example\n type: text\n tags: example\n appName: example\n desc: example\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMicroservice Engine (MSE) Nacos Config can be imported using the id, e.g.\n\n**Note**: If instance_id, namespace_id, data_id, and group contain \":\", please replace it with \"\\\\\\\\:\", available since v1.243.0\n\n```sh\n$ pulumi import alicloud:mse/nacosConfig:NacosConfig example \u003cinstance_id\u003e:\u003cnamespace_id\u003e:\u003cdata_id\u003e:\u003cgroup\u003e\n```\n\n", "properties": { "acceptLanguage": { "type": "string", @@ -213502,7 +218145,7 @@ } }, "alicloud:mse/znode:Znode": { - "description": "Provides a Microservice Engine (MSE) Znode resource.\n\nFor information about Microservice Engine (MSE) Znode and how to use it, see [What is Znode](https://help.aliyun.com/document_detail/393622.html).\n\n\u003e **NOTE:** Available since v1.162.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterType: \"ZooKeeper\",\n clusterVersion: \"ZooKeeper_3_8_0\",\n instanceCount: 1,\n netType: \"privatenet\",\n pubNetworkFlow: \"1\",\n aclEntryLists: [\"127.0.0.1/32\"],\n clusterAliasName: \"terraform-example\",\n mseVersion: \"mse_dev\",\n vswitchId: exampleSwitch.id,\n vpcId: exampleNetwork.id,\n});\nconst exampleZnode = new alicloud.mse.Znode(\"example\", {\n clusterId: exampleCluster.clusterId,\n data: \"terraform-example\",\n path: \"/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_type=\"ZooKeeper\",\n cluster_version=\"ZooKeeper_3_8_0\",\n instance_count=1,\n net_type=\"privatenet\",\n pub_network_flow=\"1\",\n acl_entry_lists=[\"127.0.0.1/32\"],\n cluster_alias_name=\"terraform-example\",\n mse_version=\"mse_dev\",\n vswitch_id=example_switch.id,\n vpc_id=example_network.id)\nexample_znode = alicloud.mse.Znode(\"example\",\n cluster_id=example_cluster.cluster_id,\n data=\"terraform-example\",\n path=\"/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterType = \"ZooKeeper\",\n ClusterVersion = \"ZooKeeper_3_8_0\",\n InstanceCount = 1,\n NetType = \"privatenet\",\n PubNetworkFlow = \"1\",\n AclEntryLists = new[]\n {\n \"127.0.0.1/32\",\n },\n ClusterAliasName = \"terraform-example\",\n MseVersion = \"mse_dev\",\n VswitchId = exampleSwitch.Id,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleZnode = new AliCloud.Mse.Znode(\"example\", new()\n {\n ClusterId = exampleCluster.ClusterId,\n Data = \"terraform-example\",\n Path = \"/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterType: pulumi.String(\"ZooKeeper\"),\n\t\t\tClusterVersion: pulumi.String(\"ZooKeeper_3_8_0\"),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tAclEntryLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\n\t\t\t},\n\t\t\tClusterAliasName: pulumi.String(\"terraform-example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_dev\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewZnode(ctx, \"example\", \u0026mse.ZnodeArgs{\n\t\t\tClusterId: exampleCluster.ClusterId,\n\t\t\tData: pulumi.String(\"terraform-example\"),\n\t\t\tPath: pulumi.String(\"/example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.Znode;\nimport com.pulumi.alicloud.mse.ZnodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterType(\"ZooKeeper\")\n .clusterVersion(\"ZooKeeper_3_8_0\")\n .instanceCount(1)\n .netType(\"privatenet\")\n .pubNetworkFlow(\"1\")\n .aclEntryLists(\"127.0.0.1/32\")\n .clusterAliasName(\"terraform-example\")\n .mseVersion(\"mse_dev\")\n .vswitchId(exampleSwitch.id())\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleZnode = new Znode(\"exampleZnode\", ZnodeArgs.builder()\n .clusterId(exampleCluster.clusterId())\n .data(\"terraform-example\")\n .path(\"/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n clusterSpecification: MSE_SC_1_2_60_c\n clusterType: ZooKeeper\n clusterVersion: ZooKeeper_3_8_0\n instanceCount: 1\n netType: privatenet\n pubNetworkFlow: '1'\n aclEntryLists:\n - 127.0.0.1/32\n clusterAliasName: terraform-example\n mseVersion: mse_dev\n vswitchId: ${exampleSwitch.id}\n vpcId: ${exampleNetwork.id}\n exampleZnode:\n type: alicloud:mse:Znode\n name: example\n properties:\n clusterId: ${exampleCluster.clusterId}\n data: terraform-example\n path: /example\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMicroservice Engine (MSE) Znode can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/znode:Znode example \u003ccluster_id\u003e:\u003cpath\u003e\n```\n\n", + "description": "Provides a Microservice Engine (MSE) Znode resource.\n\nFor information about Microservice Engine (MSE) Znode and how to use it, see [What is Znode](https://help.aliyun.com/document_detail/393622.html).\n\n\u003e **NOTE:** Available since v1.162.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleCluster = new alicloud.mse.Cluster(\"example\", {\n clusterSpecification: \"MSE_SC_1_2_60_c\",\n clusterType: \"ZooKeeper\",\n clusterVersion: \"ZooKeeper_3_8_0\",\n instanceCount: 1,\n netType: \"privatenet\",\n pubNetworkFlow: \"1\",\n aclEntryLists: [\"127.0.0.1/32\"],\n clusterAliasName: \"terraform-example\",\n mseVersion: \"mse_dev\",\n vswitchId: exampleSwitch.id,\n vpcId: exampleNetwork.id,\n});\nconst exampleZnode = new alicloud.mse.Znode(\"example\", {\n clusterId: exampleCluster.clusterId,\n data: \"terraform-example\",\n path: \"/example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_cluster = alicloud.mse.Cluster(\"example\",\n cluster_specification=\"MSE_SC_1_2_60_c\",\n cluster_type=\"ZooKeeper\",\n cluster_version=\"ZooKeeper_3_8_0\",\n instance_count=1,\n net_type=\"privatenet\",\n pub_network_flow=\"1\",\n acl_entry_lists=[\"127.0.0.1/32\"],\n cluster_alias_name=\"terraform-example\",\n mse_version=\"mse_dev\",\n vswitch_id=example_switch.id,\n vpc_id=example_network.id)\nexample_znode = alicloud.mse.Znode(\"example\",\n cluster_id=example_cluster.cluster_id,\n data=\"terraform-example\",\n path=\"/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleCluster = new AliCloud.Mse.Cluster(\"example\", new()\n {\n ClusterSpecification = \"MSE_SC_1_2_60_c\",\n ClusterType = \"ZooKeeper\",\n ClusterVersion = \"ZooKeeper_3_8_0\",\n InstanceCount = 1,\n NetType = \"privatenet\",\n PubNetworkFlow = \"1\",\n AclEntryLists = new[]\n {\n \"127.0.0.1/32\",\n },\n ClusterAliasName = \"terraform-example\",\n MseVersion = \"mse_dev\",\n VswitchId = exampleSwitch.Id,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleZnode = new AliCloud.Mse.Znode(\"example\", new()\n {\n ClusterId = exampleCluster.ClusterId,\n Data = \"terraform-example\",\n Path = \"/example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := mse.NewCluster(ctx, \"example\", \u0026mse.ClusterArgs{\n\t\t\tClusterSpecification: pulumi.String(\"MSE_SC_1_2_60_c\"),\n\t\t\tClusterType: pulumi.String(\"ZooKeeper\"),\n\t\t\tClusterVersion: pulumi.String(\"ZooKeeper_3_8_0\"),\n\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\tNetType: pulumi.String(\"privatenet\"),\n\t\t\tPubNetworkFlow: pulumi.String(\"1\"),\n\t\t\tAclEntryLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1/32\"),\n\t\t\t},\n\t\t\tClusterAliasName: pulumi.String(\"terraform-example\"),\n\t\t\tMseVersion: pulumi.String(\"mse_dev\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mse.NewZnode(ctx, \"example\", \u0026mse.ZnodeArgs{\n\t\t\tClusterId: exampleCluster.ClusterId,\n\t\t\tData: pulumi.String(\"terraform-example\"),\n\t\t\tPath: pulumi.String(\"/example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.mse.Cluster;\nimport com.pulumi.alicloud.mse.ClusterArgs;\nimport com.pulumi.alicloud.mse.Znode;\nimport com.pulumi.alicloud.mse.ZnodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterSpecification(\"MSE_SC_1_2_60_c\")\n .clusterType(\"ZooKeeper\")\n .clusterVersion(\"ZooKeeper_3_8_0\")\n .instanceCount(1)\n .netType(\"privatenet\")\n .pubNetworkFlow(\"1\")\n .aclEntryLists(\"127.0.0.1/32\")\n .clusterAliasName(\"terraform-example\")\n .mseVersion(\"mse_dev\")\n .vswitchId(exampleSwitch.id())\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleZnode = new Znode(\"exampleZnode\", ZnodeArgs.builder()\n .clusterId(exampleCluster.clusterId())\n .data(\"terraform-example\")\n .path(\"/example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleCluster:\n type: alicloud:mse:Cluster\n name: example\n properties:\n clusterSpecification: MSE_SC_1_2_60_c\n clusterType: ZooKeeper\n clusterVersion: ZooKeeper_3_8_0\n instanceCount: 1\n netType: privatenet\n pubNetworkFlow: '1'\n aclEntryLists:\n - 127.0.0.1/32\n clusterAliasName: terraform-example\n mseVersion: mse_dev\n vswitchId: ${exampleSwitch.id}\n vpcId: ${exampleNetwork.id}\n exampleZnode:\n type: alicloud:mse:Znode\n name: example\n properties:\n clusterId: ${exampleCluster.clusterId}\n data: terraform-example\n path: /example\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nMicroservice Engine (MSE) Znode can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:mse/znode:Znode example \u003ccluster_id\u003e:\u003cpath\u003e\n```\n\n", "properties": { "acceptLanguage": { "type": "string", @@ -213575,7 +218218,7 @@ } }, "alicloud:nas/accessGroup:AccessGroup": { - "description": "Provides a NAS Access Group resource. File system Access Group.\n\nIn NAS, the permission group acts as a whitelist that allows you to restrict file system access. You can allow specified IP addresses or CIDR blocks to access the file system, and assign different levels of access permission to different IP addresses or CIDR blocks by adding rules to the permission group.\nFor information about NAS Access Group and how to use it, see [What is NAS Access Group](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createaccessgroup)\n\n\u003e **NOTE:** Available since v1.33.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst foo = new alicloud.nas.AccessGroup(\"foo\", {\n accessGroupName: `terraform-example-${_default.result}`,\n accessGroupType: \"Vpc\",\n description: \"terraform-example\",\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nfoo = alicloud.nas.AccessGroup(\"foo\",\n access_group_name=f\"terraform-example-{default['result']}\",\n access_group_type=\"Vpc\",\n description=\"terraform-example\",\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var foo = new AliCloud.Nas.AccessGroup(\"foo\", new()\n {\n AccessGroupName = $\"terraform-example-{@default.Result}\",\n AccessGroupType = \"Vpc\",\n Description = \"terraform-example\",\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessGroup(ctx, \"foo\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var foo = new AccessGroup(\"foo\", AccessGroupArgs.builder()\n .accessGroupName(String.format(\"terraform-example-%s\", default_.result()))\n .accessGroupType(\"Vpc\")\n .description(\"terraform-example\")\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n foo:\n type: alicloud:nas:AccessGroup\n properties:\n accessGroupName: terraform-example-${default.result}\n accessGroupType: Vpc\n description: terraform-example\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAS Access Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessGroup:AccessGroup example \u003caccess_group_name\u003e:\u003cfile_system_type\u003e\n```\n\n", + "description": "Provides a NAS Access Group resource. File system Access Group.\n\nIn NAS, the permission group acts as a whitelist that allows you to restrict file system access. You can allow specified IP addresses or CIDR blocks to access the file system, and assign different levels of access permission to different IP addresses or CIDR blocks by adding rules to the permission group.\nFor information about NAS Access Group and how to use it, see [What is NAS Access Group](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createaccessgroup)\n\n\u003e **NOTE:** Available since v1.33.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst foo = new alicloud.nas.AccessGroup(\"foo\", {\n accessGroupName: `terraform-example-${_default.result}`,\n accessGroupType: \"Vpc\",\n description: \"terraform-example\",\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nfoo = alicloud.nas.AccessGroup(\"foo\",\n access_group_name=f\"terraform-example-{default['result']}\",\n access_group_type=\"Vpc\",\n description=\"terraform-example\",\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var foo = new AliCloud.Nas.AccessGroup(\"foo\", new()\n {\n AccessGroupName = $\"terraform-example-{@default.Result}\",\n AccessGroupType = \"Vpc\",\n Description = \"terraform-example\",\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessGroup(ctx, \"foo\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var foo = new AccessGroup(\"foo\", AccessGroupArgs.builder()\n .accessGroupName(String.format(\"terraform-example-%s\", default_.result()))\n .accessGroupType(\"Vpc\")\n .description(\"terraform-example\")\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n foo:\n type: alicloud:nas:AccessGroup\n properties:\n accessGroupName: terraform-example-${default.result}\n accessGroupType: Vpc\n description: terraform-example\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNAS Access Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessGroup:AccessGroup example \u003caccess_group_name\u003e:\u003cfile_system_type\u003e\n```\n\n", "properties": { "accessGroupName": { "type": "string", @@ -213700,7 +218343,7 @@ } }, "alicloud:nas/accessPoint:AccessPoint": { - "description": "Provides a File Storage (NAS) Access Point resource.\n\n\n\nFor information about NAS Access Point and how to use it, see [What is Access Point](https://www.alibabacloud.com/help/zh/nas/developer-reference/api-nas-2017-06-26-createaccesspoint).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst azone = config.get(\"azone\") || \"cn-hangzhou-g\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultkyVC70 = new alicloud.vpc.Network(\"defaultkyVC70\", {\n cidrBlock: \"172.16.0.0/12\",\n description: \"接入点测试noRootDirectory\",\n});\nconst defaultoZAPmO = new alicloud.vpc.Switch(\"defaultoZAPmO\", {\n vpcId: defaultkyVC70.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst defaultBbc7ev = new alicloud.nas.AccessGroup(\"defaultBbc7ev\", {\n accessGroupType: \"Vpc\",\n accessGroupName: `${name}-${defaultInteger.result}`,\n fileSystemType: \"standard\",\n});\nconst defaultVtUpDh = new alicloud.nas.FileSystem(\"defaultVtUpDh\", {\n storageType: \"Performance\",\n zoneId: azone,\n encryptType: 0,\n protocolType: \"NFS\",\n fileSystemType: \"standard\",\n description: \"AccessPointnoRootDirectory\",\n});\nconst defaultAccessPoint = new alicloud.nas.AccessPoint(\"default\", {\n vpcId: defaultkyVC70.id,\n accessGroup: defaultBbc7ev.accessGroupName,\n vswitchId: defaultoZAPmO.id,\n fileSystemId: defaultVtUpDh.id,\n accessPointName: name,\n posixUser: {\n posixGroupId: 123,\n posixUserId: 123,\n },\n rootPathPermission: {\n ownerGroupId: 1,\n ownerUserId: 1,\n permission: \"0777\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nazone = config.get(\"azone\")\nif azone is None:\n azone = \"cn-hangzhou-g\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultky_vc70 = alicloud.vpc.Network(\"defaultkyVC70\",\n cidr_block=\"172.16.0.0/12\",\n description=\"接入点测试noRootDirectory\")\ndefaulto_za_pm_o = alicloud.vpc.Switch(\"defaultoZAPmO\",\n vpc_id=defaultky_vc70.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\")\ndefault_bbc7ev = alicloud.nas.AccessGroup(\"defaultBbc7ev\",\n access_group_type=\"Vpc\",\n access_group_name=f\"{name}-{default_integer['result']}\",\n file_system_type=\"standard\")\ndefault_vt_up_dh = alicloud.nas.FileSystem(\"defaultVtUpDh\",\n storage_type=\"Performance\",\n zone_id=azone,\n encrypt_type=0,\n protocol_type=\"NFS\",\n file_system_type=\"standard\",\n description=\"AccessPointnoRootDirectory\")\ndefault_access_point = alicloud.nas.AccessPoint(\"default\",\n vpc_id=defaultky_vc70.id,\n access_group=default_bbc7ev.access_group_name,\n vswitch_id=defaulto_za_pm_o.id,\n file_system_id=default_vt_up_dh.id,\n access_point_name=name,\n posix_user={\n \"posix_group_id\": 123,\n \"posix_user_id\": 123,\n },\n root_path_permission={\n \"owner_group_id\": 1,\n \"owner_user_id\": 1,\n \"permission\": \"0777\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var azone = config.Get(\"azone\") ?? \"cn-hangzhou-g\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultkyVC70 = new AliCloud.Vpc.Network(\"defaultkyVC70\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n Description = \"接入点测试noRootDirectory\",\n });\n\n var defaultoZAPmO = new AliCloud.Vpc.Switch(\"defaultoZAPmO\", new()\n {\n VpcId = defaultkyVC70.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var defaultBbc7ev = new AliCloud.Nas.AccessGroup(\"defaultBbc7ev\", new()\n {\n AccessGroupType = \"Vpc\",\n AccessGroupName = $\"{name}-{defaultInteger.Result}\",\n FileSystemType = \"standard\",\n });\n\n var defaultVtUpDh = new AliCloud.Nas.FileSystem(\"defaultVtUpDh\", new()\n {\n StorageType = \"Performance\",\n ZoneId = azone,\n EncryptType = 0,\n ProtocolType = \"NFS\",\n FileSystemType = \"standard\",\n Description = \"AccessPointnoRootDirectory\",\n });\n\n var defaultAccessPoint = new AliCloud.Nas.AccessPoint(\"default\", new()\n {\n VpcId = defaultkyVC70.Id,\n AccessGroup = defaultBbc7ev.AccessGroupName,\n VswitchId = defaultoZAPmO.Id,\n FileSystemId = defaultVtUpDh.Id,\n AccessPointName = name,\n PosixUser = new AliCloud.Nas.Inputs.AccessPointPosixUserArgs\n {\n PosixGroupId = 123,\n PosixUserId = 123,\n },\n RootPathPermission = new AliCloud.Nas.Inputs.AccessPointRootPathPermissionArgs\n {\n OwnerGroupId = 1,\n OwnerUserId = 1,\n Permission = \"0777\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tazone := \"cn-hangzhou-g\"\n\t\tif param := cfg.Get(\"azone\"); param != \"\" {\n\t\t\tazone = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultkyVC70, err := vpc.NewNetwork(ctx, \"defaultkyVC70\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tDescription: pulumi.String(\"接入点测试noRootDirectory\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultoZAPmO, err := vpc.NewSwitch(ctx, \"defaultoZAPmO\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultkyVC70.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBbc7ev, err := nas.NewAccessGroup(ctx, \"defaultBbc7ev\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tAccessGroupName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVtUpDh, err := nas.NewFileSystem(ctx, \"defaultVtUpDh\", \u0026nas.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tZoneId: pulumi.String(azone),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tDescription: pulumi.String(\"AccessPointnoRootDirectory\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessPoint(ctx, \"default\", \u0026nas.AccessPointArgs{\n\t\t\tVpcId: defaultkyVC70.ID(),\n\t\t\tAccessGroup: defaultBbc7ev.AccessGroupName,\n\t\t\tVswitchId: defaultoZAPmO.ID(),\n\t\t\tFileSystemId: defaultVtUpDh.ID(),\n\t\t\tAccessPointName: pulumi.String(name),\n\t\t\tPosixUser: \u0026nas.AccessPointPosixUserArgs{\n\t\t\t\tPosixGroupId: pulumi.Int(123),\n\t\t\t\tPosixUserId: pulumi.Int(123),\n\t\t\t},\n\t\t\tRootPathPermission: \u0026nas.AccessPointRootPathPermissionArgs{\n\t\t\t\tOwnerGroupId: pulumi.Int(1),\n\t\t\t\tOwnerUserId: pulumi.Int(1),\n\t\t\t\tPermission: pulumi.String(\"0777\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.AccessPoint;\nimport com.pulumi.alicloud.nas.AccessPointArgs;\nimport com.pulumi.alicloud.nas.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.alicloud.nas.inputs.AccessPointRootPathPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var azone = config.get(\"azone\").orElse(\"cn-hangzhou-g\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultkyVC70 = new Network(\"defaultkyVC70\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .description(\"接入点测试noRootDirectory\")\n .build());\n\n var defaultoZAPmO = new Switch(\"defaultoZAPmO\", SwitchArgs.builder()\n .vpcId(defaultkyVC70.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var defaultBbc7ev = new AccessGroup(\"defaultBbc7ev\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .accessGroupName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .fileSystemType(\"standard\")\n .build());\n\n var defaultVtUpDh = new FileSystem(\"defaultVtUpDh\", FileSystemArgs.builder()\n .storageType(\"Performance\")\n .zoneId(azone)\n .encryptType(0)\n .protocolType(\"NFS\")\n .fileSystemType(\"standard\")\n .description(\"AccessPointnoRootDirectory\")\n .build());\n\n var defaultAccessPoint = new AccessPoint(\"defaultAccessPoint\", AccessPointArgs.builder()\n .vpcId(defaultkyVC70.id())\n .accessGroup(defaultBbc7ev.accessGroupName())\n .vswitchId(defaultoZAPmO.id())\n .fileSystemId(defaultVtUpDh.id())\n .accessPointName(name)\n .posixUser(AccessPointPosixUserArgs.builder()\n .posixGroupId(123)\n .posixUserId(123)\n .build())\n .rootPathPermission(AccessPointRootPathPermissionArgs.builder()\n .ownerGroupId(1)\n .ownerUserId(1)\n .permission(\"0777\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n azone:\n type: string\n default: cn-hangzhou-g\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultkyVC70:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n description: 接入点测试noRootDirectory\n defaultoZAPmO:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultkyVC70.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n defaultBbc7ev:\n type: alicloud:nas:AccessGroup\n properties:\n accessGroupType: Vpc\n accessGroupName: ${name}-${defaultInteger.result}\n fileSystemType: standard\n defaultVtUpDh:\n type: alicloud:nas:FileSystem\n properties:\n storageType: Performance\n zoneId: ${azone}\n encryptType: '0'\n protocolType: NFS\n fileSystemType: standard\n description: AccessPointnoRootDirectory\n defaultAccessPoint:\n type: alicloud:nas:AccessPoint\n name: default\n properties:\n vpcId: ${defaultkyVC70.id}\n accessGroup: ${defaultBbc7ev.accessGroupName}\n vswitchId: ${defaultoZAPmO.id}\n fileSystemId: ${defaultVtUpDh.id}\n accessPointName: ${name}\n posixUser:\n posixGroupId: '123'\n posixUserId: '123'\n rootPathPermission:\n ownerGroupId: '1'\n ownerUserId: '1'\n permission: '0777'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessPoint:AccessPoint example \u003cfile_system_id\u003e:\u003caccess_point_id\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Access Point resource.\n\n\n\nFor information about NAS Access Point and how to use it, see [What is Access Point](https://www.alibabacloud.com/help/zh/nas/developer-reference/api-nas-2017-06-26-createaccesspoint).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst azone = config.get(\"azone\") || \"cn-hangzhou-g\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultkyVC70 = new alicloud.vpc.Network(\"defaultkyVC70\", {\n cidrBlock: \"172.16.0.0/12\",\n description: \"接入点测试noRootDirectory\",\n});\nconst defaultoZAPmO = new alicloud.vpc.Switch(\"defaultoZAPmO\", {\n vpcId: defaultkyVC70.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n});\nconst defaultBbc7ev = new alicloud.nas.AccessGroup(\"defaultBbc7ev\", {\n accessGroupType: \"Vpc\",\n accessGroupName: `${name}-${defaultInteger.result}`,\n fileSystemType: \"standard\",\n});\nconst defaultVtUpDh = new alicloud.nas.FileSystem(\"defaultVtUpDh\", {\n storageType: \"Performance\",\n zoneId: azone,\n encryptType: 0,\n protocolType: \"NFS\",\n fileSystemType: \"standard\",\n description: \"AccessPointnoRootDirectory\",\n});\nconst defaultAccessPoint = new alicloud.nas.AccessPoint(\"default\", {\n vpcId: defaultkyVC70.id,\n accessGroup: defaultBbc7ev.accessGroupName,\n vswitchId: defaultoZAPmO.id,\n fileSystemId: defaultVtUpDh.id,\n accessPointName: name,\n posixUser: {\n posixGroupId: 123,\n posixUserId: 123,\n },\n rootPathPermission: {\n ownerGroupId: 1,\n ownerUserId: 1,\n permission: \"0777\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nazone = config.get(\"azone\")\nif azone is None:\n azone = \"cn-hangzhou-g\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultky_vc70 = alicloud.vpc.Network(\"defaultkyVC70\",\n cidr_block=\"172.16.0.0/12\",\n description=\"接入点测试noRootDirectory\")\ndefaulto_za_pm_o = alicloud.vpc.Switch(\"defaultoZAPmO\",\n vpc_id=defaultky_vc70.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\")\ndefault_bbc7ev = alicloud.nas.AccessGroup(\"defaultBbc7ev\",\n access_group_type=\"Vpc\",\n access_group_name=f\"{name}-{default_integer['result']}\",\n file_system_type=\"standard\")\ndefault_vt_up_dh = alicloud.nas.FileSystem(\"defaultVtUpDh\",\n storage_type=\"Performance\",\n zone_id=azone,\n encrypt_type=0,\n protocol_type=\"NFS\",\n file_system_type=\"standard\",\n description=\"AccessPointnoRootDirectory\")\ndefault_access_point = alicloud.nas.AccessPoint(\"default\",\n vpc_id=defaultky_vc70.id,\n access_group=default_bbc7ev.access_group_name,\n vswitch_id=defaulto_za_pm_o.id,\n file_system_id=default_vt_up_dh.id,\n access_point_name=name,\n posix_user={\n \"posix_group_id\": 123,\n \"posix_user_id\": 123,\n },\n root_path_permission={\n \"owner_group_id\": 1,\n \"owner_user_id\": 1,\n \"permission\": \"0777\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var azone = config.Get(\"azone\") ?? \"cn-hangzhou-g\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultkyVC70 = new AliCloud.Vpc.Network(\"defaultkyVC70\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n Description = \"接入点测试noRootDirectory\",\n });\n\n var defaultoZAPmO = new AliCloud.Vpc.Switch(\"defaultoZAPmO\", new()\n {\n VpcId = defaultkyVC70.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n });\n\n var defaultBbc7ev = new AliCloud.Nas.AccessGroup(\"defaultBbc7ev\", new()\n {\n AccessGroupType = \"Vpc\",\n AccessGroupName = $\"{name}-{defaultInteger.Result}\",\n FileSystemType = \"standard\",\n });\n\n var defaultVtUpDh = new AliCloud.Nas.FileSystem(\"defaultVtUpDh\", new()\n {\n StorageType = \"Performance\",\n ZoneId = azone,\n EncryptType = 0,\n ProtocolType = \"NFS\",\n FileSystemType = \"standard\",\n Description = \"AccessPointnoRootDirectory\",\n });\n\n var defaultAccessPoint = new AliCloud.Nas.AccessPoint(\"default\", new()\n {\n VpcId = defaultkyVC70.Id,\n AccessGroup = defaultBbc7ev.AccessGroupName,\n VswitchId = defaultoZAPmO.Id,\n FileSystemId = defaultVtUpDh.Id,\n AccessPointName = name,\n PosixUser = new AliCloud.Nas.Inputs.AccessPointPosixUserArgs\n {\n PosixGroupId = 123,\n PosixUserId = 123,\n },\n RootPathPermission = new AliCloud.Nas.Inputs.AccessPointRootPathPermissionArgs\n {\n OwnerGroupId = 1,\n OwnerUserId = 1,\n Permission = \"0777\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tazone := \"cn-hangzhou-g\"\n\t\tif param := cfg.Get(\"azone\"); param != \"\" {\n\t\t\tazone = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultkyVC70, err := vpc.NewNetwork(ctx, \"defaultkyVC70\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tDescription: pulumi.String(\"接入点测试noRootDirectory\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultoZAPmO, err := vpc.NewSwitch(ctx, \"defaultoZAPmO\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultkyVC70.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBbc7ev, err := nas.NewAccessGroup(ctx, \"defaultBbc7ev\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tAccessGroupName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVtUpDh, err := nas.NewFileSystem(ctx, \"defaultVtUpDh\", \u0026nas.FileSystemArgs{\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tZoneId: pulumi.String(azone),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tDescription: pulumi.String(\"AccessPointnoRootDirectory\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessPoint(ctx, \"default\", \u0026nas.AccessPointArgs{\n\t\t\tVpcId: defaultkyVC70.ID(),\n\t\t\tAccessGroup: defaultBbc7ev.AccessGroupName,\n\t\t\tVswitchId: defaultoZAPmO.ID(),\n\t\t\tFileSystemId: defaultVtUpDh.ID(),\n\t\t\tAccessPointName: pulumi.String(name),\n\t\t\tPosixUser: \u0026nas.AccessPointPosixUserArgs{\n\t\t\t\tPosixGroupId: pulumi.Int(123),\n\t\t\t\tPosixUserId: pulumi.Int(123),\n\t\t\t},\n\t\t\tRootPathPermission: \u0026nas.AccessPointRootPathPermissionArgs{\n\t\t\t\tOwnerGroupId: pulumi.Int(1),\n\t\t\t\tOwnerUserId: pulumi.Int(1),\n\t\t\t\tPermission: pulumi.String(\"0777\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.AccessPoint;\nimport com.pulumi.alicloud.nas.AccessPointArgs;\nimport com.pulumi.alicloud.nas.inputs.AccessPointPosixUserArgs;\nimport com.pulumi.alicloud.nas.inputs.AccessPointRootPathPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var azone = config.get(\"azone\").orElse(\"cn-hangzhou-g\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultkyVC70 = new Network(\"defaultkyVC70\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .description(\"接入点测试noRootDirectory\")\n .build());\n\n var defaultoZAPmO = new Switch(\"defaultoZAPmO\", SwitchArgs.builder()\n .vpcId(defaultkyVC70.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .build());\n\n var defaultBbc7ev = new AccessGroup(\"defaultBbc7ev\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .accessGroupName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .fileSystemType(\"standard\")\n .build());\n\n var defaultVtUpDh = new FileSystem(\"defaultVtUpDh\", FileSystemArgs.builder()\n .storageType(\"Performance\")\n .zoneId(azone)\n .encryptType(0)\n .protocolType(\"NFS\")\n .fileSystemType(\"standard\")\n .description(\"AccessPointnoRootDirectory\")\n .build());\n\n var defaultAccessPoint = new AccessPoint(\"defaultAccessPoint\", AccessPointArgs.builder()\n .vpcId(defaultkyVC70.id())\n .accessGroup(defaultBbc7ev.accessGroupName())\n .vswitchId(defaultoZAPmO.id())\n .fileSystemId(defaultVtUpDh.id())\n .accessPointName(name)\n .posixUser(AccessPointPosixUserArgs.builder()\n .posixGroupId(123)\n .posixUserId(123)\n .build())\n .rootPathPermission(AccessPointRootPathPermissionArgs.builder()\n .ownerGroupId(1)\n .ownerUserId(1)\n .permission(\"0777\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n azone:\n type: string\n default: cn-hangzhou-g\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultkyVC70:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n description: 接入点测试noRootDirectory\n defaultoZAPmO:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultkyVC70.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n defaultBbc7ev:\n type: alicloud:nas:AccessGroup\n properties:\n accessGroupType: Vpc\n accessGroupName: ${name}-${defaultInteger.result}\n fileSystemType: standard\n defaultVtUpDh:\n type: alicloud:nas:FileSystem\n properties:\n storageType: Performance\n zoneId: ${azone}\n encryptType: '0'\n protocolType: NFS\n fileSystemType: standard\n description: AccessPointnoRootDirectory\n defaultAccessPoint:\n type: alicloud:nas:AccessPoint\n name: default\n properties:\n vpcId: ${defaultkyVC70.id}\n accessGroup: ${defaultBbc7ev.accessGroupName}\n vswitchId: ${defaultoZAPmO.id}\n fileSystemId: ${defaultVtUpDh.id}\n accessPointName: ${name}\n posixUser:\n posixGroupId: '123'\n posixUserId: '123'\n rootPathPermission:\n ownerGroupId: '1'\n ownerUserId: '1'\n permission: '0777'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessPoint:AccessPoint example \u003cfile_system_id\u003e:\u003caccess_point_id\u003e\n```\n\n", "properties": { "accessGroup": { "type": "string", @@ -213884,7 +218527,7 @@ } }, "alicloud:nas/accessRule:AccessRule": { - "description": "Provides a NAS Access Rule resource. \n\nFor information about NAS Access Rule and how to use it, see [What is Access Rule](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createaccessrule).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccessGroup = new alicloud.nas.AccessGroup(\"default\", {\n accessGroupType: \"Vpc\",\n description: \"ExtremeAccessGroup\",\n accessGroupName: `terraform-example-${_default.result}`,\n fileSystemType: \"extreme\",\n});\nconst defaultAccessRule = new alicloud.nas.AccessRule(\"default\", {\n accessGroupName: defaultAccessGroup.accessGroupName,\n rwAccessType: \"RDONLY\",\n ipv6SourceCidrIp: \"::1\",\n userAccessType: \"no_squash\",\n priority: 1,\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_access_group = alicloud.nas.AccessGroup(\"default\",\n access_group_type=\"Vpc\",\n description=\"ExtremeAccessGroup\",\n access_group_name=f\"terraform-example-{default['result']}\",\n file_system_type=\"extreme\")\ndefault_access_rule = alicloud.nas.AccessRule(\"default\",\n access_group_name=default_access_group.access_group_name,\n rw_access_type=\"RDONLY\",\n ipv6_source_cidr_ip=\"::1\",\n user_access_type=\"no_squash\",\n priority=1,\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccessGroup = new AliCloud.Nas.AccessGroup(\"default\", new()\n {\n AccessGroupType = \"Vpc\",\n Description = \"ExtremeAccessGroup\",\n AccessGroupName = $\"terraform-example-{@default.Result}\",\n FileSystemType = \"extreme\",\n });\n\n var defaultAccessRule = new AliCloud.Nas.AccessRule(\"default\", new()\n {\n AccessGroupName = defaultAccessGroup.AccessGroupName,\n RwAccessType = \"RDONLY\",\n Ipv6SourceCidrIp = \"::1\",\n UserAccessType = \"no_squash\",\n Priority = 1,\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessGroup, err := nas.NewAccessGroup(ctx, \"default\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"ExtremeAccessGroup\"),\n\t\t\tAccessGroupName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessRule(ctx, \"default\", \u0026nas.AccessRuleArgs{\n\t\t\tAccessGroupName: defaultAccessGroup.AccessGroupName,\n\t\t\tRwAccessType: pulumi.String(\"RDONLY\"),\n\t\t\tIpv6SourceCidrIp: pulumi.String(\"::1\"),\n\t\t\tUserAccessType: pulumi.String(\"no_squash\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.AccessRule;\nimport com.pulumi.alicloud.nas.AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .description(\"ExtremeAccessGroup\")\n .accessGroupName(String.format(\"terraform-example-%s\", default_.result()))\n .fileSystemType(\"extreme\")\n .build());\n\n var defaultAccessRule = new AccessRule(\"defaultAccessRule\", AccessRuleArgs.builder()\n .accessGroupName(defaultAccessGroup.accessGroupName())\n .rwAccessType(\"RDONLY\")\n .ipv6SourceCidrIp(\"::1\")\n .userAccessType(\"no_squash\")\n .priority(1)\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccessGroup:\n type: alicloud:nas:AccessGroup\n name: default\n properties:\n accessGroupType: Vpc\n description: ExtremeAccessGroup\n accessGroupName: terraform-example-${default.result}\n fileSystemType: extreme\n defaultAccessRule:\n type: alicloud:nas:AccessRule\n name: default\n properties:\n accessGroupName: ${defaultAccessGroup.accessGroupName}\n rwAccessType: RDONLY\n ipv6SourceCidrIp: ::1\n userAccessType: no_squash\n priority: '1'\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAS Access Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessRule:AccessRule example \u003caccess_group_name\u003e:\u003cfile_system_type\u003e:\u003caccess_rule_id\u003e\n```\n\n", + "description": "Provides a NAS Access Rule resource. \n\nFor information about NAS Access Rule and how to use it, see [What is Access Rule](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createaccessrule).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultAccessGroup = new alicloud.nas.AccessGroup(\"default\", {\n accessGroupType: \"Vpc\",\n description: \"ExtremeAccessGroup\",\n accessGroupName: `terraform-example-${_default.result}`,\n fileSystemType: \"extreme\",\n});\nconst defaultAccessRule = new alicloud.nas.AccessRule(\"default\", {\n accessGroupName: defaultAccessGroup.accessGroupName,\n rwAccessType: \"RDONLY\",\n ipv6SourceCidrIp: \"::1\",\n userAccessType: \"no_squash\",\n priority: 1,\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_access_group = alicloud.nas.AccessGroup(\"default\",\n access_group_type=\"Vpc\",\n description=\"ExtremeAccessGroup\",\n access_group_name=f\"terraform-example-{default['result']}\",\n file_system_type=\"extreme\")\ndefault_access_rule = alicloud.nas.AccessRule(\"default\",\n access_group_name=default_access_group.access_group_name,\n rw_access_type=\"RDONLY\",\n ipv6_source_cidr_ip=\"::1\",\n user_access_type=\"no_squash\",\n priority=1,\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultAccessGroup = new AliCloud.Nas.AccessGroup(\"default\", new()\n {\n AccessGroupType = \"Vpc\",\n Description = \"ExtremeAccessGroup\",\n AccessGroupName = $\"terraform-example-{@default.Result}\",\n FileSystemType = \"extreme\",\n });\n\n var defaultAccessRule = new AliCloud.Nas.AccessRule(\"default\", new()\n {\n AccessGroupName = defaultAccessGroup.AccessGroupName,\n RwAccessType = \"RDONLY\",\n Ipv6SourceCidrIp = \"::1\",\n UserAccessType = \"no_squash\",\n Priority = 1,\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccessGroup, err := nas.NewAccessGroup(ctx, \"default\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"ExtremeAccessGroup\"),\n\t\t\tAccessGroupName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewAccessRule(ctx, \"default\", \u0026nas.AccessRuleArgs{\n\t\t\tAccessGroupName: defaultAccessGroup.AccessGroupName,\n\t\t\tRwAccessType: pulumi.String(\"RDONLY\"),\n\t\t\tIpv6SourceCidrIp: pulumi.String(\"::1\"),\n\t\t\tUserAccessType: pulumi.String(\"no_squash\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.AccessRule;\nimport com.pulumi.alicloud.nas.AccessRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultAccessGroup = new AccessGroup(\"defaultAccessGroup\", AccessGroupArgs.builder()\n .accessGroupType(\"Vpc\")\n .description(\"ExtremeAccessGroup\")\n .accessGroupName(String.format(\"terraform-example-%s\", default_.result()))\n .fileSystemType(\"extreme\")\n .build());\n\n var defaultAccessRule = new AccessRule(\"defaultAccessRule\", AccessRuleArgs.builder()\n .accessGroupName(defaultAccessGroup.accessGroupName())\n .rwAccessType(\"RDONLY\")\n .ipv6SourceCidrIp(\"::1\")\n .userAccessType(\"no_squash\")\n .priority(1)\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultAccessGroup:\n type: alicloud:nas:AccessGroup\n name: default\n properties:\n accessGroupType: Vpc\n description: ExtremeAccessGroup\n accessGroupName: terraform-example-${default.result}\n fileSystemType: extreme\n defaultAccessRule:\n type: alicloud:nas:AccessRule\n name: default\n properties:\n accessGroupName: ${defaultAccessGroup.accessGroupName}\n rwAccessType: RDONLY\n ipv6SourceCidrIp: ::1\n userAccessType: no_squash\n priority: '1'\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNAS Access Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/accessRule:AccessRule example \u003caccess_group_name\u003e:\u003cfile_system_type\u003e:\u003caccess_rule_id\u003e\n```\n\n", "properties": { "accessGroupName": { "type": "string", @@ -214012,7 +218655,7 @@ } }, "alicloud:nas/autoSnapshotPolicy:AutoSnapshotPolicy": { - "description": "Provides a NAS Auto Snapshot Policy resource. Automatic snapshot policy.\n\nFor information about NAS Auto Snapshot Policy and how to use it, see [What is Auto Snapshot Policy](https://www.alibabacloud.com/help/en/doc-detail/135662.html)).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.nas.AutoSnapshotPolicy(\"default\", {\n timePoints: [\n \"0\",\n \"1\",\n \"2\",\n ],\n retentionDays: 1,\n repeatWeekdays: [\n \"2\",\n \"3\",\n \"4\",\n ],\n autoSnapshotPolicyName: name,\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.nas.AutoSnapshotPolicy(\"default\",\n time_points=[\n \"0\",\n \"1\",\n \"2\",\n ],\n retention_days=1,\n repeat_weekdays=[\n \"2\",\n \"3\",\n \"4\",\n ],\n auto_snapshot_policy_name=name,\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Nas.AutoSnapshotPolicy(\"default\", new()\n {\n TimePoints = new[]\n {\n \"0\",\n \"1\",\n \"2\",\n },\n RetentionDays = 1,\n RepeatWeekdays = new[]\n {\n \"2\",\n \"3\",\n \"4\",\n },\n AutoSnapshotPolicyName = name,\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := nas.NewAutoSnapshotPolicy(ctx, \"default\", \u0026nas.AutoSnapshotPolicyArgs{\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0\"),\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(1),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\tpulumi.String(\"4\"),\n\t\t\t},\n\t\t\tAutoSnapshotPolicyName: pulumi.String(name),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.nas.AutoSnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AutoSnapshotPolicy(\"default\", AutoSnapshotPolicyArgs.builder()\n .timePoints( \n \"0\",\n \"1\",\n \"2\")\n .retentionDays(1)\n .repeatWeekdays( \n \"2\",\n \"3\",\n \"4\")\n .autoSnapshotPolicyName(name)\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:nas:AutoSnapshotPolicy\n properties:\n timePoints:\n - '0'\n - '1'\n - '2'\n retentionDays: '1'\n repeatWeekdays:\n - '2'\n - '3'\n - '4'\n autoSnapshotPolicyName: ${name}\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAS Auto Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/autoSnapshotPolicy:AutoSnapshotPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a NAS Auto Snapshot Policy resource. Automatic snapshot policy.\n\nFor information about NAS Auto Snapshot Policy and how to use it, see [What is Auto Snapshot Policy](https://www.alibabacloud.com/help/en/doc-detail/135662.html)).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.nas.AutoSnapshotPolicy(\"default\", {\n timePoints: [\n \"0\",\n \"1\",\n \"2\",\n ],\n retentionDays: 1,\n repeatWeekdays: [\n \"2\",\n \"3\",\n \"4\",\n ],\n autoSnapshotPolicyName: name,\n fileSystemType: \"extreme\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.nas.AutoSnapshotPolicy(\"default\",\n time_points=[\n \"0\",\n \"1\",\n \"2\",\n ],\n retention_days=1,\n repeat_weekdays=[\n \"2\",\n \"3\",\n \"4\",\n ],\n auto_snapshot_policy_name=name,\n file_system_type=\"extreme\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Nas.AutoSnapshotPolicy(\"default\", new()\n {\n TimePoints = new[]\n {\n \"0\",\n \"1\",\n \"2\",\n },\n RetentionDays = 1,\n RepeatWeekdays = new[]\n {\n \"2\",\n \"3\",\n \"4\",\n },\n AutoSnapshotPolicyName = name,\n FileSystemType = \"extreme\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := nas.NewAutoSnapshotPolicy(ctx, \"default\", \u0026nas.AutoSnapshotPolicyArgs{\n\t\t\tTimePoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0\"),\n\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t},\n\t\t\tRetentionDays: pulumi.Int(1),\n\t\t\tRepeatWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\tpulumi.String(\"4\"),\n\t\t\t},\n\t\t\tAutoSnapshotPolicyName: pulumi.String(name),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.AutoSnapshotPolicy;\nimport com.pulumi.alicloud.nas.AutoSnapshotPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AutoSnapshotPolicy(\"default\", AutoSnapshotPolicyArgs.builder()\n .timePoints( \n \"0\",\n \"1\",\n \"2\")\n .retentionDays(1)\n .repeatWeekdays( \n \"2\",\n \"3\",\n \"4\")\n .autoSnapshotPolicyName(name)\n .fileSystemType(\"extreme\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:nas:AutoSnapshotPolicy\n properties:\n timePoints:\n - '0'\n - '1'\n - '2'\n retentionDays: '1'\n repeatWeekdays:\n - '2'\n - '3'\n - '4'\n autoSnapshotPolicyName: ${name}\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNAS Auto Snapshot Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/autoSnapshotPolicy:AutoSnapshotPolicy example \u003cid\u003e\n```\n\n", "properties": { "autoSnapshotPolicyName": { "type": "string", @@ -214133,7 +218776,7 @@ } }, "alicloud:nas/dataFlow:DataFlow": { - "description": "Provides a File Storage (NAS) Data Flow resource.\n\nFor information about File Storage (NAS) Data Flow and how to use it, see [What is Data Flow](https://www.alibabacloud.com/help/en/doc-detail/27530.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"cpfs\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"cpfs\",\n storageType: \"advance_200\",\n fileSystemType: \"cpfs\",\n capacity: 3600,\n description: \"terraform-example\",\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n vpcId: exampleNetwork.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleMountTarget = new alicloud.nas.MountTarget(\"example\", {\n fileSystemId: exampleFileSystem.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleInteger = new random.index.Integer(\"example\", {\n max: 99999,\n min: 10000,\n});\nconst exampleBucket = new alicloud.oss.Bucket(\"example\", {\n bucket: `example-value-${exampleInteger.result}`,\n acl: \"private\",\n tags: {\n \"cpfs-dataflow\": \"true\",\n },\n});\nconst exampleFileset = new alicloud.nas.Fileset(\"example\", {\n fileSystemId: exampleMountTarget.fileSystemId,\n description: \"terraform-example\",\n fileSystemPath: \"/example_path/\",\n});\nconst exampleDataFlow = new alicloud.nas.DataFlow(\"example\", {\n fsetId: exampleFileset.filesetId,\n description: \"terraform-example\",\n fileSystemId: exampleFileSystem.id,\n sourceSecurityType: \"SSL\",\n sourceStorage: std.joinOutput({\n separator: \"\",\n input: [\n \"oss://\",\n exampleBucket.bucket,\n ],\n }).apply(invoke =\u003e invoke.result),\n throughput: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nexample = alicloud.nas.get_zones(file_system_type=\"cpfs\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[1].zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"cpfs\",\n storage_type=\"advance_200\",\n file_system_type=\"cpfs\",\n capacity=3600,\n description=\"terraform-example\",\n zone_id=example.zones[1].zone_id,\n vpc_id=example_network.id,\n vswitch_id=example_switch.id)\nexample_mount_target = alicloud.nas.MountTarget(\"example\",\n file_system_id=example_file_system.id,\n vswitch_id=example_switch.id)\nexample_integer = random.index.Integer(\"example\",\n max=99999,\n min=10000)\nexample_bucket = alicloud.oss.Bucket(\"example\",\n bucket=f\"example-value-{example_integer['result']}\",\n acl=\"private\",\n tags={\n \"cpfs-dataflow\": \"true\",\n })\nexample_fileset = alicloud.nas.Fileset(\"example\",\n file_system_id=example_mount_target.file_system_id,\n description=\"terraform-example\",\n file_system_path=\"/example_path/\")\nexample_data_flow = alicloud.nas.DataFlow(\"example\",\n fset_id=example_fileset.fileset_id,\n description=\"terraform-example\",\n file_system_id=example_file_system.id,\n source_security_type=\"SSL\",\n source_storage=std.join_output(separator=\"\",\n input=[\n \"oss://\",\n example_bucket.bucket,\n ]).apply(lambda invoke: invoke.result),\n throughput=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"cpfs\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"cpfs\",\n StorageType = \"advance_200\",\n FileSystemType = \"cpfs\",\n Capacity = 3600,\n Description = \"terraform-example\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n VpcId = exampleNetwork.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleMountTarget = new AliCloud.Nas.MountTarget(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleInteger = new Random.Index.Integer(\"example\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var exampleBucket = new AliCloud.Oss.Bucket(\"example\", new()\n {\n BucketName = $\"example-value-{exampleInteger.Result}\",\n Acl = \"private\",\n Tags = \n {\n { \"cpfs-dataflow\", \"true\" },\n },\n });\n\n var exampleFileset = new AliCloud.Nas.Fileset(\"example\", new()\n {\n FileSystemId = exampleMountTarget.FileSystemId,\n Description = \"terraform-example\",\n FileSystemPath = \"/example_path/\",\n });\n\n var exampleDataFlow = new AliCloud.Nas.DataFlow(\"example\", new()\n {\n FsetId = exampleFileset.FilesetId,\n Description = \"terraform-example\",\n FileSystemId = exampleFileSystem.Id,\n SourceSecurityType = \"SSL\",\n SourceStorage = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n \"oss://\",\n exampleBucket.BucketName,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Throughput = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"cpfs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tStorageType: pulumi.String(\"advance_200\"),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMountTarget, err := nas.NewMountTarget(ctx, \"example\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInteger, err := random.NewInteger(ctx, \"example\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucket, err := oss.NewBucket(ctx, \"example\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", exampleInteger.Result),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"cpfs-dataflow\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileset, err := nas.NewFileset(ctx, \"example\", \u0026nas.FilesetArgs{\n\t\t\tFileSystemId: exampleMountTarget.FileSystemId,\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemPath: pulumi.String(\"/example_path/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewDataFlow(ctx, \"example\", \u0026nas.DataFlowArgs{\n\t\t\tFsetId: exampleFileset.FilesetId,\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tSourceSecurityType: pulumi.String(\"SSL\"),\n\t\t\tSourceStorage: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"oss://\"),\n\t\t\t\t\texampleBucket.Bucket,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tThroughput: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.nas.Fileset;\nimport com.pulumi.alicloud.nas.FilesetArgs;\nimport com.pulumi.alicloud.nas.DataFlow;\nimport com.pulumi.alicloud.nas.DataFlowArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"cpfs\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[1].zoneId())\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"cpfs\")\n .storageType(\"advance_200\")\n .fileSystemType(\"cpfs\")\n .capacity(3600)\n .description(\"terraform-example\")\n .zoneId(example.zones()[1].zoneId())\n .vpcId(exampleNetwork.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleMountTarget = new MountTarget(\"exampleMountTarget\", MountTargetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleInteger = new Integer(\"exampleInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var exampleBucket = new Bucket(\"exampleBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", exampleInteger.result()))\n .acl(\"private\")\n .tags(Map.of(\"cpfs-dataflow\", \"true\"))\n .build());\n\n var exampleFileset = new Fileset(\"exampleFileset\", FilesetArgs.builder()\n .fileSystemId(exampleMountTarget.fileSystemId())\n .description(\"terraform-example\")\n .fileSystemPath(\"/example_path/\")\n .build());\n\n var exampleDataFlow = new DataFlow(\"exampleDataFlow\", DataFlowArgs.builder()\n .fsetId(exampleFileset.filesetId())\n .description(\"terraform-example\")\n .fileSystemId(exampleFileSystem.id())\n .sourceSecurityType(\"SSL\")\n .sourceStorage(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n \"oss://\",\n exampleBucket.bucket())\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .throughput(600)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[1].zoneId}\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: cpfs\n storageType: advance_200\n fileSystemType: cpfs\n capacity: 3600\n description: terraform-example\n zoneId: ${example.zones[1].zoneId}\n vpcId: ${exampleNetwork.id}\n vswitchId: ${exampleSwitch.id}\n exampleMountTarget:\n type: alicloud:nas:MountTarget\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n vswitchId: ${exampleSwitch.id}\n exampleInteger:\n type: random:Integer\n name: example\n properties:\n max: 99999\n min: 10000\n exampleBucket:\n type: alicloud:oss:Bucket\n name: example\n properties:\n bucket: example-value-${exampleInteger.result}\n acl: private\n tags:\n cpfs-dataflow: 'true'\n exampleFileset:\n type: alicloud:nas:Fileset\n name: example\n properties:\n fileSystemId: ${exampleMountTarget.fileSystemId}\n description: terraform-example\n fileSystemPath: /example_path/\n exampleDataFlow:\n type: alicloud:nas:DataFlow\n name: example\n properties:\n fsetId: ${exampleFileset.filesetId}\n description: terraform-example\n fileSystemId: ${exampleFileSystem.id}\n sourceSecurityType: SSL\n sourceStorage:\n fn::invoke:\n function: std:join\n arguments:\n separator: \"\"\n input:\n - oss://\n - ${exampleBucket.bucket}\n return: result\n throughput: 600\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: cpfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Data Flow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/dataFlow:DataFlow example \u003cfile_system_id\u003e:\u003cdata_flow_id\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Data Flow resource.\n\nFor information about File Storage (NAS) Data Flow and how to use it, see [What is Data Flow](https://www.alibabacloud.com/help/en/doc-detail/27530.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"cpfs\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"cpfs\",\n storageType: \"advance_200\",\n fileSystemType: \"cpfs\",\n capacity: 3600,\n description: \"terraform-example\",\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n vpcId: exampleNetwork.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleMountTarget = new alicloud.nas.MountTarget(\"example\", {\n fileSystemId: exampleFileSystem.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleInteger = new random.index.Integer(\"example\", {\n max: 99999,\n min: 10000,\n});\nconst exampleBucket = new alicloud.oss.Bucket(\"example\", {\n bucket: `example-value-${exampleInteger.result}`,\n acl: \"private\",\n tags: {\n \"cpfs-dataflow\": \"true\",\n },\n});\nconst exampleFileset = new alicloud.nas.Fileset(\"example\", {\n fileSystemId: exampleMountTarget.fileSystemId,\n description: \"terraform-example\",\n fileSystemPath: \"/example_path/\",\n});\nconst exampleDataFlow = new alicloud.nas.DataFlow(\"example\", {\n fsetId: exampleFileset.filesetId,\n description: \"terraform-example\",\n fileSystemId: exampleFileSystem.id,\n sourceSecurityType: \"SSL\",\n sourceStorage: std.joinOutput({\n separator: \"\",\n input: [\n \"oss://\",\n exampleBucket.bucket,\n ],\n }).apply(invoke =\u003e invoke.result),\n throughput: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nexample = alicloud.nas.get_zones(file_system_type=\"cpfs\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[1].zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"cpfs\",\n storage_type=\"advance_200\",\n file_system_type=\"cpfs\",\n capacity=3600,\n description=\"terraform-example\",\n zone_id=example.zones[1].zone_id,\n vpc_id=example_network.id,\n vswitch_id=example_switch.id)\nexample_mount_target = alicloud.nas.MountTarget(\"example\",\n file_system_id=example_file_system.id,\n vswitch_id=example_switch.id)\nexample_integer = random.index.Integer(\"example\",\n max=99999,\n min=10000)\nexample_bucket = alicloud.oss.Bucket(\"example\",\n bucket=f\"example-value-{example_integer['result']}\",\n acl=\"private\",\n tags={\n \"cpfs-dataflow\": \"true\",\n })\nexample_fileset = alicloud.nas.Fileset(\"example\",\n file_system_id=example_mount_target.file_system_id,\n description=\"terraform-example\",\n file_system_path=\"/example_path/\")\nexample_data_flow = alicloud.nas.DataFlow(\"example\",\n fset_id=example_fileset.fileset_id,\n description=\"terraform-example\",\n file_system_id=example_file_system.id,\n source_security_type=\"SSL\",\n source_storage=std.join_output(separator=\"\",\n input=[\n \"oss://\",\n example_bucket.bucket,\n ]).apply(lambda invoke: invoke.result),\n throughput=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"cpfs\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"cpfs\",\n StorageType = \"advance_200\",\n FileSystemType = \"cpfs\",\n Capacity = 3600,\n Description = \"terraform-example\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n VpcId = exampleNetwork.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleMountTarget = new AliCloud.Nas.MountTarget(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleInteger = new Random.Index.Integer(\"example\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var exampleBucket = new AliCloud.Oss.Bucket(\"example\", new()\n {\n BucketName = $\"example-value-{exampleInteger.Result}\",\n Acl = \"private\",\n Tags = \n {\n { \"cpfs-dataflow\", \"true\" },\n },\n });\n\n var exampleFileset = new AliCloud.Nas.Fileset(\"example\", new()\n {\n FileSystemId = exampleMountTarget.FileSystemId,\n Description = \"terraform-example\",\n FileSystemPath = \"/example_path/\",\n });\n\n var exampleDataFlow = new AliCloud.Nas.DataFlow(\"example\", new()\n {\n FsetId = exampleFileset.FilesetId,\n Description = \"terraform-example\",\n FileSystemId = exampleFileSystem.Id,\n SourceSecurityType = \"SSL\",\n SourceStorage = Std.Join.Invoke(new()\n {\n Separator = \"\",\n Input = new[]\n {\n \"oss://\",\n exampleBucket.BucketName,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Throughput = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"cpfs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tStorageType: pulumi.String(\"advance_200\"),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMountTarget, err := nas.NewMountTarget(ctx, \"example\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInteger, err := random.NewInteger(ctx, \"example\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucket, err := oss.NewBucket(ctx, \"example\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", exampleInteger.Result),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"cpfs-dataflow\": pulumi.String(\"true\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileset, err := nas.NewFileset(ctx, \"example\", \u0026nas.FilesetArgs{\n\t\t\tFileSystemId: exampleMountTarget.FileSystemId,\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemPath: pulumi.String(\"/example_path/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewDataFlow(ctx, \"example\", \u0026nas.DataFlowArgs{\n\t\t\tFsetId: exampleFileset.FilesetId,\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tSourceSecurityType: pulumi.String(\"SSL\"),\n\t\t\tSourceStorage: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\"\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"oss://\"),\n\t\t\t\t\texampleBucket.Bucket,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tThroughput: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.nas.Fileset;\nimport com.pulumi.alicloud.nas.FilesetArgs;\nimport com.pulumi.alicloud.nas.DataFlow;\nimport com.pulumi.alicloud.nas.DataFlowArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"cpfs\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[1].zoneId())\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"cpfs\")\n .storageType(\"advance_200\")\n .fileSystemType(\"cpfs\")\n .capacity(3600)\n .description(\"terraform-example\")\n .zoneId(example.zones()[1].zoneId())\n .vpcId(exampleNetwork.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleMountTarget = new MountTarget(\"exampleMountTarget\", MountTargetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleInteger = new Integer(\"exampleInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var exampleBucket = new Bucket(\"exampleBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", exampleInteger.result()))\n .acl(\"private\")\n .tags(Map.of(\"cpfs-dataflow\", \"true\"))\n .build());\n\n var exampleFileset = new Fileset(\"exampleFileset\", FilesetArgs.builder()\n .fileSystemId(exampleMountTarget.fileSystemId())\n .description(\"terraform-example\")\n .fileSystemPath(\"/example_path/\")\n .build());\n\n var exampleDataFlow = new DataFlow(\"exampleDataFlow\", DataFlowArgs.builder()\n .fsetId(exampleFileset.filesetId())\n .description(\"terraform-example\")\n .fileSystemId(exampleFileSystem.id())\n .sourceSecurityType(\"SSL\")\n .sourceStorage(StdFunctions.join(JoinArgs.builder()\n .separator(\"\")\n .input( \n \"oss://\",\n exampleBucket.bucket())\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .throughput(600)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[1].zoneId}\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: cpfs\n storageType: advance_200\n fileSystemType: cpfs\n capacity: 3600\n description: terraform-example\n zoneId: ${example.zones[1].zoneId}\n vpcId: ${exampleNetwork.id}\n vswitchId: ${exampleSwitch.id}\n exampleMountTarget:\n type: alicloud:nas:MountTarget\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n vswitchId: ${exampleSwitch.id}\n exampleInteger:\n type: random:Integer\n name: example\n properties:\n max: 99999\n min: 10000\n exampleBucket:\n type: alicloud:oss:Bucket\n name: example\n properties:\n bucket: example-value-${exampleInteger.result}\n acl: private\n tags:\n cpfs-dataflow: 'true'\n exampleFileset:\n type: alicloud:nas:Fileset\n name: example\n properties:\n fileSystemId: ${exampleMountTarget.fileSystemId}\n description: terraform-example\n fileSystemPath: /example_path/\n exampleDataFlow:\n type: alicloud:nas:DataFlow\n name: example\n properties:\n fsetId: ${exampleFileset.filesetId}\n description: terraform-example\n fileSystemId: ${exampleFileSystem.id}\n sourceSecurityType: SSL\n sourceStorage:\n fn::invoke:\n function: std:join\n arguments:\n separator: \"\"\n input:\n - oss://\n - ${exampleBucket.bucket}\n return: result\n throughput: 600\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: cpfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Data Flow can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/dataFlow:DataFlow example \u003cfile_system_id\u003e:\u003cdata_flow_id\u003e\n```\n\n", "properties": { "dataFlowId": { "type": "string", @@ -214273,7 +218916,7 @@ } }, "alicloud:nas/fileSystem:FileSystem": { - "description": "Provides a File Storage (NAS) File System resource.\n\nFile System Instance.\n\nFor information about File Storage (NAS) File System and how to use it, see [What is File System](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createfilesystem).\n\n\u003e **NOTE:** Available since v1.33.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n protocolType: \"NFS\",\n storageType: \"Capacity\",\n description: name,\n encryptType: 1,\n fileSystemType: \"standard\",\n recycleBin: {\n status: \"Enable\",\n reservedDays: 10,\n },\n nfsAcl: {\n enabled: true,\n },\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.nas.get_zones(file_system_type=\"standard\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n protocol_type=\"NFS\",\n storage_type=\"Capacity\",\n description=name,\n encrypt_type=1,\n file_system_type=\"standard\",\n recycle_bin={\n \"status\": \"Enable\",\n \"reserved_days\": 10,\n },\n nfs_acl={\n \"enabled\": True,\n },\n zone_id=default.zones[0].zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Capacity\",\n Description = name,\n EncryptType = 1,\n FileSystemType = \"standard\",\n RecycleBin = new AliCloud.Nas.Inputs.FileSystemRecycleBinArgs\n {\n Status = \"Enable\",\n ReservedDays = 10,\n },\n NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs\n {\n Enabled = true,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tRecycleBin: \u0026nas.FileSystemRecycleBinArgs{\n\t\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\t\tReservedDays: pulumi.Int(10),\n\t\t\t},\n\t\t\tNfsAcl: \u0026nas.FileSystemNfsAclArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemRecycleBinArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Capacity\")\n .description(name)\n .encryptType(1)\n .fileSystemType(\"standard\")\n .recycleBin(FileSystemRecycleBinArgs.builder()\n .status(\"Enable\")\n .reservedDays(10)\n .build())\n .nfsAcl(FileSystemNfsAclArgs.builder()\n .enabled(true)\n .build())\n .zoneId(default_.zones()[0].zoneId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n protocolType: NFS\n storageType: Capacity\n description: ${name}\n encryptType: 1\n fileSystemType: standard\n recycleBin:\n status: Enable\n reservedDays: '10'\n nfsAcl:\n enabled: true\n zoneId: ${default.zones[0].zoneId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/fileSystem:FileSystem example \u003cid\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) File System resource.\n\nFile System Instance.\n\nFor information about File Storage (NAS) File System and how to use it, see [What is File System](https://www.alibabacloud.com/help/en/nas/developer-reference/api-nas-2017-06-26-createfilesystem).\n\n\u003e **NOTE:** Available since v1.33.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n protocolType: \"NFS\",\n storageType: \"Capacity\",\n description: name,\n encryptType: 1,\n fileSystemType: \"standard\",\n recycleBin: {\n status: \"Enable\",\n reservedDays: 10,\n },\n nfsAcl: {\n enabled: true,\n },\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.nas.get_zones(file_system_type=\"standard\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n protocol_type=\"NFS\",\n storage_type=\"Capacity\",\n description=name,\n encrypt_type=1,\n file_system_type=\"standard\",\n recycle_bin={\n \"status\": \"Enable\",\n \"reserved_days\": 10,\n },\n nfs_acl={\n \"enabled\": True,\n },\n zone_id=default.zones[0].zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Capacity\",\n Description = name,\n EncryptType = 1,\n FileSystemType = \"standard\",\n RecycleBin = new AliCloud.Nas.Inputs.FileSystemRecycleBinArgs\n {\n Status = \"Enable\",\n ReservedDays = 10,\n },\n NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs\n {\n Enabled = true,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tRecycleBin: \u0026nas.FileSystemRecycleBinArgs{\n\t\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\t\tReservedDays: pulumi.Int(10),\n\t\t\t},\n\t\t\tNfsAcl: \u0026nas.FileSystemNfsAclArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemRecycleBinArgs;\nimport com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Capacity\")\n .description(name)\n .encryptType(1)\n .fileSystemType(\"standard\")\n .recycleBin(FileSystemRecycleBinArgs.builder()\n .status(\"Enable\")\n .reservedDays(10)\n .build())\n .nfsAcl(FileSystemNfsAclArgs.builder()\n .enabled(true)\n .build())\n .zoneId(default_.zones()[0].zoneId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n protocolType: NFS\n storageType: Capacity\n description: ${name}\n encryptType: 1\n fileSystemType: standard\n recycleBin:\n status: Enable\n reservedDays: '10'\n nfsAcl:\n enabled: true\n zoneId: ${default.zones[0].zoneId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) File System can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/fileSystem:FileSystem example \u003cid\u003e\n```\n\n", "properties": { "capacity": { "type": "integer", @@ -214296,12 +218939,10 @@ "description": "File system type.\n\nValue:\n- standard (default): Universal NAS\n- extreme: extreme NAS\n- cpfs: file storage CPFS\n" }, "keytab": { - "type": "string", - "description": "String of keytab file content encrypted by base64\n" + "type": "string" }, "keytabMd5": { - "type": "string", - "description": "String of the keytab file content encrypted by MD5\n" + "type": "string" }, "kmsKeyId": { "type": "string", @@ -214323,6 +218964,17 @@ "$ref": "#/types/alicloud:nas/FileSystemRecycleBin:FileSystemRecycleBin", "description": "Recycle Bin See \u003cspan pulumi-lang-nodejs=\"`recycleBin`\" pulumi-lang-dotnet=\"`RecycleBin`\" pulumi-lang-go=\"`recycleBin`\" pulumi-lang-python=\"`recycle_bin`\" pulumi-lang-yaml=\"`recycleBin`\" pulumi-lang-java=\"`recycleBin`\"\u003e`recycle_bin`\u003c/span\u003e below.\n" }, + "redundancyType": { + "type": "string", + "description": "Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS\n" + }, + "redundancyVswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC.\n" + }, "regionId": { "type": "string", "description": "RegionId\n" @@ -214337,7 +218989,7 @@ }, "snapshotId": { "type": "string", - "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n" + "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -214377,6 +219029,7 @@ "options", "protocolType", "recycleBin", + "redundancyType", "regionId", "resourceGroupId", "smbAcl", @@ -214404,12 +219057,10 @@ "willReplaceOnChanges": true }, "keytab": { - "type": "string", - "description": "String of keytab file content encrypted by base64\n" + "type": "string" }, "keytabMd5": { - "type": "string", - "description": "String of the keytab file content encrypted by MD5\n" + "type": "string" }, "kmsKeyId": { "type": "string", @@ -214433,6 +219084,19 @@ "$ref": "#/types/alicloud:nas/FileSystemRecycleBin:FileSystemRecycleBin", "description": "Recycle Bin See \u003cspan pulumi-lang-nodejs=\"`recycleBin`\" pulumi-lang-dotnet=\"`RecycleBin`\" pulumi-lang-go=\"`recycleBin`\" pulumi-lang-python=\"`recycle_bin`\" pulumi-lang-yaml=\"`recycleBin`\" pulumi-lang-java=\"`recycleBin`\"\u003e`recycle_bin`\u003c/span\u003e below.\n" }, + "redundancyType": { + "type": "string", + "description": "Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS\n", + "willReplaceOnChanges": true + }, + "redundancyVswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC.\n", + "willReplaceOnChanges": true + }, "resourceGroupId": { "type": "string", "description": "The ID of the resource group.\n" @@ -214443,7 +219107,7 @@ }, "snapshotId": { "type": "string", - "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n" + "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "storageType": { "type": "string", @@ -214503,12 +219167,10 @@ "willReplaceOnChanges": true }, "keytab": { - "type": "string", - "description": "String of keytab file content encrypted by base64\n" + "type": "string" }, "keytabMd5": { - "type": "string", - "description": "String of the keytab file content encrypted by MD5\n" + "type": "string" }, "kmsKeyId": { "type": "string", @@ -214532,6 +219194,19 @@ "$ref": "#/types/alicloud:nas/FileSystemRecycleBin:FileSystemRecycleBin", "description": "Recycle Bin See \u003cspan pulumi-lang-nodejs=\"`recycleBin`\" pulumi-lang-dotnet=\"`RecycleBin`\" pulumi-lang-go=\"`recycleBin`\" pulumi-lang-python=\"`recycle_bin`\" pulumi-lang-yaml=\"`recycleBin`\" pulumi-lang-java=\"`recycleBin`\"\u003e`recycle_bin`\u003c/span\u003e below.\n" }, + "redundancyType": { + "type": "string", + "description": "Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS\n", + "willReplaceOnChanges": true + }, + "redundancyVswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC.\n", + "willReplaceOnChanges": true + }, "regionId": { "type": "string", "description": "RegionId\n" @@ -214546,7 +219221,7 @@ }, "snapshotId": { "type": "string", - "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n" + "description": "Only extreme NAS is supported.\n\n\u003e **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed.\n\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" }, "status": { "type": "string", @@ -214584,15 +219259,23 @@ } }, "alicloud:nas/fileset:Fileset": { - "description": "Provides a File Storage (NAS) Fileset resource.\n\nFor information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"cpfs\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"cpfs\",\n storageType: \"advance_200\",\n fileSystemType: \"cpfs\",\n capacity: 3600,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n vpcId: exampleNetwork.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleFileset = new alicloud.nas.Fileset(\"example\", {\n fileSystemId: exampleFileSystem.id,\n description: \"terraform-example\",\n fileSystemPath: \"/example_path/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"cpfs\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[1].zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"cpfs\",\n storage_type=\"advance_200\",\n file_system_type=\"cpfs\",\n capacity=3600,\n zone_id=example.zones[1].zone_id,\n vpc_id=example_network.id,\n vswitch_id=example_switch.id)\nexample_fileset = alicloud.nas.Fileset(\"example\",\n file_system_id=example_file_system.id,\n description=\"terraform-example\",\n file_system_path=\"/example_path/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"cpfs\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"cpfs\",\n StorageType = \"advance_200\",\n FileSystemType = \"cpfs\",\n Capacity = 3600,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n VpcId = exampleNetwork.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleFileset = new AliCloud.Nas.Fileset(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n Description = \"terraform-example\",\n FileSystemPath = \"/example_path/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"cpfs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tStorageType: pulumi.String(\"advance_200\"),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewFileset(ctx, \"example\", \u0026nas.FilesetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemPath: pulumi.String(\"/example_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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.Fileset;\nimport com.pulumi.alicloud.nas.FilesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"cpfs\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[1].zoneId())\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"cpfs\")\n .storageType(\"advance_200\")\n .fileSystemType(\"cpfs\")\n .capacity(3600)\n .zoneId(example.zones()[1].zoneId())\n .vpcId(exampleNetwork.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleFileset = new Fileset(\"exampleFileset\", FilesetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .description(\"terraform-example\")\n .fileSystemPath(\"/example_path/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[1].zoneId}\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: cpfs\n storageType: advance_200\n fileSystemType: cpfs\n capacity: 3600\n zoneId: ${example.zones[1].zoneId}\n vpcId: ${exampleNetwork.id}\n vswitchId: ${exampleSwitch.id}\n exampleFileset:\n type: alicloud:nas:Fileset\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n description: terraform-example\n fileSystemPath: /example_path/\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: cpfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Fileset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/fileset:Fileset example \u003cfile_system_id\u003e:\u003cfileset_id\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Fileset resource.\n\nFileset of CPFS file system.\n\nFor information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"cpfs\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"cpfs\",\n storageType: \"advance_200\",\n fileSystemType: \"cpfs\",\n capacity: 3600,\n zoneId: example.then(example =\u003e example.zones?.[1]?.zoneId),\n vpcId: exampleNetwork.id,\n vswitchId: exampleSwitch.id,\n});\nconst exampleFileset = new alicloud.nas.Fileset(\"example\", {\n fileSystemId: exampleFileSystem.id,\n description: \"terraform-example\",\n fileSystemPath: \"/example_path/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"cpfs\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\",\n vpc_id=example_network.id,\n zone_id=example.zones[1].zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"cpfs\",\n storage_type=\"advance_200\",\n file_system_type=\"cpfs\",\n capacity=3600,\n zone_id=example.zones[1].zone_id,\n vpc_id=example_network.id,\n vswitch_id=example_switch.id)\nexample_fileset = alicloud.nas.Fileset(\"example\",\n file_system_id=example_file_system.id,\n description=\"terraform-example\",\n file_system_path=\"/example_path/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"cpfs\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"cpfs\",\n StorageType = \"advance_200\",\n FileSystemType = \"cpfs\",\n Capacity = 3600,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.ZoneId),\n VpcId = exampleNetwork.Id,\n VswitchId = exampleSwitch.Id,\n });\n\n var exampleFileset = new AliCloud.Nas.Fileset(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n Description = \"terraform-example\",\n FileSystemPath = \"/example_path/\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"cpfs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tStorageType: pulumi.String(\"advance_200\"),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tZoneId: pulumi.String(example.Zones[1].ZoneId),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewFileset(ctx, \"example\", \u0026nas.FilesetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tFileSystemPath: pulumi.String(\"/example_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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.Fileset;\nimport com.pulumi.alicloud.nas.FilesetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"cpfs\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[1].zoneId())\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"cpfs\")\n .storageType(\"advance_200\")\n .fileSystemType(\"cpfs\")\n .capacity(3600)\n .zoneId(example.zones()[1].zoneId())\n .vpcId(exampleNetwork.id())\n .vswitchId(exampleSwitch.id())\n .build());\n\n var exampleFileset = new Fileset(\"exampleFileset\", FilesetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .description(\"terraform-example\")\n .fileSystemPath(\"/example_path/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.17.3.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[1].zoneId}\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: cpfs\n storageType: advance_200\n fileSystemType: cpfs\n capacity: 3600\n zoneId: ${example.zones[1].zoneId}\n vpcId: ${exampleNetwork.id}\n vswitchId: ${exampleSwitch.id}\n exampleFileset:\n type: alicloud:nas:Fileset\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n description: terraform-example\n fileSystemPath: /example_path/\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: cpfs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Fileset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/fileset:Fileset example \u003cfile_system_id\u003e:\u003cfileset_id\u003e\n```\n\n", "properties": { + "createTime": { + "type": "string", + "description": "The time when Fileset was created.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset).\n- true: Enable instance release protection.\n- false (default): Turn off instance release protection\n" + }, "description": { "type": "string", - "description": "The description of the Fileset. It must be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.\n" + "description": "Description of Fileset.\n" }, "dryRun": { "type": "boolean", - "description": "The dry run.\n" + "description": "Specifies whether to perform a dry run. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "fileSystemId": { "type": "string", @@ -214600,31 +219283,37 @@ }, "fileSystemPath": { "type": "string", - "description": "The path of the fileset.\n" + "description": "The path of Fileset.\n" }, "filesetId": { "type": "string", - "description": "The first ID of the resource.\n" + "description": "Fileset ID\n" }, "status": { "type": "string", - "description": "The status of the fileset.\n" + "description": "The status of Fileset. Includes:\n" } }, "required": [ + "createTime", + "deletionProtection", "fileSystemId", "fileSystemPath", "filesetId", "status" ], "inputProperties": { + "deletionProtection": { + "type": "boolean", + "description": "The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset).\n- true: Enable instance release protection.\n- false (default): Turn off instance release protection\n" + }, "description": { "type": "string", - "description": "The description of the Fileset. It must be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.\n" + "description": "Description of Fileset.\n" }, "dryRun": { "type": "boolean", - "description": "The dry run.\n" + "description": "Specifies whether to perform a dry run. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "fileSystemId": { "type": "string", @@ -214633,7 +219322,7 @@ }, "fileSystemPath": { "type": "string", - "description": "The path of the fileset.\n", + "description": "The path of Fileset.\n", "willReplaceOnChanges": true } }, @@ -214644,13 +219333,21 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Fileset resources.\n", "properties": { + "createTime": { + "type": "string", + "description": "The time when Fileset was created.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset).\n- true: Enable instance release protection.\n- false (default): Turn off instance release protection\n" + }, "description": { "type": "string", - "description": "The description of the Fileset. It must be \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.\n" + "description": "Description of Fileset.\n" }, "dryRun": { "type": "boolean", - "description": "The dry run.\n" + "description": "Specifies whether to perform a dry run. Default value: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Valid values: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n" }, "fileSystemId": { "type": "string", @@ -214659,23 +219356,23 @@ }, "fileSystemPath": { "type": "string", - "description": "The path of the fileset.\n", + "description": "The path of Fileset.\n", "willReplaceOnChanges": true }, "filesetId": { "type": "string", - "description": "The first ID of the resource.\n" + "description": "Fileset ID\n" }, "status": { "type": "string", - "description": "The status of the fileset.\n" + "description": "The status of Fileset. Includes:\n" } }, "type": "object" } }, "alicloud:nas/lifecyclePolicy:LifecyclePolicy": { - "description": "Provides a File Storage (NAS) Lifecycle Policy resource.\n\nFor information about File Storage (NAS) Lifecycle Policy and how to use it, see [What is Lifecycle Policy](https://www.alibabacloud.com/help/en/doc-detail/169362.html).\n\n\u003e **NOTE:** Available in v1.153.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"Capacity\",\n});\nconst exampleLifecyclePolicy = new alicloud.nas.LifecyclePolicy(\"example\", {\n fileSystemId: example.id,\n lifecyclePolicyName: \"terraform-example\",\n lifecycleRuleName: \"DEFAULT_ATIME_14\",\n storageType: \"InfrequentAccess\",\n paths: [\"/\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"Capacity\")\nexample_lifecycle_policy = alicloud.nas.LifecyclePolicy(\"example\",\n file_system_id=example.id,\n lifecycle_policy_name=\"terraform-example\",\n lifecycle_rule_name=\"DEFAULT_ATIME_14\",\n storage_type=\"InfrequentAccess\",\n paths=[\"/\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Capacity\",\n });\n\n var exampleLifecyclePolicy = new AliCloud.Nas.LifecyclePolicy(\"example\", new()\n {\n FileSystemId = example.Id,\n LifecyclePolicyName = \"terraform-example\",\n LifecycleRuleName = \"DEFAULT_ATIME_14\",\n StorageType = \"InfrequentAccess\",\n Paths = new[]\n {\n \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewLifecyclePolicy(ctx, \"example\", \u0026nas.LifecyclePolicyArgs{\n\t\t\tFileSystemId: example.ID(),\n\t\t\tLifecyclePolicyName: pulumi.String(\"terraform-example\"),\n\t\t\tLifecycleRuleName: pulumi.String(\"DEFAULT_ATIME_14\"),\n\t\t\tStorageType: pulumi.String(\"InfrequentAccess\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.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.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.LifecyclePolicy;\nimport com.pulumi.alicloud.nas.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 FileSystem(\"example\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Capacity\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .fileSystemId(example.id())\n .lifecyclePolicyName(\"terraform-example\")\n .lifecycleRuleName(\"DEFAULT_ATIME_14\")\n .storageType(\"InfrequentAccess\")\n .paths(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:nas:FileSystem\n properties:\n protocolType: NFS\n storageType: Capacity\n exampleLifecyclePolicy:\n type: alicloud:nas:LifecyclePolicy\n name: example\n properties:\n fileSystemId: ${example.id}\n lifecyclePolicyName: terraform-example\n lifecycleRuleName: DEFAULT_ATIME_14\n storageType: InfrequentAccess\n paths:\n - /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Lifecycle Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/lifecyclePolicy:LifecyclePolicy example \u003cfile_system_id\u003e:\u003clifecycle_policy_name\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Lifecycle Policy resource.\n\nFor information about File Storage (NAS) Lifecycle Policy and how to use it, see [What is Lifecycle Policy](https://www.alibabacloud.com/help/en/doc-detail/169362.html).\n\n\u003e **NOTE:** Available in v1.153.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"Capacity\",\n});\nconst exampleLifecyclePolicy = new alicloud.nas.LifecyclePolicy(\"example\", {\n fileSystemId: example.id,\n lifecyclePolicyName: \"terraform-example\",\n lifecycleRuleName: \"DEFAULT_ATIME_14\",\n storageType: \"InfrequentAccess\",\n paths: [\"/\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"Capacity\")\nexample_lifecycle_policy = alicloud.nas.LifecyclePolicy(\"example\",\n file_system_id=example.id,\n lifecycle_policy_name=\"terraform-example\",\n lifecycle_rule_name=\"DEFAULT_ATIME_14\",\n storage_type=\"InfrequentAccess\",\n paths=[\"/\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Capacity\",\n });\n\n var exampleLifecyclePolicy = new AliCloud.Nas.LifecyclePolicy(\"example\", new()\n {\n FileSystemId = example.Id,\n LifecyclePolicyName = \"terraform-example\",\n LifecycleRuleName = \"DEFAULT_ATIME_14\",\n StorageType = \"InfrequentAccess\",\n Paths = new[]\n {\n \"/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewLifecyclePolicy(ctx, \"example\", \u0026nas.LifecyclePolicyArgs{\n\t\t\tFileSystemId: example.ID(),\n\t\t\tLifecyclePolicyName: pulumi.String(\"terraform-example\"),\n\t\t\tLifecycleRuleName: pulumi.String(\"DEFAULT_ATIME_14\"),\n\t\t\tStorageType: pulumi.String(\"InfrequentAccess\"),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.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.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.LifecyclePolicy;\nimport com.pulumi.alicloud.nas.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 FileSystem(\"example\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Capacity\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .fileSystemId(example.id())\n .lifecyclePolicyName(\"terraform-example\")\n .lifecycleRuleName(\"DEFAULT_ATIME_14\")\n .storageType(\"InfrequentAccess\")\n .paths(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:nas:FileSystem\n properties:\n protocolType: NFS\n storageType: Capacity\n exampleLifecyclePolicy:\n type: alicloud:nas:LifecyclePolicy\n name: example\n properties:\n fileSystemId: ${example.id}\n lifecyclePolicyName: terraform-example\n lifecycleRuleName: DEFAULT_ATIME_14\n storageType: InfrequentAccess\n paths:\n - /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Lifecycle Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/lifecyclePolicy:LifecyclePolicy example \u003cfile_system_id\u003e:\u003clifecycle_policy_name\u003e\n```\n\n", "properties": { "fileSystemId": { "type": "string", @@ -214779,7 +219476,7 @@ } }, "alicloud:nas/mountTarget:MountTarget": { - "description": "Provides a File Storage (NAS) Mount Target resource.\n\nFile system mount point.\n\nFor information about File Storage (NAS) Mount Target and how to use it, see [What is Mount Target](https://www.alibabacloud.com/help/en/doc-detail/27531.htm).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"extreme\",\n});\nconst countSize = _default.then(_default =\u003e _default.zones).length;\nconst zoneId = pulumi.all([_default, countSize]).apply(([_default, countSize]) =\u003e _default.zones[countSize - 1].zoneId);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: example.vpcName,\n cidrBlock: example.cidrBlock,\n vpcId: example.id,\n zoneId: zoneId,\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"advance\",\n fileSystemType: \"extreme\",\n capacity: 100,\n zoneId: zoneId,\n});\nconst exampleAccessGroup = new alicloud.nas.AccessGroup(\"example\", {\n accessGroupName: \"access_group_xxx\",\n accessGroupType: \"Vpc\",\n description: \"test_access_group\",\n fileSystemType: \"extreme\",\n});\nconst exampleMountTarget = new alicloud.nas.MountTarget(\"example\", {\n fileSystemId: exampleFileSystem.id,\n accessGroupName: exampleAccessGroup.accessGroupName,\n vswitchId: exampleSwitch.id,\n vpcId: example.id,\n networkType: exampleAccessGroup.accessGroupType,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.nas.get_zones(file_system_type=\"extreme\")\ncount_size = len(default.zones)\nzone_id = count_size.apply(lambda count_size: default.zones[count_size - 1]).apply(lambda obj: obj.zone_id)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=example.vpc_name,\n cidr_block=example.cidr_block,\n vpc_id=example.id,\n zone_id=zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"advance\",\n file_system_type=\"extreme\",\n capacity=100,\n zone_id=zone_id)\nexample_access_group = alicloud.nas.AccessGroup(\"example\",\n access_group_name=\"access_group_xxx\",\n access_group_type=\"Vpc\",\n description=\"test_access_group\",\n file_system_type=\"extreme\")\nexample_mount_target = alicloud.nas.MountTarget(\"example\",\n file_system_id=example_file_system.id,\n access_group_name=example_access_group.access_group_name,\n vswitch_id=example_switch.id,\n vpc_id=example.id,\n network_type=example_access_group.access_group_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"extreme\",\n });\n\n var countSize = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length;\n\n var zoneId = Output.Tuple(@default, countSize).Apply(values =\u003e\n {\n var @default = values.Item1;\n var countSize = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[countSize - 1].ZoneId;\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = example.VpcName,\n CidrBlock = example.CidrBlock,\n VpcId = example.Id,\n ZoneId = zoneId,\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"advance\",\n FileSystemType = \"extreme\",\n Capacity = 100,\n ZoneId = zoneId,\n });\n\n var exampleAccessGroup = new AliCloud.Nas.AccessGroup(\"example\", new()\n {\n AccessGroupName = \"access_group_xxx\",\n AccessGroupType = \"Vpc\",\n Description = \"test_access_group\",\n FileSystemType = \"extreme\",\n });\n\n var exampleMountTarget = new AliCloud.Nas.MountTarget(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n AccessGroupName = exampleAccessGroup.AccessGroupName,\n VswitchId = exampleSwitch.Id,\n VpcId = example.Id,\n NetworkType = exampleAccessGroup.AccessGroupType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"extreme\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcountSize := len(_default.Zones)\n\t\tzoneId := countSize.ApplyT(func(countSize int) (nas.GetZonesZone, error) {\n\t\t\treturn nas.GetZonesZone(_default.Zones[float64(countSize.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t}).(nas.GetZonesZoneOutput).ApplyT(func(obj nas.GetZonesZone) (*string, error) {\n\t\t\treturn obj.ZoneId, nil\n\t\t}).(pulumi.StringPtrOutput)\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: example.VpcName,\n\t\t\tCidrBlock: example.CidrBlock,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"advance\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGroup, err := nas.NewAccessGroup(ctx, \"example\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.String(\"access_group_xxx\"),\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"test_access_group\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewMountTarget(ctx, \"example\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tAccessGroupName: exampleAccessGroup.AccessGroupName,\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: example.ID(),\n\t\t\tNetworkType: exampleAccessGroup.AccessGroupType,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"extreme\")\n .build());\n\n final var countSize = default_.zones().length();\n\n final var zoneId = countSize.applyValue(_countSize -\u003e default_.zones()[_countSize - 1]).applyValue(_obj -\u003e _obj.zoneId());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(example.vpcName())\n .cidrBlock(example.cidrBlock())\n .vpcId(example.id())\n .zoneId(zoneId)\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"advance\")\n .fileSystemType(\"extreme\")\n .capacity(100)\n .zoneId(zoneId)\n .build());\n\n var exampleAccessGroup = new AccessGroup(\"exampleAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(\"access_group_xxx\")\n .accessGroupType(\"Vpc\")\n .description(\"test_access_group\")\n .fileSystemType(\"extreme\")\n .build());\n\n var exampleMountTarget = new MountTarget(\"exampleMountTarget\", MountTargetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .accessGroupName(exampleAccessGroup.accessGroupName())\n .vswitchId(exampleSwitch.id())\n .vpcId(example.id())\n .networkType(exampleAccessGroup.accessGroupType())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Mount Target can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/mountTarget:MountTarget example \u003cfile_system_id\u003e:\u003cmount_target_domain\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Mount Target resource.\n\nFile system mount point.\n\nFor information about File Storage (NAS) Mount Target and how to use it, see [What is Mount Target](https://www.alibabacloud.com/help/en/doc-detail/27531.htm).\n\n\u003e **NOTE:** Available since v1.34.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"extreme\",\n});\nconst countSize = _default.then(_default =\u003e _default.zones).length;\nconst zoneId = pulumi.all([_default, countSize]).apply(([_default, countSize]) =\u003e _default.zones[countSize - 1].zoneId);\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: example.vpcName,\n cidrBlock: example.cidrBlock,\n vpcId: example.id,\n zoneId: zoneId,\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"advance\",\n fileSystemType: \"extreme\",\n capacity: 100,\n zoneId: zoneId,\n});\nconst exampleAccessGroup = new alicloud.nas.AccessGroup(\"example\", {\n accessGroupName: \"access_group_xxx\",\n accessGroupType: \"Vpc\",\n description: \"test_access_group\",\n fileSystemType: \"extreme\",\n});\nconst exampleMountTarget = new alicloud.nas.MountTarget(\"example\", {\n fileSystemId: exampleFileSystem.id,\n accessGroupName: exampleAccessGroup.accessGroupName,\n vswitchId: exampleSwitch.id,\n vpcId: example.id,\n networkType: exampleAccessGroup.accessGroupType,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.nas.get_zones(file_system_type=\"extreme\")\ncount_size = len(default.zones)\nzone_id = count_size.apply(lambda count_size: default.zones[count_size - 1]).apply(lambda obj: obj.zone_id)\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=example.vpc_name,\n cidr_block=example.cidr_block,\n vpc_id=example.id,\n zone_id=zone_id)\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"advance\",\n file_system_type=\"extreme\",\n capacity=100,\n zone_id=zone_id)\nexample_access_group = alicloud.nas.AccessGroup(\"example\",\n access_group_name=\"access_group_xxx\",\n access_group_type=\"Vpc\",\n description=\"test_access_group\",\n file_system_type=\"extreme\")\nexample_mount_target = alicloud.nas.MountTarget(\"example\",\n file_system_id=example_file_system.id,\n access_group_name=example_access_group.access_group_name,\n vswitch_id=example_switch.id,\n vpc_id=example.id,\n network_type=example_access_group.access_group_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"extreme\",\n });\n\n var countSize = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones)).Length;\n\n var zoneId = Output.Tuple(@default, countSize).Apply(values =\u003e\n {\n var @default = values.Item1;\n var countSize = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Zones)[countSize - 1].ZoneId;\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = example.VpcName,\n CidrBlock = example.CidrBlock,\n VpcId = example.Id,\n ZoneId = zoneId,\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"advance\",\n FileSystemType = \"extreme\",\n Capacity = 100,\n ZoneId = zoneId,\n });\n\n var exampleAccessGroup = new AliCloud.Nas.AccessGroup(\"example\", new()\n {\n AccessGroupName = \"access_group_xxx\",\n AccessGroupType = \"Vpc\",\n Description = \"test_access_group\",\n FileSystemType = \"extreme\",\n });\n\n var exampleMountTarget = new AliCloud.Nas.MountTarget(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n AccessGroupName = exampleAccessGroup.AccessGroupName,\n VswitchId = exampleSwitch.Id,\n VpcId = example.Id,\n NetworkType = exampleAccessGroup.AccessGroupType,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"extreme\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcountSize := len(_default.Zones)\n\t\tzoneId := countSize.ApplyT(func(countSize int) (nas.GetZonesZone, error) {\n\t\t\treturn nas.GetZonesZone(_default.Zones[float64(countSize.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\treturn __convert - 1, nil\n\t\t\t}).(pulumi.Float64Output))]), nil\n\t\t}).(nas.GetZonesZoneOutput).ApplyT(func(obj nas.GetZonesZone) (*string, error) {\n\t\t\treturn obj.ZoneId, nil\n\t\t}).(pulumi.StringPtrOutput)\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: example.VpcName,\n\t\t\tCidrBlock: example.CidrBlock,\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"advance\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t\tZoneId: pulumi.String(zoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccessGroup, err := nas.NewAccessGroup(ctx, \"example\", \u0026nas.AccessGroupArgs{\n\t\t\tAccessGroupName: pulumi.String(\"access_group_xxx\"),\n\t\t\tAccessGroupType: pulumi.String(\"Vpc\"),\n\t\t\tDescription: pulumi.String(\"test_access_group\"),\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewMountTarget(ctx, \"example\", \u0026nas.MountTargetArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tAccessGroupName: exampleAccessGroup.AccessGroupName,\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tVpcId: example.ID(),\n\t\t\tNetworkType: exampleAccessGroup.AccessGroupType,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.AccessGroup;\nimport com.pulumi.alicloud.nas.AccessGroupArgs;\nimport com.pulumi.alicloud.nas.MountTarget;\nimport com.pulumi.alicloud.nas.MountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"extreme\")\n .build());\n\n final var countSize = default_.zones().length();\n\n final var zoneId = countSize.applyValue(_countSize -\u003e default_.zones()[_countSize - 1]).applyValue(_obj -\u003e _obj.zoneId());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(example.vpcName())\n .cidrBlock(example.cidrBlock())\n .vpcId(example.id())\n .zoneId(zoneId)\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"advance\")\n .fileSystemType(\"extreme\")\n .capacity(100)\n .zoneId(zoneId)\n .build());\n\n var exampleAccessGroup = new AccessGroup(\"exampleAccessGroup\", AccessGroupArgs.builder()\n .accessGroupName(\"access_group_xxx\")\n .accessGroupType(\"Vpc\")\n .description(\"test_access_group\")\n .fileSystemType(\"extreme\")\n .build());\n\n var exampleMountTarget = new MountTarget(\"exampleMountTarget\", MountTargetArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .accessGroupName(exampleAccessGroup.accessGroupName())\n .vswitchId(exampleSwitch.id())\n .vpcId(example.id())\n .networkType(exampleAccessGroup.accessGroupType())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Mount Target can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/mountTarget:MountTarget example \u003cfile_system_id\u003e:\u003cmount_target_domain\u003e\n```\n\n", "properties": { "accessGroupName": { "type": "string", @@ -214913,8 +219610,356 @@ "type": "object" } }, + "alicloud:nas/protocolMountTarget:ProtocolMountTarget": { + "description": "Provides a File Storage (NAS) Protocol Mount Target resource.\n\n\n\nFor information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget).\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.vpc.Network(\"example\", {\n isDefault: false,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"nas-examplee1223-vpc\",\n enableIpv6: true,\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n isDefault: false,\n vpcId: example.id,\n zoneId: \"cn-beijing-i\",\n cidrBlock: \"192.168.3.0/24\",\n vswitchName: \"nas-examplee1223-vsw2sdw-C\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n description: name,\n storageType: \"advance_100\",\n zoneId: \"cn-beijing-i\",\n vpcId: example.id,\n capacity: 3600,\n protocolType: \"cpfs\",\n vswitchId: exampleSwitch.id,\n fileSystemType: \"cpfs\",\n});\nconst exampleProtocolService = new alicloud.nas.ProtocolService(\"example\", {\n vpcId: example.id,\n protocolType: \"NFS\",\n protocolSpec: \"General\",\n vswitchId: exampleSwitch.id,\n dryRun: false,\n fileSystemId: exampleFileSystem.id,\n});\nconst exampleFileset = new alicloud.nas.Fileset(\"example\", {\n fileSystemPath: \"/examplefileset/\",\n description: \"cpfs-LRS-filesetexample-wyf\",\n fileSystemId: exampleFileSystem.id,\n});\nconst _default = new alicloud.nas.ProtocolMountTarget(\"default\", {\n fsetId: exampleFileset.filesetId,\n description: name,\n vpcId: example.id,\n vswitchId: exampleSwitch.id,\n accessGroupName: \"DEFAULT_VPC_GROUP_NAME\",\n dryRun: false,\n fileSystemId: exampleFileSystem.id,\n protocolServiceId: exampleProtocolService.protocolServiceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.vpc.Network(\"example\",\n is_default=False,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"nas-examplee1223-vpc\",\n enable_ipv6=True)\nexample_switch = alicloud.vpc.Switch(\"example\",\n is_default=False,\n vpc_id=example.id,\n zone_id=\"cn-beijing-i\",\n cidr_block=\"192.168.3.0/24\",\n vswitch_name=\"nas-examplee1223-vsw2sdw-C\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n description=name,\n storage_type=\"advance_100\",\n zone_id=\"cn-beijing-i\",\n vpc_id=example.id,\n capacity=3600,\n protocol_type=\"cpfs\",\n vswitch_id=example_switch.id,\n file_system_type=\"cpfs\")\nexample_protocol_service = alicloud.nas.ProtocolService(\"example\",\n vpc_id=example.id,\n protocol_type=\"NFS\",\n protocol_spec=\"General\",\n vswitch_id=example_switch.id,\n dry_run=False,\n file_system_id=example_file_system.id)\nexample_fileset = alicloud.nas.Fileset(\"example\",\n file_system_path=\"/examplefileset/\",\n description=\"cpfs-LRS-filesetexample-wyf\",\n file_system_id=example_file_system.id)\ndefault = alicloud.nas.ProtocolMountTarget(\"default\",\n fset_id=example_fileset.fileset_id,\n description=name,\n vpc_id=example.id,\n vswitch_id=example_switch.id,\n access_group_name=\"DEFAULT_VPC_GROUP_NAME\",\n dry_run=False,\n file_system_id=example_file_system.id,\n protocol_service_id=example_protocol_service.protocol_service_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n IsDefault = false,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"nas-examplee1223-vpc\",\n EnableIpv6 = true,\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n IsDefault = false,\n VpcId = example.Id,\n ZoneId = \"cn-beijing-i\",\n CidrBlock = \"192.168.3.0/24\",\n VswitchName = \"nas-examplee1223-vsw2sdw-C\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n Description = name,\n StorageType = \"advance_100\",\n ZoneId = \"cn-beijing-i\",\n VpcId = example.Id,\n Capacity = 3600,\n ProtocolType = \"cpfs\",\n VswitchId = exampleSwitch.Id,\n FileSystemType = \"cpfs\",\n });\n\n var exampleProtocolService = new AliCloud.Nas.ProtocolService(\"example\", new()\n {\n VpcId = example.Id,\n ProtocolType = \"NFS\",\n ProtocolSpec = \"General\",\n VswitchId = exampleSwitch.Id,\n DryRun = false,\n FileSystemId = exampleFileSystem.Id,\n });\n\n var exampleFileset = new AliCloud.Nas.Fileset(\"example\", new()\n {\n FileSystemPath = \"/examplefileset/\",\n Description = \"cpfs-LRS-filesetexample-wyf\",\n FileSystemId = exampleFileSystem.Id,\n });\n\n var @default = new AliCloud.Nas.ProtocolMountTarget(\"default\", new()\n {\n FsetId = exampleFileset.FilesetId,\n Description = name,\n VpcId = example.Id,\n VswitchId = exampleSwitch.Id,\n AccessGroupName = \"DEFAULT_VPC_GROUP_NAME\",\n DryRun = false,\n FileSystemId = exampleFileSystem.Id,\n ProtocolServiceId = exampleProtocolService.ProtocolServiceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"nas-examplee1223-vpc\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.3.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"nas-examplee1223-vsw2sdw-C\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tStorageType: pulumi.String(\"advance_100\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProtocolService, err := nas.NewProtocolService(ctx, \"example\", \u0026nas.ProtocolServiceArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tProtocolSpec: pulumi.String(\"General\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileset, err := nas.NewFileset(ctx, \"example\", \u0026nas.FilesetArgs{\n\t\t\tFileSystemPath: pulumi.String(\"/examplefileset/\"),\n\t\t\tDescription: pulumi.String(\"cpfs-LRS-filesetexample-wyf\"),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewProtocolMountTarget(ctx, \"default\", \u0026nas.ProtocolMountTargetArgs{\n\t\t\tFsetId: exampleFileset.FilesetId,\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: example.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tAccessGroupName: pulumi.String(\"DEFAULT_VPC_GROUP_NAME\"),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tProtocolServiceId: exampleProtocolService.ProtocolServiceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.ProtocolService;\nimport com.pulumi.alicloud.nas.ProtocolServiceArgs;\nimport com.pulumi.alicloud.nas.Fileset;\nimport com.pulumi.alicloud.nas.FilesetArgs;\nimport com.pulumi.alicloud.nas.ProtocolMountTarget;\nimport com.pulumi.alicloud.nas.ProtocolMountTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Network(\"example\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"nas-examplee1223-vpc\")\n .enableIpv6(true)\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(example.id())\n .zoneId(\"cn-beijing-i\")\n .cidrBlock(\"192.168.3.0/24\")\n .vswitchName(\"nas-examplee1223-vsw2sdw-C\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .description(name)\n .storageType(\"advance_100\")\n .zoneId(\"cn-beijing-i\")\n .vpcId(example.id())\n .capacity(3600)\n .protocolType(\"cpfs\")\n .vswitchId(exampleSwitch.id())\n .fileSystemType(\"cpfs\")\n .build());\n\n var exampleProtocolService = new ProtocolService(\"exampleProtocolService\", ProtocolServiceArgs.builder()\n .vpcId(example.id())\n .protocolType(\"NFS\")\n .protocolSpec(\"General\")\n .vswitchId(exampleSwitch.id())\n .dryRun(false)\n .fileSystemId(exampleFileSystem.id())\n .build());\n\n var exampleFileset = new Fileset(\"exampleFileset\", FilesetArgs.builder()\n .fileSystemPath(\"/examplefileset/\")\n .description(\"cpfs-LRS-filesetexample-wyf\")\n .fileSystemId(exampleFileSystem.id())\n .build());\n\n var default_ = new ProtocolMountTarget(\"default\", ProtocolMountTargetArgs.builder()\n .fsetId(exampleFileset.filesetId())\n .description(name)\n .vpcId(example.id())\n .vswitchId(exampleSwitch.id())\n .accessGroupName(\"DEFAULT_VPC_GROUP_NAME\")\n .dryRun(false)\n .fileSystemId(exampleFileSystem.id())\n .protocolServiceId(exampleProtocolService.protocolServiceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n isDefault: false\n cidrBlock: 192.168.0.0/16\n vpcName: nas-examplee1223-vpc\n enableIpv6: true\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n isDefault: false\n vpcId: ${example.id}\n zoneId: cn-beijing-i\n cidrBlock: 192.168.3.0/24\n vswitchName: nas-examplee1223-vsw2sdw-C\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n description: ${name}\n storageType: advance_100\n zoneId: cn-beijing-i\n vpcId: ${example.id}\n capacity: '3600'\n protocolType: cpfs\n vswitchId: ${exampleSwitch.id}\n fileSystemType: cpfs\n exampleProtocolService:\n type: alicloud:nas:ProtocolService\n name: example\n properties:\n vpcId: ${example.id}\n protocolType: NFS\n protocolSpec: General\n vswitchId: ${exampleSwitch.id}\n dryRun: false\n fileSystemId: ${exampleFileSystem.id}\n exampleFileset:\n type: alicloud:nas:Fileset\n name: example\n properties:\n fileSystemPath: /examplefileset/\n description: cpfs-LRS-filesetexample-wyf\n fileSystemId: ${exampleFileSystem.id}\n default:\n type: alicloud:nas:ProtocolMountTarget\n properties:\n fsetId: ${exampleFileset.filesetId}\n description: ${name}\n vpcId: ${example.id}\n vswitchId: ${exampleSwitch.id}\n accessGroupName: DEFAULT_VPC_GROUP_NAME\n dryRun: false\n fileSystemId: ${exampleFileSystem.id}\n protocolServiceId: ${exampleProtocolService.protocolServiceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Protocol Mount Target can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example \u003cfile_system_id\u003e:\u003cprotocol_service_id\u003e:\u003cexport_id\u003e\n```\n\n", + "properties": { + "accessGroupName": { + "type": "string", + "description": "The permission group name.\nDefault value: DEFAULT_VPC_GROUP_NAME\n" + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "description": { + "type": "string", + "description": "Description of the protocol service mount target. Display as the export directory name in the console.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "exportId": { + "type": "string", + "description": "Protocol Service Mount Target ID\n" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n" + }, + "fsetId": { + "type": "string", + "description": "The ID of the Fileset to be mounted.\n\nLimitations:\n- The Fileset must already exist.\n- A Fileset allows only one export directory to be created.\n- Fileset and Path can and must specify only one.\n" + }, + "path": { + "type": "string", + "description": "The path of the CPFS directory to be mounted.\n\nLimitations:\n- The directory must be an existing directory on the CPFS.\n- Only one export is allowed for the same directory.\n- Fileset and Path can and must specify only one.\n\nFormat:\n- 1~1024 characters in length.\n- Use UTF-8 encoding.\n- Must start and end with a forward slash (/) and root directory is/.\n" + }, + "protocolServiceId": { + "type": "string", + "description": "Protocol Service ID\n" + }, + "status": { + "type": "string", + "description": "Status\n" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID of the protocol service mount point.\n" + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID of the protocol service mount target.\n" + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitch IDs of the protocol service mount target.\nWhen the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field.\n" + } + }, + "required": [ + "accessGroupName", + "createTime", + "exportId", + "fileSystemId", + "path", + "protocolServiceId", + "status" + ], + "inputProperties": { + "accessGroupName": { + "type": "string", + "description": "The permission group name.\nDefault value: DEFAULT_VPC_GROUP_NAME\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Description of the protocol service mount target. Display as the export directory name in the console.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n", + "willReplaceOnChanges": true + }, + "fsetId": { + "type": "string", + "description": "The ID of the Fileset to be mounted.\n\nLimitations:\n- The Fileset must already exist.\n- A Fileset allows only one export directory to be created.\n- Fileset and Path can and must specify only one.\n", + "willReplaceOnChanges": true + }, + "path": { + "type": "string", + "description": "The path of the CPFS directory to be mounted.\n\nLimitations:\n- The directory must be an existing directory on the CPFS.\n- Only one export is allowed for the same directory.\n- Fileset and Path can and must specify only one.\n\nFormat:\n- 1~1024 characters in length.\n- Use UTF-8 encoding.\n- Must start and end with a forward slash (/) and root directory is/.\n", + "willReplaceOnChanges": true + }, + "protocolServiceId": { + "type": "string", + "description": "Protocol Service ID\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "The VPC ID of the protocol service mount point.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID of the protocol service mount target.\n", + "willReplaceOnChanges": true + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitch IDs of the protocol service mount target.\nWhen the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "fileSystemId", + "protocolServiceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ProtocolMountTarget resources.\n", + "properties": { + "accessGroupName": { + "type": "string", + "description": "The permission group name.\nDefault value: DEFAULT_VPC_GROUP_NAME\n", + "willReplaceOnChanges": true + }, + "createTime": { + "type": "string", + "description": "The creation time of the resource\n" + }, + "description": { + "type": "string", + "description": "Description of the protocol service mount target. Display as the export directory name in the console.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "exportId": { + "type": "string", + "description": "Protocol Service Mount Target ID\n" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n", + "willReplaceOnChanges": true + }, + "fsetId": { + "type": "string", + "description": "The ID of the Fileset to be mounted.\n\nLimitations:\n- The Fileset must already exist.\n- A Fileset allows only one export directory to be created.\n- Fileset and Path can and must specify only one.\n", + "willReplaceOnChanges": true + }, + "path": { + "type": "string", + "description": "The path of the CPFS directory to be mounted.\n\nLimitations:\n- The directory must be an existing directory on the CPFS.\n- Only one export is allowed for the same directory.\n- Fileset and Path can and must specify only one.\n\nFormat:\n- 1~1024 characters in length.\n- Use UTF-8 encoding.\n- Must start and end with a forward slash (/) and root directory is/.\n", + "willReplaceOnChanges": true + }, + "protocolServiceId": { + "type": "string", + "description": "Protocol Service ID\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "Status\n" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID of the protocol service mount point.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The vSwitch ID of the protocol service mount target.\n", + "willReplaceOnChanges": true + }, + "vswitchIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The vSwitch IDs of the protocol service mount target.\nWhen the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "alicloud:nas/protocolService:ProtocolService": { + "description": "Provides a File Storage (NAS) Protocol Service resource.\n\n\n\nFor information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService).\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.vpc.Network(\"example\", {\n isDefault: false,\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"nas-examplee1031-vpc\",\n enableIpv6: true,\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n isDefault: false,\n vpcId: example.id,\n zoneId: \"cn-beijing-i\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"nas-examplee1031-vsw1sdw-F\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n description: name,\n storageType: \"advance_100\",\n zoneId: \"cn-beijing-i\",\n encryptType: 0,\n vpcId: example.id,\n capacity: 3600,\n protocolType: \"cpfs\",\n vswitchId: exampleSwitch.id,\n fileSystemType: \"cpfs\",\n});\nconst _default = new alicloud.nas.ProtocolService(\"default\", {\n vpcId: example.id,\n protocolType: \"NFS\",\n protocolSpec: \"General\",\n vswitchId: exampleSwitch.id,\n dryRun: false,\n fileSystemId: exampleFileSystem.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.vpc.Network(\"example\",\n is_default=False,\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"nas-examplee1031-vpc\",\n enable_ipv6=True)\nexample_switch = alicloud.vpc.Switch(\"example\",\n is_default=False,\n vpc_id=example.id,\n zone_id=\"cn-beijing-i\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"nas-examplee1031-vsw1sdw-F\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n description=name,\n storage_type=\"advance_100\",\n zone_id=\"cn-beijing-i\",\n encrypt_type=0,\n vpc_id=example.id,\n capacity=3600,\n protocol_type=\"cpfs\",\n vswitch_id=example_switch.id,\n file_system_type=\"cpfs\")\ndefault = alicloud.nas.ProtocolService(\"default\",\n vpc_id=example.id,\n protocol_type=\"NFS\",\n protocol_spec=\"General\",\n vswitch_id=example_switch.id,\n dry_run=False,\n file_system_id=example_file_system.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n IsDefault = false,\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"nas-examplee1031-vpc\",\n EnableIpv6 = true,\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n IsDefault = false,\n VpcId = example.Id,\n ZoneId = \"cn-beijing-i\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"nas-examplee1031-vsw1sdw-F\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n Description = name,\n StorageType = \"advance_100\",\n ZoneId = \"cn-beijing-i\",\n EncryptType = 0,\n VpcId = example.Id,\n Capacity = 3600,\n ProtocolType = \"cpfs\",\n VswitchId = exampleSwitch.Id,\n FileSystemType = \"cpfs\",\n });\n\n var @default = new AliCloud.Nas.ProtocolService(\"default\", new()\n {\n VpcId = example.Id,\n ProtocolType = \"NFS\",\n ProtocolSpec = \"General\",\n VswitchId = exampleSwitch.Id,\n DryRun = false,\n FileSystemId = exampleFileSystem.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"nas-examplee1031-vpc\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"nas-examplee1031-vsw1sdw-F\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tStorageType: pulumi.String(\"advance_100\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tVpcId: example.ID(),\n\t\t\tCapacity: pulumi.Int(3600),\n\t\t\tProtocolType: pulumi.String(\"cpfs\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tFileSystemType: pulumi.String(\"cpfs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewProtocolService(ctx, \"default\", \u0026nas.ProtocolServiceArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tProtocolSpec: pulumi.String(\"General\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tFileSystemId: exampleFileSystem.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.ProtocolService;\nimport com.pulumi.alicloud.nas.ProtocolServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Network(\"example\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"nas-examplee1031-vpc\")\n .enableIpv6(true)\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(example.id())\n .zoneId(\"cn-beijing-i\")\n .cidrBlock(\"192.168.2.0/24\")\n .vswitchName(\"nas-examplee1031-vsw1sdw-F\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .description(name)\n .storageType(\"advance_100\")\n .zoneId(\"cn-beijing-i\")\n .encryptType(0)\n .vpcId(example.id())\n .capacity(3600)\n .protocolType(\"cpfs\")\n .vswitchId(exampleSwitch.id())\n .fileSystemType(\"cpfs\")\n .build());\n\n var default_ = new ProtocolService(\"default\", ProtocolServiceArgs.builder()\n .vpcId(example.id())\n .protocolType(\"NFS\")\n .protocolSpec(\"General\")\n .vswitchId(exampleSwitch.id())\n .dryRun(false)\n .fileSystemId(exampleFileSystem.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n isDefault: false\n cidrBlock: 192.168.0.0/16\n vpcName: nas-examplee1031-vpc\n enableIpv6: true\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n isDefault: false\n vpcId: ${example.id}\n zoneId: cn-beijing-i\n cidrBlock: 192.168.2.0/24\n vswitchName: nas-examplee1031-vsw1sdw-F\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n description: ${name}\n storageType: advance_100\n zoneId: cn-beijing-i\n encryptType: '0'\n vpcId: ${example.id}\n capacity: '3600'\n protocolType: cpfs\n vswitchId: ${exampleSwitch.id}\n fileSystemType: cpfs\n default:\n type: alicloud:nas:ProtocolService\n properties:\n vpcId: ${example.id}\n protocolType: NFS\n protocolSpec: General\n vswitchId: ${exampleSwitch.id}\n dryRun: false\n fileSystemId: ${exampleFileSystem.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Protocol Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/protocolService:ProtocolService example \u003cfile_system_id\u003e:\u003cprotocol_service_id\u003e\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "The time when the protocol server service was created. The UTC time.\n" + }, + "description": { + "type": "string", + "description": "Description of the agreement service.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n" + }, + "protocolServiceId": { + "type": "string", + "description": "Protocol Service ID\n" + }, + "protocolSpec": { + "type": "string", + "description": "The specification of the protocol machine cluster.\n- Value range: General、CL1、CL2\n- Default value: General\n" + }, + "protocolThroughput": { + "type": "integer", + "description": "The throughput of the protocol service. Unit: MB/s.\n" + }, + "protocolType": { + "type": "string", + "description": "The protocol type supported by the protocol service.\n\nValue range:\n- NFS: Protocol Service supports NFS protocol access.\n" + }, + "status": { + "type": "string", + "description": "Agreement service status.\n" + }, + "vpcId": { + "type": "string", + "description": "The VpcId of the protocol service, which must be consistent with the VPC of the file system.\n" + }, + "vswitchId": { + "type": "string", + "description": "The VSwitchId of the protocol service.\n" + } + }, + "required": [ + "createTime", + "fileSystemId", + "protocolServiceId", + "protocolSpec", + "protocolThroughput", + "protocolType", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Description of the agreement service.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n", + "willReplaceOnChanges": true + }, + "protocolSpec": { + "type": "string", + "description": "The specification of the protocol machine cluster.\n- Value range: General、CL1、CL2\n- Default value: General\n", + "willReplaceOnChanges": true + }, + "protocolThroughput": { + "type": "integer", + "description": "The throughput of the protocol service. Unit: MB/s.\n", + "willReplaceOnChanges": true + }, + "protocolType": { + "type": "string", + "description": "The protocol type supported by the protocol service.\n\nValue range:\n- NFS: Protocol Service supports NFS protocol access.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string", + "description": "The VpcId of the protocol service, which must be consistent with the VPC of the file system.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The VSwitchId of the protocol service.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "fileSystemId", + "protocolSpec", + "protocolType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ProtocolService resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "The time when the protocol server service was created. The UTC time.\n" + }, + "description": { + "type": "string", + "description": "Description of the agreement service.\n\nLimitations:\n- Length is 2~128 English or Chinese characters.\n- It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`.\n- Can contain numbers, colons (:), underscores (_), or dashes (-).\n" + }, + "dryRun": { + "type": "boolean" + }, + "fileSystemId": { + "type": "string", + "description": "The ID of the file system.\n", + "willReplaceOnChanges": true + }, + "protocolServiceId": { + "type": "string", + "description": "Protocol Service ID\n" + }, + "protocolSpec": { + "type": "string", + "description": "The specification of the protocol machine cluster.\n- Value range: General、CL1、CL2\n- Default value: General\n", + "willReplaceOnChanges": true + }, + "protocolThroughput": { + "type": "integer", + "description": "The throughput of the protocol service. Unit: MB/s.\n", + "willReplaceOnChanges": true + }, + "protocolType": { + "type": "string", + "description": "The protocol type supported by the protocol service.\n\nValue range:\n- NFS: Protocol Service supports NFS protocol access.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "Agreement service status.\n" + }, + "vpcId": { + "type": "string", + "description": "The VpcId of the protocol service, which must be consistent with the VPC of the file system.\n", + "willReplaceOnChanges": true + }, + "vswitchId": { + "type": "string", + "description": "The VSwitchId of the protocol service.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "alicloud:nas/recycleBin:RecycleBin": { - "description": "Provides a File Storage (NAS) Recycle Bin resource.\n\nFor information about File Storage (NAS) Recycle Bin and how to use it, see [What is Recycle Bin](https://www.alibabacloud.com/help/en/doc-detail/264185.html).\n\n\u003e **NOTE:** Available in v1.155.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"Performance\",\n description: \"terraform-example\",\n encryptType: 1,\n zoneId: example.then(example =\u003e example.zones?.[0]?.zoneId),\n});\nconst exampleRecycleBin = new alicloud.nas.RecycleBin(\"example\", {\n fileSystemId: exampleFileSystem.id,\n reservedDays: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"standard\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"Performance\",\n description=\"terraform-example\",\n encrypt_type=1,\n zone_id=example.zones[0].zone_id)\nexample_recycle_bin = alicloud.nas.RecycleBin(\"example\",\n file_system_id=example_file_system.id,\n reserved_days=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Performance\",\n Description = \"terraform-example\",\n EncryptType = 1,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId),\n });\n\n var exampleRecycleBin = new AliCloud.Nas.RecycleBin(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n ReservedDays = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t\tZoneId: pulumi.String(example.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewRecycleBin(ctx, \"example\", \u0026nas.RecycleBinArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tReservedDays: pulumi.Int(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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.RecycleBin;\nimport com.pulumi.alicloud.nas.RecycleBinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Performance\")\n .description(\"terraform-example\")\n .encryptType(1)\n .zoneId(example.zones()[0].zoneId())\n .build());\n\n var exampleRecycleBin = new RecycleBin(\"exampleRecycleBin\", RecycleBinArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .reservedDays(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: NFS\n storageType: Performance\n description: terraform-example\n encryptType: '1'\n zoneId: ${example.zones[0].zoneId}\n exampleRecycleBin:\n type: alicloud:nas:RecycleBin\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n reservedDays: 3\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Recycle Bin can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/recycleBin:RecycleBin example \u003cfile_system_id\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Recycle Bin resource.\n\nFor information about File Storage (NAS) Recycle Bin and how to use it, see [What is Recycle Bin](https://www.alibabacloud.com/help/en/doc-detail/264185.html).\n\n\u003e **NOTE:** Available in v1.155.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"NFS\",\n storageType: \"Performance\",\n description: \"terraform-example\",\n encryptType: 1,\n zoneId: example.then(example =\u003e example.zones?.[0]?.zoneId),\n});\nconst exampleRecycleBin = new alicloud.nas.RecycleBin(\"example\", {\n fileSystemId: exampleFileSystem.id,\n reservedDays: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"standard\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"NFS\",\n storage_type=\"Performance\",\n description=\"terraform-example\",\n encrypt_type=1,\n zone_id=example.zones[0].zone_id)\nexample_recycle_bin = alicloud.nas.RecycleBin(\"example\",\n file_system_id=example_file_system.id,\n reserved_days=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"NFS\",\n StorageType = \"Performance\",\n Description = \"terraform-example\",\n EncryptType = 1,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId),\n });\n\n var exampleRecycleBin = new AliCloud.Nas.RecycleBin(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n ReservedDays = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tStorageType: pulumi.String(\"Performance\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(1),\n\t\t\tZoneId: pulumi.String(example.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewRecycleBin(ctx, \"example\", \u0026nas.RecycleBinArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tReservedDays: pulumi.Int(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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.RecycleBin;\nimport com.pulumi.alicloud.nas.RecycleBinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"NFS\")\n .storageType(\"Performance\")\n .description(\"terraform-example\")\n .encryptType(1)\n .zoneId(example.zones()[0].zoneId())\n .build());\n\n var exampleRecycleBin = new RecycleBin(\"exampleRecycleBin\", RecycleBinArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .reservedDays(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: NFS\n storageType: Performance\n description: terraform-example\n encryptType: '1'\n zoneId: ${example.zones[0].zoneId}\n exampleRecycleBin:\n type: alicloud:nas:RecycleBin\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n reservedDays: 3\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Recycle Bin can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/recycleBin:RecycleBin example \u003cfile_system_id\u003e\n```\n\n", "properties": { "fileSystemId": { "type": "string", @@ -214969,7 +220014,7 @@ } }, "alicloud:nas/smbAclAttachment:SmbAclAttachment": { - "description": "Provides a Nas Smb Acl resource.\n\nAlibaba Cloud SMB protocol file storage service supports user authentication based on AD domain system and permission access control at the file system level. Connecting and accessing the SMB file system as a domain user can implement the requirements for access control at the file and directory level in the SMB protocol file system. The current Alibaba Cloud SMB protocol file storage service does not support multi-user file and directory-level permission access control, and only provides file system-level authentication and access based on the whitelist mechanism that supports cloud accounts and source IP permission groups control.\n\u003e **NOTE:** Available in 1.186.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"SMB\",\n storageType: \"Capacity\",\n description: \"terraform-example\",\n encryptType: 0,\n fileSystemType: \"standard\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.zoneId),\n});\nconst exampleSmbAclAttachment = new alicloud.nas.SmbAclAttachment(\"example\", {\n fileSystemId: exampleFileSystem.id,\n keytab: \"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n keytabMd5: \"E3CCF7E2416DF04FA958AA4513EA29E8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"standard\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"SMB\",\n storage_type=\"Capacity\",\n description=\"terraform-example\",\n encrypt_type=0,\n file_system_type=\"standard\",\n zone_id=example.zones[0].zone_id)\nexample_smb_acl_attachment = alicloud.nas.SmbAclAttachment(\"example\",\n file_system_id=example_file_system.id,\n keytab=\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n keytab_md5=\"E3CCF7E2416DF04FA958AA4513EA29E8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"SMB\",\n StorageType = \"Capacity\",\n Description = \"terraform-example\",\n EncryptType = 0,\n FileSystemType = \"standard\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId),\n });\n\n var exampleSmbAclAttachment = new AliCloud.Nas.SmbAclAttachment(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n Keytab = \"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n KeytabMd5 = \"E3CCF7E2416DF04FA958AA4513EA29E8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"SMB\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewSmbAclAttachment(ctx, \"example\", \u0026nas.SmbAclAttachmentArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tKeytab: pulumi.String(\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\"),\n\t\t\tKeytabMd5: pulumi.String(\"E3CCF7E2416DF04FA958AA4513EA29E8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.SmbAclAttachment;\nimport com.pulumi.alicloud.nas.SmbAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"SMB\")\n .storageType(\"Capacity\")\n .description(\"terraform-example\")\n .encryptType(0)\n .fileSystemType(\"standard\")\n .zoneId(example.zones()[0].zoneId())\n .build());\n\n var exampleSmbAclAttachment = new SmbAclAttachment(\"exampleSmbAclAttachment\", SmbAclAttachmentArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .keytab(\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\")\n .keytabMd5(\"E3CCF7E2416DF04FA958AA4513EA29E8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: SMB\n storageType: Capacity\n description: terraform-example\n encryptType: '0'\n fileSystemType: standard\n zoneId: ${example.zones[0].zoneId}\n exampleSmbAclAttachment:\n type: alicloud:nas:SmbAclAttachment\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n keytab: BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\n keytabMd5: E3CCF7E2416DF04FA958AA4513EA29E8\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Nas Smb Acl resource.\n\nAlibaba Cloud SMB protocol file storage service supports user authentication based on AD domain system and permission access control at the file system level. Connecting and accessing the SMB file system as a domain user can implement the requirements for access control at the file and directory level in the SMB protocol file system. The current Alibaba Cloud SMB protocol file storage service does not support multi-user file and directory-level permission access control, and only provides file system-level authentication and access based on the whitelist mechanism that supports cloud accounts and source IP permission groups control.\n\u003e **NOTE:** Available in 1.186.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.nas.getZones({\n fileSystemType: \"standard\",\n});\nconst exampleFileSystem = new alicloud.nas.FileSystem(\"example\", {\n protocolType: \"SMB\",\n storageType: \"Capacity\",\n description: \"terraform-example\",\n encryptType: 0,\n fileSystemType: \"standard\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.zoneId),\n});\nconst exampleSmbAclAttachment = new alicloud.nas.SmbAclAttachment(\"example\", {\n fileSystemId: exampleFileSystem.id,\n keytab: \"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n keytabMd5: \"E3CCF7E2416DF04FA958AA4513EA29E8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.nas.get_zones(file_system_type=\"standard\")\nexample_file_system = alicloud.nas.FileSystem(\"example\",\n protocol_type=\"SMB\",\n storage_type=\"Capacity\",\n description=\"terraform-example\",\n encrypt_type=0,\n file_system_type=\"standard\",\n zone_id=example.zones[0].zone_id)\nexample_smb_acl_attachment = alicloud.nas.SmbAclAttachment(\"example\",\n file_system_id=example_file_system.id,\n keytab=\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n keytab_md5=\"E3CCF7E2416DF04FA958AA4513EA29E8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"standard\",\n });\n\n var exampleFileSystem = new AliCloud.Nas.FileSystem(\"example\", new()\n {\n ProtocolType = \"SMB\",\n StorageType = \"Capacity\",\n Description = \"terraform-example\",\n EncryptType = 0,\n FileSystemType = \"standard\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId),\n });\n\n var exampleSmbAclAttachment = new AliCloud.Nas.SmbAclAttachment(\"example\", new()\n {\n FileSystemId = exampleFileSystem.Id,\n Keytab = \"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\",\n KeytabMd5 = \"E3CCF7E2416DF04FA958AA4513EA29E8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"standard\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFileSystem, err := nas.NewFileSystem(ctx, \"example\", \u0026nas.FileSystemArgs{\n\t\t\tProtocolType: pulumi.String(\"SMB\"),\n\t\t\tStorageType: pulumi.String(\"Capacity\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tEncryptType: pulumi.Int(0),\n\t\t\tFileSystemType: pulumi.String(\"standard\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].ZoneId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewSmbAclAttachment(ctx, \"example\", \u0026nas.SmbAclAttachmentArgs{\n\t\t\tFileSystemId: exampleFileSystem.ID(),\n\t\t\tKeytab: pulumi.String(\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\"),\n\t\t\tKeytabMd5: pulumi.String(\"E3CCF7E2416DF04FA958AA4513EA29E8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.SmbAclAttachment;\nimport com.pulumi.alicloud.nas.SmbAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"standard\")\n .build());\n\n var exampleFileSystem = new FileSystem(\"exampleFileSystem\", FileSystemArgs.builder()\n .protocolType(\"SMB\")\n .storageType(\"Capacity\")\n .description(\"terraform-example\")\n .encryptType(0)\n .fileSystemType(\"standard\")\n .zoneId(example.zones()[0].zoneId())\n .build());\n\n var exampleSmbAclAttachment = new SmbAclAttachment(\"exampleSmbAclAttachment\", SmbAclAttachmentArgs.builder()\n .fileSystemId(exampleFileSystem.id())\n .keytab(\"BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\")\n .keytabMd5(\"E3CCF7E2416DF04FA958AA4513EA29E8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleFileSystem:\n type: alicloud:nas:FileSystem\n name: example\n properties:\n protocolType: SMB\n storageType: Capacity\n description: terraform-example\n encryptType: '0'\n fileSystemType: standard\n zoneId: ${example.zones[0].zoneId}\n exampleSmbAclAttachment:\n type: alicloud:nas:SmbAclAttachment\n name: example\n properties:\n fileSystemId: ${exampleFileSystem.id}\n keytab: BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhoOXYadj\n keytabMd5: E3CCF7E2416DF04FA958AA4513EA29E8\nvariables:\n example:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: standard\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "authMethod": { "type": "string", @@ -215108,7 +220153,7 @@ } }, "alicloud:nas/snapshot:Snapshot": { - "description": "Provides a File Storage (NAS) Snapshot resource.\n\nFor information about File Storage (NAS) Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/doc-detail/126549.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n\u003e **NOTE:** Only Extreme NAS file systems support the snapshot feature.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"testacc\";\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"extreme\",\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n fileSystemType: \"extreme\",\n protocolType: \"NFS\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n storageType: \"standard\",\n capacity: 100,\n});\nconst defaultSnapshot = new alicloud.nas.Snapshot(\"default\", {\n fileSystemId: defaultFileSystem.id,\n description: name,\n retentionDays: 20,\n snapshotName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"testacc\"\ndefault = alicloud.nas.get_zones(file_system_type=\"extreme\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n file_system_type=\"extreme\",\n protocol_type=\"NFS\",\n zone_id=default.zones[0].zone_id,\n storage_type=\"standard\",\n capacity=100)\ndefault_snapshot = alicloud.nas.Snapshot(\"default\",\n file_system_id=default_file_system.id,\n description=name,\n retention_days=20,\n snapshot_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"testacc\";\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"extreme\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n FileSystemType = \"extreme\",\n ProtocolType = \"NFS\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n StorageType = \"standard\",\n Capacity = 100,\n });\n\n var defaultSnapshot = new AliCloud.Nas.Snapshot(\"default\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n Description = name,\n RetentionDays = 20,\n SnapshotName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"testacc\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"extreme\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tStorageType: pulumi.String(\"standard\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewSnapshot(ctx, \"default\", \u0026nas.SnapshotArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t\tSnapshotName: pulumi.String(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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.Snapshot;\nimport com.pulumi.alicloud.nas.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"testacc\");\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"extreme\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .fileSystemType(\"extreme\")\n .protocolType(\"NFS\")\n .zoneId(default_.zones()[0].zoneId())\n .storageType(\"standard\")\n .capacity(100)\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .description(name)\n .retentionDays(20)\n .snapshotName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: testacc\nresources:\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n fileSystemType: extreme\n protocolType: NFS\n zoneId: ${default.zones[0].zoneId}\n storageType: standard\n capacity: 100\n defaultSnapshot:\n type: alicloud:nas:Snapshot\n name: default\n properties:\n fileSystemId: ${defaultFileSystem.id}\n description: ${name}\n retentionDays: 20\n snapshotName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFile Storage (NAS) Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/snapshot:Snapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a File Storage (NAS) Snapshot resource.\n\nFor information about File Storage (NAS) Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/en/doc-detail/126549.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n\u003e **NOTE:** Only Extreme NAS file systems support the snapshot feature.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"testacc\";\nconst _default = alicloud.nas.getZones({\n fileSystemType: \"extreme\",\n});\nconst defaultFileSystem = new alicloud.nas.FileSystem(\"default\", {\n fileSystemType: \"extreme\",\n protocolType: \"NFS\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n storageType: \"standard\",\n capacity: 100,\n});\nconst defaultSnapshot = new alicloud.nas.Snapshot(\"default\", {\n fileSystemId: defaultFileSystem.id,\n description: name,\n retentionDays: 20,\n snapshotName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"testacc\"\ndefault = alicloud.nas.get_zones(file_system_type=\"extreme\")\ndefault_file_system = alicloud.nas.FileSystem(\"default\",\n file_system_type=\"extreme\",\n protocol_type=\"NFS\",\n zone_id=default.zones[0].zone_id,\n storage_type=\"standard\",\n capacity=100)\ndefault_snapshot = alicloud.nas.Snapshot(\"default\",\n file_system_id=default_file_system.id,\n description=name,\n retention_days=20,\n snapshot_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"testacc\";\n var @default = AliCloud.Nas.GetZones.Invoke(new()\n {\n FileSystemType = \"extreme\",\n });\n\n var defaultFileSystem = new AliCloud.Nas.FileSystem(\"default\", new()\n {\n FileSystemType = \"extreme\",\n ProtocolType = \"NFS\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.ZoneId)),\n StorageType = \"standard\",\n Capacity = 100,\n });\n\n var defaultSnapshot = new AliCloud.Nas.Snapshot(\"default\", new()\n {\n FileSystemId = defaultFileSystem.Id,\n Description = name,\n RetentionDays = 20,\n SnapshotName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"testacc\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nas.GetZones(ctx, \u0026nas.GetZonesArgs{\n\t\t\tFileSystemType: pulumi.StringRef(\"extreme\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFileSystem, err := nas.NewFileSystem(ctx, \"default\", \u0026nas.FileSystemArgs{\n\t\t\tFileSystemType: pulumi.String(\"extreme\"),\n\t\t\tProtocolType: pulumi.String(\"NFS\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tStorageType: pulumi.String(\"standard\"),\n\t\t\tCapacity: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nas.NewSnapshot(ctx, \"default\", \u0026nas.SnapshotArgs{\n\t\t\tFileSystemId: defaultFileSystem.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tRetentionDays: pulumi.Int(20),\n\t\t\tSnapshotName: pulumi.String(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.alicloud.nas.NasFunctions;\nimport com.pulumi.alicloud.nas.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.nas.FileSystem;\nimport com.pulumi.alicloud.nas.FileSystemArgs;\nimport com.pulumi.alicloud.nas.Snapshot;\nimport com.pulumi.alicloud.nas.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"testacc\");\n final var default = NasFunctions.getZones(GetZonesArgs.builder()\n .fileSystemType(\"extreme\")\n .build());\n\n var defaultFileSystem = new FileSystem(\"defaultFileSystem\", FileSystemArgs.builder()\n .fileSystemType(\"extreme\")\n .protocolType(\"NFS\")\n .zoneId(default_.zones()[0].zoneId())\n .storageType(\"standard\")\n .capacity(100)\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .fileSystemId(defaultFileSystem.id())\n .description(name)\n .retentionDays(20)\n .snapshotName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: testacc\nresources:\n defaultFileSystem:\n type: alicloud:nas:FileSystem\n name: default\n properties:\n fileSystemType: extreme\n protocolType: NFS\n zoneId: ${default.zones[0].zoneId}\n storageType: standard\n capacity: 100\n defaultSnapshot:\n type: alicloud:nas:Snapshot\n name: default\n properties:\n fileSystemId: ${defaultFileSystem.id}\n description: ${name}\n retentionDays: 20\n snapshotName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nas:getZones\n arguments:\n fileSystemType: extreme\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nFile Storage (NAS) Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nas/snapshot:Snapshot example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -215192,7 +220237,7 @@ } }, "alicloud:nlb/listener:Listener": { - "description": "Provides a Network Load Balancer (NLB) Listener resource.\n\n\n\nFor information about Network Load Balancer (NLB) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createlistener).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Instance\",\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n connectionDrainEnabled: true,\n connectionDrainTimeout: 60,\n addressIpVersion: \"Ipv4\",\n healthCheck: {\n healthCheckEnabled: true,\n healthCheckType: \"TCP\",\n healthCheckConnectPort: 0,\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n healthCheckConnectTimeout: 5,\n healthCheckInterval: 10,\n httpCheckMethod: \"GET\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultListener = new alicloud.nlb.Listener(\"default\", {\n listenerProtocol: \"TCP\",\n listenerPort: 80,\n listenerDescription: name,\n loadBalancerId: defaultLoadBalancer.id,\n serverGroupId: defaultServerGroup.id,\n idleTimeout: 900,\n proxyProtocolEnabled: true,\n cps: 10000,\n mss: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Instance\",\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n connection_drain_enabled=True,\n connection_drain_timeout=60,\n address_ip_version=\"Ipv4\",\n health_check={\n \"health_check_enabled\": True,\n \"health_check_type\": \"TCP\",\n \"health_check_connect_port\": 0,\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n \"health_check_connect_timeout\": 5,\n \"health_check_interval\": 10,\n \"http_check_method\": \"GET\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_listener = alicloud.nlb.Listener(\"default\",\n listener_protocol=\"TCP\",\n listener_port=80,\n listener_description=name,\n load_balancer_id=default_load_balancer.id,\n server_group_id=default_server_group.id,\n idle_timeout=900,\n proxy_protocol_enabled=True,\n cps=10000,\n mss=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Instance\",\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 60,\n AddressIpVersion = \"Ipv4\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = true,\n HealthCheckType = \"TCP\",\n HealthCheckConnectPort = 0,\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n HealthCheckConnectTimeout = 5,\n HealthCheckInterval = 10,\n HttpCheckMethod = \"GET\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultListener = new AliCloud.Nlb.Listener(\"default\", new()\n {\n ListenerProtocol = \"TCP\",\n ListenerPort = 80,\n ListenerDescription = name,\n LoadBalancerId = defaultLoadBalancer.Id,\n ServerGroupId = defaultServerGroup.Id,\n IdleTimeout = 900,\n ProxyProtocolEnabled = true,\n Cps = 10000,\n Mss = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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\tdefaultServerGroup, err := nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tConnectionDrainTimeout: pulumi.Int(60),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckType: pulumi.String(\"TCP\"),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(0),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHttpCheckMethod: pulumi.String(\"GET\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewListener(ctx, \"default\", \u0026nlb.ListenerArgs{\n\t\t\tListenerProtocol: pulumi.String(\"TCP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tIdleTimeout: pulumi.Int(900),\n\t\t\tProxyProtocolEnabled: pulumi.Bool(true),\n\t\t\tCps: pulumi.Int(10000),\n\t\t\tMss: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.alicloud.nlb.Listener;\nimport com.pulumi.alicloud.nlb.ListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Instance\")\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(60)\n .addressIpVersion(\"Ipv4\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(true)\n .healthCheckType(\"TCP\")\n .healthCheckConnectPort(0)\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .healthCheckConnectTimeout(5)\n .healthCheckInterval(10)\n .httpCheckMethod(\"GET\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .listenerProtocol(\"TCP\")\n .listenerPort(80)\n .listenerDescription(name)\n .loadBalancerId(defaultLoadBalancer.id())\n .serverGroupId(defaultServerGroup.id())\n .idleTimeout(900)\n .proxyProtocolEnabled(true)\n .cps(10000)\n .mss(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Instance\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n connectionDrainEnabled: true\n connectionDrainTimeout: 60\n addressIpVersion: Ipv4\n healthCheck:\n healthCheckEnabled: true\n healthCheckType: TCP\n healthCheckConnectPort: 0\n healthyThreshold: 2\n unhealthyThreshold: 2\n healthCheckConnectTimeout: 5\n healthCheckInterval: 10\n httpCheckMethod: GET\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n tags:\n Created: TF\n For: example\n defaultListener:\n type: alicloud:nlb:Listener\n name: default\n properties:\n listenerProtocol: TCP\n listenerPort: '80'\n listenerDescription: ${name}\n loadBalancerId: ${defaultLoadBalancer.id}\n serverGroupId: ${defaultServerGroup.id}\n idleTimeout: '900'\n proxyProtocolEnabled: 'true'\n cps: '10000'\n mss: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Load Balancer (NLB) Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/listener:Listener example \u003cid\u003e\n```\n\n", + "description": "Provides a Network Load Balancer (NLB) Listener resource.\n\n\n\nFor information about Network Load Balancer (NLB) Listener and how to use it, see [What is Listener](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createlistener).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Instance\",\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n connectionDrainEnabled: true,\n connectionDrainTimeout: 60,\n addressIpVersion: \"Ipv4\",\n healthCheck: {\n healthCheckEnabled: true,\n healthCheckType: \"TCP\",\n healthCheckConnectPort: 0,\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n healthCheckConnectTimeout: 5,\n healthCheckInterval: 10,\n httpCheckMethod: \"GET\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultListener = new alicloud.nlb.Listener(\"default\", {\n listenerProtocol: \"TCP\",\n listenerPort: 80,\n listenerDescription: name,\n loadBalancerId: defaultLoadBalancer.id,\n serverGroupId: defaultServerGroup.id,\n idleTimeout: 900,\n proxyProtocolEnabled: true,\n cps: 10000,\n mss: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Instance\",\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n connection_drain_enabled=True,\n connection_drain_timeout=60,\n address_ip_version=\"Ipv4\",\n health_check={\n \"health_check_enabled\": True,\n \"health_check_type\": \"TCP\",\n \"health_check_connect_port\": 0,\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n \"health_check_connect_timeout\": 5,\n \"health_check_interval\": 10,\n \"http_check_method\": \"GET\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_listener = alicloud.nlb.Listener(\"default\",\n listener_protocol=\"TCP\",\n listener_port=80,\n listener_description=name,\n load_balancer_id=default_load_balancer.id,\n server_group_id=default_server_group.id,\n idle_timeout=900,\n proxy_protocol_enabled=True,\n cps=10000,\n mss=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Instance\",\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 60,\n AddressIpVersion = \"Ipv4\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = true,\n HealthCheckType = \"TCP\",\n HealthCheckConnectPort = 0,\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n HealthCheckConnectTimeout = 5,\n HealthCheckInterval = 10,\n HttpCheckMethod = \"GET\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultListener = new AliCloud.Nlb.Listener(\"default\", new()\n {\n ListenerProtocol = \"TCP\",\n ListenerPort = 80,\n ListenerDescription = name,\n LoadBalancerId = defaultLoadBalancer.Id,\n ServerGroupId = defaultServerGroup.Id,\n IdleTimeout = 900,\n ProxyProtocolEnabled = true,\n Cps = 10000,\n Mss = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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\tdefaultServerGroup, err := nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tConnectionDrainTimeout: pulumi.Int(60),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckType: pulumi.String(\"TCP\"),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(0),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHttpCheckMethod: pulumi.String(\"GET\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewListener(ctx, \"default\", \u0026nlb.ListenerArgs{\n\t\t\tListenerProtocol: pulumi.String(\"TCP\"),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tListenerDescription: pulumi.String(name),\n\t\t\tLoadBalancerId: defaultLoadBalancer.ID(),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tIdleTimeout: pulumi.Int(900),\n\t\t\tProxyProtocolEnabled: pulumi.Bool(true),\n\t\t\tCps: pulumi.Int(10000),\n\t\t\tMss: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.alicloud.nlb.Listener;\nimport com.pulumi.alicloud.nlb.ListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Instance\")\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(60)\n .addressIpVersion(\"Ipv4\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(true)\n .healthCheckType(\"TCP\")\n .healthCheckConnectPort(0)\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .healthCheckConnectTimeout(5)\n .healthCheckInterval(10)\n .httpCheckMethod(\"GET\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultListener = new Listener(\"defaultListener\", ListenerArgs.builder()\n .listenerProtocol(\"TCP\")\n .listenerPort(80)\n .listenerDescription(name)\n .loadBalancerId(defaultLoadBalancer.id())\n .serverGroupId(defaultServerGroup.id())\n .idleTimeout(900)\n .proxyProtocolEnabled(true)\n .cps(10000)\n .mss(0)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Instance\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n connectionDrainEnabled: true\n connectionDrainTimeout: 60\n addressIpVersion: Ipv4\n healthCheck:\n healthCheckEnabled: true\n healthCheckType: TCP\n healthCheckConnectPort: 0\n healthyThreshold: 2\n unhealthyThreshold: 2\n healthCheckConnectTimeout: 5\n healthCheckInterval: 10\n httpCheckMethod: GET\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n tags:\n Created: TF\n For: example\n defaultListener:\n type: alicloud:nlb:Listener\n name: default\n properties:\n listenerProtocol: TCP\n listenerPort: '80'\n listenerDescription: ${name}\n loadBalancerId: ${defaultLoadBalancer.id}\n serverGroupId: ${defaultServerGroup.id}\n idleTimeout: '900'\n proxyProtocolEnabled: 'true'\n cps: '10000'\n mss: '0'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNetwork Load Balancer (NLB) Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/listener:Listener example \u003cid\u003e\n```\n\n", "properties": { "alpnEnabled": { "type": "boolean", @@ -215523,7 +220568,7 @@ } }, "alicloud:nlb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment": { - "description": "Provides a NLB Listener Additional Certificate Attachment resource.\n\nFor information about NLB Listener Additional Certificate Attachment and how to use it, see [What is Listener Additional Certificate Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.nlb.getZones({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {cidrBlock: \"172.16.0.0/12\"});\nconst createVswJ = new alicloud.vpc.Switch(\"create_vsw_j\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.1.0/24\",\n});\nconst createVswK = new alicloud.vpc.Switch(\"create_vsw_k\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n cidrBlock: \"172.16.2.0/24\",\n});\nconst lb = new alicloud.nlb.LoadBalancer(\"lb\", {\n addressIpVersion: \"Ipv4\",\n zoneMappings: [\n {\n vswitchId: createVswJ.id,\n zoneId: createVswJ.zoneId,\n },\n {\n vswitchId: createVswK.id,\n zoneId: createVswK.zoneId,\n },\n ],\n loadBalancerType: \"Network\",\n loadBalancerName: name,\n vpcId: createVpc.id,\n addressType: \"Internet\",\n});\nconst createSg = new alicloud.nlb.ServerGroup(\"create_sg\", {\n addressIpVersion: \"Ipv4\",\n scheduler: \"Wrr\",\n healthCheck: {},\n serverGroupType: \"Instance\",\n vpcId: createVpc.id,\n protocol: \"TCPSSL\",\n serverGroupName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst ssl0 = new alicloud.cas.ServiceCertificate(\"ssl0\", {\n cert: `-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n`,\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n \"0\",\n ],\n }).then(invoke =\u003e invoke.result),\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n`,\n});\nconst createListener = new alicloud.nlb.Listener(\"create_listener\", {\n listenerPort: 443,\n serverGroupId: createSg.id,\n loadBalancerId: lb.id,\n listenerProtocol: \"TCPSSL\",\n certificateIds: [pulumi.interpolate`${ssl0.id}-cn-hangzhou`],\n caCertificateIds: [],\n});\nconst ssl = new alicloud.cas.ServiceCertificate(\"ssl\", {\n cert: `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`,\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n \"1\",\n ],\n }).then(invoke =\u003e invoke.result),\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`,\n});\nconst defaultListenerAdditionalCertificateAttachment = new alicloud.nlb.ListenerAdditionalCertificateAttachment(\"default\", {\n certificateId: ssl.id,\n listenerId: createListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.nlb.get_zones()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\", cidr_block=\"172.16.0.0/12\")\ncreate_vsw_j = alicloud.vpc.Switch(\"create_vsw_j\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.1.0/24\")\ncreate_vsw_k = alicloud.vpc.Switch(\"create_vsw_k\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[1].id,\n cidr_block=\"172.16.2.0/24\")\nlb = alicloud.nlb.LoadBalancer(\"lb\",\n address_ip_version=\"Ipv4\",\n zone_mappings=[\n {\n \"vswitch_id\": create_vsw_j.id,\n \"zone_id\": create_vsw_j.zone_id,\n },\n {\n \"vswitch_id\": create_vsw_k.id,\n \"zone_id\": create_vsw_k.zone_id,\n },\n ],\n load_balancer_type=\"Network\",\n load_balancer_name=name,\n vpc_id=create_vpc.id,\n address_type=\"Internet\")\ncreate_sg = alicloud.nlb.ServerGroup(\"create_sg\",\n address_ip_version=\"Ipv4\",\n scheduler=\"Wrr\",\n health_check={},\n server_group_type=\"Instance\",\n vpc_id=create_vpc.id,\n protocol=\"TCPSSL\",\n server_group_name=name)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nssl0 = alicloud.cas.ServiceCertificate(\"ssl0\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n\"\"\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n 0,\n ]).result,\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n\"\"\")\ncreate_listener = alicloud.nlb.Listener(\"create_listener\",\n listener_port=443,\n server_group_id=create_sg.id,\n load_balancer_id=lb.id,\n listener_protocol=\"TCPSSL\",\n certificate_ids=[ssl0.id.apply(lambda id: f\"{id}-cn-hangzhou\")],\n ca_certificate_ids=[])\nssl = alicloud.cas.ServiceCertificate(\"ssl\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\"\"\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n 1,\n ]).result,\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\"\"\")\ndefault_listener_additional_certificate_attachment = alicloud.nlb.ListenerAdditionalCertificateAttachment(\"default\",\n certificate_id=ssl.id,\n listener_id=create_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Nlb.GetZones.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var createVswJ = new AliCloud.Vpc.Switch(\"create_vsw_j\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var createVswK = new AliCloud.Vpc.Switch(\"create_vsw_k\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var lb = new AliCloud.Nlb.LoadBalancer(\"lb\", new()\n {\n AddressIpVersion = \"Ipv4\",\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVswJ.Id,\n ZoneId = createVswJ.ZoneId,\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVswK.Id,\n ZoneId = createVswK.ZoneId,\n },\n },\n LoadBalancerType = \"Network\",\n LoadBalancerName = name,\n VpcId = createVpc.Id,\n AddressType = \"Internet\",\n });\n\n var createSg = new AliCloud.Nlb.ServerGroup(\"create_sg\", new()\n {\n AddressIpVersion = \"Ipv4\",\n Scheduler = \"Wrr\",\n HealthCheck = null,\n ServerGroupType = \"Instance\",\n VpcId = createVpc.Id,\n Protocol = \"TCPSSL\",\n ServerGroupName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var ssl0 = new AliCloud.Cas.ServiceCertificate(\"ssl0\", new()\n {\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n\",\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n \"0\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n var createListener = new AliCloud.Nlb.Listener(\"create_listener\", new()\n {\n ListenerPort = 443,\n ServerGroupId = createSg.Id,\n LoadBalancerId = lb.Id,\n ListenerProtocol = \"TCPSSL\",\n CertificateIds = new[]\n {\n ssl0.Id.Apply(id =\u003e $\"{id}-cn-hangzhou\"),\n },\n CaCertificateIds = new[] {},\n });\n\n var ssl = new AliCloud.Cas.ServiceCertificate(\"ssl\", new()\n {\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\",\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n \"1\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n var defaultListenerAdditionalCertificateAttachment = new AliCloud.Nlb.ListenerAdditionalCertificateAttachment(\"default\", new()\n {\n CertificateId = ssl.Id,\n ListenerId = createListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswJ, err := vpc.NewSwitch(ctx, \"create_vsw_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswK, err := vpc.NewSwitch(ctx, \"create_vsw_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := nlb.NewLoadBalancer(ctx, \"lb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVswJ.ID(),\n\t\t\t\t\tZoneId: createVswJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVswK.ID(),\n\t\t\t\t\tZoneId: createVswK.ZoneId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSg, err := nlb.NewServerGroup(ctx, \"create_sg\", \u0026nlb.ServerGroupArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{},\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tProtocol: pulumi.String(\"TCPSSL\"),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\t0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssl0, err := cas.NewServiceCertificate(ctx, \"ssl0\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n`),\n\t\t\tCertificateName: pulumi.String(invokeJoin.Result),\n\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateListener, err := nlb.NewListener(ctx, \"create_listener\", \u0026nlb.ListenerArgs{\n\t\t\tListenerPort: pulumi.Int(443),\n\t\t\tServerGroupId: createSg.ID(),\n\t\t\tLoadBalancerId: lb.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"TCPSSL\"),\n\t\t\tCertificateIds: pulumi.StringArray{\n\t\t\t\tssl0.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v-cn-hangzhou\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tCaCertificateIds: pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin1, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\t1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssl, err := cas.NewServiceCertificate(ctx, \"ssl\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`),\n\t\t\tCertificateName: pulumi.String(invokeJoin1.Result),\n\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewListenerAdditionalCertificateAttachment(ctx, \"default\", \u0026nlb.ListenerAdditionalCertificateAttachmentArgs{\n\t\t\tCertificateId: ssl.ID(),\n\t\t\tListenerId: createListener.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.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.nlb.Listener;\nimport com.pulumi.alicloud.nlb.ListenerArgs;\nimport com.pulumi.alicloud.nlb.ListenerAdditionalCertificateAttachment;\nimport com.pulumi.alicloud.nlb.ListenerAdditionalCertificateAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var createVswJ = new Switch(\"createVswJ\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var createVswK = new Switch(\"createVswK\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[1].id())\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .addressIpVersion(\"Ipv4\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVswJ.id())\n .zoneId(createVswJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVswK.id())\n .zoneId(createVswK.zoneId())\n .build())\n .loadBalancerType(\"Network\")\n .loadBalancerName(name)\n .vpcId(createVpc.id())\n .addressType(\"Internet\")\n .build());\n\n var createSg = new ServerGroup(\"createSg\", ServerGroupArgs.builder()\n .addressIpVersion(\"Ipv4\")\n .scheduler(\"Wrr\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .build())\n .serverGroupType(\"Instance\")\n .vpcId(createVpc.id())\n .protocol(\"TCPSSL\")\n .serverGroupName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var ssl0 = new ServiceCertificate(\"ssl0\", ServiceCertificateArgs.builder()\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n \"\"\")\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n 0)\n .build()).result())\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n var createListener = new Listener(\"createListener\", ListenerArgs.builder()\n .listenerPort(443)\n .serverGroupId(createSg.id())\n .loadBalancerId(lb.id())\n .listenerProtocol(\"TCPSSL\")\n .certificateIds(ssl0.id().applyValue(_id -\u003e String.format(\"%s-cn-hangzhou\", _id)))\n .caCertificateIds()\n .build());\n\n var ssl = new ServiceCertificate(\"ssl\", ServiceCertificateArgs.builder()\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n \"\"\")\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n 1)\n .build()).result())\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n var defaultListenerAdditionalCertificateAttachment = new ListenerAdditionalCertificateAttachment(\"defaultListenerAdditionalCertificateAttachment\", ListenerAdditionalCertificateAttachmentArgs.builder()\n .certificateId(ssl.id())\n .listenerId(createListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 172.16.0.0/12\n createVswJ:\n type: alicloud:vpc:Switch\n name: create_vsw_j\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.1.0/24\n createVswK:\n type: alicloud:vpc:Switch\n name: create_vsw_k\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[1].id}\n cidrBlock: 172.16.2.0/24\n lb:\n type: alicloud:nlb:LoadBalancer\n properties:\n addressIpVersion: Ipv4\n zoneMappings:\n - vswitchId: ${createVswJ.id}\n zoneId: ${createVswJ.zoneId}\n - vswitchId: ${createVswK.id}\n zoneId: ${createVswK.zoneId}\n loadBalancerType: Network\n loadBalancerName: ${name}\n vpcId: ${createVpc.id}\n addressType: Internet\n createSg:\n type: alicloud:nlb:ServerGroup\n name: create_sg\n properties:\n addressIpVersion: Ipv4\n scheduler: Wrr\n healthCheck: {}\n serverGroupType: Instance\n vpcId: ${createVpc.id}\n protocol: TCPSSL\n serverGroupName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n ssl0:\n type: alicloud:cas:ServiceCertificate\n properties:\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\n Q04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\n A0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\n hkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\n NTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\n VQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\n A1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\n ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\n ifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n 9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\n Ej8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n 8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\n Bnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\n AwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\n YWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\n mKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\n fQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\n zEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\n IX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n -----END CERTIFICATE-----\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${defaultInteger.result}\n - 0\n return: result\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\n n6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\n i8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\n XrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\n J/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\n g+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n /5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\n vPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\n UUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\n j0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\n d1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\n YwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n 820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\n mMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\n X3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\n rEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\n ZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\n mzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\n aT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\n LjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\n vOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\n pQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\n DkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n 2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n 1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n -----END RSA PRIVATE KEY-----\n createListener:\n type: alicloud:nlb:Listener\n name: create_listener\n properties:\n listenerPort: '443'\n serverGroupId: ${createSg.id}\n loadBalancerId: ${lb.id}\n listenerProtocol: TCPSSL\n certificateIds:\n - ${ssl0.id}-cn-hangzhou\n caCertificateIds: []\n ssl:\n type: alicloud:cas:ServiceCertificate\n properties:\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\n BAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\n MA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\n ZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\n djELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\n ChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n 9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\n AoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\n coG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\n KOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\n HQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n +OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\n QkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\n MAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\n AJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\n cQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\n Ofi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\n DUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n -----END CERTIFICATE-----\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${defaultInteger.result}\n - 1\n return: result\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\n kg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\n ywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\n AoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n 6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\n hwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\n MdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n 71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\n Ev9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\n qygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n 9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\n zWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\n DrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n -----END RSA PRIVATE KEY-----\n defaultListenerAdditionalCertificateAttachment:\n type: alicloud:nlb:ListenerAdditionalCertificateAttachment\n name: default\n properties:\n certificateId: ${ssl.id}\n listenerId: ${createListener.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNLB Listener Additional Certificate Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment example \u003clistener_id\u003e:\u003ccertificate_id\u003e\n```\n\n", + "description": "Provides a NLB Listener Additional Certificate Attachment resource.\n\nFor information about NLB Listener Additional Certificate Attachment and how to use it, see [What is Listener Additional Certificate Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.nlb.getZones({});\nconst createVpc = new alicloud.vpc.Network(\"create_vpc\", {cidrBlock: \"172.16.0.0/12\"});\nconst createVswJ = new alicloud.vpc.Switch(\"create_vsw_j\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.1.0/24\",\n});\nconst createVswK = new alicloud.vpc.Switch(\"create_vsw_k\", {\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[1]?.id),\n cidrBlock: \"172.16.2.0/24\",\n});\nconst lb = new alicloud.nlb.LoadBalancer(\"lb\", {\n addressIpVersion: \"Ipv4\",\n zoneMappings: [\n {\n vswitchId: createVswJ.id,\n zoneId: createVswJ.zoneId,\n },\n {\n vswitchId: createVswK.id,\n zoneId: createVswK.zoneId,\n },\n ],\n loadBalancerType: \"Network\",\n loadBalancerName: name,\n vpcId: createVpc.id,\n addressType: \"Internet\",\n});\nconst createSg = new alicloud.nlb.ServerGroup(\"create_sg\", {\n addressIpVersion: \"Ipv4\",\n scheduler: \"Wrr\",\n healthCheck: {},\n serverGroupType: \"Instance\",\n vpcId: createVpc.id,\n protocol: \"TCPSSL\",\n serverGroupName: name,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst ssl0 = new alicloud.cas.ServiceCertificate(\"ssl0\", {\n cert: `-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n`,\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n \"0\",\n ],\n }).then(invoke =\u003e invoke.result),\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n`,\n});\nconst createListener = new alicloud.nlb.Listener(\"create_listener\", {\n listenerPort: 443,\n serverGroupId: createSg.id,\n loadBalancerId: lb.id,\n listenerProtocol: \"TCPSSL\",\n certificateIds: [pulumi.interpolate`${ssl0.id}-cn-hangzhou`],\n caCertificateIds: [],\n});\nconst ssl = new alicloud.cas.ServiceCertificate(\"ssl\", {\n cert: `-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`,\n certificateName: std.join({\n separator: \"-\",\n input: [\n name,\n defaultInteger.result,\n \"1\",\n ],\n }).then(invoke =\u003e invoke.result),\n key: `-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`,\n});\nconst defaultListenerAdditionalCertificateAttachment = new alicloud.nlb.ListenerAdditionalCertificateAttachment(\"default\", {\n certificateId: ssl.id,\n listenerId: createListener.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.nlb.get_zones()\ncreate_vpc = alicloud.vpc.Network(\"create_vpc\", cidr_block=\"172.16.0.0/12\")\ncreate_vsw_j = alicloud.vpc.Switch(\"create_vsw_j\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.1.0/24\")\ncreate_vsw_k = alicloud.vpc.Switch(\"create_vsw_k\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[1].id,\n cidr_block=\"172.16.2.0/24\")\nlb = alicloud.nlb.LoadBalancer(\"lb\",\n address_ip_version=\"Ipv4\",\n zone_mappings=[\n {\n \"vswitch_id\": create_vsw_j.id,\n \"zone_id\": create_vsw_j.zone_id,\n },\n {\n \"vswitch_id\": create_vsw_k.id,\n \"zone_id\": create_vsw_k.zone_id,\n },\n ],\n load_balancer_type=\"Network\",\n load_balancer_name=name,\n vpc_id=create_vpc.id,\n address_type=\"Internet\")\ncreate_sg = alicloud.nlb.ServerGroup(\"create_sg\",\n address_ip_version=\"Ipv4\",\n scheduler=\"Wrr\",\n health_check={},\n server_group_type=\"Instance\",\n vpc_id=create_vpc.id,\n protocol=\"TCPSSL\",\n server_group_name=name)\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nssl0 = alicloud.cas.ServiceCertificate(\"ssl0\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n\"\"\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n 0,\n ]).result,\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n\"\"\")\ncreate_listener = alicloud.nlb.Listener(\"create_listener\",\n listener_port=443,\n server_group_id=create_sg.id,\n load_balancer_id=lb.id,\n listener_protocol=\"TCPSSL\",\n certificate_ids=[ssl0.id.apply(lambda id: f\"{id}-cn-hangzhou\")],\n ca_certificate_ids=[])\nssl = alicloud.cas.ServiceCertificate(\"ssl\",\n cert=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\"\"\",\n certificate_name=std.join(separator=\"-\",\n input=[\n name,\n default_integer[\"result\"],\n 1,\n ]).result,\n key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\"\"\")\ndefault_listener_additional_certificate_attachment = alicloud.nlb.ListenerAdditionalCertificateAttachment(\"default\",\n certificate_id=ssl.id,\n listener_id=create_listener.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Nlb.GetZones.Invoke();\n\n var createVpc = new AliCloud.Vpc.Network(\"create_vpc\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var createVswJ = new AliCloud.Vpc.Switch(\"create_vsw_j\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var createVswK = new AliCloud.Vpc.Switch(\"create_vsw_k\", new()\n {\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id)),\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var lb = new AliCloud.Nlb.LoadBalancer(\"lb\", new()\n {\n AddressIpVersion = \"Ipv4\",\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVswJ.Id,\n ZoneId = createVswJ.ZoneId,\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = createVswK.Id,\n ZoneId = createVswK.ZoneId,\n },\n },\n LoadBalancerType = \"Network\",\n LoadBalancerName = name,\n VpcId = createVpc.Id,\n AddressType = \"Internet\",\n });\n\n var createSg = new AliCloud.Nlb.ServerGroup(\"create_sg\", new()\n {\n AddressIpVersion = \"Ipv4\",\n Scheduler = \"Wrr\",\n HealthCheck = null,\n ServerGroupType = \"Instance\",\n VpcId = createVpc.Id,\n Protocol = \"TCPSSL\",\n ServerGroupName = name,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var ssl0 = new AliCloud.Cas.ServiceCertificate(\"ssl0\", new()\n {\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n\",\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n \"0\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n var createListener = new AliCloud.Nlb.Listener(\"create_listener\", new()\n {\n ListenerPort = 443,\n ServerGroupId = createSg.Id,\n LoadBalancerId = lb.Id,\n ListenerProtocol = \"TCPSSL\",\n CertificateIds = new[]\n {\n ssl0.Id.Apply(id =\u003e $\"{id}-cn-hangzhou\"),\n },\n CaCertificateIds = new[] {},\n });\n\n var ssl = new AliCloud.Cas.ServiceCertificate(\"ssl\", new()\n {\n Cert = @\"-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n\",\n CertificateName = Std.Join.Invoke(new()\n {\n Separator = \"-\",\n Input = new[]\n {\n name,\n defaultInteger.Result,\n \"1\",\n },\n }).Apply(invoke =\u003e invoke.Result),\n Key = @\"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n\",\n });\n\n var defaultListenerAdditionalCertificateAttachment = new AliCloud.Nlb.ListenerAdditionalCertificateAttachment(\"default\", new()\n {\n CertificateId = ssl.Id,\n ListenerId = createListener.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cas\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"create_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswJ, err := vpc.NewSwitch(ctx, \"create_vsw_j\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswK, err := vpc.NewSwitch(ctx, \"create_vsw_k\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[1].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := nlb.NewLoadBalancer(ctx, \"lb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVswJ.ID(),\n\t\t\t\t\tZoneId: createVswJ.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: createVswK.ID(),\n\t\t\t\t\tZoneId: createVswK.ZoneId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateSg, err := nlb.NewServerGroup(ctx, \"create_sg\", \u0026nlb.ServerGroupArgs{\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{},\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tProtocol: pulumi.String(\"TCPSSL\"),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\t0,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssl0, err := cas.NewServiceCertificate(ctx, \"ssl0\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n`),\n\t\t\tCertificateName: pulumi.String(invokeJoin.Result),\n\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateListener, err := nlb.NewListener(ctx, \"create_listener\", \u0026nlb.ListenerArgs{\n\t\t\tListenerPort: pulumi.Int(443),\n\t\t\tServerGroupId: createSg.ID(),\n\t\t\tLoadBalancerId: lb.ID(),\n\t\t\tListenerProtocol: pulumi.String(\"TCPSSL\"),\n\t\t\tCertificateIds: pulumi.StringArray{\n\t\t\t\tssl0.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"%v-cn-hangzhou\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tCaCertificateIds: pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin1, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"-\",\n\t\t\tInput: []interface{}{\n\t\t\t\tname,\n\t\t\t\tdefaultInteger.Result,\n\t\t\t\t1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tssl, err := cas.NewServiceCertificate(ctx, \"ssl\", \u0026cas.ServiceCertificateArgs{\n\t\t\tCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n`),\n\t\t\tCertificateName: pulumi.String(invokeJoin1.Result),\n\t\t\tKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewListenerAdditionalCertificateAttachment(ctx, \"default\", \u0026nlb.ListenerAdditionalCertificateAttachmentArgs{\n\t\t\tCertificateId: ssl.ID(),\n\t\t\tListenerId: createListener.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.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.cas.ServiceCertificate;\nimport com.pulumi.alicloud.cas.ServiceCertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport com.pulumi.alicloud.nlb.Listener;\nimport com.pulumi.alicloud.nlb.ListenerArgs;\nimport com.pulumi.alicloud.nlb.ListenerAdditionalCertificateAttachment;\nimport com.pulumi.alicloud.nlb.ListenerAdditionalCertificateAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var createVswJ = new Switch(\"createVswJ\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var createVswK = new Switch(\"createVswK\", SwitchArgs.builder()\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[1].id())\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n .addressIpVersion(\"Ipv4\")\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVswJ.id())\n .zoneId(createVswJ.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(createVswK.id())\n .zoneId(createVswK.zoneId())\n .build())\n .loadBalancerType(\"Network\")\n .loadBalancerName(name)\n .vpcId(createVpc.id())\n .addressType(\"Internet\")\n .build());\n\n var createSg = new ServerGroup(\"createSg\", ServerGroupArgs.builder()\n .addressIpVersion(\"Ipv4\")\n .scheduler(\"Wrr\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .build())\n .serverGroupType(\"Instance\")\n .vpcId(createVpc.id())\n .protocol(\"TCPSSL\")\n .serverGroupName(name)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var ssl0 = new ServiceCertificate(\"ssl0\", ServiceCertificateArgs.builder()\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\nQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\nA0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\nhkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\nNTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\nVQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\nA1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\nifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\nEj8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\nBnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\nAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\nYWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\nmKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\nfQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\nzEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\nIX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n-----END CERTIFICATE-----\n \"\"\")\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n 0)\n .build()).result())\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\nn6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\ni8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\nXrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\nJ/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\ng+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n/5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\nvPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\nUUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\nj0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\nd1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\nYwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\nmMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\nX3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\nrEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\nZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\nmzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\naT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\nLjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\nvOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\npQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\nDkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n var createListener = new Listener(\"createListener\", ListenerArgs.builder()\n .listenerPort(443)\n .serverGroupId(createSg.id())\n .loadBalancerId(lb.id())\n .listenerProtocol(\"TCPSSL\")\n .certificateIds(ssl0.id().applyValue(_id -\u003e String.format(\"%s-cn-hangzhou\", _id)))\n .caCertificateIds()\n .build());\n\n var ssl = new ServiceCertificate(\"ssl\", ServiceCertificateArgs.builder()\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\nBAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\nMA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\nZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\ndjELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\nChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\nAoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\ncoG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\nKOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\nHQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n+OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\nQkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\nMAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\nAJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\ncQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\nOfi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\nDUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n-----END CERTIFICATE-----\n \"\"\")\n .certificateName(StdFunctions.join(JoinArgs.builder()\n .separator(\"-\")\n .input( \n name,\n defaultInteger.result(),\n 1)\n .build()).result())\n .key(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\nkg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\nywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\nAoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\nhwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\nMdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\nEv9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\nqygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\nzWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\nDrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n-----END RSA PRIVATE KEY-----\n \"\"\")\n .build());\n\n var defaultListenerAdditionalCertificateAttachment = new ListenerAdditionalCertificateAttachment(\"defaultListenerAdditionalCertificateAttachment\", ListenerAdditionalCertificateAttachmentArgs.builder()\n .certificateId(ssl.id())\n .listenerId(createListener.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n name: create_vpc\n properties:\n cidrBlock: 172.16.0.0/12\n createVswJ:\n type: alicloud:vpc:Switch\n name: create_vsw_j\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.1.0/24\n createVswK:\n type: alicloud:vpc:Switch\n name: create_vsw_k\n properties:\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[1].id}\n cidrBlock: 172.16.2.0/24\n lb:\n type: alicloud:nlb:LoadBalancer\n properties:\n addressIpVersion: Ipv4\n zoneMappings:\n - vswitchId: ${createVswJ.id}\n zoneId: ${createVswJ.zoneId}\n - vswitchId: ${createVswK.id}\n zoneId: ${createVswK.zoneId}\n loadBalancerType: Network\n loadBalancerName: ${name}\n vpcId: ${createVpc.id}\n addressType: Internet\n createSg:\n type: alicloud:nlb:ServerGroup\n name: create_sg\n properties:\n addressIpVersion: Ipv4\n scheduler: Wrr\n healthCheck: {}\n serverGroupType: Instance\n vpcId: ${createVpc.id}\n protocol: TCPSSL\n serverGroupName: ${name}\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n ssl0:\n type: alicloud:cas:ServiceCertificate\n properties:\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDhDCCAmwCCQCwJW4JChLBqTANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC\n Q04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxDDAKBgNVBAoM\n A0FsaTEPMA0GA1UECwwGQWxpeXVuMRIwEAYDVQQDDAlUZXJyYWZvcm0xHTAbBgkq\n hkiG9w0BCQEWDjEyM0BhbGl5dW0uY29tMB4XDTI0MTIyNTA3MjQ0OFoXDTI3MTIy\n NTA3MjQ0OFowgYMxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYD\n VQQHDAdCZWlqaW5nMQwwCgYDVQQKDANBbGkxDzANBgNVBAsMBkFsaXl1bjESMBAG\n A1UEAwwJVGVycmFmb3JtMR0wGwYJKoZIhvcNAQkBFg4xMjNAYWxpeXVtLmNvbTCC\n ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK4UufXydtJZeW6lX9VahVIk\n ifblYCVkFcFoderF2FtD5AeMZJ+v+chHc7RiV+U7P3o0Fzk+cg7OL9dSEYBrwHK4\n 9yCwU/Mv+I/KsS8GjrRMOPjbrYvI0GjheEPJcILbt29tygrxX2PwV6FqWNknbGpk\n Ej8L9zTL977IHBmgw8A2AeKlqV64s8ydAgGbWO3NTK64OlEJJNR+J+75uYskNT3s\n 8DqaQV/IWlGAiUmGVeorWkrAWCfx2zSwI9jU8pNHtSF7PyxlbRy1ir2Lv1WnQKHf\n Bnhr/wXwKOL5IJRVZ144Z9TdcoPo4GbFmYMSTwYFIbjYZ3yxoygeXMk0UXPZxVsC\n AwEAATANBgkqhkiG9w0BAQsFAAOCAQEAVPA+Q0/5T6VzVw+MFXjCxXH1mWgd767w\n YWX4tvdGsTDkK6/ESm8m9GDp5F3p7Degk0isr9XkyzkWo/nPEPWQOeYR0kNTvpwY\n mKz9/aJwxalHS6O/8K2Ed6pZcXW0SUfjdH0/9YHw+vu4i2cQGTICzrKuEvyck40y\n fQocvFyw6O7W+tewLA4ntTuC6HhEQbC0p7zxGc3LSuayBgJrJiOAnGvFu+/OFQi+\n zEXi1xt8uQR6q5DQDsfqNCxpRKsCmU+POzNg2Y31GDMv4ZPerou5jXa1gh8/TVBT\n IX3OTy5aL4Ue8nBip3bVw+V/9L9xhmXbex6IMwwvrWI4OfMt6ECifQ==\n -----END CERTIFICATE-----\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${defaultInteger.result}\n - 0\n return: result\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIIEogIBAAKCAQEArhS59fJ20ll5bqVf1VqFUiSJ9uVgJWQVwWh16sXYW0PkB4xk\n n6/5yEdztGJX5Ts/ejQXOT5yDs4v11IRgGvAcrj3ILBT8y/4j8qxLwaOtEw4+Nut\n i8jQaOF4Q8lwgtu3b23KCvFfY/BXoWpY2SdsamQSPwv3NMv3vsgcGaDDwDYB4qWp\n XrizzJ0CAZtY7c1Mrrg6UQkk1H4n7vm5iyQ1PezwOppBX8haUYCJSYZV6itaSsBY\n J/HbNLAj2NTyk0e1IXs/LGVtHLWKvYu/VadAod8GeGv/BfAo4vkglFVnXjhn1N1y\n g+jgZsWZgxJPBgUhuNhnfLGjKB5cyTRRc9nFWwIDAQABAoIBAC0D2Q6bc1RzpK4S\n /5QZQ055el+o8tLYbbPEwnFCVe9LwASfrkmI5OuAZpAnuhjh2ElOfQ7lcfMYKFDi\n vPnbYzmHUQhX8G17YygzvtutM2u2JilcDSWPeS0V2NaWmYyNKoMa/dsUjZk3RkHM\n UUteIW/ljr5U5sj1UYw5DOMnqlbicy2cPPY4g1QKGW5t3p5Lxw5ojgqynzi8EKMq\n j0apEoTXxmciOrwwiP2ynRTEN77+FUZkTvmxmSPoIfNTycDPRr4aUwVHV2d5FHPn\n d1MdjSoUPbHdOLfynwXqTz9OlvMSUDrBvs6k5ripGY9qvh9PrOdj7zLXVRQXUuOR\n YwoVHKECgYEA1NzNGifjW5cdcbkzc86QA9TM7yAyBmgnopzlm+dFIhxtJmydxN4V\n 820x1Lkfe2vLCyYQ6fcEKAtjC9qdw+E2uzHAbtvnR4JseF3z1D82xw3MgGT9l3zc\n mMrgKmdCGGLWi6hboylX+2GBMVl2R0aRZrZje67jZcDXd06mlvW257ECgYEA0Vv1\n X3Ubn8XA3AA1ybem8fWNwEXfcYP1lJq0cX1gUXlpQvxWN61//aFZUCJZw5cEPArQ\n rEqhT81VCqXGO/by6D3fJD+4P8D6v6szJK2AGvXkZMfnJwAbHcOyGlxMin1CTJss\n ZID0XI9xmbedm7Wi40+qXz8q4rs25kft9YjfzMsCgYBSPfE8vtaYJ52nt7+Kae+4\n mzqG1XCeixVtPaN1BfjvAf6mDucyDgB7KeBL6S6ht/ceGpoEW30On7+n79JuwRAt\n aT6JVotYVKrmIp63jajzZYByxxI3unVcz12m5HhkBaQRF344XxvwMy8ASyloxnod\n LjDns52GTeix3wB8aPk/MQKBgGOQRwXpjISUKB64HtxacZN6ArqgwB2c8uqEFDIw\n vOCiS7Pmix4ZbdfxpqbcXzIMHKBtSEXXjBWGgd35bmfQDj7yRa9Yekgff2Ati7ny\n pQytSbu/8abzfvHNwmKU6HWoEiKaXSdCyHNIaG8BCnwlilxt44k+YifHftlO9dSi\n DkS3AoGAYmF++8uEvQot5Yma4GraY+7ZyfWNLwClsOsrN2g19Vycg16fJk0olwDx\n 2kRWKqNn99HJJwiLie1nvsDRJLbmzmI91Pttpu/EYFDJ8OYQOr1OhhPwwTygf+7S\n 1o2RTXu3gKNG6fxOtHFatws3IzvovOASYyJR5XP2sIJURLOrSN0=\n -----END RSA PRIVATE KEY-----\n createListener:\n type: alicloud:nlb:Listener\n name: create_listener\n properties:\n listenerPort: '443'\n serverGroupId: ${createSg.id}\n loadBalancerId: ${lb.id}\n listenerProtocol: TCPSSL\n certificateIds:\n - ${ssl0.id}-cn-hangzhou\n caCertificateIds: []\n ssl:\n type: alicloud:cas:ServiceCertificate\n properties:\n cert: |\n -----BEGIN CERTIFICATE-----\n MIIDRjCCAq+gAwIBAgIJAJn3ox4K13PoMA0GCSqGSIb3DQEBBQUAMHYxCzAJBgNV\n BAYTAkNOMQswCQYDVQQIEwJCSjELMAkGA1UEBxMCQkoxDDAKBgNVBAoTA0FMSTEP\n MA0GA1UECxMGQUxJWVVOMQ0wCwYDVQQDEwR0ZXN0MR8wHQYJKoZIhvcNAQkBFhB0\n ZXN0QGhvdG1haWwuY29tMB4XDTE0MTEyNDA2MDQyNVoXDTI0MTEyMTA2MDQyNVow\n djELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkJKMQswCQYDVQQHEwJCSjEMMAoGA1UE\n ChMDQUxJMQ8wDQYDVQQLEwZBTElZVU4xDTALBgNVBAMTBHRlc3QxHzAdBgkqhkiG\n 9w0BCQEWEHRlc3RAaG90bWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\n AoGBAM7SS3e9+Nj0HKAsRuIDNSsS3UK6b+62YQb2uuhKrp1HMrOx61WSDR2qkAnB\n coG00Uz38EE+9DLYNUVQBK7aSgLP5M1Ak4wr4GqGyCgjejzzh3DshUzLCCy2rook\n KOyRTlPX+Q5l7rE1fcSNzgepcae5i2sE1XXXzLRIDIvQxcspAgMBAAGjgdswgdgw\n HQYDVR0OBBYEFBdy+OuMsvbkV7R14f0OyoLoh2z4MIGoBgNVHSMEgaAwgZ2AFBdy\n +OuMsvbkV7R14f0OyoLoh2z4oXqkeDB2MQswCQYDVQQGEwJDTjELMAkGA1UECBMC\n QkoxCzAJBgNVBAcTAkJKMQwwCgYDVQQKEwNBTEkxDzANBgNVBAsTBkFMSVlVTjEN\n MAsGA1UEAxMEdGVzdDEfMB0GCSqGSIb3DQEJARYQdGVzdEBob3RtYWlsLmNvbYIJ\n AJn3ox4K13PoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAY7KOsnyT\n cQzfhiiG7ASjiPakw5wXoycHt5GCvLG5htp2TKVzgv9QTliA3gtfv6oV4zRZx7X1\n Ofi6hVgErtHaXJheuPVeW6eAW8mHBoEfvDAfU3y9waYrtUevSl07643bzKL6v+Qd\n DUBTxOAvSYfXTtI90EAxEG/bJJyOm5LqoiA=\n -----END CERTIFICATE-----\n certificateName:\n fn::invoke:\n function: std:join\n arguments:\n separator: '-'\n input:\n - ${name}\n - ${defaultInteger.result}\n - 1\n return: result\n key: |\n -----BEGIN RSA PRIVATE KEY-----\n MIICXAIBAAKBgQDO0kt3vfjY9BygLEbiAzUrEt1Cum/utmEG9rroSq6dRzKzsetV\n kg0dqpAJwXKBtNFM9/BBPvQy2DVFUASu2koCz+TNQJOMK+BqhsgoI3o884dw7IVM\n ywgstq6KJCjskU5T1/kOZe6xNX3Ejc4HqXGnuYtrBNV118y0SAyL0MXLKQIDAQAB\n AoGAfe3NxbsGKhN42o4bGsKZPQDfeCHMxayGp5bTd10BtQIE/ST4BcJH+ihAS7Bd\n 6FwQlKzivNd4GP1MckemklCXfsVckdL94e8ZbJl23GdWul3v8V+KndJHqv5zVJmP\n hwWoKimwIBTb2s0ctVryr2f18N4hhyFw1yGp0VxclGHkjgECQQD9CvllsnOwHpP4\n MdrDHbdb29QrobKyKW8pPcDd+sth+kP6Y8MnCVuAKXCKj5FeIsgVtfluPOsZjPzz\n 71QQWS1dAkEA0T0KXO8gaBQwJhIoo/w6hy5JGZnrNSpOPp5xvJuMAafs2eyvmhJm\n Ev9SN/Pf2VYa1z6FEnBaLOVD6hf6YQIsPQJAX/CZPoW6dzwgvimo1/GcY6eleiWE\n qygqjWhsh71e/3bz7yuEAnj5yE3t7Zshcp+dXR3xxGo0eSuLfLFxHgGxwQJAAxf8\n 9DzQ5NkPkTCJi0sqbl8/03IUKTgT6hcbpWdDXa7m8J3wRr3o5nUB+TPQ5nzAbthM\n zWX931YQeACcwhxvHQJBAN5mTzzJD4w4Ma6YTaNHyXakdYfyAWrOkPIWZxfhMfXe\n DrlNdiysTI4Dd1dLeErVpjsckAaOW/JDG5PCSwkaMxk=\n -----END RSA PRIVATE KEY-----\n defaultListenerAdditionalCertificateAttachment:\n type: alicloud:nlb:ListenerAdditionalCertificateAttachment\n name: default\n properties:\n certificateId: ${ssl.id}\n listenerId: ${createListener.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNLB Listener Additional Certificate Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/listenerAdditionalCertificateAttachment:ListenerAdditionalCertificateAttachment example \u003clistener_id\u003e:\u003ccertificate_id\u003e\n```\n\n", "properties": { "certificateId": { "type": "string", @@ -215593,7 +220638,7 @@ } }, "alicloud:nlb/loadBalancer:LoadBalancer": { - "description": "Provides a Network Load Balancer (NLB) Load Balancer resource.\n\n\n\nFor information about Network Load Balancer (NLB) Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDualStack Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst zone = config.getObject\u003cany\u003e(\"zone\") || [\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n];\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"10.2.0.0/16\",\n enableIpv6: true,\n});\nconst vsw: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n vsw.push(new alicloud.vpc.Switch(`vsw-${range.value}`, {\n enableIpv6: true,\n ipv6CidrBlockMask: `1${range.value}`,\n vswitchName: `vsw-${range.value}-for-nlb`,\n vpcId: vpc.id,\n cidrBlock: `10.2.1${range.value}.0/24`,\n zoneId: zone[range.value],\n }));\n}\nconst _default = new alicloud.vpc.Ipv6Gateway(\"default\", {\n ipv6GatewayName: name,\n vpcId: vpc.id,\n});\nconst nlb = new alicloud.nlb.LoadBalancer(\"nlb\", {\n loadBalancerName: name,\n loadBalancerType: \"Network\",\n addressType: \"Intranet\",\n addressIpVersion: \"DualStack\",\n ipv6AddressType: \"Internet\",\n vpcId: vpc.id,\n crossZoneEnabled: false,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: vsw[0].id,\n zoneId: zone[0],\n },\n {\n vswitchId: vsw[1].id,\n zoneId: zone[1],\n },\n ],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nzone = config.get_object(\"zone\")\nif zone is None:\n zone = [\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n ]\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"10.2.0.0/16\",\n enable_ipv6=True)\nvsw = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n vsw.append(alicloud.vpc.Switch(f\"vsw-{range['value']}\",\n enable_ipv6=True,\n ipv6_cidr_block_mask=f\"1{range['value']}\",\n vswitch_name=f\"vsw-{range['value']}-for-nlb\",\n vpc_id=vpc.id,\n cidr_block=f\"10.2.1{range['value']}.0/24\",\n zone_id=zone[range[\"value\"]]))\ndefault = alicloud.vpc.Ipv6Gateway(\"default\",\n ipv6_gateway_name=name,\n vpc_id=vpc.id)\nnlb = alicloud.nlb.LoadBalancer(\"nlb\",\n load_balancer_name=name,\n load_balancer_type=\"Network\",\n address_type=\"Intranet\",\n address_ip_version=\"DualStack\",\n ipv6_address_type=\"Internet\",\n vpc_id=vpc.id,\n cross_zone_enabled=False,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": vsw[0].id,\n \"zone_id\": zone[0],\n },\n {\n \"vswitch_id\": vsw[1].id,\n \"zone_id\": zone[1],\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var zone = config.GetObject\u003cdynamic\u003e(\"zone\") ?? new[]\n {\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n };\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"10.2.0.0/16\",\n EnableIpv6 = true,\n });\n\n var vsw = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vsw.Add(new AliCloud.Vpc.Switch($\"vsw-{range.Value}\", new()\n {\n EnableIpv6 = true,\n Ipv6CidrBlockMask = $\"1{range.Value}\",\n VswitchName = $\"vsw-{range.Value}-for-nlb\",\n VpcId = vpc.Id,\n CidrBlock = $\"10.2.1{range.Value}.0/24\",\n ZoneId = zone[range.Value],\n }));\n }\n var @default = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Ipv6GatewayName = name,\n VpcId = vpc.Id,\n });\n\n var nlb = new AliCloud.Nlb.LoadBalancer(\"nlb\", new()\n {\n LoadBalancerName = name,\n LoadBalancerType = \"Network\",\n AddressType = \"Intranet\",\n AddressIpVersion = \"DualStack\",\n Ipv6AddressType = \"Internet\",\n VpcId = vpc.Id,\n CrossZoneEnabled = false,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw[0].Id,\n ZoneId = zone[0],\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw[1].Id,\n ZoneId = zone[1],\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzone := []string{\n\t\t\t\"cn-beijing-i\",\n\t\t\t\"cn-beijing-k\",\n\t\t\t\"cn-beijing-l\",\n\t\t}\n\t\tif param := cfg.GetObject(\"zone\"); param != nil {\n\t\t\tzone = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar vsw []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vsw-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\t\tIpv6CidrBlockMask: pulumi.Int(fmt.Sprintf(\"1%v\", val0)),\n\t\t\t\tVswitchName: pulumi.Sprintf(\"vsw-%v-for-nlb\", val0),\n\t\t\t\tVpcId: vpc.ID(),\n\t\t\t\tCidrBlock: pulumi.Sprintf(\"10.2.1%v.0/24\", val0),\n\t\t\t\tZoneId: zone[val0],\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvsw = append(vsw, __res)\n\t\t}\n\t\t_default, err := vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tIpv6GatewayName: pulumi.String(name),\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_, err = nlb.NewLoadBalancer(ctx, \"nlb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"DualStack\"),\n\t\t\tIpv6AddressType: pulumi.String(\"Internet\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCrossZoneEnabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw[0].ID(),\n\t\t\t\t\tZoneId: pulumi.Any(zone[0]),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw[1].ID(),\n\t\t\t\t\tZoneId: pulumi.Any(zone[1]),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\t_default,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var zone = config.get(\"zone\").orElse(List.of( \n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\"));\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.2.0.0/16\")\n .enableIpv6(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"vsw-\" + i, SwitchArgs.builder()\n .enableIpv6(true)\n .ipv6CidrBlockMask(String.format(\"1%s\", range.value()))\n .vswitchName(String.format(\"vsw-%s-for-nlb\", range.value()))\n .vpcId(vpc.id())\n .cidrBlock(String.format(\"10.2.1%s.0/24\", range.value()))\n .zoneId(zone[range.value()])\n .build());\n\n \n}\n var default_ = new Ipv6Gateway(\"default\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(name)\n .vpcId(vpc.id())\n .build());\n\n var nlb = new LoadBalancer(\"nlb\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerType(\"Network\")\n .addressType(\"Intranet\")\n .addressIpVersion(\"DualStack\")\n .ipv6AddressType(\"Internet\")\n .vpcId(vpc.id())\n .crossZoneEnabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw[0].id())\n .zoneId(zone[0])\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw[1].id())\n .zoneId(zone[1])\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Load Balancer (NLB) Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", + "description": "Provides a Network Load Balancer (NLB) Load Balancer resource.\n\n\n\nFor information about Network Load Balancer (NLB) Load Balancer and how to use it, see [What is Load Balancer](https://www.alibabacloud.com/help/en/server-load-balancer/latest/api-nlb-2022-04-30-createloadbalancer).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDualStack Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst zone = config.getObject\u003cany\u003e(\"zone\") || [\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n];\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"10.2.0.0/16\",\n enableIpv6: true,\n});\nconst vsw: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n vsw.push(new alicloud.vpc.Switch(`vsw-${range.value}`, {\n enableIpv6: true,\n ipv6CidrBlockMask: `1${range.value}`,\n vswitchName: `vsw-${range.value}-for-nlb`,\n vpcId: vpc.id,\n cidrBlock: `10.2.1${range.value}.0/24`,\n zoneId: zone[range.value],\n }));\n}\nconst _default = new alicloud.vpc.Ipv6Gateway(\"default\", {\n ipv6GatewayName: name,\n vpcId: vpc.id,\n});\nconst nlb = new alicloud.nlb.LoadBalancer(\"nlb\", {\n loadBalancerName: name,\n loadBalancerType: \"Network\",\n addressType: \"Intranet\",\n addressIpVersion: \"DualStack\",\n ipv6AddressType: \"Internet\",\n vpcId: vpc.id,\n crossZoneEnabled: false,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: vsw[0].id,\n zoneId: zone[0],\n },\n {\n vswitchId: vsw[1].id,\n zoneId: zone[1],\n },\n ],\n}, {\n dependsOn: [_default],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nzone = config.get_object(\"zone\")\nif zone is None:\n zone = [\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n ]\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"10.2.0.0/16\",\n enable_ipv6=True)\nvsw = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n vsw.append(alicloud.vpc.Switch(f\"vsw-{range['value']}\",\n enable_ipv6=True,\n ipv6_cidr_block_mask=f\"1{range['value']}\",\n vswitch_name=f\"vsw-{range['value']}-for-nlb\",\n vpc_id=vpc.id,\n cidr_block=f\"10.2.1{range['value']}.0/24\",\n zone_id=zone[range[\"value\"]]))\ndefault = alicloud.vpc.Ipv6Gateway(\"default\",\n ipv6_gateway_name=name,\n vpc_id=vpc.id)\nnlb = alicloud.nlb.LoadBalancer(\"nlb\",\n load_balancer_name=name,\n load_balancer_type=\"Network\",\n address_type=\"Intranet\",\n address_ip_version=\"DualStack\",\n ipv6_address_type=\"Internet\",\n vpc_id=vpc.id,\n cross_zone_enabled=False,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": vsw[0].id,\n \"zone_id\": zone[0],\n },\n {\n \"vswitch_id\": vsw[1].id,\n \"zone_id\": zone[1],\n },\n ],\n opts = pulumi.ResourceOptions(depends_on=[default]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var zone = config.GetObject\u003cdynamic\u003e(\"zone\") ?? new[]\n {\n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\",\n };\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"10.2.0.0/16\",\n EnableIpv6 = true,\n });\n\n var vsw = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vsw.Add(new AliCloud.Vpc.Switch($\"vsw-{range.Value}\", new()\n {\n EnableIpv6 = true,\n Ipv6CidrBlockMask = $\"1{range.Value}\",\n VswitchName = $\"vsw-{range.Value}-for-nlb\",\n VpcId = vpc.Id,\n CidrBlock = $\"10.2.1{range.Value}.0/24\",\n ZoneId = zone[range.Value],\n }));\n }\n var @default = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Ipv6GatewayName = name,\n VpcId = vpc.Id,\n });\n\n var nlb = new AliCloud.Nlb.LoadBalancer(\"nlb\", new()\n {\n LoadBalancerName = name,\n LoadBalancerType = \"Network\",\n AddressType = \"Intranet\",\n AddressIpVersion = \"DualStack\",\n Ipv6AddressType = \"Internet\",\n VpcId = vpc.Id,\n CrossZoneEnabled = false,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw[0].Id,\n ZoneId = zone[0],\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw[1].Id,\n ZoneId = zone[1],\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n @default,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tzone := []string{\n\t\t\t\"cn-beijing-i\",\n\t\t\t\"cn-beijing-k\",\n\t\t\t\"cn-beijing-l\",\n\t\t}\n\t\tif param := cfg.GetObject(\"zone\"); param != nil {\n\t\t\tzone = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.2.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar vsw []*vpc.Switch\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vsw-%v\", key0), \u0026vpc.SwitchArgs{\n\t\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\t\tIpv6CidrBlockMask: pulumi.Int(fmt.Sprintf(\"1%v\", val0)),\n\t\t\t\tVswitchName: pulumi.Sprintf(\"vsw-%v-for-nlb\", val0),\n\t\t\t\tVpcId: vpc.ID(),\n\t\t\t\tCidrBlock: pulumi.Sprintf(\"10.2.1%v.0/24\", val0),\n\t\t\t\tZoneId: zone[val0],\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tvsw = append(vsw, __res)\n\t\t}\n\t\t_default, err := vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tIpv6GatewayName: pulumi.String(name),\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_, err = nlb.NewLoadBalancer(ctx, \"nlb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"DualStack\"),\n\t\t\tIpv6AddressType: pulumi.String(\"Internet\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCrossZoneEnabled: pulumi.Bool(false),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw[0].ID(),\n\t\t\t\t\tZoneId: pulumi.Any(zone[0]),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw[1].ID(),\n\t\t\t\t\tZoneId: pulumi.Any(zone[1]),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\t_default,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var zone = config.get(\"zone\").orElse(List.of( \n \"cn-beijing-i\",\n \"cn-beijing-k\",\n \"cn-beijing-l\"));\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.2.0.0/16\")\n .enableIpv6(true)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"vsw-\" + i, SwitchArgs.builder()\n .enableIpv6(true)\n .ipv6CidrBlockMask(String.format(\"1%s\", range.value()))\n .vswitchName(String.format(\"vsw-%s-for-nlb\", range.value()))\n .vpcId(vpc.id())\n .cidrBlock(String.format(\"10.2.1%s.0/24\", range.value()))\n .zoneId(zone[range.value()])\n .build());\n\n \n}\n var default_ = new Ipv6Gateway(\"default\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(name)\n .vpcId(vpc.id())\n .build());\n\n var nlb = new LoadBalancer(\"nlb\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerType(\"Network\")\n .addressType(\"Intranet\")\n .addressIpVersion(\"DualStack\")\n .ipv6AddressType(\"Internet\")\n .vpcId(vpc.id())\n .crossZoneEnabled(false)\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw[0].id())\n .zoneId(zone[0])\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw[1].id())\n .zoneId(zone[1])\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(default_)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNetwork Load Balancer (NLB) Load Balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancer:LoadBalancer example \u003cid\u003e\n```\n\n", "properties": { "addressIpVersion": { "type": "string", @@ -215952,7 +220997,7 @@ } }, "alicloud:nlb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment": { - "description": "Provides a NLB Load Balancer Security Group Attachment resource.\n\nSecurity Group mount.\n\nFor information about NLB Load Balancer Security Group Attachment and how to use it, see [What is Load Balancer Security Group Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/loadbalancerjoinsecuritygroup).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultLoadBalancerSecurityGroupAttachment = new alicloud.nlb.LoadBalancerSecurityGroupAttachment(\"default\", {\n securityGroupId: defaultSecurityGroup.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_load_balancer_security_group_attachment = alicloud.nlb.LoadBalancerSecurityGroupAttachment(\"default\",\n security_group_id=default_security_group.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultLoadBalancerSecurityGroupAttachment = new AliCloud.Nlb.LoadBalancerSecurityGroupAttachment(\"default\", new()\n {\n SecurityGroupId = defaultSecurityGroup.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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 = nlb.NewLoadBalancerSecurityGroupAttachment(ctx, \"default\", \u0026nlb.LoadBalancerSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachment;\nimport com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultLoadBalancerSecurityGroupAttachment = new LoadBalancerSecurityGroupAttachment(\"defaultLoadBalancerSecurityGroupAttachment\", LoadBalancerSecurityGroupAttachmentArgs.builder()\n .securityGroupId(defaultSecurityGroup.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultLoadBalancerSecurityGroupAttachment:\n type: alicloud:nlb:LoadBalancerSecurityGroupAttachment\n name: default\n properties:\n securityGroupId: ${defaultSecurityGroup.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNLB Load Balancer Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example \u003cload_balancer_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", + "description": "Provides a NLB Load Balancer Security Group Attachment resource.\n\nSecurity Group mount.\n\nFor information about NLB Load Balancer Security Group Attachment and how to use it, see [What is Load Balancer Security Group Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/loadbalancerjoinsecuritygroup).\n\n\u003e **NOTE:** Available since v1.198.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultLoadBalancerSecurityGroupAttachment = new alicloud.nlb.LoadBalancerSecurityGroupAttachment(\"default\", {\n securityGroupId: defaultSecurityGroup.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_load_balancer_security_group_attachment = alicloud.nlb.LoadBalancerSecurityGroupAttachment(\"default\",\n security_group_id=default_security_group.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultLoadBalancerSecurityGroupAttachment = new AliCloud.Nlb.LoadBalancerSecurityGroupAttachment(\"default\", new()\n {\n SecurityGroupId = defaultSecurityGroup.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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 = nlb.NewLoadBalancerSecurityGroupAttachment(ctx, \"default\", \u0026nlb.LoadBalancerSecurityGroupAttachmentArgs{\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachment;\nimport com.pulumi.alicloud.nlb.LoadBalancerSecurityGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultLoadBalancerSecurityGroupAttachment = new LoadBalancerSecurityGroupAttachment(\"defaultLoadBalancerSecurityGroupAttachment\", LoadBalancerSecurityGroupAttachmentArgs.builder()\n .securityGroupId(defaultSecurityGroup.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultLoadBalancerSecurityGroupAttachment:\n type: alicloud:nlb:LoadBalancerSecurityGroupAttachment\n name: default\n properties:\n securityGroupId: ${defaultSecurityGroup.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNLB Load Balancer Security Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancerSecurityGroupAttachment:LoadBalancerSecurityGroupAttachment example \u003cload_balancer_id\u003e:\u003csecurity_group_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -216013,7 +221058,7 @@ } }, "alicloud:nlb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment": { - "description": "Provides a Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment resource.\n\nNetwork load balancer shift zone.\n\nFor information about Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment and how to use it, see [What is Load Balancer Zone Shifted Attachment](https://next.api.alibabacloud.com/document/Nlb/2022-04-30/StartShiftLoadBalancerZones).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: \"example\",\n cidrBlock: \"10.0.0.0/8\",\n enableIpv6: true,\n vpcName: \"tf-exampleacc-248\",\n});\nconst vsw1 = new alicloud.vpc.Switch(\"vsw1\", {\n vpcId: vpc.id,\n zoneId: \"cn-beijing-l\",\n cidrBlock: \"10.0.1.0/24\",\n vswitchName: \"tf-exampleacc-41\",\n});\nconst vsw2 = new alicloud.vpc.Switch(\"vsw2\", {\n vpcId: vpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"10.0.2.0/24\",\n vswitchName: \"tf-exampleacc-301\",\n ipv6CidrBlockMask: 8,\n});\nconst nlb = new alicloud.nlb.LoadBalancer(\"nlb\", {\n zoneMappings: [\n {\n vswitchId: vsw1.id,\n zoneId: vsw1.zoneId,\n },\n {\n vswitchId: vsw2.id,\n zoneId: vsw2.zoneId,\n },\n ],\n vpcId: vpc.id,\n addressType: \"Intranet\",\n});\nconst _default = new alicloud.nlb.LoadBalancerZoneShiftedAttachment(\"default\", {\n zoneId: vsw1.zoneId,\n vswitchId: vsw1.id,\n loadBalancerId: nlb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n description=\"example\",\n cidr_block=\"10.0.0.0/8\",\n enable_ipv6=True,\n vpc_name=\"tf-exampleacc-248\")\nvsw1 = alicloud.vpc.Switch(\"vsw1\",\n vpc_id=vpc.id,\n zone_id=\"cn-beijing-l\",\n cidr_block=\"10.0.1.0/24\",\n vswitch_name=\"tf-exampleacc-41\")\nvsw2 = alicloud.vpc.Switch(\"vsw2\",\n vpc_id=vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"10.0.2.0/24\",\n vswitch_name=\"tf-exampleacc-301\",\n ipv6_cidr_block_mask=8)\nnlb = alicloud.nlb.LoadBalancer(\"nlb\",\n zone_mappings=[\n {\n \"vswitch_id\": vsw1.id,\n \"zone_id\": vsw1.zone_id,\n },\n {\n \"vswitch_id\": vsw2.id,\n \"zone_id\": vsw2.zone_id,\n },\n ],\n vpc_id=vpc.id,\n address_type=\"Intranet\")\ndefault = alicloud.nlb.LoadBalancerZoneShiftedAttachment(\"default\",\n zone_id=vsw1.zone_id,\n vswitch_id=vsw1.id,\n load_balancer_id=nlb.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"10.0.0.0/8\",\n EnableIpv6 = true,\n VpcName = \"tf-exampleacc-248\",\n });\n\n var vsw1 = new AliCloud.Vpc.Switch(\"vsw1\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-beijing-l\",\n CidrBlock = \"10.0.1.0/24\",\n VswitchName = \"tf-exampleacc-41\",\n });\n\n var vsw2 = new AliCloud.Vpc.Switch(\"vsw2\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"10.0.2.0/24\",\n VswitchName = \"tf-exampleacc-301\",\n Ipv6CidrBlockMask = 8,\n });\n\n var nlb = new AliCloud.Nlb.LoadBalancer(\"nlb\", new()\n {\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw1.Id,\n ZoneId = vsw1.ZoneId,\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw2.Id,\n ZoneId = vsw2.ZoneId,\n },\n },\n VpcId = vpc.Id,\n AddressType = \"Intranet\",\n });\n\n var @default = new AliCloud.Nlb.LoadBalancerZoneShiftedAttachment(\"default\", new()\n {\n ZoneId = vsw1.ZoneId,\n VswitchId = vsw1.Id,\n LoadBalancerId = nlb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tVpcName: pulumi.String(\"tf-exampleacc-248\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvsw1, err := vpc.NewSwitch(ctx, \"vsw1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-exampleacc-41\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvsw2, err := vpc.NewSwitch(ctx, \"vsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-exampleacc-301\"),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnlb, err := nlb.NewLoadBalancer(ctx, \"nlb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw1.ID(),\n\t\t\t\t\tZoneId: vsw1.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw2.ID(),\n\t\t\t\t\tZoneId: vsw2.ZoneId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadBalancerZoneShiftedAttachment(ctx, \"default\", \u0026nlb.LoadBalancerZoneShiftedAttachmentArgs{\n\t\t\tZoneId: vsw1.ZoneId,\n\t\t\tVswitchId: vsw1.ID(),\n\t\t\tLoadBalancerId: nlb.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancerZoneShiftedAttachment;\nimport com.pulumi.alicloud.nlb.LoadBalancerZoneShiftedAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"10.0.0.0/8\")\n .enableIpv6(true)\n .vpcName(\"tf-exampleacc-248\")\n .build());\n\n var vsw1 = new Switch(\"vsw1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-beijing-l\")\n .cidrBlock(\"10.0.1.0/24\")\n .vswitchName(\"tf-exampleacc-41\")\n .build());\n\n var vsw2 = new Switch(\"vsw2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"10.0.2.0/24\")\n .vswitchName(\"tf-exampleacc-301\")\n .ipv6CidrBlockMask(8)\n .build());\n\n var nlb = new LoadBalancer(\"nlb\", LoadBalancerArgs.builder()\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw1.id())\n .zoneId(vsw1.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw2.id())\n .zoneId(vsw2.zoneId())\n .build())\n .vpcId(vpc.id())\n .addressType(\"Intranet\")\n .build());\n\n var default_ = new LoadBalancerZoneShiftedAttachment(\"default\", LoadBalancerZoneShiftedAttachmentArgs.builder()\n .zoneId(vsw1.zoneId())\n .vswitchId(vsw1.id())\n .loadBalancerId(nlb.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 10.0.0.0/8\n enableIpv6: true\n vpcName: tf-exampleacc-248\n vsw1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-beijing-l\n cidrBlock: 10.0.1.0/24\n vswitchName: tf-exampleacc-41\n vsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 10.0.2.0/24\n vswitchName: tf-exampleacc-301\n ipv6CidrBlockMask: '8'\n nlb:\n type: alicloud:nlb:LoadBalancer\n properties:\n zoneMappings:\n - vswitchId: ${vsw1.id}\n zoneId: ${vsw1.zoneId}\n - vswitchId: ${vsw2.id}\n zoneId: ${vsw2.zoneId}\n vpcId: ${vpc.id}\n addressType: Intranet\n default:\n type: alicloud:nlb:LoadBalancerZoneShiftedAttachment\n properties:\n zoneId: ${vsw1.zoneId}\n vswitchId: ${vsw1.id}\n loadBalancerId: ${nlb.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment example \u003cload_balancer_id\u003e:\u003czone_id\u003e:\u003cvswitch_id\u003e\n```\n\n", + "description": "Provides a Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment resource.\n\nNetwork load balancer shift zone.\n\nFor information about Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment and how to use it, see [What is Load Balancer Zone Shifted Attachment](https://next.api.alibabacloud.com/document/Nlb/2022-04-30/StartShiftLoadBalancerZones).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n description: \"example\",\n cidrBlock: \"10.0.0.0/8\",\n enableIpv6: true,\n vpcName: \"tf-exampleacc-248\",\n});\nconst vsw1 = new alicloud.vpc.Switch(\"vsw1\", {\n vpcId: vpc.id,\n zoneId: \"cn-beijing-l\",\n cidrBlock: \"10.0.1.0/24\",\n vswitchName: \"tf-exampleacc-41\",\n});\nconst vsw2 = new alicloud.vpc.Switch(\"vsw2\", {\n vpcId: vpc.id,\n zoneId: \"cn-beijing-k\",\n cidrBlock: \"10.0.2.0/24\",\n vswitchName: \"tf-exampleacc-301\",\n ipv6CidrBlockMask: 8,\n});\nconst nlb = new alicloud.nlb.LoadBalancer(\"nlb\", {\n zoneMappings: [\n {\n vswitchId: vsw1.id,\n zoneId: vsw1.zoneId,\n },\n {\n vswitchId: vsw2.id,\n zoneId: vsw2.zoneId,\n },\n ],\n vpcId: vpc.id,\n addressType: \"Intranet\",\n});\nconst _default = new alicloud.nlb.LoadBalancerZoneShiftedAttachment(\"default\", {\n zoneId: vsw1.zoneId,\n vswitchId: vsw1.id,\n loadBalancerId: nlb.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nvpc = alicloud.vpc.Network(\"vpc\",\n description=\"example\",\n cidr_block=\"10.0.0.0/8\",\n enable_ipv6=True,\n vpc_name=\"tf-exampleacc-248\")\nvsw1 = alicloud.vpc.Switch(\"vsw1\",\n vpc_id=vpc.id,\n zone_id=\"cn-beijing-l\",\n cidr_block=\"10.0.1.0/24\",\n vswitch_name=\"tf-exampleacc-41\")\nvsw2 = alicloud.vpc.Switch(\"vsw2\",\n vpc_id=vpc.id,\n zone_id=\"cn-beijing-k\",\n cidr_block=\"10.0.2.0/24\",\n vswitch_name=\"tf-exampleacc-301\",\n ipv6_cidr_block_mask=8)\nnlb = alicloud.nlb.LoadBalancer(\"nlb\",\n zone_mappings=[\n {\n \"vswitch_id\": vsw1.id,\n \"zone_id\": vsw1.zone_id,\n },\n {\n \"vswitch_id\": vsw2.id,\n \"zone_id\": vsw2.zone_id,\n },\n ],\n vpc_id=vpc.id,\n address_type=\"Intranet\")\ndefault = alicloud.nlb.LoadBalancerZoneShiftedAttachment(\"default\",\n zone_id=vsw1.zone_id,\n vswitch_id=vsw1.id,\n load_balancer_id=nlb.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"10.0.0.0/8\",\n EnableIpv6 = true,\n VpcName = \"tf-exampleacc-248\",\n });\n\n var vsw1 = new AliCloud.Vpc.Switch(\"vsw1\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-beijing-l\",\n CidrBlock = \"10.0.1.0/24\",\n VswitchName = \"tf-exampleacc-41\",\n });\n\n var vsw2 = new AliCloud.Vpc.Switch(\"vsw2\", new()\n {\n VpcId = vpc.Id,\n ZoneId = \"cn-beijing-k\",\n CidrBlock = \"10.0.2.0/24\",\n VswitchName = \"tf-exampleacc-301\",\n Ipv6CidrBlockMask = 8,\n });\n\n var nlb = new AliCloud.Nlb.LoadBalancer(\"nlb\", new()\n {\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw1.Id,\n ZoneId = vsw1.ZoneId,\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = vsw2.Id,\n ZoneId = vsw2.ZoneId,\n },\n },\n VpcId = vpc.Id,\n AddressType = \"Intranet\",\n });\n\n var @default = new AliCloud.Nlb.LoadBalancerZoneShiftedAttachment(\"default\", new()\n {\n ZoneId = vsw1.ZoneId,\n VswitchId = vsw1.Id,\n LoadBalancerId = nlb.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tVpcName: pulumi.String(\"tf-exampleacc-248\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvsw1, err := vpc.NewSwitch(ctx, \"vsw1\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-l\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-exampleacc-41\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvsw2, err := vpc.NewSwitch(ctx, \"vsw2\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-k\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"tf-exampleacc-301\"),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnlb, err := nlb.NewLoadBalancer(ctx, \"nlb\", \u0026nlb.LoadBalancerArgs{\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw1.ID(),\n\t\t\t\t\tZoneId: vsw1.ZoneId,\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: vsw2.ID(),\n\t\t\t\t\tZoneId: vsw2.ZoneId,\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAddressType: pulumi.String(\"Intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadBalancerZoneShiftedAttachment(ctx, \"default\", \u0026nlb.LoadBalancerZoneShiftedAttachmentArgs{\n\t\t\tZoneId: vsw1.ZoneId,\n\t\t\tVswitchId: vsw1.ID(),\n\t\t\tLoadBalancerId: nlb.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancerZoneShiftedAttachment;\nimport com.pulumi.alicloud.nlb.LoadBalancerZoneShiftedAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"10.0.0.0/8\")\n .enableIpv6(true)\n .vpcName(\"tf-exampleacc-248\")\n .build());\n\n var vsw1 = new Switch(\"vsw1\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-beijing-l\")\n .cidrBlock(\"10.0.1.0/24\")\n .vswitchName(\"tf-exampleacc-41\")\n .build());\n\n var vsw2 = new Switch(\"vsw2\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .zoneId(\"cn-beijing-k\")\n .cidrBlock(\"10.0.2.0/24\")\n .vswitchName(\"tf-exampleacc-301\")\n .ipv6CidrBlockMask(8)\n .build());\n\n var nlb = new LoadBalancer(\"nlb\", LoadBalancerArgs.builder()\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw1.id())\n .zoneId(vsw1.zoneId())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(vsw2.id())\n .zoneId(vsw2.zoneId())\n .build())\n .vpcId(vpc.id())\n .addressType(\"Intranet\")\n .build());\n\n var default_ = new LoadBalancerZoneShiftedAttachment(\"default\", LoadBalancerZoneShiftedAttachmentArgs.builder()\n .zoneId(vsw1.zoneId())\n .vswitchId(vsw1.id())\n .loadBalancerId(nlb.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 10.0.0.0/8\n enableIpv6: true\n vpcName: tf-exampleacc-248\n vsw1:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-beijing-l\n cidrBlock: 10.0.1.0/24\n vswitchName: tf-exampleacc-41\n vsw2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n zoneId: cn-beijing-k\n cidrBlock: 10.0.2.0/24\n vswitchName: tf-exampleacc-301\n ipv6CidrBlockMask: '8'\n nlb:\n type: alicloud:nlb:LoadBalancer\n properties:\n zoneMappings:\n - vswitchId: ${vsw1.id}\n zoneId: ${vsw1.zoneId}\n - vswitchId: ${vsw2.id}\n zoneId: ${vsw2.zoneId}\n vpcId: ${vpc.id}\n addressType: Intranet\n default:\n type: alicloud:nlb:LoadBalancerZoneShiftedAttachment\n properties:\n zoneId: ${vsw1.zoneId}\n vswitchId: ${vsw1.id}\n loadBalancerId: ${nlb.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNetwork Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadBalancerZoneShiftedAttachment:LoadBalancerZoneShiftedAttachment example \u003cload_balancer_id\u003e:\u003czone_id\u003e:\u003cvswitch_id\u003e\n```\n\n", "properties": { "loadBalancerId": { "type": "string", @@ -216087,7 +221132,7 @@ } }, "alicloud:nlb/loadbalancerCommonBandwidthPackageAttachment:LoadbalancerCommonBandwidthPackageAttachment": { - "description": "Provides a NLB Loadbalancer Common Bandwidth Package Attachment resource.\n\nBandwidth Package Operation.\n\nFor information about NLB Loadbalancer Common Bandwidth Package Attachment and how to use it, see [What is Loadbalancer Common Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultCommonBandwithPackage = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"2\",\n internetChargeType: \"PayByTraffic\",\n bandwidthPackageName: name,\n description: name,\n});\nconst defaultLoadbalancerCommonBandwidthPackageAttachment = new alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\", {\n bandwidthPackageId: defaultCommonBandwithPackage.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_common_bandwith_package = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"2\",\n internet_charge_type=\"PayByTraffic\",\n bandwidth_package_name=name,\n description=name)\ndefault_loadbalancer_common_bandwidth_package_attachment = alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\",\n bandwidth_package_id=default_common_bandwith_package.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultCommonBandwithPackage = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"2\",\n InternetChargeType = \"PayByTraffic\",\n BandwidthPackageName = name,\n Description = name,\n });\n\n var defaultLoadbalancerCommonBandwidthPackageAttachment = new AliCloud.Nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = defaultCommonBandwithPackage.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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\tdefaultCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"2\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadbalancerCommonBandwidthPackageAttachment(ctx, \"default\", \u0026nlb.LoadbalancerCommonBandwidthPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: defaultCommonBandwithPackage.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment;\nimport com.pulumi.alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultCommonBandwithPackage = new CommonBandwithPackage(\"defaultCommonBandwithPackage\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"2\")\n .internetChargeType(\"PayByTraffic\")\n .bandwidthPackageName(name)\n .description(name)\n .build());\n\n var defaultLoadbalancerCommonBandwidthPackageAttachment = new LoadbalancerCommonBandwidthPackageAttachment(\"defaultLoadbalancerCommonBandwidthPackageAttachment\", LoadbalancerCommonBandwidthPackageAttachmentArgs.builder()\n .bandwidthPackageId(defaultCommonBandwithPackage.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultCommonBandwithPackage:\n type: alicloud:vpc:CommonBandwithPackage\n name: default\n properties:\n bandwidth: 2\n internetChargeType: PayByTraffic\n bandwidthPackageName: ${name}\n description: ${name}\n defaultLoadbalancerCommonBandwidthPackageAttachment:\n type: alicloud:nlb:LoadbalancerCommonBandwidthPackageAttachment\n name: default\n properties:\n bandwidthPackageId: ${defaultCommonBandwithPackage.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadbalancerCommonBandwidthPackageAttachment:LoadbalancerCommonBandwidthPackageAttachment example \u003cload_balancer_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", + "description": "Provides a NLB Loadbalancer Common Bandwidth Package Attachment resource.\n\nBandwidth Package Operation.\n\nFor information about NLB Loadbalancer Common Bandwidth Package Attachment and how to use it, see [What is Loadbalancer Common Bandwidth Package Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/nlb-instances-change).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.nlb.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n vswitchName: name,\n cidrBlock: \"10.4.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultLoadBalancer = new alicloud.nlb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n loadBalancerType: \"Network\",\n addressType: \"Internet\",\n addressIpVersion: \"Ipv4\",\n vpcId: defaultNetwork.id,\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n zoneMappings: [\n {\n vswitchId: defaultSwitch.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n },\n {\n vswitchId: default1.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[1]?.id),\n },\n ],\n});\nconst defaultCommonBandwithPackage = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"2\",\n internetChargeType: \"PayByTraffic\",\n bandwidthPackageName: name,\n description: name,\n});\nconst defaultLoadbalancerCommonBandwidthPackageAttachment = new alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\", {\n bandwidthPackageId: defaultCommonBandwithPackage.id,\n loadBalancerId: defaultLoadBalancer.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.nlb.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault1 = alicloud.vpc.Switch(\"default1\",\n vswitch_name=name,\n cidr_block=\"10.4.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[1].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_load_balancer = alicloud.nlb.LoadBalancer(\"default\",\n load_balancer_name=name,\n resource_group_id=default.ids[0],\n load_balancer_type=\"Network\",\n address_type=\"Internet\",\n address_ip_version=\"Ipv4\",\n vpc_id=default_network.id,\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n zone_mappings=[\n {\n \"vswitch_id\": default_switch.id,\n \"zone_id\": default_get_zones.zones[0].id,\n },\n {\n \"vswitch_id\": default1.id,\n \"zone_id\": default_get_zones.zones[1].id,\n },\n ])\ndefault_common_bandwith_package = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"2\",\n internet_charge_type=\"PayByTraffic\",\n bandwidth_package_name=name,\n description=name)\ndefault_loadbalancer_common_bandwidth_package_attachment = alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\",\n bandwidth_package_id=default_common_bandwith_package.id,\n load_balancer_id=default_load_balancer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.Nlb.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultLoadBalancer = new AliCloud.Nlb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n LoadBalancerType = \"Network\",\n AddressType = \"Internet\",\n AddressIpVersion = \"Ipv4\",\n VpcId = defaultNetwork.Id,\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n ZoneMappings = new[]\n {\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = defaultSwitch.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n },\n new AliCloud.Nlb.Inputs.LoadBalancerZoneMappingArgs\n {\n VswitchId = default1.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[1]?.Id),\n },\n },\n });\n\n var defaultCommonBandwithPackage = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"2\",\n InternetChargeType = \"PayByTraffic\",\n BandwidthPackageName = name,\n Description = name,\n });\n\n var defaultLoadbalancerCommonBandwidthPackageAttachment = new AliCloud.Nlb.LoadbalancerCommonBandwidthPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = defaultCommonBandwithPackage.Id,\n LoadBalancerId = defaultLoadBalancer.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := nlb.GetZones(ctx, \u0026nlb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultLoadBalancer, err := nlb.NewLoadBalancer(ctx, \"default\", \u0026nlb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tLoadBalancerType: pulumi.String(\"Network\"),\n\t\t\tAddressType: pulumi.String(\"Internet\"),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tZoneMappings: nlb.LoadBalancerZoneMappingArray{\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\t\u0026nlb.LoadBalancerZoneMappingArgs{\n\t\t\t\t\tVswitchId: default1.ID(),\n\t\t\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[1].Id),\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\tdefaultCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"2\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tBandwidthPackageName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewLoadbalancerCommonBandwidthPackageAttachment(ctx, \"default\", \u0026nlb.LoadbalancerCommonBandwidthPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: defaultCommonBandwithPackage.ID(),\n\t\t\tLoadBalancerId: defaultLoadBalancer.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.NlbFunctions;\nimport com.pulumi.alicloud.nlb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.nlb.LoadBalancer;\nimport com.pulumi.alicloud.nlb.LoadBalancerArgs;\nimport com.pulumi.alicloud.nlb.inputs.LoadBalancerZoneMappingArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachment;\nimport com.pulumi.alicloud.nlb.LoadbalancerCommonBandwidthPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = NlbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .resourceGroupId(default_.ids()[0])\n .loadBalancerType(\"Network\")\n .addressType(\"Internet\")\n .addressIpVersion(\"Ipv4\")\n .vpcId(defaultNetwork.id())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .zoneMappings( \n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(defaultSwitch.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build(),\n LoadBalancerZoneMappingArgs.builder()\n .vswitchId(default1.id())\n .zoneId(defaultGetZones.zones()[1].id())\n .build())\n .build());\n\n var defaultCommonBandwithPackage = new CommonBandwithPackage(\"defaultCommonBandwithPackage\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"2\")\n .internetChargeType(\"PayByTraffic\")\n .bandwidthPackageName(name)\n .description(name)\n .build());\n\n var defaultLoadbalancerCommonBandwidthPackageAttachment = new LoadbalancerCommonBandwidthPackageAttachment(\"defaultLoadbalancerCommonBandwidthPackageAttachment\", LoadbalancerCommonBandwidthPackageAttachmentArgs.builder()\n .bandwidthPackageId(defaultCommonBandwithPackage.id())\n .loadBalancerId(defaultLoadBalancer.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n default1:\n type: alicloud:vpc:Switch\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultLoadBalancer:\n type: alicloud:nlb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n resourceGroupId: ${default.ids[0]}\n loadBalancerType: Network\n addressType: Internet\n addressIpVersion: Ipv4\n vpcId: ${defaultNetwork.id}\n tags:\n Created: TF\n For: example\n zoneMappings:\n - vswitchId: ${defaultSwitch.id}\n zoneId: ${defaultGetZones.zones[0].id}\n - vswitchId: ${default1.id}\n zoneId: ${defaultGetZones.zones[1].id}\n defaultCommonBandwithPackage:\n type: alicloud:vpc:CommonBandwithPackage\n name: default\n properties:\n bandwidth: 2\n internetChargeType: PayByTraffic\n bandwidthPackageName: ${name}\n description: ${name}\n defaultLoadbalancerCommonBandwidthPackageAttachment:\n type: alicloud:nlb:LoadbalancerCommonBandwidthPackageAttachment\n name: default\n properties:\n bandwidthPackageId: ${defaultCommonBandwithPackage.id}\n loadBalancerId: ${defaultLoadBalancer.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:nlb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/loadbalancerCommonBandwidthPackageAttachment:LoadbalancerCommonBandwidthPackageAttachment example \u003cload_balancer_id\u003e:\u003cbandwidth_package_id\u003e\n```\n\n", "properties": { "bandwidthPackageId": { "type": "string", @@ -216145,7 +221190,7 @@ } }, "alicloud:nlb/securityPolicy:SecurityPolicy": { - "description": "Provides a NLB Security Policy resource.\n\n\n\nFor information about NLB Security Policy and how to use it, see [What is Security Policy](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createsecuritypolicy-nlb).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSecurityPolicy = new alicloud.nlb.SecurityPolicy(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n securityPolicyName: name,\n ciphers: [\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n ],\n tlsVersions: [\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_security_policy = alicloud.nlb.SecurityPolicy(\"default\",\n resource_group_id=default.ids[0],\n security_policy_name=name,\n ciphers=[\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n ],\n tls_versions=[\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSecurityPolicy = new AliCloud.Nlb.SecurityPolicy(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n SecurityPolicyName = name,\n Ciphers = new[]\n {\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n },\n TlsVersions = new[]\n {\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewSecurityPolicy(ctx, \"default\", \u0026nlb.SecurityPolicyArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tSecurityPolicyName: pulumi.String(name),\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-RSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t},\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.0\"),\n\t\t\t\tpulumi.String(\"TLSv1.1\"),\n\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.SecurityPolicy;\nimport com.pulumi.alicloud.nlb.SecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSecurityPolicy = new SecurityPolicy(\"defaultSecurityPolicy\", SecurityPolicyArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .securityPolicyName(name)\n .ciphers( \n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\")\n .tlsVersions( \n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSecurityPolicy:\n type: alicloud:nlb:SecurityPolicy\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n securityPolicyName: ${name}\n ciphers:\n - ECDHE-RSA-AES128-SHA\n - ECDHE-ECDSA-AES128-SHA\n tlsVersions:\n - TLSv1.0\n - TLSv1.1\n - TLSv1.2\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNLB Security Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/securityPolicy:SecurityPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a NLB Security Policy resource.\n\n\n\nFor information about NLB Security Policy and how to use it, see [What is Security Policy](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createsecuritypolicy-nlb).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultSecurityPolicy = new alicloud.nlb.SecurityPolicy(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n securityPolicyName: name,\n ciphers: [\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n ],\n tlsVersions: [\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_security_policy = alicloud.nlb.SecurityPolicy(\"default\",\n resource_group_id=default.ids[0],\n security_policy_name=name,\n ciphers=[\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n ],\n tls_versions=[\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultSecurityPolicy = new AliCloud.Nlb.SecurityPolicy(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n SecurityPolicyName = name,\n Ciphers = new[]\n {\n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\",\n },\n TlsVersions = new[]\n {\n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewSecurityPolicy(ctx, \"default\", \u0026nlb.SecurityPolicyArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tSecurityPolicyName: pulumi.String(name),\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ECDHE-RSA-AES128-SHA\"),\n\t\t\t\tpulumi.String(\"ECDHE-ECDSA-AES128-SHA\"),\n\t\t\t},\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.0\"),\n\t\t\t\tpulumi.String(\"TLSv1.1\"),\n\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.nlb.SecurityPolicy;\nimport com.pulumi.alicloud.nlb.SecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultSecurityPolicy = new SecurityPolicy(\"defaultSecurityPolicy\", SecurityPolicyArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .securityPolicyName(name)\n .ciphers( \n \"ECDHE-RSA-AES128-SHA\",\n \"ECDHE-ECDSA-AES128-SHA\")\n .tlsVersions( \n \"TLSv1.0\",\n \"TLSv1.1\",\n \"TLSv1.2\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultSecurityPolicy:\n type: alicloud:nlb:SecurityPolicy\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n securityPolicyName: ${name}\n ciphers:\n - ECDHE-RSA-AES128-SHA\n - ECDHE-ECDSA-AES128-SHA\n tlsVersions:\n - TLSv1.0\n - TLSv1.1\n - TLSv1.2\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNLB Security Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/securityPolicy:SecurityPolicy example \u003cid\u003e\n```\n\n", "properties": { "ciphers": { "type": "array", @@ -216264,7 +221309,7 @@ } }, "alicloud:nlb/serverGroup:ServerGroup": { - "description": "Provides a Network Load Balancer (NLB) Server Group resource.\n\n\n\nFor information about Network Load Balancer (NLB) Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createservergroup-nlb).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Instance\",\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n connectionDrainEnabled: true,\n connectionDrainTimeout: 60,\n addressIpVersion: \"Ipv4\",\n healthCheck: {\n healthCheckEnabled: true,\n healthCheckType: \"TCP\",\n healthCheckConnectPort: 0,\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n healthCheckConnectTimeout: 5,\n healthCheckInterval: 10,\n httpCheckMethod: \"GET\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Instance\",\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n connection_drain_enabled=True,\n connection_drain_timeout=60,\n address_ip_version=\"Ipv4\",\n health_check={\n \"health_check_enabled\": True,\n \"health_check_type\": \"TCP\",\n \"health_check_connect_port\": 0,\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n \"health_check_connect_timeout\": 5,\n \"health_check_interval\": 10,\n \"http_check_method\": \"GET\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Instance\",\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 60,\n AddressIpVersion = \"Ipv4\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = true,\n HealthCheckType = \"TCP\",\n HealthCheckConnectPort = 0,\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n HealthCheckConnectTimeout = 5,\n HealthCheckInterval = 10,\n HttpCheckMethod = \"GET\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tConnectionDrainTimeout: pulumi.Int(60),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckType: pulumi.String(\"TCP\"),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(0),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHttpCheckMethod: pulumi.String(\"GET\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Instance\")\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(60)\n .addressIpVersion(\"Ipv4\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(true)\n .healthCheckType(\"TCP\")\n .healthCheckConnectPort(0)\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .healthCheckConnectTimeout(5)\n .healthCheckInterval(10)\n .httpCheckMethod(\"GET\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Instance\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n connectionDrainEnabled: true\n connectionDrainTimeout: 60\n addressIpVersion: Ipv4\n healthCheck:\n healthCheckEnabled: true\n healthCheckType: TCP\n healthCheckConnectPort: 0\n healthyThreshold: 2\n unhealthyThreshold: 2\n healthCheckConnectTimeout: 5\n healthCheckInterval: 10\n httpCheckMethod: GET\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Load Balancer (NLB) Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Network Load Balancer (NLB) Server Group resource.\n\n\n\nFor information about Network Load Balancer (NLB) Server Group and how to use it, see [What is Server Group](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createservergroup-nlb).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Instance\",\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n connectionDrainEnabled: true,\n connectionDrainTimeout: 60,\n addressIpVersion: \"Ipv4\",\n healthCheck: {\n healthCheckEnabled: true,\n healthCheckType: \"TCP\",\n healthCheckConnectPort: 0,\n healthyThreshold: 2,\n unhealthyThreshold: 2,\n healthCheckConnectTimeout: 5,\n healthCheckInterval: 10,\n httpCheckMethod: \"GET\",\n healthCheckHttpCodes: [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Instance\",\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n connection_drain_enabled=True,\n connection_drain_timeout=60,\n address_ip_version=\"Ipv4\",\n health_check={\n \"health_check_enabled\": True,\n \"health_check_type\": \"TCP\",\n \"health_check_connect_port\": 0,\n \"healthy_threshold\": 2,\n \"unhealthy_threshold\": 2,\n \"health_check_connect_timeout\": 5,\n \"health_check_interval\": 10,\n \"http_check_method\": \"GET\",\n \"health_check_http_codes\": [\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n ],\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Instance\",\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n ConnectionDrainEnabled = true,\n ConnectionDrainTimeout = 60,\n AddressIpVersion = \"Ipv4\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = true,\n HealthCheckType = \"TCP\",\n HealthCheckConnectPort = 0,\n HealthyThreshold = 2,\n UnhealthyThreshold = 2,\n HealthCheckConnectTimeout = 5,\n HealthCheckInterval = 10,\n HttpCheckMethod = \"GET\",\n HealthCheckHttpCodes = new[]\n {\n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\",\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Instance\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tConnectionDrainTimeout: pulumi.Int(60),\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(true),\n\t\t\t\tHealthCheckType: pulumi.String(\"TCP\"),\n\t\t\t\tHealthCheckConnectPort: pulumi.Int(0),\n\t\t\t\tHealthyThreshold: pulumi.Int(2),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t\tHealthCheckConnectTimeout: pulumi.Int(5),\n\t\t\t\tHealthCheckInterval: pulumi.Int(10),\n\t\t\t\tHttpCheckMethod: pulumi.String(\"GET\"),\n\t\t\t\tHealthCheckHttpCodes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http_2xx\"),\n\t\t\t\t\tpulumi.String(\"http_3xx\"),\n\t\t\t\t\tpulumi.String(\"http_4xx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Instance\")\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .connectionDrainEnabled(true)\n .connectionDrainTimeout(60)\n .addressIpVersion(\"Ipv4\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(true)\n .healthCheckType(\"TCP\")\n .healthCheckConnectPort(0)\n .healthyThreshold(2)\n .unhealthyThreshold(2)\n .healthCheckConnectTimeout(5)\n .healthCheckInterval(10)\n .httpCheckMethod(\"GET\")\n .healthCheckHttpCodes( \n \"http_2xx\",\n \"http_3xx\",\n \"http_4xx\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Instance\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n connectionDrainEnabled: true\n connectionDrainTimeout: 60\n addressIpVersion: Ipv4\n healthCheck:\n healthCheckEnabled: true\n healthCheckType: TCP\n healthCheckConnectPort: 0\n healthyThreshold: 2\n unhealthyThreshold: 2\n healthCheckConnectTimeout: 5\n healthCheckInterval: 10\n httpCheckMethod: GET\n healthCheckHttpCodes:\n - http_2xx\n - http_3xx\n - http_4xx\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNetwork Load Balancer (NLB) Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", "properties": { "addressIpVersion": { "type": "string", @@ -216504,7 +221549,7 @@ } }, "alicloud:nlb/serverGroupServerAttachment:ServerGroupServerAttachment": { - "description": "Provides a Network Load Balancer (NLB) Server Group Server Attachment resource.\n\nNetwork Server Load Balancer.\n\nFor information about Network Load Balancer (NLB) Server Group Server Attachment and how to use it, see [What is Server Group Server Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/addserverstoservergroup-nlb).\n\n\u003e **NOTE:** Available since v1.192.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Ip\",\n connectionDrainTimeout: 10,\n connectionDrainEnabled: true,\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n healthCheck: {\n healthCheckEnabled: false,\n },\n addressIpVersion: \"Ipv4\",\n});\nconst defaultServerGroupServerAttachment = new alicloud.nlb.ServerGroupServerAttachment(\"default\", {\n serverType: \"Ip\",\n serverId: \"10.0.0.0\",\n description: name,\n port: 80,\n serverGroupId: defaultServerGroup.id,\n weight: 100,\n serverIp: \"10.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Ip\",\n connection_drain_timeout=10,\n connection_drain_enabled=True,\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n health_check={\n \"health_check_enabled\": False,\n },\n address_ip_version=\"Ipv4\")\ndefault_server_group_server_attachment = alicloud.nlb.ServerGroupServerAttachment(\"default\",\n server_type=\"Ip\",\n server_id=\"10.0.0.0\",\n description=name,\n port=80,\n server_group_id=default_server_group.id,\n weight=100,\n server_ip=\"10.0.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Ip\",\n ConnectionDrainTimeout = 10,\n ConnectionDrainEnabled = true,\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = false,\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n var defaultServerGroupServerAttachment = new AliCloud.Nlb.ServerGroupServerAttachment(\"default\", new()\n {\n ServerType = \"Ip\",\n ServerId = \"10.0.0.0\",\n Description = name,\n Port = 80,\n ServerGroupId = defaultServerGroup.Id,\n Weight = 100,\n ServerIp = \"10.0.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Ip\"),\n\t\t\tConnectionDrainTimeout: pulumi.Int(10),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewServerGroupServerAttachment(ctx, \"default\", \u0026nlb.ServerGroupServerAttachmentArgs{\n\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\tServerId: pulumi.String(\"10.0.0.0\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tWeight: pulumi.Int(100),\n\t\t\tServerIp: pulumi.String(\"10.0.0.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.alicloud.nlb.ServerGroupServerAttachment;\nimport com.pulumi.alicloud.nlb.ServerGroupServerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Ip\")\n .connectionDrainTimeout(10)\n .connectionDrainEnabled(true)\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n var defaultServerGroupServerAttachment = new ServerGroupServerAttachment(\"defaultServerGroupServerAttachment\", ServerGroupServerAttachmentArgs.builder()\n .serverType(\"Ip\")\n .serverId(\"10.0.0.0\")\n .description(name)\n .port(80)\n .serverGroupId(defaultServerGroup.id())\n .weight(100)\n .serverIp(\"10.0.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Ip\n connectionDrainTimeout: 10\n connectionDrainEnabled: true\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n healthCheck:\n healthCheckEnabled: false\n addressIpVersion: Ipv4\n defaultServerGroupServerAttachment:\n type: alicloud:nlb:ServerGroupServerAttachment\n name: default\n properties:\n serverType: Ip\n serverId: 10.0.0.0\n description: ${name}\n port: 80\n serverGroupId: ${defaultServerGroup.id}\n weight: 100\n serverIp: 10.0.0.0\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNetwork Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/serverGroupServerAttachment:ServerGroupServerAttachment example \u003cserver_group_id\u003e_\u003cserver_id\u003e_\u003cserver_ip\u003e_\u003cserver_type\u003e_\u003cport\u003e\n```\n\n", + "description": "Provides a Network Load Balancer (NLB) Server Group Server Attachment resource.\n\nNetwork Server Load Balancer.\n\nFor information about Network Load Balancer (NLB) Server Group Server Attachment and how to use it, see [What is Server Group Server Attachment](https://www.alibabacloud.com/help/en/server-load-balancer/latest/addserverstoservergroup-nlb).\n\n\u003e **NOTE:** Available since v1.192.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultServerGroup = new alicloud.nlb.ServerGroup(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n serverGroupName: name,\n serverGroupType: \"Ip\",\n connectionDrainTimeout: 10,\n connectionDrainEnabled: true,\n vpcId: defaultNetwork.id,\n scheduler: \"Wrr\",\n protocol: \"TCP\",\n healthCheck: {\n healthCheckEnabled: false,\n },\n addressIpVersion: \"Ipv4\",\n});\nconst defaultServerGroupServerAttachment = new alicloud.nlb.ServerGroupServerAttachment(\"default\", {\n serverType: \"Ip\",\n serverId: \"10.0.0.0\",\n description: name,\n port: 80,\n serverGroupId: defaultServerGroup.id,\n weight: 100,\n serverIp: \"10.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_server_group = alicloud.nlb.ServerGroup(\"default\",\n resource_group_id=default.ids[0],\n server_group_name=name,\n server_group_type=\"Ip\",\n connection_drain_timeout=10,\n connection_drain_enabled=True,\n vpc_id=default_network.id,\n scheduler=\"Wrr\",\n protocol=\"TCP\",\n health_check={\n \"health_check_enabled\": False,\n },\n address_ip_version=\"Ipv4\")\ndefault_server_group_server_attachment = alicloud.nlb.ServerGroupServerAttachment(\"default\",\n server_type=\"Ip\",\n server_id=\"10.0.0.0\",\n description=name,\n port=80,\n server_group_id=default_server_group.id,\n weight=100,\n server_ip=\"10.0.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultServerGroup = new AliCloud.Nlb.ServerGroup(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ServerGroupName = name,\n ServerGroupType = \"Ip\",\n ConnectionDrainTimeout = 10,\n ConnectionDrainEnabled = true,\n VpcId = defaultNetwork.Id,\n Scheduler = \"Wrr\",\n Protocol = \"TCP\",\n HealthCheck = new AliCloud.Nlb.Inputs.ServerGroupHealthCheckArgs\n {\n HealthCheckEnabled = false,\n },\n AddressIpVersion = \"Ipv4\",\n });\n\n var defaultServerGroupServerAttachment = new AliCloud.Nlb.ServerGroupServerAttachment(\"default\", new()\n {\n ServerType = \"Ip\",\n ServerId = \"10.0.0.0\",\n Description = name,\n Port = 80,\n ServerGroupId = defaultServerGroup.Id,\n Weight = 100,\n ServerIp = \"10.0.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nlb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultServerGroup, err := nlb.NewServerGroup(ctx, \"default\", \u0026nlb.ServerGroupArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tServerGroupName: pulumi.String(name),\n\t\t\tServerGroupType: pulumi.String(\"Ip\"),\n\t\t\tConnectionDrainTimeout: pulumi.Int(10),\n\t\t\tConnectionDrainEnabled: pulumi.Bool(true),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tScheduler: pulumi.String(\"Wrr\"),\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tHealthCheck: \u0026nlb.ServerGroupHealthCheckArgs{\n\t\t\t\tHealthCheckEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tAddressIpVersion: pulumi.String(\"Ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nlb.NewServerGroupServerAttachment(ctx, \"default\", \u0026nlb.ServerGroupServerAttachmentArgs{\n\t\t\tServerType: pulumi.String(\"Ip\"),\n\t\t\tServerId: pulumi.String(\"10.0.0.0\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tServerGroupId: defaultServerGroup.ID(),\n\t\t\tWeight: pulumi.Int(100),\n\t\t\tServerIp: pulumi.String(\"10.0.0.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.nlb.ServerGroup;\nimport com.pulumi.alicloud.nlb.ServerGroupArgs;\nimport com.pulumi.alicloud.nlb.inputs.ServerGroupHealthCheckArgs;\nimport com.pulumi.alicloud.nlb.ServerGroupServerAttachment;\nimport com.pulumi.alicloud.nlb.ServerGroupServerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .serverGroupName(name)\n .serverGroupType(\"Ip\")\n .connectionDrainTimeout(10)\n .connectionDrainEnabled(true)\n .vpcId(defaultNetwork.id())\n .scheduler(\"Wrr\")\n .protocol(\"TCP\")\n .healthCheck(ServerGroupHealthCheckArgs.builder()\n .healthCheckEnabled(false)\n .build())\n .addressIpVersion(\"Ipv4\")\n .build());\n\n var defaultServerGroupServerAttachment = new ServerGroupServerAttachment(\"defaultServerGroupServerAttachment\", ServerGroupServerAttachmentArgs.builder()\n .serverType(\"Ip\")\n .serverId(\"10.0.0.0\")\n .description(name)\n .port(80)\n .serverGroupId(defaultServerGroup.id())\n .weight(100)\n .serverIp(\"10.0.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultServerGroup:\n type: alicloud:nlb:ServerGroup\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n serverGroupName: ${name}\n serverGroupType: Ip\n connectionDrainTimeout: 10\n connectionDrainEnabled: true\n vpcId: ${defaultNetwork.id}\n scheduler: Wrr\n protocol: TCP\n healthCheck:\n healthCheckEnabled: false\n addressIpVersion: Ipv4\n defaultServerGroupServerAttachment:\n type: alicloud:nlb:ServerGroupServerAttachment\n name: default\n properties:\n serverType: Ip\n serverId: 10.0.0.0\n description: ${name}\n port: 80\n serverGroupId: ${defaultServerGroup.id}\n weight: 100\n serverIp: 10.0.0.0\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNetwork Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:nlb/serverGroupServerAttachment:ServerGroupServerAttachment example \u003cserver_group_id\u003e_\u003cserver_id\u003e_\u003cserver_ip\u003e_\u003cserver_type\u003e_\u003cport\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -216642,7 +221687,7 @@ } }, "alicloud:ocean/baseInstance:BaseInstance": { - "description": "Provides a Ocean Base Instance resource.\n\n\n\nFor information about Ocean Base Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/apsaradb-for-oceanbase/latest/what-is-oceanbase-database).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultBaseInstance = new alicloud.ocean.BaseInstance(\"default\", {\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zones: [\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 2]),\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 3]),\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 4]),\n ],\n autoRenew: false,\n diskSize: 100,\n paymentType: \"PayAsYouGo\",\n instanceClass: \"8C32G\",\n backupRetainMode: \"delete_all\",\n series: \"normal\",\n instanceName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_base_instance = alicloud.ocean.BaseInstance(\"default\",\n resource_group_id=default_get_resource_groups.ids[0],\n zones=[\n len(default.ids).apply(lambda length: default.ids[length - 2]),\n len(default.ids).apply(lambda length: default.ids[length - 3]),\n len(default.ids).apply(lambda length: default.ids[length - 4]),\n ],\n auto_renew=False,\n disk_size=100,\n payment_type=\"PayAsYouGo\",\n instance_class=\"8C32G\",\n backup_retain_mode=\"delete_all\",\n series=\"normal\",\n instance_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultBaseInstance = new AliCloud.Ocean.BaseInstance(\"default\", new()\n {\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n Zones = new[]\n {\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 2];\n }),\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 3];\n }),\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 4];\n }),\n },\n AutoRenew = false,\n DiskSize = 100,\n PaymentType = \"PayAsYouGo\",\n InstanceClass = \"8C32G\",\n BackupRetainMode = \"delete_all\",\n Series = \"normal\",\n InstanceName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ocean\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ocean.NewBaseInstance(ctx, \"default\", \u0026ocean.BaseInstanceArgs{\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 2, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 3, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 4, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tDiskSize: pulumi.Int(100),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceClass: pulumi.String(\"8C32G\"),\n\t\t\tBackupRetainMode: pulumi.String(\"delete_all\"),\n\t\t\tSeries: pulumi.String(\"normal\"),\n\t\t\tInstanceName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ocean.BaseInstance;\nimport com.pulumi.alicloud.ocean.BaseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultBaseInstance = new BaseInstance(\"defaultBaseInstance\", BaseInstanceArgs.builder()\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zones( \n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 2]),\n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 3]),\n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 4]))\n .autoRenew(false)\n .diskSize(100)\n .paymentType(\"PayAsYouGo\")\n .instanceClass(\"8C32G\")\n .backupRetainMode(\"delete_all\")\n .series(\"normal\")\n .instanceName(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOcean Base Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ocean/baseInstance:BaseInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a Ocean Base Instance resource.\n\n\n\nFor information about Ocean Base Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/apsaradb-for-oceanbase/latest/what-is-oceanbase-database).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultGetResourceGroups = alicloud.resourcemanager.getResourceGroups({});\nconst defaultBaseInstance = new alicloud.ocean.BaseInstance(\"default\", {\n resourceGroupId: defaultGetResourceGroups.then(defaultGetResourceGroups =\u003e defaultGetResourceGroups.ids?.[0]),\n zones: [\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 2]),\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 3]),\n pulumi.all([_default, _default.then(_default =\u003e _default.ids).length]).apply(([_default, length]) =\u003e _default.ids[length - 4]),\n ],\n autoRenew: false,\n diskSize: 100,\n paymentType: \"PayAsYouGo\",\n instanceClass: \"8C32G\",\n backupRetainMode: \"delete_all\",\n series: \"normal\",\n instanceName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_get_resource_groups = alicloud.resourcemanager.get_resource_groups()\ndefault_base_instance = alicloud.ocean.BaseInstance(\"default\",\n resource_group_id=default_get_resource_groups.ids[0],\n zones=[\n len(default.ids).apply(lambda length: default.ids[length - 2]),\n len(default.ids).apply(lambda length: default.ids[length - 3]),\n len(default.ids).apply(lambda length: default.ids[length - 4]),\n ],\n auto_renew=False,\n disk_size=100,\n payment_type=\"PayAsYouGo\",\n instance_class=\"8C32G\",\n backup_retain_mode=\"delete_all\",\n series=\"normal\",\n instance_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultGetResourceGroups = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultBaseInstance = new AliCloud.Ocean.BaseInstance(\"default\", new()\n {\n ResourceGroupId = defaultGetResourceGroups.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n Zones = new[]\n {\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 2];\n }),\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 3];\n }),\n Output.Tuple(@default, @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids)).Length).Apply(values =\u003e\n {\n var @default = values.Item1;\n var length = values.Item2;\n return @default.Apply(getZonesResult =\u003e getZonesResult.Ids)[length - 4];\n }),\n },\n AutoRenew = false,\n DiskSize = 100,\n PaymentType = \"PayAsYouGo\",\n InstanceClass = \"8C32G\",\n BackupRetainMode = \"delete_all\",\n Series = \"normal\",\n InstanceName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ocean\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetResourceGroups, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ocean.NewBaseInstance(ctx, \"default\", \u0026ocean.BaseInstanceArgs{\n\t\t\tResourceGroupId: pulumi.String(defaultGetResourceGroups.Ids[0]),\n\t\t\tZones: pulumi.StringArray{\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 2, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 3, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tlen(_default.Ids).ApplyT(func(length int) (string, error) {\n\t\t\t\t\treturn _default.Ids[float64(length.ApplyT(func(__convert float64) (float64, error) {\n\t\t\t\t\t\treturn __convert - 4, nil\n\t\t\t\t\t}).(pulumi.Float64Output))], nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t},\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tDiskSize: pulumi.Int(100),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceClass: pulumi.String(\"8C32G\"),\n\t\t\tBackupRetainMode: pulumi.String(\"delete_all\"),\n\t\t\tSeries: pulumi.String(\"normal\"),\n\t\t\tInstanceName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ocean.BaseInstance;\nimport com.pulumi.alicloud.ocean.BaseInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n final var defaultGetResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultBaseInstance = new BaseInstance(\"defaultBaseInstance\", BaseInstanceArgs.builder()\n .resourceGroupId(defaultGetResourceGroups.ids()[0])\n .zones( \n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 2]),\n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 3]),\n default_.ids().length().applyValue(_length -\u003e default_.ids()[_length - 4]))\n .autoRenew(false)\n .diskSize(100)\n .paymentType(\"PayAsYouGo\")\n .instanceClass(\"8C32G\")\n .backupRetainMode(\"delete_all\")\n .series(\"normal\")\n .instanceName(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOcean Base Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ocean/baseInstance:BaseInstance example \u003cid\u003e\n```\n\n", "properties": { "autoRenew": { "type": "boolean", @@ -216966,7 +222011,7 @@ } }, "alicloud:oos/application:Application": { - "description": "Provides a OOS Application resource.\n\nFor information about OOS Application and how to use it, see [What is Application](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-createapplication).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultApplication = new alicloud.oos.Application(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n applicationName: `${name}-${defaultInteger.result}`,\n description: name,\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_application = alicloud.oos.Application(\"default\",\n resource_group_id=default.groups[0].id,\n application_name=f\"{name}-{default_integer['result']}\",\n description=name,\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultApplication = new AliCloud.Oos.Application(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewApplication(ctx, \"default\", \u0026oos.ApplicationArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Application;\nimport com.pulumi.alicloud.oos.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .resourceGroupId(default_.groups()[0].id())\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultApplication:\n type: alicloud:oos:Application\n name: default\n properties:\n resourceGroupId: ${default.groups[0].id}\n applicationName: ${name}-${defaultInteger.result}\n description: ${name}\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/application:Application example \u003cid\u003e\n```\n\n", + "description": "Provides a OOS Application resource.\n\nFor information about OOS Application and how to use it, see [What is Application](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-createapplication).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultApplication = new alicloud.oos.Application(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n applicationName: `${name}-${defaultInteger.result}`,\n description: name,\n tags: {\n Created: \"TF\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_application = alicloud.oos.Application(\"default\",\n resource_group_id=default.groups[0].id,\n application_name=f\"{name}-{default_integer['result']}\",\n description=name,\n tags={\n \"Created\": \"TF\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultApplication = new AliCloud.Oos.Application(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewApplication(ctx, \"default\", \u0026oos.ApplicationArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Application;\nimport com.pulumi.alicloud.oos.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .resourceGroupId(default_.groups()[0].id())\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultApplication:\n type: alicloud:oos:Application\n name: default\n properties:\n resourceGroupId: ${default.groups[0].id}\n applicationName: ${name}-${defaultInteger.result}\n description: ${name}\n tags:\n Created: TF\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/application:Application example \u003cid\u003e\n```\n\n", "properties": { "applicationName": { "type": "string", @@ -217045,7 +222090,7 @@ } }, "alicloud:oos/applicationGroup:ApplicationGroup": { - "description": "Provides a OOS Application Group resource.\n\nFor information about OOS Application Group and how to use it, see [What is Application Group](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-createapplicationgroup).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultApplication = new alicloud.oos.Application(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n applicationName: `${name}-${defaultInteger.result}`,\n description: name,\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultApplicationGroup = new alicloud.oos.ApplicationGroup(\"default\", {\n applicationGroupName: name,\n applicationName: defaultApplication.id,\n deployRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n description: name,\n importTagKey: \"example_key\",\n importTagValue: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_application = alicloud.oos.Application(\"default\",\n resource_group_id=default.groups[0].id,\n application_name=f\"{name}-{default_integer['result']}\",\n description=name,\n tags={\n \"Created\": \"TF\",\n })\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_application_group = alicloud.oos.ApplicationGroup(\"default\",\n application_group_name=name,\n application_name=default_application.id,\n deploy_region_id=default_get_regions.regions[0].id,\n description=name,\n import_tag_key=\"example_key\",\n import_tag_value=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultApplication = new AliCloud.Oos.Application(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultApplicationGroup = new AliCloud.Oos.ApplicationGroup(\"default\", new()\n {\n ApplicationGroupName = name,\n ApplicationName = defaultApplication.Id,\n DeployRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n Description = name,\n ImportTagKey = \"example_key\",\n ImportTagValue = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := oos.NewApplication(ctx, \"default\", \u0026oos.ApplicationArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewApplicationGroup(ctx, \"default\", \u0026oos.ApplicationGroupArgs{\n\t\t\tApplicationGroupName: pulumi.String(name),\n\t\t\tApplicationName: defaultApplication.ID(),\n\t\t\tDeployRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tImportTagKey: pulumi.String(\"example_key\"),\n\t\t\tImportTagValue: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Application;\nimport com.pulumi.alicloud.oos.ApplicationArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.oos.ApplicationGroup;\nimport com.pulumi.alicloud.oos.ApplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .resourceGroupId(default_.groups()[0].id())\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultApplicationGroup = new ApplicationGroup(\"defaultApplicationGroup\", ApplicationGroupArgs.builder()\n .applicationGroupName(name)\n .applicationName(defaultApplication.id())\n .deployRegionId(defaultGetRegions.regions()[0].id())\n .description(name)\n .importTagKey(\"example_key\")\n .importTagValue(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultApplication:\n type: alicloud:oos:Application\n name: default\n properties:\n resourceGroupId: ${default.groups[0].id}\n applicationName: ${name}-${defaultInteger.result}\n description: ${name}\n tags:\n Created: TF\n defaultApplicationGroup:\n type: alicloud:oos:ApplicationGroup\n name: default\n properties:\n applicationGroupName: ${name}\n applicationName: ${defaultApplication.id}\n deployRegionId: ${defaultGetRegions.regions[0].id}\n description: ${name}\n importTagKey: example_key\n importTagValue: example_value\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Application Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/applicationGroup:ApplicationGroup example \u003capplication_name\u003e:\u003capplication_group_name\u003e\n```\n\n", + "description": "Provides a OOS Application Group resource.\n\nFor information about OOS Application Group and how to use it, see [What is Application Group](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-createapplicationgroup).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultApplication = new alicloud.oos.Application(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n applicationName: `${name}-${defaultInteger.result}`,\n description: name,\n tags: {\n Created: \"TF\",\n },\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultApplicationGroup = new alicloud.oos.ApplicationGroup(\"default\", {\n applicationGroupName: name,\n applicationName: defaultApplication.id,\n deployRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n description: name,\n importTagKey: \"example_key\",\n importTagValue: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_application = alicloud.oos.Application(\"default\",\n resource_group_id=default.groups[0].id,\n application_name=f\"{name}-{default_integer['result']}\",\n description=name,\n tags={\n \"Created\": \"TF\",\n })\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_application_group = alicloud.oos.ApplicationGroup(\"default\",\n application_group_name=name,\n application_name=default_application.id,\n deploy_region_id=default_get_regions.regions[0].id,\n description=name,\n import_tag_key=\"example_key\",\n import_tag_value=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultApplication = new AliCloud.Oos.Application(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n ApplicationName = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n Tags = \n {\n { \"Created\", \"TF\" },\n },\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultApplicationGroup = new AliCloud.Oos.ApplicationGroup(\"default\", new()\n {\n ApplicationGroupName = name,\n ApplicationName = defaultApplication.Id,\n DeployRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n Description = name,\n ImportTagKey = \"example_key\",\n ImportTagValue = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := oos.NewApplication(ctx, \"default\", \u0026oos.ApplicationArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t\tApplicationName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewApplicationGroup(ctx, \"default\", \u0026oos.ApplicationGroupArgs{\n\t\t\tApplicationGroupName: pulumi.String(name),\n\t\t\tApplicationName: defaultApplication.ID(),\n\t\t\tDeployRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tImportTagKey: pulumi.String(\"example_key\"),\n\t\t\tImportTagValue: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Application;\nimport com.pulumi.alicloud.oos.ApplicationArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.oos.ApplicationGroup;\nimport com.pulumi.alicloud.oos.ApplicationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .resourceGroupId(default_.groups()[0].id())\n .applicationName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .tags(Map.of(\"Created\", \"TF\"))\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultApplicationGroup = new ApplicationGroup(\"defaultApplicationGroup\", ApplicationGroupArgs.builder()\n .applicationGroupName(name)\n .applicationName(defaultApplication.id())\n .deployRegionId(defaultGetRegions.regions()[0].id())\n .description(name)\n .importTagKey(\"example_key\")\n .importTagValue(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultApplication:\n type: alicloud:oos:Application\n name: default\n properties:\n resourceGroupId: ${default.groups[0].id}\n applicationName: ${name}-${defaultInteger.result}\n description: ${name}\n tags:\n Created: TF\n defaultApplicationGroup:\n type: alicloud:oos:ApplicationGroup\n name: default\n properties:\n applicationGroupName: ${name}\n applicationName: ${defaultApplication.id}\n deployRegionId: ${defaultGetRegions.regions[0].id}\n description: ${name}\n importTagKey: example_key\n importTagValue: example_value\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetRegions:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Application Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/applicationGroup:ApplicationGroup example \u003capplication_name\u003e:\u003capplication_group_name\u003e\n```\n\n", "properties": { "applicationGroupName": { "type": "string", @@ -217154,7 +222199,7 @@ } }, "alicloud:oos/defaultPatchBaseline:DefaultPatchBaseline": { - "description": "Provides a Oos Default Patch Baseline resource.\n\nFor information about Oos Default Patch Baseline and how to use it, see [What is Default Patch Baseline](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-registerdefaultpatchbaseline).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.oos.PatchBaseline(\"default\", {\n operationSystem: \"Windows\",\n patchBaselineName: \"terraform-example\",\n description: \"terraform-example\",\n approvalRules: \"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\",\n});\nconst defaultDefaultPatchBaseline = new alicloud.oos.DefaultPatchBaseline(\"default\", {patchBaselineName: _default.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.oos.PatchBaseline(\"default\",\n operation_system=\"Windows\",\n patch_baseline_name=\"terraform-example\",\n description=\"terraform-example\",\n approval_rules=\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\")\ndefault_default_patch_baseline = alicloud.oos.DefaultPatchBaseline(\"default\", patch_baseline_name=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Oos.PatchBaseline(\"default\", new()\n {\n OperationSystem = \"Windows\",\n PatchBaselineName = \"terraform-example\",\n Description = \"terraform-example\",\n ApprovalRules = \"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\",\n });\n\n var defaultDefaultPatchBaseline = new AliCloud.Oos.DefaultPatchBaseline(\"default\", new()\n {\n PatchBaselineName = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := oos.NewPatchBaseline(ctx, \"default\", \u0026oos.PatchBaselineArgs{\n\t\t\tOperationSystem: pulumi.String(\"Windows\"),\n\t\t\tPatchBaselineName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tApprovalRules: pulumi.String(\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewDefaultPatchBaseline(ctx, \"default\", \u0026oos.DefaultPatchBaselineArgs{\n\t\t\tPatchBaselineName: _default.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.alicloud.oos.PatchBaseline;\nimport com.pulumi.alicloud.oos.PatchBaselineArgs;\nimport com.pulumi.alicloud.oos.DefaultPatchBaseline;\nimport com.pulumi.alicloud.oos.DefaultPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new PatchBaseline(\"default\", PatchBaselineArgs.builder()\n .operationSystem(\"Windows\")\n .patchBaselineName(\"terraform-example\")\n .description(\"terraform-example\")\n .approvalRules(\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\")\n .build());\n\n var defaultDefaultPatchBaseline = new DefaultPatchBaseline(\"defaultDefaultPatchBaseline\", DefaultPatchBaselineArgs.builder()\n .patchBaselineName(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:oos:PatchBaseline\n properties:\n operationSystem: Windows\n patchBaselineName: terraform-example\n description: terraform-example\n approvalRules: '{\"PatchRules\":[{\"PatchFilterGroup\":[{\"Key\":\"PatchSet\",\"Values\":[\"OS\"]},{\"Key\":\"ProductFamily\",\"Values\":[\"Windows\"]},{\"Key\":\"Product\",\"Values\":[\"Windows 10\",\"Windows 7\"]},{\"Key\":\"Classification\",\"Values\":[\"Security Updates\",\"Updates\",\"Update Rollups\",\"Critical Updates\"]},{\"Key\":\"Severity\",\"Values\":[\"Critical\",\"Important\",\"Moderate\"]}],\"ApproveAfterDays\":7,\"EnableNonSecurity\":true,\"ComplianceLevel\":\"Medium\"}]}'\n defaultDefaultPatchBaseline:\n type: alicloud:oos:DefaultPatchBaseline\n name: default\n properties:\n patchBaselineName: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOos Default Patch Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/defaultPatchBaseline:DefaultPatchBaseline example \u003cid\u003e\n```\n\n", + "description": "Provides a Oos Default Patch Baseline resource.\n\nFor information about Oos Default Patch Baseline and how to use it, see [What is Default Patch Baseline](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/api-oos-2019-06-01-registerdefaultpatchbaseline).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.oos.PatchBaseline(\"default\", {\n operationSystem: \"Windows\",\n patchBaselineName: \"terraform-example\",\n description: \"terraform-example\",\n approvalRules: \"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\",\n});\nconst defaultDefaultPatchBaseline = new alicloud.oos.DefaultPatchBaseline(\"default\", {patchBaselineName: _default.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.oos.PatchBaseline(\"default\",\n operation_system=\"Windows\",\n patch_baseline_name=\"terraform-example\",\n description=\"terraform-example\",\n approval_rules=\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\")\ndefault_default_patch_baseline = alicloud.oos.DefaultPatchBaseline(\"default\", patch_baseline_name=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Oos.PatchBaseline(\"default\", new()\n {\n OperationSystem = \"Windows\",\n PatchBaselineName = \"terraform-example\",\n Description = \"terraform-example\",\n ApprovalRules = \"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\",\n });\n\n var defaultDefaultPatchBaseline = new AliCloud.Oos.DefaultPatchBaseline(\"default\", new()\n {\n PatchBaselineName = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := oos.NewPatchBaseline(ctx, \"default\", \u0026oos.PatchBaselineArgs{\n\t\t\tOperationSystem: pulumi.String(\"Windows\"),\n\t\t\tPatchBaselineName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tApprovalRules: pulumi.String(\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewDefaultPatchBaseline(ctx, \"default\", \u0026oos.DefaultPatchBaselineArgs{\n\t\t\tPatchBaselineName: _default.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.alicloud.oos.PatchBaseline;\nimport com.pulumi.alicloud.oos.PatchBaselineArgs;\nimport com.pulumi.alicloud.oos.DefaultPatchBaseline;\nimport com.pulumi.alicloud.oos.DefaultPatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new PatchBaseline(\"default\", PatchBaselineArgs.builder()\n .operationSystem(\"Windows\")\n .patchBaselineName(\"terraform-example\")\n .description(\"terraform-example\")\n .approvalRules(\"{\\\"PatchRules\\\":[{\\\"PatchFilterGroup\\\":[{\\\"Key\\\":\\\"PatchSet\\\",\\\"Values\\\":[\\\"OS\\\"]},{\\\"Key\\\":\\\"ProductFamily\\\",\\\"Values\\\":[\\\"Windows\\\"]},{\\\"Key\\\":\\\"Product\\\",\\\"Values\\\":[\\\"Windows 10\\\",\\\"Windows 7\\\"]},{\\\"Key\\\":\\\"Classification\\\",\\\"Values\\\":[\\\"Security Updates\\\",\\\"Updates\\\",\\\"Update Rollups\\\",\\\"Critical Updates\\\"]},{\\\"Key\\\":\\\"Severity\\\",\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\",\\\"Moderate\\\"]}],\\\"ApproveAfterDays\\\":7,\\\"EnableNonSecurity\\\":true,\\\"ComplianceLevel\\\":\\\"Medium\\\"}]}\")\n .build());\n\n var defaultDefaultPatchBaseline = new DefaultPatchBaseline(\"defaultDefaultPatchBaseline\", DefaultPatchBaselineArgs.builder()\n .patchBaselineName(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:oos:PatchBaseline\n properties:\n operationSystem: Windows\n patchBaselineName: terraform-example\n description: terraform-example\n approvalRules: '{\"PatchRules\":[{\"PatchFilterGroup\":[{\"Key\":\"PatchSet\",\"Values\":[\"OS\"]},{\"Key\":\"ProductFamily\",\"Values\":[\"Windows\"]},{\"Key\":\"Product\",\"Values\":[\"Windows 10\",\"Windows 7\"]},{\"Key\":\"Classification\",\"Values\":[\"Security Updates\",\"Updates\",\"Update Rollups\",\"Critical Updates\"]},{\"Key\":\"Severity\",\"Values\":[\"Critical\",\"Important\",\"Moderate\"]}],\"ApproveAfterDays\":7,\"EnableNonSecurity\":true,\"ComplianceLevel\":\"Medium\"}]}'\n defaultDefaultPatchBaseline:\n type: alicloud:oos:DefaultPatchBaseline\n name: default\n properties:\n patchBaselineName: ${default.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOos Default Patch Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/defaultPatchBaseline:DefaultPatchBaseline example \u003cid\u003e\n```\n\n", "properties": { "patchBaselineId": { "type": "string", @@ -217196,7 +222241,7 @@ } }, "alicloud:oos/execution:Execution": { - "description": "Provides a OOS Execution resource. For information about Alicloud OOS Execution and how to use it, see [What is Resource Alicloud OOS Execution](https://www.alibabacloud.com/help/doc-detail/120771.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultTemplate = new alicloud.oos.Template(\"default\", {\n content: ` {\n \\\\\"FormatVersion\\\\\": \\\\\"OOS-2019-06-01\\\\\",\n \\\\\"Description\\\\\": \\\\\"Update Describe instances of given status\\\\\",\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\":{\n \\\\\"Type\\\\\": \\\\\"String\\\\\",\n \\\\\"Description\\\\\": \\\\\"(Required) The status of the Ecs instance.\\\\\"\n }\n },\n \\\\\"Tasks\\\\\": [\n {\n \\\\\"Properties\\\\\" :{\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\": \\\\\"{{ Status }}\\\\\"\n },\n \\\\\"API\\\\\": \\\\\"DescribeInstances\\\\\",\n \\\\\"Service\\\\\": \\\\\"Ecs\\\\\"\n },\n \\\\\"Name\\\\\": \\\\\"foo\\\\\",\n \\\\\"Action\\\\\": \\\\\"ACS::ExecuteApi\\\\\"\n }]\n }\n`,\n templateName: `tf-example-name-${_default.result}`,\n versionName: \"example\",\n tags: {\n Created: \"TF\",\n For: \"acceptance Test\",\n },\n});\nconst example = new alicloud.oos.Execution(\"example\", {\n templateName: defaultTemplate.templateName,\n description: \"From TF Test\",\n parameters: \"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_template = alicloud.oos.Template(\"default\",\n content=\"\"\" {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n\"\"\",\n template_name=f\"tf-example-name-{default['result']}\",\n version_name=\"example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance Test\",\n })\nexample = alicloud.oos.Execution(\"example\",\n template_name=default_template.template_name,\n description=\"From TF Test\",\n parameters=\"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultTemplate = new AliCloud.Oos.Template(\"default\", new()\n {\n Content = @\" {\n \\\"\"FormatVersion\\\"\": \\\"\"OOS-2019-06-01\\\"\",\n \\\"\"Description\\\"\": \\\"\"Update Describe instances of given status\\\"\",\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\":{\n \\\"\"Type\\\"\": \\\"\"String\\\"\",\n \\\"\"Description\\\"\": \\\"\"(Required) The status of the Ecs instance.\\\"\"\n }\n },\n \\\"\"Tasks\\\"\": [\n {\n \\\"\"Properties\\\"\" :{\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\": \\\"\"{{ Status }}\\\"\"\n },\n \\\"\"API\\\"\": \\\"\"DescribeInstances\\\"\",\n \\\"\"Service\\\"\": \\\"\"Ecs\\\"\"\n },\n \\\"\"Name\\\"\": \\\"\"foo\\\"\",\n \\\"\"Action\\\"\": \\\"\"ACS::ExecuteApi\\\"\"\n }]\n }\n\",\n TemplateName = $\"tf-example-name-{@default.Result}\",\n VersionName = \"example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance Test\" },\n },\n });\n\n var example = new AliCloud.Oos.Execution(\"example\", new()\n {\n TemplateName = defaultTemplate.TemplateName,\n Description = \"From TF Test\",\n Parameters = @\"\\t\\t\\t\\t{\\\"\"Status\\\"\":\\\"\"Running\\\"\"}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTemplate, err := oos.NewTemplate(ctx, \"default\", \u0026oos.TemplateArgs{\n\t\t\tContent: pulumi.String(` {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n`),\n\t\t\tTemplateName: pulumi.Sprintf(\"tf-example-name-%v\", _default.Result),\n\t\t\tVersionName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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 = oos.NewExecution(ctx, \"example\", \u0026oos.ExecutionArgs{\n\t\t\tTemplateName: defaultTemplate.TemplateName,\n\t\t\tDescription: pulumi.String(\"From TF Test\"),\n\t\t\tParameters: pulumi.String(\"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oos.Template;\nimport com.pulumi.alicloud.oos.TemplateArgs;\nimport com.pulumi.alicloud.oos.Execution;\nimport com.pulumi.alicloud.oos.ExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultTemplate = new Template(\"defaultTemplate\", TemplateArgs.builder()\n .content(\"\"\"\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n \"\"\")\n .templateName(String.format(\"tf-example-name-%s\", default_.result()))\n .versionName(\"example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance Test\")\n ))\n .build());\n\n var example = new Execution(\"example\", ExecutionArgs.builder()\n .templateName(defaultTemplate.templateName())\n .description(\"From TF Test\")\n .parameters(\"\"\"\n\\t\\t\\t\\t{\\\"Status\\\":\\\"Running\\\"}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultTemplate:\n type: alicloud:oos:Template\n name: default\n properties:\n content: |2\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n templateName: tf-example-name-${default.result}\n versionName: example\n tags:\n Created: TF\n For: acceptance Test\n example:\n type: alicloud:oos:Execution\n properties:\n templateName: ${defaultTemplate.templateName}\n description: From TF Test\n parameters: |\n \\t\\t\\t\\t{\\\"Status\\\":\\\"Running\\\"}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/execution:Execution example exec-ef6xxxx\n```\n\n", + "description": "Provides a OOS Execution resource. For information about Alicloud OOS Execution and how to use it, see [What is Resource Alicloud OOS Execution](https://www.alibabacloud.com/help/doc-detail/120771.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultTemplate = new alicloud.oos.Template(\"default\", {\n content: ` {\n \\\\\"FormatVersion\\\\\": \\\\\"OOS-2019-06-01\\\\\",\n \\\\\"Description\\\\\": \\\\\"Update Describe instances of given status\\\\\",\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\":{\n \\\\\"Type\\\\\": \\\\\"String\\\\\",\n \\\\\"Description\\\\\": \\\\\"(Required) The status of the Ecs instance.\\\\\"\n }\n },\n \\\\\"Tasks\\\\\": [\n {\n \\\\\"Properties\\\\\" :{\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\": \\\\\"{{ Status }}\\\\\"\n },\n \\\\\"API\\\\\": \\\\\"DescribeInstances\\\\\",\n \\\\\"Service\\\\\": \\\\\"Ecs\\\\\"\n },\n \\\\\"Name\\\\\": \\\\\"foo\\\\\",\n \\\\\"Action\\\\\": \\\\\"ACS::ExecuteApi\\\\\"\n }]\n }\n`,\n templateName: `tf-example-name-${_default.result}`,\n versionName: \"example\",\n tags: {\n Created: \"TF\",\n For: \"acceptance Test\",\n },\n});\nconst example = new alicloud.oos.Execution(\"example\", {\n templateName: defaultTemplate.templateName,\n description: \"From TF Test\",\n parameters: \"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_template = alicloud.oos.Template(\"default\",\n content=\"\"\" {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n\"\"\",\n template_name=f\"tf-example-name-{default['result']}\",\n version_name=\"example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance Test\",\n })\nexample = alicloud.oos.Execution(\"example\",\n template_name=default_template.template_name,\n description=\"From TF Test\",\n parameters=\"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultTemplate = new AliCloud.Oos.Template(\"default\", new()\n {\n Content = @\" {\n \\\"\"FormatVersion\\\"\": \\\"\"OOS-2019-06-01\\\"\",\n \\\"\"Description\\\"\": \\\"\"Update Describe instances of given status\\\"\",\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\":{\n \\\"\"Type\\\"\": \\\"\"String\\\"\",\n \\\"\"Description\\\"\": \\\"\"(Required) The status of the Ecs instance.\\\"\"\n }\n },\n \\\"\"Tasks\\\"\": [\n {\n \\\"\"Properties\\\"\" :{\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\": \\\"\"{{ Status }}\\\"\"\n },\n \\\"\"API\\\"\": \\\"\"DescribeInstances\\\"\",\n \\\"\"Service\\\"\": \\\"\"Ecs\\\"\"\n },\n \\\"\"Name\\\"\": \\\"\"foo\\\"\",\n \\\"\"Action\\\"\": \\\"\"ACS::ExecuteApi\\\"\"\n }]\n }\n\",\n TemplateName = $\"tf-example-name-{@default.Result}\",\n VersionName = \"example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance Test\" },\n },\n });\n\n var example = new AliCloud.Oos.Execution(\"example\", new()\n {\n TemplateName = defaultTemplate.TemplateName,\n Description = \"From TF Test\",\n Parameters = @\"\\t\\t\\t\\t{\\\"\"Status\\\"\":\\\"\"Running\\\"\"}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTemplate, err := oos.NewTemplate(ctx, \"default\", \u0026oos.TemplateArgs{\n\t\t\tContent: pulumi.String(` {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n`),\n\t\t\tTemplateName: pulumi.Sprintf(\"tf-example-name-%v\", _default.Result),\n\t\t\tVersionName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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 = oos.NewExecution(ctx, \"example\", \u0026oos.ExecutionArgs{\n\t\t\tTemplateName: defaultTemplate.TemplateName,\n\t\t\tDescription: pulumi.String(\"From TF Test\"),\n\t\t\tParameters: pulumi.String(\"\\\\t\\\\t\\\\t\\\\t{\\\\\\\"Status\\\\\\\":\\\\\\\"Running\\\\\\\"}\\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oos.Template;\nimport com.pulumi.alicloud.oos.TemplateArgs;\nimport com.pulumi.alicloud.oos.Execution;\nimport com.pulumi.alicloud.oos.ExecutionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultTemplate = new Template(\"defaultTemplate\", TemplateArgs.builder()\n .content(\"\"\"\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n \"\"\")\n .templateName(String.format(\"tf-example-name-%s\", default_.result()))\n .versionName(\"example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance Test\")\n ))\n .build());\n\n var example = new Execution(\"example\", ExecutionArgs.builder()\n .templateName(defaultTemplate.templateName())\n .description(\"From TF Test\")\n .parameters(\"\"\"\n\\t\\t\\t\\t{\\\"Status\\\":\\\"Running\\\"}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultTemplate:\n type: alicloud:oos:Template\n name: default\n properties:\n content: |2\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n templateName: tf-example-name-${default.result}\n versionName: example\n tags:\n Created: TF\n For: acceptance Test\n example:\n type: alicloud:oos:Execution\n properties:\n templateName: ${defaultTemplate.templateName}\n description: From TF Test\n parameters: |\n \\t\\t\\t\\t{\\\"Status\\\":\\\"Running\\\"}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Execution can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/execution:Execution example exec-ef6xxxx\n```\n\n", "properties": { "counters": { "type": "string", @@ -217450,7 +222495,7 @@ } }, "alicloud:oos/parameter:Parameter": { - "description": "Provides a OOS Parameter resource.\n\nFor information about OOS Parameter and how to use it, see [What is Parameter](https://www.alibabacloud.com/help/en/doc-detail/183408.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.oos.Parameter(\"example\", {\n parameterName: \"my-Parameter\",\n type: \"String\",\n value: \"example_value\",\n description: \"example_value\",\n tags: {\n Created: \"TF\",\n For: \"OosParameter\",\n },\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.oos.Parameter(\"example\",\n parameter_name=\"my-Parameter\",\n type=\"String\",\n value=\"example_value\",\n description=\"example_value\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"OosParameter\",\n },\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Oos.Parameter(\"example\", new()\n {\n ParameterName = \"my-Parameter\",\n Type = \"String\",\n Value = \"example_value\",\n Description = \"example_value\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"OosParameter\" },\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewParameter(ctx, \"example\", \u0026oos.ParameterArgs{\n\t\t\tParameterName: pulumi.String(\"my-Parameter\"),\n\t\t\tType: pulumi.String(\"String\"),\n\t\t\tValue: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"OosParameter\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Parameter;\nimport com.pulumi.alicloud.oos.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new Parameter(\"example\", ParameterArgs.builder()\n .parameterName(\"my-Parameter\")\n .type(\"String\")\n .value(\"example_value\")\n .description(\"example_value\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"OosParameter\")\n ))\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:oos:Parameter\n properties:\n parameterName: my-Parameter\n type: String\n value: example_value\n description: example_value\n tags:\n Created: TF\n For: OosParameter\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Parameter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/parameter:Parameter example \u003cparameter_name\u003e\n```\n\n", + "description": "Provides a OOS Parameter resource.\n\nFor information about OOS Parameter and how to use it, see [What is Parameter](https://www.alibabacloud.com/help/en/doc-detail/183408.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.oos.Parameter(\"example\", {\n parameterName: \"my-Parameter\",\n type: \"String\",\n value: \"example_value\",\n description: \"example_value\",\n tags: {\n Created: \"TF\",\n For: \"OosParameter\",\n },\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.oos.Parameter(\"example\",\n parameter_name=\"my-Parameter\",\n type=\"String\",\n value=\"example_value\",\n description=\"example_value\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"OosParameter\",\n },\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Oos.Parameter(\"example\", new()\n {\n ParameterName = \"my-Parameter\",\n Type = \"String\",\n Value = \"example_value\",\n Description = \"example_value\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"OosParameter\" },\n },\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewParameter(ctx, \"example\", \u0026oos.ParameterArgs{\n\t\t\tParameterName: pulumi.String(\"my-Parameter\"),\n\t\t\tType: pulumi.String(\"String\"),\n\t\t\tValue: pulumi.String(\"example_value\"),\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"OosParameter\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.Parameter;\nimport com.pulumi.alicloud.oos.ParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new Parameter(\"example\", ParameterArgs.builder()\n .parameterName(\"my-Parameter\")\n .type(\"String\")\n .value(\"example_value\")\n .description(\"example_value\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"OosParameter\")\n ))\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:oos:Parameter\n properties:\n parameterName: my-Parameter\n type: String\n value: example_value\n description: example_value\n tags:\n Created: TF\n For: OosParameter\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Parameter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/parameter:Parameter example \u003cparameter_name\u003e\n```\n\n", "properties": { "constraints": { "type": "string", @@ -217574,7 +222619,7 @@ } }, "alicloud:oos/patchBaseline:PatchBaseline": { - "description": "Provides a OOS Patch Baseline resource. \n\nFor information about OOS Patch Baseline and how to use it, see [What is Patch Baseline](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/patch-manager-overview).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.oos.PatchBaseline(\"default\", {\n patchBaselineName: name,\n operationSystem: \"Windows\",\n approvalRules: \"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.oos.PatchBaseline(\"default\",\n patch_baseline_name=name,\n operation_system=\"Windows\",\n approval_rules=\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Oos.PatchBaseline(\"default\", new()\n {\n PatchBaselineName = name,\n OperationSystem = \"Windows\",\n ApprovalRules = \"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := oos.NewPatchBaseline(ctx, \"default\", \u0026oos.PatchBaselineArgs{\n\t\t\tPatchBaselineName: pulumi.String(name),\n\t\t\tOperationSystem: pulumi.String(\"Windows\"),\n\t\t\tApprovalRules: pulumi.String(\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oos.PatchBaseline;\nimport com.pulumi.alicloud.oos.PatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new PatchBaseline(\"default\", PatchBaselineArgs.builder()\n .patchBaselineName(name)\n .operationSystem(\"Windows\")\n .approvalRules(\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:oos:PatchBaseline\n properties:\n patchBaselineName: ${name}\n operationSystem: Windows\n approvalRules: '{\"PatchRules\":[{\"EnableNonSecurity\":true,\"PatchFilterGroup\":[{\"Values\":[\"*\"],\"Key\":\"Product\"},{\"Values\":[\"Security\",\"Bugfix\"],\"Key\":\"Classification\"},{\"Values\":[\"Critical\",\"Important\"],\"Key\":\"Severity\"}],\"ApproveAfterDays\":7,\"ComplianceLevel\":\"Unspecified\"}]}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Patch Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/patchBaseline:PatchBaseline example \u003cid\u003e\n```\n\n", + "description": "Provides a OOS Patch Baseline resource. \n\nFor information about OOS Patch Baseline and how to use it, see [What is Patch Baseline](https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/patch-manager-overview).\n\n\u003e **NOTE:** Available since v1.146.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.oos.PatchBaseline(\"default\", {\n patchBaselineName: name,\n operationSystem: \"Windows\",\n approvalRules: \"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.oos.PatchBaseline(\"default\",\n patch_baseline_name=name,\n operation_system=\"Windows\",\n approval_rules=\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Oos.PatchBaseline(\"default\", new()\n {\n PatchBaselineName = name,\n OperationSystem = \"Windows\",\n ApprovalRules = \"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := oos.NewPatchBaseline(ctx, \"default\", \u0026oos.PatchBaselineArgs{\n\t\t\tPatchBaselineName: pulumi.String(name),\n\t\t\tOperationSystem: pulumi.String(\"Windows\"),\n\t\t\tApprovalRules: pulumi.String(\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oos.PatchBaseline;\nimport com.pulumi.alicloud.oos.PatchBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new PatchBaseline(\"default\", PatchBaselineArgs.builder()\n .patchBaselineName(name)\n .operationSystem(\"Windows\")\n .approvalRules(\"{\\\"PatchRules\\\":[{\\\"EnableNonSecurity\\\":true,\\\"PatchFilterGroup\\\":[{\\\"Values\\\":[\\\"*\\\"],\\\"Key\\\":\\\"Product\\\"},{\\\"Values\\\":[\\\"Security\\\",\\\"Bugfix\\\"],\\\"Key\\\":\\\"Classification\\\"},{\\\"Values\\\":[\\\"Critical\\\",\\\"Important\\\"],\\\"Key\\\":\\\"Severity\\\"}],\\\"ApproveAfterDays\\\":7,\\\"ComplianceLevel\\\":\\\"Unspecified\\\"}]}\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:oos:PatchBaseline\n properties:\n patchBaselineName: ${name}\n operationSystem: Windows\n approvalRules: '{\"PatchRules\":[{\"EnableNonSecurity\":true,\"PatchFilterGroup\":[{\"Values\":[\"*\"],\"Key\":\"Product\"},{\"Values\":[\"Security\",\"Bugfix\"],\"Key\":\"Classification\"},{\"Values\":[\"Critical\",\"Important\"],\"Key\":\"Severity\"}],\"ApproveAfterDays\":7,\"ComplianceLevel\":\"Unspecified\"}]}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Patch Baseline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/patchBaseline:PatchBaseline example \u003cid\u003e\n```\n\n", "properties": { "approvalRules": { "type": "string", @@ -217780,7 +222825,7 @@ } }, "alicloud:oos/secretParameter:SecretParameter": { - "description": "Provides a Operation Orchestration Service (OOS) Secret Parameter resource.\n\n\n\nFor information about Operation Orchestration Service (OOS) Secret Parameter and how to use it, see [What is Secret Parameter](https://www.alibabacloud.com/help/en/doc-detail/183418.html).\n\n\u003e **NOTE:** Available since v1.147.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\nconst exampleSecretParameter = new alicloud.oos.SecretParameter(\"example\", {\n secretParameterName: \"terraform-example\",\n value: \"terraform-example\",\n type: \"Secret\",\n keyId: exampleKey.id,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"OosSecretParameter\",\n },\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.resourcemanager.get_resource_groups()\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n status=\"Enabled\",\n pending_window_in_days=7)\nexample_secret_parameter = alicloud.oos.SecretParameter(\"example\",\n secret_parameter_name=\"terraform-example\",\n value=\"terraform-example\",\n type=\"Secret\",\n key_id=example_key.id,\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"OosSecretParameter\",\n },\n resource_group_id=example.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n var exampleSecretParameter = new AliCloud.Oos.SecretParameter(\"example\", new()\n {\n SecretParameterName = \"terraform-example\",\n Value = \"terraform-example\",\n Type = \"Secret\",\n KeyId = exampleKey.Id,\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"OosSecretParameter\" },\n },\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewSecretParameter(ctx, \"example\", \u0026oos.SecretParameterArgs{\n\t\t\tSecretParameterName: pulumi.String(\"terraform-example\"),\n\t\t\tValue: pulumi.String(\"terraform-example\"),\n\t\t\tType: pulumi.String(\"Secret\"),\n\t\t\tKeyId: exampleKey.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"OosSecretParameter\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oos.SecretParameter;\nimport com.pulumi.alicloud.oos.SecretParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n var exampleSecretParameter = new SecretParameter(\"exampleSecretParameter\", SecretParameterArgs.builder()\n .secretParameterName(\"terraform-example\")\n .value(\"terraform-example\")\n .type(\"Secret\")\n .keyId(exampleKey.id())\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"OosSecretParameter\")\n ))\n .resourceGroupId(example.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n status: Enabled\n pendingWindowInDays: 7\n exampleSecretParameter:\n type: alicloud:oos:SecretParameter\n name: example\n properties:\n secretParameterName: terraform-example\n value: terraform-example\n type: Secret\n keyId: ${exampleKey.id}\n description: terraform-example\n tags:\n Created: TF\n For: OosSecretParameter\n resourceGroupId: ${example.groups[0].id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOperation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/secretParameter:SecretParameter example \u003cid\u003e\n```\n\n", + "description": "Provides a Operation Orchestration Service (OOS) Secret Parameter resource.\n\n\n\nFor information about Operation Orchestration Service (OOS) Secret Parameter and how to use it, see [What is Secret Parameter](https://www.alibabacloud.com/help/en/doc-detail/183418.html).\n\n\u003e **NOTE:** Available since v1.147.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.resourcemanager.getResourceGroups({});\nconst exampleKey = new alicloud.kms.Key(\"example\", {\n description: \"terraform-example\",\n status: \"Enabled\",\n pendingWindowInDays: 7,\n});\nconst exampleSecretParameter = new alicloud.oos.SecretParameter(\"example\", {\n secretParameterName: \"terraform-example\",\n value: \"terraform-example\",\n type: \"Secret\",\n keyId: exampleKey.id,\n description: \"terraform-example\",\n tags: {\n Created: \"TF\",\n For: \"OosSecretParameter\",\n },\n resourceGroupId: example.then(example =\u003e example.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.resourcemanager.get_resource_groups()\nexample_key = alicloud.kms.Key(\"example\",\n description=\"terraform-example\",\n status=\"Enabled\",\n pending_window_in_days=7)\nexample_secret_parameter = alicloud.oos.SecretParameter(\"example\",\n secret_parameter_name=\"terraform-example\",\n value=\"terraform-example\",\n type=\"Secret\",\n key_id=example_key.id,\n description=\"terraform-example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"OosSecretParameter\",\n },\n resource_group_id=example.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var exampleKey = new AliCloud.Kms.Key(\"example\", new()\n {\n Description = \"terraform-example\",\n Status = \"Enabled\",\n PendingWindowInDays = 7,\n });\n\n var exampleSecretParameter = new AliCloud.Oos.SecretParameter(\"example\", new()\n {\n SecretParameterName = \"terraform-example\",\n Value = \"terraform-example\",\n Type = \"Secret\",\n KeyId = exampleKey.Id,\n Description = \"terraform-example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"OosSecretParameter\" },\n },\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewSecretParameter(ctx, \"example\", \u0026oos.SecretParameterArgs{\n\t\t\tSecretParameterName: pulumi.String(\"terraform-example\"),\n\t\t\tValue: pulumi.String(\"terraform-example\"),\n\t\t\tType: pulumi.String(\"Secret\"),\n\t\t\tKeyId: exampleKey.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"OosSecretParameter\"),\n\t\t\t},\n\t\t\tResourceGroupId: pulumi.String(example.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oos.SecretParameter;\nimport com.pulumi.alicloud.oos.SecretParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"terraform-example\")\n .status(\"Enabled\")\n .pendingWindowInDays(7)\n .build());\n\n var exampleSecretParameter = new SecretParameter(\"exampleSecretParameter\", SecretParameterArgs.builder()\n .secretParameterName(\"terraform-example\")\n .value(\"terraform-example\")\n .type(\"Secret\")\n .keyId(exampleKey.id())\n .description(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"OosSecretParameter\")\n ))\n .resourceGroupId(example.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: alicloud:kms:Key\n name: example\n properties:\n description: terraform-example\n status: Enabled\n pendingWindowInDays: 7\n exampleSecretParameter:\n type: alicloud:oos:SecretParameter\n name: example\n properties:\n secretParameterName: terraform-example\n value: terraform-example\n type: Secret\n keyId: ${exampleKey.id}\n description: terraform-example\n tags:\n Created: TF\n For: OosSecretParameter\n resourceGroupId: ${example.groups[0].id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOperation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/secretParameter:SecretParameter example \u003cid\u003e\n```\n\n", "properties": { "constraints": { "type": "string", @@ -217943,7 +222988,7 @@ } }, "alicloud:oos/serviceSetting:ServiceSetting": { - "description": "Provides a OOS Service Setting resource.\n\nFor information about OOS Service Setting and how to use it, see [What is Service Setting](https://www.alibabacloud.com/help/en/doc-detail/268700.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testaccoossetting\";\nconst _default = new alicloud.oss.Bucket(\"default\", {bucket: name});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: _default.bucket,\n acl: \"public-read-write\",\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: name});\nconst defaultServiceSetting = new alicloud.oos.ServiceSetting(\"default\", {\n deliveryOssEnabled: true,\n deliveryOssKeyPrefix: \"path1/\",\n deliveryOssBucketName: _default.bucket,\n deliverySlsEnabled: true,\n deliverySlsProjectName: defaultProject.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testaccoossetting\"\ndefault = alicloud.oss.Bucket(\"default\", bucket=name)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default.bucket,\n acl=\"public-read-write\")\ndefault_project = alicloud.log.Project(\"default\", project_name=name)\ndefault_service_setting = alicloud.oos.ServiceSetting(\"default\",\n delivery_oss_enabled=True,\n delivery_oss_key_prefix=\"path1/\",\n delivery_oss_bucket_name=default.bucket,\n delivery_sls_enabled=True,\n delivery_sls_project_name=default_project.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testaccoossetting\";\n var @default = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = name,\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = @default.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = name,\n });\n\n var defaultServiceSetting = new AliCloud.Oos.ServiceSetting(\"default\", new()\n {\n DeliveryOssEnabled = true,\n DeliveryOssKeyPrefix = \"path1/\",\n DeliveryOssBucketName = @default.BucketName,\n DeliverySlsEnabled = true,\n DeliverySlsProjectName = defaultProject.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testaccoossetting\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: _default.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewServiceSetting(ctx, \"default\", \u0026oos.ServiceSettingArgs{\n\t\t\tDeliveryOssEnabled: pulumi.Bool(true),\n\t\t\tDeliveryOssKeyPrefix: pulumi.String(\"path1/\"),\n\t\t\tDeliveryOssBucketName: _default.Bucket,\n\t\t\tDeliverySlsEnabled: pulumi.Bool(true),\n\t\t\tDeliverySlsProjectName: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.oos.ServiceSetting;\nimport com.pulumi.alicloud.oos.ServiceSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testaccoossetting\");\n var default_ = new Bucket(\"default\", BucketArgs.builder()\n .bucket(name)\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(default_.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(name)\n .build());\n\n var defaultServiceSetting = new ServiceSetting(\"defaultServiceSetting\", ServiceSettingArgs.builder()\n .deliveryOssEnabled(true)\n .deliveryOssKeyPrefix(\"path1/\")\n .deliveryOssBucketName(default_.bucket())\n .deliverySlsEnabled(true)\n .deliverySlsProjectName(defaultProject.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testaccoossetting\nresources:\n default:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${default.bucket}\n acl: public-read-write\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}\n defaultServiceSetting:\n type: alicloud:oos:ServiceSetting\n name: default\n properties:\n deliveryOssEnabled: true\n deliveryOssKeyPrefix: path1/\n deliveryOssBucketName: ${default.bucket}\n deliverySlsEnabled: true\n deliverySlsProjectName: ${defaultProject.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Service Setting can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/serviceSetting:ServiceSetting example \u003cid\u003e\n```\n\n", + "description": "Provides a OOS Service Setting resource.\n\nFor information about OOS Service Setting and how to use it, see [What is Service Setting](https://www.alibabacloud.com/help/en/doc-detail/268700.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testaccoossetting\";\nconst _default = new alicloud.oss.Bucket(\"default\", {bucket: name});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: _default.bucket,\n acl: \"public-read-write\",\n});\nconst defaultProject = new alicloud.log.Project(\"default\", {projectName: name});\nconst defaultServiceSetting = new alicloud.oos.ServiceSetting(\"default\", {\n deliveryOssEnabled: true,\n deliveryOssKeyPrefix: \"path1/\",\n deliveryOssBucketName: _default.bucket,\n deliverySlsEnabled: true,\n deliverySlsProjectName: defaultProject.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testaccoossetting\"\ndefault = alicloud.oss.Bucket(\"default\", bucket=name)\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default.bucket,\n acl=\"public-read-write\")\ndefault_project = alicloud.log.Project(\"default\", project_name=name)\ndefault_service_setting = alicloud.oos.ServiceSetting(\"default\",\n delivery_oss_enabled=True,\n delivery_oss_key_prefix=\"path1/\",\n delivery_oss_bucket_name=default.bucket,\n delivery_sls_enabled=True,\n delivery_sls_project_name=default_project.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testaccoossetting\";\n var @default = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = name,\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = @default.BucketName,\n Acl = \"public-read-write\",\n });\n\n var defaultProject = new AliCloud.Log.Project(\"default\", new()\n {\n ProjectName = name,\n });\n\n var defaultServiceSetting = new AliCloud.Oos.ServiceSetting(\"default\", new()\n {\n DeliveryOssEnabled = true,\n DeliveryOssKeyPrefix = \"path1/\",\n DeliveryOssBucketName = @default.BucketName,\n DeliverySlsEnabled = true,\n DeliverySlsProjectName = defaultProject.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testaccoossetting\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: _default.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultProject, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewServiceSetting(ctx, \"default\", \u0026oos.ServiceSettingArgs{\n\t\t\tDeliveryOssEnabled: pulumi.Bool(true),\n\t\t\tDeliveryOssKeyPrefix: pulumi.String(\"path1/\"),\n\t\t\tDeliveryOssBucketName: _default.Bucket,\n\t\t\tDeliverySlsEnabled: pulumi.Bool(true),\n\t\t\tDeliverySlsProjectName: defaultProject.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.oos.ServiceSetting;\nimport com.pulumi.alicloud.oos.ServiceSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testaccoossetting\");\n var default_ = new Bucket(\"default\", BucketArgs.builder()\n .bucket(name)\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(default_.bucket())\n .acl(\"public-read-write\")\n .build());\n\n var defaultProject = new Project(\"defaultProject\", ProjectArgs.builder()\n .projectName(name)\n .build());\n\n var defaultServiceSetting = new ServiceSetting(\"defaultServiceSetting\", ServiceSettingArgs.builder()\n .deliveryOssEnabled(true)\n .deliveryOssKeyPrefix(\"path1/\")\n .deliveryOssBucketName(default_.bucket())\n .deliverySlsEnabled(true)\n .deliverySlsProjectName(defaultProject.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testaccoossetting\nresources:\n default:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${default.bucket}\n acl: public-read-write\n defaultProject:\n type: alicloud:log:Project\n name: default\n properties:\n projectName: ${name}\n defaultServiceSetting:\n type: alicloud:oos:ServiceSetting\n name: default\n properties:\n deliveryOssEnabled: true\n deliveryOssKeyPrefix: path1/\n deliveryOssBucketName: ${default.bucket}\n deliverySlsEnabled: true\n deliverySlsProjectName: ${defaultProject.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Service Setting can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/serviceSetting:ServiceSetting example \u003cid\u003e\n```\n\n", "properties": { "deliveryOssBucketName": { "type": "string", @@ -218016,7 +223061,7 @@ } }, "alicloud:oos/stateConfiguration:StateConfiguration": { - "description": "Provides a OOS State Configuration resource.\n\nFor information about OOS State Configuration and how to use it, see [What is State Configuration](https://www.alibabacloud.com/help/en/doc-detail/208728.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultStateConfiguration = new alicloud.oos.StateConfiguration(\"default\", {\n templateName: \"ACS-ECS-InventoryDataCollection\",\n configureMode: \"ApplyOnly\",\n description: \"terraform-example\",\n scheduleType: \"rate\",\n scheduleExpression: \"1 hour\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n targets: \"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n parameters: \"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_state_configuration = alicloud.oos.StateConfiguration(\"default\",\n template_name=\"ACS-ECS-InventoryDataCollection\",\n configure_mode=\"ApplyOnly\",\n description=\"terraform-example\",\n schedule_type=\"rate\",\n schedule_expression=\"1 hour\",\n resource_group_id=default.ids[0],\n targets=\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n parameters=\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultStateConfiguration = new AliCloud.Oos.StateConfiguration(\"default\", new()\n {\n TemplateName = \"ACS-ECS-InventoryDataCollection\",\n ConfigureMode = \"ApplyOnly\",\n Description = \"terraform-example\",\n ScheduleType = \"rate\",\n ScheduleExpression = \"1 hour\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Targets = \"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n Parameters = \"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewStateConfiguration(ctx, \"default\", \u0026oos.StateConfigurationArgs{\n\t\t\tTemplateName: pulumi.String(\"ACS-ECS-InventoryDataCollection\"),\n\t\t\tConfigureMode: pulumi.String(\"ApplyOnly\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tScheduleType: pulumi.String(\"rate\"),\n\t\t\tScheduleExpression: pulumi.String(\"1 hour\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tTargets: pulumi.String(\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\"),\n\t\t\tParameters: pulumi.String(\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.StateConfiguration;\nimport com.pulumi.alicloud.oos.StateConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultStateConfiguration = new StateConfiguration(\"defaultStateConfiguration\", StateConfigurationArgs.builder()\n .templateName(\"ACS-ECS-InventoryDataCollection\")\n .configureMode(\"ApplyOnly\")\n .description(\"terraform-example\")\n .scheduleType(\"rate\")\n .scheduleExpression(\"1 hour\")\n .resourceGroupId(default_.ids()[0])\n .targets(\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\")\n .parameters(\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultStateConfiguration:\n type: alicloud:oos:StateConfiguration\n name: default\n properties:\n templateName: ACS-ECS-InventoryDataCollection\n configureMode: ApplyOnly\n description: terraform-example\n scheduleType: rate\n scheduleExpression: 1 hour\n resourceGroupId: ${default.ids[0]}\n targets: '{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}'\n parameters: '{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}'\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS State Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/stateConfiguration:StateConfiguration example \u003cid\u003e\n```\n\n", + "description": "Provides a OOS State Configuration resource.\n\nFor information about OOS State Configuration and how to use it, see [What is State Configuration](https://www.alibabacloud.com/help/en/doc-detail/208728.html).\n\n\u003e **NOTE:** Available in v1.147.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultStateConfiguration = new alicloud.oos.StateConfiguration(\"default\", {\n templateName: \"ACS-ECS-InventoryDataCollection\",\n configureMode: \"ApplyOnly\",\n description: \"terraform-example\",\n scheduleType: \"rate\",\n scheduleExpression: \"1 hour\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n targets: \"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n parameters: \"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_state_configuration = alicloud.oos.StateConfiguration(\"default\",\n template_name=\"ACS-ECS-InventoryDataCollection\",\n configure_mode=\"ApplyOnly\",\n description=\"terraform-example\",\n schedule_type=\"rate\",\n schedule_expression=\"1 hour\",\n resource_group_id=default.ids[0],\n targets=\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n parameters=\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultStateConfiguration = new AliCloud.Oos.StateConfiguration(\"default\", new()\n {\n TemplateName = \"ACS-ECS-InventoryDataCollection\",\n ConfigureMode = \"ApplyOnly\",\n Description = \"terraform-example\",\n ScheduleType = \"rate\",\n ScheduleExpression = \"1 hour\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n Targets = \"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\",\n Parameters = \"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewStateConfiguration(ctx, \"default\", \u0026oos.StateConfigurationArgs{\n\t\t\tTemplateName: pulumi.String(\"ACS-ECS-InventoryDataCollection\"),\n\t\t\tConfigureMode: pulumi.String(\"ApplyOnly\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tScheduleType: pulumi.String(\"rate\"),\n\t\t\tScheduleExpression: pulumi.String(\"1 hour\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tTargets: pulumi.String(\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\"),\n\t\t\tParameters: pulumi.String(\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oos.StateConfiguration;\nimport com.pulumi.alicloud.oos.StateConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultStateConfiguration = new StateConfiguration(\"defaultStateConfiguration\", StateConfigurationArgs.builder()\n .templateName(\"ACS-ECS-InventoryDataCollection\")\n .configureMode(\"ApplyOnly\")\n .description(\"terraform-example\")\n .scheduleType(\"rate\")\n .scheduleExpression(\"1 hour\")\n .resourceGroupId(default_.ids()[0])\n .targets(\"{\\\"Filters\\\": [{\\\"Type\\\": \\\"All\\\", \\\"Parameters\\\": {\\\"InstanceChargeType\\\": \\\"PrePaid\\\"}}], \\\"ResourceType\\\": \\\"ALIYUN::ECS::Instance\\\"}\")\n .parameters(\"{\\\"policy\\\": {\\\"ACS:Application\\\": {\\\"Collection\\\": \\\"Enabled\\\"}}}\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultStateConfiguration:\n type: alicloud:oos:StateConfiguration\n name: default\n properties:\n templateName: ACS-ECS-InventoryDataCollection\n configureMode: ApplyOnly\n description: terraform-example\n scheduleType: rate\n scheduleExpression: 1 hour\n resourceGroupId: ${default.ids[0]}\n targets: '{\"Filters\": [{\"Type\": \"All\", \"Parameters\": {\"InstanceChargeType\": \"PrePaid\"}}], \"ResourceType\": \"ALIYUN::ECS::Instance\"}'\n parameters: '{\"policy\": {\"ACS:Application\": {\"Collection\": \"Enabled\"}}}'\n tags:\n Created: TF\n For: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS State Configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oos/stateConfiguration:StateConfiguration example \u003cid\u003e\n```\n\n", "properties": { "configureMode": { "type": "string", @@ -218177,7 +223222,7 @@ } }, "alicloud:oos/template:Template": { - "description": "Provides a OOS Template resource. For information about Alicloud OOS Template and how to use it, see [What is Resource Alicloud OOS Template](https://www.alibabacloud.com/help/doc-detail/120761.htm).\n\n\u003e **NOTE:** Available since v1.92.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.oos.Template(\"example\", {\n content: ` {\n \\\\\"FormatVersion\\\\\": \\\\\"OOS-2019-06-01\\\\\",\n \\\\\"Description\\\\\": \\\\\"Update Describe instances of given status\\\\\",\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\":{\n \\\\\"Type\\\\\": \\\\\"String\\\\\",\n \\\\\"Description\\\\\": \\\\\"(Required) The status of the Ecs instance.\\\\\"\n }\n },\n \\\\\"Tasks\\\\\": [\n {\n \\\\\"Properties\\\\\" :{\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\": \\\\\"{{ Status }}\\\\\"\n },\n \\\\\"API\\\\\": \\\\\"DescribeInstances\\\\\",\n \\\\\"Service\\\\\": \\\\\"Ecs\\\\\"\n },\n \\\\\"Name\\\\\": \\\\\"foo\\\\\",\n \\\\\"Action\\\\\": \\\\\"ACS::ExecuteApi\\\\\"\n }]\n }\n`,\n templateName: `tf-example-name-${_default.result}`,\n versionName: \"example\",\n tags: {\n Created: \"TF\",\n For: \"acceptance Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.oos.Template(\"example\",\n content=\"\"\" {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n\"\"\",\n template_name=f\"tf-example-name-{default['result']}\",\n version_name=\"example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Oos.Template(\"example\", new()\n {\n Content = @\" {\n \\\"\"FormatVersion\\\"\": \\\"\"OOS-2019-06-01\\\"\",\n \\\"\"Description\\\"\": \\\"\"Update Describe instances of given status\\\"\",\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\":{\n \\\"\"Type\\\"\": \\\"\"String\\\"\",\n \\\"\"Description\\\"\": \\\"\"(Required) The status of the Ecs instance.\\\"\"\n }\n },\n \\\"\"Tasks\\\"\": [\n {\n \\\"\"Properties\\\"\" :{\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\": \\\"\"{{ Status }}\\\"\"\n },\n \\\"\"API\\\"\": \\\"\"DescribeInstances\\\"\",\n \\\"\"Service\\\"\": \\\"\"Ecs\\\"\"\n },\n \\\"\"Name\\\"\": \\\"\"foo\\\"\",\n \\\"\"Action\\\"\": \\\"\"ACS::ExecuteApi\\\"\"\n }]\n }\n\",\n TemplateName = $\"tf-example-name-{@default.Result}\",\n VersionName = \"example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewTemplate(ctx, \"example\", \u0026oos.TemplateArgs{\n\t\t\tContent: pulumi.String(` {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n`),\n\t\t\tTemplateName: pulumi.Sprintf(\"tf-example-name-%v\", _default.Result),\n\t\t\tVersionName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oos.Template;\nimport com.pulumi.alicloud.oos.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Template(\"example\", TemplateArgs.builder()\n .content(\"\"\"\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n \"\"\")\n .templateName(String.format(\"tf-example-name-%s\", default_.result()))\n .versionName(\"example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance Test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:oos:Template\n properties:\n content: |2\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n templateName: tf-example-name-${default.result}\n versionName: example\n tags:\n Created: TF\n For: acceptance Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOOS Template can be imported using the id or template_name, e.g.\n\n```sh\n$ pulumi import alicloud:oos/template:Template example template_name\n```\n\n", + "description": "Provides a OOS Template resource. For information about Alicloud OOS Template and how to use it, see [What is Resource Alicloud OOS Template](https://www.alibabacloud.com/help/doc-detail/120761.htm).\n\n\u003e **NOTE:** Available since v1.92.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.oos.Template(\"example\", {\n content: ` {\n \\\\\"FormatVersion\\\\\": \\\\\"OOS-2019-06-01\\\\\",\n \\\\\"Description\\\\\": \\\\\"Update Describe instances of given status\\\\\",\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\":{\n \\\\\"Type\\\\\": \\\\\"String\\\\\",\n \\\\\"Description\\\\\": \\\\\"(Required) The status of the Ecs instance.\\\\\"\n }\n },\n \\\\\"Tasks\\\\\": [\n {\n \\\\\"Properties\\\\\" :{\n \\\\\"Parameters\\\\\":{\n \\\\\"Status\\\\\": \\\\\"{{ Status }}\\\\\"\n },\n \\\\\"API\\\\\": \\\\\"DescribeInstances\\\\\",\n \\\\\"Service\\\\\": \\\\\"Ecs\\\\\"\n },\n \\\\\"Name\\\\\": \\\\\"foo\\\\\",\n \\\\\"Action\\\\\": \\\\\"ACS::ExecuteApi\\\\\"\n }]\n }\n`,\n templateName: `tf-example-name-${_default.result}`,\n versionName: \"example\",\n tags: {\n Created: \"TF\",\n For: \"acceptance Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.oos.Template(\"example\",\n content=\"\"\" {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n\"\"\",\n template_name=f\"tf-example-name-{default['result']}\",\n version_name=\"example\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"acceptance Test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Oos.Template(\"example\", new()\n {\n Content = @\" {\n \\\"\"FormatVersion\\\"\": \\\"\"OOS-2019-06-01\\\"\",\n \\\"\"Description\\\"\": \\\"\"Update Describe instances of given status\\\"\",\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\":{\n \\\"\"Type\\\"\": \\\"\"String\\\"\",\n \\\"\"Description\\\"\": \\\"\"(Required) The status of the Ecs instance.\\\"\"\n }\n },\n \\\"\"Tasks\\\"\": [\n {\n \\\"\"Properties\\\"\" :{\n \\\"\"Parameters\\\"\":{\n \\\"\"Status\\\"\": \\\"\"{{ Status }}\\\"\"\n },\n \\\"\"API\\\"\": \\\"\"DescribeInstances\\\"\",\n \\\"\"Service\\\"\": \\\"\"Ecs\\\"\"\n },\n \\\"\"Name\\\"\": \\\"\"foo\\\"\",\n \\\"\"Action\\\"\": \\\"\"ACS::ExecuteApi\\\"\"\n }]\n }\n\",\n TemplateName = $\"tf-example-name-{@default.Result}\",\n VersionName = \"example\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"acceptance Test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oos\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oos.NewTemplate(ctx, \"example\", \u0026oos.TemplateArgs{\n\t\t\tContent: pulumi.String(` {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n`),\n\t\t\tTemplateName: pulumi.Sprintf(\"tf-example-name-%v\", _default.Result),\n\t\t\tVersionName: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"acceptance 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oos.Template;\nimport com.pulumi.alicloud.oos.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Template(\"example\", TemplateArgs.builder()\n .content(\"\"\"\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n \"\"\")\n .templateName(String.format(\"tf-example-name-%s\", default_.result()))\n .versionName(\"example\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"acceptance Test\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:oos:Template\n properties:\n content: |2\n {\n \\\"FormatVersion\\\": \\\"OOS-2019-06-01\\\",\n \\\"Description\\\": \\\"Update Describe instances of given status\\\",\n \\\"Parameters\\\":{\n \\\"Status\\\":{\n \\\"Type\\\": \\\"String\\\",\n \\\"Description\\\": \\\"(Required) The status of the Ecs instance.\\\"\n }\n },\n \\\"Tasks\\\": [\n {\n \\\"Properties\\\" :{\n \\\"Parameters\\\":{\n \\\"Status\\\": \\\"{{ Status }}\\\"\n },\n \\\"API\\\": \\\"DescribeInstances\\\",\n \\\"Service\\\": \\\"Ecs\\\"\n },\n \\\"Name\\\": \\\"foo\\\",\n \\\"Action\\\": \\\"ACS::ExecuteApi\\\"\n }]\n }\n templateName: tf-example-name-${default.result}\n versionName: example\n tags:\n Created: TF\n For: acceptance Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOOS Template can be imported using the id or template_name, e.g.\n\n```sh\n$ pulumi import alicloud:oos/template:Template example template_name\n```\n\n", "properties": { "autoDeleteExecutions": { "type": "boolean", @@ -218381,7 +223426,7 @@ } }, "alicloud:opensearch/appGroup:AppGroup": { - "description": "Provides a Open Search App Group resource.\n\nFor information about Open Search App Group and how to use it, see [What is App Group](https://www.aliyun.com/product/opensearch).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"name\";\nconst _default = new alicloud.opensearch.AppGroup(\"default\", {\n appGroupName: name,\n paymentType: \"PayAsYouGo\",\n type: \"standard\",\n quota: {\n docSize: 1,\n computeResource: 20,\n spec: \"opensearch.share.common\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"name\"\ndefault = alicloud.opensearch.AppGroup(\"default\",\n app_group_name=name,\n payment_type=\"PayAsYouGo\",\n type=\"standard\",\n quota={\n \"doc_size\": 1,\n \"compute_resource\": 20,\n \"spec\": \"opensearch.share.common\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"name\";\n var @default = new AliCloud.OpenSearch.AppGroup(\"default\", new()\n {\n AppGroupName = name,\n PaymentType = \"PayAsYouGo\",\n Type = \"standard\",\n Quota = new AliCloud.OpenSearch.Inputs.AppGroupQuotaArgs\n {\n DocSize = 1,\n ComputeResource = 20,\n Spec = \"opensearch.share.common\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := opensearch.NewAppGroup(ctx, \"default\", \u0026opensearch.AppGroupArgs{\n\t\t\tAppGroupName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tType: pulumi.String(\"standard\"),\n\t\t\tQuota: \u0026opensearch.AppGroupQuotaArgs{\n\t\t\t\tDocSize: pulumi.Int(1),\n\t\t\t\tComputeResource: pulumi.Int(20),\n\t\t\t\tSpec: pulumi.String(\"opensearch.share.common\"),\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.alicloud.opensearch.AppGroup;\nimport com.pulumi.alicloud.opensearch.AppGroupArgs;\nimport com.pulumi.alicloud.opensearch.inputs.AppGroupQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"name\");\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .appGroupName(name)\n .paymentType(\"PayAsYouGo\")\n .type(\"standard\")\n .quota(AppGroupQuotaArgs.builder()\n .docSize(1)\n .computeResource(20)\n .spec(\"opensearch.share.common\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: name\nresources:\n default:\n type: alicloud:opensearch:AppGroup\n properties:\n appGroupName: ${name}\n paymentType: PayAsYouGo\n type: standard\n quota:\n docSize: 1\n computeResource: 20\n spec: opensearch.share.common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOpen Search App Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:opensearch/appGroup:AppGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Open Search App Group resource.\n\nFor information about Open Search App Group and how to use it, see [What is App Group](https://www.aliyun.com/product/opensearch).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"name\";\nconst _default = new alicloud.opensearch.AppGroup(\"default\", {\n appGroupName: name,\n paymentType: \"PayAsYouGo\",\n type: \"standard\",\n quota: {\n docSize: 1,\n computeResource: 20,\n spec: \"opensearch.share.common\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"name\"\ndefault = alicloud.opensearch.AppGroup(\"default\",\n app_group_name=name,\n payment_type=\"PayAsYouGo\",\n type=\"standard\",\n quota={\n \"doc_size\": 1,\n \"compute_resource\": 20,\n \"spec\": \"opensearch.share.common\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"name\";\n var @default = new AliCloud.OpenSearch.AppGroup(\"default\", new()\n {\n AppGroupName = name,\n PaymentType = \"PayAsYouGo\",\n Type = \"standard\",\n Quota = new AliCloud.OpenSearch.Inputs.AppGroupQuotaArgs\n {\n DocSize = 1,\n ComputeResource = 20,\n Spec = \"opensearch.share.common\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := opensearch.NewAppGroup(ctx, \"default\", \u0026opensearch.AppGroupArgs{\n\t\t\tAppGroupName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tType: pulumi.String(\"standard\"),\n\t\t\tQuota: \u0026opensearch.AppGroupQuotaArgs{\n\t\t\t\tDocSize: pulumi.Int(1),\n\t\t\t\tComputeResource: pulumi.Int(20),\n\t\t\t\tSpec: pulumi.String(\"opensearch.share.common\"),\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.alicloud.opensearch.AppGroup;\nimport com.pulumi.alicloud.opensearch.AppGroupArgs;\nimport com.pulumi.alicloud.opensearch.inputs.AppGroupQuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"name\");\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .appGroupName(name)\n .paymentType(\"PayAsYouGo\")\n .type(\"standard\")\n .quota(AppGroupQuotaArgs.builder()\n .docSize(1)\n .computeResource(20)\n .spec(\"opensearch.share.common\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: name\nresources:\n default:\n type: alicloud:opensearch:AppGroup\n properties:\n appGroupName: ${name}\n paymentType: PayAsYouGo\n type: standard\n quota:\n docSize: 1\n computeResource: 20\n spec: opensearch.share.common\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOpen Search App Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:opensearch/appGroup:AppGroup example \u003cid\u003e\n```\n\n", "properties": { "appGroupName": { "type": "string", @@ -218553,7 +223598,7 @@ } }, "alicloud:oss/accessPoint:AccessPoint": { - "description": "Provides a OSS Access Point resource.\n\nYou can create multiple Access points for buckets and configure different Access control permissions and network control policies for different Access points.\n\nFor information about OSS Access Point and how to use it, see [What is Access Point](https://www.alibabacloud.com/help/en/oss/developer-reference/createaccesspoint).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {storageClass: \"Standard\"});\nconst _default = new alicloud.oss.AccessPoint(\"default\", {\n accessPointName: name,\n bucket: createBucket.bucket,\n vpcConfiguration: {\n vpcId: \"vpc-abcexample\",\n },\n networkOrigin: \"vpc\",\n publicAccessBlockConfiguration: {\n blockPublicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\", storage_class=\"Standard\")\ndefault = alicloud.oss.AccessPoint(\"default\",\n access_point_name=name,\n bucket=create_bucket.bucket,\n vpc_configuration={\n \"vpc_id\": \"vpc-abcexample\",\n },\n network_origin=\"vpc\",\n public_access_block_configuration={\n \"block_public_access\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n });\n\n var @default = new AliCloud.Oss.AccessPoint(\"default\", new()\n {\n AccessPointName = name,\n Bucket = createBucket.BucketName,\n VpcConfiguration = new AliCloud.Oss.Inputs.AccessPointVpcConfigurationArgs\n {\n VpcId = \"vpc-abcexample\",\n },\n NetworkOrigin = \"vpc\",\n PublicAccessBlockConfiguration = new AliCloud.Oss.Inputs.AccessPointPublicAccessBlockConfigurationArgs\n {\n BlockPublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewAccessPoint(ctx, \"default\", \u0026oss.AccessPointArgs{\n\t\t\tAccessPointName: pulumi.String(name),\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tVpcConfiguration: \u0026oss.AccessPointVpcConfigurationArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-abcexample\"),\n\t\t\t},\n\t\t\tNetworkOrigin: pulumi.String(\"vpc\"),\n\t\t\tPublicAccessBlockConfiguration: \u0026oss.AccessPointPublicAccessBlockConfigurationArgs{\n\t\t\t\tBlockPublicAccess: 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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.AccessPoint;\nimport com.pulumi.alicloud.oss.AccessPointArgs;\nimport com.pulumi.alicloud.oss.inputs.AccessPointVpcConfigurationArgs;\nimport com.pulumi.alicloud.oss.inputs.AccessPointPublicAccessBlockConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .build());\n\n var default_ = new AccessPoint(\"default\", AccessPointArgs.builder()\n .accessPointName(name)\n .bucket(createBucket.bucket())\n .vpcConfiguration(AccessPointVpcConfigurationArgs.builder()\n .vpcId(\"vpc-abcexample\")\n .build())\n .networkOrigin(\"vpc\")\n .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder()\n .blockPublicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n default:\n type: alicloud:oss:AccessPoint\n properties:\n accessPointName: ${name}\n bucket: ${createBucket.bucket}\n vpcConfiguration:\n vpcId: vpc-abcexample\n networkOrigin: vpc\n publicAccessBlockConfiguration:\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/accessPoint:AccessPoint example \u003cbucket\u003e:\u003caccess_point_name\u003e\n```\n\n", + "description": "Provides a OSS Access Point resource.\n\nYou can create multiple Access points for buckets and configure different Access control permissions and network control policies for different Access points.\n\nFor information about OSS Access Point and how to use it, see [What is Access Point](https://www.alibabacloud.com/help/en/oss/developer-reference/createaccesspoint).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {storageClass: \"Standard\"});\nconst _default = new alicloud.oss.AccessPoint(\"default\", {\n accessPointName: name,\n bucket: createBucket.bucket,\n vpcConfiguration: {\n vpcId: \"vpc-abcexample\",\n },\n networkOrigin: \"vpc\",\n publicAccessBlockConfiguration: {\n blockPublicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\", storage_class=\"Standard\")\ndefault = alicloud.oss.AccessPoint(\"default\",\n access_point_name=name,\n bucket=create_bucket.bucket,\n vpc_configuration={\n \"vpc_id\": \"vpc-abcexample\",\n },\n network_origin=\"vpc\",\n public_access_block_configuration={\n \"block_public_access\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n });\n\n var @default = new AliCloud.Oss.AccessPoint(\"default\", new()\n {\n AccessPointName = name,\n Bucket = createBucket.BucketName,\n VpcConfiguration = new AliCloud.Oss.Inputs.AccessPointVpcConfigurationArgs\n {\n VpcId = \"vpc-abcexample\",\n },\n NetworkOrigin = \"vpc\",\n PublicAccessBlockConfiguration = new AliCloud.Oss.Inputs.AccessPointPublicAccessBlockConfigurationArgs\n {\n BlockPublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewAccessPoint(ctx, \"default\", \u0026oss.AccessPointArgs{\n\t\t\tAccessPointName: pulumi.String(name),\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tVpcConfiguration: \u0026oss.AccessPointVpcConfigurationArgs{\n\t\t\t\tVpcId: pulumi.String(\"vpc-abcexample\"),\n\t\t\t},\n\t\t\tNetworkOrigin: pulumi.String(\"vpc\"),\n\t\t\tPublicAccessBlockConfiguration: \u0026oss.AccessPointPublicAccessBlockConfigurationArgs{\n\t\t\t\tBlockPublicAccess: 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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.AccessPoint;\nimport com.pulumi.alicloud.oss.AccessPointArgs;\nimport com.pulumi.alicloud.oss.inputs.AccessPointVpcConfigurationArgs;\nimport com.pulumi.alicloud.oss.inputs.AccessPointPublicAccessBlockConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .build());\n\n var default_ = new AccessPoint(\"default\", AccessPointArgs.builder()\n .accessPointName(name)\n .bucket(createBucket.bucket())\n .vpcConfiguration(AccessPointVpcConfigurationArgs.builder()\n .vpcId(\"vpc-abcexample\")\n .build())\n .networkOrigin(\"vpc\")\n .publicAccessBlockConfiguration(AccessPointPublicAccessBlockConfigurationArgs.builder()\n .blockPublicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n default:\n type: alicloud:oss:AccessPoint\n properties:\n accessPointName: ${name}\n bucket: ${createBucket.bucket}\n vpcConfiguration:\n vpcId: vpc-abcexample\n networkOrigin: vpc\n publicAccessBlockConfiguration:\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Access Point can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/accessPoint:AccessPoint example \u003cbucket\u003e:\u003caccess_point_name\u003e\n```\n\n", "properties": { "accessPointName": { "type": "string", @@ -218653,7 +223698,7 @@ } }, "alicloud:oss/accountPublicAccessBlock:AccountPublicAccessBlock": { - "description": "Provides a OSS Account Public Access Block resource. Blocking public access at the account level.\n\nFor information about OSS Account Public Access Block and how to use it, see [What is Account Public Access Block](https://www.alibabacloud.com/help/en/oss/developer-reference/putpublicaccessblock).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.oss.AccountPublicAccessBlock(\"default\", {blockPublicAccess: true});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.oss.AccountPublicAccessBlock(\"default\", block_public_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Oss.AccountPublicAccessBlock(\"default\", new()\n {\n BlockPublicAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := oss.NewAccountPublicAccessBlock(ctx, \"default\", \u0026oss.AccountPublicAccessBlockArgs{\n\t\t\tBlockPublicAccess: 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.alicloud.oss.AccountPublicAccessBlock;\nimport com.pulumi.alicloud.oss.AccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AccountPublicAccessBlock(\"default\", AccountPublicAccessBlockArgs.builder()\n .blockPublicAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:oss:AccountPublicAccessBlock\n properties:\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Account Public Access Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/accountPublicAccessBlock:AccountPublicAccessBlock example \n```\n\n", + "description": "Provides a OSS Account Public Access Block resource. Blocking public access at the account level.\n\nFor information about OSS Account Public Access Block and how to use it, see [What is Account Public Access Block](https://www.alibabacloud.com/help/en/oss/developer-reference/putpublicaccessblock).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.oss.AccountPublicAccessBlock(\"default\", {blockPublicAccess: true});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.oss.AccountPublicAccessBlock(\"default\", block_public_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Oss.AccountPublicAccessBlock(\"default\", new()\n {\n BlockPublicAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := oss.NewAccountPublicAccessBlock(ctx, \"default\", \u0026oss.AccountPublicAccessBlockArgs{\n\t\t\tBlockPublicAccess: 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.alicloud.oss.AccountPublicAccessBlock;\nimport com.pulumi.alicloud.oss.AccountPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AccountPublicAccessBlock(\"default\", AccountPublicAccessBlockArgs.builder()\n .blockPublicAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:oss:AccountPublicAccessBlock\n properties:\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Account Public Access Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/accountPublicAccessBlock:AccountPublicAccessBlock example \n```\n\n", "properties": { "blockPublicAccess": { "type": "boolean", @@ -218684,7 +223729,7 @@ } }, "alicloud:oss/bucket:Bucket": { - "description": "Provides a resource to create a oss bucket and set its attribution.\n\n\u003e **NOTE:** The bucket namespace is shared by all users of the OSS system. Please set bucket name as unique as possible.\n\n\u003e **NOTE:** Available since v1.2.0.\n\n## Example Usage\n\nPrivate Bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_acl = new alicloud.oss.Bucket(\"bucket-acl\", {bucket: `example-value-${_default.result}`});\nconst bucket_aclBucketAcl = new alicloud.oss.BucketAcl(\"bucket-acl\", {\n bucket: bucket_acl.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_acl = alicloud.oss.Bucket(\"bucket-acl\", bucket=f\"example-value-{default['result']}\")\nbucket_acl_bucket_acl = alicloud.oss.BucketAcl(\"bucket-acl\",\n bucket=bucket_acl.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_acl = new AliCloud.Oss.Bucket(\"bucket-acl\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var bucket_aclBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-acl\", new()\n {\n Bucket = bucket_acl.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_acl, err := oss.NewBucket(ctx, \"bucket-acl\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-acl\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_acl.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_acl = new Bucket(\"bucket-acl\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var bucket_aclBucketAcl = new BucketAcl(\"bucket-aclBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_acl.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-acl:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n bucket-aclBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-acl\n properties:\n bucket: ${[\"bucket-acl\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nStatic Website\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_website = new alicloud.oss.Bucket(\"bucket-website\", {\n bucket: `example-value-${_default.result}`,\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_website = alicloud.oss.Bucket(\"bucket-website\",\n bucket=f\"example-value-{default['result']}\",\n website={\n \"index_document\": \"index.html\",\n \"error_document\": \"error.html\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_website = new AliCloud.Oss.Bucket(\"bucket-website\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n Website = new AliCloud.Oss.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-website\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tWebsite: \u0026oss.BucketWebsiteTypeArgs{\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_website = new Bucket(\"bucket-website\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-website:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n website:\n indexDocument: index.html\n errorDocument: error.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable Logging\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_target = new alicloud.oss.Bucket(\"bucket-target\", {bucket: `example-value-${_default.result}`});\nconst bucket_targetBucketAcl = new alicloud.oss.BucketAcl(\"bucket-target\", {\n bucket: bucket_target.bucket,\n acl: \"public-read\",\n});\nconst bucket_logging = new alicloud.oss.Bucket(\"bucket-logging\", {\n bucket: `example-logging-${_default.result}`,\n logging: {\n targetBucket: bucket_target.id,\n targetPrefix: \"log/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_target = alicloud.oss.Bucket(\"bucket-target\", bucket=f\"example-value-{default['result']}\")\nbucket_target_bucket_acl = alicloud.oss.BucketAcl(\"bucket-target\",\n bucket=bucket_target.bucket,\n acl=\"public-read\")\nbucket_logging = alicloud.oss.Bucket(\"bucket-logging\",\n bucket=f\"example-logging-{default['result']}\",\n logging={\n \"target_bucket\": bucket_target.id,\n \"target_prefix\": \"log/\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_target = new AliCloud.Oss.Bucket(\"bucket-target\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var bucket_targetBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-target\", new()\n {\n Bucket = bucket_target.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_logging = new AliCloud.Oss.Bucket(\"bucket-logging\", new()\n {\n BucketName = $\"example-logging-{@default.Result}\",\n Logging = new AliCloud.Oss.Inputs.BucketLoggingArgs\n {\n TargetBucket = bucket_target.Id,\n TargetPrefix = \"log/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_target, err := oss.NewBucket(ctx, \"bucket-target\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-target\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_target.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-logging\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-logging-%v\", _default.Result),\n\t\t\tLogging: \u0026oss.BucketLoggingTypeArgs{\n\t\t\t\tTargetBucket: bucket_target.ID(),\n\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_target = new Bucket(\"bucket-target\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var bucket_targetBucketAcl = new BucketAcl(\"bucket-targetBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_target.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_logging = new Bucket(\"bucket-logging\", BucketArgs.builder()\n .bucket(String.format(\"example-logging-%s\", default_.result()))\n .logging(BucketLoggingArgs.builder()\n .targetBucket(bucket_target.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-target:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n bucket-targetBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-target\n properties:\n bucket: ${[\"bucket-target\"].bucket}\n acl: public-read\n bucket-logging:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-logging-${default.result}\n logging:\n targetBucket: ${[\"bucket-target\"].id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReferer configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_referer = new alicloud.oss.Bucket(\"bucket-referer\", {\n bucket: `example-value-${_default.result}`,\n refererConfig: {\n allowEmpty: false,\n referers: [\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n ],\n },\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_referer.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_referer = alicloud.oss.Bucket(\"bucket-referer\",\n bucket=f\"example-value-{default['result']}\",\n referer_config={\n \"allow_empty\": False,\n \"referers\": [\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n ],\n })\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_referer.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_referer = new AliCloud.Oss.Bucket(\"bucket-referer\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n RefererConfig = new AliCloud.Oss.Inputs.BucketRefererConfigArgs\n {\n AllowEmpty = false,\n Referers = new[]\n {\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n },\n },\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_referer.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_referer, err := oss.NewBucket(ctx, \"bucket-referer\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRefererConfig: \u0026oss.BucketRefererConfigArgs{\n\t\t\t\tAllowEmpty: pulumi.Bool(false),\n\t\t\t\tReferers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http://www.aliyun.com\"),\n\t\t\t\t\tpulumi.String(\"https://www.aliyun.com\"),\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 = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_referer.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketRefererConfigArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_referer = new Bucket(\"bucket-referer\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .refererConfig(BucketRefererConfigArgs.builder()\n .allowEmpty(false)\n .referers( \n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\")\n .build())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_referer.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-referer:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n refererConfig:\n allowEmpty: false\n referers:\n - http://www.aliyun.com\n - https://www.aliyun.com\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-referer\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet lifecycle rule\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_lifecycle1 = new alicloud.oss.Bucket(\"bucket-lifecycle1\", {\n bucket: `example-lifecycle1-${_default.result}`,\n lifecycleRules: [\n {\n id: \"rule-days\",\n prefix: \"path1/\",\n enabled: true,\n expirations: [{\n days: 365,\n }],\n },\n {\n id: \"rule-date\",\n prefix: \"path2/\",\n enabled: true,\n expirations: [{\n date: \"2018-01-12\",\n }],\n },\n ],\n});\nconst bucket_lifecycle1BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle1\", {\n bucket: bucket_lifecycle1.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle2 = new alicloud.oss.Bucket(\"bucket-lifecycle2\", {\n bucket: `example-lifecycle2-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path3/\",\n enabled: true,\n transitions: [\n {\n days: 3,\n storageClass: \"IA\",\n },\n {\n days: 30,\n storageClass: \"Archive\",\n },\n ],\n }],\n});\nconst bucket_lifecycle2BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle2\", {\n bucket: bucket_lifecycle2.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle3 = new alicloud.oss.Bucket(\"bucket-lifecycle3\", {\n bucket: `example-lifecycle3-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path3/\",\n enabled: true,\n transitions: [\n {\n createdBeforeDate: \"2022-11-11\",\n storageClass: \"IA\",\n },\n {\n createdBeforeDate: \"2021-11-11\",\n storageClass: \"Archive\",\n },\n ],\n }],\n});\nconst bucket_lifecycle3BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle3\", {\n bucket: bucket_lifecycle3.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle4 = new alicloud.oss.Bucket(\"bucket-lifecycle4\", {\n bucket: `example-lifecycle4-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-abort-multipart-upload\",\n prefix: \"path3/\",\n enabled: true,\n abortMultipartUploads: [{\n days: 128,\n }],\n }],\n});\nconst bucket_lifecycle4BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle4\", {\n bucket: bucket_lifecycle4.bucket,\n acl: \"public-read\",\n});\nconst bucket_versioning_lifecycle = new alicloud.oss.Bucket(\"bucket-versioning-lifecycle\", {\n bucket: `example-lifecycle5-${_default.result}`,\n versioning: {\n status: \"Enabled\",\n },\n lifecycleRules: [{\n id: \"rule-versioning\",\n prefix: \"path1/\",\n enabled: true,\n expirations: [{\n expiredObjectDeleteMarker: true,\n }],\n noncurrentVersionExpirations: [{\n days: 240,\n }],\n noncurrentVersionTransitions: [\n {\n days: 180,\n storageClass: \"Archive\",\n },\n {\n days: 60,\n storageClass: \"IA\",\n },\n ],\n }],\n});\nconst bucket_versioning_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-versioning-lifecycle\", {\n bucket: bucket_versioning_lifecycle.bucket,\n acl: \"private\",\n});\nconst bucket_access_monitor_lifecycle = new alicloud.oss.Bucket(\"bucket-access-monitor-lifecycle\", {\n bucket: std.format({\n input: \"example-lifecycle6-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n accessMonitor: {\n status: \"Enabled\",\n },\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path/\",\n enabled: true,\n transitions: [{\n days: 30,\n storageClass: \"IA\",\n isAccessTime: true,\n returnToStdWhenVisit: true,\n }],\n }],\n});\nconst bucket_access_monitor_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-access-monitor-lifecycle\", {\n bucket: bucket_access_monitor_lifecycle.bucket,\n acl: \"private\",\n});\nconst bucket_tag_lifecycle = new alicloud.oss.Bucket(\"bucket-tag-lifecycle\", {\n bucket: std.format({\n input: \"example-lifecycle7-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path/\",\n enabled: true,\n transitions: [{\n createdBeforeDate: \"2022-11-11\",\n storageClass: \"IA\",\n }],\n }],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst bucket_tag_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-tag-lifecycle\", {\n bucket: bucket_tag_lifecycle.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_lifecycle1 = alicloud.oss.Bucket(\"bucket-lifecycle1\",\n bucket=f\"example-lifecycle1-{default['result']}\",\n lifecycle_rules=[\n {\n \"id\": \"rule-days\",\n \"prefix\": \"path1/\",\n \"enabled\": True,\n \"expirations\": [{\n \"days\": 365,\n }],\n },\n {\n \"id\": \"rule-date\",\n \"prefix\": \"path2/\",\n \"enabled\": True,\n \"expirations\": [{\n \"date\": \"2018-01-12\",\n }],\n },\n ])\nbucket_lifecycle1_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle1\",\n bucket=bucket_lifecycle1.bucket,\n acl=\"public-read\")\nbucket_lifecycle2 = alicloud.oss.Bucket(\"bucket-lifecycle2\",\n bucket=f\"example-lifecycle2-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"transitions\": [\n {\n \"days\": 3,\n \"storage_class\": \"IA\",\n },\n {\n \"days\": 30,\n \"storage_class\": \"Archive\",\n },\n ],\n }])\nbucket_lifecycle2_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle2\",\n bucket=bucket_lifecycle2.bucket,\n acl=\"public-read\")\nbucket_lifecycle3 = alicloud.oss.Bucket(\"bucket-lifecycle3\",\n bucket=f\"example-lifecycle3-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"transitions\": [\n {\n \"created_before_date\": \"2022-11-11\",\n \"storage_class\": \"IA\",\n },\n {\n \"created_before_date\": \"2021-11-11\",\n \"storage_class\": \"Archive\",\n },\n ],\n }])\nbucket_lifecycle3_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle3\",\n bucket=bucket_lifecycle3.bucket,\n acl=\"public-read\")\nbucket_lifecycle4 = alicloud.oss.Bucket(\"bucket-lifecycle4\",\n bucket=f\"example-lifecycle4-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-abort-multipart-upload\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"abort_multipart_uploads\": [{\n \"days\": 128,\n }],\n }])\nbucket_lifecycle4_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle4\",\n bucket=bucket_lifecycle4.bucket,\n acl=\"public-read\")\nbucket_versioning_lifecycle = alicloud.oss.Bucket(\"bucket-versioning-lifecycle\",\n bucket=f\"example-lifecycle5-{default['result']}\",\n versioning={\n \"status\": \"Enabled\",\n },\n lifecycle_rules=[{\n \"id\": \"rule-versioning\",\n \"prefix\": \"path1/\",\n \"enabled\": True,\n \"expirations\": [{\n \"expired_object_delete_marker\": True,\n }],\n \"noncurrent_version_expirations\": [{\n \"days\": 240,\n }],\n \"noncurrent_version_transitions\": [\n {\n \"days\": 180,\n \"storage_class\": \"Archive\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"IA\",\n },\n ],\n }])\nbucket_versioning_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-versioning-lifecycle\",\n bucket=bucket_versioning_lifecycle.bucket,\n acl=\"private\")\nbucket_access_monitor_lifecycle = alicloud.oss.Bucket(\"bucket-access-monitor-lifecycle\",\n bucket=std.format(input=\"example-lifecycle6-%s\",\n args=[default[\"result\"]]).result,\n access_monitor={\n \"status\": \"Enabled\",\n },\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path/\",\n \"enabled\": True,\n \"transitions\": [{\n \"days\": 30,\n \"storage_class\": \"IA\",\n \"is_access_time\": True,\n \"return_to_std_when_visit\": True,\n }],\n }])\nbucket_access_monitor_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-access-monitor-lifecycle\",\n bucket=bucket_access_monitor_lifecycle.bucket,\n acl=\"private\")\nbucket_tag_lifecycle = alicloud.oss.Bucket(\"bucket-tag-lifecycle\",\n bucket=std.format(input=\"example-lifecycle7-%s\",\n args=[default[\"result\"]]).result,\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path/\",\n \"enabled\": True,\n \"transitions\": [{\n \"created_before_date\": \"2022-11-11\",\n \"storage_class\": \"IA\",\n }],\n }],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nbucket_tag_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-tag-lifecycle\",\n bucket=bucket_tag_lifecycle.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_lifecycle1 = new AliCloud.Oss.Bucket(\"bucket-lifecycle1\", new()\n {\n BucketName = $\"example-lifecycle1-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days\",\n Prefix = \"path1/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 365,\n },\n },\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-date\",\n Prefix = \"path2/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2018-01-12\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle1BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle1\", new()\n {\n Bucket = bucket_lifecycle1.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle2 = new AliCloud.Oss.Bucket(\"bucket-lifecycle2\", new()\n {\n BucketName = $\"example-lifecycle2-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path3/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 3,\n StorageClass = \"IA\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"Archive\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle2BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle2\", new()\n {\n Bucket = bucket_lifecycle2.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle3 = new AliCloud.Oss.Bucket(\"bucket-lifecycle3\", new()\n {\n BucketName = $\"example-lifecycle3-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path3/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2022-11-11\",\n StorageClass = \"IA\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2021-11-11\",\n StorageClass = \"Archive\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle3BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle3\", new()\n {\n Bucket = bucket_lifecycle3.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle4 = new AliCloud.Oss.Bucket(\"bucket-lifecycle4\", new()\n {\n BucketName = $\"example-lifecycle4-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-abort-multipart-upload\",\n Prefix = \"path3/\",\n Enabled = true,\n AbortMultipartUploads = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleAbortMultipartUploadArgs\n {\n Days = 128,\n },\n },\n },\n },\n });\n\n var bucket_lifecycle4BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle4\", new()\n {\n Bucket = bucket_lifecycle4.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_versioning_lifecycle = new AliCloud.Oss.Bucket(\"bucket-versioning-lifecycle\", new()\n {\n BucketName = $\"example-lifecycle5-{@default.Result}\",\n Versioning = new AliCloud.Oss.Inputs.BucketVersioningArgs\n {\n Status = \"Enabled\",\n },\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-versioning\",\n Prefix = \"path1/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n ExpiredObjectDeleteMarker = true,\n },\n },\n NoncurrentVersionExpirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 240,\n },\n },\n NoncurrentVersionTransitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 180,\n StorageClass = \"Archive\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"IA\",\n },\n },\n },\n },\n });\n\n var bucket_versioning_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-versioning-lifecycle\", new()\n {\n Bucket = bucket_versioning_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n var bucket_access_monitor_lifecycle = new AliCloud.Oss.Bucket(\"bucket-access-monitor-lifecycle\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"example-lifecycle6-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccessMonitor = new AliCloud.Oss.Inputs.BucketAccessMonitorArgs\n {\n Status = \"Enabled\",\n },\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"IA\",\n IsAccessTime = true,\n ReturnToStdWhenVisit = true,\n },\n },\n },\n },\n });\n\n var bucket_access_monitor_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-access-monitor-lifecycle\", new()\n {\n Bucket = bucket_access_monitor_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n var bucket_tag_lifecycle = new AliCloud.Oss.Bucket(\"bucket-tag-lifecycle\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"example-lifecycle7-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2022-11-11\",\n StorageClass = \"IA\",\n },\n },\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var bucket_tag_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-tag-lifecycle\", new()\n {\n Bucket = bucket_tag_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle1, err := oss.NewBucket(ctx, \"bucket-lifecycle1\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle1-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-date\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path2/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDate: pulumi.String(\"2018-01-12\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle1\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle1.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle2, err := oss.NewBucket(ctx, \"bucket-lifecycle2\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle2-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(3),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle2\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle2.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle3, err := oss.NewBucket(ctx, \"bucket-lifecycle3\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle3-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2022-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2021-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle3\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle3.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle4, err := oss.NewBucket(ctx, \"bucket-lifecycle4\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle4-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-abort-multipart-upload\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAbortMultipartUploads: oss.BucketLifecycleRuleAbortMultipartUploadArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleAbortMultipartUploadArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(128),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle4\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle4.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_versioning_lifecycle, err := oss.NewBucket(ctx, \"bucket-versioning-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle5-%v\", _default.Result),\n\t\t\tVersioning: \u0026oss.BucketVersioningTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-versioning\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tExpiredObjectDeleteMarker: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpirations: oss.BucketLifecycleRuleNoncurrentVersionExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(240),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: oss.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(180),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-versioning-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_versioning_lifecycle.Bucket,\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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example-lifecycle6-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_access_monitor_lifecycle, err := oss.NewBucket(ctx, \"bucket-access-monitor-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat.Result),\n\t\t\tAccessMonitor: \u0026oss.BucketAccessMonitorTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t\tIsAccessTime: pulumi.Bool(true),\n\t\t\t\t\t\t\tReturnToStdWhenVisit: pulumi.Bool(true),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-access-monitor-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_access_monitor_lifecycle.Bucket,\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\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example-lifecycle7-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_tag_lifecycle, err := oss.NewBucket(ctx, \"bucket-tag-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat1.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2022-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\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.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-tag-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_tag_lifecycle.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketVersioningArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketAccessMonitorArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_lifecycle1 = new Bucket(\"bucket-lifecycle1\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle1-%s\", default_.result()))\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"rule-days\")\n .prefix(\"path1/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .days(365)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"rule-date\")\n .prefix(\"path2/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2018-01-12\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle1BucketAcl = new BucketAcl(\"bucket-lifecycle1BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle1.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle2 = new Bucket(\"bucket-lifecycle2\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle2-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path3/\")\n .enabled(true)\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(3)\n .storageClass(\"IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"Archive\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle2BucketAcl = new BucketAcl(\"bucket-lifecycle2BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle2.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle3 = new Bucket(\"bucket-lifecycle3\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle3-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path3/\")\n .enabled(true)\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2022-11-11\")\n .storageClass(\"IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2021-11-11\")\n .storageClass(\"Archive\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle3BucketAcl = new BucketAcl(\"bucket-lifecycle3BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle3.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle4 = new Bucket(\"bucket-lifecycle4\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle4-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-abort-multipart-upload\")\n .prefix(\"path3/\")\n .enabled(true)\n .abortMultipartUploads(BucketLifecycleRuleAbortMultipartUploadArgs.builder()\n .days(128)\n .build())\n .build())\n .build());\n\n var bucket_lifecycle4BucketAcl = new BucketAcl(\"bucket-lifecycle4BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle4.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_versioning_lifecycle = new Bucket(\"bucket-versioning-lifecycle\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle5-%s\", default_.result()))\n .versioning(BucketVersioningArgs.builder()\n .status(\"Enabled\")\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-versioning\")\n .prefix(\"path1/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .expiredObjectDeleteMarker(true)\n .build())\n .noncurrentVersionExpirations(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(240)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(180)\n .storageClass(\"Archive\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"IA\")\n .build())\n .build())\n .build());\n\n var bucket_versioning_lifecycleBucketAcl = new BucketAcl(\"bucket-versioning-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_versioning_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n var bucket_access_monitor_lifecycle = new Bucket(\"bucket-access-monitor-lifecycle\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"example-lifecycle6-%s\")\n .args(default_.result())\n .build()).result())\n .accessMonitor(BucketAccessMonitorArgs.builder()\n .status(\"Enabled\")\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path/\")\n .enabled(true)\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"IA\")\n .isAccessTime(true)\n .returnToStdWhenVisit(true)\n .build())\n .build())\n .build());\n\n var bucket_access_monitor_lifecycleBucketAcl = new BucketAcl(\"bucket-access-monitor-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_access_monitor_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n var bucket_tag_lifecycle = new Bucket(\"bucket-tag-lifecycle\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"example-lifecycle7-%s\")\n .args(default_.result())\n .build()).result())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path/\")\n .enabled(true)\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2022-11-11\")\n .storageClass(\"IA\")\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var bucket_tag_lifecycleBucketAcl = new BucketAcl(\"bucket-tag-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_tag_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-lifecycle1:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle1-${default.result}\n lifecycleRules:\n - id: rule-days\n prefix: path1/\n enabled: true\n expirations:\n - days: 365\n - id: rule-date\n prefix: path2/\n enabled: true\n expirations:\n - date: 2018-01-12\n bucket-lifecycle1BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle1\n properties:\n bucket: ${[\"bucket-lifecycle1\"].bucket}\n acl: public-read\n bucket-lifecycle2:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle2-${default.result}\n lifecycleRules:\n - id: rule-days-transition\n prefix: path3/\n enabled: true\n transitions:\n - days: '3'\n storageClass: IA\n - days: '30'\n storageClass: Archive\n bucket-lifecycle2BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle2\n properties:\n bucket: ${[\"bucket-lifecycle2\"].bucket}\n acl: public-read\n bucket-lifecycle3:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle3-${default.result}\n lifecycleRules:\n - id: rule-days-transition\n prefix: path3/\n enabled: true\n transitions:\n - createdBeforeDate: 2022-11-11\n storageClass: IA\n - createdBeforeDate: 2021-11-11\n storageClass: Archive\n bucket-lifecycle3BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle3\n properties:\n bucket: ${[\"bucket-lifecycle3\"].bucket}\n acl: public-read\n bucket-lifecycle4:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle4-${default.result}\n lifecycleRules:\n - id: rule-abort-multipart-upload\n prefix: path3/\n enabled: true\n abortMultipartUploads:\n - days: 128\n bucket-lifecycle4BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle4\n properties:\n bucket: ${[\"bucket-lifecycle4\"].bucket}\n acl: public-read\n bucket-versioning-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle5-${default.result}\n versioning:\n status: Enabled\n lifecycleRules:\n - id: rule-versioning\n prefix: path1/\n enabled: true\n expirations:\n - expiredObjectDeleteMarker: true\n noncurrentVersionExpirations:\n - days: 240\n noncurrentVersionTransitions:\n - days: 180\n storageClass: Archive\n - days: 60\n storageClass: IA\n bucket-versioning-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-versioning-lifecycle\n properties:\n bucket: ${[\"bucket-versioning-lifecycle\"].bucket}\n acl: private\n bucket-access-monitor-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: example-lifecycle6-%s\n args:\n - ${default.result}\n return: result\n accessMonitor:\n status: Enabled\n lifecycleRules:\n - id: rule-days-transition\n prefix: path/\n enabled: true\n transitions:\n - days: 30\n storageClass: IA\n isAccessTime: true\n returnToStdWhenVisit: true\n bucket-access-monitor-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-access-monitor-lifecycle\n properties:\n bucket: ${[\"bucket-access-monitor-lifecycle\"].bucket}\n acl: private\n bucket-tag-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: example-lifecycle7-%s\n args:\n - ${default.result}\n return: result\n lifecycleRules:\n - id: rule-days-transition\n prefix: path/\n enabled: true\n transitions:\n - createdBeforeDate: 2022-11-11\n storageClass: IA\n tags:\n Created: TF\n For: example\n bucket-tag-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-tag-lifecycle\n properties:\n bucket: ${[\"bucket-tag-lifecycle\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket policy \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_policy = new alicloud.oss.Bucket(\"bucket-policy\", {\n bucket: `example-policy-${_default.result}`,\n policy: ` {\\\\\"Statement\\\\\":\n [{\\\\\"Action\\\\\":\n [\\\\\"oss:PutObject\\\\\", \\\\\"oss:GetObject\\\\\", \\\\\"oss:DeleteBucket\\\\\"],\n \\\\\"Effect\\\\\":\\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\":\n [\\\\\"acs:oss:*:*:*\\\\\"]}],\n \\\\\"Version\\\\\":\\\\\"1\\\\\"}\n`,\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_policy.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_policy = alicloud.oss.Bucket(\"bucket-policy\",\n bucket=f\"example-policy-{default['result']}\",\n policy=\"\"\" {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n\"\"\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_policy.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_policy = new AliCloud.Oss.Bucket(\"bucket-policy\", new()\n {\n BucketName = $\"example-policy-{@default.Result}\",\n Policy = @\" {\\\"\"Statement\\\"\":\n [{\\\"\"Action\\\"\":\n [\\\"\"oss:PutObject\\\"\", \\\"\"oss:GetObject\\\"\", \\\"\"oss:DeleteBucket\\\"\"],\n \\\"\"Effect\\\"\":\\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\":\n [\\\"\"acs:oss:*:*:*\\\"\"]}],\n \\\"\"Version\\\"\":\\\"\"1\\\"\"}\n\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_policy.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_policy, err := oss.NewBucket(ctx, \"bucket-policy\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-policy-%v\", _default.Result),\n\t\t\tPolicy: pulumi.String(` {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_policy.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_policy = new Bucket(\"bucket-policy\", BucketArgs.builder()\n .bucket(String.format(\"example-policy-%s\", default_.result()))\n .policy(\"\"\"\n {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n \"\"\")\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_policy.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-policy:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-policy-${default.result}\n policy: |2\n {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-policy\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIA Bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {\n bucket: `example-${_default.result}`,\n storageClass: \"IA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\",\n bucket=f\"example-{default['result']}\",\n storage_class=\"IA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"example-{@default.Result}\",\n StorageClass = \"IA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-%v\", _default.Result),\n\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-%s\", default_.result()))\n .storageClass(\"IA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: example-${default.result}\n storageClass: IA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket server-side encryption rule \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_sserule = new alicloud.oss.Bucket(\"bucket-sserule\", {\n bucket: `terraform-example-${_default.result}`,\n serverSideEncryptionRule: {\n sseAlgorithm: \"AES256\",\n },\n});\nconst bucket_sseruleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-sserule\", {\n bucket: bucket_sserule.bucket,\n acl: \"private\",\n});\nconst kms = new alicloud.kms.Key(\"kms\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst bucket_kms = new alicloud.oss.Bucket(\"bucket-kms\", {\n bucket: `terraform-example-kms-${_default.result}`,\n serverSideEncryptionRule: {\n sseAlgorithm: \"KMS\",\n kmsMasterKeyId: kms.id,\n },\n});\nconst bucket_kmsBucketAcl = new alicloud.oss.BucketAcl(\"bucket-kms\", {\n bucket: bucket_kms.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_sserule = alicloud.oss.Bucket(\"bucket-sserule\",\n bucket=f\"terraform-example-{default['result']}\",\n server_side_encryption_rule={\n \"sse_algorithm\": \"AES256\",\n })\nbucket_sserule_bucket_acl = alicloud.oss.BucketAcl(\"bucket-sserule\",\n bucket=bucket_sserule.bucket,\n acl=\"private\")\nkms = alicloud.kms.Key(\"kms\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\")\nbucket_kms = alicloud.oss.Bucket(\"bucket-kms\",\n bucket=f\"terraform-example-kms-{default['result']}\",\n server_side_encryption_rule={\n \"sse_algorithm\": \"KMS\",\n \"kms_master_key_id\": kms.id,\n })\nbucket_kms_bucket_acl = alicloud.oss.BucketAcl(\"bucket-kms\",\n bucket=bucket_kms.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_sserule = new AliCloud.Oss.Bucket(\"bucket-sserule\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n ServerSideEncryptionRule = new AliCloud.Oss.Inputs.BucketServerSideEncryptionRuleArgs\n {\n SseAlgorithm = \"AES256\",\n },\n });\n\n var bucket_sseruleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-sserule\", new()\n {\n Bucket = bucket_sserule.BucketName,\n Acl = \"private\",\n });\n\n var kms = new AliCloud.Kms.Key(\"kms\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var bucket_kms = new AliCloud.Oss.Bucket(\"bucket-kms\", new()\n {\n BucketName = $\"terraform-example-kms-{@default.Result}\",\n ServerSideEncryptionRule = new AliCloud.Oss.Inputs.BucketServerSideEncryptionRuleArgs\n {\n SseAlgorithm = \"KMS\",\n KmsMasterKeyId = kms.Id,\n },\n });\n\n var bucket_kmsBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-kms\", new()\n {\n Bucket = bucket_kms.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_sserule, err := oss.NewBucket(ctx, \"bucket-sserule\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tServerSideEncryptionRule: \u0026oss.BucketServerSideEncryptionRuleArgs{\n\t\t\t\tSseAlgorithm: pulumi.String(\"AES256\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-sserule\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_sserule.Bucket,\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\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\tbucket_kms, err := oss.NewBucket(ctx, \"bucket-kms\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-kms-%v\", _default.Result),\n\t\t\tServerSideEncryptionRule: \u0026oss.BucketServerSideEncryptionRuleArgs{\n\t\t\t\tSseAlgorithm: pulumi.String(\"KMS\"),\n\t\t\t\tKmsMasterKeyId: kms.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 = oss.NewBucketAcl(ctx, \"bucket-kms\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_kms.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketServerSideEncryptionRuleArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_sserule = new Bucket(\"bucket-sserule\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .serverSideEncryptionRule(BucketServerSideEncryptionRuleArgs.builder()\n .sseAlgorithm(\"AES256\")\n .build())\n .build());\n\n var bucket_sseruleBucketAcl = new BucketAcl(\"bucket-sseruleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_sserule.bucket())\n .acl(\"private\")\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var bucket_kms = new Bucket(\"bucket-kms\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-kms-%s\", default_.result()))\n .serverSideEncryptionRule(BucketServerSideEncryptionRuleArgs.builder()\n .sseAlgorithm(\"KMS\")\n .kmsMasterKeyId(kms.id())\n .build())\n .build());\n\n var bucket_kmsBucketAcl = new BucketAcl(\"bucket-kmsBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_kms.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-sserule:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n serverSideEncryptionRule:\n sseAlgorithm: AES256\n bucket-sseruleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-sserule\n properties:\n bucket: ${[\"bucket-sserule\"].bucket}\n acl: private\n kms:\n type: alicloud:kms:Key\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n bucket-kms:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-kms-${default.result}\n serverSideEncryptionRule:\n sseAlgorithm: KMS\n kmsMasterKeyId: ${kms.id}\n bucket-kmsBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-kms\n properties:\n bucket: ${[\"bucket-kms\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket tags \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_tags = new alicloud.oss.Bucket(\"bucket-tags\", {\n bucket: `terraform-example-${_default.result}`,\n tags: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\nconst bucket_tagsBucketAcl = new alicloud.oss.BucketAcl(\"bucket-tags\", {\n bucket: bucket_tags.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_tags = alicloud.oss.Bucket(\"bucket-tags\",\n bucket=f\"terraform-example-{default['result']}\",\n tags={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\nbucket_tags_bucket_acl = alicloud.oss.BucketAcl(\"bucket-tags\",\n bucket=bucket_tags.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_tags = new AliCloud.Oss.Bucket(\"bucket-tags\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n Tags = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n var bucket_tagsBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-tags\", new()\n {\n Bucket = bucket_tags.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_tags, err := oss.NewBucket(ctx, \"bucket-tags\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-tags\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_tags.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_tags = new Bucket(\"bucket-tags\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n var bucket_tagsBucketAcl = new BucketAcl(\"bucket-tagsBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_tags.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-tags:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n tags:\n key1: value1\n key2: value2\n bucket-tagsBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-tags\n properties:\n bucket: ${[\"bucket-tags\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable bucket versioning \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_versioning = new alicloud.oss.Bucket(\"bucket-versioning\", {\n bucket: `terraform-example-${_default.result}`,\n versioning: {\n status: \"Enabled\",\n },\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_versioning.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_versioning = alicloud.oss.Bucket(\"bucket-versioning\",\n bucket=f\"terraform-example-{default['result']}\",\n versioning={\n \"status\": \"Enabled\",\n })\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_versioning.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_versioning = new AliCloud.Oss.Bucket(\"bucket-versioning\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n Versioning = new AliCloud.Oss.Inputs.BucketVersioningArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_versioning.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_versioning, err := oss.NewBucket(ctx, \"bucket-versioning\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tVersioning: \u0026oss.BucketVersioningTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_versioning.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketVersioningArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_versioning = new Bucket(\"bucket-versioning\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .versioning(BucketVersioningArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_versioning.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-versioning:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n versioning:\n status: Enabled\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-versioning\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket redundancy type\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_redundancytype = new alicloud.oss.Bucket(\"bucket-redundancytype\", {\n bucket: `terraform-example-${_default.result}`,\n redundancyType: \"ZRS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_redundancytype = alicloud.oss.Bucket(\"bucket-redundancytype\",\n bucket=f\"terraform-example-{default['result']}\",\n redundancy_type=\"ZRS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_redundancytype = new AliCloud.Oss.Bucket(\"bucket-redundancytype\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n RedundancyType = \"ZRS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-redundancytype\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tRedundancyType: pulumi.String(\"ZRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_redundancytype = new Bucket(\"bucket-redundancytype\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .redundancyType(\"ZRS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-redundancytype:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n redundancyType: ZRS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket accelerate configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_accelerate = new alicloud.oss.Bucket(\"bucket-accelerate\", {\n bucket: `terraform-example-${_default.result}`,\n transferAcceleration: {\n enabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_accelerate = alicloud.oss.Bucket(\"bucket-accelerate\",\n bucket=f\"terraform-example-{default['result']}\",\n transfer_acceleration={\n \"enabled\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_accelerate = new AliCloud.Oss.Bucket(\"bucket-accelerate\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n TransferAcceleration = new AliCloud.Oss.Inputs.BucketTransferAccelerationArgs\n {\n Enabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-accelerate\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tTransferAcceleration: \u0026oss.BucketTransferAccelerationTypeArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketTransferAccelerationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_accelerate = new Bucket(\"bucket-accelerate\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .transferAcceleration(BucketTransferAccelerationArgs.builder()\n .enabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-accelerate:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n transferAcceleration:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket resource group id\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst bucket_accelerate = new alicloud.oss.Bucket(\"bucket-accelerate\", {\n bucket: `terraform-example-${defaultInteger.result}`,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\nbucket_accelerate = alicloud.oss.Bucket(\"bucket-accelerate\",\n bucket=f\"terraform-example-{default_integer['result']}\",\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var bucket_accelerate = new AliCloud.Oss.Bucket(\"bucket-accelerate\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-accelerate\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n var bucket_accelerate = new Bucket(\"bucket-accelerate\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n bucket-accelerate:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${defaultInteger.result}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS bucket can be imported using the bucket name, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucket:Bucket bucket bucket-12345678\n```\n\n", + "description": "Provides a resource to create a oss bucket and set its attribution.\n\n\u003e **NOTE:** The bucket namespace is shared by all users of the OSS system. Please set bucket name as unique as possible.\n\n\u003e **NOTE:** Available since v1.2.0.\n\n## Example Usage\n\nPrivate Bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_acl = new alicloud.oss.Bucket(\"bucket-acl\", {bucket: `example-value-${_default.result}`});\nconst bucket_aclBucketAcl = new alicloud.oss.BucketAcl(\"bucket-acl\", {\n bucket: bucket_acl.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_acl = alicloud.oss.Bucket(\"bucket-acl\", bucket=f\"example-value-{default['result']}\")\nbucket_acl_bucket_acl = alicloud.oss.BucketAcl(\"bucket-acl\",\n bucket=bucket_acl.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_acl = new AliCloud.Oss.Bucket(\"bucket-acl\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var bucket_aclBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-acl\", new()\n {\n Bucket = bucket_acl.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_acl, err := oss.NewBucket(ctx, \"bucket-acl\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-acl\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_acl.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_acl = new Bucket(\"bucket-acl\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var bucket_aclBucketAcl = new BucketAcl(\"bucket-aclBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_acl.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-acl:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n bucket-aclBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-acl\n properties:\n bucket: ${[\"bucket-acl\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nStatic Website\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_website = new alicloud.oss.Bucket(\"bucket-website\", {\n bucket: `example-value-${_default.result}`,\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_website = alicloud.oss.Bucket(\"bucket-website\",\n bucket=f\"example-value-{default['result']}\",\n website={\n \"index_document\": \"index.html\",\n \"error_document\": \"error.html\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_website = new AliCloud.Oss.Bucket(\"bucket-website\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n Website = new AliCloud.Oss.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-website\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tWebsite: \u0026oss.BucketWebsiteTypeArgs{\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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_website = new Bucket(\"bucket-website\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-website:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n website:\n indexDocument: index.html\n errorDocument: error.html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable Logging\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_target = new alicloud.oss.Bucket(\"bucket-target\", {bucket: `example-value-${_default.result}`});\nconst bucket_targetBucketAcl = new alicloud.oss.BucketAcl(\"bucket-target\", {\n bucket: bucket_target.bucket,\n acl: \"public-read\",\n});\nconst bucket_logging = new alicloud.oss.Bucket(\"bucket-logging\", {\n bucket: `example-logging-${_default.result}`,\n logging: {\n targetBucket: bucket_target.id,\n targetPrefix: \"log/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_target = alicloud.oss.Bucket(\"bucket-target\", bucket=f\"example-value-{default['result']}\")\nbucket_target_bucket_acl = alicloud.oss.BucketAcl(\"bucket-target\",\n bucket=bucket_target.bucket,\n acl=\"public-read\")\nbucket_logging = alicloud.oss.Bucket(\"bucket-logging\",\n bucket=f\"example-logging-{default['result']}\",\n logging={\n \"target_bucket\": bucket_target.id,\n \"target_prefix\": \"log/\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_target = new AliCloud.Oss.Bucket(\"bucket-target\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n });\n\n var bucket_targetBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-target\", new()\n {\n Bucket = bucket_target.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_logging = new AliCloud.Oss.Bucket(\"bucket-logging\", new()\n {\n BucketName = $\"example-logging-{@default.Result}\",\n Logging = new AliCloud.Oss.Inputs.BucketLoggingArgs\n {\n TargetBucket = bucket_target.Id,\n TargetPrefix = \"log/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_target, err := oss.NewBucket(ctx, \"bucket-target\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-target\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_target.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-logging\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-logging-%v\", _default.Result),\n\t\t\tLogging: \u0026oss.BucketLoggingTypeArgs{\n\t\t\t\tTargetBucket: bucket_target.ID(),\n\t\t\t\tTargetPrefix: pulumi.String(\"log/\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_target = new Bucket(\"bucket-target\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .build());\n\n var bucket_targetBucketAcl = new BucketAcl(\"bucket-targetBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_target.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_logging = new Bucket(\"bucket-logging\", BucketArgs.builder()\n .bucket(String.format(\"example-logging-%s\", default_.result()))\n .logging(BucketLoggingArgs.builder()\n .targetBucket(bucket_target.id())\n .targetPrefix(\"log/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-target:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n bucket-targetBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-target\n properties:\n bucket: ${[\"bucket-target\"].bucket}\n acl: public-read\n bucket-logging:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-logging-${default.result}\n logging:\n targetBucket: ${[\"bucket-target\"].id}\n targetPrefix: log/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReferer configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_referer = new alicloud.oss.Bucket(\"bucket-referer\", {\n bucket: `example-value-${_default.result}`,\n refererConfig: {\n allowEmpty: false,\n referers: [\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n ],\n },\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_referer.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_referer = alicloud.oss.Bucket(\"bucket-referer\",\n bucket=f\"example-value-{default['result']}\",\n referer_config={\n \"allow_empty\": False,\n \"referers\": [\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n ],\n })\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_referer.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_referer = new AliCloud.Oss.Bucket(\"bucket-referer\", new()\n {\n BucketName = $\"example-value-{@default.Result}\",\n RefererConfig = new AliCloud.Oss.Inputs.BucketRefererConfigArgs\n {\n AllowEmpty = false,\n Referers = new[]\n {\n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\",\n },\n },\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_referer.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_referer, err := oss.NewBucket(ctx, \"bucket-referer\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-value-%v\", _default.Result),\n\t\t\tRefererConfig: \u0026oss.BucketRefererConfigArgs{\n\t\t\t\tAllowEmpty: pulumi.Bool(false),\n\t\t\t\tReferers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http://www.aliyun.com\"),\n\t\t\t\t\tpulumi.String(\"https://www.aliyun.com\"),\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 = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_referer.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketRefererConfigArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_referer = new Bucket(\"bucket-referer\", BucketArgs.builder()\n .bucket(String.format(\"example-value-%s\", default_.result()))\n .refererConfig(BucketRefererConfigArgs.builder()\n .allowEmpty(false)\n .referers( \n \"http://www.aliyun.com\",\n \"https://www.aliyun.com\")\n .build())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_referer.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-referer:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-value-${default.result}\n refererConfig:\n allowEmpty: false\n referers:\n - http://www.aliyun.com\n - https://www.aliyun.com\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-referer\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet lifecycle rule\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_lifecycle1 = new alicloud.oss.Bucket(\"bucket-lifecycle1\", {\n bucket: `example-lifecycle1-${_default.result}`,\n lifecycleRules: [\n {\n id: \"rule-days\",\n prefix: \"path1/\",\n enabled: true,\n expirations: [{\n days: 365,\n }],\n },\n {\n id: \"rule-date\",\n prefix: \"path2/\",\n enabled: true,\n expirations: [{\n date: \"2018-01-12\",\n }],\n },\n ],\n});\nconst bucket_lifecycle1BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle1\", {\n bucket: bucket_lifecycle1.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle2 = new alicloud.oss.Bucket(\"bucket-lifecycle2\", {\n bucket: `example-lifecycle2-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path3/\",\n enabled: true,\n transitions: [\n {\n days: 3,\n storageClass: \"IA\",\n },\n {\n days: 30,\n storageClass: \"Archive\",\n },\n ],\n }],\n});\nconst bucket_lifecycle2BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle2\", {\n bucket: bucket_lifecycle2.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle3 = new alicloud.oss.Bucket(\"bucket-lifecycle3\", {\n bucket: `example-lifecycle3-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path3/\",\n enabled: true,\n transitions: [\n {\n createdBeforeDate: \"2022-11-11\",\n storageClass: \"IA\",\n },\n {\n createdBeforeDate: \"2021-11-11\",\n storageClass: \"Archive\",\n },\n ],\n }],\n});\nconst bucket_lifecycle3BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle3\", {\n bucket: bucket_lifecycle3.bucket,\n acl: \"public-read\",\n});\nconst bucket_lifecycle4 = new alicloud.oss.Bucket(\"bucket-lifecycle4\", {\n bucket: `example-lifecycle4-${_default.result}`,\n lifecycleRules: [{\n id: \"rule-abort-multipart-upload\",\n prefix: \"path3/\",\n enabled: true,\n abortMultipartUploads: [{\n days: 128,\n }],\n }],\n});\nconst bucket_lifecycle4BucketAcl = new alicloud.oss.BucketAcl(\"bucket-lifecycle4\", {\n bucket: bucket_lifecycle4.bucket,\n acl: \"public-read\",\n});\nconst bucket_versioning_lifecycle = new alicloud.oss.Bucket(\"bucket-versioning-lifecycle\", {\n bucket: `example-lifecycle5-${_default.result}`,\n versioning: {\n status: \"Enabled\",\n },\n lifecycleRules: [{\n id: \"rule-versioning\",\n prefix: \"path1/\",\n enabled: true,\n expirations: [{\n expiredObjectDeleteMarker: true,\n }],\n noncurrentVersionExpirations: [{\n days: 240,\n }],\n noncurrentVersionTransitions: [\n {\n days: 180,\n storageClass: \"Archive\",\n },\n {\n days: 60,\n storageClass: \"IA\",\n },\n ],\n }],\n});\nconst bucket_versioning_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-versioning-lifecycle\", {\n bucket: bucket_versioning_lifecycle.bucket,\n acl: \"private\",\n});\nconst bucket_access_monitor_lifecycle = new alicloud.oss.Bucket(\"bucket-access-monitor-lifecycle\", {\n bucket: std.format({\n input: \"example-lifecycle6-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n accessMonitor: {\n status: \"Enabled\",\n },\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path/\",\n enabled: true,\n transitions: [{\n days: 30,\n storageClass: \"IA\",\n isAccessTime: true,\n returnToStdWhenVisit: true,\n }],\n }],\n});\nconst bucket_access_monitor_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-access-monitor-lifecycle\", {\n bucket: bucket_access_monitor_lifecycle.bucket,\n acl: \"private\",\n});\nconst bucket_tag_lifecycle = new alicloud.oss.Bucket(\"bucket-tag-lifecycle\", {\n bucket: std.format({\n input: \"example-lifecycle7-%s\",\n args: [_default.result],\n }).then(invoke =\u003e invoke.result),\n lifecycleRules: [{\n id: \"rule-days-transition\",\n prefix: \"path/\",\n enabled: true,\n transitions: [{\n createdBeforeDate: \"2022-11-11\",\n storageClass: \"IA\",\n }],\n }],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst bucket_tag_lifecycleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-tag-lifecycle\", {\n bucket: bucket_tag_lifecycle.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_lifecycle1 = alicloud.oss.Bucket(\"bucket-lifecycle1\",\n bucket=f\"example-lifecycle1-{default['result']}\",\n lifecycle_rules=[\n {\n \"id\": \"rule-days\",\n \"prefix\": \"path1/\",\n \"enabled\": True,\n \"expirations\": [{\n \"days\": 365,\n }],\n },\n {\n \"id\": \"rule-date\",\n \"prefix\": \"path2/\",\n \"enabled\": True,\n \"expirations\": [{\n \"date\": \"2018-01-12\",\n }],\n },\n ])\nbucket_lifecycle1_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle1\",\n bucket=bucket_lifecycle1.bucket,\n acl=\"public-read\")\nbucket_lifecycle2 = alicloud.oss.Bucket(\"bucket-lifecycle2\",\n bucket=f\"example-lifecycle2-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"transitions\": [\n {\n \"days\": 3,\n \"storage_class\": \"IA\",\n },\n {\n \"days\": 30,\n \"storage_class\": \"Archive\",\n },\n ],\n }])\nbucket_lifecycle2_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle2\",\n bucket=bucket_lifecycle2.bucket,\n acl=\"public-read\")\nbucket_lifecycle3 = alicloud.oss.Bucket(\"bucket-lifecycle3\",\n bucket=f\"example-lifecycle3-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"transitions\": [\n {\n \"created_before_date\": \"2022-11-11\",\n \"storage_class\": \"IA\",\n },\n {\n \"created_before_date\": \"2021-11-11\",\n \"storage_class\": \"Archive\",\n },\n ],\n }])\nbucket_lifecycle3_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle3\",\n bucket=bucket_lifecycle3.bucket,\n acl=\"public-read\")\nbucket_lifecycle4 = alicloud.oss.Bucket(\"bucket-lifecycle4\",\n bucket=f\"example-lifecycle4-{default['result']}\",\n lifecycle_rules=[{\n \"id\": \"rule-abort-multipart-upload\",\n \"prefix\": \"path3/\",\n \"enabled\": True,\n \"abort_multipart_uploads\": [{\n \"days\": 128,\n }],\n }])\nbucket_lifecycle4_bucket_acl = alicloud.oss.BucketAcl(\"bucket-lifecycle4\",\n bucket=bucket_lifecycle4.bucket,\n acl=\"public-read\")\nbucket_versioning_lifecycle = alicloud.oss.Bucket(\"bucket-versioning-lifecycle\",\n bucket=f\"example-lifecycle5-{default['result']}\",\n versioning={\n \"status\": \"Enabled\",\n },\n lifecycle_rules=[{\n \"id\": \"rule-versioning\",\n \"prefix\": \"path1/\",\n \"enabled\": True,\n \"expirations\": [{\n \"expired_object_delete_marker\": True,\n }],\n \"noncurrent_version_expirations\": [{\n \"days\": 240,\n }],\n \"noncurrent_version_transitions\": [\n {\n \"days\": 180,\n \"storage_class\": \"Archive\",\n },\n {\n \"days\": 60,\n \"storage_class\": \"IA\",\n },\n ],\n }])\nbucket_versioning_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-versioning-lifecycle\",\n bucket=bucket_versioning_lifecycle.bucket,\n acl=\"private\")\nbucket_access_monitor_lifecycle = alicloud.oss.Bucket(\"bucket-access-monitor-lifecycle\",\n bucket=std.format(input=\"example-lifecycle6-%s\",\n args=[default[\"result\"]]).result,\n access_monitor={\n \"status\": \"Enabled\",\n },\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path/\",\n \"enabled\": True,\n \"transitions\": [{\n \"days\": 30,\n \"storage_class\": \"IA\",\n \"is_access_time\": True,\n \"return_to_std_when_visit\": True,\n }],\n }])\nbucket_access_monitor_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-access-monitor-lifecycle\",\n bucket=bucket_access_monitor_lifecycle.bucket,\n acl=\"private\")\nbucket_tag_lifecycle = alicloud.oss.Bucket(\"bucket-tag-lifecycle\",\n bucket=std.format(input=\"example-lifecycle7-%s\",\n args=[default[\"result\"]]).result,\n lifecycle_rules=[{\n \"id\": \"rule-days-transition\",\n \"prefix\": \"path/\",\n \"enabled\": True,\n \"transitions\": [{\n \"created_before_date\": \"2022-11-11\",\n \"storage_class\": \"IA\",\n }],\n }],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\nbucket_tag_lifecycle_bucket_acl = alicloud.oss.BucketAcl(\"bucket-tag-lifecycle\",\n bucket=bucket_tag_lifecycle.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_lifecycle1 = new AliCloud.Oss.Bucket(\"bucket-lifecycle1\", new()\n {\n BucketName = $\"example-lifecycle1-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days\",\n Prefix = \"path1/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 365,\n },\n },\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-date\",\n Prefix = \"path2/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Date = \"2018-01-12\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle1BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle1\", new()\n {\n Bucket = bucket_lifecycle1.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle2 = new AliCloud.Oss.Bucket(\"bucket-lifecycle2\", new()\n {\n BucketName = $\"example-lifecycle2-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path3/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 3,\n StorageClass = \"IA\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"Archive\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle2BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle2\", new()\n {\n Bucket = bucket_lifecycle2.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle3 = new AliCloud.Oss.Bucket(\"bucket-lifecycle3\", new()\n {\n BucketName = $\"example-lifecycle3-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path3/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2022-11-11\",\n StorageClass = \"IA\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2021-11-11\",\n StorageClass = \"Archive\",\n },\n },\n },\n },\n });\n\n var bucket_lifecycle3BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle3\", new()\n {\n Bucket = bucket_lifecycle3.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_lifecycle4 = new AliCloud.Oss.Bucket(\"bucket-lifecycle4\", new()\n {\n BucketName = $\"example-lifecycle4-{@default.Result}\",\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-abort-multipart-upload\",\n Prefix = \"path3/\",\n Enabled = true,\n AbortMultipartUploads = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleAbortMultipartUploadArgs\n {\n Days = 128,\n },\n },\n },\n },\n });\n\n var bucket_lifecycle4BucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-lifecycle4\", new()\n {\n Bucket = bucket_lifecycle4.BucketName,\n Acl = \"public-read\",\n });\n\n var bucket_versioning_lifecycle = new AliCloud.Oss.Bucket(\"bucket-versioning-lifecycle\", new()\n {\n BucketName = $\"example-lifecycle5-{@default.Result}\",\n Versioning = new AliCloud.Oss.Inputs.BucketVersioningArgs\n {\n Status = \"Enabled\",\n },\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-versioning\",\n Prefix = \"path1/\",\n Enabled = true,\n Expirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleExpirationArgs\n {\n ExpiredObjectDeleteMarker = true,\n },\n },\n NoncurrentVersionExpirations = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionExpirationArgs\n {\n Days = 240,\n },\n },\n NoncurrentVersionTransitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 180,\n StorageClass = \"Archive\",\n },\n new AliCloud.Oss.Inputs.BucketLifecycleRuleNoncurrentVersionTransitionArgs\n {\n Days = 60,\n StorageClass = \"IA\",\n },\n },\n },\n },\n });\n\n var bucket_versioning_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-versioning-lifecycle\", new()\n {\n Bucket = bucket_versioning_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n var bucket_access_monitor_lifecycle = new AliCloud.Oss.Bucket(\"bucket-access-monitor-lifecycle\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"example-lifecycle6-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n AccessMonitor = new AliCloud.Oss.Inputs.BucketAccessMonitorArgs\n {\n Status = \"Enabled\",\n },\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"IA\",\n IsAccessTime = true,\n ReturnToStdWhenVisit = true,\n },\n },\n },\n },\n });\n\n var bucket_access_monitor_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-access-monitor-lifecycle\", new()\n {\n Bucket = bucket_access_monitor_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n var bucket_tag_lifecycle = new AliCloud.Oss.Bucket(\"bucket-tag-lifecycle\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"example-lifecycle7-%s\",\n Args = new[]\n {\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n LifecycleRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleArgs\n {\n Id = \"rule-days-transition\",\n Prefix = \"path/\",\n Enabled = true,\n Transitions = new[]\n {\n new AliCloud.Oss.Inputs.BucketLifecycleRuleTransitionArgs\n {\n CreatedBeforeDate = \"2022-11-11\",\n StorageClass = \"IA\",\n },\n },\n },\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var bucket_tag_lifecycleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-tag-lifecycle\", new()\n {\n Bucket = bucket_tag_lifecycle.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle1, err := oss.NewBucket(ctx, \"bucket-lifecycle1\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle1-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(365),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-date\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path2/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tDate: pulumi.String(\"2018-01-12\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle1\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle1.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle2, err := oss.NewBucket(ctx, \"bucket-lifecycle2\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle2-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(3),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle2\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle2.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle3, err := oss.NewBucket(ctx, \"bucket-lifecycle3\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle3-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2022-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2021-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle3\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle3.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_lifecycle4, err := oss.NewBucket(ctx, \"bucket-lifecycle4\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle4-%v\", _default.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-abort-multipart-upload\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path3/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAbortMultipartUploads: oss.BucketLifecycleRuleAbortMultipartUploadArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleAbortMultipartUploadArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(128),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-lifecycle4\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_lifecycle4.Bucket,\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_versioning_lifecycle, err := oss.NewBucket(ctx, \"bucket-versioning-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-lifecycle5-%v\", _default.Result),\n\t\t\tVersioning: \u0026oss.BucketVersioningTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-versioning\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirations: oss.BucketLifecycleRuleExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\t\tExpiredObjectDeleteMarker: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpirations: oss.BucketLifecycleRuleNoncurrentVersionExpirationArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(240),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionTransitions: oss.BucketLifecycleRuleNoncurrentVersionTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(180),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"Archive\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleNoncurrentVersionTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(60),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-versioning-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_versioning_lifecycle.Bucket,\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\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example-lifecycle6-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_access_monitor_lifecycle, err := oss.NewBucket(ctx, \"bucket-access-monitor-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat.Result),\n\t\t\tAccessMonitor: \u0026oss.BucketAccessMonitorTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t\t\t\t\t\tIsAccessTime: pulumi.Bool(true),\n\t\t\t\t\t\t\tReturnToStdWhenVisit: pulumi.Bool(true),\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\t_, err = oss.NewBucketAcl(ctx, \"bucket-access-monitor-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_access_monitor_lifecycle.Bucket,\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\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"example-lifecycle7-%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_tag_lifecycle, err := oss.NewBucket(ctx, \"bucket-tag-lifecycle\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat1.Result),\n\t\t\tLifecycleRules: oss.BucketLifecycleRuleArray{\n\t\t\t\t\u0026oss.BucketLifecycleRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"rule-days-transition\"),\n\t\t\t\t\tPrefix: pulumi.String(\"path/\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tTransitions: oss.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026oss.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tCreatedBeforeDate: pulumi.String(\"2022-11-11\"),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"IA\"),\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.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-tag-lifecycle\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_tag_lifecycle.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketVersioningArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketAccessMonitorArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_lifecycle1 = new Bucket(\"bucket-lifecycle1\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle1-%s\", default_.result()))\n .lifecycleRules( \n BucketLifecycleRuleArgs.builder()\n .id(\"rule-days\")\n .prefix(\"path1/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .days(365)\n .build())\n .build(),\n BucketLifecycleRuleArgs.builder()\n .id(\"rule-date\")\n .prefix(\"path2/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .date(\"2018-01-12\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle1BucketAcl = new BucketAcl(\"bucket-lifecycle1BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle1.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle2 = new Bucket(\"bucket-lifecycle2\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle2-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path3/\")\n .enabled(true)\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .days(3)\n .storageClass(\"IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"Archive\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle2BucketAcl = new BucketAcl(\"bucket-lifecycle2BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle2.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle3 = new Bucket(\"bucket-lifecycle3\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle3-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path3/\")\n .enabled(true)\n .transitions( \n BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2022-11-11\")\n .storageClass(\"IA\")\n .build(),\n BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2021-11-11\")\n .storageClass(\"Archive\")\n .build())\n .build())\n .build());\n\n var bucket_lifecycle3BucketAcl = new BucketAcl(\"bucket-lifecycle3BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle3.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_lifecycle4 = new Bucket(\"bucket-lifecycle4\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle4-%s\", default_.result()))\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-abort-multipart-upload\")\n .prefix(\"path3/\")\n .enabled(true)\n .abortMultipartUploads(BucketLifecycleRuleAbortMultipartUploadArgs.builder()\n .days(128)\n .build())\n .build())\n .build());\n\n var bucket_lifecycle4BucketAcl = new BucketAcl(\"bucket-lifecycle4BucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_lifecycle4.bucket())\n .acl(\"public-read\")\n .build());\n\n var bucket_versioning_lifecycle = new Bucket(\"bucket-versioning-lifecycle\", BucketArgs.builder()\n .bucket(String.format(\"example-lifecycle5-%s\", default_.result()))\n .versioning(BucketVersioningArgs.builder()\n .status(\"Enabled\")\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-versioning\")\n .prefix(\"path1/\")\n .enabled(true)\n .expirations(BucketLifecycleRuleExpirationArgs.builder()\n .expiredObjectDeleteMarker(true)\n .build())\n .noncurrentVersionExpirations(BucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()\n .days(240)\n .build())\n .noncurrentVersionTransitions( \n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(180)\n .storageClass(\"Archive\")\n .build(),\n BucketLifecycleRuleNoncurrentVersionTransitionArgs.builder()\n .days(60)\n .storageClass(\"IA\")\n .build())\n .build())\n .build());\n\n var bucket_versioning_lifecycleBucketAcl = new BucketAcl(\"bucket-versioning-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_versioning_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n var bucket_access_monitor_lifecycle = new Bucket(\"bucket-access-monitor-lifecycle\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"example-lifecycle6-%s\")\n .args(default_.result())\n .build()).result())\n .accessMonitor(BucketAccessMonitorArgs.builder()\n .status(\"Enabled\")\n .build())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path/\")\n .enabled(true)\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"IA\")\n .isAccessTime(true)\n .returnToStdWhenVisit(true)\n .build())\n .build())\n .build());\n\n var bucket_access_monitor_lifecycleBucketAcl = new BucketAcl(\"bucket-access-monitor-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_access_monitor_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n var bucket_tag_lifecycle = new Bucket(\"bucket-tag-lifecycle\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"example-lifecycle7-%s\")\n .args(default_.result())\n .build()).result())\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .id(\"rule-days-transition\")\n .prefix(\"path/\")\n .enabled(true)\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .createdBeforeDate(\"2022-11-11\")\n .storageClass(\"IA\")\n .build())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var bucket_tag_lifecycleBucketAcl = new BucketAcl(\"bucket-tag-lifecycleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_tag_lifecycle.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-lifecycle1:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle1-${default.result}\n lifecycleRules:\n - id: rule-days\n prefix: path1/\n enabled: true\n expirations:\n - days: 365\n - id: rule-date\n prefix: path2/\n enabled: true\n expirations:\n - date: 2018-01-12\n bucket-lifecycle1BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle1\n properties:\n bucket: ${[\"bucket-lifecycle1\"].bucket}\n acl: public-read\n bucket-lifecycle2:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle2-${default.result}\n lifecycleRules:\n - id: rule-days-transition\n prefix: path3/\n enabled: true\n transitions:\n - days: '3'\n storageClass: IA\n - days: '30'\n storageClass: Archive\n bucket-lifecycle2BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle2\n properties:\n bucket: ${[\"bucket-lifecycle2\"].bucket}\n acl: public-read\n bucket-lifecycle3:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle3-${default.result}\n lifecycleRules:\n - id: rule-days-transition\n prefix: path3/\n enabled: true\n transitions:\n - createdBeforeDate: 2022-11-11\n storageClass: IA\n - createdBeforeDate: 2021-11-11\n storageClass: Archive\n bucket-lifecycle3BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle3\n properties:\n bucket: ${[\"bucket-lifecycle3\"].bucket}\n acl: public-read\n bucket-lifecycle4:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle4-${default.result}\n lifecycleRules:\n - id: rule-abort-multipart-upload\n prefix: path3/\n enabled: true\n abortMultipartUploads:\n - days: 128\n bucket-lifecycle4BucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-lifecycle4\n properties:\n bucket: ${[\"bucket-lifecycle4\"].bucket}\n acl: public-read\n bucket-versioning-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-lifecycle5-${default.result}\n versioning:\n status: Enabled\n lifecycleRules:\n - id: rule-versioning\n prefix: path1/\n enabled: true\n expirations:\n - expiredObjectDeleteMarker: true\n noncurrentVersionExpirations:\n - days: 240\n noncurrentVersionTransitions:\n - days: 180\n storageClass: Archive\n - days: 60\n storageClass: IA\n bucket-versioning-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-versioning-lifecycle\n properties:\n bucket: ${[\"bucket-versioning-lifecycle\"].bucket}\n acl: private\n bucket-access-monitor-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: example-lifecycle6-%s\n args:\n - ${default.result}\n return: result\n accessMonitor:\n status: Enabled\n lifecycleRules:\n - id: rule-days-transition\n prefix: path/\n enabled: true\n transitions:\n - days: 30\n storageClass: IA\n isAccessTime: true\n returnToStdWhenVisit: true\n bucket-access-monitor-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-access-monitor-lifecycle\n properties:\n bucket: ${[\"bucket-access-monitor-lifecycle\"].bucket}\n acl: private\n bucket-tag-lifecycle:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: example-lifecycle7-%s\n args:\n - ${default.result}\n return: result\n lifecycleRules:\n - id: rule-days-transition\n prefix: path/\n enabled: true\n transitions:\n - createdBeforeDate: 2022-11-11\n storageClass: IA\n tags:\n Created: TF\n For: example\n bucket-tag-lifecycleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-tag-lifecycle\n properties:\n bucket: ${[\"bucket-tag-lifecycle\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket policy \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_policy = new alicloud.oss.Bucket(\"bucket-policy\", {\n bucket: `example-policy-${_default.result}`,\n policy: ` {\\\\\"Statement\\\\\":\n [{\\\\\"Action\\\\\":\n [\\\\\"oss:PutObject\\\\\", \\\\\"oss:GetObject\\\\\", \\\\\"oss:DeleteBucket\\\\\"],\n \\\\\"Effect\\\\\":\\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\":\n [\\\\\"acs:oss:*:*:*\\\\\"]}],\n \\\\\"Version\\\\\":\\\\\"1\\\\\"}\n`,\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_policy.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_policy = alicloud.oss.Bucket(\"bucket-policy\",\n bucket=f\"example-policy-{default['result']}\",\n policy=\"\"\" {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n\"\"\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_policy.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_policy = new AliCloud.Oss.Bucket(\"bucket-policy\", new()\n {\n BucketName = $\"example-policy-{@default.Result}\",\n Policy = @\" {\\\"\"Statement\\\"\":\n [{\\\"\"Action\\\"\":\n [\\\"\"oss:PutObject\\\"\", \\\"\"oss:GetObject\\\"\", \\\"\"oss:DeleteBucket\\\"\"],\n \\\"\"Effect\\\"\":\\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\":\n [\\\"\"acs:oss:*:*:*\\\"\"]}],\n \\\"\"Version\\\"\":\\\"\"1\\\"\"}\n\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_policy.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_policy, err := oss.NewBucket(ctx, \"bucket-policy\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-policy-%v\", _default.Result),\n\t\t\tPolicy: pulumi.String(` {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_policy.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_policy = new Bucket(\"bucket-policy\", BucketArgs.builder()\n .bucket(String.format(\"example-policy-%s\", default_.result()))\n .policy(\"\"\"\n {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n \"\"\")\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_policy.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-policy:\n type: alicloud:oss:Bucket\n properties:\n bucket: example-policy-${default.result}\n policy: |2\n {\\\"Statement\\\":\n [{\\\"Action\\\":\n [\\\"oss:PutObject\\\", \\\"oss:GetObject\\\", \\\"oss:DeleteBucket\\\"],\n \\\"Effect\\\":\\\"Allow\\\",\n \\\"Resource\\\":\n [\\\"acs:oss:*:*:*\\\"]}],\n \\\"Version\\\":\\\"1\\\"}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-policy\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIA Bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {\n bucket: `example-${_default.result}`,\n storageClass: \"IA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\",\n bucket=f\"example-{default['result']}\",\n storage_class=\"IA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"example-{@default.Result}\",\n StorageClass = \"IA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-%v\", _default.Result),\n\t\t\tStorageClass: pulumi.String(\"IA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"example-%s\", default_.result()))\n .storageClass(\"IA\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: example-${default.result}\n storageClass: IA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket server-side encryption rule \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_sserule = new alicloud.oss.Bucket(\"bucket-sserule\", {\n bucket: `terraform-example-${_default.result}`,\n serverSideEncryptionRule: {\n sseAlgorithm: \"AES256\",\n },\n});\nconst bucket_sseruleBucketAcl = new alicloud.oss.BucketAcl(\"bucket-sserule\", {\n bucket: bucket_sserule.bucket,\n acl: \"private\",\n});\nconst kms = new alicloud.kms.Key(\"kms\", {\n description: \"terraform-example\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst bucket_kms = new alicloud.oss.Bucket(\"bucket-kms\", {\n bucket: `terraform-example-kms-${_default.result}`,\n serverSideEncryptionRule: {\n sseAlgorithm: \"KMS\",\n kmsMasterKeyId: kms.id,\n },\n});\nconst bucket_kmsBucketAcl = new alicloud.oss.BucketAcl(\"bucket-kms\", {\n bucket: bucket_kms.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_sserule = alicloud.oss.Bucket(\"bucket-sserule\",\n bucket=f\"terraform-example-{default['result']}\",\n server_side_encryption_rule={\n \"sse_algorithm\": \"AES256\",\n })\nbucket_sserule_bucket_acl = alicloud.oss.BucketAcl(\"bucket-sserule\",\n bucket=bucket_sserule.bucket,\n acl=\"private\")\nkms = alicloud.kms.Key(\"kms\",\n description=\"terraform-example\",\n pending_window_in_days=7,\n status=\"Enabled\")\nbucket_kms = alicloud.oss.Bucket(\"bucket-kms\",\n bucket=f\"terraform-example-kms-{default['result']}\",\n server_side_encryption_rule={\n \"sse_algorithm\": \"KMS\",\n \"kms_master_key_id\": kms.id,\n })\nbucket_kms_bucket_acl = alicloud.oss.BucketAcl(\"bucket-kms\",\n bucket=bucket_kms.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_sserule = new AliCloud.Oss.Bucket(\"bucket-sserule\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n ServerSideEncryptionRule = new AliCloud.Oss.Inputs.BucketServerSideEncryptionRuleArgs\n {\n SseAlgorithm = \"AES256\",\n },\n });\n\n var bucket_sseruleBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-sserule\", new()\n {\n Bucket = bucket_sserule.BucketName,\n Acl = \"private\",\n });\n\n var kms = new AliCloud.Kms.Key(\"kms\", new()\n {\n Description = \"terraform-example\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var bucket_kms = new AliCloud.Oss.Bucket(\"bucket-kms\", new()\n {\n BucketName = $\"terraform-example-kms-{@default.Result}\",\n ServerSideEncryptionRule = new AliCloud.Oss.Inputs.BucketServerSideEncryptionRuleArgs\n {\n SseAlgorithm = \"KMS\",\n KmsMasterKeyId = kms.Id,\n },\n });\n\n var bucket_kmsBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-kms\", new()\n {\n Bucket = bucket_kms.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_sserule, err := oss.NewBucket(ctx, \"bucket-sserule\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tServerSideEncryptionRule: \u0026oss.BucketServerSideEncryptionRuleArgs{\n\t\t\t\tSseAlgorithm: pulumi.String(\"AES256\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-sserule\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_sserule.Bucket,\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\tkms, err := kms.NewKey(ctx, \"kms\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\tbucket_kms, err := oss.NewBucket(ctx, \"bucket-kms\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-kms-%v\", _default.Result),\n\t\t\tServerSideEncryptionRule: \u0026oss.BucketServerSideEncryptionRuleArgs{\n\t\t\t\tSseAlgorithm: pulumi.String(\"KMS\"),\n\t\t\t\tKmsMasterKeyId: kms.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 = oss.NewBucketAcl(ctx, \"bucket-kms\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_kms.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketServerSideEncryptionRuleArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_sserule = new Bucket(\"bucket-sserule\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .serverSideEncryptionRule(BucketServerSideEncryptionRuleArgs.builder()\n .sseAlgorithm(\"AES256\")\n .build())\n .build());\n\n var bucket_sseruleBucketAcl = new BucketAcl(\"bucket-sseruleBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_sserule.bucket())\n .acl(\"private\")\n .build());\n\n var kms = new Key(\"kms\", KeyArgs.builder()\n .description(\"terraform-example\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var bucket_kms = new Bucket(\"bucket-kms\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-kms-%s\", default_.result()))\n .serverSideEncryptionRule(BucketServerSideEncryptionRuleArgs.builder()\n .sseAlgorithm(\"KMS\")\n .kmsMasterKeyId(kms.id())\n .build())\n .build());\n\n var bucket_kmsBucketAcl = new BucketAcl(\"bucket-kmsBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_kms.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-sserule:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n serverSideEncryptionRule:\n sseAlgorithm: AES256\n bucket-sseruleBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-sserule\n properties:\n bucket: ${[\"bucket-sserule\"].bucket}\n acl: private\n kms:\n type: alicloud:kms:Key\n properties:\n description: terraform-example\n pendingWindowInDays: '7'\n status: Enabled\n bucket-kms:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-kms-${default.result}\n serverSideEncryptionRule:\n sseAlgorithm: KMS\n kmsMasterKeyId: ${kms.id}\n bucket-kmsBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-kms\n properties:\n bucket: ${[\"bucket-kms\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket tags \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_tags = new alicloud.oss.Bucket(\"bucket-tags\", {\n bucket: `terraform-example-${_default.result}`,\n tags: {\n key1: \"value1\",\n key2: \"value2\",\n },\n});\nconst bucket_tagsBucketAcl = new alicloud.oss.BucketAcl(\"bucket-tags\", {\n bucket: bucket_tags.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_tags = alicloud.oss.Bucket(\"bucket-tags\",\n bucket=f\"terraform-example-{default['result']}\",\n tags={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n })\nbucket_tags_bucket_acl = alicloud.oss.BucketAcl(\"bucket-tags\",\n bucket=bucket_tags.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_tags = new AliCloud.Oss.Bucket(\"bucket-tags\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n Tags = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n });\n\n var bucket_tagsBucketAcl = new AliCloud.Oss.BucketAcl(\"bucket-tags\", new()\n {\n Bucket = bucket_tags.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_tags, err := oss.NewBucket(ctx, \"bucket-tags\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"bucket-tags\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_tags.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_tags = new Bucket(\"bucket-tags\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .build());\n\n var bucket_tagsBucketAcl = new BucketAcl(\"bucket-tagsBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_tags.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-tags:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n tags:\n key1: value1\n key2: value2\n bucket-tagsBucketAcl:\n type: alicloud:oss:BucketAcl\n name: bucket-tags\n properties:\n bucket: ${[\"bucket-tags\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable bucket versioning \n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_versioning = new alicloud.oss.Bucket(\"bucket-versioning\", {\n bucket: `terraform-example-${_default.result}`,\n versioning: {\n status: \"Enabled\",\n },\n});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: bucket_versioning.bucket,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_versioning = alicloud.oss.Bucket(\"bucket-versioning\",\n bucket=f\"terraform-example-{default['result']}\",\n versioning={\n \"status\": \"Enabled\",\n })\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=bucket_versioning.bucket,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_versioning = new AliCloud.Oss.Bucket(\"bucket-versioning\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n Versioning = new AliCloud.Oss.Inputs.BucketVersioningArgs\n {\n Status = \"Enabled\",\n },\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = bucket_versioning.BucketName,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket_versioning, err := oss.NewBucket(ctx, \"bucket-versioning\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tVersioning: \u0026oss.BucketVersioningTypeArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: bucket_versioning.Bucket,\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketVersioningArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_versioning = new Bucket(\"bucket-versioning\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .versioning(BucketVersioningArgs.builder()\n .status(\"Enabled\")\n .build())\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(bucket_versioning.bucket())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-versioning:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n versioning:\n status: Enabled\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${[\"bucket-versioning\"].bucket}\n acl: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket redundancy type\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_redundancytype = new alicloud.oss.Bucket(\"bucket-redundancytype\", {\n bucket: `terraform-example-${_default.result}`,\n redundancyType: \"ZRS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_redundancytype = alicloud.oss.Bucket(\"bucket-redundancytype\",\n bucket=f\"terraform-example-{default['result']}\",\n redundancy_type=\"ZRS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_redundancytype = new AliCloud.Oss.Bucket(\"bucket-redundancytype\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n RedundancyType = \"ZRS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-redundancytype\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tRedundancyType: pulumi.String(\"ZRS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_redundancytype = new Bucket(\"bucket-redundancytype\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .redundancyType(\"ZRS\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-redundancytype:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n redundancyType: ZRS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket accelerate configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucket_accelerate = new alicloud.oss.Bucket(\"bucket-accelerate\", {\n bucket: `terraform-example-${_default.result}`,\n transferAcceleration: {\n enabled: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_accelerate = alicloud.oss.Bucket(\"bucket-accelerate\",\n bucket=f\"terraform-example-{default['result']}\",\n transfer_acceleration={\n \"enabled\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucket_accelerate = new AliCloud.Oss.Bucket(\"bucket-accelerate\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n TransferAcceleration = new AliCloud.Oss.Inputs.BucketTransferAccelerationArgs\n {\n Enabled = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-accelerate\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tTransferAcceleration: \u0026oss.BucketTransferAccelerationTypeArgs{\n\t\t\t\tEnabled: pulumi.Bool(false),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketTransferAccelerationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucket_accelerate = new Bucket(\"bucket-accelerate\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .transferAcceleration(BucketTransferAccelerationArgs.builder()\n .enabled(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucket-accelerate:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${default.result}\n transferAcceleration:\n enabled: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet bucket resource group id\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.resourcemanager.getResourceGroups({\n nameRegex: \"default\",\n});\nconst bucket_accelerate = new alicloud.oss.Bucket(\"bucket-accelerate\", {\n bucket: `terraform-example-${defaultInteger.result}`,\n resourceGroupId: _default.then(_default =\u003e _default.groups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.resourcemanager.get_resource_groups(name_regex=\"default\")\nbucket_accelerate = alicloud.oss.Bucket(\"bucket-accelerate\",\n bucket=f\"terraform-example-{default_integer['result']}\",\n resource_group_id=default.groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n NameRegex = \"default\",\n });\n\n var bucket_accelerate = new AliCloud.Oss.Bucket(\"bucket-accelerate\", new()\n {\n BucketName = $\"terraform-example-{defaultInteger.Result}\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Groups[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"bucket-accelerate\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", defaultInteger.Result),\n\t\t\tResourceGroupId: pulumi.String(_default.Groups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.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 var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .nameRegex(\"default\")\n .build());\n\n var bucket_accelerate = new Bucket(\"bucket-accelerate\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", defaultInteger.result()))\n .resourceGroupId(default_.groups()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n bucket-accelerate:\n type: alicloud:oss:Bucket\n properties:\n bucket: terraform-example-${defaultInteger.result}\n resourceGroupId: ${default.groups[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n nameRegex: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS bucket can be imported using the bucket name, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucket:Bucket bucket bucket-12345678\n```\n\n", "properties": { "accessMonitor": { "$ref": "#/types/alicloud:oss/BucketAccessMonitor:BucketAccessMonitor", @@ -219121,7 +224166,7 @@ } }, "alicloud:oss/bucketCname:BucketCname": { - "description": "Provides a OSS Bucket Cname resource.\n\nCustomizing Bucket domains.\n\nFor information about OSS Bucket Cname and how to use it, see [What is Bucket Cname](https://www.alibabacloud.com/help/en/oss/developer-reference/putcname).\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n bucket: name,\n storageClass: \"Standard\",\n});\nconst defaultZaWJfG = new alicloud.oss.BucketCnameToken(\"defaultZaWJfG\", {\n bucket: createBucket.bucket,\n domain: \"tftestacc.com\",\n});\nconst defaultnHqm5p = new alicloud.dns.AlidnsRecord(\"defaultnHqm5p\", {\n status: \"ENABLE\",\n line: \"default\",\n rr: \"_dnsauth\",\n type: \"TXT\",\n domainName: \"tftestacc.com\",\n priority: 1,\n value: defaultZaWJfG.token,\n ttl: 600,\n});\nconst _default = new alicloud.oss.BucketCname(\"default\", {\n bucket: createBucket.bucket,\n domain: defaultnHqm5p.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n bucket=name,\n storage_class=\"Standard\")\ndefault_za_w_jf_g = alicloud.oss.BucketCnameToken(\"defaultZaWJfG\",\n bucket=create_bucket.bucket,\n domain=\"tftestacc.com\")\ndefaultn_hqm5p = alicloud.dns.AlidnsRecord(\"defaultnHqm5p\",\n status=\"ENABLE\",\n line=\"default\",\n rr=\"_dnsauth\",\n type=\"TXT\",\n domain_name=\"tftestacc.com\",\n priority=1,\n value=default_za_w_jf_g.token,\n ttl=600)\ndefault = alicloud.oss.BucketCname(\"default\",\n bucket=create_bucket.bucket,\n domain=defaultn_hqm5p.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n BucketName = name,\n StorageClass = \"Standard\",\n });\n\n var defaultZaWJfG = new AliCloud.Oss.BucketCnameToken(\"defaultZaWJfG\", new()\n {\n Bucket = createBucket.BucketName,\n Domain = \"tftestacc.com\",\n });\n\n var defaultnHqm5p = new AliCloud.Dns.AlidnsRecord(\"defaultnHqm5p\", new()\n {\n Status = \"ENABLE\",\n Line = \"default\",\n Rr = \"_dnsauth\",\n Type = \"TXT\",\n DomainName = \"tftestacc.com\",\n Priority = 1,\n Value = defaultZaWJfG.Token,\n Ttl = 600,\n });\n\n var @default = new AliCloud.Oss.BucketCname(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n Domain = defaultnHqm5p.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(name),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZaWJfG, err := oss.NewBucketCnameToken(ctx, \"defaultZaWJfG\", \u0026oss.BucketCnameTokenArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tDomain: pulumi.String(\"tftestacc.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnHqm5p, err := dns.NewAlidnsRecord(ctx, \"defaultnHqm5p\", \u0026dns.AlidnsRecordArgs{\n\t\t\tStatus: pulumi.String(\"ENABLE\"),\n\t\t\tLine: pulumi.String(\"default\"),\n\t\t\tRr: pulumi.String(\"_dnsauth\"),\n\t\t\tType: pulumi.String(\"TXT\"),\n\t\t\tDomainName: pulumi.String(\"tftestacc.com\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tValue: defaultZaWJfG.Token,\n\t\t\tTtl: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketCname(ctx, \"default\", \u0026oss.BucketCnameArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tDomain: defaultnHqm5p.DomainName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketCnameToken;\nimport com.pulumi.alicloud.oss.BucketCnameTokenArgs;\nimport com.pulumi.alicloud.dns.AlidnsRecord;\nimport com.pulumi.alicloud.dns.AlidnsRecordArgs;\nimport com.pulumi.alicloud.oss.BucketCname;\nimport com.pulumi.alicloud.oss.BucketCnameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .bucket(name)\n .storageClass(\"Standard\")\n .build());\n\n var defaultZaWJfG = new BucketCnameToken(\"defaultZaWJfG\", BucketCnameTokenArgs.builder()\n .bucket(createBucket.bucket())\n .domain(\"tftestacc.com\")\n .build());\n\n var defaultnHqm5p = new AlidnsRecord(\"defaultnHqm5p\", AlidnsRecordArgs.builder()\n .status(\"ENABLE\")\n .line(\"default\")\n .rr(\"_dnsauth\")\n .type(\"TXT\")\n .domainName(\"tftestacc.com\")\n .priority(1)\n .value(defaultZaWJfG.token())\n .ttl(600)\n .build());\n\n var default_ = new BucketCname(\"default\", BucketCnameArgs.builder()\n .bucket(createBucket.bucket())\n .domain(defaultnHqm5p.domainName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n bucket: ${name}\n storageClass: Standard\n defaultZaWJfG:\n type: alicloud:oss:BucketCnameToken\n properties:\n bucket: ${createBucket.bucket}\n domain: tftestacc.com\n defaultnHqm5p:\n type: alicloud:dns:AlidnsRecord\n properties:\n status: ENABLE\n line: default\n rr: _dnsauth\n type: TXT\n domainName: tftestacc.com\n priority: '1'\n value: ${defaultZaWJfG.token}\n ttl: '600'\n default:\n type: alicloud:oss:BucketCname\n properties:\n bucket: ${createBucket.bucket}\n domain: ${defaultnHqm5p.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Cname can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketCname:BucketCname example \u003cbucket\u003e:\u003cdomain\u003e\n```\n\n", + "description": "Provides a OSS Bucket Cname resource.\n\nCustomizing Bucket domains.\n\nFor information about OSS Bucket Cname and how to use it, see [What is Bucket Cname](https://www.alibabacloud.com/help/en/oss/developer-reference/putcname).\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n bucket: name,\n storageClass: \"Standard\",\n});\nconst defaultZaWJfG = new alicloud.oss.BucketCnameToken(\"defaultZaWJfG\", {\n bucket: createBucket.bucket,\n domain: \"tftestacc.com\",\n});\nconst defaultnHqm5p = new alicloud.dns.AlidnsRecord(\"defaultnHqm5p\", {\n status: \"ENABLE\",\n line: \"default\",\n rr: \"_dnsauth\",\n type: \"TXT\",\n domainName: \"tftestacc.com\",\n priority: 1,\n value: defaultZaWJfG.token,\n ttl: 600,\n});\nconst _default = new alicloud.oss.BucketCname(\"default\", {\n bucket: createBucket.bucket,\n domain: defaultnHqm5p.domainName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n bucket=name,\n storage_class=\"Standard\")\ndefault_za_w_jf_g = alicloud.oss.BucketCnameToken(\"defaultZaWJfG\",\n bucket=create_bucket.bucket,\n domain=\"tftestacc.com\")\ndefaultn_hqm5p = alicloud.dns.AlidnsRecord(\"defaultnHqm5p\",\n status=\"ENABLE\",\n line=\"default\",\n rr=\"_dnsauth\",\n type=\"TXT\",\n domain_name=\"tftestacc.com\",\n priority=1,\n value=default_za_w_jf_g.token,\n ttl=600)\ndefault = alicloud.oss.BucketCname(\"default\",\n bucket=create_bucket.bucket,\n domain=defaultn_hqm5p.domain_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n BucketName = name,\n StorageClass = \"Standard\",\n });\n\n var defaultZaWJfG = new AliCloud.Oss.BucketCnameToken(\"defaultZaWJfG\", new()\n {\n Bucket = createBucket.BucketName,\n Domain = \"tftestacc.com\",\n });\n\n var defaultnHqm5p = new AliCloud.Dns.AlidnsRecord(\"defaultnHqm5p\", new()\n {\n Status = \"ENABLE\",\n Line = \"default\",\n Rr = \"_dnsauth\",\n Type = \"TXT\",\n DomainName = \"tftestacc.com\",\n Priority = 1,\n Value = defaultZaWJfG.Token,\n Ttl = 600,\n });\n\n var @default = new AliCloud.Oss.BucketCname(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n Domain = defaultnHqm5p.DomainName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dns\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(name),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultZaWJfG, err := oss.NewBucketCnameToken(ctx, \"defaultZaWJfG\", \u0026oss.BucketCnameTokenArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tDomain: pulumi.String(\"tftestacc.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnHqm5p, err := dns.NewAlidnsRecord(ctx, \"defaultnHqm5p\", \u0026dns.AlidnsRecordArgs{\n\t\t\tStatus: pulumi.String(\"ENABLE\"),\n\t\t\tLine: pulumi.String(\"default\"),\n\t\t\tRr: pulumi.String(\"_dnsauth\"),\n\t\t\tType: pulumi.String(\"TXT\"),\n\t\t\tDomainName: pulumi.String(\"tftestacc.com\"),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tValue: defaultZaWJfG.Token,\n\t\t\tTtl: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketCname(ctx, \"default\", \u0026oss.BucketCnameArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tDomain: defaultnHqm5p.DomainName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketCnameToken;\nimport com.pulumi.alicloud.oss.BucketCnameTokenArgs;\nimport com.pulumi.alicloud.dns.AlidnsRecord;\nimport com.pulumi.alicloud.dns.AlidnsRecordArgs;\nimport com.pulumi.alicloud.oss.BucketCname;\nimport com.pulumi.alicloud.oss.BucketCnameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .bucket(name)\n .storageClass(\"Standard\")\n .build());\n\n var defaultZaWJfG = new BucketCnameToken(\"defaultZaWJfG\", BucketCnameTokenArgs.builder()\n .bucket(createBucket.bucket())\n .domain(\"tftestacc.com\")\n .build());\n\n var defaultnHqm5p = new AlidnsRecord(\"defaultnHqm5p\", AlidnsRecordArgs.builder()\n .status(\"ENABLE\")\n .line(\"default\")\n .rr(\"_dnsauth\")\n .type(\"TXT\")\n .domainName(\"tftestacc.com\")\n .priority(1)\n .value(defaultZaWJfG.token())\n .ttl(600)\n .build());\n\n var default_ = new BucketCname(\"default\", BucketCnameArgs.builder()\n .bucket(createBucket.bucket())\n .domain(defaultnHqm5p.domainName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n bucket: ${name}\n storageClass: Standard\n defaultZaWJfG:\n type: alicloud:oss:BucketCnameToken\n properties:\n bucket: ${createBucket.bucket}\n domain: tftestacc.com\n defaultnHqm5p:\n type: alicloud:dns:AlidnsRecord\n properties:\n status: ENABLE\n line: default\n rr: _dnsauth\n type: TXT\n domainName: tftestacc.com\n priority: '1'\n value: ${defaultZaWJfG.token}\n ttl: '600'\n default:\n type: alicloud:oss:BucketCname\n properties:\n bucket: ${createBucket.bucket}\n domain: ${defaultnHqm5p.domainName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Cname can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketCname:BucketCname example \u003cbucket\u003e:\u003cdomain\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219285,7 +224330,7 @@ } }, "alicloud:oss/bucketCors:BucketCors": { - "description": "Provides a OSS Bucket Cors resource. Cross-Origin Resource Sharing (CORS) allows web applications to access resources in other regions.\n\nFor information about OSS Bucket Cors and how to use it, see [What is Bucket Cors](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketcors).\n\n\u003e **NOTE:** Available since v1.223.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketCors = new alicloud.oss.BucketCors(\"default\", {\n bucket: createBucket.bucket,\n responseVary: true,\n corsRules: [{\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n allowedHeaders: [\n \"x-oss-test\",\n \"x-oss-abc\",\n ],\n exposeHeaders: [\"x-oss-request-id\"],\n maxAgeSeconds: 1000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_cors = alicloud.oss.BucketCors(\"default\",\n bucket=create_bucket.bucket,\n response_vary=True,\n cors_rules=[{\n \"allowed_methods\": [\"GET\"],\n \"allowed_origins\": [\"*\"],\n \"allowed_headers\": [\n \"x-oss-test\",\n \"x-oss-abc\",\n ],\n \"expose_headers\": [\"x-oss-request-id\"],\n \"max_age_seconds\": 1000,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketCors = new AliCloud.Oss.BucketCors(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n ResponseVary = true,\n CorsRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketCorsCorsRuleArgs\n {\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n AllowedHeaders = new[]\n {\n \"x-oss-test\",\n \"x-oss-abc\",\n },\n ExposeHeaders = new[]\n {\n \"x-oss-request-id\",\n },\n MaxAgeSeconds = 1000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketCors(ctx, \"default\", \u0026oss.BucketCorsArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tResponseVary: pulumi.Bool(true),\n\t\t\tCorsRules: oss.BucketCorsCorsRuleArray{\n\t\t\t\t\u0026oss.BucketCorsCorsRuleArgs{\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-oss-test\"),\n\t\t\t\t\t\tpulumi.String(\"x-oss-abc\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-oss-request-id\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(1000),\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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketCors;\nimport com.pulumi.alicloud.oss.BucketCorsArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketCorsCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketCors = new BucketCors(\"defaultBucketCors\", BucketCorsArgs.builder()\n .bucket(createBucket.bucket())\n .responseVary(true)\n .corsRules(BucketCorsCorsRuleArgs.builder()\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .allowedHeaders( \n \"x-oss-test\",\n \"x-oss-abc\")\n .exposeHeaders(\"x-oss-request-id\")\n .maxAgeSeconds(1000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketCors:\n type: alicloud:oss:BucketCors\n name: default\n properties:\n bucket: ${createBucket.bucket}\n responseVary: true\n corsRules:\n - allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n allowedHeaders:\n - x-oss-test\n - x-oss-abc\n exposeHeaders:\n - x-oss-request-id\n maxAgeSeconds: '1000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Cors can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketCors:BucketCors example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Cors resource. Cross-Origin Resource Sharing (CORS) allows web applications to access resources in other regions.\n\nFor information about OSS Bucket Cors and how to use it, see [What is Bucket Cors](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketcors).\n\n\u003e **NOTE:** Available since v1.223.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketCors = new alicloud.oss.BucketCors(\"default\", {\n bucket: createBucket.bucket,\n responseVary: true,\n corsRules: [{\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n allowedHeaders: [\n \"x-oss-test\",\n \"x-oss-abc\",\n ],\n exposeHeaders: [\"x-oss-request-id\"],\n maxAgeSeconds: 1000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_cors = alicloud.oss.BucketCors(\"default\",\n bucket=create_bucket.bucket,\n response_vary=True,\n cors_rules=[{\n \"allowed_methods\": [\"GET\"],\n \"allowed_origins\": [\"*\"],\n \"allowed_headers\": [\n \"x-oss-test\",\n \"x-oss-abc\",\n ],\n \"expose_headers\": [\"x-oss-request-id\"],\n \"max_age_seconds\": 1000,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketCors = new AliCloud.Oss.BucketCors(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n ResponseVary = true,\n CorsRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketCorsCorsRuleArgs\n {\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n AllowedHeaders = new[]\n {\n \"x-oss-test\",\n \"x-oss-abc\",\n },\n ExposeHeaders = new[]\n {\n \"x-oss-request-id\",\n },\n MaxAgeSeconds = 1000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketCors(ctx, \"default\", \u0026oss.BucketCorsArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tResponseVary: pulumi.Bool(true),\n\t\t\tCorsRules: oss.BucketCorsCorsRuleArray{\n\t\t\t\t\u0026oss.BucketCorsCorsRuleArgs{\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-oss-test\"),\n\t\t\t\t\t\tpulumi.String(\"x-oss-abc\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"x-oss-request-id\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(1000),\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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketCors;\nimport com.pulumi.alicloud.oss.BucketCorsArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketCorsCorsRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketCors = new BucketCors(\"defaultBucketCors\", BucketCorsArgs.builder()\n .bucket(createBucket.bucket())\n .responseVary(true)\n .corsRules(BucketCorsCorsRuleArgs.builder()\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .allowedHeaders( \n \"x-oss-test\",\n \"x-oss-abc\")\n .exposeHeaders(\"x-oss-request-id\")\n .maxAgeSeconds(1000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketCors:\n type: alicloud:oss:BucketCors\n name: default\n properties:\n bucket: ${createBucket.bucket}\n responseVary: true\n corsRules:\n - allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n allowedHeaders:\n - x-oss-test\n - x-oss-abc\n exposeHeaders:\n - x-oss-request-id\n maxAgeSeconds: '1000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Cors can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketCors:BucketCors example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219354,7 +224399,7 @@ } }, "alicloud:oss/bucketDataRedundancyTransition:BucketDataRedundancyTransition": { - "description": "Provides a OSS Bucket Data Redundancy Transition resource. Create a storage redundancy transition task to convert local redundant storage(LRS) to zone redundant storage(ZRS).\n\nFor information about OSS Bucket Data Redundancy Transition and how to use it, see [What is Bucket Data Redundancy Transition](https://www.alibabacloud.com/help/en/oss/developer-reference/createbucketdataredundancytransition).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketDataRedundancyTransition = new alicloud.oss.BucketDataRedundancyTransition(\"default\", {bucket: createBucket.bucket});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_data_redundancy_transition = alicloud.oss.BucketDataRedundancyTransition(\"default\", bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketDataRedundancyTransition = new AliCloud.Oss.BucketDataRedundancyTransition(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketDataRedundancyTransition(ctx, \"default\", \u0026oss.BucketDataRedundancyTransitionArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketDataRedundancyTransition;\nimport com.pulumi.alicloud.oss.BucketDataRedundancyTransitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketDataRedundancyTransition = new BucketDataRedundancyTransition(\"defaultBucketDataRedundancyTransition\", BucketDataRedundancyTransitionArgs.builder()\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketDataRedundancyTransition:\n type: alicloud:oss:BucketDataRedundancyTransition\n name: default\n properties:\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Data Redundancy Transition can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketDataRedundancyTransition:BucketDataRedundancyTransition example \u003cbucket\u003e:\u003ctask_id\u003e\n```\n\n", + "description": "Provides a OSS Bucket Data Redundancy Transition resource. Create a storage redundancy transition task to convert local redundant storage(LRS) to zone redundant storage(ZRS).\n\nFor information about OSS Bucket Data Redundancy Transition and how to use it, see [What is Bucket Data Redundancy Transition](https://www.alibabacloud.com/help/en/oss/developer-reference/createbucketdataredundancytransition).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketDataRedundancyTransition = new alicloud.oss.BucketDataRedundancyTransition(\"default\", {bucket: createBucket.bucket});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_data_redundancy_transition = alicloud.oss.BucketDataRedundancyTransition(\"default\", bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketDataRedundancyTransition = new AliCloud.Oss.BucketDataRedundancyTransition(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketDataRedundancyTransition(ctx, \"default\", \u0026oss.BucketDataRedundancyTransitionArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketDataRedundancyTransition;\nimport com.pulumi.alicloud.oss.BucketDataRedundancyTransitionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketDataRedundancyTransition = new BucketDataRedundancyTransition(\"defaultBucketDataRedundancyTransition\", BucketDataRedundancyTransitionArgs.builder()\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketDataRedundancyTransition:\n type: alicloud:oss:BucketDataRedundancyTransition\n name: default\n properties:\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Data Redundancy Transition can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketDataRedundancyTransition:BucketDataRedundancyTransition example \u003cbucket\u003e:\u003ctask_id\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219418,7 +224463,11 @@ "properties": { "bucket": { "type": "string", - "description": "The name of the bucket.\n" + "description": "The name of the bucket\n" + }, + "cipherSuit": { + "$ref": "#/types/alicloud:oss/BucketHttpsConfigCipherSuit:BucketHttpsConfigCipherSuit", + "description": "TLS encryption algorithm suite configuration See \u003cspan pulumi-lang-nodejs=\"`cipherSuit`\" pulumi-lang-dotnet=\"`CipherSuit`\" pulumi-lang-go=\"`cipherSuit`\" pulumi-lang-python=\"`cipher_suit`\" pulumi-lang-yaml=\"`cipherSuit`\" pulumi-lang-java=\"`cipherSuit`\"\u003e`cipher_suit`\u003c/span\u003e below.\n" }, "enable": { "type": "boolean", @@ -219434,14 +224483,19 @@ }, "required": [ "bucket", + "cipherSuit", "enable" ], "inputProperties": { "bucket": { "type": "string", - "description": "The name of the bucket.\n", + "description": "The name of the bucket\n", "willReplaceOnChanges": true }, + "cipherSuit": { + "$ref": "#/types/alicloud:oss/BucketHttpsConfigCipherSuit:BucketHttpsConfigCipherSuit", + "description": "TLS encryption algorithm suite configuration See \u003cspan pulumi-lang-nodejs=\"`cipherSuit`\" pulumi-lang-dotnet=\"`CipherSuit`\" pulumi-lang-go=\"`cipherSuit`\" pulumi-lang-python=\"`cipher_suit`\" pulumi-lang-yaml=\"`cipherSuit`\" pulumi-lang-java=\"`cipherSuit`\"\u003e`cipher_suit`\u003c/span\u003e below.\n" + }, "enable": { "type": "boolean", "description": "Specifies whether to enable TLS version management for the bucket. Valid values: true, false.\n" @@ -219463,9 +224517,13 @@ "properties": { "bucket": { "type": "string", - "description": "The name of the bucket.\n", + "description": "The name of the bucket\n", "willReplaceOnChanges": true }, + "cipherSuit": { + "$ref": "#/types/alicloud:oss/BucketHttpsConfigCipherSuit:BucketHttpsConfigCipherSuit", + "description": "TLS encryption algorithm suite configuration See \u003cspan pulumi-lang-nodejs=\"`cipherSuit`\" pulumi-lang-dotnet=\"`CipherSuit`\" pulumi-lang-go=\"`cipherSuit`\" pulumi-lang-python=\"`cipher_suit`\" pulumi-lang-yaml=\"`cipherSuit`\" pulumi-lang-java=\"`cipherSuit`\"\u003e`cipher_suit`\u003c/span\u003e below.\n" + }, "enable": { "type": "boolean", "description": "Specifies whether to enable TLS version management for the bucket. Valid values: true, false.\n" @@ -219482,7 +224540,7 @@ } }, "alicloud:oss/bucketLogging:BucketLogging": { - "description": "Provides a OSS Bucket Logging resource.\n\nAfter you enable and configure logging for a bucket, Object Storage Service (OSS) generates log objects based on a predefined naming convention. This way, access logs are generated and stored in the specified bucket on an hourly basis.\n\nFor information about OSS Bucket Logging and how to use it, see [What is Bucket Logging](https://next.api.alibabacloud.com/document/Oss/2019-05-17/PutBucketLogging).\n\n\u003e **NOTE:** Available since v1.222.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: \"resource-example-logging-806\",\n});\nconst createLoggingBucket = new alicloud.oss.Bucket(\"CreateLoggingBucket\", {\n storageClass: \"Standard\",\n bucket: \"resource-example-logging-153\",\n});\nconst _default = new alicloud.oss.BucketLogging(\"default\", {\n bucket: createBucket.id,\n targetBucket: createBucket.id,\n targetPrefix: \"log/\",\n loggingRole: \"example-role\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=\"resource-example-logging-806\")\ncreate_logging_bucket = alicloud.oss.Bucket(\"CreateLoggingBucket\",\n storage_class=\"Standard\",\n bucket=\"resource-example-logging-153\")\ndefault = alicloud.oss.BucketLogging(\"default\",\n bucket=create_bucket.id,\n target_bucket=create_bucket.id,\n target_prefix=\"log/\",\n logging_role=\"example-role\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = \"resource-example-logging-806\",\n });\n\n var createLoggingBucket = new AliCloud.Oss.Bucket(\"CreateLoggingBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = \"resource-example-logging-153\",\n });\n\n var @default = new AliCloud.Oss.BucketLogging(\"default\", new()\n {\n Bucket = createBucket.Id,\n TargetBucket = createBucket.Id,\n TargetPrefix = \"log/\",\n LoggingRole = \"example-role\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.String(\"resource-example-logging-806\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"CreateLoggingBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.String(\"resource-example-logging-153\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketLogging(ctx, \"default\", \u0026oss.BucketLoggingArgs{\n\t\t\tBucket: createBucket.ID(),\n\t\t\tTargetBucket: createBucket.ID(),\n\t\t\tTargetPrefix: pulumi.String(\"log/\"),\n\t\t\tLoggingRole: pulumi.String(\"example-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketLogging;\nimport com.pulumi.alicloud.oss.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(\"resource-example-logging-806\")\n .build());\n\n var createLoggingBucket = new Bucket(\"createLoggingBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(\"resource-example-logging-153\")\n .build());\n\n var default_ = new BucketLogging(\"default\", BucketLoggingArgs.builder()\n .bucket(createBucket.id())\n .targetBucket(createBucket.id())\n .targetPrefix(\"log/\")\n .loggingRole(\"example-role\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: resource-example-logging-806\n createLoggingBucket:\n type: alicloud:oss:Bucket\n name: CreateLoggingBucket\n properties:\n storageClass: Standard\n bucket: resource-example-logging-153\n default:\n type: alicloud:oss:BucketLogging\n properties:\n bucket: ${createBucket.id}\n targetBucket: ${createBucket.id}\n targetPrefix: log/\n loggingRole: example-role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Logging can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketLogging:BucketLogging example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Logging resource.\n\nAfter you enable and configure logging for a bucket, Object Storage Service (OSS) generates log objects based on a predefined naming convention. This way, access logs are generated and stored in the specified bucket on an hourly basis.\n\nFor information about OSS Bucket Logging and how to use it, see [What is Bucket Logging](https://next.api.alibabacloud.com/document/Oss/2019-05-17/PutBucketLogging).\n\n\u003e **NOTE:** Available since v1.222.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: \"resource-example-logging-806\",\n});\nconst createLoggingBucket = new alicloud.oss.Bucket(\"CreateLoggingBucket\", {\n storageClass: \"Standard\",\n bucket: \"resource-example-logging-153\",\n});\nconst _default = new alicloud.oss.BucketLogging(\"default\", {\n bucket: createBucket.id,\n targetBucket: createBucket.id,\n targetPrefix: \"log/\",\n loggingRole: \"example-role\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=\"resource-example-logging-806\")\ncreate_logging_bucket = alicloud.oss.Bucket(\"CreateLoggingBucket\",\n storage_class=\"Standard\",\n bucket=\"resource-example-logging-153\")\ndefault = alicloud.oss.BucketLogging(\"default\",\n bucket=create_bucket.id,\n target_bucket=create_bucket.id,\n target_prefix=\"log/\",\n logging_role=\"example-role\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = \"resource-example-logging-806\",\n });\n\n var createLoggingBucket = new AliCloud.Oss.Bucket(\"CreateLoggingBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = \"resource-example-logging-153\",\n });\n\n var @default = new AliCloud.Oss.BucketLogging(\"default\", new()\n {\n Bucket = createBucket.Id,\n TargetBucket = createBucket.Id,\n TargetPrefix = \"log/\",\n LoggingRole = \"example-role\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.String(\"resource-example-logging-806\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"CreateLoggingBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.String(\"resource-example-logging-153\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketLogging(ctx, \"default\", \u0026oss.BucketLoggingArgs{\n\t\t\tBucket: createBucket.ID(),\n\t\t\tTargetBucket: createBucket.ID(),\n\t\t\tTargetPrefix: pulumi.String(\"log/\"),\n\t\t\tLoggingRole: pulumi.String(\"example-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketLogging;\nimport com.pulumi.alicloud.oss.BucketLoggingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(\"resource-example-logging-806\")\n .build());\n\n var createLoggingBucket = new Bucket(\"createLoggingBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(\"resource-example-logging-153\")\n .build());\n\n var default_ = new BucketLogging(\"default\", BucketLoggingArgs.builder()\n .bucket(createBucket.id())\n .targetBucket(createBucket.id())\n .targetPrefix(\"log/\")\n .loggingRole(\"example-role\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: resource-example-logging-806\n createLoggingBucket:\n type: alicloud:oss:Bucket\n name: CreateLoggingBucket\n properties:\n storageClass: Standard\n bucket: resource-example-logging-153\n default:\n type: alicloud:oss:BucketLogging\n properties:\n bucket: ${createBucket.id}\n targetBucket: ${createBucket.id}\n targetPrefix: log/\n loggingRole: example-role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Logging can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketLogging:BucketLogging example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219553,7 +224611,7 @@ } }, "alicloud:oss/bucketMetaQuery:BucketMetaQuery": { - "description": "Provides a OSS Bucket Meta Query resource. Enables the metadata management feature for a bucket.\n\nFor information about OSS Bucket Meta Query and how to use it, see [What is Bucket Meta Query](https://www.alibabacloud.com/help/en/oss/developer-reference/openmetaquery).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketMetaQuery = new alicloud.oss.BucketMetaQuery(\"default\", {bucket: createBucket.bucket});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_meta_query = alicloud.oss.BucketMetaQuery(\"default\", bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketMetaQuery = new AliCloud.Oss.BucketMetaQuery(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketMetaQuery(ctx, \"default\", \u0026oss.BucketMetaQueryArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketMetaQuery;\nimport com.pulumi.alicloud.oss.BucketMetaQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketMetaQuery = new BucketMetaQuery(\"defaultBucketMetaQuery\", BucketMetaQueryArgs.builder()\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketMetaQuery:\n type: alicloud:oss:BucketMetaQuery\n name: default\n properties:\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Meta Query can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketMetaQuery:BucketMetaQuery example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Meta Query resource. Enables the metadata management feature for a bucket.\n\nFor information about OSS Bucket Meta Query and how to use it, see [What is Bucket Meta Query](https://www.alibabacloud.com/help/en/oss/developer-reference/openmetaquery).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketMetaQuery = new alicloud.oss.BucketMetaQuery(\"default\", {bucket: createBucket.bucket});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_meta_query = alicloud.oss.BucketMetaQuery(\"default\", bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketMetaQuery = new AliCloud.Oss.BucketMetaQuery(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketMetaQuery(ctx, \"default\", \u0026oss.BucketMetaQueryArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketMetaQuery;\nimport com.pulumi.alicloud.oss.BucketMetaQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketMetaQuery = new BucketMetaQuery(\"defaultBucketMetaQuery\", BucketMetaQueryArgs.builder()\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketMetaQuery:\n type: alicloud:oss:BucketMetaQuery\n name: default\n properties:\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Meta Query can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketMetaQuery:BucketMetaQuery example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219604,7 +224662,7 @@ } }, "alicloud:oss/bucketObject:BucketObject": { - "description": "Provides a resource to put a object(content or file) to a oss bucket.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"private\",\n});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"example_key\",\n source: \"./main.tf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"private\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"example_key\",\n source=\"./main.tf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"private\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"example_key\",\n Source = \"./main.tf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\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_, err = oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t\tSource: pulumi.String(\"./main.tf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"private\")\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"example_key\")\n .source(\"./main.tf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: private\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: example_key\n source: ./main.tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Uploading a content to a bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"private\",\n});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"example_key\",\n content: \"the content that you want to upload.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"private\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"example_key\",\n content=\"the content that you want to upload.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"private\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"example_key\",\n Content = \"the content that you want to upload.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\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_, err = oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t\tContent: pulumi.String(\"the content that you want to upload.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"private\")\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"example_key\")\n .content(\"the content that you want to upload.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: private\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: example_key\n content: the content that you want to upload.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to put a object(content or file) to a oss bucket.\n\n## Example Usage\n\n### Uploading a file to a bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"private\",\n});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"example_key\",\n source: \"./main.tf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"private\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"example_key\",\n source=\"./main.tf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"private\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"example_key\",\n Source = \"./main.tf\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\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_, err = oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t\tSource: pulumi.String(\"./main.tf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"private\")\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"example_key\")\n .source(\"./main.tf\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: private\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: example_key\n source: ./main.tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Uploading a content to a bucket\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {bucket: `terraform-example-${_default.result}`});\nconst defaultBucketAcl = new alicloud.oss.BucketAcl(\"default\", {\n bucket: defaultBucket.bucket,\n acl: \"private\",\n});\nconst defaultBucketObject = new alicloud.oss.BucketObject(\"default\", {\n bucket: defaultBucket.bucket,\n key: \"example_key\",\n content: \"the content that you want to upload.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_bucket = alicloud.oss.Bucket(\"default\", bucket=f\"terraform-example-{default['result']}\")\ndefault_bucket_acl = alicloud.oss.BucketAcl(\"default\",\n bucket=default_bucket.bucket,\n acl=\"private\")\ndefault_bucket_object = alicloud.oss.BucketObject(\"default\",\n bucket=default_bucket.bucket,\n key=\"example_key\",\n content=\"the content that you want to upload.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\", new()\n {\n BucketName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultBucketAcl = new AliCloud.Oss.BucketAcl(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Acl = \"private\",\n });\n\n var defaultBucketObject = new AliCloud.Oss.BucketObject(\"default\", new()\n {\n Bucket = defaultBucket.BucketName,\n Key = \"example_key\",\n Content = \"the content that you want to upload.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketAcl(ctx, \"default\", \u0026oss.BucketAclArgs{\n\t\t\tBucket: defaultBucket.Bucket,\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_, err = oss.NewBucketObject(ctx, \"default\", \u0026oss.BucketObjectArgs{\n\t\t\tBucket: defaultBucket.Bucket,\n\t\t\tKey: pulumi.String(\"example_key\"),\n\t\t\tContent: pulumi.String(\"the content that you want to upload.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketAcl;\nimport com.pulumi.alicloud.oss.BucketAclArgs;\nimport com.pulumi.alicloud.oss.BucketObject;\nimport com.pulumi.alicloud.oss.BucketObjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\", BucketArgs.builder()\n .bucket(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultBucketAcl = new BucketAcl(\"defaultBucketAcl\", BucketAclArgs.builder()\n .bucket(defaultBucket.bucket())\n .acl(\"private\")\n .build());\n\n var defaultBucketObject = new BucketObject(\"defaultBucketObject\", BucketObjectArgs.builder()\n .bucket(defaultBucket.bucket())\n .key(\"example_key\")\n .content(\"the content that you want to upload.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n properties:\n bucket: terraform-example-${default.result}\n defaultBucketAcl:\n type: alicloud:oss:BucketAcl\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n acl: private\n defaultBucketObject:\n type: alicloud:oss:BucketObject\n name: default\n properties:\n bucket: ${defaultBucket.bucket}\n key: example_key\n content: the content that you want to upload.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "acl": { "type": "string", @@ -219813,7 +224871,7 @@ } }, "alicloud:oss/bucketPolicy:BucketPolicy": { - "description": "Provides a OSS Bucket Policy resource. Authorization policy of a bucket.\n\nFor information about OSS Bucket Policy and how to use it, see [What is Bucket Policy](https://www.alibabacloud.com/help/en/oss/user-guide/use-bucket-policy-to-grant-permission-to-access-oss).\n\n\u003e **NOTE:** Available since v1.220.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketPolicy = new alicloud.oss.BucketPolicy(\"default\", {\n policy: JSON.stringify({\n Version: \"1\",\n Statement: [{\n Action: [\n \"oss:PutObject\",\n \"oss:GetObject\",\n ],\n Effect: \"Deny\",\n Principal: [\"1234567890\"],\n Resource: [\"acs:oss:*:1234567890:*/*\"],\n }],\n }),\n bucket: createBucket.bucket,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_policy = alicloud.oss.BucketPolicy(\"default\",\n policy=json.dumps({\n \"Version\": \"1\",\n \"Statement\": [{\n \"Action\": [\n \"oss:PutObject\",\n \"oss:GetObject\",\n ],\n \"Effect\": \"Deny\",\n \"Principal\": [\"1234567890\"],\n \"Resource\": [\"acs:oss:*:1234567890:*/*\"],\n }],\n }),\n bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketPolicy = new AliCloud.Oss.BucketPolicy(\"default\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"oss:PutObject\",\n \"oss:GetObject\",\n },\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = new[]\n {\n \"1234567890\",\n },\n [\"Resource\"] = new[]\n {\n \"acs:oss:*:1234567890:*/*\",\n },\n },\n },\n }),\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\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\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"oss:PutObject\",\n\t\t\t\t\t\t\"oss:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\t\"1234567890\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"acs:oss:*:1234567890:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = oss.NewBucketPolicy(ctx, \"default\", \u0026oss.BucketPolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketPolicy;\nimport com.pulumi.alicloud.oss.BucketPolicyArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketPolicy = new BucketPolicy(\"defaultBucketPolicy\", BucketPolicyArgs.builder()\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"oss:PutObject\", \n \"oss:GetObject\"\n )),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", jsonArray(\"1234567890\")),\n jsonProperty(\"Resource\", jsonArray(\"acs:oss:*:1234567890:*/*\"))\n )))\n )))\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketPolicy:\n type: alicloud:oss:BucketPolicy\n name: default\n properties:\n policy:\n fn::toJSON:\n Version: '1'\n Statement:\n - Action:\n - oss:PutObject\n - oss:GetObject\n Effect: Deny\n Principal:\n - '1234567890'\n Resource:\n - acs:oss:*:1234567890:*/*\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketPolicy:BucketPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Policy resource. Authorization policy of a bucket.\n\nFor information about OSS Bucket Policy and how to use it, see [What is Bucket Policy](https://www.alibabacloud.com/help/en/oss/user-guide/use-bucket-policy-to-grant-permission-to-access-oss).\n\n\u003e **NOTE:** Available since v1.220.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketPolicy = new alicloud.oss.BucketPolicy(\"default\", {\n policy: JSON.stringify({\n Version: \"1\",\n Statement: [{\n Action: [\n \"oss:PutObject\",\n \"oss:GetObject\",\n ],\n Effect: \"Deny\",\n Principal: [\"1234567890\"],\n Resource: [\"acs:oss:*:1234567890:*/*\"],\n }],\n }),\n bucket: createBucket.bucket,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_policy = alicloud.oss.BucketPolicy(\"default\",\n policy=json.dumps({\n \"Version\": \"1\",\n \"Statement\": [{\n \"Action\": [\n \"oss:PutObject\",\n \"oss:GetObject\",\n ],\n \"Effect\": \"Deny\",\n \"Principal\": [\"1234567890\"],\n \"Resource\": [\"acs:oss:*:1234567890:*/*\"],\n }],\n }),\n bucket=create_bucket.bucket)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketPolicy = new AliCloud.Oss.BucketPolicy(\"default\", new()\n {\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Action\"] = new[]\n {\n \"oss:PutObject\",\n \"oss:GetObject\",\n },\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = new[]\n {\n \"1234567890\",\n },\n [\"Resource\"] = new[]\n {\n \"acs:oss:*:1234567890:*/*\",\n },\n },\n },\n }),\n Bucket = createBucket.BucketName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\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\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"oss:PutObject\",\n\t\t\t\t\t\t\"oss:GetObject\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\t\"1234567890\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"acs:oss:*:1234567890:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = oss.NewBucketPolicy(ctx, \"default\", \u0026oss.BucketPolicyArgs{\n\t\t\tPolicy: pulumi.String(json0),\n\t\t\tBucket: createBucket.Bucket,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketPolicy;\nimport com.pulumi.alicloud.oss.BucketPolicyArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketPolicy = new BucketPolicy(\"defaultBucketPolicy\", BucketPolicyArgs.builder()\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Action\", jsonArray(\n \"oss:PutObject\", \n \"oss:GetObject\"\n )),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", jsonArray(\"1234567890\")),\n jsonProperty(\"Resource\", jsonArray(\"acs:oss:*:1234567890:*/*\"))\n )))\n )))\n .bucket(createBucket.bucket())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketPolicy:\n type: alicloud:oss:BucketPolicy\n name: default\n properties:\n policy:\n fn::toJSON:\n Version: '1'\n Statement:\n - Action:\n - oss:PutObject\n - oss:GetObject\n Effect: Deny\n Principal:\n - '1234567890'\n Resource:\n - acs:oss:*:1234567890:*/*\n bucket: ${createBucket.bucket}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketPolicy:BucketPolicy example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -219860,7 +224918,7 @@ } }, "alicloud:oss/bucketPublicAccessBlock:BucketPublicAccessBlock": { - "description": "Provides a OSS Bucket Public Access Block resource. Blocking public access at the bucket-level.\n\nFor information about OSS Bucket Public Access Block and how to use it, see [What is Bucket Public Access Block](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketpublicaccessblock).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketPublicAccessBlock = new alicloud.oss.BucketPublicAccessBlock(\"default\", {\n bucket: createBucket.bucket,\n blockPublicAccess: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_public_access_block = alicloud.oss.BucketPublicAccessBlock(\"default\",\n bucket=create_bucket.bucket,\n block_public_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketPublicAccessBlock = new AliCloud.Oss.BucketPublicAccessBlock(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n BlockPublicAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketPublicAccessBlock(ctx, \"default\", \u0026oss.BucketPublicAccessBlockArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tBlockPublicAccess: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketPublicAccessBlock;\nimport com.pulumi.alicloud.oss.BucketPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketPublicAccessBlock = new BucketPublicAccessBlock(\"defaultBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(createBucket.bucket())\n .blockPublicAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketPublicAccessBlock:\n type: alicloud:oss:BucketPublicAccessBlock\n name: default\n properties:\n bucket: ${createBucket.bucket}\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Public Access Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketPublicAccessBlock:BucketPublicAccessBlock example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Public Access Block resource. Blocking public access at the bucket-level.\n\nFor information about OSS Bucket Public Access Block and how to use it, see [What is Bucket Public Access Block](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketpublicaccessblock).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketPublicAccessBlock = new alicloud.oss.BucketPublicAccessBlock(\"default\", {\n bucket: createBucket.bucket,\n blockPublicAccess: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_public_access_block = alicloud.oss.BucketPublicAccessBlock(\"default\",\n bucket=create_bucket.bucket,\n block_public_access=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketPublicAccessBlock = new AliCloud.Oss.BucketPublicAccessBlock(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n BlockPublicAccess = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketPublicAccessBlock(ctx, \"default\", \u0026oss.BucketPublicAccessBlockArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tBlockPublicAccess: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketPublicAccessBlock;\nimport com.pulumi.alicloud.oss.BucketPublicAccessBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketPublicAccessBlock = new BucketPublicAccessBlock(\"defaultBucketPublicAccessBlock\", BucketPublicAccessBlockArgs.builder()\n .bucket(createBucket.bucket())\n .blockPublicAccess(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketPublicAccessBlock:\n type: alicloud:oss:BucketPublicAccessBlock\n name: default\n properties:\n bucket: ${createBucket.bucket}\n blockPublicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Public Access Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketPublicAccessBlock:BucketPublicAccessBlock example \u003cid\u003e\n```\n\n", "properties": { "blockPublicAccess": { "type": "boolean", @@ -219907,7 +224965,7 @@ } }, "alicloud:oss/bucketReferer:BucketReferer": { - "description": "Provides a OSS Bucket Referer resource. Bucket Referer configuration (Hotlink protection).\n\nFor information about OSS Bucket Referer and how to use it, see [What is Bucket Referer](https://www.alibabacloud.com/help/en/oss/user-guide/hotlink-protection).\n\n\u003e **NOTE:** Available since v1.220.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketReferer = new alicloud.oss.BucketReferer(\"default\", {\n allowEmptyReferer: true,\n refererBlacklists: [\"*.forbidden.com\"],\n bucket: createBucket.bucket,\n truncatePath: false,\n allowTruncateQueryString: true,\n refererLists: [\n \"*.aliyun.com\",\n \"*.example.com\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_referer = alicloud.oss.BucketReferer(\"default\",\n allow_empty_referer=True,\n referer_blacklists=[\"*.forbidden.com\"],\n bucket=create_bucket.bucket,\n truncate_path=False,\n allow_truncate_query_string=True,\n referer_lists=[\n \"*.aliyun.com\",\n \"*.example.com\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketReferer = new AliCloud.Oss.BucketReferer(\"default\", new()\n {\n AllowEmptyReferer = true,\n RefererBlacklists = new[]\n {\n \"*.forbidden.com\",\n },\n Bucket = createBucket.BucketName,\n TruncatePath = false,\n AllowTruncateQueryString = true,\n RefererLists = new[]\n {\n \"*.aliyun.com\",\n \"*.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketReferer(ctx, \"default\", \u0026oss.BucketRefererArgs{\n\t\t\tAllowEmptyReferer: pulumi.Bool(true),\n\t\t\tRefererBlacklists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.forbidden.com\"),\n\t\t\t},\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tTruncatePath: pulumi.Bool(false),\n\t\t\tAllowTruncateQueryString: pulumi.Bool(true),\n\t\t\tRefererLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.aliyun.com\"),\n\t\t\t\tpulumi.String(\"*.example.com\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketReferer;\nimport com.pulumi.alicloud.oss.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketReferer = new BucketReferer(\"defaultBucketReferer\", BucketRefererArgs.builder()\n .allowEmptyReferer(true)\n .refererBlacklists(\"*.forbidden.com\")\n .bucket(createBucket.bucket())\n .truncatePath(false)\n .allowTruncateQueryString(true)\n .refererLists( \n \"*.aliyun.com\",\n \"*.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketReferer:\n type: alicloud:oss:BucketReferer\n name: default\n properties:\n allowEmptyReferer: 'true'\n refererBlacklists:\n - '*.forbidden.com'\n bucket: ${createBucket.bucket}\n truncatePath: 'false'\n allowTruncateQueryString: 'true'\n refererLists:\n - '*.aliyun.com'\n - '*.example.com'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Referer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketReferer:BucketReferer example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Referer resource. Bucket Referer configuration (Hotlink protection).\n\nFor information about OSS Bucket Referer and how to use it, see [What is Bucket Referer](https://www.alibabacloud.com/help/en/oss/user-guide/hotlink-protection).\n\n\u003e **NOTE:** Available since v1.220.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketReferer = new alicloud.oss.BucketReferer(\"default\", {\n allowEmptyReferer: true,\n refererBlacklists: [\"*.forbidden.com\"],\n bucket: createBucket.bucket,\n truncatePath: false,\n allowTruncateQueryString: true,\n refererLists: [\n \"*.aliyun.com\",\n \"*.example.com\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_referer = alicloud.oss.BucketReferer(\"default\",\n allow_empty_referer=True,\n referer_blacklists=[\"*.forbidden.com\"],\n bucket=create_bucket.bucket,\n truncate_path=False,\n allow_truncate_query_string=True,\n referer_lists=[\n \"*.aliyun.com\",\n \"*.example.com\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketReferer = new AliCloud.Oss.BucketReferer(\"default\", new()\n {\n AllowEmptyReferer = true,\n RefererBlacklists = new[]\n {\n \"*.forbidden.com\",\n },\n Bucket = createBucket.BucketName,\n TruncatePath = false,\n AllowTruncateQueryString = true,\n RefererLists = new[]\n {\n \"*.aliyun.com\",\n \"*.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketReferer(ctx, \"default\", \u0026oss.BucketRefererArgs{\n\t\t\tAllowEmptyReferer: pulumi.Bool(true),\n\t\t\tRefererBlacklists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.forbidden.com\"),\n\t\t\t},\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tTruncatePath: pulumi.Bool(false),\n\t\t\tAllowTruncateQueryString: pulumi.Bool(true),\n\t\t\tRefererLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.aliyun.com\"),\n\t\t\t\tpulumi.String(\"*.example.com\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketReferer;\nimport com.pulumi.alicloud.oss.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketReferer = new BucketReferer(\"defaultBucketReferer\", BucketRefererArgs.builder()\n .allowEmptyReferer(true)\n .refererBlacklists(\"*.forbidden.com\")\n .bucket(createBucket.bucket())\n .truncatePath(false)\n .allowTruncateQueryString(true)\n .refererLists( \n \"*.aliyun.com\",\n \"*.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketReferer:\n type: alicloud:oss:BucketReferer\n name: default\n properties:\n allowEmptyReferer: 'true'\n refererBlacklists:\n - '*.forbidden.com'\n bucket: ${createBucket.bucket}\n truncatePath: 'false'\n allowTruncateQueryString: 'true'\n refererLists:\n - '*.aliyun.com'\n - '*.example.com'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Referer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketReferer:BucketReferer example \u003cid\u003e\n```\n\n", "properties": { "allowEmptyReferer": { "type": "boolean", @@ -220021,7 +225079,7 @@ } }, "alicloud:oss/bucketReplication:BucketReplication": { - "description": "Provides an independent replication configuration resource for OSS bucket.\n\nFor information about OSS replication and how to use it, see [What is cross-region replication](https://www.alibabacloud.com/help/doc-detail/31864.html) and [What is same-region replication](https://www.alibabacloud.com/help/doc-detail/254865.html).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nSet bucket replication configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucketSrc = new alicloud.oss.Bucket(\"bucket_src\", {bucket: `example-src-${_default.result}`});\nconst bucketDest = new alicloud.oss.Bucket(\"bucket_dest\", {bucket: `example-dest-${_default.result}`});\nconst role = new alicloud.ram.Role(\"role\", {\n roleName: `example-role-${_default.result}`,\n assumeRolePolicyDocument: `\\\\t\\\\t{\n\\\\t\\\\t \\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t \\\\\"oss.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t\\\\t]\n\\\\t\\\\t\\\\t }\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t ],\n\\\\t\\\\t \\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n description: \"this is a test\",\n force: true,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `example-policy-${_default.result}`,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t \\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t \\\\\"Action\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"*\\\\\"\n\\\\t\\\\t\\\\t ],\n\\\\t\\\\t\\\\t \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Resource\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"*\\\\\"\n\\\\t\\\\t\\\\t ]\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t ],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n description: \"this is a policy test\",\n force: true,\n});\nconst attach = new alicloud.ram.RolePolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n roleName: role.roleName,\n});\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"Hello KMS\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst cross_region_replication = new alicloud.oss.BucketReplication(\"cross-region-replication\", {\n bucket: bucketSrc.id,\n action: \"PUT,DELETE\",\n historicalObjectReplication: \"enabled\",\n prefixSet: {\n prefixes: [\n \"prefix1/\",\n \"prefix2/\",\n ],\n },\n destination: {\n bucket: bucketDest.id,\n location: bucketDest.location,\n },\n syncRole: role.roleName,\n encryptionConfiguration: {\n replicaKmsKeyId: key.id,\n },\n sourceSelectionCriteria: {\n sseKmsEncryptedObjects: {\n status: \"Enabled\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_src = alicloud.oss.Bucket(\"bucket_src\", bucket=f\"example-src-{default['result']}\")\nbucket_dest = alicloud.oss.Bucket(\"bucket_dest\", bucket=f\"example-dest-{default['result']}\")\nrole = alicloud.ram.Role(\"role\",\n role_name=f\"example-role-{default['result']}\",\n assume_role_policy_document=\"\"\"\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n description=\"this is a test\",\n force=True)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"example-policy-{default['result']}\",\n policy_document=\"\"\"\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n description=\"this is a policy test\",\n force=True)\nattach = alicloud.ram.RolePolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n role_name=role.role_name)\nkey = alicloud.kms.Key(\"key\",\n description=\"Hello KMS\",\n pending_window_in_days=7,\n status=\"Enabled\")\ncross_region_replication = alicloud.oss.BucketReplication(\"cross-region-replication\",\n bucket=bucket_src.id,\n action=\"PUT,DELETE\",\n historical_object_replication=\"enabled\",\n prefix_set={\n \"prefixes\": [\n \"prefix1/\",\n \"prefix2/\",\n ],\n },\n destination={\n \"bucket\": bucket_dest.id,\n \"location\": bucket_dest.location,\n },\n sync_role=role.role_name,\n encryption_configuration={\n \"replica_kms_key_id\": key.id,\n },\n source_selection_criteria={\n \"sse_kms_encrypted_objects\": {\n \"status\": \"Enabled\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucketSrc = new AliCloud.Oss.Bucket(\"bucket_src\", new()\n {\n BucketName = $\"example-src-{@default.Result}\",\n });\n\n var bucketDest = new AliCloud.Oss.Bucket(\"bucket_dest\", new()\n {\n BucketName = $\"example-dest-{@default.Result}\",\n });\n\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n RoleName = $\"example-role-{@default.Result}\",\n AssumeRolePolicyDocument = @\"\\t\\t{\n\\t\\t \\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t \\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t \\\"\"oss.aliyuncs.com\\\"\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Description = \"this is a test\",\n Force = true,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"example-policy-{@default.Result}\",\n PolicyDocument = @\"\\t\\t{\n\\t\\t \\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"\"Action\\\"\": [\n\\t\\t\\t\\t\\\"\"*\\\"\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t \\\"\"Resource\\\"\": [\n\\t\\t\\t\\t\\\"\"*\\\"\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Description = \"this is a policy test\",\n Force = true,\n });\n\n var attach = new AliCloud.Ram.RolePolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n RoleName = role.RoleName,\n });\n\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"Hello KMS\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var cross_region_replication = new AliCloud.Oss.BucketReplication(\"cross-region-replication\", new()\n {\n Bucket = bucketSrc.Id,\n Action = \"PUT,DELETE\",\n HistoricalObjectReplication = \"enabled\",\n PrefixSet = new AliCloud.Oss.Inputs.BucketReplicationPrefixSetArgs\n {\n Prefixes = new[]\n {\n \"prefix1/\",\n \"prefix2/\",\n },\n },\n Destination = new AliCloud.Oss.Inputs.BucketReplicationDestinationArgs\n {\n Bucket = bucketDest.Id,\n Location = bucketDest.Location,\n },\n SyncRole = role.RoleName,\n EncryptionConfiguration = new AliCloud.Oss.Inputs.BucketReplicationEncryptionConfigurationArgs\n {\n ReplicaKmsKeyId = key.Id,\n },\n SourceSelectionCriteria = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaArgs\n {\n SseKmsEncryptedObjects = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs\n {\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketSrc, err := oss.NewBucket(ctx, \"bucket_src\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-src-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketDest, err := oss.NewBucket(ctx, \"bucket_dest\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-dest-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tRoleName: pulumi.Sprintf(\"example-role-%v\", _default.Result),\n\t\t\tAssumeRolePolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a test\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-policy-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"attach\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tRoleName: role.RoleName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Hello KMS\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\t_, err = oss.NewBucketReplication(ctx, \"cross-region-replication\", \u0026oss.BucketReplicationArgs{\n\t\t\tBucket: bucketSrc.ID(),\n\t\t\tAction: pulumi.String(\"PUT,DELETE\"),\n\t\t\tHistoricalObjectReplication: pulumi.String(\"enabled\"),\n\t\t\tPrefixSet: \u0026oss.BucketReplicationPrefixSetArgs{\n\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"prefix1/\"),\n\t\t\t\t\tpulumi.String(\"prefix2/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026oss.BucketReplicationDestinationArgs{\n\t\t\t\tBucket: bucketDest.ID(),\n\t\t\t\tLocation: bucketDest.Location,\n\t\t\t},\n\t\t\tSyncRole: role.RoleName,\n\t\t\tEncryptionConfiguration: \u0026oss.BucketReplicationEncryptionConfigurationArgs{\n\t\t\t\tReplicaKmsKeyId: key.ID(),\n\t\t\t},\n\t\t\tSourceSelectionCriteria: \u0026oss.BucketReplicationSourceSelectionCriteriaArgs{\n\t\t\t\tSseKmsEncryptedObjects: \u0026oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oss.BucketReplication;\nimport com.pulumi.alicloud.oss.BucketReplicationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationPrefixSetArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationDestinationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationEncryptionConfigurationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucketSrc = new Bucket(\"bucketSrc\", BucketArgs.builder()\n .bucket(String.format(\"example-src-%s\", default_.result()))\n .build());\n\n var bucketDest = new Bucket(\"bucketDest\", BucketArgs.builder()\n .bucket(String.format(\"example-dest-%s\", default_.result()))\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .roleName(String.format(\"example-role-%s\", default_.result()))\n .assumeRolePolicyDocument(\"\"\"\n\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .description(\"this is a test\")\n .force(true)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"example-policy-%s\", default_.result()))\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .description(\"this is a policy test\")\n .force(true)\n .build());\n\n var attach = new RolePolicyAttachment(\"attach\", RolePolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .roleName(role.roleName())\n .build());\n\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var cross_region_replication = new BucketReplication(\"cross-region-replication\", BucketReplicationArgs.builder()\n .bucket(bucketSrc.id())\n .action(\"PUT,DELETE\")\n .historicalObjectReplication(\"enabled\")\n .prefixSet(BucketReplicationPrefixSetArgs.builder()\n .prefixes( \n \"prefix1/\",\n \"prefix2/\")\n .build())\n .destination(BucketReplicationDestinationArgs.builder()\n .bucket(bucketDest.id())\n .location(bucketDest.location())\n .build())\n .syncRole(role.roleName())\n .encryptionConfiguration(BucketReplicationEncryptionConfigurationArgs.builder()\n .replicaKmsKeyId(key.id())\n .build())\n .sourceSelectionCriteria(BucketReplicationSourceSelectionCriteriaArgs.builder()\n .sseKmsEncryptedObjects(BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs.builder()\n .status(\"Enabled\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucketSrc:\n type: alicloud:oss:Bucket\n name: bucket_src\n properties:\n bucket: example-src-${default.result}\n bucketDest:\n type: alicloud:oss:Bucket\n name: bucket_dest\n properties:\n bucket: example-dest-${default.result}\n role:\n type: alicloud:ram:Role\n properties:\n roleName: example-role-${default.result}\n assumeRolePolicyDocument: |\n \\t\\t{\n \\t\\t \\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t \\\"Principal\\\": {\n \\t\\t\\t\\t\\\"Service\\\": [\n \\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n \\t\\t\\t\\t]\n \\t\\t\\t }\n \\t\\t\\t}\n \\t\\t ],\n \\t\\t \\\"Version\\\": \\\"1\\\"\n \\t\\t}\n description: this is a test\n force: true\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: example-policy-${default.result}\n policyDocument: |\n \\t\\t{\n \\t\\t \\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t \\\"Action\\\": [\n \\t\\t\\t\\t\\\"*\\\"\n \\t\\t\\t ],\n \\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t \\\"Resource\\\": [\n \\t\\t\\t\\t\\\"*\\\"\n \\t\\t\\t ]\n \\t\\t\\t}\n \\t\\t ],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n description: this is a policy test\n force: true\n attach:\n type: alicloud:ram:RolePolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n roleName: ${role.roleName}\n key:\n type: alicloud:kms:Key\n properties:\n description: Hello KMS\n pendingWindowInDays: '7'\n status: Enabled\n cross-region-replication:\n type: alicloud:oss:BucketReplication\n properties:\n bucket: ${bucketSrc.id}\n action: PUT,DELETE\n historicalObjectReplication: enabled\n prefixSet:\n prefixes:\n - prefix1/\n - prefix2/\n destination:\n bucket: ${bucketDest.id}\n location: ${bucketDest.location}\n syncRole: ${role.roleName}\n encryptionConfiguration:\n replicaKmsKeyId: ${key.id}\n sourceSelectionCriteria:\n sseKmsEncryptedObjects:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOss Bucket Replication can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketReplication:BucketReplication example \n```\n\n", + "description": "Provides an independent replication configuration resource for OSS bucket.\n\nFor information about OSS replication and how to use it, see [What is cross-region replication](https://www.alibabacloud.com/help/doc-detail/31864.html) and [What is same-region replication](https://www.alibabacloud.com/help/doc-detail/254865.html).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nSet bucket replication configuration\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst bucketSrc = new alicloud.oss.Bucket(\"bucket_src\", {bucket: `example-src-${_default.result}`});\nconst bucketDest = new alicloud.oss.Bucket(\"bucket_dest\", {bucket: `example-dest-${_default.result}`});\nconst role = new alicloud.ram.Role(\"role\", {\n roleName: `example-role-${_default.result}`,\n assumeRolePolicyDocument: `\\\\t\\\\t{\n\\\\t\\\\t \\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Principal\\\\\": {\n\\\\t\\\\t\\\\t\\\\t\\\\\"Service\\\\\": [\n\\\\t\\\\t\\\\t\\\\t \\\\\"oss.aliyuncs.com\\\\\"\n\\\\t\\\\t\\\\t\\\\t]\n\\\\t\\\\t\\\\t }\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t ],\n\\\\t\\\\t \\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n description: \"this is a test\",\n force: true,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `example-policy-${_default.result}`,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t \\\\\"Statement\\\\\": [\n\\\\t\\\\t\\\\t{\n\\\\t\\\\t\\\\t \\\\\"Action\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"*\\\\\"\n\\\\t\\\\t\\\\t ],\n\\\\t\\\\t\\\\t \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t \\\\\"Resource\\\\\": [\n\\\\t\\\\t\\\\t\\\\t\\\\\"*\\\\\"\n\\\\t\\\\t\\\\t ]\n\\\\t\\\\t\\\\t}\n\\\\t\\\\t ],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n description: \"this is a policy test\",\n force: true,\n});\nconst attach = new alicloud.ram.RolePolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n roleName: role.roleName,\n});\nconst key = new alicloud.kms.Key(\"key\", {\n description: \"Hello KMS\",\n pendingWindowInDays: 7,\n status: \"Enabled\",\n});\nconst cross_region_replication = new alicloud.oss.BucketReplication(\"cross-region-replication\", {\n bucket: bucketSrc.id,\n action: \"PUT,DELETE\",\n historicalObjectReplication: \"enabled\",\n prefixSet: {\n prefixes: [\n \"prefix1/\",\n \"prefix2/\",\n ],\n },\n destination: {\n bucket: bucketDest.id,\n location: bucketDest.location,\n },\n syncRole: role.roleName,\n encryptionConfiguration: {\n replicaKmsKeyId: key.id,\n },\n sourceSelectionCriteria: {\n sseKmsEncryptedObjects: {\n status: \"Enabled\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nbucket_src = alicloud.oss.Bucket(\"bucket_src\", bucket=f\"example-src-{default['result']}\")\nbucket_dest = alicloud.oss.Bucket(\"bucket_dest\", bucket=f\"example-dest-{default['result']}\")\nrole = alicloud.ram.Role(\"role\",\n role_name=f\"example-role-{default['result']}\",\n assume_role_policy_document=\"\"\"\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n description=\"this is a test\",\n force=True)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"example-policy-{default['result']}\",\n policy_document=\"\"\"\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\",\n description=\"this is a policy test\",\n force=True)\nattach = alicloud.ram.RolePolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n role_name=role.role_name)\nkey = alicloud.kms.Key(\"key\",\n description=\"Hello KMS\",\n pending_window_in_days=7,\n status=\"Enabled\")\ncross_region_replication = alicloud.oss.BucketReplication(\"cross-region-replication\",\n bucket=bucket_src.id,\n action=\"PUT,DELETE\",\n historical_object_replication=\"enabled\",\n prefix_set={\n \"prefixes\": [\n \"prefix1/\",\n \"prefix2/\",\n ],\n },\n destination={\n \"bucket\": bucket_dest.id,\n \"location\": bucket_dest.location,\n },\n sync_role=role.role_name,\n encryption_configuration={\n \"replica_kms_key_id\": key.id,\n },\n source_selection_criteria={\n \"sse_kms_encrypted_objects\": {\n \"status\": \"Enabled\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var bucketSrc = new AliCloud.Oss.Bucket(\"bucket_src\", new()\n {\n BucketName = $\"example-src-{@default.Result}\",\n });\n\n var bucketDest = new AliCloud.Oss.Bucket(\"bucket_dest\", new()\n {\n BucketName = $\"example-dest-{@default.Result}\",\n });\n\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n RoleName = $\"example-role-{@default.Result}\",\n AssumeRolePolicyDocument = @\"\\t\\t{\n\\t\\t \\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n\\t\\t\\t \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t \\\"\"Principal\\\"\": {\n\\t\\t\\t\\t\\\"\"Service\\\"\": [\n\\t\\t\\t\\t \\\"\"oss.aliyuncs.com\\\"\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Description = \"this is a test\",\n Force = true,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"example-policy-{@default.Result}\",\n PolicyDocument = @\"\\t\\t{\n\\t\\t \\\"\"Statement\\\"\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"\"Action\\\"\": [\n\\t\\t\\t\\t\\\"\"*\\\"\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t \\\"\"Resource\\\"\": [\n\\t\\t\\t\\t\\\"\"*\\\"\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n Description = \"this is a policy test\",\n Force = true,\n });\n\n var attach = new AliCloud.Ram.RolePolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n RoleName = role.RoleName,\n });\n\n var key = new AliCloud.Kms.Key(\"key\", new()\n {\n Description = \"Hello KMS\",\n PendingWindowInDays = 7,\n Status = \"Enabled\",\n });\n\n var cross_region_replication = new AliCloud.Oss.BucketReplication(\"cross-region-replication\", new()\n {\n Bucket = bucketSrc.Id,\n Action = \"PUT,DELETE\",\n HistoricalObjectReplication = \"enabled\",\n PrefixSet = new AliCloud.Oss.Inputs.BucketReplicationPrefixSetArgs\n {\n Prefixes = new[]\n {\n \"prefix1/\",\n \"prefix2/\",\n },\n },\n Destination = new AliCloud.Oss.Inputs.BucketReplicationDestinationArgs\n {\n Bucket = bucketDest.Id,\n Location = bucketDest.Location,\n },\n SyncRole = role.RoleName,\n EncryptionConfiguration = new AliCloud.Oss.Inputs.BucketReplicationEncryptionConfigurationArgs\n {\n ReplicaKmsKeyId = key.Id,\n },\n SourceSelectionCriteria = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaArgs\n {\n SseKmsEncryptedObjects = new AliCloud.Oss.Inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs\n {\n Status = \"Enabled\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketSrc, err := oss.NewBucket(ctx, \"bucket_src\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-src-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketDest, err := oss.NewBucket(ctx, \"bucket_dest\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"example-dest-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tRoleName: pulumi.Sprintf(\"example-role-%v\", _default.Result),\n\t\t\tAssumeRolePolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a test\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"example-policy-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"attach\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tRoleName: role.RoleName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey, err := kms.NewKey(ctx, \"key\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Hello KMS\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\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\t_, err = oss.NewBucketReplication(ctx, \"cross-region-replication\", \u0026oss.BucketReplicationArgs{\n\t\t\tBucket: bucketSrc.ID(),\n\t\t\tAction: pulumi.String(\"PUT,DELETE\"),\n\t\t\tHistoricalObjectReplication: pulumi.String(\"enabled\"),\n\t\t\tPrefixSet: \u0026oss.BucketReplicationPrefixSetArgs{\n\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"prefix1/\"),\n\t\t\t\t\tpulumi.String(\"prefix2/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDestination: \u0026oss.BucketReplicationDestinationArgs{\n\t\t\t\tBucket: bucketDest.ID(),\n\t\t\t\tLocation: bucketDest.Location,\n\t\t\t},\n\t\t\tSyncRole: role.RoleName,\n\t\t\tEncryptionConfiguration: \u0026oss.BucketReplicationEncryptionConfigurationArgs{\n\t\t\t\tReplicaKmsKeyId: key.ID(),\n\t\t\t},\n\t\t\tSourceSelectionCriteria: \u0026oss.BucketReplicationSourceSelectionCriteriaArgs{\n\t\t\t\tSseKmsEncryptedObjects: \u0026oss.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oss.BucketReplication;\nimport com.pulumi.alicloud.oss.BucketReplicationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationPrefixSetArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationDestinationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationEncryptionConfigurationArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var bucketSrc = new Bucket(\"bucketSrc\", BucketArgs.builder()\n .bucket(String.format(\"example-src-%s\", default_.result()))\n .build());\n\n var bucketDest = new Bucket(\"bucketDest\", BucketArgs.builder()\n .bucket(String.format(\"example-dest-%s\", default_.result()))\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .roleName(String.format(\"example-role-%s\", default_.result()))\n .assumeRolePolicyDocument(\"\"\"\n\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Principal\\\": {\n\\t\\t\\t\\t\\\"Service\\\": [\n\\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n\\t\\t\\t\\t]\n\\t\\t\\t }\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t \\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .description(\"this is a test\")\n .force(true)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"example-policy-%s\", default_.result()))\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t \\\"Statement\\\": [\n\\t\\t\\t{\n\\t\\t\\t \\\"Action\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ],\n\\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t \\\"Resource\\\": [\n\\t\\t\\t\\t\\\"*\\\"\n\\t\\t\\t ]\n\\t\\t\\t}\n\\t\\t ],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .description(\"this is a policy test\")\n .force(true)\n .build());\n\n var attach = new RolePolicyAttachment(\"attach\", RolePolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .roleName(role.roleName())\n .build());\n\n var key = new Key(\"key\", KeyArgs.builder()\n .description(\"Hello KMS\")\n .pendingWindowInDays(7)\n .status(\"Enabled\")\n .build());\n\n var cross_region_replication = new BucketReplication(\"cross-region-replication\", BucketReplicationArgs.builder()\n .bucket(bucketSrc.id())\n .action(\"PUT,DELETE\")\n .historicalObjectReplication(\"enabled\")\n .prefixSet(BucketReplicationPrefixSetArgs.builder()\n .prefixes( \n \"prefix1/\",\n \"prefix2/\")\n .build())\n .destination(BucketReplicationDestinationArgs.builder()\n .bucket(bucketDest.id())\n .location(bucketDest.location())\n .build())\n .syncRole(role.roleName())\n .encryptionConfiguration(BucketReplicationEncryptionConfigurationArgs.builder()\n .replicaKmsKeyId(key.id())\n .build())\n .sourceSelectionCriteria(BucketReplicationSourceSelectionCriteriaArgs.builder()\n .sseKmsEncryptedObjects(BucketReplicationSourceSelectionCriteriaSseKmsEncryptedObjectsArgs.builder()\n .status(\"Enabled\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n bucketSrc:\n type: alicloud:oss:Bucket\n name: bucket_src\n properties:\n bucket: example-src-${default.result}\n bucketDest:\n type: alicloud:oss:Bucket\n name: bucket_dest\n properties:\n bucket: example-dest-${default.result}\n role:\n type: alicloud:ram:Role\n properties:\n roleName: example-role-${default.result}\n assumeRolePolicyDocument: |\n \\t\\t{\n \\t\\t \\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t \\\"Principal\\\": {\n \\t\\t\\t\\t\\\"Service\\\": [\n \\t\\t\\t\\t \\\"oss.aliyuncs.com\\\"\n \\t\\t\\t\\t]\n \\t\\t\\t }\n \\t\\t\\t}\n \\t\\t ],\n \\t\\t \\\"Version\\\": \\\"1\\\"\n \\t\\t}\n description: this is a test\n force: true\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: example-policy-${default.result}\n policyDocument: |\n \\t\\t{\n \\t\\t \\\"Statement\\\": [\n \\t\\t\\t{\n \\t\\t\\t \\\"Action\\\": [\n \\t\\t\\t\\t\\\"*\\\"\n \\t\\t\\t ],\n \\t\\t\\t \\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t \\\"Resource\\\": [\n \\t\\t\\t\\t\\\"*\\\"\n \\t\\t\\t ]\n \\t\\t\\t}\n \\t\\t ],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n description: this is a policy test\n force: true\n attach:\n type: alicloud:ram:RolePolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n roleName: ${role.roleName}\n key:\n type: alicloud:kms:Key\n properties:\n description: Hello KMS\n pendingWindowInDays: '7'\n status: Enabled\n cross-region-replication:\n type: alicloud:oss:BucketReplication\n properties:\n bucket: ${bucketSrc.id}\n action: PUT,DELETE\n historicalObjectReplication: enabled\n prefixSet:\n prefixes:\n - prefix1/\n - prefix2/\n destination:\n bucket: ${bucketDest.id}\n location: ${bucketDest.location}\n syncRole: ${role.roleName}\n encryptionConfiguration:\n replicaKmsKeyId: ${key.id}\n sourceSelectionCriteria:\n sseKmsEncryptedObjects:\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOss Bucket Replication can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketReplication:BucketReplication example \n```\n\n", "properties": { "action": { "type": "string", @@ -220244,7 +225302,7 @@ } }, "alicloud:oss/bucketServerSideEncryption:BucketServerSideEncryption": { - "description": "Provides a OSS Bucket Server Side Encryption resource. Server-side encryption rules of the bucket.\n\nFor information about OSS Bucket Server Side Encryption and how to use it, see [What is Bucket Server Side Encryption](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketencryption).\n\n\u003e **NOTE:** Available since v1.222.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst getKMS = new alicloud.kms.Key(\"GetKMS\", {\n origin: \"Aliyun_KMS\",\n protectionLevel: \"SOFTWARE\",\n description: name,\n keySpec: \"Aliyun_AES_256\",\n keyUsage: \"ENCRYPT/DECRYPT\",\n automaticRotation: \"Disabled\",\n pendingWindowInDays: 7,\n});\nconst defaultBucketServerSideEncryption = new alicloud.oss.BucketServerSideEncryption(\"default\", {\n kmsDataEncryption: \"SM4\",\n kmsMasterKeyId: getKMS.id,\n bucket: createBucket.bucket,\n sseAlgorithm: \"KMS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\nget_kms = alicloud.kms.Key(\"GetKMS\",\n origin=\"Aliyun_KMS\",\n protection_level=\"SOFTWARE\",\n description=name,\n key_spec=\"Aliyun_AES_256\",\n key_usage=\"ENCRYPT/DECRYPT\",\n automatic_rotation=\"Disabled\",\n pending_window_in_days=7)\ndefault_bucket_server_side_encryption = alicloud.oss.BucketServerSideEncryption(\"default\",\n kms_data_encryption=\"SM4\",\n kms_master_key_id=get_kms.id,\n bucket=create_bucket.bucket,\n sse_algorithm=\"KMS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var getKMS = new AliCloud.Kms.Key(\"GetKMS\", new()\n {\n Origin = \"Aliyun_KMS\",\n ProtectionLevel = \"SOFTWARE\",\n Description = name,\n KeySpec = \"Aliyun_AES_256\",\n KeyUsage = \"ENCRYPT/DECRYPT\",\n AutomaticRotation = \"Disabled\",\n PendingWindowInDays = 7,\n });\n\n var defaultBucketServerSideEncryption = new AliCloud.Oss.BucketServerSideEncryption(\"default\", new()\n {\n KmsDataEncryption = \"SM4\",\n KmsMasterKeyId = getKMS.Id,\n Bucket = createBucket.BucketName,\n SseAlgorithm = \"KMS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgetKMS, err := kms.NewKey(ctx, \"GetKMS\", \u0026kms.KeyArgs{\n\t\t\tOrigin: pulumi.String(\"Aliyun_KMS\"),\n\t\t\tProtectionLevel: pulumi.String(\"SOFTWARE\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tKeySpec: pulumi.String(\"Aliyun_AES_256\"),\n\t\t\tKeyUsage: pulumi.String(\"ENCRYPT/DECRYPT\"),\n\t\t\tAutomaticRotation: pulumi.String(\"Disabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketServerSideEncryption(ctx, \"default\", \u0026oss.BucketServerSideEncryptionArgs{\n\t\t\tKmsDataEncryption: pulumi.String(\"SM4\"),\n\t\t\tKmsMasterKeyId: getKMS.ID(),\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tSseAlgorithm: pulumi.String(\"KMS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oss.BucketServerSideEncryption;\nimport com.pulumi.alicloud.oss.BucketServerSideEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var getKMS = new Key(\"getKMS\", KeyArgs.builder()\n .origin(\"Aliyun_KMS\")\n .protectionLevel(\"SOFTWARE\")\n .description(name)\n .keySpec(\"Aliyun_AES_256\")\n .keyUsage(\"ENCRYPT/DECRYPT\")\n .automaticRotation(\"Disabled\")\n .pendingWindowInDays(7)\n .build());\n\n var defaultBucketServerSideEncryption = new BucketServerSideEncryption(\"defaultBucketServerSideEncryption\", BucketServerSideEncryptionArgs.builder()\n .kmsDataEncryption(\"SM4\")\n .kmsMasterKeyId(getKMS.id())\n .bucket(createBucket.bucket())\n .sseAlgorithm(\"KMS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n getKMS:\n type: alicloud:kms:Key\n name: GetKMS\n properties:\n origin: Aliyun_KMS\n protectionLevel: SOFTWARE\n description: ${name}\n keySpec: Aliyun_AES_256\n keyUsage: ENCRYPT/DECRYPT\n automaticRotation: Disabled\n pendingWindowInDays: 7\n defaultBucketServerSideEncryption:\n type: alicloud:oss:BucketServerSideEncryption\n name: default\n properties:\n kmsDataEncryption: SM4\n kmsMasterKeyId: ${getKMS.id}\n bucket: ${createBucket.bucket}\n sseAlgorithm: KMS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Server Side Encryption can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketServerSideEncryption:BucketServerSideEncryption example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Server Side Encryption resource. Server-side encryption rules of the bucket.\n\nFor information about OSS Bucket Server Side Encryption and how to use it, see [What is Bucket Server Side Encryption](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketencryption).\n\n\u003e **NOTE:** Available since v1.222.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst getKMS = new alicloud.kms.Key(\"GetKMS\", {\n origin: \"Aliyun_KMS\",\n protectionLevel: \"SOFTWARE\",\n description: name,\n keySpec: \"Aliyun_AES_256\",\n keyUsage: \"ENCRYPT/DECRYPT\",\n automaticRotation: \"Disabled\",\n pendingWindowInDays: 7,\n});\nconst defaultBucketServerSideEncryption = new alicloud.oss.BucketServerSideEncryption(\"default\", {\n kmsDataEncryption: \"SM4\",\n kmsMasterKeyId: getKMS.id,\n bucket: createBucket.bucket,\n sseAlgorithm: \"KMS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\nget_kms = alicloud.kms.Key(\"GetKMS\",\n origin=\"Aliyun_KMS\",\n protection_level=\"SOFTWARE\",\n description=name,\n key_spec=\"Aliyun_AES_256\",\n key_usage=\"ENCRYPT/DECRYPT\",\n automatic_rotation=\"Disabled\",\n pending_window_in_days=7)\ndefault_bucket_server_side_encryption = alicloud.oss.BucketServerSideEncryption(\"default\",\n kms_data_encryption=\"SM4\",\n kms_master_key_id=get_kms.id,\n bucket=create_bucket.bucket,\n sse_algorithm=\"KMS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var getKMS = new AliCloud.Kms.Key(\"GetKMS\", new()\n {\n Origin = \"Aliyun_KMS\",\n ProtectionLevel = \"SOFTWARE\",\n Description = name,\n KeySpec = \"Aliyun_AES_256\",\n KeyUsage = \"ENCRYPT/DECRYPT\",\n AutomaticRotation = \"Disabled\",\n PendingWindowInDays = 7,\n });\n\n var defaultBucketServerSideEncryption = new AliCloud.Oss.BucketServerSideEncryption(\"default\", new()\n {\n KmsDataEncryption = \"SM4\",\n KmsMasterKeyId = getKMS.Id,\n Bucket = createBucket.BucketName,\n SseAlgorithm = \"KMS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgetKMS, err := kms.NewKey(ctx, \"GetKMS\", \u0026kms.KeyArgs{\n\t\t\tOrigin: pulumi.String(\"Aliyun_KMS\"),\n\t\t\tProtectionLevel: pulumi.String(\"SOFTWARE\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tKeySpec: pulumi.String(\"Aliyun_AES_256\"),\n\t\t\tKeyUsage: pulumi.String(\"ENCRYPT/DECRYPT\"),\n\t\t\tAutomaticRotation: pulumi.String(\"Disabled\"),\n\t\t\tPendingWindowInDays: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketServerSideEncryption(ctx, \"default\", \u0026oss.BucketServerSideEncryptionArgs{\n\t\t\tKmsDataEncryption: pulumi.String(\"SM4\"),\n\t\t\tKmsMasterKeyId: getKMS.ID(),\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tSseAlgorithm: pulumi.String(\"KMS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.kms.Key;\nimport com.pulumi.alicloud.kms.KeyArgs;\nimport com.pulumi.alicloud.oss.BucketServerSideEncryption;\nimport com.pulumi.alicloud.oss.BucketServerSideEncryptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var getKMS = new Key(\"getKMS\", KeyArgs.builder()\n .origin(\"Aliyun_KMS\")\n .protectionLevel(\"SOFTWARE\")\n .description(name)\n .keySpec(\"Aliyun_AES_256\")\n .keyUsage(\"ENCRYPT/DECRYPT\")\n .automaticRotation(\"Disabled\")\n .pendingWindowInDays(7)\n .build());\n\n var defaultBucketServerSideEncryption = new BucketServerSideEncryption(\"defaultBucketServerSideEncryption\", BucketServerSideEncryptionArgs.builder()\n .kmsDataEncryption(\"SM4\")\n .kmsMasterKeyId(getKMS.id())\n .bucket(createBucket.bucket())\n .sseAlgorithm(\"KMS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n getKMS:\n type: alicloud:kms:Key\n name: GetKMS\n properties:\n origin: Aliyun_KMS\n protectionLevel: SOFTWARE\n description: ${name}\n keySpec: Aliyun_AES_256\n keyUsage: ENCRYPT/DECRYPT\n automaticRotation: Disabled\n pendingWindowInDays: 7\n defaultBucketServerSideEncryption:\n type: alicloud:oss:BucketServerSideEncryption\n name: default\n properties:\n kmsDataEncryption: SM4\n kmsMasterKeyId: ${getKMS.id}\n bucket: ${createBucket.bucket}\n sseAlgorithm: KMS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Server Side Encryption can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketServerSideEncryption:BucketServerSideEncryption example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -220315,7 +225373,7 @@ } }, "alicloud:oss/bucketStyle:BucketStyle": { - "description": "Provides a OSS Bucket Style resource.\n\nImage styles that contain single or multiple image processing parameters.\n\nFor information about OSS Bucket Style and how to use it, see [What is Bucket Style](https://next.api.alibabacloud.com/document/Oss/2019-05-17/PutStyle).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketStyle = new alicloud.oss.BucketStyle(\"default\", {\n bucket: createBucket.id,\n styleName: \"style-933\",\n content: \"image/resize,p_75,w_75\",\n category: \"document\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_style = alicloud.oss.BucketStyle(\"default\",\n bucket=create_bucket.id,\n style_name=\"style-933\",\n content=\"image/resize,p_75,w_75\",\n category=\"document\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketStyle = new AliCloud.Oss.BucketStyle(\"default\", new()\n {\n Bucket = createBucket.Id,\n StyleName = \"style-933\",\n Content = \"image/resize,p_75,w_75\",\n Category = \"document\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketStyle(ctx, \"default\", \u0026oss.BucketStyleArgs{\n\t\t\tBucket: createBucket.ID(),\n\t\t\tStyleName: pulumi.String(\"style-933\"),\n\t\t\tContent: pulumi.String(\"image/resize,p_75,w_75\"),\n\t\t\tCategory: pulumi.String(\"document\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketStyle;\nimport com.pulumi.alicloud.oss.BucketStyleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketStyle = new BucketStyle(\"defaultBucketStyle\", BucketStyleArgs.builder()\n .bucket(createBucket.id())\n .styleName(\"style-933\")\n .content(\"image/resize,p_75,w_75\")\n .category(\"document\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketStyle:\n type: alicloud:oss:BucketStyle\n name: default\n properties:\n bucket: ${createBucket.id}\n styleName: style-933\n content: image/resize,p_75,w_75\n category: document\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Style can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketStyle:BucketStyle example \u003cbucket\u003e:\u003cstyle_name\u003e\n```\n\n", + "description": "Provides a OSS Bucket Style resource.\n\nImage styles that contain single or multiple image processing parameters.\n\nFor information about OSS Bucket Style and how to use it, see [What is Bucket Style](https://next.api.alibabacloud.com/document/Oss/2019-05-17/PutStyle).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketStyle = new alicloud.oss.BucketStyle(\"default\", {\n bucket: createBucket.id,\n styleName: \"style-933\",\n content: \"image/resize,p_75,w_75\",\n category: \"document\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_style = alicloud.oss.BucketStyle(\"default\",\n bucket=create_bucket.id,\n style_name=\"style-933\",\n content=\"image/resize,p_75,w_75\",\n category=\"document\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketStyle = new AliCloud.Oss.BucketStyle(\"default\", new()\n {\n Bucket = createBucket.Id,\n StyleName = \"style-933\",\n Content = \"image/resize,p_75,w_75\",\n Category = \"document\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketStyle(ctx, \"default\", \u0026oss.BucketStyleArgs{\n\t\t\tBucket: createBucket.ID(),\n\t\t\tStyleName: pulumi.String(\"style-933\"),\n\t\t\tContent: pulumi.String(\"image/resize,p_75,w_75\"),\n\t\t\tCategory: pulumi.String(\"document\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketStyle;\nimport com.pulumi.alicloud.oss.BucketStyleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketStyle = new BucketStyle(\"defaultBucketStyle\", BucketStyleArgs.builder()\n .bucket(createBucket.id())\n .styleName(\"style-933\")\n .content(\"image/resize,p_75,w_75\")\n .category(\"document\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketStyle:\n type: alicloud:oss:BucketStyle\n name: default\n properties:\n bucket: ${createBucket.id}\n styleName: style-933\n content: image/resize,p_75,w_75\n category: document\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Style can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketStyle:BucketStyle example \u003cbucket\u003e:\u003cstyle_name\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -220445,7 +225503,7 @@ } }, "alicloud:oss/bucketUserDefinedLogFields:BucketUserDefinedLogFields": { - "description": "Provides a OSS Bucket User Defined Log Fields resource. Used to personalize the\u003cspan pulumi-lang-nodejs=\" userDefinedLogFields \" pulumi-lang-dotnet=\" UserDefinedLogFields \" pulumi-lang-go=\" userDefinedLogFields \" pulumi-lang-python=\" user_defined_log_fields \" pulumi-lang-yaml=\" userDefinedLogFields \" pulumi-lang-java=\" userDefinedLogFields \"\u003e user_defined_log_fields \u003c/span\u003efield in the Bucket real-time log.\n\nFor information about OSS Bucket User Defined Log Fields and how to use it, see [What is Bucket User Defined Log Fields](https://www.alibabacloud.com/help/en/oss/developer-reference/putuserdefinedlogfieldsconfig).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketUserDefinedLogFields = new alicloud.oss.BucketUserDefinedLogFields(\"default\", {\n bucket: createBucket.bucket,\n paramSets: [\n \"oss-example\",\n \"example-para\",\n \"abc\",\n ],\n headerSets: [\n \"def\",\n \"example-header\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_user_defined_log_fields = alicloud.oss.BucketUserDefinedLogFields(\"default\",\n bucket=create_bucket.bucket,\n param_sets=[\n \"oss-example\",\n \"example-para\",\n \"abc\",\n ],\n header_sets=[\n \"def\",\n \"example-header\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketUserDefinedLogFields = new AliCloud.Oss.BucketUserDefinedLogFields(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n ParamSets = new[]\n {\n \"oss-example\",\n \"example-para\",\n \"abc\",\n },\n HeaderSets = new[]\n {\n \"def\",\n \"example-header\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketUserDefinedLogFields(ctx, \"default\", \u0026oss.BucketUserDefinedLogFieldsArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tParamSets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"oss-example\"),\n\t\t\t\tpulumi.String(\"example-para\"),\n\t\t\t\tpulumi.String(\"abc\"),\n\t\t\t},\n\t\t\tHeaderSets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"def\"),\n\t\t\t\tpulumi.String(\"example-header\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketUserDefinedLogFields;\nimport com.pulumi.alicloud.oss.BucketUserDefinedLogFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketUserDefinedLogFields = new BucketUserDefinedLogFields(\"defaultBucketUserDefinedLogFields\", BucketUserDefinedLogFieldsArgs.builder()\n .bucket(createBucket.bucket())\n .paramSets( \n \"oss-example\",\n \"example-para\",\n \"abc\")\n .headerSets( \n \"def\",\n \"example-header\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketUserDefinedLogFields:\n type: alicloud:oss:BucketUserDefinedLogFields\n name: default\n properties:\n bucket: ${createBucket.bucket}\n paramSets:\n - oss-example\n - example-para\n - abc\n headerSets:\n - def\n - example-header\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket User Defined Log Fields can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketUserDefinedLogFields:BucketUserDefinedLogFields example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket User Defined Log Fields resource. Used to personalize the\u003cspan pulumi-lang-nodejs=\" userDefinedLogFields \" pulumi-lang-dotnet=\" UserDefinedLogFields \" pulumi-lang-go=\" userDefinedLogFields \" pulumi-lang-python=\" user_defined_log_fields \" pulumi-lang-yaml=\" userDefinedLogFields \" pulumi-lang-java=\" userDefinedLogFields \"\u003e user_defined_log_fields \u003c/span\u003efield in the Bucket real-time log.\n\nFor information about OSS Bucket User Defined Log Fields and how to use it, see [What is Bucket User Defined Log Fields](https://www.alibabacloud.com/help/en/oss/developer-reference/putuserdefinedlogfieldsconfig).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst createBucket = new alicloud.oss.Bucket(\"CreateBucket\", {\n storageClass: \"Standard\",\n bucket: `${name}-${_default.result}`,\n});\nconst defaultBucketUserDefinedLogFields = new alicloud.oss.BucketUserDefinedLogFields(\"default\", {\n bucket: createBucket.bucket,\n paramSets: [\n \"oss-example\",\n \"example-para\",\n \"abc\",\n ],\n headerSets: [\n \"def\",\n \"example-header\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ncreate_bucket = alicloud.oss.Bucket(\"CreateBucket\",\n storage_class=\"Standard\",\n bucket=f\"{name}-{default['result']}\")\ndefault_bucket_user_defined_log_fields = alicloud.oss.BucketUserDefinedLogFields(\"default\",\n bucket=create_bucket.bucket,\n param_sets=[\n \"oss-example\",\n \"example-para\",\n \"abc\",\n ],\n header_sets=[\n \"def\",\n \"example-header\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var createBucket = new AliCloud.Oss.Bucket(\"CreateBucket\", new()\n {\n StorageClass = \"Standard\",\n BucketName = $\"{name}-{@default.Result}\",\n });\n\n var defaultBucketUserDefinedLogFields = new AliCloud.Oss.BucketUserDefinedLogFields(\"default\", new()\n {\n Bucket = createBucket.BucketName,\n ParamSets = new[]\n {\n \"oss-example\",\n \"example-para\",\n \"abc\",\n },\n HeaderSets = new[]\n {\n \"def\",\n \"example-header\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateBucket, err := oss.NewBucket(ctx, \"CreateBucket\", \u0026oss.BucketArgs{\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketUserDefinedLogFields(ctx, \"default\", \u0026oss.BucketUserDefinedLogFieldsArgs{\n\t\t\tBucket: createBucket.Bucket,\n\t\t\tParamSets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"oss-example\"),\n\t\t\t\tpulumi.String(\"example-para\"),\n\t\t\t\tpulumi.String(\"abc\"),\n\t\t\t},\n\t\t\tHeaderSets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"def\"),\n\t\t\t\tpulumi.String(\"example-header\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketUserDefinedLogFields;\nimport com.pulumi.alicloud.oss.BucketUserDefinedLogFieldsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var createBucket = new Bucket(\"createBucket\", BucketArgs.builder()\n .storageClass(\"Standard\")\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultBucketUserDefinedLogFields = new BucketUserDefinedLogFields(\"defaultBucketUserDefinedLogFields\", BucketUserDefinedLogFieldsArgs.builder()\n .bucket(createBucket.bucket())\n .paramSets( \n \"oss-example\",\n \"example-para\",\n \"abc\")\n .headerSets( \n \"def\",\n \"example-header\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n createBucket:\n type: alicloud:oss:Bucket\n name: CreateBucket\n properties:\n storageClass: Standard\n bucket: ${name}-${default.result}\n defaultBucketUserDefinedLogFields:\n type: alicloud:oss:BucketUserDefinedLogFields\n name: default\n properties:\n bucket: ${createBucket.bucket}\n paramSets:\n - oss-example\n - example-para\n - abc\n headerSets:\n - def\n - example-header\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket User Defined Log Fields can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketUserDefinedLogFields:BucketUserDefinedLogFields example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -220566,7 +225624,7 @@ } }, "alicloud:oss/bucketWebsite:BucketWebsite": { - "description": "Provides a OSS Bucket Website resource.\n\nthe static website configuration and mirror configuration of the bucket.\n\nFor information about OSS Bucket Website and how to use it, see [What is Bucket Website](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketwebsite).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst defaultnVj9x3 = new alicloud.oss.Bucket(\"defaultnVj9x3\", {\n bucket: `${name}-${_default.result}`,\n storageClass: \"Standard\",\n});\nconst defaultBucketWebsite = new alicloud.oss.BucketWebsite(\"default\", {\n indexDocument: {\n suffix: \"index.html\",\n supportSubDir: true,\n type: \"0\",\n },\n errorDocument: {\n key: \"error.html\",\n httpStatus: 404,\n },\n bucket: defaultnVj9x3.bucket,\n routingRules: {\n routingRules: [{\n ruleNumber: 1,\n condition: {\n httpErrorCodeReturnedEquals: \"404\",\n },\n redirect: {\n protocol: \"https\",\n httpRedirectCode: \"305\",\n redirectType: \"AliCDN\",\n hostName: \"www.alicdn-master.com\",\n },\n luaConfig: {\n script: \"example.lua\",\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ndefaultn_vj9x3 = alicloud.oss.Bucket(\"defaultnVj9x3\",\n bucket=f\"{name}-{default['result']}\",\n storage_class=\"Standard\")\ndefault_bucket_website = alicloud.oss.BucketWebsite(\"default\",\n index_document={\n \"suffix\": \"index.html\",\n \"support_sub_dir\": True,\n \"type\": \"0\",\n },\n error_document={\n \"key\": \"error.html\",\n \"http_status\": 404,\n },\n bucket=defaultn_vj9x3.bucket,\n routing_rules={\n \"routing_rules\": [{\n \"rule_number\": 1,\n \"condition\": {\n \"http_error_code_returned_equals\": \"404\",\n },\n \"redirect\": {\n \"protocol\": \"https\",\n \"http_redirect_code\": \"305\",\n \"redirect_type\": \"AliCDN\",\n \"host_name\": \"www.alicdn-master.com\",\n },\n \"lua_config\": {\n \"script\": \"example.lua\",\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var defaultnVj9x3 = new AliCloud.Oss.Bucket(\"defaultnVj9x3\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n StorageClass = \"Standard\",\n });\n\n var defaultBucketWebsite = new AliCloud.Oss.BucketWebsite(\"default\", new()\n {\n IndexDocument = new AliCloud.Oss.Inputs.BucketWebsiteIndexDocumentArgs\n {\n Suffix = \"index.html\",\n SupportSubDir = true,\n Type = \"0\",\n },\n ErrorDocument = new AliCloud.Oss.Inputs.BucketWebsiteErrorDocumentArgs\n {\n Key = \"error.html\",\n HttpStatus = 404,\n },\n Bucket = defaultnVj9x3.BucketName,\n RoutingRules = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesArgs\n {\n RoutingRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleArgs\n {\n RuleNumber = 1,\n Condition = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleConditionArgs\n {\n HttpErrorCodeReturnedEquals = \"404\",\n },\n Redirect = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleRedirectArgs\n {\n Protocol = \"https\",\n HttpRedirectCode = \"305\",\n RedirectType = \"AliCDN\",\n HostName = \"www.alicdn-master.com\",\n },\n LuaConfig = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs\n {\n Script = \"example.lua\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnVj9x3, err := oss.NewBucket(ctx, \"defaultnVj9x3\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketWebsite(ctx, \"default\", \u0026oss.BucketWebsiteArgs{\n\t\t\tIndexDocument: \u0026oss.BucketWebsiteIndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t\tSupportSubDir: pulumi.Bool(true),\n\t\t\t\tType: pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026oss.BucketWebsiteErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t\tHttpStatus: pulumi.Int(404),\n\t\t\t},\n\t\t\tBucket: defaultnVj9x3.Bucket,\n\t\t\tRoutingRules: \u0026oss.BucketWebsiteRoutingRulesArgs{\n\t\t\t\tRoutingRules: oss.BucketWebsiteRoutingRulesRoutingRuleArray{\n\t\t\t\t\t\u0026oss.BucketWebsiteRoutingRulesRoutingRuleArgs{\n\t\t\t\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\t\t\t\tCondition: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleConditionArgs{\n\t\t\t\t\t\t\tHttpErrorCodeReturnedEquals: pulumi.String(\"404\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRedirect: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleRedirectArgs{\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\t\t\t\t\tHttpRedirectCode: pulumi.String(\"305\"),\n\t\t\t\t\t\t\tRedirectType: pulumi.String(\"AliCDN\"),\n\t\t\t\t\t\t\tHostName: pulumi.String(\"www.alicdn-master.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLuaConfig: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs{\n\t\t\t\t\t\t\tScript: pulumi.String(\"example.lua\"),\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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketWebsite;\nimport com.pulumi.alicloud.oss.BucketWebsiteArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteIndexDocumentArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteErrorDocumentArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteRoutingRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var defaultnVj9x3 = new Bucket(\"defaultnVj9x3\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .storageClass(\"Standard\")\n .build());\n\n var defaultBucketWebsite = new BucketWebsite(\"defaultBucketWebsite\", BucketWebsiteArgs.builder()\n .indexDocument(BucketWebsiteIndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .supportSubDir(true)\n .type(\"0\")\n .build())\n .errorDocument(BucketWebsiteErrorDocumentArgs.builder()\n .key(\"error.html\")\n .httpStatus(404)\n .build())\n .bucket(defaultnVj9x3.bucket())\n .routingRules(BucketWebsiteRoutingRulesArgs.builder()\n .routingRules(BucketWebsiteRoutingRulesRoutingRuleArgs.builder()\n .ruleNumber(1)\n .condition(BucketWebsiteRoutingRulesRoutingRuleConditionArgs.builder()\n .httpErrorCodeReturnedEquals(\"404\")\n .build())\n .redirect(BucketWebsiteRoutingRulesRoutingRuleRedirectArgs.builder()\n .protocol(\"https\")\n .httpRedirectCode(\"305\")\n .redirectType(\"AliCDN\")\n .hostName(\"www.alicdn-master.com\")\n .build())\n .luaConfig(BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs.builder()\n .script(\"example.lua\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n defaultnVj9x3:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-${default.result}\n storageClass: Standard\n defaultBucketWebsite:\n type: alicloud:oss:BucketWebsite\n name: default\n properties:\n indexDocument:\n suffix: index.html\n supportSubDir: 'true'\n type: '0'\n errorDocument:\n key: error.html\n httpStatus: '404'\n bucket: ${defaultnVj9x3.bucket}\n routingRules:\n routingRules:\n - ruleNumber: '1'\n condition:\n httpErrorCodeReturnedEquals: '404'\n redirect:\n protocol: https\n httpRedirectCode: '305'\n redirectType: AliCDN\n hostName: www.alicdn-master.com\n luaConfig:\n script: example.lua\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOSS Bucket Website can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketWebsite:BucketWebsite example \u003cid\u003e\n```\n\n", + "description": "Provides a OSS Bucket Website resource.\n\nthe static website configuration and mirror configuration of the bucket.\n\nFor information about OSS Bucket Website and how to use it, see [What is Bucket Website](https://www.alibabacloud.com/help/en/oss/developer-reference/putbucketwebsite).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Uuid(\"default\", {});\nconst defaultnVj9x3 = new alicloud.oss.Bucket(\"defaultnVj9x3\", {\n bucket: `${name}-${_default.result}`,\n storageClass: \"Standard\",\n});\nconst defaultBucketWebsite = new alicloud.oss.BucketWebsite(\"default\", {\n indexDocument: {\n suffix: \"index.html\",\n supportSubDir: true,\n type: \"0\",\n },\n errorDocument: {\n key: \"error.html\",\n httpStatus: 404,\n },\n bucket: defaultnVj9x3.bucket,\n routingRules: {\n routingRules: [{\n ruleNumber: 1,\n condition: {\n httpErrorCodeReturnedEquals: \"404\",\n },\n redirect: {\n protocol: \"https\",\n httpRedirectCode: \"305\",\n redirectType: \"AliCDN\",\n hostName: \"www.alicdn-master.com\",\n },\n luaConfig: {\n script: \"example.lua\",\n },\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Uuid(\"default\")\ndefaultn_vj9x3 = alicloud.oss.Bucket(\"defaultnVj9x3\",\n bucket=f\"{name}-{default['result']}\",\n storage_class=\"Standard\")\ndefault_bucket_website = alicloud.oss.BucketWebsite(\"default\",\n index_document={\n \"suffix\": \"index.html\",\n \"support_sub_dir\": True,\n \"type\": \"0\",\n },\n error_document={\n \"key\": \"error.html\",\n \"http_status\": 404,\n },\n bucket=defaultn_vj9x3.bucket,\n routing_rules={\n \"routing_rules\": [{\n \"rule_number\": 1,\n \"condition\": {\n \"http_error_code_returned_equals\": \"404\",\n },\n \"redirect\": {\n \"protocol\": \"https\",\n \"http_redirect_code\": \"305\",\n \"redirect_type\": \"AliCDN\",\n \"host_name\": \"www.alicdn-master.com\",\n },\n \"lua_config\": {\n \"script\": \"example.lua\",\n },\n }],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Uuid(\"default\");\n\n var defaultnVj9x3 = new AliCloud.Oss.Bucket(\"defaultnVj9x3\", new()\n {\n BucketName = $\"{name}-{@default.Result}\",\n StorageClass = \"Standard\",\n });\n\n var defaultBucketWebsite = new AliCloud.Oss.BucketWebsite(\"default\", new()\n {\n IndexDocument = new AliCloud.Oss.Inputs.BucketWebsiteIndexDocumentArgs\n {\n Suffix = \"index.html\",\n SupportSubDir = true,\n Type = \"0\",\n },\n ErrorDocument = new AliCloud.Oss.Inputs.BucketWebsiteErrorDocumentArgs\n {\n Key = \"error.html\",\n HttpStatus = 404,\n },\n Bucket = defaultnVj9x3.BucketName,\n RoutingRules = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesArgs\n {\n RoutingRules = new[]\n {\n new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleArgs\n {\n RuleNumber = 1,\n Condition = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleConditionArgs\n {\n HttpErrorCodeReturnedEquals = \"404\",\n },\n Redirect = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleRedirectArgs\n {\n Protocol = \"https\",\n HttpRedirectCode = \"305\",\n RedirectType = \"AliCDN\",\n HostName = \"www.alicdn-master.com\",\n },\n LuaConfig = new AliCloud.Oss.Inputs.BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs\n {\n Script = \"example.lua\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewUuid(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultnVj9x3, err := oss.NewBucket(ctx, \"defaultnVj9x3\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucketWebsite(ctx, \"default\", \u0026oss.BucketWebsiteArgs{\n\t\t\tIndexDocument: \u0026oss.BucketWebsiteIndexDocumentArgs{\n\t\t\t\tSuffix: pulumi.String(\"index.html\"),\n\t\t\t\tSupportSubDir: pulumi.Bool(true),\n\t\t\t\tType: pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tErrorDocument: \u0026oss.BucketWebsiteErrorDocumentArgs{\n\t\t\t\tKey: pulumi.String(\"error.html\"),\n\t\t\t\tHttpStatus: pulumi.Int(404),\n\t\t\t},\n\t\t\tBucket: defaultnVj9x3.Bucket,\n\t\t\tRoutingRules: \u0026oss.BucketWebsiteRoutingRulesArgs{\n\t\t\t\tRoutingRules: oss.BucketWebsiteRoutingRulesRoutingRuleArray{\n\t\t\t\t\t\u0026oss.BucketWebsiteRoutingRulesRoutingRuleArgs{\n\t\t\t\t\t\tRuleNumber: pulumi.Int(1),\n\t\t\t\t\t\tCondition: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleConditionArgs{\n\t\t\t\t\t\t\tHttpErrorCodeReturnedEquals: pulumi.String(\"404\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRedirect: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleRedirectArgs{\n\t\t\t\t\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\t\t\t\t\tHttpRedirectCode: pulumi.String(\"305\"),\n\t\t\t\t\t\t\tRedirectType: pulumi.String(\"AliCDN\"),\n\t\t\t\t\t\t\tHostName: pulumi.String(\"www.alicdn-master.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLuaConfig: \u0026oss.BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs{\n\t\t\t\t\t\t\tScript: pulumi.String(\"example.lua\"),\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.random.Uuid;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.oss.BucketWebsite;\nimport com.pulumi.alicloud.oss.BucketWebsiteArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteIndexDocumentArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteErrorDocumentArgs;\nimport com.pulumi.alicloud.oss.inputs.BucketWebsiteRoutingRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Uuid(\"default\");\n\n var defaultnVj9x3 = new Bucket(\"defaultnVj9x3\", BucketArgs.builder()\n .bucket(String.format(\"%s-%s\", name,default_.result()))\n .storageClass(\"Standard\")\n .build());\n\n var defaultBucketWebsite = new BucketWebsite(\"defaultBucketWebsite\", BucketWebsiteArgs.builder()\n .indexDocument(BucketWebsiteIndexDocumentArgs.builder()\n .suffix(\"index.html\")\n .supportSubDir(true)\n .type(\"0\")\n .build())\n .errorDocument(BucketWebsiteErrorDocumentArgs.builder()\n .key(\"error.html\")\n .httpStatus(404)\n .build())\n .bucket(defaultnVj9x3.bucket())\n .routingRules(BucketWebsiteRoutingRulesArgs.builder()\n .routingRules(BucketWebsiteRoutingRulesRoutingRuleArgs.builder()\n .ruleNumber(1)\n .condition(BucketWebsiteRoutingRulesRoutingRuleConditionArgs.builder()\n .httpErrorCodeReturnedEquals(\"404\")\n .build())\n .redirect(BucketWebsiteRoutingRulesRoutingRuleRedirectArgs.builder()\n .protocol(\"https\")\n .httpRedirectCode(\"305\")\n .redirectType(\"AliCDN\")\n .hostName(\"www.alicdn-master.com\")\n .build())\n .luaConfig(BucketWebsiteRoutingRulesRoutingRuleLuaConfigArgs.builder()\n .script(\"example.lua\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Uuid\n defaultnVj9x3:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-${default.result}\n storageClass: Standard\n defaultBucketWebsite:\n type: alicloud:oss:BucketWebsite\n name: default\n properties:\n indexDocument:\n suffix: index.html\n supportSubDir: 'true'\n type: '0'\n errorDocument:\n key: error.html\n httpStatus: '404'\n bucket: ${defaultnVj9x3.bucket}\n routingRules:\n routingRules:\n - ruleNumber: '1'\n condition:\n httpErrorCodeReturnedEquals: '404'\n redirect:\n protocol: https\n httpRedirectCode: '305'\n redirectType: AliCDN\n hostName: www.alicdn-master.com\n luaConfig:\n script: example.lua\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOSS Bucket Website can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:oss/bucketWebsite:BucketWebsite example \u003cid\u003e\n```\n\n", "properties": { "bucket": { "type": "string", @@ -220711,7 +225769,7 @@ } }, "alicloud:ots/instance:Instance": { - "description": "This resource will help you to manager a [Table Store](https://www.alibabacloud.com/help/doc-detail/27280.htm) Instance.\nIt is foundation of creating data table.\n\n\u003e **NOTE:** Available since v1.10.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Vpc\",\n tags: {\n Created: \"TF\",\n For: \"Building table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Vpc\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Building table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Vpc\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Building table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Building table\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Vpc\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Building table\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Vpc\n tags:\n Created: TF\n For: Building table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOTS instance can be imported using instance id or name, e.g.\n\n```sh\n$ pulumi import alicloud:ots/instance:Instance foo \"my-ots-instance\"\n```\n\n", + "description": "This resource will help you to manager a [Table Store](https://www.alibabacloud.com/help/doc-detail/27280.htm) Instance.\nIt is foundation of creating data table.\n\n\u003e **NOTE:** Available since v1.10.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Vpc\",\n tags: {\n Created: \"TF\",\n For: \"Building table\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Vpc\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"Building table\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Vpc\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"Building table\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"Building table\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Vpc\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"Building table\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Vpc\n tags:\n Created: TF\n For: Building table\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOTS instance can be imported using instance id or name, e.g.\n\n```sh\n$ pulumi import alicloud:ots/instance:Instance foo \"my-ots-instance\"\n```\n\n", "properties": { "accessedBy": { "type": "string", @@ -220860,7 +225918,7 @@ } }, "alicloud:ots/instanceAttachment:InstanceAttachment": { - "description": "This resource will help you to bind a VPC to an OTS instance.\n\n\u003e **NOTE:** Available since v1.10.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n description: name,\n accessedBy: \"Vpc\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstanceAttachment = new alicloud.ots.InstanceAttachment(\"default\", {\n instanceName: defaultInstance.name,\n vpcName: \"examplename\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n description=name,\n accessed_by=\"Vpc\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance_attachment = alicloud.ots.InstanceAttachment(\"default\",\n instance_name=default_instance.name,\n vpc_name=\"examplename\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n AccessedBy = \"Vpc\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstanceAttachment = new AliCloud.Ots.InstanceAttachment(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n VpcName = \"examplename\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewInstanceAttachment(ctx, \"default\", \u0026ots.InstanceAttachmentArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tVpcName: pulumi.String(\"examplename\"),\n\t\t\tVswitchId: defaultSwitch.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ots.InstanceAttachment;\nimport com.pulumi.alicloud.ots.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .accessedBy(\"Vpc\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceName(defaultInstance.name())\n .vpcName(\"examplename\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n description: ${name}\n accessedBy: Vpc\n tags:\n Created: TF\n For: example\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstanceAttachment:\n type: alicloud:ots:InstanceAttachment\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n vpcName: examplename\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This resource will help you to bind a VPC to an OTS instance.\n\n\u003e **NOTE:** Available since v1.10.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${defaultInteger.result}`,\n description: name,\n accessedBy: \"Vpc\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultInstanceAttachment = new alicloud.ots.InstanceAttachment(\"default\", {\n instanceName: defaultInstance.name,\n vpcName: \"examplename\",\n vswitchId: defaultSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default_integer['result']}\",\n description=name,\n accessed_by=\"Vpc\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.zones[0].id)\ndefault_instance_attachment = alicloud.ots.InstanceAttachment(\"default\",\n instance_name=default_instance.name,\n vpc_name=\"examplename\",\n vswitch_id=default_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{defaultInteger.Result}\",\n Description = name,\n AccessedBy = \"Vpc\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultInstanceAttachment = new AliCloud.Ots.InstanceAttachment(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n VpcName = \"examplename\",\n VswitchId = defaultSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Vpc\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewInstanceAttachment(ctx, \"default\", \u0026ots.InstanceAttachmentArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tVpcName: pulumi.String(\"examplename\"),\n\t\t\tVswitchId: defaultSwitch.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ots.InstanceAttachment;\nimport com.pulumi.alicloud.ots.InstanceAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,defaultInteger.result()))\n .description(name)\n .accessedBy(\"Vpc\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultInstanceAttachment = new InstanceAttachment(\"defaultInstanceAttachment\", InstanceAttachmentArgs.builder()\n .instanceName(defaultInstance.name())\n .vpcName(\"examplename\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${defaultInteger.result}\n description: ${name}\n accessedBy: Vpc\n tags:\n Created: TF\n For: example\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.zones[0].id}\n defaultInstanceAttachment:\n type: alicloud:ots:InstanceAttachment\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n vpcName: examplename\n vswitchId: ${defaultSwitch.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "instanceName": { "type": "string", @@ -220934,7 +225992,7 @@ } }, "alicloud:ots/searchIndex:SearchIndex": { - "description": "Provides an OTS search index resource.\n\nFor information about OTS search index and how to use it, see [Search index overview](https://www.alibabacloud.com/help/en/tablestore/latest/search-index-overview).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultSearchIndex = new alicloud.ots.SearchIndex(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n indexName: \"example_index\",\n timeToLive: -1,\n schemas: [{\n fieldSchemas: [\n {\n fieldName: \"col1\",\n fieldType: \"Text\",\n isArray: false,\n index: true,\n analyzer: \"Split\",\n store: true,\n },\n {\n fieldName: \"col2\",\n fieldType: \"Long\",\n enableSortAndAgg: true,\n },\n {\n fieldName: \"pk1\",\n fieldType: \"Long\",\n },\n {\n fieldName: \"pk2\",\n fieldType: \"Text\",\n },\n ],\n indexSettings: [{\n routingFields: [\n \"pk1\",\n \"pk2\",\n ],\n }],\n indexSorts: [{\n sorters: [\n {\n sorterType: \"PrimaryKeySort\",\n order: \"Asc\",\n },\n {\n sorterType: \"FieldSort\",\n order: \"Desc\",\n fieldName: \"col2\",\n mode: \"Max\",\n },\n ],\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_search_index = alicloud.ots.SearchIndex(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n index_name=\"example_index\",\n time_to_live=-1,\n schemas=[{\n \"field_schemas\": [\n {\n \"field_name\": \"col1\",\n \"field_type\": \"Text\",\n \"is_array\": False,\n \"index\": True,\n \"analyzer\": \"Split\",\n \"store\": True,\n },\n {\n \"field_name\": \"col2\",\n \"field_type\": \"Long\",\n \"enable_sort_and_agg\": True,\n },\n {\n \"field_name\": \"pk1\",\n \"field_type\": \"Long\",\n },\n {\n \"field_name\": \"pk2\",\n \"field_type\": \"Text\",\n },\n ],\n \"index_settings\": [{\n \"routing_fields\": [\n \"pk1\",\n \"pk2\",\n ],\n }],\n \"index_sorts\": [{\n \"sorters\": [\n {\n \"sorter_type\": \"PrimaryKeySort\",\n \"order\": \"Asc\",\n },\n {\n \"sorter_type\": \"FieldSort\",\n \"order\": \"Desc\",\n \"field_name\": \"col2\",\n \"mode\": \"Max\",\n },\n ],\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultSearchIndex = new AliCloud.Ots.SearchIndex(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n IndexName = \"example_index\",\n TimeToLive = -1,\n Schemas = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaArgs\n {\n FieldSchemas = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"col1\",\n FieldType = \"Text\",\n IsArray = false,\n Index = true,\n Analyzer = \"Split\",\n Store = true,\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"col2\",\n FieldType = \"Long\",\n EnableSortAndAgg = true,\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"pk1\",\n FieldType = \"Long\",\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"pk2\",\n FieldType = \"Text\",\n },\n },\n IndexSettings = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSettingArgs\n {\n RoutingFields = new[]\n {\n \"pk1\",\n \"pk2\",\n },\n },\n },\n IndexSorts = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortArgs\n {\n Sorters = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortSorterArgs\n {\n SorterType = \"PrimaryKeySort\",\n Order = \"Asc\",\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortSorterArgs\n {\n SorterType = \"FieldSort\",\n Order = \"Desc\",\n FieldName = \"col2\",\n Mode = \"Max\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewSearchIndex(ctx, \"default\", \u0026ots.SearchIndexArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tIndexName: pulumi.String(\"example_index\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tSchemas: ots.SearchIndexSchemaArray{\n\t\t\t\t\u0026ots.SearchIndexSchemaArgs{\n\t\t\t\t\tFieldSchemas: ots.SearchIndexSchemaFieldSchemaArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"col1\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Text\"),\n\t\t\t\t\t\t\tIsArray: pulumi.Bool(false),\n\t\t\t\t\t\t\tIndex: pulumi.Bool(true),\n\t\t\t\t\t\t\tAnalyzer: pulumi.String(\"Split\"),\n\t\t\t\t\t\t\tStore: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"col2\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Long\"),\n\t\t\t\t\t\t\tEnableSortAndAgg: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"pk1\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Long\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"pk2\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Text\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tIndexSettings: ots.SearchIndexSchemaIndexSettingArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSettingArgs{\n\t\t\t\t\t\t\tRoutingFields: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"pk1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"pk2\"),\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\tIndexSorts: ots.SearchIndexSchemaIndexSortArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortArgs{\n\t\t\t\t\t\t\tSorters: ots.SearchIndexSchemaIndexSortSorterArray{\n\t\t\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortSorterArgs{\n\t\t\t\t\t\t\t\t\tSorterType: pulumi.String(\"PrimaryKeySort\"),\n\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"Asc\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortSorterArgs{\n\t\t\t\t\t\t\t\t\tSorterType: pulumi.String(\"FieldSort\"),\n\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"Desc\"),\n\t\t\t\t\t\t\t\t\tFieldName: pulumi.String(\"col2\"),\n\t\t\t\t\t\t\t\t\tMode: pulumi.String(\"Max\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.SearchIndex;\nimport com.pulumi.alicloud.ots.SearchIndexArgs;\nimport com.pulumi.alicloud.ots.inputs.SearchIndexSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultSearchIndex = new SearchIndex(\"defaultSearchIndex\", SearchIndexArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .indexName(\"example_index\")\n .timeToLive(-1)\n .schemas(SearchIndexSchemaArgs.builder()\n .fieldSchemas( \n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"col1\")\n .fieldType(\"Text\")\n .isArray(false)\n .index(true)\n .analyzer(\"Split\")\n .store(true)\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"col2\")\n .fieldType(\"Long\")\n .enableSortAndAgg(true)\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"pk1\")\n .fieldType(\"Long\")\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"pk2\")\n .fieldType(\"Text\")\n .build())\n .indexSettings(SearchIndexSchemaIndexSettingArgs.builder()\n .routingFields( \n \"pk1\",\n \"pk2\")\n .build())\n .indexSorts(SearchIndexSchemaIndexSortArgs.builder()\n .sorters( \n SearchIndexSchemaIndexSortSorterArgs.builder()\n .sorterType(\"PrimaryKeySort\")\n .order(\"Asc\")\n .build(),\n SearchIndexSchemaIndexSortSorterArgs.builder()\n .sorterType(\"FieldSort\")\n .order(\"Desc\")\n .fieldName(\"col2\")\n .mode(\"Max\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n defaultSearchIndex:\n type: alicloud:ots:SearchIndex\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n indexName: example_index\n timeToLive: -1\n schemas:\n - fieldSchemas:\n - fieldName: col1\n fieldType: Text\n isArray: false\n index: true\n analyzer: Split\n store: true\n - fieldName: col2\n fieldType: Long\n enableSortAndAgg: true\n - fieldName: pk1\n fieldType: Long\n - fieldName: pk2\n fieldType: Text\n indexSettings:\n - routingFields:\n - pk1\n - pk2\n indexSorts:\n - sorters:\n - sorterType: PrimaryKeySort\n order: Asc\n - sorterType: FieldSort\n order: Desc\n fieldName: col2\n mode: Max\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOTS search index can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/searchIndex:SearchIndex index1 \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003cindex_name\u003e:\u003cindex_type\u003e\n```\n\n", + "description": "Provides an OTS search index resource.\n\nFor information about OTS search index and how to use it, see [Search index overview](https://www.alibabacloud.com/help/en/tablestore/latest/search-index-overview).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultSearchIndex = new alicloud.ots.SearchIndex(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n indexName: \"example_index\",\n timeToLive: -1,\n schemas: [{\n fieldSchemas: [\n {\n fieldName: \"col1\",\n fieldType: \"Text\",\n isArray: false,\n index: true,\n analyzer: \"Split\",\n store: true,\n },\n {\n fieldName: \"col2\",\n fieldType: \"Long\",\n enableSortAndAgg: true,\n },\n {\n fieldName: \"pk1\",\n fieldType: \"Long\",\n },\n {\n fieldName: \"pk2\",\n fieldType: \"Text\",\n },\n ],\n indexSettings: [{\n routingFields: [\n \"pk1\",\n \"pk2\",\n ],\n }],\n indexSorts: [{\n sorters: [\n {\n sorterType: \"PrimaryKeySort\",\n order: \"Asc\",\n },\n {\n sorterType: \"FieldSort\",\n order: \"Desc\",\n fieldName: \"col2\",\n mode: \"Max\",\n },\n ],\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_search_index = alicloud.ots.SearchIndex(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n index_name=\"example_index\",\n time_to_live=-1,\n schemas=[{\n \"field_schemas\": [\n {\n \"field_name\": \"col1\",\n \"field_type\": \"Text\",\n \"is_array\": False,\n \"index\": True,\n \"analyzer\": \"Split\",\n \"store\": True,\n },\n {\n \"field_name\": \"col2\",\n \"field_type\": \"Long\",\n \"enable_sort_and_agg\": True,\n },\n {\n \"field_name\": \"pk1\",\n \"field_type\": \"Long\",\n },\n {\n \"field_name\": \"pk2\",\n \"field_type\": \"Text\",\n },\n ],\n \"index_settings\": [{\n \"routing_fields\": [\n \"pk1\",\n \"pk2\",\n ],\n }],\n \"index_sorts\": [{\n \"sorters\": [\n {\n \"sorter_type\": \"PrimaryKeySort\",\n \"order\": \"Asc\",\n },\n {\n \"sorter_type\": \"FieldSort\",\n \"order\": \"Desc\",\n \"field_name\": \"col2\",\n \"mode\": \"Max\",\n },\n ],\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultSearchIndex = new AliCloud.Ots.SearchIndex(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n IndexName = \"example_index\",\n TimeToLive = -1,\n Schemas = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaArgs\n {\n FieldSchemas = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"col1\",\n FieldType = \"Text\",\n IsArray = false,\n Index = true,\n Analyzer = \"Split\",\n Store = true,\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"col2\",\n FieldType = \"Long\",\n EnableSortAndAgg = true,\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"pk1\",\n FieldType = \"Long\",\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaFieldSchemaArgs\n {\n FieldName = \"pk2\",\n FieldType = \"Text\",\n },\n },\n IndexSettings = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSettingArgs\n {\n RoutingFields = new[]\n {\n \"pk1\",\n \"pk2\",\n },\n },\n },\n IndexSorts = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortArgs\n {\n Sorters = new[]\n {\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortSorterArgs\n {\n SorterType = \"PrimaryKeySort\",\n Order = \"Asc\",\n },\n new AliCloud.Ots.Inputs.SearchIndexSchemaIndexSortSorterArgs\n {\n SorterType = \"FieldSort\",\n Order = \"Desc\",\n FieldName = \"col2\",\n Mode = \"Max\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewSearchIndex(ctx, \"default\", \u0026ots.SearchIndexArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tIndexName: pulumi.String(\"example_index\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tSchemas: ots.SearchIndexSchemaArray{\n\t\t\t\t\u0026ots.SearchIndexSchemaArgs{\n\t\t\t\t\tFieldSchemas: ots.SearchIndexSchemaFieldSchemaArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"col1\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Text\"),\n\t\t\t\t\t\t\tIsArray: pulumi.Bool(false),\n\t\t\t\t\t\t\tIndex: pulumi.Bool(true),\n\t\t\t\t\t\t\tAnalyzer: pulumi.String(\"Split\"),\n\t\t\t\t\t\t\tStore: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"col2\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Long\"),\n\t\t\t\t\t\t\tEnableSortAndAgg: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"pk1\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Long\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaFieldSchemaArgs{\n\t\t\t\t\t\t\tFieldName: pulumi.String(\"pk2\"),\n\t\t\t\t\t\t\tFieldType: pulumi.String(\"Text\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tIndexSettings: ots.SearchIndexSchemaIndexSettingArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSettingArgs{\n\t\t\t\t\t\t\tRoutingFields: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"pk1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"pk2\"),\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\tIndexSorts: ots.SearchIndexSchemaIndexSortArray{\n\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortArgs{\n\t\t\t\t\t\t\tSorters: ots.SearchIndexSchemaIndexSortSorterArray{\n\t\t\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortSorterArgs{\n\t\t\t\t\t\t\t\t\tSorterType: pulumi.String(\"PrimaryKeySort\"),\n\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"Asc\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026ots.SearchIndexSchemaIndexSortSorterArgs{\n\t\t\t\t\t\t\t\t\tSorterType: pulumi.String(\"FieldSort\"),\n\t\t\t\t\t\t\t\t\tOrder: pulumi.String(\"Desc\"),\n\t\t\t\t\t\t\t\t\tFieldName: pulumi.String(\"col2\"),\n\t\t\t\t\t\t\t\t\tMode: pulumi.String(\"Max\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.SearchIndex;\nimport com.pulumi.alicloud.ots.SearchIndexArgs;\nimport com.pulumi.alicloud.ots.inputs.SearchIndexSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultSearchIndex = new SearchIndex(\"defaultSearchIndex\", SearchIndexArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .indexName(\"example_index\")\n .timeToLive(-1)\n .schemas(SearchIndexSchemaArgs.builder()\n .fieldSchemas( \n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"col1\")\n .fieldType(\"Text\")\n .isArray(false)\n .index(true)\n .analyzer(\"Split\")\n .store(true)\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"col2\")\n .fieldType(\"Long\")\n .enableSortAndAgg(true)\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"pk1\")\n .fieldType(\"Long\")\n .build(),\n SearchIndexSchemaFieldSchemaArgs.builder()\n .fieldName(\"pk2\")\n .fieldType(\"Text\")\n .build())\n .indexSettings(SearchIndexSchemaIndexSettingArgs.builder()\n .routingFields( \n \"pk1\",\n \"pk2\")\n .build())\n .indexSorts(SearchIndexSchemaIndexSortArgs.builder()\n .sorters( \n SearchIndexSchemaIndexSortSorterArgs.builder()\n .sorterType(\"PrimaryKeySort\")\n .order(\"Asc\")\n .build(),\n SearchIndexSchemaIndexSortSorterArgs.builder()\n .sorterType(\"FieldSort\")\n .order(\"Desc\")\n .fieldName(\"col2\")\n .mode(\"Max\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n defaultSearchIndex:\n type: alicloud:ots:SearchIndex\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n indexName: example_index\n timeToLive: -1\n schemas:\n - fieldSchemas:\n - fieldName: col1\n fieldType: Text\n isArray: false\n index: true\n analyzer: Split\n store: true\n - fieldName: col2\n fieldType: Long\n enableSortAndAgg: true\n - fieldName: pk1\n fieldType: Long\n - fieldName: pk2\n fieldType: Text\n indexSettings:\n - routingFields:\n - pk1\n - pk2\n indexSorts:\n - sorters:\n - sorterType: PrimaryKeySort\n order: Asc\n - sorterType: FieldSort\n order: Desc\n fieldName: col2\n mode: Max\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOTS search index can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/searchIndex:SearchIndex index1 \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003cindex_name\u003e:\u003cindex_type\u003e\n```\n\n", "properties": { "createTime": { "type": "integer", @@ -221074,7 +226132,7 @@ } }, "alicloud:ots/secondaryIndex:SecondaryIndex": { - "description": "Provides an OTS secondary index resource.\n\nFor information about OTS secondary index and how to use it, see [Secondary index overview](https://www.alibabacloud.com/help/en/tablestore/latest/secondary-index-overview).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n definedColumns: [\n {\n name: \"col1\",\n type: \"Integer\",\n },\n {\n name: \"col2\",\n type: \"String\",\n },\n {\n name: \"col3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultSecondaryIndex = new alicloud.ots.SecondaryIndex(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n indexName: \"example_index\",\n indexType: \"Global\",\n includeBaseData: true,\n primaryKeys: [\n \"pk1\",\n \"pk2\",\n \"pk3\",\n ],\n definedColumns: [\n \"col1\",\n \"col2\",\n \"col3\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ],\n defined_columns=[\n {\n \"name\": \"col1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"col2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"col3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_secondary_index = alicloud.ots.SecondaryIndex(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n index_name=\"example_index\",\n index_type=\"Global\",\n include_base_data=True,\n primary_keys=[\n \"pk1\",\n \"pk2\",\n \"pk3\",\n ],\n defined_columns=[\n \"col1\",\n \"col2\",\n \"col3\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n DefinedColumns = new[]\n {\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultSecondaryIndex = new AliCloud.Ots.SecondaryIndex(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n IndexName = \"example_index\",\n IndexType = \"Global\",\n IncludeBaseData = true,\n PrimaryKeys = new[]\n {\n \"pk1\",\n \"pk2\",\n \"pk3\",\n },\n DefinedColumns = new[]\n {\n \"col1\",\n \"col2\",\n \"col3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefinedColumns: ots.TableDefinedColumnArray{\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewSecondaryIndex(ctx, \"default\", \u0026ots.SecondaryIndexArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tIndexName: pulumi.String(\"example_index\"),\n\t\t\tIndexType: pulumi.String(\"Global\"),\n\t\t\tIncludeBaseData: pulumi.Bool(true),\n\t\t\tPrimaryKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pk1\"),\n\t\t\t\tpulumi.String(\"pk2\"),\n\t\t\t\tpulumi.String(\"pk3\"),\n\t\t\t},\n\t\t\tDefinedColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"col1\"),\n\t\t\t\tpulumi.String(\"col2\"),\n\t\t\t\tpulumi.String(\"col3\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.inputs.TableDefinedColumnArgs;\nimport com.pulumi.alicloud.ots.SecondaryIndex;\nimport com.pulumi.alicloud.ots.SecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .definedColumns( \n TableDefinedColumnArgs.builder()\n .name(\"col1\")\n .type(\"Integer\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col2\")\n .type(\"String\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultSecondaryIndex = new SecondaryIndex(\"defaultSecondaryIndex\", SecondaryIndexArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .indexName(\"example_index\")\n .indexType(\"Global\")\n .includeBaseData(true)\n .primaryKeys( \n \"pk1\",\n \"pk2\",\n \"pk3\")\n .definedColumns( \n \"col1\",\n \"col2\",\n \"col3\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n definedColumns:\n - name: col1\n type: Integer\n - name: col2\n type: String\n - name: col3\n type: Binary\n defaultSecondaryIndex:\n type: alicloud:ots:SecondaryIndex\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n indexName: example_index\n indexType: Global\n includeBaseData: true\n primaryKeys:\n - pk1\n - pk2\n - pk3\n definedColumns:\n - col1\n - col2\n - col3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOTS secondary index can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/secondaryIndex:SecondaryIndex index1 \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003cindex_name\u003e:\u003cindex_type\u003e\n```\n\n", + "description": "Provides an OTS secondary index resource.\n\nFor information about OTS secondary index and how to use it, see [Secondary index overview](https://www.alibabacloud.com/help/en/tablestore/latest/secondary-index-overview).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n definedColumns: [\n {\n name: \"col1\",\n type: \"Integer\",\n },\n {\n name: \"col2\",\n type: \"String\",\n },\n {\n name: \"col3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultSecondaryIndex = new alicloud.ots.SecondaryIndex(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n indexName: \"example_index\",\n indexType: \"Global\",\n includeBaseData: true,\n primaryKeys: [\n \"pk1\",\n \"pk2\",\n \"pk3\",\n ],\n definedColumns: [\n \"col1\",\n \"col2\",\n \"col3\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ],\n defined_columns=[\n {\n \"name\": \"col1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"col2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"col3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_secondary_index = alicloud.ots.SecondaryIndex(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n index_name=\"example_index\",\n index_type=\"Global\",\n include_base_data=True,\n primary_keys=[\n \"pk1\",\n \"pk2\",\n \"pk3\",\n ],\n defined_columns=[\n \"col1\",\n \"col2\",\n \"col3\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n DefinedColumns = new[]\n {\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultSecondaryIndex = new AliCloud.Ots.SecondaryIndex(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n IndexName = \"example_index\",\n IndexType = \"Global\",\n IncludeBaseData = true,\n PrimaryKeys = new[]\n {\n \"pk1\",\n \"pk2\",\n \"pk3\",\n },\n DefinedColumns = new[]\n {\n \"col1\",\n \"col2\",\n \"col3\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefinedColumns: ots.TableDefinedColumnArray{\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewSecondaryIndex(ctx, \"default\", \u0026ots.SecondaryIndexArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tIndexName: pulumi.String(\"example_index\"),\n\t\t\tIndexType: pulumi.String(\"Global\"),\n\t\t\tIncludeBaseData: pulumi.Bool(true),\n\t\t\tPrimaryKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pk1\"),\n\t\t\t\tpulumi.String(\"pk2\"),\n\t\t\t\tpulumi.String(\"pk3\"),\n\t\t\t},\n\t\t\tDefinedColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"col1\"),\n\t\t\t\tpulumi.String(\"col2\"),\n\t\t\t\tpulumi.String(\"col3\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.inputs.TableDefinedColumnArgs;\nimport com.pulumi.alicloud.ots.SecondaryIndex;\nimport com.pulumi.alicloud.ots.SecondaryIndexArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .definedColumns( \n TableDefinedColumnArgs.builder()\n .name(\"col1\")\n .type(\"Integer\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col2\")\n .type(\"String\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultSecondaryIndex = new SecondaryIndex(\"defaultSecondaryIndex\", SecondaryIndexArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .indexName(\"example_index\")\n .indexType(\"Global\")\n .includeBaseData(true)\n .primaryKeys( \n \"pk1\",\n \"pk2\",\n \"pk3\")\n .definedColumns( \n \"col1\",\n \"col2\",\n \"col3\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n definedColumns:\n - name: col1\n type: Integer\n - name: col2\n type: String\n - name: col3\n type: Binary\n defaultSecondaryIndex:\n type: alicloud:ots:SecondaryIndex\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n indexName: example_index\n indexType: Global\n includeBaseData: true\n primaryKeys:\n - pk1\n - pk2\n - pk3\n definedColumns:\n - col1\n - col2\n - col3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOTS secondary index can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/secondaryIndex:SecondaryIndex index1 \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003cindex_name\u003e:\u003cindex_type\u003e\n```\n\n", "properties": { "definedColumns": { "type": "array", @@ -221219,7 +226277,7 @@ } }, "alicloud:ots/table:Table": { - "description": "Provides an OTS table resource.\n\n\u003e **NOTE:** From Provider version 1.10.0, the provider field 'ots_instance_name' has been deprecated and\nyou should use resource alicloud_ots_table's new field 'instance_name' and 'table_name' to re-import this resource.\n\n\u003e **NOTE:** Available since v1.9.2.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n definedColumns: [\n {\n name: \"col1\",\n type: \"Integer\",\n },\n {\n name: \"col2\",\n type: \"String\",\n },\n {\n name: \"col3\",\n type: \"Binary\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ],\n defined_columns=[\n {\n \"name\": \"col1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"col2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"col3\",\n \"type\": \"Binary\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n DefinedColumns = new[]\n {\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col3\",\n Type = \"Binary\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefinedColumns: ots.TableDefinedColumnArray{\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.inputs.TableDefinedColumnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .definedColumns( \n TableDefinedColumnArgs.builder()\n .name(\"col1\")\n .type(\"Integer\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col2\")\n .type(\"String\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col3\")\n .type(\"Binary\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n definedColumns:\n - name: col1\n type: Integer\n - name: col2\n type: String\n - name: col3\n type: Binary\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOTS table can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/table:Table table my-ots:ots_table\n```\n\n", + "description": "Provides an OTS table resource.\n\n\u003e **NOTE:** From Provider version 1.10.0, the provider field 'ots_instance_name' has been deprecated and\nyou should use resource alicloud_ots_table's new field 'instance_name' and 'table_name' to re-import this resource.\n\n\u003e **NOTE:** Available since v1.9.2.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n definedColumns: [\n {\n name: \"col1\",\n type: \"Integer\",\n },\n {\n name: \"col2\",\n type: \"String\",\n },\n {\n name: \"col3\",\n type: \"Binary\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ],\n defined_columns=[\n {\n \"name\": \"col1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"col2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"col3\",\n \"type\": \"Binary\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n DefinedColumns = new[]\n {\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TableDefinedColumnArgs\n {\n Name = \"col3\",\n Type = \"Binary\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefinedColumns: ots.TableDefinedColumnArray{\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TableDefinedColumnArgs{\n\t\t\t\t\tName: pulumi.String(\"col3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.inputs.TableDefinedColumnArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .definedColumns( \n TableDefinedColumnArgs.builder()\n .name(\"col1\")\n .type(\"Integer\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col2\")\n .type(\"String\")\n .build(),\n TableDefinedColumnArgs.builder()\n .name(\"col3\")\n .type(\"Binary\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n definedColumns:\n - name: col1\n type: Integer\n - name: col2\n type: String\n - name: col3\n type: Binary\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOTS table can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/table:Table table my-ots:ots_table\n```\n\n", "properties": { "allowUpdate": { "type": "boolean", @@ -221414,7 +226472,7 @@ } }, "alicloud:ots/tunnel:Tunnel": { - "description": "Provides an OTS tunnel resource.\n\nFor information about OTS tunnel and how to use it, see [Tunnel overview](https://www.alibabacloud.com/help/en/tablestore/latest/tunnel-service-overview).\n\n\u003e **NOTE:** Available since v1.172.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultTunnel = new alicloud.ots.Tunnel(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n tunnelName: \"tf_example\",\n tunnelType: \"BaseAndStream\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_tunnel = alicloud.ots.Tunnel(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n tunnel_name=\"tf_example\",\n tunnel_type=\"BaseAndStream\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultTunnel = new AliCloud.Ots.Tunnel(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n TunnelName = \"tf_example\",\n TunnelType = \"BaseAndStream\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewTunnel(ctx, \"default\", \u0026ots.TunnelArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tTunnelName: pulumi.String(\"tf_example\"),\n\t\t\tTunnelType: pulumi.String(\"BaseAndStream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.Tunnel;\nimport com.pulumi.alicloud.ots.TunnelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultTunnel = new Tunnel(\"defaultTunnel\", TunnelArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .tunnelName(\"tf_example\")\n .tunnelType(\"BaseAndStream\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n defaultTunnel:\n type: alicloud:ots:Tunnel\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n tunnelName: tf_example\n tunnelType: BaseAndStream\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOTS tunnel can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/tunnel:Tunnel foo \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003ctunnel_name\u003e\n```\n\n", + "description": "Provides an OTS tunnel resource.\n\nFor information about OTS tunnel and how to use it, see [Tunnel overview](https://www.alibabacloud.com/help/en/tablestore/latest/tunnel-service-overview).\n\n\u003e **NOTE:** Available since v1.172.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.ots.Instance(\"default\", {\n name: `${name}-${_default.result}`,\n description: name,\n accessedBy: \"Any\",\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n});\nconst defaultTable = new alicloud.ots.Table(\"default\", {\n instanceName: defaultInstance.name,\n tableName: \"tf_example\",\n timeToLive: -1,\n maxVersion: 1,\n enableSse: true,\n sseKeyType: \"SSE_KMS_SERVICE\",\n primaryKeys: [\n {\n name: \"pk1\",\n type: \"Integer\",\n },\n {\n name: \"pk2\",\n type: \"String\",\n },\n {\n name: \"pk3\",\n type: \"Binary\",\n },\n ],\n});\nconst defaultTunnel = new alicloud.ots.Tunnel(\"default\", {\n instanceName: defaultInstance.name,\n tableName: defaultTable.tableName,\n tunnelName: \"tf_example\",\n tunnelType: \"BaseAndStream\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.ots.Instance(\"default\",\n name=f\"{name}-{default['result']}\",\n description=name,\n accessed_by=\"Any\",\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n })\ndefault_table = alicloud.ots.Table(\"default\",\n instance_name=default_instance.name,\n table_name=\"tf_example\",\n time_to_live=-1,\n max_version=1,\n enable_sse=True,\n sse_key_type=\"SSE_KMS_SERVICE\",\n primary_keys=[\n {\n \"name\": \"pk1\",\n \"type\": \"Integer\",\n },\n {\n \"name\": \"pk2\",\n \"type\": \"String\",\n },\n {\n \"name\": \"pk3\",\n \"type\": \"Binary\",\n },\n ])\ndefault_tunnel = alicloud.ots.Tunnel(\"default\",\n instance_name=default_instance.name,\n table_name=default_table.table_name,\n tunnel_name=\"tf_example\",\n tunnel_type=\"BaseAndStream\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.Ots.Instance(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n Description = name,\n AccessedBy = \"Any\",\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n });\n\n var defaultTable = new AliCloud.Ots.Table(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = \"tf_example\",\n TimeToLive = -1,\n MaxVersion = 1,\n EnableSse = true,\n SseKeyType = \"SSE_KMS_SERVICE\",\n PrimaryKeys = new[]\n {\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk1\",\n Type = \"Integer\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk2\",\n Type = \"String\",\n },\n new AliCloud.Ots.Inputs.TablePrimaryKeyArgs\n {\n Name = \"pk3\",\n Type = \"Binary\",\n },\n },\n });\n\n var defaultTunnel = new AliCloud.Ots.Tunnel(\"default\", new()\n {\n InstanceName = defaultInstance.Name,\n TableName = defaultTable.TableName,\n TunnelName = \"tf_example\",\n TunnelType = \"BaseAndStream\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ots\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ots.NewInstance(ctx, \"default\", \u0026ots.InstanceArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessedBy: pulumi.String(\"Any\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTable, err := ots.NewTable(ctx, \"default\", \u0026ots.TableArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: pulumi.String(\"tf_example\"),\n\t\t\tTimeToLive: pulumi.Int(-1),\n\t\t\tMaxVersion: pulumi.Int(1),\n\t\t\tEnableSse: pulumi.Bool(true),\n\t\t\tSseKeyType: pulumi.String(\"SSE_KMS_SERVICE\"),\n\t\t\tPrimaryKeys: ots.TablePrimaryKeyArray{\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk1\"),\n\t\t\t\t\tType: pulumi.String(\"Integer\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk2\"),\n\t\t\t\t\tType: pulumi.String(\"String\"),\n\t\t\t\t},\n\t\t\t\t\u0026ots.TablePrimaryKeyArgs{\n\t\t\t\t\tName: pulumi.String(\"pk3\"),\n\t\t\t\t\tType: pulumi.String(\"Binary\"),\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 = ots.NewTunnel(ctx, \"default\", \u0026ots.TunnelArgs{\n\t\t\tInstanceName: defaultInstance.Name,\n\t\t\tTableName: defaultTable.TableName,\n\t\t\tTunnelName: pulumi.String(\"tf_example\"),\n\t\t\tTunnelType: pulumi.String(\"BaseAndStream\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ots.Instance;\nimport com.pulumi.alicloud.ots.InstanceArgs;\nimport com.pulumi.alicloud.ots.Table;\nimport com.pulumi.alicloud.ots.TableArgs;\nimport com.pulumi.alicloud.ots.inputs.TablePrimaryKeyArgs;\nimport com.pulumi.alicloud.ots.Tunnel;\nimport com.pulumi.alicloud.ots.TunnelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .description(name)\n .accessedBy(\"Any\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n var defaultTable = new Table(\"defaultTable\", TableArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(\"tf_example\")\n .timeToLive(-1)\n .maxVersion(1)\n .enableSse(true)\n .sseKeyType(\"SSE_KMS_SERVICE\")\n .primaryKeys( \n TablePrimaryKeyArgs.builder()\n .name(\"pk1\")\n .type(\"Integer\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk2\")\n .type(\"String\")\n .build(),\n TablePrimaryKeyArgs.builder()\n .name(\"pk3\")\n .type(\"Binary\")\n .build())\n .build());\n\n var defaultTunnel = new Tunnel(\"defaultTunnel\", TunnelArgs.builder()\n .instanceName(defaultInstance.name())\n .tableName(defaultTable.tableName())\n .tunnelName(\"tf_example\")\n .tunnelType(\"BaseAndStream\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:ots:Instance\n name: default\n properties:\n name: ${name}-${default.result}\n description: ${name}\n accessedBy: Any\n tags:\n Created: TF\n For: example\n defaultTable:\n type: alicloud:ots:Table\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: tf_example\n timeToLive: -1\n maxVersion: 1\n enableSse: true\n sseKeyType: SSE_KMS_SERVICE\n primaryKeys:\n - name: pk1\n type: Integer\n - name: pk2\n type: String\n - name: pk3\n type: Binary\n defaultTunnel:\n type: alicloud:ots:Tunnel\n name: default\n properties:\n instanceName: ${defaultInstance.name}\n tableName: ${defaultTable.tableName}\n tunnelName: tf_example\n tunnelType: BaseAndStream\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nOTS tunnel can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:ots/tunnel:Tunnel foo \u003cinstance_name\u003e:\u003ctable_name\u003e:\u003ctunnel_name\u003e\n```\n\n", "properties": { "channels": { "type": "array", @@ -221555,7 +226613,7 @@ } }, "alicloud:pai/flowPipeline:FlowPipeline": { - "description": "Provides a Pai Flow Pipeline resource.\n\n\n\nFor information about Pai Flow Pipeline and how to use it, see [What is Pipeline](https://www.alibabacloud.com/help/en/pai/developer-reference/api-paiflow-2021-02-02-createpipeline).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultWjQD1e = new alicloud.pai.WorkspaceWorkspace(\"defaultWjQD1e\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"dev\"],\n});\nconst defaultFlowPipeline = new alicloud.pai.FlowPipeline(\"default\", {\n workspaceId: defaultWjQD1e.id,\n manifest: _default.then(_default =\u003e `apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"${_default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid${defaultInteger.result}\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_wj_qd1e = alicloud.pai.WorkspaceWorkspace(\"defaultWjQD1e\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"dev\"])\ndefault_flow_pipeline = alicloud.pai.FlowPipeline(\"default\",\n workspace_id=default_wj_qd1e.id,\n manifest=f\"\"\"apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"{default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid{default_integer[\"result\"]}\\\"\n annotations: {{}}\n labels: {{}}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{{{pipelines.data_source.outputs.artifacts.outputTable}}}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultWjQD1e = new AliCloud.Pai.WorkspaceWorkspace(\"defaultWjQD1e\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"dev\",\n },\n });\n\n var defaultFlowPipeline = new AliCloud.Pai.FlowPipeline(\"default\", new()\n {\n WorkspaceId = defaultWjQD1e.Id,\n Manifest = @default.Apply(@default =\u003e @$\"apiVersion: \\\"\"core/v1\\\"\"\nmetadata:\n provider: \\\"\"{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"my_pipeline\\\"\"\n name: \\\"\"source-transform\\\"\"\n uuid: \\\"\"terraformuuid{defaultInteger.Result}\\\"\"\n annotations: {{}}\n labels: {{}}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"\"execution_maxcompute\\\"\"\n type: \\\"\"Map\\\"\"\n value:\n spec:\n endpoint: \\\"\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\"\n odpsProject: \\\"\"test_i****\\\"\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"\"core/v1\\\"\"\n metadata:\n provider: \\\"\"pai\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"data_source\\\"\"\n name: \\\"\"data-source\\\"\"\n uuid: \\\"\"2ftahdnzcod2rt6u9q\\\"\"\n displayName: \\\"\"读数据表-1\\\"\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"\"inputTableName\\\"\"\n value: \\\"\"pai_online_project.wumai_data\\\"\"\n - name: \\\"\"execution\\\"\"\n from: \\\"\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"\"core/v1\\\"\"\n metadata:\n provider: \\\"\"pai\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"type_transform\\\"\"\n name: \\\"\"type-transform\\\"\"\n uuid: \\\"\"gacnnnl4ksvbabfh6l\\\"\"\n displayName: \\\"\"类型转换-1\\\"\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"\"inputTable\\\"\"\n from: \\\"\"{{{{pipelines.data_source.outputs.artifacts.outputTable}}}}\\\"\"\n parameters:\n - name: \\\"\"cols_to_double\\\"\"\n value: \\\"\"time,hour,pm2,pm10,so2,co,no2\\\"\"\n - name: \\\"\"execution\\\"\"\n from: \\\"\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\"\n dependencies:\n - \\\"\"data_source\\\"\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWjQD1e, err := pai.NewWorkspaceWorkspace(ctx, \"defaultWjQD1e\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewFlowPipeline(ctx, \"default\", \u0026pai.FlowPipelineArgs{\n\t\t\tWorkspaceId: defaultWjQD1e.ID(),\n\t\t\tManifest: pulumi.Sprintf(`apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"%v\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid%v\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n`, _default.Id, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.FlowPipeline;\nimport com.pulumi.alicloud.pai.FlowPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultWjQD1e = new WorkspaceWorkspace(\"defaultWjQD1e\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"dev\")\n .build());\n\n var defaultFlowPipeline = new FlowPipeline(\"defaultFlowPipeline\", FlowPipelineArgs.builder()\n .workspaceId(defaultWjQD1e.id())\n .manifest(\"\"\"\napiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"%s\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid%s\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\", default_.id(),defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultWjQD1e:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - dev\n defaultFlowPipeline:\n type: alicloud:pai:FlowPipeline\n name: default\n properties:\n workspaceId: ${defaultWjQD1e.id}\n manifest: |\n apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"${default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid${defaultInteger.result}\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPai Flow Pipeline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/flowPipeline:FlowPipeline example \u003cid\u003e\n```\n\n", + "description": "Provides a Pai Flow Pipeline resource.\n\n\n\nFor information about Pai Flow Pipeline and how to use it, see [What is Pipeline](https://www.alibabacloud.com/help/en/pai/developer-reference/api-paiflow-2021-02-02-createpipeline).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = alicloud.getAccount({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultWjQD1e = new alicloud.pai.WorkspaceWorkspace(\"defaultWjQD1e\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"dev\"],\n});\nconst defaultFlowPipeline = new alicloud.pai.FlowPipeline(\"default\", {\n workspaceId: defaultWjQD1e.id,\n manifest: _default.then(_default =\u003e `apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"${_default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid${defaultInteger.result}\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.get_account()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_wj_qd1e = alicloud.pai.WorkspaceWorkspace(\"defaultWjQD1e\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"dev\"])\ndefault_flow_pipeline = alicloud.pai.FlowPipeline(\"default\",\n workspace_id=default_wj_qd1e.id,\n manifest=f\"\"\"apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"{default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid{default_integer[\"result\"]}\\\"\n annotations: {{}}\n labels: {{}}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{{{pipelines.data_source.outputs.artifacts.outputTable}}}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultWjQD1e = new AliCloud.Pai.WorkspaceWorkspace(\"defaultWjQD1e\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"dev\",\n },\n });\n\n var defaultFlowPipeline = new AliCloud.Pai.FlowPipeline(\"default\", new()\n {\n WorkspaceId = defaultWjQD1e.Id,\n Manifest = @default.Apply(@default =\u003e @$\"apiVersion: \\\"\"core/v1\\\"\"\nmetadata:\n provider: \\\"\"{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"my_pipeline\\\"\"\n name: \\\"\"source-transform\\\"\"\n uuid: \\\"\"terraformuuid{defaultInteger.Result}\\\"\"\n annotations: {{}}\n labels: {{}}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"\"execution_maxcompute\\\"\"\n type: \\\"\"Map\\\"\"\n value:\n spec:\n endpoint: \\\"\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\"\n odpsProject: \\\"\"test_i****\\\"\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"\"core/v1\\\"\"\n metadata:\n provider: \\\"\"pai\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"data_source\\\"\"\n name: \\\"\"data-source\\\"\"\n uuid: \\\"\"2ftahdnzcod2rt6u9q\\\"\"\n displayName: \\\"\"读数据表-1\\\"\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"\"inputTableName\\\"\"\n value: \\\"\"pai_online_project.wumai_data\\\"\"\n - name: \\\"\"execution\\\"\"\n from: \\\"\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"\"core/v1\\\"\"\n metadata:\n provider: \\\"\"pai\\\"\"\n version: \\\"\"v1\\\"\"\n identifier: \\\"\"type_transform\\\"\"\n name: \\\"\"type-transform\\\"\"\n uuid: \\\"\"gacnnnl4ksvbabfh6l\\\"\"\n displayName: \\\"\"类型转换-1\\\"\"\n annotations: {{}}\n labels: {{}}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"\"inputTable\\\"\"\n from: \\\"\"{{{{pipelines.data_source.outputs.artifacts.outputTable}}}}\\\"\"\n parameters:\n - name: \\\"\"cols_to_double\\\"\"\n value: \\\"\"time,hour,pm2,pm10,so2,co,no2\\\"\"\n - name: \\\"\"execution\\\"\"\n from: \\\"\"{{{{inputs.parameters.execution_maxcompute}}}}\\\"\"\n dependencies:\n - \\\"\"data_source\\\"\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultWjQD1e, err := pai.NewWorkspaceWorkspace(ctx, \"defaultWjQD1e\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewFlowPipeline(ctx, \"default\", \u0026pai.FlowPipelineArgs{\n\t\t\tWorkspaceId: defaultWjQD1e.ID(),\n\t\t\tManifest: pulumi.Sprintf(`apiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"%v\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid%v\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n`, _default.Id, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.FlowPipeline;\nimport com.pulumi.alicloud.pai.FlowPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultWjQD1e = new WorkspaceWorkspace(\"defaultWjQD1e\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"dev\")\n .build());\n\n var defaultFlowPipeline = new FlowPipeline(\"defaultFlowPipeline\", FlowPipelineArgs.builder()\n .workspaceId(defaultWjQD1e.id())\n .manifest(\"\"\"\napiVersion: \\\"core/v1\\\"\nmetadata:\n provider: \\\"%s\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid%s\\\"\n annotations: {}\n labels: {}\nspec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\n\", default_.id(),defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultWjQD1e:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - dev\n defaultFlowPipeline:\n type: alicloud:pai:FlowPipeline\n name: default\n properties:\n workspaceId: ${defaultWjQD1e.id}\n manifest: |\n apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"${default.id}\\\"\n version: \\\"v1\\\"\n identifier: \\\"my_pipeline\\\"\n name: \\\"source-transform\\\"\n uuid: \\\"terraformuuid${defaultInteger.result}\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters:\n - name: \\\"execution_maxcompute\\\"\n type: \\\"Map\\\"\n value:\n spec:\n endpoint: \\\"http://service.cn.maxcompute.aliyun-inc.com/api\\\"\n odpsProject: \\\"test_i****\\\"\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters: []\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines:\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"data_source\\\"\n name: \\\"data-source\\\"\n uuid: \\\"2ftahdnzcod2rt6u9q\\\"\n displayName: \\\"读数据表-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts: []\n parameters:\n - name: \\\"inputTableName\\\"\n value: \\\"pai_online_project.wumai_data\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies: []\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n - apiVersion: \\\"core/v1\\\"\n metadata:\n provider: \\\"pai\\\"\n version: \\\"v1\\\"\n identifier: \\\"type_transform\\\"\n name: \\\"type-transform\\\"\n uuid: \\\"gacnnnl4ksvbabfh6l\\\"\n displayName: \\\"类型转换-1\\\"\n annotations: {}\n labels: {}\n spec:\n inputs:\n artifacts: []\n parameters: []\n outputs:\n artifacts: []\n parameters: []\n arguments:\n artifacts:\n - name: \\\"inputTable\\\"\n from: \\\"{{pipelines.data_source.outputs.artifacts.outputTable}}\\\"\n parameters:\n - name: \\\"cols_to_double\\\"\n value: \\\"time,hour,pm2,pm10,so2,co,no2\\\"\n - name: \\\"execution\\\"\n from: \\\"{{inputs.parameters.execution_maxcompute}}\\\"\n dependencies:\n - \\\"data_source\\\"\n initContainers: []\n sideCarContainers: []\n pipelines: []\n volumes: []\n volumes: []\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPai Flow Pipeline can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/flowPipeline:FlowPipeline example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -221611,7 +226669,7 @@ } }, "alicloud:pai/service:Service": { - "description": "Provides a PAI Service resource.\n\nEas service instance.\n\nFor information about PAI Service and how to use it, see [What is Service](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eas-2021-07-01-createservice).\n\n\u003e **NOTE:** Field \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e has been removed since version 1.245.0. Please use new field \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e.\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.pai.Service(\"default\", {\n develop: \"false\",\n serviceConfig: JSON.stringify({\n metadata: {\n cpu: 1,\n gpu: 0,\n instance: 1,\n memory: 2000,\n name: \"tfexample\",\n rpc: {\n keepalive: 70000,\n },\n },\n model_path: \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n processor_entry: \"libecho.so\",\n processor_path: \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n processor_type: \"cpp\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.pai.Service(\"default\",\n develop=\"false\",\n service_config=json.dumps({\n \"metadata\": {\n \"cpu\": 1,\n \"gpu\": 0,\n \"instance\": 1,\n \"memory\": 2000,\n \"name\": \"tfexample\",\n \"rpc\": {\n \"keepalive\": 70000,\n },\n },\n \"model_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n \"processor_entry\": \"libecho.so\",\n \"processor_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n \"processor_type\": \"cpp\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Pai.Service(\"default\", new()\n {\n Develop = \"false\",\n ServiceConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"metadata\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = 1,\n [\"gpu\"] = 0,\n [\"instance\"] = 1,\n [\"memory\"] = 2000,\n [\"name\"] = \"tfexample\",\n [\"rpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"keepalive\"] = 70000,\n },\n },\n [\"model_path\"] = \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n [\"processor_entry\"] = \"libecho.so\",\n [\"processor_path\"] = \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n [\"processor_type\"] = \"cpp\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"metadata\": map[string]interface{}{\n\t\t\t\t\"cpu\": 1,\n\t\t\t\t\"gpu\": 0,\n\t\t\t\t\"instance\": 1,\n\t\t\t\t\"memory\": 2000,\n\t\t\t\t\"name\": \"tfexample\",\n\t\t\t\t\"rpc\": map[string]interface{}{\n\t\t\t\t\t\"keepalive\": 70000,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"model_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n\t\t\t\"processor_entry\": \"libecho.so\",\n\t\t\t\"processor_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n\t\t\t\"processor_type\": \"cpp\",\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 = pai.NewService(ctx, \"default\", \u0026pai.ServiceArgs{\n\t\t\tDevelop: pulumi.String(\"false\"),\n\t\t\tServiceConfig: 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.alicloud.pai.Service;\nimport com.pulumi.alicloud.pai.ServiceArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Service(\"default\", ServiceArgs.builder()\n .develop(\"false\")\n .serviceConfig(serializeJson(\n jsonObject(\n jsonProperty(\"metadata\", jsonObject(\n jsonProperty(\"cpu\", 1),\n jsonProperty(\"gpu\", 0),\n jsonProperty(\"instance\", 1),\n jsonProperty(\"memory\", 2000),\n jsonProperty(\"name\", \"tfexample\"),\n jsonProperty(\"rpc\", jsonObject(\n jsonProperty(\"keepalive\", 70000)\n ))\n )),\n jsonProperty(\"model_path\", \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\"),\n jsonProperty(\"processor_entry\", \"libecho.so\"),\n jsonProperty(\"processor_path\", \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\"),\n jsonProperty(\"processor_type\", \"cpp\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:pai:Service\n properties:\n develop: 'false'\n serviceConfig:\n fn::toJSON:\n metadata:\n cpu: 1\n gpu: 0\n instance: 1\n memory: 2000\n name: tfexample\n rpc:\n keepalive: 70000\n model_path: http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\n processor_entry: libecho.so\n processor_path: http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\n processor_type: cpp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/service:Service example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Service resource.\n\nEas service instance.\n\nFor information about PAI Service and how to use it, see [What is Service](https://www.alibabacloud.com/help/en/pai/developer-reference/api-eas-2021-07-01-createservice).\n\n\u003e **NOTE:** Field \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e has been removed since version 1.245.0. Please use new field \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e.\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.pai.Service(\"default\", {\n develop: \"false\",\n serviceConfig: JSON.stringify({\n metadata: {\n cpu: 1,\n gpu: 0,\n instance: 1,\n memory: 2000,\n name: \"tfexample\",\n rpc: {\n keepalive: 70000,\n },\n },\n model_path: \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n processor_entry: \"libecho.so\",\n processor_path: \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n processor_type: \"cpp\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.pai.Service(\"default\",\n develop=\"false\",\n service_config=json.dumps({\n \"metadata\": {\n \"cpu\": 1,\n \"gpu\": 0,\n \"instance\": 1,\n \"memory\": 2000,\n \"name\": \"tfexample\",\n \"rpc\": {\n \"keepalive\": 70000,\n },\n },\n \"model_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n \"processor_entry\": \"libecho.so\",\n \"processor_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n \"processor_type\": \"cpp\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Pai.Service(\"default\", new()\n {\n Develop = \"false\",\n ServiceConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"metadata\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"cpu\"] = 1,\n [\"gpu\"] = 0,\n [\"instance\"] = 1,\n [\"memory\"] = 2000,\n [\"name\"] = \"tfexample\",\n [\"rpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"keepalive\"] = 70000,\n },\n },\n [\"model_path\"] = \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n [\"processor_entry\"] = \"libecho.so\",\n [\"processor_path\"] = \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n [\"processor_type\"] = \"cpp\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"metadata\": map[string]interface{}{\n\t\t\t\t\"cpu\": 1,\n\t\t\t\t\"gpu\": 0,\n\t\t\t\t\"instance\": 1,\n\t\t\t\t\"memory\": 2000,\n\t\t\t\t\"name\": \"tfexample\",\n\t\t\t\t\"rpc\": map[string]interface{}{\n\t\t\t\t\t\"keepalive\": 70000,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"model_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n\t\t\t\"processor_entry\": \"libecho.so\",\n\t\t\t\"processor_path\": \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\",\n\t\t\t\"processor_type\": \"cpp\",\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 = pai.NewService(ctx, \"default\", \u0026pai.ServiceArgs{\n\t\t\tDevelop: pulumi.String(\"false\"),\n\t\t\tServiceConfig: 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.alicloud.pai.Service;\nimport com.pulumi.alicloud.pai.ServiceArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Service(\"default\", ServiceArgs.builder()\n .develop(\"false\")\n .serviceConfig(serializeJson(\n jsonObject(\n jsonProperty(\"metadata\", jsonObject(\n jsonProperty(\"cpu\", 1),\n jsonProperty(\"gpu\", 0),\n jsonProperty(\"instance\", 1),\n jsonProperty(\"memory\", 2000),\n jsonProperty(\"name\", \"tfexample\"),\n jsonProperty(\"rpc\", jsonObject(\n jsonProperty(\"keepalive\", 70000)\n ))\n )),\n jsonProperty(\"model_path\", \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\"),\n jsonProperty(\"processor_entry\", \"libecho.so\"),\n jsonProperty(\"processor_path\", \"http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\"),\n jsonProperty(\"processor_type\", \"cpp\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:pai:Service\n properties:\n develop: 'false'\n serviceConfig:\n fn::toJSON:\n metadata:\n cpu: 1\n gpu: 0\n instance: 1\n memory: 2000\n name: tfexample\n rpc:\n keepalive: 70000\n model_path: http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\n processor_entry: libecho.so\n processor_path: http://eas-data.oss-cn-shanghai.aliyuncs.com/processors/echo_processor_release.tar.gz\n processor_type: cpp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/service:Service example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -221718,7 +226776,7 @@ } }, "alicloud:pai/workspaceCodeSource:WorkspaceCodeSource": { - "description": "Provides a PAI Workspace Code Source resource.\n\n\n\nFor information about PAI Workspace Code Source and how to use it, see [What is Code Source](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateCodeSource).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultgklBnM = new alicloud.pai.WorkspaceWorkspace(\"defaultgklBnM\", {\n description: \"for-pop-example\",\n displayName: \"CodeSourceTest_1732796227\",\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceCodeSource(\"default\", {\n mountPath: \"/mnt/code/dir_01/\",\n codeRepo: \"https://github.com/mattn/go-sqlite3.git\",\n description: \"desc-01\",\n codeRepoAccessToken: \"token-01\",\n accessibility: \"PRIVATE\",\n displayName: \"codesource-example-01\",\n workspaceId: defaultgklBnM.id,\n codeBranch: \"master\",\n codeRepoUserName: \"user-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaultgkl_bn_m = alicloud.pai.WorkspaceWorkspace(\"defaultgklBnM\",\n description=\"for-pop-example\",\n display_name=\"CodeSourceTest_1732796227\",\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceCodeSource(\"default\",\n mount_path=\"/mnt/code/dir_01/\",\n code_repo=\"https://github.com/mattn/go-sqlite3.git\",\n description=\"desc-01\",\n code_repo_access_token=\"token-01\",\n accessibility=\"PRIVATE\",\n display_name=\"codesource-example-01\",\n workspace_id=defaultgkl_bn_m.id,\n code_branch=\"master\",\n code_repo_user_name=\"user-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultgklBnM = new AliCloud.Pai.WorkspaceWorkspace(\"defaultgklBnM\", new()\n {\n Description = \"for-pop-example\",\n DisplayName = \"CodeSourceTest_1732796227\",\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceCodeSource(\"default\", new()\n {\n MountPath = \"/mnt/code/dir_01/\",\n CodeRepo = \"https://github.com/mattn/go-sqlite3.git\",\n Description = \"desc-01\",\n CodeRepoAccessToken = \"token-01\",\n Accessibility = \"PRIVATE\",\n DisplayName = \"codesource-example-01\",\n WorkspaceId = defaultgklBnM.Id,\n CodeBranch = \"master\",\n CodeRepoUserName = \"user-01\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultgklBnM, err := pai.NewWorkspaceWorkspace(ctx, \"defaultgklBnM\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"for-pop-example\"),\n\t\t\tDisplayName: pulumi.String(\"CodeSourceTest_1732796227\"),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceCodeSource(ctx, \"default\", \u0026pai.WorkspaceCodeSourceArgs{\n\t\t\tMountPath: pulumi.String(\"/mnt/code/dir_01/\"),\n\t\t\tCodeRepo: pulumi.String(\"https://github.com/mattn/go-sqlite3.git\"),\n\t\t\tDescription: pulumi.String(\"desc-01\"),\n\t\t\tCodeRepoAccessToken: pulumi.String(\"token-01\"),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tDisplayName: pulumi.String(\"codesource-example-01\"),\n\t\t\tWorkspaceId: defaultgklBnM.ID(),\n\t\t\tCodeBranch: pulumi.String(\"master\"),\n\t\t\tCodeRepoUserName: pulumi.String(\"user-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceCodeSource;\nimport com.pulumi.alicloud.pai.WorkspaceCodeSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultgklBnM = new WorkspaceWorkspace(\"defaultgklBnM\", WorkspaceWorkspaceArgs.builder()\n .description(\"for-pop-example\")\n .displayName(\"CodeSourceTest_1732796227\")\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceCodeSource(\"default\", WorkspaceCodeSourceArgs.builder()\n .mountPath(\"/mnt/code/dir_01/\")\n .codeRepo(\"https://github.com/mattn/go-sqlite3.git\")\n .description(\"desc-01\")\n .codeRepoAccessToken(\"token-01\")\n .accessibility(\"PRIVATE\")\n .displayName(\"codesource-example-01\")\n .workspaceId(defaultgklBnM.id())\n .codeBranch(\"master\")\n .codeRepoUserName(\"user-01\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultgklBnM:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: for-pop-example\n displayName: CodeSourceTest_1732796227\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceCodeSource\n properties:\n mountPath: /mnt/code/dir_01/\n codeRepo: https://github.com/mattn/go-sqlite3.git\n description: desc-01\n codeRepoAccessToken: token-01\n accessibility: PRIVATE\n displayName: codesource-example-01\n workspaceId: ${defaultgklBnM.id}\n codeBranch: master\n codeRepoUserName: user-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Code Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceCodeSource:WorkspaceCodeSource example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Code Source resource.\n\n\n\nFor information about PAI Workspace Code Source and how to use it, see [What is Code Source](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateCodeSource).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultgklBnM = new alicloud.pai.WorkspaceWorkspace(\"defaultgklBnM\", {\n description: \"for-pop-example\",\n displayName: \"CodeSourceTest_1732796227\",\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceCodeSource(\"default\", {\n mountPath: \"/mnt/code/dir_01/\",\n codeRepo: \"https://github.com/mattn/go-sqlite3.git\",\n description: \"desc-01\",\n codeRepoAccessToken: \"token-01\",\n accessibility: \"PRIVATE\",\n displayName: \"codesource-example-01\",\n workspaceId: defaultgklBnM.id,\n codeBranch: \"master\",\n codeRepoUserName: \"user-01\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefaultgkl_bn_m = alicloud.pai.WorkspaceWorkspace(\"defaultgklBnM\",\n description=\"for-pop-example\",\n display_name=\"CodeSourceTest_1732796227\",\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceCodeSource(\"default\",\n mount_path=\"/mnt/code/dir_01/\",\n code_repo=\"https://github.com/mattn/go-sqlite3.git\",\n description=\"desc-01\",\n code_repo_access_token=\"token-01\",\n accessibility=\"PRIVATE\",\n display_name=\"codesource-example-01\",\n workspace_id=defaultgkl_bn_m.id,\n code_branch=\"master\",\n code_repo_user_name=\"user-01\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultgklBnM = new AliCloud.Pai.WorkspaceWorkspace(\"defaultgklBnM\", new()\n {\n Description = \"for-pop-example\",\n DisplayName = \"CodeSourceTest_1732796227\",\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceCodeSource(\"default\", new()\n {\n MountPath = \"/mnt/code/dir_01/\",\n CodeRepo = \"https://github.com/mattn/go-sqlite3.git\",\n Description = \"desc-01\",\n CodeRepoAccessToken = \"token-01\",\n Accessibility = \"PRIVATE\",\n DisplayName = \"codesource-example-01\",\n WorkspaceId = defaultgklBnM.Id,\n CodeBranch = \"master\",\n CodeRepoUserName = \"user-01\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultgklBnM, err := pai.NewWorkspaceWorkspace(ctx, \"defaultgklBnM\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"for-pop-example\"),\n\t\t\tDisplayName: pulumi.String(\"CodeSourceTest_1732796227\"),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceCodeSource(ctx, \"default\", \u0026pai.WorkspaceCodeSourceArgs{\n\t\t\tMountPath: pulumi.String(\"/mnt/code/dir_01/\"),\n\t\t\tCodeRepo: pulumi.String(\"https://github.com/mattn/go-sqlite3.git\"),\n\t\t\tDescription: pulumi.String(\"desc-01\"),\n\t\t\tCodeRepoAccessToken: pulumi.String(\"token-01\"),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tDisplayName: pulumi.String(\"codesource-example-01\"),\n\t\t\tWorkspaceId: defaultgklBnM.ID(),\n\t\t\tCodeBranch: pulumi.String(\"master\"),\n\t\t\tCodeRepoUserName: pulumi.String(\"user-01\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceCodeSource;\nimport com.pulumi.alicloud.pai.WorkspaceCodeSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultgklBnM = new WorkspaceWorkspace(\"defaultgklBnM\", WorkspaceWorkspaceArgs.builder()\n .description(\"for-pop-example\")\n .displayName(\"CodeSourceTest_1732796227\")\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceCodeSource(\"default\", WorkspaceCodeSourceArgs.builder()\n .mountPath(\"/mnt/code/dir_01/\")\n .codeRepo(\"https://github.com/mattn/go-sqlite3.git\")\n .description(\"desc-01\")\n .codeRepoAccessToken(\"token-01\")\n .accessibility(\"PRIVATE\")\n .displayName(\"codesource-example-01\")\n .workspaceId(defaultgklBnM.id())\n .codeBranch(\"master\")\n .codeRepoUserName(\"user-01\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultgklBnM:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: for-pop-example\n displayName: CodeSourceTest_1732796227\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceCodeSource\n properties:\n mountPath: /mnt/code/dir_01/\n codeRepo: https://github.com/mattn/go-sqlite3.git\n description: desc-01\n codeRepoAccessToken: token-01\n accessibility: PRIVATE\n displayName: codesource-example-01\n workspaceId: ${defaultgklBnM.id}\n codeBranch: master\n codeRepoUserName: user-01\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Code Source can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceCodeSource:WorkspaceCodeSource example \u003cid\u003e\n```\n\n", "properties": { "accessibility": { "type": "string", @@ -221876,7 +226934,7 @@ } }, "alicloud:pai/workspaceDataset:WorkspaceDataset": { - "description": "Provides a PAI Workspace Dataset resource.\n\n\n\nFor information about PAI Workspace Dataset and how to use it, see [What is Dataset](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateDataset).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultWorkspace = new alicloud.pai.WorkspaceWorkspace(\"defaultWorkspace\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceDataset(\"default\", {\n options: JSON.stringify({\n mountPath: \"/mnt/data/\",\n }),\n description: name,\n accessibility: \"PRIVATE\",\n datasetName: name,\n dataSourceType: \"NAS\",\n sourceType: \"ITAG\",\n workspaceId: defaultWorkspace.id,\n dataType: \"PIC\",\n property: \"DIRECTORY\",\n uri: \"nas://086b649545.cn-hangzhou/\",\n sourceId: \"d-xxxxx_v1\",\n userId: \"1511928242963727\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_workspace = alicloud.pai.WorkspaceWorkspace(\"defaultWorkspace\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceDataset(\"default\",\n options=json.dumps({\n \"mountPath\": \"/mnt/data/\",\n }),\n description=name,\n accessibility=\"PRIVATE\",\n dataset_name=name,\n data_source_type=\"NAS\",\n source_type=\"ITAG\",\n workspace_id=default_workspace.id,\n data_type=\"PIC\",\n property=\"DIRECTORY\",\n uri=\"nas://086b649545.cn-hangzhou/\",\n source_id=\"d-xxxxx_v1\",\n user_id=\"1511928242963727\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultWorkspace = new AliCloud.Pai.WorkspaceWorkspace(\"defaultWorkspace\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceDataset(\"default\", new()\n {\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/\",\n }),\n Description = name,\n Accessibility = \"PRIVATE\",\n DatasetName = name,\n DataSourceType = \"NAS\",\n SourceType = \"ITAG\",\n WorkspaceId = defaultWorkspace.Id,\n DataType = \"PIC\",\n Property = \"DIRECTORY\",\n Uri = \"nas://086b649545.cn-hangzhou/\",\n SourceId = \"d-xxxxx_v1\",\n UserId = \"1511928242963727\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultWorkspace, err := pai.NewWorkspaceWorkspace(ctx, \"defaultWorkspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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\"mountPath\": \"/mnt/data/\",\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 = pai.NewWorkspaceDataset(ctx, \"default\", \u0026pai.WorkspaceDatasetArgs{\n\t\t\tOptions: pulumi.String(json0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tDatasetName: pulumi.String(name),\n\t\t\tDataSourceType: pulumi.String(\"NAS\"),\n\t\t\tSourceType: pulumi.String(\"ITAG\"),\n\t\t\tWorkspaceId: defaultWorkspace.ID(),\n\t\t\tDataType: pulumi.String(\"PIC\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t\tUri: pulumi.String(\"nas://086b649545.cn-hangzhou/\"),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tUserId: pulumi.String(\"1511928242963727\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDataset;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultWorkspace = new WorkspaceWorkspace(\"defaultWorkspace\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceDataset(\"default\", WorkspaceDatasetArgs.builder()\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/\")\n )))\n .description(name)\n .accessibility(\"PRIVATE\")\n .datasetName(name)\n .dataSourceType(\"NAS\")\n .sourceType(\"ITAG\")\n .workspaceId(defaultWorkspace.id())\n .dataType(\"PIC\")\n .property(\"DIRECTORY\")\n .uri(\"nas://086b649545.cn-hangzhou/\")\n .sourceId(\"d-xxxxx_v1\")\n .userId(\"1511928242963727\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultWorkspace:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceDataset\n properties:\n options:\n fn::toJSON:\n mountPath: /mnt/data/\n description: ${name}\n accessibility: PRIVATE\n datasetName: ${name}\n dataSourceType: NAS\n sourceType: ITAG\n workspaceId: ${defaultWorkspace.id}\n dataType: PIC\n property: DIRECTORY\n uri: nas://086b649545.cn-hangzhou/\n sourceId: d-xxxxx_v1\n userId: '1511928242963727'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Dataset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceDataset:WorkspaceDataset example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Dataset resource.\n\n\n\nFor information about PAI Workspace Dataset and how to use it, see [What is Dataset](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateDataset).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultWorkspace = new alicloud.pai.WorkspaceWorkspace(\"defaultWorkspace\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceDataset(\"default\", {\n options: JSON.stringify({\n mountPath: \"/mnt/data/\",\n }),\n description: name,\n accessibility: \"PRIVATE\",\n datasetName: name,\n dataSourceType: \"NAS\",\n sourceType: \"ITAG\",\n workspaceId: defaultWorkspace.id,\n dataType: \"PIC\",\n property: \"DIRECTORY\",\n uri: \"nas://086b649545.cn-hangzhou/\",\n sourceId: \"d-xxxxx_v1\",\n userId: \"1511928242963727\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_workspace = alicloud.pai.WorkspaceWorkspace(\"defaultWorkspace\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceDataset(\"default\",\n options=json.dumps({\n \"mountPath\": \"/mnt/data/\",\n }),\n description=name,\n accessibility=\"PRIVATE\",\n dataset_name=name,\n data_source_type=\"NAS\",\n source_type=\"ITAG\",\n workspace_id=default_workspace.id,\n data_type=\"PIC\",\n property=\"DIRECTORY\",\n uri=\"nas://086b649545.cn-hangzhou/\",\n source_id=\"d-xxxxx_v1\",\n user_id=\"1511928242963727\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultWorkspace = new AliCloud.Pai.WorkspaceWorkspace(\"defaultWorkspace\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceDataset(\"default\", new()\n {\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/\",\n }),\n Description = name,\n Accessibility = \"PRIVATE\",\n DatasetName = name,\n DataSourceType = \"NAS\",\n SourceType = \"ITAG\",\n WorkspaceId = defaultWorkspace.Id,\n DataType = \"PIC\",\n Property = \"DIRECTORY\",\n Uri = \"nas://086b649545.cn-hangzhou/\",\n SourceId = \"d-xxxxx_v1\",\n UserId = \"1511928242963727\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultWorkspace, err := pai.NewWorkspaceWorkspace(ctx, \"defaultWorkspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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\"mountPath\": \"/mnt/data/\",\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 = pai.NewWorkspaceDataset(ctx, \"default\", \u0026pai.WorkspaceDatasetArgs{\n\t\t\tOptions: pulumi.String(json0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tDatasetName: pulumi.String(name),\n\t\t\tDataSourceType: pulumi.String(\"NAS\"),\n\t\t\tSourceType: pulumi.String(\"ITAG\"),\n\t\t\tWorkspaceId: defaultWorkspace.ID(),\n\t\t\tDataType: pulumi.String(\"PIC\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t\tUri: pulumi.String(\"nas://086b649545.cn-hangzhou/\"),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tUserId: pulumi.String(\"1511928242963727\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDataset;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultWorkspace = new WorkspaceWorkspace(\"defaultWorkspace\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceDataset(\"default\", WorkspaceDatasetArgs.builder()\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/\")\n )))\n .description(name)\n .accessibility(\"PRIVATE\")\n .datasetName(name)\n .dataSourceType(\"NAS\")\n .sourceType(\"ITAG\")\n .workspaceId(defaultWorkspace.id())\n .dataType(\"PIC\")\n .property(\"DIRECTORY\")\n .uri(\"nas://086b649545.cn-hangzhou/\")\n .sourceId(\"d-xxxxx_v1\")\n .userId(\"1511928242963727\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultWorkspace:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceDataset\n properties:\n options:\n fn::toJSON:\n mountPath: /mnt/data/\n description: ${name}\n accessibility: PRIVATE\n datasetName: ${name}\n dataSourceType: NAS\n sourceType: ITAG\n workspaceId: ${defaultWorkspace.id}\n dataType: PIC\n property: DIRECTORY\n uri: nas://086b649545.cn-hangzhou/\n sourceId: d-xxxxx_v1\n userId: '1511928242963727'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Dataset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceDataset:WorkspaceDataset example \u003cid\u003e\n```\n\n", "properties": { "accessibility": { "type": "string", @@ -222097,7 +227155,7 @@ } }, "alicloud:pai/workspaceDatasetversion:WorkspaceDatasetversion": { - "description": "Provides a PAI Workspace Datasetversion resource.\n\n\n\nFor information about PAI Workspace Dataset Version and how to use it, see [What is Dataset Version](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateDatasetVersion).\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultAiWorkspace = new alicloud.pai.WorkspaceWorkspace(\"defaultAiWorkspace\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst defaultDataset = new alicloud.pai.WorkspaceDataset(\"defaultDataset\", {\n accessibility: \"PRIVATE\",\n sourceType: \"USER\",\n dataType: \"PIC\",\n workspaceId: defaultAiWorkspace.id,\n options: JSON.stringify({\n mountPath: \"/mnt/data/\",\n }),\n description: name,\n sourceId: \"d-xxxxx_v1\",\n uri: \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n datasetName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n userId: \"1511928242963727\",\n dataSourceType: \"OSS\",\n property: \"DIRECTORY\",\n});\nconst _default = new alicloud.pai.WorkspaceDatasetversion(\"default\", {\n options: JSON.stringify({\n mountPath: \"/mnt/data/verion/\",\n }),\n description: name,\n dataSourceType: \"OSS\",\n sourceType: \"USER\",\n sourceId: \"d-xxxxx_v1\",\n dataSize: 2068,\n dataCount: 1000,\n labels: [{\n key: \"key1\",\n value: \"example1\",\n }],\n uri: \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n property: \"DIRECTORY\",\n datasetId: defaultDataset.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_ai_workspace = alicloud.pai.WorkspaceWorkspace(\"defaultAiWorkspace\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault_dataset = alicloud.pai.WorkspaceDataset(\"defaultDataset\",\n accessibility=\"PRIVATE\",\n source_type=\"USER\",\n data_type=\"PIC\",\n workspace_id=default_ai_workspace.id,\n options=json.dumps({\n \"mountPath\": \"/mnt/data/\",\n }),\n description=name,\n source_id=\"d-xxxxx_v1\",\n uri=\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n dataset_name=std.format(input=\"%s1\",\n args=[name]).result,\n user_id=\"1511928242963727\",\n data_source_type=\"OSS\",\n property=\"DIRECTORY\")\ndefault = alicloud.pai.WorkspaceDatasetversion(\"default\",\n options=json.dumps({\n \"mountPath\": \"/mnt/data/verion/\",\n }),\n description=name,\n data_source_type=\"OSS\",\n source_type=\"USER\",\n source_id=\"d-xxxxx_v1\",\n data_size=2068,\n data_count=1000,\n labels=[{\n \"key\": \"key1\",\n \"value\": \"example1\",\n }],\n uri=\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n property=\"DIRECTORY\",\n dataset_id=default_dataset.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultAiWorkspace = new AliCloud.Pai.WorkspaceWorkspace(\"defaultAiWorkspace\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultDataset = new AliCloud.Pai.WorkspaceDataset(\"defaultDataset\", new()\n {\n Accessibility = \"PRIVATE\",\n SourceType = \"USER\",\n DataType = \"PIC\",\n WorkspaceId = defaultAiWorkspace.Id,\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/\",\n }),\n Description = name,\n SourceId = \"d-xxxxx_v1\",\n Uri = \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n DatasetName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n UserId = \"1511928242963727\",\n DataSourceType = \"OSS\",\n Property = \"DIRECTORY\",\n });\n\n var @default = new AliCloud.Pai.WorkspaceDatasetversion(\"default\", new()\n {\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/verion/\",\n }),\n Description = name,\n DataSourceType = \"OSS\",\n SourceType = \"USER\",\n SourceId = \"d-xxxxx_v1\",\n DataSize = 2068,\n DataCount = 1000,\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceDatasetversionLabelArgs\n {\n Key = \"key1\",\n Value = \"example1\",\n },\n },\n Uri = \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n Property = \"DIRECTORY\",\n DatasetId = defaultDataset.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultAiWorkspace, err := pai.NewWorkspaceWorkspace(ctx, \"defaultAiWorkspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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\"mountPath\": \"/mnt/data/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataset, err := pai.NewWorkspaceDataset(ctx, \"defaultDataset\", \u0026pai.WorkspaceDatasetArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tSourceType: pulumi.String(\"USER\"),\n\t\t\tDataType: pulumi.String(\"PIC\"),\n\t\t\tWorkspaceId: defaultAiWorkspace.ID(),\n\t\t\tOptions: pulumi.String(json0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tUri: pulumi.String(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\"),\n\t\t\tDatasetName: pulumi.String(invokeFormat.Result),\n\t\t\tUserId: pulumi.String(\"1511928242963727\"),\n\t\t\tDataSourceType: pulumi.String(\"OSS\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mountPath\": \"/mnt/data/verion/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = pai.NewWorkspaceDatasetversion(ctx, \"default\", \u0026pai.WorkspaceDatasetversionArgs{\n\t\t\tOptions: pulumi.String(json1),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDataSourceType: pulumi.String(\"OSS\"),\n\t\t\tSourceType: pulumi.String(\"USER\"),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tDataSize: pulumi.Int(2068),\n\t\t\tDataCount: pulumi.Int(1000),\n\t\t\tLabels: pai.WorkspaceDatasetversionLabelArray{\n\t\t\t\t\u0026pai.WorkspaceDatasetversionLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"key1\"),\n\t\t\t\t\tValue: pulumi.String(\"example1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUri: pulumi.String(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t\tDatasetId: defaultDataset.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDataset;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetversion;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetversionArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceDatasetversionLabelArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultAiWorkspace = new WorkspaceWorkspace(\"defaultAiWorkspace\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var defaultDataset = new WorkspaceDataset(\"defaultDataset\", WorkspaceDatasetArgs.builder()\n .accessibility(\"PRIVATE\")\n .sourceType(\"USER\")\n .dataType(\"PIC\")\n .workspaceId(defaultAiWorkspace.id())\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/\")\n )))\n .description(name)\n .sourceId(\"d-xxxxx_v1\")\n .uri(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\")\n .datasetName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .userId(\"1511928242963727\")\n .dataSourceType(\"OSS\")\n .property(\"DIRECTORY\")\n .build());\n\n var default_ = new WorkspaceDatasetversion(\"default\", WorkspaceDatasetversionArgs.builder()\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/verion/\")\n )))\n .description(name)\n .dataSourceType(\"OSS\")\n .sourceType(\"USER\")\n .sourceId(\"d-xxxxx_v1\")\n .dataSize(2068)\n .dataCount(1000)\n .labels(WorkspaceDatasetversionLabelArgs.builder()\n .key(\"key1\")\n .value(\"example1\")\n .build())\n .uri(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\")\n .property(\"DIRECTORY\")\n .datasetId(defaultDataset.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultAiWorkspace:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n defaultDataset:\n type: alicloud:pai:WorkspaceDataset\n properties:\n accessibility: PRIVATE\n sourceType: USER\n dataType: PIC\n workspaceId: ${defaultAiWorkspace.id}\n options:\n fn::toJSON:\n mountPath: /mnt/data/\n description: ${name}\n sourceId: d-xxxxx_v1\n uri: oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\n datasetName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n userId: '1511928242963727'\n dataSourceType: OSS\n property: DIRECTORY\n default:\n type: alicloud:pai:WorkspaceDatasetversion\n properties:\n options:\n fn::toJSON:\n mountPath: /mnt/data/verion/\n description: ${name}\n dataSourceType: OSS\n sourceType: USER\n sourceId: d-xxxxx_v1\n dataSize: '2068'\n dataCount: '1000'\n labels:\n - key: key1\n value: example1\n uri: oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\n property: DIRECTORY\n datasetId: ${defaultDataset.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Datasetversion can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceDatasetversion:WorkspaceDatasetversion example \u003cdataset_id\u003e:\u003cversion_name\u003e\n```\n\n", + "description": "Provides a PAI Workspace Datasetversion resource.\n\n\n\nFor information about PAI Workspace Dataset Version and how to use it, see [What is Dataset Version](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateDatasetVersion).\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultAiWorkspace = new alicloud.pai.WorkspaceWorkspace(\"defaultAiWorkspace\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst defaultDataset = new alicloud.pai.WorkspaceDataset(\"defaultDataset\", {\n accessibility: \"PRIVATE\",\n sourceType: \"USER\",\n dataType: \"PIC\",\n workspaceId: defaultAiWorkspace.id,\n options: JSON.stringify({\n mountPath: \"/mnt/data/\",\n }),\n description: name,\n sourceId: \"d-xxxxx_v1\",\n uri: \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n datasetName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n userId: \"1511928242963727\",\n dataSourceType: \"OSS\",\n property: \"DIRECTORY\",\n});\nconst _default = new alicloud.pai.WorkspaceDatasetversion(\"default\", {\n options: JSON.stringify({\n mountPath: \"/mnt/data/verion/\",\n }),\n description: name,\n dataSourceType: \"OSS\",\n sourceType: \"USER\",\n sourceId: \"d-xxxxx_v1\",\n dataSize: 2068,\n dataCount: 1000,\n labels: [{\n key: \"key1\",\n value: \"example1\",\n }],\n uri: \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n property: \"DIRECTORY\",\n datasetId: defaultDataset.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_ai_workspace = alicloud.pai.WorkspaceWorkspace(\"defaultAiWorkspace\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault_dataset = alicloud.pai.WorkspaceDataset(\"defaultDataset\",\n accessibility=\"PRIVATE\",\n source_type=\"USER\",\n data_type=\"PIC\",\n workspace_id=default_ai_workspace.id,\n options=json.dumps({\n \"mountPath\": \"/mnt/data/\",\n }),\n description=name,\n source_id=\"d-xxxxx_v1\",\n uri=\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n dataset_name=std.format(input=\"%s1\",\n args=[name]).result,\n user_id=\"1511928242963727\",\n data_source_type=\"OSS\",\n property=\"DIRECTORY\")\ndefault = alicloud.pai.WorkspaceDatasetversion(\"default\",\n options=json.dumps({\n \"mountPath\": \"/mnt/data/verion/\",\n }),\n description=name,\n data_source_type=\"OSS\",\n source_type=\"USER\",\n source_id=\"d-xxxxx_v1\",\n data_size=2068,\n data_count=1000,\n labels=[{\n \"key\": \"key1\",\n \"value\": \"example1\",\n }],\n uri=\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n property=\"DIRECTORY\",\n dataset_id=default_dataset.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultAiWorkspace = new AliCloud.Pai.WorkspaceWorkspace(\"defaultAiWorkspace\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultDataset = new AliCloud.Pai.WorkspaceDataset(\"defaultDataset\", new()\n {\n Accessibility = \"PRIVATE\",\n SourceType = \"USER\",\n DataType = \"PIC\",\n WorkspaceId = defaultAiWorkspace.Id,\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/\",\n }),\n Description = name,\n SourceId = \"d-xxxxx_v1\",\n Uri = \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n DatasetName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n UserId = \"1511928242963727\",\n DataSourceType = \"OSS\",\n Property = \"DIRECTORY\",\n });\n\n var @default = new AliCloud.Pai.WorkspaceDatasetversion(\"default\", new()\n {\n Options = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"mountPath\"] = \"/mnt/data/verion/\",\n }),\n Description = name,\n DataSourceType = \"OSS\",\n SourceType = \"USER\",\n SourceId = \"d-xxxxx_v1\",\n DataSize = 2068,\n DataCount = 1000,\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceDatasetversionLabelArgs\n {\n Key = \"key1\",\n Value = \"example1\",\n },\n },\n Uri = \"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\",\n Property = \"DIRECTORY\",\n DatasetId = defaultDataset.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultAiWorkspace, err := pai.NewWorkspaceWorkspace(ctx, \"defaultAiWorkspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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\"mountPath\": \"/mnt/data/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDataset, err := pai.NewWorkspaceDataset(ctx, \"defaultDataset\", \u0026pai.WorkspaceDatasetArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tSourceType: pulumi.String(\"USER\"),\n\t\t\tDataType: pulumi.String(\"PIC\"),\n\t\t\tWorkspaceId: defaultAiWorkspace.ID(),\n\t\t\tOptions: pulumi.String(json0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tUri: pulumi.String(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\"),\n\t\t\tDatasetName: pulumi.String(invokeFormat.Result),\n\t\t\tUserId: pulumi.String(\"1511928242963727\"),\n\t\t\tDataSourceType: pulumi.String(\"OSS\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"mountPath\": \"/mnt/data/verion/\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = pai.NewWorkspaceDatasetversion(ctx, \"default\", \u0026pai.WorkspaceDatasetversionArgs{\n\t\t\tOptions: pulumi.String(json1),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDataSourceType: pulumi.String(\"OSS\"),\n\t\t\tSourceType: pulumi.String(\"USER\"),\n\t\t\tSourceId: pulumi.String(\"d-xxxxx_v1\"),\n\t\t\tDataSize: pulumi.Int(2068),\n\t\t\tDataCount: pulumi.Int(1000),\n\t\t\tLabels: pai.WorkspaceDatasetversionLabelArray{\n\t\t\t\t\u0026pai.WorkspaceDatasetversionLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"key1\"),\n\t\t\t\t\tValue: pulumi.String(\"example1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUri: pulumi.String(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\"),\n\t\t\tProperty: pulumi.String(\"DIRECTORY\"),\n\t\t\tDatasetId: defaultDataset.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDataset;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetversion;\nimport com.pulumi.alicloud.pai.WorkspaceDatasetversionArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceDatasetversionLabelArgs;\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultAiWorkspace = new WorkspaceWorkspace(\"defaultAiWorkspace\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var defaultDataset = new WorkspaceDataset(\"defaultDataset\", WorkspaceDatasetArgs.builder()\n .accessibility(\"PRIVATE\")\n .sourceType(\"USER\")\n .dataType(\"PIC\")\n .workspaceId(defaultAiWorkspace.id())\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/\")\n )))\n .description(name)\n .sourceId(\"d-xxxxx_v1\")\n .uri(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\")\n .datasetName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .userId(\"1511928242963727\")\n .dataSourceType(\"OSS\")\n .property(\"DIRECTORY\")\n .build());\n\n var default_ = new WorkspaceDatasetversion(\"default\", WorkspaceDatasetversionArgs.builder()\n .options(serializeJson(\n jsonObject(\n jsonProperty(\"mountPath\", \"/mnt/data/verion/\")\n )))\n .description(name)\n .dataSourceType(\"OSS\")\n .sourceType(\"USER\")\n .sourceId(\"d-xxxxx_v1\")\n .dataSize(2068)\n .dataCount(1000)\n .labels(WorkspaceDatasetversionLabelArgs.builder()\n .key(\"key1\")\n .value(\"example1\")\n .build())\n .uri(\"oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\")\n .property(\"DIRECTORY\")\n .datasetId(defaultDataset.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultAiWorkspace:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n defaultDataset:\n type: alicloud:pai:WorkspaceDataset\n properties:\n accessibility: PRIVATE\n sourceType: USER\n dataType: PIC\n workspaceId: ${defaultAiWorkspace.id}\n options:\n fn::toJSON:\n mountPath: /mnt/data/\n description: ${name}\n sourceId: d-xxxxx_v1\n uri: oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\n datasetName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n userId: '1511928242963727'\n dataSourceType: OSS\n property: DIRECTORY\n default:\n type: alicloud:pai:WorkspaceDatasetversion\n properties:\n options:\n fn::toJSON:\n mountPath: /mnt/data/verion/\n description: ${name}\n dataSourceType: OSS\n sourceType: USER\n sourceId: d-xxxxx_v1\n dataSize: '2068'\n dataCount: '1000'\n labels:\n - key: key1\n value: example1\n uri: oss://ai4d-q9lgxlpwxzqluij66y.oss-cn-hangzhou.aliyuncs.com/\n property: DIRECTORY\n datasetId: ${defaultDataset.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Datasetversion can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceDatasetversion:WorkspaceDatasetversion example \u003cdataset_id\u003e:\u003cversion_name\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -222295,7 +227353,7 @@ } }, "alicloud:pai/workspaceExperiment:WorkspaceExperiment": { - "description": "Provides a PAI Workspace Experiment resource.\n\n\n\nFor information about PAI Workspace Experiment and how to use it, see [What is Experiment](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateExperiment).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultDI9fsL = new alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceExperiment(\"default\", {\n accessibility: \"PRIVATE\",\n artifactUri: \"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n experimentName: name,\n workspaceId: defaultDI9fsL.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_di9fs_l = alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceExperiment(\"default\",\n accessibility=\"PRIVATE\",\n artifact_uri=\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n experiment_name=name,\n workspace_id=default_di9fs_l.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultDI9fsL = new AliCloud.Pai.WorkspaceWorkspace(\"defaultDI9fsL\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceExperiment(\"default\", new()\n {\n Accessibility = \"PRIVATE\",\n ArtifactUri = \"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n ExperimentName = name,\n WorkspaceId = defaultDI9fsL.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultDI9fsL, err := pai.NewWorkspaceWorkspace(ctx, \"defaultDI9fsL\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceExperiment(ctx, \"default\", \u0026pai.WorkspaceExperimentArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tArtifactUri: pulumi.String(\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\"),\n\t\t\tExperimentName: pulumi.String(name),\n\t\t\tWorkspaceId: defaultDI9fsL.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceExperiment;\nimport com.pulumi.alicloud.pai.WorkspaceExperimentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultDI9fsL = new WorkspaceWorkspace(\"defaultDI9fsL\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceExperiment(\"default\", WorkspaceExperimentArgs.builder()\n .accessibility(\"PRIVATE\")\n .artifactUri(\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\")\n .experimentName(name)\n .workspaceId(defaultDI9fsL.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDI9fsL:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceExperiment\n properties:\n accessibility: PRIVATE\n artifactUri: oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\n experimentName: ${name}\n workspaceId: ${defaultDI9fsL.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Experiment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceExperiment:WorkspaceExperiment example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Experiment resource.\n\n\n\nFor information about PAI Workspace Experiment and how to use it, see [What is Experiment](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateExperiment).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultDI9fsL = new alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst _default = new alicloud.pai.WorkspaceExperiment(\"default\", {\n accessibility: \"PRIVATE\",\n artifactUri: \"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n experimentName: name,\n workspaceId: defaultDI9fsL.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_di9fs_l = alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault = alicloud.pai.WorkspaceExperiment(\"default\",\n accessibility=\"PRIVATE\",\n artifact_uri=\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n experiment_name=name,\n workspace_id=default_di9fs_l.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultDI9fsL = new AliCloud.Pai.WorkspaceWorkspace(\"defaultDI9fsL\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var @default = new AliCloud.Pai.WorkspaceExperiment(\"default\", new()\n {\n Accessibility = \"PRIVATE\",\n ArtifactUri = \"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\",\n ExperimentName = name,\n WorkspaceId = defaultDI9fsL.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultDI9fsL, err := pai.NewWorkspaceWorkspace(ctx, \"defaultDI9fsL\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceExperiment(ctx, \"default\", \u0026pai.WorkspaceExperimentArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tArtifactUri: pulumi.String(\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\"),\n\t\t\tExperimentName: pulumi.String(name),\n\t\t\tWorkspaceId: defaultDI9fsL.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceExperiment;\nimport com.pulumi.alicloud.pai.WorkspaceExperimentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultDI9fsL = new WorkspaceWorkspace(\"defaultDI9fsL\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var default_ = new WorkspaceExperiment(\"default\", WorkspaceExperimentArgs.builder()\n .accessibility(\"PRIVATE\")\n .artifactUri(\"oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\")\n .experimentName(name)\n .workspaceId(defaultDI9fsL.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDI9fsL:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n default:\n type: alicloud:pai:WorkspaceExperiment\n properties:\n accessibility: PRIVATE\n artifactUri: oss://yyt-409262.oss-cn-hangzhou.aliyuncs.com/example/\n experimentName: ${name}\n workspaceId: ${defaultDI9fsL.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Experiment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceExperiment:WorkspaceExperiment example \u003cid\u003e\n```\n\n", "properties": { "accessibility": { "type": "string", @@ -222380,7 +227438,7 @@ } }, "alicloud:pai/workspaceMember:WorkspaceMember": { - "description": "Provides a PAI Workspace Member resource.\n\n\n\nFor information about PAI Workspace Member and how to use it, see [What is Member](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-createmember).\n\n\u003e **NOTE:** Available since v1.249.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst workspace = new alicloud.pai.WorkspaceWorkspace(\"Workspace\", {\n description: \"156\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultUser = new alicloud.ram.User(\"default\", {name: `${name}-${_default.result}`});\nconst defaultWorkspaceMember = new alicloud.pai.WorkspaceMember(\"default\", {\n userId: defaultUser.id,\n workspaceId: workspace.id,\n roles: [\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nworkspace = alicloud.pai.WorkspaceWorkspace(\"Workspace\",\n description=\"156\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefault_user = alicloud.ram.User(\"default\", name=f\"{name}-{default['result']}\")\ndefault_workspace_member = alicloud.pai.WorkspaceMember(\"default\",\n user_id=default_user.id,\n workspace_id=workspace.id,\n roles=[\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var workspace = new AliCloud.Pai.WorkspaceWorkspace(\"Workspace\", new()\n {\n Description = \"156\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n });\n\n var defaultWorkspaceMember = new AliCloud.Pai.WorkspaceMember(\"default\", new()\n {\n UserId = defaultUser.Id,\n WorkspaceId = workspace.Id,\n Roles = new[]\n {\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := pai.NewWorkspaceWorkspace(ctx, \"Workspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"156\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceMember(ctx, \"default\", \u0026pai.WorkspaceMemberArgs{\n\t\t\tUserId: defaultUser.ID(),\n\t\t\tWorkspaceId: workspace.ID(),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PAI.AlgoDeveloper\"),\n\t\t\t\tpulumi.String(\"PAI.AlgoOperator\"),\n\t\t\t\tpulumi.String(\"PAI.LabelManager\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.pai.WorkspaceMember;\nimport com.pulumi.alicloud.pai.WorkspaceMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var workspace = new WorkspaceWorkspace(\"workspace\", WorkspaceWorkspaceArgs.builder()\n .description(\"156\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultWorkspaceMember = new WorkspaceMember(\"defaultWorkspaceMember\", WorkspaceMemberArgs.builder()\n .userId(defaultUser.id())\n .workspaceId(workspace.id())\n .roles( \n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n workspace:\n type: alicloud:pai:WorkspaceWorkspace\n name: Workspace\n properties:\n description: '156'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: ${name}-${default.result}\n defaultWorkspaceMember:\n type: alicloud:pai:WorkspaceMember\n name: default\n properties:\n userId: ${defaultUser.id}\n workspaceId: ${workspace.id}\n roles:\n - PAI.AlgoDeveloper\n - PAI.AlgoOperator\n - PAI.LabelManager\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceMember:WorkspaceMember example \u003cworkspace_id\u003e:\u003cmember_id\u003e\n```\n\n", + "description": "Provides a PAI Workspace Member resource.\n\n\n\nFor information about PAI Workspace Member and how to use it, see [What is Member](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-createmember).\n\n\u003e **NOTE:** Available since v1.249.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst workspace = new alicloud.pai.WorkspaceWorkspace(\"Workspace\", {\n description: \"156\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultUser = new alicloud.ram.User(\"default\", {name: `${name}-${_default.result}`});\nconst defaultWorkspaceMember = new alicloud.pai.WorkspaceMember(\"default\", {\n userId: defaultUser.id,\n workspaceId: workspace.id,\n roles: [\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nworkspace = alicloud.pai.WorkspaceWorkspace(\"Workspace\",\n description=\"156\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefault_user = alicloud.ram.User(\"default\", name=f\"{name}-{default['result']}\")\ndefault_workspace_member = alicloud.pai.WorkspaceMember(\"default\",\n user_id=default_user.id,\n workspace_id=workspace.id,\n roles=[\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var workspace = new AliCloud.Pai.WorkspaceWorkspace(\"Workspace\", new()\n {\n Description = \"156\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n });\n\n var defaultWorkspaceMember = new AliCloud.Pai.WorkspaceMember(\"default\", new()\n {\n UserId = defaultUser.Id,\n WorkspaceId = workspace.Id,\n Roles = new[]\n {\n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tworkspace, err := pai.NewWorkspaceWorkspace(ctx, \"Workspace\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"156\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceMember(ctx, \"default\", \u0026pai.WorkspaceMemberArgs{\n\t\t\tUserId: defaultUser.ID(),\n\t\t\tWorkspaceId: workspace.ID(),\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"PAI.AlgoDeveloper\"),\n\t\t\t\tpulumi.String(\"PAI.AlgoOperator\"),\n\t\t\t\tpulumi.String(\"PAI.LabelManager\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.pai.WorkspaceMember;\nimport com.pulumi.alicloud.pai.WorkspaceMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var workspace = new WorkspaceWorkspace(\"workspace\", WorkspaceWorkspaceArgs.builder()\n .description(\"156\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultWorkspaceMember = new WorkspaceMember(\"defaultWorkspaceMember\", WorkspaceMemberArgs.builder()\n .userId(defaultUser.id())\n .workspaceId(workspace.id())\n .roles( \n \"PAI.AlgoDeveloper\",\n \"PAI.AlgoOperator\",\n \"PAI.LabelManager\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n workspace:\n type: alicloud:pai:WorkspaceWorkspace\n name: Workspace\n properties:\n description: '156'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: ${name}-${default.result}\n defaultWorkspaceMember:\n type: alicloud:pai:WorkspaceMember\n name: default\n properties:\n userId: ${defaultUser.id}\n workspaceId: ${workspace.id}\n roles:\n - PAI.AlgoDeveloper\n - PAI.AlgoOperator\n - PAI.LabelManager\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Member can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceMember:WorkspaceMember example \u003cworkspace_id\u003e:\u003cmember_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -222470,7 +227528,7 @@ } }, "alicloud:pai/workspaceModel:WorkspaceModel": { - "description": "Provides a PAI Workspace Model resource.\n\n\n\nFor information about PAI Workspace Model and how to use it, see [What is Model](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-createmodel).\n\n\u003e **NOTE:** Available since v1.249.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultENuC6u = new alicloud.pai.WorkspaceWorkspace(\"defaultENuC6u\", {\n description: \"156\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultWorkspaceModel = new alicloud.pai.WorkspaceModel(\"default\", {\n origin: \"Civitai\",\n task: \"text-to-image-synthesis\",\n modelName: name,\n accessibility: \"PRIVATE\",\n workspaceId: defaultENuC6u.id,\n modelType: \"Checkpoint\",\n labels: [{\n key: \"base_model\",\n value: \"SD 1.5\",\n }],\n orderNumber: 1,\n extraInfo: {\n test: \"15\",\n },\n modelDescription: \"ModelDescription.\",\n modelDoc: \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain: \"aigc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_e_nu_c6u = alicloud.pai.WorkspaceWorkspace(\"defaultENuC6u\",\n description=\"156\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefault_workspace_model = alicloud.pai.WorkspaceModel(\"default\",\n origin=\"Civitai\",\n task=\"text-to-image-synthesis\",\n model_name=name,\n accessibility=\"PRIVATE\",\n workspace_id=default_e_nu_c6u.id,\n model_type=\"Checkpoint\",\n labels=[{\n \"key\": \"base_model\",\n \"value\": \"SD 1.5\",\n }],\n order_number=1,\n extra_info={\n \"test\": \"15\",\n },\n model_description=\"ModelDescription.\",\n model_doc=\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain=\"aigc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultENuC6u = new AliCloud.Pai.WorkspaceWorkspace(\"defaultENuC6u\", new()\n {\n Description = \"156\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultWorkspaceModel = new AliCloud.Pai.WorkspaceModel(\"default\", new()\n {\n Origin = \"Civitai\",\n Task = \"text-to-image-synthesis\",\n ModelName = name,\n Accessibility = \"PRIVATE\",\n WorkspaceId = defaultENuC6u.Id,\n ModelType = \"Checkpoint\",\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelLabelArgs\n {\n Key = \"base_model\",\n Value = \"SD 1.5\",\n },\n },\n OrderNumber = 1,\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n ModelDescription = \"ModelDescription.\",\n ModelDoc = \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n Domain = \"aigc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultENuC6u, err := pai.NewWorkspaceWorkspace(ctx, \"defaultENuC6u\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"156\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceModel(ctx, \"default\", \u0026pai.WorkspaceModelArgs{\n\t\t\tOrigin: pulumi.String(\"Civitai\"),\n\t\t\tTask: pulumi.String(\"text-to-image-synthesis\"),\n\t\t\tModelName: pulumi.String(name),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tWorkspaceId: defaultENuC6u.ID(),\n\t\t\tModelType: pulumi.String(\"Checkpoint\"),\n\t\t\tLabels: pai.WorkspaceModelLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"base_model\"),\n\t\t\t\t\tValue: pulumi.String(\"SD 1.5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrderNumber: pulumi.Int(1),\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t\tModelDescription: pulumi.String(\"ModelDescription.\"),\n\t\t\tModelDoc: pulumi.String(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\"),\n\t\t\tDomain: pulumi.String(\"aigc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModel;\nimport com.pulumi.alicloud.pai.WorkspaceModelArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultENuC6u = new WorkspaceWorkspace(\"defaultENuC6u\", WorkspaceWorkspaceArgs.builder()\n .description(\"156\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultWorkspaceModel = new WorkspaceModel(\"defaultWorkspaceModel\", WorkspaceModelArgs.builder()\n .origin(\"Civitai\")\n .task(\"text-to-image-synthesis\")\n .modelName(name)\n .accessibility(\"PRIVATE\")\n .workspaceId(defaultENuC6u.id())\n .modelType(\"Checkpoint\")\n .labels(WorkspaceModelLabelArgs.builder()\n .key(\"base_model\")\n .value(\"SD 1.5\")\n .build())\n .orderNumber(1)\n .extraInfo(Map.of(\"test\", \"15\"))\n .modelDescription(\"ModelDescription.\")\n .modelDoc(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\")\n .domain(\"aigc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultENuC6u:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: '156'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultWorkspaceModel:\n type: alicloud:pai:WorkspaceModel\n name: default\n properties:\n origin: Civitai\n task: text-to-image-synthesis\n modelName: ${name}\n accessibility: PRIVATE\n workspaceId: ${defaultENuC6u.id}\n modelType: Checkpoint\n labels:\n - key: base_model\n value: SD 1.5\n orderNumber: '1'\n extraInfo:\n test: '15'\n modelDescription: ModelDescription.\n modelDoc: https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\n domain: aigc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Model can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceModel:WorkspaceModel example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Model resource.\n\n\n\nFor information about PAI Workspace Model and how to use it, see [What is Model](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-createmodel).\n\n\u003e **NOTE:** Available since v1.249.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultENuC6u = new alicloud.pai.WorkspaceWorkspace(\"defaultENuC6u\", {\n description: \"156\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultWorkspaceModel = new alicloud.pai.WorkspaceModel(\"default\", {\n origin: \"Civitai\",\n task: \"text-to-image-synthesis\",\n modelName: name,\n accessibility: \"PRIVATE\",\n workspaceId: defaultENuC6u.id,\n modelType: \"Checkpoint\",\n labels: [{\n key: \"base_model\",\n value: \"SD 1.5\",\n }],\n orderNumber: 1,\n extraInfo: {\n test: \"15\",\n },\n modelDescription: \"ModelDescription.\",\n modelDoc: \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain: \"aigc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_e_nu_c6u = alicloud.pai.WorkspaceWorkspace(\"defaultENuC6u\",\n description=\"156\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefault_workspace_model = alicloud.pai.WorkspaceModel(\"default\",\n origin=\"Civitai\",\n task=\"text-to-image-synthesis\",\n model_name=name,\n accessibility=\"PRIVATE\",\n workspace_id=default_e_nu_c6u.id,\n model_type=\"Checkpoint\",\n labels=[{\n \"key\": \"base_model\",\n \"value\": \"SD 1.5\",\n }],\n order_number=1,\n extra_info={\n \"test\": \"15\",\n },\n model_description=\"ModelDescription.\",\n model_doc=\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain=\"aigc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultENuC6u = new AliCloud.Pai.WorkspaceWorkspace(\"defaultENuC6u\", new()\n {\n Description = \"156\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultWorkspaceModel = new AliCloud.Pai.WorkspaceModel(\"default\", new()\n {\n Origin = \"Civitai\",\n Task = \"text-to-image-synthesis\",\n ModelName = name,\n Accessibility = \"PRIVATE\",\n WorkspaceId = defaultENuC6u.Id,\n ModelType = \"Checkpoint\",\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelLabelArgs\n {\n Key = \"base_model\",\n Value = \"SD 1.5\",\n },\n },\n OrderNumber = 1,\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n ModelDescription = \"ModelDescription.\",\n ModelDoc = \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n Domain = \"aigc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultENuC6u, err := pai.NewWorkspaceWorkspace(ctx, \"defaultENuC6u\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"156\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceModel(ctx, \"default\", \u0026pai.WorkspaceModelArgs{\n\t\t\tOrigin: pulumi.String(\"Civitai\"),\n\t\t\tTask: pulumi.String(\"text-to-image-synthesis\"),\n\t\t\tModelName: pulumi.String(name),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tWorkspaceId: defaultENuC6u.ID(),\n\t\t\tModelType: pulumi.String(\"Checkpoint\"),\n\t\t\tLabels: pai.WorkspaceModelLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"base_model\"),\n\t\t\t\t\tValue: pulumi.String(\"SD 1.5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrderNumber: pulumi.Int(1),\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t\tModelDescription: pulumi.String(\"ModelDescription.\"),\n\t\t\tModelDoc: pulumi.String(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\"),\n\t\t\tDomain: pulumi.String(\"aigc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModel;\nimport com.pulumi.alicloud.pai.WorkspaceModelArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultENuC6u = new WorkspaceWorkspace(\"defaultENuC6u\", WorkspaceWorkspaceArgs.builder()\n .description(\"156\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultWorkspaceModel = new WorkspaceModel(\"defaultWorkspaceModel\", WorkspaceModelArgs.builder()\n .origin(\"Civitai\")\n .task(\"text-to-image-synthesis\")\n .modelName(name)\n .accessibility(\"PRIVATE\")\n .workspaceId(defaultENuC6u.id())\n .modelType(\"Checkpoint\")\n .labels(WorkspaceModelLabelArgs.builder()\n .key(\"base_model\")\n .value(\"SD 1.5\")\n .build())\n .orderNumber(1)\n .extraInfo(Map.of(\"test\", \"15\"))\n .modelDescription(\"ModelDescription.\")\n .modelDoc(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\")\n .domain(\"aigc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultENuC6u:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: '156'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultWorkspaceModel:\n type: alicloud:pai:WorkspaceModel\n name: default\n properties:\n origin: Civitai\n task: text-to-image-synthesis\n modelName: ${name}\n accessibility: PRIVATE\n workspaceId: ${defaultENuC6u.id}\n modelType: Checkpoint\n labels:\n - key: base_model\n value: SD 1.5\n orderNumber: '1'\n extraInfo:\n test: '15'\n modelDescription: ModelDescription.\n modelDoc: https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\n domain: aigc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Model can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceModel:WorkspaceModel example \u003cid\u003e\n```\n\n", "properties": { "accessibility": { "type": "string", @@ -222655,7 +227713,7 @@ } }, "alicloud:pai/workspaceModelVersion:WorkspaceModelVersion": { - "description": "Provides a PAI Workspace Model Version resource.\n\n\n\nFor information about PAI Workspace Model Version and how to use it, see [What is Model Version](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateModelVersion).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDI9fsL = new alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\", {\n description: \"802\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultsHptEL = new alicloud.pai.WorkspaceModel(\"defaultsHptEL\", {\n modelName: name,\n workspaceId: defaultDI9fsL.id,\n origin: \"Civitai\",\n task: \"text-to-image-synthesis\",\n accessibility: \"PRIVATE\",\n modelType: \"Checkpoint\",\n orderNumber: 1,\n modelDescription: \"ModelDescription.\",\n modelDoc: \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain: \"aigc\",\n labels: [{\n key: \"base_model\",\n value: \"SD 1.5\",\n }],\n extraInfo: {\n test: \"15\",\n },\n});\nconst defaultWorkspaceModelVersion = new alicloud.pai.WorkspaceModelVersion(\"default\", {\n versionDescription: \"VersionDescription.\",\n sourceType: \"TrainingService\",\n sourceId: \"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n extraInfo: {\n test: \"15\",\n },\n trainingSpec: {\n test: \"TrainingSpec\",\n },\n uri: \"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n inferenceSpec: {\n test: \"InferenceSpec\",\n },\n modelId: defaultsHptEL.id,\n formatType: \"SavedModel\",\n approvalStatus: \"Pending\",\n frameworkType: \"PyTorch\",\n versionName: \"1.0.0\",\n metrics: {},\n labels: [{\n key: \"k1\",\n value: \"vs1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_di9fs_l = alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\",\n description=\"802\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefaults_hpt_el = alicloud.pai.WorkspaceModel(\"defaultsHptEL\",\n model_name=name,\n workspace_id=default_di9fs_l.id,\n origin=\"Civitai\",\n task=\"text-to-image-synthesis\",\n accessibility=\"PRIVATE\",\n model_type=\"Checkpoint\",\n order_number=1,\n model_description=\"ModelDescription.\",\n model_doc=\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain=\"aigc\",\n labels=[{\n \"key\": \"base_model\",\n \"value\": \"SD 1.5\",\n }],\n extra_info={\n \"test\": \"15\",\n })\ndefault_workspace_model_version = alicloud.pai.WorkspaceModelVersion(\"default\",\n version_description=\"VersionDescription.\",\n source_type=\"TrainingService\",\n source_id=\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n extra_info={\n \"test\": \"15\",\n },\n training_spec={\n \"test\": \"TrainingSpec\",\n },\n uri=\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n inference_spec={\n \"test\": \"InferenceSpec\",\n },\n model_id=defaults_hpt_el.id,\n format_type=\"SavedModel\",\n approval_status=\"Pending\",\n framework_type=\"PyTorch\",\n version_name=\"1.0.0\",\n metrics={},\n labels=[{\n \"key\": \"k1\",\n \"value\": \"vs1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDI9fsL = new AliCloud.Pai.WorkspaceWorkspace(\"defaultDI9fsL\", new()\n {\n Description = \"802\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultsHptEL = new AliCloud.Pai.WorkspaceModel(\"defaultsHptEL\", new()\n {\n ModelName = name,\n WorkspaceId = defaultDI9fsL.Id,\n Origin = \"Civitai\",\n Task = \"text-to-image-synthesis\",\n Accessibility = \"PRIVATE\",\n ModelType = \"Checkpoint\",\n OrderNumber = 1,\n ModelDescription = \"ModelDescription.\",\n ModelDoc = \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n Domain = \"aigc\",\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelLabelArgs\n {\n Key = \"base_model\",\n Value = \"SD 1.5\",\n },\n },\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n });\n\n var defaultWorkspaceModelVersion = new AliCloud.Pai.WorkspaceModelVersion(\"default\", new()\n {\n VersionDescription = \"VersionDescription.\",\n SourceType = \"TrainingService\",\n SourceId = \"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n TrainingSpec = \n {\n { \"test\", \"TrainingSpec\" },\n },\n Uri = \"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n InferenceSpec = \n {\n { \"test\", \"InferenceSpec\" },\n },\n ModelId = defaultsHptEL.Id,\n FormatType = \"SavedModel\",\n ApprovalStatus = \"Pending\",\n FrameworkType = \"PyTorch\",\n VersionName = \"1.0.0\",\n Metrics = null,\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelVersionLabelArgs\n {\n Key = \"k1\",\n Value = \"vs1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDI9fsL, err := pai.NewWorkspaceWorkspace(ctx, \"defaultDI9fsL\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"802\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultsHptEL, err := pai.NewWorkspaceModel(ctx, \"defaultsHptEL\", \u0026pai.WorkspaceModelArgs{\n\t\t\tModelName: pulumi.String(name),\n\t\t\tWorkspaceId: defaultDI9fsL.ID(),\n\t\t\tOrigin: pulumi.String(\"Civitai\"),\n\t\t\tTask: pulumi.String(\"text-to-image-synthesis\"),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tModelType: pulumi.String(\"Checkpoint\"),\n\t\t\tOrderNumber: pulumi.Int(1),\n\t\t\tModelDescription: pulumi.String(\"ModelDescription.\"),\n\t\t\tModelDoc: pulumi.String(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\"),\n\t\t\tDomain: pulumi.String(\"aigc\"),\n\t\t\tLabels: pai.WorkspaceModelLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"base_model\"),\n\t\t\t\t\tValue: pulumi.String(\"SD 1.5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceModelVersion(ctx, \"default\", \u0026pai.WorkspaceModelVersionArgs{\n\t\t\tVersionDescription: pulumi.String(\"VersionDescription.\"),\n\t\t\tSourceType: pulumi.String(\"TrainingService\"),\n\t\t\tSourceId: pulumi.String(\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\"),\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t\tTrainingSpec: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"TrainingSpec\"),\n\t\t\t},\n\t\t\tUri: pulumi.String(\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\"),\n\t\t\tInferenceSpec: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"InferenceSpec\"),\n\t\t\t},\n\t\t\tModelId: defaultsHptEL.ID(),\n\t\t\tFormatType: pulumi.String(\"SavedModel\"),\n\t\t\tApprovalStatus: pulumi.String(\"Pending\"),\n\t\t\tFrameworkType: pulumi.String(\"PyTorch\"),\n\t\t\tVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tMetrics: pulumi.StringMap{},\n\t\t\tLabels: pai.WorkspaceModelVersionLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelVersionLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"k1\"),\n\t\t\t\t\tValue: pulumi.String(\"vs1\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModel;\nimport com.pulumi.alicloud.pai.WorkspaceModelArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelLabelArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModelVersion;\nimport com.pulumi.alicloud.pai.WorkspaceModelVersionArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelVersionLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDI9fsL = new WorkspaceWorkspace(\"defaultDI9fsL\", WorkspaceWorkspaceArgs.builder()\n .description(\"802\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultsHptEL = new WorkspaceModel(\"defaultsHptEL\", WorkspaceModelArgs.builder()\n .modelName(name)\n .workspaceId(defaultDI9fsL.id())\n .origin(\"Civitai\")\n .task(\"text-to-image-synthesis\")\n .accessibility(\"PRIVATE\")\n .modelType(\"Checkpoint\")\n .orderNumber(1)\n .modelDescription(\"ModelDescription.\")\n .modelDoc(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\")\n .domain(\"aigc\")\n .labels(WorkspaceModelLabelArgs.builder()\n .key(\"base_model\")\n .value(\"SD 1.5\")\n .build())\n .extraInfo(Map.of(\"test\", \"15\"))\n .build());\n\n var defaultWorkspaceModelVersion = new WorkspaceModelVersion(\"defaultWorkspaceModelVersion\", WorkspaceModelVersionArgs.builder()\n .versionDescription(\"VersionDescription.\")\n .sourceType(\"TrainingService\")\n .sourceId(\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\")\n .extraInfo(Map.of(\"test\", \"15\"))\n .trainingSpec(Map.of(\"test\", \"TrainingSpec\"))\n .uri(\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\")\n .inferenceSpec(Map.of(\"test\", \"InferenceSpec\"))\n .modelId(defaultsHptEL.id())\n .formatType(\"SavedModel\")\n .approvalStatus(\"Pending\")\n .frameworkType(\"PyTorch\")\n .versionName(\"1.0.0\")\n .metrics(Map.ofEntries(\n ))\n .labels(WorkspaceModelVersionLabelArgs.builder()\n .key(\"k1\")\n .value(\"vs1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDI9fsL:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: '802'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultsHptEL:\n type: alicloud:pai:WorkspaceModel\n properties:\n modelName: ${name}\n workspaceId: ${defaultDI9fsL.id}\n origin: Civitai\n task: text-to-image-synthesis\n accessibility: PRIVATE\n modelType: Checkpoint\n orderNumber: '1'\n modelDescription: ModelDescription.\n modelDoc: https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\n domain: aigc\n labels:\n - key: base_model\n value: SD 1.5\n extraInfo:\n test: '15'\n defaultWorkspaceModelVersion:\n type: alicloud:pai:WorkspaceModelVersion\n name: default\n properties:\n versionDescription: VersionDescription.\n sourceType: TrainingService\n sourceId: region=$${region},workspaceId=$${workspace_id},kind=TrainingJob,id=job-id\n extraInfo:\n test: '15'\n trainingSpec:\n test: TrainingSpec\n uri: oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\n inferenceSpec:\n test: InferenceSpec\n modelId: ${defaultsHptEL.id}\n formatType: SavedModel\n approvalStatus: Pending\n frameworkType: PyTorch\n versionName: 1.0.0\n metrics: {}\n labels:\n - key: k1\n value: vs1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Model Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceModelVersion:WorkspaceModelVersion example \u003cmodel_id\u003e:\u003cversion_name\u003e\n```\n\n", + "description": "Provides a PAI Workspace Model Version resource.\n\n\n\nFor information about PAI Workspace Model Version and how to use it, see [What is Model Version](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateModelVersion).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDI9fsL = new alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\", {\n description: \"802\",\n displayName: name,\n workspaceName: `${name}_${_default.result}`,\n envTypes: [\"prod\"],\n});\nconst defaultsHptEL = new alicloud.pai.WorkspaceModel(\"defaultsHptEL\", {\n modelName: name,\n workspaceId: defaultDI9fsL.id,\n origin: \"Civitai\",\n task: \"text-to-image-synthesis\",\n accessibility: \"PRIVATE\",\n modelType: \"Checkpoint\",\n orderNumber: 1,\n modelDescription: \"ModelDescription.\",\n modelDoc: \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain: \"aigc\",\n labels: [{\n key: \"base_model\",\n value: \"SD 1.5\",\n }],\n extraInfo: {\n test: \"15\",\n },\n});\nconst defaultWorkspaceModelVersion = new alicloud.pai.WorkspaceModelVersion(\"default\", {\n versionDescription: \"VersionDescription.\",\n sourceType: \"TrainingService\",\n sourceId: \"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n extraInfo: {\n test: \"15\",\n },\n trainingSpec: {\n test: \"TrainingSpec\",\n },\n uri: \"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n inferenceSpec: {\n test: \"InferenceSpec\",\n },\n modelId: defaultsHptEL.id,\n formatType: \"SavedModel\",\n approvalStatus: \"Pending\",\n frameworkType: \"PyTorch\",\n versionName: \"1.0.0\",\n metrics: {},\n labels: [{\n key: \"k1\",\n value: \"vs1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_di9fs_l = alicloud.pai.WorkspaceWorkspace(\"defaultDI9fsL\",\n description=\"802\",\n display_name=name,\n workspace_name=f\"{name}_{default['result']}\",\n env_types=[\"prod\"])\ndefaults_hpt_el = alicloud.pai.WorkspaceModel(\"defaultsHptEL\",\n model_name=name,\n workspace_id=default_di9fs_l.id,\n origin=\"Civitai\",\n task=\"text-to-image-synthesis\",\n accessibility=\"PRIVATE\",\n model_type=\"Checkpoint\",\n order_number=1,\n model_description=\"ModelDescription.\",\n model_doc=\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n domain=\"aigc\",\n labels=[{\n \"key\": \"base_model\",\n \"value\": \"SD 1.5\",\n }],\n extra_info={\n \"test\": \"15\",\n })\ndefault_workspace_model_version = alicloud.pai.WorkspaceModelVersion(\"default\",\n version_description=\"VersionDescription.\",\n source_type=\"TrainingService\",\n source_id=\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n extra_info={\n \"test\": \"15\",\n },\n training_spec={\n \"test\": \"TrainingSpec\",\n },\n uri=\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n inference_spec={\n \"test\": \"InferenceSpec\",\n },\n model_id=defaults_hpt_el.id,\n format_type=\"SavedModel\",\n approval_status=\"Pending\",\n framework_type=\"PyTorch\",\n version_name=\"1.0.0\",\n metrics={},\n labels=[{\n \"key\": \"k1\",\n \"value\": \"vs1\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDI9fsL = new AliCloud.Pai.WorkspaceWorkspace(\"defaultDI9fsL\", new()\n {\n Description = \"802\",\n DisplayName = name,\n WorkspaceName = $\"{name}_{@default.Result}\",\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultsHptEL = new AliCloud.Pai.WorkspaceModel(\"defaultsHptEL\", new()\n {\n ModelName = name,\n WorkspaceId = defaultDI9fsL.Id,\n Origin = \"Civitai\",\n Task = \"text-to-image-synthesis\",\n Accessibility = \"PRIVATE\",\n ModelType = \"Checkpoint\",\n OrderNumber = 1,\n ModelDescription = \"ModelDescription.\",\n ModelDoc = \"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\",\n Domain = \"aigc\",\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelLabelArgs\n {\n Key = \"base_model\",\n Value = \"SD 1.5\",\n },\n },\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n });\n\n var defaultWorkspaceModelVersion = new AliCloud.Pai.WorkspaceModelVersion(\"default\", new()\n {\n VersionDescription = \"VersionDescription.\",\n SourceType = \"TrainingService\",\n SourceId = \"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\",\n ExtraInfo = \n {\n { \"test\", \"15\" },\n },\n TrainingSpec = \n {\n { \"test\", \"TrainingSpec\" },\n },\n Uri = \"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\",\n InferenceSpec = \n {\n { \"test\", \"InferenceSpec\" },\n },\n ModelId = defaultsHptEL.Id,\n FormatType = \"SavedModel\",\n ApprovalStatus = \"Pending\",\n FrameworkType = \"PyTorch\",\n VersionName = \"1.0.0\",\n Metrics = null,\n Labels = new[]\n {\n new AliCloud.Pai.Inputs.WorkspaceModelVersionLabelArgs\n {\n Key = \"k1\",\n Value = \"vs1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDI9fsL, err := pai.NewWorkspaceWorkspace(ctx, \"defaultDI9fsL\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(\"802\"),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.Sprintf(\"%v_%v\", name, _default.Result),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultsHptEL, err := pai.NewWorkspaceModel(ctx, \"defaultsHptEL\", \u0026pai.WorkspaceModelArgs{\n\t\t\tModelName: pulumi.String(name),\n\t\t\tWorkspaceId: defaultDI9fsL.ID(),\n\t\t\tOrigin: pulumi.String(\"Civitai\"),\n\t\t\tTask: pulumi.String(\"text-to-image-synthesis\"),\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tModelType: pulumi.String(\"Checkpoint\"),\n\t\t\tOrderNumber: pulumi.Int(1),\n\t\t\tModelDescription: pulumi.String(\"ModelDescription.\"),\n\t\t\tModelDoc: pulumi.String(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\"),\n\t\t\tDomain: pulumi.String(\"aigc\"),\n\t\t\tLabels: pai.WorkspaceModelLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"base_model\"),\n\t\t\t\t\tValue: pulumi.String(\"SD 1.5\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceModelVersion(ctx, \"default\", \u0026pai.WorkspaceModelVersionArgs{\n\t\t\tVersionDescription: pulumi.String(\"VersionDescription.\"),\n\t\t\tSourceType: pulumi.String(\"TrainingService\"),\n\t\t\tSourceId: pulumi.String(\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\"),\n\t\t\tExtraInfo: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"15\"),\n\t\t\t},\n\t\t\tTrainingSpec: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"TrainingSpec\"),\n\t\t\t},\n\t\t\tUri: pulumi.String(\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\"),\n\t\t\tInferenceSpec: pulumi.StringMap{\n\t\t\t\t\"test\": pulumi.String(\"InferenceSpec\"),\n\t\t\t},\n\t\t\tModelId: defaultsHptEL.ID(),\n\t\t\tFormatType: pulumi.String(\"SavedModel\"),\n\t\t\tApprovalStatus: pulumi.String(\"Pending\"),\n\t\t\tFrameworkType: pulumi.String(\"PyTorch\"),\n\t\t\tVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tMetrics: pulumi.StringMap{},\n\t\t\tLabels: pai.WorkspaceModelVersionLabelArray{\n\t\t\t\t\u0026pai.WorkspaceModelVersionLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"k1\"),\n\t\t\t\t\tValue: pulumi.String(\"vs1\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModel;\nimport com.pulumi.alicloud.pai.WorkspaceModelArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelLabelArgs;\nimport com.pulumi.alicloud.pai.WorkspaceModelVersion;\nimport com.pulumi.alicloud.pai.WorkspaceModelVersionArgs;\nimport com.pulumi.alicloud.pai.inputs.WorkspaceModelVersionLabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDI9fsL = new WorkspaceWorkspace(\"defaultDI9fsL\", WorkspaceWorkspaceArgs.builder()\n .description(\"802\")\n .displayName(name)\n .workspaceName(String.format(\"%s_%s\", name,default_.result()))\n .envTypes(\"prod\")\n .build());\n\n var defaultsHptEL = new WorkspaceModel(\"defaultsHptEL\", WorkspaceModelArgs.builder()\n .modelName(name)\n .workspaceId(defaultDI9fsL.id())\n .origin(\"Civitai\")\n .task(\"text-to-image-synthesis\")\n .accessibility(\"PRIVATE\")\n .modelType(\"Checkpoint\")\n .orderNumber(1)\n .modelDescription(\"ModelDescription.\")\n .modelDoc(\"https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\")\n .domain(\"aigc\")\n .labels(WorkspaceModelLabelArgs.builder()\n .key(\"base_model\")\n .value(\"SD 1.5\")\n .build())\n .extraInfo(Map.of(\"test\", \"15\"))\n .build());\n\n var defaultWorkspaceModelVersion = new WorkspaceModelVersion(\"defaultWorkspaceModelVersion\", WorkspaceModelVersionArgs.builder()\n .versionDescription(\"VersionDescription.\")\n .sourceType(\"TrainingService\")\n .sourceId(\"region=${region},workspaceId=${workspace_id},kind=TrainingJob,id=job-id\")\n .extraInfo(Map.of(\"test\", \"15\"))\n .trainingSpec(Map.of(\"test\", \"TrainingSpec\"))\n .uri(\"oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\")\n .inferenceSpec(Map.of(\"test\", \"InferenceSpec\"))\n .modelId(defaultsHptEL.id())\n .formatType(\"SavedModel\")\n .approvalStatus(\"Pending\")\n .frameworkType(\"PyTorch\")\n .versionName(\"1.0.0\")\n .metrics(Map.ofEntries(\n ))\n .labels(WorkspaceModelVersionLabelArgs.builder()\n .key(\"k1\")\n .value(\"vs1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDI9fsL:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: '802'\n displayName: ${name}\n workspaceName: ${name}_${default.result}\n envTypes:\n - prod\n defaultsHptEL:\n type: alicloud:pai:WorkspaceModel\n properties:\n modelName: ${name}\n workspaceId: ${defaultDI9fsL.id}\n origin: Civitai\n task: text-to-image-synthesis\n accessibility: PRIVATE\n modelType: Checkpoint\n orderNumber: '1'\n modelDescription: ModelDescription.\n modelDoc: https://eas-***.oss-cn-hangzhou.aliyuncs.com/s**.safetensors\n domain: aigc\n labels:\n - key: base_model\n value: SD 1.5\n extraInfo:\n test: '15'\n defaultWorkspaceModelVersion:\n type: alicloud:pai:WorkspaceModelVersion\n name: default\n properties:\n versionDescription: VersionDescription.\n sourceType: TrainingService\n sourceId: region=$${region},workspaceId=$${workspace_id},kind=TrainingJob,id=job-id\n extraInfo:\n test: '15'\n trainingSpec:\n test: TrainingSpec\n uri: oss://hz-example-0701.oss-cn-hangzhou-internal.aliyuncs.com/checkpoints/\n inferenceSpec:\n test: InferenceSpec\n modelId: ${defaultsHptEL.id}\n formatType: SavedModel\n approvalStatus: Pending\n frameworkType: PyTorch\n versionName: 1.0.0\n metrics: {}\n labels:\n - key: k1\n value: vs1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Model Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceModelVersion:WorkspaceModelVersion example \u003cmodel_id\u003e:\u003cversion_name\u003e\n```\n\n", "properties": { "approvalStatus": { "type": "string", @@ -222914,7 +227972,7 @@ } }, "alicloud:pai/workspaceRun:WorkspaceRun": { - "description": "Provides a PAI Workspace Run resource.\n\n\n\nFor information about PAI Workspace Run and how to use it, see [What is Run](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateRun).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultCAFUa9 = new alicloud.pai.WorkspaceWorkspace(\"defaultCAFUa9\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst defaultQRwWbv = new alicloud.pai.WorkspaceExperiment(\"defaultQRwWbv\", {\n accessibility: \"PRIVATE\",\n artifactUri: \"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n experimentName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n workspaceId: defaultCAFUa9.id,\n});\nconst _default = new alicloud.pai.WorkspaceRun(\"default\", {\n sourceType: \"TrainingService\",\n sourceId: \"759\",\n runName: name,\n experimentId: defaultQRwWbv.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_caf_ua9 = alicloud.pai.WorkspaceWorkspace(\"defaultCAFUa9\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault_q_rw_wbv = alicloud.pai.WorkspaceExperiment(\"defaultQRwWbv\",\n accessibility=\"PRIVATE\",\n artifact_uri=\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n experiment_name=std.format(input=\"%s1\",\n args=[name]).result,\n workspace_id=default_caf_ua9.id)\ndefault = alicloud.pai.WorkspaceRun(\"default\",\n source_type=\"TrainingService\",\n source_id=\"759\",\n run_name=name,\n experiment_id=default_q_rw_wbv.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultCAFUa9 = new AliCloud.Pai.WorkspaceWorkspace(\"defaultCAFUa9\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultQRwWbv = new AliCloud.Pai.WorkspaceExperiment(\"defaultQRwWbv\", new()\n {\n Accessibility = \"PRIVATE\",\n ArtifactUri = \"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n ExperimentName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n WorkspaceId = defaultCAFUa9.Id,\n });\n\n var @default = new AliCloud.Pai.WorkspaceRun(\"default\", new()\n {\n SourceType = \"TrainingService\",\n SourceId = \"759\",\n RunName = name,\n ExperimentId = defaultQRwWbv.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultCAFUa9, err := pai.NewWorkspaceWorkspace(ctx, \"defaultCAFUa9\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQRwWbv, err := pai.NewWorkspaceExperiment(ctx, \"defaultQRwWbv\", \u0026pai.WorkspaceExperimentArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tArtifactUri: pulumi.String(\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\"),\n\t\t\tExperimentName: pulumi.String(invokeFormat.Result),\n\t\t\tWorkspaceId: defaultCAFUa9.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceRun(ctx, \"default\", \u0026pai.WorkspaceRunArgs{\n\t\t\tSourceType: pulumi.String(\"TrainingService\"),\n\t\t\tSourceId: pulumi.String(\"759\"),\n\t\t\tRunName: pulumi.String(name),\n\t\t\tExperimentId: defaultQRwWbv.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceExperiment;\nimport com.pulumi.alicloud.pai.WorkspaceExperimentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.pai.WorkspaceRun;\nimport com.pulumi.alicloud.pai.WorkspaceRunArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultCAFUa9 = new WorkspaceWorkspace(\"defaultCAFUa9\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var defaultQRwWbv = new WorkspaceExperiment(\"defaultQRwWbv\", WorkspaceExperimentArgs.builder()\n .accessibility(\"PRIVATE\")\n .artifactUri(\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\")\n .experimentName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .workspaceId(defaultCAFUa9.id())\n .build());\n\n var default_ = new WorkspaceRun(\"default\", WorkspaceRunArgs.builder()\n .sourceType(\"TrainingService\")\n .sourceId(\"759\")\n .runName(name)\n .experimentId(defaultQRwWbv.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultCAFUa9:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n defaultQRwWbv:\n type: alicloud:pai:WorkspaceExperiment\n properties:\n accessibility: PRIVATE\n artifactUri: oss://example.oss-cn-hangzhou.aliyuncs.com/example/\n experimentName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n workspaceId: ${defaultCAFUa9.id}\n default:\n type: alicloud:pai:WorkspaceRun\n properties:\n sourceType: TrainingService\n sourceId: '759'\n runName: ${name}\n experimentId: ${defaultQRwWbv.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Run can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceRun:WorkspaceRun example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Run resource.\n\n\n\nFor information about PAI Workspace Run and how to use it, see [What is Run](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateRun).\n\n\u003e **NOTE:** Available since v1.236.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultCAFUa9 = new alicloud.pai.WorkspaceWorkspace(\"defaultCAFUa9\", {\n description: name,\n displayName: name,\n workspaceName: name,\n envTypes: [\"prod\"],\n});\nconst defaultQRwWbv = new alicloud.pai.WorkspaceExperiment(\"defaultQRwWbv\", {\n accessibility: \"PRIVATE\",\n artifactUri: \"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n experimentName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n workspaceId: defaultCAFUa9.id,\n});\nconst _default = new alicloud.pai.WorkspaceRun(\"default\", {\n sourceType: \"TrainingService\",\n sourceId: \"759\",\n runName: name,\n experimentId: defaultQRwWbv.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_caf_ua9 = alicloud.pai.WorkspaceWorkspace(\"defaultCAFUa9\",\n description=name,\n display_name=name,\n workspace_name=name,\n env_types=[\"prod\"])\ndefault_q_rw_wbv = alicloud.pai.WorkspaceExperiment(\"defaultQRwWbv\",\n accessibility=\"PRIVATE\",\n artifact_uri=\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n experiment_name=std.format(input=\"%s1\",\n args=[name]).result,\n workspace_id=default_caf_ua9.id)\ndefault = alicloud.pai.WorkspaceRun(\"default\",\n source_type=\"TrainingService\",\n source_id=\"759\",\n run_name=name,\n experiment_id=default_q_rw_wbv.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultCAFUa9 = new AliCloud.Pai.WorkspaceWorkspace(\"defaultCAFUa9\", new()\n {\n Description = name,\n DisplayName = name,\n WorkspaceName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n var defaultQRwWbv = new AliCloud.Pai.WorkspaceExperiment(\"defaultQRwWbv\", new()\n {\n Accessibility = \"PRIVATE\",\n ArtifactUri = \"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\",\n ExperimentName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n WorkspaceId = defaultCAFUa9.Id,\n });\n\n var @default = new AliCloud.Pai.WorkspaceRun(\"default\", new()\n {\n SourceType = \"TrainingService\",\n SourceId = \"759\",\n RunName = name,\n ExperimentId = defaultQRwWbv.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultCAFUa9, err := pai.NewWorkspaceWorkspace(ctx, \"defaultCAFUa9\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultQRwWbv, err := pai.NewWorkspaceExperiment(ctx, \"defaultQRwWbv\", \u0026pai.WorkspaceExperimentArgs{\n\t\t\tAccessibility: pulumi.String(\"PRIVATE\"),\n\t\t\tArtifactUri: pulumi.String(\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\"),\n\t\t\tExperimentName: pulumi.String(invokeFormat.Result),\n\t\t\tWorkspaceId: defaultCAFUa9.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pai.NewWorkspaceRun(ctx, \"default\", \u0026pai.WorkspaceRunArgs{\n\t\t\tSourceType: pulumi.String(\"TrainingService\"),\n\t\t\tSourceId: pulumi.String(\"759\"),\n\t\t\tRunName: pulumi.String(name),\n\t\t\tExperimentId: defaultQRwWbv.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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport com.pulumi.alicloud.pai.WorkspaceExperiment;\nimport com.pulumi.alicloud.pai.WorkspaceExperimentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.pai.WorkspaceRun;\nimport com.pulumi.alicloud.pai.WorkspaceRunArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var defaultCAFUa9 = new WorkspaceWorkspace(\"defaultCAFUa9\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .displayName(name)\n .workspaceName(name)\n .envTypes(\"prod\")\n .build());\n\n var defaultQRwWbv = new WorkspaceExperiment(\"defaultQRwWbv\", WorkspaceExperimentArgs.builder()\n .accessibility(\"PRIVATE\")\n .artifactUri(\"oss://example.oss-cn-hangzhou.aliyuncs.com/example/\")\n .experimentName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .workspaceId(defaultCAFUa9.id())\n .build());\n\n var default_ = new WorkspaceRun(\"default\", WorkspaceRunArgs.builder()\n .sourceType(\"TrainingService\")\n .sourceId(\"759\")\n .runName(name)\n .experimentId(defaultQRwWbv.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultCAFUa9:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n displayName: ${name}\n workspaceName: ${name}\n envTypes:\n - prod\n defaultQRwWbv:\n type: alicloud:pai:WorkspaceExperiment\n properties:\n accessibility: PRIVATE\n artifactUri: oss://example.oss-cn-hangzhou.aliyuncs.com/example/\n experimentName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n workspaceId: ${defaultCAFUa9.id}\n default:\n type: alicloud:pai:WorkspaceRun\n properties:\n sourceType: TrainingService\n sourceId: '759'\n runName: ${name}\n experimentId: ${defaultQRwWbv.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Run can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceRun:WorkspaceRun example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -222996,7 +228054,7 @@ } }, "alicloud:pai/workspaceUserConfig:WorkspaceUserConfig": { - "description": "Provides a PAI Workspace User Config resource.\n\n\n\nFor information about PAI Workspace User Config and how to use it, see [What is User Config](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-setuserconfigs).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.pai.WorkspaceUserConfig(\"default\", {\n categoryName: \"DataPrivacyConfig\",\n configKey: \"customizePAIAssumedRole\",\n configValue: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.pai.WorkspaceUserConfig(\"default\",\n category_name=\"DataPrivacyConfig\",\n config_key=\"customizePAIAssumedRole\",\n config_value=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Pai.WorkspaceUserConfig(\"default\", new()\n {\n CategoryName = \"DataPrivacyConfig\",\n ConfigKey = \"customizePAIAssumedRole\",\n ConfigValue = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := pai.NewWorkspaceUserConfig(ctx, \"default\", \u0026pai.WorkspaceUserConfigArgs{\n\t\t\tCategoryName: pulumi.String(\"DataPrivacyConfig\"),\n\t\t\tConfigKey: pulumi.String(\"customizePAIAssumedRole\"),\n\t\t\tConfigValue: pulumi.String(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.alicloud.pai.WorkspaceUserConfig;\nimport com.pulumi.alicloud.pai.WorkspaceUserConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new WorkspaceUserConfig(\"default\", WorkspaceUserConfigArgs.builder()\n .categoryName(\"DataPrivacyConfig\")\n .configKey(\"customizePAIAssumedRole\")\n .configValue(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:pai:WorkspaceUserConfig\n properties:\n categoryName: DataPrivacyConfig\n configKey: customizePAIAssumedRole\n configValue: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace User Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceUserConfig:WorkspaceUserConfig example \u003ccategory_name\u003e:\u003cconfig_key\u003e\n```\n\n", + "description": "Provides a PAI Workspace User Config resource.\n\n\n\nFor information about PAI Workspace User Config and how to use it, see [What is User Config](https://www.alibabacloud.com/help/en/pai/developer-reference/api-aiworkspace-2021-02-04-setuserconfigs).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.pai.WorkspaceUserConfig(\"default\", {\n categoryName: \"DataPrivacyConfig\",\n configKey: \"customizePAIAssumedRole\",\n configValue: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.pai.WorkspaceUserConfig(\"default\",\n category_name=\"DataPrivacyConfig\",\n config_key=\"customizePAIAssumedRole\",\n config_value=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Pai.WorkspaceUserConfig(\"default\", new()\n {\n CategoryName = \"DataPrivacyConfig\",\n ConfigKey = \"customizePAIAssumedRole\",\n ConfigValue = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := pai.NewWorkspaceUserConfig(ctx, \"default\", \u0026pai.WorkspaceUserConfigArgs{\n\t\t\tCategoryName: pulumi.String(\"DataPrivacyConfig\"),\n\t\t\tConfigKey: pulumi.String(\"customizePAIAssumedRole\"),\n\t\t\tConfigValue: pulumi.String(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.alicloud.pai.WorkspaceUserConfig;\nimport com.pulumi.alicloud.pai.WorkspaceUserConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new WorkspaceUserConfig(\"default\", WorkspaceUserConfigArgs.builder()\n .categoryName(\"DataPrivacyConfig\")\n .configKey(\"customizePAIAssumedRole\")\n .configValue(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:pai:WorkspaceUserConfig\n properties:\n categoryName: DataPrivacyConfig\n configKey: customizePAIAssumedRole\n configValue: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace User Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceUserConfig:WorkspaceUserConfig example \u003ccategory_name\u003e:\u003cconfig_key\u003e\n```\n\n", "properties": { "categoryName": { "type": "string", @@ -223074,7 +228132,7 @@ } }, "alicloud:pai/workspaceWorkspace:WorkspaceWorkspace": { - "description": "Provides a PAI Workspace Workspace resource.\n\n\n\nFor information about PAI Workspace Workspace and how to use it, see [What is Workspace](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateWorkspace).\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.pai.WorkspaceWorkspace(\"default\", {\n description: name,\n workspaceName: name,\n displayName: name,\n envTypes: [\"prod\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.pai.WorkspaceWorkspace(\"default\",\n description=name,\n workspace_name=name,\n display_name=name,\n env_types=[\"prod\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Pai.WorkspaceWorkspace(\"default\", new()\n {\n Description = name,\n WorkspaceName = name,\n DisplayName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := pai.NewWorkspaceWorkspace(ctx, \"default\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new WorkspaceWorkspace(\"default\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .workspaceName(name)\n .displayName(name)\n .envTypes(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n workspaceName: ${name}\n displayName: ${name}\n envTypes:\n - prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPAI Workspace Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceWorkspace:WorkspaceWorkspace example \u003cid\u003e\n```\n\n", + "description": "Provides a PAI Workspace Workspace resource.\n\n\n\nFor information about PAI Workspace Workspace and how to use it, see [What is Workspace](https://next.api.alibabacloud.com/document/AIWorkSpace/2021-02-04/CreateWorkspace).\n\n\u003e **NOTE:** Available since v1.233.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst _default = new alicloud.pai.WorkspaceWorkspace(\"default\", {\n description: name,\n workspaceName: name,\n displayName: name,\n envTypes: [\"prod\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault = alicloud.pai.WorkspaceWorkspace(\"default\",\n description=name,\n workspace_name=name,\n display_name=name,\n env_types=[\"prod\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var @default = new AliCloud.Pai.WorkspaceWorkspace(\"default\", new()\n {\n Description = name,\n WorkspaceName = name,\n DisplayName = name,\n EnvTypes = new[]\n {\n \"prod\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pai\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := pai.NewWorkspaceWorkspace(ctx, \"default\", \u0026pai.WorkspaceWorkspaceArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tWorkspaceName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tEnvTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\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.alicloud.pai.WorkspaceWorkspace;\nimport com.pulumi.alicloud.pai.WorkspaceWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform_example\");\n var default_ = new WorkspaceWorkspace(\"default\", WorkspaceWorkspaceArgs.builder()\n .description(name)\n .workspaceName(name)\n .displayName(name)\n .envTypes(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n default:\n type: alicloud:pai:WorkspaceWorkspace\n properties:\n description: ${name}\n workspaceName: ${name}\n displayName: ${name}\n envTypes:\n - prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPAI Workspace Workspace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pai/workspaceWorkspace:WorkspaceWorkspace example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -223176,28 +228234,36 @@ } }, "alicloud:polardb/account:Account": { - "description": "Provides a PolarDB account resource and used to manage databases.\n\n\u003e **NOTE:** Available since v1.67.0. \n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultAccount = new alicloud.polardb.Account(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n accountDescription: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_account = alicloud.polardb.Account(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\",\n account_description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultAccount = new AliCloud.PolarDB.Account(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n AccountDescription = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewAccount(ctx, \"default\", \u0026polardb.AccountArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: pulumi.String(\"terraform_example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.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 default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(\"terraform_example\")\n .accountPassword(\"Example1234\")\n .accountDescription(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultAccount:\n type: alicloud:polardb:Account\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: terraform_example\n accountPassword: Example1234\n accountDescription: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/account:Account example \"pc-12345:tf_account\"\n```\n\n", + "description": "Provides a Polar Db Account resource.\n\nDatabase account information.\n\nFor information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount).\n\n\u003e **NOTE:** Available since v1.67.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultAccount = new alicloud.polardb.Account(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n accountDescription: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_account = alicloud.polardb.Account(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\",\n account_description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultAccount = new AliCloud.PolarDB.Account(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n AccountDescription = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewAccount(ctx, \"default\", \u0026polardb.AccountArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: pulumi.String(\"terraform_example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.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 default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(\"terraform_example\")\n .accountPassword(\"Example1234\")\n .accountDescription(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultAccount:\n type: alicloud:polardb:Account\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: terraform_example\n accountPassword: Example1234\n accountDescription: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolar Db Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/account:Account example \u003cdb_cluster_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountDescription": { "type": "string", - "description": "Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" + "description": "The description of the database account.\n" + }, + "accountLockState": { + "type": "string", + "description": "The lock status of the account. Valid values:\n- `UnLock`: The account is not locked.\n- `Lock`: The account is locked.\n" }, "accountName": { "type": "string", - "description": "Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.\n" + "description": "The account name. Must meet the following requirements:\n- Start with a lowercase letter and end with a letter or number.\n- Consists of lowercase letters, numbers, or underscores.\n- The length is 2 to 16 characters.\n- You cannot use some reserved usernames, such as root and admin.\n" }, "accountPassword": { "type": "string", - "description": "Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.\n", + "description": "The account password. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`accountPassword`\" pulumi-lang-dotnet=\"`AccountPassword`\" pulumi-lang-go=\"`accountPassword`\" pulumi-lang-python=\"`account_password`\" pulumi-lang-yaml=\"`accountPassword`\" pulumi-lang-java=\"`accountPassword`\"\u003e`account_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields. Must meet the following requirements:\n- Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n- Be 8 to 32 characters in length.\n- Special characters include !@#$%^\u0026*()_+-=.\n", "secret": true }, + "accountPasswordValidTime": { + "type": "string", + "description": "The time when the password for the database account expires.\n" + }, "accountType": { "type": "string", - "description": "Account type, Valid values are `Normal`, `Super`, Default to `Normal`.\n" + "description": "The account type. Default value:`Normal`. Valid values: `Normal`, `Super`.\n" }, "dbClusterId": { "type": "string", - "description": "The Id of cluster in which account belongs.\n" + "description": "The cluster ID.\n" }, "kmsEncryptedPassword": { "type": "string", @@ -223209,36 +228275,51 @@ "type": "string" }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating a db account with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" + }, + "status": { + "type": "string", + "description": "(Available since v1.265.0) The status of the database account.\n" } }, "required": [ + "accountLockState", "accountName", - "accountPassword", - "dbClusterId" + "accountPasswordValidTime", + "accountType", + "dbClusterId", + "status" ], "inputProperties": { "accountDescription": { "type": "string", - "description": "Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" + "description": "The description of the database account.\n" + }, + "accountLockState": { + "type": "string", + "description": "The lock status of the account. Valid values:\n- `UnLock`: The account is not locked.\n- `Lock`: The account is locked.\n" }, "accountName": { "type": "string", - "description": "Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.\n", + "description": "The account name. Must meet the following requirements:\n- Start with a lowercase letter and end with a letter or number.\n- Consists of lowercase letters, numbers, or underscores.\n- The length is 2 to 16 characters.\n- You cannot use some reserved usernames, such as root and admin.\n", "willReplaceOnChanges": true }, "accountPassword": { "type": "string", - "description": "Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.\n", + "description": "The account password. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`accountPassword`\" pulumi-lang-dotnet=\"`AccountPassword`\" pulumi-lang-go=\"`accountPassword`\" pulumi-lang-python=\"`account_password`\" pulumi-lang-yaml=\"`accountPassword`\" pulumi-lang-java=\"`accountPassword`\"\u003e`account_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields. Must meet the following requirements:\n- Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n- Be 8 to 32 characters in length.\n- Special characters include !@#$%^\u0026*()_+-=.\n", "secret": true }, + "accountPasswordValidTime": { + "type": "string", + "description": "The time when the password for the database account expires.\n" + }, "accountType": { "type": "string", - "description": "Account type, Valid values are `Normal`, `Super`, Default to `Normal`.\n", + "description": "The account type. Default value:`Normal`. Valid values: `Normal`, `Super`.\n", "willReplaceOnChanges": true }, "dbClusterId": { "type": "string", - "description": "The Id of cluster in which account belongs.\n", + "description": "The cluster ID.\n", "willReplaceOnChanges": true }, "kmsEncryptedPassword": { @@ -223255,7 +228336,6 @@ }, "requiredInputs": [ "accountName", - "accountPassword", "dbClusterId" ], "stateInputs": { @@ -223263,26 +228343,34 @@ "properties": { "accountDescription": { "type": "string", - "description": "Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" + "description": "The description of the database account.\n" + }, + "accountLockState": { + "type": "string", + "description": "The lock status of the account. Valid values:\n- `UnLock`: The account is not locked.\n- `Lock`: The account is locked.\n" }, "accountName": { "type": "string", - "description": "Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.\n", + "description": "The account name. Must meet the following requirements:\n- Start with a lowercase letter and end with a letter or number.\n- Consists of lowercase letters, numbers, or underscores.\n- The length is 2 to 16 characters.\n- You cannot use some reserved usernames, such as root and admin.\n", "willReplaceOnChanges": true }, "accountPassword": { "type": "string", - "description": "Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters.\n", + "description": "The account password. You have to specify one of \u003cspan pulumi-lang-nodejs=\"`accountPassword`\" pulumi-lang-dotnet=\"`AccountPassword`\" pulumi-lang-go=\"`accountPassword`\" pulumi-lang-python=\"`account_password`\" pulumi-lang-yaml=\"`accountPassword`\" pulumi-lang-java=\"`accountPassword`\"\u003e`account_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e fields. Must meet the following requirements:\n- Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.\n- Be 8 to 32 characters in length.\n- Special characters include !@#$%^\u0026*()_+-=.\n", "secret": true }, + "accountPasswordValidTime": { + "type": "string", + "description": "The time when the password for the database account expires.\n" + }, "accountType": { "type": "string", - "description": "Account type, Valid values are `Normal`, `Super`, Default to `Normal`.\n", + "description": "The account type. Default value:`Normal`. Valid values: `Normal`, `Super`.\n", "willReplaceOnChanges": true }, "dbClusterId": { "type": "string", - "description": "The Id of cluster in which account belongs.\n", + "description": "The cluster ID.\n", "willReplaceOnChanges": true }, "kmsEncryptedPassword": { @@ -223295,13 +228383,17 @@ "type": "string" }, "description": "An KMS encryption context used to decrypt \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e before creating or updating a db account with \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when \u003cspan pulumi-lang-nodejs=\"`kmsEncryptedPassword`\" pulumi-lang-dotnet=\"`KmsEncryptedPassword`\" pulumi-lang-go=\"`kmsEncryptedPassword`\" pulumi-lang-python=\"`kms_encrypted_password`\" pulumi-lang-yaml=\"`kmsEncryptedPassword`\" pulumi-lang-java=\"`kmsEncryptedPassword`\"\u003e`kms_encrypted_password`\u003c/span\u003e is set.\n" + }, + "status": { + "type": "string", + "description": "(Available since v1.265.0) The status of the database account.\n" } }, "type": "object" } }, "alicloud:polardb/accountPrivilege:AccountPrivilege": { - "description": "Provides a PolarDB account privilege resource and used to grant several database some access privilege. A database can be granted by multiple account.\n\n\u003e **NOTE:** Available in v1.67.0+.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultAccount = new alicloud.polardb.Account(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n accountDescription: \"terraform-example\",\n});\nconst defaultDatabase = new alicloud.polardb.Database(\"default\", {\n dbClusterId: defaultCluster.id,\n dbName: \"terraform-example\",\n});\nconst defaultAccountPrivilege = new alicloud.polardb.AccountPrivilege(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: defaultAccount.accountName,\n accountPrivilege: \"ReadOnly\",\n dbNames: [defaultDatabase.dbName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_account = alicloud.polardb.Account(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\",\n account_description=\"terraform-example\")\ndefault_database = alicloud.polardb.Database(\"default\",\n db_cluster_id=default_cluster.id,\n db_name=\"terraform-example\")\ndefault_account_privilege = alicloud.polardb.AccountPrivilege(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=default_account.account_name,\n account_privilege=\"ReadOnly\",\n db_names=[default_database.db_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultAccount = new AliCloud.PolarDB.Account(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n AccountDescription = \"terraform-example\",\n });\n\n var defaultDatabase = new AliCloud.PolarDB.Database(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbName = \"terraform-example\",\n });\n\n var defaultAccountPrivilege = new AliCloud.PolarDB.AccountPrivilege(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = defaultAccount.AccountName,\n Privilege = \"ReadOnly\",\n DbNames = new[]\n {\n defaultDatabase.DbName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := polardb.NewAccount(ctx, \"default\", \u0026polardb.AccountArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: pulumi.String(\"terraform_example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := polardb.NewDatabase(ctx, \"default\", \u0026polardb.DatabaseArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewAccountPrivilege(ctx, \"default\", \u0026polardb.AccountPrivilegeArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: defaultAccount.AccountName,\n\t\t\tAccountPrivilege: pulumi.String(\"ReadOnly\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.DbName,\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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.AccountArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.DatabaseArgs;\nimport com.pulumi.alicloud.polardb.AccountPrivilege;\nimport com.pulumi.alicloud.polardb.AccountPrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(\"terraform_example\")\n .accountPassword(\"Example1234\")\n .accountDescription(\"terraform-example\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbName(\"terraform-example\")\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(defaultAccount.accountName())\n .accountPrivilege(\"ReadOnly\")\n .dbNames(defaultDatabase.dbName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultAccount:\n type: alicloud:polardb:Account\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: terraform_example\n accountPassword: Example1234\n accountDescription: terraform-example\n defaultDatabase:\n type: alicloud:polardb:Database\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbName: terraform-example\n defaultAccountPrivilege:\n type: alicloud:polardb:AccountPrivilege\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: ${defaultAccount.accountName}\n accountPrivilege: ReadOnly\n dbNames:\n - ${defaultDatabase.dbName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB account privilege can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/accountPrivilege:AccountPrivilege example \"pc-12345:tf_account:ReadOnly\"\n```\n\n", + "description": "Provides a PolarDB account privilege resource and used to grant several database some access privilege. A database can be granted by multiple account.\n\n\u003e **NOTE:** Available in v1.67.0+.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultAccount = new alicloud.polardb.Account(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n accountDescription: \"terraform-example\",\n});\nconst defaultDatabase = new alicloud.polardb.Database(\"default\", {\n dbClusterId: defaultCluster.id,\n dbName: \"terraform-example\",\n});\nconst defaultAccountPrivilege = new alicloud.polardb.AccountPrivilege(\"default\", {\n dbClusterId: defaultCluster.id,\n accountName: defaultAccount.accountName,\n accountPrivilege: \"ReadOnly\",\n dbNames: [defaultDatabase.dbName],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_account = alicloud.polardb.Account(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\",\n account_description=\"terraform-example\")\ndefault_database = alicloud.polardb.Database(\"default\",\n db_cluster_id=default_cluster.id,\n db_name=\"terraform-example\")\ndefault_account_privilege = alicloud.polardb.AccountPrivilege(\"default\",\n db_cluster_id=default_cluster.id,\n account_name=default_account.account_name,\n account_privilege=\"ReadOnly\",\n db_names=[default_database.db_name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultAccount = new AliCloud.PolarDB.Account(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n AccountDescription = \"terraform-example\",\n });\n\n var defaultDatabase = new AliCloud.PolarDB.Database(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbName = \"terraform-example\",\n });\n\n var defaultAccountPrivilege = new AliCloud.PolarDB.AccountPrivilege(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n AccountName = defaultAccount.AccountName,\n Privilege = \"ReadOnly\",\n DbNames = new[]\n {\n defaultDatabase.DbName,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccount, err := polardb.NewAccount(ctx, \"default\", \u0026polardb.AccountArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: pulumi.String(\"terraform_example\"),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t\tAccountDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := polardb.NewDatabase(ctx, \"default\", \u0026polardb.DatabaseArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewAccountPrivilege(ctx, \"default\", \u0026polardb.AccountPrivilegeArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tAccountName: defaultAccount.AccountName,\n\t\t\tAccountPrivilege: pulumi.String(\"ReadOnly\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.DbName,\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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Account;\nimport com.pulumi.alicloud.polardb.AccountArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.DatabaseArgs;\nimport com.pulumi.alicloud.polardb.AccountPrivilege;\nimport com.pulumi.alicloud.polardb.AccountPrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(\"terraform_example\")\n .accountPassword(\"Example1234\")\n .accountDescription(\"terraform-example\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbName(\"terraform-example\")\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .dbClusterId(defaultCluster.id())\n .accountName(defaultAccount.accountName())\n .accountPrivilege(\"ReadOnly\")\n .dbNames(defaultDatabase.dbName())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultAccount:\n type: alicloud:polardb:Account\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: terraform_example\n accountPassword: Example1234\n accountDescription: terraform-example\n defaultDatabase:\n type: alicloud:polardb:Database\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbName: terraform-example\n defaultAccountPrivilege:\n type: alicloud:polardb:AccountPrivilege\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n accountName: ${defaultAccount.accountName}\n accountPrivilege: ReadOnly\n dbNames:\n - ${defaultDatabase.dbName}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB account privilege can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/accountPrivilege:AccountPrivilege example \"pc-12345:tf_account:ReadOnly\"\n```\n\n", "properties": { "accountName": { "type": "string", @@ -224727,7 +229819,7 @@ } }, "alicloud:polardb/clusterEndpoint:ClusterEndpoint": { - "description": "Provides a PolarDB endpoint resource to manage cluster endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.217.0\n\n\u003e **NOTE:** The default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultClusterEndpoint = new alicloud.polardb.ClusterEndpoint(\"default\", {dbClusterId: defaultCluster.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_cluster_endpoint = alicloud.polardb.ClusterEndpoint(\"default\", db_cluster_id=default_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultClusterEndpoint = new AliCloud.PolarDB.ClusterEndpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewClusterEndpoint(ctx, \"default\", \u0026polardb.ClusterEndpointArgs{\n\t\t\tDbClusterId: defaultCluster.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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.ClusterEndpoint;\nimport com.pulumi.alicloud.polardb.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultClusterEndpoint = new ClusterEndpoint(\"defaultClusterEndpoint\", ClusterEndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultClusterEndpoint:\n type: alicloud:polardb:ClusterEndpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/clusterEndpoint:ClusterEndpoint example pc-abc123456:pe-abc123456\n```\n\n", + "description": "Provides a PolarDB endpoint resource to manage cluster endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.217.0\n\n\u003e **NOTE:** The default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultClusterEndpoint = new alicloud.polardb.ClusterEndpoint(\"default\", {dbClusterId: defaultCluster.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_cluster_endpoint = alicloud.polardb.ClusterEndpoint(\"default\", db_cluster_id=default_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultClusterEndpoint = new AliCloud.PolarDB.ClusterEndpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewClusterEndpoint(ctx, \"default\", \u0026polardb.ClusterEndpointArgs{\n\t\t\tDbClusterId: defaultCluster.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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.ClusterEndpoint;\nimport com.pulumi.alicloud.polardb.ClusterEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultClusterEndpoint = new ClusterEndpoint(\"defaultClusterEndpoint\", ClusterEndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultClusterEndpoint:\n type: alicloud:polardb:ClusterEndpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/clusterEndpoint:ClusterEndpoint example pc-abc123456:pe-abc123456\n```\n\n", "properties": { "autoAddNewNodes": { "type": "string", @@ -224949,56 +230041,78 @@ } }, "alicloud:polardb/database:Database": { - "description": "Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases.\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultDatabase = new alicloud.polardb.Database(\"default\", {\n dbClusterId: defaultCluster.id,\n dbName: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_database = alicloud.polardb.Database(\"default\",\n db_cluster_id=default_cluster.id,\n db_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultDatabase = new AliCloud.PolarDB.Database(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewDatabase(ctx, \"default\", \u0026polardb.DatabaseArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.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 final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultDatabase:\n type: alicloud:polardb:Database\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbName: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/database:Database example \"pc-12345:tf_database\"\n```\n\n", + "description": "Provides a Polar Db Database resource.\n\nManage linked databases.\n\nFor information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase).\n\n\u003e **NOTE:** Available since v1.66.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultDatabase = new alicloud.polardb.Database(\"default\", {\n dbClusterId: defaultCluster.id,\n dbName: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_database = alicloud.polardb.Database(\"default\",\n db_cluster_id=default_cluster.id,\n db_name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultDatabase = new AliCloud.PolarDB.Database(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbName = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewDatabase(ctx, \"default\", \u0026polardb.DatabaseArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Database;\nimport com.pulumi.alicloud.polardb.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 final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbName(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultDatabase:\n type: alicloud:polardb:Database\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbName: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolar Db Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/database:Database example \u003cdb_cluster_id\u003e:\u003cdb_name\u003e\n```\n\n", "properties": { "accountName": { "type": "string", - "description": "Account name authorized to access the database. Only supports PostgreSQL.\n" + "description": "The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified.\n" }, "characterSetName": { "type": "string", - "description": "Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is \"utf8\" \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n" + "description": "The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html).\n" + }, + "collate": { + "type": "string", + "description": "The language that defines the collation rules in the database.\n\u003e **NOTE:** The locale must be compatible with the character set set set by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" + }, + "ctype": { + "type": "string", + "description": "The language that indicates the character type of the database.\n\u003e **NOTE:** The language must be compatible with the character set that is specified by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. The value that you specify must be the same as the value of \u003cspan pulumi-lang-nodejs=\"`collate`\" pulumi-lang-dotnet=\"`Collate`\" pulumi-lang-go=\"`collate`\" pulumi-lang-python=\"`collate`\" pulumi-lang-yaml=\"`collate`\" pulumi-lang-java=\"`collate`\"\u003e`collate`\u003c/span\u003e. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" }, "dbClusterId": { "type": "string", - "description": "The Id of cluster that can run database.\n" + "description": "The ID of cluster.\n" }, "dbDescription": { "type": "string", - "description": "Database description. It must start with a Chinese character or English letter, cannot start with \"http://\" or \"https://\". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.\n" + "description": "The description of the database. The description must meet the following requirements:\n- It cannot start with `http://` or `https://`.\n- It must be 2 to 256 characters in length.\n" }, "dbName": { "type": "string", - "description": "Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n" + "description": "The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n" + }, + "status": { + "type": "string", + "description": "(Available since v1.265.0) The state of the database.\n" } }, "required": [ + "characterSetName", "dbClusterId", - "dbName" + "dbDescription", + "dbName", + "status" ], "inputProperties": { "accountName": { "type": "string", - "description": "Account name authorized to access the database. Only supports PostgreSQL.\n", - "willReplaceOnChanges": true + "description": "The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified.\n" }, "characterSetName": { "type": "string", - "description": "Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is \"utf8\" \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n", + "description": "The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html).\n", "willReplaceOnChanges": true }, + "collate": { + "type": "string", + "description": "The language that defines the collation rules in the database.\n\u003e **NOTE:** The locale must be compatible with the character set set set by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" + }, + "ctype": { + "type": "string", + "description": "The language that indicates the character type of the database.\n\u003e **NOTE:** The language must be compatible with the character set that is specified by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. The value that you specify must be the same as the value of \u003cspan pulumi-lang-nodejs=\"`collate`\" pulumi-lang-dotnet=\"`Collate`\" pulumi-lang-go=\"`collate`\" pulumi-lang-python=\"`collate`\" pulumi-lang-yaml=\"`collate`\" pulumi-lang-java=\"`collate`\"\u003e`collate`\u003c/span\u003e. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" + }, "dbClusterId": { "type": "string", - "description": "The Id of cluster that can run database.\n", + "description": "The ID of cluster.\n", "willReplaceOnChanges": true }, "dbDescription": { "type": "string", - "description": "Database description. It must start with a Chinese character or English letter, cannot start with \"http://\" or \"https://\". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.\n" + "description": "The description of the database. The description must meet the following requirements:\n- It cannot start with `http://` or `https://`.\n- It must be 2 to 256 characters in length.\n" }, "dbName": { "type": "string", - "description": "Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n", + "description": "The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n", "willReplaceOnChanges": true } }, @@ -225011,34 +230125,45 @@ "properties": { "accountName": { "type": "string", - "description": "Account name authorized to access the database. Only supports PostgreSQL.\n", - "willReplaceOnChanges": true + "description": "The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, \u003cspan pulumi-lang-nodejs=\"`accountName`\" pulumi-lang-dotnet=\"`AccountName`\" pulumi-lang-go=\"`accountName`\" pulumi-lang-python=\"`account_name`\" pulumi-lang-yaml=\"`accountName`\" pulumi-lang-java=\"`accountName`\"\u003e`account_name`\u003c/span\u003e can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified.\n" }, "characterSetName": { "type": "string", - "description": "Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is \"utf8\" \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n", + "description": "The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html).\n", "willReplaceOnChanges": true }, + "collate": { + "type": "string", + "description": "The language that defines the collation rules in the database.\n\u003e **NOTE:** The locale must be compatible with the character set set set by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" + }, + "ctype": { + "type": "string", + "description": "The language that indicates the character type of the database.\n\u003e **NOTE:** The language must be compatible with the character set that is specified by \u003cspan pulumi-lang-nodejs=\"`characterSetName`\" pulumi-lang-dotnet=\"`CharacterSetName`\" pulumi-lang-go=\"`characterSetName`\" pulumi-lang-python=\"`character_set_name`\" pulumi-lang-yaml=\"`characterSetName`\" pulumi-lang-java=\"`characterSetName`\"\u003e`character_set_name`\u003c/span\u003e. The value that you specify must be the same as the value of \u003cspan pulumi-lang-nodejs=\"`collate`\" pulumi-lang-dotnet=\"`Collate`\" pulumi-lang-go=\"`collate`\" pulumi-lang-python=\"`collate`\" pulumi-lang-yaml=\"`collate`\" pulumi-lang-java=\"`collate`\"\u003e`collate`\u003c/span\u003e. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster.\n" + }, "dbClusterId": { "type": "string", - "description": "The Id of cluster that can run database.\n", + "description": "The ID of cluster.\n", "willReplaceOnChanges": true }, "dbDescription": { "type": "string", - "description": "Database description. It must start with a Chinese character or English letter, cannot start with \"http://\" or \"https://\". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters.\n" + "description": "The description of the database. The description must meet the following requirements:\n- It cannot start with `http://` or `https://`.\n- It must be 2 to 256 characters in length.\n" }, "dbName": { "type": "string", - "description": "Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n", + "description": "The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters.\n", "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "(Available since v1.265.0) The state of the database.\n" } }, "type": "object" } }, "alicloud:polardb/endpoint:Endpoint": { - "description": "Provides a PolarDB endpoint resource to manage custom endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.80.0.\n\u003e **NOTE:** After v1.80.0 and before v1.121.0, you can only use this resource to manage the custom endpoint. Since v1.121.0, you also can import the primary endpoint and the cluster endpoint, to modify their ssl status and so on.\n\u003e **NOTE:** The primary endpoint and the default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultEndpoint = new alicloud.polardb.Endpoint(\"default\", {\n dbClusterId: defaultCluster.id,\n endpointType: \"Custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_endpoint = alicloud.polardb.Endpoint(\"default\",\n db_cluster_id=default_cluster.id,\n endpoint_type=\"Custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultEndpoint = new AliCloud.PolarDB.Endpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n EndpointType = \"Custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewEndpoint(ctx, \"default\", \u0026polardb.EndpointArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tEndpointType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Endpoint;\nimport com.pulumi.alicloud.polardb.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 final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .endpointType(\"Custom\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultEndpoint:\n type: alicloud:polardb:Endpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n endpointType: Custom\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/endpoint:Endpoint example pc-abc123456:pe-abc123456\n```\n\n", + "description": "Provides a PolarDB endpoint resource to manage custom endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.80.0.\n\u003e **NOTE:** After v1.80.0 and before v1.121.0, you can only use this resource to manage the custom endpoint. Since v1.121.0, you also can import the primary endpoint and the cluster endpoint, to modify their ssl status and so on.\n\u003e **NOTE:** The primary endpoint and the default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultEndpoint = new alicloud.polardb.Endpoint(\"default\", {\n dbClusterId: defaultCluster.id,\n endpointType: \"Custom\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_endpoint = alicloud.polardb.Endpoint(\"default\",\n db_cluster_id=default_cluster.id,\n endpoint_type=\"Custom\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultEndpoint = new AliCloud.PolarDB.Endpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n EndpointType = \"Custom\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewEndpoint(ctx, \"default\", \u0026polardb.EndpointArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tEndpointType: pulumi.String(\"Custom\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.Endpoint;\nimport com.pulumi.alicloud.polardb.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 final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .endpointType(\"Custom\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultEndpoint:\n type: alicloud:polardb:Endpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n endpointType: Custom\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/endpoint:Endpoint example pc-abc123456:pe-abc123456\n```\n\n", "properties": { "autoAddNewNodes": { "type": "string", @@ -225265,7 +230390,7 @@ } }, "alicloud:polardb/endpointAddress:EndpointAddress": { - "description": "Provides a PolarDB endpoint address resource to allocate an Internet endpoint address string for PolarDB instance.\n\n\u003e **NOTE:** Available since v1.68.0. Each PolarDB instance will allocate a intranet connection string automatically and its prefix is Cluster ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultGetEndpoints = alicloud.polardb.getEndpointsOutput({\n dbClusterId: defaultCluster.id,\n});\nconst defaultEndpointAddress = new alicloud.polardb.EndpointAddress(\"default\", {\n dbClusterId: defaultCluster.id,\n dbEndpointId: defaultGetEndpoints.apply(defaultGetEndpoints =\u003e defaultGetEndpoints.endpoints?.[0]?.dbEndpointId),\n connectionPrefix: \"polardbexample\",\n netType: \"Public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_get_endpoints = alicloud.polardb.get_endpoints_output(db_cluster_id=default_cluster.id)\ndefault_endpoint_address = alicloud.polardb.EndpointAddress(\"default\",\n db_cluster_id=default_cluster.id,\n db_endpoint_id=default_get_endpoints.endpoints[0].db_endpoint_id,\n connection_prefix=\"polardbexample\",\n net_type=\"Public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultGetEndpoints = AliCloud.PolarDB.GetEndpoints.Invoke(new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n var defaultEndpointAddress = new AliCloud.PolarDB.EndpointAddress(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbEndpointId = defaultGetEndpoints.Apply(getEndpointsResult =\u003e getEndpointsResult.Endpoints[0]?.DbEndpointId),\n ConnectionPrefix = \"polardbexample\",\n NetType = \"Public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetEndpoints := polardb.GetEndpointsOutput(ctx, polardb.GetEndpointsOutputArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t}, nil)\n\t\t_, err = polardb.NewEndpointAddress(ctx, \"default\", \u0026polardb.EndpointAddressArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbEndpointId: pulumi.String(defaultGetEndpoints.ApplyT(func(defaultGetEndpoints polardb.GetEndpointsResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetEndpoints.Endpoints[0].DbEndpointId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"polardbexample\"),\n\t\t\tNetType: pulumi.String(\"Public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.inputs.GetEndpointsArgs;\nimport com.pulumi.alicloud.polardb.EndpointAddress;\nimport com.pulumi.alicloud.polardb.EndpointAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n final var defaultGetEndpoints = PolardbFunctions.getEndpoints(GetEndpointsArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n var defaultEndpointAddress = new EndpointAddress(\"defaultEndpointAddress\", EndpointAddressArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbEndpointId(defaultGetEndpoints.applyValue(_defaultGetEndpoints -\u003e _defaultGetEndpoints.endpoints()[0].dbEndpointId()))\n .connectionPrefix(\"polardbexample\")\n .netType(\"Public\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultEndpointAddress:\n type: alicloud:polardb:EndpointAddress\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbEndpointId: ${defaultGetEndpoints.endpoints[0].dbEndpointId}\n connectionPrefix: polardbexample\n netType: Public\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n defaultGetEndpoints:\n fn::invoke:\n function: alicloud:polardb:getEndpoints\n arguments:\n dbClusterId: ${defaultCluster.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB endpoint address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/endpointAddress:EndpointAddress example pc-abc123456:pe-abc123456\n```\n\n", + "description": "Provides a PolarDB endpoint address resource to allocate an Internet endpoint address string for PolarDB instance.\n\n\u003e **NOTE:** Available since v1.68.0. Each PolarDB instance will allocate a intranet connection string automatically and its prefix is Cluster ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultGetEndpoints = alicloud.polardb.getEndpointsOutput({\n dbClusterId: defaultCluster.id,\n});\nconst defaultEndpointAddress = new alicloud.polardb.EndpointAddress(\"default\", {\n dbClusterId: defaultCluster.id,\n dbEndpointId: defaultGetEndpoints.apply(defaultGetEndpoints =\u003e defaultGetEndpoints.endpoints?.[0]?.dbEndpointId),\n connectionPrefix: \"polardbexample\",\n netType: \"Public\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_get_endpoints = alicloud.polardb.get_endpoints_output(db_cluster_id=default_cluster.id)\ndefault_endpoint_address = alicloud.polardb.EndpointAddress(\"default\",\n db_cluster_id=default_cluster.id,\n db_endpoint_id=default_get_endpoints.endpoints[0].db_endpoint_id,\n connection_prefix=\"polardbexample\",\n net_type=\"Public\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultGetEndpoints = AliCloud.PolarDB.GetEndpoints.Invoke(new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n var defaultEndpointAddress = new AliCloud.PolarDB.EndpointAddress(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n DbEndpointId = defaultGetEndpoints.Apply(getEndpointsResult =\u003e getEndpointsResult.Endpoints[0]?.DbEndpointId),\n ConnectionPrefix = \"polardbexample\",\n NetType = \"Public\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetEndpoints := polardb.GetEndpointsOutput(ctx, polardb.GetEndpointsOutputArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t}, nil)\n\t\t_, err = polardb.NewEndpointAddress(ctx, \"default\", \u0026polardb.EndpointAddressArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDbEndpointId: pulumi.String(defaultGetEndpoints.ApplyT(func(defaultGetEndpoints polardb.GetEndpointsResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetEndpoints.Endpoints[0].DbEndpointId, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConnectionPrefix: pulumi.String(\"polardbexample\"),\n\t\t\tNetType: pulumi.String(\"Public\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.inputs.GetEndpointsArgs;\nimport com.pulumi.alicloud.polardb.EndpointAddress;\nimport com.pulumi.alicloud.polardb.EndpointAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n final var defaultGetEndpoints = PolardbFunctions.getEndpoints(GetEndpointsArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n var defaultEndpointAddress = new EndpointAddress(\"defaultEndpointAddress\", EndpointAddressArgs.builder()\n .dbClusterId(defaultCluster.id())\n .dbEndpointId(defaultGetEndpoints.applyValue(_defaultGetEndpoints -\u003e _defaultGetEndpoints.endpoints()[0].dbEndpointId()))\n .connectionPrefix(\"polardbexample\")\n .netType(\"Public\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultEndpointAddress:\n type: alicloud:polardb:EndpointAddress\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n dbEndpointId: ${defaultGetEndpoints.endpoints[0].dbEndpointId}\n connectionPrefix: polardbexample\n netType: Public\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n defaultGetEndpoints:\n fn::invoke:\n function: alicloud:polardb:getEndpoints\n arguments:\n dbClusterId: ${defaultCluster.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB endpoint address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/endpointAddress:EndpointAddress example pc-abc123456:pe-abc123456\n```\n\n", "properties": { "connectionPrefix": { "type": "string", @@ -225372,7 +230497,7 @@ } }, "alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork": { - "description": "Provides a PolarDB Global Database Network resource.\n\nFor information about PolarDB Global Database Network and how to use it, see [What is Global Database Network](https://www.alibabacloud.com/help/en/polardb/api-polardb-2017-08-01-createglobaldatabasenetwork).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n category: \"Normal\",\n payType: \"PostPaid\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultGlobalDatabaseNetwork = new alicloud.polardb.GlobalDatabaseNetwork(\"default\", {\n dbClusterId: defaultCluster.id,\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n category=\"Normal\",\n pay_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_global_database_network = alicloud.polardb.GlobalDatabaseNetwork(\"default\",\n db_cluster_id=default_cluster.id,\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n Category = \"Normal\",\n PayType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultGlobalDatabaseNetwork = new AliCloud.PolarDB.GlobalDatabaseNetwork(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewGlobalDatabaseNetwork(ctx, \"default\", \u0026polardb.GlobalDatabaseNetworkArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.GlobalDatabaseNetwork;\nimport com.pulumi.alicloud.polardb.GlobalDatabaseNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .category(\"Normal\")\n .payType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultGlobalDatabaseNetwork = new GlobalDatabaseNetwork(\"defaultGlobalDatabaseNetwork\", GlobalDatabaseNetworkArgs.builder()\n .dbClusterId(defaultCluster.id())\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultGlobalDatabaseNetwork:\n type: alicloud:polardb:GlobalDatabaseNetwork\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n category: Normal\n payType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB Global Database Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork example \u003cid\u003e\n```\n\n", + "description": "Provides a PolarDB Global Database Network resource.\n\nFor information about PolarDB Global Database Network and how to use it, see [What is Global Database Network](https://www.alibabacloud.com/help/en/polardb/api-polardb-2017-08-01-createglobaldatabasenetwork).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n category: \"Normal\",\n payType: \"PostPaid\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultGlobalDatabaseNetwork = new alicloud.polardb.GlobalDatabaseNetwork(\"default\", {\n dbClusterId: defaultCluster.id,\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n category=\"Normal\",\n pay_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_global_database_network = alicloud.polardb.GlobalDatabaseNetwork(\"default\",\n db_cluster_id=default_cluster.id,\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n Category = \"Normal\",\n PayType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultGlobalDatabaseNetwork = new AliCloud.PolarDB.GlobalDatabaseNetwork(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewGlobalDatabaseNetwork(ctx, \"default\", \u0026polardb.GlobalDatabaseNetworkArgs{\n\t\t\tDbClusterId: defaultCluster.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.GlobalDatabaseNetwork;\nimport com.pulumi.alicloud.polardb.GlobalDatabaseNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .category(\"Normal\")\n .payType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultGlobalDatabaseNetwork = new GlobalDatabaseNetwork(\"defaultGlobalDatabaseNetwork\", GlobalDatabaseNetworkArgs.builder()\n .dbClusterId(defaultCluster.id())\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultGlobalDatabaseNetwork:\n type: alicloud:polardb:GlobalDatabaseNetwork\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n category: Normal\n payType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB Global Database Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork example \u003cid\u003e\n```\n\n", "properties": { "dbClusterId": { "type": "string", @@ -225426,8 +230551,62 @@ "type": "object" } }, + "alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup": { + "description": "Provides a Polardb Global Security Ip Group resource.\n\nGlobal Security IP Group.\n\nFor information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup).\n\n\u003e **NOTE:** Available since v1.266.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.polardb.GlobalSecurityIpGroup(\"default\", {\n globalIpList: \"192.168.0.1\",\n globalIpGroupName: \"example_template\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.polardb.GlobalSecurityIpGroup(\"default\",\n global_ip_list=\"192.168.0.1\",\n global_ip_group_name=\"example_template\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.PolarDB.GlobalSecurityIpGroup(\"default\", new()\n {\n GlobalIpList = \"192.168.0.1\",\n GlobalIpGroupName = \"example_template\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := polardb.NewGlobalSecurityIpGroup(ctx, \"default\", \u0026polardb.GlobalSecurityIpGroupArgs{\n\t\t\tGlobalIpList: pulumi.String(\"192.168.0.1\"),\n\t\t\tGlobalIpGroupName: pulumi.String(\"example_template\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.GlobalSecurityIpGroup;\nimport com.pulumi.alicloud.polardb.GlobalSecurityIpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new GlobalSecurityIpGroup(\"default\", GlobalSecurityIpGroupArgs.builder()\n .globalIpList(\"192.168.0.1\")\n .globalIpGroupName(\"example_template\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:polardb:GlobalSecurityIpGroup\n properties:\n globalIpList: 192.168.0.1\n globalIpGroupName: example_template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolardb Global Security Ip Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example \u003cid\u003e\n```\n\n", + "properties": { + "globalIpGroupName": { + "type": "string", + "description": "The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements:\n\n- The name can contain lowercase letters, digits, and underscores (\\_).\n- The name must start with a letter and end with a letter or digit.\n- The name must be 2 to 120 characters in length.\n" + }, + "globalIpList": { + "type": "string", + "description": "The IP address in the whitelist template.\n\n\u003e **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists.\n" + }, + "regionId": { + "type": "string", + "description": "The region ID of the IP whitelist template.\n" + } + }, + "required": [ + "globalIpGroupName", + "globalIpList", + "regionId" + ], + "inputProperties": { + "globalIpGroupName": { + "type": "string", + "description": "The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements:\n\n- The name can contain lowercase letters, digits, and underscores (\\_).\n- The name must start with a letter and end with a letter or digit.\n- The name must be 2 to 120 characters in length.\n" + }, + "globalIpList": { + "type": "string", + "description": "The IP address in the whitelist template.\n\n\u003e **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists.\n" + } + }, + "requiredInputs": [ + "globalIpGroupName", + "globalIpList" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering GlobalSecurityIpGroup resources.\n", + "properties": { + "globalIpGroupName": { + "type": "string", + "description": "The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements:\n\n- The name can contain lowercase letters, digits, and underscores (\\_).\n- The name must start with a letter and end with a letter or digit.\n- The name must be 2 to 120 characters in length.\n" + }, + "globalIpList": { + "type": "string", + "description": "The IP address in the whitelist template.\n\n\u003e **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists.\n" + }, + "regionId": { + "type": "string", + "description": "The region ID of the IP whitelist template.\n" + } + }, + "type": "object" + } + }, "alicloud:polardb/parameterGroup:ParameterGroup": { - "description": "Provides a Polar Db Parameter Group resource.\n\n\n\nFor information about Polar Db Parameter Group and how to use it, see [What is Parameter Group](https://www.alibabacloud.com/help/en/polardb/polardb-for-mysql/user-guide/apply-a-parameter-template).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.polardb.ParameterGroup(\"example\", {\n parameterGroupName: \"example_value\",\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n parameters: [{\n paramName: \"wait_timeout\",\n paramValue: \"86400\",\n }],\n description: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.polardb.ParameterGroup(\"example\",\n parameter_group_name=\"example_value\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n parameters=[{\n \"param_name\": \"wait_timeout\",\n \"param_value\": \"86400\",\n }],\n description=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.PolarDB.ParameterGroup(\"example\", new()\n {\n ParameterGroupName = \"example_value\",\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n Parameters = new[]\n {\n new AliCloud.PolarDB.Inputs.ParameterGroupParameterArgs\n {\n ParamName = \"wait_timeout\",\n ParamValue = \"86400\",\n },\n },\n Description = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := polardb.NewParameterGroup(ctx, \"example\", \u0026polardb.ParameterGroupArgs{\n\t\t\tParameterGroupName: pulumi.String(\"example_value\"),\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tParameters: polardb.ParameterGroupParameterArray{\n\t\t\t\t\u0026polardb.ParameterGroupParameterArgs{\n\t\t\t\t\tParamName: pulumi.String(\"wait_timeout\"),\n\t\t\t\t\tParamValue: pulumi.String(\"86400\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.ParameterGroup;\nimport com.pulumi.alicloud.polardb.ParameterGroupArgs;\nimport com.pulumi.alicloud.polardb.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ParameterGroup(\"example\", ParameterGroupArgs.builder()\n .parameterGroupName(\"example_value\")\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .parameters(ParameterGroupParameterArgs.builder()\n .paramName(\"wait_timeout\")\n .paramValue(\"86400\")\n .build())\n .description(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:polardb:ParameterGroup\n properties:\n parameterGroupName: example_value\n dbType: MySQL\n dbVersion: '8.0'\n parameters:\n - paramName: wait_timeout\n paramValue: '86400'\n description: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolar Db Parameter Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/parameterGroup:ParameterGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Polar Db Parameter Group resource.\n\n\n\nFor information about Polar Db Parameter Group and how to use it, see [What is Parameter Group](https://www.alibabacloud.com/help/en/polardb/polardb-for-mysql/user-guide/apply-a-parameter-template).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.polardb.ParameterGroup(\"example\", {\n parameterGroupName: \"example_value\",\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n parameters: [{\n paramName: \"wait_timeout\",\n paramValue: \"86400\",\n }],\n description: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.polardb.ParameterGroup(\"example\",\n parameter_group_name=\"example_value\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n parameters=[{\n \"param_name\": \"wait_timeout\",\n \"param_value\": \"86400\",\n }],\n description=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.PolarDB.ParameterGroup(\"example\", new()\n {\n ParameterGroupName = \"example_value\",\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n Parameters = new[]\n {\n new AliCloud.PolarDB.Inputs.ParameterGroupParameterArgs\n {\n ParamName = \"wait_timeout\",\n ParamValue = \"86400\",\n },\n },\n Description = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := polardb.NewParameterGroup(ctx, \"example\", \u0026polardb.ParameterGroupArgs{\n\t\t\tParameterGroupName: pulumi.String(\"example_value\"),\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tParameters: polardb.ParameterGroupParameterArray{\n\t\t\t\t\u0026polardb.ParameterGroupParameterArgs{\n\t\t\t\t\tParamName: pulumi.String(\"wait_timeout\"),\n\t\t\t\t\tParamValue: pulumi.String(\"86400\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.polardb.ParameterGroup;\nimport com.pulumi.alicloud.polardb.ParameterGroupArgs;\nimport com.pulumi.alicloud.polardb.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ParameterGroup(\"example\", ParameterGroupArgs.builder()\n .parameterGroupName(\"example_value\")\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .parameters(ParameterGroupParameterArgs.builder()\n .paramName(\"wait_timeout\")\n .paramValue(\"86400\")\n .build())\n .description(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:polardb:ParameterGroup\n properties:\n parameterGroupName: example_value\n dbType: MySQL\n dbVersion: '8.0'\n parameters:\n - paramName: wait_timeout\n paramValue: '86400'\n description: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolar Db Parameter Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/parameterGroup:ParameterGroup example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -225557,7 +230736,7 @@ } }, "alicloud:polardb/primaryEndpoint:PrimaryEndpoint": { - "description": "Provides a PolarDB endpoint resource to manage primary endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.217.0\n\n\u003e **NOTE:** The default primary endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultPrimaryEndpoint = new alicloud.polardb.PrimaryEndpoint(\"default\", {dbClusterId: defaultCluster.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_primary_endpoint = alicloud.polardb.PrimaryEndpoint(\"default\", db_cluster_id=default_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultPrimaryEndpoint = new AliCloud.PolarDB.PrimaryEndpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewPrimaryEndpoint(ctx, \"default\", \u0026polardb.PrimaryEndpointArgs{\n\t\t\tDbClusterId: defaultCluster.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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.PrimaryEndpoint;\nimport com.pulumi.alicloud.polardb.PrimaryEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultPrimaryEndpoint = new PrimaryEndpoint(\"defaultPrimaryEndpoint\", PrimaryEndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultPrimaryEndpoint:\n type: alicloud:polardb:PrimaryEndpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/primaryEndpoint:PrimaryEndpoint example pc-abc123456:pe-abc123456\n```\n\n", + "description": "Provides a PolarDB endpoint resource to manage primary endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.217.0\n\n\u003e **NOTE:** The default primary endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.polardb.getNodeClasses({\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n payType: \"PostPaid\",\n category: \"Normal\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.classes?.[0]?.zoneId),\n vswitchName: \"terraform-example\",\n});\nconst defaultCluster = new alicloud.polardb.Cluster(\"default\", {\n dbType: \"MySQL\",\n dbVersion: \"8.0\",\n dbNodeClass: _default.then(_default =\u003e _default.classes?.[0]?.supportedEngines?.[0]?.availableResources?.[0]?.dbNodeClass),\n payType: \"PostPaid\",\n vswitchId: defaultSwitch.id,\n description: \"terraform-example\",\n});\nconst defaultPrimaryEndpoint = new alicloud.polardb.PrimaryEndpoint(\"default\", {dbClusterId: defaultCluster.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.polardb.get_node_classes(db_type=\"MySQL\",\n db_version=\"8.0\",\n pay_type=\"PostPaid\",\n category=\"Normal\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.classes[0].zone_id,\n vswitch_name=\"terraform-example\")\ndefault_cluster = alicloud.polardb.Cluster(\"default\",\n db_type=\"MySQL\",\n db_version=\"8.0\",\n db_node_class=default.classes[0].supported_engines[0].available_resources[0].db_node_class,\n pay_type=\"PostPaid\",\n vswitch_id=default_switch.id,\n description=\"terraform-example\")\ndefault_primary_endpoint = alicloud.polardb.PrimaryEndpoint(\"default\", db_cluster_id=default_cluster.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.PolarDB.GetNodeClasses.Invoke(new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n PayType = \"PostPaid\",\n Category = \"Normal\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.ZoneId)),\n VswitchName = \"terraform-example\",\n });\n\n var defaultCluster = new AliCloud.PolarDB.Cluster(\"default\", new()\n {\n DbType = \"MySQL\",\n DbVersion = \"8.0\",\n DbNodeClass = @default.Apply(@default =\u003e @default.Apply(getNodeClassesResult =\u003e getNodeClassesResult.Classes[0]?.SupportedEngines[0]?.AvailableResources[0]?.DbNodeClass)),\n PayType = \"PostPaid\",\n VswitchId = defaultSwitch.Id,\n Description = \"terraform-example\",\n });\n\n var defaultPrimaryEndpoint = new AliCloud.PolarDB.PrimaryEndpoint(\"default\", new()\n {\n DbClusterId = defaultCluster.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := polardb.GetNodeClasses(ctx, \u0026polardb.GetNodeClassesArgs{\n\t\t\tDbType: pulumi.StringRef(\"MySQL\"),\n\t\t\tDbVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tPayType: \"PostPaid\",\n\t\t\tCategory: pulumi.StringRef(\"Normal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Classes[0].ZoneId),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCluster, err := polardb.NewCluster(ctx, \"default\", \u0026polardb.ClusterArgs{\n\t\t\tDbType: pulumi.String(\"MySQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tDbNodeClass: pulumi.String(_default.Classes[0].SupportedEngines[0].AvailableResources[0].DbNodeClass),\n\t\t\tPayType: pulumi.String(\"PostPaid\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = polardb.NewPrimaryEndpoint(ctx, \"default\", \u0026polardb.PrimaryEndpointArgs{\n\t\t\tDbClusterId: defaultCluster.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.alicloud.polardb.PolardbFunctions;\nimport com.pulumi.alicloud.polardb.inputs.GetNodeClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.polardb.Cluster;\nimport com.pulumi.alicloud.polardb.ClusterArgs;\nimport com.pulumi.alicloud.polardb.PrimaryEndpoint;\nimport com.pulumi.alicloud.polardb.PrimaryEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = PolardbFunctions.getNodeClasses(GetNodeClassesArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .payType(\"PostPaid\")\n .category(\"Normal\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.classes()[0].zoneId())\n .vswitchName(\"terraform-example\")\n .build());\n\n var defaultCluster = new Cluster(\"defaultCluster\", ClusterArgs.builder()\n .dbType(\"MySQL\")\n .dbVersion(\"8.0\")\n .dbNodeClass(default_.classes()[0].supportedEngines()[0].availableResources()[0].dbNodeClass())\n .payType(\"PostPaid\")\n .vswitchId(defaultSwitch.id())\n .description(\"terraform-example\")\n .build());\n\n var defaultPrimaryEndpoint = new PrimaryEndpoint(\"defaultPrimaryEndpoint\", PrimaryEndpointArgs.builder()\n .dbClusterId(defaultCluster.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.classes[0].zoneId}\n vswitchName: terraform-example\n defaultCluster:\n type: alicloud:polardb:Cluster\n name: default\n properties:\n dbType: MySQL\n dbVersion: '8.0'\n dbNodeClass: ${default.classes[0].supportedEngines[0].availableResources[0].dbNodeClass}\n payType: PostPaid\n vswitchId: ${defaultSwitch.id}\n description: terraform-example\n defaultPrimaryEndpoint:\n type: alicloud:polardb:PrimaryEndpoint\n name: default\n properties:\n dbClusterId: ${defaultCluster.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:polardb:getNodeClasses\n arguments:\n dbType: MySQL\n dbVersion: '8.0'\n payType: PostPaid\n category: Normal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/primaryEndpoint:PrimaryEndpoint example pc-abc123456:pe-abc123456\n```\n\n", "properties": { "connectionPrefix": { "type": "string", @@ -225709,7 +230888,7 @@ } }, "alicloud:polardb/zonalAccount:ZonalAccount": { - "description": "Provides a PolarDB Zonal account resource and used to manage databases.\n\n\u003e **NOTE:** Available since v1.262.0. \n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\nconst defaultZonalAccount = new alicloud.polardb.ZonalAccount(\"default\", {\n dbClusterId: defaultZonalDbCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\ndefault_zonal_account = alicloud.polardb.ZonalAccount(\"default\",\n db_cluster_id=default_zonal_db_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n var defaultZonalAccount = new AliCloud.PolarDB.ZonalAccount(\"default\", new()\n {\n DbClusterId = defaultZonalDbCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB Zonal account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalAccount:ZonalAccount example \"pc-12345:tf_account\"\n```\n\n", + "description": "Provides a PolarDB Zonal account resource and used to manage databases.\n\n\u003e **NOTE:** Available since v1.262.0. \n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\nconst defaultZonalAccount = new alicloud.polardb.ZonalAccount(\"default\", {\n dbClusterId: defaultZonalDbCluster.id,\n accountName: \"terraform_example\",\n accountPassword: \"Example1234\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\ndefault_zonal_account = alicloud.polardb.ZonalAccount(\"default\",\n db_cluster_id=default_zonal_db_cluster.id,\n account_name=\"terraform_example\",\n account_password=\"Example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n var defaultZonalAccount = new AliCloud.PolarDB.ZonalAccount(\"default\", new()\n {\n DbClusterId = defaultZonalDbCluster.Id,\n AccountName = \"terraform_example\",\n AccountPassword = \"Example1234\",\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB Zonal account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalAccount:ZonalAccount example \"pc-12345:tf_account\"\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -225801,7 +230980,7 @@ } }, "alicloud:polardb/zonalDbCluster:ZonalDbCluster": { - "description": "Provides an PolarDB zonal cluster resource. An PolarDB zonal cluster is an isolated database\nenvironment in the cloud. An PolarDB zonal cluster can contain multiple user-created\ndatabases.\n\n\u003e **NOTE:** Available since v1.261.0.\n\n## Example Usage\n\nCreate a PolarDB MySQL zonal cluster\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n db_node_2: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Reader\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n \"db_node_2\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Reader\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n { \"db_node_2\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Reader\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB zonal cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalDbCluster:ZonalDbCluster example pc-abc12345678\n```\n\n", + "description": "Provides an PolarDB zonal cluster resource. An PolarDB zonal cluster is an isolated database\nenvironment in the cloud. An PolarDB zonal cluster can contain multiple user-created\ndatabases.\n\n\u003e **NOTE:** Available since v1.261.0.\n\n## Example Usage\n\nCreate a PolarDB MySQL zonal cluster\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n db_node_2: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Reader\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n \"db_node_2\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Reader\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n { \"db_node_2\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Reader\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB zonal cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalDbCluster:ZonalDbCluster example pc-abc12345678\n```\n\n", "properties": { "autoRenewPeriod": { "type": "integer", @@ -226142,7 +231321,7 @@ } }, "alicloud:polardb/zonalEndpoint:ZonalEndpoint": { - "description": "Provides a PolarDB Zonal endpoint resource to manage custom endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.262.0.\n\u003e **NOTE:** The primary endpoint and the default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n db_node_2: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Reader\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\nconst defaultZonalEndpoint = new alicloud.polardb.ZonalEndpoint(\"default\", {\n dbClusterId: defaultZonalDbCluster.id,\n dbClusterNodesIds: defaultZonalDbCluster.dbClusterNodesIds,\n endpointConfig: {},\n nodesKeys: [\n \"db_node_1\",\n \"db_node_2\",\n ],\n readWriteMode: \"ReadWrite\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n \"db_node_2\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Reader\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\ndefault_zonal_endpoint = alicloud.polardb.ZonalEndpoint(\"default\",\n db_cluster_id=default_zonal_db_cluster.id,\n db_cluster_nodes_ids=default_zonal_db_cluster.db_cluster_nodes_ids,\n endpoint_config={},\n nodes_keys=[\n \"db_node_1\",\n \"db_node_2\",\n ],\n read_write_mode=\"ReadWrite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n { \"db_node_2\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Reader\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n var defaultZonalEndpoint = new AliCloud.PolarDB.ZonalEndpoint(\"default\", new()\n {\n DbClusterId = defaultZonalDbCluster.Id,\n DbClusterNodesIds = defaultZonalDbCluster.DbClusterNodesIds,\n EndpointConfig = null,\n NodesKeys = new[]\n {\n \"db_node_1\",\n \"db_node_2\",\n },\n ReadWriteMode = \"ReadWrite\",\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPolarDB Zonal endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalEndpoint:ZonalEndpoint example pc-abc123456:pe-abc123456\n```\n\n", + "description": "Provides a PolarDB Zonal endpoint resource to manage custom endpoint of PolarDB cluster.\n\n\u003e **NOTE:** Available since v1.262.0.\n\u003e **NOTE:** The primary endpoint and the default cluster endpoint can not be created or deleted manually.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\n// The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\nconst dbClusterNodesConfigs = config.getObject\u003cRecord\u003cstring, {dbNodeClass?: string, dbNodeRole?: string, hotReplicaMode?: string, imciSwitch?: string}\u003e\u003e(\"dbClusterNodesConfigs\") || {\n db_node_1: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Writer\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n db_node_2: {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n dbNodeRole: \"Reader\",\n hotReplicaMode: null,\n imciSwitch: null,\n },\n};\nconst _default = new alicloud.ens.Network(\"default\", {\n networkName: \"terraform-example\",\n description: \"LoadBalancerNetworkDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n ensRegionId: \"tr-Istanbul-1\",\n});\nconst defaultVswitch = new alicloud.ens.Vswitch(\"default\", {\n description: \"LoadBalancerVSwitchDescription_test\",\n cidrBlock: \"192.168.2.0/24\",\n vswitchName: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n networkId: _default.id,\n});\nconst defaultZonalDbCluster = new alicloud.polardb.ZonalDbCluster(\"default\", {\n dbNodeClass: \"polar.mysql.x4.medium.c\",\n description: \"terraform-example\",\n ensRegionId: \"tr-Istanbul-1\",\n vpcId: _default.id,\n vswitchId: defaultVswitch.id,\n dbClusterNodesConfigs: Object.entries(dbClusterNodesConfigs).reduce((__obj, [node, config]) =\u003e ({ ...__obj, [node]: JSON.stringify(Object.entries(config).filter(([k, v]) =\u003e v != null).reduce((__obj, [k, v]) =\u003e ({ ...__obj, [k]: v }))) })),\n});\nconst defaultZonalEndpoint = new alicloud.polardb.ZonalEndpoint(\"default\", {\n dbClusterId: defaultZonalDbCluster.id,\n dbClusterNodesIds: defaultZonalDbCluster.dbClusterNodesIds,\n endpointConfig: {},\n nodesKeys: [\n \"db_node_1\",\n \"db_node_2\",\n ],\n readWriteMode: \"ReadWrite\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\n# The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\ndb_cluster_nodes_configs = config.get_object(\"dbClusterNodesConfigs\")\nif db_cluster_nodes_configs is None:\n db_cluster_nodes_configs = {\n \"db_node_1\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Writer\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n \"db_node_2\": {\n \"dbNodeClass\": \"polar.mysql.x4.medium.c\",\n \"dbNodeRole\": \"Reader\",\n \"hotReplicaMode\": None,\n \"imciSwitch\": None,\n },\n }\ndefault = alicloud.ens.Network(\"default\",\n network_name=\"terraform-example\",\n description=\"LoadBalancerNetworkDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n ens_region_id=\"tr-Istanbul-1\")\ndefault_vswitch = alicloud.ens.Vswitch(\"default\",\n description=\"LoadBalancerVSwitchDescription_test\",\n cidr_block=\"192.168.2.0/24\",\n vswitch_name=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n network_id=default.id)\ndefault_zonal_db_cluster = alicloud.polardb.ZonalDbCluster(\"default\",\n db_node_class=\"polar.mysql.x4.medium.c\",\n description=\"terraform-example\",\n ens_region_id=\"tr-Istanbul-1\",\n vpc_id=default.id,\n vswitch_id=default_vswitch.id,\n db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs})\ndefault_zonal_endpoint = alicloud.polardb.ZonalEndpoint(\"default\",\n db_cluster_id=default_zonal_db_cluster.id,\n db_cluster_nodes_ids=default_zonal_db_cluster.db_cluster_nodes_ids,\n endpoint_config={},\n nodes_keys=[\n \"db_node_1\",\n \"db_node_2\",\n ],\n read_write_mode=\"ReadWrite\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The advanced configuration for all nodes in the cluster except for the RW node, including db_node_class, hot_replica_mode, and imci_switch properties.\n var dbClusterNodesConfigs = config.GetObject\u003cDictionary\u003cstring, DbClusterNodesConfigs\u003e\u003e(\"dbClusterNodesConfigs\") ?? \n {\n { \"db_node_1\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Writer\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n { \"db_node_2\", \n {\n { \"dbNodeClass\", \"polar.mysql.x4.medium.c\" },\n { \"dbNodeRole\", \"Reader\" },\n { \"hotReplicaMode\", null },\n { \"imciSwitch\", null },\n } },\n };\n var @default = new AliCloud.Ens.Network(\"default\", new()\n {\n NetworkName = \"terraform-example\",\n Description = \"LoadBalancerNetworkDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n EnsRegionId = \"tr-Istanbul-1\",\n });\n\n var defaultVswitch = new AliCloud.Ens.Vswitch(\"default\", new()\n {\n Description = \"LoadBalancerVSwitchDescription_test\",\n CidrBlock = \"192.168.2.0/24\",\n VswitchName = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n NetworkId = @default.Id,\n });\n\n var defaultZonalDbCluster = new AliCloud.PolarDB.ZonalDbCluster(\"default\", new()\n {\n DbNodeClass = \"polar.mysql.x4.medium.c\",\n Description = \"terraform-example\",\n EnsRegionId = \"tr-Istanbul-1\",\n VpcId = @default.Id,\n VswitchId = defaultVswitch.Id,\n DbClusterNodesConfigs = dbClusterNodesConfigs.Select(pair =\u003e new { pair.Key, pair.Value }).ToDictionary(item =\u003e {\n var node = item.Key;\n return node;\n }, item =\u003e {\n var config = item.Value;\n return JsonSerializer.Serialize(.ToDictionary(item =\u003e {\n var k = item.Key;\n return k;\n }, item =\u003e {\n var v = item.Value;\n return v;\n }));\n }),\n });\n\n var defaultZonalEndpoint = new AliCloud.PolarDB.ZonalEndpoint(\"default\", new()\n {\n DbClusterId = defaultZonalDbCluster.Id,\n DbClusterNodesIds = defaultZonalDbCluster.DbClusterNodesIds,\n EndpointConfig = null,\n NodesKeys = new[]\n {\n \"db_node_1\",\n \"db_node_2\",\n },\n ReadWriteMode = \"ReadWrite\",\n });\n\n});\n\npublic class DbClusterNodesConfigs\n{\n public string dbNodeClass { get; set; }\n public string dbNodeRole { get; set; }\n public string hotReplicaMode { get; set; }\n public string imciSwitch { get; set; }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPolarDB Zonal endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:polardb/zonalEndpoint:ZonalEndpoint example pc-abc123456:pe-abc123456\n```\n\n", "properties": { "autoAddNewNodes": { "type": "string", @@ -226379,7 +231558,7 @@ } }, "alicloud:privatelink/vpcEndpoint:VpcEndpoint": { - "description": "Provides a Private Link Vpc Endpoint resource.\n\n\n\nFor information about Private Link Vpc Endpoint and how to use it, see [What is Vpc Endpoint](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-createvpcendpoint).\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultbFzA4a = new alicloud.vpc.Network(\"defaultbFzA4a\", {\n description: \"example-terraform\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst default1FTFrP = new alicloud.ecs.SecurityGroup(\"default1FTFrP\", {\n name: name,\n vpcId: defaultbFzA4a.id,\n});\nconst defaultjljY5S = new alicloud.ecs.SecurityGroup(\"defaultjljY5S\", {\n name: name,\n vpcId: defaultbFzA4a.id,\n});\nconst defaultVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"default\", {\n endpointDescription: name,\n vpcEndpointName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n endpointType: \"Interface\",\n vpcId: defaultbFzA4a.id,\n serviceName: \"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n dryRun: false,\n zonePrivateIpAddressCount: 1,\n policyDocument: JSON.stringify({\n Version: \"1\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"*\"],\n Resource: [\"*\"],\n Principal: \"*\",\n }],\n }),\n securityGroupIds: [default1FTFrP.id],\n serviceId: \"epsrv-k1apjysze8u1l9t6uyg9\",\n protectedEnabled: false,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaultb_fz_a4a = alicloud.vpc.Network(\"defaultbFzA4a\",\n description=\"example-terraform\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault1_ft_fr_p = alicloud.ecs.SecurityGroup(\"default1FTFrP\",\n name=name,\n vpc_id=defaultb_fz_a4a.id)\ndefaultjlj_y5_s = alicloud.ecs.SecurityGroup(\"defaultjljY5S\",\n name=name,\n vpc_id=defaultb_fz_a4a.id)\ndefault_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"default\",\n endpoint_description=name,\n vpc_endpoint_name=name,\n resource_group_id=default.ids[0],\n endpoint_type=\"Interface\",\n vpc_id=defaultb_fz_a4a.id,\n service_name=\"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n dry_run=False,\n zone_private_ip_address_count=1,\n policy_document=json.dumps({\n \"Version\": \"1\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"*\"],\n \"Resource\": [\"*\"],\n \"Principal\": \"*\",\n }],\n }),\n security_group_ids=[default1_ft_fr_p.id],\n service_id=\"epsrv-k1apjysze8u1l9t6uyg9\",\n protected_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultbFzA4a = new AliCloud.Vpc.Network(\"defaultbFzA4a\", new()\n {\n Description = \"example-terraform\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var default1FTFrP = new AliCloud.Ecs.SecurityGroup(\"default1FTFrP\", new()\n {\n Name = name,\n VpcId = defaultbFzA4a.Id,\n });\n\n var defaultjljY5S = new AliCloud.Ecs.SecurityGroup(\"defaultjljY5S\", new()\n {\n Name = name,\n VpcId = defaultbFzA4a.Id,\n });\n\n var defaultVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"default\", new()\n {\n EndpointDescription = name,\n VpcEndpointName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n EndpointType = \"Interface\",\n VpcId = defaultbFzA4a.Id,\n ServiceName = \"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n DryRun = false,\n ZonePrivateIpAddressCount = 1,\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"*\",\n },\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n [\"Principal\"] = \"*\",\n },\n },\n }),\n SecurityGroupIds = new[]\n {\n default1FTFrP.Id,\n },\n ServiceId = \"epsrv-k1apjysze8u1l9t6uyg9\",\n ProtectedEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultbFzA4a, err := vpc.NewNetwork(ctx, \"defaultbFzA4a\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example-terraform\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1FTFrP, err := ecs.NewSecurityGroup(ctx, \"default1FTFrP\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultbFzA4a.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"defaultjljY5S\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultbFzA4a.ID(),\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\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": \"*\",\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 = privatelink.NewVpcEndpoint(ctx, \"default\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tEndpointDescription: pulumi.String(name),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tEndpointType: pulumi.String(\"Interface\"),\n\t\t\tVpcId: defaultbFzA4a.ID(),\n\t\t\tServiceName: pulumi.String(\"com.aliyuncs.privatelink.ap-southeast-5.oss\"),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tZonePrivateIpAddressCount: pulumi.Int(1),\n\t\t\tPolicyDocument: pulumi.String(json0),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefault1FTFrP.ID(),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"epsrv-k1apjysze8u1l9t6uyg9\"),\n\t\t\tProtectedEnabled: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultbFzA4a = new Network(\"defaultbFzA4a\", NetworkArgs.builder()\n .description(\"example-terraform\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var default1FTFrP = new SecurityGroup(\"default1FTFrP\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultbFzA4a.id())\n .build());\n\n var defaultjljY5S = new SecurityGroup(\"defaultjljY5S\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultbFzA4a.id())\n .build());\n\n var defaultVpcEndpoint = new VpcEndpoint(\"defaultVpcEndpoint\", VpcEndpointArgs.builder()\n .endpointDescription(name)\n .vpcEndpointName(name)\n .resourceGroupId(default_.ids()[0])\n .endpointType(\"Interface\")\n .vpcId(defaultbFzA4a.id())\n .serviceName(\"com.aliyuncs.privatelink.ap-southeast-5.oss\")\n .dryRun(false)\n .zonePrivateIpAddressCount(1)\n .policyDocument(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"*\")),\n jsonProperty(\"Resource\", jsonArray(\"*\")),\n jsonProperty(\"Principal\", \"*\")\n )))\n )))\n .securityGroupIds(default1FTFrP.id())\n .serviceId(\"epsrv-k1apjysze8u1l9t6uyg9\")\n .protectedEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultbFzA4a:\n type: alicloud:vpc:Network\n properties:\n description: example-terraform\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n default1FTFrP:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${defaultbFzA4a.id}\n defaultjljY5S:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${defaultbFzA4a.id}\n defaultVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: default\n properties:\n endpointDescription: ${name}\n vpcEndpointName: ${name}\n resourceGroupId: ${default.ids[0]}\n endpointType: Interface\n vpcId: ${defaultbFzA4a.id}\n serviceName: com.aliyuncs.privatelink.ap-southeast-5.oss\n dryRun: 'false'\n zonePrivateIpAddressCount: '1'\n policyDocument:\n fn::toJSON:\n Version: '1'\n Statement:\n - Effect: Allow\n Action:\n - '*'\n Resource:\n - '*'\n Principal: '*'\n securityGroupIds:\n - ${default1FTFrP.id}\n serviceId: epsrv-k1apjysze8u1l9t6uyg9\n protectedEnabled: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpoint:VpcEndpoint example \u003cid\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint resource.\n\n\n\nFor information about Private Link Vpc Endpoint and how to use it, see [What is Vpc Endpoint](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-createvpcendpoint).\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultbFzA4a = new alicloud.vpc.Network(\"defaultbFzA4a\", {\n description: \"example-terraform\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst default1FTFrP = new alicloud.ecs.SecurityGroup(\"default1FTFrP\", {\n name: name,\n vpcId: defaultbFzA4a.id,\n});\nconst defaultjljY5S = new alicloud.ecs.SecurityGroup(\"defaultjljY5S\", {\n name: name,\n vpcId: defaultbFzA4a.id,\n});\nconst defaultVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"default\", {\n endpointDescription: name,\n vpcEndpointName: name,\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n endpointType: \"Interface\",\n vpcId: defaultbFzA4a.id,\n serviceName: \"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n dryRun: false,\n zonePrivateIpAddressCount: 1,\n policyDocument: JSON.stringify({\n Version: \"1\",\n Statement: [{\n Effect: \"Allow\",\n Action: [\"*\"],\n Resource: [\"*\"],\n Principal: \"*\",\n }],\n }),\n securityGroupIds: [default1FTFrP.id],\n serviceId: \"epsrv-k1apjysze8u1l9t6uyg9\",\n protectedEnabled: false,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefaultb_fz_a4a = alicloud.vpc.Network(\"defaultbFzA4a\",\n description=\"example-terraform\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault1_ft_fr_p = alicloud.ecs.SecurityGroup(\"default1FTFrP\",\n name=name,\n vpc_id=defaultb_fz_a4a.id)\ndefaultjlj_y5_s = alicloud.ecs.SecurityGroup(\"defaultjljY5S\",\n name=name,\n vpc_id=defaultb_fz_a4a.id)\ndefault_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"default\",\n endpoint_description=name,\n vpc_endpoint_name=name,\n resource_group_id=default.ids[0],\n endpoint_type=\"Interface\",\n vpc_id=defaultb_fz_a4a.id,\n service_name=\"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n dry_run=False,\n zone_private_ip_address_count=1,\n policy_document=json.dumps({\n \"Version\": \"1\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Action\": [\"*\"],\n \"Resource\": [\"*\"],\n \"Principal\": \"*\",\n }],\n }),\n security_group_ids=[default1_ft_fr_p.id],\n service_id=\"epsrv-k1apjysze8u1l9t6uyg9\",\n protected_enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultbFzA4a = new AliCloud.Vpc.Network(\"defaultbFzA4a\", new()\n {\n Description = \"example-terraform\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var default1FTFrP = new AliCloud.Ecs.SecurityGroup(\"default1FTFrP\", new()\n {\n Name = name,\n VpcId = defaultbFzA4a.Id,\n });\n\n var defaultjljY5S = new AliCloud.Ecs.SecurityGroup(\"defaultjljY5S\", new()\n {\n Name = name,\n VpcId = defaultbFzA4a.Id,\n });\n\n var defaultVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"default\", new()\n {\n EndpointDescription = name,\n VpcEndpointName = name,\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n EndpointType = \"Interface\",\n VpcId = defaultbFzA4a.Id,\n ServiceName = \"com.aliyuncs.privatelink.ap-southeast-5.oss\",\n DryRun = false,\n ZonePrivateIpAddressCount = 1,\n PolicyDocument = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"1\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Effect\"] = \"Allow\",\n [\"Action\"] = new[]\n {\n \"*\",\n },\n [\"Resource\"] = new[]\n {\n \"*\",\n },\n [\"Principal\"] = \"*\",\n },\n },\n }),\n SecurityGroupIds = new[]\n {\n default1FTFrP.Id,\n },\n ServiceId = \"epsrv-k1apjysze8u1l9t6uyg9\",\n ProtectedEnabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultbFzA4a, err := vpc.NewNetwork(ctx, \"defaultbFzA4a\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example-terraform\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1FTFrP, err := ecs.NewSecurityGroup(ctx, \"default1FTFrP\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultbFzA4a.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"defaultjljY5S\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultbFzA4a.ID(),\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\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": \"*\",\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 = privatelink.NewVpcEndpoint(ctx, \"default\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tEndpointDescription: pulumi.String(name),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tEndpointType: pulumi.String(\"Interface\"),\n\t\t\tVpcId: defaultbFzA4a.ID(),\n\t\t\tServiceName: pulumi.String(\"com.aliyuncs.privatelink.ap-southeast-5.oss\"),\n\t\t\tDryRun: pulumi.Bool(false),\n\t\t\tZonePrivateIpAddressCount: pulumi.Int(1),\n\t\t\tPolicyDocument: pulumi.String(json0),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefault1FTFrP.ID(),\n\t\t\t},\n\t\t\tServiceId: pulumi.String(\"epsrv-k1apjysze8u1l9t6uyg9\"),\n\t\t\tProtectedEnabled: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultbFzA4a = new Network(\"defaultbFzA4a\", NetworkArgs.builder()\n .description(\"example-terraform\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var default1FTFrP = new SecurityGroup(\"default1FTFrP\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultbFzA4a.id())\n .build());\n\n var defaultjljY5S = new SecurityGroup(\"defaultjljY5S\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultbFzA4a.id())\n .build());\n\n var defaultVpcEndpoint = new VpcEndpoint(\"defaultVpcEndpoint\", VpcEndpointArgs.builder()\n .endpointDescription(name)\n .vpcEndpointName(name)\n .resourceGroupId(default_.ids()[0])\n .endpointType(\"Interface\")\n .vpcId(defaultbFzA4a.id())\n .serviceName(\"com.aliyuncs.privatelink.ap-southeast-5.oss\")\n .dryRun(false)\n .zonePrivateIpAddressCount(1)\n .policyDocument(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"1\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Action\", jsonArray(\"*\")),\n jsonProperty(\"Resource\", jsonArray(\"*\")),\n jsonProperty(\"Principal\", \"*\")\n )))\n )))\n .securityGroupIds(default1FTFrP.id())\n .serviceId(\"epsrv-k1apjysze8u1l9t6uyg9\")\n .protectedEnabled(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultbFzA4a:\n type: alicloud:vpc:Network\n properties:\n description: example-terraform\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n default1FTFrP:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${defaultbFzA4a.id}\n defaultjljY5S:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${defaultbFzA4a.id}\n defaultVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: default\n properties:\n endpointDescription: ${name}\n vpcEndpointName: ${name}\n resourceGroupId: ${default.ids[0]}\n endpointType: Interface\n vpcId: ${defaultbFzA4a.id}\n serviceName: com.aliyuncs.privatelink.ap-southeast-5.oss\n dryRun: 'false'\n zonePrivateIpAddressCount: '1'\n policyDocument:\n fn::toJSON:\n Version: '1'\n Statement:\n - Effect: Allow\n Action:\n - '*'\n Resource:\n - '*'\n Principal: '*'\n securityGroupIds:\n - ${default1FTFrP.id}\n serviceId: epsrv-k1apjysze8u1l9t6uyg9\n protectedEnabled: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpoint:VpcEndpoint example \u003cid\u003e\n```\n\n", "properties": { "addressIpVersion": { "type": "string", @@ -226664,7 +231843,7 @@ } }, "alicloud:privatelink/vpcEndpointService:VpcEndpointService": { - "description": "Provides a Private Link Vpc Endpoint Service resource.\n\n\n\nFor information about Private Link Vpc Endpoint Service and how to use it, see [What is Vpc Endpoint Service](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-createvpcendpointservice).\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: 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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:privatelink:VpcEndpointService\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointService:VpcEndpointService example \u003cid\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint Service resource.\n\n\n\nFor information about Private Link Vpc Endpoint Service and how to use it, see [What is Vpc Endpoint Service](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-createvpcendpointservice).\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: 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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:privatelink:VpcEndpointService\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint Service can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointService:VpcEndpointService example \u003cid\u003e\n```\n\n", "properties": { "addressIpVersion": { "type": "string", @@ -226885,7 +232064,7 @@ } }, "alicloud:privatelink/vpcEndpointServiceConnection:VpcEndpointServiceConnection": { - "description": "Provides a Private Link Vpc Endpoint Connection resource.\n\nvpc endpoint connection.\n\nFor information about Private Link Vpc Endpoint Connection and how to use it, see [What is Vpc Endpoint Connection](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-enablevpcendpointzoneconnection).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointServiceResource.serviceId,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointServiceConnection = new alicloud.privatelink.VpcEndpointServiceConnection(\"example\", {\n endpointId: exampleVpcEndpoint.id,\n serviceId: exampleVpcEndpoint.serviceId,\n bandwidth: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service_resource.service_id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_service_connection = alicloud.privatelink.VpcEndpointServiceConnection(\"example\",\n endpoint_id=example_vpc_endpoint.id,\n service_id=example_vpc_endpoint.service_id,\n bandwidth=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointServiceResource.ServiceId,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointServiceConnection = new AliCloud.PrivateLink.VpcEndpointServiceConnection(\"example\", new()\n {\n EndpointId = exampleVpcEndpoint.Id,\n ServiceId = exampleVpcEndpoint.ServiceId,\n Bandwidth = 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointServiceResource, err := privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointServiceResource.ServiceId,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceConnection(ctx, \"example\", \u0026privatelink.VpcEndpointServiceConnectionArgs{\n\t\t\tEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tServiceId: exampleVpcEndpoint.ServiceId,\n\t\t\tBandwidth: pulumi.Int(1024),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceConnection;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointServiceResource.serviceId())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointServiceConnection = new VpcEndpointServiceConnection(\"exampleVpcEndpointServiceConnection\", VpcEndpointServiceConnectionArgs.builder()\n .endpointId(exampleVpcEndpoint.id())\n .serviceId(exampleVpcEndpoint.serviceId())\n .bandwidth(1024)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointServiceResource.serviceId}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointServiceConnection:\n type: alicloud:privatelink:VpcEndpointServiceConnection\n name: example\n properties:\n endpointId: ${exampleVpcEndpoint.id}\n serviceId: ${exampleVpcEndpoint.serviceId}\n bandwidth: '1024'\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceConnection:VpcEndpointServiceConnection example \u003cservice_id\u003e:\u003cendpoint_id\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint Connection resource.\n\nvpc endpoint connection.\n\nFor information about Private Link Vpc Endpoint Connection and how to use it, see [What is Vpc Endpoint Connection](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-enablevpcendpointzoneconnection).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointServiceResource.serviceId,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointServiceConnection = new alicloud.privatelink.VpcEndpointServiceConnection(\"example\", {\n endpointId: exampleVpcEndpoint.id,\n serviceId: exampleVpcEndpoint.serviceId,\n bandwidth: 1024,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service_resource.service_id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_service_connection = alicloud.privatelink.VpcEndpointServiceConnection(\"example\",\n endpoint_id=example_vpc_endpoint.id,\n service_id=example_vpc_endpoint.service_id,\n bandwidth=1024)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointServiceResource.ServiceId,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointServiceConnection = new AliCloud.PrivateLink.VpcEndpointServiceConnection(\"example\", new()\n {\n EndpointId = exampleVpcEndpoint.Id,\n ServiceId = exampleVpcEndpoint.ServiceId,\n Bandwidth = 1024,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointServiceResource, err := privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointServiceResource.ServiceId,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceConnection(ctx, \"example\", \u0026privatelink.VpcEndpointServiceConnectionArgs{\n\t\t\tEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tServiceId: exampleVpcEndpoint.ServiceId,\n\t\t\tBandwidth: pulumi.Int(1024),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceConnection;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointServiceResource.serviceId())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointServiceConnection = new VpcEndpointServiceConnection(\"exampleVpcEndpointServiceConnection\", VpcEndpointServiceConnectionArgs.builder()\n .endpointId(exampleVpcEndpoint.id())\n .serviceId(exampleVpcEndpoint.serviceId())\n .bandwidth(1024)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointServiceResource.serviceId}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointServiceConnection:\n type: alicloud:privatelink:VpcEndpointServiceConnection\n name: example\n properties:\n endpointId: ${exampleVpcEndpoint.id}\n serviceId: ${exampleVpcEndpoint.serviceId}\n bandwidth: '1024'\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceConnection:VpcEndpointServiceConnection example \u003cservice_id\u003e:\u003cendpoint_id\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -226968,7 +232147,7 @@ } }, "alicloud:privatelink/vpcEndpointServiceResource:VpcEndpointServiceResource": { - "description": "Provides a Private Link Vpc Endpoint Service Resource resource.\n\nEndpoint service resource.\n\nFor information about Private Link Vpc Endpoint Service Resource and how to use it, see [What is Vpc Endpoint Service Resource](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-attachresourcetovpcendpointservice).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n securityGroupName: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n security_group_name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service.id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n SecurityGroupName = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n securityGroupName: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint Service Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceResource:VpcEndpointServiceResource example \u003cservice_id\u003e:\u003cresource_id\u003e:\u003czone_id\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint Service Resource resource.\n\nEndpoint service resource.\n\nFor information about Private Link Vpc Endpoint Service Resource and how to use it, see [What is Vpc Endpoint Service Resource](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-attachresourcetovpcendpointservice).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n securityGroupName: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n security_group_name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service.id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n SecurityGroupName = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n securityGroupName: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint Service Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceResource:VpcEndpointServiceResource example \u003cservice_id\u003e:\u003cresource_id\u003e:\u003czone_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -227069,7 +232248,7 @@ } }, "alicloud:privatelink/vpcEndpointServiceUser:VpcEndpointServiceUser": { - "description": "Provides a Private Link Vpc Endpoint Service User resource.\n\nEndpoint service user whitelist.\n\nFor information about Private Link Vpc Endpoint Service User and how to use it, see [What is Vpc Endpoint Service User](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-addusertovpcendpointservice).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexampleuser\";\nconst example = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleUser = new alicloud.ram.User(\"example\", {\n name: name,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst exampleVpcEndpointServiceUser = new alicloud.privatelink.VpcEndpointServiceUser(\"example\", {\n serviceId: example.id,\n userId: exampleUser.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexampleuser\"\nexample = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_user = alicloud.ram.User(\"example\",\n name=name,\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nexample_vpc_endpoint_service_user = alicloud.privatelink.VpcEndpointServiceUser(\"example\",\n service_id=example.id,\n user_id=example_user.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexampleuser\";\n var example = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleUser = new AliCloud.Ram.User(\"example\", new()\n {\n Name = name,\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var exampleVpcEndpointServiceUser = new AliCloud.PrivateLink.VpcEndpointServiceUser(\"example\", new()\n {\n ServiceId = example.Id,\n UserId = exampleUser.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexampleuser\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := ram.NewUser(ctx, \"example\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceUser(ctx, \"example\", \u0026privatelink.VpcEndpointServiceUserArgs{\n\t\t\tServiceId: example.ID(),\n\t\t\tUserId: exampleUser.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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceUser;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexampleuser\");\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .name(name)\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var exampleVpcEndpointServiceUser = new VpcEndpointServiceUser(\"exampleVpcEndpointServiceUser\", VpcEndpointServiceUserArgs.builder()\n .serviceId(example.id())\n .userId(exampleUser.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexampleuser\nresources:\n example:\n type: alicloud:privatelink:VpcEndpointService\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleUser:\n type: alicloud:ram:User\n name: example\n properties:\n name: ${name}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n exampleVpcEndpointServiceUser:\n type: alicloud:privatelink:VpcEndpointServiceUser\n name: example\n properties:\n serviceId: ${example.id}\n userId: ${exampleUser.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint Service User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceUser:VpcEndpointServiceUser example \u003cservice_id\u003e:\u003cuser_id\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint Service User resource.\n\nEndpoint service user whitelist.\n\nFor information about Private Link Vpc Endpoint Service User and how to use it, see [What is Vpc Endpoint Service User](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-addusertovpcendpointservice).\n\n\u003e **NOTE:** Available since v1.110.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexampleuser\";\nconst example = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleUser = new alicloud.ram.User(\"example\", {\n name: name,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst exampleVpcEndpointServiceUser = new alicloud.privatelink.VpcEndpointServiceUser(\"example\", {\n serviceId: example.id,\n userId: exampleUser.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexampleuser\"\nexample = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_user = alicloud.ram.User(\"example\",\n name=name,\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nexample_vpc_endpoint_service_user = alicloud.privatelink.VpcEndpointServiceUser(\"example\",\n service_id=example.id,\n user_id=example_user.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexampleuser\";\n var example = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleUser = new AliCloud.Ram.User(\"example\", new()\n {\n Name = name,\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var exampleVpcEndpointServiceUser = new AliCloud.PrivateLink.VpcEndpointServiceUser(\"example\", new()\n {\n ServiceId = example.Id,\n UserId = exampleUser.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexampleuser\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := ram.NewUser(ctx, \"example\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointServiceUser(ctx, \"example\", \u0026privatelink.VpcEndpointServiceUserArgs{\n\t\t\tServiceId: example.ID(),\n\t\t\tUserId: exampleUser.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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceUser;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexampleuser\");\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .name(name)\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var exampleVpcEndpointServiceUser = new VpcEndpointServiceUser(\"exampleVpcEndpointServiceUser\", VpcEndpointServiceUserArgs.builder()\n .serviceId(example.id())\n .userId(exampleUser.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexampleuser\nresources:\n example:\n type: alicloud:privatelink:VpcEndpointService\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleUser:\n type: alicloud:ram:User\n name: example\n properties:\n name: ${name}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n exampleVpcEndpointServiceUser:\n type: alicloud:privatelink:VpcEndpointServiceUser\n name: example\n properties:\n serviceId: ${example.id}\n userId: ${exampleUser.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint Service User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointServiceUser:VpcEndpointServiceUser example \u003cservice_id\u003e:\u003cuser_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -227142,7 +232321,7 @@ } }, "alicloud:privatelink/vpcEndpointZone:VpcEndpointZone": { - "description": "Provides a Private Link Vpc Endpoint Zone resource.\n\n\n\nFor information about Private Link Vpc Endpoint Zone and how to use it, see [What is Vpc Endpoint Zone](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-addzonetovpcendpoint).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointServiceResource.serviceId,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointZone = new alicloud.privatelink.VpcEndpointZone(\"example\", {\n endpointId: exampleVpcEndpoint.id,\n vswitchId: exampleSwitch.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service_resource.service_id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_zone = alicloud.privatelink.VpcEndpointZone(\"example\",\n endpoint_id=example_vpc_endpoint.id,\n vswitch_id=example_switch.id,\n zone_id=example.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointServiceResource.ServiceId,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointZone = new AliCloud.PrivateLink.VpcEndpointZone(\"example\", new()\n {\n EndpointId = exampleVpcEndpoint.Id,\n VswitchId = exampleSwitch.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointServiceResource, err := privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointServiceResource.ServiceId,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointZone(ctx, \"example\", \u0026privatelink.VpcEndpointZoneArgs{\n\t\t\tEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointZone;\nimport com.pulumi.alicloud.privatelink.VpcEndpointZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointServiceResource.serviceId())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointZone = new VpcEndpointZone(\"exampleVpcEndpointZone\", VpcEndpointZoneArgs.builder()\n .endpointId(exampleVpcEndpoint.id())\n .vswitchId(exampleSwitch.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointServiceResource.serviceId}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointZone:\n type: alicloud:privatelink:VpcEndpointZone\n name: example\n properties:\n endpointId: ${exampleVpcEndpoint.id}\n vswitchId: ${exampleSwitch.id}\n zoneId: ${example.zones[0].id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Link Vpc Endpoint Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointZone:VpcEndpointZone example \u003cendpoint_id\u003e:\u003czone_id\u003e\n```\n\n", + "description": "Provides a Private Link Vpc Endpoint Zone resource.\n\n\n\nFor information about Private Link Vpc Endpoint Zone and how to use it, see [What is Vpc Endpoint Zone](https://www.alibabacloud.com/help/en/privatelink/latest/api-privatelink-2020-04-15-addzonetovpcendpoint).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: name,\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.1.0.0/16\",\n vpcId: exampleNetwork.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"example\", {\n loadBalancerName: name,\n vswitchId: exampleSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst exampleVpcEndpointServiceResource = new alicloud.privatelink.VpcEndpointServiceResource(\"example\", {\n serviceId: exampleVpcEndpointService.id,\n resourceId: exampleApplicationLoadBalancer.id,\n resourceType: \"slb\",\n});\nconst exampleVpcEndpoint = new alicloud.privatelink.VpcEndpoint(\"example\", {\n serviceId: exampleVpcEndpointServiceResource.serviceId,\n securityGroupIds: [exampleSecurityGroup.id],\n vpcId: exampleNetwork.id,\n vpcEndpointName: name,\n});\nconst exampleVpcEndpointZone = new alicloud.privatelink.VpcEndpointZone(\"example\", {\n endpointId: exampleVpcEndpoint.id,\n vswitchId: exampleSwitch.id,\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=name,\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.1.0.0/16\",\n vpc_id=example_network.id,\n zone_id=example.zones[0].id)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"example\",\n load_balancer_name=name,\n vswitch_id=example_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\nexample_vpc_endpoint_service_resource = alicloud.privatelink.VpcEndpointServiceResource(\"example\",\n service_id=example_vpc_endpoint_service.id,\n resource_id=example_application_load_balancer.id,\n resource_type=\"slb\")\nexample_vpc_endpoint = alicloud.privatelink.VpcEndpoint(\"example\",\n service_id=example_vpc_endpoint_service_resource.service_id,\n security_group_ids=[example_security_group.id],\n vpc_id=example_network.id,\n vpc_endpoint_name=name)\nexample_vpc_endpoint_zone = alicloud.privatelink.VpcEndpointZone(\"example\",\n endpoint_id=example_vpc_endpoint.id,\n vswitch_id=example_switch.id,\n zone_id=example.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = name,\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.1.0.0/16\",\n VpcId = exampleNetwork.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"example\", new()\n {\n LoadBalancerName = name,\n VswitchId = exampleSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var exampleVpcEndpointServiceResource = new AliCloud.PrivateLink.VpcEndpointServiceResource(\"example\", new()\n {\n ServiceId = exampleVpcEndpointService.Id,\n ResourceId = exampleApplicationLoadBalancer.Id,\n ResourceType = \"slb\",\n });\n\n var exampleVpcEndpoint = new AliCloud.PrivateLink.VpcEndpoint(\"example\", new()\n {\n ServiceId = exampleVpcEndpointServiceResource.ServiceId,\n SecurityGroupIds = new[]\n {\n exampleSecurityGroup.Id,\n },\n VpcId = exampleNetwork.Id,\n VpcEndpointName = name,\n });\n\n var exampleVpcEndpointZone = new AliCloud.PrivateLink.VpcEndpointZone(\"example\", new()\n {\n EndpointId = exampleVpcEndpoint.Id,\n VswitchId = exampleSwitch.Id,\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"example\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpointServiceResource, err := privatelink.NewVpcEndpointServiceResource(ctx, \"example\", \u0026privatelink.VpcEndpointServiceResourceArgs{\n\t\t\tServiceId: exampleVpcEndpointService.ID(),\n\t\t\tResourceId: exampleApplicationLoadBalancer.ID(),\n\t\t\tResourceType: pulumi.String(\"slb\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVpcEndpoint, err := privatelink.NewVpcEndpoint(ctx, \"example\", \u0026privatelink.VpcEndpointArgs{\n\t\t\tServiceId: exampleVpcEndpointServiceResource.ServiceId,\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tVpcEndpointName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatelink.NewVpcEndpointZone(ctx, \"example\", \u0026privatelink.VpcEndpointZoneArgs{\n\t\t\tEndpointId: exampleVpcEndpoint.ID(),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResource;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceResourceArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpoint;\nimport com.pulumi.alicloud.privatelink.VpcEndpointArgs;\nimport com.pulumi.alicloud.privatelink.VpcEndpointZone;\nimport com.pulumi.alicloud.privatelink.VpcEndpointZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.1.0.0/16\")\n .vpcId(exampleNetwork.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleApplicationLoadBalancer = new ApplicationLoadBalancer(\"exampleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(exampleSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var exampleVpcEndpointServiceResource = new VpcEndpointServiceResource(\"exampleVpcEndpointServiceResource\", VpcEndpointServiceResourceArgs.builder()\n .serviceId(exampleVpcEndpointService.id())\n .resourceId(exampleApplicationLoadBalancer.id())\n .resourceType(\"slb\")\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceId(exampleVpcEndpointServiceResource.serviceId())\n .securityGroupIds(exampleSecurityGroup.id())\n .vpcId(exampleNetwork.id())\n .vpcEndpointName(name)\n .build());\n\n var exampleVpcEndpointZone = new VpcEndpointZone(\"exampleVpcEndpointZone\", VpcEndpointZoneArgs.builder()\n .endpointId(exampleVpcEndpoint.id())\n .vswitchId(exampleSwitch.id())\n .zoneId(example.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: ${name}\n connectBandwidth: 103\n autoAcceptConnection: false\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.1.0.0/16\n vpcId: ${exampleNetwork.id}\n zoneId: ${example.zones[0].id}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: example\n properties:\n loadBalancerName: ${name}\n vswitchId: ${exampleSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n exampleVpcEndpointServiceResource:\n type: alicloud:privatelink:VpcEndpointServiceResource\n name: example\n properties:\n serviceId: ${exampleVpcEndpointService.id}\n resourceId: ${exampleApplicationLoadBalancer.id}\n resourceType: slb\n exampleVpcEndpoint:\n type: alicloud:privatelink:VpcEndpoint\n name: example\n properties:\n serviceId: ${exampleVpcEndpointServiceResource.serviceId}\n securityGroupIds:\n - ${exampleSecurityGroup.id}\n vpcId: ${exampleNetwork.id}\n vpcEndpointName: ${name}\n exampleVpcEndpointZone:\n type: alicloud:privatelink:VpcEndpointZone\n name: example\n properties:\n endpointId: ${exampleVpcEndpoint.id}\n vswitchId: ${exampleSwitch.id}\n zoneId: ${example.zones[0].id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Link Vpc Endpoint Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:privatelink/vpcEndpointZone:VpcEndpointZone example \u003cendpoint_id\u003e:\u003czone_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -227251,7 +232430,7 @@ } }, "alicloud:pvtz/endpoint:Endpoint": { - "description": "Provides a Private Zone Endpoint resource.\n\nFor information about Private Zone Endpoint and how to use it, see [What is Endpoint](https://www.alibabacloud.com/help/en/privatezone/latest/add-endpoint).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_name\";\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: name,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_name\"\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=name,\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_name\";\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = name,\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_name\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.String(name),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork.ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\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.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_name\");\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(name)\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/endpoint:Endpoint example \u003cid\u003e\n```\n\n", + "description": "Provides a Private Zone Endpoint resource.\n\nFor information about Private Zone Endpoint and how to use it, see [What is Endpoint](https://www.alibabacloud.com/help/en/privatezone/latest/add-endpoint).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_name\";\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: name,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_name\"\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=name,\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_name\";\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = name,\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_name\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.String(name),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork.ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\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.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_name\");\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(name)\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/endpoint:Endpoint example \u003cid\u003e\n```\n\n", "properties": { "endpointName": { "type": "string", @@ -227362,7 +232541,7 @@ } }, "alicloud:pvtz/rule:Rule": { - "description": "Provides a Private Zone Rule resource.\n\nFor information about Private Zone Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/privatezone/latest/add-forwarding-rule).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: `${name}-${defaultInteger.result}`,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\nconst defaultRule = new alicloud.pvtz.Rule(\"default\", {\n endpointId: defaultEndpoint.id,\n ruleName: `${name}-${defaultInteger.result}`,\n type: \"OUTBOUND\",\n zoneName: name,\n forwardIps: [{\n ip: \"114.114.114.114\",\n port: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=f\"{name}-{default_integer['result']}\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\ndefault_rule = alicloud.pvtz.Rule(\"default\",\n endpoint_id=default_endpoint.id,\n rule_name=f\"{name}-{default_integer['result']}\",\n type=\"OUTBOUND\",\n zone_name=name,\n forward_ips=[{\n \"ip\": \"114.114.114.114\",\n \"port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = $\"{name}-{defaultInteger.Result}\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n var defaultRule = new AliCloud.Pvtz.Rule(\"default\", new()\n {\n EndpointId = defaultEndpoint.Id,\n RuleName = $\"{name}-{defaultInteger.Result}\",\n Type = \"OUTBOUND\",\n ZoneName = name,\n ForwardIps = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleForwardIpArgs\n {\n Ip = \"114.114.114.114\",\n Port = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_value\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultEndpoint, err := pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork.ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewRule(ctx, \"default\", \u0026pvtz.RuleArgs{\nEndpointId: defaultEndpoint.ID(),\nRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nType: pulumi.String(\"OUTBOUND\"),\nZoneName: pulumi.String(name),\nForwardIps: pvtz.RuleForwardIpArray{\n\u0026pvtz.RuleForwardIpArgs{\nIp: pulumi.String(\"114.114.114.114\"),\nPort: pulumi.Int(8080),\n},\n},\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.alicloud.pvtz.Rule;\nimport com.pulumi.alicloud.pvtz.RuleArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleForwardIpArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_value\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .endpointId(defaultEndpoint.id())\n .ruleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .type(\"OUTBOUND\")\n .zoneName(name)\n .forwardIps(RuleForwardIpArgs.builder()\n .ip(\"114.114.114.114\")\n .port(8080)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/rule:Rule example \u003cid\u003e\n```\n\n", + "description": "Provides a Private Zone Rule resource.\n\nFor information about Private Zone Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/privatezone/latest/add-forwarding-rule).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: `${name}-${defaultInteger.result}`,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\nconst defaultRule = new alicloud.pvtz.Rule(\"default\", {\n endpointId: defaultEndpoint.id,\n ruleName: `${name}-${defaultInteger.result}`,\n type: \"OUTBOUND\",\n zoneName: name,\n forwardIps: [{\n ip: \"114.114.114.114\",\n port: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=f\"{name}-{default_integer['result']}\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\ndefault_rule = alicloud.pvtz.Rule(\"default\",\n endpoint_id=default_endpoint.id,\n rule_name=f\"{name}-{default_integer['result']}\",\n type=\"OUTBOUND\",\n zone_name=name,\n forward_ips=[{\n \"ip\": \"114.114.114.114\",\n \"port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = $\"{name}-{defaultInteger.Result}\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n var defaultRule = new AliCloud.Pvtz.Rule(\"default\", new()\n {\n EndpointId = defaultEndpoint.Id,\n RuleName = $\"{name}-{defaultInteger.Result}\",\n Type = \"OUTBOUND\",\n ZoneName = name,\n ForwardIps = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleForwardIpArgs\n {\n Ip = \"114.114.114.114\",\n Port = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_value\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultEndpoint, err := pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork.ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewRule(ctx, \"default\", \u0026pvtz.RuleArgs{\nEndpointId: defaultEndpoint.ID(),\nRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nType: pulumi.String(\"OUTBOUND\"),\nZoneName: pulumi.String(name),\nForwardIps: pvtz.RuleForwardIpArray{\n\u0026pvtz.RuleForwardIpArgs{\nIp: pulumi.String(\"114.114.114.114\"),\nPort: pulumi.Int(8080),\n},\n},\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.alicloud.pvtz.Rule;\nimport com.pulumi.alicloud.pvtz.RuleArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleForwardIpArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_value\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .endpointId(defaultEndpoint.id())\n .ruleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .type(\"OUTBOUND\")\n .zoneName(name)\n .forwardIps(RuleForwardIpArgs.builder()\n .ip(\"114.114.114.114\")\n .port(8080)\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/rule:Rule example \u003cid\u003e\n```\n\n", "properties": { "endpointId": { "type": "string", @@ -227464,7 +232643,7 @@ } }, "alicloud:pvtz/ruleAttachment:RuleAttachment": { - "description": "Provides a Private Zone Rule Attachment resource.\n\nFor information about Private Zone Rule Attachment and how to use it, see [What is Rule Attachment](https://www.alibabacloud.com/help/en/doc-detail/177601.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n defaultNetwork.push(new alicloud.vpc.Network(`default-${range.value}`, {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n }));\n}\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork[2].id,\n cidrBlock: defaultNetwork[2].cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork[2].id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: `${name}-${defaultInteger.result}`,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork[2].id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\nconst defaultRule = new alicloud.pvtz.Rule(\"default\", {\n endpointId: defaultEndpoint.id,\n ruleName: `${name}-${defaultInteger.result}`,\n type: \"OUTBOUND\",\n zoneName: name,\n forwardIps: [{\n ip: \"114.114.114.114\",\n port: 8080,\n }],\n});\nconst defaultRuleAttachment = new alicloud.pvtz.RuleAttachment(\"default\", {\n ruleId: defaultRule.id,\n vpcs: [\n {\n regionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n vpcId: defaultNetwork[0].id,\n },\n {\n regionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n vpcId: defaultNetwork[1].id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n default_network.append(alicloud.vpc.Network(f\"default-{range['value']}\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\"))\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network[2].id,\n cidr_block=default_network[2].cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network[2].id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=f\"{name}-{default_integer['result']}\",\n security_group_id=default_security_group.id,\n vpc_id=default_network[2].id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\ndefault_rule = alicloud.pvtz.Rule(\"default\",\n endpoint_id=default_endpoint.id,\n rule_name=f\"{name}-{default_integer['result']}\",\n type=\"OUTBOUND\",\n zone_name=name,\n forward_ips=[{\n \"ip\": \"114.114.114.114\",\n \"port\": 8080,\n }])\ndefault_rule_attachment = alicloud.pvtz.RuleAttachment(\"default\",\n rule_id=default_rule.id,\n vpcs=[\n {\n \"region_id\": default_get_regions.regions[0].id,\n \"vpc_id\": default_network[0].id,\n },\n {\n \"region_id\": default_get_regions.regions[0].id,\n \"vpc_id\": default_network[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNetwork.Add(new AliCloud.Vpc.Network($\"default-{range.Value}\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n }));\n }\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork[2].Id,\n CidrBlock = defaultNetwork[2].CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork[2].Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = $\"{name}-{defaultInteger.Result}\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork[2].Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n var defaultRule = new AliCloud.Pvtz.Rule(\"default\", new()\n {\n EndpointId = defaultEndpoint.Id,\n RuleName = $\"{name}-{defaultInteger.Result}\",\n Type = \"OUTBOUND\",\n ZoneName = name,\n ForwardIps = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleForwardIpArgs\n {\n Ip = \"114.114.114.114\",\n Port = 8080,\n },\n },\n });\n\n var defaultRuleAttachment = new AliCloud.Pvtz.RuleAttachment(\"default\", new()\n {\n RuleId = defaultRule.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleAttachmentVpcArgs\n {\n RegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n VpcId = defaultNetwork[0].Id,\n },\n new AliCloud.Pvtz.Inputs.RuleAttachmentVpcArgs\n {\n RegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n VpcId = defaultNetwork[1].Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_value\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\nvar defaultNetwork []*vpc.Network\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ndefaultNetwork = append(defaultNetwork, __res)\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork[2].ID(),\nCidrBlock: pulumi.String(defaultNetwork[2].CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork[2].ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultEndpoint, err := pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork[2].ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\ndefaultRule, err := pvtz.NewRule(ctx, \"default\", \u0026pvtz.RuleArgs{\nEndpointId: defaultEndpoint.ID(),\nRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nType: pulumi.String(\"OUTBOUND\"),\nZoneName: pulumi.String(name),\nForwardIps: pvtz.RuleForwardIpArray{\n\u0026pvtz.RuleForwardIpArgs{\nIp: pulumi.String(\"114.114.114.114\"),\nPort: pulumi.Int(8080),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewRuleAttachment(ctx, \"default\", \u0026pvtz.RuleAttachmentArgs{\nRuleId: defaultRule.ID(),\nVpcs: pvtz.RuleAttachmentVpcArray{\n\u0026pvtz.RuleAttachmentVpcArgs{\nRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nVpcId: defaultNetwork[0].ID(),\n},\n\u0026pvtz.RuleAttachmentVpcArgs{\nRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nVpcId: defaultNetwork[1].ID(),\n},\n},\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.alicloud.pvtz.Rule;\nimport com.pulumi.alicloud.pvtz.RuleArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleForwardIpArgs;\nimport com.pulumi.alicloud.pvtz.RuleAttachment;\nimport com.pulumi.alicloud.pvtz.RuleAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleAttachmentVpcArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_value\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Network(\"defaultNetwork-\" + i, NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork[2].id())\n .cidrBlock(defaultNetwork[2].cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork[2].id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork[2].id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .endpointId(defaultEndpoint.id())\n .ruleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .type(\"OUTBOUND\")\n .zoneName(name)\n .forwardIps(RuleForwardIpArgs.builder()\n .ip(\"114.114.114.114\")\n .port(8080)\n .build())\n .build());\n\n var defaultRuleAttachment = new RuleAttachment(\"defaultRuleAttachment\", RuleAttachmentArgs.builder()\n .ruleId(defaultRule.id())\n .vpcs( \n RuleAttachmentVpcArgs.builder()\n .regionId(defaultGetRegions.regions()[0].id())\n .vpcId(defaultNetwork[0].id())\n .build(),\n RuleAttachmentVpcArgs.builder()\n .regionId(defaultGetRegions.regions()[0].id())\n .vpcId(defaultNetwork[1].id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone Rule Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/ruleAttachment:RuleAttachment example \u003crule_id\u003e\n```\n\n", + "description": "Provides a Private Zone Rule Attachment resource.\n\nFor information about Private Zone Rule Attachment and how to use it, see [What is Rule Attachment](https://www.alibabacloud.com/help/en/doc-detail/177601.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"example_value\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.pvtz.getResolverZones({\n status: \"NORMAL\",\n});\nconst defaultGetRegions = alicloud.getRegions({\n current: true,\n});\nconst defaultNetwork: alicloud.vpc.Network[] = [];\nfor (const range = {value: 0}; range.value \u003c 3; range.value++) {\n defaultNetwork.push(new alicloud.vpc.Network(`default-${range.value}`, {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n }));\n}\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: defaultNetwork[2].id,\n cidrBlock: defaultNetwork[2].cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: range.value,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones[range.value].zoneId),\n }));\n}\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n vpcId: defaultNetwork[2].id,\n name: name,\n});\nconst defaultEndpoint = new alicloud.pvtz.Endpoint(\"default\", {\n endpointName: `${name}-${defaultInteger.result}`,\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork[2].id,\n vpcRegionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n ipConfigs: [\n {\n zoneId: defaultSwitch[0].zoneId,\n cidrBlock: defaultSwitch[0].cidrBlock,\n vswitchId: defaultSwitch[0].id,\n },\n {\n zoneId: defaultSwitch[1].zoneId,\n cidrBlock: defaultSwitch[1].cidrBlock,\n vswitchId: defaultSwitch[1].id,\n },\n ],\n});\nconst defaultRule = new alicloud.pvtz.Rule(\"default\", {\n endpointId: defaultEndpoint.id,\n ruleName: `${name}-${defaultInteger.result}`,\n type: \"OUTBOUND\",\n zoneName: name,\n forwardIps: [{\n ip: \"114.114.114.114\",\n port: 8080,\n }],\n});\nconst defaultRuleAttachment = new alicloud.pvtz.RuleAttachment(\"default\", {\n ruleId: defaultRule.id,\n vpcs: [\n {\n regionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n vpcId: defaultNetwork[0].id,\n },\n {\n regionId: defaultGetRegions.then(defaultGetRegions =\u003e defaultGetRegions.regions?.[0]?.id),\n vpcId: defaultNetwork[1].id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"example_value\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.pvtz.get_resolver_zones(status=\"NORMAL\")\ndefault_get_regions = alicloud.get_regions(current=True)\ndefault_network = []\nfor range in [{\"value\": i} for i in range(0, 3)]:\n default_network.append(alicloud.vpc.Network(f\"default-{range['value']}\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\"))\ndefault_switch = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=default_network[2].id,\n cidr_block=default_network[2].cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=range[\"value\"])).apply(lambda invoke: invoke.result),\n zone_id=default.zones[range[\"value\"]].zone_id))\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n vpc_id=default_network[2].id,\n name=name)\ndefault_endpoint = alicloud.pvtz.Endpoint(\"default\",\n endpoint_name=f\"{name}-{default_integer['result']}\",\n security_group_id=default_security_group.id,\n vpc_id=default_network[2].id,\n vpc_region_id=default_get_regions.regions[0].id,\n ip_configs=[\n {\n \"zone_id\": default_switch[0].zone_id,\n \"cidr_block\": default_switch[0].cidr_block,\n \"vswitch_id\": default_switch[0].id,\n },\n {\n \"zone_id\": default_switch[1].zone_id,\n \"cidr_block\": default_switch[1].cidr_block,\n \"vswitch_id\": default_switch[1].id,\n },\n ])\ndefault_rule = alicloud.pvtz.Rule(\"default\",\n endpoint_id=default_endpoint.id,\n rule_name=f\"{name}-{default_integer['result']}\",\n type=\"OUTBOUND\",\n zone_name=name,\n forward_ips=[{\n \"ip\": \"114.114.114.114\",\n \"port\": 8080,\n }])\ndefault_rule_attachment = alicloud.pvtz.RuleAttachment(\"default\",\n rule_id=default_rule.id,\n vpcs=[\n {\n \"region_id\": default_get_regions.regions[0].id,\n \"vpc_id\": default_network[0].id,\n },\n {\n \"region_id\": default_get_regions.regions[0].id,\n \"vpc_id\": default_network[1].id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"example_value\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.Pvtz.GetResolverZones.Invoke(new()\n {\n Status = \"NORMAL\",\n });\n\n var defaultGetRegions = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultNetwork = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 3; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNetwork.Add(new AliCloud.Vpc.Network($\"default-{range.Value}\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n }));\n }\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = defaultNetwork[2].Id,\n CidrBlock = defaultNetwork[2].CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = range.Value,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getResolverZonesResult =\u003e getResolverZonesResult.Zones)[range.Value].ZoneId),\n }));\n }\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork[2].Id,\n Name = name,\n });\n\n var defaultEndpoint = new AliCloud.Pvtz.Endpoint(\"default\", new()\n {\n EndpointName = $\"{name}-{defaultInteger.Result}\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork[2].Id,\n VpcRegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n IpConfigs = new[]\n {\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[0].ZoneId,\n CidrBlock = defaultSwitch[0].CidrBlock,\n VswitchId = defaultSwitch[0].Id,\n },\n new AliCloud.Pvtz.Inputs.EndpointIpConfigArgs\n {\n ZoneId = defaultSwitch[1].ZoneId,\n CidrBlock = defaultSwitch[1].CidrBlock,\n VswitchId = defaultSwitch[1].Id,\n },\n },\n });\n\n var defaultRule = new AliCloud.Pvtz.Rule(\"default\", new()\n {\n EndpointId = defaultEndpoint.Id,\n RuleName = $\"{name}-{defaultInteger.Result}\",\n Type = \"OUTBOUND\",\n ZoneName = name,\n ForwardIps = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleForwardIpArgs\n {\n Ip = \"114.114.114.114\",\n Port = 8080,\n },\n },\n });\n\n var defaultRuleAttachment = new AliCloud.Pvtz.RuleAttachment(\"default\", new()\n {\n RuleId = defaultRule.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.RuleAttachmentVpcArgs\n {\n RegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n VpcId = defaultNetwork[0].Id,\n },\n new AliCloud.Pvtz.Inputs.RuleAttachmentVpcArgs\n {\n RegionId = defaultGetRegions.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id),\n VpcId = defaultNetwork[1].Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"example_value\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\nMin: 10000,\nMax: 99999,\n})\nif err != nil {\nreturn err\n}\n_default, err := pvtz.GetResolverZones(ctx, \u0026pvtz.GetResolverZonesArgs{\nStatus: pulumi.StringRef(\"NORMAL\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetRegions, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\nCurrent: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\nvar defaultNetwork []*vpc.Network\nfor index := 0; index \u003c 3; index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\ndefaultNetwork = append(defaultNetwork, __res)\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: val0,\n}, nil)\nif err != nil {\nreturn err\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c 2; index++ {\n key0 := index\n val0 := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork[2].ID(),\nCidrBlock: pulumi.String(defaultNetwork[2].CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[val0].ZoneId),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nVpcId: defaultNetwork[2].ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultEndpoint, err := pvtz.NewEndpoint(ctx, \"default\", \u0026pvtz.EndpointArgs{\nEndpointName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nSecurityGroupId: defaultSecurityGroup.ID(),\nVpcId: defaultNetwork[2].ID(),\nVpcRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nIpConfigs: pvtz.EndpointIpConfigArray{\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[0].ZoneId,\nCidrBlock: defaultSwitch[0].CidrBlock,\nVswitchId: defaultSwitch[0].ID(),\n},\n\u0026pvtz.EndpointIpConfigArgs{\nZoneId: defaultSwitch[1].ZoneId,\nCidrBlock: defaultSwitch[1].CidrBlock,\nVswitchId: defaultSwitch[1].ID(),\n},\n},\n})\nif err != nil {\nreturn err\n}\ndefaultRule, err := pvtz.NewRule(ctx, \"default\", \u0026pvtz.RuleArgs{\nEndpointId: defaultEndpoint.ID(),\nRuleName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\nType: pulumi.String(\"OUTBOUND\"),\nZoneName: pulumi.String(name),\nForwardIps: pvtz.RuleForwardIpArray{\n\u0026pvtz.RuleForwardIpArgs{\nIp: pulumi.String(\"114.114.114.114\"),\nPort: pulumi.Int(8080),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = pvtz.NewRuleAttachment(ctx, \"default\", \u0026pvtz.RuleAttachmentArgs{\nRuleId: defaultRule.ID(),\nVpcs: pvtz.RuleAttachmentVpcArray{\n\u0026pvtz.RuleAttachmentVpcArgs{\nRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nVpcId: defaultNetwork[0].ID(),\n},\n\u0026pvtz.RuleAttachmentVpcArgs{\nRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),\nVpcId: defaultNetwork[1].ID(),\n},\n},\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.pvtz.PvtzFunctions;\nimport com.pulumi.alicloud.pvtz.inputs.GetResolverZonesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.pvtz.Endpoint;\nimport com.pulumi.alicloud.pvtz.EndpointArgs;\nimport com.pulumi.alicloud.pvtz.inputs.EndpointIpConfigArgs;\nimport com.pulumi.alicloud.pvtz.Rule;\nimport com.pulumi.alicloud.pvtz.RuleArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleForwardIpArgs;\nimport com.pulumi.alicloud.pvtz.RuleAttachment;\nimport com.pulumi.alicloud.pvtz.RuleAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.RuleAttachmentVpcArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"example_value\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = PvtzFunctions.getResolverZones(GetResolverZonesArgs.builder()\n .status(\"NORMAL\")\n .build());\n\n final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n for (var i = 0; i \u003c 3; i++) {\n new Network(\"defaultNetwork-\" + i, NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(defaultNetwork[2].id())\n .cidrBlock(defaultNetwork[2].cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(range.value())\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[range.value()].zoneId())\n .build());\n\n \n}\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork[2].id())\n .name(name)\n .build());\n\n var defaultEndpoint = new Endpoint(\"defaultEndpoint\", EndpointArgs.builder()\n .endpointName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork[2].id())\n .vpcRegionId(defaultGetRegions.regions()[0].id())\n .ipConfigs( \n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[0].zoneId())\n .cidrBlock(defaultSwitch[0].cidrBlock())\n .vswitchId(defaultSwitch[0].id())\n .build(),\n EndpointIpConfigArgs.builder()\n .zoneId(defaultSwitch[1].zoneId())\n .cidrBlock(defaultSwitch[1].cidrBlock())\n .vswitchId(defaultSwitch[1].id())\n .build())\n .build());\n\n var defaultRule = new Rule(\"defaultRule\", RuleArgs.builder()\n .endpointId(defaultEndpoint.id())\n .ruleName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .type(\"OUTBOUND\")\n .zoneName(name)\n .forwardIps(RuleForwardIpArgs.builder()\n .ip(\"114.114.114.114\")\n .port(8080)\n .build())\n .build());\n\n var defaultRuleAttachment = new RuleAttachment(\"defaultRuleAttachment\", RuleAttachmentArgs.builder()\n .ruleId(defaultRule.id())\n .vpcs( \n RuleAttachmentVpcArgs.builder()\n .regionId(defaultGetRegions.regions()[0].id())\n .vpcId(defaultNetwork[0].id())\n .build(),\n RuleAttachmentVpcArgs.builder()\n .regionId(defaultGetRegions.regions()[0].id())\n .vpcId(defaultNetwork[1].id())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone Rule Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/ruleAttachment:RuleAttachment example \u003crule_id\u003e\n```\n\n", "properties": { "ruleId": { "type": "string", @@ -227520,7 +232699,7 @@ } }, "alicloud:pvtz/userVpcAuthorization:UserVpcAuthorization": { - "description": "Provides a Private Zone User Vpc Authorization resource.\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst authorizedUserId = config.getNumber(\"authorizedUserId\") || 123456789;\nconst example = new alicloud.pvtz.UserVpcAuthorization(\"example\", {\n authorizedUserId: authorizedUserId,\n authChannel: \"RESOURCE_DIRECTORY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nauthorized_user_id = config.get_float(\"authorizedUserId\")\nif authorized_user_id is None:\n authorized_user_id = 123456789\nexample = alicloud.pvtz.UserVpcAuthorization(\"example\",\n authorized_user_id=authorized_user_id,\n auth_channel=\"RESOURCE_DIRECTORY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var authorizedUserId = config.GetDouble(\"authorizedUserId\") ?? 123456789;\n var example = new AliCloud.Pvtz.UserVpcAuthorization(\"example\", new()\n {\n AuthorizedUserId = authorizedUserId,\n AuthChannel = \"RESOURCE_DIRECTORY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tauthorizedUserId := float64(123456789)\n\t\tif param := cfg.GetFloat64(\"authorizedUserId\"); param != 0 {\n\t\t\tauthorizedUserId = param\n\t\t}\n\t\t_, err := pvtz.NewUserVpcAuthorization(ctx, \"example\", \u0026pvtz.UserVpcAuthorizationArgs{\n\t\t\tAuthorizedUserId: pulumi.Float64(authorizedUserId),\n\t\t\tAuthChannel: pulumi.String(\"RESOURCE_DIRECTORY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pvtz.UserVpcAuthorization;\nimport com.pulumi.alicloud.pvtz.UserVpcAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 authorizedUserId = config.get(\"authorizedUserId\").orElse(123456789);\n var example = new UserVpcAuthorization(\"example\", UserVpcAuthorizationArgs.builder()\n .authorizedUserId(authorizedUserId)\n .authChannel(\"RESOURCE_DIRECTORY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n authorizedUserId:\n type: number\n default: 1.23456789e+08\nresources:\n example:\n type: alicloud:pvtz:UserVpcAuthorization\n properties:\n authorizedUserId: ${authorizedUserId}\n authChannel: RESOURCE_DIRECTORY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone User Vpc Authorization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/userVpcAuthorization:UserVpcAuthorization example \u003cauthorized_user_id\u003e:\u003cauth_type\u003e\n```\n\n", + "description": "Provides a Private Zone User Vpc Authorization resource.\n\n\u003e **NOTE:** Available since v1.138.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst authorizedUserId = config.getNumber(\"authorizedUserId\") || 123456789;\nconst example = new alicloud.pvtz.UserVpcAuthorization(\"example\", {\n authorizedUserId: authorizedUserId,\n authChannel: \"RESOURCE_DIRECTORY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nauthorized_user_id = config.get_float(\"authorizedUserId\")\nif authorized_user_id is None:\n authorized_user_id = 123456789\nexample = alicloud.pvtz.UserVpcAuthorization(\"example\",\n authorized_user_id=authorized_user_id,\n auth_channel=\"RESOURCE_DIRECTORY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var authorizedUserId = config.GetDouble(\"authorizedUserId\") ?? 123456789;\n var example = new AliCloud.Pvtz.UserVpcAuthorization(\"example\", new()\n {\n AuthorizedUserId = authorizedUserId,\n AuthChannel = \"RESOURCE_DIRECTORY\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tauthorizedUserId := float64(123456789)\n\t\tif param := cfg.GetFloat64(\"authorizedUserId\"); param != 0 {\n\t\t\tauthorizedUserId = param\n\t\t}\n\t\t_, err := pvtz.NewUserVpcAuthorization(ctx, \"example\", \u0026pvtz.UserVpcAuthorizationArgs{\n\t\t\tAuthorizedUserId: pulumi.Float64(authorizedUserId),\n\t\t\tAuthChannel: pulumi.String(\"RESOURCE_DIRECTORY\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pvtz.UserVpcAuthorization;\nimport com.pulumi.alicloud.pvtz.UserVpcAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 authorizedUserId = config.get(\"authorizedUserId\").orElse(123456789);\n var example = new UserVpcAuthorization(\"example\", UserVpcAuthorizationArgs.builder()\n .authorizedUserId(authorizedUserId)\n .authChannel(\"RESOURCE_DIRECTORY\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n authorizedUserId:\n type: number\n default: 1.23456789e+08\nresources:\n example:\n type: alicloud:pvtz:UserVpcAuthorization\n properties:\n authorizedUserId: ${authorizedUserId}\n authChannel: RESOURCE_DIRECTORY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone User Vpc Authorization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/userVpcAuthorization:UserVpcAuthorization example \u003cauthorized_user_id\u003e:\u003cauth_type\u003e\n```\n\n", "properties": { "authChannel": { "type": "string", @@ -227579,7 +232758,7 @@ } }, "alicloud:pvtz/zone:Zone": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.pvtz.Zone(\"foo\", {zoneName: \"foo.example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.pvtz.Zone(\"foo\", zone_name=\"foo.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.Pvtz.Zone(\"foo\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pvtz.NewZone(ctx, \"foo\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.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 foo = new Zone(\"foo\", ZoneArgs.builder()\n .zoneName(\"foo.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zone:Zone example abc123456\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.pvtz.Zone(\"foo\", {zoneName: \"foo.example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.pvtz.Zone(\"foo\", zone_name=\"foo.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.Pvtz.Zone(\"foo\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := pvtz.NewZone(ctx, \"foo\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.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 foo = new Zone(\"foo\", ZoneArgs.builder()\n .zoneName(\"foo.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zone:Zone example abc123456\n```\n\n", "properties": { "isPtr": { "type": "boolean", @@ -227763,7 +232942,7 @@ } }, "alicloud:pvtz/zoneAttachment:ZoneAttachment": { - "description": "## Example Usage\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcIds`\" pulumi-lang-dotnet=\"`VpcIds`\" pulumi-lang-go=\"`vpcIds`\" pulumi-lang-python=\"`vpc_ids`\" pulumi-lang-yaml=\"`vpcIds`\" pulumi-lang-java=\"`vpcIds`\"\u003e`vpc_ids`\u003c/span\u003e to attach being in same region several vpc instances to a private zone\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcIds: [\n first.id,\n second.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpc_ids=[\n first.id,\n second.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n VpcIds = new[]\n {\n first.Id,\n second.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcIds: pulumi.StringArray{\n\t\t\t\tfirst.ID(),\n\t\t\t\tsecond.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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcIds( \n first.id(),\n second.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcIds:\n - ${first.id}\n - ${second.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcs`\" pulumi-lang-dotnet=\"`Vpcs`\" pulumi-lang-go=\"`vpcs`\" pulumi-lang-python=\"`vpcs`\" pulumi-lang-yaml=\"`vpcs`\" pulumi-lang-java=\"`vpcs`\"\u003e`vpcs`\u003c/span\u003e to attach being in same region several vpc instances to a private zone\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcs: [\n {\n vpcId: first.id,\n },\n {\n vpcId: second.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpcs=[\n {\n \"vpc_id\": first.id,\n },\n {\n \"vpc_id\": second.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = first.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = second.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcs: pvtz.ZoneAttachmentVpcArray{\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: first.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: second.ID(),\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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.ZoneAttachmentVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcs( \n ZoneAttachmentVpcArgs.builder()\n .vpcId(first.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .vpcId(second.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcs:\n - vpcId: ${first.id}\n - vpcId: ${second.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcs`\" pulumi-lang-dotnet=\"`Vpcs`\" pulumi-lang-go=\"`vpcs`\" pulumi-lang-python=\"`vpcs`\" pulumi-lang-yaml=\"`vpcs`\" pulumi-lang-java=\"`vpcs`\"\u003e`vpcs`\u003c/span\u003e to attach being in different regions several vpc instances to a private zone\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst third = new alicloud.vpc.Network(\"third\", {\n vpcName: \"the-third-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcs: [\n {\n vpcId: first.id,\n },\n {\n vpcId: second.id,\n },\n {\n regionId: \"eu-central-1\",\n vpcId: third.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nthird = alicloud.vpc.Network(\"third\",\n vpc_name=\"the-third-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpcs=[\n {\n \"vpc_id\": first.id,\n },\n {\n \"vpc_id\": second.id,\n },\n {\n \"region_id\": \"eu-central-1\",\n \"vpc_id\": third.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var third = new AliCloud.Vpc.Network(\"third\", new()\n {\n VpcName = \"the-third-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = first.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = second.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n RegionId = \"eu-central-1\",\n VpcId = third.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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\tthird, err := vpc.NewNetwork(ctx, \"third\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-third-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcs: pvtz.ZoneAttachmentVpcArray{\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: first.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: second.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tRegionId: pulumi.String(\"eu-central-1\"),\n\t\t\t\t\tVpcId: third.ID(),\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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.ZoneAttachmentVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var third = new Network(\"third\", NetworkArgs.builder()\n .vpcName(\"the-third-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcs( \n ZoneAttachmentVpcArgs.builder()\n .vpcId(first.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .vpcId(second.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .regionId(\"eu-central-1\")\n .vpcId(third.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n third:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-third-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcs:\n - vpcId: ${first.id}\n - vpcId: ${second.id}\n - regionId: eu-central-1\n vpcId: ${third.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone attachment can be imported using the id(same with `zone_id`), e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zoneAttachment:ZoneAttachment example abc123456\n```\n\n", + "description": "## Example Usage\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcIds`\" pulumi-lang-dotnet=\"`VpcIds`\" pulumi-lang-go=\"`vpcIds`\" pulumi-lang-python=\"`vpc_ids`\" pulumi-lang-yaml=\"`vpcIds`\" pulumi-lang-java=\"`vpcIds`\"\u003e`vpc_ids`\u003c/span\u003e to attach being in same region several vpc instances to a private zone\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcIds: [\n first.id,\n second.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpc_ids=[\n first.id,\n second.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n VpcIds = new[]\n {\n first.Id,\n second.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcIds: pulumi.StringArray{\n\t\t\t\tfirst.ID(),\n\t\t\t\tsecond.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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcIds( \n first.id(),\n second.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcIds:\n - ${first.id}\n - ${second.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcs`\" pulumi-lang-dotnet=\"`Vpcs`\" pulumi-lang-go=\"`vpcs`\" pulumi-lang-python=\"`vpcs`\" pulumi-lang-yaml=\"`vpcs`\" pulumi-lang-java=\"`vpcs`\"\u003e`vpcs`\u003c/span\u003e to attach being in same region several vpc instances to a private zone\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcs: [\n {\n vpcId: first.id,\n },\n {\n vpcId: second.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpcs=[\n {\n \"vpc_id\": first.id,\n },\n {\n \"vpc_id\": second.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = first.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = second.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcs: pvtz.ZoneAttachmentVpcArray{\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: first.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: second.ID(),\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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.ZoneAttachmentVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcs( \n ZoneAttachmentVpcArgs.builder()\n .vpcId(first.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .vpcId(second.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcs:\n - vpcId: ${first.id}\n - vpcId: ${second.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`vpcs`\" pulumi-lang-dotnet=\"`Vpcs`\" pulumi-lang-go=\"`vpcs`\" pulumi-lang-python=\"`vpcs`\" pulumi-lang-yaml=\"`vpcs`\" pulumi-lang-java=\"`vpcs`\"\u003e`vpcs`\u003c/span\u003e to attach being in different regions several vpc instances to a private zone\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.example.com\"});\nconst first = new alicloud.vpc.Network(\"first\", {\n vpcName: \"the-first-vpc\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst second = new alicloud.vpc.Network(\"second\", {\n vpcName: \"the-second-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst third = new alicloud.vpc.Network(\"third\", {\n vpcName: \"the-third-vpc\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst zone_attachment = new alicloud.pvtz.ZoneAttachment(\"zone-attachment\", {\n zoneId: zone.id,\n vpcs: [\n {\n vpcId: first.id,\n },\n {\n vpcId: second.id,\n },\n {\n regionId: \"eu-central-1\",\n vpcId: third.id,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.example.com\")\nfirst = alicloud.vpc.Network(\"first\",\n vpc_name=\"the-first-vpc\",\n cidr_block=\"172.16.0.0/12\")\nsecond = alicloud.vpc.Network(\"second\",\n vpc_name=\"the-second-vpc\",\n cidr_block=\"172.16.0.0/16\")\nthird = alicloud.vpc.Network(\"third\",\n vpc_name=\"the-third-vpc\",\n cidr_block=\"172.16.0.0/16\")\nzone_attachment = alicloud.pvtz.ZoneAttachment(\"zone-attachment\",\n zone_id=zone.id,\n vpcs=[\n {\n \"vpc_id\": first.id,\n },\n {\n \"vpc_id\": second.id,\n },\n {\n \"region_id\": \"eu-central-1\",\n \"vpc_id\": third.id,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.example.com\",\n });\n\n var first = new AliCloud.Vpc.Network(\"first\", new()\n {\n VpcName = \"the-first-vpc\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var second = new AliCloud.Vpc.Network(\"second\", new()\n {\n VpcName = \"the-second-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var third = new AliCloud.Vpc.Network(\"third\", new()\n {\n VpcName = \"the-third-vpc\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var zone_attachment = new AliCloud.Pvtz.ZoneAttachment(\"zone-attachment\", new()\n {\n ZoneId = zone.Id,\n Vpcs = new[]\n {\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = first.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n VpcId = second.Id,\n },\n new AliCloud.Pvtz.Inputs.ZoneAttachmentVpcArgs\n {\n RegionId = \"eu-central-1\",\n VpcId = third.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst, err := vpc.NewNetwork(ctx, \"first\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-first-vpc\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecond, err := vpc.NewNetwork(ctx, \"second\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-second-vpc\"),\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\tthird, err := vpc.NewNetwork(ctx, \"third\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"the-third-vpc\"),\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_, err = pvtz.NewZoneAttachment(ctx, \"zone-attachment\", \u0026pvtz.ZoneAttachmentArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tVpcs: pvtz.ZoneAttachmentVpcArray{\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: first.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tVpcId: second.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026pvtz.ZoneAttachmentVpcArgs{\n\t\t\t\t\tRegionId: pulumi.String(\"eu-central-1\"),\n\t\t\t\t\tVpcId: third.ID(),\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.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.pvtz.ZoneAttachment;\nimport com.pulumi.alicloud.pvtz.ZoneAttachmentArgs;\nimport com.pulumi.alicloud.pvtz.inputs.ZoneAttachmentVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.example.com\")\n .build());\n\n var first = new Network(\"first\", NetworkArgs.builder()\n .vpcName(\"the-first-vpc\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var second = new Network(\"second\", NetworkArgs.builder()\n .vpcName(\"the-second-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var third = new Network(\"third\", NetworkArgs.builder()\n .vpcName(\"the-third-vpc\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var zone_attachment = new ZoneAttachment(\"zone-attachment\", ZoneAttachmentArgs.builder()\n .zoneId(zone.id())\n .vpcs( \n ZoneAttachmentVpcArgs.builder()\n .vpcId(first.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .vpcId(second.id())\n .build(),\n ZoneAttachmentVpcArgs.builder()\n .regionId(\"eu-central-1\")\n .vpcId(third.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.example.com\n first:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-first-vpc\n cidrBlock: 172.16.0.0/12\n second:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-second-vpc\n cidrBlock: 172.16.0.0/16\n third:\n type: alicloud:vpc:Network\n properties:\n vpcName: the-third-vpc\n cidrBlock: 172.16.0.0/16\n zone-attachment:\n type: alicloud:pvtz:ZoneAttachment\n properties:\n zoneId: ${zone.id}\n vpcs:\n - vpcId: ${first.id}\n - vpcId: ${second.id}\n - regionId: eu-central-1\n vpcId: ${third.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone attachment can be imported using the id(same with `zone_id`), e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zoneAttachment:ZoneAttachment example abc123456\n```\n\n", "properties": { "lang": { "type": "string", @@ -227868,7 +233047,7 @@ } }, "alicloud:pvtz/zoneRecord:ZoneRecord": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.test.com\"});\nconst foo = new alicloud.pvtz.ZoneRecord(\"foo\", {\n zoneId: zone.id,\n rr: \"www\",\n type: \"CNAME\",\n value: \"bbb.test.com\",\n ttl: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.test.com\")\nfoo = alicloud.pvtz.ZoneRecord(\"foo\",\n zone_id=zone.id,\n rr=\"www\",\n type=\"CNAME\",\n value=\"bbb.test.com\",\n ttl=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.test.com\",\n });\n\n var foo = new AliCloud.Pvtz.ZoneRecord(\"foo\", new()\n {\n ZoneId = zone.Id,\n Rr = \"www\",\n Type = \"CNAME\",\n Value = \"bbb.test.com\",\n Ttl = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pvtz.NewZoneRecord(ctx, \"foo\", \u0026pvtz.ZoneRecordArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tRr: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tValue: pulumi.String(\"bbb.test.com\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.pvtz.ZoneRecord;\nimport com.pulumi.alicloud.pvtz.ZoneRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.test.com\")\n .build());\n\n var foo = new ZoneRecord(\"foo\", ZoneRecordArgs.builder()\n .zoneId(zone.id())\n .rr(\"www\")\n .type(\"CNAME\")\n .value(\"bbb.test.com\")\n .ttl(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.test.com\n foo:\n type: alicloud:pvtz:ZoneRecord\n properties:\n zoneId: ${zone.id}\n rr: www\n type: CNAME\n value: bbb.test.com\n ttl: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Zone Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zoneRecord:ZoneRecord example abc123456\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst zone = new alicloud.pvtz.Zone(\"zone\", {zoneName: \"foo.test.com\"});\nconst foo = new alicloud.pvtz.ZoneRecord(\"foo\", {\n zoneId: zone.id,\n rr: \"www\",\n type: \"CNAME\",\n value: \"bbb.test.com\",\n ttl: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nzone = alicloud.pvtz.Zone(\"zone\", zone_name=\"foo.test.com\")\nfoo = alicloud.pvtz.ZoneRecord(\"foo\",\n zone_id=zone.id,\n rr=\"www\",\n type=\"CNAME\",\n value=\"bbb.test.com\",\n ttl=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zone = new AliCloud.Pvtz.Zone(\"zone\", new()\n {\n ZoneName = \"foo.test.com\",\n });\n\n var foo = new AliCloud.Pvtz.ZoneRecord(\"foo\", new()\n {\n ZoneId = zone.Id,\n Rr = \"www\",\n Type = \"CNAME\",\n Value = \"bbb.test.com\",\n Ttl = 60,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/pvtz\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzone, err := pvtz.NewZone(ctx, \"zone\", \u0026pvtz.ZoneArgs{\n\t\t\tZoneName: pulumi.String(\"foo.test.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pvtz.NewZoneRecord(ctx, \"foo\", \u0026pvtz.ZoneRecordArgs{\n\t\t\tZoneId: zone.ID(),\n\t\t\tRr: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tValue: pulumi.String(\"bbb.test.com\"),\n\t\t\tTtl: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.pvtz.Zone;\nimport com.pulumi.alicloud.pvtz.ZoneArgs;\nimport com.pulumi.alicloud.pvtz.ZoneRecord;\nimport com.pulumi.alicloud.pvtz.ZoneRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .zoneName(\"foo.test.com\")\n .build());\n\n var foo = new ZoneRecord(\"foo\", ZoneRecordArgs.builder()\n .zoneId(zone.id())\n .rr(\"www\")\n .type(\"CNAME\")\n .value(\"bbb.test.com\")\n .ttl(60)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zone:\n type: alicloud:pvtz:Zone\n properties:\n zoneName: foo.test.com\n foo:\n type: alicloud:pvtz:ZoneRecord\n properties:\n zoneId: ${zone.id}\n rr: www\n type: CNAME\n value: bbb.test.com\n ttl: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nPrivate Zone Record can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:pvtz/zoneRecord:ZoneRecord example abc123456\n```\n\n", "properties": { "lang": { "type": "string", @@ -228036,7 +233215,7 @@ } }, "alicloud:quickbi/user:User": { - "description": "Provides a Quick BI User resource.\n\nFor information about Quick BI User and how to use it, see [What is User](https://www.alibabacloud.com/help/doc-detail/33813.htm).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.quickbi.User(\"example\", {\n accountName: \"example_value\",\n adminUser: false,\n authAdminUser: false,\n nickName: \"example_value\",\n userType: \"Analyst\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.quickbi.User(\"example\",\n account_name=\"example_value\",\n admin_user=False,\n auth_admin_user=False,\n nick_name=\"example_value\",\n user_type=\"Analyst\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.QuickBI.User(\"example\", new()\n {\n AccountName = \"example_value\",\n AdminUser = false,\n AuthAdminUser = false,\n NickName = \"example_value\",\n UserType = \"Analyst\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quickbi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quickbi.NewUser(ctx, \"example\", \u0026quickbi.UserArgs{\n\t\t\tAccountName: pulumi.String(\"example_value\"),\n\t\t\tAdminUser: pulumi.Bool(false),\n\t\t\tAuthAdminUser: pulumi.Bool(false),\n\t\t\tNickName: pulumi.String(\"example_value\"),\n\t\t\tUserType: pulumi.String(\"Analyst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.quickbi.User;\nimport com.pulumi.alicloud.quickbi.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 User(\"example\", UserArgs.builder()\n .accountName(\"example_value\")\n .adminUser(false)\n .authAdminUser(false)\n .nickName(\"example_value\")\n .userType(\"Analyst\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:quickbi:User\n properties:\n accountName: example_value\n adminUser: false\n authAdminUser: false\n nickName: example_value\n userType: Analyst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nQuick BI User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quickbi/user:User example \u003cid\u003e\n```\n\n", + "description": "Provides a Quick BI User resource.\n\nFor information about Quick BI User and how to use it, see [What is User](https://www.alibabacloud.com/help/doc-detail/33813.htm).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.quickbi.User(\"example\", {\n accountName: \"example_value\",\n adminUser: false,\n authAdminUser: false,\n nickName: \"example_value\",\n userType: \"Analyst\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.quickbi.User(\"example\",\n account_name=\"example_value\",\n admin_user=False,\n auth_admin_user=False,\n nick_name=\"example_value\",\n user_type=\"Analyst\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.QuickBI.User(\"example\", new()\n {\n AccountName = \"example_value\",\n AdminUser = false,\n AuthAdminUser = false,\n NickName = \"example_value\",\n UserType = \"Analyst\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quickbi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := quickbi.NewUser(ctx, \"example\", \u0026quickbi.UserArgs{\n\t\t\tAccountName: pulumi.String(\"example_value\"),\n\t\t\tAdminUser: pulumi.Bool(false),\n\t\t\tAuthAdminUser: pulumi.Bool(false),\n\t\t\tNickName: pulumi.String(\"example_value\"),\n\t\t\tUserType: pulumi.String(\"Analyst\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.quickbi.User;\nimport com.pulumi.alicloud.quickbi.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 User(\"example\", UserArgs.builder()\n .accountName(\"example_value\")\n .adminUser(false)\n .authAdminUser(false)\n .nickName(\"example_value\")\n .userType(\"Analyst\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:quickbi:User\n properties:\n accountName: example_value\n adminUser: false\n authAdminUser: false\n nickName: example_value\n userType: Analyst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nQuick BI User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quickbi/user:User example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -228344,7 +233523,7 @@ } }, "alicloud:quotas/quotaAlarm:QuotaAlarm": { - "description": "Provides a Quotas Quota Alarm resource. \n\nFor information about Quotas Quota Alarm and how to use it, see [What is Quota Alarm](https://www.alibabacloud.com/help/en/quota-center/developer-reference/api-quotas-2020-05-10-createquotaalarm).\n\n\u003e **NOTE:** Available since v1.116.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultQuotaAlarm = new alicloud.quotas.QuotaAlarm(\"default\", {\n quotaActionCode: \"q_desktop-count\",\n quotaDimensions: [{\n key: \"regionId\",\n value: \"cn-hangzhou\",\n }],\n thresholdPercent: 80,\n productCode: \"gws\",\n quotaAlarmName: `${name}-${_default.result}`,\n thresholdType: \"used\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_quota_alarm = alicloud.quotas.QuotaAlarm(\"default\",\n quota_action_code=\"q_desktop-count\",\n quota_dimensions=[{\n \"key\": \"regionId\",\n \"value\": \"cn-hangzhou\",\n }],\n threshold_percent=80,\n product_code=\"gws\",\n quota_alarm_name=f\"{name}-{default['result']}\",\n threshold_type=\"used\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultQuotaAlarm = new AliCloud.Quotas.QuotaAlarm(\"default\", new()\n {\n QuotaActionCode = \"q_desktop-count\",\n QuotaDimensions = new[]\n {\n new AliCloud.Quotas.Inputs.QuotaAlarmQuotaDimensionArgs\n {\n Key = \"regionId\",\n Value = \"cn-hangzhou\",\n },\n },\n ThresholdPercent = 80,\n ProductCode = \"gws\",\n QuotaAlarmName = $\"{name}-{@default.Result}\",\n ThresholdType = \"used\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quotas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = quotas.NewQuotaAlarm(ctx, \"default\", \u0026quotas.QuotaAlarmArgs{\n\t\t\tQuotaActionCode: pulumi.String(\"q_desktop-count\"),\n\t\t\tQuotaDimensions: quotas.QuotaAlarmQuotaDimensionArray{\n\t\t\t\t\u0026quotas.QuotaAlarmQuotaDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"regionId\"),\n\t\t\t\t\tValue: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdPercent: pulumi.Float64(80),\n\t\t\tProductCode: pulumi.String(\"gws\"),\n\t\t\tQuotaAlarmName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tThresholdType: pulumi.String(\"used\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.quotas.QuotaAlarm;\nimport com.pulumi.alicloud.quotas.QuotaAlarmArgs;\nimport com.pulumi.alicloud.quotas.inputs.QuotaAlarmQuotaDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultQuotaAlarm = new QuotaAlarm(\"defaultQuotaAlarm\", QuotaAlarmArgs.builder()\n .quotaActionCode(\"q_desktop-count\")\n .quotaDimensions(QuotaAlarmQuotaDimensionArgs.builder()\n .key(\"regionId\")\n .value(\"cn-hangzhou\")\n .build())\n .thresholdPercent(80.0)\n .productCode(\"gws\")\n .quotaAlarmName(String.format(\"%s-%s\", name,default_.result()))\n .thresholdType(\"used\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultQuotaAlarm:\n type: alicloud:quotas:QuotaAlarm\n name: default\n properties:\n quotaActionCode: q_desktop-count\n quotaDimensions:\n - key: regionId\n value: cn-hangzhou\n thresholdPercent: 80\n productCode: gws\n quotaAlarmName: ${name}-${default.result}\n thresholdType: used\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nQuotas Quota Alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quotas/quotaAlarm:QuotaAlarm example \u003cid\u003e\n```\n\n", + "description": "Provides a Quotas Quota Alarm resource. \n\nFor information about Quotas Quota Alarm and how to use it, see [What is Quota Alarm](https://www.alibabacloud.com/help/en/quota-center/developer-reference/api-quotas-2020-05-10-createquotaalarm).\n\n\u003e **NOTE:** Available since v1.116.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultQuotaAlarm = new alicloud.quotas.QuotaAlarm(\"default\", {\n quotaActionCode: \"q_desktop-count\",\n quotaDimensions: [{\n key: \"regionId\",\n value: \"cn-hangzhou\",\n }],\n thresholdPercent: 80,\n productCode: \"gws\",\n quotaAlarmName: `${name}-${_default.result}`,\n thresholdType: \"used\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_quota_alarm = alicloud.quotas.QuotaAlarm(\"default\",\n quota_action_code=\"q_desktop-count\",\n quota_dimensions=[{\n \"key\": \"regionId\",\n \"value\": \"cn-hangzhou\",\n }],\n threshold_percent=80,\n product_code=\"gws\",\n quota_alarm_name=f\"{name}-{default['result']}\",\n threshold_type=\"used\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultQuotaAlarm = new AliCloud.Quotas.QuotaAlarm(\"default\", new()\n {\n QuotaActionCode = \"q_desktop-count\",\n QuotaDimensions = new[]\n {\n new AliCloud.Quotas.Inputs.QuotaAlarmQuotaDimensionArgs\n {\n Key = \"regionId\",\n Value = \"cn-hangzhou\",\n },\n },\n ThresholdPercent = 80,\n ProductCode = \"gws\",\n QuotaAlarmName = $\"{name}-{@default.Result}\",\n ThresholdType = \"used\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quotas\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = quotas.NewQuotaAlarm(ctx, \"default\", \u0026quotas.QuotaAlarmArgs{\n\t\t\tQuotaActionCode: pulumi.String(\"q_desktop-count\"),\n\t\t\tQuotaDimensions: quotas.QuotaAlarmQuotaDimensionArray{\n\t\t\t\t\u0026quotas.QuotaAlarmQuotaDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"regionId\"),\n\t\t\t\t\tValue: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tThresholdPercent: pulumi.Float64(80),\n\t\t\tProductCode: pulumi.String(\"gws\"),\n\t\t\tQuotaAlarmName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tThresholdType: pulumi.String(\"used\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.quotas.QuotaAlarm;\nimport com.pulumi.alicloud.quotas.QuotaAlarmArgs;\nimport com.pulumi.alicloud.quotas.inputs.QuotaAlarmQuotaDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultQuotaAlarm = new QuotaAlarm(\"defaultQuotaAlarm\", QuotaAlarmArgs.builder()\n .quotaActionCode(\"q_desktop-count\")\n .quotaDimensions(QuotaAlarmQuotaDimensionArgs.builder()\n .key(\"regionId\")\n .value(\"cn-hangzhou\")\n .build())\n .thresholdPercent(80.0)\n .productCode(\"gws\")\n .quotaAlarmName(String.format(\"%s-%s\", name,default_.result()))\n .thresholdType(\"used\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultQuotaAlarm:\n type: alicloud:quotas:QuotaAlarm\n name: default\n properties:\n quotaActionCode: q_desktop-count\n quotaDimensions:\n - key: regionId\n value: cn-hangzhou\n thresholdPercent: 80\n productCode: gws\n quotaAlarmName: ${name}-${default.result}\n thresholdType: used\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nQuotas Quota Alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quotas/quotaAlarm:QuotaAlarm example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -228953,7 +234132,7 @@ } }, "alicloud:quotas/templateQuota:TemplateQuota": { - "description": "Provides a Quotas Template Quota resource. \n\nFor information about Quotas Template Quota and how to use it, see [What is Template Quota](https://www.alibabacloud.com/help/en/quota-center/developer-reference/api-quotas-2020-05-10-createtemplatequotaitem).\n\n\u003e **NOTE:** Available since v1.206.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.quotas.TemplateQuota(\"default\", {\n quotaActionCode: \"q_desktop-count\",\n productCode: \"gws\",\n noticeType: 3,\n dimensions: [{\n key: \"regionId\",\n value: \"cn-hangzhou\",\n }],\n desireValue: 1001,\n envLanguage: \"zh\",\n quotaCategory: \"CommonQuota\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.quotas.TemplateQuota(\"default\",\n quota_action_code=\"q_desktop-count\",\n product_code=\"gws\",\n notice_type=3,\n dimensions=[{\n \"key\": \"regionId\",\n \"value\": \"cn-hangzhou\",\n }],\n desire_value=1001,\n env_language=\"zh\",\n quota_category=\"CommonQuota\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Quotas.TemplateQuota(\"default\", new()\n {\n QuotaActionCode = \"q_desktop-count\",\n ProductCode = \"gws\",\n NoticeType = 3,\n Dimensions = new[]\n {\n new AliCloud.Quotas.Inputs.TemplateQuotaDimensionArgs\n {\n Key = \"regionId\",\n Value = \"cn-hangzhou\",\n },\n },\n DesireValue = 1001,\n EnvLanguage = \"zh\",\n QuotaCategory = \"CommonQuota\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := quotas.NewTemplateQuota(ctx, \"default\", \u0026quotas.TemplateQuotaArgs{\n\t\t\tQuotaActionCode: pulumi.String(\"q_desktop-count\"),\n\t\t\tProductCode: pulumi.String(\"gws\"),\n\t\t\tNoticeType: pulumi.Int(3),\n\t\t\tDimensions: quotas.TemplateQuotaDimensionArray{\n\t\t\t\t\u0026quotas.TemplateQuotaDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"regionId\"),\n\t\t\t\t\tValue: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDesireValue: pulumi.Float64(1001),\n\t\t\tEnvLanguage: pulumi.String(\"zh\"),\n\t\t\tQuotaCategory: pulumi.String(\"CommonQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.quotas.TemplateQuota;\nimport com.pulumi.alicloud.quotas.TemplateQuotaArgs;\nimport com.pulumi.alicloud.quotas.inputs.TemplateQuotaDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new TemplateQuota(\"default\", TemplateQuotaArgs.builder()\n .quotaActionCode(\"q_desktop-count\")\n .productCode(\"gws\")\n .noticeType(3)\n .dimensions(TemplateQuotaDimensionArgs.builder()\n .key(\"regionId\")\n .value(\"cn-hangzhou\")\n .build())\n .desireValue(1001.0)\n .envLanguage(\"zh\")\n .quotaCategory(\"CommonQuota\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:quotas:TemplateQuota\n properties:\n quotaActionCode: q_desktop-count\n productCode: gws\n noticeType: 3\n dimensions:\n - key: regionId\n value: cn-hangzhou\n desireValue: 1001\n envLanguage: zh\n quotaCategory: CommonQuota\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nQuotas Template Quota can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quotas/templateQuota:TemplateQuota example \u003cid\u003e\n```\n\n", + "description": "Provides a Quotas Template Quota resource. \n\nFor information about Quotas Template Quota and how to use it, see [What is Template Quota](https://www.alibabacloud.com/help/en/quota-center/developer-reference/api-quotas-2020-05-10-createtemplatequotaitem).\n\n\u003e **NOTE:** Available since v1.206.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.quotas.TemplateQuota(\"default\", {\n quotaActionCode: \"q_desktop-count\",\n productCode: \"gws\",\n noticeType: 3,\n dimensions: [{\n key: \"regionId\",\n value: \"cn-hangzhou\",\n }],\n desireValue: 1001,\n envLanguage: \"zh\",\n quotaCategory: \"CommonQuota\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.quotas.TemplateQuota(\"default\",\n quota_action_code=\"q_desktop-count\",\n product_code=\"gws\",\n notice_type=3,\n dimensions=[{\n \"key\": \"regionId\",\n \"value\": \"cn-hangzhou\",\n }],\n desire_value=1001,\n env_language=\"zh\",\n quota_category=\"CommonQuota\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Quotas.TemplateQuota(\"default\", new()\n {\n QuotaActionCode = \"q_desktop-count\",\n ProductCode = \"gws\",\n NoticeType = 3,\n Dimensions = new[]\n {\n new AliCloud.Quotas.Inputs.TemplateQuotaDimensionArgs\n {\n Key = \"regionId\",\n Value = \"cn-hangzhou\",\n },\n },\n DesireValue = 1001,\n EnvLanguage = \"zh\",\n QuotaCategory = \"CommonQuota\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/quotas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := quotas.NewTemplateQuota(ctx, \"default\", \u0026quotas.TemplateQuotaArgs{\n\t\t\tQuotaActionCode: pulumi.String(\"q_desktop-count\"),\n\t\t\tProductCode: pulumi.String(\"gws\"),\n\t\t\tNoticeType: pulumi.Int(3),\n\t\t\tDimensions: quotas.TemplateQuotaDimensionArray{\n\t\t\t\t\u0026quotas.TemplateQuotaDimensionArgs{\n\t\t\t\t\tKey: pulumi.String(\"regionId\"),\n\t\t\t\t\tValue: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDesireValue: pulumi.Float64(1001),\n\t\t\tEnvLanguage: pulumi.String(\"zh\"),\n\t\t\tQuotaCategory: pulumi.String(\"CommonQuota\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.quotas.TemplateQuota;\nimport com.pulumi.alicloud.quotas.TemplateQuotaArgs;\nimport com.pulumi.alicloud.quotas.inputs.TemplateQuotaDimensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new TemplateQuota(\"default\", TemplateQuotaArgs.builder()\n .quotaActionCode(\"q_desktop-count\")\n .productCode(\"gws\")\n .noticeType(3)\n .dimensions(TemplateQuotaDimensionArgs.builder()\n .key(\"regionId\")\n .value(\"cn-hangzhou\")\n .build())\n .desireValue(1001.0)\n .envLanguage(\"zh\")\n .quotaCategory(\"CommonQuota\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:quotas:TemplateQuota\n properties:\n quotaActionCode: q_desktop-count\n productCode: gws\n noticeType: 3\n dimensions:\n - key: regionId\n value: cn-hangzhou\n desireValue: 1001\n envLanguage: zh\n quotaCategory: CommonQuota\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nQuotas Template Quota can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:quotas/templateQuota:TemplateQuota example \u003cid\u003e\n```\n\n", "properties": { "desireValue": { "type": "number", @@ -229130,7 +234309,7 @@ } }, "alicloud:ram/accessKey:AccessKey": { - "description": "Provides a RAM Access Key resource.\n\n\n\nFor information about RAM Access Key and how to use it, see [What is Access Key](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createaccesskey).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** You should set the \u003cspan pulumi-lang-nodejs=\"`secretFile`\" pulumi-lang-dotnet=\"`SecretFile`\" pulumi-lang-go=\"`secretFile`\" pulumi-lang-python=\"`secret_file`\" pulumi-lang-yaml=\"`secretFile`\" pulumi-lang-java=\"`secretFile`\"\u003e`secret_file`\u003c/span\u003e if you want to get the access key. \n\n\u003e **NOTE:** From version 1.98.0, if not set \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e, the resource will output the access key secret to field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e and please protect your backend state file judiciously\n\n\n## Example Usage\n\nOutput the secret to a file.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM access key for user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst ak = new alicloud.ram.AccessKey(\"ak\", {\n userName: user.name,\n secretFile: \"/xxx/xxx/xxx.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM access key for user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\nak = alicloud.ram.AccessKey(\"ak\",\n user_name=user.name,\n secret_file=\"/xxx/xxx/xxx.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM access key for user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var ak = new AliCloud.Ram.AccessKey(\"ak\", new()\n {\n UserName = user.Name,\n SecretFile = \"/xxx/xxx/xxx.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM access key for user.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewAccessKey(ctx, \"ak\", \u0026ram.AccessKeyArgs{\n\t\t\tUserName: user.Name,\n\t\t\tSecretFile: pulumi.String(\"/xxx/xxx/xxx.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.AccessKey;\nimport com.pulumi.alicloud.ram.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM access key for user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n var ak = new AccessKey(\"ak\", AccessKeyArgs.builder()\n .userName(user.name())\n .secretFile(\"/xxx/xxx/xxx.txt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM access key for user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n ak:\n type: alicloud:ram:AccessKey\n properties:\n userName: ${user.name}\n secretFile: /xxx/xxx/xxx.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e to encrypt the secret.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM access key for user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst encrypt = new alicloud.ram.AccessKey(\"encrypt\", {\n userName: user.name,\n pgpKey: `mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n`,\n});\nexport const encryptedSecret = encrypt.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM access key for user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\nencrypt = alicloud.ram.AccessKey(\"encrypt\",\n user_name=user.name,\n pgp_key=\"\"\"mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n\"\"\")\npulumi.export(\"encryptedSecret\", encrypt.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM access key for user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var encrypt = new AliCloud.Ram.AccessKey(\"encrypt\", new()\n {\n UserName = user.Name,\n PgpKey = @\"mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"encryptedSecret\"] = encrypt.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM access key for user.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tencrypt, err := ram.NewAccessKey(ctx, \"encrypt\", \u0026ram.AccessKeyArgs{\n\t\t\tUserName: user.Name,\n\t\t\tPgpKey: pulumi.String(`mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"encryptedSecret\", encrypt.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.AccessKey;\nimport com.pulumi.alicloud.ram.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM access key for user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n var encrypt = new AccessKey(\"encrypt\", AccessKeyArgs.builder()\n .userName(user.name())\n .pgpKey(\"\"\"\nmQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n \"\"\")\n .build());\n\n ctx.export(\"encryptedSecret\", encrypt.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM access key for user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n encrypt:\n type: alicloud:ram:AccessKey\n properties:\n userName: ${user.name}\n pgpKey: |\n mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\n rGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n 063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\n sF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n 8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\n S2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\n HbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\n cRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\n A7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\n C0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\n QKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\n aY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\n jak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n 6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\n ZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n 9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\n AQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\n lEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\n C1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\n YwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\n oPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n /AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\n PXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n 9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n 8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\n OIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\noutputs:\n encryptedSecret: ${encrypt.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a RAM Access Key resource.\n\n\n\nFor information about RAM Access Key and how to use it, see [What is Access Key](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createaccesskey).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** You should set the \u003cspan pulumi-lang-nodejs=\"`secretFile`\" pulumi-lang-dotnet=\"`SecretFile`\" pulumi-lang-go=\"`secretFile`\" pulumi-lang-python=\"`secret_file`\" pulumi-lang-yaml=\"`secretFile`\" pulumi-lang-java=\"`secretFile`\"\u003e`secret_file`\u003c/span\u003e if you want to get the access key. \n\n\u003e **NOTE:** From version 1.98.0, if not set \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e, the resource will output the access key secret to field \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e and please protect your backend state file judiciously\n\n\n## Example Usage\n\nOutput the secret to a file.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM access key for user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst ak = new alicloud.ram.AccessKey(\"ak\", {\n userName: user.name,\n secretFile: \"/xxx/xxx/xxx.txt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM access key for user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\nak = alicloud.ram.AccessKey(\"ak\",\n user_name=user.name,\n secret_file=\"/xxx/xxx/xxx.txt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM access key for user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var ak = new AliCloud.Ram.AccessKey(\"ak\", new()\n {\n UserName = user.Name,\n SecretFile = \"/xxx/xxx/xxx.txt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM access key for user.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewAccessKey(ctx, \"ak\", \u0026ram.AccessKeyArgs{\n\t\t\tUserName: user.Name,\n\t\t\tSecretFile: pulumi.String(\"/xxx/xxx/xxx.txt\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.AccessKey;\nimport com.pulumi.alicloud.ram.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM access key for user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n var ak = new AccessKey(\"ak\", AccessKeyArgs.builder()\n .userName(user.name())\n .secretFile(\"/xxx/xxx/xxx.txt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM access key for user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n ak:\n type: alicloud:ram:AccessKey\n properties:\n userName: ${user.name}\n secretFile: /xxx/xxx/xxx.txt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e to encrypt the secret.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM access key for user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n force: true,\n});\nconst encrypt = new alicloud.ram.AccessKey(\"encrypt\", {\n userName: user.name,\n pgpKey: `mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n`,\n});\nexport const encryptedSecret = encrypt.encryptedSecret;\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM access key for user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\",\n force=True)\nencrypt = alicloud.ram.AccessKey(\"encrypt\",\n user_name=user.name,\n pgp_key=\"\"\"mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n\"\"\")\npulumi.export(\"encryptedSecret\", encrypt.encrypted_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM access key for user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n Force = true,\n });\n\n var encrypt = new AliCloud.Ram.AccessKey(\"encrypt\", new()\n {\n UserName = user.Name,\n PgpKey = @\"mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"encryptedSecret\"] = encrypt.EncryptedSecret,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM access key for user.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tencrypt, err := ram.NewAccessKey(ctx, \"encrypt\", \u0026ram.AccessKeyArgs{\n\t\t\tUserName: user.Name,\n\t\t\tPgpKey: pulumi.String(`mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"encryptedSecret\", encrypt.EncryptedSecret)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.AccessKey;\nimport com.pulumi.alicloud.ram.AccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM access key for user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .force(true)\n .build());\n\n var encrypt = new AccessKey(\"encrypt\", AccessKeyArgs.builder()\n .userName(user.name())\n .pgpKey(\"\"\"\nmQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\nrGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\nsF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\nS2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\nHbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\ncRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\nA7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\nC0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\nQKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\naY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\njak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\nZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\nAQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\nlEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\nC1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\nYwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\noPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n/AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\nPXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\nOIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\n \"\"\")\n .build());\n\n ctx.export(\"encryptedSecret\", encrypt.encryptedSecret());\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM access key for user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n force: true\n encrypt:\n type: alicloud:ram:AccessKey\n properties:\n userName: ${user.name}\n pgpKey: |\n mQENBFXbjPUBCADjNjCUQwfxKL+RR2GA6pv/1K+zJZ8UWIF9S0lk7cVIEfJiprzzwiMwBS5cD0da\n rGin1FHvIWOZxujA7oW0O2TUuatqI3aAYDTfRYurh6iKLC+VS+F7H+/mhfFvKmgr0Y5kDCF1j0T/\n 063QZ84IRGucR/X43IY7kAtmxGXH0dYOCzOe5UBX1fTn3mXGe2ImCDWBH7gOViynXmb6XNvXkP0f\n sF5St9jhO7mbZU9EFkv9O3t3EaURfHopsCVDOlCkFCw5ArY+DUORHRzoMX0PnkyQb5OzibkChzpg\n 8hQssKeVGpuskTdz5Q7PtdW71jXd4fFVzoNH8fYwRpziD2xNvi6HABEBAAG0EFZhdWx0IFRlc3Qg\n S2V5IDGJATgEEwECACIFAlXbjPUCGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEOfLr44B\n HbeTo+sH/i7bapIgPnZsJ81hmxPj4W12uvunksGJiC7d4hIHsG7kmJRTJfjECi+AuTGeDwBy84TD\n cRaOB6e79fj65Fg6HgSahDUtKJbGxj/lWzmaBuTzlN3CEe8cMwIPqPT2kajJVdOyrvkyuFOdPFOE\n A7bdCH0MqgIdM2SdF8t40k/ATfuD2K1ZmumJ508I3gF39jgTnPzD4C8quswrMQ3bzfvKC3klXRlB\n C0yoArn+0QA3cf2B9T4zJ2qnvgotVbeK/b1OJRNj6Poeo+SsWNc/A5mw7lGScnDgL3yfwCm1gQXa\n QKfOt5x+7GqhWDw10q+bJpJlI10FfzAnhMF9etSqSeURBRW5AQ0EVduM9QEIAL53hJ5bZJ7oEDCn\n aY+SCzt9QsAfnFTAnZJQrvkvusJzrTQ088eUQmAjvxkfRqnv981fFwGnh2+I1Ktm698UAZS9Jt8y\n jak9wWUICKQO5QUt5k8cHwldQXNXVXFa+TpQWQR5yW1a9okjh5o/3d4cBt1yZPUJJyLKY43Wvptb\n 6EuEsScO2DnRkh5wSMDQ7dTooddJCmaq3LTjOleRFQbu9ij386Do6jzK69mJU56TfdcydkxkWF5N\n ZLGnED3lq+hQNbe+8UI5tD2oP/3r5tXKgMy1R/XPvR/zbfwvx4FAKFOP01awLq4P3d/2xOkMu4Lu\n 9p315E87DOleYwxk+FoTqXEAEQEAAYkCPgQYAQIACQUCVduM9QIbLgEpCRDny6+OAR23k8BdIAQZ\n AQIABgUCVduM9QAKCRAID0JGyHtSGmqYB/4m4rJbbWa7dBJ8VqRU7ZKnNRDR9CVhEGipBmpDGRYu\n lEimOPzLUX/ZXZmTZzgemeXLBaJJlWnopVUWuAsyjQuZAfdd8nHkGRHG0/DGum0l4sKTta3OPGHN\n C1z1dAcQ1RCr9bTD3PxjLBczdGqhzw71trkQRBRdtPiUchltPMIyjUHqVJ0xmg0hPqFic0fICsr0\n YwKoz3h9+QEcZHvsjSZjgydKvfLYcm+4DDMCCqcHuJrbXJKUWmJcXR0y/+HQONGrGJ5xWdO+6eJi\n oPn2jVMnXCm4EKc7fcLFrz/LKmJ8seXhxjM3EdFtylBGCrx3xdK0f+JDNQaC/rhUb5V2XuX6VwoH\n /AtY+XsKVYRfNIupLOUcf/srsm3IXT4SXWVomOc9hjGQiJ3rraIbADsc+6bCAr4XNZS7moViAAcI\n PXFv3m3WfUlnG/om78UjQqyVACRZqqAGmuPq+TSkRUCpt9h+A39LQWkojHqyob3cyLgy6z9Q557O\n 9uK3lQozbw2gH9zC0RqnePl+rsWIUU/ga16fH6pWc1uJiEBt8UZGypQ/E56/343epmYAe0a87sHx\n 8iDV+dNtDVKfPRENiLOOc19MmS+phmUyrbHqI91c0pmysYcJZCD3a502X1gpjFbPZcRtiTmGnUKd\n OIu60YPNE4+h7u2CfYyFPu3AlUaGNMBlvy6PEpU=\noutputs:\n encryptedSecret: ${encrypt.encryptedSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "createTime": { "type": "string", @@ -229282,7 +234461,7 @@ } }, "alicloud:ram/accountPasswordPolicy:AccountPasswordPolicy": { - "description": "## Example Usage\n\nEmpty resource sets defaults values for every property.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ram.AccountPasswordPolicy(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ram.AccountPasswordPolicy(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ram.AccountPasswordPolicy(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewAccountPasswordPolicy(ctx, \"default\", 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.alicloud.ram.AccountPasswordPolicy;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AccountPasswordPolicy(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ram:AccountPasswordPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst corporate = new alicloud.ram.AccountPasswordPolicy(\"corporate\", {\n minimumPasswordLength: 9,\n requireLowercaseCharacters: false,\n requireUppercaseCharacters: false,\n requireNumbers: false,\n requireSymbols: false,\n hardExpiry: true,\n maxPasswordAge: 12,\n passwordReusePrevention: 5,\n maxLoginAttempts: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ncorporate = alicloud.ram.AccountPasswordPolicy(\"corporate\",\n minimum_password_length=9,\n require_lowercase_characters=False,\n require_uppercase_characters=False,\n require_numbers=False,\n require_symbols=False,\n hard_expiry=True,\n max_password_age=12,\n password_reuse_prevention=5,\n max_login_attempts=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var corporate = new AliCloud.Ram.AccountPasswordPolicy(\"corporate\", new()\n {\n MinimumPasswordLength = 9,\n RequireLowercaseCharacters = false,\n RequireUppercaseCharacters = false,\n RequireNumbers = false,\n RequireSymbols = false,\n HardExpiry = true,\n MaxPasswordAge = 12,\n PasswordReusePrevention = 5,\n MaxLoginAttempts = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewAccountPasswordPolicy(ctx, \"corporate\", \u0026ram.AccountPasswordPolicyArgs{\n\t\t\tMinimumPasswordLength: pulumi.Int(9),\n\t\t\tRequireLowercaseCharacters: pulumi.Bool(false),\n\t\t\tRequireUppercaseCharacters: pulumi.Bool(false),\n\t\t\tRequireNumbers: pulumi.Bool(false),\n\t\t\tRequireSymbols: pulumi.Bool(false),\n\t\t\tHardExpiry: pulumi.Bool(true),\n\t\t\tMaxPasswordAge: pulumi.Int(12),\n\t\t\tPasswordReusePrevention: pulumi.Int(5),\n\t\t\tMaxLoginAttempts: pulumi.Int(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.alicloud.ram.AccountPasswordPolicy;\nimport com.pulumi.alicloud.ram.AccountPasswordPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var corporate = new AccountPasswordPolicy(\"corporate\", AccountPasswordPolicyArgs.builder()\n .minimumPasswordLength(9)\n .requireLowercaseCharacters(false)\n .requireUppercaseCharacters(false)\n .requireNumbers(false)\n .requireSymbols(false)\n .hardExpiry(true)\n .maxPasswordAge(12)\n .passwordReusePrevention(5)\n .maxLoginAttempts(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n corporate:\n type: alicloud:ram:AccountPasswordPolicy\n properties:\n minimumPasswordLength: 9\n requireLowercaseCharacters: false\n requireUppercaseCharacters: false\n requireNumbers: false\n requireSymbols: false\n hardExpiry: true\n maxPasswordAge: 12\n passwordReusePrevention: 5\n maxLoginAttempts: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\nFor not specified values sets defaults.\n\n## Import\n\nRAM account password policy can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import alicloud:ram/accountPasswordPolicy:AccountPasswordPolicy example ram-account-password-policy\n```\n\n", + "description": "## Example Usage\n\nEmpty resource sets defaults values for every property.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.ram.AccountPasswordPolicy(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.ram.AccountPasswordPolicy(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Ram.AccountPasswordPolicy(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewAccountPasswordPolicy(ctx, \"default\", 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.alicloud.ram.AccountPasswordPolicy;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AccountPasswordPolicy(\"default\");\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:ram:AccountPasswordPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst corporate = new alicloud.ram.AccountPasswordPolicy(\"corporate\", {\n minimumPasswordLength: 9,\n requireLowercaseCharacters: false,\n requireUppercaseCharacters: false,\n requireNumbers: false,\n requireSymbols: false,\n hardExpiry: true,\n maxPasswordAge: 12,\n passwordReusePrevention: 5,\n maxLoginAttempts: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ncorporate = alicloud.ram.AccountPasswordPolicy(\"corporate\",\n minimum_password_length=9,\n require_lowercase_characters=False,\n require_uppercase_characters=False,\n require_numbers=False,\n require_symbols=False,\n hard_expiry=True,\n max_password_age=12,\n password_reuse_prevention=5,\n max_login_attempts=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var corporate = new AliCloud.Ram.AccountPasswordPolicy(\"corporate\", new()\n {\n MinimumPasswordLength = 9,\n RequireLowercaseCharacters = false,\n RequireUppercaseCharacters = false,\n RequireNumbers = false,\n RequireSymbols = false,\n HardExpiry = true,\n MaxPasswordAge = 12,\n PasswordReusePrevention = 5,\n MaxLoginAttempts = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewAccountPasswordPolicy(ctx, \"corporate\", \u0026ram.AccountPasswordPolicyArgs{\n\t\t\tMinimumPasswordLength: pulumi.Int(9),\n\t\t\tRequireLowercaseCharacters: pulumi.Bool(false),\n\t\t\tRequireUppercaseCharacters: pulumi.Bool(false),\n\t\t\tRequireNumbers: pulumi.Bool(false),\n\t\t\tRequireSymbols: pulumi.Bool(false),\n\t\t\tHardExpiry: pulumi.Bool(true),\n\t\t\tMaxPasswordAge: pulumi.Int(12),\n\t\t\tPasswordReusePrevention: pulumi.Int(5),\n\t\t\tMaxLoginAttempts: pulumi.Int(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.alicloud.ram.AccountPasswordPolicy;\nimport com.pulumi.alicloud.ram.AccountPasswordPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var corporate = new AccountPasswordPolicy(\"corporate\", AccountPasswordPolicyArgs.builder()\n .minimumPasswordLength(9)\n .requireLowercaseCharacters(false)\n .requireUppercaseCharacters(false)\n .requireNumbers(false)\n .requireSymbols(false)\n .hardExpiry(true)\n .maxPasswordAge(12)\n .passwordReusePrevention(5)\n .maxLoginAttempts(3)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n corporate:\n type: alicloud:ram:AccountPasswordPolicy\n properties:\n minimumPasswordLength: 9\n requireLowercaseCharacters: false\n requireUppercaseCharacters: false\n requireNumbers: false\n requireSymbols: false\n hardExpiry: true\n maxPasswordAge: 12\n passwordReusePrevention: 5\n maxLoginAttempts: 3\n```\n\u003c!--End PulumiCodeChooser --\u003e\nFor not specified values sets defaults.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM account password policy can be imported using the `id`, e.g.\n\nbash\n\n```sh\n$ pulumi import alicloud:ram/accountPasswordPolicy:AccountPasswordPolicy example ram-account-password-policy\n```\n\n", "properties": { "hardExpiry": { "type": "boolean", @@ -229430,7 +234609,7 @@ } }, "alicloud:ram/group:Group": { - "description": "Provides a RAM Group resource.\n\nThe group that users can join.\n\nFor information about RAM Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-creategroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst group = new alicloud.ram.Group(\"group\", {\n groupName: name,\n comments: name,\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ngroup = alicloud.ram.Group(\"group\",\n group_name=name,\n comments=name,\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n GroupName = name,\n Comments = name,\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tComments: pulumi.String(name),\n\t\t\tForce: 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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var group = new Group(\"group\", GroupArgs.builder()\n .groupName(name)\n .comments(name)\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n group:\n type: alicloud:ram:Group\n properties:\n groupName: ${name}\n comments: ${name}\n force: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/group:Group example \u003cid\u003e\n```\n\n", + "description": "Provides a RAM Group resource.\n\nThe group that users can join.\n\nFor information about RAM Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-creategroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst group = new alicloud.ram.Group(\"group\", {\n groupName: name,\n comments: name,\n force: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ngroup = alicloud.ram.Group(\"group\",\n group_name=name,\n comments=name,\n force=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n GroupName = name,\n Comments = name,\n Force = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tGroupName: pulumi.String(name),\n\t\t\tComments: pulumi.String(name),\n\t\t\tForce: 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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n var group = new Group(\"group\", GroupArgs.builder()\n .groupName(name)\n .comments(name)\n .force(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n group:\n type: alicloud:ram:Group\n properties:\n groupName: ${name}\n comments: ${name}\n force: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/group:Group example \u003cid\u003e\n```\n\n", "properties": { "comments": { "type": "string", @@ -229511,7 +234690,7 @@ } }, "alicloud:ram/groupMembership:GroupMembership": { - "description": "Provides a RAM Group membership resource. \n\n\u003e **NOTE:** Available since v1.0.0+.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst group = new alicloud.ram.Group(\"group\", {\n name: std.format({\n input: \"%sgroup\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n comments: \"this is a group comments.\",\n});\nconst user = new alicloud.ram.User(\"user\", {\n name: std.format({\n input: \"%suser\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst user1 = new alicloud.ram.User(\"user1\", {\n name: std.format({\n input: \"%suser1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"user_display_name1\",\n mobile: \"86-18688888889\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst membership = new alicloud.ram.GroupMembership(\"membership\", {\n groupName: group.name,\n userNames: [\n user.name,\n user1.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ngroup = alicloud.ram.Group(\"group\",\n name=std.format(input=\"%sgroup\",\n args=[name]).result,\n comments=\"this is a group comments.\")\nuser = alicloud.ram.User(\"user\",\n name=std.format(input=\"%suser\",\n args=[name]).result,\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nuser1 = alicloud.ram.User(\"user1\",\n name=std.format(input=\"%suser1\",\n args=[name]).result,\n display_name=\"user_display_name1\",\n mobile=\"86-18688888889\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nmembership = alicloud.ram.GroupMembership(\"membership\",\n group_name=group.name,\n user_names=[\n user.name,\n user1.name,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%sgroup\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Comments = \"this is a group comments.\",\n });\n\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%suser\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var user1 = new AliCloud.Ram.User(\"user1\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%suser1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"user_display_name1\",\n Mobile = \"86-18688888889\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var membership = new AliCloud.Ram.GroupMembership(\"membership\", new()\n {\n GroupName = @group.Name,\n UserNames = new[]\n {\n user.Name,\n user1.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%sgroup\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tName: pulumi.String(invokeFormat.Result),\n\t\t\tComments: pulumi.String(\"this is a group comments.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%suser\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(invokeFormat1.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%suser1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser1, err := ram.NewUser(ctx, \"user1\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(invokeFormat2.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name1\"),\n\t\t\tMobile: pulumi.String(\"86-18688888889\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewGroupMembership(ctx, \"membership\", \u0026ram.GroupMembershipArgs{\n\t\t\tGroupName: group.Name,\n\t\t\tUserNames: pulumi.StringArray{\n\t\t\t\tuser.Name,\n\t\t\t\tuser1.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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.GroupMembership;\nimport com.pulumi.alicloud.ram.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var group = new Group(\"group\", GroupArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%sgroup\")\n .args(name)\n .build()).result())\n .comments(\"this is a group comments.\")\n .build());\n\n var user = new User(\"user\", UserArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%suser\")\n .args(name)\n .build()).result())\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var user1 = new User(\"user1\", UserArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%suser1\")\n .args(name)\n .build()).result())\n .displayName(\"user_display_name1\")\n .mobile(\"86-18688888889\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var membership = new GroupMembership(\"membership\", GroupMembershipArgs.builder()\n .groupName(group.name())\n .userNames( \n user.name(),\n user1.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n group:\n type: alicloud:ram:Group\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%sgroup'\n args:\n - ${name}\n return: result\n comments: this is a group comments.\n user:\n type: alicloud:ram:User\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%suser'\n args:\n - ${name}\n return: result\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n user1:\n type: alicloud:ram:User\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%suser1'\n args:\n - ${name}\n return: result\n displayName: user_display_name1\n mobile: 86-18688888889\n email: hello.uuu@aaa.com\n comments: yoyoyo\n membership:\n type: alicloud:ram:GroupMembership\n properties:\n groupName: ${group.name}\n userNames:\n - ${user.name}\n - ${user1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Group membership can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/groupMembership:GroupMembership example my-group\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst group = new alicloud.ram.Group(\"group\", {\n name: std.format({\n input: \"%sgroup\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n comments: \"this is a group comments.\",\n});\nconst user = new alicloud.ram.User(\"user\", {\n name: std.format({\n input: \"%suser\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst user1 = new alicloud.ram.User(\"user1\", {\n name: std.format({\n input: \"%suser1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n displayName: \"user_display_name1\",\n mobile: \"86-18688888889\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst membership = new alicloud.ram.GroupMembership(\"membership\", {\n groupName: group.name,\n userNames: [\n user.name,\n user1.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ngroup = alicloud.ram.Group(\"group\",\n name=std.format(input=\"%sgroup\",\n args=[name]).result,\n comments=\"this is a group comments.\")\nuser = alicloud.ram.User(\"user\",\n name=std.format(input=\"%suser\",\n args=[name]).result,\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nuser1 = alicloud.ram.User(\"user1\",\n name=std.format(input=\"%suser1\",\n args=[name]).result,\n display_name=\"user_display_name1\",\n mobile=\"86-18688888889\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\nmembership = alicloud.ram.GroupMembership(\"membership\",\n group_name=group.name,\n user_names=[\n user.name,\n user1.name,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%sgroup\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n Comments = \"this is a group comments.\",\n });\n\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%suser\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var user1 = new AliCloud.Ram.User(\"user1\", new()\n {\n Name = Std.Format.Invoke(new()\n {\n Input = \"%suser1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n DisplayName = \"user_display_name1\",\n Mobile = \"86-18688888889\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var membership = new AliCloud.Ram.GroupMembership(\"membership\", new()\n {\n GroupName = @group.Name,\n UserNames = new[]\n {\n user.Name,\n user1.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%sgroup\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tName: pulumi.String(invokeFormat.Result),\n\t\t\tComments: pulumi.String(\"this is a group comments.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%suser\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(invokeFormat1.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%suser1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tuser1, err := ram.NewUser(ctx, \"user1\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(invokeFormat2.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name1\"),\n\t\t\tMobile: pulumi.String(\"86-18688888889\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewGroupMembership(ctx, \"membership\", \u0026ram.GroupMembershipArgs{\n\t\t\tGroupName: group.Name,\n\t\t\tUserNames: pulumi.StringArray{\n\t\t\t\tuser.Name,\n\t\t\t\tuser1.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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.GroupMembership;\nimport com.pulumi.alicloud.ram.GroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var group = new Group(\"group\", GroupArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%sgroup\")\n .args(name)\n .build()).result())\n .comments(\"this is a group comments.\")\n .build());\n\n var user = new User(\"user\", UserArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%suser\")\n .args(name)\n .build()).result())\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var user1 = new User(\"user1\", UserArgs.builder()\n .name(StdFunctions.format(FormatArgs.builder()\n .input(\"%suser1\")\n .args(name)\n .build()).result())\n .displayName(\"user_display_name1\")\n .mobile(\"86-18688888889\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var membership = new GroupMembership(\"membership\", GroupMembershipArgs.builder()\n .groupName(group.name())\n .userNames( \n user.name(),\n user1.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n group:\n type: alicloud:ram:Group\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%sgroup'\n args:\n - ${name}\n return: result\n comments: this is a group comments.\n user:\n type: alicloud:ram:User\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%suser'\n args:\n - ${name}\n return: result\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n user1:\n type: alicloud:ram:User\n properties:\n name:\n fn::invoke:\n function: std:format\n arguments:\n input: '%suser1'\n args:\n - ${name}\n return: result\n displayName: user_display_name1\n mobile: 86-18688888889\n email: hello.uuu@aaa.com\n comments: yoyoyo\n membership:\n type: alicloud:ram:GroupMembership\n properties:\n groupName: ${group.name}\n userNames:\n - ${user.name}\n - ${user1.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Group membership can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/groupMembership:GroupMembership example my-group\n```\n\n", "properties": { "groupName": { "type": "string", @@ -229567,7 +234746,7 @@ } }, "alicloud:ram/groupPolicyAttachment:GroupPolicyAttachment": { - "description": "Provides a RAM Group Policy Attachment resource.\n\n\n\nFor information about RAM Group Policy Attachment and how to use it, see [What is Group Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToGroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM Group Policy attachment.\nconst group = new alicloud.ram.Group(\"group\", {\n groupName: \"groupName\",\n comments: \"this is a group comments.\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.GroupPolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n groupName: group.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM Group Policy attachment.\ngroup = alicloud.ram.Group(\"group\",\n group_name=\"groupName\",\n comments=\"this is a group comments.\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.GroupPolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n group_name=group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM Group Policy attachment.\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n GroupName = \"groupName\",\n Comments = \"this is a group comments.\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.GroupPolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n GroupName = @group.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM Group Policy attachment.\n\t\tgroup, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"groupName\"),\n\t\t\tComments: pulumi.String(\"this is a group comments.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewGroupPolicyAttachment(ctx, \"attach\", \u0026ram.GroupPolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tGroupName: group.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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.GroupPolicyAttachment;\nimport com.pulumi.alicloud.ram.GroupPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM Group Policy attachment.\n var group = new Group(\"group\", GroupArgs.builder()\n .groupName(\"groupName\")\n .comments(\"this is a group comments.\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new GroupPolicyAttachment(\"attach\", GroupPolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .groupName(group.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM Group Policy attachment.\n group:\n type: alicloud:ram:Group\n properties:\n groupName: groupName\n comments: this is a group comments.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:GroupPolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n groupName: ${group.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Group Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/groupPolicyAttachment:GroupPolicyAttachment example group:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003cgroup_name\u003e\n```\n\n", + "description": "Provides a RAM Group Policy Attachment resource.\n\n\n\nFor information about RAM Group Policy Attachment and how to use it, see [What is Group Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToGroup).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM Group Policy attachment.\nconst group = new alicloud.ram.Group(\"group\", {\n groupName: \"groupName\",\n comments: \"this is a group comments.\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.GroupPolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n groupName: group.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM Group Policy attachment.\ngroup = alicloud.ram.Group(\"group\",\n group_name=\"groupName\",\n comments=\"this is a group comments.\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.GroupPolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n group_name=group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM Group Policy attachment.\n var @group = new AliCloud.Ram.Group(\"group\", new()\n {\n GroupName = \"groupName\",\n Comments = \"this is a group comments.\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.GroupPolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n GroupName = @group.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM Group Policy attachment.\n\t\tgroup, err := ram.NewGroup(ctx, \"group\", \u0026ram.GroupArgs{\n\t\t\tGroupName: pulumi.String(\"groupName\"),\n\t\t\tComments: pulumi.String(\"this is a group comments.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewGroupPolicyAttachment(ctx, \"attach\", \u0026ram.GroupPolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tGroupName: group.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.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.GroupPolicyAttachment;\nimport com.pulumi.alicloud.ram.GroupPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM Group Policy attachment.\n var group = new Group(\"group\", GroupArgs.builder()\n .groupName(\"groupName\")\n .comments(\"this is a group comments.\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new GroupPolicyAttachment(\"attach\", GroupPolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .groupName(group.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM Group Policy attachment.\n group:\n type: alicloud:ram:Group\n properties:\n groupName: groupName\n comments: this is a group comments.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:GroupPolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n groupName: ${group.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Group Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/groupPolicyAttachment:GroupPolicyAttachment example group:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003cgroup_name\u003e\n```\n\n", "properties": { "groupName": { "type": "string", @@ -229632,7 +234811,7 @@ } }, "alicloud:ram/loginProfile:LoginProfile": { - "description": "Provides a RAM Login Profile resource.\n\n\n\nFor information about RAM Login Profile and how to use it, see [What is Login Profile](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createloginprofile).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst user = new alicloud.ram.User(\"user\", {\n name: \"terraform_example\",\n displayName: \"terraform_example\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"terraform_example\",\n force: true,\n});\nconst profile = new alicloud.ram.LoginProfile(\"profile\", {\n userName: user.name,\n password: \"Example_1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nuser = alicloud.ram.User(\"user\",\n name=\"terraform_example\",\n display_name=\"terraform_example\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"terraform_example\",\n force=True)\nprofile = alicloud.ram.LoginProfile(\"profile\",\n user_name=user.name,\n password=\"Example_1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = \"terraform_example\",\n DisplayName = \"terraform_example\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"terraform_example\",\n Force = true,\n });\n\n var profile = new AliCloud.Ram.LoginProfile(\"profile\", new()\n {\n UserName = user.Name,\n Password = \"Example_1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(\"terraform_example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform_example\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"terraform_example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewLoginProfile(ctx, \"profile\", \u0026ram.LoginProfileArgs{\n\t\t\tUserName: user.Name,\n\t\t\tPassword: pulumi.String(\"Example_1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.LoginProfile;\nimport com.pulumi.alicloud.ram.LoginProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var user = new User(\"user\", UserArgs.builder()\n .name(\"terraform_example\")\n .displayName(\"terraform_example\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"terraform_example\")\n .force(true)\n .build());\n\n var profile = new LoginProfile(\"profile\", LoginProfileArgs.builder()\n .userName(user.name())\n .password(\"Example_1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: alicloud:ram:User\n properties:\n name: terraform_example\n displayName: terraform_example\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: terraform_example\n force: true\n profile:\n type: alicloud:ram:LoginProfile\n properties:\n userName: ${user.name}\n password: Example_1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Login Profile can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/loginProfile:LoginProfile example \u003cid\u003e\n```\n\n", + "description": "Provides a RAM Login Profile resource.\n\n\n\nFor information about RAM Login Profile and how to use it, see [What is Login Profile](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createloginprofile).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst user = new alicloud.ram.User(\"user\", {\n name: \"terraform_example\",\n displayName: \"terraform_example\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"terraform_example\",\n force: true,\n});\nconst profile = new alicloud.ram.LoginProfile(\"profile\", {\n userName: user.name,\n password: \"Example_1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nuser = alicloud.ram.User(\"user\",\n name=\"terraform_example\",\n display_name=\"terraform_example\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"terraform_example\",\n force=True)\nprofile = alicloud.ram.LoginProfile(\"profile\",\n user_name=user.name,\n password=\"Example_1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = \"terraform_example\",\n DisplayName = \"terraform_example\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"terraform_example\",\n Force = true,\n });\n\n var profile = new AliCloud.Ram.LoginProfile(\"profile\", new()\n {\n UserName = user.Name,\n Password = \"Example_1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(\"terraform_example\"),\n\t\t\tDisplayName: pulumi.String(\"terraform_example\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"terraform_example\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewLoginProfile(ctx, \"profile\", \u0026ram.LoginProfileArgs{\n\t\t\tUserName: user.Name,\n\t\t\tPassword: pulumi.String(\"Example_1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.LoginProfile;\nimport com.pulumi.alicloud.ram.LoginProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var user = new User(\"user\", UserArgs.builder()\n .name(\"terraform_example\")\n .displayName(\"terraform_example\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"terraform_example\")\n .force(true)\n .build());\n\n var profile = new LoginProfile(\"profile\", LoginProfileArgs.builder()\n .userName(user.name())\n .password(\"Example_1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: alicloud:ram:User\n properties:\n name: terraform_example\n displayName: terraform_example\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: terraform_example\n force: true\n profile:\n type: alicloud:ram:LoginProfile\n properties:\n userName: ${user.name}\n password: Example_1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Login Profile can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/loginProfile:LoginProfile example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -229861,7 +235040,7 @@ } }, "alicloud:ram/policy:Policy": { - "description": "Provides a RAM Policy resource.\n\n\n\nFor information about RAM Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createpolicy).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n\u003e **NOTE:** Each strategy can have a maximum of five versions. When the number of versions reaches five, the oldest version is not automatically deleted by default. You need to explicitly set \u003cspan pulumi-lang-nodejs=\"`rotateStrategy \" pulumi-lang-dotnet=\"`RotateStrategy \" pulumi-lang-go=\"`rotateStrategy \" pulumi-lang-python=\"`rotate_strategy \" pulumi-lang-yaml=\"`rotateStrategy \" pulumi-lang-java=\"`rotateStrategy \"\u003e`rotate_strategy \u003c/span\u003e= DeleteOldestNonDefaultVersionWhenLimitExceeded` to automatically delete the oldest version.\n\n\u003e **NOTE:** If the policy has multiple versions, all non-default versions will be deleted first when deleting policy.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a new RAM Policy.\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a new RAM Policy.\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new RAM Policy.\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new RAM Policy.\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new RAM Policy.\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new RAM Policy.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/policy:Policy example \u003cid\u003e\n```\n\n", + "description": "Provides a RAM Policy resource.\n\n\n\nFor information about RAM Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createpolicy).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n\u003e **NOTE:** Each strategy can have a maximum of five versions. When the number of versions reaches five, the oldest version is not automatically deleted by default. You need to explicitly set \u003cspan pulumi-lang-nodejs=\"`rotateStrategy \" pulumi-lang-dotnet=\"`RotateStrategy \" pulumi-lang-go=\"`rotateStrategy \" pulumi-lang-python=\"`rotate_strategy \" pulumi-lang-yaml=\"`rotateStrategy \" pulumi-lang-java=\"`rotateStrategy \"\u003e`rotate_strategy \u003c/span\u003e= DeleteOldestNonDefaultVersionWhenLimitExceeded` to automatically delete the oldest version.\n\n\u003e **NOTE:** If the policy has multiple versions, all non-default versions will be deleted first when deleting policy.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a new RAM Policy.\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a new RAM Policy.\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new RAM Policy.\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new RAM Policy.\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new RAM Policy.\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new RAM Policy.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/policy:Policy example \u003cid\u003e\n```\n\n", "properties": { "attachmentCount": { "type": "integer", @@ -230080,7 +235259,7 @@ } }, "alicloud:ram/role:Role": { - "description": "Provides a RAM Role resource.\n\n\n\nFor information about RAM Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createrole).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n roleName: `terraform-example-${_default.result}`,\n assumeRolePolicyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"apigateway.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_role = alicloud.ram.Role(\"default\",\n role_name=f\"terraform-example-{default['result']}\",\n assume_role_policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n RoleName = $\"terraform-example-{@default.Result}\",\n AssumeRolePolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"apigateway.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tRoleName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tAssumeRolePolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .roleName(String.format(\"terraform-example-%s\", default_.result()))\n .assumeRolePolicyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n roleName: terraform-example-${default.result}\n assumeRolePolicyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/role:Role example \u003cid\u003e\n```\n\n", + "description": "Provides a RAM Role resource.\n\n\n\nFor information about RAM Role and how to use it, see [What is Role](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createrole).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means remove all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultRole = new alicloud.ram.Role(\"default\", {\n roleName: `terraform-example-${_default.result}`,\n assumeRolePolicyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"apigateway.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_role = alicloud.ram.Role(\"default\",\n role_name=f\"terraform-example-{default['result']}\",\n assume_role_policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultRole = new AliCloud.Ram.Role(\"default\", new()\n {\n RoleName = $\"terraform-example-{@default.Result}\",\n AssumeRolePolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"apigateway.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRole(ctx, \"default\", \u0026ram.RoleArgs{\n\t\t\tRoleName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tAssumeRolePolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultRole = new Role(\"defaultRole\", RoleArgs.builder()\n .roleName(String.format(\"terraform-example-%s\", default_.result()))\n .assumeRolePolicyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultRole:\n type: alicloud:ram:Role\n name: default\n properties:\n roleName: terraform-example-${default.result}\n assumeRolePolicyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/role:Role example \u003cid\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -230307,7 +235486,7 @@ } }, "alicloud:ram/roleAttachment:RoleAttachment": { - "description": "Provides a RAM role attachment resource to bind role for several ECS instances.\n\n\u003e **NOTE:** Deprecated since v1.250.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.250.0`. Please use new resource alicloud_ecs_ram_role_attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"ecsInstanceVPCExample\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst foo = new alicloud.ecs.Instance(\"foo\", {\n vswitchId: defaultSwitch.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n});\nconst role = new alicloud.ram.Role(\"role\", {\n name: \"terraform-example\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n\n`,\n description: \"this is a test\",\n force: true,\n});\nconst attach = new alicloud.ram.RoleAttachment(\"attach\", {\n roleName: role.name,\n instanceIds: [foo].map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"ecsInstanceVPCExample\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\nfoo = alicloud.ecs.Instance(\"foo\",\n vswitch_id=default_switch.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[default_security_group.id],\n instance_name=name)\nrole = alicloud.ram.Role(\"role\",\n name=\"terraform-example\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n\"\"\",\n description=\"this is a test\",\n force=True)\nattach = alicloud.ram.RoleAttachment(\"attach\",\n role_name=role.name,\n instance_ids=[__item.id for __item in [foo]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"ecsInstanceVPCExample\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var foo = new AliCloud.Ecs.Instance(\"foo\", new()\n {\n VswitchId = defaultSwitch.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n });\n\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = \"terraform-example\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\n\",\n Description = \"this is a test\",\n Force = true,\n });\n\n var attach = new AliCloud.Ram.RoleAttachment(\"attach\", new()\n {\n RoleName = role.Name,\n InstanceIds = new[]\n {\n foo,\n }.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(2),\nMemorySize: pulumi.Float64Ref(8),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"ecsInstanceVPCExample\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\nType: pulumi.String(\"ingress\"),\nIpProtocol: pulumi.String(\"tcp\"),\nNicType: pulumi.String(\"intranet\"),\nPolicy: pulumi.String(\"accept\"),\nPortRange: pulumi.String(\"22/22\"),\nPriority: pulumi.Int(1),\nSecurityGroupId: defaultSecurityGroup.ID(),\nCidrIp: pulumi.String(\"172.16.0.0/24\"),\n})\nif err != nil {\nreturn err\n}\nfoo, err := ecs.NewInstance(ctx, \"foo\", \u0026ecs.InstanceArgs{\nVswitchId: defaultSwitch.ID(),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(5),\nSecurityGroups: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nrole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\nName: pulumi.String(\"terraform-example\"),\nDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n`),\nDescription: pulumi.String(\"this is a test\"),\nForce: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ram.NewRoleAttachment(ctx, \"attach\", \u0026ram.RoleAttachmentArgs{\nRoleName: role.Name,\nInstanceIds: splat0,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RoleAttachment;\nimport com.pulumi.alicloud.ram.RoleAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"ecsInstanceVPCExample\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"terraform-example\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n \"\"\")\n .description(\"this is a test\")\n .force(true)\n .build());\n\n var attach = new RoleAttachment(\"attach\", RoleAttachmentArgs.builder()\n .roleName(role.name())\n .instanceIds(foo.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a RAM role attachment resource to bind role for several ECS instances.\n\n\u003e **NOTE:** Deprecated since v1.250.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.250.0`. Please use new resource alicloud_ecs_ram_role_attachment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"ecsInstanceVPCExample\";\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n securityGroupName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule(\"default\", {\n type: \"ingress\",\n ipProtocol: \"tcp\",\n nicType: \"intranet\",\n policy: \"accept\",\n portRange: \"22/22\",\n priority: 1,\n securityGroupId: defaultSecurityGroup.id,\n cidrIp: \"172.16.0.0/24\",\n});\nconst foo = new alicloud.ecs.Instance(\"foo\", {\n vswitchId: defaultSwitch.id,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n});\nconst role = new alicloud.ram.Role(\"role\", {\n name: \"terraform-example\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n\n`,\n description: \"this is a test\",\n force: true,\n});\nconst attach = new alicloud.ram.RoleAttachment(\"attach\", {\n roleName: role.name,\n instanceIds: [foo].map(__item =\u003e __item.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"ecsInstanceVPCExample\"\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n security_group_name=name,\n vpc_id=default_network.id)\ndefault_security_group_rule = alicloud.ecs.SecurityGroupRule(\"default\",\n type=\"ingress\",\n ip_protocol=\"tcp\",\n nic_type=\"intranet\",\n policy=\"accept\",\n port_range=\"22/22\",\n priority=1,\n security_group_id=default_security_group.id,\n cidr_ip=\"172.16.0.0/24\")\nfoo = alicloud.ecs.Instance(\"foo\",\n vswitch_id=default_switch.id,\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[default_security_group.id],\n instance_name=name)\nrole = alicloud.ram.Role(\"role\",\n name=\"terraform-example\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n\"\"\",\n description=\"this is a test\",\n force=True)\nattach = alicloud.ram.RoleAttachment(\"attach\",\n role_name=role.name,\n instance_ids=[__item.id for __item in [foo]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"ecsInstanceVPCExample\";\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n SecurityGroupName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule(\"default\", new()\n {\n Type = \"ingress\",\n IpProtocol = \"tcp\",\n NicType = \"intranet\",\n Policy = \"accept\",\n PortRange = \"22/22\",\n Priority = 1,\n SecurityGroupId = defaultSecurityGroup.Id,\n CidrIp = \"172.16.0.0/24\",\n });\n\n var foo = new AliCloud.Ecs.Instance(\"foo\", new()\n {\n VswitchId = defaultSwitch.Id,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n });\n\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = \"terraform-example\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\n\",\n Description = \"this is a test\",\n Force = true,\n });\n\n var attach = new AliCloud.Ram.RoleAttachment(\"attach\", new()\n {\n RoleName = role.Name,\n InstanceIds = new[]\n {\n foo,\n }.Select(__item =\u003e __item.Id).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(2),\nMemorySize: pulumi.Float64Ref(8),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ncfg := config.New(ctx, \"\")\nname := \"ecsInstanceVPCExample\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nSecurityGroupName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = ecs.NewSecurityGroupRule(ctx, \"default\", \u0026ecs.SecurityGroupRuleArgs{\nType: pulumi.String(\"ingress\"),\nIpProtocol: pulumi.String(\"tcp\"),\nNicType: pulumi.String(\"intranet\"),\nPolicy: pulumi.String(\"accept\"),\nPortRange: pulumi.String(\"22/22\"),\nPriority: pulumi.Int(1),\nSecurityGroupId: defaultSecurityGroup.ID(),\nCidrIp: pulumi.String(\"172.16.0.0/24\"),\n})\nif err != nil {\nreturn err\n}\nfoo, err := ecs.NewInstance(ctx, \"foo\", \u0026ecs.InstanceArgs{\nVswitchId: defaultSwitch.ID(),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(5),\nSecurityGroups: pulumi.StringArray{\ndefaultSecurityGroup.ID(),\n},\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nrole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\nName: pulumi.String(\"terraform-example\"),\nDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n`),\nDescription: pulumi.String(\"this is a test\"),\nForce: pulumi.Bool(true),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ram.NewRoleAttachment(ctx, \"attach\", \u0026ram.RoleAttachmentArgs{\nRoleName: role.Name,\nInstanceIds: splat0,\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroupRule;\nimport com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.ram.RoleAttachment;\nimport com.pulumi.alicloud.ram.RoleAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"ecsInstanceVPCExample\");\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .securityGroupName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultSecurityGroupRule = new SecurityGroupRule(\"defaultSecurityGroupRule\", SecurityGroupRuleArgs.builder()\n .type(\"ingress\")\n .ipProtocol(\"tcp\")\n .nicType(\"intranet\")\n .policy(\"accept\")\n .portRange(\"22/22\")\n .priority(1)\n .securityGroupId(defaultSecurityGroup.id())\n .cidrIp(\"172.16.0.0/24\")\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder()\n .vswitchId(defaultSwitch.id())\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"terraform-example\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\n \"\"\")\n .description(\"this is a test\")\n .force(true)\n .build());\n\n var attach = new RoleAttachment(\"attach\", RoleAttachmentArgs.builder()\n .roleName(role.name())\n .instanceIds(foo.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "instanceIds": { "type": "array", @@ -230365,7 +235544,7 @@ } }, "alicloud:ram/rolePolicyAttachment:RolePolicyAttachment": { - "description": "Provides a RAM Role Policy Attachment resource.\n\n\n\nFor information about RAM Role Policy Attachment and how to use it, see [What is Role Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToRole).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM Role Policy attachment.\nconst role = new alicloud.ram.Role(\"role\", {\n name: \"roleName\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"apigateway.aliyuncs.com\\\\\", \n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.RolePolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n roleName: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM Role Policy attachment.\nrole = alicloud.ram.Role(\"role\",\n name=\"roleName\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.RolePolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n role_name=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM Role Policy attachment.\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = \"roleName\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"apigateway.aliyuncs.com\\\"\", \n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.RolePolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n RoleName = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM Role Policy attachment.\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"roleName\"),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"attach\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tRoleName: role.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.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM Role Policy attachment.\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"roleName\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new RolePolicyAttachment(\"attach\", RolePolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .roleName(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM Role Policy attachment.\n role:\n type: alicloud:ram:Role\n properties:\n name: roleName\n document: \" {\\n \\\\\\\"Statement\\\\\\\": [\\n {\\n \\\\\\\"Action\\\\\\\": \\\\\\\"sts:AssumeRole\\\\\\\",\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\",\\n \\\\\\\"Principal\\\\\\\": {\\n \\\\\\\"Service\\\\\\\": [\\n \\\\\\\"apigateway.aliyuncs.com\\\\\\\", \\n \\\\\\\"ecs.aliyuncs.com\\\\\\\"\\n ]\\n }\\n }\\n ],\\n \\\\\\\"Version\\\\\\\": \\\\\\\"1\\\\\\\"\\n }\\n\"\n description: this is a role test.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:RolePolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n roleName: ${role.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Role Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/rolePolicyAttachment:RolePolicyAttachment example role:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003crole_name\u003e\n```\n\n", + "description": "Provides a RAM Role Policy Attachment resource.\n\n\n\nFor information about RAM Role Policy Attachment and how to use it, see [What is Role Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToRole).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM Role Policy attachment.\nconst role = new alicloud.ram.Role(\"role\", {\n name: \"roleName\",\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"apigateway.aliyuncs.com\\\\\", \n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.RolePolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n roleName: role.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM Role Policy attachment.\nrole = alicloud.ram.Role(\"role\",\n name=\"roleName\",\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.RolePolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n role_name=role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM Role Policy attachment.\n var role = new AliCloud.Ram.Role(\"role\", new()\n {\n Name = \"roleName\",\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"apigateway.aliyuncs.com\\\"\", \n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.RolePolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n RoleName = role.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM Role Policy attachment.\n\t\trole, err := ram.NewRole(ctx, \"role\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(\"roleName\"),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewRolePolicyAttachment(ctx, \"attach\", \u0026ram.RolePolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tRoleName: role.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.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.RolePolicyAttachment;\nimport com.pulumi.alicloud.ram.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM Role Policy attachment.\n var role = new Role(\"role\", RoleArgs.builder()\n .name(\"roleName\")\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"apigateway.aliyuncs.com\\\", \n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new RolePolicyAttachment(\"attach\", RolePolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .roleName(role.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM Role Policy attachment.\n role:\n type: alicloud:ram:Role\n properties:\n name: roleName\n document: \" {\\n \\\\\\\"Statement\\\\\\\": [\\n {\\n \\\\\\\"Action\\\\\\\": \\\\\\\"sts:AssumeRole\\\\\\\",\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\",\\n \\\\\\\"Principal\\\\\\\": {\\n \\\\\\\"Service\\\\\\\": [\\n \\\\\\\"apigateway.aliyuncs.com\\\\\\\", \\n \\\\\\\"ecs.aliyuncs.com\\\\\\\"\\n ]\\n }\\n }\\n ],\\n \\\\\\\"Version\\\\\\\": \\\\\\\"1\\\\\\\"\\n }\\n\"\n description: this is a role test.\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:RolePolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n roleName: ${role.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Role Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/rolePolicyAttachment:RolePolicyAttachment example role:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003crole_name\u003e\n```\n\n", "properties": { "policyName": { "type": "string", @@ -230430,7 +235609,7 @@ } }, "alicloud:ram/samlProvider:SamlProvider": { - "description": "Provides a RAM Saml Provider resource.\n\n\n\nFor information about RAM Saml Provider and how to use it, see [What is Saml Provider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createsamlprovider).\n\n\u003e **NOTE:** Available since v1.114.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ram.SamlProvider(\"example\", {\n samlProviderName: \"terraform-example\",\n encodedsamlMetadataDocument: \" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\",\n description: \"For Terraform Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ram.SamlProvider(\"example\",\n saml_provider_name=\"terraform-example\",\n encodedsaml_metadata_document=\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\",\n description=\"For Terraform Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ram.SamlProvider(\"example\", new()\n {\n SamlProviderName = \"terraform-example\",\n EncodedsamlMetadataDocument = @\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n\",\n Description = \"For Terraform Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewSamlProvider(ctx, \"example\", \u0026ram.SamlProviderArgs{\n\t\t\tSamlProviderName: pulumi.String(\"terraform-example\"),\n\t\t\tEncodedsamlMetadataDocument: pulumi.String(\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\"),\n\t\t\tDescription: pulumi.String(\"For Terraform 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.alicloud.ram.SamlProvider;\nimport com.pulumi.alicloud.ram.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 SamlProvider(\"example\", SamlProviderArgs.builder()\n .samlProviderName(\"terraform-example\")\n .encodedsamlMetadataDocument(\"\"\"\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n \"\"\")\n .description(\"For Terraform Test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ram:SamlProvider\n properties:\n samlProviderName: terraform-example\n encodedsamlMetadataDocument: |2\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n description: For Terraform Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM Saml Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/samlProvider:SamlProvider example \u003cid\u003e\n```\n\n", + "description": "Provides a RAM Saml Provider resource.\n\n\n\nFor information about RAM Saml Provider and how to use it, see [What is Saml Provider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createsamlprovider).\n\n\u003e **NOTE:** Available since v1.114.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ram.SamlProvider(\"example\", {\n samlProviderName: \"terraform-example\",\n encodedsamlMetadataDocument: \" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\",\n description: \"For Terraform Test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ram.SamlProvider(\"example\",\n saml_provider_name=\"terraform-example\",\n encodedsaml_metadata_document=\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\",\n description=\"For Terraform Test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ram.SamlProvider(\"example\", new()\n {\n SamlProviderName = \"terraform-example\",\n EncodedsamlMetadataDocument = @\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n\",\n Description = \"For Terraform Test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ram.NewSamlProvider(ctx, \"example\", \u0026ram.SamlProviderArgs{\n\t\t\tSamlProviderName: pulumi.String(\"terraform-example\"),\n\t\t\tEncodedsamlMetadataDocument: pulumi.String(\" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\\n\"),\n\t\t\tDescription: pulumi.String(\"For Terraform 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.alicloud.ram.SamlProvider;\nimport com.pulumi.alicloud.ram.SamlProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 SamlProvider(\"example\", SamlProviderArgs.builder()\n .samlProviderName(\"terraform-example\")\n .encodedsamlMetadataDocument(\"\"\"\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n \"\"\")\n .description(\"For Terraform Test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ram:SamlProvider\n properties:\n samlProviderName: terraform-example\n encodedsamlMetadataDocument: |2\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bWQ6RW50aXR5RGVzY3JpcHRvciBlbnRpdHlJRD0iaHR0cDovL2V4YW1wbGUuYWxpeXVuLmNvbS9leGFtcGxlLWlkcCIgeG1sbnM6bWQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDptZXRhZGF0YSI+PG1kOklEUFNTT0Rlc2NyaXB0b3IgV2FudEF1dGhuUmVxdWVzdHNTaWduZWQ9ImZhbHNlIiBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOnByb3RvY29sIj48bWQ6S2V5RGVzY3JpcHRvciB1c2U9InNpZ25pbmciPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEL3pDQ0F1ZWdBd0lCQWdJRU1yb0tjakFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnREVuTUNVR0ExVUVBeE1lClFXeHBlWFZ1SUZKQlRTQkZlR0Z0Y0d4bElFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUxFd2RCYkdsaVlXSmgKTVJBd0RnWURWUVFLRXdkQmJHbGlZV0poTVJFd0R3WURWUVFIRXdoSVlXNW5XbWh2ZFRFUk1BOEdBMVVFQ0JNSQpXbWhsU21saGJtY3hDekFKQmdOVkJBWVRBa05PTUNBWERUSXpNVEl3TkRFeU1EY3dNRm9ZRHpJd05URXdOREl4Ck1USXdOekF3V2pDQmdERW5NQ1VHQTFVRUF4TWVRV3hwZVhWdUlGSkJUU0JGZUdGdGNHeGxJRU5sY25ScFptbGoKWVhSbE1SQXdEZ1lEVlFRTEV3ZEJiR2xpWVdKaE1SQXdEZ1lEVlFRS0V3ZEJiR2xpWVdKaE1SRXdEd1lEVlFRSApFd2hJWVc1bldtaHZkVEVSTUE4R0ExVUVDQk1JV21obFNtbGhibWN4Q3pBSkJnTlZCQVlUQWtOT01JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW9KVGVndWc0eXFaalNzQzFQUWpzbGxreUxWZHEKcXR0UGFqNmNOYldQdVFRNThSMkF4ZHNYeng4c05lOElLYUFYbW84azdDTFhDcXFLVzNjNEpzRWtTOUcva3B2NApJWFpBOGFVcDBCeXdQUFBocmFjUXd4cmJ5dkhja0dqVUpkNEZrOEVjbVVjNjRrSE5LbjBCaVJpL0NEZlM3MXBuCjh5T3dDNUZPSUlYWXhWMGtTTnNQMnozV2tBbFBXWm1sVkZSd1dxeHhGS2xCTjVpdVhaVHA4dk5rU2htVndBTW8KcjVpb2VBaFdXd0N1L0pvdUhLa3lnbVJnSDNhRjlSRlkrOGZ4NkMzR2hjZktISUszRTFBbVVtWlpjR3NDUCtxNApXeTBuSFp4QStaZEhTeE1OYUJPMm5JbkxJSHVDWHgza096eWpGV3dUaTVGSTlwdE5vNktBay9wRThRSURBUUFCCm8zMHdlekFQQmdOVkhSTUVDREFHQVFIL0FnRURNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdnckJnRUYKQlFjREFqQUxCZ05WSFE4RUJBTUNBb1F3SFFZRFZSMFJBUUgvQkJNd0VZSUpiRzlqWVd4b2IzTjBod1IvQUFBQgpNQjBHQTFVZERnUVdCQlQ2TXluMnJjMVhEQTZqQkZYWVBOYitGaldMVmpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DCkFRRUFoWHpUUzJJaHZjY3hzSVNzVVNFcldNNDJiQlZESHhTa05EemhPRmd0eGNtNUxuNHdjWXJvdkM3NHZxS1oKUWdQWmpGcWw3YUJTb1ZyNFdseWFaZlVBdHdNL3pZZytJbklUSVpBQ0dhM1VNK3h5V0NLSVhRNGpJVldnNG9QWQpxTStjNWllLzJFVlE0YmhObEQyL0lYZUVEZFd2TXMzdmFyRTFCUE5PQXJZZ2tZTmNER3lDSnA0ZmQ3d3ladWxhCllEZFFIWDdpdUJ1R0JOZFRBajlCUW5xaTJRcTc5RndMVTBrQkFvdUpVVVBPUjBpMGtwZ24vc2dSbHhvaHY1bHgKVTFwYVhtMEZRWHpUUDEvdjV5Y24wM3NVckFUekg2VkRpVlQ2N0NRQjR4MXJpOTFvUVRkWERXN1RvRkVhOGIrOApPdE8wZERMdDlnbCtNMkxYRzJTWnBZTkJoZz09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9tZDpLZXlEZXNjcmlwdG9yPjxtZDpOYW1lSURGb3JtYXQ+dXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4xOm5hbWVpZC1mb3JtYXQ6ZW1haWxBZGRyZXNzPC9tZDpOYW1lSURGb3JtYXQ+PG1kOk5hbWVJREZvcm1hdD51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bmFtZWlkLWZvcm1hdDpwZXJzaXN0ZW50PC9tZDpOYW1lSURGb3JtYXQ+PG1kOlNpbmdsZVNpZ25PblNlcnZpY2UgQmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48bWQ6U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVjdCIgTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmFsaXl1bi5jb20vZXhhbXBsZS1pZHAvc3NvL3NhbWwiLz48L21kOklEUFNTT0Rlc2NyaXB0b3I+PC9tZDpFbnRpdHlEZXNjcmlwdG9yPg==\n description: For Terraform Test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM Saml Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/samlProvider:SamlProvider example \u003cid\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -230685,7 +235864,7 @@ } }, "alicloud:ram/user:User": { - "description": "Provides a RAM User resource.\n\nFor information about RAM User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createuser).\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means release all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM user.\n\t\t_, err = ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/user:User example 123456789xxx\n```\n\n", + "description": "Provides a RAM User resource.\n\nFor information about RAM User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ram-2015-05-01-createuser).\n\n\u003e **NOTE:** When you want to destroy this resource forcefully(means release all the relationships associated with it automatically and then destroy it) without set \u003cspan pulumi-lang-nodejs=\"`force`\" pulumi-lang-dotnet=\"`Force`\" pulumi-lang-go=\"`force`\" pulumi-lang-python=\"`force`\" pulumi-lang-yaml=\"`force`\" pulumi-lang-java=\"`force`\"\u003e`force`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e at beginning, you need add `force = true` to configuration file and run `pulumi preview`, then you can delete resource forcefully.\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\n// Create a new RAM user.\nconst user = new alicloud.ram.User(\"user\", {\n name: `terraform-example-${_default.result}`,\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\n# Create a new RAM user.\nuser = alicloud.ram.User(\"user\",\n name=f\"terraform-example-{default['result']}\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n // Create a new RAM user.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new RAM user.\n\t\t_, err = ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n // Create a new RAM user.\n var user = new User(\"user\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n # Create a new RAM user.\n user:\n type: alicloud:ram:User\n properties:\n name: terraform-example-${default.result}\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM User can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/user:User example 123456789xxx\n```\n\n", "properties": { "comments": { "type": "string", @@ -230773,7 +235952,7 @@ } }, "alicloud:ram/userGroupAttachment:UserGroupAttachment": { - "description": "Provides a RAM User Group Attachment resource.\n\n\n\nFor information about RAM User Group Attachment and how to use it, see [What is User Group Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AddUserToGroup).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultUser = new alicloud.ram.User(\"default\", {\n name: `terraform-example-${_default.result}`,\n displayName: `terraform-example-${_default.result}`,\n});\nconst defaultGroup = new alicloud.ram.Group(\"default\", {name: `terraform-example-${_default.result}`});\nconst defaultUserGroupAttachment = new alicloud.ram.UserGroupAttachment(\"default\", {\n groupName: defaultGroup.id,\n userName: defaultUser.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_user = alicloud.ram.User(\"default\",\n name=f\"terraform-example-{default['result']}\",\n display_name=f\"terraform-example-{default['result']}\")\ndefault_group = alicloud.ram.Group(\"default\", name=f\"terraform-example-{default['result']}\")\ndefault_user_group_attachment = alicloud.ram.UserGroupAttachment(\"default\",\n group_name=default_group.id,\n user_name=default_user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultGroup = new AliCloud.Ram.Group(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultUserGroupAttachment = new AliCloud.Ram.UserGroupAttachment(\"default\", new()\n {\n GroupName = defaultGroup.Id,\n UserName = defaultUser.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGroup, err := ram.NewGroup(ctx, \"default\", \u0026ram.GroupArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewUserGroupAttachment(ctx, \"default\", \u0026ram.UserGroupAttachmentArgs{\n\t\t\tGroupName: defaultGroup.ID(),\n\t\t\tUserName: defaultUser.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.alicloud.ram.UserGroupAttachment;\nimport com.pulumi.alicloud.ram.UserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultUserGroupAttachment = new UserGroupAttachment(\"defaultUserGroupAttachment\", UserGroupAttachmentArgs.builder()\n .groupName(defaultGroup.id())\n .userName(defaultUser.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: terraform-example-${default.result}\n displayName: terraform-example-${default.result}\n defaultGroup:\n type: alicloud:ram:Group\n name: default\n properties:\n name: terraform-example-${default.result}\n defaultUserGroupAttachment:\n type: alicloud:ram:UserGroupAttachment\n name: default\n properties:\n groupName: ${defaultGroup.id}\n userName: ${defaultUser.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM User Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/userGroupAttachment:UserGroupAttachment example \u003cgroup_name\u003e:\u003cuser_name\u003e\n```\n\n", + "description": "Provides a RAM User Group Attachment resource.\n\n\n\nFor information about RAM User Group Attachment and how to use it, see [What is User Group Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AddUserToGroup).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultUser = new alicloud.ram.User(\"default\", {\n name: `terraform-example-${_default.result}`,\n displayName: `terraform-example-${_default.result}`,\n});\nconst defaultGroup = new alicloud.ram.Group(\"default\", {name: `terraform-example-${_default.result}`});\nconst defaultUserGroupAttachment = new alicloud.ram.UserGroupAttachment(\"default\", {\n groupName: defaultGroup.id,\n userName: defaultUser.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_user = alicloud.ram.User(\"default\",\n name=f\"terraform-example-{default['result']}\",\n display_name=f\"terraform-example-{default['result']}\")\ndefault_group = alicloud.ram.Group(\"default\", name=f\"terraform-example-{default['result']}\")\ndefault_user_group_attachment = alicloud.ram.UserGroupAttachment(\"default\",\n group_name=default_group.id,\n user_name=default_user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n DisplayName = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultGroup = new AliCloud.Ram.Group(\"default\", new()\n {\n Name = $\"terraform-example-{@default.Result}\",\n });\n\n var defaultUserGroupAttachment = new AliCloud.Ram.UserGroupAttachment(\"default\", new()\n {\n GroupName = defaultGroup.Id,\n UserName = defaultUser.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t\tDisplayName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGroup, err := ram.NewGroup(ctx, \"default\", \u0026ram.GroupArgs{\n\t\t\tName: pulumi.Sprintf(\"terraform-example-%v\", _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewUserGroupAttachment(ctx, \"default\", \u0026ram.UserGroupAttachmentArgs{\n\t\t\tGroupName: defaultGroup.ID(),\n\t\t\tUserName: defaultUser.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.ram.Group;\nimport com.pulumi.alicloud.ram.GroupArgs;\nimport com.pulumi.alicloud.ram.UserGroupAttachment;\nimport com.pulumi.alicloud.ram.UserGroupAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .displayName(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .name(String.format(\"terraform-example-%s\", default_.result()))\n .build());\n\n var defaultUserGroupAttachment = new UserGroupAttachment(\"defaultUserGroupAttachment\", UserGroupAttachmentArgs.builder()\n .groupName(defaultGroup.id())\n .userName(defaultUser.name())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: terraform-example-${default.result}\n displayName: terraform-example-${default.result}\n defaultGroup:\n type: alicloud:ram:Group\n name: default\n properties:\n name: terraform-example-${default.result}\n defaultUserGroupAttachment:\n type: alicloud:ram:UserGroupAttachment\n name: default\n properties:\n groupName: ${defaultGroup.id}\n userName: ${defaultUser.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM User Group Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/userGroupAttachment:UserGroupAttachment example \u003cgroup_name\u003e:\u003cuser_name\u003e\n```\n\n", "properties": { "groupName": { "type": "string", @@ -230822,7 +236001,7 @@ } }, "alicloud:ram/userPolicyAttachment:UserPolicyAttachment": { - "description": "Provides a RAM User Policy Attachment resource.\n\n\n\nFor information about RAM User Policy Attachment and how to use it, see [What is User Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToUser).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM User Policy attachment.\nconst user = new alicloud.ram.User(\"user\", {\n name: \"userName\",\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.UserPolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n userName: user.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM User Policy attachment.\nuser = alicloud.ram.User(\"user\",\n name=\"userName\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.UserPolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n user_name=user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM User Policy attachment.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = \"userName\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.UserPolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n UserName = user.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM User Policy attachment.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(\"userName\"),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewUserPolicyAttachment(ctx, \"attach\", \u0026ram.UserPolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tUserName: user.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.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.UserPolicyAttachment;\nimport com.pulumi.alicloud.ram.UserPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM User Policy attachment.\n var user = new User(\"user\", UserArgs.builder()\n .name(\"userName\")\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new UserPolicyAttachment(\"attach\", UserPolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .userName(user.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM User Policy attachment.\n user:\n type: alicloud:ram:User\n properties:\n name: userName\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:UserPolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n userName: ${user.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRAM User Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/userPolicyAttachment:UserPolicyAttachment example user:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003cuser_name\u003e\n```\n\n", + "description": "Provides a RAM User Policy Attachment resource.\n\n\n\nFor information about RAM User Policy Attachment and how to use it, see [What is User Policy Attachment](https://next.api.alibabacloud.com/document/Ram/2015-05-01/AttachPolicyToUser).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\n// Create a RAM User Policy attachment.\nconst user = new alicloud.ram.User(\"user\", {\n name: \"userName\",\n displayName: \"user_display_name\",\n mobile: \"86-18688888888\",\n email: \"hello.uuu@aaa.com\",\n comments: \"yoyoyo\",\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst policy = new alicloud.ram.Policy(\"policy\", {\n policyName: `tf-example-${_default.result}`,\n policyDocument: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": [\n \\\\\"oss:ListObjects\\\\\",\n \\\\\"oss:GetObject\\\\\"\n ],\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\n \\\\\"acs:oss:*:*:mybucket\\\\\",\n \\\\\"acs:oss:*:*:mybucket/*\\\\\"\n ]\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a policy test\",\n});\nconst attach = new alicloud.ram.UserPolicyAttachment(\"attach\", {\n policyName: policy.policyName,\n policyType: policy.type,\n userName: user.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\n# Create a RAM User Policy attachment.\nuser = alicloud.ram.User(\"user\",\n name=\"userName\",\n display_name=\"user_display_name\",\n mobile=\"86-18688888888\",\n email=\"hello.uuu@aaa.com\",\n comments=\"yoyoyo\")\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\npolicy = alicloud.ram.Policy(\"policy\",\n policy_name=f\"tf-example-{default['result']}\",\n policy_document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a policy test\")\nattach = alicloud.ram.UserPolicyAttachment(\"attach\",\n policy_name=policy.policy_name,\n policy_type=policy.type,\n user_name=user.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a RAM User Policy attachment.\n var user = new AliCloud.Ram.User(\"user\", new()\n {\n Name = \"userName\",\n DisplayName = \"user_display_name\",\n Mobile = \"86-18688888888\",\n Email = \"hello.uuu@aaa.com\",\n Comments = \"yoyoyo\",\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var policy = new AliCloud.Ram.Policy(\"policy\", new()\n {\n PolicyName = $\"tf-example-{@default.Result}\",\n PolicyDocument = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": [\n \\\"\"oss:ListObjects\\\"\",\n \\\"\"oss:GetObject\\\"\"\n ],\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\n \\\"\"acs:oss:*:*:mybucket\\\"\",\n \\\"\"acs:oss:*:*:mybucket/*\\\"\"\n ]\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a policy test\",\n });\n\n var attach = new AliCloud.Ram.UserPolicyAttachment(\"attach\", new()\n {\n PolicyName = policy.PolicyName,\n PolicyType = policy.Type,\n UserName = user.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a RAM User Policy attachment.\n\t\tuser, err := ram.NewUser(ctx, \"user\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(\"userName\"),\n\t\t\tDisplayName: pulumi.String(\"user_display_name\"),\n\t\t\tMobile: pulumi.String(\"86-18688888888\"),\n\t\t\tEmail: pulumi.String(\"hello.uuu@aaa.com\"),\n\t\t\tComments: pulumi.String(\"yoyoyo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := ram.NewPolicy(ctx, \"policy\", \u0026ram.PolicyArgs{\n\t\t\tPolicyName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a policy test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewUserPolicyAttachment(ctx, \"attach\", \u0026ram.UserPolicyAttachmentArgs{\n\t\t\tPolicyName: policy.PolicyName,\n\t\t\tPolicyType: policy.Type,\n\t\t\tUserName: user.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.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ram.Policy;\nimport com.pulumi.alicloud.ram.PolicyArgs;\nimport com.pulumi.alicloud.ram.UserPolicyAttachment;\nimport com.pulumi.alicloud.ram.UserPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a RAM User Policy attachment.\n var user = new User(\"user\", UserArgs.builder()\n .name(\"userName\")\n .displayName(\"user_display_name\")\n .mobile(\"86-18688888888\")\n .email(\"hello.uuu@aaa.com\")\n .comments(\"yoyoyo\")\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var policy = new Policy(\"policy\", PolicyArgs.builder()\n .policyName(String.format(\"tf-example-%s\", default_.result()))\n .policyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a policy test\")\n .build());\n\n var attach = new UserPolicyAttachment(\"attach\", UserPolicyAttachmentArgs.builder()\n .policyName(policy.policyName())\n .policyType(policy.type())\n .userName(user.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a RAM User Policy attachment.\n user:\n type: alicloud:ram:User\n properties:\n name: userName\n displayName: user_display_name\n mobile: 86-18688888888\n email: hello.uuu@aaa.com\n comments: yoyoyo\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n policy:\n type: alicloud:ram:Policy\n properties:\n policyName: tf-example-${default.result}\n policyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": [\n \\\"oss:ListObjects\\\",\n \\\"oss:GetObject\\\"\n ],\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\n \\\"acs:oss:*:*:mybucket\\\",\n \\\"acs:oss:*:*:mybucket/*\\\"\n ]\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a policy test\n attach:\n type: alicloud:ram:UserPolicyAttachment\n properties:\n policyName: ${policy.policyName}\n policyType: ${policy.type}\n userName: ${user.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRAM User Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ram/userPolicyAttachment:UserPolicyAttachment example user:\u003cpolicy_name\u003e:\u003cpolicy_type\u003e:\u003cuser_name\u003e\n```\n\n", "properties": { "policyName": { "type": "string", @@ -230887,7 +236066,7 @@ } }, "alicloud:rdc/organization:Organization": { - "description": "Provides a RDC Organization resource.\n\nFor information about RDC Organization and how to use it, see [What is Organization](https://www.alibabacloud.com/help/en/yunxiao/product-overview/what-is-cloud-effect).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.238.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rdc.Organization(\"example\", {\n organizationName: \"example_value\",\n source: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rdc.Organization(\"example\",\n organization_name=\"example_value\",\n source=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rdc.Organization(\"example\", new()\n {\n OrganizationName = \"example_value\",\n Source = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rdc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rdc.NewOrganization(ctx, \"example\", \u0026rdc.OrganizationArgs{\n\t\t\tOrganizationName: pulumi.String(\"example_value\"),\n\t\t\tSource: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rdc.Organization;\nimport com.pulumi.alicloud.rdc.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Organization(\"example\", OrganizationArgs.builder()\n .organizationName(\"example_value\")\n .source(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rdc:Organization\n properties:\n organizationName: example_value\n source: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDC Organization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rdc/organization:Organization example \u003cid\u003e\n```\n\n", + "description": "Provides a RDC Organization resource.\n\nFor information about RDC Organization and how to use it, see [What is Organization](https://www.alibabacloud.com/help/en/yunxiao/product-overview/what-is-cloud-effect).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.238.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rdc.Organization(\"example\", {\n organizationName: \"example_value\",\n source: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rdc.Organization(\"example\",\n organization_name=\"example_value\",\n source=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rdc.Organization(\"example\", new()\n {\n OrganizationName = \"example_value\",\n Source = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rdc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rdc.NewOrganization(ctx, \"example\", \u0026rdc.OrganizationArgs{\n\t\t\tOrganizationName: pulumi.String(\"example_value\"),\n\t\t\tSource: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rdc.Organization;\nimport com.pulumi.alicloud.rdc.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Organization(\"example\", OrganizationArgs.builder()\n .organizationName(\"example_value\")\n .source(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rdc:Organization\n properties:\n organizationName: example_value\n source: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDC Organization can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rdc/organization:Organization example \u003cid\u003e\n```\n\n", "properties": { "desiredMemberCount": { "type": "integer", @@ -230958,7 +236137,7 @@ } }, "alicloud:rds/account:Account": { - "description": "Provides an RDS account resource and used to manage databases.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.120.0`. Please use new resource alicloud_rds_account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst creation = config.get(\"creation\") || \"Rds\";\nconst name = config.get(\"name\") || \"dbaccountmysql\";\nconst _default = alicloud.getZones({\n availableResourceCreation: creation,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst account = new alicloud.rds.Account(\"account\", {\n instanceId: instance.id,\n name: \"tftestnormal\",\n password: \"Test12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"Rds\"\nname = config.get(\"name\")\nif name is None:\n name = \"dbaccountmysql\"\ndefault = alicloud.get_zones(available_resource_creation=creation)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\naccount = alicloud.rds.Account(\"account\",\n instance_id=instance.id,\n name=\"tftestnormal\",\n password=\"Test12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var creation = config.Get(\"creation\") ?? \"Rds\";\n var name = config.Get(\"name\") ?? \"dbaccountmysql\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = creation,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var account = new AliCloud.Rds.Account(\"account\", new()\n {\n InstanceId = instance.Id,\n Name = \"tftestnormal\",\n Password = \"Test12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcreation := \"Rds\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\tname := \"dbaccountmysql\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(creation),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccount(ctx, \"account\", \u0026rds.AccountArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName: pulumi.String(\"tftestnormal\"),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.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 creation = config.get(\"creation\").orElse(\"Rds\");\n final var name = config.get(\"name\").orElse(\"dbaccountmysql\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(creation)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var account = new Account(\"account\", AccountArgs.builder()\n .instanceId(instance.id())\n .name(\"tftestnormal\")\n .password(\"Test12345\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n creation:\n type: string\n default: Rds\n name:\n type: string\n default: dbaccountmysql\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n instance:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.s1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n account:\n type: alicloud:rds:Account\n properties:\n instanceId: ${instance.id}\n name: tftestnormal\n password: Test12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: ${creation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/account:Account example \"rm-12345:tf_account\"\n```\n\n", + "description": "Provides an RDS account resource and used to manage databases.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.120.0`. Please use new resource alicloud_rds_account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst creation = config.get(\"creation\") || \"Rds\";\nconst name = config.get(\"name\") || \"dbaccountmysql\";\nconst _default = alicloud.getZones({\n availableResourceCreation: creation,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst account = new alicloud.rds.Account(\"account\", {\n instanceId: instance.id,\n name: \"tftestnormal\",\n password: \"Test12345\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\ncreation = config.get(\"creation\")\nif creation is None:\n creation = \"Rds\"\nname = config.get(\"name\")\nif name is None:\n name = \"dbaccountmysql\"\ndefault = alicloud.get_zones(available_resource_creation=creation)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\naccount = alicloud.rds.Account(\"account\",\n instance_id=instance.id,\n name=\"tftestnormal\",\n password=\"Test12345\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var creation = config.Get(\"creation\") ?? \"Rds\";\n var name = config.Get(\"name\") ?? \"dbaccountmysql\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = creation,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var account = new AliCloud.Rds.Account(\"account\", new()\n {\n InstanceId = instance.Id,\n Name = \"tftestnormal\",\n Password = \"Test12345\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcreation := \"Rds\"\n\t\tif param := cfg.Get(\"creation\"); param != \"\" {\n\t\t\tcreation = param\n\t\t}\n\t\tname := \"dbaccountmysql\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(creation),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewAccount(ctx, \"account\", \u0026rds.AccountArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName: pulumi.String(\"tftestnormal\"),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.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 creation = config.get(\"creation\").orElse(\"Rds\");\n final var name = config.get(\"name\").orElse(\"dbaccountmysql\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(creation)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var account = new Account(\"account\", AccountArgs.builder()\n .instanceId(instance.id())\n .name(\"tftestnormal\")\n .password(\"Test12345\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n creation:\n type: string\n default: Rds\n name:\n type: string\n default: dbaccountmysql\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n instance:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.s1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n account:\n type: alicloud:rds:Account\n properties:\n instanceId: ${instance.id}\n name: tftestnormal\n password: Test12345\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: ${creation}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/account:Account example \"rm-12345:tf_account\"\n```\n\n", "properties": { "accountDescription": { "type": "string" @@ -230973,6 +236152,9 @@ "accountType": { "type": "string" }, + "checkPolicy": { + "type": "boolean" + }, "dbInstanceId": { "type": "string" }, @@ -231049,6 +236231,9 @@ "type": "string", "willReplaceOnChanges": true }, + "checkPolicy": { + "type": "boolean" + }, "dbInstanceId": { "type": "string", "willReplaceOnChanges": true @@ -231090,6 +236275,9 @@ "resetPermissionFlag": { "type": "boolean" }, + "status": { + "type": "string" + }, "type": { "type": "string", "description": "Privilege type of account. The SQLServer engine does not support create high privilege accounts.\n- Normal: Common privilege.\n- Super: High privilege.\n\nDefault to Normal.\n", @@ -231115,6 +236303,9 @@ "type": "string", "willReplaceOnChanges": true }, + "checkPolicy": { + "type": "boolean" + }, "dbInstanceId": { "type": "string", "willReplaceOnChanges": true @@ -231170,7 +236361,7 @@ } }, "alicloud:rds/accountPrivilege:AccountPrivilege": { - "description": "Provides an RDS account privilege resource and used to grant several database some access privilege. A database can be granted by multiple account, see [What is DB Account Privilege](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-grantaccountprivilege).\n\n\u003e **NOTE:** At present, a database can only have one database owner.\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst db: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n db.push(new alicloud.rds.Database(`db-${range.value}`, {\n instanceId: instance.id,\n name: `${name}_${range.value}`,\n description: \"from terraform\",\n }));\n}\nconst account = new alicloud.rds.Account(\"account\", {\n dbInstanceId: instance.id,\n accountName: \"tfexample\",\n accountPassword: \"Example12345\",\n accountDescription: \"from terraform\",\n});\nconst privilege = new alicloud.rds.AccountPrivilege(\"privilege\", {\n instanceId: instance.id,\n accountName: account.accountName,\n privilege: \"ReadOnly\",\n dbNames: db.map(__item =\u003e __item.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndb = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n db.append(alicloud.rds.Database(f\"db-{range['value']}\",\n instance_id=instance.id,\n name=f\"{name}_{range['value']}\",\n description=\"from terraform\"))\naccount = alicloud.rds.Account(\"account\",\n db_instance_id=instance.id,\n account_name=\"tfexample\",\n account_password=\"Example12345\",\n account_description=\"from terraform\")\nprivilege = alicloud.rds.AccountPrivilege(\"privilege\",\n instance_id=instance.id,\n account_name=account.account_name,\n privilege=\"ReadOnly\",\n db_names=[__item.name for __item in db])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var db = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n db.Add(new AliCloud.Rds.Database($\"db-{range.Value}\", new()\n {\n InstanceId = instance.Id,\n Name = $\"{name}_{range.Value}\",\n Description = \"from terraform\",\n }));\n }\n var account = new AliCloud.Rds.Account(\"account\", new()\n {\n DbInstanceId = instance.Id,\n AccountName = \"tfexample\",\n AccountPassword = \"Example12345\",\n AccountDescription = \"from terraform\",\n });\n\n var privilege = new AliCloud.Rds.AccountPrivilege(\"privilege\", new()\n {\n InstanceId = instance.Id,\n AccountName = account.AccountName,\n Privilege = \"ReadOnly\",\n DbNames = db.Select(__item =\u003e __item.Name).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar db []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"db-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: instance.ID(),\n\t\t\t\tName: pulumi.Sprintf(\"%v_%v\", name, val0),\n\t\t\t\tDescription: pulumi.String(\"from terraform\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdb = append(db, __res)\n\t\t}\n\t\taccount, err := rds.NewAccount(ctx, \"account\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: instance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexample\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountDescription: pulumi.String(\"from terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar splat0 pulumi.StringArray\n\t\tfor _, val0 := range db {\n\t\t\tsplat0 = append(splat0, val0.Name)\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"privilege\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAccountName: account.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadOnly\"),\n\t\t\tDbNames: splat0,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"db-\" + i, DatabaseArgs.builder()\n .instanceId(instance.id())\n .name(String.format(\"%s_%s\", name,range.value()))\n .description(\"from terraform\")\n .build());\n\n \n}\n var account = new Account(\"account\", AccountArgs.builder()\n .dbInstanceId(instance.id())\n .accountName(\"tfexample\")\n .accountPassword(\"Example12345\")\n .accountDescription(\"from terraform\")\n .build());\n\n var privilege = new AccountPrivilege(\"privilege\", AccountPrivilegeArgs.builder()\n .instanceId(instance.id())\n .accountName(account.accountName())\n .privilege(\"ReadOnly\")\n .dbNames(db.stream().map(element -\u003e element.name()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS account privilege can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/accountPrivilege:AccountPrivilege example \"rm-12345:tf_account:ReadOnly\"\n```\n\n", + "description": "Provides an RDS account privilege resource and used to grant several database some access privilege. A database can be granted by multiple account, see [What is DB Account Privilege](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-grantaccountprivilege).\n\n\u003e **NOTE:** At present, a database can only have one database owner.\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst db: alicloud.rds.Database[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n db.push(new alicloud.rds.Database(`db-${range.value}`, {\n instanceId: instance.id,\n name: `${name}_${range.value}`,\n description: \"from terraform\",\n }));\n}\nconst account = new alicloud.rds.Account(\"account\", {\n dbInstanceId: instance.id,\n accountName: \"tfexample\",\n accountPassword: \"Example12345\",\n accountDescription: \"from terraform\",\n});\nconst privilege = new alicloud.rds.AccountPrivilege(\"privilege\", {\n instanceId: instance.id,\n accountName: account.accountName,\n privilege: \"ReadOnly\",\n dbNames: db.map(__item =\u003e __item.name),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndb = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n db.append(alicloud.rds.Database(f\"db-{range['value']}\",\n instance_id=instance.id,\n name=f\"{name}_{range['value']}\",\n description=\"from terraform\"))\naccount = alicloud.rds.Account(\"account\",\n db_instance_id=instance.id,\n account_name=\"tfexample\",\n account_password=\"Example12345\",\n account_description=\"from terraform\")\nprivilege = alicloud.rds.AccountPrivilege(\"privilege\",\n instance_id=instance.id,\n account_name=account.account_name,\n privilege=\"ReadOnly\",\n db_names=[__item.name for __item in db])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var db = new List\u003cAliCloud.Rds.Database\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n db.Add(new AliCloud.Rds.Database($\"db-{range.Value}\", new()\n {\n InstanceId = instance.Id,\n Name = $\"{name}_{range.Value}\",\n Description = \"from terraform\",\n }));\n }\n var account = new AliCloud.Rds.Account(\"account\", new()\n {\n DbInstanceId = instance.Id,\n AccountName = \"tfexample\",\n AccountPassword = \"Example12345\",\n AccountDescription = \"from terraform\",\n });\n\n var privilege = new AliCloud.Rds.AccountPrivilege(\"privilege\", new()\n {\n InstanceId = instance.Id,\n AccountName = account.AccountName,\n Privilege = \"ReadOnly\",\n DbNames = db.Select(__item =\u003e __item.Name).ToList(),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar db []*rds.Database\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := rds.NewDatabase(ctx, fmt.Sprintf(\"db-%v\", key0), \u0026rds.DatabaseArgs{\n\t\t\t\tInstanceId: instance.ID(),\n\t\t\t\tName: pulumi.Sprintf(\"%v_%v\", name, val0),\n\t\t\t\tDescription: pulumi.String(\"from terraform\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdb = append(db, __res)\n\t\t}\n\t\taccount, err := rds.NewAccount(ctx, \"account\", \u0026rds.AccountArgs{\n\t\t\tDbInstanceId: instance.ID(),\n\t\t\tAccountName: pulumi.String(\"tfexample\"),\n\t\t\tAccountPassword: pulumi.String(\"Example12345\"),\n\t\t\tAccountDescription: pulumi.String(\"from terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar splat0 pulumi.StringArray\n\t\tfor _, val0 := range db {\n\t\t\tsplat0 = append(splat0, val0.Name)\n\t\t}\n\t\t_, err = rds.NewAccountPrivilege(ctx, \"privilege\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAccountName: account.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadOnly\"),\n\t\t\tDbNames: splat0,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.Account;\nimport com.pulumi.alicloud.rds.AccountArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Database(\"db-\" + i, DatabaseArgs.builder()\n .instanceId(instance.id())\n .name(String.format(\"%s_%s\", name,range.value()))\n .description(\"from terraform\")\n .build());\n\n \n}\n var account = new Account(\"account\", AccountArgs.builder()\n .dbInstanceId(instance.id())\n .accountName(\"tfexample\")\n .accountPassword(\"Example12345\")\n .accountDescription(\"from terraform\")\n .build());\n\n var privilege = new AccountPrivilege(\"privilege\", AccountPrivilegeArgs.builder()\n .instanceId(instance.id())\n .accountName(account.accountName())\n .privilege(\"ReadOnly\")\n .dbNames(db.stream().map(element -\u003e element.name()).collect(toList()))\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS account privilege can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/accountPrivilege:AccountPrivilege example \"rm-12345:tf_account:ReadOnly\"\n```\n\n", "properties": { "accountName": { "type": "string", @@ -231256,7 +236447,7 @@ } }, "alicloud:rds/backupPolicy:BackupPolicy": { - "description": "Provides an RDS instance backup policy resource and used to configure instance backup policy, see [What is DB Backup Policy](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-modifybackuppolicy).\n\n\n\u003e **NOTE:** Each DB instance has a backup policy and it will be set default values when destroying the resource.\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst policy = new alicloud.rds.BackupPolicy(\"policy\", {instanceId: instance.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\npolicy = alicloud.rds.BackupPolicy(\"policy\", instance_id=instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var policy = new AliCloud.Rds.BackupPolicy(\"policy\", new()\n {\n InstanceId = instance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewBackupPolicy(ctx, \"policy\", \u0026rds.BackupPolicyArgs{\n\t\t\tInstanceId: instance.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.BackupPolicy;\nimport com.pulumi.alicloud.rds.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var policy = new BackupPolicy(\"policy\", BackupPolicyArgs.builder()\n .instanceId(instance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n instance:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.s1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n policy:\n type: alicloud:rds:BackupPolicy\n properties:\n instanceId: ${instance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS backup policy can be imported using the id or instance id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/backupPolicy:BackupPolicy example \"rm-12345678\"\n```\n\n", + "description": "Provides an RDS instance backup policy resource and used to configure instance backup policy, see [What is DB Backup Policy](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-modifybackuppolicy).\n\n\n\u003e **NOTE:** Each DB instance has a backup policy and it will be set default values when destroying the resource.\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst instance = new alicloud.rds.Instance(\"instance\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst policy = new alicloud.rds.BackupPolicy(\"policy\", {instanceId: instance.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ninstance = alicloud.rds.Instance(\"instance\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\npolicy = alicloud.rds.BackupPolicy(\"policy\", instance_id=instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var instance = new AliCloud.Rds.Instance(\"instance\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var policy = new AliCloud.Rds.BackupPolicy(\"policy\", new()\n {\n InstanceId = instance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := rds.NewInstance(ctx, \"instance\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewBackupPolicy(ctx, \"policy\", \u0026rds.BackupPolicyArgs{\n\t\t\tInstanceId: instance.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.BackupPolicy;\nimport com.pulumi.alicloud.rds.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var instance = new Instance(\"instance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var policy = new BackupPolicy(\"policy\", BackupPolicyArgs.builder()\n .instanceId(instance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n instance:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.s1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n policy:\n type: alicloud:rds:BackupPolicy\n properties:\n instanceId: ${instance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS backup policy can be imported using the id or instance id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/backupPolicy:BackupPolicy example \"rm-12345678\"\n```\n\n", "properties": { "archiveBackupKeepCount": { "type": "integer", @@ -231643,7 +236834,7 @@ } }, "alicloud:rds/connection:Connection": { - "description": "Provides an RDS connection resource to allocate an Internet connection string for RDS instance, see [What is DB Connection](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-allocateinstancepublicconnection).\n\n\u003e **NOTE:** Each RDS instance will allocate a intranet connnection string automatically and its prifix is RDS instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n \n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultConnection = new alicloud.rds.Connection(\"default\", {\n instanceId: defaultInstance.id,\n connectionPrefix: \"testabc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_connection = alicloud.rds.Connection(\"default\",\n instance_id=default_instance.id,\n connection_prefix=\"testabc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultConnection = new AliCloud.Rds.Connection(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ConnectionPrefix = \"testabc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewConnection(ctx, \"default\", \u0026rds.ConnectionArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"testabc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Connection;\nimport com.pulumi.alicloud.rds.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .instanceId(defaultInstance.id())\n .connectionPrefix(\"testabc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n defaultConnection:\n type: alicloud:rds:Connection\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n connectionPrefix: testabc\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/connection:Connection example abc12345678\n```\n\n", + "description": "Provides an RDS connection resource to allocate an Internet connection string for RDS instance, see [What is DB Connection](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-allocateinstancepublicconnection).\n\n\u003e **NOTE:** Each RDS instance will allocate a intranet connnection string automatically and its prifix is RDS instance ID.\n To avoid unnecessary conflict, please specified a internet connection prefix before applying the resource.\n \n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultConnection = new alicloud.rds.Connection(\"default\", {\n instanceId: defaultInstance.id,\n connectionPrefix: \"testabc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_connection = alicloud.rds.Connection(\"default\",\n instance_id=default_instance.id,\n connection_prefix=\"testabc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultConnection = new AliCloud.Rds.Connection(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n ConnectionPrefix = \"testabc\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewConnection(ctx, \"default\", \u0026rds.ConnectionArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tConnectionPrefix: pulumi.String(\"testabc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Connection;\nimport com.pulumi.alicloud.rds.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .instanceId(defaultInstance.id())\n .connectionPrefix(\"testabc\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n defaultConnection:\n type: alicloud:rds:Connection\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n connectionPrefix: testabc\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/connection:Connection example abc12345678\n```\n\n", "properties": { "babelfishPort": { "type": "string", @@ -231734,7 +236925,7 @@ } }, "alicloud:rds/custom:Custom": { - "description": "Provides a RDS Custom resource.\n\nDedicated RDS User host.\n\nFor information about RDS Custom and how to use it, see [What is Custom](https://next.api.alibabacloud.com/document/Rds/2014-08-15/RunRCInstances).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst clusterId = config.get(\"clusterId\") || \"c18c40b2b336840e2b2bbf8ab291758e2\";\nconst deploymentsetid = config.get(\"deploymentsetid\") || \"ds-2ze78ef5kyj9eveue92m\";\nconst vswtich_id = config.get(\"vswtich-id\") || \"example_vswitch\";\nconst vpcName = config.get(\"vpcName\") || \"beijing111\";\nconst exampleRegionId = config.get(\"exampleRegionId\") || \"cn-beijing\";\nconst description = config.get(\"description\") || \"ran_1-08_rccreatenodepool_api\";\nconst exampleZoneId = config.get(\"exampleZoneId\") || \"cn-beijing-h\";\nconst securitygroupName = config.get(\"securitygroupName\") || \"rds_custom_init_sg_cn_beijing\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst vpcId = new alicloud.vpc.Network(\"vpcId\", {vpcName: vpcName});\nconst vSwitchId = new alicloud.vpc.Switch(\"vSwitchId\", {\n vpcId: vpcId.id,\n zoneId: exampleZoneId,\n vswitchName: vswtich_id,\n cidrBlock: \"172.16.5.0/24\",\n});\nconst securityGroupId = new alicloud.ecs.SecurityGroup(\"securityGroupId\", {\n vpcId: vpcId.id,\n securityGroupName: securitygroupName,\n});\nconst deploymentSet = new alicloud.ecs.EcsDeploymentSet(\"deploymentSet\", {});\nconst keyPairName = new alicloud.ecs.EcsKeyPair(\"KeyPairName\", {keyPairName: vSwitchId.id});\nconst defaultCustom = new alicloud.rds.Custom(\"default\", {\n amount: 1,\n autoRenew: false,\n period: 1,\n autoPay: true,\n instanceType: \"mysql.x2.xlarge.6cm\",\n dataDisks: [{\n category: \"cloud_essd\",\n size: 50,\n performanceLevel: \"PL1\",\n }],\n status: \"Running\",\n securityGroupIds: [securityGroupId.id],\n ioOptimized: \"optimized\",\n description: description,\n keyPairName: keyPairName.id,\n zoneId: exampleZoneId,\n instanceChargeType: \"Prepaid\",\n internetMaxBandwidthOut: 0,\n imageId: \"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n securityEnhancementStrategy: \"Active\",\n periodUnit: \"Month\",\n password: \"jingyiTEST@123\",\n systemDisk: {\n size: \"40\",\n category: \"cloud_essd\",\n },\n hostName: \"1743386110\",\n createMode: \"0\",\n spotStrategy: \"NoSpot\",\n vswitchId: vSwitchId.id,\n supportCase: \"eni\",\n deploymentSetId: deploymentsetid,\n dryRun: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncluster_id = config.get(\"clusterId\")\nif cluster_id is None:\n cluster_id = \"c18c40b2b336840e2b2bbf8ab291758e2\"\ndeploymentsetid = config.get(\"deploymentsetid\")\nif deploymentsetid is None:\n deploymentsetid = \"ds-2ze78ef5kyj9eveue92m\"\nvswtich_id = config.get(\"vswtich-id\")\nif vswtich_id is None:\n vswtich_id = \"example_vswitch\"\nvpc_name = config.get(\"vpcName\")\nif vpc_name is None:\n vpc_name = \"beijing111\"\nexample_region_id = config.get(\"exampleRegionId\")\nif example_region_id is None:\n example_region_id = \"cn-beijing\"\ndescription = config.get(\"description\")\nif description is None:\n description = \"ran_1-08_rccreatenodepool_api\"\nexample_zone_id = config.get(\"exampleZoneId\")\nif example_zone_id is None:\n example_zone_id = \"cn-beijing-h\"\nsecuritygroup_name = config.get(\"securitygroupName\")\nif securitygroup_name is None:\n securitygroup_name = \"rds_custom_init_sg_cn_beijing\"\ndefault = alicloud.resourcemanager.get_resource_groups()\nvpc_id = alicloud.vpc.Network(\"vpcId\", vpc_name=vpc_name)\nv_switch_id = alicloud.vpc.Switch(\"vSwitchId\",\n vpc_id=vpc_id.id,\n zone_id=example_zone_id,\n vswitch_name=vswtich_id,\n cidr_block=\"172.16.5.0/24\")\nsecurity_group_id = alicloud.ecs.SecurityGroup(\"securityGroupId\",\n vpc_id=vpc_id.id,\n security_group_name=securitygroup_name)\ndeployment_set = alicloud.ecs.EcsDeploymentSet(\"deploymentSet\")\nkey_pair_name = alicloud.ecs.EcsKeyPair(\"KeyPairName\", key_pair_name=v_switch_id.id)\ndefault_custom = alicloud.rds.Custom(\"default\",\n amount=1,\n auto_renew=False,\n period=1,\n auto_pay=True,\n instance_type=\"mysql.x2.xlarge.6cm\",\n data_disks=[{\n \"category\": \"cloud_essd\",\n \"size\": 50,\n \"performance_level\": \"PL1\",\n }],\n status=\"Running\",\n security_group_ids=[security_group_id.id],\n io_optimized=\"optimized\",\n description=description,\n key_pair_name=key_pair_name.id,\n zone_id=example_zone_id,\n instance_charge_type=\"Prepaid\",\n internet_max_bandwidth_out=0,\n image_id=\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n security_enhancement_strategy=\"Active\",\n period_unit=\"Month\",\n password=\"jingyiTEST@123\",\n system_disk={\n \"size\": \"40\",\n \"category\": \"cloud_essd\",\n },\n host_name=\"1743386110\",\n create_mode=\"0\",\n spot_strategy=\"NoSpot\",\n vswitch_id=v_switch_id.id,\n support_case=\"eni\",\n deployment_set_id=deploymentsetid,\n dry_run=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var clusterId = config.Get(\"clusterId\") ?? \"c18c40b2b336840e2b2bbf8ab291758e2\";\n var deploymentsetid = config.Get(\"deploymentsetid\") ?? \"ds-2ze78ef5kyj9eveue92m\";\n var vswtich_id = config.Get(\"vswtich-id\") ?? \"example_vswitch\";\n var vpcName = config.Get(\"vpcName\") ?? \"beijing111\";\n var exampleRegionId = config.Get(\"exampleRegionId\") ?? \"cn-beijing\";\n var description = config.Get(\"description\") ?? \"ran_1-08_rccreatenodepool_api\";\n var exampleZoneId = config.Get(\"exampleZoneId\") ?? \"cn-beijing-h\";\n var securitygroupName = config.Get(\"securitygroupName\") ?? \"rds_custom_init_sg_cn_beijing\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var vpcId = new AliCloud.Vpc.Network(\"vpcId\", new()\n {\n VpcName = vpcName,\n });\n\n var vSwitchId = new AliCloud.Vpc.Switch(\"vSwitchId\", new()\n {\n VpcId = vpcId.Id,\n ZoneId = exampleZoneId,\n VswitchName = vswtich_id,\n CidrBlock = \"172.16.5.0/24\",\n });\n\n var securityGroupId = new AliCloud.Ecs.SecurityGroup(\"securityGroupId\", new()\n {\n VpcId = vpcId.Id,\n SecurityGroupName = securitygroupName,\n });\n\n var deploymentSet = new AliCloud.Ecs.EcsDeploymentSet(\"deploymentSet\");\n\n var keyPairName = new AliCloud.Ecs.EcsKeyPair(\"KeyPairName\", new()\n {\n KeyPairName = vSwitchId.Id,\n });\n\n var defaultCustom = new AliCloud.Rds.Custom(\"default\", new()\n {\n Amount = 1,\n AutoRenew = false,\n Period = 1,\n AutoPay = true,\n InstanceType = \"mysql.x2.xlarge.6cm\",\n DataDisks = new[]\n {\n new AliCloud.Rds.Inputs.CustomDataDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 50,\n PerformanceLevel = \"PL1\",\n },\n },\n Status = \"Running\",\n SecurityGroupIds = new[]\n {\n securityGroupId.Id,\n },\n IoOptimized = \"optimized\",\n Description = description,\n KeyPairName = keyPairName.Id,\n ZoneId = exampleZoneId,\n InstanceChargeType = \"Prepaid\",\n InternetMaxBandwidthOut = 0,\n ImageId = \"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n SecurityEnhancementStrategy = \"Active\",\n PeriodUnit = \"Month\",\n Password = \"jingyiTEST@123\",\n SystemDisk = new AliCloud.Rds.Inputs.CustomSystemDiskArgs\n {\n Size = \"40\",\n Category = \"cloud_essd\",\n },\n HostName = \"1743386110\",\n CreateMode = \"0\",\n SpotStrategy = \"NoSpot\",\n VswitchId = vSwitchId.Id,\n SupportCase = \"eni\",\n DeploymentSetId = deploymentsetid,\n DryRun = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tclusterId := \"c18c40b2b336840e2b2bbf8ab291758e2\"\n\t\tif param := cfg.Get(\"clusterId\"); param != \"\" {\n\t\t\tclusterId = param\n\t\t}\n\t\tdeploymentsetid := \"ds-2ze78ef5kyj9eveue92m\"\n\t\tif param := cfg.Get(\"deploymentsetid\"); param != \"\" {\n\t\t\tdeploymentsetid = param\n\t\t}\n\t\tvswtich_id := \"example_vswitch\"\n\t\tif param := cfg.Get(\"vswtich-id\"); param != \"\" {\n\t\t\tvswtich_id = param\n\t\t}\n\t\tvpcName := \"beijing111\"\n\t\tif param := cfg.Get(\"vpcName\"); param != \"\" {\n\t\t\tvpcName = param\n\t\t}\n\t\texampleRegionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"exampleRegionId\"); param != \"\" {\n\t\t\texampleRegionId = param\n\t\t}\n\t\tdescription := \"ran_1-08_rccreatenodepool_api\"\n\t\tif param := cfg.Get(\"description\"); param != \"\" {\n\t\t\tdescription = param\n\t\t}\n\t\texampleZoneId := \"cn-beijing-h\"\n\t\tif param := cfg.Get(\"exampleZoneId\"); param != \"\" {\n\t\t\texampleZoneId = param\n\t\t}\n\t\tsecuritygroupName := \"rds_custom_init_sg_cn_beijing\"\n\t\tif param := cfg.Get(\"securitygroupName\"); param != \"\" {\n\t\t\tsecuritygroupName = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcId, err := vpc.NewNetwork(ctx, \"vpcId\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(vpcName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvSwitchId, err := vpc.NewSwitch(ctx, \"vSwitchId\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpcId.ID(),\n\t\t\tZoneId: pulumi.String(exampleZoneId),\n\t\t\tVswitchName: pulumi.String(vswtich_id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.5.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroupId, err := ecs.NewSecurityGroup(ctx, \"securityGroupId\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: vpcId.ID(),\n\t\t\tSecurityGroupName: pulumi.String(securitygroupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsDeploymentSet(ctx, \"deploymentSet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkeyPairName, err := ecs.NewEcsKeyPair(ctx, \"KeyPairName\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: vSwitchId.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustom(ctx, \"default\", \u0026rds.CustomArgs{\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tInstanceType: pulumi.String(\"mysql.x2.xlarge.6cm\"),\n\t\t\tDataDisks: rds.CustomDataDiskArray{\n\t\t\t\t\u0026rds.CustomDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\tSize: pulumi.Int(50),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroupId.ID(),\n\t\t\t},\n\t\t\tIoOptimized: pulumi.String(\"optimized\"),\n\t\t\tDescription: pulumi.String(description),\n\t\t\tKeyPairName: keyPairName.ID(),\n\t\t\tZoneId: pulumi.String(exampleZoneId),\n\t\t\tInstanceChargeType: pulumi.String(\"Prepaid\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(0),\n\t\t\tImageId: pulumi.String(\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tPassword: pulumi.String(\"jingyiTEST@123\"),\n\t\t\tSystemDisk: \u0026rds.CustomSystemDiskArgs{\n\t\t\t\tSize: pulumi.String(\"40\"),\n\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t},\n\t\t\tHostName: pulumi.String(\"1743386110\"),\n\t\t\tCreateMode: pulumi.String(\"0\"),\n\t\t\tSpotStrategy: pulumi.String(\"NoSpot\"),\n\t\t\tVswitchId: vSwitchId.ID(),\n\t\t\tSupportCase: pulumi.String(\"eni\"),\n\t\t\tDeploymentSetId: pulumi.String(deploymentsetid),\n\t\t\tDryRun: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsDeploymentSet;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.rds.Custom;\nimport com.pulumi.alicloud.rds.CustomArgs;\nimport com.pulumi.alicloud.rds.inputs.CustomDataDiskArgs;\nimport com.pulumi.alicloud.rds.inputs.CustomSystemDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var clusterId = config.get(\"clusterId\").orElse(\"c18c40b2b336840e2b2bbf8ab291758e2\");\n final var deploymentsetid = config.get(\"deploymentsetid\").orElse(\"ds-2ze78ef5kyj9eveue92m\");\n final var vswtich_id = config.get(\"vswtich-id\").orElse(\"example_vswitch\");\n final var vpcName = config.get(\"vpcName\").orElse(\"beijing111\");\n final var exampleRegionId = config.get(\"exampleRegionId\").orElse(\"cn-beijing\");\n final var description = config.get(\"description\").orElse(\"ran_1-08_rccreatenodepool_api\");\n final var exampleZoneId = config.get(\"exampleZoneId\").orElse(\"cn-beijing-h\");\n final var securitygroupName = config.get(\"securitygroupName\").orElse(\"rds_custom_init_sg_cn_beijing\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var vpcId = new Network(\"vpcId\", NetworkArgs.builder()\n .vpcName(vpcName)\n .build());\n\n var vSwitchId = new Switch(\"vSwitchId\", SwitchArgs.builder()\n .vpcId(vpcId.id())\n .zoneId(exampleZoneId)\n .vswitchName(vswtich_id)\n .cidrBlock(\"172.16.5.0/24\")\n .build());\n\n var securityGroupId = new SecurityGroup(\"securityGroupId\", SecurityGroupArgs.builder()\n .vpcId(vpcId.id())\n .securityGroupName(securitygroupName)\n .build());\n\n var deploymentSet = new EcsDeploymentSet(\"deploymentSet\");\n\n var keyPairName = new EcsKeyPair(\"keyPairName\", EcsKeyPairArgs.builder()\n .keyPairName(vSwitchId.id())\n .build());\n\n var defaultCustom = new Custom(\"defaultCustom\", CustomArgs.builder()\n .amount(1)\n .autoRenew(false)\n .period(1)\n .autoPay(true)\n .instanceType(\"mysql.x2.xlarge.6cm\")\n .dataDisks(CustomDataDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(50)\n .performanceLevel(\"PL1\")\n .build())\n .status(\"Running\")\n .securityGroupIds(securityGroupId.id())\n .ioOptimized(\"optimized\")\n .description(description)\n .keyPairName(keyPairName.id())\n .zoneId(exampleZoneId)\n .instanceChargeType(\"Prepaid\")\n .internetMaxBandwidthOut(0)\n .imageId(\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\")\n .securityEnhancementStrategy(\"Active\")\n .periodUnit(\"Month\")\n .password(\"jingyiTEST@123\")\n .systemDisk(CustomSystemDiskArgs.builder()\n .size(\"40\")\n .category(\"cloud_essd\")\n .build())\n .hostName(\"1743386110\")\n .createMode(\"0\")\n .spotStrategy(\"NoSpot\")\n .vswitchId(vSwitchId.id())\n .supportCase(\"eni\")\n .deploymentSetId(deploymentsetid)\n .dryRun(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n clusterId:\n type: string\n default: c18c40b2b336840e2b2bbf8ab291758e2\n deploymentsetid:\n type: string\n default: ds-2ze78ef5kyj9eveue92m\n vswtich-id:\n type: string\n default: example_vswitch\n vpcName:\n type: string\n default: beijing111\n exampleRegionId:\n type: string\n default: cn-beijing\n description:\n type: string\n default: ran_1-08_rccreatenodepool_api\n exampleZoneId:\n type: string\n default: cn-beijing-h\n securitygroupName:\n type: string\n default: rds_custom_init_sg_cn_beijing\nresources:\n vpcId:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${vpcName}\n vSwitchId:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpcId.id}\n zoneId: ${exampleZoneId}\n vswitchName: ${[\"vswtich-id\"]}\n cidrBlock: 172.16.5.0/24\n securityGroupId:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${vpcId.id}\n securityGroupName: ${securitygroupName}\n deploymentSet:\n type: alicloud:ecs:EcsDeploymentSet\n keyPairName:\n type: alicloud:ecs:EcsKeyPair\n name: KeyPairName\n properties:\n keyPairName: ${vSwitchId.id}\n defaultCustom:\n type: alicloud:rds:Custom\n name: default\n properties:\n amount: '1'\n autoRenew: false\n period: '1'\n autoPay: true\n instanceType: mysql.x2.xlarge.6cm\n dataDisks:\n - category: cloud_essd\n size: '50'\n performanceLevel: PL1\n status: Running\n securityGroupIds:\n - ${securityGroupId.id}\n ioOptimized: optimized\n description: ${description}\n keyPairName: ${keyPairName.id}\n zoneId: ${exampleZoneId}\n instanceChargeType: Prepaid\n internetMaxBandwidthOut: '0'\n imageId: aliyun_2_1903_x64_20G_alibase_20240628.vhd\n securityEnhancementStrategy: Active\n periodUnit: Month\n password: jingyiTEST@123\n systemDisk:\n size: '40'\n category: cloud_essd\n hostName: '1743386110'\n createMode: '0'\n spotStrategy: NoSpot\n vswitchId: ${vSwitchId.id}\n supportCase: eni\n deploymentSetId: ${deploymentsetid}\n dryRun: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Custom can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/custom:Custom example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS Custom resource.\n\nDedicated RDS User host.\n\nFor information about RDS Custom and how to use it, see [What is Custom](https://next.api.alibabacloud.com/document/Rds/2014-08-15/RunRCInstances).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst clusterId = config.get(\"clusterId\") || \"c18c40b2b336840e2b2bbf8ab291758e2\";\nconst deploymentsetid = config.get(\"deploymentsetid\") || \"ds-2ze78ef5kyj9eveue92m\";\nconst vswtich_id = config.get(\"vswtich-id\") || \"example_vswitch\";\nconst vpcName = config.get(\"vpcName\") || \"beijing111\";\nconst exampleRegionId = config.get(\"exampleRegionId\") || \"cn-beijing\";\nconst description = config.get(\"description\") || \"ran_1-08_rccreatenodepool_api\";\nconst exampleZoneId = config.get(\"exampleZoneId\") || \"cn-beijing-h\";\nconst securitygroupName = config.get(\"securitygroupName\") || \"rds_custom_init_sg_cn_beijing\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst vpcId = new alicloud.vpc.Network(\"vpcId\", {vpcName: vpcName});\nconst vSwitchId = new alicloud.vpc.Switch(\"vSwitchId\", {\n vpcId: vpcId.id,\n zoneId: exampleZoneId,\n vswitchName: vswtich_id,\n cidrBlock: \"172.16.5.0/24\",\n});\nconst securityGroupId = new alicloud.ecs.SecurityGroup(\"securityGroupId\", {\n vpcId: vpcId.id,\n securityGroupName: securitygroupName,\n});\nconst deploymentSet = new alicloud.ecs.EcsDeploymentSet(\"deploymentSet\", {});\nconst keyPairName = new alicloud.ecs.EcsKeyPair(\"KeyPairName\", {keyPairName: vSwitchId.id});\nconst defaultCustom = new alicloud.rds.Custom(\"default\", {\n amount: 1,\n autoRenew: false,\n period: 1,\n autoPay: true,\n instanceType: \"mysql.x2.xlarge.6cm\",\n dataDisks: [{\n category: \"cloud_essd\",\n size: 50,\n performanceLevel: \"PL1\",\n }],\n status: \"Running\",\n securityGroupIds: [securityGroupId.id],\n ioOptimized: \"optimized\",\n description: description,\n keyPairName: keyPairName.id,\n zoneId: exampleZoneId,\n instanceChargeType: \"Prepaid\",\n internetMaxBandwidthOut: 0,\n imageId: \"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n securityEnhancementStrategy: \"Active\",\n periodUnit: \"Month\",\n password: \"jingyiTEST@123\",\n systemDisk: {\n size: \"40\",\n category: \"cloud_essd\",\n },\n hostName: \"1743386110\",\n createMode: \"0\",\n spotStrategy: \"NoSpot\",\n vswitchId: vSwitchId.id,\n supportCase: \"eni\",\n deploymentSetId: deploymentsetid,\n dryRun: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncluster_id = config.get(\"clusterId\")\nif cluster_id is None:\n cluster_id = \"c18c40b2b336840e2b2bbf8ab291758e2\"\ndeploymentsetid = config.get(\"deploymentsetid\")\nif deploymentsetid is None:\n deploymentsetid = \"ds-2ze78ef5kyj9eveue92m\"\nvswtich_id = config.get(\"vswtich-id\")\nif vswtich_id is None:\n vswtich_id = \"example_vswitch\"\nvpc_name = config.get(\"vpcName\")\nif vpc_name is None:\n vpc_name = \"beijing111\"\nexample_region_id = config.get(\"exampleRegionId\")\nif example_region_id is None:\n example_region_id = \"cn-beijing\"\ndescription = config.get(\"description\")\nif description is None:\n description = \"ran_1-08_rccreatenodepool_api\"\nexample_zone_id = config.get(\"exampleZoneId\")\nif example_zone_id is None:\n example_zone_id = \"cn-beijing-h\"\nsecuritygroup_name = config.get(\"securitygroupName\")\nif securitygroup_name is None:\n securitygroup_name = \"rds_custom_init_sg_cn_beijing\"\ndefault = alicloud.resourcemanager.get_resource_groups()\nvpc_id = alicloud.vpc.Network(\"vpcId\", vpc_name=vpc_name)\nv_switch_id = alicloud.vpc.Switch(\"vSwitchId\",\n vpc_id=vpc_id.id,\n zone_id=example_zone_id,\n vswitch_name=vswtich_id,\n cidr_block=\"172.16.5.0/24\")\nsecurity_group_id = alicloud.ecs.SecurityGroup(\"securityGroupId\",\n vpc_id=vpc_id.id,\n security_group_name=securitygroup_name)\ndeployment_set = alicloud.ecs.EcsDeploymentSet(\"deploymentSet\")\nkey_pair_name = alicloud.ecs.EcsKeyPair(\"KeyPairName\", key_pair_name=v_switch_id.id)\ndefault_custom = alicloud.rds.Custom(\"default\",\n amount=1,\n auto_renew=False,\n period=1,\n auto_pay=True,\n instance_type=\"mysql.x2.xlarge.6cm\",\n data_disks=[{\n \"category\": \"cloud_essd\",\n \"size\": 50,\n \"performance_level\": \"PL1\",\n }],\n status=\"Running\",\n security_group_ids=[security_group_id.id],\n io_optimized=\"optimized\",\n description=description,\n key_pair_name=key_pair_name.id,\n zone_id=example_zone_id,\n instance_charge_type=\"Prepaid\",\n internet_max_bandwidth_out=0,\n image_id=\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n security_enhancement_strategy=\"Active\",\n period_unit=\"Month\",\n password=\"jingyiTEST@123\",\n system_disk={\n \"size\": \"40\",\n \"category\": \"cloud_essd\",\n },\n host_name=\"1743386110\",\n create_mode=\"0\",\n spot_strategy=\"NoSpot\",\n vswitch_id=v_switch_id.id,\n support_case=\"eni\",\n deployment_set_id=deploymentsetid,\n dry_run=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var clusterId = config.Get(\"clusterId\") ?? \"c18c40b2b336840e2b2bbf8ab291758e2\";\n var deploymentsetid = config.Get(\"deploymentsetid\") ?? \"ds-2ze78ef5kyj9eveue92m\";\n var vswtich_id = config.Get(\"vswtich-id\") ?? \"example_vswitch\";\n var vpcName = config.Get(\"vpcName\") ?? \"beijing111\";\n var exampleRegionId = config.Get(\"exampleRegionId\") ?? \"cn-beijing\";\n var description = config.Get(\"description\") ?? \"ran_1-08_rccreatenodepool_api\";\n var exampleZoneId = config.Get(\"exampleZoneId\") ?? \"cn-beijing-h\";\n var securitygroupName = config.Get(\"securitygroupName\") ?? \"rds_custom_init_sg_cn_beijing\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var vpcId = new AliCloud.Vpc.Network(\"vpcId\", new()\n {\n VpcName = vpcName,\n });\n\n var vSwitchId = new AliCloud.Vpc.Switch(\"vSwitchId\", new()\n {\n VpcId = vpcId.Id,\n ZoneId = exampleZoneId,\n VswitchName = vswtich_id,\n CidrBlock = \"172.16.5.0/24\",\n });\n\n var securityGroupId = new AliCloud.Ecs.SecurityGroup(\"securityGroupId\", new()\n {\n VpcId = vpcId.Id,\n SecurityGroupName = securitygroupName,\n });\n\n var deploymentSet = new AliCloud.Ecs.EcsDeploymentSet(\"deploymentSet\");\n\n var keyPairName = new AliCloud.Ecs.EcsKeyPair(\"KeyPairName\", new()\n {\n KeyPairName = vSwitchId.Id,\n });\n\n var defaultCustom = new AliCloud.Rds.Custom(\"default\", new()\n {\n Amount = 1,\n AutoRenew = false,\n Period = 1,\n AutoPay = true,\n InstanceType = \"mysql.x2.xlarge.6cm\",\n DataDisks = new[]\n {\n new AliCloud.Rds.Inputs.CustomDataDiskArgs\n {\n Category = \"cloud_essd\",\n Size = 50,\n PerformanceLevel = \"PL1\",\n },\n },\n Status = \"Running\",\n SecurityGroupIds = new[]\n {\n securityGroupId.Id,\n },\n IoOptimized = \"optimized\",\n Description = description,\n KeyPairName = keyPairName.Id,\n ZoneId = exampleZoneId,\n InstanceChargeType = \"Prepaid\",\n InternetMaxBandwidthOut = 0,\n ImageId = \"aliyun_2_1903_x64_20G_alibase_20240628.vhd\",\n SecurityEnhancementStrategy = \"Active\",\n PeriodUnit = \"Month\",\n Password = \"jingyiTEST@123\",\n SystemDisk = new AliCloud.Rds.Inputs.CustomSystemDiskArgs\n {\n Size = \"40\",\n Category = \"cloud_essd\",\n },\n HostName = \"1743386110\",\n CreateMode = \"0\",\n SpotStrategy = \"NoSpot\",\n VswitchId = vSwitchId.Id,\n SupportCase = \"eni\",\n DeploymentSetId = deploymentsetid,\n DryRun = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tclusterId := \"c18c40b2b336840e2b2bbf8ab291758e2\"\n\t\tif param := cfg.Get(\"clusterId\"); param != \"\" {\n\t\t\tclusterId = param\n\t\t}\n\t\tdeploymentsetid := \"ds-2ze78ef5kyj9eveue92m\"\n\t\tif param := cfg.Get(\"deploymentsetid\"); param != \"\" {\n\t\t\tdeploymentsetid = param\n\t\t}\n\t\tvswtich_id := \"example_vswitch\"\n\t\tif param := cfg.Get(\"vswtich-id\"); param != \"\" {\n\t\t\tvswtich_id = param\n\t\t}\n\t\tvpcName := \"beijing111\"\n\t\tif param := cfg.Get(\"vpcName\"); param != \"\" {\n\t\t\tvpcName = param\n\t\t}\n\t\texampleRegionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"exampleRegionId\"); param != \"\" {\n\t\t\texampleRegionId = param\n\t\t}\n\t\tdescription := \"ran_1-08_rccreatenodepool_api\"\n\t\tif param := cfg.Get(\"description\"); param != \"\" {\n\t\t\tdescription = param\n\t\t}\n\t\texampleZoneId := \"cn-beijing-h\"\n\t\tif param := cfg.Get(\"exampleZoneId\"); param != \"\" {\n\t\t\texampleZoneId = param\n\t\t}\n\t\tsecuritygroupName := \"rds_custom_init_sg_cn_beijing\"\n\t\tif param := cfg.Get(\"securitygroupName\"); param != \"\" {\n\t\t\tsecuritygroupName = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcId, err := vpc.NewNetwork(ctx, \"vpcId\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(vpcName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvSwitchId, err := vpc.NewSwitch(ctx, \"vSwitchId\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpcId.ID(),\n\t\t\tZoneId: pulumi.String(exampleZoneId),\n\t\t\tVswitchName: pulumi.String(vswtich_id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.5.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecurityGroupId, err := ecs.NewSecurityGroup(ctx, \"securityGroupId\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: vpcId.ID(),\n\t\t\tSecurityGroupName: pulumi.String(securitygroupName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEcsDeploymentSet(ctx, \"deploymentSet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkeyPairName, err := ecs.NewEcsKeyPair(ctx, \"KeyPairName\", \u0026ecs.EcsKeyPairArgs{\n\t\t\tKeyPairName: vSwitchId.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCustom(ctx, \"default\", \u0026rds.CustomArgs{\n\t\t\tAmount: pulumi.Int(1),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tInstanceType: pulumi.String(\"mysql.x2.xlarge.6cm\"),\n\t\t\tDataDisks: rds.CustomDataDiskArray{\n\t\t\t\t\u0026rds.CustomDataDiskArgs{\n\t\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t\t\tSize: pulumi.Int(50),\n\t\t\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"Running\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsecurityGroupId.ID(),\n\t\t\t},\n\t\t\tIoOptimized: pulumi.String(\"optimized\"),\n\t\t\tDescription: pulumi.String(description),\n\t\t\tKeyPairName: keyPairName.ID(),\n\t\t\tZoneId: pulumi.String(exampleZoneId),\n\t\t\tInstanceChargeType: pulumi.String(\"Prepaid\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(0),\n\t\t\tImageId: pulumi.String(\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\"),\n\t\t\tSecurityEnhancementStrategy: pulumi.String(\"Active\"),\n\t\t\tPeriodUnit: pulumi.String(\"Month\"),\n\t\t\tPassword: pulumi.String(\"jingyiTEST@123\"),\n\t\t\tSystemDisk: \u0026rds.CustomSystemDiskArgs{\n\t\t\t\tSize: pulumi.String(\"40\"),\n\t\t\t\tCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t},\n\t\t\tHostName: pulumi.String(\"1743386110\"),\n\t\t\tCreateMode: pulumi.String(\"0\"),\n\t\t\tSpotStrategy: pulumi.String(\"NoSpot\"),\n\t\t\tVswitchId: vSwitchId.ID(),\n\t\t\tSupportCase: pulumi.String(\"eni\"),\n\t\t\tDeploymentSetId: pulumi.String(deploymentsetid),\n\t\t\tDryRun: 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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsDeploymentSet;\nimport com.pulumi.alicloud.ecs.EcsKeyPair;\nimport com.pulumi.alicloud.ecs.EcsKeyPairArgs;\nimport com.pulumi.alicloud.rds.Custom;\nimport com.pulumi.alicloud.rds.CustomArgs;\nimport com.pulumi.alicloud.rds.inputs.CustomDataDiskArgs;\nimport com.pulumi.alicloud.rds.inputs.CustomSystemDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var clusterId = config.get(\"clusterId\").orElse(\"c18c40b2b336840e2b2bbf8ab291758e2\");\n final var deploymentsetid = config.get(\"deploymentsetid\").orElse(\"ds-2ze78ef5kyj9eveue92m\");\n final var vswtich_id = config.get(\"vswtich-id\").orElse(\"example_vswitch\");\n final var vpcName = config.get(\"vpcName\").orElse(\"beijing111\");\n final var exampleRegionId = config.get(\"exampleRegionId\").orElse(\"cn-beijing\");\n final var description = config.get(\"description\").orElse(\"ran_1-08_rccreatenodepool_api\");\n final var exampleZoneId = config.get(\"exampleZoneId\").orElse(\"cn-beijing-h\");\n final var securitygroupName = config.get(\"securitygroupName\").orElse(\"rds_custom_init_sg_cn_beijing\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var vpcId = new Network(\"vpcId\", NetworkArgs.builder()\n .vpcName(vpcName)\n .build());\n\n var vSwitchId = new Switch(\"vSwitchId\", SwitchArgs.builder()\n .vpcId(vpcId.id())\n .zoneId(exampleZoneId)\n .vswitchName(vswtich_id)\n .cidrBlock(\"172.16.5.0/24\")\n .build());\n\n var securityGroupId = new SecurityGroup(\"securityGroupId\", SecurityGroupArgs.builder()\n .vpcId(vpcId.id())\n .securityGroupName(securitygroupName)\n .build());\n\n var deploymentSet = new EcsDeploymentSet(\"deploymentSet\");\n\n var keyPairName = new EcsKeyPair(\"keyPairName\", EcsKeyPairArgs.builder()\n .keyPairName(vSwitchId.id())\n .build());\n\n var defaultCustom = new Custom(\"defaultCustom\", CustomArgs.builder()\n .amount(1)\n .autoRenew(false)\n .period(1)\n .autoPay(true)\n .instanceType(\"mysql.x2.xlarge.6cm\")\n .dataDisks(CustomDataDiskArgs.builder()\n .category(\"cloud_essd\")\n .size(50)\n .performanceLevel(\"PL1\")\n .build())\n .status(\"Running\")\n .securityGroupIds(securityGroupId.id())\n .ioOptimized(\"optimized\")\n .description(description)\n .keyPairName(keyPairName.id())\n .zoneId(exampleZoneId)\n .instanceChargeType(\"Prepaid\")\n .internetMaxBandwidthOut(0)\n .imageId(\"aliyun_2_1903_x64_20G_alibase_20240628.vhd\")\n .securityEnhancementStrategy(\"Active\")\n .periodUnit(\"Month\")\n .password(\"jingyiTEST@123\")\n .systemDisk(CustomSystemDiskArgs.builder()\n .size(\"40\")\n .category(\"cloud_essd\")\n .build())\n .hostName(\"1743386110\")\n .createMode(\"0\")\n .spotStrategy(\"NoSpot\")\n .vswitchId(vSwitchId.id())\n .supportCase(\"eni\")\n .deploymentSetId(deploymentsetid)\n .dryRun(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n clusterId:\n type: string\n default: c18c40b2b336840e2b2bbf8ab291758e2\n deploymentsetid:\n type: string\n default: ds-2ze78ef5kyj9eveue92m\n vswtich-id:\n type: string\n default: example_vswitch\n vpcName:\n type: string\n default: beijing111\n exampleRegionId:\n type: string\n default: cn-beijing\n description:\n type: string\n default: ran_1-08_rccreatenodepool_api\n exampleZoneId:\n type: string\n default: cn-beijing-h\n securitygroupName:\n type: string\n default: rds_custom_init_sg_cn_beijing\nresources:\n vpcId:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${vpcName}\n vSwitchId:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpcId.id}\n zoneId: ${exampleZoneId}\n vswitchName: ${[\"vswtich-id\"]}\n cidrBlock: 172.16.5.0/24\n securityGroupId:\n type: alicloud:ecs:SecurityGroup\n properties:\n vpcId: ${vpcId.id}\n securityGroupName: ${securitygroupName}\n deploymentSet:\n type: alicloud:ecs:EcsDeploymentSet\n keyPairName:\n type: alicloud:ecs:EcsKeyPair\n name: KeyPairName\n properties:\n keyPairName: ${vSwitchId.id}\n defaultCustom:\n type: alicloud:rds:Custom\n name: default\n properties:\n amount: '1'\n autoRenew: false\n period: '1'\n autoPay: true\n instanceType: mysql.x2.xlarge.6cm\n dataDisks:\n - category: cloud_essd\n size: '50'\n performanceLevel: PL1\n status: Running\n securityGroupIds:\n - ${securityGroupId.id}\n ioOptimized: optimized\n description: ${description}\n keyPairName: ${keyPairName.id}\n zoneId: ${exampleZoneId}\n instanceChargeType: Prepaid\n internetMaxBandwidthOut: '0'\n imageId: aliyun_2_1903_x64_20G_alibase_20240628.vhd\n securityEnhancementStrategy: Active\n periodUnit: Month\n password: jingyiTEST@123\n systemDisk:\n size: '40'\n category: cloud_essd\n hostName: '1743386110'\n createMode: '0'\n spotStrategy: NoSpot\n vswitchId: ${vSwitchId.id}\n supportCase: eni\n deploymentSetId: ${deploymentsetid}\n dryRun: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Custom can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/custom:Custom example \u003cid\u003e\n```\n\n", "properties": { "amount": { "type": "integer", @@ -232201,7 +237392,7 @@ } }, "alicloud:rds/customDeploymentSet:CustomDeploymentSet": { - "description": "Provides a RDS Custom Deployment Set resource.\n\nCustom Deployment set.\n\nFor information about RDS Custom Deployment Set and how to use it, see [What is Custom Deployment Set](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.235.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.rds.CustomDeploymentSet(\"default\", {\n onUnableToRedeployFailedInstance: \"CancelMembershipAndStart\",\n customDeploymentSetName: name,\n description: \"2024:11:19 1010:1111:0808\",\n groupCount: 3,\n strategy: \"Availability\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.rds.CustomDeploymentSet(\"default\",\n on_unable_to_redeploy_failed_instance=\"CancelMembershipAndStart\",\n custom_deployment_set_name=name,\n description=\"2024:11:19 1010:1111:0808\",\n group_count=3,\n strategy=\"Availability\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Rds.CustomDeploymentSet(\"default\", new()\n {\n OnUnableToRedeployFailedInstance = \"CancelMembershipAndStart\",\n CustomDeploymentSetName = name,\n Description = \"2024:11:19 1010:1111:0808\",\n GroupCount = 3,\n Strategy = \"Availability\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := rds.NewCustomDeploymentSet(ctx, \"default\", \u0026rds.CustomDeploymentSetArgs{\n\t\t\tOnUnableToRedeployFailedInstance: pulumi.String(\"CancelMembershipAndStart\"),\n\t\t\tCustomDeploymentSetName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"2024:11:19 1010:1111:0808\"),\n\t\t\tGroupCount: pulumi.Int(3),\n\t\t\tStrategy: pulumi.String(\"Availability\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.CustomDeploymentSet;\nimport com.pulumi.alicloud.rds.CustomDeploymentSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CustomDeploymentSet(\"default\", CustomDeploymentSetArgs.builder()\n .onUnableToRedeployFailedInstance(\"CancelMembershipAndStart\")\n .customDeploymentSetName(name)\n .description(\"2024:11:19 1010:1111:0808\")\n .groupCount(3)\n .strategy(\"Availability\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:rds:CustomDeploymentSet\n properties:\n onUnableToRedeployFailedInstance: CancelMembershipAndStart\n customDeploymentSetName: ${name}\n description: 2024:11:19 1010:1111:0808\n groupCount: '3'\n strategy: Availability\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Custom Deployment Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/customDeploymentSet:CustomDeploymentSet example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS Custom Deployment Set resource.\n\nCustom Deployment set.\n\nFor information about RDS Custom Deployment Set and how to use it, see [What is Custom Deployment Set](https://www.alibabacloud.com/help/en/).\n\n\u003e **NOTE:** Available since v1.235.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.rds.CustomDeploymentSet(\"default\", {\n onUnableToRedeployFailedInstance: \"CancelMembershipAndStart\",\n customDeploymentSetName: name,\n description: \"2024:11:19 1010:1111:0808\",\n groupCount: 3,\n strategy: \"Availability\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.rds.CustomDeploymentSet(\"default\",\n on_unable_to_redeploy_failed_instance=\"CancelMembershipAndStart\",\n custom_deployment_set_name=name,\n description=\"2024:11:19 1010:1111:0808\",\n group_count=3,\n strategy=\"Availability\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Rds.CustomDeploymentSet(\"default\", new()\n {\n OnUnableToRedeployFailedInstance = \"CancelMembershipAndStart\",\n CustomDeploymentSetName = name,\n Description = \"2024:11:19 1010:1111:0808\",\n GroupCount = 3,\n Strategy = \"Availability\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := rds.NewCustomDeploymentSet(ctx, \"default\", \u0026rds.CustomDeploymentSetArgs{\n\t\t\tOnUnableToRedeployFailedInstance: pulumi.String(\"CancelMembershipAndStart\"),\n\t\t\tCustomDeploymentSetName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"2024:11:19 1010:1111:0808\"),\n\t\t\tGroupCount: pulumi.Int(3),\n\t\t\tStrategy: pulumi.String(\"Availability\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.CustomDeploymentSet;\nimport com.pulumi.alicloud.rds.CustomDeploymentSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CustomDeploymentSet(\"default\", CustomDeploymentSetArgs.builder()\n .onUnableToRedeployFailedInstance(\"CancelMembershipAndStart\")\n .customDeploymentSetName(name)\n .description(\"2024:11:19 1010:1111:0808\")\n .groupCount(3)\n .strategy(\"Availability\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:rds:CustomDeploymentSet\n properties:\n onUnableToRedeployFailedInstance: CancelMembershipAndStart\n customDeploymentSetName: ${name}\n description: 2024:11:19 1010:1111:0808\n groupCount: '3'\n strategy: Availability\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Custom Deployment Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/customDeploymentSet:CustomDeploymentSet example \u003cid\u003e\n```\n\n", "properties": { "customDeploymentSetName": { "type": "string", @@ -232292,7 +237483,7 @@ } }, "alicloud:rds/customDisk:CustomDisk": { - "description": "Provides a RDS Custom Disk resource.\n\nRDS User dedicated host disk.\n\nFor information about RDS Custom Disk and how to use it, see [What is Custom Disk](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateRCDisk).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst _default = new alicloud.rds.CustomDisk(\"default\", {\n description: \"zcc测试用例\",\n zoneId: \"cn-beijing-i\",\n size: 40,\n performanceLevel: \"PL1\",\n instanceChargeType: \"Postpaid\",\n diskCategory: \"cloud_essd\",\n diskName: \"custom_disk_001\",\n autoRenew: false,\n period: 1,\n autoPay: true,\n periodUnit: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\ndefault = alicloud.rds.CustomDisk(\"default\",\n description=\"zcc测试用例\",\n zone_id=\"cn-beijing-i\",\n size=40,\n performance_level=\"PL1\",\n instance_charge_type=\"Postpaid\",\n disk_category=\"cloud_essd\",\n disk_name=\"custom_disk_001\",\n auto_renew=False,\n period=1,\n auto_pay=True,\n period_unit=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var @default = new AliCloud.Rds.CustomDisk(\"default\", new()\n {\n Description = \"zcc测试用例\",\n ZoneId = \"cn-beijing-i\",\n Size = 40,\n PerformanceLevel = \"PL1\",\n InstanceChargeType = \"Postpaid\",\n DiskCategory = \"cloud_essd\",\n DiskName = \"custom_disk_001\",\n AutoRenew = false,\n Period = 1,\n AutoPay = true,\n PeriodUnit = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\t_, err := rds.NewCustomDisk(ctx, \"default\", \u0026rds.CustomDiskArgs{\n\t\t\tDescription: pulumi.String(\"zcc测试用例\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDiskName: pulumi.String(\"custom_disk_001\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPeriodUnit: pulumi.String(\"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.alicloud.rds.CustomDisk;\nimport com.pulumi.alicloud.rds.CustomDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n var default_ = new CustomDisk(\"default\", CustomDiskArgs.builder()\n .description(\"zcc测试用例\")\n .zoneId(\"cn-beijing-i\")\n .size(40)\n .performanceLevel(\"PL1\")\n .instanceChargeType(\"Postpaid\")\n .diskCategory(\"cloud_essd\")\n .diskName(\"custom_disk_001\")\n .autoRenew(false)\n .period(1)\n .autoPay(true)\n .periodUnit(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\nresources:\n default:\n type: alicloud:rds:CustomDisk\n properties:\n description: zcc测试用例\n zoneId: cn-beijing-i\n size: '40'\n performanceLevel: PL1\n instanceChargeType: Postpaid\n diskCategory: cloud_essd\n diskName: custom_disk_001\n autoRenew: false\n period: '1'\n autoPay: true\n periodUnit: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Custom Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/customDisk:CustomDisk example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS Custom Disk resource.\n\nRDS User dedicated host disk.\n\nFor information about RDS Custom Disk and how to use it, see [What is Custom Disk](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateRCDisk).\n\n\u003e **NOTE:** Available since v1.247.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-beijing\";\nconst _default = new alicloud.rds.CustomDisk(\"default\", {\n description: \"zcc测试用例\",\n zoneId: \"cn-beijing-i\",\n size: 40,\n performanceLevel: \"PL1\",\n instanceChargeType: \"Postpaid\",\n diskCategory: \"cloud_essd\",\n diskName: \"custom_disk_001\",\n autoRenew: false,\n period: 1,\n autoPay: true,\n periodUnit: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-beijing\"\ndefault = alicloud.rds.CustomDisk(\"default\",\n description=\"zcc测试用例\",\n zone_id=\"cn-beijing-i\",\n size=40,\n performance_level=\"PL1\",\n instance_charge_type=\"Postpaid\",\n disk_category=\"cloud_essd\",\n disk_name=\"custom_disk_001\",\n auto_renew=False,\n period=1,\n auto_pay=True,\n period_unit=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-beijing\";\n var @default = new AliCloud.Rds.CustomDisk(\"default\", new()\n {\n Description = \"zcc测试用例\",\n ZoneId = \"cn-beijing-i\",\n Size = 40,\n PerformanceLevel = \"PL1\",\n InstanceChargeType = \"Postpaid\",\n DiskCategory = \"cloud_essd\",\n DiskName = \"custom_disk_001\",\n AutoRenew = false,\n Period = 1,\n AutoPay = true,\n PeriodUnit = \"1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-beijing\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\t_, err := rds.NewCustomDisk(ctx, \"default\", \u0026rds.CustomDiskArgs{\n\t\t\tDescription: pulumi.String(\"zcc测试用例\"),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-i\"),\n\t\t\tSize: pulumi.Int(40),\n\t\t\tPerformanceLevel: pulumi.String(\"PL1\"),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\tDiskName: pulumi.String(\"custom_disk_001\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tPeriodUnit: pulumi.String(\"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.alicloud.rds.CustomDisk;\nimport com.pulumi.alicloud.rds.CustomDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-beijing\");\n var default_ = new CustomDisk(\"default\", CustomDiskArgs.builder()\n .description(\"zcc测试用例\")\n .zoneId(\"cn-beijing-i\")\n .size(40)\n .performanceLevel(\"PL1\")\n .instanceChargeType(\"Postpaid\")\n .diskCategory(\"cloud_essd\")\n .diskName(\"custom_disk_001\")\n .autoRenew(false)\n .period(1)\n .autoPay(true)\n .periodUnit(\"1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-beijing\nresources:\n default:\n type: alicloud:rds:CustomDisk\n properties:\n description: zcc测试用例\n zoneId: cn-beijing-i\n size: '40'\n performanceLevel: PL1\n instanceChargeType: Postpaid\n diskCategory: cloud_essd\n diskName: custom_disk_001\n autoRenew: false\n period: '1'\n autoPay: true\n periodUnit: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Custom Disk can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/customDisk:CustomDisk example \u003cid\u003e\n```\n\n", "properties": { "autoPay": { "type": "boolean", @@ -232527,28 +237718,39 @@ } }, "alicloud:rds/database:Database": { - "description": "Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase).\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.s1.small\",\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.s1.small\",\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.s1.small\",\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.s1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tName: pulumi.String(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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.s1.small\")\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.s1.small\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/database:Database example \"rm-12345:tf_database\"\n```\n\n", + "description": "Provides a RDS Database resource.\n\nSupports creating a database under an instance.\n\nFor information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase).\n\n\u003e **NOTE:** Available since v1.5.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n instanceChargeType: \"Postpaid\",\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n dataBaseName: name,\n characterSet: \"utf8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n instance_charge_type=\"Postpaid\")\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n data_base_name=name,\n character_set=\"utf8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n InstanceChargeType = \"Postpaid\",\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n DataBaseName = name,\n CharacterSet = \"utf8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tDataBaseName: pulumi.String(name),\n\t\t\tCharacterSet: pulumi.String(\"utf8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .instanceChargeType(\"Postpaid\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .dataBaseName(name)\n .characterSet(\"utf8\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n instanceChargeType: Postpaid\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n dataBaseName: ${name}\n characterSet: utf8\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Database can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/database:Database example \u003cinstance_id\u003e:\u003cdata_base_name\u003e\n```\n\n", "properties": { "characterSet": { "type": "string", "description": "Character set. The value range is limited to the following:\n- MySQL: [ utf8, gbk, latin1, utf8mb4 ] \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n- SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]\n- PostgreSQL: Valid values for PostgreSQL databases: a value in the `character set,\u003cCollate\u003e,\u003cCtype\u003e` format. Example: `UTF8,C,en_US.utf8`.\n\u003e - Valid values for the character set : [ KOI8U, UTF8, WIN866, WIN874, WIN1250, WIN1251, WIN1252, WIN1253, WIN1254, WIN1255, WIN1256, WIN1257, WIN1258, EUC_CN, EUC_KR, EUC_TW, EUC_JP, EUC_JIS_2004, KOI8R, MULE_INTERNAL, LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN9, LATIN10, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, SQL_ASCII ]\n\u003e - Valid values for the Collate field: You can execute the `SELECT DISTINCT collname FROM pg_collation;` statement to obtain the field value. The default value is `C`.\n\u003e - Valid values for the Ctype field: You can execute the `SELECT DISTINCT collctype FROM pg_collation;` statement to obtain the field value. The default value is `en_US.utf8`.\n- MariaDB: [ utf8, gbk, latin1, utf8mb4 ]\n\nMore details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm)\n" }, + "dataBaseName": { + "type": "string", + "description": "The name of the database.\n\u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n" + }, "description": { "type": "string", - "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n\n\u003e **NOTE:** The value of \"name\" or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n" + "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" }, "instanceId": { "type": "string", - "description": "The Id of instance that can run database.\n" + "description": "The instance ID. You can call the DescribeDBInstances operation to query the instance ID.\n" }, "name": { "type": "string", - "description": "The name of the database. \n* \u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n" + "description": "The attribute has been deprecated from 1.267.0 and using \u003cspan pulumi-lang-nodejs=\"`dataBaseName`\" pulumi-lang-dotnet=\"`DataBaseName`\" pulumi-lang-go=\"`dataBaseName`\" pulumi-lang-python=\"`data_base_name`\" pulumi-lang-yaml=\"`dataBaseName`\" pulumi-lang-java=\"`dataBaseName`\"\u003e`data_base_name`\u003c/span\u003e instead.\n\u003e **NOTE:** The value of \u003cspan pulumi-lang-nodejs=\"\"dataBaseName\"\" pulumi-lang-dotnet=\"\"DataBaseName\"\" pulumi-lang-go=\"\"dataBaseName\"\" pulumi-lang-python=\"\"data_base_name\"\" pulumi-lang-yaml=\"\"dataBaseName\"\" pulumi-lang-java=\"\"dataBaseName\"\"\u003e\"data_base_name\"\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n", + "deprecationMessage": "Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead." + }, + "status": { + "type": "string", + "description": "The status of the resource\n" } }, "required": [ + "dataBaseName", "instanceId", - "name" + "name", + "status" ], "inputProperties": { "characterSet": { @@ -232556,18 +237758,24 @@ "description": "Character set. The value range is limited to the following:\n- MySQL: [ utf8, gbk, latin1, utf8mb4 ] \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n- SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]\n- PostgreSQL: Valid values for PostgreSQL databases: a value in the `character set,\u003cCollate\u003e,\u003cCtype\u003e` format. Example: `UTF8,C,en_US.utf8`.\n\u003e - Valid values for the character set : [ KOI8U, UTF8, WIN866, WIN874, WIN1250, WIN1251, WIN1252, WIN1253, WIN1254, WIN1255, WIN1256, WIN1257, WIN1258, EUC_CN, EUC_KR, EUC_TW, EUC_JP, EUC_JIS_2004, KOI8R, MULE_INTERNAL, LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN9, LATIN10, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, SQL_ASCII ]\n\u003e - Valid values for the Collate field: You can execute the `SELECT DISTINCT collname FROM pg_collation;` statement to obtain the field value. The default value is `C`.\n\u003e - Valid values for the Ctype field: You can execute the `SELECT DISTINCT collctype FROM pg_collation;` statement to obtain the field value. The default value is `en_US.utf8`.\n- MariaDB: [ utf8, gbk, latin1, utf8mb4 ]\n\nMore details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm)\n", "willReplaceOnChanges": true }, + "dataBaseName": { + "type": "string", + "description": "The name of the database.\n\u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n", + "willReplaceOnChanges": true + }, "description": { "type": "string", - "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n\n\u003e **NOTE:** The value of \"name\" or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n" + "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" }, "instanceId": { "type": "string", - "description": "The Id of instance that can run database.\n", + "description": "The instance ID. You can call the DescribeDBInstances operation to query the instance ID.\n", "willReplaceOnChanges": true }, "name": { "type": "string", - "description": "The name of the database. \n* \u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n", + "description": "The attribute has been deprecated from 1.267.0 and using \u003cspan pulumi-lang-nodejs=\"`dataBaseName`\" pulumi-lang-dotnet=\"`DataBaseName`\" pulumi-lang-go=\"`dataBaseName`\" pulumi-lang-python=\"`data_base_name`\" pulumi-lang-yaml=\"`dataBaseName`\" pulumi-lang-java=\"`dataBaseName`\"\u003e`data_base_name`\u003c/span\u003e instead.\n\u003e **NOTE:** The value of \u003cspan pulumi-lang-nodejs=\"\"dataBaseName\"\" pulumi-lang-dotnet=\"\"DataBaseName\"\" pulumi-lang-go=\"\"dataBaseName\"\" pulumi-lang-python=\"\"data_base_name\"\" pulumi-lang-yaml=\"\"dataBaseName\"\" pulumi-lang-java=\"\"dataBaseName\"\"\u003e\"data_base_name\"\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n", + "deprecationMessage": "Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.", "willReplaceOnChanges": true } }, @@ -232582,26 +237790,36 @@ "description": "Character set. The value range is limited to the following:\n- MySQL: [ utf8, gbk, latin1, utf8mb4 ] \\(\u003cspan pulumi-lang-nodejs=\"`utf8mb4`\" pulumi-lang-dotnet=\"`Utf8mb4`\" pulumi-lang-go=\"`utf8mb4`\" pulumi-lang-python=\"`utf8mb4`\" pulumi-lang-yaml=\"`utf8mb4`\" pulumi-lang-java=\"`utf8mb4`\"\u003e`utf8mb4`\u003c/span\u003e only supports versions 5.5 and 5.6\\).\n- SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]\n- PostgreSQL: Valid values for PostgreSQL databases: a value in the `character set,\u003cCollate\u003e,\u003cCtype\u003e` format. Example: `UTF8,C,en_US.utf8`.\n\u003e - Valid values for the character set : [ KOI8U, UTF8, WIN866, WIN874, WIN1250, WIN1251, WIN1252, WIN1253, WIN1254, WIN1255, WIN1256, WIN1257, WIN1258, EUC_CN, EUC_KR, EUC_TW, EUC_JP, EUC_JIS_2004, KOI8R, MULE_INTERNAL, LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN9, LATIN10, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, SQL_ASCII ]\n\u003e - Valid values for the Collate field: You can execute the `SELECT DISTINCT collname FROM pg_collation;` statement to obtain the field value. The default value is `C`.\n\u003e - Valid values for the Ctype field: You can execute the `SELECT DISTINCT collctype FROM pg_collation;` statement to obtain the field value. The default value is `en_US.utf8`.\n- MariaDB: [ utf8, gbk, latin1, utf8mb4 ]\n\nMore details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm)\n", "willReplaceOnChanges": true }, + "dataBaseName": { + "type": "string", + "description": "The name of the database.\n\u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n", + "willReplaceOnChanges": true + }, "description": { "type": "string", - "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n\n\u003e **NOTE:** The value of \"name\" or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n" + "description": "Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.\n" }, "instanceId": { "type": "string", - "description": "The Id of instance that can run database.\n", + "description": "The instance ID. You can call the DescribeDBInstances operation to query the instance ID.\n", "willReplaceOnChanges": true }, "name": { "type": "string", - "description": "The name of the database. \n* \u003e **NOTE:**\nThe name must be 2 to 64 characters in length.\nThe name must start with a lowercase letter and end with a lowercase letter or digit.\nThe name can contain lowercase letters, digits, underscores (_), and hyphens (-).\nThe name must be unique within the instance.\nFor more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p).\n", + "description": "The attribute has been deprecated from 1.267.0 and using \u003cspan pulumi-lang-nodejs=\"`dataBaseName`\" pulumi-lang-dotnet=\"`DataBaseName`\" pulumi-lang-go=\"`dataBaseName`\" pulumi-lang-python=\"`data_base_name`\" pulumi-lang-yaml=\"`dataBaseName`\" pulumi-lang-java=\"`dataBaseName`\"\u003e`data_base_name`\u003c/span\u003e instead.\n\u003e **NOTE:** The value of \u003cspan pulumi-lang-nodejs=\"\"dataBaseName\"\" pulumi-lang-dotnet=\"\"DataBaseName\"\" pulumi-lang-go=\"\"dataBaseName\"\" pulumi-lang-python=\"\"data_base_name\"\" pulumi-lang-yaml=\"\"dataBaseName\"\" pulumi-lang-java=\"\"dataBaseName\"\"\u003e\"data_base_name\"\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"\"characterSet\"\" pulumi-lang-dotnet=\"\"CharacterSet\"\" pulumi-lang-go=\"\"characterSet\"\" pulumi-lang-python=\"\"character_set\"\" pulumi-lang-yaml=\"\"characterSet\"\" pulumi-lang-java=\"\"characterSet\"\"\u003e\"character_set\"\u003c/span\u003e does not support modification.\n", + "deprecationMessage": "Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.", "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "The status of the resource\n" } }, "type": "object" } }, "alicloud:rds/dbInstanceEndpoint:DbInstanceEndpoint": { - "description": "Provide RDS cluster instance endpoint connection resources, see [What is RDS DB Instance Endpoint](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbinstanceendpoint).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\nconst defaultDbInstanceEndpoint = new alicloud.rds.DbInstanceEndpoint(\"default\", {\n dbInstanceId: defaultDbNode.dbInstanceId,\n vpcId: defaultNetwork.id,\n vswitchId: defaultInstance.vswitchId,\n connectionStringPrefix: \"example\",\n port: \"3306\",\n dbInstanceEndpointDescription: name,\n nodeItems: [{\n nodeId: defaultDbNode.nodeId,\n weight: 25,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\ndefault_db_instance_endpoint = alicloud.rds.DbInstanceEndpoint(\"default\",\n db_instance_id=default_db_node.db_instance_id,\n vpc_id=default_network.id,\n vswitch_id=default_instance.vswitch_id,\n connection_string_prefix=\"example\",\n port=\"3306\",\n db_instance_endpoint_description=name,\n node_items=[{\n \"node_id\": default_db_node.node_id,\n \"weight\": 25,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var defaultDbInstanceEndpoint = new AliCloud.Rds.DbInstanceEndpoint(\"default\", new()\n {\n DbInstanceId = defaultDbNode.DbInstanceId,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultInstance.VswitchId,\n ConnectionStringPrefix = \"example\",\n Port = \"3306\",\n DbInstanceEndpointDescription = name,\n NodeItems = new[]\n {\n new AliCloud.Rds.Inputs.DbInstanceEndpointNodeItemArgs\n {\n NodeId = defaultDbNode.NodeId,\n Weight = 25,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbNode, err := rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDbInstanceEndpoint(ctx, \"default\", \u0026rds.DbInstanceEndpointArgs{\n\t\t\tDbInstanceId: defaultDbNode.DbInstanceId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t\tDbInstanceEndpointDescription: pulumi.String(name),\n\t\t\tNodeItems: rds.DbInstanceEndpointNodeItemArray{\n\t\t\t\t\u0026rds.DbInstanceEndpointNodeItemArgs{\n\t\t\t\t\tNodeId: defaultDbNode.NodeId,\n\t\t\t\t\tWeight: pulumi.Int(25),\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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpoint;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointArgs;\nimport com.pulumi.alicloud.rds.inputs.DbInstanceEndpointNodeItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var defaultDbInstanceEndpoint = new DbInstanceEndpoint(\"defaultDbInstanceEndpoint\", DbInstanceEndpointArgs.builder()\n .dbInstanceId(defaultDbNode.dbInstanceId())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultInstance.vswitchId())\n .connectionStringPrefix(\"example\")\n .port(\"3306\")\n .dbInstanceEndpointDescription(name)\n .nodeItems(DbInstanceEndpointNodeItemArgs.builder()\n .nodeId(defaultDbNode.nodeId())\n .weight(25)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\n defaultDbInstanceEndpoint:\n type: alicloud:rds:DbInstanceEndpoint\n name: default\n properties:\n dbInstanceId: ${defaultDbNode.dbInstanceId}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultInstance.vswitchId}\n connectionStringPrefix: example\n port: '3306'\n dbInstanceEndpointDescription: ${name}\n nodeItems:\n - nodeId: ${defaultDbNode.nodeId}\n weight: 25\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS database endpoint feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbInstanceEndpoint:DbInstanceEndpoint example \u003cdb_instance_id\u003e:\u003cdb_instance_endpoint_id\u003e\n```\n\n", + "description": "Provide RDS cluster instance endpoint connection resources, see [What is RDS DB Instance Endpoint](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbinstanceendpoint).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\nconst defaultDbInstanceEndpoint = new alicloud.rds.DbInstanceEndpoint(\"default\", {\n dbInstanceId: defaultDbNode.dbInstanceId,\n vpcId: defaultNetwork.id,\n vswitchId: defaultInstance.vswitchId,\n connectionStringPrefix: \"example\",\n port: \"3306\",\n dbInstanceEndpointDescription: name,\n nodeItems: [{\n nodeId: defaultDbNode.nodeId,\n weight: 25,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\ndefault_db_instance_endpoint = alicloud.rds.DbInstanceEndpoint(\"default\",\n db_instance_id=default_db_node.db_instance_id,\n vpc_id=default_network.id,\n vswitch_id=default_instance.vswitch_id,\n connection_string_prefix=\"example\",\n port=\"3306\",\n db_instance_endpoint_description=name,\n node_items=[{\n \"node_id\": default_db_node.node_id,\n \"weight\": 25,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var defaultDbInstanceEndpoint = new AliCloud.Rds.DbInstanceEndpoint(\"default\", new()\n {\n DbInstanceId = defaultDbNode.DbInstanceId,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultInstance.VswitchId,\n ConnectionStringPrefix = \"example\",\n Port = \"3306\",\n DbInstanceEndpointDescription = name,\n NodeItems = new[]\n {\n new AliCloud.Rds.Inputs.DbInstanceEndpointNodeItemArgs\n {\n NodeId = defaultDbNode.NodeId,\n Weight = 25,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbNode, err := rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDbInstanceEndpoint(ctx, \"default\", \u0026rds.DbInstanceEndpointArgs{\n\t\t\tDbInstanceId: defaultDbNode.DbInstanceId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t\tDbInstanceEndpointDescription: pulumi.String(name),\n\t\t\tNodeItems: rds.DbInstanceEndpointNodeItemArray{\n\t\t\t\t\u0026rds.DbInstanceEndpointNodeItemArgs{\n\t\t\t\t\tNodeId: defaultDbNode.NodeId,\n\t\t\t\t\tWeight: pulumi.Int(25),\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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpoint;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointArgs;\nimport com.pulumi.alicloud.rds.inputs.DbInstanceEndpointNodeItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var defaultDbInstanceEndpoint = new DbInstanceEndpoint(\"defaultDbInstanceEndpoint\", DbInstanceEndpointArgs.builder()\n .dbInstanceId(defaultDbNode.dbInstanceId())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultInstance.vswitchId())\n .connectionStringPrefix(\"example\")\n .port(\"3306\")\n .dbInstanceEndpointDescription(name)\n .nodeItems(DbInstanceEndpointNodeItemArgs.builder()\n .nodeId(defaultDbNode.nodeId())\n .weight(25)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\n defaultDbInstanceEndpoint:\n type: alicloud:rds:DbInstanceEndpoint\n name: default\n properties:\n dbInstanceId: ${defaultDbNode.dbInstanceId}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultInstance.vswitchId}\n connectionStringPrefix: example\n port: '3306'\n dbInstanceEndpointDescription: ${name}\n nodeItems:\n - nodeId: ${defaultDbNode.nodeId}\n weight: 25\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS database endpoint feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbInstanceEndpoint:DbInstanceEndpoint example \u003cdb_instance_id\u003e:\u003cdb_instance_endpoint_id\u003e\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -232771,7 +237989,7 @@ } }, "alicloud:rds/dbInstanceEndpointAddress:DbInstanceEndpointAddress": { - "description": "Provide RDS cluster instance endpoint public connection resources.\n\nInformation about RDS MySQL cluster endpoint address and how to use it, see [What is RDS DB Instance Endpoint Address](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbinstanceendpointaddress).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\nconst defaultDbInstanceEndpoint = new alicloud.rds.DbInstanceEndpoint(\"default\", {\n dbInstanceId: defaultDbNode.dbInstanceId,\n vpcId: defaultNetwork.id,\n vswitchId: defaultInstance.vswitchId,\n connectionStringPrefix: \"example\",\n port: \"3306\",\n dbInstanceEndpointDescription: name,\n nodeItems: [{\n nodeId: defaultDbNode.nodeId,\n weight: 25,\n }],\n});\nconst defaultDbInstanceEndpointAddress = new alicloud.rds.DbInstanceEndpointAddress(\"default\", {\n dbInstanceId: defaultInstance.id,\n dbInstanceEndpointId: defaultDbInstanceEndpoint.dbInstanceEndpointId,\n connectionStringPrefix: \"tf-example-prefix\",\n port: \"3306\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\ndefault_db_instance_endpoint = alicloud.rds.DbInstanceEndpoint(\"default\",\n db_instance_id=default_db_node.db_instance_id,\n vpc_id=default_network.id,\n vswitch_id=default_instance.vswitch_id,\n connection_string_prefix=\"example\",\n port=\"3306\",\n db_instance_endpoint_description=name,\n node_items=[{\n \"node_id\": default_db_node.node_id,\n \"weight\": 25,\n }])\ndefault_db_instance_endpoint_address = alicloud.rds.DbInstanceEndpointAddress(\"default\",\n db_instance_id=default_instance.id,\n db_instance_endpoint_id=default_db_instance_endpoint.db_instance_endpoint_id,\n connection_string_prefix=\"tf-example-prefix\",\n port=\"3306\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var defaultDbInstanceEndpoint = new AliCloud.Rds.DbInstanceEndpoint(\"default\", new()\n {\n DbInstanceId = defaultDbNode.DbInstanceId,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultInstance.VswitchId,\n ConnectionStringPrefix = \"example\",\n Port = \"3306\",\n DbInstanceEndpointDescription = name,\n NodeItems = new[]\n {\n new AliCloud.Rds.Inputs.DbInstanceEndpointNodeItemArgs\n {\n NodeId = defaultDbNode.NodeId,\n Weight = 25,\n },\n },\n });\n\n var defaultDbInstanceEndpointAddress = new AliCloud.Rds.DbInstanceEndpointAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n DbInstanceEndpointId = defaultDbInstanceEndpoint.DbInstanceEndpointId,\n ConnectionStringPrefix = \"tf-example-prefix\",\n Port = \"3306\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbNode, err := rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbInstanceEndpoint, err := rds.NewDbInstanceEndpoint(ctx, \"default\", \u0026rds.DbInstanceEndpointArgs{\n\t\t\tDbInstanceId: defaultDbNode.DbInstanceId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t\tDbInstanceEndpointDescription: pulumi.String(name),\n\t\t\tNodeItems: rds.DbInstanceEndpointNodeItemArray{\n\t\t\t\t\u0026rds.DbInstanceEndpointNodeItemArgs{\n\t\t\t\t\tNodeId: defaultDbNode.NodeId,\n\t\t\t\t\tWeight: pulumi.Int(25),\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 = rds.NewDbInstanceEndpointAddress(ctx, \"default\", \u0026rds.DbInstanceEndpointAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tDbInstanceEndpointId: defaultDbInstanceEndpoint.DbInstanceEndpointId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"tf-example-prefix\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpoint;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointArgs;\nimport com.pulumi.alicloud.rds.inputs.DbInstanceEndpointNodeItemArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointAddress;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var defaultDbInstanceEndpoint = new DbInstanceEndpoint(\"defaultDbInstanceEndpoint\", DbInstanceEndpointArgs.builder()\n .dbInstanceId(defaultDbNode.dbInstanceId())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultInstance.vswitchId())\n .connectionStringPrefix(\"example\")\n .port(\"3306\")\n .dbInstanceEndpointDescription(name)\n .nodeItems(DbInstanceEndpointNodeItemArgs.builder()\n .nodeId(defaultDbNode.nodeId())\n .weight(25)\n .build())\n .build());\n\n var defaultDbInstanceEndpointAddress = new DbInstanceEndpointAddress(\"defaultDbInstanceEndpointAddress\", DbInstanceEndpointAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .dbInstanceEndpointId(defaultDbInstanceEndpoint.dbInstanceEndpointId())\n .connectionStringPrefix(\"tf-example-prefix\")\n .port(\"3306\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\n defaultDbInstanceEndpoint:\n type: alicloud:rds:DbInstanceEndpoint\n name: default\n properties:\n dbInstanceId: ${defaultDbNode.dbInstanceId}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultInstance.vswitchId}\n connectionStringPrefix: example\n port: '3306'\n dbInstanceEndpointDescription: ${name}\n nodeItems:\n - nodeId: ${defaultDbNode.nodeId}\n weight: 25\n defaultDbInstanceEndpointAddress:\n type: alicloud:rds:DbInstanceEndpointAddress\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n dbInstanceEndpointId: ${defaultDbInstanceEndpoint.dbInstanceEndpointId}\n connectionStringPrefix: tf-example-prefix\n port: '3306'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS database endpoint public address feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbInstanceEndpointAddress:DbInstanceEndpointAddress example \u003cdb_instance_id\u003e:\u003cdb_instance_endpoint_id\u003e\n```\n\n", + "description": "Provide RDS cluster instance endpoint public connection resources.\n\nInformation about RDS MySQL cluster endpoint address and how to use it, see [What is RDS DB Instance Endpoint Address](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbinstanceendpointaddress).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\nconst defaultDbInstanceEndpoint = new alicloud.rds.DbInstanceEndpoint(\"default\", {\n dbInstanceId: defaultDbNode.dbInstanceId,\n vpcId: defaultNetwork.id,\n vswitchId: defaultInstance.vswitchId,\n connectionStringPrefix: \"example\",\n port: \"3306\",\n dbInstanceEndpointDescription: name,\n nodeItems: [{\n nodeId: defaultDbNode.nodeId,\n weight: 25,\n }],\n});\nconst defaultDbInstanceEndpointAddress = new alicloud.rds.DbInstanceEndpointAddress(\"default\", {\n dbInstanceId: defaultInstance.id,\n dbInstanceEndpointId: defaultDbInstanceEndpoint.dbInstanceEndpointId,\n connectionStringPrefix: \"tf-example-prefix\",\n port: \"3306\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\ndefault_db_instance_endpoint = alicloud.rds.DbInstanceEndpoint(\"default\",\n db_instance_id=default_db_node.db_instance_id,\n vpc_id=default_network.id,\n vswitch_id=default_instance.vswitch_id,\n connection_string_prefix=\"example\",\n port=\"3306\",\n db_instance_endpoint_description=name,\n node_items=[{\n \"node_id\": default_db_node.node_id,\n \"weight\": 25,\n }])\ndefault_db_instance_endpoint_address = alicloud.rds.DbInstanceEndpointAddress(\"default\",\n db_instance_id=default_instance.id,\n db_instance_endpoint_id=default_db_instance_endpoint.db_instance_endpoint_id,\n connection_string_prefix=\"tf-example-prefix\",\n port=\"3306\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var defaultDbInstanceEndpoint = new AliCloud.Rds.DbInstanceEndpoint(\"default\", new()\n {\n DbInstanceId = defaultDbNode.DbInstanceId,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultInstance.VswitchId,\n ConnectionStringPrefix = \"example\",\n Port = \"3306\",\n DbInstanceEndpointDescription = name,\n NodeItems = new[]\n {\n new AliCloud.Rds.Inputs.DbInstanceEndpointNodeItemArgs\n {\n NodeId = defaultDbNode.NodeId,\n Weight = 25,\n },\n },\n });\n\n var defaultDbInstanceEndpointAddress = new AliCloud.Rds.DbInstanceEndpointAddress(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n DbInstanceEndpointId = defaultDbInstanceEndpoint.DbInstanceEndpointId,\n ConnectionStringPrefix = \"tf-example-prefix\",\n Port = \"3306\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbNode, err := rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbInstanceEndpoint, err := rds.NewDbInstanceEndpoint(ctx, \"default\", \u0026rds.DbInstanceEndpointArgs{\n\t\t\tDbInstanceId: defaultDbNode.DbInstanceId,\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"example\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t\tDbInstanceEndpointDescription: pulumi.String(name),\n\t\t\tNodeItems: rds.DbInstanceEndpointNodeItemArray{\n\t\t\t\t\u0026rds.DbInstanceEndpointNodeItemArgs{\n\t\t\t\t\tNodeId: defaultDbNode.NodeId,\n\t\t\t\t\tWeight: pulumi.Int(25),\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 = rds.NewDbInstanceEndpointAddress(ctx, \"default\", \u0026rds.DbInstanceEndpointAddressArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tDbInstanceEndpointId: defaultDbInstanceEndpoint.DbInstanceEndpointId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"tf-example-prefix\"),\n\t\t\tPort: pulumi.String(\"3306\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpoint;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointArgs;\nimport com.pulumi.alicloud.rds.inputs.DbInstanceEndpointNodeItemArgs;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointAddress;\nimport com.pulumi.alicloud.rds.DbInstanceEndpointAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var defaultDbInstanceEndpoint = new DbInstanceEndpoint(\"defaultDbInstanceEndpoint\", DbInstanceEndpointArgs.builder()\n .dbInstanceId(defaultDbNode.dbInstanceId())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultInstance.vswitchId())\n .connectionStringPrefix(\"example\")\n .port(\"3306\")\n .dbInstanceEndpointDescription(name)\n .nodeItems(DbInstanceEndpointNodeItemArgs.builder()\n .nodeId(defaultDbNode.nodeId())\n .weight(25)\n .build())\n .build());\n\n var defaultDbInstanceEndpointAddress = new DbInstanceEndpointAddress(\"defaultDbInstanceEndpointAddress\", DbInstanceEndpointAddressArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .dbInstanceEndpointId(defaultDbInstanceEndpoint.dbInstanceEndpointId())\n .connectionStringPrefix(\"tf-example-prefix\")\n .port(\"3306\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\n defaultDbInstanceEndpoint:\n type: alicloud:rds:DbInstanceEndpoint\n name: default\n properties:\n dbInstanceId: ${defaultDbNode.dbInstanceId}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultInstance.vswitchId}\n connectionStringPrefix: example\n port: '3306'\n dbInstanceEndpointDescription: ${name}\n nodeItems:\n - nodeId: ${defaultDbNode.nodeId}\n weight: 25\n defaultDbInstanceEndpointAddress:\n type: alicloud:rds:DbInstanceEndpointAddress\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n dbInstanceEndpointId: ${defaultDbInstanceEndpoint.dbInstanceEndpointId}\n connectionStringPrefix: tf-example-prefix\n port: '3306'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS database endpoint public address feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbInstanceEndpointAddress:DbInstanceEndpointAddress example \u003cdb_instance_id\u003e:\u003cdb_instance_endpoint_id\u003e\n```\n\n", "properties": { "connectionString": { "type": "string", @@ -232875,7 +238093,7 @@ } }, "alicloud:rds/dbNode:DbNode": { - "description": "Provide RDS cluster instance to increase node resources, see [What is RDS DB Node](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbnodes).\n\n\u003e **NOTE:** Available since v1.202.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS MySQL database cluster node agent function can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbNode:DbNode example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", + "description": "Provide RDS cluster instance to increase node resources, see [What is RDS DB Node](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdbnodes).\n\n\u003e **NOTE:** Available since v1.202.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"cluster\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n zoneIdSlaveA: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultDbNode = new alicloud.rds.DbNode(\"default\", {\n dbInstanceId: defaultInstance.id,\n classCode: defaultInstance.instanceType,\n zoneId: defaultSwitch.zoneId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"cluster\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id],\n zone_id=default.ids[0],\n zone_id_slave_a=default.ids[0])\ndefault_db_node = alicloud.rds.DbNode(\"default\",\n db_instance_id=default_instance.id,\n class_code=default_instance.instance_type,\n zone_id=default_switch.zone_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"cluster\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n ZoneIdSlaveA = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n });\n\n var defaultDbNode = new AliCloud.Rds.DbNode(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n ClassCode = defaultInstance.InstanceType,\n ZoneId = defaultSwitch.ZoneId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"cluster\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tZoneIdSlaveA: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewDbNode(ctx, \"default\", \u0026rds.DbNodeArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tClassCode: defaultInstance.InstanceType,\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.DbNode;\nimport com.pulumi.alicloud.rds.DbNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"cluster\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .zoneId(default_.ids()[0])\n .zoneIdSlaveA(default_.ids()[0])\n .build());\n\n var defaultDbNode = new DbNode(\"defaultDbNode\", DbNodeArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .classCode(defaultInstance.instanceType())\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n zoneId: ${default.ids[0]}\n zoneIdSlaveA: ${default.ids[0]}\n defaultDbNode:\n type: alicloud:rds:DbNode\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n classCode: ${defaultInstance.instanceType}\n zoneId: ${defaultSwitch.zoneId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: cluster\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n category: cluster\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS MySQL database cluster node agent function can be imported using id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbNode:DbNode example \u003cdb_instance_id\u003e:\u003cnode_id\u003e\n```\n\n", "properties": { "classCode": { "type": "string", @@ -232967,7 +238185,7 @@ } }, "alicloud:rds/dbProxyPublic:DbProxyPublic": { - "description": "Provides a RDS database proxy public network address resource.\n\n\n\nFor information about Resource AlicloudRdsDBProxyPublic and how to use it, see [What is proxy](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-createdbproxyendpointaddress).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.7\",\n instanceType: \"rds.mysql.c1.large\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"default\", {\n zoneId: defaultInstance.zoneId,\n masterDbInstanceId: defaultInstance.id,\n engineVersion: defaultInstance.engineVersion,\n instanceStorage: defaultInstance.instanceStorage,\n instanceType: defaultInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: defaultSwitch.id,\n});\nconst defaultRdsDbProxy = new alicloud.rds.RdsDbProxy(\"default\", {\n instanceId: defaultInstance.id,\n instanceNetworkType: \"VPC\",\n vpcId: defaultInstance.vpcId,\n vswitchId: defaultInstance.vswitchId,\n dbProxyInstanceNum: 2,\n dbProxyConnectionPrefix: \"example\",\n dbProxyConnectStringPort: 3306,\n dbProxyEndpointReadWriteMode: \"ReadWrite\",\n readOnlyInstanceMaxDelayTime: 90,\n dbProxyFeatures: \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n readOnlyInstanceDistributionType: \"Custom\",\n readOnlyInstanceWeights: [\n {\n instanceId: defaultInstance.id,\n weight: \"100\",\n },\n {\n instanceId: defaultReadOnlyInstance.id,\n weight: \"500\",\n },\n ],\n});\nconst defaultDbProxyPublic = new alicloud.rds.DbProxyPublic(\"default\", {\n dbInstanceId: defaultInstance.id,\n dbProxyEndpointId: defaultRdsDbProxy.dbProxyEndpointId,\n connectionStringPrefix: \"exampleabc\",\n dbProxyConnectionStringNetType: \"Public\",\n dbProxyNewConnectStringPort: \"3306\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.7\",\n instance_type=\"rds.mysql.c1.large\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_read_only_instance = alicloud.rds.ReadOnlyInstance(\"default\",\n zone_id=default_instance.zone_id,\n master_db_instance_id=default_instance.id,\n engine_version=default_instance.engine_version,\n instance_storage=default_instance.instance_storage,\n instance_type=default_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=default_switch.id)\ndefault_rds_db_proxy = alicloud.rds.RdsDbProxy(\"default\",\n instance_id=default_instance.id,\n instance_network_type=\"VPC\",\n vpc_id=default_instance.vpc_id,\n vswitch_id=default_instance.vswitch_id,\n db_proxy_instance_num=2,\n db_proxy_connection_prefix=\"example\",\n db_proxy_connect_string_port=3306,\n db_proxy_endpoint_read_write_mode=\"ReadWrite\",\n read_only_instance_max_delay_time=90,\n db_proxy_features=\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n read_only_instance_distribution_type=\"Custom\",\n read_only_instance_weights=[\n {\n \"instance_id\": default_instance.id,\n \"weight\": \"100\",\n },\n {\n \"instance_id\": default_read_only_instance.id,\n \"weight\": \"500\",\n },\n ])\ndefault_db_proxy_public = alicloud.rds.DbProxyPublic(\"default\",\n db_instance_id=default_instance.id,\n db_proxy_endpoint_id=default_rds_db_proxy.db_proxy_endpoint_id,\n connection_string_prefix=\"exampleabc\",\n db_proxy_connection_string_net_type=\"Public\",\n db_proxy_new_connect_string_port=\"3306\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.7\",\n InstanceType = \"rds.mysql.c1.large\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"default\", new()\n {\n ZoneId = defaultInstance.ZoneId,\n MasterDbInstanceId = defaultInstance.Id,\n EngineVersion = defaultInstance.EngineVersion,\n InstanceStorage = defaultInstance.InstanceStorage,\n InstanceType = defaultInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultRdsDbProxy = new AliCloud.Rds.RdsDbProxy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n InstanceNetworkType = \"VPC\",\n VpcId = defaultInstance.VpcId,\n VswitchId = defaultInstance.VswitchId,\n DbProxyInstanceNum = 2,\n DbProxyConnectionPrefix = \"example\",\n DbProxyConnectStringPort = 3306,\n DbProxyEndpointReadWriteMode = \"ReadWrite\",\n ReadOnlyInstanceMaxDelayTime = 90,\n DbProxyFeatures = \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n ReadOnlyInstanceDistributionType = \"Custom\",\n ReadOnlyInstanceWeights = new[]\n {\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultInstance.Id,\n Weight = \"100\",\n },\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultReadOnlyInstance.Id,\n Weight = \"500\",\n },\n },\n });\n\n var defaultDbProxyPublic = new AliCloud.Rds.DbProxyPublic(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n DbProxyEndpointId = defaultRdsDbProxy.DbProxyEndpointId,\n ConnectionStringPrefix = \"exampleabc\",\n DbProxyConnectionStringNetType = \"Public\",\n DbProxyNewConnectStringPort = \"3306\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.c1.large\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"default\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: defaultInstance.ZoneId,\n\t\t\tMasterDbInstanceId: defaultInstance.ID(),\n\t\t\tEngineVersion: defaultInstance.EngineVersion,\n\t\t\tInstanceStorage: defaultInstance.InstanceStorage,\n\t\t\tInstanceType: defaultInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsDbProxy, err := rds.NewRdsDbProxy(ctx, \"default\", \u0026rds.RdsDbProxyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVpcId: defaultInstance.VpcId,\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tDbProxyInstanceNum: pulumi.Int(2),\n\t\t\tDbProxyConnectionPrefix: pulumi.String(\"example\"),\n\t\t\tDbProxyConnectStringPort: pulumi.Int(3306),\n\t\t\tDbProxyEndpointReadWriteMode: pulumi.String(\"ReadWrite\"),\n\t\t\tReadOnlyInstanceMaxDelayTime: pulumi.Int(90),\n\t\t\tDbProxyFeatures: pulumi.String(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\"),\n\t\t\tReadOnlyInstanceDistributionType: pulumi.String(\"Custom\"),\n\t\t\tReadOnlyInstanceWeights: rds.RdsDbProxyReadOnlyInstanceWeightArray{\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultReadOnlyInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"500\"),\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 = rds.NewDbProxyPublic(ctx, \"default\", \u0026rds.DbProxyPublicArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tDbProxyEndpointId: defaultRdsDbProxy.DbProxyEndpointId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"exampleabc\"),\n\t\t\tDbProxyConnectionStringNetType: pulumi.String(\"Public\"),\n\t\t\tDbProxyNewConnectStringPort: pulumi.String(\"3306\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.alicloud.rds.RdsDbProxy;\nimport com.pulumi.alicloud.rds.RdsDbProxyArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsDbProxyReadOnlyInstanceWeightArgs;\nimport com.pulumi.alicloud.rds.DbProxyPublic;\nimport com.pulumi.alicloud.rds.DbProxyPublicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.7\")\n .instanceType(\"rds.mysql.c1.large\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultReadOnlyInstance = new ReadOnlyInstance(\"defaultReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(defaultInstance.zoneId())\n .masterDbInstanceId(defaultInstance.id())\n .engineVersion(defaultInstance.engineVersion())\n .instanceStorage(defaultInstance.instanceStorage())\n .instanceType(defaultInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultRdsDbProxy = new RdsDbProxy(\"defaultRdsDbProxy\", RdsDbProxyArgs.builder()\n .instanceId(defaultInstance.id())\n .instanceNetworkType(\"VPC\")\n .vpcId(defaultInstance.vpcId())\n .vswitchId(defaultInstance.vswitchId())\n .dbProxyInstanceNum(2)\n .dbProxyConnectionPrefix(\"example\")\n .dbProxyConnectStringPort(3306)\n .dbProxyEndpointReadWriteMode(\"ReadWrite\")\n .readOnlyInstanceMaxDelayTime(90)\n .dbProxyFeatures(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\")\n .readOnlyInstanceDistributionType(\"Custom\")\n .readOnlyInstanceWeights( \n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultInstance.id())\n .weight(\"100\")\n .build(),\n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultReadOnlyInstance.id())\n .weight(\"500\")\n .build())\n .build());\n\n var defaultDbProxyPublic = new DbProxyPublic(\"defaultDbProxyPublic\", DbProxyPublicArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .dbProxyEndpointId(defaultRdsDbProxy.dbProxyEndpointId())\n .connectionStringPrefix(\"exampleabc\")\n .dbProxyConnectionStringNetType(\"Public\")\n .dbProxyNewConnectStringPort(\"3306\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.7'\n instanceType: rds.mysql.c1.large\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: default\n properties:\n zoneId: ${defaultInstance.zoneId}\n masterDbInstanceId: ${defaultInstance.id}\n engineVersion: ${defaultInstance.engineVersion}\n instanceStorage: ${defaultInstance.instanceStorage}\n instanceType: ${defaultInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${defaultSwitch.id}\n defaultRdsDbProxy:\n type: alicloud:rds:RdsDbProxy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n instanceNetworkType: VPC\n vpcId: ${defaultInstance.vpcId}\n vswitchId: ${defaultInstance.vswitchId}\n dbProxyInstanceNum: 2\n dbProxyConnectionPrefix: example\n dbProxyConnectStringPort: 3306\n dbProxyEndpointReadWriteMode: ReadWrite\n readOnlyInstanceMaxDelayTime: 90\n dbProxyFeatures: TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\n readOnlyInstanceDistributionType: Custom\n readOnlyInstanceWeights:\n - instanceId: ${defaultInstance.id}\n weight: '100'\n - instanceId: ${defaultReadOnlyInstance.id}\n weight: '500'\n defaultDbProxyPublic:\n type: alicloud:rds:DbProxyPublic\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n dbProxyEndpointId: ${defaultRdsDbProxy.dbProxyEndpointId}\n connectionStringPrefix: exampleabc\n dbProxyConnectionStringNetType: Public\n dbProxyNewConnectStringPort: '3306'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-dotnet=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-go=\"`rds.DbProxyPublic`\" pulumi-lang-python=\"`rds.DbProxyPublic`\" pulumi-lang-yaml=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-java=\"`alicloud.rds.DbProxyPublic`\"\u003e`alicloud.rds.DbProxyPublic`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-dotnet=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-go=\"`rds.RdsDbProxy`\" pulumi-lang-python=\"`rds.RdsDbProxy`\" pulumi-lang-yaml=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-java=\"`alicloud.rds.RdsDbProxy`\"\u003e`alicloud.rds.RdsDbProxy`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n## Import\n\nRDS Database Proxy Public Network Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbProxyPublic:DbProxyPublic example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS database proxy public network address resource.\n\n\n\nFor information about Resource AlicloudRdsDBProxyPublic and how to use it, see [What is proxy](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-createdbproxyendpointaddress).\n\n\u003e **NOTE:** Available since v1.250.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.7\",\n instanceType: \"rds.mysql.c1.large\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"default\", {\n zoneId: defaultInstance.zoneId,\n masterDbInstanceId: defaultInstance.id,\n engineVersion: defaultInstance.engineVersion,\n instanceStorage: defaultInstance.instanceStorage,\n instanceType: defaultInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: defaultSwitch.id,\n});\nconst defaultRdsDbProxy = new alicloud.rds.RdsDbProxy(\"default\", {\n instanceId: defaultInstance.id,\n instanceNetworkType: \"VPC\",\n vpcId: defaultInstance.vpcId,\n vswitchId: defaultInstance.vswitchId,\n dbProxyInstanceNum: 2,\n dbProxyConnectionPrefix: \"example\",\n dbProxyConnectStringPort: 3306,\n dbProxyEndpointReadWriteMode: \"ReadWrite\",\n readOnlyInstanceMaxDelayTime: 90,\n dbProxyFeatures: \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n readOnlyInstanceDistributionType: \"Custom\",\n readOnlyInstanceWeights: [\n {\n instanceId: defaultInstance.id,\n weight: \"100\",\n },\n {\n instanceId: defaultReadOnlyInstance.id,\n weight: \"500\",\n },\n ],\n});\nconst defaultDbProxyPublic = new alicloud.rds.DbProxyPublic(\"default\", {\n dbInstanceId: defaultInstance.id,\n dbProxyEndpointId: defaultRdsDbProxy.dbProxyEndpointId,\n connectionStringPrefix: \"exampleabc\",\n dbProxyConnectionStringNetType: \"Public\",\n dbProxyNewConnectStringPort: \"3306\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.7\",\n instance_type=\"rds.mysql.c1.large\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_read_only_instance = alicloud.rds.ReadOnlyInstance(\"default\",\n zone_id=default_instance.zone_id,\n master_db_instance_id=default_instance.id,\n engine_version=default_instance.engine_version,\n instance_storage=default_instance.instance_storage,\n instance_type=default_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=default_switch.id)\ndefault_rds_db_proxy = alicloud.rds.RdsDbProxy(\"default\",\n instance_id=default_instance.id,\n instance_network_type=\"VPC\",\n vpc_id=default_instance.vpc_id,\n vswitch_id=default_instance.vswitch_id,\n db_proxy_instance_num=2,\n db_proxy_connection_prefix=\"example\",\n db_proxy_connect_string_port=3306,\n db_proxy_endpoint_read_write_mode=\"ReadWrite\",\n read_only_instance_max_delay_time=90,\n db_proxy_features=\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n read_only_instance_distribution_type=\"Custom\",\n read_only_instance_weights=[\n {\n \"instance_id\": default_instance.id,\n \"weight\": \"100\",\n },\n {\n \"instance_id\": default_read_only_instance.id,\n \"weight\": \"500\",\n },\n ])\ndefault_db_proxy_public = alicloud.rds.DbProxyPublic(\"default\",\n db_instance_id=default_instance.id,\n db_proxy_endpoint_id=default_rds_db_proxy.db_proxy_endpoint_id,\n connection_string_prefix=\"exampleabc\",\n db_proxy_connection_string_net_type=\"Public\",\n db_proxy_new_connect_string_port=\"3306\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.7\",\n InstanceType = \"rds.mysql.c1.large\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"default\", new()\n {\n ZoneId = defaultInstance.ZoneId,\n MasterDbInstanceId = defaultInstance.Id,\n EngineVersion = defaultInstance.EngineVersion,\n InstanceStorage = defaultInstance.InstanceStorage,\n InstanceType = defaultInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultRdsDbProxy = new AliCloud.Rds.RdsDbProxy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n InstanceNetworkType = \"VPC\",\n VpcId = defaultInstance.VpcId,\n VswitchId = defaultInstance.VswitchId,\n DbProxyInstanceNum = 2,\n DbProxyConnectionPrefix = \"example\",\n DbProxyConnectStringPort = 3306,\n DbProxyEndpointReadWriteMode = \"ReadWrite\",\n ReadOnlyInstanceMaxDelayTime = 90,\n DbProxyFeatures = \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n ReadOnlyInstanceDistributionType = \"Custom\",\n ReadOnlyInstanceWeights = new[]\n {\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultInstance.Id,\n Weight = \"100\",\n },\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultReadOnlyInstance.Id,\n Weight = \"500\",\n },\n },\n });\n\n var defaultDbProxyPublic = new AliCloud.Rds.DbProxyPublic(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n DbProxyEndpointId = defaultRdsDbProxy.DbProxyEndpointId,\n ConnectionStringPrefix = \"exampleabc\",\n DbProxyConnectionStringNetType = \"Public\",\n DbProxyNewConnectStringPort = \"3306\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.c1.large\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"default\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: defaultInstance.ZoneId,\n\t\t\tMasterDbInstanceId: defaultInstance.ID(),\n\t\t\tEngineVersion: defaultInstance.EngineVersion,\n\t\t\tInstanceStorage: defaultInstance.InstanceStorage,\n\t\t\tInstanceType: defaultInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsDbProxy, err := rds.NewRdsDbProxy(ctx, \"default\", \u0026rds.RdsDbProxyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVpcId: defaultInstance.VpcId,\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tDbProxyInstanceNum: pulumi.Int(2),\n\t\t\tDbProxyConnectionPrefix: pulumi.String(\"example\"),\n\t\t\tDbProxyConnectStringPort: pulumi.Int(3306),\n\t\t\tDbProxyEndpointReadWriteMode: pulumi.String(\"ReadWrite\"),\n\t\t\tReadOnlyInstanceMaxDelayTime: pulumi.Int(90),\n\t\t\tDbProxyFeatures: pulumi.String(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\"),\n\t\t\tReadOnlyInstanceDistributionType: pulumi.String(\"Custom\"),\n\t\t\tReadOnlyInstanceWeights: rds.RdsDbProxyReadOnlyInstanceWeightArray{\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultReadOnlyInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"500\"),\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 = rds.NewDbProxyPublic(ctx, \"default\", \u0026rds.DbProxyPublicArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tDbProxyEndpointId: defaultRdsDbProxy.DbProxyEndpointId,\n\t\t\tConnectionStringPrefix: pulumi.String(\"exampleabc\"),\n\t\t\tDbProxyConnectionStringNetType: pulumi.String(\"Public\"),\n\t\t\tDbProxyNewConnectStringPort: pulumi.String(\"3306\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.alicloud.rds.RdsDbProxy;\nimport com.pulumi.alicloud.rds.RdsDbProxyArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsDbProxyReadOnlyInstanceWeightArgs;\nimport com.pulumi.alicloud.rds.DbProxyPublic;\nimport com.pulumi.alicloud.rds.DbProxyPublicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.7\")\n .instanceType(\"rds.mysql.c1.large\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultReadOnlyInstance = new ReadOnlyInstance(\"defaultReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(defaultInstance.zoneId())\n .masterDbInstanceId(defaultInstance.id())\n .engineVersion(defaultInstance.engineVersion())\n .instanceStorage(defaultInstance.instanceStorage())\n .instanceType(defaultInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultRdsDbProxy = new RdsDbProxy(\"defaultRdsDbProxy\", RdsDbProxyArgs.builder()\n .instanceId(defaultInstance.id())\n .instanceNetworkType(\"VPC\")\n .vpcId(defaultInstance.vpcId())\n .vswitchId(defaultInstance.vswitchId())\n .dbProxyInstanceNum(2)\n .dbProxyConnectionPrefix(\"example\")\n .dbProxyConnectStringPort(3306)\n .dbProxyEndpointReadWriteMode(\"ReadWrite\")\n .readOnlyInstanceMaxDelayTime(90)\n .dbProxyFeatures(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\")\n .readOnlyInstanceDistributionType(\"Custom\")\n .readOnlyInstanceWeights( \n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultInstance.id())\n .weight(\"100\")\n .build(),\n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultReadOnlyInstance.id())\n .weight(\"500\")\n .build())\n .build());\n\n var defaultDbProxyPublic = new DbProxyPublic(\"defaultDbProxyPublic\", DbProxyPublicArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .dbProxyEndpointId(defaultRdsDbProxy.dbProxyEndpointId())\n .connectionStringPrefix(\"exampleabc\")\n .dbProxyConnectionStringNetType(\"Public\")\n .dbProxyNewConnectStringPort(\"3306\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.7'\n instanceType: rds.mysql.c1.large\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: default\n properties:\n zoneId: ${defaultInstance.zoneId}\n masterDbInstanceId: ${defaultInstance.id}\n engineVersion: ${defaultInstance.engineVersion}\n instanceStorage: ${defaultInstance.instanceStorage}\n instanceType: ${defaultInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${defaultSwitch.id}\n defaultRdsDbProxy:\n type: alicloud:rds:RdsDbProxy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n instanceNetworkType: VPC\n vpcId: ${defaultInstance.vpcId}\n vswitchId: ${defaultInstance.vswitchId}\n dbProxyInstanceNum: 2\n dbProxyConnectionPrefix: example\n dbProxyConnectStringPort: 3306\n dbProxyEndpointReadWriteMode: ReadWrite\n readOnlyInstanceMaxDelayTime: 90\n dbProxyFeatures: TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\n readOnlyInstanceDistributionType: Custom\n readOnlyInstanceWeights:\n - instanceId: ${defaultInstance.id}\n weight: '100'\n - instanceId: ${defaultReadOnlyInstance.id}\n weight: '500'\n defaultDbProxyPublic:\n type: alicloud:rds:DbProxyPublic\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n dbProxyEndpointId: ${defaultRdsDbProxy.dbProxyEndpointId}\n connectionStringPrefix: exampleabc\n dbProxyConnectionStringNetType: Public\n dbProxyNewConnectStringPort: '3306'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-dotnet=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-go=\"`rds.DbProxyPublic`\" pulumi-lang-python=\"`rds.DbProxyPublic`\" pulumi-lang-yaml=\"`alicloud.rds.DbProxyPublic`\" pulumi-lang-java=\"`alicloud.rds.DbProxyPublic`\"\u003e`alicloud.rds.DbProxyPublic`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-dotnet=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-go=\"`rds.RdsDbProxy`\" pulumi-lang-python=\"`rds.RdsDbProxy`\" pulumi-lang-yaml=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-java=\"`alicloud.rds.RdsDbProxy`\"\u003e`alicloud.rds.RdsDbProxy`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Database Proxy Public Network Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/dbProxyPublic:DbProxyPublic example \u003cid\u003e\n```\n\n", "properties": { "connectionStringPrefix": { "type": "string", @@ -234236,7 +239454,7 @@ }, "roleArn": { "type": "string", - "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n" + "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n" }, "securityGroupId": { "type": "string", @@ -234666,8 +239884,7 @@ }, "roleArn": { "type": "string", - "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n", - "willReplaceOnChanges": true + "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n" }, "securityGroupId": { "type": "string", @@ -235053,8 +240270,7 @@ }, "roleArn": { "type": "string", - "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n", - "willReplaceOnChanges": true + "description": "The Alibaba Cloud Resource Name (ARN) of the RAM role.\n\n\u003e **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID.\nYou can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {\"Version\":\"1\",\"Statement\":[{\"Effect\":\"Deny\",\"Action\":\"rds:CreateDBInstance\",\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"rds:DiskEncryptionRequired\":\"false\"}}}]}\n" }, "securityGroupId": { "type": "string", @@ -235222,7 +240438,7 @@ } }, "alicloud:rds/rdsAccount:RdsAccount": { - "description": "Provides a RDS Account resource.\n\nFor information about RDS Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createaccount).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[1]?.instanceClass),\n instanceStorage: 10,\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: name,\n accountPassword: \"Example1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=default_get_instance_classes.instance_classes[1].instance_class,\n instance_storage=10,\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=name,\n account_password=\"Example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[1]?.InstanceClass),\n InstanceStorage = 10,\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = name,\n AccountPassword = \"Example1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[1].InstanceClass),\n\t\t\tInstanceStorage: pulumi.Int(10),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[1].instanceClass())\n .instanceStorage(10)\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(name)\n .accountPassword(\"Example1234\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[1].instanceClass}\n instanceStorage: '10'\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: ${name}\n accountPassword: Example1234\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsAccount:RdsAccount example \u003cdb_instance_id\u003e:\u003caccount_name\u003e\n```\n\n", + "description": "Provides a RDS Account resource.\n\n\n\nFor information about RDS Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createaccount).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"local_ssd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n vswitchId: defaultSwitch.id,\n instanceName: name,\n instanceChargeType: \"Postpaid\",\n monitoringPeriod: 60,\n dbInstanceStorageType: \"local_ssd\",\n dbIsIgnoreCase: false,\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: name,\n accountPassword: \"Example1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"local_ssd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"local_ssd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n vswitch_id=default_switch.id,\n instance_name=name,\n instance_charge_type=\"Postpaid\",\n monitoring_period=60,\n db_instance_storage_type=\"local_ssd\",\n db_is_ignore_case=False)\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=name,\n account_password=\"Example1234\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"local_ssd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n InstanceChargeType = \"Postpaid\",\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"local_ssd\",\n DbIsIgnoreCase = false,\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = name,\n AccountPassword = \"Example1234\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t\tDbIsIgnoreCase: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"local_ssd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .instanceChargeType(\"Postpaid\")\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"local_ssd\")\n .dbIsIgnoreCase(false)\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(name)\n .accountPassword(\"Example1234\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n vswitchId: ${defaultSwitch.id}\n instanceName: ${name}\n instanceChargeType: Postpaid\n monitoringPeriod: 60\n dbInstanceStorageType: local_ssd\n dbIsIgnoreCase: false\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: ${name}\n accountPassword: Example1234\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: local_ssd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: HighAvailability\n dbInstanceStorageType: local_ssd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsAccount:RdsAccount example \u003cdb_instance_id\u003e:\u003caccount_name\u003e\n```\n\n", "properties": { "accountDescription": { "type": "string", @@ -235241,6 +240457,10 @@ "type": "string", "description": "The account type. Valid values:\n* Normal: standard account (default).\n* Super: privileged account.\n* Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances.\n\n\u003e **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o).\n" }, + "checkPolicy": { + "type": "boolean", + "description": "Whether to apply password policy\n" + }, "dbInstanceId": { "type": "string", "description": "The ID of the instance.\n" @@ -235283,7 +240503,7 @@ }, "status": { "type": "string", - "description": "The status of the resource. Valid values: `Available`, `Unavailable`.\n" + "description": "The status of the resource\n" }, "type": { "type": "string", @@ -235324,6 +240544,10 @@ "description": "The account type. Valid values:\n* Normal: standard account (default).\n* Super: privileged account.\n* Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances.\n\n\u003e **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o).\n", "willReplaceOnChanges": true }, + "checkPolicy": { + "type": "boolean", + "description": "Whether to apply password policy\n" + }, "dbInstanceId": { "type": "string", "description": "The ID of the instance.\n", @@ -235367,6 +240591,10 @@ "type": "boolean", "description": "Resets permissions flag of the privileged account. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Set it to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e can resets permissions of the privileged account.\n" }, + "status": { + "type": "string", + "description": "The status of the resource\n" + }, "type": { "type": "string", "description": "The attribute has been deprecated from 1.120.0 and using \u003cspan pulumi-lang-nodejs=\"`accountType`\" pulumi-lang-dotnet=\"`AccountType`\" pulumi-lang-go=\"`accountType`\" pulumi-lang-python=\"`account_type`\" pulumi-lang-yaml=\"`accountType`\" pulumi-lang-java=\"`accountType`\"\u003e`account_type`\u003c/span\u003e instead.\n\n\u003e **NOTE**: Only MySQL engine is supported resets permissions of the privileged account.\n", @@ -235396,6 +240624,10 @@ "description": "The account type. Valid values:\n* Normal: standard account (default).\n* Super: privileged account.\n* Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances.\n\n\u003e **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o).\n", "willReplaceOnChanges": true }, + "checkPolicy": { + "type": "boolean", + "description": "Whether to apply password policy\n" + }, "dbInstanceId": { "type": "string", "description": "The ID of the instance.\n", @@ -235441,7 +240673,7 @@ }, "status": { "type": "string", - "description": "The status of the resource. Valid values: `Available`, `Unavailable`.\n" + "description": "The status of the resource\n" }, "type": { "type": "string", @@ -235454,7 +240686,7 @@ } }, "alicloud:rds/rdsBackup:RdsBackup": { - "description": "Provides a RDS Backup resource.\n\nFor information about RDS Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-createbackup).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 30,\n instanceChargeType: \"Postpaid\",\n dbInstanceStorageType: \"local_ssd\",\n});\nconst exampleRdsBackup = new alicloud.rds.RdsBackup(\"example\", {dbInstanceId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=30,\n instance_charge_type=\"Postpaid\",\n db_instance_storage_type=\"local_ssd\")\nexample_rds_backup = alicloud.rds.RdsBackup(\"example\", db_instance_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 30,\n InstanceChargeType = \"Postpaid\",\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var exampleRdsBackup = new AliCloud.Rds.RdsBackup(\"example\", new()\n {\n DbInstanceId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(30),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsBackup(ctx, \"example\", \u0026rds.RdsBackupArgs{\n\t\t\tDbInstanceId: example.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.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsBackup;\nimport com.pulumi.alicloud.rds.RdsBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(30)\n .instanceChargeType(\"Postpaid\")\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var exampleRdsBackup = new RdsBackup(\"exampleRdsBackup\", RdsBackupArgs.builder()\n .dbInstanceId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '30'\n instanceChargeType: Postpaid\n dbInstanceStorageType: local_ssd\n exampleRdsBackup:\n type: alicloud:rds:RdsBackup\n name: example\n properties:\n dbInstanceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Backup can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsBackup:RdsBackup example \u003cdb_instance_id\u003e:\u003cbackup_id\u003e\n```\n\n", + "description": "Provides a RDS Backup resource.\n\nFor information about RDS Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-createbackup).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 30,\n instanceChargeType: \"Postpaid\",\n dbInstanceStorageType: \"local_ssd\",\n});\nconst exampleRdsBackup = new alicloud.rds.RdsBackup(\"example\", {dbInstanceId: example.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=30,\n instance_charge_type=\"Postpaid\",\n db_instance_storage_type=\"local_ssd\")\nexample_rds_backup = alicloud.rds.RdsBackup(\"example\", db_instance_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 30,\n InstanceChargeType = \"Postpaid\",\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var exampleRdsBackup = new AliCloud.Rds.RdsBackup(\"example\", new()\n {\n DbInstanceId = example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(30),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsBackup(ctx, \"example\", \u0026rds.RdsBackupArgs{\n\t\t\tDbInstanceId: example.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.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsBackup;\nimport com.pulumi.alicloud.rds.RdsBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(30)\n .instanceChargeType(\"Postpaid\")\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var exampleRdsBackup = new RdsBackup(\"exampleRdsBackup\", RdsBackupArgs.builder()\n .dbInstanceId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rds:Instance\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '30'\n instanceChargeType: Postpaid\n dbInstanceStorageType: local_ssd\n exampleRdsBackup:\n type: alicloud:rds:RdsBackup\n name: example\n properties:\n dbInstanceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Backup can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsBackup:RdsBackup example \u003cdb_instance_id\u003e:\u003cbackup_id\u003e\n```\n\n", "properties": { "backupId": { "type": "string", @@ -235571,7 +240803,7 @@ } }, "alicloud:rds/rdsCloneDbInstance:RdsCloneDbInstance": { - "description": "Provides an RDS Clone DB Instance resource.\n\nFor information about RDS Clone DB Instance and how to use it, see [What is ApsaraDB for RDS](https://www.alibabacloud.com/help/en/rds/product-overview/what-is-apsaradb-rds).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\n### Create an RDS MySQL clone instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.rds.getZones({\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.zones?.[0]?.id,\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n});\nconst exampleRdsBackup = new alicloud.rds.RdsBackup(\"example\", {\n dbInstanceId: exampleInstance.id,\n removeFromState: true,\n});\nconst exampleRdsCloneDbInstance = new alicloud.rds.RdsCloneDbInstance(\"example\", {\n sourceDbInstanceId: exampleInstance.id,\n dbInstanceStorageType: \"cloud_essd\",\n paymentType: \"PayAsYouGo\",\n backupId: exampleRdsBackup.backupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.get_zones(engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.zones[0].id,\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=\"terraform-example\",\n vswitch_id=example_switch.id,\n monitoring_period=60)\nexample_rds_backup = alicloud.rds.RdsBackup(\"example\",\n db_instance_id=example_instance.id,\n remove_from_state=True)\nexample_rds_clone_db_instance = alicloud.rds.RdsCloneDbInstance(\"example\",\n source_db_instance_id=example_instance.id,\n db_instance_storage_type=\"cloud_essd\",\n payment_type=\"PayAsYouGo\",\n backup_id=example_rds_backup.backup_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n });\n\n var exampleRdsBackup = new AliCloud.Rds.RdsBackup(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n RemoveFromState = true,\n });\n\n var exampleRdsCloneDbInstance = new AliCloud.Rds.RdsCloneDbInstance(\"example\", new()\n {\n SourceDbInstanceId = exampleInstance.Id,\n DbInstanceStorageType = \"cloud_essd\",\n PaymentType = \"PayAsYouGo\",\n BackupId = exampleRdsBackup.BackupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.String(\"13.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsBackup, err := rds.NewRdsBackup(ctx, \"example\", \u0026rds.RdsBackupArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tRemoveFromState: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsCloneDbInstance(ctx, \"example\", \u0026rds.RdsCloneDbInstanceArgs{\n\t\t\tSourceDbInstanceId: exampleInstance.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBackupId: exampleRdsBackup.BackupId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsBackup;\nimport com.pulumi.alicloud.rds.RdsBackupArgs;\nimport com.pulumi.alicloud.rds.RdsCloneDbInstance;\nimport com.pulumi.alicloud.rds.RdsCloneDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.zones()[0].id())\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .build());\n\n var exampleRdsBackup = new RdsBackup(\"exampleRdsBackup\", RdsBackupArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .removeFromState(true)\n .build());\n\n var exampleRdsCloneDbInstance = new RdsCloneDbInstance(\"exampleRdsCloneDbInstance\", RdsCloneDbInstanceArgs.builder()\n .sourceDbInstanceId(exampleInstance.id())\n .dbInstanceStorageType(\"cloud_essd\")\n .paymentType(\"PayAsYouGo\")\n .backupId(exampleRdsBackup.backupId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: terraform-example\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n exampleRdsBackup:\n type: alicloud:rds:RdsBackup\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n removeFromState: 'true'\n exampleRdsCloneDbInstance:\n type: alicloud:rds:RdsCloneDbInstance\n name: example\n properties:\n sourceDbInstanceId: ${exampleInstance.id}\n dbInstanceStorageType: cloud_essd\n paymentType: PayAsYouGo\n backupId: ${exampleRdsBackup.backupId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.zones[0].id}\n engine: PostgreSQL\n engineVersion: '13.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Clone DB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsCloneDbInstance:RdsCloneDbInstance example \u003cid\u003e\n```\n\n", + "description": "Provides an RDS Clone DB Instance resource.\n\nFor information about RDS Clone DB Instance and how to use it, see [What is ApsaraDB for RDS](https://www.alibabacloud.com/help/en/rds/product-overview/what-is-apsaradb-rds).\n\n\u003e **NOTE:** Available since v1.149.0.\n\n## Example Usage\n\n### Create an RDS MySQL clone instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.rds.getZones({\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.zones?.[0]?.id,\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n});\nconst exampleRdsBackup = new alicloud.rds.RdsBackup(\"example\", {\n dbInstanceId: exampleInstance.id,\n removeFromState: true,\n});\nconst exampleRdsCloneDbInstance = new alicloud.rds.RdsCloneDbInstance(\"example\", {\n sourceDbInstanceId: exampleInstance.id,\n dbInstanceStorageType: \"cloud_essd\",\n paymentType: \"PayAsYouGo\",\n backupId: exampleRdsBackup.backupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.get_zones(engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.zones[0].id,\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=\"terraform-example\",\n vswitch_id=example_switch.id,\n monitoring_period=60)\nexample_rds_backup = alicloud.rds.RdsBackup(\"example\",\n db_instance_id=example_instance.id,\n remove_from_state=True)\nexample_rds_clone_db_instance = alicloud.rds.RdsCloneDbInstance(\"example\",\n source_db_instance_id=example_instance.id,\n db_instance_storage_type=\"cloud_essd\",\n payment_type=\"PayAsYouGo\",\n backup_id=example_rds_backup.backup_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n });\n\n var exampleRdsBackup = new AliCloud.Rds.RdsBackup(\"example\", new()\n {\n DbInstanceId = exampleInstance.Id,\n RemoveFromState = true,\n });\n\n var exampleRdsCloneDbInstance = new AliCloud.Rds.RdsCloneDbInstance(\"example\", new()\n {\n SourceDbInstanceId = exampleInstance.Id,\n DbInstanceStorageType = \"cloud_essd\",\n PaymentType = \"PayAsYouGo\",\n BackupId = exampleRdsBackup.BackupId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.String(\"13.0\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRdsBackup, err := rds.NewRdsBackup(ctx, \"example\", \u0026rds.RdsBackupArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tRemoveFromState: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsCloneDbInstance(ctx, \"example\", \u0026rds.RdsCloneDbInstanceArgs{\n\t\t\tSourceDbInstanceId: exampleInstance.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tBackupId: exampleRdsBackup.BackupId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsBackup;\nimport com.pulumi.alicloud.rds.RdsBackupArgs;\nimport com.pulumi.alicloud.rds.RdsCloneDbInstance;\nimport com.pulumi.alicloud.rds.RdsCloneDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.zones()[0].id())\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .build());\n\n var exampleRdsBackup = new RdsBackup(\"exampleRdsBackup\", RdsBackupArgs.builder()\n .dbInstanceId(exampleInstance.id())\n .removeFromState(true)\n .build());\n\n var exampleRdsCloneDbInstance = new RdsCloneDbInstance(\"exampleRdsCloneDbInstance\", RdsCloneDbInstanceArgs.builder()\n .sourceDbInstanceId(exampleInstance.id())\n .dbInstanceStorageType(\"cloud_essd\")\n .paymentType(\"PayAsYouGo\")\n .backupId(exampleRdsBackup.backupId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: terraform-example\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n exampleRdsBackup:\n type: alicloud:rds:RdsBackup\n name: example\n properties:\n dbInstanceId: ${exampleInstance.id}\n removeFromState: 'true'\n exampleRdsCloneDbInstance:\n type: alicloud:rds:RdsCloneDbInstance\n name: example\n properties:\n sourceDbInstanceId: ${exampleInstance.id}\n dbInstanceStorageType: cloud_essd\n paymentType: PayAsYouGo\n backupId: ${exampleRdsBackup.backupId}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.zones[0].id}\n engine: PostgreSQL\n engineVersion: '13.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Clone DB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsCloneDbInstance:RdsCloneDbInstance example \u003cid\u003e\n```\n\n", "properties": { "acl": { "type": "string", @@ -236419,7 +241651,7 @@ } }, "alicloud:rds/rdsDbProxy:RdsDbProxy": { - "description": "Information about RDS database exclusive agent and its usage, see [What is RDS DB Proxy](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-modifydbproxy).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.7\",\n instanceType: \"rds.mysql.c1.large\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"default\", {\n zoneId: defaultInstance.zoneId,\n masterDbInstanceId: defaultInstance.id,\n engineVersion: defaultInstance.engineVersion,\n instanceStorage: defaultInstance.instanceStorage,\n instanceType: defaultInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: defaultSwitch.id,\n});\nconst defaultRdsDbProxy = new alicloud.rds.RdsDbProxy(\"default\", {\n instanceId: defaultInstance.id,\n instanceNetworkType: \"VPC\",\n vpcId: defaultInstance.vpcId,\n vswitchId: defaultInstance.vswitchId,\n dbProxyInstanceNum: 2,\n dbProxyConnectionPrefix: \"example\",\n dbProxyConnectStringPort: 3306,\n dbProxyEndpointReadWriteMode: \"ReadWrite\",\n readOnlyInstanceMaxDelayTime: 90,\n dbProxyFeatures: \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n readOnlyInstanceDistributionType: \"Custom\",\n readOnlyInstanceWeights: [\n {\n instanceId: defaultInstance.id,\n weight: \"100\",\n },\n {\n instanceId: defaultReadOnlyInstance.id,\n weight: \"500\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.7\",\n instance_type=\"rds.mysql.c1.large\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_read_only_instance = alicloud.rds.ReadOnlyInstance(\"default\",\n zone_id=default_instance.zone_id,\n master_db_instance_id=default_instance.id,\n engine_version=default_instance.engine_version,\n instance_storage=default_instance.instance_storage,\n instance_type=default_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=default_switch.id)\ndefault_rds_db_proxy = alicloud.rds.RdsDbProxy(\"default\",\n instance_id=default_instance.id,\n instance_network_type=\"VPC\",\n vpc_id=default_instance.vpc_id,\n vswitch_id=default_instance.vswitch_id,\n db_proxy_instance_num=2,\n db_proxy_connection_prefix=\"example\",\n db_proxy_connect_string_port=3306,\n db_proxy_endpoint_read_write_mode=\"ReadWrite\",\n read_only_instance_max_delay_time=90,\n db_proxy_features=\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n read_only_instance_distribution_type=\"Custom\",\n read_only_instance_weights=[\n {\n \"instance_id\": default_instance.id,\n \"weight\": \"100\",\n },\n {\n \"instance_id\": default_read_only_instance.id,\n \"weight\": \"500\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.7\",\n InstanceType = \"rds.mysql.c1.large\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"default\", new()\n {\n ZoneId = defaultInstance.ZoneId,\n MasterDbInstanceId = defaultInstance.Id,\n EngineVersion = defaultInstance.EngineVersion,\n InstanceStorage = defaultInstance.InstanceStorage,\n InstanceType = defaultInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultRdsDbProxy = new AliCloud.Rds.RdsDbProxy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n InstanceNetworkType = \"VPC\",\n VpcId = defaultInstance.VpcId,\n VswitchId = defaultInstance.VswitchId,\n DbProxyInstanceNum = 2,\n DbProxyConnectionPrefix = \"example\",\n DbProxyConnectStringPort = 3306,\n DbProxyEndpointReadWriteMode = \"ReadWrite\",\n ReadOnlyInstanceMaxDelayTime = 90,\n DbProxyFeatures = \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n ReadOnlyInstanceDistributionType = \"Custom\",\n ReadOnlyInstanceWeights = new[]\n {\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultInstance.Id,\n Weight = \"100\",\n },\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultReadOnlyInstance.Id,\n Weight = \"500\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.c1.large\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"default\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: defaultInstance.ZoneId,\n\t\t\tMasterDbInstanceId: defaultInstance.ID(),\n\t\t\tEngineVersion: defaultInstance.EngineVersion,\n\t\t\tInstanceStorage: defaultInstance.InstanceStorage,\n\t\t\tInstanceType: defaultInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsDbProxy(ctx, \"default\", \u0026rds.RdsDbProxyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVpcId: defaultInstance.VpcId,\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tDbProxyInstanceNum: pulumi.Int(2),\n\t\t\tDbProxyConnectionPrefix: pulumi.String(\"example\"),\n\t\t\tDbProxyConnectStringPort: pulumi.Int(3306),\n\t\t\tDbProxyEndpointReadWriteMode: pulumi.String(\"ReadWrite\"),\n\t\t\tReadOnlyInstanceMaxDelayTime: pulumi.Int(90),\n\t\t\tDbProxyFeatures: pulumi.String(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\"),\n\t\t\tReadOnlyInstanceDistributionType: pulumi.String(\"Custom\"),\n\t\t\tReadOnlyInstanceWeights: rds.RdsDbProxyReadOnlyInstanceWeightArray{\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultReadOnlyInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"500\"),\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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.alicloud.rds.RdsDbProxy;\nimport com.pulumi.alicloud.rds.RdsDbProxyArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsDbProxyReadOnlyInstanceWeightArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.7\")\n .instanceType(\"rds.mysql.c1.large\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultReadOnlyInstance = new ReadOnlyInstance(\"defaultReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(defaultInstance.zoneId())\n .masterDbInstanceId(defaultInstance.id())\n .engineVersion(defaultInstance.engineVersion())\n .instanceStorage(defaultInstance.instanceStorage())\n .instanceType(defaultInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultRdsDbProxy = new RdsDbProxy(\"defaultRdsDbProxy\", RdsDbProxyArgs.builder()\n .instanceId(defaultInstance.id())\n .instanceNetworkType(\"VPC\")\n .vpcId(defaultInstance.vpcId())\n .vswitchId(defaultInstance.vswitchId())\n .dbProxyInstanceNum(2)\n .dbProxyConnectionPrefix(\"example\")\n .dbProxyConnectStringPort(3306)\n .dbProxyEndpointReadWriteMode(\"ReadWrite\")\n .readOnlyInstanceMaxDelayTime(90)\n .dbProxyFeatures(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\")\n .readOnlyInstanceDistributionType(\"Custom\")\n .readOnlyInstanceWeights( \n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultInstance.id())\n .weight(\"100\")\n .build(),\n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultReadOnlyInstance.id())\n .weight(\"500\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.7'\n instanceType: rds.mysql.c1.large\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: default\n properties:\n zoneId: ${defaultInstance.zoneId}\n masterDbInstanceId: ${defaultInstance.id}\n engineVersion: ${defaultInstance.engineVersion}\n instanceStorage: ${defaultInstance.instanceStorage}\n instanceType: ${defaultInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${defaultSwitch.id}\n defaultRdsDbProxy:\n type: alicloud:rds:RdsDbProxy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n instanceNetworkType: VPC\n vpcId: ${defaultInstance.vpcId}\n vswitchId: ${defaultInstance.vswitchId}\n dbProxyInstanceNum: 2\n dbProxyConnectionPrefix: example\n dbProxyConnectStringPort: 3306\n dbProxyEndpointReadWriteMode: ReadWrite\n readOnlyInstanceMaxDelayTime: 90\n dbProxyFeatures: TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\n readOnlyInstanceDistributionType: Custom\n readOnlyInstanceWeights:\n - instanceId: ${defaultInstance.id}\n weight: '100'\n - instanceId: ${defaultReadOnlyInstance.id}\n weight: '500'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-dotnet=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-go=\"`rds.RdsDbProxy`\" pulumi-lang-python=\"`rds.RdsDbProxy`\" pulumi-lang-yaml=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-java=\"`alicloud.rds.RdsDbProxy`\"\u003e`alicloud.rds.RdsDbProxy`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-go=\"`rds.ReadOnlyInstance`\" pulumi-lang-python=\"`rds.ReadOnlyInstance`\" pulumi-lang-yaml=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-java=\"`alicloud.rds.ReadOnlyInstance`\"\u003e`alicloud.rds.ReadOnlyInstance`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n## Import\n\nRDS database proxy feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsDbProxy:RdsDbProxy example abc12345678\n```\n\n", + "description": "Information about RDS database exclusive agent and its usage, see [What is RDS DB Proxy](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-modifydbproxy).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"5.7\",\n instanceType: \"rds.mysql.c1.large\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"default\", {\n zoneId: defaultInstance.zoneId,\n masterDbInstanceId: defaultInstance.id,\n engineVersion: defaultInstance.engineVersion,\n instanceStorage: defaultInstance.instanceStorage,\n instanceType: defaultInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: defaultSwitch.id,\n});\nconst defaultRdsDbProxy = new alicloud.rds.RdsDbProxy(\"default\", {\n instanceId: defaultInstance.id,\n instanceNetworkType: \"VPC\",\n vpcId: defaultInstance.vpcId,\n vswitchId: defaultInstance.vswitchId,\n dbProxyInstanceNum: 2,\n dbProxyConnectionPrefix: \"example\",\n dbProxyConnectStringPort: 3306,\n dbProxyEndpointReadWriteMode: \"ReadWrite\",\n readOnlyInstanceMaxDelayTime: 90,\n dbProxyFeatures: \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n readOnlyInstanceDistributionType: \"Custom\",\n readOnlyInstanceWeights: [\n {\n instanceId: defaultInstance.id,\n weight: \"100\",\n },\n {\n instanceId: defaultReadOnlyInstance.id,\n weight: \"500\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"5.7\",\n instance_type=\"rds.mysql.c1.large\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_read_only_instance = alicloud.rds.ReadOnlyInstance(\"default\",\n zone_id=default_instance.zone_id,\n master_db_instance_id=default_instance.id,\n engine_version=default_instance.engine_version,\n instance_storage=default_instance.instance_storage,\n instance_type=default_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=default_switch.id)\ndefault_rds_db_proxy = alicloud.rds.RdsDbProxy(\"default\",\n instance_id=default_instance.id,\n instance_network_type=\"VPC\",\n vpc_id=default_instance.vpc_id,\n vswitch_id=default_instance.vswitch_id,\n db_proxy_instance_num=2,\n db_proxy_connection_prefix=\"example\",\n db_proxy_connect_string_port=3306,\n db_proxy_endpoint_read_write_mode=\"ReadWrite\",\n read_only_instance_max_delay_time=90,\n db_proxy_features=\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n read_only_instance_distribution_type=\"Custom\",\n read_only_instance_weights=[\n {\n \"instance_id\": default_instance.id,\n \"weight\": \"100\",\n },\n {\n \"instance_id\": default_read_only_instance.id,\n \"weight\": \"500\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.7\",\n InstanceType = \"rds.mysql.c1.large\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"default\", new()\n {\n ZoneId = defaultInstance.ZoneId,\n MasterDbInstanceId = defaultInstance.Id,\n EngineVersion = defaultInstance.EngineVersion,\n InstanceStorage = defaultInstance.InstanceStorage,\n InstanceType = defaultInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultRdsDbProxy = new AliCloud.Rds.RdsDbProxy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n InstanceNetworkType = \"VPC\",\n VpcId = defaultInstance.VpcId,\n VswitchId = defaultInstance.VswitchId,\n DbProxyInstanceNum = 2,\n DbProxyConnectionPrefix = \"example\",\n DbProxyConnectStringPort = 3306,\n DbProxyEndpointReadWriteMode = \"ReadWrite\",\n ReadOnlyInstanceMaxDelayTime = 90,\n DbProxyFeatures = \"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\",\n ReadOnlyInstanceDistributionType = \"Custom\",\n ReadOnlyInstanceWeights = new[]\n {\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultInstance.Id,\n Weight = \"100\",\n },\n new AliCloud.Rds.Inputs.RdsDbProxyReadOnlyInstanceWeightArgs\n {\n InstanceId = defaultReadOnlyInstance.Id,\n Weight = \"500\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.c1.large\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"default\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: defaultInstance.ZoneId,\n\t\t\tMasterDbInstanceId: defaultInstance.ID(),\n\t\t\tEngineVersion: defaultInstance.EngineVersion,\n\t\t\tInstanceStorage: defaultInstance.InstanceStorage,\n\t\t\tInstanceType: defaultInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsDbProxy(ctx, \"default\", \u0026rds.RdsDbProxyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tVpcId: defaultInstance.VpcId,\n\t\t\tVswitchId: defaultInstance.VswitchId,\n\t\t\tDbProxyInstanceNum: pulumi.Int(2),\n\t\t\tDbProxyConnectionPrefix: pulumi.String(\"example\"),\n\t\t\tDbProxyConnectStringPort: pulumi.Int(3306),\n\t\t\tDbProxyEndpointReadWriteMode: pulumi.String(\"ReadWrite\"),\n\t\t\tReadOnlyInstanceMaxDelayTime: pulumi.Int(90),\n\t\t\tDbProxyFeatures: pulumi.String(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\"),\n\t\t\tReadOnlyInstanceDistributionType: pulumi.String(\"Custom\"),\n\t\t\tReadOnlyInstanceWeights: rds.RdsDbProxyReadOnlyInstanceWeightArray{\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"100\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsDbProxyReadOnlyInstanceWeightArgs{\n\t\t\t\t\tInstanceId: defaultReadOnlyInstance.ID(),\n\t\t\t\t\tWeight: pulumi.String(\"500\"),\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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.alicloud.rds.RdsDbProxy;\nimport com.pulumi.alicloud.rds.RdsDbProxyArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsDbProxyReadOnlyInstanceWeightArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.7\")\n .instanceType(\"rds.mysql.c1.large\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultReadOnlyInstance = new ReadOnlyInstance(\"defaultReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(defaultInstance.zoneId())\n .masterDbInstanceId(defaultInstance.id())\n .engineVersion(defaultInstance.engineVersion())\n .instanceStorage(defaultInstance.instanceStorage())\n .instanceType(defaultInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultRdsDbProxy = new RdsDbProxy(\"defaultRdsDbProxy\", RdsDbProxyArgs.builder()\n .instanceId(defaultInstance.id())\n .instanceNetworkType(\"VPC\")\n .vpcId(defaultInstance.vpcId())\n .vswitchId(defaultInstance.vswitchId())\n .dbProxyInstanceNum(2)\n .dbProxyConnectionPrefix(\"example\")\n .dbProxyConnectStringPort(3306)\n .dbProxyEndpointReadWriteMode(\"ReadWrite\")\n .readOnlyInstanceMaxDelayTime(90)\n .dbProxyFeatures(\"TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\")\n .readOnlyInstanceDistributionType(\"Custom\")\n .readOnlyInstanceWeights( \n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultInstance.id())\n .weight(\"100\")\n .build(),\n RdsDbProxyReadOnlyInstanceWeightArgs.builder()\n .instanceId(defaultReadOnlyInstance.id())\n .weight(\"500\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '5.7'\n instanceType: rds.mysql.c1.large\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: default\n properties:\n zoneId: ${defaultInstance.zoneId}\n masterDbInstanceId: ${defaultInstance.id}\n engineVersion: ${defaultInstance.engineVersion}\n instanceStorage: ${defaultInstance.instanceStorage}\n instanceType: ${defaultInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${defaultSwitch.id}\n defaultRdsDbProxy:\n type: alicloud:rds:RdsDbProxy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n instanceNetworkType: VPC\n vpcId: ${defaultInstance.vpcId}\n vswitchId: ${defaultInstance.vswitchId}\n dbProxyInstanceNum: 2\n dbProxyConnectionPrefix: example\n dbProxyConnectStringPort: 3306\n dbProxyEndpointReadWriteMode: ReadWrite\n readOnlyInstanceMaxDelayTime: 90\n dbProxyFeatures: TransactionReadSqlRouteOptimizeStatus:1;ConnectionPersist:1;ReadWriteSpliting:1\n readOnlyInstanceDistributionType: Custom\n readOnlyInstanceWeights:\n - instanceId: ${defaultInstance.id}\n weight: '100'\n - instanceId: ${defaultReadOnlyInstance.id}\n weight: '500'\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-dotnet=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-go=\"`rds.RdsDbProxy`\" pulumi-lang-python=\"`rds.RdsDbProxy`\" pulumi-lang-yaml=\"`alicloud.rds.RdsDbProxy`\" pulumi-lang-java=\"`alicloud.rds.RdsDbProxy`\"\u003e`alicloud.rds.RdsDbProxy`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-go=\"`rds.ReadOnlyInstance`\" pulumi-lang-python=\"`rds.ReadOnlyInstance`\" pulumi-lang-yaml=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-java=\"`alicloud.rds.ReadOnlyInstance`\"\u003e`alicloud.rds.ReadOnlyInstance`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS database proxy feature can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsDbProxy:RdsDbProxy example abc12345678\n```\n\n", "properties": { "dbProxyConnectStringPort": { "type": "integer", @@ -236748,7 +241980,7 @@ } }, "alicloud:rds/rdsInstanceCrossBackupPolicy:RdsInstanceCrossBackupPolicy": { - "description": "Provides an RDS instance emote disaster recovery strategy policy resource and used to configure instance emote disaster recovery strategy policy.\n\nFor information about RDS cross region backup settings and how to use them, see [What is cross region backup](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/modify-cross-region-backup-settings).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"local_ssd\",\n category: \"HighAvailability\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"local_ssd\",\n category: \"HighAvailability\",\n}));\nconst regions = alicloud.rds.getCrossRegions({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n category: \"HighAvailability\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultRdsInstanceCrossBackupPolicy = new alicloud.rds.RdsInstanceCrossBackupPolicy(\"default\", {\n instanceId: defaultInstance.id,\n crossBackupRegion: regions.then(regions =\u003e regions.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"local_ssd\",\n category=\"HighAvailability\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"local_ssd\",\n category=\"HighAvailability\")\nregions = alicloud.rds.get_cross_regions()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n category=\"HighAvailability\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_rds_instance_cross_backup_policy = alicloud.rds.RdsInstanceCrossBackupPolicy(\"default\",\n instance_id=default_instance.id,\n cross_backup_region=regions.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"local_ssd\",\n Category = \"HighAvailability\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"local_ssd\",\n Category = \"HighAvailability\",\n });\n\n var regions = AliCloud.Rds.GetCrossRegions.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n Category = \"HighAvailability\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultRdsInstanceCrossBackupPolicy = new AliCloud.Rds.RdsInstanceCrossBackupPolicy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n CrossBackupRegion = regions.Apply(getCrossRegionsResult =\u003e getCrossRegionsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tregions, err := rds.GetCrossRegions(ctx, \u0026rds.GetCrossRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsInstanceCrossBackupPolicy(ctx, \"default\", \u0026rds.RdsInstanceCrossBackupPolicyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tCrossBackupRegion: pulumi.String(regions.Ids[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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetCrossRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsInstanceCrossBackupPolicy;\nimport com.pulumi.alicloud.rds.RdsInstanceCrossBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"local_ssd\")\n .category(\"HighAvailability\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"local_ssd\")\n .category(\"HighAvailability\")\n .build());\n\n final var regions = RdsFunctions.getCrossRegions(GetCrossRegionsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .category(\"HighAvailability\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultRdsInstanceCrossBackupPolicy = new RdsInstanceCrossBackupPolicy(\"defaultRdsInstanceCrossBackupPolicy\", RdsInstanceCrossBackupPolicyArgs.builder()\n .instanceId(defaultInstance.id())\n .crossBackupRegion(regions.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n category: HighAvailability\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultRdsInstanceCrossBackupPolicy:\n type: alicloud:rds:RdsInstanceCrossBackupPolicy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n crossBackupRegion: ${regions.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: local_ssd\n category: HighAvailability\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: local_ssd\n category: HighAvailability\n regions:\n fn::invoke:\n function: alicloud:rds:getCrossRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS remote disaster recovery policies can be imported using id or instance id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsInstanceCrossBackupPolicy:RdsInstanceCrossBackupPolicy example \"rm-12345678\"\n```\n\n", + "description": "Provides an RDS instance emote disaster recovery strategy policy resource and used to configure instance emote disaster recovery strategy policy.\n\nFor information about RDS cross region backup settings and how to use them, see [What is cross region backup](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/modify-cross-region-backup-settings).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"local_ssd\",\n category: \"HighAvailability\",\n});\nconst defaultGetInstanceClasses = _default.then(_default =\u003e alicloud.rds.getInstanceClasses({\n zoneId: _default.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n dbInstanceStorageType: \"local_ssd\",\n category: \"HighAvailability\",\n}));\nconst regions = alicloud.rds.getCrossRegions({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchName: name,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n category: \"HighAvailability\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n dbInstanceStorageType: \"local_ssd\",\n});\nconst defaultRdsInstanceCrossBackupPolicy = new alicloud.rds.RdsInstanceCrossBackupPolicy(\"default\", {\n instanceId: defaultInstance.id,\n crossBackupRegion: regions.then(regions =\u003e regions.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"local_ssd\",\n category=\"HighAvailability\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0],\n engine=\"MySQL\",\n engine_version=\"8.0\",\n db_instance_storage_type=\"local_ssd\",\n category=\"HighAvailability\")\nregions = alicloud.rds.get_cross_regions()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=default.ids[0],\n vswitch_name=name)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n category=\"HighAvailability\",\n instance_name=name,\n vswitch_id=default_switch.id,\n db_instance_storage_type=\"local_ssd\")\ndefault_rds_instance_cross_backup_policy = alicloud.rds.RdsInstanceCrossBackupPolicy(\"default\",\n instance_id=default_instance.id,\n cross_backup_region=regions.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"local_ssd\",\n Category = \"HighAvailability\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n DbInstanceStorageType = \"local_ssd\",\n Category = \"HighAvailability\",\n });\n\n var regions = AliCloud.Rds.GetCrossRegions.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0])),\n VswitchName = name,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n Category = \"HighAvailability\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n DbInstanceStorageType = \"local_ssd\",\n });\n\n var defaultRdsInstanceCrossBackupPolicy = new AliCloud.Rds.RdsInstanceCrossBackupPolicy(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n CrossBackupRegion = regions.Apply(getCrossRegionsResult =\u003e getCrossRegionsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"local_ssd\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tregions, err := rds.GetCrossRegions(ctx, \u0026rds.GetCrossRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tDbInstanceStorageType: pulumi.String(\"local_ssd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsInstanceCrossBackupPolicy(ctx, \"default\", \u0026rds.RdsInstanceCrossBackupPolicyArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tCrossBackupRegion: pulumi.String(regions.Ids[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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetCrossRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsInstanceCrossBackupPolicy;\nimport com.pulumi.alicloud.rds.RdsInstanceCrossBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"local_ssd\")\n .category(\"HighAvailability\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(default_.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .dbInstanceStorageType(\"local_ssd\")\n .category(\"HighAvailability\")\n .build());\n\n final var regions = RdsFunctions.getCrossRegions(GetCrossRegionsArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(default_.ids()[0])\n .vswitchName(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .category(\"HighAvailability\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .dbInstanceStorageType(\"local_ssd\")\n .build());\n\n var defaultRdsInstanceCrossBackupPolicy = new RdsInstanceCrossBackupPolicy(\"defaultRdsInstanceCrossBackupPolicy\", RdsInstanceCrossBackupPolicyArgs.builder()\n .instanceId(defaultInstance.id())\n .crossBackupRegion(regions.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${default.ids[0]}\n vswitchName: ${name}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n category: HighAvailability\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n dbInstanceStorageType: local_ssd\n defaultRdsInstanceCrossBackupPolicy:\n type: alicloud:rds:RdsInstanceCrossBackupPolicy\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n crossBackupRegion: ${regions.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: local_ssd\n category: HighAvailability\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${default.ids[0]}\n engine: MySQL\n engineVersion: '8.0'\n dbInstanceStorageType: local_ssd\n category: HighAvailability\n regions:\n fn::invoke:\n function: alicloud:rds:getCrossRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS remote disaster recovery policies can be imported using id or instance id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsInstanceCrossBackupPolicy:RdsInstanceCrossBackupPolicy example \"rm-12345678\"\n```\n\n", "properties": { "backupEnabled": { "type": "string", @@ -236884,7 +242116,7 @@ } }, "alicloud:rds/rdsParameterGroup:RdsParameterGroup": { - "description": "Provides a RDS Parameter Group resource.\n\nFor information about RDS Parameter Group and how to use it, see [What is Parameter Group](https://www.alibabacloud.com/help/en/doc-detail/144839.htm).\n\n\u003e **NOTE:** Available since v1.119.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.rds.RdsParameterGroup(\"default\", {\n engine: \"mysql\",\n engineVersion: \"5.7\",\n paramDetails: [\n {\n paramName: \"back_log\",\n paramValue: \"4000\",\n },\n {\n paramName: \"wait_timeout\",\n paramValue: \"86460\",\n },\n ],\n parameterGroupDesc: name,\n parameterGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.RdsParameterGroup(\"default\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n param_details=[\n {\n \"param_name\": \"back_log\",\n \"param_value\": \"4000\",\n },\n {\n \"param_name\": \"wait_timeout\",\n \"param_value\": \"86460\",\n },\n ],\n parameter_group_desc=name,\n parameter_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Rds.RdsParameterGroup(\"default\", new()\n {\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n ParamDetails = new[]\n {\n new AliCloud.Rds.Inputs.RdsParameterGroupParamDetailArgs\n {\n ParamName = \"back_log\",\n ParamValue = \"4000\",\n },\n new AliCloud.Rds.Inputs.RdsParameterGroupParamDetailArgs\n {\n ParamName = \"wait_timeout\",\n ParamValue = \"86460\",\n },\n },\n ParameterGroupDesc = name,\n ParameterGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := rds.NewRdsParameterGroup(ctx, \"default\", \u0026rds.RdsParameterGroupArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tParamDetails: rds.RdsParameterGroupParamDetailArray{\n\t\t\t\t\u0026rds.RdsParameterGroupParamDetailArgs{\n\t\t\t\t\tParamName: pulumi.String(\"back_log\"),\n\t\t\t\t\tParamValue: pulumi.String(\"4000\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsParameterGroupParamDetailArgs{\n\t\t\t\t\tParamName: pulumi.String(\"wait_timeout\"),\n\t\t\t\t\tParamValue: pulumi.String(\"86460\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameterGroupDesc: pulumi.String(name),\n\t\t\tParameterGroupName: pulumi.String(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.alicloud.rds.RdsParameterGroup;\nimport com.pulumi.alicloud.rds.RdsParameterGroupArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsParameterGroupParamDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new RdsParameterGroup(\"default\", RdsParameterGroupArgs.builder()\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .paramDetails( \n RdsParameterGroupParamDetailArgs.builder()\n .paramName(\"back_log\")\n .paramValue(\"4000\")\n .build(),\n RdsParameterGroupParamDetailArgs.builder()\n .paramName(\"wait_timeout\")\n .paramValue(\"86460\")\n .build())\n .parameterGroupDesc(name)\n .parameterGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:rds:RdsParameterGroup\n properties:\n engine: mysql\n engineVersion: '5.7'\n paramDetails:\n - paramName: back_log\n paramValue: '4000'\n - paramName: wait_timeout\n paramValue: '86460'\n parameterGroupDesc: ${name}\n parameterGroupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Parameter Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsParameterGroup:RdsParameterGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS Parameter Group resource.\n\nFor information about RDS Parameter Group and how to use it, see [What is Parameter Group](https://www.alibabacloud.com/help/en/doc-detail/144839.htm).\n\n\u003e **NOTE:** Available since v1.119.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.rds.RdsParameterGroup(\"default\", {\n engine: \"mysql\",\n engineVersion: \"5.7\",\n paramDetails: [\n {\n paramName: \"back_log\",\n paramValue: \"4000\",\n },\n {\n paramName: \"wait_timeout\",\n paramValue: \"86460\",\n },\n ],\n parameterGroupDesc: name,\n parameterGroupName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.rds.RdsParameterGroup(\"default\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n param_details=[\n {\n \"param_name\": \"back_log\",\n \"param_value\": \"4000\",\n },\n {\n \"param_name\": \"wait_timeout\",\n \"param_value\": \"86460\",\n },\n ],\n parameter_group_desc=name,\n parameter_group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Rds.RdsParameterGroup(\"default\", new()\n {\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n ParamDetails = new[]\n {\n new AliCloud.Rds.Inputs.RdsParameterGroupParamDetailArgs\n {\n ParamName = \"back_log\",\n ParamValue = \"4000\",\n },\n new AliCloud.Rds.Inputs.RdsParameterGroupParamDetailArgs\n {\n ParamName = \"wait_timeout\",\n ParamValue = \"86460\",\n },\n },\n ParameterGroupDesc = name,\n ParameterGroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := rds.NewRdsParameterGroup(ctx, \"default\", \u0026rds.RdsParameterGroupArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tParamDetails: rds.RdsParameterGroupParamDetailArray{\n\t\t\t\t\u0026rds.RdsParameterGroupParamDetailArgs{\n\t\t\t\t\tParamName: pulumi.String(\"back_log\"),\n\t\t\t\t\tParamValue: pulumi.String(\"4000\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.RdsParameterGroupParamDetailArgs{\n\t\t\t\t\tParamName: pulumi.String(\"wait_timeout\"),\n\t\t\t\t\tParamValue: pulumi.String(\"86460\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tParameterGroupDesc: pulumi.String(name),\n\t\t\tParameterGroupName: pulumi.String(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.alicloud.rds.RdsParameterGroup;\nimport com.pulumi.alicloud.rds.RdsParameterGroupArgs;\nimport com.pulumi.alicloud.rds.inputs.RdsParameterGroupParamDetailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new RdsParameterGroup(\"default\", RdsParameterGroupArgs.builder()\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .paramDetails( \n RdsParameterGroupParamDetailArgs.builder()\n .paramName(\"back_log\")\n .paramValue(\"4000\")\n .build(),\n RdsParameterGroupParamDetailArgs.builder()\n .paramName(\"wait_timeout\")\n .paramValue(\"86460\")\n .build())\n .parameterGroupDesc(name)\n .parameterGroupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:rds:RdsParameterGroup\n properties:\n engine: mysql\n engineVersion: '5.7'\n paramDetails:\n - paramName: back_log\n paramValue: '4000'\n - paramName: wait_timeout\n paramValue: '86460'\n parameterGroupDesc: ${name}\n parameterGroupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Parameter Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsParameterGroup:RdsParameterGroup example \u003cid\u003e\n```\n\n", "properties": { "engine": { "type": "string", @@ -236982,7 +242214,7 @@ } }, "alicloud:rds/rdsServiceLinkedRole:RdsServiceLinkedRole": { - "description": "Provides a RDS Service Linked Role.\n\nFor information about RDS Service Linked Role and how to use it, see [What is Service Linked Role.](https://www.alibabacloud.com/help/en/doc-detail/171226.htm).\n\n\u003e **NOTE:** Available since v1.189.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.rds.RdsServiceLinkedRole(\"default\", {serviceName: \"AliyunServiceRoleForRdsPgsqlOnEcs\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.rds.RdsServiceLinkedRole(\"default\", service_name=\"AliyunServiceRoleForRdsPgsqlOnEcs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Rds.RdsServiceLinkedRole(\"default\", new()\n {\n ServiceName = \"AliyunServiceRoleForRdsPgsqlOnEcs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewRdsServiceLinkedRole(ctx, \"default\", \u0026rds.RdsServiceLinkedRoleArgs{\n\t\t\tServiceName: pulumi.String(\"AliyunServiceRoleForRdsPgsqlOnEcs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsServiceLinkedRole;\nimport com.pulumi.alicloud.rds.RdsServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new RdsServiceLinkedRole(\"default\", RdsServiceLinkedRoleArgs.builder()\n .serviceName(\"AliyunServiceRoleForRdsPgsqlOnEcs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:rds:RdsServiceLinkedRole\n properties:\n serviceName: AliyunServiceRoleForRdsPgsqlOnEcs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsServiceLinkedRole:RdsServiceLinkedRole default \u003cservice_name\u003e\n```\n\n", + "description": "Provides a RDS Service Linked Role.\n\nFor information about RDS Service Linked Role and how to use it, see [What is Service Linked Role.](https://www.alibabacloud.com/help/en/doc-detail/171226.htm).\n\n\u003e **NOTE:** Available since v1.189.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.rds.RdsServiceLinkedRole(\"default\", {serviceName: \"AliyunServiceRoleForRdsPgsqlOnEcs\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.rds.RdsServiceLinkedRole(\"default\", service_name=\"AliyunServiceRoleForRdsPgsqlOnEcs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Rds.RdsServiceLinkedRole(\"default\", new()\n {\n ServiceName = \"AliyunServiceRoleForRdsPgsqlOnEcs\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewRdsServiceLinkedRole(ctx, \"default\", \u0026rds.RdsServiceLinkedRoleArgs{\n\t\t\tServiceName: pulumi.String(\"AliyunServiceRoleForRdsPgsqlOnEcs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsServiceLinkedRole;\nimport com.pulumi.alicloud.rds.RdsServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new RdsServiceLinkedRole(\"default\", RdsServiceLinkedRoleArgs.builder()\n .serviceName(\"AliyunServiceRoleForRdsPgsqlOnEcs\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:rds:RdsServiceLinkedRole\n properties:\n serviceName: AliyunServiceRoleForRdsPgsqlOnEcs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsServiceLinkedRole:RdsServiceLinkedRole default \u003cservice_name\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -237042,7 +242274,7 @@ } }, "alicloud:rds/rdsUpgradeDbInstance:RdsUpgradeDbInstance": { - "description": "Provides a RDS Upgrade DB Instance resource.\n\nFor information about RDS Upgrade DB Instance and how to use it, see [What is ApsaraDB for RDS](https://www.alibabacloud.com/help/en/doc-detail/26092.htm).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\n### Create a RDS PostgreSQL upgrade instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.rds.getZones({\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.zones?.[0]?.id,\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst exampleGetCrossRegions = alicloud.rds.getCrossRegions({});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n});\nconst exampleRdsUpgradeDbInstance = new alicloud.rds.RdsUpgradeDbInstance(\"example\", {\n sourceDbInstanceId: exampleInstance.id,\n targetMajorVersion: \"14.0\",\n dbInstanceClass: exampleInstance.instanceType,\n dbInstanceStorage: exampleInstance.instanceStorage,\n dbInstanceStorageType: exampleInstance.dbInstanceStorageType,\n instanceNetworkType: \"VPC\",\n collectStatMode: \"After\",\n switchOver: \"false\",\n paymentType: \"PayAsYouGo\",\n dbInstanceDescription: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.get_zones(engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.zones[0].id,\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\nexample_get_cross_regions = alicloud.rds.get_cross_regions()\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=\"terraform-example\",\n vswitch_id=example_switch.id,\n monitoring_period=60)\nexample_rds_upgrade_db_instance = alicloud.rds.RdsUpgradeDbInstance(\"example\",\n source_db_instance_id=example_instance.id,\n target_major_version=\"14.0\",\n db_instance_class=example_instance.instance_type,\n db_instance_storage=example_instance.instance_storage,\n db_instance_storage_type=example_instance.db_instance_storage_type,\n instance_network_type=\"VPC\",\n collect_stat_mode=\"After\",\n switch_over=\"false\",\n payment_type=\"PayAsYouGo\",\n db_instance_description=\"terraform-example\",\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var exampleGetCrossRegions = AliCloud.Rds.GetCrossRegions.Invoke();\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n });\n\n var exampleRdsUpgradeDbInstance = new AliCloud.Rds.RdsUpgradeDbInstance(\"example\", new()\n {\n SourceDbInstanceId = exampleInstance.Id,\n TargetMajorVersion = \"14.0\",\n DbInstanceClass = exampleInstance.InstanceType,\n DbInstanceStorage = exampleInstance.InstanceStorage,\n DbInstanceStorageType = exampleInstance.DbInstanceStorageType,\n InstanceNetworkType = \"VPC\",\n CollectStatMode = \"After\",\n SwitchOver = \"false\",\n PaymentType = \"PayAsYouGo\",\n DbInstanceDescription = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.GetCrossRegions(ctx, \u0026rds.GetCrossRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.String(\"13.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsUpgradeDbInstance(ctx, \"example\", \u0026rds.RdsUpgradeDbInstanceArgs{\n\t\t\tSourceDbInstanceId: exampleInstance.ID(),\n\t\t\tTargetMajorVersion: pulumi.String(\"14.0\"),\n\t\t\tDbInstanceClass: exampleInstance.InstanceType,\n\t\t\tDbInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tDbInstanceStorageType: exampleInstance.DbInstanceStorageType,\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tCollectStatMode: pulumi.String(\"After\"),\n\t\t\tSwitchOver: pulumi.String(\"false\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetCrossRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsUpgradeDbInstance;\nimport com.pulumi.alicloud.rds.RdsUpgradeDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.zones()[0].id())\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n final var exampleGetCrossRegions = RdsFunctions.getCrossRegions(GetCrossRegionsArgs.builder()\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .build());\n\n var exampleRdsUpgradeDbInstance = new RdsUpgradeDbInstance(\"exampleRdsUpgradeDbInstance\", RdsUpgradeDbInstanceArgs.builder()\n .sourceDbInstanceId(exampleInstance.id())\n .targetMajorVersion(\"14.0\")\n .dbInstanceClass(exampleInstance.instanceType())\n .dbInstanceStorage(exampleInstance.instanceStorage())\n .dbInstanceStorageType(exampleInstance.dbInstanceStorageType())\n .instanceNetworkType(\"VPC\")\n .collectStatMode(\"After\")\n .switchOver(\"false\")\n .paymentType(\"PayAsYouGo\")\n .dbInstanceDescription(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: PostgreSQL\n engineVersion: '13.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: terraform-example\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n exampleRdsUpgradeDbInstance:\n type: alicloud:rds:RdsUpgradeDbInstance\n name: example\n properties:\n sourceDbInstanceId: ${exampleInstance.id}\n targetMajorVersion: '14.0'\n dbInstanceClass: ${exampleInstance.instanceType}\n dbInstanceStorage: ${exampleInstance.instanceStorage}\n dbInstanceStorageType: ${exampleInstance.dbInstanceStorageType}\n instanceNetworkType: VPC\n collectStatMode: After\n switchOver: 'false'\n paymentType: PayAsYouGo\n dbInstanceDescription: terraform-example\n vswitchId: ${exampleSwitch.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.zones[0].id}\n engine: PostgreSQL\n engineVersion: '13.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n exampleGetCrossRegions:\n fn::invoke:\n function: alicloud:rds:getCrossRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS Upgrade DB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsUpgradeDbInstance:RdsUpgradeDbInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a RDS Upgrade DB Instance resource.\n\nFor information about RDS Upgrade DB Instance and how to use it, see [What is ApsaraDB for RDS](https://www.alibabacloud.com/help/en/doc-detail/26092.htm).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\n### Create a RDS PostgreSQL upgrade instance\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.rds.getZones({\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n instanceChargeType: \"PostPaid\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.zones?.[0]?.id,\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n category: \"HighAvailability\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst exampleGetCrossRegions = alicloud.rds.getCrossRegions({});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"PostgreSQL\",\n engineVersion: \"13.0\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n monitoringPeriod: 60,\n});\nconst exampleRdsUpgradeDbInstance = new alicloud.rds.RdsUpgradeDbInstance(\"example\", {\n sourceDbInstanceId: exampleInstance.id,\n targetMajorVersion: \"14.0\",\n dbInstanceClass: exampleInstance.instanceType,\n dbInstanceStorage: exampleInstance.instanceStorage,\n dbInstanceStorageType: exampleInstance.dbInstanceStorageType,\n instanceNetworkType: \"VPC\",\n collectStatMode: \"After\",\n switchOver: \"false\",\n paymentType: \"PayAsYouGo\",\n dbInstanceDescription: \"terraform-example\",\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.get_zones(engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n instance_charge_type=\"PostPaid\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.zones[0].id,\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n category=\"HighAvailability\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\nexample_get_cross_regions = alicloud.rds.get_cross_regions()\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"PostgreSQL\",\n engine_version=\"13.0\",\n db_instance_storage_type=\"cloud_essd\",\n instance_type=example_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=example_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=\"terraform-example\",\n vswitch_id=example_switch.id,\n monitoring_period=60)\nexample_rds_upgrade_db_instance = alicloud.rds.RdsUpgradeDbInstance(\"example\",\n source_db_instance_id=example_instance.id,\n target_major_version=\"14.0\",\n db_instance_class=example_instance.instance_type,\n db_instance_storage=example_instance.instance_storage,\n db_instance_storage_type=example_instance.db_instance_storage_type,\n instance_network_type=\"VPC\",\n collect_stat_mode=\"After\",\n switch_over=\"false\",\n payment_type=\"PayAsYouGo\",\n db_instance_description=\"terraform-example\",\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n Category = \"HighAvailability\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var exampleGetCrossRegions = AliCloud.Rds.GetCrossRegions.Invoke();\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"PostgreSQL\",\n EngineVersion = \"13.0\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n MonitoringPeriod = 60,\n });\n\n var exampleRdsUpgradeDbInstance = new AliCloud.Rds.RdsUpgradeDbInstance(\"example\", new()\n {\n SourceDbInstanceId = exampleInstance.Id,\n TargetMajorVersion = \"14.0\",\n DbInstanceClass = exampleInstance.InstanceType,\n DbInstanceStorage = exampleInstance.InstanceStorage,\n DbInstanceStorageType = exampleInstance.DbInstanceStorageType,\n InstanceNetworkType = \"VPC\",\n CollectStatMode = \"After\",\n SwitchOver = \"false\",\n PaymentType = \"PayAsYouGo\",\n DbInstanceDescription = \"terraform-example\",\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"13.0\"),\n\t\t\tCategory: pulumi.StringRef(\"HighAvailability\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.GetCrossRegions(ctx, \u0026rds.GetCrossRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"PostgreSQL\"),\n\t\t\tEngineVersion: pulumi.String(\"13.0\"),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(exampleGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewRdsUpgradeDbInstance(ctx, \"example\", \u0026rds.RdsUpgradeDbInstanceArgs{\n\t\t\tSourceDbInstanceId: exampleInstance.ID(),\n\t\t\tTargetMajorVersion: pulumi.String(\"14.0\"),\n\t\t\tDbInstanceClass: exampleInstance.InstanceType,\n\t\t\tDbInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tDbInstanceStorageType: exampleInstance.DbInstanceStorageType,\n\t\t\tInstanceNetworkType: pulumi.String(\"VPC\"),\n\t\t\tCollectStatMode: pulumi.String(\"After\"),\n\t\t\tSwitchOver: pulumi.String(\"false\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tDbInstanceDescription: pulumi.String(\"terraform-example\"),\n\t\t\tVswitchId: exampleSwitch.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetCrossRegionsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsUpgradeDbInstance;\nimport com.pulumi.alicloud.rds.RdsUpgradeDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.zones()[0].id())\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .category(\"HighAvailability\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n final var exampleGetCrossRegions = RdsFunctions.getCrossRegions(GetCrossRegionsArgs.builder()\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"PostgreSQL\")\n .engineVersion(\"13.0\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(exampleGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .monitoringPeriod(60)\n .build());\n\n var exampleRdsUpgradeDbInstance = new RdsUpgradeDbInstance(\"exampleRdsUpgradeDbInstance\", RdsUpgradeDbInstanceArgs.builder()\n .sourceDbInstanceId(exampleInstance.id())\n .targetMajorVersion(\"14.0\")\n .dbInstanceClass(exampleInstance.instanceType())\n .dbInstanceStorage(exampleInstance.instanceStorage())\n .dbInstanceStorageType(exampleInstance.dbInstanceStorageType())\n .instanceNetworkType(\"VPC\")\n .collectStatMode(\"After\")\n .switchOver(\"false\")\n .paymentType(\"PayAsYouGo\")\n .dbInstanceDescription(\"terraform-example\")\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: PostgreSQL\n engineVersion: '13.0'\n dbInstanceStorageType: cloud_essd\n instanceType: ${exampleGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${exampleGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: terraform-example\n vswitchId: ${exampleSwitch.id}\n monitoringPeriod: '60'\n exampleRdsUpgradeDbInstance:\n type: alicloud:rds:RdsUpgradeDbInstance\n name: example\n properties:\n sourceDbInstanceId: ${exampleInstance.id}\n targetMajorVersion: '14.0'\n dbInstanceClass: ${exampleInstance.instanceType}\n dbInstanceStorage: ${exampleInstance.instanceStorage}\n dbInstanceStorageType: ${exampleInstance.dbInstanceStorageType}\n instanceNetworkType: VPC\n collectStatMode: After\n switchOver: 'false'\n paymentType: PayAsYouGo\n dbInstanceDescription: terraform-example\n vswitchId: ${exampleSwitch.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: PostgreSQL\n engineVersion: '13.0'\n instanceChargeType: PostPaid\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.zones[0].id}\n engine: PostgreSQL\n engineVersion: '13.0'\n category: HighAvailability\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n exampleGetCrossRegions:\n fn::invoke:\n function: alicloud:rds:getCrossRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS Upgrade DB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/rdsUpgradeDbInstance:RdsUpgradeDbInstance example \u003cid\u003e\n```\n\n", "properties": { "acl": { "type": "string", @@ -237798,7 +243030,7 @@ } }, "alicloud:rds/readOnlyInstance:ReadOnlyInstance": { - "description": "Provides an RDS readonly instance resource, see [What is DB Readonly Instance](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createreadonlydbinstance).\n\n\u003e **NOTE:** Available since v1.52.1.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n securityIps: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n});\nconst exampleReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"example\", {\n zoneId: exampleInstance.zoneId,\n masterDbInstanceId: exampleInstance.id,\n engineVersion: exampleInstance.engineVersion,\n instanceStorage: exampleInstance.instanceStorage,\n instanceType: exampleInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n security_ips=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ])\nexample_read_only_instance = alicloud.rds.ReadOnlyInstance(\"example\",\n zone_id=example_instance.zone_id,\n master_db_instance_id=example_instance.id,\n engine_version=example_instance.engine_version,\n instance_storage=example_instance.instance_storage,\n instance_type=example_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n });\n\n var exampleReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"example\", new()\n {\n ZoneId = exampleInstance.ZoneId,\n MasterDbInstanceId = exampleInstance.Id,\n EngineVersion = exampleInstance.EngineVersion,\n InstanceStorage = exampleInstance.InstanceStorage,\n InstanceType = exampleInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReadOnlyInstance(ctx, \"example\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: exampleInstance.ZoneId,\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tEngineVersion: exampleInstance.EngineVersion,\n\t\t\tInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tInstanceType: exampleInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: exampleSwitch.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .securityIps( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .build());\n\n var exampleReadOnlyInstance = new ReadOnlyInstance(\"exampleReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(exampleInstance.zoneId())\n .masterDbInstanceId(exampleInstance.id())\n .engineVersion(exampleInstance.engineVersion())\n .instanceStorage(exampleInstance.instanceStorage())\n .instanceType(exampleInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n securityIps:\n - 10.168.1.12\n - 100.69.7.112\n exampleReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: example\n properties:\n zoneId: ${exampleInstance.zoneId}\n masterDbInstanceId: ${exampleInstance.id}\n engineVersion: ${exampleInstance.engineVersion}\n instanceStorage: ${exampleInstance.instanceStorage}\n instanceType: ${exampleInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${exampleSwitch.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRDS readonly instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/readOnlyInstance:ReadOnlyInstance example rm-abc12345678\n```\n\n", + "description": "Provides an RDS readonly instance resource, see [What is DB Readonly Instance](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createreadonlydbinstance).\n\n\u003e **NOTE:** Available since v1.52.1.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n instanceType: \"rds.mysql.t1.small\",\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n securityIps: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n});\nconst exampleReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"example\", {\n zoneId: exampleInstance.zoneId,\n masterDbInstanceId: exampleInstance.id,\n engineVersion: exampleInstance.engineVersion,\n instanceStorage: exampleInstance.instanceStorage,\n instanceType: exampleInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: exampleSwitch.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n instance_type=\"rds.mysql.t1.small\",\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n security_ips=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ])\nexample_read_only_instance = alicloud.rds.ReadOnlyInstance(\"example\",\n zone_id=example_instance.zone_id,\n master_db_instance_id=example_instance.id,\n engine_version=example_instance.engine_version,\n instance_storage=example_instance.instance_storage,\n instance_type=example_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=example_switch.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n InstanceType = \"rds.mysql.t1.small\",\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n });\n\n var exampleReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"example\", new()\n {\n ZoneId = exampleInstance.ZoneId,\n MasterDbInstanceId = exampleInstance.Id,\n EngineVersion = exampleInstance.EngineVersion,\n InstanceStorage = exampleInstance.InstanceStorage,\n InstanceType = exampleInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = exampleSwitch.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tInstanceType: pulumi.String(\"rds.mysql.t1.small\"),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReadOnlyInstance(ctx, \"example\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: exampleInstance.ZoneId,\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tEngineVersion: exampleInstance.EngineVersion,\n\t\t\tInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tInstanceType: exampleInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: exampleSwitch.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.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .instanceType(\"rds.mysql.t1.small\")\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .securityIps( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .build());\n\n var exampleReadOnlyInstance = new ReadOnlyInstance(\"exampleReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(exampleInstance.zoneId())\n .masterDbInstanceId(exampleInstance.id())\n .engineVersion(exampleInstance.engineVersion())\n .instanceStorage(exampleInstance.instanceStorage())\n .instanceType(exampleInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(exampleSwitch.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '5.6'\n instanceType: rds.mysql.t1.small\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n securityIps:\n - 10.168.1.12\n - 100.69.7.112\n exampleReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: example\n properties:\n zoneId: ${exampleInstance.zoneId}\n masterDbInstanceId: ${exampleInstance.id}\n engineVersion: ${exampleInstance.engineVersion}\n instanceStorage: ${exampleInstance.instanceStorage}\n instanceType: ${exampleInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${exampleSwitch.id}\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS readonly instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/readOnlyInstance:ReadOnlyInstance example rm-abc12345678\n```\n\n", "properties": { "acl": { "type": "string", @@ -238366,7 +243598,7 @@ } }, "alicloud:rds/readWriteSplittingConnection:ReadWriteSplittingConnection": { - "description": "Provides an RDS read write splitting connection resource to allocate an Intranet connection string for RDS instance, see [What is DB Read Write Splitting Connection](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-allocatereadwritesplittingconnection).\n\n\u003e **NOTE:** Available since v1.48.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n category: \"HighAvailability\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[1]?.instanceClass),\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n securityIps: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n});\nconst exampleReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"example\", {\n zoneId: exampleInstance.zoneId,\n masterDbInstanceId: exampleInstance.id,\n engineVersion: exampleInstance.engineVersion,\n instanceStorage: exampleInstance.instanceStorage,\n instanceType: exampleInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleReadWriteSplittingConnection = new alicloud.rds.ReadWriteSplittingConnection(\"example\", {\n instanceId: exampleReadOnlyInstance.masterDbInstanceId,\n connectionPrefix: `example-con-${_default.result}`,\n distributionType: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.ids[0],\n engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n category=\"HighAvailability\",\n instance_type=example_get_instance_classes.instance_classes[1].instance_class,\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n security_ips=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ])\nexample_read_only_instance = alicloud.rds.ReadOnlyInstance(\"example\",\n zone_id=example_instance.zone_id,\n master_db_instance_id=example_instance.id,\n engine_version=example_instance.engine_version,\n instance_storage=example_instance.instance_storage,\n instance_type=example_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_read_write_splitting_connection = alicloud.rds.ReadWriteSplittingConnection(\"example\",\n instance_id=example_read_only_instance.master_db_instance_id,\n connection_prefix=f\"example-con-{default['result']}\",\n distribution_type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n Category = \"HighAvailability\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[1]?.InstanceClass),\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n });\n\n var exampleReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"example\", new()\n {\n ZoneId = exampleInstance.ZoneId,\n MasterDbInstanceId = exampleInstance.Id,\n EngineVersion = exampleInstance.EngineVersion,\n InstanceStorage = exampleInstance.InstanceStorage,\n InstanceType = exampleInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleReadWriteSplittingConnection = new AliCloud.Rds.ReadWriteSplittingConnection(\"example\", new()\n {\n InstanceId = exampleReadOnlyInstance.MasterDbInstanceId,\n ConnectionPrefix = $\"example-con-{@default.Result}\",\n DistributionType = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[1].InstanceClass),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"example\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: exampleInstance.ZoneId,\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tEngineVersion: exampleInstance.EngineVersion,\n\t\t\tInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tInstanceType: exampleInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReadWriteSplittingConnection(ctx, \"example\", \u0026rds.ReadWriteSplittingConnectionArgs{\n\t\t\tInstanceId: exampleReadOnlyInstance.MasterDbInstanceId,\n\t\t\tConnectionPrefix: pulumi.Sprintf(\"example-con-%v\", _default.Result),\n\t\t\tDistributionType: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rds.ReadWriteSplittingConnection;\nimport com.pulumi.alicloud.rds.ReadWriteSplittingConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .category(\"HighAvailability\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[1].instanceClass())\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .securityIps( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .build());\n\n var exampleReadOnlyInstance = new ReadOnlyInstance(\"exampleReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(exampleInstance.zoneId())\n .masterDbInstanceId(exampleInstance.id())\n .engineVersion(exampleInstance.engineVersion())\n .instanceStorage(exampleInstance.instanceStorage())\n .instanceType(exampleInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleReadWriteSplittingConnection = new ReadWriteSplittingConnection(\"exampleReadWriteSplittingConnection\", ReadWriteSplittingConnectionArgs.builder()\n .instanceId(exampleReadOnlyInstance.masterDbInstanceId())\n .connectionPrefix(String.format(\"example-con-%s\", default_.result()))\n .distributionType(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '5.6'\n category: HighAvailability\n instanceType: ${exampleGetInstanceClasses.instanceClasses[1].instanceClass}\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n securityIps:\n - 10.168.1.12\n - 100.69.7.112\n exampleReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: example\n properties:\n zoneId: ${exampleInstance.zoneId}\n masterDbInstanceId: ${exampleInstance.id}\n engineVersion: ${exampleInstance.engineVersion}\n instanceStorage: ${exampleInstance.instanceStorage}\n instanceType: ${exampleInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleReadWriteSplittingConnection:\n type: alicloud:rds:ReadWriteSplittingConnection\n name: example\n properties:\n instanceId: ${exampleReadOnlyInstance.masterDbInstanceId}\n connectionPrefix: example-con-${default.result}\n distributionType: Standard\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.ids[0]}\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-go=\"`rds.ReadWriteSplittingConnection`\" pulumi-lang-python=\"`rds.ReadWriteSplittingConnection`\" pulumi-lang-yaml=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-java=\"`alicloud.rds.ReadWriteSplittingConnection`\"\u003e`alicloud.rds.ReadWriteSplittingConnection`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-go=\"`rds.ReadOnlyInstance`\" pulumi-lang-python=\"`rds.ReadOnlyInstance`\" pulumi-lang-yaml=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-java=\"`alicloud.rds.ReadOnlyInstance`\"\u003e`alicloud.rds.ReadOnlyInstance`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n## Import\n\nRDS read write splitting connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/readWriteSplittingConnection:ReadWriteSplittingConnection example abc12345678\n```\n\n", + "description": "Provides an RDS read write splitting connection resource to allocate an Intranet connection string for RDS instance, see [What is DB Read Write Splitting Connection](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-allocatereadwritesplittingconnection).\n\n\u003e **NOTE:** Available since v1.48.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n});\nconst exampleGetInstanceClasses = example.then(example =\u003e alicloud.rds.getInstanceClasses({\n zoneId: example.ids?.[0],\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n}));\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/24\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.rds.Instance(\"example\", {\n engine: \"MySQL\",\n engineVersion: \"5.6\",\n category: \"HighAvailability\",\n instanceType: exampleGetInstanceClasses.then(exampleGetInstanceClasses =\u003e exampleGetInstanceClasses.instanceClasses?.[1]?.instanceClass),\n instanceStorage: 20,\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: exampleSwitch.id,\n securityIps: [\n \"10.168.1.12\",\n \"100.69.7.112\",\n ],\n});\nconst exampleReadOnlyInstance = new alicloud.rds.ReadOnlyInstance(\"example\", {\n zoneId: exampleInstance.zoneId,\n masterDbInstanceId: exampleInstance.id,\n engineVersion: exampleInstance.engineVersion,\n instanceStorage: exampleInstance.instanceStorage,\n instanceType: exampleInstance.instanceType,\n instanceName: `${name}readonly`,\n vswitchId: exampleSwitch.id,\n});\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst exampleReadWriteSplittingConnection = new alicloud.rds.ReadWriteSplittingConnection(\"example\", {\n instanceId: exampleReadOnlyInstance.masterDbInstanceId,\n connectionPrefix: `example-con-${_default.result}`,\n distributionType: \"Standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=example.ids[0],\n engine=\"MySQL\",\n engine_version=\"5.6\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/24\",\n zone_id=example.zones[0].id,\n vswitch_name=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.rds.Instance(\"example\",\n engine=\"MySQL\",\n engine_version=\"5.6\",\n category=\"HighAvailability\",\n instance_type=example_get_instance_classes.instance_classes[1].instance_class,\n instance_storage=20,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=example_switch.id,\n security_ips=[\n \"10.168.1.12\",\n \"100.69.7.112\",\n ])\nexample_read_only_instance = alicloud.rds.ReadOnlyInstance(\"example\",\n zone_id=example_instance.zone_id,\n master_db_instance_id=example_instance.id,\n engine_version=example_instance.engine_version,\n instance_storage=example_instance.instance_storage,\n instance_type=example_instance.instance_type,\n instance_name=f\"{name}readonly\",\n vswitch_id=example_switch.id)\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample_read_write_splitting_connection = alicloud.rds.ReadWriteSplittingConnection(\"example\",\n instance_id=example_read_only_instance.master_db_instance_id,\n connection_prefix=f\"example-con-{default['result']}\",\n distribution_type=\"Standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/24\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Rds.Instance(\"example\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"5.6\",\n Category = \"HighAvailability\",\n InstanceType = exampleGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[1]?.InstanceClass),\n InstanceStorage = 20,\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = exampleSwitch.Id,\n SecurityIps = new[]\n {\n \"10.168.1.12\",\n \"100.69.7.112\",\n },\n });\n\n var exampleReadOnlyInstance = new AliCloud.Rds.ReadOnlyInstance(\"example\", new()\n {\n ZoneId = exampleInstance.ZoneId,\n MasterDbInstanceId = exampleInstance.Id,\n EngineVersion = exampleInstance.EngineVersion,\n InstanceStorage = exampleInstance.InstanceStorage,\n InstanceType = exampleInstance.InstanceType,\n InstanceName = $\"{name}readonly\",\n VswitchId = exampleSwitch.Id,\n });\n\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var exampleReadWriteSplittingConnection = new AliCloud.Rds.ReadWriteSplittingConnection(\"example\", new()\n {\n InstanceId = exampleReadOnlyInstance.MasterDbInstanceId,\n ConnectionPrefix = $\"example-con-{@default.Result}\",\n DistributionType = \"Standard\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(example.Ids[0]),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"5.6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6\"),\n\t\t\tCategory: pulumi.String(\"HighAvailability\"),\n\t\t\tInstanceType: pulumi.String(exampleGetInstanceClasses.InstanceClasses[1].InstanceClass),\n\t\t\tInstanceStorage: pulumi.Int(20),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tSecurityIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.168.1.12\"),\n\t\t\t\tpulumi.String(\"100.69.7.112\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, \"example\", \u0026rds.ReadOnlyInstanceArgs{\n\t\t\tZoneId: exampleInstance.ZoneId,\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tEngineVersion: exampleInstance.EngineVersion,\n\t\t\tInstanceStorage: exampleInstance.InstanceStorage,\n\t\t\tInstanceType: exampleInstance.InstanceType,\n\t\t\tInstanceName: pulumi.Sprintf(\"%vreadonly\", name),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewReadWriteSplittingConnection(ctx, \"example\", \u0026rds.ReadWriteSplittingConnectionArgs{\n\t\t\tInstanceId: exampleReadOnlyInstance.MasterDbInstanceId,\n\t\t\tConnectionPrefix: pulumi.Sprintf(\"example-con-%v\", _default.Result),\n\t\t\tDistributionType: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.ReadOnlyInstance;\nimport com.pulumi.alicloud.rds.ReadOnlyInstanceArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rds.ReadWriteSplittingConnection;\nimport com.pulumi.alicloud.rds.ReadWriteSplittingConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n final var exampleGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(example.ids()[0])\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/24\")\n .zoneId(example.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"5.6\")\n .category(\"HighAvailability\")\n .instanceType(exampleGetInstanceClasses.instanceClasses()[1].instanceClass())\n .instanceStorage(20)\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(exampleSwitch.id())\n .securityIps( \n \"10.168.1.12\",\n \"100.69.7.112\")\n .build());\n\n var exampleReadOnlyInstance = new ReadOnlyInstance(\"exampleReadOnlyInstance\", ReadOnlyInstanceArgs.builder()\n .zoneId(exampleInstance.zoneId())\n .masterDbInstanceId(exampleInstance.id())\n .engineVersion(exampleInstance.engineVersion())\n .instanceStorage(exampleInstance.instanceStorage())\n .instanceType(exampleInstance.instanceType())\n .instanceName(String.format(\"%sreadonly\", name))\n .vswitchId(exampleSwitch.id())\n .build());\n\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var exampleReadWriteSplittingConnection = new ReadWriteSplittingConnection(\"exampleReadWriteSplittingConnection\", ReadWriteSplittingConnectionArgs.builder()\n .instanceId(exampleReadOnlyInstance.masterDbInstanceId())\n .connectionPrefix(String.format(\"example-con-%s\", default_.result()))\n .distributionType(\"Standard\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/24\n zoneId: ${example.zones[0].id}\n vswitchName: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:rds:Instance\n name: example\n properties:\n engine: MySQL\n engineVersion: '5.6'\n category: HighAvailability\n instanceType: ${exampleGetInstanceClasses.instanceClasses[1].instanceClass}\n instanceStorage: '20'\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${exampleSwitch.id}\n securityIps:\n - 10.168.1.12\n - 100.69.7.112\n exampleReadOnlyInstance:\n type: alicloud:rds:ReadOnlyInstance\n name: example\n properties:\n zoneId: ${exampleInstance.zoneId}\n masterDbInstanceId: ${exampleInstance.id}\n engineVersion: ${exampleInstance.engineVersion}\n instanceStorage: ${exampleInstance.instanceStorage}\n instanceType: ${exampleInstance.instanceType}\n instanceName: ${name}readonly\n vswitchId: ${exampleSwitch.id}\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleReadWriteSplittingConnection:\n type: alicloud:rds:ReadWriteSplittingConnection\n name: example\n properties:\n instanceId: ${exampleReadOnlyInstance.masterDbInstanceId}\n connectionPrefix: example-con-${default.result}\n distributionType: Standard\nvariables:\n example:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '5.6'\n exampleGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${example.ids[0]}\n engine: MySQL\n engineVersion: '5.6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** Resource \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-go=\"`rds.ReadWriteSplittingConnection`\" pulumi-lang-python=\"`rds.ReadWriteSplittingConnection`\" pulumi-lang-yaml=\"`alicloud.rds.ReadWriteSplittingConnection`\" pulumi-lang-java=\"`alicloud.rds.ReadWriteSplittingConnection`\"\u003e`alicloud.rds.ReadWriteSplittingConnection`\u003c/span\u003e should be created after \u003cspan pulumi-lang-nodejs=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-dotnet=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-go=\"`rds.ReadOnlyInstance`\" pulumi-lang-python=\"`rds.ReadOnlyInstance`\" pulumi-lang-yaml=\"`alicloud.rds.ReadOnlyInstance`\" pulumi-lang-java=\"`alicloud.rds.ReadOnlyInstance`\"\u003e`alicloud.rds.ReadOnlyInstance`\u003c/span\u003e, so the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e statement is necessary.\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRDS read write splitting connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rds/readWriteSplittingConnection:ReadWriteSplittingConnection example abc12345678\n```\n\n", "properties": { "connectionPrefix": { "type": "string", @@ -238483,7 +243715,7 @@ } }, "alicloud:rds/whitelistTemplate:WhitelistTemplate": { - "description": "Provide a whitelist template resource.\n\n\nFor information about Resource AliCloudWhitelistTemplate and how to use it, see [What is Whitelist Template](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-modifywhitelisttemplate?).\n\n\u003e **NOTE:** Available since v1.254.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rds.WhitelistTemplate(\"example\", {\n ipWhiteList: \"172.16.0.0\",\n templateName: \"example-whitelist\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.WhitelistTemplate(\"example\",\n ip_white_list=\"172.16.0.0\",\n template_name=\"example-whitelist\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rds.WhitelistTemplate(\"example\", new()\n {\n IpWhiteList = \"172.16.0.0\",\n TemplateName = \"example-whitelist\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewWhitelistTemplate(ctx, \"example\", \u0026rds.WhitelistTemplateArgs{\n\t\t\tIpWhiteList: pulumi.String(\"172.16.0.0\"),\n\t\t\tTemplateName: pulumi.String(\"example-whitelist\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.WhitelistTemplate;\nimport com.pulumi.alicloud.rds.WhitelistTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 WhitelistTemplate(\"example\", WhitelistTemplateArgs.builder()\n .ipWhiteList(\"172.16.0.0\")\n .templateName(\"example-whitelist\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rds:WhitelistTemplate\n properties:\n ipWhiteList: 172.16.0.0\n templateName: example-whitelist\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can use the whitelist template ID to import whitelist templates, e.g.\n\n```sh\n$ pulumi import alicloud:rds/whitelistTemplate:WhitelistTemplate example \u003cid\u003e\n```\n\n", + "description": "Provide a whitelist template resource.\n\n\nFor information about Resource AliCloudWhitelistTemplate and how to use it, see [What is Whitelist Template](https://www.alibabacloud.com/help/en/rds/developer-reference/api-rds-2014-08-15-modifywhitelisttemplate?).\n\n\u003e **NOTE:** Available since v1.254.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.rds.WhitelistTemplate(\"example\", {\n ipWhiteList: \"172.16.0.0\",\n templateName: \"example-whitelist\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.rds.WhitelistTemplate(\"example\",\n ip_white_list=\"172.16.0.0\",\n template_name=\"example-whitelist\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Rds.WhitelistTemplate(\"example\", new()\n {\n IpWhiteList = \"172.16.0.0\",\n TemplateName = \"example-whitelist\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewWhitelistTemplate(ctx, \"example\", \u0026rds.WhitelistTemplateArgs{\n\t\t\tIpWhiteList: pulumi.String(\"172.16.0.0\"),\n\t\t\tTemplateName: pulumi.String(\"example-whitelist\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.rds.WhitelistTemplate;\nimport com.pulumi.alicloud.rds.WhitelistTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 WhitelistTemplate(\"example\", WhitelistTemplateArgs.builder()\n .ipWhiteList(\"172.16.0.0\")\n .templateName(\"example-whitelist\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:rds:WhitelistTemplate\n properties:\n ipWhiteList: 172.16.0.0\n templateName: example-whitelist\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nYou can use the whitelist template ID to import whitelist templates, e.g.\n\n```sh\n$ pulumi import alicloud:rds/whitelistTemplate:WhitelistTemplate example \u003cid\u003e\n```\n\n", "properties": { "ipWhiteList": { "type": "string", @@ -238527,6 +243759,391 @@ "type": "object" } }, + "alicloud:realtimecompute/deployment:Deployment": { + "description": "Provides a Realtime Compute Deployment resource.\n\nDeployment in the Realtime Compute console.\n\nFor information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment).\n\n\u003e **NOTE:** Available since v1.265.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n isDefault: false,\n cidrBlock: \"172.16.0.0/16\",\n vpcName: \"example-tf-vpc-deployment\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n isDefault: false,\n vpcId: _default.id,\n zoneId: \"cn-beijing-g\",\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"example-tf-vSwitch-deployment\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {});\nconst defaultVvpInstance = new alicloud.realtimecompute.VvpInstance(\"default\", {\n vvpInstanceName: \"code-example-tf-deployment\",\n storage: {\n oss: {\n bucket: defaultBucket.id,\n },\n },\n vpcId: _default.id,\n vswitchIds: [defaultSwitch.id],\n resourceSpec: {\n cpu: 8,\n memoryGb: 32,\n },\n paymentType: \"PayAsYouGo\",\n zoneId: defaultSwitch.zoneId,\n});\nconst createDeployment9 = new alicloud.realtimecompute.Deployment(\"create_Deployment9\", {\n deploymentName: \"tf-example-deployment-sql-56\",\n engineVersion: \"vvr-8.0.10-flink-1.17\",\n resourceId: defaultVvpInstance.resourceId,\n executionMode: \"STREAMING\",\n deploymentTarget: {\n mode: \"PER_JOB\",\n name: \"default-queue\",\n },\n namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`,\n artifact: {\n kind: \"SQLSCRIPT\",\n sqlArtifact: {\n sqlScript: \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n is_default=False,\n cidr_block=\"172.16.0.0/16\",\n vpc_name=\"example-tf-vpc-deployment\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n is_default=False,\n vpc_id=default.id,\n zone_id=\"cn-beijing-g\",\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"example-tf-vSwitch-deployment\")\ndefault_bucket = alicloud.oss.Bucket(\"default\")\ndefault_vvp_instance = alicloud.realtimecompute.VvpInstance(\"default\",\n vvp_instance_name=\"code-example-tf-deployment\",\n storage={\n \"oss\": {\n \"bucket\": default_bucket.id,\n },\n },\n vpc_id=default.id,\n vswitch_ids=[default_switch.id],\n resource_spec={\n \"cpu\": 8,\n \"memory_gb\": 32,\n },\n payment_type=\"PayAsYouGo\",\n zone_id=default_switch.zone_id)\ncreate_deployment9 = alicloud.realtimecompute.Deployment(\"create_Deployment9\",\n deployment_name=\"tf-example-deployment-sql-56\",\n engine_version=\"vvr-8.0.10-flink-1.17\",\n resource_id=default_vvp_instance.resource_id,\n execution_mode=\"STREAMING\",\n deployment_target={\n \"mode\": \"PER_JOB\",\n \"name\": \"default-queue\",\n },\n namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f\"{vvp_instance_name}-default\"),\n artifact={\n \"kind\": \"SQLSCRIPT\",\n \"sql_artifact\": {\n \"sql_script\": \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n IsDefault = false,\n CidrBlock = \"172.16.0.0/16\",\n VpcName = \"example-tf-vpc-deployment\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n IsDefault = false,\n VpcId = @default.Id,\n ZoneId = \"cn-beijing-g\",\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"example-tf-vSwitch-deployment\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\");\n\n var defaultVvpInstance = new AliCloud.RealtimeCompute.VvpInstance(\"default\", new()\n {\n VvpInstanceName = \"code-example-tf-deployment\",\n Storage = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageArgs\n {\n Oss = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageOssArgs\n {\n Bucket = defaultBucket.Id,\n },\n },\n VpcId = @default.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n ResourceSpec = new AliCloud.RealtimeCompute.Inputs.VvpInstanceResourceSpecArgs\n {\n Cpu = 8,\n MemoryGb = 32,\n },\n PaymentType = \"PayAsYouGo\",\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var createDeployment9 = new AliCloud.RealtimeCompute.Deployment(\"create_Deployment9\", new()\n {\n DeploymentName = \"tf-example-deployment-sql-56\",\n EngineVersion = \"vvr-8.0.10-flink-1.17\",\n ResourceId = defaultVvpInstance.ResourceId,\n ExecutionMode = \"STREAMING\",\n DeploymentTarget = new AliCloud.RealtimeCompute.Inputs.DeploymentDeploymentTargetArgs\n {\n Mode = \"PER_JOB\",\n Name = \"default-queue\",\n },\n Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName =\u003e $\"{vvpInstanceName}-default\"),\n Artifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactArgs\n {\n Kind = \"SQLSCRIPT\",\n SqlArtifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactSqlArtifactArgs\n {\n SqlScript = \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/realtimecompute\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"example-tf-vpc-deployment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"example-tf-vSwitch-deployment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVvpInstance, err := realtimecompute.NewVvpInstance(ctx, \"default\", \u0026realtimecompute.VvpInstanceArgs{\n\t\t\tVvpInstanceName: pulumi.String(\"code-example-tf-deployment\"),\n\t\t\tStorage: \u0026realtimecompute.VvpInstanceStorageArgs{\n\t\t\t\tOss: \u0026realtimecompute.VvpInstanceStorageOssArgs{\n\t\t\t\t\tBucket: defaultBucket.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: _default.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tResourceSpec: \u0026realtimecompute.VvpInstanceResourceSpecArgs{\n\t\t\t\tCpu: pulumi.Int(8),\n\t\t\t\tMemoryGb: pulumi.Int(32),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = realtimecompute.NewDeployment(ctx, \"create_Deployment9\", \u0026realtimecompute.DeploymentArgs{\n\t\t\tDeploymentName: pulumi.String(\"tf-example-deployment-sql-56\"),\n\t\t\tEngineVersion: pulumi.String(\"vvr-8.0.10-flink-1.17\"),\n\t\t\tResourceId: defaultVvpInstance.ResourceId,\n\t\t\tExecutionMode: pulumi.String(\"STREAMING\"),\n\t\t\tDeploymentTarget: \u0026realtimecompute.DeploymentDeploymentTargetArgs{\n\t\t\t\tMode: pulumi.String(\"PER_JOB\"),\n\t\t\t\tName: pulumi.String(\"default-queue\"),\n\t\t\t},\n\t\t\tNamespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-default\", vvpInstanceName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tArtifact: \u0026realtimecompute.DeploymentArtifactArgs{\n\t\t\t\tKind: pulumi.String(\"SQLSCRIPT\"),\n\t\t\t\tSqlArtifact: \u0026realtimecompute.DeploymentArtifactSqlArtifactArgs{\n\t\t\t\t\tSqlScript: pulumi.String(\"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.realtimecompute.VvpInstance;\nimport com.pulumi.alicloud.realtimecompute.VvpInstanceArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageOssArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceResourceSpecArgs;\nimport com.pulumi.alicloud.realtimecompute.Deployment;\nimport com.pulumi.alicloud.realtimecompute.DeploymentArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactSqlArtifactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"172.16.0.0/16\")\n .vpcName(\"example-tf-vpc-deployment\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(default_.id())\n .zoneId(\"cn-beijing-g\")\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"example-tf-vSwitch-deployment\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\");\n\n var defaultVvpInstance = new VvpInstance(\"defaultVvpInstance\", VvpInstanceArgs.builder()\n .vvpInstanceName(\"code-example-tf-deployment\")\n .storage(VvpInstanceStorageArgs.builder()\n .oss(VvpInstanceStorageOssArgs.builder()\n .bucket(defaultBucket.id())\n .build())\n .build())\n .vpcId(default_.id())\n .vswitchIds(defaultSwitch.id())\n .resourceSpec(VvpInstanceResourceSpecArgs.builder()\n .cpu(8)\n .memoryGb(32)\n .build())\n .paymentType(\"PayAsYouGo\")\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var createDeployment9 = new Deployment(\"createDeployment9\", DeploymentArgs.builder()\n .deploymentName(\"tf-example-deployment-sql-56\")\n .engineVersion(\"vvr-8.0.10-flink-1.17\")\n .resourceId(defaultVvpInstance.resourceId())\n .executionMode(\"STREAMING\")\n .deploymentTarget(DeploymentDeploymentTargetArgs.builder()\n .mode(\"PER_JOB\")\n .name(\"default-queue\")\n .build())\n .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -\u003e String.format(\"%s-default\", _vvpInstanceName)))\n .artifact(DeploymentArtifactArgs.builder()\n .kind(\"SQLSCRIPT\")\n .sqlArtifact(DeploymentArtifactSqlArtifactArgs.builder()\n .sqlScript(\"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n isDefault: false\n cidrBlock: 172.16.0.0/16\n vpcName: example-tf-vpc-deployment\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n isDefault: false\n vpcId: ${default.id}\n zoneId: cn-beijing-g\n cidrBlock: 172.16.0.0/24\n vswitchName: example-tf-vSwitch-deployment\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n defaultVvpInstance:\n type: alicloud:realtimecompute:VvpInstance\n name: default\n properties:\n vvpInstanceName: code-example-tf-deployment\n storage:\n oss:\n bucket: ${defaultBucket.id}\n vpcId: ${default.id}\n vswitchIds:\n - ${defaultSwitch.id}\n resourceSpec:\n cpu: '8'\n memoryGb: '32'\n paymentType: PayAsYouGo\n zoneId: ${defaultSwitch.zoneId}\n createDeployment9:\n type: alicloud:realtimecompute:Deployment\n name: create_Deployment9\n properties:\n deploymentName: tf-example-deployment-sql-56\n engineVersion: vvr-8.0.10-flink-1.17\n resourceId: ${defaultVvpInstance.resourceId}\n executionMode: STREAMING\n deploymentTarget:\n mode: PER_JOB\n name: default-queue\n namespace: ${defaultVvpInstance.vvpInstanceName}-default\n artifact:\n kind: SQLSCRIPT\n sqlArtifact:\n sqlScript: create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRealtime Compute Deployment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:realtimecompute/deployment:Deployment example \u003cresource_id\u003e:\u003cnamespace\u003e:\u003cdeployment_id\u003e\n```\n\n", + "properties": { + "artifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifact:DeploymentArtifact", + "description": "Content of the deployment job See \u003cspan pulumi-lang-nodejs=\"`artifact`\" pulumi-lang-dotnet=\"`Artifact`\" pulumi-lang-go=\"`artifact`\" pulumi-lang-python=\"`artifact`\" pulumi-lang-yaml=\"`artifact`\" pulumi-lang-java=\"`artifact`\"\u003e`artifact`\u003c/span\u003e below.\n" + }, + "batchResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSetting:DeploymentBatchResourceSetting", + "description": "Batch job resource settings See \u003cspan pulumi-lang-nodejs=\"`batchResourceSetting`\" pulumi-lang-dotnet=\"`BatchResourceSetting`\" pulumi-lang-go=\"`batchResourceSetting`\" pulumi-lang-python=\"`batch_resource_setting`\" pulumi-lang-yaml=\"`batchResourceSetting`\" pulumi-lang-java=\"`batchResourceSetting`\"\u003e`batch_resource_setting`\u003c/span\u003e below.\n" + }, + "deploymentId": { + "type": "string", + "description": "Resource property field representing the primary resource ID\n" + }, + "deploymentName": { + "type": "string", + "description": "Name of the deployment\n" + }, + "deploymentTarget": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentDeploymentTarget:DeploymentDeploymentTarget", + "description": "Deployment target See \u003cspan pulumi-lang-nodejs=\"`deploymentTarget`\" pulumi-lang-dotnet=\"`DeploymentTarget`\" pulumi-lang-go=\"`deploymentTarget`\" pulumi-lang-python=\"`deployment_target`\" pulumi-lang-yaml=\"`deploymentTarget`\" pulumi-lang-java=\"`deploymentTarget`\"\u003e`deployment_target`\u003c/span\u003e below.\n" + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "engineVersion": { + "type": "string", + "description": "Engine version of the deployment instance\n" + }, + "executionMode": { + "type": "string", + "description": "Execution mode. Valid values: STREAMING or BATCH.\n" + }, + "flinkConf": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Flink configuration\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment labels\n" + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLocalVariable:DeploymentLocalVariable" + }, + "description": "Job variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n" + }, + "logging": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLogging:DeploymentLogging", + "description": "Job log configuration See \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e below.\n" + }, + "namespace": { + "type": "string", + "description": "Namespace name\n" + }, + "resourceId": { + "type": "string", + "description": "Workspace resource ID\n" + }, + "streamingResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSetting:DeploymentStreamingResourceSetting", + "description": "Resource settings for streaming mode See \u003cspan pulumi-lang-nodejs=\"`streamingResourceSetting`\" pulumi-lang-dotnet=\"`StreamingResourceSetting`\" pulumi-lang-go=\"`streamingResourceSetting`\" pulumi-lang-python=\"`streaming_resource_setting`\" pulumi-lang-yaml=\"`streamingResourceSetting`\" pulumi-lang-java=\"`streamingResourceSetting`\"\u003e`streaming_resource_setting`\u003c/span\u003e below.\n" + } + }, + "required": [ + "artifact", + "deploymentId", + "deploymentName", + "deploymentTarget", + "engineVersion", + "executionMode", + "flinkConf", + "logging", + "namespace", + "resourceId", + "streamingResourceSetting" + ], + "inputProperties": { + "artifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifact:DeploymentArtifact", + "description": "Content of the deployment job See \u003cspan pulumi-lang-nodejs=\"`artifact`\" pulumi-lang-dotnet=\"`Artifact`\" pulumi-lang-go=\"`artifact`\" pulumi-lang-python=\"`artifact`\" pulumi-lang-yaml=\"`artifact`\" pulumi-lang-java=\"`artifact`\"\u003e`artifact`\u003c/span\u003e below.\n" + }, + "batchResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSetting:DeploymentBatchResourceSetting", + "description": "Batch job resource settings See \u003cspan pulumi-lang-nodejs=\"`batchResourceSetting`\" pulumi-lang-dotnet=\"`BatchResourceSetting`\" pulumi-lang-go=\"`batchResourceSetting`\" pulumi-lang-python=\"`batch_resource_setting`\" pulumi-lang-yaml=\"`batchResourceSetting`\" pulumi-lang-java=\"`batchResourceSetting`\"\u003e`batch_resource_setting`\u003c/span\u003e below.\n" + }, + "deploymentName": { + "type": "string", + "description": "Name of the deployment\n" + }, + "deploymentTarget": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentDeploymentTarget:DeploymentDeploymentTarget", + "description": "Deployment target See \u003cspan pulumi-lang-nodejs=\"`deploymentTarget`\" pulumi-lang-dotnet=\"`DeploymentTarget`\" pulumi-lang-go=\"`deploymentTarget`\" pulumi-lang-python=\"`deployment_target`\" pulumi-lang-yaml=\"`deploymentTarget`\" pulumi-lang-java=\"`deploymentTarget`\"\u003e`deployment_target`\u003c/span\u003e below.\n" + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "engineVersion": { + "type": "string", + "description": "Engine version of the deployment instance\n" + }, + "executionMode": { + "type": "string", + "description": "Execution mode. Valid values: STREAMING or BATCH.\n", + "willReplaceOnChanges": true + }, + "flinkConf": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Flink configuration\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment labels\n" + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLocalVariable:DeploymentLocalVariable" + }, + "description": "Job variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n" + }, + "logging": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLogging:DeploymentLogging", + "description": "Job log configuration See \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e below.\n" + }, + "namespace": { + "type": "string", + "description": "Namespace name\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "Workspace resource ID\n", + "willReplaceOnChanges": true + }, + "streamingResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSetting:DeploymentStreamingResourceSetting", + "description": "Resource settings for streaming mode See \u003cspan pulumi-lang-nodejs=\"`streamingResourceSetting`\" pulumi-lang-dotnet=\"`StreamingResourceSetting`\" pulumi-lang-go=\"`streamingResourceSetting`\" pulumi-lang-python=\"`streaming_resource_setting`\" pulumi-lang-yaml=\"`streamingResourceSetting`\" pulumi-lang-java=\"`streamingResourceSetting`\"\u003e`streaming_resource_setting`\u003c/span\u003e below.\n" + } + }, + "requiredInputs": [ + "artifact", + "deploymentName", + "deploymentTarget", + "executionMode", + "namespace" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Deployment resources.\n", + "properties": { + "artifact": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentArtifact:DeploymentArtifact", + "description": "Content of the deployment job See \u003cspan pulumi-lang-nodejs=\"`artifact`\" pulumi-lang-dotnet=\"`Artifact`\" pulumi-lang-go=\"`artifact`\" pulumi-lang-python=\"`artifact`\" pulumi-lang-yaml=\"`artifact`\" pulumi-lang-java=\"`artifact`\"\u003e`artifact`\u003c/span\u003e below.\n" + }, + "batchResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentBatchResourceSetting:DeploymentBatchResourceSetting", + "description": "Batch job resource settings See \u003cspan pulumi-lang-nodejs=\"`batchResourceSetting`\" pulumi-lang-dotnet=\"`BatchResourceSetting`\" pulumi-lang-go=\"`batchResourceSetting`\" pulumi-lang-python=\"`batch_resource_setting`\" pulumi-lang-yaml=\"`batchResourceSetting`\" pulumi-lang-java=\"`batchResourceSetting`\"\u003e`batch_resource_setting`\u003c/span\u003e below.\n" + }, + "deploymentId": { + "type": "string", + "description": "Resource property field representing the primary resource ID\n" + }, + "deploymentName": { + "type": "string", + "description": "Name of the deployment\n" + }, + "deploymentTarget": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentDeploymentTarget:DeploymentDeploymentTarget", + "description": "Deployment target See \u003cspan pulumi-lang-nodejs=\"`deploymentTarget`\" pulumi-lang-dotnet=\"`DeploymentTarget`\" pulumi-lang-go=\"`deploymentTarget`\" pulumi-lang-python=\"`deployment_target`\" pulumi-lang-yaml=\"`deploymentTarget`\" pulumi-lang-java=\"`deploymentTarget`\"\u003e`deployment_target`\u003c/span\u003e below.\n" + }, + "description": { + "type": "string", + "description": "Description\n" + }, + "engineVersion": { + "type": "string", + "description": "Engine version of the deployment instance\n" + }, + "executionMode": { + "type": "string", + "description": "Execution mode. Valid values: STREAMING or BATCH.\n", + "willReplaceOnChanges": true + }, + "flinkConf": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Flink configuration\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment labels\n" + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLocalVariable:DeploymentLocalVariable" + }, + "description": "Job variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n" + }, + "logging": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentLogging:DeploymentLogging", + "description": "Job log configuration See \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e below.\n" + }, + "namespace": { + "type": "string", + "description": "Namespace name\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "Workspace resource ID\n", + "willReplaceOnChanges": true + }, + "streamingResourceSetting": { + "$ref": "#/types/alicloud:realtimecompute/DeploymentStreamingResourceSetting:DeploymentStreamingResourceSetting", + "description": "Resource settings for streaming mode See \u003cspan pulumi-lang-nodejs=\"`streamingResourceSetting`\" pulumi-lang-dotnet=\"`StreamingResourceSetting`\" pulumi-lang-go=\"`streamingResourceSetting`\" pulumi-lang-python=\"`streaming_resource_setting`\" pulumi-lang-yaml=\"`streamingResourceSetting`\" pulumi-lang-java=\"`streamingResourceSetting`\"\u003e`streaming_resource_setting`\u003c/span\u003e below.\n" + } + }, + "type": "object" + } + }, + "alicloud:realtimecompute/job:Job": { + "description": "Provides a Realtime Compute Job resource.\n\n\n\nFor information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams).\n\n\u003e **NOTE:** Available since v1.265.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n isDefault: false,\n cidrBlock: \"172.16.0.0/16\",\n vpcName: \"example-tf-vpc-deployment\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n isDefault: false,\n vpcId: _default.id,\n zoneId: \"cn-beijing-g\",\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"example-tf-vSwitch-deployment\",\n});\nconst defaultBucket = new alicloud.oss.Bucket(\"default\", {});\nconst defaultVvpInstance = new alicloud.realtimecompute.VvpInstance(\"default\", {\n vvpInstanceName: \"code-example-tf-deployment\",\n storage: {\n oss: {\n bucket: defaultBucket.id,\n },\n },\n vpcId: _default.id,\n vswitchIds: [defaultSwitch.id],\n resourceSpec: {\n cpu: 8,\n memoryGb: 32,\n },\n paymentType: \"PayAsYouGo\",\n zoneId: defaultSwitch.zoneId,\n});\nconst createDeployment9 = new alicloud.realtimecompute.Deployment(\"create_Deployment9\", {\n deploymentName: \"tf-example-deployment-sql-56\",\n engineVersion: \"vvr-8.0.10-flink-1.17\",\n resourceId: defaultVvpInstance.resourceId,\n executionMode: \"STREAMING\",\n deploymentTarget: {\n mode: \"PER_JOB\",\n name: \"default-queue\",\n },\n namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`,\n artifact: {\n kind: \"SQLSCRIPT\",\n sqlArtifact: {\n sqlScript: \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n },\n});\nconst defaultJob = new alicloud.realtimecompute.Job(\"default\", {\n localVariables: [{\n value: \"qq\",\n name: \"tt\",\n }],\n restoreStrategy: {\n kind: \"NONE\",\n jobStartTimeInMs: 1763694521254,\n },\n namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`,\n stopStrategy: \"NONE\",\n deploymentId: createDeployment9.deploymentId,\n resourceQueueName: \"default-queue\",\n status: {\n currentJobStatus: \"CANCELLED\",\n },\n resourceId: defaultVvpInstance.resourceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n is_default=False,\n cidr_block=\"172.16.0.0/16\",\n vpc_name=\"example-tf-vpc-deployment\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n is_default=False,\n vpc_id=default.id,\n zone_id=\"cn-beijing-g\",\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"example-tf-vSwitch-deployment\")\ndefault_bucket = alicloud.oss.Bucket(\"default\")\ndefault_vvp_instance = alicloud.realtimecompute.VvpInstance(\"default\",\n vvp_instance_name=\"code-example-tf-deployment\",\n storage={\n \"oss\": {\n \"bucket\": default_bucket.id,\n },\n },\n vpc_id=default.id,\n vswitch_ids=[default_switch.id],\n resource_spec={\n \"cpu\": 8,\n \"memory_gb\": 32,\n },\n payment_type=\"PayAsYouGo\",\n zone_id=default_switch.zone_id)\ncreate_deployment9 = alicloud.realtimecompute.Deployment(\"create_Deployment9\",\n deployment_name=\"tf-example-deployment-sql-56\",\n engine_version=\"vvr-8.0.10-flink-1.17\",\n resource_id=default_vvp_instance.resource_id,\n execution_mode=\"STREAMING\",\n deployment_target={\n \"mode\": \"PER_JOB\",\n \"name\": \"default-queue\",\n },\n namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f\"{vvp_instance_name}-default\"),\n artifact={\n \"kind\": \"SQLSCRIPT\",\n \"sql_artifact\": {\n \"sql_script\": \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n })\ndefault_job = alicloud.realtimecompute.Job(\"default\",\n local_variables=[{\n \"value\": \"qq\",\n \"name\": \"tt\",\n }],\n restore_strategy={\n \"kind\": \"NONE\",\n \"job_start_time_in_ms\": 1763694521254,\n },\n namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f\"{vvp_instance_name}-default\"),\n stop_strategy=\"NONE\",\n deployment_id=create_deployment9.deployment_id,\n resource_queue_name=\"default-queue\",\n status={\n \"current_job_status\": \"CANCELLED\",\n },\n resource_id=default_vvp_instance.resource_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n IsDefault = false,\n CidrBlock = \"172.16.0.0/16\",\n VpcName = \"example-tf-vpc-deployment\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n IsDefault = false,\n VpcId = @default.Id,\n ZoneId = \"cn-beijing-g\",\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"example-tf-vSwitch-deployment\",\n });\n\n var defaultBucket = new AliCloud.Oss.Bucket(\"default\");\n\n var defaultVvpInstance = new AliCloud.RealtimeCompute.VvpInstance(\"default\", new()\n {\n VvpInstanceName = \"code-example-tf-deployment\",\n Storage = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageArgs\n {\n Oss = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageOssArgs\n {\n Bucket = defaultBucket.Id,\n },\n },\n VpcId = @default.Id,\n VswitchIds = new[]\n {\n defaultSwitch.Id,\n },\n ResourceSpec = new AliCloud.RealtimeCompute.Inputs.VvpInstanceResourceSpecArgs\n {\n Cpu = 8,\n MemoryGb = 32,\n },\n PaymentType = \"PayAsYouGo\",\n ZoneId = defaultSwitch.ZoneId,\n });\n\n var createDeployment9 = new AliCloud.RealtimeCompute.Deployment(\"create_Deployment9\", new()\n {\n DeploymentName = \"tf-example-deployment-sql-56\",\n EngineVersion = \"vvr-8.0.10-flink-1.17\",\n ResourceId = defaultVvpInstance.ResourceId,\n ExecutionMode = \"STREAMING\",\n DeploymentTarget = new AliCloud.RealtimeCompute.Inputs.DeploymentDeploymentTargetArgs\n {\n Mode = \"PER_JOB\",\n Name = \"default-queue\",\n },\n Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName =\u003e $\"{vvpInstanceName}-default\"),\n Artifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactArgs\n {\n Kind = \"SQLSCRIPT\",\n SqlArtifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactSqlArtifactArgs\n {\n SqlScript = \"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\",\n },\n },\n });\n\n var defaultJob = new AliCloud.RealtimeCompute.Job(\"default\", new()\n {\n LocalVariables = new[]\n {\n new AliCloud.RealtimeCompute.Inputs.JobLocalVariableArgs\n {\n Value = \"qq\",\n Name = \"tt\",\n },\n },\n RestoreStrategy = new AliCloud.RealtimeCompute.Inputs.JobRestoreStrategyArgs\n {\n Kind = \"NONE\",\n JobStartTimeInMs = 1763694521254,\n },\n Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName =\u003e $\"{vvpInstanceName}-default\"),\n StopStrategy = \"NONE\",\n DeploymentId = createDeployment9.DeploymentId,\n ResourceQueueName = \"default-queue\",\n Status = new AliCloud.RealtimeCompute.Inputs.JobStatusArgs\n {\n CurrentJobStatus = \"CANCELLED\",\n },\n ResourceId = defaultVvpInstance.ResourceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/realtimecompute\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"example-tf-vpc-deployment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tIsDefault: pulumi.Bool(false),\n\t\t\tVpcId: _default.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-beijing-g\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"example-tf-vSwitch-deployment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultBucket, err := oss.NewBucket(ctx, \"default\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVvpInstance, err := realtimecompute.NewVvpInstance(ctx, \"default\", \u0026realtimecompute.VvpInstanceArgs{\n\t\t\tVvpInstanceName: pulumi.String(\"code-example-tf-deployment\"),\n\t\t\tStorage: \u0026realtimecompute.VvpInstanceStorageArgs{\n\t\t\t\tOss: \u0026realtimecompute.VvpInstanceStorageOssArgs{\n\t\t\t\t\tBucket: defaultBucket.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: _default.ID(),\n\t\t\tVswitchIds: pulumi.StringArray{\n\t\t\t\tdefaultSwitch.ID(),\n\t\t\t},\n\t\t\tResourceSpec: \u0026realtimecompute.VvpInstanceResourceSpecArgs{\n\t\t\t\tCpu: pulumi.Int(8),\n\t\t\t\tMemoryGb: pulumi.Int(32),\n\t\t\t},\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tZoneId: defaultSwitch.ZoneId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateDeployment9, err := realtimecompute.NewDeployment(ctx, \"create_Deployment9\", \u0026realtimecompute.DeploymentArgs{\n\t\t\tDeploymentName: pulumi.String(\"tf-example-deployment-sql-56\"),\n\t\t\tEngineVersion: pulumi.String(\"vvr-8.0.10-flink-1.17\"),\n\t\t\tResourceId: defaultVvpInstance.ResourceId,\n\t\t\tExecutionMode: pulumi.String(\"STREAMING\"),\n\t\t\tDeploymentTarget: \u0026realtimecompute.DeploymentDeploymentTargetArgs{\n\t\t\t\tMode: pulumi.String(\"PER_JOB\"),\n\t\t\t\tName: pulumi.String(\"default-queue\"),\n\t\t\t},\n\t\t\tNamespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-default\", vvpInstanceName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tArtifact: \u0026realtimecompute.DeploymentArtifactArgs{\n\t\t\t\tKind: pulumi.String(\"SQLSCRIPT\"),\n\t\t\t\tSqlArtifact: \u0026realtimecompute.DeploymentArtifactSqlArtifactArgs{\n\t\t\t\t\tSqlScript: pulumi.String(\"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\"),\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 = realtimecompute.NewJob(ctx, \"default\", \u0026realtimecompute.JobArgs{\n\t\t\tLocalVariables: realtimecompute.JobLocalVariableArray{\n\t\t\t\t\u0026realtimecompute.JobLocalVariableArgs{\n\t\t\t\t\tValue: pulumi.String(\"qq\"),\n\t\t\t\t\tName: pulumi.String(\"tt\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRestoreStrategy: \u0026realtimecompute.JobRestoreStrategyArgs{\n\t\t\t\tKind: pulumi.String(\"NONE\"),\n\t\t\t\tJobStartTimeInMs: pulumi.Int(1763694521254),\n\t\t\t},\n\t\t\tNamespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v-default\", vvpInstanceName), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStopStrategy: pulumi.String(\"NONE\"),\n\t\t\tDeploymentId: createDeployment9.DeploymentId,\n\t\t\tResourceQueueName: pulumi.String(\"default-queue\"),\n\t\t\tStatus: \u0026realtimecompute.JobStatusArgs{\n\t\t\t\tCurrentJobStatus: pulumi.String(\"CANCELLED\"),\n\t\t\t},\n\t\t\tResourceId: defaultVvpInstance.ResourceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.realtimecompute.VvpInstance;\nimport com.pulumi.alicloud.realtimecompute.VvpInstanceArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageOssArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceResourceSpecArgs;\nimport com.pulumi.alicloud.realtimecompute.Deployment;\nimport com.pulumi.alicloud.realtimecompute.DeploymentArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactSqlArtifactArgs;\nimport com.pulumi.alicloud.realtimecompute.Job;\nimport com.pulumi.alicloud.realtimecompute.JobArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.JobLocalVariableArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.JobRestoreStrategyArgs;\nimport com.pulumi.alicloud.realtimecompute.inputs.JobStatusArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .isDefault(false)\n .cidrBlock(\"172.16.0.0/16\")\n .vpcName(\"example-tf-vpc-deployment\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .isDefault(false)\n .vpcId(default_.id())\n .zoneId(\"cn-beijing-g\")\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"example-tf-vSwitch-deployment\")\n .build());\n\n var defaultBucket = new Bucket(\"defaultBucket\");\n\n var defaultVvpInstance = new VvpInstance(\"defaultVvpInstance\", VvpInstanceArgs.builder()\n .vvpInstanceName(\"code-example-tf-deployment\")\n .storage(VvpInstanceStorageArgs.builder()\n .oss(VvpInstanceStorageOssArgs.builder()\n .bucket(defaultBucket.id())\n .build())\n .build())\n .vpcId(default_.id())\n .vswitchIds(defaultSwitch.id())\n .resourceSpec(VvpInstanceResourceSpecArgs.builder()\n .cpu(8)\n .memoryGb(32)\n .build())\n .paymentType(\"PayAsYouGo\")\n .zoneId(defaultSwitch.zoneId())\n .build());\n\n var createDeployment9 = new Deployment(\"createDeployment9\", DeploymentArgs.builder()\n .deploymentName(\"tf-example-deployment-sql-56\")\n .engineVersion(\"vvr-8.0.10-flink-1.17\")\n .resourceId(defaultVvpInstance.resourceId())\n .executionMode(\"STREAMING\")\n .deploymentTarget(DeploymentDeploymentTargetArgs.builder()\n .mode(\"PER_JOB\")\n .name(\"default-queue\")\n .build())\n .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -\u003e String.format(\"%s-default\", _vvpInstanceName)))\n .artifact(DeploymentArtifactArgs.builder()\n .kind(\"SQLSCRIPT\")\n .sqlArtifact(DeploymentArtifactSqlArtifactArgs.builder()\n .sqlScript(\"create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\")\n .build())\n .build())\n .build());\n\n var defaultJob = new Job(\"defaultJob\", JobArgs.builder()\n .localVariables(JobLocalVariableArgs.builder()\n .value(\"qq\")\n .name(\"tt\")\n .build())\n .restoreStrategy(JobRestoreStrategyArgs.builder()\n .kind(\"NONE\")\n .jobStartTimeInMs(1763694521254)\n .build())\n .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -\u003e String.format(\"%s-default\", _vvpInstanceName)))\n .stopStrategy(\"NONE\")\n .deploymentId(createDeployment9.deploymentId())\n .resourceQueueName(\"default-queue\")\n .status(JobStatusArgs.builder()\n .currentJobStatus(\"CANCELLED\")\n .build())\n .resourceId(defaultVvpInstance.resourceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n isDefault: false\n cidrBlock: 172.16.0.0/16\n vpcName: example-tf-vpc-deployment\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n isDefault: false\n vpcId: ${default.id}\n zoneId: cn-beijing-g\n cidrBlock: 172.16.0.0/24\n vswitchName: example-tf-vSwitch-deployment\n defaultBucket:\n type: alicloud:oss:Bucket\n name: default\n defaultVvpInstance:\n type: alicloud:realtimecompute:VvpInstance\n name: default\n properties:\n vvpInstanceName: code-example-tf-deployment\n storage:\n oss:\n bucket: ${defaultBucket.id}\n vpcId: ${default.id}\n vswitchIds:\n - ${defaultSwitch.id}\n resourceSpec:\n cpu: '8'\n memoryGb: '32'\n paymentType: PayAsYouGo\n zoneId: ${defaultSwitch.zoneId}\n createDeployment9:\n type: alicloud:realtimecompute:Deployment\n name: create_Deployment9\n properties:\n deploymentName: tf-example-deployment-sql-56\n engineVersion: vvr-8.0.10-flink-1.17\n resourceId: ${defaultVvpInstance.resourceId}\n executionMode: STREAMING\n deploymentTarget:\n mode: PER_JOB\n name: default-queue\n namespace: ${defaultVvpInstance.vvpInstanceName}-default\n artifact:\n kind: SQLSCRIPT\n sqlArtifact:\n sqlScript: create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;\n defaultJob:\n type: alicloud:realtimecompute:Job\n name: default\n properties:\n localVariables:\n - value: qq\n name: tt\n restoreStrategy:\n kind: NONE\n jobStartTimeInMs: '1763694521254'\n namespace: ${defaultVvpInstance.vvpInstanceName}-default\n stopStrategy: NONE\n deploymentId: ${createDeployment9.deploymentId}\n resourceQueueName: default-queue\n status:\n currentJobStatus: CANCELLED\n resourceId: ${defaultVvpInstance.resourceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRealtime Compute Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:realtimecompute/job:Job example \u003cresource_id\u003e:\u003cnamespace\u003e:\u003cjob_id\u003e\n```\n\n", + "properties": { + "deploymentId": { + "type": "string", + "description": "deploymentId\n" + }, + "jobId": { + "type": "string", + "description": "The first ID of the resource\n" + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/JobLocalVariable:JobLocalVariable" + }, + "description": "Local variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n" + }, + "namespace": { + "type": "string", + "description": "namespace\n" + }, + "resourceId": { + "type": "string", + "description": "workspace\n" + }, + "resourceQueueName": { + "type": "string", + "description": "Resource Queue for Job Run\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "restoreStrategy": { + "$ref": "#/types/alicloud:realtimecompute/JobRestoreStrategy:JobRestoreStrategy", + "description": "Restore strategy See \u003cspan pulumi-lang-nodejs=\"`restoreStrategy`\" pulumi-lang-dotnet=\"`RestoreStrategy`\" pulumi-lang-go=\"`restoreStrategy`\" pulumi-lang-python=\"`restore_strategy`\" pulumi-lang-yaml=\"`restoreStrategy`\" pulumi-lang-java=\"`restoreStrategy`\"\u003e`restore_strategy`\u003c/span\u003e below.\n" + }, + "status": { + "$ref": "#/types/alicloud:realtimecompute/JobStatus:JobStatus", + "description": "job status See \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e below.\n" + }, + "stopStrategy": { + "type": "string" + } + }, + "required": [ + "jobId", + "namespace", + "resourceId", + "status" + ], + "inputProperties": { + "deploymentId": { + "type": "string", + "description": "deploymentId\n", + "willReplaceOnChanges": true + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/JobLocalVariable:JobLocalVariable" + }, + "description": "Local variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "namespace": { + "type": "string", + "description": "namespace\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "workspace\n", + "willReplaceOnChanges": true + }, + "resourceQueueName": { + "type": "string", + "description": "Resource Queue for Job Run\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "restoreStrategy": { + "$ref": "#/types/alicloud:realtimecompute/JobRestoreStrategy:JobRestoreStrategy", + "description": "Restore strategy See \u003cspan pulumi-lang-nodejs=\"`restoreStrategy`\" pulumi-lang-dotnet=\"`RestoreStrategy`\" pulumi-lang-go=\"`restoreStrategy`\" pulumi-lang-python=\"`restore_strategy`\" pulumi-lang-yaml=\"`restoreStrategy`\" pulumi-lang-java=\"`restoreStrategy`\"\u003e`restore_strategy`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "status": { + "$ref": "#/types/alicloud:realtimecompute/JobStatus:JobStatus", + "description": "job status See \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e below.\n" + }, + "stopStrategy": { + "type": "string" + } + }, + "requiredInputs": [ + "namespace", + "resourceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Job resources.\n", + "properties": { + "deploymentId": { + "type": "string", + "description": "deploymentId\n", + "willReplaceOnChanges": true + }, + "jobId": { + "type": "string", + "description": "The first ID of the resource\n" + }, + "localVariables": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:realtimecompute/JobLocalVariable:JobLocalVariable" + }, + "description": "Local variables See \u003cspan pulumi-lang-nodejs=\"`localVariables`\" pulumi-lang-dotnet=\"`LocalVariables`\" pulumi-lang-go=\"`localVariables`\" pulumi-lang-python=\"`local_variables`\" pulumi-lang-yaml=\"`localVariables`\" pulumi-lang-java=\"`localVariables`\"\u003e`local_variables`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "namespace": { + "type": "string", + "description": "namespace\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "workspace\n", + "willReplaceOnChanges": true + }, + "resourceQueueName": { + "type": "string", + "description": "Resource Queue for Job Run\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "restoreStrategy": { + "$ref": "#/types/alicloud:realtimecompute/JobRestoreStrategy:JobRestoreStrategy", + "description": "Restore strategy See \u003cspan pulumi-lang-nodejs=\"`restoreStrategy`\" pulumi-lang-dotnet=\"`RestoreStrategy`\" pulumi-lang-go=\"`restoreStrategy`\" pulumi-lang-python=\"`restore_strategy`\" pulumi-lang-yaml=\"`restoreStrategy`\" pulumi-lang-java=\"`restoreStrategy`\"\u003e`restore_strategy`\u003c/span\u003e below.\n", + "willReplaceOnChanges": true + }, + "status": { + "$ref": "#/types/alicloud:realtimecompute/JobStatus:JobStatus", + "description": "job status See \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e below.\n" + }, + "stopStrategy": { + "type": "string" + } + }, + "type": "object" + } + }, "alicloud:realtimecompute/vvpInstance:VvpInstance": { "description": "\n\n## Import\n\nRealtime Compute Vvp Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:realtimecompute/vvpInstance:VvpInstance example \u003cid\u003e\n```\n\n", "properties": { @@ -238747,6 +244364,69 @@ "type": "object" } }, + "alicloud:redis/backup:Backup": { + "description": "Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource.\n\nInstance level or database level backup objects.\n\nFor information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis).\n\n\u003e **NOTE:** Available since v1.15.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst zoneId = config.get(\"zoneId\") || \"cn-hangzhou-h\";\nconst _default = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = _default.then(_default =\u003e alicloud.vpc.getSwitches({\n zoneId: zoneId,\n vpcId: _default.ids?.[0],\n}));\nconst vswitch: alicloud.vpc.Switch[] = [];\ndefaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, {\n vpcId: _default.then(_default =\u003e _default.ids?.[0]),\n cidrBlock: _default.then(_default =\u003e std.cidrsubnet({\n input: _default.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 8,\n })).then(invoke =\u003e invoke.result),\n zoneId: zoneId,\n vswitchName: name,\n }));\n }\n});\nconst vswitchId = pulumi.all([defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids).length, defaultGetSwitches, std.concat({\n input: [\n vswitch.map(__item =\u003e __item.id),\n [\"\"],\n ],\n})]).apply(([length, defaultGetSwitches, invoke]) =\u003e length \u003e 0 ? defaultGetSwitches.ids?.[0] : invoke.result?.[0]);\nconst defaultInstance = new alicloud.kvstore.Instance(\"default\", {\n port: 6379,\n paymentType: \"PrePaid\",\n instanceType: \"Redis\",\n password: \"123456_tf\",\n engineVersion: \"5.0\",\n zoneId: zoneId,\n vswitchId: vswitchId,\n period: \"1\",\n instanceClass: \"redis.shard.small.2.ce\",\n});\nconst defaultBackup = new alicloud.redis.Backup(\"default\", {\n instanceId: defaultInstance.id,\n backupRetentionPeriod: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nzone_id = config.get(\"zoneId\")\nif zone_id is None:\n zone_id = \"cn-hangzhou-h\"\ndefault = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(zone_id=zone_id,\n vpc_id=default.ids[0])\nvswitch = []\ndef create_vswitch(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n vswitch.append(alicloud.vpc.Switch(f\"vswitch-{range['value']}\",\n vpc_id=default.ids[0],\n cidr_block=std.cidrsubnet(input=default.vpcs[0].cidr_block,\n newbits=8,\n netnum=8).result,\n zone_id=zone_id,\n vswitch_name=name))\n\nlen(default_get_switches.ids).apply(lambda resolved_outputs: create_vswitch(0 if resolved_outputs['length'] \u003e 0 else 1))\nvswitch_id = len(default_get_switches.ids).apply(lambda length: default_get_switches.ids[0] if length \u003e 0 else std.concat(input=[\n [__item.id for __item in vswitch],\n [\"\"],\n]).result[0])\ndefault_instance = alicloud.kvstore.Instance(\"default\",\n port=6379,\n payment_type=\"PrePaid\",\n instance_type=\"Redis\",\n password=\"123456_tf\",\n engine_version=\"5.0\",\n zone_id=zone_id,\n vswitch_id=vswitch_id,\n period=\"1\",\n instance_class=\"redis.shard.small.2.ce\")\ndefault_backup = alicloud.redis.Backup(\"default\",\n instance_id=default_instance.id,\n backup_retention_period=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var zoneId = config.Get(\"zoneId\") ?? \"cn-hangzhou-h\";\n var @default = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n ZoneId = zoneId,\n VpcId = @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n });\n\n var vswitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n vswitch.Add(new AliCloud.Vpc.Switch($\"vswitch-{range.Value}\", new()\n {\n VpcId = @default.Apply(@default =\u003e @default.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0])),\n CidrBlock = @default.Apply(@default =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = @default.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 8,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = zoneId,\n VswitchName = name,\n }));\n }\n var vswitchId = Output.Tuple(defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length, defaultGetSwitches, Std.Concat.Invoke(new()\n {\n Input = new[]\n {\n vswitch.Select(__item =\u003e __item.Id).ToList(),\n new[]\n {\n \"\",\n },\n },\n })).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetSwitches = values.Item2;\n var invoke = values.Item3;\n return length \u003e 0 ? defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]) : invoke.Result[0];\n });\n\n var defaultInstance = new AliCloud.KVStore.Instance(\"default\", new()\n {\n Port = 6379,\n PaymentType = \"PrePaid\",\n InstanceType = \"Redis\",\n Password = \"123456_tf\",\n EngineVersion = \"5.0\",\n ZoneId = zoneId,\n VswitchId = vswitchId,\n Period = \"1\",\n InstanceClass = \"redis.shard.small.2.ce\",\n });\n\n var defaultBackup = new AliCloud.Redis.Backup(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n BackupRetentionPeriod = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/redis\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\nzoneId := \"cn-hangzhou-h\";\nif param := cfg.Get(\"zoneId\"); param != \"\"{\nzoneId = param\n}\n_default, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\nNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\nZoneId: pulumi.StringRef(zoneId),\nVpcId: pulumi.StringRef(_default.Ids[0]),\n}, nil);\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: _default.Vpcs[0].CidrBlock,\nNewbits: 8,\nNetnum: 8,\n}, nil)\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar vswitch []*vpc.Switch\nfor index := 0; index \u003c float64(len(defaultGetSwitches.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"vswitch-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: pulumi.String(_default.Ids[0]),\nCidrBlock: pulumi.String(invokeCidrsubnet.Result),\nZoneId: pulumi.String(zoneId),\nVswitchName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvswitch = append(vswitch, __res)\n}\nvar tmp1 *interface{}\nif length \u003e 0 {\ntmp1 = defaultGetSwitches.Ids[0]\n} else {\ntmp1 = std.Concat(ctx, \u0026std.ConcatArgs{\nInput: pulumi.StringArrayArray{\n%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:32,12-25),\n[]string{\n\"\",\n},\n},\n}, nil).Result[0]\n}\nvswitchId := len(defaultGetSwitches.Ids).ApplyT(func(length int) (*interface{}, error) {\nreturn \u0026tmp1, nil\n}).(pulumi.Interface{}PtrOutput)\ndefaultInstance, err := kvstore.NewInstance(ctx, \"default\", \u0026kvstore.InstanceArgs{\nPort: pulumi.Int(6379),\nPaymentType: pulumi.String(\"PrePaid\"),\nInstanceType: pulumi.String(\"Redis\"),\nPassword: pulumi.String(\"123456_tf\"),\nEngineVersion: pulumi.String(\"5.0\"),\nZoneId: pulumi.String(zoneId),\nVswitchId: pulumi.Any(vswitchId),\nPeriod: pulumi.String(\"1\"),\nInstanceClass: pulumi.String(\"redis.shard.small.2.ce\"),\n})\nif err != nil {\nreturn err\n}\n_, err = redis.NewBackup(ctx, \"default\", \u0026redis.BackupArgs{\nInstanceId: defaultInstance.ID(),\nBackupRetentionPeriod: pulumi.Int(7),\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.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.std.inputs.ConcatArgs;\nimport com.pulumi.alicloud.kvstore.Instance;\nimport com.pulumi.alicloud.kvstore.InstanceArgs;\nimport com.pulumi.alicloud.redis.Backup;\nimport com.pulumi.alicloud.redis.BackupArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var zoneId = config.get(\"zoneId\").orElse(\"cn-hangzhou-h\");\n final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .zoneId(zoneId)\n .vpcId(default_.ids()[0])\n .build());\n\n for (var i = 0; i \u003c defaultGetSwitches.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Switch(\"vswitch-\" + i, SwitchArgs.builder()\n .vpcId(default_.ids()[0])\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(default_.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(8)\n .build()).result())\n .zoneId(zoneId)\n .vswitchName(name)\n .build());\n\n \n}\n final var vswitchId = defaultGetSwitches.ids().length().applyValue(_length -\u003e _length \u003e 0 ? defaultGetSwitches.ids()[0] : StdFunctions.concat(ConcatArgs.builder()\n .input( \n vswitch.stream().map(element -\u003e element.id()).collect(toList()),\n \"\")\n .build()).result()[0]);\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .port(6379)\n .paymentType(\"PrePaid\")\n .instanceType(\"Redis\")\n .password(\"123456_tf\")\n .engineVersion(\"5.0\")\n .zoneId(zoneId)\n .vswitchId(vswitchId)\n .period(\"1\")\n .instanceClass(\"redis.shard.small.2.ce\")\n .build());\n\n var defaultBackup = new Backup(\"defaultBackup\", BackupArgs.builder()\n .instanceId(defaultInstance.id())\n .backupRetentionPeriod(7)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:redis/backup:Backup example \u003cinstance_id\u003e:\u003cbackup_id\u003e\n```\n\n", + "properties": { + "backupId": { + "type": "integer", + "description": "Backup ID.\n" + }, + "backupRetentionPeriod": { + "type": "integer", + "description": "The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "instanceId": { + "type": "string", + "description": "InstanceId\n" + }, + "status": { + "type": "string", + "description": "Backup status.\n" + } + }, + "required": [ + "backupId", + "instanceId", + "status" + ], + "inputProperties": { + "backupRetentionPeriod": { + "type": "integer", + "description": "The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "instanceId": { + "type": "string", + "description": "InstanceId\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "instanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Backup resources.\n", + "properties": { + "backupId": { + "type": "integer", + "description": "Backup ID.\n" + }, + "backupRetentionPeriod": { + "type": "integer", + "description": "The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy.\n\n\u003e **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.\n" + }, + "instanceId": { + "type": "string", + "description": "InstanceId\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "Backup status.\n" + } + }, + "type": "object" + } + }, "alicloud:redis/tairInstance:TairInstance": { "description": "\n\n## Import\n\nTair (Redis OSS-Compatible) And Memcache (KVStore) Tair Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:redis/tairInstance:TairInstance example \u003cid\u003e\n```\n\n", "properties": { @@ -239409,7 +245089,7 @@ } }, "alicloud:resourcemanager/account:Account": { - "description": "Provides a Resource Manager Account resource.\n\n\n\nFor information about Resource Manager Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/doc-detail/111231.htm).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst displayName = config.get(\"displayName\") || \"EAccount\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = alicloud.resourcemanager.getFolders({});\nconst exampleAccount = new alicloud.resourcemanager.Account(\"example\", {\n displayName: `${displayName}-${_default.result}`,\n folderId: example.then(example =\u003e example.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndisplay_name = config.get(\"displayName\")\nif display_name is None:\n display_name = \"EAccount\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.resourcemanager.get_folders()\nexample_account = alicloud.resourcemanager.Account(\"example\",\n display_name=f\"{display_name}-{default['result']}\",\n folder_id=example.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var displayName = config.Get(\"displayName\") ?? \"EAccount\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = AliCloud.ResourceManager.GetFolders.Invoke();\n\n var exampleAccount = new AliCloud.ResourceManager.Account(\"example\", new()\n {\n DisplayName = $\"{displayName}-{@default.Result}\",\n FolderId = example.Apply(getFoldersResult =\u003e getFoldersResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdisplayName := \"EAccount\"\n\t\tif param := cfg.Get(\"displayName\"); param != \"\" {\n\t\t\tdisplayName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := resourcemanager.GetFolders(ctx, \u0026resourcemanager.GetFoldersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewAccount(ctx, \"example\", \u0026resourcemanager.AccountArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v-%v\", displayName, _default.Result),\n\t\t\tFolderId: pulumi.String(example.Ids[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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetFoldersArgs;\nimport com.pulumi.alicloud.resourcemanager.Account;\nimport com.pulumi.alicloud.resourcemanager.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var displayName = config.get(\"displayName\").orElse(\"EAccount\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var example = ResourcemanagerFunctions.getFolders(GetFoldersArgs.builder()\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .displayName(String.format(\"%s-%s\", displayName,default_.result()))\n .folderId(example.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n displayName:\n type: string\n default: EAccount\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleAccount:\n type: alicloud:resourcemanager:Account\n name: example\n properties:\n displayName: ${displayName}-${default.result}\n folderId: ${example.ids[0]}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getFolders\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/account:Account example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Account resource.\n\n\n\nFor information about Resource Manager Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/doc-detail/111231.htm).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst displayName = config.get(\"displayName\") || \"EAccount\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = alicloud.resourcemanager.getFolders({});\nconst exampleAccount = new alicloud.resourcemanager.Account(\"example\", {\n displayName: `${displayName}-${_default.result}`,\n folderId: example.then(example =\u003e example.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndisplay_name = config.get(\"displayName\")\nif display_name is None:\n display_name = \"EAccount\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.resourcemanager.get_folders()\nexample_account = alicloud.resourcemanager.Account(\"example\",\n display_name=f\"{display_name}-{default['result']}\",\n folder_id=example.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var displayName = config.Get(\"displayName\") ?? \"EAccount\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = AliCloud.ResourceManager.GetFolders.Invoke();\n\n var exampleAccount = new AliCloud.ResourceManager.Account(\"example\", new()\n {\n DisplayName = $\"{displayName}-{@default.Result}\",\n FolderId = example.Apply(getFoldersResult =\u003e getFoldersResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdisplayName := \"EAccount\"\n\t\tif param := cfg.Get(\"displayName\"); param != \"\" {\n\t\t\tdisplayName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := resourcemanager.GetFolders(ctx, \u0026resourcemanager.GetFoldersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewAccount(ctx, \"example\", \u0026resourcemanager.AccountArgs{\n\t\t\tDisplayName: pulumi.Sprintf(\"%v-%v\", displayName, _default.Result),\n\t\t\tFolderId: pulumi.String(example.Ids[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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetFoldersArgs;\nimport com.pulumi.alicloud.resourcemanager.Account;\nimport com.pulumi.alicloud.resourcemanager.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 name = config.get(\"name\").orElse(\"tf-example\");\n final var displayName = config.get(\"displayName\").orElse(\"EAccount\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var example = ResourcemanagerFunctions.getFolders(GetFoldersArgs.builder()\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .displayName(String.format(\"%s-%s\", displayName,default_.result()))\n .folderId(example.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n displayName:\n type: string\n default: EAccount\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n exampleAccount:\n type: alicloud:resourcemanager:Account\n name: example\n properties:\n displayName: ${displayName}-${default.result}\n folderId: ${example.ids[0]}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getFolders\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/account:Account example \u003cid\u003e\n```\n\n", "properties": { "abandonAbleCheckIds": { "type": "array", @@ -239625,7 +245305,7 @@ } }, "alicloud:resourcemanager/autoGroupingRule:AutoGroupingRule": { - "description": "Provides a Resource Manager Auto Grouping Rule resource.\n\nAuto grouping rules of resource group.\n\nFor information about Resource Manager Auto Grouping Rule and how to use it, see [What is Auto Grouping Rule](https://www.alibabacloud.com/help/en/resource-management/resource-group/developer-reference/api-resourcemanager-2020-03-31-createautogroupingrule-rg).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.AutoGroupingRule(\"default\", {\n ruleContents: [{\n targetResourceGroupCondition: ` {\n \\\\\"children\\\\\": [\n {\n \\\\\"desired\\\\\": \\\\\"rg-aek*****sbvy\\\\\",\n \\\\\"featurePath\\\\\": \\\\\".resourceGroupId\\\\\",\n \\\\\"featureSource\\\\\": \\\\\"RESOURCE\\\\\",\n \\\\\"operator\\\\\": \\\\\"StringEquals\\\\\"\n }\n ],\n \\\\\"operator\\\\\": \\\\\"and\\\\\"\n }\n`,\n autoGroupingScopeCondition: ` {\n \\\\\"children\\\\\": [\n {\n \\\\\"desired\\\\\": \\\\\"name_a\\\\\",\n \\\\\"featurePath\\\\\": \\\\\".resourceName\\\\\",\n \\\\\"featureSource\\\\\": \\\\\"RESOURCE\\\\\",\n \\\\\"operator\\\\\": \\\\\"StringEqualsAny\\\\\"\n }\n ],\n \\\\\"operator\\\\\": \\\\\"and\\\\\"\n }\n`,\n }],\n ruleDesc: name,\n ruleType: \"custom_condition\",\n regionIdsScope: \"cn-hangzhou,cn-shanghai\",\n resourceIdsScope: \"imock-xxxxxx\",\n resourceGroupIdsScope: \"rg-aek22*****3sbvz\",\n resourceTypesScope: \"ecs.instance,vpc.vpc\",\n ruleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.AutoGroupingRule(\"default\",\n rule_contents=[{\n \"target_resource_group_condition\": \"\"\" {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n\"\"\",\n \"auto_grouping_scope_condition\": \"\"\" {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n\"\"\",\n }],\n rule_desc=name,\n rule_type=\"custom_condition\",\n region_ids_scope=\"cn-hangzhou,cn-shanghai\",\n resource_ids_scope=\"imock-xxxxxx\",\n resource_group_ids_scope=\"rg-aek22*****3sbvz\",\n resource_types_scope=\"ecs.instance,vpc.vpc\",\n rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.AutoGroupingRule(\"default\", new()\n {\n RuleContents = new[]\n {\n new AliCloud.ResourceManager.Inputs.AutoGroupingRuleRuleContentArgs\n {\n TargetResourceGroupCondition = @\" {\n \\\"\"children\\\"\": [\n {\n \\\"\"desired\\\"\": \\\"\"rg-aek*****sbvy\\\"\",\n \\\"\"featurePath\\\"\": \\\"\"$.resourceGroupId\\\"\",\n \\\"\"featureSource\\\"\": \\\"\"RESOURCE\\\"\",\n \\\"\"operator\\\"\": \\\"\"StringEquals\\\"\"\n }\n ],\n \\\"\"operator\\\"\": \\\"\"and\\\"\"\n }\n\",\n AutoGroupingScopeCondition = @\" {\n \\\"\"children\\\"\": [\n {\n \\\"\"desired\\\"\": \\\"\"name_a\\\"\",\n \\\"\"featurePath\\\"\": \\\"\"$.resourceName\\\"\",\n \\\"\"featureSource\\\"\": \\\"\"RESOURCE\\\"\",\n \\\"\"operator\\\"\": \\\"\"StringEqualsAny\\\"\"\n }\n ],\n \\\"\"operator\\\"\": \\\"\"and\\\"\"\n }\n\",\n },\n },\n RuleDesc = name,\n RuleType = \"custom_condition\",\n RegionIdsScope = \"cn-hangzhou,cn-shanghai\",\n ResourceIdsScope = \"imock-xxxxxx\",\n ResourceGroupIdsScope = \"rg-aek22*****3sbvz\",\n ResourceTypesScope = \"ecs.instance,vpc.vpc\",\n RuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewAutoGroupingRule(ctx, \"default\", \u0026resourcemanager.AutoGroupingRuleArgs{\n\t\t\tRuleContents: resourcemanager.AutoGroupingRuleRuleContentArray{\n\t\t\t\t\u0026resourcemanager.AutoGroupingRuleRuleContentArgs{\n\t\t\t\t\tTargetResourceGroupCondition: pulumi.String(` {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n`),\n\t\t\t\t\tAutoGroupingScopeCondition: pulumi.String(` {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRuleDesc: pulumi.String(name),\n\t\t\tRuleType: pulumi.String(\"custom_condition\"),\n\t\t\tRegionIdsScope: pulumi.String(\"cn-hangzhou,cn-shanghai\"),\n\t\t\tResourceIdsScope: pulumi.String(\"imock-xxxxxx\"),\n\t\t\tResourceGroupIdsScope: pulumi.String(\"rg-aek22*****3sbvz\"),\n\t\t\tResourceTypesScope: pulumi.String(\"ecs.instance,vpc.vpc\"),\n\t\t\tRuleName: pulumi.String(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.alicloud.resourcemanager.AutoGroupingRule;\nimport com.pulumi.alicloud.resourcemanager.AutoGroupingRuleArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.AutoGroupingRuleRuleContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AutoGroupingRule(\"default\", AutoGroupingRuleArgs.builder()\n .ruleContents(AutoGroupingRuleRuleContentArgs.builder()\n .targetResourceGroupCondition(\"\"\"\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n \"\"\")\n .autoGroupingScopeCondition(\"\"\"\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n \"\"\")\n .build())\n .ruleDesc(name)\n .ruleType(\"custom_condition\")\n .regionIdsScope(\"cn-hangzhou,cn-shanghai\")\n .resourceIdsScope(\"imock-xxxxxx\")\n .resourceGroupIdsScope(\"rg-aek22*****3sbvz\")\n .resourceTypesScope(\"ecs.instance,vpc.vpc\")\n .ruleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:AutoGroupingRule\n properties:\n ruleContents:\n - targetResourceGroupCondition: |2\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n autoGroupingScopeCondition: |2\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n ruleDesc: ${name}\n ruleType: custom_condition\n regionIdsScope: cn-hangzhou,cn-shanghai\n resourceIdsScope: imock-xxxxxx\n resourceGroupIdsScope: rg-aek22*****3sbvz\n resourceTypesScope: ecs.instance,vpc.vpc\n ruleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Auto Grouping Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/autoGroupingRule:AutoGroupingRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Auto Grouping Rule resource.\n\nAuto grouping rules of resource group.\n\nFor information about Resource Manager Auto Grouping Rule and how to use it, see [What is Auto Grouping Rule](https://www.alibabacloud.com/help/en/resource-management/resource-group/developer-reference/api-resourcemanager-2020-03-31-createautogroupingrule-rg).\n\n\u003e **NOTE:** Available since v1.246.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.AutoGroupingRule(\"default\", {\n ruleContents: [{\n targetResourceGroupCondition: ` {\n \\\\\"children\\\\\": [\n {\n \\\\\"desired\\\\\": \\\\\"rg-aek*****sbvy\\\\\",\n \\\\\"featurePath\\\\\": \\\\\".resourceGroupId\\\\\",\n \\\\\"featureSource\\\\\": \\\\\"RESOURCE\\\\\",\n \\\\\"operator\\\\\": \\\\\"StringEquals\\\\\"\n }\n ],\n \\\\\"operator\\\\\": \\\\\"and\\\\\"\n }\n`,\n autoGroupingScopeCondition: ` {\n \\\\\"children\\\\\": [\n {\n \\\\\"desired\\\\\": \\\\\"name_a\\\\\",\n \\\\\"featurePath\\\\\": \\\\\".resourceName\\\\\",\n \\\\\"featureSource\\\\\": \\\\\"RESOURCE\\\\\",\n \\\\\"operator\\\\\": \\\\\"StringEqualsAny\\\\\"\n }\n ],\n \\\\\"operator\\\\\": \\\\\"and\\\\\"\n }\n`,\n }],\n ruleDesc: name,\n ruleType: \"custom_condition\",\n regionIdsScope: \"cn-hangzhou,cn-shanghai\",\n resourceIdsScope: \"imock-xxxxxx\",\n resourceGroupIdsScope: \"rg-aek22*****3sbvz\",\n resourceTypesScope: \"ecs.instance,vpc.vpc\",\n ruleName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.AutoGroupingRule(\"default\",\n rule_contents=[{\n \"target_resource_group_condition\": \"\"\" {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n\"\"\",\n \"auto_grouping_scope_condition\": \"\"\" {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n\"\"\",\n }],\n rule_desc=name,\n rule_type=\"custom_condition\",\n region_ids_scope=\"cn-hangzhou,cn-shanghai\",\n resource_ids_scope=\"imock-xxxxxx\",\n resource_group_ids_scope=\"rg-aek22*****3sbvz\",\n resource_types_scope=\"ecs.instance,vpc.vpc\",\n rule_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.AutoGroupingRule(\"default\", new()\n {\n RuleContents = new[]\n {\n new AliCloud.ResourceManager.Inputs.AutoGroupingRuleRuleContentArgs\n {\n TargetResourceGroupCondition = @\" {\n \\\"\"children\\\"\": [\n {\n \\\"\"desired\\\"\": \\\"\"rg-aek*****sbvy\\\"\",\n \\\"\"featurePath\\\"\": \\\"\"$.resourceGroupId\\\"\",\n \\\"\"featureSource\\\"\": \\\"\"RESOURCE\\\"\",\n \\\"\"operator\\\"\": \\\"\"StringEquals\\\"\"\n }\n ],\n \\\"\"operator\\\"\": \\\"\"and\\\"\"\n }\n\",\n AutoGroupingScopeCondition = @\" {\n \\\"\"children\\\"\": [\n {\n \\\"\"desired\\\"\": \\\"\"name_a\\\"\",\n \\\"\"featurePath\\\"\": \\\"\"$.resourceName\\\"\",\n \\\"\"featureSource\\\"\": \\\"\"RESOURCE\\\"\",\n \\\"\"operator\\\"\": \\\"\"StringEqualsAny\\\"\"\n }\n ],\n \\\"\"operator\\\"\": \\\"\"and\\\"\"\n }\n\",\n },\n },\n RuleDesc = name,\n RuleType = \"custom_condition\",\n RegionIdsScope = \"cn-hangzhou,cn-shanghai\",\n ResourceIdsScope = \"imock-xxxxxx\",\n ResourceGroupIdsScope = \"rg-aek22*****3sbvz\",\n ResourceTypesScope = \"ecs.instance,vpc.vpc\",\n RuleName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewAutoGroupingRule(ctx, \"default\", \u0026resourcemanager.AutoGroupingRuleArgs{\n\t\t\tRuleContents: resourcemanager.AutoGroupingRuleRuleContentArray{\n\t\t\t\t\u0026resourcemanager.AutoGroupingRuleRuleContentArgs{\n\t\t\t\t\tTargetResourceGroupCondition: pulumi.String(` {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n`),\n\t\t\t\t\tAutoGroupingScopeCondition: pulumi.String(` {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRuleDesc: pulumi.String(name),\n\t\t\tRuleType: pulumi.String(\"custom_condition\"),\n\t\t\tRegionIdsScope: pulumi.String(\"cn-hangzhou,cn-shanghai\"),\n\t\t\tResourceIdsScope: pulumi.String(\"imock-xxxxxx\"),\n\t\t\tResourceGroupIdsScope: pulumi.String(\"rg-aek22*****3sbvz\"),\n\t\t\tResourceTypesScope: pulumi.String(\"ecs.instance,vpc.vpc\"),\n\t\t\tRuleName: pulumi.String(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.alicloud.resourcemanager.AutoGroupingRule;\nimport com.pulumi.alicloud.resourcemanager.AutoGroupingRuleArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.AutoGroupingRuleRuleContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AutoGroupingRule(\"default\", AutoGroupingRuleArgs.builder()\n .ruleContents(AutoGroupingRuleRuleContentArgs.builder()\n .targetResourceGroupCondition(\"\"\"\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n \"\"\")\n .autoGroupingScopeCondition(\"\"\"\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n \"\"\")\n .build())\n .ruleDesc(name)\n .ruleType(\"custom_condition\")\n .regionIdsScope(\"cn-hangzhou,cn-shanghai\")\n .resourceIdsScope(\"imock-xxxxxx\")\n .resourceGroupIdsScope(\"rg-aek22*****3sbvz\")\n .resourceTypesScope(\"ecs.instance,vpc.vpc\")\n .ruleName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:AutoGroupingRule\n properties:\n ruleContents:\n - targetResourceGroupCondition: |2\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"rg-aek*****sbvy\\\",\n \\\"featurePath\\\": \\\"$.resourceGroupId\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEquals\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n autoGroupingScopeCondition: |2\n {\n \\\"children\\\": [\n {\n \\\"desired\\\": \\\"name_a\\\",\n \\\"featurePath\\\": \\\"$.resourceName\\\",\n \\\"featureSource\\\": \\\"RESOURCE\\\",\n \\\"operator\\\": \\\"StringEqualsAny\\\"\n }\n ],\n \\\"operator\\\": \\\"and\\\"\n }\n ruleDesc: ${name}\n ruleType: custom_condition\n regionIdsScope: cn-hangzhou,cn-shanghai\n resourceIdsScope: imock-xxxxxx\n resourceGroupIdsScope: rg-aek22*****3sbvz\n resourceTypesScope: ecs.instance,vpc.vpc\n ruleName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Auto Grouping Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/autoGroupingRule:AutoGroupingRule example \u003cid\u003e\n```\n\n", "properties": { "excludeRegionIdsScope": { "type": "string", @@ -239803,7 +245483,7 @@ } }, "alicloud:resourcemanager/controlPolicy:ControlPolicy": { - "description": "Provides a Resource Manager Control Policy resource.\n\n\n\nFor information about Resource Manager Control Policy and how to use it, see [What is Control Policy](https://www.alibabacloud.com/help/en/resource-management/latest/api-resourcedirectorymaster-2022-04-19-createcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.resourcemanager.ControlPolicy(\"example\", {\n controlPolicyName: name,\n description: name,\n effectScope: \"RAM\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Action\\\\\": [\n \\\\\"ram:UpdateRole\\\\\",\n \\\\\"ram:DeleteRole\\\\\",\n \\\\\"ram:AttachPolicyToRole\\\\\",\n \\\\\"ram:DetachPolicyFromRole\\\\\"\n ],\n \\\\\"Resource\\\\\": \\\\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\\\"\n }\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.resourcemanager.ControlPolicy(\"example\",\n control_policy_name=name,\n description=name,\n effect_scope=\"RAM\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.ResourceManager.ControlPolicy(\"example\", new()\n {\n ControlPolicyName = name,\n Description = name,\n EffectScope = \"RAM\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Action\\\"\": [\n \\\"\"ram:UpdateRole\\\"\",\n \\\"\"ram:DeleteRole\\\"\",\n \\\"\"ram:AttachPolicyToRole\\\"\",\n \\\"\"ram:DetachPolicyFromRole\\\"\"\n ],\n \\\"\"Resource\\\"\": \\\"\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\"\n }\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewControlPolicy(ctx, \"example\", \u0026resourcemanager.ControlPolicyArgs{\n\t\t\tControlPolicyName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEffectScope: pulumi.String(\"RAM\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\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.alicloud.resourcemanager.ControlPolicy;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new ControlPolicy(\"example\", ControlPolicyArgs.builder()\n .controlPolicyName(name)\n .description(name)\n .effectScope(\"RAM\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:resourcemanager:ControlPolicy\n properties:\n controlPolicyName: ${name}\n description: ${name}\n effectScope: RAM\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/controlPolicy:ControlPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Control Policy resource.\n\n\n\nFor information about Resource Manager Control Policy and how to use it, see [What is Control Policy](https://www.alibabacloud.com/help/en/resource-management/latest/api-resourcedirectorymaster-2022-04-19-createcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.resourcemanager.ControlPolicy(\"example\", {\n controlPolicyName: name,\n description: name,\n effectScope: \"RAM\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Action\\\\\": [\n \\\\\"ram:UpdateRole\\\\\",\n \\\\\"ram:DeleteRole\\\\\",\n \\\\\"ram:AttachPolicyToRole\\\\\",\n \\\\\"ram:DetachPolicyFromRole\\\\\"\n ],\n \\\\\"Resource\\\\\": \\\\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\\\"\n }\n ]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.resourcemanager.ControlPolicy(\"example\",\n control_policy_name=name,\n description=name,\n effect_scope=\"RAM\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.ResourceManager.ControlPolicy(\"example\", new()\n {\n ControlPolicyName = name,\n Description = name,\n EffectScope = \"RAM\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Action\\\"\": [\n \\\"\"ram:UpdateRole\\\"\",\n \\\"\"ram:DeleteRole\\\"\",\n \\\"\"ram:AttachPolicyToRole\\\"\",\n \\\"\"ram:DetachPolicyFromRole\\\"\"\n ],\n \\\"\"Resource\\\"\": \\\"\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\"\n }\n ]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewControlPolicy(ctx, \"example\", \u0026resourcemanager.ControlPolicyArgs{\n\t\t\tControlPolicyName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEffectScope: pulumi.String(\"RAM\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\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.alicloud.resourcemanager.ControlPolicy;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new ControlPolicy(\"example\", ControlPolicyArgs.builder()\n .controlPolicyName(name)\n .description(name)\n .effectScope(\"RAM\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:resourcemanager:ControlPolicy\n properties:\n controlPolicyName: ${name}\n description: ${name}\n effectScope: RAM\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Control Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/controlPolicy:ControlPolicy example \u003cid\u003e\n```\n\n", "properties": { "controlPolicyName": { "type": "string", @@ -239906,7 +245586,7 @@ } }, "alicloud:resourcemanager/controlPolicyAttachment:ControlPolicyAttachment": { - "description": "Provides a Resource Manager Control Policy Attachment resource.\n\nControl Policy Attachment.\n\nFor information about Resource Manager Control Policy Attachment and how to use it, see [What is Control Policy Attachment](https://www.alibabacloud.com/help/en/resource-management/resource-directory/developer-reference/api-resourcemanager-2020-03-31-attachcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultControlPolicy = new alicloud.resourcemanager.ControlPolicy(\"default\", {\n controlPolicyName: name,\n description: name,\n effectScope: \"RAM\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Action\\\\\": [\n \\\\\"ram:UpdateRole\\\\\",\n \\\\\"ram:DeleteRole\\\\\",\n \\\\\"ram:AttachPolicyToRole\\\\\",\n \\\\\"ram:DetachPolicyFromRole\\\\\"\n ],\n \\\\\"Resource\\\\\": \\\\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\\\"\n }\n ]\n }\n`,\n});\nconst defaultFolder = new alicloud.resourcemanager.Folder(\"default\", {folderName: `${name}-${_default.result}`});\nconst defaultControlPolicyAttachment = new alicloud.resourcemanager.ControlPolicyAttachment(\"default\", {\n policyId: defaultControlPolicy.id,\n targetId: defaultFolder.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_control_policy = alicloud.resourcemanager.ControlPolicy(\"default\",\n control_policy_name=name,\n description=name,\n effect_scope=\"RAM\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n\"\"\")\ndefault_folder = alicloud.resourcemanager.Folder(\"default\", folder_name=f\"{name}-{default['result']}\")\ndefault_control_policy_attachment = alicloud.resourcemanager.ControlPolicyAttachment(\"default\",\n policy_id=default_control_policy.id,\n target_id=default_folder.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultControlPolicy = new AliCloud.ResourceManager.ControlPolicy(\"default\", new()\n {\n ControlPolicyName = name,\n Description = name,\n EffectScope = \"RAM\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Action\\\"\": [\n \\\"\"ram:UpdateRole\\\"\",\n \\\"\"ram:DeleteRole\\\"\",\n \\\"\"ram:AttachPolicyToRole\\\"\",\n \\\"\"ram:DetachPolicyFromRole\\\"\"\n ],\n \\\"\"Resource\\\"\": \\\"\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\"\n }\n ]\n }\n\",\n });\n\n var defaultFolder = new AliCloud.ResourceManager.Folder(\"default\", new()\n {\n FolderName = $\"{name}-{@default.Result}\",\n });\n\n var defaultControlPolicyAttachment = new AliCloud.ResourceManager.ControlPolicyAttachment(\"default\", new()\n {\n PolicyId = defaultControlPolicy.Id,\n TargetId = defaultFolder.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultControlPolicy, err := resourcemanager.NewControlPolicy(ctx, \"default\", \u0026resourcemanager.ControlPolicyArgs{\n\t\t\tControlPolicyName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEffectScope: pulumi.String(\"RAM\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFolder, err := resourcemanager.NewFolder(ctx, \"default\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewControlPolicyAttachment(ctx, \"default\", \u0026resourcemanager.ControlPolicyAttachmentArgs{\n\t\t\tPolicyId: defaultControlPolicy.ID(),\n\t\t\tTargetId: defaultFolder.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicy;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyAttachment;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultControlPolicy = new ControlPolicy(\"defaultControlPolicy\", ControlPolicyArgs.builder()\n .controlPolicyName(name)\n .description(name)\n .effectScope(\"RAM\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n var defaultFolder = new Folder(\"defaultFolder\", FolderArgs.builder()\n .folderName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultControlPolicyAttachment = new ControlPolicyAttachment(\"defaultControlPolicyAttachment\", ControlPolicyAttachmentArgs.builder()\n .policyId(defaultControlPolicy.id())\n .targetId(defaultFolder.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultControlPolicy:\n type: alicloud:resourcemanager:ControlPolicy\n name: default\n properties:\n controlPolicyName: ${name}\n description: ${name}\n effectScope: RAM\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n defaultFolder:\n type: alicloud:resourcemanager:Folder\n name: default\n properties:\n folderName: ${name}-${default.result}\n defaultControlPolicyAttachment:\n type: alicloud:resourcemanager:ControlPolicyAttachment\n name: default\n properties:\n policyId: ${defaultControlPolicy.id}\n targetId: ${defaultFolder.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Control Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/controlPolicyAttachment:ControlPolicyAttachment example \u003cpolicy_id\u003e:\u003ctarget_id\u003e\n```\n\n", + "description": "Provides a Resource Manager Control Policy Attachment resource.\n\nControl Policy Attachment.\n\nFor information about Resource Manager Control Policy Attachment and how to use it, see [What is Control Policy Attachment](https://www.alibabacloud.com/help/en/resource-management/resource-directory/developer-reference/api-resourcemanager-2020-03-31-attachcontrolpolicy).\n\n\u003e **NOTE:** Available since v1.120.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultControlPolicy = new alicloud.resourcemanager.ControlPolicy(\"default\", {\n controlPolicyName: name,\n description: name,\n effectScope: \"RAM\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Effect\\\\\": \\\\\"Deny\\\\\",\n \\\\\"Action\\\\\": [\n \\\\\"ram:UpdateRole\\\\\",\n \\\\\"ram:DeleteRole\\\\\",\n \\\\\"ram:AttachPolicyToRole\\\\\",\n \\\\\"ram:DetachPolicyFromRole\\\\\"\n ],\n \\\\\"Resource\\\\\": \\\\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\\\"\n }\n ]\n }\n`,\n});\nconst defaultFolder = new alicloud.resourcemanager.Folder(\"default\", {folderName: `${name}-${_default.result}`});\nconst defaultControlPolicyAttachment = new alicloud.resourcemanager.ControlPolicyAttachment(\"default\", {\n policyId: defaultControlPolicy.id,\n targetId: defaultFolder.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_control_policy = alicloud.resourcemanager.ControlPolicy(\"default\",\n control_policy_name=name,\n description=name,\n effect_scope=\"RAM\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n\"\"\")\ndefault_folder = alicloud.resourcemanager.Folder(\"default\", folder_name=f\"{name}-{default['result']}\")\ndefault_control_policy_attachment = alicloud.resourcemanager.ControlPolicyAttachment(\"default\",\n policy_id=default_control_policy.id,\n target_id=default_folder.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultControlPolicy = new AliCloud.ResourceManager.ControlPolicy(\"default\", new()\n {\n ControlPolicyName = name,\n Description = name,\n EffectScope = \"RAM\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Effect\\\"\": \\\"\"Deny\\\"\",\n \\\"\"Action\\\"\": [\n \\\"\"ram:UpdateRole\\\"\",\n \\\"\"ram:DeleteRole\\\"\",\n \\\"\"ram:AttachPolicyToRole\\\"\",\n \\\"\"ram:DetachPolicyFromRole\\\"\"\n ],\n \\\"\"Resource\\\"\": \\\"\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\"\n }\n ]\n }\n\",\n });\n\n var defaultFolder = new AliCloud.ResourceManager.Folder(\"default\", new()\n {\n FolderName = $\"{name}-{@default.Result}\",\n });\n\n var defaultControlPolicyAttachment = new AliCloud.ResourceManager.ControlPolicyAttachment(\"default\", new()\n {\n PolicyId = defaultControlPolicy.Id,\n TargetId = defaultFolder.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultControlPolicy, err := resourcemanager.NewControlPolicy(ctx, \"default\", \u0026resourcemanager.ControlPolicyArgs{\n\t\t\tControlPolicyName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tEffectScope: pulumi.String(\"RAM\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultFolder, err := resourcemanager.NewFolder(ctx, \"default\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewControlPolicyAttachment(ctx, \"default\", \u0026resourcemanager.ControlPolicyAttachmentArgs{\n\t\t\tPolicyId: defaultControlPolicy.ID(),\n\t\t\tTargetId: defaultFolder.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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicy;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyAttachment;\nimport com.pulumi.alicloud.resourcemanager.ControlPolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultControlPolicy = new ControlPolicy(\"defaultControlPolicy\", ControlPolicyArgs.builder()\n .controlPolicyName(name)\n .description(name)\n .effectScope(\"RAM\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n \"\"\")\n .build());\n\n var defaultFolder = new Folder(\"defaultFolder\", FolderArgs.builder()\n .folderName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultControlPolicyAttachment = new ControlPolicyAttachment(\"defaultControlPolicyAttachment\", ControlPolicyAttachmentArgs.builder()\n .policyId(defaultControlPolicy.id())\n .targetId(defaultFolder.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultControlPolicy:\n type: alicloud:resourcemanager:ControlPolicy\n name: default\n properties:\n controlPolicyName: ${name}\n description: ${name}\n effectScope: RAM\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [\n {\n \\\"Effect\\\": \\\"Deny\\\",\n \\\"Action\\\": [\n \\\"ram:UpdateRole\\\",\n \\\"ram:DeleteRole\\\",\n \\\"ram:AttachPolicyToRole\\\",\n \\\"ram:DetachPolicyFromRole\\\"\n ],\n \\\"Resource\\\": \\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\"\n }\n ]\n }\n defaultFolder:\n type: alicloud:resourcemanager:Folder\n name: default\n properties:\n folderName: ${name}-${default.result}\n defaultControlPolicyAttachment:\n type: alicloud:resourcemanager:ControlPolicyAttachment\n name: default\n properties:\n policyId: ${defaultControlPolicy.id}\n targetId: ${defaultFolder.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Control Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/controlPolicyAttachment:ControlPolicyAttachment example \u003cpolicy_id\u003e:\u003ctarget_id\u003e\n```\n\n", "properties": { "policyId": { "type": "string", @@ -239955,7 +245635,7 @@ } }, "alicloud:resourcemanager/delegatedAdministrator:DelegatedAdministrator": { - "description": "Provides a Resource Manager Delegated Administrator resource.\n\n\n\nFor information about Resource Manager Delegated Administrator and how to use it, see [What is Delegated Administrator](https://www.alibabacloud.com/help/en/resource-management/latest/registerdelegatedadministrator#doc-api-ResourceManager-RegisterDelegatedAdministrator).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst defaultDelegatedAdministrator = new alicloud.resourcemanager.DelegatedAdministrator(\"default\", {\n accountId: _default.then(_default =\u003e _default.accounts?.[0]?.accountId),\n servicePrincipal: \"cloudfw.aliyuncs.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\ndefault_delegated_administrator = alicloud.resourcemanager.DelegatedAdministrator(\"default\",\n account_id=default.accounts[0].account_id,\n service_principal=\"cloudfw.aliyuncs.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var defaultDelegatedAdministrator = new AliCloud.ResourceManager.DelegatedAdministrator(\"default\", new()\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts[0]?.AccountId)),\n ServicePrincipal = \"cloudfw.aliyuncs.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewDelegatedAdministrator(ctx, \"default\", \u0026resourcemanager.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(_default.Accounts[0].AccountId),\n\t\t\tServicePrincipal: pulumi.String(\"cloudfw.aliyuncs.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministrator;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n var defaultDelegatedAdministrator = new DelegatedAdministrator(\"defaultDelegatedAdministrator\", DelegatedAdministratorArgs.builder()\n .accountId(default_.accounts()[0].accountId())\n .servicePrincipal(\"cloudfw.aliyuncs.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDelegatedAdministrator:\n type: alicloud:resourcemanager:DelegatedAdministrator\n name: default\n properties:\n accountId: ${default.accounts[0].accountId}\n servicePrincipal: cloudfw.aliyuncs.com\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments:\n status: CreateSuccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Delegated Administrator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/delegatedAdministrator:DelegatedAdministrator example \u003caccount_id\u003e:\u003cservice_principal\u003e\n```\n\n", + "description": "Provides a Resource Manager Delegated Administrator resource.\n\n\n\nFor information about Resource Manager Delegated Administrator and how to use it, see [What is Delegated Administrator](https://www.alibabacloud.com/help/en/resource-management/latest/registerdelegatedadministrator#doc-api-ResourceManager-RegisterDelegatedAdministrator).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getAccounts({\n status: \"CreateSuccess\",\n});\nconst defaultDelegatedAdministrator = new alicloud.resourcemanager.DelegatedAdministrator(\"default\", {\n accountId: _default.then(_default =\u003e _default.accounts?.[0]?.accountId),\n servicePrincipal: \"cloudfw.aliyuncs.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_accounts(status=\"CreateSuccess\")\ndefault_delegated_administrator = alicloud.resourcemanager.DelegatedAdministrator(\"default\",\n account_id=default.accounts[0].account_id,\n service_principal=\"cloudfw.aliyuncs.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke(new()\n {\n Status = \"CreateSuccess\",\n });\n\n var defaultDelegatedAdministrator = new AliCloud.ResourceManager.DelegatedAdministrator(\"default\", new()\n {\n AccountId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Accounts[0]?.AccountId)),\n ServicePrincipal = \"cloudfw.aliyuncs.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{\n\t\t\tStatus: pulumi.StringRef(\"CreateSuccess\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewDelegatedAdministrator(ctx, \"default\", \u0026resourcemanager.DelegatedAdministratorArgs{\n\t\t\tAccountId: pulumi.String(_default.Accounts[0].AccountId),\n\t\t\tServicePrincipal: pulumi.String(\"cloudfw.aliyuncs.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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministrator;\nimport com.pulumi.alicloud.resourcemanager.DelegatedAdministratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .status(\"CreateSuccess\")\n .build());\n\n var defaultDelegatedAdministrator = new DelegatedAdministrator(\"defaultDelegatedAdministrator\", DelegatedAdministratorArgs.builder()\n .accountId(default_.accounts()[0].accountId())\n .servicePrincipal(\"cloudfw.aliyuncs.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDelegatedAdministrator:\n type: alicloud:resourcemanager:DelegatedAdministrator\n name: default\n properties:\n accountId: ${default.accounts[0].accountId}\n servicePrincipal: cloudfw.aliyuncs.com\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments:\n status: CreateSuccess\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Delegated Administrator can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/delegatedAdministrator:DelegatedAdministrator example \u003caccount_id\u003e:\u003cservice_principal\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -240004,7 +245684,7 @@ } }, "alicloud:resourcemanager/deliveryChannel:DeliveryChannel": { - "description": "Provides a Resource Manager Delivery Channel resource.\n\nDelivery channel resources of current account.\n\nFor information about Resource Manager Delivery Channel and how to use it, see [What is Delivery Channel](https://next.api.alibabacloud.com/document/ResourceCenter/2022-12-01/CreateDeliveryChannel).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.DeliveryChannel(\"default\", {\n resourceChangeDelivery: {\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n deliveryChannelName: \"delivery_channel_resource_spec_example\",\n deliveryChannelDescription: \"delivery_channel_resource_spec_example\",\n deliveryChannelFilter: {\n resourceTypes: [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n ],\n },\n resourceSnapshotDelivery: {\n deliveryTime: \"16:00Z\",\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n targetType: \"SLS\",\n customExpression: \"select * from resources limit 10;\",\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.DeliveryChannel(\"default\",\n resource_change_delivery={\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n delivery_channel_name=\"delivery_channel_resource_spec_example\",\n delivery_channel_description=\"delivery_channel_resource_spec_example\",\n delivery_channel_filter={\n \"resource_types\": [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n ],\n },\n resource_snapshot_delivery={\n \"delivery_time\": \"16:00Z\",\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n \"target_type\": \"SLS\",\n \"custom_expression\": \"select * from resources limit 10;\",\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.DeliveryChannel(\"default\", new()\n {\n ResourceChangeDelivery = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceChangeDeliveryArgs\n {\n SlsProperties = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n DeliveryChannelName = \"delivery_channel_resource_spec_example\",\n DeliveryChannelDescription = \"delivery_channel_resource_spec_example\",\n DeliveryChannelFilter = new AliCloud.ResourceManager.Inputs.DeliveryChannelDeliveryChannelFilterArgs\n {\n ResourceTypes = new[]\n {\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n },\n },\n ResourceSnapshotDelivery = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceSnapshotDeliveryArgs\n {\n DeliveryTime = \"16:00Z\",\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n TargetType = \"SLS\",\n CustomExpression = \"select * from resources limit 10;\",\n SlsProperties = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewDeliveryChannel(ctx, \"default\", \u0026resourcemanager.DeliveryChannelArgs{\n\t\t\tResourceChangeDelivery: \u0026resourcemanager.DeliveryChannelResourceChangeDeliveryArgs{\n\t\t\t\tSlsProperties: \u0026resourcemanager.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\n\t\t\t\t},\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t},\n\t\t\tDeliveryChannelName: pulumi.String(\"delivery_channel_resource_spec_example\"),\n\t\t\tDeliveryChannelDescription: pulumi.String(\"delivery_channel_resource_spec_example\"),\n\t\t\tDeliveryChannelFilter: \u0026resourcemanager.DeliveryChannelDeliveryChannelFilterArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t\t\tpulumi.String(\"ACS::ECS::Disk\"),\n\t\t\t\t\tpulumi.String(\"ACS::VPC::VPC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSnapshotDelivery: \u0026resourcemanager.DeliveryChannelResourceSnapshotDeliveryArgs{\n\t\t\t\tDeliveryTime: pulumi.String(\"16:00Z\"),\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t\tTargetType: pulumi.String(\"SLS\"),\n\t\t\t\tCustomExpression: pulumi.String(\"select * from resources limit 10;\"),\n\t\t\t\tSlsProperties: \u0026resourcemanager.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\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.alicloud.resourcemanager.DeliveryChannel;\nimport com.pulumi.alicloud.resourcemanager.DeliveryChannelArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceChangeDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelDeliveryChannelFilterArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceSnapshotDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new DeliveryChannel(\"default\", DeliveryChannelArgs.builder()\n .resourceChangeDelivery(DeliveryChannelResourceChangeDeliveryArgs.builder()\n .slsProperties(DeliveryChannelResourceChangeDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .build())\n .deliveryChannelName(\"delivery_channel_resource_spec_example\")\n .deliveryChannelDescription(\"delivery_channel_resource_spec_example\")\n .deliveryChannelFilter(DeliveryChannelDeliveryChannelFilterArgs.builder()\n .resourceTypes( \n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\")\n .build())\n .resourceSnapshotDelivery(DeliveryChannelResourceSnapshotDeliveryArgs.builder()\n .deliveryTime(\"16:00Z\")\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .targetType(\"SLS\")\n .customExpression(\"select * from resources limit 10;\")\n .slsProperties(DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:DeliveryChannel\n properties:\n resourceChangeDelivery:\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n deliveryChannelName: delivery_channel_resource_spec_example\n deliveryChannelDescription: delivery_channel_resource_spec_example\n deliveryChannelFilter:\n resourceTypes:\n - ACS::ECS::Instance\n - ACS::ECS::Disk\n - ACS::VPC::VPC\n resourceSnapshotDelivery:\n deliveryTime: 16:00Z\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n targetType: SLS\n customExpression: select * from resources limit 10;\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/deliveryChannel:DeliveryChannel example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Delivery Channel resource.\n\nDelivery channel resources of current account.\n\nFor information about Resource Manager Delivery Channel and how to use it, see [What is Delivery Channel](https://next.api.alibabacloud.com/document/ResourceCenter/2022-12-01/CreateDeliveryChannel).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.DeliveryChannel(\"default\", {\n resourceChangeDelivery: {\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n deliveryChannelName: \"delivery_channel_resource_spec_example\",\n deliveryChannelDescription: \"delivery_channel_resource_spec_example\",\n deliveryChannelFilter: {\n resourceTypes: [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n ],\n },\n resourceSnapshotDelivery: {\n deliveryTime: \"16:00Z\",\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n targetType: \"SLS\",\n customExpression: \"select * from resources limit 10;\",\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.DeliveryChannel(\"default\",\n resource_change_delivery={\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n delivery_channel_name=\"delivery_channel_resource_spec_example\",\n delivery_channel_description=\"delivery_channel_resource_spec_example\",\n delivery_channel_filter={\n \"resource_types\": [\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n ],\n },\n resource_snapshot_delivery={\n \"delivery_time\": \"16:00Z\",\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n \"target_type\": \"SLS\",\n \"custom_expression\": \"select * from resources limit 10;\",\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.DeliveryChannel(\"default\", new()\n {\n ResourceChangeDelivery = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceChangeDeliveryArgs\n {\n SlsProperties = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n DeliveryChannelName = \"delivery_channel_resource_spec_example\",\n DeliveryChannelDescription = \"delivery_channel_resource_spec_example\",\n DeliveryChannelFilter = new AliCloud.ResourceManager.Inputs.DeliveryChannelDeliveryChannelFilterArgs\n {\n ResourceTypes = new[]\n {\n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\",\n },\n },\n ResourceSnapshotDelivery = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceSnapshotDeliveryArgs\n {\n DeliveryTime = \"16:00Z\",\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n TargetType = \"SLS\",\n CustomExpression = \"select * from resources limit 10;\",\n SlsProperties = new AliCloud.ResourceManager.Inputs.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewDeliveryChannel(ctx, \"default\", \u0026resourcemanager.DeliveryChannelArgs{\n\t\t\tResourceChangeDelivery: \u0026resourcemanager.DeliveryChannelResourceChangeDeliveryArgs{\n\t\t\t\tSlsProperties: \u0026resourcemanager.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\n\t\t\t\t},\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t},\n\t\t\tDeliveryChannelName: pulumi.String(\"delivery_channel_resource_spec_example\"),\n\t\t\tDeliveryChannelDescription: pulumi.String(\"delivery_channel_resource_spec_example\"),\n\t\t\tDeliveryChannelFilter: \u0026resourcemanager.DeliveryChannelDeliveryChannelFilterArgs{\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ACS::ECS::Instance\"),\n\t\t\t\t\tpulumi.String(\"ACS::ECS::Disk\"),\n\t\t\t\t\tpulumi.String(\"ACS::VPC::VPC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSnapshotDelivery: \u0026resourcemanager.DeliveryChannelResourceSnapshotDeliveryArgs{\n\t\t\t\tDeliveryTime: pulumi.String(\"16:00Z\"),\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t\tTargetType: pulumi.String(\"SLS\"),\n\t\t\t\tCustomExpression: pulumi.String(\"select * from resources limit 10;\"),\n\t\t\t\tSlsProperties: \u0026resourcemanager.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\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.alicloud.resourcemanager.DeliveryChannel;\nimport com.pulumi.alicloud.resourcemanager.DeliveryChannelArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceChangeDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceChangeDeliverySlsPropertiesArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelDeliveryChannelFilterArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceSnapshotDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new DeliveryChannel(\"default\", DeliveryChannelArgs.builder()\n .resourceChangeDelivery(DeliveryChannelResourceChangeDeliveryArgs.builder()\n .slsProperties(DeliveryChannelResourceChangeDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .build())\n .deliveryChannelName(\"delivery_channel_resource_spec_example\")\n .deliveryChannelDescription(\"delivery_channel_resource_spec_example\")\n .deliveryChannelFilter(DeliveryChannelDeliveryChannelFilterArgs.builder()\n .resourceTypes( \n \"ACS::ECS::Instance\",\n \"ACS::ECS::Disk\",\n \"ACS::VPC::VPC\")\n .build())\n .resourceSnapshotDelivery(DeliveryChannelResourceSnapshotDeliveryArgs.builder()\n .deliveryTime(\"16:00Z\")\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .targetType(\"SLS\")\n .customExpression(\"select * from resources limit 10;\")\n .slsProperties(DeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:DeliveryChannel\n properties:\n resourceChangeDelivery:\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n deliveryChannelName: delivery_channel_resource_spec_example\n deliveryChannelDescription: delivery_channel_resource_spec_example\n deliveryChannelFilter:\n resourceTypes:\n - ACS::ECS::Instance\n - ACS::ECS::Disk\n - ACS::VPC::VPC\n resourceSnapshotDelivery:\n deliveryTime: 16:00Z\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n targetType: SLS\n customExpression: select * from resources limit 10;\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/deliveryChannel:DeliveryChannel example \u003cid\u003e\n```\n\n", "properties": { "deliveryChannelDescription": { "type": "string", @@ -240085,7 +245765,7 @@ } }, "alicloud:resourcemanager/folder:Folder": { - "description": "Provides a Resource Manager Folder resource.\n\nThe management unit of the organization account in the resource directory.\n\nFor information about Resource Manager Folder and how to use it, see [What is Folder](https://www.alibabacloud.com/help/en/resource-management/resource-directory/developer-reference/api-resourcedirectorymaster-2022-04-19-createfolder).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.resourcemanager.Folder(\"example\", {folderName: `${name}-${_default.result}`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.resourcemanager.Folder(\"example\", folder_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.ResourceManager.Folder(\"example\", new()\n {\n FolderName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"example\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Folder(\"example\", FolderArgs.builder()\n .folderName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Folder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/folder:Folder example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Folder resource.\n\nThe management unit of the organization account in the resource directory.\n\nFor information about Resource Manager Folder and how to use it, see [What is Folder](https://www.alibabacloud.com/help/en/resource-management/resource-directory/developer-reference/api-resourcedirectorymaster-2022-04-19-createfolder).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.resourcemanager.Folder(\"example\", {folderName: `${name}-${_default.result}`});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.resourcemanager.Folder(\"example\", folder_name=f\"{name}-{default['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.ResourceManager.Folder(\"example\", new()\n {\n FolderName = $\"{name}-{@default.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"example\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Folder(\"example\", FolderArgs.builder()\n .folderName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: ${name}-${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Folder can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/folder:Folder example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -240161,7 +245841,7 @@ } }, "alicloud:resourcemanager/handshake:Handshake": { - "description": "Provides a Resource Manager Handshake resource.\n\n\n\nFor information about Resource Manager Handshake and how to use it, see [What is Handshake](https://www.alibabacloud.com/help/en/doc-detail/135287.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a Resource Manager handshake.\nconst example = new alicloud.resourcemanager.Handshake(\"example\", {\n targetEntity: \"1182775234******\",\n targetType: \"Account\",\n note: \"test resource manager handshake\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a Resource Manager handshake.\nexample = alicloud.resourcemanager.Handshake(\"example\",\n target_entity=\"1182775234******\",\n target_type=\"Account\",\n note=\"test resource manager handshake\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a Resource Manager handshake.\n var example = new AliCloud.ResourceManager.Handshake(\"example\", new()\n {\n TargetEntity = \"1182775234******\",\n TargetType = \"Account\",\n Note = \"test resource manager handshake\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a Resource Manager handshake.\n\t\t_, err := resourcemanager.NewHandshake(ctx, \"example\", \u0026resourcemanager.HandshakeArgs{\n\t\t\tTargetEntity: pulumi.String(\"1182775234******\"),\n\t\t\tTargetType: pulumi.String(\"Account\"),\n\t\t\tNote: pulumi.String(\"test resource manager handshake\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.Handshake;\nimport com.pulumi.alicloud.resourcemanager.HandshakeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a Resource Manager handshake.\n var example = new Handshake(\"example\", HandshakeArgs.builder()\n .targetEntity(\"1182775234******\")\n .targetType(\"Account\")\n .note(\"test resource manager handshake\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a Resource Manager handshake.\n example:\n type: alicloud:resourcemanager:Handshake\n properties:\n targetEntity: 1182775234******\n targetType: Account\n note: test resource manager handshake\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Handshake can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/handshake:Handshake example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Handshake resource.\n\n\n\nFor information about Resource Manager Handshake and how to use it, see [What is Handshake](https://www.alibabacloud.com/help/en/doc-detail/135287.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Add a Resource Manager handshake.\nconst example = new alicloud.resourcemanager.Handshake(\"example\", {\n targetEntity: \"1182775234******\",\n targetType: \"Account\",\n note: \"test resource manager handshake\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Add a Resource Manager handshake.\nexample = alicloud.resourcemanager.Handshake(\"example\",\n target_entity=\"1182775234******\",\n target_type=\"Account\",\n note=\"test resource manager handshake\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Add a Resource Manager handshake.\n var example = new AliCloud.ResourceManager.Handshake(\"example\", new()\n {\n TargetEntity = \"1182775234******\",\n TargetType = \"Account\",\n Note = \"test resource manager handshake\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Add a Resource Manager handshake.\n\t\t_, err := resourcemanager.NewHandshake(ctx, \"example\", \u0026resourcemanager.HandshakeArgs{\n\t\t\tTargetEntity: pulumi.String(\"1182775234******\"),\n\t\t\tTargetType: pulumi.String(\"Account\"),\n\t\t\tNote: pulumi.String(\"test resource manager handshake\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.Handshake;\nimport com.pulumi.alicloud.resourcemanager.HandshakeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Add a Resource Manager handshake.\n var example = new Handshake(\"example\", HandshakeArgs.builder()\n .targetEntity(\"1182775234******\")\n .targetType(\"Account\")\n .note(\"test resource manager handshake\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Add a Resource Manager handshake.\n example:\n type: alicloud:resourcemanager:Handshake\n properties:\n targetEntity: 1182775234******\n targetType: Account\n note: test resource manager handshake\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Handshake can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/handshake:Handshake example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -240287,7 +245967,7 @@ } }, "alicloud:resourcemanager/messageContact:MessageContact": { - "description": "Provides a Resource Manager Message Contact resource.\n\nMessage contact for Resource Directory account.\n\nFor information about Resource Manager Message Contact and how to use it, see [What is Message Contact](https://next.api.alibabacloud.com/document/ResourceDirectoryMaster/2022-04-19/AddMessageContact).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.MessageContact(\"default\", {\n messageTypes: [\"AccountExpenses\"],\n phoneNumber: \"86-18626811111\",\n title: \"TechnicalDirector\",\n emailAddress: \"resourceexample@126.com\",\n messageContactName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.MessageContact(\"default\",\n message_types=[\"AccountExpenses\"],\n phone_number=\"86-18626811111\",\n title=\"TechnicalDirector\",\n email_address=\"resourceexample@126.com\",\n message_contact_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.MessageContact(\"default\", new()\n {\n MessageTypes = new[]\n {\n \"AccountExpenses\",\n },\n PhoneNumber = \"86-18626811111\",\n Title = \"TechnicalDirector\",\n EmailAddress = \"resourceexample@126.com\",\n MessageContactName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewMessageContact(ctx, \"default\", \u0026resourcemanager.MessageContactArgs{\n\t\t\tMessageTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AccountExpenses\"),\n\t\t\t},\n\t\t\tPhoneNumber: pulumi.String(\"86-18626811111\"),\n\t\t\tTitle: pulumi.String(\"TechnicalDirector\"),\n\t\t\tEmailAddress: pulumi.String(\"resourceexample@126.com\"),\n\t\t\tMessageContactName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.MessageContact;\nimport com.pulumi.alicloud.resourcemanager.MessageContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new MessageContact(\"default\", MessageContactArgs.builder()\n .messageTypes(\"AccountExpenses\")\n .phoneNumber(\"86-18626811111\")\n .title(\"TechnicalDirector\")\n .emailAddress(\"resourceexample@126.com\")\n .messageContactName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:MessageContact\n properties:\n messageTypes:\n - AccountExpenses\n phoneNumber: 86-18626811111\n title: TechnicalDirector\n emailAddress: resourceexample@126.com\n messageContactName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Message Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/messageContact:MessageContact example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Message Contact resource.\n\nMessage contact for Resource Directory account.\n\nFor information about Resource Manager Message Contact and how to use it, see [What is Message Contact](https://next.api.alibabacloud.com/document/ResourceDirectoryMaster/2022-04-19/AddMessageContact).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.MessageContact(\"default\", {\n messageTypes: [\"AccountExpenses\"],\n phoneNumber: \"86-18626811111\",\n title: \"TechnicalDirector\",\n emailAddress: \"resourceexample@126.com\",\n messageContactName: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.MessageContact(\"default\",\n message_types=[\"AccountExpenses\"],\n phone_number=\"86-18626811111\",\n title=\"TechnicalDirector\",\n email_address=\"resourceexample@126.com\",\n message_contact_name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.MessageContact(\"default\", new()\n {\n MessageTypes = new[]\n {\n \"AccountExpenses\",\n },\n PhoneNumber = \"86-18626811111\",\n Title = \"TechnicalDirector\",\n EmailAddress = \"resourceexample@126.com\",\n MessageContactName = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewMessageContact(ctx, \"default\", \u0026resourcemanager.MessageContactArgs{\n\t\t\tMessageTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AccountExpenses\"),\n\t\t\t},\n\t\t\tPhoneNumber: pulumi.String(\"86-18626811111\"),\n\t\t\tTitle: pulumi.String(\"TechnicalDirector\"),\n\t\t\tEmailAddress: pulumi.String(\"resourceexample@126.com\"),\n\t\t\tMessageContactName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.MessageContact;\nimport com.pulumi.alicloud.resourcemanager.MessageContactArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new MessageContact(\"default\", MessageContactArgs.builder()\n .messageTypes(\"AccountExpenses\")\n .phoneNumber(\"86-18626811111\")\n .title(\"TechnicalDirector\")\n .emailAddress(\"resourceexample@126.com\")\n .messageContactName(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:MessageContact\n properties:\n messageTypes:\n - AccountExpenses\n phoneNumber: 86-18626811111\n title: TechnicalDirector\n emailAddress: resourceexample@126.com\n messageContactName: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Message Contact can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/messageContact:MessageContact example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -240399,7 +246079,7 @@ } }, "alicloud:resourcemanager/multiAccountDeliveryChannel:MultiAccountDeliveryChannel": { - "description": "Provides a Resource Manager Multi Account Delivery Channel resource.\n\nMulti-account Resource Delivery Channel.\n\nFor information about Resource Manager Multi Account Delivery Channel and how to use it, see [What is Multi Account Delivery Channel](https://next.api.alibabacloud.com/document/ResourceCenter/2022-12-01/CreateMultiAccountDeliveryChannel).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultuHQ8Cu = new alicloud.resourcemanager.Folder(\"defaultuHQ8Cu\", {folderName: \"folder-aone-example-1\"});\nconst defaultioI16p = new alicloud.resourcemanager.Folder(\"defaultioI16p\", {folderName: \"folder-aone-example-2\"});\nconst default55Uum4 = new alicloud.resourcemanager.Folder(\"default55Uum4\", {folderName: \"folder-aone-example-3\"});\nconst defaultiEjEbe = new alicloud.resourcemanager.Folder(\"defaultiEjEbe\", {folderName: \"folder-aone-example-4\"});\nconst defaultdNL2TN = new alicloud.resourcemanager.Folder(\"defaultdNL2TN\", {folderName: \"folder-aone-example-5\"});\nconst _default = new alicloud.resourcemanager.MultiAccountDeliveryChannel(\"default\", {\n resourceChangeDelivery: {\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n deliveryChannelDescription: \"multi_delivery_channel_resource_spec_mq_example\",\n multiAccountDeliveryChannelName: \"multi_delivery_channel_resource_spec_mq_example\",\n deliveryChannelFilter: {\n accountScopes: [\n defaultuHQ8Cu.id,\n defaultioI16p.id,\n default55Uum4.id,\n ],\n resourceTypes: [\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n ],\n },\n resourceSnapshotDelivery: {\n deliveryTime: \"16:00Z\",\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n targetType: \"SLS\",\n customExpression: \"select * from resources limit 10;\",\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultu_hq8_cu = alicloud.resourcemanager.Folder(\"defaultuHQ8Cu\", folder_name=\"folder-aone-example-1\")\ndefaultio_i16p = alicloud.resourcemanager.Folder(\"defaultioI16p\", folder_name=\"folder-aone-example-2\")\ndefault55_uum4 = alicloud.resourcemanager.Folder(\"default55Uum4\", folder_name=\"folder-aone-example-3\")\ndefaulti_ej_ebe = alicloud.resourcemanager.Folder(\"defaultiEjEbe\", folder_name=\"folder-aone-example-4\")\ndefaultd_nl2_tn = alicloud.resourcemanager.Folder(\"defaultdNL2TN\", folder_name=\"folder-aone-example-5\")\ndefault = alicloud.resourcemanager.MultiAccountDeliveryChannel(\"default\",\n resource_change_delivery={\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n delivery_channel_description=\"multi_delivery_channel_resource_spec_mq_example\",\n multi_account_delivery_channel_name=\"multi_delivery_channel_resource_spec_mq_example\",\n delivery_channel_filter={\n \"account_scopes\": [\n defaultu_hq8_cu.id,\n defaultio_i16p.id,\n default55_uum4.id,\n ],\n \"resource_types\": [\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n ],\n },\n resource_snapshot_delivery={\n \"delivery_time\": \"16:00Z\",\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n \"target_type\": \"SLS\",\n \"custom_expression\": \"select * from resources limit 10;\",\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultuHQ8Cu = new AliCloud.ResourceManager.Folder(\"defaultuHQ8Cu\", new()\n {\n FolderName = \"folder-aone-example-1\",\n });\n\n var defaultioI16p = new AliCloud.ResourceManager.Folder(\"defaultioI16p\", new()\n {\n FolderName = \"folder-aone-example-2\",\n });\n\n var default55Uum4 = new AliCloud.ResourceManager.Folder(\"default55Uum4\", new()\n {\n FolderName = \"folder-aone-example-3\",\n });\n\n var defaultiEjEbe = new AliCloud.ResourceManager.Folder(\"defaultiEjEbe\", new()\n {\n FolderName = \"folder-aone-example-4\",\n });\n\n var defaultdNL2TN = new AliCloud.ResourceManager.Folder(\"defaultdNL2TN\", new()\n {\n FolderName = \"folder-aone-example-5\",\n });\n\n var @default = new AliCloud.ResourceManager.MultiAccountDeliveryChannel(\"default\", new()\n {\n ResourceChangeDelivery = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceChangeDeliveryArgs\n {\n SlsProperties = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n DeliveryChannelDescription = \"multi_delivery_channel_resource_spec_mq_example\",\n MultiAccountDeliveryChannelName = \"multi_delivery_channel_resource_spec_mq_example\",\n DeliveryChannelFilter = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelDeliveryChannelFilterArgs\n {\n AccountScopes = new[]\n {\n defaultuHQ8Cu.Id,\n defaultioI16p.Id,\n default55Uum4.Id,\n },\n ResourceTypes = new[]\n {\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n },\n },\n ResourceSnapshotDelivery = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs\n {\n DeliveryTime = \"16:00Z\",\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n TargetType = \"SLS\",\n CustomExpression = \"select * from resources limit 10;\",\n SlsProperties = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultuHQ8Cu, err := resourcemanager.NewFolder(ctx, \"defaultuHQ8Cu\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultioI16p, err := resourcemanager.NewFolder(ctx, \"defaultioI16p\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault55Uum4, err := resourcemanager.NewFolder(ctx, \"default55Uum4\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"defaultiEjEbe\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"defaultdNL2TN\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewMultiAccountDeliveryChannel(ctx, \"default\", \u0026resourcemanager.MultiAccountDeliveryChannelArgs{\n\t\t\tResourceChangeDelivery: \u0026resourcemanager.MultiAccountDeliveryChannelResourceChangeDeliveryArgs{\n\t\t\t\tSlsProperties: \u0026resourcemanager.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\n\t\t\t\t},\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t},\n\t\t\tDeliveryChannelDescription: pulumi.String(\"multi_delivery_channel_resource_spec_mq_example\"),\n\t\t\tMultiAccountDeliveryChannelName: pulumi.String(\"multi_delivery_channel_resource_spec_mq_example\"),\n\t\t\tDeliveryChannelFilter: \u0026resourcemanager.MultiAccountDeliveryChannelDeliveryChannelFilterArgs{\n\t\t\t\tAccountScopes: pulumi.StringArray{\n\t\t\t\t\tdefaultuHQ8Cu.ID(),\n\t\t\t\t\tdefaultioI16p.ID(),\n\t\t\t\t\tdefault55Uum4.ID(),\n\t\t\t\t},\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ACS::ACK::Cluster\"),\n\t\t\t\t\tpulumi.String(\"ACS::ActionTrail::Trail\"),\n\t\t\t\t\tpulumi.String(\"ACS::BPStudio::Application\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSnapshotDelivery: \u0026resourcemanager.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs{\n\t\t\t\tDeliveryTime: pulumi.String(\"16:00Z\"),\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t\tTargetType: pulumi.String(\"SLS\"),\n\t\t\t\tCustomExpression: pulumi.String(\"select * from resources limit 10;\"),\n\t\t\t\tSlsProperties: \u0026resourcemanager.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\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.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport com.pulumi.alicloud.resourcemanager.MultiAccountDeliveryChannel;\nimport com.pulumi.alicloud.resourcemanager.MultiAccountDeliveryChannelArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceChangeDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelDeliveryChannelFilterArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultuHQ8Cu = new Folder(\"defaultuHQ8Cu\", FolderArgs.builder()\n .folderName(\"folder-aone-example-1\")\n .build());\n\n var defaultioI16p = new Folder(\"defaultioI16p\", FolderArgs.builder()\n .folderName(\"folder-aone-example-2\")\n .build());\n\n var default55Uum4 = new Folder(\"default55Uum4\", FolderArgs.builder()\n .folderName(\"folder-aone-example-3\")\n .build());\n\n var defaultiEjEbe = new Folder(\"defaultiEjEbe\", FolderArgs.builder()\n .folderName(\"folder-aone-example-4\")\n .build());\n\n var defaultdNL2TN = new Folder(\"defaultdNL2TN\", FolderArgs.builder()\n .folderName(\"folder-aone-example-5\")\n .build());\n\n var default_ = new MultiAccountDeliveryChannel(\"default\", MultiAccountDeliveryChannelArgs.builder()\n .resourceChangeDelivery(MultiAccountDeliveryChannelResourceChangeDeliveryArgs.builder()\n .slsProperties(MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .build())\n .deliveryChannelDescription(\"multi_delivery_channel_resource_spec_mq_example\")\n .multiAccountDeliveryChannelName(\"multi_delivery_channel_resource_spec_mq_example\")\n .deliveryChannelFilter(MultiAccountDeliveryChannelDeliveryChannelFilterArgs.builder()\n .accountScopes( \n defaultuHQ8Cu.id(),\n defaultioI16p.id(),\n default55Uum4.id())\n .resourceTypes( \n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\")\n .build())\n .resourceSnapshotDelivery(MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs.builder()\n .deliveryTime(\"16:00Z\")\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .targetType(\"SLS\")\n .customExpression(\"select * from resources limit 10;\")\n .slsProperties(MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultuHQ8Cu:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-1\n defaultioI16p:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-2\n default55Uum4:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-3\n defaultiEjEbe:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-4\n defaultdNL2TN:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-5\n default:\n type: alicloud:resourcemanager:MultiAccountDeliveryChannel\n properties:\n resourceChangeDelivery:\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n deliveryChannelDescription: multi_delivery_channel_resource_spec_mq_example\n multiAccountDeliveryChannelName: multi_delivery_channel_resource_spec_mq_example\n deliveryChannelFilter:\n accountScopes:\n - ${defaultuHQ8Cu.id}\n - ${defaultioI16p.id}\n - ${default55Uum4.id}\n resourceTypes:\n - ACS::ACK::Cluster\n - ACS::ActionTrail::Trail\n - ACS::BPStudio::Application\n resourceSnapshotDelivery:\n deliveryTime: 16:00Z\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n targetType: SLS\n customExpression: select * from resources limit 10;\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Multi Account Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/multiAccountDeliveryChannel:MultiAccountDeliveryChannel example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Multi Account Delivery Channel resource.\n\nMulti-account Resource Delivery Channel.\n\nFor information about Resource Manager Multi Account Delivery Channel and how to use it, see [What is Multi Account Delivery Channel](https://next.api.alibabacloud.com/document/ResourceCenter/2022-12-01/CreateMultiAccountDeliveryChannel).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultuHQ8Cu = new alicloud.resourcemanager.Folder(\"defaultuHQ8Cu\", {folderName: \"folder-aone-example-1\"});\nconst defaultioI16p = new alicloud.resourcemanager.Folder(\"defaultioI16p\", {folderName: \"folder-aone-example-2\"});\nconst default55Uum4 = new alicloud.resourcemanager.Folder(\"default55Uum4\", {folderName: \"folder-aone-example-3\"});\nconst defaultiEjEbe = new alicloud.resourcemanager.Folder(\"defaultiEjEbe\", {folderName: \"folder-aone-example-4\"});\nconst defaultdNL2TN = new alicloud.resourcemanager.Folder(\"defaultdNL2TN\", {folderName: \"folder-aone-example-5\"});\nconst _default = new alicloud.resourcemanager.MultiAccountDeliveryChannel(\"default\", {\n resourceChangeDelivery: {\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n deliveryChannelDescription: \"multi_delivery_channel_resource_spec_mq_example\",\n multiAccountDeliveryChannelName: \"multi_delivery_channel_resource_spec_mq_example\",\n deliveryChannelFilter: {\n accountScopes: [\n defaultuHQ8Cu.id,\n defaultioI16p.id,\n default55Uum4.id,\n ],\n resourceTypes: [\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n ],\n },\n resourceSnapshotDelivery: {\n deliveryTime: \"16:00Z\",\n targetArn: \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n targetType: \"SLS\",\n customExpression: \"select * from resources limit 10;\",\n slsProperties: {\n oversizedDataOssTargetArn: \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultu_hq8_cu = alicloud.resourcemanager.Folder(\"defaultuHQ8Cu\", folder_name=\"folder-aone-example-1\")\ndefaultio_i16p = alicloud.resourcemanager.Folder(\"defaultioI16p\", folder_name=\"folder-aone-example-2\")\ndefault55_uum4 = alicloud.resourcemanager.Folder(\"default55Uum4\", folder_name=\"folder-aone-example-3\")\ndefaulti_ej_ebe = alicloud.resourcemanager.Folder(\"defaultiEjEbe\", folder_name=\"folder-aone-example-4\")\ndefaultd_nl2_tn = alicloud.resourcemanager.Folder(\"defaultdNL2TN\", folder_name=\"folder-aone-example-5\")\ndefault = alicloud.resourcemanager.MultiAccountDeliveryChannel(\"default\",\n resource_change_delivery={\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n delivery_channel_description=\"multi_delivery_channel_resource_spec_mq_example\",\n multi_account_delivery_channel_name=\"multi_delivery_channel_resource_spec_mq_example\",\n delivery_channel_filter={\n \"account_scopes\": [\n defaultu_hq8_cu.id,\n defaultio_i16p.id,\n default55_uum4.id,\n ],\n \"resource_types\": [\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n ],\n },\n resource_snapshot_delivery={\n \"delivery_time\": \"16:00Z\",\n \"target_arn\": \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n \"target_type\": \"SLS\",\n \"custom_expression\": \"select * from resources limit 10;\",\n \"sls_properties\": {\n \"oversized_data_oss_target_arn\": \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultuHQ8Cu = new AliCloud.ResourceManager.Folder(\"defaultuHQ8Cu\", new()\n {\n FolderName = \"folder-aone-example-1\",\n });\n\n var defaultioI16p = new AliCloud.ResourceManager.Folder(\"defaultioI16p\", new()\n {\n FolderName = \"folder-aone-example-2\",\n });\n\n var default55Uum4 = new AliCloud.ResourceManager.Folder(\"default55Uum4\", new()\n {\n FolderName = \"folder-aone-example-3\",\n });\n\n var defaultiEjEbe = new AliCloud.ResourceManager.Folder(\"defaultiEjEbe\", new()\n {\n FolderName = \"folder-aone-example-4\",\n });\n\n var defaultdNL2TN = new AliCloud.ResourceManager.Folder(\"defaultdNL2TN\", new()\n {\n FolderName = \"folder-aone-example-5\",\n });\n\n var @default = new AliCloud.ResourceManager.MultiAccountDeliveryChannel(\"default\", new()\n {\n ResourceChangeDelivery = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceChangeDeliveryArgs\n {\n SlsProperties = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n },\n DeliveryChannelDescription = \"multi_delivery_channel_resource_spec_mq_example\",\n MultiAccountDeliveryChannelName = \"multi_delivery_channel_resource_spec_mq_example\",\n DeliveryChannelFilter = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelDeliveryChannelFilterArgs\n {\n AccountScopes = new[]\n {\n defaultuHQ8Cu.Id,\n defaultioI16p.Id,\n default55Uum4.Id,\n },\n ResourceTypes = new[]\n {\n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\",\n },\n },\n ResourceSnapshotDelivery = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs\n {\n DeliveryTime = \"16:00Z\",\n TargetArn = \"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\",\n TargetType = \"SLS\",\n CustomExpression = \"select * from resources limit 10;\",\n SlsProperties = new AliCloud.ResourceManager.Inputs.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs\n {\n OversizedDataOssTargetArn = \"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultuHQ8Cu, err := resourcemanager.NewFolder(ctx, \"defaultuHQ8Cu\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultioI16p, err := resourcemanager.NewFolder(ctx, \"defaultioI16p\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault55Uum4, err := resourcemanager.NewFolder(ctx, \"default55Uum4\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"defaultiEjEbe\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewFolder(ctx, \"defaultdNL2TN\", \u0026resourcemanager.FolderArgs{\n\t\t\tFolderName: pulumi.String(\"folder-aone-example-5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewMultiAccountDeliveryChannel(ctx, \"default\", \u0026resourcemanager.MultiAccountDeliveryChannelArgs{\n\t\t\tResourceChangeDelivery: \u0026resourcemanager.MultiAccountDeliveryChannelResourceChangeDeliveryArgs{\n\t\t\t\tSlsProperties: \u0026resourcemanager.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\n\t\t\t\t},\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t},\n\t\t\tDeliveryChannelDescription: pulumi.String(\"multi_delivery_channel_resource_spec_mq_example\"),\n\t\t\tMultiAccountDeliveryChannelName: pulumi.String(\"multi_delivery_channel_resource_spec_mq_example\"),\n\t\t\tDeliveryChannelFilter: \u0026resourcemanager.MultiAccountDeliveryChannelDeliveryChannelFilterArgs{\n\t\t\t\tAccountScopes: pulumi.StringArray{\n\t\t\t\t\tdefaultuHQ8Cu.ID(),\n\t\t\t\t\tdefaultioI16p.ID(),\n\t\t\t\t\tdefault55Uum4.ID(),\n\t\t\t\t},\n\t\t\t\tResourceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ACS::ACK::Cluster\"),\n\t\t\t\t\tpulumi.String(\"ACS::ActionTrail::Trail\"),\n\t\t\t\t\tpulumi.String(\"ACS::BPStudio::Application\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceSnapshotDelivery: \u0026resourcemanager.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs{\n\t\t\t\tDeliveryTime: pulumi.String(\"16:00Z\"),\n\t\t\t\tTargetArn: pulumi.String(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\"),\n\t\t\t\tTargetType: pulumi.String(\"SLS\"),\n\t\t\t\tCustomExpression: pulumi.String(\"select * from resources limit 10;\"),\n\t\t\t\tSlsProperties: \u0026resourcemanager.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs{\n\t\t\t\t\tOversizedDataOssTargetArn: pulumi.String(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\"),\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.alicloud.resourcemanager.Folder;\nimport com.pulumi.alicloud.resourcemanager.FolderArgs;\nimport com.pulumi.alicloud.resourcemanager.MultiAccountDeliveryChannel;\nimport com.pulumi.alicloud.resourcemanager.MultiAccountDeliveryChannelArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceChangeDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelDeliveryChannelFilterArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs;\nimport com.pulumi.alicloud.resourcemanager.inputs.MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultuHQ8Cu = new Folder(\"defaultuHQ8Cu\", FolderArgs.builder()\n .folderName(\"folder-aone-example-1\")\n .build());\n\n var defaultioI16p = new Folder(\"defaultioI16p\", FolderArgs.builder()\n .folderName(\"folder-aone-example-2\")\n .build());\n\n var default55Uum4 = new Folder(\"default55Uum4\", FolderArgs.builder()\n .folderName(\"folder-aone-example-3\")\n .build());\n\n var defaultiEjEbe = new Folder(\"defaultiEjEbe\", FolderArgs.builder()\n .folderName(\"folder-aone-example-4\")\n .build());\n\n var defaultdNL2TN = new Folder(\"defaultdNL2TN\", FolderArgs.builder()\n .folderName(\"folder-aone-example-5\")\n .build());\n\n var default_ = new MultiAccountDeliveryChannel(\"default\", MultiAccountDeliveryChannelArgs.builder()\n .resourceChangeDelivery(MultiAccountDeliveryChannelResourceChangeDeliveryArgs.builder()\n .slsProperties(MultiAccountDeliveryChannelResourceChangeDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .build())\n .deliveryChannelDescription(\"multi_delivery_channel_resource_spec_mq_example\")\n .multiAccountDeliveryChannelName(\"multi_delivery_channel_resource_spec_mq_example\")\n .deliveryChannelFilter(MultiAccountDeliveryChannelDeliveryChannelFilterArgs.builder()\n .accountScopes( \n defaultuHQ8Cu.id(),\n defaultioI16p.id(),\n default55Uum4.id())\n .resourceTypes( \n \"ACS::ACK::Cluster\",\n \"ACS::ActionTrail::Trail\",\n \"ACS::BPStudio::Application\")\n .build())\n .resourceSnapshotDelivery(MultiAccountDeliveryChannelResourceSnapshotDeliveryArgs.builder()\n .deliveryTime(\"16:00Z\")\n .targetArn(\"acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\")\n .targetType(\"SLS\")\n .customExpression(\"select * from resources limit 10;\")\n .slsProperties(MultiAccountDeliveryChannelResourceSnapshotDeliverySlsPropertiesArgs.builder()\n .oversizedDataOssTargetArn(\"acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultuHQ8Cu:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-1\n defaultioI16p:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-2\n default55Uum4:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-3\n defaultiEjEbe:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-4\n defaultdNL2TN:\n type: alicloud:resourcemanager:Folder\n properties:\n folderName: folder-aone-example-5\n default:\n type: alicloud:resourcemanager:MultiAccountDeliveryChannel\n properties:\n resourceChangeDelivery:\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n deliveryChannelDescription: multi_delivery_channel_resource_spec_mq_example\n multiAccountDeliveryChannelName: multi_delivery_channel_resource_spec_mq_example\n deliveryChannelFilter:\n accountScopes:\n - ${defaultuHQ8Cu.id}\n - ${defaultioI16p.id}\n - ${default55Uum4.id}\n resourceTypes:\n - ACS::ACK::Cluster\n - ACS::ActionTrail::Trail\n - ACS::BPStudio::Application\n resourceSnapshotDelivery:\n deliveryTime: 16:00Z\n targetArn: acs:log:cn-hangzhou:1511928242963727:project/delivery-aone-example/logstore/resourcecenter-delivery-aone-example-sls\n targetType: SLS\n customExpression: select * from resources limit 10;\n slsProperties:\n oversizedDataOssTargetArn: acs:oss:cn-hangzhou:1511928242963727:resourcecenter-aone-example-delivery-oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Multi Account Delivery Channel can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/multiAccountDeliveryChannel:MultiAccountDeliveryChannel example \u003cid\u003e\n```\n\n", "properties": { "deliveryChannelDescription": { "type": "string", @@ -240482,7 +246162,7 @@ } }, "alicloud:resourcemanager/policy:Policy": { - "description": "Provides a Resource Manager Policy resource. \nFor information about Resource Manager Policy and how to use it, see [What is Resource Manager Policy](https://www.alibabacloud.com/help/en/doc-detail/93732.htm).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\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.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Policy\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policy:Policy example abc12345\n```\n\n", + "description": "Provides a Resource Manager Policy resource. \nFor information about Resource Manager Policy and how to use it, see [What is Resource Manager Policy](https://www.alibabacloud.com/help/en/doc-detail/93732.htm).\n\n\u003e **NOTE:** Available since v1.83.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\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.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Policy\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policy:Policy example abc12345\n```\n\n", "properties": { "defaultVersion": { "type": "string", @@ -240570,7 +246250,7 @@ } }, "alicloud:resourcemanager/policyAttachment:PolicyAttachment": { - "description": "Provides a Resource Manager Policy Attachment resource to attaches a policy to an object. After you attach a policy to an object, the object has the operation permissions on the current resource group or the resources under the current account. \nFor information about Resource Manager Policy Attachment and how to use it, see [How to authorize and manage resource groups](https://www.alibabacloud.com/help/en/doc-detail/94490.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexamplename\";\nconst exampleUser = new alicloud.ram.User(\"example\", {name: name});\nconst examplePolicy = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\n// Get Alicloud Account Id\nconst exampleGetAccount = alicloud.getAccount({});\n// Attach the custom policy to resource group\nconst examplePolicyAttachment = new alicloud.resourcemanager.PolicyAttachment(\"example\", {\n policyName: examplePolicy.policyName,\n policyType: \"Custom\",\n principalName: std.format({\n input: \"%s@%s.onaliyun.com\",\n args: [\n exampleUser.name,\n exampleGetAccount.then(exampleGetAccount =\u003e exampleGetAccount.id),\n ],\n }).then(invoke =\u003e invoke.result),\n principalType: \"IMSUser\",\n resourceGroupId: example.then(example =\u003e example.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexamplename\"\nexample_user = alicloud.ram.User(\"example\", name=name)\nexample_policy = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\n# Get Alicloud Account Id\nexample_get_account = alicloud.get_account()\n# Attach the custom policy to resource group\nexample_policy_attachment = alicloud.resourcemanager.PolicyAttachment(\"example\",\n policy_name=example_policy.policy_name,\n policy_type=\"Custom\",\n principal_name=std.format(input=\"%s@%s.onaliyun.com\",\n args=[\n example_user.name,\n example_get_account.id,\n ]).result,\n principal_type=\"IMSUser\",\n resource_group_id=example.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexamplename\";\n var exampleUser = new AliCloud.Ram.User(\"example\", new()\n {\n Name = name,\n });\n\n var examplePolicy = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n // Get Alicloud Account Id\n var exampleGetAccount = AliCloud.GetAccount.Invoke();\n\n // Attach the custom policy to resource group\n var examplePolicyAttachment = new AliCloud.ResourceManager.PolicyAttachment(\"example\", new()\n {\n PolicyName = examplePolicy.PolicyName,\n PolicyType = \"Custom\",\n PrincipalName = Std.Format.Invoke(new()\n {\n Input = \"%s@%s.onaliyun.com\",\n Args = new[]\n {\n exampleUser.Name,\n exampleGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n }).Apply(invoke =\u003e invoke.Result),\n PrincipalType = \"IMSUser\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexamplename\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texampleUser, err := ram.NewUser(ctx, \"example\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get Alicloud Account Id\n\t\texampleGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@%s.onaliyun.com\",\n\t\t\tArgs: []interface{}{\n\t\t\t\texampleUser.Name,\n\t\t\t\texampleGetAccount.Id,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Attach the custom policy to resource group\n\t\t_, err = resourcemanager.NewPolicyAttachment(ctx, \"example\", \u0026resourcemanager.PolicyAttachmentArgs{\n\t\t\tPolicyName: examplePolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t\tPrincipalName: pulumi.String(invokeFormat.Result),\n\t\t\tPrincipalType: pulumi.String(\"IMSUser\"),\n\t\t\tResourceGroupId: pulumi.String(example.Ids[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.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.resourcemanager.PolicyAttachment;\nimport com.pulumi.alicloud.resourcemanager.PolicyAttachmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexamplename\");\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .name(name)\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n final var example = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n // Get Alicloud Account Id\n final var exampleGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n // Attach the custom policy to resource group\n var examplePolicyAttachment = new PolicyAttachment(\"examplePolicyAttachment\", PolicyAttachmentArgs.builder()\n .policyName(examplePolicy.policyName())\n .policyType(\"Custom\")\n .principalName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@%s.onaliyun.com\")\n .args( \n exampleUser.name(),\n exampleGetAccount.id())\n .build()).result())\n .principalType(\"IMSUser\")\n .resourceGroupId(example.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexamplename\nresources:\n exampleUser:\n type: alicloud:ram:User\n name: example\n properties:\n name: ${name}\n examplePolicy:\n type: alicloud:resourcemanager:Policy\n name: example\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n # Attach the custom policy to resource group\n examplePolicyAttachment:\n type: alicloud:resourcemanager:PolicyAttachment\n name: example\n properties:\n policyName: ${examplePolicy.policyName}\n policyType: Custom\n principalName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@%s.onaliyun.com'\n args:\n - ${exampleUser.name}\n - ${exampleGetAccount.id}\n return: result\n principalType: IMSUser\n resourceGroupId: ${example.ids[0]}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n # Get Alicloud Account Id\n exampleGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policyAttachment:PolicyAttachment example tf-testaccrdpolicy:Custom:tf-testaccrdpolicy@11827252********.onaliyun.com:IMSUser:rg******\n```\n\n", + "description": "Provides a Resource Manager Policy Attachment resource to attaches a policy to an object. After you attach a policy to an object, the object has the operation permissions on the current resource group or the resources under the current account. \nFor information about Resource Manager Policy Attachment and how to use it, see [How to authorize and manage resource groups](https://www.alibabacloud.com/help/en/doc-detail/94490.htm).\n\n\u003e **NOTE:** Available since v1.93.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexamplename\";\nconst exampleUser = new alicloud.ram.User(\"example\", {name: name});\nconst examplePolicy = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\nconst example = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\n// Get Alicloud Account Id\nconst exampleGetAccount = alicloud.getAccount({});\n// Attach the custom policy to resource group\nconst examplePolicyAttachment = new alicloud.resourcemanager.PolicyAttachment(\"example\", {\n policyName: examplePolicy.policyName,\n policyType: \"Custom\",\n principalName: std.format({\n input: \"%s@%s.onaliyun.com\",\n args: [\n exampleUser.name,\n exampleGetAccount.then(exampleGetAccount =\u003e exampleGetAccount.id),\n ],\n }).then(invoke =\u003e invoke.result),\n principalType: \"IMSUser\",\n resourceGroupId: example.then(example =\u003e example.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexamplename\"\nexample_user = alicloud.ram.User(\"example\", name=name)\nexample_policy = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\nexample = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\n# Get Alicloud Account Id\nexample_get_account = alicloud.get_account()\n# Attach the custom policy to resource group\nexample_policy_attachment = alicloud.resourcemanager.PolicyAttachment(\"example\",\n policy_name=example_policy.policy_name,\n policy_type=\"Custom\",\n principal_name=std.format(input=\"%s@%s.onaliyun.com\",\n args=[\n example_user.name,\n example_get_account.id,\n ]).result,\n principal_type=\"IMSUser\",\n resource_group_id=example.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexamplename\";\n var exampleUser = new AliCloud.Ram.User(\"example\", new()\n {\n Name = name,\n });\n\n var examplePolicy = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n var example = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n // Get Alicloud Account Id\n var exampleGetAccount = AliCloud.GetAccount.Invoke();\n\n // Attach the custom policy to resource group\n var examplePolicyAttachment = new AliCloud.ResourceManager.PolicyAttachment(\"example\", new()\n {\n PolicyName = examplePolicy.PolicyName,\n PolicyType = \"Custom\",\n PrincipalName = Std.Format.Invoke(new()\n {\n Input = \"%s@%s.onaliyun.com\",\n Args = new[]\n {\n exampleUser.Name,\n exampleGetAccount.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n }).Apply(invoke =\u003e invoke.Result),\n PrincipalType = \"IMSUser\",\n ResourceGroupId = example.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexamplename\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texampleUser, err := ram.NewUser(ctx, \"example\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePolicy, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get Alicloud Account Id\n\t\texampleGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s@%s.onaliyun.com\",\n\t\t\tArgs: []interface{}{\n\t\t\t\texampleUser.Name,\n\t\t\t\texampleGetAccount.Id,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Attach the custom policy to resource group\n\t\t_, err = resourcemanager.NewPolicyAttachment(ctx, \"example\", \u0026resourcemanager.PolicyAttachmentArgs{\n\t\t\tPolicyName: examplePolicy.PolicyName,\n\t\t\tPolicyType: pulumi.String(\"Custom\"),\n\t\t\tPrincipalName: pulumi.String(invokeFormat.Result),\n\t\t\tPrincipalType: pulumi.String(\"IMSUser\"),\n\t\t\tResourceGroupId: pulumi.String(example.Ids[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.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.resourcemanager.PolicyAttachment;\nimport com.pulumi.alicloud.resourcemanager.PolicyAttachmentArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexamplename\");\n var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n .name(name)\n .build());\n\n var examplePolicy = new Policy(\"examplePolicy\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n final var example = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n // Get Alicloud Account Id\n final var exampleGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n // Attach the custom policy to resource group\n var examplePolicyAttachment = new PolicyAttachment(\"examplePolicyAttachment\", PolicyAttachmentArgs.builder()\n .policyName(examplePolicy.policyName())\n .policyType(\"Custom\")\n .principalName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s@%s.onaliyun.com\")\n .args( \n exampleUser.name(),\n exampleGetAccount.id())\n .build()).result())\n .principalType(\"IMSUser\")\n .resourceGroupId(example.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexamplename\nresources:\n exampleUser:\n type: alicloud:ram:User\n name: example\n properties:\n name: ${name}\n examplePolicy:\n type: alicloud:resourcemanager:Policy\n name: example\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n # Attach the custom policy to resource group\n examplePolicyAttachment:\n type: alicloud:resourcemanager:PolicyAttachment\n name: example\n properties:\n policyName: ${examplePolicy.policyName}\n policyType: Custom\n principalName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s@%s.onaliyun.com'\n args:\n - ${exampleUser.name}\n - ${exampleGetAccount.id}\n return: result\n principalType: IMSUser\n resourceGroupId: ${example.ids[0]}\nvariables:\n example:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n # Get Alicloud Account Id\n exampleGetAccount:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policyAttachment:PolicyAttachment example tf-testaccrdpolicy:Custom:tf-testaccrdpolicy@11827252********.onaliyun.com:IMSUser:rg******\n```\n\n", "properties": { "policyName": { "type": "string", @@ -240667,7 +246347,7 @@ } }, "alicloud:resourcemanager/policyVersion:PolicyVersion": { - "description": "Provides a Resource Manager Policy Version resource. \nFor information about Resource Manager Policy Version and how to use it, see [What is Resource Manager Policy Version](https://www.alibabacloud.com/help/en/doc-detail/116817.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n\u003e **NOTE:** It is not recommended to use this resource management policy version, it is recommended to directly use the policy resource to manage your policy. Please refer to the link for usage resource_manager_policy.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\nconst examplePolicyVersion = new alicloud.resourcemanager.PolicyVersion(\"example\", {\n policyName: example.policyName,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:myphotos\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\nexample_policy_version = alicloud.resourcemanager.PolicyVersion(\"example\",\n policy_name=example.policy_name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n var examplePolicyVersion = new AliCloud.ResourceManager.PolicyVersion(\"example\", new()\n {\n PolicyName = example.PolicyName,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:myphotos\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewPolicyVersion(ctx, \"example\", \u0026resourcemanager.PolicyVersionArgs{\n\t\t\tPolicyName: example.PolicyName,\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\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.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.PolicyVersion;\nimport com.pulumi.alicloud.resourcemanager.PolicyVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n var examplePolicyVersion = new PolicyVersion(\"examplePolicyVersion\", PolicyVersionArgs.builder()\n .policyName(example.policyName())\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Policy\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n examplePolicyVersion:\n type: alicloud:resourcemanager:PolicyVersion\n name: example\n properties:\n policyName: ${example.policyName}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Policy Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policyVersion:PolicyVersion example tftest:v2\n```\n\n", + "description": "Provides a Resource Manager Policy Version resource. \nFor information about Resource Manager Policy Version and how to use it, see [What is Resource Manager Policy Version](https://www.alibabacloud.com/help/en/doc-detail/116817.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n\u003e **NOTE:** It is not recommended to use this resource management policy version, it is recommended to directly use the policy resource to manage your policy. Please refer to the link for usage resource_manager_policy.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.Policy(\"example\", {\n policyName: name,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:*\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\nconst examplePolicyVersion = new alicloud.resourcemanager.PolicyVersion(\"example\", {\n policyName: example.policyName,\n policyDocument: `\\\\t\\\\t{\n\\\\t\\\\t\\\\t\\\\\"Statement\\\\\": [{\n\\\\t\\\\t\\\\t\\\\t\\\\\"Action\\\\\": [\\\\\"oss:*\\\\\"],\n\\\\t\\\\t\\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n\\\\t\\\\t\\\\t\\\\t\\\\\"Resource\\\\\": [\\\\\"acs:oss:*:*:myphotos\\\\\"]\n\\\\t\\\\t\\\\t}],\n\\\\t\\\\t\\\\t\\\\\"Version\\\\\": \\\\\"1\\\\\"\n\\\\t\\\\t}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.Policy(\"example\",\n policy_name=name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\nexample_policy_version = alicloud.resourcemanager.PolicyVersion(\"example\",\n policy_name=example.policy_name,\n policy_document=\"\"\"\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:*\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n var examplePolicyVersion = new AliCloud.ResourceManager.PolicyVersion(\"example\", new()\n {\n PolicyName = example.PolicyName,\n PolicyDocument = @\"\\t\\t{\n\\t\\t\\t\\\"\"Statement\\\"\": [{\n\\t\\t\\t\\t\\\"\"Action\\\"\": [\\\"\"oss:*\\\"\"],\n\\t\\t\\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n\\t\\t\\t\\t\\\"\"Resource\\\"\": [\\\"\"acs:oss:*:*:myphotos\\\"\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"\"Version\\\"\": \\\"\"1\\\"\"\n\\t\\t}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := resourcemanager.NewPolicy(ctx, \"example\", \u0026resourcemanager.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewPolicyVersion(ctx, \"example\", \u0026resourcemanager.PolicyVersionArgs{\n\t\t\tPolicyName: example.PolicyName,\n\t\t\tPolicyDocument: pulumi.String(`\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\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.alicloud.resourcemanager.Policy;\nimport com.pulumi.alicloud.resourcemanager.PolicyArgs;\nimport com.pulumi.alicloud.resourcemanager.PolicyVersion;\nimport com.pulumi.alicloud.resourcemanager.PolicyVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n var examplePolicyVersion = new PolicyVersion(\"examplePolicyVersion\", PolicyVersionArgs.builder()\n .policyName(example.policyName())\n .policyDocument(\"\"\"\n\\t\\t{\n\\t\\t\\t\\\"Statement\\\": [{\n\\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n\\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n\\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n\\t\\t\\t}],\n\\t\\t\\t\\\"Version\\\": \\\"1\\\"\n\\t\\t}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Policy\n properties:\n policyName: ${name}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:*\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n examplePolicyVersion:\n type: alicloud:resourcemanager:PolicyVersion\n name: example\n properties:\n policyName: ${example.policyName}\n policyDocument: |\n \\t\\t{\n \\t\\t\\t\\\"Statement\\\": [{\n \\t\\t\\t\\t\\\"Action\\\": [\\\"oss:*\\\"],\n \\t\\t\\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\t\\t\\\"Resource\\\": [\\\"acs:oss:*:*:myphotos\\\"]\n \\t\\t\\t}],\n \\t\\t\\t\\\"Version\\\": \\\"1\\\"\n \\t\\t}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Policy Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/policyVersion:PolicyVersion example tftest:v2\n```\n\n", "properties": { "isDefaultVersion": { "type": "boolean", @@ -240731,7 +246411,7 @@ } }, "alicloud:resourcemanager/resourceDirectory:ResourceDirectory": { - "description": "Provides a Resource Manager Resource Directory resource.\n\n\n\nFor information about Resource Manager Resource Directory and how to use it, see [What is Resource Directory](https://www.alibabacloud.com/help/en/doc-detail/94475.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultResourceDirectory: alicloud.resourcemanager.ResourceDirectory[] = [];\n_default.then(_default =\u003e _default.directories).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultResourceDirectory.push(new alicloud.resourcemanager.ResourceDirectory(`default-${range.value}`, {status: \"Enabled\"}));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_directories()\ndefault_resource_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_resource_directory.append(alicloud.resourcemanager.ResourceDirectory(f\"default-{range['value']}\", status=\"Enabled\"))\n\nlen(default.directories).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultResourceDirectory = new List\u003cAliCloud.ResourceManager.ResourceDirectory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultResourceDirectory.Add(new AliCloud.ResourceManager.ResourceDirectory($\"default-{range.Value}\", new()\n {\n Status = \"Enabled\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp0 = 0\n\t\t} else {\n\t\t\ttmp0 = 1\n\t\t}\n\t\tvar defaultResourceDirectory []*resourcemanager.ResourceDirectory\n\t\tfor index := 0; index \u003c float64(len(_default.Directories).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp0, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := resourcemanager.NewResourceDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026resourcemanager.ResourceDirectoryArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultResourceDirectory = append(defaultResourceDirectory, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceDirectory;\nimport com.pulumi.alicloud.resourcemanager.ResourceDirectoryArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.directories().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new ResourceDirectory(\"defaultResourceDirectory-\" + i, ResourceDirectoryArgs.builder()\n .status(\"Enabled\")\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n defaultResourceDirectory:\n type: alicloud:resourcemanager:ResourceDirectory\n name: default\n properties:\n status: Enabled\n options: {}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Resource Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceDirectory:ResourceDirectory example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Resource Directory resource.\n\n\n\nFor information about Resource Manager Resource Directory and how to use it, see [What is Resource Directory](https://www.alibabacloud.com/help/en/doc-detail/94475.htm).\n\n\u003e **NOTE:** Available since v1.84.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceDirectories({});\nconst defaultResourceDirectory: alicloud.resourcemanager.ResourceDirectory[] = [];\n_default.then(_default =\u003e _default.directories).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultResourceDirectory.push(new alicloud.resourcemanager.ResourceDirectory(`default-${range.value}`, {status: \"Enabled\"}));\n }\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_directories()\ndefault_resource_directory = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_resource_directory.append(alicloud.resourcemanager.ResourceDirectory(f\"default-{range['value']}\", status=\"Enabled\"))\n\nlen(default.directories).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceDirectories.Invoke();\n\n var defaultResourceDirectory = new List\u003cAliCloud.ResourceManager.ResourceDirectory\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c @default.Apply(@default =\u003e @default.Apply(getResourceDirectoriesResult =\u003e getResourceDirectoriesResult.Directories)).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultResourceDirectory.Add(new AliCloud.ResourceManager.ResourceDirectory($\"default-{range.Value}\", new()\n {\n Status = \"Enabled\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceDirectories(ctx, \u0026resourcemanager.GetResourceDirectoriesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar tmp0 float64\n\t\tif length \u003e 0 {\n\t\t\ttmp0 = 0\n\t\t} else {\n\t\t\ttmp0 = 1\n\t\t}\n\t\tvar defaultResourceDirectory []*resourcemanager.ResourceDirectory\n\t\tfor index := 0; index \u003c float64(len(_default.Directories).ApplyT(func(length int) (float64, error) {\n\t\t\treturn tmp0, nil\n\t\t}).(pulumi.Float64Output)); index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := resourcemanager.NewResourceDirectory(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026resourcemanager.ResourceDirectoryArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultResourceDirectory = append(defaultResourceDirectory, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceDirectoriesArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceDirectory;\nimport com.pulumi.alicloud.resourcemanager.ResourceDirectoryArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceDirectories(GetResourceDirectoriesArgs.builder()\n .build());\n\n for (var i = 0; i \u003c default_.directories().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new ResourceDirectory(\"defaultResourceDirectory-\" + i, ResourceDirectoryArgs.builder()\n .status(\"Enabled\")\n .build());\n\n \n}\n }\n}\n```\n```yaml\nresources:\n defaultResourceDirectory:\n type: alicloud:resourcemanager:ResourceDirectory\n name: default\n properties:\n status: Enabled\n options: {}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceDirectories\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Resource Directory can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceDirectory:ResourceDirectory example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -240821,7 +246501,7 @@ } }, "alicloud:resourcemanager/resourceGroup:ResourceGroup": { - "description": "Provides a Resource Manager Resource Group resource. If you need to group cloud resources according to business departments, projects, and other dimensions, you can create resource groups.\n\nFor information about Resource Manager Resource Group and how to use it, see [What is Resource Group](https://www.alibabacloud.com/help/en/resource-management/developer-reference/api-createresourcegroup).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.ResourceGroup(\"example\", {\n resourceGroupName: name,\n displayName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.ResourceGroup(\"example\",\n resource_group_name=name,\n display_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.ResourceGroup(\"example\", new()\n {\n ResourceGroupName = name,\n DisplayName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewResourceGroup(ctx, \"example\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .resourceGroupName(name)\n .displayName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n resourceGroupName: ${name}\n displayName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceGroup:ResourceGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Resource Group resource. If you need to group cloud resources according to business departments, projects, and other dimensions, you can create resource groups.\n\nFor information about Resource Manager Resource Group and how to use it, see [What is Resource Group](https://www.alibabacloud.com/help/en/resource-management/developer-reference/api-createresourcegroup).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst example = new alicloud.resourcemanager.ResourceGroup(\"example\", {\n resourceGroupName: name,\n displayName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nexample = alicloud.resourcemanager.ResourceGroup(\"example\",\n resource_group_name=name,\n display_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var example = new AliCloud.ResourceManager.ResourceGroup(\"example\", new()\n {\n ResourceGroupName = name,\n DisplayName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewResourceGroup(ctx, \"example\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t\tDisplayName: pulumi.String(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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .resourceGroupName(name)\n .displayName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n resourceGroupName: ${name}\n displayName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceGroup:ResourceGroup example \u003cid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", @@ -240939,7 +246619,7 @@ } }, "alicloud:resourcemanager/resourceShare:ResourceShare": { - "description": "Provides a Resource Manager Resource Share resource.\n\nRS resource sharing.\n\nFor information about Resource Manager Resource Share and how to use it, see [What is Resource Share](https://www.alibabacloud.com/help/en/doc-detail/94475.htm).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.resourcemanager.ResourceShare(\"example\", {resourceShareName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.resourcemanager.ResourceShare(\"example\", resource_share_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.ResourceManager.ResourceShare(\"example\", new()\n {\n ResourceShareName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewResourceShare(ctx, \"example\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.String(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.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new ResourceShare(\"example\", ResourceShareArgs.builder()\n .resourceShareName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:resourcemanager:ResourceShare\n properties:\n resourceShareName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Resource Share can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceShare:ResourceShare example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Resource Share resource.\n\nRS resource sharing.\n\nFor information about Resource Manager Resource Share and how to use it, see [What is Resource Share](https://www.alibabacloud.com/help/en/doc-detail/94475.htm).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.resourcemanager.ResourceShare(\"example\", {resourceShareName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.resourcemanager.ResourceShare(\"example\", resource_share_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.ResourceManager.ResourceShare(\"example\", new()\n {\n ResourceShareName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewResourceShare(ctx, \"example\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.String(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.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new ResourceShare(\"example\", ResourceShareArgs.builder()\n .resourceShareName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:resourcemanager:ResourceShare\n properties:\n resourceShareName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Resource Share can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/resourceShare:ResourceShare example \u003cid\u003e\n```\n\n", "properties": { "allowExternalTargets": { "type": "boolean", @@ -241106,7 +246786,7 @@ } }, "alicloud:resourcemanager/role:Role": { - "description": "Provides a Resource Manager role resource. Members are resource containers in the resource directory, which can physically isolate resources to form an independent resource grouping unit. You can create members in the resource folder to manage them in a unified manner.\nFor information about Resource Manager role and how to use it, see [What is Resource Manager role](https://www.alibabacloud.com/help/en/doc-detail/111231.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.resourcemanager.Role(\"example\", {\n roleName: name,\n assumeRolePolicyDocument: _default.then(_default =\u003e ` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::${_default.id}:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_account()\nexample = alicloud.resourcemanager.Role(\"example\",\n role_name=name,\n assume_role_policy_document=f\"\"\" {{\n \\\"Statement\\\": [\n {{\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {{\n \\\"RAM\\\":[\n \\\"acs:ram::{default.id}:root\\\"\n ]\n }}\n }}\n ],\n \\\"Version\\\": \\\"1\\\"\n }}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.ResourceManager.Role(\"example\", new()\n {\n RoleName = name,\n AssumeRolePolicyDocument = @default.Apply(@default =\u003e @$\" {{\n \\\"\"Statement\\\"\": [\n {{\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {{\n \\\"\"RAM\\\"\":[\n \\\"\"acs:ram::{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:root\\\"\"\n ]\n }}\n }}\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewRole(ctx, \"example\", \u0026resourcemanager.RoleArgs{\n\t\t\tRoleName: pulumi.String(name),\n\t\t\tAssumeRolePolicyDocument: pulumi.Sprintf(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::%v:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`, _default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.resourcemanager.Role;\nimport com.pulumi.alicloud.resourcemanager.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Role(\"example\", RoleArgs.builder()\n .roleName(name)\n .assumeRolePolicyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::%s:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\", default_.id()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Role\n properties:\n roleName: ${name}\n assumeRolePolicyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::${default.id}:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager can be imported using the id or role_name, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/role:Role example testrd\n```\n\n", + "description": "Provides a Resource Manager role resource. Members are resource containers in the resource directory, which can physically isolate resources to form an independent resource grouping unit. You can create members in the resource folder to manage them in a unified manner.\nFor information about Resource Manager role and how to use it, see [What is Resource Manager role](https://www.alibabacloud.com/help/en/doc-detail/111231.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.resourcemanager.Role(\"example\", {\n roleName: name,\n assumeRolePolicyDocument: _default.then(_default =\u003e ` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::${_default.id}:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_account()\nexample = alicloud.resourcemanager.Role(\"example\",\n role_name=name,\n assume_role_policy_document=f\"\"\" {{\n \\\"Statement\\\": [\n {{\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {{\n \\\"RAM\\\":[\n \\\"acs:ram::{default.id}:root\\\"\n ]\n }}\n }}\n ],\n \\\"Version\\\": \\\"1\\\"\n }}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.ResourceManager.Role(\"example\", new()\n {\n RoleName = name,\n AssumeRolePolicyDocument = @default.Apply(@default =\u003e @$\" {{\n \\\"\"Statement\\\"\": [\n {{\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {{\n \\\"\"RAM\\\"\":[\n \\\"\"acs:ram::{@default.Apply(getAccountResult =\u003e getAccountResult.Id)}:root\\\"\"\n ]\n }}\n }}\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }}\n\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewRole(ctx, \"example\", \u0026resourcemanager.RoleArgs{\n\t\t\tRoleName: pulumi.String(name),\n\t\t\tAssumeRolePolicyDocument: pulumi.Sprintf(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::%v:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`, _default.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.resourcemanager.Role;\nimport com.pulumi.alicloud.resourcemanager.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Role(\"example\", RoleArgs.builder()\n .roleName(name)\n .assumeRolePolicyDocument(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::%s:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\", default_.id()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:resourcemanager:Role\n properties:\n roleName: ${name}\n assumeRolePolicyDocument: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"RAM\\\":[\n \\\"acs:ram::${default.id}:root\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager can be imported using the id or role_name, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/role:Role example testrd\n```\n\n", "properties": { "arn": { "type": "string", @@ -241206,7 +246886,7 @@ } }, "alicloud:resourcemanager/savedQuery:SavedQuery": { - "description": "Provides a Resource Manager Saved Query resource. ResourceCenter Saved Query.\n\nFor information about Resource Manager Saved Query and how to use it, see [What is Saved Query](https://www.alibabacloud.com/help/zh/resource-management/developer-reference/api-resourcecenter-2022-12-01-createsavedquery).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.SavedQuery(\"default\", {\n description: name,\n expression: \"select * from resources limit 1;\",\n savedQueryName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.SavedQuery(\"default\",\n description=name,\n expression=\"select * from resources limit 1;\",\n saved_query_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.SavedQuery(\"default\", new()\n {\n Description = name,\n Expression = \"select * from resources limit 1;\",\n SavedQueryName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewSavedQuery(ctx, \"default\", \u0026resourcemanager.SavedQueryArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpression: pulumi.String(\"select * from resources limit 1;\"),\n\t\t\tSavedQueryName: pulumi.String(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.alicloud.resourcemanager.SavedQuery;\nimport com.pulumi.alicloud.resourcemanager.SavedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SavedQuery(\"default\", SavedQueryArgs.builder()\n .description(name)\n .expression(\"select * from resources limit 1;\")\n .savedQueryName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:SavedQuery\n properties:\n description: ${name}\n expression: select * from resources limit 1;\n savedQueryName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Saved Query can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/savedQuery:SavedQuery example \u003cid\u003e\n```\n\n", + "description": "Provides a Resource Manager Saved Query resource. ResourceCenter Saved Query.\n\nFor information about Resource Manager Saved Query and how to use it, see [What is Saved Query](https://www.alibabacloud.com/help/zh/resource-management/developer-reference/api-resourcecenter-2022-12-01-createsavedquery).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.resourcemanager.SavedQuery(\"default\", {\n description: name,\n expression: \"select * from resources limit 1;\",\n savedQueryName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.SavedQuery(\"default\",\n description=name,\n expression=\"select * from resources limit 1;\",\n saved_query_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ResourceManager.SavedQuery(\"default\", new()\n {\n Description = name,\n Expression = \"select * from resources limit 1;\",\n SavedQueryName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.NewSavedQuery(ctx, \"default\", \u0026resourcemanager.SavedQueryArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tExpression: pulumi.String(\"select * from resources limit 1;\"),\n\t\t\tSavedQueryName: pulumi.String(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.alicloud.resourcemanager.SavedQuery;\nimport com.pulumi.alicloud.resourcemanager.SavedQueryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SavedQuery(\"default\", SavedQueryArgs.builder()\n .description(name)\n .expression(\"select * from resources limit 1;\")\n .savedQueryName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:resourcemanager:SavedQuery\n properties:\n description: ${name}\n expression: select * from resources limit 1;\n savedQueryName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Saved Query can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/savedQuery:SavedQuery example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -241272,7 +246952,7 @@ } }, "alicloud:resourcemanager/serviceLinkedRole:ServiceLinkedRole": { - "description": "Provides a Resource Manager Service Linked Role.\n\nFor information about Resource Manager Service Linked Role and how to use it, see [What is Service Linked Role.](https://www.alibabacloud.com/help/en/doc-detail/171226.htm).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.resourcemanager.ServiceLinkedRole(\"default\", {serviceName: \"ops.elasticsearch.aliyuncs.com\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.ServiceLinkedRole(\"default\", service_name=\"ops.elasticsearch.aliyuncs.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ResourceManager.ServiceLinkedRole(\"default\", new()\n {\n ServiceName = \"ops.elasticsearch.aliyuncs.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourcemanager.NewServiceLinkedRole(ctx, \"default\", \u0026resourcemanager.ServiceLinkedRoleArgs{\n\t\t\tServiceName: pulumi.String(\"ops.elasticsearch.aliyuncs.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.alicloud.resourcemanager.ServiceLinkedRole;\nimport com.pulumi.alicloud.resourcemanager.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceLinkedRole(\"default\", ServiceLinkedRoleArgs.builder()\n .serviceName(\"ops.elasticsearch.aliyuncs.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:resourcemanager:ServiceLinkedRole\n properties:\n serviceName: ops.elasticsearch.aliyuncs.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/serviceLinkedRole:ServiceLinkedRole default \u003cservice_name\u003e:\u003crole_name\u003e\n```\n\n", + "description": "Provides a Resource Manager Service Linked Role.\n\nFor information about Resource Manager Service Linked Role and how to use it, see [What is Service Linked Role.](https://www.alibabacloud.com/help/en/doc-detail/171226.htm).\n\n\u003e **NOTE:** Available since v1.157.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.resourcemanager.ServiceLinkedRole(\"default\", {serviceName: \"ops.elasticsearch.aliyuncs.com\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.ServiceLinkedRole(\"default\", service_name=\"ops.elasticsearch.aliyuncs.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ResourceManager.ServiceLinkedRole(\"default\", new()\n {\n ServiceName = \"ops.elasticsearch.aliyuncs.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := resourcemanager.NewServiceLinkedRole(ctx, \"default\", \u0026resourcemanager.ServiceLinkedRoleArgs{\n\t\t\tServiceName: pulumi.String(\"ops.elasticsearch.aliyuncs.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.alicloud.resourcemanager.ServiceLinkedRole;\nimport com.pulumi.alicloud.resourcemanager.ServiceLinkedRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ServiceLinkedRole(\"default\", ServiceLinkedRoleArgs.builder()\n .serviceName(\"ops.elasticsearch.aliyuncs.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:resourcemanager:ServiceLinkedRole\n properties:\n serviceName: ops.elasticsearch.aliyuncs.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Service Linked Role can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/serviceLinkedRole:ServiceLinkedRole default \u003cservice_name\u003e:\u003crole_name\u003e\n```\n\n", "properties": { "arn": { "type": "string", @@ -241360,7 +247040,7 @@ } }, "alicloud:resourcemanager/sharedResource:SharedResource": { - "description": "Provides a Resource Manager Shared Resource resource.\n\n\n\nFor information about Resource Manager Shared Resource and how to use it, see [What is Shared Resource](https://www.alibabacloud.com/help/en/resource-management/latest/api-resourcesharing-2020-01-10-associateresourceshare).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.0.0/16\",\n vpcId: defaultNetwork.id,\n vswitchName: `${name}-${defaultInteger.result}`,\n});\nconst defaultResourceShare = new alicloud.resourcemanager.ResourceShare(\"default\", {resourceShareName: `${name}-${defaultInteger.result}`});\nconst defaultSharedResource = new alicloud.resourcemanager.SharedResource(\"default\", {\n resourceShareId: defaultResourceShare.id,\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.0.0/16\",\n vpc_id=default_network.id,\n vswitch_name=f\"{name}-{default_integer['result']}\")\ndefault_resource_share = alicloud.resourcemanager.ResourceShare(\"default\", resource_share_name=f\"{name}-{default_integer['result']}\")\ndefault_shared_resource = alicloud.resourcemanager.SharedResource(\"default\",\n resource_share_id=default_resource_share.id,\n resource_id=default_switch.id,\n resource_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.0.0/16\",\n VpcId = defaultNetwork.Id,\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultResourceShare = new AliCloud.ResourceManager.ResourceShare(\"default\", new()\n {\n ResourceShareName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSharedResource = new AliCloud.ResourceManager.SharedResource(\"default\", new()\n {\n ResourceShareId = defaultResourceShare.Id,\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResourceShare, err := resourcemanager.NewResourceShare(ctx, \"default\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewSharedResource(ctx, \"default\", \u0026resourcemanager.SharedResourceArgs{\n\t\t\tResourceShareId: defaultResourceShare.ID(),\n\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\tResourceType: pulumi.String(\"VSwitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport com.pulumi.alicloud.resourcemanager.SharedResource;\nimport com.pulumi.alicloud.resourcemanager.SharedResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.0.0/16\")\n .vpcId(defaultNetwork.id())\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultResourceShare = new ResourceShare(\"defaultResourceShare\", ResourceShareArgs.builder()\n .resourceShareName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSharedResource = new SharedResource(\"defaultSharedResource\", SharedResourceArgs.builder()\n .resourceShareId(defaultResourceShare.id())\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.0.0/16\n vpcId: ${defaultNetwork.id}\n vswitchName: ${name}-${defaultInteger.result}\n defaultResourceShare:\n type: alicloud:resourcemanager:ResourceShare\n name: default\n properties:\n resourceShareName: ${name}-${defaultInteger.result}\n defaultSharedResource:\n type: alicloud:resourcemanager:SharedResource\n name: default\n properties:\n resourceShareId: ${defaultResourceShare.id}\n resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Shared Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/sharedResource:SharedResource example \u003cresource_share_id\u003e:\u003cresource_id\u003e:\u003cresource_type\u003e\n```\n\n", + "description": "Provides a Resource Manager Shared Resource resource.\n\n\n\nFor information about Resource Manager Shared Resource and how to use it, see [What is Shared Resource](https://www.alibabacloud.com/help/en/resource-management/latest/api-resourcesharing-2020-01-10-associateresourceshare).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}-${defaultInteger.result}`,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"192.168.0.0/16\",\n vpcId: defaultNetwork.id,\n vswitchName: `${name}-${defaultInteger.result}`,\n});\nconst defaultResourceShare = new alicloud.resourcemanager.ResourceShare(\"default\", {resourceShareName: `${name}-${defaultInteger.result}`});\nconst defaultSharedResource = new alicloud.resourcemanager.SharedResource(\"default\", {\n resourceShareId: defaultResourceShare.id,\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}-{default_integer['result']}\",\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n zone_id=default.zones[0].id,\n cidr_block=\"192.168.0.0/16\",\n vpc_id=default_network.id,\n vswitch_name=f\"{name}-{default_integer['result']}\")\ndefault_resource_share = alicloud.resourcemanager.ResourceShare(\"default\", resource_share_name=f\"{name}-{default_integer['result']}\")\ndefault_shared_resource = alicloud.resourcemanager.SharedResource(\"default\",\n resource_share_id=default_resource_share.id,\n resource_id=default_switch.id,\n resource_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}-{defaultInteger.Result}\",\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"192.168.0.0/16\",\n VpcId = defaultNetwork.Id,\n VswitchName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultResourceShare = new AliCloud.ResourceManager.ResourceShare(\"default\", new()\n {\n ResourceShareName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSharedResource = new AliCloud.ResourceManager.SharedResource(\"default\", new()\n {\n ResourceShareId = defaultResourceShare.Id,\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResourceShare, err := resourcemanager.NewResourceShare(ctx, \"default\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewSharedResource(ctx, \"default\", \u0026resourcemanager.SharedResourceArgs{\n\t\t\tResourceShareId: defaultResourceShare.ID(),\n\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\tResourceType: pulumi.String(\"VSwitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport com.pulumi.alicloud.resourcemanager.SharedResource;\nimport com.pulumi.alicloud.resourcemanager.SharedResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"192.168.0.0/16\")\n .vpcId(defaultNetwork.id())\n .vswitchName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultResourceShare = new ResourceShare(\"defaultResourceShare\", ResourceShareArgs.builder()\n .resourceShareName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSharedResource = new SharedResource(\"defaultSharedResource\", SharedResourceArgs.builder()\n .resourceShareId(defaultResourceShare.id())\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}-${defaultInteger.result}\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n zoneId: ${default.zones[0].id}\n cidrBlock: 192.168.0.0/16\n vpcId: ${defaultNetwork.id}\n vswitchName: ${name}-${defaultInteger.result}\n defaultResourceShare:\n type: alicloud:resourcemanager:ResourceShare\n name: default\n properties:\n resourceShareName: ${name}-${defaultInteger.result}\n defaultSharedResource:\n type: alicloud:resourcemanager:SharedResource\n name: default\n properties:\n resourceShareId: ${defaultResourceShare.id}\n resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Shared Resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/sharedResource:SharedResource example \u003cresource_share_id\u003e:\u003cresource_id\u003e:\u003cresource_type\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -241443,7 +247123,7 @@ } }, "alicloud:resourcemanager/sharedTarget:SharedTarget": { - "description": "Provides a Resource Manager Shared Target resource.\n\n\n\nFor information about Resource Manager Shared Target and how to use it, see [What is Shared Target](https://www.alibabacloud.com/help/en/resource-management/resource-sharing/developer-reference/api-resourcesharing-2020-01-10-associateresourceshare).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getAccounts({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultResourceShare = new alicloud.resourcemanager.ResourceShare(\"default\", {resourceShareName: `${name}-${defaultInteger.result}`});\nconst defaultSharedTarget = new alicloud.resourcemanager.SharedTarget(\"default\", {\n resourceShareId: defaultResourceShare.id,\n targetId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_accounts()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_resource_share = alicloud.resourcemanager.ResourceShare(\"default\", resource_share_name=f\"{name}-{default_integer['result']}\")\ndefault_shared_target = alicloud.resourcemanager.SharedTarget(\"default\",\n resource_share_id=default_resource_share.id,\n target_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultResourceShare = new AliCloud.ResourceManager.ResourceShare(\"default\", new()\n {\n ResourceShareName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSharedTarget = new AliCloud.ResourceManager.SharedTarget(\"default\", new()\n {\n ResourceShareId = defaultResourceShare.Id,\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResourceShare, err := resourcemanager.NewResourceShare(ctx, \"default\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewSharedTarget(ctx, \"default\", \u0026resourcemanager.SharedTargetArgs{\n\t\t\tResourceShareId: defaultResourceShare.ID(),\n\t\t\tTargetId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport com.pulumi.alicloud.resourcemanager.SharedTarget;\nimport com.pulumi.alicloud.resourcemanager.SharedTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultResourceShare = new ResourceShare(\"defaultResourceShare\", ResourceShareArgs.builder()\n .resourceShareName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSharedTarget = new SharedTarget(\"defaultSharedTarget\", SharedTargetArgs.builder()\n .resourceShareId(defaultResourceShare.id())\n .targetId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultResourceShare:\n type: alicloud:resourcemanager:ResourceShare\n name: default\n properties:\n resourceShareName: ${name}-${defaultInteger.result}\n defaultSharedTarget:\n type: alicloud:resourcemanager:SharedTarget\n name: default\n properties:\n resourceShareId: ${defaultResourceShare.id}\n targetId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nResource Manager Shared Target can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/sharedTarget:SharedTarget example \u003cresource_share_id\u003e:\u003ctarget_id\u003e\n```\n\n", + "description": "Provides a Resource Manager Shared Target resource.\n\n\n\nFor information about Resource Manager Shared Target and how to use it, see [What is Shared Target](https://www.alibabacloud.com/help/en/resource-management/resource-sharing/developer-reference/api-resourcesharing-2020-01-10-associateresourceshare).\n\n\u003e **NOTE:** Available since v1.111.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getAccounts({});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultResourceShare = new alicloud.resourcemanager.ResourceShare(\"default\", {resourceShareName: `${name}-${defaultInteger.result}`});\nconst defaultSharedTarget = new alicloud.resourcemanager.SharedTarget(\"default\", {\n resourceShareId: defaultResourceShare.id,\n targetId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_accounts()\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_resource_share = alicloud.resourcemanager.ResourceShare(\"default\", resource_share_name=f\"{name}-{default_integer['result']}\")\ndefault_shared_target = alicloud.resourcemanager.SharedTarget(\"default\",\n resource_share_id=default_resource_share.id,\n target_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetAccounts.Invoke();\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultResourceShare = new AliCloud.ResourceManager.ResourceShare(\"default\", new()\n {\n ResourceShareName = $\"{name}-{defaultInteger.Result}\",\n });\n\n var defaultSharedTarget = new AliCloud.ResourceManager.SharedTarget(\"default\", new()\n {\n ResourceShareId = defaultResourceShare.Id,\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountsResult =\u003e getAccountsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetAccounts(ctx, \u0026resourcemanager.GetAccountsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultResourceShare, err := resourcemanager.NewResourceShare(ctx, \"default\", \u0026resourcemanager.ResourceShareArgs{\n\t\t\tResourceShareName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewSharedTarget(ctx, \"default\", \u0026resourcemanager.SharedTargetArgs{\n\t\t\tResourceShareId: defaultResourceShare.ID(),\n\t\t\tTargetId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetAccountsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceShare;\nimport com.pulumi.alicloud.resourcemanager.ResourceShareArgs;\nimport com.pulumi.alicloud.resourcemanager.SharedTarget;\nimport com.pulumi.alicloud.resourcemanager.SharedTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getAccounts(GetAccountsArgs.builder()\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultResourceShare = new ResourceShare(\"defaultResourceShare\", ResourceShareArgs.builder()\n .resourceShareName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n var defaultSharedTarget = new SharedTarget(\"defaultSharedTarget\", SharedTargetArgs.builder()\n .resourceShareId(defaultResourceShare.id())\n .targetId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultResourceShare:\n type: alicloud:resourcemanager:ResourceShare\n name: default\n properties:\n resourceShareName: ${name}-${defaultInteger.result}\n defaultSharedTarget:\n type: alicloud:resourcemanager:SharedTarget\n name: default\n properties:\n resourceShareId: ${defaultResourceShare.id}\n targetId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getAccounts\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nResource Manager Shared Target can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:resourcemanager/sharedTarget:SharedTarget example \u003cresource_share_id\u003e:\u003ctarget_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -241510,7 +247190,7 @@ } }, "alicloud:rocketmq/account:Account": { - "description": "Provides a RocketMQ Account resource.\n\n\n\nFor information about RocketMQ Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createinstanceaccount).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultg6ZXs2 = new alicloud.vpc.Network(\"defaultg6ZXs2\", {\n description: \"111\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"pop-example-vpc\",\n});\nconst defaultvMQbCy = new alicloud.vpc.Switch(\"defaultvMQbCy\", {\n vpcId: defaultg6ZXs2.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"pop-example-vswitch\",\n});\nconst default9hAb83 = new alicloud.rocketmq.RocketMQInstance(\"default9hAb83\", {\n productInfo: {\n msgProcessSpec: \"rmq.p2.4xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n seriesCode: \"professional\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n networkInfo: {\n vpcInfo: {\n vpcId: defaultg6ZXs2.id,\n vswitches: [{\n vswitchId: defaultvMQbCy.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n aclInfo: {\n defaultVpcAuthFree: false,\n aclTypes: [\n \"default\",\n \"apache_acl\",\n ],\n },\n});\nconst _default = new alicloud.rocketmq.Account(\"default\", {\n accountStatus: \"ENABLE\",\n instanceId: default9hAb83.id,\n username: \"tfexample\",\n password: \"1741835136\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultg6_zxs2 = alicloud.vpc.Network(\"defaultg6ZXs2\",\n description=\"111\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"pop-example-vpc\")\ndefaultv_m_qb_cy = alicloud.vpc.Switch(\"defaultvMQbCy\",\n vpc_id=defaultg6_zxs2.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"pop-example-vswitch\")\ndefault9h_ab83 = alicloud.rocketmq.RocketMQInstance(\"default9hAb83\",\n product_info={\n \"msg_process_spec\": \"rmq.p2.4xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n series_code=\"professional\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n network_info={\n \"vpc_info\": {\n \"vpc_id\": defaultg6_zxs2.id,\n \"vswitches\": [{\n \"vswitch_id\": defaultv_m_qb_cy.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n },\n acl_info={\n \"default_vpc_auth_free\": False,\n \"acl_types\": [\n \"default\",\n \"apache_acl\",\n ],\n })\ndefault = alicloud.rocketmq.Account(\"default\",\n account_status=\"ENABLE\",\n instance_id=default9h_ab83.id,\n username=\"tfexample\",\n password=\"1741835136\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultg6ZXs2 = new AliCloud.Vpc.Network(\"defaultg6ZXs2\", new()\n {\n Description = \"111\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"pop-example-vpc\",\n });\n\n var defaultvMQbCy = new AliCloud.Vpc.Switch(\"defaultvMQbCy\", new()\n {\n VpcId = defaultg6ZXs2.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"pop-example-vswitch\",\n });\n\n var default9hAb83 = new AliCloud.RocketMQ.RocketMQInstance(\"default9hAb83\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.p2.4xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n SeriesCode = \"professional\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = defaultg6ZXs2.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = defaultvMQbCy.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n AclInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceAclInfoArgs\n {\n DefaultVpcAuthFree = false,\n AclTypes = new[]\n {\n \"default\",\n \"apache_acl\",\n },\n },\n });\n\n var @default = new AliCloud.RocketMQ.Account(\"default\", new()\n {\n AccountStatus = \"ENABLE\",\n InstanceId = default9hAb83.Id,\n Username = \"tfexample\",\n Password = \"1741835136\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultg6ZXs2, err := vpc.NewNetwork(ctx, \"defaultg6ZXs2\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"111\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"pop-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvMQbCy, err := vpc.NewSwitch(ctx, \"defaultvMQbCy\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultg6ZXs2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"pop-example-vswitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9hAb83, err := rocketmq.NewRocketMQInstance(ctx, \"default9hAb83\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.p2.4xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tSeriesCode: pulumi.String(\"professional\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: defaultg6ZXs2.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: defaultvMQbCy.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAclInfo: \u0026rocketmq.RocketMQInstanceAclInfoArgs{\n\t\t\t\tDefaultVpcAuthFree: pulumi.Bool(false),\n\t\t\t\tAclTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\tpulumi.String(\"apache_acl\"),\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 = rocketmq.NewAccount(ctx, \"default\", \u0026rocketmq.AccountArgs{\n\t\t\tAccountStatus: pulumi.String(\"ENABLE\"),\n\t\t\tInstanceId: default9hAb83.ID(),\n\t\t\tUsername: pulumi.String(\"tfexample\"),\n\t\t\tPassword: pulumi.String(\"1741835136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceAclInfoArgs;\nimport com.pulumi.alicloud.rocketmq.Account;\nimport com.pulumi.alicloud.rocketmq.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultg6ZXs2 = new Network(\"defaultg6ZXs2\", NetworkArgs.builder()\n .description(\"111\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"pop-example-vpc\")\n .build());\n\n var defaultvMQbCy = new Switch(\"defaultvMQbCy\", SwitchArgs.builder()\n .vpcId(defaultg6ZXs2.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"pop-example-vswitch\")\n .build());\n\n var default9hAb83 = new RocketMQInstance(\"default9hAb83\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.p2.4xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .seriesCode(\"professional\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(defaultg6ZXs2.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(defaultvMQbCy.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .aclInfo(RocketMQInstanceAclInfoArgs.builder()\n .defaultVpcAuthFree(false)\n .aclTypes( \n \"default\",\n \"apache_acl\")\n .build())\n .build());\n\n var default_ = new Account(\"default\", AccountArgs.builder()\n .accountStatus(\"ENABLE\")\n .instanceId(default9hAb83.id())\n .username(\"tfexample\")\n .password(\"1741835136\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultg6ZXs2:\n type: alicloud:vpc:Network\n properties:\n description: '111'\n cidrBlock: 192.168.0.0/16\n vpcName: pop-example-vpc\n defaultvMQbCy:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultg6ZXs2.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 192.168.0.0/24\n vswitchName: pop-example-vswitch\n default9hAb83:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.p2.4xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n seriesCode: professional\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n networkInfo:\n vpcInfo:\n vpcId: ${defaultg6ZXs2.id}\n vswitches:\n - vswitchId: ${defaultvMQbCy.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n aclInfo:\n defaultVpcAuthFree: false\n aclTypes:\n - default\n - apache_acl\n default:\n type: alicloud:rocketmq:Account\n properties:\n accountStatus: ENABLE\n instanceId: ${default9hAb83.id}\n username: tfexample\n password: '1741835136'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRocketMQ Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/account:Account example \u003cinstance_id\u003e:\u003cusername\u003e\n```\n\n", + "description": "Provides a RocketMQ Account resource.\n\n\n\nFor information about RocketMQ Account and how to use it, see [What is Account](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createinstanceaccount).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultg6ZXs2 = new alicloud.vpc.Network(\"defaultg6ZXs2\", {\n description: \"111\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"pop-example-vpc\",\n});\nconst defaultvMQbCy = new alicloud.vpc.Switch(\"defaultvMQbCy\", {\n vpcId: defaultg6ZXs2.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"pop-example-vswitch\",\n});\nconst default9hAb83 = new alicloud.rocketmq.RocketMQInstance(\"default9hAb83\", {\n productInfo: {\n msgProcessSpec: \"rmq.p2.4xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n seriesCode: \"professional\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n networkInfo: {\n vpcInfo: {\n vpcId: defaultg6ZXs2.id,\n vswitches: [{\n vswitchId: defaultvMQbCy.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n aclInfo: {\n defaultVpcAuthFree: false,\n aclTypes: [\n \"default\",\n \"apache_acl\",\n ],\n },\n});\nconst _default = new alicloud.rocketmq.Account(\"default\", {\n accountStatus: \"ENABLE\",\n instanceId: default9hAb83.id,\n username: \"tfexample\",\n password: \"1741835136\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultg6_zxs2 = alicloud.vpc.Network(\"defaultg6ZXs2\",\n description=\"111\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"pop-example-vpc\")\ndefaultv_m_qb_cy = alicloud.vpc.Switch(\"defaultvMQbCy\",\n vpc_id=defaultg6_zxs2.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"pop-example-vswitch\")\ndefault9h_ab83 = alicloud.rocketmq.RocketMQInstance(\"default9hAb83\",\n product_info={\n \"msg_process_spec\": \"rmq.p2.4xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n series_code=\"professional\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n network_info={\n \"vpc_info\": {\n \"vpc_id\": defaultg6_zxs2.id,\n \"vswitches\": [{\n \"vswitch_id\": defaultv_m_qb_cy.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n },\n acl_info={\n \"default_vpc_auth_free\": False,\n \"acl_types\": [\n \"default\",\n \"apache_acl\",\n ],\n })\ndefault = alicloud.rocketmq.Account(\"default\",\n account_status=\"ENABLE\",\n instance_id=default9h_ab83.id,\n username=\"tfexample\",\n password=\"1741835136\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultg6ZXs2 = new AliCloud.Vpc.Network(\"defaultg6ZXs2\", new()\n {\n Description = \"111\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"pop-example-vpc\",\n });\n\n var defaultvMQbCy = new AliCloud.Vpc.Switch(\"defaultvMQbCy\", new()\n {\n VpcId = defaultg6ZXs2.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"pop-example-vswitch\",\n });\n\n var default9hAb83 = new AliCloud.RocketMQ.RocketMQInstance(\"default9hAb83\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.p2.4xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n SeriesCode = \"professional\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = defaultg6ZXs2.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = defaultvMQbCy.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n AclInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceAclInfoArgs\n {\n DefaultVpcAuthFree = false,\n AclTypes = new[]\n {\n \"default\",\n \"apache_acl\",\n },\n },\n });\n\n var @default = new AliCloud.RocketMQ.Account(\"default\", new()\n {\n AccountStatus = \"ENABLE\",\n InstanceId = default9hAb83.Id,\n Username = \"tfexample\",\n Password = \"1741835136\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultg6ZXs2, err := vpc.NewNetwork(ctx, \"defaultg6ZXs2\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"111\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"pop-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvMQbCy, err := vpc.NewSwitch(ctx, \"defaultvMQbCy\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultg6ZXs2.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"pop-example-vswitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9hAb83, err := rocketmq.NewRocketMQInstance(ctx, \"default9hAb83\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.p2.4xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tSeriesCode: pulumi.String(\"professional\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: defaultg6ZXs2.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: defaultvMQbCy.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAclInfo: \u0026rocketmq.RocketMQInstanceAclInfoArgs{\n\t\t\t\tDefaultVpcAuthFree: pulumi.Bool(false),\n\t\t\t\tAclTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\tpulumi.String(\"apache_acl\"),\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 = rocketmq.NewAccount(ctx, \"default\", \u0026rocketmq.AccountArgs{\n\t\t\tAccountStatus: pulumi.String(\"ENABLE\"),\n\t\t\tInstanceId: default9hAb83.ID(),\n\t\t\tUsername: pulumi.String(\"tfexample\"),\n\t\t\tPassword: pulumi.String(\"1741835136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceAclInfoArgs;\nimport com.pulumi.alicloud.rocketmq.Account;\nimport com.pulumi.alicloud.rocketmq.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultg6ZXs2 = new Network(\"defaultg6ZXs2\", NetworkArgs.builder()\n .description(\"111\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"pop-example-vpc\")\n .build());\n\n var defaultvMQbCy = new Switch(\"defaultvMQbCy\", SwitchArgs.builder()\n .vpcId(defaultg6ZXs2.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"pop-example-vswitch\")\n .build());\n\n var default9hAb83 = new RocketMQInstance(\"default9hAb83\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.p2.4xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .seriesCode(\"professional\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(defaultg6ZXs2.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(defaultvMQbCy.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .aclInfo(RocketMQInstanceAclInfoArgs.builder()\n .defaultVpcAuthFree(false)\n .aclTypes( \n \"default\",\n \"apache_acl\")\n .build())\n .build());\n\n var default_ = new Account(\"default\", AccountArgs.builder()\n .accountStatus(\"ENABLE\")\n .instanceId(default9hAb83.id())\n .username(\"tfexample\")\n .password(\"1741835136\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultg6ZXs2:\n type: alicloud:vpc:Network\n properties:\n description: '111'\n cidrBlock: 192.168.0.0/16\n vpcName: pop-example-vpc\n defaultvMQbCy:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultg6ZXs2.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 192.168.0.0/24\n vswitchName: pop-example-vswitch\n default9hAb83:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.p2.4xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n seriesCode: professional\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n networkInfo:\n vpcInfo:\n vpcId: ${defaultg6ZXs2.id}\n vswitches:\n - vswitchId: ${defaultvMQbCy.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n aclInfo:\n defaultVpcAuthFree: false\n aclTypes:\n - default\n - apache_acl\n default:\n type: alicloud:rocketmq:Account\n properties:\n accountStatus: ENABLE\n instanceId: ${default9hAb83.id}\n username: tfexample\n password: '1741835136'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRocketMQ Account can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/account:Account example \u003cinstance_id\u003e:\u003cusername\u003e\n```\n\n", "properties": { "accountStatus": { "type": "string", @@ -241586,7 +247266,7 @@ } }, "alicloud:rocketmq/acl:Acl": { - "description": "Provides a RocketMQ Acl resource.\n\n\n\nFor information about RocketMQ Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createinstanceacl).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultrqDtGm = new alicloud.vpc.Network(\"defaultrqDtGm\", {\n description: \"1111\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"pop-example-vpc\",\n});\nconst defaultjUrTYm = new alicloud.vpc.Switch(\"defaultjUrTYm\", {\n vpcId: defaultrqDtGm.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"pop-example-vswitch\",\n});\nconst defaultKJZNVM = new alicloud.rocketmq.RocketMQInstance(\"defaultKJZNVM\", {\n productInfo: {\n msgProcessSpec: \"rmq.p2.4xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n seriesCode: \"professional\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n networkInfo: {\n vpcInfo: {\n vpcId: defaultrqDtGm.id,\n vswitches: [{\n vswitchId: defaultjUrTYm.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 5,\n },\n },\n aclInfo: {\n defaultVpcAuthFree: false,\n aclTypes: [\n \"default\",\n \"apache_acl\",\n ],\n },\n});\nconst defaultMeNlxe = new alicloud.rocketmq.Account(\"defaultMeNlxe\", {\n accountStatus: \"ENABLE\",\n instanceId: defaultKJZNVM.id,\n username: \"tfexample\",\n password: \"123456\",\n});\nconst defaultVA0zog = new alicloud.rocketmq.RocketMQTopic(\"defaultVA0zog\", {\n instanceId: defaultKJZNVM.id,\n messageType: \"NORMAL\",\n topicName: \"tfexample\",\n});\nconst _default = new alicloud.rocketmq.Acl(\"default\", {\n actions: [\n \"Pub\",\n \"Sub\",\n ],\n instanceId: defaultKJZNVM.id,\n username: defaultMeNlxe.username,\n resourceName: defaultVA0zog.topicName,\n resourceType: \"Topic\",\n decision: \"Deny\",\n ipWhitelists: [\"192.168.5.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultrq_dt_gm = alicloud.vpc.Network(\"defaultrqDtGm\",\n description=\"1111\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"pop-example-vpc\")\ndefaultj_ur_t_ym = alicloud.vpc.Switch(\"defaultjUrTYm\",\n vpc_id=defaultrq_dt_gm.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"pop-example-vswitch\")\ndefault_kjznvm = alicloud.rocketmq.RocketMQInstance(\"defaultKJZNVM\",\n product_info={\n \"msg_process_spec\": \"rmq.p2.4xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n series_code=\"professional\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": defaultrq_dt_gm.id,\n \"vswitches\": [{\n \"vswitch_id\": defaultj_ur_t_ym.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 5,\n },\n },\n acl_info={\n \"default_vpc_auth_free\": False,\n \"acl_types\": [\n \"default\",\n \"apache_acl\",\n ],\n })\ndefault_me_nlxe = alicloud.rocketmq.Account(\"defaultMeNlxe\",\n account_status=\"ENABLE\",\n instance_id=default_kjznvm.id,\n username=\"tfexample\",\n password=\"123456\")\ndefault_va0zog = alicloud.rocketmq.RocketMQTopic(\"defaultVA0zog\",\n instance_id=default_kjznvm.id,\n message_type=\"NORMAL\",\n topic_name=\"tfexample\")\ndefault = alicloud.rocketmq.Acl(\"default\",\n actions=[\n \"Pub\",\n \"Sub\",\n ],\n instance_id=default_kjznvm.id,\n username=default_me_nlxe.username,\n resource_name_=default_va0zog.topic_name,\n resource_type=\"Topic\",\n decision=\"Deny\",\n ip_whitelists=[\"192.168.5.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultrqDtGm = new AliCloud.Vpc.Network(\"defaultrqDtGm\", new()\n {\n Description = \"1111\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"pop-example-vpc\",\n });\n\n var defaultjUrTYm = new AliCloud.Vpc.Switch(\"defaultjUrTYm\", new()\n {\n VpcId = defaultrqDtGm.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"pop-example-vswitch\",\n });\n\n var defaultKJZNVM = new AliCloud.RocketMQ.RocketMQInstance(\"defaultKJZNVM\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.p2.4xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n SeriesCode = \"professional\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = defaultrqDtGm.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = defaultjUrTYm.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 5,\n },\n },\n AclInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceAclInfoArgs\n {\n DefaultVpcAuthFree = false,\n AclTypes = new[]\n {\n \"default\",\n \"apache_acl\",\n },\n },\n });\n\n var defaultMeNlxe = new AliCloud.RocketMQ.Account(\"defaultMeNlxe\", new()\n {\n AccountStatus = \"ENABLE\",\n InstanceId = defaultKJZNVM.Id,\n Username = \"tfexample\",\n Password = \"123456\",\n });\n\n var defaultVA0zog = new AliCloud.RocketMQ.RocketMQTopic(\"defaultVA0zog\", new()\n {\n InstanceId = defaultKJZNVM.Id,\n MessageType = \"NORMAL\",\n TopicName = \"tfexample\",\n });\n\n var @default = new AliCloud.RocketMQ.Acl(\"default\", new()\n {\n Actions = new[]\n {\n \"Pub\",\n \"Sub\",\n },\n InstanceId = defaultKJZNVM.Id,\n Username = defaultMeNlxe.Username,\n ResourceName = defaultVA0zog.TopicName,\n ResourceType = \"Topic\",\n Decision = \"Deny\",\n IpWhitelists = new[]\n {\n \"192.168.5.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultrqDtGm, err := vpc.NewNetwork(ctx, \"defaultrqDtGm\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"1111\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"pop-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultjUrTYm, err := vpc.NewSwitch(ctx, \"defaultjUrTYm\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultrqDtGm.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"pop-example-vswitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKJZNVM, err := rocketmq.NewRocketMQInstance(ctx, \"defaultKJZNVM\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.p2.4xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tSeriesCode: pulumi.String(\"professional\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: defaultrqDtGm.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: defaultjUrTYm.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAclInfo: \u0026rocketmq.RocketMQInstanceAclInfoArgs{\n\t\t\t\tDefaultVpcAuthFree: pulumi.Bool(false),\n\t\t\t\tAclTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\tpulumi.String(\"apache_acl\"),\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\tdefaultMeNlxe, err := rocketmq.NewAccount(ctx, \"defaultMeNlxe\", \u0026rocketmq.AccountArgs{\n\t\t\tAccountStatus: pulumi.String(\"ENABLE\"),\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tUsername: pulumi.String(\"tfexample\"),\n\t\t\tPassword: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVA0zog, err := rocketmq.NewRocketMQTopic(ctx, \"defaultVA0zog\", \u0026rocketmq.RocketMQTopicArgs{\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tMessageType: pulumi.String(\"NORMAL\"),\n\t\t\tTopicName: pulumi.String(\"tfexample\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewAcl(ctx, \"default\", \u0026rocketmq.AclArgs{\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Pub\"),\n\t\t\t\tpulumi.String(\"Sub\"),\n\t\t\t},\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tUsername: defaultMeNlxe.Username,\n\t\t\tResourceName: defaultVA0zog.TopicName,\n\t\t\tResourceType: pulumi.String(\"Topic\"),\n\t\t\tDecision: pulumi.String(\"Deny\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.5.5\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceAclInfoArgs;\nimport com.pulumi.alicloud.rocketmq.Account;\nimport com.pulumi.alicloud.rocketmq.AccountArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopic;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopicArgs;\nimport com.pulumi.alicloud.rocketmq.Acl;\nimport com.pulumi.alicloud.rocketmq.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultrqDtGm = new Network(\"defaultrqDtGm\", NetworkArgs.builder()\n .description(\"1111\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"pop-example-vpc\")\n .build());\n\n var defaultjUrTYm = new Switch(\"defaultjUrTYm\", SwitchArgs.builder()\n .vpcId(defaultrqDtGm.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"pop-example-vswitch\")\n .build());\n\n var defaultKJZNVM = new RocketMQInstance(\"defaultKJZNVM\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.p2.4xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .seriesCode(\"professional\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(defaultrqDtGm.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(defaultjUrTYm.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(5)\n .build())\n .build())\n .aclInfo(RocketMQInstanceAclInfoArgs.builder()\n .defaultVpcAuthFree(false)\n .aclTypes( \n \"default\",\n \"apache_acl\")\n .build())\n .build());\n\n var defaultMeNlxe = new Account(\"defaultMeNlxe\", AccountArgs.builder()\n .accountStatus(\"ENABLE\")\n .instanceId(defaultKJZNVM.id())\n .username(\"tfexample\")\n .password(\"123456\")\n .build());\n\n var defaultVA0zog = new RocketMQTopic(\"defaultVA0zog\", RocketMQTopicArgs.builder()\n .instanceId(defaultKJZNVM.id())\n .messageType(\"NORMAL\")\n .topicName(\"tfexample\")\n .build());\n\n var default_ = new Acl(\"default\", AclArgs.builder()\n .actions( \n \"Pub\",\n \"Sub\")\n .instanceId(defaultKJZNVM.id())\n .username(defaultMeNlxe.username())\n .resourceName(defaultVA0zog.topicName())\n .resourceType(\"Topic\")\n .decision(\"Deny\")\n .ipWhitelists(\"192.168.5.5\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultrqDtGm:\n type: alicloud:vpc:Network\n properties:\n description: '1111'\n cidrBlock: 192.168.0.0/16\n vpcName: pop-example-vpc\n defaultjUrTYm:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultrqDtGm.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 192.168.0.0/24\n vswitchName: pop-example-vswitch\n defaultKJZNVM:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.p2.4xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n seriesCode: professional\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n networkInfo:\n vpcInfo:\n vpcId: ${defaultrqDtGm.id}\n vswitches:\n - vswitchId: ${defaultjUrTYm.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '5'\n aclInfo:\n defaultVpcAuthFree: false\n aclTypes:\n - default\n - apache_acl\n defaultMeNlxe:\n type: alicloud:rocketmq:Account\n properties:\n accountStatus: ENABLE\n instanceId: ${defaultKJZNVM.id}\n username: tfexample\n password: '123456'\n defaultVA0zog:\n type: alicloud:rocketmq:RocketMQTopic\n properties:\n instanceId: ${defaultKJZNVM.id}\n messageType: NORMAL\n topicName: tfexample\n default:\n type: alicloud:rocketmq:Acl\n properties:\n actions:\n - Pub\n - Sub\n instanceId: ${defaultKJZNVM.id}\n username: ${defaultMeNlxe.username}\n resourceName: ${defaultVA0zog.topicName}\n resourceType: Topic\n decision: Deny\n ipWhitelists:\n - 192.168.5.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRocketMQ Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/acl:Acl example \u003cinstance_id\u003e:\u003cusername\u003e:\u003cresource_type\u003e:\u003cresource_name\u003e\n```\n\n", + "description": "Provides a RocketMQ Acl resource.\n\n\n\nFor information about RocketMQ Acl and how to use it, see [What is Acl](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createinstanceacl).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultrqDtGm = new alicloud.vpc.Network(\"defaultrqDtGm\", {\n description: \"1111\",\n cidrBlock: \"192.168.0.0/16\",\n vpcName: \"pop-example-vpc\",\n});\nconst defaultjUrTYm = new alicloud.vpc.Switch(\"defaultjUrTYm\", {\n vpcId: defaultrqDtGm.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"192.168.0.0/24\",\n vswitchName: \"pop-example-vswitch\",\n});\nconst defaultKJZNVM = new alicloud.rocketmq.RocketMQInstance(\"defaultKJZNVM\", {\n productInfo: {\n msgProcessSpec: \"rmq.p2.4xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n seriesCode: \"professional\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n networkInfo: {\n vpcInfo: {\n vpcId: defaultrqDtGm.id,\n vswitches: [{\n vswitchId: defaultjUrTYm.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 5,\n },\n },\n aclInfo: {\n defaultVpcAuthFree: false,\n aclTypes: [\n \"default\",\n \"apache_acl\",\n ],\n },\n});\nconst defaultMeNlxe = new alicloud.rocketmq.Account(\"defaultMeNlxe\", {\n accountStatus: \"ENABLE\",\n instanceId: defaultKJZNVM.id,\n username: \"tfexample\",\n password: \"123456\",\n});\nconst defaultVA0zog = new alicloud.rocketmq.RocketMQTopic(\"defaultVA0zog\", {\n instanceId: defaultKJZNVM.id,\n messageType: \"NORMAL\",\n topicName: \"tfexample\",\n});\nconst _default = new alicloud.rocketmq.Acl(\"default\", {\n actions: [\n \"Pub\",\n \"Sub\",\n ],\n instanceId: defaultKJZNVM.id,\n username: defaultMeNlxe.username,\n resourceName: defaultVA0zog.topicName,\n resourceType: \"Topic\",\n decision: \"Deny\",\n ipWhitelists: [\"192.168.5.5\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultrq_dt_gm = alicloud.vpc.Network(\"defaultrqDtGm\",\n description=\"1111\",\n cidr_block=\"192.168.0.0/16\",\n vpc_name=\"pop-example-vpc\")\ndefaultj_ur_t_ym = alicloud.vpc.Switch(\"defaultjUrTYm\",\n vpc_id=defaultrq_dt_gm.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"192.168.0.0/24\",\n vswitch_name=\"pop-example-vswitch\")\ndefault_kjznvm = alicloud.rocketmq.RocketMQInstance(\"defaultKJZNVM\",\n product_info={\n \"msg_process_spec\": \"rmq.p2.4xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n series_code=\"professional\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": defaultrq_dt_gm.id,\n \"vswitches\": [{\n \"vswitch_id\": defaultj_ur_t_ym.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 5,\n },\n },\n acl_info={\n \"default_vpc_auth_free\": False,\n \"acl_types\": [\n \"default\",\n \"apache_acl\",\n ],\n })\ndefault_me_nlxe = alicloud.rocketmq.Account(\"defaultMeNlxe\",\n account_status=\"ENABLE\",\n instance_id=default_kjznvm.id,\n username=\"tfexample\",\n password=\"123456\")\ndefault_va0zog = alicloud.rocketmq.RocketMQTopic(\"defaultVA0zog\",\n instance_id=default_kjznvm.id,\n message_type=\"NORMAL\",\n topic_name=\"tfexample\")\ndefault = alicloud.rocketmq.Acl(\"default\",\n actions=[\n \"Pub\",\n \"Sub\",\n ],\n instance_id=default_kjznvm.id,\n username=default_me_nlxe.username,\n resource_name_=default_va0zog.topic_name,\n resource_type=\"Topic\",\n decision=\"Deny\",\n ip_whitelists=[\"192.168.5.5\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultrqDtGm = new AliCloud.Vpc.Network(\"defaultrqDtGm\", new()\n {\n Description = \"1111\",\n CidrBlock = \"192.168.0.0/16\",\n VpcName = \"pop-example-vpc\",\n });\n\n var defaultjUrTYm = new AliCloud.Vpc.Switch(\"defaultjUrTYm\", new()\n {\n VpcId = defaultrqDtGm.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"192.168.0.0/24\",\n VswitchName = \"pop-example-vswitch\",\n });\n\n var defaultKJZNVM = new AliCloud.RocketMQ.RocketMQInstance(\"defaultKJZNVM\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.p2.4xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n SeriesCode = \"professional\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = defaultrqDtGm.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = defaultjUrTYm.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 5,\n },\n },\n AclInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceAclInfoArgs\n {\n DefaultVpcAuthFree = false,\n AclTypes = new[]\n {\n \"default\",\n \"apache_acl\",\n },\n },\n });\n\n var defaultMeNlxe = new AliCloud.RocketMQ.Account(\"defaultMeNlxe\", new()\n {\n AccountStatus = \"ENABLE\",\n InstanceId = defaultKJZNVM.Id,\n Username = \"tfexample\",\n Password = \"123456\",\n });\n\n var defaultVA0zog = new AliCloud.RocketMQ.RocketMQTopic(\"defaultVA0zog\", new()\n {\n InstanceId = defaultKJZNVM.Id,\n MessageType = \"NORMAL\",\n TopicName = \"tfexample\",\n });\n\n var @default = new AliCloud.RocketMQ.Acl(\"default\", new()\n {\n Actions = new[]\n {\n \"Pub\",\n \"Sub\",\n },\n InstanceId = defaultKJZNVM.Id,\n Username = defaultMeNlxe.Username,\n ResourceName = defaultVA0zog.TopicName,\n ResourceType = \"Topic\",\n Decision = \"Deny\",\n IpWhitelists = new[]\n {\n \"192.168.5.5\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultrqDtGm, err := vpc.NewNetwork(ctx, \"defaultrqDtGm\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"1111\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcName: pulumi.String(\"pop-example-vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultjUrTYm, err := vpc.NewSwitch(ctx, \"defaultjUrTYm\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultrqDtGm.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-j\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"pop-example-vswitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKJZNVM, err := rocketmq.NewRocketMQInstance(ctx, \"defaultKJZNVM\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.p2.4xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tSeriesCode: pulumi.String(\"professional\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: defaultrqDtGm.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: defaultjUrTYm.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAclInfo: \u0026rocketmq.RocketMQInstanceAclInfoArgs{\n\t\t\t\tDefaultVpcAuthFree: pulumi.Bool(false),\n\t\t\t\tAclTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\tpulumi.String(\"apache_acl\"),\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\tdefaultMeNlxe, err := rocketmq.NewAccount(ctx, \"defaultMeNlxe\", \u0026rocketmq.AccountArgs{\n\t\t\tAccountStatus: pulumi.String(\"ENABLE\"),\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tUsername: pulumi.String(\"tfexample\"),\n\t\t\tPassword: pulumi.String(\"123456\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVA0zog, err := rocketmq.NewRocketMQTopic(ctx, \"defaultVA0zog\", \u0026rocketmq.RocketMQTopicArgs{\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tMessageType: pulumi.String(\"NORMAL\"),\n\t\t\tTopicName: pulumi.String(\"tfexample\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewAcl(ctx, \"default\", \u0026rocketmq.AclArgs{\n\t\t\tActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Pub\"),\n\t\t\t\tpulumi.String(\"Sub\"),\n\t\t\t},\n\t\t\tInstanceId: defaultKJZNVM.ID(),\n\t\t\tUsername: defaultMeNlxe.Username,\n\t\t\tResourceName: defaultVA0zog.TopicName,\n\t\t\tResourceType: pulumi.String(\"Topic\"),\n\t\t\tDecision: pulumi.String(\"Deny\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.5.5\"),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceAclInfoArgs;\nimport com.pulumi.alicloud.rocketmq.Account;\nimport com.pulumi.alicloud.rocketmq.AccountArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopic;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopicArgs;\nimport com.pulumi.alicloud.rocketmq.Acl;\nimport com.pulumi.alicloud.rocketmq.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultrqDtGm = new Network(\"defaultrqDtGm\", NetworkArgs.builder()\n .description(\"1111\")\n .cidrBlock(\"192.168.0.0/16\")\n .vpcName(\"pop-example-vpc\")\n .build());\n\n var defaultjUrTYm = new Switch(\"defaultjUrTYm\", SwitchArgs.builder()\n .vpcId(defaultrqDtGm.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"192.168.0.0/24\")\n .vswitchName(\"pop-example-vswitch\")\n .build());\n\n var defaultKJZNVM = new RocketMQInstance(\"defaultKJZNVM\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.p2.4xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .seriesCode(\"professional\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(defaultrqDtGm.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(defaultjUrTYm.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(5)\n .build())\n .build())\n .aclInfo(RocketMQInstanceAclInfoArgs.builder()\n .defaultVpcAuthFree(false)\n .aclTypes( \n \"default\",\n \"apache_acl\")\n .build())\n .build());\n\n var defaultMeNlxe = new Account(\"defaultMeNlxe\", AccountArgs.builder()\n .accountStatus(\"ENABLE\")\n .instanceId(defaultKJZNVM.id())\n .username(\"tfexample\")\n .password(\"123456\")\n .build());\n\n var defaultVA0zog = new RocketMQTopic(\"defaultVA0zog\", RocketMQTopicArgs.builder()\n .instanceId(defaultKJZNVM.id())\n .messageType(\"NORMAL\")\n .topicName(\"tfexample\")\n .build());\n\n var default_ = new Acl(\"default\", AclArgs.builder()\n .actions( \n \"Pub\",\n \"Sub\")\n .instanceId(defaultKJZNVM.id())\n .username(defaultMeNlxe.username())\n .resourceName(defaultVA0zog.topicName())\n .resourceType(\"Topic\")\n .decision(\"Deny\")\n .ipWhitelists(\"192.168.5.5\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultrqDtGm:\n type: alicloud:vpc:Network\n properties:\n description: '1111'\n cidrBlock: 192.168.0.0/16\n vpcName: pop-example-vpc\n defaultjUrTYm:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultrqDtGm.id}\n zoneId: cn-hangzhou-j\n cidrBlock: 192.168.0.0/24\n vswitchName: pop-example-vswitch\n defaultKJZNVM:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.p2.4xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n seriesCode: professional\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n networkInfo:\n vpcInfo:\n vpcId: ${defaultrqDtGm.id}\n vswitches:\n - vswitchId: ${defaultjUrTYm.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '5'\n aclInfo:\n defaultVpcAuthFree: false\n aclTypes:\n - default\n - apache_acl\n defaultMeNlxe:\n type: alicloud:rocketmq:Account\n properties:\n accountStatus: ENABLE\n instanceId: ${defaultKJZNVM.id}\n username: tfexample\n password: '123456'\n defaultVA0zog:\n type: alicloud:rocketmq:RocketMQTopic\n properties:\n instanceId: ${defaultKJZNVM.id}\n messageType: NORMAL\n topicName: tfexample\n default:\n type: alicloud:rocketmq:Acl\n properties:\n actions:\n - Pub\n - Sub\n instanceId: ${defaultKJZNVM.id}\n username: ${defaultMeNlxe.username}\n resourceName: ${defaultVA0zog.topicName}\n resourceType: Topic\n decision: Deny\n ipWhitelists:\n - 192.168.5.5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRocketMQ Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/acl:Acl example \u003cinstance_id\u003e:\u003cusername\u003e:\u003cresource_type\u003e:\u003cresource_name\u003e\n```\n\n", "properties": { "actions": { "type": "array", @@ -241726,7 +247406,7 @@ } }, "alicloud:rocketmq/clientUser:ClientUser": { - "description": "Provides a Sag ClientUser resource. This topic describes how to manage accounts as an administrator. After you configure the network, you can create multiple accounts and distribute them to end users so that clients can access Alibaba Cloud.\n\nFor information about Sag ClientUser and how to use it, see [What is Sag ClientUser](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createsmartaccessgatewayclientuser).\n\n\u003e **NOTE:** Available since v1.65.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz4fg***\";\nconst _default = new alicloud.sag.ClientUser(\"default\", {\n sagId: sagId,\n bandwidth: 20,\n userMail: \"tf-example@abc.com\",\n userName: name,\n password: \"example1234\",\n clientIp: \"192.1.10.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz4fg***\"\ndefault = alicloud.sag.ClientUser(\"default\",\n sag_id=sag_id,\n bandwidth=20,\n user_mail=\"tf-example@abc.com\",\n user_name=name,\n password=\"example1234\",\n client_ip=\"192.1.10.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz4fg***\";\n var @default = new AliCloud.Sag.ClientUser(\"default\", new()\n {\n SagId = sagId,\n Bandwidth = 20,\n UserMail = \"tf-example@abc.com\",\n UserName = name,\n Password = \"example1234\",\n ClientIp = \"192.1.10.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkfaz4fg***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewClientUser(ctx, \"default\", \u0026sag.ClientUserArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tUserMail: pulumi.String(\"tf-example@abc.com\"),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"example1234\"),\n\t\t\tClientIp: pulumi.String(\"192.1.10.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.alicloud.sag.ClientUser;\nimport com.pulumi.alicloud.sag.ClientUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz4fg***\");\n var default_ = new ClientUser(\"default\", ClientUserArgs.builder()\n .sagId(sagId)\n .bandwidth(20)\n .userMail(\"tf-example@abc.com\")\n .userName(name)\n .password(\"example1234\")\n .clientIp(\"192.1.10.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkfaz4fg***\nresources:\n default:\n type: alicloud:sag:ClientUser\n properties:\n sagId: ${sagId}\n bandwidth: '20'\n userMail: tf-example@abc.com\n userName: ${name}\n password: example1234\n clientIp: 192.1.10.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag ClientUser can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/clientUser:ClientUser example sag-abc123456:tf-username-abc123456\n```\n\n", + "description": "Provides a Sag ClientUser resource. This topic describes how to manage accounts as an administrator. After you configure the network, you can create multiple accounts and distribute them to end users so that clients can access Alibaba Cloud.\n\nFor information about Sag ClientUser and how to use it, see [What is Sag ClientUser](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createsmartaccessgatewayclientuser).\n\n\u003e **NOTE:** Available since v1.65.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz4fg***\";\nconst _default = new alicloud.sag.ClientUser(\"default\", {\n sagId: sagId,\n bandwidth: 20,\n userMail: \"tf-example@abc.com\",\n userName: name,\n password: \"example1234\",\n clientIp: \"192.1.10.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz4fg***\"\ndefault = alicloud.sag.ClientUser(\"default\",\n sag_id=sag_id,\n bandwidth=20,\n user_mail=\"tf-example@abc.com\",\n user_name=name,\n password=\"example1234\",\n client_ip=\"192.1.10.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz4fg***\";\n var @default = new AliCloud.Sag.ClientUser(\"default\", new()\n {\n SagId = sagId,\n Bandwidth = 20,\n UserMail = \"tf-example@abc.com\",\n UserName = name,\n Password = \"example1234\",\n ClientIp = \"192.1.10.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkfaz4fg***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewClientUser(ctx, \"default\", \u0026sag.ClientUserArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tUserMail: pulumi.String(\"tf-example@abc.com\"),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"example1234\"),\n\t\t\tClientIp: pulumi.String(\"192.1.10.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.alicloud.sag.ClientUser;\nimport com.pulumi.alicloud.sag.ClientUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz4fg***\");\n var default_ = new ClientUser(\"default\", ClientUserArgs.builder()\n .sagId(sagId)\n .bandwidth(20)\n .userMail(\"tf-example@abc.com\")\n .userName(name)\n .password(\"example1234\")\n .clientIp(\"192.1.10.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkfaz4fg***\nresources:\n default:\n type: alicloud:sag:ClientUser\n properties:\n sagId: ${sagId}\n bandwidth: '20'\n userMail: tf-example@abc.com\n userName: ${name}\n password: example1234\n clientIp: 192.1.10.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag ClientUser can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/clientUser:ClientUser example sag-abc123456:tf-username-abc123456\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -241867,7 +247547,7 @@ "deprecationMessage": "alicloud.rocketmq/clientuser.ClientUser has been deprecated in favor of alicloud.sag/clientuser.ClientUser" }, "alicloud:rocketmq/consumerGroup:ConsumerGroup": { - "description": "Provides a RocketMQ Consumer Group resource. \n\nFor information about RocketMQ Consumer Group and how to use it, see [What is Consumer Group](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createconsumergroup).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"createVpc\", {\n description: \"example\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst createVswitch = new alicloud.vpc.Switch(\"createVswitch\", {\n description: \"example\",\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst createInstance = new alicloud.rocketmq.RocketMQInstance(\"createInstance\", {\n productInfo: {\n msgProcessSpec: \"rmq.u2.10xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n ipWhitelists: [\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n seriesCode: \"ultimate\",\n networkInfo: {\n vpcInfo: {\n vpcId: createVpc.id,\n vswitches: [{\n vswitchId: createVswitch.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n});\nconst defaultConsumerGroup = new alicloud.rocketmq.ConsumerGroup(\"default\", {\n consumerGroupId: name,\n instanceId: createInstance.id,\n consumeRetryPolicy: {\n retryPolicy: \"DefaultRetryPolicy\",\n maxRetryTimes: 10,\n },\n deliveryOrderType: \"Concurrently\",\n remark: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"createVpc\",\n description=\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ncreate_vswitch = alicloud.vpc.Switch(\"createVswitch\",\n description=\"example\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ncreate_instance = alicloud.rocketmq.RocketMQInstance(\"createInstance\",\n product_info={\n \"msg_process_spec\": \"rmq.u2.10xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n ip_whitelists=[\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n series_code=\"ultimate\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": create_vpc.id,\n \"vswitches\": [{\n \"vswitch_id\": create_vswitch.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n })\ndefault_consumer_group = alicloud.rocketmq.ConsumerGroup(\"default\",\n consumer_group_id=name,\n instance_id=create_instance.id,\n consume_retry_policy={\n \"retry_policy\": \"DefaultRetryPolicy\",\n \"max_retry_times\": 10,\n },\n delivery_order_type=\"Concurrently\",\n remark=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"createVpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"createVswitch\", new()\n {\n Description = \"example\",\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var createInstance = new AliCloud.RocketMQ.RocketMQInstance(\"createInstance\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.u2.10xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n IpWhitelists = new[]\n {\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n },\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n SeriesCode = \"ultimate\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = createVpc.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = createVswitch.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n });\n\n var defaultConsumerGroup = new AliCloud.RocketMQ.ConsumerGroup(\"default\", new()\n {\n ConsumerGroupId = name,\n InstanceId = createInstance.Id,\n ConsumeRetryPolicy = new AliCloud.RocketMQ.Inputs.ConsumerGroupConsumeRetryPolicyArgs\n {\n RetryPolicy = \"DefaultRetryPolicy\",\n MaxRetryTimes = 10,\n },\n DeliveryOrderType = \"Concurrently\",\n Remark = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"createVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"createVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := rocketmq.NewRocketMQInstance(ctx, \"createInstance\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.u2.10xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\tpulumi.String(\"10.10.0.0/16\"),\n\t\t\t\tpulumi.String(\"172.168.0.0/16\"),\n\t\t\t},\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tSeriesCode: pulumi.String(\"ultimate\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\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 = rocketmq.NewConsumerGroup(ctx, \"default\", \u0026rocketmq.ConsumerGroupArgs{\n\t\t\tConsumerGroupId: pulumi.String(name),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tConsumeRetryPolicy: \u0026rocketmq.ConsumerGroupConsumeRetryPolicyArgs{\n\t\t\t\tRetryPolicy: pulumi.String(\"DefaultRetryPolicy\"),\n\t\t\t\tMaxRetryTimes: pulumi.Int(10),\n\t\t\t},\n\t\t\tDeliveryOrderType: pulumi.String(\"Concurrently\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.ConsumerGroup;\nimport com.pulumi.alicloud.rocketmq.ConsumerGroupArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.ConsumerGroupConsumeRetryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .description(\"example\")\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var createInstance = new RocketMQInstance(\"createInstance\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.u2.10xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .ipWhitelists( \n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .seriesCode(\"ultimate\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(createVpc.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(createVswitch.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .build());\n\n var defaultConsumerGroup = new ConsumerGroup(\"defaultConsumerGroup\", ConsumerGroupArgs.builder()\n .consumerGroupId(name)\n .instanceId(createInstance.id())\n .consumeRetryPolicy(ConsumerGroupConsumeRetryPolicyArgs.builder()\n .retryPolicy(\"DefaultRetryPolicy\")\n .maxRetryTimes(10)\n .build())\n .deliveryOrderType(\"Concurrently\")\n .remark(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n createVswitch:\n type: alicloud:vpc:Switch\n properties:\n description: example\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n createInstance:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.u2.10xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n ipWhitelists:\n - 192.168.0.0/16\n - 10.10.0.0/16\n - 172.168.0.0/16\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n seriesCode: ultimate\n networkInfo:\n vpcInfo:\n vpcId: ${createVpc.id}\n vswitches:\n - vswitchId: ${createVswitch.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n defaultConsumerGroup:\n type: alicloud:rocketmq:ConsumerGroup\n name: default\n properties:\n consumerGroupId: ${name}\n instanceId: ${createInstance.id}\n consumeRetryPolicy:\n retryPolicy: DefaultRetryPolicy\n maxRetryTimes: '10'\n deliveryOrderType: Concurrently\n remark: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRocketMQ Consumer Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/consumerGroup:ConsumerGroup example \u003cinstance_id\u003e:\u003cconsumer_group_id\u003e\n```\n\n", + "description": "Provides a RocketMQ Consumer Group resource. \n\nFor information about RocketMQ Consumer Group and how to use it, see [What is Consumer Group](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createconsumergroup).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"createVpc\", {\n description: \"example\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst createVswitch = new alicloud.vpc.Switch(\"createVswitch\", {\n description: \"example\",\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst createInstance = new alicloud.rocketmq.RocketMQInstance(\"createInstance\", {\n productInfo: {\n msgProcessSpec: \"rmq.u2.10xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n ipWhitelists: [\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n seriesCode: \"ultimate\",\n networkInfo: {\n vpcInfo: {\n vpcId: createVpc.id,\n vswitches: [{\n vswitchId: createVswitch.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n});\nconst defaultConsumerGroup = new alicloud.rocketmq.ConsumerGroup(\"default\", {\n consumerGroupId: name,\n instanceId: createInstance.id,\n consumeRetryPolicy: {\n retryPolicy: \"DefaultRetryPolicy\",\n maxRetryTimes: 10,\n },\n deliveryOrderType: \"Concurrently\",\n remark: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"createVpc\",\n description=\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ncreate_vswitch = alicloud.vpc.Switch(\"createVswitch\",\n description=\"example\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ncreate_instance = alicloud.rocketmq.RocketMQInstance(\"createInstance\",\n product_info={\n \"msg_process_spec\": \"rmq.u2.10xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n ip_whitelists=[\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n series_code=\"ultimate\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": create_vpc.id,\n \"vswitches\": [{\n \"vswitch_id\": create_vswitch.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n })\ndefault_consumer_group = alicloud.rocketmq.ConsumerGroup(\"default\",\n consumer_group_id=name,\n instance_id=create_instance.id,\n consume_retry_policy={\n \"retry_policy\": \"DefaultRetryPolicy\",\n \"max_retry_times\": 10,\n },\n delivery_order_type=\"Concurrently\",\n remark=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"createVpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"createVswitch\", new()\n {\n Description = \"example\",\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var createInstance = new AliCloud.RocketMQ.RocketMQInstance(\"createInstance\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.u2.10xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n IpWhitelists = new[]\n {\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n },\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n SeriesCode = \"ultimate\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = createVpc.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = createVswitch.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n });\n\n var defaultConsumerGroup = new AliCloud.RocketMQ.ConsumerGroup(\"default\", new()\n {\n ConsumerGroupId = name,\n InstanceId = createInstance.Id,\n ConsumeRetryPolicy = new AliCloud.RocketMQ.Inputs.ConsumerGroupConsumeRetryPolicyArgs\n {\n RetryPolicy = \"DefaultRetryPolicy\",\n MaxRetryTimes = 10,\n },\n DeliveryOrderType = \"Concurrently\",\n Remark = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"createVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"createVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := rocketmq.NewRocketMQInstance(ctx, \"createInstance\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.u2.10xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\tpulumi.String(\"10.10.0.0/16\"),\n\t\t\t\tpulumi.String(\"172.168.0.0/16\"),\n\t\t\t},\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tSeriesCode: pulumi.String(\"ultimate\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\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 = rocketmq.NewConsumerGroup(ctx, \"default\", \u0026rocketmq.ConsumerGroupArgs{\n\t\t\tConsumerGroupId: pulumi.String(name),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tConsumeRetryPolicy: \u0026rocketmq.ConsumerGroupConsumeRetryPolicyArgs{\n\t\t\t\tRetryPolicy: pulumi.String(\"DefaultRetryPolicy\"),\n\t\t\t\tMaxRetryTimes: pulumi.Int(10),\n\t\t\t},\n\t\t\tDeliveryOrderType: pulumi.String(\"Concurrently\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.ConsumerGroup;\nimport com.pulumi.alicloud.rocketmq.ConsumerGroupArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.ConsumerGroupConsumeRetryPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .description(\"example\")\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var createInstance = new RocketMQInstance(\"createInstance\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.u2.10xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .ipWhitelists( \n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .seriesCode(\"ultimate\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(createVpc.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(createVswitch.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .build());\n\n var defaultConsumerGroup = new ConsumerGroup(\"defaultConsumerGroup\", ConsumerGroupArgs.builder()\n .consumerGroupId(name)\n .instanceId(createInstance.id())\n .consumeRetryPolicy(ConsumerGroupConsumeRetryPolicyArgs.builder()\n .retryPolicy(\"DefaultRetryPolicy\")\n .maxRetryTimes(10)\n .build())\n .deliveryOrderType(\"Concurrently\")\n .remark(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n createVswitch:\n type: alicloud:vpc:Switch\n properties:\n description: example\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n createInstance:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.u2.10xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n ipWhitelists:\n - 192.168.0.0/16\n - 10.10.0.0/16\n - 172.168.0.0/16\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n seriesCode: ultimate\n networkInfo:\n vpcInfo:\n vpcId: ${createVpc.id}\n vswitches:\n - vswitchId: ${createVswitch.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n defaultConsumerGroup:\n type: alicloud:rocketmq:ConsumerGroup\n name: default\n properties:\n consumerGroupId: ${name}\n instanceId: ${createInstance.id}\n consumeRetryPolicy:\n retryPolicy: DefaultRetryPolicy\n maxRetryTimes: '10'\n deliveryOrderType: Concurrently\n remark: example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRocketMQ Consumer Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/consumerGroup:ConsumerGroup example \u003cinstance_id\u003e:\u003cconsumer_group_id\u003e\n```\n\n", "properties": { "consumeRetryPolicy": { "$ref": "#/types/alicloud:rocketmq/ConsumerGroupConsumeRetryPolicy:ConsumerGroupConsumeRetryPolicy", @@ -241993,7 +247673,7 @@ } }, "alicloud:rocketmq/dnatEntry:DnatEntry": { - "description": "Provides a Sag DnatEntry resource. This topic describes how to add a DNAT entry to a Smart Access Gateway (SAG) instance to enable the DNAT function. By using the DNAT function, you can forward requests received by public IP addresses to Alibaba Cloud instances according to custom mapping rules.\n\nFor information about Sag DnatEntry and how to use it, see [What is Sag DnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/adddnatentry).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions suppor. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz***\";\nconst _default = new alicloud.sag.DnatEntry(\"default\", {\n sagId: sagId,\n type: \"Intranet\",\n ipProtocol: \"any\",\n externalIp: \"172.32.0.2\",\n externalPort: \"any\",\n internalIp: \"172.16.0.4\",\n internalPort: \"any\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz***\"\ndefault = alicloud.sag.DnatEntry(\"default\",\n sag_id=sag_id,\n type=\"Intranet\",\n ip_protocol=\"any\",\n external_ip=\"172.32.0.2\",\n external_port=\"any\",\n internal_ip=\"172.16.0.4\",\n internal_port=\"any\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz***\";\n var @default = new AliCloud.Sag.DnatEntry(\"default\", new()\n {\n SagId = sagId,\n Type = \"Intranet\",\n IpProtocol = \"any\",\n ExternalIp = \"172.32.0.2\",\n ExternalPort = \"any\",\n InternalIp = \"172.16.0.4\",\n InternalPort = \"any\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifkfaz***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewDnatEntry(ctx, \"default\", \u0026sag.DnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\tIpProtocol: pulumi.String(\"any\"),\n\t\t\tExternalIp: pulumi.String(\"172.32.0.2\"),\n\t\t\tExternalPort: pulumi.String(\"any\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.4\"),\n\t\t\tInternalPort: pulumi.String(\"any\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.DnatEntry;\nimport com.pulumi.alicloud.sag.DnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz***\");\n var default_ = new DnatEntry(\"default\", DnatEntryArgs.builder()\n .sagId(sagId)\n .type(\"Intranet\")\n .ipProtocol(\"any\")\n .externalIp(\"172.32.0.2\")\n .externalPort(\"any\")\n .internalIp(\"172.16.0.4\")\n .internalPort(\"any\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifkfaz***\nresources:\n default:\n type: alicloud:sag:DnatEntry\n properties:\n sagId: ${sagId}\n type: Intranet\n ipProtocol: any\n externalIp: 172.32.0.2\n externalPort: any\n internalIp: 172.16.0.4\n internalPort: any\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag DnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/dnatEntry:DnatEntry example sag-abc123456:dnat-abc123456\n```\n\n", + "description": "Provides a Sag DnatEntry resource. This topic describes how to add a DNAT entry to a Smart Access Gateway (SAG) instance to enable the DNAT function. By using the DNAT function, you can forward requests received by public IP addresses to Alibaba Cloud instances according to custom mapping rules.\n\nFor information about Sag DnatEntry and how to use it, see [What is Sag DnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/adddnatentry).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions suppor. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz***\";\nconst _default = new alicloud.sag.DnatEntry(\"default\", {\n sagId: sagId,\n type: \"Intranet\",\n ipProtocol: \"any\",\n externalIp: \"172.32.0.2\",\n externalPort: \"any\",\n internalIp: \"172.16.0.4\",\n internalPort: \"any\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz***\"\ndefault = alicloud.sag.DnatEntry(\"default\",\n sag_id=sag_id,\n type=\"Intranet\",\n ip_protocol=\"any\",\n external_ip=\"172.32.0.2\",\n external_port=\"any\",\n internal_ip=\"172.16.0.4\",\n internal_port=\"any\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz***\";\n var @default = new AliCloud.Sag.DnatEntry(\"default\", new()\n {\n SagId = sagId,\n Type = \"Intranet\",\n IpProtocol = \"any\",\n ExternalIp = \"172.32.0.2\",\n ExternalPort = \"any\",\n InternalIp = \"172.16.0.4\",\n InternalPort = \"any\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifkfaz***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewDnatEntry(ctx, \"default\", \u0026sag.DnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\tIpProtocol: pulumi.String(\"any\"),\n\t\t\tExternalIp: pulumi.String(\"172.32.0.2\"),\n\t\t\tExternalPort: pulumi.String(\"any\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.4\"),\n\t\t\tInternalPort: pulumi.String(\"any\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.DnatEntry;\nimport com.pulumi.alicloud.sag.DnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz***\");\n var default_ = new DnatEntry(\"default\", DnatEntryArgs.builder()\n .sagId(sagId)\n .type(\"Intranet\")\n .ipProtocol(\"any\")\n .externalIp(\"172.32.0.2\")\n .externalPort(\"any\")\n .internalIp(\"172.16.0.4\")\n .internalPort(\"any\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifkfaz***\nresources:\n default:\n type: alicloud:sag:DnatEntry\n properties:\n sagId: ${sagId}\n type: Intranet\n ipProtocol: any\n externalIp: 172.32.0.2\n externalPort: any\n internalIp: 172.16.0.4\n internalPort: any\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag DnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/dnatEntry:DnatEntry example sag-abc123456:dnat-abc123456\n```\n\n", "properties": { "externalIp": { "type": "string", @@ -242121,7 +247801,7 @@ "deprecationMessage": "alicloud.rocketmq/dnatentry.DnatEntry has been deprecated in favor of alicloud.sag/dnatentry.DnatEntry" }, "alicloud:rocketmq/group:Group": { - "description": "Provides an ONS group resource.\n\nFor more information about how to use it, see [RocketMQ Group Management API](https://www.alibabacloud.com/help/doc-detail/29616.html). \n\n\u003e **NOTE:** Available since v1.53.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"GID-tf-example\";\nconst groupName = config.get(\"groupName\") || \"GID-tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {instanceName: `${name}-${_default.result}`});\nconst defaultGroup = new alicloud.rocketmq.Group(\"default\", {\n groupName: groupName,\n instanceId: defaultInstance.id,\n remark: \"dafault_ons_group_remark\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"GID-tf-example\"\ngroup_name = config.get(\"groupName\")\nif group_name is None:\n group_name = \"GID-tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.rocketmq.Instance(\"default\", instance_name=f\"{name}-{default['result']}\")\ndefault_group = alicloud.rocketmq.Group(\"default\",\n group_name=group_name,\n instance_id=default_instance.id,\n remark=\"dafault_ons_group_remark\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"GID-tf-example\";\n var groupName = config.Get(\"groupName\") ?? \"GID-tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultGroup = new AliCloud.RocketMQ.Group(\"default\", new()\n {\n GroupName = groupName,\n InstanceId = defaultInstance.Id,\n Remark = \"dafault_ons_group_remark\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"GID-tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tgroupName := \"GID-tf-example\"\n\t\tif param := cfg.Get(\"groupName\"); param != \"\" {\n\t\t\tgroupName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewGroup(ctx, \"default\", \u0026rocketmq.GroupArgs{\n\t\t\tGroupName: pulumi.String(groupName),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRemark: pulumi.String(\"dafault_ons_group_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.InstanceArgs;\nimport com.pulumi.alicloud.rocketmq.Group;\nimport com.pulumi.alicloud.rocketmq.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"GID-tf-example\");\n final var groupName = config.get(\"groupName\").orElse(\"GID-tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .groupName(groupName)\n .instanceId(defaultInstance.id())\n .remark(\"dafault_ons_group_remark\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: GID-tf-example\n groupName:\n type: string\n default: GID-tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n defaultGroup:\n type: alicloud:rocketmq:Group\n name: default\n properties:\n groupName: ${groupName}\n instanceId: ${defaultInstance.id}\n remark: dafault_ons_group_remark\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nONS GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/group:Group group MQ_INST_1234567890_Baso1234567:GID-onsGroupDemo\n```\n\n", + "description": "Provides an ONS group resource.\n\nFor more information about how to use it, see [RocketMQ Group Management API](https://www.alibabacloud.com/help/doc-detail/29616.html). \n\n\u003e **NOTE:** Available since v1.53.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"GID-tf-example\";\nconst groupName = config.get(\"groupName\") || \"GID-tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {instanceName: `${name}-${_default.result}`});\nconst defaultGroup = new alicloud.rocketmq.Group(\"default\", {\n groupName: groupName,\n instanceId: defaultInstance.id,\n remark: \"dafault_ons_group_remark\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"GID-tf-example\"\ngroup_name = config.get(\"groupName\")\nif group_name is None:\n group_name = \"GID-tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.rocketmq.Instance(\"default\", instance_name=f\"{name}-{default['result']}\")\ndefault_group = alicloud.rocketmq.Group(\"default\",\n group_name=group_name,\n instance_id=default_instance.id,\n remark=\"dafault_ons_group_remark\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"GID-tf-example\";\n var groupName = config.Get(\"groupName\") ?? \"GID-tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n });\n\n var defaultGroup = new AliCloud.RocketMQ.Group(\"default\", new()\n {\n GroupName = groupName,\n InstanceId = defaultInstance.Id,\n Remark = \"dafault_ons_group_remark\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"GID-tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tgroupName := \"GID-tf-example\"\n\t\tif param := cfg.Get(\"groupName\"); param != \"\" {\n\t\t\tgroupName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewGroup(ctx, \"default\", \u0026rocketmq.GroupArgs{\n\t\t\tGroupName: pulumi.String(groupName),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRemark: pulumi.String(\"dafault_ons_group_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.InstanceArgs;\nimport com.pulumi.alicloud.rocketmq.Group;\nimport com.pulumi.alicloud.rocketmq.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"GID-tf-example\");\n final var groupName = config.get(\"groupName\").orElse(\"GID-tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultGroup = new Group(\"defaultGroup\", GroupArgs.builder()\n .groupName(groupName)\n .instanceId(defaultInstance.id())\n .remark(\"dafault_ons_group_remark\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: GID-tf-example\n groupName:\n type: string\n default: GID-tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n defaultGroup:\n type: alicloud:rocketmq:Group\n name: default\n properties:\n groupName: ${groupName}\n instanceId: ${defaultInstance.id}\n remark: dafault_ons_group_remark\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nONS GROUP can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/group:Group group MQ_INST_1234567890_Baso1234567:GID-onsGroupDemo\n```\n\n", "properties": { "groupId": { "type": "string", @@ -242248,7 +247928,7 @@ } }, "alicloud:rocketmq/instance:Instance": { - "description": "Provides an ONS instance resource.\n\nFor more information about how to use it, see [RocketMQ Instance Management API](https://www.alibabacloud.com/help/doc-detail/106354.html). \n\n\u003e **NOTE:** The number of instances in the same region cannot exceed 8. At present, the resource does not support region \"mq-internet-access\" and \"ap-southeast-5\". \n\n\u003e **NOTE:** Available in 1.51.0+\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.rocketmq.Instance(\"example\", {\n instanceName: `${name}-${_default.result}`,\n remark: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.rocketmq.Instance(\"example\",\n instance_name=f\"{name}-{default['result']}\",\n remark=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.RocketMQ.Instance(\"example\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n Remark = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewInstance(ctx, \"example\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRemark: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .remark(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:rocketmq:Instance\n properties:\n instanceName: ${name}-${default.result}\n remark: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nONS INSTANCE can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/instance:Instance instance MQ_INST_1234567890_Baso1234567\n```\n\n", + "description": "Provides an ONS instance resource.\n\nFor more information about how to use it, see [RocketMQ Instance Management API](https://www.alibabacloud.com/help/doc-detail/106354.html). \n\n\u003e **NOTE:** The number of instances in the same region cannot exceed 8. At present, the resource does not support region \"mq-internet-access\" and \"ap-southeast-5\". \n\n\u003e **NOTE:** Available in 1.51.0+\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.rocketmq.Instance(\"example\", {\n instanceName: `${name}-${_default.result}`,\n remark: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.rocketmq.Instance(\"example\",\n instance_name=f\"{name}-{default['result']}\",\n remark=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.RocketMQ.Instance(\"example\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n Remark = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewInstance(ctx, \"example\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRemark: pulumi.String(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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .remark(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:rocketmq:Instance\n properties:\n instanceName: ${name}-${default.result}\n remark: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nONS INSTANCE can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/instance:Instance instance MQ_INST_1234567890_Baso1234567\n```\n\n", "properties": { "instanceName": { "type": "string", @@ -242361,7 +248041,7 @@ } }, "alicloud:rocketmq/qos:Qos": { - "description": "Provides a Sag Qos resource. Smart Access Gateway (SAG) supports quintuple-based QoS functions to differentiate traffic of different services and ensure high-priority traffic bandwidth.\n\nFor information about Sag Qos and how to use it, see [What is Qos](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqos).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Qos(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Qos(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qos:Qos example qos-abc123456\n```\n\n", + "description": "Provides a Sag Qos resource. Smart Access Gateway (SAG) supports quintuple-based QoS functions to differentiate traffic of different services and ensure high-priority traffic bandwidth.\n\nFor information about Sag Qos and how to use it, see [What is Qos](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqos).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Qos(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Qos(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qos:Qos example qos-abc123456\n```\n\n", "properties": { "name": { "type": "string", @@ -242390,7 +248070,7 @@ "deprecationMessage": "alicloud.rocketmq/qos.Qos has been deprecated in favor of alicloud.sag/qos.Qos" }, "alicloud:rocketmq/qosCar:QosCar": { - "description": "Provides a Sag Qos Car resource.\n\nFor information about Sag Qos Car and how to use it, see [What is Qos Car](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqoscar).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst defaultQosCar = new alicloud.sag.QosCar(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n limitType: \"Absolute\",\n minBandwidthAbs: 10,\n maxBandwidthAbs: 20,\n percentSourceType: \"InternetUpBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\ndefault_qos_car = alicloud.sag.QosCar(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n limit_type=\"Absolute\",\n min_bandwidth_abs=10,\n max_bandwidth_abs=20,\n percent_source_type=\"InternetUpBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var defaultQosCar = new AliCloud.Sag.QosCar(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n LimitType = \"Absolute\",\n MinBandwidthAbs = 10,\n MaxBandwidthAbs = 20,\n PercentSourceType = \"InternetUpBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosCar(ctx, \"default\", \u0026sag.QosCarArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tLimitType: pulumi.String(\"Absolute\"),\n\t\t\tMinBandwidthAbs: pulumi.Int(10),\n\t\t\tMaxBandwidthAbs: pulumi.Int(20),\n\t\t\tPercentSourceType: pulumi.String(\"InternetUpBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.alicloud.sag.QosCar;\nimport com.pulumi.alicloud.sag.QosCarArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var defaultQosCar = new QosCar(\"defaultQosCar\", QosCarArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .limitType(\"Absolute\")\n .minBandwidthAbs(10)\n .maxBandwidthAbs(20)\n .percentSourceType(\"InternetUpBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n defaultQosCar:\n type: alicloud:sag:QosCar\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n limitType: Absolute\n minBandwidthAbs: '10'\n maxBandwidthAbs: '20'\n percentSourceType: InternetUpBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos Car can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qosCar:QosCar example \u003cqos_id\u003e:\u003cqos_car_id\u003e\n```\n\n", + "description": "Provides a Sag Qos Car resource.\n\nFor information about Sag Qos Car and how to use it, see [What is Qos Car](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqoscar).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst defaultQosCar = new alicloud.sag.QosCar(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n limitType: \"Absolute\",\n minBandwidthAbs: 10,\n maxBandwidthAbs: 20,\n percentSourceType: \"InternetUpBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\ndefault_qos_car = alicloud.sag.QosCar(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n limit_type=\"Absolute\",\n min_bandwidth_abs=10,\n max_bandwidth_abs=20,\n percent_source_type=\"InternetUpBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var defaultQosCar = new AliCloud.Sag.QosCar(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n LimitType = \"Absolute\",\n MinBandwidthAbs = 10,\n MaxBandwidthAbs = 20,\n PercentSourceType = \"InternetUpBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosCar(ctx, \"default\", \u0026sag.QosCarArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tLimitType: pulumi.String(\"Absolute\"),\n\t\t\tMinBandwidthAbs: pulumi.Int(10),\n\t\t\tMaxBandwidthAbs: pulumi.Int(20),\n\t\t\tPercentSourceType: pulumi.String(\"InternetUpBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.alicloud.sag.QosCar;\nimport com.pulumi.alicloud.sag.QosCarArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var defaultQosCar = new QosCar(\"defaultQosCar\", QosCarArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .limitType(\"Absolute\")\n .minBandwidthAbs(10)\n .maxBandwidthAbs(20)\n .percentSourceType(\"InternetUpBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n defaultQosCar:\n type: alicloud:sag:QosCar\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n limitType: Absolute\n minBandwidthAbs: '10'\n maxBandwidthAbs: '20'\n percentSourceType: InternetUpBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos Car can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qosCar:QosCar example \u003cqos_id\u003e:\u003cqos_car_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -242535,7 +248215,7 @@ "deprecationMessage": "alicloud.rocketmq/qoscar.QosCar has been deprecated in favor of alicloud.sag/qoscar.QosCar" }, "alicloud:rocketmq/qosPolicy:QosPolicy": { - "description": "Provides a Sag qos policy resource. \nYou need to create a QoS policy to set priorities, rate limits, and quintuple rules for different messages.\n\nFor information about Sag Qos Policy and how to use it, see [What is Qos Policy](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqospolicy).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst example = new time.index.Static(\"example\", {});\nconst defaultQosPolicy = new alicloud.sag.QosPolicy(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n ipProtocol: \"ALL\",\n sourceCidr: \"192.168.0.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"10.10.0.0/24\",\n destPortRange: \"-1/-1\",\n startTime: std.replace({\n text: example.rfc3339,\n search: \"Z\",\n replace: \"+0800\",\n }).then(invoke =\u003e invoke.result),\n endTime: std.timeadd({\n duration: example.rfc3339,\n timestamp: \"24h\",\n }).then(invoke =\u003e std.replace({\n text: invoke.result,\n search: \"Z\",\n replace: \"+0800\",\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\nexample = time.index.Static(\"example\")\ndefault_qos_policy = alicloud.sag.QosPolicy(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n ip_protocol=\"ALL\",\n source_cidr=\"192.168.0.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"10.10.0.0/24\",\n dest_port_range=\"-1/-1\",\n start_time=std.replace(text=example[\"rfc3339\"],\n search=\"Z\",\n replace=\"+0800\").result,\n end_time=std.replace(text=std.timeadd(duration=example[\"rfc3339\"],\n timestamp=\"24h\").result,\n search=\"Z\",\n replace=\"+0800\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var example = new Time.Index.Static(\"example\");\n\n var defaultQosPolicy = new AliCloud.Sag.QosPolicy(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n IpProtocol = \"ALL\",\n SourceCidr = \"192.168.0.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"10.10.0.0/24\",\n DestPortRange = \"-1/-1\",\n StartTime = Std.Replace.Invoke(new()\n {\n Text = example.Rfc3339,\n Search = \"Z\",\n Replace = \"+0800\",\n }).Apply(invoke =\u003e invoke.Result),\n EndTime = Std.Timeadd.Invoke(new()\n {\n Duration = example.Rfc3339,\n Timestamp = \"24h\",\n }).Apply(invoke =\u003e Std.Replace.Invoke(new()\n {\n Text = invoke.Result,\n Search = \"Z\",\n Replace = \"+0800\",\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: example.Rfc3339,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace1, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: std.Timeadd(ctx, \u0026std.TimeaddArgs{\n\t\t\t\tDuration: example.Rfc3339,\n\t\t\t\tTimestamp: \"24h\",\n\t\t\t}, nil).Result,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosPolicy(ctx, \"default\", \u0026sag.QosPolicyArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tSourceCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"10.10.0.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tStartTime: pulumi.String(invokeReplace.Result),\n\t\t\tEndTime: pulumi.String(invokeReplace1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.time.Static;\nimport com.pulumi.alicloud.sag.QosPolicy;\nimport com.pulumi.alicloud.sag.QosPolicyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.TimeaddArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var example = new Static(\"example\");\n\n var defaultQosPolicy = new QosPolicy(\"defaultQosPolicy\", QosPolicyArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .ipProtocol(\"ALL\")\n .sourceCidr(\"192.168.0.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"10.10.0.0/24\")\n .destPortRange(\"-1/-1\")\n .startTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(example.rfc3339())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .endTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(StdFunctions.timeadd(TimeaddArgs.builder()\n .duration(example.rfc3339())\n .timestamp(\"24h\")\n .build()).result())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n example:\n type: time:Static\n defaultQosPolicy:\n type: alicloud:sag:QosPolicy\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n ipProtocol: ALL\n sourceCidr: 192.168.0.0/24\n sourcePortRange: -1/-1\n destCidr: 10.10.0.0/24\n destPortRange: -1/-1\n startTime:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.rfc3339}\n search: Z\n replace: '+0800'\n return: result\n endTime:\n fn::invoke:\n function: std:replace\n arguments:\n text:\n fn::invoke:\n function: std:timeadd\n arguments:\n duration: ${example.rfc3339}\n timestamp: 24h\n return: result\n search: Z\n replace: '+0800'\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qosPolicy:QosPolicy example qos-abc123456:qospy-abc123456\n```\n\n", + "description": "Provides a Sag qos policy resource. \nYou need to create a QoS policy to set priorities, rate limits, and quintuple rules for different messages.\n\nFor information about Sag Qos Policy and how to use it, see [What is Qos Policy](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqospolicy).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst example = new time.index.Static(\"example\", {});\nconst defaultQosPolicy = new alicloud.sag.QosPolicy(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n ipProtocol: \"ALL\",\n sourceCidr: \"192.168.0.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"10.10.0.0/24\",\n destPortRange: \"-1/-1\",\n startTime: std.replace({\n text: example.rfc3339,\n search: \"Z\",\n replace: \"+0800\",\n }).then(invoke =\u003e invoke.result),\n endTime: std.timeadd({\n duration: example.rfc3339,\n timestamp: \"24h\",\n }).then(invoke =\u003e std.replace({\n text: invoke.result,\n search: \"Z\",\n replace: \"+0800\",\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\nexample = time.index.Static(\"example\")\ndefault_qos_policy = alicloud.sag.QosPolicy(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n ip_protocol=\"ALL\",\n source_cidr=\"192.168.0.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"10.10.0.0/24\",\n dest_port_range=\"-1/-1\",\n start_time=std.replace(text=example[\"rfc3339\"],\n search=\"Z\",\n replace=\"+0800\").result,\n end_time=std.replace(text=std.timeadd(duration=example[\"rfc3339\"],\n timestamp=\"24h\").result,\n search=\"Z\",\n replace=\"+0800\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var example = new Time.Index.Static(\"example\");\n\n var defaultQosPolicy = new AliCloud.Sag.QosPolicy(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n IpProtocol = \"ALL\",\n SourceCidr = \"192.168.0.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"10.10.0.0/24\",\n DestPortRange = \"-1/-1\",\n StartTime = Std.Replace.Invoke(new()\n {\n Text = example.Rfc3339,\n Search = \"Z\",\n Replace = \"+0800\",\n }).Apply(invoke =\u003e invoke.Result),\n EndTime = Std.Timeadd.Invoke(new()\n {\n Duration = example.Rfc3339,\n Timestamp = \"24h\",\n }).Apply(invoke =\u003e Std.Replace.Invoke(new()\n {\n Text = invoke.Result,\n Search = \"Z\",\n Replace = \"+0800\",\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: example.Rfc3339,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace1, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: std.Timeadd(ctx, \u0026std.TimeaddArgs{\n\t\t\t\tDuration: example.Rfc3339,\n\t\t\t\tTimestamp: \"24h\",\n\t\t\t}, nil).Result,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosPolicy(ctx, \"default\", \u0026sag.QosPolicyArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tSourceCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"10.10.0.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tStartTime: pulumi.String(invokeReplace.Result),\n\t\t\tEndTime: pulumi.String(invokeReplace1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.time.Static;\nimport com.pulumi.alicloud.sag.QosPolicy;\nimport com.pulumi.alicloud.sag.QosPolicyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.TimeaddArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var example = new Static(\"example\");\n\n var defaultQosPolicy = new QosPolicy(\"defaultQosPolicy\", QosPolicyArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .ipProtocol(\"ALL\")\n .sourceCidr(\"192.168.0.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"10.10.0.0/24\")\n .destPortRange(\"-1/-1\")\n .startTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(example.rfc3339())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .endTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(StdFunctions.timeadd(TimeaddArgs.builder()\n .duration(example.rfc3339())\n .timestamp(\"24h\")\n .build()).result())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n example:\n type: time:Static\n defaultQosPolicy:\n type: alicloud:sag:QosPolicy\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n ipProtocol: ALL\n sourceCidr: 192.168.0.0/24\n sourcePortRange: -1/-1\n destCidr: 10.10.0.0/24\n destPortRange: -1/-1\n startTime:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.rfc3339}\n search: Z\n replace: '+0800'\n return: result\n endTime:\n fn::invoke:\n function: std:replace\n arguments:\n text:\n fn::invoke:\n function: std:timeadd\n arguments:\n duration: ${example.rfc3339}\n timestamp: 24h\n return: result\n search: Z\n replace: '+0800'\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/qosPolicy:QosPolicy example qos-abc123456:qospy-abc123456\n```\n\n", "properties": { "description": { "type": "string", @@ -243019,7 +248699,7 @@ } }, "alicloud:rocketmq/rocketMQTopic:RocketMQTopic": { - "description": "Provides a RocketMQ Topic resource. \n\nFor information about RocketMQ Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createtopic).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"createVpc\", {\n description: \"example\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst createVswitch = new alicloud.vpc.Switch(\"createVswitch\", {\n description: \"example\",\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst createInstance = new alicloud.rocketmq.RocketMQInstance(\"createInstance\", {\n productInfo: {\n msgProcessSpec: \"rmq.u2.10xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n ipWhitelists: [\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n seriesCode: \"ultimate\",\n networkInfo: {\n vpcInfo: {\n vpcId: createVpc.id,\n vswitches: [{\n vswitchId: createVswitch.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n});\nconst defaultRocketMQTopic = new alicloud.rocketmq.RocketMQTopic(\"default\", {\n remark: \"example\",\n instanceId: createInstance.id,\n messageType: \"NORMAL\",\n topicName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"createVpc\",\n description=\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ncreate_vswitch = alicloud.vpc.Switch(\"createVswitch\",\n description=\"example\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ncreate_instance = alicloud.rocketmq.RocketMQInstance(\"createInstance\",\n product_info={\n \"msg_process_spec\": \"rmq.u2.10xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n ip_whitelists=[\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n series_code=\"ultimate\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": create_vpc.id,\n \"vswitches\": [{\n \"vswitch_id\": create_vswitch.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n })\ndefault_rocket_mq_topic = alicloud.rocketmq.RocketMQTopic(\"default\",\n remark=\"example\",\n instance_id=create_instance.id,\n message_type=\"NORMAL\",\n topic_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"createVpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"createVswitch\", new()\n {\n Description = \"example\",\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var createInstance = new AliCloud.RocketMQ.RocketMQInstance(\"createInstance\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.u2.10xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n IpWhitelists = new[]\n {\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n },\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n SeriesCode = \"ultimate\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = createVpc.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = createVswitch.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n });\n\n var defaultRocketMQTopic = new AliCloud.RocketMQ.RocketMQTopic(\"default\", new()\n {\n Remark = \"example\",\n InstanceId = createInstance.Id,\n MessageType = \"NORMAL\",\n TopicName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"createVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"createVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := rocketmq.NewRocketMQInstance(ctx, \"createInstance\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.u2.10xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\tpulumi.String(\"10.10.0.0/16\"),\n\t\t\t\tpulumi.String(\"172.168.0.0/16\"),\n\t\t\t},\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tSeriesCode: pulumi.String(\"ultimate\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\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 = rocketmq.NewRocketMQTopic(ctx, \"default\", \u0026rocketmq.RocketMQTopicArgs{\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tMessageType: pulumi.String(\"NORMAL\"),\n\t\t\tTopicName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopic;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .description(\"example\")\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var createInstance = new RocketMQInstance(\"createInstance\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.u2.10xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .ipWhitelists( \n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .seriesCode(\"ultimate\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(createVpc.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(createVswitch.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .build());\n\n var defaultRocketMQTopic = new RocketMQTopic(\"defaultRocketMQTopic\", RocketMQTopicArgs.builder()\n .remark(\"example\")\n .instanceId(createInstance.id())\n .messageType(\"NORMAL\")\n .topicName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n createVswitch:\n type: alicloud:vpc:Switch\n properties:\n description: example\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n createInstance:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.u2.10xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n ipWhitelists:\n - 192.168.0.0/16\n - 10.10.0.0/16\n - 172.168.0.0/16\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n seriesCode: ultimate\n networkInfo:\n vpcInfo:\n vpcId: ${createVpc.id}\n vswitches:\n - vswitchId: ${createVswitch.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n defaultRocketMQTopic:\n type: alicloud:rocketmq:RocketMQTopic\n name: default\n properties:\n remark: example\n instanceId: ${createInstance.id}\n messageType: NORMAL\n topicName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRocketMQ Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/rocketMQTopic:RocketMQTopic example \u003cinstance_id\u003e:\u003ctopic_name\u003e\n```\n\n", + "description": "Provides a RocketMQ Topic resource. \n\nFor information about RocketMQ Topic and how to use it, see [What is Topic](https://www.alibabacloud.com/help/en/apsaramq-for-rocketmq/cloud-message-queue-rocketmq-5-x-series/developer-reference/api-rocketmq-2022-08-01-createtopic).\n\n\u003e **NOTE:** Available since v1.211.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst createVpc = new alicloud.vpc.Network(\"createVpc\", {\n description: \"example\",\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst createVswitch = new alicloud.vpc.Switch(\"createVswitch\", {\n description: \"example\",\n vpcId: createVpc.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: name,\n});\nconst createInstance = new alicloud.rocketmq.RocketMQInstance(\"createInstance\", {\n productInfo: {\n msgProcessSpec: \"rmq.u2.10xlarge\",\n sendReceiveRatio: 0.3,\n messageRetentionTime: 70,\n },\n serviceCode: \"rmq\",\n paymentType: \"PayAsYouGo\",\n instanceName: name,\n subSeriesCode: \"cluster_ha\",\n remark: \"example\",\n ipWhitelists: [\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software: {\n maintainTime: \"02:00-06:00\",\n },\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n seriesCode: \"ultimate\",\n networkInfo: {\n vpcInfo: {\n vpcId: createVpc.id,\n vswitches: [{\n vswitchId: createVswitch.id,\n }],\n },\n internetInfo: {\n internetSpec: \"enable\",\n flowOutType: \"payByBandwidth\",\n flowOutBandwidth: 30,\n },\n },\n});\nconst defaultRocketMQTopic = new alicloud.rocketmq.RocketMQTopic(\"default\", {\n remark: \"example\",\n instanceId: createInstance.id,\n messageType: \"NORMAL\",\n topicName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ncreate_vpc = alicloud.vpc.Network(\"createVpc\",\n description=\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ncreate_vswitch = alicloud.vpc.Switch(\"createVswitch\",\n description=\"example\",\n vpc_id=create_vpc.id,\n zone_id=default.zones[0].id,\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=name)\ncreate_instance = alicloud.rocketmq.RocketMQInstance(\"createInstance\",\n product_info={\n \"msg_process_spec\": \"rmq.u2.10xlarge\",\n \"send_receive_ratio\": 0.3,\n \"message_retention_time\": 70,\n },\n service_code=\"rmq\",\n payment_type=\"PayAsYouGo\",\n instance_name=name,\n sub_series_code=\"cluster_ha\",\n remark=\"example\",\n ip_whitelists=[\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n ],\n software={\n \"maintain_time\": \"02:00-06:00\",\n },\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n series_code=\"ultimate\",\n network_info={\n \"vpc_info\": {\n \"vpc_id\": create_vpc.id,\n \"vswitches\": [{\n \"vswitch_id\": create_vswitch.id,\n }],\n },\n \"internet_info\": {\n \"internet_spec\": \"enable\",\n \"flow_out_type\": \"payByBandwidth\",\n \"flow_out_bandwidth\": 30,\n },\n })\ndefault_rocket_mq_topic = alicloud.rocketmq.RocketMQTopic(\"default\",\n remark=\"example\",\n instance_id=create_instance.id,\n message_type=\"NORMAL\",\n topic_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var createVpc = new AliCloud.Vpc.Network(\"createVpc\", new()\n {\n Description = \"example\",\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var createVswitch = new AliCloud.Vpc.Switch(\"createVswitch\", new()\n {\n Description = \"example\",\n VpcId = createVpc.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = name,\n });\n\n var createInstance = new AliCloud.RocketMQ.RocketMQInstance(\"createInstance\", new()\n {\n ProductInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceProductInfoArgs\n {\n MsgProcessSpec = \"rmq.u2.10xlarge\",\n SendReceiveRatio = 0.3,\n MessageRetentionTime = 70,\n },\n ServiceCode = \"rmq\",\n PaymentType = \"PayAsYouGo\",\n InstanceName = name,\n SubSeriesCode = \"cluster_ha\",\n Remark = \"example\",\n IpWhitelists = new[]\n {\n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\",\n },\n Software = new AliCloud.RocketMQ.Inputs.RocketMQInstanceSoftwareArgs\n {\n MaintainTime = \"02:00-06:00\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n SeriesCode = \"ultimate\",\n NetworkInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoArgs\n {\n VpcInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoArgs\n {\n VpcId = createVpc.Id,\n Vswitches = new[]\n {\n new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs\n {\n VswitchId = createVswitch.Id,\n },\n },\n },\n InternetInfo = new AliCloud.RocketMQ.Inputs.RocketMQInstanceNetworkInfoInternetInfoArgs\n {\n InternetSpec = \"enable\",\n FlowOutType = \"payByBandwidth\",\n FlowOutBandwidth = 30,\n },\n },\n });\n\n var defaultRocketMQTopic = new AliCloud.RocketMQ.RocketMQTopic(\"default\", new()\n {\n Remark = \"example\",\n InstanceId = createInstance.Id,\n MessageType = \"NORMAL\",\n TopicName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVpc, err := vpc.NewNetwork(ctx, \"createVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateVswitch, err := vpc.NewSwitch(ctx, \"createVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tVpcId: createVpc.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcreateInstance, err := rocketmq.NewRocketMQInstance(ctx, \"createInstance\", \u0026rocketmq.RocketMQInstanceArgs{\n\t\t\tProductInfo: \u0026rocketmq.RocketMQInstanceProductInfoArgs{\n\t\t\t\tMsgProcessSpec: pulumi.String(\"rmq.u2.10xlarge\"),\n\t\t\t\tSendReceiveRatio: pulumi.Float64(0.3),\n\t\t\t\tMessageRetentionTime: pulumi.Int(70),\n\t\t\t},\n\t\t\tServiceCode: pulumi.String(\"rmq\"),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tSubSeriesCode: pulumi.String(\"cluster_ha\"),\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tIpWhitelists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t\tpulumi.String(\"10.10.0.0/16\"),\n\t\t\t\tpulumi.String(\"172.168.0.0/16\"),\n\t\t\t},\n\t\t\tSoftware: \u0026rocketmq.RocketMQInstanceSoftwareArgs{\n\t\t\t\tMaintainTime: pulumi.String(\"02:00-06:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tSeriesCode: pulumi.String(\"ultimate\"),\n\t\t\tNetworkInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoArgs{\n\t\t\t\tVpcInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoArgs{\n\t\t\t\t\tVpcId: createVpc.ID(),\n\t\t\t\t\tVswitches: rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArray{\n\t\t\t\t\t\t\u0026rocketmq.RocketMQInstanceNetworkInfoVpcInfoVswitchArgs{\n\t\t\t\t\t\t\tVswitchId: createVswitch.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetInfo: \u0026rocketmq.RocketMQInstanceNetworkInfoInternetInfoArgs{\n\t\t\t\t\tInternetSpec: pulumi.String(\"enable\"),\n\t\t\t\t\tFlowOutType: pulumi.String(\"payByBandwidth\"),\n\t\t\t\t\tFlowOutBandwidth: pulumi.Int(30),\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 = rocketmq.NewRocketMQTopic(ctx, \"default\", \u0026rocketmq.RocketMQTopicArgs{\n\t\t\tRemark: pulumi.String(\"example\"),\n\t\t\tInstanceId: createInstance.ID(),\n\t\t\tMessageType: pulumi.String(\"NORMAL\"),\n\t\t\tTopicName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstance;\nimport com.pulumi.alicloud.rocketmq.RocketMQInstanceArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceProductInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceSoftwareArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoVpcInfoArgs;\nimport com.pulumi.alicloud.rocketmq.inputs.RocketMQInstanceNetworkInfoInternetInfoArgs;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopic;\nimport com.pulumi.alicloud.rocketmq.RocketMQTopicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var createVpc = new Network(\"createVpc\", NetworkArgs.builder()\n .description(\"example\")\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var createVswitch = new Switch(\"createVswitch\", SwitchArgs.builder()\n .description(\"example\")\n .vpcId(createVpc.id())\n .zoneId(default_.zones()[0].id())\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(name)\n .build());\n\n var createInstance = new RocketMQInstance(\"createInstance\", RocketMQInstanceArgs.builder()\n .productInfo(RocketMQInstanceProductInfoArgs.builder()\n .msgProcessSpec(\"rmq.u2.10xlarge\")\n .sendReceiveRatio(0.3)\n .messageRetentionTime(70)\n .build())\n .serviceCode(\"rmq\")\n .paymentType(\"PayAsYouGo\")\n .instanceName(name)\n .subSeriesCode(\"cluster_ha\")\n .remark(\"example\")\n .ipWhitelists( \n \"192.168.0.0/16\",\n \"10.10.0.0/16\",\n \"172.168.0.0/16\")\n .software(RocketMQInstanceSoftwareArgs.builder()\n .maintainTime(\"02:00-06:00\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .seriesCode(\"ultimate\")\n .networkInfo(RocketMQInstanceNetworkInfoArgs.builder()\n .vpcInfo(RocketMQInstanceNetworkInfoVpcInfoArgs.builder()\n .vpcId(createVpc.id())\n .vswitches(RocketMQInstanceNetworkInfoVpcInfoVswitchArgs.builder()\n .vswitchId(createVswitch.id())\n .build())\n .build())\n .internetInfo(RocketMQInstanceNetworkInfoInternetInfoArgs.builder()\n .internetSpec(\"enable\")\n .flowOutType(\"payByBandwidth\")\n .flowOutBandwidth(30)\n .build())\n .build())\n .build());\n\n var defaultRocketMQTopic = new RocketMQTopic(\"defaultRocketMQTopic\", RocketMQTopicArgs.builder()\n .remark(\"example\")\n .instanceId(createInstance.id())\n .messageType(\"NORMAL\")\n .topicName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createVpc:\n type: alicloud:vpc:Network\n properties:\n description: example\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n createVswitch:\n type: alicloud:vpc:Switch\n properties:\n description: example\n vpcId: ${createVpc.id}\n zoneId: ${default.zones[0].id}\n cidrBlock: 172.16.0.0/24\n vswitchName: ${name}\n createInstance:\n type: alicloud:rocketmq:RocketMQInstance\n properties:\n productInfo:\n msgProcessSpec: rmq.u2.10xlarge\n sendReceiveRatio: '0.3'\n messageRetentionTime: '70'\n serviceCode: rmq\n paymentType: PayAsYouGo\n instanceName: ${name}\n subSeriesCode: cluster_ha\n remark: example\n ipWhitelists:\n - 192.168.0.0/16\n - 10.10.0.0/16\n - 172.168.0.0/16\n software:\n maintainTime: 02:00-06:00\n tags:\n Created: TF\n For: example\n seriesCode: ultimate\n networkInfo:\n vpcInfo:\n vpcId: ${createVpc.id}\n vswitches:\n - vswitchId: ${createVswitch.id}\n internetInfo:\n internetSpec: enable\n flowOutType: payByBandwidth\n flowOutBandwidth: '30'\n defaultRocketMQTopic:\n type: alicloud:rocketmq:RocketMQTopic\n name: default\n properties:\n remark: example\n instanceId: ${createInstance.id}\n messageType: NORMAL\n topicName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nRocketMQ Topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/rocketMQTopic:RocketMQTopic example \u003cinstance_id\u003e:\u003ctopic_name\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -243133,7 +248813,7 @@ } }, "alicloud:rocketmq/snatEntry:SnatEntry": { - "description": "Provides a Sag SnatEntry resource. This topic describes how to add a SNAT entry to enable the SNAT function. The SNAT function can hide internal IP addresses and resolve private IP address conflicts. With this function, on-premises sites can access internal IP addresses, but cannot be accessed by internal IP addresses. If you do not add a SNAT entry, on-premises sites can access each other only when all related IP addresses do not conflict.\n\nFor information about Sag SnatEntry and how to use it, see [What is Sag SnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addsnatentry).\n\n\u003e **NOTE:** Available since v1.61.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifk***\";\nconst _default = new alicloud.sag.SnatEntry(\"default\", {\n sagId: sagId,\n cidrBlock: \"192.168.7.0/24\",\n snatIp: \"192.0.0.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifk***\"\ndefault = alicloud.sag.SnatEntry(\"default\",\n sag_id=sag_id,\n cidr_block=\"192.168.7.0/24\",\n snat_ip=\"192.0.0.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifk***\";\n var @default = new AliCloud.Sag.SnatEntry(\"default\", new()\n {\n SagId = sagId,\n CidrBlock = \"192.168.7.0/24\",\n SnatIp = \"192.0.0.2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifk***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewSnatEntry(ctx, \"default\", \u0026sag.SnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tCidrBlock: pulumi.String(\"192.168.7.0/24\"),\n\t\t\tSnatIp: pulumi.String(\"192.0.0.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.alicloud.sag.SnatEntry;\nimport com.pulumi.alicloud.sag.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifk***\");\n var default_ = new SnatEntry(\"default\", SnatEntryArgs.builder()\n .sagId(sagId)\n .cidrBlock(\"192.168.7.0/24\")\n .snatIp(\"192.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifk***\nresources:\n default:\n type: alicloud:sag:SnatEntry\n properties:\n sagId: ${sagId}\n cidrBlock: 192.168.7.0/24\n snatIp: 192.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag SnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/snatEntry:SnatEntry example sag-abc123456:snat-abc123456\n```\n\n", + "description": "Provides a Sag SnatEntry resource. This topic describes how to add a SNAT entry to enable the SNAT function. The SNAT function can hide internal IP addresses and resolve private IP address conflicts. With this function, on-premises sites can access internal IP addresses, but cannot be accessed by internal IP addresses. If you do not add a SNAT entry, on-premises sites can access each other only when all related IP addresses do not conflict.\n\nFor information about Sag SnatEntry and how to use it, see [What is Sag SnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addsnatentry).\n\n\u003e **NOTE:** Available since v1.61.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifk***\";\nconst _default = new alicloud.sag.SnatEntry(\"default\", {\n sagId: sagId,\n cidrBlock: \"192.168.7.0/24\",\n snatIp: \"192.0.0.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifk***\"\ndefault = alicloud.sag.SnatEntry(\"default\",\n sag_id=sag_id,\n cidr_block=\"192.168.7.0/24\",\n snat_ip=\"192.0.0.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifk***\";\n var @default = new AliCloud.Sag.SnatEntry(\"default\", new()\n {\n SagId = sagId,\n CidrBlock = \"192.168.7.0/24\",\n SnatIp = \"192.0.0.2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifk***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewSnatEntry(ctx, \"default\", \u0026sag.SnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tCidrBlock: pulumi.String(\"192.168.7.0/24\"),\n\t\t\tSnatIp: pulumi.String(\"192.0.0.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.alicloud.sag.SnatEntry;\nimport com.pulumi.alicloud.sag.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifk***\");\n var default_ = new SnatEntry(\"default\", SnatEntryArgs.builder()\n .sagId(sagId)\n .cidrBlock(\"192.168.7.0/24\")\n .snatIp(\"192.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifk***\nresources:\n default:\n type: alicloud:sag:SnatEntry\n properties:\n sagId: ${sagId}\n cidrBlock: 192.168.7.0/24\n snatIp: 192.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag SnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/snatEntry:SnatEntry example sag-abc123456:snat-abc123456\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -243199,7 +248879,7 @@ "deprecationMessage": "alicloud.rocketmq/snatentry.SnatEntry has been deprecated in favor of alicloud.sag/snatentry.SnatEntry" }, "alicloud:rocketmq/topic:Topic": { - "description": "Provides an ONS topic resource.\n\nFor more information about how to use it, see [RocketMQ Topic Management API](https://www.alibabacloud.com/help/doc-detail/29591.html). \n\n\u003e **NOTE:** Available in 1.53.0+\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"onsInstanceName\";\nconst topic = config.get(\"topic\") || \"onsTopicName\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {\n instanceName: `${name}-${_default.result}`,\n remark: \"default_ons_instance_remark\",\n});\nconst defaultTopic = new alicloud.rocketmq.Topic(\"default\", {\n topicName: topic,\n instanceId: defaultInstance.id,\n messageType: 0,\n remark: \"dafault_ons_topic_remark\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"onsInstanceName\"\ntopic = config.get(\"topic\")\nif topic is None:\n topic = \"onsTopicName\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.rocketmq.Instance(\"default\",\n instance_name=f\"{name}-{default['result']}\",\n remark=\"default_ons_instance_remark\")\ndefault_topic = alicloud.rocketmq.Topic(\"default\",\n topic_name=topic,\n instance_id=default_instance.id,\n message_type=0,\n remark=\"dafault_ons_topic_remark\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"onsInstanceName\";\n var topic = config.Get(\"topic\") ?? \"onsTopicName\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n Remark = \"default_ons_instance_remark\",\n });\n\n var defaultTopic = new AliCloud.RocketMQ.Topic(\"default\", new()\n {\n TopicName = topic,\n InstanceId = defaultInstance.Id,\n MessageType = 0,\n Remark = \"dafault_ons_topic_remark\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"onsInstanceName\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttopic := \"onsTopicName\"\n\t\tif param := cfg.Get(\"topic\"); param != \"\" {\n\t\t\ttopic = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRemark: pulumi.String(\"default_ons_instance_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewTopic(ctx, \"default\", \u0026rocketmq.TopicArgs{\n\t\t\tTopicName: pulumi.String(topic),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMessageType: pulumi.Int(0),\n\t\t\tRemark: pulumi.String(\"dafault_ons_topic_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.InstanceArgs;\nimport com.pulumi.alicloud.rocketmq.Topic;\nimport com.pulumi.alicloud.rocketmq.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"onsInstanceName\");\n final var topic = config.get(\"topic\").orElse(\"onsTopicName\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .remark(\"default_ons_instance_remark\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .topicName(topic)\n .instanceId(defaultInstance.id())\n .messageType(0)\n .remark(\"dafault_ons_topic_remark\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: onsInstanceName\n topic:\n type: string\n default: onsTopicName\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n remark: default_ons_instance_remark\n defaultTopic:\n type: alicloud:rocketmq:Topic\n name: default\n properties:\n topicName: ${topic}\n instanceId: ${defaultInstance.id}\n messageType: 0\n remark: dafault_ons_topic_remark\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nONS TOPIC can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/topic:Topic topic MQ_INST_1234567890_Baso1234567:onsTopicDemo\n```\n\n", + "description": "Provides an ONS topic resource.\n\nFor more information about how to use it, see [RocketMQ Topic Management API](https://www.alibabacloud.com/help/doc-detail/29591.html). \n\n\u003e **NOTE:** Available in 1.53.0+\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"onsInstanceName\";\nconst topic = config.get(\"topic\") || \"onsTopicName\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultInstance = new alicloud.rocketmq.Instance(\"default\", {\n instanceName: `${name}-${_default.result}`,\n remark: \"default_ons_instance_remark\",\n});\nconst defaultTopic = new alicloud.rocketmq.Topic(\"default\", {\n topicName: topic,\n instanceId: defaultInstance.id,\n messageType: 0,\n remark: \"dafault_ons_topic_remark\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"onsInstanceName\"\ntopic = config.get(\"topic\")\nif topic is None:\n topic = \"onsTopicName\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_instance = alicloud.rocketmq.Instance(\"default\",\n instance_name=f\"{name}-{default['result']}\",\n remark=\"default_ons_instance_remark\")\ndefault_topic = alicloud.rocketmq.Topic(\"default\",\n topic_name=topic,\n instance_id=default_instance.id,\n message_type=0,\n remark=\"dafault_ons_topic_remark\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"onsInstanceName\";\n var topic = config.Get(\"topic\") ?? \"onsTopicName\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultInstance = new AliCloud.RocketMQ.Instance(\"default\", new()\n {\n InstanceName = $\"{name}-{@default.Result}\",\n Remark = \"default_ons_instance_remark\",\n });\n\n var defaultTopic = new AliCloud.RocketMQ.Topic(\"default\", new()\n {\n TopicName = topic,\n InstanceId = defaultInstance.Id,\n MessageType = 0,\n Remark = \"dafault_ons_topic_remark\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"onsInstanceName\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttopic := \"onsTopicName\"\n\t\tif param := cfg.Get(\"topic\"); param != \"\" {\n\t\t\ttopic = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rocketmq.NewInstance(ctx, \"default\", \u0026rocketmq.InstanceArgs{\n\t\t\tInstanceName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tRemark: pulumi.String(\"default_ons_instance_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rocketmq.NewTopic(ctx, \"default\", \u0026rocketmq.TopicArgs{\n\t\t\tTopicName: pulumi.String(topic),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tMessageType: pulumi.Int(0),\n\t\t\tRemark: pulumi.String(\"dafault_ons_topic_remark\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.rocketmq.Instance;\nimport com.pulumi.alicloud.rocketmq.InstanceArgs;\nimport com.pulumi.alicloud.rocketmq.Topic;\nimport com.pulumi.alicloud.rocketmq.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"onsInstanceName\");\n final var topic = config.get(\"topic\").orElse(\"onsTopicName\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(String.format(\"%s-%s\", name,default_.result()))\n .remark(\"default_ons_instance_remark\")\n .build());\n\n var defaultTopic = new Topic(\"defaultTopic\", TopicArgs.builder()\n .topicName(topic)\n .instanceId(defaultInstance.id())\n .messageType(0)\n .remark(\"dafault_ons_topic_remark\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: onsInstanceName\n topic:\n type: string\n default: onsTopicName\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:rocketmq:Instance\n name: default\n properties:\n instanceName: ${name}-${default.result}\n remark: default_ons_instance_remark\n defaultTopic:\n type: alicloud:rocketmq:Topic\n name: default\n properties:\n topicName: ${topic}\n instanceId: ${defaultInstance.id}\n messageType: 0\n remark: dafault_ons_topic_remark\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nONS TOPIC can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:rocketmq/topic:Topic topic MQ_INST_1234567890_Baso1234567:onsTopicDemo\n```\n\n", "properties": { "instanceId": { "type": "string", @@ -243347,7 +249027,7 @@ } }, "alicloud:ros/changeSet:ChangeSet": { - "description": "Provides a ROS Change Set resource.\n\nFor information about ROS Change Set and how to use it, see [What is Change Set](https://www.alibabacloud.com/help/doc-detail/131051.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.ros.ChangeSet(\"example\", {\n changeSetName: \"example_value\",\n stackName: `tf-example-${_default.result}`,\n changeSetType: \"CREATE\",\n description: \"Test From Terraform\",\n templateBody: \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.ros.ChangeSet(\"example\",\n change_set_name=\"example_value\",\n stack_name=f\"tf-example-{default['result']}\",\n change_set_type=\"CREATE\",\n description=\"Test From Terraform\",\n template_body=\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Ros.ChangeSet(\"example\", new()\n {\n ChangeSetName = \"example_value\",\n StackName = $\"tf-example-{@default.Result}\",\n ChangeSetType = \"CREATE\",\n Description = \"Test From Terraform\",\n TemplateBody = \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ros.NewChangeSet(ctx, \"example\", \u0026ros.ChangeSetArgs{\n\t\t\tChangeSetName: pulumi.String(\"example_value\"),\n\t\t\tStackName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tChangeSetType: pulumi.String(\"CREATE\"),\n\t\t\tDescription: pulumi.String(\"Test From Terraform\"),\n\t\t\tTemplateBody: pulumi.String(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ros.ChangeSet;\nimport com.pulumi.alicloud.ros.ChangeSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new ChangeSet(\"example\", ChangeSetArgs.builder()\n .changeSetName(\"example_value\")\n .stackName(String.format(\"tf-example-%s\", default_.result()))\n .changeSetType(\"CREATE\")\n .description(\"Test From Terraform\")\n .templateBody(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:ros:ChangeSet\n properties:\n changeSetName: example_value\n stackName: tf-example-${default.result}\n changeSetType: CREATE\n description: Test From Terraform\n templateBody: '{\"ROSTemplateFormatVersion\":\"2015-09-01\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Change Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/changeSet:ChangeSet example \u003cchange_set_id\u003e\n```\n\n", + "description": "Provides a ROS Change Set resource.\n\nFor information about ROS Change Set and how to use it, see [What is Change Set](https://www.alibabacloud.com/help/doc-detail/131051.htm).\n\n\u003e **NOTE:** Available since v1.105.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst example = new alicloud.ros.ChangeSet(\"example\", {\n changeSetName: \"example_value\",\n stackName: `tf-example-${_default.result}`,\n changeSetType: \"CREATE\",\n description: \"Test From Terraform\",\n templateBody: \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nexample = alicloud.ros.ChangeSet(\"example\",\n change_set_name=\"example_value\",\n stack_name=f\"tf-example-{default['result']}\",\n change_set_type=\"CREATE\",\n description=\"Test From Terraform\",\n template_body=\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var example = new AliCloud.Ros.ChangeSet(\"example\", new()\n {\n ChangeSetName = \"example_value\",\n StackName = $\"tf-example-{@default.Result}\",\n ChangeSetType = \"CREATE\",\n Description = \"Test From Terraform\",\n TemplateBody = \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ros.NewChangeSet(ctx, \"example\", \u0026ros.ChangeSetArgs{\n\t\t\tChangeSetName: pulumi.String(\"example_value\"),\n\t\t\tStackName: pulumi.Sprintf(\"tf-example-%v\", _default.Result),\n\t\t\tChangeSetType: pulumi.String(\"CREATE\"),\n\t\t\tDescription: pulumi.String(\"Test From Terraform\"),\n\t\t\tTemplateBody: pulumi.String(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.ros.ChangeSet;\nimport com.pulumi.alicloud.ros.ChangeSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var example = new ChangeSet(\"example\", ChangeSetArgs.builder()\n .changeSetName(\"example_value\")\n .stackName(String.format(\"tf-example-%s\", default_.result()))\n .changeSetType(\"CREATE\")\n .description(\"Test From Terraform\")\n .templateBody(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\"}\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n example:\n type: alicloud:ros:ChangeSet\n properties:\n changeSetName: example_value\n stackName: tf-example-${default.result}\n changeSetType: CREATE\n description: Test From Terraform\n templateBody: '{\"ROSTemplateFormatVersion\":\"2015-09-01\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Change Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/changeSet:ChangeSet example \u003cchange_set_id\u003e\n```\n\n", "properties": { "changeSetName": { "type": "string", @@ -243648,7 +249328,7 @@ } }, "alicloud:ros/stack:Stack": { - "description": "Provides a ROS Stack resource.\n\nFor information about ROS Stack and how to use it, see [What is Stack](https://www.alibabacloud.com/help/en/doc-detail/132086.htm).\n\n\u003e **NOTE:** Available since v1.106.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.Stack(\"example\", {\n stackName: \"tf-testaccstack\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n stackPolicyBody: ` {\n \\\\t\\\\\"Statement\\\\\": [{\n \\\\t\\\\t\\\\\"Action\\\\\": \\\\\"Update:Delete\\\\\",\n \\\\t\\\\t\\\\\"Resource\\\\\": \\\\\"*\\\\\",\n \\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\t\\\\t\\\\\"Principal\\\\\": \\\\\"*\\\\\"\n \\\\t}]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.Stack(\"example\",\n stack_name=\"tf-testaccstack\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\",\n stack_policy_body=\"\"\" {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.Stack(\"example\", new()\n {\n StackName = \"tf-testaccstack\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n StackPolicyBody = @\" {\n \\t\\\"\"Statement\\\"\": [{\n \\t\\t\\\"\"Action\\\"\": \\\"\"Update:Delete\\\"\",\n \\t\\t\\\"\"Resource\\\"\": \\\"\"*\\\"\",\n \\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\t\\t\\\"\"Principal\\\"\": \\\"\"*\\\"\"\n \\t}]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewStack(ctx, \"example\", \u0026ros.StackArgs{\n\t\t\tStackName: pulumi.String(\"tf-testaccstack\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\n }\\n\"),\n\t\t\tStackPolicyBody: pulumi.String(` {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\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.alicloud.ros.Stack;\nimport com.pulumi.alicloud.ros.StackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Stack(\"example\", StackArgs.builder()\n .stackName(\"tf-testaccstack\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .stackPolicyBody(\"\"\"\n {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:Stack\n properties:\n stackName: tf-testaccstack\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n stackPolicyBody: |2\n {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Stack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stack:Stack example \u003cstack_id\u003e\n```\n\n", + "description": "Provides a ROS Stack resource.\n\nFor information about ROS Stack and how to use it, see [What is Stack](https://www.alibabacloud.com/help/en/doc-detail/132086.htm).\n\n\u003e **NOTE:** Available since v1.106.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.Stack(\"example\", {\n stackName: \"tf-testaccstack\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n stackPolicyBody: ` {\n \\\\t\\\\\"Statement\\\\\": [{\n \\\\t\\\\t\\\\\"Action\\\\\": \\\\\"Update:Delete\\\\\",\n \\\\t\\\\t\\\\\"Resource\\\\\": \\\\\"*\\\\\",\n \\\\t\\\\t\\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\t\\\\t\\\\\"Principal\\\\\": \\\\\"*\\\\\"\n \\\\t}]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.Stack(\"example\",\n stack_name=\"tf-testaccstack\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\",\n stack_policy_body=\"\"\" {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.Stack(\"example\", new()\n {\n StackName = \"tf-testaccstack\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n StackPolicyBody = @\" {\n \\t\\\"\"Statement\\\"\": [{\n \\t\\t\\\"\"Action\\\"\": \\\"\"Update:Delete\\\"\",\n \\t\\t\\\"\"Resource\\\"\": \\\"\"*\\\"\",\n \\t\\t\\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\t\\t\\\"\"Principal\\\"\": \\\"\"*\\\"\"\n \\t}]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewStack(ctx, \"example\", \u0026ros.StackArgs{\n\t\t\tStackName: pulumi.String(\"tf-testaccstack\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\n }\\n\"),\n\t\t\tStackPolicyBody: pulumi.String(` {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\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.alicloud.ros.Stack;\nimport com.pulumi.alicloud.ros.StackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Stack(\"example\", StackArgs.builder()\n .stackName(\"tf-testaccstack\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .stackPolicyBody(\"\"\"\n {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:Stack\n properties:\n stackName: tf-testaccstack\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n stackPolicyBody: |2\n {\n \\t\\\"Statement\\\": [{\n \\t\\t\\\"Action\\\": \\\"Update:Delete\\\",\n \\t\\t\\\"Resource\\\": \\\"*\\\",\n \\t\\t\\\"Effect\\\": \\\"Allow\\\",\n \\t\\t\\\"Principal\\\": \\\"*\\\"\n \\t}]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Stack can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stack:Stack example \u003cstack_id\u003e\n```\n\n", "properties": { "createOption": { "type": "string", @@ -243960,7 +249640,7 @@ } }, "alicloud:ros/stackGroup:StackGroup": { - "description": "Provides a ROS Stack Group resource.\n\nResource stack Group.\n\nFor information about ROS Stack Group and how to use it, see [What is Stack Group](https://www.alibabacloud.com/help/en/doc-detail/151333.htm).\n\n\u003e **NOTE:** Available since v1.107.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.StackGroup(\"example\", {\n stackGroupName: \"example_value\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.StackGroup(\"example\",\n stack_group_name=\"example_value\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.StackGroup(\"example\", new()\n {\n StackGroupName = \"example_value\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewStackGroup(ctx, \"example\", \u0026ros.StackGroupArgs{\n\t\t\tStackGroupName: pulumi.String(\"example_value\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\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.alicloud.ros.StackGroup;\nimport com.pulumi.alicloud.ros.StackGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 StackGroup(\"example\", StackGroupArgs.builder()\n .stackGroupName(\"example_value\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:StackGroup\n properties:\n stackGroupName: example_value\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Stack Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stackGroup:StackGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a ROS Stack Group resource.\n\nResource stack Group.\n\nFor information about ROS Stack Group and how to use it, see [What is Stack Group](https://www.alibabacloud.com/help/en/doc-detail/151333.htm).\n\n\u003e **NOTE:** Available since v1.107.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.StackGroup(\"example\", {\n stackGroupName: \"example_value\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.StackGroup(\"example\",\n stack_group_name=\"example_value\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.StackGroup(\"example\", new()\n {\n StackGroupName = \"example_value\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewStackGroup(ctx, \"example\", \u0026ros.StackGroupArgs{\n\t\t\tStackGroupName: pulumi.String(\"example_value\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\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.alicloud.ros.StackGroup;\nimport com.pulumi.alicloud.ros.StackGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 StackGroup(\"example\", StackGroupArgs.builder()\n .stackGroupName(\"example_value\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:StackGroup\n properties:\n stackGroupName: example_value\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Stack Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stackGroup:StackGroup example \u003cid\u003e\n```\n\n", "properties": { "administrationRoleName": { "type": "string", @@ -244199,7 +249879,7 @@ } }, "alicloud:ros/stackInstance:StackInstance": { - "description": "Provides a ROS Stack Instance resource.\n\nFor information about ROS Stack Instance and how to use it, see [What is Stack Instance](https://www.alibabacloud.com/help/en/doc-detail/151338.html).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _this = alicloud.getAccount({});\nconst _default = alicloud.ros.getRegions({});\nconst defaultStackGroup = new alicloud.ros.StackGroup(\"default\", {\n stackGroupName: name,\n templateBody: \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n description: \"test for stack groups\",\n parameters: [\n {\n parameterKey: \"VpcName\",\n parameterValue: \"VpcName\",\n },\n {\n parameterKey: \"InstanceType\",\n parameterValue: \"InstanceType\",\n },\n ],\n});\nconst example = new alicloud.ros.StackInstance(\"example\", {\n stackGroupName: defaultStackGroup.stackGroupName,\n stackInstanceAccountId: _this.then(_this =\u003e _this.id),\n stackInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.regionId),\n operationPreferences: \"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n timeoutInMinutes: \"60\",\n operationDescription: \"tf-example\",\n retainStacks: true,\n parameterOverrides: [{\n parameterValue: \"VpcName\",\n parameterKey: \"VpcName\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nthis = alicloud.get_account()\ndefault = alicloud.ros.get_regions()\ndefault_stack_group = alicloud.ros.StackGroup(\"default\",\n stack_group_name=name,\n template_body=\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n description=\"test for stack groups\",\n parameters=[\n {\n \"parameter_key\": \"VpcName\",\n \"parameter_value\": \"VpcName\",\n },\n {\n \"parameter_key\": \"InstanceType\",\n \"parameter_value\": \"InstanceType\",\n },\n ])\nexample = alicloud.ros.StackInstance(\"example\",\n stack_group_name=default_stack_group.stack_group_name,\n stack_instance_account_id=this.id,\n stack_instance_region_id=default.regions[0].region_id,\n operation_preferences=\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n timeout_in_minutes=\"60\",\n operation_description=\"tf-example\",\n retain_stacks=True,\n parameter_overrides=[{\n \"parameter_value\": \"VpcName\",\n \"parameter_key\": \"VpcName\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @this = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.Ros.GetRegions.Invoke();\n\n var defaultStackGroup = new AliCloud.Ros.StackGroup(\"default\", new()\n {\n StackGroupName = name,\n TemplateBody = \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n Description = \"test for stack groups\",\n Parameters = new[]\n {\n new AliCloud.Ros.Inputs.StackGroupParameterArgs\n {\n ParameterKey = \"VpcName\",\n ParameterValue = \"VpcName\",\n },\n new AliCloud.Ros.Inputs.StackGroupParameterArgs\n {\n ParameterKey = \"InstanceType\",\n ParameterValue = \"InstanceType\",\n },\n },\n });\n\n var example = new AliCloud.Ros.StackInstance(\"example\", new()\n {\n StackGroupName = defaultStackGroup.StackGroupName,\n StackInstanceAccountId = @this.Apply(@this =\u003e @this.Apply(getAccountResult =\u003e getAccountResult.Id)),\n StackInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.RegionId)),\n OperationPreferences = \"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n TimeoutInMinutes = \"60\",\n OperationDescription = \"tf-example\",\n RetainStacks = true,\n ParameterOverrides = new[]\n {\n new AliCloud.Ros.Inputs.StackInstanceParameterOverrideArgs\n {\n ParameterValue = \"VpcName\",\n ParameterKey = \"VpcName\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := ros.GetRegions(ctx, \u0026ros.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStackGroup, err := ros.NewStackGroup(ctx, \"default\", \u0026ros.StackGroupArgs{\n\t\t\tStackGroupName: pulumi.String(name),\n\t\t\tTemplateBody: pulumi.String(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\"),\n\t\t\tDescription: pulumi.String(\"test for stack groups\"),\n\t\t\tParameters: ros.StackGroupParameterArray{\n\t\t\t\t\u0026ros.StackGroupParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"VpcName\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"VpcName\"),\n\t\t\t\t},\n\t\t\t\t\u0026ros.StackGroupParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"InstanceType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"InstanceType\"),\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 = ros.NewStackInstance(ctx, \"example\", \u0026ros.StackInstanceArgs{\n\t\t\tStackGroupName: defaultStackGroup.StackGroupName,\n\t\t\tStackInstanceAccountId: pulumi.String(this.Id),\n\t\t\tStackInstanceRegionId: pulumi.String(_default.Regions[0].RegionId),\n\t\t\tOperationPreferences: pulumi.String(\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\"),\n\t\t\tTimeoutInMinutes: pulumi.String(\"60\"),\n\t\t\tOperationDescription: pulumi.String(\"tf-example\"),\n\t\t\tRetainStacks: pulumi.Bool(true),\n\t\t\tParameterOverrides: ros.StackInstanceParameterOverrideArray{\n\t\t\t\t\u0026ros.StackInstanceParameterOverrideArgs{\n\t\t\t\t\tParameterValue: pulumi.String(\"VpcName\"),\n\t\t\t\t\tParameterKey: pulumi.String(\"VpcName\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ros.RosFunctions;\nimport com.pulumi.alicloud.ros.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ros.StackGroup;\nimport com.pulumi.alicloud.ros.StackGroupArgs;\nimport com.pulumi.alicloud.ros.inputs.StackGroupParameterArgs;\nimport com.pulumi.alicloud.ros.StackInstance;\nimport com.pulumi.alicloud.ros.StackInstanceArgs;\nimport com.pulumi.alicloud.ros.inputs.StackInstanceParameterOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = RosFunctions.getRegions(GetRegionsArgs.builder()\n .build());\n\n var defaultStackGroup = new StackGroup(\"defaultStackGroup\", StackGroupArgs.builder()\n .stackGroupName(name)\n .templateBody(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\")\n .description(\"test for stack groups\")\n .parameters( \n StackGroupParameterArgs.builder()\n .parameterKey(\"VpcName\")\n .parameterValue(\"VpcName\")\n .build(),\n StackGroupParameterArgs.builder()\n .parameterKey(\"InstanceType\")\n .parameterValue(\"InstanceType\")\n .build())\n .build());\n\n var example = new StackInstance(\"example\", StackInstanceArgs.builder()\n .stackGroupName(defaultStackGroup.stackGroupName())\n .stackInstanceAccountId(this_.id())\n .stackInstanceRegionId(default_.regions()[0].regionId())\n .operationPreferences(\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\")\n .timeoutInMinutes(\"60\")\n .operationDescription(\"tf-example\")\n .retainStacks(true)\n .parameterOverrides(StackInstanceParameterOverrideArgs.builder()\n .parameterValue(\"VpcName\")\n .parameterKey(\"VpcName\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultStackGroup:\n type: alicloud:ros:StackGroup\n name: default\n properties:\n stackGroupName: ${name}\n templateBody: '{\"ROSTemplateFormatVersion\":\"2015-09-01\", \"Parameters\": {\"VpcName\": {\"Type\": \"String\"},\"InstanceType\": {\"Type\": \"String\"}}}'\n description: test for stack groups\n parameters:\n - parameterKey: VpcName\n parameterValue: VpcName\n - parameterKey: InstanceType\n parameterValue: InstanceType\n example:\n type: alicloud:ros:StackInstance\n properties:\n stackGroupName: ${defaultStackGroup.stackGroupName}\n stackInstanceAccountId: ${this.id}\n stackInstanceRegionId: ${default.regions[0].regionId}\n operationPreferences: '{\"FailureToleranceCount\": 1, \"MaxConcurrentCount\": 2}'\n timeoutInMinutes: '60'\n operationDescription: tf-example\n retainStacks: 'true'\n parameterOverrides:\n - parameterValue: VpcName\n parameterKey: VpcName\nvariables:\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ros:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Stack Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stackInstance:StackInstance example \u003cstack_group_name\u003e:\u003cstack_instance_account_id\u003e:\u003cstack_instance_region_id\u003e\n```\n\n", + "description": "Provides a ROS Stack Instance resource.\n\nFor information about ROS Stack Instance and how to use it, see [What is Stack Instance](https://www.alibabacloud.com/help/en/doc-detail/151338.html).\n\n\u003e **NOTE:** Available since v1.145.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _this = alicloud.getAccount({});\nconst _default = alicloud.ros.getRegions({});\nconst defaultStackGroup = new alicloud.ros.StackGroup(\"default\", {\n stackGroupName: name,\n templateBody: \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n description: \"test for stack groups\",\n parameters: [\n {\n parameterKey: \"VpcName\",\n parameterValue: \"VpcName\",\n },\n {\n parameterKey: \"InstanceType\",\n parameterValue: \"InstanceType\",\n },\n ],\n});\nconst example = new alicloud.ros.StackInstance(\"example\", {\n stackGroupName: defaultStackGroup.stackGroupName,\n stackInstanceAccountId: _this.then(_this =\u003e _this.id),\n stackInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.regionId),\n operationPreferences: \"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n timeoutInMinutes: \"60\",\n operationDescription: \"tf-example\",\n retainStacks: true,\n parameterOverrides: [{\n parameterValue: \"VpcName\",\n parameterKey: \"VpcName\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nthis = alicloud.get_account()\ndefault = alicloud.ros.get_regions()\ndefault_stack_group = alicloud.ros.StackGroup(\"default\",\n stack_group_name=name,\n template_body=\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n description=\"test for stack groups\",\n parameters=[\n {\n \"parameter_key\": \"VpcName\",\n \"parameter_value\": \"VpcName\",\n },\n {\n \"parameter_key\": \"InstanceType\",\n \"parameter_value\": \"InstanceType\",\n },\n ])\nexample = alicloud.ros.StackInstance(\"example\",\n stack_group_name=default_stack_group.stack_group_name,\n stack_instance_account_id=this.id,\n stack_instance_region_id=default.regions[0].region_id,\n operation_preferences=\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n timeout_in_minutes=\"60\",\n operation_description=\"tf-example\",\n retain_stacks=True,\n parameter_overrides=[{\n \"parameter_value\": \"VpcName\",\n \"parameter_key\": \"VpcName\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @this = AliCloud.GetAccount.Invoke();\n\n var @default = AliCloud.Ros.GetRegions.Invoke();\n\n var defaultStackGroup = new AliCloud.Ros.StackGroup(\"default\", new()\n {\n StackGroupName = name,\n TemplateBody = \"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\",\n Description = \"test for stack groups\",\n Parameters = new[]\n {\n new AliCloud.Ros.Inputs.StackGroupParameterArgs\n {\n ParameterKey = \"VpcName\",\n ParameterValue = \"VpcName\",\n },\n new AliCloud.Ros.Inputs.StackGroupParameterArgs\n {\n ParameterKey = \"InstanceType\",\n ParameterValue = \"InstanceType\",\n },\n },\n });\n\n var example = new AliCloud.Ros.StackInstance(\"example\", new()\n {\n StackGroupName = defaultStackGroup.StackGroupName,\n StackInstanceAccountId = @this.Apply(@this =\u003e @this.Apply(getAccountResult =\u003e getAccountResult.Id)),\n StackInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.RegionId)),\n OperationPreferences = \"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\",\n TimeoutInMinutes = \"60\",\n OperationDescription = \"tf-example\",\n RetainStacks = true,\n ParameterOverrides = new[]\n {\n new AliCloud.Ros.Inputs.StackInstanceParameterOverrideArgs\n {\n ParameterValue = \"VpcName\",\n ParameterKey = \"VpcName\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tthis, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := ros.GetRegions(ctx, \u0026ros.GetRegionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStackGroup, err := ros.NewStackGroup(ctx, \"default\", \u0026ros.StackGroupArgs{\n\t\t\tStackGroupName: pulumi.String(name),\n\t\t\tTemplateBody: pulumi.String(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\"),\n\t\t\tDescription: pulumi.String(\"test for stack groups\"),\n\t\t\tParameters: ros.StackGroupParameterArray{\n\t\t\t\t\u0026ros.StackGroupParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"VpcName\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"VpcName\"),\n\t\t\t\t},\n\t\t\t\t\u0026ros.StackGroupParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"InstanceType\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"InstanceType\"),\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 = ros.NewStackInstance(ctx, \"example\", \u0026ros.StackInstanceArgs{\n\t\t\tStackGroupName: defaultStackGroup.StackGroupName,\n\t\t\tStackInstanceAccountId: pulumi.String(this.Id),\n\t\t\tStackInstanceRegionId: pulumi.String(_default.Regions[0].RegionId),\n\t\t\tOperationPreferences: pulumi.String(\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\"),\n\t\t\tTimeoutInMinutes: pulumi.String(\"60\"),\n\t\t\tOperationDescription: pulumi.String(\"tf-example\"),\n\t\t\tRetainStacks: pulumi.Bool(true),\n\t\t\tParameterOverrides: ros.StackInstanceParameterOverrideArray{\n\t\t\t\t\u0026ros.StackInstanceParameterOverrideArgs{\n\t\t\t\t\tParameterValue: pulumi.String(\"VpcName\"),\n\t\t\t\t\tParameterKey: pulumi.String(\"VpcName\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.ros.RosFunctions;\nimport com.pulumi.alicloud.ros.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.ros.StackGroup;\nimport com.pulumi.alicloud.ros.StackGroupArgs;\nimport com.pulumi.alicloud.ros.inputs.StackGroupParameterArgs;\nimport com.pulumi.alicloud.ros.StackInstance;\nimport com.pulumi.alicloud.ros.StackInstanceArgs;\nimport com.pulumi.alicloud.ros.inputs.StackInstanceParameterOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var this = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var default = RosFunctions.getRegions(GetRegionsArgs.builder()\n .build());\n\n var defaultStackGroup = new StackGroup(\"defaultStackGroup\", StackGroupArgs.builder()\n .stackGroupName(name)\n .templateBody(\"{\\\"ROSTemplateFormatVersion\\\":\\\"2015-09-01\\\", \\\"Parameters\\\": {\\\"VpcName\\\": {\\\"Type\\\": \\\"String\\\"},\\\"InstanceType\\\": {\\\"Type\\\": \\\"String\\\"}}}\")\n .description(\"test for stack groups\")\n .parameters( \n StackGroupParameterArgs.builder()\n .parameterKey(\"VpcName\")\n .parameterValue(\"VpcName\")\n .build(),\n StackGroupParameterArgs.builder()\n .parameterKey(\"InstanceType\")\n .parameterValue(\"InstanceType\")\n .build())\n .build());\n\n var example = new StackInstance(\"example\", StackInstanceArgs.builder()\n .stackGroupName(defaultStackGroup.stackGroupName())\n .stackInstanceAccountId(this_.id())\n .stackInstanceRegionId(default_.regions()[0].regionId())\n .operationPreferences(\"{\\\"FailureToleranceCount\\\": 1, \\\"MaxConcurrentCount\\\": 2}\")\n .timeoutInMinutes(\"60\")\n .operationDescription(\"tf-example\")\n .retainStacks(true)\n .parameterOverrides(StackInstanceParameterOverrideArgs.builder()\n .parameterValue(\"VpcName\")\n .parameterKey(\"VpcName\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultStackGroup:\n type: alicloud:ros:StackGroup\n name: default\n properties:\n stackGroupName: ${name}\n templateBody: '{\"ROSTemplateFormatVersion\":\"2015-09-01\", \"Parameters\": {\"VpcName\": {\"Type\": \"String\"},\"InstanceType\": {\"Type\": \"String\"}}}'\n description: test for stack groups\n parameters:\n - parameterKey: VpcName\n parameterValue: VpcName\n - parameterKey: InstanceType\n parameterValue: InstanceType\n example:\n type: alicloud:ros:StackInstance\n properties:\n stackGroupName: ${defaultStackGroup.stackGroupName}\n stackInstanceAccountId: ${this.id}\n stackInstanceRegionId: ${default.regions[0].regionId}\n operationPreferences: '{\"FailureToleranceCount\": 1, \"MaxConcurrentCount\": 2}'\n timeoutInMinutes: '60'\n operationDescription: tf-example\n retainStacks: 'true'\n parameterOverrides:\n - parameterValue: VpcName\n parameterKey: VpcName\nvariables:\n this:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:ros:getRegions\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Stack Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/stackInstance:StackInstance example \u003cstack_group_name\u003e:\u003cstack_instance_account_id\u003e:\u003cstack_instance_region_id\u003e\n```\n\n", "properties": { "operationDescription": { "type": "string", @@ -244345,7 +250025,7 @@ } }, "alicloud:ros/template:Template": { - "description": "Provides a ROS Template resource.\n\nFor information about ROS Template and how to use it, see [What is Template](https://www.alibabacloud.com/help/en/doc-detail/141851.htm).\n\n\u003e **NOTE:** Available in v1.108.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.Template(\"example\", {\n templateName: \"example_value\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.Template(\"example\",\n template_name=\"example_value\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.Template(\"example\", new()\n {\n TemplateName = \"example_value\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewTemplate(ctx, \"example\", \u0026ros.TemplateArgs{\n\t\t\tTemplateName: pulumi.String(\"example_value\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\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.alicloud.ros.Template;\nimport com.pulumi.alicloud.ros.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Template(\"example\", TemplateArgs.builder()\n .templateName(\"example_value\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:Template\n properties:\n templateName: example_value\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/template:Template example \u003ctemplate_id\u003e\n```\n\n", + "description": "Provides a ROS Template resource.\n\nFor information about ROS Template and how to use it, see [What is Template](https://www.alibabacloud.com/help/en/doc-detail/141851.htm).\n\n\u003e **NOTE:** Available in v1.108.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.ros.Template(\"example\", {\n templateName: \"example_value\",\n templateBody: ` {\n \\\\t\\\\\"ROSTemplateFormatVersion\\\\\": \\\\\"2015-09-01\\\\\"\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.ros.Template(\"example\",\n template_name=\"example_value\",\n template_body=\"\"\" {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Ros.Template(\"example\", new()\n {\n TemplateName = \"example_value\",\n TemplateBody = @\" {\n \\t\\\"\"ROSTemplateFormatVersion\\\"\": \\\"\"2015-09-01\\\"\"\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ros.NewTemplate(ctx, \"example\", \u0026ros.TemplateArgs{\n\t\t\tTemplateName: pulumi.String(\"example_value\"),\n\t\t\tTemplateBody: pulumi.String(\" {\\n \\\\t\\\\\\\"ROSTemplateFormatVersion\\\\\\\": \\\\\\\"2015-09-01\\\\\\\"\\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.alicloud.ros.Template;\nimport com.pulumi.alicloud.ros.TemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Template(\"example\", TemplateArgs.builder()\n .templateName(\"example_value\")\n .templateBody(\"\"\"\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:Template\n properties:\n templateName: example_value\n templateBody: |2\n {\n \\t\\\"ROSTemplateFormatVersion\\\": \\\"2015-09-01\\\"\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/template:Template example \u003ctemplate_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -244433,7 +250113,7 @@ } }, "alicloud:ros/templateScratch:TemplateScratch": { - "description": "Provides a ROS Template Scratch resource.\n\nFor information about ROS Template Scratch and how to use it, see [What is Template Scratch](https://www.alibabacloud.com/help/zh/doc-detail/352074.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.ros.TemplateScratch(\"example\", {\n description: \"tf_testacc\",\n templateScratchType: \"ResourceImport\",\n preferenceParameters: [{\n parameterKey: \"DeletionPolicy\",\n parameterValue: \"Retain\",\n }],\n sourceResourceGroup: {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n resourceTypeFilters: [\"ALIYUN::ECS::VPC\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.ros.TemplateScratch(\"example\",\n description=\"tf_testacc\",\n template_scratch_type=\"ResourceImport\",\n preference_parameters=[{\n \"parameter_key\": \"DeletionPolicy\",\n \"parameter_value\": \"Retain\",\n }],\n source_resource_group={\n \"resource_group_id\": default.ids[0],\n \"resource_type_filters\": [\"ALIYUN::ECS::VPC\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Ros.TemplateScratch(\"example\", new()\n {\n Description = \"tf_testacc\",\n TemplateScratchType = \"ResourceImport\",\n PreferenceParameters = new[]\n {\n new AliCloud.Ros.Inputs.TemplateScratchPreferenceParameterArgs\n {\n ParameterKey = \"DeletionPolicy\",\n ParameterValue = \"Retain\",\n },\n },\n SourceResourceGroup = new AliCloud.Ros.Inputs.TemplateScratchSourceResourceGroupArgs\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceTypeFilters = new[]\n {\n \"ALIYUN::ECS::VPC\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ros.NewTemplateScratch(ctx, \"example\", \u0026ros.TemplateScratchArgs{\n\t\t\tDescription: pulumi.String(\"tf_testacc\"),\n\t\t\tTemplateScratchType: pulumi.String(\"ResourceImport\"),\n\t\t\tPreferenceParameters: ros.TemplateScratchPreferenceParameterArray{\n\t\t\t\t\u0026ros.TemplateScratchPreferenceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"DeletionPolicy\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Retain\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceResourceGroup: \u0026ros.TemplateScratchSourceResourceGroupArgs{\n\t\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\t\tResourceTypeFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ALIYUN::ECS::VPC\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ros.TemplateScratch;\nimport com.pulumi.alicloud.ros.TemplateScratchArgs;\nimport com.pulumi.alicloud.ros.inputs.TemplateScratchPreferenceParameterArgs;\nimport com.pulumi.alicloud.ros.inputs.TemplateScratchSourceResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new TemplateScratch(\"example\", TemplateScratchArgs.builder()\n .description(\"tf_testacc\")\n .templateScratchType(\"ResourceImport\")\n .preferenceParameters(TemplateScratchPreferenceParameterArgs.builder()\n .parameterKey(\"DeletionPolicy\")\n .parameterValue(\"Retain\")\n .build())\n .sourceResourceGroup(TemplateScratchSourceResourceGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .resourceTypeFilters(\"ALIYUN::ECS::VPC\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:TemplateScratch\n properties:\n description: tf_testacc\n templateScratchType: ResourceImport\n preferenceParameters:\n - parameterKey: DeletionPolicy\n parameterValue: Retain\n sourceResourceGroup:\n resourceGroupId: ${default.ids[0]}\n resourceTypeFilters:\n - ALIYUN::ECS::VPC\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nROS Template Scratch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/templateScratch:TemplateScratch example \u003cid\u003e\n```\n\n", + "description": "Provides a ROS Template Scratch resource.\n\nFor information about ROS Template Scratch and how to use it, see [What is Template Scratch](https://www.alibabacloud.com/help/zh/doc-detail/352074.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst example = new alicloud.ros.TemplateScratch(\"example\", {\n description: \"tf_testacc\",\n templateScratchType: \"ResourceImport\",\n preferenceParameters: [{\n parameterKey: \"DeletionPolicy\",\n parameterValue: \"Retain\",\n }],\n sourceResourceGroup: {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n resourceTypeFilters: [\"ALIYUN::ECS::VPC\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.resourcemanager.get_resource_groups()\nexample = alicloud.ros.TemplateScratch(\"example\",\n description=\"tf_testacc\",\n template_scratch_type=\"ResourceImport\",\n preference_parameters=[{\n \"parameter_key\": \"DeletionPolicy\",\n \"parameter_value\": \"Retain\",\n }],\n source_resource_group={\n \"resource_group_id\": default.ids[0],\n \"resource_type_filters\": [\"ALIYUN::ECS::VPC\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var example = new AliCloud.Ros.TemplateScratch(\"example\", new()\n {\n Description = \"tf_testacc\",\n TemplateScratchType = \"ResourceImport\",\n PreferenceParameters = new[]\n {\n new AliCloud.Ros.Inputs.TemplateScratchPreferenceParameterArgs\n {\n ParameterKey = \"DeletionPolicy\",\n ParameterValue = \"Retain\",\n },\n },\n SourceResourceGroup = new AliCloud.Ros.Inputs.TemplateScratchSourceResourceGroupArgs\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceTypeFilters = new[]\n {\n \"ALIYUN::ECS::VPC\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ros\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ros.NewTemplateScratch(ctx, \"example\", \u0026ros.TemplateScratchArgs{\n\t\t\tDescription: pulumi.String(\"tf_testacc\"),\n\t\t\tTemplateScratchType: pulumi.String(\"ResourceImport\"),\n\t\t\tPreferenceParameters: ros.TemplateScratchPreferenceParameterArray{\n\t\t\t\t\u0026ros.TemplateScratchPreferenceParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"DeletionPolicy\"),\n\t\t\t\t\tParameterValue: pulumi.String(\"Retain\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSourceResourceGroup: \u0026ros.TemplateScratchSourceResourceGroupArgs{\n\t\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\t\tResourceTypeFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ALIYUN::ECS::VPC\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.ros.TemplateScratch;\nimport com.pulumi.alicloud.ros.TemplateScratchArgs;\nimport com.pulumi.alicloud.ros.inputs.TemplateScratchPreferenceParameterArgs;\nimport com.pulumi.alicloud.ros.inputs.TemplateScratchSourceResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var example = new TemplateScratch(\"example\", TemplateScratchArgs.builder()\n .description(\"tf_testacc\")\n .templateScratchType(\"ResourceImport\")\n .preferenceParameters(TemplateScratchPreferenceParameterArgs.builder()\n .parameterKey(\"DeletionPolicy\")\n .parameterValue(\"Retain\")\n .build())\n .sourceResourceGroup(TemplateScratchSourceResourceGroupArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .resourceTypeFilters(\"ALIYUN::ECS::VPC\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:ros:TemplateScratch\n properties:\n description: tf_testacc\n templateScratchType: ResourceImport\n preferenceParameters:\n - parameterKey: DeletionPolicy\n parameterValue: Retain\n sourceResourceGroup:\n resourceGroupId: ${default.ids[0]}\n resourceTypeFilters:\n - ALIYUN::ECS::VPC\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nROS Template Scratch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:ros/templateScratch:TemplateScratch example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -244579,7 +250259,7 @@ } }, "alicloud:sae/application:Application": { - "description": "Provides a Serverless App Engine (SAE) Application resource.\n\nFor information about Serverless App Engine (SAE) Application and how to use it, see [What is Application](https://www.alibabacloud.com/help/en/sae/latest/createapplication).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/application:Application example \u003cid\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) Application resource.\n\nFor information about Serverless App Engine (SAE) Application and how to use it, see [What is Application](https://www.alibabacloud.com/help/en/sae/latest/createapplication).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) Application can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/application:Application example \u003cid\u003e\n```\n\n", "properties": { "acrAssumeRoleArn": { "type": "string", @@ -245565,7 +251245,7 @@ } }, "alicloud:sae/applicationScalingRule:ApplicationScalingRule": { - "description": "Provides a Serverless App Engine (SAE) Application Scaling Rule resource.\n\nFor information about Serverless App Engine (SAE) Application Scaling Rule and how to use it, see [What is Application Scaling Rule](https://next.api.aliyun.com/api/sae/2019-05-06/CreateApplicationScalingRule).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultApplicationScalingRule = new alicloud.sae.ApplicationScalingRule(\"default\", {\n appId: defaultApplication.id,\n scalingRuleName: name,\n scalingRuleEnable: true,\n scalingRuleType: \"mix\",\n minReadyInstances: 3,\n minReadyInstanceRatio: -1,\n scalingRuleTimer: {\n period: \"* * *\",\n schedules: [\n {\n atTime: \"08:00\",\n maxReplicas: 10,\n minReplicas: 3,\n },\n {\n atTime: \"20:00\",\n maxReplicas: 50,\n minReplicas: 3,\n },\n ],\n },\n scalingRuleMetric: {\n maxReplicas: 50,\n minReplicas: 3,\n metrics: [\n {\n metricType: \"CPU\",\n metricTargetAverageUtilization: 20,\n },\n {\n metricType: \"MEMORY\",\n metricTargetAverageUtilization: 30,\n },\n {\n metricType: \"tcpActiveConn\",\n metricTargetAverageUtilization: 20,\n },\n ],\n scaleUpRules: {\n step: 10,\n disabled: false,\n stabilizationWindowSeconds: 0,\n },\n scaleDownRules: {\n step: 10,\n disabled: false,\n stabilizationWindowSeconds: 10,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_application_scaling_rule = alicloud.sae.ApplicationScalingRule(\"default\",\n app_id=default_application.id,\n scaling_rule_name=name,\n scaling_rule_enable=True,\n scaling_rule_type=\"mix\",\n min_ready_instances=3,\n min_ready_instance_ratio=-1,\n scaling_rule_timer={\n \"period\": \"* * *\",\n \"schedules\": [\n {\n \"at_time\": \"08:00\",\n \"max_replicas\": 10,\n \"min_replicas\": 3,\n },\n {\n \"at_time\": \"20:00\",\n \"max_replicas\": 50,\n \"min_replicas\": 3,\n },\n ],\n },\n scaling_rule_metric={\n \"max_replicas\": 50,\n \"min_replicas\": 3,\n \"metrics\": [\n {\n \"metric_type\": \"CPU\",\n \"metric_target_average_utilization\": 20,\n },\n {\n \"metric_type\": \"MEMORY\",\n \"metric_target_average_utilization\": 30,\n },\n {\n \"metric_type\": \"tcpActiveConn\",\n \"metric_target_average_utilization\": 20,\n },\n ],\n \"scale_up_rules\": {\n \"step\": 10,\n \"disabled\": False,\n \"stabilization_window_seconds\": 0,\n },\n \"scale_down_rules\": {\n \"step\": 10,\n \"disabled\": False,\n \"stabilization_window_seconds\": 10,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultApplicationScalingRule = new AliCloud.Sae.ApplicationScalingRule(\"default\", new()\n {\n AppId = defaultApplication.Id,\n ScalingRuleName = name,\n ScalingRuleEnable = true,\n ScalingRuleType = \"mix\",\n MinReadyInstances = 3,\n MinReadyInstanceRatio = -1,\n ScalingRuleTimer = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerArgs\n {\n Period = \"* * *\",\n Schedules = new[]\n {\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs\n {\n AtTime = \"08:00\",\n MaxReplicas = 10,\n MinReplicas = 3,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs\n {\n AtTime = \"20:00\",\n MaxReplicas = 50,\n MinReplicas = 3,\n },\n },\n },\n ScalingRuleMetric = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricArgs\n {\n MaxReplicas = 50,\n MinReplicas = 3,\n Metrics = new[]\n {\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"CPU\",\n MetricTargetAverageUtilization = 20,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"MEMORY\",\n MetricTargetAverageUtilization = 30,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"tcpActiveConn\",\n MetricTargetAverageUtilization = 20,\n },\n },\n ScaleUpRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs\n {\n Step = 10,\n Disabled = false,\n StabilizationWindowSeconds = 0,\n },\n ScaleDownRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs\n {\n Step = 10,\n Disabled = false,\n StabilizationWindowSeconds = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewApplicationScalingRule(ctx, \"default\", \u0026sae.ApplicationScalingRuleArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tScalingRuleName: pulumi.String(name),\n\t\t\tScalingRuleEnable: pulumi.Bool(true),\n\t\t\tScalingRuleType: pulumi.String(\"mix\"),\n\t\t\tMinReadyInstances: pulumi.Int(3),\n\t\t\tMinReadyInstanceRatio: pulumi.Int(-1),\n\t\t\tScalingRuleTimer: \u0026sae.ApplicationScalingRuleScalingRuleTimerArgs{\n\t\t\t\tPeriod: pulumi.String(\"* * *\"),\n\t\t\t\tSchedules: sae.ApplicationScalingRuleScalingRuleTimerScheduleArray{\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{\n\t\t\t\t\t\tAtTime: pulumi.String(\"08:00\"),\n\t\t\t\t\t\tMaxReplicas: pulumi.Int(10),\n\t\t\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{\n\t\t\t\t\t\tAtTime: pulumi.String(\"20:00\"),\n\t\t\t\t\t\tMaxReplicas: pulumi.Int(50),\n\t\t\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScalingRuleMetric: \u0026sae.ApplicationScalingRuleScalingRuleMetricArgs{\n\t\t\t\tMaxReplicas: pulumi.Int(50),\n\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\tMetrics: sae.ApplicationScalingRuleScalingRuleMetricMetricArray{\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"CPU\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"MEMORY\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"tcpActiveConn\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tScaleUpRules: \u0026sae.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs{\n\t\t\t\t\tStep: pulumi.Int(10),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tStabilizationWindowSeconds: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\tScaleDownRules: \u0026sae.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs{\n\t\t\t\t\tStep: pulumi.Int(10),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tStabilizationWindowSeconds: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.sae.ApplicationScalingRule;\nimport com.pulumi.alicloud.sae.ApplicationScalingRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleTimerArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultApplicationScalingRule = new ApplicationScalingRule(\"defaultApplicationScalingRule\", ApplicationScalingRuleArgs.builder()\n .appId(defaultApplication.id())\n .scalingRuleName(name)\n .scalingRuleEnable(true)\n .scalingRuleType(\"mix\")\n .minReadyInstances(3)\n .minReadyInstanceRatio(-1)\n .scalingRuleTimer(ApplicationScalingRuleScalingRuleTimerArgs.builder()\n .period(\"* * *\")\n .schedules( \n ApplicationScalingRuleScalingRuleTimerScheduleArgs.builder()\n .atTime(\"08:00\")\n .maxReplicas(10)\n .minReplicas(3)\n .build(),\n ApplicationScalingRuleScalingRuleTimerScheduleArgs.builder()\n .atTime(\"20:00\")\n .maxReplicas(50)\n .minReplicas(3)\n .build())\n .build())\n .scalingRuleMetric(ApplicationScalingRuleScalingRuleMetricArgs.builder()\n .maxReplicas(50)\n .minReplicas(3)\n .metrics( \n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"CPU\")\n .metricTargetAverageUtilization(20)\n .build(),\n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"MEMORY\")\n .metricTargetAverageUtilization(30)\n .build(),\n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"tcpActiveConn\")\n .metricTargetAverageUtilization(20)\n .build())\n .scaleUpRules(ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs.builder()\n .step(10)\n .disabled(false)\n .stabilizationWindowSeconds(0)\n .build())\n .scaleDownRules(ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs.builder()\n .step(10)\n .disabled(false)\n .stabilizationWindowSeconds(10)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultApplicationScalingRule:\n type: alicloud:sae:ApplicationScalingRule\n name: default\n properties:\n appId: ${defaultApplication.id}\n scalingRuleName: ${name}\n scalingRuleEnable: true\n scalingRuleType: mix\n minReadyInstances: '3'\n minReadyInstanceRatio: '-1'\n scalingRuleTimer:\n period: '* * *'\n schedules:\n - atTime: 08:00\n maxReplicas: 10\n minReplicas: 3\n - atTime: 20:00\n maxReplicas: 50\n minReplicas: 3\n scalingRuleMetric:\n maxReplicas: 50\n minReplicas: 3\n metrics:\n - metricType: CPU\n metricTargetAverageUtilization: 20\n - metricType: MEMORY\n metricTargetAverageUtilization: 30\n - metricType: tcpActiveConn\n metricTargetAverageUtilization: 20\n scaleUpRules:\n step: 10\n disabled: false\n stabilizationWindowSeconds: 0\n scaleDownRules:\n step: 10\n disabled: false\n stabilizationWindowSeconds: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/applicationScalingRule:ApplicationScalingRule example \u003capp_id\u003e:\u003cscaling_rule_name\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) Application Scaling Rule resource.\n\nFor information about Serverless App Engine (SAE) Application Scaling Rule and how to use it, see [What is Application Scaling Rule](https://next.api.aliyun.com/api/sae/2019-05-06/CreateApplicationScalingRule).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultApplicationScalingRule = new alicloud.sae.ApplicationScalingRule(\"default\", {\n appId: defaultApplication.id,\n scalingRuleName: name,\n scalingRuleEnable: true,\n scalingRuleType: \"mix\",\n minReadyInstances: 3,\n minReadyInstanceRatio: -1,\n scalingRuleTimer: {\n period: \"* * *\",\n schedules: [\n {\n atTime: \"08:00\",\n maxReplicas: 10,\n minReplicas: 3,\n },\n {\n atTime: \"20:00\",\n maxReplicas: 50,\n minReplicas: 3,\n },\n ],\n },\n scalingRuleMetric: {\n maxReplicas: 50,\n minReplicas: 3,\n metrics: [\n {\n metricType: \"CPU\",\n metricTargetAverageUtilization: 20,\n },\n {\n metricType: \"MEMORY\",\n metricTargetAverageUtilization: 30,\n },\n {\n metricType: \"tcpActiveConn\",\n metricTargetAverageUtilization: 20,\n },\n ],\n scaleUpRules: {\n step: 10,\n disabled: false,\n stabilizationWindowSeconds: 0,\n },\n scaleDownRules: {\n step: 10,\n disabled: false,\n stabilizationWindowSeconds: 10,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_application_scaling_rule = alicloud.sae.ApplicationScalingRule(\"default\",\n app_id=default_application.id,\n scaling_rule_name=name,\n scaling_rule_enable=True,\n scaling_rule_type=\"mix\",\n min_ready_instances=3,\n min_ready_instance_ratio=-1,\n scaling_rule_timer={\n \"period\": \"* * *\",\n \"schedules\": [\n {\n \"at_time\": \"08:00\",\n \"max_replicas\": 10,\n \"min_replicas\": 3,\n },\n {\n \"at_time\": \"20:00\",\n \"max_replicas\": 50,\n \"min_replicas\": 3,\n },\n ],\n },\n scaling_rule_metric={\n \"max_replicas\": 50,\n \"min_replicas\": 3,\n \"metrics\": [\n {\n \"metric_type\": \"CPU\",\n \"metric_target_average_utilization\": 20,\n },\n {\n \"metric_type\": \"MEMORY\",\n \"metric_target_average_utilization\": 30,\n },\n {\n \"metric_type\": \"tcpActiveConn\",\n \"metric_target_average_utilization\": 20,\n },\n ],\n \"scale_up_rules\": {\n \"step\": 10,\n \"disabled\": False,\n \"stabilization_window_seconds\": 0,\n },\n \"scale_down_rules\": {\n \"step\": 10,\n \"disabled\": False,\n \"stabilization_window_seconds\": 10,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultApplicationScalingRule = new AliCloud.Sae.ApplicationScalingRule(\"default\", new()\n {\n AppId = defaultApplication.Id,\n ScalingRuleName = name,\n ScalingRuleEnable = true,\n ScalingRuleType = \"mix\",\n MinReadyInstances = 3,\n MinReadyInstanceRatio = -1,\n ScalingRuleTimer = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerArgs\n {\n Period = \"* * *\",\n Schedules = new[]\n {\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs\n {\n AtTime = \"08:00\",\n MaxReplicas = 10,\n MinReplicas = 3,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs\n {\n AtTime = \"20:00\",\n MaxReplicas = 50,\n MinReplicas = 3,\n },\n },\n },\n ScalingRuleMetric = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricArgs\n {\n MaxReplicas = 50,\n MinReplicas = 3,\n Metrics = new[]\n {\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"CPU\",\n MetricTargetAverageUtilization = 20,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"MEMORY\",\n MetricTargetAverageUtilization = 30,\n },\n new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs\n {\n MetricType = \"tcpActiveConn\",\n MetricTargetAverageUtilization = 20,\n },\n },\n ScaleUpRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs\n {\n Step = 10,\n Disabled = false,\n StabilizationWindowSeconds = 0,\n },\n ScaleDownRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs\n {\n Step = 10,\n Disabled = false,\n StabilizationWindowSeconds = 10,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewApplicationScalingRule(ctx, \"default\", \u0026sae.ApplicationScalingRuleArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tScalingRuleName: pulumi.String(name),\n\t\t\tScalingRuleEnable: pulumi.Bool(true),\n\t\t\tScalingRuleType: pulumi.String(\"mix\"),\n\t\t\tMinReadyInstances: pulumi.Int(3),\n\t\t\tMinReadyInstanceRatio: pulumi.Int(-1),\n\t\t\tScalingRuleTimer: \u0026sae.ApplicationScalingRuleScalingRuleTimerArgs{\n\t\t\t\tPeriod: pulumi.String(\"* * *\"),\n\t\t\t\tSchedules: sae.ApplicationScalingRuleScalingRuleTimerScheduleArray{\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{\n\t\t\t\t\t\tAtTime: pulumi.String(\"08:00\"),\n\t\t\t\t\t\tMaxReplicas: pulumi.Int(10),\n\t\t\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{\n\t\t\t\t\t\tAtTime: pulumi.String(\"20:00\"),\n\t\t\t\t\t\tMaxReplicas: pulumi.Int(50),\n\t\t\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tScalingRuleMetric: \u0026sae.ApplicationScalingRuleScalingRuleMetricArgs{\n\t\t\t\tMaxReplicas: pulumi.Int(50),\n\t\t\t\tMinReplicas: pulumi.Int(3),\n\t\t\t\tMetrics: sae.ApplicationScalingRuleScalingRuleMetricMetricArray{\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"CPU\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"MEMORY\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{\n\t\t\t\t\t\tMetricType: pulumi.String(\"tcpActiveConn\"),\n\t\t\t\t\t\tMetricTargetAverageUtilization: pulumi.Int(20),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tScaleUpRules: \u0026sae.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs{\n\t\t\t\t\tStep: pulumi.Int(10),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tStabilizationWindowSeconds: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\tScaleDownRules: \u0026sae.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs{\n\t\t\t\t\tStep: pulumi.Int(10),\n\t\t\t\t\tDisabled: pulumi.Bool(false),\n\t\t\t\t\tStabilizationWindowSeconds: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.sae.ApplicationScalingRule;\nimport com.pulumi.alicloud.sae.ApplicationScalingRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleTimerArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs;\nimport com.pulumi.alicloud.sae.inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultApplicationScalingRule = new ApplicationScalingRule(\"defaultApplicationScalingRule\", ApplicationScalingRuleArgs.builder()\n .appId(defaultApplication.id())\n .scalingRuleName(name)\n .scalingRuleEnable(true)\n .scalingRuleType(\"mix\")\n .minReadyInstances(3)\n .minReadyInstanceRatio(-1)\n .scalingRuleTimer(ApplicationScalingRuleScalingRuleTimerArgs.builder()\n .period(\"* * *\")\n .schedules( \n ApplicationScalingRuleScalingRuleTimerScheduleArgs.builder()\n .atTime(\"08:00\")\n .maxReplicas(10)\n .minReplicas(3)\n .build(),\n ApplicationScalingRuleScalingRuleTimerScheduleArgs.builder()\n .atTime(\"20:00\")\n .maxReplicas(50)\n .minReplicas(3)\n .build())\n .build())\n .scalingRuleMetric(ApplicationScalingRuleScalingRuleMetricArgs.builder()\n .maxReplicas(50)\n .minReplicas(3)\n .metrics( \n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"CPU\")\n .metricTargetAverageUtilization(20)\n .build(),\n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"MEMORY\")\n .metricTargetAverageUtilization(30)\n .build(),\n ApplicationScalingRuleScalingRuleMetricMetricArgs.builder()\n .metricType(\"tcpActiveConn\")\n .metricTargetAverageUtilization(20)\n .build())\n .scaleUpRules(ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs.builder()\n .step(10)\n .disabled(false)\n .stabilizationWindowSeconds(0)\n .build())\n .scaleDownRules(ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs.builder()\n .step(10)\n .disabled(false)\n .stabilizationWindowSeconds(10)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultApplicationScalingRule:\n type: alicloud:sae:ApplicationScalingRule\n name: default\n properties:\n appId: ${defaultApplication.id}\n scalingRuleName: ${name}\n scalingRuleEnable: true\n scalingRuleType: mix\n minReadyInstances: '3'\n minReadyInstanceRatio: '-1'\n scalingRuleTimer:\n period: '* * *'\n schedules:\n - atTime: 08:00\n maxReplicas: 10\n minReplicas: 3\n - atTime: 20:00\n maxReplicas: 50\n minReplicas: 3\n scalingRuleMetric:\n maxReplicas: 50\n minReplicas: 3\n metrics:\n - metricType: CPU\n metricTargetAverageUtilization: 20\n - metricType: MEMORY\n metricTargetAverageUtilization: 30\n - metricType: tcpActiveConn\n metricTargetAverageUtilization: 20\n scaleUpRules:\n step: 10\n disabled: false\n stabilizationWindowSeconds: 0\n scaleDownRules:\n step: 10\n disabled: false\n stabilizationWindowSeconds: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/applicationScalingRule:ApplicationScalingRule example \u003capp_id\u003e:\u003cscaling_rule_name\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -245691,7 +251371,7 @@ } }, "alicloud:sae/configMap:ConfigMap": { - "description": "Provides a Serverless App Engine (SAE) Config Map resource.\n\nFor information about Serverless App Engine (SAE) Config Map and how to use it, see [What is Config Map](https://www.alibabacloud.com/help/en/sae/latest/create-configmap).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultConfigMap = new alicloud.sae.ConfigMap(\"default\", {\n data: JSON.stringify({\n \"env.home\": \"/root\",\n \"env.shell\": \"/bin/sh\",\n }),\n name: name,\n namespaceId: defaultNamespace.namespaceId,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_config_map = alicloud.sae.ConfigMap(\"default\",\n data=json.dumps({\n \"env.home\": \"/root\",\n \"env.shell\": \"/bin/sh\",\n }),\n name=name,\n namespace_id=default_namespace.namespace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultConfigMap = new AliCloud.Sae.ConfigMap(\"default\", new()\n {\n Data = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"env.home\"] = \"/root\",\n [\"env.shell\"] = \"/bin/sh\",\n }),\n Name = name,\n NamespaceId = defaultNamespace.NamespaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\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\"env.home\": \"/root\",\n\t\t\t\"env.shell\": \"/bin/sh\",\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 = sae.NewConfigMap(ctx, \"default\", \u0026sae.ConfigMapArgs{\n\t\t\tData: pulumi.String(json0),\n\t\t\tName: pulumi.String(name),\n\t\t\tNamespaceId: defaultNamespace.NamespaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.ConfigMap;\nimport com.pulumi.alicloud.sae.ConfigMapArgs;\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultConfigMap = new ConfigMap(\"defaultConfigMap\", ConfigMapArgs.builder()\n .data(serializeJson(\n jsonObject(\n jsonProperty(\"env.home\", \"/root\"),\n jsonProperty(\"env.shell\", \"/bin/sh\")\n )))\n .name(name)\n .namespaceId(defaultNamespace.namespaceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultConfigMap:\n type: alicloud:sae:ConfigMap\n name: default\n properties:\n data:\n fn::toJSON:\n env.home: /root\n env.shell: /bin/sh\n name: ${name}\n namespaceId: ${defaultNamespace.namespaceId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) Config Map can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/configMap:ConfigMap example \u003cid\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) Config Map resource.\n\nFor information about Serverless App Engine (SAE) Config Map and how to use it, see [What is Config Map](https://www.alibabacloud.com/help/en/sae/latest/create-configmap).\n\n\u003e **NOTE:** Available since v1.130.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultConfigMap = new alicloud.sae.ConfigMap(\"default\", {\n data: JSON.stringify({\n \"env.home\": \"/root\",\n \"env.shell\": \"/bin/sh\",\n }),\n name: name,\n namespaceId: defaultNamespace.namespaceId,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_config_map = alicloud.sae.ConfigMap(\"default\",\n data=json.dumps({\n \"env.home\": \"/root\",\n \"env.shell\": \"/bin/sh\",\n }),\n name=name,\n namespace_id=default_namespace.namespace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultConfigMap = new AliCloud.Sae.ConfigMap(\"default\", new()\n {\n Data = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"env.home\"] = \"/root\",\n [\"env.shell\"] = \"/bin/sh\",\n }),\n Name = name,\n NamespaceId = defaultNamespace.NamespaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\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\"env.home\": \"/root\",\n\t\t\t\"env.shell\": \"/bin/sh\",\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 = sae.NewConfigMap(ctx, \"default\", \u0026sae.ConfigMapArgs{\n\t\t\tData: pulumi.String(json0),\n\t\t\tName: pulumi.String(name),\n\t\t\tNamespaceId: defaultNamespace.NamespaceId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.ConfigMap;\nimport com.pulumi.alicloud.sae.ConfigMapArgs;\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultConfigMap = new ConfigMap(\"defaultConfigMap\", ConfigMapArgs.builder()\n .data(serializeJson(\n jsonObject(\n jsonProperty(\"env.home\", \"/root\"),\n jsonProperty(\"env.shell\", \"/bin/sh\")\n )))\n .name(name)\n .namespaceId(defaultNamespace.namespaceId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultConfigMap:\n type: alicloud:sae:ConfigMap\n name: default\n properties:\n data:\n fn::toJSON:\n env.home: /root\n env.shell: /bin/sh\n name: ${name}\n namespaceId: ${defaultNamespace.namespaceId}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) Config Map can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/configMap:ConfigMap example \u003cid\u003e\n```\n\n", "properties": { "data": { "type": "string", @@ -245765,7 +251445,7 @@ } }, "alicloud:sae/greyTagRoute:GreyTagRoute": { - "description": "Provides a Serverless App Engine (SAE) GreyTagRoute resource.\n\nFor information about Serverless App Engine (SAE) GreyTagRoute and how to use it, see [What is GreyTagRoute](https://www.alibabacloud.com/help/en/sae/latest/create-grey-tag-route).\n\n\u003e **NOTE:** Available since v1.160.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultGreyTagRoute = new alicloud.sae.GreyTagRoute(\"default\", {\n greyTagRouteName: name,\n description: name,\n appId: defaultApplication.id,\n scRules: [{\n items: [{\n type: \"param\",\n name: \"tfexample\",\n operator: \"rawvalue\",\n value: \"example\",\n cond: \"==\",\n }],\n path: \"/tf/example\",\n condition: \"AND\",\n }],\n dubboRules: [{\n items: [{\n cond: \"==\",\n expr: \".key1\",\n index: 1,\n operator: \"rawvalue\",\n value: \"value1\",\n }],\n condition: \"OR\",\n group: \"DUBBO\",\n methodName: \"example\",\n serviceName: \"com.example.service\",\n version: \"1.0.0\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_grey_tag_route = alicloud.sae.GreyTagRoute(\"default\",\n grey_tag_route_name=name,\n description=name,\n app_id=default_application.id,\n sc_rules=[{\n \"items\": [{\n \"type\": \"param\",\n \"name\": \"tfexample\",\n \"operator\": \"rawvalue\",\n \"value\": \"example\",\n \"cond\": \"==\",\n }],\n \"path\": \"/tf/example\",\n \"condition\": \"AND\",\n }],\n dubbo_rules=[{\n \"items\": [{\n \"cond\": \"==\",\n \"expr\": \".key1\",\n \"index\": 1,\n \"operator\": \"rawvalue\",\n \"value\": \"value1\",\n }],\n \"condition\": \"OR\",\n \"group\": \"DUBBO\",\n \"method_name\": \"example\",\n \"service_name\": \"com.example.service\",\n \"version\": \"1.0.0\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultGreyTagRoute = new AliCloud.Sae.GreyTagRoute(\"default\", new()\n {\n GreyTagRouteName = name,\n Description = name,\n AppId = defaultApplication.Id,\n ScRules = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteScRuleArgs\n {\n Items = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteScRuleItemArgs\n {\n Type = \"param\",\n Name = \"tfexample\",\n Operator = \"rawvalue\",\n Value = \"example\",\n Cond = \"==\",\n },\n },\n Path = \"/tf/example\",\n Condition = \"AND\",\n },\n },\n DubboRules = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteDubboRuleArgs\n {\n Items = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteDubboRuleItemArgs\n {\n Cond = \"==\",\n Expr = \".key1\",\n Index = 1,\n Operator = \"rawvalue\",\n Value = \"value1\",\n },\n },\n Condition = \"OR\",\n Group = \"DUBBO\",\n MethodName = \"example\",\n ServiceName = \"com.example.service\",\n Version = \"1.0.0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewGreyTagRoute(ctx, \"default\", \u0026sae.GreyTagRouteArgs{\n\t\t\tGreyTagRouteName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tScRules: sae.GreyTagRouteScRuleArray{\n\t\t\t\t\u0026sae.GreyTagRouteScRuleArgs{\n\t\t\t\t\tItems: sae.GreyTagRouteScRuleItemArray{\n\t\t\t\t\t\t\u0026sae.GreyTagRouteScRuleItemArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"param\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"tfexample\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"rawvalue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tCond: pulumi.String(\"==\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPath: pulumi.String(\"/tf/example\"),\n\t\t\t\t\tCondition: pulumi.String(\"AND\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDubboRules: sae.GreyTagRouteDubboRuleArray{\n\t\t\t\t\u0026sae.GreyTagRouteDubboRuleArgs{\n\t\t\t\t\tItems: sae.GreyTagRouteDubboRuleItemArray{\n\t\t\t\t\t\t\u0026sae.GreyTagRouteDubboRuleItemArgs{\n\t\t\t\t\t\t\tCond: pulumi.String(\"==\"),\n\t\t\t\t\t\t\tExpr: pulumi.String(\".key1\"),\n\t\t\t\t\t\t\tIndex: pulumi.Int(1),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"rawvalue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCondition: pulumi.String(\"OR\"),\n\t\t\t\t\tGroup: pulumi.String(\"DUBBO\"),\n\t\t\t\t\tMethodName: pulumi.String(\"example\"),\n\t\t\t\t\tServiceName: pulumi.String(\"com.example.service\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0.0\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.sae.GreyTagRoute;\nimport com.pulumi.alicloud.sae.GreyTagRouteArgs;\nimport com.pulumi.alicloud.sae.inputs.GreyTagRouteScRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.GreyTagRouteDubboRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultGreyTagRoute = new GreyTagRoute(\"defaultGreyTagRoute\", GreyTagRouteArgs.builder()\n .greyTagRouteName(name)\n .description(name)\n .appId(defaultApplication.id())\n .scRules(GreyTagRouteScRuleArgs.builder()\n .items(GreyTagRouteScRuleItemArgs.builder()\n .type(\"param\")\n .name(\"tfexample\")\n .operator(\"rawvalue\")\n .value(\"example\")\n .cond(\"==\")\n .build())\n .path(\"/tf/example\")\n .condition(\"AND\")\n .build())\n .dubboRules(GreyTagRouteDubboRuleArgs.builder()\n .items(GreyTagRouteDubboRuleItemArgs.builder()\n .cond(\"==\")\n .expr(\".key1\")\n .index(1)\n .operator(\"rawvalue\")\n .value(\"value1\")\n .build())\n .condition(\"OR\")\n .group(\"DUBBO\")\n .methodName(\"example\")\n .serviceName(\"com.example.service\")\n .version(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultGreyTagRoute:\n type: alicloud:sae:GreyTagRoute\n name: default\n properties:\n greyTagRouteName: ${name}\n description: ${name}\n appId: ${defaultApplication.id}\n scRules:\n - items:\n - type: param\n name: tfexample\n operator: rawvalue\n value: example\n cond: ==\n path: /tf/example\n condition: AND\n dubboRules:\n - items:\n - cond: ==\n expr: .key1\n index: '1'\n operator: rawvalue\n value: value1\n condition: OR\n group: DUBBO\n methodName: example\n serviceName: com.example.service\n version: 1.0.0\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) GreyTagRoute can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/greyTagRoute:GreyTagRoute example \u003cid\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) GreyTagRoute resource.\n\nFor information about Serverless App Engine (SAE) GreyTagRoute and how to use it, see [What is GreyTagRoute](https://www.alibabacloud.com/help/en/sae/latest/create-grey-tag-route).\n\n\u003e **NOTE:** Available since v1.160.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultGreyTagRoute = new alicloud.sae.GreyTagRoute(\"default\", {\n greyTagRouteName: name,\n description: name,\n appId: defaultApplication.id,\n scRules: [{\n items: [{\n type: \"param\",\n name: \"tfexample\",\n operator: \"rawvalue\",\n value: \"example\",\n cond: \"==\",\n }],\n path: \"/tf/example\",\n condition: \"AND\",\n }],\n dubboRules: [{\n items: [{\n cond: \"==\",\n expr: \".key1\",\n index: 1,\n operator: \"rawvalue\",\n value: \"value1\",\n }],\n condition: \"OR\",\n group: \"DUBBO\",\n methodName: \"example\",\n serviceName: \"com.example.service\",\n version: \"1.0.0\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_grey_tag_route = alicloud.sae.GreyTagRoute(\"default\",\n grey_tag_route_name=name,\n description=name,\n app_id=default_application.id,\n sc_rules=[{\n \"items\": [{\n \"type\": \"param\",\n \"name\": \"tfexample\",\n \"operator\": \"rawvalue\",\n \"value\": \"example\",\n \"cond\": \"==\",\n }],\n \"path\": \"/tf/example\",\n \"condition\": \"AND\",\n }],\n dubbo_rules=[{\n \"items\": [{\n \"cond\": \"==\",\n \"expr\": \".key1\",\n \"index\": 1,\n \"operator\": \"rawvalue\",\n \"value\": \"value1\",\n }],\n \"condition\": \"OR\",\n \"group\": \"DUBBO\",\n \"method_name\": \"example\",\n \"service_name\": \"com.example.service\",\n \"version\": \"1.0.0\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultGreyTagRoute = new AliCloud.Sae.GreyTagRoute(\"default\", new()\n {\n GreyTagRouteName = name,\n Description = name,\n AppId = defaultApplication.Id,\n ScRules = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteScRuleArgs\n {\n Items = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteScRuleItemArgs\n {\n Type = \"param\",\n Name = \"tfexample\",\n Operator = \"rawvalue\",\n Value = \"example\",\n Cond = \"==\",\n },\n },\n Path = \"/tf/example\",\n Condition = \"AND\",\n },\n },\n DubboRules = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteDubboRuleArgs\n {\n Items = new[]\n {\n new AliCloud.Sae.Inputs.GreyTagRouteDubboRuleItemArgs\n {\n Cond = \"==\",\n Expr = \".key1\",\n Index = 1,\n Operator = \"rawvalue\",\n Value = \"value1\",\n },\n },\n Condition = \"OR\",\n Group = \"DUBBO\",\n MethodName = \"example\",\n ServiceName = \"com.example.service\",\n Version = \"1.0.0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewGreyTagRoute(ctx, \"default\", \u0026sae.GreyTagRouteArgs{\n\t\t\tGreyTagRouteName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tScRules: sae.GreyTagRouteScRuleArray{\n\t\t\t\t\u0026sae.GreyTagRouteScRuleArgs{\n\t\t\t\t\tItems: sae.GreyTagRouteScRuleItemArray{\n\t\t\t\t\t\t\u0026sae.GreyTagRouteScRuleItemArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"param\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"tfexample\"),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"rawvalue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"example\"),\n\t\t\t\t\t\t\tCond: pulumi.String(\"==\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPath: pulumi.String(\"/tf/example\"),\n\t\t\t\t\tCondition: pulumi.String(\"AND\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDubboRules: sae.GreyTagRouteDubboRuleArray{\n\t\t\t\t\u0026sae.GreyTagRouteDubboRuleArgs{\n\t\t\t\t\tItems: sae.GreyTagRouteDubboRuleItemArray{\n\t\t\t\t\t\t\u0026sae.GreyTagRouteDubboRuleItemArgs{\n\t\t\t\t\t\t\tCond: pulumi.String(\"==\"),\n\t\t\t\t\t\t\tExpr: pulumi.String(\".key1\"),\n\t\t\t\t\t\t\tIndex: pulumi.Int(1),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"rawvalue\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCondition: pulumi.String(\"OR\"),\n\t\t\t\t\tGroup: pulumi.String(\"DUBBO\"),\n\t\t\t\t\tMethodName: pulumi.String(\"example\"),\n\t\t\t\t\tServiceName: pulumi.String(\"com.example.service\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0.0\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.sae.GreyTagRoute;\nimport com.pulumi.alicloud.sae.GreyTagRouteArgs;\nimport com.pulumi.alicloud.sae.inputs.GreyTagRouteScRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.GreyTagRouteDubboRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultGreyTagRoute = new GreyTagRoute(\"defaultGreyTagRoute\", GreyTagRouteArgs.builder()\n .greyTagRouteName(name)\n .description(name)\n .appId(defaultApplication.id())\n .scRules(GreyTagRouteScRuleArgs.builder()\n .items(GreyTagRouteScRuleItemArgs.builder()\n .type(\"param\")\n .name(\"tfexample\")\n .operator(\"rawvalue\")\n .value(\"example\")\n .cond(\"==\")\n .build())\n .path(\"/tf/example\")\n .condition(\"AND\")\n .build())\n .dubboRules(GreyTagRouteDubboRuleArgs.builder()\n .items(GreyTagRouteDubboRuleItemArgs.builder()\n .cond(\"==\")\n .expr(\".key1\")\n .index(1)\n .operator(\"rawvalue\")\n .value(\"value1\")\n .build())\n .condition(\"OR\")\n .group(\"DUBBO\")\n .methodName(\"example\")\n .serviceName(\"com.example.service\")\n .version(\"1.0.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultGreyTagRoute:\n type: alicloud:sae:GreyTagRoute\n name: default\n properties:\n greyTagRouteName: ${name}\n description: ${name}\n appId: ${defaultApplication.id}\n scRules:\n - items:\n - type: param\n name: tfexample\n operator: rawvalue\n value: example\n cond: ==\n path: /tf/example\n condition: AND\n dubboRules:\n - items:\n - cond: ==\n expr: .key1\n index: '1'\n operator: rawvalue\n value: value1\n condition: OR\n group: DUBBO\n methodName: example\n serviceName: com.example.service\n version: 1.0.0\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) GreyTagRoute can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/greyTagRoute:GreyTagRoute example \u003cid\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -245868,7 +251548,7 @@ } }, "alicloud:sae/ingress:Ingress": { - "description": "Provides a Serverless App Engine (SAE) Ingress resource.\n\nFor information about Serverless App Engine (SAE) Ingress and how to use it, see [What is Ingress](https://next.api.aliyun.com/api/sae/2019-05-06/CreateIngress).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultIngress = new alicloud.sae.Ingress(\"default\", {\n slbId: defaultApplicationLoadBalancer.id,\n namespaceId: defaultNamespace.id,\n listenerPort: 80,\n rules: [{\n appId: defaultApplication.id,\n containerPort: 443,\n domain: \"www.alicloud.com\",\n appName: defaultApplication.appName,\n path: \"/\",\n }],\n defaultRule: {\n appId: defaultApplication.id,\n containerPort: 443,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_ingress = alicloud.sae.Ingress(\"default\",\n slb_id=default_application_load_balancer.id,\n namespace_id=default_namespace.id,\n listener_port=80,\n rules=[{\n \"app_id\": default_application.id,\n \"container_port\": 443,\n \"domain\": \"www.alicloud.com\",\n \"app_name\": default_application.app_name,\n \"path\": \"/\",\n }],\n default_rule={\n \"app_id\": default_application.id,\n \"container_port\": 443,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultIngress = new AliCloud.Sae.Ingress(\"default\", new()\n {\n SlbId = defaultApplicationLoadBalancer.Id,\n NamespaceId = defaultNamespace.Id,\n ListenerPort = 80,\n Rules = new[]\n {\n new AliCloud.Sae.Inputs.IngressRuleArgs\n {\n AppId = defaultApplication.Id,\n ContainerPort = 443,\n Domain = \"www.alicloud.com\",\n AppName = defaultApplication.AppName,\n Path = \"/\",\n },\n },\n DefaultRule = new AliCloud.Sae.Inputs.IngressDefaultRuleArgs\n {\n AppId = defaultApplication.Id,\n ContainerPort = 443,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewIngress(ctx, \"default\", \u0026sae.IngressArgs{\n\t\t\tSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tRules: sae.IngressRuleArray{\n\t\t\t\t\u0026sae.IngressRuleArgs{\n\t\t\t\t\tAppId: defaultApplication.ID(),\n\t\t\t\t\tContainerPort: pulumi.Int(443),\n\t\t\t\t\tDomain: pulumi.String(\"www.alicloud.com\"),\n\t\t\t\t\tAppName: defaultApplication.AppName,\n\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultRule: \u0026sae.IngressDefaultRuleArgs{\n\t\t\t\tAppId: defaultApplication.ID(),\n\t\t\t\tContainerPort: pulumi.Int(443),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.Ingress;\nimport com.pulumi.alicloud.sae.IngressArgs;\nimport com.pulumi.alicloud.sae.inputs.IngressRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.IngressDefaultRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultIngress = new Ingress(\"defaultIngress\", IngressArgs.builder()\n .slbId(defaultApplicationLoadBalancer.id())\n .namespaceId(defaultNamespace.id())\n .listenerPort(80)\n .rules(IngressRuleArgs.builder()\n .appId(defaultApplication.id())\n .containerPort(443)\n .domain(\"www.alicloud.com\")\n .appName(defaultApplication.appName())\n .path(\"/\")\n .build())\n .defaultRule(IngressDefaultRuleArgs.builder()\n .appId(defaultApplication.id())\n .containerPort(443)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultIngress:\n type: alicloud:sae:Ingress\n name: default\n properties:\n slbId: ${defaultApplicationLoadBalancer.id}\n namespaceId: ${defaultNamespace.id}\n listenerPort: '80'\n rules:\n - appId: ${defaultApplication.id}\n containerPort: '443'\n domain: www.alicloud.com\n appName: ${defaultApplication.appName}\n path: /\n defaultRule:\n appId: ${defaultApplication.id}\n containerPort: '443'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) Ingress can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/ingress:Ingress example \u003cid\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) Ingress resource.\n\nFor information about Serverless App Engine (SAE) Ingress and how to use it, see [What is Ingress](https://next.api.aliyun.com/api/sae/2019-05-06/CreateIngress).\n\n\u003e **NOTE:** Available since v1.137.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: _default.then(_default =\u003e `registry-vpc.${_default.regions?.[0]?.id}.aliyuncs.com/sae-demo-image/consumer:1.0`),\n packageType: \"Image\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultIngress = new alicloud.sae.Ingress(\"default\", {\n slbId: defaultApplicationLoadBalancer.id,\n namespaceId: defaultNamespace.id,\n listenerPort: 80,\n rules: [{\n appId: defaultApplication.id,\n containerPort: 443,\n domain: \"www.alicloud.com\",\n appName: defaultApplication.appName,\n path: \"/\",\n }],\n defaultRule: {\n appId: defaultApplication.id,\n containerPort: 443,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=f\"registry-vpc.{default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\",\n package_type=\"Image\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_ingress = alicloud.sae.Ingress(\"default\",\n slb_id=default_application_load_balancer.id,\n namespace_id=default_namespace.id,\n listener_port=80,\n rules=[{\n \"app_id\": default_application.id,\n \"container_port\": 443,\n \"domain\": \"www.alicloud.com\",\n \"app_name\": default_application.app_name,\n \"path\": \"/\",\n }],\n default_rule={\n \"app_id\": default_application.id,\n \"container_port\": 443,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = @default.Apply(@default =\u003e $\"registry-vpc.{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}.aliyuncs.com/sae-demo-image/consumer:1.0\"),\n PackageType = \"Image\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultIngress = new AliCloud.Sae.Ingress(\"default\", new()\n {\n SlbId = defaultApplicationLoadBalancer.Id,\n NamespaceId = defaultNamespace.Id,\n ListenerPort = 80,\n Rules = new[]\n {\n new AliCloud.Sae.Inputs.IngressRuleArgs\n {\n AppId = defaultApplication.Id,\n ContainerPort = 443,\n Domain = \"www.alicloud.com\",\n AppName = defaultApplication.AppName,\n Path = \"/\",\n },\n },\n DefaultRule = new AliCloud.Sae.Inputs.IngressDefaultRuleArgs\n {\n AppId = defaultApplication.Id,\n ContainerPort = 443,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.Sprintf(\"registry-vpc.%v.aliyuncs.com/sae-demo-image/consumer:1.0\", _default.Regions[0].Id),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewIngress(ctx, \"default\", \u0026sae.IngressArgs{\n\t\t\tSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tListenerPort: pulumi.Int(80),\n\t\t\tRules: sae.IngressRuleArray{\n\t\t\t\t\u0026sae.IngressRuleArgs{\n\t\t\t\t\tAppId: defaultApplication.ID(),\n\t\t\t\t\tContainerPort: pulumi.Int(443),\n\t\t\t\t\tDomain: pulumi.String(\"www.alicloud.com\"),\n\t\t\t\t\tAppName: defaultApplication.AppName,\n\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultRule: \u0026sae.IngressDefaultRuleArgs{\n\t\t\t\tAppId: defaultApplication.ID(),\n\t\t\t\tContainerPort: pulumi.Int(443),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.Ingress;\nimport com.pulumi.alicloud.sae.IngressArgs;\nimport com.pulumi.alicloud.sae.inputs.IngressRuleArgs;\nimport com.pulumi.alicloud.sae.inputs.IngressDefaultRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(String.format(\"registry-vpc.%s.aliyuncs.com/sae-demo-image/consumer:1.0\", default_.regions()[0].id()))\n .packageType(\"Image\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultIngress = new Ingress(\"defaultIngress\", IngressArgs.builder()\n .slbId(defaultApplicationLoadBalancer.id())\n .namespaceId(defaultNamespace.id())\n .listenerPort(80)\n .rules(IngressRuleArgs.builder()\n .appId(defaultApplication.id())\n .containerPort(443)\n .domain(\"www.alicloud.com\")\n .appName(defaultApplication.appName())\n .path(\"/\")\n .build())\n .defaultRule(IngressDefaultRuleArgs.builder()\n .appId(defaultApplication.id())\n .containerPort(443)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.${default.regions[0].id}.aliyuncs.com/sae-demo-image/consumer:1.0\n packageType: Image\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultIngress:\n type: alicloud:sae:Ingress\n name: default\n properties:\n slbId: ${defaultApplicationLoadBalancer.id}\n namespaceId: ${defaultNamespace.id}\n listenerPort: '80'\n rules:\n - appId: ${defaultApplication.id}\n containerPort: '443'\n domain: www.alicloud.com\n appName: ${defaultApplication.appName}\n path: /\n defaultRule:\n appId: ${defaultApplication.id}\n containerPort: '443'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) Ingress can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/ingress:Ingress example \u003cid\u003e\n```\n\n", "properties": { "certId": { "type": "string", @@ -246028,7 +251708,7 @@ } }, "alicloud:sae/loadBalancerInternet:LoadBalancerInternet": { - "description": "Provides an Alicloud Serverless App Engine (SAE) Application Load Balancer Attachment resource.\n\nFor information about Serverless App Engine (SAE) Load Balancer Internet Attachment and how to use it, see \u003cspan pulumi-lang-nodejs=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-dotnet=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-go=\"[sae.LoadBalancerInternet]\" pulumi-lang-python=\"[sae.LoadBalancerInternet]\" pulumi-lang-yaml=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-java=\"[alicloud.sae.LoadBalancerInternet]\"\u003e[alicloud.sae.LoadBalancerInternet]\u003c/span\u003e(https://www.alibabacloud.com/help/en/sae/latest/bindslb).\n\n\u003e **NOTE:** Available since v1.164.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n packageType: \"Image\",\n jdk: \"Open JDK 8\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n microRegistration: \"0\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"internet\",\n});\nconst defaultLoadBalancerInternet = new alicloud.sae.LoadBalancerInternet(\"default\", {\n appId: defaultApplication.id,\n internetSlbId: defaultApplicationLoadBalancer.id,\n internets: [{\n protocol: \"TCP\",\n port: 80,\n targetPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n package_type=\"Image\",\n jdk=\"Open JDK 8\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048,\n micro_registration=\"0\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"internet\")\ndefault_load_balancer_internet = alicloud.sae.LoadBalancerInternet(\"default\",\n app_id=default_application.id,\n internet_slb_id=default_application_load_balancer.id,\n internets=[{\n \"protocol\": \"TCP\",\n \"port\": 80,\n \"target_port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n PackageType = \"Image\",\n Jdk = \"Open JDK 8\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n MicroRegistration = \"0\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"internet\",\n });\n\n var defaultLoadBalancerInternet = new AliCloud.Sae.LoadBalancerInternet(\"default\", new()\n {\n AppId = defaultApplication.Id,\n InternetSlbId = defaultApplicationLoadBalancer.Id,\n Internets = new[]\n {\n new AliCloud.Sae.Inputs.LoadBalancerInternetInternetArgs\n {\n Protocol = \"TCP\",\n Port = 80,\n TargetPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\"),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t\tMicroRegistration: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewLoadBalancerInternet(ctx, \"default\", \u0026sae.LoadBalancerInternetArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tInternetSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tInternets: sae.LoadBalancerInternetInternetArray{\n\t\t\t\t\u0026sae.LoadBalancerInternetInternetArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.LoadBalancerInternet;\nimport com.pulumi.alicloud.sae.LoadBalancerInternetArgs;\nimport com.pulumi.alicloud.sae.inputs.LoadBalancerInternetInternetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\")\n .packageType(\"Image\")\n .jdk(\"Open JDK 8\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .microRegistration(\"0\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"internet\")\n .build());\n\n var defaultLoadBalancerInternet = new LoadBalancerInternet(\"defaultLoadBalancerInternet\", LoadBalancerInternetArgs.builder()\n .appId(defaultApplication.id())\n .internetSlbId(defaultApplicationLoadBalancer.id())\n .internets(LoadBalancerInternetInternetArgs.builder()\n .protocol(\"TCP\")\n .port(80)\n .targetPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\n packageType: Image\n jdk: Open JDK 8\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n microRegistration: '0'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: internet\n defaultLoadBalancerInternet:\n type: alicloud:sae:LoadBalancerInternet\n name: default\n properties:\n appId: ${defaultApplication.id}\n internetSlbId: ${defaultApplicationLoadBalancer.id}\n internets:\n - protocol: TCP\n port: 80\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/loadBalancerInternet:LoadBalancerInternet example \u003cid\u003e\n```\n\n", + "description": "Provides an Alicloud Serverless App Engine (SAE) Application Load Balancer Attachment resource.\n\nFor information about Serverless App Engine (SAE) Load Balancer Internet Attachment and how to use it, see \u003cspan pulumi-lang-nodejs=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-dotnet=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-go=\"[sae.LoadBalancerInternet]\" pulumi-lang-python=\"[sae.LoadBalancerInternet]\" pulumi-lang-yaml=\"[alicloud.sae.LoadBalancerInternet]\" pulumi-lang-java=\"[alicloud.sae.LoadBalancerInternet]\"\u003e[alicloud.sae.LoadBalancerInternet]\u003c/span\u003e(https://www.alibabacloud.com/help/en/sae/latest/bindslb).\n\n\u003e **NOTE:** Available since v1.164.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n packageType: \"Image\",\n jdk: \"Open JDK 8\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n microRegistration: \"0\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"internet\",\n});\nconst defaultLoadBalancerInternet = new alicloud.sae.LoadBalancerInternet(\"default\", {\n appId: defaultApplication.id,\n internetSlbId: defaultApplicationLoadBalancer.id,\n internets: [{\n protocol: \"TCP\",\n port: 80,\n targetPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n package_type=\"Image\",\n jdk=\"Open JDK 8\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048,\n micro_registration=\"0\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"internet\")\ndefault_load_balancer_internet = alicloud.sae.LoadBalancerInternet(\"default\",\n app_id=default_application.id,\n internet_slb_id=default_application_load_balancer.id,\n internets=[{\n \"protocol\": \"TCP\",\n \"port\": 80,\n \"target_port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n PackageType = \"Image\",\n Jdk = \"Open JDK 8\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n MicroRegistration = \"0\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"internet\",\n });\n\n var defaultLoadBalancerInternet = new AliCloud.Sae.LoadBalancerInternet(\"default\", new()\n {\n AppId = defaultApplication.Id,\n InternetSlbId = defaultApplicationLoadBalancer.Id,\n Internets = new[]\n {\n new AliCloud.Sae.Inputs.LoadBalancerInternetInternetArgs\n {\n Protocol = \"TCP\",\n Port = 80,\n TargetPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\"),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t\tMicroRegistration: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"internet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewLoadBalancerInternet(ctx, \"default\", \u0026sae.LoadBalancerInternetArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tInternetSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tInternets: sae.LoadBalancerInternetInternetArray{\n\t\t\t\t\u0026sae.LoadBalancerInternetInternetArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.LoadBalancerInternet;\nimport com.pulumi.alicloud.sae.LoadBalancerInternetArgs;\nimport com.pulumi.alicloud.sae.inputs.LoadBalancerInternetInternetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\")\n .packageType(\"Image\")\n .jdk(\"Open JDK 8\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .microRegistration(\"0\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"internet\")\n .build());\n\n var defaultLoadBalancerInternet = new LoadBalancerInternet(\"defaultLoadBalancerInternet\", LoadBalancerInternetArgs.builder()\n .appId(defaultApplication.id())\n .internetSlbId(defaultApplicationLoadBalancer.id())\n .internets(LoadBalancerInternetInternetArgs.builder()\n .protocol(\"TCP\")\n .port(80)\n .targetPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\n packageType: Image\n jdk: Open JDK 8\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n microRegistration: '0'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: internet\n defaultLoadBalancerInternet:\n type: alicloud:sae:LoadBalancerInternet\n name: default\n properties:\n appId: ${defaultApplication.id}\n internetSlbId: ${defaultApplicationLoadBalancer.id}\n internets:\n - protocol: TCP\n port: 80\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/loadBalancerInternet:LoadBalancerInternet example \u003cid\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -246103,7 +251783,7 @@ } }, "alicloud:sae/loadBalancerIntranet:LoadBalancerIntranet": { - "description": "Provides an Alicloud Serverless App Engine (SAE) Application Load Balancer Attachment resource.\n\nFor information about Serverless App Engine (SAE) Load Balancer Intranet Attachment and how to use it, see \u003cspan pulumi-lang-nodejs=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-dotnet=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-go=\"[sae.LoadBalancerIntranet]\" pulumi-lang-python=\"[sae.LoadBalancerIntranet]\" pulumi-lang-yaml=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-java=\"[alicloud.sae.LoadBalancerIntranet]\"\u003e[alicloud.sae.LoadBalancerIntranet]\u003c/span\u003e(https://www.alibabacloud.com/help/en/sae/latest/bindslb).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n packageType: \"Image\",\n jdk: \"Open JDK 8\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n microRegistration: \"0\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultLoadBalancerIntranet = new alicloud.sae.LoadBalancerIntranet(\"default\", {\n appId: defaultApplication.id,\n intranetSlbId: defaultApplicationLoadBalancer.id,\n intranets: [{\n protocol: \"TCP\",\n port: 80,\n targetPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n package_type=\"Image\",\n jdk=\"Open JDK 8\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048,\n micro_registration=\"0\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_load_balancer_intranet = alicloud.sae.LoadBalancerIntranet(\"default\",\n app_id=default_application.id,\n intranet_slb_id=default_application_load_balancer.id,\n intranets=[{\n \"protocol\": \"TCP\",\n \"port\": 80,\n \"target_port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n PackageType = \"Image\",\n Jdk = \"Open JDK 8\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n MicroRegistration = \"0\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultLoadBalancerIntranet = new AliCloud.Sae.LoadBalancerIntranet(\"default\", new()\n {\n AppId = defaultApplication.Id,\n IntranetSlbId = defaultApplicationLoadBalancer.Id,\n Intranets = new[]\n {\n new AliCloud.Sae.Inputs.LoadBalancerIntranetIntranetArgs\n {\n Protocol = \"TCP\",\n Port = 80,\n TargetPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\"),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t\tMicroRegistration: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewLoadBalancerIntranet(ctx, \"default\", \u0026sae.LoadBalancerIntranetArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tIntranetSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tIntranets: sae.LoadBalancerIntranetIntranetArray{\n\t\t\t\t\u0026sae.LoadBalancerIntranetIntranetArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.LoadBalancerIntranet;\nimport com.pulumi.alicloud.sae.LoadBalancerIntranetArgs;\nimport com.pulumi.alicloud.sae.inputs.LoadBalancerIntranetIntranetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\")\n .packageType(\"Image\")\n .jdk(\"Open JDK 8\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .microRegistration(\"0\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultLoadBalancerIntranet = new LoadBalancerIntranet(\"defaultLoadBalancerIntranet\", LoadBalancerIntranetArgs.builder()\n .appId(defaultApplication.id())\n .intranetSlbId(defaultApplicationLoadBalancer.id())\n .intranets(LoadBalancerIntranetIntranetArgs.builder()\n .protocol(\"TCP\")\n .port(80)\n .targetPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\n packageType: Image\n jdk: Open JDK 8\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n microRegistration: '0'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultLoadBalancerIntranet:\n type: alicloud:sae:LoadBalancerIntranet\n name: default\n properties:\n appId: ${defaultApplication.id}\n intranetSlbId: ${defaultApplicationLoadBalancer.id}\n intranets:\n - protocol: TCP\n port: 80\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/loadBalancerIntranet:LoadBalancerIntranet example \u003cid\u003e\n```\n\n", + "description": "Provides an Alicloud Serverless App Engine (SAE) Application Load Balancer Attachment resource.\n\nFor information about Serverless App Engine (SAE) Load Balancer Intranet Attachment and how to use it, see \u003cspan pulumi-lang-nodejs=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-dotnet=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-go=\"[sae.LoadBalancerIntranet]\" pulumi-lang-python=\"[sae.LoadBalancerIntranet]\" pulumi-lang-yaml=\"[alicloud.sae.LoadBalancerIntranet]\" pulumi-lang-java=\"[alicloud.sae.LoadBalancerIntranet]\"\u003e[alicloud.sae.LoadBalancerIntranet]\u003c/span\u003e(https://www.alibabacloud.com/help/en/sae/latest/bindslb).\n\n\u003e **NOTE:** Available since v1.165.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {vpcId: defaultNetwork.id});\nconst defaultNamespace = new alicloud.sae.Namespace(\"default\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\nconst defaultApplication = new alicloud.sae.Application(\"default\", {\n appDescription: name,\n appName: `${name}-${defaultInteger.result}`,\n namespaceId: defaultNamespace.id,\n imageUrl: \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n packageType: \"Image\",\n jdk: \"Open JDK 8\",\n securityGroupId: defaultSecurityGroup.id,\n vpcId: defaultNetwork.id,\n vswitchId: defaultSwitch.id,\n timezone: \"Asia/Beijing\",\n replicas: 5,\n cpu: 500,\n memory: 2048,\n microRegistration: \"0\",\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultLoadBalancerIntranet = new alicloud.sae.LoadBalancerIntranet(\"default\", {\n appId: defaultApplication.id,\n intranetSlbId: defaultApplicationLoadBalancer.id,\n intranets: [{\n protocol: \"TCP\",\n port: 80,\n targetPort: 8080,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\", vpc_id=default_network.id)\ndefault_namespace = alicloud.sae.Namespace(\"default\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\ndefault_application = alicloud.sae.Application(\"default\",\n app_description=name,\n app_name=f\"{name}-{default_integer['result']}\",\n namespace_id=default_namespace.id,\n image_url=\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n package_type=\"Image\",\n jdk=\"Open JDK 8\",\n security_group_id=default_security_group.id,\n vpc_id=default_network.id,\n vswitch_id=default_switch.id,\n timezone=\"Asia/Beijing\",\n replicas=5,\n cpu=500,\n memory=2048,\n micro_registration=\"0\")\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_load_balancer_intranet = alicloud.sae.LoadBalancerIntranet(\"default\",\n app_id=default_application.id,\n intranet_slb_id=default_application_load_balancer.id,\n intranets=[{\n \"protocol\": \"TCP\",\n \"port\": 80,\n \"target_port\": 8080,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNamespace = new AliCloud.Sae.Namespace(\"default\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n var defaultApplication = new AliCloud.Sae.Application(\"default\", new()\n {\n AppDescription = name,\n AppName = $\"{name}-{defaultInteger.Result}\",\n NamespaceId = defaultNamespace.Id,\n ImageUrl = \"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\",\n PackageType = \"Image\",\n Jdk = \"Open JDK 8\",\n SecurityGroupId = defaultSecurityGroup.Id,\n VpcId = defaultNetwork.Id,\n VswitchId = defaultSwitch.Id,\n Timezone = \"Asia/Beijing\",\n Replicas = 5,\n Cpu = 500,\n Memory = 2048,\n MicroRegistration = \"0\",\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultLoadBalancerIntranet = new AliCloud.Sae.LoadBalancerIntranet(\"default\", new()\n {\n AppId = defaultApplication.Id,\n IntranetSlbId = defaultApplicationLoadBalancer.Id,\n Intranets = new[]\n {\n new AliCloud.Sae.Inputs.LoadBalancerIntranetIntranetArgs\n {\n Protocol = \"TCP\",\n Port = 80,\n TargetPort = 8080,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNamespace, err := sae.NewNamespace(ctx, \"default\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplication, err := sae.NewApplication(ctx, \"default\", \u0026sae.ApplicationArgs{\n\t\t\tAppDescription: pulumi.String(name),\n\t\t\tAppName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tNamespaceId: defaultNamespace.ID(),\n\t\t\tImageUrl: pulumi.String(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\"),\n\t\t\tPackageType: pulumi.String(\"Image\"),\n\t\t\tJdk: pulumi.String(\"Open JDK 8\"),\n\t\t\tSecurityGroupId: defaultSecurityGroup.ID(),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTimezone: pulumi.String(\"Asia/Beijing\"),\n\t\t\tReplicas: pulumi.Int(5),\n\t\t\tCpu: pulumi.Int(500),\n\t\t\tMemory: pulumi.Int(2048),\n\t\t\tMicroRegistration: pulumi.String(\"0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewLoadBalancerIntranet(ctx, \"default\", \u0026sae.LoadBalancerIntranetArgs{\n\t\t\tAppId: defaultApplication.ID(),\n\t\t\tIntranetSlbId: defaultApplicationLoadBalancer.ID(),\n\t\t\tIntranets: sae.LoadBalancerIntranetIntranetArray{\n\t\t\t\t\u0026sae.LoadBalancerIntranetIntranetArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tTargetPort: pulumi.Int(8080),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport com.pulumi.alicloud.sae.Application;\nimport com.pulumi.alicloud.sae.ApplicationArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.sae.LoadBalancerIntranet;\nimport com.pulumi.alicloud.sae.LoadBalancerIntranetArgs;\nimport com.pulumi.alicloud.sae.inputs.LoadBalancerIntranetIntranetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNamespace = new Namespace(\"defaultNamespace\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n var defaultApplication = new Application(\"defaultApplication\", ApplicationArgs.builder()\n .appDescription(name)\n .appName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .namespaceId(defaultNamespace.id())\n .imageUrl(\"registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\")\n .packageType(\"Image\")\n .jdk(\"Open JDK 8\")\n .securityGroupId(defaultSecurityGroup.id())\n .vpcId(defaultNetwork.id())\n .vswitchId(defaultSwitch.id())\n .timezone(\"Asia/Beijing\")\n .replicas(5)\n .cpu(500)\n .memory(2048)\n .microRegistration(\"0\")\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultLoadBalancerIntranet = new LoadBalancerIntranet(\"defaultLoadBalancerIntranet\", LoadBalancerIntranetArgs.builder()\n .appId(defaultApplication.id())\n .intranetSlbId(defaultApplicationLoadBalancer.id())\n .intranets(LoadBalancerIntranetIntranetArgs.builder()\n .protocol(\"TCP\")\n .port(80)\n .targetPort(8080)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n defaultNamespace:\n type: alicloud:sae:Namespace\n name: default\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\n defaultApplication:\n type: alicloud:sae:Application\n name: default\n properties:\n appDescription: ${name}\n appName: ${name}-${defaultInteger.result}\n namespaceId: ${defaultNamespace.id}\n imageUrl: registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5\n packageType: Image\n jdk: Open JDK 8\n securityGroupId: ${defaultSecurityGroup.id}\n vpcId: ${defaultNetwork.id}\n vswitchId: ${defaultSwitch.id}\n timezone: Asia/Beijing\n replicas: '5'\n cpu: '500'\n memory: '2048'\n microRegistration: '0'\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n addressType: intranet\n defaultLoadBalancerIntranet:\n type: alicloud:sae:LoadBalancerIntranet\n name: default\n properties:\n appId: ${defaultApplication.id}\n intranetSlbId: ${defaultApplicationLoadBalancer.id}\n intranets:\n - protocol: TCP\n port: 80\n targetPort: 8080\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe resource can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/loadBalancerIntranet:LoadBalancerIntranet example \u003cid\u003e\n```\n\n", "properties": { "appId": { "type": "string", @@ -246178,7 +251858,7 @@ } }, "alicloud:sae/namespace:Namespace": { - "description": "Provides a Serverless App Engine (SAE) Namespace resource.\n\nFor information about SAE Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/sae/latest/createnamespace).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.sae.Namespace(\"example\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.sae.Namespace(\"example\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Sae.Namespace(\"example\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewNamespace(ctx, \"example\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:sae:Namespace\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nServerless App Engine (SAE) Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/namespace:Namespace example \u003cnamespace_id\u003e\n```\n\n", + "description": "Provides a Serverless App Engine (SAE) Namespace resource.\n\nFor information about SAE Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/sae/latest/createnamespace).\n\n\u003e **NOTE:** Available since v1.129.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst example = new alicloud.sae.Namespace(\"example\", {\n namespaceId: _default.then(_default =\u003e `${_default.regions?.[0]?.id}:example${defaultInteger.result}`),\n namespaceName: name,\n namespaceDescription: name,\n enableMicroRegistration: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\ndefault_integer = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nexample = alicloud.sae.Namespace(\"example\",\n namespace_id=f\"{default.regions[0].id}:example{default_integer['result']}\",\n namespace_name=name,\n namespace_description=name,\n enable_micro_registration=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var example = new AliCloud.Sae.Namespace(\"example\", new()\n {\n NamespaceId = @default.Apply(@default =\u003e $\"{@default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)}:example{defaultInteger.Result}\"),\n NamespaceName = name,\n NamespaceDescription = name,\n EnableMicroRegistration = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sae.NewNamespace(ctx, \"example\", \u0026sae.NamespaceArgs{\n\t\t\tNamespaceId: pulumi.Sprintf(\"%v:example%v\", _default.Regions[0].Id, defaultInteger.Result),\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tNamespaceDescription: pulumi.String(name),\n\t\t\tEnableMicroRegistration: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.sae.Namespace;\nimport com.pulumi.alicloud.sae.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespaceId(String.format(\"%s:example%s\", default_.regions()[0].id(),defaultInteger.result()))\n .namespaceName(name)\n .namespaceDescription(name)\n .enableMicroRegistration(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n max: 99999\n min: 10000\n example:\n type: alicloud:sae:Namespace\n properties:\n namespaceId: ${default.regions[0].id}:example${defaultInteger.result}\n namespaceName: ${name}\n namespaceDescription: ${name}\n enableMicroRegistration: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nServerless App Engine (SAE) Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sae/namespace:Namespace example \u003cnamespace_id\u003e\n```\n\n", "properties": { "enableMicroRegistration": { "type": "boolean", @@ -246264,7 +251944,7 @@ } }, "alicloud:sag/acl:Acl": { - "description": "Provides a Sag Acl resource. Smart Access Gateway (SAG) provides the access control list (ACL) function in the form of whitelists and blacklists for different SAG instances.\n\nFor information about Sag Acl and how to use it, see [What is access control list (ACL)](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createacl).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Acl(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Acl(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Acl(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewAcl(ctx, \"default\", \u0026sag.AclArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Acl;\nimport com.pulumi.alicloud.sag.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Acl(\"default\", AclArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Acl\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/acl:Acl example acl-abc123456\n```\n\n", + "description": "Provides a Sag Acl resource. Smart Access Gateway (SAG) provides the access control list (ACL) function in the form of whitelists and blacklists for different SAG instances.\n\nFor information about Sag Acl and how to use it, see [What is access control list (ACL)](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createacl).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Acl(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Acl(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Acl(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewAcl(ctx, \"default\", \u0026sag.AclArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Acl;\nimport com.pulumi.alicloud.sag.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Acl(\"default\", AclArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Acl\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/acl:Acl example acl-abc123456\n```\n\n", "properties": { "name": { "type": "string", @@ -246292,7 +251972,7 @@ } }, "alicloud:sag/aclRule:AclRule": { - "description": "Provides a Sag Acl Rule resource. This topic describes how to configure an access control list (ACL) rule for a target Smart Access Gateway instance to permit or deny access to or from specified IP addresses in the ACL rule.\n\nFor information about Sag Acl Rule and how to use it, see [What is access control list (ACL) rule](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addaclrule).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Acl(\"default\", {name: name});\nconst defaultAclRule = new alicloud.sag.AclRule(\"default\", {\n aclId: _default.id,\n description: name,\n policy: \"accept\",\n ipProtocol: \"ALL\",\n direction: \"in\",\n sourceCidr: \"10.10.1.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"192.168.1.0/24\",\n destPortRange: \"-1/-1\",\n priority: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Acl(\"default\", name=name)\ndefault_acl_rule = alicloud.sag.AclRule(\"default\",\n acl_id=default.id,\n description=name,\n policy=\"accept\",\n ip_protocol=\"ALL\",\n direction=\"in\",\n source_cidr=\"10.10.1.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"192.168.1.0/24\",\n dest_port_range=\"-1/-1\",\n priority=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Acl(\"default\", new()\n {\n Name = name,\n });\n\n var defaultAclRule = new AliCloud.Sag.AclRule(\"default\", new()\n {\n AclId = @default.Id,\n Description = name,\n Policy = \"accept\",\n IpProtocol = \"ALL\",\n Direction = \"in\",\n SourceCidr = \"10.10.1.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"192.168.1.0/24\",\n DestPortRange = \"-1/-1\",\n Priority = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewAcl(ctx, \"default\", \u0026sag.AclArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewAclRule(ctx, \"default\", \u0026sag.AclRuleArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tSourceCidr: pulumi.String(\"10.10.1.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tPriority: 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.alicloud.sag.Acl;\nimport com.pulumi.alicloud.sag.AclArgs;\nimport com.pulumi.alicloud.sag.AclRule;\nimport com.pulumi.alicloud.sag.AclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Acl(\"default\", AclArgs.builder()\n .name(name)\n .build());\n\n var defaultAclRule = new AclRule(\"defaultAclRule\", AclRuleArgs.builder()\n .aclId(default_.id())\n .description(name)\n .policy(\"accept\")\n .ipProtocol(\"ALL\")\n .direction(\"in\")\n .sourceCidr(\"10.10.1.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"192.168.1.0/24\")\n .destPortRange(\"-1/-1\")\n .priority(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Acl\n properties:\n name: ${name}\n defaultAclRule:\n type: alicloud:sag:AclRule\n name: default\n properties:\n aclId: ${default.id}\n description: ${name}\n policy: accept\n ipProtocol: ALL\n direction: in\n sourceCidr: 10.10.1.0/24\n sourcePortRange: -1/-1\n destCidr: 192.168.1.0/24\n destPortRange: -1/-1\n priority: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Acl Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/aclRule:AclRule example acr-abc123456\n```\n\n", + "description": "Provides a Sag Acl Rule resource. This topic describes how to configure an access control list (ACL) rule for a target Smart Access Gateway instance to permit or deny access to or from specified IP addresses in the ACL rule.\n\nFor information about Sag Acl Rule and how to use it, see [What is access control list (ACL) rule](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addaclrule).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support create Cloud Connect Network. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Acl(\"default\", {name: name});\nconst defaultAclRule = new alicloud.sag.AclRule(\"default\", {\n aclId: _default.id,\n description: name,\n policy: \"accept\",\n ipProtocol: \"ALL\",\n direction: \"in\",\n sourceCidr: \"10.10.1.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"192.168.1.0/24\",\n destPortRange: \"-1/-1\",\n priority: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Acl(\"default\", name=name)\ndefault_acl_rule = alicloud.sag.AclRule(\"default\",\n acl_id=default.id,\n description=name,\n policy=\"accept\",\n ip_protocol=\"ALL\",\n direction=\"in\",\n source_cidr=\"10.10.1.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"192.168.1.0/24\",\n dest_port_range=\"-1/-1\",\n priority=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Acl(\"default\", new()\n {\n Name = name,\n });\n\n var defaultAclRule = new AliCloud.Sag.AclRule(\"default\", new()\n {\n AclId = @default.Id,\n Description = name,\n Policy = \"accept\",\n IpProtocol = \"ALL\",\n Direction = \"in\",\n SourceCidr = \"10.10.1.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"192.168.1.0/24\",\n DestPortRange = \"-1/-1\",\n Priority = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewAcl(ctx, \"default\", \u0026sag.AclArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewAclRule(ctx, \"default\", \u0026sag.AclRuleArgs{\n\t\t\tAclId: _default.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tDirection: pulumi.String(\"in\"),\n\t\t\tSourceCidr: pulumi.String(\"10.10.1.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tPriority: 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.alicloud.sag.Acl;\nimport com.pulumi.alicloud.sag.AclArgs;\nimport com.pulumi.alicloud.sag.AclRule;\nimport com.pulumi.alicloud.sag.AclRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Acl(\"default\", AclArgs.builder()\n .name(name)\n .build());\n\n var defaultAclRule = new AclRule(\"defaultAclRule\", AclRuleArgs.builder()\n .aclId(default_.id())\n .description(name)\n .policy(\"accept\")\n .ipProtocol(\"ALL\")\n .direction(\"in\")\n .sourceCidr(\"10.10.1.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"192.168.1.0/24\")\n .destPortRange(\"-1/-1\")\n .priority(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Acl\n properties:\n name: ${name}\n defaultAclRule:\n type: alicloud:sag:AclRule\n name: default\n properties:\n aclId: ${default.id}\n description: ${name}\n policy: accept\n ipProtocol: ALL\n direction: in\n sourceCidr: 10.10.1.0/24\n sourcePortRange: -1/-1\n destCidr: 192.168.1.0/24\n destPortRange: -1/-1\n priority: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Acl Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/aclRule:AclRule example acr-abc123456\n```\n\n", "properties": { "aclId": { "type": "string", @@ -246445,7 +252125,7 @@ } }, "alicloud:sag/clientUser:ClientUser": { - "description": "Provides a Sag ClientUser resource. This topic describes how to manage accounts as an administrator. After you configure the network, you can create multiple accounts and distribute them to end users so that clients can access Alibaba Cloud.\n\nFor information about Sag ClientUser and how to use it, see [What is Sag ClientUser](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createsmartaccessgatewayclientuser).\n\n\u003e **NOTE:** Available since v1.65.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz4fg***\";\nconst _default = new alicloud.sag.ClientUser(\"default\", {\n sagId: sagId,\n bandwidth: 20,\n userMail: \"tf-example@abc.com\",\n userName: name,\n password: \"example1234\",\n clientIp: \"192.1.10.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz4fg***\"\ndefault = alicloud.sag.ClientUser(\"default\",\n sag_id=sag_id,\n bandwidth=20,\n user_mail=\"tf-example@abc.com\",\n user_name=name,\n password=\"example1234\",\n client_ip=\"192.1.10.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz4fg***\";\n var @default = new AliCloud.Sag.ClientUser(\"default\", new()\n {\n SagId = sagId,\n Bandwidth = 20,\n UserMail = \"tf-example@abc.com\",\n UserName = name,\n Password = \"example1234\",\n ClientIp = \"192.1.10.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkfaz4fg***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewClientUser(ctx, \"default\", \u0026sag.ClientUserArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tUserMail: pulumi.String(\"tf-example@abc.com\"),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"example1234\"),\n\t\t\tClientIp: pulumi.String(\"192.1.10.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.alicloud.sag.ClientUser;\nimport com.pulumi.alicloud.sag.ClientUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz4fg***\");\n var default_ = new ClientUser(\"default\", ClientUserArgs.builder()\n .sagId(sagId)\n .bandwidth(20)\n .userMail(\"tf-example@abc.com\")\n .userName(name)\n .password(\"example1234\")\n .clientIp(\"192.1.10.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkfaz4fg***\nresources:\n default:\n type: alicloud:sag:ClientUser\n properties:\n sagId: ${sagId}\n bandwidth: '20'\n userMail: tf-example@abc.com\n userName: ${name}\n password: example1234\n clientIp: 192.1.10.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag ClientUser can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:sag/clientUser:ClientUser example sag-abc123456:tf-username-abc123456\n```\n\n", + "description": "Provides a Sag ClientUser resource. This topic describes how to manage accounts as an administrator. After you configure the network, you can create multiple accounts and distribute them to end users so that clients can access Alibaba Cloud.\n\nFor information about Sag ClientUser and how to use it, see [What is Sag ClientUser](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createsmartaccessgatewayclientuser).\n\n\u003e **NOTE:** Available since v1.65.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz4fg***\";\nconst _default = new alicloud.sag.ClientUser(\"default\", {\n sagId: sagId,\n bandwidth: 20,\n userMail: \"tf-example@abc.com\",\n userName: name,\n password: \"example1234\",\n clientIp: \"192.1.10.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz4fg***\"\ndefault = alicloud.sag.ClientUser(\"default\",\n sag_id=sag_id,\n bandwidth=20,\n user_mail=\"tf-example@abc.com\",\n user_name=name,\n password=\"example1234\",\n client_ip=\"192.1.10.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz4fg***\";\n var @default = new AliCloud.Sag.ClientUser(\"default\", new()\n {\n SagId = sagId,\n Bandwidth = 20,\n UserMail = \"tf-example@abc.com\",\n UserName = name,\n Password = \"example1234\",\n ClientIp = \"192.1.10.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tsagId := \"sag-9bifkfaz4fg***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewClientUser(ctx, \"default\", \u0026sag.ClientUserArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t\tUserMail: pulumi.String(\"tf-example@abc.com\"),\n\t\t\tUserName: pulumi.String(name),\n\t\t\tPassword: pulumi.String(\"example1234\"),\n\t\t\tClientIp: pulumi.String(\"192.1.10.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.alicloud.sag.ClientUser;\nimport com.pulumi.alicloud.sag.ClientUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz4fg***\");\n var default_ = new ClientUser(\"default\", ClientUserArgs.builder()\n .sagId(sagId)\n .bandwidth(20)\n .userMail(\"tf-example@abc.com\")\n .userName(name)\n .password(\"example1234\")\n .clientIp(\"192.1.10.0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n sagId:\n type: string\n default: sag-9bifkfaz4fg***\nresources:\n default:\n type: alicloud:sag:ClientUser\n properties:\n sagId: ${sagId}\n bandwidth: '20'\n userMail: tf-example@abc.com\n userName: ${name}\n password: example1234\n clientIp: 192.1.10.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag ClientUser can be imported using the name, e.g.\n\n```sh\n$ pulumi import alicloud:sag/clientUser:ClientUser example sag-abc123456:tf-username-abc123456\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -246590,7 +252270,7 @@ ] }, "alicloud:sag/dnatEntry:DnatEntry": { - "description": "Provides a Sag DnatEntry resource. This topic describes how to add a DNAT entry to a Smart Access Gateway (SAG) instance to enable the DNAT function. By using the DNAT function, you can forward requests received by public IP addresses to Alibaba Cloud instances according to custom mapping rules.\n\nFor information about Sag DnatEntry and how to use it, see [What is Sag DnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/adddnatentry).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions suppor. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz***\";\nconst _default = new alicloud.sag.DnatEntry(\"default\", {\n sagId: sagId,\n type: \"Intranet\",\n ipProtocol: \"any\",\n externalIp: \"172.32.0.2\",\n externalPort: \"any\",\n internalIp: \"172.16.0.4\",\n internalPort: \"any\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz***\"\ndefault = alicloud.sag.DnatEntry(\"default\",\n sag_id=sag_id,\n type=\"Intranet\",\n ip_protocol=\"any\",\n external_ip=\"172.32.0.2\",\n external_port=\"any\",\n internal_ip=\"172.16.0.4\",\n internal_port=\"any\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz***\";\n var @default = new AliCloud.Sag.DnatEntry(\"default\", new()\n {\n SagId = sagId,\n Type = \"Intranet\",\n IpProtocol = \"any\",\n ExternalIp = \"172.32.0.2\",\n ExternalPort = \"any\",\n InternalIp = \"172.16.0.4\",\n InternalPort = \"any\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifkfaz***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewDnatEntry(ctx, \"default\", \u0026sag.DnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\tIpProtocol: pulumi.String(\"any\"),\n\t\t\tExternalIp: pulumi.String(\"172.32.0.2\"),\n\t\t\tExternalPort: pulumi.String(\"any\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.4\"),\n\t\t\tInternalPort: pulumi.String(\"any\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.DnatEntry;\nimport com.pulumi.alicloud.sag.DnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz***\");\n var default_ = new DnatEntry(\"default\", DnatEntryArgs.builder()\n .sagId(sagId)\n .type(\"Intranet\")\n .ipProtocol(\"any\")\n .externalIp(\"172.32.0.2\")\n .externalPort(\"any\")\n .internalIp(\"172.16.0.4\")\n .internalPort(\"any\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifkfaz***\nresources:\n default:\n type: alicloud:sag:DnatEntry\n properties:\n sagId: ${sagId}\n type: Intranet\n ipProtocol: any\n externalIp: 172.32.0.2\n externalPort: any\n internalIp: 172.16.0.4\n internalPort: any\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag DnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/dnatEntry:DnatEntry example sag-abc123456:dnat-abc123456\n```\n\n", + "description": "Provides a Sag DnatEntry resource. This topic describes how to add a DNAT entry to a Smart Access Gateway (SAG) instance to enable the DNAT function. By using the DNAT function, you can forward requests received by public IP addresses to Alibaba Cloud instances according to custom mapping rules.\n\nFor information about Sag DnatEntry and how to use it, see [What is Sag DnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/adddnatentry).\n\n\u003e **NOTE:** Available since v1.63.0.\n\n\u003e **NOTE:** Only the following regions suppor. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifkfaz***\";\nconst _default = new alicloud.sag.DnatEntry(\"default\", {\n sagId: sagId,\n type: \"Intranet\",\n ipProtocol: \"any\",\n externalIp: \"172.32.0.2\",\n externalPort: \"any\",\n internalIp: \"172.16.0.4\",\n internalPort: \"any\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifkfaz***\"\ndefault = alicloud.sag.DnatEntry(\"default\",\n sag_id=sag_id,\n type=\"Intranet\",\n ip_protocol=\"any\",\n external_ip=\"172.32.0.2\",\n external_port=\"any\",\n internal_ip=\"172.16.0.4\",\n internal_port=\"any\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifkfaz***\";\n var @default = new AliCloud.Sag.DnatEntry(\"default\", new()\n {\n SagId = sagId,\n Type = \"Intranet\",\n IpProtocol = \"any\",\n ExternalIp = \"172.32.0.2\",\n ExternalPort = \"any\",\n InternalIp = \"172.16.0.4\",\n InternalPort = \"any\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifkfaz***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewDnatEntry(ctx, \"default\", \u0026sag.DnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tType: pulumi.String(\"Intranet\"),\n\t\t\tIpProtocol: pulumi.String(\"any\"),\n\t\t\tExternalIp: pulumi.String(\"172.32.0.2\"),\n\t\t\tExternalPort: pulumi.String(\"any\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.4\"),\n\t\t\tInternalPort: pulumi.String(\"any\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.DnatEntry;\nimport com.pulumi.alicloud.sag.DnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifkfaz***\");\n var default_ = new DnatEntry(\"default\", DnatEntryArgs.builder()\n .sagId(sagId)\n .type(\"Intranet\")\n .ipProtocol(\"any\")\n .externalIp(\"172.32.0.2\")\n .externalPort(\"any\")\n .internalIp(\"172.16.0.4\")\n .internalPort(\"any\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifkfaz***\nresources:\n default:\n type: alicloud:sag:DnatEntry\n properties:\n sagId: ${sagId}\n type: Intranet\n ipProtocol: any\n externalIp: 172.32.0.2\n externalPort: any\n internalIp: 172.16.0.4\n internalPort: any\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag DnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/dnatEntry:DnatEntry example sag-abc123456:dnat-abc123456\n```\n\n", "properties": { "externalIp": { "type": "string", @@ -246722,7 +252402,7 @@ ] }, "alicloud:sag/qos:Qos": { - "description": "Provides a Sag Qos resource. Smart Access Gateway (SAG) supports quintuple-based QoS functions to differentiate traffic of different services and ensure high-priority traffic bandwidth.\n\nFor information about Sag Qos and how to use it, see [What is Qos](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqos).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Qos(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Qos(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qos:Qos example qos-abc123456\n```\n\n", + "description": "Provides a Sag Qos resource. Smart Access Gateway (SAG) supports quintuple-based QoS functions to differentiate traffic of different services and ensure high-priority traffic bandwidth.\n\nFor information about Sag Qos and how to use it, see [What is Qos](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqos).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sag.Qos(\"default\", {name: \"terraform-example\"});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sag.Qos(\"default\", name=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: terraform-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qos:Qos example qos-abc123456\n```\n\n", "properties": { "name": { "type": "string", @@ -246755,7 +252435,7 @@ ] }, "alicloud:sag/qosCar:QosCar": { - "description": "Provides a Sag Qos Car resource.\n\nFor information about Sag Qos Car and how to use it, see [What is Qos Car](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqoscar).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst defaultQosCar = new alicloud.sag.QosCar(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n limitType: \"Absolute\",\n minBandwidthAbs: 10,\n maxBandwidthAbs: 20,\n percentSourceType: \"InternetUpBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\ndefault_qos_car = alicloud.sag.QosCar(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n limit_type=\"Absolute\",\n min_bandwidth_abs=10,\n max_bandwidth_abs=20,\n percent_source_type=\"InternetUpBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var defaultQosCar = new AliCloud.Sag.QosCar(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n LimitType = \"Absolute\",\n MinBandwidthAbs = 10,\n MaxBandwidthAbs = 20,\n PercentSourceType = \"InternetUpBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosCar(ctx, \"default\", \u0026sag.QosCarArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tLimitType: pulumi.String(\"Absolute\"),\n\t\t\tMinBandwidthAbs: pulumi.Int(10),\n\t\t\tMaxBandwidthAbs: pulumi.Int(20),\n\t\t\tPercentSourceType: pulumi.String(\"InternetUpBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.alicloud.sag.QosCar;\nimport com.pulumi.alicloud.sag.QosCarArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var defaultQosCar = new QosCar(\"defaultQosCar\", QosCarArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .limitType(\"Absolute\")\n .minBandwidthAbs(10)\n .maxBandwidthAbs(20)\n .percentSourceType(\"InternetUpBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n defaultQosCar:\n type: alicloud:sag:QosCar\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n limitType: Absolute\n minBandwidthAbs: '10'\n maxBandwidthAbs: '20'\n percentSourceType: InternetUpBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos Car can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qosCar:QosCar example \u003cqos_id\u003e:\u003cqos_car_id\u003e\n```\n\n", + "description": "Provides a Sag Qos Car resource.\n\nFor information about Sag Qos Car and how to use it, see [What is Qos Car](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqoscar).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst defaultQosCar = new alicloud.sag.QosCar(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n limitType: \"Absolute\",\n minBandwidthAbs: 10,\n maxBandwidthAbs: 20,\n percentSourceType: \"InternetUpBandwidth\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\ndefault_qos_car = alicloud.sag.QosCar(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n limit_type=\"Absolute\",\n min_bandwidth_abs=10,\n max_bandwidth_abs=20,\n percent_source_type=\"InternetUpBandwidth\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var defaultQosCar = new AliCloud.Sag.QosCar(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n LimitType = \"Absolute\",\n MinBandwidthAbs = 10,\n MaxBandwidthAbs = 20,\n PercentSourceType = \"InternetUpBandwidth\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosCar(ctx, \"default\", \u0026sag.QosCarArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tLimitType: pulumi.String(\"Absolute\"),\n\t\t\tMinBandwidthAbs: pulumi.Int(10),\n\t\t\tMaxBandwidthAbs: pulumi.Int(20),\n\t\t\tPercentSourceType: pulumi.String(\"InternetUpBandwidth\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.alicloud.sag.QosCar;\nimport com.pulumi.alicloud.sag.QosCarArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var defaultQosCar = new QosCar(\"defaultQosCar\", QosCarArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .limitType(\"Absolute\")\n .minBandwidthAbs(10)\n .maxBandwidthAbs(20)\n .percentSourceType(\"InternetUpBandwidth\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n defaultQosCar:\n type: alicloud:sag:QosCar\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n limitType: Absolute\n minBandwidthAbs: '10'\n maxBandwidthAbs: '20'\n percentSourceType: InternetUpBandwidth\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos Car can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qosCar:QosCar example \u003cqos_id\u003e:\u003cqos_car_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -246904,7 +252584,7 @@ ] }, "alicloud:sag/qosPolicy:QosPolicy": { - "description": "Provides a Sag qos policy resource. \nYou need to create a QoS policy to set priorities, rate limits, and quintuple rules for different messages.\n\nFor information about Sag Qos Policy and how to use it, see [What is Qos Policy](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqospolicy).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst example = new time.index.Static(\"example\", {});\nconst defaultQosPolicy = new alicloud.sag.QosPolicy(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n ipProtocol: \"ALL\",\n sourceCidr: \"192.168.0.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"10.10.0.0/24\",\n destPortRange: \"-1/-1\",\n startTime: std.replace({\n text: example.rfc3339,\n search: \"Z\",\n replace: \"+0800\",\n }).then(invoke =\u003e invoke.result),\n endTime: std.timeadd({\n duration: example.rfc3339,\n timestamp: \"24h\",\n }).then(invoke =\u003e std.replace({\n text: invoke.result,\n search: \"Z\",\n replace: \"+0800\",\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\nexample = time.index.Static(\"example\")\ndefault_qos_policy = alicloud.sag.QosPolicy(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n ip_protocol=\"ALL\",\n source_cidr=\"192.168.0.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"10.10.0.0/24\",\n dest_port_range=\"-1/-1\",\n start_time=std.replace(text=example[\"rfc3339\"],\n search=\"Z\",\n replace=\"+0800\").result,\n end_time=std.replace(text=std.timeadd(duration=example[\"rfc3339\"],\n timestamp=\"24h\").result,\n search=\"Z\",\n replace=\"+0800\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var example = new Time.Index.Static(\"example\");\n\n var defaultQosPolicy = new AliCloud.Sag.QosPolicy(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n IpProtocol = \"ALL\",\n SourceCidr = \"192.168.0.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"10.10.0.0/24\",\n DestPortRange = \"-1/-1\",\n StartTime = Std.Replace.Invoke(new()\n {\n Text = example.Rfc3339,\n Search = \"Z\",\n Replace = \"+0800\",\n }).Apply(invoke =\u003e invoke.Result),\n EndTime = Std.Timeadd.Invoke(new()\n {\n Duration = example.Rfc3339,\n Timestamp = \"24h\",\n }).Apply(invoke =\u003e Std.Replace.Invoke(new()\n {\n Text = invoke.Result,\n Search = \"Z\",\n Replace = \"+0800\",\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: example.Rfc3339,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace1, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: std.Timeadd(ctx, \u0026std.TimeaddArgs{\n\t\t\t\tDuration: example.Rfc3339,\n\t\t\t\tTimestamp: \"24h\",\n\t\t\t}, nil).Result,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosPolicy(ctx, \"default\", \u0026sag.QosPolicyArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tSourceCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"10.10.0.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tStartTime: pulumi.String(invokeReplace.Result),\n\t\t\tEndTime: pulumi.String(invokeReplace1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.time.Static;\nimport com.pulumi.alicloud.sag.QosPolicy;\nimport com.pulumi.alicloud.sag.QosPolicyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.TimeaddArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var example = new Static(\"example\");\n\n var defaultQosPolicy = new QosPolicy(\"defaultQosPolicy\", QosPolicyArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .ipProtocol(\"ALL\")\n .sourceCidr(\"192.168.0.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"10.10.0.0/24\")\n .destPortRange(\"-1/-1\")\n .startTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(example.rfc3339())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .endTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(StdFunctions.timeadd(TimeaddArgs.builder()\n .duration(example.rfc3339())\n .timestamp(\"24h\")\n .build()).result())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n example:\n type: time:Static\n defaultQosPolicy:\n type: alicloud:sag:QosPolicy\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n ipProtocol: ALL\n sourceCidr: 192.168.0.0/24\n sourcePortRange: -1/-1\n destCidr: 10.10.0.0/24\n destPortRange: -1/-1\n startTime:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.rfc3339}\n search: Z\n replace: '+0800'\n return: result\n endTime:\n fn::invoke:\n function: std:replace\n arguments:\n text:\n fn::invoke:\n function: std:timeadd\n arguments:\n duration: ${example.rfc3339}\n timestamp: 24h\n return: result\n search: Z\n replace: '+0800'\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qosPolicy:QosPolicy example qos-abc123456:qospy-abc123456\n```\n\n", + "description": "Provides a Sag qos policy resource. \nYou need to create a QoS policy to set priorities, rate limits, and quintuple rules for different messages.\n\nFor information about Sag Qos Policy and how to use it, see [What is Qos Policy](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createqospolicy).\n\n\u003e **NOTE:** Available since v1.60.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\nimport * as time from \"@pulumi/time\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.sag.Qos(\"default\", {name: name});\nconst example = new time.index.Static(\"example\", {});\nconst defaultQosPolicy = new alicloud.sag.QosPolicy(\"default\", {\n qosId: _default.id,\n name: name,\n description: name,\n priority: 1,\n ipProtocol: \"ALL\",\n sourceCidr: \"192.168.0.0/24\",\n sourcePortRange: \"-1/-1\",\n destCidr: \"10.10.0.0/24\",\n destPortRange: \"-1/-1\",\n startTime: std.replace({\n text: example.rfc3339,\n search: \"Z\",\n replace: \"+0800\",\n }).then(invoke =\u003e invoke.result),\n endTime: std.timeadd({\n duration: example.rfc3339,\n timestamp: \"24h\",\n }).then(invoke =\u003e std.replace({\n text: invoke.result,\n search: \"Z\",\n replace: \"+0800\",\n })).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\nimport pulumi_time as time\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.sag.Qos(\"default\", name=name)\nexample = time.index.Static(\"example\")\ndefault_qos_policy = alicloud.sag.QosPolicy(\"default\",\n qos_id=default.id,\n name=name,\n description=name,\n priority=1,\n ip_protocol=\"ALL\",\n source_cidr=\"192.168.0.0/24\",\n source_port_range=\"-1/-1\",\n dest_cidr=\"10.10.0.0/24\",\n dest_port_range=\"-1/-1\",\n start_time=std.replace(text=example[\"rfc3339\"],\n search=\"Z\",\n replace=\"+0800\").result,\n end_time=std.replace(text=std.timeadd(duration=example[\"rfc3339\"],\n timestamp=\"24h\").result,\n search=\"Z\",\n replace=\"+0800\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Sag.Qos(\"default\", new()\n {\n Name = name,\n });\n\n var example = new Time.Index.Static(\"example\");\n\n var defaultQosPolicy = new AliCloud.Sag.QosPolicy(\"default\", new()\n {\n QosId = @default.Id,\n Name = name,\n Description = name,\n Priority = 1,\n IpProtocol = \"ALL\",\n SourceCidr = \"192.168.0.0/24\",\n SourcePortRange = \"-1/-1\",\n DestCidr = \"10.10.0.0/24\",\n DestPortRange = \"-1/-1\",\n StartTime = Std.Replace.Invoke(new()\n {\n Text = example.Rfc3339,\n Search = \"Z\",\n Replace = \"+0800\",\n }).Apply(invoke =\u003e invoke.Result),\n EndTime = Std.Timeadd.Invoke(new()\n {\n Duration = example.Rfc3339,\n Timestamp = \"24h\",\n }).Apply(invoke =\u003e Std.Replace.Invoke(new()\n {\n Text = invoke.Result,\n Search = \"Z\",\n Replace = \"+0800\",\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := sag.NewQos(ctx, \"default\", \u0026sag.QosArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := time.NewStatic(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: example.Rfc3339,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeReplace1, err := std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\tText: std.Timeadd(ctx, \u0026std.TimeaddArgs{\n\t\t\t\tDuration: example.Rfc3339,\n\t\t\t\tTimestamp: \"24h\",\n\t\t\t}, nil).Result,\n\t\t\tSearch: \"Z\",\n\t\t\tReplace: \"+0800\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sag.NewQosPolicy(ctx, \"default\", \u0026sag.QosPolicyArgs{\n\t\t\tQosId: _default.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tIpProtocol: pulumi.String(\"ALL\"),\n\t\t\tSourceCidr: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tSourcePortRange: pulumi.String(\"-1/-1\"),\n\t\t\tDestCidr: pulumi.String(\"10.10.0.0/24\"),\n\t\t\tDestPortRange: pulumi.String(\"-1/-1\"),\n\t\t\tStartTime: pulumi.String(invokeReplace.Result),\n\t\t\tEndTime: pulumi.String(invokeReplace1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.Qos;\nimport com.pulumi.alicloud.sag.QosArgs;\nimport com.pulumi.time.Static;\nimport com.pulumi.alicloud.sag.QosPolicy;\nimport com.pulumi.alicloud.sag.QosPolicyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.TimeaddArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Qos(\"default\", QosArgs.builder()\n .name(name)\n .build());\n\n var example = new Static(\"example\");\n\n var defaultQosPolicy = new QosPolicy(\"defaultQosPolicy\", QosPolicyArgs.builder()\n .qosId(default_.id())\n .name(name)\n .description(name)\n .priority(1)\n .ipProtocol(\"ALL\")\n .sourceCidr(\"192.168.0.0/24\")\n .sourcePortRange(\"-1/-1\")\n .destCidr(\"10.10.0.0/24\")\n .destPortRange(\"-1/-1\")\n .startTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(example.rfc3339())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .endTime(StdFunctions.replace(ReplaceArgs.builder()\n .text(StdFunctions.timeadd(TimeaddArgs.builder()\n .duration(example.rfc3339())\n .timestamp(\"24h\")\n .build()).result())\n .search(\"Z\")\n .replace(\"+0800\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:sag:Qos\n properties:\n name: ${name}\n example:\n type: time:Static\n defaultQosPolicy:\n type: alicloud:sag:QosPolicy\n name: default\n properties:\n qosId: ${default.id}\n name: ${name}\n description: ${name}\n priority: '1'\n ipProtocol: ALL\n sourceCidr: 192.168.0.0/24\n sourcePortRange: -1/-1\n destCidr: 10.10.0.0/24\n destPortRange: -1/-1\n startTime:\n fn::invoke:\n function: std:replace\n arguments:\n text: ${example.rfc3339}\n search: Z\n replace: '+0800'\n return: result\n endTime:\n fn::invoke:\n function: std:replace\n arguments:\n text:\n fn::invoke:\n function: std:timeadd\n arguments:\n duration: ${example.rfc3339}\n timestamp: 24h\n return: result\n search: Z\n replace: '+0800'\n return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag Qos Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/qosPolicy:QosPolicy example qos-abc123456:qospy-abc123456\n```\n\n", "properties": { "description": { "type": "string", @@ -247073,7 +252753,7 @@ ] }, "alicloud:sag/smartagFlowLog:SmartagFlowLog": { - "description": "Provides a Smartag Flow Log resource.\n\nFor information about Smartag Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createflowlog).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.sag.SmartagFlowLog(\"example\", {\n netflowServerIp: \"192.168.0.2\",\n netflowServerPort: 9995,\n netflowVersion: \"V9\",\n outputType: \"netflow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.sag.SmartagFlowLog(\"example\",\n netflow_server_ip=\"192.168.0.2\",\n netflow_server_port=9995,\n netflow_version=\"V9\",\n output_type=\"netflow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Sag.SmartagFlowLog(\"example\", new()\n {\n NetflowServerIp = \"192.168.0.2\",\n NetflowServerPort = 9995,\n NetflowVersion = \"V9\",\n OutputType = \"netflow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewSmartagFlowLog(ctx, \"example\", \u0026sag.SmartagFlowLogArgs{\n\t\t\tNetflowServerIp: pulumi.String(\"192.168.0.2\"),\n\t\t\tNetflowServerPort: pulumi.Int(9995),\n\t\t\tNetflowVersion: pulumi.String(\"V9\"),\n\t\t\tOutputType: pulumi.String(\"netflow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.SmartagFlowLog;\nimport com.pulumi.alicloud.sag.SmartagFlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 SmartagFlowLog(\"example\", SmartagFlowLogArgs.builder()\n .netflowServerIp(\"192.168.0.2\")\n .netflowServerPort(9995)\n .netflowVersion(\"V9\")\n .outputType(\"netflow\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:sag:SmartagFlowLog\n properties:\n netflowServerIp: 192.168.0.2\n netflowServerPort: 9995\n netflowVersion: V9\n outputType: netflow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSmartag Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/smartagFlowLog:SmartagFlowLog example \u003cid\u003e\n```\n\n", + "description": "Provides a Smartag Flow Log resource.\n\nFor information about Smartag Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/createflowlog).\n\n\u003e **NOTE:** Available since v1.168.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.sag.SmartagFlowLog(\"example\", {\n netflowServerIp: \"192.168.0.2\",\n netflowServerPort: 9995,\n netflowVersion: \"V9\",\n outputType: \"netflow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.sag.SmartagFlowLog(\"example\",\n netflow_server_ip=\"192.168.0.2\",\n netflow_server_port=9995,\n netflow_version=\"V9\",\n output_type=\"netflow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Sag.SmartagFlowLog(\"example\", new()\n {\n NetflowServerIp = \"192.168.0.2\",\n NetflowServerPort = 9995,\n NetflowVersion = \"V9\",\n OutputType = \"netflow\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sag.NewSmartagFlowLog(ctx, \"example\", \u0026sag.SmartagFlowLogArgs{\n\t\t\tNetflowServerIp: pulumi.String(\"192.168.0.2\"),\n\t\t\tNetflowServerPort: pulumi.Int(9995),\n\t\t\tNetflowVersion: pulumi.String(\"V9\"),\n\t\t\tOutputType: pulumi.String(\"netflow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sag.SmartagFlowLog;\nimport com.pulumi.alicloud.sag.SmartagFlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 SmartagFlowLog(\"example\", SmartagFlowLogArgs.builder()\n .netflowServerIp(\"192.168.0.2\")\n .netflowServerPort(9995)\n .netflowVersion(\"V9\")\n .outputType(\"netflow\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:sag:SmartagFlowLog\n properties:\n netflowServerIp: 192.168.0.2\n netflowServerPort: 9995\n netflowVersion: V9\n outputType: netflow\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSmartag Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/smartagFlowLog:SmartagFlowLog example \u003cid\u003e\n```\n\n", "properties": { "activeAging": { "type": "integer", @@ -247241,7 +252921,7 @@ } }, "alicloud:sag/snatEntry:SnatEntry": { - "description": "Provides a Sag SnatEntry resource. This topic describes how to add a SNAT entry to enable the SNAT function. The SNAT function can hide internal IP addresses and resolve private IP address conflicts. With this function, on-premises sites can access internal IP addresses, but cannot be accessed by internal IP addresses. If you do not add a SNAT entry, on-premises sites can access each other only when all related IP addresses do not conflict.\n\nFor information about Sag SnatEntry and how to use it, see [What is Sag SnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addsnatentry).\n\n\u003e **NOTE:** Available since v1.61.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifk***\";\nconst _default = new alicloud.sag.SnatEntry(\"default\", {\n sagId: sagId,\n cidrBlock: \"192.168.7.0/24\",\n snatIp: \"192.0.0.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifk***\"\ndefault = alicloud.sag.SnatEntry(\"default\",\n sag_id=sag_id,\n cidr_block=\"192.168.7.0/24\",\n snat_ip=\"192.0.0.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifk***\";\n var @default = new AliCloud.Sag.SnatEntry(\"default\", new()\n {\n SagId = sagId,\n CidrBlock = \"192.168.7.0/24\",\n SnatIp = \"192.0.0.2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifk***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewSnatEntry(ctx, \"default\", \u0026sag.SnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tCidrBlock: pulumi.String(\"192.168.7.0/24\"),\n\t\t\tSnatIp: pulumi.String(\"192.0.0.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.alicloud.sag.SnatEntry;\nimport com.pulumi.alicloud.sag.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifk***\");\n var default_ = new SnatEntry(\"default\", SnatEntryArgs.builder()\n .sagId(sagId)\n .cidrBlock(\"192.168.7.0/24\")\n .snatIp(\"192.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifk***\nresources:\n default:\n type: alicloud:sag:SnatEntry\n properties:\n sagId: ${sagId}\n cidrBlock: 192.168.7.0/24\n snatIp: 192.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Sag SnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/snatEntry:SnatEntry example sag-abc123456:snat-abc123456\n```\n\n", + "description": "Provides a Sag SnatEntry resource. This topic describes how to add a SNAT entry to enable the SNAT function. The SNAT function can hide internal IP addresses and resolve private IP address conflicts. With this function, on-premises sites can access internal IP addresses, but cannot be accessed by internal IP addresses. If you do not add a SNAT entry, on-premises sites can access each other only when all related IP addresses do not conflict.\n\nFor information about Sag SnatEntry and how to use it, see [What is Sag SnatEntry](https://www.alibabacloud.com/help/en/smart-access-gateway/latest/addsnatentry).\n\n\u003e **NOTE:** Available since v1.61.0.\n\n\u003e **NOTE:** Only the following regions support. [`cn-shanghai`, `cn-shanghai-finance-1`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`]\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst sagId = config.get(\"sagId\") || \"sag-9bifk***\";\nconst _default = new alicloud.sag.SnatEntry(\"default\", {\n sagId: sagId,\n cidrBlock: \"192.168.7.0/24\",\n snatIp: \"192.0.0.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nsag_id = config.get(\"sagId\")\nif sag_id is None:\n sag_id = \"sag-9bifk***\"\ndefault = alicloud.sag.SnatEntry(\"default\",\n sag_id=sag_id,\n cidr_block=\"192.168.7.0/24\",\n snat_ip=\"192.0.0.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var sagId = config.Get(\"sagId\") ?? \"sag-9bifk***\";\n var @default = new AliCloud.Sag.SnatEntry(\"default\", new()\n {\n SagId = sagId,\n CidrBlock = \"192.168.7.0/24\",\n SnatIp = \"192.0.0.2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tsagId := \"sag-9bifk***\"\n\t\tif param := cfg.Get(\"sagId\"); param != \"\" {\n\t\t\tsagId = param\n\t\t}\n\t\t_, err := sag.NewSnatEntry(ctx, \"default\", \u0026sag.SnatEntryArgs{\n\t\t\tSagId: pulumi.String(sagId),\n\t\t\tCidrBlock: pulumi.String(\"192.168.7.0/24\"),\n\t\t\tSnatIp: pulumi.String(\"192.0.0.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.alicloud.sag.SnatEntry;\nimport com.pulumi.alicloud.sag.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 sagId = config.get(\"sagId\").orElse(\"sag-9bifk***\");\n var default_ = new SnatEntry(\"default\", SnatEntryArgs.builder()\n .sagId(sagId)\n .cidrBlock(\"192.168.7.0/24\")\n .snatIp(\"192.0.0.2\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n sagId:\n type: string\n default: sag-9bifk***\nresources:\n default:\n type: alicloud:sag:SnatEntry\n properties:\n sagId: ${sagId}\n cidrBlock: 192.168.7.0/24\n snatIp: 192.0.0.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe Sag SnatEntry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sag/snatEntry:SnatEntry example sag-abc123456:snat-abc123456\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -247311,7 +252991,7 @@ ] }, "alicloud:scdn/domain:Domain": { - "description": "Provides a SCDN Domain resource.\n\nFor information about SCDN Domain and how to use it, see [What is Domain](https://help.aliyun.com/document_detail/63672.html).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n\u003e **NOTE:** Alibaba Cloud SCDN has stopped new customer purchases from January 26, 2023, and you can choose to buy Alibaba Cloud DCDN products with more comprehensive acceleration and protection capabilities. If you are already a SCDN customer, you can submit a work order at any time to apply for a smooth migration to Alibaba Cloud DCDN products. In the future, we will provide better acceleration and security protection services in Alibaba Cloud DCDN, thank you for your understanding and cooperation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.aliyun.com/product/scdn) from version `1.219.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.scdn.Domain(\"example\", {\n domainName: \"my-Domain\",\n sources: [{\n content: \"xxx.aliyuncs.com\",\n enabled: \"online\",\n port: 80,\n priority: \"20\",\n type: \"oss\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.scdn.Domain(\"example\",\n domain_name=\"my-Domain\",\n sources=[{\n \"content\": \"xxx.aliyuncs.com\",\n \"enabled\": \"online\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"oss\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Scdn.Domain(\"example\", new()\n {\n DomainName = \"my-Domain\",\n Sources = new[]\n {\n new AliCloud.Scdn.Inputs.DomainSourceArgs\n {\n Content = \"xxx.aliyuncs.com\",\n Enabled = \"online\",\n Port = 80,\n Priority = \"20\",\n Type = \"oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/scdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scdn.NewDomain(ctx, \"example\", \u0026scdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"my-Domain\"),\n\t\t\tSources: scdn.DomainSourceArray{\n\t\t\t\t\u0026scdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"xxx.aliyuncs.com\"),\n\t\t\t\t\tEnabled: pulumi.String(\"online\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"oss\"),\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.alicloud.scdn.Domain;\nimport com.pulumi.alicloud.scdn.DomainArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Domain(\"example\", DomainArgs.builder()\n .domainName(\"my-Domain\")\n .sources(DomainSourceArgs.builder()\n .content(\"xxx.aliyuncs.com\")\n .enabled(\"online\")\n .port(80)\n .priority(\"20\")\n .type(\"oss\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:scdn:Domain\n properties:\n domainName: my-Domain\n sources:\n - content: xxx.aliyuncs.com\n enabled: online\n port: 80\n priority: '20'\n type: oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:scdn/domain:Domain example \u003cdomain_name\u003e\n```\n\n", + "description": "Provides a SCDN Domain resource.\n\nFor information about SCDN Domain and how to use it, see [What is Domain](https://help.aliyun.com/document_detail/63672.html).\n\n\u003e **NOTE:** Available since v1.131.0.\n\n\u003e **NOTE:** Alibaba Cloud SCDN has stopped new customer purchases from January 26, 2023, and you can choose to buy Alibaba Cloud DCDN products with more comprehensive acceleration and protection capabilities. If you are already a SCDN customer, you can submit a work order at any time to apply for a smooth migration to Alibaba Cloud DCDN products. In the future, we will provide better acceleration and security protection services in Alibaba Cloud DCDN, thank you for your understanding and cooperation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.aliyun.com/product/scdn) from version `1.219.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.scdn.Domain(\"example\", {\n domainName: \"my-Domain\",\n sources: [{\n content: \"xxx.aliyuncs.com\",\n enabled: \"online\",\n port: 80,\n priority: \"20\",\n type: \"oss\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.scdn.Domain(\"example\",\n domain_name=\"my-Domain\",\n sources=[{\n \"content\": \"xxx.aliyuncs.com\",\n \"enabled\": \"online\",\n \"port\": 80,\n \"priority\": \"20\",\n \"type\": \"oss\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Scdn.Domain(\"example\", new()\n {\n DomainName = \"my-Domain\",\n Sources = new[]\n {\n new AliCloud.Scdn.Inputs.DomainSourceArgs\n {\n Content = \"xxx.aliyuncs.com\",\n Enabled = \"online\",\n Port = 80,\n Priority = \"20\",\n Type = \"oss\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/scdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scdn.NewDomain(ctx, \"example\", \u0026scdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"my-Domain\"),\n\t\t\tSources: scdn.DomainSourceArray{\n\t\t\t\t\u0026scdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"xxx.aliyuncs.com\"),\n\t\t\t\t\tEnabled: pulumi.String(\"online\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\n\t\t\t\t\tType: pulumi.String(\"oss\"),\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.alicloud.scdn.Domain;\nimport com.pulumi.alicloud.scdn.DomainArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Domain(\"example\", DomainArgs.builder()\n .domainName(\"my-Domain\")\n .sources(DomainSourceArgs.builder()\n .content(\"xxx.aliyuncs.com\")\n .enabled(\"online\")\n .port(80)\n .priority(\"20\")\n .type(\"oss\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:scdn:Domain\n properties:\n domainName: my-Domain\n sources:\n - content: xxx.aliyuncs.com\n enabled: online\n port: 80\n priority: '20'\n type: oss\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSCDN Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:scdn/domain:Domain example \u003cdomain_name\u003e\n```\n\n", "properties": { "bizName": { "type": "string", @@ -247453,7 +253133,7 @@ } }, "alicloud:scdn/domainConfig:DomainConfig": { - "description": "Provides a SCDN Accelerated Domain resource.\n\nFor information about domain config and how to use it, see [Batch set config](https://help.aliyun.com/document_detail/92912.html)\n\n\u003e **NOTE:** Available in v1.131.0+.\n\n\u003e **NOTE:** Alibaba Cloud SCDN has stopped new customer purchases from January 26, 2023, and you can choose to buy Alibaba Cloud DCDN products with more comprehensive acceleration and protection capabilities. If you are already a SCDN customer, you can submit a work order at any time to apply for a smooth migration to Alibaba Cloud DCDN products. In the future, we will provide better acceleration and security protection services in Alibaba Cloud DCDN, thank you for your understanding and cooperation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.aliyun.com/product/scdn) from version `1.219.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new Domain config.\nconst domain = new alicloud.scdn.Domain(\"domain\", {\n domainName: \"mydomain.alicloud-provider.cn\",\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: \"20\",\n port: 80,\n }],\n});\nconst config = new alicloud.scdn.DomainConfig(\"config\", {\n domainName: domain.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"110.110.110.110\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new Domain config.\ndomain = alicloud.scdn.Domain(\"domain\",\n domain_name=\"mydomain.alicloud-provider.cn\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": \"20\",\n \"port\": 80,\n }])\nconfig = alicloud.scdn.DomainConfig(\"config\",\n domain_name=domain.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Domain config.\n var domain = new AliCloud.Scdn.Domain(\"domain\", new()\n {\n DomainName = \"mydomain.alicloud-provider.cn\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Scdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = \"20\",\n Port = 80,\n },\n },\n });\n\n var config = new AliCloud.Scdn.DomainConfig(\"config\", new()\n {\n DomainName = domain.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Scdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/scdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Domain config.\n\t\tdomain, err := scdn.NewDomain(ctx, \"domain\", \u0026scdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.alicloud-provider.cn\"),\n\t\t\tCdnType: \"web\",\n\t\t\tScope: \"overseas\",\n\t\t\tSources: scdn.DomainSourceArray{\n\t\t\t\t\u0026scdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\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\t_, err = scdn.NewDomainConfig(ctx, \"config\", \u0026scdn.DomainConfigArgs{\n\t\t\tDomainName: domain.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: scdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026scdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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.alicloud.scdn.Domain;\nimport com.pulumi.alicloud.scdn.DomainArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.scdn.DomainConfig;\nimport com.pulumi.alicloud.scdn.DomainConfigArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new Domain config.\n var domain = new Domain(\"domain\", DomainArgs.builder()\n .domainName(\"mydomain.alicloud-provider.cn\")\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(\"20\")\n .port(80)\n .build())\n .build());\n\n var config = new DomainConfig(\"config\", DomainConfigArgs.builder()\n .domainName(domain.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Domain config.\n domain:\n type: alicloud:scdn:Domain\n properties:\n domainName: mydomain.alicloud-provider.cn\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: '20'\n port: 80\n config:\n type: alicloud:scdn:DomainConfig\n properties:\n domainName: ${domain.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 110.110.110.110\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:scdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n", + "description": "Provides a SCDN Accelerated Domain resource.\n\nFor information about domain config and how to use it, see [Batch set config](https://help.aliyun.com/document_detail/92912.html)\n\n\u003e **NOTE:** Available in v1.131.0+.\n\n\u003e **NOTE:** Alibaba Cloud SCDN has stopped new customer purchases from January 26, 2023, and you can choose to buy Alibaba Cloud DCDN products with more comprehensive acceleration and protection capabilities. If you are already a SCDN customer, you can submit a work order at any time to apply for a smooth migration to Alibaba Cloud DCDN products. In the future, we will provide better acceleration and security protection services in Alibaba Cloud DCDN, thank you for your understanding and cooperation.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.aliyun.com/product/scdn) from version `1.219.0`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\n// Create a new Domain config.\nconst domain = new alicloud.scdn.Domain(\"domain\", {\n domainName: \"mydomain.alicloud-provider.cn\",\n cdnType: \"web\",\n scope: \"overseas\",\n sources: [{\n content: \"1.1.1.1\",\n type: \"ipaddr\",\n priority: \"20\",\n port: 80,\n }],\n});\nconst config = new alicloud.scdn.DomainConfig(\"config\", {\n domainName: domain.domainName,\n functionName: \"ip_allow_list_set\",\n functionArgs: [{\n argName: \"ip_list\",\n argValue: \"110.110.110.110\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\n# Create a new Domain config.\ndomain = alicloud.scdn.Domain(\"domain\",\n domain_name=\"mydomain.alicloud-provider.cn\",\n cdn_type=\"web\",\n scope=\"overseas\",\n sources=[{\n \"content\": \"1.1.1.1\",\n \"type\": \"ipaddr\",\n \"priority\": \"20\",\n \"port\": 80,\n }])\nconfig = alicloud.scdn.DomainConfig(\"config\",\n domain_name=domain.domain_name,\n function_name=\"ip_allow_list_set\",\n function_args=[{\n \"arg_name\": \"ip_list\",\n \"arg_value\": \"110.110.110.110\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Domain config.\n var domain = new AliCloud.Scdn.Domain(\"domain\", new()\n {\n DomainName = \"mydomain.alicloud-provider.cn\",\n CdnType = \"web\",\n Scope = \"overseas\",\n Sources = new[]\n {\n new AliCloud.Scdn.Inputs.DomainSourceArgs\n {\n Content = \"1.1.1.1\",\n Type = \"ipaddr\",\n Priority = \"20\",\n Port = 80,\n },\n },\n });\n\n var config = new AliCloud.Scdn.DomainConfig(\"config\", new()\n {\n DomainName = domain.DomainName,\n FunctionName = \"ip_allow_list_set\",\n FunctionArgs = new[]\n {\n new AliCloud.Scdn.Inputs.DomainConfigFunctionArgArgs\n {\n ArgName = \"ip_list\",\n ArgValue = \"110.110.110.110\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/scdn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Domain config.\n\t\tdomain, err := scdn.NewDomain(ctx, \"domain\", \u0026scdn.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"mydomain.alicloud-provider.cn\"),\n\t\t\tCdnType: \"web\",\n\t\t\tScope: \"overseas\",\n\t\t\tSources: scdn.DomainSourceArray{\n\t\t\t\t\u0026scdn.DomainSourceArgs{\n\t\t\t\t\tContent: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tType: pulumi.String(\"ipaddr\"),\n\t\t\t\t\tPriority: pulumi.String(\"20\"),\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\t_, err = scdn.NewDomainConfig(ctx, \"config\", \u0026scdn.DomainConfigArgs{\n\t\t\tDomainName: domain.DomainName,\n\t\t\tFunctionName: pulumi.String(\"ip_allow_list_set\"),\n\t\t\tFunctionArgs: scdn.DomainConfigFunctionArgArray{\n\t\t\t\t\u0026scdn.DomainConfigFunctionArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"ip_list\"),\n\t\t\t\t\tArgValue: pulumi.String(\"110.110.110.110\"),\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.alicloud.scdn.Domain;\nimport com.pulumi.alicloud.scdn.DomainArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainSourceArgs;\nimport com.pulumi.alicloud.scdn.DomainConfig;\nimport com.pulumi.alicloud.scdn.DomainConfigArgs;\nimport com.pulumi.alicloud.scdn.inputs.DomainConfigFunctionArgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 a new Domain config.\n var domain = new Domain(\"domain\", DomainArgs.builder()\n .domainName(\"mydomain.alicloud-provider.cn\")\n .cdnType(\"web\")\n .scope(\"overseas\")\n .sources(DomainSourceArgs.builder()\n .content(\"1.1.1.1\")\n .type(\"ipaddr\")\n .priority(\"20\")\n .port(80)\n .build())\n .build());\n\n var config = new DomainConfig(\"config\", DomainConfigArgs.builder()\n .domainName(domain.domainName())\n .functionName(\"ip_allow_list_set\")\n .functionArgs(DomainConfigFunctionArgArgs.builder()\n .argName(\"ip_list\")\n .argValue(\"110.110.110.110\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Domain config.\n domain:\n type: alicloud:scdn:Domain\n properties:\n domainName: mydomain.alicloud-provider.cn\n cdnType: web\n scope: overseas\n sources:\n - content: 1.1.1.1\n type: ipaddr\n priority: '20'\n port: 80\n config:\n type: alicloud:scdn:DomainConfig\n properties:\n domainName: ${domain.domainName}\n functionName: ip_allow_list_set\n functionArgs:\n - argName: ip_list\n argValue: 110.110.110.110\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSCDN domain config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:scdn/domainConfig:DomainConfig example \u003cdomain_name\u003e:\u003cfunction_name\u003e:\u003cconfig_id\u003e\n```\n\n", "properties": { "configId": { "type": "string", @@ -247543,7 +253223,7 @@ } }, "alicloud:schedulerx/appGroup:AppGroup": { - "description": "Provides a Schedulerx App Group resource.\n\n\n\nFor information about Schedulerx App Group and how to use it, see [What is App Group](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-createappgroup).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createNameSpace = new alicloud.schedulerx.Namespace(\"CreateNameSpace\", {\n namespaceName: name,\n description: name,\n});\nconst _default = new alicloud.schedulerx.AppGroup(\"default\", {\n maxJobs: 100,\n monitorContactsJson: JSON.stringify([\n {\n userName: \"name1\",\n userPhone: \"89756******\",\n },\n {\n userName: \"name2\",\n ding: \"http://www.example.com\",\n },\n ]),\n deleteJobs: false,\n appType: 1,\n namespaceSource: \"schedulerx\",\n groupId: \"example-appgroup-pop-autoexample\",\n namespaceName: \"default\",\n description: name,\n monitorConfigJson: JSON.stringify({\n sendChannel: \"sms,ding\",\n }),\n appVersion: \"1\",\n appName: \"example-appgroup-pop-autoexample\",\n namespace: createNameSpace.namespaceUid,\n enableLog: false,\n scheduleBusyWorkers: false,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_name_space = alicloud.schedulerx.Namespace(\"CreateNameSpace\",\n namespace_name=name,\n description=name)\ndefault = alicloud.schedulerx.AppGroup(\"default\",\n max_jobs=100,\n monitor_contacts_json=json.dumps([\n {\n \"userName\": \"name1\",\n \"userPhone\": \"89756******\",\n },\n {\n \"userName\": \"name2\",\n \"ding\": \"http://www.example.com\",\n },\n ]),\n delete_jobs=False,\n app_type=1,\n namespace_source=\"schedulerx\",\n group_id=\"example-appgroup-pop-autoexample\",\n namespace_name=\"default\",\n description=name,\n monitor_config_json=json.dumps({\n \"sendChannel\": \"sms,ding\",\n }),\n app_version=\"1\",\n app_name=\"example-appgroup-pop-autoexample\",\n namespace=create_name_space.namespace_uid,\n enable_log=False,\n schedule_busy_workers=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createNameSpace = new AliCloud.SchedulerX.Namespace(\"CreateNameSpace\", new()\n {\n NamespaceName = name,\n Description = name,\n });\n\n var @default = new AliCloud.SchedulerX.AppGroup(\"default\", new()\n {\n MaxJobs = 100,\n MonitorContactsJson = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name1\",\n [\"userPhone\"] = \"89756******\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name2\",\n [\"ding\"] = \"http://www.example.com\",\n },\n }),\n DeleteJobs = false,\n AppType = 1,\n NamespaceSource = \"schedulerx\",\n GroupId = \"example-appgroup-pop-autoexample\",\n NamespaceName = \"default\",\n Description = name,\n MonitorConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sendChannel\"] = \"sms,ding\",\n }),\n AppVersion = \"1\",\n AppName = \"example-appgroup-pop-autoexample\",\n Namespace = createNameSpace.NamespaceUid,\n EnableLog = false,\n ScheduleBusyWorkers = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateNameSpace, err := schedulerx.NewNamespace(ctx, \"CreateNameSpace\", \u0026schedulerx.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name1\",\n\t\t\t\t\"userPhone\": \"89756******\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name2\",\n\t\t\t\t\"ding\": \"http://www.example.com\",\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\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sendChannel\": \"sms,ding\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = schedulerx.NewAppGroup(ctx, \"default\", \u0026schedulerx.AppGroupArgs{\n\t\t\tMaxJobs: pulumi.Int(100),\n\t\t\tMonitorContactsJson: pulumi.String(json0),\n\t\t\tDeleteJobs: pulumi.Bool(false),\n\t\t\tAppType: pulumi.Int(1),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tGroupId: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespaceName: pulumi.String(\"default\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tMonitorConfigJson: pulumi.String(json1),\n\t\t\tAppVersion: pulumi.String(\"1\"),\n\t\t\tAppName: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tEnableLog: pulumi.Bool(false),\n\t\t\tScheduleBusyWorkers: 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.alicloud.schedulerx.Namespace;\nimport com.pulumi.alicloud.schedulerx.NamespaceArgs;\nimport com.pulumi.alicloud.schedulerx.AppGroup;\nimport com.pulumi.alicloud.schedulerx.AppGroupArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createNameSpace = new Namespace(\"createNameSpace\", NamespaceArgs.builder()\n .namespaceName(name)\n .description(name)\n .build());\n\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .maxJobs(100)\n .monitorContactsJson(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"userName\", \"name1\"),\n jsonProperty(\"userPhone\", \"89756******\")\n ), \n jsonObject(\n jsonProperty(\"userName\", \"name2\"),\n jsonProperty(\"ding\", \"http://www.example.com\")\n )\n )))\n .deleteJobs(false)\n .appType(1)\n .namespaceSource(\"schedulerx\")\n .groupId(\"example-appgroup-pop-autoexample\")\n .namespaceName(\"default\")\n .description(name)\n .monitorConfigJson(serializeJson(\n jsonObject(\n jsonProperty(\"sendChannel\", \"sms,ding\")\n )))\n .appVersion(\"1\")\n .appName(\"example-appgroup-pop-autoexample\")\n .namespace(createNameSpace.namespaceUid())\n .enableLog(false)\n .scheduleBusyWorkers(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createNameSpace:\n type: alicloud:schedulerx:Namespace\n name: CreateNameSpace\n properties:\n namespaceName: ${name}\n description: ${name}\n default:\n type: alicloud:schedulerx:AppGroup\n properties:\n maxJobs: '100'\n monitorContactsJson:\n fn::toJSON:\n - userName: name1\n userPhone: 89756******\n - userName: name2\n ding: http://www.example.com\n deleteJobs: 'false'\n appType: '1'\n namespaceSource: schedulerx\n groupId: example-appgroup-pop-autoexample\n namespaceName: default\n description: ${name}\n monitorConfigJson:\n fn::toJSON:\n sendChannel: sms,ding\n appVersion: '1'\n appName: example-appgroup-pop-autoexample\n namespace: ${createNameSpace.namespaceUid}\n enableLog: 'false'\n scheduleBusyWorkers: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSchedulerx App Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/appGroup:AppGroup example \u003cnamespace\u003e:\u003cgroup_id\u003e\n```\n\n", + "description": "Provides a Schedulerx App Group resource.\n\n\n\nFor information about Schedulerx App Group and how to use it, see [What is App Group](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-createappgroup).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createNameSpace = new alicloud.schedulerx.Namespace(\"CreateNameSpace\", {\n namespaceName: name,\n description: name,\n});\nconst _default = new alicloud.schedulerx.AppGroup(\"default\", {\n maxJobs: 100,\n monitorContactsJson: JSON.stringify([\n {\n userName: \"name1\",\n userPhone: \"89756******\",\n },\n {\n userName: \"name2\",\n ding: \"http://www.example.com\",\n },\n ]),\n deleteJobs: false,\n appType: 1,\n namespaceSource: \"schedulerx\",\n groupId: \"example-appgroup-pop-autoexample\",\n namespaceName: \"default\",\n description: name,\n monitorConfigJson: JSON.stringify({\n sendChannel: \"sms,ding\",\n }),\n appVersion: \"1\",\n appName: \"example-appgroup-pop-autoexample\",\n namespace: createNameSpace.namespaceUid,\n enableLog: false,\n scheduleBusyWorkers: false,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_name_space = alicloud.schedulerx.Namespace(\"CreateNameSpace\",\n namespace_name=name,\n description=name)\ndefault = alicloud.schedulerx.AppGroup(\"default\",\n max_jobs=100,\n monitor_contacts_json=json.dumps([\n {\n \"userName\": \"name1\",\n \"userPhone\": \"89756******\",\n },\n {\n \"userName\": \"name2\",\n \"ding\": \"http://www.example.com\",\n },\n ]),\n delete_jobs=False,\n app_type=1,\n namespace_source=\"schedulerx\",\n group_id=\"example-appgroup-pop-autoexample\",\n namespace_name=\"default\",\n description=name,\n monitor_config_json=json.dumps({\n \"sendChannel\": \"sms,ding\",\n }),\n app_version=\"1\",\n app_name=\"example-appgroup-pop-autoexample\",\n namespace=create_name_space.namespace_uid,\n enable_log=False,\n schedule_busy_workers=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createNameSpace = new AliCloud.SchedulerX.Namespace(\"CreateNameSpace\", new()\n {\n NamespaceName = name,\n Description = name,\n });\n\n var @default = new AliCloud.SchedulerX.AppGroup(\"default\", new()\n {\n MaxJobs = 100,\n MonitorContactsJson = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name1\",\n [\"userPhone\"] = \"89756******\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name2\",\n [\"ding\"] = \"http://www.example.com\",\n },\n }),\n DeleteJobs = false,\n AppType = 1,\n NamespaceSource = \"schedulerx\",\n GroupId = \"example-appgroup-pop-autoexample\",\n NamespaceName = \"default\",\n Description = name,\n MonitorConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sendChannel\"] = \"sms,ding\",\n }),\n AppVersion = \"1\",\n AppName = \"example-appgroup-pop-autoexample\",\n Namespace = createNameSpace.NamespaceUid,\n EnableLog = false,\n ScheduleBusyWorkers = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateNameSpace, err := schedulerx.NewNamespace(ctx, \"CreateNameSpace\", \u0026schedulerx.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name1\",\n\t\t\t\t\"userPhone\": \"89756******\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name2\",\n\t\t\t\t\"ding\": \"http://www.example.com\",\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\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sendChannel\": \"sms,ding\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = schedulerx.NewAppGroup(ctx, \"default\", \u0026schedulerx.AppGroupArgs{\n\t\t\tMaxJobs: pulumi.Int(100),\n\t\t\tMonitorContactsJson: pulumi.String(json0),\n\t\t\tDeleteJobs: pulumi.Bool(false),\n\t\t\tAppType: pulumi.Int(1),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tGroupId: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespaceName: pulumi.String(\"default\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tMonitorConfigJson: pulumi.String(json1),\n\t\t\tAppVersion: pulumi.String(\"1\"),\n\t\t\tAppName: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tEnableLog: pulumi.Bool(false),\n\t\t\tScheduleBusyWorkers: 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.alicloud.schedulerx.Namespace;\nimport com.pulumi.alicloud.schedulerx.NamespaceArgs;\nimport com.pulumi.alicloud.schedulerx.AppGroup;\nimport com.pulumi.alicloud.schedulerx.AppGroupArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createNameSpace = new Namespace(\"createNameSpace\", NamespaceArgs.builder()\n .namespaceName(name)\n .description(name)\n .build());\n\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .maxJobs(100)\n .monitorContactsJson(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"userName\", \"name1\"),\n jsonProperty(\"userPhone\", \"89756******\")\n ), \n jsonObject(\n jsonProperty(\"userName\", \"name2\"),\n jsonProperty(\"ding\", \"http://www.example.com\")\n )\n )))\n .deleteJobs(false)\n .appType(1)\n .namespaceSource(\"schedulerx\")\n .groupId(\"example-appgroup-pop-autoexample\")\n .namespaceName(\"default\")\n .description(name)\n .monitorConfigJson(serializeJson(\n jsonObject(\n jsonProperty(\"sendChannel\", \"sms,ding\")\n )))\n .appVersion(\"1\")\n .appName(\"example-appgroup-pop-autoexample\")\n .namespace(createNameSpace.namespaceUid())\n .enableLog(false)\n .scheduleBusyWorkers(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createNameSpace:\n type: alicloud:schedulerx:Namespace\n name: CreateNameSpace\n properties:\n namespaceName: ${name}\n description: ${name}\n default:\n type: alicloud:schedulerx:AppGroup\n properties:\n maxJobs: '100'\n monitorContactsJson:\n fn::toJSON:\n - userName: name1\n userPhone: 89756******\n - userName: name2\n ding: http://www.example.com\n deleteJobs: 'false'\n appType: '1'\n namespaceSource: schedulerx\n groupId: example-appgroup-pop-autoexample\n namespaceName: default\n description: ${name}\n monitorConfigJson:\n fn::toJSON:\n sendChannel: sms,ding\n appVersion: '1'\n appName: example-appgroup-pop-autoexample\n namespace: ${createNameSpace.namespaceUid}\n enableLog: 'false'\n scheduleBusyWorkers: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSchedulerx App Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/appGroup:AppGroup example \u003cnamespace\u003e:\u003cgroup_id\u003e\n```\n\n", "properties": { "appName": { "type": "string", @@ -247608,7 +253288,9 @@ }, "required": [ "appName", + "appVersion", "groupId", + "maxJobs", "namespace", "namespaceName" ], @@ -247756,7 +253438,7 @@ } }, "alicloud:schedulerx/job:Job": { - "description": "Provides a Schedulerx Job resource.\n\n\n\nFor information about Schedulerx Job and how to use it, see [What is Job](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-createjob).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createNameSpace = new alicloud.schedulerx.Namespace(\"CreateNameSpace\", {\n namespaceName: name,\n description: name,\n});\nconst _default = new alicloud.schedulerx.AppGroup(\"default\", {\n maxJobs: 100,\n monitorContactsJson: JSON.stringify([\n {\n userName: \"name1\",\n userPhone: \"89756******\",\n },\n {\n userName: \"name2\",\n ding: \"http://www.example.com\",\n },\n ]),\n deleteJobs: false,\n appType: 1,\n namespaceSource: \"schedulerx\",\n groupId: \"example-appgroup-pop-autoexample\",\n namespaceName: \"default\",\n description: name,\n monitorConfigJson: JSON.stringify({\n sendChannel: \"sms,ding\",\n }),\n appVersion: \"1\",\n appName: \"example-appgroup-pop-autoexample\",\n namespace: createNameSpace.namespaceUid,\n enableLog: false,\n scheduleBusyWorkers: false,\n});\nconst defaultJob = new alicloud.schedulerx.Job(\"default\", {\n timezone: \"GTM+7\",\n status: \"Enable\",\n maxAttempt: 0,\n description: name,\n parameters: \"hello word\",\n jobName: name,\n maxConcurrency: \"1\",\n timeConfig: {\n dataOffset: 1,\n timeExpression: \"100000\",\n timeType: 3,\n calendar: \"workday\",\n },\n mapTaskXattrs: {\n taskMaxAttempt: 1,\n taskAttemptInterval: 1,\n consumerSize: 5,\n queueSize: 10000,\n dispatcherSize: 5,\n pageSize: 100,\n },\n namespace: createNameSpace.namespaceUid,\n groupId: _default.groupId,\n jobType: \"java\",\n jobMonitorInfo: {\n contactInfos: [\n {\n userPhone: \"12345678910\",\n userName: \"tangtao-1\",\n ding: \"https://alidocs.dingtalk.com\",\n userMail: \"12345678@xx.com\",\n },\n {\n userPhone: \"12345678910\",\n userName: \"tangtao-2\",\n ding: \"https://alidocs.dingtalk.com1\",\n userMail: \"123456789@xx.com\",\n },\n ],\n monitorConfig: {\n timeout: 7200,\n sendChannel: \"sms\",\n timeoutKillEnable: true,\n timeoutEnable: true,\n failEnable: true,\n missWorkerEnable: true,\n },\n },\n className: \"com.aliyun.schedulerx.example.processor.SimpleJob\",\n namespaceSource: \"schedulerx\",\n attemptInterval: 30,\n failTimes: 1,\n executeMode: \"batch\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_name_space = alicloud.schedulerx.Namespace(\"CreateNameSpace\",\n namespace_name=name,\n description=name)\ndefault = alicloud.schedulerx.AppGroup(\"default\",\n max_jobs=100,\n monitor_contacts_json=json.dumps([\n {\n \"userName\": \"name1\",\n \"userPhone\": \"89756******\",\n },\n {\n \"userName\": \"name2\",\n \"ding\": \"http://www.example.com\",\n },\n ]),\n delete_jobs=False,\n app_type=1,\n namespace_source=\"schedulerx\",\n group_id=\"example-appgroup-pop-autoexample\",\n namespace_name=\"default\",\n description=name,\n monitor_config_json=json.dumps({\n \"sendChannel\": \"sms,ding\",\n }),\n app_version=\"1\",\n app_name=\"example-appgroup-pop-autoexample\",\n namespace=create_name_space.namespace_uid,\n enable_log=False,\n schedule_busy_workers=False)\ndefault_job = alicloud.schedulerx.Job(\"default\",\n timezone=\"GTM+7\",\n status=\"Enable\",\n max_attempt=0,\n description=name,\n parameters=\"hello word\",\n job_name=name,\n max_concurrency=\"1\",\n time_config={\n \"data_offset\": 1,\n \"time_expression\": \"100000\",\n \"time_type\": 3,\n \"calendar\": \"workday\",\n },\n map_task_xattrs={\n \"task_max_attempt\": 1,\n \"task_attempt_interval\": 1,\n \"consumer_size\": 5,\n \"queue_size\": 10000,\n \"dispatcher_size\": 5,\n \"page_size\": 100,\n },\n namespace=create_name_space.namespace_uid,\n group_id=default.group_id,\n job_type=\"java\",\n job_monitor_info={\n \"contact_infos\": [\n {\n \"user_phone\": \"12345678910\",\n \"user_name\": \"tangtao-1\",\n \"ding\": \"https://alidocs.dingtalk.com\",\n \"user_mail\": \"12345678@xx.com\",\n },\n {\n \"user_phone\": \"12345678910\",\n \"user_name\": \"tangtao-2\",\n \"ding\": \"https://alidocs.dingtalk.com1\",\n \"user_mail\": \"123456789@xx.com\",\n },\n ],\n \"monitor_config\": {\n \"timeout\": 7200,\n \"send_channel\": \"sms\",\n \"timeout_kill_enable\": True,\n \"timeout_enable\": True,\n \"fail_enable\": True,\n \"miss_worker_enable\": True,\n },\n },\n class_name=\"com.aliyun.schedulerx.example.processor.SimpleJob\",\n namespace_source=\"schedulerx\",\n attempt_interval=30,\n fail_times=1,\n execute_mode=\"batch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createNameSpace = new AliCloud.SchedulerX.Namespace(\"CreateNameSpace\", new()\n {\n NamespaceName = name,\n Description = name,\n });\n\n var @default = new AliCloud.SchedulerX.AppGroup(\"default\", new()\n {\n MaxJobs = 100,\n MonitorContactsJson = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name1\",\n [\"userPhone\"] = \"89756******\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name2\",\n [\"ding\"] = \"http://www.example.com\",\n },\n }),\n DeleteJobs = false,\n AppType = 1,\n NamespaceSource = \"schedulerx\",\n GroupId = \"example-appgroup-pop-autoexample\",\n NamespaceName = \"default\",\n Description = name,\n MonitorConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sendChannel\"] = \"sms,ding\",\n }),\n AppVersion = \"1\",\n AppName = \"example-appgroup-pop-autoexample\",\n Namespace = createNameSpace.NamespaceUid,\n EnableLog = false,\n ScheduleBusyWorkers = false,\n });\n\n var defaultJob = new AliCloud.SchedulerX.Job(\"default\", new()\n {\n Timezone = \"GTM+7\",\n Status = \"Enable\",\n MaxAttempt = 0,\n Description = name,\n Parameters = \"hello word\",\n JobName = name,\n MaxConcurrency = \"1\",\n TimeConfig = new AliCloud.SchedulerX.Inputs.JobTimeConfigArgs\n {\n DataOffset = 1,\n TimeExpression = \"100000\",\n TimeType = 3,\n Calendar = \"workday\",\n },\n MapTaskXattrs = new AliCloud.SchedulerX.Inputs.JobMapTaskXattrsArgs\n {\n TaskMaxAttempt = 1,\n TaskAttemptInterval = 1,\n ConsumerSize = 5,\n QueueSize = 10000,\n DispatcherSize = 5,\n PageSize = 100,\n },\n Namespace = createNameSpace.NamespaceUid,\n GroupId = @default.GroupId,\n JobType = \"java\",\n JobMonitorInfo = new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoArgs\n {\n ContactInfos = new[]\n {\n new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoContactInfoArgs\n {\n UserPhone = \"12345678910\",\n UserName = \"tangtao-1\",\n Ding = \"https://alidocs.dingtalk.com\",\n UserMail = \"12345678@xx.com\",\n },\n new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoContactInfoArgs\n {\n UserPhone = \"12345678910\",\n UserName = \"tangtao-2\",\n Ding = \"https://alidocs.dingtalk.com1\",\n UserMail = \"123456789@xx.com\",\n },\n },\n MonitorConfig = new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoMonitorConfigArgs\n {\n Timeout = 7200,\n SendChannel = \"sms\",\n TimeoutKillEnable = true,\n TimeoutEnable = true,\n FailEnable = true,\n MissWorkerEnable = true,\n },\n },\n ClassName = \"com.aliyun.schedulerx.example.processor.SimpleJob\",\n NamespaceSource = \"schedulerx\",\n AttemptInterval = 30,\n FailTimes = 1,\n ExecuteMode = \"batch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateNameSpace, err := schedulerx.NewNamespace(ctx, \"CreateNameSpace\", \u0026schedulerx.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name1\",\n\t\t\t\t\"userPhone\": \"89756******\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name2\",\n\t\t\t\t\"ding\": \"http://www.example.com\",\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\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sendChannel\": \"sms,ding\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_default, err := schedulerx.NewAppGroup(ctx, \"default\", \u0026schedulerx.AppGroupArgs{\n\t\t\tMaxJobs: pulumi.Int(100),\n\t\t\tMonitorContactsJson: pulumi.String(json0),\n\t\t\tDeleteJobs: pulumi.Bool(false),\n\t\t\tAppType: pulumi.Int(1),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tGroupId: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespaceName: pulumi.String(\"default\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tMonitorConfigJson: pulumi.String(json1),\n\t\t\tAppVersion: pulumi.String(\"1\"),\n\t\t\tAppName: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tEnableLog: pulumi.Bool(false),\n\t\t\tScheduleBusyWorkers: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schedulerx.NewJob(ctx, \"default\", \u0026schedulerx.JobArgs{\n\t\t\tTimezone: pulumi.String(\"GTM+7\"),\n\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\tMaxAttempt: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tParameters: pulumi.String(\"hello word\"),\n\t\t\tJobName: pulumi.String(name),\n\t\t\tMaxConcurrency: pulumi.String(\"1\"),\n\t\t\tTimeConfig: \u0026schedulerx.JobTimeConfigArgs{\n\t\t\t\tDataOffset: pulumi.Int(1),\n\t\t\t\tTimeExpression: pulumi.String(\"100000\"),\n\t\t\t\tTimeType: pulumi.Int(3),\n\t\t\t\tCalendar: pulumi.String(\"workday\"),\n\t\t\t},\n\t\t\tMapTaskXattrs: \u0026schedulerx.JobMapTaskXattrsArgs{\n\t\t\t\tTaskMaxAttempt: pulumi.Int(1),\n\t\t\t\tTaskAttemptInterval: pulumi.Int(1),\n\t\t\t\tConsumerSize: pulumi.Int(5),\n\t\t\t\tQueueSize: pulumi.Int(10000),\n\t\t\t\tDispatcherSize: pulumi.Int(5),\n\t\t\t\tPageSize: pulumi.Int(100),\n\t\t\t},\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tGroupId: _default.GroupId,\n\t\t\tJobType: pulumi.String(\"java\"),\n\t\t\tJobMonitorInfo: \u0026schedulerx.JobJobMonitorInfoArgs{\n\t\t\t\tContactInfos: schedulerx.JobJobMonitorInfoContactInfoArray{\n\t\t\t\t\t\u0026schedulerx.JobJobMonitorInfoContactInfoArgs{\n\t\t\t\t\t\tUserPhone: pulumi.String(\"12345678910\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"tangtao-1\"),\n\t\t\t\t\t\tDing: pulumi.String(\"https://alidocs.dingtalk.com\"),\n\t\t\t\t\t\tUserMail: pulumi.String(\"12345678@xx.com\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026schedulerx.JobJobMonitorInfoContactInfoArgs{\n\t\t\t\t\t\tUserPhone: pulumi.String(\"12345678910\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"tangtao-2\"),\n\t\t\t\t\t\tDing: pulumi.String(\"https://alidocs.dingtalk.com1\"),\n\t\t\t\t\t\tUserMail: pulumi.String(\"123456789@xx.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMonitorConfig: \u0026schedulerx.JobJobMonitorInfoMonitorConfigArgs{\n\t\t\t\t\tTimeout: pulumi.Int(7200),\n\t\t\t\t\tSendChannel: pulumi.String(\"sms\"),\n\t\t\t\t\tTimeoutKillEnable: pulumi.Bool(true),\n\t\t\t\t\tTimeoutEnable: pulumi.Bool(true),\n\t\t\t\t\tFailEnable: pulumi.Bool(true),\n\t\t\t\t\tMissWorkerEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClassName: pulumi.String(\"com.aliyun.schedulerx.example.processor.SimpleJob\"),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tAttemptInterval: pulumi.Int(30),\n\t\t\tFailTimes: pulumi.Int(1),\n\t\t\tExecuteMode: pulumi.String(\"batch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.schedulerx.Namespace;\nimport com.pulumi.alicloud.schedulerx.NamespaceArgs;\nimport com.pulumi.alicloud.schedulerx.AppGroup;\nimport com.pulumi.alicloud.schedulerx.AppGroupArgs;\nimport com.pulumi.alicloud.schedulerx.Job;\nimport com.pulumi.alicloud.schedulerx.JobArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobTimeConfigArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobMapTaskXattrsArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobJobMonitorInfoArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobJobMonitorInfoMonitorConfigArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createNameSpace = new Namespace(\"createNameSpace\", NamespaceArgs.builder()\n .namespaceName(name)\n .description(name)\n .build());\n\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .maxJobs(100)\n .monitorContactsJson(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"userName\", \"name1\"),\n jsonProperty(\"userPhone\", \"89756******\")\n ), \n jsonObject(\n jsonProperty(\"userName\", \"name2\"),\n jsonProperty(\"ding\", \"http://www.example.com\")\n )\n )))\n .deleteJobs(false)\n .appType(1)\n .namespaceSource(\"schedulerx\")\n .groupId(\"example-appgroup-pop-autoexample\")\n .namespaceName(\"default\")\n .description(name)\n .monitorConfigJson(serializeJson(\n jsonObject(\n jsonProperty(\"sendChannel\", \"sms,ding\")\n )))\n .appVersion(\"1\")\n .appName(\"example-appgroup-pop-autoexample\")\n .namespace(createNameSpace.namespaceUid())\n .enableLog(false)\n .scheduleBusyWorkers(false)\n .build());\n\n var defaultJob = new Job(\"defaultJob\", JobArgs.builder()\n .timezone(\"GTM+7\")\n .status(\"Enable\")\n .maxAttempt(0)\n .description(name)\n .parameters(\"hello word\")\n .jobName(name)\n .maxConcurrency(\"1\")\n .timeConfig(JobTimeConfigArgs.builder()\n .dataOffset(1)\n .timeExpression(\"100000\")\n .timeType(3)\n .calendar(\"workday\")\n .build())\n .mapTaskXattrs(JobMapTaskXattrsArgs.builder()\n .taskMaxAttempt(1)\n .taskAttemptInterval(1)\n .consumerSize(5)\n .queueSize(10000)\n .dispatcherSize(5)\n .pageSize(100)\n .build())\n .namespace(createNameSpace.namespaceUid())\n .groupId(default_.groupId())\n .jobType(\"java\")\n .jobMonitorInfo(JobJobMonitorInfoArgs.builder()\n .contactInfos( \n JobJobMonitorInfoContactInfoArgs.builder()\n .userPhone(\"12345678910\")\n .userName(\"tangtao-1\")\n .ding(\"https://alidocs.dingtalk.com\")\n .userMail(\"12345678@xx.com\")\n .build(),\n JobJobMonitorInfoContactInfoArgs.builder()\n .userPhone(\"12345678910\")\n .userName(\"tangtao-2\")\n .ding(\"https://alidocs.dingtalk.com1\")\n .userMail(\"123456789@xx.com\")\n .build())\n .monitorConfig(JobJobMonitorInfoMonitorConfigArgs.builder()\n .timeout(7200)\n .sendChannel(\"sms\")\n .timeoutKillEnable(true)\n .timeoutEnable(true)\n .failEnable(true)\n .missWorkerEnable(true)\n .build())\n .build())\n .className(\"com.aliyun.schedulerx.example.processor.SimpleJob\")\n .namespaceSource(\"schedulerx\")\n .attemptInterval(30)\n .failTimes(1)\n .executeMode(\"batch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createNameSpace:\n type: alicloud:schedulerx:Namespace\n name: CreateNameSpace\n properties:\n namespaceName: ${name}\n description: ${name}\n default:\n type: alicloud:schedulerx:AppGroup\n properties:\n maxJobs: '100'\n monitorContactsJson:\n fn::toJSON:\n - userName: name1\n userPhone: 89756******\n - userName: name2\n ding: http://www.example.com\n deleteJobs: 'false'\n appType: '1'\n namespaceSource: schedulerx\n groupId: example-appgroup-pop-autoexample\n namespaceName: default\n description: ${name}\n monitorConfigJson:\n fn::toJSON:\n sendChannel: sms,ding\n appVersion: '1'\n appName: example-appgroup-pop-autoexample\n namespace: ${createNameSpace.namespaceUid}\n enableLog: 'false'\n scheduleBusyWorkers: 'false'\n defaultJob:\n type: alicloud:schedulerx:Job\n name: default\n properties:\n timezone: GTM+7\n status: Enable\n maxAttempt: '0'\n description: ${name}\n parameters: hello word\n jobName: ${name}\n maxConcurrency: '1'\n timeConfig:\n dataOffset: '1'\n timeExpression: '100000'\n timeType: '3'\n calendar: workday\n mapTaskXattrs:\n taskMaxAttempt: '1'\n taskAttemptInterval: '1'\n consumerSize: '5'\n queueSize: '10000'\n dispatcherSize: '5'\n pageSize: '100'\n namespace: ${createNameSpace.namespaceUid}\n groupId: ${default.groupId}\n jobType: java\n jobMonitorInfo:\n contactInfos:\n - userPhone: '12345678910'\n userName: tangtao-1\n ding: https://alidocs.dingtalk.com\n userMail: 12345678@xx.com\n - userPhone: '12345678910'\n userName: tangtao-2\n ding: https://alidocs.dingtalk.com1\n userMail: 123456789@xx.com\n monitorConfig:\n timeout: '7200'\n sendChannel: sms\n timeoutKillEnable: true\n timeoutEnable: true\n failEnable: true\n missWorkerEnable: true\n className: com.aliyun.schedulerx.example.processor.SimpleJob\n namespaceSource: schedulerx\n attemptInterval: '30'\n failTimes: '1'\n executeMode: batch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSchedulerx Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/job:Job example \u003cnamespace\u003e:\u003cgroup_id\u003e:\u003cjob_id\u003e\n```\n\n", + "description": "Provides a Schedulerx Job resource.\n\n\n\nFor information about Schedulerx Job and how to use it, see [What is Job](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-createjob).\n\n\u003e **NOTE:** Available since v1.240.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst createNameSpace = new alicloud.schedulerx.Namespace(\"CreateNameSpace\", {\n namespaceName: name,\n description: name,\n});\nconst _default = new alicloud.schedulerx.AppGroup(\"default\", {\n maxJobs: 100,\n monitorContactsJson: JSON.stringify([\n {\n userName: \"name1\",\n userPhone: \"89756******\",\n },\n {\n userName: \"name2\",\n ding: \"http://www.example.com\",\n },\n ]),\n deleteJobs: false,\n appType: 1,\n namespaceSource: \"schedulerx\",\n groupId: \"example-appgroup-pop-autoexample\",\n namespaceName: \"default\",\n description: name,\n monitorConfigJson: JSON.stringify({\n sendChannel: \"sms,ding\",\n }),\n appVersion: \"1\",\n appName: \"example-appgroup-pop-autoexample\",\n namespace: createNameSpace.namespaceUid,\n enableLog: false,\n scheduleBusyWorkers: false,\n});\nconst defaultJob = new alicloud.schedulerx.Job(\"default\", {\n timezone: \"GTM+7\",\n status: \"Enable\",\n maxAttempt: 0,\n description: name,\n parameters: \"hello word\",\n jobName: name,\n maxConcurrency: \"1\",\n timeConfig: {\n dataOffset: 1,\n timeExpression: \"100000\",\n timeType: 3,\n calendar: \"workday\",\n },\n mapTaskXattrs: {\n taskMaxAttempt: 1,\n taskAttemptInterval: 1,\n consumerSize: 5,\n queueSize: 10000,\n dispatcherSize: 5,\n pageSize: 100,\n },\n namespace: createNameSpace.namespaceUid,\n groupId: _default.groupId,\n jobType: \"java\",\n jobMonitorInfo: {\n contactInfos: [\n {\n userPhone: \"12345678910\",\n userName: \"tangtao-1\",\n ding: \"https://alidocs.dingtalk.com\",\n userMail: \"12345678@xx.com\",\n },\n {\n userPhone: \"12345678910\",\n userName: \"tangtao-2\",\n ding: \"https://alidocs.dingtalk.com1\",\n userMail: \"123456789@xx.com\",\n },\n ],\n monitorConfig: {\n timeout: 7200,\n sendChannel: \"sms\",\n timeoutKillEnable: true,\n timeoutEnable: true,\n failEnable: true,\n missWorkerEnable: true,\n },\n },\n className: \"com.aliyun.schedulerx.example.processor.SimpleJob\",\n namespaceSource: \"schedulerx\",\n attemptInterval: 30,\n failTimes: 1,\n executeMode: \"batch\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncreate_name_space = alicloud.schedulerx.Namespace(\"CreateNameSpace\",\n namespace_name=name,\n description=name)\ndefault = alicloud.schedulerx.AppGroup(\"default\",\n max_jobs=100,\n monitor_contacts_json=json.dumps([\n {\n \"userName\": \"name1\",\n \"userPhone\": \"89756******\",\n },\n {\n \"userName\": \"name2\",\n \"ding\": \"http://www.example.com\",\n },\n ]),\n delete_jobs=False,\n app_type=1,\n namespace_source=\"schedulerx\",\n group_id=\"example-appgroup-pop-autoexample\",\n namespace_name=\"default\",\n description=name,\n monitor_config_json=json.dumps({\n \"sendChannel\": \"sms,ding\",\n }),\n app_version=\"1\",\n app_name=\"example-appgroup-pop-autoexample\",\n namespace=create_name_space.namespace_uid,\n enable_log=False,\n schedule_busy_workers=False)\ndefault_job = alicloud.schedulerx.Job(\"default\",\n timezone=\"GTM+7\",\n status=\"Enable\",\n max_attempt=0,\n description=name,\n parameters=\"hello word\",\n job_name=name,\n max_concurrency=\"1\",\n time_config={\n \"data_offset\": 1,\n \"time_expression\": \"100000\",\n \"time_type\": 3,\n \"calendar\": \"workday\",\n },\n map_task_xattrs={\n \"task_max_attempt\": 1,\n \"task_attempt_interval\": 1,\n \"consumer_size\": 5,\n \"queue_size\": 10000,\n \"dispatcher_size\": 5,\n \"page_size\": 100,\n },\n namespace=create_name_space.namespace_uid,\n group_id=default.group_id,\n job_type=\"java\",\n job_monitor_info={\n \"contact_infos\": [\n {\n \"user_phone\": \"12345678910\",\n \"user_name\": \"tangtao-1\",\n \"ding\": \"https://alidocs.dingtalk.com\",\n \"user_mail\": \"12345678@xx.com\",\n },\n {\n \"user_phone\": \"12345678910\",\n \"user_name\": \"tangtao-2\",\n \"ding\": \"https://alidocs.dingtalk.com1\",\n \"user_mail\": \"123456789@xx.com\",\n },\n ],\n \"monitor_config\": {\n \"timeout\": 7200,\n \"send_channel\": \"sms\",\n \"timeout_kill_enable\": True,\n \"timeout_enable\": True,\n \"fail_enable\": True,\n \"miss_worker_enable\": True,\n },\n },\n class_name=\"com.aliyun.schedulerx.example.processor.SimpleJob\",\n namespace_source=\"schedulerx\",\n attempt_interval=30,\n fail_times=1,\n execute_mode=\"batch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var createNameSpace = new AliCloud.SchedulerX.Namespace(\"CreateNameSpace\", new()\n {\n NamespaceName = name,\n Description = name,\n });\n\n var @default = new AliCloud.SchedulerX.AppGroup(\"default\", new()\n {\n MaxJobs = 100,\n MonitorContactsJson = JsonSerializer.Serialize(new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name1\",\n [\"userPhone\"] = \"89756******\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"userName\"] = \"name2\",\n [\"ding\"] = \"http://www.example.com\",\n },\n }),\n DeleteJobs = false,\n AppType = 1,\n NamespaceSource = \"schedulerx\",\n GroupId = \"example-appgroup-pop-autoexample\",\n NamespaceName = \"default\",\n Description = name,\n MonitorConfigJson = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"sendChannel\"] = \"sms,ding\",\n }),\n AppVersion = \"1\",\n AppName = \"example-appgroup-pop-autoexample\",\n Namespace = createNameSpace.NamespaceUid,\n EnableLog = false,\n ScheduleBusyWorkers = false,\n });\n\n var defaultJob = new AliCloud.SchedulerX.Job(\"default\", new()\n {\n Timezone = \"GTM+7\",\n Status = \"Enable\",\n MaxAttempt = 0,\n Description = name,\n Parameters = \"hello word\",\n JobName = name,\n MaxConcurrency = \"1\",\n TimeConfig = new AliCloud.SchedulerX.Inputs.JobTimeConfigArgs\n {\n DataOffset = 1,\n TimeExpression = \"100000\",\n TimeType = 3,\n Calendar = \"workday\",\n },\n MapTaskXattrs = new AliCloud.SchedulerX.Inputs.JobMapTaskXattrsArgs\n {\n TaskMaxAttempt = 1,\n TaskAttemptInterval = 1,\n ConsumerSize = 5,\n QueueSize = 10000,\n DispatcherSize = 5,\n PageSize = 100,\n },\n Namespace = createNameSpace.NamespaceUid,\n GroupId = @default.GroupId,\n JobType = \"java\",\n JobMonitorInfo = new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoArgs\n {\n ContactInfos = new[]\n {\n new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoContactInfoArgs\n {\n UserPhone = \"12345678910\",\n UserName = \"tangtao-1\",\n Ding = \"https://alidocs.dingtalk.com\",\n UserMail = \"12345678@xx.com\",\n },\n new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoContactInfoArgs\n {\n UserPhone = \"12345678910\",\n UserName = \"tangtao-2\",\n Ding = \"https://alidocs.dingtalk.com1\",\n UserMail = \"123456789@xx.com\",\n },\n },\n MonitorConfig = new AliCloud.SchedulerX.Inputs.JobJobMonitorInfoMonitorConfigArgs\n {\n Timeout = 7200,\n SendChannel = \"sms\",\n TimeoutKillEnable = true,\n TimeoutEnable = true,\n FailEnable = true,\n MissWorkerEnable = true,\n },\n },\n ClassName = \"com.aliyun.schedulerx.example.processor.SimpleJob\",\n NamespaceSource = \"schedulerx\",\n AttemptInterval = 30,\n FailTimes = 1,\n ExecuteMode = \"batch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tcreateNameSpace, err := schedulerx.NewNamespace(ctx, \"CreateNameSpace\", \u0026schedulerx.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal([]interface{}{\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name1\",\n\t\t\t\t\"userPhone\": \"89756******\",\n\t\t\t},\n\t\t\tmap[string]interface{}{\n\t\t\t\t\"userName\": \"name2\",\n\t\t\t\t\"ding\": \"http://www.example.com\",\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\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"sendChannel\": \"sms,ding\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_default, err := schedulerx.NewAppGroup(ctx, \"default\", \u0026schedulerx.AppGroupArgs{\n\t\t\tMaxJobs: pulumi.Int(100),\n\t\t\tMonitorContactsJson: pulumi.String(json0),\n\t\t\tDeleteJobs: pulumi.Bool(false),\n\t\t\tAppType: pulumi.Int(1),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tGroupId: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespaceName: pulumi.String(\"default\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tMonitorConfigJson: pulumi.String(json1),\n\t\t\tAppVersion: pulumi.String(\"1\"),\n\t\t\tAppName: pulumi.String(\"example-appgroup-pop-autoexample\"),\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tEnableLog: pulumi.Bool(false),\n\t\t\tScheduleBusyWorkers: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = schedulerx.NewJob(ctx, \"default\", \u0026schedulerx.JobArgs{\n\t\t\tTimezone: pulumi.String(\"GTM+7\"),\n\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\tMaxAttempt: pulumi.Int(0),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tParameters: pulumi.String(\"hello word\"),\n\t\t\tJobName: pulumi.String(name),\n\t\t\tMaxConcurrency: pulumi.String(\"1\"),\n\t\t\tTimeConfig: \u0026schedulerx.JobTimeConfigArgs{\n\t\t\t\tDataOffset: pulumi.Int(1),\n\t\t\t\tTimeExpression: pulumi.String(\"100000\"),\n\t\t\t\tTimeType: pulumi.Int(3),\n\t\t\t\tCalendar: pulumi.String(\"workday\"),\n\t\t\t},\n\t\t\tMapTaskXattrs: \u0026schedulerx.JobMapTaskXattrsArgs{\n\t\t\t\tTaskMaxAttempt: pulumi.Int(1),\n\t\t\t\tTaskAttemptInterval: pulumi.Int(1),\n\t\t\t\tConsumerSize: pulumi.Int(5),\n\t\t\t\tQueueSize: pulumi.Int(10000),\n\t\t\t\tDispatcherSize: pulumi.Int(5),\n\t\t\t\tPageSize: pulumi.Int(100),\n\t\t\t},\n\t\t\tNamespace: createNameSpace.NamespaceUid,\n\t\t\tGroupId: _default.GroupId,\n\t\t\tJobType: pulumi.String(\"java\"),\n\t\t\tJobMonitorInfo: \u0026schedulerx.JobJobMonitorInfoArgs{\n\t\t\t\tContactInfos: schedulerx.JobJobMonitorInfoContactInfoArray{\n\t\t\t\t\t\u0026schedulerx.JobJobMonitorInfoContactInfoArgs{\n\t\t\t\t\t\tUserPhone: pulumi.String(\"12345678910\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"tangtao-1\"),\n\t\t\t\t\t\tDing: pulumi.String(\"https://alidocs.dingtalk.com\"),\n\t\t\t\t\t\tUserMail: pulumi.String(\"12345678@xx.com\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026schedulerx.JobJobMonitorInfoContactInfoArgs{\n\t\t\t\t\t\tUserPhone: pulumi.String(\"12345678910\"),\n\t\t\t\t\t\tUserName: pulumi.String(\"tangtao-2\"),\n\t\t\t\t\t\tDing: pulumi.String(\"https://alidocs.dingtalk.com1\"),\n\t\t\t\t\t\tUserMail: pulumi.String(\"123456789@xx.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMonitorConfig: \u0026schedulerx.JobJobMonitorInfoMonitorConfigArgs{\n\t\t\t\t\tTimeout: pulumi.Int(7200),\n\t\t\t\t\tSendChannel: pulumi.String(\"sms\"),\n\t\t\t\t\tTimeoutKillEnable: pulumi.Bool(true),\n\t\t\t\t\tTimeoutEnable: pulumi.Bool(true),\n\t\t\t\t\tFailEnable: pulumi.Bool(true),\n\t\t\t\t\tMissWorkerEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClassName: pulumi.String(\"com.aliyun.schedulerx.example.processor.SimpleJob\"),\n\t\t\tNamespaceSource: pulumi.String(\"schedulerx\"),\n\t\t\tAttemptInterval: pulumi.Int(30),\n\t\t\tFailTimes: pulumi.Int(1),\n\t\t\tExecuteMode: pulumi.String(\"batch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.schedulerx.Namespace;\nimport com.pulumi.alicloud.schedulerx.NamespaceArgs;\nimport com.pulumi.alicloud.schedulerx.AppGroup;\nimport com.pulumi.alicloud.schedulerx.AppGroupArgs;\nimport com.pulumi.alicloud.schedulerx.Job;\nimport com.pulumi.alicloud.schedulerx.JobArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobTimeConfigArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobMapTaskXattrsArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobJobMonitorInfoArgs;\nimport com.pulumi.alicloud.schedulerx.inputs.JobJobMonitorInfoMonitorConfigArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var createNameSpace = new Namespace(\"createNameSpace\", NamespaceArgs.builder()\n .namespaceName(name)\n .description(name)\n .build());\n\n var default_ = new AppGroup(\"default\", AppGroupArgs.builder()\n .maxJobs(100)\n .monitorContactsJson(serializeJson(\n jsonArray(\n jsonObject(\n jsonProperty(\"userName\", \"name1\"),\n jsonProperty(\"userPhone\", \"89756******\")\n ), \n jsonObject(\n jsonProperty(\"userName\", \"name2\"),\n jsonProperty(\"ding\", \"http://www.example.com\")\n )\n )))\n .deleteJobs(false)\n .appType(1)\n .namespaceSource(\"schedulerx\")\n .groupId(\"example-appgroup-pop-autoexample\")\n .namespaceName(\"default\")\n .description(name)\n .monitorConfigJson(serializeJson(\n jsonObject(\n jsonProperty(\"sendChannel\", \"sms,ding\")\n )))\n .appVersion(\"1\")\n .appName(\"example-appgroup-pop-autoexample\")\n .namespace(createNameSpace.namespaceUid())\n .enableLog(false)\n .scheduleBusyWorkers(false)\n .build());\n\n var defaultJob = new Job(\"defaultJob\", JobArgs.builder()\n .timezone(\"GTM+7\")\n .status(\"Enable\")\n .maxAttempt(0)\n .description(name)\n .parameters(\"hello word\")\n .jobName(name)\n .maxConcurrency(\"1\")\n .timeConfig(JobTimeConfigArgs.builder()\n .dataOffset(1)\n .timeExpression(\"100000\")\n .timeType(3)\n .calendar(\"workday\")\n .build())\n .mapTaskXattrs(JobMapTaskXattrsArgs.builder()\n .taskMaxAttempt(1)\n .taskAttemptInterval(1)\n .consumerSize(5)\n .queueSize(10000)\n .dispatcherSize(5)\n .pageSize(100)\n .build())\n .namespace(createNameSpace.namespaceUid())\n .groupId(default_.groupId())\n .jobType(\"java\")\n .jobMonitorInfo(JobJobMonitorInfoArgs.builder()\n .contactInfos( \n JobJobMonitorInfoContactInfoArgs.builder()\n .userPhone(\"12345678910\")\n .userName(\"tangtao-1\")\n .ding(\"https://alidocs.dingtalk.com\")\n .userMail(\"12345678@xx.com\")\n .build(),\n JobJobMonitorInfoContactInfoArgs.builder()\n .userPhone(\"12345678910\")\n .userName(\"tangtao-2\")\n .ding(\"https://alidocs.dingtalk.com1\")\n .userMail(\"123456789@xx.com\")\n .build())\n .monitorConfig(JobJobMonitorInfoMonitorConfigArgs.builder()\n .timeout(7200)\n .sendChannel(\"sms\")\n .timeoutKillEnable(true)\n .timeoutEnable(true)\n .failEnable(true)\n .missWorkerEnable(true)\n .build())\n .build())\n .className(\"com.aliyun.schedulerx.example.processor.SimpleJob\")\n .namespaceSource(\"schedulerx\")\n .attemptInterval(30)\n .failTimes(1)\n .executeMode(\"batch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n createNameSpace:\n type: alicloud:schedulerx:Namespace\n name: CreateNameSpace\n properties:\n namespaceName: ${name}\n description: ${name}\n default:\n type: alicloud:schedulerx:AppGroup\n properties:\n maxJobs: '100'\n monitorContactsJson:\n fn::toJSON:\n - userName: name1\n userPhone: 89756******\n - userName: name2\n ding: http://www.example.com\n deleteJobs: 'false'\n appType: '1'\n namespaceSource: schedulerx\n groupId: example-appgroup-pop-autoexample\n namespaceName: default\n description: ${name}\n monitorConfigJson:\n fn::toJSON:\n sendChannel: sms,ding\n appVersion: '1'\n appName: example-appgroup-pop-autoexample\n namespace: ${createNameSpace.namespaceUid}\n enableLog: 'false'\n scheduleBusyWorkers: 'false'\n defaultJob:\n type: alicloud:schedulerx:Job\n name: default\n properties:\n timezone: GTM+7\n status: Enable\n maxAttempt: '0'\n description: ${name}\n parameters: hello word\n jobName: ${name}\n maxConcurrency: '1'\n timeConfig:\n dataOffset: '1'\n timeExpression: '100000'\n timeType: '3'\n calendar: workday\n mapTaskXattrs:\n taskMaxAttempt: '1'\n taskAttemptInterval: '1'\n consumerSize: '5'\n queueSize: '10000'\n dispatcherSize: '5'\n pageSize: '100'\n namespace: ${createNameSpace.namespaceUid}\n groupId: ${default.groupId}\n jobType: java\n jobMonitorInfo:\n contactInfos:\n - userPhone: '12345678910'\n userName: tangtao-1\n ding: https://alidocs.dingtalk.com\n userMail: 12345678@xx.com\n - userPhone: '12345678910'\n userName: tangtao-2\n ding: https://alidocs.dingtalk.com1\n userMail: 123456789@xx.com\n monitorConfig:\n timeout: '7200'\n sendChannel: sms\n timeoutKillEnable: true\n timeoutEnable: true\n failEnable: true\n missWorkerEnable: true\n className: com.aliyun.schedulerx.example.processor.SimpleJob\n namespaceSource: schedulerx\n attemptInterval: '30'\n failTimes: '1'\n executeMode: batch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSchedulerx Job can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/job:Job example \u003cnamespace\u003e:\u003cgroup_id\u003e:\u003cjob_id\u003e\n```\n\n", "properties": { "attemptInterval": { "type": "integer", @@ -248078,7 +253760,7 @@ } }, "alicloud:schedulerx/namespace:Namespace": { - "description": "\n\n## Import\n\nSchedulerx Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/namespace:Namespace example \u003cid\u003e\n```\n\n", + "description": "Provides a Schedulerx Namespace resource.\n\n\n\nFor information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces).\n\n\u003e **NOTE:** Available since v1.173.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.schedulerx.Namespace(\"default\", {\n namespaceName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.schedulerx.Namespace(\"default\",\n namespace_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.SchedulerX.Namespace(\"default\", new()\n {\n NamespaceName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := schedulerx.NewNamespace(ctx, \"default\", \u0026schedulerx.NamespaceArgs{\n\t\t\tNamespaceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.schedulerx.Namespace;\nimport com.pulumi.alicloud.schedulerx.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Namespace(\"default\", NamespaceArgs.builder()\n .namespaceName(name)\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:schedulerx:Namespace\n properties:\n namespaceName: ${name}\n description: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSchedulerx Namespace can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:schedulerx/namespace:Namespace example \u003cid\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -248090,7 +253772,7 @@ }, "namespaceUid": { "type": "string", - "description": "Namespace uid.\n" + "description": "namespace uid\n" } }, "required": [ @@ -248100,17 +253782,15 @@ "inputProperties": { "description": { "type": "string", - "description": "Namespace description.\n", - "willReplaceOnChanges": true + "description": "Namespace description.\n" }, "namespaceName": { "type": "string", - "description": "Namespace name.\n", - "willReplaceOnChanges": true + "description": "Namespace name.\n" }, "namespaceUid": { "type": "string", - "description": "Namespace uid.\n", + "description": "namespace uid\n", "willReplaceOnChanges": true } }, @@ -248122,17 +253802,15 @@ "properties": { "description": { "type": "string", - "description": "Namespace description.\n", - "willReplaceOnChanges": true + "description": "Namespace description.\n" }, "namespaceName": { "type": "string", - "description": "Namespace name.\n", - "willReplaceOnChanges": true + "description": "Namespace name.\n" }, "namespaceUid": { "type": "string", - "description": "Namespace uid.\n", + "description": "namespace uid\n", "willReplaceOnChanges": true } }, @@ -248140,7 +253818,7 @@ } }, "alicloud:sddp/config:Config": { - "description": "Provides a Data Security Center Config resource.\n\nFor information about Data Security Center Config and how to use it, see [What is Config](https://www.alibabacloud.com/help/en/data-security-center/latest/api-sddp-2019-01-03-createconfig).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sddp.Config(\"default\", {\n code: \"access_failed_cnt\",\n value: \"10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sddp.Config(\"default\",\n code=\"access_failed_cnt\",\n value=\"10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sddp.Config(\"default\", new()\n {\n Code = \"access_failed_cnt\",\n Value = \"10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sddp.NewConfig(ctx, \"default\", \u0026sddp.ConfigArgs{\n\t\t\tCode: pulumi.String(\"access_failed_cnt\"),\n\t\t\tValue: pulumi.String(\"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.alicloud.sddp.Config;\nimport com.pulumi.alicloud.sddp.ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Config(\"default\", ConfigArgs.builder()\n .code(\"access_failed_cnt\")\n .value(\"10\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sddp:Config\n properties:\n code: access_failed_cnt\n value: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Security Center Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/config:Config example \u003ccode\u003e\n```\n\n", + "description": "Provides a Data Security Center Config resource.\n\nFor information about Data Security Center Config and how to use it, see [What is Config](https://www.alibabacloud.com/help/en/data-security-center/latest/api-sddp-2019-01-03-createconfig).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sddp.Config(\"default\", {\n code: \"access_failed_cnt\",\n value: \"10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sddp.Config(\"default\",\n code=\"access_failed_cnt\",\n value=\"10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sddp.Config(\"default\", new()\n {\n Code = \"access_failed_cnt\",\n Value = \"10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sddp.NewConfig(ctx, \"default\", \u0026sddp.ConfigArgs{\n\t\t\tCode: pulumi.String(\"access_failed_cnt\"),\n\t\t\tValue: pulumi.String(\"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.alicloud.sddp.Config;\nimport com.pulumi.alicloud.sddp.ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Config(\"default\", ConfigArgs.builder()\n .code(\"access_failed_cnt\")\n .value(\"10\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sddp:Config\n properties:\n code: access_failed_cnt\n value: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Security Center Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/config:Config example \u003ccode\u003e\n```\n\n", "properties": { "code": { "type": "string", @@ -248206,7 +253884,7 @@ } }, "alicloud:sddp/dataLimit:DataLimit": { - "description": "Provides a Data Security Center Data Limit resource.\n\nFor information about Data Security Center Data Limit and how to use it, see [What is Data Limit](https://www.alibabacloud.com/help/en/doc-detail/158987.html).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: name,\n accountPassword: \"Example1234\",\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n name: name,\n});\nconst defaultAccountPrivilege = new alicloud.rds.AccountPrivilege(\"default\", {\n instanceId: defaultInstance.id,\n accountName: defaultRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [defaultDatabase.name],\n});\nconst defaultDataLimit = new alicloud.sddp.DataLimit(\"default\", {\n auditStatus: 0,\n engineType: \"MySQL\",\n parentId: std.joinOutput({\n separator: \".\",\n input: [\n defaultAccountPrivilege.instanceId,\n defaultDatabase.name,\n ],\n }).apply(invoke =\u003e invoke.result),\n resourceType: \"RDS\",\n userName: defaultDatabase.name,\n password: defaultRdsAccount.accountPassword,\n port: 3306,\n serviceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id])\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=name,\n account_password=\"Example1234\")\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n name=name)\ndefault_account_privilege = alicloud.rds.AccountPrivilege(\"default\",\n instance_id=default_instance.id,\n account_name=default_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[default_database.name])\ndefault_data_limit = alicloud.sddp.DataLimit(\"default\",\n audit_status=0,\n engine_type=\"MySQL\",\n parent_id=std.join_output(separator=\".\",\n input=[\n default_account_privilege.instance_id,\n default_database.name,\n ]).apply(lambda invoke: invoke.result),\n resource_type=\"RDS\",\n user_name=default_database.name,\n password=default_rds_account.account_password,\n port=3306,\n service_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = name,\n AccountPassword = \"Example1234\",\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Name = name,\n });\n\n var defaultAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AccountName = defaultRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n defaultDatabase.Name,\n },\n });\n\n var defaultDataLimit = new AliCloud.Sddp.DataLimit(\"default\", new()\n {\n AuditStatus = 0,\n EngineType = \"MySQL\",\n ParentId = Std.Join.Invoke(new()\n {\n Separator = \".\",\n Input = new[]\n {\n defaultAccountPrivilege.InstanceId,\n defaultDatabase.Name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ResourceType = \"RDS\",\n UserName = defaultDatabase.Name,\n Password = defaultRdsAccount.AccountPassword,\n Port = 3306,\n ServiceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsAccount, err := rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccountPrivilege, err := rds.NewAccountPrivilege(ctx, \"default\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: defaultRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.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 = sddp.NewDataLimit(ctx, \"default\", \u0026sddp.DataLimitArgs{\n\t\t\tAuditStatus: pulumi.Int(0),\n\t\t\tEngineType: pulumi.String(\"MySQL\"),\n\t\t\tParentId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultAccountPrivilege.InstanceId,\n\t\t\t\t\tdefaultDatabase.Name,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceType: pulumi.String(\"RDS\"),\n\t\t\tUserName: defaultDatabase.Name,\n\t\t\tPassword: defaultRdsAccount.AccountPassword,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServiceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.sddp.DataLimit;\nimport com.pulumi.alicloud.sddp.DataLimitArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(name)\n .accountPassword(\"Example1234\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .name(name)\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(defaultInstance.id())\n .accountName(defaultRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(defaultDatabase.name())\n .build());\n\n var defaultDataLimit = new DataLimit(\"defaultDataLimit\", DataLimitArgs.builder()\n .auditStatus(0)\n .engineType(\"MySQL\")\n .parentId(StdFunctions.join(JoinArgs.builder()\n .separator(\".\")\n .input( \n defaultAccountPrivilege.instanceId(),\n defaultDatabase.name())\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .resourceType(\"RDS\")\n .userName(defaultDatabase.name())\n .password(defaultRdsAccount.accountPassword())\n .port(3306)\n .serviceRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: ${name}\n accountPassword: Example1234\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n name: ${name}\n defaultAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n accountName: ${defaultRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${defaultDatabase.name}\n defaultDataLimit:\n type: alicloud:sddp:DataLimit\n name: default\n properties:\n auditStatus: 0\n engineType: MySQL\n parentId:\n fn::invoke:\n function: std:join\n arguments:\n separator: .\n input:\n - ${defaultAccountPrivilege.instanceId}\n - ${defaultDatabase.name}\n return: result\n resourceType: RDS\n userName: ${defaultDatabase.name}\n password: ${defaultRdsAccount.accountPassword}\n port: 3306\n serviceRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: Basic\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Security Center Data Limit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/dataLimit:DataLimit example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Security Center Data Limit resource.\n\nFor information about Data Security Center Data Limit and how to use it, see [What is Data Limit](https://www.alibabacloud.com/help/en/doc-detail/158987.html).\n\n\u003e **NOTE:** Available since v1.159.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst defaultGetZones = alicloud.rds.getZones({\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceChargeType: \"PostPaid\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n});\nconst defaultGetInstanceClasses = defaultGetZones.then(defaultGetZones =\u003e alicloud.rds.getInstanceClasses({\n zoneId: defaultGetZones.zones?.[0]?.id,\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n category: \"Basic\",\n dbInstanceStorageType: \"cloud_essd\",\n instanceChargeType: \"PostPaid\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.rds.Instance(\"default\", {\n engine: \"MySQL\",\n engineVersion: \"8.0\",\n instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass),\n instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses =\u003e defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min),\n instanceChargeType: \"Postpaid\",\n instanceName: name,\n vswitchId: defaultSwitch.id,\n monitoringPeriod: 60,\n dbInstanceStorageType: \"cloud_essd\",\n securityGroupIds: [defaultSecurityGroup.id],\n});\nconst defaultRdsAccount = new alicloud.rds.RdsAccount(\"default\", {\n dbInstanceId: defaultInstance.id,\n accountName: name,\n accountPassword: \"Example1234\",\n});\nconst defaultDatabase = new alicloud.rds.Database(\"default\", {\n instanceId: defaultInstance.id,\n name: name,\n});\nconst defaultAccountPrivilege = new alicloud.rds.AccountPrivilege(\"default\", {\n instanceId: defaultInstance.id,\n accountName: defaultRdsAccount.accountName,\n privilege: \"ReadWrite\",\n dbNames: [defaultDatabase.name],\n});\nconst defaultDataLimit = new alicloud.sddp.DataLimit(\"default\", {\n auditStatus: 0,\n engineType: \"MySQL\",\n parentId: std.joinOutput({\n separator: \".\",\n input: [\n defaultAccountPrivilege.instanceId,\n defaultDatabase.name,\n ],\n }).apply(invoke =\u003e invoke.result),\n resourceType: \"RDS\",\n userName: defaultDatabase.name,\n password: defaultRdsAccount.accountPassword,\n port: 3306,\n serviceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_regions(current=True)\ndefault_get_zones = alicloud.rds.get_zones(engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_charge_type=\"PostPaid\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\")\ndefault_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default_get_zones.zones[0].id,\n engine=\"MySQL\",\n engine_version=\"8.0\",\n category=\"Basic\",\n db_instance_storage_type=\"cloud_essd\",\n instance_charge_type=\"PostPaid\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.rds.Instance(\"default\",\n engine=\"MySQL\",\n engine_version=\"8.0\",\n instance_type=default_get_instance_classes.instance_classes[0].instance_class,\n instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min,\n instance_charge_type=\"Postpaid\",\n instance_name=name,\n vswitch_id=default_switch.id,\n monitoring_period=60,\n db_instance_storage_type=\"cloud_essd\",\n security_group_ids=[default_security_group.id])\ndefault_rds_account = alicloud.rds.RdsAccount(\"default\",\n db_instance_id=default_instance.id,\n account_name=name,\n account_password=\"Example1234\")\ndefault_database = alicloud.rds.Database(\"default\",\n instance_id=default_instance.id,\n name=name)\ndefault_account_privilege = alicloud.rds.AccountPrivilege(\"default\",\n instance_id=default_instance.id,\n account_name=default_rds_account.account_name,\n privilege=\"ReadWrite\",\n db_names=[default_database.name])\ndefault_data_limit = alicloud.sddp.DataLimit(\"default\",\n audit_status=0,\n engine_type=\"MySQL\",\n parent_id=std.join_output(separator=\".\",\n input=[\n default_account_privilege.instance_id,\n default_database.name,\n ]).apply(lambda invoke: invoke.result),\n resource_type=\"RDS\",\n user_name=default_database.name,\n password=default_rds_account.account_password,\n port=3306,\n service_region_id=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var defaultGetZones = AliCloud.Rds.GetZones.Invoke(new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceChargeType = \"PostPaid\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n });\n\n var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new()\n {\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n Category = \"Basic\",\n DbInstanceStorageType = \"cloud_essd\",\n InstanceChargeType = \"PostPaid\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Rds.Instance(\"default\", new()\n {\n Engine = \"MySQL\",\n EngineVersion = \"8.0\",\n InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.InstanceClass),\n InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult =\u003e getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min),\n InstanceChargeType = \"Postpaid\",\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n MonitoringPeriod = 60,\n DbInstanceStorageType = \"cloud_essd\",\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultRdsAccount = new AliCloud.Rds.RdsAccount(\"default\", new()\n {\n DbInstanceId = defaultInstance.Id,\n AccountName = name,\n AccountPassword = \"Example1234\",\n });\n\n var defaultDatabase = new AliCloud.Rds.Database(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n Name = name,\n });\n\n var defaultAccountPrivilege = new AliCloud.Rds.AccountPrivilege(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n AccountName = defaultRdsAccount.AccountName,\n Privilege = \"ReadWrite\",\n DbNames = new[]\n {\n defaultDatabase.Name,\n },\n });\n\n var defaultDataLimit = new AliCloud.Sddp.DataLimit(\"default\", new()\n {\n AuditStatus = 0,\n EngineType = \"MySQL\",\n ParentId = Std.Join.Invoke(new()\n {\n Separator = \".\",\n Input = new[]\n {\n defaultAccountPrivilege.InstanceId,\n defaultDatabase.Name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ResourceType = \"RDS\",\n UserName = defaultDatabase.Name,\n Password = defaultRdsAccount.AccountPassword,\n Port = 3306,\n ServiceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rds\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := rds.GetZones(ctx, \u0026rds.GetZonesArgs{\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, \u0026rds.GetInstanceClassesArgs{\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t\tEngine: pulumi.StringRef(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.StringRef(\"8.0\"),\n\t\t\tCategory: pulumi.StringRef(\"Basic\"),\n\t\t\tDbInstanceStorageType: pulumi.StringRef(\"cloud_essd\"),\n\t\t\tInstanceChargeType: pulumi.StringRef(\"PostPaid\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tEngine: pulumi.String(\"MySQL\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass),\n\t\t\tInstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min),\n\t\t\tInstanceChargeType: pulumi.String(\"Postpaid\"),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tMonitoringPeriod: pulumi.Int(60),\n\t\t\tDbInstanceStorageType: pulumi.String(\"cloud_essd\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRdsAccount, err := rds.NewRdsAccount(ctx, \"default\", \u0026rds.RdsAccountArgs{\n\t\t\tDbInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: pulumi.String(name),\n\t\t\tAccountPassword: pulumi.String(\"Example1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDatabase, err := rds.NewDatabase(ctx, \"default\", \u0026rds.DatabaseArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultAccountPrivilege, err := rds.NewAccountPrivilege(ctx, \"default\", \u0026rds.AccountPrivilegeArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tAccountName: defaultRdsAccount.AccountName,\n\t\t\tPrivilege: pulumi.String(\"ReadWrite\"),\n\t\t\tDbNames: pulumi.StringArray{\n\t\t\t\tdefaultDatabase.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 = sddp.NewDataLimit(ctx, \"default\", \u0026sddp.DataLimitArgs{\n\t\t\tAuditStatus: pulumi.Int(0),\n\t\t\tEngineType: pulumi.String(\"MySQL\"),\n\t\t\tParentId: pulumi.String(std.JoinOutput(ctx, std.JoinOutputArgs{\n\t\t\t\tSeparator: pulumi.String(\".\"),\n\t\t\t\tInput: pulumi.StringArray{\n\t\t\t\t\tdefaultAccountPrivilege.InstanceId,\n\t\t\t\t\tdefaultDatabase.Name,\n\t\t\t\t},\n\t\t\t}, nil).ApplyT(func(invoke std.JoinResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tResourceType: pulumi.String(\"RDS\"),\n\t\t\tUserName: defaultDatabase.Name,\n\t\t\tPassword: defaultRdsAccount.AccountPassword,\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tServiceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.rds.RdsFunctions;\nimport com.pulumi.alicloud.rds.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.rds.Instance;\nimport com.pulumi.alicloud.rds.InstanceArgs;\nimport com.pulumi.alicloud.rds.RdsAccount;\nimport com.pulumi.alicloud.rds.RdsAccountArgs;\nimport com.pulumi.alicloud.rds.Database;\nimport com.pulumi.alicloud.rds.DatabaseArgs;\nimport com.pulumi.alicloud.rds.AccountPrivilege;\nimport com.pulumi.alicloud.rds.AccountPrivilegeArgs;\nimport com.pulumi.alicloud.sddp.DataLimit;\nimport com.pulumi.alicloud.sddp.DataLimitArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.JoinArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var defaultGetZones = RdsFunctions.getZones(GetZonesArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceChargeType(\"PostPaid\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .build());\n\n final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()\n .zoneId(defaultGetZones.zones()[0].id())\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .category(\"Basic\")\n .dbInstanceStorageType(\"cloud_essd\")\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .engine(\"MySQL\")\n .engineVersion(\"8.0\")\n .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass())\n .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min())\n .instanceChargeType(\"Postpaid\")\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .monitoringPeriod(60)\n .dbInstanceStorageType(\"cloud_essd\")\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n var defaultRdsAccount = new RdsAccount(\"defaultRdsAccount\", RdsAccountArgs.builder()\n .dbInstanceId(defaultInstance.id())\n .accountName(name)\n .accountPassword(\"Example1234\")\n .build());\n\n var defaultDatabase = new Database(\"defaultDatabase\", DatabaseArgs.builder()\n .instanceId(defaultInstance.id())\n .name(name)\n .build());\n\n var defaultAccountPrivilege = new AccountPrivilege(\"defaultAccountPrivilege\", AccountPrivilegeArgs.builder()\n .instanceId(defaultInstance.id())\n .accountName(defaultRdsAccount.accountName())\n .privilege(\"ReadWrite\")\n .dbNames(defaultDatabase.name())\n .build());\n\n var defaultDataLimit = new DataLimit(\"defaultDataLimit\", DataLimitArgs.builder()\n .auditStatus(0)\n .engineType(\"MySQL\")\n .parentId(StdFunctions.join(JoinArgs.builder()\n .separator(\".\")\n .input( \n defaultAccountPrivilege.instanceId(),\n defaultDatabase.name())\n .build()).applyValue(_invoke -\u003e _invoke.result()))\n .resourceType(\"RDS\")\n .userName(defaultDatabase.name())\n .password(defaultRdsAccount.accountPassword())\n .port(3306)\n .serviceRegionId(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${defaultGetZones.zones[0].id}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:rds:Instance\n name: default\n properties:\n engine: MySQL\n engineVersion: '8.0'\n instanceType: ${defaultGetInstanceClasses.instanceClasses[0].instanceClass}\n instanceStorage: ${defaultGetInstanceClasses.instanceClasses[0].storageRange.min}\n instanceChargeType: Postpaid\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n monitoringPeriod: '60'\n dbInstanceStorageType: cloud_essd\n securityGroupIds:\n - ${defaultSecurityGroup.id}\n defaultRdsAccount:\n type: alicloud:rds:RdsAccount\n name: default\n properties:\n dbInstanceId: ${defaultInstance.id}\n accountName: ${name}\n accountPassword: Example1234\n defaultDatabase:\n type: alicloud:rds:Database\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n name: ${name}\n defaultAccountPrivilege:\n type: alicloud:rds:AccountPrivilege\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n accountName: ${defaultRdsAccount.accountName}\n privilege: ReadWrite\n dbNames:\n - ${defaultDatabase.name}\n defaultDataLimit:\n type: alicloud:sddp:DataLimit\n name: default\n properties:\n auditStatus: 0\n engineType: MySQL\n parentId:\n fn::invoke:\n function: std:join\n arguments:\n separator: .\n input:\n - ${defaultAccountPrivilege.instanceId}\n - ${defaultDatabase.name}\n return: result\n resourceType: RDS\n userName: ${defaultDatabase.name}\n password: ${defaultRdsAccount.accountPassword}\n port: 3306\n serviceRegionId: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n defaultGetZones:\n fn::invoke:\n function: alicloud:rds:getZones\n arguments:\n engine: MySQL\n engineVersion: '8.0'\n instanceChargeType: PostPaid\n category: Basic\n dbInstanceStorageType: cloud_essd\n defaultGetInstanceClasses:\n fn::invoke:\n function: alicloud:rds:getInstanceClasses\n arguments:\n zoneId: ${defaultGetZones.zones[0].id}\n engine: MySQL\n engineVersion: '8.0'\n category: Basic\n dbInstanceStorageType: cloud_essd\n instanceChargeType: PostPaid\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Security Center Data Limit can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/dataLimit:DataLimit example \u003cid\u003e\n```\n\n", "properties": { "auditStatus": { "type": "integer", @@ -248362,7 +254040,7 @@ } }, "alicloud:sddp/instance:Instance": { - "description": "Provides a Data Security Center Instance resource.\n\nFor information about Data Security Center Instance and how to use it, see [What is Instance](https://help.aliyun.com/product/88674.html).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n\u003e **NOTE:** The Data Security Center Instance is not support in the international site.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sddp.Instance(\"default\", {\n paymentType: \"Subscription\",\n sddpVersion: \"version_company\",\n sdCbool: \"yes\",\n period: 1,\n sdc: \"3\",\n udCbool: \"yes\",\n udc: \"2000\",\n dataphin: \"yes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sddp.Instance(\"default\",\n payment_type=\"Subscription\",\n sddp_version=\"version_company\",\n sd_cbool=\"yes\",\n period=1,\n sdc=\"3\",\n ud_cbool=\"yes\",\n udc=\"2000\",\n dataphin=\"yes\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sddp.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n SddpVersion = \"version_company\",\n SdCbool = \"yes\",\n Period = 1,\n Sdc = \"3\",\n UdCbool = \"yes\",\n Udc = \"2000\",\n Dataphin = \"yes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sddp.NewInstance(ctx, \"default\", \u0026sddp.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tSddpVersion: pulumi.String(\"version_company\"),\n\t\t\tSdCbool: pulumi.String(\"yes\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tSdc: pulumi.String(\"3\"),\n\t\t\tUdCbool: pulumi.String(\"yes\"),\n\t\t\tUdc: pulumi.String(\"2000\"),\n\t\t\tDataphin: pulumi.String(\"yes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sddp.Instance;\nimport com.pulumi.alicloud.sddp.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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .sddpVersion(\"version_company\")\n .sdCbool(\"yes\")\n .period(1)\n .sdc(\"3\")\n .udCbool(\"yes\")\n .udc(\"2000\")\n .dataphin(\"yes\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sddp:Instance\n properties:\n paymentType: Subscription\n sddpVersion: version_company\n sdCbool: yes\n period: '1'\n sdc: '3'\n udCbool: yes\n udc: '2000'\n dataphin: yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Security Center Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Security Center Instance resource.\n\nFor information about Data Security Center Instance and how to use it, see [What is Instance](https://help.aliyun.com/product/88674.html).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n\u003e **NOTE:** The Data Security Center Instance is not support in the international site.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sddp.Instance(\"default\", {\n paymentType: \"Subscription\",\n sddpVersion: \"version_company\",\n sdCbool: \"yes\",\n period: 1,\n sdc: \"3\",\n udCbool: \"yes\",\n udc: \"2000\",\n dataphin: \"yes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sddp.Instance(\"default\",\n payment_type=\"Subscription\",\n sddp_version=\"version_company\",\n sd_cbool=\"yes\",\n period=1,\n sdc=\"3\",\n ud_cbool=\"yes\",\n udc=\"2000\",\n dataphin=\"yes\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Sddp.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n SddpVersion = \"version_company\",\n SdCbool = \"yes\",\n Period = 1,\n Sdc = \"3\",\n UdCbool = \"yes\",\n Udc = \"2000\",\n Dataphin = \"yes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sddp.NewInstance(ctx, \"default\", \u0026sddp.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tSddpVersion: pulumi.String(\"version_company\"),\n\t\t\tSdCbool: pulumi.String(\"yes\"),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tSdc: pulumi.String(\"3\"),\n\t\t\tUdCbool: pulumi.String(\"yes\"),\n\t\t\tUdc: pulumi.String(\"2000\"),\n\t\t\tDataphin: pulumi.String(\"yes\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sddp.Instance;\nimport com.pulumi.alicloud.sddp.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 default_ = new Instance(\"default\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .sddpVersion(\"version_company\")\n .sdCbool(\"yes\")\n .period(1)\n .sdc(\"3\")\n .udCbool(\"yes\")\n .udc(\"2000\")\n .dataphin(\"yes\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sddp:Instance\n properties:\n paymentType: Subscription\n sddpVersion: version_company\n sdCbool: yes\n period: '1'\n sdc: '3'\n udCbool: yes\n udc: '2000'\n dataphin: yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Security Center Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "authed": { "type": "boolean", @@ -248628,7 +254306,7 @@ } }, "alicloud:sddp/rule:Rule": { - "description": "Provides a Data Security Center Rule resource.\n\nFor information about Data Security Center Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/data-security-center/latest/api-sddp-2019-01-03-createrule).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-name\";\nconst _default = new alicloud.sddp.Rule(\"default\", {\n ruleName: name,\n category: 2,\n content: ` [\n {\n \\\\\"rule\\\\\": [\n {\n \\\\\"operator\\\\\": \\\\\"contains\\\\\",\n \\\\\"target\\\\\": \\\\\"content\\\\\",\n \\\\\"value\\\\\": \\\\\"tf-testACCContent\\\\\"\n }\n ],\n \\\\\"ruleRelation\\\\\": \\\\\"AND\\\\\"\n }\n ]\n`,\n riskLevelId: \"4\",\n productCode: \"OSS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-name\"\ndefault = alicloud.sddp.Rule(\"default\",\n rule_name=name,\n category=2,\n content=\"\"\" [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n\"\"\",\n risk_level_id=\"4\",\n product_code=\"OSS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-name\";\n var @default = new AliCloud.Sddp.Rule(\"default\", new()\n {\n RuleName = name,\n Category = 2,\n Content = @\" [\n {\n \\\"\"rule\\\"\": [\n {\n \\\"\"operator\\\"\": \\\"\"contains\\\"\",\n \\\"\"target\\\"\": \\\"\"content\\\"\",\n \\\"\"value\\\"\": \\\"\"tf-testACCContent\\\"\"\n }\n ],\n \\\"\"ruleRelation\\\"\": \\\"\"AND\\\"\"\n }\n ]\n\",\n RiskLevelId = \"4\",\n ProductCode = \"OSS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := sddp.NewRule(ctx, \"default\", \u0026sddp.RuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tCategory: pulumi.Int(2),\n\t\t\tContent: pulumi.String(` [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n`),\n\t\t\tRiskLevelId: pulumi.String(\"4\"),\n\t\t\tProductCode: pulumi.String(\"OSS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sddp.Rule;\nimport com.pulumi.alicloud.sddp.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-name\");\n var default_ = new Rule(\"default\", RuleArgs.builder()\n .ruleName(name)\n .category(2)\n .content(\"\"\"\n [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n \"\"\")\n .riskLevelId(\"4\")\n .productCode(\"OSS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-name\nresources:\n default:\n type: alicloud:sddp:Rule\n properties:\n ruleName: ${name}\n category: '2'\n content: |2\n [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n riskLevelId: '4'\n productCode: OSS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nData Security Center Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/rule:Rule example \u003cid\u003e\n```\n\n", + "description": "Provides a Data Security Center Rule resource.\n\nFor information about Data Security Center Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/data-security-center/latest/api-sddp-2019-01-03-createrule).\n\n\u003e **NOTE:** Available since v1.132.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example-name\";\nconst _default = new alicloud.sddp.Rule(\"default\", {\n ruleName: name,\n category: 2,\n content: ` [\n {\n \\\\\"rule\\\\\": [\n {\n \\\\\"operator\\\\\": \\\\\"contains\\\\\",\n \\\\\"target\\\\\": \\\\\"content\\\\\",\n \\\\\"value\\\\\": \\\\\"tf-testACCContent\\\\\"\n }\n ],\n \\\\\"ruleRelation\\\\\": \\\\\"AND\\\\\"\n }\n ]\n`,\n riskLevelId: \"4\",\n productCode: \"OSS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example-name\"\ndefault = alicloud.sddp.Rule(\"default\",\n rule_name=name,\n category=2,\n content=\"\"\" [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n\"\"\",\n risk_level_id=\"4\",\n product_code=\"OSS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example-name\";\n var @default = new AliCloud.Sddp.Rule(\"default\", new()\n {\n RuleName = name,\n Category = 2,\n Content = @\" [\n {\n \\\"\"rule\\\"\": [\n {\n \\\"\"operator\\\"\": \\\"\"contains\\\"\",\n \\\"\"target\\\"\": \\\"\"content\\\"\",\n \\\"\"value\\\"\": \\\"\"tf-testACCContent\\\"\"\n }\n ],\n \\\"\"ruleRelation\\\"\": \\\"\"AND\\\"\"\n }\n ]\n\",\n RiskLevelId = \"4\",\n ProductCode = \"OSS\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sddp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := sddp.NewRule(ctx, \"default\", \u0026sddp.RuleArgs{\n\t\t\tRuleName: pulumi.String(name),\n\t\t\tCategory: pulumi.Int(2),\n\t\t\tContent: pulumi.String(` [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n`),\n\t\t\tRiskLevelId: pulumi.String(\"4\"),\n\t\t\tProductCode: pulumi.String(\"OSS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sddp.Rule;\nimport com.pulumi.alicloud.sddp.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example-name\");\n var default_ = new Rule(\"default\", RuleArgs.builder()\n .ruleName(name)\n .category(2)\n .content(\"\"\"\n [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n \"\"\")\n .riskLevelId(\"4\")\n .productCode(\"OSS\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example-name\nresources:\n default:\n type: alicloud:sddp:Rule\n properties:\n ruleName: ${name}\n category: '2'\n content: |2\n [\n {\n \\\"rule\\\": [\n {\n \\\"operator\\\": \\\"contains\\\",\n \\\"target\\\": \\\"content\\\",\n \\\"value\\\": \\\"tf-testACCContent\\\"\n }\n ],\n \\\"ruleRelation\\\": \\\"AND\\\"\n }\n ]\n riskLevelId: '4'\n productCode: OSS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nData Security Center Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sddp/rule:Rule example \u003cid\u003e\n```\n\n", "properties": { "category": { "type": "integer", @@ -248838,7 +254516,7 @@ } }, "alicloud:securitycenter/group:Group": { - "description": "Provides a Security Center Group resource.\n\nFor information about Security Center Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createorupdateassetgroup).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.securitycenter.Group(\"example\", {groupName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.securitycenter.Group(\"example\", group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.SecurityCenter.Group(\"example\", new()\n {\n GroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := securitycenter.NewGroup(ctx, \"example\", \u0026securitycenter.GroupArgs{\n\t\t\tGroupName: pulumi.String(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.alicloud.securitycenter.Group;\nimport com.pulumi.alicloud.securitycenter.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .groupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:securitycenter:Group\n properties:\n groupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Center Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:securitycenter/group:Group example \u003cgroup_id\u003e\n```\n\n", + "description": "Provides a Security Center Group resource.\n\nFor information about Security Center Group and how to use it, see [What is Group](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createorupdateassetgroup).\n\n\u003e **NOTE:** Available since v1.133.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst example = new alicloud.securitycenter.Group(\"example\", {groupName: name});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\nexample = alicloud.securitycenter.Group(\"example\", group_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var example = new AliCloud.SecurityCenter.Group(\"example\", new()\n {\n GroupName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := securitycenter.NewGroup(ctx, \"example\", \u0026securitycenter.GroupArgs{\n\t\t\tGroupName: pulumi.String(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.alicloud.securitycenter.Group;\nimport com.pulumi.alicloud.securitycenter.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 final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n var example = new Group(\"example\", GroupArgs.builder()\n .groupName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n example:\n type: alicloud:securitycenter:Group\n properties:\n groupName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSecurity Center Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:securitycenter/group:Group example \u003cgroup_id\u003e\n```\n\n", "properties": { "groupId": { "type": "string", @@ -248880,7 +254558,7 @@ } }, "alicloud:securitycenter/serviceLinkedRole:ServiceLinkedRole": { - "description": "Using this resource can create SecurityCenter service-linked role : `AliyunServiceRolePolicyForSas`. This Role is a Resource Access Management (RAM) role, which to obtain permissions to access another Alibaba Cloud service.\n\n\nFor information about Security Center Service Role and how to use it, see [What is Security Center](https://www.alibabacloud.com/help/en/doc-detail/42302.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst serviceLinkedRole = new alicloud.securitycenter.ServiceLinkedRole(\"service_linked_role\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nservice_linked_role = alicloud.securitycenter.ServiceLinkedRole(\"service_linked_role\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceLinkedRole = new AliCloud.SecurityCenter.ServiceLinkedRole(\"service_linked_role\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewServiceLinkedRole(ctx, \"service_linked_role\", 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.alicloud.securitycenter.ServiceLinkedRole;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\");\n\n }\n}\n```\n```yaml\nresources:\n serviceLinkedRole:\n type: alicloud:securitycenter:ServiceLinkedRole\n name: service_linked_role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurityCenter service-linked roles(SLR) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:securitycenter/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", + "description": "Using this resource can create SecurityCenter service-linked role : `AliyunServiceRolePolicyForSas`. This Role is a Resource Access Management (RAM) role, which to obtain permissions to access another Alibaba Cloud service.\n\n\nFor information about Security Center Service Role and how to use it, see [What is Security Center](https://www.alibabacloud.com/help/en/doc-detail/42302.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst serviceLinkedRole = new alicloud.securitycenter.ServiceLinkedRole(\"service_linked_role\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nservice_linked_role = alicloud.securitycenter.ServiceLinkedRole(\"service_linked_role\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var serviceLinkedRole = new AliCloud.SecurityCenter.ServiceLinkedRole(\"service_linked_role\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/securitycenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := securitycenter.NewServiceLinkedRole(ctx, \"service_linked_role\", 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.alicloud.securitycenter.ServiceLinkedRole;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var serviceLinkedRole = new ServiceLinkedRole(\"serviceLinkedRole\");\n\n }\n}\n```\n```yaml\nresources:\n serviceLinkedRole:\n type: alicloud:securitycenter:ServiceLinkedRole\n name: service_linked_role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSecurityCenter service-linked roles(SLR) can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:securitycenter/serviceLinkedRole:ServiceLinkedRole example \u003cproduct_name\u003e\n```\n\n", "properties": { "status": { "type": "boolean", @@ -248902,7 +254580,7 @@ } }, "alicloud:selectdb/dbCluster:DbCluster": { - "description": "Provides a SelectDB DBCluster resource.\n\nFor information about SelectDB DBCluster and how to use it, see [What is DBCluster](https://www.alibabacloud.com/help/zh/selectdb/latest/api-selectdb-2023-05-22-createdbcluster).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultDbInstance = new alicloud.selectdb.DbInstance(\"default\", {\n dbInstanceClass: \"selectdb.xlarge\",\n dbInstanceDescription: name,\n cacheSize: 200,\n paymentType: \"PayAsYouGo\",\n engineMinorVersion: \"3.0.12\",\n vpcId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.vpcId),\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n});\nconst defaultDbCluster = new alicloud.selectdb.DbCluster(\"default\", {\n dbInstanceId: defaultDbInstance.id,\n dbClusterDescription: name,\n dbClusterClass: \"selectdb.2xlarge\",\n cacheSize: 400,\n paymentType: \"PayAsYouGo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_db_instance = alicloud.selectdb.DbInstance(\"default\",\n db_instance_class=\"selectdb.xlarge\",\n db_instance_description=name,\n cache_size=200,\n payment_type=\"PayAsYouGo\",\n engine_minor_version=\"3.0.12\",\n vpc_id=default_get_switches.vswitches[0].vpc_id,\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id)\ndefault_db_cluster = alicloud.selectdb.DbCluster(\"default\",\n db_instance_id=default_db_instance.id,\n db_cluster_description=name,\n db_cluster_class=\"selectdb.2xlarge\",\n cache_size=400,\n payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultDbInstance = new AliCloud.SelectDB.DbInstance(\"default\", new()\n {\n DbInstanceClass = \"selectdb.xlarge\",\n DbInstanceDescription = name,\n CacheSize = 200,\n PaymentType = \"PayAsYouGo\",\n EngineMinorVersion = \"3.0.12\",\n VpcId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.VpcId),\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n });\n\n var defaultDbCluster = new AliCloud.SelectDB.DbCluster(\"default\", new()\n {\n DbInstanceId = defaultDbInstance.Id,\n DbClusterDescription = name,\n DbClusterClass = \"selectdb.2xlarge\",\n CacheSize = 400,\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/selectdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbInstance, err := selectdb.NewDbInstance(ctx, \"default\", \u0026selectdb.DbInstanceArgs{\n\t\t\tDbInstanceClass: pulumi.String(\"selectdb.xlarge\"),\n\t\t\tDbInstanceDescription: pulumi.String(name),\n\t\t\tCacheSize: pulumi.Int(200),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEngineMinorVersion: pulumi.String(\"3.0.12\"),\n\t\t\tVpcId: pulumi.String(defaultGetSwitches.Vswitches[0].VpcId),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = selectdb.NewDbCluster(ctx, \"default\", \u0026selectdb.DbClusterArgs{\n\t\t\tDbInstanceId: defaultDbInstance.ID(),\n\t\t\tDbClusterDescription: pulumi.String(name),\n\t\t\tDbClusterClass: pulumi.String(\"selectdb.2xlarge\"),\n\t\t\tCacheSize: pulumi.Int(400),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.selectdb.DbInstance;\nimport com.pulumi.alicloud.selectdb.DbInstanceArgs;\nimport com.pulumi.alicloud.selectdb.DbCluster;\nimport com.pulumi.alicloud.selectdb.DbClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform_example\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultDbInstance = new DbInstance(\"defaultDbInstance\", DbInstanceArgs.builder()\n .dbInstanceClass(\"selectdb.xlarge\")\n .dbInstanceDescription(name)\n .cacheSize(200)\n .paymentType(\"PayAsYouGo\")\n .engineMinorVersion(\"3.0.12\")\n .vpcId(defaultGetSwitches.vswitches()[0].vpcId())\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbInstanceId(defaultDbInstance.id())\n .dbClusterDescription(name)\n .dbClusterClass(\"selectdb.2xlarge\")\n .cacheSize(400)\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDbInstance:\n type: alicloud:selectdb:DbInstance\n name: default\n properties:\n dbInstanceClass: selectdb.xlarge\n dbInstanceDescription: ${name}\n cacheSize: 200\n paymentType: PayAsYouGo\n engineMinorVersion: 3.0.12\n vpcId: ${defaultGetSwitches.vswitches[0].vpcId}\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\n defaultDbCluster:\n type: alicloud:selectdb:DbCluster\n name: default\n properties:\n dbInstanceId: ${defaultDbInstance.id}\n dbClusterDescription: ${name}\n dbClusterClass: selectdb.2xlarge\n cacheSize: 400\n paymentType: PayAsYouGo\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSelectDB DBCluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:selectdb/dbCluster:DbCluster example \u003cdb_instance_id\u003e:\u003cdb_cluster_id\u003e\n```\n\n", + "description": "Provides a SelectDB DBCluster resource.\n\nFor information about SelectDB DBCluster and how to use it, see [What is DBCluster](https://www.alibabacloud.com/help/zh/selectdb/latest/api-selectdb-2023-05-22-createdbcluster).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultDbInstance = new alicloud.selectdb.DbInstance(\"default\", {\n dbInstanceClass: \"selectdb.xlarge\",\n dbInstanceDescription: name,\n cacheSize: 200,\n paymentType: \"PayAsYouGo\",\n engineMinorVersion: \"3.0.12\",\n vpcId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.vpcId),\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n});\nconst defaultDbCluster = new alicloud.selectdb.DbCluster(\"default\", {\n dbInstanceId: defaultDbInstance.id,\n dbClusterDescription: name,\n dbClusterClass: \"selectdb.2xlarge\",\n cacheSize: 400,\n paymentType: \"PayAsYouGo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_db_instance = alicloud.selectdb.DbInstance(\"default\",\n db_instance_class=\"selectdb.xlarge\",\n db_instance_description=name,\n cache_size=200,\n payment_type=\"PayAsYouGo\",\n engine_minor_version=\"3.0.12\",\n vpc_id=default_get_switches.vswitches[0].vpc_id,\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id)\ndefault_db_cluster = alicloud.selectdb.DbCluster(\"default\",\n db_instance_id=default_db_instance.id,\n db_cluster_description=name,\n db_cluster_class=\"selectdb.2xlarge\",\n cache_size=400,\n payment_type=\"PayAsYouGo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultDbInstance = new AliCloud.SelectDB.DbInstance(\"default\", new()\n {\n DbInstanceClass = \"selectdb.xlarge\",\n DbInstanceDescription = name,\n CacheSize = 200,\n PaymentType = \"PayAsYouGo\",\n EngineMinorVersion = \"3.0.12\",\n VpcId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.VpcId),\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n });\n\n var defaultDbCluster = new AliCloud.SelectDB.DbCluster(\"default\", new()\n {\n DbInstanceId = defaultDbInstance.Id,\n DbClusterDescription = name,\n DbClusterClass = \"selectdb.2xlarge\",\n CacheSize = 400,\n PaymentType = \"PayAsYouGo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/selectdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDbInstance, err := selectdb.NewDbInstance(ctx, \"default\", \u0026selectdb.DbInstanceArgs{\n\t\t\tDbInstanceClass: pulumi.String(\"selectdb.xlarge\"),\n\t\t\tDbInstanceDescription: pulumi.String(name),\n\t\t\tCacheSize: pulumi.Int(200),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEngineMinorVersion: pulumi.String(\"3.0.12\"),\n\t\t\tVpcId: pulumi.String(defaultGetSwitches.Vswitches[0].VpcId),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = selectdb.NewDbCluster(ctx, \"default\", \u0026selectdb.DbClusterArgs{\n\t\t\tDbInstanceId: defaultDbInstance.ID(),\n\t\t\tDbClusterDescription: pulumi.String(name),\n\t\t\tDbClusterClass: pulumi.String(\"selectdb.2xlarge\"),\n\t\t\tCacheSize: pulumi.Int(400),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.selectdb.DbInstance;\nimport com.pulumi.alicloud.selectdb.DbInstanceArgs;\nimport com.pulumi.alicloud.selectdb.DbCluster;\nimport com.pulumi.alicloud.selectdb.DbClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform_example\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultDbInstance = new DbInstance(\"defaultDbInstance\", DbInstanceArgs.builder()\n .dbInstanceClass(\"selectdb.xlarge\")\n .dbInstanceDescription(name)\n .cacheSize(200)\n .paymentType(\"PayAsYouGo\")\n .engineMinorVersion(\"3.0.12\")\n .vpcId(defaultGetSwitches.vswitches()[0].vpcId())\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .build());\n\n var defaultDbCluster = new DbCluster(\"defaultDbCluster\", DbClusterArgs.builder()\n .dbInstanceId(defaultDbInstance.id())\n .dbClusterDescription(name)\n .dbClusterClass(\"selectdb.2xlarge\")\n .cacheSize(400)\n .paymentType(\"PayAsYouGo\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDbInstance:\n type: alicloud:selectdb:DbInstance\n name: default\n properties:\n dbInstanceClass: selectdb.xlarge\n dbInstanceDescription: ${name}\n cacheSize: 200\n paymentType: PayAsYouGo\n engineMinorVersion: 3.0.12\n vpcId: ${defaultGetSwitches.vswitches[0].vpcId}\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\n defaultDbCluster:\n type: alicloud:selectdb:DbCluster\n name: default\n properties:\n dbInstanceId: ${defaultDbInstance.id}\n dbClusterDescription: ${name}\n dbClusterClass: selectdb.2xlarge\n cacheSize: 400\n paymentType: PayAsYouGo\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSelectDB DBCluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:selectdb/dbCluster:DbCluster example \u003cdb_instance_id\u003e:\u003cdb_cluster_id\u003e\n```\n\n", "properties": { "cacheSize": { "type": "integer", @@ -249131,7 +254809,7 @@ } }, "alicloud:selectdb/dbInstance:DbInstance": { - "description": "Provides a SelectDB DBInstance resource.\n\nFor information about SelectDB DBInstance and how to use it, see [What is DBInstance](https://www.alibabacloud.com/help/zh/selectdb/latest/api-selectdb-2023-05-22-createdbinstance).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultDbInstance = new alicloud.selectdb.DbInstance(\"default\", {\n dbInstanceClass: \"selectdb.xlarge\",\n dbInstanceDescription: name,\n cacheSize: 200,\n paymentType: \"PayAsYouGo\",\n engineMinorVersion: \"3.0.12\",\n vpcId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.vpcId),\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_db_instance = alicloud.selectdb.DbInstance(\"default\",\n db_instance_class=\"selectdb.xlarge\",\n db_instance_description=name,\n cache_size=200,\n payment_type=\"PayAsYouGo\",\n engine_minor_version=\"3.0.12\",\n vpc_id=default_get_switches.vswitches[0].vpc_id,\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultDbInstance = new AliCloud.SelectDB.DbInstance(\"default\", new()\n {\n DbInstanceClass = \"selectdb.xlarge\",\n DbInstanceDescription = name,\n CacheSize = 200,\n PaymentType = \"PayAsYouGo\",\n EngineMinorVersion = \"3.0.12\",\n VpcId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.VpcId),\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/selectdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = selectdb.NewDbInstance(ctx, \"default\", \u0026selectdb.DbInstanceArgs{\n\t\t\tDbInstanceClass: pulumi.String(\"selectdb.xlarge\"),\n\t\t\tDbInstanceDescription: pulumi.String(name),\n\t\t\tCacheSize: pulumi.Int(200),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEngineMinorVersion: pulumi.String(\"3.0.12\"),\n\t\t\tVpcId: pulumi.String(defaultGetSwitches.Vswitches[0].VpcId),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.selectdb.DbInstance;\nimport com.pulumi.alicloud.selectdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform_example\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultDbInstance = new DbInstance(\"defaultDbInstance\", DbInstanceArgs.builder()\n .dbInstanceClass(\"selectdb.xlarge\")\n .dbInstanceDescription(name)\n .cacheSize(200)\n .paymentType(\"PayAsYouGo\")\n .engineMinorVersion(\"3.0.12\")\n .vpcId(defaultGetSwitches.vswitches()[0].vpcId())\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDbInstance:\n type: alicloud:selectdb:DbInstance\n name: default\n properties:\n dbInstanceClass: selectdb.xlarge\n dbInstanceDescription: ${name}\n cacheSize: 200\n paymentType: PayAsYouGo\n engineMinorVersion: 3.0.12\n vpcId: ${defaultGetSwitches.vswitches[0].vpcId}\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSelectDB DBInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:selectdb/dbInstance:DbInstance example \u003cid\u003e\n```\n\n", + "description": "Provides a SelectDB DBInstance resource.\n\nFor information about SelectDB DBInstance and how to use it, see [What is DBInstance](https://www.alibabacloud.com/help/zh/selectdb/latest/api-selectdb-2023-05-22-createdbinstance).\n\n\u003e **NOTE:** Available since v1.229.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform_example\";\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.zones?.[0]?.id,\n}));\nconst defaultDbInstance = new alicloud.selectdb.DbInstance(\"default\", {\n dbInstanceClass: \"selectdb.xlarge\",\n dbInstanceDescription: name,\n cacheSize: 200,\n paymentType: \"PayAsYouGo\",\n engineMinorVersion: \"3.0.12\",\n vpcId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.vpcId),\n zoneId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.zoneId),\n vswitchId: defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.vswitches?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform_example\"\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.zones[0].id)\ndefault_db_instance = alicloud.selectdb.DbInstance(\"default\",\n db_instance_class=\"selectdb.xlarge\",\n db_instance_description=name,\n cache_size=200,\n payment_type=\"PayAsYouGo\",\n engine_minor_version=\"3.0.12\",\n vpc_id=default_get_switches.vswitches[0].vpc_id,\n zone_id=default_get_switches.vswitches[0].zone_id,\n vswitch_id=default_get_switches.vswitches[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform_example\";\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultDbInstance = new AliCloud.SelectDB.DbInstance(\"default\", new()\n {\n DbInstanceClass = \"selectdb.xlarge\",\n DbInstanceDescription = name,\n CacheSize = 200,\n PaymentType = \"PayAsYouGo\",\n EngineMinorVersion = \"3.0.12\",\n VpcId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.VpcId),\n ZoneId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.ZoneId),\n VswitchId = defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Vswitches[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/selectdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = selectdb.NewDbInstance(ctx, \"default\", \u0026selectdb.DbInstanceArgs{\n\t\t\tDbInstanceClass: pulumi.String(\"selectdb.xlarge\"),\n\t\t\tDbInstanceDescription: pulumi.String(name),\n\t\t\tCacheSize: pulumi.Int(200),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tEngineMinorVersion: pulumi.String(\"3.0.12\"),\n\t\t\tVpcId: pulumi.String(defaultGetSwitches.Vswitches[0].VpcId),\n\t\t\tZoneId: pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),\n\t\t\tVswitchId: pulumi.String(defaultGetSwitches.Vswitches[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.selectdb.DbInstance;\nimport com.pulumi.alicloud.selectdb.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var name = config.get(\"name\").orElse(\"terraform_example\");\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultDbInstance = new DbInstance(\"defaultDbInstance\", DbInstanceArgs.builder()\n .dbInstanceClass(\"selectdb.xlarge\")\n .dbInstanceDescription(name)\n .cacheSize(200)\n .paymentType(\"PayAsYouGo\")\n .engineMinorVersion(\"3.0.12\")\n .vpcId(defaultGetSwitches.vswitches()[0].vpcId())\n .zoneId(defaultGetSwitches.vswitches()[0].zoneId())\n .vswitchId(defaultGetSwitches.vswitches()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform_example\nresources:\n defaultDbInstance:\n type: alicloud:selectdb:DbInstance\n name: default\n properties:\n dbInstanceClass: selectdb.xlarge\n dbInstanceDescription: ${name}\n cacheSize: 200\n paymentType: PayAsYouGo\n engineMinorVersion: 3.0.12\n vpcId: ${defaultGetSwitches.vswitches[0].vpcId}\n zoneId: ${defaultGetSwitches.vswitches[0].zoneId}\n vswitchId: ${defaultGetSwitches.vswitches[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSelectDB DBInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:selectdb/dbInstance:DbInstance example \u003cid\u003e\n```\n\n", "properties": { "adminPass": { "type": "string", @@ -249557,7 +255235,7 @@ } }, "alicloud:servicecatalog/portfolio:Portfolio": { - "description": "Provides a Service Catalog Portfolio resource.\n\nFor information about Service Catalog Portfolio and how to use it, see [What is Portfolio](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createportfolio).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.servicecatalog.Portfolio(\"default\", {\n portfolioName: name,\n providerName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.servicecatalog.Portfolio(\"default\",\n portfolio_name=name,\n provider_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ServiceCatalog.Portfolio(\"default\", new()\n {\n PortfolioName = name,\n ProviderName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewPortfolio(ctx, \"default\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t\tProviderName: pulumi.String(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.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Portfolio(\"default\", PortfolioArgs.builder()\n .portfolioName(name)\n .providerName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:servicecatalog:Portfolio\n properties:\n portfolioName: ${name}\n providerName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Portfolio can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/portfolio:Portfolio example \u003cid\u003e\n```\n\n", + "description": "Provides a Service Catalog Portfolio resource.\n\nFor information about Service Catalog Portfolio and how to use it, see [What is Portfolio](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createportfolio).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.servicecatalog.Portfolio(\"default\", {\n portfolioName: name,\n providerName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.servicecatalog.Portfolio(\"default\",\n portfolio_name=name,\n provider_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ServiceCatalog.Portfolio(\"default\", new()\n {\n PortfolioName = name,\n ProviderName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewPortfolio(ctx, \"default\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t\tProviderName: pulumi.String(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.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new Portfolio(\"default\", PortfolioArgs.builder()\n .portfolioName(name)\n .providerName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:servicecatalog:Portfolio\n properties:\n portfolioName: ${name}\n providerName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Portfolio can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/portfolio:Portfolio example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -249632,7 +255310,7 @@ } }, "alicloud:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation": { - "description": "Provides a Service Catalog Principal Portfolio Association resource.\n\nPrincipal portfolio association.\n\nFor information about Service Catalog Principal Portfolio Association and how to use it, see [What is Principal Portfolio Association](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-associateprincipalwithportfolio).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultDaXVxI = new alicloud.servicecatalog.Portfolio(\"defaultDaXVxI\", {\n providerName: name,\n description: \"desc\",\n portfolioName: name,\n});\nconst default48JHf4 = new alicloud.ram.Role(\"default48JHf4\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst _default = new alicloud.servicecatalog.PrincipalPortfolioAssociation(\"default\", {\n principalId: default48JHf4.id,\n portfolioId: defaultDaXVxI.id,\n principalType: \"RamRole\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_da_x_vx_i = alicloud.servicecatalog.Portfolio(\"defaultDaXVxI\",\n provider_name=name,\n description=\"desc\",\n portfolio_name=name)\ndefault48_j_hf4 = alicloud.ram.Role(\"default48JHf4\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault = alicloud.servicecatalog.PrincipalPortfolioAssociation(\"default\",\n principal_id=default48_j_hf4.id,\n portfolio_id=default_da_x_vx_i.id,\n principal_type=\"RamRole\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultDaXVxI = new AliCloud.ServiceCatalog.Portfolio(\"defaultDaXVxI\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n PortfolioName = name,\n });\n\n var default48JHf4 = new AliCloud.Ram.Role(\"default48JHf4\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var @default = new AliCloud.ServiceCatalog.PrincipalPortfolioAssociation(\"default\", new()\n {\n PrincipalId = default48JHf4.Id,\n PortfolioId = defaultDaXVxI.Id,\n PrincipalType = \"RamRole\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultDaXVxI, err := servicecatalog.NewPortfolio(ctx, \"defaultDaXVxI\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault48JHf4, err := ram.NewRole(ctx, \"default48JHf4\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"default\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPrincipalId: default48JHf4.ID(),\n\t\t\tPortfolioId: defaultDaXVxI.ID(),\n\t\t\tPrincipalType: pulumi.String(\"RamRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.alicloud.servicecatalog.PrincipalPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultDaXVxI = new Portfolio(\"defaultDaXVxI\", PortfolioArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .portfolioName(name)\n .build());\n\n var default48JHf4 = new Role(\"default48JHf4\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var default_ = new PrincipalPortfolioAssociation(\"default\", PrincipalPortfolioAssociationArgs.builder()\n .principalId(default48JHf4.id())\n .portfolioId(defaultDaXVxI.id())\n .principalType(\"RamRole\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDaXVxI:\n type: alicloud:servicecatalog:Portfolio\n properties:\n providerName: ${name}\n description: desc\n portfolioName: ${name}\n default48JHf4:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n force: true\n default:\n type: alicloud:servicecatalog:PrincipalPortfolioAssociation\n properties:\n principalId: ${default48JHf4.id}\n portfolioId: ${defaultDaXVxI.id}\n principalType: RamRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Principal Portfolio Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example \u003cprincipal_id\u003e:\u003cprincipal_type\u003e:\u003cportfolio_id\u003e\n```\n\n", + "description": "Provides a Service Catalog Principal Portfolio Association resource.\n\nPrincipal portfolio association.\n\nFor information about Service Catalog Principal Portfolio Association and how to use it, see [What is Principal Portfolio Association](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-associateprincipalwithportfolio).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultDaXVxI = new alicloud.servicecatalog.Portfolio(\"defaultDaXVxI\", {\n providerName: name,\n description: \"desc\",\n portfolioName: name,\n});\nconst default48JHf4 = new alicloud.ram.Role(\"default48JHf4\", {\n name: name,\n document: ` {\n \\\\\"Statement\\\\\": [\n {\n \\\\\"Action\\\\\": \\\\\"sts:AssumeRole\\\\\",\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Principal\\\\\": {\n \\\\\"Service\\\\\": [\n \\\\\"emr.aliyuncs.com\\\\\",\n \\\\\"ecs.aliyuncs.com\\\\\"\n ]\n }\n }\n ],\n \\\\\"Version\\\\\": \\\\\"1\\\\\"\n }\n`,\n description: \"this is a role test.\",\n force: true,\n});\nconst _default = new alicloud.servicecatalog.PrincipalPortfolioAssociation(\"default\", {\n principalId: default48JHf4.id,\n portfolioId: defaultDaXVxI.id,\n principalType: \"RamRole\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_da_x_vx_i = alicloud.servicecatalog.Portfolio(\"defaultDaXVxI\",\n provider_name=name,\n description=\"desc\",\n portfolio_name=name)\ndefault48_j_hf4 = alicloud.ram.Role(\"default48JHf4\",\n name=name,\n document=\"\"\" {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n\"\"\",\n description=\"this is a role test.\",\n force=True)\ndefault = alicloud.servicecatalog.PrincipalPortfolioAssociation(\"default\",\n principal_id=default48_j_hf4.id,\n portfolio_id=default_da_x_vx_i.id,\n principal_type=\"RamRole\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultDaXVxI = new AliCloud.ServiceCatalog.Portfolio(\"defaultDaXVxI\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n PortfolioName = name,\n });\n\n var default48JHf4 = new AliCloud.Ram.Role(\"default48JHf4\", new()\n {\n Name = name,\n Document = @\" {\n \\\"\"Statement\\\"\": [\n {\n \\\"\"Action\\\"\": \\\"\"sts:AssumeRole\\\"\",\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Principal\\\"\": {\n \\\"\"Service\\\"\": [\n \\\"\"emr.aliyuncs.com\\\"\",\n \\\"\"ecs.aliyuncs.com\\\"\"\n ]\n }\n }\n ],\n \\\"\"Version\\\"\": \\\"\"1\\\"\"\n }\n\",\n Description = \"this is a role test.\",\n Force = true,\n });\n\n var @default = new AliCloud.ServiceCatalog.PrincipalPortfolioAssociation(\"default\", new()\n {\n PrincipalId = default48JHf4.Id,\n PortfolioId = defaultDaXVxI.Id,\n PrincipalType = \"RamRole\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultDaXVxI, err := servicecatalog.NewPortfolio(ctx, \"defaultDaXVxI\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault48JHf4, err := ram.NewRole(ctx, \"default48JHf4\", \u0026ram.RoleArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDocument: pulumi.String(` {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n`),\n\t\t\tDescription: pulumi.String(\"this is a role test.\"),\n\t\t\tForce: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"default\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPrincipalId: default48JHf4.ID(),\n\t\t\tPortfolioId: defaultDaXVxI.ID(),\n\t\t\tPrincipalType: pulumi.String(\"RamRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport com.pulumi.alicloud.ram.Role;\nimport com.pulumi.alicloud.ram.RoleArgs;\nimport com.pulumi.alicloud.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.alicloud.servicecatalog.PrincipalPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultDaXVxI = new Portfolio(\"defaultDaXVxI\", PortfolioArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .portfolioName(name)\n .build());\n\n var default48JHf4 = new Role(\"default48JHf4\", RoleArgs.builder()\n .name(name)\n .document(\"\"\"\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n \"\"\")\n .description(\"this is a role test.\")\n .force(true)\n .build());\n\n var default_ = new PrincipalPortfolioAssociation(\"default\", PrincipalPortfolioAssociationArgs.builder()\n .principalId(default48JHf4.id())\n .portfolioId(defaultDaXVxI.id())\n .principalType(\"RamRole\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDaXVxI:\n type: alicloud:servicecatalog:Portfolio\n properties:\n providerName: ${name}\n description: desc\n portfolioName: ${name}\n default48JHf4:\n type: alicloud:ram:Role\n properties:\n name: ${name}\n document: |2\n {\n \\\"Statement\\\": [\n {\n \\\"Action\\\": \\\"sts:AssumeRole\\\",\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Principal\\\": {\n \\\"Service\\\": [\n \\\"emr.aliyuncs.com\\\",\n \\\"ecs.aliyuncs.com\\\"\n ]\n }\n }\n ],\n \\\"Version\\\": \\\"1\\\"\n }\n description: this is a role test.\n force: true\n default:\n type: alicloud:servicecatalog:PrincipalPortfolioAssociation\n properties:\n principalId: ${default48JHf4.id}\n portfolioId: ${defaultDaXVxI.id}\n principalType: RamRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Principal Portfolio Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example \u003cprincipal_id\u003e:\u003cprincipal_type\u003e:\u003cportfolio_id\u003e\n```\n\n", "properties": { "portfolioId": { "type": "string", @@ -249697,7 +255375,7 @@ } }, "alicloud:servicecatalog/product:Product": { - "description": "Provides a Service Catalog Product resource.\n\nService catalog product, IaC template encapsulation concept.\n\nFor information about Service Catalog Product and how to use it, see [What is Product](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createproduct).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.servicecatalog.Product(\"default\", {\n providerName: name,\n description: \"desc\",\n productName: name,\n productType: \"Ros\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.servicecatalog.Product(\"default\",\n provider_name=name,\n description=\"desc\",\n product_name=name,\n product_type=\"Ros\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ServiceCatalog.Product(\"default\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n ProductName = name,\n ProductType = \"Ros\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewProduct(ctx, \"default\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProductName: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Product(\"default\", ProductArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .productName(name)\n .productType(\"Ros\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n description: desc\n productName: ${name}\n productType: Ros\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/product:Product example \u003cid\u003e\n```\n\n", + "description": "Provides a Service Catalog Product resource.\n\nService catalog product, IaC template encapsulation concept.\n\nFor information about Service Catalog Product and how to use it, see [What is Product](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createproduct).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.servicecatalog.Product(\"default\", {\n providerName: name,\n description: \"desc\",\n productName: name,\n productType: \"Ros\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.servicecatalog.Product(\"default\",\n provider_name=name,\n description=\"desc\",\n product_name=name,\n product_type=\"Ros\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ServiceCatalog.Product(\"default\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n ProductName = name,\n ProductType = \"Ros\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewProduct(ctx, \"default\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tProductName: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Product(\"default\", ProductArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .productName(name)\n .productType(\"Ros\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n description: desc\n productName: ${name}\n productType: Ros\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/product:Product example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -249779,7 +255457,7 @@ } }, "alicloud:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation": { - "description": "Provides a Service Catalog Product Portfolio Association resource.\n\nProduct portfolio association.\n\nFor information about Service Catalog Product Portfolio Association and how to use it, see [What is Product Portfolio Association](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-associateproductwithportfolio).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default0yAgJ8 = new alicloud.servicecatalog.Portfolio(\"default0yAgJ8\", {\n providerName: name,\n description: \"desc\",\n portfolioName: name,\n});\nconst defaultRetBJw = new alicloud.servicecatalog.Product(\"defaultRetBJw\", {\n providerName: name,\n productName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n productType: \"Ros\",\n});\nconst _default = new alicloud.servicecatalog.ProductPortfolioAssociation(\"default\", {\n portfolioId: default0yAgJ8.id,\n productId: defaultRetBJw.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault0y_ag_j8 = alicloud.servicecatalog.Portfolio(\"default0yAgJ8\",\n provider_name=name,\n description=\"desc\",\n portfolio_name=name)\ndefault_ret_b_jw = alicloud.servicecatalog.Product(\"defaultRetBJw\",\n provider_name=name,\n product_name=std.format(input=\"%s1\",\n args=[name]).result,\n product_type=\"Ros\")\ndefault = alicloud.servicecatalog.ProductPortfolioAssociation(\"default\",\n portfolio_id=default0y_ag_j8.id,\n product_id=default_ret_b_jw.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default0yAgJ8 = new AliCloud.ServiceCatalog.Portfolio(\"default0yAgJ8\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n PortfolioName = name,\n });\n\n var defaultRetBJw = new AliCloud.ServiceCatalog.Product(\"defaultRetBJw\", new()\n {\n ProviderName = name,\n ProductName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ProductType = \"Ros\",\n });\n\n var @default = new AliCloud.ServiceCatalog.ProductPortfolioAssociation(\"default\", new()\n {\n PortfolioId = default0yAgJ8.Id,\n ProductId = defaultRetBJw.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault0yAgJ8, err := servicecatalog.NewPortfolio(ctx, \"default0yAgJ8\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRetBJw, err := servicecatalog.NewProduct(ctx, \"defaultRetBJw\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tProductName: pulumi.String(invokeFormat.Result),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewProductPortfolioAssociation(ctx, \"default\", \u0026servicecatalog.ProductPortfolioAssociationArgs{\n\t\t\tPortfolioId: default0yAgJ8.ID(),\n\t\t\tProductId: defaultRetBJw.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.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.servicecatalog.ProductPortfolioAssociation;\nimport com.pulumi.alicloud.servicecatalog.ProductPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default0yAgJ8 = new Portfolio(\"default0yAgJ8\", PortfolioArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .portfolioName(name)\n .build());\n\n var defaultRetBJw = new Product(\"defaultRetBJw\", ProductArgs.builder()\n .providerName(name)\n .productName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .productType(\"Ros\")\n .build());\n\n var default_ = new ProductPortfolioAssociation(\"default\", ProductPortfolioAssociationArgs.builder()\n .portfolioId(default0yAgJ8.id())\n .productId(defaultRetBJw.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default0yAgJ8:\n type: alicloud:servicecatalog:Portfolio\n properties:\n providerName: ${name}\n description: desc\n portfolioName: ${name}\n defaultRetBJw:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n productName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n productType: Ros\n default:\n type: alicloud:servicecatalog:ProductPortfolioAssociation\n properties:\n portfolioId: ${default0yAgJ8.id}\n productId: ${defaultRetBJw.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Product Portfolio Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation example \u003cproduct_id\u003e:\u003cportfolio_id\u003e\n```\n\n", + "description": "Provides a Service Catalog Product Portfolio Association resource.\n\nProduct portfolio association.\n\nFor information about Service Catalog Product Portfolio Association and how to use it, see [What is Product Portfolio Association](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-associateproductwithportfolio).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default0yAgJ8 = new alicloud.servicecatalog.Portfolio(\"default0yAgJ8\", {\n providerName: name,\n description: \"desc\",\n portfolioName: name,\n});\nconst defaultRetBJw = new alicloud.servicecatalog.Product(\"defaultRetBJw\", {\n providerName: name,\n productName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n productType: \"Ros\",\n});\nconst _default = new alicloud.servicecatalog.ProductPortfolioAssociation(\"default\", {\n portfolioId: default0yAgJ8.id,\n productId: defaultRetBJw.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault0y_ag_j8 = alicloud.servicecatalog.Portfolio(\"default0yAgJ8\",\n provider_name=name,\n description=\"desc\",\n portfolio_name=name)\ndefault_ret_b_jw = alicloud.servicecatalog.Product(\"defaultRetBJw\",\n provider_name=name,\n product_name=std.format(input=\"%s1\",\n args=[name]).result,\n product_type=\"Ros\")\ndefault = alicloud.servicecatalog.ProductPortfolioAssociation(\"default\",\n portfolio_id=default0y_ag_j8.id,\n product_id=default_ret_b_jw.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default0yAgJ8 = new AliCloud.ServiceCatalog.Portfolio(\"default0yAgJ8\", new()\n {\n ProviderName = name,\n Description = \"desc\",\n PortfolioName = name,\n });\n\n var defaultRetBJw = new AliCloud.ServiceCatalog.Product(\"defaultRetBJw\", new()\n {\n ProviderName = name,\n ProductName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n ProductType = \"Ros\",\n });\n\n var @default = new AliCloud.ServiceCatalog.ProductPortfolioAssociation(\"default\", new()\n {\n PortfolioId = default0yAgJ8.Id,\n ProductId = defaultRetBJw.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault0yAgJ8, err := servicecatalog.NewPortfolio(ctx, \"default0yAgJ8\", \u0026servicecatalog.PortfolioArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tPortfolioName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRetBJw, err := servicecatalog.NewProduct(ctx, \"defaultRetBJw\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tProductName: pulumi.String(invokeFormat.Result),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewProductPortfolioAssociation(ctx, \"default\", \u0026servicecatalog.ProductPortfolioAssociationArgs{\n\t\t\tPortfolioId: default0yAgJ8.ID(),\n\t\t\tProductId: defaultRetBJw.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.alicloud.servicecatalog.Portfolio;\nimport com.pulumi.alicloud.servicecatalog.PortfolioArgs;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.servicecatalog.ProductPortfolioAssociation;\nimport com.pulumi.alicloud.servicecatalog.ProductPortfolioAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default0yAgJ8 = new Portfolio(\"default0yAgJ8\", PortfolioArgs.builder()\n .providerName(name)\n .description(\"desc\")\n .portfolioName(name)\n .build());\n\n var defaultRetBJw = new Product(\"defaultRetBJw\", ProductArgs.builder()\n .providerName(name)\n .productName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .productType(\"Ros\")\n .build());\n\n var default_ = new ProductPortfolioAssociation(\"default\", ProductPortfolioAssociationArgs.builder()\n .portfolioId(default0yAgJ8.id())\n .productId(defaultRetBJw.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default0yAgJ8:\n type: alicloud:servicecatalog:Portfolio\n properties:\n providerName: ${name}\n description: desc\n portfolioName: ${name}\n defaultRetBJw:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n productName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n productType: Ros\n default:\n type: alicloud:servicecatalog:ProductPortfolioAssociation\n properties:\n portfolioId: ${default0yAgJ8.id}\n productId: ${defaultRetBJw.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Product Portfolio Association can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation example \u003cproduct_id\u003e:\u003cportfolio_id\u003e\n```\n\n", "properties": { "portfolioId": { "type": "string", @@ -249828,7 +255506,7 @@ } }, "alicloud:servicecatalog/productVersion:ProductVersion": { - "description": "Provides a Service Catalog Product Version resource.\n\nThere can be one or more versions of the product.\n\nFor information about Service Catalog Product Version and how to use it, see [What is Product Version](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createproductversion).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultmaeTcE = new alicloud.servicecatalog.Product(\"defaultmaeTcE\", {\n providerName: name,\n productName: name,\n productType: \"Ros\",\n});\nconst _default = new alicloud.servicecatalog.ProductVersion(\"default\", {\n guidance: \"Default\",\n templateUrl: \"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n active: true,\n description: \"产品版本测试\",\n productVersionName: name,\n productId: defaultmaeTcE.id,\n templateType: \"RosTerraformTemplate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultmae_tc_e = alicloud.servicecatalog.Product(\"defaultmaeTcE\",\n provider_name=name,\n product_name=name,\n product_type=\"Ros\")\ndefault = alicloud.servicecatalog.ProductVersion(\"default\",\n guidance=\"Default\",\n template_url=\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n active=True,\n description=\"产品版本测试\",\n product_version_name=name,\n product_id=defaultmae_tc_e.id,\n template_type=\"RosTerraformTemplate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultmaeTcE = new AliCloud.ServiceCatalog.Product(\"defaultmaeTcE\", new()\n {\n ProviderName = name,\n ProductName = name,\n ProductType = \"Ros\",\n });\n\n var @default = new AliCloud.ServiceCatalog.ProductVersion(\"default\", new()\n {\n Guidance = \"Default\",\n TemplateUrl = \"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n Active = true,\n Description = \"产品版本测试\",\n ProductVersionName = name,\n ProductId = defaultmaeTcE.Id,\n TemplateType = \"RosTerraformTemplate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultmaeTcE, err := servicecatalog.NewProduct(ctx, \"defaultmaeTcE\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tProductName: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewProductVersion(ctx, \"default\", \u0026servicecatalog.ProductVersionArgs{\n\t\t\tGuidance: pulumi.String(\"Default\"),\n\t\t\tTemplateUrl: pulumi.String(\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\"),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"产品版本测试\"),\n\t\t\tProductVersionName: pulumi.String(name),\n\t\t\tProductId: defaultmaeTcE.ID(),\n\t\t\tTemplateType: pulumi.String(\"RosTerraformTemplate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport com.pulumi.alicloud.servicecatalog.ProductVersion;\nimport com.pulumi.alicloud.servicecatalog.ProductVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultmaeTcE = new Product(\"defaultmaeTcE\", ProductArgs.builder()\n .providerName(name)\n .productName(name)\n .productType(\"Ros\")\n .build());\n\n var default_ = new ProductVersion(\"default\", ProductVersionArgs.builder()\n .guidance(\"Default\")\n .templateUrl(\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\")\n .active(true)\n .description(\"产品版本测试\")\n .productVersionName(name)\n .productId(defaultmaeTcE.id())\n .templateType(\"RosTerraformTemplate\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultmaeTcE:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n productName: ${name}\n productType: Ros\n default:\n type: alicloud:servicecatalog:ProductVersion\n properties:\n guidance: Default\n templateUrl: oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\n active: true\n description: 产品版本测试\n productVersionName: ${name}\n productId: ${defaultmaeTcE.id}\n templateType: RosTerraformTemplate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Product Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/productVersion:ProductVersion example \u003cid\u003e\n```\n\n", + "description": "Provides a Service Catalog Product Version resource.\n\nThere can be one or more versions of the product.\n\nFor information about Service Catalog Product Version and how to use it, see [What is Product Version](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-createproductversion).\n\n\u003e **NOTE:** Available since v1.230.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultmaeTcE = new alicloud.servicecatalog.Product(\"defaultmaeTcE\", {\n providerName: name,\n productName: name,\n productType: \"Ros\",\n});\nconst _default = new alicloud.servicecatalog.ProductVersion(\"default\", {\n guidance: \"Default\",\n templateUrl: \"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n active: true,\n description: \"产品版本测试\",\n productVersionName: name,\n productId: defaultmaeTcE.id,\n templateType: \"RosTerraformTemplate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultmae_tc_e = alicloud.servicecatalog.Product(\"defaultmaeTcE\",\n provider_name=name,\n product_name=name,\n product_type=\"Ros\")\ndefault = alicloud.servicecatalog.ProductVersion(\"default\",\n guidance=\"Default\",\n template_url=\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n active=True,\n description=\"产品版本测试\",\n product_version_name=name,\n product_id=defaultmae_tc_e.id,\n template_type=\"RosTerraformTemplate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultmaeTcE = new AliCloud.ServiceCatalog.Product(\"defaultmaeTcE\", new()\n {\n ProviderName = name,\n ProductName = name,\n ProductType = \"Ros\",\n });\n\n var @default = new AliCloud.ServiceCatalog.ProductVersion(\"default\", new()\n {\n Guidance = \"Default\",\n TemplateUrl = \"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\",\n Active = true,\n Description = \"产品版本测试\",\n ProductVersionName = name,\n ProductId = defaultmaeTcE.Id,\n TemplateType = \"RosTerraformTemplate\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultmaeTcE, err := servicecatalog.NewProduct(ctx, \"defaultmaeTcE\", \u0026servicecatalog.ProductArgs{\n\t\t\tProviderName: pulumi.String(name),\n\t\t\tProductName: pulumi.String(name),\n\t\t\tProductType: pulumi.String(\"Ros\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewProductVersion(ctx, \"default\", \u0026servicecatalog.ProductVersionArgs{\n\t\t\tGuidance: pulumi.String(\"Default\"),\n\t\t\tTemplateUrl: pulumi.String(\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\"),\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"产品版本测试\"),\n\t\t\tProductVersionName: pulumi.String(name),\n\t\t\tProductId: defaultmaeTcE.ID(),\n\t\t\tTemplateType: pulumi.String(\"RosTerraformTemplate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.servicecatalog.Product;\nimport com.pulumi.alicloud.servicecatalog.ProductArgs;\nimport com.pulumi.alicloud.servicecatalog.ProductVersion;\nimport com.pulumi.alicloud.servicecatalog.ProductVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultmaeTcE = new Product(\"defaultmaeTcE\", ProductArgs.builder()\n .providerName(name)\n .productName(name)\n .productType(\"Ros\")\n .build());\n\n var default_ = new ProductVersion(\"default\", ProductVersionArgs.builder()\n .guidance(\"Default\")\n .templateUrl(\"oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\")\n .active(true)\n .description(\"产品版本测试\")\n .productVersionName(name)\n .productId(defaultmaeTcE.id())\n .templateType(\"RosTerraformTemplate\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultmaeTcE:\n type: alicloud:servicecatalog:Product\n properties:\n providerName: ${name}\n productName: ${name}\n productType: Ros\n default:\n type: alicloud:servicecatalog:ProductVersion\n properties:\n guidance: Default\n templateUrl: oss://servicecatalog-cn-hangzhou/1466115886172051/terraform/template/tpl-bp1x4v3r44u7u7/template.json\n active: true\n description: 产品版本测试\n productVersionName: ${name}\n productId: ${defaultmaeTcE.id}\n templateType: RosTerraformTemplate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Product Version can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/productVersion:ProductVersion example \u003cid\u003e\n```\n\n", "properties": { "active": { "type": "boolean", @@ -249952,7 +255630,7 @@ } }, "alicloud:servicecatalog/provisionedProduct:ProvisionedProduct": { - "description": "Provides a Service Catalog Provisioned Product resource.\n\nFor information about Service Catalog Provisioned Product and how to use it, see [What is Provisioned Product](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-launchproduct).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testAccServiceCatalogProvisionedProduct\";\nconst _default = new alicloud.servicecatalog.ProvisionedProduct(\"default\", {\n provisionedProductName: name,\n stackRegionId: \"cn-hangzhou\",\n productVersionId: \"pv-bp1d7dxy2pcc1g\",\n productId: \"prod-bp1u3dkc282cwd\",\n portfolioId: \"port-bp119dvn27jccw\",\n tags: {\n v1: \"tf-test\",\n },\n parameters: [{\n parameterKey: \"role_name\",\n parameterValue: name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testAccServiceCatalogProvisionedProduct\"\ndefault = alicloud.servicecatalog.ProvisionedProduct(\"default\",\n provisioned_product_name=name,\n stack_region_id=\"cn-hangzhou\",\n product_version_id=\"pv-bp1d7dxy2pcc1g\",\n product_id=\"prod-bp1u3dkc282cwd\",\n portfolio_id=\"port-bp119dvn27jccw\",\n tags={\n \"v1\": \"tf-test\",\n },\n parameters=[{\n \"parameter_key\": \"role_name\",\n \"parameter_value\": name,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testAccServiceCatalogProvisionedProduct\";\n var @default = new AliCloud.ServiceCatalog.ProvisionedProduct(\"default\", new()\n {\n ProvisionedProductName = name,\n StackRegionId = \"cn-hangzhou\",\n ProductVersionId = \"pv-bp1d7dxy2pcc1g\",\n ProductId = \"prod-bp1u3dkc282cwd\",\n PortfolioId = \"port-bp119dvn27jccw\",\n Tags = \n {\n { \"v1\", \"tf-test\" },\n },\n Parameters = new[]\n {\n new AliCloud.ServiceCatalog.Inputs.ProvisionedProductParameterArgs\n {\n ParameterKey = \"role_name\",\n ParameterValue = name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testAccServiceCatalogProvisionedProduct\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewProvisionedProduct(ctx, \"default\", \u0026servicecatalog.ProvisionedProductArgs{\n\t\t\tProvisionedProductName: pulumi.String(name),\n\t\t\tStackRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tProductVersionId: pulumi.String(\"pv-bp1d7dxy2pcc1g\"),\n\t\t\tProductId: pulumi.String(\"prod-bp1u3dkc282cwd\"),\n\t\t\tPortfolioId: pulumi.String(\"port-bp119dvn27jccw\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"v1\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t\tParameters: servicecatalog.ProvisionedProductParameterArray{\n\t\t\t\t\u0026servicecatalog.ProvisionedProductParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"role_name\"),\n\t\t\t\t\tParameterValue: pulumi.String(name),\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.alicloud.servicecatalog.ProvisionedProduct;\nimport com.pulumi.alicloud.servicecatalog.ProvisionedProductArgs;\nimport com.pulumi.alicloud.servicecatalog.inputs.ProvisionedProductParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testAccServiceCatalogProvisionedProduct\");\n var default_ = new ProvisionedProduct(\"default\", ProvisionedProductArgs.builder()\n .provisionedProductName(name)\n .stackRegionId(\"cn-hangzhou\")\n .productVersionId(\"pv-bp1d7dxy2pcc1g\")\n .productId(\"prod-bp1u3dkc282cwd\")\n .portfolioId(\"port-bp119dvn27jccw\")\n .tags(Map.of(\"v1\", \"tf-test\"))\n .parameters(ProvisionedProductParameterArgs.builder()\n .parameterKey(\"role_name\")\n .parameterValue(name)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testAccServiceCatalogProvisionedProduct\nresources:\n default:\n type: alicloud:servicecatalog:ProvisionedProduct\n properties:\n provisionedProductName: ${name}\n stackRegionId: cn-hangzhou\n productVersionId: pv-bp1d7dxy2pcc1g\n productId: prod-bp1u3dkc282cwd\n portfolioId: port-bp119dvn27jccw\n tags:\n v1: tf-test\n parameters:\n - parameterKey: role_name\n parameterValue: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Catalog Provisioned Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/provisionedProduct:ProvisionedProduct example \u003cid\u003e\n```\n\n", + "description": "Provides a Service Catalog Provisioned Product resource.\n\nFor information about Service Catalog Provisioned Product and how to use it, see [What is Provisioned Product](https://www.alibabacloud.com/help/en/service-catalog/developer-reference/api-servicecatalog-2021-09-01-launchproduct).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testAccServiceCatalogProvisionedProduct\";\nconst _default = new alicloud.servicecatalog.ProvisionedProduct(\"default\", {\n provisionedProductName: name,\n stackRegionId: \"cn-hangzhou\",\n productVersionId: \"pv-bp1d7dxy2pcc1g\",\n productId: \"prod-bp1u3dkc282cwd\",\n portfolioId: \"port-bp119dvn27jccw\",\n tags: {\n v1: \"tf-test\",\n },\n parameters: [{\n parameterKey: \"role_name\",\n parameterValue: name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testAccServiceCatalogProvisionedProduct\"\ndefault = alicloud.servicecatalog.ProvisionedProduct(\"default\",\n provisioned_product_name=name,\n stack_region_id=\"cn-hangzhou\",\n product_version_id=\"pv-bp1d7dxy2pcc1g\",\n product_id=\"prod-bp1u3dkc282cwd\",\n portfolio_id=\"port-bp119dvn27jccw\",\n tags={\n \"v1\": \"tf-test\",\n },\n parameters=[{\n \"parameter_key\": \"role_name\",\n \"parameter_value\": name,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testAccServiceCatalogProvisionedProduct\";\n var @default = new AliCloud.ServiceCatalog.ProvisionedProduct(\"default\", new()\n {\n ProvisionedProductName = name,\n StackRegionId = \"cn-hangzhou\",\n ProductVersionId = \"pv-bp1d7dxy2pcc1g\",\n ProductId = \"prod-bp1u3dkc282cwd\",\n PortfolioId = \"port-bp119dvn27jccw\",\n Tags = \n {\n { \"v1\", \"tf-test\" },\n },\n Parameters = new[]\n {\n new AliCloud.ServiceCatalog.Inputs.ProvisionedProductParameterArgs\n {\n ParameterKey = \"role_name\",\n ParameterValue = name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicecatalog\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testAccServiceCatalogProvisionedProduct\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := servicecatalog.NewProvisionedProduct(ctx, \"default\", \u0026servicecatalog.ProvisionedProductArgs{\n\t\t\tProvisionedProductName: pulumi.String(name),\n\t\t\tStackRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t\tProductVersionId: pulumi.String(\"pv-bp1d7dxy2pcc1g\"),\n\t\t\tProductId: pulumi.String(\"prod-bp1u3dkc282cwd\"),\n\t\t\tPortfolioId: pulumi.String(\"port-bp119dvn27jccw\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"v1\": pulumi.String(\"tf-test\"),\n\t\t\t},\n\t\t\tParameters: servicecatalog.ProvisionedProductParameterArray{\n\t\t\t\t\u0026servicecatalog.ProvisionedProductParameterArgs{\n\t\t\t\t\tParameterKey: pulumi.String(\"role_name\"),\n\t\t\t\t\tParameterValue: pulumi.String(name),\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.alicloud.servicecatalog.ProvisionedProduct;\nimport com.pulumi.alicloud.servicecatalog.ProvisionedProductArgs;\nimport com.pulumi.alicloud.servicecatalog.inputs.ProvisionedProductParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testAccServiceCatalogProvisionedProduct\");\n var default_ = new ProvisionedProduct(\"default\", ProvisionedProductArgs.builder()\n .provisionedProductName(name)\n .stackRegionId(\"cn-hangzhou\")\n .productVersionId(\"pv-bp1d7dxy2pcc1g\")\n .productId(\"prod-bp1u3dkc282cwd\")\n .portfolioId(\"port-bp119dvn27jccw\")\n .tags(Map.of(\"v1\", \"tf-test\"))\n .parameters(ProvisionedProductParameterArgs.builder()\n .parameterKey(\"role_name\")\n .parameterValue(name)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testAccServiceCatalogProvisionedProduct\nresources:\n default:\n type: alicloud:servicecatalog:ProvisionedProduct\n properties:\n provisionedProductName: ${name}\n stackRegionId: cn-hangzhou\n productVersionId: pv-bp1d7dxy2pcc1g\n productId: prod-bp1u3dkc282cwd\n portfolioId: port-bp119dvn27jccw\n tags:\n v1: tf-test\n parameters:\n - parameterKey: role_name\n parameterValue: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Catalog Provisioned Product can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicecatalog/provisionedProduct:ProvisionedProduct example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -250228,7 +255906,7 @@ } }, "alicloud:servicemesh/extensionProvider:ExtensionProvider": { - "description": "Provides a Service Mesh Extension Provider resource.\n\nFor information about Service Mesh Extension Provider and how to use it, see [What is Extension Provider](https://help.aliyun.com/document_detail/461549.html).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultNetwork: alicloud.vpc.Network[] = [];\ndefaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultNetwork.push(new alicloud.vpc.Network(`default-${range.value}`, {}));\n }\n});\nconst defaultGetSwitches = pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id).apply(value =\u003e alicloud.vpc.getSwitchesOutput({\n vpcId: value,\n}));\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\ndefaultGetSwitches.apply(defaultGetSwitches =\u003e defaultGetSwitches.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id),\n cidrBlock: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 2,\n })).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n }));\n }\n});\nconst defaultServiceMesh = new alicloud.servicemesh.ServiceMesh(\"default\", {\n serviceMeshName: \"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n version: \"v1.21.6.103-g5ddeaef7-aliyun\",\n edition: \"Default\",\n network: {\n vpcId: pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id),\n vswitcheLists: [pulumi.all([defaultGetSwitches.apply(defaultGetSwitches =\u003e defaultGetSwitches.ids).length, defaultGetSwitches, defaultSwitch[0].id]).apply(([length, defaultGetSwitches, id]) =\u003e length \u003e 0 ? defaultGetSwitches.ids?.[0] : id)],\n },\n});\nconst defaultExtensionProvider = new alicloud.servicemesh.ExtensionProvider(\"default\", {\n serviceMeshId: defaultServiceMesh.id,\n extensionProviderName: \"httpextauth-tf-example\",\n type: \"httpextauth\",\n config: \"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_network = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_network.append(alicloud.vpc.Network(f\"default-{range['value']}\"))\n\nlen(default_get_networks.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_get_switches = pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=default_network[0].id\n).apply(lambda resolved_outputs: default_get_networks.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n.apply(lambda value: alicloud.vpc.get_switches_output(vpc_id=value))\ndefault_switch = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=pulumi.Output.all(\n id=default_network[0].id,\n value=default_get_networks.ids[0] if length.apply(lambda __convert: __convert \u003e 0) else id\n).apply(lambda resolved_outputs: pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=resolved_outputs['id']\n).apply(lambda resolved_outputs: resolved_outputs['value'])\n)\n,\n cidr_block=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=2).result,\n zone_id=default.zones[0].id))\n\nlen(default_get_switches.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_service_mesh = alicloud.servicemesh.ServiceMesh(\"default\",\n service_mesh_name=\"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n version=\"v1.21.6.103-g5ddeaef7-aliyun\",\n edition=\"Default\",\n network={\n \"vpc_id\": pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=default_network[0].id\n).apply(lambda resolved_outputs: default_get_networks.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n,\n \"vswitche_lists\": [pulumi.Output.all(\n length=len(default_get_switches.ids),\n default_get_switches=default_get_switches,\n id=default_switch[0].id\n).apply(lambda resolved_outputs: default_get_switches.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n],\n })\ndefault_extension_provider = alicloud.servicemesh.ExtensionProvider(\"default\",\n service_mesh_id=default_service_mesh.id,\n extension_provider_name=\"httpextauth-tf-example\",\n type=\"httpextauth\",\n config=\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultNetwork = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNetwork.Add(new AliCloud.Vpc.Network($\"default-{range.Value}\", new()\n {\n }));\n }\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : defaultNetwork[0].Id,\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = Output.Tuple(defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length, defaultGetNetworks, defaultNetwork[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetNetworks = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : id;\n }),\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 2,\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n }));\n }\n var defaultServiceMesh = new AliCloud.ServiceMesh.ServiceMesh(\"default\", new()\n {\n ServiceMeshName = \"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n Version = \"v1.21.6.103-g5ddeaef7-aliyun\",\n Edition = \"Default\",\n Network = new AliCloud.ServiceMesh.Inputs.ServiceMeshNetworkArgs\n {\n VpcId = Output.Tuple(defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length, defaultGetNetworks, defaultNetwork[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetNetworks = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : id;\n }),\n VswitcheLists = new[]\n {\n Output.Tuple(defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length, defaultGetSwitches, defaultSwitch[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetSwitches = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]) : id;\n }),\n },\n },\n });\n\n var defaultExtensionProvider = new AliCloud.ServiceMesh.ExtensionProvider(\"default\", new()\n {\n ServiceMeshId = defaultServiceMesh.Id,\n ExtensionProviderName = \"httpextauth-tf-example\",\n Type = \"httpextauth\",\n Config = \"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicemesh\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\nNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultNetwork []*vpc.Network\nfor index := 0; index \u003c float64(len(defaultGetNetworks.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"default-%v\", key0), nil)\nif err != nil {\nreturn err\n}\ndefaultNetwork = append(defaultNetwork, __res)\n}\nvar tmp1 *string\nif length \u003e 0 {\ntmp1 = defaultGetNetworks.Ids[0]\n} else {\ntmp1 = id\n}\ndefaultGetSwitches := pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp1, nil\n}).(pulumi.StringPtrOutput).ApplyT(func(value *string) (vpc.GetSwitchesResult, error) {\nreturn vpc.GetSwitchesResult(interface{}(vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\nVpcId: pulumi.StringRef(pulumi.StringRef(value)),\n}, nil))), nil\n}).(vpc.GetSwitchesResultOutput)\nvar tmp2 *string\nif length \u003e 0 {\ntmp2 = defaultGetNetworks.Ids[0]\n} else {\ntmp2 = id\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: defaultGetNetworks.Vpcs[0].CidrBlock,\nNewbits: 8,\nNetnum: 2,\n}, nil)\nif err != nil {\nreturn err\n}\nvar tmp3 float64\nif length \u003e 0 {\ntmp3 = 0\n} else {\ntmp3 = 1\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c float64(len(defaultGetSwitches.ApplyT(func(defaultGetSwitches vpc.GetSwitchesResult) (interface{}, error) {\nreturn defaultGetSwitches.Ids, nil\n}).(pulumi.Interface{}Output)).ApplyT(func(length int) (float64, error) {\nreturn tmp3, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: pulumi.String(pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp2, nil\n}).(pulumi.StringPtrOutput)),\nCidrBlock: pulumi.String(invokeCidrsubnet.Result),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\nvar tmp4 *string\nif length \u003e 0 {\ntmp4 = defaultGetNetworks.Ids[0]\n} else {\ntmp4 = id\n}\nvar tmp5 *string\nif length \u003e 0 {\ntmp5 = defaultGetSwitches.Ids[0]\n} else {\ntmp5 = id\n}\ndefaultServiceMesh, err := servicemesh.NewServiceMesh(ctx, \"default\", \u0026servicemesh.ServiceMeshArgs{\nServiceMeshName: pulumi.String(\"mesh-c50f3fef117ad45b6b26047cdafef65ad\"),\nVersion: pulumi.String(\"v1.21.6.103-g5ddeaef7-aliyun\"),\nEdition: pulumi.String(\"Default\"),\nNetwork: \u0026servicemesh.ServiceMeshNetworkArgs{\nVpcId: pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp4, nil\n}).(pulumi.StringPtrOutput),\nVswitcheLists: pulumi.StringArray{\npulumi.All(len(defaultGetSwitches.ApplyT(func(defaultGetSwitches vpc.GetSwitchesResult) (interface{}, error) {\nreturn defaultGetSwitches.Ids, nil\n}).(pulumi.Interface{}Output)),defaultGetSwitches,defaultSwitch[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\ndefaultGetSwitches := _args[1].(vpc.GetSwitchesResult)\nid := _args[2].(string)\nreturn \u0026tmp5, nil\n}).(pulumi.StringPtrOutput),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = servicemesh.NewExtensionProvider(ctx, \"default\", \u0026servicemesh.ExtensionProviderArgs{\nServiceMeshId: defaultServiceMesh.ID(),\nExtensionProviderName: pulumi.String(\"httpextauth-tf-example\"),\nType: pulumi.String(\"httpextauth\"),\nConfig: pulumi.String(\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.servicemesh.ServiceMesh;\nimport com.pulumi.alicloud.servicemesh.ServiceMeshArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshNetworkArgs;\nimport com.pulumi.alicloud.servicemesh.ExtensionProvider;\nimport com.pulumi.alicloud.servicemesh.ExtensionProviderArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n for (var i = 0; i \u003c defaultGetNetworks.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Network(\"defaultNetwork-\" + i);\n\n \n}\n final var defaultGetSwitches = Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? defaultGetNetworks.ids()[0] : id;\n }).applyValue(_value -\u003e VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(_value)\n .build()));\n\n for (var i = 0; i \u003c defaultGetSwitches.applyValue(_defaultGetSwitches -\u003e _defaultGetSwitches.ids()).length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? defaultGetNetworks.ids()[0] : id;\n }))\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(2)\n .build()).result())\n .zoneId(default_.zones()[0].id())\n .build());\n\n \n}\n var defaultServiceMesh = new ServiceMesh(\"defaultServiceMesh\", ServiceMeshArgs.builder()\n .serviceMeshName(\"mesh-c50f3fef117ad45b6b26047cdafef65ad\")\n .version(\"v1.21.6.103-g5ddeaef7-aliyun\")\n .edition(\"Default\")\n .network(ServiceMeshNetworkArgs.builder()\n .vpcId(Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length.applyValue(___convert -\u003e ___convert \u003e 0) ? defaultGetNetworks.ids()[0] : id;\n }))\n .vswitcheLists(List.of(Output.tuple(defaultGetSwitches.applyValue(_defaultGetSwitches -\u003e _defaultGetSwitches.ids()).length(), defaultGetSwitches, defaultSwitch[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var defaultGetSwitches = values.t2;\n var id = values.t3;\n return length.applyValue(___convert -\u003e ___convert \u003e 0) ? defaultGetSwitches.ids()[0] : id;\n })))\n .build())\n .build());\n\n var defaultExtensionProvider = new ExtensionProvider(\"defaultExtensionProvider\", ExtensionProviderArgs.builder()\n .serviceMeshId(defaultServiceMesh.id())\n .extensionProviderName(\"httpextauth-tf-example\")\n .type(\"httpextauth\")\n .config(\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Mesh Extension Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicemesh/extensionProvider:ExtensionProvider example \u003cservice_mesh_id\u003e:\u003ctype\u003e:\u003cextension_provider_name\u003e\n```\n\n", + "description": "Provides a Service Mesh Extension Provider resource.\n\nFor information about Service Mesh Extension Provider and how to use it, see [What is Extension Provider](https://help.aliyun.com/document_detail/461549.html).\n\n\u003e **NOTE:** Available since v1.191.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"default-NODELETING\",\n});\nconst defaultNetwork: alicloud.vpc.Network[] = [];\ndefaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultNetwork.push(new alicloud.vpc.Network(`default-${range.value}`, {}));\n }\n});\nconst defaultGetSwitches = pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id).apply(value =\u003e alicloud.vpc.getSwitchesOutput({\n vpcId: value,\n}));\nconst defaultSwitch: alicloud.vpc.Switch[] = [];\ndefaultGetSwitches.apply(defaultGetSwitches =\u003e defaultGetSwitches.ids).length.apply(length =\u003e {\n for (const range = {value: 0}; range.value \u003c (length \u003e 0 ? 0 : 1); range.value++) {\n defaultSwitch.push(new alicloud.vpc.Switch(`default-${range.value}`, {\n vpcId: pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id),\n cidrBlock: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 2,\n })).then(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n }));\n }\n});\nconst defaultServiceMesh = new alicloud.servicemesh.ServiceMesh(\"default\", {\n serviceMeshName: \"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n version: \"v1.21.6.103-g5ddeaef7-aliyun\",\n edition: \"Default\",\n network: {\n vpcId: pulumi.all([defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids).length, defaultGetNetworks, defaultNetwork[0].id]).apply(([length, defaultGetNetworks, id]) =\u003e length \u003e 0 ? defaultGetNetworks.ids?.[0] : id),\n vswitcheLists: [pulumi.all([defaultGetSwitches.apply(defaultGetSwitches =\u003e defaultGetSwitches.ids).length, defaultGetSwitches, defaultSwitch[0].id]).apply(([length, defaultGetSwitches, id]) =\u003e length \u003e 0 ? defaultGetSwitches.ids?.[0] : id)],\n },\n});\nconst defaultExtensionProvider = new alicloud.servicemesh.ExtensionProvider(\"default\", {\n serviceMeshId: defaultServiceMesh.id,\n extensionProviderName: \"httpextauth-tf-example\",\n type: \"httpextauth\",\n config: \"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"default-NODELETING\")\ndefault_network = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_network.append(alicloud.vpc.Network(f\"default-{range['value']}\"))\n\nlen(default_get_networks.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_get_switches = pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=default_network[0].id\n).apply(lambda resolved_outputs: default_get_networks.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n.apply(lambda value: alicloud.vpc.get_switches_output(vpc_id=value))\ndefault_switch = []\ndef create_default(range_body):\n for range in [{\"value\": i} for i in range(0, range_body)]:\n default_switch.append(alicloud.vpc.Switch(f\"default-{range['value']}\",\n vpc_id=pulumi.Output.all(\n id=default_network[0].id,\n value=default_get_networks.ids[0] if length.apply(lambda __convert: __convert \u003e 0) else id\n).apply(lambda resolved_outputs: pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=resolved_outputs['id']\n).apply(lambda resolved_outputs: resolved_outputs['value'])\n)\n,\n cidr_block=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=2).result,\n zone_id=default.zones[0].id))\n\nlen(default_get_switches.ids).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] \u003e 0 else 1))\ndefault_service_mesh = alicloud.servicemesh.ServiceMesh(\"default\",\n service_mesh_name=\"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n version=\"v1.21.6.103-g5ddeaef7-aliyun\",\n edition=\"Default\",\n network={\n \"vpc_id\": pulumi.Output.all(\n length=len(default_get_networks.ids),\n id=default_network[0].id\n).apply(lambda resolved_outputs: default_get_networks.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n,\n \"vswitche_lists\": [pulumi.Output.all(\n length=len(default_get_switches.ids),\n default_get_switches=default_get_switches,\n id=default_switch[0].id\n).apply(lambda resolved_outputs: default_get_switches.ids[0] if resolved_outputs['length'] \u003e 0 else resolved_outputs['id'])\n],\n })\ndefault_extension_provider = alicloud.servicemesh.ExtensionProvider(\"default\",\n service_mesh_id=default_service_mesh.id,\n extension_provider_name=\"httpextauth-tf-example\",\n type=\"httpextauth\",\n config=\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"default-NODELETING\",\n });\n\n var defaultNetwork = new List\u003cAliCloud.Vpc.Network\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultNetwork.Add(new AliCloud.Vpc.Network($\"default-{range.Value}\", new()\n {\n }));\n }\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : defaultNetwork[0].Id,\n });\n\n var defaultSwitch = new List\u003cAliCloud.Vpc.Switch\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length.Apply(length =\u003e length \u003e 0 ? 0 : 1); rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultSwitch.Add(new AliCloud.Vpc.Switch($\"default-{range.Value}\", new()\n {\n VpcId = Output.Tuple(defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length, defaultGetNetworks, defaultNetwork[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetNetworks = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : id;\n }),\n CidrBlock = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 2,\n }).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n }));\n }\n var defaultServiceMesh = new AliCloud.ServiceMesh.ServiceMesh(\"default\", new()\n {\n ServiceMeshName = \"mesh-c50f3fef117ad45b6b26047cdafef65ad\",\n Version = \"v1.21.6.103-g5ddeaef7-aliyun\",\n Edition = \"Default\",\n Network = new AliCloud.ServiceMesh.Inputs.ServiceMeshNetworkArgs\n {\n VpcId = Output.Tuple(defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids).Length, defaultGetNetworks, defaultNetwork[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetNetworks = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]) : id;\n }),\n VswitcheLists = new[]\n {\n Output.Tuple(defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids).Length, defaultGetSwitches, defaultSwitch[0].Id).Apply(values =\u003e\n {\n var length = values.Item1;\n var defaultGetSwitches = values.Item2;\n var id = values.Item3;\n return length \u003e 0 ? defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]) : id;\n }),\n },\n },\n });\n\n var defaultExtensionProvider = new AliCloud.ServiceMesh.ExtensionProvider(\"default\", new()\n {\n ServiceMeshId = defaultServiceMesh.Id,\n ExtensionProviderName = \"httpextauth-tf-example\",\n Type = \"httpextauth\",\n Config = \"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicemesh\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"tf_example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\nNameRegex: pulumi.StringRef(\"default-NODELETING\"),\n}, nil);\nif err != nil {\nreturn err\n}\nvar tmp0 float64\nif length \u003e 0 {\ntmp0 = 0\n} else {\ntmp0 = 1\n}\nvar defaultNetwork []*vpc.Network\nfor index := 0; index \u003c float64(len(defaultGetNetworks.Ids).ApplyT(func(length int) (float64, error) {\nreturn tmp0, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewNetwork(ctx, fmt.Sprintf(\"default-%v\", key0), nil)\nif err != nil {\nreturn err\n}\ndefaultNetwork = append(defaultNetwork, __res)\n}\nvar tmp1 *string\nif length \u003e 0 {\ntmp1 = defaultGetNetworks.Ids[0]\n} else {\ntmp1 = id\n}\ndefaultGetSwitches := pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp1, nil\n}).(pulumi.StringPtrOutput).ApplyT(func(value *string) (vpc.GetSwitchesResult, error) {\nreturn vpc.GetSwitchesResult(interface{}(vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\nVpcId: pulumi.StringRef(pulumi.StringRef(value)),\n}, nil))), nil\n}).(vpc.GetSwitchesResultOutput)\nvar tmp2 *string\nif length \u003e 0 {\ntmp2 = defaultGetNetworks.Ids[0]\n} else {\ntmp2 = id\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: defaultGetNetworks.Vpcs[0].CidrBlock,\nNewbits: 8,\nNetnum: 2,\n}, nil)\nif err != nil {\nreturn err\n}\nvar tmp3 float64\nif length \u003e 0 {\ntmp3 = 0\n} else {\ntmp3 = 1\n}\nvar defaultSwitch []*vpc.Switch\nfor index := 0; index \u003c float64(len(defaultGetSwitches.ApplyT(func(defaultGetSwitches vpc.GetSwitchesResult) (interface{}, error) {\nreturn defaultGetSwitches.Ids, nil\n}).(pulumi.Interface{}Output)).ApplyT(func(length int) (float64, error) {\nreturn tmp3, nil\n}).(pulumi.Float64Output)); index++ {\n key0 := index\n _ := index\n__res, err := vpc.NewSwitch(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026vpc.SwitchArgs{\nVpcId: pulumi.String(pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp2, nil\n}).(pulumi.StringPtrOutput)),\nCidrBlock: pulumi.String(invokeCidrsubnet.Result),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch = append(defaultSwitch, __res)\n}\nvar tmp4 *string\nif length \u003e 0 {\ntmp4 = defaultGetNetworks.Ids[0]\n} else {\ntmp4 = id\n}\nvar tmp5 *string\nif length \u003e 0 {\ntmp5 = defaultGetSwitches.Ids[0]\n} else {\ntmp5 = id\n}\ndefaultServiceMesh, err := servicemesh.NewServiceMesh(ctx, \"default\", \u0026servicemesh.ServiceMeshArgs{\nServiceMeshName: pulumi.String(\"mesh-c50f3fef117ad45b6b26047cdafef65ad\"),\nVersion: pulumi.String(\"v1.21.6.103-g5ddeaef7-aliyun\"),\nEdition: pulumi.String(\"Default\"),\nNetwork: \u0026servicemesh.ServiceMeshNetworkArgs{\nVpcId: pulumi.All(len(defaultGetNetworks.Ids),defaultNetwork[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\nid := _args[1].(string)\nreturn \u0026tmp4, nil\n}).(pulumi.StringPtrOutput),\nVswitcheLists: pulumi.StringArray{\npulumi.All(len(defaultGetSwitches.ApplyT(func(defaultGetSwitches vpc.GetSwitchesResult) (interface{}, error) {\nreturn defaultGetSwitches.Ids, nil\n}).(pulumi.Interface{}Output)),defaultGetSwitches,defaultSwitch[0].ID()).ApplyT(func(_args []interface{}) (*string, error) {\nlength := _args[0].(int)\ndefaultGetSwitches := _args[1].(vpc.GetSwitchesResult)\nid := _args[2].(string)\nreturn \u0026tmp5, nil\n}).(pulumi.StringPtrOutput),\n},\n},\n})\nif err != nil {\nreturn err\n}\n_, err = servicemesh.NewExtensionProvider(ctx, \"default\", \u0026servicemesh.ExtensionProviderArgs{\nServiceMeshId: defaultServiceMesh.ID(),\nExtensionProviderName: pulumi.String(\"httpextauth-tf-example\"),\nType: pulumi.String(\"httpextauth\"),\nConfig: pulumi.String(\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.servicemesh.ServiceMesh;\nimport com.pulumi.alicloud.servicemesh.ServiceMeshArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshNetworkArgs;\nimport com.pulumi.alicloud.servicemesh.ExtensionProvider;\nimport com.pulumi.alicloud.servicemesh.ExtensionProviderArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"default-NODELETING\")\n .build());\n\n for (var i = 0; i \u003c defaultGetNetworks.ids().length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Network(\"defaultNetwork-\" + i);\n\n \n}\n final var defaultGetSwitches = Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? defaultGetNetworks.ids()[0] : id;\n }).applyValue(_value -\u003e VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(_value)\n .build()));\n\n for (var i = 0; i \u003c defaultGetSwitches.applyValue(_defaultGetSwitches -\u003e _defaultGetSwitches.ids()).length().applyValue(_length -\u003e _length \u003e 0 ? 0 : 1); i++) {\n new Switch(\"defaultSwitch-\" + i, SwitchArgs.builder()\n .vpcId(Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length \u003e 0 ? defaultGetNetworks.ids()[0] : id;\n }))\n .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(2)\n .build()).result())\n .zoneId(default_.zones()[0].id())\n .build());\n\n \n}\n var defaultServiceMesh = new ServiceMesh(\"defaultServiceMesh\", ServiceMeshArgs.builder()\n .serviceMeshName(\"mesh-c50f3fef117ad45b6b26047cdafef65ad\")\n .version(\"v1.21.6.103-g5ddeaef7-aliyun\")\n .edition(\"Default\")\n .network(ServiceMeshNetworkArgs.builder()\n .vpcId(Output.tuple(defaultGetNetworks.ids().length(), defaultNetwork[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var id = values.t2;\n return length.applyValue(___convert -\u003e ___convert \u003e 0) ? defaultGetNetworks.ids()[0] : id;\n }))\n .vswitcheLists(List.of(Output.tuple(defaultGetSwitches.applyValue(_defaultGetSwitches -\u003e _defaultGetSwitches.ids()).length(), defaultGetSwitches, defaultSwitch[0].id()).applyValue(values -\u003e {\n var length = values.t1;\n var defaultGetSwitches = values.t2;\n var id = values.t3;\n return length.applyValue(___convert -\u003e ___convert \u003e 0) ? defaultGetSwitches.ids()[0] : id;\n })))\n .build())\n .build());\n\n var defaultExtensionProvider = new ExtensionProvider(\"defaultExtensionProvider\", ExtensionProviderArgs.builder()\n .serviceMeshId(defaultServiceMesh.id())\n .extensionProviderName(\"httpextauth-tf-example\")\n .type(\"httpextauth\")\n .config(\"{\\\"headersToDownstreamOnDeny\\\":[\\\"content-type\\\",\\\"set-cookie\\\"],\\\"headersToUpstreamOnAllow\\\":[\\\"authorization\\\",\\\"cookie\\\",\\\"path\\\",\\\"x-auth-request-access-token\\\",\\\"x-forwarded-access-token\\\"],\\\"includeRequestHeadersInCheck\\\":[\\\"cookie\\\",\\\"x-forward-access-token\\\"],\\\"oidc\\\":{\\\"clientID\\\":\\\"qweqweqwewqeqwe\\\",\\\"clientSecret\\\":\\\"asdasdasdasdsadas\\\",\\\"cookieExpire\\\":\\\"1000\\\",\\\"cookieRefresh\\\":\\\"500\\\",\\\"cookieSecret\\\":\\\"scxzcxzcxzcxzcxz\\\",\\\"issuerURI\\\":\\\"qweqwewqeqweqweqwe\\\",\\\"redirectDomain\\\":\\\"www.alicloud-provider.cn\\\",\\\"redirectProtocol\\\":\\\"http\\\",\\\"scopes\\\":[\\\"profile\\\"]},\\\"port\\\":4180,\\\"service\\\":\\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\\",\\\"timeout\\\":\\\"10s\\\"}\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Mesh Extension Provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicemesh/extensionProvider:ExtensionProvider example \u003cservice_mesh_id\u003e:\u003ctype\u003e:\u003cextension_provider_name\u003e\n```\n\n", "properties": { "config": { "type": "string", @@ -250535,7 +256213,7 @@ } }, "alicloud:servicemesh/userPermission:UserPermission": { - "description": "Provides a Service Mesh UserPermission resource.\n\nFor information about Service Mesh User Permission and how to use it, see [What is User Permission](https://www.alibabacloud.com/help/en/alibaba-cloud-service-mesh/latest/api-servicemesh-2020-01-11-grantuserpermissions).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.servicemesh.getVersions({\n edition: \"Default\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[0]?.id,\n}));\nconst defaultUser = new alicloud.ram.User(\"default\", {name: name});\nconst default1 = new alicloud.servicemesh.ServiceMesh(\"default1\", {\n serviceMeshName: `${name}-${defaultInteger.result}`,\n edition: \"Default\",\n clusterSpec: \"standard\",\n version: _default.then(_default =\u003e _default.versions?.[0]?.version),\n network: {\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitcheLists: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n },\n loadBalancer: {\n pilotPublicEip: false,\n apiServerPublicEip: false,\n },\n});\nconst defaultUserPermission = new alicloud.servicemesh.UserPermission(\"default\", {\n subAccountUserId: defaultUser.id,\n permissions: [{\n roleName: \"istio-ops\",\n serviceMeshId: default1.id,\n roleType: \"custom\",\n isCustom: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.servicemesh.get_versions(edition=\"Default\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[0].id)\ndefault_user = alicloud.ram.User(\"default\", name=name)\ndefault1 = alicloud.servicemesh.ServiceMesh(\"default1\",\n service_mesh_name=f\"{name}-{default_integer['result']}\",\n edition=\"Default\",\n cluster_spec=\"standard\",\n version=default.versions[0].version,\n network={\n \"vpc_id\": default_get_networks.ids[0],\n \"vswitche_lists\": [default_get_switches.ids[0]],\n },\n load_balancer={\n \"pilot_public_eip\": False,\n \"api_server_public_eip\": False,\n })\ndefault_user_permission = alicloud.servicemesh.UserPermission(\"default\",\n sub_account_user_id=default_user.id,\n permissions=[{\n \"role_name\": \"istio-ops\",\n \"service_mesh_id\": default1.id,\n \"role_type\": \"custom\",\n \"is_custom\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ServiceMesh.GetVersions.Invoke(new()\n {\n Edition = \"Default\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = name,\n });\n\n var default1 = new AliCloud.ServiceMesh.ServiceMesh(\"default1\", new()\n {\n ServiceMeshName = $\"{name}-{defaultInteger.Result}\",\n Edition = \"Default\",\n ClusterSpec = \"standard\",\n Version = @default.Apply(@default =\u003e @default.Apply(getVersionsResult =\u003e getVersionsResult.Versions[0]?.Version)),\n Network = new AliCloud.ServiceMesh.Inputs.ServiceMeshNetworkArgs\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitcheLists = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n },\n LoadBalancer = new AliCloud.ServiceMesh.Inputs.ServiceMeshLoadBalancerArgs\n {\n PilotPublicEip = false,\n ApiServerPublicEip = false,\n },\n });\n\n var defaultUserPermission = new AliCloud.ServiceMesh.UserPermission(\"default\", new()\n {\n SubAccountUserId = defaultUser.Id,\n Permissions = new[]\n {\n new AliCloud.ServiceMesh.Inputs.UserPermissionPermissionArgs\n {\n RoleName = \"istio-ops\",\n ServiceMeshId = default1.Id,\n RoleType = \"custom\",\n IsCustom = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicemesh\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := servicemesh.GetVersions(ctx, \u0026servicemesh.GetVersionsArgs{\n\t\t\tEdition: pulumi.StringRef(\"Default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := servicemesh.NewServiceMesh(ctx, \"default1\", \u0026servicemesh.ServiceMeshArgs{\n\t\t\tServiceMeshName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tEdition: pulumi.String(\"Default\"),\n\t\t\tClusterSpec: pulumi.String(\"standard\"),\n\t\t\tVersion: pulumi.String(_default.Versions[0].Version),\n\t\t\tNetwork: \u0026servicemesh.ServiceMeshNetworkArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t\tVswitcheLists: []*string{\n\t\t\t\t\tdefaultGetSwitches.Ids[0],\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancer: \u0026servicemesh.ServiceMeshLoadBalancerArgs{\n\t\t\t\tPilotPublicEip: pulumi.Bool(false),\n\t\t\t\tApiServerPublicEip: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicemesh.NewUserPermission(ctx, \"default\", \u0026servicemesh.UserPermissionArgs{\n\t\t\tSubAccountUserId: defaultUser.ID(),\n\t\t\tPermissions: servicemesh.UserPermissionPermissionArray{\n\t\t\t\t\u0026servicemesh.UserPermissionPermissionArgs{\n\t\t\t\t\tRoleName: pulumi.String(\"istio-ops\"),\n\t\t\t\t\tServiceMeshId: default1.ID(),\n\t\t\t\t\tRoleType: pulumi.String(\"custom\"),\n\t\t\t\t\tIsCustom: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.servicemesh.ServicemeshFunctions;\nimport com.pulumi.alicloud.servicemesh.inputs.GetVersionsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.servicemesh.ServiceMesh;\nimport com.pulumi.alicloud.servicemesh.ServiceMeshArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshNetworkArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshLoadBalancerArgs;\nimport com.pulumi.alicloud.servicemesh.UserPermission;\nimport com.pulumi.alicloud.servicemesh.UserPermissionArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.UserPermissionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ServicemeshFunctions.getVersions(GetVersionsArgs.builder()\n .edition(\"Default\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(name)\n .build());\n\n var default1 = new ServiceMesh(\"default1\", ServiceMeshArgs.builder()\n .serviceMeshName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .edition(\"Default\")\n .clusterSpec(\"standard\")\n .version(default_.versions()[0].version())\n .network(ServiceMeshNetworkArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitcheLists(List.of(defaultGetSwitches.ids()[0]))\n .build())\n .loadBalancer(ServiceMeshLoadBalancerArgs.builder()\n .pilotPublicEip(false)\n .apiServerPublicEip(false)\n .build())\n .build());\n\n var defaultUserPermission = new UserPermission(\"defaultUserPermission\", UserPermissionArgs.builder()\n .subAccountUserId(defaultUser.id())\n .permissions(UserPermissionPermissionArgs.builder()\n .roleName(\"istio-ops\")\n .serviceMeshId(default1.id())\n .roleType(\"custom\")\n .isCustom(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: ${name}\n default1:\n type: alicloud:servicemesh:ServiceMesh\n properties:\n serviceMeshName: ${name}-${defaultInteger.result}\n edition: Default\n clusterSpec: standard\n version: ${default.versions[0].version}\n network:\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitcheLists:\n - ${defaultGetSwitches.ids[0]}\n loadBalancer:\n pilotPublicEip: false\n apiServerPublicEip: false\n defaultUserPermission:\n type: alicloud:servicemesh:UserPermission\n name: default\n properties:\n subAccountUserId: ${defaultUser.id}\n permissions:\n - roleName: istio-ops\n serviceMeshId: ${default1.id}\n roleType: custom\n isCustom: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:servicemesh:getVersions\n arguments:\n edition: Default\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nService Mesh User Permission can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicemesh/userPermission:UserPermission example \u003cid\u003e\n```\n\n", + "description": "Provides a Service Mesh UserPermission resource.\n\nFor information about Service Mesh User Permission and how to use it, see [What is User Permission](https://www.alibabacloud.com/help/en/alibaba-cloud-service-mesh/latest/api-servicemesh-2020-01-11-grantuserpermissions).\n\n\u003e **NOTE:** Available since v1.174.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.servicemesh.getVersions({\n edition: \"Default\",\n});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n});\nconst defaultGetSwitches = Promise.all([defaultGetNetworks, defaultGetZones]).then(([defaultGetNetworks, defaultGetZones]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: defaultGetZones.zones?.[0]?.id,\n}));\nconst defaultUser = new alicloud.ram.User(\"default\", {name: name});\nconst default1 = new alicloud.servicemesh.ServiceMesh(\"default1\", {\n serviceMeshName: `${name}-${defaultInteger.result}`,\n edition: \"Default\",\n clusterSpec: \"standard\",\n version: _default.then(_default =\u003e _default.versions?.[0]?.version),\n network: {\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n vswitcheLists: [defaultGetSwitches.then(defaultGetSwitches =\u003e defaultGetSwitches.ids?.[0])],\n },\n loadBalancer: {\n pilotPublicEip: false,\n apiServerPublicEip: false,\n },\n});\nconst defaultUserPermission = new alicloud.servicemesh.UserPermission(\"default\", {\n subAccountUserId: defaultUser.id,\n permissions: [{\n roleName: \"istio-ops\",\n serviceMeshId: default1.id,\n roleType: \"custom\",\n isCustom: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.servicemesh.get_versions(edition=\"Default\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\")\ndefault_get_switches = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default_get_zones.zones[0].id)\ndefault_user = alicloud.ram.User(\"default\", name=name)\ndefault1 = alicloud.servicemesh.ServiceMesh(\"default1\",\n service_mesh_name=f\"{name}-{default_integer['result']}\",\n edition=\"Default\",\n cluster_spec=\"standard\",\n version=default.versions[0].version,\n network={\n \"vpc_id\": default_get_networks.ids[0],\n \"vswitche_lists\": [default_get_switches.ids[0]],\n },\n load_balancer={\n \"pilot_public_eip\": False,\n \"api_server_public_eip\": False,\n })\ndefault_user_permission = alicloud.servicemesh.UserPermission(\"default\",\n sub_account_user_id=default_user.id,\n permissions=[{\n \"role_name\": \"istio-ops\",\n \"service_mesh_id\": default1.id,\n \"role_type\": \"custom\",\n \"is_custom\": True,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.ServiceMesh.GetVersions.Invoke(new()\n {\n Edition = \"Default\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n });\n\n var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultUser = new AliCloud.Ram.User(\"default\", new()\n {\n Name = name,\n });\n\n var default1 = new AliCloud.ServiceMesh.ServiceMesh(\"default1\", new()\n {\n ServiceMeshName = $\"{name}-{defaultInteger.Result}\",\n Edition = \"Default\",\n ClusterSpec = \"standard\",\n Version = @default.Apply(@default =\u003e @default.Apply(getVersionsResult =\u003e getVersionsResult.Versions[0]?.Version)),\n Network = new AliCloud.ServiceMesh.Inputs.ServiceMeshNetworkArgs\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n VswitcheLists = new[]\n {\n defaultGetSwitches.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n },\n },\n LoadBalancer = new AliCloud.ServiceMesh.Inputs.ServiceMeshLoadBalancerArgs\n {\n PilotPublicEip = false,\n ApiServerPublicEip = false,\n },\n });\n\n var defaultUserPermission = new AliCloud.ServiceMesh.UserPermission(\"default\", new()\n {\n SubAccountUserId = defaultUser.Id,\n Permissions = new[]\n {\n new AliCloud.ServiceMesh.Inputs.UserPermissionPermissionArgs\n {\n RoleName = \"istio-ops\",\n ServiceMeshId = default1.Id,\n RoleType = \"custom\",\n IsCustom = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/servicemesh\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := servicemesh.GetVersions(ctx, \u0026servicemesh.GetVersionsArgs{\n\t\t\tEdition: pulumi.StringRef(\"Default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSwitches, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultUser, err := ram.NewUser(ctx, \"default\", \u0026ram.UserArgs{\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := servicemesh.NewServiceMesh(ctx, \"default1\", \u0026servicemesh.ServiceMeshArgs{\n\t\t\tServiceMeshName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t\tEdition: pulumi.String(\"Default\"),\n\t\t\tClusterSpec: pulumi.String(\"standard\"),\n\t\t\tVersion: pulumi.String(_default.Versions[0].Version),\n\t\t\tNetwork: \u0026servicemesh.ServiceMeshNetworkArgs{\n\t\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\t\tVswitcheLists: []*string{\n\t\t\t\t\tdefaultGetSwitches.Ids[0],\n\t\t\t\t},\n\t\t\t},\n\t\t\tLoadBalancer: \u0026servicemesh.ServiceMeshLoadBalancerArgs{\n\t\t\t\tPilotPublicEip: pulumi.Bool(false),\n\t\t\t\tApiServerPublicEip: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicemesh.NewUserPermission(ctx, \"default\", \u0026servicemesh.UserPermissionArgs{\n\t\t\tSubAccountUserId: defaultUser.ID(),\n\t\t\tPermissions: servicemesh.UserPermissionPermissionArray{\n\t\t\t\t\u0026servicemesh.UserPermissionPermissionArgs{\n\t\t\t\t\tRoleName: pulumi.String(\"istio-ops\"),\n\t\t\t\t\tServiceMeshId: default1.ID(),\n\t\t\t\t\tRoleType: pulumi.String(\"custom\"),\n\t\t\t\t\tIsCustom: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.servicemesh.ServicemeshFunctions;\nimport com.pulumi.alicloud.servicemesh.inputs.GetVersionsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.ram.User;\nimport com.pulumi.alicloud.ram.UserArgs;\nimport com.pulumi.alicloud.servicemesh.ServiceMesh;\nimport com.pulumi.alicloud.servicemesh.ServiceMeshArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshNetworkArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.ServiceMeshLoadBalancerArgs;\nimport com.pulumi.alicloud.servicemesh.UserPermission;\nimport com.pulumi.alicloud.servicemesh.UserPermissionArgs;\nimport com.pulumi.alicloud.servicemesh.inputs.UserPermissionPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = ServicemeshFunctions.getVersions(GetVersionsArgs.builder()\n .edition(\"Default\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .build());\n\n final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultUser = new User(\"defaultUser\", UserArgs.builder()\n .name(name)\n .build());\n\n var default1 = new ServiceMesh(\"default1\", ServiceMeshArgs.builder()\n .serviceMeshName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .edition(\"Default\")\n .clusterSpec(\"standard\")\n .version(default_.versions()[0].version())\n .network(ServiceMeshNetworkArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .vswitcheLists(List.of(defaultGetSwitches.ids()[0]))\n .build())\n .loadBalancer(ServiceMeshLoadBalancerArgs.builder()\n .pilotPublicEip(false)\n .apiServerPublicEip(false)\n .build())\n .build());\n\n var defaultUserPermission = new UserPermission(\"defaultUserPermission\", UserPermissionArgs.builder()\n .subAccountUserId(defaultUser.id())\n .permissions(UserPermissionPermissionArgs.builder()\n .roleName(\"istio-ops\")\n .serviceMeshId(default1.id())\n .roleType(\"custom\")\n .isCustom(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultUser:\n type: alicloud:ram:User\n name: default\n properties:\n name: ${name}\n default1:\n type: alicloud:servicemesh:ServiceMesh\n properties:\n serviceMeshName: ${name}-${defaultInteger.result}\n edition: Default\n clusterSpec: standard\n version: ${default.versions[0].version}\n network:\n vpcId: ${defaultGetNetworks.ids[0]}\n vswitcheLists:\n - ${defaultGetSwitches.ids[0]}\n loadBalancer:\n pilotPublicEip: false\n apiServerPublicEip: false\n defaultUserPermission:\n type: alicloud:servicemesh:UserPermission\n name: default\n properties:\n subAccountUserId: ${defaultUser.id}\n permissions:\n - roleName: istio-ops\n serviceMeshId: ${default1.id}\n roleType: custom\n isCustom: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:servicemesh:getVersions\n arguments:\n edition: Default\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n defaultGetSwitches:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${defaultGetZones.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nService Mesh User Permission can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:servicemesh/userPermission:UserPermission example \u003cid\u003e\n```\n\n", "properties": { "permissions": { "type": "array", @@ -250590,7 +256268,7 @@ } }, "alicloud:simpleapplicationserver/customImage:CustomImage": { - "description": "Provides a Simple Application Server Custom Image resource.\n\nFor information about Simple Application Server Custom Image and how to use it, see [What is Custom Image](https://www.alibabacloud.com/help/en/doc-detail/333535.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.simpleapplicationserver.getImages({});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultGetServerDisks = alicloud.simpleapplicationserver.getServerDisksOutput({\n instanceId: defaultInstance.id,\n});\nconst defaultSnapshot = new alicloud.simpleapplicationserver.Snapshot(\"default\", {\n diskId: defaultGetServerDisks.apply(defaultGetServerDisks =\u003e defaultGetServerDisks.ids?.[0]),\n snapshotName: name,\n});\nconst defaultCustomImage = new alicloud.simpleapplicationserver.CustomImage(\"default\", {\n customImageName: name,\n instanceId: defaultInstance.id,\n systemSnapshotId: defaultSnapshot.id,\n status: \"Share\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.simpleapplicationserver.get_images()\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans()\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)\ndefault_snapshot = alicloud.simpleapplicationserver.Snapshot(\"default\",\n disk_id=default_get_server_disks.ids[0],\n snapshot_name=name)\ndefault_custom_image = alicloud.simpleapplicationserver.CustomImage(\"default\",\n custom_image_name=name,\n instance_id=default_instance.id,\n system_snapshot_id=default_snapshot.id,\n status=\"Share\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke();\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke();\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultGetServerDisks = AliCloud.SimpleApplicationServer.GetServerDisks.Invoke(new()\n {\n InstanceId = defaultInstance.Id,\n });\n\n var defaultSnapshot = new AliCloud.SimpleApplicationServer.Snapshot(\"default\", new()\n {\n DiskId = defaultGetServerDisks.Apply(getServerDisksResult =\u003e getServerDisksResult.Ids[0]),\n SnapshotName = name,\n });\n\n var defaultCustomImage = new AliCloud.SimpleApplicationServer.CustomImage(\"default\", new()\n {\n CustomImageName = name,\n InstanceId = defaultInstance.Id,\n SystemSnapshotId = defaultSnapshot.Id,\n Status = \"Share\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerDisks := simpleapplicationserver.GetServerDisksOutput(ctx, simpleapplicationserver.GetServerDisksOutputArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t}, nil)\n\t\tdefaultSnapshot, err := simpleapplicationserver.NewSnapshot(ctx, \"default\", \u0026simpleapplicationserver.SnapshotArgs{\n\t\t\tDiskId: pulumi.String(defaultGetServerDisks.ApplyT(func(defaultGetServerDisks simpleapplicationserver.GetServerDisksResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetServerDisks.Ids[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = simpleapplicationserver.NewCustomImage(ctx, \"default\", \u0026simpleapplicationserver.CustomImageArgs{\n\t\t\tCustomImageName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tSystemSnapshotId: defaultSnapshot.ID(),\n\t\t\tStatus: pulumi.String(\"Share\"),\n\t\t\tDescription: pulumi.String(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.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerDisksArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Snapshot;\nimport com.pulumi.alicloud.simpleapplicationserver.SnapshotArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.CustomImage;\nimport com.pulumi.alicloud.simpleapplicationserver.CustomImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n final var defaultGetServerDisks = SimpleapplicationserverFunctions.getServerDisks(GetServerDisksArgs.builder()\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .diskId(defaultGetServerDisks.applyValue(_defaultGetServerDisks -\u003e _defaultGetServerDisks.ids()[0]))\n .snapshotName(name)\n .build());\n\n var defaultCustomImage = new CustomImage(\"defaultCustomImage\", CustomImageArgs.builder()\n .customImageName(name)\n .instanceId(defaultInstance.id())\n .systemSnapshotId(defaultSnapshot.id())\n .status(\"Share\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultSnapshot:\n type: alicloud:simpleapplicationserver:Snapshot\n name: default\n properties:\n diskId: ${defaultGetServerDisks.ids[0]}\n snapshotName: ${name}\n defaultCustomImage:\n type: alicloud:simpleapplicationserver:CustomImage\n name: default\n properties:\n customImageName: ${name}\n instanceId: ${defaultInstance.id}\n systemSnapshotId: ${defaultSnapshot.id}\n status: Share\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments: {}\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments: {}\n defaultGetServerDisks:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerDisks\n arguments:\n instanceId: ${defaultInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSimple Application Server Custom Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/customImage:CustomImage example \u003cid\u003e\n```\n\n", + "description": "Provides a Simple Application Server Custom Image resource.\n\nFor information about Simple Application Server Custom Image and how to use it, see [What is Custom Image](https://www.alibabacloud.com/help/en/doc-detail/333535.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.simpleapplicationserver.getImages({});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultGetServerDisks = alicloud.simpleapplicationserver.getServerDisksOutput({\n instanceId: defaultInstance.id,\n});\nconst defaultSnapshot = new alicloud.simpleapplicationserver.Snapshot(\"default\", {\n diskId: defaultGetServerDisks.apply(defaultGetServerDisks =\u003e defaultGetServerDisks.ids?.[0]),\n snapshotName: name,\n});\nconst defaultCustomImage = new alicloud.simpleapplicationserver.CustomImage(\"default\", {\n customImageName: name,\n instanceId: defaultInstance.id,\n systemSnapshotId: defaultSnapshot.id,\n status: \"Share\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.simpleapplicationserver.get_images()\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans()\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)\ndefault_snapshot = alicloud.simpleapplicationserver.Snapshot(\"default\",\n disk_id=default_get_server_disks.ids[0],\n snapshot_name=name)\ndefault_custom_image = alicloud.simpleapplicationserver.CustomImage(\"default\",\n custom_image_name=name,\n instance_id=default_instance.id,\n system_snapshot_id=default_snapshot.id,\n status=\"Share\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke();\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke();\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultGetServerDisks = AliCloud.SimpleApplicationServer.GetServerDisks.Invoke(new()\n {\n InstanceId = defaultInstance.Id,\n });\n\n var defaultSnapshot = new AliCloud.SimpleApplicationServer.Snapshot(\"default\", new()\n {\n DiskId = defaultGetServerDisks.Apply(getServerDisksResult =\u003e getServerDisksResult.Ids[0]),\n SnapshotName = name,\n });\n\n var defaultCustomImage = new AliCloud.SimpleApplicationServer.CustomImage(\"default\", new()\n {\n CustomImageName = name,\n InstanceId = defaultInstance.Id,\n SystemSnapshotId = defaultSnapshot.Id,\n Status = \"Share\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerDisks := simpleapplicationserver.GetServerDisksOutput(ctx, simpleapplicationserver.GetServerDisksOutputArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t}, nil)\n\t\tdefaultSnapshot, err := simpleapplicationserver.NewSnapshot(ctx, \"default\", \u0026simpleapplicationserver.SnapshotArgs{\n\t\t\tDiskId: pulumi.String(defaultGetServerDisks.ApplyT(func(defaultGetServerDisks simpleapplicationserver.GetServerDisksResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetServerDisks.Ids[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSnapshotName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = simpleapplicationserver.NewCustomImage(ctx, \"default\", \u0026simpleapplicationserver.CustomImageArgs{\n\t\t\tCustomImageName: pulumi.String(name),\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tSystemSnapshotId: defaultSnapshot.ID(),\n\t\t\tStatus: pulumi.String(\"Share\"),\n\t\t\tDescription: pulumi.String(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.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerDisksArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Snapshot;\nimport com.pulumi.alicloud.simpleapplicationserver.SnapshotArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.CustomImage;\nimport com.pulumi.alicloud.simpleapplicationserver.CustomImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n final var defaultGetServerDisks = SimpleapplicationserverFunctions.getServerDisks(GetServerDisksArgs.builder()\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .diskId(defaultGetServerDisks.applyValue(_defaultGetServerDisks -\u003e _defaultGetServerDisks.ids()[0]))\n .snapshotName(name)\n .build());\n\n var defaultCustomImage = new CustomImage(\"defaultCustomImage\", CustomImageArgs.builder()\n .customImageName(name)\n .instanceId(defaultInstance.id())\n .systemSnapshotId(defaultSnapshot.id())\n .status(\"Share\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultSnapshot:\n type: alicloud:simpleapplicationserver:Snapshot\n name: default\n properties:\n diskId: ${defaultGetServerDisks.ids[0]}\n snapshotName: ${name}\n defaultCustomImage:\n type: alicloud:simpleapplicationserver:CustomImage\n name: default\n properties:\n customImageName: ${name}\n instanceId: ${defaultInstance.id}\n systemSnapshotId: ${defaultSnapshot.id}\n status: Share\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments: {}\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments: {}\n defaultGetServerDisks:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerDisks\n arguments:\n instanceId: ${defaultInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSimple Application Server Custom Image can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/customImage:CustomImage example \u003cid\u003e\n```\n\n", "properties": { "customImageName": { "type": "string", @@ -250677,7 +256355,7 @@ } }, "alicloud:simpleapplicationserver/firewallRule:FirewallRule": { - "description": "Provides a Simple Application Server Firewall Rule resource.\n\nFor information about Simple Application Server Firewall Rule and how to use it, see [What is Firewall Rule](https://www.alibabacloud.com/help/doc-detail/190449.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.simpleapplicationserver.getImages({});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultFirewallRule = new alicloud.simpleapplicationserver.FirewallRule(\"default\", {\n instanceId: defaultInstance.id,\n ruleProtocol: \"Tcp\",\n port: \"9999\",\n remark: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.simpleapplicationserver.get_images()\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans()\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_firewall_rule = alicloud.simpleapplicationserver.FirewallRule(\"default\",\n instance_id=default_instance.id,\n rule_protocol=\"Tcp\",\n port=\"9999\",\n remark=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke();\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke();\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultFirewallRule = new AliCloud.SimpleApplicationServer.FirewallRule(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n RuleProtocol = \"Tcp\",\n Port = \"9999\",\n Remark = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = simpleapplicationserver.NewFirewallRule(ctx, \"default\", \u0026simpleapplicationserver.FirewallRuleArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRuleProtocol: pulumi.String(\"Tcp\"),\n\t\t\tPort: pulumi.String(\"9999\"),\n\t\t\tRemark: pulumi.String(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.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.FirewallRule;\nimport com.pulumi.alicloud.simpleapplicationserver.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n var defaultFirewallRule = new FirewallRule(\"defaultFirewallRule\", FirewallRuleArgs.builder()\n .instanceId(defaultInstance.id())\n .ruleProtocol(\"Tcp\")\n .port(\"9999\")\n .remark(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultFirewallRule:\n type: alicloud:simpleapplicationserver:FirewallRule\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n ruleProtocol: Tcp\n port: '9999'\n remark: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments: {}\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSimple Application Server Firewall Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/firewallRule:FirewallRule example \u003cinstance_id\u003e:\u003cfirewall_rule_id\u003e\n```\n\n", + "description": "Provides a Simple Application Server Firewall Rule resource.\n\nFor information about Simple Application Server Firewall Rule and how to use it, see [What is Firewall Rule](https://www.alibabacloud.com/help/doc-detail/190449.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.simpleapplicationserver.getImages({});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultFirewallRule = new alicloud.simpleapplicationserver.FirewallRule(\"default\", {\n instanceId: defaultInstance.id,\n ruleProtocol: \"Tcp\",\n port: \"9999\",\n remark: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.simpleapplicationserver.get_images()\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans()\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_firewall_rule = alicloud.simpleapplicationserver.FirewallRule(\"default\",\n instance_id=default_instance.id,\n rule_protocol=\"Tcp\",\n port=\"9999\",\n remark=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke();\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke();\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultFirewallRule = new AliCloud.SimpleApplicationServer.FirewallRule(\"default\", new()\n {\n InstanceId = defaultInstance.Id,\n RuleProtocol = \"Tcp\",\n Port = \"9999\",\n Remark = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = simpleapplicationserver.NewFirewallRule(ctx, \"default\", \u0026simpleapplicationserver.FirewallRuleArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t\tRuleProtocol: pulumi.String(\"Tcp\"),\n\t\t\tPort: pulumi.String(\"9999\"),\n\t\t\tRemark: pulumi.String(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.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.FirewallRule;\nimport com.pulumi.alicloud.simpleapplicationserver.FirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n var defaultFirewallRule = new FirewallRule(\"defaultFirewallRule\", FirewallRuleArgs.builder()\n .instanceId(defaultInstance.id())\n .ruleProtocol(\"Tcp\")\n .port(\"9999\")\n .remark(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultFirewallRule:\n type: alicloud:simpleapplicationserver:FirewallRule\n name: default\n properties:\n instanceId: ${defaultInstance.id}\n ruleProtocol: Tcp\n port: '9999'\n remark: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments: {}\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSimple Application Server Firewall Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/firewallRule:FirewallRule example \u003cinstance_id\u003e:\u003cfirewall_rule_id\u003e\n```\n\n", "properties": { "firewallRuleId": { "type": "string", @@ -250912,7 +256590,7 @@ } }, "alicloud:simpleapplicationserver/snapshot:Snapshot": { - "description": "Provides a Simple Application Server Snapshot resource.\n\nFor information about Simple Application Server Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/doc-detail/190452.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.simpleapplicationserver.getImages({\n platform: \"Linux\",\n});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({\n platform: \"Linux\",\n});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultGetServerDisks = alicloud.simpleapplicationserver.getServerDisksOutput({\n instanceId: defaultInstance.id,\n});\nconst defaultSnapshot = new alicloud.simpleapplicationserver.Snapshot(\"default\", {\n diskId: defaultGetServerDisks.apply(defaultGetServerDisks =\u003e defaultGetServerDisks.ids?.[0]),\n snapshotName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.simpleapplicationserver.get_images(platform=\"Linux\")\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans(platform=\"Linux\")\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)\ndefault_snapshot = alicloud.simpleapplicationserver.Snapshot(\"default\",\n disk_id=default_get_server_disks.ids[0],\n snapshot_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke(new()\n {\n Platform = \"Linux\",\n });\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke(new()\n {\n Platform = \"Linux\",\n });\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultGetServerDisks = AliCloud.SimpleApplicationServer.GetServerDisks.Invoke(new()\n {\n InstanceId = defaultInstance.Id,\n });\n\n var defaultSnapshot = new AliCloud.SimpleApplicationServer.Snapshot(\"default\", new()\n {\n DiskId = defaultGetServerDisks.Apply(getServerDisksResult =\u003e getServerDisksResult.Ids[0]),\n SnapshotName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{\n\t\t\tPlatform: pulumi.StringRef(\"Linux\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{\n\t\t\tPlatform: pulumi.StringRef(\"Linux\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerDisks := simpleapplicationserver.GetServerDisksOutput(ctx, simpleapplicationserver.GetServerDisksOutputArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t}, nil)\n\t\t_, err = simpleapplicationserver.NewSnapshot(ctx, \"default\", \u0026simpleapplicationserver.SnapshotArgs{\n\t\t\tDiskId: pulumi.String(defaultGetServerDisks.ApplyT(func(defaultGetServerDisks simpleapplicationserver.GetServerDisksResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetServerDisks.Ids[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSnapshotName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerDisksArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Snapshot;\nimport com.pulumi.alicloud.simpleapplicationserver.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .platform(\"Linux\")\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .platform(\"Linux\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n final var defaultGetServerDisks = SimpleapplicationserverFunctions.getServerDisks(GetServerDisksArgs.builder()\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .diskId(defaultGetServerDisks.applyValue(_defaultGetServerDisks -\u003e _defaultGetServerDisks.ids()[0]))\n .snapshotName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultSnapshot:\n type: alicloud:simpleapplicationserver:Snapshot\n name: default\n properties:\n diskId: ${defaultGetServerDisks.ids[0]}\n snapshotName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments:\n platform: Linux\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments:\n platform: Linux\n defaultGetServerDisks:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerDisks\n arguments:\n instanceId: ${defaultInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSimple Application Server Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/snapshot:Snapshot example \u003cid\u003e\n```\n\n", + "description": "Provides a Simple Application Server Snapshot resource.\n\nFor information about Simple Application Server Snapshot and how to use it, see [What is Snapshot](https://www.alibabacloud.com/help/doc-detail/190452.htm).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst _default = alicloud.simpleapplicationserver.getImages({\n platform: \"Linux\",\n});\nconst defaultGetServerPlans = alicloud.simpleapplicationserver.getServerPlans({\n platform: \"Linux\",\n});\nconst defaultInstance = new alicloud.simpleapplicationserver.Instance(\"default\", {\n paymentType: \"Subscription\",\n planId: defaultGetServerPlans.then(defaultGetServerPlans =\u003e defaultGetServerPlans.plans?.[0]?.id),\n instanceName: name,\n imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n period: 1,\n dataDiskSize: 100,\n});\nconst defaultGetServerDisks = alicloud.simpleapplicationserver.getServerDisksOutput({\n instanceId: defaultInstance.id,\n});\nconst defaultSnapshot = new alicloud.simpleapplicationserver.Snapshot(\"default\", {\n diskId: defaultGetServerDisks.apply(defaultGetServerDisks =\u003e defaultGetServerDisks.ids?.[0]),\n snapshotName: `${name}-${defaultInteger.result}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault_integer = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault = alicloud.simpleapplicationserver.get_images(platform=\"Linux\")\ndefault_get_server_plans = alicloud.simpleapplicationserver.get_server_plans(platform=\"Linux\")\ndefault_instance = alicloud.simpleapplicationserver.Instance(\"default\",\n payment_type=\"Subscription\",\n plan_id=default_get_server_plans.plans[0].id,\n instance_name=name,\n image_id=default.images[0].id,\n period=1,\n data_disk_size=100)\ndefault_get_server_disks = alicloud.simpleapplicationserver.get_server_disks_output(instance_id=default_instance.id)\ndefault_snapshot = alicloud.simpleapplicationserver.Snapshot(\"default\",\n disk_id=default_get_server_disks.ids[0],\n snapshot_name=f\"{name}-{default_integer['result']}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var @default = AliCloud.SimpleApplicationServer.GetImages.Invoke(new()\n {\n Platform = \"Linux\",\n });\n\n var defaultGetServerPlans = AliCloud.SimpleApplicationServer.GetServerPlans.Invoke(new()\n {\n Platform = \"Linux\",\n });\n\n var defaultInstance = new AliCloud.SimpleApplicationServer.Instance(\"default\", new()\n {\n PaymentType = \"Subscription\",\n PlanId = defaultGetServerPlans.Apply(getServerPlansResult =\u003e getServerPlansResult.Plans[0]?.Id),\n InstanceName = name,\n ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n Period = 1,\n DataDiskSize = 100,\n });\n\n var defaultGetServerDisks = AliCloud.SimpleApplicationServer.GetServerDisks.Invoke(new()\n {\n InstanceId = defaultInstance.Id,\n });\n\n var defaultSnapshot = new AliCloud.SimpleApplicationServer.Snapshot(\"default\", new()\n {\n DiskId = defaultGetServerDisks.Apply(getServerDisksResult =\u003e getServerDisksResult.Ids[0]),\n SnapshotName = $\"{name}-{defaultInteger.Result}\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/simpleapplicationserver\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := simpleapplicationserver.GetImages(ctx, \u0026simpleapplicationserver.GetImagesArgs{\n\t\t\tPlatform: pulumi.StringRef(\"Linux\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerPlans, err := simpleapplicationserver.GetServerPlans(ctx, \u0026simpleapplicationserver.GetServerPlansArgs{\n\t\t\tPlatform: pulumi.StringRef(\"Linux\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := simpleapplicationserver.NewInstance(ctx, \"default\", \u0026simpleapplicationserver.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tPlanId: pulumi.String(defaultGetServerPlans.Plans[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tImageId: pulumi.String(_default.Images[0].Id),\n\t\t\tPeriod: pulumi.Int(1),\n\t\t\tDataDiskSize: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetServerDisks := simpleapplicationserver.GetServerDisksOutput(ctx, simpleapplicationserver.GetServerDisksOutputArgs{\n\t\t\tInstanceId: defaultInstance.ID(),\n\t\t}, nil)\n\t\t_, err = simpleapplicationserver.NewSnapshot(ctx, \"default\", \u0026simpleapplicationserver.SnapshotArgs{\n\t\t\tDiskId: pulumi.String(defaultGetServerDisks.ApplyT(func(defaultGetServerDisks simpleapplicationserver.GetServerDisksResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetServerDisks.Ids[0], nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tSnapshotName: pulumi.Sprintf(\"%v-%v\", name, defaultInteger.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.SimpleapplicationserverFunctions;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Instance;\nimport com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerDisksArgs;\nimport com.pulumi.alicloud.simpleapplicationserver.Snapshot;\nimport com.pulumi.alicloud.simpleapplicationserver.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var default = SimpleapplicationserverFunctions.getImages(GetImagesArgs.builder()\n .platform(\"Linux\")\n .build());\n\n final var defaultGetServerPlans = SimpleapplicationserverFunctions.getServerPlans(GetServerPlansArgs.builder()\n .platform(\"Linux\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .paymentType(\"Subscription\")\n .planId(defaultGetServerPlans.plans()[0].id())\n .instanceName(name)\n .imageId(default_.images()[0].id())\n .period(1)\n .dataDiskSize(100)\n .build());\n\n final var defaultGetServerDisks = SimpleapplicationserverFunctions.getServerDisks(GetServerDisksArgs.builder()\n .instanceId(defaultInstance.id())\n .build());\n\n var defaultSnapshot = new Snapshot(\"defaultSnapshot\", SnapshotArgs.builder()\n .diskId(defaultGetServerDisks.applyValue(_defaultGetServerDisks -\u003e _defaultGetServerDisks.ids()[0]))\n .snapshotName(String.format(\"%s-%s\", name,defaultInteger.result()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 10000\n max: 99999\n defaultInstance:\n type: alicloud:simpleapplicationserver:Instance\n name: default\n properties:\n paymentType: Subscription\n planId: ${defaultGetServerPlans.plans[0].id}\n instanceName: ${name}\n imageId: ${default.images[0].id}\n period: 1\n dataDiskSize: 100\n defaultSnapshot:\n type: alicloud:simpleapplicationserver:Snapshot\n name: default\n properties:\n diskId: ${defaultGetServerDisks.ids[0]}\n snapshotName: ${name}-${defaultInteger.result}\nvariables:\n default:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getImages\n arguments:\n platform: Linux\n defaultGetServerPlans:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerPlans\n arguments:\n platform: Linux\n defaultGetServerDisks:\n fn::invoke:\n function: alicloud:simpleapplicationserver:getServerDisks\n arguments:\n instanceId: ${defaultInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSimple Application Server Snapshot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:simpleapplicationserver/snapshot:Snapshot example \u003cid\u003e\n```\n\n", "properties": { "diskId": { "type": "string", @@ -250970,7 +256648,7 @@ } }, "alicloud:slb/acl:Acl": { - "description": "An access control list contains multiple IP addresses or CIDR blocks.\nThe access control list can help you to define multiple instance listening dimension,\nand to meet the multiple usage for single access control list.\n\nServer Load Balancer allows you to configure access control for listeners.\nYou can configure different whitelists or blacklists for different listeners.\n\nYou can configure access control\nwhen you create a listener or change access control configuration after a listener is created.\n\n\u003e **NOTE:** One access control list can be attached to many Listeners in different load balancer as whitelists or blacklists.\n\n\u003e **NOTE:** The maximum number of access control lists per region is 50.\n\n\u003e **NOTE:** The maximum number of IP addresses added each time is 50.\n\n\u003e **NOTE:** The maximum number of entries per access control list is 300.\n\n\u003e **NOTE:** The maximum number of listeners that an access control list can be added to is 50.\n\nFor information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).\n\nFor information about acl and how to use it, see [Configure an access control list](https://www.alibabacloud.com/help/doc-detail/70015.htm).\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst acl = new alicloud.slb.Acl(\"acl\", {\n name: \"terraformslbaclconfig\",\n ipVersion: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nacl = alicloud.slb.Acl(\"acl\",\n name=\"terraformslbaclconfig\",\n ip_version=\"ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var acl = new AliCloud.Slb.Acl(\"acl\", new()\n {\n Name = \"terraformslbaclconfig\",\n IpVersion = \"ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slb.NewAcl(ctx, \"acl\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.String(\"terraformslbaclconfig\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var acl = new Acl(\"acl\", AclArgs.builder()\n .name(\"terraformslbaclconfig\")\n .ipVersion(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: alicloud:slb:Acl\n properties:\n name: terraformslbaclconfig\n ipVersion: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Entry Block\n\nThe entry mapping supports the following:\n\n* \u003cspan pulumi-lang-nodejs=\"`entry`\" pulumi-lang-dotnet=\"`Entry`\" pulumi-lang-go=\"`entry`\" pulumi-lang-python=\"`entry`\" pulumi-lang-yaml=\"`entry`\" pulumi-lang-java=\"`entry`\"\u003e`entry`\u003c/span\u003e - (Optional, Computed) The CIDR blocks.\n* \u003cspan pulumi-lang-nodejs=\"`comment`\" pulumi-lang-dotnet=\"`Comment`\" pulumi-lang-go=\"`comment`\" pulumi-lang-python=\"`comment`\" pulumi-lang-yaml=\"`comment`\" pulumi-lang-java=\"`comment`\"\u003e`comment`\u003c/span\u003e - (Optional, Computed) The comment of the entry.\n\n## Import\n\nServer Load balancer access control list can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/acl:Acl example acl-abc123456\n```\n\n", + "description": "An access control list contains multiple IP addresses or CIDR blocks.\nThe access control list can help you to define multiple instance listening dimension,\nand to meet the multiple usage for single access control list.\n\nServer Load Balancer allows you to configure access control for listeners.\nYou can configure different whitelists or blacklists for different listeners.\n\nYou can configure access control\nwhen you create a listener or change access control configuration after a listener is created.\n\n\u003e **NOTE:** One access control list can be attached to many Listeners in different load balancer as whitelists or blacklists.\n\n\u003e **NOTE:** The maximum number of access control lists per region is 50.\n\n\u003e **NOTE:** The maximum number of IP addresses added each time is 50.\n\n\u003e **NOTE:** The maximum number of entries per access control list is 300.\n\n\u003e **NOTE:** The maximum number of listeners that an access control list can be added to is 50.\n\nFor information about slb and how to use it, see [What is Server Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).\n\nFor information about acl and how to use it, see [Configure an access control list](https://www.alibabacloud.com/help/doc-detail/70015.htm).\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst acl = new alicloud.slb.Acl(\"acl\", {\n name: \"terraformslbaclconfig\",\n ipVersion: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nacl = alicloud.slb.Acl(\"acl\",\n name=\"terraformslbaclconfig\",\n ip_version=\"ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var acl = new AliCloud.Slb.Acl(\"acl\", new()\n {\n Name = \"terraformslbaclconfig\",\n IpVersion = \"ipv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slb.NewAcl(ctx, \"acl\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.String(\"terraformslbaclconfig\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var acl = new Acl(\"acl\", AclArgs.builder()\n .name(\"terraformslbaclconfig\")\n .ipVersion(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n acl:\n type: alicloud:slb:Acl\n properties:\n name: terraformslbaclconfig\n ipVersion: ipv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Entry Block\n\nThe entry mapping supports the following:\n\n* \u003cspan pulumi-lang-nodejs=\"`entry`\" pulumi-lang-dotnet=\"`Entry`\" pulumi-lang-go=\"`entry`\" pulumi-lang-python=\"`entry`\" pulumi-lang-yaml=\"`entry`\" pulumi-lang-java=\"`entry`\"\u003e`entry`\u003c/span\u003e - (Optional, Computed) The CIDR blocks.\n* \u003cspan pulumi-lang-nodejs=\"`comment`\" pulumi-lang-dotnet=\"`Comment`\" pulumi-lang-go=\"`comment`\" pulumi-lang-python=\"`comment`\" pulumi-lang-yaml=\"`comment`\" pulumi-lang-java=\"`comment`\"\u003e`comment`\u003c/span\u003e - (Optional, Computed) The comment of the entry.\n\n## Import\n\nServer Load balancer access control list can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/acl:Acl example acl-abc123456\n```\n\n", "properties": { "entryLists": { "type": "array", @@ -251073,7 +256751,7 @@ } }, "alicloud:slb/aclEntryAttachment:AclEntryAttachment": { - "description": "\u003e **NOTE:** Available since v1.162.0.\n\n\u003e **NOTE:** The maximum number of entries per acl is 300.\n\nFor information about acl entry attachment and how to use it, see [Configure an acl entry](https://www.alibabacloud.com/help/en/doc-detail/70023.html).\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst attachment = new alicloud.slb.Acl(\"attachment\", {\n name: \"forSlbAclEntryAttachment\",\n ipVersion: \"ipv4\",\n});\nconst attachmentAclEntryAttachment = new alicloud.slb.AclEntryAttachment(\"attachment\", {\n aclId: attachment.id,\n entry: \"168.10.10.0/24\",\n comment: \"second\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nattachment = alicloud.slb.Acl(\"attachment\",\n name=\"forSlbAclEntryAttachment\",\n ip_version=\"ipv4\")\nattachment_acl_entry_attachment = alicloud.slb.AclEntryAttachment(\"attachment\",\n acl_id=attachment.id,\n entry=\"168.10.10.0/24\",\n comment=\"second\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attachment = new AliCloud.Slb.Acl(\"attachment\", new()\n {\n Name = \"forSlbAclEntryAttachment\",\n IpVersion = \"ipv4\",\n });\n\n var attachmentAclEntryAttachment = new AliCloud.Slb.AclEntryAttachment(\"attachment\", new()\n {\n AclId = attachment.Id,\n Entry = \"168.10.10.0/24\",\n Comment = \"second\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tattachment, err := slb.NewAcl(ctx, \"attachment\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.String(\"forSlbAclEntryAttachment\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"attachment\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: attachment.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"second\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport com.pulumi.alicloud.slb.AclEntryAttachment;\nimport com.pulumi.alicloud.slb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Acl(\"attachment\", AclArgs.builder()\n .name(\"forSlbAclEntryAttachment\")\n .ipVersion(\"ipv4\")\n .build());\n\n var attachmentAclEntryAttachment = new AclEntryAttachment(\"attachmentAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(attachment.id())\n .entry(\"168.10.10.0/24\")\n .comment(\"second\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attachment:\n type: alicloud:slb:Acl\n properties:\n name: forSlbAclEntryAttachment\n ipVersion: ipv4\n attachmentAclEntryAttachment:\n type: alicloud:slb:AclEntryAttachment\n name: attachment\n properties:\n aclId: ${attachment.id}\n entry: 168.10.10.0/24\n comment: second\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAcl entry attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", + "description": "\u003e **NOTE:** Available since v1.162.0.\n\n\u003e **NOTE:** The maximum number of entries per acl is 300.\n\nFor information about acl entry attachment and how to use it, see [Configure an acl entry](https://www.alibabacloud.com/help/en/doc-detail/70023.html).\n\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst attachment = new alicloud.slb.Acl(\"attachment\", {\n name: \"forSlbAclEntryAttachment\",\n ipVersion: \"ipv4\",\n});\nconst attachmentAclEntryAttachment = new alicloud.slb.AclEntryAttachment(\"attachment\", {\n aclId: attachment.id,\n entry: \"168.10.10.0/24\",\n comment: \"second\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nattachment = alicloud.slb.Acl(\"attachment\",\n name=\"forSlbAclEntryAttachment\",\n ip_version=\"ipv4\")\nattachment_acl_entry_attachment = alicloud.slb.AclEntryAttachment(\"attachment\",\n acl_id=attachment.id,\n entry=\"168.10.10.0/24\",\n comment=\"second\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var attachment = new AliCloud.Slb.Acl(\"attachment\", new()\n {\n Name = \"forSlbAclEntryAttachment\",\n IpVersion = \"ipv4\",\n });\n\n var attachmentAclEntryAttachment = new AliCloud.Slb.AclEntryAttachment(\"attachment\", new()\n {\n AclId = attachment.Id,\n Entry = \"168.10.10.0/24\",\n Comment = \"second\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tattachment, err := slb.NewAcl(ctx, \"attachment\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.String(\"forSlbAclEntryAttachment\"),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"attachment\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: attachment.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"second\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport com.pulumi.alicloud.slb.AclEntryAttachment;\nimport com.pulumi.alicloud.slb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Acl(\"attachment\", AclArgs.builder()\n .name(\"forSlbAclEntryAttachment\")\n .ipVersion(\"ipv4\")\n .build());\n\n var attachmentAclEntryAttachment = new AclEntryAttachment(\"attachmentAclEntryAttachment\", AclEntryAttachmentArgs.builder()\n .aclId(attachment.id())\n .entry(\"168.10.10.0/24\")\n .comment(\"second\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n attachment:\n type: alicloud:slb:Acl\n properties:\n name: forSlbAclEntryAttachment\n ipVersion: ipv4\n attachmentAclEntryAttachment:\n type: alicloud:slb:AclEntryAttachment\n name: attachment\n properties:\n aclId: ${attachment.id}\n entry: 168.10.10.0/24\n comment: second\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nAcl entry attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/aclEntryAttachment:AclEntryAttachment example \u003cacl_id\u003e:\u003centry\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -251443,7 +257121,7 @@ } }, "alicloud:slb/attachment:Attachment": { - "description": "\u003e **DEPRECATED:** This resource has been deprecated from v1.153.0 and using\u003cspan pulumi-lang-nodejs=\" alicloud.slb.BackendServer \" pulumi-lang-dotnet=\" alicloud.slb.BackendServer \" pulumi-lang-go=\" slb.BackendServer \" pulumi-lang-python=\" slb.BackendServer \" pulumi-lang-yaml=\" alicloud.slb.BackendServer \" pulumi-lang-java=\" alicloud.slb.BackendServer \"\u003e alicloud.slb.BackendServer \u003c/span\u003einstead.\n\nAdd a group of backend servers (ECS instance) to the Server Load Balancer or remove them from it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"slb-attachment-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n systemDiskCategory: \"cloud_efficiency\",\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n vswitchId: defaultSwitch.id,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s1.small\",\n});\nconst defaultAttachment = new alicloud.slb.Attachment(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n instanceIds: [defaultInstance.id],\n weight: 90,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"slb-attachment-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n system_disk_category=\"cloud_efficiency\",\n security_groups=[default_security_group.id],\n instance_name=name,\n vswitch_id=default_switch.id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s1.small\")\ndefault_attachment = alicloud.slb.Attachment(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n instance_ids=[default_instance.id],\n weight=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"slb-attachment-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SystemDiskCategory = \"cloud_efficiency\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s1.small\",\n });\n\n var defaultAttachment = new AliCloud.Slb.Attachment(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n Weight = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"slb-attachment-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s1.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAttachment(ctx, \"default\", \u0026slb.AttachmentArgs{\n\t\t\tLoadBalancerId: defaultApplicationLoadBalancer.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t\tWeight: pulumi.Int(90),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Attachment;\nimport com.pulumi.alicloud.slb.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 name = config.get(\"name\").orElse(\"slb-attachment-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .systemDiskCategory(\"cloud_efficiency\")\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s1.small\")\n .build());\n\n var defaultAttachment = new Attachment(\"defaultAttachment\", AttachmentArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .instanceIds(defaultInstance.id())\n .weight(90)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: slb-attachment-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '5'\n systemDiskCategory: cloud_efficiency\n securityGroups:\n - ${defaultSecurityGroup.id}\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s1.small\n defaultAttachment:\n type: alicloud:slb:Attachment\n name: default\n properties:\n loadBalancerId: ${defaultApplicationLoadBalancer.id}\n instanceIds:\n - ${defaultInstance.id}\n weight: 90\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancer attachment can be imported using the id or load balancer id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/attachment:Attachment example lb-abc123456\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been deprecated from v1.153.0 and using\u003cspan pulumi-lang-nodejs=\" alicloud.slb.BackendServer \" pulumi-lang-dotnet=\" alicloud.slb.BackendServer \" pulumi-lang-go=\" slb.BackendServer \" pulumi-lang-python=\" slb.BackendServer \" pulumi-lang-yaml=\" alicloud.slb.BackendServer \" pulumi-lang-java=\" alicloud.slb.BackendServer \"\u003e alicloud.slb.BackendServer \u003c/span\u003einstead.\n\nAdd a group of backend servers (ECS instance) to the Server Load Balancer or remove them from it.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"slb-attachment-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n systemDiskCategory: \"cloud_efficiency\",\n securityGroups: [defaultSecurityGroup.id],\n instanceName: name,\n vswitchId: defaultSwitch.id,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s1.small\",\n});\nconst defaultAttachment = new alicloud.slb.Attachment(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n instanceIds: [defaultInstance.id],\n weight: 90,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"slb-attachment-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n system_disk_category=\"cloud_efficiency\",\n security_groups=[default_security_group.id],\n instance_name=name,\n vswitch_id=default_switch.id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s1.small\")\ndefault_attachment = alicloud.slb.Attachment(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n instance_ids=[default_instance.id],\n weight=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"slb-attachment-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SystemDiskCategory = \"cloud_efficiency\",\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s1.small\",\n });\n\n var defaultAttachment = new AliCloud.Slb.Attachment(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n InstanceIds = new[]\n {\n defaultInstance.Id,\n },\n Weight = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"slb-attachment-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s1.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAttachment(ctx, \"default\", \u0026slb.AttachmentArgs{\n\t\t\tLoadBalancerId: defaultApplicationLoadBalancer.ID(),\n\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\tdefaultInstance.ID(),\n\t\t\t},\n\t\t\tWeight: pulumi.Int(90),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Attachment;\nimport com.pulumi.alicloud.slb.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 name = config.get(\"name\").orElse(\"slb-attachment-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .systemDiskCategory(\"cloud_efficiency\")\n .securityGroups(defaultSecurityGroup.id())\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s1.small\")\n .build());\n\n var defaultAttachment = new Attachment(\"defaultAttachment\", AttachmentArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .instanceIds(defaultInstance.id())\n .weight(90)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: slb-attachment-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n imageId: ${defaultGetImages.images[0].id}\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '5'\n systemDiskCategory: cloud_efficiency\n securityGroups:\n - ${defaultSecurityGroup.id}\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s1.small\n defaultAttachment:\n type: alicloud:slb:Attachment\n name: default\n properties:\n loadBalancerId: ${defaultApplicationLoadBalancer.id}\n instanceIds:\n - ${defaultInstance.id}\n weight: 90\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad balancer attachment can be imported using the id or load balancer id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/attachment:Attachment example lb-abc123456\n```\n\n", "properties": { "backendServers": { "type": "string", @@ -251725,7 +257403,7 @@ } }, "alicloud:slb/domainExtension:DomainExtension": { - "description": "HTTPS listeners of guaranteed-performance SLB support configuring multiple certificates, allowing you to forward requests with different domain names to different backend servers.\nPlease refer to the [documentation](https://www.alibabacloud.com/help/doc-detail/85956.htm?spm=a2c63.p38356.b99.40.1c881563Co8p6w) for details.\n\n\u003e **NOTE:** Available in 1.60.0+\n\n\u003e **NOTE:** The instance with shared loadBalancerSpec doesn't support domainExtension.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst slbDomainExtensionName = config.get(\"slbDomainExtensionName\") || \"forDomainExtension\";\nconst domainExtension = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst domainExtensionNetwork = new alicloud.vpc.Network(\"domain_extension\", {vpcName: slbDomainExtensionName});\nconst domainExtensionSwitch = new alicloud.vpc.Switch(\"domain_extension\", {\n vpcId: domainExtensionNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: domainExtension.then(domainExtension =\u003e domainExtension.zones?.[0]?.id),\n vswitchName: slbDomainExtensionName,\n});\nconst instance = new alicloud.slb.ApplicationLoadBalancer(\"instance\", {\n loadBalancerName: slbDomainExtensionName,\n addressType: \"intranet\",\n loadBalancerSpec: \"slb.s2.small\",\n vswitchId: domainExtensionSwitch.id,\n});\nconst domainExtensionServerCertificate = new alicloud.slb.ServerCertificate(\"domain_extension\", {\n name: \"tf-testAccSlbServerCertificate\",\n serverCertificate: `-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----`,\n});\nconst https = new alicloud.slb.Listener(\"https\", {\n loadBalancerId: instance.id,\n backendPort: 80,\n frontendPort: 443,\n protocol: \"https\",\n stickySession: \"on\",\n stickySessionType: \"insert\",\n cookie: \"testslblistenercookie\",\n cookieTimeout: 86400,\n healthCheck: \"on\",\n healthCheckUri: \"/cons\",\n healthCheckConnectPort: 20,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx,http_3xx\",\n bandwidth: 10,\n serverCertificateId: domainExtensionServerCertificate.id,\n});\nconst example1 = new alicloud.slb.DomainExtension(\"example1\", {\n loadBalancerId: instance.id,\n frontendPort: https.frontendPort,\n domain: \"www.test.com\",\n serverCertificateId: domainExtensionServerCertificate.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nslb_domain_extension_name = config.get(\"slbDomainExtensionName\")\nif slb_domain_extension_name is None:\n slb_domain_extension_name = \"forDomainExtension\"\ndomain_extension = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndomain_extension_network = alicloud.vpc.Network(\"domain_extension\", vpc_name=slb_domain_extension_name)\ndomain_extension_switch = alicloud.vpc.Switch(\"domain_extension\",\n vpc_id=domain_extension_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=domain_extension.zones[0].id,\n vswitch_name=slb_domain_extension_name)\ninstance = alicloud.slb.ApplicationLoadBalancer(\"instance\",\n load_balancer_name=slb_domain_extension_name,\n address_type=\"intranet\",\n load_balancer_spec=\"slb.s2.small\",\n vswitch_id=domain_extension_switch.id)\ndomain_extension_server_certificate = alicloud.slb.ServerCertificate(\"domain_extension\",\n name=\"tf-testAccSlbServerCertificate\",\n server_certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----\"\"\")\nhttps = alicloud.slb.Listener(\"https\",\n load_balancer_id=instance.id,\n backend_port=80,\n frontend_port=443,\n protocol=\"https\",\n sticky_session=\"on\",\n sticky_session_type=\"insert\",\n cookie=\"testslblistenercookie\",\n cookie_timeout=86400,\n health_check=\"on\",\n health_check_uri=\"/cons\",\n health_check_connect_port=20,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx,http_3xx\",\n bandwidth=10,\n server_certificate_id=domain_extension_server_certificate.id)\nexample1 = alicloud.slb.DomainExtension(\"example1\",\n load_balancer_id=instance.id,\n frontend_port=https.frontend_port,\n domain=\"www.test.com\",\n server_certificate_id=domain_extension_server_certificate.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var slbDomainExtensionName = config.Get(\"slbDomainExtensionName\") ?? \"forDomainExtension\";\n var domainExtension = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var domainExtensionNetwork = new AliCloud.Vpc.Network(\"domain_extension\", new()\n {\n VpcName = slbDomainExtensionName,\n });\n\n var domainExtensionSwitch = new AliCloud.Vpc.Switch(\"domain_extension\", new()\n {\n VpcId = domainExtensionNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = domainExtension.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbDomainExtensionName,\n });\n\n var instance = new AliCloud.Slb.ApplicationLoadBalancer(\"instance\", new()\n {\n LoadBalancerName = slbDomainExtensionName,\n AddressType = \"intranet\",\n LoadBalancerSpec = \"slb.s2.small\",\n VswitchId = domainExtensionSwitch.Id,\n });\n\n var domainExtensionServerCertificate = new AliCloud.Slb.ServerCertificate(\"domain_extension\", new()\n {\n Name = \"tf-testAccSlbServerCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----\",\n });\n\n var https = new AliCloud.Slb.Listener(\"https\", new()\n {\n LoadBalancerId = instance.Id,\n BackendPort = 80,\n FrontendPort = 443,\n Protocol = \"https\",\n StickySession = \"on\",\n StickySessionType = \"insert\",\n Cookie = \"testslblistenercookie\",\n CookieTimeout = 86400,\n HealthCheck = \"on\",\n HealthCheckUri = \"/cons\",\n HealthCheckConnectPort = 20,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx,http_3xx\",\n Bandwidth = 10,\n ServerCertificateId = domainExtensionServerCertificate.Id,\n });\n\n var example1 = new AliCloud.Slb.DomainExtension(\"example1\", new()\n {\n LoadBalancerId = instance.Id,\n FrontendPort = https.FrontendPort,\n Domain = \"www.test.com\",\n ServerCertificateId = domainExtensionServerCertificate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tslbDomainExtensionName := \"forDomainExtension\"\n\t\tif param := cfg.Get(\"slbDomainExtensionName\"); param != \"\" {\n\t\t\tslbDomainExtensionName = param\n\t\t}\n\t\tdomainExtension, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionNetwork, err := vpc.NewNetwork(ctx, \"domain_extension\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(slbDomainExtensionName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionSwitch, err := vpc.NewSwitch(ctx, \"domain_extension\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: domainExtensionNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(domainExtension.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(slbDomainExtensionName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := slb.NewApplicationLoadBalancer(ctx, \"instance\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(slbDomainExtensionName),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tVswitchId: domainExtensionSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionServerCertificate, err := slb.NewServerCertificate(ctx, \"domain_extension\", \u0026slb.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"tf-testAccSlbServerCertificate\"),\n\t\t\tServerCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----`),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thttps, err := slb.NewListener(ctx, \"https\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: instance.ID(),\n\t\t\tBackendPort: pulumi.Int(80),\n\t\t\tFrontendPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\tStickySession: pulumi.String(\"on\"),\n\t\t\tStickySessionType: pulumi.String(\"insert\"),\n\t\t\tCookie: pulumi.String(\"testslblistenercookie\"),\n\t\t\tCookieTimeout: pulumi.Int(86400),\n\t\t\tHealthCheck: pulumi.String(\"on\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/cons\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx,http_3xx\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tServerCertificateId: domainExtensionServerCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewDomainExtension(ctx, \"example1\", \u0026slb.DomainExtensionArgs{\n\t\t\tLoadBalancerId: instance.ID(),\n\t\t\tFrontendPort: https.FrontendPort,\n\t\t\tDomain: pulumi.String(\"www.test.com\"),\n\t\t\tServerCertificateId: domainExtensionServerCertificate.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerCertificate;\nimport com.pulumi.alicloud.slb.ServerCertificateArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.DomainExtension;\nimport com.pulumi.alicloud.slb.DomainExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 slbDomainExtensionName = config.get(\"slbDomainExtensionName\").orElse(\"forDomainExtension\");\n final var domainExtension = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var domainExtensionNetwork = new Network(\"domainExtensionNetwork\", NetworkArgs.builder()\n .vpcName(slbDomainExtensionName)\n .build());\n\n var domainExtensionSwitch = new Switch(\"domainExtensionSwitch\", SwitchArgs.builder()\n .vpcId(domainExtensionNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(domainExtension.zones()[0].id())\n .vswitchName(slbDomainExtensionName)\n .build());\n\n var instance = new ApplicationLoadBalancer(\"instance\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbDomainExtensionName)\n .addressType(\"intranet\")\n .loadBalancerSpec(\"slb.s2.small\")\n .vswitchId(domainExtensionSwitch.id())\n .build());\n\n var domainExtensionServerCertificate = new ServerCertificate(\"domainExtensionServerCertificate\", ServerCertificateArgs.builder()\n .name(\"tf-testAccSlbServerCertificate\")\n .serverCertificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE----- \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY----- \"\"\")\n .build());\n\n var https = new Listener(\"https\", ListenerArgs.builder()\n .loadBalancerId(instance.id())\n .backendPort(80)\n .frontendPort(443)\n .protocol(\"https\")\n .stickySession(\"on\")\n .stickySessionType(\"insert\")\n .cookie(\"testslblistenercookie\")\n .cookieTimeout(86400)\n .healthCheck(\"on\")\n .healthCheckUri(\"/cons\")\n .healthCheckConnectPort(20)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx,http_3xx\")\n .bandwidth(10)\n .serverCertificateId(domainExtensionServerCertificate.id())\n .build());\n\n var example1 = new DomainExtension(\"example1\", DomainExtensionArgs.builder()\n .loadBalancerId(instance.id())\n .frontendPort(https.frontendPort())\n .domain(\"www.test.com\")\n .serverCertificateId(domainExtensionServerCertificate.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Create a new load balancer and domain extension\n slbDomainExtensionName:\n type: string\n default: forDomainExtension\nresources:\n domainExtensionNetwork:\n type: alicloud:vpc:Network\n name: domain_extension\n properties:\n vpcName: ${slbDomainExtensionName}\n domainExtensionSwitch:\n type: alicloud:vpc:Switch\n name: domain_extension\n properties:\n vpcId: ${domainExtensionNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${domainExtension.zones[0].id}\n vswitchName: ${slbDomainExtensionName}\n instance:\n type: alicloud:slb:ApplicationLoadBalancer\n properties:\n loadBalancerName: ${slbDomainExtensionName}\n addressType: intranet\n loadBalancerSpec: slb.s2.small\n vswitchId: ${domainExtensionSwitch.id}\n domainExtensionServerCertificate:\n type: alicloud:slb:ServerCertificate\n name: domain_extension\n properties:\n name: tf-testAccSlbServerCertificate\n serverCertificate: |-\n -----BEGIN CERTIFICATE-----\n MIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\n bjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\n bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\n DQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\n WjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\n DzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\n LmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\n AQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n 8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\n WiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\n p/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\n ZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\n qfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\n AQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n 2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\n WCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\n t+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\n lFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n 3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n -----END CERTIFICATE-----\n privateKey: |-\n -----BEGIN RSA PRIVATE KEY-----\n MIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\n xQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\n HtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\n tF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\n diUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\n DgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\n G+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\n v7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\n Mp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n 5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\n BJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n 6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\n k3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\n lTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\n Oo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n 4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n /I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\n PiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n 9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\n bc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\n ZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n 8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\n y0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\n ZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\n liQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n -----END RSA PRIVATE KEY-----\n https:\n type: alicloud:slb:Listener\n properties:\n loadBalancerId: ${instance.id}\n backendPort: 80\n frontendPort: 443\n protocol: https\n stickySession: on\n stickySessionType: insert\n cookie: testslblistenercookie\n cookieTimeout: 86400\n healthCheck: on\n healthCheckUri: /cons\n healthCheckConnectPort: 20\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx,http_3xx\n bandwidth: 10\n serverCertificateId: ${domainExtensionServerCertificate.id}\n example1:\n type: alicloud:slb:DomainExtension\n properties:\n loadBalancerId: ${instance.id}\n frontendPort: ${https.frontendPort}\n domain: www.test.com\n serverCertificateId: ${domainExtensionServerCertificate.id}\nvariables:\n domainExtension:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancer domain_extension can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/domainExtension:DomainExtension example de-abc123456\n```\n\n", + "description": "HTTPS listeners of guaranteed-performance SLB support configuring multiple certificates, allowing you to forward requests with different domain names to different backend servers.\nPlease refer to the [documentation](https://www.alibabacloud.com/help/doc-detail/85956.htm?spm=a2c63.p38356.b99.40.1c881563Co8p6w) for details.\n\n\u003e **NOTE:** Available in 1.60.0+\n\n\u003e **NOTE:** The instance with shared loadBalancerSpec doesn't support domainExtension.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst slbDomainExtensionName = config.get(\"slbDomainExtensionName\") || \"forDomainExtension\";\nconst domainExtension = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst domainExtensionNetwork = new alicloud.vpc.Network(\"domain_extension\", {vpcName: slbDomainExtensionName});\nconst domainExtensionSwitch = new alicloud.vpc.Switch(\"domain_extension\", {\n vpcId: domainExtensionNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: domainExtension.then(domainExtension =\u003e domainExtension.zones?.[0]?.id),\n vswitchName: slbDomainExtensionName,\n});\nconst instance = new alicloud.slb.ApplicationLoadBalancer(\"instance\", {\n loadBalancerName: slbDomainExtensionName,\n addressType: \"intranet\",\n loadBalancerSpec: \"slb.s2.small\",\n vswitchId: domainExtensionSwitch.id,\n});\nconst domainExtensionServerCertificate = new alicloud.slb.ServerCertificate(\"domain_extension\", {\n name: \"tf-testAccSlbServerCertificate\",\n serverCertificate: `-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----`,\n privateKey: `-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----`,\n});\nconst https = new alicloud.slb.Listener(\"https\", {\n loadBalancerId: instance.id,\n backendPort: 80,\n frontendPort: 443,\n protocol: \"https\",\n stickySession: \"on\",\n stickySessionType: \"insert\",\n cookie: \"testslblistenercookie\",\n cookieTimeout: 86400,\n healthCheck: \"on\",\n healthCheckUri: \"/cons\",\n healthCheckConnectPort: 20,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx,http_3xx\",\n bandwidth: 10,\n serverCertificateId: domainExtensionServerCertificate.id,\n});\nconst example1 = new alicloud.slb.DomainExtension(\"example1\", {\n loadBalancerId: instance.id,\n frontendPort: https.frontendPort,\n domain: \"www.test.com\",\n serverCertificateId: domainExtensionServerCertificate.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nslb_domain_extension_name = config.get(\"slbDomainExtensionName\")\nif slb_domain_extension_name is None:\n slb_domain_extension_name = \"forDomainExtension\"\ndomain_extension = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndomain_extension_network = alicloud.vpc.Network(\"domain_extension\", vpc_name=slb_domain_extension_name)\ndomain_extension_switch = alicloud.vpc.Switch(\"domain_extension\",\n vpc_id=domain_extension_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=domain_extension.zones[0].id,\n vswitch_name=slb_domain_extension_name)\ninstance = alicloud.slb.ApplicationLoadBalancer(\"instance\",\n load_balancer_name=slb_domain_extension_name,\n address_type=\"intranet\",\n load_balancer_spec=\"slb.s2.small\",\n vswitch_id=domain_extension_switch.id)\ndomain_extension_server_certificate = alicloud.slb.ServerCertificate(\"domain_extension\",\n name=\"tf-testAccSlbServerCertificate\",\n server_certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----\"\"\",\n private_key=\"\"\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----\"\"\")\nhttps = alicloud.slb.Listener(\"https\",\n load_balancer_id=instance.id,\n backend_port=80,\n frontend_port=443,\n protocol=\"https\",\n sticky_session=\"on\",\n sticky_session_type=\"insert\",\n cookie=\"testslblistenercookie\",\n cookie_timeout=86400,\n health_check=\"on\",\n health_check_uri=\"/cons\",\n health_check_connect_port=20,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx,http_3xx\",\n bandwidth=10,\n server_certificate_id=domain_extension_server_certificate.id)\nexample1 = alicloud.slb.DomainExtension(\"example1\",\n load_balancer_id=instance.id,\n frontend_port=https.frontend_port,\n domain=\"www.test.com\",\n server_certificate_id=domain_extension_server_certificate.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var slbDomainExtensionName = config.Get(\"slbDomainExtensionName\") ?? \"forDomainExtension\";\n var domainExtension = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var domainExtensionNetwork = new AliCloud.Vpc.Network(\"domain_extension\", new()\n {\n VpcName = slbDomainExtensionName,\n });\n\n var domainExtensionSwitch = new AliCloud.Vpc.Switch(\"domain_extension\", new()\n {\n VpcId = domainExtensionNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = domainExtension.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbDomainExtensionName,\n });\n\n var instance = new AliCloud.Slb.ApplicationLoadBalancer(\"instance\", new()\n {\n LoadBalancerName = slbDomainExtensionName,\n AddressType = \"intranet\",\n LoadBalancerSpec = \"slb.s2.small\",\n VswitchId = domainExtensionSwitch.Id,\n });\n\n var domainExtensionServerCertificate = new AliCloud.Slb.ServerCertificate(\"domain_extension\", new()\n {\n Name = \"tf-testAccSlbServerCertificate\",\n Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----\",\n PrivateKey = @\"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----\",\n });\n\n var https = new AliCloud.Slb.Listener(\"https\", new()\n {\n LoadBalancerId = instance.Id,\n BackendPort = 80,\n FrontendPort = 443,\n Protocol = \"https\",\n StickySession = \"on\",\n StickySessionType = \"insert\",\n Cookie = \"testslblistenercookie\",\n CookieTimeout = 86400,\n HealthCheck = \"on\",\n HealthCheckUri = \"/cons\",\n HealthCheckConnectPort = 20,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx,http_3xx\",\n Bandwidth = 10,\n ServerCertificateId = domainExtensionServerCertificate.Id,\n });\n\n var example1 = new AliCloud.Slb.DomainExtension(\"example1\", new()\n {\n LoadBalancerId = instance.Id,\n FrontendPort = https.FrontendPort,\n Domain = \"www.test.com\",\n ServerCertificateId = domainExtensionServerCertificate.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tslbDomainExtensionName := \"forDomainExtension\"\n\t\tif param := cfg.Get(\"slbDomainExtensionName\"); param != \"\" {\n\t\t\tslbDomainExtensionName = param\n\t\t}\n\t\tdomainExtension, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionNetwork, err := vpc.NewNetwork(ctx, \"domain_extension\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(slbDomainExtensionName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionSwitch, err := vpc.NewSwitch(ctx, \"domain_extension\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: domainExtensionNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(domainExtension.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(slbDomainExtensionName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := slb.NewApplicationLoadBalancer(ctx, \"instance\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(slbDomainExtensionName),\n\t\t\tAddressType: pulumi.String(\"intranet\"),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tVswitchId: domainExtensionSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdomainExtensionServerCertificate, err := slb.NewServerCertificate(ctx, \"domain_extension\", \u0026slb.ServerCertificateArgs{\n\t\t\tName: pulumi.String(\"tf-testAccSlbServerCertificate\"),\n\t\t\tServerCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE-----`),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY-----`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\thttps, err := slb.NewListener(ctx, \"https\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: instance.ID(),\n\t\t\tBackendPort: pulumi.Int(80),\n\t\t\tFrontendPort: pulumi.Int(443),\n\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\tStickySession: pulumi.String(\"on\"),\n\t\t\tStickySessionType: pulumi.String(\"insert\"),\n\t\t\tCookie: pulumi.String(\"testslblistenercookie\"),\n\t\t\tCookieTimeout: pulumi.Int(86400),\n\t\t\tHealthCheck: pulumi.String(\"on\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/cons\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx,http_3xx\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tServerCertificateId: domainExtensionServerCertificate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewDomainExtension(ctx, \"example1\", \u0026slb.DomainExtensionArgs{\n\t\t\tLoadBalancerId: instance.ID(),\n\t\t\tFrontendPort: https.FrontendPort,\n\t\t\tDomain: pulumi.String(\"www.test.com\"),\n\t\t\tServerCertificateId: domainExtensionServerCertificate.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerCertificate;\nimport com.pulumi.alicloud.slb.ServerCertificateArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.DomainExtension;\nimport com.pulumi.alicloud.slb.DomainExtensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 slbDomainExtensionName = config.get(\"slbDomainExtensionName\").orElse(\"forDomainExtension\");\n final var domainExtension = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var domainExtensionNetwork = new Network(\"domainExtensionNetwork\", NetworkArgs.builder()\n .vpcName(slbDomainExtensionName)\n .build());\n\n var domainExtensionSwitch = new Switch(\"domainExtensionSwitch\", SwitchArgs.builder()\n .vpcId(domainExtensionNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(domainExtension.zones()[0].id())\n .vswitchName(slbDomainExtensionName)\n .build());\n\n var instance = new ApplicationLoadBalancer(\"instance\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbDomainExtensionName)\n .addressType(\"intranet\")\n .loadBalancerSpec(\"slb.s2.small\")\n .vswitchId(domainExtensionSwitch.id())\n .build());\n\n var domainExtensionServerCertificate = new ServerCertificate(\"domainExtensionServerCertificate\", ServerCertificateArgs.builder()\n .name(\"tf-testAccSlbServerCertificate\")\n .serverCertificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\nbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\nbjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\nDQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\nWjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\nDzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\nLmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\nWiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\np/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\nZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\nqfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\nWCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\nt+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\nlFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n-----END CERTIFICATE----- \"\"\")\n .privateKey(\"\"\"\n-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\nxQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\nHtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\ntF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\ndiUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\nDgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\nG+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\nv7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\nMp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\nBJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\nk3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\nlTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\nOo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n/I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\nPiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\nbc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\nZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\ny0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\nZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\nliQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n-----END RSA PRIVATE KEY----- \"\"\")\n .build());\n\n var https = new Listener(\"https\", ListenerArgs.builder()\n .loadBalancerId(instance.id())\n .backendPort(80)\n .frontendPort(443)\n .protocol(\"https\")\n .stickySession(\"on\")\n .stickySessionType(\"insert\")\n .cookie(\"testslblistenercookie\")\n .cookieTimeout(86400)\n .healthCheck(\"on\")\n .healthCheckUri(\"/cons\")\n .healthCheckConnectPort(20)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx,http_3xx\")\n .bandwidth(10)\n .serverCertificateId(domainExtensionServerCertificate.id())\n .build());\n\n var example1 = new DomainExtension(\"example1\", DomainExtensionArgs.builder()\n .loadBalancerId(instance.id())\n .frontendPort(https.frontendPort())\n .domain(\"www.test.com\")\n .serverCertificateId(domainExtensionServerCertificate.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # Create a new load balancer and domain extension\n slbDomainExtensionName:\n type: string\n default: forDomainExtension\nresources:\n domainExtensionNetwork:\n type: alicloud:vpc:Network\n name: domain_extension\n properties:\n vpcName: ${slbDomainExtensionName}\n domainExtensionSwitch:\n type: alicloud:vpc:Switch\n name: domain_extension\n properties:\n vpcId: ${domainExtensionNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${domainExtension.zones[0].id}\n vswitchName: ${slbDomainExtensionName}\n instance:\n type: alicloud:slb:ApplicationLoadBalancer\n properties:\n loadBalancerName: ${slbDomainExtensionName}\n addressType: intranet\n loadBalancerSpec: slb.s2.small\n vswitchId: ${domainExtensionSwitch.id}\n domainExtensionServerCertificate:\n type: alicloud:slb:ServerCertificate\n name: domain_extension\n properties:\n name: tf-testAccSlbServerCertificate\n serverCertificate: |-\n -----BEGIN CERTIFICATE-----\n MIIDdjCCAl4CCQCcm+erkcKN7DANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJj\n bjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcxDzANBgNVBAoMBmFsaXl1\n bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0LmNvbTEaMBgGCSqGSIb3\n DQEJARYLMTIzQDEyMy5jb20wHhcNMTkwNDI2MDM0ODAxWhcNMjQwNDI1MDM0ODAx\n WjB9MQswCQYDVQQGEwJjbjELMAkGA1UECAwCYmoxEDAOBgNVBAcMB2JlaWppbmcx\n DzANBgNVBAoMBmFsaXl1bjELMAkGA1UECwwCc2MxFTATBgNVBAMMDHd3dy50ZXN0\n LmNvbTEaMBgGCSqGSIb3DQEJARYLMTIzQDEyMy5jb20wggEiMA0GCSqGSIb3DQEB\n AQUAA4IBDwAwggEKAoIBAQDKMKF5qmN/uoMjdH3D8aPRcUOA0s8rZpYhG8zbkF1j\n 8gHYoB/FDvM7G7dfVsyjbMwLOxKvAhWvHHSpEz/t7gB+QdwrAMiMJwGmtCnXrh2E\n WiXgalMe1y4a/T5R7q+m4T1zFATf+kbnHWfkSGF4W7b6UBoaH+9StQ95CnqzNf/2\n p/Of7+S0XzCxFXw8GIVzZk0xFe6lHJzaq06f3mvzrD+4rpO56tTUvrgTY/n61gsF\n ZP7f0CJ2JQh6eNRFOEUSfxKu/Dy/+IsQxorCJY2Q59ZAf3rXrqDN104jw9PlwnLl\n qfZz3RMODN6BWjxE8rvRtT0qMfuAfv1gjBdWZN0hUYBRAgMBAAEwDQYJKoZIhvcN\n AQELBQADggEBAABzo82TxGp5poVkd5pLWj5ACgcBv8Cs6oH9D+4Jz9BmyuBUsQXh\n 2aG0hQAe1mU61C9konsl/GTW8umJQ4M4lYEztXXwMf5PlBMGwebM0ZbSGg6jKtZg\n WCgJ3eP/FMmyXGL5Jji5+e09eObhUDVle4tdi0On97zBoz85W02rgWFAqZJwiEAP\n t+c7jX7uOSBq2/38iGStlrX5yB1at/gJXXiA5CL5OtlR3Okvb0/QH37efO1Nu39m\n lFi0ODPAVyXjVypAiLguDxPn6AtDTdk9Iw9B19OD4NrzNRWgSSX5vuxo/VcRcgWk\n 3gEe9Ca0ZKN20q9XgthAiFFjl1S9ZgdA6Zc=\n -----END CERTIFICATE-----\n privateKey: |-\n -----BEGIN RSA PRIVATE KEY-----\n MIIEowIBAAKCAQEAyjCheapjf7qDI3R9w/Gj0XFDgNLPK2aWIRvM25BdY/IB2KAf\n xQ7zOxu3X1bMo2zMCzsSrwIVrxx0qRM/7e4AfkHcKwDIjCcBprQp164dhFol4GpT\n HtcuGv0+Ue6vpuE9cxQE3/pG5x1n5EhheFu2+lAaGh/vUrUPeQp6szX/9qfzn+/k\n tF8wsRV8PBiFc2ZNMRXupRyc2qtOn95r86w/uK6TuerU1L64E2P5+tYLBWT+39Ai\n diUIenjURThFEn8Srvw8v/iLEMaKwiWNkOfWQH96166gzddOI8PT5cJy5an2c90T\n DgzegVo8RPK70bU9KjH7gH79YIwXVmTdIVGAUQIDAQABAoIBAE1J4a/8biR5S3/W\n G+03BYQeY8tuyjqw8FqfoeOcf9agwAvqybouSNQjeCk9qOQfxq/UWQQFK/zQR9gJ\n v7pX7GBXFK5rkj3g+0SaQhRsPmRFgY0Tl8qGPt2aSKRRNVv5ZeADmwlzRn86QmiF\n Mp0rkfqFfDTYWEepZszCML0ouzuxsW/9tq7rvtSjsgATNt31B3vFa3D3JBi31jUh\n 5nfR9A3bATze7mQw3byEDiVl5ASRDgYyur403P1fDnMy9DBHZ8NaPOsFF6OBpJal\n BJsG5z00hll5PFN2jfmBQKlvAeU7wfwqdaSnGHOfqf2DeTTaFjIQ4gUhRn/m6pLo\n 6kXttLECgYEA9sng0Qz/TcPFfM4tQ1gyvB1cKnnGIwg1FP8sfUjbbEgjaHhA224S\n k3BxtX2Kq6fhTXuwusAFc6OVMAZ76FgrQ5K4Ci7+DTsrF28z4b8td+p+lO/DxgP9\n lTgN+ddsiTOV4fUef9Z3yY0Zr0CnBUMbQYRaV2UIbCdiB0G4V/bt9TsCgYEA0bya\n Oo9wGI0RJV0bYP7qwO74Ra1/i1viWbRlS7jU37Q+AZstrlKcQ5CTPzOjKFKMiUzl\n 4miWacZ0/q2n+Mvd7NbXGXTLijahnyOYKaHJYyh4oBymfkgAifRstE0Ki9gdvArb\n /I+emC0GvLSyfGN8UUeDJs4NmqdEXGqjo2JOV+MCgYALFv1MR5o9Y1u/hQBRs2fs\n PiGDIx+9OUQxYloccyaxEfjNXAIGGkcpavchIbgWiJ++PJ2vdquIC8TLeK8evL+M\n 9M3iX0Q5UfxYvD2HmnCvn9D6Xl/cyRcfGnq+TGjrLW9BzSMGuZt+aiHKV0xqFx7l\n bc4leTvMqGRmURS4lzcQOwKBgQCDzA/i4sYfN25h21tcHXSpnsG3D2rJyQi5NCo/\n ZjunA92/JqOTGuiFcLGHEszhhtY3ZXJET1LNz18vtzKJnpqrvOnYXlOVW/U+SqDQ\n 8JDb1c/PVZGuY1KrXkR9HLiW3kz5IJ3S3PFdUVYdeTN8BQxXCyg4V12nJJtJs912\n y0zN3wKBgGDS6YttCN6aI4EOABYE8fI1EYQ7vhfiYsaWGWSR1l6bQey7KR6M1ACz\n ZzMASNyytVt12yXE4/Emv6/pYqigbDLfL1zQJSLJ3EHJYTh2RxjR+AaGDudYFG/T\n liQ9YXhV5Iu2x1pNwrtFnssDdaaGpfA7l3xC00BL7Z+SAJyI4QKA\n -----END RSA PRIVATE KEY-----\n https:\n type: alicloud:slb:Listener\n properties:\n loadBalancerId: ${instance.id}\n backendPort: 80\n frontendPort: 443\n protocol: https\n stickySession: on\n stickySessionType: insert\n cookie: testslblistenercookie\n cookieTimeout: 86400\n healthCheck: on\n healthCheckUri: /cons\n healthCheckConnectPort: 20\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx,http_3xx\n bandwidth: 10\n serverCertificateId: ${domainExtensionServerCertificate.id}\n example1:\n type: alicloud:slb:DomainExtension\n properties:\n loadBalancerId: ${instance.id}\n frontendPort: ${https.frontendPort}\n domain: www.test.com\n serverCertificateId: ${domainExtensionServerCertificate.id}\nvariables:\n domainExtension:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad balancer domain_extension can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/domainExtension:DomainExtension example de-abc123456\n```\n\n", "properties": { "deleteProtectionValidation": { "type": "boolean", @@ -251816,7 +257494,7 @@ } }, "alicloud:slb/listener:Listener": { - "description": "Provides a Classic Load Balancer (SLB) Load Balancer Listener resource.\n\nFor information about Classic Load Balancer (SLB) and how to use it, see [What is Classic Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).\n\nFor information about listener and how to use it, please see the following:\n\n* [Configure a HTTP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27592.htm).\n* [Configure a HTTPS Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27593.htm).\n* [Configure a TCP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27594.htm).\n* [Configure a UDP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27595.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst listener = new alicloud.slb.ApplicationLoadBalancer(\"listener\", {\n loadBalancerName: `${name}-${_default.result}`,\n internetChargeType: \"PayByTraffic\",\n addressType: \"internet\",\n instanceChargeType: \"PayByCLCU\",\n});\nconst listenerAcl = new alicloud.slb.Acl(\"listener\", {\n name: `${name}-${_default.result}`,\n ipVersion: \"ipv4\",\n});\nconst listenerListener = new alicloud.slb.Listener(\"listener\", {\n loadBalancerId: listener.id,\n backendPort: 80,\n frontendPort: 80,\n protocol: \"http\",\n bandwidth: 10,\n stickySession: \"on\",\n stickySessionType: \"insert\",\n cookieTimeout: 86400,\n cookie: \"tfslblistenercookie\",\n healthCheck: \"on\",\n healthCheckDomain: \"ali.com\",\n healthCheckUri: \"/cons\",\n healthCheckConnectPort: 20,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx,http_3xx\",\n xForwardedFor: {\n retriveSlbIp: true,\n retriveSlbId: true,\n },\n aclStatus: \"on\",\n aclType: \"white\",\n aclIds: [listenerAcl.id],\n requestTimeout: 80,\n idleTimeout: 30,\n});\nconst first = new alicloud.slb.AclEntryAttachment(\"first\", {\n aclId: listenerAcl.id,\n entry: \"10.10.10.0/24\",\n comment: \"first\",\n});\nconst second = new alicloud.slb.AclEntryAttachment(\"second\", {\n aclId: listenerAcl.id,\n entry: \"168.10.10.0/24\",\n comment: \"second\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nlistener = alicloud.slb.ApplicationLoadBalancer(\"listener\",\n load_balancer_name=f\"{name}-{default['result']}\",\n internet_charge_type=\"PayByTraffic\",\n address_type=\"internet\",\n instance_charge_type=\"PayByCLCU\")\nlistener_acl = alicloud.slb.Acl(\"listener\",\n name=f\"{name}-{default['result']}\",\n ip_version=\"ipv4\")\nlistener_listener = alicloud.slb.Listener(\"listener\",\n load_balancer_id=listener.id,\n backend_port=80,\n frontend_port=80,\n protocol=\"http\",\n bandwidth=10,\n sticky_session=\"on\",\n sticky_session_type=\"insert\",\n cookie_timeout=86400,\n cookie=\"tfslblistenercookie\",\n health_check=\"on\",\n health_check_domain=\"ali.com\",\n health_check_uri=\"/cons\",\n health_check_connect_port=20,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx,http_3xx\",\n x_forwarded_for={\n \"retrive_slb_ip\": True,\n \"retrive_slb_id\": True,\n },\n acl_status=\"on\",\n acl_type=\"white\",\n acl_ids=[listener_acl.id],\n request_timeout=80,\n idle_timeout=30)\nfirst = alicloud.slb.AclEntryAttachment(\"first\",\n acl_id=listener_acl.id,\n entry=\"10.10.10.0/24\",\n comment=\"first\")\nsecond = alicloud.slb.AclEntryAttachment(\"second\",\n acl_id=listener_acl.id,\n entry=\"168.10.10.0/24\",\n comment=\"second\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var listener = new AliCloud.Slb.ApplicationLoadBalancer(\"listener\", new()\n {\n LoadBalancerName = $\"{name}-{@default.Result}\",\n InternetChargeType = \"PayByTraffic\",\n AddressType = \"internet\",\n InstanceChargeType = \"PayByCLCU\",\n });\n\n var listenerAcl = new AliCloud.Slb.Acl(\"listener\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n IpVersion = \"ipv4\",\n });\n\n var listenerListener = new AliCloud.Slb.Listener(\"listener\", new()\n {\n LoadBalancerId = listener.Id,\n BackendPort = 80,\n FrontendPort = 80,\n Protocol = \"http\",\n Bandwidth = 10,\n StickySession = \"on\",\n StickySessionType = \"insert\",\n CookieTimeout = 86400,\n Cookie = \"tfslblistenercookie\",\n HealthCheck = \"on\",\n HealthCheckDomain = \"ali.com\",\n HealthCheckUri = \"/cons\",\n HealthCheckConnectPort = 20,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx,http_3xx\",\n XForwardedFor = new AliCloud.Slb.Inputs.ListenerXForwardedForArgs\n {\n RetriveSlbIp = true,\n RetriveSlbId = true,\n },\n AclStatus = \"on\",\n AclType = \"white\",\n AclIds = new[]\n {\n listenerAcl.Id,\n },\n RequestTimeout = 80,\n IdleTimeout = 30,\n });\n\n var first = new AliCloud.Slb.AclEntryAttachment(\"first\", new()\n {\n AclId = listenerAcl.Id,\n Entry = \"10.10.10.0/24\",\n Comment = \"first\",\n });\n\n var second = new AliCloud.Slb.AclEntryAttachment(\"second\", new()\n {\n AclId = listenerAcl.Id,\n Entry = \"168.10.10.0/24\",\n Comment = \"second\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener, err := slb.NewApplicationLoadBalancer(ctx, \"listener\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tAddressType: pulumi.String(\"internet\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PayByCLCU\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistenerAcl, err := slb.NewAcl(ctx, \"listener\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewListener(ctx, \"listener\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: listener.ID(),\n\t\t\tBackendPort: pulumi.Int(80),\n\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tStickySession: pulumi.String(\"on\"),\n\t\t\tStickySessionType: pulumi.String(\"insert\"),\n\t\t\tCookieTimeout: pulumi.Int(86400),\n\t\t\tCookie: pulumi.String(\"tfslblistenercookie\"),\n\t\t\tHealthCheck: pulumi.String(\"on\"),\n\t\t\tHealthCheckDomain: pulumi.String(\"ali.com\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/cons\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx,http_3xx\"),\n\t\t\tXForwardedFor: \u0026slb.ListenerXForwardedForArgs{\n\t\t\t\tRetriveSlbIp: pulumi.Bool(true),\n\t\t\t\tRetriveSlbId: pulumi.Bool(true),\n\t\t\t},\n\t\t\tAclStatus: pulumi.String(\"on\"),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t\tAclIds: pulumi.StringArray{\n\t\t\t\tlistenerAcl.ID(),\n\t\t\t},\n\t\t\tRequestTimeout: pulumi.Int(80),\n\t\t\tIdleTimeout: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"first\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: listenerAcl.ID(),\n\t\t\tEntry: pulumi.String(\"10.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"first\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"second\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: listenerAcl.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"second\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.inputs.ListenerXForwardedForArgs;\nimport com.pulumi.alicloud.slb.AclEntryAttachment;\nimport com.pulumi.alicloud.slb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var listener = new ApplicationLoadBalancer(\"listener\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(String.format(\"%s-%s\", name,default_.result()))\n .internetChargeType(\"PayByTraffic\")\n .addressType(\"internet\")\n .instanceChargeType(\"PayByCLCU\")\n .build());\n\n var listenerAcl = new Acl(\"listenerAcl\", AclArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .ipVersion(\"ipv4\")\n .build());\n\n var listenerListener = new Listener(\"listenerListener\", ListenerArgs.builder()\n .loadBalancerId(listener.id())\n .backendPort(80)\n .frontendPort(80)\n .protocol(\"http\")\n .bandwidth(10)\n .stickySession(\"on\")\n .stickySessionType(\"insert\")\n .cookieTimeout(86400)\n .cookie(\"tfslblistenercookie\")\n .healthCheck(\"on\")\n .healthCheckDomain(\"ali.com\")\n .healthCheckUri(\"/cons\")\n .healthCheckConnectPort(20)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx,http_3xx\")\n .xForwardedFor(ListenerXForwardedForArgs.builder()\n .retriveSlbIp(true)\n .retriveSlbId(true)\n .build())\n .aclStatus(\"on\")\n .aclType(\"white\")\n .aclIds(listenerAcl.id())\n .requestTimeout(80)\n .idleTimeout(30)\n .build());\n\n var first = new AclEntryAttachment(\"first\", AclEntryAttachmentArgs.builder()\n .aclId(listenerAcl.id())\n .entry(\"10.10.10.0/24\")\n .comment(\"first\")\n .build());\n\n var second = new AclEntryAttachment(\"second\", AclEntryAttachmentArgs.builder()\n .aclId(listenerAcl.id())\n .entry(\"168.10.10.0/24\")\n .comment(\"second\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n listener:\n type: alicloud:slb:ApplicationLoadBalancer\n properties:\n loadBalancerName: ${name}-${default.result}\n internetChargeType: PayByTraffic\n addressType: internet\n instanceChargeType: PayByCLCU\n listenerListener:\n type: alicloud:slb:Listener\n name: listener\n properties:\n loadBalancerId: ${listener.id}\n backendPort: 80\n frontendPort: 80\n protocol: http\n bandwidth: 10\n stickySession: on\n stickySessionType: insert\n cookieTimeout: 86400\n cookie: tfslblistenercookie\n healthCheck: on\n healthCheckDomain: ali.com\n healthCheckUri: /cons\n healthCheckConnectPort: 20\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx,http_3xx\n xForwardedFor:\n retriveSlbIp: true\n retriveSlbId: true\n aclStatus: on\n aclType: white\n aclIds:\n - ${listenerAcl.id}\n requestTimeout: 80\n idleTimeout: 30\n listenerAcl:\n type: alicloud:slb:Acl\n name: listener\n properties:\n name: ${name}-${default.result}\n ipVersion: ipv4\n first:\n type: alicloud:slb:AclEntryAttachment\n properties:\n aclId: ${listenerAcl.id}\n entry: 10.10.10.0/24\n comment: first\n second:\n type: alicloud:slb:AclEntryAttachment\n properties:\n aclId: ${listenerAcl.id}\n entry: 168.10.10.0/24\n comment: second\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClassic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/listener:Listener example \u003cload_balancer_id\u003e:\u003cprotocol\u003e:\u003cfrontend_port\u003e\n```\n\n```sh\n$ pulumi import alicloud:slb/listener:Listener example \u003cload_balancer_id\u003e:\u003cfrontend_port\u003e\n```\n\n", + "description": "Provides a Classic Load Balancer (SLB) Load Balancer Listener resource.\n\nFor information about Classic Load Balancer (SLB) and how to use it, see [What is Classic Load Balancer](https://www.alibabacloud.com/help/doc-detail/27539.htm).\n\nFor information about listener and how to use it, please see the following:\n\n* [Configure a HTTP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27592.htm).\n* [Configure a HTTPS Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27593.htm).\n* [Configure a TCP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27594.htm).\n* [Configure a UDP Classic Load Balancer (SLB) Listener](https://www.alibabacloud.com/help/doc-detail/27595.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst listener = new alicloud.slb.ApplicationLoadBalancer(\"listener\", {\n loadBalancerName: `${name}-${_default.result}`,\n internetChargeType: \"PayByTraffic\",\n addressType: \"internet\",\n instanceChargeType: \"PayByCLCU\",\n});\nconst listenerAcl = new alicloud.slb.Acl(\"listener\", {\n name: `${name}-${_default.result}`,\n ipVersion: \"ipv4\",\n});\nconst listenerListener = new alicloud.slb.Listener(\"listener\", {\n loadBalancerId: listener.id,\n backendPort: 80,\n frontendPort: 80,\n protocol: \"http\",\n bandwidth: 10,\n stickySession: \"on\",\n stickySessionType: \"insert\",\n cookieTimeout: 86400,\n cookie: \"tfslblistenercookie\",\n healthCheck: \"on\",\n healthCheckDomain: \"ali.com\",\n healthCheckUri: \"/cons\",\n healthCheckConnectPort: 20,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx,http_3xx\",\n xForwardedFor: {\n retriveSlbIp: true,\n retriveSlbId: true,\n },\n aclStatus: \"on\",\n aclType: \"white\",\n aclIds: [listenerAcl.id],\n requestTimeout: 80,\n idleTimeout: 30,\n});\nconst first = new alicloud.slb.AclEntryAttachment(\"first\", {\n aclId: listenerAcl.id,\n entry: \"10.10.10.0/24\",\n comment: \"first\",\n});\nconst second = new alicloud.slb.AclEntryAttachment(\"second\", {\n aclId: listenerAcl.id,\n entry: \"168.10.10.0/24\",\n comment: \"second\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nlistener = alicloud.slb.ApplicationLoadBalancer(\"listener\",\n load_balancer_name=f\"{name}-{default['result']}\",\n internet_charge_type=\"PayByTraffic\",\n address_type=\"internet\",\n instance_charge_type=\"PayByCLCU\")\nlistener_acl = alicloud.slb.Acl(\"listener\",\n name=f\"{name}-{default['result']}\",\n ip_version=\"ipv4\")\nlistener_listener = alicloud.slb.Listener(\"listener\",\n load_balancer_id=listener.id,\n backend_port=80,\n frontend_port=80,\n protocol=\"http\",\n bandwidth=10,\n sticky_session=\"on\",\n sticky_session_type=\"insert\",\n cookie_timeout=86400,\n cookie=\"tfslblistenercookie\",\n health_check=\"on\",\n health_check_domain=\"ali.com\",\n health_check_uri=\"/cons\",\n health_check_connect_port=20,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx,http_3xx\",\n x_forwarded_for={\n \"retrive_slb_ip\": True,\n \"retrive_slb_id\": True,\n },\n acl_status=\"on\",\n acl_type=\"white\",\n acl_ids=[listener_acl.id],\n request_timeout=80,\n idle_timeout=30)\nfirst = alicloud.slb.AclEntryAttachment(\"first\",\n acl_id=listener_acl.id,\n entry=\"10.10.10.0/24\",\n comment=\"first\")\nsecond = alicloud.slb.AclEntryAttachment(\"second\",\n acl_id=listener_acl.id,\n entry=\"168.10.10.0/24\",\n comment=\"second\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var listener = new AliCloud.Slb.ApplicationLoadBalancer(\"listener\", new()\n {\n LoadBalancerName = $\"{name}-{@default.Result}\",\n InternetChargeType = \"PayByTraffic\",\n AddressType = \"internet\",\n InstanceChargeType = \"PayByCLCU\",\n });\n\n var listenerAcl = new AliCloud.Slb.Acl(\"listener\", new()\n {\n Name = $\"{name}-{@default.Result}\",\n IpVersion = \"ipv4\",\n });\n\n var listenerListener = new AliCloud.Slb.Listener(\"listener\", new()\n {\n LoadBalancerId = listener.Id,\n BackendPort = 80,\n FrontendPort = 80,\n Protocol = \"http\",\n Bandwidth = 10,\n StickySession = \"on\",\n StickySessionType = \"insert\",\n CookieTimeout = 86400,\n Cookie = \"tfslblistenercookie\",\n HealthCheck = \"on\",\n HealthCheckDomain = \"ali.com\",\n HealthCheckUri = \"/cons\",\n HealthCheckConnectPort = 20,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx,http_3xx\",\n XForwardedFor = new AliCloud.Slb.Inputs.ListenerXForwardedForArgs\n {\n RetriveSlbIp = true,\n RetriveSlbId = true,\n },\n AclStatus = \"on\",\n AclType = \"white\",\n AclIds = new[]\n {\n listenerAcl.Id,\n },\n RequestTimeout = 80,\n IdleTimeout = 30,\n });\n\n var first = new AliCloud.Slb.AclEntryAttachment(\"first\", new()\n {\n AclId = listenerAcl.Id,\n Entry = \"10.10.10.0/24\",\n Comment = \"first\",\n });\n\n var second = new AliCloud.Slb.AclEntryAttachment(\"second\", new()\n {\n AclId = listenerAcl.Id,\n Entry = \"168.10.10.0/24\",\n Comment = \"second\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener, err := slb.NewApplicationLoadBalancer(ctx, \"listener\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tAddressType: pulumi.String(\"internet\"),\n\t\t\tInstanceChargeType: pulumi.String(\"PayByCLCU\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistenerAcl, err := slb.NewAcl(ctx, \"listener\", \u0026slb.AclArgs{\n\t\t\tName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tIpVersion: pulumi.String(\"ipv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewListener(ctx, \"listener\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: listener.ID(),\n\t\t\tBackendPort: pulumi.Int(80),\n\t\t\tFrontendPort: pulumi.Int(80),\n\t\t\tProtocol: pulumi.String(\"http\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tStickySession: pulumi.String(\"on\"),\n\t\t\tStickySessionType: pulumi.String(\"insert\"),\n\t\t\tCookieTimeout: pulumi.Int(86400),\n\t\t\tCookie: pulumi.String(\"tfslblistenercookie\"),\n\t\t\tHealthCheck: pulumi.String(\"on\"),\n\t\t\tHealthCheckDomain: pulumi.String(\"ali.com\"),\n\t\t\tHealthCheckUri: pulumi.String(\"/cons\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx,http_3xx\"),\n\t\t\tXForwardedFor: \u0026slb.ListenerXForwardedForArgs{\n\t\t\t\tRetriveSlbIp: pulumi.Bool(true),\n\t\t\t\tRetriveSlbId: pulumi.Bool(true),\n\t\t\t},\n\t\t\tAclStatus: pulumi.String(\"on\"),\n\t\t\tAclType: pulumi.String(\"white\"),\n\t\t\tAclIds: pulumi.StringArray{\n\t\t\t\tlistenerAcl.ID(),\n\t\t\t},\n\t\t\tRequestTimeout: pulumi.Int(80),\n\t\t\tIdleTimeout: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"first\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: listenerAcl.ID(),\n\t\t\tEntry: pulumi.String(\"10.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"first\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewAclEntryAttachment(ctx, \"second\", \u0026slb.AclEntryAttachmentArgs{\n\t\t\tAclId: listenerAcl.ID(),\n\t\t\tEntry: pulumi.String(\"168.10.10.0/24\"),\n\t\t\tComment: pulumi.String(\"second\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Acl;\nimport com.pulumi.alicloud.slb.AclArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.inputs.ListenerXForwardedForArgs;\nimport com.pulumi.alicloud.slb.AclEntryAttachment;\nimport com.pulumi.alicloud.slb.AclEntryAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var listener = new ApplicationLoadBalancer(\"listener\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(String.format(\"%s-%s\", name,default_.result()))\n .internetChargeType(\"PayByTraffic\")\n .addressType(\"internet\")\n .instanceChargeType(\"PayByCLCU\")\n .build());\n\n var listenerAcl = new Acl(\"listenerAcl\", AclArgs.builder()\n .name(String.format(\"%s-%s\", name,default_.result()))\n .ipVersion(\"ipv4\")\n .build());\n\n var listenerListener = new Listener(\"listenerListener\", ListenerArgs.builder()\n .loadBalancerId(listener.id())\n .backendPort(80)\n .frontendPort(80)\n .protocol(\"http\")\n .bandwidth(10)\n .stickySession(\"on\")\n .stickySessionType(\"insert\")\n .cookieTimeout(86400)\n .cookie(\"tfslblistenercookie\")\n .healthCheck(\"on\")\n .healthCheckDomain(\"ali.com\")\n .healthCheckUri(\"/cons\")\n .healthCheckConnectPort(20)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx,http_3xx\")\n .xForwardedFor(ListenerXForwardedForArgs.builder()\n .retriveSlbIp(true)\n .retriveSlbId(true)\n .build())\n .aclStatus(\"on\")\n .aclType(\"white\")\n .aclIds(listenerAcl.id())\n .requestTimeout(80)\n .idleTimeout(30)\n .build());\n\n var first = new AclEntryAttachment(\"first\", AclEntryAttachmentArgs.builder()\n .aclId(listenerAcl.id())\n .entry(\"10.10.10.0/24\")\n .comment(\"first\")\n .build());\n\n var second = new AclEntryAttachment(\"second\", AclEntryAttachmentArgs.builder()\n .aclId(listenerAcl.id())\n .entry(\"168.10.10.0/24\")\n .comment(\"second\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n listener:\n type: alicloud:slb:ApplicationLoadBalancer\n properties:\n loadBalancerName: ${name}-${default.result}\n internetChargeType: PayByTraffic\n addressType: internet\n instanceChargeType: PayByCLCU\n listenerListener:\n type: alicloud:slb:Listener\n name: listener\n properties:\n loadBalancerId: ${listener.id}\n backendPort: 80\n frontendPort: 80\n protocol: http\n bandwidth: 10\n stickySession: on\n stickySessionType: insert\n cookieTimeout: 86400\n cookie: tfslblistenercookie\n healthCheck: on\n healthCheckDomain: ali.com\n healthCheckUri: /cons\n healthCheckConnectPort: 20\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx,http_3xx\n xForwardedFor:\n retriveSlbIp: true\n retriveSlbId: true\n aclStatus: on\n aclType: white\n aclIds:\n - ${listenerAcl.id}\n requestTimeout: 80\n idleTimeout: 30\n listenerAcl:\n type: alicloud:slb:Acl\n name: listener\n properties:\n name: ${name}-${default.result}\n ipVersion: ipv4\n first:\n type: alicloud:slb:AclEntryAttachment\n properties:\n aclId: ${listenerAcl.id}\n entry: 10.10.10.0/24\n comment: first\n second:\n type: alicloud:slb:AclEntryAttachment\n properties:\n aclId: ${listenerAcl.id}\n entry: 168.10.10.0/24\n comment: second\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nClassic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/listener:Listener example \u003cload_balancer_id\u003e:\u003cprotocol\u003e:\u003cfrontend_port\u003e\n```\n\n```sh\n$ pulumi import alicloud:slb/listener:Listener example \u003cload_balancer_id\u003e:\u003cfrontend_port\u003e\n```\n\n", "properties": { "aclId": { "type": "string", @@ -252267,7 +257945,7 @@ } }, "alicloud:slb/loadBalancer:LoadBalancer": { - "description": "\u003e **NOTE:** Deprecated since v1.123.1.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-dotnet=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-go=\" slb.ApplicationLoadBalancer \" pulumi-lang-python=\" slb.ApplicationLoadBalancer \" pulumi-lang-yaml=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-java=\" alicloud.slb.ApplicationLoadBalancer \"\u003e alicloud.slb.ApplicationLoadBalancer \u003c/span\u003efrom version 1.123.1.\n\nProvides an Application Load Balancer resource.\n\n\u003e **NOTE:** At present, to avoid some unnecessary regulation confusion, SLB can not support alicloud international account to create \"paybybandwidth\" instance.\n\n\u003e **NOTE:** The supported specifications vary by region. Currently not all regions support guaranteed-performance instances.\nFor more details about guaranteed-performance instance, see [Guaranteed-performance instances](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-createloadbalancer-2#t4182.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraformslbconfig\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultLoadBalancer = new alicloud.slb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n loadBalancerSpec: \"slb.s2.small\",\n vswitchId: defaultSwitch.id,\n tags: {\n tag_a: \"1\",\n tag_b: \"2\",\n tag_c: \"3\",\n tag_d: \"4\",\n tag_e: \"5\",\n tag_f: \"6\",\n tag_g: \"7\",\n tag_h: \"8\",\n tag_i: \"9\",\n tag_j: \"10\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraformslbconfig\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_load_balancer = alicloud.slb.LoadBalancer(\"default\",\n load_balancer_name=name,\n load_balancer_spec=\"slb.s2.small\",\n vswitch_id=default_switch.id,\n tags={\n \"tag_a\": \"1\",\n \"tag_b\": \"2\",\n \"tag_c\": \"3\",\n \"tag_d\": \"4\",\n \"tag_e\": \"5\",\n \"tag_f\": \"6\",\n \"tag_g\": \"7\",\n \"tag_h\": \"8\",\n \"tag_i\": \"9\",\n \"tag_j\": \"10\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraformslbconfig\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultLoadBalancer = new AliCloud.Slb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n LoadBalancerSpec = \"slb.s2.small\",\n VswitchId = defaultSwitch.Id,\n Tags = \n {\n { \"tag_a\", \"1\" },\n { \"tag_b\", \"2\" },\n { \"tag_c\", \"3\" },\n { \"tag_d\", \"4\" },\n { \"tag_e\", \"5\" },\n { \"tag_f\", \"6\" },\n { \"tag_g\", \"7\" },\n { \"tag_h\", \"8\" },\n { \"tag_i\", \"9\" },\n { \"tag_j\", \"10\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraformslbconfig\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewLoadBalancer(ctx, \"default\", \u0026slb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag_a\": pulumi.String(\"1\"),\n\t\t\t\t\"tag_b\": pulumi.String(\"2\"),\n\t\t\t\t\"tag_c\": pulumi.String(\"3\"),\n\t\t\t\t\"tag_d\": pulumi.String(\"4\"),\n\t\t\t\t\"tag_e\": pulumi.String(\"5\"),\n\t\t\t\t\"tag_f\": pulumi.String(\"6\"),\n\t\t\t\t\"tag_g\": pulumi.String(\"7\"),\n\t\t\t\t\"tag_h\": pulumi.String(\"8\"),\n\t\t\t\t\"tag_i\": pulumi.String(\"9\"),\n\t\t\t\t\"tag_j\": pulumi.String(\"10\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.LoadBalancer;\nimport com.pulumi.alicloud.slb.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraformslbconfig\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerSpec(\"slb.s2.small\")\n .vswitchId(defaultSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"tag_a\", \"1\"),\n Map.entry(\"tag_b\", \"2\"),\n Map.entry(\"tag_c\", \"3\"),\n Map.entry(\"tag_d\", \"4\"),\n Map.entry(\"tag_e\", \"5\"),\n Map.entry(\"tag_f\", \"6\"),\n Map.entry(\"tag_g\", \"7\"),\n Map.entry(\"tag_h\", \"8\"),\n Map.entry(\"tag_i\", \"9\"),\n Map.entry(\"tag_j\", \"10\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraformslbconfig\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultLoadBalancer:\n type: alicloud:slb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n loadBalancerSpec: slb.s2.small\n vswitchId: ${defaultSwitch.id}\n tags:\n tag_a: 1\n tag_b: 2\n tag_c: 3\n tag_d: 4\n tag_e: 5\n tag_f: 6\n tag_g: 7\n tag_h: 8\n tag_i: 9\n tag_j: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/loadBalancer:LoadBalancer example lb-abc123456\n```\n\n", + "description": "\u003e **NOTE:** Deprecated since v1.123.1.\n\n\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-dotnet=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-go=\" slb.ApplicationLoadBalancer \" pulumi-lang-python=\" slb.ApplicationLoadBalancer \" pulumi-lang-yaml=\" alicloud.slb.ApplicationLoadBalancer \" pulumi-lang-java=\" alicloud.slb.ApplicationLoadBalancer \"\u003e alicloud.slb.ApplicationLoadBalancer \u003c/span\u003efrom version 1.123.1.\n\nProvides an Application Load Balancer resource.\n\n\u003e **NOTE:** At present, to avoid some unnecessary regulation confusion, SLB can not support alicloud international account to create \"paybybandwidth\" instance.\n\n\u003e **NOTE:** The supported specifications vary by region. Currently not all regions support guaranteed-performance instances.\nFor more details about guaranteed-performance instance, see [Guaranteed-performance instances](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-createloadbalancer-2#t4182.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraformslbconfig\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultLoadBalancer = new alicloud.slb.LoadBalancer(\"default\", {\n loadBalancerName: name,\n loadBalancerSpec: \"slb.s2.small\",\n vswitchId: defaultSwitch.id,\n tags: {\n tag_a: \"1\",\n tag_b: \"2\",\n tag_c: \"3\",\n tag_d: \"4\",\n tag_e: \"5\",\n tag_f: \"6\",\n tag_g: \"7\",\n tag_h: \"8\",\n tag_i: \"9\",\n tag_j: \"10\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraformslbconfig\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_load_balancer = alicloud.slb.LoadBalancer(\"default\",\n load_balancer_name=name,\n load_balancer_spec=\"slb.s2.small\",\n vswitch_id=default_switch.id,\n tags={\n \"tag_a\": \"1\",\n \"tag_b\": \"2\",\n \"tag_c\": \"3\",\n \"tag_d\": \"4\",\n \"tag_e\": \"5\",\n \"tag_f\": \"6\",\n \"tag_g\": \"7\",\n \"tag_h\": \"8\",\n \"tag_i\": \"9\",\n \"tag_j\": \"10\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraformslbconfig\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultLoadBalancer = new AliCloud.Slb.LoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n LoadBalancerSpec = \"slb.s2.small\",\n VswitchId = defaultSwitch.Id,\n Tags = \n {\n { \"tag_a\", \"1\" },\n { \"tag_b\", \"2\" },\n { \"tag_c\", \"3\" },\n { \"tag_d\", \"4\" },\n { \"tag_e\", \"5\" },\n { \"tag_f\", \"6\" },\n { \"tag_g\", \"7\" },\n { \"tag_h\", \"8\" },\n { \"tag_i\", \"9\" },\n { \"tag_j\", \"10\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraformslbconfig\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewLoadBalancer(ctx, \"default\", \u0026slb.LoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag_a\": pulumi.String(\"1\"),\n\t\t\t\t\"tag_b\": pulumi.String(\"2\"),\n\t\t\t\t\"tag_c\": pulumi.String(\"3\"),\n\t\t\t\t\"tag_d\": pulumi.String(\"4\"),\n\t\t\t\t\"tag_e\": pulumi.String(\"5\"),\n\t\t\t\t\"tag_f\": pulumi.String(\"6\"),\n\t\t\t\t\"tag_g\": pulumi.String(\"7\"),\n\t\t\t\t\"tag_h\": pulumi.String(\"8\"),\n\t\t\t\t\"tag_i\": pulumi.String(\"9\"),\n\t\t\t\t\"tag_j\": pulumi.String(\"10\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.LoadBalancer;\nimport com.pulumi.alicloud.slb.LoadBalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraformslbconfig\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultLoadBalancer = new LoadBalancer(\"defaultLoadBalancer\", LoadBalancerArgs.builder()\n .loadBalancerName(name)\n .loadBalancerSpec(\"slb.s2.small\")\n .vswitchId(defaultSwitch.id())\n .tags(Map.ofEntries(\n Map.entry(\"tag_a\", \"1\"),\n Map.entry(\"tag_b\", \"2\"),\n Map.entry(\"tag_c\", \"3\"),\n Map.entry(\"tag_d\", \"4\"),\n Map.entry(\"tag_e\", \"5\"),\n Map.entry(\"tag_f\", \"6\"),\n Map.entry(\"tag_g\", \"7\"),\n Map.entry(\"tag_h\", \"8\"),\n Map.entry(\"tag_i\", \"9\"),\n Map.entry(\"tag_j\", \"10\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraformslbconfig\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultLoadBalancer:\n type: alicloud:slb:LoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n loadBalancerSpec: slb.s2.small\n vswitchId: ${defaultSwitch.id}\n tags:\n tag_a: 1\n tag_b: 2\n tag_c: 3\n tag_d: 4\n tag_e: 5\n tag_f: 6\n tag_g: 7\n tag_h: 8\n tag_i: 9\n tag_j: 10\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad balancer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/loadBalancer:LoadBalancer example lb-abc123456\n```\n\n", "properties": { "address": { "type": "string", @@ -252575,7 +258253,7 @@ "deprecationMessage": "This resource has been deprecated in favour of the ApplicationLoadBalancer resource" }, "alicloud:slb/masterSlaveServerGroup:MasterSlaveServerGroup": { - "description": "A master slave server group contains two ECS instances. The master slave server group can help you to define multiple listening dimension.\n\n\u003e **NOTE:** One ECS instance can be added into multiple master slave server groups.\n\n\u003e **NOTE:** One master slave server group can only add two ECS instances, which are master server and slave server.\n\n\u003e **NOTE:** One master slave server group can be attached with tcp/udp listeners in one load balancer.\n\n\u003e **NOTE:** One Classic and Internet load balancer, its master slave server group can add Classic and VPC ECS instances.\n\n\u003e **NOTE:** One Classic and Intranet load balancer, its master slave server group can only add Classic ECS instances.\n\n\u003e **NOTE:** One VPC load balancer, its master slave server group can only add the same VPC ECS instances.\n\n\u003e **NOTE:** Available since v1.54.0+\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst msServerGroup = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst msServerGroupGetInstanceTypes = msServerGroup.then(msServerGroup =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: msServerGroup.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst image = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst config = new pulumi.Config();\nconst slbMasterSlaveServerGroup = config.get(\"slbMasterSlaveServerGroup\") || \"forSlbMasterSlaveServerGroup\";\nconst main = new alicloud.vpc.Network(\"main\", {\n vpcName: slbMasterSlaveServerGroup,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst mainSwitch = new alicloud.vpc.Switch(\"main\", {\n vpcId: main.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: msServerGroup.then(msServerGroup =\u003e msServerGroup.zones?.[0]?.id),\n vswitchName: slbMasterSlaveServerGroup,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n securityGroupName: slbMasterSlaveServerGroup,\n vpcId: main.id,\n});\nconst msServerGroupInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n msServerGroupInstance.push(new alicloud.ecs.Instance(`ms_server_group-${range.value}`, {\n imageId: image.then(image =\u003e image.images?.[0]?.id),\n instanceType: msServerGroupGetInstanceTypes.then(msServerGroupGetInstanceTypes =\u003e msServerGroupGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: slbMasterSlaveServerGroup,\n securityGroups: [group.id],\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: msServerGroup.then(msServerGroup =\u003e msServerGroup.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: mainSwitch.id,\n }));\n}\nconst msServerGroupApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"ms_server_group\", {\n loadBalancerName: slbMasterSlaveServerGroup,\n vswitchId: mainSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n});\nconst msServerGroupEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"ms_server_group\", {\n networkInterfaceName: slbMasterSlaveServerGroup,\n vswitchId: mainSwitch.id,\n securityGroupIds: [group.id],\n});\nconst msServerGroupEcsNetworkInterfaceAttachment = new alicloud.ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\", {\n instanceId: msServerGroupInstance[0].id,\n networkInterfaceId: msServerGroupEcsNetworkInterface.id,\n});\nconst groupMasterSlaveServerGroup = new alicloud.slb.MasterSlaveServerGroup(\"group\", {\n loadBalancerId: msServerGroupApplicationLoadBalancer.id,\n name: slbMasterSlaveServerGroup,\n servers: [\n {\n serverId: msServerGroupInstance[0].id,\n port: 100,\n weight: 100,\n serverType: \"Master\",\n },\n {\n serverId: msServerGroupInstance[1].id,\n port: 100,\n weight: 100,\n serverType: \"Slave\",\n },\n ],\n});\nconst tcp = new alicloud.slb.Listener(\"tcp\", {\n loadBalancerId: msServerGroupApplicationLoadBalancer.id,\n masterSlaveServerGroupId: groupMasterSlaveServerGroup.id,\n frontendPort: 22,\n protocol: \"tcp\",\n bandwidth: 10,\n healthCheckType: \"tcp\",\n persistenceTimeout: 3600,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx\",\n healthCheckConnectPort: 20,\n healthCheckUri: \"/console\",\n establishedTimeout: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nms_server_group = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\nms_server_group_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=ms_server_group.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\nimage = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nconfig = pulumi.Config()\nslb_master_slave_server_group = config.get(\"slbMasterSlaveServerGroup\")\nif slb_master_slave_server_group is None:\n slb_master_slave_server_group = \"forSlbMasterSlaveServerGroup\"\nmain = alicloud.vpc.Network(\"main\",\n vpc_name=slb_master_slave_server_group,\n cidr_block=\"172.16.0.0/16\")\nmain_switch = alicloud.vpc.Switch(\"main\",\n vpc_id=main.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=ms_server_group.zones[0].id,\n vswitch_name=slb_master_slave_server_group)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n security_group_name=slb_master_slave_server_group,\n vpc_id=main.id)\nms_server_group_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n ms_server_group_instance.append(alicloud.ecs.Instance(f\"ms_server_group-{range['value']}\",\n image_id=image.images[0].id,\n instance_type=ms_server_group_get_instance_types.instance_types[0].id,\n instance_name=slb_master_slave_server_group,\n security_groups=[group.id],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=ms_server_group.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=main_switch.id))\nms_server_group_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"ms_server_group\",\n load_balancer_name=slb_master_slave_server_group,\n vswitch_id=main_switch.id,\n load_balancer_spec=\"slb.s2.small\")\nms_server_group_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"ms_server_group\",\n network_interface_name=slb_master_slave_server_group,\n vswitch_id=main_switch.id,\n security_group_ids=[group.id])\nms_server_group_ecs_network_interface_attachment = alicloud.ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\",\n instance_id=ms_server_group_instance[0].id,\n network_interface_id=ms_server_group_ecs_network_interface.id)\ngroup_master_slave_server_group = alicloud.slb.MasterSlaveServerGroup(\"group\",\n load_balancer_id=ms_server_group_application_load_balancer.id,\n name=slb_master_slave_server_group,\n servers=[\n {\n \"server_id\": ms_server_group_instance[0].id,\n \"port\": 100,\n \"weight\": 100,\n \"server_type\": \"Master\",\n },\n {\n \"server_id\": ms_server_group_instance[1].id,\n \"port\": 100,\n \"weight\": 100,\n \"server_type\": \"Slave\",\n },\n ])\ntcp = alicloud.slb.Listener(\"tcp\",\n load_balancer_id=ms_server_group_application_load_balancer.id,\n master_slave_server_group_id=group_master_slave_server_group.id,\n frontend_port=22,\n protocol=\"tcp\",\n bandwidth=10,\n health_check_type=\"tcp\",\n persistence_timeout=3600,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx\",\n health_check_connect_port=20,\n health_check_uri=\"/console\",\n established_timeout=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var msServerGroup = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var msServerGroupGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var image = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var config = new Config();\n var slbMasterSlaveServerGroup = config.Get(\"slbMasterSlaveServerGroup\") ?? \"forSlbMasterSlaveServerGroup\";\n var main = new AliCloud.Vpc.Network(\"main\", new()\n {\n VpcName = slbMasterSlaveServerGroup,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var mainSwitch = new AliCloud.Vpc.Switch(\"main\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbMasterSlaveServerGroup,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n SecurityGroupName = slbMasterSlaveServerGroup,\n VpcId = main.Id,\n });\n\n var msServerGroupInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n msServerGroupInstance.Add(new AliCloud.Ecs.Instance($\"ms_server_group-{range.Value}\", new()\n {\n ImageId = image.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = msServerGroupGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = slbMasterSlaveServerGroup,\n SecurityGroups = new[]\n {\n @group.Id,\n },\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = mainSwitch.Id,\n }));\n }\n var msServerGroupApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"ms_server_group\", new()\n {\n LoadBalancerName = slbMasterSlaveServerGroup,\n VswitchId = mainSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n });\n\n var msServerGroupEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"ms_server_group\", new()\n {\n NetworkInterfaceName = slbMasterSlaveServerGroup,\n VswitchId = mainSwitch.Id,\n SecurityGroupIds = new[]\n {\n @group.Id,\n },\n });\n\n var msServerGroupEcsNetworkInterfaceAttachment = new AliCloud.Ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\", new()\n {\n InstanceId = msServerGroupInstance[0].Id,\n NetworkInterfaceId = msServerGroupEcsNetworkInterface.Id,\n });\n\n var groupMasterSlaveServerGroup = new AliCloud.Slb.MasterSlaveServerGroup(\"group\", new()\n {\n LoadBalancerId = msServerGroupApplicationLoadBalancer.Id,\n Name = slbMasterSlaveServerGroup,\n Servers = new[]\n {\n new AliCloud.Slb.Inputs.MasterSlaveServerGroupServerArgs\n {\n ServerId = msServerGroupInstance[0].Id,\n Port = 100,\n Weight = 100,\n ServerType = \"Master\",\n },\n new AliCloud.Slb.Inputs.MasterSlaveServerGroupServerArgs\n {\n ServerId = msServerGroupInstance[1].Id,\n Port = 100,\n Weight = 100,\n ServerType = \"Slave\",\n },\n },\n });\n\n var tcp = new AliCloud.Slb.Listener(\"tcp\", new()\n {\n LoadBalancerId = msServerGroupApplicationLoadBalancer.Id,\n MasterSlaveServerGroupId = groupMasterSlaveServerGroup.Id,\n FrontendPort = 22,\n Protocol = \"tcp\",\n Bandwidth = 10,\n HealthCheckType = \"tcp\",\n PersistenceTimeout = 3600,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckConnectPort = 20,\n HealthCheckUri = \"/console\",\n EstablishedTimeout = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmsServerGroup, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsServerGroupGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(msServerGroup.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tslbMasterSlaveServerGroup := \"forSlbMasterSlaveServerGroup\"\n\t\tif param := cfg.Get(\"slbMasterSlaveServerGroup\"); param != \"\" {\n\t\t\tslbMasterSlaveServerGroup = param\n\t\t}\n\t\tmain, err := vpc.NewNetwork(ctx, \"main\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(slbMasterSlaveServerGroup),\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\tmainSwitch, err := vpc.NewSwitch(ctx, \"main\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(msServerGroup.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar msServerGroupInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"ms_server_group-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tImageId: pulumi.String(image.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(msServerGroupGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\tInstanceName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tgroup.ID(),\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tAvailabilityZone: pulumi.String(msServerGroup.Zones[0].Id),\n\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tmsServerGroupInstance = append(msServerGroupInstance, __res)\n\t\t}\n\t\tmsServerGroupApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"ms_server_group\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsServerGroupEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"ms_server_group\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tgroup.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 = ecs.NewEcsNetworkInterfaceAttachment(ctx, \"ms_server_group\", \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\tInstanceId: msServerGroupInstance[0].ID(),\n\t\t\tNetworkInterfaceId: msServerGroupEcsNetworkInterface.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupMasterSlaveServerGroup, err := slb.NewMasterSlaveServerGroup(ctx, \"group\", \u0026slb.MasterSlaveServerGroupArgs{\n\t\t\tLoadBalancerId: msServerGroupApplicationLoadBalancer.ID(),\n\t\t\tName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tServers: slb.MasterSlaveServerGroupServerArray{\n\t\t\t\t\u0026slb.MasterSlaveServerGroupServerArgs{\n\t\t\t\t\tServerId: msServerGroupInstance[0].ID(),\n\t\t\t\t\tPort: pulumi.Int(100),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tServerType: pulumi.String(\"Master\"),\n\t\t\t\t},\n\t\t\t\t\u0026slb.MasterSlaveServerGroupServerArgs{\n\t\t\t\t\tServerId: msServerGroupInstance[1].ID(),\n\t\t\t\t\tPort: pulumi.Int(100),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tServerType: pulumi.String(\"Slave\"),\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 = slb.NewListener(ctx, \"tcp\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: msServerGroupApplicationLoadBalancer.ID(),\n\t\t\tMasterSlaveServerGroupId: groupMasterSlaveServerGroup.ID(),\n\t\t\tFrontendPort: pulumi.Int(22),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tHealthCheckType: pulumi.String(\"tcp\"),\n\t\t\tPersistenceTimeout: pulumi.Int(3600),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthCheckUri: pulumi.String(\"/console\"),\n\t\t\tEstablishedTimeout: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport com.pulumi.alicloud.slb.MasterSlaveServerGroup;\nimport com.pulumi.alicloud.slb.MasterSlaveServerGroupArgs;\nimport com.pulumi.alicloud.slb.inputs.MasterSlaveServerGroupServerArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var msServerGroup = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var msServerGroupGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(msServerGroup.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var image = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var slbMasterSlaveServerGroup = config.get(\"slbMasterSlaveServerGroup\").orElse(\"forSlbMasterSlaveServerGroup\");\n var main = new Network(\"main\", NetworkArgs.builder()\n .vpcName(slbMasterSlaveServerGroup)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var mainSwitch = new Switch(\"mainSwitch\", SwitchArgs.builder()\n .vpcId(main.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(msServerGroup.zones()[0].id())\n .vswitchName(slbMasterSlaveServerGroup)\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .securityGroupName(slbMasterSlaveServerGroup)\n .vpcId(main.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"msServerGroupInstance-\" + i, InstanceArgs.builder()\n .imageId(image.images()[0].id())\n .instanceType(msServerGroupGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(slbMasterSlaveServerGroup)\n .securityGroups(group.id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(msServerGroup.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(mainSwitch.id())\n .build());\n\n \n}\n var msServerGroupApplicationLoadBalancer = new ApplicationLoadBalancer(\"msServerGroupApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbMasterSlaveServerGroup)\n .vswitchId(mainSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .build());\n\n var msServerGroupEcsNetworkInterface = new EcsNetworkInterface(\"msServerGroupEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(slbMasterSlaveServerGroup)\n .vswitchId(mainSwitch.id())\n .securityGroupIds(group.id())\n .build());\n\n var msServerGroupEcsNetworkInterfaceAttachment = new EcsNetworkInterfaceAttachment(\"msServerGroupEcsNetworkInterfaceAttachment\", EcsNetworkInterfaceAttachmentArgs.builder()\n .instanceId(msServerGroupInstance[0].id())\n .networkInterfaceId(msServerGroupEcsNetworkInterface.id())\n .build());\n\n var groupMasterSlaveServerGroup = new MasterSlaveServerGroup(\"groupMasterSlaveServerGroup\", MasterSlaveServerGroupArgs.builder()\n .loadBalancerId(msServerGroupApplicationLoadBalancer.id())\n .name(slbMasterSlaveServerGroup)\n .servers( \n MasterSlaveServerGroupServerArgs.builder()\n .serverId(msServerGroupInstance[0].id())\n .port(100)\n .weight(100)\n .serverType(\"Master\")\n .build(),\n MasterSlaveServerGroupServerArgs.builder()\n .serverId(msServerGroupInstance[1].id())\n .port(100)\n .weight(100)\n .serverType(\"Slave\")\n .build())\n .build());\n\n var tcp = new Listener(\"tcp\", ListenerArgs.builder()\n .loadBalancerId(msServerGroupApplicationLoadBalancer.id())\n .masterSlaveServerGroupId(groupMasterSlaveServerGroup.id())\n .frontendPort(22)\n .protocol(\"tcp\")\n .bandwidth(10)\n .healthCheckType(\"tcp\")\n .persistenceTimeout(3600)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckConnectPort(20)\n .healthCheckUri(\"/console\")\n .establishedTimeout(600)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n slbMasterSlaveServerGroup:\n type: string\n default: forSlbMasterSlaveServerGroup\nresources:\n main:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${slbMasterSlaveServerGroup}\n cidrBlock: 172.16.0.0/16\n mainSwitch:\n type: alicloud:vpc:Switch\n name: main\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${msServerGroup.zones[0].id}\n vswitchName: ${slbMasterSlaveServerGroup}\n group:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: ${slbMasterSlaveServerGroup}\n vpcId: ${main.id}\n msServerGroupInstance:\n type: alicloud:ecs:Instance\n name: ms_server_group\n properties:\n imageId: ${image.images[0].id}\n instanceType: ${msServerGroupGetInstanceTypes.instanceTypes[0].id}\n instanceName: ${slbMasterSlaveServerGroup}\n securityGroups:\n - ${group.id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '10'\n availabilityZone: ${msServerGroup.zones[0].id}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${mainSwitch.id}\n options: {}\n msServerGroupApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: ms_server_group\n properties:\n loadBalancerName: ${slbMasterSlaveServerGroup}\n vswitchId: ${mainSwitch.id}\n loadBalancerSpec: slb.s2.small\n msServerGroupEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: ms_server_group\n properties:\n networkInterfaceName: ${slbMasterSlaveServerGroup}\n vswitchId: ${mainSwitch.id}\n securityGroupIds:\n - ${group.id}\n msServerGroupEcsNetworkInterfaceAttachment:\n type: alicloud:ecs:EcsNetworkInterfaceAttachment\n name: ms_server_group\n properties:\n instanceId: ${msServerGroupInstance[0].id}\n networkInterfaceId: ${msServerGroupEcsNetworkInterface.id}\n groupMasterSlaveServerGroup:\n type: alicloud:slb:MasterSlaveServerGroup\n name: group\n properties:\n loadBalancerId: ${msServerGroupApplicationLoadBalancer.id}\n name: ${slbMasterSlaveServerGroup}\n servers:\n - serverId: ${msServerGroupInstance[0].id}\n port: 100\n weight: 100\n serverType: Master\n - serverId: ${msServerGroupInstance[1].id}\n port: 100\n weight: 100\n serverType: Slave\n tcp:\n type: alicloud:slb:Listener\n properties:\n loadBalancerId: ${msServerGroupApplicationLoadBalancer.id}\n masterSlaveServerGroupId: ${groupMasterSlaveServerGroup.id}\n frontendPort: '22'\n protocol: tcp\n bandwidth: '10'\n healthCheckType: tcp\n persistenceTimeout: 3600\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx\n healthCheckConnectPort: 20\n healthCheckUri: /console\n establishedTimeout: 600\nvariables:\n msServerGroup:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n msServerGroupGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${msServerGroup.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g6\n image:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancer master slave server group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/masterSlaveServerGroup:MasterSlaveServerGroup example abc123456\n```\n\n", + "description": "A master slave server group contains two ECS instances. The master slave server group can help you to define multiple listening dimension.\n\n\u003e **NOTE:** One ECS instance can be added into multiple master slave server groups.\n\n\u003e **NOTE:** One master slave server group can only add two ECS instances, which are master server and slave server.\n\n\u003e **NOTE:** One master slave server group can be attached with tcp/udp listeners in one load balancer.\n\n\u003e **NOTE:** One Classic and Internet load balancer, its master slave server group can add Classic and VPC ECS instances.\n\n\u003e **NOTE:** One Classic and Intranet load balancer, its master slave server group can only add Classic ECS instances.\n\n\u003e **NOTE:** One VPC load balancer, its master slave server group can only add the same VPC ECS instances.\n\n\u003e **NOTE:** Available since v1.54.0+\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst msServerGroup = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst msServerGroupGetInstanceTypes = msServerGroup.then(msServerGroup =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: msServerGroup.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst image = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst config = new pulumi.Config();\nconst slbMasterSlaveServerGroup = config.get(\"slbMasterSlaveServerGroup\") || \"forSlbMasterSlaveServerGroup\";\nconst main = new alicloud.vpc.Network(\"main\", {\n vpcName: slbMasterSlaveServerGroup,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst mainSwitch = new alicloud.vpc.Switch(\"main\", {\n vpcId: main.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: msServerGroup.then(msServerGroup =\u003e msServerGroup.zones?.[0]?.id),\n vswitchName: slbMasterSlaveServerGroup,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n securityGroupName: slbMasterSlaveServerGroup,\n vpcId: main.id,\n});\nconst msServerGroupInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n msServerGroupInstance.push(new alicloud.ecs.Instance(`ms_server_group-${range.value}`, {\n imageId: image.then(image =\u003e image.images?.[0]?.id),\n instanceType: msServerGroupGetInstanceTypes.then(msServerGroupGetInstanceTypes =\u003e msServerGroupGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: slbMasterSlaveServerGroup,\n securityGroups: [group.id],\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: msServerGroup.then(msServerGroup =\u003e msServerGroup.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: mainSwitch.id,\n }));\n}\nconst msServerGroupApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"ms_server_group\", {\n loadBalancerName: slbMasterSlaveServerGroup,\n vswitchId: mainSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n});\nconst msServerGroupEcsNetworkInterface = new alicloud.ecs.EcsNetworkInterface(\"ms_server_group\", {\n networkInterfaceName: slbMasterSlaveServerGroup,\n vswitchId: mainSwitch.id,\n securityGroupIds: [group.id],\n});\nconst msServerGroupEcsNetworkInterfaceAttachment = new alicloud.ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\", {\n instanceId: msServerGroupInstance[0].id,\n networkInterfaceId: msServerGroupEcsNetworkInterface.id,\n});\nconst groupMasterSlaveServerGroup = new alicloud.slb.MasterSlaveServerGroup(\"group\", {\n loadBalancerId: msServerGroupApplicationLoadBalancer.id,\n name: slbMasterSlaveServerGroup,\n servers: [\n {\n serverId: msServerGroupInstance[0].id,\n port: 100,\n weight: 100,\n serverType: \"Master\",\n },\n {\n serverId: msServerGroupInstance[1].id,\n port: 100,\n weight: 100,\n serverType: \"Slave\",\n },\n ],\n});\nconst tcp = new alicloud.slb.Listener(\"tcp\", {\n loadBalancerId: msServerGroupApplicationLoadBalancer.id,\n masterSlaveServerGroupId: groupMasterSlaveServerGroup.id,\n frontendPort: 22,\n protocol: \"tcp\",\n bandwidth: 10,\n healthCheckType: \"tcp\",\n persistenceTimeout: 3600,\n healthyThreshold: 8,\n unhealthyThreshold: 8,\n healthCheckTimeout: 8,\n healthCheckInterval: 5,\n healthCheckHttpCode: \"http_2xx\",\n healthCheckConnectPort: 20,\n healthCheckUri: \"/console\",\n establishedTimeout: 600,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nms_server_group = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\nms_server_group_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=ms_server_group.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\nimage = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nconfig = pulumi.Config()\nslb_master_slave_server_group = config.get(\"slbMasterSlaveServerGroup\")\nif slb_master_slave_server_group is None:\n slb_master_slave_server_group = \"forSlbMasterSlaveServerGroup\"\nmain = alicloud.vpc.Network(\"main\",\n vpc_name=slb_master_slave_server_group,\n cidr_block=\"172.16.0.0/16\")\nmain_switch = alicloud.vpc.Switch(\"main\",\n vpc_id=main.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=ms_server_group.zones[0].id,\n vswitch_name=slb_master_slave_server_group)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n security_group_name=slb_master_slave_server_group,\n vpc_id=main.id)\nms_server_group_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n ms_server_group_instance.append(alicloud.ecs.Instance(f\"ms_server_group-{range['value']}\",\n image_id=image.images[0].id,\n instance_type=ms_server_group_get_instance_types.instance_types[0].id,\n instance_name=slb_master_slave_server_group,\n security_groups=[group.id],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=ms_server_group.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=main_switch.id))\nms_server_group_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"ms_server_group\",\n load_balancer_name=slb_master_slave_server_group,\n vswitch_id=main_switch.id,\n load_balancer_spec=\"slb.s2.small\")\nms_server_group_ecs_network_interface = alicloud.ecs.EcsNetworkInterface(\"ms_server_group\",\n network_interface_name=slb_master_slave_server_group,\n vswitch_id=main_switch.id,\n security_group_ids=[group.id])\nms_server_group_ecs_network_interface_attachment = alicloud.ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\",\n instance_id=ms_server_group_instance[0].id,\n network_interface_id=ms_server_group_ecs_network_interface.id)\ngroup_master_slave_server_group = alicloud.slb.MasterSlaveServerGroup(\"group\",\n load_balancer_id=ms_server_group_application_load_balancer.id,\n name=slb_master_slave_server_group,\n servers=[\n {\n \"server_id\": ms_server_group_instance[0].id,\n \"port\": 100,\n \"weight\": 100,\n \"server_type\": \"Master\",\n },\n {\n \"server_id\": ms_server_group_instance[1].id,\n \"port\": 100,\n \"weight\": 100,\n \"server_type\": \"Slave\",\n },\n ])\ntcp = alicloud.slb.Listener(\"tcp\",\n load_balancer_id=ms_server_group_application_load_balancer.id,\n master_slave_server_group_id=group_master_slave_server_group.id,\n frontend_port=22,\n protocol=\"tcp\",\n bandwidth=10,\n health_check_type=\"tcp\",\n persistence_timeout=3600,\n healthy_threshold=8,\n unhealthy_threshold=8,\n health_check_timeout=8,\n health_check_interval=5,\n health_check_http_code=\"http_2xx\",\n health_check_connect_port=20,\n health_check_uri=\"/console\",\n established_timeout=600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var msServerGroup = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var msServerGroupGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var image = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var config = new Config();\n var slbMasterSlaveServerGroup = config.Get(\"slbMasterSlaveServerGroup\") ?? \"forSlbMasterSlaveServerGroup\";\n var main = new AliCloud.Vpc.Network(\"main\", new()\n {\n VpcName = slbMasterSlaveServerGroup,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var mainSwitch = new AliCloud.Vpc.Switch(\"main\", new()\n {\n VpcId = main.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbMasterSlaveServerGroup,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n SecurityGroupName = slbMasterSlaveServerGroup,\n VpcId = main.Id,\n });\n\n var msServerGroupInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n msServerGroupInstance.Add(new AliCloud.Ecs.Instance($\"ms_server_group-{range.Value}\", new()\n {\n ImageId = image.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = msServerGroupGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = slbMasterSlaveServerGroup,\n SecurityGroups = new[]\n {\n @group.Id,\n },\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = msServerGroup.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = mainSwitch.Id,\n }));\n }\n var msServerGroupApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"ms_server_group\", new()\n {\n LoadBalancerName = slbMasterSlaveServerGroup,\n VswitchId = mainSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n });\n\n var msServerGroupEcsNetworkInterface = new AliCloud.Ecs.EcsNetworkInterface(\"ms_server_group\", new()\n {\n NetworkInterfaceName = slbMasterSlaveServerGroup,\n VswitchId = mainSwitch.Id,\n SecurityGroupIds = new[]\n {\n @group.Id,\n },\n });\n\n var msServerGroupEcsNetworkInterfaceAttachment = new AliCloud.Ecs.EcsNetworkInterfaceAttachment(\"ms_server_group\", new()\n {\n InstanceId = msServerGroupInstance[0].Id,\n NetworkInterfaceId = msServerGroupEcsNetworkInterface.Id,\n });\n\n var groupMasterSlaveServerGroup = new AliCloud.Slb.MasterSlaveServerGroup(\"group\", new()\n {\n LoadBalancerId = msServerGroupApplicationLoadBalancer.Id,\n Name = slbMasterSlaveServerGroup,\n Servers = new[]\n {\n new AliCloud.Slb.Inputs.MasterSlaveServerGroupServerArgs\n {\n ServerId = msServerGroupInstance[0].Id,\n Port = 100,\n Weight = 100,\n ServerType = \"Master\",\n },\n new AliCloud.Slb.Inputs.MasterSlaveServerGroupServerArgs\n {\n ServerId = msServerGroupInstance[1].Id,\n Port = 100,\n Weight = 100,\n ServerType = \"Slave\",\n },\n },\n });\n\n var tcp = new AliCloud.Slb.Listener(\"tcp\", new()\n {\n LoadBalancerId = msServerGroupApplicationLoadBalancer.Id,\n MasterSlaveServerGroupId = groupMasterSlaveServerGroup.Id,\n FrontendPort = 22,\n Protocol = \"tcp\",\n Bandwidth = 10,\n HealthCheckType = \"tcp\",\n PersistenceTimeout = 3600,\n HealthyThreshold = 8,\n UnhealthyThreshold = 8,\n HealthCheckTimeout = 8,\n HealthCheckInterval = 5,\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckConnectPort = 20,\n HealthCheckUri = \"/console\",\n EstablishedTimeout = 600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmsServerGroup, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsServerGroupGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(msServerGroup.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tMemorySize: pulumi.Float64Ref(8),\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tslbMasterSlaveServerGroup := \"forSlbMasterSlaveServerGroup\"\n\t\tif param := cfg.Get(\"slbMasterSlaveServerGroup\"); param != \"\" {\n\t\t\tslbMasterSlaveServerGroup = param\n\t\t}\n\t\tmain, err := vpc.NewNetwork(ctx, \"main\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(slbMasterSlaveServerGroup),\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\tmainSwitch, err := vpc.NewSwitch(ctx, \"main\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: main.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(msServerGroup.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tSecurityGroupName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVpcId: main.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar msServerGroupInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"ms_server_group-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tImageId: pulumi.String(image.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(msServerGroupGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\t\tInstanceName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tgroup.ID(),\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tAvailabilityZone: pulumi.String(msServerGroup.Zones[0].Id),\n\t\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tmsServerGroupInstance = append(msServerGroupInstance, __res)\n\t\t}\n\t\tmsServerGroupApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"ms_server_group\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsServerGroupEcsNetworkInterface, err := ecs.NewEcsNetworkInterface(ctx, \"ms_server_group\", \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tVswitchId: mainSwitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tgroup.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 = ecs.NewEcsNetworkInterfaceAttachment(ctx, \"ms_server_group\", \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\tInstanceId: msServerGroupInstance[0].ID(),\n\t\t\tNetworkInterfaceId: msServerGroupEcsNetworkInterface.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupMasterSlaveServerGroup, err := slb.NewMasterSlaveServerGroup(ctx, \"group\", \u0026slb.MasterSlaveServerGroupArgs{\n\t\t\tLoadBalancerId: msServerGroupApplicationLoadBalancer.ID(),\n\t\t\tName: pulumi.String(slbMasterSlaveServerGroup),\n\t\t\tServers: slb.MasterSlaveServerGroupServerArray{\n\t\t\t\t\u0026slb.MasterSlaveServerGroupServerArgs{\n\t\t\t\t\tServerId: msServerGroupInstance[0].ID(),\n\t\t\t\t\tPort: pulumi.Int(100),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tServerType: pulumi.String(\"Master\"),\n\t\t\t\t},\n\t\t\t\t\u0026slb.MasterSlaveServerGroupServerArgs{\n\t\t\t\t\tServerId: msServerGroupInstance[1].ID(),\n\t\t\t\t\tPort: pulumi.Int(100),\n\t\t\t\t\tWeight: pulumi.Int(100),\n\t\t\t\t\tServerType: pulumi.String(\"Slave\"),\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 = slb.NewListener(ctx, \"tcp\", \u0026slb.ListenerArgs{\n\t\t\tLoadBalancerId: msServerGroupApplicationLoadBalancer.ID(),\n\t\t\tMasterSlaveServerGroupId: groupMasterSlaveServerGroup.ID(),\n\t\t\tFrontendPort: pulumi.Int(22),\n\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tHealthCheckType: pulumi.String(\"tcp\"),\n\t\t\tPersistenceTimeout: pulumi.Int(3600),\n\t\t\tHealthyThreshold: pulumi.Int(8),\n\t\t\tUnhealthyThreshold: pulumi.Int(8),\n\t\t\tHealthCheckTimeout: pulumi.Int(8),\n\t\t\tHealthCheckInterval: pulumi.Int(5),\n\t\t\tHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\n\t\t\tHealthCheckConnectPort: pulumi.Int(20),\n\t\t\tHealthCheckUri: pulumi.String(\"/console\"),\n\t\t\tEstablishedTimeout: pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport com.pulumi.alicloud.slb.MasterSlaveServerGroup;\nimport com.pulumi.alicloud.slb.MasterSlaveServerGroupArgs;\nimport com.pulumi.alicloud.slb.inputs.MasterSlaveServerGroupServerArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var msServerGroup = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var msServerGroupGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(msServerGroup.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n final var image = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var slbMasterSlaveServerGroup = config.get(\"slbMasterSlaveServerGroup\").orElse(\"forSlbMasterSlaveServerGroup\");\n var main = new Network(\"main\", NetworkArgs.builder()\n .vpcName(slbMasterSlaveServerGroup)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var mainSwitch = new Switch(\"mainSwitch\", SwitchArgs.builder()\n .vpcId(main.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(msServerGroup.zones()[0].id())\n .vswitchName(slbMasterSlaveServerGroup)\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .securityGroupName(slbMasterSlaveServerGroup)\n .vpcId(main.id())\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"msServerGroupInstance-\" + i, InstanceArgs.builder()\n .imageId(image.images()[0].id())\n .instanceType(msServerGroupGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(slbMasterSlaveServerGroup)\n .securityGroups(group.id())\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(msServerGroup.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(mainSwitch.id())\n .build());\n\n \n}\n var msServerGroupApplicationLoadBalancer = new ApplicationLoadBalancer(\"msServerGroupApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbMasterSlaveServerGroup)\n .vswitchId(mainSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .build());\n\n var msServerGroupEcsNetworkInterface = new EcsNetworkInterface(\"msServerGroupEcsNetworkInterface\", EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(slbMasterSlaveServerGroup)\n .vswitchId(mainSwitch.id())\n .securityGroupIds(group.id())\n .build());\n\n var msServerGroupEcsNetworkInterfaceAttachment = new EcsNetworkInterfaceAttachment(\"msServerGroupEcsNetworkInterfaceAttachment\", EcsNetworkInterfaceAttachmentArgs.builder()\n .instanceId(msServerGroupInstance[0].id())\n .networkInterfaceId(msServerGroupEcsNetworkInterface.id())\n .build());\n\n var groupMasterSlaveServerGroup = new MasterSlaveServerGroup(\"groupMasterSlaveServerGroup\", MasterSlaveServerGroupArgs.builder()\n .loadBalancerId(msServerGroupApplicationLoadBalancer.id())\n .name(slbMasterSlaveServerGroup)\n .servers( \n MasterSlaveServerGroupServerArgs.builder()\n .serverId(msServerGroupInstance[0].id())\n .port(100)\n .weight(100)\n .serverType(\"Master\")\n .build(),\n MasterSlaveServerGroupServerArgs.builder()\n .serverId(msServerGroupInstance[1].id())\n .port(100)\n .weight(100)\n .serverType(\"Slave\")\n .build())\n .build());\n\n var tcp = new Listener(\"tcp\", ListenerArgs.builder()\n .loadBalancerId(msServerGroupApplicationLoadBalancer.id())\n .masterSlaveServerGroupId(groupMasterSlaveServerGroup.id())\n .frontendPort(22)\n .protocol(\"tcp\")\n .bandwidth(10)\n .healthCheckType(\"tcp\")\n .persistenceTimeout(3600)\n .healthyThreshold(8)\n .unhealthyThreshold(8)\n .healthCheckTimeout(8)\n .healthCheckInterval(5)\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckConnectPort(20)\n .healthCheckUri(\"/console\")\n .establishedTimeout(600)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n slbMasterSlaveServerGroup:\n type: string\n default: forSlbMasterSlaveServerGroup\nresources:\n main:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${slbMasterSlaveServerGroup}\n cidrBlock: 172.16.0.0/16\n mainSwitch:\n type: alicloud:vpc:Switch\n name: main\n properties:\n vpcId: ${main.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${msServerGroup.zones[0].id}\n vswitchName: ${slbMasterSlaveServerGroup}\n group:\n type: alicloud:ecs:SecurityGroup\n properties:\n securityGroupName: ${slbMasterSlaveServerGroup}\n vpcId: ${main.id}\n msServerGroupInstance:\n type: alicloud:ecs:Instance\n name: ms_server_group\n properties:\n imageId: ${image.images[0].id}\n instanceType: ${msServerGroupGetInstanceTypes.instanceTypes[0].id}\n instanceName: ${slbMasterSlaveServerGroup}\n securityGroups:\n - ${group.id}\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: '10'\n availabilityZone: ${msServerGroup.zones[0].id}\n instanceChargeType: PostPaid\n systemDiskCategory: cloud_efficiency\n vswitchId: ${mainSwitch.id}\n options: {}\n msServerGroupApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: ms_server_group\n properties:\n loadBalancerName: ${slbMasterSlaveServerGroup}\n vswitchId: ${mainSwitch.id}\n loadBalancerSpec: slb.s2.small\n msServerGroupEcsNetworkInterface:\n type: alicloud:ecs:EcsNetworkInterface\n name: ms_server_group\n properties:\n networkInterfaceName: ${slbMasterSlaveServerGroup}\n vswitchId: ${mainSwitch.id}\n securityGroupIds:\n - ${group.id}\n msServerGroupEcsNetworkInterfaceAttachment:\n type: alicloud:ecs:EcsNetworkInterfaceAttachment\n name: ms_server_group\n properties:\n instanceId: ${msServerGroupInstance[0].id}\n networkInterfaceId: ${msServerGroupEcsNetworkInterface.id}\n groupMasterSlaveServerGroup:\n type: alicloud:slb:MasterSlaveServerGroup\n name: group\n properties:\n loadBalancerId: ${msServerGroupApplicationLoadBalancer.id}\n name: ${slbMasterSlaveServerGroup}\n servers:\n - serverId: ${msServerGroupInstance[0].id}\n port: 100\n weight: 100\n serverType: Master\n - serverId: ${msServerGroupInstance[1].id}\n port: 100\n weight: 100\n serverType: Slave\n tcp:\n type: alicloud:slb:Listener\n properties:\n loadBalancerId: ${msServerGroupApplicationLoadBalancer.id}\n masterSlaveServerGroupId: ${groupMasterSlaveServerGroup.id}\n frontendPort: '22'\n protocol: tcp\n bandwidth: '10'\n healthCheckType: tcp\n persistenceTimeout: 3600\n healthyThreshold: 8\n unhealthyThreshold: 8\n healthCheckTimeout: 8\n healthCheckInterval: 5\n healthCheckHttpCode: http_2xx\n healthCheckConnectPort: 20\n healthCheckUri: /console\n establishedTimeout: 600\nvariables:\n msServerGroup:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableDiskCategory: cloud_efficiency\n availableResourceCreation: VSwitch\n msServerGroupGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${msServerGroup.zones[0].id}\n cpuCoreCount: 2\n memorySize: 8\n instanceTypeFamily: ecs.g6\n image:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad balancer master slave server group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/masterSlaveServerGroup:MasterSlaveServerGroup example abc123456\n```\n\n", "properties": { "deleteProtectionValidation": { "type": "boolean", @@ -252658,7 +258336,7 @@ } }, "alicloud:slb/rule:Rule": { - "description": "Provides a Lindorm Instance resource.\n\nFor information about Load Balancer Forwarding Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-dir-forwarding-rules).\n\n\u003e **NOTE:** Available since v1.6.0.\n\nA forwarding rule is configured in `HTTP`/`HTTPS` listener and it used to listen a list of backend servers which in one specified virtual backend server group.\nYou can add forwarding rules to a listener to forward requests based on the domain names or the URL in the request.\n\n\u003e **NOTE:** One virtual backend server group can be attached in multiple forwarding rules.\n\n\u003e **NOTE:** At least one \"Domain\" or \"Url\" must be specified when creating a new rule.\n\n\u003e **NOTE:** Having the same 'Domain' and 'Url' rule can not be created repeatedly in the one listener.\n\n\u003e **NOTE:** Rule only be created in the `HTTP` or `HTTPS` listener.\n\n\u003e **NOTE:** Only rule's virtual server group can be modified.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst slbRuleName = config.get(\"slbRuleName\") || \"terraform-example\";\nconst rule = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst ruleGetInstanceTypes = rule.then(rule =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: rule.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst ruleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst ruleNetwork = new alicloud.vpc.Network(\"rule\", {\n vpcName: slbRuleName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst ruleSwitch = new alicloud.vpc.Switch(\"rule\", {\n vpcId: ruleNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: rule.then(rule =\u003e rule.zones?.[0]?.id),\n vswitchName: slbRuleName,\n});\nconst ruleSecurityGroup = new alicloud.ecs.SecurityGroup(\"rule\", {\n name: slbRuleName,\n vpcId: ruleNetwork.id,\n});\nconst ruleInstance = new alicloud.ecs.Instance(\"rule\", {\n imageId: ruleGetImages.then(ruleGetImages =\u003e ruleGetImages.images?.[0]?.id),\n instanceType: ruleGetInstanceTypes.then(ruleGetInstanceTypes =\u003e ruleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [ruleSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: rule.then(rule =\u003e rule.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: ruleSwitch.id,\n instanceName: slbRuleName,\n});\nconst ruleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"rule\", {\n loadBalancerName: slbRuleName,\n vswitchId: ruleSwitch.id,\n instanceChargeType: \"PayByCLCU\",\n});\nconst ruleListener = new alicloud.slb.Listener(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n backendPort: 22,\n frontendPort: 22,\n protocol: \"http\",\n bandwidth: 5,\n healthCheckConnectPort: 20,\n});\nconst ruleServerGroup = new alicloud.slb.ServerGroup(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n name: slbRuleName,\n});\nconst ruleRule = new alicloud.slb.Rule(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n frontendPort: ruleListener.frontendPort,\n name: slbRuleName,\n domain: \"*.aliyun.com\",\n url: \"/image\",\n serverGroupId: ruleServerGroup.id,\n cookie: \"23ffsa\",\n cookieTimeout: 100,\n healthCheckHttpCode: \"http_2xx\",\n healthCheckInterval: 10,\n healthCheckUri: \"/test\",\n healthCheckConnectPort: 80,\n healthCheckTimeout: 30,\n healthyThreshold: 3,\n unhealthyThreshold: 5,\n stickySession: \"on\",\n stickySessionType: \"server\",\n listenerSync: \"off\",\n scheduler: \"rr\",\n healthCheckDomain: \"test\",\n healthCheck: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nslb_rule_name = config.get(\"slbRuleName\")\nif slb_rule_name is None:\n slb_rule_name = \"terraform-example\"\nrule = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\nrule_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=rule.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nrule_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nrule_network = alicloud.vpc.Network(\"rule\",\n vpc_name=slb_rule_name,\n cidr_block=\"172.16.0.0/16\")\nrule_switch = alicloud.vpc.Switch(\"rule\",\n vpc_id=rule_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=rule.zones[0].id,\n vswitch_name=slb_rule_name)\nrule_security_group = alicloud.ecs.SecurityGroup(\"rule\",\n name=slb_rule_name,\n vpc_id=rule_network.id)\nrule_instance = alicloud.ecs.Instance(\"rule\",\n image_id=rule_get_images.images[0].id,\n instance_type=rule_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [rule_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=rule.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=rule_switch.id,\n instance_name=slb_rule_name)\nrule_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"rule\",\n load_balancer_name=slb_rule_name,\n vswitch_id=rule_switch.id,\n instance_charge_type=\"PayByCLCU\")\nrule_listener = alicloud.slb.Listener(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n backend_port=22,\n frontend_port=22,\n protocol=\"http\",\n bandwidth=5,\n health_check_connect_port=20)\nrule_server_group = alicloud.slb.ServerGroup(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n name=slb_rule_name)\nrule_rule = alicloud.slb.Rule(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n frontend_port=rule_listener.frontend_port,\n name=slb_rule_name,\n domain=\"*.aliyun.com\",\n url=\"/image\",\n server_group_id=rule_server_group.id,\n cookie=\"23ffsa\",\n cookie_timeout=100,\n health_check_http_code=\"http_2xx\",\n health_check_interval=10,\n health_check_uri=\"/test\",\n health_check_connect_port=80,\n health_check_timeout=30,\n healthy_threshold=3,\n unhealthy_threshold=5,\n sticky_session=\"on\",\n sticky_session_type=\"server\",\n listener_sync=\"off\",\n scheduler=\"rr\",\n health_check_domain=\"test\",\n health_check=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var slbRuleName = config.Get(\"slbRuleName\") ?? \"terraform-example\";\n var rule = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var ruleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var ruleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var ruleNetwork = new AliCloud.Vpc.Network(\"rule\", new()\n {\n VpcName = slbRuleName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var ruleSwitch = new AliCloud.Vpc.Switch(\"rule\", new()\n {\n VpcId = ruleNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbRuleName,\n });\n\n var ruleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"rule\", new()\n {\n Name = slbRuleName,\n VpcId = ruleNetwork.Id,\n });\n\n var ruleInstance = new AliCloud.Ecs.Instance(\"rule\", new()\n {\n ImageId = ruleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = ruleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n ruleSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = ruleSwitch.Id,\n InstanceName = slbRuleName,\n });\n\n var ruleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"rule\", new()\n {\n LoadBalancerName = slbRuleName,\n VswitchId = ruleSwitch.Id,\n InstanceChargeType = \"PayByCLCU\",\n });\n\n var ruleListener = new AliCloud.Slb.Listener(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n BackendPort = 22,\n FrontendPort = 22,\n Protocol = \"http\",\n Bandwidth = 5,\n HealthCheckConnectPort = 20,\n });\n\n var ruleServerGroup = new AliCloud.Slb.ServerGroup(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n Name = slbRuleName,\n });\n\n var ruleRule = new AliCloud.Slb.Rule(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n FrontendPort = ruleListener.FrontendPort,\n Name = slbRuleName,\n Domain = \"*.aliyun.com\",\n Url = \"/image\",\n ServerGroupId = ruleServerGroup.Id,\n Cookie = \"23ffsa\",\n CookieTimeout = 100,\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckInterval = 10,\n HealthCheckUri = \"/test\",\n HealthCheckConnectPort = 80,\n HealthCheckTimeout = 30,\n HealthyThreshold = 3,\n UnhealthyThreshold = 5,\n StickySession = \"on\",\n StickySessionType = \"server\",\n ListenerSync = \"off\",\n Scheduler = \"rr\",\n HealthCheckDomain = \"test\",\n HealthCheck = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nslbRuleName := \"terraform-example\";\nif param := cfg.Get(\"slbRuleName\"); param != \"\"{\nslbRuleName = param\n}\nrule, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\nruleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(rule.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(1),\nMemorySize: pulumi.Float64Ref(2),\n}, nil);\nif err != nil {\nreturn err\n}\nruleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\nruleNetwork, err := vpc.NewNetwork(ctx, \"rule\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(slbRuleName),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\nruleSwitch, err := vpc.NewSwitch(ctx, \"rule\", \u0026vpc.SwitchArgs{\nVpcId: ruleNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\nZoneId: pulumi.String(rule.Zones[0].Id),\nVswitchName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\nruleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"rule\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(slbRuleName),\nVpcId: ruleNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewInstance(ctx, \"rule\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(ruleGetImages.Images[0].Id),\nInstanceType: pulumi.String(ruleGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(rule.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: ruleSwitch.ID(),\nInstanceName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\nruleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"rule\", \u0026slb.ApplicationLoadBalancerArgs{\nLoadBalancerName: pulumi.String(slbRuleName),\nVswitchId: ruleSwitch.ID(),\nInstanceChargeType: pulumi.String(\"PayByCLCU\"),\n})\nif err != nil {\nreturn err\n}\nruleListener, err := slb.NewListener(ctx, \"rule\", \u0026slb.ListenerArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nBackendPort: pulumi.Int(22),\nFrontendPort: pulumi.Int(22),\nProtocol: pulumi.String(\"http\"),\nBandwidth: pulumi.Int(5),\nHealthCheckConnectPort: pulumi.Int(20),\n})\nif err != nil {\nreturn err\n}\nruleServerGroup, err := slb.NewServerGroup(ctx, \"rule\", \u0026slb.ServerGroupArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\n_, err = slb.NewRule(ctx, \"rule\", \u0026slb.RuleArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nFrontendPort: ruleListener.FrontendPort,\nName: pulumi.String(slbRuleName),\nDomain: pulumi.String(\"*.aliyun.com\"),\nUrl: pulumi.String(\"/image\"),\nServerGroupId: ruleServerGroup.ID(),\nCookie: pulumi.String(\"23ffsa\"),\nCookieTimeout: pulumi.Int(100),\nHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\nHealthCheckInterval: pulumi.Int(10),\nHealthCheckUri: pulumi.String(\"/test\"),\nHealthCheckConnectPort: pulumi.Int(80),\nHealthCheckTimeout: pulumi.Int(30),\nHealthyThreshold: pulumi.Int(3),\nUnhealthyThreshold: pulumi.Int(5),\nStickySession: pulumi.String(\"on\"),\nStickySessionType: pulumi.String(\"server\"),\nListenerSync: pulumi.String(\"off\"),\nScheduler: pulumi.String(\"rr\"),\nHealthCheckDomain: pulumi.String(\"test\"),\nHealthCheck: pulumi.String(\"on\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport com.pulumi.alicloud.slb.Rule;\nimport com.pulumi.alicloud.slb.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 slbRuleName = config.get(\"slbRuleName\").orElse(\"terraform-example\");\n final var rule = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var ruleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(rule.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var ruleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var ruleNetwork = new Network(\"ruleNetwork\", NetworkArgs.builder()\n .vpcName(slbRuleName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var ruleSwitch = new Switch(\"ruleSwitch\", SwitchArgs.builder()\n .vpcId(ruleNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(rule.zones()[0].id())\n .vswitchName(slbRuleName)\n .build());\n\n var ruleSecurityGroup = new SecurityGroup(\"ruleSecurityGroup\", SecurityGroupArgs.builder()\n .name(slbRuleName)\n .vpcId(ruleNetwork.id())\n .build());\n\n var ruleInstance = new Instance(\"ruleInstance\", InstanceArgs.builder()\n .imageId(ruleGetImages.images()[0].id())\n .instanceType(ruleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(ruleSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(rule.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(ruleSwitch.id())\n .instanceName(slbRuleName)\n .build());\n\n var ruleApplicationLoadBalancer = new ApplicationLoadBalancer(\"ruleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbRuleName)\n .vswitchId(ruleSwitch.id())\n .instanceChargeType(\"PayByCLCU\")\n .build());\n\n var ruleListener = new Listener(\"ruleListener\", ListenerArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .backendPort(22)\n .frontendPort(22)\n .protocol(\"http\")\n .bandwidth(5)\n .healthCheckConnectPort(20)\n .build());\n\n var ruleServerGroup = new ServerGroup(\"ruleServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .name(slbRuleName)\n .build());\n\n var ruleRule = new Rule(\"ruleRule\", RuleArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .frontendPort(ruleListener.frontendPort())\n .name(slbRuleName)\n .domain(\"*.aliyun.com\")\n .url(\"/image\")\n .serverGroupId(ruleServerGroup.id())\n .cookie(\"23ffsa\")\n .cookieTimeout(100)\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckInterval(10)\n .healthCheckUri(\"/test\")\n .healthCheckConnectPort(80)\n .healthCheckTimeout(30)\n .healthyThreshold(3)\n .unhealthyThreshold(5)\n .stickySession(\"on\")\n .stickySessionType(\"server\")\n .listenerSync(\"off\")\n .scheduler(\"rr\")\n .healthCheckDomain(\"test\")\n .healthCheck(\"on\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad balancer forwarding rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/rule:Rule example \u003cid\u003e\n```\n\n", + "description": "Provides a Lindorm Instance resource.\n\nFor information about Load Balancer Forwarding Rule and how to use it, see [What is Rule](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-dir-forwarding-rules).\n\n\u003e **NOTE:** Available since v1.6.0.\n\nA forwarding rule is configured in `HTTP`/`HTTPS` listener and it used to listen a list of backend servers which in one specified virtual backend server group.\nYou can add forwarding rules to a listener to forward requests based on the domain names or the URL in the request.\n\n\u003e **NOTE:** One virtual backend server group can be attached in multiple forwarding rules.\n\n\u003e **NOTE:** At least one \"Domain\" or \"Url\" must be specified when creating a new rule.\n\n\u003e **NOTE:** Having the same 'Domain' and 'Url' rule can not be created repeatedly in the one listener.\n\n\u003e **NOTE:** Rule only be created in the `HTTP` or `HTTPS` listener.\n\n\u003e **NOTE:** Only rule's virtual server group can be modified.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst slbRuleName = config.get(\"slbRuleName\") || \"terraform-example\";\nconst rule = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst ruleGetInstanceTypes = rule.then(rule =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: rule.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst ruleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst ruleNetwork = new alicloud.vpc.Network(\"rule\", {\n vpcName: slbRuleName,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst ruleSwitch = new alicloud.vpc.Switch(\"rule\", {\n vpcId: ruleNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: rule.then(rule =\u003e rule.zones?.[0]?.id),\n vswitchName: slbRuleName,\n});\nconst ruleSecurityGroup = new alicloud.ecs.SecurityGroup(\"rule\", {\n name: slbRuleName,\n vpcId: ruleNetwork.id,\n});\nconst ruleInstance = new alicloud.ecs.Instance(\"rule\", {\n imageId: ruleGetImages.then(ruleGetImages =\u003e ruleGetImages.images?.[0]?.id),\n instanceType: ruleGetInstanceTypes.then(ruleGetInstanceTypes =\u003e ruleGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [ruleSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: rule.then(rule =\u003e rule.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: ruleSwitch.id,\n instanceName: slbRuleName,\n});\nconst ruleApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"rule\", {\n loadBalancerName: slbRuleName,\n vswitchId: ruleSwitch.id,\n instanceChargeType: \"PayByCLCU\",\n});\nconst ruleListener = new alicloud.slb.Listener(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n backendPort: 22,\n frontendPort: 22,\n protocol: \"http\",\n bandwidth: 5,\n healthCheckConnectPort: 20,\n});\nconst ruleServerGroup = new alicloud.slb.ServerGroup(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n name: slbRuleName,\n});\nconst ruleRule = new alicloud.slb.Rule(\"rule\", {\n loadBalancerId: ruleApplicationLoadBalancer.id,\n frontendPort: ruleListener.frontendPort,\n name: slbRuleName,\n domain: \"*.aliyun.com\",\n url: \"/image\",\n serverGroupId: ruleServerGroup.id,\n cookie: \"23ffsa\",\n cookieTimeout: 100,\n healthCheckHttpCode: \"http_2xx\",\n healthCheckInterval: 10,\n healthCheckUri: \"/test\",\n healthCheckConnectPort: 80,\n healthCheckTimeout: 30,\n healthyThreshold: 3,\n unhealthyThreshold: 5,\n stickySession: \"on\",\n stickySessionType: \"server\",\n listenerSync: \"off\",\n scheduler: \"rr\",\n healthCheckDomain: \"test\",\n healthCheck: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nslb_rule_name = config.get(\"slbRuleName\")\nif slb_rule_name is None:\n slb_rule_name = \"terraform-example\"\nrule = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\nrule_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=rule.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nrule_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nrule_network = alicloud.vpc.Network(\"rule\",\n vpc_name=slb_rule_name,\n cidr_block=\"172.16.0.0/16\")\nrule_switch = alicloud.vpc.Switch(\"rule\",\n vpc_id=rule_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=rule.zones[0].id,\n vswitch_name=slb_rule_name)\nrule_security_group = alicloud.ecs.SecurityGroup(\"rule\",\n name=slb_rule_name,\n vpc_id=rule_network.id)\nrule_instance = alicloud.ecs.Instance(\"rule\",\n image_id=rule_get_images.images[0].id,\n instance_type=rule_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [rule_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=rule.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=rule_switch.id,\n instance_name=slb_rule_name)\nrule_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"rule\",\n load_balancer_name=slb_rule_name,\n vswitch_id=rule_switch.id,\n instance_charge_type=\"PayByCLCU\")\nrule_listener = alicloud.slb.Listener(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n backend_port=22,\n frontend_port=22,\n protocol=\"http\",\n bandwidth=5,\n health_check_connect_port=20)\nrule_server_group = alicloud.slb.ServerGroup(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n name=slb_rule_name)\nrule_rule = alicloud.slb.Rule(\"rule\",\n load_balancer_id=rule_application_load_balancer.id,\n frontend_port=rule_listener.frontend_port,\n name=slb_rule_name,\n domain=\"*.aliyun.com\",\n url=\"/image\",\n server_group_id=rule_server_group.id,\n cookie=\"23ffsa\",\n cookie_timeout=100,\n health_check_http_code=\"http_2xx\",\n health_check_interval=10,\n health_check_uri=\"/test\",\n health_check_connect_port=80,\n health_check_timeout=30,\n healthy_threshold=3,\n unhealthy_threshold=5,\n sticky_session=\"on\",\n sticky_session_type=\"server\",\n listener_sync=\"off\",\n scheduler=\"rr\",\n health_check_domain=\"test\",\n health_check=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var slbRuleName = config.Get(\"slbRuleName\") ?? \"terraform-example\";\n var rule = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var ruleGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var ruleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var ruleNetwork = new AliCloud.Vpc.Network(\"rule\", new()\n {\n VpcName = slbRuleName,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var ruleSwitch = new AliCloud.Vpc.Switch(\"rule\", new()\n {\n VpcId = ruleNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = slbRuleName,\n });\n\n var ruleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"rule\", new()\n {\n Name = slbRuleName,\n VpcId = ruleNetwork.Id,\n });\n\n var ruleInstance = new AliCloud.Ecs.Instance(\"rule\", new()\n {\n ImageId = ruleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = ruleGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n ruleSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = rule.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = ruleSwitch.Id,\n InstanceName = slbRuleName,\n });\n\n var ruleApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"rule\", new()\n {\n LoadBalancerName = slbRuleName,\n VswitchId = ruleSwitch.Id,\n InstanceChargeType = \"PayByCLCU\",\n });\n\n var ruleListener = new AliCloud.Slb.Listener(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n BackendPort = 22,\n FrontendPort = 22,\n Protocol = \"http\",\n Bandwidth = 5,\n HealthCheckConnectPort = 20,\n });\n\n var ruleServerGroup = new AliCloud.Slb.ServerGroup(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n Name = slbRuleName,\n });\n\n var ruleRule = new AliCloud.Slb.Rule(\"rule\", new()\n {\n LoadBalancerId = ruleApplicationLoadBalancer.Id,\n FrontendPort = ruleListener.FrontendPort,\n Name = slbRuleName,\n Domain = \"*.aliyun.com\",\n Url = \"/image\",\n ServerGroupId = ruleServerGroup.Id,\n Cookie = \"23ffsa\",\n CookieTimeout = 100,\n HealthCheckHttpCode = \"http_2xx\",\n HealthCheckInterval = 10,\n HealthCheckUri = \"/test\",\n HealthCheckConnectPort = 80,\n HealthCheckTimeout = 30,\n HealthyThreshold = 3,\n UnhealthyThreshold = 5,\n StickySession = \"on\",\n StickySessionType = \"server\",\n ListenerSync = \"off\",\n Scheduler = \"rr\",\n HealthCheckDomain = \"test\",\n HealthCheck = \"on\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nslbRuleName := \"terraform-example\";\nif param := cfg.Get(\"slbRuleName\"); param != \"\"{\nslbRuleName = param\n}\nrule, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\nruleGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(rule.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(1),\nMemorySize: pulumi.Float64Ref(2),\n}, nil);\nif err != nil {\nreturn err\n}\nruleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\nruleNetwork, err := vpc.NewNetwork(ctx, \"rule\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(slbRuleName),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\nruleSwitch, err := vpc.NewSwitch(ctx, \"rule\", \u0026vpc.SwitchArgs{\nVpcId: ruleNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/16\"),\nZoneId: pulumi.String(rule.Zones[0].Id),\nVswitchName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\nruleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"rule\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(slbRuleName),\nVpcId: ruleNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ecs.NewInstance(ctx, \"rule\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(ruleGetImages.Images[0].Id),\nInstanceType: pulumi.String(ruleGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(rule.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: ruleSwitch.ID(),\nInstanceName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\nruleApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"rule\", \u0026slb.ApplicationLoadBalancerArgs{\nLoadBalancerName: pulumi.String(slbRuleName),\nVswitchId: ruleSwitch.ID(),\nInstanceChargeType: pulumi.String(\"PayByCLCU\"),\n})\nif err != nil {\nreturn err\n}\nruleListener, err := slb.NewListener(ctx, \"rule\", \u0026slb.ListenerArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nBackendPort: pulumi.Int(22),\nFrontendPort: pulumi.Int(22),\nProtocol: pulumi.String(\"http\"),\nBandwidth: pulumi.Int(5),\nHealthCheckConnectPort: pulumi.Int(20),\n})\nif err != nil {\nreturn err\n}\nruleServerGroup, err := slb.NewServerGroup(ctx, \"rule\", \u0026slb.ServerGroupArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nName: pulumi.String(slbRuleName),\n})\nif err != nil {\nreturn err\n}\n_, err = slb.NewRule(ctx, \"rule\", \u0026slb.RuleArgs{\nLoadBalancerId: ruleApplicationLoadBalancer.ID(),\nFrontendPort: ruleListener.FrontendPort,\nName: pulumi.String(slbRuleName),\nDomain: pulumi.String(\"*.aliyun.com\"),\nUrl: pulumi.String(\"/image\"),\nServerGroupId: ruleServerGroup.ID(),\nCookie: pulumi.String(\"23ffsa\"),\nCookieTimeout: pulumi.Int(100),\nHealthCheckHttpCode: pulumi.String(\"http_2xx\"),\nHealthCheckInterval: pulumi.Int(10),\nHealthCheckUri: pulumi.String(\"/test\"),\nHealthCheckConnectPort: pulumi.Int(80),\nHealthCheckTimeout: pulumi.Int(30),\nHealthyThreshold: pulumi.Int(3),\nUnhealthyThreshold: pulumi.Int(5),\nStickySession: pulumi.String(\"on\"),\nStickySessionType: pulumi.String(\"server\"),\nListenerSync: pulumi.String(\"off\"),\nScheduler: pulumi.String(\"rr\"),\nHealthCheckDomain: pulumi.String(\"test\"),\nHealthCheck: pulumi.String(\"on\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.Listener;\nimport com.pulumi.alicloud.slb.ListenerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport com.pulumi.alicloud.slb.Rule;\nimport com.pulumi.alicloud.slb.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 slbRuleName = config.get(\"slbRuleName\").orElse(\"terraform-example\");\n final var rule = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var ruleGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(rule.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var ruleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var ruleNetwork = new Network(\"ruleNetwork\", NetworkArgs.builder()\n .vpcName(slbRuleName)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var ruleSwitch = new Switch(\"ruleSwitch\", SwitchArgs.builder()\n .vpcId(ruleNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(rule.zones()[0].id())\n .vswitchName(slbRuleName)\n .build());\n\n var ruleSecurityGroup = new SecurityGroup(\"ruleSecurityGroup\", SecurityGroupArgs.builder()\n .name(slbRuleName)\n .vpcId(ruleNetwork.id())\n .build());\n\n var ruleInstance = new Instance(\"ruleInstance\", InstanceArgs.builder()\n .imageId(ruleGetImages.images()[0].id())\n .instanceType(ruleGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(ruleSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(rule.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(ruleSwitch.id())\n .instanceName(slbRuleName)\n .build());\n\n var ruleApplicationLoadBalancer = new ApplicationLoadBalancer(\"ruleApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(slbRuleName)\n .vswitchId(ruleSwitch.id())\n .instanceChargeType(\"PayByCLCU\")\n .build());\n\n var ruleListener = new Listener(\"ruleListener\", ListenerArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .backendPort(22)\n .frontendPort(22)\n .protocol(\"http\")\n .bandwidth(5)\n .healthCheckConnectPort(20)\n .build());\n\n var ruleServerGroup = new ServerGroup(\"ruleServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .name(slbRuleName)\n .build());\n\n var ruleRule = new Rule(\"ruleRule\", RuleArgs.builder()\n .loadBalancerId(ruleApplicationLoadBalancer.id())\n .frontendPort(ruleListener.frontendPort())\n .name(slbRuleName)\n .domain(\"*.aliyun.com\")\n .url(\"/image\")\n .serverGroupId(ruleServerGroup.id())\n .cookie(\"23ffsa\")\n .cookieTimeout(100)\n .healthCheckHttpCode(\"http_2xx\")\n .healthCheckInterval(10)\n .healthCheckUri(\"/test\")\n .healthCheckConnectPort(80)\n .healthCheckTimeout(30)\n .healthyThreshold(3)\n .unhealthyThreshold(5)\n .stickySession(\"on\")\n .stickySessionType(\"server\")\n .listenerSync(\"off\")\n .scheduler(\"rr\")\n .healthCheckDomain(\"test\")\n .healthCheck(\"on\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad balancer forwarding rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/rule:Rule example \u003cid\u003e\n```\n\n", "properties": { "cookie": { "type": "string", @@ -253132,7 +258810,7 @@ } }, "alicloud:slb/serverGroup:ServerGroup": { - "description": "Provides a Load Balancer Virtual Backend Server Group resource.\n\nFor information about Load Balancer Virtual Backend Server Group and how to use it, see [What is Virtual Backend Server Group](https://www.alibabacloud.com/help/en/doc-detail/35215.html).\n\n\u003e **NOTE:** Available since v1.6.0.\n\n\u003e **NOTE:** One ECS instance can be added into multiple virtual server groups.\n\n\u003e **NOTE:** One virtual server group can be attached with multiple listeners in one load balancer.\n\n\u003e **NOTE:** One Classic and Internet load balancer, its virtual server group can add Classic and VPC ECS instances.\n\n\u003e **NOTE:** One Classic and Intranet load balancer, its virtual server group can only add Classic ECS instances.\n\n\u003e **NOTE:** One VPC load balancer, its virtual server group can only add the same VPC ECS instances.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n});\nconst defaultServerGroup = new alicloud.slb.ServerGroup(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\")\ndefault_server_group = alicloud.slb.ServerGroup(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n });\n\n var defaultServerGroup = new AliCloud.Slb.ServerGroup(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewServerGroup(ctx, \"default\", \u0026slb.ServerGroupArgs{\n\t\t\tLoadBalancerId: defaultApplicationLoadBalancer.ID(),\n\t\t\tName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n defaultServerGroup:\n type: alicloud:slb:ServerGroup\n name: default\n properties:\n loadBalancerId: ${defaultApplicationLoadBalancer.id}\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Virtual Backend Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Load Balancer Virtual Backend Server Group resource.\n\nFor information about Load Balancer Virtual Backend Server Group and how to use it, see [What is Virtual Backend Server Group](https://www.alibabacloud.com/help/en/doc-detail/35215.html).\n\n\u003e **NOTE:** Available since v1.6.0.\n\n\u003e **NOTE:** One ECS instance can be added into multiple virtual server groups.\n\n\u003e **NOTE:** One virtual server group can be attached with multiple listeners in one load balancer.\n\n\u003e **NOTE:** One Classic and Internet load balancer, its virtual server group can add Classic and VPC ECS instances.\n\n\u003e **NOTE:** One Classic and Intranet load balancer, its virtual server group can only add Classic ECS instances.\n\n\u003e **NOTE:** One VPC load balancer, its virtual server group can only add the same VPC ECS instances.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/16\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n});\nconst defaultServerGroup = new alicloud.slb.ServerGroup(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/16\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\")\ndefault_server_group = alicloud.slb.ServerGroup(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/16\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n });\n\n var defaultServerGroup = new AliCloud.Slb.ServerGroup(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\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\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\n\t\t\tLoadBalancerName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = slb.NewServerGroup(ctx, \"default\", \u0026slb.ServerGroupArgs{\n\t\t\tLoadBalancerId: defaultApplicationLoadBalancer.ID(),\n\t\t\tName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/16\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/16\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultApplicationLoadBalancer:\n type: alicloud:slb:ApplicationLoadBalancer\n name: default\n properties:\n loadBalancerName: ${name}\n vswitchId: ${defaultSwitch.id}\n loadBalancerSpec: slb.s2.small\n defaultServerGroup:\n type: alicloud:slb:ServerGroup\n name: default\n properties:\n loadBalancerId: ${defaultApplicationLoadBalancer.id}\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad Balancer Virtual Backend Server Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/serverGroup:ServerGroup example \u003cid\u003e\n```\n\n", "properties": { "deleteProtectionValidation": { "type": "boolean", @@ -253236,7 +258914,7 @@ } }, "alicloud:slb/serverGroupServerAttachment:ServerGroupServerAttachment": { - "description": "Provides a Load Balancer Virtual Backend Server Group Server Attachment resource.\n\n\u003e **NOTE:** Available since v1.163.0.\n\nFor information about Load Balancer Virtual Backend Server Group Server Attachment and how to use it, see [What is Virtual Backend Server Group Server Attachment](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-addvservergroupbackendservers).\n\n\u003e **NOTE:** Applying this resource may conflict with applying \u003cspan pulumi-lang-nodejs=\"`alicloud.slb.Listener`\" pulumi-lang-dotnet=\"`alicloud.slb.Listener`\" pulumi-lang-go=\"`slb.Listener`\" pulumi-lang-python=\"`slb.Listener`\" pulumi-lang-yaml=\"`alicloud.slb.Listener`\" pulumi-lang-java=\"`alicloud.slb.Listener`\"\u003e`alicloud.slb.Listener`\u003c/span\u003e, \nand the \u003cspan pulumi-lang-nodejs=\"`alicloud.slb.Listener`\" pulumi-lang-dotnet=\"`alicloud.slb.Listener`\" pulumi-lang-go=\"`slb.Listener`\" pulumi-lang-python=\"`slb.Listener`\" pulumi-lang-yaml=\"`alicloud.slb.Listener`\" pulumi-lang-java=\"`alicloud.slb.Listener`\"\u003e`alicloud.slb.Listener`\u003c/span\u003e block should use \u003cspan pulumi-lang-nodejs=\"`dependsOn \" pulumi-lang-dotnet=\"`DependsOn \" pulumi-lang-go=\"`dependsOn \" pulumi-lang-python=\"`depends_on \" pulumi-lang-yaml=\"`dependsOn \" pulumi-lang-java=\"`dependsOn \"\u003e`depends_on \u003c/span\u003e= [alicloud_slb_server_group_server_attachment.xxx]` to avoid it.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.slb.getZones({\n availableSlbAddressType: \"vpc\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultServerGroup = new alicloud.slb.ServerGroup(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n name: name,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst serverAttachment = new alicloud.slb.ServerGroupServerAttachment(\"server_attachment\", {\n serverGroupId: defaultServerGroup.id,\n serverId: defaultInstance.id,\n port: 8080,\n type: \"ecs\",\n weight: 0,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.slb.get_zones(available_slb_address_type=\"vpc\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_server_group = alicloud.slb.ServerGroup(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n name=name)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\nserver_attachment = alicloud.slb.ServerGroupServerAttachment(\"server_attachment\",\n server_group_id=default_server_group.id,\n server_id=default_instance.id,\n port=8080,\n type=\"ecs\",\n weight=0,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Slb.GetZones.Invoke(new()\n {\n AvailableSlbAddressType = \"vpc\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultServerGroup = new AliCloud.Slb.ServerGroup(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n Name = name,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var serverAttachment = new AliCloud.Slb.ServerGroupServerAttachment(\"server_attachment\", new()\n {\n ServerGroupId = defaultServerGroup.Id,\n ServerId = defaultInstance.Id,\n Port = 8080,\n Type = \"ecs\",\n Weight = 0,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := slb.GetZones(ctx, \u0026slb.GetZonesArgs{\nAvailableSlbAddressType: pulumi.StringRef(\"vpc\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\nLoadBalancerName: pulumi.String(name),\nVswitchId: defaultSwitch.ID(),\nLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\nAddressType: pulumi.String(\"intranet\"),\n})\nif err != nil {\nreturn err\n}\ndefaultServerGroup, err := slb.NewServerGroup(ctx, \"default\", \u0026slb.ServerGroupArgs{\nLoadBalancerId: defaultApplicationLoadBalancer.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = slb.NewServerGroupServerAttachment(ctx, \"server_attachment\", \u0026slb.ServerGroupServerAttachmentArgs{\nServerGroupId: defaultServerGroup.ID(),\nServerId: defaultInstance.ID(),\nPort: pulumi.Int(8080),\nType: pulumi.String(\"ecs\"),\nWeight: pulumi.Int(0),\nDescription: pulumi.String(name),\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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ServerGroupServerAttachment;\nimport com.pulumi.alicloud.slb.ServerGroupServerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = SlbFunctions.getZones(GetZonesArgs.builder()\n .availableSlbAddressType(\"vpc\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .name(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var serverAttachment = new ServerGroupServerAttachment(\"serverAttachment\", ServerGroupServerAttachmentArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .serverId(defaultInstance.id())\n .port(8080)\n .type(\"ecs\")\n .weight(0)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/serverGroupServerAttachment:ServerGroupServerAttachment example \u003cserver_group_id\u003e:\u003cserver_id\u003e:\u003cport\u003e\n```\n\n", + "description": "Provides a Load Balancer Virtual Backend Server Group Server Attachment resource.\n\n\u003e **NOTE:** Available since v1.163.0.\n\nFor information about Load Balancer Virtual Backend Server Group Server Attachment and how to use it, see [What is Virtual Backend Server Group Server Attachment](https://www.alibabacloud.com/help/en/slb/classic-load-balancer/developer-reference/api-slb-2014-05-15-addvservergroupbackendservers).\n\n\u003e **NOTE:** Applying this resource may conflict with applying \u003cspan pulumi-lang-nodejs=\"`alicloud.slb.Listener`\" pulumi-lang-dotnet=\"`alicloud.slb.Listener`\" pulumi-lang-go=\"`slb.Listener`\" pulumi-lang-python=\"`slb.Listener`\" pulumi-lang-yaml=\"`alicloud.slb.Listener`\" pulumi-lang-java=\"`alicloud.slb.Listener`\"\u003e`alicloud.slb.Listener`\u003c/span\u003e, \nand the \u003cspan pulumi-lang-nodejs=\"`alicloud.slb.Listener`\" pulumi-lang-dotnet=\"`alicloud.slb.Listener`\" pulumi-lang-go=\"`slb.Listener`\" pulumi-lang-python=\"`slb.Listener`\" pulumi-lang-yaml=\"`alicloud.slb.Listener`\" pulumi-lang-java=\"`alicloud.slb.Listener`\"\u003e`alicloud.slb.Listener`\u003c/span\u003e block should use \u003cspan pulumi-lang-nodejs=\"`dependsOn \" pulumi-lang-dotnet=\"`DependsOn \" pulumi-lang-go=\"`dependsOn \" pulumi-lang-python=\"`depends_on \" pulumi-lang-yaml=\"`dependsOn \" pulumi-lang-java=\"`dependsOn \"\u003e`depends_on \u003c/span\u003e= [alicloud_slb_server_group_server_attachment.xxx]` to avoid it.\n\n## Example Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.slb.getZones({\n availableSlbAddressType: \"vpc\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n instanceTypeFamily: \"ecs.sn1ne\",\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultApplicationLoadBalancer = new alicloud.slb.ApplicationLoadBalancer(\"default\", {\n loadBalancerName: name,\n vswitchId: defaultSwitch.id,\n loadBalancerSpec: \"slb.s2.small\",\n addressType: \"intranet\",\n});\nconst defaultServerGroup = new alicloud.slb.ServerGroup(\"default\", {\n loadBalancerId: defaultApplicationLoadBalancer.id,\n name: name,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n instanceName: name,\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n});\nconst serverAttachment = new alicloud.slb.ServerGroupServerAttachment(\"server_attachment\", {\n serverGroupId: defaultServerGroup.id,\n serverId: defaultInstance.id,\n port: 8080,\n type: \"ecs\",\n weight: 0,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.slb.get_zones(available_slb_address_type=\"vpc\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n instance_type_family=\"ecs.sn1ne\")\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_[0-9]+_[0-9]+_x64*\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_application_load_balancer = alicloud.slb.ApplicationLoadBalancer(\"default\",\n load_balancer_name=name,\n vswitch_id=default_switch.id,\n load_balancer_spec=\"slb.s2.small\",\n address_type=\"intranet\")\ndefault_server_group = alicloud.slb.ServerGroup(\"default\",\n load_balancer_id=default_application_load_balancer.id,\n name=name)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n instance_name=name,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default.zones[0].id,\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id)\nserver_attachment = alicloud.slb.ServerGroupServerAttachment(\"server_attachment\",\n server_group_id=default_server_group.id,\n server_id=default_instance.id,\n port=8080,\n type=\"ecs\",\n weight=0,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Slb.GetZones.Invoke(new()\n {\n AvailableSlbAddressType = \"vpc\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceTypeFamily = \"ecs.sn1ne\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_[0-9]+_[0-9]+_x64*\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultApplicationLoadBalancer = new AliCloud.Slb.ApplicationLoadBalancer(\"default\", new()\n {\n LoadBalancerName = name,\n VswitchId = defaultSwitch.Id,\n LoadBalancerSpec = \"slb.s2.small\",\n AddressType = \"intranet\",\n });\n\n var defaultServerGroup = new AliCloud.Slb.ServerGroup(\"default\", new()\n {\n LoadBalancerId = defaultApplicationLoadBalancer.Id,\n Name = name,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n InstanceName = name,\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n });\n\n var serverAttachment = new AliCloud.Slb.ServerGroupServerAttachment(\"server_attachment\", new()\n {\n ServerGroupId = defaultServerGroup.Id,\n ServerId = defaultInstance.Id,\n Port = 8080,\n Type = \"ecs\",\n Weight = 0,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := slb.GetZones(ctx, \u0026slb.GetZonesArgs{\nAvailableSlbAddressType: pulumi.StringRef(\"vpc\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.sn1ne\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_[0-9]+_[0-9]+_x64*\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultApplicationLoadBalancer, err := slb.NewApplicationLoadBalancer(ctx, \"default\", \u0026slb.ApplicationLoadBalancerArgs{\nLoadBalancerName: pulumi.String(name),\nVswitchId: defaultSwitch.ID(),\nLoadBalancerSpec: pulumi.String(\"slb.s2.small\"),\nAddressType: pulumi.String(\"intranet\"),\n})\nif err != nil {\nreturn err\n}\ndefaultServerGroup, err := slb.NewServerGroup(ctx, \"default\", \u0026slb.ServerGroupArgs{\nLoadBalancerId: defaultApplicationLoadBalancer.ID(),\nName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nInstanceName: pulumi.String(name),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = slb.NewServerGroupServerAttachment(ctx, \"server_attachment\", \u0026slb.ServerGroupServerAttachmentArgs{\nServerGroupId: defaultServerGroup.ID(),\nServerId: defaultInstance.ID(),\nPort: pulumi.Int(8080),\nType: pulumi.String(\"ecs\"),\nWeight: pulumi.Int(0),\nDescription: pulumi.String(name),\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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancer;\nimport com.pulumi.alicloud.slb.ApplicationLoadBalancerArgs;\nimport com.pulumi.alicloud.slb.ServerGroup;\nimport com.pulumi.alicloud.slb.ServerGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.slb.ServerGroupServerAttachment;\nimport com.pulumi.alicloud.slb.ServerGroupServerAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = SlbFunctions.getZones(GetZonesArgs.builder()\n .availableSlbAddressType(\"vpc\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .instanceTypeFamily(\"ecs.sn1ne\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_[0-9]+_[0-9]+_x64*\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultApplicationLoadBalancer = new ApplicationLoadBalancer(\"defaultApplicationLoadBalancer\", ApplicationLoadBalancerArgs.builder()\n .loadBalancerName(name)\n .vswitchId(defaultSwitch.id())\n .loadBalancerSpec(\"slb.s2.small\")\n .addressType(\"intranet\")\n .build());\n\n var defaultServerGroup = new ServerGroup(\"defaultServerGroup\", ServerGroupArgs.builder()\n .loadBalancerId(defaultApplicationLoadBalancer.id())\n .name(name)\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .instanceName(name)\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(default_.zones()[0].id())\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var serverAttachment = new ServerGroupServerAttachment(\"serverAttachment\", ServerGroupServerAttachmentArgs.builder()\n .serverGroupId(defaultServerGroup.id())\n .serverId(defaultInstance.id())\n .port(8080)\n .type(\"ecs\")\n .weight(0)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLoad Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/serverGroupServerAttachment:ServerGroupServerAttachment example \u003cserver_group_id\u003e:\u003cserver_id\u003e:\u003cport\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -253346,7 +259024,7 @@ } }, "alicloud:slb/tlsCipherPolicy:TlsCipherPolicy": { - "description": "Provides a SLB Tls Cipher Policy resource.\n\nFor information about SLB Tls Cipher Policy and how to use it, see [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.slb.TlsCipherPolicy(\"example\", {\n tlsCipherPolicyName: \"Test-example_value\",\n tlsVersions: [\"TLSv1.2\"],\n ciphers: [\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.slb.TlsCipherPolicy(\"example\",\n tls_cipher_policy_name=\"Test-example_value\",\n tls_versions=[\"TLSv1.2\"],\n ciphers=[\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Slb.TlsCipherPolicy(\"example\", new()\n {\n TlsCipherPolicyName = \"Test-example_value\",\n TlsVersions = new[]\n {\n \"TLSv1.2\",\n },\n Ciphers = new[]\n {\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slb.NewTlsCipherPolicy(ctx, \"example\", \u0026slb.TlsCipherPolicyArgs{\n\t\t\tTlsCipherPolicyName: pulumi.String(\"Test-example_value\"),\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AES256-SHA256\"),\n\t\t\t\tpulumi.String(\"AES128-GCM-SHA256\"),\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.alicloud.slb.TlsCipherPolicy;\nimport com.pulumi.alicloud.slb.TlsCipherPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TlsCipherPolicy(\"example\", TlsCipherPolicyArgs.builder()\n .tlsCipherPolicyName(\"Test-example_value\")\n .tlsVersions(\"TLSv1.2\")\n .ciphers( \n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:slb:TlsCipherPolicy\n properties:\n tlsCipherPolicyName: Test-example_value\n tlsVersions:\n - TLSv1.2\n ciphers:\n - AES256-SHA256\n - AES128-GCM-SHA256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSLB Tls Cipher Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/tlsCipherPolicy:TlsCipherPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a SLB Tls Cipher Policy resource.\n\nFor information about SLB Tls Cipher Policy and how to use it, see [What is Tls Cipher Policy](https://www.alibabacloud.com/help/doc-detail/196714.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.slb.TlsCipherPolicy(\"example\", {\n tlsCipherPolicyName: \"Test-example_value\",\n tlsVersions: [\"TLSv1.2\"],\n ciphers: [\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.slb.TlsCipherPolicy(\"example\",\n tls_cipher_policy_name=\"Test-example_value\",\n tls_versions=[\"TLSv1.2\"],\n ciphers=[\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Slb.TlsCipherPolicy(\"example\", new()\n {\n TlsCipherPolicyName = \"Test-example_value\",\n TlsVersions = new[]\n {\n \"TLSv1.2\",\n },\n Ciphers = new[]\n {\n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := slb.NewTlsCipherPolicy(ctx, \"example\", \u0026slb.TlsCipherPolicyArgs{\n\t\t\tTlsCipherPolicyName: pulumi.String(\"Test-example_value\"),\n\t\t\tTlsVersions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t},\n\t\t\tCiphers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AES256-SHA256\"),\n\t\t\t\tpulumi.String(\"AES128-GCM-SHA256\"),\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.alicloud.slb.TlsCipherPolicy;\nimport com.pulumi.alicloud.slb.TlsCipherPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TlsCipherPolicy(\"example\", TlsCipherPolicyArgs.builder()\n .tlsCipherPolicyName(\"Test-example_value\")\n .tlsVersions(\"TLSv1.2\")\n .ciphers( \n \"AES256-SHA256\",\n \"AES128-GCM-SHA256\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:slb:TlsCipherPolicy\n properties:\n tlsCipherPolicyName: Test-example_value\n tlsVersions:\n - TLSv1.2\n ciphers:\n - AES256-SHA256\n - AES128-GCM-SHA256\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSLB Tls Cipher Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:slb/tlsCipherPolicy:TlsCipherPolicy example \u003cid\u003e\n```\n\n", "properties": { "ciphers": { "type": "array", @@ -253432,7 +259110,7 @@ } }, "alicloud:sls/alert:Alert": { - "description": "Provides a SLS Alert resource. \n\nFor information about SLS Alert and how to use it, see [What is Alert](https://www.alibabacloud.com/help/en/doc-detail/209202.html).\n\n\u003e **NOTE:** Available since v1.223.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst alertName = config.get(\"alertName\") || \"openapi-terraform-alert\";\nconst projectName = config.get(\"projectName\") || \"terraform-alert-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultINsMgl = new alicloud.log.Project(\"defaultINsMgl\", {\n description: `${projectName}-${_default.result}`,\n projectName: `${projectName}-${_default.result}`,\n});\nconst defaultAlert = new alicloud.sls.Alert(\"default\", {\n schedule: {\n type: \"FixedRate\",\n runImmdiately: true,\n interval: \"1m\",\n timeZone: \"+0800\",\n delay: 10,\n },\n displayName: \"openapi-terraform\",\n description: \"create alert\",\n status: \"ENABLED\",\n configuration: {\n groupConfiguration: {\n fields: [\n \"a\",\n \"b\",\n ],\n type: \"no_group\",\n },\n noDataFire: false,\n version: \"2\",\n severityConfigurations: [{\n severity: 6,\n evalCondition: {\n countCondition: \"cnt \u003e 0\",\n condition: \"__count__ \u003e 1\",\n },\n }],\n labels: [{\n key: \"a\",\n value: \"b\",\n }],\n autoAnnotation: true,\n templateConfiguration: {\n lang: \"cn\",\n tokens: {\n a: \"b\",\n },\n annotations: {\n x: \"y\",\n },\n templateId: \"sls.app.ack.autoscaler.cluster_unhealthy\",\n type: \"sys\",\n version: \"1.0\",\n },\n muteUntil: 0,\n annotations: [{\n key: \"x\",\n value: \"y\",\n }],\n sendResolved: false,\n threshold: 1,\n sinkCms: {\n enabled: false,\n },\n conditionConfiguration: {\n condition: \"cnt \u003e 3\",\n countCondition: \"__count__ \u003c 3\",\n },\n policyConfiguration: {\n alertPolicyId: \"sls.builtin.dynamic\",\n actionPolicyId: \"wkb-action\",\n repeatInterval: \"1m\",\n },\n dashboard: \"internal-alert\",\n type: \"tpl\",\n queryLists: [\n {\n ui: \"{}\",\n roleArn: \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n query: \"* | select *\",\n timeSpanType: \"Relative\",\n project: defaultINsMgl.projectName,\n powerSqlMode: \"disable\",\n dashboardId: \"wkb-dashboard\",\n chartTitle: \"wkb-chart\",\n start: \"-15m\",\n end: \"now\",\n storeType: \"log\",\n store: \"alert\",\n region: \"cn-shanghai\",\n },\n {\n storeType: \"meta\",\n store: \"user.rds_ip_whitelist\",\n },\n {\n storeType: \"meta\",\n store: \"myexample1\",\n },\n ],\n joinConfigurations: [\n {\n type: \"no_join\",\n condition: \"aa\",\n },\n {\n type: \"cross_join\",\n condition: \"qqq\",\n },\n {\n type: \"inner_join\",\n condition: \"fefefe\",\n },\n ],\n sinkEventStore: {\n enabled: true,\n endpoint: \"cn-shanghai-intranet.log.aliyuncs.com\",\n project: \"wkb-wangren\",\n eventStore: \"alert\",\n roleArn: \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n sinkAlerthub: {\n enabled: false,\n },\n noDataSeverity: 6,\n tags: [\n \"wkb\",\n \"wangren\",\n \"sls\",\n ],\n },\n alertName: alertName,\n projectName: defaultINsMgl.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalert_name = config.get(\"alertName\")\nif alert_name is None:\n alert_name = \"openapi-terraform-alert\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"terraform-alert-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_ins_mgl = alicloud.log.Project(\"defaultINsMgl\",\n description=f\"{project_name}-{default['result']}\",\n project_name=f\"{project_name}-{default['result']}\")\ndefault_alert = alicloud.sls.Alert(\"default\",\n schedule={\n \"type\": \"FixedRate\",\n \"run_immdiately\": True,\n \"interval\": \"1m\",\n \"time_zone\": \"+0800\",\n \"delay\": 10,\n },\n display_name=\"openapi-terraform\",\n description=\"create alert\",\n status=\"ENABLED\",\n configuration={\n \"group_configuration\": {\n \"fields\": [\n \"a\",\n \"b\",\n ],\n \"type\": \"no_group\",\n },\n \"no_data_fire\": False,\n \"version\": \"2\",\n \"severity_configurations\": [{\n \"severity\": 6,\n \"eval_condition\": {\n \"count_condition\": \"cnt \u003e 0\",\n \"condition\": \"__count__ \u003e 1\",\n },\n }],\n \"labels\": [{\n \"key\": \"a\",\n \"value\": \"b\",\n }],\n \"auto_annotation\": True,\n \"template_configuration\": {\n \"lang\": \"cn\",\n \"tokens\": {\n \"a\": \"b\",\n },\n \"annotations\": {\n \"x\": \"y\",\n },\n \"template_id\": \"sls.app.ack.autoscaler.cluster_unhealthy\",\n \"type\": \"sys\",\n \"version\": \"1.0\",\n },\n \"mute_until\": 0,\n \"annotations\": [{\n \"key\": \"x\",\n \"value\": \"y\",\n }],\n \"send_resolved\": False,\n \"threshold\": 1,\n \"sink_cms\": {\n \"enabled\": False,\n },\n \"condition_configuration\": {\n \"condition\": \"cnt \u003e 3\",\n \"count_condition\": \"__count__ \u003c 3\",\n },\n \"policy_configuration\": {\n \"alert_policy_id\": \"sls.builtin.dynamic\",\n \"action_policy_id\": \"wkb-action\",\n \"repeat_interval\": \"1m\",\n },\n \"dashboard\": \"internal-alert\",\n \"type\": \"tpl\",\n \"query_lists\": [\n {\n \"ui\": \"{}\",\n \"role_arn\": \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n \"query\": \"* | select *\",\n \"time_span_type\": \"Relative\",\n \"project\": default_ins_mgl.project_name,\n \"power_sql_mode\": \"disable\",\n \"dashboard_id\": \"wkb-dashboard\",\n \"chart_title\": \"wkb-chart\",\n \"start\": \"-15m\",\n \"end\": \"now\",\n \"store_type\": \"log\",\n \"store\": \"alert\",\n \"region\": \"cn-shanghai\",\n },\n {\n \"store_type\": \"meta\",\n \"store\": \"user.rds_ip_whitelist\",\n },\n {\n \"store_type\": \"meta\",\n \"store\": \"myexample1\",\n },\n ],\n \"join_configurations\": [\n {\n \"type\": \"no_join\",\n \"condition\": \"aa\",\n },\n {\n \"type\": \"cross_join\",\n \"condition\": \"qqq\",\n },\n {\n \"type\": \"inner_join\",\n \"condition\": \"fefefe\",\n },\n ],\n \"sink_event_store\": {\n \"enabled\": True,\n \"endpoint\": \"cn-shanghai-intranet.log.aliyuncs.com\",\n \"project\": \"wkb-wangren\",\n \"event_store\": \"alert\",\n \"role_arn\": \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n \"sink_alerthub\": {\n \"enabled\": False,\n },\n \"no_data_severity\": 6,\n \"tags\": [\n \"wkb\",\n \"wangren\",\n \"sls\",\n ],\n },\n alert_name=alert_name,\n project_name=default_ins_mgl.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var alertName = config.Get(\"alertName\") ?? \"openapi-terraform-alert\";\n var projectName = config.Get(\"projectName\") ?? \"terraform-alert-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultINsMgl = new AliCloud.Log.Project(\"defaultINsMgl\", new()\n {\n Description = $\"{projectName}-{@default.Result}\",\n ProjectName = $\"{projectName}-{@default.Result}\",\n });\n\n var defaultAlert = new AliCloud.Sls.Alert(\"default\", new()\n {\n Schedule = new AliCloud.Sls.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n RunImmdiately = true,\n Interval = \"1m\",\n TimeZone = \"+0800\",\n Delay = 10,\n },\n DisplayName = \"openapi-terraform\",\n Description = \"create alert\",\n Status = \"ENABLED\",\n Configuration = new AliCloud.Sls.Inputs.AlertConfigurationArgs\n {\n GroupConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationGroupConfigurationArgs\n {\n Fields = new[]\n {\n \"a\",\n \"b\",\n },\n Type = \"no_group\",\n },\n NoDataFire = false,\n Version = \"2\",\n SeverityConfigurations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationSeverityConfigurationArgs\n {\n Severity = 6,\n EvalCondition = new AliCloud.Sls.Inputs.AlertConfigurationSeverityConfigurationEvalConditionArgs\n {\n CountCondition = \"cnt \u003e 0\",\n Condition = \"__count__ \u003e 1\",\n },\n },\n },\n Labels = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationLabelArgs\n {\n Key = \"a\",\n Value = \"b\",\n },\n },\n AutoAnnotation = true,\n TemplateConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationTemplateConfigurationArgs\n {\n Lang = \"cn\",\n Tokens = \n {\n { \"a\", \"b\" },\n },\n Annotations = \n {\n { \"x\", \"y\" },\n },\n TemplateId = \"sls.app.ack.autoscaler.cluster_unhealthy\",\n Type = \"sys\",\n Version = \"1.0\",\n },\n MuteUntil = 0,\n Annotations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationAnnotationArgs\n {\n Key = \"x\",\n Value = \"y\",\n },\n },\n SendResolved = false,\n Threshold = 1,\n SinkCms = new AliCloud.Sls.Inputs.AlertConfigurationSinkCmsArgs\n {\n Enabled = false,\n },\n ConditionConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationConditionConfigurationArgs\n {\n Condition = \"cnt \u003e 3\",\n CountCondition = \"__count__ \u003c 3\",\n },\n PolicyConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationPolicyConfigurationArgs\n {\n AlertPolicyId = \"sls.builtin.dynamic\",\n ActionPolicyId = \"wkb-action\",\n RepeatInterval = \"1m\",\n },\n Dashboard = \"internal-alert\",\n Type = \"tpl\",\n QueryLists = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n Ui = \"{}\",\n RoleArn = \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n Query = \"* | select *\",\n TimeSpanType = \"Relative\",\n Project = defaultINsMgl.ProjectName,\n PowerSqlMode = \"disable\",\n DashboardId = \"wkb-dashboard\",\n ChartTitle = \"wkb-chart\",\n Start = \"-15m\",\n End = \"now\",\n StoreType = \"log\",\n Store = \"alert\",\n Region = \"cn-shanghai\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n StoreType = \"meta\",\n Store = \"user.rds_ip_whitelist\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n StoreType = \"meta\",\n Store = \"myexample1\",\n },\n },\n JoinConfigurations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"no_join\",\n Condition = \"aa\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"cross_join\",\n Condition = \"qqq\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"inner_join\",\n Condition = \"fefefe\",\n },\n },\n SinkEventStore = new AliCloud.Sls.Inputs.AlertConfigurationSinkEventStoreArgs\n {\n Enabled = true,\n Endpoint = \"cn-shanghai-intranet.log.aliyuncs.com\",\n Project = \"wkb-wangren\",\n EventStore = \"alert\",\n RoleArn = \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n SinkAlerthub = new AliCloud.Sls.Inputs.AlertConfigurationSinkAlerthubArgs\n {\n Enabled = false,\n },\n NoDataSeverity = 6,\n Tags = new[]\n {\n \"wkb\",\n \"wangren\",\n \"sls\",\n },\n },\n AlertName = alertName,\n ProjectName = defaultINsMgl.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talertName := \"openapi-terraform-alert\"\n\t\tif param := cfg.Get(\"alertName\"); param != \"\" {\n\t\t\talertName = param\n\t\t}\n\t\tprojectName := \"terraform-alert-example\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultINsMgl, err := log.NewProject(ctx, \"defaultINsMgl\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.Sprintf(\"%v-%v\", projectName, _default.Result),\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", projectName, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewAlert(ctx, \"default\", \u0026sls.AlertArgs{\n\t\t\tSchedule: \u0026sls.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tRunImmdiately: pulumi.Bool(true),\n\t\t\t\tInterval: pulumi.String(\"1m\"),\n\t\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t\t\tDelay: pulumi.Int(10),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"openapi-terraform\"),\n\t\t\tDescription: pulumi.String(\"create alert\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tConfiguration: \u0026sls.AlertConfigurationArgs{\n\t\t\t\tGroupConfiguration: \u0026sls.AlertConfigurationGroupConfigurationArgs{\n\t\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"a\"),\n\t\t\t\t\t\tpulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"no_group\"),\n\t\t\t\t},\n\t\t\t\tNoDataFire: pulumi.Bool(false),\n\t\t\t\tVersion: pulumi.String(\"2\"),\n\t\t\t\tSeverityConfigurations: sls.AlertConfigurationSeverityConfigurationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationSeverityConfigurationArgs{\n\t\t\t\t\t\tSeverity: pulumi.Int(6),\n\t\t\t\t\t\tEvalCondition: \u0026sls.AlertConfigurationSeverityConfigurationEvalConditionArgs{\n\t\t\t\t\t\t\tCountCondition: pulumi.String(\"cnt \u003e 0\"),\n\t\t\t\t\t\t\tCondition: pulumi.String(\"__count__ \u003e 1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLabels: sls.AlertConfigurationLabelArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationLabelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"a\"),\n\t\t\t\t\t\tValue: pulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAutoAnnotation: pulumi.Bool(true),\n\t\t\t\tTemplateConfiguration: \u0026sls.AlertConfigurationTemplateConfigurationArgs{\n\t\t\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\t\t\tTokens: pulumi.StringMap{\n\t\t\t\t\t\t\"a\": pulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\"x\": pulumi.String(\"y\"),\n\t\t\t\t\t},\n\t\t\t\t\tTemplateId: pulumi.String(\"sls.app.ack.autoscaler.cluster_unhealthy\"),\n\t\t\t\t\tType: pulumi.String(\"sys\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t\tMuteUntil: pulumi.Int(0),\n\t\t\t\tAnnotations: sls.AlertConfigurationAnnotationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationAnnotationArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"x\"),\n\t\t\t\t\t\tValue: pulumi.String(\"y\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSendResolved: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tSinkCms: \u0026sls.AlertConfigurationSinkCmsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tConditionConfiguration: \u0026sls.AlertConfigurationConditionConfigurationArgs{\n\t\t\t\t\tCondition: pulumi.String(\"cnt \u003e 3\"),\n\t\t\t\t\tCountCondition: pulumi.String(\"__count__ \u003c 3\"),\n\t\t\t\t},\n\t\t\t\tPolicyConfiguration: \u0026sls.AlertConfigurationPolicyConfigurationArgs{\n\t\t\t\t\tAlertPolicyId: pulumi.String(\"sls.builtin.dynamic\"),\n\t\t\t\t\tActionPolicyId: pulumi.String(\"wkb-action\"),\n\t\t\t\t\tRepeatInterval: pulumi.String(\"1m\"),\n\t\t\t\t},\n\t\t\t\tDashboard: pulumi.String(\"internal-alert\"),\n\t\t\t\tType: pulumi.String(\"tpl\"),\n\t\t\t\tQueryLists: sls.AlertConfigurationQueryListArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tUi: pulumi.String(\"{}\"),\n\t\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\"),\n\t\t\t\t\t\tQuery: pulumi.String(\"* | select *\"),\n\t\t\t\t\t\tTimeSpanType: pulumi.String(\"Relative\"),\n\t\t\t\t\t\tProject: defaultINsMgl.ProjectName,\n\t\t\t\t\t\tPowerSqlMode: pulumi.String(\"disable\"),\n\t\t\t\t\t\tDashboardId: pulumi.String(\"wkb-dashboard\"),\n\t\t\t\t\t\tChartTitle: pulumi.String(\"wkb-chart\"),\n\t\t\t\t\t\tStart: pulumi.String(\"-15m\"),\n\t\t\t\t\t\tEnd: pulumi.String(\"now\"),\n\t\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\t\tStore: pulumi.String(\"alert\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"cn-shanghai\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tStoreType: pulumi.String(\"meta\"),\n\t\t\t\t\t\tStore: pulumi.String(\"user.rds_ip_whitelist\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tStoreType: pulumi.String(\"meta\"),\n\t\t\t\t\t\tStore: pulumi.String(\"myexample1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tJoinConfigurations: sls.AlertConfigurationJoinConfigurationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"no_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"aa\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"cross_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"qqq\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"inner_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"fefefe\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSinkEventStore: \u0026sls.AlertConfigurationSinkEventStoreArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-shanghai-intranet.log.aliyuncs.com\"),\n\t\t\t\t\tProject: pulumi.String(\"wkb-wangren\"),\n\t\t\t\t\tEventStore: pulumi.String(\"alert\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1654218965343050:role/aliyunlogetlrole\"),\n\t\t\t\t},\n\t\t\t\tSinkAlerthub: \u0026sls.AlertConfigurationSinkAlerthubArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tNoDataSeverity: pulumi.Int(6),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"wkb\"),\n\t\t\t\t\tpulumi.String(\"wangren\"),\n\t\t\t\t\tpulumi.String(\"sls\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlertName: pulumi.String(alertName),\n\t\t\tProjectName: defaultINsMgl.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.Alert;\nimport com.pulumi.alicloud.sls.AlertArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationGroupConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationTemplateConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkCmsArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationConditionConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationPolicyConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkEventStoreArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkAlerthubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var alertName = config.get(\"alertName\").orElse(\"openapi-terraform-alert\");\n final var projectName = config.get(\"projectName\").orElse(\"terraform-alert-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultINsMgl = new Project(\"defaultINsMgl\", ProjectArgs.builder()\n .description(String.format(\"%s-%s\", projectName,default_.result()))\n .projectName(String.format(\"%s-%s\", projectName,default_.result()))\n .build());\n\n var defaultAlert = new Alert(\"defaultAlert\", AlertArgs.builder()\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .runImmdiately(true)\n .interval(\"1m\")\n .timeZone(\"+0800\")\n .delay(10)\n .build())\n .displayName(\"openapi-terraform\")\n .description(\"create alert\")\n .status(\"ENABLED\")\n .configuration(AlertConfigurationArgs.builder()\n .groupConfiguration(AlertConfigurationGroupConfigurationArgs.builder()\n .fields( \n \"a\",\n \"b\")\n .type(\"no_group\")\n .build())\n .noDataFire(false)\n .version(\"2\")\n .severityConfigurations(AlertConfigurationSeverityConfigurationArgs.builder()\n .severity(6)\n .evalCondition(AlertConfigurationSeverityConfigurationEvalConditionArgs.builder()\n .countCondition(\"cnt \u003e 0\")\n .condition(\"__count__ \u003e 1\")\n .build())\n .build())\n .labels(AlertConfigurationLabelArgs.builder()\n .key(\"a\")\n .value(\"b\")\n .build())\n .autoAnnotation(true)\n .templateConfiguration(AlertConfigurationTemplateConfigurationArgs.builder()\n .lang(\"cn\")\n .tokens(Map.of(\"a\", \"b\"))\n .annotations(Map.of(\"x\", \"y\"))\n .templateId(\"sls.app.ack.autoscaler.cluster_unhealthy\")\n .type(\"sys\")\n .version(\"1.0\")\n .build())\n .muteUntil(0)\n .annotations(AlertConfigurationAnnotationArgs.builder()\n .key(\"x\")\n .value(\"y\")\n .build())\n .sendResolved(false)\n .threshold(1)\n .sinkCms(AlertConfigurationSinkCmsArgs.builder()\n .enabled(false)\n .build())\n .conditionConfiguration(AlertConfigurationConditionConfigurationArgs.builder()\n .condition(\"cnt \u003e 3\")\n .countCondition(\"__count__ \u003c 3\")\n .build())\n .policyConfiguration(AlertConfigurationPolicyConfigurationArgs.builder()\n .alertPolicyId(\"sls.builtin.dynamic\")\n .actionPolicyId(\"wkb-action\")\n .repeatInterval(\"1m\")\n .build())\n .dashboard(\"internal-alert\")\n .type(\"tpl\")\n .queryLists( \n AlertConfigurationQueryListArgs.builder()\n .ui(\"{}\")\n .roleArn(\"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\")\n .query(\"* | select *\")\n .timeSpanType(\"Relative\")\n .project(defaultINsMgl.projectName())\n .powerSqlMode(\"disable\")\n .dashboardId(\"wkb-dashboard\")\n .chartTitle(\"wkb-chart\")\n .start(\"-15m\")\n .end(\"now\")\n .storeType(\"log\")\n .store(\"alert\")\n .region(\"cn-shanghai\")\n .build(),\n AlertConfigurationQueryListArgs.builder()\n .storeType(\"meta\")\n .store(\"user.rds_ip_whitelist\")\n .build(),\n AlertConfigurationQueryListArgs.builder()\n .storeType(\"meta\")\n .store(\"myexample1\")\n .build())\n .joinConfigurations( \n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"no_join\")\n .condition(\"aa\")\n .build(),\n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"cross_join\")\n .condition(\"qqq\")\n .build(),\n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"inner_join\")\n .condition(\"fefefe\")\n .build())\n .sinkEventStore(AlertConfigurationSinkEventStoreArgs.builder()\n .enabled(true)\n .endpoint(\"cn-shanghai-intranet.log.aliyuncs.com\")\n .project(\"wkb-wangren\")\n .eventStore(\"alert\")\n .roleArn(\"acs:ram::1654218965343050:role/aliyunlogetlrole\")\n .build())\n .sinkAlerthub(AlertConfigurationSinkAlerthubArgs.builder()\n .enabled(false)\n .build())\n .noDataSeverity(6)\n .tags( \n \"wkb\",\n \"wangren\",\n \"sls\")\n .build())\n .alertName(alertName)\n .projectName(defaultINsMgl.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n alertName:\n type: string\n default: openapi-terraform-alert\n projectName:\n type: string\n default: terraform-alert-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultINsMgl:\n type: alicloud:log:Project\n properties:\n description: ${projectName}-${default.result}\n projectName: ${projectName}-${default.result}\n defaultAlert:\n type: alicloud:sls:Alert\n name: default\n properties:\n schedule:\n type: FixedRate\n runImmdiately: 'true'\n interval: 1m\n timeZone: '+0800'\n delay: '10'\n displayName: openapi-terraform\n description: create alert\n status: ENABLED\n configuration:\n groupConfiguration:\n fields:\n - a\n - b\n type: no_group\n noDataFire: 'false'\n version: '2'\n severityConfigurations:\n - severity: '6'\n evalCondition:\n countCondition: cnt \u003e 0\n condition: __count__ \u003e 1\n labels:\n - key: a\n value: b\n autoAnnotation: 'true'\n templateConfiguration:\n lang: cn\n tokens:\n a: b\n annotations:\n x: y\n templateId: sls.app.ack.autoscaler.cluster_unhealthy\n type: sys\n version: '1.0'\n muteUntil: '0'\n annotations:\n - key: x\n value: y\n sendResolved: 'false'\n threshold: '1'\n sinkCms:\n enabled: 'false'\n conditionConfiguration:\n condition: cnt \u003e 3\n countCondition: __count__ \u003c 3\n policyConfiguration:\n alertPolicyId: sls.builtin.dynamic\n actionPolicyId: wkb-action\n repeatInterval: 1m\n dashboard: internal-alert\n type: tpl\n queryLists:\n - ui: '{}'\n roleArn: acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\n query: '* | select *'\n timeSpanType: Relative\n project: ${defaultINsMgl.projectName}\n powerSqlMode: disable\n dashboardId: wkb-dashboard\n chartTitle: wkb-chart\n start: -15m\n end: now\n storeType: log\n store: alert\n region: cn-shanghai\n - storeType: meta\n store: user.rds_ip_whitelist\n - storeType: meta\n store: myexample1\n joinConfigurations:\n - type: no_join\n condition: aa\n - type: cross_join\n condition: qqq\n - type: inner_join\n condition: fefefe\n sinkEventStore:\n enabled: 'true'\n endpoint: cn-shanghai-intranet.log.aliyuncs.com\n project: wkb-wangren\n eventStore: alert\n roleArn: acs:ram::1654218965343050:role/aliyunlogetlrole\n sinkAlerthub:\n enabled: 'false'\n noDataSeverity: '6'\n tags:\n - wkb\n - wangren\n - sls\n alertName: ${alertName}\n projectName: ${defaultINsMgl.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSLS Alert can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/alert:Alert example \u003cproject_name\u003e:\u003calert_name\u003e\n```\n\n", + "description": "Provides a SLS Alert resource. \n\nFor information about SLS Alert and how to use it, see [What is Alert](https://www.alibabacloud.com/help/en/doc-detail/209202.html).\n\n\u003e **NOTE:** Available since v1.223.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst alertName = config.get(\"alertName\") || \"openapi-terraform-alert\";\nconst projectName = config.get(\"projectName\") || \"terraform-alert-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultINsMgl = new alicloud.log.Project(\"defaultINsMgl\", {\n description: `${projectName}-${_default.result}`,\n projectName: `${projectName}-${_default.result}`,\n});\nconst defaultAlert = new alicloud.sls.Alert(\"default\", {\n schedule: {\n type: \"FixedRate\",\n runImmdiately: true,\n interval: \"1m\",\n timeZone: \"+0800\",\n delay: 10,\n },\n displayName: \"openapi-terraform\",\n description: \"create alert\",\n status: \"ENABLED\",\n configuration: {\n groupConfiguration: {\n fields: [\n \"a\",\n \"b\",\n ],\n type: \"no_group\",\n },\n noDataFire: false,\n version: \"2\",\n severityConfigurations: [{\n severity: 6,\n evalCondition: {\n countCondition: \"cnt \u003e 0\",\n condition: \"__count__ \u003e 1\",\n },\n }],\n labels: [{\n key: \"a\",\n value: \"b\",\n }],\n autoAnnotation: true,\n templateConfiguration: {\n lang: \"cn\",\n tokens: {\n a: \"b\",\n },\n annotations: {\n x: \"y\",\n },\n templateId: \"sls.app.ack.autoscaler.cluster_unhealthy\",\n type: \"sys\",\n version: \"1.0\",\n },\n muteUntil: 0,\n annotations: [{\n key: \"x\",\n value: \"y\",\n }],\n sendResolved: false,\n threshold: 1,\n sinkCms: {\n enabled: false,\n },\n conditionConfiguration: {\n condition: \"cnt \u003e 3\",\n countCondition: \"__count__ \u003c 3\",\n },\n policyConfiguration: {\n alertPolicyId: \"sls.builtin.dynamic\",\n actionPolicyId: \"wkb-action\",\n repeatInterval: \"1m\",\n },\n dashboard: \"internal-alert\",\n type: \"tpl\",\n queryLists: [\n {\n ui: \"{}\",\n roleArn: \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n query: \"* | select *\",\n timeSpanType: \"Relative\",\n project: defaultINsMgl.projectName,\n powerSqlMode: \"disable\",\n dashboardId: \"wkb-dashboard\",\n chartTitle: \"wkb-chart\",\n start: \"-15m\",\n end: \"now\",\n storeType: \"log\",\n store: \"alert\",\n region: \"cn-shanghai\",\n },\n {\n storeType: \"meta\",\n store: \"user.rds_ip_whitelist\",\n },\n {\n storeType: \"meta\",\n store: \"myexample1\",\n },\n ],\n joinConfigurations: [\n {\n type: \"no_join\",\n condition: \"aa\",\n },\n {\n type: \"cross_join\",\n condition: \"qqq\",\n },\n {\n type: \"inner_join\",\n condition: \"fefefe\",\n },\n ],\n sinkEventStore: {\n enabled: true,\n endpoint: \"cn-shanghai-intranet.log.aliyuncs.com\",\n project: \"wkb-wangren\",\n eventStore: \"alert\",\n roleArn: \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n sinkAlerthub: {\n enabled: false,\n },\n noDataSeverity: 6,\n tags: [\n \"wkb\",\n \"wangren\",\n \"sls\",\n ],\n },\n alertName: alertName,\n projectName: defaultINsMgl.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nalert_name = config.get(\"alertName\")\nif alert_name is None:\n alert_name = \"openapi-terraform-alert\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"terraform-alert-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_ins_mgl = alicloud.log.Project(\"defaultINsMgl\",\n description=f\"{project_name}-{default['result']}\",\n project_name=f\"{project_name}-{default['result']}\")\ndefault_alert = alicloud.sls.Alert(\"default\",\n schedule={\n \"type\": \"FixedRate\",\n \"run_immdiately\": True,\n \"interval\": \"1m\",\n \"time_zone\": \"+0800\",\n \"delay\": 10,\n },\n display_name=\"openapi-terraform\",\n description=\"create alert\",\n status=\"ENABLED\",\n configuration={\n \"group_configuration\": {\n \"fields\": [\n \"a\",\n \"b\",\n ],\n \"type\": \"no_group\",\n },\n \"no_data_fire\": False,\n \"version\": \"2\",\n \"severity_configurations\": [{\n \"severity\": 6,\n \"eval_condition\": {\n \"count_condition\": \"cnt \u003e 0\",\n \"condition\": \"__count__ \u003e 1\",\n },\n }],\n \"labels\": [{\n \"key\": \"a\",\n \"value\": \"b\",\n }],\n \"auto_annotation\": True,\n \"template_configuration\": {\n \"lang\": \"cn\",\n \"tokens\": {\n \"a\": \"b\",\n },\n \"annotations\": {\n \"x\": \"y\",\n },\n \"template_id\": \"sls.app.ack.autoscaler.cluster_unhealthy\",\n \"type\": \"sys\",\n \"version\": \"1.0\",\n },\n \"mute_until\": 0,\n \"annotations\": [{\n \"key\": \"x\",\n \"value\": \"y\",\n }],\n \"send_resolved\": False,\n \"threshold\": 1,\n \"sink_cms\": {\n \"enabled\": False,\n },\n \"condition_configuration\": {\n \"condition\": \"cnt \u003e 3\",\n \"count_condition\": \"__count__ \u003c 3\",\n },\n \"policy_configuration\": {\n \"alert_policy_id\": \"sls.builtin.dynamic\",\n \"action_policy_id\": \"wkb-action\",\n \"repeat_interval\": \"1m\",\n },\n \"dashboard\": \"internal-alert\",\n \"type\": \"tpl\",\n \"query_lists\": [\n {\n \"ui\": \"{}\",\n \"role_arn\": \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n \"query\": \"* | select *\",\n \"time_span_type\": \"Relative\",\n \"project\": default_ins_mgl.project_name,\n \"power_sql_mode\": \"disable\",\n \"dashboard_id\": \"wkb-dashboard\",\n \"chart_title\": \"wkb-chart\",\n \"start\": \"-15m\",\n \"end\": \"now\",\n \"store_type\": \"log\",\n \"store\": \"alert\",\n \"region\": \"cn-shanghai\",\n },\n {\n \"store_type\": \"meta\",\n \"store\": \"user.rds_ip_whitelist\",\n },\n {\n \"store_type\": \"meta\",\n \"store\": \"myexample1\",\n },\n ],\n \"join_configurations\": [\n {\n \"type\": \"no_join\",\n \"condition\": \"aa\",\n },\n {\n \"type\": \"cross_join\",\n \"condition\": \"qqq\",\n },\n {\n \"type\": \"inner_join\",\n \"condition\": \"fefefe\",\n },\n ],\n \"sink_event_store\": {\n \"enabled\": True,\n \"endpoint\": \"cn-shanghai-intranet.log.aliyuncs.com\",\n \"project\": \"wkb-wangren\",\n \"event_store\": \"alert\",\n \"role_arn\": \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n \"sink_alerthub\": {\n \"enabled\": False,\n },\n \"no_data_severity\": 6,\n \"tags\": [\n \"wkb\",\n \"wangren\",\n \"sls\",\n ],\n },\n alert_name=alert_name,\n project_name=default_ins_mgl.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var alertName = config.Get(\"alertName\") ?? \"openapi-terraform-alert\";\n var projectName = config.Get(\"projectName\") ?? \"terraform-alert-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultINsMgl = new AliCloud.Log.Project(\"defaultINsMgl\", new()\n {\n Description = $\"{projectName}-{@default.Result}\",\n ProjectName = $\"{projectName}-{@default.Result}\",\n });\n\n var defaultAlert = new AliCloud.Sls.Alert(\"default\", new()\n {\n Schedule = new AliCloud.Sls.Inputs.AlertScheduleArgs\n {\n Type = \"FixedRate\",\n RunImmdiately = true,\n Interval = \"1m\",\n TimeZone = \"+0800\",\n Delay = 10,\n },\n DisplayName = \"openapi-terraform\",\n Description = \"create alert\",\n Status = \"ENABLED\",\n Configuration = new AliCloud.Sls.Inputs.AlertConfigurationArgs\n {\n GroupConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationGroupConfigurationArgs\n {\n Fields = new[]\n {\n \"a\",\n \"b\",\n },\n Type = \"no_group\",\n },\n NoDataFire = false,\n Version = \"2\",\n SeverityConfigurations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationSeverityConfigurationArgs\n {\n Severity = 6,\n EvalCondition = new AliCloud.Sls.Inputs.AlertConfigurationSeverityConfigurationEvalConditionArgs\n {\n CountCondition = \"cnt \u003e 0\",\n Condition = \"__count__ \u003e 1\",\n },\n },\n },\n Labels = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationLabelArgs\n {\n Key = \"a\",\n Value = \"b\",\n },\n },\n AutoAnnotation = true,\n TemplateConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationTemplateConfigurationArgs\n {\n Lang = \"cn\",\n Tokens = \n {\n { \"a\", \"b\" },\n },\n Annotations = \n {\n { \"x\", \"y\" },\n },\n TemplateId = \"sls.app.ack.autoscaler.cluster_unhealthy\",\n Type = \"sys\",\n Version = \"1.0\",\n },\n MuteUntil = 0,\n Annotations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationAnnotationArgs\n {\n Key = \"x\",\n Value = \"y\",\n },\n },\n SendResolved = false,\n Threshold = 1,\n SinkCms = new AliCloud.Sls.Inputs.AlertConfigurationSinkCmsArgs\n {\n Enabled = false,\n },\n ConditionConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationConditionConfigurationArgs\n {\n Condition = \"cnt \u003e 3\",\n CountCondition = \"__count__ \u003c 3\",\n },\n PolicyConfiguration = new AliCloud.Sls.Inputs.AlertConfigurationPolicyConfigurationArgs\n {\n AlertPolicyId = \"sls.builtin.dynamic\",\n ActionPolicyId = \"wkb-action\",\n RepeatInterval = \"1m\",\n },\n Dashboard = \"internal-alert\",\n Type = \"tpl\",\n QueryLists = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n Ui = \"{}\",\n RoleArn = \"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\",\n Query = \"* | select *\",\n TimeSpanType = \"Relative\",\n Project = defaultINsMgl.ProjectName,\n PowerSqlMode = \"disable\",\n DashboardId = \"wkb-dashboard\",\n ChartTitle = \"wkb-chart\",\n Start = \"-15m\",\n End = \"now\",\n StoreType = \"log\",\n Store = \"alert\",\n Region = \"cn-shanghai\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n StoreType = \"meta\",\n Store = \"user.rds_ip_whitelist\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationQueryListArgs\n {\n StoreType = \"meta\",\n Store = \"myexample1\",\n },\n },\n JoinConfigurations = new[]\n {\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"no_join\",\n Condition = \"aa\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"cross_join\",\n Condition = \"qqq\",\n },\n new AliCloud.Sls.Inputs.AlertConfigurationJoinConfigurationArgs\n {\n Type = \"inner_join\",\n Condition = \"fefefe\",\n },\n },\n SinkEventStore = new AliCloud.Sls.Inputs.AlertConfigurationSinkEventStoreArgs\n {\n Enabled = true,\n Endpoint = \"cn-shanghai-intranet.log.aliyuncs.com\",\n Project = \"wkb-wangren\",\n EventStore = \"alert\",\n RoleArn = \"acs:ram::1654218965343050:role/aliyunlogetlrole\",\n },\n SinkAlerthub = new AliCloud.Sls.Inputs.AlertConfigurationSinkAlerthubArgs\n {\n Enabled = false,\n },\n NoDataSeverity = 6,\n Tags = new[]\n {\n \"wkb\",\n \"wangren\",\n \"sls\",\n },\n },\n AlertName = alertName,\n ProjectName = defaultINsMgl.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\talertName := \"openapi-terraform-alert\"\n\t\tif param := cfg.Get(\"alertName\"); param != \"\" {\n\t\t\talertName = param\n\t\t}\n\t\tprojectName := \"terraform-alert-example\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultINsMgl, err := log.NewProject(ctx, \"defaultINsMgl\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.Sprintf(\"%v-%v\", projectName, _default.Result),\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", projectName, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewAlert(ctx, \"default\", \u0026sls.AlertArgs{\n\t\t\tSchedule: \u0026sls.AlertScheduleArgs{\n\t\t\t\tType: pulumi.String(\"FixedRate\"),\n\t\t\t\tRunImmdiately: pulumi.Bool(true),\n\t\t\t\tInterval: pulumi.String(\"1m\"),\n\t\t\t\tTimeZone: pulumi.String(\"+0800\"),\n\t\t\t\tDelay: pulumi.Int(10),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"openapi-terraform\"),\n\t\t\tDescription: pulumi.String(\"create alert\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tConfiguration: \u0026sls.AlertConfigurationArgs{\n\t\t\t\tGroupConfiguration: \u0026sls.AlertConfigurationGroupConfigurationArgs{\n\t\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"a\"),\n\t\t\t\t\t\tpulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"no_group\"),\n\t\t\t\t},\n\t\t\t\tNoDataFire: pulumi.Bool(false),\n\t\t\t\tVersion: pulumi.String(\"2\"),\n\t\t\t\tSeverityConfigurations: sls.AlertConfigurationSeverityConfigurationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationSeverityConfigurationArgs{\n\t\t\t\t\t\tSeverity: pulumi.Int(6),\n\t\t\t\t\t\tEvalCondition: \u0026sls.AlertConfigurationSeverityConfigurationEvalConditionArgs{\n\t\t\t\t\t\t\tCountCondition: pulumi.String(\"cnt \u003e 0\"),\n\t\t\t\t\t\t\tCondition: pulumi.String(\"__count__ \u003e 1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLabels: sls.AlertConfigurationLabelArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationLabelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"a\"),\n\t\t\t\t\t\tValue: pulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAutoAnnotation: pulumi.Bool(true),\n\t\t\t\tTemplateConfiguration: \u0026sls.AlertConfigurationTemplateConfigurationArgs{\n\t\t\t\t\tLang: pulumi.String(\"cn\"),\n\t\t\t\t\tTokens: pulumi.StringMap{\n\t\t\t\t\t\t\"a\": pulumi.String(\"b\"),\n\t\t\t\t\t},\n\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\"x\": pulumi.String(\"y\"),\n\t\t\t\t\t},\n\t\t\t\t\tTemplateId: pulumi.String(\"sls.app.ack.autoscaler.cluster_unhealthy\"),\n\t\t\t\t\tType: pulumi.String(\"sys\"),\n\t\t\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t\t\t},\n\t\t\t\tMuteUntil: pulumi.Int(0),\n\t\t\t\tAnnotations: sls.AlertConfigurationAnnotationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationAnnotationArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"x\"),\n\t\t\t\t\t\tValue: pulumi.String(\"y\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSendResolved: pulumi.Bool(false),\n\t\t\t\tThreshold: pulumi.Int(1),\n\t\t\t\tSinkCms: \u0026sls.AlertConfigurationSinkCmsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tConditionConfiguration: \u0026sls.AlertConfigurationConditionConfigurationArgs{\n\t\t\t\t\tCondition: pulumi.String(\"cnt \u003e 3\"),\n\t\t\t\t\tCountCondition: pulumi.String(\"__count__ \u003c 3\"),\n\t\t\t\t},\n\t\t\t\tPolicyConfiguration: \u0026sls.AlertConfigurationPolicyConfigurationArgs{\n\t\t\t\t\tAlertPolicyId: pulumi.String(\"sls.builtin.dynamic\"),\n\t\t\t\t\tActionPolicyId: pulumi.String(\"wkb-action\"),\n\t\t\t\t\tRepeatInterval: pulumi.String(\"1m\"),\n\t\t\t\t},\n\t\t\t\tDashboard: pulumi.String(\"internal-alert\"),\n\t\t\t\tType: pulumi.String(\"tpl\"),\n\t\t\t\tQueryLists: sls.AlertConfigurationQueryListArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tUi: pulumi.String(\"{}\"),\n\t\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\"),\n\t\t\t\t\t\tQuery: pulumi.String(\"* | select *\"),\n\t\t\t\t\t\tTimeSpanType: pulumi.String(\"Relative\"),\n\t\t\t\t\t\tProject: defaultINsMgl.ProjectName,\n\t\t\t\t\t\tPowerSqlMode: pulumi.String(\"disable\"),\n\t\t\t\t\t\tDashboardId: pulumi.String(\"wkb-dashboard\"),\n\t\t\t\t\t\tChartTitle: pulumi.String(\"wkb-chart\"),\n\t\t\t\t\t\tStart: pulumi.String(\"-15m\"),\n\t\t\t\t\t\tEnd: pulumi.String(\"now\"),\n\t\t\t\t\t\tStoreType: pulumi.String(\"log\"),\n\t\t\t\t\t\tStore: pulumi.String(\"alert\"),\n\t\t\t\t\t\tRegion: pulumi.String(\"cn-shanghai\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tStoreType: pulumi.String(\"meta\"),\n\t\t\t\t\t\tStore: pulumi.String(\"user.rds_ip_whitelist\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationQueryListArgs{\n\t\t\t\t\t\tStoreType: pulumi.String(\"meta\"),\n\t\t\t\t\t\tStore: pulumi.String(\"myexample1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tJoinConfigurations: sls.AlertConfigurationJoinConfigurationArray{\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"no_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"aa\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"cross_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"qqq\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sls.AlertConfigurationJoinConfigurationArgs{\n\t\t\t\t\t\tType: pulumi.String(\"inner_join\"),\n\t\t\t\t\t\tCondition: pulumi.String(\"fefefe\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSinkEventStore: \u0026sls.AlertConfigurationSinkEventStoreArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tEndpoint: pulumi.String(\"cn-shanghai-intranet.log.aliyuncs.com\"),\n\t\t\t\t\tProject: pulumi.String(\"wkb-wangren\"),\n\t\t\t\t\tEventStore: pulumi.String(\"alert\"),\n\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1654218965343050:role/aliyunlogetlrole\"),\n\t\t\t\t},\n\t\t\t\tSinkAlerthub: \u0026sls.AlertConfigurationSinkAlerthubArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tNoDataSeverity: pulumi.Int(6),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"wkb\"),\n\t\t\t\t\tpulumi.String(\"wangren\"),\n\t\t\t\t\tpulumi.String(\"sls\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAlertName: pulumi.String(alertName),\n\t\t\tProjectName: defaultINsMgl.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.Alert;\nimport com.pulumi.alicloud.sls.AlertArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertScheduleArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationGroupConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationTemplateConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkCmsArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationConditionConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationPolicyConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkEventStoreArgs;\nimport com.pulumi.alicloud.sls.inputs.AlertConfigurationSinkAlerthubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var alertName = config.get(\"alertName\").orElse(\"openapi-terraform-alert\");\n final var projectName = config.get(\"projectName\").orElse(\"terraform-alert-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultINsMgl = new Project(\"defaultINsMgl\", ProjectArgs.builder()\n .description(String.format(\"%s-%s\", projectName,default_.result()))\n .projectName(String.format(\"%s-%s\", projectName,default_.result()))\n .build());\n\n var defaultAlert = new Alert(\"defaultAlert\", AlertArgs.builder()\n .schedule(AlertScheduleArgs.builder()\n .type(\"FixedRate\")\n .runImmdiately(true)\n .interval(\"1m\")\n .timeZone(\"+0800\")\n .delay(10)\n .build())\n .displayName(\"openapi-terraform\")\n .description(\"create alert\")\n .status(\"ENABLED\")\n .configuration(AlertConfigurationArgs.builder()\n .groupConfiguration(AlertConfigurationGroupConfigurationArgs.builder()\n .fields( \n \"a\",\n \"b\")\n .type(\"no_group\")\n .build())\n .noDataFire(false)\n .version(\"2\")\n .severityConfigurations(AlertConfigurationSeverityConfigurationArgs.builder()\n .severity(6)\n .evalCondition(AlertConfigurationSeverityConfigurationEvalConditionArgs.builder()\n .countCondition(\"cnt \u003e 0\")\n .condition(\"__count__ \u003e 1\")\n .build())\n .build())\n .labels(AlertConfigurationLabelArgs.builder()\n .key(\"a\")\n .value(\"b\")\n .build())\n .autoAnnotation(true)\n .templateConfiguration(AlertConfigurationTemplateConfigurationArgs.builder()\n .lang(\"cn\")\n .tokens(Map.of(\"a\", \"b\"))\n .annotations(Map.of(\"x\", \"y\"))\n .templateId(\"sls.app.ack.autoscaler.cluster_unhealthy\")\n .type(\"sys\")\n .version(\"1.0\")\n .build())\n .muteUntil(0)\n .annotations(AlertConfigurationAnnotationArgs.builder()\n .key(\"x\")\n .value(\"y\")\n .build())\n .sendResolved(false)\n .threshold(1)\n .sinkCms(AlertConfigurationSinkCmsArgs.builder()\n .enabled(false)\n .build())\n .conditionConfiguration(AlertConfigurationConditionConfigurationArgs.builder()\n .condition(\"cnt \u003e 3\")\n .countCondition(\"__count__ \u003c 3\")\n .build())\n .policyConfiguration(AlertConfigurationPolicyConfigurationArgs.builder()\n .alertPolicyId(\"sls.builtin.dynamic\")\n .actionPolicyId(\"wkb-action\")\n .repeatInterval(\"1m\")\n .build())\n .dashboard(\"internal-alert\")\n .type(\"tpl\")\n .queryLists( \n AlertConfigurationQueryListArgs.builder()\n .ui(\"{}\")\n .roleArn(\"acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\")\n .query(\"* | select *\")\n .timeSpanType(\"Relative\")\n .project(defaultINsMgl.projectName())\n .powerSqlMode(\"disable\")\n .dashboardId(\"wkb-dashboard\")\n .chartTitle(\"wkb-chart\")\n .start(\"-15m\")\n .end(\"now\")\n .storeType(\"log\")\n .store(\"alert\")\n .region(\"cn-shanghai\")\n .build(),\n AlertConfigurationQueryListArgs.builder()\n .storeType(\"meta\")\n .store(\"user.rds_ip_whitelist\")\n .build(),\n AlertConfigurationQueryListArgs.builder()\n .storeType(\"meta\")\n .store(\"myexample1\")\n .build())\n .joinConfigurations( \n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"no_join\")\n .condition(\"aa\")\n .build(),\n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"cross_join\")\n .condition(\"qqq\")\n .build(),\n AlertConfigurationJoinConfigurationArgs.builder()\n .type(\"inner_join\")\n .condition(\"fefefe\")\n .build())\n .sinkEventStore(AlertConfigurationSinkEventStoreArgs.builder()\n .enabled(true)\n .endpoint(\"cn-shanghai-intranet.log.aliyuncs.com\")\n .project(\"wkb-wangren\")\n .eventStore(\"alert\")\n .roleArn(\"acs:ram::1654218965343050:role/aliyunlogetlrole\")\n .build())\n .sinkAlerthub(AlertConfigurationSinkAlerthubArgs.builder()\n .enabled(false)\n .build())\n .noDataSeverity(6)\n .tags( \n \"wkb\",\n \"wangren\",\n \"sls\")\n .build())\n .alertName(alertName)\n .projectName(defaultINsMgl.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n alertName:\n type: string\n default: openapi-terraform-alert\n projectName:\n type: string\n default: terraform-alert-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultINsMgl:\n type: alicloud:log:Project\n properties:\n description: ${projectName}-${default.result}\n projectName: ${projectName}-${default.result}\n defaultAlert:\n type: alicloud:sls:Alert\n name: default\n properties:\n schedule:\n type: FixedRate\n runImmdiately: 'true'\n interval: 1m\n timeZone: '+0800'\n delay: '10'\n displayName: openapi-terraform\n description: create alert\n status: ENABLED\n configuration:\n groupConfiguration:\n fields:\n - a\n - b\n type: no_group\n noDataFire: 'false'\n version: '2'\n severityConfigurations:\n - severity: '6'\n evalCondition:\n countCondition: cnt \u003e 0\n condition: __count__ \u003e 1\n labels:\n - key: a\n value: b\n autoAnnotation: 'true'\n templateConfiguration:\n lang: cn\n tokens:\n a: b\n annotations:\n x: y\n templateId: sls.app.ack.autoscaler.cluster_unhealthy\n type: sys\n version: '1.0'\n muteUntil: '0'\n annotations:\n - key: x\n value: y\n sendResolved: 'false'\n threshold: '1'\n sinkCms:\n enabled: 'false'\n conditionConfiguration:\n condition: cnt \u003e 3\n countCondition: __count__ \u003c 3\n policyConfiguration:\n alertPolicyId: sls.builtin.dynamic\n actionPolicyId: wkb-action\n repeatInterval: 1m\n dashboard: internal-alert\n type: tpl\n queryLists:\n - ui: '{}'\n roleArn: acs:ram::1654218965343050:role/aliyunslsalertmonitorrole\n query: '* | select *'\n timeSpanType: Relative\n project: ${defaultINsMgl.projectName}\n powerSqlMode: disable\n dashboardId: wkb-dashboard\n chartTitle: wkb-chart\n start: -15m\n end: now\n storeType: log\n store: alert\n region: cn-shanghai\n - storeType: meta\n store: user.rds_ip_whitelist\n - storeType: meta\n store: myexample1\n joinConfigurations:\n - type: no_join\n condition: aa\n - type: cross_join\n condition: qqq\n - type: inner_join\n condition: fefefe\n sinkEventStore:\n enabled: 'true'\n endpoint: cn-shanghai-intranet.log.aliyuncs.com\n project: wkb-wangren\n eventStore: alert\n roleArn: acs:ram::1654218965343050:role/aliyunlogetlrole\n sinkAlerthub:\n enabled: 'false'\n noDataSeverity: '6'\n tags:\n - wkb\n - wangren\n - sls\n alertName: ${alertName}\n projectName: ${defaultINsMgl.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSLS Alert can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/alert:Alert example \u003cproject_name\u003e:\u003calert_name\u003e\n```\n\n", "properties": { "alertName": { "type": "string", @@ -253557,7 +259235,7 @@ } }, "alicloud:sls/collectionPolicy:CollectionPolicy": { - "description": "Provides a SLS Collection Policy resource.\n\nOrchestration policies for cloud product log collection.\n\nFor information about SLS Collection Policy and how to use it, see [What is Collection Policy](https://www.alibabacloud.com/help/zh/sls/developer-reference/api-sls-2020-12-30-upsertcollectionpolicy).\n\n\u003e **NOTE:** Available since v1.232.0.\n\n## Example Usage\n\nEnable real-time log query for all of OSS buckets.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst projectCreate01 = new alicloud.log.Project(\"project_create_01\", {\n description: name,\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstoreCreate01 = new alicloud.log.Store(\"logstore_create_01\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: projectCreate01.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst update01 = new alicloud.log.Project(\"update_01\", {\n description: name,\n projectName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstore002 = new alicloud.log.Store(\"logstore002\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: update01.projectName,\n logstoreName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultCollectionPolicy = new alicloud.sls.CollectionPolicy(\"default\", {\n policyConfig: {\n resourceMode: \"all\",\n regions: [\"cn-hangzhou\"],\n },\n dataCode: \"metering_log\",\n centralizeEnabled: true,\n productCode: \"oss\",\n policyName: \"xc-example-oss-01\",\n enabled: true,\n dataConfig: {\n dataRegion: \"cn-hangzhou\",\n },\n centralizeConfig: {\n destTtl: 3,\n destRegion: \"cn-shanghai\",\n destProject: projectCreate01.projectName,\n destLogstore: logstoreCreate01.logstoreName,\n },\n resourceDirectory: {\n accountGroupType: \"custom\",\n members: [\"1936728897040477\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nproject_create01 = alicloud.log.Project(\"project_create_01\",\n description=name,\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore_create01 = alicloud.log.Store(\"logstore_create_01\",\n retention_period=30,\n shard_count=2,\n project_name=project_create01.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nupdate01 = alicloud.log.Project(\"update_01\",\n description=name,\n project_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore002 = alicloud.log.Store(\"logstore002\",\n retention_period=30,\n shard_count=2,\n project_name=update01.project_name,\n logstore_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefault_collection_policy = alicloud.sls.CollectionPolicy(\"default\",\n policy_config={\n \"resource_mode\": \"all\",\n \"regions\": [\"cn-hangzhou\"],\n },\n data_code=\"metering_log\",\n centralize_enabled=True,\n product_code=\"oss\",\n policy_name=\"xc-example-oss-01\",\n enabled=True,\n data_config={\n \"data_region\": \"cn-hangzhou\",\n },\n centralize_config={\n \"dest_ttl\": 3,\n \"dest_region\": \"cn-shanghai\",\n \"dest_project\": project_create01.project_name,\n \"dest_logstore\": logstore_create01.logstore_name,\n },\n resource_directory={\n \"account_group_type\": \"custom\",\n \"members\": [\"1936728897040477\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var projectCreate01 = new AliCloud.Log.Project(\"project_create_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstoreCreate01 = new AliCloud.Log.Store(\"logstore_create_01\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = projectCreate01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var update01 = new AliCloud.Log.Project(\"update_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstore002 = new AliCloud.Log.Store(\"logstore002\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = update01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultCollectionPolicy = new AliCloud.Sls.CollectionPolicy(\"default\", new()\n {\n PolicyConfig = new AliCloud.Sls.Inputs.CollectionPolicyPolicyConfigArgs\n {\n ResourceMode = \"all\",\n Regions = new[]\n {\n \"cn-hangzhou\",\n },\n },\n DataCode = \"metering_log\",\n CentralizeEnabled = true,\n ProductCode = \"oss\",\n PolicyName = \"xc-example-oss-01\",\n Enabled = true,\n DataConfig = new AliCloud.Sls.Inputs.CollectionPolicyDataConfigArgs\n {\n DataRegion = \"cn-hangzhou\",\n },\n CentralizeConfig = new AliCloud.Sls.Inputs.CollectionPolicyCentralizeConfigArgs\n {\n DestTtl = 3,\n DestRegion = \"cn-shanghai\",\n DestProject = projectCreate01.ProjectName,\n DestLogstore = logstoreCreate01.LogstoreName,\n },\n ResourceDirectory = new AliCloud.Sls.Inputs.CollectionPolicyResourceDirectoryArgs\n {\n AccountGroupType = \"custom\",\n Members = new[]\n {\n \"1936728897040477\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprojectCreate01, err := log.NewProject(ctx, \"project_create_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogstoreCreate01, err := log.NewStore(ctx, \"logstore_create_01\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: projectCreate01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tupdate01, err := log.NewProject(ctx, \"update_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore002\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: update01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewCollectionPolicy(ctx, \"default\", \u0026sls.CollectionPolicyArgs{\n\t\t\tPolicyConfig: \u0026sls.CollectionPolicyPolicyConfigArgs{\n\t\t\t\tResourceMode: pulumi.String(\"all\"),\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataCode: pulumi.String(\"metering_log\"),\n\t\t\tCentralizeEnabled: pulumi.Bool(true),\n\t\t\tProductCode: pulumi.String(\"oss\"),\n\t\t\tPolicyName: pulumi.String(\"xc-example-oss-01\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tDataConfig: \u0026sls.CollectionPolicyDataConfigArgs{\n\t\t\t\tDataRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tCentralizeConfig: \u0026sls.CollectionPolicyCentralizeConfigArgs{\n\t\t\t\tDestTtl: pulumi.Int(3),\n\t\t\t\tDestRegion: pulumi.String(\"cn-shanghai\"),\n\t\t\t\tDestProject: projectCreate01.ProjectName,\n\t\t\t\tDestLogstore: logstoreCreate01.LogstoreName,\n\t\t\t},\n\t\t\tResourceDirectory: \u0026sls.CollectionPolicyResourceDirectoryArgs{\n\t\t\t\tAccountGroupType: pulumi.String(\"custom\"),\n\t\t\t\tMembers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1936728897040477\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.CollectionPolicy;\nimport com.pulumi.alicloud.sls.CollectionPolicyArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyPolicyConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyDataConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyCentralizeConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyResourceDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var projectCreate01 = new Project(\"projectCreate01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstoreCreate01 = new Store(\"logstoreCreate01\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(projectCreate01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var update01 = new Project(\"update01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstore002 = new Store(\"logstore002\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(update01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultCollectionPolicy = new CollectionPolicy(\"defaultCollectionPolicy\", CollectionPolicyArgs.builder()\n .policyConfig(CollectionPolicyPolicyConfigArgs.builder()\n .resourceMode(\"all\")\n .regions(\"cn-hangzhou\")\n .build())\n .dataCode(\"metering_log\")\n .centralizeEnabled(true)\n .productCode(\"oss\")\n .policyName(\"xc-example-oss-01\")\n .enabled(true)\n .dataConfig(CollectionPolicyDataConfigArgs.builder()\n .dataRegion(\"cn-hangzhou\")\n .build())\n .centralizeConfig(CollectionPolicyCentralizeConfigArgs.builder()\n .destTtl(3)\n .destRegion(\"cn-shanghai\")\n .destProject(projectCreate01.projectName())\n .destLogstore(logstoreCreate01.logstoreName())\n .build())\n .resourceDirectory(CollectionPolicyResourceDirectoryArgs.builder()\n .accountGroupType(\"custom\")\n .members(\"1936728897040477\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n projectCreate01:\n type: alicloud:log:Project\n name: project_create_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstoreCreate01:\n type: alicloud:log:Store\n name: logstore_create_01\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${projectCreate01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n update01:\n type: alicloud:log:Project\n name: update_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstore002:\n type: alicloud:log:Store\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${update01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultCollectionPolicy:\n type: alicloud:sls:CollectionPolicy\n name: default\n properties:\n policyConfig:\n resourceMode: all\n regions:\n - cn-hangzhou\n dataCode: metering_log\n centralizeEnabled: true\n productCode: oss\n policyName: xc-example-oss-01\n enabled: true\n dataConfig:\n dataRegion: cn-hangzhou\n centralizeConfig:\n destTtl: '3'\n destRegion: cn-shanghai\n destProject: ${projectCreate01.projectName}\n destLogstore: ${logstoreCreate01.logstoreName}\n resourceDirectory:\n accountGroupType: custom\n members:\n - '1936728897040477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable real-time log query for one or more specific OSS buckets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example-on-single-bucket\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst projectCreate01 = new alicloud.log.Project(\"project_create_01\", {\n description: name,\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstoreCreate01 = new alicloud.log.Store(\"logstore_create_01\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: projectCreate01.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst update01 = new alicloud.log.Project(\"update_01\", {\n description: name,\n projectName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstore002 = new alicloud.log.Store(\"logstore002\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: update01.projectName,\n logstoreName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst bucket = new alicloud.oss.Bucket(\"bucket\", {bucket: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n}).then(invoke =\u003e invoke.result)});\nconst defaultCollectionPolicy = new alicloud.sls.CollectionPolicy(\"default\", {\n policyConfig: {\n resourceMode: \"instanceMode\",\n instanceIds: [bucket.id],\n },\n dataCode: \"access_log\",\n centralizeEnabled: false,\n productCode: \"oss\",\n policyName: \"xc-example-oss-01\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example-on-single-bucket\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nproject_create01 = alicloud.log.Project(\"project_create_01\",\n description=name,\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore_create01 = alicloud.log.Store(\"logstore_create_01\",\n retention_period=30,\n shard_count=2,\n project_name=project_create01.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nupdate01 = alicloud.log.Project(\"update_01\",\n description=name,\n project_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore002 = alicloud.log.Store(\"logstore002\",\n retention_period=30,\n shard_count=2,\n project_name=update01.project_name,\n logstore_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nbucket = alicloud.oss.Bucket(\"bucket\", bucket=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefault_collection_policy = alicloud.sls.CollectionPolicy(\"default\",\n policy_config={\n \"resource_mode\": \"instanceMode\",\n \"instance_ids\": [bucket.id],\n },\n data_code=\"access_log\",\n centralize_enabled=False,\n product_code=\"oss\",\n policy_name=\"xc-example-oss-01\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example-on-single-bucket\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var projectCreate01 = new AliCloud.Log.Project(\"project_create_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstoreCreate01 = new AliCloud.Log.Store(\"logstore_create_01\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = projectCreate01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var update01 = new AliCloud.Log.Project(\"update_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstore002 = new AliCloud.Log.Store(\"logstore002\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = update01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var bucket = new AliCloud.Oss.Bucket(\"bucket\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultCollectionPolicy = new AliCloud.Sls.CollectionPolicy(\"default\", new()\n {\n PolicyConfig = new AliCloud.Sls.Inputs.CollectionPolicyPolicyConfigArgs\n {\n ResourceMode = \"instanceMode\",\n InstanceIds = new[]\n {\n bucket.Id,\n },\n },\n DataCode = \"access_log\",\n CentralizeEnabled = false,\n ProductCode = \"oss\",\n PolicyName = \"xc-example-oss-01\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example-on-single-bucket\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprojectCreate01, err := log.NewProject(ctx, \"project_create_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore_create_01\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: projectCreate01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tupdate01, err := log.NewProject(ctx, \"update_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore002\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: update01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat4, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := oss.NewBucket(ctx, \"bucket\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat4.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewCollectionPolicy(ctx, \"default\", \u0026sls.CollectionPolicyArgs{\n\t\t\tPolicyConfig: \u0026sls.CollectionPolicyPolicyConfigArgs{\n\t\t\t\tResourceMode: pulumi.String(\"instanceMode\"),\n\t\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\t\tbucket.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataCode: pulumi.String(\"access_log\"),\n\t\t\tCentralizeEnabled: pulumi.Bool(false),\n\t\t\tProductCode: pulumi.String(\"oss\"),\n\t\t\tPolicyName: pulumi.String(\"xc-example-oss-01\"),\n\t\t\tEnabled: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.sls.CollectionPolicy;\nimport com.pulumi.alicloud.sls.CollectionPolicyArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyPolicyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example-on-single-bucket\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var projectCreate01 = new Project(\"projectCreate01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstoreCreate01 = new Store(\"logstoreCreate01\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(projectCreate01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var update01 = new Project(\"update01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstore002 = new Store(\"logstore002\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(update01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultCollectionPolicy = new CollectionPolicy(\"defaultCollectionPolicy\", CollectionPolicyArgs.builder()\n .policyConfig(CollectionPolicyPolicyConfigArgs.builder()\n .resourceMode(\"instanceMode\")\n .instanceIds(bucket.id())\n .build())\n .dataCode(\"access_log\")\n .centralizeEnabled(false)\n .productCode(\"oss\")\n .policyName(\"xc-example-oss-01\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example-on-single-bucket\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n projectCreate01:\n type: alicloud:log:Project\n name: project_create_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstoreCreate01:\n type: alicloud:log:Store\n name: logstore_create_01\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${projectCreate01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n update01:\n type: alicloud:log:Project\n name: update_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstore002:\n type: alicloud:log:Store\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${update01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n bucket:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultCollectionPolicy:\n type: alicloud:sls:CollectionPolicy\n name: default\n properties:\n policyConfig:\n resourceMode: instanceMode\n instanceIds:\n - ${bucket.id}\n dataCode: access_log\n centralizeEnabled: false\n productCode: oss\n policyName: xc-example-oss-01\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSLS Collection Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/collectionPolicy:CollectionPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a SLS Collection Policy resource.\n\nOrchestration policies for cloud product log collection.\n\nFor information about SLS Collection Policy and how to use it, see [What is Collection Policy](https://www.alibabacloud.com/help/zh/sls/developer-reference/api-sls-2020-12-30-upsertcollectionpolicy).\n\n\u003e **NOTE:** Available since v1.232.0.\n\n## Example Usage\n\nEnable real-time log query for all of OSS buckets.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst projectCreate01 = new alicloud.log.Project(\"project_create_01\", {\n description: name,\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstoreCreate01 = new alicloud.log.Store(\"logstore_create_01\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: projectCreate01.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst update01 = new alicloud.log.Project(\"update_01\", {\n description: name,\n projectName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstore002 = new alicloud.log.Store(\"logstore002\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: update01.projectName,\n logstoreName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultCollectionPolicy = new alicloud.sls.CollectionPolicy(\"default\", {\n policyConfig: {\n resourceMode: \"all\",\n regions: [\"cn-hangzhou\"],\n },\n dataCode: \"metering_log\",\n centralizeEnabled: true,\n productCode: \"oss\",\n policyName: \"xc-example-oss-01\",\n enabled: true,\n dataConfig: {\n dataRegion: \"cn-hangzhou\",\n },\n centralizeConfig: {\n destTtl: 3,\n destRegion: \"cn-shanghai\",\n destProject: projectCreate01.projectName,\n destLogstore: logstoreCreate01.logstoreName,\n },\n resourceDirectory: {\n accountGroupType: \"custom\",\n members: [\"1936728897040477\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nproject_create01 = alicloud.log.Project(\"project_create_01\",\n description=name,\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore_create01 = alicloud.log.Store(\"logstore_create_01\",\n retention_period=30,\n shard_count=2,\n project_name=project_create01.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nupdate01 = alicloud.log.Project(\"update_01\",\n description=name,\n project_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore002 = alicloud.log.Store(\"logstore002\",\n retention_period=30,\n shard_count=2,\n project_name=update01.project_name,\n logstore_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefault_collection_policy = alicloud.sls.CollectionPolicy(\"default\",\n policy_config={\n \"resource_mode\": \"all\",\n \"regions\": [\"cn-hangzhou\"],\n },\n data_code=\"metering_log\",\n centralize_enabled=True,\n product_code=\"oss\",\n policy_name=\"xc-example-oss-01\",\n enabled=True,\n data_config={\n \"data_region\": \"cn-hangzhou\",\n },\n centralize_config={\n \"dest_ttl\": 3,\n \"dest_region\": \"cn-shanghai\",\n \"dest_project\": project_create01.project_name,\n \"dest_logstore\": logstore_create01.logstore_name,\n },\n resource_directory={\n \"account_group_type\": \"custom\",\n \"members\": [\"1936728897040477\"],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var projectCreate01 = new AliCloud.Log.Project(\"project_create_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstoreCreate01 = new AliCloud.Log.Store(\"logstore_create_01\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = projectCreate01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var update01 = new AliCloud.Log.Project(\"update_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstore002 = new AliCloud.Log.Store(\"logstore002\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = update01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultCollectionPolicy = new AliCloud.Sls.CollectionPolicy(\"default\", new()\n {\n PolicyConfig = new AliCloud.Sls.Inputs.CollectionPolicyPolicyConfigArgs\n {\n ResourceMode = \"all\",\n Regions = new[]\n {\n \"cn-hangzhou\",\n },\n },\n DataCode = \"metering_log\",\n CentralizeEnabled = true,\n ProductCode = \"oss\",\n PolicyName = \"xc-example-oss-01\",\n Enabled = true,\n DataConfig = new AliCloud.Sls.Inputs.CollectionPolicyDataConfigArgs\n {\n DataRegion = \"cn-hangzhou\",\n },\n CentralizeConfig = new AliCloud.Sls.Inputs.CollectionPolicyCentralizeConfigArgs\n {\n DestTtl = 3,\n DestRegion = \"cn-shanghai\",\n DestProject = projectCreate01.ProjectName,\n DestLogstore = logstoreCreate01.LogstoreName,\n },\n ResourceDirectory = new AliCloud.Sls.Inputs.CollectionPolicyResourceDirectoryArgs\n {\n AccountGroupType = \"custom\",\n Members = new[]\n {\n \"1936728897040477\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprojectCreate01, err := log.NewProject(ctx, \"project_create_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogstoreCreate01, err := log.NewStore(ctx, \"logstore_create_01\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: projectCreate01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tupdate01, err := log.NewProject(ctx, \"update_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore002\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: update01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewCollectionPolicy(ctx, \"default\", \u0026sls.CollectionPolicyArgs{\n\t\t\tPolicyConfig: \u0026sls.CollectionPolicyPolicyConfigArgs{\n\t\t\t\tResourceMode: pulumi.String(\"all\"),\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataCode: pulumi.String(\"metering_log\"),\n\t\t\tCentralizeEnabled: pulumi.Bool(true),\n\t\t\tProductCode: pulumi.String(\"oss\"),\n\t\t\tPolicyName: pulumi.String(\"xc-example-oss-01\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tDataConfig: \u0026sls.CollectionPolicyDataConfigArgs{\n\t\t\t\tDataRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tCentralizeConfig: \u0026sls.CollectionPolicyCentralizeConfigArgs{\n\t\t\t\tDestTtl: pulumi.Int(3),\n\t\t\t\tDestRegion: pulumi.String(\"cn-shanghai\"),\n\t\t\t\tDestProject: projectCreate01.ProjectName,\n\t\t\t\tDestLogstore: logstoreCreate01.LogstoreName,\n\t\t\t},\n\t\t\tResourceDirectory: \u0026sls.CollectionPolicyResourceDirectoryArgs{\n\t\t\t\tAccountGroupType: pulumi.String(\"custom\"),\n\t\t\t\tMembers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1936728897040477\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.CollectionPolicy;\nimport com.pulumi.alicloud.sls.CollectionPolicyArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyPolicyConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyDataConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyCentralizeConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyResourceDirectoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var projectCreate01 = new Project(\"projectCreate01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstoreCreate01 = new Store(\"logstoreCreate01\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(projectCreate01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var update01 = new Project(\"update01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstore002 = new Store(\"logstore002\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(update01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultCollectionPolicy = new CollectionPolicy(\"defaultCollectionPolicy\", CollectionPolicyArgs.builder()\n .policyConfig(CollectionPolicyPolicyConfigArgs.builder()\n .resourceMode(\"all\")\n .regions(\"cn-hangzhou\")\n .build())\n .dataCode(\"metering_log\")\n .centralizeEnabled(true)\n .productCode(\"oss\")\n .policyName(\"xc-example-oss-01\")\n .enabled(true)\n .dataConfig(CollectionPolicyDataConfigArgs.builder()\n .dataRegion(\"cn-hangzhou\")\n .build())\n .centralizeConfig(CollectionPolicyCentralizeConfigArgs.builder()\n .destTtl(3)\n .destRegion(\"cn-shanghai\")\n .destProject(projectCreate01.projectName())\n .destLogstore(logstoreCreate01.logstoreName())\n .build())\n .resourceDirectory(CollectionPolicyResourceDirectoryArgs.builder()\n .accountGroupType(\"custom\")\n .members(\"1936728897040477\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n projectCreate01:\n type: alicloud:log:Project\n name: project_create_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstoreCreate01:\n type: alicloud:log:Store\n name: logstore_create_01\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${projectCreate01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n update01:\n type: alicloud:log:Project\n name: update_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstore002:\n type: alicloud:log:Store\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${update01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultCollectionPolicy:\n type: alicloud:sls:CollectionPolicy\n name: default\n properties:\n policyConfig:\n resourceMode: all\n regions:\n - cn-hangzhou\n dataCode: metering_log\n centralizeEnabled: true\n productCode: oss\n policyName: xc-example-oss-01\n enabled: true\n dataConfig:\n dataRegion: cn-hangzhou\n centralizeConfig:\n destTtl: '3'\n destRegion: cn-shanghai\n destProject: ${projectCreate01.projectName}\n destLogstore: ${logstoreCreate01.logstoreName}\n resourceDirectory:\n accountGroupType: custom\n members:\n - '1936728897040477'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nEnable real-time log query for one or more specific OSS buckets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example-on-single-bucket\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst projectCreate01 = new alicloud.log.Project(\"project_create_01\", {\n description: name,\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstoreCreate01 = new alicloud.log.Store(\"logstore_create_01\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: projectCreate01.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst update01 = new alicloud.log.Project(\"update_01\", {\n description: name,\n projectName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst logstore002 = new alicloud.log.Store(\"logstore002\", {\n retentionPeriod: 30,\n shardCount: 2,\n projectName: update01.projectName,\n logstoreName: std.format({\n input: \"%s2%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst bucket = new alicloud.oss.Bucket(\"bucket\", {bucket: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n}).then(invoke =\u003e invoke.result)});\nconst defaultCollectionPolicy = new alicloud.sls.CollectionPolicy(\"default\", {\n policyConfig: {\n resourceMode: \"instanceMode\",\n instanceIds: [bucket.id],\n },\n dataCode: \"access_log\",\n centralizeEnabled: false,\n productCode: \"oss\",\n policyName: \"xc-example-oss-01\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example-on-single-bucket\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nproject_create01 = alicloud.log.Project(\"project_create_01\",\n description=name,\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore_create01 = alicloud.log.Store(\"logstore_create_01\",\n retention_period=30,\n shard_count=2,\n project_name=project_create01.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nupdate01 = alicloud.log.Project(\"update_01\",\n description=name,\n project_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nlogstore002 = alicloud.log.Store(\"logstore002\",\n retention_period=30,\n shard_count=2,\n project_name=update01.project_name,\n logstore_name=std.format(input=\"%s2%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\nbucket = alicloud.oss.Bucket(\"bucket\", bucket=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefault_collection_policy = alicloud.sls.CollectionPolicy(\"default\",\n policy_config={\n \"resource_mode\": \"instanceMode\",\n \"instance_ids\": [bucket.id],\n },\n data_code=\"access_log\",\n centralize_enabled=False,\n product_code=\"oss\",\n policy_name=\"xc-example-oss-01\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example-on-single-bucket\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var projectCreate01 = new AliCloud.Log.Project(\"project_create_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstoreCreate01 = new AliCloud.Log.Store(\"logstore_create_01\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = projectCreate01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var update01 = new AliCloud.Log.Project(\"update_01\", new()\n {\n Description = name,\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var logstore002 = new AliCloud.Log.Store(\"logstore002\", new()\n {\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = update01.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s2%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var bucket = new AliCloud.Oss.Bucket(\"bucket\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultCollectionPolicy = new AliCloud.Sls.CollectionPolicy(\"default\", new()\n {\n PolicyConfig = new AliCloud.Sls.Inputs.CollectionPolicyPolicyConfigArgs\n {\n ResourceMode = \"instanceMode\",\n InstanceIds = new[]\n {\n bucket.Id,\n },\n },\n DataCode = \"access_log\",\n CentralizeEnabled = false,\n ProductCode = \"oss\",\n PolicyName = \"xc-example-oss-01\",\n Enabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example-on-single-bucket\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprojectCreate01, err := log.NewProject(ctx, \"project_create_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore_create_01\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: projectCreate01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tupdate01, err := log.NewProject(ctx, \"update_01\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProjectName: pulumi.String(invokeFormat2.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat3, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s2%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\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 = log.NewStore(ctx, \"logstore002\", \u0026log.StoreArgs{\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: update01.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat4, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket, err := oss.NewBucket(ctx, \"bucket\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat4.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewCollectionPolicy(ctx, \"default\", \u0026sls.CollectionPolicyArgs{\n\t\t\tPolicyConfig: \u0026sls.CollectionPolicyPolicyConfigArgs{\n\t\t\t\tResourceMode: pulumi.String(\"instanceMode\"),\n\t\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\t\tbucket.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDataCode: pulumi.String(\"access_log\"),\n\t\t\tCentralizeEnabled: pulumi.Bool(false),\n\t\t\tProductCode: pulumi.String(\"oss\"),\n\t\t\tPolicyName: pulumi.String(\"xc-example-oss-01\"),\n\t\t\tEnabled: 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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.sls.CollectionPolicy;\nimport com.pulumi.alicloud.sls.CollectionPolicyArgs;\nimport com.pulumi.alicloud.sls.inputs.CollectionPolicyPolicyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example-on-single-bucket\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var projectCreate01 = new Project(\"projectCreate01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstoreCreate01 = new Store(\"logstoreCreate01\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(projectCreate01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var update01 = new Project(\"update01\", ProjectArgs.builder()\n .description(name)\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var logstore002 = new Store(\"logstore002\", StoreArgs.builder()\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(update01.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s2%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var bucket = new Bucket(\"bucket\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultCollectionPolicy = new CollectionPolicy(\"defaultCollectionPolicy\", CollectionPolicyArgs.builder()\n .policyConfig(CollectionPolicyPolicyConfigArgs.builder()\n .resourceMode(\"instanceMode\")\n .instanceIds(bucket.id())\n .build())\n .dataCode(\"access_log\")\n .centralizeEnabled(false)\n .productCode(\"oss\")\n .policyName(\"xc-example-oss-01\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example-on-single-bucket\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n projectCreate01:\n type: alicloud:log:Project\n name: project_create_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstoreCreate01:\n type: alicloud:log:Store\n name: logstore_create_01\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${projectCreate01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n update01:\n type: alicloud:log:Project\n name: update_01\n properties:\n description: ${name}\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n logstore002:\n type: alicloud:log:Store\n properties:\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${update01.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s2%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n bucket:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultCollectionPolicy:\n type: alicloud:sls:CollectionPolicy\n name: default\n properties:\n policyConfig:\n resourceMode: instanceMode\n instanceIds:\n - ${bucket.id}\n dataCode: access_log\n centralizeEnabled: false\n productCode: oss\n policyName: xc-example-oss-01\n enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSLS Collection Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/collectionPolicy:CollectionPolicy example \u003cid\u003e\n```\n\n", "properties": { "centralizeConfig": { "$ref": "#/types/alicloud:sls/CollectionPolicyCentralizeConfig:CollectionPolicyCentralizeConfig", @@ -253703,7 +259381,7 @@ } }, "alicloud:sls/etl:Etl": { - "description": "Provides a Log Service (SLS) Etl resource.\n\n\n\nFor information about Log Service (SLS) Etl and how to use it, see [What is Etl](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateETL).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaulthhAPo6 = new alicloud.log.Project(\"defaulthhAPo6\", {\n description: \"terraform-etl-example-813\",\n projectName: \"terraform-etl-example-330\",\n});\nconst defaultzWKLkp = new alicloud.log.Store(\"defaultzWKLkp\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaulthhAPo6.id,\n logstoreName: \"example\",\n});\nconst _default = new alicloud.sls.Etl(\"default\", {\n project: defaulthhAPo6.id,\n description: \"etl-1740472705-185721\",\n configuration: {\n script: \"* | extend a=1\",\n lang: \"SPL\",\n roleArn: name,\n sinks: [{\n name: \"11111\",\n endpoint: \"cn-hangzhou-intranet.log.aliyuncs.com\",\n project: \"gy-hangzhou-huolang-1\",\n logstore: \"gy-rm2\",\n datasets: [\"__UNNAMED__\"],\n roleArn: name,\n }],\n logstore: defaultzWKLkp.logstoreName,\n fromTime: 1706771697,\n toTime: 1738394097,\n },\n jobName: \"etl-1740472705-185721\",\n displayName: \"etl-1740472705-185721\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaulthh_a_po6 = alicloud.log.Project(\"defaulthhAPo6\",\n description=\"terraform-etl-example-813\",\n project_name=\"terraform-etl-example-330\")\ndefaultz_wk_lkp = alicloud.log.Store(\"defaultzWKLkp\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=defaulthh_a_po6.id,\n logstore_name=\"example\")\ndefault = alicloud.sls.Etl(\"default\",\n project=defaulthh_a_po6.id,\n description=\"etl-1740472705-185721\",\n configuration={\n \"script\": \"* | extend a=1\",\n \"lang\": \"SPL\",\n \"role_arn\": name,\n \"sinks\": [{\n \"name\": \"11111\",\n \"endpoint\": \"cn-hangzhou-intranet.log.aliyuncs.com\",\n \"project\": \"gy-hangzhou-huolang-1\",\n \"logstore\": \"gy-rm2\",\n \"datasets\": [\"__UNNAMED__\"],\n \"role_arn\": name,\n }],\n \"logstore\": defaultz_wk_lkp.logstore_name,\n \"from_time\": 1706771697,\n \"to_time\": 1738394097,\n },\n job_name=\"etl-1740472705-185721\",\n display_name=\"etl-1740472705-185721\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaulthhAPo6 = new AliCloud.Log.Project(\"defaulthhAPo6\", new()\n {\n Description = \"terraform-etl-example-813\",\n ProjectName = \"terraform-etl-example-330\",\n });\n\n var defaultzWKLkp = new AliCloud.Log.Store(\"defaultzWKLkp\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaulthhAPo6.Id,\n LogstoreName = \"example\",\n });\n\n var @default = new AliCloud.Sls.Etl(\"default\", new()\n {\n Project = defaulthhAPo6.Id,\n Description = \"etl-1740472705-185721\",\n Configuration = new AliCloud.Sls.Inputs.EtlConfigurationArgs\n {\n Script = \"* | extend a=1\",\n Lang = \"SPL\",\n RoleArn = name,\n Sinks = new[]\n {\n new AliCloud.Sls.Inputs.EtlConfigurationSinkArgs\n {\n Name = \"11111\",\n Endpoint = \"cn-hangzhou-intranet.log.aliyuncs.com\",\n Project = \"gy-hangzhou-huolang-1\",\n Logstore = \"gy-rm2\",\n Datasets = new[]\n {\n \"__UNNAMED__\",\n },\n RoleArn = name,\n },\n },\n Logstore = defaultzWKLkp.LogstoreName,\n FromTime = 1706771697,\n ToTime = 1738394097,\n },\n JobName = \"etl-1740472705-185721\",\n DisplayName = \"etl-1740472705-185721\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulthhAPo6, err := log.NewProject(ctx, \"defaulthhAPo6\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform-etl-example-813\"),\n\t\t\tProjectName: pulumi.String(\"terraform-etl-example-330\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultzWKLkp, err := log.NewStore(ctx, \"defaultzWKLkp\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaulthhAPo6.ID(),\n\t\t\tLogstoreName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewEtl(ctx, \"default\", \u0026sls.EtlArgs{\n\t\t\tProject: defaulthhAPo6.ID(),\n\t\t\tDescription: pulumi.String(\"etl-1740472705-185721\"),\n\t\t\tConfiguration: \u0026sls.EtlConfigurationArgs{\n\t\t\t\tScript: pulumi.String(\"* | extend a=1\"),\n\t\t\t\tLang: pulumi.String(\"SPL\"),\n\t\t\t\tRoleArn: pulumi.String(name),\n\t\t\t\tSinks: sls.EtlConfigurationSinkArray{\n\t\t\t\t\t\u0026sls.EtlConfigurationSinkArgs{\n\t\t\t\t\t\tName: pulumi.String(\"11111\"),\n\t\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou-intranet.log.aliyuncs.com\"),\n\t\t\t\t\t\tProject: pulumi.String(\"gy-hangzhou-huolang-1\"),\n\t\t\t\t\t\tLogstore: pulumi.String(\"gy-rm2\"),\n\t\t\t\t\t\tDatasets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"__UNNAMED__\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRoleArn: pulumi.String(name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogstore: defaultzWKLkp.LogstoreName,\n\t\t\t\tFromTime: pulumi.Int(1706771697),\n\t\t\t\tToTime: pulumi.Int(1738394097),\n\t\t\t},\n\t\t\tJobName: pulumi.String(\"etl-1740472705-185721\"),\n\t\t\tDisplayName: pulumi.String(\"etl-1740472705-185721\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.Etl;\nimport com.pulumi.alicloud.sls.EtlArgs;\nimport com.pulumi.alicloud.sls.inputs.EtlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaulthhAPo6 = new Project(\"defaulthhAPo6\", ProjectArgs.builder()\n .description(\"terraform-etl-example-813\")\n .projectName(\"terraform-etl-example-330\")\n .build());\n\n var defaultzWKLkp = new Store(\"defaultzWKLkp\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaulthhAPo6.id())\n .logstoreName(\"example\")\n .build());\n\n var default_ = new Etl(\"default\", EtlArgs.builder()\n .project(defaulthhAPo6.id())\n .description(\"etl-1740472705-185721\")\n .configuration(EtlConfigurationArgs.builder()\n .script(\"* | extend a=1\")\n .lang(\"SPL\")\n .roleArn(name)\n .sinks(EtlConfigurationSinkArgs.builder()\n .name(\"11111\")\n .endpoint(\"cn-hangzhou-intranet.log.aliyuncs.com\")\n .project(\"gy-hangzhou-huolang-1\")\n .logstore(\"gy-rm2\")\n .datasets(\"__UNNAMED__\")\n .roleArn(name)\n .build())\n .logstore(defaultzWKLkp.logstoreName())\n .fromTime(1706771697)\n .toTime(1738394097)\n .build())\n .jobName(\"etl-1740472705-185721\")\n .displayName(\"etl-1740472705-185721\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulthhAPo6:\n type: alicloud:log:Project\n properties:\n description: terraform-etl-example-813\n projectName: terraform-etl-example-330\n defaultzWKLkp:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaulthhAPo6.id}\n logstoreName: example\n default:\n type: alicloud:sls:Etl\n properties:\n project: ${defaulthhAPo6.id}\n description: etl-1740472705-185721\n configuration:\n script: '* | extend a=1'\n lang: SPL\n roleArn: ${name}\n sinks:\n - name: '11111'\n endpoint: cn-hangzhou-intranet.log.aliyuncs.com\n project: gy-hangzhou-huolang-1\n logstore: gy-rm2\n datasets:\n - __UNNAMED__\n roleArn: ${name}\n logstore: ${defaultzWKLkp.logstoreName}\n fromTime: '1706771697'\n toTime: '1738394097'\n jobName: etl-1740472705-185721\n displayName: etl-1740472705-185721\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Service (SLS) Etl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/etl:Etl example \u003cproject\u003e:\u003cjob_name\u003e\n```\n\n", + "description": "Provides a Log Service (SLS) Etl resource.\n\n\n\nFor information about Log Service (SLS) Etl and how to use it, see [What is Etl](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateETL).\n\n\u003e **NOTE:** Available since v1.248.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaulthhAPo6 = new alicloud.log.Project(\"defaulthhAPo6\", {\n description: \"terraform-etl-example-813\",\n projectName: \"terraform-etl-example-330\",\n});\nconst defaultzWKLkp = new alicloud.log.Store(\"defaultzWKLkp\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaulthhAPo6.id,\n logstoreName: \"example\",\n});\nconst _default = new alicloud.sls.Etl(\"default\", {\n project: defaulthhAPo6.id,\n description: \"etl-1740472705-185721\",\n configuration: {\n script: \"* | extend a=1\",\n lang: \"SPL\",\n roleArn: name,\n sinks: [{\n name: \"11111\",\n endpoint: \"cn-hangzhou-intranet.log.aliyuncs.com\",\n project: \"gy-hangzhou-huolang-1\",\n logstore: \"gy-rm2\",\n datasets: [\"__UNNAMED__\"],\n roleArn: name,\n }],\n logstore: defaultzWKLkp.logstoreName,\n fromTime: 1706771697,\n toTime: 1738394097,\n },\n jobName: \"etl-1740472705-185721\",\n displayName: \"etl-1740472705-185721\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaulthh_a_po6 = alicloud.log.Project(\"defaulthhAPo6\",\n description=\"terraform-etl-example-813\",\n project_name=\"terraform-etl-example-330\")\ndefaultz_wk_lkp = alicloud.log.Store(\"defaultzWKLkp\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=defaulthh_a_po6.id,\n logstore_name=\"example\")\ndefault = alicloud.sls.Etl(\"default\",\n project=defaulthh_a_po6.id,\n description=\"etl-1740472705-185721\",\n configuration={\n \"script\": \"* | extend a=1\",\n \"lang\": \"SPL\",\n \"role_arn\": name,\n \"sinks\": [{\n \"name\": \"11111\",\n \"endpoint\": \"cn-hangzhou-intranet.log.aliyuncs.com\",\n \"project\": \"gy-hangzhou-huolang-1\",\n \"logstore\": \"gy-rm2\",\n \"datasets\": [\"__UNNAMED__\"],\n \"role_arn\": name,\n }],\n \"logstore\": defaultz_wk_lkp.logstore_name,\n \"from_time\": 1706771697,\n \"to_time\": 1738394097,\n },\n job_name=\"etl-1740472705-185721\",\n display_name=\"etl-1740472705-185721\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaulthhAPo6 = new AliCloud.Log.Project(\"defaulthhAPo6\", new()\n {\n Description = \"terraform-etl-example-813\",\n ProjectName = \"terraform-etl-example-330\",\n });\n\n var defaultzWKLkp = new AliCloud.Log.Store(\"defaultzWKLkp\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaulthhAPo6.Id,\n LogstoreName = \"example\",\n });\n\n var @default = new AliCloud.Sls.Etl(\"default\", new()\n {\n Project = defaulthhAPo6.Id,\n Description = \"etl-1740472705-185721\",\n Configuration = new AliCloud.Sls.Inputs.EtlConfigurationArgs\n {\n Script = \"* | extend a=1\",\n Lang = \"SPL\",\n RoleArn = name,\n Sinks = new[]\n {\n new AliCloud.Sls.Inputs.EtlConfigurationSinkArgs\n {\n Name = \"11111\",\n Endpoint = \"cn-hangzhou-intranet.log.aliyuncs.com\",\n Project = \"gy-hangzhou-huolang-1\",\n Logstore = \"gy-rm2\",\n Datasets = new[]\n {\n \"__UNNAMED__\",\n },\n RoleArn = name,\n },\n },\n Logstore = defaultzWKLkp.LogstoreName,\n FromTime = 1706771697,\n ToTime = 1738394097,\n },\n JobName = \"etl-1740472705-185721\",\n DisplayName = \"etl-1740472705-185721\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulthhAPo6, err := log.NewProject(ctx, \"defaulthhAPo6\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform-etl-example-813\"),\n\t\t\tProjectName: pulumi.String(\"terraform-etl-example-330\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultzWKLkp, err := log.NewStore(ctx, \"defaultzWKLkp\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaulthhAPo6.ID(),\n\t\t\tLogstoreName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewEtl(ctx, \"default\", \u0026sls.EtlArgs{\n\t\t\tProject: defaulthhAPo6.ID(),\n\t\t\tDescription: pulumi.String(\"etl-1740472705-185721\"),\n\t\t\tConfiguration: \u0026sls.EtlConfigurationArgs{\n\t\t\t\tScript: pulumi.String(\"* | extend a=1\"),\n\t\t\t\tLang: pulumi.String(\"SPL\"),\n\t\t\t\tRoleArn: pulumi.String(name),\n\t\t\t\tSinks: sls.EtlConfigurationSinkArray{\n\t\t\t\t\t\u0026sls.EtlConfigurationSinkArgs{\n\t\t\t\t\t\tName: pulumi.String(\"11111\"),\n\t\t\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou-intranet.log.aliyuncs.com\"),\n\t\t\t\t\t\tProject: pulumi.String(\"gy-hangzhou-huolang-1\"),\n\t\t\t\t\t\tLogstore: pulumi.String(\"gy-rm2\"),\n\t\t\t\t\t\tDatasets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"__UNNAMED__\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRoleArn: pulumi.String(name),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLogstore: defaultzWKLkp.LogstoreName,\n\t\t\t\tFromTime: pulumi.Int(1706771697),\n\t\t\t\tToTime: pulumi.Int(1738394097),\n\t\t\t},\n\t\t\tJobName: pulumi.String(\"etl-1740472705-185721\"),\n\t\t\tDisplayName: pulumi.String(\"etl-1740472705-185721\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.Etl;\nimport com.pulumi.alicloud.sls.EtlArgs;\nimport com.pulumi.alicloud.sls.inputs.EtlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaulthhAPo6 = new Project(\"defaulthhAPo6\", ProjectArgs.builder()\n .description(\"terraform-etl-example-813\")\n .projectName(\"terraform-etl-example-330\")\n .build());\n\n var defaultzWKLkp = new Store(\"defaultzWKLkp\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaulthhAPo6.id())\n .logstoreName(\"example\")\n .build());\n\n var default_ = new Etl(\"default\", EtlArgs.builder()\n .project(defaulthhAPo6.id())\n .description(\"etl-1740472705-185721\")\n .configuration(EtlConfigurationArgs.builder()\n .script(\"* | extend a=1\")\n .lang(\"SPL\")\n .roleArn(name)\n .sinks(EtlConfigurationSinkArgs.builder()\n .name(\"11111\")\n .endpoint(\"cn-hangzhou-intranet.log.aliyuncs.com\")\n .project(\"gy-hangzhou-huolang-1\")\n .logstore(\"gy-rm2\")\n .datasets(\"__UNNAMED__\")\n .roleArn(name)\n .build())\n .logstore(defaultzWKLkp.logstoreName())\n .fromTime(1706771697)\n .toTime(1738394097)\n .build())\n .jobName(\"etl-1740472705-185721\")\n .displayName(\"etl-1740472705-185721\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulthhAPo6:\n type: alicloud:log:Project\n properties:\n description: terraform-etl-example-813\n projectName: terraform-etl-example-330\n defaultzWKLkp:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaulthhAPo6.id}\n logstoreName: example\n default:\n type: alicloud:sls:Etl\n properties:\n project: ${defaulthhAPo6.id}\n description: etl-1740472705-185721\n configuration:\n script: '* | extend a=1'\n lang: SPL\n roleArn: ${name}\n sinks:\n - name: '11111'\n endpoint: cn-hangzhou-intranet.log.aliyuncs.com\n project: gy-hangzhou-huolang-1\n logstore: gy-rm2\n datasets:\n - __UNNAMED__\n roleArn: ${name}\n logstore: ${defaultzWKLkp.logstoreName}\n fromTime: '1706771697'\n toTime: '1738394097'\n jobName: etl-1740472705-185721\n displayName: etl-1740472705-185721\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Service (SLS) Etl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/etl:Etl example \u003cproject\u003e:\u003cjob_name\u003e\n```\n\n", "properties": { "configuration": { "$ref": "#/types/alicloud:sls/EtlConfiguration:EtlConfiguration", @@ -253810,7 +259488,7 @@ } }, "alicloud:sls/index:Index": { - "description": "Provides a Log Service (SLS) Index resource.\n\n\n\nFor information about Log Service (SLS) Index and how to use it, see [What is Index](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateIndex).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst logstoreName = config.get(\"logstoreName\") || \"logstore-example\";\nconst projectName = config.get(\"projectName\") || \"project-for-index-terraform-example\";\nconst _default = new alicloud.log.Project(\"default\", {\n description: \"terraform example\",\n projectName: projectName,\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n hotTtl: 7,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: _default.projectName,\n logstoreName: logstoreName,\n});\nconst defaultIndex = new alicloud.sls.Index(\"default\", {\n line: {\n chn: true,\n caseSensitive: true,\n tokens: [\"a\"],\n excludeKeys: [\"t\"],\n },\n keys: JSON.stringify({\n example: {\n caseSensitive: false,\n token: [\n \"\\n\",\n \"\\x09\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n ],\n type: \"text\",\n doc_value: false,\n alias: \"\",\n chn: false,\n },\n }),\n logstoreName: defaultStore.logstoreName,\n projectName: projectName,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nlogstore_name = config.get(\"logstoreName\")\nif logstore_name is None:\n logstore_name = \"logstore-example\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-index-terraform-example\"\ndefault = alicloud.log.Project(\"default\",\n description=\"terraform example\",\n project_name=project_name)\ndefault_store = alicloud.log.Store(\"default\",\n hot_ttl=7,\n retention_period=30,\n shard_count=2,\n project_name=default.project_name,\n logstore_name=logstore_name)\ndefault_index = alicloud.sls.Index(\"default\",\n line={\n \"chn\": True,\n \"case_sensitive\": True,\n \"tokens\": [\"a\"],\n \"exclude_keys\": [\"t\"],\n },\n keys=json.dumps({\n \"example\": {\n \"caseSensitive\": False,\n \"token\": [\n \"\\n\",\n \"\\x09\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n ],\n \"type\": \"text\",\n \"doc_value\": False,\n \"alias\": \"\",\n \"chn\": False,\n },\n }),\n logstore_name=default_store.logstore_name,\n project_name=project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var logstoreName = config.Get(\"logstoreName\") ?? \"logstore-example\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-index-terraform-example\";\n var @default = new AliCloud.Log.Project(\"default\", new()\n {\n Description = \"terraform example\",\n ProjectName = projectName,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n HotTtl = 7,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = @default.ProjectName,\n LogstoreName = logstoreName,\n });\n\n var defaultIndex = new AliCloud.Sls.Index(\"default\", new()\n {\n Line = new AliCloud.Sls.Inputs.IndexLineArgs\n {\n Chn = true,\n CaseSensitive = true,\n Tokens = new[]\n {\n \"a\",\n },\n ExcludeKeys = new[]\n {\n \"t\",\n },\n },\n Keys = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"caseSensitive\"] = false,\n [\"token\"] = new[]\n {\n @\"\n\",\n \"\t\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n },\n [\"type\"] = \"text\",\n [\"doc_value\"] = false,\n [\"alias\"] = \"\",\n [\"chn\"] = false,\n },\n }),\n LogstoreName = defaultStore.LogstoreName,\n ProjectName = projectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tlogstoreName := \"logstore-example\"\n\t\tif param := cfg.Get(\"logstoreName\"); param != \"\" {\n\t\t\tlogstoreName = param\n\t\t}\n\t\tprojectName := \"project-for-index-terraform-example\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_default, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform example\"),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(7),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: _default.ProjectName,\n\t\t\tLogstoreName: pulumi.String(logstoreName),\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\"example\": map[string]interface{}{\n\t\t\t\t\"caseSensitive\": false,\n\t\t\t\t\"token\": []string{\n\t\t\t\t\t\"\\n\",\n\t\t\t\t\t\"\t\",\n\t\t\t\t\t\",\",\n\t\t\t\t\t\" \",\n\t\t\t\t\t\";\",\n\t\t\t\t\t\"\\\"\",\n\t\t\t\t\t\"'\",\n\t\t\t\t\t\"(\",\n\t\t\t\t\t\")\",\n\t\t\t\t\t\"{\",\n\t\t\t\t\t\"}\",\n\t\t\t\t\t\"[\",\n\t\t\t\t\t\"]\",\n\t\t\t\t\t\"\u003c\",\n\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\"?\",\n\t\t\t\t\t\"/\",\n\t\t\t\t\t\"#\",\n\t\t\t\t\t\":\",\n\t\t\t\t},\n\t\t\t\t\"type\": \"text\",\n\t\t\t\t\"doc_value\": false,\n\t\t\t\t\"alias\": \"\",\n\t\t\t\t\"chn\": 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 = sls.NewIndex(ctx, \"default\", \u0026sls.IndexArgs{\n\t\t\tLine: \u0026sls.IndexLineArgs{\n\t\t\t\tChn: pulumi.Bool(true),\n\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\tTokens: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"a\"),\n\t\t\t\t},\n\t\t\t\tExcludeKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"t\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKeys: pulumi.String(json0),\n\t\t\tLogstoreName: defaultStore.LogstoreName,\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.Index;\nimport com.pulumi.alicloud.sls.IndexArgs;\nimport com.pulumi.alicloud.sls.inputs.IndexLineArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var logstoreName = config.get(\"logstoreName\").orElse(\"logstore-example\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-index-terraform-example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .description(\"terraform example\")\n .projectName(projectName)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .hotTtl(7)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(default_.projectName())\n .logstoreName(logstoreName)\n .build());\n\n var defaultIndex = new Index(\"defaultIndex\", IndexArgs.builder()\n .line(IndexLineArgs.builder()\n .chn(true)\n .caseSensitive(true)\n .tokens(\"a\")\n .excludeKeys(\"t\")\n .build())\n .keys(serializeJson(\n jsonObject(\n jsonProperty(\"example\", jsonObject(\n jsonProperty(\"caseSensitive\", false),\n jsonProperty(\"token\", jsonArray(\n \"\"\"\n\n \"\"\", \n \"\t\", \n \",\", \n \" \", \n \";\", \n \"\\\"\", \n \"'\", \n \"(\", \n \")\", \n \"{\", \n \"}\", \n \"[\", \n \"]\", \n \"\u003c\", \n \"\u003e\", \n \"?\", \n \"/\", \n \"#\", \n \":\"\n )),\n jsonProperty(\"type\", \"text\"),\n jsonProperty(\"doc_value\", false),\n jsonProperty(\"alias\", \"\"),\n jsonProperty(\"chn\", false)\n ))\n )))\n .logstoreName(defaultStore.logstoreName())\n .projectName(projectName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n logstoreName:\n type: string\n default: logstore-example\n projectName:\n type: string\n default: project-for-index-terraform-example\nresources:\n default:\n type: alicloud:log:Project\n properties:\n description: terraform example\n projectName: ${projectName}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n hotTtl: '7'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${default.projectName}\n logstoreName: ${logstoreName}\n defaultIndex:\n type: alicloud:sls:Index\n name: default\n properties:\n line:\n chn: 'true'\n caseSensitive: 'true'\n tokens:\n - a\n excludeKeys:\n - t\n keys:\n fn::toJSON:\n example:\n caseSensitive: false\n token:\n - |2+\n - \"\\t\"\n - ','\n - ' '\n - ;\n - '\"'\n - ''''\n - (\n - )\n - '{'\n - '}'\n - '['\n - ']'\n - \u003c\n - '\u003e'\n - '?'\n - /\n - '#'\n - ':'\n type: text\n doc_value: false\n alias: \"\"\n chn: false\n logstoreName: ${defaultStore.logstoreName}\n projectName: ${projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Service (SLS) Index can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/index:Index example \u003cproject_name\u003e:\u003clogstore_name\u003e\n```\n\n", + "description": "Provides a Log Service (SLS) Index resource.\n\n\n\nFor information about Log Service (SLS) Index and how to use it, see [What is Index](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateIndex).\n\n\u003e **NOTE:** Available since v1.260.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst logstoreName = config.get(\"logstoreName\") || \"logstore-example\";\nconst projectName = config.get(\"projectName\") || \"project-for-index-terraform-example\";\nconst _default = new alicloud.log.Project(\"default\", {\n description: \"terraform example\",\n projectName: projectName,\n});\nconst defaultStore = new alicloud.log.Store(\"default\", {\n hotTtl: 7,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: _default.projectName,\n logstoreName: logstoreName,\n});\nconst defaultIndex = new alicloud.sls.Index(\"default\", {\n line: {\n chn: true,\n caseSensitive: true,\n tokens: [\"a\"],\n excludeKeys: [\"t\"],\n },\n keys: JSON.stringify({\n example: {\n caseSensitive: false,\n token: [\n \"\\n\",\n \"\\x09\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n ],\n type: \"text\",\n doc_value: false,\n alias: \"\",\n chn: false,\n },\n }),\n logstoreName: defaultStore.logstoreName,\n projectName: projectName,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nlogstore_name = config.get(\"logstoreName\")\nif logstore_name is None:\n logstore_name = \"logstore-example\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-index-terraform-example\"\ndefault = alicloud.log.Project(\"default\",\n description=\"terraform example\",\n project_name=project_name)\ndefault_store = alicloud.log.Store(\"default\",\n hot_ttl=7,\n retention_period=30,\n shard_count=2,\n project_name=default.project_name,\n logstore_name=logstore_name)\ndefault_index = alicloud.sls.Index(\"default\",\n line={\n \"chn\": True,\n \"case_sensitive\": True,\n \"tokens\": [\"a\"],\n \"exclude_keys\": [\"t\"],\n },\n keys=json.dumps({\n \"example\": {\n \"caseSensitive\": False,\n \"token\": [\n \"\\n\",\n \"\\x09\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n ],\n \"type\": \"text\",\n \"doc_value\": False,\n \"alias\": \"\",\n \"chn\": False,\n },\n }),\n logstore_name=default_store.logstore_name,\n project_name=project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var logstoreName = config.Get(\"logstoreName\") ?? \"logstore-example\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-index-terraform-example\";\n var @default = new AliCloud.Log.Project(\"default\", new()\n {\n Description = \"terraform example\",\n ProjectName = projectName,\n });\n\n var defaultStore = new AliCloud.Log.Store(\"default\", new()\n {\n HotTtl = 7,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = @default.ProjectName,\n LogstoreName = logstoreName,\n });\n\n var defaultIndex = new AliCloud.Sls.Index(\"default\", new()\n {\n Line = new AliCloud.Sls.Inputs.IndexLineArgs\n {\n Chn = true,\n CaseSensitive = true,\n Tokens = new[]\n {\n \"a\",\n },\n ExcludeKeys = new[]\n {\n \"t\",\n },\n },\n Keys = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"caseSensitive\"] = false,\n [\"token\"] = new[]\n {\n @\"\n\",\n \"\t\",\n \",\",\n \" \",\n \";\",\n \"\\\"\",\n \"'\",\n \"(\",\n \")\",\n \"{\",\n \"}\",\n \"[\",\n \"]\",\n \"\u003c\",\n \"\u003e\",\n \"?\",\n \"/\",\n \"#\",\n \":\",\n },\n [\"type\"] = \"text\",\n [\"doc_value\"] = false,\n [\"alias\"] = \"\",\n [\"chn\"] = false,\n },\n }),\n LogstoreName = defaultStore.LogstoreName,\n ProjectName = projectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tlogstoreName := \"logstore-example\"\n\t\tif param := cfg.Get(\"logstoreName\"); param != \"\" {\n\t\t\tlogstoreName = param\n\t\t}\n\t\tprojectName := \"project-for-index-terraform-example\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_default, err := log.NewProject(ctx, \"default\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform example\"),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultStore, err := log.NewStore(ctx, \"default\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(7),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: _default.ProjectName,\n\t\t\tLogstoreName: pulumi.String(logstoreName),\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\"example\": map[string]interface{}{\n\t\t\t\t\"caseSensitive\": false,\n\t\t\t\t\"token\": []string{\n\t\t\t\t\t\"\\n\",\n\t\t\t\t\t\"\t\",\n\t\t\t\t\t\",\",\n\t\t\t\t\t\" \",\n\t\t\t\t\t\";\",\n\t\t\t\t\t\"\\\"\",\n\t\t\t\t\t\"'\",\n\t\t\t\t\t\"(\",\n\t\t\t\t\t\")\",\n\t\t\t\t\t\"{\",\n\t\t\t\t\t\"}\",\n\t\t\t\t\t\"[\",\n\t\t\t\t\t\"]\",\n\t\t\t\t\t\"\u003c\",\n\t\t\t\t\t\"\u003e\",\n\t\t\t\t\t\"?\",\n\t\t\t\t\t\"/\",\n\t\t\t\t\t\"#\",\n\t\t\t\t\t\":\",\n\t\t\t\t},\n\t\t\t\t\"type\": \"text\",\n\t\t\t\t\"doc_value\": false,\n\t\t\t\t\"alias\": \"\",\n\t\t\t\t\"chn\": 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 = sls.NewIndex(ctx, \"default\", \u0026sls.IndexArgs{\n\t\t\tLine: \u0026sls.IndexLineArgs{\n\t\t\t\tChn: pulumi.Bool(true),\n\t\t\t\tCaseSensitive: pulumi.Bool(true),\n\t\t\t\tTokens: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"a\"),\n\t\t\t\t},\n\t\t\t\tExcludeKeys: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"t\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKeys: pulumi.String(json0),\n\t\t\tLogstoreName: defaultStore.LogstoreName,\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.Index;\nimport com.pulumi.alicloud.sls.IndexArgs;\nimport com.pulumi.alicloud.sls.inputs.IndexLineArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var logstoreName = config.get(\"logstoreName\").orElse(\"logstore-example\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-index-terraform-example\");\n var default_ = new Project(\"default\", ProjectArgs.builder()\n .description(\"terraform example\")\n .projectName(projectName)\n .build());\n\n var defaultStore = new Store(\"defaultStore\", StoreArgs.builder()\n .hotTtl(7)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(default_.projectName())\n .logstoreName(logstoreName)\n .build());\n\n var defaultIndex = new Index(\"defaultIndex\", IndexArgs.builder()\n .line(IndexLineArgs.builder()\n .chn(true)\n .caseSensitive(true)\n .tokens(\"a\")\n .excludeKeys(\"t\")\n .build())\n .keys(serializeJson(\n jsonObject(\n jsonProperty(\"example\", jsonObject(\n jsonProperty(\"caseSensitive\", false),\n jsonProperty(\"token\", jsonArray(\n \"\"\"\n\n \"\"\", \n \"\t\", \n \",\", \n \" \", \n \";\", \n \"\\\"\", \n \"'\", \n \"(\", \n \")\", \n \"{\", \n \"}\", \n \"[\", \n \"]\", \n \"\u003c\", \n \"\u003e\", \n \"?\", \n \"/\", \n \"#\", \n \":\"\n )),\n jsonProperty(\"type\", \"text\"),\n jsonProperty(\"doc_value\", false),\n jsonProperty(\"alias\", \"\"),\n jsonProperty(\"chn\", false)\n ))\n )))\n .logstoreName(defaultStore.logstoreName())\n .projectName(projectName)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n logstoreName:\n type: string\n default: logstore-example\n projectName:\n type: string\n default: project-for-index-terraform-example\nresources:\n default:\n type: alicloud:log:Project\n properties:\n description: terraform example\n projectName: ${projectName}\n defaultStore:\n type: alicloud:log:Store\n name: default\n properties:\n hotTtl: '7'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${default.projectName}\n logstoreName: ${logstoreName}\n defaultIndex:\n type: alicloud:sls:Index\n name: default\n properties:\n line:\n chn: 'true'\n caseSensitive: 'true'\n tokens:\n - a\n excludeKeys:\n - t\n keys:\n fn::toJSON:\n example:\n caseSensitive: false\n token:\n - |2+\n - \"\\t\"\n - ','\n - ' '\n - ;\n - '\"'\n - ''''\n - (\n - )\n - '{'\n - '}'\n - '['\n - ']'\n - \u003c\n - '\u003e'\n - '?'\n - /\n - '#'\n - ':'\n type: text\n doc_value: false\n alias: \"\"\n chn: false\n logstoreName: ${defaultStore.logstoreName}\n projectName: ${projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Service (SLS) Index can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/index:Index example \u003cproject_name\u003e:\u003clogstore_name\u003e\n```\n\n", "properties": { "keys": { "type": "string", @@ -253949,7 +259627,7 @@ } }, "alicloud:sls/logtailConfig:LogtailConfig": { - "description": "Provides a Log Service (SLS) Logtail Config resource.\n\n\n\nFor information about Log Service (SLS) Logtail Config and how to use it, see [What is Logtail Config](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateConfig).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfaccsls62147\";\nconst projectName = config.get(\"projectName\") || \"project-for-logtail-terraform\";\nconst defaultuA28zS = new alicloud.log.Project(\"defaultuA28zS\", {projectName: projectName});\nconst defaultLogtailConfig = new alicloud.sls.LogtailConfig(\"default\", {\n projectName: defaultuA28zS.projectName,\n outputDetail: {\n endpoint: \"cn-hangzhou-intranet.log.aliyuncs.com\",\n region: \"cn-hangzhou\",\n logstoreName: \"example\",\n },\n outputType: \"LogService\",\n inputDetail: JSON.stringify({\n adjustTimezone: false,\n delayAlarmBytes: 0,\n delaySkipBytes: 0,\n discardNonUtf8: false,\n discardUnmatch: true,\n dockerFile: false,\n enableRawLog: false,\n enableTag: false,\n fileEncoding: \"utf8\",\n filePattern: \"access*.log\",\n filterKey: [\"key1\"],\n filterRegex: [\"regex1\"],\n key: [\n \"key1\",\n \"key2\",\n ],\n localStorage: true,\n logBeginRegex: \".*\",\n logPath: \"/var/log/httpd\",\n logTimezone: \"\",\n logType: \"common_reg_log\",\n maxDepth: 1000,\n maxSendRate: -1,\n mergeType: \"topic\",\n preserve: true,\n preserveDepth: 0,\n priority: 0,\n regex: \"(w+)(s+)\",\n sendRateExpire: 0,\n sensitive_keys: [],\n tailExisted: false,\n timeFormat: \"%Y/%m/%d %H:%M:%S\",\n timeKey: \"time\",\n topicFormat: \"none\",\n }),\n logtailConfigName: \"tfaccsls62147\",\n inputType: \"file\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfaccsls62147\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-logtail-terraform\"\ndefaultu_a28z_s = alicloud.log.Project(\"defaultuA28zS\", project_name=project_name)\ndefault_logtail_config = alicloud.sls.LogtailConfig(\"default\",\n project_name=defaultu_a28z_s.project_name,\n output_detail={\n \"endpoint\": \"cn-hangzhou-intranet.log.aliyuncs.com\",\n \"region\": \"cn-hangzhou\",\n \"logstore_name\": \"example\",\n },\n output_type=\"LogService\",\n input_detail=json.dumps({\n \"adjustTimezone\": False,\n \"delayAlarmBytes\": 0,\n \"delaySkipBytes\": 0,\n \"discardNonUtf8\": False,\n \"discardUnmatch\": True,\n \"dockerFile\": False,\n \"enableRawLog\": False,\n \"enableTag\": False,\n \"fileEncoding\": \"utf8\",\n \"filePattern\": \"access*.log\",\n \"filterKey\": [\"key1\"],\n \"filterRegex\": [\"regex1\"],\n \"key\": [\n \"key1\",\n \"key2\",\n ],\n \"localStorage\": True,\n \"logBeginRegex\": \".*\",\n \"logPath\": \"/var/log/httpd\",\n \"logTimezone\": \"\",\n \"logType\": \"common_reg_log\",\n \"maxDepth\": 1000,\n \"maxSendRate\": -1,\n \"mergeType\": \"topic\",\n \"preserve\": True,\n \"preserveDepth\": 0,\n \"priority\": 0,\n \"regex\": \"(w+)(s+)\",\n \"sendRateExpire\": 0,\n \"sensitive_keys\": [],\n \"tailExisted\": False,\n \"timeFormat\": \"%Y/%m/%d %H:%M:%S\",\n \"timeKey\": \"time\",\n \"topicFormat\": \"none\",\n }),\n logtail_config_name=\"tfaccsls62147\",\n input_type=\"file\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfaccsls62147\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-logtail-terraform\";\n var defaultuA28zS = new AliCloud.Log.Project(\"defaultuA28zS\", new()\n {\n ProjectName = projectName,\n });\n\n var defaultLogtailConfig = new AliCloud.Sls.LogtailConfig(\"default\", new()\n {\n ProjectName = defaultuA28zS.ProjectName,\n OutputDetail = new AliCloud.Sls.Inputs.LogtailConfigOutputDetailArgs\n {\n Endpoint = \"cn-hangzhou-intranet.log.aliyuncs.com\",\n Region = \"cn-hangzhou\",\n LogstoreName = \"example\",\n },\n OutputType = \"LogService\",\n InputDetail = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"adjustTimezone\"] = false,\n [\"delayAlarmBytes\"] = 0,\n [\"delaySkipBytes\"] = 0,\n [\"discardNonUtf8\"] = false,\n [\"discardUnmatch\"] = true,\n [\"dockerFile\"] = false,\n [\"enableRawLog\"] = false,\n [\"enableTag\"] = false,\n [\"fileEncoding\"] = \"utf8\",\n [\"filePattern\"] = \"access*.log\",\n [\"filterKey\"] = new[]\n {\n \"key1\",\n },\n [\"filterRegex\"] = new[]\n {\n \"regex1\",\n },\n [\"key\"] = new[]\n {\n \"key1\",\n \"key2\",\n },\n [\"localStorage\"] = true,\n [\"logBeginRegex\"] = \".*\",\n [\"logPath\"] = \"/var/log/httpd\",\n [\"logTimezone\"] = \"\",\n [\"logType\"] = \"common_reg_log\",\n [\"maxDepth\"] = 1000,\n [\"maxSendRate\"] = -1,\n [\"mergeType\"] = \"topic\",\n [\"preserve\"] = true,\n [\"preserveDepth\"] = 0,\n [\"priority\"] = 0,\n [\"regex\"] = \"(w+)(s+)\",\n [\"sendRateExpire\"] = 0,\n [\"sensitive_keys\"] = new[]\n {\n },\n [\"tailExisted\"] = false,\n [\"timeFormat\"] = \"%Y/%m/%d %H:%M:%S\",\n [\"timeKey\"] = \"time\",\n [\"topicFormat\"] = \"none\",\n }),\n LogtailConfigName = \"tfaccsls62147\",\n InputType = \"file\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfaccsls62147\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprojectName := \"project-for-logtail-terraform\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\tdefaultuA28zS, err := log.NewProject(ctx, \"defaultuA28zS\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(projectName),\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\"adjustTimezone\": false,\n\t\t\t\"delayAlarmBytes\": 0,\n\t\t\t\"delaySkipBytes\": 0,\n\t\t\t\"discardNonUtf8\": false,\n\t\t\t\"discardUnmatch\": true,\n\t\t\t\"dockerFile\": false,\n\t\t\t\"enableRawLog\": false,\n\t\t\t\"enableTag\": false,\n\t\t\t\"fileEncoding\": \"utf8\",\n\t\t\t\"filePattern\": \"access*.log\",\n\t\t\t\"filterKey\": []string{\n\t\t\t\t\"key1\",\n\t\t\t},\n\t\t\t\"filterRegex\": []string{\n\t\t\t\t\"regex1\",\n\t\t\t},\n\t\t\t\"key\": []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\t\"localStorage\": true,\n\t\t\t\"logBeginRegex\": \".*\",\n\t\t\t\"logPath\": \"/var/log/httpd\",\n\t\t\t\"logTimezone\": \"\",\n\t\t\t\"logType\": \"common_reg_log\",\n\t\t\t\"maxDepth\": 1000,\n\t\t\t\"maxSendRate\": -1,\n\t\t\t\"mergeType\": \"topic\",\n\t\t\t\"preserve\": true,\n\t\t\t\"preserveDepth\": 0,\n\t\t\t\"priority\": 0,\n\t\t\t\"regex\": \"(w+)(s+)\",\n\t\t\t\"sendRateExpire\": 0,\n\t\t\t\"sensitive_keys\": []interface{}{},\n\t\t\t\"tailExisted\": false,\n\t\t\t\"timeFormat\": \"%Y/%m/%d %H:%M:%S\",\n\t\t\t\"timeKey\": \"time\",\n\t\t\t\"topicFormat\": \"none\",\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 = sls.NewLogtailConfig(ctx, \"default\", \u0026sls.LogtailConfigArgs{\n\t\t\tProjectName: defaultuA28zS.ProjectName,\n\t\t\tOutputDetail: \u0026sls.LogtailConfigOutputDetailArgs{\n\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou-intranet.log.aliyuncs.com\"),\n\t\t\t\tRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tLogstoreName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(json0),\n\t\t\tLogtailConfigName: pulumi.String(\"tfaccsls62147\"),\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.LogtailConfig;\nimport com.pulumi.alicloud.sls.LogtailConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.LogtailConfigOutputDetailArgs;\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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"tfaccsls62147\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-logtail-terraform\");\n var defaultuA28zS = new Project(\"defaultuA28zS\", ProjectArgs.builder()\n .projectName(projectName)\n .build());\n\n var defaultLogtailConfig = new LogtailConfig(\"defaultLogtailConfig\", LogtailConfigArgs.builder()\n .projectName(defaultuA28zS.projectName())\n .outputDetail(LogtailConfigOutputDetailArgs.builder()\n .endpoint(\"cn-hangzhou-intranet.log.aliyuncs.com\")\n .region(\"cn-hangzhou\")\n .logstoreName(\"example\")\n .build())\n .outputType(\"LogService\")\n .inputDetail(serializeJson(\n jsonObject(\n jsonProperty(\"adjustTimezone\", false),\n jsonProperty(\"delayAlarmBytes\", 0),\n jsonProperty(\"delaySkipBytes\", 0),\n jsonProperty(\"discardNonUtf8\", false),\n jsonProperty(\"discardUnmatch\", true),\n jsonProperty(\"dockerFile\", false),\n jsonProperty(\"enableRawLog\", false),\n jsonProperty(\"enableTag\", false),\n jsonProperty(\"fileEncoding\", \"utf8\"),\n jsonProperty(\"filePattern\", \"access*.log\"),\n jsonProperty(\"filterKey\", jsonArray(\"key1\")),\n jsonProperty(\"filterRegex\", jsonArray(\"regex1\")),\n jsonProperty(\"key\", jsonArray(\n \"key1\", \n \"key2\"\n )),\n jsonProperty(\"localStorage\", true),\n jsonProperty(\"logBeginRegex\", \".*\"),\n jsonProperty(\"logPath\", \"/var/log/httpd\"),\n jsonProperty(\"logTimezone\", \"\"),\n jsonProperty(\"logType\", \"common_reg_log\"),\n jsonProperty(\"maxDepth\", 1000),\n jsonProperty(\"maxSendRate\", -1),\n jsonProperty(\"mergeType\", \"topic\"),\n jsonProperty(\"preserve\", true),\n jsonProperty(\"preserveDepth\", 0),\n jsonProperty(\"priority\", 0),\n jsonProperty(\"regex\", \"(w+)(s+)\"),\n jsonProperty(\"sendRateExpire\", 0),\n jsonProperty(\"sensitive_keys\", jsonArray(\n )),\n jsonProperty(\"tailExisted\", false),\n jsonProperty(\"timeFormat\", \"%Y/%m/%d %H:%M:%S\"),\n jsonProperty(\"timeKey\", \"time\"),\n jsonProperty(\"topicFormat\", \"none\")\n )))\n .logtailConfigName(\"tfaccsls62147\")\n .inputType(\"file\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfaccsls62147\n projectName:\n type: string\n default: project-for-logtail-terraform\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultuA28zS:\n type: alicloud:log:Project\n properties:\n projectName: ${projectName}\n defaultLogtailConfig:\n type: alicloud:sls:LogtailConfig\n name: default\n properties:\n projectName: ${defaultuA28zS.projectName}\n outputDetail:\n endpoint: cn-hangzhou-intranet.log.aliyuncs.com\n region: cn-hangzhou\n logstoreName: example\n outputType: LogService\n inputDetail:\n fn::toJSON:\n adjustTimezone: false\n delayAlarmBytes: 0\n delaySkipBytes: 0\n discardNonUtf8: false\n discardUnmatch: true\n dockerFile: false\n enableRawLog: false\n enableTag: false\n fileEncoding: utf8\n filePattern: access*.log\n filterKey:\n - key1\n filterRegex:\n - regex1\n key:\n - key1\n - key2\n localStorage: true\n logBeginRegex: .*\n logPath: /var/log/httpd\n logTimezone: \"\"\n logType: common_reg_log\n maxDepth: 1000\n maxSendRate: -1\n mergeType: topic\n preserve: true\n preserveDepth: 0\n priority: 0\n regex: (w+)(s+)\n sendRateExpire: 0\n sensitive_keys: []\n tailExisted: false\n timeFormat: '%Y/%m/%d %H:%M:%S'\n timeKey: time\n topicFormat: none\n logtailConfigName: tfaccsls62147\n inputType: file\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Service (SLS) Logtail Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/logtailConfig:LogtailConfig example \u003cproject_name\u003e:\u003clogtail_config_name\u003e\n```\n\n", + "description": "Provides a Log Service (SLS) Logtail Config resource.\n\n\n\nFor information about Log Service (SLS) Logtail Config and how to use it, see [What is Logtail Config](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateConfig).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n max: 99999,\n min: 10000,\n});\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfaccsls62147\";\nconst projectName = config.get(\"projectName\") || \"project-for-logtail-terraform\";\nconst defaultuA28zS = new alicloud.log.Project(\"defaultuA28zS\", {projectName: projectName});\nconst defaultLogtailConfig = new alicloud.sls.LogtailConfig(\"default\", {\n projectName: defaultuA28zS.projectName,\n outputDetail: {\n endpoint: \"cn-hangzhou-intranet.log.aliyuncs.com\",\n region: \"cn-hangzhou\",\n logstoreName: \"example\",\n },\n outputType: \"LogService\",\n inputDetail: JSON.stringify({\n adjustTimezone: false,\n delayAlarmBytes: 0,\n delaySkipBytes: 0,\n discardNonUtf8: false,\n discardUnmatch: true,\n dockerFile: false,\n enableRawLog: false,\n enableTag: false,\n fileEncoding: \"utf8\",\n filePattern: \"access*.log\",\n filterKey: [\"key1\"],\n filterRegex: [\"regex1\"],\n key: [\n \"key1\",\n \"key2\",\n ],\n localStorage: true,\n logBeginRegex: \".*\",\n logPath: \"/var/log/httpd\",\n logTimezone: \"\",\n logType: \"common_reg_log\",\n maxDepth: 1000,\n maxSendRate: -1,\n mergeType: \"topic\",\n preserve: true,\n preserveDepth: 0,\n priority: 0,\n regex: \"(w+)(s+)\",\n sendRateExpire: 0,\n sensitive_keys: [],\n tailExisted: false,\n timeFormat: \"%Y/%m/%d %H:%M:%S\",\n timeKey: \"time\",\n topicFormat: \"none\",\n }),\n logtailConfigName: \"tfaccsls62147\",\n inputType: \"file\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n max=99999,\n min=10000)\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfaccsls62147\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-logtail-terraform\"\ndefaultu_a28z_s = alicloud.log.Project(\"defaultuA28zS\", project_name=project_name)\ndefault_logtail_config = alicloud.sls.LogtailConfig(\"default\",\n project_name=defaultu_a28z_s.project_name,\n output_detail={\n \"endpoint\": \"cn-hangzhou-intranet.log.aliyuncs.com\",\n \"region\": \"cn-hangzhou\",\n \"logstore_name\": \"example\",\n },\n output_type=\"LogService\",\n input_detail=json.dumps({\n \"adjustTimezone\": False,\n \"delayAlarmBytes\": 0,\n \"delaySkipBytes\": 0,\n \"discardNonUtf8\": False,\n \"discardUnmatch\": True,\n \"dockerFile\": False,\n \"enableRawLog\": False,\n \"enableTag\": False,\n \"fileEncoding\": \"utf8\",\n \"filePattern\": \"access*.log\",\n \"filterKey\": [\"key1\"],\n \"filterRegex\": [\"regex1\"],\n \"key\": [\n \"key1\",\n \"key2\",\n ],\n \"localStorage\": True,\n \"logBeginRegex\": \".*\",\n \"logPath\": \"/var/log/httpd\",\n \"logTimezone\": \"\",\n \"logType\": \"common_reg_log\",\n \"maxDepth\": 1000,\n \"maxSendRate\": -1,\n \"mergeType\": \"topic\",\n \"preserve\": True,\n \"preserveDepth\": 0,\n \"priority\": 0,\n \"regex\": \"(w+)(s+)\",\n \"sendRateExpire\": 0,\n \"sensitive_keys\": [],\n \"tailExisted\": False,\n \"timeFormat\": \"%Y/%m/%d %H:%M:%S\",\n \"timeKey\": \"time\",\n \"topicFormat\": \"none\",\n }),\n logtail_config_name=\"tfaccsls62147\",\n input_type=\"file\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Max = 99999,\n Min = 10000,\n });\n\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfaccsls62147\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-logtail-terraform\";\n var defaultuA28zS = new AliCloud.Log.Project(\"defaultuA28zS\", new()\n {\n ProjectName = projectName,\n });\n\n var defaultLogtailConfig = new AliCloud.Sls.LogtailConfig(\"default\", new()\n {\n ProjectName = defaultuA28zS.ProjectName,\n OutputDetail = new AliCloud.Sls.Inputs.LogtailConfigOutputDetailArgs\n {\n Endpoint = \"cn-hangzhou-intranet.log.aliyuncs.com\",\n Region = \"cn-hangzhou\",\n LogstoreName = \"example\",\n },\n OutputType = \"LogService\",\n InputDetail = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"adjustTimezone\"] = false,\n [\"delayAlarmBytes\"] = 0,\n [\"delaySkipBytes\"] = 0,\n [\"discardNonUtf8\"] = false,\n [\"discardUnmatch\"] = true,\n [\"dockerFile\"] = false,\n [\"enableRawLog\"] = false,\n [\"enableTag\"] = false,\n [\"fileEncoding\"] = \"utf8\",\n [\"filePattern\"] = \"access*.log\",\n [\"filterKey\"] = new[]\n {\n \"key1\",\n },\n [\"filterRegex\"] = new[]\n {\n \"regex1\",\n },\n [\"key\"] = new[]\n {\n \"key1\",\n \"key2\",\n },\n [\"localStorage\"] = true,\n [\"logBeginRegex\"] = \".*\",\n [\"logPath\"] = \"/var/log/httpd\",\n [\"logTimezone\"] = \"\",\n [\"logType\"] = \"common_reg_log\",\n [\"maxDepth\"] = 1000,\n [\"maxSendRate\"] = -1,\n [\"mergeType\"] = \"topic\",\n [\"preserve\"] = true,\n [\"preserveDepth\"] = 0,\n [\"priority\"] = 0,\n [\"regex\"] = \"(w+)(s+)\",\n [\"sendRateExpire\"] = 0,\n [\"sensitive_keys\"] = new[]\n {\n },\n [\"tailExisted\"] = false,\n [\"timeFormat\"] = \"%Y/%m/%d %H:%M:%S\",\n [\"timeKey\"] = \"time\",\n [\"topicFormat\"] = \"none\",\n }),\n LogtailConfigName = \"tfaccsls62147\",\n InputType = \"file\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMax: 99999,\n\t\t\tMin: 10000,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfaccsls62147\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprojectName := \"project-for-logtail-terraform\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\tdefaultuA28zS, err := log.NewProject(ctx, \"defaultuA28zS\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(projectName),\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\"adjustTimezone\": false,\n\t\t\t\"delayAlarmBytes\": 0,\n\t\t\t\"delaySkipBytes\": 0,\n\t\t\t\"discardNonUtf8\": false,\n\t\t\t\"discardUnmatch\": true,\n\t\t\t\"dockerFile\": false,\n\t\t\t\"enableRawLog\": false,\n\t\t\t\"enableTag\": false,\n\t\t\t\"fileEncoding\": \"utf8\",\n\t\t\t\"filePattern\": \"access*.log\",\n\t\t\t\"filterKey\": []string{\n\t\t\t\t\"key1\",\n\t\t\t},\n\t\t\t\"filterRegex\": []string{\n\t\t\t\t\"regex1\",\n\t\t\t},\n\t\t\t\"key\": []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\t\"localStorage\": true,\n\t\t\t\"logBeginRegex\": \".*\",\n\t\t\t\"logPath\": \"/var/log/httpd\",\n\t\t\t\"logTimezone\": \"\",\n\t\t\t\"logType\": \"common_reg_log\",\n\t\t\t\"maxDepth\": 1000,\n\t\t\t\"maxSendRate\": -1,\n\t\t\t\"mergeType\": \"topic\",\n\t\t\t\"preserve\": true,\n\t\t\t\"preserveDepth\": 0,\n\t\t\t\"priority\": 0,\n\t\t\t\"regex\": \"(w+)(s+)\",\n\t\t\t\"sendRateExpire\": 0,\n\t\t\t\"sensitive_keys\": []interface{}{},\n\t\t\t\"tailExisted\": false,\n\t\t\t\"timeFormat\": \"%Y/%m/%d %H:%M:%S\",\n\t\t\t\"timeKey\": \"time\",\n\t\t\t\"topicFormat\": \"none\",\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 = sls.NewLogtailConfig(ctx, \"default\", \u0026sls.LogtailConfigArgs{\n\t\t\tProjectName: defaultuA28zS.ProjectName,\n\t\t\tOutputDetail: \u0026sls.LogtailConfigOutputDetailArgs{\n\t\t\t\tEndpoint: pulumi.String(\"cn-hangzhou-intranet.log.aliyuncs.com\"),\n\t\t\t\tRegion: pulumi.String(\"cn-hangzhou\"),\n\t\t\t\tLogstoreName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tOutputType: pulumi.String(\"LogService\"),\n\t\t\tInputDetail: pulumi.String(json0),\n\t\t\tLogtailConfigName: pulumi.String(\"tfaccsls62147\"),\n\t\t\tInputType: pulumi.String(\"file\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.LogtailConfig;\nimport com.pulumi.alicloud.sls.LogtailConfigArgs;\nimport com.pulumi.alicloud.sls.inputs.LogtailConfigOutputDetailArgs;\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 var default_ = new Integer(\"default\", IntegerArgs.builder()\n .max(99999)\n .min(10000)\n .build());\n\n final var name = config.get(\"name\").orElse(\"tfaccsls62147\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-logtail-terraform\");\n var defaultuA28zS = new Project(\"defaultuA28zS\", ProjectArgs.builder()\n .projectName(projectName)\n .build());\n\n var defaultLogtailConfig = new LogtailConfig(\"defaultLogtailConfig\", LogtailConfigArgs.builder()\n .projectName(defaultuA28zS.projectName())\n .outputDetail(LogtailConfigOutputDetailArgs.builder()\n .endpoint(\"cn-hangzhou-intranet.log.aliyuncs.com\")\n .region(\"cn-hangzhou\")\n .logstoreName(\"example\")\n .build())\n .outputType(\"LogService\")\n .inputDetail(serializeJson(\n jsonObject(\n jsonProperty(\"adjustTimezone\", false),\n jsonProperty(\"delayAlarmBytes\", 0),\n jsonProperty(\"delaySkipBytes\", 0),\n jsonProperty(\"discardNonUtf8\", false),\n jsonProperty(\"discardUnmatch\", true),\n jsonProperty(\"dockerFile\", false),\n jsonProperty(\"enableRawLog\", false),\n jsonProperty(\"enableTag\", false),\n jsonProperty(\"fileEncoding\", \"utf8\"),\n jsonProperty(\"filePattern\", \"access*.log\"),\n jsonProperty(\"filterKey\", jsonArray(\"key1\")),\n jsonProperty(\"filterRegex\", jsonArray(\"regex1\")),\n jsonProperty(\"key\", jsonArray(\n \"key1\", \n \"key2\"\n )),\n jsonProperty(\"localStorage\", true),\n jsonProperty(\"logBeginRegex\", \".*\"),\n jsonProperty(\"logPath\", \"/var/log/httpd\"),\n jsonProperty(\"logTimezone\", \"\"),\n jsonProperty(\"logType\", \"common_reg_log\"),\n jsonProperty(\"maxDepth\", 1000),\n jsonProperty(\"maxSendRate\", -1),\n jsonProperty(\"mergeType\", \"topic\"),\n jsonProperty(\"preserve\", true),\n jsonProperty(\"preserveDepth\", 0),\n jsonProperty(\"priority\", 0),\n jsonProperty(\"regex\", \"(w+)(s+)\"),\n jsonProperty(\"sendRateExpire\", 0),\n jsonProperty(\"sensitive_keys\", jsonArray(\n )),\n jsonProperty(\"tailExisted\", false),\n jsonProperty(\"timeFormat\", \"%Y/%m/%d %H:%M:%S\"),\n jsonProperty(\"timeKey\", \"time\"),\n jsonProperty(\"topicFormat\", \"none\")\n )))\n .logtailConfigName(\"tfaccsls62147\")\n .inputType(\"file\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfaccsls62147\n projectName:\n type: string\n default: project-for-logtail-terraform\nresources:\n default:\n type: random:Integer\n properties:\n max: 99999\n min: 10000\n defaultuA28zS:\n type: alicloud:log:Project\n properties:\n projectName: ${projectName}\n defaultLogtailConfig:\n type: alicloud:sls:LogtailConfig\n name: default\n properties:\n projectName: ${defaultuA28zS.projectName}\n outputDetail:\n endpoint: cn-hangzhou-intranet.log.aliyuncs.com\n region: cn-hangzhou\n logstoreName: example\n outputType: LogService\n inputDetail:\n fn::toJSON:\n adjustTimezone: false\n delayAlarmBytes: 0\n delaySkipBytes: 0\n discardNonUtf8: false\n discardUnmatch: true\n dockerFile: false\n enableRawLog: false\n enableTag: false\n fileEncoding: utf8\n filePattern: access*.log\n filterKey:\n - key1\n filterRegex:\n - regex1\n key:\n - key1\n - key2\n localStorage: true\n logBeginRegex: .*\n logPath: /var/log/httpd\n logTimezone: \"\"\n logType: common_reg_log\n maxDepth: 1000\n maxSendRate: -1\n mergeType: topic\n preserve: true\n preserveDepth: 0\n priority: 0\n regex: (w+)(s+)\n sendRateExpire: 0\n sensitive_keys: []\n tailExisted: false\n timeFormat: '%Y/%m/%d %H:%M:%S'\n timeKey: time\n topicFormat: none\n logtailConfigName: tfaccsls62147\n inputType: file\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Service (SLS) Logtail Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/logtailConfig:LogtailConfig example \u003cproject_name\u003e:\u003clogtail_config_name\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -254097,7 +259775,7 @@ } }, "alicloud:sls/machineGroup:MachineGroup": { - "description": "Provides a Log Service (SLS) Machine Group resource.\n\n\n\nFor information about Log Service (SLS) Machine Group and how to use it, see [What is Machine Group](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateMachineGroup).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst projectName = config.get(\"projectName\") || \"project-for-machine-group-terraform\";\nconst defaultyJqrue = new alicloud.log.Project(\"defaultyJqrue\", {\n description: \"for terraform example\",\n name: projectName,\n});\nconst _default = new alicloud.sls.MachineGroup(\"default\", {\n groupName: \"group1\",\n projectName: projectName,\n machineIdentifyType: \"ip\",\n groupAttribute: {\n groupTopic: \"example\",\n externalName: \"example\",\n },\n machineLists: [\"192.168.1.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-machine-group-terraform\"\ndefaulty_jqrue = alicloud.log.Project(\"defaultyJqrue\",\n description=\"for terraform example\",\n name=project_name)\ndefault = alicloud.sls.MachineGroup(\"default\",\n group_name=\"group1\",\n project_name=project_name,\n machine_identify_type=\"ip\",\n group_attribute={\n \"group_topic\": \"example\",\n \"external_name\": \"example\",\n },\n machine_lists=[\"192.168.1.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-machine-group-terraform\";\n var defaultyJqrue = new AliCloud.Log.Project(\"defaultyJqrue\", new()\n {\n Description = \"for terraform example\",\n Name = projectName,\n });\n\n var @default = new AliCloud.Sls.MachineGroup(\"default\", new()\n {\n GroupName = \"group1\",\n ProjectName = projectName,\n MachineIdentifyType = \"ip\",\n GroupAttribute = new AliCloud.Sls.Inputs.MachineGroupGroupAttributeArgs\n {\n GroupTopic = \"example\",\n ExternalName = \"example\",\n },\n MachineLists = new[]\n {\n \"192.168.1.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprojectName := \"project-for-machine-group-terraform\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_, err := log.NewProject(ctx, \"defaultyJqrue\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"for terraform example\"),\n\t\t\tName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewMachineGroup(ctx, \"default\", \u0026sls.MachineGroupArgs{\n\t\t\tGroupName: pulumi.String(\"group1\"),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t\tMachineIdentifyType: pulumi.String(\"ip\"),\n\t\t\tGroupAttribute: \u0026sls.MachineGroupGroupAttributeArgs{\n\t\t\t\tGroupTopic: pulumi.String(\"example\"),\n\t\t\t\tExternalName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tMachineLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.1\"),\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.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.MachineGroup;\nimport com.pulumi.alicloud.sls.MachineGroupArgs;\nimport com.pulumi.alicloud.sls.inputs.MachineGroupGroupAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-machine-group-terraform\");\n var defaultyJqrue = new Project(\"defaultyJqrue\", ProjectArgs.builder()\n .description(\"for terraform example\")\n .name(projectName)\n .build());\n\n var default_ = new MachineGroup(\"default\", MachineGroupArgs.builder()\n .groupName(\"group1\")\n .projectName(projectName)\n .machineIdentifyType(\"ip\")\n .groupAttribute(MachineGroupGroupAttributeArgs.builder()\n .groupTopic(\"example\")\n .externalName(\"example\")\n .build())\n .machineLists(\"192.168.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n projectName:\n type: string\n default: project-for-machine-group-terraform\nresources:\n defaultyJqrue:\n type: alicloud:log:Project\n properties:\n description: for terraform example\n name: ${projectName}\n default:\n type: alicloud:sls:MachineGroup\n properties:\n groupName: group1\n projectName: ${projectName}\n machineIdentifyType: ip\n groupAttribute:\n groupTopic: example\n externalName: example\n machineLists:\n - 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Service (SLS) Machine Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/machineGroup:MachineGroup example \u003cproject_name\u003e:\u003cgroup_name\u003e\n```\n\n", + "description": "Provides a Log Service (SLS) Machine Group resource.\n\n\n\nFor information about Log Service (SLS) Machine Group and how to use it, see [What is Machine Group](https://next.api.alibabacloud.com/document/Sls/2020-12-30/CreateMachineGroup).\n\n\u003e **NOTE:** Available since v1.259.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst projectName = config.get(\"projectName\") || \"project-for-machine-group-terraform\";\nconst defaultyJqrue = new alicloud.log.Project(\"defaultyJqrue\", {\n description: \"for terraform example\",\n name: projectName,\n});\nconst _default = new alicloud.sls.MachineGroup(\"default\", {\n groupName: \"group1\",\n projectName: projectName,\n machineIdentifyType: \"ip\",\n groupAttribute: {\n groupTopic: \"example\",\n externalName: \"example\",\n },\n machineLists: [\"192.168.1.1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nproject_name = config.get(\"projectName\")\nif project_name is None:\n project_name = \"project-for-machine-group-terraform\"\ndefaulty_jqrue = alicloud.log.Project(\"defaultyJqrue\",\n description=\"for terraform example\",\n name=project_name)\ndefault = alicloud.sls.MachineGroup(\"default\",\n group_name=\"group1\",\n project_name=project_name,\n machine_identify_type=\"ip\",\n group_attribute={\n \"group_topic\": \"example\",\n \"external_name\": \"example\",\n },\n machine_lists=[\"192.168.1.1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var projectName = config.Get(\"projectName\") ?? \"project-for-machine-group-terraform\";\n var defaultyJqrue = new AliCloud.Log.Project(\"defaultyJqrue\", new()\n {\n Description = \"for terraform example\",\n Name = projectName,\n });\n\n var @default = new AliCloud.Sls.MachineGroup(\"default\", new()\n {\n GroupName = \"group1\",\n ProjectName = projectName,\n MachineIdentifyType = \"ip\",\n GroupAttribute = new AliCloud.Sls.Inputs.MachineGroupGroupAttributeArgs\n {\n GroupTopic = \"example\",\n ExternalName = \"example\",\n },\n MachineLists = new[]\n {\n \"192.168.1.1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tprojectName := \"project-for-machine-group-terraform\"\n\t\tif param := cfg.Get(\"projectName\"); param != \"\" {\n\t\t\tprojectName = param\n\t\t}\n\t\t_, err := log.NewProject(ctx, \"defaultyJqrue\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"for terraform example\"),\n\t\t\tName: pulumi.String(projectName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewMachineGroup(ctx, \"default\", \u0026sls.MachineGroupArgs{\n\t\t\tGroupName: pulumi.String(\"group1\"),\n\t\t\tProjectName: pulumi.String(projectName),\n\t\t\tMachineIdentifyType: pulumi.String(\"ip\"),\n\t\t\tGroupAttribute: \u0026sls.MachineGroupGroupAttributeArgs{\n\t\t\t\tGroupTopic: pulumi.String(\"example\"),\n\t\t\t\tExternalName: pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tMachineLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.1\"),\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.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.sls.MachineGroup;\nimport com.pulumi.alicloud.sls.MachineGroupArgs;\nimport com.pulumi.alicloud.sls.inputs.MachineGroupGroupAttributeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var projectName = config.get(\"projectName\").orElse(\"project-for-machine-group-terraform\");\n var defaultyJqrue = new Project(\"defaultyJqrue\", ProjectArgs.builder()\n .description(\"for terraform example\")\n .name(projectName)\n .build());\n\n var default_ = new MachineGroup(\"default\", MachineGroupArgs.builder()\n .groupName(\"group1\")\n .projectName(projectName)\n .machineIdentifyType(\"ip\")\n .groupAttribute(MachineGroupGroupAttributeArgs.builder()\n .groupTopic(\"example\")\n .externalName(\"example\")\n .build())\n .machineLists(\"192.168.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n projectName:\n type: string\n default: project-for-machine-group-terraform\nresources:\n defaultyJqrue:\n type: alicloud:log:Project\n properties:\n description: for terraform example\n name: ${projectName}\n default:\n type: alicloud:sls:MachineGroup\n properties:\n groupName: group1\n projectName: ${projectName}\n machineIdentifyType: ip\n groupAttribute:\n groupTopic: example\n externalName: example\n machineLists:\n - 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Service (SLS) Machine Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/machineGroup:MachineGroup example \u003cproject_name\u003e:\u003cgroup_name\u003e\n```\n\n", "properties": { "groupAttribute": { "$ref": "#/types/alicloud:sls/MachineGroupGroupAttribute:MachineGroupGroupAttribute", @@ -254215,7 +259893,7 @@ } }, "alicloud:sls/ossExportSink:OssExportSink": { - "description": "Provides a Log Service (SLS) Oss Export Sink resource.\n\nOSS export task.\n\nFor information about Log Service (SLS) Oss Export Sink and how to use it, see [What is Oss Export Sink](https://www.alibabacloud.com/help/en/sls/developer-reference/api-sls-2020-12-30-createossexport).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaulteyHJsO = new alicloud.log.Project(\"defaulteyHJsO\", {\n description: \"terraform-oss-example-910\",\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultxeHfXC = new alicloud.log.Store(\"defaultxeHfXC\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaulteyHJsO.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultiwj0xO = new alicloud.oss.Bucket(\"defaultiwj0xO\", {\n bucket: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n storageClass: \"Standard\",\n});\nconst defaultOssExportSink = new alicloud.sls.OssExportSink(\"default\", {\n project: defaulteyHJsO.projectName,\n configuration: {\n logstore: defaultxeHfXC.logstoreName,\n roleArn: \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n sink: {\n bucket: defaultiwj0xO.bucket,\n roleArn: \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n timeZone: \"+0700\",\n contentType: \"json\",\n compressionType: \"none\",\n contentDetail: JSON.stringify({\n enableTag: false,\n }),\n bufferInterval: \"300\",\n bufferSize: \"256\",\n endpoint: \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n fromTime: 1732165733,\n toTime: 1732166733,\n },\n jobName: \"export-oss-1731404933-00001\",\n displayName: \"exampleterraform\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultey_hjs_o = alicloud.log.Project(\"defaulteyHJsO\",\n description=\"terraform-oss-example-910\",\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefaultxe_hf_xc = alicloud.log.Store(\"defaultxeHfXC\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=defaultey_hjs_o.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefaultiwj0x_o = alicloud.oss.Bucket(\"defaultiwj0xO\",\n bucket=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result,\n storage_class=\"Standard\")\ndefault_oss_export_sink = alicloud.sls.OssExportSink(\"default\",\n project=defaultey_hjs_o.project_name,\n configuration={\n \"logstore\": defaultxe_hf_xc.logstore_name,\n \"role_arn\": \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n \"sink\": {\n \"bucket\": defaultiwj0x_o.bucket,\n \"role_arn\": \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n \"time_zone\": \"+0700\",\n \"content_type\": \"json\",\n \"compression_type\": \"none\",\n \"content_detail\": json.dumps({\n \"enableTag\": False,\n }),\n \"buffer_interval\": \"300\",\n \"buffer_size\": \"256\",\n \"endpoint\": \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n \"from_time\": 1732165733,\n \"to_time\": 1732166733,\n },\n job_name=\"export-oss-1731404933-00001\",\n display_name=\"exampleterraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaulteyHJsO = new AliCloud.Log.Project(\"defaulteyHJsO\", new()\n {\n Description = \"terraform-oss-example-910\",\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultxeHfXC = new AliCloud.Log.Store(\"defaultxeHfXC\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaulteyHJsO.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultiwj0xO = new AliCloud.Oss.Bucket(\"defaultiwj0xO\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n StorageClass = \"Standard\",\n });\n\n var defaultOssExportSink = new AliCloud.Sls.OssExportSink(\"default\", new()\n {\n Project = defaulteyHJsO.ProjectName,\n Configuration = new AliCloud.Sls.Inputs.OssExportSinkConfigurationArgs\n {\n Logstore = defaultxeHfXC.LogstoreName,\n RoleArn = \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n Sink = new AliCloud.Sls.Inputs.OssExportSinkConfigurationSinkArgs\n {\n Bucket = defaultiwj0xO.BucketName,\n RoleArn = \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n TimeZone = \"+0700\",\n ContentType = \"json\",\n CompressionType = \"none\",\n ContentDetail = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"enableTag\"] = false,\n }),\n BufferInterval = \"300\",\n BufferSize = \"256\",\n Endpoint = \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n FromTime = 1732165733,\n ToTime = 1732166733,\n },\n JobName = \"export-oss-1731404933-00001\",\n DisplayName = \"exampleterraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulteyHJsO, err := log.NewProject(ctx, \"defaulteyHJsO\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform-oss-example-910\"),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultxeHfXC, err := log.NewStore(ctx, \"defaultxeHfXC\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaulteyHJsO.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultiwj0xO, err := oss.NewBucket(ctx, \"defaultiwj0xO\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat2.Result),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\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\"enableTag\": false,\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 = sls.NewOssExportSink(ctx, \"default\", \u0026sls.OssExportSinkArgs{\n\t\t\tProject: defaulteyHJsO.ProjectName,\n\t\t\tConfiguration: \u0026sls.OssExportSinkConfigurationArgs{\n\t\t\t\tLogstore: defaultxeHfXC.LogstoreName,\n\t\t\t\tRoleArn: pulumi.String(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\"),\n\t\t\t\tSink: \u0026sls.OssExportSinkConfigurationSinkArgs{\n\t\t\t\t\tBucket: defaultiwj0xO.Bucket,\n\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"+0700\"),\n\t\t\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\t\t\tCompressionType: pulumi.String(\"none\"),\n\t\t\t\t\tContentDetail: pulumi.String(json0),\n\t\t\t\t\tBufferInterval: pulumi.String(\"300\"),\n\t\t\t\t\tBufferSize: pulumi.String(\"256\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"https://oss-cn-shanghai-internal.aliyuncs.com\"),\n\t\t\t\t},\n\t\t\t\tFromTime: pulumi.Int(1732165733),\n\t\t\t\tToTime: pulumi.Int(1732166733),\n\t\t\t},\n\t\t\tJobName: pulumi.String(\"export-oss-1731404933-00001\"),\n\t\t\tDisplayName: pulumi.String(\"exampleterraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.sls.OssExportSink;\nimport com.pulumi.alicloud.sls.OssExportSinkArgs;\nimport com.pulumi.alicloud.sls.inputs.OssExportSinkConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.OssExportSinkConfigurationSinkArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaulteyHJsO = new Project(\"defaulteyHJsO\", ProjectArgs.builder()\n .description(\"terraform-oss-example-910\")\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultxeHfXC = new Store(\"defaultxeHfXC\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaulteyHJsO.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultiwj0xO = new Bucket(\"defaultiwj0xO\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .storageClass(\"Standard\")\n .build());\n\n var defaultOssExportSink = new OssExportSink(\"defaultOssExportSink\", OssExportSinkArgs.builder()\n .project(defaulteyHJsO.projectName())\n .configuration(OssExportSinkConfigurationArgs.builder()\n .logstore(defaultxeHfXC.logstoreName())\n .roleArn(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\")\n .sink(OssExportSinkConfigurationSinkArgs.builder()\n .bucket(defaultiwj0xO.bucket())\n .roleArn(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\")\n .timeZone(\"+0700\")\n .contentType(\"json\")\n .compressionType(\"none\")\n .contentDetail(serializeJson(\n jsonObject(\n jsonProperty(\"enableTag\", false)\n )))\n .bufferInterval(\"300\")\n .bufferSize(\"256\")\n .endpoint(\"https://oss-cn-shanghai-internal.aliyuncs.com\")\n .build())\n .fromTime(1732165733)\n .toTime(1732166733)\n .build())\n .jobName(\"export-oss-1731404933-00001\")\n .displayName(\"exampleterraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaulteyHJsO:\n type: alicloud:log:Project\n properties:\n description: terraform-oss-example-910\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultxeHfXC:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaulteyHJsO.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultiwj0xO:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n storageClass: Standard\n defaultOssExportSink:\n type: alicloud:sls:OssExportSink\n name: default\n properties:\n project: ${defaulteyHJsO.projectName}\n configuration:\n logstore: ${defaultxeHfXC.logstoreName}\n roleArn: acs:ram::12345678901234567:role/aliyunlogdefaultrole\n sink:\n bucket: ${defaultiwj0xO.bucket}\n roleArn: acs:ram::12345678901234567:role/aliyunlogdefaultrole\n timeZone: '+0700'\n contentType: json\n compressionType: none\n contentDetail:\n fn::toJSON:\n enableTag: false\n bufferInterval: '300'\n bufferSize: '256'\n endpoint: https://oss-cn-shanghai-internal.aliyuncs.com\n fromTime: '1732165733'\n toTime: '1732166733'\n jobName: export-oss-1731404933-00001\n displayName: exampleterraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLog Service (SLS) Oss Export Sink can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/ossExportSink:OssExportSink example \u003cproject\u003e:\u003cjob_name\u003e\n```\n\n", + "description": "Provides a Log Service (SLS) Oss Export Sink resource.\n\nOSS export task.\n\nFor information about Log Service (SLS) Oss Export Sink and how to use it, see [What is Oss Export Sink](https://www.alibabacloud.com/help/en/sls/developer-reference/api-sls-2020-12-30-createossexport).\n\n\u003e **NOTE:** Available since v1.237.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaulteyHJsO = new alicloud.log.Project(\"defaulteyHJsO\", {\n description: \"terraform-oss-example-910\",\n projectName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultxeHfXC = new alicloud.log.Store(\"defaultxeHfXC\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaulteyHJsO.projectName,\n logstoreName: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n});\nconst defaultiwj0xO = new alicloud.oss.Bucket(\"defaultiwj0xO\", {\n bucket: std.format({\n input: \"%s1%s\",\n args: [\n name,\n _default.result,\n ],\n }).then(invoke =\u003e invoke.result),\n storageClass: \"Standard\",\n});\nconst defaultOssExportSink = new alicloud.sls.OssExportSink(\"default\", {\n project: defaulteyHJsO.projectName,\n configuration: {\n logstore: defaultxeHfXC.logstoreName,\n roleArn: \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n sink: {\n bucket: defaultiwj0xO.bucket,\n roleArn: \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n timeZone: \"+0700\",\n contentType: \"json\",\n compressionType: \"none\",\n contentDetail: JSON.stringify({\n enableTag: false,\n }),\n bufferInterval: \"300\",\n bufferSize: \"256\",\n endpoint: \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n fromTime: 1732165733,\n toTime: 1732166733,\n },\n jobName: \"export-oss-1731404933-00001\",\n displayName: \"exampleterraform\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefaultey_hjs_o = alicloud.log.Project(\"defaulteyHJsO\",\n description=\"terraform-oss-example-910\",\n project_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefaultxe_hf_xc = alicloud.log.Store(\"defaultxeHfXC\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=defaultey_hjs_o.project_name,\n logstore_name=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result)\ndefaultiwj0x_o = alicloud.oss.Bucket(\"defaultiwj0xO\",\n bucket=std.format(input=\"%s1%s\",\n args=[\n name,\n default[\"result\"],\n ]).result,\n storage_class=\"Standard\")\ndefault_oss_export_sink = alicloud.sls.OssExportSink(\"default\",\n project=defaultey_hjs_o.project_name,\n configuration={\n \"logstore\": defaultxe_hf_xc.logstore_name,\n \"role_arn\": \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n \"sink\": {\n \"bucket\": defaultiwj0x_o.bucket,\n \"role_arn\": \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n \"time_zone\": \"+0700\",\n \"content_type\": \"json\",\n \"compression_type\": \"none\",\n \"content_detail\": json.dumps({\n \"enableTag\": False,\n }),\n \"buffer_interval\": \"300\",\n \"buffer_size\": \"256\",\n \"endpoint\": \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n \"from_time\": 1732165733,\n \"to_time\": 1732166733,\n },\n job_name=\"export-oss-1731404933-00001\",\n display_name=\"exampleterraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaulteyHJsO = new AliCloud.Log.Project(\"defaulteyHJsO\", new()\n {\n Description = \"terraform-oss-example-910\",\n ProjectName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultxeHfXC = new AliCloud.Log.Store(\"defaultxeHfXC\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaulteyHJsO.ProjectName,\n LogstoreName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var defaultiwj0xO = new AliCloud.Oss.Bucket(\"defaultiwj0xO\", new()\n {\n BucketName = Std.Format.Invoke(new()\n {\n Input = \"%s1%s\",\n Args = new[]\n {\n name,\n @default.Result,\n },\n }).Apply(invoke =\u003e invoke.Result),\n StorageClass = \"Standard\",\n });\n\n var defaultOssExportSink = new AliCloud.Sls.OssExportSink(\"default\", new()\n {\n Project = defaulteyHJsO.ProjectName,\n Configuration = new AliCloud.Sls.Inputs.OssExportSinkConfigurationArgs\n {\n Logstore = defaultxeHfXC.LogstoreName,\n RoleArn = \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n Sink = new AliCloud.Sls.Inputs.OssExportSinkConfigurationSinkArgs\n {\n Bucket = defaultiwj0xO.BucketName,\n RoleArn = \"acs:ram::12345678901234567:role/aliyunlogdefaultrole\",\n TimeZone = \"+0700\",\n ContentType = \"json\",\n CompressionType = \"none\",\n ContentDetail = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"enableTag\"] = false,\n }),\n BufferInterval = \"300\",\n BufferSize = \"256\",\n Endpoint = \"https://oss-cn-shanghai-internal.aliyuncs.com\",\n },\n FromTime = 1732165733,\n ToTime = 1732166733,\n },\n JobName = \"export-oss-1731404933-00001\",\n DisplayName = \"exampleterraform\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaulteyHJsO, err := log.NewProject(ctx, \"defaulteyHJsO\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"terraform-oss-example-910\"),\n\t\t\tProjectName: pulumi.String(invokeFormat.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultxeHfXC, err := log.NewStore(ctx, \"defaultxeHfXC\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaulteyHJsO.ProjectName,\n\t\t\tLogstoreName: pulumi.String(invokeFormat1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1%s\",\n\t\t\tArgs: []interface{}{\n\t\t\t\tname,\n\t\t\t\t_default.Result,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultiwj0xO, err := oss.NewBucket(ctx, \"defaultiwj0xO\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.String(invokeFormat2.Result),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\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\"enableTag\": false,\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 = sls.NewOssExportSink(ctx, \"default\", \u0026sls.OssExportSinkArgs{\n\t\t\tProject: defaulteyHJsO.ProjectName,\n\t\t\tConfiguration: \u0026sls.OssExportSinkConfigurationArgs{\n\t\t\t\tLogstore: defaultxeHfXC.LogstoreName,\n\t\t\t\tRoleArn: pulumi.String(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\"),\n\t\t\t\tSink: \u0026sls.OssExportSinkConfigurationSinkArgs{\n\t\t\t\t\tBucket: defaultiwj0xO.Bucket,\n\t\t\t\t\tRoleArn: pulumi.String(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"+0700\"),\n\t\t\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\t\t\tCompressionType: pulumi.String(\"none\"),\n\t\t\t\t\tContentDetail: pulumi.String(json0),\n\t\t\t\t\tBufferInterval: pulumi.String(\"300\"),\n\t\t\t\t\tBufferSize: pulumi.String(\"256\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"https://oss-cn-shanghai-internal.aliyuncs.com\"),\n\t\t\t\t},\n\t\t\t\tFromTime: pulumi.Int(1732165733),\n\t\t\t\tToTime: pulumi.Int(1732166733),\n\t\t\t},\n\t\t\tJobName: pulumi.String(\"export-oss-1731404933-00001\"),\n\t\t\tDisplayName: pulumi.String(\"exampleterraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.sls.OssExportSink;\nimport com.pulumi.alicloud.sls.OssExportSinkArgs;\nimport com.pulumi.alicloud.sls.inputs.OssExportSinkConfigurationArgs;\nimport com.pulumi.alicloud.sls.inputs.OssExportSinkConfigurationSinkArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaulteyHJsO = new Project(\"defaulteyHJsO\", ProjectArgs.builder()\n .description(\"terraform-oss-example-910\")\n .projectName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultxeHfXC = new Store(\"defaultxeHfXC\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaulteyHJsO.projectName())\n .logstoreName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .build());\n\n var defaultiwj0xO = new Bucket(\"defaultiwj0xO\", BucketArgs.builder()\n .bucket(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1%s\")\n .args( \n name,\n default_.result())\n .build()).result())\n .storageClass(\"Standard\")\n .build());\n\n var defaultOssExportSink = new OssExportSink(\"defaultOssExportSink\", OssExportSinkArgs.builder()\n .project(defaulteyHJsO.projectName())\n .configuration(OssExportSinkConfigurationArgs.builder()\n .logstore(defaultxeHfXC.logstoreName())\n .roleArn(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\")\n .sink(OssExportSinkConfigurationSinkArgs.builder()\n .bucket(defaultiwj0xO.bucket())\n .roleArn(\"acs:ram::12345678901234567:role/aliyunlogdefaultrole\")\n .timeZone(\"+0700\")\n .contentType(\"json\")\n .compressionType(\"none\")\n .contentDetail(serializeJson(\n jsonObject(\n jsonProperty(\"enableTag\", false)\n )))\n .bufferInterval(\"300\")\n .bufferSize(\"256\")\n .endpoint(\"https://oss-cn-shanghai-internal.aliyuncs.com\")\n .build())\n .fromTime(1732165733)\n .toTime(1732166733)\n .build())\n .jobName(\"export-oss-1731404933-00001\")\n .displayName(\"exampleterraform\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaulteyHJsO:\n type: alicloud:log:Project\n properties:\n description: terraform-oss-example-910\n projectName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultxeHfXC:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaulteyHJsO.projectName}\n logstoreName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n defaultiwj0xO:\n type: alicloud:oss:Bucket\n properties:\n bucket:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1%s'\n args:\n - ${name}\n - ${default.result}\n return: result\n storageClass: Standard\n defaultOssExportSink:\n type: alicloud:sls:OssExportSink\n name: default\n properties:\n project: ${defaulteyHJsO.projectName}\n configuration:\n logstore: ${defaultxeHfXC.logstoreName}\n roleArn: acs:ram::12345678901234567:role/aliyunlogdefaultrole\n sink:\n bucket: ${defaultiwj0xO.bucket}\n roleArn: acs:ram::12345678901234567:role/aliyunlogdefaultrole\n timeZone: '+0700'\n contentType: json\n compressionType: none\n contentDetail:\n fn::toJSON:\n enableTag: false\n bufferInterval: '300'\n bufferSize: '256'\n endpoint: https://oss-cn-shanghai-internal.aliyuncs.com\n fromTime: '1732165733'\n toTime: '1732166733'\n jobName: export-oss-1731404933-00001\n displayName: exampleterraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nLog Service (SLS) Oss Export Sink can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/ossExportSink:OssExportSink example \u003cproject\u003e:\u003cjob_name\u003e\n```\n\n", "properties": { "configuration": { "$ref": "#/types/alicloud:sls/OssExportSinkConfiguration:OssExportSinkConfiguration", @@ -254322,7 +260000,7 @@ } }, "alicloud:sls/scheduledSql:ScheduledSql": { - "description": "Provides a SLS Scheduled SQL resource. Scheduled SQL task.\n\nFor information about SLS Scheduled SQL and how to use it, see [What is Scheduled SQL](https://www.alibabacloud.com/help/zh/sls/developer-reference/api-sls-2020-12-30-createscheduledsql).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKIe4KV = new alicloud.log.Project(\"defaultKIe4KV\", {\n description: `${name}-${_default.result}`,\n projectName: `${name}-${_default.result}`,\n});\nconst default1LI9we = new alicloud.log.Store(\"default1LI9we\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaultKIe4KV.projectName,\n logstoreName: `${name}-${_default.result}`,\n});\nconst defaultScheduledSql = new alicloud.sls.ScheduledSql(\"default\", {\n description: \"example-tf-scheduled-sql-0006\",\n schedule: {\n type: \"Cron\",\n timeZone: \"+0700\",\n delay: 20,\n cronExpression: \"0 0/1 * * *\",\n },\n displayName: \"example-tf-scheduled-sql-0006\",\n scheduledSqlConfiguration: {\n script: \"* | select * from log\",\n sqlType: \"searchQuery\",\n destEndpoint: \"ap-northeast-1.log.aliyuncs.com\",\n destProject: \"job-e2e-project-jj78kur-ap-southeast-1\",\n sourceLogstore: default1LI9we.logstoreName,\n destLogstore: \"example-open-api02\",\n roleArn: \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n destRoleArn: \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n fromTimeExpr: \"@m-1m\",\n toTimeExpr: \"@m\",\n maxRunTimeInSeconds: 1800,\n resourcePool: \"enhanced\",\n maxRetries: 5,\n fromTime: 1713196800,\n toTime: 0,\n dataFormat: \"log2log\",\n },\n scheduledSqlName: name,\n project: defaultKIe4KV.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_k_ie4_kv = alicloud.log.Project(\"defaultKIe4KV\",\n description=f\"{name}-{default['result']}\",\n project_name=f\"{name}-{default['result']}\")\ndefault1_li9we = alicloud.log.Store(\"default1LI9we\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=default_k_ie4_kv.project_name,\n logstore_name=f\"{name}-{default['result']}\")\ndefault_scheduled_sql = alicloud.sls.ScheduledSql(\"default\",\n description=\"example-tf-scheduled-sql-0006\",\n schedule={\n \"type\": \"Cron\",\n \"time_zone\": \"+0700\",\n \"delay\": 20,\n \"cron_expression\": \"0 0/1 * * *\",\n },\n display_name=\"example-tf-scheduled-sql-0006\",\n scheduled_sql_configuration={\n \"script\": \"* | select * from log\",\n \"sql_type\": \"searchQuery\",\n \"dest_endpoint\": \"ap-northeast-1.log.aliyuncs.com\",\n \"dest_project\": \"job-e2e-project-jj78kur-ap-southeast-1\",\n \"source_logstore\": default1_li9we.logstore_name,\n \"dest_logstore\": \"example-open-api02\",\n \"role_arn\": \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n \"dest_role_arn\": \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n \"from_time_expr\": \"@m-1m\",\n \"to_time_expr\": \"@m\",\n \"max_run_time_in_seconds\": 1800,\n \"resource_pool\": \"enhanced\",\n \"max_retries\": 5,\n \"from_time\": 1713196800,\n \"to_time\": 0,\n \"data_format\": \"log2log\",\n },\n scheduled_sql_name=name,\n project=default_k_ie4_kv.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKIe4KV = new AliCloud.Log.Project(\"defaultKIe4KV\", new()\n {\n Description = $\"{name}-{@default.Result}\",\n ProjectName = $\"{name}-{@default.Result}\",\n });\n\n var default1LI9we = new AliCloud.Log.Store(\"default1LI9we\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaultKIe4KV.ProjectName,\n LogstoreName = $\"{name}-{@default.Result}\",\n });\n\n var defaultScheduledSql = new AliCloud.Sls.ScheduledSql(\"default\", new()\n {\n Description = \"example-tf-scheduled-sql-0006\",\n Schedule = new AliCloud.Sls.Inputs.ScheduledSqlScheduleArgs\n {\n Type = \"Cron\",\n TimeZone = \"+0700\",\n Delay = 20,\n CronExpression = \"0 0/1 * * *\",\n },\n DisplayName = \"example-tf-scheduled-sql-0006\",\n ScheduledSqlConfiguration = new AliCloud.Sls.Inputs.ScheduledSqlScheduledSqlConfigurationArgs\n {\n Script = \"* | select * from log\",\n SqlType = \"searchQuery\",\n DestEndpoint = \"ap-northeast-1.log.aliyuncs.com\",\n DestProject = \"job-e2e-project-jj78kur-ap-southeast-1\",\n SourceLogstore = default1LI9we.LogstoreName,\n DestLogstore = \"example-open-api02\",\n RoleArn = \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n DestRoleArn = \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n FromTimeExpr = \"@m-1m\",\n ToTimeExpr = \"@m\",\n MaxRunTimeInSeconds = 1800,\n ResourcePool = \"enhanced\",\n MaxRetries = 5,\n FromTime = 1713196800,\n ToTime = 0,\n DataFormat = \"log2log\",\n },\n ScheduledSqlName = name,\n Project = defaultKIe4KV.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKIe4KV, err := log.NewProject(ctx, \"defaultKIe4KV\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1LI9we, err := log.NewStore(ctx, \"default1LI9we\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaultKIe4KV.ProjectName,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewScheduledSql(ctx, \"default\", \u0026sls.ScheduledSqlArgs{\n\t\t\tDescription: pulumi.String(\"example-tf-scheduled-sql-0006\"),\n\t\t\tSchedule: \u0026sls.ScheduledSqlScheduleArgs{\n\t\t\t\tType: pulumi.String(\"Cron\"),\n\t\t\t\tTimeZone: pulumi.String(\"+0700\"),\n\t\t\t\tDelay: pulumi.Int(20),\n\t\t\t\tCronExpression: pulumi.String(\"0 0/1 * * *\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"example-tf-scheduled-sql-0006\"),\n\t\t\tScheduledSqlConfiguration: \u0026sls.ScheduledSqlScheduledSqlConfigurationArgs{\n\t\t\t\tScript: pulumi.String(\"* | select * from log\"),\n\t\t\t\tSqlType: pulumi.String(\"searchQuery\"),\n\t\t\t\tDestEndpoint: pulumi.String(\"ap-northeast-1.log.aliyuncs.com\"),\n\t\t\t\tDestProject: pulumi.String(\"job-e2e-project-jj78kur-ap-southeast-1\"),\n\t\t\t\tSourceLogstore: default1LI9we.LogstoreName,\n\t\t\t\tDestLogstore: pulumi.String(\"example-open-api02\"),\n\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1395894005868720:role/aliyunlogetlrole\"),\n\t\t\t\tDestRoleArn: pulumi.String(\"acs:ram::1395894005868720:role/aliyunlogetlrole\"),\n\t\t\t\tFromTimeExpr: pulumi.String(\"@m-1m\"),\n\t\t\t\tToTimeExpr: pulumi.String(\"@m\"),\n\t\t\t\tMaxRunTimeInSeconds: pulumi.Int(1800),\n\t\t\t\tResourcePool: pulumi.String(\"enhanced\"),\n\t\t\t\tMaxRetries: pulumi.Int(5),\n\t\t\t\tFromTime: pulumi.Int(1713196800),\n\t\t\t\tToTime: pulumi.Int(0),\n\t\t\t\tDataFormat: pulumi.String(\"log2log\"),\n\t\t\t},\n\t\t\tScheduledSqlName: pulumi.String(name),\n\t\t\tProject: defaultKIe4KV.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.ScheduledSql;\nimport com.pulumi.alicloud.sls.ScheduledSqlArgs;\nimport com.pulumi.alicloud.sls.inputs.ScheduledSqlScheduleArgs;\nimport com.pulumi.alicloud.sls.inputs.ScheduledSqlScheduledSqlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKIe4KV = new Project(\"defaultKIe4KV\", ProjectArgs.builder()\n .description(String.format(\"%s-%s\", name,default_.result()))\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var default1LI9we = new Store(\"default1LI9we\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaultKIe4KV.projectName())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultScheduledSql = new ScheduledSql(\"defaultScheduledSql\", ScheduledSqlArgs.builder()\n .description(\"example-tf-scheduled-sql-0006\")\n .schedule(ScheduledSqlScheduleArgs.builder()\n .type(\"Cron\")\n .timeZone(\"+0700\")\n .delay(20)\n .cronExpression(\"0 0/1 * * *\")\n .build())\n .displayName(\"example-tf-scheduled-sql-0006\")\n .scheduledSqlConfiguration(ScheduledSqlScheduledSqlConfigurationArgs.builder()\n .script(\"* | select * from log\")\n .sqlType(\"searchQuery\")\n .destEndpoint(\"ap-northeast-1.log.aliyuncs.com\")\n .destProject(\"job-e2e-project-jj78kur-ap-southeast-1\")\n .sourceLogstore(default1LI9we.logstoreName())\n .destLogstore(\"example-open-api02\")\n .roleArn(\"acs:ram::1395894005868720:role/aliyunlogetlrole\")\n .destRoleArn(\"acs:ram::1395894005868720:role/aliyunlogetlrole\")\n .fromTimeExpr(\"@m-1m\")\n .toTimeExpr(\"@m\")\n .maxRunTimeInSeconds(1800)\n .resourcePool(\"enhanced\")\n .maxRetries(5)\n .fromTime(1713196800)\n .toTime(0)\n .dataFormat(\"log2log\")\n .build())\n .scheduledSqlName(name)\n .project(defaultKIe4KV.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKIe4KV:\n type: alicloud:log:Project\n properties:\n description: ${name}-${default.result}\n projectName: ${name}-${default.result}\n default1LI9we:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaultKIe4KV.projectName}\n logstoreName: ${name}-${default.result}\n defaultScheduledSql:\n type: alicloud:sls:ScheduledSql\n name: default\n properties:\n description: example-tf-scheduled-sql-0006\n schedule:\n type: Cron\n timeZone: '+0700'\n delay: '20'\n cronExpression: 0 0/1 * * *\n displayName: example-tf-scheduled-sql-0006\n scheduledSqlConfiguration:\n script: '* | select * from log'\n sqlType: searchQuery\n destEndpoint: ap-northeast-1.log.aliyuncs.com\n destProject: job-e2e-project-jj78kur-ap-southeast-1\n sourceLogstore: ${default1LI9we.logstoreName}\n destLogstore: example-open-api02\n roleArn: acs:ram::1395894005868720:role/aliyunlogetlrole\n destRoleArn: acs:ram::1395894005868720:role/aliyunlogetlrole\n fromTimeExpr: '@m-1m'\n toTimeExpr: '@m'\n maxRunTimeInSeconds: '1800'\n resourcePool: enhanced\n maxRetries: '5'\n fromTime: '1713196800'\n toTime: '0'\n dataFormat: log2log\n scheduledSqlName: ${name}\n project: ${defaultKIe4KV.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSLS Scheduled SQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/scheduledSql:ScheduledSql example \u003cproject\u003e:\u003cscheduled_sql_name\u003e\n```\n\n", + "description": "Provides a SLS Scheduled SQL resource. Scheduled SQL task.\n\nFor information about SLS Scheduled SQL and how to use it, see [What is Scheduled SQL](https://www.alibabacloud.com/help/zh/sls/developer-reference/api-sls-2020-12-30-createscheduledsql).\n\n\u003e **NOTE:** Available since v1.224.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultKIe4KV = new alicloud.log.Project(\"defaultKIe4KV\", {\n description: `${name}-${_default.result}`,\n projectName: `${name}-${_default.result}`,\n});\nconst default1LI9we = new alicloud.log.Store(\"default1LI9we\", {\n hotTtl: 8,\n retentionPeriod: 30,\n shardCount: 2,\n projectName: defaultKIe4KV.projectName,\n logstoreName: `${name}-${_default.result}`,\n});\nconst defaultScheduledSql = new alicloud.sls.ScheduledSql(\"default\", {\n description: \"example-tf-scheduled-sql-0006\",\n schedule: {\n type: \"Cron\",\n timeZone: \"+0700\",\n delay: 20,\n cronExpression: \"0 0/1 * * *\",\n },\n displayName: \"example-tf-scheduled-sql-0006\",\n scheduledSqlConfiguration: {\n script: \"* | select * from log\",\n sqlType: \"searchQuery\",\n destEndpoint: \"ap-northeast-1.log.aliyuncs.com\",\n destProject: \"job-e2e-project-jj78kur-ap-southeast-1\",\n sourceLogstore: default1LI9we.logstoreName,\n destLogstore: \"example-open-api02\",\n roleArn: \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n destRoleArn: \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n fromTimeExpr: \"@m-1m\",\n toTimeExpr: \"@m\",\n maxRunTimeInSeconds: 1800,\n resourcePool: \"enhanced\",\n maxRetries: 5,\n fromTime: 1713196800,\n toTime: 0,\n dataFormat: \"log2log\",\n },\n scheduledSqlName: name,\n project: defaultKIe4KV.projectName,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_k_ie4_kv = alicloud.log.Project(\"defaultKIe4KV\",\n description=f\"{name}-{default['result']}\",\n project_name=f\"{name}-{default['result']}\")\ndefault1_li9we = alicloud.log.Store(\"default1LI9we\",\n hot_ttl=8,\n retention_period=30,\n shard_count=2,\n project_name=default_k_ie4_kv.project_name,\n logstore_name=f\"{name}-{default['result']}\")\ndefault_scheduled_sql = alicloud.sls.ScheduledSql(\"default\",\n description=\"example-tf-scheduled-sql-0006\",\n schedule={\n \"type\": \"Cron\",\n \"time_zone\": \"+0700\",\n \"delay\": 20,\n \"cron_expression\": \"0 0/1 * * *\",\n },\n display_name=\"example-tf-scheduled-sql-0006\",\n scheduled_sql_configuration={\n \"script\": \"* | select * from log\",\n \"sql_type\": \"searchQuery\",\n \"dest_endpoint\": \"ap-northeast-1.log.aliyuncs.com\",\n \"dest_project\": \"job-e2e-project-jj78kur-ap-southeast-1\",\n \"source_logstore\": default1_li9we.logstore_name,\n \"dest_logstore\": \"example-open-api02\",\n \"role_arn\": \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n \"dest_role_arn\": \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n \"from_time_expr\": \"@m-1m\",\n \"to_time_expr\": \"@m\",\n \"max_run_time_in_seconds\": 1800,\n \"resource_pool\": \"enhanced\",\n \"max_retries\": 5,\n \"from_time\": 1713196800,\n \"to_time\": 0,\n \"data_format\": \"log2log\",\n },\n scheduled_sql_name=name,\n project=default_k_ie4_kv.project_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultKIe4KV = new AliCloud.Log.Project(\"defaultKIe4KV\", new()\n {\n Description = $\"{name}-{@default.Result}\",\n ProjectName = $\"{name}-{@default.Result}\",\n });\n\n var default1LI9we = new AliCloud.Log.Store(\"default1LI9we\", new()\n {\n HotTtl = 8,\n RetentionPeriod = 30,\n ShardCount = 2,\n ProjectName = defaultKIe4KV.ProjectName,\n LogstoreName = $\"{name}-{@default.Result}\",\n });\n\n var defaultScheduledSql = new AliCloud.Sls.ScheduledSql(\"default\", new()\n {\n Description = \"example-tf-scheduled-sql-0006\",\n Schedule = new AliCloud.Sls.Inputs.ScheduledSqlScheduleArgs\n {\n Type = \"Cron\",\n TimeZone = \"+0700\",\n Delay = 20,\n CronExpression = \"0 0/1 * * *\",\n },\n DisplayName = \"example-tf-scheduled-sql-0006\",\n ScheduledSqlConfiguration = new AliCloud.Sls.Inputs.ScheduledSqlScheduledSqlConfigurationArgs\n {\n Script = \"* | select * from log\",\n SqlType = \"searchQuery\",\n DestEndpoint = \"ap-northeast-1.log.aliyuncs.com\",\n DestProject = \"job-e2e-project-jj78kur-ap-southeast-1\",\n SourceLogstore = default1LI9we.LogstoreName,\n DestLogstore = \"example-open-api02\",\n RoleArn = \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n DestRoleArn = \"acs:ram::1395894005868720:role/aliyunlogetlrole\",\n FromTimeExpr = \"@m-1m\",\n ToTimeExpr = \"@m\",\n MaxRunTimeInSeconds = 1800,\n ResourcePool = \"enhanced\",\n MaxRetries = 5,\n FromTime = 1713196800,\n ToTime = 0,\n DataFormat = \"log2log\",\n },\n ScheduledSqlName = name,\n Project = defaultKIe4KV.ProjectName,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sls\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKIe4KV, err := log.NewProject(ctx, \"defaultKIe4KV\", \u0026log.ProjectArgs{\n\t\t\tDescription: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t\tProjectName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1LI9we, err := log.NewStore(ctx, \"default1LI9we\", \u0026log.StoreArgs{\n\t\t\tHotTtl: pulumi.Int(8),\n\t\t\tRetentionPeriod: pulumi.Int(30),\n\t\t\tShardCount: pulumi.Int(2),\n\t\t\tProjectName: defaultKIe4KV.ProjectName,\n\t\t\tLogstoreName: pulumi.Sprintf(\"%v-%v\", name, _default.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sls.NewScheduledSql(ctx, \"default\", \u0026sls.ScheduledSqlArgs{\n\t\t\tDescription: pulumi.String(\"example-tf-scheduled-sql-0006\"),\n\t\t\tSchedule: \u0026sls.ScheduledSqlScheduleArgs{\n\t\t\t\tType: pulumi.String(\"Cron\"),\n\t\t\t\tTimeZone: pulumi.String(\"+0700\"),\n\t\t\t\tDelay: pulumi.Int(20),\n\t\t\t\tCronExpression: pulumi.String(\"0 0/1 * * *\"),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"example-tf-scheduled-sql-0006\"),\n\t\t\tScheduledSqlConfiguration: \u0026sls.ScheduledSqlScheduledSqlConfigurationArgs{\n\t\t\t\tScript: pulumi.String(\"* | select * from log\"),\n\t\t\t\tSqlType: pulumi.String(\"searchQuery\"),\n\t\t\t\tDestEndpoint: pulumi.String(\"ap-northeast-1.log.aliyuncs.com\"),\n\t\t\t\tDestProject: pulumi.String(\"job-e2e-project-jj78kur-ap-southeast-1\"),\n\t\t\t\tSourceLogstore: default1LI9we.LogstoreName,\n\t\t\t\tDestLogstore: pulumi.String(\"example-open-api02\"),\n\t\t\t\tRoleArn: pulumi.String(\"acs:ram::1395894005868720:role/aliyunlogetlrole\"),\n\t\t\t\tDestRoleArn: pulumi.String(\"acs:ram::1395894005868720:role/aliyunlogetlrole\"),\n\t\t\t\tFromTimeExpr: pulumi.String(\"@m-1m\"),\n\t\t\t\tToTimeExpr: pulumi.String(\"@m\"),\n\t\t\t\tMaxRunTimeInSeconds: pulumi.Int(1800),\n\t\t\t\tResourcePool: pulumi.String(\"enhanced\"),\n\t\t\t\tMaxRetries: pulumi.Int(5),\n\t\t\t\tFromTime: pulumi.Int(1713196800),\n\t\t\t\tToTime: pulumi.Int(0),\n\t\t\t\tDataFormat: pulumi.String(\"log2log\"),\n\t\t\t},\n\t\t\tScheduledSqlName: pulumi.String(name),\n\t\t\tProject: defaultKIe4KV.ProjectName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.sls.ScheduledSql;\nimport com.pulumi.alicloud.sls.ScheduledSqlArgs;\nimport com.pulumi.alicloud.sls.inputs.ScheduledSqlScheduleArgs;\nimport com.pulumi.alicloud.sls.inputs.ScheduledSqlScheduledSqlConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultKIe4KV = new Project(\"defaultKIe4KV\", ProjectArgs.builder()\n .description(String.format(\"%s-%s\", name,default_.result()))\n .projectName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var default1LI9we = new Store(\"default1LI9we\", StoreArgs.builder()\n .hotTtl(8)\n .retentionPeriod(30)\n .shardCount(2)\n .projectName(defaultKIe4KV.projectName())\n .logstoreName(String.format(\"%s-%s\", name,default_.result()))\n .build());\n\n var defaultScheduledSql = new ScheduledSql(\"defaultScheduledSql\", ScheduledSqlArgs.builder()\n .description(\"example-tf-scheduled-sql-0006\")\n .schedule(ScheduledSqlScheduleArgs.builder()\n .type(\"Cron\")\n .timeZone(\"+0700\")\n .delay(20)\n .cronExpression(\"0 0/1 * * *\")\n .build())\n .displayName(\"example-tf-scheduled-sql-0006\")\n .scheduledSqlConfiguration(ScheduledSqlScheduledSqlConfigurationArgs.builder()\n .script(\"* | select * from log\")\n .sqlType(\"searchQuery\")\n .destEndpoint(\"ap-northeast-1.log.aliyuncs.com\")\n .destProject(\"job-e2e-project-jj78kur-ap-southeast-1\")\n .sourceLogstore(default1LI9we.logstoreName())\n .destLogstore(\"example-open-api02\")\n .roleArn(\"acs:ram::1395894005868720:role/aliyunlogetlrole\")\n .destRoleArn(\"acs:ram::1395894005868720:role/aliyunlogetlrole\")\n .fromTimeExpr(\"@m-1m\")\n .toTimeExpr(\"@m\")\n .maxRunTimeInSeconds(1800)\n .resourcePool(\"enhanced\")\n .maxRetries(5)\n .fromTime(1713196800)\n .toTime(0)\n .dataFormat(\"log2log\")\n .build())\n .scheduledSqlName(name)\n .project(defaultKIe4KV.projectName())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultKIe4KV:\n type: alicloud:log:Project\n properties:\n description: ${name}-${default.result}\n projectName: ${name}-${default.result}\n default1LI9we:\n type: alicloud:log:Store\n properties:\n hotTtl: '8'\n retentionPeriod: '30'\n shardCount: '2'\n projectName: ${defaultKIe4KV.projectName}\n logstoreName: ${name}-${default.result}\n defaultScheduledSql:\n type: alicloud:sls:ScheduledSql\n name: default\n properties:\n description: example-tf-scheduled-sql-0006\n schedule:\n type: Cron\n timeZone: '+0700'\n delay: '20'\n cronExpression: 0 0/1 * * *\n displayName: example-tf-scheduled-sql-0006\n scheduledSqlConfiguration:\n script: '* | select * from log'\n sqlType: searchQuery\n destEndpoint: ap-northeast-1.log.aliyuncs.com\n destProject: job-e2e-project-jj78kur-ap-southeast-1\n sourceLogstore: ${default1LI9we.logstoreName}\n destLogstore: example-open-api02\n roleArn: acs:ram::1395894005868720:role/aliyunlogetlrole\n destRoleArn: acs:ram::1395894005868720:role/aliyunlogetlrole\n fromTimeExpr: '@m-1m'\n toTimeExpr: '@m'\n maxRunTimeInSeconds: '1800'\n resourcePool: enhanced\n maxRetries: '5'\n fromTime: '1713196800'\n toTime: '0'\n dataFormat: log2log\n scheduledSqlName: ${name}\n project: ${defaultKIe4KV.projectName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSLS Scheduled SQL can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sls/scheduledSql:ScheduledSql example \u003cproject\u003e:\u003cscheduled_sql_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -254429,7 +260107,7 @@ } }, "alicloud:sms/shortUrl:ShortUrl": { - "description": "Provides a SMS Short Url resource.\n\nFor information about SMS Short Url and how to use it, see [What is Short Url](https://next.api.alibabacloud.com/api/Dysmsapi/2017-05-25/AddShortUrl).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.sms.ShortUrl(\"example\", {\n effectiveDays: 30,\n shortUrlName: \"example_value\",\n sourceUrl: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.sms.ShortUrl(\"example\",\n effective_days=30,\n short_url_name=\"example_value\",\n source_url=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Sms.ShortUrl(\"example\", new()\n {\n EffectiveDays = 30,\n ShortUrlName = \"example_value\",\n SourceUrl = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sms.NewShortUrl(ctx, \"example\", \u0026sms.ShortUrlArgs{\n\t\t\tEffectiveDays: pulumi.Int(30),\n\t\t\tShortUrlName: pulumi.String(\"example_value\"),\n\t\t\tSourceUrl: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sms.ShortUrl;\nimport com.pulumi.alicloud.sms.ShortUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ShortUrl(\"example\", ShortUrlArgs.builder()\n .effectiveDays(30)\n .shortUrlName(\"example_value\")\n .sourceUrl(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:sms:ShortUrl\n properties:\n effectiveDays: 30\n shortUrlName: example_value\n sourceUrl: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSMS Short Url can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sms/shortUrl:ShortUrl example \u003cid\u003e\n```\n\n", + "description": "Provides a SMS Short Url resource.\n\nFor information about SMS Short Url and how to use it, see [What is Short Url](https://next.api.alibabacloud.com/api/Dysmsapi/2017-05-25/AddShortUrl).\n\n\u003e **NOTE:** Available since v1.178.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.sms.ShortUrl(\"example\", {\n effectiveDays: 30,\n shortUrlName: \"example_value\",\n sourceUrl: \"example_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.sms.ShortUrl(\"example\",\n effective_days=30,\n short_url_name=\"example_value\",\n source_url=\"example_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Sms.ShortUrl(\"example\", new()\n {\n EffectiveDays = 30,\n ShortUrlName = \"example_value\",\n SourceUrl = \"example_value\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sms\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sms.NewShortUrl(ctx, \"example\", \u0026sms.ShortUrlArgs{\n\t\t\tEffectiveDays: pulumi.Int(30),\n\t\t\tShortUrlName: pulumi.String(\"example_value\"),\n\t\t\tSourceUrl: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sms.ShortUrl;\nimport com.pulumi.alicloud.sms.ShortUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ShortUrl(\"example\", ShortUrlArgs.builder()\n .effectiveDays(30)\n .shortUrlName(\"example_value\")\n .sourceUrl(\"example_value\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:sms:ShortUrl\n properties:\n effectiveDays: 30\n shortUrlName: example_value\n sourceUrl: example_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSMS Short Url can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sms/shortUrl:ShortUrl example \u003cid\u003e\n```\n\n", "properties": { "effectiveDays": { "type": "integer", @@ -254503,12 +260181,15 @@ } }, "alicloud:sslcertificatesservice/pcaCertificate:PcaCertificate": { - "description": "Provides a SSL Certificates Pca Certificate resource.\n\n\n\nFor information about SSL Certificates Pca Certificate and how to use it, see [What is Pca Certificate](https://next.api.alibabacloud.com/document/cas/2020-06-30/CreateRootCACertificate).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sslcertificatesservice.PcaCertificate(\"default\", {\n organization: \"a\",\n years: 1,\n locality: \"a\",\n organizationUnit: \"a\",\n state: \"a\",\n countryCode: \"cn\",\n commonName: \"cbc.certqa.cn\",\n algorithm: \"RSA_2048\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sslcertificatesservice.PcaCertificate(\"default\",\n organization=\"a\",\n years=1,\n locality=\"a\",\n organization_unit=\"a\",\n state=\"a\",\n country_code=\"cn\",\n common_name=\"cbc.certqa.cn\",\n algorithm=\"RSA_2048\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.SslCertificatesService.PcaCertificate(\"default\", new()\n {\n Organization = \"a\",\n Years = 1,\n Locality = \"a\",\n OrganizationUnit = \"a\",\n State = \"a\",\n CountryCode = \"cn\",\n CommonName = \"cbc.certqa.cn\",\n Algorithm = \"RSA_2048\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sslcertificatesservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sslcertificatesservice.NewPcaCertificate(ctx, \"default\", \u0026sslcertificatesservice.PcaCertificateArgs{\n\t\t\tOrganization: pulumi.String(\"a\"),\n\t\t\tYears: pulumi.Int(1),\n\t\t\tLocality: pulumi.String(\"a\"),\n\t\t\tOrganizationUnit: pulumi.String(\"a\"),\n\t\t\tState: pulumi.String(\"a\"),\n\t\t\tCountryCode: pulumi.String(\"cn\"),\n\t\t\tCommonName: pulumi.String(\"cbc.certqa.cn\"),\n\t\t\tAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sslcertificatesservice.PcaCertificate;\nimport com.pulumi.alicloud.sslcertificatesservice.PcaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new PcaCertificate(\"default\", PcaCertificateArgs.builder()\n .organization(\"a\")\n .years(1)\n .locality(\"a\")\n .organizationUnit(\"a\")\n .state(\"a\")\n .countryCode(\"cn\")\n .commonName(\"cbc.certqa.cn\")\n .algorithm(\"RSA_2048\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sslcertificatesservice:PcaCertificate\n properties:\n organization: a\n years: '1'\n locality: a\n organizationUnit: a\n state: a\n countryCode: cn\n commonName: cbc.certqa.cn\n algorithm: RSA_2048\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSL Certificates Pca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sslcertificatesservice/pcaCertificate:PcaCertificate example \u003cid\u003e\n```\n\n", + "description": "Provides a SSL Certificates Pca Certificate resource.\n\n\n\nFor information about SSL Certificates Pca Certificate and how to use it, see [What is Pca Certificate](https://next.api.alibabacloud.com/document/cas/2020-06-30/CreateRootCACertificate).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.sslcertificatesservice.PcaCertificate(\"default\", {\n organization: \"a\",\n years: 1,\n locality: \"a\",\n organizationUnit: \"a\",\n state: \"a\",\n countryCode: \"cn\",\n commonName: \"cbc.certqa.cn\",\n algorithm: \"RSA_2048\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.sslcertificatesservice.PcaCertificate(\"default\",\n organization=\"a\",\n years=1,\n locality=\"a\",\n organization_unit=\"a\",\n state=\"a\",\n country_code=\"cn\",\n common_name=\"cbc.certqa.cn\",\n algorithm=\"RSA_2048\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.SslCertificatesService.PcaCertificate(\"default\", new()\n {\n Organization = \"a\",\n Years = 1,\n Locality = \"a\",\n OrganizationUnit = \"a\",\n State = \"a\",\n CountryCode = \"cn\",\n CommonName = \"cbc.certqa.cn\",\n Algorithm = \"RSA_2048\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sslcertificatesservice\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sslcertificatesservice.NewPcaCertificate(ctx, \"default\", \u0026sslcertificatesservice.PcaCertificateArgs{\n\t\t\tOrganization: pulumi.String(\"a\"),\n\t\t\tYears: pulumi.Int(1),\n\t\t\tLocality: pulumi.String(\"a\"),\n\t\t\tOrganizationUnit: pulumi.String(\"a\"),\n\t\t\tState: pulumi.String(\"a\"),\n\t\t\tCountryCode: pulumi.String(\"cn\"),\n\t\t\tCommonName: pulumi.String(\"cbc.certqa.cn\"),\n\t\t\tAlgorithm: pulumi.String(\"RSA_2048\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.sslcertificatesservice.PcaCertificate;\nimport com.pulumi.alicloud.sslcertificatesservice.PcaCertificateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new PcaCertificate(\"default\", PcaCertificateArgs.builder()\n .organization(\"a\")\n .years(1)\n .locality(\"a\")\n .organizationUnit(\"a\")\n .state(\"a\")\n .countryCode(\"cn\")\n .commonName(\"cbc.certqa.cn\")\n .algorithm(\"RSA_2048\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:sslcertificatesservice:PcaCertificate\n properties:\n organization: a\n years: '1'\n locality: a\n organizationUnit: a\n state: a\n countryCode: cn\n commonName: cbc.certqa.cn\n algorithm: RSA_2048\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSSL Certificates Pca Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:sslcertificatesservice/pcaCertificate:PcaCertificate example \u003cid\u003e\n```\n\n", "properties": { "algorithm": { "type": "string", "description": "The key algorithm type of the root CA certificate. The key algorithm is expressed using the '_\u003c key length\u003e' format. Value:\n- `RSA_1024`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_2048`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_4096`: The corresponding signature algorithm is Sha256WithRSA.\n- `ECC_256`: The signature algorithm is Sha256WithECDSA.\n- `ECC_384`: The corresponding signature algorithm is Sha256WithECDSA.\n- `ECC_512`: The signature algorithm is Sha256WithECDSA.\n- `SM2_256`: The corresponding signature algorithm is SM3WithSM2.\nThe encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\\_1024**, **RSA\\_2048**, or **RSA\\_4096**.\n" }, + "aliasName": { + "type": "string" + }, "commonName": { "type": "string", "description": "The common name or abbreviation of the organization. Support the use of Chinese, English characters.\n" @@ -254529,14 +260210,25 @@ "type": "string", "description": "The name of the department or branch under the organization. Support the use of Chinese, English characters.\n" }, + "resourceGroupId": { + "type": "string", + "description": "A resource property field representing the resource group.\n" + }, "state": { "type": "string", - "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. \nName of the province or state where the organization is located. Support the use of Chinese, English characters.\n" + "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters.\n" }, "status": { "type": "string", "description": "The status of the CA certificate.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tag of the resource.\n" + }, "years": { "type": "integer", "description": "The validity period of the root CA certificate, in years.\n\u003e **NOTE:** It is recommended to set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e years.\n" @@ -254548,6 +260240,7 @@ "locality", "organization", "organizationUnit", + "resourceGroupId", "state", "status", "years" @@ -254558,6 +260251,9 @@ "description": "The key algorithm type of the root CA certificate. The key algorithm is expressed using the '_\u003c key length\u003e' format. Value:\n- `RSA_1024`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_2048`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_4096`: The corresponding signature algorithm is Sha256WithRSA.\n- `ECC_256`: The signature algorithm is Sha256WithECDSA.\n- `ECC_384`: The corresponding signature algorithm is Sha256WithECDSA.\n- `ECC_512`: The signature algorithm is Sha256WithECDSA.\n- `SM2_256`: The corresponding signature algorithm is SM3WithSM2.\nThe encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\\_1024**, **RSA\\_2048**, or **RSA\\_4096**.\n", "willReplaceOnChanges": true }, + "aliasName": { + "type": "string" + }, "commonName": { "type": "string", "description": "The common name or abbreviation of the organization. Support the use of Chinese, English characters.\n", @@ -254583,11 +260279,22 @@ "description": "The name of the department or branch under the organization. Support the use of Chinese, English characters.\n", "willReplaceOnChanges": true }, + "resourceGroupId": { + "type": "string", + "description": "A resource property field representing the resource group.\n" + }, "state": { "type": "string", - "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. \nName of the province or state where the organization is located. Support the use of Chinese, English characters.\n", + "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters.\n", "willReplaceOnChanges": true }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tag of the resource.\n" + }, "years": { "type": "integer", "description": "The validity period of the root CA certificate, in years.\n\u003e **NOTE:** It is recommended to set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e years.\n", @@ -254610,6 +260317,9 @@ "description": "The key algorithm type of the root CA certificate. The key algorithm is expressed using the '_\u003c key length\u003e' format. Value:\n- `RSA_1024`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_2048`: The corresponding signature algorithm is Sha256WithRSA.\n- `RSA_4096`: The corresponding signature algorithm is Sha256WithRSA.\n- `ECC_256`: The signature algorithm is Sha256WithECDSA.\n- `ECC_384`: The corresponding signature algorithm is Sha256WithECDSA.\n- `ECC_512`: The signature algorithm is Sha256WithECDSA.\n- `SM2_256`: The corresponding signature algorithm is SM3WithSM2.\nThe encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\\_1024**, **RSA\\_2048**, or **RSA\\_4096**.\n", "willReplaceOnChanges": true }, + "aliasName": { + "type": "string" + }, "commonName": { "type": "string", "description": "The common name or abbreviation of the organization. Support the use of Chinese, English characters.\n", @@ -254635,15 +260345,26 @@ "description": "The name of the department or branch under the organization. Support the use of Chinese, English characters.\n", "willReplaceOnChanges": true }, + "resourceGroupId": { + "type": "string", + "description": "A resource property field representing the resource group.\n" + }, "state": { "type": "string", - "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. \nName of the province or state where the organization is located. Support the use of Chinese, English characters.\n", + "description": "The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters.\n", "willReplaceOnChanges": true }, "status": { "type": "string", "description": "The status of the CA certificate.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tag of the resource.\n" + }, "years": { "type": "integer", "description": "The validity period of the root CA certificate, in years.\n\u003e **NOTE:** It is recommended to set to \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e years.\n", @@ -254654,7 +260375,7 @@ } }, "alicloud:starrocks/instance:Instance": { - "description": "Provides a Star Rocks Instance resource.\n\nStarRocks resource instance.\n\nFor information about Star Rocks Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateInstanceV1).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultB21JUD = new alicloud.vpc.Network(\"defaultB21JUD\", {cidrBlock: \"172.16.0.0/12\"});\nconst default106DkE = new alicloud.vpc.Switch(\"default106DkE\", {\n vpcId: defaultB21JUD.id,\n cidrBlock: \"172.16.1.0/24\",\n vswitchName: \"sr-example\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultInstance = new alicloud.starrocks.Instance(\"default\", {\n instanceName: \"create-instance-1\",\n autoRenew: false,\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n vswitches: [{\n vswitchId: default106DkE.id,\n zoneId: \"cn-hangzhou-i\",\n }],\n backendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n clusterZoneId: \"cn-hangzhou-i\",\n duration: 1,\n payType: \"postPaid\",\n vpcId: defaultB21JUD.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n adminPassword: \"1qaz@QAZ\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRole\",\n pricingCycle: \"Month\",\n kmsKeyId: \"123\",\n promotionOptionNo: \"123\",\n encrypted: false,\n observerNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n residentNodeNumber: 1,\n specType: \"standard\",\n localStorageInstanceType: \"null\",\n zoneId: \"cn-hangzhou-h\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_b21_jud = alicloud.vpc.Network(\"defaultB21JUD\", cidr_block=\"172.16.0.0/12\")\ndefault106_dk_e = alicloud.vpc.Switch(\"default106DkE\",\n vpc_id=default_b21_jud.id,\n cidr_block=\"172.16.1.0/24\",\n vswitch_name=\"sr-example\",\n zone_id=\"cn-hangzhou-i\")\ndefault_instance = alicloud.starrocks.Instance(\"default\",\n instance_name=\"create-instance-1\",\n auto_renew=False,\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n vswitches=[{\n \"vswitch_id\": default106_dk_e.id,\n \"zone_id\": \"cn-hangzhou-i\",\n }],\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n cluster_zone_id=\"cn-hangzhou-i\",\n duration=1,\n pay_type=\"postPaid\",\n vpc_id=default_b21_jud.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n admin_password=\"1qaz@QAZ\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRole\",\n pricing_cycle=\"Month\",\n kms_key_id=\"123\",\n promotion_option_no=\"123\",\n encrypted=False,\n observer_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"resident_node_number\": 1,\n \"spec_type\": \"standard\",\n \"local_storage_instance_type\": \"null\",\n \"zone_id\": \"cn-hangzhou-h\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultB21JUD = new AliCloud.Vpc.Network(\"defaultB21JUD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default106DkE = new AliCloud.Vpc.Switch(\"default106DkE\", new()\n {\n VpcId = defaultB21JUD.Id,\n CidrBlock = \"172.16.1.0/24\",\n VswitchName = \"sr-example\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultInstance = new AliCloud.StarRocks.Instance(\"default\", new()\n {\n InstanceName = \"create-instance-1\",\n AutoRenew = false,\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n VswitchId = default106DkE.Id,\n ZoneId = \"cn-hangzhou-i\",\n },\n },\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n ClusterZoneId = \"cn-hangzhou-i\",\n Duration = 1,\n PayType = \"postPaid\",\n VpcId = defaultB21JUD.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n AdminPassword = \"1qaz@QAZ\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRole\",\n PricingCycle = \"Month\",\n KmsKeyId = \"123\",\n PromotionOptionNo = \"123\",\n Encrypted = false,\n ObserverNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceObserverNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n SpecType = \"standard\",\n LocalStorageInstanceType = \"null\",\n ZoneId = \"cn-hangzhou-h\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultB21JUD, err := vpc.NewNetwork(ctx, \"defaultB21JUD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault106DkE, err := vpc.NewSwitch(ctx, \"default106DkE\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = starrocks.NewInstance(ctx, \"default\", \u0026starrocks.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"create-instance-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tVswitchId: default106DkE.ID(),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRole\"),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tKmsKeyId: pulumi.String(\"123\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"123\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tObserverNodeGroups: starrocks.InstanceObserverNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceObserverNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceObserverNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultB21JUD = new Network(\"defaultB21JUD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default106DkE = new Switch(\"default106DkE\", SwitchArgs.builder()\n .vpcId(defaultB21JUD.id())\n .cidrBlock(\"172.16.1.0/24\")\n .vswitchName(\"sr-example\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(\"create-instance-1\")\n .autoRenew(false)\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .vswitches(InstanceVswitchArgs.builder()\n .vswitchId(default106DkE.id())\n .zoneId(\"cn-hangzhou-i\")\n .build())\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .clusterZoneId(\"cn-hangzhou-i\")\n .duration(1)\n .payType(\"postPaid\")\n .vpcId(defaultB21JUD.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .adminPassword(\"1qaz@QAZ\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRole\")\n .pricingCycle(\"Month\")\n .kmsKeyId(\"123\")\n .promotionOptionNo(\"123\")\n .encrypted(false)\n .observerNodeGroups(InstanceObserverNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .residentNodeNumber(1)\n .specType(\"standard\")\n .localStorageInstanceType(\"null\")\n .zoneId(\"cn-hangzhou-h\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultB21JUD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n default106DkE:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultB21JUD.id}\n cidrBlock: 172.16.1.0/24\n vswitchName: sr-example\n zoneId: cn-hangzhou-i\n defaultInstance:\n type: alicloud:starrocks:Instance\n name: default\n properties:\n instanceName: create-instance-1\n autoRenew: false\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n storagePerformanceLevel: pl1\n specType: standard\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n vswitches:\n - vswitchId: ${default106DkE.id}\n zoneId: cn-hangzhou-i\n backendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n specType: standard\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n clusterZoneId: cn-hangzhou-i\n duration: '1'\n payType: postPaid\n vpcId: ${defaultB21JUD.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n adminPassword: 1qaz@QAZ\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRole\n pricingCycle: Month\n kmsKeyId: '123'\n promotionOptionNo: '123'\n encrypted: false\n observerNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n residentNodeNumber: '1'\n specType: standard\n localStorageInstanceType: null\n zoneId: cn-hangzhou-h\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStar Rocks Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:starrocks/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Star Rocks Instance resource.\n\nStarRocks resource instance.\n\nFor information about Star Rocks Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateInstanceV1).\n\n\u003e **NOTE:** Available since v1.256.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultB21JUD = new alicloud.vpc.Network(\"defaultB21JUD\", {cidrBlock: \"172.16.0.0/12\"});\nconst default106DkE = new alicloud.vpc.Switch(\"default106DkE\", {\n vpcId: defaultB21JUD.id,\n cidrBlock: \"172.16.1.0/24\",\n vswitchName: \"sr-example\",\n zoneId: \"cn-hangzhou-i\",\n});\nconst defaultInstance = new alicloud.starrocks.Instance(\"default\", {\n instanceName: \"create-instance-1\",\n autoRenew: false,\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n vswitches: [{\n vswitchId: default106DkE.id,\n zoneId: \"cn-hangzhou-i\",\n }],\n backendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n specType: \"standard\",\n zoneId: \"cn-hangzhou-i\",\n localStorageInstanceType: \"null\",\n }],\n clusterZoneId: \"cn-hangzhou-i\",\n duration: 1,\n payType: \"postPaid\",\n vpcId: defaultB21JUD.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n adminPassword: \"1qaz@QAZ\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRole\",\n pricingCycle: \"Month\",\n kmsKeyId: \"123\",\n promotionOptionNo: \"123\",\n encrypted: false,\n observerNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n residentNodeNumber: 1,\n specType: \"standard\",\n localStorageInstanceType: \"null\",\n zoneId: \"cn-hangzhou-h\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_b21_jud = alicloud.vpc.Network(\"defaultB21JUD\", cidr_block=\"172.16.0.0/12\")\ndefault106_dk_e = alicloud.vpc.Switch(\"default106DkE\",\n vpc_id=default_b21_jud.id,\n cidr_block=\"172.16.1.0/24\",\n vswitch_name=\"sr-example\",\n zone_id=\"cn-hangzhou-i\")\ndefault_instance = alicloud.starrocks.Instance(\"default\",\n instance_name=\"create-instance-1\",\n auto_renew=False,\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n vswitches=[{\n \"vswitch_id\": default106_dk_e.id,\n \"zone_id\": \"cn-hangzhou-i\",\n }],\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n \"spec_type\": \"standard\",\n \"zone_id\": \"cn-hangzhou-i\",\n \"local_storage_instance_type\": \"null\",\n }],\n cluster_zone_id=\"cn-hangzhou-i\",\n duration=1,\n pay_type=\"postPaid\",\n vpc_id=default_b21_jud.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n admin_password=\"1qaz@QAZ\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRole\",\n pricing_cycle=\"Month\",\n kms_key_id=\"123\",\n promotion_option_no=\"123\",\n encrypted=False,\n observer_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"resident_node_number\": 1,\n \"spec_type\": \"standard\",\n \"local_storage_instance_type\": \"null\",\n \"zone_id\": \"cn-hangzhou-h\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultB21JUD = new AliCloud.Vpc.Network(\"defaultB21JUD\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var default106DkE = new AliCloud.Vpc.Switch(\"default106DkE\", new()\n {\n VpcId = defaultB21JUD.Id,\n CidrBlock = \"172.16.1.0/24\",\n VswitchName = \"sr-example\",\n ZoneId = \"cn-hangzhou-i\",\n });\n\n var defaultInstance = new AliCloud.StarRocks.Instance(\"default\", new()\n {\n InstanceName = \"create-instance-1\",\n AutoRenew = false,\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n VswitchId = default106DkE.Id,\n ZoneId = \"cn-hangzhou-i\",\n },\n },\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n SpecType = \"standard\",\n ZoneId = \"cn-hangzhou-i\",\n LocalStorageInstanceType = \"null\",\n },\n },\n ClusterZoneId = \"cn-hangzhou-i\",\n Duration = 1,\n PayType = \"postPaid\",\n VpcId = defaultB21JUD.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n AdminPassword = \"1qaz@QAZ\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRole\",\n PricingCycle = \"Month\",\n KmsKeyId = \"123\",\n PromotionOptionNo = \"123\",\n Encrypted = false,\n ObserverNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceObserverNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n SpecType = \"standard\",\n LocalStorageInstanceType = \"null\",\n ZoneId = \"cn-hangzhou-h\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultB21JUD, err := vpc.NewNetwork(ctx, \"defaultB21JUD\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault106DkE, err := vpc.NewSwitch(ctx, \"default106DkE\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example\"),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = starrocks.NewInstance(ctx, \"default\", \u0026starrocks.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"create-instance-1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tVswitchId: default106DkE.ID(),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tVpcId: defaultB21JUD.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRole\"),\n\t\t\tPricingCycle: pulumi.String(\"Month\"),\n\t\t\tKmsKeyId: pulumi.String(\"123\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"123\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tObserverNodeGroups: starrocks.InstanceObserverNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceObserverNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tLocalStorageInstanceType: pulumi.String(\"null\"),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-h\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceObserverNodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultB21JUD = new Network(\"defaultB21JUD\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var default106DkE = new Switch(\"default106DkE\", SwitchArgs.builder()\n .vpcId(defaultB21JUD.id())\n .cidrBlock(\"172.16.1.0/24\")\n .vswitchName(\"sr-example\")\n .zoneId(\"cn-hangzhou-i\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .instanceName(\"create-instance-1\")\n .autoRenew(false)\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .vswitches(InstanceVswitchArgs.builder()\n .vswitchId(default106DkE.id())\n .zoneId(\"cn-hangzhou-i\")\n .build())\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .specType(\"standard\")\n .zoneId(\"cn-hangzhou-i\")\n .localStorageInstanceType(\"null\")\n .build())\n .clusterZoneId(\"cn-hangzhou-i\")\n .duration(1)\n .payType(\"postPaid\")\n .vpcId(defaultB21JUD.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .adminPassword(\"1qaz@QAZ\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRole\")\n .pricingCycle(\"Month\")\n .kmsKeyId(\"123\")\n .promotionOptionNo(\"123\")\n .encrypted(false)\n .observerNodeGroups(InstanceObserverNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .residentNodeNumber(1)\n .specType(\"standard\")\n .localStorageInstanceType(\"null\")\n .zoneId(\"cn-hangzhou-h\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultB21JUD:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n default106DkE:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultB21JUD.id}\n cidrBlock: 172.16.1.0/24\n vswitchName: sr-example\n zoneId: cn-hangzhou-i\n defaultInstance:\n type: alicloud:starrocks:Instance\n name: default\n properties:\n instanceName: create-instance-1\n autoRenew: false\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n storagePerformanceLevel: pl1\n specType: standard\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n vswitches:\n - vswitchId: ${default106DkE.id}\n zoneId: cn-hangzhou-i\n backendNodeGroups:\n - cu: '8'\n storageSize: '100'\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n specType: standard\n zoneId: cn-hangzhou-i\n localStorageInstanceType: null\n clusterZoneId: cn-hangzhou-i\n duration: '1'\n payType: postPaid\n vpcId: ${defaultB21JUD.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n adminPassword: 1qaz@QAZ\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRole\n pricingCycle: Month\n kmsKeyId: '123'\n promotionOptionNo: '123'\n encrypted: false\n observerNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n residentNodeNumber: '1'\n specType: standard\n localStorageInstanceType: null\n zoneId: cn-hangzhou-h\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nStar Rocks Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:starrocks/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "adminPassword": { "type": "string", @@ -255039,7 +260760,7 @@ ] }, "alicloud:starrocks/nodeGroup:NodeGroup": { - "description": "Provides a Star Rocks Node Group resource.\n\n\n\nFor information about Star Rocks Node Group and how to use it, see [What is Node Group](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateNodeGroup).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultq6pcFe = new alicloud.vpc.Network(\"defaultq6pcFe\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"example-vpc-487\",\n});\nconst defaultujlpyG = new alicloud.vpc.Switch(\"defaultujlpyG\", {\n vpcId: defaultq6pcFe.id,\n zoneId: \"cn-hangzhou-i\",\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"sr-example-ng\",\n});\nconst defaultvjnpM0 = new alicloud.starrocks.Instance(\"defaultvjnpM0\", {\n clusterZoneId: \"cn-hangzhou-i\",\n encrypted: false,\n autoRenew: false,\n payType: \"postPaid\",\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n specType: \"standard\",\n residentNodeNumber: 1,\n }],\n instanceName: \"t1\",\n vswitches: [{\n zoneId: \"cn-hangzhou-i\",\n vswitchId: defaultujlpyG.id,\n }],\n vpcId: defaultq6pcFe.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRolecn\",\n adminPassword: \"1qaz@QAZ\",\n backendNodeGroups: [{\n cu: 8,\n storageSize: 200,\n zoneId: \"cn-hangzhou-i\",\n specType: \"standard\",\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n }],\n});\nconst _default = new alicloud.starrocks.NodeGroup(\"default\", {\n description: \"example_desc\",\n nodeGroupName: \"ng_676\",\n instanceId: defaultvjnpM0.id,\n specType: \"standard\",\n storagePerformanceLevel: \"pl1\",\n pricingCycle: \"1\",\n autoRenew: false,\n storageSize: 200,\n duration: 1,\n payType: \"postPaid\",\n cu: 8,\n diskNumber: 1,\n residentNodeNumber: 1,\n localStorageInstanceType: \"non_local_storage\",\n promotionOptionNo: \"blank\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultq6pc_fe = alicloud.vpc.Network(\"defaultq6pcFe\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"example-vpc-487\")\ndefaultujlpy_g = alicloud.vpc.Switch(\"defaultujlpyG\",\n vpc_id=defaultq6pc_fe.id,\n zone_id=\"cn-hangzhou-i\",\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"sr-example-ng\")\ndefaultvjnp_m0 = alicloud.starrocks.Instance(\"defaultvjnpM0\",\n cluster_zone_id=\"cn-hangzhou-i\",\n encrypted=False,\n auto_renew=False,\n pay_type=\"postPaid\",\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"spec_type\": \"standard\",\n \"resident_node_number\": 1,\n }],\n instance_name=\"t1\",\n vswitches=[{\n \"zone_id\": \"cn-hangzhou-i\",\n \"vswitch_id\": defaultujlpy_g.id,\n }],\n vpc_id=defaultq6pc_fe.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRolecn\",\n admin_password=\"1qaz@QAZ\",\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 200,\n \"zone_id\": \"cn-hangzhou-i\",\n \"spec_type\": \"standard\",\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n }])\ndefault = alicloud.starrocks.NodeGroup(\"default\",\n description=\"example_desc\",\n node_group_name=\"ng_676\",\n instance_id=defaultvjnp_m0.id,\n spec_type=\"standard\",\n storage_performance_level=\"pl1\",\n pricing_cycle=\"1\",\n auto_renew=False,\n storage_size=200,\n duration=1,\n pay_type=\"postPaid\",\n cu=8,\n disk_number=1,\n resident_node_number=1,\n local_storage_instance_type=\"non_local_storage\",\n promotion_option_no=\"blank\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultq6pcFe = new AliCloud.Vpc.Network(\"defaultq6pcFe\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"example-vpc-487\",\n });\n\n var defaultujlpyG = new AliCloud.Vpc.Switch(\"defaultujlpyG\", new()\n {\n VpcId = defaultq6pcFe.Id,\n ZoneId = \"cn-hangzhou-i\",\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"sr-example-ng\",\n });\n\n var defaultvjnpM0 = new AliCloud.StarRocks.Instance(\"defaultvjnpM0\", new()\n {\n ClusterZoneId = \"cn-hangzhou-i\",\n Encrypted = false,\n AutoRenew = false,\n PayType = \"postPaid\",\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n SpecType = \"standard\",\n ResidentNodeNumber = 1,\n },\n },\n InstanceName = \"t1\",\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n ZoneId = \"cn-hangzhou-i\",\n VswitchId = defaultujlpyG.Id,\n },\n },\n VpcId = defaultq6pcFe.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRolecn\",\n AdminPassword = \"1qaz@QAZ\",\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 200,\n ZoneId = \"cn-hangzhou-i\",\n SpecType = \"standard\",\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n },\n },\n });\n\n var @default = new AliCloud.StarRocks.NodeGroup(\"default\", new()\n {\n Description = \"example_desc\",\n NodeGroupName = \"ng_676\",\n InstanceId = defaultvjnpM0.Id,\n SpecType = \"standard\",\n StoragePerformanceLevel = \"pl1\",\n PricingCycle = \"1\",\n AutoRenew = false,\n StorageSize = 200,\n Duration = 1,\n PayType = \"postPaid\",\n Cu = 8,\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n LocalStorageInstanceType = \"non_local_storage\",\n PromotionOptionNo = \"blank\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultq6pcFe, err := vpc.NewNetwork(ctx, \"defaultq6pcFe\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"example-vpc-487\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultujlpyG, err := vpc.NewSwitch(ctx, \"defaultujlpyG\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultq6pcFe.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example-ng\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvjnpM0, err := starrocks.NewInstance(ctx, \"defaultvjnpM0\", \u0026starrocks.InstanceArgs{\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"t1\"),\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tVswitchId: defaultujlpyG.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: defaultq6pcFe.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRolecn\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(200),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\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 = starrocks.NewNodeGroup(ctx, \"default\", \u0026starrocks.NodeGroupArgs{\n\t\t\tDescription: pulumi.String(\"example_desc\"),\n\t\t\tNodeGroupName: pulumi.String(\"ng_676\"),\n\t\t\tInstanceId: defaultvjnpM0.ID(),\n\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\tPricingCycle: pulumi.String(\"1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tStorageSize: pulumi.Int(200),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tCu: pulumi.Int(8),\n\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\tLocalStorageInstanceType: pulumi.String(\"non_local_storage\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"blank\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.NodeGroup;\nimport com.pulumi.alicloud.starrocks.NodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultq6pcFe = new Network(\"defaultq6pcFe\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"example-vpc-487\")\n .build());\n\n var defaultujlpyG = new Switch(\"defaultujlpyG\", SwitchArgs.builder()\n .vpcId(defaultq6pcFe.id())\n .zoneId(\"cn-hangzhou-i\")\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"sr-example-ng\")\n .build());\n\n var defaultvjnpM0 = new Instance(\"defaultvjnpM0\", InstanceArgs.builder()\n .clusterZoneId(\"cn-hangzhou-i\")\n .encrypted(false)\n .autoRenew(false)\n .payType(\"postPaid\")\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .specType(\"standard\")\n .residentNodeNumber(1)\n .build())\n .instanceName(\"t1\")\n .vswitches(InstanceVswitchArgs.builder()\n .zoneId(\"cn-hangzhou-i\")\n .vswitchId(defaultujlpyG.id())\n .build())\n .vpcId(defaultq6pcFe.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRolecn\")\n .adminPassword(\"1qaz@QAZ\")\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(200)\n .zoneId(\"cn-hangzhou-i\")\n .specType(\"standard\")\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .build())\n .build());\n\n var default_ = new NodeGroup(\"default\", NodeGroupArgs.builder()\n .description(\"example_desc\")\n .nodeGroupName(\"ng_676\")\n .instanceId(defaultvjnpM0.id())\n .specType(\"standard\")\n .storagePerformanceLevel(\"pl1\")\n .pricingCycle(\"1\")\n .autoRenew(false)\n .storageSize(200)\n .duration(1)\n .payType(\"postPaid\")\n .cu(8)\n .diskNumber(1)\n .residentNodeNumber(1)\n .localStorageInstanceType(\"non_local_storage\")\n .promotionOptionNo(\"blank\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultq6pcFe:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: example-vpc-487\n defaultujlpyG:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultq6pcFe.id}\n zoneId: cn-hangzhou-i\n cidrBlock: 172.16.0.0/24\n vswitchName: sr-example-ng\n defaultvjnpM0:\n type: alicloud:starrocks:Instance\n properties:\n clusterZoneId: cn-hangzhou-i\n encrypted: false\n autoRenew: false\n payType: postPaid\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n specType: standard\n residentNodeNumber: '1'\n instanceName: t1\n vswitches:\n - zoneId: cn-hangzhou-i\n vswitchId: ${defaultujlpyG.id}\n vpcId: ${defaultq6pcFe.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRolecn\n adminPassword: 1qaz@QAZ\n backendNodeGroups:\n - cu: '8'\n storageSize: '200'\n zoneId: cn-hangzhou-i\n specType: standard\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n default:\n type: alicloud:starrocks:NodeGroup\n properties:\n description: example_desc\n nodeGroupName: ng_676\n instanceId: ${defaultvjnpM0.id}\n specType: standard\n storagePerformanceLevel: pl1\n pricingCycle: '1'\n autoRenew: false\n storageSize: '200'\n duration: '1'\n payType: postPaid\n cu: '8'\n diskNumber: '1'\n residentNodeNumber: '1'\n localStorageInstanceType: non_local_storage\n promotionOptionNo: blank\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStar Rocks Node Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:starrocks/nodeGroup:NodeGroup example \u003cinstance_id\u003e:\u003cnode_group_id\u003e\n```\n\n", + "description": "Provides a Star Rocks Node Group resource.\n\n\n\nFor information about Star Rocks Node Group and how to use it, see [What is Node Group](https://next.api.alibabacloud.com/document/starrocks/2022-10-19/CreateNodeGroup).\n\n\u003e **NOTE:** Available since v1.262.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultq6pcFe = new alicloud.vpc.Network(\"defaultq6pcFe\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"example-vpc-487\",\n});\nconst defaultujlpyG = new alicloud.vpc.Switch(\"defaultujlpyG\", {\n vpcId: defaultq6pcFe.id,\n zoneId: \"cn-hangzhou-i\",\n cidrBlock: \"172.16.0.0/24\",\n vswitchName: \"sr-example-ng\",\n});\nconst defaultvjnpM0 = new alicloud.starrocks.Instance(\"defaultvjnpM0\", {\n clusterZoneId: \"cn-hangzhou-i\",\n encrypted: false,\n autoRenew: false,\n payType: \"postPaid\",\n frontendNodeGroups: [{\n cu: 8,\n storageSize: 100,\n storagePerformanceLevel: \"pl1\",\n diskNumber: 1,\n zoneId: \"cn-hangzhou-i\",\n specType: \"standard\",\n residentNodeNumber: 1,\n }],\n instanceName: \"t1\",\n vswitches: [{\n zoneId: \"cn-hangzhou-i\",\n vswitchId: defaultujlpyG.id,\n }],\n vpcId: defaultq6pcFe.id,\n version: \"3.3\",\n runMode: \"shared_data\",\n packageType: \"official\",\n ossAccessingRoleName: \"AliyunEMRStarRocksAccessingOSSRolecn\",\n adminPassword: \"1qaz@QAZ\",\n backendNodeGroups: [{\n cu: 8,\n storageSize: 200,\n zoneId: \"cn-hangzhou-i\",\n specType: \"standard\",\n residentNodeNumber: 3,\n diskNumber: 1,\n storagePerformanceLevel: \"pl1\",\n }],\n});\nconst _default = new alicloud.starrocks.NodeGroup(\"default\", {\n description: \"example_desc\",\n nodeGroupName: \"ng_676\",\n instanceId: defaultvjnpM0.id,\n specType: \"standard\",\n storagePerformanceLevel: \"pl1\",\n pricingCycle: \"1\",\n autoRenew: false,\n storageSize: 200,\n duration: 1,\n payType: \"postPaid\",\n cu: 8,\n diskNumber: 1,\n residentNodeNumber: 1,\n localStorageInstanceType: \"non_local_storage\",\n promotionOptionNo: \"blank\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultq6pc_fe = alicloud.vpc.Network(\"defaultq6pcFe\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"example-vpc-487\")\ndefaultujlpy_g = alicloud.vpc.Switch(\"defaultujlpyG\",\n vpc_id=defaultq6pc_fe.id,\n zone_id=\"cn-hangzhou-i\",\n cidr_block=\"172.16.0.0/24\",\n vswitch_name=\"sr-example-ng\")\ndefaultvjnp_m0 = alicloud.starrocks.Instance(\"defaultvjnpM0\",\n cluster_zone_id=\"cn-hangzhou-i\",\n encrypted=False,\n auto_renew=False,\n pay_type=\"postPaid\",\n frontend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 100,\n \"storage_performance_level\": \"pl1\",\n \"disk_number\": 1,\n \"zone_id\": \"cn-hangzhou-i\",\n \"spec_type\": \"standard\",\n \"resident_node_number\": 1,\n }],\n instance_name=\"t1\",\n vswitches=[{\n \"zone_id\": \"cn-hangzhou-i\",\n \"vswitch_id\": defaultujlpy_g.id,\n }],\n vpc_id=defaultq6pc_fe.id,\n version=\"3.3\",\n run_mode=\"shared_data\",\n package_type=\"official\",\n oss_accessing_role_name=\"AliyunEMRStarRocksAccessingOSSRolecn\",\n admin_password=\"1qaz@QAZ\",\n backend_node_groups=[{\n \"cu\": 8,\n \"storage_size\": 200,\n \"zone_id\": \"cn-hangzhou-i\",\n \"spec_type\": \"standard\",\n \"resident_node_number\": 3,\n \"disk_number\": 1,\n \"storage_performance_level\": \"pl1\",\n }])\ndefault = alicloud.starrocks.NodeGroup(\"default\",\n description=\"example_desc\",\n node_group_name=\"ng_676\",\n instance_id=defaultvjnp_m0.id,\n spec_type=\"standard\",\n storage_performance_level=\"pl1\",\n pricing_cycle=\"1\",\n auto_renew=False,\n storage_size=200,\n duration=1,\n pay_type=\"postPaid\",\n cu=8,\n disk_number=1,\n resident_node_number=1,\n local_storage_instance_type=\"non_local_storage\",\n promotion_option_no=\"blank\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultq6pcFe = new AliCloud.Vpc.Network(\"defaultq6pcFe\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"example-vpc-487\",\n });\n\n var defaultujlpyG = new AliCloud.Vpc.Switch(\"defaultujlpyG\", new()\n {\n VpcId = defaultq6pcFe.Id,\n ZoneId = \"cn-hangzhou-i\",\n CidrBlock = \"172.16.0.0/24\",\n VswitchName = \"sr-example-ng\",\n });\n\n var defaultvjnpM0 = new AliCloud.StarRocks.Instance(\"defaultvjnpM0\", new()\n {\n ClusterZoneId = \"cn-hangzhou-i\",\n Encrypted = false,\n AutoRenew = false,\n PayType = \"postPaid\",\n FrontendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceFrontendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 100,\n StoragePerformanceLevel = \"pl1\",\n DiskNumber = 1,\n ZoneId = \"cn-hangzhou-i\",\n SpecType = \"standard\",\n ResidentNodeNumber = 1,\n },\n },\n InstanceName = \"t1\",\n Vswitches = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceVswitchArgs\n {\n ZoneId = \"cn-hangzhou-i\",\n VswitchId = defaultujlpyG.Id,\n },\n },\n VpcId = defaultq6pcFe.Id,\n Version = \"3.3\",\n RunMode = \"shared_data\",\n PackageType = \"official\",\n OssAccessingRoleName = \"AliyunEMRStarRocksAccessingOSSRolecn\",\n AdminPassword = \"1qaz@QAZ\",\n BackendNodeGroups = new[]\n {\n new AliCloud.starRocks.Inputs.InstanceBackendNodeGroupArgs\n {\n Cu = 8,\n StorageSize = 200,\n ZoneId = \"cn-hangzhou-i\",\n SpecType = \"standard\",\n ResidentNodeNumber = 3,\n DiskNumber = 1,\n StoragePerformanceLevel = \"pl1\",\n },\n },\n });\n\n var @default = new AliCloud.StarRocks.NodeGroup(\"default\", new()\n {\n Description = \"example_desc\",\n NodeGroupName = \"ng_676\",\n InstanceId = defaultvjnpM0.Id,\n SpecType = \"standard\",\n StoragePerformanceLevel = \"pl1\",\n PricingCycle = \"1\",\n AutoRenew = false,\n StorageSize = 200,\n Duration = 1,\n PayType = \"postPaid\",\n Cu = 8,\n DiskNumber = 1,\n ResidentNodeNumber = 1,\n LocalStorageInstanceType = \"non_local_storage\",\n PromotionOptionNo = \"blank\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/starrocks\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultq6pcFe, err := vpc.NewNetwork(ctx, \"defaultq6pcFe\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"example-vpc-487\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultujlpyG, err := vpc.NewSwitch(ctx, \"defaultujlpyG\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultq6pcFe.ID(),\n\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVswitchName: pulumi.String(\"sr-example-ng\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultvjnpM0, err := starrocks.NewInstance(ctx, \"defaultvjnpM0\", \u0026starrocks.InstanceArgs{\n\t\t\tClusterZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\tEncrypted: pulumi.Bool(false),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tFrontendNodeGroups: starrocks.InstanceFrontendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceFrontendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(100),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"t1\"),\n\t\t\tVswitches: starrocks.InstanceVswitchArray{\n\t\t\t\t\u0026starrocks.InstanceVswitchArgs{\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tVswitchId: defaultujlpyG.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcId: defaultq6pcFe.ID(),\n\t\t\tVersion: pulumi.String(\"3.3\"),\n\t\t\tRunMode: pulumi.String(\"shared_data\"),\n\t\t\tPackageType: pulumi.String(\"official\"),\n\t\t\tOssAccessingRoleName: pulumi.String(\"AliyunEMRStarRocksAccessingOSSRolecn\"),\n\t\t\tAdminPassword: pulumi.String(\"1qaz@QAZ\"),\n\t\t\tBackendNodeGroups: starrocks.InstanceBackendNodeGroupArray{\n\t\t\t\t\u0026starrocks.InstanceBackendNodeGroupArgs{\n\t\t\t\t\tCu: pulumi.Int(8),\n\t\t\t\t\tStorageSize: pulumi.Int(200),\n\t\t\t\t\tZoneId: pulumi.String(\"cn-hangzhou-i\"),\n\t\t\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\t\t\tResidentNodeNumber: pulumi.Int(3),\n\t\t\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\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 = starrocks.NewNodeGroup(ctx, \"default\", \u0026starrocks.NodeGroupArgs{\n\t\t\tDescription: pulumi.String(\"example_desc\"),\n\t\t\tNodeGroupName: pulumi.String(\"ng_676\"),\n\t\t\tInstanceId: defaultvjnpM0.ID(),\n\t\t\tSpecType: pulumi.String(\"standard\"),\n\t\t\tStoragePerformanceLevel: pulumi.String(\"pl1\"),\n\t\t\tPricingCycle: pulumi.String(\"1\"),\n\t\t\tAutoRenew: pulumi.Bool(false),\n\t\t\tStorageSize: pulumi.Int(200),\n\t\t\tDuration: pulumi.Int(1),\n\t\t\tPayType: pulumi.String(\"postPaid\"),\n\t\t\tCu: pulumi.Int(8),\n\t\t\tDiskNumber: pulumi.Int(1),\n\t\t\tResidentNodeNumber: pulumi.Int(1),\n\t\t\tLocalStorageInstanceType: pulumi.String(\"non_local_storage\"),\n\t\t\tPromotionOptionNo: pulumi.String(\"blank\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.starrocks.Instance;\nimport com.pulumi.alicloud.starrocks.InstanceArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceFrontendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceVswitchArgs;\nimport com.pulumi.alicloud.starrocks.inputs.InstanceBackendNodeGroupArgs;\nimport com.pulumi.alicloud.starrocks.NodeGroup;\nimport com.pulumi.alicloud.starrocks.NodeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultq6pcFe = new Network(\"defaultq6pcFe\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"example-vpc-487\")\n .build());\n\n var defaultujlpyG = new Switch(\"defaultujlpyG\", SwitchArgs.builder()\n .vpcId(defaultq6pcFe.id())\n .zoneId(\"cn-hangzhou-i\")\n .cidrBlock(\"172.16.0.0/24\")\n .vswitchName(\"sr-example-ng\")\n .build());\n\n var defaultvjnpM0 = new Instance(\"defaultvjnpM0\", InstanceArgs.builder()\n .clusterZoneId(\"cn-hangzhou-i\")\n .encrypted(false)\n .autoRenew(false)\n .payType(\"postPaid\")\n .frontendNodeGroups(InstanceFrontendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(100)\n .storagePerformanceLevel(\"pl1\")\n .diskNumber(1)\n .zoneId(\"cn-hangzhou-i\")\n .specType(\"standard\")\n .residentNodeNumber(1)\n .build())\n .instanceName(\"t1\")\n .vswitches(InstanceVswitchArgs.builder()\n .zoneId(\"cn-hangzhou-i\")\n .vswitchId(defaultujlpyG.id())\n .build())\n .vpcId(defaultq6pcFe.id())\n .version(\"3.3\")\n .runMode(\"shared_data\")\n .packageType(\"official\")\n .ossAccessingRoleName(\"AliyunEMRStarRocksAccessingOSSRolecn\")\n .adminPassword(\"1qaz@QAZ\")\n .backendNodeGroups(InstanceBackendNodeGroupArgs.builder()\n .cu(8)\n .storageSize(200)\n .zoneId(\"cn-hangzhou-i\")\n .specType(\"standard\")\n .residentNodeNumber(3)\n .diskNumber(1)\n .storagePerformanceLevel(\"pl1\")\n .build())\n .build());\n\n var default_ = new NodeGroup(\"default\", NodeGroupArgs.builder()\n .description(\"example_desc\")\n .nodeGroupName(\"ng_676\")\n .instanceId(defaultvjnpM0.id())\n .specType(\"standard\")\n .storagePerformanceLevel(\"pl1\")\n .pricingCycle(\"1\")\n .autoRenew(false)\n .storageSize(200)\n .duration(1)\n .payType(\"postPaid\")\n .cu(8)\n .diskNumber(1)\n .residentNodeNumber(1)\n .localStorageInstanceType(\"non_local_storage\")\n .promotionOptionNo(\"blank\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultq6pcFe:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: example-vpc-487\n defaultujlpyG:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultq6pcFe.id}\n zoneId: cn-hangzhou-i\n cidrBlock: 172.16.0.0/24\n vswitchName: sr-example-ng\n defaultvjnpM0:\n type: alicloud:starrocks:Instance\n properties:\n clusterZoneId: cn-hangzhou-i\n encrypted: false\n autoRenew: false\n payType: postPaid\n frontendNodeGroups:\n - cu: '8'\n storageSize: '100'\n storagePerformanceLevel: pl1\n diskNumber: '1'\n zoneId: cn-hangzhou-i\n specType: standard\n residentNodeNumber: '1'\n instanceName: t1\n vswitches:\n - zoneId: cn-hangzhou-i\n vswitchId: ${defaultujlpyG.id}\n vpcId: ${defaultq6pcFe.id}\n version: '3.3'\n runMode: shared_data\n packageType: official\n ossAccessingRoleName: AliyunEMRStarRocksAccessingOSSRolecn\n adminPassword: 1qaz@QAZ\n backendNodeGroups:\n - cu: '8'\n storageSize: '200'\n zoneId: cn-hangzhou-i\n specType: standard\n residentNodeNumber: '3'\n diskNumber: '1'\n storagePerformanceLevel: pl1\n default:\n type: alicloud:starrocks:NodeGroup\n properties:\n description: example_desc\n nodeGroupName: ng_676\n instanceId: ${defaultvjnpM0.id}\n specType: standard\n storagePerformanceLevel: pl1\n pricingCycle: '1'\n autoRenew: false\n storageSize: '200'\n duration: '1'\n payType: postPaid\n cu: '8'\n diskNumber: '1'\n residentNodeNumber: '1'\n localStorageInstanceType: non_local_storage\n promotionOptionNo: blank\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nStar Rocks Node Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:starrocks/nodeGroup:NodeGroup example \u003cinstance_id\u003e:\u003cnode_group_id\u003e\n```\n\n", "properties": { "autoRenew": { "type": "boolean", @@ -255290,7 +261011,7 @@ } }, "alicloud:tag/associatedRule:AssociatedRule": { - "description": "Provides a TAG Associated Rule resource.\n\n\n\nFor information about TAG Associated Rule and how to use it, see [What is Associated Rule](https://www.alibabacloud.com/help/en/resource-management/tag/developer-reference/api-tag-2018-08-28-createassociatedresourcerules).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.tag.AssociatedRule(\"default\", {\n status: \"Enable\",\n associatedSettingName: \"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n tagKeys: [\"user\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.tag.AssociatedRule(\"default\",\n status=\"Enable\",\n associated_setting_name=\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n tag_keys=[\"user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Tag.AssociatedRule(\"default\", new()\n {\n Status = \"Enable\",\n AssociatedSettingName = \"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n TagKeys = new[]\n {\n \"user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := tag.NewAssociatedRule(ctx, \"default\", \u0026tag.AssociatedRuleArgs{\n\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\tAssociatedSettingName: pulumi.String(\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\"),\n\t\t\tTagKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user\"),\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.alicloud.tag.AssociatedRule;\nimport com.pulumi.alicloud.tag.AssociatedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AssociatedRule(\"default\", AssociatedRuleArgs.builder()\n .status(\"Enable\")\n .associatedSettingName(\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\")\n .tagKeys(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:tag:AssociatedRule\n properties:\n status: Enable\n associatedSettingName: rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\n tagKeys:\n - user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTAG Associated Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/associatedRule:AssociatedRule example \u003cid\u003e\n```\n\n", + "description": "Provides a TAG Associated Rule resource.\n\n\n\nFor information about TAG Associated Rule and how to use it, see [What is Associated Rule](https://www.alibabacloud.com/help/en/resource-management/tag/developer-reference/api-tag-2018-08-28-createassociatedresourcerules).\n\n\u003e **NOTE:** Available since v1.244.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.tag.AssociatedRule(\"default\", {\n status: \"Enable\",\n associatedSettingName: \"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n tagKeys: [\"user\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.tag.AssociatedRule(\"default\",\n status=\"Enable\",\n associated_setting_name=\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n tag_keys=[\"user\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Tag.AssociatedRule(\"default\", new()\n {\n Status = \"Enable\",\n AssociatedSettingName = \"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\",\n TagKeys = new[]\n {\n \"user\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := tag.NewAssociatedRule(ctx, \"default\", \u0026tag.AssociatedRuleArgs{\n\t\t\tStatus: pulumi.String(\"Enable\"),\n\t\t\tAssociatedSettingName: pulumi.String(\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\"),\n\t\t\tTagKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user\"),\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.alicloud.tag.AssociatedRule;\nimport com.pulumi.alicloud.tag.AssociatedRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new AssociatedRule(\"default\", AssociatedRuleArgs.builder()\n .status(\"Enable\")\n .associatedSettingName(\"rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\")\n .tagKeys(\"user\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:tag:AssociatedRule\n properties:\n status: Enable\n associatedSettingName: rule:AttachEni-DetachEni-TagInstance:Ecs-Instance:Ecs-Eni\n tagKeys:\n - user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTAG Associated Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/associatedRule:AssociatedRule example \u003cid\u003e\n```\n\n", "properties": { "associatedSettingName": { "type": "string", @@ -255358,7 +261079,7 @@ } }, "alicloud:tag/metaTag:MetaTag": { - "description": "Provides a Tag Meta Tag resource.\n\nFor information about Tag Meta Tag and how to use it,\nsee [What is Meta Tag](https://www.alibabacloud.com/help/en/resource-management/latest/createtags).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n\u003e **NOTE:** Meta Tag Only Support `cn-hangzhou` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.tag.MetaTag(\"example\", {\n key: \"Name1\",\n values: [\"Desc2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.tag.MetaTag(\"example\",\n key=\"Name1\",\n values=[\"Desc2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Tag.MetaTag(\"example\", new()\n {\n Key = \"Name1\",\n Values = new[]\n {\n \"Desc2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := tag.NewMetaTag(ctx, \"example\", \u0026tag.MetaTagArgs{\n\t\t\tKey: pulumi.String(\"Name1\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Desc2\"),\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.alicloud.tag.MetaTag;\nimport com.pulumi.alicloud.tag.MetaTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MetaTag(\"example\", MetaTagArgs.builder()\n .key(\"Name1\")\n .values(\"Desc2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:tag:MetaTag\n properties:\n key: Name1\n values:\n - Desc2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTag Meta Tag can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/metaTag:MetaTag example \u003cregionId\u003e:\u003ckey\u003e\n```\n\n", + "description": "Provides a Tag Meta Tag resource.\n\nFor information about Tag Meta Tag and how to use it,\nsee [What is Meta Tag](https://www.alibabacloud.com/help/en/resource-management/latest/createtags).\n\n\u003e **NOTE:** Available since v1.209.0.\n\n\u003e **NOTE:** Meta Tag Only Support `cn-hangzhou` Region\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.tag.MetaTag(\"example\", {\n key: \"Name1\",\n values: [\"Desc2\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.tag.MetaTag(\"example\",\n key=\"Name1\",\n values=[\"Desc2\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Tag.MetaTag(\"example\", new()\n {\n Key = \"Name1\",\n Values = new[]\n {\n \"Desc2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := tag.NewMetaTag(ctx, \"example\", \u0026tag.MetaTagArgs{\n\t\t\tKey: pulumi.String(\"Name1\"),\n\t\t\tValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Desc2\"),\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.alicloud.tag.MetaTag;\nimport com.pulumi.alicloud.tag.MetaTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 MetaTag(\"example\", MetaTagArgs.builder()\n .key(\"Name1\")\n .values(\"Desc2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:tag:MetaTag\n properties:\n key: Name1\n values:\n - Desc2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTag Meta Tag can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/metaTag:MetaTag example \u003cregionId\u003e:\u003ckey\u003e\n```\n\n", "properties": { "key": { "type": "string", @@ -255416,7 +261137,7 @@ } }, "alicloud:tag/policy:Policy": { - "description": "Provides a TAG Policy resource.\n\n\n\nFor information about TAG Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/resource-management/latest/create-policy).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.tag.Policy(\"example\", {\n policyName: name,\n policyDesc: name,\n userType: \"USER\",\n policyContent: \"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.tag.Policy(\"example\",\n policy_name=name,\n policy_desc=name,\n user_type=\"USER\",\n policy_content=\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Tag.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDesc = name,\n UserType = \"USER\",\n PolicyContent = @\"\\t\\t{\\\"\"tags\\\"\":{\\\"\"CostCenter\\\"\":{\\\"\"tag_value\\\"\":{\\\"\"@@assign\\\"\":[\\\"\"Beijing\\\"\",\\\"\"Shanghai\\\"\"]},\\\"\"tag_key\\\"\":{\\\"\"@@assign\\\"\":\\\"\"CostCenter\\\"\"}}}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := tag.NewPolicy(ctx, \"example\", \u0026tag.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDesc: pulumi.String(name),\n\t\t\tUserType: pulumi.String(\"USER\"),\n\t\t\tPolicyContent: pulumi.String(\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\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.alicloud.tag.Policy;\nimport com.pulumi.alicloud.tag.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDesc(name)\n .userType(\"USER\")\n .policyContent(\"\"\"\n\\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:tag:Policy\n properties:\n policyName: ${name}\n policyDesc: ${name}\n userType: USER\n policyContent: |\n \\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTAG Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/policy:Policy example \u003cid\u003e\n```\n\n", + "description": "Provides a TAG Policy resource.\n\n\n\nFor information about TAG Policy and how to use it, see [What is Policy](https://www.alibabacloud.com/help/en/resource-management/latest/create-policy).\n\n\u003e **NOTE:** Available since v1.203.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst example = new alicloud.tag.Policy(\"example\", {\n policyName: name,\n policyDesc: name,\n userType: \"USER\",\n policyContent: \"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nexample = alicloud.tag.Policy(\"example\",\n policy_name=name,\n policy_desc=name,\n user_type=\"USER\",\n policy_content=\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var example = new AliCloud.Tag.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDesc = name,\n UserType = \"USER\",\n PolicyContent = @\"\\t\\t{\\\"\"tags\\\"\":{\\\"\"CostCenter\\\"\":{\\\"\"tag_value\\\"\":{\\\"\"@@assign\\\"\":[\\\"\"Beijing\\\"\",\\\"\"Shanghai\\\"\"]},\\\"\"tag_key\\\"\":{\\\"\"@@assign\\\"\":\\\"\"CostCenter\\\"\"}}}}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := tag.NewPolicy(ctx, \"example\", \u0026tag.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDesc: pulumi.String(name),\n\t\t\tUserType: pulumi.String(\"USER\"),\n\t\t\tPolicyContent: pulumi.String(\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\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.alicloud.tag.Policy;\nimport com.pulumi.alicloud.tag.PolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDesc(name)\n .userType(\"USER\")\n .policyContent(\"\"\"\n\\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n example:\n type: alicloud:tag:Policy\n properties:\n policyName: ${name}\n policyDesc: ${name}\n userType: USER\n policyContent: |\n \\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTAG Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/policy:Policy example \u003cid\u003e\n```\n\n", "properties": { "policyContent": { "type": "string", @@ -255488,7 +261209,7 @@ } }, "alicloud:tag/policyAttachment:PolicyAttachment": { - "description": "Provides a Tag Policy Attachment resource to attaches a policy to an object. After you attach a tag policy to an object.\nFor information about Tag Policy Attachment and how to use it,\nsee [What is Policy Attachment](https://www.alibabacloud.com/help/en/resource-management/latest/attach-policy).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.tag.Policy(\"example\", {\n policyName: name,\n policyDesc: name,\n userType: \"USER\",\n policyContent: \"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\",\n});\nconst examplePolicyAttachment = new alicloud.tag.PolicyAttachment(\"example\", {\n policyId: example.id,\n targetId: _default.then(_default =\u003e _default.id),\n targetType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\nexample = alicloud.tag.Policy(\"example\",\n policy_name=name,\n policy_desc=name,\n user_type=\"USER\",\n policy_content=\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\")\nexample_policy_attachment = alicloud.tag.PolicyAttachment(\"example\",\n policy_id=example.id,\n target_id=default.id,\n target_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Tag.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDesc = name,\n UserType = \"USER\",\n PolicyContent = @\"\\t\\t{\\\"\"tags\\\"\":{\\\"\"CostCenter\\\"\":{\\\"\"tag_value\\\"\":{\\\"\"@@assign\\\"\":[\\\"\"Beijing\\\"\",\\\"\"Shanghai\\\"\"]},\\\"\"tag_key\\\"\":{\\\"\"@@assign\\\"\":\\\"\"CostCenter\\\"\"}}}}\n\",\n });\n\n var examplePolicyAttachment = new AliCloud.Tag.PolicyAttachment(\"example\", new()\n {\n PolicyId = example.Id,\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n TargetType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := tag.NewPolicy(ctx, \"example\", \u0026tag.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDesc: pulumi.String(name),\n\t\t\tUserType: pulumi.String(\"USER\"),\n\t\t\tPolicyContent: pulumi.String(\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tag.NewPolicyAttachment(ctx, \"example\", \u0026tag.PolicyAttachmentArgs{\n\t\t\tPolicyId: example.ID(),\n\t\t\tTargetId: pulumi.String(_default.Id),\n\t\t\tTargetType: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.tag.Policy;\nimport com.pulumi.alicloud.tag.PolicyArgs;\nimport com.pulumi.alicloud.tag.PolicyAttachment;\nimport com.pulumi.alicloud.tag.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDesc(name)\n .userType(\"USER\")\n .policyContent(\"\"\"\n\\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n \"\"\")\n .build());\n\n var examplePolicyAttachment = new PolicyAttachment(\"examplePolicyAttachment\", PolicyAttachmentArgs.builder()\n .policyId(example.id())\n .targetId(default_.id())\n .targetType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:tag:Policy\n properties:\n policyName: ${name}\n policyDesc: ${name}\n userType: USER\n policyContent: |\n \\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n examplePolicyAttachment:\n type: alicloud:tag:PolicyAttachment\n name: example\n properties:\n policyId: ${example.id}\n targetId: ${default.id}\n targetType: USER\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTag Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/policyAttachment:PolicyAttachment example \u003cpolicy_id\u003e:\u003ctarget_id\u003e:\u003ctarget_type\u003e\n```\n\n", + "description": "Provides a Tag Policy Attachment resource to attaches a policy to an object. After you attach a tag policy to an object.\nFor information about Tag Policy Attachment and how to use it,\nsee [What is Policy Attachment](https://www.alibabacloud.com/help/en/resource-management/latest/attach-policy).\n\n\u003e **NOTE:** Available since v1.204.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getAccount({});\nconst example = new alicloud.tag.Policy(\"example\", {\n policyName: name,\n policyDesc: name,\n userType: \"USER\",\n policyContent: \"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\",\n});\nconst examplePolicyAttachment = new alicloud.tag.PolicyAttachment(\"example\", {\n policyId: example.id,\n targetId: _default.then(_default =\u003e _default.id),\n targetType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_account()\nexample = alicloud.tag.Policy(\"example\",\n policy_name=name,\n policy_desc=name,\n user_type=\"USER\",\n policy_content=\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\")\nexample_policy_attachment = alicloud.tag.PolicyAttachment(\"example\",\n policy_id=example.id,\n target_id=default.id,\n target_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetAccount.Invoke();\n\n var example = new AliCloud.Tag.Policy(\"example\", new()\n {\n PolicyName = name,\n PolicyDesc = name,\n UserType = \"USER\",\n PolicyContent = @\"\\t\\t{\\\"\"tags\\\"\":{\\\"\"CostCenter\\\"\":{\\\"\"tag_value\\\"\":{\\\"\"@@assign\\\"\":[\\\"\"Beijing\\\"\",\\\"\"Shanghai\\\"\"]},\\\"\"tag_key\\\"\":{\\\"\"@@assign\\\"\":\\\"\"CostCenter\\\"\"}}}}\n\",\n });\n\n var examplePolicyAttachment = new AliCloud.Tag.PolicyAttachment(\"example\", new()\n {\n PolicyId = example.Id,\n TargetId = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n TargetType = \"USER\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tag\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := tag.NewPolicy(ctx, \"example\", \u0026tag.PolicyArgs{\n\t\t\tPolicyName: pulumi.String(name),\n\t\t\tPolicyDesc: pulumi.String(name),\n\t\t\tUserType: pulumi.String(\"USER\"),\n\t\t\tPolicyContent: pulumi.String(\"\\\\t\\\\t{\\\\\\\"tags\\\\\\\":{\\\\\\\"CostCenter\\\\\\\":{\\\\\\\"tag_value\\\\\\\":{\\\\\\\"@@assign\\\\\\\":[\\\\\\\"Beijing\\\\\\\",\\\\\\\"Shanghai\\\\\\\"]},\\\\\\\"tag_key\\\\\\\":{\\\\\\\"@@assign\\\\\\\":\\\\\\\"CostCenter\\\\\\\"}}}}\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tag.NewPolicyAttachment(ctx, \"example\", \u0026tag.PolicyAttachmentArgs{\n\t\t\tPolicyId: example.ID(),\n\t\t\tTargetId: pulumi.String(_default.Id),\n\t\t\tTargetType: pulumi.String(\"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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.tag.Policy;\nimport com.pulumi.alicloud.tag.PolicyArgs;\nimport com.pulumi.alicloud.tag.PolicyAttachment;\nimport com.pulumi.alicloud.tag.PolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var example = new Policy(\"example\", PolicyArgs.builder()\n .policyName(name)\n .policyDesc(name)\n .userType(\"USER\")\n .policyContent(\"\"\"\n\\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n \"\"\")\n .build());\n\n var examplePolicyAttachment = new PolicyAttachment(\"examplePolicyAttachment\", PolicyAttachmentArgs.builder()\n .policyId(example.id())\n .targetId(default_.id())\n .targetType(\"USER\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:tag:Policy\n properties:\n policyName: ${name}\n policyDesc: ${name}\n userType: USER\n policyContent: |\n \\t\\t{\\\"tags\\\":{\\\"CostCenter\\\":{\\\"tag_value\\\":{\\\"@@assign\\\":[\\\"Beijing\\\",\\\"Shanghai\\\"]},\\\"tag_key\\\":{\\\"@@assign\\\":\\\"CostCenter\\\"}}}}\n examplePolicyAttachment:\n type: alicloud:tag:PolicyAttachment\n name: example\n properties:\n policyId: ${example.id}\n targetId: ${default.id}\n targetType: USER\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTag Policy Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tag/policyAttachment:PolicyAttachment example \u003cpolicy_id\u003e:\u003ctarget_id\u003e:\u003ctarget_type\u003e\n```\n\n", "properties": { "policyId": { "type": "string", @@ -255553,7 +261274,7 @@ } }, "alicloud:threatdetection/antiBruteForceRule:AntiBruteForceRule": { - "description": "Provides a Threat Detection Anti Brute Force Rule resource.\n\nAnti-brute force cracking rules.\n\nFor information about Threat Detection Anti Brute Force Rule and how to use it, see [What is Anti Brute Force Rule](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createantibruteforcerule).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.AntiBruteForceRule(\"default\", {\n antiBruteForceRuleName: \"apispec_example\",\n forbiddenTime: 360,\n uuidLists: [\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"],\n failCount: 80,\n span: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.AntiBruteForceRule(\"default\",\n anti_brute_force_rule_name=\"apispec_example\",\n forbidden_time=360,\n uuid_lists=[\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"],\n fail_count=80,\n span=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.AntiBruteForceRule(\"default\", new()\n {\n AntiBruteForceRuleName = \"apispec_example\",\n ForbiddenTime = 360,\n UuidLists = new[]\n {\n \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n },\n FailCount = 80,\n Span = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewAntiBruteForceRule(ctx, \"default\", \u0026threatdetection.AntiBruteForceRuleArgs{\n\t\t\tAntiBruteForceRuleName: pulumi.String(\"apispec_example\"),\n\t\t\tForbiddenTime: pulumi.Int(360),\n\t\t\tUuidLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"),\n\t\t\t},\n\t\t\tFailCount: pulumi.Int(80),\n\t\t\tSpan: 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.alicloud.threatdetection.AntiBruteForceRule;\nimport com.pulumi.alicloud.threatdetection.AntiBruteForceRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AntiBruteForceRule(\"default\", AntiBruteForceRuleArgs.builder()\n .antiBruteForceRuleName(\"apispec_example\")\n .forbiddenTime(360)\n .uuidLists(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\")\n .failCount(80)\n .span(10)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:AntiBruteForceRule\n properties:\n antiBruteForceRuleName: apispec_example\n forbiddenTime: 360\n uuidLists:\n - 032b618f-b220-4a0d-bd37-fbdc6ef58b6a\n failCount: 80\n span: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Anti Brute Force Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/antiBruteForceRule:AntiBruteForceRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Anti Brute Force Rule resource.\n\nAnti-brute force cracking rules.\n\nFor information about Threat Detection Anti Brute Force Rule and how to use it, see [What is Anti Brute Force Rule](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createantibruteforcerule).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.AntiBruteForceRule(\"default\", {\n antiBruteForceRuleName: \"apispec_example\",\n forbiddenTime: 360,\n uuidLists: [\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"],\n failCount: 80,\n span: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.AntiBruteForceRule(\"default\",\n anti_brute_force_rule_name=\"apispec_example\",\n forbidden_time=360,\n uuid_lists=[\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"],\n fail_count=80,\n span=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.AntiBruteForceRule(\"default\", new()\n {\n AntiBruteForceRuleName = \"apispec_example\",\n ForbiddenTime = 360,\n UuidLists = new[]\n {\n \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n },\n FailCount = 80,\n Span = 10,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewAntiBruteForceRule(ctx, \"default\", \u0026threatdetection.AntiBruteForceRuleArgs{\n\t\t\tAntiBruteForceRuleName: pulumi.String(\"apispec_example\"),\n\t\t\tForbiddenTime: pulumi.Int(360),\n\t\t\tUuidLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"),\n\t\t\t},\n\t\t\tFailCount: pulumi.Int(80),\n\t\t\tSpan: 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.alicloud.threatdetection.AntiBruteForceRule;\nimport com.pulumi.alicloud.threatdetection.AntiBruteForceRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new AntiBruteForceRule(\"default\", AntiBruteForceRuleArgs.builder()\n .antiBruteForceRuleName(\"apispec_example\")\n .forbiddenTime(360)\n .uuidLists(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\")\n .failCount(80)\n .span(10)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:AntiBruteForceRule\n properties:\n antiBruteForceRuleName: apispec_example\n forbiddenTime: 360\n uuidLists:\n - 032b618f-b220-4a0d-bd37-fbdc6ef58b6a\n failCount: 80\n span: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Anti Brute Force Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/antiBruteForceRule:AntiBruteForceRule example \u003cid\u003e\n```\n\n", "properties": { "antiBruteForceRuleName": { "type": "string", @@ -255779,7 +261500,7 @@ } }, "alicloud:threatdetection/attackPathSensitiveAssetConfig:AttackPathSensitiveAssetConfig": { - "description": "Provides a Threat Detection Attack Path Sensitive Asset Config resource.\n\nAttack Path Sensitive Asset Configuration.\n\nFor information about Threat Detection Attack Path Sensitive Asset Config and how to use it, see [What is Attack Path Sensitive Asset Config](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createattackpathsensitiveassetconfig).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.slb.getApplicationLoadBalancers({});\nconst defaultAttackPathSensitiveAssetConfig = new alicloud.threatdetection.AttackPathSensitiveAssetConfig(\"default\", {attackPathAssetLists: [{\n instanceId: _default.then(_default =\u003e _default.balancers?.[0]?.id),\n vendor: 0,\n assetType: 1,\n assetSubType: 0,\n regionId: \"cn-hangzhou\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.slb.get_application_load_balancers()\ndefault_attack_path_sensitive_asset_config = alicloud.threatdetection.AttackPathSensitiveAssetConfig(\"default\", attack_path_asset_lists=[{\n \"instance_id\": default.balancers[0].id,\n \"vendor\": 0,\n \"asset_type\": 1,\n \"asset_sub_type\": 0,\n \"region_id\": \"cn-hangzhou\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Slb.GetApplicationLoadBalancers.Invoke();\n\n var defaultAttackPathSensitiveAssetConfig = new AliCloud.ThreatDetection.AttackPathSensitiveAssetConfig(\"default\", new()\n {\n AttackPathAssetLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.AttackPathSensitiveAssetConfigAttackPathAssetListArgs\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getApplicationLoadBalancersResult =\u003e getApplicationLoadBalancersResult.Balancers[0]?.Id)),\n Vendor = 0,\n AssetType = 1,\n AssetSubType = 0,\n RegionId = \"cn-hangzhou\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := slb.GetApplicationLoadBalancers(ctx, \u0026slb.GetApplicationLoadBalancersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewAttackPathSensitiveAssetConfig(ctx, \"default\", \u0026threatdetection.AttackPathSensitiveAssetConfigArgs{\n\t\t\tAttackPathAssetLists: threatdetection.AttackPathSensitiveAssetConfigAttackPathAssetListArray{\n\t\t\t\t\u0026threatdetection.AttackPathSensitiveAssetConfigAttackPathAssetListArgs{\n\t\t\t\t\tInstanceId: pulumi.String(_default.Balancers[0].Id),\n\t\t\t\t\tVendor: pulumi.Int(0),\n\t\t\t\t\tAssetType: pulumi.Int(1),\n\t\t\t\t\tAssetSubType: pulumi.Int(0),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetApplicationLoadBalancersArgs;\nimport com.pulumi.alicloud.threatdetection.AttackPathSensitiveAssetConfig;\nimport com.pulumi.alicloud.threatdetection.AttackPathSensitiveAssetConfigArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.AttackPathSensitiveAssetConfigAttackPathAssetListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = SlbFunctions.getApplicationLoadBalancers(GetApplicationLoadBalancersArgs.builder()\n .build());\n\n var defaultAttackPathSensitiveAssetConfig = new AttackPathSensitiveAssetConfig(\"defaultAttackPathSensitiveAssetConfig\", AttackPathSensitiveAssetConfigArgs.builder()\n .attackPathAssetLists(AttackPathSensitiveAssetConfigAttackPathAssetListArgs.builder()\n .instanceId(default_.balancers()[0].id())\n .vendor(0)\n .assetType(1)\n .assetSubType(0)\n .regionId(\"cn-hangzhou\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAttackPathSensitiveAssetConfig:\n type: alicloud:threatdetection:AttackPathSensitiveAssetConfig\n name: default\n properties:\n attackPathAssetLists:\n - instanceId: ${default.balancers[0].id}\n vendor: '0'\n assetType: '1'\n assetSubType: '0'\n regionId: cn-hangzhou\nvariables:\n default:\n fn::invoke:\n function: alicloud:slb:getApplicationLoadBalancers\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/attackPathSensitiveAssetConfig:AttackPathSensitiveAssetConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Attack Path Sensitive Asset Config resource.\n\nAttack Path Sensitive Asset Configuration.\n\nFor information about Threat Detection Attack Path Sensitive Asset Config and how to use it, see [What is Attack Path Sensitive Asset Config](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createattackpathsensitiveassetconfig).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.slb.getApplicationLoadBalancers({});\nconst defaultAttackPathSensitiveAssetConfig = new alicloud.threatdetection.AttackPathSensitiveAssetConfig(\"default\", {attackPathAssetLists: [{\n instanceId: _default.then(_default =\u003e _default.balancers?.[0]?.id),\n vendor: 0,\n assetType: 1,\n assetSubType: 0,\n regionId: \"cn-hangzhou\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.slb.get_application_load_balancers()\ndefault_attack_path_sensitive_asset_config = alicloud.threatdetection.AttackPathSensitiveAssetConfig(\"default\", attack_path_asset_lists=[{\n \"instance_id\": default.balancers[0].id,\n \"vendor\": 0,\n \"asset_type\": 1,\n \"asset_sub_type\": 0,\n \"region_id\": \"cn-hangzhou\",\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Slb.GetApplicationLoadBalancers.Invoke();\n\n var defaultAttackPathSensitiveAssetConfig = new AliCloud.ThreatDetection.AttackPathSensitiveAssetConfig(\"default\", new()\n {\n AttackPathAssetLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.AttackPathSensitiveAssetConfigAttackPathAssetListArgs\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getApplicationLoadBalancersResult =\u003e getApplicationLoadBalancersResult.Balancers[0]?.Id)),\n Vendor = 0,\n AssetType = 1,\n AssetSubType = 0,\n RegionId = \"cn-hangzhou\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/slb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := slb.GetApplicationLoadBalancers(ctx, \u0026slb.GetApplicationLoadBalancersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewAttackPathSensitiveAssetConfig(ctx, \"default\", \u0026threatdetection.AttackPathSensitiveAssetConfigArgs{\n\t\t\tAttackPathAssetLists: threatdetection.AttackPathSensitiveAssetConfigAttackPathAssetListArray{\n\t\t\t\t\u0026threatdetection.AttackPathSensitiveAssetConfigAttackPathAssetListArgs{\n\t\t\t\t\tInstanceId: pulumi.String(_default.Balancers[0].Id),\n\t\t\t\t\tVendor: pulumi.Int(0),\n\t\t\t\t\tAssetType: pulumi.Int(1),\n\t\t\t\t\tAssetSubType: pulumi.Int(0),\n\t\t\t\t\tRegionId: pulumi.String(\"cn-hangzhou\"),\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.alicloud.slb.SlbFunctions;\nimport com.pulumi.alicloud.slb.inputs.GetApplicationLoadBalancersArgs;\nimport com.pulumi.alicloud.threatdetection.AttackPathSensitiveAssetConfig;\nimport com.pulumi.alicloud.threatdetection.AttackPathSensitiveAssetConfigArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.AttackPathSensitiveAssetConfigAttackPathAssetListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = SlbFunctions.getApplicationLoadBalancers(GetApplicationLoadBalancersArgs.builder()\n .build());\n\n var defaultAttackPathSensitiveAssetConfig = new AttackPathSensitiveAssetConfig(\"defaultAttackPathSensitiveAssetConfig\", AttackPathSensitiveAssetConfigArgs.builder()\n .attackPathAssetLists(AttackPathSensitiveAssetConfigAttackPathAssetListArgs.builder()\n .instanceId(default_.balancers()[0].id())\n .vendor(0)\n .assetType(1)\n .assetSubType(0)\n .regionId(\"cn-hangzhou\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAttackPathSensitiveAssetConfig:\n type: alicloud:threatdetection:AttackPathSensitiveAssetConfig\n name: default\n properties:\n attackPathAssetLists:\n - instanceId: ${default.balancers[0].id}\n vendor: '0'\n assetType: '1'\n assetSubType: '0'\n regionId: cn-hangzhou\nvariables:\n default:\n fn::invoke:\n function: alicloud:slb:getApplicationLoadBalancers\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/attackPathSensitiveAssetConfig:AttackPathSensitiveAssetConfig example \u003cid\u003e\n```\n\n", "properties": { "attackPathAssetLists": { "type": "array", @@ -255819,7 +261540,7 @@ } }, "alicloud:threatdetection/backupPolicy:BackupPolicy": { - "description": "Provides a Threat Detection Backup Policy resource.\n\nFor information about Threat Detection Backup Policy and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createbackuppolicy).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getAssets({\n machineTypes: \"ecs\",\n});\nconst defaultBackupPolicy = new alicloud.threatdetection.BackupPolicy(\"default\", {\n backupPolicyName: \"tf-example-name\",\n policy: \"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n policyVersion: \"2.0.0\",\n uuidLists: [_default.then(_default =\u003e _default.ids?.[0])],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_assets(machine_types=\"ecs\")\ndefault_backup_policy = alicloud.threatdetection.BackupPolicy(\"default\",\n backup_policy_name=\"tf-example-name\",\n policy=\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n policy_version=\"2.0.0\",\n uuid_lists=[default.ids[0]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetAssets.Invoke(new()\n {\n MachineTypes = \"ecs\",\n });\n\n var defaultBackupPolicy = new AliCloud.ThreatDetection.BackupPolicy(\"default\", new()\n {\n BackupPolicyName = \"tf-example-name\",\n Policy = \"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n PolicyVersion = \"2.0.0\",\n UuidLists = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAssetsResult =\u003e getAssetsResult.Ids[0])),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetAssets(ctx, \u0026threatdetection.GetAssetsArgs{\n\t\t\tMachineTypes: pulumi.StringRef(\"ecs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewBackupPolicy(ctx, \"default\", \u0026threatdetection.BackupPolicyArgs{\n\t\t\tBackupPolicyName: pulumi.String(\"tf-example-name\"),\n\t\t\tPolicy: pulumi.String(\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\"),\n\t\t\tPolicyVersion: pulumi.String(\"2.0.0\"),\n\t\t\tUuidLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Ids[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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetAssetsArgs;\nimport com.pulumi.alicloud.threatdetection.BackupPolicy;\nimport com.pulumi.alicloud.threatdetection.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getAssets(GetAssetsArgs.builder()\n .machineTypes(\"ecs\")\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .backupPolicyName(\"tf-example-name\")\n .policy(\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\")\n .policyVersion(\"2.0.0\")\n .uuidLists(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultBackupPolicy:\n type: alicloud:threatdetection:BackupPolicy\n name: default\n properties:\n backupPolicyName: tf-example-name\n policy: '{\"Exclude\":[\"/bin/\",\"/usr/bin/\",\"/sbin/\",\"/boot/\",\"/proc/\",\"/sys/\",\"/srv/\",\"/lib/\",\"/selinux/\",\"/usr/sbin/\",\"/run/\",\"/lib32/\",\"/lib64/\",\"/lost+found/\",\"/var/lib/kubelet/\",\"/var/lib/ntp/proc\",\"/var/lib/container\"],\"ExcludeSystemPath\":true,\"Include\":[],\"IsDefault\":1,\"Retention\":7,\"Schedule\":\"I|1668703620|PT24H\",\"Source\":[],\"SpeedLimiter\":\"\",\"UseVss\":true}'\n policyVersion: 2.0.0\n uuidLists:\n - ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getAssets\n arguments:\n machineTypes: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Backup Policy resource.\n\nFor information about Threat Detection Backup Policy and how to use it, see [What is Backup Policy](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createbackuppolicy).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getAssets({\n machineTypes: \"ecs\",\n});\nconst defaultBackupPolicy = new alicloud.threatdetection.BackupPolicy(\"default\", {\n backupPolicyName: \"tf-example-name\",\n policy: \"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n policyVersion: \"2.0.0\",\n uuidLists: [_default.then(_default =\u003e _default.ids?.[0])],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_assets(machine_types=\"ecs\")\ndefault_backup_policy = alicloud.threatdetection.BackupPolicy(\"default\",\n backup_policy_name=\"tf-example-name\",\n policy=\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n policy_version=\"2.0.0\",\n uuid_lists=[default.ids[0]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetAssets.Invoke(new()\n {\n MachineTypes = \"ecs\",\n });\n\n var defaultBackupPolicy = new AliCloud.ThreatDetection.BackupPolicy(\"default\", new()\n {\n BackupPolicyName = \"tf-example-name\",\n Policy = \"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\",\n PolicyVersion = \"2.0.0\",\n UuidLists = new[]\n {\n @default.Apply(@default =\u003e @default.Apply(getAssetsResult =\u003e getAssetsResult.Ids[0])),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetAssets(ctx, \u0026threatdetection.GetAssetsArgs{\n\t\t\tMachineTypes: pulumi.StringRef(\"ecs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewBackupPolicy(ctx, \"default\", \u0026threatdetection.BackupPolicyArgs{\n\t\t\tBackupPolicyName: pulumi.String(\"tf-example-name\"),\n\t\t\tPolicy: pulumi.String(\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\"),\n\t\t\tPolicyVersion: pulumi.String(\"2.0.0\"),\n\t\t\tUuidLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(_default.Ids[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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetAssetsArgs;\nimport com.pulumi.alicloud.threatdetection.BackupPolicy;\nimport com.pulumi.alicloud.threatdetection.BackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getAssets(GetAssetsArgs.builder()\n .machineTypes(\"ecs\")\n .build());\n\n var defaultBackupPolicy = new BackupPolicy(\"defaultBackupPolicy\", BackupPolicyArgs.builder()\n .backupPolicyName(\"tf-example-name\")\n .policy(\"{\\\"Exclude\\\":[\\\"/bin/\\\",\\\"/usr/bin/\\\",\\\"/sbin/\\\",\\\"/boot/\\\",\\\"/proc/\\\",\\\"/sys/\\\",\\\"/srv/\\\",\\\"/lib/\\\",\\\"/selinux/\\\",\\\"/usr/sbin/\\\",\\\"/run/\\\",\\\"/lib32/\\\",\\\"/lib64/\\\",\\\"/lost+found/\\\",\\\"/var/lib/kubelet/\\\",\\\"/var/lib/ntp/proc\\\",\\\"/var/lib/container\\\"],\\\"ExcludeSystemPath\\\":true,\\\"Include\\\":[],\\\"IsDefault\\\":1,\\\"Retention\\\":7,\\\"Schedule\\\":\\\"I|1668703620|PT24H\\\",\\\"Source\\\":[],\\\"SpeedLimiter\\\":\\\"\\\",\\\"UseVss\\\":true}\")\n .policyVersion(\"2.0.0\")\n .uuidLists(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultBackupPolicy:\n type: alicloud:threatdetection:BackupPolicy\n name: default\n properties:\n backupPolicyName: tf-example-name\n policy: '{\"Exclude\":[\"/bin/\",\"/usr/bin/\",\"/sbin/\",\"/boot/\",\"/proc/\",\"/sys/\",\"/srv/\",\"/lib/\",\"/selinux/\",\"/usr/sbin/\",\"/run/\",\"/lib32/\",\"/lib64/\",\"/lost+found/\",\"/var/lib/kubelet/\",\"/var/lib/ntp/proc\",\"/var/lib/container\"],\"ExcludeSystemPath\":true,\"Include\":[],\"IsDefault\":1,\"Retention\":7,\"Schedule\":\"I|1668703620|PT24H\",\"Source\":[],\"SpeedLimiter\":\"\",\"UseVss\":true}'\n policyVersion: 2.0.0\n uuidLists:\n - ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getAssets\n arguments:\n machineTypes: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Backup Policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/backupPolicy:BackupPolicy example \u003cid\u003e\n```\n\n", "properties": { "backupPolicyName": { "type": "string", @@ -255924,7 +261645,7 @@ } }, "alicloud:threatdetection/baselineStrategy:BaselineStrategy": { - "description": "Provides a Threat Detection Baseline Strategy resource.\n\nFor information about Threat Detection Baseline Strategy and how to use it, see [What is Baseline Strategy](https://www.alibabacloud.com/help/en/security-center/latest/api-sas-2018-12-03-modifystrategy).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.BaselineStrategy(\"default\", {\n customType: \"custom\",\n endTime: \"08:00:00\",\n baselineStrategyName: \"apispec\",\n cycleDays: 3,\n targetType: \"groupId\",\n startTime: \"05:00:00\",\n riskSubTypeName: \"hc_exploit_redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.BaselineStrategy(\"default\",\n custom_type=\"custom\",\n end_time=\"08:00:00\",\n baseline_strategy_name=\"apispec\",\n cycle_days=3,\n target_type=\"groupId\",\n start_time=\"05:00:00\",\n risk_sub_type_name=\"hc_exploit_redis\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.BaselineStrategy(\"default\", new()\n {\n CustomType = \"custom\",\n EndTime = \"08:00:00\",\n BaselineStrategyName = \"apispec\",\n CycleDays = 3,\n TargetType = \"groupId\",\n StartTime = \"05:00:00\",\n RiskSubTypeName = \"hc_exploit_redis\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewBaselineStrategy(ctx, \"default\", \u0026threatdetection.BaselineStrategyArgs{\n\t\t\tCustomType: pulumi.String(\"custom\"),\n\t\t\tEndTime: pulumi.String(\"08:00:00\"),\n\t\t\tBaselineStrategyName: pulumi.String(\"apispec\"),\n\t\t\tCycleDays: pulumi.Int(3),\n\t\t\tTargetType: pulumi.String(\"groupId\"),\n\t\t\tStartTime: pulumi.String(\"05:00:00\"),\n\t\t\tRiskSubTypeName: pulumi.String(\"hc_exploit_redis\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.BaselineStrategy;\nimport com.pulumi.alicloud.threatdetection.BaselineStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new BaselineStrategy(\"default\", BaselineStrategyArgs.builder()\n .customType(\"custom\")\n .endTime(\"08:00:00\")\n .baselineStrategyName(\"apispec\")\n .cycleDays(3)\n .targetType(\"groupId\")\n .startTime(\"05:00:00\")\n .riskSubTypeName(\"hc_exploit_redis\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:BaselineStrategy\n properties:\n customType: custom\n endTime: 08:00:00\n baselineStrategyName: apispec\n cycleDays: 3\n targetType: groupId\n startTime: 05:00:00\n riskSubTypeName: hc_exploit_redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Baseline Strategy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/baselineStrategy:BaselineStrategy example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Baseline Strategy resource.\n\nFor information about Threat Detection Baseline Strategy and how to use it, see [What is Baseline Strategy](https://www.alibabacloud.com/help/en/security-center/latest/api-sas-2018-12-03-modifystrategy).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.BaselineStrategy(\"default\", {\n customType: \"custom\",\n endTime: \"08:00:00\",\n baselineStrategyName: \"apispec\",\n cycleDays: 3,\n targetType: \"groupId\",\n startTime: \"05:00:00\",\n riskSubTypeName: \"hc_exploit_redis\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.BaselineStrategy(\"default\",\n custom_type=\"custom\",\n end_time=\"08:00:00\",\n baseline_strategy_name=\"apispec\",\n cycle_days=3,\n target_type=\"groupId\",\n start_time=\"05:00:00\",\n risk_sub_type_name=\"hc_exploit_redis\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.BaselineStrategy(\"default\", new()\n {\n CustomType = \"custom\",\n EndTime = \"08:00:00\",\n BaselineStrategyName = \"apispec\",\n CycleDays = 3,\n TargetType = \"groupId\",\n StartTime = \"05:00:00\",\n RiskSubTypeName = \"hc_exploit_redis\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewBaselineStrategy(ctx, \"default\", \u0026threatdetection.BaselineStrategyArgs{\n\t\t\tCustomType: pulumi.String(\"custom\"),\n\t\t\tEndTime: pulumi.String(\"08:00:00\"),\n\t\t\tBaselineStrategyName: pulumi.String(\"apispec\"),\n\t\t\tCycleDays: pulumi.Int(3),\n\t\t\tTargetType: pulumi.String(\"groupId\"),\n\t\t\tStartTime: pulumi.String(\"05:00:00\"),\n\t\t\tRiskSubTypeName: pulumi.String(\"hc_exploit_redis\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.BaselineStrategy;\nimport com.pulumi.alicloud.threatdetection.BaselineStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new BaselineStrategy(\"default\", BaselineStrategyArgs.builder()\n .customType(\"custom\")\n .endTime(\"08:00:00\")\n .baselineStrategyName(\"apispec\")\n .cycleDays(3)\n .targetType(\"groupId\")\n .startTime(\"05:00:00\")\n .riskSubTypeName(\"hc_exploit_redis\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:BaselineStrategy\n properties:\n customType: custom\n endTime: 08:00:00\n baselineStrategyName: apispec\n cycleDays: 3\n targetType: groupId\n startTime: 05:00:00\n riskSubTypeName: hc_exploit_redis\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Baseline Strategy can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/baselineStrategy:BaselineStrategy example \u003cid\u003e\n```\n\n", "properties": { "baselineStrategyId": { "type": "string", @@ -256062,8 +261783,153 @@ "type": "object" } }, + "alicloud:threatdetection/checkConfig:CheckConfig": { + "description": "Provides a Threat Detection Check Config resource.\n\nCSPM Risk Overview Policy Management.\n\nFor information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig).\n\n\u003e **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created.\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.CheckConfig(\"default\", {\n endTime: 18,\n enableAutoCheck: true,\n vendors: [\"ALIYUN\"],\n cycleDays: [\n 7,\n 1,\n 2,\n ],\n enableAddCheck: true,\n startTime: 12,\n configure: \"not\",\n systemConfig: false,\n selectedChecks: [{\n checkId: 370,\n sectionId: 515,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.CheckConfig(\"default\",\n end_time=18,\n enable_auto_check=True,\n vendors=[\"ALIYUN\"],\n cycle_days=[\n 7,\n 1,\n 2,\n ],\n enable_add_check=True,\n start_time=12,\n configure=\"not\",\n system_config=False,\n selected_checks=[{\n \"check_id\": 370,\n \"section_id\": 515,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.CheckConfig(\"default\", new()\n {\n EndTime = 18,\n EnableAutoCheck = true,\n Vendors = new[]\n {\n \"ALIYUN\",\n },\n CycleDays = new[]\n {\n 7,\n 1,\n 2,\n },\n EnableAddCheck = true,\n StartTime = 12,\n Configure = \"not\",\n SystemConfig = false,\n SelectedChecks = new[]\n {\n new AliCloud.ThreatDetection.Inputs.CheckConfigSelectedCheckArgs\n {\n CheckId = 370,\n SectionId = 515,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewCheckConfig(ctx, \"default\", \u0026threatdetection.CheckConfigArgs{\n\t\t\tEndTime: pulumi.Int(18),\n\t\t\tEnableAutoCheck: pulumi.Bool(true),\n\t\t\tVendors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ALIYUN\"),\n\t\t\t},\n\t\t\tCycleDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(7),\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tEnableAddCheck: pulumi.Bool(true),\n\t\t\tStartTime: pulumi.Int(12),\n\t\t\tConfigure: pulumi.String(\"not\"),\n\t\t\tSystemConfig: pulumi.Bool(false),\n\t\t\tSelectedChecks: threatdetection.CheckConfigSelectedCheckArray{\n\t\t\t\t\u0026threatdetection.CheckConfigSelectedCheckArgs{\n\t\t\t\t\tCheckId: pulumi.Int(370),\n\t\t\t\t\tSectionId: pulumi.Int(515),\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.alicloud.threatdetection.CheckConfig;\nimport com.pulumi.alicloud.threatdetection.CheckConfigArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.CheckConfigSelectedCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new CheckConfig(\"default\", CheckConfigArgs.builder()\n .endTime(18)\n .enableAutoCheck(true)\n .vendors(\"ALIYUN\")\n .cycleDays( \n 7,\n 1,\n 2)\n .enableAddCheck(true)\n .startTime(12)\n .configure(\"not\")\n .systemConfig(false)\n .selectedChecks(CheckConfigSelectedCheckArgs.builder()\n .checkId(370)\n .sectionId(515)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:CheckConfig\n properties:\n endTime: '18'\n enableAutoCheck: true\n vendors:\n - ALIYUN\n cycleDays:\n - '7'\n - '1'\n - '2'\n enableAddCheck: true\n startTime: '12'\n configure: not\n systemConfig: false\n selectedChecks:\n - checkId: 370\n sectionId: 515\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Check Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example \n```\n\n", + "properties": { + "configure": { + "type": "string", + "description": "The configuration of the check item. Valid value:\n" + }, + "cycleDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Cycle detection time.\n" + }, + "enableAddCheck": { + "type": "boolean", + "description": "Whether to check by default when there are new check items in the selected regulation. Values available:\n- **true:** On\n- **false:** off\n" + }, + "enableAutoCheck": { + "type": "boolean", + "description": "Whether automatic cycle detection is enabled. Values available:\n- **true:** On\n- **false:** off\n" + }, + "endTime": { + "type": "integer", + "description": "Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range.\n- **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day.\n- **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day.\n- **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day.\n- **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day.\n" + }, + "selectedChecks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/CheckConfigSelectedCheck:CheckConfigSelectedCheck" + }, + "description": "The check items selected in the policy. See \u003cspan pulumi-lang-nodejs=\"`selectedChecks`\" pulumi-lang-dotnet=\"`SelectedChecks`\" pulumi-lang-go=\"`selectedChecks`\" pulumi-lang-python=\"`selected_checks`\" pulumi-lang-yaml=\"`selectedChecks`\" pulumi-lang-java=\"`selectedChecks`\"\u003e`selected_checks`\u003c/span\u003e below.\n" + }, + "startTime": { + "type": "integer", + "description": "The start time of the check. The value specifies a point in time in a day.\n" + }, + "systemConfig": { + "type": "boolean", + "description": "Specifies whether to use the configuration automatically generated by the system. Valid values:\n" + }, + "vendors": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "inputProperties": { + "configure": { + "type": "string", + "description": "The configuration of the check item. Valid value:\n" + }, + "cycleDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Cycle detection time.\n" + }, + "enableAddCheck": { + "type": "boolean", + "description": "Whether to check by default when there are new check items in the selected regulation. Values available:\n- **true:** On\n- **false:** off\n" + }, + "enableAutoCheck": { + "type": "boolean", + "description": "Whether automatic cycle detection is enabled. Values available:\n- **true:** On\n- **false:** off\n" + }, + "endTime": { + "type": "integer", + "description": "Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range.\n- **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day.\n- **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day.\n- **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day.\n- **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day.\n" + }, + "selectedChecks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/CheckConfigSelectedCheck:CheckConfigSelectedCheck" + }, + "description": "The check items selected in the policy. See \u003cspan pulumi-lang-nodejs=\"`selectedChecks`\" pulumi-lang-dotnet=\"`SelectedChecks`\" pulumi-lang-go=\"`selectedChecks`\" pulumi-lang-python=\"`selected_checks`\" pulumi-lang-yaml=\"`selectedChecks`\" pulumi-lang-java=\"`selectedChecks`\"\u003e`selected_checks`\u003c/span\u003e below.\n" + }, + "startTime": { + "type": "integer", + "description": "The start time of the check. The value specifies a point in time in a day.\n" + }, + "systemConfig": { + "type": "boolean", + "description": "Specifies whether to use the configuration automatically generated by the system. Valid values:\n" + }, + "vendors": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering CheckConfig resources.\n", + "properties": { + "configure": { + "type": "string", + "description": "The configuration of the check item. Valid value:\n" + }, + "cycleDays": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Cycle detection time.\n" + }, + "enableAddCheck": { + "type": "boolean", + "description": "Whether to check by default when there are new check items in the selected regulation. Values available:\n- **true:** On\n- **false:** off\n" + }, + "enableAutoCheck": { + "type": "boolean", + "description": "Whether automatic cycle detection is enabled. Values available:\n- **true:** On\n- **false:** off\n" + }, + "endTime": { + "type": "integer", + "description": "Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range.\n- **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day.\n- **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day.\n- **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day.\n- **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day.\n" + }, + "selectedChecks": { + "type": "array", + "items": { + "$ref": "#/types/alicloud:threatdetection/CheckConfigSelectedCheck:CheckConfigSelectedCheck" + }, + "description": "The check items selected in the policy. See \u003cspan pulumi-lang-nodejs=\"`selectedChecks`\" pulumi-lang-dotnet=\"`SelectedChecks`\" pulumi-lang-go=\"`selectedChecks`\" pulumi-lang-python=\"`selected_checks`\" pulumi-lang-yaml=\"`selectedChecks`\" pulumi-lang-java=\"`selectedChecks`\"\u003e`selected_checks`\u003c/span\u003e below.\n" + }, + "startTime": { + "type": "integer", + "description": "The start time of the check. The value specifies a point in time in a day.\n" + }, + "systemConfig": { + "type": "boolean", + "description": "Specifies whether to use the configuration automatically generated by the system. Valid values:\n" + }, + "vendors": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + }, "alicloud:threatdetection/clientFileProtect:ClientFileProtect": { - "description": "Provides a Threat Detection Client File Protect resource. Client core file protection event monitoring, including file reading and writing, deletion, and permission change.\n\nFor information about Threat Detection Client File Protect and how to use it, see [What is Client File Protect](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createfileprotectrule).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ClientFileProtect(\"default\", {\n status: 0,\n filePaths: [\"/usr/local\"],\n fileOps: [\"CREATE\"],\n ruleAction: \"pass\",\n procPaths: [\"/usr/local\"],\n alertLevel: 0,\n switchId: \"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n ruleName: \"rule_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ClientFileProtect(\"default\",\n status=0,\n file_paths=[\"/usr/local\"],\n file_ops=[\"CREATE\"],\n rule_action=\"pass\",\n proc_paths=[\"/usr/local\"],\n alert_level=0,\n switch_id=\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n rule_name=\"rule_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ClientFileProtect(\"default\", new()\n {\n Status = 0,\n FilePaths = new[]\n {\n \"/usr/local\",\n },\n FileOps = new[]\n {\n \"CREATE\",\n },\n RuleAction = \"pass\",\n ProcPaths = new[]\n {\n \"/usr/local\",\n },\n AlertLevel = 0,\n SwitchId = \"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n RuleName = \"rule_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewClientFileProtect(ctx, \"default\", \u0026threatdetection.ClientFileProtectArgs{\n\t\t\tStatus: pulumi.Int(0),\n\t\t\tFilePaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/usr/local\"),\n\t\t\t},\n\t\t\tFileOps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t},\n\t\t\tRuleAction: pulumi.String(\"pass\"),\n\t\t\tProcPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/usr/local\"),\n\t\t\t},\n\t\t\tAlertLevel: pulumi.Int(0),\n\t\t\tSwitchId: pulumi.String(\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ClientFileProtect;\nimport com.pulumi.alicloud.threatdetection.ClientFileProtectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ClientFileProtect(\"default\", ClientFileProtectArgs.builder()\n .status(0)\n .filePaths(\"/usr/local\")\n .fileOps(\"CREATE\")\n .ruleAction(\"pass\")\n .procPaths(\"/usr/local\")\n .alertLevel(0)\n .switchId(\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\")\n .ruleName(\"rule_example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ClientFileProtect\n properties:\n status: '0'\n filePaths:\n - /usr/local\n fileOps:\n - CREATE\n ruleAction: pass\n procPaths:\n - /usr/local\n alertLevel: '0'\n switchId: FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\n ruleName: rule_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Client File Protect can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/clientFileProtect:ClientFileProtect example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Client File Protect resource. Client core file protection event monitoring, including file reading and writing, deletion, and permission change.\n\nFor information about Threat Detection Client File Protect and how to use it, see [What is Client File Protect](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createfileprotectrule).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ClientFileProtect(\"default\", {\n status: 0,\n filePaths: [\"/usr/local\"],\n fileOps: [\"CREATE\"],\n ruleAction: \"pass\",\n procPaths: [\"/usr/local\"],\n alertLevel: 0,\n switchId: \"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n ruleName: \"rule_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ClientFileProtect(\"default\",\n status=0,\n file_paths=[\"/usr/local\"],\n file_ops=[\"CREATE\"],\n rule_action=\"pass\",\n proc_paths=[\"/usr/local\"],\n alert_level=0,\n switch_id=\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n rule_name=\"rule_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ClientFileProtect(\"default\", new()\n {\n Status = 0,\n FilePaths = new[]\n {\n \"/usr/local\",\n },\n FileOps = new[]\n {\n \"CREATE\",\n },\n RuleAction = \"pass\",\n ProcPaths = new[]\n {\n \"/usr/local\",\n },\n AlertLevel = 0,\n SwitchId = \"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\",\n RuleName = \"rule_example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewClientFileProtect(ctx, \"default\", \u0026threatdetection.ClientFileProtectArgs{\n\t\t\tStatus: pulumi.Int(0),\n\t\t\tFilePaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/usr/local\"),\n\t\t\t},\n\t\t\tFileOps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t},\n\t\t\tRuleAction: pulumi.String(\"pass\"),\n\t\t\tProcPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/usr/local\"),\n\t\t\t},\n\t\t\tAlertLevel: pulumi.Int(0),\n\t\t\tSwitchId: pulumi.String(\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\"),\n\t\t\tRuleName: pulumi.String(\"rule_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ClientFileProtect;\nimport com.pulumi.alicloud.threatdetection.ClientFileProtectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ClientFileProtect(\"default\", ClientFileProtectArgs.builder()\n .status(0)\n .filePaths(\"/usr/local\")\n .fileOps(\"CREATE\")\n .ruleAction(\"pass\")\n .procPaths(\"/usr/local\")\n .alertLevel(0)\n .switchId(\"FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\")\n .ruleName(\"rule_example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ClientFileProtect\n properties:\n status: '0'\n filePaths:\n - /usr/local\n fileOps:\n - CREATE\n ruleAction: pass\n procPaths:\n - /usr/local\n alertLevel: '0'\n switchId: FILE_PROTECT_RULE_SWITCH_TYPE_1693474122929\n ruleName: rule_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Client File Protect can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/clientFileProtect:ClientFileProtect example \u003cid\u003e\n```\n\n", "properties": { "alertLevel": { "type": "integer", @@ -256216,7 +262082,7 @@ } }, "alicloud:threatdetection/clientUserDefineRule:ClientUserDefineRule": { - "description": "Provides a Threat Detection Client User Define Rule resource. Malicious Behavior Defense Custom Rules.\n\nFor information about Threat Detection Client User Define Rule and how to use it, see [What is Client User Define Rule](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-addclientuserdefinerule).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ClientUserDefineRule(\"default\", {\n actionType: 0,\n platform: \"windows\",\n registryContent: \"123\",\n clientUserDefineRuleName: name,\n parentProcPath: \"/root/bash\",\n type: 5,\n cmdline: \"bash\",\n procPath: \"/root/bash\",\n parentCmdline: \"bash\",\n registryKey: \"123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ClientUserDefineRule(\"default\",\n action_type=0,\n platform=\"windows\",\n registry_content=\"123\",\n client_user_define_rule_name=name,\n parent_proc_path=\"/root/bash\",\n type=5,\n cmdline=\"bash\",\n proc_path=\"/root/bash\",\n parent_cmdline=\"bash\",\n registry_key=\"123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ClientUserDefineRule(\"default\", new()\n {\n ActionType = 0,\n Platform = \"windows\",\n RegistryContent = \"123\",\n ClientUserDefineRuleName = name,\n ParentProcPath = \"/root/bash\",\n Type = 5,\n Cmdline = \"bash\",\n ProcPath = \"/root/bash\",\n ParentCmdline = \"bash\",\n RegistryKey = \"123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewClientUserDefineRule(ctx, \"default\", \u0026threatdetection.ClientUserDefineRuleArgs{\n\t\t\tActionType: pulumi.Int(0),\n\t\t\tPlatform: pulumi.String(\"windows\"),\n\t\t\tRegistryContent: pulumi.String(\"123\"),\n\t\t\tClientUserDefineRuleName: pulumi.String(name),\n\t\t\tParentProcPath: pulumi.String(\"/root/bash\"),\n\t\t\tType: pulumi.Int(5),\n\t\t\tCmdline: pulumi.String(\"bash\"),\n\t\t\tProcPath: pulumi.String(\"/root/bash\"),\n\t\t\tParentCmdline: pulumi.String(\"bash\"),\n\t\t\tRegistryKey: pulumi.String(\"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.alicloud.threatdetection.ClientUserDefineRule;\nimport com.pulumi.alicloud.threatdetection.ClientUserDefineRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ClientUserDefineRule(\"default\", ClientUserDefineRuleArgs.builder()\n .actionType(0)\n .platform(\"windows\")\n .registryContent(\"123\")\n .clientUserDefineRuleName(name)\n .parentProcPath(\"/root/bash\")\n .type(5)\n .cmdline(\"bash\")\n .procPath(\"/root/bash\")\n .parentCmdline(\"bash\")\n .registryKey(\"123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ClientUserDefineRule\n properties:\n actionType: '0'\n platform: windows\n registryContent: '123'\n clientUserDefineRuleName: ${name}\n parentProcPath: /root/bash\n type: '5'\n cmdline: bash\n procPath: /root/bash\n parentCmdline: bash\n registryKey: '123'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Client User Define Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/clientUserDefineRule:ClientUserDefineRule example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Client User Define Rule resource. Malicious Behavior Defense Custom Rules.\n\nFor information about Threat Detection Client User Define Rule and how to use it, see [What is Client User Define Rule](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-addclientuserdefinerule).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ClientUserDefineRule(\"default\", {\n actionType: 0,\n platform: \"windows\",\n registryContent: \"123\",\n clientUserDefineRuleName: name,\n parentProcPath: \"/root/bash\",\n type: 5,\n cmdline: \"bash\",\n procPath: \"/root/bash\",\n parentCmdline: \"bash\",\n registryKey: \"123\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ClientUserDefineRule(\"default\",\n action_type=0,\n platform=\"windows\",\n registry_content=\"123\",\n client_user_define_rule_name=name,\n parent_proc_path=\"/root/bash\",\n type=5,\n cmdline=\"bash\",\n proc_path=\"/root/bash\",\n parent_cmdline=\"bash\",\n registry_key=\"123\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ClientUserDefineRule(\"default\", new()\n {\n ActionType = 0,\n Platform = \"windows\",\n RegistryContent = \"123\",\n ClientUserDefineRuleName = name,\n ParentProcPath = \"/root/bash\",\n Type = 5,\n Cmdline = \"bash\",\n ProcPath = \"/root/bash\",\n ParentCmdline = \"bash\",\n RegistryKey = \"123\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewClientUserDefineRule(ctx, \"default\", \u0026threatdetection.ClientUserDefineRuleArgs{\n\t\t\tActionType: pulumi.Int(0),\n\t\t\tPlatform: pulumi.String(\"windows\"),\n\t\t\tRegistryContent: pulumi.String(\"123\"),\n\t\t\tClientUserDefineRuleName: pulumi.String(name),\n\t\t\tParentProcPath: pulumi.String(\"/root/bash\"),\n\t\t\tType: pulumi.Int(5),\n\t\t\tCmdline: pulumi.String(\"bash\"),\n\t\t\tProcPath: pulumi.String(\"/root/bash\"),\n\t\t\tParentCmdline: pulumi.String(\"bash\"),\n\t\t\tRegistryKey: pulumi.String(\"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.alicloud.threatdetection.ClientUserDefineRule;\nimport com.pulumi.alicloud.threatdetection.ClientUserDefineRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ClientUserDefineRule(\"default\", ClientUserDefineRuleArgs.builder()\n .actionType(0)\n .platform(\"windows\")\n .registryContent(\"123\")\n .clientUserDefineRuleName(name)\n .parentProcPath(\"/root/bash\")\n .type(5)\n .cmdline(\"bash\")\n .procPath(\"/root/bash\")\n .parentCmdline(\"bash\")\n .registryKey(\"123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ClientUserDefineRule\n properties:\n actionType: '0'\n platform: windows\n registryContent: '123'\n clientUserDefineRuleName: ${name}\n parentProcPath: /root/bash\n type: '5'\n cmdline: bash\n procPath: /root/bash\n parentCmdline: bash\n registryKey: '123'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Client User Define Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/clientUserDefineRule:ClientUserDefineRule example \u003cid\u003e\n```\n\n", "properties": { "actionType": { "type": "integer", @@ -256433,7 +262299,7 @@ } }, "alicloud:threatdetection/cycleTask:CycleTask": { - "description": "Provides a Threat Detection Cycle Task resource.\n\nConfigure periodic tasks in Security Center.\n\nFor information about Threat Detection Cycle Task and how to use it, see [What is Cycle Task](https://next.api.alibabacloud.com/document/Sas/2018-12-03/CreateCycleTask).\n\n\u003e **NOTE:** Available since v1.253.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.CycleTask(\"default\", {\n targetEndTime: 6,\n taskType: \"VIRUS_VUL_SCHEDULE_SCAN\",\n targetStartTime: 0,\n source: \"console_batch\",\n taskName: \"VIRUS_VUL_SCHEDULE_SCAN\",\n firstDateStr: 1650556800000,\n periodUnit: \"day\",\n intervalPeriod: 7,\n param: JSON.stringify({\n targetInfo: [\n {\n type: \"groupId\",\n name: \"TI HOST\",\n target: 10597,\n },\n {\n type: \"groupId\",\n name: \"expense HOST\",\n target: 10597,\n },\n ],\n }),\n enable: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.CycleTask(\"default\",\n target_end_time=6,\n task_type=\"VIRUS_VUL_SCHEDULE_SCAN\",\n target_start_time=0,\n source=\"console_batch\",\n task_name=\"VIRUS_VUL_SCHEDULE_SCAN\",\n first_date_str=1650556800000,\n period_unit=\"day\",\n interval_period=7,\n param=json.dumps({\n \"targetInfo\": [\n {\n \"type\": \"groupId\",\n \"name\": \"TI HOST\",\n \"target\": 10597,\n },\n {\n \"type\": \"groupId\",\n \"name\": \"expense HOST\",\n \"target\": 10597,\n },\n ],\n }),\n enable=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.CycleTask(\"default\", new()\n {\n TargetEndTime = 6,\n TaskType = \"VIRUS_VUL_SCHEDULE_SCAN\",\n TargetStartTime = 0,\n Source = \"console_batch\",\n TaskName = \"VIRUS_VUL_SCHEDULE_SCAN\",\n FirstDateStr = 1650556800000,\n PeriodUnit = \"day\",\n IntervalPeriod = 7,\n Param = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"targetInfo\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"groupId\",\n [\"name\"] = \"TI HOST\",\n [\"target\"] = 10597,\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"groupId\",\n [\"name\"] = \"expense HOST\",\n [\"target\"] = 10597,\n },\n },\n }),\n Enable = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"targetInfo\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"groupId\",\n\t\t\t\t\t\"name\": \"TI HOST\",\n\t\t\t\t\t\"target\": 10597,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"groupId\",\n\t\t\t\t\t\"name\": \"expense HOST\",\n\t\t\t\t\t\"target\": 10597,\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 = threatdetection.NewCycleTask(ctx, \"default\", \u0026threatdetection.CycleTaskArgs{\n\t\t\tTargetEndTime: pulumi.Int(6),\n\t\t\tTaskType: pulumi.String(\"VIRUS_VUL_SCHEDULE_SCAN\"),\n\t\t\tTargetStartTime: pulumi.Int(0),\n\t\t\tSource: pulumi.String(\"console_batch\"),\n\t\t\tTaskName: pulumi.String(\"VIRUS_VUL_SCHEDULE_SCAN\"),\n\t\t\tFirstDateStr: pulumi.Int(1650556800000),\n\t\t\tPeriodUnit: pulumi.String(\"day\"),\n\t\t\tIntervalPeriod: pulumi.Int(7),\n\t\t\tParam: pulumi.String(json0),\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.alicloud.threatdetection.CycleTask;\nimport com.pulumi.alicloud.threatdetection.CycleTaskArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CycleTask(\"default\", CycleTaskArgs.builder()\n .targetEndTime(6)\n .taskType(\"VIRUS_VUL_SCHEDULE_SCAN\")\n .targetStartTime(0)\n .source(\"console_batch\")\n .taskName(\"VIRUS_VUL_SCHEDULE_SCAN\")\n .firstDateStr(1650556800000)\n .periodUnit(\"day\")\n .intervalPeriod(7)\n .param(serializeJson(\n jsonObject(\n jsonProperty(\"targetInfo\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"groupId\"),\n jsonProperty(\"name\", \"TI HOST\"),\n jsonProperty(\"target\", 10597)\n ), \n jsonObject(\n jsonProperty(\"type\", \"groupId\"),\n jsonProperty(\"name\", \"expense HOST\"),\n jsonProperty(\"target\", 10597)\n )\n ))\n )))\n .enable(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:CycleTask\n properties:\n targetEndTime: '6'\n taskType: VIRUS_VUL_SCHEDULE_SCAN\n targetStartTime: '0'\n source: console_batch\n taskName: VIRUS_VUL_SCHEDULE_SCAN\n firstDateStr: '1650556800000'\n periodUnit: day\n intervalPeriod: '7'\n param:\n fn::toJSON:\n targetInfo:\n - type: groupId\n name: TI HOST\n target: 10597\n - type: groupId\n name: expense HOST\n target: 10597\n enable: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Cycle Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/cycleTask:CycleTask example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Cycle Task resource.\n\nConfigure periodic tasks in Security Center.\n\nFor information about Threat Detection Cycle Task and how to use it, see [What is Cycle Task](https://next.api.alibabacloud.com/document/Sas/2018-12-03/CreateCycleTask).\n\n\u003e **NOTE:** Available since v1.253.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.CycleTask(\"default\", {\n targetEndTime: 6,\n taskType: \"VIRUS_VUL_SCHEDULE_SCAN\",\n targetStartTime: 0,\n source: \"console_batch\",\n taskName: \"VIRUS_VUL_SCHEDULE_SCAN\",\n firstDateStr: 1650556800000,\n periodUnit: \"day\",\n intervalPeriod: 7,\n param: JSON.stringify({\n targetInfo: [\n {\n type: \"groupId\",\n name: \"TI HOST\",\n target: 10597,\n },\n {\n type: \"groupId\",\n name: \"expense HOST\",\n target: 10597,\n },\n ],\n }),\n enable: 1,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.CycleTask(\"default\",\n target_end_time=6,\n task_type=\"VIRUS_VUL_SCHEDULE_SCAN\",\n target_start_time=0,\n source=\"console_batch\",\n task_name=\"VIRUS_VUL_SCHEDULE_SCAN\",\n first_date_str=1650556800000,\n period_unit=\"day\",\n interval_period=7,\n param=json.dumps({\n \"targetInfo\": [\n {\n \"type\": \"groupId\",\n \"name\": \"TI HOST\",\n \"target\": 10597,\n },\n {\n \"type\": \"groupId\",\n \"name\": \"expense HOST\",\n \"target\": 10597,\n },\n ],\n }),\n enable=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.CycleTask(\"default\", new()\n {\n TargetEndTime = 6,\n TaskType = \"VIRUS_VUL_SCHEDULE_SCAN\",\n TargetStartTime = 0,\n Source = \"console_batch\",\n TaskName = \"VIRUS_VUL_SCHEDULE_SCAN\",\n FirstDateStr = 1650556800000,\n PeriodUnit = \"day\",\n IntervalPeriod = 7,\n Param = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"targetInfo\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"groupId\",\n [\"name\"] = \"TI HOST\",\n [\"target\"] = 10597,\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"groupId\",\n [\"name\"] = \"expense HOST\",\n [\"target\"] = 10597,\n },\n },\n }),\n Enable = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"targetInfo\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"groupId\",\n\t\t\t\t\t\"name\": \"TI HOST\",\n\t\t\t\t\t\"target\": 10597,\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"type\": \"groupId\",\n\t\t\t\t\t\"name\": \"expense HOST\",\n\t\t\t\t\t\"target\": 10597,\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 = threatdetection.NewCycleTask(ctx, \"default\", \u0026threatdetection.CycleTaskArgs{\n\t\t\tTargetEndTime: pulumi.Int(6),\n\t\t\tTaskType: pulumi.String(\"VIRUS_VUL_SCHEDULE_SCAN\"),\n\t\t\tTargetStartTime: pulumi.Int(0),\n\t\t\tSource: pulumi.String(\"console_batch\"),\n\t\t\tTaskName: pulumi.String(\"VIRUS_VUL_SCHEDULE_SCAN\"),\n\t\t\tFirstDateStr: pulumi.Int(1650556800000),\n\t\t\tPeriodUnit: pulumi.String(\"day\"),\n\t\t\tIntervalPeriod: pulumi.Int(7),\n\t\t\tParam: pulumi.String(json0),\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.alicloud.threatdetection.CycleTask;\nimport com.pulumi.alicloud.threatdetection.CycleTaskArgs;\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CycleTask(\"default\", CycleTaskArgs.builder()\n .targetEndTime(6)\n .taskType(\"VIRUS_VUL_SCHEDULE_SCAN\")\n .targetStartTime(0)\n .source(\"console_batch\")\n .taskName(\"VIRUS_VUL_SCHEDULE_SCAN\")\n .firstDateStr(1650556800000)\n .periodUnit(\"day\")\n .intervalPeriod(7)\n .param(serializeJson(\n jsonObject(\n jsonProperty(\"targetInfo\", jsonArray(\n jsonObject(\n jsonProperty(\"type\", \"groupId\"),\n jsonProperty(\"name\", \"TI HOST\"),\n jsonProperty(\"target\", 10597)\n ), \n jsonObject(\n jsonProperty(\"type\", \"groupId\"),\n jsonProperty(\"name\", \"expense HOST\"),\n jsonProperty(\"target\", 10597)\n )\n ))\n )))\n .enable(1)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:CycleTask\n properties:\n targetEndTime: '6'\n taskType: VIRUS_VUL_SCHEDULE_SCAN\n targetStartTime: '0'\n source: console_batch\n taskName: VIRUS_VUL_SCHEDULE_SCAN\n firstDateStr: '1650556800000'\n periodUnit: day\n intervalPeriod: '7'\n param:\n fn::toJSON:\n targetInfo:\n - type: groupId\n name: TI HOST\n target: 10597\n - type: groupId\n name: expense HOST\n target: 10597\n enable: '1'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Cycle Task can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/cycleTask:CycleTask example \u003cid\u003e\n```\n\n", "properties": { "enable": { "type": "integer", @@ -256621,7 +262487,7 @@ } }, "alicloud:threatdetection/honeyPot:HoneyPot": { - "description": "Provides a Threat Detection Honey Pot resource.\n\nFor information about Threat Detection Honey Pot and how to use it, see [What is Honey Pot](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypot).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.threatdetection.getHoneypotImages({\n nameRegex: \"^ruoyi\",\n});\nconst defaultHoneypotNode = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\nconst defaultHoneyPot = new alicloud.threatdetection.HoneyPot(\"default\", {\n honeypotImageName: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageName),\n honeypotImageId: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageId),\n honeypotName: name,\n nodeId: defaultHoneypotNode.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.threatdetection.get_honeypot_images(name_regex=\"^ruoyi\")\ndefault_honeypot_node = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\ndefault_honey_pot = alicloud.threatdetection.HoneyPot(\"default\",\n honeypot_image_name=default.images[0].honeypot_image_name,\n honeypot_image_id=default.images[0].honeypot_image_id,\n honeypot_name=name,\n node_id=default_honeypot_node.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ThreatDetection.GetHoneypotImages.Invoke(new()\n {\n NameRegex = \"^ruoyi\",\n });\n\n var defaultHoneypotNode = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n var defaultHoneyPot = new AliCloud.ThreatDetection.HoneyPot(\"default\", new()\n {\n HoneypotImageName = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageName)),\n HoneypotImageId = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageId)),\n HoneypotName = name,\n NodeId = defaultHoneypotNode.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := threatdetection.GetHoneypotImages(ctx, \u0026threatdetection.GetHoneypotImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ruoyi\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHoneypotNode, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewHoneyPot(ctx, \"default\", \u0026threatdetection.HoneyPotArgs{\n\t\t\tHoneypotImageName: pulumi.String(_default.Images[0].HoneypotImageName),\n\t\t\tHoneypotImageId: pulumi.String(_default.Images[0].HoneypotImageId),\n\t\t\tHoneypotName: pulumi.String(name),\n\t\t\tNodeId: defaultHoneypotNode.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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetHoneypotImagesArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport com.pulumi.alicloud.threatdetection.HoneyPot;\nimport com.pulumi.alicloud.threatdetection.HoneyPotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ThreatdetectionFunctions.getHoneypotImages(GetHoneypotImagesArgs.builder()\n .nameRegex(\"^ruoyi\")\n .build());\n\n var defaultHoneypotNode = new HoneypotNode(\"defaultHoneypotNode\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n var defaultHoneyPot = new HoneyPot(\"defaultHoneyPot\", HoneyPotArgs.builder()\n .honeypotImageName(default_.images()[0].honeypotImageName())\n .honeypotImageId(default_.images()[0].honeypotImageId())\n .honeypotName(name)\n .nodeId(defaultHoneypotNode.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultHoneypotNode:\n type: alicloud:threatdetection:HoneypotNode\n name: default\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n defaultHoneyPot:\n type: alicloud:threatdetection:HoneyPot\n name: default\n properties:\n honeypotImageName: ${default.images[0].honeypotImageName}\n honeypotImageId: ${default.images[0].honeypotImageId}\n honeypotName: ${name}\n nodeId: ${defaultHoneypotNode.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getHoneypotImages\n arguments:\n nameRegex: ^ruoyi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Honey Pot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeyPot:HoneyPot example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Honey Pot resource.\n\nFor information about Threat Detection Honey Pot and how to use it, see [What is Honey Pot](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypot).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.threatdetection.getHoneypotImages({\n nameRegex: \"^ruoyi\",\n});\nconst defaultHoneypotNode = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\nconst defaultHoneyPot = new alicloud.threatdetection.HoneyPot(\"default\", {\n honeypotImageName: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageName),\n honeypotImageId: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageId),\n honeypotName: name,\n nodeId: defaultHoneypotNode.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.threatdetection.get_honeypot_images(name_regex=\"^ruoyi\")\ndefault_honeypot_node = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\ndefault_honey_pot = alicloud.threatdetection.HoneyPot(\"default\",\n honeypot_image_name=default.images[0].honeypot_image_name,\n honeypot_image_id=default.images[0].honeypot_image_id,\n honeypot_name=name,\n node_id=default_honeypot_node.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ThreatDetection.GetHoneypotImages.Invoke(new()\n {\n NameRegex = \"^ruoyi\",\n });\n\n var defaultHoneypotNode = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n var defaultHoneyPot = new AliCloud.ThreatDetection.HoneyPot(\"default\", new()\n {\n HoneypotImageName = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageName)),\n HoneypotImageId = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageId)),\n HoneypotName = name,\n NodeId = defaultHoneypotNode.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := threatdetection.GetHoneypotImages(ctx, \u0026threatdetection.GetHoneypotImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ruoyi\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHoneypotNode, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewHoneyPot(ctx, \"default\", \u0026threatdetection.HoneyPotArgs{\n\t\t\tHoneypotImageName: pulumi.String(_default.Images[0].HoneypotImageName),\n\t\t\tHoneypotImageId: pulumi.String(_default.Images[0].HoneypotImageId),\n\t\t\tHoneypotName: pulumi.String(name),\n\t\t\tNodeId: defaultHoneypotNode.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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetHoneypotImagesArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport com.pulumi.alicloud.threatdetection.HoneyPot;\nimport com.pulumi.alicloud.threatdetection.HoneyPotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ThreatdetectionFunctions.getHoneypotImages(GetHoneypotImagesArgs.builder()\n .nameRegex(\"^ruoyi\")\n .build());\n\n var defaultHoneypotNode = new HoneypotNode(\"defaultHoneypotNode\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n var defaultHoneyPot = new HoneyPot(\"defaultHoneyPot\", HoneyPotArgs.builder()\n .honeypotImageName(default_.images()[0].honeypotImageName())\n .honeypotImageId(default_.images()[0].honeypotImageId())\n .honeypotName(name)\n .nodeId(defaultHoneypotNode.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultHoneypotNode:\n type: alicloud:threatdetection:HoneypotNode\n name: default\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n defaultHoneyPot:\n type: alicloud:threatdetection:HoneyPot\n name: default\n properties:\n honeypotImageName: ${default.images[0].honeypotImageName}\n honeypotImageId: ${default.images[0].honeypotImageId}\n honeypotName: ${name}\n nodeId: ${defaultHoneypotNode.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getHoneypotImages\n arguments:\n nameRegex: ^ruoyi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Honey Pot can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeyPot:HoneyPot example \u003cid\u003e\n```\n\n", "properties": { "honeypotId": { "type": "string", @@ -256742,7 +262608,7 @@ } }, "alicloud:threatdetection/honeypotNode:HoneypotNode": { - "description": "Provides a Threat Detection Honeypot Node resource.\n\nFor information about Threat Detection Honeypot Node and how to use it, see [What is Honeypot Node](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotnode).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.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.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new HoneypotNode(\"default\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:threatdetection:HoneypotNode\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Honeypot Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotNode:HoneypotNode example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Honeypot Node resource.\n\nFor information about Threat Detection Honeypot Node and how to use it, see [What is Honeypot Node](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotnode).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.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.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n var default_ = new HoneypotNode(\"default\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n default:\n type: alicloud:threatdetection:HoneypotNode\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Honeypot Node can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotNode:HoneypotNode example \u003cid\u003e\n```\n\n", "properties": { "allowHoneypotAccessInternet": { "type": "boolean", @@ -256840,7 +262706,7 @@ } }, "alicloud:threatdetection/honeypotPreset:HoneypotPreset": { - "description": "Provides a Threat Detection Honeypot Preset resource.\n\nFor information about Threat Detection Honeypot Preset and how to use it, see [What is Honeypot Preset](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotpreset).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.threatdetection.getHoneypotImages({\n nameRegex: \"^ruoyi\",\n});\nconst defaultHoneypotNode = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\nconst defaultHoneypotPreset = new alicloud.threatdetection.HoneypotPreset(\"default\", {\n presetName: name,\n nodeId: defaultHoneypotNode.id,\n honeypotImageName: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageName),\n meta: {\n portraitOption: true,\n burp: \"open\",\n trojanGit: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.threatdetection.get_honeypot_images(name_regex=\"^ruoyi\")\ndefault_honeypot_node = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\ndefault_honeypot_preset = alicloud.threatdetection.HoneypotPreset(\"default\",\n preset_name=name,\n node_id=default_honeypot_node.id,\n honeypot_image_name=default.images[0].honeypot_image_name,\n meta={\n \"portrait_option\": True,\n \"burp\": \"open\",\n \"trojan_git\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ThreatDetection.GetHoneypotImages.Invoke(new()\n {\n NameRegex = \"^ruoyi\",\n });\n\n var defaultHoneypotNode = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n var defaultHoneypotPreset = new AliCloud.ThreatDetection.HoneypotPreset(\"default\", new()\n {\n PresetName = name,\n NodeId = defaultHoneypotNode.Id,\n HoneypotImageName = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageName)),\n Meta = new AliCloud.ThreatDetection.Inputs.HoneypotPresetMetaArgs\n {\n PortraitOption = true,\n Burp = \"open\",\n TrojanGit = \"open\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := threatdetection.GetHoneypotImages(ctx, \u0026threatdetection.GetHoneypotImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ruoyi\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHoneypotNode, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewHoneypotPreset(ctx, \"default\", \u0026threatdetection.HoneypotPresetArgs{\n\t\t\tPresetName: pulumi.String(name),\n\t\t\tNodeId: defaultHoneypotNode.ID(),\n\t\t\tHoneypotImageName: pulumi.String(_default.Images[0].HoneypotImageName),\n\t\t\tMeta: \u0026threatdetection.HoneypotPresetMetaArgs{\n\t\t\t\tPortraitOption: pulumi.Bool(true),\n\t\t\t\tBurp: pulumi.String(\"open\"),\n\t\t\t\tTrojanGit: pulumi.String(\"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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetHoneypotImagesArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotPreset;\nimport com.pulumi.alicloud.threatdetection.HoneypotPresetArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.HoneypotPresetMetaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ThreatdetectionFunctions.getHoneypotImages(GetHoneypotImagesArgs.builder()\n .nameRegex(\"^ruoyi\")\n .build());\n\n var defaultHoneypotNode = new HoneypotNode(\"defaultHoneypotNode\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n var defaultHoneypotPreset = new HoneypotPreset(\"defaultHoneypotPreset\", HoneypotPresetArgs.builder()\n .presetName(name)\n .nodeId(defaultHoneypotNode.id())\n .honeypotImageName(default_.images()[0].honeypotImageName())\n .meta(HoneypotPresetMetaArgs.builder()\n .portraitOption(true)\n .burp(\"open\")\n .trojanGit(\"open\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultHoneypotNode:\n type: alicloud:threatdetection:HoneypotNode\n name: default\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n defaultHoneypotPreset:\n type: alicloud:threatdetection:HoneypotPreset\n name: default\n properties:\n presetName: ${name}\n nodeId: ${defaultHoneypotNode.id}\n honeypotImageName: ${default.images[0].honeypotImageName}\n meta:\n portraitOption: true\n burp: open\n trojanGit: open\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getHoneypotImages\n arguments:\n nameRegex: ^ruoyi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Honeypot Preset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotPreset:HoneypotPreset example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Honeypot Preset resource.\n\nFor information about Threat Detection Honeypot Preset and how to use it, see [What is Honeypot Preset](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotpreset).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.threatdetection.getHoneypotImages({\n nameRegex: \"^ruoyi\",\n});\nconst defaultHoneypotNode = new alicloud.threatdetection.HoneypotNode(\"default\", {\n nodeName: name,\n availableProbeNum: 20,\n securityGroupProbeIpLists: [\"0.0.0.0/0\"],\n});\nconst defaultHoneypotPreset = new alicloud.threatdetection.HoneypotPreset(\"default\", {\n presetName: name,\n nodeId: defaultHoneypotNode.id,\n honeypotImageName: _default.then(_default =\u003e _default.images?.[0]?.honeypotImageName),\n meta: {\n portraitOption: true,\n burp: \"open\",\n trojanGit: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.threatdetection.get_honeypot_images(name_regex=\"^ruoyi\")\ndefault_honeypot_node = alicloud.threatdetection.HoneypotNode(\"default\",\n node_name=name,\n available_probe_num=20,\n security_group_probe_ip_lists=[\"0.0.0.0/0\"])\ndefault_honeypot_preset = alicloud.threatdetection.HoneypotPreset(\"default\",\n preset_name=name,\n node_id=default_honeypot_node.id,\n honeypot_image_name=default.images[0].honeypot_image_name,\n meta={\n \"portrait_option\": True,\n \"burp\": \"open\",\n \"trojan_git\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.ThreatDetection.GetHoneypotImages.Invoke(new()\n {\n NameRegex = \"^ruoyi\",\n });\n\n var defaultHoneypotNode = new AliCloud.ThreatDetection.HoneypotNode(\"default\", new()\n {\n NodeName = name,\n AvailableProbeNum = 20,\n SecurityGroupProbeIpLists = new[]\n {\n \"0.0.0.0/0\",\n },\n });\n\n var defaultHoneypotPreset = new AliCloud.ThreatDetection.HoneypotPreset(\"default\", new()\n {\n PresetName = name,\n NodeId = defaultHoneypotNode.Id,\n HoneypotImageName = @default.Apply(@default =\u003e @default.Apply(getHoneypotImagesResult =\u003e getHoneypotImagesResult.Images[0]?.HoneypotImageName)),\n Meta = new AliCloud.ThreatDetection.Inputs.HoneypotPresetMetaArgs\n {\n PortraitOption = true,\n Burp = \"open\",\n TrojanGit = \"open\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := threatdetection.GetHoneypotImages(ctx, \u0026threatdetection.GetHoneypotImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ruoyi\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHoneypotNode, err := threatdetection.NewHoneypotNode(ctx, \"default\", \u0026threatdetection.HoneypotNodeArgs{\n\t\t\tNodeName: pulumi.String(name),\n\t\t\tAvailableProbeNum: pulumi.Int(20),\n\t\t\tSecurityGroupProbeIpLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewHoneypotPreset(ctx, \"default\", \u0026threatdetection.HoneypotPresetArgs{\n\t\t\tPresetName: pulumi.String(name),\n\t\t\tNodeId: defaultHoneypotNode.ID(),\n\t\t\tHoneypotImageName: pulumi.String(_default.Images[0].HoneypotImageName),\n\t\t\tMeta: \u0026threatdetection.HoneypotPresetMetaArgs{\n\t\t\t\tPortraitOption: pulumi.Bool(true),\n\t\t\t\tBurp: pulumi.String(\"open\"),\n\t\t\t\tTrojanGit: pulumi.String(\"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.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetHoneypotImagesArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotNode;\nimport com.pulumi.alicloud.threatdetection.HoneypotNodeArgs;\nimport com.pulumi.alicloud.threatdetection.HoneypotPreset;\nimport com.pulumi.alicloud.threatdetection.HoneypotPresetArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.HoneypotPresetMetaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = ThreatdetectionFunctions.getHoneypotImages(GetHoneypotImagesArgs.builder()\n .nameRegex(\"^ruoyi\")\n .build());\n\n var defaultHoneypotNode = new HoneypotNode(\"defaultHoneypotNode\", HoneypotNodeArgs.builder()\n .nodeName(name)\n .availableProbeNum(20)\n .securityGroupProbeIpLists(\"0.0.0.0/0\")\n .build());\n\n var defaultHoneypotPreset = new HoneypotPreset(\"defaultHoneypotPreset\", HoneypotPresetArgs.builder()\n .presetName(name)\n .nodeId(defaultHoneypotNode.id())\n .honeypotImageName(default_.images()[0].honeypotImageName())\n .meta(HoneypotPresetMetaArgs.builder()\n .portraitOption(true)\n .burp(\"open\")\n .trojanGit(\"open\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n defaultHoneypotNode:\n type: alicloud:threatdetection:HoneypotNode\n name: default\n properties:\n nodeName: ${name}\n availableProbeNum: 20\n securityGroupProbeIpLists:\n - 0.0.0.0/0\n defaultHoneypotPreset:\n type: alicloud:threatdetection:HoneypotPreset\n name: default\n properties:\n presetName: ${name}\n nodeId: ${defaultHoneypotNode.id}\n honeypotImageName: ${default.images[0].honeypotImageName}\n meta:\n portraitOption: true\n burp: open\n trojanGit: open\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getHoneypotImages\n arguments:\n nameRegex: ^ruoyi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Honeypot Preset can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotPreset:HoneypotPreset example \u003cid\u003e\n```\n\n", "properties": { "honeypotImageName": { "type": "string", @@ -256928,7 +262794,7 @@ } }, "alicloud:threatdetection/honeypotProbe:HoneypotProbe": { - "description": "Provides a Threat Detection Honeypot Probe resource.\n\nFor information about Threat Detection Honeypot Probe and how to use it, see [What is Honeypot Probe](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotprobe).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.HoneypotProbe(\"default\", {\n uuid: \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n probeType: \"host_probe\",\n controlNodeId: \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n ping: true,\n honeypotBindLists: [{\n bindPortLists: [{\n startPort: 80,\n endPort: 80,\n }],\n honeypotId: \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n }],\n displayName: \"apispec\",\n arp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.HoneypotProbe(\"default\",\n uuid=\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n probe_type=\"host_probe\",\n control_node_id=\"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n ping=True,\n honeypot_bind_lists=[{\n \"bind_port_lists\": [{\n \"start_port\": 80,\n \"end_port\": 80,\n }],\n \"honeypot_id\": \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n }],\n display_name=\"apispec\",\n arp=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.HoneypotProbe(\"default\", new()\n {\n Uuid = \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n ProbeType = \"host_probe\",\n ControlNodeId = \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n Ping = true,\n HoneypotBindLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.HoneypotProbeHoneypotBindListArgs\n {\n BindPortLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.HoneypotProbeHoneypotBindListBindPortListArgs\n {\n StartPort = 80,\n EndPort = 80,\n },\n },\n HoneypotId = \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n },\n },\n DisplayName = \"apispec\",\n Arp = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewHoneypotProbe(ctx, \"default\", \u0026threatdetection.HoneypotProbeArgs{\n\t\t\tUuid: pulumi.String(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"),\n\t\t\tProbeType: pulumi.String(\"host_probe\"),\n\t\t\tControlNodeId: pulumi.String(\"a44e1ab3-6945-444c-889d-5bacee7056e8\"),\n\t\t\tPing: pulumi.Bool(true),\n\t\t\tHoneypotBindLists: threatdetection.HoneypotProbeHoneypotBindListArray{\n\t\t\t\t\u0026threatdetection.HoneypotProbeHoneypotBindListArgs{\n\t\t\t\t\tBindPortLists: threatdetection.HoneypotProbeHoneypotBindListBindPortListArray{\n\t\t\t\t\t\t\u0026threatdetection.HoneypotProbeHoneypotBindListBindPortListArgs{\n\t\t\t\t\t\t\tStartPort: pulumi.Int(80),\n\t\t\t\t\t\t\tEndPort: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHoneypotId: pulumi.String(\"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"apispec\"),\n\t\t\tArp: 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.alicloud.threatdetection.HoneypotProbe;\nimport com.pulumi.alicloud.threatdetection.HoneypotProbeArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.HoneypotProbeHoneypotBindListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new HoneypotProbe(\"default\", HoneypotProbeArgs.builder()\n .uuid(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\")\n .probeType(\"host_probe\")\n .controlNodeId(\"a44e1ab3-6945-444c-889d-5bacee7056e8\")\n .ping(true)\n .honeypotBindLists(HoneypotProbeHoneypotBindListArgs.builder()\n .bindPortLists(HoneypotProbeHoneypotBindListBindPortListArgs.builder()\n .startPort(80)\n .endPort(80)\n .build())\n .honeypotId(\"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\")\n .build())\n .displayName(\"apispec\")\n .arp(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:HoneypotProbe\n properties:\n uuid: 032b618f-b220-4a0d-bd37-fbdc6ef58b6a\n probeType: host_probe\n controlNodeId: a44e1ab3-6945-444c-889d-5bacee7056e8\n ping: true\n honeypotBindLists:\n - bindPortLists:\n - startPort: 80\n endPort: 80\n honeypotId: ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\n displayName: apispec\n arp: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Honeypot Probe can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotProbe:HoneypotProbe example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Honeypot Probe resource.\n\nFor information about Threat Detection Honeypot Probe and how to use it, see [What is Honeypot Probe](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypotprobe).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.HoneypotProbe(\"default\", {\n uuid: \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n probeType: \"host_probe\",\n controlNodeId: \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n ping: true,\n honeypotBindLists: [{\n bindPortLists: [{\n startPort: 80,\n endPort: 80,\n }],\n honeypotId: \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n }],\n displayName: \"apispec\",\n arp: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.HoneypotProbe(\"default\",\n uuid=\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n probe_type=\"host_probe\",\n control_node_id=\"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n ping=True,\n honeypot_bind_lists=[{\n \"bind_port_lists\": [{\n \"start_port\": 80,\n \"end_port\": 80,\n }],\n \"honeypot_id\": \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n }],\n display_name=\"apispec\",\n arp=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.HoneypotProbe(\"default\", new()\n {\n Uuid = \"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\",\n ProbeType = \"host_probe\",\n ControlNodeId = \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n Ping = true,\n HoneypotBindLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.HoneypotProbeHoneypotBindListArgs\n {\n BindPortLists = new[]\n {\n new AliCloud.ThreatDetection.Inputs.HoneypotProbeHoneypotBindListBindPortListArgs\n {\n StartPort = 80,\n EndPort = 80,\n },\n },\n HoneypotId = \"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\",\n },\n },\n DisplayName = \"apispec\",\n Arp = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewHoneypotProbe(ctx, \"default\", \u0026threatdetection.HoneypotProbeArgs{\n\t\t\tUuid: pulumi.String(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\"),\n\t\t\tProbeType: pulumi.String(\"host_probe\"),\n\t\t\tControlNodeId: pulumi.String(\"a44e1ab3-6945-444c-889d-5bacee7056e8\"),\n\t\t\tPing: pulumi.Bool(true),\n\t\t\tHoneypotBindLists: threatdetection.HoneypotProbeHoneypotBindListArray{\n\t\t\t\t\u0026threatdetection.HoneypotProbeHoneypotBindListArgs{\n\t\t\t\t\tBindPortLists: threatdetection.HoneypotProbeHoneypotBindListBindPortListArray{\n\t\t\t\t\t\t\u0026threatdetection.HoneypotProbeHoneypotBindListBindPortListArgs{\n\t\t\t\t\t\t\tStartPort: pulumi.Int(80),\n\t\t\t\t\t\t\tEndPort: pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHoneypotId: pulumi.String(\"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"apispec\"),\n\t\t\tArp: 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.alicloud.threatdetection.HoneypotProbe;\nimport com.pulumi.alicloud.threatdetection.HoneypotProbeArgs;\nimport com.pulumi.alicloud.threatdetection.inputs.HoneypotProbeHoneypotBindListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new HoneypotProbe(\"default\", HoneypotProbeArgs.builder()\n .uuid(\"032b618f-b220-4a0d-bd37-fbdc6ef58b6a\")\n .probeType(\"host_probe\")\n .controlNodeId(\"a44e1ab3-6945-444c-889d-5bacee7056e8\")\n .ping(true)\n .honeypotBindLists(HoneypotProbeHoneypotBindListArgs.builder()\n .bindPortLists(HoneypotProbeHoneypotBindListBindPortListArgs.builder()\n .startPort(80)\n .endPort(80)\n .build())\n .honeypotId(\"ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\")\n .build())\n .displayName(\"apispec\")\n .arp(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:HoneypotProbe\n properties:\n uuid: 032b618f-b220-4a0d-bd37-fbdc6ef58b6a\n probeType: host_probe\n controlNodeId: a44e1ab3-6945-444c-889d-5bacee7056e8\n ping: true\n honeypotBindLists:\n - bindPortLists:\n - startPort: 80\n endPort: 80\n honeypotId: ede59ccdb1b7a2e21735d4593a6eb5ed31883af320c5ab63ab33818e94307be9\n displayName: apispec\n arp: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Honeypot Probe can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/honeypotProbe:HoneypotProbe example \u003cid\u003e\n```\n\n", "properties": { "arp": { "type": "boolean", @@ -257135,7 +263001,7 @@ } }, "alicloud:threatdetection/imageEventOperation:ImageEventOperation": { - "description": "Provides a Threat Detection Image Event Operation resource.\n\nImage Event Operation.\n\nFor information about Threat Detection Image Event Operation and how to use it, see [What is Image Event Operation](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-addimageeventoperation).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ImageEventOperation(\"default\", {\n eventType: \"maliciousFile\",\n operationCode: \"whitelist\",\n eventKey: \"alibabacloud_ak\",\n scenarios: `{\n \\\\\"type\\\\\":\\\\\"default\\\\\",\n \\\\\"value\\\\\":\\\\\"\\\\\"\n}\n`,\n eventName: \"阿里云AK\",\n conditions: `[\n {\n \\\\\"condition\\\\\":\\\\\"MD5\\\\\",\n \\\\\"type\\\\\":\\\\\"equals\\\\\",\n \\\\\"value\\\\\":\\\\\"0083a31cc0083a31ccf7c10367a6e783e\\\\\"\n }\n]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ImageEventOperation(\"default\",\n event_type=\"maliciousFile\",\n operation_code=\"whitelist\",\n event_key=\"alibabacloud_ak\",\n scenarios=\"\"\"{\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n}\n\"\"\",\n event_name=\"阿里云AK\",\n conditions=\"\"\"[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ImageEventOperation(\"default\", new()\n {\n EventType = \"maliciousFile\",\n OperationCode = \"whitelist\",\n EventKey = \"alibabacloud_ak\",\n Scenarios = @\"{\n \\\"\"type\\\"\":\\\"\"default\\\"\",\n \\\"\"value\\\"\":\\\"\"\\\"\"\n}\n\",\n EventName = \"阿里云AK\",\n Conditions = @\"[\n {\n \\\"\"condition\\\"\":\\\"\"MD5\\\"\",\n \\\"\"type\\\"\":\\\"\"equals\\\"\",\n \\\"\"value\\\"\":\\\"\"0083a31cc0083a31ccf7c10367a6e783e\\\"\"\n }\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewImageEventOperation(ctx, \"default\", \u0026threatdetection.ImageEventOperationArgs{\n\t\t\tEventType: pulumi.String(\"maliciousFile\"),\n\t\t\tOperationCode: pulumi.String(\"whitelist\"),\n\t\t\tEventKey: pulumi.String(\"alibabacloud_ak\"),\n\t\t\tScenarios: pulumi.String(\"{\\n \\\\\\\"type\\\\\\\":\\\\\\\"default\\\\\\\",\\n \\\\\\\"value\\\\\\\":\\\\\\\"\\\\\\\"\\n}\\n\"),\n\t\t\tEventName: pulumi.String(\"阿里云AK\"),\n\t\t\tConditions: pulumi.String(`[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\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.alicloud.threatdetection.ImageEventOperation;\nimport com.pulumi.alicloud.threatdetection.ImageEventOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ImageEventOperation(\"default\", ImageEventOperationArgs.builder()\n .eventType(\"maliciousFile\")\n .operationCode(\"whitelist\")\n .eventKey(\"alibabacloud_ak\")\n .scenarios(\"\"\"\n{\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n}\n \"\"\")\n .eventName(\"阿里云AK\")\n .conditions(\"\"\"\n[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ImageEventOperation\n properties:\n eventType: maliciousFile\n operationCode: whitelist\n eventKey: alibabacloud_ak\n scenarios: |\n {\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n }\n eventName: 阿里云AK\n conditions: |\n [\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Image Event Operation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/imageEventOperation:ImageEventOperation example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Image Event Operation resource.\n\nImage Event Operation.\n\nFor information about Threat Detection Image Event Operation and how to use it, see [What is Image Event Operation](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-addimageeventoperation).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.ImageEventOperation(\"default\", {\n eventType: \"maliciousFile\",\n operationCode: \"whitelist\",\n eventKey: \"alibabacloud_ak\",\n scenarios: `{\n \\\\\"type\\\\\":\\\\\"default\\\\\",\n \\\\\"value\\\\\":\\\\\"\\\\\"\n}\n`,\n eventName: \"阿里云AK\",\n conditions: `[\n {\n \\\\\"condition\\\\\":\\\\\"MD5\\\\\",\n \\\\\"type\\\\\":\\\\\"equals\\\\\",\n \\\\\"value\\\\\":\\\\\"0083a31cc0083a31ccf7c10367a6e783e\\\\\"\n }\n]\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.ImageEventOperation(\"default\",\n event_type=\"maliciousFile\",\n operation_code=\"whitelist\",\n event_key=\"alibabacloud_ak\",\n scenarios=\"\"\"{\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n}\n\"\"\",\n event_name=\"阿里云AK\",\n conditions=\"\"\"[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n]\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.ImageEventOperation(\"default\", new()\n {\n EventType = \"maliciousFile\",\n OperationCode = \"whitelist\",\n EventKey = \"alibabacloud_ak\",\n Scenarios = @\"{\n \\\"\"type\\\"\":\\\"\"default\\\"\",\n \\\"\"value\\\"\":\\\"\"\\\"\"\n}\n\",\n EventName = \"阿里云AK\",\n Conditions = @\"[\n {\n \\\"\"condition\\\"\":\\\"\"MD5\\\"\",\n \\\"\"type\\\"\":\\\"\"equals\\\"\",\n \\\"\"value\\\"\":\\\"\"0083a31cc0083a31ccf7c10367a6e783e\\\"\"\n }\n]\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewImageEventOperation(ctx, \"default\", \u0026threatdetection.ImageEventOperationArgs{\n\t\t\tEventType: pulumi.String(\"maliciousFile\"),\n\t\t\tOperationCode: pulumi.String(\"whitelist\"),\n\t\t\tEventKey: pulumi.String(\"alibabacloud_ak\"),\n\t\t\tScenarios: pulumi.String(\"{\\n \\\\\\\"type\\\\\\\":\\\\\\\"default\\\\\\\",\\n \\\\\\\"value\\\\\\\":\\\\\\\"\\\\\\\"\\n}\\n\"),\n\t\t\tEventName: pulumi.String(\"阿里云AK\"),\n\t\t\tConditions: pulumi.String(`[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\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.alicloud.threatdetection.ImageEventOperation;\nimport com.pulumi.alicloud.threatdetection.ImageEventOperationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new ImageEventOperation(\"default\", ImageEventOperationArgs.builder()\n .eventType(\"maliciousFile\")\n .operationCode(\"whitelist\")\n .eventKey(\"alibabacloud_ak\")\n .scenarios(\"\"\"\n{\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n}\n \"\"\")\n .eventName(\"阿里云AK\")\n .conditions(\"\"\"\n[\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n]\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:ImageEventOperation\n properties:\n eventType: maliciousFile\n operationCode: whitelist\n eventKey: alibabacloud_ak\n scenarios: |\n {\n \\\"type\\\":\\\"default\\\",\n \\\"value\\\":\\\"\\\"\n }\n eventName: 阿里云AK\n conditions: |\n [\n {\n \\\"condition\\\":\\\"MD5\\\",\n \\\"type\\\":\\\"equals\\\",\n \\\"value\\\":\\\"0083a31cc0083a31ccf7c10367a6e783e\\\"\n }\n ]\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Image Event Operation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/imageEventOperation:ImageEventOperation example \u003cid\u003e\n```\n\n", "properties": { "conditions": { "type": "string", @@ -257761,7 +263627,7 @@ } }, "alicloud:threatdetection/maliciousFileWhitelistConfig:MaliciousFileWhitelistConfig": { - "description": "Provides a Threat Detection Malicious File Whitelist Config resource. malicious file add whitelist config.\n\nFor information about Threat Detection Malicious File Whitelist Config and how to use it, see [What is Malicious File Whitelist Config](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createmaliciousfilewhitelistconfig/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.MaliciousFileWhitelistConfig(\"default\", {\n operator: \"strEquals\",\n field: \"fileMd6\",\n targetValue: \"123\",\n targetType: \"SELECTION_KEY\",\n eventName: \"123\",\n source: \"agentless\",\n fieldValue: \"sadfas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.MaliciousFileWhitelistConfig(\"default\",\n operator=\"strEquals\",\n field=\"fileMd6\",\n target_value=\"123\",\n target_type=\"SELECTION_KEY\",\n event_name=\"123\",\n source=\"agentless\",\n field_value=\"sadfas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.MaliciousFileWhitelistConfig(\"default\", new()\n {\n Operator = \"strEquals\",\n Field = \"fileMd6\",\n TargetValue = \"123\",\n TargetType = \"SELECTION_KEY\",\n EventName = \"123\",\n Source = \"agentless\",\n FieldValue = \"sadfas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewMaliciousFileWhitelistConfig(ctx, \"default\", \u0026threatdetection.MaliciousFileWhitelistConfigArgs{\n\t\t\tOperator: pulumi.String(\"strEquals\"),\n\t\t\tField: pulumi.String(\"fileMd6\"),\n\t\t\tTargetValue: pulumi.String(\"123\"),\n\t\t\tTargetType: pulumi.String(\"SELECTION_KEY\"),\n\t\t\tEventName: pulumi.String(\"123\"),\n\t\t\tSource: pulumi.String(\"agentless\"),\n\t\t\tFieldValue: pulumi.String(\"sadfas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.MaliciousFileWhitelistConfig;\nimport com.pulumi.alicloud.threatdetection.MaliciousFileWhitelistConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new MaliciousFileWhitelistConfig(\"default\", MaliciousFileWhitelistConfigArgs.builder()\n .operator(\"strEquals\")\n .field(\"fileMd6\")\n .targetValue(\"123\")\n .targetType(\"SELECTION_KEY\")\n .eventName(\"123\")\n .source(\"agentless\")\n .fieldValue(\"sadfas\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:MaliciousFileWhitelistConfig\n properties:\n operator: strEquals\n field: fileMd6\n targetValue: '123'\n targetType: SELECTION_KEY\n eventName: '123'\n source: agentless\n fieldValue: sadfas\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Malicious File Whitelist Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/maliciousFileWhitelistConfig:MaliciousFileWhitelistConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Malicious File Whitelist Config resource. malicious file add whitelist config.\n\nFor information about Threat Detection Malicious File Whitelist Config and how to use it, see [What is Malicious File Whitelist Config](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createmaliciousfilewhitelistconfig/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.MaliciousFileWhitelistConfig(\"default\", {\n operator: \"strEquals\",\n field: \"fileMd6\",\n targetValue: \"123\",\n targetType: \"SELECTION_KEY\",\n eventName: \"123\",\n source: \"agentless\",\n fieldValue: \"sadfas\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.MaliciousFileWhitelistConfig(\"default\",\n operator=\"strEquals\",\n field=\"fileMd6\",\n target_value=\"123\",\n target_type=\"SELECTION_KEY\",\n event_name=\"123\",\n source=\"agentless\",\n field_value=\"sadfas\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.MaliciousFileWhitelistConfig(\"default\", new()\n {\n Operator = \"strEquals\",\n Field = \"fileMd6\",\n TargetValue = \"123\",\n TargetType = \"SELECTION_KEY\",\n EventName = \"123\",\n Source = \"agentless\",\n FieldValue = \"sadfas\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewMaliciousFileWhitelistConfig(ctx, \"default\", \u0026threatdetection.MaliciousFileWhitelistConfigArgs{\n\t\t\tOperator: pulumi.String(\"strEquals\"),\n\t\t\tField: pulumi.String(\"fileMd6\"),\n\t\t\tTargetValue: pulumi.String(\"123\"),\n\t\t\tTargetType: pulumi.String(\"SELECTION_KEY\"),\n\t\t\tEventName: pulumi.String(\"123\"),\n\t\t\tSource: pulumi.String(\"agentless\"),\n\t\t\tFieldValue: pulumi.String(\"sadfas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.MaliciousFileWhitelistConfig;\nimport com.pulumi.alicloud.threatdetection.MaliciousFileWhitelistConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new MaliciousFileWhitelistConfig(\"default\", MaliciousFileWhitelistConfigArgs.builder()\n .operator(\"strEquals\")\n .field(\"fileMd6\")\n .targetValue(\"123\")\n .targetType(\"SELECTION_KEY\")\n .eventName(\"123\")\n .source(\"agentless\")\n .fieldValue(\"sadfas\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:MaliciousFileWhitelistConfig\n properties:\n operator: strEquals\n field: fileMd6\n targetValue: '123'\n targetType: SELECTION_KEY\n eventName: '123'\n source: agentless\n fieldValue: sadfas\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Malicious File Whitelist Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/maliciousFileWhitelistConfig:MaliciousFileWhitelistConfig example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -257871,7 +263737,7 @@ } }, "alicloud:threatdetection/ossScanConfig:OssScanConfig": { - "description": "Provides a Threat Detection Oss Scan Config resource.\n\nOss detection configuration.\n\nFor information about Threat Detection Oss Scan Config and how to use it, see [What is Oss Scan Config](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createossscanconfig/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst bucketRandom = _default.result;\nconst default8j4t1R = new alicloud.oss.Bucket(\"default8j4t1R\", {\n bucket: `${name}-1-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst default9HMqfT = new alicloud.oss.Bucket(\"default9HMqfT\", {\n bucket: `${name}-2-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaultxBXqFQ = new alicloud.oss.Bucket(\"defaultxBXqFQ\", {\n bucket: `${name}-3-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaulthZvCmR = new alicloud.oss.Bucket(\"defaulthZvCmR\", {\n bucket: `${name}-4-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaultOssScanConfig = new alicloud.threatdetection.OssScanConfig(\"default\", {\n keySuffixLists: [\n \".jsp\",\n \".php\",\n \".k\",\n ],\n scanDayLists: [\n 2,\n 5,\n 4,\n 3,\n ],\n ossScanConfigName: name,\n endTime: \"00:00:02\",\n startTime: \"00:00:01\",\n enable: 1,\n allKeyPrefix: false,\n bucketNameLists: [\n default8j4t1R.bucket,\n default9HMqfT.bucket,\n defaultxBXqFQ.bucket,\n ],\n keyPrefixLists: [\n \"/root\",\n \"/usr\",\n \"/123\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nbucket_random = default[\"result\"]\ndefault8j4t1_r = alicloud.oss.Bucket(\"default8j4t1R\",\n bucket=f\"{name}-1-{bucket_random}\",\n storage_class=\"Standard\")\ndefault9_h_mqf_t = alicloud.oss.Bucket(\"default9HMqfT\",\n bucket=f\"{name}-2-{bucket_random}\",\n storage_class=\"Standard\")\ndefaultx_b_xq_fq = alicloud.oss.Bucket(\"defaultxBXqFQ\",\n bucket=f\"{name}-3-{bucket_random}\",\n storage_class=\"Standard\")\ndefaulth_zv_cm_r = alicloud.oss.Bucket(\"defaulthZvCmR\",\n bucket=f\"{name}-4-{bucket_random}\",\n storage_class=\"Standard\")\ndefault_oss_scan_config = alicloud.threatdetection.OssScanConfig(\"default\",\n key_suffix_lists=[\n \".jsp\",\n \".php\",\n \".k\",\n ],\n scan_day_lists=[\n 2,\n 5,\n 4,\n 3,\n ],\n oss_scan_config_name=name,\n end_time=\"00:00:02\",\n start_time=\"00:00:01\",\n enable=1,\n all_key_prefix=False,\n bucket_name_lists=[\n default8j4t1_r.bucket,\n default9_h_mqf_t.bucket,\n defaultx_b_xq_fq.bucket,\n ],\n key_prefix_lists=[\n \"/root\",\n \"/usr\",\n \"/123\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var bucketRandom = @default.Result;\n\n var default8j4t1R = new AliCloud.Oss.Bucket(\"default8j4t1R\", new()\n {\n BucketName = $\"{name}-1-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var default9HMqfT = new AliCloud.Oss.Bucket(\"default9HMqfT\", new()\n {\n BucketName = $\"{name}-2-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaultxBXqFQ = new AliCloud.Oss.Bucket(\"defaultxBXqFQ\", new()\n {\n BucketName = $\"{name}-3-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaulthZvCmR = new AliCloud.Oss.Bucket(\"defaulthZvCmR\", new()\n {\n BucketName = $\"{name}-4-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaultOssScanConfig = new AliCloud.ThreatDetection.OssScanConfig(\"default\", new()\n {\n KeySuffixLists = new[]\n {\n \".jsp\",\n \".php\",\n \".k\",\n },\n ScanDayLists = new[]\n {\n 2,\n 5,\n 4,\n 3,\n },\n OssScanConfigName = name,\n EndTime = \"00:00:02\",\n StartTime = \"00:00:01\",\n Enable = 1,\n AllKeyPrefix = false,\n BucketNameLists = new[]\n {\n default8j4t1R.BucketName,\n default9HMqfT.BucketName,\n defaultxBXqFQ.BucketName,\n },\n KeyPrefixLists = new[]\n {\n \"/root\",\n \"/usr\",\n \"/123\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketRandom := _default.Result\n\t\tdefault8j4t1R, err := oss.NewBucket(ctx, \"default8j4t1R\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-1-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9HMqfT, err := oss.NewBucket(ctx, \"default9HMqfT\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-2-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultxBXqFQ, err := oss.NewBucket(ctx, \"defaultxBXqFQ\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-3-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"defaulthZvCmR\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-4-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewOssScanConfig(ctx, \"default\", \u0026threatdetection.OssScanConfigArgs{\n\t\t\tKeySuffixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\".jsp\"),\n\t\t\t\tpulumi.String(\".php\"),\n\t\t\t\tpulumi.String(\".k\"),\n\t\t\t},\n\t\t\tScanDayLists: pulumi.IntArray{\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(5),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tOssScanConfigName: pulumi.String(name),\n\t\t\tEndTime: pulumi.String(\"00:00:02\"),\n\t\t\tStartTime: pulumi.String(\"00:00:01\"),\n\t\t\tEnable: pulumi.Int(1),\n\t\t\tAllKeyPrefix: pulumi.Bool(false),\n\t\t\tBucketNameLists: pulumi.StringArray{\n\t\t\t\tdefault8j4t1R.Bucket,\n\t\t\t\tdefault9HMqfT.Bucket,\n\t\t\t\tdefaultxBXqFQ.Bucket,\n\t\t\t},\n\t\t\tKeyPrefixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/root\"),\n\t\t\t\tpulumi.String(\"/usr\"),\n\t\t\t\tpulumi.String(\"/123\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.threatdetection.OssScanConfig;\nimport com.pulumi.alicloud.threatdetection.OssScanConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var bucketRandom = default_.result();\n\n var default8j4t1R = new Bucket(\"default8j4t1R\", BucketArgs.builder()\n .bucket(String.format(\"%s-1-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var default9HMqfT = new Bucket(\"default9HMqfT\", BucketArgs.builder()\n .bucket(String.format(\"%s-2-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaultxBXqFQ = new Bucket(\"defaultxBXqFQ\", BucketArgs.builder()\n .bucket(String.format(\"%s-3-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaulthZvCmR = new Bucket(\"defaulthZvCmR\", BucketArgs.builder()\n .bucket(String.format(\"%s-4-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaultOssScanConfig = new OssScanConfig(\"defaultOssScanConfig\", OssScanConfigArgs.builder()\n .keySuffixLists( \n \".jsp\",\n \".php\",\n \".k\")\n .scanDayLists( \n 2,\n 5,\n 4,\n 3)\n .ossScanConfigName(name)\n .endTime(\"00:00:02\")\n .startTime(\"00:00:01\")\n .enable(1)\n .allKeyPrefix(false)\n .bucketNameLists( \n default8j4t1R.bucket(),\n default9HMqfT.bucket(),\n defaultxBXqFQ.bucket())\n .keyPrefixLists( \n \"/root\",\n \"/usr\",\n \"/123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n default8j4t1R:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-1-${bucketRandom}\n storageClass: Standard\n default9HMqfT:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-2-${bucketRandom}\n storageClass: Standard\n defaultxBXqFQ:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-3-${bucketRandom}\n storageClass: Standard\n defaulthZvCmR:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-4-${bucketRandom}\n storageClass: Standard\n defaultOssScanConfig:\n type: alicloud:threatdetection:OssScanConfig\n name: default\n properties:\n keySuffixLists:\n - .jsp\n - .php\n - .k\n scanDayLists:\n - '2'\n - '5'\n - '4'\n - '3'\n ossScanConfigName: ${name}\n endTime: 00:00:02\n startTime: 00:00:01\n enable: '1'\n allKeyPrefix: 'false'\n bucketNameLists:\n - ${default8j4t1R.bucket}\n - ${default9HMqfT.bucket}\n - ${defaultxBXqFQ.bucket}\n keyPrefixLists:\n - /root\n - /usr\n - /123\nvariables:\n bucketRandom: ${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Oss Scan Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/ossScanConfig:OssScanConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Oss Scan Config resource.\n\nOss detection configuration.\n\nFor information about Threat Detection Oss Scan Config and how to use it, see [What is Oss Scan Config](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createossscanconfig/).\n\n\u003e **NOTE:** Available since v1.214.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst bucketRandom = _default.result;\nconst default8j4t1R = new alicloud.oss.Bucket(\"default8j4t1R\", {\n bucket: `${name}-1-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst default9HMqfT = new alicloud.oss.Bucket(\"default9HMqfT\", {\n bucket: `${name}-2-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaultxBXqFQ = new alicloud.oss.Bucket(\"defaultxBXqFQ\", {\n bucket: `${name}-3-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaulthZvCmR = new alicloud.oss.Bucket(\"defaulthZvCmR\", {\n bucket: `${name}-4-${bucketRandom}`,\n storageClass: \"Standard\",\n});\nconst defaultOssScanConfig = new alicloud.threatdetection.OssScanConfig(\"default\", {\n keySuffixLists: [\n \".jsp\",\n \".php\",\n \".k\",\n ],\n scanDayLists: [\n 2,\n 5,\n 4,\n 3,\n ],\n ossScanConfigName: name,\n endTime: \"00:00:02\",\n startTime: \"00:00:01\",\n enable: 1,\n allKeyPrefix: false,\n bucketNameLists: [\n default8j4t1R.bucket,\n default9HMqfT.bucket,\n defaultxBXqFQ.bucket,\n ],\n keyPrefixLists: [\n \"/root\",\n \"/usr\",\n \"/123\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\nbucket_random = default[\"result\"]\ndefault8j4t1_r = alicloud.oss.Bucket(\"default8j4t1R\",\n bucket=f\"{name}-1-{bucket_random}\",\n storage_class=\"Standard\")\ndefault9_h_mqf_t = alicloud.oss.Bucket(\"default9HMqfT\",\n bucket=f\"{name}-2-{bucket_random}\",\n storage_class=\"Standard\")\ndefaultx_b_xq_fq = alicloud.oss.Bucket(\"defaultxBXqFQ\",\n bucket=f\"{name}-3-{bucket_random}\",\n storage_class=\"Standard\")\ndefaulth_zv_cm_r = alicloud.oss.Bucket(\"defaulthZvCmR\",\n bucket=f\"{name}-4-{bucket_random}\",\n storage_class=\"Standard\")\ndefault_oss_scan_config = alicloud.threatdetection.OssScanConfig(\"default\",\n key_suffix_lists=[\n \".jsp\",\n \".php\",\n \".k\",\n ],\n scan_day_lists=[\n 2,\n 5,\n 4,\n 3,\n ],\n oss_scan_config_name=name,\n end_time=\"00:00:02\",\n start_time=\"00:00:01\",\n enable=1,\n all_key_prefix=False,\n bucket_name_lists=[\n default8j4t1_r.bucket,\n default9_h_mqf_t.bucket,\n defaultx_b_xq_fq.bucket,\n ],\n key_prefix_lists=[\n \"/root\",\n \"/usr\",\n \"/123\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var bucketRandom = @default.Result;\n\n var default8j4t1R = new AliCloud.Oss.Bucket(\"default8j4t1R\", new()\n {\n BucketName = $\"{name}-1-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var default9HMqfT = new AliCloud.Oss.Bucket(\"default9HMqfT\", new()\n {\n BucketName = $\"{name}-2-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaultxBXqFQ = new AliCloud.Oss.Bucket(\"defaultxBXqFQ\", new()\n {\n BucketName = $\"{name}-3-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaulthZvCmR = new AliCloud.Oss.Bucket(\"defaulthZvCmR\", new()\n {\n BucketName = $\"{name}-4-{bucketRandom}\",\n StorageClass = \"Standard\",\n });\n\n var defaultOssScanConfig = new AliCloud.ThreatDetection.OssScanConfig(\"default\", new()\n {\n KeySuffixLists = new[]\n {\n \".jsp\",\n \".php\",\n \".k\",\n },\n ScanDayLists = new[]\n {\n 2,\n 5,\n 4,\n 3,\n },\n OssScanConfigName = name,\n EndTime = \"00:00:02\",\n StartTime = \"00:00:01\",\n Enable = 1,\n AllKeyPrefix = false,\n BucketNameLists = new[]\n {\n default8j4t1R.BucketName,\n default9HMqfT.BucketName,\n defaultxBXqFQ.BucketName,\n },\n KeyPrefixLists = new[]\n {\n \"/root\",\n \"/usr\",\n \"/123\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketRandom := _default.Result\n\t\tdefault8j4t1R, err := oss.NewBucket(ctx, \"default8j4t1R\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-1-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault9HMqfT, err := oss.NewBucket(ctx, \"default9HMqfT\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-2-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultxBXqFQ, err := oss.NewBucket(ctx, \"defaultxBXqFQ\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-3-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = oss.NewBucket(ctx, \"defaulthZvCmR\", \u0026oss.BucketArgs{\n\t\t\tBucket: pulumi.Sprintf(\"%v-4-%v\", name, bucketRandom),\n\t\t\tStorageClass: pulumi.String(\"Standard\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewOssScanConfig(ctx, \"default\", \u0026threatdetection.OssScanConfigArgs{\n\t\t\tKeySuffixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\".jsp\"),\n\t\t\t\tpulumi.String(\".php\"),\n\t\t\t\tpulumi.String(\".k\"),\n\t\t\t},\n\t\t\tScanDayLists: pulumi.IntArray{\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(5),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tOssScanConfigName: pulumi.String(name),\n\t\t\tEndTime: pulumi.String(\"00:00:02\"),\n\t\t\tStartTime: pulumi.String(\"00:00:01\"),\n\t\t\tEnable: pulumi.Int(1),\n\t\t\tAllKeyPrefix: pulumi.Bool(false),\n\t\t\tBucketNameLists: pulumi.StringArray{\n\t\t\t\tdefault8j4t1R.Bucket,\n\t\t\t\tdefault9HMqfT.Bucket,\n\t\t\t\tdefaultxBXqFQ.Bucket,\n\t\t\t},\n\t\t\tKeyPrefixLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/root\"),\n\t\t\t\tpulumi.String(\"/usr\"),\n\t\t\t\tpulumi.String(\"/123\"),\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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.oss.Bucket;\nimport com.pulumi.alicloud.oss.BucketArgs;\nimport com.pulumi.alicloud.threatdetection.OssScanConfig;\nimport com.pulumi.alicloud.threatdetection.OssScanConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n final var bucketRandom = default_.result();\n\n var default8j4t1R = new Bucket(\"default8j4t1R\", BucketArgs.builder()\n .bucket(String.format(\"%s-1-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var default9HMqfT = new Bucket(\"default9HMqfT\", BucketArgs.builder()\n .bucket(String.format(\"%s-2-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaultxBXqFQ = new Bucket(\"defaultxBXqFQ\", BucketArgs.builder()\n .bucket(String.format(\"%s-3-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaulthZvCmR = new Bucket(\"defaulthZvCmR\", BucketArgs.builder()\n .bucket(String.format(\"%s-4-%s\", name,bucketRandom))\n .storageClass(\"Standard\")\n .build());\n\n var defaultOssScanConfig = new OssScanConfig(\"defaultOssScanConfig\", OssScanConfigArgs.builder()\n .keySuffixLists( \n \".jsp\",\n \".php\",\n \".k\")\n .scanDayLists( \n 2,\n 5,\n 4,\n 3)\n .ossScanConfigName(name)\n .endTime(\"00:00:02\")\n .startTime(\"00:00:01\")\n .enable(1)\n .allKeyPrefix(false)\n .bucketNameLists( \n default8j4t1R.bucket(),\n default9HMqfT.bucket(),\n defaultxBXqFQ.bucket())\n .keyPrefixLists( \n \"/root\",\n \"/usr\",\n \"/123\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n default8j4t1R:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-1-${bucketRandom}\n storageClass: Standard\n default9HMqfT:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-2-${bucketRandom}\n storageClass: Standard\n defaultxBXqFQ:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-3-${bucketRandom}\n storageClass: Standard\n defaulthZvCmR:\n type: alicloud:oss:Bucket\n properties:\n bucket: ${name}-4-${bucketRandom}\n storageClass: Standard\n defaultOssScanConfig:\n type: alicloud:threatdetection:OssScanConfig\n name: default\n properties:\n keySuffixLists:\n - .jsp\n - .php\n - .k\n scanDayLists:\n - '2'\n - '5'\n - '4'\n - '3'\n ossScanConfigName: ${name}\n endTime: 00:00:02\n startTime: 00:00:01\n enable: '1'\n allKeyPrefix: 'false'\n bucketNameLists:\n - ${default8j4t1R.bucket}\n - ${default9HMqfT.bucket}\n - ${defaultxBXqFQ.bucket}\n keyPrefixLists:\n - /root\n - /usr\n - /123\nvariables:\n bucketRandom: ${default.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Oss Scan Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/ossScanConfig:OssScanConfig example \u003cid\u003e\n```\n\n", "properties": { "allKeyPrefix": { "type": "boolean", @@ -258102,7 +263968,7 @@ } }, "alicloud:threatdetection/sasTrail:SasTrail": { - "description": "Provides a Threat Detection Sas Trail resource. \n\nFor information about Threat Detection Sas Trail and how to use it, see [What is Sas Trail](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createservicetrail).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.SasTrail(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.SasTrail(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.SasTrail(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewSasTrail(ctx, \"default\", 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.alicloud.threatdetection.SasTrail;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SasTrail(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:SasTrail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Sas Trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/sasTrail:SasTrail example \n```\n\n", + "description": "Provides a Threat Detection Sas Trail resource. \n\nFor information about Threat Detection Sas Trail and how to use it, see [What is Sas Trail](https://www.alibabacloud.com/help/zh/security-center/developer-reference/api-sas-2018-12-03-createservicetrail).\n\n\u003e **NOTE:** Available since v1.212.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.threatdetection.SasTrail(\"default\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.threatdetection.SasTrail(\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.ThreatDetection.SasTrail(\"default\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := threatdetection.NewSasTrail(ctx, \"default\", 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.alicloud.threatdetection.SasTrail;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new SasTrail(\"default\");\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:threatdetection:SasTrail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Sas Trail can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/sasTrail:SasTrail example \n```\n\n", "properties": { "createTime": { "type": "integer", @@ -258133,7 +263999,7 @@ } }, "alicloud:threatdetection/vulWhitelist:VulWhitelist": { - "description": "Provides a Threat Detection Vul Whitelist resource.\n\nFor information about Threat Detection Vul Whitelist and how to use it, see [What is Vul Whitelist](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-modifycreatevulwhitelist).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.VulWhitelist(\"default\", {\n whitelist: \"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n targetInfo: \"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n reason: \"tf-example-reason\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.VulWhitelist(\"default\",\n whitelist=\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n target_info=\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n reason=\"tf-example-reason\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.VulWhitelist(\"default\", new()\n {\n Whitelist = \"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n TargetInfo = \"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n Reason = \"tf-example-reason\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewVulWhitelist(ctx, \"default\", \u0026threatdetection.VulWhitelistArgs{\n\t\t\tWhitelist: pulumi.String(\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\"),\n\t\t\tTargetInfo: pulumi.String(\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\"),\n\t\t\tReason: pulumi.String(\"tf-example-reason\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.VulWhitelist;\nimport com.pulumi.alicloud.threatdetection.VulWhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VulWhitelist(\"default\", VulWhitelistArgs.builder()\n .whitelist(\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\")\n .targetInfo(\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\")\n .reason(\"tf-example-reason\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:VulWhitelist\n properties:\n whitelist: '[{\"aliasName\":\"RHSA-2021:2260: libwebp 安全更新\",\"name\":\"RHSA-2021:2260: libwebp 安全更新\",\"type\":\"cve\"}]'\n targetInfo: '{\"type\":\"GroupId\",\"uuids\":[],\"groupIds\":[10782678]}'\n reason: tf-example-reason\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Vul Whitelist can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/vulWhitelist:VulWhitelist example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Vul Whitelist resource.\n\nFor information about Threat Detection Vul Whitelist and how to use it, see [What is Vul Whitelist](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-modifycreatevulwhitelist).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.threatdetection.VulWhitelist(\"default\", {\n whitelist: \"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n targetInfo: \"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n reason: \"tf-example-reason\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.VulWhitelist(\"default\",\n whitelist=\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n target_info=\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n reason=\"tf-example-reason\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.ThreatDetection.VulWhitelist(\"default\", new()\n {\n Whitelist = \"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\",\n TargetInfo = \"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\",\n Reason = \"tf-example-reason\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := threatdetection.NewVulWhitelist(ctx, \"default\", \u0026threatdetection.VulWhitelistArgs{\n\t\t\tWhitelist: pulumi.String(\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\"),\n\t\t\tTargetInfo: pulumi.String(\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\"),\n\t\t\tReason: pulumi.String(\"tf-example-reason\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.VulWhitelist;\nimport com.pulumi.alicloud.threatdetection.VulWhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new VulWhitelist(\"default\", VulWhitelistArgs.builder()\n .whitelist(\"[{\\\"aliasName\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"name\\\":\\\"RHSA-2021:2260: libwebp 安全更新\\\",\\\"type\\\":\\\"cve\\\"}]\")\n .targetInfo(\"{\\\"type\\\":\\\"GroupId\\\",\\\"uuids\\\":[],\\\"groupIds\\\":[10782678]}\")\n .reason(\"tf-example-reason\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:threatdetection:VulWhitelist\n properties:\n whitelist: '[{\"aliasName\":\"RHSA-2021:2260: libwebp 安全更新\",\"name\":\"RHSA-2021:2260: libwebp 安全更新\",\"type\":\"cve\"}]'\n targetInfo: '{\"type\":\"GroupId\",\"uuids\":[],\"groupIds\":[10782678]}'\n reason: tf-example-reason\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Vul Whitelist can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/vulWhitelist:VulWhitelist example \u003cid\u003e\n```\n\n", "properties": { "reason": { "type": "string", @@ -258190,7 +264056,7 @@ } }, "alicloud:threatdetection/webLockConfig:WebLockConfig": { - "description": "Provides a Threat Detection Web Lock Config resource.\n\nFor information about Threat Detection Web Lock Config and how to use it, see [What is Web Lock Config](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-modifyweblockstart).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getAssets({\n machineTypes: \"ecs\",\n});\nconst defaultWebLockConfig = new alicloud.threatdetection.WebLockConfig(\"default\", {\n inclusiveFileType: \"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n uuid: _default.then(_default =\u003e _default.ids?.[0]),\n mode: \"whitelist\",\n localBackupDir: \"/usr/local/aegis/bak\",\n dir: \"/tmp/\",\n defenceMode: \"audit\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_assets(machine_types=\"ecs\")\ndefault_web_lock_config = alicloud.threatdetection.WebLockConfig(\"default\",\n inclusive_file_type=\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n uuid=default.ids[0],\n mode=\"whitelist\",\n local_backup_dir=\"/usr/local/aegis/bak\",\n dir=\"/tmp/\",\n defence_mode=\"audit\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetAssets.Invoke(new()\n {\n MachineTypes = \"ecs\",\n });\n\n var defaultWebLockConfig = new AliCloud.ThreatDetection.WebLockConfig(\"default\", new()\n {\n InclusiveFileType = \"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n Uuid = @default.Apply(@default =\u003e @default.Apply(getAssetsResult =\u003e getAssetsResult.Ids[0])),\n Mode = \"whitelist\",\n LocalBackupDir = \"/usr/local/aegis/bak\",\n Dir = \"/tmp/\",\n DefenceMode = \"audit\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetAssets(ctx, \u0026threatdetection.GetAssetsArgs{\n\t\t\tMachineTypes: pulumi.StringRef(\"ecs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewWebLockConfig(ctx, \"default\", \u0026threatdetection.WebLockConfigArgs{\n\t\t\tInclusiveFileType: pulumi.String(\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\"),\n\t\t\tUuid: pulumi.String(_default.Ids[0]),\n\t\t\tMode: pulumi.String(\"whitelist\"),\n\t\t\tLocalBackupDir: pulumi.String(\"/usr/local/aegis/bak\"),\n\t\t\tDir: pulumi.String(\"/tmp/\"),\n\t\t\tDefenceMode: pulumi.String(\"audit\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetAssetsArgs;\nimport com.pulumi.alicloud.threatdetection.WebLockConfig;\nimport com.pulumi.alicloud.threatdetection.WebLockConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getAssets(GetAssetsArgs.builder()\n .machineTypes(\"ecs\")\n .build());\n\n var defaultWebLockConfig = new WebLockConfig(\"defaultWebLockConfig\", WebLockConfigArgs.builder()\n .inclusiveFileType(\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\")\n .uuid(default_.ids()[0])\n .mode(\"whitelist\")\n .localBackupDir(\"/usr/local/aegis/bak\")\n .dir(\"/tmp/\")\n .defenceMode(\"audit\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultWebLockConfig:\n type: alicloud:threatdetection:WebLockConfig\n name: default\n properties:\n inclusiveFileType: php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\n uuid: ${default.ids[0]}\n mode: whitelist\n localBackupDir: /usr/local/aegis/bak\n dir: /tmp/\n defenceMode: audit\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getAssets\n arguments:\n machineTypes: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThreat Detection Web Lock Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/webLockConfig:WebLockConfig example \u003cid\u003e\n```\n\n", + "description": "Provides a Threat Detection Web Lock Config resource.\n\nFor information about Threat Detection Web Lock Config and how to use it, see [What is Web Lock Config](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-modifyweblockstart).\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getAssets({\n machineTypes: \"ecs\",\n});\nconst defaultWebLockConfig = new alicloud.threatdetection.WebLockConfig(\"default\", {\n inclusiveFileType: \"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n uuid: _default.then(_default =\u003e _default.ids?.[0]),\n mode: \"whitelist\",\n localBackupDir: \"/usr/local/aegis/bak\",\n dir: \"/tmp/\",\n defenceMode: \"audit\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_assets(machine_types=\"ecs\")\ndefault_web_lock_config = alicloud.threatdetection.WebLockConfig(\"default\",\n inclusive_file_type=\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n uuid=default.ids[0],\n mode=\"whitelist\",\n local_backup_dir=\"/usr/local/aegis/bak\",\n dir=\"/tmp/\",\n defence_mode=\"audit\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetAssets.Invoke(new()\n {\n MachineTypes = \"ecs\",\n });\n\n var defaultWebLockConfig = new AliCloud.ThreatDetection.WebLockConfig(\"default\", new()\n {\n InclusiveFileType = \"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\",\n Uuid = @default.Apply(@default =\u003e @default.Apply(getAssetsResult =\u003e getAssetsResult.Ids[0])),\n Mode = \"whitelist\",\n LocalBackupDir = \"/usr/local/aegis/bak\",\n Dir = \"/tmp/\",\n DefenceMode = \"audit\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetAssets(ctx, \u0026threatdetection.GetAssetsArgs{\n\t\t\tMachineTypes: pulumi.StringRef(\"ecs\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = threatdetection.NewWebLockConfig(ctx, \"default\", \u0026threatdetection.WebLockConfigArgs{\n\t\t\tInclusiveFileType: pulumi.String(\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\"),\n\t\t\tUuid: pulumi.String(_default.Ids[0]),\n\t\t\tMode: pulumi.String(\"whitelist\"),\n\t\t\tLocalBackupDir: pulumi.String(\"/usr/local/aegis/bak\"),\n\t\t\tDir: pulumi.String(\"/tmp/\"),\n\t\t\tDefenceMode: pulumi.String(\"audit\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetAssetsArgs;\nimport com.pulumi.alicloud.threatdetection.WebLockConfig;\nimport com.pulumi.alicloud.threatdetection.WebLockConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getAssets(GetAssetsArgs.builder()\n .machineTypes(\"ecs\")\n .build());\n\n var defaultWebLockConfig = new WebLockConfig(\"defaultWebLockConfig\", WebLockConfigArgs.builder()\n .inclusiveFileType(\"php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\")\n .uuid(default_.ids()[0])\n .mode(\"whitelist\")\n .localBackupDir(\"/usr/local/aegis/bak\")\n .dir(\"/tmp/\")\n .defenceMode(\"audit\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultWebLockConfig:\n type: alicloud:threatdetection:WebLockConfig\n name: default\n properties:\n inclusiveFileType: php;jsp;asp;aspx;js;cgi;html;htm;xml;shtml;shtm;jpg\n uuid: ${default.ids[0]}\n mode: whitelist\n localBackupDir: /usr/local/aegis/bak\n dir: /tmp/\n defenceMode: audit\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getAssets\n arguments:\n machineTypes: ecs\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThreat Detection Web Lock Config can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:threatdetection/webLockConfig:WebLockConfig example \u003cid\u003e\n```\n\n", "properties": { "defenceMode": { "type": "string", @@ -258343,7 +264209,7 @@ } }, "alicloud:tsdb/instance:Instance": { - "description": "Provides a Time Series Database (TSDB) Instance resource.\n\nFor information about Time Series Database (TSDB) Instance and how to use it, see [What is Time Series Database (TSDB)](https://www.alibabacloud.com/help/en/doc-detail/55652.htm).\n\n\u003e **NOTE:** Available since v1.112.0.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/en/notice/0313tsdb?_p_lc=1) from version `1.223.1`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.tsdb.getZones({});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n cidrBlock: \"192.168.0.0/16\",\n name: \"tf-testaccTsdbInstance\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n availabilityZone: example.then(example =\u003e example.ids?.[0]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.tsdb.Instance(\"example\", {\n paymentType: \"PayAsYouGo\",\n vswitchId: exampleSwitch.id,\n instanceStorage: \"50\",\n instanceClass: \"tsdb.1x.basic\",\n engineType: \"tsdb_tsdb\",\n instanceAlias: \"tf-testaccTsdbInstance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.tsdb.get_zones()\nexample_network = alicloud.vpc.Network(\"example\",\n cidr_block=\"192.168.0.0/16\",\n name=\"tf-testaccTsdbInstance\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n availability_zone=example.ids[0],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example_network.id)\nexample_instance = alicloud.tsdb.Instance(\"example\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=example_switch.id,\n instance_storage=\"50\",\n instance_class=\"tsdb.1x.basic\",\n engine_type=\"tsdb_tsdb\",\n instance_alias=\"tf-testaccTsdbInstance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Tsdb.GetZones.Invoke();\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n Name = \"tf-testaccTsdbInstance\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Tsdb.Instance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n VswitchId = exampleSwitch.Id,\n InstanceStorage = \"50\",\n InstanceClass = \"tsdb.1x.basic\",\n EngineType = \"tsdb_tsdb\",\n InstanceAlias = \"tf-testaccTsdbInstance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tsdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := tsdb.GetZones(ctx, \u0026tsdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tName: pulumi.String(\"tf-testaccTsdbInstance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Ids[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tsdb.NewInstance(ctx, \"example\", \u0026tsdb.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tInstanceStorage: pulumi.String(\"50\"),\n\t\t\tInstanceClass: pulumi.String(\"tsdb.1x.basic\"),\n\t\t\tEngineType: pulumi.String(\"tsdb_tsdb\"),\n\t\t\tInstanceAlias: pulumi.String(\"tf-testaccTsdbInstance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.tsdb.TsdbFunctions;\nimport com.pulumi.alicloud.tsdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.tsdb.Instance;\nimport com.pulumi.alicloud.tsdb.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 example = TsdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .name(\"tf-testaccTsdbInstance\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .availabilityZone(example.ids()[0])\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .vswitchId(exampleSwitch.id())\n .instanceStorage(\"50\")\n .instanceClass(\"tsdb.1x.basic\")\n .engineType(\"tsdb_tsdb\")\n .instanceAlias(\"tf-testaccTsdbInstance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n cidrBlock: 192.168.0.0/16\n name: tf-testaccTsdbInstance\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n availabilityZone: ${example.ids[0]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:tsdb:Instance\n name: example\n properties:\n paymentType: PayAsYouGo\n vswitchId: ${exampleSwitch.id}\n instanceStorage: '50'\n instanceClass: tsdb.1x.basic\n engineType: tsdb_tsdb\n instanceAlias: tf-testaccTsdbInstance\nvariables:\n example:\n fn::invoke:\n function: alicloud:tsdb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTSDB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tsdb/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Time Series Database (TSDB) Instance resource.\n\nFor information about Time Series Database (TSDB) Instance and how to use it, see [What is Time Series Database (TSDB)](https://www.alibabacloud.com/help/en/doc-detail/55652.htm).\n\n\u003e **NOTE:** Available since v1.112.0.\n\n\u003e **DEPRECATED:** This resource has been [deprecated](https://www.alibabacloud.com/en/notice/0313tsdb?_p_lc=1) from version `1.223.1`.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.tsdb.getZones({});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n cidrBlock: \"192.168.0.0/16\",\n name: \"tf-testaccTsdbInstance\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n availabilityZone: example.then(example =\u003e example.ids?.[0]),\n cidrBlock: \"192.168.1.0/24\",\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.tsdb.Instance(\"example\", {\n paymentType: \"PayAsYouGo\",\n vswitchId: exampleSwitch.id,\n instanceStorage: \"50\",\n instanceClass: \"tsdb.1x.basic\",\n engineType: \"tsdb_tsdb\",\n instanceAlias: \"tf-testaccTsdbInstance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.tsdb.get_zones()\nexample_network = alicloud.vpc.Network(\"example\",\n cidr_block=\"192.168.0.0/16\",\n name=\"tf-testaccTsdbInstance\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n availability_zone=example.ids[0],\n cidr_block=\"192.168.1.0/24\",\n vpc_id=example_network.id)\nexample_instance = alicloud.tsdb.Instance(\"example\",\n payment_type=\"PayAsYouGo\",\n vswitch_id=example_switch.id,\n instance_storage=\"50\",\n instance_class=\"tsdb.1x.basic\",\n engine_type=\"tsdb_tsdb\",\n instance_alias=\"tf-testaccTsdbInstance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.Tsdb.GetZones.Invoke();\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n Name = \"tf-testaccTsdbInstance\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n AvailabilityZone = example.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n CidrBlock = \"192.168.1.0/24\",\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Tsdb.Instance(\"example\", new()\n {\n PaymentType = \"PayAsYouGo\",\n VswitchId = exampleSwitch.Id,\n InstanceStorage = \"50\",\n InstanceClass = \"tsdb.1x.basic\",\n EngineType = \"tsdb_tsdb\",\n InstanceAlias = \"tf-testaccTsdbInstance\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/tsdb\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := tsdb.GetZones(ctx, \u0026tsdb.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tName: pulumi.String(\"tf-testaccTsdbInstance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tAvailabilityZone: pulumi.String(example.Ids[0]),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = tsdb.NewInstance(ctx, \"example\", \u0026tsdb.InstanceArgs{\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tInstanceStorage: pulumi.String(\"50\"),\n\t\t\tInstanceClass: pulumi.String(\"tsdb.1x.basic\"),\n\t\t\tEngineType: pulumi.String(\"tsdb_tsdb\"),\n\t\t\tInstanceAlias: pulumi.String(\"tf-testaccTsdbInstance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.tsdb.TsdbFunctions;\nimport com.pulumi.alicloud.tsdb.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.tsdb.Instance;\nimport com.pulumi.alicloud.tsdb.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 example = TsdbFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .name(\"tf-testaccTsdbInstance\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .availabilityZone(example.ids()[0])\n .cidrBlock(\"192.168.1.0/24\")\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .paymentType(\"PayAsYouGo\")\n .vswitchId(exampleSwitch.id())\n .instanceStorage(\"50\")\n .instanceClass(\"tsdb.1x.basic\")\n .engineType(\"tsdb_tsdb\")\n .instanceAlias(\"tf-testaccTsdbInstance\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n cidrBlock: 192.168.0.0/16\n name: tf-testaccTsdbInstance\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n availabilityZone: ${example.ids[0]}\n cidrBlock: 192.168.1.0/24\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:tsdb:Instance\n name: example\n properties:\n paymentType: PayAsYouGo\n vswitchId: ${exampleSwitch.id}\n instanceStorage: '50'\n instanceClass: tsdb.1x.basic\n engineType: tsdb_tsdb\n instanceAlias: tf-testaccTsdbInstance\nvariables:\n example:\n fn::invoke:\n function: alicloud:tsdb:getZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nTSDB Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:tsdb/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "appKey": { "type": "string", @@ -258510,7 +264376,7 @@ } }, "alicloud:videosurveillance/systemGroup:SystemGroup": { - "description": "Provides a Video Surveillance System Group resource.\n\nFor information about Video Surveillance System Group and how to use it, see [What is Group](https://help.aliyun.com/product/108765.html).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.videosurveillance.SystemGroup(\"default\", {\n groupName: \"your_group_name\",\n inProtocol: \"rtmp\",\n outProtocol: \"flv\",\n playDomain: \"your_plan_domain\",\n pushDomain: \"your_push_domain\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.videosurveillance.SystemGroup(\"default\",\n group_name=\"your_group_name\",\n in_protocol=\"rtmp\",\n out_protocol=\"flv\",\n play_domain=\"your_plan_domain\",\n push_domain=\"your_push_domain\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.VideoSurveillance.SystemGroup(\"default\", new()\n {\n GroupName = \"your_group_name\",\n InProtocol = \"rtmp\",\n OutProtocol = \"flv\",\n PlayDomain = \"your_plan_domain\",\n PushDomain = \"your_push_domain\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/videosurveillance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := videosurveillance.NewSystemGroup(ctx, \"default\", \u0026videosurveillance.SystemGroupArgs{\n\t\t\tGroupName: pulumi.String(\"your_group_name\"),\n\t\t\tInProtocol: pulumi.String(\"rtmp\"),\n\t\t\tOutProtocol: pulumi.String(\"flv\"),\n\t\t\tPlayDomain: pulumi.String(\"your_plan_domain\"),\n\t\t\tPushDomain: pulumi.String(\"your_push_domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.videosurveillance.SystemGroup;\nimport com.pulumi.alicloud.videosurveillance.SystemGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SystemGroup(\"default\", SystemGroupArgs.builder()\n .groupName(\"your_group_name\")\n .inProtocol(\"rtmp\")\n .outProtocol(\"flv\")\n .playDomain(\"your_plan_domain\")\n .pushDomain(\"your_push_domain\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:videosurveillance:SystemGroup\n properties:\n groupName: your_group_name\n inProtocol: rtmp\n outProtocol: flv\n playDomain: your_plan_domain\n pushDomain: your_push_domain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVideo Surveillance System Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:videosurveillance/systemGroup:SystemGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Video Surveillance System Group resource.\n\nFor information about Video Surveillance System Group and how to use it, see [What is Group](https://help.aliyun.com/product/108765.html).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.videosurveillance.SystemGroup(\"default\", {\n groupName: \"your_group_name\",\n inProtocol: \"rtmp\",\n outProtocol: \"flv\",\n playDomain: \"your_plan_domain\",\n pushDomain: \"your_push_domain\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.videosurveillance.SystemGroup(\"default\",\n group_name=\"your_group_name\",\n in_protocol=\"rtmp\",\n out_protocol=\"flv\",\n play_domain=\"your_plan_domain\",\n push_domain=\"your_push_domain\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.VideoSurveillance.SystemGroup(\"default\", new()\n {\n GroupName = \"your_group_name\",\n InProtocol = \"rtmp\",\n OutProtocol = \"flv\",\n PlayDomain = \"your_plan_domain\",\n PushDomain = \"your_push_domain\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/videosurveillance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := videosurveillance.NewSystemGroup(ctx, \"default\", \u0026videosurveillance.SystemGroupArgs{\n\t\t\tGroupName: pulumi.String(\"your_group_name\"),\n\t\t\tInProtocol: pulumi.String(\"rtmp\"),\n\t\t\tOutProtocol: pulumi.String(\"flv\"),\n\t\t\tPlayDomain: pulumi.String(\"your_plan_domain\"),\n\t\t\tPushDomain: pulumi.String(\"your_push_domain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.videosurveillance.SystemGroup;\nimport com.pulumi.alicloud.videosurveillance.SystemGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SystemGroup(\"default\", SystemGroupArgs.builder()\n .groupName(\"your_group_name\")\n .inProtocol(\"rtmp\")\n .outProtocol(\"flv\")\n .playDomain(\"your_plan_domain\")\n .pushDomain(\"your_push_domain\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:videosurveillance:SystemGroup\n properties:\n groupName: your_group_name\n inProtocol: rtmp\n outProtocol: flv\n playDomain: your_plan_domain\n pushDomain: your_push_domain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVideo Surveillance System Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:videosurveillance/systemGroup:SystemGroup example \u003cid\u003e\n```\n\n", "properties": { "callback": { "type": "string", @@ -258699,7 +264565,7 @@ } }, "alicloud:vod/domain:Domain": { - "description": "Provides a VOD Domain resource.\n\nFor information about VOD Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/product/29932.html).\n\n\u003e **NOTE:** Available since v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDomain = new alicloud.vod.Domain(\"default\", {\n domainName: `example-${_default.result}.com`,\n scope: \"domestic\",\n sources: [{\n sourceType: \"domain\",\n sourceContent: \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n sourcePort: \"443\",\n }],\n tags: {\n Created: \"terraform\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_domain = alicloud.vod.Domain(\"default\",\n domain_name=f\"example-{default['result']}.com\",\n scope=\"domestic\",\n sources=[{\n \"source_type\": \"domain\",\n \"source_content\": \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n \"source_port\": \"443\",\n }],\n tags={\n \"Created\": \"terraform\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDomain = new AliCloud.Vod.Domain(\"default\", new()\n {\n DomainName = $\"example-{@default.Result}.com\",\n Scope = \"domestic\",\n Sources = new[]\n {\n new AliCloud.Vod.Inputs.DomainSourceArgs\n {\n SourceType = \"domain\",\n SourceContent = \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n SourcePort = \"443\",\n },\n },\n Tags = \n {\n { \"Created\", \"terraform\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vod\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vod.NewDomain(ctx, \"default\", \u0026vod.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example-%v.com\", _default.Result),\n\t\t\tScope: pulumi.String(\"domestic\"),\n\t\t\tSources: vod.DomainSourceArray{\n\t\t\t\t\u0026vod.DomainSourceArgs{\n\t\t\t\t\tSourceType: pulumi.String(\"domain\"),\n\t\t\t\t\tSourceContent: pulumi.String(\"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\"),\n\t\t\t\t\tSourcePort: pulumi.String(\"443\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"terraform\"),\n\t\t\t\t\"For\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vod.Domain;\nimport com.pulumi.alicloud.vod.DomainArgs;\nimport com.pulumi.alicloud.vod.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domainName(String.format(\"example-%s.com\", default_.result()))\n .scope(\"domestic\")\n .sources(DomainSourceArgs.builder()\n .sourceType(\"domain\")\n .sourceContent(\"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\")\n .sourcePort(\"443\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"terraform\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDomain:\n type: alicloud:vod:Domain\n name: default\n properties:\n domainName: example-${default.result}.com\n scope: domestic\n sources:\n - sourceType: domain\n sourceContent: outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\n sourcePort: '443'\n tags:\n Created: terraform\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVOD Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vod/domain:Domain example \u003cdomain_name\u003e\n```\n\n", + "description": "Provides a VOD Domain resource.\n\nFor information about VOD Domain and how to use it, see [What is Domain](https://www.alibabacloud.com/help/product/29932.html).\n\n\u003e **NOTE:** Available since v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst _default = new random.index.Integer(\"default\", {\n min: 10000,\n max: 99999,\n});\nconst defaultDomain = new alicloud.vod.Domain(\"default\", {\n domainName: `example-${_default.result}.com`,\n scope: \"domestic\",\n sources: [{\n sourceType: \"domain\",\n sourceContent: \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n sourcePort: \"443\",\n }],\n tags: {\n Created: \"terraform\",\n For: \"example\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\ndefault = random.index.Integer(\"default\",\n min=10000,\n max=99999)\ndefault_domain = alicloud.vod.Domain(\"default\",\n domain_name=f\"example-{default['result']}.com\",\n scope=\"domestic\",\n sources=[{\n \"source_type\": \"domain\",\n \"source_content\": \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n \"source_port\": \"443\",\n }],\n tags={\n \"Created\": \"terraform\",\n \"For\": \"example\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Random.Index.Integer(\"default\", new()\n {\n Min = 10000,\n Max = 99999,\n });\n\n var defaultDomain = new AliCloud.Vod.Domain(\"default\", new()\n {\n DomainName = $\"example-{@default.Result}.com\",\n Scope = \"domestic\",\n Sources = new[]\n {\n new AliCloud.Vod.Inputs.DomainSourceArgs\n {\n SourceType = \"domain\",\n SourceContent = \"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\",\n SourcePort = \"443\",\n },\n },\n Tags = \n {\n { \"Created\", \"terraform\" },\n { \"For\", \"example\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vod\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 10000,\n\t\t\tMax: 99999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vod.NewDomain(ctx, \"default\", \u0026vod.DomainArgs{\n\t\t\tDomainName: pulumi.Sprintf(\"example-%v.com\", _default.Result),\n\t\t\tScope: pulumi.String(\"domestic\"),\n\t\t\tSources: vod.DomainSourceArray{\n\t\t\t\t\u0026vod.DomainSourceArgs{\n\t\t\t\t\tSourceType: pulumi.String(\"domain\"),\n\t\t\t\t\tSourceContent: pulumi.String(\"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\"),\n\t\t\t\t\tSourcePort: pulumi.String(\"443\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"terraform\"),\n\t\t\t\t\"For\": pulumi.String(\"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.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.vod.Domain;\nimport com.pulumi.alicloud.vod.DomainArgs;\nimport com.pulumi.alicloud.vod.inputs.DomainSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Integer(\"default\", IntegerArgs.builder()\n .min(10000)\n .max(99999)\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domainName(String.format(\"example-%s.com\", default_.result()))\n .scope(\"domestic\")\n .sources(DomainSourceArgs.builder()\n .sourceType(\"domain\")\n .sourceContent(\"outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\")\n .sourcePort(\"443\")\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"terraform\"),\n Map.entry(\"For\", \"example\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: random:Integer\n properties:\n min: 10000\n max: 99999\n defaultDomain:\n type: alicloud:vod:Domain\n name: default\n properties:\n domainName: example-${default.result}.com\n scope: domestic\n sources:\n - sourceType: domain\n sourceContent: outin-c7405446108111ec9a7100163e0eb78b.oss-cn-beijing.aliyuncs.com\n sourcePort: '443'\n tags:\n Created: terraform\n For: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVOD Domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vod/domain:Domain example \u003cdomain_name\u003e\n```\n\n", "properties": { "certName": { "type": "string", @@ -258895,7 +264761,7 @@ } }, "alicloud:vod/editingProject:EditingProject": { - "description": "Provides a VOD Editing Project resource.\n\nFor information about VOD Editing Project and how to use it, see [What is Editing Project](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/addeditingproject#doc-api-vod-AddEditingProject).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vod.EditingProject(\"example\", {\n editingProjectName: name,\n title: name,\n timeline: ` {\n \\\\\"VideoTracks\\\\\":[\n {\n \\\\\"VideoTrackClips\\\\\":[\n {\n \\\\\"MediaId\\\\\":\\\\\"0c60e6f02dae71edbfaa472190a90102\\\\\",\n \\\\\"In\\\\\":2811\n }\n ]\n }\n ]\n }\n`,\n coverUrl: \"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n division: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vod.EditingProject(\"example\",\n editing_project_name=name,\n title=name,\n timeline=\"\"\" {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n\"\"\",\n cover_url=\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n division=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vod.EditingProject(\"example\", new()\n {\n EditingProjectName = name,\n Title = name,\n Timeline = @\" {\n \\\"\"VideoTracks\\\"\":[\n {\n \\\"\"VideoTrackClips\\\"\":[\n {\n \\\"\"MediaId\\\"\":\\\"\"0c60e6f02dae71edbfaa472190a90102\\\"\",\n \\\"\"In\\\"\":2811\n }\n ]\n }\n ]\n }\n\",\n CoverUrl = \"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n Division = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vod\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vod.NewEditingProject(ctx, \"example\", \u0026vod.EditingProjectArgs{\n\t\t\tEditingProjectName: pulumi.String(name),\n\t\t\tTitle: pulumi.String(name),\n\t\t\tTimeline: pulumi.String(` {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n`),\n\t\t\tCoverUrl: pulumi.String(\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\"),\n\t\t\tDivision: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vod.EditingProject;\nimport com.pulumi.alicloud.vod.EditingProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new EditingProject(\"example\", EditingProjectArgs.builder()\n .editingProjectName(name)\n .title(name)\n .timeline(\"\"\"\n {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n \"\"\")\n .coverUrl(\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\")\n .division(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:vod:EditingProject\n properties:\n editingProjectName: ${name}\n title: ${name}\n timeline: |2\n {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n coverUrl: https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\n division: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVOD Editing Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vod/editingProject:EditingProject example \u003cid\u003e\n```\n\n", + "description": "Provides a VOD Editing Project resource.\n\nFor information about VOD Editing Project and how to use it, see [What is Editing Project](https://www.alibabacloud.com/help/en/apsaravideo-for-vod/latest/addeditingproject#doc-api-vod-AddEditingProject).\n\n\u003e **NOTE:** Available since v1.187.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = new alicloud.vod.EditingProject(\"example\", {\n editingProjectName: name,\n title: name,\n timeline: ` {\n \\\\\"VideoTracks\\\\\":[\n {\n \\\\\"VideoTrackClips\\\\\":[\n {\n \\\\\"MediaId\\\\\":\\\\\"0c60e6f02dae71edbfaa472190a90102\\\\\",\n \\\\\"In\\\\\":2811\n }\n ]\n }\n ]\n }\n`,\n coverUrl: \"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n division: _default.then(_default =\u003e _default.regions?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.vod.EditingProject(\"example\",\n editing_project_name=name,\n title=name,\n timeline=\"\"\" {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n\"\"\",\n cover_url=\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n division=default.regions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = new AliCloud.Vod.EditingProject(\"example\", new()\n {\n EditingProjectName = name,\n Title = name,\n Timeline = @\" {\n \\\"\"VideoTracks\\\"\":[\n {\n \\\"\"VideoTrackClips\\\"\":[\n {\n \\\"\"MediaId\\\"\":\\\"\"0c60e6f02dae71edbfaa472190a90102\\\"\",\n \\\"\"In\\\"\":2811\n }\n ]\n }\n ]\n }\n\",\n CoverUrl = \"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\",\n Division = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vod\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vod.NewEditingProject(ctx, \"example\", \u0026vod.EditingProjectArgs{\n\t\t\tEditingProjectName: pulumi.String(name),\n\t\t\tTitle: pulumi.String(name),\n\t\t\tTimeline: pulumi.String(` {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n`),\n\t\t\tCoverUrl: pulumi.String(\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\"),\n\t\t\tDivision: pulumi.String(_default.Regions[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.vod.EditingProject;\nimport com.pulumi.alicloud.vod.EditingProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n var example = new EditingProject(\"example\", EditingProjectArgs.builder()\n .editingProjectName(name)\n .title(name)\n .timeline(\"\"\"\n {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n \"\"\")\n .coverUrl(\"https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\")\n .division(default_.regions()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\nresources:\n example:\n type: alicloud:vod:EditingProject\n properties:\n editingProjectName: ${name}\n title: ${name}\n timeline: |2\n {\n \\\"VideoTracks\\\":[\n {\n \\\"VideoTrackClips\\\":[\n {\n \\\"MediaId\\\":\\\"0c60e6f02dae71edbfaa472190a90102\\\",\n \\\"In\\\":2811\n }\n ]\n }\n ]\n }\n coverUrl: https://demo.aliyundoc.com/6AB4D0E1E1C74468883516C2349D1FC2-6-2.png\n division: ${default.regions[0].id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getRegions\n arguments:\n current: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVOD Editing Project can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vod/editingProject:EditingProject example \u003cid\u003e\n```\n\n", "properties": { "coverUrl": { "type": "string", @@ -258985,7 +264851,7 @@ } }, "alicloud:vpc/bgpGroup:BgpGroup": { - "description": "Provides a Express Connect Bgp Group resource.\n\n\n\nFor information about Express Connect Bgp Group and how to use it, see [What is Bgp Group](https://www.alibabacloud.com/help/en/doc-detail/91267.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleBgpGroup = new alicloud.vpc.BgpGroup(\"example\", {\n authKey: \"YourPassword+12345678\",\n bgpGroupName: name,\n description: name,\n peerAsn: 1111,\n routerId: exampleVirtualBorderRouter.id,\n isFakeAsn: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_bgp_group = alicloud.vpc.BgpGroup(\"example\",\n auth_key=\"YourPassword+12345678\",\n bgp_group_name=name,\n description=name,\n peer_asn=1111,\n router_id=example_virtual_border_router.id,\n is_fake_asn=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleBgpGroup = new AliCloud.Vpc.BgpGroup(\"example\", new()\n {\n AuthKey = \"YourPassword+12345678\",\n BgpGroupName = name,\n Description = name,\n PeerAsn = 1111,\n RouterId = exampleVirtualBorderRouter.Id,\n IsFakeAsn = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpGroup(ctx, \"example\", \u0026vpc.BgpGroupArgs{\n\t\t\tAuthKey: pulumi.String(\"YourPassword+12345678\"),\n\t\t\tBgpGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPeerAsn: pulumi.Int(1111),\n\t\t\tRouterId: exampleVirtualBorderRouter.ID(),\n\t\t\tIsFakeAsn: 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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpGroup;\nimport com.pulumi.alicloud.vpc.BgpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleBgpGroup = new BgpGroup(\"exampleBgpGroup\", BgpGroupArgs.builder()\n .authKey(\"YourPassword+12345678\")\n .bgpGroupName(name)\n .description(name)\n .peerAsn(1111)\n .routerId(exampleVirtualBorderRouter.id())\n .isFakeAsn(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleBgpGroup:\n type: alicloud:vpc:BgpGroup\n name: example\n properties:\n authKey: YourPassword+12345678\n bgpGroupName: ${name}\n description: ${name}\n peerAsn: 1111\n routerId: ${exampleVirtualBorderRouter.id}\n isFakeAsn: true\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Bgp Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpGroup:BgpGroup example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Bgp Group resource.\n\n\n\nFor information about Express Connect Bgp Group and how to use it, see [What is Bgp Group](https://www.alibabacloud.com/help/en/doc-detail/91267.html).\n\n\u003e **NOTE:** Available since v1.152.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleBgpGroup = new alicloud.vpc.BgpGroup(\"example\", {\n authKey: \"YourPassword+12345678\",\n bgpGroupName: name,\n description: name,\n peerAsn: 1111,\n routerId: exampleVirtualBorderRouter.id,\n isFakeAsn: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_bgp_group = alicloud.vpc.BgpGroup(\"example\",\n auth_key=\"YourPassword+12345678\",\n bgp_group_name=name,\n description=name,\n peer_asn=1111,\n router_id=example_virtual_border_router.id,\n is_fake_asn=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleBgpGroup = new AliCloud.Vpc.BgpGroup(\"example\", new()\n {\n AuthKey = \"YourPassword+12345678\",\n BgpGroupName = name,\n Description = name,\n PeerAsn = 1111,\n RouterId = exampleVirtualBorderRouter.Id,\n IsFakeAsn = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpGroup(ctx, \"example\", \u0026vpc.BgpGroupArgs{\n\t\t\tAuthKey: pulumi.String(\"YourPassword+12345678\"),\n\t\t\tBgpGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPeerAsn: pulumi.Int(1111),\n\t\t\tRouterId: exampleVirtualBorderRouter.ID(),\n\t\t\tIsFakeAsn: 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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpGroup;\nimport com.pulumi.alicloud.vpc.BgpGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleBgpGroup = new BgpGroup(\"exampleBgpGroup\", BgpGroupArgs.builder()\n .authKey(\"YourPassword+12345678\")\n .bgpGroupName(name)\n .description(name)\n .peerAsn(1111)\n .routerId(exampleVirtualBorderRouter.id())\n .isFakeAsn(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleBgpGroup:\n type: alicloud:vpc:BgpGroup\n name: example\n properties:\n authKey: YourPassword+12345678\n bgpGroupName: ${name}\n description: ${name}\n peerAsn: 1111\n routerId: ${exampleVirtualBorderRouter.id}\n isFakeAsn: true\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Bgp Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpGroup:BgpGroup example \u003cid\u003e\n```\n\n", "properties": { "authKey": { "type": "string", @@ -259152,7 +265018,7 @@ } }, "alicloud:vpc/bgpNetwork:BgpNetwork": { - "description": "Provides a Express Connect Bgp Network resource.\n\n\n\nFor information about Express Connect Bgp Network and how to use it, see [What is Bgp Network](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-vpc-2016-04-28-addbgpnetwork-express-connect).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 1,\n max: 2999,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: _default.then(_default =\u003e _default.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultBgpNetwork = new alicloud.vpc.BgpNetwork(\"default\", {\n dstCidrBlock: \"192.168.0.0/24\",\n routerId: defaultVirtualBorderRouter.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n min=1,\n max=2999)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_bgp_network = alicloud.vpc.BgpNetwork(\"default\",\n dst_cidr_block=\"192.168.0.0/24\",\n router_id=default_virtual_border_router.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 1,\n Max = 2999,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id)),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultBgpNetwork = new AliCloud.Vpc.BgpNetwork(\"default\", new()\n {\n DstCidrBlock = \"192.168.0.0/24\",\n RouterId = defaultVirtualBorderRouter.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 1,\n\t\t\tMax: 2999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(_default.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpNetwork(ctx, \"default\", \u0026vpc.BgpNetworkArgs{\n\t\t\tDstCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tRouterId: defaultVirtualBorderRouter.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpNetwork;\nimport com.pulumi.alicloud.vpc.BgpNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(1)\n .max(2999)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(default_.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultBgpNetwork = new BgpNetwork(\"defaultBgpNetwork\", BgpNetworkArgs.builder()\n .dstCidrBlock(\"192.168.0.0/24\")\n .routerId(defaultVirtualBorderRouter.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1\n max: 2999\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${default.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultBgpNetwork:\n type: alicloud:vpc:BgpNetwork\n name: default\n properties:\n dstCidrBlock: 192.168.0.0/24\n routerId: ${defaultVirtualBorderRouter.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Bgp Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpNetwork:BgpNetwork example \u003crouter_id\u003e:\u003cdst_cidr_block\u003e\n```\n\n", + "description": "Provides a Express Connect Bgp Network resource.\n\n\n\nFor information about Express Connect Bgp Network and how to use it, see [What is Bgp Network](https://www.alibabacloud.com/help/en/express-connect/developer-reference/api-vpc-2016-04-28-addbgpnetwork-express-connect).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst defaultInteger = new random.index.Integer(\"default\", {\n min: 1,\n max: 2999,\n});\nconst defaultVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"default\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: _default.then(_default =\u003e _default.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: defaultInteger.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst defaultBgpNetwork = new alicloud.vpc.BgpNetwork(\"default\", {\n dstCidrBlock: \"192.168.0.0/24\",\n routerId: defaultVirtualBorderRouter.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\ndefault_integer = random.index.Integer(\"default\",\n min=1,\n max=2999)\ndefault_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"default\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=default.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=default_integer[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\ndefault_bgp_network = alicloud.vpc.BgpNetwork(\"default\",\n dst_cidr_block=\"192.168.0.0/24\",\n router_id=default_virtual_border_router.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var defaultInteger = new Random.Index.Integer(\"default\", new()\n {\n Min = 1,\n Max = 2999,\n });\n\n var defaultVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"default\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = @default.Apply(@default =\u003e @default.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id)),\n VirtualBorderRouterName = name,\n VlanId = defaultInteger.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var defaultBgpNetwork = new AliCloud.Vpc.BgpNetwork(\"default\", new()\n {\n DstCidrBlock = \"192.168.0.0/24\",\n RouterId = defaultVirtualBorderRouter.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInteger, err := random.NewInteger(ctx, \"default\", \u0026random.IntegerArgs{\n\t\t\tMin: 1,\n\t\t\tMax: 2999,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"default\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(_default.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: defaultInteger.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpNetwork(ctx, \"default\", \u0026vpc.BgpNetworkArgs{\n\t\t\tDstCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tRouterId: defaultVirtualBorderRouter.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpNetwork;\nimport com.pulumi.alicloud.vpc.BgpNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var defaultInteger = new Integer(\"defaultInteger\", IntegerArgs.builder()\n .min(1)\n .max(2999)\n .build());\n\n var defaultVirtualBorderRouter = new VirtualBorderRouter(\"defaultVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(default_.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(defaultInteger.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var defaultBgpNetwork = new BgpNetwork(\"defaultBgpNetwork\", BgpNetworkArgs.builder()\n .dstCidrBlock(\"192.168.0.0/24\")\n .routerId(defaultVirtualBorderRouter.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultInteger:\n type: random:Integer\n name: default\n properties:\n min: 1\n max: 2999\n defaultVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: default\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${default.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${defaultInteger.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n defaultBgpNetwork:\n type: alicloud:vpc:BgpNetwork\n name: default\n properties:\n dstCidrBlock: 192.168.0.0/24\n routerId: ${defaultVirtualBorderRouter.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Bgp Network can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpNetwork:BgpNetwork example \u003crouter_id\u003e:\u003cdst_cidr_block\u003e\n```\n\n", "properties": { "dstCidrBlock": { "type": "string", @@ -259224,7 +265090,7 @@ } }, "alicloud:vpc/bgpPeer:BgpPeer": { - "description": "Provides a Express Connect Bgp Peer resource. \n\nFor information about VPC Bgp Peer and how to use it, see [What is Bgp Peer](https://www.alibabacloud.com/help/en/doc-detail/91267.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleBgpGroup = new alicloud.vpc.BgpGroup(\"example\", {\n authKey: \"YourPassword+12345678\",\n bgpGroupName: name,\n description: name,\n peerAsn: 1111,\n routerId: exampleVirtualBorderRouter.id,\n isFakeAsn: true,\n});\nconst exampleBgpPeer = new alicloud.vpc.BgpPeer(\"example\", {\n bfdMultiHop: 10,\n bgpGroupId: exampleBgpGroup.id,\n enableBfd: true,\n ipVersion: \"IPV4\",\n peerIpAddress: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_bgp_group = alicloud.vpc.BgpGroup(\"example\",\n auth_key=\"YourPassword+12345678\",\n bgp_group_name=name,\n description=name,\n peer_asn=1111,\n router_id=example_virtual_border_router.id,\n is_fake_asn=True)\nexample_bgp_peer = alicloud.vpc.BgpPeer(\"example\",\n bfd_multi_hop=10,\n bgp_group_id=example_bgp_group.id,\n enable_bfd=True,\n ip_version=\"IPV4\",\n peer_ip_address=\"1.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleBgpGroup = new AliCloud.Vpc.BgpGroup(\"example\", new()\n {\n AuthKey = \"YourPassword+12345678\",\n BgpGroupName = name,\n Description = name,\n PeerAsn = 1111,\n RouterId = exampleVirtualBorderRouter.Id,\n IsFakeAsn = true,\n });\n\n var exampleBgpPeer = new AliCloud.Vpc.BgpPeer(\"example\", new()\n {\n BfdMultiHop = 10,\n BgpGroupId = exampleBgpGroup.Id,\n EnableBfd = true,\n IpVersion = \"IPV4\",\n PeerIpAddress = \"1.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBgpGroup, err := vpc.NewBgpGroup(ctx, \"example\", \u0026vpc.BgpGroupArgs{\n\t\t\tAuthKey: pulumi.String(\"YourPassword+12345678\"),\n\t\t\tBgpGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPeerAsn: pulumi.Int(1111),\n\t\t\tRouterId: exampleVirtualBorderRouter.ID(),\n\t\t\tIsFakeAsn: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpPeer(ctx, \"example\", \u0026vpc.BgpPeerArgs{\n\t\t\tBfdMultiHop: pulumi.Int(10),\n\t\t\tBgpGroupId: exampleBgpGroup.ID(),\n\t\t\tEnableBfd: pulumi.Bool(true),\n\t\t\tIpVersion: pulumi.String(\"IPV4\"),\n\t\t\tPeerIpAddress: pulumi.String(\"1.1.1.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpGroup;\nimport com.pulumi.alicloud.vpc.BgpGroupArgs;\nimport com.pulumi.alicloud.vpc.BgpPeer;\nimport com.pulumi.alicloud.vpc.BgpPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleBgpGroup = new BgpGroup(\"exampleBgpGroup\", BgpGroupArgs.builder()\n .authKey(\"YourPassword+12345678\")\n .bgpGroupName(name)\n .description(name)\n .peerAsn(1111)\n .routerId(exampleVirtualBorderRouter.id())\n .isFakeAsn(true)\n .build());\n\n var exampleBgpPeer = new BgpPeer(\"exampleBgpPeer\", BgpPeerArgs.builder()\n .bfdMultiHop(10)\n .bgpGroupId(exampleBgpGroup.id())\n .enableBfd(true)\n .ipVersion(\"IPV4\")\n .peerIpAddress(\"1.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleBgpGroup:\n type: alicloud:vpc:BgpGroup\n name: example\n properties:\n authKey: YourPassword+12345678\n bgpGroupName: ${name}\n description: ${name}\n peerAsn: 1111\n routerId: ${exampleVirtualBorderRouter.id}\n isFakeAsn: true\n exampleBgpPeer:\n type: alicloud:vpc:BgpPeer\n name: example\n properties:\n bfdMultiHop: '10'\n bgpGroupId: ${exampleBgpGroup.id}\n enableBfd: true\n ipVersion: IPV4\n peerIpAddress: 1.1.1.1\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Bgp Peer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpPeer:BgpPeer example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Bgp Peer resource. \n\nFor information about VPC Bgp Peer and how to use it, see [What is Bgp Peer](https://www.alibabacloud.com/help/en/doc-detail/91267.html).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter(\"example\", {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections?.[0]?.id),\n virtualBorderRouterName: name,\n vlanId: vlanId.id,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n});\nconst exampleBgpGroup = new alicloud.vpc.BgpGroup(\"example\", {\n authKey: \"YourPassword+12345678\",\n bgpGroupName: name,\n description: name,\n peerAsn: 1111,\n routerId: exampleVirtualBorderRouter.id,\n isFakeAsn: true,\n});\nconst exampleBgpPeer = new alicloud.vpc.BgpPeer(\"example\", {\n bfdMultiHop: 10,\n bgpGroupId: exampleBgpGroup.id,\n enableBfd: true,\n ipVersion: \"IPV4\",\n peerIpAddress: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter(\"example\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[0].id,\n virtual_border_router_name=name,\n vlan_id=vlan_id[\"id\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10)\nexample_bgp_group = alicloud.vpc.BgpGroup(\"example\",\n auth_key=\"YourPassword+12345678\",\n bgp_group_name=name,\n description=name,\n peer_asn=1111,\n router_id=example_virtual_border_router.id,\n is_fake_asn=True)\nexample_bgp_peer = alicloud.vpc.BgpPeer(\"example\",\n bfd_multi_hop=10,\n bgp_group_id=example_bgp_group.id,\n enable_bfd=True,\n ip_version=\"IPV4\",\n peer_ip_address=\"1.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter(\"example\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections[0]?.Id),\n VirtualBorderRouterName = name,\n VlanId = vlanId.Id,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n });\n\n var exampleBgpGroup = new AliCloud.Vpc.BgpGroup(\"example\", new()\n {\n AuthKey = \"YourPassword+12345678\",\n BgpGroupName = name,\n Description = name,\n PeerAsn = 1111,\n RouterId = exampleVirtualBorderRouter.Id,\n IsFakeAsn = true,\n });\n\n var exampleBgpPeer = new AliCloud.Vpc.BgpPeer(\"example\", new()\n {\n BfdMultiHop = 10,\n BgpGroupId = exampleBgpGroup.Id,\n EnableBfd = true,\n IpVersion = \"IPV4\",\n PeerIpAddress = \"1.1.1.1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, \"example\", \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\tPhysicalConnectionId: pulumi.String(example.Connections[0].Id),\n\t\t\tVirtualBorderRouterName: pulumi.String(name),\n\t\t\tVlanId: vlanId.Id,\n\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBgpGroup, err := vpc.NewBgpGroup(ctx, \"example\", \u0026vpc.BgpGroupArgs{\n\t\t\tAuthKey: pulumi.String(\"YourPassword+12345678\"),\n\t\t\tBgpGroupName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPeerAsn: pulumi.Int(1111),\n\t\t\tRouterId: exampleVirtualBorderRouter.ID(),\n\t\t\tIsFakeAsn: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewBgpPeer(ctx, \"example\", \u0026vpc.BgpPeerArgs{\n\t\t\tBfdMultiHop: pulumi.Int(10),\n\t\t\tBgpGroupId: exampleBgpGroup.ID(),\n\t\t\tEnableBfd: pulumi.Bool(true),\n\t\t\tIpVersion: pulumi.String(\"IPV4\"),\n\t\t\tPeerIpAddress: pulumi.String(\"1.1.1.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.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.alicloud.vpc.BgpGroup;\nimport com.pulumi.alicloud.vpc.BgpGroupArgs;\nimport com.pulumi.alicloud.vpc.BgpPeer;\nimport com.pulumi.alicloud.vpc.BgpPeerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n var exampleVirtualBorderRouter = new VirtualBorderRouter(\"exampleVirtualBorderRouter\", VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[0].id())\n .virtualBorderRouterName(name)\n .vlanId(vlanId.id())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n var exampleBgpGroup = new BgpGroup(\"exampleBgpGroup\", BgpGroupArgs.builder()\n .authKey(\"YourPassword+12345678\")\n .bgpGroupName(name)\n .description(name)\n .peerAsn(1111)\n .routerId(exampleVirtualBorderRouter.id())\n .isFakeAsn(true)\n .build());\n\n var exampleBgpPeer = new BgpPeer(\"exampleBgpPeer\", BgpPeerArgs.builder()\n .bfdMultiHop(10)\n .bgpGroupId(exampleBgpGroup.id())\n .enableBfd(true)\n .ipVersion(\"IPV4\")\n .peerIpAddress(\"1.1.1.1\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n vlanId:\n type: random:Integer\n name: vlan_id\n properties:\n max: 2999\n min: 1\n exampleVirtualBorderRouter:\n type: alicloud:expressconnect:VirtualBorderRouter\n name: example\n properties:\n localGatewayIp: 10.0.0.1\n peerGatewayIp: 10.0.0.2\n peeringSubnetMask: 255.255.255.252\n physicalConnectionId: ${example.connections[0].id}\n virtualBorderRouterName: ${name}\n vlanId: ${vlanId.id}\n minRxInterval: 1000\n minTxInterval: 1000\n detectMultiplier: 10\n exampleBgpGroup:\n type: alicloud:vpc:BgpGroup\n name: example\n properties:\n authKey: YourPassword+12345678\n bgpGroupName: ${name}\n description: ${name}\n peerAsn: 1111\n routerId: ${exampleVirtualBorderRouter.id}\n isFakeAsn: true\n exampleBgpPeer:\n type: alicloud:vpc:BgpPeer\n name: example\n properties:\n bfdMultiHop: '10'\n bgpGroupId: ${exampleBgpGroup.id}\n enableBfd: true\n ipVersion: IPV4\n peerIpAddress: 1.1.1.1\nvariables:\n example:\n fn::invoke:\n function: alicloud:expressconnect:getPhysicalConnections\n arguments:\n nameRegex: ^preserved-NODELETING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Bgp Peer can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/bgpPeer:BgpPeer example \u003cid\u003e\n```\n\n", "properties": { "bfdMultiHop": { "type": "integer", @@ -259572,7 +265438,7 @@ } }, "alicloud:vpc/commonBandwithPackageAttachment:CommonBandwithPackageAttachment": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByTraffic\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByTraffic\",\n});\nconst defaultCommonBandwithPackageAttachment = new alicloud.vpc.CommonBandwithPackageAttachment(\"default\", {\n bandwidthPackageId: _default.id,\n instanceId: defaultEipAddress.id,\n bandwidthPackageBandwidth: \"2\",\n ipType: \"EIP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByTraffic\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByTraffic\")\ndefault_common_bandwith_package_attachment = alicloud.vpc.CommonBandwithPackageAttachment(\"default\",\n bandwidth_package_id=default.id,\n instance_id=default_eip_address.id,\n bandwidth_package_bandwidth=\"2\",\n ip_type=\"EIP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByTraffic\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByTraffic\",\n });\n\n var defaultCommonBandwithPackageAttachment = new AliCloud.Vpc.CommonBandwithPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = @default.Id,\n InstanceId = defaultEipAddress.Id,\n BandwidthPackageBandwidth = \"2\",\n IpType = \"EIP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewCommonBandwithPackageAttachment(ctx, \"default\", \u0026vpc.CommonBandwithPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: _default.ID(),\n\t\t\tInstanceId: defaultEipAddress.ID(),\n\t\t\tBandwidthPackageBandwidth: pulumi.String(\"2\"),\n\t\t\tIpType: pulumi.String(\"EIP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageAttachment;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CommonBandwithPackage(\"default\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByTraffic\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByTraffic\")\n .build());\n\n var defaultCommonBandwithPackageAttachment = new CommonBandwithPackageAttachment(\"defaultCommonBandwithPackageAttachment\", CommonBandwithPackageAttachmentArgs.builder()\n .bandwidthPackageId(default_.id())\n .instanceId(defaultEipAddress.id())\n .bandwidthPackageBandwidth(\"2\")\n .ipType(\"EIP\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:CommonBandwithPackage\n properties:\n bandwidth: 3\n internetChargeType: PayByTraffic\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '3'\n internetChargeType: PayByTraffic\n defaultCommonBandwithPackageAttachment:\n type: alicloud:vpc:CommonBandwithPackageAttachment\n name: default\n properties:\n bandwidthPackageId: ${default.id}\n instanceId: ${defaultEipAddress.id}\n bandwidthPackageBandwidth: '2'\n ipType: EIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/commonBandwithPackageAttachment:CommonBandwithPackageAttachment example \u003cbandwidth_package_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.CommonBandwithPackage(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByTraffic\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {\n bandwidth: \"3\",\n internetChargeType: \"PayByTraffic\",\n});\nconst defaultCommonBandwithPackageAttachment = new alicloud.vpc.CommonBandwithPackageAttachment(\"default\", {\n bandwidthPackageId: _default.id,\n instanceId: defaultEipAddress.id,\n bandwidthPackageBandwidth: \"2\",\n ipType: \"EIP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.CommonBandwithPackage(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByTraffic\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\",\n bandwidth=\"3\",\n internet_charge_type=\"PayByTraffic\")\ndefault_common_bandwith_package_attachment = alicloud.vpc.CommonBandwithPackageAttachment(\"default\",\n bandwidth_package_id=default.id,\n instance_id=default_eip_address.id,\n bandwidth_package_bandwidth=\"2\",\n ip_type=\"EIP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.CommonBandwithPackage(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByTraffic\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n Bandwidth = \"3\",\n InternetChargeType = \"PayByTraffic\",\n });\n\n var defaultCommonBandwithPackageAttachment = new AliCloud.Vpc.CommonBandwithPackageAttachment(\"default\", new()\n {\n BandwidthPackageId = @default.Id,\n InstanceId = defaultEipAddress.Id,\n BandwidthPackageBandwidth = \"2\",\n IpType = \"EIP\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.NewCommonBandwithPackage(ctx, \"default\", \u0026vpc.CommonBandwithPackageArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tBandwidth: pulumi.String(\"3\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewCommonBandwithPackageAttachment(ctx, \"default\", \u0026vpc.CommonBandwithPackageAttachmentArgs{\n\t\t\tBandwidthPackageId: _default.ID(),\n\t\t\tInstanceId: defaultEipAddress.ID(),\n\t\t\tBandwidthPackageBandwidth: pulumi.String(\"2\"),\n\t\t\tIpType: pulumi.String(\"EIP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackage;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageAttachment;\nimport com.pulumi.alicloud.vpc.CommonBandwithPackageAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CommonBandwithPackage(\"default\", CommonBandwithPackageArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByTraffic\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .bandwidth(\"3\")\n .internetChargeType(\"PayByTraffic\")\n .build());\n\n var defaultCommonBandwithPackageAttachment = new CommonBandwithPackageAttachment(\"defaultCommonBandwithPackageAttachment\", CommonBandwithPackageAttachmentArgs.builder()\n .bandwidthPackageId(default_.id())\n .instanceId(defaultEipAddress.id())\n .bandwidthPackageBandwidth(\"2\")\n .ipType(\"EIP\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:CommonBandwithPackage\n properties:\n bandwidth: 3\n internetChargeType: PayByTraffic\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n bandwidth: '3'\n internetChargeType: PayByTraffic\n defaultCommonBandwithPackageAttachment:\n type: alicloud:vpc:CommonBandwithPackageAttachment\n name: default\n properties:\n bandwidthPackageId: ${default.id}\n instanceId: ${defaultEipAddress.id}\n bandwidthPackageBandwidth: '2'\n ipType: EIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nEIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/commonBandwithPackageAttachment:CommonBandwithPackageAttachment example \u003cbandwidth_package_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "bandwidthPackageBandwidth": { "type": "string", @@ -259670,7 +265536,7 @@ } }, "alicloud:vpc/dhcpOptionsSet:DhcpOptionsSet": { - "description": "Provides a VPC Dhcp Options Set resource.\n\nDHCP option set.\n\nFor information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/dhcp-options-sets-overview).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst domain = config.get(\"domain\") || \"terraform-example.com\";\nconst example = new alicloud.vpc.DhcpOptionsSet(\"example\", {\n dhcpOptionsSetName: name,\n dhcpOptionsSetDescription: name,\n domainName: domain,\n domainNameServers: \"100.100.2.136\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"terraform-example.com\"\nexample = alicloud.vpc.DhcpOptionsSet(\"example\",\n dhcp_options_set_name=name,\n dhcp_options_set_description=name,\n domain_name=domain,\n domain_name_servers=\"100.100.2.136\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var domain = config.Get(\"domain\") ?? \"terraform-example.com\";\n var example = new AliCloud.Vpc.DhcpOptionsSet(\"example\", new()\n {\n DhcpOptionsSetName = name,\n DhcpOptionsSetDescription = name,\n DomainName = domain,\n DomainNameServers = \"100.100.2.136\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"terraform-example.com\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_, err := vpc.NewDhcpOptionsSet(ctx, \"example\", \u0026vpc.DhcpOptionsSetArgs{\n\t\t\tDhcpOptionsSetName: pulumi.String(name),\n\t\t\tDhcpOptionsSetDescription: pulumi.String(name),\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tDomainNameServers: pulumi.String(\"100.100.2.136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSet;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var domain = config.get(\"domain\").orElse(\"terraform-example.com\");\n var example = new DhcpOptionsSet(\"example\", DhcpOptionsSetArgs.builder()\n .dhcpOptionsSetName(name)\n .dhcpOptionsSetDescription(name)\n .domainName(domain)\n .domainNameServers(\"100.100.2.136\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n domain:\n type: string\n default: terraform-example.com\nresources:\n example:\n type: alicloud:vpc:DhcpOptionsSet\n properties:\n dhcpOptionsSetName: ${name}\n dhcpOptionsSetDescription: ${name}\n domainName: ${domain}\n domainNameServers: 100.100.2.136\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Dhcp Options Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/dhcpOptionsSet:DhcpOptionsSet example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Dhcp Options Set resource.\n\nDHCP option set.\n\nFor information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/dhcp-options-sets-overview).\n\n\u003e **NOTE:** Available since v1.134.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst domain = config.get(\"domain\") || \"terraform-example.com\";\nconst example = new alicloud.vpc.DhcpOptionsSet(\"example\", {\n dhcpOptionsSetName: name,\n dhcpOptionsSetDescription: name,\n domainName: domain,\n domainNameServers: \"100.100.2.136\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"terraform-example.com\"\nexample = alicloud.vpc.DhcpOptionsSet(\"example\",\n dhcp_options_set_name=name,\n dhcp_options_set_description=name,\n domain_name=domain,\n domain_name_servers=\"100.100.2.136\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var domain = config.Get(\"domain\") ?? \"terraform-example.com\";\n var example = new AliCloud.Vpc.DhcpOptionsSet(\"example\", new()\n {\n DhcpOptionsSetName = name,\n DhcpOptionsSetDescription = name,\n DomainName = domain,\n DomainNameServers = \"100.100.2.136\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"terraform-example.com\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_, err := vpc.NewDhcpOptionsSet(ctx, \"example\", \u0026vpc.DhcpOptionsSetArgs{\n\t\t\tDhcpOptionsSetName: pulumi.String(name),\n\t\t\tDhcpOptionsSetDescription: pulumi.String(name),\n\t\t\tDomainName: pulumi.String(domain),\n\t\t\tDomainNameServers: pulumi.String(\"100.100.2.136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSet;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var domain = config.get(\"domain\").orElse(\"terraform-example.com\");\n var example = new DhcpOptionsSet(\"example\", DhcpOptionsSetArgs.builder()\n .dhcpOptionsSetName(name)\n .dhcpOptionsSetDescription(name)\n .domainName(domain)\n .domainNameServers(\"100.100.2.136\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n domain:\n type: string\n default: terraform-example.com\nresources:\n example:\n type: alicloud:vpc:DhcpOptionsSet\n properties:\n dhcpOptionsSetName: ${name}\n dhcpOptionsSetDescription: ${name}\n domainName: ${domain}\n domainNameServers: 100.100.2.136\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Dhcp Options Set can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/dhcpOptionsSet:DhcpOptionsSet example \u003cid\u003e\n```\n\n", "properties": { "associateVpcs": { "type": "array", @@ -259848,7 +265714,7 @@ } }, "alicloud:vpc/dhcpOptionsSetAttachment:DhcpOptionsSetAttachment": { - "description": "Provides a VPC Dhcp Options Set Attachment resource.\n\nFor information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleDhcpOptionsSet = new alicloud.vpc.DhcpOptionsSet(\"example\", {\n dhcpOptionsSetName: name,\n dhcpOptionsSetDescription: name,\n domainName: \"example.com\",\n domainNameServers: \"100.100.2.136\",\n});\nconst exampleDhcpOptionsSetAttachment = new alicloud.vpc.DhcpOptionsSetAttachment(\"example\", {\n vpcId: example.id,\n dhcpOptionsSetId: exampleDhcpOptionsSet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_dhcp_options_set = alicloud.vpc.DhcpOptionsSet(\"example\",\n dhcp_options_set_name=name,\n dhcp_options_set_description=name,\n domain_name=\"example.com\",\n domain_name_servers=\"100.100.2.136\")\nexample_dhcp_options_set_attachment = alicloud.vpc.DhcpOptionsSetAttachment(\"example\",\n vpc_id=example.id,\n dhcp_options_set_id=example_dhcp_options_set.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleDhcpOptionsSet = new AliCloud.Vpc.DhcpOptionsSet(\"example\", new()\n {\n DhcpOptionsSetName = name,\n DhcpOptionsSetDescription = name,\n DomainName = \"example.com\",\n DomainNameServers = \"100.100.2.136\",\n });\n\n var exampleDhcpOptionsSetAttachment = new AliCloud.Vpc.DhcpOptionsSetAttachment(\"example\", new()\n {\n VpcId = example.Id,\n DhcpOptionsSetId = exampleDhcpOptionsSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDhcpOptionsSet, err := vpc.NewDhcpOptionsSet(ctx, \"example\", \u0026vpc.DhcpOptionsSetArgs{\n\t\t\tDhcpOptionsSetName: pulumi.String(name),\n\t\t\tDhcpOptionsSetDescription: pulumi.String(name),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tDomainNameServers: pulumi.String(\"100.100.2.136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewDhcpOptionsSetAttachment(ctx, \"example\", \u0026vpc.DhcpOptionsSetAttachmentArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tDhcpOptionsSetId: exampleDhcpOptionsSet.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSet;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetArgs;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetAttachment;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleDhcpOptionsSet = new DhcpOptionsSet(\"exampleDhcpOptionsSet\", DhcpOptionsSetArgs.builder()\n .dhcpOptionsSetName(name)\n .dhcpOptionsSetDescription(name)\n .domainName(\"example.com\")\n .domainNameServers(\"100.100.2.136\")\n .build());\n\n var exampleDhcpOptionsSetAttachment = new DhcpOptionsSetAttachment(\"exampleDhcpOptionsSetAttachment\", DhcpOptionsSetAttachmentArgs.builder()\n .vpcId(example.id())\n .dhcpOptionsSetId(exampleDhcpOptionsSet.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleDhcpOptionsSet:\n type: alicloud:vpc:DhcpOptionsSet\n name: example\n properties:\n dhcpOptionsSetName: ${name}\n dhcpOptionsSetDescription: ${name}\n domainName: example.com\n domainNameServers: 100.100.2.136\n exampleDhcpOptionsSetAttachment:\n type: alicloud:vpc:DhcpOptionsSetAttachment\n name: example\n properties:\n vpcId: ${example.id}\n dhcpOptionsSetId: ${exampleDhcpOptionsSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Dhcp Options Set Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/dhcpOptionsSetAttachment:DhcpOptionsSetAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Dhcp Options Set Attachment resource.\n\nFor information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.153.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleDhcpOptionsSet = new alicloud.vpc.DhcpOptionsSet(\"example\", {\n dhcpOptionsSetName: name,\n dhcpOptionsSetDescription: name,\n domainName: \"example.com\",\n domainNameServers: \"100.100.2.136\",\n});\nconst exampleDhcpOptionsSetAttachment = new alicloud.vpc.DhcpOptionsSetAttachment(\"example\", {\n vpcId: example.id,\n dhcpOptionsSetId: exampleDhcpOptionsSet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_dhcp_options_set = alicloud.vpc.DhcpOptionsSet(\"example\",\n dhcp_options_set_name=name,\n dhcp_options_set_description=name,\n domain_name=\"example.com\",\n domain_name_servers=\"100.100.2.136\")\nexample_dhcp_options_set_attachment = alicloud.vpc.DhcpOptionsSetAttachment(\"example\",\n vpc_id=example.id,\n dhcp_options_set_id=example_dhcp_options_set.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleDhcpOptionsSet = new AliCloud.Vpc.DhcpOptionsSet(\"example\", new()\n {\n DhcpOptionsSetName = name,\n DhcpOptionsSetDescription = name,\n DomainName = \"example.com\",\n DomainNameServers = \"100.100.2.136\",\n });\n\n var exampleDhcpOptionsSetAttachment = new AliCloud.Vpc.DhcpOptionsSetAttachment(\"example\", new()\n {\n VpcId = example.Id,\n DhcpOptionsSetId = exampleDhcpOptionsSet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDhcpOptionsSet, err := vpc.NewDhcpOptionsSet(ctx, \"example\", \u0026vpc.DhcpOptionsSetArgs{\n\t\t\tDhcpOptionsSetName: pulumi.String(name),\n\t\t\tDhcpOptionsSetDescription: pulumi.String(name),\n\t\t\tDomainName: pulumi.String(\"example.com\"),\n\t\t\tDomainNameServers: pulumi.String(\"100.100.2.136\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewDhcpOptionsSetAttachment(ctx, \"example\", \u0026vpc.DhcpOptionsSetAttachmentArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tDhcpOptionsSetId: exampleDhcpOptionsSet.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSet;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetArgs;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetAttachment;\nimport com.pulumi.alicloud.vpc.DhcpOptionsSetAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleDhcpOptionsSet = new DhcpOptionsSet(\"exampleDhcpOptionsSet\", DhcpOptionsSetArgs.builder()\n .dhcpOptionsSetName(name)\n .dhcpOptionsSetDescription(name)\n .domainName(\"example.com\")\n .domainNameServers(\"100.100.2.136\")\n .build());\n\n var exampleDhcpOptionsSetAttachment = new DhcpOptionsSetAttachment(\"exampleDhcpOptionsSetAttachment\", DhcpOptionsSetAttachmentArgs.builder()\n .vpcId(example.id())\n .dhcpOptionsSetId(exampleDhcpOptionsSet.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleDhcpOptionsSet:\n type: alicloud:vpc:DhcpOptionsSet\n name: example\n properties:\n dhcpOptionsSetName: ${name}\n dhcpOptionsSetDescription: ${name}\n domainName: example.com\n domainNameServers: 100.100.2.136\n exampleDhcpOptionsSetAttachment:\n type: alicloud:vpc:DhcpOptionsSetAttachment\n name: example\n properties:\n vpcId: ${example.id}\n dhcpOptionsSetId: ${exampleDhcpOptionsSet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Dhcp Options Set Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/dhcpOptionsSetAttachment:DhcpOptionsSetAttachment example \u003cid\u003e\n```\n\n", "properties": { "dhcpOptionsSetId": { "type": "string", @@ -259918,7 +265784,7 @@ } }, "alicloud:vpc/flowLog:FlowLog": { - "description": "Provides a VPC Flow Log resource.\n\nWhile it uses\u003cspan pulumi-lang-nodejs=\" alicloud.vpc.FlowLog \" pulumi-lang-dotnet=\" alicloud.vpc.FlowLog \" pulumi-lang-go=\" vpc.FlowLog \" pulumi-lang-python=\" vpc.FlowLog \" pulumi-lang-yaml=\" alicloud.vpc.FlowLog \" pulumi-lang-java=\" alicloud.vpc.FlowLog \"\u003e alicloud.vpc.FlowLog \u003c/span\u003eto build a vpc flow log resource, it will be active by default.\n\nFor information about VPC Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/flow-logs-overview).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleUuid = new random.index.Uuid(\"example\", {});\nconst exampleProject = new alicloud.log.Project(\"example\", {\n projectName: std.replace({\n text: exampleUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n description: name,\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: exampleProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleFlowLog = new alicloud.vpc.FlowLog(\"example\", {\n flowLogName: name,\n logStoreName: exampleStore.logstoreName,\n description: name,\n trafficPaths: [\"all\"],\n projectName: exampleProject.projectName,\n resourceType: \"VPC\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n resourceId: example.id,\n aggregationInterval: \"1\",\n trafficType: \"All\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_uuid = random.index.Uuid(\"example\")\nexample_project = alicloud.log.Project(\"example\",\n project_name=std.substr(input=f\"tf-example-{std.replace(text=example_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n description=name)\nexample_store = alicloud.log.Store(\"example\",\n project_name=example_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_flow_log = alicloud.vpc.FlowLog(\"example\",\n flow_log_name=name,\n log_store_name=example_store.logstore_name,\n description=name,\n traffic_paths=[\"all\"],\n project_name=example_project.project_name,\n resource_type=\"VPC\",\n resource_group_id=default.ids[0],\n resource_id=example.id,\n aggregation_interval=\"1\",\n traffic_type=\"All\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleUuid = new Random.Index.Uuid(\"example\");\n\n var exampleProject = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = exampleUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Description = name,\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = exampleProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleFlowLog = new AliCloud.Vpc.FlowLog(\"example\", new()\n {\n FlowLogName = name,\n LogStoreName = exampleStore.LogstoreName,\n Description = name,\n TrafficPaths = new[]\n {\n \"all\",\n },\n ProjectName = exampleProject.ProjectName,\n ResourceType = \"VPC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceId = example.Id,\n AggregationInterval = \"1\",\n TrafficType = \"All\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUuid, err := random.NewUuid(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: exampleUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewFlowLog(ctx, \"example\", \u0026vpc.FlowLogArgs{\n\t\t\tFlowLogName: pulumi.String(name),\n\t\t\tLogStoreName: exampleStore.LogstoreName,\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTrafficPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"all\"),\n\t\t\t},\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tResourceType: pulumi.String(\"VPC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tResourceId: example.ID(),\n\t\t\tAggregationInterval: pulumi.String(\"1\"),\n\t\t\tTrafficType: pulumi.String(\"All\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.vpc.FlowLog;\nimport com.pulumi.alicloud.vpc.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleUuid = new Uuid(\"exampleUuid\");\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(exampleUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .description(name)\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(exampleProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .flowLogName(name)\n .logStoreName(exampleStore.logstoreName())\n .description(name)\n .trafficPaths(\"all\")\n .projectName(exampleProject.projectName())\n .resourceType(\"VPC\")\n .resourceGroupId(default_.ids()[0])\n .resourceId(example.id())\n .aggregationInterval(\"1\")\n .trafficType(\"All\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleUuid:\n type: random:Uuid\n name: example\n exampleProject:\n type: alicloud:log:Project\n name: example\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${exampleUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n description: ${name}\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${exampleProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleFlowLog:\n type: alicloud:vpc:FlowLog\n name: example\n properties:\n flowLogName: ${name}\n logStoreName: ${exampleStore.logstoreName}\n description: ${name}\n trafficPaths:\n - all\n projectName: ${exampleProject.projectName}\n resourceType: VPC\n resourceGroupId: ${default.ids[0]}\n resourceId: ${example.id}\n aggregationInterval: '1'\n trafficType: All\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/flowLog:FlowLog example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Flow Log resource.\n\nWhile it uses\u003cspan pulumi-lang-nodejs=\" alicloud.vpc.FlowLog \" pulumi-lang-dotnet=\" alicloud.vpc.FlowLog \" pulumi-lang-go=\" vpc.FlowLog \" pulumi-lang-python=\" vpc.FlowLog \" pulumi-lang-yaml=\" alicloud.vpc.FlowLog \" pulumi-lang-java=\" alicloud.vpc.FlowLog \"\u003e alicloud.vpc.FlowLog \u003c/span\u003eto build a vpc flow log resource, it will be active by default.\n\nFor information about VPC Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/flow-logs-overview).\n\n\u003e **NOTE:** Available since v1.117.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleUuid = new random.index.Uuid(\"example\", {});\nconst exampleProject = new alicloud.log.Project(\"example\", {\n projectName: std.replace({\n text: exampleUuid.result,\n search: \"-\",\n replace: \"\",\n }).then(invoke =\u003e std.substr({\n input: `tf-example-${invoke.result}`,\n offset: 0,\n length: 16,\n })).then(invoke =\u003e invoke.result),\n description: name,\n});\nconst exampleStore = new alicloud.log.Store(\"example\", {\n projectName: exampleProject.projectName,\n logstoreName: name,\n shardCount: 3,\n autoSplit: true,\n maxSplitShardCount: 60,\n appendMeta: true,\n});\nconst exampleFlowLog = new alicloud.vpc.FlowLog(\"example\", {\n flowLogName: name,\n logStoreName: exampleStore.logstoreName,\n description: name,\n trafficPaths: [\"all\"],\n projectName: exampleProject.projectName,\n resourceType: \"VPC\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n resourceId: example.id,\n aggregationInterval: \"1\",\n trafficType: \"All\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_uuid = random.index.Uuid(\"example\")\nexample_project = alicloud.log.Project(\"example\",\n project_name=std.substr(input=f\"tf-example-{std.replace(text=example_uuid['result'],\n search='-',\n replace='').result}\",\n offset=0,\n length=16).result,\n description=name)\nexample_store = alicloud.log.Store(\"example\",\n project_name=example_project.project_name,\n logstore_name=name,\n shard_count=3,\n auto_split=True,\n max_split_shard_count=60,\n append_meta=True)\nexample_flow_log = alicloud.vpc.FlowLog(\"example\",\n flow_log_name=name,\n log_store_name=example_store.logstore_name,\n description=name,\n traffic_paths=[\"all\"],\n project_name=example_project.project_name,\n resource_type=\"VPC\",\n resource_group_id=default.ids[0],\n resource_id=example.id,\n aggregation_interval=\"1\",\n traffic_type=\"All\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleUuid = new Random.Index.Uuid(\"example\");\n\n var exampleProject = new AliCloud.Log.Project(\"example\", new()\n {\n ProjectName = Std.Replace.Invoke(new()\n {\n Text = exampleUuid.Result,\n Search = \"-\",\n Replace = \"\",\n }).Apply(invoke =\u003e Std.Substr.Invoke(new()\n {\n Input = $\"tf-example-{invoke.Result}\",\n Offset = 0,\n Length = 16,\n })).Apply(invoke =\u003e invoke.Result),\n Description = name,\n });\n\n var exampleStore = new AliCloud.Log.Store(\"example\", new()\n {\n ProjectName = exampleProject.ProjectName,\n LogstoreName = name,\n ShardCount = 3,\n AutoSplit = true,\n MaxSplitShardCount = 60,\n AppendMeta = true,\n });\n\n var exampleFlowLog = new AliCloud.Vpc.FlowLog(\"example\", new()\n {\n FlowLogName = name,\n LogStoreName = exampleStore.LogstoreName,\n Description = name,\n TrafficPaths = new[]\n {\n \"all\",\n },\n ProjectName = exampleProject.ProjectName,\n ResourceType = \"VPC\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n ResourceId = example.Id,\n AggregationInterval = \"1\",\n TrafficType = \"All\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUuid, err := random.NewUuid(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeSubstr, err := std.Substr(ctx, \u0026std.SubstrArgs{\n\t\t\tInput: fmt.Sprintf(\"tf-example-%v\", std.Replace(ctx, \u0026std.ReplaceArgs{\n\t\t\t\tText: exampleUuid.Result,\n\t\t\t\tSearch: \"-\",\n\t\t\t\tReplace: \"\",\n\t\t\t}, nil).Result),\n\t\t\tOffset: 0,\n\t\t\tLength: 16,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleProject, err := log.NewProject(ctx, \"example\", \u0026log.ProjectArgs{\n\t\t\tProjectName: pulumi.String(invokeSubstr.Result),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleStore, err := log.NewStore(ctx, \"example\", \u0026log.StoreArgs{\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tLogstoreName: pulumi.String(name),\n\t\t\tShardCount: pulumi.Int(3),\n\t\t\tAutoSplit: pulumi.Bool(true),\n\t\t\tMaxSplitShardCount: pulumi.Int(60),\n\t\t\tAppendMeta: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewFlowLog(ctx, \"example\", \u0026vpc.FlowLogArgs{\n\t\t\tFlowLogName: pulumi.String(name),\n\t\t\tLogStoreName: exampleStore.LogstoreName,\n\t\t\tDescription: pulumi.String(name),\n\t\t\tTrafficPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"all\"),\n\t\t\t},\n\t\t\tProjectName: exampleProject.ProjectName,\n\t\t\tResourceType: pulumi.String(\"VPC\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tResourceId: example.ID(),\n\t\t\tAggregationInterval: pulumi.String(\"1\"),\n\t\t\tTrafficType: pulumi.String(\"All\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.random.Uuid;\nimport com.pulumi.alicloud.log.Project;\nimport com.pulumi.alicloud.log.ProjectArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.ReplaceArgs;\nimport com.pulumi.std.inputs.SubstrArgs;\nimport com.pulumi.alicloud.log.Store;\nimport com.pulumi.alicloud.log.StoreArgs;\nimport com.pulumi.alicloud.vpc.FlowLog;\nimport com.pulumi.alicloud.vpc.FlowLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleUuid = new Uuid(\"exampleUuid\");\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n .projectName(StdFunctions.substr(SubstrArgs.builder()\n .input(String.format(\"tf-example-%s\", StdFunctions.replace(ReplaceArgs.builder()\n .text(exampleUuid.result())\n .search(\"-\")\n .replace(\"\")\n .build()).result()))\n .offset(0)\n .length(16)\n .build()).result())\n .description(name)\n .build());\n\n var exampleStore = new Store(\"exampleStore\", StoreArgs.builder()\n .projectName(exampleProject.projectName())\n .logstoreName(name)\n .shardCount(3)\n .autoSplit(true)\n .maxSplitShardCount(60)\n .appendMeta(true)\n .build());\n\n var exampleFlowLog = new FlowLog(\"exampleFlowLog\", FlowLogArgs.builder()\n .flowLogName(name)\n .logStoreName(exampleStore.logstoreName())\n .description(name)\n .trafficPaths(\"all\")\n .projectName(exampleProject.projectName())\n .resourceType(\"VPC\")\n .resourceGroupId(default_.ids()[0])\n .resourceId(example.id())\n .aggregationInterval(\"1\")\n .trafficType(\"All\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleUuid:\n type: random:Uuid\n name: example\n exampleProject:\n type: alicloud:log:Project\n name: example\n properties:\n projectName:\n fn::invoke:\n function: std:substr\n arguments:\n input:\n fn::join:\n - \"\"\n - - tf-example-\n - fn::invoke:\n function: std:replace\n arguments:\n text: ${exampleUuid.result}\n search: '-'\n replace: \"\"\n return: result\n offset: 0\n length: 16\n return: result\n description: ${name}\n exampleStore:\n type: alicloud:log:Store\n name: example\n properties:\n projectName: ${exampleProject.projectName}\n logstoreName: ${name}\n shardCount: 3\n autoSplit: true\n maxSplitShardCount: 60\n appendMeta: true\n exampleFlowLog:\n type: alicloud:vpc:FlowLog\n name: example\n properties:\n flowLogName: ${name}\n logStoreName: ${exampleStore.logstoreName}\n description: ${name}\n trafficPaths:\n - all\n projectName: ${exampleProject.projectName}\n resourceType: VPC\n resourceGroupId: ${default.ids[0]}\n resourceId: ${example.id}\n aggregationInterval: '1'\n trafficType: All\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Flow Log can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/flowLog:FlowLog example \u003cid\u003e\n```\n\n", "properties": { "aggregationInterval": { "type": "string", @@ -260172,7 +266038,7 @@ } }, "alicloud:vpc/forwardEntry:ForwardEntry": { - "description": "Provides a forward resource.\n\n\u003e **NOTE:** Available since v1.40.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"forward-entry-example-name\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: name,\n natType: \"Enhanced\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultEipAssociation = new alicloud.ecs.EipAssociation(\"default\", {\n allocationId: defaultEipAddress.id,\n instanceId: defaultNatGateway.id,\n});\nconst defaultForwardEntry = new alicloud.vpc.ForwardEntry(\"default\", {\n forwardTableId: defaultNatGateway.forwardTableIds,\n externalIp: defaultEipAddress.ipAddress,\n externalPort: \"80\",\n ipProtocol: \"tcp\",\n internalIp: \"172.16.0.3\",\n internalPort: \"8080\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"forward-entry-example-name\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=name,\n nat_type=\"Enhanced\",\n vswitch_id=default_switch.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_eip_association = alicloud.ecs.EipAssociation(\"default\",\n allocation_id=default_eip_address.id,\n instance_id=default_nat_gateway.id)\ndefault_forward_entry = alicloud.vpc.ForwardEntry(\"default\",\n forward_table_id=default_nat_gateway.forward_table_ids,\n external_ip=default_eip_address.ip_address,\n external_port=\"80\",\n ip_protocol=\"tcp\",\n internal_ip=\"172.16.0.3\",\n internal_port=\"8080\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"forward-entry-example-name\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = name,\n NatType = \"Enhanced\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultEipAssociation = new AliCloud.Ecs.EipAssociation(\"default\", new()\n {\n AllocationId = defaultEipAddress.Id,\n InstanceId = defaultNatGateway.Id,\n });\n\n var defaultForwardEntry = new AliCloud.Vpc.ForwardEntry(\"default\", new()\n {\n ForwardTableId = defaultNatGateway.ForwardTableIds,\n ExternalIp = defaultEipAddress.IpAddress,\n ExternalPort = \"80\",\n IpProtocol = \"tcp\",\n InternalIp = \"172.16.0.3\",\n InternalPort = \"8080\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"forward-entry-example-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNatGateway, err := vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"default\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: defaultEipAddress.ID(),\n\t\t\tInstanceId: defaultNatGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewForwardEntry(ctx, \"default\", \u0026vpc.ForwardEntryArgs{\n\t\t\tForwardTableId: defaultNatGateway.ForwardTableIds,\n\t\t\tExternalIp: defaultEipAddress.IpAddress,\n\t\t\tExternalPort: pulumi.String(\"80\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.3\"),\n\t\t\tInternalPort: pulumi.String(\"8080\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.ForwardEntry;\nimport com.pulumi.alicloud.vpc.ForwardEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"forward-entry-example-name\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(name)\n .natType(\"Enhanced\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultEipAssociation = new EipAssociation(\"defaultEipAssociation\", EipAssociationArgs.builder()\n .allocationId(defaultEipAddress.id())\n .instanceId(defaultNatGateway.id())\n .build());\n\n var defaultForwardEntry = new ForwardEntry(\"defaultForwardEntry\", ForwardEntryArgs.builder()\n .forwardTableId(defaultNatGateway.forwardTableIds())\n .externalIp(defaultEipAddress.ipAddress())\n .externalPort(\"80\")\n .ipProtocol(\"tcp\")\n .internalIp(\"172.16.0.3\")\n .internalPort(\"8080\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: forward-entry-example-name\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: ${name}\n natType: Enhanced\n vswitchId: ${defaultSwitch.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: default\n properties:\n allocationId: ${defaultEipAddress.id}\n instanceId: ${defaultNatGateway.id}\n defaultForwardEntry:\n type: alicloud:vpc:ForwardEntry\n name: default\n properties:\n forwardTableId: ${defaultNatGateway.forwardTableIds}\n externalIp: ${defaultEipAddress.ipAddress}\n externalPort: '80'\n ipProtocol: tcp\n internalIp: 172.16.0.3\n internalPort: '8080'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nForward Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/forwardEntry:ForwardEntry foo ftb-1aece3:fwd-232ce2\n```\n\n", + "description": "Provides a forward resource.\n\n\u003e **NOTE:** Available since v1.40.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"forward-entry-example-name\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: name,\n natType: \"Enhanced\",\n vswitchId: defaultSwitch.id,\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultEipAssociation = new alicloud.ecs.EipAssociation(\"default\", {\n allocationId: defaultEipAddress.id,\n instanceId: defaultNatGateway.id,\n});\nconst defaultForwardEntry = new alicloud.vpc.ForwardEntry(\"default\", {\n forwardTableId: defaultNatGateway.forwardTableIds,\n externalIp: defaultEipAddress.ipAddress,\n externalPort: \"80\",\n ipProtocol: \"tcp\",\n internalIp: \"172.16.0.3\",\n internalPort: \"8080\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"forward-entry-example-name\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=name,\n nat_type=\"Enhanced\",\n vswitch_id=default_switch.id)\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_eip_association = alicloud.ecs.EipAssociation(\"default\",\n allocation_id=default_eip_address.id,\n instance_id=default_nat_gateway.id)\ndefault_forward_entry = alicloud.vpc.ForwardEntry(\"default\",\n forward_table_id=default_nat_gateway.forward_table_ids,\n external_ip=default_eip_address.ip_address,\n external_port=\"80\",\n ip_protocol=\"tcp\",\n internal_ip=\"172.16.0.3\",\n internal_port=\"8080\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"forward-entry-example-name\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = name,\n NatType = \"Enhanced\",\n VswitchId = defaultSwitch.Id,\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultEipAssociation = new AliCloud.Ecs.EipAssociation(\"default\", new()\n {\n AllocationId = defaultEipAddress.Id,\n InstanceId = defaultNatGateway.Id,\n });\n\n var defaultForwardEntry = new AliCloud.Vpc.ForwardEntry(\"default\", new()\n {\n ForwardTableId = defaultNatGateway.ForwardTableIds,\n ExternalIp = defaultEipAddress.IpAddress,\n ExternalPort = \"80\",\n IpProtocol = \"tcp\",\n InternalIp = \"172.16.0.3\",\n InternalPort = \"8080\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"forward-entry-example-name\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNatGateway, err := vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"default\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: defaultEipAddress.ID(),\n\t\t\tInstanceId: defaultNatGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewForwardEntry(ctx, \"default\", \u0026vpc.ForwardEntryArgs{\n\t\t\tForwardTableId: defaultNatGateway.ForwardTableIds,\n\t\t\tExternalIp: defaultEipAddress.IpAddress,\n\t\t\tExternalPort: pulumi.String(\"80\"),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tInternalIp: pulumi.String(\"172.16.0.3\"),\n\t\t\tInternalPort: pulumi.String(\"8080\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.ForwardEntry;\nimport com.pulumi.alicloud.vpc.ForwardEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"forward-entry-example-name\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(name)\n .natType(\"Enhanced\")\n .vswitchId(defaultSwitch.id())\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultEipAssociation = new EipAssociation(\"defaultEipAssociation\", EipAssociationArgs.builder()\n .allocationId(defaultEipAddress.id())\n .instanceId(defaultNatGateway.id())\n .build());\n\n var defaultForwardEntry = new ForwardEntry(\"defaultForwardEntry\", ForwardEntryArgs.builder()\n .forwardTableId(defaultNatGateway.forwardTableIds())\n .externalIp(defaultEipAddress.ipAddress())\n .externalPort(\"80\")\n .ipProtocol(\"tcp\")\n .internalIp(\"172.16.0.3\")\n .internalPort(\"8080\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: forward-entry-example-name\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: ${name}\n natType: Enhanced\n vswitchId: ${defaultSwitch.id}\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: default\n properties:\n allocationId: ${defaultEipAddress.id}\n instanceId: ${defaultNatGateway.id}\n defaultForwardEntry:\n type: alicloud:vpc:ForwardEntry\n name: default\n properties:\n forwardTableId: ${defaultNatGateway.forwardTableIds}\n externalIp: ${defaultEipAddress.ipAddress}\n externalPort: '80'\n ipProtocol: tcp\n internalIp: 172.16.0.3\n internalPort: '8080'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nForward Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/forwardEntry:ForwardEntry foo ftb-1aece3:fwd-232ce2\n```\n\n", "properties": { "externalIp": { "type": "string", @@ -260334,7 +266200,7 @@ } }, "alicloud:vpc/gatewayEndpoint:GatewayEndpoint": { - "description": "Provides a VPC Gateway Endpoint resource.\n\nVPC gateway endpoint.\n\nFor information about VPC Gateway Endpoint and how to use it, see [What is Gateway Endpoint](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/gateway-endpoint).\n\n\u003e **NOTE:** Available since v1.208.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst domain = config.get(\"domain\") || \"com.aliyun.cn-hangzhou.oss\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {description: \"tf-example\"});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-example-497\",\n resourceGroupName: name,\n});\nconst _default = new alicloud.vpc.GatewayEndpoint(\"default\", {\n gatewayEndpointDescrption: \"test-gateway-endpoint\",\n gatewayEndpointName: name,\n vpcId: defaultVpc.id,\n resourceGroupId: defaultRg.id,\n serviceName: domain,\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [{\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Action\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Principal\\\\\": [\\\\\"*\\\\\"]\n }]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"com.aliyun.cn-hangzhou.oss\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\", description=\"tf-example\")\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-example-497\",\n resource_group_name=name)\ndefault = alicloud.vpc.GatewayEndpoint(\"default\",\n gateway_endpoint_descrption=\"test-gateway-endpoint\",\n gateway_endpoint_name=name,\n vpc_id=default_vpc.id,\n resource_group_id=default_rg.id,\n service_name=domain,\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var domain = config.Get(\"domain\") ?? \"com.aliyun.cn-hangzhou.oss\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = \"tf-example\",\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-example-497\",\n ResourceGroupName = name,\n });\n\n var @default = new AliCloud.Vpc.GatewayEndpoint(\"default\", new()\n {\n GatewayEndpointDescrption = \"test-gateway-endpoint\",\n GatewayEndpointName = name,\n VpcId = defaultVpc.Id,\n ResourceGroupId = defaultRg.Id,\n ServiceName = domain,\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [{\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Action\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Principal\\\"\": [\\\"\"*\\\"\"]\n }]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"com.aliyun.cn-hangzhou.oss\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-497\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayEndpoint(ctx, \"default\", \u0026vpc.GatewayEndpointArgs{\n\t\t\tGatewayEndpointDescrption: pulumi.String(\"test-gateway-endpoint\"),\n\t\t\tGatewayEndpointName: pulumi.String(name),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tResourceGroupId: defaultRg.ID(),\n\t\t\tServiceName: pulumi.String(domain),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpoint;\nimport com.pulumi.alicloud.vpc.GatewayEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var domain = config.get(\"domain\").orElse(\"com.aliyun.cn-hangzhou.oss\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(\"tf-example\")\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-497\")\n .resourceGroupName(name)\n .build());\n\n var default_ = new GatewayEndpoint(\"default\", GatewayEndpointArgs.builder()\n .gatewayEndpointDescrption(\"test-gateway-endpoint\")\n .gatewayEndpointName(name)\n .vpcId(defaultVpc.id())\n .resourceGroupId(defaultRg.id())\n .serviceName(domain)\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n domain:\n type: string\n default: com.aliyun.cn-hangzhou.oss\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: tf-example\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-497\n resourceGroupName: ${name}\n default:\n type: alicloud:vpc:GatewayEndpoint\n properties:\n gatewayEndpointDescrption: test-gateway-endpoint\n gatewayEndpointName: ${name}\n vpcId: ${defaultVpc.id}\n resourceGroupId: ${defaultRg.id}\n serviceName: ${domain}\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Gateway Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayEndpoint:GatewayEndpoint example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Gateway Endpoint resource.\n\nVPC gateway endpoint.\n\nFor information about VPC Gateway Endpoint and how to use it, see [What is Gateway Endpoint](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/gateway-endpoint).\n\n\u003e **NOTE:** Available since v1.208.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst domain = config.get(\"domain\") || \"com.aliyun.cn-hangzhou.oss\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {description: \"tf-example\"});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-example-497\",\n resourceGroupName: name,\n});\nconst _default = new alicloud.vpc.GatewayEndpoint(\"default\", {\n gatewayEndpointDescrption: \"test-gateway-endpoint\",\n gatewayEndpointName: name,\n vpcId: defaultVpc.id,\n resourceGroupId: defaultRg.id,\n serviceName: domain,\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [{\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Action\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Principal\\\\\": [\\\\\"*\\\\\"]\n }]\n }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"com.aliyun.cn-hangzhou.oss\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\", description=\"tf-example\")\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-example-497\",\n resource_group_name=name)\ndefault = alicloud.vpc.GatewayEndpoint(\"default\",\n gateway_endpoint_descrption=\"test-gateway-endpoint\",\n gateway_endpoint_name=name,\n vpc_id=default_vpc.id,\n resource_group_id=default_rg.id,\n service_name=domain,\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var domain = config.Get(\"domain\") ?? \"com.aliyun.cn-hangzhou.oss\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = \"tf-example\",\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-example-497\",\n ResourceGroupName = name,\n });\n\n var @default = new AliCloud.Vpc.GatewayEndpoint(\"default\", new()\n {\n GatewayEndpointDescrption = \"test-gateway-endpoint\",\n GatewayEndpointName = name,\n VpcId = defaultVpc.Id,\n ResourceGroupId = defaultRg.Id,\n ServiceName = domain,\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [{\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Action\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Principal\\\"\": [\\\"\"*\\\"\"]\n }]\n }\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdomain := \"com.aliyun.cn-hangzhou.oss\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-497\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayEndpoint(ctx, \"default\", \u0026vpc.GatewayEndpointArgs{\n\t\t\tGatewayEndpointDescrption: pulumi.String(\"test-gateway-endpoint\"),\n\t\t\tGatewayEndpointName: pulumi.String(name),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tResourceGroupId: defaultRg.ID(),\n\t\t\tServiceName: pulumi.String(domain),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpoint;\nimport com.pulumi.alicloud.vpc.GatewayEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var domain = config.get(\"domain\").orElse(\"com.aliyun.cn-hangzhou.oss\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(\"tf-example\")\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-497\")\n .resourceGroupName(name)\n .build());\n\n var default_ = new GatewayEndpoint(\"default\", GatewayEndpointArgs.builder()\n .gatewayEndpointDescrption(\"test-gateway-endpoint\")\n .gatewayEndpointName(name)\n .vpcId(defaultVpc.id())\n .resourceGroupId(defaultRg.id())\n .serviceName(domain)\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n domain:\n type: string\n default: com.aliyun.cn-hangzhou.oss\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: tf-example\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-497\n resourceGroupName: ${name}\n default:\n type: alicloud:vpc:GatewayEndpoint\n properties:\n gatewayEndpointDescrption: test-gateway-endpoint\n gatewayEndpointName: ${name}\n vpcId: ${defaultVpc.id}\n resourceGroupId: ${defaultRg.id}\n serviceName: ${domain}\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Gateway Endpoint can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayEndpoint:GatewayEndpoint example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -260493,7 +266359,7 @@ } }, "alicloud:vpc/gatewayEndpointRouteTableAttachment:GatewayEndpointRouteTableAttachment": { - "description": "Provides a VPC Gateway Endpoint Route Table Attachment resource. VPC gateway node association route.\n\nFor information about VPC Gateway Endpoint Route Table Attachment and how to use it, see [What is Gateway Endpoint Route Table Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/311148).\n\n\u003e **NOTE:** Available since v1.208.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaulteVpc = new alicloud.vpc.Network(\"defaulteVpc\", {description: \"test\"});\nconst defaultGE = new alicloud.vpc.GatewayEndpoint(\"defaultGE\", {\n serviceName: \"com.aliyun.cn-hangzhou.oss\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [{\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Action\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Principal\\\\\": [\\\\\"*\\\\\"]\n }]\n }\n`,\n vpcId: defaulteVpc.id,\n gatewayEndpointDescrption: \"test-gateway-endpoint\",\n gatewayEndpointName: `${name}1`,\n});\nconst defaultRT = new alicloud.vpc.RouteTable(\"defaultRT\", {\n vpcId: defaulteVpc.id,\n routeTableName: `${name}2`,\n});\nconst _default = new alicloud.vpc.GatewayEndpointRouteTableAttachment(\"default\", {\n gatewayEndpointId: defaultGE.id,\n routeTableId: defaultRT.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaulte_vpc = alicloud.vpc.Network(\"defaulteVpc\", description=\"test\")\ndefault_ge = alicloud.vpc.GatewayEndpoint(\"defaultGE\",\n service_name=\"com.aliyun.cn-hangzhou.oss\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n\"\"\",\n vpc_id=defaulte_vpc.id,\n gateway_endpoint_descrption=\"test-gateway-endpoint\",\n gateway_endpoint_name=f\"{name}1\")\ndefault_rt = alicloud.vpc.RouteTable(\"defaultRT\",\n vpc_id=defaulte_vpc.id,\n route_table_name=f\"{name}2\")\ndefault = alicloud.vpc.GatewayEndpointRouteTableAttachment(\"default\",\n gateway_endpoint_id=default_ge.id,\n route_table_id=default_rt.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaulteVpc = new AliCloud.Vpc.Network(\"defaulteVpc\", new()\n {\n Description = \"test\",\n });\n\n var defaultGE = new AliCloud.Vpc.GatewayEndpoint(\"defaultGE\", new()\n {\n ServiceName = \"com.aliyun.cn-hangzhou.oss\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [{\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Action\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Principal\\\"\": [\\\"\"*\\\"\"]\n }]\n }\n\",\n VpcId = defaulteVpc.Id,\n GatewayEndpointDescrption = \"test-gateway-endpoint\",\n GatewayEndpointName = $\"{name}1\",\n });\n\n var defaultRT = new AliCloud.Vpc.RouteTable(\"defaultRT\", new()\n {\n VpcId = defaulteVpc.Id,\n RouteTableName = $\"{name}2\",\n });\n\n var @default = new AliCloud.Vpc.GatewayEndpointRouteTableAttachment(\"default\", new()\n {\n GatewayEndpointId = defaultGE.Id,\n RouteTableId = defaultRT.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulteVpc, err := vpc.NewNetwork(ctx, \"defaulteVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGE, err := vpc.NewGatewayEndpoint(ctx, \"defaultGE\", \u0026vpc.GatewayEndpointArgs{\n\t\t\tServiceName: pulumi.String(\"com.aliyun.cn-hangzhou.oss\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n`),\n\t\t\tVpcId: defaulteVpc.ID(),\n\t\t\tGatewayEndpointDescrption: pulumi.String(\"test-gateway-endpoint\"),\n\t\t\tGatewayEndpointName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRT, err := vpc.NewRouteTable(ctx, \"defaultRT\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: defaulteVpc.ID(),\n\t\t\tRouteTableName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayEndpointRouteTableAttachment(ctx, \"default\", \u0026vpc.GatewayEndpointRouteTableAttachmentArgs{\n\t\t\tGatewayEndpointId: defaultGE.ID(),\n\t\t\tRouteTableId: defaultRT.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpoint;\nimport com.pulumi.alicloud.vpc.GatewayEndpointArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpointRouteTableAttachment;\nimport com.pulumi.alicloud.vpc.GatewayEndpointRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaulteVpc = new Network(\"defaulteVpc\", NetworkArgs.builder()\n .description(\"test\")\n .build());\n\n var defaultGE = new GatewayEndpoint(\"defaultGE\", GatewayEndpointArgs.builder()\n .serviceName(\"com.aliyun.cn-hangzhou.oss\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n \"\"\")\n .vpcId(defaulteVpc.id())\n .gatewayEndpointDescrption(\"test-gateway-endpoint\")\n .gatewayEndpointName(String.format(\"%s1\", name))\n .build());\n\n var defaultRT = new RouteTable(\"defaultRT\", RouteTableArgs.builder()\n .vpcId(defaulteVpc.id())\n .routeTableName(String.format(\"%s2\", name))\n .build());\n\n var default_ = new GatewayEndpointRouteTableAttachment(\"default\", GatewayEndpointRouteTableAttachmentArgs.builder()\n .gatewayEndpointId(defaultGE.id())\n .routeTableId(defaultRT.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulteVpc:\n type: alicloud:vpc:Network\n properties:\n description: test\n defaultGE:\n type: alicloud:vpc:GatewayEndpoint\n properties:\n serviceName: com.aliyun.cn-hangzhou.oss\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n vpcId: ${defaulteVpc.id}\n gatewayEndpointDescrption: test-gateway-endpoint\n gatewayEndpointName: ${name}1\n defaultRT:\n type: alicloud:vpc:RouteTable\n properties:\n vpcId: ${defaulteVpc.id}\n routeTableName: ${name}2\n default:\n type: alicloud:vpc:GatewayEndpointRouteTableAttachment\n properties:\n gatewayEndpointId: ${defaultGE.id}\n routeTableId: ${defaultRT.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayEndpointRouteTableAttachment:GatewayEndpointRouteTableAttachment example \u003cgateway_endpoint_id\u003e:\u003croute_table_id\u003e\n```\n\n", + "description": "Provides a VPC Gateway Endpoint Route Table Attachment resource. VPC gateway node association route.\n\nFor information about VPC Gateway Endpoint Route Table Attachment and how to use it, see [What is Gateway Endpoint Route Table Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/311148).\n\n\u003e **NOTE:** Available since v1.208.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaulteVpc = new alicloud.vpc.Network(\"defaulteVpc\", {description: \"test\"});\nconst defaultGE = new alicloud.vpc.GatewayEndpoint(\"defaultGE\", {\n serviceName: \"com.aliyun.cn-hangzhou.oss\",\n policyDocument: ` {\n \\\\\"Version\\\\\": \\\\\"1\\\\\",\n \\\\\"Statement\\\\\": [{\n \\\\\"Effect\\\\\": \\\\\"Allow\\\\\",\n \\\\\"Resource\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Action\\\\\": [\\\\\"*\\\\\"],\n \\\\\"Principal\\\\\": [\\\\\"*\\\\\"]\n }]\n }\n`,\n vpcId: defaulteVpc.id,\n gatewayEndpointDescrption: \"test-gateway-endpoint\",\n gatewayEndpointName: `${name}1`,\n});\nconst defaultRT = new alicloud.vpc.RouteTable(\"defaultRT\", {\n vpcId: defaulteVpc.id,\n routeTableName: `${name}2`,\n});\nconst _default = new alicloud.vpc.GatewayEndpointRouteTableAttachment(\"default\", {\n gatewayEndpointId: defaultGE.id,\n routeTableId: defaultRT.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaulte_vpc = alicloud.vpc.Network(\"defaulteVpc\", description=\"test\")\ndefault_ge = alicloud.vpc.GatewayEndpoint(\"defaultGE\",\n service_name=\"com.aliyun.cn-hangzhou.oss\",\n policy_document=\"\"\" {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n\"\"\",\n vpc_id=defaulte_vpc.id,\n gateway_endpoint_descrption=\"test-gateway-endpoint\",\n gateway_endpoint_name=f\"{name}1\")\ndefault_rt = alicloud.vpc.RouteTable(\"defaultRT\",\n vpc_id=defaulte_vpc.id,\n route_table_name=f\"{name}2\")\ndefault = alicloud.vpc.GatewayEndpointRouteTableAttachment(\"default\",\n gateway_endpoint_id=default_ge.id,\n route_table_id=default_rt.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaulteVpc = new AliCloud.Vpc.Network(\"defaulteVpc\", new()\n {\n Description = \"test\",\n });\n\n var defaultGE = new AliCloud.Vpc.GatewayEndpoint(\"defaultGE\", new()\n {\n ServiceName = \"com.aliyun.cn-hangzhou.oss\",\n PolicyDocument = @\" {\n \\\"\"Version\\\"\": \\\"\"1\\\"\",\n \\\"\"Statement\\\"\": [{\n \\\"\"Effect\\\"\": \\\"\"Allow\\\"\",\n \\\"\"Resource\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Action\\\"\": [\\\"\"*\\\"\"],\n \\\"\"Principal\\\"\": [\\\"\"*\\\"\"]\n }]\n }\n\",\n VpcId = defaulteVpc.Id,\n GatewayEndpointDescrption = \"test-gateway-endpoint\",\n GatewayEndpointName = $\"{name}1\",\n });\n\n var defaultRT = new AliCloud.Vpc.RouteTable(\"defaultRT\", new()\n {\n VpcId = defaulteVpc.Id,\n RouteTableName = $\"{name}2\",\n });\n\n var @default = new AliCloud.Vpc.GatewayEndpointRouteTableAttachment(\"default\", new()\n {\n GatewayEndpointId = defaultGE.Id,\n RouteTableId = defaultRT.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaulteVpc, err := vpc.NewNetwork(ctx, \"defaulteVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGE, err := vpc.NewGatewayEndpoint(ctx, \"defaultGE\", \u0026vpc.GatewayEndpointArgs{\n\t\t\tServiceName: pulumi.String(\"com.aliyun.cn-hangzhou.oss\"),\n\t\t\tPolicyDocument: pulumi.String(` {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n`),\n\t\t\tVpcId: defaulteVpc.ID(),\n\t\t\tGatewayEndpointDescrption: pulumi.String(\"test-gateway-endpoint\"),\n\t\t\tGatewayEndpointName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRT, err := vpc.NewRouteTable(ctx, \"defaultRT\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: defaulteVpc.ID(),\n\t\t\tRouteTableName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayEndpointRouteTableAttachment(ctx, \"default\", \u0026vpc.GatewayEndpointRouteTableAttachmentArgs{\n\t\t\tGatewayEndpointId: defaultGE.ID(),\n\t\t\tRouteTableId: defaultRT.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpoint;\nimport com.pulumi.alicloud.vpc.GatewayEndpointArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.GatewayEndpointRouteTableAttachment;\nimport com.pulumi.alicloud.vpc.GatewayEndpointRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaulteVpc = new Network(\"defaulteVpc\", NetworkArgs.builder()\n .description(\"test\")\n .build());\n\n var defaultGE = new GatewayEndpoint(\"defaultGE\", GatewayEndpointArgs.builder()\n .serviceName(\"com.aliyun.cn-hangzhou.oss\")\n .policyDocument(\"\"\"\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n \"\"\")\n .vpcId(defaulteVpc.id())\n .gatewayEndpointDescrption(\"test-gateway-endpoint\")\n .gatewayEndpointName(String.format(\"%s1\", name))\n .build());\n\n var defaultRT = new RouteTable(\"defaultRT\", RouteTableArgs.builder()\n .vpcId(defaulteVpc.id())\n .routeTableName(String.format(\"%s2\", name))\n .build());\n\n var default_ = new GatewayEndpointRouteTableAttachment(\"default\", GatewayEndpointRouteTableAttachmentArgs.builder()\n .gatewayEndpointId(defaultGE.id())\n .routeTableId(defaultRT.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaulteVpc:\n type: alicloud:vpc:Network\n properties:\n description: test\n defaultGE:\n type: alicloud:vpc:GatewayEndpoint\n properties:\n serviceName: com.aliyun.cn-hangzhou.oss\n policyDocument: |2\n {\n \\\"Version\\\": \\\"1\\\",\n \\\"Statement\\\": [{\n \\\"Effect\\\": \\\"Allow\\\",\n \\\"Resource\\\": [\\\"*\\\"],\n \\\"Action\\\": [\\\"*\\\"],\n \\\"Principal\\\": [\\\"*\\\"]\n }]\n }\n vpcId: ${defaulteVpc.id}\n gatewayEndpointDescrption: test-gateway-endpoint\n gatewayEndpointName: ${name}1\n defaultRT:\n type: alicloud:vpc:RouteTable\n properties:\n vpcId: ${defaulteVpc.id}\n routeTableName: ${name}2\n default:\n type: alicloud:vpc:GatewayEndpointRouteTableAttachment\n properties:\n gatewayEndpointId: ${defaultGE.id}\n routeTableId: ${defaultRT.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayEndpointRouteTableAttachment:GatewayEndpointRouteTableAttachment example \u003cgateway_endpoint_id\u003e:\u003croute_table_id\u003e\n```\n\n", "properties": { "gatewayEndpointId": { "type": "string", @@ -260551,7 +266417,7 @@ } }, "alicloud:vpc/gatewayRouteTableAttachment:GatewayRouteTableAttachment": { - "description": "Provides a VPC Gateway Route Table Attachment resource. \n\nFor information about VPC Gateway Route Table Attachment and how to use it, see [What is Gateway Route Table Attachment](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.Network(\"example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"terraform-example\",\n});\nconst exampleRouteTable = new alicloud.vpc.RouteTable(\"example\", {\n vpcId: example.id,\n routeTableName: \"terraform-example\",\n description: \"terraform-example\",\n associateType: \"Gateway\",\n});\nconst exampleIpv4Gateway = new alicloud.vpc.Ipv4Gateway(\"example\", {\n ipv4GatewayName: \"terraform-example\",\n vpcId: example.id,\n enabled: true,\n});\nconst exampleGatewayRouteTableAttachment = new alicloud.vpc.GatewayRouteTableAttachment(\"example\", {\n ipv4GatewayId: exampleIpv4Gateway.id,\n routeTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.Network(\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"terraform-example\")\nexample_route_table = alicloud.vpc.RouteTable(\"example\",\n vpc_id=example.id,\n route_table_name=\"terraform-example\",\n description=\"terraform-example\",\n associate_type=\"Gateway\")\nexample_ipv4_gateway = alicloud.vpc.Ipv4Gateway(\"example\",\n ipv4_gateway_name=\"terraform-example\",\n vpc_id=example.id,\n enabled=True)\nexample_gateway_route_table_attachment = alicloud.vpc.GatewayRouteTableAttachment(\"example\",\n ipv4_gateway_id=example_ipv4_gateway.id,\n route_table_id=example_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"terraform-example\",\n });\n\n var exampleRouteTable = new AliCloud.Vpc.RouteTable(\"example\", new()\n {\n VpcId = example.Id,\n RouteTableName = \"terraform-example\",\n Description = \"terraform-example\",\n AssociateType = \"Gateway\",\n });\n\n var exampleIpv4Gateway = new AliCloud.Vpc.Ipv4Gateway(\"example\", new()\n {\n Ipv4GatewayName = \"terraform-example\",\n VpcId = example.Id,\n Enabled = true,\n });\n\n var exampleGatewayRouteTableAttachment = new AliCloud.Vpc.GatewayRouteTableAttachment(\"example\", new()\n {\n Ipv4GatewayId = exampleIpv4Gateway.Id,\n RouteTableId = exampleRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := vpc.NewRouteTable(ctx, \"example\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tRouteTableName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAssociateType: pulumi.String(\"Gateway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIpv4Gateway, err := vpc.NewIpv4Gateway(ctx, \"example\", \u0026vpc.Ipv4GatewayArgs{\n\t\t\tIpv4GatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayRouteTableAttachment(ctx, \"example\", \u0026vpc.GatewayRouteTableAttachmentArgs{\n\t\t\tIpv4GatewayId: exampleIpv4Gateway.ID(),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.Ipv4Gateway;\nimport com.pulumi.alicloud.vpc.Ipv4GatewayArgs;\nimport com.pulumi.alicloud.vpc.GatewayRouteTableAttachment;\nimport com.pulumi.alicloud.vpc.GatewayRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Network(\"example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"terraform-example\")\n .build());\n\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n .vpcId(example.id())\n .routeTableName(\"terraform-example\")\n .description(\"terraform-example\")\n .associateType(\"Gateway\")\n .build());\n\n var exampleIpv4Gateway = new Ipv4Gateway(\"exampleIpv4Gateway\", Ipv4GatewayArgs.builder()\n .ipv4GatewayName(\"terraform-example\")\n .vpcId(example.id())\n .enabled(true)\n .build());\n\n var exampleGatewayRouteTableAttachment = new GatewayRouteTableAttachment(\"exampleGatewayRouteTableAttachment\", GatewayRouteTableAttachmentArgs.builder()\n .ipv4GatewayId(exampleIpv4Gateway.id())\n .routeTableId(exampleRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: terraform-example\n exampleRouteTable:\n type: alicloud:vpc:RouteTable\n name: example\n properties:\n vpcId: ${example.id}\n routeTableName: terraform-example\n description: terraform-example\n associateType: Gateway\n exampleIpv4Gateway:\n type: alicloud:vpc:Ipv4Gateway\n name: example\n properties:\n ipv4GatewayName: terraform-example\n vpcId: ${example.id}\n enabled: 'true'\n exampleGatewayRouteTableAttachment:\n type: alicloud:vpc:GatewayRouteTableAttachment\n name: example\n properties:\n ipv4GatewayId: ${exampleIpv4Gateway.id}\n routeTableId: ${exampleRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Gateway Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayRouteTableAttachment:GatewayRouteTableAttachment example \u003croute_table_id\u003e:\u003cipv4_gateway_id\u003e\n```\n\n", + "description": "Provides a VPC Gateway Route Table Attachment resource. \n\nFor information about VPC Gateway Route Table Attachment and how to use it, see [What is Gateway Route Table Attachment](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.Network(\"example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: \"terraform-example\",\n});\nconst exampleRouteTable = new alicloud.vpc.RouteTable(\"example\", {\n vpcId: example.id,\n routeTableName: \"terraform-example\",\n description: \"terraform-example\",\n associateType: \"Gateway\",\n});\nconst exampleIpv4Gateway = new alicloud.vpc.Ipv4Gateway(\"example\", {\n ipv4GatewayName: \"terraform-example\",\n vpcId: example.id,\n enabled: true,\n});\nconst exampleGatewayRouteTableAttachment = new alicloud.vpc.GatewayRouteTableAttachment(\"example\", {\n ipv4GatewayId: exampleIpv4Gateway.id,\n routeTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.Network(\"example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=\"terraform-example\")\nexample_route_table = alicloud.vpc.RouteTable(\"example\",\n vpc_id=example.id,\n route_table_name=\"terraform-example\",\n description=\"terraform-example\",\n associate_type=\"Gateway\")\nexample_ipv4_gateway = alicloud.vpc.Ipv4Gateway(\"example\",\n ipv4_gateway_name=\"terraform-example\",\n vpc_id=example.id,\n enabled=True)\nexample_gateway_route_table_attachment = alicloud.vpc.GatewayRouteTableAttachment(\"example\",\n ipv4_gateway_id=example_ipv4_gateway.id,\n route_table_id=example_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = \"terraform-example\",\n });\n\n var exampleRouteTable = new AliCloud.Vpc.RouteTable(\"example\", new()\n {\n VpcId = example.Id,\n RouteTableName = \"terraform-example\",\n Description = \"terraform-example\",\n AssociateType = \"Gateway\",\n });\n\n var exampleIpv4Gateway = new AliCloud.Vpc.Ipv4Gateway(\"example\", new()\n {\n Ipv4GatewayName = \"terraform-example\",\n VpcId = example.Id,\n Enabled = true,\n });\n\n var exampleGatewayRouteTableAttachment = new AliCloud.Vpc.GatewayRouteTableAttachment(\"example\", new()\n {\n Ipv4GatewayId = exampleIpv4Gateway.Id,\n RouteTableId = exampleRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRouteTable, err := vpc.NewRouteTable(ctx, \"example\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tRouteTableName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tAssociateType: pulumi.String(\"Gateway\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIpv4Gateway, err := vpc.NewIpv4Gateway(ctx, \"example\", \u0026vpc.Ipv4GatewayArgs{\n\t\t\tIpv4GatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewGatewayRouteTableAttachment(ctx, \"example\", \u0026vpc.GatewayRouteTableAttachmentArgs{\n\t\t\tIpv4GatewayId: exampleIpv4Gateway.ID(),\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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.Ipv4Gateway;\nimport com.pulumi.alicloud.vpc.Ipv4GatewayArgs;\nimport com.pulumi.alicloud.vpc.GatewayRouteTableAttachment;\nimport com.pulumi.alicloud.vpc.GatewayRouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Network(\"example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(\"terraform-example\")\n .build());\n\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder()\n .vpcId(example.id())\n .routeTableName(\"terraform-example\")\n .description(\"terraform-example\")\n .associateType(\"Gateway\")\n .build());\n\n var exampleIpv4Gateway = new Ipv4Gateway(\"exampleIpv4Gateway\", Ipv4GatewayArgs.builder()\n .ipv4GatewayName(\"terraform-example\")\n .vpcId(example.id())\n .enabled(true)\n .build());\n\n var exampleGatewayRouteTableAttachment = new GatewayRouteTableAttachment(\"exampleGatewayRouteTableAttachment\", GatewayRouteTableAttachmentArgs.builder()\n .ipv4GatewayId(exampleIpv4Gateway.id())\n .routeTableId(exampleRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: terraform-example\n exampleRouteTable:\n type: alicloud:vpc:RouteTable\n name: example\n properties:\n vpcId: ${example.id}\n routeTableName: terraform-example\n description: terraform-example\n associateType: Gateway\n exampleIpv4Gateway:\n type: alicloud:vpc:Ipv4Gateway\n name: example\n properties:\n ipv4GatewayName: terraform-example\n vpcId: ${example.id}\n enabled: 'true'\n exampleGatewayRouteTableAttachment:\n type: alicloud:vpc:GatewayRouteTableAttachment\n name: example\n properties:\n ipv4GatewayId: ${exampleIpv4Gateway.id}\n routeTableId: ${exampleRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Gateway Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/gatewayRouteTableAttachment:GatewayRouteTableAttachment example \u003croute_table_id\u003e:\u003cipv4_gateway_id\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -260630,7 +266496,7 @@ } }, "alicloud:vpc/hAVip:HAVip": { - "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleHAVip = new alicloud.vpc.HAVip(\"example\", {\n vswitchId: exampleSwitch.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example.id,\n zone_id=default.zones[0].id)\nexample_ha_vip = alicloud.vpc.HAVip(\"example\",\n vswitch_id=example_switch.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleHAVip = new AliCloud.Vpc.HAVip(\"example\", new()\n {\n VswitchId = exampleSwitch.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHAVip(ctx, \"example\", \u0026vpc.HAVipArgs{\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.HAVip;\nimport com.pulumi.alicloud.vpc.HAVipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleHAVip = new HAVip(\"exampleHAVip\", HAVipArgs.builder()\n .vswitchId(exampleSwitch.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n exampleHAVip:\n type: alicloud:vpc:HAVip\n name: example\n properties:\n vswitchId: ${exampleSwitch.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe havip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/hAVip:HAVip foo havip-abc123456\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleHAVip = new alicloud.vpc.HAVip(\"example\", {\n vswitchId: exampleSwitch.id,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example.id,\n zone_id=default.zones[0].id)\nexample_ha_vip = alicloud.vpc.HAVip(\"example\",\n vswitch_id=example_switch.id,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleHAVip = new AliCloud.Vpc.HAVip(\"example\", new()\n {\n VswitchId = exampleSwitch.Id,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHAVip(ctx, \"example\", \u0026vpc.HAVipArgs{\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.HAVip;\nimport com.pulumi.alicloud.vpc.HAVipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleHAVip = new HAVip(\"exampleHAVip\", HAVipArgs.builder()\n .vswitchId(exampleSwitch.id())\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n exampleHAVip:\n type: alicloud:vpc:HAVip\n name: example\n properties:\n vswitchId: ${exampleSwitch.id}\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe havip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/hAVip:HAVip foo havip-abc123456\n```\n\n", "properties": { "associatedEipAddresses": { "type": "array", @@ -260837,7 +266703,7 @@ } }, "alicloud:vpc/hAVipAttachment:HAVipAttachment": { - "description": "Provides a VPC Ha Vip Attachment resource.\n\nAttaching ECS instance to Havip.\n\nFor information about VPC Ha Vip Attachment and how to use it, see [What is Ha Vip Attachment](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/AssociateHaVip).\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleHAVip = new alicloud.vpc.HAVip(\"example\", {\n vswitchId: exampleSwitch.id,\n description: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n description: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: exampleSwitch.id,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: example.then(example =\u003e example.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [exampleSecurityGroup.id],\n instanceName: name,\n userData: \"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\",\n});\nconst exampleHAVipAttachment = new alicloud.vpc.HAVipAttachment(\"example\", {\n haVipId: exampleHAVip.id,\n instanceId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=default.zones[0].id)\nexample_ha_vip = alicloud.vpc.HAVip(\"example\",\n vswitch_id=example_switch.id,\n description=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n description=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=default.zones[0].id,\n vswitch_id=example_switch.id,\n image_id=example_get_images.images[0].id,\n instance_type=example.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[example_security_group.id],\n instance_name=name,\n user_data=\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\")\nexample_ha_vip_attachment = alicloud.vpc.HAVipAttachment(\"example\",\n ha_vip_id=example_ha_vip.id,\n instance_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleHAVip = new AliCloud.Vpc.HAVip(\"example\", new()\n {\n VswitchId = exampleSwitch.Id,\n Description = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n Description = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = exampleSwitch.Id,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = example.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = name,\n UserData = \"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\",\n });\n\n var exampleHAVipAttachment = new AliCloud.Vpc.HAVipAttachment(\"example\", new()\n {\n HaVipId = exampleHAVip.Id,\n InstanceId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHAVip, err := vpc.NewHAVip(ctx, \"example\", \u0026vpc.HAVipArgs{\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(example.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tUserData: pulumi.String(\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHAVipAttachment(ctx, \"example\", \u0026vpc.HAVipAttachmentArgs{\n\t\t\tHaVipId: exampleHAVip.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.HAVip;\nimport com.pulumi.alicloud.vpc.HAVipArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.HAVipAttachment;\nimport com.pulumi.alicloud.vpc.HAVipAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var example = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleHAVip = new HAVip(\"exampleHAVip\", HAVipArgs.builder()\n .vswitchId(exampleSwitch.id())\n .description(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .vswitchId(exampleSwitch.id())\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(example.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(name)\n .userData(\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\")\n .build());\n\n var exampleHAVipAttachment = new HAVipAttachment(\"exampleHAVipAttachment\", HAVipAttachmentArgs.builder()\n .haVipId(exampleHAVip.id())\n .instanceId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${default.zones[0].id}\n exampleHAVip:\n type: alicloud:vpc:HAVip\n name: example\n properties:\n vswitchId: ${exampleSwitch.id}\n description: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${default.zones[0].id}\n vswitchId: ${exampleSwitch.id}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${example.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: ${name}\n userData: echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\n exampleHAVipAttachment:\n type: alicloud:vpc:HAVipAttachment\n name: example\n properties:\n haVipId: ${exampleHAVip.id}\n instanceId: ${exampleInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n example:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ha Vip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/hAVipAttachment:HAVipAttachment example \u003cha_vip_id\u003e:\u003cinstance_id\u003e\n```\n\n", + "description": "Provides a VPC Ha Vip Attachment resource.\n\nAttaching ECS instance to Havip.\n\nFor information about VPC Ha Vip Attachment and how to use it, see [What is Ha Vip Attachment](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/AssociateHaVip).\n\n\u003e **NOTE:** Available since v1.18.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 1,\n memorySize: 2,\n}));\nconst exampleGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n owners: \"system\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: exampleNetwork.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleHAVip = new alicloud.vpc.HAVip(\"example\", {\n vswitchId: exampleSwitch.id,\n description: name,\n});\nconst exampleSecurityGroup = new alicloud.ecs.SecurityGroup(\"example\", {\n name: name,\n description: name,\n vpcId: exampleNetwork.id,\n});\nconst exampleInstance = new alicloud.ecs.Instance(\"example\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchId: exampleSwitch.id,\n imageId: exampleGetImages.then(exampleGetImages =\u003e exampleGetImages.images?.[0]?.id),\n instanceType: example.then(example =\u003e example.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 5,\n securityGroups: [exampleSecurityGroup.id],\n instanceName: name,\n userData: \"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\",\n});\nconst exampleHAVipAttachment = new alicloud.vpc.HAVipAttachment(\"example\", {\n haVipId: exampleHAVip.id,\n instanceId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=1,\n memory_size=2)\nexample_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n owners=\"system\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example_network.id,\n zone_id=default.zones[0].id)\nexample_ha_vip = alicloud.vpc.HAVip(\"example\",\n vswitch_id=example_switch.id,\n description=name)\nexample_security_group = alicloud.ecs.SecurityGroup(\"example\",\n name=name,\n description=name,\n vpc_id=example_network.id)\nexample_instance = alicloud.ecs.Instance(\"example\",\n availability_zone=default.zones[0].id,\n vswitch_id=example_switch.id,\n image_id=example_get_images.images[0].id,\n instance_type=example.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=5,\n security_groups=[example_security_group.id],\n instance_name=name,\n user_data=\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\")\nexample_ha_vip_attachment = alicloud.vpc.HAVipAttachment(\"example\",\n ha_vip_id=example_ha_vip.id,\n instance_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 1,\n MemorySize = 2,\n });\n\n var exampleGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n Owners = \"system\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = exampleNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleHAVip = new AliCloud.Vpc.HAVip(\"example\", new()\n {\n VswitchId = exampleSwitch.Id,\n Description = name,\n });\n\n var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"example\", new()\n {\n Name = name,\n Description = name,\n VpcId = exampleNetwork.Id,\n });\n\n var exampleInstance = new AliCloud.Ecs.Instance(\"example\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchId = exampleSwitch.Id,\n ImageId = exampleGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = example.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 5,\n SecurityGroups = new[]\n {\n exampleSecurityGroup.Id,\n },\n InstanceName = name,\n UserData = \"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\",\n });\n\n var exampleHAVipAttachment = new AliCloud.Vpc.HAVipAttachment(\"example\", new()\n {\n HaVipId = exampleHAVip.Id,\n InstanceId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tCpuCoreCount: pulumi.IntRef(1),\n\t\t\tMemorySize: pulumi.Float64Ref(2),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleHAVip, err := vpc.NewHAVip(ctx, \"example\", \u0026vpc.HAVipArgs{\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"example\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ecs.NewInstance(ctx, \"example\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tImageId: pulumi.String(exampleGetImages.Images[0].Id),\n\t\t\tInstanceType: pulumi.String(example.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tInternetChargeType: pulumi.String(\"PayByTraffic\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(5),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleSecurityGroup.ID(),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tUserData: pulumi.String(\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHAVipAttachment(ctx, \"example\", \u0026vpc.HAVipAttachmentArgs{\n\t\t\tHaVipId: exampleHAVip.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.HAVip;\nimport com.pulumi.alicloud.vpc.HAVipArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.HAVipAttachment;\nimport com.pulumi.alicloud.vpc.HAVipAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var example = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(1)\n .memorySize(2)\n .build());\n\n final var exampleGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .owners(\"system\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(exampleNetwork.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleHAVip = new HAVip(\"exampleHAVip\", HAVipArgs.builder()\n .vswitchId(exampleSwitch.id())\n .description(name)\n .build());\n\n var exampleSecurityGroup = new SecurityGroup(\"exampleSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(exampleNetwork.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .vswitchId(exampleSwitch.id())\n .imageId(exampleGetImages.images()[0].id())\n .instanceType(example.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(5)\n .securityGroups(exampleSecurityGroup.id())\n .instanceName(name)\n .userData(\"echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\")\n .build());\n\n var exampleHAVipAttachment = new HAVipAttachment(\"exampleHAVipAttachment\", HAVipAttachmentArgs.builder()\n .haVipId(exampleHAVip.id())\n .instanceId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${exampleNetwork.id}\n zoneId: ${default.zones[0].id}\n exampleHAVip:\n type: alicloud:vpc:HAVip\n name: example\n properties:\n vswitchId: ${exampleSwitch.id}\n description: ${name}\n exampleSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: example\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${exampleNetwork.id}\n exampleInstance:\n type: alicloud:ecs:Instance\n name: example\n properties:\n availabilityZone: ${default.zones[0].id}\n vswitchId: ${exampleSwitch.id}\n imageId: ${exampleGetImages.images[0].id}\n instanceType: ${example.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n internetChargeType: PayByTraffic\n internetMaxBandwidthOut: 5\n securityGroups:\n - ${exampleSecurityGroup.id}\n instanceName: ${name}\n userData: echo 'net.ipv4.ip_forward=1'\u003e\u003e /etc/sysctl.conf\n exampleHAVipAttachment:\n type: alicloud:vpc:HAVipAttachment\n name: example\n properties:\n haVipId: ${exampleHAVip.id}\n instanceId: ${exampleInstance.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n example:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n cpuCoreCount: 1\n memorySize: 2\n exampleGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n owners: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ha Vip Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/hAVipAttachment:HAVipAttachment example \u003cha_vip_id\u003e:\u003cinstance_id\u003e\n```\n\n", "properties": { "force": { "type": "boolean", @@ -260939,7 +266805,7 @@ } }, "alicloud:vpc/haVipv2:HaVipv2": { - "description": "Provides a VPC Ha Vip resource.\n\nHighly available virtual IP.\n\nFor information about VPC Ha Vip and how to use it, see [What is Ha Vip](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createhavip).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n description: name,\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultVswitch = new alicloud.vpc.Switch(\"defaultVswitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"192.168.0.0/21\",\n vswitchName: `${name}1`,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n description: name,\n});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-example-defaultRg\",\n resourceGroupName: `${name}2`,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-example-changeRg\",\n resourceGroupName: `${name}3`,\n});\nconst defaultHaVipv2 = new alicloud.vpc.HaVipv2(\"default\", {\n description: name,\n vswitchId: defaultVswitch.id,\n haVipName: name,\n ipAddress: \"192.168.1.101\",\n resourceGroupId: defaultRg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n description=name,\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_vswitch = alicloud.vpc.Switch(\"defaultVswitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"192.168.0.0/21\",\n vswitch_name=f\"{name}1\",\n zone_id=default.zones[0].id,\n description=name)\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-example-defaultRg\",\n resource_group_name=f\"{name}2\")\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-example-changeRg\",\n resource_group_name=f\"{name}3\")\ndefault_ha_vipv2 = alicloud.vpc.HaVipv2(\"default\",\n description=name,\n vswitch_id=default_vswitch.id,\n ha_vip_name=name,\n ip_address=\"192.168.1.101\",\n resource_group_id=default_rg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = name,\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultVswitch = new AliCloud.Vpc.Switch(\"defaultVswitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"192.168.0.0/21\",\n VswitchName = $\"{name}1\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Description = name,\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-example-defaultRg\",\n ResourceGroupName = $\"{name}2\",\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-example-changeRg\",\n ResourceGroupName = $\"{name}3\",\n });\n\n var defaultHaVipv2 = new AliCloud.Vpc.HaVipv2(\"default\", new()\n {\n Description = name,\n VswitchId = defaultVswitch.Id,\n HaVipName = name,\n IpAddress = \"192.168.1.101\",\n ResourceGroupId = defaultRg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVswitch, err := vpc.NewSwitch(ctx, \"defaultVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/21\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v1\", name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-defaultRg\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-changeRg\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v3\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHaVipv2(ctx, \"default\", \u0026vpc.HaVipv2Args{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVswitchId: defaultVswitch.ID(),\n\t\t\tHaVipName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"192.168.1.101\"),\n\t\t\tResourceGroupId: defaultRg.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.HaVipv2;\nimport com.pulumi.alicloud.vpc.HaVipv2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(name)\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultVswitch = new Switch(\"defaultVswitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"192.168.0.0/21\")\n .vswitchName(String.format(\"%s1\", name))\n .zoneId(default_.zones()[0].id())\n .description(name)\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-defaultRg\")\n .resourceGroupName(String.format(\"%s2\", name))\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-changeRg\")\n .resourceGroupName(String.format(\"%s3\", name))\n .build());\n\n var defaultHaVipv2 = new HaVipv2(\"defaultHaVipv2\", HaVipv2Args.builder()\n .description(name)\n .vswitchId(defaultVswitch.id())\n .haVipName(name)\n .ipAddress(\"192.168.1.101\")\n .resourceGroupId(defaultRg.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 192.168.0.0/21\n vswitchName: ${name}1\n zoneId: ${default.zones[0].id}\n description: ${name}\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-defaultRg\n resourceGroupName: ${name}2\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-changeRg\n resourceGroupName: ${name}3\n defaultHaVipv2:\n type: alicloud:vpc:HaVipv2\n name: default\n properties:\n description: ${name}\n vswitchId: ${defaultVswitch.id}\n haVipName: ${name}\n ipAddress: 192.168.1.101\n resourceGroupId: ${defaultRg.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ha Vip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/haVipv2:HaVipv2 example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Ha Vip resource.\n\nHighly available virtual IP.\n\nFor information about VPC Ha Vip and how to use it, see [What is Ha Vip](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createhavip).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n description: name,\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultVswitch = new alicloud.vpc.Switch(\"defaultVswitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"192.168.0.0/21\",\n vswitchName: `${name}1`,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n description: name,\n});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-example-defaultRg\",\n resourceGroupName: `${name}2`,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-example-changeRg\",\n resourceGroupName: `${name}3`,\n});\nconst defaultHaVipv2 = new alicloud.vpc.HaVipv2(\"default\", {\n description: name,\n vswitchId: defaultVswitch.id,\n haVipName: name,\n ipAddress: \"192.168.1.101\",\n resourceGroupId: defaultRg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n description=name,\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_vswitch = alicloud.vpc.Switch(\"defaultVswitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"192.168.0.0/21\",\n vswitch_name=f\"{name}1\",\n zone_id=default.zones[0].id,\n description=name)\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-example-defaultRg\",\n resource_group_name=f\"{name}2\")\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-example-changeRg\",\n resource_group_name=f\"{name}3\")\ndefault_ha_vipv2 = alicloud.vpc.HaVipv2(\"default\",\n description=name,\n vswitch_id=default_vswitch.id,\n ha_vip_name=name,\n ip_address=\"192.168.1.101\",\n resource_group_id=default_rg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = name,\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultVswitch = new AliCloud.Vpc.Switch(\"defaultVswitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"192.168.0.0/21\",\n VswitchName = $\"{name}1\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Description = name,\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-example-defaultRg\",\n ResourceGroupName = $\"{name}2\",\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-example-changeRg\",\n ResourceGroupName = $\"{name}3\",\n });\n\n var defaultHaVipv2 = new AliCloud.Vpc.HaVipv2(\"default\", new()\n {\n Description = name,\n VswitchId = defaultVswitch.Id,\n HaVipName = name,\n IpAddress = \"192.168.1.101\",\n ResourceGroupId = defaultRg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVswitch, err := vpc.NewSwitch(ctx, \"defaultVswitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/21\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v1\", name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-defaultRg\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-example-changeRg\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v3\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewHaVipv2(ctx, \"default\", \u0026vpc.HaVipv2Args{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVswitchId: defaultVswitch.ID(),\n\t\t\tHaVipName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"192.168.1.101\"),\n\t\t\tResourceGroupId: defaultRg.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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.HaVipv2;\nimport com.pulumi.alicloud.vpc.HaVipv2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(name)\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultVswitch = new Switch(\"defaultVswitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"192.168.0.0/21\")\n .vswitchName(String.format(\"%s1\", name))\n .zoneId(default_.zones()[0].id())\n .description(name)\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-defaultRg\")\n .resourceGroupName(String.format(\"%s2\", name))\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-example-changeRg\")\n .resourceGroupName(String.format(\"%s3\", name))\n .build());\n\n var defaultHaVipv2 = new HaVipv2(\"defaultHaVipv2\", HaVipv2Args.builder()\n .description(name)\n .vswitchId(defaultVswitch.id())\n .haVipName(name)\n .ipAddress(\"192.168.1.101\")\n .resourceGroupId(defaultRg.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n defaultVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 192.168.0.0/21\n vswitchName: ${name}1\n zoneId: ${default.zones[0].id}\n description: ${name}\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-defaultRg\n resourceGroupName: ${name}2\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-example-changeRg\n resourceGroupName: ${name}3\n defaultHaVipv2:\n type: alicloud:vpc:HaVipv2\n name: default\n properties:\n description: ${name}\n vswitchId: ${defaultVswitch.id}\n haVipName: ${name}\n ipAddress: 192.168.1.101\n resourceGroupId: ${defaultRg.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ha Vip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/haVipv2:HaVipv2 example \u003cid\u003e\n```\n\n", "properties": { "associatedEipAddresses": { "type": "array", @@ -261146,7 +267012,7 @@ } }, "alicloud:vpc/ipamIpam:IpamIpam": { - "description": "Provides a Vpc Ipam Ipam resource.\n\nIP Address Management.\n\nFor information about Vpc Ipam Ipam and how to use it, see [What is Ipam](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpam).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIpamIpam = new alicloud.vpc.IpamIpam(\"default\", {\n ipamDescription: \"This is my first Ipam.\",\n ipamName: name,\n operatingRegionLists: [\"cn-hangzhou\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_ipam_ipam = alicloud.vpc.IpamIpam(\"default\",\n ipam_description=\"This is my first Ipam.\",\n ipam_name=name,\n operating_region_lists=[\"cn-hangzhou\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIpamIpam = new AliCloud.Vpc.IpamIpam(\"default\", new()\n {\n IpamDescription = \"This is my first Ipam.\",\n IpamName = name,\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpam(ctx, \"default\", \u0026vpc.IpamIpamArgs{\n\t\t\tIpamDescription: pulumi.String(\"This is my first Ipam.\"),\n\t\t\tIpamName: pulumi.String(name),\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIpamIpam = new IpamIpam(\"defaultIpamIpam\", IpamIpamArgs.builder()\n .ipamDescription(\"This is my first Ipam.\")\n .ipamName(name)\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpamIpam:\n type: alicloud:vpc:IpamIpam\n name: default\n properties:\n ipamDescription: This is my first Ipam.\n ipamName: ${name}\n operatingRegionLists:\n - cn-hangzhou\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpam:IpamIpam example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam resource.\n\nIP Address Management.\n\nFor information about Vpc Ipam Ipam and how to use it, see [What is Ipam](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpam).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIpamIpam = new alicloud.vpc.IpamIpam(\"default\", {\n ipamDescription: \"This is my first Ipam.\",\n ipamName: name,\n operatingRegionLists: [\"cn-hangzhou\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_ipam_ipam = alicloud.vpc.IpamIpam(\"default\",\n ipam_description=\"This is my first Ipam.\",\n ipam_name=name,\n operating_region_lists=[\"cn-hangzhou\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIpamIpam = new AliCloud.Vpc.IpamIpam(\"default\", new()\n {\n IpamDescription = \"This is my first Ipam.\",\n IpamName = name,\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpam(ctx, \"default\", \u0026vpc.IpamIpamArgs{\n\t\t\tIpamDescription: pulumi.String(\"This is my first Ipam.\"),\n\t\t\tIpamName: pulumi.String(name),\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIpamIpam = new IpamIpam(\"defaultIpamIpam\", IpamIpamArgs.builder()\n .ipamDescription(\"This is my first Ipam.\")\n .ipamName(name)\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpamIpam:\n type: alicloud:vpc:IpamIpam\n name: default\n properties:\n ipamDescription: This is my first Ipam.\n ipamName: ${name}\n operatingRegionLists:\n - cn-hangzhou\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpam:IpamIpam example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -261280,7 +267146,7 @@ } }, "alicloud:vpc/ipamIpamPool:IpamIpamPool": { - "description": "Provides a Vpc Ipam Ipam Pool resource.\n\nIP Address Management Pool.\n\nFor information about Vpc Ipam Ipam Pool and how to use it, see [What is Ipam Pool](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamPool).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst parentIpamPool = new alicloud.vpc.IpamIpamPool(\"parentIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n ipamPoolName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n poolRegionId: defaultIpam.regionId,\n});\nconst _default = new alicloud.vpc.IpamIpamPool(\"default\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: parentIpamPool.poolRegionId,\n ipamPoolName: name,\n sourceIpamPoolId: parentIpamPool.id,\n ipVersion: \"IPv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\nparent_ipam_pool = alicloud.vpc.IpamIpamPool(\"parentIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n ipam_pool_name=std.format(input=\"%s1\",\n args=[name]).result,\n pool_region_id=default_ipam.region_id)\ndefault = alicloud.vpc.IpamIpamPool(\"default\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=parent_ipam_pool.pool_region_id,\n ipam_pool_name=name,\n source_ipam_pool_id=parent_ipam_pool.id,\n ip_version=\"IPv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var parentIpamPool = new AliCloud.Vpc.IpamIpamPool(\"parentIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n IpamPoolName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n PoolRegionId = defaultIpam.RegionId,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPool(\"default\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = parentIpamPool.PoolRegionId,\n IpamPoolName = name,\n SourceIpamPoolId = parentIpamPool.Id,\n IpVersion = \"IPv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparentIpamPool, err := vpc.NewIpamIpamPool(ctx, \"parentIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tIpamPoolName: pulumi.String(invokeFormat.Result),\n\t\t\tPoolRegionId: defaultIpam.RegionId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPool(ctx, \"default\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: parentIpamPool.PoolRegionId,\n\t\t\tIpamPoolName: pulumi.String(name),\n\t\t\tSourceIpamPoolId: parentIpamPool.ID(),\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var parentIpamPool = new IpamIpamPool(\"parentIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .ipamPoolName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .poolRegionId(defaultIpam.regionId())\n .build());\n\n var default_ = new IpamIpamPool(\"default\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(parentIpamPool.poolRegionId())\n .ipamPoolName(name)\n .sourceIpamPoolId(parentIpamPool.id())\n .ipVersion(\"IPv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n parentIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n ipamPoolName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n poolRegionId: ${defaultIpam.regionId}\n default:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: ${parentIpamPool.poolRegionId}\n ipamPoolName: ${name}\n sourceIpamPoolId: ${parentIpamPool.id}\n ipVersion: IPv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPool:IpamIpamPool example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam Pool resource.\n\nIP Address Management Pool.\n\nFor information about Vpc Ipam Ipam Pool and how to use it, see [What is Ipam Pool](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamPool).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst parentIpamPool = new alicloud.vpc.IpamIpamPool(\"parentIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n ipamPoolName: std.format({\n input: \"%s1\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n poolRegionId: defaultIpam.regionId,\n});\nconst _default = new alicloud.vpc.IpamIpamPool(\"default\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: parentIpamPool.poolRegionId,\n ipamPoolName: name,\n sourceIpamPoolId: parentIpamPool.id,\n ipVersion: \"IPv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\nparent_ipam_pool = alicloud.vpc.IpamIpamPool(\"parentIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n ipam_pool_name=std.format(input=\"%s1\",\n args=[name]).result,\n pool_region_id=default_ipam.region_id)\ndefault = alicloud.vpc.IpamIpamPool(\"default\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=parent_ipam_pool.pool_region_id,\n ipam_pool_name=name,\n source_ipam_pool_id=parent_ipam_pool.id,\n ip_version=\"IPv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var parentIpamPool = new AliCloud.Vpc.IpamIpamPool(\"parentIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n IpamPoolName = Std.Format.Invoke(new()\n {\n Input = \"%s1\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n PoolRegionId = defaultIpam.RegionId,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPool(\"default\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = parentIpamPool.PoolRegionId,\n IpamPoolName = name,\n SourceIpamPoolId = parentIpamPool.Id,\n IpVersion = \"IPv4\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: \"%s1\",\n\t\t\tArgs: []string{\n\t\t\t\tname,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tparentIpamPool, err := vpc.NewIpamIpamPool(ctx, \"parentIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tIpamPoolName: pulumi.String(invokeFormat.Result),\n\t\t\tPoolRegionId: defaultIpam.RegionId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPool(ctx, \"default\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: parentIpamPool.PoolRegionId,\n\t\t\tIpamPoolName: pulumi.String(name),\n\t\t\tSourceIpamPoolId: parentIpamPool.ID(),\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var parentIpamPool = new IpamIpamPool(\"parentIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .ipamPoolName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s1\")\n .args(name)\n .build()).result())\n .poolRegionId(defaultIpam.regionId())\n .build());\n\n var default_ = new IpamIpamPool(\"default\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(parentIpamPool.poolRegionId())\n .ipamPoolName(name)\n .sourceIpamPoolId(parentIpamPool.id())\n .ipVersion(\"IPv4\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n parentIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n ipamPoolName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s1'\n args:\n - ${name}\n return: result\n poolRegionId: ${defaultIpam.regionId}\n default:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: ${parentIpamPool.poolRegionId}\n ipamPoolName: ${name}\n sourceIpamPoolId: ${parentIpamPool.id}\n ipVersion: IPv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPool:IpamIpamPool example \u003cid\u003e\n```\n\n", "properties": { "allocationDefaultCidrMask": { "type": "integer", @@ -261504,7 +267370,7 @@ } }, "alicloud:vpc/ipamIpamPoolAllocation:IpamIpamPoolAllocation": { - "description": "Provides a Vpc Ipam Ipam Pool Allocation resource.\n\nAllocates or reserves a CIDR from an IPAM address pool.\n\nFor information about Vpc Ipam Ipam Pool Allocation and how to use it, see [What is Ipam Pool Allocation](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamPoolAllocation).\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst defaultIpamPool = new alicloud.vpc.IpamIpamPool(\"defaultIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: \"cn-hangzhou\",\n});\nconst defaultIpamPoolCidr = new alicloud.vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\", {\n cidr: \"10.0.0.0/8\",\n ipamPoolId: defaultIpamPool.id,\n});\nconst _default = new alicloud.vpc.IpamIpamPoolAllocation(\"default\", {\n ipamPoolAllocationDescription: \"init alloc desc\",\n ipamPoolAllocationName: name,\n cidr: \"10.0.0.0/20\",\n ipamPoolId: defaultIpamPoolCidr.ipamPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\ndefault_ipam_pool = alicloud.vpc.IpamIpamPool(\"defaultIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=\"cn-hangzhou\")\ndefault_ipam_pool_cidr = alicloud.vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\",\n cidr=\"10.0.0.0/8\",\n ipam_pool_id=default_ipam_pool.id)\ndefault = alicloud.vpc.IpamIpamPoolAllocation(\"default\",\n ipam_pool_allocation_description=\"init alloc desc\",\n ipam_pool_allocation_name=name,\n cidr=\"10.0.0.0/20\",\n ipam_pool_id=default_ipam_pool_cidr.ipam_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var defaultIpamPool = new AliCloud.Vpc.IpamIpamPool(\"defaultIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = \"cn-hangzhou\",\n });\n\n var defaultIpamPoolCidr = new AliCloud.Vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\", new()\n {\n Cidr = \"10.0.0.0/8\",\n IpamPoolId = defaultIpamPool.Id,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPoolAllocation(\"default\", new()\n {\n IpamPoolAllocationDescription = \"init alloc desc\",\n IpamPoolAllocationName = name,\n Cidr = \"10.0.0.0/20\",\n IpamPoolId = defaultIpamPoolCidr.IpamPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPool, err := vpc.NewIpamIpamPool(ctx, \"defaultIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPoolCidr, err := vpc.NewIpamIpamPoolCidr(ctx, \"defaultIpamPoolCidr\", \u0026vpc.IpamIpamPoolCidrArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tIpamPoolId: defaultIpamPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPoolAllocation(ctx, \"default\", \u0026vpc.IpamIpamPoolAllocationArgs{\n\t\t\tIpamPoolAllocationDescription: pulumi.String(\"init alloc desc\"),\n\t\t\tIpamPoolAllocationName: pulumi.String(name),\n\t\t\tCidr: pulumi.String(\"10.0.0.0/20\"),\n\t\t\tIpamPoolId: defaultIpamPoolCidr.IpamPoolId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidr;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidrArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolAllocation;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPool = new IpamIpamPool(\"defaultIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPoolCidr = new IpamIpamPoolCidr(\"defaultIpamPoolCidr\", IpamIpamPoolCidrArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .ipamPoolId(defaultIpamPool.id())\n .build());\n\n var default_ = new IpamIpamPoolAllocation(\"default\", IpamIpamPoolAllocationArgs.builder()\n .ipamPoolAllocationDescription(\"init alloc desc\")\n .ipamPoolAllocationName(name)\n .cidr(\"10.0.0.0/20\")\n .ipamPoolId(defaultIpamPoolCidr.ipamPoolId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n defaultIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: cn-hangzhou\n defaultIpamPoolCidr:\n type: alicloud:vpc:IpamIpamPoolCidr\n properties:\n cidr: 10.0.0.0/8\n ipamPoolId: ${defaultIpamPool.id}\n default:\n type: alicloud:vpc:IpamIpamPoolAllocation\n properties:\n ipamPoolAllocationDescription: init alloc desc\n ipamPoolAllocationName: ${name}\n cidr: 10.0.0.0/20\n ipamPoolId: ${defaultIpamPoolCidr.ipamPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam Pool Allocation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPoolAllocation:IpamIpamPoolAllocation example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam Pool Allocation resource.\n\nAllocates or reserves a CIDR from an IPAM address pool.\n\nFor information about Vpc Ipam Ipam Pool Allocation and how to use it, see [What is Ipam Pool Allocation](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamPoolAllocation).\n\n\u003e **NOTE:** Available since v1.238.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst defaultIpamPool = new alicloud.vpc.IpamIpamPool(\"defaultIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: \"cn-hangzhou\",\n});\nconst defaultIpamPoolCidr = new alicloud.vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\", {\n cidr: \"10.0.0.0/8\",\n ipamPoolId: defaultIpamPool.id,\n});\nconst _default = new alicloud.vpc.IpamIpamPoolAllocation(\"default\", {\n ipamPoolAllocationDescription: \"init alloc desc\",\n ipamPoolAllocationName: name,\n cidr: \"10.0.0.0/20\",\n ipamPoolId: defaultIpamPoolCidr.ipamPoolId,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\ndefault_ipam_pool = alicloud.vpc.IpamIpamPool(\"defaultIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=\"cn-hangzhou\")\ndefault_ipam_pool_cidr = alicloud.vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\",\n cidr=\"10.0.0.0/8\",\n ipam_pool_id=default_ipam_pool.id)\ndefault = alicloud.vpc.IpamIpamPoolAllocation(\"default\",\n ipam_pool_allocation_description=\"init alloc desc\",\n ipam_pool_allocation_name=name,\n cidr=\"10.0.0.0/20\",\n ipam_pool_id=default_ipam_pool_cidr.ipam_pool_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var defaultIpamPool = new AliCloud.Vpc.IpamIpamPool(\"defaultIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = \"cn-hangzhou\",\n });\n\n var defaultIpamPoolCidr = new AliCloud.Vpc.IpamIpamPoolCidr(\"defaultIpamPoolCidr\", new()\n {\n Cidr = \"10.0.0.0/8\",\n IpamPoolId = defaultIpamPool.Id,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPoolAllocation(\"default\", new()\n {\n IpamPoolAllocationDescription = \"init alloc desc\",\n IpamPoolAllocationName = name,\n Cidr = \"10.0.0.0/20\",\n IpamPoolId = defaultIpamPoolCidr.IpamPoolId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPool, err := vpc.NewIpamIpamPool(ctx, \"defaultIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: pulumi.String(\"cn-hangzhou\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPoolCidr, err := vpc.NewIpamIpamPoolCidr(ctx, \"defaultIpamPoolCidr\", \u0026vpc.IpamIpamPoolCidrArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tIpamPoolId: defaultIpamPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPoolAllocation(ctx, \"default\", \u0026vpc.IpamIpamPoolAllocationArgs{\n\t\t\tIpamPoolAllocationDescription: pulumi.String(\"init alloc desc\"),\n\t\t\tIpamPoolAllocationName: pulumi.String(name),\n\t\t\tCidr: pulumi.String(\"10.0.0.0/20\"),\n\t\t\tIpamPoolId: defaultIpamPoolCidr.IpamPoolId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidr;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidrArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolAllocation;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolAllocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPool = new IpamIpamPool(\"defaultIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPoolCidr = new IpamIpamPoolCidr(\"defaultIpamPoolCidr\", IpamIpamPoolCidrArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .ipamPoolId(defaultIpamPool.id())\n .build());\n\n var default_ = new IpamIpamPoolAllocation(\"default\", IpamIpamPoolAllocationArgs.builder()\n .ipamPoolAllocationDescription(\"init alloc desc\")\n .ipamPoolAllocationName(name)\n .cidr(\"10.0.0.0/20\")\n .ipamPoolId(defaultIpamPoolCidr.ipamPoolId())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n defaultIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: cn-hangzhou\n defaultIpamPoolCidr:\n type: alicloud:vpc:IpamIpamPoolCidr\n properties:\n cidr: 10.0.0.0/8\n ipamPoolId: ${defaultIpamPool.id}\n default:\n type: alicloud:vpc:IpamIpamPoolAllocation\n properties:\n ipamPoolAllocationDescription: init alloc desc\n ipamPoolAllocationName: ${name}\n cidr: 10.0.0.0/20\n ipamPoolId: ${defaultIpamPoolCidr.ipamPoolId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam Pool Allocation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPoolAllocation:IpamIpamPoolAllocation example \u003cid\u003e\n```\n\n", "properties": { "cidr": { "type": "string", @@ -261615,7 +267481,7 @@ } }, "alicloud:vpc/ipamIpamPoolCidr:IpamIpamPoolCidr": { - "description": "Provides a Vpc Ipam Ipam Pool Cidr resource.\n\nIpam address pool preset CIDR.\n\nFor information about Vpc Ipam Ipam Pool Cidr and how to use it, see [What is Ipam Pool Cidr](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/AddIpamPoolCidr).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst defaultIpamPool = new alicloud.vpc.IpamIpamPool(\"defaultIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: defaultIpam.regionId,\n ipVersion: \"IPv4\",\n});\nconst _default = new alicloud.vpc.IpamIpamPoolCidr(\"default\", {\n cidr: \"10.0.0.0/8\",\n ipamPoolId: defaultIpamPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\ndefault_ipam_pool = alicloud.vpc.IpamIpamPool(\"defaultIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=default_ipam.region_id,\n ip_version=\"IPv4\")\ndefault = alicloud.vpc.IpamIpamPoolCidr(\"default\",\n cidr=\"10.0.0.0/8\",\n ipam_pool_id=default_ipam_pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var defaultIpamPool = new AliCloud.Vpc.IpamIpamPool(\"defaultIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = defaultIpam.RegionId,\n IpVersion = \"IPv4\",\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPoolCidr(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n IpamPoolId = defaultIpamPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPool, err := vpc.NewIpamIpamPool(ctx, \"defaultIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: defaultIpam.RegionId,\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPoolCidr(ctx, \"default\", \u0026vpc.IpamIpamPoolCidrArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tIpamPoolId: defaultIpamPool.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.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidr;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPool = new IpamIpamPool(\"defaultIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(defaultIpam.regionId())\n .ipVersion(\"IPv4\")\n .build());\n\n var default_ = new IpamIpamPoolCidr(\"default\", IpamIpamPoolCidrArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .ipamPoolId(defaultIpamPool.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n defaultIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: ${defaultIpam.regionId}\n ipVersion: IPv4\n default:\n type: alicloud:vpc:IpamIpamPoolCidr\n properties:\n cidr: 10.0.0.0/8\n ipamPoolId: ${defaultIpamPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam Pool Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPoolCidr:IpamIpamPoolCidr example \u003cipam_pool_id\u003e:\u003ccidr\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam Pool Cidr resource.\n\nIpam address pool preset CIDR.\n\nFor information about Vpc Ipam Ipam Pool Cidr and how to use it, see [What is Ipam Pool Cidr](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/AddIpamPoolCidr).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {operatingRegionLists: [\"cn-hangzhou\"]});\nconst defaultIpamPool = new alicloud.vpc.IpamIpamPool(\"defaultIpamPool\", {\n ipamScopeId: defaultIpam.privateDefaultScopeId,\n poolRegionId: defaultIpam.regionId,\n ipVersion: \"IPv4\",\n});\nconst _default = new alicloud.vpc.IpamIpamPoolCidr(\"default\", {\n cidr: \"10.0.0.0/8\",\n ipamPoolId: defaultIpamPool.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\", operating_region_lists=[\"cn-hangzhou\"])\ndefault_ipam_pool = alicloud.vpc.IpamIpamPool(\"defaultIpamPool\",\n ipam_scope_id=default_ipam.private_default_scope_id,\n pool_region_id=default_ipam.region_id,\n ip_version=\"IPv4\")\ndefault = alicloud.vpc.IpamIpamPoolCidr(\"default\",\n cidr=\"10.0.0.0/8\",\n ipam_pool_id=default_ipam_pool.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n });\n\n var defaultIpamPool = new AliCloud.Vpc.IpamIpamPool(\"defaultIpamPool\", new()\n {\n IpamScopeId = defaultIpam.PrivateDefaultScopeId,\n PoolRegionId = defaultIpam.RegionId,\n IpVersion = \"IPv4\",\n });\n\n var @default = new AliCloud.Vpc.IpamIpamPoolCidr(\"default\", new()\n {\n Cidr = \"10.0.0.0/8\",\n IpamPoolId = defaultIpamPool.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpamPool, err := vpc.NewIpamIpamPool(ctx, \"defaultIpamPool\", \u0026vpc.IpamIpamPoolArgs{\n\t\t\tIpamScopeId: defaultIpam.PrivateDefaultScopeId,\n\t\t\tPoolRegionId: defaultIpam.RegionId,\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamPoolCidr(ctx, \"default\", \u0026vpc.IpamIpamPoolCidrArgs{\n\t\t\tCidr: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tIpamPoolId: defaultIpamPool.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.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPool;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidr;\nimport com.pulumi.alicloud.vpc.IpamIpamPoolCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .build());\n\n var defaultIpamPool = new IpamIpamPool(\"defaultIpamPool\", IpamIpamPoolArgs.builder()\n .ipamScopeId(defaultIpam.privateDefaultScopeId())\n .poolRegionId(defaultIpam.regionId())\n .ipVersion(\"IPv4\")\n .build());\n\n var default_ = new IpamIpamPoolCidr(\"default\", IpamIpamPoolCidrArgs.builder()\n .cidr(\"10.0.0.0/8\")\n .ipamPoolId(defaultIpamPool.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n defaultIpamPool:\n type: alicloud:vpc:IpamIpamPool\n properties:\n ipamScopeId: ${defaultIpam.privateDefaultScopeId}\n poolRegionId: ${defaultIpam.regionId}\n ipVersion: IPv4\n default:\n type: alicloud:vpc:IpamIpamPoolCidr\n properties:\n cidr: 10.0.0.0/8\n ipamPoolId: ${defaultIpamPool.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam Pool Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamPoolCidr:IpamIpamPoolCidr example \u003cipam_pool_id\u003e:\u003ccidr\u003e\n```\n\n", "properties": { "cidr": { "type": "string", @@ -261673,7 +267539,7 @@ } }, "alicloud:vpc/ipamIpamResourceDiscovery:IpamIpamResourceDiscovery": { - "description": "Provides a Vpc Ipam Ipam Resource Discovery resource.\n\nIP Address Management Resource Discovery.\n\nFor information about Vpc Ipam Ipam Resource Discovery and how to use it, see [What is Ipam Resource Discovery](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamResourceDiscovery).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIpamIpamResourceDiscovery = new alicloud.vpc.IpamIpamResourceDiscovery(\"default\", {\n operatingRegionLists: [\"cn-hangzhou\"],\n ipamResourceDiscoveryDescription: \"This is a custom IPAM resource discovery.\",\n ipamResourceDiscoveryName: \"example_resource_discovery\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_ipam_ipam_resource_discovery = alicloud.vpc.IpamIpamResourceDiscovery(\"default\",\n operating_region_lists=[\"cn-hangzhou\"],\n ipam_resource_discovery_description=\"This is a custom IPAM resource discovery.\",\n ipam_resource_discovery_name=\"example_resource_discovery\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIpamIpamResourceDiscovery = new AliCloud.Vpc.IpamIpamResourceDiscovery(\"default\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n IpamResourceDiscoveryDescription = \"This is a custom IPAM resource discovery.\",\n IpamResourceDiscoveryName = \"example_resource_discovery\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamResourceDiscovery(ctx, \"default\", \u0026vpc.IpamIpamResourceDiscoveryArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tIpamResourceDiscoveryDescription: pulumi.String(\"This is a custom IPAM resource discovery.\"),\n\t\t\tIpamResourceDiscoveryName: pulumi.String(\"example_resource_discovery\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamResourceDiscovery;\nimport com.pulumi.alicloud.vpc.IpamIpamResourceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIpamIpamResourceDiscovery = new IpamIpamResourceDiscovery(\"defaultIpamIpamResourceDiscovery\", IpamIpamResourceDiscoveryArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .ipamResourceDiscoveryDescription(\"This is a custom IPAM resource discovery.\")\n .ipamResourceDiscoveryName(\"example_resource_discovery\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpamIpamResourceDiscovery:\n type: alicloud:vpc:IpamIpamResourceDiscovery\n name: default\n properties:\n operatingRegionLists:\n - cn-hangzhou\n ipamResourceDiscoveryDescription: This is a custom IPAM resource discovery.\n ipamResourceDiscoveryName: example_resource_discovery\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam Resource Discovery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamResourceDiscovery:IpamIpamResourceDiscovery example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam Resource Discovery resource.\n\nIP Address Management Resource Discovery.\n\nFor information about Vpc Ipam Ipam Resource Discovery and how to use it, see [What is Ipam Resource Discovery](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamResourceDiscovery).\n\n\u003e **NOTE:** Available since v1.243.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultIpamIpamResourceDiscovery = new alicloud.vpc.IpamIpamResourceDiscovery(\"default\", {\n operatingRegionLists: [\"cn-hangzhou\"],\n ipamResourceDiscoveryDescription: \"This is a custom IPAM resource discovery.\",\n ipamResourceDiscoveryName: \"example_resource_discovery\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_ipam_ipam_resource_discovery = alicloud.vpc.IpamIpamResourceDiscovery(\"default\",\n operating_region_lists=[\"cn-hangzhou\"],\n ipam_resource_discovery_description=\"This is a custom IPAM resource discovery.\",\n ipam_resource_discovery_name=\"example_resource_discovery\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultIpamIpamResourceDiscovery = new AliCloud.Vpc.IpamIpamResourceDiscovery(\"default\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n IpamResourceDiscoveryDescription = \"This is a custom IPAM resource discovery.\",\n IpamResourceDiscoveryName = \"example_resource_discovery\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamResourceDiscovery(ctx, \"default\", \u0026vpc.IpamIpamResourceDiscoveryArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tIpamResourceDiscoveryDescription: pulumi.String(\"This is a custom IPAM resource discovery.\"),\n\t\t\tIpamResourceDiscoveryName: pulumi.String(\"example_resource_discovery\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamResourceDiscovery;\nimport com.pulumi.alicloud.vpc.IpamIpamResourceDiscoveryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var defaultIpamIpamResourceDiscovery = new IpamIpamResourceDiscovery(\"defaultIpamIpamResourceDiscovery\", IpamIpamResourceDiscoveryArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .ipamResourceDiscoveryDescription(\"This is a custom IPAM resource discovery.\")\n .ipamResourceDiscoveryName(\"example_resource_discovery\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpamIpamResourceDiscovery:\n type: alicloud:vpc:IpamIpamResourceDiscovery\n name: default\n properties:\n operatingRegionLists:\n - cn-hangzhou\n ipamResourceDiscoveryDescription: This is a custom IPAM resource discovery.\n ipamResourceDiscoveryName: example_resource_discovery\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam Resource Discovery can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamResourceDiscovery:IpamIpamResourceDiscovery example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -261798,7 +267664,7 @@ } }, "alicloud:vpc/ipamIpamScope:IpamIpamScope": { - "description": "Provides a Vpc Ipam Ipam Scope resource.\n\nIP Address Management Scope.\n\nFor information about Vpc Ipam Ipam Scope and how to use it, see [What is Ipam Scope](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamScope).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {\n operatingRegionLists: [\"cn-hangzhou\"],\n ipamName: name,\n});\nconst _default = new alicloud.vpc.IpamIpamScope(\"default\", {\n ipamScopeName: name,\n ipamId: defaultIpam.id,\n ipamScopeDescription: \"This is a ipam scope.\",\n ipamScopeType: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\",\n operating_region_lists=[\"cn-hangzhou\"],\n ipam_name=name)\ndefault = alicloud.vpc.IpamIpamScope(\"default\",\n ipam_scope_name=name,\n ipam_id=default_ipam.id,\n ipam_scope_description=\"This is a ipam scope.\",\n ipam_scope_type=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n IpamName = name,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamScope(\"default\", new()\n {\n IpamScopeName = name,\n IpamId = defaultIpam.Id,\n IpamScopeDescription = \"This is a ipam scope.\",\n IpamScopeType = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tIpamName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamScope(ctx, \"default\", \u0026vpc.IpamIpamScopeArgs{\n\t\t\tIpamScopeName: pulumi.String(name),\n\t\t\tIpamId: defaultIpam.ID(),\n\t\t\tIpamScopeDescription: pulumi.String(\"This is a ipam scope.\"),\n\t\t\tIpamScopeType: 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.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamScope;\nimport com.pulumi.alicloud.vpc.IpamIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .ipamName(name)\n .build());\n\n var default_ = new IpamIpamScope(\"default\", IpamIpamScopeArgs.builder()\n .ipamScopeName(name)\n .ipamId(defaultIpam.id())\n .ipamScopeDescription(\"This is a ipam scope.\")\n .ipamScopeType(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n ipamName: ${name}\n default:\n type: alicloud:vpc:IpamIpamScope\n properties:\n ipamScopeName: ${name}\n ipamId: ${defaultIpam.id}\n ipamScopeDescription: This is a ipam scope.\n ipamScopeType: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipam Ipam Scope can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamScope:IpamIpamScope example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipam Ipam Scope resource.\n\nIP Address Management Scope.\n\nFor information about Vpc Ipam Ipam Scope and how to use it, see [What is Ipam Scope](https://next.api.alibabacloud.com/document/VpcIpam/2023-02-28/CreateIpamScope).\n\n\u003e **NOTE:** Available since v1.234.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultIpam = new alicloud.vpc.IpamIpam(\"defaultIpam\", {\n operatingRegionLists: [\"cn-hangzhou\"],\n ipamName: name,\n});\nconst _default = new alicloud.vpc.IpamIpamScope(\"default\", {\n ipamScopeName: name,\n ipamId: defaultIpam.id,\n ipamScopeDescription: \"This is a ipam scope.\",\n ipamScopeType: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_ipam = alicloud.vpc.IpamIpam(\"defaultIpam\",\n operating_region_lists=[\"cn-hangzhou\"],\n ipam_name=name)\ndefault = alicloud.vpc.IpamIpamScope(\"default\",\n ipam_scope_name=name,\n ipam_id=default_ipam.id,\n ipam_scope_description=\"This is a ipam scope.\",\n ipam_scope_type=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultIpam = new AliCloud.Vpc.IpamIpam(\"defaultIpam\", new()\n {\n OperatingRegionLists = new[]\n {\n \"cn-hangzhou\",\n },\n IpamName = name,\n });\n\n var @default = new AliCloud.Vpc.IpamIpamScope(\"default\", new()\n {\n IpamScopeName = name,\n IpamId = defaultIpam.Id,\n IpamScopeDescription = \"This is a ipam scope.\",\n IpamScopeType = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultIpam, err := vpc.NewIpamIpam(ctx, \"defaultIpam\", \u0026vpc.IpamIpamArgs{\n\t\t\tOperatingRegionLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cn-hangzhou\"),\n\t\t\t},\n\t\t\tIpamName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpamIpamScope(ctx, \"default\", \u0026vpc.IpamIpamScopeArgs{\n\t\t\tIpamScopeName: pulumi.String(name),\n\t\t\tIpamId: defaultIpam.ID(),\n\t\t\tIpamScopeDescription: pulumi.String(\"This is a ipam scope.\"),\n\t\t\tIpamScopeType: 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.alicloud.vpc.IpamIpam;\nimport com.pulumi.alicloud.vpc.IpamIpamArgs;\nimport com.pulumi.alicloud.vpc.IpamIpamScope;\nimport com.pulumi.alicloud.vpc.IpamIpamScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultIpam = new IpamIpam(\"defaultIpam\", IpamIpamArgs.builder()\n .operatingRegionLists(\"cn-hangzhou\")\n .ipamName(name)\n .build());\n\n var default_ = new IpamIpamScope(\"default\", IpamIpamScopeArgs.builder()\n .ipamScopeName(name)\n .ipamId(defaultIpam.id())\n .ipamScopeDescription(\"This is a ipam scope.\")\n .ipamScopeType(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultIpam:\n type: alicloud:vpc:IpamIpam\n properties:\n operatingRegionLists:\n - cn-hangzhou\n ipamName: ${name}\n default:\n type: alicloud:vpc:IpamIpamScope\n properties:\n ipamScopeName: ${name}\n ipamId: ${defaultIpam.id}\n ipamScopeDescription: This is a ipam scope.\n ipamScopeType: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipam Ipam Scope can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipamIpamScope:IpamIpamScope example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -261952,7 +267818,7 @@ } }, "alicloud:vpc/ipv4CidrBlock:Ipv4CidrBlock": { - "description": "Provides a VPC Ipv4 Cidr Block resource.\n\nVPC IPv4 additional network segment.\n\nFor information about VPC Ipv4 Cidr Block and how to use it, see [What is Ipv4 Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatevpccidrblock).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultvpc = new alicloud.vpc.Network(\"defaultvpc\", {description: name});\nconst _default = new alicloud.vpc.Ipv4CidrBlock(\"default\", {\n secondaryCidrBlock: \"192.168.0.0/16\",\n vpcId: defaultvpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultvpc = alicloud.vpc.Network(\"defaultvpc\", description=name)\ndefault = alicloud.vpc.Ipv4CidrBlock(\"default\",\n secondary_cidr_block=\"192.168.0.0/16\",\n vpc_id=defaultvpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultvpc = new AliCloud.Vpc.Network(\"defaultvpc\", new()\n {\n Description = name,\n });\n\n var @default = new AliCloud.Vpc.Ipv4CidrBlock(\"default\", new()\n {\n SecondaryCidrBlock = \"192.168.0.0/16\",\n VpcId = defaultvpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultvpc, err := vpc.NewNetwork(ctx, \"defaultvpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv4CidrBlock(ctx, \"default\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcId: defaultvpc.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultvpc = new Network(\"defaultvpc\", NetworkArgs.builder()\n .description(name)\n .build());\n\n var default_ = new Ipv4CidrBlock(\"default\", Ipv4CidrBlockArgs.builder()\n .secondaryCidrBlock(\"192.168.0.0/16\")\n .vpcId(defaultvpc.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultvpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n default:\n type: alicloud:vpc:Ipv4CidrBlock\n properties:\n secondaryCidrBlock: 192.168.0.0/16\n vpcId: ${defaultvpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ipv4 Cidr Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv4CidrBlock:Ipv4CidrBlock example \u003cvpc_id\u003e:\u003csecondary_cidr_block\u003e\n```\n\n", + "description": "Provides a VPC Ipv4 Cidr Block resource.\n\nVPC IPv4 additional network segment.\n\nFor information about VPC Ipv4 Cidr Block and how to use it, see [What is Ipv4 Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatevpccidrblock).\n\n\u003e **NOTE:** Available since v1.185.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultvpc = new alicloud.vpc.Network(\"defaultvpc\", {description: name});\nconst _default = new alicloud.vpc.Ipv4CidrBlock(\"default\", {\n secondaryCidrBlock: \"192.168.0.0/16\",\n vpcId: defaultvpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefaultvpc = alicloud.vpc.Network(\"defaultvpc\", description=name)\ndefault = alicloud.vpc.Ipv4CidrBlock(\"default\",\n secondary_cidr_block=\"192.168.0.0/16\",\n vpc_id=defaultvpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultvpc = new AliCloud.Vpc.Network(\"defaultvpc\", new()\n {\n Description = name,\n });\n\n var @default = new AliCloud.Vpc.Ipv4CidrBlock(\"default\", new()\n {\n SecondaryCidrBlock = \"192.168.0.0/16\",\n VpcId = defaultvpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultvpc, err := vpc.NewNetwork(ctx, \"defaultvpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv4CidrBlock(ctx, \"default\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tVpcId: defaultvpc.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultvpc = new Network(\"defaultvpc\", NetworkArgs.builder()\n .description(name)\n .build());\n\n var default_ = new Ipv4CidrBlock(\"default\", Ipv4CidrBlockArgs.builder()\n .secondaryCidrBlock(\"192.168.0.0/16\")\n .vpcId(defaultvpc.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultvpc:\n type: alicloud:vpc:Network\n properties:\n description: ${name}\n default:\n type: alicloud:vpc:Ipv4CidrBlock\n properties:\n secondaryCidrBlock: 192.168.0.0/16\n vpcId: ${defaultvpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ipv4 Cidr Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv4CidrBlock:Ipv4CidrBlock example \u003cvpc_id\u003e:\u003csecondary_cidr_block\u003e\n```\n\n", "properties": { "ipv4IpamPoolId": { "type": "string", @@ -262033,7 +267899,7 @@ } }, "alicloud:vpc/ipv4Gateway:Ipv4Gateway": { - "description": "Provides a Vpc Ipv4 Gateway resource.\n\nFor information about VPC Ipv4 Gateway and how to use it, see [What is Ipv4 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv4gateway).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.resourcemanager.ResourceGroup(\"default\", {\n displayName: name,\n resourceGroupName: name,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}2`,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultIpv4Gateway = new alicloud.vpc.Ipv4Gateway(\"default\", {\n ipv4GatewayName: name,\n ipv4GatewayDescription: name,\n resourceGroupId: _default.id,\n vpcId: defaultNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.ResourceGroup(\"default\",\n display_name=name,\n resource_group_name=name)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}2\",\n cidr_block=\"10.0.0.0/8\")\ndefault_ipv4_gateway = alicloud.vpc.Ipv4Gateway(\"default\",\n ipv4_gateway_name=name,\n ipv4_gateway_description=name,\n resource_group_id=default.id,\n vpc_id=default_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.ResourceManager.ResourceGroup(\"default\", new()\n {\n DisplayName = name,\n ResourceGroupName = name,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}2\",\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultIpv4Gateway = new AliCloud.Vpc.Ipv4Gateway(\"default\", new()\n {\n Ipv4GatewayName = name,\n Ipv4GatewayDescription = name,\n ResourceGroupId = @default.Id,\n VpcId = defaultNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.NewResourceGroup(ctx, \"default\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v2\", name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv4Gateway(ctx, \"default\", \u0026vpc.Ipv4GatewayArgs{\n\t\t\tIpv4GatewayName: pulumi.String(name),\n\t\t\tIpv4GatewayDescription: pulumi.String(name),\n\t\t\tResourceGroupId: _default.ID(),\n\t\t\tVpcId: defaultNetwork.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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4Gateway;\nimport com.pulumi.alicloud.vpc.Ipv4GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new ResourceGroup(\"default\", ResourceGroupArgs.builder()\n .displayName(name)\n .resourceGroupName(name)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s2\", name))\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultIpv4Gateway = new Ipv4Gateway(\"defaultIpv4Gateway\", Ipv4GatewayArgs.builder()\n .ipv4GatewayName(name)\n .ipv4GatewayDescription(name)\n .resourceGroupId(default_.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: ${name}\n resourceGroupName: ${name}\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}2\n cidrBlock: 10.0.0.0/8\n defaultIpv4Gateway:\n type: alicloud:vpc:Ipv4Gateway\n name: default\n properties:\n ipv4GatewayName: ${name}\n ipv4GatewayDescription: ${name}\n resourceGroupId: ${default.id}\n vpcId: ${defaultNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ipv4 Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv4Gateway:Ipv4Gateway example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipv4 Gateway resource.\n\nFor information about VPC Ipv4 Gateway and how to use it, see [What is Ipv4 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv4gateway).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.resourcemanager.ResourceGroup(\"default\", {\n displayName: name,\n resourceGroupName: name,\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: `${name}2`,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultIpv4Gateway = new alicloud.vpc.Ipv4Gateway(\"default\", {\n ipv4GatewayName: name,\n ipv4GatewayDescription: name,\n resourceGroupId: _default.id,\n vpcId: defaultNetwork.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.ResourceGroup(\"default\",\n display_name=name,\n resource_group_name=name)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=f\"{name}2\",\n cidr_block=\"10.0.0.0/8\")\ndefault_ipv4_gateway = alicloud.vpc.Ipv4Gateway(\"default\",\n ipv4_gateway_name=name,\n ipv4_gateway_description=name,\n resource_group_id=default.id,\n vpc_id=default_network.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.ResourceManager.ResourceGroup(\"default\", new()\n {\n DisplayName = name,\n ResourceGroupName = name,\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = $\"{name}2\",\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultIpv4Gateway = new AliCloud.Vpc.Ipv4Gateway(\"default\", new()\n {\n Ipv4GatewayName = name,\n Ipv4GatewayDescription = name,\n ResourceGroupId = @default.Id,\n VpcId = defaultNetwork.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.NewResourceGroup(ctx, \"default\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(name),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.Sprintf(\"%v2\", name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv4Gateway(ctx, \"default\", \u0026vpc.Ipv4GatewayArgs{\n\t\t\tIpv4GatewayName: pulumi.String(name),\n\t\t\tIpv4GatewayDescription: pulumi.String(name),\n\t\t\tResourceGroupId: _default.ID(),\n\t\t\tVpcId: defaultNetwork.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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4Gateway;\nimport com.pulumi.alicloud.vpc.Ipv4GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new ResourceGroup(\"default\", ResourceGroupArgs.builder()\n .displayName(name)\n .resourceGroupName(name)\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(String.format(\"%s2\", name))\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultIpv4Gateway = new Ipv4Gateway(\"defaultIpv4Gateway\", Ipv4GatewayArgs.builder()\n .ipv4GatewayName(name)\n .ipv4GatewayDescription(name)\n .resourceGroupId(default_.id())\n .vpcId(defaultNetwork.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: ${name}\n resourceGroupName: ${name}\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}2\n cidrBlock: 10.0.0.0/8\n defaultIpv4Gateway:\n type: alicloud:vpc:Ipv4Gateway\n name: default\n properties:\n ipv4GatewayName: ${name}\n ipv4GatewayDescription: ${name}\n resourceGroupId: ${default.id}\n vpcId: ${defaultNetwork.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ipv4 Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv4Gateway:Ipv4Gateway example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -262197,7 +268063,7 @@ } }, "alicloud:vpc/ipv6Address:Ipv6Address": { - "description": "Provides a VPC Ipv6 Address resource.\n\n\n\nFor information about VPC Ipv6 Address and how to use it, see [What is Ipv6 Address](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/AllocateIpv6Address).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n ipv6Isp: \"BGP\",\n cidrBlock: \"172.168.0.0/16\",\n enableIpv6: true,\n vpcName: name,\n});\nconst vswich = new alicloud.vpc.Switch(\"vswich\", {\n vpcId: vpc.id,\n cidrBlock: \"172.168.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 1,\n});\nconst defaultIpv6Address = new alicloud.vpc.Ipv6Address(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchId: vswich.id,\n ipv6AddressDescription: \"create_description\",\n ipv6AddressName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpc = alicloud.vpc.Network(\"vpc\",\n ipv6_isp=\"BGP\",\n cidr_block=\"172.168.0.0/16\",\n enable_ipv6=True,\n vpc_name=name)\nvswich = alicloud.vpc.Switch(\"vswich\",\n vpc_id=vpc.id,\n cidr_block=\"172.168.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=1)\ndefault_ipv6_address = alicloud.vpc.Ipv6Address(\"default\",\n resource_group_id=default.ids[0],\n vswitch_id=vswich.id,\n ipv6_address_description=\"create_description\",\n ipv6_address_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Ipv6Isp = \"BGP\",\n CidrBlock = \"172.168.0.0/16\",\n EnableIpv6 = true,\n VpcName = name,\n });\n\n var vswich = new AliCloud.Vpc.Switch(\"vswich\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.168.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n Ipv6CidrBlockMask = 1,\n });\n\n var defaultIpv6Address = new AliCloud.Vpc.Ipv6Address(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n VswitchId = vswich.Id,\n Ipv6AddressDescription = \"create_description\",\n Ipv6AddressName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tIpv6Isp: pulumi.String(\"BGP\"),\n\t\t\tCidrBlock: pulumi.String(\"172.168.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswich, err := vpc.NewSwitch(ctx, \"vswich\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6Address(ctx, \"default\", \u0026vpc.Ipv6AddressArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchId: vswich.ID(),\n\t\t\tIpv6AddressDescription: pulumi.String(\"create_description\"),\n\t\t\tIpv6AddressName: pulumi.String(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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Address;\nimport com.pulumi.alicloud.vpc.Ipv6AddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .ipv6Isp(\"BGP\")\n .cidrBlock(\"172.168.0.0/16\")\n .enableIpv6(true)\n .vpcName(name)\n .build());\n\n var vswich = new Switch(\"vswich\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.168.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(1)\n .build());\n\n var defaultIpv6Address = new Ipv6Address(\"defaultIpv6Address\", Ipv6AddressArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .vswitchId(vswich.id())\n .ipv6AddressDescription(\"create_description\")\n .ipv6AddressName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n ipv6Isp: BGP\n cidrBlock: 172.168.0.0/16\n enableIpv6: true\n vpcName: ${name}\n vswich:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.168.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}\n ipv6CidrBlockMask: '1'\n defaultIpv6Address:\n type: alicloud:vpc:Ipv6Address\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n vswitchId: ${vswich.id}\n ipv6AddressDescription: create_description\n ipv6AddressName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ipv6 Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6Address:Ipv6Address example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Ipv6 Address resource.\n\n\n\nFor information about VPC Ipv6 Address and how to use it, see [What is Ipv6 Address](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/AllocateIpv6Address).\n\n\u003e **NOTE:** Available since v1.216.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst defaultGetZones = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n ipv6Isp: \"BGP\",\n cidrBlock: \"172.168.0.0/16\",\n enableIpv6: true,\n vpcName: name,\n});\nconst vswich = new alicloud.vpc.Switch(\"vswich\", {\n vpcId: vpc.id,\n cidrBlock: \"172.168.0.0/24\",\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 1,\n});\nconst defaultIpv6Address = new alicloud.vpc.Ipv6Address(\"default\", {\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n vswitchId: vswich.id,\n ipv6AddressDescription: \"create_description\",\n ipv6AddressName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpc = alicloud.vpc.Network(\"vpc\",\n ipv6_isp=\"BGP\",\n cidr_block=\"172.168.0.0/16\",\n enable_ipv6=True,\n vpc_name=name)\nvswich = alicloud.vpc.Switch(\"vswich\",\n vpc_id=vpc.id,\n cidr_block=\"172.168.0.0/24\",\n zone_id=default_get_zones.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=1)\ndefault_ipv6_address = alicloud.vpc.Ipv6Address(\"default\",\n resource_group_id=default.ids[0],\n vswitch_id=vswich.id,\n ipv6_address_description=\"create_description\",\n ipv6_address_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n Ipv6Isp = \"BGP\",\n CidrBlock = \"172.168.0.0/16\",\n EnableIpv6 = true,\n VpcName = name,\n });\n\n var vswich = new AliCloud.Vpc.Switch(\"vswich\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"172.168.0.0/24\",\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = name,\n Ipv6CidrBlockMask = 1,\n });\n\n var defaultIpv6Address = new AliCloud.Vpc.Ipv6Address(\"default\", new()\n {\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n VswitchId = vswich.Id,\n Ipv6AddressDescription = \"create_description\",\n Ipv6AddressName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tIpv6Isp: pulumi.String(\"BGP\"),\n\t\t\tCidrBlock: pulumi.String(\"172.168.0.0/16\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswich, err := vpc.NewSwitch(ctx, \"vswich\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6Address(ctx, \"default\", \u0026vpc.Ipv6AddressArgs{\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t\tVswitchId: vswich.ID(),\n\t\t\tIpv6AddressDescription: pulumi.String(\"create_description\"),\n\t\t\tIpv6AddressName: pulumi.String(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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Address;\nimport com.pulumi.alicloud.vpc.Ipv6AddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .ipv6Isp(\"BGP\")\n .cidrBlock(\"172.168.0.0/16\")\n .enableIpv6(true)\n .vpcName(name)\n .build());\n\n var vswich = new Switch(\"vswich\", SwitchArgs.builder()\n .vpcId(vpc.id())\n .cidrBlock(\"172.168.0.0/24\")\n .zoneId(defaultGetZones.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(1)\n .build());\n\n var defaultIpv6Address = new Ipv6Address(\"defaultIpv6Address\", Ipv6AddressArgs.builder()\n .resourceGroupId(default_.ids()[0])\n .vswitchId(vswich.id())\n .ipv6AddressDescription(\"create_description\")\n .ipv6AddressName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n ipv6Isp: BGP\n cidrBlock: 172.168.0.0/16\n enableIpv6: true\n vpcName: ${name}\n vswich:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 172.168.0.0/24\n zoneId: ${defaultGetZones.zones[0].id}\n vswitchName: ${name}\n ipv6CidrBlockMask: '1'\n defaultIpv6Address:\n type: alicloud:vpc:Ipv6Address\n name: default\n properties:\n resourceGroupId: ${default.ids[0]}\n vswitchId: ${vswich.id}\n ipv6AddressDescription: create_description\n ipv6AddressName: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n defaultGetZones:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ipv6 Address can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6Address:Ipv6Address example \u003cid\u003e\n```\n\n", "properties": { "addressType": { "type": "string", @@ -262352,7 +268218,7 @@ } }, "alicloud:vpc/ipv6EgressRule:Ipv6EgressRule": { - "description": "Provides a VPC Ipv6 Egress Rule resource. IPv6 address addition only active exit rule.\n\nFor information about VPC Ipv6 Egress Rule and how to use it, see [What is Ipv6 Egress Rule](https://www.alibabacloud.com/help/doc-detail/102200.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_efficiency\",\n cpuCoreCount: 4,\n minimumEniIpv6AddressQuantity: 1,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n enableIpv6: true,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 64,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n ipv6AddressCount: 1,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceName: name,\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n securityGroups: [defaultSecurityGroup.id],\n});\nconst defaultIpv6Gateway = new alicloud.vpc.Ipv6Gateway(\"default\", {\n ipv6GatewayName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetIpv6Addresses = alicloud.vpc.getIpv6AddressesOutput({\n associatedInstanceId: defaultInstance.id,\n status: \"Available\",\n});\nconst defaultIpv6InternetBandwidth = new alicloud.vpc.Ipv6InternetBandwidth(\"default\", {\n ipv6AddressId: defaultGetIpv6Addresses.apply(defaultGetIpv6Addresses =\u003e defaultGetIpv6Addresses.addresses?.[0]?.id),\n ipv6GatewayId: defaultIpv6Gateway.ipv6GatewayId,\n internetChargeType: \"PayByBandwidth\",\n bandwidth: 20,\n});\nconst defaultIpv6EgressRule = new alicloud.vpc.Ipv6EgressRule(\"default\", {\n instanceId: defaultIpv6InternetBandwidth.ipv6AddressId,\n ipv6EgressRuleName: name,\n description: name,\n ipv6GatewayId: defaultIpv6InternetBandwidth.ipv6GatewayId,\n instanceType: \"Ipv6Address\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_efficiency\",\n cpu_core_count=4,\n minimum_eni_ipv6_address_quantity=1)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n enable_ipv6=True,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=64)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n ipv6_address_count=1,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n image_id=default_get_images.images[0].id,\n instance_name=name,\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n security_groups=[default_security_group.id])\ndefault_ipv6_gateway = alicloud.vpc.Ipv6Gateway(\"default\",\n ipv6_gateway_name=name,\n vpc_id=default_network.id)\ndefault_get_ipv6_addresses = alicloud.vpc.get_ipv6_addresses_output(associated_instance_id=default_instance.id,\n status=\"Available\")\ndefault_ipv6_internet_bandwidth = alicloud.vpc.Ipv6InternetBandwidth(\"default\",\n ipv6_address_id=default_get_ipv6_addresses.addresses[0].id,\n ipv6_gateway_id=default_ipv6_gateway.ipv6_gateway_id,\n internet_charge_type=\"PayByBandwidth\",\n bandwidth=20)\ndefault_ipv6_egress_rule = alicloud.vpc.Ipv6EgressRule(\"default\",\n instance_id=default_ipv6_internet_bandwidth.ipv6_address_id,\n ipv6_egress_rule_name=name,\n description=name,\n ipv6_gateway_id=default_ipv6_internet_bandwidth.ipv6_gateway_id,\n instance_type=\"Ipv6Address\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n CpuCoreCount = 4,\n MinimumEniIpv6AddressQuantity = 1,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n EnableIpv6 = true,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n Ipv6CidrBlockMask = 64,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Ipv6AddressCount = 1,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultIpv6Gateway = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Ipv6GatewayName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetIpv6Addresses = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()\n {\n AssociatedInstanceId = defaultInstance.Id,\n Status = \"Available\",\n });\n\n var defaultIpv6InternetBandwidth = new AliCloud.Vpc.Ipv6InternetBandwidth(\"default\", new()\n {\n Ipv6AddressId = defaultGetIpv6Addresses.Apply(getIpv6AddressesResult =\u003e getIpv6AddressesResult.Addresses[0]?.Id),\n Ipv6GatewayId = defaultIpv6Gateway.Ipv6GatewayId,\n InternetChargeType = \"PayByBandwidth\",\n Bandwidth = 20,\n });\n\n var defaultIpv6EgressRule = new AliCloud.Vpc.Ipv6EgressRule(\"default\", new()\n {\n InstanceId = defaultIpv6InternetBandwidth.Ipv6AddressId,\n Ipv6EgressRuleName = name,\n Description = name,\n Ipv6GatewayId = defaultIpv6InternetBandwidth.Ipv6GatewayId,\n InstanceType = \"Ipv6Address\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMinimumEniIpv6AddressQuantity: pulumi.IntRef(1),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tIpv6AddressCount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpv6Gateway, err := vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tIpv6GatewayName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{\n\t\t\tAssociatedInstanceId: defaultInstance.ID(),\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t}, nil)\n\t\tdefaultIpv6InternetBandwidth, err := vpc.NewIpv6InternetBandwidth(ctx, \"default\", \u0026vpc.Ipv6InternetBandwidthArgs{\n\t\t\tIpv6AddressId: pulumi.String(defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetIpv6Addresses.Addresses[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tIpv6GatewayId: defaultIpv6Gateway.Ipv6GatewayId,\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6EgressRule(ctx, \"default\", \u0026vpc.Ipv6EgressRuleArgs{\n\t\t\tInstanceId: defaultIpv6InternetBandwidth.Ipv6AddressId,\n\t\t\tIpv6EgressRuleName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIpv6GatewayId: defaultIpv6InternetBandwidth.Ipv6GatewayId,\n\t\t\tInstanceType: pulumi.String(\"Ipv6Address\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidth;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidthArgs;\nimport com.pulumi.alicloud.vpc.Ipv6EgressRule;\nimport com.pulumi.alicloud.vpc.Ipv6EgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .cpuCoreCount(4)\n .minimumEniIpv6AddressQuantity(1)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .enableIpv6(true)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(64)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .ipv6AddressCount(1)\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .securityGroups(defaultSecurityGroup.id())\n .build());\n\n var defaultIpv6Gateway = new Ipv6Gateway(\"defaultIpv6Gateway\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetIpv6Addresses = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()\n .associatedInstanceId(defaultInstance.id())\n .status(\"Available\")\n .build());\n\n var defaultIpv6InternetBandwidth = new Ipv6InternetBandwidth(\"defaultIpv6InternetBandwidth\", Ipv6InternetBandwidthArgs.builder()\n .ipv6AddressId(defaultGetIpv6Addresses.applyValue(_defaultGetIpv6Addresses -\u003e _defaultGetIpv6Addresses.addresses()[0].id()))\n .ipv6GatewayId(defaultIpv6Gateway.ipv6GatewayId())\n .internetChargeType(\"PayByBandwidth\")\n .bandwidth(20)\n .build());\n\n var defaultIpv6EgressRule = new Ipv6EgressRule(\"defaultIpv6EgressRule\", Ipv6EgressRuleArgs.builder()\n .instanceId(defaultIpv6InternetBandwidth.ipv6AddressId())\n .ipv6EgressRuleName(name)\n .description(name)\n .ipv6GatewayId(defaultIpv6InternetBandwidth.ipv6GatewayId())\n .instanceType(\"Ipv6Address\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n enableIpv6: 'true'\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n ipv6CidrBlockMask: '64'\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n ipv6AddressCount: 1\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n imageId: ${defaultGetImages.images[0].id}\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n internetMaxBandwidthOut: 10\n securityGroups:\n - ${defaultSecurityGroup.id}\n defaultIpv6Gateway:\n type: alicloud:vpc:Ipv6Gateway\n name: default\n properties:\n ipv6GatewayName: ${name}\n vpcId: ${defaultNetwork.id}\n defaultIpv6InternetBandwidth:\n type: alicloud:vpc:Ipv6InternetBandwidth\n name: default\n properties:\n ipv6AddressId: ${defaultGetIpv6Addresses.addresses[0].id}\n ipv6GatewayId: ${defaultIpv6Gateway.ipv6GatewayId}\n internetChargeType: PayByBandwidth\n bandwidth: '20'\n defaultIpv6EgressRule:\n type: alicloud:vpc:Ipv6EgressRule\n name: default\n properties:\n instanceId: ${defaultIpv6InternetBandwidth.ipv6AddressId}\n ipv6EgressRuleName: ${name}\n description: ${name}\n ipv6GatewayId: ${defaultIpv6InternetBandwidth.ipv6GatewayId}\n instanceType: Ipv6Address\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n systemDiskCategory: cloud_efficiency\n cpuCoreCount: 4\n minimumEniIpv6AddressQuantity: 1\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetIpv6Addresses:\n fn::invoke:\n function: alicloud:vpc:getIpv6Addresses\n arguments:\n associatedInstanceId: ${defaultInstance.id}\n status: Available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ipv6 Egress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6EgressRule:Ipv6EgressRule example \u003cipv6_gateway_id\u003e:\u003cipv6_egress_rule_id\u003e\n```\n\n", + "description": "Provides a VPC Ipv6 Egress Rule resource. IPv6 address addition only active exit rule.\n\nFor information about VPC Ipv6 Egress Rule and how to use it, see [What is Ipv6 Egress Rule](https://www.alibabacloud.com/help/doc-detail/102200.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_efficiency\",\n cpuCoreCount: 4,\n minimumEniIpv6AddressQuantity: 1,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n enableIpv6: true,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 64,\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n ipv6AddressCount: 1,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceName: name,\n vswitchId: defaultSwitch.id,\n internetMaxBandwidthOut: 10,\n securityGroups: [defaultSecurityGroup.id],\n});\nconst defaultIpv6Gateway = new alicloud.vpc.Ipv6Gateway(\"default\", {\n ipv6GatewayName: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetIpv6Addresses = alicloud.vpc.getIpv6AddressesOutput({\n associatedInstanceId: defaultInstance.id,\n status: \"Available\",\n});\nconst defaultIpv6InternetBandwidth = new alicloud.vpc.Ipv6InternetBandwidth(\"default\", {\n ipv6AddressId: defaultGetIpv6Addresses.apply(defaultGetIpv6Addresses =\u003e defaultGetIpv6Addresses.addresses?.[0]?.id),\n ipv6GatewayId: defaultIpv6Gateway.ipv6GatewayId,\n internetChargeType: \"PayByBandwidth\",\n bandwidth: 20,\n});\nconst defaultIpv6EgressRule = new alicloud.vpc.Ipv6EgressRule(\"default\", {\n instanceId: defaultIpv6InternetBandwidth.ipv6AddressId,\n ipv6EgressRuleName: name,\n description: name,\n ipv6GatewayId: defaultIpv6InternetBandwidth.ipv6GatewayId,\n instanceType: \"Ipv6Address\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_efficiency\",\n cpu_core_count=4,\n minimum_eni_ipv6_address_quantity=1)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n enable_ipv6=True,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=64)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n availability_zone=default.zones[0].id,\n ipv6_address_count=1,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n image_id=default_get_images.images[0].id,\n instance_name=name,\n vswitch_id=default_switch.id,\n internet_max_bandwidth_out=10,\n security_groups=[default_security_group.id])\ndefault_ipv6_gateway = alicloud.vpc.Ipv6Gateway(\"default\",\n ipv6_gateway_name=name,\n vpc_id=default_network.id)\ndefault_get_ipv6_addresses = alicloud.vpc.get_ipv6_addresses_output(associated_instance_id=default_instance.id,\n status=\"Available\")\ndefault_ipv6_internet_bandwidth = alicloud.vpc.Ipv6InternetBandwidth(\"default\",\n ipv6_address_id=default_get_ipv6_addresses.addresses[0].id,\n ipv6_gateway_id=default_ipv6_gateway.ipv6_gateway_id,\n internet_charge_type=\"PayByBandwidth\",\n bandwidth=20)\ndefault_ipv6_egress_rule = alicloud.vpc.Ipv6EgressRule(\"default\",\n instance_id=default_ipv6_internet_bandwidth.ipv6_address_id,\n ipv6_egress_rule_name=name,\n description=name,\n ipv6_gateway_id=default_ipv6_internet_bandwidth.ipv6_gateway_id,\n instance_type=\"Ipv6Address\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n CpuCoreCount = 4,\n MinimumEniIpv6AddressQuantity = 1,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n EnableIpv6 = true,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n Ipv6CidrBlockMask = 64,\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Ipv6AddressCount = 1,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceName = name,\n VswitchId = defaultSwitch.Id,\n InternetMaxBandwidthOut = 10,\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n });\n\n var defaultIpv6Gateway = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Ipv6GatewayName = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetIpv6Addresses = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()\n {\n AssociatedInstanceId = defaultInstance.Id,\n Status = \"Available\",\n });\n\n var defaultIpv6InternetBandwidth = new AliCloud.Vpc.Ipv6InternetBandwidth(\"default\", new()\n {\n Ipv6AddressId = defaultGetIpv6Addresses.Apply(getIpv6AddressesResult =\u003e getIpv6AddressesResult.Addresses[0]?.Id),\n Ipv6GatewayId = defaultIpv6Gateway.Ipv6GatewayId,\n InternetChargeType = \"PayByBandwidth\",\n Bandwidth = 20,\n });\n\n var defaultIpv6EgressRule = new AliCloud.Vpc.Ipv6EgressRule(\"default\", new()\n {\n InstanceId = defaultIpv6InternetBandwidth.Ipv6AddressId,\n Ipv6EgressRuleName = name,\n Description = name,\n Ipv6GatewayId = defaultIpv6InternetBandwidth.Ipv6GatewayId,\n InstanceType = \"Ipv6Address\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMinimumEniIpv6AddressQuantity: pulumi.IntRef(1),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tIpv6CidrBlockMask: pulumi.Int(64),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tIpv6AddressCount: pulumi.Int(1),\n\t\t\tInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\n\t\t\tSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\n\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultIpv6Gateway, err := vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tIpv6GatewayName: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{\n\t\t\tAssociatedInstanceId: defaultInstance.ID(),\n\t\t\tStatus: pulumi.String(\"Available\"),\n\t\t}, nil)\n\t\tdefaultIpv6InternetBandwidth, err := vpc.NewIpv6InternetBandwidth(ctx, \"default\", \u0026vpc.Ipv6InternetBandwidthArgs{\n\t\t\tIpv6AddressId: pulumi.String(defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) {\n\t\t\t\treturn \u0026defaultGetIpv6Addresses.Addresses[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tIpv6GatewayId: defaultIpv6Gateway.Ipv6GatewayId,\n\t\t\tInternetChargeType: pulumi.String(\"PayByBandwidth\"),\n\t\t\tBandwidth: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6EgressRule(ctx, \"default\", \u0026vpc.Ipv6EgressRuleArgs{\n\t\t\tInstanceId: defaultIpv6InternetBandwidth.Ipv6AddressId,\n\t\t\tIpv6EgressRuleName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIpv6GatewayId: defaultIpv6InternetBandwidth.Ipv6GatewayId,\n\t\t\tInstanceType: pulumi.String(\"Ipv6Address\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidth;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidthArgs;\nimport com.pulumi.alicloud.vpc.Ipv6EgressRule;\nimport com.pulumi.alicloud.vpc.Ipv6EgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .cpuCoreCount(4)\n .minimumEniIpv6AddressQuantity(1)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .enableIpv6(true)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(64)\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .ipv6AddressCount(1)\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceName(name)\n .vswitchId(defaultSwitch.id())\n .internetMaxBandwidthOut(10)\n .securityGroups(defaultSecurityGroup.id())\n .build());\n\n var defaultIpv6Gateway = new Ipv6Gateway(\"defaultIpv6Gateway\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetIpv6Addresses = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()\n .associatedInstanceId(defaultInstance.id())\n .status(\"Available\")\n .build());\n\n var defaultIpv6InternetBandwidth = new Ipv6InternetBandwidth(\"defaultIpv6InternetBandwidth\", Ipv6InternetBandwidthArgs.builder()\n .ipv6AddressId(defaultGetIpv6Addresses.applyValue(_defaultGetIpv6Addresses -\u003e _defaultGetIpv6Addresses.addresses()[0].id()))\n .ipv6GatewayId(defaultIpv6Gateway.ipv6GatewayId())\n .internetChargeType(\"PayByBandwidth\")\n .bandwidth(20)\n .build());\n\n var defaultIpv6EgressRule = new Ipv6EgressRule(\"defaultIpv6EgressRule\", Ipv6EgressRuleArgs.builder()\n .instanceId(defaultIpv6InternetBandwidth.ipv6AddressId())\n .ipv6EgressRuleName(name)\n .description(name)\n .ipv6GatewayId(defaultIpv6InternetBandwidth.ipv6GatewayId())\n .instanceType(\"Ipv6Address\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n enableIpv6: 'true'\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n ipv6CidrBlockMask: '64'\n defaultSecurityGroup:\n type: alicloud:ecs:SecurityGroup\n name: default\n properties:\n name: ${name}\n description: ${name}\n vpcId: ${defaultNetwork.id}\n defaultInstance:\n type: alicloud:ecs:Instance\n name: default\n properties:\n availabilityZone: ${default.zones[0].id}\n ipv6AddressCount: 1\n instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}\n systemDiskCategory: cloud_efficiency\n imageId: ${defaultGetImages.images[0].id}\n instanceName: ${name}\n vswitchId: ${defaultSwitch.id}\n internetMaxBandwidthOut: 10\n securityGroups:\n - ${defaultSecurityGroup.id}\n defaultIpv6Gateway:\n type: alicloud:vpc:Ipv6Gateway\n name: default\n properties:\n ipv6GatewayName: ${name}\n vpcId: ${defaultNetwork.id}\n defaultIpv6InternetBandwidth:\n type: alicloud:vpc:Ipv6InternetBandwidth\n name: default\n properties:\n ipv6AddressId: ${defaultGetIpv6Addresses.addresses[0].id}\n ipv6GatewayId: ${defaultIpv6Gateway.ipv6GatewayId}\n internetChargeType: PayByBandwidth\n bandwidth: '20'\n defaultIpv6EgressRule:\n type: alicloud:vpc:Ipv6EgressRule\n name: default\n properties:\n instanceId: ${defaultIpv6InternetBandwidth.ipv6AddressId}\n ipv6EgressRuleName: ${name}\n description: ${name}\n ipv6GatewayId: ${defaultIpv6InternetBandwidth.ipv6GatewayId}\n instanceType: Ipv6Address\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetInstanceTypes:\n fn::invoke:\n function: alicloud:ecs:getInstanceTypes\n arguments:\n availabilityZone: ${default.zones[0].id}\n systemDiskCategory: cloud_efficiency\n cpuCoreCount: 4\n minimumEniIpv6AddressQuantity: 1\n defaultGetImages:\n fn::invoke:\n function: alicloud:ecs:getImages\n arguments:\n nameRegex: ^ubuntu_18.*64\n mostRecent: true\n owners: system\n defaultGetIpv6Addresses:\n fn::invoke:\n function: alicloud:vpc:getIpv6Addresses\n arguments:\n associatedInstanceId: ${defaultInstance.id}\n status: Available\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ipv6 Egress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6EgressRule:Ipv6EgressRule example \u003cipv6_gateway_id\u003e:\u003cipv6_egress_rule_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -262462,7 +268328,7 @@ } }, "alicloud:vpc/ipv6Gateway:Ipv6Gateway": { - "description": "Provides a Vpc Ipv6 Gateway resource. Gateway Based on Internet Protocol Version 6.\n\nFor information about Vpc Ipv6 Gateway and how to use it, see [What is Ipv6 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv6gateway).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testacc-example\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n description: \"tf-testacc\",\n enableIpv6: true,\n});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-testacc-ipv6gateway503\",\n resourceGroupName: `${name}1`,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-testacc-ipv6gateway311\",\n resourceGroupName: `${name}2`,\n});\nconst _default = new alicloud.vpc.Ipv6Gateway(\"default\", {\n description: \"test\",\n ipv6GatewayName: name,\n vpcId: defaultVpc.id,\n resourceGroupId: defaultRg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testacc-example\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n description=\"tf-testacc\",\n enable_ipv6=True)\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-testacc-ipv6gateway503\",\n resource_group_name=f\"{name}1\")\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-testacc-ipv6gateway311\",\n resource_group_name=f\"{name}2\")\ndefault = alicloud.vpc.Ipv6Gateway(\"default\",\n description=\"test\",\n ipv6_gateway_name=name,\n vpc_id=default_vpc.id,\n resource_group_id=default_rg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testacc-example\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = \"tf-testacc\",\n EnableIpv6 = true,\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-testacc-ipv6gateway503\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-testacc-ipv6gateway311\",\n ResourceGroupName = $\"{name}2\",\n });\n\n var @default = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Description = \"test\",\n Ipv6GatewayName = name,\n VpcId = defaultVpc.Id,\n ResourceGroupId = defaultRg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testacc-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"tf-testacc\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-ipv6gateway503\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-ipv6gateway311\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tIpv6GatewayName: pulumi.String(name),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tResourceGroupId: defaultRg.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testacc-example\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(\"tf-testacc\")\n .enableIpv6(true)\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-ipv6gateway503\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-ipv6gateway311\")\n .resourceGroupName(String.format(\"%s2\", name))\n .build());\n\n var default_ = new Ipv6Gateway(\"default\", Ipv6GatewayArgs.builder()\n .description(\"test\")\n .ipv6GatewayName(name)\n .vpcId(defaultVpc.id())\n .resourceGroupId(defaultRg.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testacc-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: tf-testacc\n enableIpv6: true\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-ipv6gateway503\n resourceGroupName: ${name}1\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-ipv6gateway311\n resourceGroupName: ${name}2\n default:\n type: alicloud:vpc:Ipv6Gateway\n properties:\n description: test\n ipv6GatewayName: ${name}\n vpcId: ${defaultVpc.id}\n resourceGroupId: ${defaultRg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Ipv6 Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6Gateway:Ipv6Gateway example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Ipv6 Gateway resource. Gateway Based on Internet Protocol Version 6.\n\nFor information about Vpc Ipv6 Gateway and how to use it, see [What is Ipv6 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv6gateway).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testacc-example\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n description: \"tf-testacc\",\n enableIpv6: true,\n});\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-testacc-ipv6gateway503\",\n resourceGroupName: `${name}1`,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-testacc-ipv6gateway311\",\n resourceGroupName: `${name}2`,\n});\nconst _default = new alicloud.vpc.Ipv6Gateway(\"default\", {\n description: \"test\",\n ipv6GatewayName: name,\n vpcId: defaultVpc.id,\n resourceGroupId: defaultRg.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testacc-example\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n description=\"tf-testacc\",\n enable_ipv6=True)\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-testacc-ipv6gateway503\",\n resource_group_name=f\"{name}1\")\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-testacc-ipv6gateway311\",\n resource_group_name=f\"{name}2\")\ndefault = alicloud.vpc.Ipv6Gateway(\"default\",\n description=\"test\",\n ipv6_gateway_name=name,\n vpc_id=default_vpc.id,\n resource_group_id=default_rg.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testacc-example\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n Description = \"tf-testacc\",\n EnableIpv6 = true,\n });\n\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-testacc-ipv6gateway503\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-testacc-ipv6gateway311\",\n ResourceGroupName = $\"{name}2\",\n });\n\n var @default = new AliCloud.Vpc.Ipv6Gateway(\"default\", new()\n {\n Description = \"test\",\n Ipv6GatewayName = name,\n VpcId = defaultVpc.Id,\n ResourceGroupId = defaultRg.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testacc-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tDescription: pulumi.String(\"tf-testacc\"),\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-ipv6gateway503\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-ipv6gateway311\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v2\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewIpv6Gateway(ctx, \"default\", \u0026vpc.Ipv6GatewayArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tIpv6GatewayName: pulumi.String(name),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tResourceGroupId: defaultRg.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testacc-example\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .description(\"tf-testacc\")\n .enableIpv6(true)\n .build());\n\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-ipv6gateway503\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-ipv6gateway311\")\n .resourceGroupName(String.format(\"%s2\", name))\n .build());\n\n var default_ = new Ipv6Gateway(\"default\", Ipv6GatewayArgs.builder()\n .description(\"test\")\n .ipv6GatewayName(name)\n .vpcId(defaultVpc.id())\n .resourceGroupId(defaultRg.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testacc-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n description: tf-testacc\n enableIpv6: true\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-ipv6gateway503\n resourceGroupName: ${name}1\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-ipv6gateway311\n resourceGroupName: ${name}2\n default:\n type: alicloud:vpc:Ipv6Gateway\n properties:\n description: test\n ipv6GatewayName: ${name}\n vpcId: ${defaultVpc.id}\n resourceGroupId: ${defaultRg.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Ipv6 Gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6Gateway:Ipv6Gateway example \u003cid\u003e\n```\n\n", "properties": { "businessStatus": { "type": "string", @@ -262623,7 +268489,7 @@ } }, "alicloud:vpc/ipv6InternetBandwidth:Ipv6InternetBandwidth": { - "description": "Provides a VPC Ipv6 Internet Bandwidth resource. Public network bandwidth of IPv6 address.\n\nFor information about VPC Ipv6 Internet Bandwidth and how to use it, see [What is Ipv6 Internet Bandwidth](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/allocateipv6internetbandwidth).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n enableIpv6: true,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst vsw = new alicloud.vpc.Switch(\"vsw\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 22,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n name: name,\n description: \"foo\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_efficiency\",\n cpuCoreCount: 4,\n minimumEniIpv6AddressQuantity: 1,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst vpcInstance = new alicloud.ecs.Instance(\"vpc_instance\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n ipv6AddressCount: 1,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceName: name,\n vswitchId: vsw.id,\n internetMaxBandwidthOut: 10,\n securityGroups: [group].map(__item =\u003e __item.id),\n});\nconst example = new alicloud.vpc.Ipv6Gateway(\"example\", {\n ipv6GatewayName: \"example_value\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetIpv6Addresses = alicloud.vpc.getIpv6AddressesOutput({\n associatedInstanceId: vpcInstance.id,\n status: \"Available\",\n});\nconst exampleIpv6InternetBandwidth = new alicloud.vpc.Ipv6InternetBandwidth(\"example\", {\n ipv6AddressId: defaultGetIpv6Addresses.apply(defaultGetIpv6Addresses =\u003e defaultGetIpv6Addresses.addresses?.[0]?.id),\n ipv6GatewayId: example.ipv6GatewayId,\n internetChargeType: \"PayByBandwidth\",\n bandwidth: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n enable_ipv6=True,\n cidr_block=\"172.16.0.0/12\")\nvsw = alicloud.vpc.Switch(\"vsw\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=22)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n name=name,\n description=\"foo\",\n vpc_id=default_network.id)\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_efficiency\",\n cpu_core_count=4,\n minimum_eni_ipv6_address_quantity=1)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nvpc_instance = alicloud.ecs.Instance(\"vpc_instance\",\n availability_zone=default.zones[0].id,\n ipv6_address_count=1,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n image_id=default_get_images.images[0].id,\n instance_name=name,\n vswitch_id=vsw.id,\n internet_max_bandwidth_out=10,\n security_groups=[__item.id for __item in [group]])\nexample = alicloud.vpc.Ipv6Gateway(\"example\",\n ipv6_gateway_name=\"example_value\",\n vpc_id=default_network.id)\ndefault_get_ipv6_addresses = alicloud.vpc.get_ipv6_addresses_output(associated_instance_id=vpc_instance.id,\n status=\"Available\")\nexample_ipv6_internet_bandwidth = alicloud.vpc.Ipv6InternetBandwidth(\"example\",\n ipv6_address_id=default_get_ipv6_addresses.addresses[0].id,\n ipv6_gateway_id=example.ipv6_gateway_id,\n internet_charge_type=\"PayByBandwidth\",\n bandwidth=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n EnableIpv6 = true,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var vsw = new AliCloud.Vpc.Switch(\"vsw\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n Ipv6CidrBlockMask = 22,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n Name = name,\n Description = \"foo\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n CpuCoreCount = 4,\n MinimumEniIpv6AddressQuantity = 1,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var vpcInstance = new AliCloud.Ecs.Instance(\"vpc_instance\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Ipv6AddressCount = 1,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceName = name,\n VswitchId = vsw.Id,\n InternetMaxBandwidthOut = 10,\n SecurityGroups = new[]\n {\n @group,\n }.Select(__item =\u003e __item.Id).ToList(),\n });\n\n var example = new AliCloud.Vpc.Ipv6Gateway(\"example\", new()\n {\n Ipv6GatewayName = \"example_value\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetIpv6Addresses = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()\n {\n AssociatedInstanceId = vpcInstance.Id,\n Status = \"Available\",\n });\n\n var exampleIpv6InternetBandwidth = new AliCloud.Vpc.Ipv6InternetBandwidth(\"example\", new()\n {\n Ipv6AddressId = defaultGetIpv6Addresses.Apply(getIpv6AddressesResult =\u003e getIpv6AddressesResult.Addresses[0]?.Id),\n Ipv6GatewayId = example.Ipv6GatewayId,\n InternetChargeType = \"PayByBandwidth\",\n Bandwidth = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nEnableIpv6: pulumi.Bool(true),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\nvsw, err := vpc.NewSwitch(ctx, \"vsw\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/21\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\nIpv6CidrBlockMask: pulumi.Int(22),\n})\nif err != nil {\nreturn err\n}\ngroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nDescription: pulumi.String(\"foo\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nCpuCoreCount: pulumi.IntRef(4),\nMinimumEniIpv6AddressQuantity: pulumi.IntRef(1),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\nvpcInstance, err := ecs.NewInstance(ctx, \"vpc_instance\", \u0026ecs.InstanceArgs{\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nIpv6AddressCount: pulumi.Int(1),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceName: pulumi.String(name),\nVswitchId: vsw.ID(),\nInternetMaxBandwidthOut: pulumi.Int(10),\nSecurityGroups: splat0,\n})\nif err != nil {\nreturn err\n}\nexample, err := vpc.NewIpv6Gateway(ctx, \"example\", \u0026vpc.Ipv6GatewayArgs{\nIpv6GatewayName: pulumi.String(\"example_value\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{\nAssociatedInstanceId: vpcInstance.ID(),\nStatus: pulumi.String(\"Available\"),\n}, nil);\n_, err = vpc.NewIpv6InternetBandwidth(ctx, \"example\", \u0026vpc.Ipv6InternetBandwidthArgs{\nIpv6AddressId: pulumi.String(defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) {\nreturn \u0026defaultGetIpv6Addresses.Addresses[0].Id, nil\n}).(pulumi.StringPtrOutput)),\nIpv6GatewayId: example.Ipv6GatewayId,\nInternetChargeType: pulumi.String(\"PayByBandwidth\"),\nBandwidth: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidth;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .enableIpv6(true)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var vsw = new Switch(\"vsw\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(22)\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .name(name)\n .description(\"foo\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .cpuCoreCount(4)\n .minimumEniIpv6AddressQuantity(1)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var vpcInstance = new Instance(\"vpcInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .ipv6AddressCount(1)\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceName(name)\n .vswitchId(vsw.id())\n .internetMaxBandwidthOut(10)\n .securityGroups(group.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n var example = new Ipv6Gateway(\"example\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(\"example_value\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetIpv6Addresses = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()\n .associatedInstanceId(vpcInstance.id())\n .status(\"Available\")\n .build());\n\n var exampleIpv6InternetBandwidth = new Ipv6InternetBandwidth(\"exampleIpv6InternetBandwidth\", Ipv6InternetBandwidthArgs.builder()\n .ipv6AddressId(defaultGetIpv6Addresses.applyValue(_defaultGetIpv6Addresses -\u003e _defaultGetIpv6Addresses.addresses()[0].id()))\n .ipv6GatewayId(example.ipv6GatewayId())\n .internetChargeType(\"PayByBandwidth\")\n .bandwidth(20)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Ipv6 Internet Bandwidth can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6InternetBandwidth:Ipv6InternetBandwidth example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Ipv6 Internet Bandwidth resource. Public network bandwidth of IPv6 address.\n\nFor information about VPC Ipv6 Internet Bandwidth and how to use it, see [What is Ipv6 Internet Bandwidth](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/allocateipv6internetbandwidth).\n\n\u003e **NOTE:** Available since v1.143.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n enableIpv6: true,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst vsw = new alicloud.vpc.Switch(\"vsw\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n ipv6CidrBlockMask: 22,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n name: name,\n description: \"foo\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n systemDiskCategory: \"cloud_efficiency\",\n cpuCoreCount: 4,\n minimumEniIpv6AddressQuantity: 1,\n}));\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst vpcInstance = new alicloud.ecs.Instance(\"vpc_instance\", {\n availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n ipv6AddressCount: 1,\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n systemDiskCategory: \"cloud_efficiency\",\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceName: name,\n vswitchId: vsw.id,\n internetMaxBandwidthOut: 10,\n securityGroups: [group].map(__item =\u003e __item.id),\n});\nconst example = new alicloud.vpc.Ipv6Gateway(\"example\", {\n ipv6GatewayName: \"example_value\",\n vpcId: defaultNetwork.id,\n});\nconst defaultGetIpv6Addresses = alicloud.vpc.getIpv6AddressesOutput({\n associatedInstanceId: vpcInstance.id,\n status: \"Available\",\n});\nconst exampleIpv6InternetBandwidth = new alicloud.vpc.Ipv6InternetBandwidth(\"example\", {\n ipv6AddressId: defaultGetIpv6Addresses.apply(defaultGetIpv6Addresses =\u003e defaultGetIpv6Addresses.addresses?.[0]?.id),\n ipv6GatewayId: example.ipv6GatewayId,\n internetChargeType: \"PayByBandwidth\",\n bandwidth: 20,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n enable_ipv6=True,\n cidr_block=\"172.16.0.0/12\")\nvsw = alicloud.vpc.Switch(\"vsw\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name,\n ipv6_cidr_block_mask=22)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n name=name,\n description=\"foo\",\n vpc_id=default_network.id)\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n system_disk_category=\"cloud_efficiency\",\n cpu_core_count=4,\n minimum_eni_ipv6_address_quantity=1)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\nvpc_instance = alicloud.ecs.Instance(\"vpc_instance\",\n availability_zone=default.zones[0].id,\n ipv6_address_count=1,\n instance_type=default_get_instance_types.instance_types[0].id,\n system_disk_category=\"cloud_efficiency\",\n image_id=default_get_images.images[0].id,\n instance_name=name,\n vswitch_id=vsw.id,\n internet_max_bandwidth_out=10,\n security_groups=[__item.id for __item in [group]])\nexample = alicloud.vpc.Ipv6Gateway(\"example\",\n ipv6_gateway_name=\"example_value\",\n vpc_id=default_network.id)\ndefault_get_ipv6_addresses = alicloud.vpc.get_ipv6_addresses_output(associated_instance_id=vpc_instance.id,\n status=\"Available\")\nexample_ipv6_internet_bandwidth = alicloud.vpc.Ipv6InternetBandwidth(\"example\",\n ipv6_address_id=default_get_ipv6_addresses.addresses[0].id,\n ipv6_gateway_id=example.ipv6_gateway_id,\n internet_charge_type=\"PayByBandwidth\",\n bandwidth=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n EnableIpv6 = true,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var vsw = new AliCloud.Vpc.Switch(\"vsw\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n Ipv6CidrBlockMask = 22,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n Name = name,\n Description = \"foo\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n CpuCoreCount = 4,\n MinimumEniIpv6AddressQuantity = 1,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var vpcInstance = new AliCloud.Ecs.Instance(\"vpc_instance\", new()\n {\n AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Ipv6AddressCount = 1,\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SystemDiskCategory = \"cloud_efficiency\",\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceName = name,\n VswitchId = vsw.Id,\n InternetMaxBandwidthOut = 10,\n SecurityGroups = new[]\n {\n @group,\n }.Select(__item =\u003e __item.Id).ToList(),\n });\n\n var example = new AliCloud.Vpc.Ipv6Gateway(\"example\", new()\n {\n Ipv6GatewayName = \"example_value\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetIpv6Addresses = AliCloud.Vpc.GetIpv6Addresses.Invoke(new()\n {\n AssociatedInstanceId = vpcInstance.Id,\n Status = \"Available\",\n });\n\n var exampleIpv6InternetBandwidth = new AliCloud.Vpc.Ipv6InternetBandwidth(\"example\", new()\n {\n Ipv6AddressId = defaultGetIpv6Addresses.Apply(getIpv6AddressesResult =\u003e getIpv6AddressesResult.Addresses[0]?.Id),\n Ipv6GatewayId = example.Ipv6GatewayId,\n InternetChargeType = \"PayByBandwidth\",\n Bandwidth = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nEnableIpv6: pulumi.Bool(true),\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n})\nif err != nil {\nreturn err\n}\nvsw, err := vpc.NewSwitch(ctx, \"vsw\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"172.16.0.0/21\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\nVswitchName: pulumi.String(name),\nIpv6CidrBlockMask: pulumi.Int(22),\n})\nif err != nil {\nreturn err\n}\ngroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nDescription: pulumi.String(\"foo\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nSystemDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nCpuCoreCount: pulumi.IntRef(4),\nMinimumEniIpv6AddressQuantity: pulumi.IntRef(1),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\nvpcInstance, err := ecs.NewInstance(ctx, \"vpc_instance\", \u0026ecs.InstanceArgs{\nAvailabilityZone: pulumi.String(_default.Zones[0].Id),\nIpv6AddressCount: pulumi.Int(1),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceName: pulumi.String(name),\nVswitchId: vsw.ID(),\nInternetMaxBandwidthOut: pulumi.Int(10),\nSecurityGroups: splat0,\n})\nif err != nil {\nreturn err\n}\nexample, err := vpc.NewIpv6Gateway(ctx, \"example\", \u0026vpc.Ipv6GatewayArgs{\nIpv6GatewayName: pulumi.String(\"example_value\"),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\ndefaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{\nAssociatedInstanceId: vpcInstance.ID(),\nStatus: pulumi.String(\"Available\"),\n}, nil);\n_, err = vpc.NewIpv6InternetBandwidth(ctx, \"example\", \u0026vpc.Ipv6InternetBandwidthArgs{\nIpv6AddressId: pulumi.String(defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) {\nreturn \u0026defaultGetIpv6Addresses.Addresses[0].Id, nil\n}).(pulumi.StringPtrOutput)),\nIpv6GatewayId: example.Ipv6GatewayId,\nInternetChargeType: pulumi.String(\"PayByBandwidth\"),\nBandwidth: pulumi.Int(20),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.Ipv6Gateway;\nimport com.pulumi.alicloud.vpc.Ipv6GatewayArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetIpv6AddressesArgs;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidth;\nimport com.pulumi.alicloud.vpc.Ipv6InternetBandwidthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .enableIpv6(true)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var vsw = new Switch(\"vsw\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .ipv6CidrBlockMask(22)\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .name(name)\n .description(\"foo\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .cpuCoreCount(4)\n .minimumEniIpv6AddressQuantity(1)\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n var vpcInstance = new Instance(\"vpcInstance\", InstanceArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .ipv6AddressCount(1)\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .systemDiskCategory(\"cloud_efficiency\")\n .imageId(defaultGetImages.images()[0].id())\n .instanceName(name)\n .vswitchId(vsw.id())\n .internetMaxBandwidthOut(10)\n .securityGroups(group.stream().map(element -\u003e element.id()).collect(toList()))\n .build());\n\n var example = new Ipv6Gateway(\"example\", Ipv6GatewayArgs.builder()\n .ipv6GatewayName(\"example_value\")\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetIpv6Addresses = VpcFunctions.getIpv6Addresses(GetIpv6AddressesArgs.builder()\n .associatedInstanceId(vpcInstance.id())\n .status(\"Available\")\n .build());\n\n var exampleIpv6InternetBandwidth = new Ipv6InternetBandwidth(\"exampleIpv6InternetBandwidth\", Ipv6InternetBandwidthArgs.builder()\n .ipv6AddressId(defaultGetIpv6Addresses.applyValue(_defaultGetIpv6Addresses -\u003e _defaultGetIpv6Addresses.addresses()[0].id()))\n .ipv6GatewayId(example.ipv6GatewayId())\n .internetChargeType(\"PayByBandwidth\")\n .bandwidth(20)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Ipv6 Internet Bandwidth can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/ipv6InternetBandwidth:Ipv6InternetBandwidth example \u003cid\u003e\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -262708,7 +268574,7 @@ } }, "alicloud:vpc/natGateway:NatGateway": { - "description": "Provides a resource to create a VPC NAT Gateway.\n\n\u003e **NOTE:** Resource bandwidth packages will not be supported since 00:00 on November 4, 2017, and public IP can be replaced be elastic IPs.\nIf a Nat Gateway has already bought some bandwidth packages, it can not bind elastic IP and you have to submit the [work order](https://selfservice.console.aliyun.com/ticket/createIndex) to solve.\nIf you want to add public IP, you can use resource 'alicloud_eip_association' to bind several elastic IPs for one Nat Gateway.\n\n\u003e **NOTE:** From version 1.7.1, this resource has deprecated bandwidth packages.\nBut, in order to manage stock bandwidth packages, version 1.13.0 re-support configuring 'bandwidth_packages'.\n\n\u003e **NOTE:** When you create an enhanced NAT gateway for the first time, the system automatically creates the service-linked role AliyunServiceRoleForNatgw. Then, the system attaches the permission policy AliyunServiceRolePolicyForNatgw to the role. This allows the NAT gateway to access other resources on Alibaba Cloud. For more information, see Service-linked roles.\n\n\u003e **NOTE:** After you create an enhanced Internet NAT gateway, a route entry is automatically added to the route table of the VPC. The destination CIDR block of the route entry is 0.0.0.0/0 and the next hop is the NAT gateway. This ensures that traffic is routed to the NAT gateway.\n\n\u003e **NOTE:** Available since v1.37.0.\n\n## Example Usage\n\nBasic usage\n\n- create enhanced nat gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n cidrBlock: \"10.10.0.0/20\",\n vpcId: defaultNetwork.id,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n zone_id=default.zones[0].zone_id,\n cidr_block=\"10.10.0.0/20\",\n vpc_id=default_network.id)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId)),\n CidrBlock = \"10.10.0.0/20\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.10.0.0/20\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .zoneId(default_.zones()[0].zoneId())\n .cidrBlock(\"10.10.0.0/20\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n zoneId: ${default.zones[0].zoneId}\n cidrBlock: 10.10.0.0/20\n vpcId: ${defaultNetwork.id}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- transform nat from Normal to Enhanced\n\u003e **NOTE:** You must set \u003cspan pulumi-lang-nodejs=\"`natType`\" pulumi-lang-dotnet=\"`NatType`\" pulumi-lang-go=\"`natType`\" pulumi-lang-python=\"`nat_type`\" pulumi-lang-yaml=\"`natType`\" pulumi-lang-java=\"`natType`\"\u003e`nat_type`\u003c/span\u003e to `Enhanced` and set \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n cidrBlock: \"10.10.0.0/20\",\n vpcId: defaultNetwork.id,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n zone_id=default.zones[0].zone_id,\n cidr_block=\"10.10.0.0/20\",\n vpc_id=default_network.id)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId)),\n CidrBlock = \"10.10.0.0/20\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.10.0.0/20\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .zoneId(default_.zones()[0].zoneId())\n .cidrBlock(\"10.10.0.0/20\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n zoneId: ${default.zones[0].zoneId}\n cidrBlock: 10.10.0.0/20\n vpcId: ${defaultNetwork.id}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\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 alicloud:vpc/natGateway:NatGateway example \u003cid\u003e\n```\n\n", + "description": "Provides a resource to create a VPC NAT Gateway.\n\n\u003e **NOTE:** Resource bandwidth packages will not be supported since 00:00 on November 4, 2017, and public IP can be replaced be elastic IPs.\nIf a Nat Gateway has already bought some bandwidth packages, it can not bind elastic IP and you have to submit the [work order](https://selfservice.console.aliyun.com/ticket/createIndex) to solve.\nIf you want to add public IP, you can use resource 'alicloud_eip_association' to bind several elastic IPs for one Nat Gateway.\n\n\u003e **NOTE:** From version 1.7.1, this resource has deprecated bandwidth packages.\nBut, in order to manage stock bandwidth packages, version 1.13.0 re-support configuring 'bandwidth_packages'.\n\n\u003e **NOTE:** When you create an enhanced NAT gateway for the first time, the system automatically creates the service-linked role AliyunServiceRoleForNatgw. Then, the system attaches the permission policy AliyunServiceRolePolicyForNatgw to the role. This allows the NAT gateway to access other resources on Alibaba Cloud. For more information, see Service-linked roles.\n\n\u003e **NOTE:** After you create an enhanced Internet NAT gateway, a route entry is automatically added to the route table of the VPC. The destination CIDR block of the route entry is 0.0.0.0/0 and the next hop is the NAT gateway. This ensures that traffic is routed to the NAT gateway.\n\n\u003e **NOTE:** Available since v1.37.0.\n\n## Example Usage\n\nBasic usage\n\n- create enhanced nat gateway\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n cidrBlock: \"10.10.0.0/20\",\n vpcId: defaultNetwork.id,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n zone_id=default.zones[0].zone_id,\n cidr_block=\"10.10.0.0/20\",\n vpc_id=default_network.id)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId)),\n CidrBlock = \"10.10.0.0/20\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.10.0.0/20\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf_example\");\n final var default = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .zoneId(default_.zones()[0].zoneId())\n .cidrBlock(\"10.10.0.0/20\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n zoneId: ${default.zones[0].zoneId}\n cidrBlock: 10.10.0.0/20\n vpcId: ${defaultNetwork.id}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n- transform nat from Normal to Enhanced\n\u003e **NOTE:** You must set \u003cspan pulumi-lang-nodejs=\"`natType`\" pulumi-lang-dotnet=\"`NatType`\" pulumi-lang-go=\"`natType`\" pulumi-lang-python=\"`nat_type`\" pulumi-lang-yaml=\"`natType`\" pulumi-lang-java=\"`natType`\"\u003e`nat_type`\u003c/span\u003e to `Enhanced` and set \u003cspan pulumi-lang-nodejs=\"`vswitchId`\" pulumi-lang-dotnet=\"`VswitchId`\" pulumi-lang-go=\"`vswitchId`\" pulumi-lang-python=\"`vswitch_id`\" pulumi-lang-yaml=\"`vswitchId`\" pulumi-lang-java=\"`vswitchId`\"\u003e`vswitch_id`\u003c/span\u003e.\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.vpc.getEnhancedNatAvailableZones({});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.zoneId),\n cidrBlock: \"10.10.0.0/20\",\n vpcId: defaultNetwork.id,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpc.get_enhanced_nat_available_zones()\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n zone_id=default.zones[0].zone_id,\n cidr_block=\"10.10.0.0/20\",\n vpc_id=default_network.id)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getEnhancedNatAvailableZonesResult =\u003e getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId)),\n CidrBlock = \"10.10.0.0/20\",\n VpcId = defaultNetwork.Id,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpc.GetEnhancedNatAvailableZones(ctx, \u0026vpc.GetEnhancedNatAvailableZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].ZoneId),\n\t\t\tCidrBlock: pulumi.String(\"10.10.0.0/20\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .zoneId(default_.zones()[0].zoneId())\n .cidrBlock(\"10.10.0.0/20\")\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vswitchName: ${name}\n zoneId: ${default.zones[0].zoneId}\n cidrBlock: 10.10.0.0/20\n vpcId: ${defaultNetwork.id}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpc:getEnhancedNatAvailableZones\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNat gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/natGateway:NatGateway example \u003cid\u003e\n```\n\n", "properties": { "accessMode": { "$ref": "#/types/alicloud:vpc/NatGatewayAccessMode:NatGatewayAccessMode", @@ -263033,7 +268899,7 @@ } }, "alicloud:vpc/natIp:NatIp": { - "description": "Provides a VPC Nat Ip resource.\n\nFor information about VPC Nat Ip and how to use it, see [What is Nat Ip](https://www.alibabacloud.com/help/doc-detail/281976.htm).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleNatGateway = new alicloud.vpc.NatGateway(\"example\", {\n vpcId: exampleNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: \"terraform-example\",\n description: \"terraform-example\",\n natType: \"Enhanced\",\n vswitchId: exampleSwitch.id,\n networkType: \"intranet\",\n});\nconst exampleNatIpCidr = new alicloud.vpc.NatIpCidr(\"example\", {\n natIpCidr: \"192.168.0.0/16\",\n natGatewayId: exampleNatGateway.id,\n natIpCidrDescription: \"terraform-example\",\n natIpCidrName: \"terraform-example\",\n});\nconst exampleNatIp = new alicloud.vpc.NatIp(\"example\", {\n natIp: \"192.168.0.37\",\n natGatewayId: exampleNatGateway.id,\n natIpDescription: \"example_value\",\n natIpName: \"example_value\",\n natIpCidr: exampleNatIpCidr.natIpCidr,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_nat_gateway = alicloud.vpc.NatGateway(\"example\",\n vpc_id=example_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=\"terraform-example\",\n description=\"terraform-example\",\n nat_type=\"Enhanced\",\n vswitch_id=example_switch.id,\n network_type=\"intranet\")\nexample_nat_ip_cidr = alicloud.vpc.NatIpCidr(\"example\",\n nat_ip_cidr=\"192.168.0.0/16\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_cidr_description=\"terraform-example\",\n nat_ip_cidr_name=\"terraform-example\")\nexample_nat_ip = alicloud.vpc.NatIp(\"example\",\n nat_ip=\"192.168.0.37\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_description=\"example_value\",\n nat_ip_name=\"example_value\",\n nat_ip_cidr=example_nat_ip_cidr.nat_ip_cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleNatGateway = new AliCloud.Vpc.NatGateway(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = \"terraform-example\",\n Description = \"terraform-example\",\n NatType = \"Enhanced\",\n VswitchId = exampleSwitch.Id,\n NetworkType = \"intranet\",\n });\n\n var exampleNatIpCidr = new AliCloud.Vpc.NatIpCidr(\"example\", new()\n {\n NatIpCidrBlock = \"192.168.0.0/16\",\n NatGatewayId = exampleNatGateway.Id,\n NatIpCidrDescription = \"terraform-example\",\n NatIpCidrName = \"terraform-example\",\n });\n\n var exampleNatIp = new AliCloud.Vpc.NatIp(\"example\", new()\n {\n NatIpAddress = \"192.168.0.37\",\n NatGatewayId = exampleNatGateway.Id,\n NatIpDescription = \"example_value\",\n NatIpName = \"example_value\",\n NatIpCidr = exampleNatIpCidr.NatIpCidrBlock,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := vpc.NewNatGateway(ctx, \"example\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tNetworkType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatIpCidr, err := vpc.NewNatIpCidr(ctx, \"example\", \u0026vpc.NatIpCidrArgs{\n\t\t\tNatIpCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpCidrDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatIpCidrName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatIp(ctx, \"example\", \u0026vpc.NatIpArgs{\n\t\t\tNatIp: pulumi.String(\"192.168.0.37\"),\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpDescription: pulumi.String(\"example_value\"),\n\t\t\tNatIpName: pulumi.String(\"example_value\"),\n\t\t\tNatIpCidr: exampleNatIpCidr.NatIpCidr,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.vpc.NatIpCidr;\nimport com.pulumi.alicloud.vpc.NatIpCidrArgs;\nimport com.pulumi.alicloud.vpc.NatIp;\nimport com.pulumi.alicloud.vpc.NatIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n .vpcId(exampleNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(\"terraform-example\")\n .description(\"terraform-example\")\n .natType(\"Enhanced\")\n .vswitchId(exampleSwitch.id())\n .networkType(\"intranet\")\n .build());\n\n var exampleNatIpCidr = new NatIpCidr(\"exampleNatIpCidr\", NatIpCidrArgs.builder()\n .natIpCidr(\"192.168.0.0/16\")\n .natGatewayId(exampleNatGateway.id())\n .natIpCidrDescription(\"terraform-example\")\n .natIpCidrName(\"terraform-example\")\n .build());\n\n var exampleNatIp = new NatIp(\"exampleNatIp\", NatIpArgs.builder()\n .natIp(\"192.168.0.37\")\n .natGatewayId(exampleNatGateway.id())\n .natIpDescription(\"example_value\")\n .natIpName(\"example_value\")\n .natIpCidr(exampleNatIpCidr.natIpCidr())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleNatGateway:\n type: alicloud:vpc:NatGateway\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: terraform-example\n description: terraform-example\n natType: Enhanced\n vswitchId: ${exampleSwitch.id}\n networkType: intranet\n exampleNatIpCidr:\n type: alicloud:vpc:NatIpCidr\n name: example\n properties:\n natIpCidr: 192.168.0.0/16\n natGatewayId: ${exampleNatGateway.id}\n natIpCidrDescription: terraform-example\n natIpCidrName: terraform-example\n exampleNatIp:\n type: alicloud:vpc:NatIp\n name: example\n properties:\n natIp: 192.168.0.37\n natGatewayId: ${exampleNatGateway.id}\n natIpDescription: example_value\n natIpName: example_value\n natIpCidr: ${exampleNatIpCidr.natIpCidr}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Nat Ip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/natIp:NatIp example \u003cnat_gateway_id\u003e:\u003cnat_ip_id\u003e\n```\n\n", + "description": "Provides a VPC Nat Ip resource.\n\nFor information about VPC Nat Ip and how to use it, see [What is Nat Ip](https://www.alibabacloud.com/help/doc-detail/281976.htm).\n\n\u003e **NOTE:** Available since v1.136.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleNatGateway = new alicloud.vpc.NatGateway(\"example\", {\n vpcId: exampleNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: \"terraform-example\",\n description: \"terraform-example\",\n natType: \"Enhanced\",\n vswitchId: exampleSwitch.id,\n networkType: \"intranet\",\n});\nconst exampleNatIpCidr = new alicloud.vpc.NatIpCidr(\"example\", {\n natIpCidr: \"192.168.0.0/16\",\n natGatewayId: exampleNatGateway.id,\n natIpCidrDescription: \"terraform-example\",\n natIpCidrName: \"terraform-example\",\n});\nconst exampleNatIp = new alicloud.vpc.NatIp(\"example\", {\n natIp: \"192.168.0.37\",\n natGatewayId: exampleNatGateway.id,\n natIpDescription: \"example_value\",\n natIpName: \"example_value\",\n natIpCidr: exampleNatIpCidr.natIpCidr,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_nat_gateway = alicloud.vpc.NatGateway(\"example\",\n vpc_id=example_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=\"terraform-example\",\n description=\"terraform-example\",\n nat_type=\"Enhanced\",\n vswitch_id=example_switch.id,\n network_type=\"intranet\")\nexample_nat_ip_cidr = alicloud.vpc.NatIpCidr(\"example\",\n nat_ip_cidr=\"192.168.0.0/16\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_cidr_description=\"terraform-example\",\n nat_ip_cidr_name=\"terraform-example\")\nexample_nat_ip = alicloud.vpc.NatIp(\"example\",\n nat_ip=\"192.168.0.37\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_description=\"example_value\",\n nat_ip_name=\"example_value\",\n nat_ip_cidr=example_nat_ip_cidr.nat_ip_cidr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleNatGateway = new AliCloud.Vpc.NatGateway(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = \"terraform-example\",\n Description = \"terraform-example\",\n NatType = \"Enhanced\",\n VswitchId = exampleSwitch.Id,\n NetworkType = \"intranet\",\n });\n\n var exampleNatIpCidr = new AliCloud.Vpc.NatIpCidr(\"example\", new()\n {\n NatIpCidrBlock = \"192.168.0.0/16\",\n NatGatewayId = exampleNatGateway.Id,\n NatIpCidrDescription = \"terraform-example\",\n NatIpCidrName = \"terraform-example\",\n });\n\n var exampleNatIp = new AliCloud.Vpc.NatIp(\"example\", new()\n {\n NatIpAddress = \"192.168.0.37\",\n NatGatewayId = exampleNatGateway.Id,\n NatIpDescription = \"example_value\",\n NatIpName = \"example_value\",\n NatIpCidr = exampleNatIpCidr.NatIpCidrBlock,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := vpc.NewNatGateway(ctx, \"example\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tNetworkType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatIpCidr, err := vpc.NewNatIpCidr(ctx, \"example\", \u0026vpc.NatIpCidrArgs{\n\t\t\tNatIpCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpCidrDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatIpCidrName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatIp(ctx, \"example\", \u0026vpc.NatIpArgs{\n\t\t\tNatIp: pulumi.String(\"192.168.0.37\"),\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpDescription: pulumi.String(\"example_value\"),\n\t\t\tNatIpName: pulumi.String(\"example_value\"),\n\t\t\tNatIpCidr: exampleNatIpCidr.NatIpCidr,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.vpc.NatIpCidr;\nimport com.pulumi.alicloud.vpc.NatIpCidrArgs;\nimport com.pulumi.alicloud.vpc.NatIp;\nimport com.pulumi.alicloud.vpc.NatIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n .vpcId(exampleNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(\"terraform-example\")\n .description(\"terraform-example\")\n .natType(\"Enhanced\")\n .vswitchId(exampleSwitch.id())\n .networkType(\"intranet\")\n .build());\n\n var exampleNatIpCidr = new NatIpCidr(\"exampleNatIpCidr\", NatIpCidrArgs.builder()\n .natIpCidr(\"192.168.0.0/16\")\n .natGatewayId(exampleNatGateway.id())\n .natIpCidrDescription(\"terraform-example\")\n .natIpCidrName(\"terraform-example\")\n .build());\n\n var exampleNatIp = new NatIp(\"exampleNatIp\", NatIpArgs.builder()\n .natIp(\"192.168.0.37\")\n .natGatewayId(exampleNatGateway.id())\n .natIpDescription(\"example_value\")\n .natIpName(\"example_value\")\n .natIpCidr(exampleNatIpCidr.natIpCidr())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleNatGateway:\n type: alicloud:vpc:NatGateway\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: terraform-example\n description: terraform-example\n natType: Enhanced\n vswitchId: ${exampleSwitch.id}\n networkType: intranet\n exampleNatIpCidr:\n type: alicloud:vpc:NatIpCidr\n name: example\n properties:\n natIpCidr: 192.168.0.0/16\n natGatewayId: ${exampleNatGateway.id}\n natIpCidrDescription: terraform-example\n natIpCidrName: terraform-example\n exampleNatIp:\n type: alicloud:vpc:NatIp\n name: example\n properties:\n natIp: 192.168.0.37\n natGatewayId: ${exampleNatGateway.id}\n natIpDescription: example_value\n natIpName: example_value\n natIpCidr: ${exampleNatIpCidr.natIpCidr}\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Nat Ip can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/natIp:NatIp example \u003cnat_gateway_id\u003e:\u003cnat_ip_id\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -263177,7 +269043,7 @@ } }, "alicloud:vpc/natIpCidr:NatIpCidr": { - "description": "Provides a VPC Nat Ip Cidr resource.\n\nFor information about VPC Nat Ip Cidr and how to use it, see [What is Nat Ip Cidr](https://www.alibabacloud.com/help/doc-detail/281972.htm).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleNatGateway = new alicloud.vpc.NatGateway(\"example\", {\n vpcId: exampleNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: \"terraform-example\",\n description: \"terraform-example\",\n natType: \"Enhanced\",\n vswitchId: exampleSwitch.id,\n networkType: \"intranet\",\n});\nconst exampleNatIpCidr = new alicloud.vpc.NatIpCidr(\"example\", {\n natGatewayId: exampleNatGateway.id,\n natIpCidrName: \"terraform-example\",\n natIpCidr: \"192.168.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_nat_gateway = alicloud.vpc.NatGateway(\"example\",\n vpc_id=example_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=\"terraform-example\",\n description=\"terraform-example\",\n nat_type=\"Enhanced\",\n vswitch_id=example_switch.id,\n network_type=\"intranet\")\nexample_nat_ip_cidr = alicloud.vpc.NatIpCidr(\"example\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_cidr_name=\"terraform-example\",\n nat_ip_cidr=\"192.168.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleNatGateway = new AliCloud.Vpc.NatGateway(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = \"terraform-example\",\n Description = \"terraform-example\",\n NatType = \"Enhanced\",\n VswitchId = exampleSwitch.Id,\n NetworkType = \"intranet\",\n });\n\n var exampleNatIpCidr = new AliCloud.Vpc.NatIpCidr(\"example\", new()\n {\n NatGatewayId = exampleNatGateway.Id,\n NatIpCidrName = \"terraform-example\",\n NatIpCidrBlock = \"192.168.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := vpc.NewNatGateway(ctx, \"example\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tNetworkType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatIpCidr(ctx, \"example\", \u0026vpc.NatIpCidrArgs{\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpCidrName: pulumi.String(\"terraform-example\"),\n\t\t\tNatIpCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.vpc.NatIpCidr;\nimport com.pulumi.alicloud.vpc.NatIpCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n .vpcId(exampleNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(\"terraform-example\")\n .description(\"terraform-example\")\n .natType(\"Enhanced\")\n .vswitchId(exampleSwitch.id())\n .networkType(\"intranet\")\n .build());\n\n var exampleNatIpCidr = new NatIpCidr(\"exampleNatIpCidr\", NatIpCidrArgs.builder()\n .natGatewayId(exampleNatGateway.id())\n .natIpCidrName(\"terraform-example\")\n .natIpCidr(\"192.168.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleNatGateway:\n type: alicloud:vpc:NatGateway\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: terraform-example\n description: terraform-example\n natType: Enhanced\n vswitchId: ${exampleSwitch.id}\n networkType: intranet\n exampleNatIpCidr:\n type: alicloud:vpc:NatIpCidr\n name: example\n properties:\n natGatewayId: ${exampleNatGateway.id}\n natIpCidrName: terraform-example\n natIpCidr: 192.168.0.0/16\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Nat Ip Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/natIpCidr:NatIpCidr example \u003cnat_gateway_id\u003e:\u003cnat_ip_cidr\u003e\n```\n\n", + "description": "Provides a VPC Nat Ip Cidr resource.\n\nFor information about VPC Nat Ip Cidr and how to use it, see [What is Nat Ip Cidr](https://www.alibabacloud.com/help/doc-detail/281972.htm).\n\n\u003e **NOTE:** Available in v1.136.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst exampleNetwork = new alicloud.vpc.Network(\"example\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vpcId: exampleNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: example.then(example =\u003e example.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n});\nconst exampleNatGateway = new alicloud.vpc.NatGateway(\"example\", {\n vpcId: exampleNetwork.id,\n internetChargeType: \"PayByLcu\",\n natGatewayName: \"terraform-example\",\n description: \"terraform-example\",\n natType: \"Enhanced\",\n vswitchId: exampleSwitch.id,\n networkType: \"intranet\",\n});\nconst exampleNatIpCidr = new alicloud.vpc.NatIpCidr(\"example\", {\n natGatewayId: exampleNatGateway.id,\n natIpCidrName: \"terraform-example\",\n natIpCidr: \"192.168.0.0/16\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample_network = alicloud.vpc.Network(\"example\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vpc_id=example_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=example.zones[0].id,\n vswitch_name=\"terraform-example\")\nexample_nat_gateway = alicloud.vpc.NatGateway(\"example\",\n vpc_id=example_network.id,\n internet_charge_type=\"PayByLcu\",\n nat_gateway_name=\"terraform-example\",\n description=\"terraform-example\",\n nat_type=\"Enhanced\",\n vswitch_id=example_switch.id,\n network_type=\"intranet\")\nexample_nat_ip_cidr = alicloud.vpc.NatIpCidr(\"example\",\n nat_gateway_id=example_nat_gateway.id,\n nat_ip_cidr_name=\"terraform-example\",\n nat_ip_cidr=\"192.168.0.0/16\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var exampleNetwork = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n });\n\n var exampleNatGateway = new AliCloud.Vpc.NatGateway(\"example\", new()\n {\n VpcId = exampleNetwork.Id,\n InternetChargeType = \"PayByLcu\",\n NatGatewayName = \"terraform-example\",\n Description = \"terraform-example\",\n NatType = \"Enhanced\",\n VswitchId = exampleSwitch.Id,\n NetworkType = \"intranet\",\n });\n\n var exampleNatIpCidr = new AliCloud.Vpc.NatIpCidr(\"example\", new()\n {\n NatGatewayId = exampleNatGateway.Id,\n NatIpCidrName = \"terraform-example\",\n NatIpCidrBlock = \"192.168.0.0/16\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(example.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNatGateway, err := vpc.NewNatGateway(ctx, \"example\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: exampleNetwork.ID(),\n\t\t\tInternetChargeType: pulumi.String(\"PayByLcu\"),\n\t\t\tNatGatewayName: pulumi.String(\"terraform-example\"),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t\tVswitchId: exampleSwitch.ID(),\n\t\t\tNetworkType: pulumi.String(\"intranet\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNatIpCidr(ctx, \"example\", \u0026vpc.NatIpCidrArgs{\n\t\t\tNatGatewayId: exampleNatGateway.ID(),\n\t\t\tNatIpCidrName: pulumi.String(\"terraform-example\"),\n\t\t\tNatIpCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.vpc.NatIpCidr;\nimport com.pulumi.alicloud.vpc.NatIpCidrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vpcId(exampleNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(example.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .build());\n\n var exampleNatGateway = new NatGateway(\"exampleNatGateway\", NatGatewayArgs.builder()\n .vpcId(exampleNetwork.id())\n .internetChargeType(\"PayByLcu\")\n .natGatewayName(\"terraform-example\")\n .description(\"terraform-example\")\n .natType(\"Enhanced\")\n .vswitchId(exampleSwitch.id())\n .networkType(\"intranet\")\n .build());\n\n var exampleNatIpCidr = new NatIpCidr(\"exampleNatIpCidr\", NatIpCidrArgs.builder()\n .natGatewayId(exampleNatGateway.id())\n .natIpCidrName(\"terraform-example\")\n .natIpCidr(\"192.168.0.0/16\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: alicloud:vpc:Network\n name: example\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${example.zones[0].id}\n vswitchName: terraform-example\n exampleNatGateway:\n type: alicloud:vpc:NatGateway\n name: example\n properties:\n vpcId: ${exampleNetwork.id}\n internetChargeType: PayByLcu\n natGatewayName: terraform-example\n description: terraform-example\n natType: Enhanced\n vswitchId: ${exampleSwitch.id}\n networkType: intranet\n exampleNatIpCidr:\n type: alicloud:vpc:NatIpCidr\n name: example\n properties:\n natGatewayId: ${exampleNatGateway.id}\n natIpCidrName: terraform-example\n natIpCidr: 192.168.0.0/16\nvariables:\n example:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Nat Ip Cidr can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/natIpCidr:NatIpCidr example \u003cnat_gateway_id\u003e:\u003cnat_ip_cidr\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -263285,7 +269151,7 @@ } }, "alicloud:vpc/network:Network": { - "description": "Provides a VPC VPC resource.\n\nA VPC instance creates a VPC. You can fully control your own VPC, such as selecting IP address ranges, configuring routing tables, and gateways. You can use Alibaba cloud resources such as cloud servers, apsaradb for RDS, and load balancer in your own VPC. \n\n\u003e **NOTE:** This resource will auto build a router and a route table while it uses \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.Network`\" pulumi-lang-dotnet=\"`alicloud.vpc.Network`\" pulumi-lang-go=\"`vpc.Network`\" pulumi-lang-python=\"`vpc.Network`\" pulumi-lang-yaml=\"`alicloud.vpc.Network`\" pulumi-lang-java=\"`alicloud.vpc.Network`\"\u003e`alicloud.vpc.Network`\u003c/span\u003e to build a vpc resource. \n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Module Support\n\nYou can use the existing vpc module \nto create a VPC and several VSwitches one-click.\n\nFor information about VPC VPC and how to use it, see [What is VPC](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/what-is-a-vpc).\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n ipv6Isp: \"BGP\",\n description: \"test\",\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n enableIpv6: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n ipv6_isp=\"BGP\",\n description=\"test\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name,\n enable_ipv6=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n Ipv6Isp = \"BGP\",\n Description = \"test\",\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n EnableIpv6 = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tIpv6Isp: pulumi.String(\"BGP\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tEnableIpv6: 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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .ipv6Isp(\"BGP\")\n .description(\"test\")\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .enableIpv6(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n ipv6Isp: BGP\n description: test\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n enableIpv6: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC VPC can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/network:Network example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC VPC resource.\n\nA VPC instance creates a VPC. You can fully control your own VPC, such as selecting IP address ranges, configuring routing tables, and gateways. You can use Alibaba cloud resources such as cloud servers, apsaradb for RDS, and load balancer in your own VPC. \n\n\u003e **NOTE:** This resource will auto build a router and a route table while it uses \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.Network`\" pulumi-lang-dotnet=\"`alicloud.vpc.Network`\" pulumi-lang-go=\"`vpc.Network`\" pulumi-lang-python=\"`vpc.Network`\" pulumi-lang-yaml=\"`alicloud.vpc.Network`\" pulumi-lang-java=\"`alicloud.vpc.Network`\"\u003e`alicloud.vpc.Network`\u003c/span\u003e to build a vpc resource. \n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Module Support\n\nYou can use the existing vpc module \nto create a VPC and several VSwitches one-click.\n\nFor information about VPC VPC and how to use it, see [What is VPC](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/what-is-a-vpc).\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpc.Network(\"default\", {\n ipv6Isp: \"BGP\",\n description: \"test\",\n cidrBlock: \"10.0.0.0/8\",\n vpcName: name,\n enableIpv6: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpc.Network(\"default\",\n ipv6_isp=\"BGP\",\n description=\"test\",\n cidr_block=\"10.0.0.0/8\",\n vpc_name=name,\n enable_ipv6=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpc.Network(\"default\", new()\n {\n Ipv6Isp = \"BGP\",\n Description = \"test\",\n CidrBlock = \"10.0.0.0/8\",\n VpcName = name,\n EnableIpv6 = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tIpv6Isp: pulumi.String(\"BGP\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tEnableIpv6: 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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new Network(\"default\", NetworkArgs.builder()\n .ipv6Isp(\"BGP\")\n .description(\"test\")\n .cidrBlock(\"10.0.0.0/8\")\n .vpcName(name)\n .enableIpv6(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpc:Network\n properties:\n ipv6Isp: BGP\n description: test\n cidrBlock: 10.0.0.0/8\n vpcName: ${name}\n enableIpv6: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC VPC can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/network:Network example \u003cid\u003e\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -263684,7 +269550,7 @@ } }, "alicloud:vpc/networkAcl:NetworkAcl": { - "description": "Provides a VPC Network Acl resource.\n\nNetwork Access Control List (ACL) is a Network Access Control function in VPC. You can customize the network ACL rules and bind the network ACL to the switch to control the traffic of ECS instances in the switch.\n\nFor information about VPC Network Acl and how to use it, see [What is Network Acl](https://www.alibabacloud.com/help/en/ens/latest/createnetworkacl).\n\n\u003e **NOTE:** Available since v1.43.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleNetworkAcl = new alicloud.vpc.NetworkAcl(\"example\", {\n vpcId: example.id,\n networkAclName: name,\n description: name,\n ingressAclEntries: [{\n description: `${name}-ingress`,\n networkAclEntryName: `${name}-ingress`,\n sourceCidrIp: \"10.0.0.0/24\",\n policy: \"accept\",\n port: \"20/80\",\n protocol: \"tcp\",\n }],\n egressAclEntries: [{\n description: `${name}-egress`,\n networkAclEntryName: `${name}-egress`,\n destinationCidrIp: \"10.0.0.0/24\",\n policy: \"accept\",\n port: \"20/80\",\n protocol: \"tcp\",\n }],\n resources: [{\n resourceId: exampleSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example.id,\n zone_id=default.zones[0].id)\nexample_network_acl = alicloud.vpc.NetworkAcl(\"example\",\n vpc_id=example.id,\n network_acl_name=name,\n description=name,\n ingress_acl_entries=[{\n \"description\": f\"{name}-ingress\",\n \"network_acl_entry_name\": f\"{name}-ingress\",\n \"source_cidr_ip\": \"10.0.0.0/24\",\n \"policy\": \"accept\",\n \"port\": \"20/80\",\n \"protocol\": \"tcp\",\n }],\n egress_acl_entries=[{\n \"description\": f\"{name}-egress\",\n \"network_acl_entry_name\": f\"{name}-egress\",\n \"destination_cidr_ip\": \"10.0.0.0/24\",\n \"policy\": \"accept\",\n \"port\": \"20/80\",\n \"protocol\": \"tcp\",\n }],\n resources=[{\n \"resource_id\": example_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"example\", new()\n {\n VpcId = example.Id,\n NetworkAclName = name,\n Description = name,\n IngressAclEntries = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclIngressAclEntryArgs\n {\n Description = $\"{name}-ingress\",\n NetworkAclEntryName = $\"{name}-ingress\",\n SourceCidrIp = \"10.0.0.0/24\",\n Policy = \"accept\",\n Port = \"20/80\",\n Protocol = \"tcp\",\n },\n },\n EgressAclEntries = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEgressAclEntryArgs\n {\n Description = $\"{name}-egress\",\n NetworkAclEntryName = $\"{name}-egress\",\n DestinationCidrIp = \"10.0.0.0/24\",\n Policy = \"accept\",\n Port = \"20/80\",\n Protocol = \"tcp\",\n },\n },\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclResourceArgs\n {\n ResourceId = exampleSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAcl(ctx, \"example\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tNetworkAclName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIngressAclEntries: vpc.NetworkAclIngressAclEntryArray{\n\t\t\t\t\u0026vpc.NetworkAclIngressAclEntryArgs{\n\t\t\t\t\tDescription: pulumi.Sprintf(\"%v-ingress\", name),\n\t\t\t\t\tNetworkAclEntryName: pulumi.Sprintf(\"%v-ingress\", name),\n\t\t\t\t\tSourceCidrIp: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.String(\"20/80\"),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgressAclEntries: vpc.NetworkAclEgressAclEntryArray{\n\t\t\t\t\u0026vpc.NetworkAclEgressAclEntryArgs{\n\t\t\t\t\tDescription: pulumi.Sprintf(\"%v-egress\", name),\n\t\t\t\t\tNetworkAclEntryName: pulumi.Sprintf(\"%v-egress\", name),\n\t\t\t\t\tDestinationCidrIp: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.String(\"20/80\"),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResources: vpc.NetworkAclResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclResourceArgs{\n\t\t\t\t\tResourceId: exampleSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclIngressAclEntryArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEgressAclEntryArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleNetworkAcl = new NetworkAcl(\"exampleNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(example.id())\n .networkAclName(name)\n .description(name)\n .ingressAclEntries(NetworkAclIngressAclEntryArgs.builder()\n .description(String.format(\"%s-ingress\", name))\n .networkAclEntryName(String.format(\"%s-ingress\", name))\n .sourceCidrIp(\"10.0.0.0/24\")\n .policy(\"accept\")\n .port(\"20/80\")\n .protocol(\"tcp\")\n .build())\n .egressAclEntries(NetworkAclEgressAclEntryArgs.builder()\n .description(String.format(\"%s-egress\", name))\n .networkAclEntryName(String.format(\"%s-egress\", name))\n .destinationCidrIp(\"10.0.0.0/24\")\n .policy(\"accept\")\n .port(\"20/80\")\n .protocol(\"tcp\")\n .build())\n .resources(NetworkAclResourceArgs.builder()\n .resourceId(exampleSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n exampleNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: example\n properties:\n vpcId: ${example.id}\n networkAclName: ${name}\n description: ${name}\n ingressAclEntries:\n - description: ${name}-ingress\n networkAclEntryName: ${name}-ingress\n sourceCidrIp: 10.0.0.0/24\n policy: accept\n port: 20/80\n protocol: tcp\n egressAclEntries:\n - description: ${name}-egress\n networkAclEntryName: ${name}-egress\n destinationCidrIp: 10.0.0.0/24\n policy: accept\n port: 20/80\n protocol: tcp\n resources:\n - resourceId: ${exampleSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Network Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/networkAcl:NetworkAcl example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Network Acl resource.\n\nNetwork Access Control List (ACL) is a Network Access Control function in VPC. You can customize the network ACL rules and bind the network ACL to the switch to control the traffic of ECS instances in the switch.\n\nFor information about VPC Network Acl and how to use it, see [What is Network Acl](https://www.alibabacloud.com/help/en/ens/latest/createnetworkacl).\n\n\u003e **NOTE:** Available since v1.43.0.\n\n\u003e **WARNING:** Do not mix the use of the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e field in this resource with the separate \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.VpcNetworkAclAttachment`\" pulumi-lang-dotnet=\"`alicloud.vpc.VpcNetworkAclAttachment`\" pulumi-lang-go=\"`vpc.VpcNetworkAclAttachment`\" pulumi-lang-python=\"`vpc.VpcNetworkAclAttachment`\" pulumi-lang-yaml=\"`alicloud.vpc.VpcNetworkAclAttachment`\" pulumi-lang-java=\"`alicloud.vpc.VpcNetworkAclAttachment`\"\u003e`alicloud.vpc.VpcNetworkAclAttachment`\u003c/span\u003e resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst example = new alicloud.vpc.Network(\"example\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst exampleSwitch = new alicloud.vpc.Switch(\"example\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: example.id,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst exampleNetworkAcl = new alicloud.vpc.NetworkAcl(\"example\", {\n vpcId: example.id,\n networkAclName: name,\n description: name,\n ingressAclEntries: [{\n description: `${name}-ingress`,\n networkAclEntryName: `${name}-ingress`,\n sourceCidrIp: \"10.0.0.0/24\",\n policy: \"accept\",\n port: \"20/80\",\n protocol: \"tcp\",\n }],\n egressAclEntries: [{\n description: `${name}-egress`,\n networkAclEntryName: `${name}-egress`,\n destinationCidrIp: \"10.0.0.0/24\",\n policy: \"accept\",\n port: \"20/80\",\n protocol: \"tcp\",\n }],\n resources: [{\n resourceId: exampleSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nexample = alicloud.vpc.Network(\"example\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\nexample_switch = alicloud.vpc.Switch(\"example\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=example.id,\n zone_id=default.zones[0].id)\nexample_network_acl = alicloud.vpc.NetworkAcl(\"example\",\n vpc_id=example.id,\n network_acl_name=name,\n description=name,\n ingress_acl_entries=[{\n \"description\": f\"{name}-ingress\",\n \"network_acl_entry_name\": f\"{name}-ingress\",\n \"source_cidr_ip\": \"10.0.0.0/24\",\n \"policy\": \"accept\",\n \"port\": \"20/80\",\n \"protocol\": \"tcp\",\n }],\n egress_acl_entries=[{\n \"description\": f\"{name}-egress\",\n \"network_acl_entry_name\": f\"{name}-egress\",\n \"destination_cidr_ip\": \"10.0.0.0/24\",\n \"policy\": \"accept\",\n \"port\": \"20/80\",\n \"protocol\": \"tcp\",\n }],\n resources=[{\n \"resource_id\": example_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var example = new AliCloud.Vpc.Network(\"example\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var exampleSwitch = new AliCloud.Vpc.Switch(\"example\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = example.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var exampleNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"example\", new()\n {\n VpcId = example.Id,\n NetworkAclName = name,\n Description = name,\n IngressAclEntries = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclIngressAclEntryArgs\n {\n Description = $\"{name}-ingress\",\n NetworkAclEntryName = $\"{name}-ingress\",\n SourceCidrIp = \"10.0.0.0/24\",\n Policy = \"accept\",\n Port = \"20/80\",\n Protocol = \"tcp\",\n },\n },\n EgressAclEntries = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEgressAclEntryArgs\n {\n Description = $\"{name}-egress\",\n NetworkAclEntryName = $\"{name}-egress\",\n DestinationCidrIp = \"10.0.0.0/24\",\n Policy = \"accept\",\n Port = \"20/80\",\n Protocol = \"tcp\",\n },\n },\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclResourceArgs\n {\n ResourceId = exampleSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := vpc.NewNetwork(ctx, \"example\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSwitch, err := vpc.NewSwitch(ctx, \"example\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: example.ID(),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAcl(ctx, \"example\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: example.ID(),\n\t\t\tNetworkAclName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIngressAclEntries: vpc.NetworkAclIngressAclEntryArray{\n\t\t\t\t\u0026vpc.NetworkAclIngressAclEntryArgs{\n\t\t\t\t\tDescription: pulumi.Sprintf(\"%v-ingress\", name),\n\t\t\t\t\tNetworkAclEntryName: pulumi.Sprintf(\"%v-ingress\", name),\n\t\t\t\t\tSourceCidrIp: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.String(\"20/80\"),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgressAclEntries: vpc.NetworkAclEgressAclEntryArray{\n\t\t\t\t\u0026vpc.NetworkAclEgressAclEntryArgs{\n\t\t\t\t\tDescription: pulumi.Sprintf(\"%v-egress\", name),\n\t\t\t\t\tNetworkAclEntryName: pulumi.Sprintf(\"%v-egress\", name),\n\t\t\t\t\tDestinationCidrIp: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tPort: pulumi.String(\"20/80\"),\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResources: vpc.NetworkAclResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclResourceArgs{\n\t\t\t\t\tResourceId: exampleSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclIngressAclEntryArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEgressAclEntryArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var example = new Network(\"example\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var exampleSwitch = new Switch(\"exampleSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(example.id())\n .zoneId(default_.zones()[0].id())\n .build());\n\n var exampleNetworkAcl = new NetworkAcl(\"exampleNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(example.id())\n .networkAclName(name)\n .description(name)\n .ingressAclEntries(NetworkAclIngressAclEntryArgs.builder()\n .description(String.format(\"%s-ingress\", name))\n .networkAclEntryName(String.format(\"%s-ingress\", name))\n .sourceCidrIp(\"10.0.0.0/24\")\n .policy(\"accept\")\n .port(\"20/80\")\n .protocol(\"tcp\")\n .build())\n .egressAclEntries(NetworkAclEgressAclEntryArgs.builder()\n .description(String.format(\"%s-egress\", name))\n .networkAclEntryName(String.format(\"%s-egress\", name))\n .destinationCidrIp(\"10.0.0.0/24\")\n .policy(\"accept\")\n .port(\"20/80\")\n .protocol(\"tcp\")\n .build())\n .resources(NetworkAclResourceArgs.builder()\n .resourceId(exampleSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n example:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n exampleSwitch:\n type: alicloud:vpc:Switch\n name: example\n properties:\n vswitchName: ${name}\n cidrBlock: 10.4.0.0/24\n vpcId: ${example.id}\n zoneId: ${default.zones[0].id}\n exampleNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: example\n properties:\n vpcId: ${example.id}\n networkAclName: ${name}\n description: ${name}\n ingressAclEntries:\n - description: ${name}-ingress\n networkAclEntryName: ${name}-ingress\n sourceCidrIp: 10.0.0.0/24\n policy: accept\n port: 20/80\n protocol: tcp\n egressAclEntries:\n - description: ${name}-egress\n networkAclEntryName: ${name}-egress\n destinationCidrIp: 10.0.0.0/24\n policy: accept\n port: 20/80\n protocol: tcp\n resources:\n - resourceId: ${exampleSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Network Acl can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/networkAcl:NetworkAcl example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -263875,7 +269741,7 @@ } }, "alicloud:vpc/networkAclAttachment:NetworkAclAttachment": { - "description": "Provides a network acl attachment resource to associate network acls to vswitches.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e with the resource alicloud_network_acl. \nNote that because this resource conflicts with the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e attribute of \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-dotnet=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-go=\"`vpc.NetworkAcl`\" pulumi-lang-python=\"`vpc.NetworkAcl`\" pulumi-lang-yaml=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-java=\"`alicloud.vpc.NetworkAcl`\"\u003e`alicloud.vpc.NetworkAcl`\u003c/span\u003e, this resource can no be used.\n\n\u003e **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"NatGatewayConfigSpec\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {\n vpcId: defaultNetwork.id,\n networkAclName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNetworkAclAttachment = new alicloud.vpc.NetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resources: [{\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"NatGatewayConfigSpec\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\",\n vpc_id=default_network.id,\n network_acl_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_network_acl_attachment = alicloud.vpc.NetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resources=[{\n \"resource_id\": default_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"NatGatewayConfigSpec\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NetworkAclName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNetworkAclAttachment = new AliCloud.Vpc.NetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclAttachmentResourceArgs\n {\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"NatGatewayConfigSpec\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNetworkAclName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAclAttachment(ctx, \"default\", \u0026vpc.NetworkAclAttachmentArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tResources: vpc.NetworkAclAttachmentResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclAttachmentResourceArgs{\n\t\t\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachmentArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclAttachmentResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"NatGatewayConfigSpec\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultNetwork.id())\n .networkAclName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNetworkAclAttachment = new NetworkAclAttachment(\"defaultNetworkAclAttachment\", NetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resources(NetworkAclAttachmentResourceArgs.builder()\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: NatGatewayConfigSpec\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n networkAclName: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNetworkAclAttachment:\n type: alicloud:vpc:NetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resources:\n - resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a network acl attachment resource to associate network acls to vswitches.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e with the resource alicloud_network_acl. \nNote that because this resource conflicts with the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e attribute of \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-dotnet=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-go=\"`vpc.NetworkAcl`\" pulumi-lang-python=\"`vpc.NetworkAcl`\" pulumi-lang-yaml=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-java=\"`alicloud.vpc.NetworkAcl`\"\u003e`alicloud.vpc.NetworkAcl`\u003c/span\u003e, this resource can no be used.\n\n\u003e **WARNING:** Do not mix the use of this deprecated resource with the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e field in the \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-dotnet=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-go=\"`vpc.NetworkAcl`\" pulumi-lang-python=\"`vpc.NetworkAcl`\" pulumi-lang-yaml=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-java=\"`alicloud.vpc.NetworkAcl`\"\u003e`alicloud.vpc.NetworkAcl`\u003c/span\u003e resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e field in \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-dotnet=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-go=\"`vpc.NetworkAcl`\" pulumi-lang-python=\"`vpc.NetworkAcl`\" pulumi-lang-yaml=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-java=\"`alicloud.vpc.NetworkAcl`\"\u003e`alicloud.vpc.NetworkAcl`\u003c/span\u003e.\n\n\u003e **NOTE:** Available since v1.44.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"NatGatewayConfigSpec\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {\n vpcId: defaultNetwork.id,\n networkAclName: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNetworkAclAttachment = new alicloud.vpc.NetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resources: [{\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"NatGatewayConfigSpec\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\",\n vpc_id=default_network.id,\n network_acl_name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_network_acl_attachment = alicloud.vpc.NetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resources=[{\n \"resource_id\": default_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"NatGatewayConfigSpec\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NetworkAclName = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNetworkAclAttachment = new AliCloud.Vpc.NetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclAttachmentResourceArgs\n {\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"NatGatewayConfigSpec\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNetworkAclName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAclAttachment(ctx, \"default\", \u0026vpc.NetworkAclAttachmentArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tResources: vpc.NetworkAclAttachmentResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclAttachmentResourceArgs{\n\t\t\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachmentArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclAttachmentResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"NatGatewayConfigSpec\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultNetwork.id())\n .networkAclName(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNetworkAclAttachment = new NetworkAclAttachment(\"defaultNetworkAclAttachment\", NetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resources(NetworkAclAttachmentResourceArgs.builder()\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: NatGatewayConfigSpec\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n networkAclName: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNetworkAclAttachment:\n type: alicloud:vpc:NetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resources:\n - resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "networkAclId": { "type": "string", @@ -263931,7 +269797,7 @@ } }, "alicloud:vpc/networkAclEntries:NetworkAclEntries": { - "description": "Provides a network acl entries resource to create ingress and egress entries.\n\n\u003e **NOTE:** Available in 1.45.0+.\n\n\u003e **NOTE:** It doesn't support concurrency and the order of the ingress and egress entries determines the priority.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.122.0`. Replace by \u003cspan pulumi-lang-nodejs=\"`ingressAclEntries`\" pulumi-lang-dotnet=\"`IngressAclEntries`\" pulumi-lang-go=\"`ingressAclEntries`\" pulumi-lang-python=\"`ingress_acl_entries`\" pulumi-lang-yaml=\"`ingressAclEntries`\" pulumi-lang-java=\"`ingressAclEntries`\"\u003e`ingress_acl_entries`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`egressAclEntries`\" pulumi-lang-dotnet=\"`EgressAclEntries`\" pulumi-lang-go=\"`egressAclEntries`\" pulumi-lang-python=\"`egress_acl_entries`\" pulumi-lang-yaml=\"`egressAclEntries`\" pulumi-lang-java=\"`egressAclEntries`\"\u003e`egress_acl_entries`\u003c/span\u003e with the resource alicloud_network_acl.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"NetworkAclEntries\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n name: name,\n});\nconst defaultNetworkAclAttachment = new alicloud.vpc.NetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resources: [{\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\nconst defaultNetworkAclEntries = new alicloud.vpc.NetworkAclEntries(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n ingresses: [{\n protocol: \"all\",\n port: \"-1/-1\",\n sourceCidrIp: \"0.0.0.0/32\",\n name: name,\n entryType: \"custom\",\n policy: \"accept\",\n description: name,\n }],\n egresses: [{\n protocol: \"all\",\n port: \"-1/-1\",\n destinationCidrIp: \"0.0.0.0/32\",\n name: name,\n entryType: \"custom\",\n policy: \"accept\",\n description: name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"NetworkAclEntries\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n name=name)\ndefault_network_acl_attachment = alicloud.vpc.NetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resources=[{\n \"resource_id\": default_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\ndefault_network_acl_entries = alicloud.vpc.NetworkAclEntries(\"default\",\n network_acl_id=default_network_acl.id,\n ingresses=[{\n \"protocol\": \"all\",\n \"port\": \"-1/-1\",\n \"source_cidr_ip\": \"0.0.0.0/32\",\n \"name\": name,\n \"entry_type\": \"custom\",\n \"policy\": \"accept\",\n \"description\": name,\n }],\n egresses=[{\n \"protocol\": \"all\",\n \"port\": \"-1/-1\",\n \"destination_cidr_ip\": \"0.0.0.0/32\",\n \"name\": name,\n \"entry_type\": \"custom\",\n \"policy\": \"accept\",\n \"description\": name,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"NetworkAclEntries\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Name = name,\n });\n\n var defaultNetworkAclAttachment = new AliCloud.Vpc.NetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclAttachmentResourceArgs\n {\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n var defaultNetworkAclEntries = new AliCloud.Vpc.NetworkAclEntries(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Ingresses = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEntriesIngressArgs\n {\n Protocol = \"all\",\n Port = \"-1/-1\",\n SourceCidrIp = \"0.0.0.0/32\",\n Name = name,\n EntryType = \"custom\",\n Policy = \"accept\",\n Description = name,\n },\n },\n Egresses = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEntriesEgressArgs\n {\n Protocol = \"all\",\n Port = \"-1/-1\",\n DestinationCidrIp = \"0.0.0.0/32\",\n Name = name,\n EntryType = \"custom\",\n Policy = \"accept\",\n Description = name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"NetworkAclEntries\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAclAttachment(ctx, \"default\", \u0026vpc.NetworkAclAttachmentArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tResources: vpc.NetworkAclAttachmentResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclAttachmentResourceArgs{\n\t\t\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.NewNetworkAclEntries(ctx, \"default\", \u0026vpc.NetworkAclEntriesArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tIngresses: vpc.NetworkAclEntriesIngressArray{\n\t\t\t\t\u0026vpc.NetworkAclEntriesIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"all\"),\n\t\t\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\t\t\tSourceCidrIp: pulumi.String(\"0.0.0.0/32\"),\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tEntryType: pulumi.String(\"custom\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgresses: vpc.NetworkAclEntriesEgressArray{\n\t\t\t\t\u0026vpc.NetworkAclEntriesEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"all\"),\n\t\t\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\t\t\tDestinationCidrIp: pulumi.String(\"0.0.0.0/32\"),\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tEntryType: pulumi.String(\"custom\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachmentArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclAttachmentResourceArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclEntries;\nimport com.pulumi.alicloud.vpc.NetworkAclEntriesArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEntriesIngressArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEntriesEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"NetworkAclEntries\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .name(name)\n .build());\n\n var defaultNetworkAclAttachment = new NetworkAclAttachment(\"defaultNetworkAclAttachment\", NetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resources(NetworkAclAttachmentResourceArgs.builder()\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n var defaultNetworkAclEntries = new NetworkAclEntries(\"defaultNetworkAclEntries\", NetworkAclEntriesArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .ingresses(NetworkAclEntriesIngressArgs.builder()\n .protocol(\"all\")\n .port(\"-1/-1\")\n .sourceCidrIp(\"0.0.0.0/32\")\n .name(name)\n .entryType(\"custom\")\n .policy(\"accept\")\n .description(name)\n .build())\n .egresses(NetworkAclEntriesEgressArgs.builder()\n .protocol(\"all\")\n .port(\"-1/-1\")\n .destinationCidrIp(\"0.0.0.0/32\")\n .name(name)\n .entryType(\"custom\")\n .policy(\"accept\")\n .description(name)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: NetworkAclEntries\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: ${name}\n cidrBlock: 172.16.0.0/12\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n name: ${name}\n defaultNetworkAclAttachment:\n type: alicloud:vpc:NetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resources:\n - resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\n defaultNetworkAclEntries:\n type: alicloud:vpc:NetworkAclEntries\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n ingresses:\n - protocol: all\n port: -1/-1\n sourceCidrIp: 0.0.0.0/32\n name: ${name}\n entryType: custom\n policy: accept\n description: ${name}\n egresses:\n - protocol: all\n port: -1/-1\n destinationCidrIp: 0.0.0.0/32\n name: ${name}\n entryType: custom\n policy: accept\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a network acl entries resource to create ingress and egress entries.\n\n\u003e **NOTE:** Available in 1.45.0+.\n\n\u003e **NOTE:** It doesn't support concurrency and the order of the ingress and egress entries determines the priority.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.122.0`. Replace by \u003cspan pulumi-lang-nodejs=\"`ingressAclEntries`\" pulumi-lang-dotnet=\"`IngressAclEntries`\" pulumi-lang-go=\"`ingressAclEntries`\" pulumi-lang-python=\"`ingress_acl_entries`\" pulumi-lang-yaml=\"`ingressAclEntries`\" pulumi-lang-java=\"`ingressAclEntries`\"\u003e`ingress_acl_entries`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`egressAclEntries`\" pulumi-lang-dotnet=\"`EgressAclEntries`\" pulumi-lang-go=\"`egressAclEntries`\" pulumi-lang-python=\"`egress_acl_entries`\" pulumi-lang-yaml=\"`egressAclEntries`\" pulumi-lang-java=\"`egressAclEntries`\"\u003e`egress_acl_entries`\u003c/span\u003e with the resource alicloud_network_acl.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"NetworkAclEntries\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n name: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {\n vpcId: defaultNetwork.id,\n name: name,\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n name: name,\n});\nconst defaultNetworkAclAttachment = new alicloud.vpc.NetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resources: [{\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n }],\n});\nconst defaultNetworkAclEntries = new alicloud.vpc.NetworkAclEntries(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n ingresses: [{\n protocol: \"all\",\n port: \"-1/-1\",\n sourceCidrIp: \"0.0.0.0/32\",\n name: name,\n entryType: \"custom\",\n policy: \"accept\",\n description: name,\n }],\n egresses: [{\n protocol: \"all\",\n port: \"-1/-1\",\n destinationCidrIp: \"0.0.0.0/32\",\n name: name,\n entryType: \"custom\",\n policy: \"accept\",\n description: name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"NetworkAclEntries\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\",\n vpc_id=default_network.id,\n name=name)\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n name=name)\ndefault_network_acl_attachment = alicloud.vpc.NetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resources=[{\n \"resource_id\": default_switch.id,\n \"resource_type\": \"VSwitch\",\n }])\ndefault_network_acl_entries = alicloud.vpc.NetworkAclEntries(\"default\",\n network_acl_id=default_network_acl.id,\n ingresses=[{\n \"protocol\": \"all\",\n \"port\": \"-1/-1\",\n \"source_cidr_ip\": \"0.0.0.0/32\",\n \"name\": name,\n \"entry_type\": \"custom\",\n \"policy\": \"accept\",\n \"description\": name,\n }],\n egresses=[{\n \"protocol\": \"all\",\n \"port\": \"-1/-1\",\n \"destination_cidr_ip\": \"0.0.0.0/32\",\n \"name\": name,\n \"entry_type\": \"custom\",\n \"policy\": \"accept\",\n \"description\": name,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"NetworkAclEntries\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n Name = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n Name = name,\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n Name = name,\n });\n\n var defaultNetworkAclAttachment = new AliCloud.Vpc.NetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Resources = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclAttachmentResourceArgs\n {\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n },\n },\n });\n\n var defaultNetworkAclEntries = new AliCloud.Vpc.NetworkAclEntries(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n Ingresses = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEntriesIngressArgs\n {\n Protocol = \"all\",\n Port = \"-1/-1\",\n SourceCidrIp = \"0.0.0.0/32\",\n Name = name,\n EntryType = \"custom\",\n Policy = \"accept\",\n Description = name,\n },\n },\n Egresses = new[]\n {\n new AliCloud.Vpc.Inputs.NetworkAclEntriesEgressArgs\n {\n Protocol = \"all\",\n Port = \"-1/-1\",\n DestinationCidrIp = \"0.0.0.0/32\",\n Name = name,\n EntryType = \"custom\",\n Policy = \"accept\",\n Description = name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"NetworkAclEntries\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewNetworkAclAttachment(ctx, \"default\", \u0026vpc.NetworkAclAttachmentArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tResources: vpc.NetworkAclAttachmentResourceArray{\n\t\t\t\t\u0026vpc.NetworkAclAttachmentResourceArgs{\n\t\t\t\t\tResourceId: defaultSwitch.ID(),\n\t\t\t\t\tResourceType: pulumi.String(\"VSwitch\"),\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.NewNetworkAclEntries(ctx, \"default\", \u0026vpc.NetworkAclEntriesArgs{\n\t\t\tNetworkAclId: defaultNetworkAcl.ID(),\n\t\t\tIngresses: vpc.NetworkAclEntriesIngressArray{\n\t\t\t\t\u0026vpc.NetworkAclEntriesIngressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"all\"),\n\t\t\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\t\t\tSourceCidrIp: pulumi.String(\"0.0.0.0/32\"),\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tEntryType: pulumi.String(\"custom\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgresses: vpc.NetworkAclEntriesEgressArray{\n\t\t\t\t\u0026vpc.NetworkAclEntriesEgressArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"all\"),\n\t\t\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\t\t\tDestinationCidrIp: pulumi.String(\"0.0.0.0/32\"),\n\t\t\t\t\tName: pulumi.String(name),\n\t\t\t\t\tEntryType: pulumi.String(\"custom\"),\n\t\t\t\t\tPolicy: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(name),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.NetworkAclAttachmentArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclAttachmentResourceArgs;\nimport com.pulumi.alicloud.vpc.NetworkAclEntries;\nimport com.pulumi.alicloud.vpc.NetworkAclEntriesArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEntriesIngressArgs;\nimport com.pulumi.alicloud.vpc.inputs.NetworkAclEntriesEgressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"NetworkAclEntries\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .name(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultNetwork.id())\n .name(name)\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .name(name)\n .build());\n\n var defaultNetworkAclAttachment = new NetworkAclAttachment(\"defaultNetworkAclAttachment\", NetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resources(NetworkAclAttachmentResourceArgs.builder()\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build())\n .build());\n\n var defaultNetworkAclEntries = new NetworkAclEntries(\"defaultNetworkAclEntries\", NetworkAclEntriesArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .ingresses(NetworkAclEntriesIngressArgs.builder()\n .protocol(\"all\")\n .port(\"-1/-1\")\n .sourceCidrIp(\"0.0.0.0/32\")\n .name(name)\n .entryType(\"custom\")\n .policy(\"accept\")\n .description(name)\n .build())\n .egresses(NetworkAclEntriesEgressArgs.builder()\n .protocol(\"all\")\n .port(\"-1/-1\")\n .destinationCidrIp(\"0.0.0.0/32\")\n .name(name)\n .entryType(\"custom\")\n .policy(\"accept\")\n .description(name)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: NetworkAclEntries\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n name: ${name}\n cidrBlock: 172.16.0.0/12\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n name: ${name}\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n name: ${name}\n defaultNetworkAclAttachment:\n type: alicloud:vpc:NetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resources:\n - resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\n defaultNetworkAclEntries:\n type: alicloud:vpc:NetworkAclEntries\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n ingresses:\n - protocol: all\n port: -1/-1\n sourceCidrIp: 0.0.0.0/32\n name: ${name}\n entryType: custom\n policy: accept\n description: ${name}\n egresses:\n - protocol: all\n port: -1/-1\n destinationCidrIp: 0.0.0.0/32\n name: ${name}\n entryType: custom\n policy: accept\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n", "properties": { "egresses": { "type": "array", @@ -264006,7 +269872,7 @@ } }, "alicloud:vpc/networkInterface:NetworkInterface": { - "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-dotnet=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-go=\" ecs.EcsNetworkInterface \" pulumi-lang-python=\" ecs.EcsNetworkInterface \" pulumi-lang-yaml=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-java=\" alicloud.ecs.EcsNetworkInterface \"\u003e alicloud.ecs.EcsNetworkInterface \u003c/span\u003efrom version 1.123.1.\n\nProvides an ECS Elastic Network Interface resource.\n\nFor information about Elastic Network Interface and how to use it, see [Elastic Network Interface](https://www.alibabacloud.com/help/doc-detail/58496.html).\n\n\u003e **NOTE** Only one of\u003cspan pulumi-lang-nodejs=\" privateIps \" pulumi-lang-dotnet=\" PrivateIps \" pulumi-lang-go=\" privateIps \" pulumi-lang-python=\" private_ips \" pulumi-lang-yaml=\" privateIps \" pulumi-lang-java=\" privateIps \"\u003e private_ips \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" privateIpsCount \" pulumi-lang-dotnet=\" PrivateIpsCount \" pulumi-lang-go=\" privateIpsCount \" pulumi-lang-python=\" private_ips_count \" pulumi-lang-yaml=\" privateIpsCount \" pulumi-lang-java=\" privateIpsCount \"\u003e private_ips_count \u003c/span\u003ecan be specified when assign private IPs. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"networkInterfaceName\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n name: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: vpc.id,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n name: name,\n vpcId: vpc.id,\n});\nconst defaultNetworkInterface = new alicloud.vpc.NetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: vswitch.id,\n securityGroupIds: [group.id],\n privateIp: \"192.168.0.2\",\n privateIpsCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"networkInterfaceName\"\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=vpc.id)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n name=name,\n vpc_id=vpc.id)\ndefault_network_interface = alicloud.vpc.NetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=vswitch.id,\n security_group_ids=[group.id],\n private_ip=\"192.168.0.2\",\n private_ips_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"networkInterfaceName\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Name = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = vpc.Id,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n Name = name,\n VpcId = vpc.Id,\n });\n\n var defaultNetworkInterface = new AliCloud.Vpc.NetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = vswitch.Id,\n SecurityGroupIds = new[]\n {\n @group.Id,\n },\n PrivateIp = \"192.168.0.2\",\n PrivateIpsCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"networkInterfaceName\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\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_, err = vpc.NewNetworkInterface(ctx, \"default\", \u0026vpc.NetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: vswitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tgroup.ID(),\n\t\t\t},\n\t\t\tPrivateIp: pulumi.String(\"192.168.0.2\"),\n\t\t\tPrivateIpsCount: pulumi.Int(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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.NetworkInterface;\nimport com.pulumi.alicloud.vpc.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"networkInterfaceName\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .name(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(vpc.id())\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(vpc.id())\n .build());\n\n var defaultNetworkInterface = new NetworkInterface(\"defaultNetworkInterface\", NetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(vswitch.id())\n .securityGroupIds(group.id())\n .privateIp(\"192.168.0.2\")\n .privateIpsCount(3)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: networkInterfaceName\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n name: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${vpc.id}\n group:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${vpc.id}\n defaultNetworkInterface:\n type: alicloud:vpc:NetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${vswitch.id}\n securityGroupIds:\n - ${group.id}\n privateIp: 192.168.0.2\n privateIpsCount: 3\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\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 alicloud:vpc/networkInterface:NetworkInterface eni eni-abc1234567890000\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been renamed to\u003cspan pulumi-lang-nodejs=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-dotnet=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-go=\" ecs.EcsNetworkInterface \" pulumi-lang-python=\" ecs.EcsNetworkInterface \" pulumi-lang-yaml=\" alicloud.ecs.EcsNetworkInterface \" pulumi-lang-java=\" alicloud.ecs.EcsNetworkInterface \"\u003e alicloud.ecs.EcsNetworkInterface \u003c/span\u003efrom version 1.123.1.\n\nProvides an ECS Elastic Network Interface resource.\n\nFor information about Elastic Network Interface and how to use it, see [Elastic Network Interface](https://www.alibabacloud.com/help/doc-detail/58496.html).\n\n\u003e **NOTE** Only one of\u003cspan pulumi-lang-nodejs=\" privateIps \" pulumi-lang-dotnet=\" PrivateIps \" pulumi-lang-go=\" privateIps \" pulumi-lang-python=\" private_ips \" pulumi-lang-yaml=\" privateIps \" pulumi-lang-java=\" privateIps \"\u003e private_ips \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" privateIpsCount \" pulumi-lang-dotnet=\" PrivateIpsCount \" pulumi-lang-go=\" privateIpsCount \" pulumi-lang-python=\" private_ips_count \" pulumi-lang-yaml=\" privateIpsCount \" pulumi-lang-java=\" privateIpsCount \"\u003e private_ips_count \u003c/span\u003ecan be specified when assign private IPs. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"networkInterfaceName\";\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/24\",\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n name: name,\n cidrBlock: \"192.168.0.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vpcId: vpc.id,\n});\nconst group = new alicloud.ecs.SecurityGroup(\"group\", {\n name: name,\n vpcId: vpc.id,\n});\nconst defaultNetworkInterface = new alicloud.vpc.NetworkInterface(\"default\", {\n networkInterfaceName: name,\n vswitchId: vswitch.id,\n securityGroupIds: [group.id],\n privateIp: \"192.168.0.2\",\n privateIpsCount: 3,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"networkInterfaceName\"\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/24\")\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n name=name,\n cidr_block=\"192.168.0.0/24\",\n zone_id=default.zones[0].id,\n vpc_id=vpc.id)\ngroup = alicloud.ecs.SecurityGroup(\"group\",\n name=name,\n vpc_id=vpc.id)\ndefault_network_interface = alicloud.vpc.NetworkInterface(\"default\",\n network_interface_name=name,\n vswitch_id=vswitch.id,\n security_group_ids=[group.id],\n private_ip=\"192.168.0.2\",\n private_ips_count=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"networkInterfaceName\";\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/24\",\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n Name = name,\n CidrBlock = \"192.168.0.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VpcId = vpc.Id,\n });\n\n var @group = new AliCloud.Ecs.SecurityGroup(\"group\", new()\n {\n Name = name,\n VpcId = vpc.Id,\n });\n\n var defaultNetworkInterface = new AliCloud.Vpc.NetworkInterface(\"default\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = vswitch.Id,\n SecurityGroupIds = new[]\n {\n @group.Id,\n },\n PrivateIp = \"192.168.0.2\",\n PrivateIpsCount = 3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"networkInterfaceName\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroup, err := ecs.NewSecurityGroup(ctx, \"group\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\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_, err = vpc.NewNetworkInterface(ctx, \"default\", \u0026vpc.NetworkInterfaceArgs{\n\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\tVswitchId: vswitch.ID(),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tgroup.ID(),\n\t\t\t},\n\t\t\tPrivateIp: pulumi.String(\"192.168.0.2\"),\n\t\t\tPrivateIpsCount: pulumi.Int(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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.vpc.NetworkInterface;\nimport com.pulumi.alicloud.vpc.NetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"networkInterfaceName\");\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/24\")\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .name(name)\n .cidrBlock(\"192.168.0.0/24\")\n .zoneId(default_.zones()[0].id())\n .vpcId(vpc.id())\n .build());\n\n var group = new SecurityGroup(\"group\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(vpc.id())\n .build());\n\n var defaultNetworkInterface = new NetworkInterface(\"defaultNetworkInterface\", NetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(vswitch.id())\n .securityGroupIds(group.id())\n .privateIp(\"192.168.0.2\")\n .privateIpsCount(3)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: networkInterfaceName\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/24\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n name: ${name}\n cidrBlock: 192.168.0.0/24\n zoneId: ${default.zones[0].id}\n vpcId: ${vpc.id}\n group:\n type: alicloud:ecs:SecurityGroup\n properties:\n name: ${name}\n vpcId: ${vpc.id}\n defaultNetworkInterface:\n type: alicloud:vpc:NetworkInterface\n name: default\n properties:\n networkInterfaceName: ${name}\n vswitchId: ${vswitch.id}\n securityGroupIds:\n - ${group.id}\n privateIp: 192.168.0.2\n privateIpsCount: 3\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nENI can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/networkInterface:NetworkInterface eni eni-abc1234567890000\n```\n\n", "properties": { "description": { "type": "string", @@ -264453,7 +270319,7 @@ } }, "alicloud:vpc/peerConnection:PeerConnection": { - "description": "Provides a Vpc Peer Peer Connection resource.\n\nVpc peer connection.\n\nFor information about Vpc Peer Peer Connection and how to use it, see [What is Peer Connection](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createvpcpeer).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst config = new pulumi.Config();\nconst acceptingRegion = config.get(\"acceptingRegion\") || \"cn-beijing\";\nconst localVpc = new alicloud.vpc.Network(\"local_vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst acceptingVpc = new alicloud.vpc.Network(\"accepting_vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultPeerConnection = new alicloud.vpc.PeerConnection(\"default\", {\n peerConnectionName: \"terraform-example\",\n vpcId: localVpc.id,\n acceptingAliUid: _default.then(_default =\u003e _default.id),\n acceptingRegionId: acceptingRegion,\n acceptingVpcId: acceptingVpc.id,\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nconfig = pulumi.Config()\naccepting_region = config.get(\"acceptingRegion\")\nif accepting_region is None:\n accepting_region = \"cn-beijing\"\nlocal_vpc = alicloud.vpc.Network(\"local_vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\naccepting_vpc = alicloud.vpc.Network(\"accepting_vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_peer_connection = alicloud.vpc.PeerConnection(\"default\",\n peer_connection_name=\"terraform-example\",\n vpc_id=local_vpc.id,\n accepting_ali_uid=default.id,\n accepting_region_id=accepting_region,\n accepting_vpc_id=accepting_vpc.id,\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var config = new Config();\n var acceptingRegion = config.Get(\"acceptingRegion\") ?? \"cn-beijing\";\n var localVpc = new AliCloud.Vpc.Network(\"local_vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var acceptingVpc = new AliCloud.Vpc.Network(\"accepting_vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultPeerConnection = new AliCloud.Vpc.PeerConnection(\"default\", new()\n {\n PeerConnectionName = \"terraform-example\",\n VpcId = localVpc.Id,\n AcceptingAliUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n AcceptingRegionId = acceptingRegion,\n AcceptingVpcId = acceptingVpc.Id,\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceptingRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"acceptingRegion\"); param != \"\" {\n\t\t\tacceptingRegion = param\n\t\t}\n\t\tlocalVpc, err := vpc.NewNetwork(ctx, \"local_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacceptingVpc, err := vpc.NewNetwork(ctx, \"accepting_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPeerConnection(ctx, \"default\", \u0026vpc.PeerConnectionArgs{\n\t\t\tPeerConnectionName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: localVpc.ID(),\n\t\t\tAcceptingAliUid: pulumi.String(_default.Id),\n\t\t\tAcceptingRegionId: pulumi.String(acceptingRegion),\n\t\t\tAcceptingVpcId: acceptingVpc.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.PeerConnection;\nimport com.pulumi.alicloud.vpc.PeerConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var acceptingRegion = config.get(\"acceptingRegion\").orElse(\"cn-beijing\");\n var localVpc = new Network(\"localVpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var acceptingVpc = new Network(\"acceptingVpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultPeerConnection = new PeerConnection(\"defaultPeerConnection\", PeerConnectionArgs.builder()\n .peerConnectionName(\"terraform-example\")\n .vpcId(localVpc.id())\n .acceptingAliUid(default_.id())\n .acceptingRegionId(acceptingRegion)\n .acceptingVpcId(acceptingVpc.id())\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceptingRegion:\n type: string\n default: cn-beijing\nresources:\n localVpc:\n type: alicloud:vpc:Network\n name: local_vpc\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n acceptingVpc:\n type: alicloud:vpc:Network\n name: accepting_vpc\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultPeerConnection:\n type: alicloud:vpc:PeerConnection\n name: default\n properties:\n peerConnectionName: terraform-example\n vpcId: ${localVpc.id}\n acceptingAliUid: ${default.id}\n acceptingRegionId: ${acceptingRegion}\n acceptingVpcId: ${acceptingVpc.id}\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Peer Peer Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/peerConnection:PeerConnection example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Peer Peer Connection resource.\n\nVpc peer connection.\n\nFor information about Vpc Peer Peer Connection and how to use it, see [What is Peer Connection](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createvpcpeer).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.getAccount({});\nconst config = new pulumi.Config();\nconst acceptingRegion = config.get(\"acceptingRegion\") || \"cn-beijing\";\nconst localVpc = new alicloud.vpc.Network(\"local_vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst acceptingVpc = new alicloud.vpc.Network(\"accepting_vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.17.3.0/24\",\n});\nconst defaultPeerConnection = new alicloud.vpc.PeerConnection(\"default\", {\n peerConnectionName: \"terraform-example\",\n vpcId: localVpc.id,\n acceptingAliUid: _default.then(_default =\u003e _default.id),\n acceptingRegionId: acceptingRegion,\n acceptingVpcId: acceptingVpc.id,\n description: \"terraform-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.get_account()\nconfig = pulumi.Config()\naccepting_region = config.get(\"acceptingRegion\")\nif accepting_region is None:\n accepting_region = \"cn-beijing\"\nlocal_vpc = alicloud.vpc.Network(\"local_vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\naccepting_vpc = alicloud.vpc.Network(\"accepting_vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.17.3.0/24\")\ndefault_peer_connection = alicloud.vpc.PeerConnection(\"default\",\n peer_connection_name=\"terraform-example\",\n vpc_id=local_vpc.id,\n accepting_ali_uid=default.id,\n accepting_region_id=accepting_region,\n accepting_vpc_id=accepting_vpc.id,\n description=\"terraform-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetAccount.Invoke();\n\n var config = new Config();\n var acceptingRegion = config.Get(\"acceptingRegion\") ?? \"cn-beijing\";\n var localVpc = new AliCloud.Vpc.Network(\"local_vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var acceptingVpc = new AliCloud.Vpc.Network(\"accepting_vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.17.3.0/24\",\n });\n\n var defaultPeerConnection = new AliCloud.Vpc.PeerConnection(\"default\", new()\n {\n PeerConnectionName = \"terraform-example\",\n VpcId = localVpc.Id,\n AcceptingAliUid = @default.Apply(@default =\u003e @default.Apply(getAccountResult =\u003e getAccountResult.Id)),\n AcceptingRegionId = acceptingRegion,\n AcceptingVpcId = acceptingVpc.Id,\n Description = \"terraform-example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tacceptingRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"acceptingRegion\"); param != \"\" {\n\t\t\tacceptingRegion = param\n\t\t}\n\t\tlocalVpc, err := vpc.NewNetwork(ctx, \"local_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacceptingVpc, err := vpc.NewNetwork(ctx, \"accepting_vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.17.3.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPeerConnection(ctx, \"default\", \u0026vpc.PeerConnectionArgs{\n\t\t\tPeerConnectionName: pulumi.String(\"terraform-example\"),\n\t\t\tVpcId: localVpc.ID(),\n\t\t\tAcceptingAliUid: pulumi.String(_default.Id),\n\t\t\tAcceptingRegionId: pulumi.String(acceptingRegion),\n\t\t\tAcceptingVpcId: acceptingVpc.ID(),\n\t\t\tDescription: pulumi.String(\"terraform-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.PeerConnection;\nimport com.pulumi.alicloud.vpc.PeerConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 default = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n final var acceptingRegion = config.get(\"acceptingRegion\").orElse(\"cn-beijing\");\n var localVpc = new Network(\"localVpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var acceptingVpc = new Network(\"acceptingVpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.17.3.0/24\")\n .build());\n\n var defaultPeerConnection = new PeerConnection(\"defaultPeerConnection\", PeerConnectionArgs.builder()\n .peerConnectionName(\"terraform-example\")\n .vpcId(localVpc.id())\n .acceptingAliUid(default_.id())\n .acceptingRegionId(acceptingRegion)\n .acceptingVpcId(acceptingVpc.id())\n .description(\"terraform-example\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n acceptingRegion:\n type: string\n default: cn-beijing\nresources:\n localVpc:\n type: alicloud:vpc:Network\n name: local_vpc\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n acceptingVpc:\n type: alicloud:vpc:Network\n name: accepting_vpc\n properties:\n vpcName: terraform-example\n cidrBlock: 172.17.3.0/24\n defaultPeerConnection:\n type: alicloud:vpc:PeerConnection\n name: default\n properties:\n peerConnectionName: terraform-example\n vpcId: ${localVpc.id}\n acceptingAliUid: ${default.id}\n acceptingRegionId: ${acceptingRegion}\n acceptingVpcId: ${acceptingVpc.id}\n description: terraform-example\nvariables:\n default:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Peer Peer Connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/peerConnection:PeerConnection example \u003cid\u003e\n```\n\n", "properties": { "acceptingAliUid": { "type": "integer", @@ -264673,7 +270539,7 @@ } }, "alicloud:vpc/peerConnectionAccepter:PeerConnectionAccepter": { - "description": "Provides a Vpc Peer Peer Connection Accepter resource.\n\nVpc peer connection receiver.\n\nFor information about Vpc Peer Peer Connection Accepter and how to use it, see [What is Peer Connection Accepter](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpcpeer-2022-01-01-acceptvpcpeerconnection).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst acceptingRegion = config.get(\"acceptingRegion\") || \"cn-beijing\";\nconst anotherUid = config.get(\"anotherUid\") || \"xxxx\";\nconst local = new alicloud.vpc.Network(\"local\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst acceptingNetwork = new alicloud.vpc.Network(\"accepting\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst accepting = alicloud.getAccount({});\nconst _default = new alicloud.vpc.PeerConnection(\"default\", {\n peerConnectionName: name,\n vpcId: local.id,\n acceptingAliUid: accepting.then(accepting =\u003e accepting.id),\n acceptingRegionId: acceptingRegion,\n acceptingVpcId: acceptingNetwork.id,\n description: name,\n});\nconst defaultPeerConnectionAccepter = new alicloud.vpc.PeerConnectionAccepter(\"default\", {instanceId: _default.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\naccepting_region = config.get(\"acceptingRegion\")\nif accepting_region is None:\n accepting_region = \"cn-beijing\"\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"xxxx\"\nlocal = alicloud.vpc.Network(\"local\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\naccepting_network = alicloud.vpc.Network(\"accepting\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\naccepting = alicloud.get_account()\ndefault = alicloud.vpc.PeerConnection(\"default\",\n peer_connection_name=name,\n vpc_id=local.id,\n accepting_ali_uid=accepting.id,\n accepting_region_id=accepting_region,\n accepting_vpc_id=accepting_network.id,\n description=name)\ndefault_peer_connection_accepter = alicloud.vpc.PeerConnectionAccepter(\"default\", instance_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var acceptingRegion = config.Get(\"acceptingRegion\") ?? \"cn-beijing\";\n var anotherUid = config.Get(\"anotherUid\") ?? \"xxxx\";\n var local = new AliCloud.Vpc.Network(\"local\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var acceptingNetwork = new AliCloud.Vpc.Network(\"accepting\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var accepting = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.Vpc.PeerConnection(\"default\", new()\n {\n PeerConnectionName = name,\n VpcId = local.Id,\n AcceptingAliUid = accepting.Apply(getAccountResult =\u003e getAccountResult.Id),\n AcceptingRegionId = acceptingRegion,\n AcceptingVpcId = acceptingNetwork.Id,\n Description = name,\n });\n\n var defaultPeerConnectionAccepter = new AliCloud.Vpc.PeerConnectionAccepter(\"default\", new()\n {\n InstanceId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tacceptingRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"acceptingRegion\"); param != \"\" {\n\t\t\tacceptingRegion = param\n\t\t}\n\t\tanotherUid := \"xxxx\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\tlocal, err := vpc.NewNetwork(ctx, \"local\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacceptingNetwork, err := vpc.NewNetwork(ctx, \"accepting\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccepting, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.NewPeerConnection(ctx, \"default\", \u0026vpc.PeerConnectionArgs{\n\t\t\tPeerConnectionName: pulumi.String(name),\n\t\t\tVpcId: local.ID(),\n\t\t\tAcceptingAliUid: pulumi.String(accepting.Id),\n\t\t\tAcceptingRegionId: pulumi.String(acceptingRegion),\n\t\t\tAcceptingVpcId: acceptingNetwork.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPeerConnectionAccepter(ctx, \"default\", \u0026vpc.PeerConnectionAccepterArgs{\n\t\t\tInstanceId: _default.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.PeerConnection;\nimport com.pulumi.alicloud.vpc.PeerConnectionArgs;\nimport com.pulumi.alicloud.vpc.PeerConnectionAccepter;\nimport com.pulumi.alicloud.vpc.PeerConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var acceptingRegion = config.get(\"acceptingRegion\").orElse(\"cn-beijing\");\n final var anotherUid = config.get(\"anotherUid\").orElse(\"xxxx\");\n var local = new Network(\"local\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var acceptingNetwork = new Network(\"acceptingNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n final var accepting = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new PeerConnection(\"default\", PeerConnectionArgs.builder()\n .peerConnectionName(name)\n .vpcId(local.id())\n .acceptingAliUid(accepting.id())\n .acceptingRegionId(acceptingRegion)\n .acceptingVpcId(acceptingNetwork.id())\n .description(name)\n .build());\n\n var defaultPeerConnectionAccepter = new PeerConnectionAccepter(\"defaultPeerConnectionAccepter\", PeerConnectionAccepterArgs.builder()\n .instanceId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n acceptingRegion:\n type: string\n default: cn-beijing\n anotherUid:\n type: string\n default: xxxx\nresources:\n local:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n acceptingNetwork:\n type: alicloud:vpc:Network\n name: accepting\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n default:\n type: alicloud:vpc:PeerConnection\n properties:\n peerConnectionName: ${name}\n vpcId: ${local.id}\n acceptingAliUid: ${accepting.id}\n acceptingRegionId: ${acceptingRegion}\n acceptingVpcId: ${acceptingNetwork.id}\n description: ${name}\n defaultPeerConnectionAccepter:\n type: alicloud:vpc:PeerConnectionAccepter\n name: default\n properties:\n instanceId: ${default.id}\nvariables:\n accepting:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Peer Peer Connection Accepter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/peerConnectionAccepter:PeerConnectionAccepter example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Peer Peer Connection Accepter resource.\n\nVpc peer connection receiver.\n\nFor information about Vpc Peer Peer Connection Accepter and how to use it, see [What is Peer Connection Accepter](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpcpeer-2022-01-01-acceptvpcpeerconnection).\n\n\u003e **NOTE:** Available since v1.196.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst acceptingRegion = config.get(\"acceptingRegion\") || \"cn-beijing\";\nconst anotherUid = config.get(\"anotherUid\") || \"xxxx\";\nconst local = new alicloud.vpc.Network(\"local\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst acceptingNetwork = new alicloud.vpc.Network(\"accepting\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst accepting = alicloud.getAccount({});\nconst _default = new alicloud.vpc.PeerConnection(\"default\", {\n peerConnectionName: name,\n vpcId: local.id,\n acceptingAliUid: accepting.then(accepting =\u003e accepting.id),\n acceptingRegionId: acceptingRegion,\n acceptingVpcId: acceptingNetwork.id,\n description: name,\n});\nconst defaultPeerConnectionAccepter = new alicloud.vpc.PeerConnectionAccepter(\"default\", {instanceId: _default.id});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\naccepting_region = config.get(\"acceptingRegion\")\nif accepting_region is None:\n accepting_region = \"cn-beijing\"\nanother_uid = config.get(\"anotherUid\")\nif another_uid is None:\n another_uid = \"xxxx\"\nlocal = alicloud.vpc.Network(\"local\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\naccepting_network = alicloud.vpc.Network(\"accepting\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\naccepting = alicloud.get_account()\ndefault = alicloud.vpc.PeerConnection(\"default\",\n peer_connection_name=name,\n vpc_id=local.id,\n accepting_ali_uid=accepting.id,\n accepting_region_id=accepting_region,\n accepting_vpc_id=accepting_network.id,\n description=name)\ndefault_peer_connection_accepter = alicloud.vpc.PeerConnectionAccepter(\"default\", instance_id=default.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var acceptingRegion = config.Get(\"acceptingRegion\") ?? \"cn-beijing\";\n var anotherUid = config.Get(\"anotherUid\") ?? \"xxxx\";\n var local = new AliCloud.Vpc.Network(\"local\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var acceptingNetwork = new AliCloud.Vpc.Network(\"accepting\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var accepting = AliCloud.GetAccount.Invoke();\n\n var @default = new AliCloud.Vpc.PeerConnection(\"default\", new()\n {\n PeerConnectionName = name,\n VpcId = local.Id,\n AcceptingAliUid = accepting.Apply(getAccountResult =\u003e getAccountResult.Id),\n AcceptingRegionId = acceptingRegion,\n AcceptingVpcId = acceptingNetwork.Id,\n Description = name,\n });\n\n var defaultPeerConnectionAccepter = new AliCloud.Vpc.PeerConnectionAccepter(\"default\", new()\n {\n InstanceId = @default.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tacceptingRegion := \"cn-beijing\"\n\t\tif param := cfg.Get(\"acceptingRegion\"); param != \"\" {\n\t\t\tacceptingRegion = param\n\t\t}\n\t\tanotherUid := \"xxxx\"\n\t\tif param := cfg.Get(\"anotherUid\"); param != \"\" {\n\t\t\tanotherUid = param\n\t\t}\n\t\tlocal, err := vpc.NewNetwork(ctx, \"local\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacceptingNetwork, err := vpc.NewNetwork(ctx, \"accepting\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taccepting, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := vpc.NewPeerConnection(ctx, \"default\", \u0026vpc.PeerConnectionArgs{\n\t\t\tPeerConnectionName: pulumi.String(name),\n\t\t\tVpcId: local.ID(),\n\t\t\tAcceptingAliUid: pulumi.String(accepting.Id),\n\t\t\tAcceptingRegionId: pulumi.String(acceptingRegion),\n\t\t\tAcceptingVpcId: acceptingNetwork.ID(),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPeerConnectionAccepter(ctx, \"default\", \u0026vpc.PeerConnectionAccepterArgs{\n\t\t\tInstanceId: _default.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.PeerConnection;\nimport com.pulumi.alicloud.vpc.PeerConnectionArgs;\nimport com.pulumi.alicloud.vpc.PeerConnectionAccepter;\nimport com.pulumi.alicloud.vpc.PeerConnectionAccepterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var acceptingRegion = config.get(\"acceptingRegion\").orElse(\"cn-beijing\");\n final var anotherUid = config.get(\"anotherUid\").orElse(\"xxxx\");\n var local = new Network(\"local\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var acceptingNetwork = new Network(\"acceptingNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n final var accepting = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var default_ = new PeerConnection(\"default\", PeerConnectionArgs.builder()\n .peerConnectionName(name)\n .vpcId(local.id())\n .acceptingAliUid(accepting.id())\n .acceptingRegionId(acceptingRegion)\n .acceptingVpcId(acceptingNetwork.id())\n .description(name)\n .build());\n\n var defaultPeerConnectionAccepter = new PeerConnectionAccepter(\"defaultPeerConnectionAccepter\", PeerConnectionAccepterArgs.builder()\n .instanceId(default_.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\n acceptingRegion:\n type: string\n default: cn-beijing\n anotherUid:\n type: string\n default: xxxx\nresources:\n local:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.4.0.0/16\n acceptingNetwork:\n type: alicloud:vpc:Network\n name: accepting\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n default:\n type: alicloud:vpc:PeerConnection\n properties:\n peerConnectionName: ${name}\n vpcId: ${local.id}\n acceptingAliUid: ${accepting.id}\n acceptingRegionId: ${acceptingRegion}\n acceptingVpcId: ${acceptingNetwork.id}\n description: ${name}\n defaultPeerConnectionAccepter:\n type: alicloud:vpc:PeerConnectionAccepter\n name: default\n properties:\n instanceId: ${default.id}\nvariables:\n accepting:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Peer Peer Connection Accepter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/peerConnectionAccepter:PeerConnectionAccepter example \u003cid\u003e\n```\n\n", "properties": { "acceptingOwnerUid": { "type": "integer", @@ -264858,7 +270724,7 @@ } }, "alicloud:vpc/prefixList:PrefixList": { - "description": "Provides a Vpc Prefix List resource. This resource is used to create a prefix list.\n\nFor information about Vpc Prefix List and how to use it, see [What is Prefix List](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/creatvpcprefixlist).\n\n\u003e **NOTE:** Available since v1.182.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testacc-example\";\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-testacc-chenyi\",\n resourceGroupName: name,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-testacc-chenyi-change\",\n resourceGroupName: `${name}1`,\n});\nconst _default = new alicloud.vpc.PrefixList(\"default\", {\n maxEntries: 50,\n resourceGroupId: defaultRg.id,\n prefixListDescription: \"test\",\n ipVersion: \"IPV4\",\n prefixListName: name,\n entrys: [{\n cidr: \"192.168.0.0/16\",\n description: \"test\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testacc-example\"\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-testacc-chenyi\",\n resource_group_name=name)\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-testacc-chenyi-change\",\n resource_group_name=f\"{name}1\")\ndefault = alicloud.vpc.PrefixList(\"default\",\n max_entries=50,\n resource_group_id=default_rg.id,\n prefix_list_description=\"test\",\n ip_version=\"IPV4\",\n prefix_list_name=name,\n entrys=[{\n \"cidr\": \"192.168.0.0/16\",\n \"description\": \"test\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testacc-example\";\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-testacc-chenyi\",\n ResourceGroupName = name,\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-testacc-chenyi-change\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var @default = new AliCloud.Vpc.PrefixList(\"default\", new()\n {\n MaxEntries = 50,\n ResourceGroupId = defaultRg.Id,\n PrefixListDescription = \"test\",\n IpVersion = \"IPV4\",\n PrefixListName = name,\n Entrys = new[]\n {\n new AliCloud.Vpc.Inputs.PrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/16\",\n Description = \"test\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testacc-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-chenyi\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-chenyi-change\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPrefixList(ctx, \"default\", \u0026vpc.PrefixListArgs{\n\t\t\tMaxEntries: pulumi.Int(50),\n\t\t\tResourceGroupId: defaultRg.ID(),\n\t\t\tPrefixListDescription: pulumi.String(\"test\"),\n\t\t\tIpVersion: pulumi.String(\"IPV4\"),\n\t\t\tPrefixListName: pulumi.String(name),\n\t\t\tEntrys: vpc.PrefixListEntryArray{\n\t\t\t\t\u0026vpc.PrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\tDescription: pulumi.String(\"test\"),\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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.PrefixList;\nimport com.pulumi.alicloud.vpc.PrefixListArgs;\nimport com.pulumi.alicloud.vpc.inputs.PrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testacc-example\");\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-chenyi\")\n .resourceGroupName(name)\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-chenyi-change\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var default_ = new PrefixList(\"default\", PrefixListArgs.builder()\n .maxEntries(50)\n .resourceGroupId(defaultRg.id())\n .prefixListDescription(\"test\")\n .ipVersion(\"IPV4\")\n .prefixListName(name)\n .entrys(PrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/16\")\n .description(\"test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testacc-example\nresources:\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-chenyi\n resourceGroupName: ${name}\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-chenyi-change\n resourceGroupName: ${name}1\n default:\n type: alicloud:vpc:PrefixList\n properties:\n maxEntries: 50\n resourceGroupId: ${defaultRg.id}\n prefixListDescription: test\n ipVersion: IPV4\n prefixListName: ${name}\n entrys:\n - cidr: 192.168.0.0/16\n description: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Prefix List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/prefixList:PrefixList example \u003cid\u003e\n```\n\n", + "description": "Provides a Vpc Prefix List resource. This resource is used to create a prefix list.\n\nFor information about Vpc Prefix List and how to use it, see [What is Prefix List](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/creatvpcprefixlist).\n\n\u003e **NOTE:** Available since v1.182.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-testacc-example\";\nconst defaultRg = new alicloud.resourcemanager.ResourceGroup(\"defaultRg\", {\n displayName: \"tf-testacc-chenyi\",\n resourceGroupName: name,\n});\nconst changeRg = new alicloud.resourcemanager.ResourceGroup(\"changeRg\", {\n displayName: \"tf-testacc-chenyi-change\",\n resourceGroupName: `${name}1`,\n});\nconst _default = new alicloud.vpc.PrefixList(\"default\", {\n maxEntries: 50,\n resourceGroupId: defaultRg.id,\n prefixListDescription: \"test\",\n ipVersion: \"IPV4\",\n prefixListName: name,\n entrys: [{\n cidr: \"192.168.0.0/16\",\n description: \"test\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-testacc-example\"\ndefault_rg = alicloud.resourcemanager.ResourceGroup(\"defaultRg\",\n display_name=\"tf-testacc-chenyi\",\n resource_group_name=name)\nchange_rg = alicloud.resourcemanager.ResourceGroup(\"changeRg\",\n display_name=\"tf-testacc-chenyi-change\",\n resource_group_name=f\"{name}1\")\ndefault = alicloud.vpc.PrefixList(\"default\",\n max_entries=50,\n resource_group_id=default_rg.id,\n prefix_list_description=\"test\",\n ip_version=\"IPV4\",\n prefix_list_name=name,\n entrys=[{\n \"cidr\": \"192.168.0.0/16\",\n \"description\": \"test\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-testacc-example\";\n var defaultRg = new AliCloud.ResourceManager.ResourceGroup(\"defaultRg\", new()\n {\n DisplayName = \"tf-testacc-chenyi\",\n ResourceGroupName = name,\n });\n\n var changeRg = new AliCloud.ResourceManager.ResourceGroup(\"changeRg\", new()\n {\n DisplayName = \"tf-testacc-chenyi-change\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var @default = new AliCloud.Vpc.PrefixList(\"default\", new()\n {\n MaxEntries = 50,\n ResourceGroupId = defaultRg.Id,\n PrefixListDescription = \"test\",\n IpVersion = \"IPV4\",\n PrefixListName = name,\n Entrys = new[]\n {\n new AliCloud.Vpc.Inputs.PrefixListEntryArgs\n {\n Cidr = \"192.168.0.0/16\",\n Description = \"test\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-testacc-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultRg, err := resourcemanager.NewResourceGroup(ctx, \"defaultRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-chenyi\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"changeRg\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"tf-testacc-chenyi-change\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPrefixList(ctx, \"default\", \u0026vpc.PrefixListArgs{\n\t\t\tMaxEntries: pulumi.Int(50),\n\t\t\tResourceGroupId: defaultRg.ID(),\n\t\t\tPrefixListDescription: pulumi.String(\"test\"),\n\t\t\tIpVersion: pulumi.String(\"IPV4\"),\n\t\t\tPrefixListName: pulumi.String(name),\n\t\t\tEntrys: vpc.PrefixListEntryArray{\n\t\t\t\t\u0026vpc.PrefixListEntryArgs{\n\t\t\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\tDescription: pulumi.String(\"test\"),\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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.PrefixList;\nimport com.pulumi.alicloud.vpc.PrefixListArgs;\nimport com.pulumi.alicloud.vpc.inputs.PrefixListEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-testacc-example\");\n var defaultRg = new ResourceGroup(\"defaultRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-chenyi\")\n .resourceGroupName(name)\n .build());\n\n var changeRg = new ResourceGroup(\"changeRg\", ResourceGroupArgs.builder()\n .displayName(\"tf-testacc-chenyi-change\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var default_ = new PrefixList(\"default\", PrefixListArgs.builder()\n .maxEntries(50)\n .resourceGroupId(defaultRg.id())\n .prefixListDescription(\"test\")\n .ipVersion(\"IPV4\")\n .prefixListName(name)\n .entrys(PrefixListEntryArgs.builder()\n .cidr(\"192.168.0.0/16\")\n .description(\"test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-testacc-example\nresources:\n defaultRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-chenyi\n resourceGroupName: ${name}\n changeRg:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: tf-testacc-chenyi-change\n resourceGroupName: ${name}1\n default:\n type: alicloud:vpc:PrefixList\n properties:\n maxEntries: 50\n resourceGroupId: ${defaultRg.id}\n prefixListDescription: test\n ipVersion: IPV4\n prefixListName: ${name}\n entrys:\n - cidr: 192.168.0.0/16\n description: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Prefix List can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/prefixList:PrefixList example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -265031,7 +270897,7 @@ } }, "alicloud:vpc/publicIpAddressPool:PublicIpAddressPool": { - "description": "Provides a VPC Public Ip Address Pool resource.\n\n\n\nFor information about VPC Public Ip Address Pool and how to use it, see [What is Public Ip Address Pool](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createpublicipaddresspool).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultPublicIpAddressPool = new alicloud.vpc.PublicIpAddressPool(\"default\", {\n description: name,\n publicIpAddressPoolName: name,\n isp: \"BGP\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_public_ip_address_pool = alicloud.vpc.PublicIpAddressPool(\"default\",\n description=name,\n public_ip_address_pool_name=name,\n isp=\"BGP\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultPublicIpAddressPool = new AliCloud.Vpc.PublicIpAddressPool(\"default\", new()\n {\n Description = name,\n PublicIpAddressPoolName = name,\n Isp = \"BGP\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPublicIpAddressPool(ctx, \"default\", \u0026vpc.PublicIpAddressPoolArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublicIpAddressPoolName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPool;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultPublicIpAddressPool = new PublicIpAddressPool(\"defaultPublicIpAddressPool\", PublicIpAddressPoolArgs.builder()\n .description(name)\n .publicIpAddressPoolName(name)\n .isp(\"BGP\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultPublicIpAddressPool:\n type: alicloud:vpc:PublicIpAddressPool\n name: default\n properties:\n description: ${name}\n publicIpAddressPoolName: ${name}\n isp: BGP\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Public Ip Address Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/publicIpAddressPool:PublicIpAddressPool example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Public Ip Address Pool resource.\n\n\n\nFor information about VPC Public Ip Address Pool and how to use it, see [What is Public Ip Address Pool](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createpublicipaddresspool).\n\n\u003e **NOTE:** Available since v1.186.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultPublicIpAddressPool = new alicloud.vpc.PublicIpAddressPool(\"default\", {\n description: name,\n publicIpAddressPoolName: name,\n isp: \"BGP\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_public_ip_address_pool = alicloud.vpc.PublicIpAddressPool(\"default\",\n description=name,\n public_ip_address_pool_name=name,\n isp=\"BGP\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultPublicIpAddressPool = new AliCloud.Vpc.PublicIpAddressPool(\"default\", new()\n {\n Description = name,\n PublicIpAddressPoolName = name,\n Isp = \"BGP\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPublicIpAddressPool(ctx, \"default\", \u0026vpc.PublicIpAddressPoolArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublicIpAddressPoolName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPool;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultPublicIpAddressPool = new PublicIpAddressPool(\"defaultPublicIpAddressPool\", PublicIpAddressPoolArgs.builder()\n .description(name)\n .publicIpAddressPoolName(name)\n .isp(\"BGP\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultPublicIpAddressPool:\n type: alicloud:vpc:PublicIpAddressPool\n name: default\n properties:\n description: ${name}\n publicIpAddressPoolName: ${name}\n isp: BGP\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Public Ip Address Pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/publicIpAddressPool:PublicIpAddressPool example \u003cid\u003e\n```\n\n", "properties": { "bizType": { "type": "string", @@ -265209,7 +271075,7 @@ } }, "alicloud:vpc/publicIpAddressPoolCidrBlock:PublicIpAddressPoolCidrBlock": { - "description": "Provides a VPC Public Ip Address Pool Cidr Block resource. \n\u003e **NOTE:** Only users who have the required permissions can use the IP address pool feature of Elastic IP Address (EIP). To apply for the required permissions, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket).\n\nFor information about VPC Public Ip Address Pool Cidr Block and how to use it, see [What is Public Ip Address Pool Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/429100).\n\n\u003e **NOTE:** Available since v1.189.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultPublicIpAddressPool = new alicloud.vpc.PublicIpAddressPool(\"default\", {\n description: name,\n publicIpAddressPoolName: name,\n isp: \"BGP\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultPublicIpAddressPoolCidrBlock = new alicloud.vpc.PublicIpAddressPoolCidrBlock(\"default\", {\n publicIpAddressPoolId: defaultPublicIpAddressPool.id,\n cidrBlock: \"47.118.126.0/25\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_public_ip_address_pool = alicloud.vpc.PublicIpAddressPool(\"default\",\n description=name,\n public_ip_address_pool_name=name,\n isp=\"BGP\",\n resource_group_id=default.ids[0])\ndefault_public_ip_address_pool_cidr_block = alicloud.vpc.PublicIpAddressPoolCidrBlock(\"default\",\n public_ip_address_pool_id=default_public_ip_address_pool.id,\n cidr_block=\"47.118.126.0/25\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultPublicIpAddressPool = new AliCloud.Vpc.PublicIpAddressPool(\"default\", new()\n {\n Description = name,\n PublicIpAddressPoolName = name,\n Isp = \"BGP\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultPublicIpAddressPoolCidrBlock = new AliCloud.Vpc.PublicIpAddressPoolCidrBlock(\"default\", new()\n {\n PublicIpAddressPoolId = defaultPublicIpAddressPool.Id,\n CidrBlock = \"47.118.126.0/25\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPublicIpAddressPool, err := vpc.NewPublicIpAddressPool(ctx, \"default\", \u0026vpc.PublicIpAddressPoolArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublicIpAddressPoolName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPublicIpAddressPoolCidrBlock(ctx, \"default\", \u0026vpc.PublicIpAddressPoolCidrBlockArgs{\n\t\t\tPublicIpAddressPoolId: defaultPublicIpAddressPool.ID(),\n\t\t\tCidrBlock: pulumi.String(\"47.118.126.0/25\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPool;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolCidrBlock;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolCidrBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultPublicIpAddressPool = new PublicIpAddressPool(\"defaultPublicIpAddressPool\", PublicIpAddressPoolArgs.builder()\n .description(name)\n .publicIpAddressPoolName(name)\n .isp(\"BGP\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultPublicIpAddressPoolCidrBlock = new PublicIpAddressPoolCidrBlock(\"defaultPublicIpAddressPoolCidrBlock\", PublicIpAddressPoolCidrBlockArgs.builder()\n .publicIpAddressPoolId(defaultPublicIpAddressPool.id())\n .cidrBlock(\"47.118.126.0/25\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultPublicIpAddressPool:\n type: alicloud:vpc:PublicIpAddressPool\n name: default\n properties:\n description: ${name}\n publicIpAddressPoolName: ${name}\n isp: BGP\n resourceGroupId: ${default.ids[0]}\n defaultPublicIpAddressPoolCidrBlock:\n type: alicloud:vpc:PublicIpAddressPoolCidrBlock\n name: default\n properties:\n publicIpAddressPoolId: ${defaultPublicIpAddressPool.id}\n cidrBlock: 47.118.126.0/25\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Public Ip Address Pool Cidr Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/publicIpAddressPoolCidrBlock:PublicIpAddressPoolCidrBlock example \u003cpublic_ip_address_pool_id\u003e:\u003ccidr_block\u003e\n```\n\n", + "description": "Provides a VPC Public Ip Address Pool Cidr Block resource. \n\u003e **NOTE:** Only users who have the required permissions can use the IP address pool feature of Elastic IP Address (EIP). To apply for the required permissions, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket).\n\nFor information about VPC Public Ip Address Pool Cidr Block and how to use it, see [What is Public Ip Address Pool Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/429100).\n\n\u003e **NOTE:** Available since v1.189.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({\n status: \"OK\",\n});\nconst defaultPublicIpAddressPool = new alicloud.vpc.PublicIpAddressPool(\"default\", {\n description: name,\n publicIpAddressPoolName: name,\n isp: \"BGP\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst defaultPublicIpAddressPoolCidrBlock = new alicloud.vpc.PublicIpAddressPoolCidrBlock(\"default\", {\n publicIpAddressPoolId: defaultPublicIpAddressPool.id,\n cidrBlock: \"47.118.126.0/25\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.resourcemanager.get_resource_groups(status=\"OK\")\ndefault_public_ip_address_pool = alicloud.vpc.PublicIpAddressPool(\"default\",\n description=name,\n public_ip_address_pool_name=name,\n isp=\"BGP\",\n resource_group_id=default.ids[0])\ndefault_public_ip_address_pool_cidr_block = alicloud.vpc.PublicIpAddressPoolCidrBlock(\"default\",\n public_ip_address_pool_id=default_public_ip_address_pool.id,\n cidr_block=\"47.118.126.0/25\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()\n {\n Status = \"OK\",\n });\n\n var defaultPublicIpAddressPool = new AliCloud.Vpc.PublicIpAddressPool(\"default\", new()\n {\n Description = name,\n PublicIpAddressPoolName = name,\n Isp = \"BGP\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n var defaultPublicIpAddressPoolCidrBlock = new AliCloud.Vpc.PublicIpAddressPoolCidrBlock(\"default\", new()\n {\n PublicIpAddressPoolId = defaultPublicIpAddressPool.Id,\n CidrBlock = \"47.118.126.0/25\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{\n\t\t\tStatus: pulumi.StringRef(\"OK\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultPublicIpAddressPool, err := vpc.NewPublicIpAddressPool(ctx, \"default\", \u0026vpc.PublicIpAddressPoolArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublicIpAddressPoolName: pulumi.String(name),\n\t\t\tIsp: pulumi.String(\"BGP\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewPublicIpAddressPoolCidrBlock(ctx, \"default\", \u0026vpc.PublicIpAddressPoolCidrBlockArgs{\n\t\t\tPublicIpAddressPoolId: defaultPublicIpAddressPool.ID(),\n\t\t\tCidrBlock: pulumi.String(\"47.118.126.0/25\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPool;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolArgs;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolCidrBlock;\nimport com.pulumi.alicloud.vpc.PublicIpAddressPoolCidrBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .status(\"OK\")\n .build());\n\n var defaultPublicIpAddressPool = new PublicIpAddressPool(\"defaultPublicIpAddressPool\", PublicIpAddressPoolArgs.builder()\n .description(name)\n .publicIpAddressPoolName(name)\n .isp(\"BGP\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n var defaultPublicIpAddressPoolCidrBlock = new PublicIpAddressPoolCidrBlock(\"defaultPublicIpAddressPoolCidrBlock\", PublicIpAddressPoolCidrBlockArgs.builder()\n .publicIpAddressPoolId(defaultPublicIpAddressPool.id())\n .cidrBlock(\"47.118.126.0/25\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultPublicIpAddressPool:\n type: alicloud:vpc:PublicIpAddressPool\n name: default\n properties:\n description: ${name}\n publicIpAddressPoolName: ${name}\n isp: BGP\n resourceGroupId: ${default.ids[0]}\n defaultPublicIpAddressPoolCidrBlock:\n type: alicloud:vpc:PublicIpAddressPoolCidrBlock\n name: default\n properties:\n publicIpAddressPoolId: ${defaultPublicIpAddressPool.id}\n cidrBlock: 47.118.126.0/25\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments:\n status: OK\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Public Ip Address Pool Cidr Block can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/publicIpAddressPoolCidrBlock:PublicIpAddressPoolCidrBlock example \u003cpublic_ip_address_pool_id\u003e:\u003ccidr_block\u003e\n```\n\n", "properties": { "cidrBlock": { "type": "string", @@ -265287,7 +271153,7 @@ } }, "alicloud:vpc/routeEntry:RouteEntry": { - "description": "Provides a Route Entry resource. A Route Entry represents a route item of one VPC Route Table.\n\nFor information about Route Entry and how to use it, see [What is Route Entry](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-createrouteentry).\n\n\u003e **NOTE:** Available since v0.1.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultRouteEntry = new alicloud.vpc.RouteEntry(\"default\", {\n routeTableId: defaultNetwork.routeTableId,\n destinationCidrblock: \"172.11.1.1/32\",\n nexthopType: \"Instance\",\n nexthopId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_route_entry = alicloud.vpc.RouteEntry(\"default\",\n route_table_id=default_network.route_table_id,\n destination_cidrblock=\"172.11.1.1/32\",\n nexthop_type=\"Instance\",\n nexthop_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultRouteEntry = new AliCloud.Vpc.RouteEntry(\"default\", new()\n {\n RouteTableId = defaultNetwork.RouteTableId,\n DestinationCidrblock = \"172.11.1.1/32\",\n NexthopType = \"Instance\",\n NexthopId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(2),\nMemorySize: pulumi.Float64Ref(8),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewRouteEntry(ctx, \"default\", \u0026vpc.RouteEntryArgs{\nRouteTableId: defaultNetwork.RouteTableId,\nDestinationCidrblock: pulumi.String(\"172.11.1.1/32\"),\nNexthopType: pulumi.String(\"Instance\"),\nNexthopId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.RouteEntry;\nimport com.pulumi.alicloud.vpc.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultRouteEntry = new RouteEntry(\"defaultRouteEntry\", RouteEntryArgs.builder()\n .routeTableId(defaultNetwork.routeTableId())\n .destinationCidrblock(\"172.11.1.1/32\")\n .nexthopType(\"Instance\")\n .nexthopId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Module Support\n\nYou can use to the existing vpc module \nto create a VPC, several VSwitches and add several route entries one-click.\n\n## Import\n\nRoute Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeEntry:RouteEntry example \u003croute_table_id\u003e:\u003crouter_id\u003e:\u003cdestination_cidrblock\u003e:\u003cnexthop_type\u003e:\u003cnexthop_id\u003e\n```\n\n", + "description": "Provides a Route Entry resource. A Route Entry represents a route item of one VPC Route Table.\n\nFor information about Route Entry and how to use it, see [What is Route Entry](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-createrouteentry).\n\n\u003e **NOTE:** Available since v0.1.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = _default.then(_default =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n cpuCoreCount: 2,\n memorySize: 8,\n instanceTypeFamily: \"ecs.g6\",\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst defaultRouteEntry = new alicloud.vpc.RouteEntry(\"default\", {\n routeTableId: defaultNetwork.routeTableId,\n destinationCidrblock: \"172.11.1.1/32\",\n nexthopType: \"Instance\",\n nexthopId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n cpu_core_count=2,\n memory_size=8,\n instance_type_family=\"ecs.g6\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=name)\ndefault_route_entry = alicloud.vpc.RouteEntry(\"default\",\n route_table_id=default_network.route_table_id,\n destination_cidrblock=\"172.11.1.1/32\",\n nexthop_type=\"Instance\",\n nexthop_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n CpuCoreCount = 2,\n MemorySize = 8,\n InstanceTypeFamily = \"ecs.g6\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var defaultRouteEntry = new AliCloud.Vpc.RouteEntry(\"default\", new()\n {\n RouteTableId = defaultNetwork.RouteTableId,\n DestinationCidrblock = \"172.11.1.1/32\",\n NexthopType = \"Instance\",\n NexthopId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nCpuCoreCount: pulumi.IntRef(2),\nMemorySize: pulumi.Float64Ref(8),\nInstanceTypeFamily: pulumi.StringRef(\"ecs.g6\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewRouteEntry(ctx, \"default\", \u0026vpc.RouteEntryArgs{\nRouteTableId: defaultNetwork.RouteTableId,\nDestinationCidrblock: pulumi.String(\"172.11.1.1/32\"),\nNexthopType: pulumi.String(\"Instance\"),\nNexthopId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.RouteEntry;\nimport com.pulumi.alicloud.vpc.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .cpuCoreCount(2)\n .memorySize(8)\n .instanceTypeFamily(\"ecs.g6\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var defaultRouteEntry = new RouteEntry(\"defaultRouteEntry\", RouteEntryArgs.builder()\n .routeTableId(defaultNetwork.routeTableId())\n .destinationCidrblock(\"172.11.1.1/32\")\n .nexthopType(\"Instance\")\n .nexthopId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Module Support\n\nYou can use to the existing vpc module \nto create a VPC, several VSwitches and add several route entries one-click.\n\n## Import\n\nRoute Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeEntry:RouteEntry example \u003croute_table_id\u003e:\u003crouter_id\u003e:\u003cdestination_cidrblock\u003e:\u003cnexthop_type\u003e:\u003cnexthop_id\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -265402,7 +271268,7 @@ } }, "alicloud:vpc/routeTable:RouteTable": { - "description": "Provides a VPC Route Table resource.\n\nCurrently, customized route tables are available in most regions apart from China (Beijing), China (Hangzhou), and China (Shenzhen) regions.\n\nFor information about VPC Route Table and how to use it, see [What is Route Table](https://www.alibabacloud.com/help/doc-detail/87057.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {vpcName: name});\nconst _default = new alicloud.vpc.RouteTable(\"default\", {\n description: \"test-description\",\n vpcId: defaultVpc.id,\n routeTableName: name,\n associateType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\", vpc_name=name)\ndefault = alicloud.vpc.RouteTable(\"default\",\n description=\"test-description\",\n vpc_id=default_vpc.id,\n route_table_name=name,\n associate_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n });\n\n var @default = new AliCloud.Vpc.RouteTable(\"default\", new()\n {\n Description = \"test-description\",\n VpcId = defaultVpc.Id,\n RouteTableName = name,\n AssociateType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouteTable(ctx, \"default\", \u0026vpc.RouteTableArgs{\n\t\t\tDescription: pulumi.String(\"test-description\"),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tAssociateType: pulumi.String(\"VSwitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .build());\n\n var default_ = new RouteTable(\"default\", RouteTableArgs.builder()\n .description(\"test-description\")\n .vpcId(defaultVpc.id())\n .routeTableName(name)\n .associateType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n default:\n type: alicloud:vpc:RouteTable\n properties:\n description: test-description\n vpcId: ${defaultVpc.id}\n routeTableName: ${name}\n associateType: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Route Table can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeTable:RouteTable example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Route Table resource.\n\nCurrently, customized route tables are available in most regions apart from China (Beijing), China (Hangzhou), and China (Shenzhen) regions.\n\nFor information about VPC Route Table and how to use it, see [What is Route Table](https://www.alibabacloud.com/help/doc-detail/87057.htm).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {vpcName: name});\nconst _default = new alicloud.vpc.RouteTable(\"default\", {\n description: \"test-description\",\n vpcId: defaultVpc.id,\n routeTableName: name,\n associateType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\", vpc_name=name)\ndefault = alicloud.vpc.RouteTable(\"default\",\n description=\"test-description\",\n vpc_id=default_vpc.id,\n route_table_name=name,\n associate_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n });\n\n var @default = new AliCloud.Vpc.RouteTable(\"default\", new()\n {\n Description = \"test-description\",\n VpcId = defaultVpc.Id,\n RouteTableName = name,\n AssociateType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouteTable(ctx, \"default\", \u0026vpc.RouteTableArgs{\n\t\t\tDescription: pulumi.String(\"test-description\"),\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tAssociateType: pulumi.String(\"VSwitch\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.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 name = config.get(\"name\").orElse(\"terraform-example\");\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .build());\n\n var default_ = new RouteTable(\"default\", RouteTableArgs.builder()\n .description(\"test-description\")\n .vpcId(defaultVpc.id())\n .routeTableName(name)\n .associateType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n default:\n type: alicloud:vpc:RouteTable\n properties:\n description: test-description\n vpcId: ${defaultVpc.id}\n routeTableName: ${name}\n associateType: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Route Table can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeTable:RouteTable example \u003cid\u003e\n```\n\n", "properties": { "associateType": { "type": "string", @@ -265552,7 +271418,7 @@ } }, "alicloud:vpc/routeTableAttachment:RouteTableAttachment": { - "description": "Provides a VPC Route Table Attachment resource. Routing table associated resource type.\n\nFor information about VPC Route Table Attachment and how to use it, see [What is Route Table Attachment](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst foo = new alicloud.vpc.Network(\"foo\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vpcId: foo.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst fooRouteTable = new alicloud.vpc.RouteTable(\"foo\", {\n vpcId: foo.id,\n routeTableName: name,\n description: \"route_table_attachment\",\n});\nconst fooRouteTableAttachment = new alicloud.vpc.RouteTableAttachment(\"foo\", {\n vswitchId: fooSwitch.id,\n routeTableId: fooRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfoo = alicloud.vpc.Network(\"foo\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vpc_id=foo.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\nfoo_route_table = alicloud.vpc.RouteTable(\"foo\",\n vpc_id=foo.id,\n route_table_name=name,\n description=\"route_table_attachment\")\nfoo_route_table_attachment = alicloud.vpc.RouteTableAttachment(\"foo\",\n vswitch_id=foo_switch.id,\n route_table_id=foo_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VpcId = foo.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var fooRouteTable = new AliCloud.Vpc.RouteTable(\"foo\", new()\n {\n VpcId = foo.Id,\n RouteTableName = name,\n Description = \"route_table_attachment\",\n });\n\n var fooRouteTableAttachment = new AliCloud.Vpc.RouteTableAttachment(\"foo\", new()\n {\n VswitchId = fooSwitch.Id,\n RouteTableId = fooRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSwitch, err := vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRouteTable, err := vpc.NewRouteTable(ctx, \"foo\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"route_table_attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouteTableAttachment(ctx, \"foo\", \u0026vpc.RouteTableAttachmentArgs{\n\t\t\tVswitchId: fooSwitch.ID(),\n\t\t\tRouteTableId: fooRouteTable.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.RouteTableAttachment;\nimport com.pulumi.alicloud.vpc.RouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var foo = new Network(\"foo\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vpcId(foo.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var fooRouteTable = new RouteTable(\"fooRouteTable\", RouteTableArgs.builder()\n .vpcId(foo.id())\n .routeTableName(name)\n .description(\"route_table_attachment\")\n .build());\n\n var fooRouteTableAttachment = new RouteTableAttachment(\"fooRouteTableAttachment\", RouteTableAttachmentArgs.builder()\n .vswitchId(fooSwitch.id())\n .routeTableId(fooRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vpcId: ${foo.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n fooRouteTable:\n type: alicloud:vpc:RouteTable\n name: foo\n properties:\n vpcId: ${foo.id}\n routeTableName: ${name}\n description: route_table_attachment\n fooRouteTableAttachment:\n type: alicloud:vpc:RouteTableAttachment\n name: foo\n properties:\n vswitchId: ${fooSwitch.id}\n routeTableId: ${fooRouteTable.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeTableAttachment:RouteTableAttachment example \u003croute_table_id\u003e:\u003cvswitch_id\u003e\n```\n\n", + "description": "Provides a VPC Route Table Attachment resource. Routing table associated resource type.\n\nFor information about VPC Route Table Attachment and how to use it, see [What is Route Table Attachment](https://www.alibabacloud.com/help/doc-detail/174112.htm).\n\n\u003e **NOTE:** Available since v1.194.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst foo = new alicloud.vpc.Network(\"foo\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vpcId: foo.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst fooRouteTable = new alicloud.vpc.RouteTable(\"foo\", {\n vpcId: foo.id,\n routeTableName: name,\n description: \"route_table_attachment\",\n});\nconst fooRouteTableAttachment = new alicloud.vpc.RouteTableAttachment(\"foo\", {\n vswitchId: fooSwitch.id,\n routeTableId: fooRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nfoo = alicloud.vpc.Network(\"foo\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vpc_id=foo.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\nfoo_route_table = alicloud.vpc.RouteTable(\"foo\",\n vpc_id=foo.id,\n route_table_name=name,\n description=\"route_table_attachment\")\nfoo_route_table_attachment = alicloud.vpc.RouteTableAttachment(\"foo\",\n vswitch_id=foo_switch.id,\n route_table_id=foo_route_table.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VpcId = foo.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var fooRouteTable = new AliCloud.Vpc.RouteTable(\"foo\", new()\n {\n VpcId = foo.Id,\n RouteTableName = name,\n Description = \"route_table_attachment\",\n });\n\n var fooRouteTableAttachment = new AliCloud.Vpc.RouteTableAttachment(\"foo\", new()\n {\n VswitchId = fooSwitch.Id,\n RouteTableId = fooRouteTable.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSwitch, err := vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRouteTable, err := vpc.NewRouteTable(ctx, \"foo\", \u0026vpc.RouteTableArgs{\n\t\t\tVpcId: foo.ID(),\n\t\t\tRouteTableName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(\"route_table_attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouteTableAttachment(ctx, \"foo\", \u0026vpc.RouteTableAttachmentArgs{\n\t\t\tVswitchId: fooSwitch.ID(),\n\t\t\tRouteTableId: fooRouteTable.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.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.RouteTable;\nimport com.pulumi.alicloud.vpc.RouteTableArgs;\nimport com.pulumi.alicloud.vpc.RouteTableAttachment;\nimport com.pulumi.alicloud.vpc.RouteTableAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var foo = new Network(\"foo\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vpcId(foo.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var fooRouteTable = new RouteTable(\"fooRouteTable\", RouteTableArgs.builder()\n .vpcId(foo.id())\n .routeTableName(name)\n .description(\"route_table_attachment\")\n .build());\n\n var fooRouteTableAttachment = new RouteTableAttachment(\"fooRouteTableAttachment\", RouteTableAttachmentArgs.builder()\n .vswitchId(fooSwitch.id())\n .routeTableId(fooRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vpcId: ${foo.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n fooRouteTable:\n type: alicloud:vpc:RouteTable\n name: foo\n properties:\n vpcId: ${foo.id}\n routeTableName: ${name}\n description: route_table_attachment\n fooRouteTableAttachment:\n type: alicloud:vpc:RouteTableAttachment\n name: foo\n properties:\n vswitchId: ${fooSwitch.id}\n routeTableId: ${fooRouteTable.id}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Route Table Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routeTableAttachment:RouteTableAttachment example \u003croute_table_id\u003e:\u003cvswitch_id\u003e\n```\n\n", "properties": { "routeTableId": { "type": "string", @@ -265610,7 +271476,7 @@ } }, "alicloud:vpc/routerInterface:RouterInterface": { - "description": "Provides a VPC router interface resource aim to build a connection between two VPCs.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.\n\n\u003e **NOTE:** Only one pair of connected router interfaces can exist between two routers. Up to 5 router interfaces can be created for each router and each account.\n\n\u003e **NOTE:** The router interface is not connected when it is created. It can be connected by means of resource alicloud_router_interface_connection.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"tf_test_foo12345\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _interface = new alicloud.vpc.RouterInterface(\"interface\", {\n oppositeRegion: \"cn-beijing\",\n routerType: \"VRouter\",\n routerId: foo.routerId,\n role: \"InitiatingSide\",\n specification: \"Large.2\",\n name: \"test1\",\n description: \"test1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.vpc.Network(\"foo\",\n vpc_name=\"tf_test_foo12345\",\n cidr_block=\"172.16.0.0/12\")\ninterface = alicloud.vpc.RouterInterface(\"interface\",\n opposite_region=\"cn-beijing\",\n router_type=\"VRouter\",\n router_id=foo.router_id,\n role=\"InitiatingSide\",\n specification=\"Large.2\",\n name=\"test1\",\n description=\"test1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"tf_test_foo12345\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @interface = new AliCloud.Vpc.RouterInterface(\"interface\", new()\n {\n OppositeRegion = \"cn-beijing\",\n RouterType = \"VRouter\",\n RouterId = foo.RouterId,\n Role = \"InitiatingSide\",\n Specification = \"Large.2\",\n Name = \"test1\",\n Description = \"test1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_test_foo12345\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouterInterface(ctx, \"interface\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(\"cn-beijing\"),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: foo.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.2\"),\n\t\t\tName: pulumi.String(\"test1\"),\n\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouterInterface;\nimport com.pulumi.alicloud.vpc.RouterInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Network(\"foo\", NetworkArgs.builder()\n .vpcName(\"tf_test_foo12345\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var interface_ = new RouterInterface(\"interface\", RouterInterfaceArgs.builder()\n .oppositeRegion(\"cn-beijing\")\n .routerType(\"VRouter\")\n .routerId(foo.routerId())\n .role(\"InitiatingSide\")\n .specification(\"Large.2\")\n .name(\"test1\")\n .description(\"test1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_test_foo12345\n cidrBlock: 172.16.0.0/12\n interface:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: cn-beijing\n routerType: VRouter\n routerId: ${foo.routerId}\n role: InitiatingSide\n specification: Large.2\n name: test1\n description: test1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe router interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routerInterface:RouterInterface interface ri-abc123456\n```\n\n", + "description": "Provides a VPC router interface resource aim to build a connection between two VPCs.\n\n\u003e **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.\n\n\u003e **NOTE:** Only one pair of connected router interfaces can exist between two routers. Up to 5 router interfaces can be created for each router and each account.\n\n\u003e **NOTE:** The router interface is not connected when it is created. It can be connected by means of resource alicloud_router_interface_connection.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"tf_test_foo12345\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst _interface = new alicloud.vpc.RouterInterface(\"interface\", {\n oppositeRegion: \"cn-beijing\",\n routerType: \"VRouter\",\n routerId: foo.routerId,\n role: \"InitiatingSide\",\n specification: \"Large.2\",\n name: \"test1\",\n description: \"test1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.vpc.Network(\"foo\",\n vpc_name=\"tf_test_foo12345\",\n cidr_block=\"172.16.0.0/12\")\ninterface = alicloud.vpc.RouterInterface(\"interface\",\n opposite_region=\"cn-beijing\",\n router_type=\"VRouter\",\n router_id=foo.router_id,\n role=\"InitiatingSide\",\n specification=\"Large.2\",\n name=\"test1\",\n description=\"test1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"tf_test_foo12345\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var @interface = new AliCloud.Vpc.RouterInterface(\"interface\", new()\n {\n OppositeRegion = \"cn-beijing\",\n RouterType = \"VRouter\",\n RouterId = foo.RouterId,\n Role = \"InitiatingSide\",\n Specification = \"Large.2\",\n Name = \"test1\",\n Description = \"test1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"tf_test_foo12345\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewRouterInterface(ctx, \"interface\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(\"cn-beijing\"),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: foo.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.2\"),\n\t\t\tName: pulumi.String(\"test1\"),\n\t\t\tDescription: pulumi.String(\"test1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouterInterface;\nimport com.pulumi.alicloud.vpc.RouterInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 Network(\"foo\", NetworkArgs.builder()\n .vpcName(\"tf_test_foo12345\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var interface_ = new RouterInterface(\"interface\", RouterInterfaceArgs.builder()\n .oppositeRegion(\"cn-beijing\")\n .routerType(\"VRouter\")\n .routerId(foo.routerId())\n .role(\"InitiatingSide\")\n .specification(\"Large.2\")\n .name(\"test1\")\n .description(\"test1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n vpcName: tf_test_foo12345\n cidrBlock: 172.16.0.0/12\n interface:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: cn-beijing\n routerType: VRouter\n routerId: ${foo.routerId}\n role: InitiatingSide\n specification: Large.2\n name: test1\n description: test1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe router interface can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routerInterface:RouterInterface interface ri-abc123456\n```\n\n", "properties": { "accessPointId": { "type": "string", @@ -265848,7 +271714,7 @@ } }, "alicloud:vpc/routerInterfaceConnection:RouterInterfaceConnection": { - "description": "\u003e **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.\n\nProvides a VPC router interface connection resource to connect two router interfaces which are in two different VPCs.\nAfter that, all of the two router interfaces will be active.\n\n\u003e **NOTE:** At present, Router interface does not support changing opposite router interface, the connection delete action is only deactivating it to inactive, not modifying the connection to empty.\n\n\u003e **NOTE:** If you want to changing opposite router interface, you can delete router interface and re-build them.\n\n\u003e **NOTE:** A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n\n\u003e **NOTE:** Please remember to add a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e clause in the router interface connection from the InitiatingSide to the AcceptingSide, because the connection from the AcceptingSide to the InitiatingSide must be done first.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"alicloudRouterInterfaceConnectionBasic\";\nconst foo = new alicloud.vpc.Network(\"foo\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst bar = new alicloud.vpc.Network(\"bar\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst initiate = new alicloud.vpc.RouterInterface(\"initiate\", {\n oppositeRegion: region,\n routerType: \"VRouter\",\n routerId: foo.routerId,\n role: \"InitiatingSide\",\n specification: \"Large.2\",\n name: name,\n description: name,\n instanceChargeType: \"PostPaid\",\n});\nconst opposite = new alicloud.vpc.RouterInterface(\"opposite\", {\n oppositeRegion: region,\n routerType: \"VRouter\",\n routerId: bar.routerId,\n role: \"AcceptingSide\",\n specification: \"Large.1\",\n name: `${name}-opposite`,\n description: `${name}-opposite`,\n});\nconst barRouterInterfaceConnection = new alicloud.vpc.RouterInterfaceConnection(\"bar\", {\n interfaceId: opposite.id,\n oppositeInterfaceId: initiate.id,\n});\n// A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\nconst fooRouterInterfaceConnection = new alicloud.vpc.RouterInterfaceConnection(\"foo\", {\n interfaceId: initiate.id,\n oppositeInterfaceId: opposite.id,\n}, {\n dependsOn: [barRouterInterfaceConnection],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"alicloudRouterInterfaceConnectionBasic\"\nfoo = alicloud.vpc.Network(\"foo\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\nbar = alicloud.vpc.Network(\"bar\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ninitiate = alicloud.vpc.RouterInterface(\"initiate\",\n opposite_region=region,\n router_type=\"VRouter\",\n router_id=foo.router_id,\n role=\"InitiatingSide\",\n specification=\"Large.2\",\n name=name,\n description=name,\n instance_charge_type=\"PostPaid\")\nopposite = alicloud.vpc.RouterInterface(\"opposite\",\n opposite_region=region,\n router_type=\"VRouter\",\n router_id=bar.router_id,\n role=\"AcceptingSide\",\n specification=\"Large.1\",\n name=f\"{name}-opposite\",\n description=f\"{name}-opposite\")\nbar_router_interface_connection = alicloud.vpc.RouterInterfaceConnection(\"bar\",\n interface_id=opposite.id,\n opposite_interface_id=initiate.id)\n# A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\nfoo_router_interface_connection = alicloud.vpc.RouterInterfaceConnection(\"foo\",\n interface_id=initiate.id,\n opposite_interface_id=opposite.id,\n opts = pulumi.ResourceOptions(depends_on=[bar_router_interface_connection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"alicloudRouterInterfaceConnectionBasic\";\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var bar = new AliCloud.Vpc.Network(\"bar\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var initiate = new AliCloud.Vpc.RouterInterface(\"initiate\", new()\n {\n OppositeRegion = region,\n RouterType = \"VRouter\",\n RouterId = foo.RouterId,\n Role = \"InitiatingSide\",\n Specification = \"Large.2\",\n Name = name,\n Description = name,\n InstanceChargeType = \"PostPaid\",\n });\n\n var opposite = new AliCloud.Vpc.RouterInterface(\"opposite\", new()\n {\n OppositeRegion = region,\n RouterType = \"VRouter\",\n RouterId = bar.RouterId,\n Role = \"AcceptingSide\",\n Specification = \"Large.1\",\n Name = $\"{name}-opposite\",\n Description = $\"{name}-opposite\",\n });\n\n var barRouterInterfaceConnection = new AliCloud.Vpc.RouterInterfaceConnection(\"bar\", new()\n {\n InterfaceId = opposite.Id,\n OppositeInterfaceId = initiate.Id,\n });\n\n // A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n var fooRouterInterfaceConnection = new AliCloud.Vpc.RouterInterfaceConnection(\"foo\", new()\n {\n InterfaceId = initiate.Id,\n OppositeInterfaceId = opposite.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n barRouterInterfaceConnection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"alicloudRouterInterfaceConnectionBasic\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := vpc.NewNetwork(ctx, \"bar\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinitiate, err := vpc.NewRouterInterface(ctx, \"initiate\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(region),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: foo.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\topposite, err := vpc.NewRouterInterface(ctx, \"opposite\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(region),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: bar.RouterId,\n\t\t\tRole: pulumi.String(\"AcceptingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.1\"),\n\t\t\tName: pulumi.Sprintf(\"%v-opposite\", name),\n\t\t\tDescription: pulumi.Sprintf(\"%v-opposite\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarRouterInterfaceConnection, err := vpc.NewRouterInterfaceConnection(ctx, \"bar\", \u0026vpc.RouterInterfaceConnectionArgs{\n\t\t\tInterfaceId: opposite.ID(),\n\t\t\tOppositeInterfaceId: initiate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n\t\t_, err = vpc.NewRouterInterfaceConnection(ctx, \"foo\", \u0026vpc.RouterInterfaceConnectionArgs{\n\t\t\tInterfaceId: initiate.ID(),\n\t\t\tOppositeInterfaceId: opposite.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tbarRouterInterfaceConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouterInterface;\nimport com.pulumi.alicloud.vpc.RouterInterfaceArgs;\nimport com.pulumi.alicloud.vpc.RouterInterfaceConnection;\nimport com.pulumi.alicloud.vpc.RouterInterfaceConnectionArgs;\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"alicloudRouterInterfaceConnectionBasic\");\n var foo = new Network(\"foo\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var bar = new Network(\"bar\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var initiate = new RouterInterface(\"initiate\", RouterInterfaceArgs.builder()\n .oppositeRegion(region)\n .routerType(\"VRouter\")\n .routerId(foo.routerId())\n .role(\"InitiatingSide\")\n .specification(\"Large.2\")\n .name(name)\n .description(name)\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var opposite = new RouterInterface(\"opposite\", RouterInterfaceArgs.builder()\n .oppositeRegion(region)\n .routerType(\"VRouter\")\n .routerId(bar.routerId())\n .role(\"AcceptingSide\")\n .specification(\"Large.1\")\n .name(String.format(\"%s-opposite\", name))\n .description(String.format(\"%s-opposite\", name))\n .build());\n\n var barRouterInterfaceConnection = new RouterInterfaceConnection(\"barRouterInterfaceConnection\", RouterInterfaceConnectionArgs.builder()\n .interfaceId(opposite.id())\n .oppositeInterfaceId(initiate.id())\n .build());\n\n // A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n var fooRouterInterfaceConnection = new RouterInterfaceConnection(\"fooRouterInterfaceConnection\", RouterInterfaceConnectionArgs.builder()\n .interfaceId(initiate.id())\n .oppositeInterfaceId(opposite.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(barRouterInterfaceConnection)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: alicloudRouterInterfaceConnectionBasic\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n bar:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n initiate:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: ${region}\n routerType: VRouter\n routerId: ${foo.routerId}\n role: InitiatingSide\n specification: Large.2\n name: ${name}\n description: ${name}\n instanceChargeType: PostPaid\n opposite:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: ${region}\n routerType: VRouter\n routerId: ${bar.routerId}\n role: AcceptingSide\n specification: Large.1\n name: ${name}-opposite\n description: ${name}-opposite\n # A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n fooRouterInterfaceConnection:\n type: alicloud:vpc:RouterInterfaceConnection\n name: foo\n properties:\n interfaceId: ${initiate.id}\n oppositeInterfaceId: ${opposite.id}\n options:\n dependsOn:\n - ${barRouterInterfaceConnection}\n barRouterInterfaceConnection:\n type: alicloud:vpc:RouterInterfaceConnection\n name: bar\n properties:\n interfaceId: ${opposite.id}\n oppositeInterfaceId: ${initiate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe router interface connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routerInterfaceConnection:RouterInterfaceConnection foo ri-abc123456\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.\n\nProvides a VPC router interface connection resource to connect two router interfaces which are in two different VPCs.\nAfter that, all of the two router interfaces will be active.\n\n\u003e **NOTE:** At present, Router interface does not support changing opposite router interface, the connection delete action is only deactivating it to inactive, not modifying the connection to empty.\n\n\u003e **NOTE:** If you want to changing opposite router interface, you can delete router interface and re-build them.\n\n\u003e **NOTE:** A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n\n\u003e **NOTE:** Please remember to add a \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`depends_on`\u003c/span\u003e clause in the router interface connection from the InitiatingSide to the AcceptingSide, because the connection from the AcceptingSide to the InitiatingSide must be done first.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst region = config.get(\"region\") || \"cn-hangzhou\";\nconst name = config.get(\"name\") || \"alicloudRouterInterfaceConnectionBasic\";\nconst foo = new alicloud.vpc.Network(\"foo\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst bar = new alicloud.vpc.Network(\"bar\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst initiate = new alicloud.vpc.RouterInterface(\"initiate\", {\n oppositeRegion: region,\n routerType: \"VRouter\",\n routerId: foo.routerId,\n role: \"InitiatingSide\",\n specification: \"Large.2\",\n name: name,\n description: name,\n instanceChargeType: \"PostPaid\",\n});\nconst opposite = new alicloud.vpc.RouterInterface(\"opposite\", {\n oppositeRegion: region,\n routerType: \"VRouter\",\n routerId: bar.routerId,\n role: \"AcceptingSide\",\n specification: \"Large.1\",\n name: `${name}-opposite`,\n description: `${name}-opposite`,\n});\nconst barRouterInterfaceConnection = new alicloud.vpc.RouterInterfaceConnection(\"bar\", {\n interfaceId: opposite.id,\n oppositeInterfaceId: initiate.id,\n});\n// A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\nconst fooRouterInterfaceConnection = new alicloud.vpc.RouterInterfaceConnection(\"foo\", {\n interfaceId: initiate.id,\n oppositeInterfaceId: opposite.id,\n}, {\n dependsOn: [barRouterInterfaceConnection],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"cn-hangzhou\"\nname = config.get(\"name\")\nif name is None:\n name = \"alicloudRouterInterfaceConnectionBasic\"\nfoo = alicloud.vpc.Network(\"foo\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\nbar = alicloud.vpc.Network(\"bar\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ninitiate = alicloud.vpc.RouterInterface(\"initiate\",\n opposite_region=region,\n router_type=\"VRouter\",\n router_id=foo.router_id,\n role=\"InitiatingSide\",\n specification=\"Large.2\",\n name=name,\n description=name,\n instance_charge_type=\"PostPaid\")\nopposite = alicloud.vpc.RouterInterface(\"opposite\",\n opposite_region=region,\n router_type=\"VRouter\",\n router_id=bar.router_id,\n role=\"AcceptingSide\",\n specification=\"Large.1\",\n name=f\"{name}-opposite\",\n description=f\"{name}-opposite\")\nbar_router_interface_connection = alicloud.vpc.RouterInterfaceConnection(\"bar\",\n interface_id=opposite.id,\n opposite_interface_id=initiate.id)\n# A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\nfoo_router_interface_connection = alicloud.vpc.RouterInterfaceConnection(\"foo\",\n interface_id=initiate.id,\n opposite_interface_id=opposite.id,\n opts = pulumi.ResourceOptions(depends_on=[bar_router_interface_connection]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.Get(\"region\") ?? \"cn-hangzhou\";\n var name = config.Get(\"name\") ?? \"alicloudRouterInterfaceConnectionBasic\";\n var foo = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var bar = new AliCloud.Vpc.Network(\"bar\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var initiate = new AliCloud.Vpc.RouterInterface(\"initiate\", new()\n {\n OppositeRegion = region,\n RouterType = \"VRouter\",\n RouterId = foo.RouterId,\n Role = \"InitiatingSide\",\n Specification = \"Large.2\",\n Name = name,\n Description = name,\n InstanceChargeType = \"PostPaid\",\n });\n\n var opposite = new AliCloud.Vpc.RouterInterface(\"opposite\", new()\n {\n OppositeRegion = region,\n RouterType = \"VRouter\",\n RouterId = bar.RouterId,\n Role = \"AcceptingSide\",\n Specification = \"Large.1\",\n Name = $\"{name}-opposite\",\n Description = $\"{name}-opposite\",\n });\n\n var barRouterInterfaceConnection = new AliCloud.Vpc.RouterInterfaceConnection(\"bar\", new()\n {\n InterfaceId = opposite.Id,\n OppositeInterfaceId = initiate.Id,\n });\n\n // A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n var fooRouterInterfaceConnection = new AliCloud.Vpc.RouterInterfaceConnection(\"foo\", new()\n {\n InterfaceId = initiate.Id,\n OppositeInterfaceId = opposite.Id,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n barRouterInterfaceConnection,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tname := \"alicloudRouterInterfaceConnectionBasic\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tfoo, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := vpc.NewNetwork(ctx, \"bar\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinitiate, err := vpc.NewRouterInterface(ctx, \"initiate\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(region),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: foo.RouterId,\n\t\t\tRole: pulumi.String(\"InitiatingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.2\"),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tInstanceChargeType: pulumi.String(\"PostPaid\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\topposite, err := vpc.NewRouterInterface(ctx, \"opposite\", \u0026vpc.RouterInterfaceArgs{\n\t\t\tOppositeRegion: pulumi.String(region),\n\t\t\tRouterType: pulumi.String(\"VRouter\"),\n\t\t\tRouterId: bar.RouterId,\n\t\t\tRole: pulumi.String(\"AcceptingSide\"),\n\t\t\tSpecification: pulumi.String(\"Large.1\"),\n\t\t\tName: pulumi.Sprintf(\"%v-opposite\", name),\n\t\t\tDescription: pulumi.Sprintf(\"%v-opposite\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbarRouterInterfaceConnection, err := vpc.NewRouterInterfaceConnection(ctx, \"bar\", \u0026vpc.RouterInterfaceConnectionArgs{\n\t\t\tInterfaceId: opposite.ID(),\n\t\t\tOppositeInterfaceId: initiate.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n\t\t_, err = vpc.NewRouterInterfaceConnection(ctx, \"foo\", \u0026vpc.RouterInterfaceConnectionArgs{\n\t\t\tInterfaceId: initiate.ID(),\n\t\t\tOppositeInterfaceId: opposite.ID(),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tbarRouterInterfaceConnection,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.RouterInterface;\nimport com.pulumi.alicloud.vpc.RouterInterfaceArgs;\nimport com.pulumi.alicloud.vpc.RouterInterfaceConnection;\nimport com.pulumi.alicloud.vpc.RouterInterfaceConnectionArgs;\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(\"cn-hangzhou\");\n final var name = config.get(\"name\").orElse(\"alicloudRouterInterfaceConnectionBasic\");\n var foo = new Network(\"foo\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var bar = new Network(\"bar\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var initiate = new RouterInterface(\"initiate\", RouterInterfaceArgs.builder()\n .oppositeRegion(region)\n .routerType(\"VRouter\")\n .routerId(foo.routerId())\n .role(\"InitiatingSide\")\n .specification(\"Large.2\")\n .name(name)\n .description(name)\n .instanceChargeType(\"PostPaid\")\n .build());\n\n var opposite = new RouterInterface(\"opposite\", RouterInterfaceArgs.builder()\n .oppositeRegion(region)\n .routerType(\"VRouter\")\n .routerId(bar.routerId())\n .role(\"AcceptingSide\")\n .specification(\"Large.1\")\n .name(String.format(\"%s-opposite\", name))\n .description(String.format(\"%s-opposite\", name))\n .build());\n\n var barRouterInterfaceConnection = new RouterInterfaceConnection(\"barRouterInterfaceConnection\", RouterInterfaceConnectionArgs.builder()\n .interfaceId(opposite.id())\n .oppositeInterfaceId(initiate.id())\n .build());\n\n // A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n var fooRouterInterfaceConnection = new RouterInterfaceConnection(\"fooRouterInterfaceConnection\", RouterInterfaceConnectionArgs.builder()\n .interfaceId(initiate.id())\n .oppositeInterfaceId(opposite.id())\n .build(), CustomResourceOptions.builder()\n .dependsOn(barRouterInterfaceConnection)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: cn-hangzhou\n name:\n type: string\n default: alicloudRouterInterfaceConnectionBasic\nresources:\n foo:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n bar:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 192.168.0.0/16\n initiate:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: ${region}\n routerType: VRouter\n routerId: ${foo.routerId}\n role: InitiatingSide\n specification: Large.2\n name: ${name}\n description: ${name}\n instanceChargeType: PostPaid\n opposite:\n type: alicloud:vpc:RouterInterface\n properties:\n oppositeRegion: ${region}\n routerType: VRouter\n routerId: ${bar.routerId}\n role: AcceptingSide\n specification: Large.1\n name: ${name}-opposite\n description: ${name}-opposite\n # A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.\n fooRouterInterfaceConnection:\n type: alicloud:vpc:RouterInterfaceConnection\n name: foo\n properties:\n interfaceId: ${initiate.id}\n oppositeInterfaceId: ${opposite.id}\n options:\n dependsOn:\n - ${barRouterInterfaceConnection}\n barRouterInterfaceConnection:\n type: alicloud:vpc:RouterInterfaceConnection\n name: bar\n properties:\n interfaceId: ${opposite.id}\n oppositeInterfaceId: ${initiate.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nThe router interface connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/routerInterfaceConnection:RouterInterfaceConnection foo ri-abc123456\n```\n\n", "properties": { "interfaceId": { "type": "string", @@ -265941,7 +271807,7 @@ } }, "alicloud:vpc/snatEntry:SnatEntry": { - "description": "Provides a NAT Gateway Snat Entry resource.\n\n\n\nFor information about NAT Gateway Snat Entry and how to use it, see [What is Snat Entry](https://www.alibabacloud.com/help/en/nat-gateway/developer-reference/api-vpc-2016-04-28-createsnatentry-natgws).\n\n\u003e **NOTE:** Available since v1.119.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultEipAssociation = new alicloud.ecs.EipAssociation(\"default\", {\n allocationId: defaultEipAddress.id,\n instanceId: defaultNatGateway.id,\n});\nconst defaultSnatEntry = new alicloud.vpc.SnatEntry(\"default\", {\n snatTableId: defaultNatGateway.snatTableIds,\n sourceVswitchId: defaultSwitch.id,\n snatIp: defaultEipAddress.ipAddress,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_eip_association = alicloud.ecs.EipAssociation(\"default\",\n allocation_id=default_eip_address.id,\n instance_id=default_nat_gateway.id)\ndefault_snat_entry = alicloud.vpc.SnatEntry(\"default\",\n snat_table_id=default_nat_gateway.snat_table_ids,\n source_vswitch_id=default_switch.id,\n snat_ip=default_eip_address.ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultEipAssociation = new AliCloud.Ecs.EipAssociation(\"default\", new()\n {\n AllocationId = defaultEipAddress.Id,\n InstanceId = defaultNatGateway.Id,\n });\n\n var defaultSnatEntry = new AliCloud.Vpc.SnatEntry(\"default\", new()\n {\n SnatTableId = defaultNatGateway.SnatTableIds,\n SourceVswitchId = defaultSwitch.Id,\n SnatIp = defaultEipAddress.IpAddress,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNatGateway, err := vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"default\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: defaultEipAddress.ID(),\n\t\t\tInstanceId: defaultNatGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSnatEntry(ctx, \"default\", \u0026vpc.SnatEntryArgs{\n\t\t\tSnatTableId: defaultNatGateway.SnatTableIds,\n\t\t\tSourceVswitchId: defaultSwitch.ID(),\n\t\t\tSnatIp: defaultEipAddress.IpAddress,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.SnatEntry;\nimport com.pulumi.alicloud.vpc.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultEipAssociation = new EipAssociation(\"defaultEipAssociation\", EipAssociationArgs.builder()\n .allocationId(defaultEipAddress.id())\n .instanceId(defaultNatGateway.id())\n .build());\n\n var defaultSnatEntry = new SnatEntry(\"defaultSnatEntry\", SnatEntryArgs.builder()\n .snatTableId(defaultNatGateway.snatTableIds())\n .sourceVswitchId(defaultSwitch.id())\n .snatIp(defaultEipAddress.ipAddress())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: default\n properties:\n allocationId: ${defaultEipAddress.id}\n instanceId: ${defaultNatGateway.id}\n defaultSnatEntry:\n type: alicloud:vpc:SnatEntry\n name: default\n properties:\n snatTableId: ${defaultNatGateway.snatTableIds}\n sourceVswitchId: ${defaultSwitch.id}\n snatIp: ${defaultEipAddress.ipAddress}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNAT Gateway Snat Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/snatEntry:SnatEntry example \u003csnat_table_id\u003e:\u003csnat_entry_id\u003e\n```\n\n```sh\n$ pulumi import alicloud:vpc/snatEntry:SnatEntry example \u003csnat_entry_id\u003e\n```\n\n", + "description": "Provides a NAT Gateway Snat Entry resource.\n\n\n\nFor information about NAT Gateway Snat Entry and how to use it, see [What is Snat Entry](https://www.alibabacloud.com/help/en/nat-gateway/developer-reference/api-vpc-2016-04-28-createsnatentry-natgws).\n\n\u003e **NOTE:** Available since v1.119.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"172.16.0.0/12\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n vswitchName: name,\n});\nconst defaultNatGateway = new alicloud.vpc.NatGateway(\"default\", {\n vpcId: defaultNetwork.id,\n natGatewayName: name,\n paymentType: \"PayAsYouGo\",\n vswitchId: defaultSwitch.id,\n natType: \"Enhanced\",\n});\nconst defaultEipAddress = new alicloud.ecs.EipAddress(\"default\", {addressName: name});\nconst defaultEipAssociation = new alicloud.ecs.EipAssociation(\"default\", {\n allocationId: defaultEipAddress.id,\n instanceId: defaultNatGateway.id,\n});\nconst defaultSnatEntry = new alicloud.vpc.SnatEntry(\"default\", {\n snatTableId: defaultNatGateway.snatTableIds,\n sourceVswitchId: defaultSwitch.id,\n snatIp: defaultEipAddress.ipAddress,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"172.16.0.0/12\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=default.zones[0].id,\n vswitch_name=name)\ndefault_nat_gateway = alicloud.vpc.NatGateway(\"default\",\n vpc_id=default_network.id,\n nat_gateway_name=name,\n payment_type=\"PayAsYouGo\",\n vswitch_id=default_switch.id,\n nat_type=\"Enhanced\")\ndefault_eip_address = alicloud.ecs.EipAddress(\"default\", address_name=name)\ndefault_eip_association = alicloud.ecs.EipAssociation(\"default\",\n allocation_id=default_eip_address.id,\n instance_id=default_nat_gateway.id)\ndefault_snat_entry = alicloud.vpc.SnatEntry(\"default\",\n snat_table_id=default_nat_gateway.snat_table_ids,\n source_vswitch_id=default_switch.id,\n snat_ip=default_eip_address.ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n VswitchName = name,\n });\n\n var defaultNatGateway = new AliCloud.Vpc.NatGateway(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n NatGatewayName = name,\n PaymentType = \"PayAsYouGo\",\n VswitchId = defaultSwitch.Id,\n NatType = \"Enhanced\",\n });\n\n var defaultEipAddress = new AliCloud.Ecs.EipAddress(\"default\", new()\n {\n AddressName = name,\n });\n\n var defaultEipAssociation = new AliCloud.Ecs.EipAssociation(\"default\", new()\n {\n AllocationId = defaultEipAddress.Id,\n InstanceId = defaultNatGateway.Id,\n });\n\n var defaultSnatEntry = new AliCloud.Vpc.SnatEntry(\"default\", new()\n {\n SnatTableId = defaultNatGateway.SnatTableIds,\n SourceVswitchId = defaultSwitch.Id,\n SnatIp = defaultEipAddress.IpAddress,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNatGateway, err := vpc.NewNatGateway(ctx, \"default\", \u0026vpc.NatGatewayArgs{\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNatGatewayName: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"PayAsYouGo\"),\n\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\tNatType: pulumi.String(\"Enhanced\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultEipAddress, err := ecs.NewEipAddress(ctx, \"default\", \u0026ecs.EipAddressArgs{\n\t\t\tAddressName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecs.NewEipAssociation(ctx, \"default\", \u0026ecs.EipAssociationArgs{\n\t\t\tAllocationId: defaultEipAddress.ID(),\n\t\t\tInstanceId: defaultNatGateway.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSnatEntry(ctx, \"default\", \u0026vpc.SnatEntryArgs{\n\t\t\tSnatTableId: defaultNatGateway.SnatTableIds,\n\t\t\tSourceVswitchId: defaultSwitch.ID(),\n\t\t\tSnatIp: defaultEipAddress.IpAddress,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.NatGateway;\nimport com.pulumi.alicloud.vpc.NatGatewayArgs;\nimport com.pulumi.alicloud.ecs.EipAddress;\nimport com.pulumi.alicloud.ecs.EipAddressArgs;\nimport com.pulumi.alicloud.ecs.EipAssociation;\nimport com.pulumi.alicloud.ecs.EipAssociationArgs;\nimport com.pulumi.alicloud.vpc.SnatEntry;\nimport com.pulumi.alicloud.vpc.SnatEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(default_.zones()[0].id())\n .vswitchName(name)\n .build());\n\n var defaultNatGateway = new NatGateway(\"defaultNatGateway\", NatGatewayArgs.builder()\n .vpcId(defaultNetwork.id())\n .natGatewayName(name)\n .paymentType(\"PayAsYouGo\")\n .vswitchId(defaultSwitch.id())\n .natType(\"Enhanced\")\n .build());\n\n var defaultEipAddress = new EipAddress(\"defaultEipAddress\", EipAddressArgs.builder()\n .addressName(name)\n .build());\n\n var defaultEipAssociation = new EipAssociation(\"defaultEipAssociation\", EipAssociationArgs.builder()\n .allocationId(defaultEipAddress.id())\n .instanceId(defaultNatGateway.id())\n .build());\n\n var defaultSnatEntry = new SnatEntry(\"defaultSnatEntry\", SnatEntryArgs.builder()\n .snatTableId(defaultNatGateway.snatTableIds())\n .sourceVswitchId(defaultSwitch.id())\n .snatIp(defaultEipAddress.ipAddress())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n vpcName: ${name}\n cidrBlock: 172.16.0.0/12\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock: 172.16.0.0/21\n zoneId: ${default.zones[0].id}\n vswitchName: ${name}\n defaultNatGateway:\n type: alicloud:vpc:NatGateway\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n natGatewayName: ${name}\n paymentType: PayAsYouGo\n vswitchId: ${defaultSwitch.id}\n natType: Enhanced\n defaultEipAddress:\n type: alicloud:ecs:EipAddress\n name: default\n properties:\n addressName: ${name}\n defaultEipAssociation:\n type: alicloud:ecs:EipAssociation\n name: default\n properties:\n allocationId: ${defaultEipAddress.id}\n instanceId: ${defaultNatGateway.id}\n defaultSnatEntry:\n type: alicloud:vpc:SnatEntry\n name: default\n properties:\n snatTableId: ${defaultNatGateway.snatTableIds}\n sourceVswitchId: ${defaultSwitch.id}\n snatIp: ${defaultEipAddress.ipAddress}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nNAT Gateway Snat Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/snatEntry:SnatEntry example \u003csnat_table_id\u003e:\u003csnat_entry_id\u003e\n```\n\n```sh\n$ pulumi import alicloud:vpc/snatEntry:SnatEntry example \u003csnat_entry_id\u003e\n```\n\n", "properties": { "eipAffinity": { "type": "integer", @@ -266225,7 +272091,7 @@ "deprecationMessage": "This resource has been deprecated and replaced by the Switch resource." }, "alicloud:vpc/switch:Switch": { - "description": "Provides a VPC Vswitch resource. ## Module Support\n\nYou can use to the existing vpc module to create a VPC and several VSwitches one-click.\n\nFor information about VPC Vswitch and how to use it, see [What is Vswitch](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/work-with-vswitches).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooNetwork = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/21\",\n vpcId: fooNetwork.id,\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_network = alicloud.vpc.Network(\"foo\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/21\",\n vpc_id=foo_network.id,\n zone_id=foo.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooNetwork = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/21\",\n VpcId = fooNetwork.Id,\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooNetwork, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tVpcId: fooNetwork.ID(),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooNetwork = new Network(\"fooNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/21\")\n .vpcId(fooNetwork.id())\n .zoneId(foo.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooNetwork:\n type: alicloud:vpc:Network\n name: foo\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.16.0.0/21\n vpcId: ${fooNetwork.id}\n zoneId: ${foo.zones[0].id}\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst cidrBlocks = new alicloud.vpc.Ipv4CidrBlock(\"cidr_blocks\", {\n vpcId: vpc.id,\n secondaryCidrBlock: \"192.163.0.0/16\",\n});\nconst island_nat = new alicloud.vpc.Switch(\"island-nat\", {\n vpcId: cidrBlocks.vpcId,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n tags: {\n BuiltBy: \"example_value\",\n cnm_version: \"example_value\",\n Environment: \"example_value\",\n ManagedBy: \"example_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\ncidr_blocks = alicloud.vpc.Ipv4CidrBlock(\"cidr_blocks\",\n vpc_id=vpc.id,\n secondary_cidr_block=\"192.163.0.0/16\")\nisland_nat = alicloud.vpc.Switch(\"island-nat\",\n vpc_id=cidr_blocks.vpc_id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=foo.zones[0].id,\n vswitch_name=\"terraform-example\",\n tags={\n \"BuiltBy\": \"example_value\",\n \"cnm_version\": \"example_value\",\n \"Environment\": \"example_value\",\n \"ManagedBy\": \"example_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var cidrBlocks = new AliCloud.Vpc.Ipv4CidrBlock(\"cidr_blocks\", new()\n {\n VpcId = vpc.Id,\n SecondaryCidrBlock = \"192.163.0.0/16\",\n });\n\n var island_nat = new AliCloud.Vpc.Switch(\"island-nat\", new()\n {\n VpcId = cidrBlocks.VpcId,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n Tags = \n {\n { \"BuiltBy\", \"example_value\" },\n { \"cnm_version\", \"example_value\" },\n { \"Environment\", \"example_value\" },\n { \"ManagedBy\", \"example_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcidrBlocks, err := vpc.NewIpv4CidrBlock(ctx, \"cidr_blocks\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.163.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"island-nat\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: cidrBlocks.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"BuiltBy\": pulumi.String(\"example_value\"),\n\t\t\t\t\"cnm_version\": pulumi.String(\"example_value\"),\n\t\t\t\t\"Environment\": pulumi.String(\"example_value\"),\n\t\t\t\t\"ManagedBy\": pulumi.String(\"example_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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var cidrBlocks = new Ipv4CidrBlock(\"cidrBlocks\", Ipv4CidrBlockArgs.builder()\n .vpcId(vpc.id())\n .secondaryCidrBlock(\"192.163.0.0/16\")\n .build());\n\n var island_nat = new Switch(\"island-nat\", SwitchArgs.builder()\n .vpcId(cidrBlocks.vpcId())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(foo.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"BuiltBy\", \"example_value\"),\n Map.entry(\"cnm_version\", \"example_value\"),\n Map.entry(\"Environment\", \"example_value\"),\n Map.entry(\"ManagedBy\", \"example_value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n cidrBlocks:\n type: alicloud:vpc:Ipv4CidrBlock\n name: cidr_blocks\n properties:\n vpcId: ${vpc.id}\n secondaryCidrBlock: 192.163.0.0/16\n island-nat:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${cidrBlocks.vpcId}\n cidrBlock: 172.16.0.0/21\n zoneId: ${foo.zones[0].id}\n vswitchName: terraform-example\n tags:\n BuiltBy: example_value\n cnm_version: example_value\n Environment: example_value\n ManagedBy: example_value\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a switch associated with the additional network segment\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooNetwork = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst fooIpv4CidrBlock = new alicloud.vpc.Ipv4CidrBlock(\"foo\", {\n vpcId: fooNetwork.id,\n secondaryCidrBlock: \"192.163.0.0/16\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vpcId: fooIpv4CidrBlock.vpcId,\n cidrBlock: \"192.163.0.0/24\",\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_network = alicloud.vpc.Network(\"foo\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nfoo_ipv4_cidr_block = alicloud.vpc.Ipv4CidrBlock(\"foo\",\n vpc_id=foo_network.id,\n secondary_cidr_block=\"192.163.0.0/16\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vpc_id=foo_ipv4_cidr_block.vpc_id,\n cidr_block=\"192.163.0.0/24\",\n zone_id=foo.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooNetwork = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var fooIpv4CidrBlock = new AliCloud.Vpc.Ipv4CidrBlock(\"foo\", new()\n {\n VpcId = fooNetwork.Id,\n SecondaryCidrBlock = \"192.163.0.0/16\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VpcId = fooIpv4CidrBlock.VpcId,\n CidrBlock = \"192.163.0.0/24\",\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooNetwork, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooIpv4CidrBlock, err := vpc.NewIpv4CidrBlock(ctx, \"foo\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tVpcId: fooNetwork.ID(),\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.163.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: fooIpv4CidrBlock.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"192.163.0.0/24\"),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooNetwork = new Network(\"fooNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var fooIpv4CidrBlock = new Ipv4CidrBlock(\"fooIpv4CidrBlock\", Ipv4CidrBlockArgs.builder()\n .vpcId(fooNetwork.id())\n .secondaryCidrBlock(\"192.163.0.0/16\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vpcId(fooIpv4CidrBlock.vpcId())\n .cidrBlock(\"192.163.0.0/24\")\n .zoneId(foo.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooNetwork:\n type: alicloud:vpc:Network\n name: foo\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n fooIpv4CidrBlock:\n type: alicloud:vpc:Ipv4CidrBlock\n name: foo\n properties:\n vpcId: ${fooNetwork.id}\n secondaryCidrBlock: 192.163.0.0/16\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vpcId: ${fooIpv4CidrBlock.vpcId}\n cidrBlock: 192.163.0.0/24\n zoneId: ${foo.zones[0].id}\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Vswitch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/switch:Switch example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Vswitch resource. ## Module Support\n\nYou can use to the existing vpc module to create a VPC and several VSwitches one-click.\n\nFor information about VPC Vswitch and how to use it, see [What is Vswitch](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/work-with-vswitches).\n\n\u003e **NOTE:** Available since v1.0.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooNetwork = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vswitchName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/21\",\n vpcId: fooNetwork.id,\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_network = alicloud.vpc.Network(\"foo\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vswitch_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/21\",\n vpc_id=foo_network.id,\n zone_id=foo.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooNetwork = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VswitchName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/21\",\n VpcId = fooNetwork.Id,\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooNetwork, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tVpcId: fooNetwork.ID(),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooNetwork = new Network(\"fooNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vswitchName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/21\")\n .vpcId(fooNetwork.id())\n .zoneId(foo.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooNetwork:\n type: alicloud:vpc:Network\n name: foo\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vswitchName: terraform-example\n cidrBlock: 172.16.0.0/21\n vpcId: ${fooNetwork.id}\n zoneId: ${foo.zones[0].id}\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst vpc = new alicloud.vpc.Network(\"vpc\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst cidrBlocks = new alicloud.vpc.Ipv4CidrBlock(\"cidr_blocks\", {\n vpcId: vpc.id,\n secondaryCidrBlock: \"192.163.0.0/16\",\n});\nconst island_nat = new alicloud.vpc.Switch(\"island-nat\", {\n vpcId: cidrBlocks.vpcId,\n cidrBlock: \"172.16.0.0/21\",\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n vswitchName: \"terraform-example\",\n tags: {\n BuiltBy: \"example_value\",\n cnm_version: \"example_value\",\n Environment: \"example_value\",\n ManagedBy: \"example_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nvpc = alicloud.vpc.Network(\"vpc\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\ncidr_blocks = alicloud.vpc.Ipv4CidrBlock(\"cidr_blocks\",\n vpc_id=vpc.id,\n secondary_cidr_block=\"192.163.0.0/16\")\nisland_nat = alicloud.vpc.Switch(\"island-nat\",\n vpc_id=cidr_blocks.vpc_id,\n cidr_block=\"172.16.0.0/21\",\n zone_id=foo.zones[0].id,\n vswitch_name=\"terraform-example\",\n tags={\n \"BuiltBy\": \"example_value\",\n \"cnm_version\": \"example_value\",\n \"Environment\": \"example_value\",\n \"ManagedBy\": \"example_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var vpc = new AliCloud.Vpc.Network(\"vpc\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var cidrBlocks = new AliCloud.Vpc.Ipv4CidrBlock(\"cidr_blocks\", new()\n {\n VpcId = vpc.Id,\n SecondaryCidrBlock = \"192.163.0.0/16\",\n });\n\n var island_nat = new AliCloud.Vpc.Switch(\"island-nat\", new()\n {\n VpcId = cidrBlocks.VpcId,\n CidrBlock = \"172.16.0.0/21\",\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n VswitchName = \"terraform-example\",\n Tags = \n {\n { \"BuiltBy\", \"example_value\" },\n { \"cnm_version\", \"example_value\" },\n { \"Environment\", \"example_value\" },\n { \"ManagedBy\", \"example_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := vpc.NewNetwork(ctx, \"vpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcidrBlocks, err := vpc.NewIpv4CidrBlock(ctx, \"cidr_blocks\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.163.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"island-nat\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: cidrBlocks.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/21\"),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t\tVswitchName: pulumi.String(\"terraform-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"BuiltBy\": pulumi.String(\"example_value\"),\n\t\t\t\t\"cnm_version\": pulumi.String(\"example_value\"),\n\t\t\t\t\"Environment\": pulumi.String(\"example_value\"),\n\t\t\t\t\"ManagedBy\": pulumi.String(\"example_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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var vpc = new Network(\"vpc\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var cidrBlocks = new Ipv4CidrBlock(\"cidrBlocks\", Ipv4CidrBlockArgs.builder()\n .vpcId(vpc.id())\n .secondaryCidrBlock(\"192.163.0.0/16\")\n .build());\n\n var island_nat = new Switch(\"island-nat\", SwitchArgs.builder()\n .vpcId(cidrBlocks.vpcId())\n .cidrBlock(\"172.16.0.0/21\")\n .zoneId(foo.zones()[0].id())\n .vswitchName(\"terraform-example\")\n .tags(Map.ofEntries(\n Map.entry(\"BuiltBy\", \"example_value\"),\n Map.entry(\"cnm_version\", \"example_value\"),\n Map.entry(\"Environment\", \"example_value\"),\n Map.entry(\"ManagedBy\", \"example_value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n cidrBlocks:\n type: alicloud:vpc:Ipv4CidrBlock\n name: cidr_blocks\n properties:\n vpcId: ${vpc.id}\n secondaryCidrBlock: 192.163.0.0/16\n island-nat:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${cidrBlocks.vpcId}\n cidrBlock: 172.16.0.0/21\n zoneId: ${foo.zones[0].id}\n vswitchName: terraform-example\n tags:\n BuiltBy: example_value\n cnm_version: example_value\n Environment: example_value\n ManagedBy: example_value\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate a switch associated with the additional network segment\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst foo = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst fooNetwork = new alicloud.vpc.Network(\"foo\", {\n vpcName: \"terraform-example\",\n cidrBlock: \"172.16.0.0/12\",\n});\nconst fooIpv4CidrBlock = new alicloud.vpc.Ipv4CidrBlock(\"foo\", {\n vpcId: fooNetwork.id,\n secondaryCidrBlock: \"192.163.0.0/16\",\n});\nconst fooSwitch = new alicloud.vpc.Switch(\"foo\", {\n vpcId: fooIpv4CidrBlock.vpcId,\n cidrBlock: \"192.163.0.0/24\",\n zoneId: foo.then(foo =\u003e foo.zones?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nfoo = alicloud.get_zones(available_resource_creation=\"VSwitch\")\nfoo_network = alicloud.vpc.Network(\"foo\",\n vpc_name=\"terraform-example\",\n cidr_block=\"172.16.0.0/12\")\nfoo_ipv4_cidr_block = alicloud.vpc.Ipv4CidrBlock(\"foo\",\n vpc_id=foo_network.id,\n secondary_cidr_block=\"192.163.0.0/16\")\nfoo_switch = alicloud.vpc.Switch(\"foo\",\n vpc_id=foo_ipv4_cidr_block.vpc_id,\n cidr_block=\"192.163.0.0/24\",\n zone_id=foo.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var fooNetwork = new AliCloud.Vpc.Network(\"foo\", new()\n {\n VpcName = \"terraform-example\",\n CidrBlock = \"172.16.0.0/12\",\n });\n\n var fooIpv4CidrBlock = new AliCloud.Vpc.Ipv4CidrBlock(\"foo\", new()\n {\n VpcId = fooNetwork.Id,\n SecondaryCidrBlock = \"192.163.0.0/16\",\n });\n\n var fooSwitch = new AliCloud.Vpc.Switch(\"foo\", new()\n {\n VpcId = fooIpv4CidrBlock.VpcId,\n CidrBlock = \"192.163.0.0/24\",\n ZoneId = foo.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooNetwork, err := vpc.NewNetwork(ctx, \"foo\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(\"terraform-example\"),\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooIpv4CidrBlock, err := vpc.NewIpv4CidrBlock(ctx, \"foo\", \u0026vpc.Ipv4CidrBlockArgs{\n\t\t\tVpcId: fooNetwork.ID(),\n\t\t\tSecondaryCidrBlock: pulumi.String(\"192.163.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewSwitch(ctx, \"foo\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: fooIpv4CidrBlock.VpcId,\n\t\t\tCidrBlock: pulumi.String(\"192.163.0.0/24\"),\n\t\t\tZoneId: pulumi.String(foo.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlock;\nimport com.pulumi.alicloud.vpc.Ipv4CidrBlockArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var fooNetwork = new Network(\"fooNetwork\", NetworkArgs.builder()\n .vpcName(\"terraform-example\")\n .cidrBlock(\"172.16.0.0/12\")\n .build());\n\n var fooIpv4CidrBlock = new Ipv4CidrBlock(\"fooIpv4CidrBlock\", Ipv4CidrBlockArgs.builder()\n .vpcId(fooNetwork.id())\n .secondaryCidrBlock(\"192.163.0.0/16\")\n .build());\n\n var fooSwitch = new Switch(\"fooSwitch\", SwitchArgs.builder()\n .vpcId(fooIpv4CidrBlock.vpcId())\n .cidrBlock(\"192.163.0.0/24\")\n .zoneId(foo.zones()[0].id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooNetwork:\n type: alicloud:vpc:Network\n name: foo\n properties:\n vpcName: terraform-example\n cidrBlock: 172.16.0.0/12\n fooIpv4CidrBlock:\n type: alicloud:vpc:Ipv4CidrBlock\n name: foo\n properties:\n vpcId: ${fooNetwork.id}\n secondaryCidrBlock: 192.163.0.0/16\n fooSwitch:\n type: alicloud:vpc:Switch\n name: foo\n properties:\n vpcId: ${fooIpv4CidrBlock.vpcId}\n cidrBlock: 192.163.0.0/24\n zoneId: ${foo.zones[0].id}\nvariables:\n foo:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Vswitch can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/switch:Switch example \u003cid\u003e\n```\n\n", "properties": { "availabilityZone": { "type": "string", @@ -266429,7 +272295,7 @@ } }, "alicloud:vpc/trafficMirrorFilter:TrafficMirrorFilter": { - "description": "Provides a VPC Traffic Mirror Filter resource. Traffic mirror filter criteria.\n\nFor information about VPC Traffic Mirror Filter and how to use it, see [What is Traffic Mirror Filter](https://www.alibabacloud.com/help/doc-detail/207513.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default3iXhoa = new alicloud.resourcemanager.ResourceGroup(\"default3iXhoa\", {\n displayName: \"testname03\",\n resourceGroupName: name,\n});\nconst defaultdNz2qk = new alicloud.resourcemanager.ResourceGroup(\"defaultdNz2qk\", {\n displayName: \"testname04\",\n resourceGroupName: `${name}1`,\n});\nconst _default = new alicloud.vpc.TrafficMirrorFilter(\"default\", {\n trafficMirrorFilterDescription: \"test\",\n trafficMirrorFilterName: name,\n resourceGroupId: default3iXhoa.id,\n egressRules: [{\n priority: 1,\n protocol: \"TCP\",\n action: \"accept\",\n destinationCidrBlock: \"32.0.0.0/4\",\n destinationPortRange: \"80/80\",\n sourceCidrBlock: \"16.0.0.0/4\",\n sourcePortRange: \"80/80\",\n }],\n ingressRules: [{\n priority: 1,\n protocol: \"TCP\",\n action: \"accept\",\n destinationCidrBlock: \"10.64.0.0/10\",\n destinationPortRange: \"80/80\",\n sourceCidrBlock: \"10.0.0.0/8\",\n sourcePortRange: \"80/80\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault3i_xhoa = alicloud.resourcemanager.ResourceGroup(\"default3iXhoa\",\n display_name=\"testname03\",\n resource_group_name=name)\ndefaultd_nz2qk = alicloud.resourcemanager.ResourceGroup(\"defaultdNz2qk\",\n display_name=\"testname04\",\n resource_group_name=f\"{name}1\")\ndefault = alicloud.vpc.TrafficMirrorFilter(\"default\",\n traffic_mirror_filter_description=\"test\",\n traffic_mirror_filter_name=name,\n resource_group_id=default3i_xhoa.id,\n egress_rules=[{\n \"priority\": 1,\n \"protocol\": \"TCP\",\n \"action\": \"accept\",\n \"destination_cidr_block\": \"32.0.0.0/4\",\n \"destination_port_range\": \"80/80\",\n \"source_cidr_block\": \"16.0.0.0/4\",\n \"source_port_range\": \"80/80\",\n }],\n ingress_rules=[{\n \"priority\": 1,\n \"protocol\": \"TCP\",\n \"action\": \"accept\",\n \"destination_cidr_block\": \"10.64.0.0/10\",\n \"destination_port_range\": \"80/80\",\n \"source_cidr_block\": \"10.0.0.0/8\",\n \"source_port_range\": \"80/80\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default3iXhoa = new AliCloud.ResourceManager.ResourceGroup(\"default3iXhoa\", new()\n {\n DisplayName = \"testname03\",\n ResourceGroupName = name,\n });\n\n var defaultdNz2qk = new AliCloud.ResourceManager.ResourceGroup(\"defaultdNz2qk\", new()\n {\n DisplayName = \"testname04\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var @default = new AliCloud.Vpc.TrafficMirrorFilter(\"default\", new()\n {\n TrafficMirrorFilterDescription = \"test\",\n TrafficMirrorFilterName = name,\n ResourceGroupId = default3iXhoa.Id,\n EgressRules = new[]\n {\n new AliCloud.Vpc.Inputs.TrafficMirrorFilterEgressRuleArgs\n {\n Priority = 1,\n Protocol = \"TCP\",\n Action = \"accept\",\n DestinationCidrBlock = \"32.0.0.0/4\",\n DestinationPortRange = \"80/80\",\n SourceCidrBlock = \"16.0.0.0/4\",\n SourcePortRange = \"80/80\",\n },\n },\n IngressRules = new[]\n {\n new AliCloud.Vpc.Inputs.TrafficMirrorFilterIngressRuleArgs\n {\n Priority = 1,\n Protocol = \"TCP\",\n Action = \"accept\",\n DestinationCidrBlock = \"10.64.0.0/10\",\n DestinationPortRange = \"80/80\",\n SourceCidrBlock = \"10.0.0.0/8\",\n SourcePortRange = \"80/80\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault3iXhoa, err := resourcemanager.NewResourceGroup(ctx, \"default3iXhoa\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"testname03\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"defaultdNz2qk\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"testname04\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilter(ctx, \"default\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterDescription: pulumi.String(\"test\"),\n\t\t\tTrafficMirrorFilterName: pulumi.String(name),\n\t\t\tResourceGroupId: default3iXhoa.ID(),\n\t\t\tEgressRules: vpc.TrafficMirrorFilterEgressRuleTypeArray{\n\t\t\t\t\u0026vpc.TrafficMirrorFilterEgressRuleTypeArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDestinationCidrBlock: pulumi.String(\"32.0.0.0/4\"),\n\t\t\t\t\tDestinationPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tSourceCidrBlock: pulumi.String(\"16.0.0.0/4\"),\n\t\t\t\t\tSourcePortRange: pulumi.String(\"80/80\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIngressRules: vpc.TrafficMirrorFilterIngressRuleTypeArray{\n\t\t\t\t\u0026vpc.TrafficMirrorFilterIngressRuleTypeArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDestinationCidrBlock: pulumi.String(\"10.64.0.0/10\"),\n\t\t\t\t\tDestinationPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\t\t\tSourcePortRange: pulumi.String(\"80/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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.inputs.TrafficMirrorFilterEgressRuleArgs;\nimport com.pulumi.alicloud.vpc.inputs.TrafficMirrorFilterIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default3iXhoa = new ResourceGroup(\"default3iXhoa\", ResourceGroupArgs.builder()\n .displayName(\"testname03\")\n .resourceGroupName(name)\n .build());\n\n var defaultdNz2qk = new ResourceGroup(\"defaultdNz2qk\", ResourceGroupArgs.builder()\n .displayName(\"testname04\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var default_ = new TrafficMirrorFilter(\"default\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterDescription(\"test\")\n .trafficMirrorFilterName(name)\n .resourceGroupId(default3iXhoa.id())\n .egressRules(TrafficMirrorFilterEgressRuleArgs.builder()\n .priority(1)\n .protocol(\"TCP\")\n .action(\"accept\")\n .destinationCidrBlock(\"32.0.0.0/4\")\n .destinationPortRange(\"80/80\")\n .sourceCidrBlock(\"16.0.0.0/4\")\n .sourcePortRange(\"80/80\")\n .build())\n .ingressRules(TrafficMirrorFilterIngressRuleArgs.builder()\n .priority(1)\n .protocol(\"TCP\")\n .action(\"accept\")\n .destinationCidrBlock(\"10.64.0.0/10\")\n .destinationPortRange(\"80/80\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .sourcePortRange(\"80/80\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default3iXhoa:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: testname03\n resourceGroupName: ${name}\n defaultdNz2qk:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: testname04\n resourceGroupName: ${name}1\n default:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterDescription: test\n trafficMirrorFilterName: ${name}\n resourceGroupId: ${default3iXhoa.id}\n egressRules:\n - priority: 1\n protocol: TCP\n action: accept\n destinationCidrBlock: 32.0.0.0/4\n destinationPortRange: 80/80\n sourceCidrBlock: 16.0.0.0/4\n sourcePortRange: 80/80\n ingressRules:\n - priority: 1\n protocol: TCP\n action: accept\n destinationCidrBlock: 10.64.0.0/10\n destinationPortRange: 80/80\n sourceCidrBlock: 10.0.0.0/8\n sourcePortRange: 80/80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Traffic Mirror Filter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilter:TrafficMirrorFilter example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Traffic Mirror Filter resource. Traffic mirror filter criteria.\n\nFor information about VPC Traffic Mirror Filter and how to use it, see [What is Traffic Mirror Filter](https://www.alibabacloud.com/help/doc-detail/207513.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst default3iXhoa = new alicloud.resourcemanager.ResourceGroup(\"default3iXhoa\", {\n displayName: \"testname03\",\n resourceGroupName: name,\n});\nconst defaultdNz2qk = new alicloud.resourcemanager.ResourceGroup(\"defaultdNz2qk\", {\n displayName: \"testname04\",\n resourceGroupName: `${name}1`,\n});\nconst _default = new alicloud.vpc.TrafficMirrorFilter(\"default\", {\n trafficMirrorFilterDescription: \"test\",\n trafficMirrorFilterName: name,\n resourceGroupId: default3iXhoa.id,\n egressRules: [{\n priority: 1,\n protocol: \"TCP\",\n action: \"accept\",\n destinationCidrBlock: \"32.0.0.0/4\",\n destinationPortRange: \"80/80\",\n sourceCidrBlock: \"16.0.0.0/4\",\n sourcePortRange: \"80/80\",\n }],\n ingressRules: [{\n priority: 1,\n protocol: \"TCP\",\n action: \"accept\",\n destinationCidrBlock: \"10.64.0.0/10\",\n destinationPortRange: \"80/80\",\n sourceCidrBlock: \"10.0.0.0/8\",\n sourcePortRange: \"80/80\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault3i_xhoa = alicloud.resourcemanager.ResourceGroup(\"default3iXhoa\",\n display_name=\"testname03\",\n resource_group_name=name)\ndefaultd_nz2qk = alicloud.resourcemanager.ResourceGroup(\"defaultdNz2qk\",\n display_name=\"testname04\",\n resource_group_name=f\"{name}1\")\ndefault = alicloud.vpc.TrafficMirrorFilter(\"default\",\n traffic_mirror_filter_description=\"test\",\n traffic_mirror_filter_name=name,\n resource_group_id=default3i_xhoa.id,\n egress_rules=[{\n \"priority\": 1,\n \"protocol\": \"TCP\",\n \"action\": \"accept\",\n \"destination_cidr_block\": \"32.0.0.0/4\",\n \"destination_port_range\": \"80/80\",\n \"source_cidr_block\": \"16.0.0.0/4\",\n \"source_port_range\": \"80/80\",\n }],\n ingress_rules=[{\n \"priority\": 1,\n \"protocol\": \"TCP\",\n \"action\": \"accept\",\n \"destination_cidr_block\": \"10.64.0.0/10\",\n \"destination_port_range\": \"80/80\",\n \"source_cidr_block\": \"10.0.0.0/8\",\n \"source_port_range\": \"80/80\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var default3iXhoa = new AliCloud.ResourceManager.ResourceGroup(\"default3iXhoa\", new()\n {\n DisplayName = \"testname03\",\n ResourceGroupName = name,\n });\n\n var defaultdNz2qk = new AliCloud.ResourceManager.ResourceGroup(\"defaultdNz2qk\", new()\n {\n DisplayName = \"testname04\",\n ResourceGroupName = $\"{name}1\",\n });\n\n var @default = new AliCloud.Vpc.TrafficMirrorFilter(\"default\", new()\n {\n TrafficMirrorFilterDescription = \"test\",\n TrafficMirrorFilterName = name,\n ResourceGroupId = default3iXhoa.Id,\n EgressRules = new[]\n {\n new AliCloud.Vpc.Inputs.TrafficMirrorFilterEgressRuleArgs\n {\n Priority = 1,\n Protocol = \"TCP\",\n Action = \"accept\",\n DestinationCidrBlock = \"32.0.0.0/4\",\n DestinationPortRange = \"80/80\",\n SourceCidrBlock = \"16.0.0.0/4\",\n SourcePortRange = \"80/80\",\n },\n },\n IngressRules = new[]\n {\n new AliCloud.Vpc.Inputs.TrafficMirrorFilterIngressRuleArgs\n {\n Priority = 1,\n Protocol = \"TCP\",\n Action = \"accept\",\n DestinationCidrBlock = \"10.64.0.0/10\",\n DestinationPortRange = \"80/80\",\n SourceCidrBlock = \"10.0.0.0/8\",\n SourcePortRange = \"80/80\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefault3iXhoa, err := resourcemanager.NewResourceGroup(ctx, \"default3iXhoa\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"testname03\"),\n\t\t\tResourceGroupName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = resourcemanager.NewResourceGroup(ctx, \"defaultdNz2qk\", \u0026resourcemanager.ResourceGroupArgs{\n\t\t\tDisplayName: pulumi.String(\"testname04\"),\n\t\t\tResourceGroupName: pulumi.Sprintf(\"%v1\", name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilter(ctx, \"default\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterDescription: pulumi.String(\"test\"),\n\t\t\tTrafficMirrorFilterName: pulumi.String(name),\n\t\t\tResourceGroupId: default3iXhoa.ID(),\n\t\t\tEgressRules: vpc.TrafficMirrorFilterEgressRuleTypeArray{\n\t\t\t\t\u0026vpc.TrafficMirrorFilterEgressRuleTypeArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDestinationCidrBlock: pulumi.String(\"32.0.0.0/4\"),\n\t\t\t\t\tDestinationPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tSourceCidrBlock: pulumi.String(\"16.0.0.0/4\"),\n\t\t\t\t\tSourcePortRange: pulumi.String(\"80/80\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIngressRules: vpc.TrafficMirrorFilterIngressRuleTypeArray{\n\t\t\t\t\u0026vpc.TrafficMirrorFilterIngressRuleTypeArgs{\n\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDestinationCidrBlock: pulumi.String(\"10.64.0.0/10\"),\n\t\t\t\t\tDestinationPortRange: pulumi.String(\"80/80\"),\n\t\t\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t\t\t\tSourcePortRange: pulumi.String(\"80/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.alicloud.resourcemanager.ResourceGroup;\nimport com.pulumi.alicloud.resourcemanager.ResourceGroupArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.inputs.TrafficMirrorFilterEgressRuleArgs;\nimport com.pulumi.alicloud.vpc.inputs.TrafficMirrorFilterIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default3iXhoa = new ResourceGroup(\"default3iXhoa\", ResourceGroupArgs.builder()\n .displayName(\"testname03\")\n .resourceGroupName(name)\n .build());\n\n var defaultdNz2qk = new ResourceGroup(\"defaultdNz2qk\", ResourceGroupArgs.builder()\n .displayName(\"testname04\")\n .resourceGroupName(String.format(\"%s1\", name))\n .build());\n\n var default_ = new TrafficMirrorFilter(\"default\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterDescription(\"test\")\n .trafficMirrorFilterName(name)\n .resourceGroupId(default3iXhoa.id())\n .egressRules(TrafficMirrorFilterEgressRuleArgs.builder()\n .priority(1)\n .protocol(\"TCP\")\n .action(\"accept\")\n .destinationCidrBlock(\"32.0.0.0/4\")\n .destinationPortRange(\"80/80\")\n .sourceCidrBlock(\"16.0.0.0/4\")\n .sourcePortRange(\"80/80\")\n .build())\n .ingressRules(TrafficMirrorFilterIngressRuleArgs.builder()\n .priority(1)\n .protocol(\"TCP\")\n .action(\"accept\")\n .destinationCidrBlock(\"10.64.0.0/10\")\n .destinationPortRange(\"80/80\")\n .sourceCidrBlock(\"10.0.0.0/8\")\n .sourcePortRange(\"80/80\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default3iXhoa:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: testname03\n resourceGroupName: ${name}\n defaultdNz2qk:\n type: alicloud:resourcemanager:ResourceGroup\n properties:\n displayName: testname04\n resourceGroupName: ${name}1\n default:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterDescription: test\n trafficMirrorFilterName: ${name}\n resourceGroupId: ${default3iXhoa.id}\n egressRules:\n - priority: 1\n protocol: TCP\n action: accept\n destinationCidrBlock: 32.0.0.0/4\n destinationPortRange: 80/80\n sourceCidrBlock: 16.0.0.0/4\n sourcePortRange: 80/80\n ingressRules:\n - priority: 1\n protocol: TCP\n action: accept\n destinationCidrBlock: 10.64.0.0/10\n destinationPortRange: 80/80\n sourceCidrBlock: 10.0.0.0/8\n sourcePortRange: 80/80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Traffic Mirror Filter can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilter:TrafficMirrorFilter example \u003cid\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -266571,7 +272437,7 @@ } }, "alicloud:vpc/trafficMirrorFilterEgressRule:TrafficMirrorFilterEgressRule": { - "description": "Provides a VPC Traffic Mirror Filter Egress Rule resource. \n\nFor information about VPC Traffic Mirror Filter Egress Rule and how to use it, see [What is Traffic Mirror Filter Egress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.TrafficMirrorFilter(\"example\", {trafficMirrorFilterName: \"example_value\"});\nconst _default = new alicloud.vpc.TrafficMirrorFilterEgressRule(\"default\", {\n action: \"drop\",\n priority: 2,\n sourceCidrBlock: \"10.0.0.0/11\",\n destinationCidrBlock: \"10.0.0.0/12\",\n trafficMirrorFilterId: example.id,\n protocol: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.TrafficMirrorFilter(\"example\", traffic_mirror_filter_name=\"example_value\")\ndefault = alicloud.vpc.TrafficMirrorFilterEgressRule(\"default\",\n action=\"drop\",\n priority=2,\n source_cidr_block=\"10.0.0.0/11\",\n destination_cidr_block=\"10.0.0.0/12\",\n traffic_mirror_filter_id=example.id,\n protocol=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.TrafficMirrorFilter(\"example\", new()\n {\n TrafficMirrorFilterName = \"example_value\",\n });\n\n var @default = new AliCloud.Vpc.TrafficMirrorFilterEgressRule(\"default\", new()\n {\n Action = \"drop\",\n Priority = 2,\n SourceCidrBlock = \"10.0.0.0/11\",\n DestinationCidrBlock = \"10.0.0.0/12\",\n TrafficMirrorFilterId = example.Id,\n Protocol = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewTrafficMirrorFilter(ctx, \"example\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilterEgressRule(ctx, \"default\", \u0026vpc.TrafficMirrorFilterEgressRuleArgs{\n\t\t\tAction: pulumi.String(\"drop\"),\n\t\t\tPriority: pulumi.Int(2),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/11\"),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/12\"),\n\t\t\tTrafficMirrorFilterId: example.ID(),\n\t\t\tProtocol: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterEgressRule;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TrafficMirrorFilter(\"example\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(\"example_value\")\n .build());\n\n var default_ = new TrafficMirrorFilterEgressRule(\"default\", TrafficMirrorFilterEgressRuleArgs.builder()\n .action(\"drop\")\n .priority(2)\n .sourceCidrBlock(\"10.0.0.0/11\")\n .destinationCidrBlock(\"10.0.0.0/12\")\n .trafficMirrorFilterId(example.id())\n .protocol(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterName: example_value\n default:\n type: alicloud:vpc:TrafficMirrorFilterEgressRule\n properties:\n action: drop\n priority: '2'\n sourceCidrBlock: 10.0.0.0/11\n destinationCidrBlock: 10.0.0.0/12\n trafficMirrorFilterId: ${example.id}\n protocol: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilterEgressRule:TrafficMirrorFilterEgressRule example \u003ctraffic_mirror_filter_id\u003e:\u003ctraffic_mirror_filter_egress_rule_id\u003e\n```\n\n", + "description": "Provides a VPC Traffic Mirror Filter Egress Rule resource. \n\nFor information about VPC Traffic Mirror Filter Egress Rule and how to use it, see [What is Traffic Mirror Filter Egress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).\n\n\u003e **NOTE:** Available since v1.140.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.TrafficMirrorFilter(\"example\", {trafficMirrorFilterName: \"example_value\"});\nconst _default = new alicloud.vpc.TrafficMirrorFilterEgressRule(\"default\", {\n action: \"drop\",\n priority: 2,\n sourceCidrBlock: \"10.0.0.0/11\",\n destinationCidrBlock: \"10.0.0.0/12\",\n trafficMirrorFilterId: example.id,\n protocol: \"ALL\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.TrafficMirrorFilter(\"example\", traffic_mirror_filter_name=\"example_value\")\ndefault = alicloud.vpc.TrafficMirrorFilterEgressRule(\"default\",\n action=\"drop\",\n priority=2,\n source_cidr_block=\"10.0.0.0/11\",\n destination_cidr_block=\"10.0.0.0/12\",\n traffic_mirror_filter_id=example.id,\n protocol=\"ALL\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.TrafficMirrorFilter(\"example\", new()\n {\n TrafficMirrorFilterName = \"example_value\",\n });\n\n var @default = new AliCloud.Vpc.TrafficMirrorFilterEgressRule(\"default\", new()\n {\n Action = \"drop\",\n Priority = 2,\n SourceCidrBlock = \"10.0.0.0/11\",\n DestinationCidrBlock = \"10.0.0.0/12\",\n TrafficMirrorFilterId = example.Id,\n Protocol = \"ALL\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewTrafficMirrorFilter(ctx, \"example\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilterEgressRule(ctx, \"default\", \u0026vpc.TrafficMirrorFilterEgressRuleArgs{\n\t\t\tAction: pulumi.String(\"drop\"),\n\t\t\tPriority: pulumi.Int(2),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/11\"),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/12\"),\n\t\t\tTrafficMirrorFilterId: example.ID(),\n\t\t\tProtocol: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterEgressRule;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterEgressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TrafficMirrorFilter(\"example\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(\"example_value\")\n .build());\n\n var default_ = new TrafficMirrorFilterEgressRule(\"default\", TrafficMirrorFilterEgressRuleArgs.builder()\n .action(\"drop\")\n .priority(2)\n .sourceCidrBlock(\"10.0.0.0/11\")\n .destinationCidrBlock(\"10.0.0.0/12\")\n .trafficMirrorFilterId(example.id())\n .protocol(\"ALL\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterName: example_value\n default:\n type: alicloud:vpc:TrafficMirrorFilterEgressRule\n properties:\n action: drop\n priority: '2'\n sourceCidrBlock: 10.0.0.0/11\n destinationCidrBlock: 10.0.0.0/12\n trafficMirrorFilterId: ${example.id}\n protocol: ALL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilterEgressRule:TrafficMirrorFilterEgressRule example \u003ctraffic_mirror_filter_id\u003e:\u003ctraffic_mirror_filter_egress_rule_id\u003e\n```\n\n", "properties": { "action": { "type": "string", @@ -266745,7 +272611,7 @@ } }, "alicloud:vpc/trafficMirrorFilterIngressRule:TrafficMirrorFilterIngressRule": { - "description": "Provides a VPC Traffic Mirror Filter Ingress Rule resource. Traffic mirror entry rule.\n\nFor information about VPC Traffic Mirror Filter Ingress Rule and how to use it, see [What is Traffic Mirror Filter Ingress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.TrafficMirrorFilter(\"example\", {trafficMirrorFilterName: \"example_value\"});\nconst exampleTrafficMirrorFilterIngressRule = new alicloud.vpc.TrafficMirrorFilterIngressRule(\"example\", {\n trafficMirrorFilterId: example.id,\n priority: 1,\n action: \"accept\",\n protocol: \"UDP\",\n destinationCidrBlock: \"10.0.0.0/24\",\n sourceCidrBlock: \"10.0.0.0/24\",\n destinationPortRange: \"1/120\",\n sourcePortRange: \"1/120\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.TrafficMirrorFilter(\"example\", traffic_mirror_filter_name=\"example_value\")\nexample_traffic_mirror_filter_ingress_rule = alicloud.vpc.TrafficMirrorFilterIngressRule(\"example\",\n traffic_mirror_filter_id=example.id,\n priority=1,\n action=\"accept\",\n protocol=\"UDP\",\n destination_cidr_block=\"10.0.0.0/24\",\n source_cidr_block=\"10.0.0.0/24\",\n destination_port_range=\"1/120\",\n source_port_range=\"1/120\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.TrafficMirrorFilter(\"example\", new()\n {\n TrafficMirrorFilterName = \"example_value\",\n });\n\n var exampleTrafficMirrorFilterIngressRule = new AliCloud.Vpc.TrafficMirrorFilterIngressRule(\"example\", new()\n {\n TrafficMirrorFilterId = example.Id,\n Priority = 1,\n Action = \"accept\",\n Protocol = \"UDP\",\n DestinationCidrBlock = \"10.0.0.0/24\",\n SourceCidrBlock = \"10.0.0.0/24\",\n DestinationPortRange = \"1/120\",\n SourcePortRange = \"1/120\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewTrafficMirrorFilter(ctx, \"example\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilterIngressRule(ctx, \"example\", \u0026vpc.TrafficMirrorFilterIngressRuleArgs{\n\t\t\tTrafficMirrorFilterId: example.ID(),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationPortRange: pulumi.String(\"1/120\"),\n\t\t\tSourcePortRange: pulumi.String(\"1/120\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterIngressRule;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TrafficMirrorFilter(\"example\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(\"example_value\")\n .build());\n\n var exampleTrafficMirrorFilterIngressRule = new TrafficMirrorFilterIngressRule(\"exampleTrafficMirrorFilterIngressRule\", TrafficMirrorFilterIngressRuleArgs.builder()\n .trafficMirrorFilterId(example.id())\n .priority(1)\n .action(\"accept\")\n .protocol(\"UDP\")\n .destinationCidrBlock(\"10.0.0.0/24\")\n .sourceCidrBlock(\"10.0.0.0/24\")\n .destinationPortRange(\"1/120\")\n .sourcePortRange(\"1/120\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterName: example_value\n exampleTrafficMirrorFilterIngressRule:\n type: alicloud:vpc:TrafficMirrorFilterIngressRule\n name: example\n properties:\n trafficMirrorFilterId: ${example.id}\n priority: '1'\n action: accept\n protocol: UDP\n destinationCidrBlock: 10.0.0.0/24\n sourceCidrBlock: 10.0.0.0/24\n destinationPortRange: 1/120\n sourcePortRange: 1/120\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilterIngressRule:TrafficMirrorFilterIngressRule example \u003ctraffic_mirror_filter_id\u003e:\u003ctraffic_mirror_filter_ingress_rule_id\u003e\n```\n\n", + "description": "Provides a VPC Traffic Mirror Filter Ingress Rule resource. Traffic mirror entry rule.\n\nFor information about VPC Traffic Mirror Filter Ingress Rule and how to use it, see [What is Traffic Mirror Filter Ingress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).\n\n\u003e **NOTE:** Available since v1.141.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.vpc.TrafficMirrorFilter(\"example\", {trafficMirrorFilterName: \"example_value\"});\nconst exampleTrafficMirrorFilterIngressRule = new alicloud.vpc.TrafficMirrorFilterIngressRule(\"example\", {\n trafficMirrorFilterId: example.id,\n priority: 1,\n action: \"accept\",\n protocol: \"UDP\",\n destinationCidrBlock: \"10.0.0.0/24\",\n sourceCidrBlock: \"10.0.0.0/24\",\n destinationPortRange: \"1/120\",\n sourcePortRange: \"1/120\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.vpc.TrafficMirrorFilter(\"example\", traffic_mirror_filter_name=\"example_value\")\nexample_traffic_mirror_filter_ingress_rule = alicloud.vpc.TrafficMirrorFilterIngressRule(\"example\",\n traffic_mirror_filter_id=example.id,\n priority=1,\n action=\"accept\",\n protocol=\"UDP\",\n destination_cidr_block=\"10.0.0.0/24\",\n source_cidr_block=\"10.0.0.0/24\",\n destination_port_range=\"1/120\",\n source_port_range=\"1/120\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Vpc.TrafficMirrorFilter(\"example\", new()\n {\n TrafficMirrorFilterName = \"example_value\",\n });\n\n var exampleTrafficMirrorFilterIngressRule = new AliCloud.Vpc.TrafficMirrorFilterIngressRule(\"example\", new()\n {\n TrafficMirrorFilterId = example.Id,\n Priority = 1,\n Action = \"accept\",\n Protocol = \"UDP\",\n DestinationCidrBlock = \"10.0.0.0/24\",\n SourceCidrBlock = \"10.0.0.0/24\",\n DestinationPortRange = \"1/120\",\n SourcePortRange = \"1/120\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := vpc.NewTrafficMirrorFilter(ctx, \"example\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(\"example_value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorFilterIngressRule(ctx, \"example\", \u0026vpc.TrafficMirrorFilterIngressRuleArgs{\n\t\t\tTrafficMirrorFilterId: example.ID(),\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tSourceCidrBlock: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tDestinationPortRange: pulumi.String(\"1/120\"),\n\t\t\tSourcePortRange: pulumi.String(\"1/120\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterIngressRule;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterIngressRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TrafficMirrorFilter(\"example\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(\"example_value\")\n .build());\n\n var exampleTrafficMirrorFilterIngressRule = new TrafficMirrorFilterIngressRule(\"exampleTrafficMirrorFilterIngressRule\", TrafficMirrorFilterIngressRuleArgs.builder()\n .trafficMirrorFilterId(example.id())\n .priority(1)\n .action(\"accept\")\n .protocol(\"UDP\")\n .destinationCidrBlock(\"10.0.0.0/24\")\n .sourceCidrBlock(\"10.0.0.0/24\")\n .destinationPortRange(\"1/120\")\n .sourcePortRange(\"1/120\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:vpc:TrafficMirrorFilter\n properties:\n trafficMirrorFilterName: example_value\n exampleTrafficMirrorFilterIngressRule:\n type: alicloud:vpc:TrafficMirrorFilterIngressRule\n name: example\n properties:\n trafficMirrorFilterId: ${example.id}\n priority: '1'\n action: accept\n protocol: UDP\n destinationCidrBlock: 10.0.0.0/24\n sourceCidrBlock: 10.0.0.0/24\n destinationPortRange: 1/120\n sourcePortRange: 1/120\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorFilterIngressRule:TrafficMirrorFilterIngressRule example \u003ctraffic_mirror_filter_id\u003e:\u003ctraffic_mirror_filter_ingress_rule_id\u003e\n```\n\n", "properties": { "action": { "type": "string", @@ -266919,7 +272785,7 @@ } }, "alicloud:vpc/trafficMirrorSession:TrafficMirrorSession": { - "description": "Provides a VPC Traffic Mirror Session resource. Traffic mirroring session.\n\nFor information about VPC Traffic Mirror Session and how to use it, see [What is Traffic Mirror Session](https://www.alibabacloud.com/help/en/doc-detail/261364.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g7\",\n});\nconst defaultGetZones = _default.then(_default =\u003e alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableInstanceType: _default.instanceTypes?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultInstance.push(new alicloud.ecs.Instance(`default-${range.value}`, {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n hostName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: _default.then(_default =\u003e _default.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n systemDiskCategory: \"cloud_essd\",\n }));\n}\nconst defaultEcsNetworkInterface: alicloud.ecs.EcsNetworkInterface[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEcsNetworkInterface.push(new alicloud.ecs.EcsNetworkInterface(`default-${range.value}`, {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n }));\n}\nconst defaultEcsNetworkInterfaceAttachment: alicloud.ecs.EcsNetworkInterfaceAttachment[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEcsNetworkInterfaceAttachment.push(new alicloud.ecs.EcsNetworkInterfaceAttachment(`default-${range.value}`, {\n instanceId: defaultInstance[range.value].id,\n networkInterfaceId: defaultEcsNetworkInterface[range.value].id,\n }));\n}\nconst defaultTrafficMirrorFilter = new alicloud.vpc.TrafficMirrorFilter(\"default\", {\n trafficMirrorFilterName: name,\n trafficMirrorFilterDescription: name,\n});\nconst defaultTrafficMirrorSession = new alicloud.vpc.TrafficMirrorSession(\"default\", {\n priority: 1,\n virtualNetworkId: 10,\n trafficMirrorSessionDescription: name,\n trafficMirrorSessionName: name,\n trafficMirrorTargetId: defaultEcsNetworkInterfaceAttachment[0].networkInterfaceId,\n trafficMirrorSourceIds: [defaultEcsNetworkInterfaceAttachment[1].networkInterfaceId],\n trafficMirrorFilterId: defaultTrafficMirrorFilter.id,\n trafficMirrorTargetType: \"NetworkInterface\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g7\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_instance_type=default.instance_types[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_instance.append(alicloud.ecs.Instance(f\"default-{range['value']}\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n host_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n system_disk_category=\"cloud_essd\"))\ndefault_ecs_network_interface = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_ecs_network_interface.append(alicloud.ecs.EcsNetworkInterface(f\"default-{range['value']}\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id]))\ndefault_ecs_network_interface_attachment = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_ecs_network_interface_attachment.append(alicloud.ecs.EcsNetworkInterfaceAttachment(f\"default-{range['value']}\",\n instance_id=default_instance[range[\"value\"]].id,\n network_interface_id=default_ecs_network_interface[range[\"value\"]].id))\ndefault_traffic_mirror_filter = alicloud.vpc.TrafficMirrorFilter(\"default\",\n traffic_mirror_filter_name=name,\n traffic_mirror_filter_description=name)\ndefault_traffic_mirror_session = alicloud.vpc.TrafficMirrorSession(\"default\",\n priority=1,\n virtual_network_id=10,\n traffic_mirror_session_description=name,\n traffic_mirror_session_name=name,\n traffic_mirror_target_id=default_ecs_network_interface_attachment[0].network_interface_id,\n traffic_mirror_source_ids=[default_ecs_network_interface_attachment[1].network_interface_id],\n traffic_mirror_filter_id=default_traffic_mirror_filter.id,\n traffic_mirror_target_type=\"NetworkInterface\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g7\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableInstanceType = @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.Ecs.Instance($\"default-{range.Value}\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n HostName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n SystemDiskCategory = \"cloud_essd\",\n }));\n }\n var defaultEcsNetworkInterface = new List\u003cAliCloud.Ecs.EcsNetworkInterface\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEcsNetworkInterface.Add(new AliCloud.Ecs.EcsNetworkInterface($\"default-{range.Value}\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n }));\n }\n var defaultEcsNetworkInterfaceAttachment = new List\u003cAliCloud.Ecs.EcsNetworkInterfaceAttachment\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEcsNetworkInterfaceAttachment.Add(new AliCloud.Ecs.EcsNetworkInterfaceAttachment($\"default-{range.Value}\", new()\n {\n InstanceId = defaultInstance[range.Value].Id,\n NetworkInterfaceId = defaultEcsNetworkInterface[range.Value].Id,\n }));\n }\n var defaultTrafficMirrorFilter = new AliCloud.Vpc.TrafficMirrorFilter(\"default\", new()\n {\n TrafficMirrorFilterName = name,\n TrafficMirrorFilterDescription = name,\n });\n\n var defaultTrafficMirrorSession = new AliCloud.Vpc.TrafficMirrorSession(\"default\", new()\n {\n Priority = 1,\n VirtualNetworkId = 10,\n TrafficMirrorSessionDescription = name,\n TrafficMirrorSessionName = name,\n TrafficMirrorTargetId = defaultEcsNetworkInterfaceAttachment[0].NetworkInterfaceId,\n TrafficMirrorSourceIds = new[]\n {\n defaultEcsNetworkInterfaceAttachment[1].NetworkInterfaceId,\n },\n TrafficMirrorFilterId = defaultTrafficMirrorFilter.Id,\n TrafficMirrorTargetType = \"NetworkInterface\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g7\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableInstanceType: pulumi.StringRef(_default.InstanceTypes[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t\tHostName: pulumi.String(name),\n\t\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(_default.InstanceTypes[0].Id),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\tvar defaultEcsNetworkInterface []*ecs.EcsNetworkInterface\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewEcsNetworkInterface(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEcsNetworkInterface = append(defaultEcsNetworkInterface, __res)\n\t\t}\n\t\tvar defaultEcsNetworkInterfaceAttachment []*ecs.EcsNetworkInterfaceAttachment\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ecs.NewEcsNetworkInterfaceAttachment(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\t\tInstanceId: defaultInstance[val0].ID(),\n\t\t\t\tNetworkInterfaceId: defaultEcsNetworkInterface[val0].ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEcsNetworkInterfaceAttachment = append(defaultEcsNetworkInterfaceAttachment, __res)\n\t\t}\n\t\tdefaultTrafficMirrorFilter, err := vpc.NewTrafficMirrorFilter(ctx, \"default\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(name),\n\t\t\tTrafficMirrorFilterDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorSession(ctx, \"default\", \u0026vpc.TrafficMirrorSessionArgs{\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tVirtualNetworkId: pulumi.Int(10),\n\t\t\tTrafficMirrorSessionDescription: pulumi.String(name),\n\t\t\tTrafficMirrorSessionName: pulumi.String(name),\n\t\t\tTrafficMirrorTargetId: defaultEcsNetworkInterfaceAttachment[0].NetworkInterfaceId,\n\t\t\tTrafficMirrorSourceIds: pulumi.StringArray{\n\t\t\t\tdefaultEcsNetworkInterfaceAttachment[1].NetworkInterfaceId,\n\t\t\t},\n\t\t\tTrafficMirrorFilterId: defaultTrafficMirrorFilter.ID(),\n\t\t\tTrafficMirrorTargetType: pulumi.String(\"NetworkInterface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorSession;\nimport com.pulumi.alicloud.vpc.TrafficMirrorSessionArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g7\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableInstanceType(default_.instanceTypes()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .hostName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(default_.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new EcsNetworkInterface(\"defaultEcsNetworkInterface-\" + i, EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new EcsNetworkInterfaceAttachment(\"defaultEcsNetworkInterfaceAttachment-\" + i, EcsNetworkInterfaceAttachmentArgs.builder()\n .instanceId(defaultInstance[range.value()].id())\n .networkInterfaceId(defaultEcsNetworkInterface[range.value()].id())\n .build());\n\n \n}\n var defaultTrafficMirrorFilter = new TrafficMirrorFilter(\"defaultTrafficMirrorFilter\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(name)\n .trafficMirrorFilterDescription(name)\n .build());\n\n var defaultTrafficMirrorSession = new TrafficMirrorSession(\"defaultTrafficMirrorSession\", TrafficMirrorSessionArgs.builder()\n .priority(1)\n .virtualNetworkId(10)\n .trafficMirrorSessionDescription(name)\n .trafficMirrorSessionName(name)\n .trafficMirrorTargetId(defaultEcsNetworkInterfaceAttachment[0].networkInterfaceId())\n .trafficMirrorSourceIds(defaultEcsNetworkInterfaceAttachment[1].networkInterfaceId())\n .trafficMirrorFilterId(defaultTrafficMirrorFilter.id())\n .trafficMirrorTargetType(\"NetworkInterface\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Traffic Mirror Session can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorSession:TrafficMirrorSession example \u003cid\u003e\n```\n\n", + "description": "Provides a VPC Traffic Mirror Session resource. Traffic mirroring session.\n\nFor information about VPC Traffic Mirror Session and how to use it, see [What is Traffic Mirror Session](https://www.alibabacloud.com/help/en/doc-detail/261364.htm).\n\n\u003e **NOTE:** Available since v1.142.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.ecs.getInstanceTypes({\n instanceTypeFamily: \"ecs.g7\",\n});\nconst defaultGetZones = _default.then(_default =\u003e alicloud.getZones({\n availableResourceCreation: \"Instance\",\n availableInstanceType: _default.instanceTypes?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"10.4.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n cidrBlock: \"10.4.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n description: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n nameRegex: \"^ubuntu_18.*64\",\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultInstance: alicloud.ecs.Instance[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultInstance.push(new alicloud.ecs.Instance(`default-${range.value}`, {\n availabilityZone: defaultGetZones.then(defaultGetZones =\u003e defaultGetZones.zones?.[0]?.id),\n instanceName: name,\n hostName: name,\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: _default.then(_default =\u003e _default.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup.id],\n vswitchId: defaultSwitch.id,\n systemDiskCategory: \"cloud_essd\",\n }));\n}\nconst defaultEcsNetworkInterface: alicloud.ecs.EcsNetworkInterface[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEcsNetworkInterface.push(new alicloud.ecs.EcsNetworkInterface(`default-${range.value}`, {\n networkInterfaceName: name,\n vswitchId: defaultSwitch.id,\n securityGroupIds: [defaultSecurityGroup.id],\n }));\n}\nconst defaultEcsNetworkInterfaceAttachment: alicloud.ecs.EcsNetworkInterfaceAttachment[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n defaultEcsNetworkInterfaceAttachment.push(new alicloud.ecs.EcsNetworkInterfaceAttachment(`default-${range.value}`, {\n instanceId: defaultInstance[range.value].id,\n networkInterfaceId: defaultEcsNetworkInterface[range.value].id,\n }));\n}\nconst defaultTrafficMirrorFilter = new alicloud.vpc.TrafficMirrorFilter(\"default\", {\n trafficMirrorFilterName: name,\n trafficMirrorFilterDescription: name,\n});\nconst defaultTrafficMirrorSession = new alicloud.vpc.TrafficMirrorSession(\"default\", {\n priority: 1,\n virtualNetworkId: 10,\n trafficMirrorSessionDescription: name,\n trafficMirrorSessionName: name,\n trafficMirrorTargetId: defaultEcsNetworkInterfaceAttachment[0].networkInterfaceId,\n trafficMirrorSourceIds: [defaultEcsNetworkInterfaceAttachment[1].networkInterfaceId],\n trafficMirrorFilterId: defaultTrafficMirrorFilter.id,\n trafficMirrorTargetType: \"NetworkInterface\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.ecs.get_instance_types(instance_type_family=\"ecs.g7\")\ndefault_get_zones = alicloud.get_zones(available_resource_creation=\"Instance\",\n available_instance_type=default.instance_types[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"10.4.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n cidr_block=\"10.4.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default_get_zones.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n description=name,\n vpc_id=default_network.id)\ndefault_get_images = alicloud.ecs.get_images(name_regex=\"^ubuntu_18.*64\",\n most_recent=True,\n owners=\"system\")\ndefault_instance = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_instance.append(alicloud.ecs.Instance(f\"default-{range['value']}\",\n availability_zone=default_get_zones.zones[0].id,\n instance_name=name,\n host_name=name,\n image_id=default_get_images.images[0].id,\n instance_type=default.instance_types[0].id,\n security_groups=[default_security_group.id],\n vswitch_id=default_switch.id,\n system_disk_category=\"cloud_essd\"))\ndefault_ecs_network_interface = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_ecs_network_interface.append(alicloud.ecs.EcsNetworkInterface(f\"default-{range['value']}\",\n network_interface_name=name,\n vswitch_id=default_switch.id,\n security_group_ids=[default_security_group.id]))\ndefault_ecs_network_interface_attachment = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n default_ecs_network_interface_attachment.append(alicloud.ecs.EcsNetworkInterfaceAttachment(f\"default-{range['value']}\",\n instance_id=default_instance[range[\"value\"]].id,\n network_interface_id=default_ecs_network_interface[range[\"value\"]].id))\ndefault_traffic_mirror_filter = alicloud.vpc.TrafficMirrorFilter(\"default\",\n traffic_mirror_filter_name=name,\n traffic_mirror_filter_description=name)\ndefault_traffic_mirror_session = alicloud.vpc.TrafficMirrorSession(\"default\",\n priority=1,\n virtual_network_id=10,\n traffic_mirror_session_description=name,\n traffic_mirror_session_name=name,\n traffic_mirror_target_id=default_ecs_network_interface_attachment[0].network_interface_id,\n traffic_mirror_source_ids=[default_ecs_network_interface_attachment[1].network_interface_id],\n traffic_mirror_filter_id=default_traffic_mirror_filter.id,\n traffic_mirror_target_type=\"NetworkInterface\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n InstanceTypeFamily = \"ecs.g7\",\n });\n\n var defaultGetZones = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"Instance\",\n AvailableInstanceType = @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"10.4.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n CidrBlock = \"10.4.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n Description = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n NameRegex = \"^ubuntu_18.*64\",\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultInstance = new List\u003cAliCloud.Ecs.Instance\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultInstance.Add(new AliCloud.Ecs.Instance($\"default-{range.Value}\", new()\n {\n AvailabilityZone = defaultGetZones.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n InstanceName = name,\n HostName = name,\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = @default.Apply(@default =\u003e @default.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id)),\n SecurityGroups = new[]\n {\n defaultSecurityGroup.Id,\n },\n VswitchId = defaultSwitch.Id,\n SystemDiskCategory = \"cloud_essd\",\n }));\n }\n var defaultEcsNetworkInterface = new List\u003cAliCloud.Ecs.EcsNetworkInterface\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEcsNetworkInterface.Add(new AliCloud.Ecs.EcsNetworkInterface($\"default-{range.Value}\", new()\n {\n NetworkInterfaceName = name,\n VswitchId = defaultSwitch.Id,\n SecurityGroupIds = new[]\n {\n defaultSecurityGroup.Id,\n },\n }));\n }\n var defaultEcsNetworkInterfaceAttachment = new List\u003cAliCloud.Ecs.EcsNetworkInterfaceAttachment\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n defaultEcsNetworkInterfaceAttachment.Add(new AliCloud.Ecs.EcsNetworkInterfaceAttachment($\"default-{range.Value}\", new()\n {\n InstanceId = defaultInstance[range.Value].Id,\n NetworkInterfaceId = defaultEcsNetworkInterface[range.Value].Id,\n }));\n }\n var defaultTrafficMirrorFilter = new AliCloud.Vpc.TrafficMirrorFilter(\"default\", new()\n {\n TrafficMirrorFilterName = name,\n TrafficMirrorFilterDescription = name,\n });\n\n var defaultTrafficMirrorSession = new AliCloud.Vpc.TrafficMirrorSession(\"default\", new()\n {\n Priority = 1,\n VirtualNetworkId = 10,\n TrafficMirrorSessionDescription = name,\n TrafficMirrorSessionName = name,\n TrafficMirrorTargetId = defaultEcsNetworkInterfaceAttachment[0].NetworkInterfaceId,\n TrafficMirrorSourceIds = new[]\n {\n defaultEcsNetworkInterfaceAttachment[1].NetworkInterfaceId,\n },\n TrafficMirrorFilterId = defaultTrafficMirrorFilter.Id,\n TrafficMirrorTargetType = \"NetworkInterface\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\n\t\t\tInstanceTypeFamily: pulumi.StringRef(\"ecs.g7\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetZones, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"Instance\"),\n\t\t\tAvailableInstanceType: pulumi.StringRef(_default.InstanceTypes[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\n\t\t\tVswitchName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.4.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^ubuntu_18.*64\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar defaultInstance []*ecs.Instance\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewInstance(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.InstanceArgs{\n\t\t\t\tAvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),\n\t\t\t\tInstanceName: pulumi.String(name),\n\t\t\t\tHostName: pulumi.String(name),\n\t\t\t\tImageId: pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\t\tInstanceType: pulumi.String(_default.InstanceTypes[0].Id),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\tSystemDiskCategory: pulumi.String(\"cloud_essd\"),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultInstance = append(defaultInstance, __res)\n\t\t}\n\t\tvar defaultEcsNetworkInterface []*ecs.EcsNetworkInterface\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ecs.NewEcsNetworkInterface(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EcsNetworkInterfaceArgs{\n\t\t\t\tNetworkInterfaceName: pulumi.String(name),\n\t\t\t\tVswitchId: defaultSwitch.ID(),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tdefaultSecurityGroup.ID(),\n\t\t\t\t},\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEcsNetworkInterface = append(defaultEcsNetworkInterface, __res)\n\t\t}\n\t\tvar defaultEcsNetworkInterfaceAttachment []*ecs.EcsNetworkInterfaceAttachment\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := ecs.NewEcsNetworkInterfaceAttachment(ctx, fmt.Sprintf(\"default-%v\", key0), \u0026ecs.EcsNetworkInterfaceAttachmentArgs{\n\t\t\t\tInstanceId: defaultInstance[val0].ID(),\n\t\t\t\tNetworkInterfaceId: defaultEcsNetworkInterface[val0].ID(),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tdefaultEcsNetworkInterfaceAttachment = append(defaultEcsNetworkInterfaceAttachment, __res)\n\t\t}\n\t\tdefaultTrafficMirrorFilter, err := vpc.NewTrafficMirrorFilter(ctx, \"default\", \u0026vpc.TrafficMirrorFilterArgs{\n\t\t\tTrafficMirrorFilterName: pulumi.String(name),\n\t\t\tTrafficMirrorFilterDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewTrafficMirrorSession(ctx, \"default\", \u0026vpc.TrafficMirrorSessionArgs{\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tVirtualNetworkId: pulumi.Int(10),\n\t\t\tTrafficMirrorSessionDescription: pulumi.String(name),\n\t\t\tTrafficMirrorSessionName: pulumi.String(name),\n\t\t\tTrafficMirrorTargetId: defaultEcsNetworkInterfaceAttachment[0].NetworkInterfaceId,\n\t\t\tTrafficMirrorSourceIds: pulumi.StringArray{\n\t\t\t\tdefaultEcsNetworkInterfaceAttachment[1].NetworkInterfaceId,\n\t\t\t},\n\t\t\tTrafficMirrorFilterId: defaultTrafficMirrorFilter.ID(),\n\t\t\tTrafficMirrorTargetType: pulumi.String(\"NetworkInterface\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterface;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceArgs;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachment;\nimport com.pulumi.alicloud.ecs.EcsNetworkInterfaceAttachmentArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilter;\nimport com.pulumi.alicloud.vpc.TrafficMirrorFilterArgs;\nimport com.pulumi.alicloud.vpc.TrafficMirrorSession;\nimport com.pulumi.alicloud.vpc.TrafficMirrorSessionArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .instanceTypeFamily(\"ecs.g7\")\n .build());\n\n final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"Instance\")\n .availableInstanceType(default_.instanceTypes()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.4.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .cidrBlock(\"10.4.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(defaultGetZones.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .description(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .nameRegex(\"^ubuntu_18.*64\")\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new Instance(\"defaultInstance-\" + i, InstanceArgs.builder()\n .availabilityZone(defaultGetZones.zones()[0].id())\n .instanceName(name)\n .hostName(name)\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(default_.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.id())\n .vswitchId(defaultSwitch.id())\n .systemDiskCategory(\"cloud_essd\")\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new EcsNetworkInterface(\"defaultEcsNetworkInterface-\" + i, EcsNetworkInterfaceArgs.builder()\n .networkInterfaceName(name)\n .vswitchId(defaultSwitch.id())\n .securityGroupIds(defaultSecurityGroup.id())\n .build());\n\n \n}\n for (var i = 0; i \u003c 2; i++) {\n new EcsNetworkInterfaceAttachment(\"defaultEcsNetworkInterfaceAttachment-\" + i, EcsNetworkInterfaceAttachmentArgs.builder()\n .instanceId(defaultInstance[range.value()].id())\n .networkInterfaceId(defaultEcsNetworkInterface[range.value()].id())\n .build());\n\n \n}\n var defaultTrafficMirrorFilter = new TrafficMirrorFilter(\"defaultTrafficMirrorFilter\", TrafficMirrorFilterArgs.builder()\n .trafficMirrorFilterName(name)\n .trafficMirrorFilterDescription(name)\n .build());\n\n var defaultTrafficMirrorSession = new TrafficMirrorSession(\"defaultTrafficMirrorSession\", TrafficMirrorSessionArgs.builder()\n .priority(1)\n .virtualNetworkId(10)\n .trafficMirrorSessionDescription(name)\n .trafficMirrorSessionName(name)\n .trafficMirrorTargetId(defaultEcsNetworkInterfaceAttachment[0].networkInterfaceId())\n .trafficMirrorSourceIds(defaultEcsNetworkInterfaceAttachment[1].networkInterfaceId())\n .trafficMirrorFilterId(defaultTrafficMirrorFilter.id())\n .trafficMirrorTargetType(\"NetworkInterface\")\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Traffic Mirror Session can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/trafficMirrorSession:TrafficMirrorSession example \u003cid\u003e\n```\n\n", "properties": { "dryRun": { "type": "boolean", @@ -267134,7 +273000,7 @@ } }, "alicloud:vpc/vPCRouteEntry:VPCRouteEntry": { - "description": "Provides a VPC Route Entry resource.\n\nThere are route entries in the routing table, and the next hop is judged based on the route entries.\n\nFor information about VPC Route Entry and how to use it, see [What is Route Entry](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-createrouteentry).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst foo = new alicloud.vpc.RouteEntry(\"foo\", {\n routeTableId: defaultNetwork.routeTableId,\n destinationCidrblock: \"172.11.1.1/32\",\n nexthopType: \"Instance\",\n nexthopId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=name)\nfoo = alicloud.vpc.RouteEntry(\"foo\",\n route_table_id=default_network.route_table_id,\n destination_cidrblock=\"172.11.1.1/32\",\n nexthop_type=\"Instance\",\n nexthop_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var foo = new AliCloud.Vpc.RouteEntry(\"foo\", new()\n {\n RouteTableId = defaultNetwork.RouteTableId,\n DestinationCidrblock = \"172.11.1.1/32\",\n NexthopType = \"Instance\",\n NexthopId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewRouteEntry(ctx, \"foo\", \u0026vpc.RouteEntryArgs{\nRouteTableId: defaultNetwork.RouteTableId,\nDestinationCidrblock: pulumi.String(\"172.11.1.1/32\"),\nNexthopType: pulumi.String(\"Instance\"),\nNexthopId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.RouteEntry;\nimport com.pulumi.alicloud.vpc.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var foo = new RouteEntry(\"foo\", RouteEntryArgs.builder()\n .routeTableId(defaultNetwork.routeTableId())\n .destinationCidrblock(\"172.11.1.1/32\")\n .nexthopType(\"Instance\")\n .nexthopId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Route Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vPCRouteEntry:VPCRouteEntry example \u003croute_table_id\u003e:\u003cdestination_cidr_block\u003e\n```\n\n", + "description": "Provides a VPC Route Entry resource.\n\nThere are route entries in the routing table, and the next hop is judged based on the route entries.\n\nFor information about VPC Route Entry and how to use it, see [What is Route Entry](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpc-2016-04-28-createrouteentry).\n\n\u003e **NOTE:** Available since v1.245.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableDiskCategory: \"cloud_efficiency\",\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetImages = alicloud.ecs.getImages({\n mostRecent: true,\n owners: \"system\",\n});\nconst defaultGetInstanceTypes = Promise.all([_default, defaultGetImages]).then(([_default, defaultGetImages]) =\u003e alicloud.ecs.getInstanceTypes({\n availabilityZone: _default.zones?.[0]?.id,\n imageId: defaultGetImages.images?.[0]?.id,\n}));\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n vpcName: name,\n cidrBlock: \"192.168.0.0/16\",\n});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vswitchName: name,\n vpcId: defaultNetwork.id,\n cidrBlock: \"192.168.192.0/24\",\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultSecurityGroup = new alicloud.ecs.SecurityGroup(\"default\", {\n name: name,\n vpcId: defaultNetwork.id,\n});\nconst defaultInstance = new alicloud.ecs.Instance(\"default\", {\n imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.id),\n securityGroups: [defaultSecurityGroup].map(__item =\u003e __item.id),\n internetChargeType: \"PayByTraffic\",\n internetMaxBandwidthOut: 10,\n availabilityZone: defaultGetInstanceTypes.then(defaultGetInstanceTypes =\u003e defaultGetInstanceTypes.instanceTypes?.[0]?.availabilityZones?.[0]),\n instanceChargeType: \"PostPaid\",\n systemDiskCategory: \"cloud_efficiency\",\n vswitchId: defaultSwitch.id,\n instanceName: name,\n});\nconst foo = new alicloud.vpc.RouteEntry(\"foo\", {\n routeTableId: defaultNetwork.routeTableId,\n destinationCidrblock: \"172.11.1.1/32\",\n nexthopType: \"Instance\",\n nexthopId: defaultInstance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_disk_category=\"cloud_efficiency\",\n available_resource_creation=\"VSwitch\")\ndefault_get_images = alicloud.ecs.get_images(most_recent=True,\n owners=\"system\")\ndefault_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,\n image_id=default_get_images.images[0].id)\ndefault_network = alicloud.vpc.Network(\"default\",\n vpc_name=name,\n cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vswitch_name=name,\n vpc_id=default_network.id,\n cidr_block=\"192.168.192.0/24\",\n zone_id=default.zones[0].id)\ndefault_security_group = alicloud.ecs.SecurityGroup(\"default\",\n name=name,\n vpc_id=default_network.id)\ndefault_instance = alicloud.ecs.Instance(\"default\",\n image_id=default_get_images.images[0].id,\n instance_type=default_get_instance_types.instance_types[0].id,\n security_groups=[__item.id for __item in [default_security_group]],\n internet_charge_type=\"PayByTraffic\",\n internet_max_bandwidth_out=10,\n availability_zone=default_get_instance_types.instance_types[0].availability_zones[0],\n instance_charge_type=\"PostPaid\",\n system_disk_category=\"cloud_efficiency\",\n vswitch_id=default_switch.id,\n instance_name=name)\nfoo = alicloud.vpc.RouteEntry(\"foo\",\n route_table_id=default_network.route_table_id,\n destination_cidrblock=\"172.11.1.1/32\",\n nexthop_type=\"Instance\",\n nexthop_id=default_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableDiskCategory = \"cloud_efficiency\",\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()\n {\n MostRecent = true,\n Owners = \"system\",\n });\n\n var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()\n {\n AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n VpcName = name,\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VswitchName = name,\n VpcId = defaultNetwork.Id,\n CidrBlock = \"192.168.192.0/24\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup(\"default\", new()\n {\n Name = name,\n VpcId = defaultNetwork.Id,\n });\n\n var defaultInstance = new AliCloud.Ecs.Instance(\"default\", new()\n {\n ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.Id),\n SecurityGroups = new[]\n {\n defaultSecurityGroup,\n }.Select(__item =\u003e __item.Id).ToList(),\n InternetChargeType = \"PayByTraffic\",\n InternetMaxBandwidthOut = 10,\n AvailabilityZone = defaultGetInstanceTypes.Apply(getInstanceTypesResult =\u003e getInstanceTypesResult.InstanceTypes[0]?.AvailabilityZones[0]),\n InstanceChargeType = \"PostPaid\",\n SystemDiskCategory = \"cloud_efficiency\",\n VswitchId = defaultSwitch.Id,\n InstanceName = name,\n });\n\n var foo = new AliCloud.Vpc.RouteEntry(\"foo\", new()\n {\n RouteTableId = defaultNetwork.RouteTableId,\n DestinationCidrblock = \"172.11.1.1/32\",\n NexthopType = \"Instance\",\n NexthopId = defaultInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableDiskCategory: pulumi.StringRef(\"cloud_efficiency\"),\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetImages, err := ecs.GetImages(ctx, \u0026ecs.GetImagesArgs{\nMostRecent: pulumi.BoolRef(true),\nOwners: pulumi.StringRef(\"system\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, \u0026ecs.GetInstanceTypesArgs{\nAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\nImageId: pulumi.StringRef(defaultGetImages.Images[0].Id),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nVpcName: pulumi.String(name),\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVswitchName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(\"192.168.192.0/24\"),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, \"default\", \u0026ecs.SecurityGroupArgs{\nName: pulumi.String(name),\nVpcId: defaultNetwork.ID(),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\ndefaultInstance, err := ecs.NewInstance(ctx, \"default\", \u0026ecs.InstanceArgs{\nImageId: pulumi.String(defaultGetImages.Images[0].Id),\nInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),\nSecurityGroups: splat0,\nInternetChargeType: pulumi.String(\"PayByTraffic\"),\nInternetMaxBandwidthOut: pulumi.Int(10),\nAvailabilityZone: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].AvailabilityZones[0]),\nInstanceChargeType: pulumi.String(\"PostPaid\"),\nSystemDiskCategory: pulumi.String(\"cloud_efficiency\"),\nVswitchId: defaultSwitch.ID(),\nInstanceName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewRouteEntry(ctx, \"foo\", \u0026vpc.RouteEntryArgs{\nRouteTableId: defaultNetwork.RouteTableId,\nDestinationCidrblock: pulumi.String(\"172.11.1.1/32\"),\nNexthopType: pulumi.String(\"Instance\"),\nNexthopId: defaultInstance.ID(),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.ecs.EcsFunctions;\nimport com.pulumi.alicloud.ecs.inputs.GetImagesArgs;\nimport com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.ecs.SecurityGroup;\nimport com.pulumi.alicloud.ecs.SecurityGroupArgs;\nimport com.pulumi.alicloud.ecs.Instance;\nimport com.pulumi.alicloud.ecs.InstanceArgs;\nimport com.pulumi.alicloud.vpc.RouteEntry;\nimport com.pulumi.alicloud.vpc.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableDiskCategory(\"cloud_efficiency\")\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()\n .mostRecent(true)\n .owners(\"system\")\n .build());\n\n final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()\n .availabilityZone(default_.zones()[0].id())\n .imageId(defaultGetImages.images()[0].id())\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vswitchName(name)\n .vpcId(defaultNetwork.id())\n .cidrBlock(\"192.168.192.0/24\")\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n .name(name)\n .vpcId(defaultNetwork.id())\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .imageId(defaultGetImages.images()[0].id())\n .instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())\n .securityGroups(defaultSecurityGroup.stream().map(element -\u003e element.id()).collect(toList()))\n .internetChargeType(\"PayByTraffic\")\n .internetMaxBandwidthOut(10)\n .availabilityZone(defaultGetInstanceTypes.instanceTypes()[0].availabilityZones()[0])\n .instanceChargeType(\"PostPaid\")\n .systemDiskCategory(\"cloud_efficiency\")\n .vswitchId(defaultSwitch.id())\n .instanceName(name)\n .build());\n\n var foo = new RouteEntry(\"foo\", RouteEntryArgs.builder()\n .routeTableId(defaultNetwork.routeTableId())\n .destinationCidrblock(\"172.11.1.1/32\")\n .nexthopType(\"Instance\")\n .nexthopId(defaultInstance.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Route Entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vPCRouteEntry:VPCRouteEntry example \u003croute_table_id\u003e:\u003cdestination_cidr_block\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -267288,7 +273154,7 @@ } }, "alicloud:vpc/vbrHa:VbrHa": { - "description": "Provides a Express Connect Vbr Ha resource.\n\nVBR switching Group.\n\nFor information about Express Connect Vbr Ha and how to use it, see [What is Vbr Ha](https://www.alibabacloud.com/help/doc-detail/212629.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter: alicloud.expressconnect.VirtualBorderRouter[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleVirtualBorderRouter.push(new alicloud.expressconnect.VirtualBorderRouter(`example-${range.value}`, {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections[range.value].id),\n virtualBorderRouterName: std.format({\n input: `${name}-%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vlanId: vlanId.id + range.value,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n }));\n}\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleInstanceAttachment: alicloud.cen.InstanceAttachment[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstanceAttachment.push(new alicloud.cen.InstanceAttachment(`example-${range.value}`, {\n instanceId: exampleInstance.id,\n childInstanceId: exampleVirtualBorderRouter[range.value].id,\n childInstanceType: \"VBR\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n }));\n}\nconst exampleVbrHa = new alicloud.vpc.VbrHa(\"example\", {\n vbrId: exampleInstanceAttachment[0].childInstanceId,\n peerVbrId: exampleInstanceAttachment[1].childInstanceId,\n vbrHaName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_virtual_border_router.append(alicloud.expressconnect.VirtualBorderRouter(f\"example-{range['value']}\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[range[\"value\"]].id,\n virtual_border_router_name=std.format(input=f\"{name}-%d\",\n args=[range[\"value\"] + 1]).result,\n vlan_id=vlan_id[\"id\"] + range[\"value\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10))\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=name,\n protection_level=\"REDUCED\")\nexample_instance_attachment = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance_attachment.append(alicloud.cen.InstanceAttachment(f\"example-{range['value']}\",\n instance_id=example_instance.id,\n child_instance_id=example_virtual_border_router[range[\"value\"]].id,\n child_instance_type=\"VBR\",\n child_instance_region_id=default.regions[0].id))\nexample_vbr_ha = alicloud.vpc.VbrHa(\"example\",\n vbr_id=example_instance_attachment[0].child_instance_id,\n peer_vbr_id=example_instance_attachment[1].child_instance_id,\n vbr_ha_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new List\u003cAliCloud.ExpressConnect.VirtualBorderRouter\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleVirtualBorderRouter.Add(new AliCloud.ExpressConnect.VirtualBorderRouter($\"example-{range.Value}\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections)[range.Value].Id,\n VirtualBorderRouterName = Std.Format.Invoke(new()\n {\n Input = $\"{name}-%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VlanId = vlanId.Id + range.Value,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n }));\n }\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleInstanceAttachment = new List\u003cAliCloud.Cen.InstanceAttachment\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstanceAttachment.Add(new AliCloud.Cen.InstanceAttachment($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = exampleVirtualBorderRouter[range.Value].Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n }));\n }\n var exampleVbrHa = new AliCloud.Vpc.VbrHa(\"example\", new()\n {\n VbrId = exampleInstanceAttachment[0].ChildInstanceId,\n PeerVbrId = exampleInstanceAttachment[1].ChildInstanceId,\n VbrHaName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"-%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleVirtualBorderRouter []*expressconnect.VirtualBorderRouter\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := expressconnect.NewVirtualBorderRouter(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\t\tPhysicalConnectionId: example.Connections[val0].Id,\n\t\t\t\tVirtualBorderRouterName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVlanId: int(vlanId.Id + val0),\n\t\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleVirtualBorderRouter = append(exampleVirtualBorderRouter, __res)\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstanceAttachment []*cen.InstanceAttachment\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := cen.NewInstanceAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026cen.InstanceAttachmentArgs{\n\t\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\t\tChildInstanceId: exampleVirtualBorderRouter[val0].ID(),\n\t\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstanceAttachment = append(exampleInstanceAttachment, __res)\n\t\t}\n\t\t_, err = vpc.NewVbrHa(ctx, \"example\", \u0026vpc.VbrHaArgs{\n\t\t\tVbrId: exampleInstanceAttachment[0].ChildInstanceId,\n\t\t\tPeerVbrId: exampleInstanceAttachment[1].ChildInstanceId,\n\t\t\tVbrHaName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.vpc.VbrHa;\nimport com.pulumi.alicloud.vpc.VbrHaArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new VirtualBorderRouter(\"exampleVirtualBorderRouter-\" + i, VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[range.value()].id())\n .virtualBorderRouterName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s-%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vlanId(vlanId.id() + range.value())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n \n}\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new InstanceAttachment(\"exampleInstanceAttachment-\" + i, InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(exampleVirtualBorderRouter[range.value()].id())\n .childInstanceType(\"VBR\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n \n}\n var exampleVbrHa = new VbrHa(\"exampleVbrHa\", VbrHaArgs.builder()\n .vbrId(exampleInstanceAttachment[0].childInstanceId())\n .peerVbrId(exampleInstanceAttachment[1].childInstanceId())\n .vbrHaName(name)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExpress Connect Vbr Ha can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vbrHa:VbrHa example \u003cid\u003e\n```\n\n", + "description": "Provides a Express Connect Vbr Ha resource.\n\nVBR switching Group.\n\nFor information about Express Connect Vbr Ha and how to use it, see [What is Vbr Ha](https://www.alibabacloud.com/help/doc-detail/212629.html).\n\n\u003e **NOTE:** Available since v1.151.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as random from \"@pulumi/random\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getRegions({\n current: true,\n});\nconst example = alicloud.expressconnect.getPhysicalConnections({\n nameRegex: \"^preserved-NODELETING\",\n});\nconst vlanId = new random.index.Integer(\"vlan_id\", {\n max: 2999,\n min: 1,\n});\nconst exampleVirtualBorderRouter: alicloud.expressconnect.VirtualBorderRouter[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleVirtualBorderRouter.push(new alicloud.expressconnect.VirtualBorderRouter(`example-${range.value}`, {\n localGatewayIp: \"10.0.0.1\",\n peerGatewayIp: \"10.0.0.2\",\n peeringSubnetMask: \"255.255.255.252\",\n physicalConnectionId: example.then(example =\u003e example.connections[range.value].id),\n virtualBorderRouterName: std.format({\n input: `${name}-%d`,\n args: [range.value + 1],\n }).then(invoke =\u003e invoke.result),\n vlanId: vlanId.id + range.value,\n minRxInterval: 1000,\n minTxInterval: 1000,\n detectMultiplier: 10,\n }));\n}\nconst exampleInstance = new alicloud.cen.Instance(\"example\", {\n cenInstanceName: name,\n description: name,\n protectionLevel: \"REDUCED\",\n});\nconst exampleInstanceAttachment: alicloud.cen.InstanceAttachment[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n exampleInstanceAttachment.push(new alicloud.cen.InstanceAttachment(`example-${range.value}`, {\n instanceId: exampleInstance.id,\n childInstanceId: exampleVirtualBorderRouter[range.value].id,\n childInstanceType: \"VBR\",\n childInstanceRegionId: _default.then(_default =\u003e _default.regions?.[0]?.id),\n }));\n}\nconst exampleVbrHa = new alicloud.vpc.VbrHa(\"example\", {\n vbrId: exampleInstanceAttachment[0].childInstanceId,\n peerVbrId: exampleInstanceAttachment[1].childInstanceId,\n vbrHaName: name,\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_random as random\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_regions(current=True)\nexample = alicloud.expressconnect.get_physical_connections(name_regex=\"^preserved-NODELETING\")\nvlan_id = random.index.Integer(\"vlan_id\",\n max=2999,\n min=1)\nexample_virtual_border_router = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_virtual_border_router.append(alicloud.expressconnect.VirtualBorderRouter(f\"example-{range['value']}\",\n local_gateway_ip=\"10.0.0.1\",\n peer_gateway_ip=\"10.0.0.2\",\n peering_subnet_mask=\"255.255.255.252\",\n physical_connection_id=example.connections[range[\"value\"]].id,\n virtual_border_router_name=std.format(input=f\"{name}-%d\",\n args=[range[\"value\"] + 1]).result,\n vlan_id=vlan_id[\"id\"] + range[\"value\"],\n min_rx_interval=1000,\n min_tx_interval=1000,\n detect_multiplier=10))\nexample_instance = alicloud.cen.Instance(\"example\",\n cen_instance_name=name,\n description=name,\n protection_level=\"REDUCED\")\nexample_instance_attachment = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n example_instance_attachment.append(alicloud.cen.InstanceAttachment(f\"example-{range['value']}\",\n instance_id=example_instance.id,\n child_instance_id=example_virtual_border_router[range[\"value\"]].id,\n child_instance_type=\"VBR\",\n child_instance_region_id=default.regions[0].id))\nexample_vbr_ha = alicloud.vpc.VbrHa(\"example\",\n vbr_id=example_instance_attachment[0].child_instance_id,\n peer_vbr_id=example_instance_attachment[1].child_instance_id,\n vbr_ha_name=name,\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Random = Pulumi.Random;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetRegions.Invoke(new()\n {\n Current = true,\n });\n\n var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()\n {\n NameRegex = \"^preserved-NODELETING\",\n });\n\n var vlanId = new Random.Index.Integer(\"vlan_id\", new()\n {\n Max = 2999,\n Min = 1,\n });\n\n var exampleVirtualBorderRouter = new List\u003cAliCloud.ExpressConnect.VirtualBorderRouter\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleVirtualBorderRouter.Add(new AliCloud.ExpressConnect.VirtualBorderRouter($\"example-{range.Value}\", new()\n {\n LocalGatewayIp = \"10.0.0.1\",\n PeerGatewayIp = \"10.0.0.2\",\n PeeringSubnetMask = \"255.255.255.252\",\n PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult =\u003e getPhysicalConnectionsResult.Connections)[range.Value].Id,\n VirtualBorderRouterName = Std.Format.Invoke(new()\n {\n Input = $\"{name}-%d\",\n Args = new[]\n {\n range.Value + 1,\n },\n }).Apply(invoke =\u003e invoke.Result),\n VlanId = vlanId.Id + range.Value,\n MinRxInterval = 1000,\n MinTxInterval = 1000,\n DetectMultiplier = 10,\n }));\n }\n var exampleInstance = new AliCloud.Cen.Instance(\"example\", new()\n {\n CenInstanceName = name,\n Description = name,\n ProtectionLevel = \"REDUCED\",\n });\n\n var exampleInstanceAttachment = new List\u003cAliCloud.Cen.InstanceAttachment\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n exampleInstanceAttachment.Add(new AliCloud.Cen.InstanceAttachment($\"example-{range.Value}\", new()\n {\n InstanceId = exampleInstance.Id,\n ChildInstanceId = exampleVirtualBorderRouter[range.Value].Id,\n ChildInstanceType = \"VBR\",\n ChildInstanceRegionId = @default.Apply(@default =\u003e @default.Apply(getRegionsResult =\u003e getRegionsResult.Regions[0]?.Id)),\n }));\n }\n var exampleVbrHa = new AliCloud.Vpc.VbrHa(\"example\", new()\n {\n VbrId = exampleInstanceAttachment[0].ChildInstanceId,\n PeerVbrId = exampleInstanceAttachment[1].ChildInstanceId,\n VbrHaName = name,\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetRegions(ctx, \u0026alicloud.GetRegionsArgs{\n\t\t\tCurrent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := expressconnect.GetPhysicalConnections(ctx, \u0026expressconnect.GetPhysicalConnectionsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^preserved-NODELETING\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvlanId, err := random.NewInteger(ctx, \"vlan_id\", \u0026random.IntegerArgs{\n\t\t\tMax: 2999,\n\t\t\tMin: 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\n\t\t\tInput: fmt.Sprintf(\"%v%v\", name, \"-%d\"),\n\t\t\tArgs: []float64{\n\t\t\t\tval0 + 1,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleVirtualBorderRouter []*expressconnect.VirtualBorderRouter\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := expressconnect.NewVirtualBorderRouter(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026expressconnect.VirtualBorderRouterArgs{\n\t\t\t\tLocalGatewayIp: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tPeerGatewayIp: pulumi.String(\"10.0.0.2\"),\n\t\t\t\tPeeringSubnetMask: pulumi.String(\"255.255.255.252\"),\n\t\t\t\tPhysicalConnectionId: example.Connections[val0].Id,\n\t\t\t\tVirtualBorderRouterName: pulumi.String(invokeFormat.Result),\n\t\t\t\tVlanId: int(vlanId.Id + val0),\n\t\t\t\tMinRxInterval: pulumi.Int(1000),\n\t\t\t\tMinTxInterval: pulumi.Int(1000),\n\t\t\t\tDetectMultiplier: pulumi.Int(10),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleVirtualBorderRouter = append(exampleVirtualBorderRouter, __res)\n\t\t}\n\t\texampleInstance, err := cen.NewInstance(ctx, \"example\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tProtectionLevel: pulumi.String(\"REDUCED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar exampleInstanceAttachment []*cen.InstanceAttachment\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := cen.NewInstanceAttachment(ctx, fmt.Sprintf(\"example-%v\", key0), \u0026cen.InstanceAttachmentArgs{\n\t\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\t\tChildInstanceId: exampleVirtualBorderRouter[val0].ID(),\n\t\t\t\tChildInstanceType: pulumi.String(\"VBR\"),\n\t\t\t\tChildInstanceRegionId: pulumi.String(_default.Regions[0].Id),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\texampleInstanceAttachment = append(exampleInstanceAttachment, __res)\n\t\t}\n\t\t_, err = vpc.NewVbrHa(ctx, \"example\", \u0026vpc.VbrHaArgs{\n\t\t\tVbrId: exampleInstanceAttachment[0].ChildInstanceId,\n\t\t\tPeerVbrId: exampleInstanceAttachment[1].ChildInstanceId,\n\t\t\tVbrHaName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetRegionsArgs;\nimport com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;\nimport com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;\nimport com.pulumi.random.Integer;\nimport com.pulumi.random.IntegerArgs;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouter;\nimport com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.InstanceAttachment;\nimport com.pulumi.alicloud.cen.InstanceAttachmentArgs;\nimport com.pulumi.alicloud.vpc.VbrHa;\nimport com.pulumi.alicloud.vpc.VbrHaArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder()\n .current(true)\n .build());\n\n final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()\n .nameRegex(\"^preserved-NODELETING\")\n .build());\n\n var vlanId = new Integer(\"vlanId\", IntegerArgs.builder()\n .max(2999)\n .min(1)\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new VirtualBorderRouter(\"exampleVirtualBorderRouter-\" + i, VirtualBorderRouterArgs.builder()\n .localGatewayIp(\"10.0.0.1\")\n .peerGatewayIp(\"10.0.0.2\")\n .peeringSubnetMask(\"255.255.255.252\")\n .physicalConnectionId(example.connections()[range.value()].id())\n .virtualBorderRouterName(StdFunctions.format(FormatArgs.builder()\n .input(String.format(\"%s-%d\", name))\n .args(range.value() + 1)\n .build()).result())\n .vlanId(vlanId.id() + range.value())\n .minRxInterval(1000)\n .minTxInterval(1000)\n .detectMultiplier(10)\n .build());\n\n \n}\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .description(name)\n .protectionLevel(\"REDUCED\")\n .build());\n\n for (var i = 0; i \u003c 2; i++) {\n new InstanceAttachment(\"exampleInstanceAttachment-\" + i, InstanceAttachmentArgs.builder()\n .instanceId(exampleInstance.id())\n .childInstanceId(exampleVirtualBorderRouter[range.value()].id())\n .childInstanceType(\"VBR\")\n .childInstanceRegionId(default_.regions()[0].id())\n .build());\n\n \n}\n var exampleVbrHa = new VbrHa(\"exampleVbrHa\", VbrHaArgs.builder()\n .vbrId(exampleInstanceAttachment[0].childInstanceId())\n .peerVbrId(exampleInstanceAttachment[1].childInstanceId())\n .vbrHaName(name)\n .description(name)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nExpress Connect Vbr Ha can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vbrHa:VbrHa example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -267404,15 +273270,15 @@ } }, "alicloud:vpc/vpcNetworkAclAttachment:VpcNetworkAclAttachment": { - "description": "Provides a VPC Network Acl Attachment resource. Resources associated with network Acl.\n\nFor information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 2,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {vpcId: defaultSwitch.vpcId});\nconst defaultVpcNetworkAclAttachment = new alicloud.vpc.VpcNetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\", cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=2)).apply(lambda invoke: invoke.result),\n zone_id=default.zones[0].id)\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\", vpc_id=default_switch.vpc_id)\ndefault_vpc_network_acl_attachment = alicloud.vpc.VpcNetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resource_id=default_switch.id,\n resource_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 2,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultVpcNetworkAclAttachment = new AliCloud.Vpc.VpcNetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 2,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\nVpcId: defaultSwitch.VpcId,\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewVpcNetworkAclAttachment(ctx, \"default\", \u0026vpc.VpcNetworkAclAttachmentArgs{\nNetworkAclId: defaultNetworkAcl.ID(),\nResourceId: defaultSwitch.ID(),\nResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.VpcNetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.VpcNetworkAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(2)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultVpcNetworkAclAttachment = new VpcNetworkAclAttachment(\"defaultVpcNetworkAclAttachment\", VpcNetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultNetwork.cidrBlock}\n newbits: 8\n netnum: 2\n return: result\n zoneId: ${default.zones[0].id}\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultSwitch.vpcId}\n defaultVpcNetworkAclAttachment:\n type: alicloud:vpc:VpcNetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC Network Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vpcNetworkAclAttachment:VpcNetworkAclAttachment example \u003cnetwork_acl_id\u003e:\u003cresource_id\u003e\n```\n\n", + "description": "Provides a VPC Network Acl Attachment resource.\n\nResources associated with network Acl.\n\nFor information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl).\n\n\u003e **NOTE:** Available since v1.193.0.\n\n\u003e **WARNING:** Do not mix the use of this resource with the \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\"\u003e`resources`\u003c/span\u003e field in the \u003cspan pulumi-lang-nodejs=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-dotnet=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-go=\"`vpc.NetworkAcl`\" pulumi-lang-python=\"`vpc.NetworkAcl`\" pulumi-lang-yaml=\"`alicloud.vpc.NetworkAcl`\" pulumi-lang-java=\"`alicloud.vpc.NetworkAcl`\"\u003e`alicloud.vpc.NetworkAcl`\u003c/span\u003e resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {cidrBlock: \"192.168.0.0/16\"});\nconst defaultSwitch = new alicloud.vpc.Switch(\"default\", {\n vpcId: defaultNetwork.id,\n cidrBlock: defaultNetwork.cidrBlock.apply(cidrBlock =\u003e std.cidrsubnetOutput({\n input: cidrBlock,\n newbits: 8,\n netnum: 2,\n })).apply(invoke =\u003e invoke.result),\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultNetworkAcl = new alicloud.vpc.NetworkAcl(\"default\", {vpcId: defaultSwitch.vpcId});\nconst defaultVpcNetworkAclAttachment = new alicloud.vpc.VpcNetworkAclAttachment(\"default\", {\n networkAclId: defaultNetworkAcl.id,\n resourceId: defaultSwitch.id,\n resourceType: \"VSwitch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_network = alicloud.vpc.Network(\"default\", cidr_block=\"192.168.0.0/16\")\ndefault_switch = alicloud.vpc.Switch(\"default\",\n vpc_id=default_network.id,\n cidr_block=default_network.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,\n newbits=8,\n netnum=2)).apply(lambda invoke: invoke.result),\n zone_id=default.zones[0].id)\ndefault_network_acl = alicloud.vpc.NetworkAcl(\"default\", vpc_id=default_switch.vpc_id)\ndefault_vpc_network_acl_attachment = alicloud.vpc.VpcNetworkAclAttachment(\"default\",\n network_acl_id=default_network_acl.id,\n resource_id=default_switch.id,\n resource_type=\"VSwitch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"192.168.0.0/16\",\n });\n\n var defaultSwitch = new AliCloud.Vpc.Switch(\"default\", new()\n {\n VpcId = defaultNetwork.Id,\n CidrBlock = defaultNetwork.CidrBlock.Apply(cidrBlock =\u003e Std.Cidrsubnet.Invoke(new()\n {\n Input = cidrBlock,\n Newbits = 8,\n Netnum = 2,\n })).Apply(invoke =\u003e invoke.Result),\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultNetworkAcl = new AliCloud.Vpc.NetworkAcl(\"default\", new()\n {\n VpcId = defaultSwitch.VpcId,\n });\n\n var defaultVpcNetworkAclAttachment = new AliCloud.Vpc.VpcNetworkAclAttachment(\"default\", new()\n {\n NetworkAclId = defaultNetworkAcl.Id,\n ResourceId = defaultSwitch.Id,\n ResourceType = \"VSwitch\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\nAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n}, nil);\nif err != nil {\nreturn err\n}\ndefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\ninvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\nInput: cidrBlock,\nNewbits: 8,\nNetnum: 2,\n}, nil)\nif err != nil {\nreturn err\n}\ndefaultSwitch, err := vpc.NewSwitch(ctx, \"default\", \u0026vpc.SwitchArgs{\nVpcId: defaultNetwork.ID(),\nCidrBlock: pulumi.String(defaultNetwork.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {\n%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {\nreturn invoke.Result, nil\n}).(pulumi.StringPtrOutput)),\nZoneId: pulumi.String(_default.Zones[0].Id),\n})\nif err != nil {\nreturn err\n}\ndefaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, \"default\", \u0026vpc.NetworkAclArgs{\nVpcId: defaultSwitch.VpcId,\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewVpcNetworkAclAttachment(ctx, \"default\", \u0026vpc.VpcNetworkAclAttachmentArgs{\nNetworkAclId: defaultNetworkAcl.ID(),\nResourceId: defaultSwitch.ID(),\nResourceType: pulumi.String(\"VSwitch\"),\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.vpc.NetworkAcl;\nimport com.pulumi.alicloud.vpc.NetworkAclArgs;\nimport com.pulumi.alicloud.vpc.VpcNetworkAclAttachment;\nimport com.pulumi.alicloud.vpc.VpcNetworkAclAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"192.168.0.0/16\")\n .build());\n\n var defaultSwitch = new Switch(\"defaultSwitch\", SwitchArgs.builder()\n .vpcId(defaultNetwork.id())\n .cidrBlock(defaultNetwork.cidrBlock().applyValue(_cidrBlock -\u003e StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(_cidrBlock)\n .newbits(8)\n .netnum(2)\n .build())).applyValue(_invoke -\u003e _invoke.result()))\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultNetworkAcl = new NetworkAcl(\"defaultNetworkAcl\", NetworkAclArgs.builder()\n .vpcId(defaultSwitch.vpcId())\n .build());\n\n var defaultVpcNetworkAclAttachment = new VpcNetworkAclAttachment(\"defaultVpcNetworkAclAttachment\", VpcNetworkAclAttachmentArgs.builder()\n .networkAclId(defaultNetworkAcl.id())\n .resourceId(defaultSwitch.id())\n .resourceType(\"VSwitch\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 192.168.0.0/16\n defaultSwitch:\n type: alicloud:vpc:Switch\n name: default\n properties:\n vpcId: ${defaultNetwork.id}\n cidrBlock:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultNetwork.cidrBlock}\n newbits: 8\n netnum: 2\n return: result\n zoneId: ${default.zones[0].id}\n defaultNetworkAcl:\n type: alicloud:vpc:NetworkAcl\n name: default\n properties:\n vpcId: ${defaultSwitch.vpcId}\n defaultVpcNetworkAclAttachment:\n type: alicloud:vpc:VpcNetworkAclAttachment\n name: default\n properties:\n networkAclId: ${defaultNetworkAcl.id}\n resourceId: ${defaultSwitch.id}\n resourceType: VSwitch\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPC Network Acl Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vpcNetworkAclAttachment:VpcNetworkAclAttachment example \u003cnetwork_acl_id\u003e:\u003cresource_id\u003e\n```\n\n", "properties": { "networkAclId": { "type": "string", - "description": "The ID of the network ACL.\n" + "description": "The ID of the network ACL instance.\n" }, "resourceId": { "type": "string", - "description": "The ID of the associated resource.\n" + "description": "The ID of the associated vswitch instance.\n" }, "resourceType": { "type": "string", @@ -267432,12 +273298,12 @@ "inputProperties": { "networkAclId": { "type": "string", - "description": "The ID of the network ACL.\n", + "description": "The ID of the network ACL instance.\n", "willReplaceOnChanges": true }, "resourceId": { "type": "string", - "description": "The ID of the associated resource.\n", + "description": "The ID of the associated vswitch instance.\n", "willReplaceOnChanges": true }, "resourceType": { @@ -267456,12 +273322,12 @@ "properties": { "networkAclId": { "type": "string", - "description": "The ID of the network ACL.\n", + "description": "The ID of the network ACL instance.\n", "willReplaceOnChanges": true }, "resourceId": { "type": "string", - "description": "The ID of the associated resource.\n", + "description": "The ID of the associated vswitch instance.\n", "willReplaceOnChanges": true }, "resourceType": { @@ -267478,7 +273344,7 @@ } }, "alicloud:vpc/vswitchCidrReservation:VswitchCidrReservation": { - "description": "Provides a Vpc Vswitch Cidr Reservation resource. The reserved network segment of the vswitch. This resource type can be used only in ap-southeast region.\n\nFor information about Vpc Vswitch Cidr Reservation and how to use it, see [What is Vswitch Cidr Reservation](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/610154).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultVSwitch = new alicloud.vpc.Switch(\"defaultVSwitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"10.0.0.0/20\",\n vswitchName: `${name}1`,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultVswitchCidrReservation = new alicloud.vpc.VswitchCidrReservation(\"default\", {\n ipVersion: \"IPv4\",\n vswitchId: defaultVSwitch.id,\n cidrReservationDescription: name,\n cidrReservationCidr: \"10.0.10.0/24\",\n vswitchCidrReservationName: name,\n cidrReservationType: \"Prefix\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_v_switch = alicloud.vpc.Switch(\"defaultVSwitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"10.0.0.0/20\",\n vswitch_name=f\"{name}1\",\n zone_id=default.zones[0].id)\ndefault_vswitch_cidr_reservation = alicloud.vpc.VswitchCidrReservation(\"default\",\n ip_version=\"IPv4\",\n vswitch_id=default_v_switch.id,\n cidr_reservation_description=name,\n cidr_reservation_cidr=\"10.0.10.0/24\",\n vswitch_cidr_reservation_name=name,\n cidr_reservation_type=\"Prefix\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultVSwitch = new AliCloud.Vpc.Switch(\"defaultVSwitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"10.0.0.0/20\",\n VswitchName = $\"{name}1\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultVswitchCidrReservation = new AliCloud.Vpc.VswitchCidrReservation(\"default\", new()\n {\n IpVersion = \"IPv4\",\n VswitchId = defaultVSwitch.Id,\n CidrReservationDescription = name,\n CidrReservationCidr = \"10.0.10.0/24\",\n VswitchCidrReservationName = name,\n CidrReservationType = \"Prefix\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVSwitch, err := vpc.NewSwitch(ctx, \"defaultVSwitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/20\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v1\", name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewVswitchCidrReservation(ctx, \"default\", \u0026vpc.VswitchCidrReservationArgs{\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t\tVswitchId: defaultVSwitch.ID(),\n\t\t\tCidrReservationDescription: pulumi.String(name),\n\t\t\tCidrReservationCidr: pulumi.String(\"10.0.10.0/24\"),\n\t\t\tVswitchCidrReservationName: pulumi.String(name),\n\t\t\tCidrReservationType: pulumi.String(\"Prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.VswitchCidrReservation;\nimport com.pulumi.alicloud.vpc.VswitchCidrReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultVSwitch = new Switch(\"defaultVSwitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"10.0.0.0/20\")\n .vswitchName(String.format(\"%s1\", name))\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultVswitchCidrReservation = new VswitchCidrReservation(\"defaultVswitchCidrReservation\", VswitchCidrReservationArgs.builder()\n .ipVersion(\"IPv4\")\n .vswitchId(defaultVSwitch.id())\n .cidrReservationDescription(name)\n .cidrReservationCidr(\"10.0.10.0/24\")\n .vswitchCidrReservationName(name)\n .cidrReservationType(\"Prefix\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultVSwitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 10.0.0.0/20\n vswitchName: ${name}1\n zoneId: ${default.zones[0].id}\n defaultVswitchCidrReservation:\n type: alicloud:vpc:VswitchCidrReservation\n name: default\n properties:\n ipVersion: IPv4\n vswitchId: ${defaultVSwitch.id}\n cidrReservationDescription: ${name}\n cidrReservationCidr: 10.0.10.0/24\n vswitchCidrReservationName: ${name}\n cidrReservationType: Prefix\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVpc Vswitch Cidr Reservation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vswitchCidrReservation:VswitchCidrReservation example \u003cvswitch_id\u003e:\u003cvswitch_cidr_reservation_id\u003e\n```\n\n", + "description": "Provides a Vpc Vswitch Cidr Reservation resource. The reserved network segment of the vswitch. This resource type can be used only in ap-southeast region.\n\nFor information about Vpc Vswitch Cidr Reservation and how to use it, see [What is Vswitch Cidr Reservation](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/610154).\n\n\u003e **NOTE:** Available since v1.205.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultVpc = new alicloud.vpc.Network(\"defaultVpc\", {\n vpcName: name,\n cidrBlock: \"10.0.0.0/8\",\n});\nconst defaultVSwitch = new alicloud.vpc.Switch(\"defaultVSwitch\", {\n vpcId: defaultVpc.id,\n cidrBlock: \"10.0.0.0/20\",\n vswitchName: `${name}1`,\n zoneId: _default.then(_default =\u003e _default.zones?.[0]?.id),\n});\nconst defaultVswitchCidrReservation = new alicloud.vpc.VswitchCidrReservation(\"default\", {\n ipVersion: \"IPv4\",\n vswitchId: defaultVSwitch.id,\n cidrReservationDescription: name,\n cidrReservationCidr: \"10.0.10.0/24\",\n vswitchCidrReservationName: name,\n cidrReservationType: \"Prefix\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_vpc = alicloud.vpc.Network(\"defaultVpc\",\n vpc_name=name,\n cidr_block=\"10.0.0.0/8\")\ndefault_v_switch = alicloud.vpc.Switch(\"defaultVSwitch\",\n vpc_id=default_vpc.id,\n cidr_block=\"10.0.0.0/20\",\n vswitch_name=f\"{name}1\",\n zone_id=default.zones[0].id)\ndefault_vswitch_cidr_reservation = alicloud.vpc.VswitchCidrReservation(\"default\",\n ip_version=\"IPv4\",\n vswitch_id=default_v_switch.id,\n cidr_reservation_description=name,\n cidr_reservation_cidr=\"10.0.10.0/24\",\n vswitch_cidr_reservation_name=name,\n cidr_reservation_type=\"Prefix\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultVpc = new AliCloud.Vpc.Network(\"defaultVpc\", new()\n {\n VpcName = name,\n CidrBlock = \"10.0.0.0/8\",\n });\n\n var defaultVSwitch = new AliCloud.Vpc.Switch(\"defaultVSwitch\", new()\n {\n VpcId = defaultVpc.Id,\n CidrBlock = \"10.0.0.0/20\",\n VswitchName = $\"{name}1\",\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n });\n\n var defaultVswitchCidrReservation = new AliCloud.Vpc.VswitchCidrReservation(\"default\", new()\n {\n IpVersion = \"IPv4\",\n VswitchId = defaultVSwitch.Id,\n CidrReservationDescription = name,\n CidrReservationCidr = \"10.0.10.0/24\",\n VswitchCidrReservationName = name,\n CidrReservationType = \"Prefix\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVpc, err := vpc.NewNetwork(ctx, \"defaultVpc\", \u0026vpc.NetworkArgs{\n\t\t\tVpcName: pulumi.String(name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/8\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultVSwitch, err := vpc.NewSwitch(ctx, \"defaultVSwitch\", \u0026vpc.SwitchArgs{\n\t\t\tVpcId: defaultVpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/20\"),\n\t\t\tVswitchName: pulumi.Sprintf(\"%v1\", name),\n\t\t\tZoneId: pulumi.String(_default.Zones[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpc.NewVswitchCidrReservation(ctx, \"default\", \u0026vpc.VswitchCidrReservationArgs{\n\t\t\tIpVersion: pulumi.String(\"IPv4\"),\n\t\t\tVswitchId: defaultVSwitch.ID(),\n\t\t\tCidrReservationDescription: pulumi.String(name),\n\t\t\tCidrReservationCidr: pulumi.String(\"10.0.10.0/24\"),\n\t\t\tVswitchCidrReservationName: pulumi.String(name),\n\t\t\tCidrReservationType: pulumi.String(\"Prefix\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpc.VswitchCidrReservation;\nimport com.pulumi.alicloud.vpc.VswitchCidrReservationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n var defaultVpc = new Network(\"defaultVpc\", NetworkArgs.builder()\n .vpcName(name)\n .cidrBlock(\"10.0.0.0/8\")\n .build());\n\n var defaultVSwitch = new Switch(\"defaultVSwitch\", SwitchArgs.builder()\n .vpcId(defaultVpc.id())\n .cidrBlock(\"10.0.0.0/20\")\n .vswitchName(String.format(\"%s1\", name))\n .zoneId(default_.zones()[0].id())\n .build());\n\n var defaultVswitchCidrReservation = new VswitchCidrReservation(\"defaultVswitchCidrReservation\", VswitchCidrReservationArgs.builder()\n .ipVersion(\"IPv4\")\n .vswitchId(defaultVSwitch.id())\n .cidrReservationDescription(name)\n .cidrReservationCidr(\"10.0.10.0/24\")\n .vswitchCidrReservationName(name)\n .cidrReservationType(\"Prefix\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultVpc:\n type: alicloud:vpc:Network\n properties:\n vpcName: ${name}\n cidrBlock: 10.0.0.0/8\n defaultVSwitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${defaultVpc.id}\n cidrBlock: 10.0.0.0/20\n vswitchName: ${name}1\n zoneId: ${default.zones[0].id}\n defaultVswitchCidrReservation:\n type: alicloud:vpc:VswitchCidrReservation\n name: default\n properties:\n ipVersion: IPv4\n vswitchId: ${defaultVSwitch.id}\n cidrReservationDescription: ${name}\n cidrReservationCidr: 10.0.10.0/24\n vswitchCidrReservationName: ${name}\n cidrReservationType: Prefix\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVpc Vswitch Cidr Reservation can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpc/vswitchCidrReservation:VswitchCidrReservation example \u003cvswitch_id\u003e:\u003cvswitch_cidr_reservation_id\u003e\n```\n\n", "properties": { "cidrReservationCidr": { "type": "string", @@ -267630,7 +273496,7 @@ } }, "alicloud:vpn/connection:Connection": { - "description": "## Example Usage\n\nBasic Usage\n\n[IPsec-VPN connections support the dual-tunnel mode](https://www.alibabacloud.com/help/en/vpn/product-overview/ipsec-vpn-connections-support-the-dual-tunnel-mode)\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst spec = config.get(\"spec\") || \"5\";\nconst _default = alicloud.vpn.getGatewayZones({\n spec: \"5M\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"172.16.0.0/16\",\n vpcName: name,\n});\nconst default0 = new alicloud.vpc.Switch(\"default0\", {\n cidrBlock: \"172.16.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n cidrBlock: \"172.16.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[1]),\n});\nconst HA_VPN = new alicloud.vpn.Gateway(\"HA-VPN\", {\n vpnType: \"Normal\",\n disasterRecoveryVswitchId: default1.id,\n vpnGatewayName: name,\n vswitchId: default0.id,\n autoPay: true,\n vpcId: defaultNetwork.id,\n networkType: \"public\",\n paymentType: \"Subscription\",\n enableIpsec: true,\n bandwidth: spec,\n});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: HA_VPN.id,\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nspec = config.get(\"spec\")\nif spec is None:\n spec = \"5\"\ndefault = alicloud.vpn.get_gateway_zones(spec=\"5M\")\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"172.16.0.0/16\",\n vpc_name=name)\ndefault0 = alicloud.vpc.Switch(\"default0\",\n cidr_block=\"172.16.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.Switch(\"default1\",\n cidr_block=\"172.16.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[1])\nh_a__vpn = alicloud.vpn.Gateway(\"HA-VPN\",\n vpn_type=\"Normal\",\n disaster_recovery_vswitch_id=default1.id,\n vpn_gateway_name=name,\n vswitch_id=default0.id,\n auto_pay=True,\n vpc_id=default_network.id,\n network_type=\"public\",\n payment_type=\"Subscription\",\n enable_ipsec=True,\n bandwidth=spec)\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=h_a__vpn.id,\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var spec = config.Get(\"spec\") ?? \"5\";\n var @default = AliCloud.Vpn.GetGatewayZones.Invoke(new()\n {\n Spec = \"5M\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n VpcName = name,\n });\n\n var default0 = new AliCloud.Vpc.Switch(\"default0\", new()\n {\n CidrBlock = \"172.16.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getGatewayZonesResult =\u003e getGatewayZonesResult.Ids[0])),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n CidrBlock = \"172.16.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getGatewayZonesResult =\u003e getGatewayZonesResult.Ids[1])),\n });\n\n var HA_VPN = new AliCloud.Vpn.Gateway(\"HA-VPN\", new()\n {\n VpnType = \"Normal\",\n DisasterRecoveryVswitchId = default1.Id,\n VpnGatewayName = name,\n VswitchId = default0.Id,\n AutoPay = true,\n VpcId = defaultNetwork.Id,\n NetworkType = \"public\",\n PaymentType = \"Subscription\",\n EnableIpsec = true,\n Bandwidth = spec,\n });\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = HA_VPN.Id,\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tspec := \"5\"\n\t\tif param := cfg.Get(\"spec\"); param != \"\" {\n\t\t\tspec = param\n\t\t}\n\t\t_default, err := vpn.GetGatewayZones(ctx, \u0026vpn.GetGatewayZonesArgs{\n\t\t\tSpec: \"5M\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.NewSwitch(ctx, \"default0\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tHA_VPN, err := vpn.NewGateway(ctx, \"HA-VPN\", \u0026vpn.GatewayArgs{\n\t\t\tVpnType: pulumi.String(\"Normal\"),\n\t\t\tDisasterRecoveryVswitchId: default1.ID(),\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVswitchId: default0.ID(),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tEnableIpsec: pulumi.Bool(true),\n\t\t\tBandwidth: pulumi.String(spec),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: HA_VPN.ID(),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewayZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var spec = config.get(\"spec\").orElse(\"5\");\n final var default = VpnFunctions.getGatewayZones(GetGatewayZonesArgs.builder()\n .spec(\"5M\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .vpcName(name)\n .build());\n\n var default0 = new Switch(\"default0\", SwitchArgs.builder()\n .cidrBlock(\"172.16.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[0])\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .cidrBlock(\"172.16.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[1])\n .build());\n\n var hA_VPN = new Gateway(\"HA-VPN\", GatewayArgs.builder()\n .vpnType(\"Normal\")\n .disasterRecoveryVswitchId(default1.id())\n .vpnGatewayName(name)\n .vswitchId(default0.id())\n .autoPay(true)\n .vpcId(defaultNetwork.id())\n .networkType(\"public\")\n .paymentType(\"Subscription\")\n .enableIpsec(true)\n .bandwidth(spec)\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(HA_VPN.id())\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n spec:\n type: string\n default: '5'\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 172.16.0.0/16\n vpcName: ${name}\n default0:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 172.16.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[0]}\n default1:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 172.16.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[1]}\n HA-VPN:\n type: alicloud:vpn:Gateway\n properties:\n vpnType: Normal\n disasterRecoveryVswitchId: ${default1.id}\n vpnGatewayName: ${name}\n vswitchId: ${default0.id}\n autoPay: true\n vpcId: ${defaultNetwork.id}\n networkType: public\n paymentType: Subscription\n enableIpsec: true\n bandwidth: ${spec}\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${[\"HA-VPN\"].id}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGatewayZones\n arguments:\n spec: 5M\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/connection:Connection example \u003cid\u003e\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n[IPsec-VPN connections support the dual-tunnel mode](https://www.alibabacloud.com/help/en/vpn/product-overview/ipsec-vpn-connections-support-the-dual-tunnel-mode)\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst spec = config.get(\"spec\") || \"5\";\nconst _default = alicloud.vpn.getGatewayZones({\n spec: \"5M\",\n});\nconst defaultNetwork = new alicloud.vpc.Network(\"default\", {\n cidrBlock: \"172.16.0.0/16\",\n vpcName: name,\n});\nconst default0 = new alicloud.vpc.Switch(\"default0\", {\n cidrBlock: \"172.16.0.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[0]),\n});\nconst default1 = new alicloud.vpc.Switch(\"default1\", {\n cidrBlock: \"172.16.1.0/24\",\n vpcId: defaultNetwork.id,\n zoneId: _default.then(_default =\u003e _default.ids?.[1]),\n});\nconst HA_VPN = new alicloud.vpn.Gateway(\"HA-VPN\", {\n vpnType: \"Normal\",\n disasterRecoveryVswitchId: default1.id,\n vpnGatewayName: name,\n vswitchId: default0.id,\n autoPay: true,\n vpcId: defaultNetwork.id,\n networkType: \"public\",\n paymentType: \"Subscription\",\n enableIpsec: true,\n bandwidth: spec,\n});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: HA_VPN.id,\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nspec = config.get(\"spec\")\nif spec is None:\n spec = \"5\"\ndefault = alicloud.vpn.get_gateway_zones(spec=\"5M\")\ndefault_network = alicloud.vpc.Network(\"default\",\n cidr_block=\"172.16.0.0/16\",\n vpc_name=name)\ndefault0 = alicloud.vpc.Switch(\"default0\",\n cidr_block=\"172.16.0.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.Switch(\"default1\",\n cidr_block=\"172.16.1.0/24\",\n vpc_id=default_network.id,\n zone_id=default.ids[1])\nh_a__vpn = alicloud.vpn.Gateway(\"HA-VPN\",\n vpn_type=\"Normal\",\n disaster_recovery_vswitch_id=default1.id,\n vpn_gateway_name=name,\n vswitch_id=default0.id,\n auto_pay=True,\n vpc_id=default_network.id,\n network_type=\"public\",\n payment_type=\"Subscription\",\n enable_ipsec=True,\n bandwidth=spec)\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=h_a__vpn.id,\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var spec = config.Get(\"spec\") ?? \"5\";\n var @default = AliCloud.Vpn.GetGatewayZones.Invoke(new()\n {\n Spec = \"5M\",\n });\n\n var defaultNetwork = new AliCloud.Vpc.Network(\"default\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n VpcName = name,\n });\n\n var default0 = new AliCloud.Vpc.Switch(\"default0\", new()\n {\n CidrBlock = \"172.16.0.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getGatewayZonesResult =\u003e getGatewayZonesResult.Ids[0])),\n });\n\n var default1 = new AliCloud.Vpc.Switch(\"default1\", new()\n {\n CidrBlock = \"172.16.1.0/24\",\n VpcId = defaultNetwork.Id,\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getGatewayZonesResult =\u003e getGatewayZonesResult.Ids[1])),\n });\n\n var HA_VPN = new AliCloud.Vpn.Gateway(\"HA-VPN\", new()\n {\n VpnType = \"Normal\",\n DisasterRecoveryVswitchId = default1.Id,\n VpnGatewayName = name,\n VswitchId = default0.Id,\n AutoPay = true,\n VpcId = defaultNetwork.Id,\n NetworkType = \"public\",\n PaymentType = \"Subscription\",\n EnableIpsec = true,\n Bandwidth = spec,\n });\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = HA_VPN.Id,\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tspec := \"5\"\n\t\tif param := cfg.Get(\"spec\"); param != \"\" {\n\t\t\tspec = param\n\t\t}\n\t\t_default, err := vpn.GetGatewayZones(ctx, \u0026vpn.GetGatewayZonesArgs{\n\t\t\tSpec: \"5M\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultNetwork, err := vpc.NewNetwork(ctx, \"default\", \u0026vpc.NetworkArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tVpcName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.NewSwitch(ctx, \"default0\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.NewSwitch(ctx, \"default1\", \u0026vpc.SwitchArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tZoneId: pulumi.String(_default.Ids[1]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tHA_VPN, err := vpn.NewGateway(ctx, \"HA-VPN\", \u0026vpn.GatewayArgs{\n\t\t\tVpnType: pulumi.String(\"Normal\"),\n\t\t\tDisasterRecoveryVswitchId: default1.ID(),\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVswitchId: default0.ID(),\n\t\t\tAutoPay: pulumi.Bool(true),\n\t\t\tVpcId: defaultNetwork.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tEnableIpsec: pulumi.Bool(true),\n\t\t\tBandwidth: pulumi.String(spec),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: HA_VPN.ID(),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewayZonesArgs;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var spec = config.get(\"spec\").orElse(\"5\");\n final var default = VpnFunctions.getGatewayZones(GetGatewayZonesArgs.builder()\n .spec(\"5M\")\n .build());\n\n var defaultNetwork = new Network(\"defaultNetwork\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/16\")\n .vpcName(name)\n .build());\n\n var default0 = new Switch(\"default0\", SwitchArgs.builder()\n .cidrBlock(\"172.16.0.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[0])\n .build());\n\n var default1 = new Switch(\"default1\", SwitchArgs.builder()\n .cidrBlock(\"172.16.1.0/24\")\n .vpcId(defaultNetwork.id())\n .zoneId(default_.ids()[1])\n .build());\n\n var hA_VPN = new Gateway(\"HA-VPN\", GatewayArgs.builder()\n .vpnType(\"Normal\")\n .disasterRecoveryVswitchId(default1.id())\n .vpnGatewayName(name)\n .vswitchId(default0.id())\n .autoPay(true)\n .vpcId(defaultNetwork.id())\n .networkType(\"public\")\n .paymentType(\"Subscription\")\n .enableIpsec(true)\n .bandwidth(spec)\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(HA_VPN.id())\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n spec:\n type: string\n default: '5'\nresources:\n defaultNetwork:\n type: alicloud:vpc:Network\n name: default\n properties:\n cidrBlock: 172.16.0.0/16\n vpcName: ${name}\n default0:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 172.16.0.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[0]}\n default1:\n type: alicloud:vpc:Switch\n properties:\n cidrBlock: 172.16.1.0/24\n vpcId: ${defaultNetwork.id}\n zoneId: ${default.ids[1]}\n HA-VPN:\n type: alicloud:vpn:Gateway\n properties:\n vpnType: Normal\n disasterRecoveryVswitchId: ${default1.id}\n vpnGatewayName: ${name}\n vswitchId: ${default0.id}\n autoPay: true\n vpcId: ${defaultNetwork.id}\n networkType: public\n paymentType: Subscription\n enableIpsec: true\n bandwidth: ${spec}\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${[\"HA-VPN\"].id}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGatewayZones\n arguments:\n spec: 5M\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN connection can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/connection:Connection example \u003cid\u003e\n```\n\n", "properties": { "autoConfigRoute": { "type": "boolean", @@ -267948,7 +273814,7 @@ } }, "alicloud:vpn/customerGateway:CustomerGateway": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpn.CustomerGateway(\"default\", {\n description: name,\n ipAddress: \"4.3.2.10\",\n asn: \"1219002\",\n customerGatewayName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.CustomerGateway(\"default\",\n description=name,\n ip_address=\"4.3.2.10\",\n asn=\"1219002\",\n customer_gateway_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n Description = name,\n IpAddress = \"4.3.2.10\",\n Asn = \"1219002\",\n CustomerGatewayName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"4.3.2.10\"),\n\t\t\tAsn: pulumi.String(\"1219002\"),\n\t\t\tCustomerGatewayName: pulumi.String(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.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CustomerGateway(\"default\", CustomerGatewayArgs.builder()\n .description(name)\n .ipAddress(\"4.3.2.10\")\n .asn(\"1219002\")\n .customerGatewayName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: ${name}\n ipAddress: 4.3.2.10\n asn: '1219002'\n customerGatewayName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN customer gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/customerGateway:CustomerGateway example \u003cid\u003e\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.vpn.CustomerGateway(\"default\", {\n description: name,\n ipAddress: \"4.3.2.10\",\n asn: \"1219002\",\n customerGatewayName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.CustomerGateway(\"default\",\n description=name,\n ip_address=\"4.3.2.10\",\n asn=\"1219002\",\n customer_gateway_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n Description = name,\n IpAddress = \"4.3.2.10\",\n Asn = \"1219002\",\n CustomerGatewayName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"4.3.2.10\"),\n\t\t\tAsn: pulumi.String(\"1219002\"),\n\t\t\tCustomerGatewayName: pulumi.String(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.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new CustomerGateway(\"default\", CustomerGatewayArgs.builder()\n .description(name)\n .ipAddress(\"4.3.2.10\")\n .asn(\"1219002\")\n .customerGatewayName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: ${name}\n ipAddress: 4.3.2.10\n asn: '1219002'\n customerGatewayName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN customer gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/customerGateway:CustomerGateway example \u003cid\u003e\n```\n\n", "properties": { "asn": { "type": "string", @@ -268410,7 +274276,7 @@ } }, "alicloud:vpn/gatewayVcoRoute:GatewayVcoRoute": { - "description": "Provides a VPN Gateway Vco Route resource.\n\nFor information about VPN Gateway Vco Route and how to use it, see [What is Vco Route](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvcorouteentry).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultInstance.id,\n transitRouterDescription: name,\n transitRouterName: name,\n});\nconst defaultTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: name,\n description: name,\n publishCidrRoute: true,\n});\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"default\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n customerGatewayId: defaultCustomerGateway.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-examplevpn2\",\n ikePfs: \"group1\",\n remoteId: \"testbob2\",\n localId: \"testalice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\nconst defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"default\", {\n autoPublishRouteEnabled: false,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n cenId: defaultTransitRouter.cenId,\n transitRouterId: defaultTransitRouterCidr.transitRouterId,\n vpnId: defaultGatewayVpnAttachment.id,\n zones: [{\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]),\n }],\n});\nconst defaultGatewayVcoRoute = new alicloud.vpn.GatewayVcoRoute(\"default\", {\n nextHop: defaultTransitRouterVpnAttachment.vpnId,\n vpnConnectionId: defaultTransitRouterVpnAttachment.vpnId,\n weight: 100,\n routeDest: \"192.168.10.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_instance = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_instance.id,\n transit_router_description=name,\n transit_router_name=name)\ndefault_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=name,\n description=name,\n publish_cidr_route=True)\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"default\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n customer_gateway_id=default_customer_gateway.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-examplevpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"testbob2\",\n \"local_id\": \"testalice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\ndefault_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"default\",\n auto_publish_route_enabled=False,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name,\n cen_id=default_transit_router.cen_id,\n transit_router_id=default_transit_router_cidr.transit_router_id,\n vpn_id=default_gateway_vpn_attachment.id,\n zones=[{\n \"zone_id\": default.resources[0].master_zones[0],\n }])\ndefault_gateway_vco_route = alicloud.vpn.GatewayVcoRoute(\"default\",\n next_hop=default_transit_router_vpn_attachment.vpn_id,\n vpn_connection_id=default_transit_router_vpn_attachment.vpn_id,\n weight=100,\n route_dest=\"192.168.10.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterDescription = name,\n TransitRouterName = name,\n });\n\n var defaultTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = name,\n Description = name,\n PublishCidrRoute = true,\n });\n\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n CustomerGatewayId = defaultCustomerGateway.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-examplevpn2\",\n IkePfs = \"group1\",\n RemoteId = \"testbob2\",\n LocalId = \"testalice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"default\", new()\n {\n AutoPublishRouteEnabled = false,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n CenId = defaultTransitRouter.CenId,\n TransitRouterId = defaultTransitRouterCidr.TransitRouterId,\n VpnId = defaultGatewayVpnAttachment.Id,\n Zones = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpnAttachmentZoneArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0])),\n },\n },\n });\n\n var defaultGatewayVcoRoute = new AliCloud.Vpn.GatewayVcoRoute(\"default\", new()\n {\n NextHop = defaultTransitRouterVpnAttachment.VpnId,\n VpnConnectionId = defaultTransitRouterVpnAttachment.VpnId,\n Weight = 100,\n RouteDest = \"192.168.10.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tTransitRouterDescription: pulumi.String(name),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterCidr, err := cen.NewTransitRouterCidr(ctx, \"default\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublishCidrRoute: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-examplevpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"testbob2\"),\n\t\t\t\tLocalId: pulumi.String(\"testalice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, \"default\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tCenId: defaultTransitRouter.CenId,\n\t\t\tTransitRouterId: defaultTransitRouterCidr.TransitRouterId,\n\t\t\tVpnId: defaultGatewayVpnAttachment.ID(),\n\t\t\tZones: cen.TransitRouterVpnAttachmentZoneArray{\n\t\t\t\t\u0026cen.TransitRouterVpnAttachmentZoneArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[0]),\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 = vpn.NewGatewayVcoRoute(ctx, \"default\", \u0026vpn.GatewayVcoRouteArgs{\n\t\t\tNextHop: defaultTransitRouterVpnAttachment.VpnId,\n\t\t\tVpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,\n\t\t\tWeight: pulumi.Int(100),\n\t\t\tRouteDest: pulumi.String(\"192.168.10.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpnAttachmentZoneArgs;\nimport com.pulumi.alicloud.vpn.GatewayVcoRoute;\nimport com.pulumi.alicloud.vpn.GatewayVcoRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterDescription(name)\n .transitRouterName(name)\n .build());\n\n var defaultTransitRouterCidr = new TransitRouterCidr(\"defaultTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(name)\n .description(name)\n .publishCidrRoute(true)\n .build());\n\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(defaultCustomerGateway.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-examplevpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"testbob2\")\n .localId(\"testalice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"defaultTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .autoPublishRouteEnabled(false)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .cenId(defaultTransitRouter.cenId())\n .transitRouterId(defaultTransitRouterCidr.transitRouterId())\n .vpnId(defaultGatewayVpnAttachment.id())\n .zones(TransitRouterVpnAttachmentZoneArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[0])\n .build())\n .build());\n\n var defaultGatewayVcoRoute = new GatewayVcoRoute(\"defaultGatewayVcoRoute\", GatewayVcoRouteArgs.builder()\n .nextHop(defaultTransitRouterVpnAttachment.vpnId())\n .vpnConnectionId(defaultTransitRouterVpnAttachment.vpnId())\n .weight(100)\n .routeDest(\"192.168.10.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterDescription: ${name}\n transitRouterName: ${name}\n defaultTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: ${name}\n description: ${name}\n publishCidrRoute: true\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n name: default\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n customerGatewayId: ${defaultCustomerGateway.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-examplevpn2\n ikePfs: group1\n remoteId: testbob2\n localId: testalice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n defaultTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: default\n properties:\n autoPublishRouteEnabled: false\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n cenId: ${defaultTransitRouter.cenId}\n transitRouterId: ${defaultTransitRouterCidr.transitRouterId}\n vpnId: ${defaultGatewayVpnAttachment.id}\n zones:\n - zoneId: ${default.resources[0].masterZones[0]}\n defaultGatewayVcoRoute:\n type: alicloud:vpn:GatewayVcoRoute\n name: default\n properties:\n nextHop: ${defaultTransitRouterVpnAttachment.vpnId}\n vpnConnectionId: ${defaultTransitRouterVpnAttachment.vpnId}\n weight: '100'\n routeDest: 192.168.10.0/24\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Gateway Vco Route can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/gatewayVcoRoute:GatewayVcoRoute example \u003cvpn_connection_id\u003e:\u003croute_dest\u003e:\u003cnext_hop\u003e:\u003cweight\u003e\n```\n\n", + "description": "Provides a VPN Gateway Vco Route resource.\n\nFor information about VPN Gateway Vco Route and how to use it, see [What is Vco Route](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvcorouteentry).\n\n\u003e **NOTE:** Available since v1.183.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst defaultInstance = new alicloud.cen.Instance(\"default\", {cenInstanceName: name});\nconst defaultTransitRouter = new alicloud.cen.TransitRouter(\"default\", {\n cenId: defaultInstance.id,\n transitRouterDescription: name,\n transitRouterName: name,\n});\nconst defaultTransitRouterCidr = new alicloud.cen.TransitRouterCidr(\"default\", {\n transitRouterId: defaultTransitRouter.transitRouterId,\n cidr: \"192.168.0.0/16\",\n transitRouterCidrName: name,\n description: name,\n publishCidrRoute: true,\n});\nconst _default = alicloud.cen.getTransitRouterAvailableResources({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"default\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n customerGatewayId: defaultCustomerGateway.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-examplevpn2\",\n ikePfs: \"group1\",\n remoteId: \"testbob2\",\n localId: \"testalice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\nconst defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment(\"default\", {\n autoPublishRouteEnabled: false,\n transitRouterAttachmentDescription: name,\n transitRouterAttachmentName: name,\n cenId: defaultTransitRouter.cenId,\n transitRouterId: defaultTransitRouterCidr.transitRouterId,\n vpnId: defaultGatewayVpnAttachment.id,\n zones: [{\n zoneId: _default.then(_default =\u003e _default.resources?.[0]?.masterZones?.[0]),\n }],\n});\nconst defaultGatewayVcoRoute = new alicloud.vpn.GatewayVcoRoute(\"default\", {\n nextHop: defaultTransitRouterVpnAttachment.vpnId,\n vpnConnectionId: defaultTransitRouterVpnAttachment.vpnId,\n weight: 100,\n routeDest: \"192.168.10.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault_instance = alicloud.cen.Instance(\"default\", cen_instance_name=name)\ndefault_transit_router = alicloud.cen.TransitRouter(\"default\",\n cen_id=default_instance.id,\n transit_router_description=name,\n transit_router_name=name)\ndefault_transit_router_cidr = alicloud.cen.TransitRouterCidr(\"default\",\n transit_router_id=default_transit_router.transit_router_id,\n cidr=\"192.168.0.0/16\",\n transit_router_cidr_name=name,\n description=name,\n publish_cidr_route=True)\ndefault = alicloud.cen.get_transit_router_available_resources()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"default\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n customer_gateway_id=default_customer_gateway.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-examplevpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"testbob2\",\n \"local_id\": \"testalice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\ndefault_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment(\"default\",\n auto_publish_route_enabled=False,\n transit_router_attachment_description=name,\n transit_router_attachment_name=name,\n cen_id=default_transit_router.cen_id,\n transit_router_id=default_transit_router_cidr.transit_router_id,\n vpn_id=default_gateway_vpn_attachment.id,\n zones=[{\n \"zone_id\": default.resources[0].master_zones[0],\n }])\ndefault_gateway_vco_route = alicloud.vpn.GatewayVcoRoute(\"default\",\n next_hop=default_transit_router_vpn_attachment.vpn_id,\n vpn_connection_id=default_transit_router_vpn_attachment.vpn_id,\n weight=100,\n route_dest=\"192.168.10.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var defaultInstance = new AliCloud.Cen.Instance(\"default\", new()\n {\n CenInstanceName = name,\n });\n\n var defaultTransitRouter = new AliCloud.Cen.TransitRouter(\"default\", new()\n {\n CenId = defaultInstance.Id,\n TransitRouterDescription = name,\n TransitRouterName = name,\n });\n\n var defaultTransitRouterCidr = new AliCloud.Cen.TransitRouterCidr(\"default\", new()\n {\n TransitRouterId = defaultTransitRouter.TransitRouterId,\n Cidr = \"192.168.0.0/16\",\n TransitRouterCidrName = name,\n Description = name,\n PublishCidrRoute = true,\n });\n\n var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n CustomerGatewayId = defaultCustomerGateway.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-examplevpn2\",\n IkePfs = \"group1\",\n RemoteId = \"testbob2\",\n LocalId = \"testalice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment(\"default\", new()\n {\n AutoPublishRouteEnabled = false,\n TransitRouterAttachmentDescription = name,\n TransitRouterAttachmentName = name,\n CenId = defaultTransitRouter.CenId,\n TransitRouterId = defaultTransitRouterCidr.TransitRouterId,\n VpnId = defaultGatewayVpnAttachment.Id,\n Zones = new[]\n {\n new AliCloud.Cen.Inputs.TransitRouterVpnAttachmentZoneArgs\n {\n ZoneId = @default.Apply(@default =\u003e @default.Apply(getTransitRouterAvailableResourcesResult =\u003e getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0])),\n },\n },\n });\n\n var defaultGatewayVcoRoute = new AliCloud.Vpn.GatewayVcoRoute(\"default\", new()\n {\n NextHop = defaultTransitRouterVpnAttachment.VpnId,\n VpnConnectionId = defaultTransitRouterVpnAttachment.VpnId,\n Weight = 100,\n RouteDest = \"192.168.10.0/24\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tdefaultInstance, err := cen.NewInstance(ctx, \"default\", \u0026cen.InstanceArgs{\n\t\t\tCenInstanceName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouter, err := cen.NewTransitRouter(ctx, \"default\", \u0026cen.TransitRouterArgs{\n\t\t\tCenId: defaultInstance.ID(),\n\t\t\tTransitRouterDescription: pulumi.String(name),\n\t\t\tTransitRouterName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterCidr, err := cen.NewTransitRouterCidr(ctx, \"default\", \u0026cen.TransitRouterCidrArgs{\n\t\t\tTransitRouterId: defaultTransitRouter.TransitRouterId,\n\t\t\tCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tTransitRouterCidrName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPublishCidrRoute: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := cen.GetTransitRouterAvailableResources(ctx, \u0026cen.GetTransitRouterAvailableResourcesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-examplevpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"testbob2\"),\n\t\t\t\tLocalId: pulumi.String(\"testalice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, \"default\", \u0026cen.TransitRouterVpnAttachmentArgs{\n\t\t\tAutoPublishRouteEnabled: pulumi.Bool(false),\n\t\t\tTransitRouterAttachmentDescription: pulumi.String(name),\n\t\t\tTransitRouterAttachmentName: pulumi.String(name),\n\t\t\tCenId: defaultTransitRouter.CenId,\n\t\t\tTransitRouterId: defaultTransitRouterCidr.TransitRouterId,\n\t\t\tVpnId: defaultGatewayVpnAttachment.ID(),\n\t\t\tZones: cen.TransitRouterVpnAttachmentZoneArray{\n\t\t\t\t\u0026cen.TransitRouterVpnAttachmentZoneArgs{\n\t\t\t\t\tZoneId: pulumi.String(_default.Resources[0].MasterZones[0]),\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 = vpn.NewGatewayVcoRoute(ctx, \"default\", \u0026vpn.GatewayVcoRouteArgs{\n\t\t\tNextHop: defaultTransitRouterVpnAttachment.VpnId,\n\t\t\tVpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,\n\t\t\tWeight: pulumi.Int(100),\n\t\t\tRouteDest: pulumi.String(\"192.168.10.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.cen.Instance;\nimport com.pulumi.alicloud.cen.InstanceArgs;\nimport com.pulumi.alicloud.cen.TransitRouter;\nimport com.pulumi.alicloud.cen.TransitRouterArgs;\nimport com.pulumi.alicloud.cen.TransitRouterCidr;\nimport com.pulumi.alicloud.cen.TransitRouterCidrArgs;\nimport com.pulumi.alicloud.cen.CenFunctions;\nimport com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachment;\nimport com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;\nimport com.pulumi.alicloud.cen.inputs.TransitRouterVpnAttachmentZoneArgs;\nimport com.pulumi.alicloud.vpn.GatewayVcoRoute;\nimport com.pulumi.alicloud.vpn.GatewayVcoRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .cenInstanceName(name)\n .build());\n\n var defaultTransitRouter = new TransitRouter(\"defaultTransitRouter\", TransitRouterArgs.builder()\n .cenId(defaultInstance.id())\n .transitRouterDescription(name)\n .transitRouterName(name)\n .build());\n\n var defaultTransitRouterCidr = new TransitRouterCidr(\"defaultTransitRouterCidr\", TransitRouterCidrArgs.builder()\n .transitRouterId(defaultTransitRouter.transitRouterId())\n .cidr(\"192.168.0.0/16\")\n .transitRouterCidrName(name)\n .description(name)\n .publishCidrRoute(true)\n .build());\n\n final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(defaultCustomerGateway.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-examplevpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"testbob2\")\n .localId(\"testalice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment(\"defaultTransitRouterVpnAttachment\", TransitRouterVpnAttachmentArgs.builder()\n .autoPublishRouteEnabled(false)\n .transitRouterAttachmentDescription(name)\n .transitRouterAttachmentName(name)\n .cenId(defaultTransitRouter.cenId())\n .transitRouterId(defaultTransitRouterCidr.transitRouterId())\n .vpnId(defaultGatewayVpnAttachment.id())\n .zones(TransitRouterVpnAttachmentZoneArgs.builder()\n .zoneId(default_.resources()[0].masterZones()[0])\n .build())\n .build());\n\n var defaultGatewayVcoRoute = new GatewayVcoRoute(\"defaultGatewayVcoRoute\", GatewayVcoRouteArgs.builder()\n .nextHop(defaultTransitRouterVpnAttachment.vpnId())\n .vpnConnectionId(defaultTransitRouterVpnAttachment.vpnId())\n .weight(100)\n .routeDest(\"192.168.10.0/24\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n defaultInstance:\n type: alicloud:cen:Instance\n name: default\n properties:\n cenInstanceName: ${name}\n defaultTransitRouter:\n type: alicloud:cen:TransitRouter\n name: default\n properties:\n cenId: ${defaultInstance.id}\n transitRouterDescription: ${name}\n transitRouterName: ${name}\n defaultTransitRouterCidr:\n type: alicloud:cen:TransitRouterCidr\n name: default\n properties:\n transitRouterId: ${defaultTransitRouter.transitRouterId}\n cidr: 192.168.0.0/16\n transitRouterCidrName: ${name}\n description: ${name}\n publishCidrRoute: true\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n name: default\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n customerGatewayId: ${defaultCustomerGateway.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-examplevpn2\n ikePfs: group1\n remoteId: testbob2\n localId: testalice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n defaultTransitRouterVpnAttachment:\n type: alicloud:cen:TransitRouterVpnAttachment\n name: default\n properties:\n autoPublishRouteEnabled: false\n transitRouterAttachmentDescription: ${name}\n transitRouterAttachmentName: ${name}\n cenId: ${defaultTransitRouter.cenId}\n transitRouterId: ${defaultTransitRouterCidr.transitRouterId}\n vpnId: ${defaultGatewayVpnAttachment.id}\n zones:\n - zoneId: ${default.resources[0].masterZones[0]}\n defaultGatewayVcoRoute:\n type: alicloud:vpn:GatewayVcoRoute\n name: default\n properties:\n nextHop: ${defaultTransitRouterVpnAttachment.vpnId}\n vpnConnectionId: ${defaultTransitRouterVpnAttachment.vpnId}\n weight: '100'\n routeDest: 192.168.10.0/24\nvariables:\n default:\n fn::invoke:\n function: alicloud:cen:getTransitRouterAvailableResources\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN Gateway Vco Route can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/gatewayVcoRoute:GatewayVcoRoute example \u003cvpn_connection_id\u003e:\u003croute_dest\u003e:\u003cnext_hop\u003e:\u003cweight\u003e\n```\n\n", "properties": { "nextHop": { "type": "string", @@ -268514,7 +274380,7 @@ } }, "alicloud:vpn/gatewayVpnAttachment:GatewayVpnAttachment": { - "description": "Provides a VPN Gateway Vpn Attachment resource.\n\nVpnAttachment has been upgraded to dual-tunnel mode. When you create a VpnAttachment in dual tunnel mode, you can configure the following request parameters in addition to the required parameters: vpn_attachment_name, network_type, effectImmediately, tags array, resource_group_id,\u003cspan pulumi-lang-nodejs=\" tunnelOptionsSpecification \" pulumi-lang-dotnet=\" TunnelOptionsSpecification \" pulumi-lang-go=\" tunnelOptionsSpecification \" pulumi-lang-python=\" tunnel_options_specification \" pulumi-lang-yaml=\" tunnelOptionsSpecification \" pulumi-lang-java=\" tunnelOptionsSpecification \"\u003e tunnel_options_specification \u003c/span\u003earray, and enable_tunnels_bgp.\n\nFor information about VPN Gateway Vpn Attachment and how to use it, see [What is Vpn Attachment](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvpnattachment).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.vpn.CustomerGateway(\"default\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n customerGatewayId: _default.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-testvpn2\",\n ikePfs: \"group1\",\n remoteId: \"testbob2\",\n localId: \"testalice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpn.CustomerGateway(\"default\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n customer_gateway_id=default.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-testvpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"testbob2\",\n \"local_id\": \"testalice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n CustomerGatewayId = @default.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-testvpn2\",\n IkePfs = \"group1\",\n RemoteId = \"testbob2\",\n LocalId = \"testalice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: _default.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-testvpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"testbob2\"),\n\t\t\t\tLocalId: pulumi.String(\"testalice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(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.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new CustomerGateway(\"default\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(default_.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-testvpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"testbob2\")\n .localId(\"testalice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:vpn:CustomerGateway\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n customerGatewayId: ${default.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-testvpn2\n ikePfs: group1\n remoteId: testbob2\n localId: testalice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDual Tunnel Mode Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst cgw1 = new alicloud.vpn.CustomerGateway(\"cgw1\", {\n ipAddress: \"2.2.2.2\",\n asn: \"1219001\",\n});\nconst cgw2 = new alicloud.vpn.CustomerGateway(\"cgw2\", {\n ipAddress: \"43.43.3.22\",\n asn: \"44331\",\n customerGatewayName: \"example_amp\",\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n localSubnet: \"0.0.0.0/0\",\n enableTunnelsBgp: true,\n vpnAttachmentName: \"tfaccvpngateway25800\",\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecLifetime: 86200,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes\",\n },\n customerGatewayId: cgw1.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 1,\n tunnelBgpConfig: {\n localAsn: 1219001,\n localBgpIp: \"169.254.10.1\",\n tunnelCidr: \"169.254.10.0/30\",\n },\n tunnelIkeConfig: {\n ikeMode: \"main\",\n ikeVersion: \"ikev1\",\n psk: \"12345678\",\n remoteId: \"2.2.2.2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n ikeLifetime: 86100,\n ikePfs: \"group2\",\n localId: \"1.1.1.1\",\n },\n },\n {\n tunnelIpsecConfig: {\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86400,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"sha256\",\n },\n customerGatewayId: cgw1.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 2,\n tunnelBgpConfig: {\n localAsn: 1219001,\n localBgpIp: \"169.254.20.1\",\n tunnelCidr: \"169.254.20.0/30\",\n },\n tunnelIkeConfig: {\n localId: \"4.4.4.4\",\n remoteId: \"5.5.5.5\",\n ikeLifetime: 86400,\n ikeMode: \"main\",\n ikePfs: \"group5\",\n ikeVersion: \"ikev2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n psk: \"32333442\",\n },\n },\n ],\n remoteSubnet: \"0.0.0.0/0\",\n networkType: \"public\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncgw1 = alicloud.vpn.CustomerGateway(\"cgw1\",\n ip_address=\"2.2.2.2\",\n asn=\"1219001\")\ncgw2 = alicloud.vpn.CustomerGateway(\"cgw2\",\n ip_address=\"43.43.3.22\",\n asn=\"44331\",\n customer_gateway_name=\"example_amp\")\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n local_subnet=\"0.0.0.0/0\",\n enable_tunnels_bgp=True,\n vpn_attachment_name=\"tfaccvpngateway25800\",\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 86200,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes\",\n },\n \"customer_gateway_id\": cgw1.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 1,\n \"tunnel_bgp_config\": {\n \"local_asn\": 1219001,\n \"local_bgp_ip\": \"169.254.10.1\",\n \"tunnel_cidr\": \"169.254.10.0/30\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev1\",\n \"psk\": \"12345678\",\n \"remote_id\": \"2.2.2.2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n \"ike_lifetime\": 86100,\n \"ike_pfs\": \"group2\",\n \"local_id\": \"1.1.1.1\",\n },\n },\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86400,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"sha256\",\n },\n \"customer_gateway_id\": cgw1.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 2,\n \"tunnel_bgp_config\": {\n \"local_asn\": 1219001,\n \"local_bgp_ip\": \"169.254.20.1\",\n \"tunnel_cidr\": \"169.254.20.0/30\",\n },\n \"tunnel_ike_config\": {\n \"local_id\": \"4.4.4.4\",\n \"remote_id\": \"5.5.5.5\",\n \"ike_lifetime\": 86400,\n \"ike_mode\": \"main\",\n \"ike_pfs\": \"group5\",\n \"ike_version\": \"ikev2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n \"psk\": \"32333442\",\n },\n },\n ],\n remote_subnet=\"0.0.0.0/0\",\n network_type=\"public\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var cgw1 = new AliCloud.Vpn.CustomerGateway(\"cgw1\", new()\n {\n IpAddress = \"2.2.2.2\",\n Asn = \"1219001\",\n });\n\n var cgw2 = new AliCloud.Vpn.CustomerGateway(\"cgw2\", new()\n {\n IpAddress = \"43.43.3.22\",\n Asn = \"44331\",\n CustomerGatewayName = \"example_amp\",\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n LocalSubnet = \"0.0.0.0/0\",\n EnableTunnelsBgp = true,\n VpnAttachmentName = \"tfaccvpngateway25800\",\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 86200,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes\",\n },\n CustomerGatewayId = cgw1.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 1,\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = 1219001,\n LocalBgpIp = \"169.254.10.1\",\n TunnelCidr = \"169.254.10.0/30\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"main\",\n IkeVersion = \"ikev1\",\n Psk = \"12345678\",\n RemoteId = \"2.2.2.2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n IkeLifetime = 86100,\n IkePfs = \"group2\",\n LocalId = \"1.1.1.1\",\n },\n },\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86400,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"sha256\",\n },\n CustomerGatewayId = cgw1.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 2,\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = 1219001,\n LocalBgpIp = \"169.254.20.1\",\n TunnelCidr = \"169.254.20.0/30\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n LocalId = \"4.4.4.4\",\n RemoteId = \"5.5.5.5\",\n IkeLifetime = 86400,\n IkeMode = \"main\",\n IkePfs = \"group5\",\n IkeVersion = \"ikev2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n Psk = \"32333442\",\n },\n },\n },\n RemoteSubnet = \"0.0.0.0/0\",\n NetworkType = \"public\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcgw1, err := vpn.NewCustomerGateway(ctx, \"cgw1\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"2.2.2.2\"),\n\t\t\tAsn: pulumi.String(\"1219001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"cgw2\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"43.43.3.22\"),\n\t\t\tAsn: pulumi.String(\"44331\"),\n\t\t\tCustomerGatewayName: pulumi.String(\"example_amp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(\"tfaccvpngateway25800\"),\n\t\t\tTunnelOptionsSpecifications: vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86200),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: cgw1.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(1),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.Int(1219001),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.10.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.10.0/30\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev1\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86100),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"sha256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: cgw1.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(2),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.Int(1219001),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.20.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.20.0/30\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tLocalId: pulumi.String(\"4.4.4.4\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"5.5.5.5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"32333442\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var cgw1 = new CustomerGateway(\"cgw1\", CustomerGatewayArgs.builder()\n .ipAddress(\"2.2.2.2\")\n .asn(\"1219001\")\n .build());\n\n var cgw2 = new CustomerGateway(\"cgw2\", CustomerGatewayArgs.builder()\n .ipAddress(\"43.43.3.22\")\n .asn(\"44331\")\n .customerGatewayName(\"example_amp\")\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .localSubnet(\"0.0.0.0/0\")\n .enableTunnelsBgp(true)\n .vpnAttachmentName(\"tfaccvpngateway25800\")\n .tunnelOptionsSpecifications( \n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(86200)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes\")\n .build())\n .customerGatewayId(cgw1.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(1)\n .tunnelBgpConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(1219001)\n .localBgpIp(\"169.254.10.1\")\n .tunnelCidr(\"169.254.10.0/30\")\n .build())\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"main\")\n .ikeVersion(\"ikev1\")\n .psk(\"12345678\")\n .remoteId(\"2.2.2.2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .ikeLifetime(86100)\n .ikePfs(\"group2\")\n .localId(\"1.1.1.1\")\n .build())\n .build(),\n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86400)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"sha256\")\n .build())\n .customerGatewayId(cgw1.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(2)\n .tunnelBgpConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(1219001)\n .localBgpIp(\"169.254.20.1\")\n .tunnelCidr(\"169.254.20.0/30\")\n .build())\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .localId(\"4.4.4.4\")\n .remoteId(\"5.5.5.5\")\n .ikeLifetime(86400)\n .ikeMode(\"main\")\n .ikePfs(\"group5\")\n .ikeVersion(\"ikev2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .psk(\"32333442\")\n .build())\n .build())\n .remoteSubnet(\"0.0.0.0/0\")\n .networkType(\"public\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n cgw1:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 2.2.2.2\n asn: '1219001'\n cgw2:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 43.43.3.22\n asn: '44331'\n customerGatewayName: example_amp\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n localSubnet: 0.0.0.0/0\n enableTunnelsBgp: 'true'\n vpnAttachmentName: tfaccvpngateway25800\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecLifetime: '86200'\n ipsecPfs: group5\n ipsecAuthAlg: md5\n ipsecEncAlg: aes\n customerGatewayId: ${cgw1.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '1'\n tunnelBgpConfig:\n localAsn: '1219001'\n localBgpIp: 169.254.10.1\n tunnelCidr: 169.254.10.0/30\n tunnelIkeConfig:\n ikeMode: main\n ikeVersion: ikev1\n psk: '12345678'\n remoteId: 2.2.2.2\n ikeAuthAlg: md5\n ikeEncAlg: aes\n ikeLifetime: '86100'\n ikePfs: group2\n localId: 1.1.1.1\n - tunnelIpsecConfig:\n ipsecEncAlg: aes\n ipsecLifetime: '86400'\n ipsecPfs: group5\n ipsecAuthAlg: sha256\n customerGatewayId: ${cgw1.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '2'\n tunnelBgpConfig:\n localAsn: '1219001'\n localBgpIp: 169.254.20.1\n tunnelCidr: 169.254.20.0/30\n tunnelIkeConfig:\n localId: 4.4.4.4\n remoteId: 5.5.5.5\n ikeLifetime: '86400'\n ikeMode: main\n ikePfs: group5\n ikeVersion: ikev2\n ikeAuthAlg: md5\n ikeEncAlg: aes\n psk: '32333442'\n remoteSubnet: 0.0.0.0/0\n networkType: public\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Gateway Vpn Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/gatewayVpnAttachment:GatewayVpnAttachment example \u003cid\u003e\n```\n\n", + "description": "Provides a VPN Gateway Vpn Attachment resource.\n\nVpnAttachment has been upgraded to dual-tunnel mode. When you create a VpnAttachment in dual tunnel mode, you can configure the following request parameters in addition to the required parameters: vpn_attachment_name, network_type, effectImmediately, tags array, resource_group_id,\u003cspan pulumi-lang-nodejs=\" tunnelOptionsSpecification \" pulumi-lang-dotnet=\" TunnelOptionsSpecification \" pulumi-lang-go=\" tunnelOptionsSpecification \" pulumi-lang-python=\" tunnel_options_specification \" pulumi-lang-yaml=\" tunnelOptionsSpecification \" pulumi-lang-java=\" tunnelOptionsSpecification \"\u003e tunnel_options_specification \u003c/span\u003earray, and enable_tunnels_bgp.\n\nFor information about VPN Gateway Vpn Attachment and how to use it, see [What is Vpn Attachment](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvpnattachment).\n\n\u003e **NOTE:** Available since v1.181.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf-example\";\nconst _default = new alicloud.vpn.CustomerGateway(\"default\", {\n customerGatewayName: name,\n ipAddress: \"42.104.22.210\",\n asn: \"45014\",\n description: name,\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n customerGatewayId: _default.id,\n networkType: \"public\",\n localSubnet: \"0.0.0.0/0\",\n remoteSubnet: \"0.0.0.0/0\",\n effectImmediately: false,\n ikeConfig: {\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"des\",\n ikeVersion: \"ikev2\",\n ikeMode: \"main\",\n ikeLifetime: 86400,\n psk: \"tf-testvpn2\",\n ikePfs: \"group1\",\n remoteId: \"testbob2\",\n localId: \"testalice2\",\n },\n ipsecConfig: {\n ipsecPfs: \"group5\",\n ipsecEncAlg: \"des\",\n ipsecAuthAlg: \"md5\",\n ipsecLifetime: 86400,\n },\n bgpConfig: {\n enable: true,\n localAsn: 45014,\n tunnelCidr: \"169.254.11.0/30\",\n localBgpIp: \"169.254.11.1\",\n },\n healthCheckConfig: {\n enable: true,\n sip: \"192.168.1.1\",\n dip: \"10.0.0.1\",\n interval: 10,\n retry: 10,\n policy: \"revoke_route\",\n },\n enableDpd: true,\n enableNatTraversal: true,\n vpnAttachmentName: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf-example\"\ndefault = alicloud.vpn.CustomerGateway(\"default\",\n customer_gateway_name=name,\n ip_address=\"42.104.22.210\",\n asn=\"45014\",\n description=name)\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n customer_gateway_id=default.id,\n network_type=\"public\",\n local_subnet=\"0.0.0.0/0\",\n remote_subnet=\"0.0.0.0/0\",\n effect_immediately=False,\n ike_config={\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"des\",\n \"ike_version\": \"ikev2\",\n \"ike_mode\": \"main\",\n \"ike_lifetime\": 86400,\n \"psk\": \"tf-testvpn2\",\n \"ike_pfs\": \"group1\",\n \"remote_id\": \"testbob2\",\n \"local_id\": \"testalice2\",\n },\n ipsec_config={\n \"ipsec_pfs\": \"group5\",\n \"ipsec_enc_alg\": \"des\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_lifetime\": 86400,\n },\n bgp_config={\n \"enable\": True,\n \"local_asn\": 45014,\n \"tunnel_cidr\": \"169.254.11.0/30\",\n \"local_bgp_ip\": \"169.254.11.1\",\n },\n health_check_config={\n \"enable\": True,\n \"sip\": \"192.168.1.1\",\n \"dip\": \"10.0.0.1\",\n \"interval\": 10,\n \"retry\": 10,\n \"policy\": \"revoke_route\",\n },\n enable_dpd=True,\n enable_nat_traversal=True,\n vpn_attachment_name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf-example\";\n var @default = new AliCloud.Vpn.CustomerGateway(\"default\", new()\n {\n CustomerGatewayName = name,\n IpAddress = \"42.104.22.210\",\n Asn = \"45014\",\n Description = name,\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n CustomerGatewayId = @default.Id,\n NetworkType = \"public\",\n LocalSubnet = \"0.0.0.0/0\",\n RemoteSubnet = \"0.0.0.0/0\",\n EffectImmediately = false,\n IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs\n {\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"des\",\n IkeVersion = \"ikev2\",\n IkeMode = \"main\",\n IkeLifetime = 86400,\n Psk = \"tf-testvpn2\",\n IkePfs = \"group1\",\n RemoteId = \"testbob2\",\n LocalId = \"testalice2\",\n },\n IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs\n {\n IpsecPfs = \"group5\",\n IpsecEncAlg = \"des\",\n IpsecAuthAlg = \"md5\",\n IpsecLifetime = 86400,\n },\n BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs\n {\n Enable = true,\n LocalAsn = 45014,\n TunnelCidr = \"169.254.11.0/30\",\n LocalBgpIp = \"169.254.11.1\",\n },\n HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs\n {\n Enable = true,\n Sip = \"192.168.1.1\",\n Dip = \"10.0.0.1\",\n Interval = 10,\n Retry = 10,\n Policy = \"revoke_route\",\n },\n EnableDpd = true,\n EnableNatTraversal = true,\n VpnAttachmentName = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.NewCustomerGateway(ctx, \"default\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t\tIpAddress: pulumi.String(\"42.104.22.210\"),\n\t\t\tAsn: pulumi.String(\"45014\"),\n\t\t\tDescription: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tCustomerGatewayId: _default.ID(),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEffectImmediately: pulumi.Bool(false),\n\t\t\tIkeConfig: \u0026vpn.GatewayVpnAttachmentIkeConfigArgs{\n\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIkeEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\tPsk: pulumi.String(\"tf-testvpn2\"),\n\t\t\t\tIkePfs: pulumi.String(\"group1\"),\n\t\t\t\tRemoteId: pulumi.String(\"testbob2\"),\n\t\t\t\tLocalId: pulumi.String(\"testalice2\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026vpn.GatewayVpnAttachmentIpsecConfigArgs{\n\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\tIpsecEncAlg: pulumi.String(\"des\"),\n\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t},\n\t\t\tBgpConfig: \u0026vpn.GatewayVpnAttachmentBgpConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tLocalAsn: pulumi.Int(45014),\n\t\t\t\tTunnelCidr: pulumi.String(\"169.254.11.0/30\"),\n\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.11.1\"),\n\t\t\t},\n\t\t\tHealthCheckConfig: \u0026vpn.GatewayVpnAttachmentHealthCheckConfigArgs{\n\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\tSip: pulumi.String(\"192.168.1.1\"),\n\t\t\t\tDip: pulumi.String(\"10.0.0.1\"),\n\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\tRetry: pulumi.Int(10),\n\t\t\t\tPolicy: pulumi.String(\"revoke_route\"),\n\t\t\t},\n\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(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.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf-example\");\n var default_ = new CustomerGateway(\"default\", CustomerGatewayArgs.builder()\n .customerGatewayName(name)\n .ipAddress(\"42.104.22.210\")\n .asn(\"45014\")\n .description(name)\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .customerGatewayId(default_.id())\n .networkType(\"public\")\n .localSubnet(\"0.0.0.0/0\")\n .remoteSubnet(\"0.0.0.0/0\")\n .effectImmediately(false)\n .ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"des\")\n .ikeVersion(\"ikev2\")\n .ikeMode(\"main\")\n .ikeLifetime(86400)\n .psk(\"tf-testvpn2\")\n .ikePfs(\"group1\")\n .remoteId(\"testbob2\")\n .localId(\"testalice2\")\n .build())\n .ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()\n .ipsecPfs(\"group5\")\n .ipsecEncAlg(\"des\")\n .ipsecAuthAlg(\"md5\")\n .ipsecLifetime(86400)\n .build())\n .bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()\n .enable(true)\n .localAsn(45014)\n .tunnelCidr(\"169.254.11.0/30\")\n .localBgpIp(\"169.254.11.1\")\n .build())\n .healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()\n .enable(true)\n .sip(\"192.168.1.1\")\n .dip(\"10.0.0.1\")\n .interval(10)\n .retry(10)\n .policy(\"revoke_route\")\n .build())\n .enableDpd(true)\n .enableNatTraversal(true)\n .vpnAttachmentName(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf-example\nresources:\n default:\n type: alicloud:vpn:CustomerGateway\n properties:\n customerGatewayName: ${name}\n ipAddress: 42.104.22.210\n asn: '45014'\n description: ${name}\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n customerGatewayId: ${default.id}\n networkType: public\n localSubnet: 0.0.0.0/0\n remoteSubnet: 0.0.0.0/0\n effectImmediately: false\n ikeConfig:\n ikeAuthAlg: md5\n ikeEncAlg: des\n ikeVersion: ikev2\n ikeMode: main\n ikeLifetime: 86400\n psk: tf-testvpn2\n ikePfs: group1\n remoteId: testbob2\n localId: testalice2\n ipsecConfig:\n ipsecPfs: group5\n ipsecEncAlg: des\n ipsecAuthAlg: md5\n ipsecLifetime: 86400\n bgpConfig:\n enable: true\n localAsn: 45014\n tunnelCidr: 169.254.11.0/30\n localBgpIp: 169.254.11.1\n healthCheckConfig:\n enable: true\n sip: 192.168.1.1\n dip: 10.0.0.1\n interval: 10\n retry: 10\n policy: revoke_route\n enableDpd: true\n enableNatTraversal: true\n vpnAttachmentName: ${name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nDual Tunnel Mode Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tf_example\";\nconst _default = alicloud.resourcemanager.getResourceGroups({});\nconst cgw1 = new alicloud.vpn.CustomerGateway(\"cgw1\", {\n ipAddress: \"2.2.2.2\",\n asn: \"1219001\",\n});\nconst cgw2 = new alicloud.vpn.CustomerGateway(\"cgw2\", {\n ipAddress: \"43.43.3.22\",\n asn: \"44331\",\n customerGatewayName: \"example_amp\",\n});\nconst defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment(\"default\", {\n localSubnet: \"0.0.0.0/0\",\n enableTunnelsBgp: true,\n vpnAttachmentName: \"tfaccvpngateway25800\",\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecLifetime: 86200,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes\",\n },\n customerGatewayId: cgw1.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 1,\n tunnelBgpConfig: {\n localAsn: 1219001,\n localBgpIp: \"169.254.10.1\",\n tunnelCidr: \"169.254.10.0/30\",\n },\n tunnelIkeConfig: {\n ikeMode: \"main\",\n ikeVersion: \"ikev1\",\n psk: \"12345678\",\n remoteId: \"2.2.2.2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n ikeLifetime: 86100,\n ikePfs: \"group2\",\n localId: \"1.1.1.1\",\n },\n },\n {\n tunnelIpsecConfig: {\n ipsecEncAlg: \"aes\",\n ipsecLifetime: 86400,\n ipsecPfs: \"group5\",\n ipsecAuthAlg: \"sha256\",\n },\n customerGatewayId: cgw1.id,\n enableDpd: true,\n enableNatTraversal: true,\n tunnelIndex: 2,\n tunnelBgpConfig: {\n localAsn: 1219001,\n localBgpIp: \"169.254.20.1\",\n tunnelCidr: \"169.254.20.0/30\",\n },\n tunnelIkeConfig: {\n localId: \"4.4.4.4\",\n remoteId: \"5.5.5.5\",\n ikeLifetime: 86400,\n ikeMode: \"main\",\n ikePfs: \"group5\",\n ikeVersion: \"ikev2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes\",\n psk: \"32333442\",\n },\n },\n ],\n remoteSubnet: \"0.0.0.0/0\",\n networkType: \"public\",\n resourceGroupId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tf_example\"\ndefault = alicloud.resourcemanager.get_resource_groups()\ncgw1 = alicloud.vpn.CustomerGateway(\"cgw1\",\n ip_address=\"2.2.2.2\",\n asn=\"1219001\")\ncgw2 = alicloud.vpn.CustomerGateway(\"cgw2\",\n ip_address=\"43.43.3.22\",\n asn=\"44331\",\n customer_gateway_name=\"example_amp\")\ndefault_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment(\"default\",\n local_subnet=\"0.0.0.0/0\",\n enable_tunnels_bgp=True,\n vpn_attachment_name=\"tfaccvpngateway25800\",\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 86200,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes\",\n },\n \"customer_gateway_id\": cgw1.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 1,\n \"tunnel_bgp_config\": {\n \"local_asn\": 1219001,\n \"local_bgp_ip\": \"169.254.10.1\",\n \"tunnel_cidr\": \"169.254.10.0/30\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"main\",\n \"ike_version\": \"ikev1\",\n \"psk\": \"12345678\",\n \"remote_id\": \"2.2.2.2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n \"ike_lifetime\": 86100,\n \"ike_pfs\": \"group2\",\n \"local_id\": \"1.1.1.1\",\n },\n },\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_enc_alg\": \"aes\",\n \"ipsec_lifetime\": 86400,\n \"ipsec_pfs\": \"group5\",\n \"ipsec_auth_alg\": \"sha256\",\n },\n \"customer_gateway_id\": cgw1.id,\n \"enable_dpd\": True,\n \"enable_nat_traversal\": True,\n \"tunnel_index\": 2,\n \"tunnel_bgp_config\": {\n \"local_asn\": 1219001,\n \"local_bgp_ip\": \"169.254.20.1\",\n \"tunnel_cidr\": \"169.254.20.0/30\",\n },\n \"tunnel_ike_config\": {\n \"local_id\": \"4.4.4.4\",\n \"remote_id\": \"5.5.5.5\",\n \"ike_lifetime\": 86400,\n \"ike_mode\": \"main\",\n \"ike_pfs\": \"group5\",\n \"ike_version\": \"ikev2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes\",\n \"psk\": \"32333442\",\n },\n },\n ],\n remote_subnet=\"0.0.0.0/0\",\n network_type=\"public\",\n resource_group_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tf_example\";\n var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();\n\n var cgw1 = new AliCloud.Vpn.CustomerGateway(\"cgw1\", new()\n {\n IpAddress = \"2.2.2.2\",\n Asn = \"1219001\",\n });\n\n var cgw2 = new AliCloud.Vpn.CustomerGateway(\"cgw2\", new()\n {\n IpAddress = \"43.43.3.22\",\n Asn = \"44331\",\n CustomerGatewayName = \"example_amp\",\n });\n\n var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment(\"default\", new()\n {\n LocalSubnet = \"0.0.0.0/0\",\n EnableTunnelsBgp = true,\n VpnAttachmentName = \"tfaccvpngateway25800\",\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 86200,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes\",\n },\n CustomerGatewayId = cgw1.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 1,\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = 1219001,\n LocalBgpIp = \"169.254.10.1\",\n TunnelCidr = \"169.254.10.0/30\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"main\",\n IkeVersion = \"ikev1\",\n Psk = \"12345678\",\n RemoteId = \"2.2.2.2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n IkeLifetime = 86100,\n IkePfs = \"group2\",\n LocalId = \"1.1.1.1\",\n },\n },\n new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecEncAlg = \"aes\",\n IpsecLifetime = 86400,\n IpsecPfs = \"group5\",\n IpsecAuthAlg = \"sha256\",\n },\n CustomerGatewayId = cgw1.Id,\n EnableDpd = true,\n EnableNatTraversal = true,\n TunnelIndex = 2,\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = 1219001,\n LocalBgpIp = \"169.254.20.1\",\n TunnelCidr = \"169.254.20.0/30\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n LocalId = \"4.4.4.4\",\n RemoteId = \"5.5.5.5\",\n IkeLifetime = 86400,\n IkeMode = \"main\",\n IkePfs = \"group5\",\n IkeVersion = \"ikev2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes\",\n Psk = \"32333442\",\n },\n },\n },\n RemoteSubnet = \"0.0.0.0/0\",\n NetworkType = \"public\",\n ResourceGroupId = @default.Apply(@default =\u003e @default.Apply(getResourceGroupsResult =\u003e getResourceGroupsResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tf_example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := resourcemanager.GetResourceGroups(ctx, \u0026resourcemanager.GetResourceGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcgw1, err := vpn.NewCustomerGateway(ctx, \"cgw1\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"2.2.2.2\"),\n\t\t\tAsn: pulumi.String(\"1219001\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"cgw2\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"43.43.3.22\"),\n\t\t\tAsn: pulumi.String(\"44331\"),\n\t\t\tCustomerGatewayName: pulumi.String(\"example_amp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewGatewayVpnAttachment(ctx, \"default\", \u0026vpn.GatewayVpnAttachmentArgs{\n\t\t\tLocalSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tVpnAttachmentName: pulumi.String(\"tfaccvpngateway25800\"),\n\t\t\tTunnelOptionsSpecifications: vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86200),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: cgw1.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(1),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.Int(1219001),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.10.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.10.0/30\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev1\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"2.2.2.2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86100),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"sha256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: cgw1.ID(),\n\t\t\t\t\tEnableDpd: pulumi.Bool(true),\n\t\t\t\t\tEnableNatTraversal: pulumi.Bool(true),\n\t\t\t\t\tTunnelIndex: pulumi.Int(2),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.Int(1219001),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.20.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.20.0/30\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tLocalId: pulumi.String(\"4.4.4.4\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"5.5.5.5\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(86400),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"main\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"32333442\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRemoteSubnet: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tNetworkType: pulumi.String(\"public\"),\n\t\t\tResourceGroupId: pulumi.String(_default.Ids[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.alicloud.resourcemanager.ResourcemanagerFunctions;\nimport com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachment;\nimport com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tf_example\");\n final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()\n .build());\n\n var cgw1 = new CustomerGateway(\"cgw1\", CustomerGatewayArgs.builder()\n .ipAddress(\"2.2.2.2\")\n .asn(\"1219001\")\n .build());\n\n var cgw2 = new CustomerGateway(\"cgw2\", CustomerGatewayArgs.builder()\n .ipAddress(\"43.43.3.22\")\n .asn(\"44331\")\n .customerGatewayName(\"example_amp\")\n .build());\n\n var defaultGatewayVpnAttachment = new GatewayVpnAttachment(\"defaultGatewayVpnAttachment\", GatewayVpnAttachmentArgs.builder()\n .localSubnet(\"0.0.0.0/0\")\n .enableTunnelsBgp(true)\n .vpnAttachmentName(\"tfaccvpngateway25800\")\n .tunnelOptionsSpecifications( \n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(86200)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes\")\n .build())\n .customerGatewayId(cgw1.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(1)\n .tunnelBgpConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(1219001)\n .localBgpIp(\"169.254.10.1\")\n .tunnelCidr(\"169.254.10.0/30\")\n .build())\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"main\")\n .ikeVersion(\"ikev1\")\n .psk(\"12345678\")\n .remoteId(\"2.2.2.2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .ikeLifetime(86100)\n .ikePfs(\"group2\")\n .localId(\"1.1.1.1\")\n .build())\n .build(),\n GatewayVpnAttachmentTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecEncAlg(\"aes\")\n .ipsecLifetime(86400)\n .ipsecPfs(\"group5\")\n .ipsecAuthAlg(\"sha256\")\n .build())\n .customerGatewayId(cgw1.id())\n .enableDpd(true)\n .enableNatTraversal(true)\n .tunnelIndex(2)\n .tunnelBgpConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(1219001)\n .localBgpIp(\"169.254.20.1\")\n .tunnelCidr(\"169.254.20.0/30\")\n .build())\n .tunnelIkeConfig(GatewayVpnAttachmentTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .localId(\"4.4.4.4\")\n .remoteId(\"5.5.5.5\")\n .ikeLifetime(86400)\n .ikeMode(\"main\")\n .ikePfs(\"group5\")\n .ikeVersion(\"ikev2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes\")\n .psk(\"32333442\")\n .build())\n .build())\n .remoteSubnet(\"0.0.0.0/0\")\n .networkType(\"public\")\n .resourceGroupId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tf_example\nresources:\n cgw1:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 2.2.2.2\n asn: '1219001'\n cgw2:\n type: alicloud:vpn:CustomerGateway\n properties:\n ipAddress: 43.43.3.22\n asn: '44331'\n customerGatewayName: example_amp\n defaultGatewayVpnAttachment:\n type: alicloud:vpn:GatewayVpnAttachment\n name: default\n properties:\n localSubnet: 0.0.0.0/0\n enableTunnelsBgp: 'true'\n vpnAttachmentName: tfaccvpngateway25800\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecLifetime: '86200'\n ipsecPfs: group5\n ipsecAuthAlg: md5\n ipsecEncAlg: aes\n customerGatewayId: ${cgw1.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '1'\n tunnelBgpConfig:\n localAsn: '1219001'\n localBgpIp: 169.254.10.1\n tunnelCidr: 169.254.10.0/30\n tunnelIkeConfig:\n ikeMode: main\n ikeVersion: ikev1\n psk: '12345678'\n remoteId: 2.2.2.2\n ikeAuthAlg: md5\n ikeEncAlg: aes\n ikeLifetime: '86100'\n ikePfs: group2\n localId: 1.1.1.1\n - tunnelIpsecConfig:\n ipsecEncAlg: aes\n ipsecLifetime: '86400'\n ipsecPfs: group5\n ipsecAuthAlg: sha256\n customerGatewayId: ${cgw1.id}\n enableDpd: 'true'\n enableNatTraversal: 'true'\n tunnelIndex: '2'\n tunnelBgpConfig:\n localAsn: '1219001'\n localBgpIp: 169.254.20.1\n tunnelCidr: 169.254.20.0/30\n tunnelIkeConfig:\n localId: 4.4.4.4\n remoteId: 5.5.5.5\n ikeLifetime: '86400'\n ikeMode: main\n ikePfs: group5\n ikeVersion: ikev2\n ikeAuthAlg: md5\n ikeEncAlg: aes\n psk: '32333442'\n remoteSubnet: 0.0.0.0/0\n networkType: public\n resourceGroupId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:resourcemanager:getResourceGroups\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN Gateway Vpn Attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/gatewayVpnAttachment:GatewayVpnAttachment example \u003cid\u003e\n```\n\n", "properties": { "bgpConfig": { "$ref": "#/types/alicloud:vpn/GatewayVpnAttachmentBgpConfig:GatewayVpnAttachmentBgpConfig", @@ -268776,7 +274642,7 @@ } }, "alicloud:vpn/ipsecServer:IpsecServer": { - "description": "Provides a VPN Ipsec Server resource.\n\nFor information about VPN Ipsec Server and how to use it, see [What is Ipsec Server](https://www.alibabacloud.com/help/en/vpn/sub-product-ssl-vpn/developer-reference/api-vpc-2016-04-28-createipsecserver-ssl-vpn).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst foo = new alicloud.vpn.IpsecServer(\"foo\", {\n clientIpPool: \"10.0.0.0/24\",\n ipsecServerName: name,\n localSubnet: \"192.168.0.0/24\",\n vpnGatewayId: defaultGateway.id,\n pskEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\nfoo = alicloud.vpn.IpsecServer(\"foo\",\n client_ip_pool=\"10.0.0.0/24\",\n ipsec_server_name=name,\n local_subnet=\"192.168.0.0/24\",\n vpn_gateway_id=default_gateway.id,\n psk_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var foo = new AliCloud.Vpn.IpsecServer(\"foo\", new()\n {\n ClientIpPool = \"10.0.0.0/24\",\n IpsecServerName = name,\n LocalSubnet = \"192.168.0.0/24\",\n VpnGatewayId = defaultGateway.Id,\n PskEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewIpsecServer(ctx, \"foo\", \u0026vpn.IpsecServerArgs{\n\t\t\tClientIpPool: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tIpsecServerName: pulumi.String(name),\n\t\t\tLocalSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tPskEnabled: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.IpsecServer;\nimport com.pulumi.alicloud.vpn.IpsecServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var foo = new IpsecServer(\"foo\", IpsecServerArgs.builder()\n .clientIpPool(\"10.0.0.0/24\")\n .ipsecServerName(name)\n .localSubnet(\"192.168.0.0/24\")\n .vpnGatewayId(defaultGateway.id())\n .pskEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n foo:\n type: alicloud:vpn:IpsecServer\n properties:\n clientIpPool: 10.0.0.0/24\n ipsecServerName: ${name}\n localSubnet: 192.168.0.0/24\n vpnGatewayId: ${defaultGateway.id}\n pskEnabled: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Ipsec Server can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/ipsecServer:IpsecServer example \u003cid\u003e\n```\n\n", + "description": "Provides a VPN Ipsec Server resource.\n\nFor information about VPN Ipsec Server and how to use it, see [What is Ipsec Server](https://www.alibabacloud.com/help/en/vpn/sub-product-ssl-vpn/developer-reference/api-vpc-2016-04-28-createipsecserver-ssl-vpn).\n\n\u003e **NOTE:** Available since v1.161.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst foo = new alicloud.vpn.IpsecServer(\"foo\", {\n clientIpPool: \"10.0.0.0/24\",\n ipsecServerName: name,\n localSubnet: \"192.168.0.0/24\",\n vpnGatewayId: defaultGateway.id,\n pskEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\nfoo = alicloud.vpn.IpsecServer(\"foo\",\n client_ip_pool=\"10.0.0.0/24\",\n ipsec_server_name=name,\n local_subnet=\"192.168.0.0/24\",\n vpn_gateway_id=default_gateway.id,\n psk_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var foo = new AliCloud.Vpn.IpsecServer(\"foo\", new()\n {\n ClientIpPool = \"10.0.0.0/24\",\n IpsecServerName = name,\n LocalSubnet = \"192.168.0.0/24\",\n VpnGatewayId = defaultGateway.Id,\n PskEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewIpsecServer(ctx, \"foo\", \u0026vpn.IpsecServerArgs{\n\t\t\tClientIpPool: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tIpsecServerName: pulumi.String(name),\n\t\t\tLocalSubnet: pulumi.String(\"192.168.0.0/24\"),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tPskEnabled: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.IpsecServer;\nimport com.pulumi.alicloud.vpn.IpsecServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var foo = new IpsecServer(\"foo\", IpsecServerArgs.builder()\n .clientIpPool(\"10.0.0.0/24\")\n .ipsecServerName(name)\n .localSubnet(\"192.168.0.0/24\")\n .vpnGatewayId(defaultGateway.id())\n .pskEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n foo:\n type: alicloud:vpn:IpsecServer\n properties:\n clientIpPool: 10.0.0.0/24\n ipsecServerName: ${name}\n localSubnet: 192.168.0.0/24\n vpnGatewayId: ${defaultGateway.id}\n pskEnabled: true\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN Ipsec Server can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/ipsecServer:IpsecServer example \u003cid\u003e\n```\n\n", "properties": { "clientIpPool": { "type": "string", @@ -268942,7 +274808,7 @@ } }, "alicloud:vpn/pbrRouteEntry:PbrRouteEntry": { - "description": "Provides a VPN Pbr Route Entry resource.\n\n\u003e **NOTE:** Available since v1.162.0.\n\nFor information about VPN Pbr Route Entry and how to use it, see [What is VPN Pbr Route Entry](https://www.alibabacloud.com/help/en/doc-detail/127248.html).\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpn.getGateways({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\nconst defaultPbrRouteEntry = new alicloud.vpn.PbrRouteEntry(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n routeSource: \"192.168.1.0/24\",\n routeDest: \"10.0.0.0/24\",\n nextHop: defaultConnection.id,\n weight: 0,\n publishVpc: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.get_gateways()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=default.ids[0],\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\ndefault_pbr_route_entry = alicloud.vpn.PbrRouteEntry(\"default\",\n vpn_gateway_id=default.ids[0],\n route_source=\"192.168.1.0/24\",\n route_dest=\"10.0.0.0/24\",\n next_hop=default_connection.id,\n weight=0,\n publish_vpc=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpn.GetGateways.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n var defaultPbrRouteEntry = new AliCloud.Vpn.PbrRouteEntry(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n RouteSource = \"192.168.1.0/24\",\n RouteDest = \"10.0.0.0/24\",\n NextHop = defaultConnection.Id,\n Weight = 0,\n PublishVpc = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.GetGateways(ctx, \u0026vpn.GetGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultConnection, err := vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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\t_, err = vpn.NewPbrRouteEntry(ctx, \"default\", \u0026vpn.PbrRouteEntryArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tRouteSource: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tRouteDest: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tNextHop: defaultConnection.ID(),\n\t\t\tWeight: pulumi.Int(0),\n\t\t\tPublishVpc: 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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewaysArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.PbrRouteEntry;\nimport com.pulumi.alicloud.vpn.PbrRouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpnFunctions.getGateways(GetGatewaysArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n var defaultPbrRouteEntry = new PbrRouteEntry(\"defaultPbrRouteEntry\", PbrRouteEntryArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .routeSource(\"192.168.1.0/24\")\n .routeDest(\"10.0.0.0/24\")\n .nextHop(defaultConnection.id())\n .weight(0)\n .publishVpc(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\n defaultPbrRouteEntry:\n type: alicloud:vpn:PbrRouteEntry\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n routeSource: 192.168.1.0/24\n routeDest: 10.0.0.0/24\n nextHop: ${defaultConnection.id}\n weight: 0\n publishVpc: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGateways\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Pbr route entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/pbrRouteEntry:PbrRouteEntry example \u003cvpn_gateway_id\u003e:\u003cnext_hop\u003e:\u003croute_source\u003e:\u003croute_dest\u003e\n```\n\n", + "description": "Provides a VPN Pbr Route Entry resource.\n\n\u003e **NOTE:** Available since v1.162.0.\n\nFor information about VPN Pbr Route Entry and how to use it, see [What is VPN Pbr Route Entry](https://www.alibabacloud.com/help/en/doc-detail/127248.html).\n\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpn.getGateways({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\nconst defaultPbrRouteEntry = new alicloud.vpn.PbrRouteEntry(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n routeSource: \"192.168.1.0/24\",\n routeDest: \"10.0.0.0/24\",\n nextHop: defaultConnection.id,\n weight: 0,\n publishVpc: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.get_gateways()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=default.ids[0],\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\ndefault_pbr_route_entry = alicloud.vpn.PbrRouteEntry(\"default\",\n vpn_gateway_id=default.ids[0],\n route_source=\"192.168.1.0/24\",\n route_dest=\"10.0.0.0/24\",\n next_hop=default_connection.id,\n weight=0,\n publish_vpc=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpn.GetGateways.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n var defaultPbrRouteEntry = new AliCloud.Vpn.PbrRouteEntry(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n RouteSource = \"192.168.1.0/24\",\n RouteDest = \"10.0.0.0/24\",\n NextHop = defaultConnection.Id,\n Weight = 0,\n PublishVpc = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.GetGateways(ctx, \u0026vpn.GetGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultConnection, err := vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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\t_, err = vpn.NewPbrRouteEntry(ctx, \"default\", \u0026vpn.PbrRouteEntryArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tRouteSource: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tRouteDest: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tNextHop: defaultConnection.ID(),\n\t\t\tWeight: pulumi.Int(0),\n\t\t\tPublishVpc: 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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewaysArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.PbrRouteEntry;\nimport com.pulumi.alicloud.vpn.PbrRouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpnFunctions.getGateways(GetGatewaysArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n var defaultPbrRouteEntry = new PbrRouteEntry(\"defaultPbrRouteEntry\", PbrRouteEntryArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .routeSource(\"192.168.1.0/24\")\n .routeDest(\"10.0.0.0/24\")\n .nextHop(defaultConnection.id())\n .weight(0)\n .publishVpc(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\n defaultPbrRouteEntry:\n type: alicloud:vpn:PbrRouteEntry\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n routeSource: 192.168.1.0/24\n routeDest: 10.0.0.0/24\n nextHop: ${defaultConnection.id}\n weight: 0\n publishVpc: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGateways\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN Pbr route entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/pbrRouteEntry:PbrRouteEntry example \u003cvpn_gateway_id\u003e:\u003cnext_hop\u003e:\u003croute_source\u003e:\u003croute_dest\u003e\n```\n\n", "properties": { "nextHop": { "type": "string", @@ -269060,7 +274926,7 @@ } }, "alicloud:vpn/routeEntry:RouteEntry": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpn.getGateways({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\nconst defaultRouteEntry = new alicloud.vpn.RouteEntry(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n routeDest: \"10.0.0.0/24\",\n nextHop: defaultConnection.id,\n weight: 0,\n publishVpc: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.get_gateways()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=default.ids[0],\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\ndefault_route_entry = alicloud.vpn.RouteEntry(\"default\",\n vpn_gateway_id=default.ids[0],\n route_dest=\"10.0.0.0/24\",\n next_hop=default_connection.id,\n weight=0,\n publish_vpc=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpn.GetGateways.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n var defaultRouteEntry = new AliCloud.Vpn.RouteEntry(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n RouteDest = \"10.0.0.0/24\",\n NextHop = defaultConnection.Id,\n Weight = 0,\n PublishVpc = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.GetGateways(ctx, \u0026vpn.GetGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultConnection, err := vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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\t_, err = vpn.NewRouteEntry(ctx, \"default\", \u0026vpn.RouteEntryArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tRouteDest: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tNextHop: defaultConnection.ID(),\n\t\t\tWeight: pulumi.Int(0),\n\t\t\tPublishVpc: 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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewaysArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.RouteEntry;\nimport com.pulumi.alicloud.vpn.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpnFunctions.getGateways(GetGatewaysArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n var defaultRouteEntry = new RouteEntry(\"defaultRouteEntry\", RouteEntryArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .routeDest(\"10.0.0.0/24\")\n .nextHop(defaultConnection.id())\n .weight(0)\n .publishVpc(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\n defaultRouteEntry:\n type: alicloud:vpn:RouteEntry\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n routeDest: 10.0.0.0/24\n nextHop: ${defaultConnection.id}\n weight: 0\n publishVpc: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGateways\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN route entry can be imported using the id(VpnGatewayId +\":\"+ NextHop +\":\"+ RouteDest), e.g.\n\n```sh\n$ pulumi import alicloud:vpn/routeEntry:RouteEntry example vpn-abc123456:vco-abc123456:10.0.0.10/24\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.vpn.getGateways({});\nconst defaultCustomerGateway = new alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\", {\n description: \"defaultCustomerGateway\",\n ipAddress: \"2.2.2.5\",\n asn: \"2224\",\n customerGatewayName: name,\n});\nconst changeCustomerGateway = new alicloud.vpn.CustomerGateway(\"changeCustomerGateway\", {\n description: \"changeCustomerGateway\",\n ipAddress: \"2.2.2.6\",\n asn: \"2225\",\n customerGatewayName: name,\n});\nconst defaultConnection = new alicloud.vpn.Connection(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n vpnConnectionName: name,\n localSubnets: [\"3.0.0.0/24\"],\n remoteSubnets: [\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags: {\n Created: \"TF\",\n For: \"example\",\n },\n enableTunnelsBgp: true,\n tunnelOptionsSpecifications: [\n {\n tunnelIpsecConfig: {\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n ipsecLifetime: 16400,\n ipsecPfs: \"group5\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"master\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n tunnelCidr: \"169.254.30.0/30\",\n localBgpIp: \"169.254.30.1\",\n },\n tunnelIkeConfig: {\n ikeMode: \"aggressive\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n remoteId: \"remote2\",\n ikeAuthAlg: \"md5\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 3600,\n ikePfs: \"group14\",\n },\n },\n {\n tunnelIkeConfig: {\n remoteId: \"remote24\",\n ikeEncAlg: \"aes256\",\n ikeLifetime: 27000,\n ikeMode: \"aggressive\",\n ikePfs: \"group5\",\n ikeAuthAlg: \"md5\",\n ikeVersion: \"ikev2\",\n localId: \"localid_tunnel2\",\n psk: \"12345678\",\n },\n tunnelIpsecConfig: {\n ipsecLifetime: 2700,\n ipsecPfs: \"group14\",\n ipsecAuthAlg: \"md5\",\n ipsecEncAlg: \"aes256\",\n },\n customerGatewayId: defaultCustomerGateway.id,\n role: \"slave\",\n tunnelBgpConfig: {\n localAsn: \"1219002\",\n localBgpIp: \"169.254.40.1\",\n tunnelCidr: \"169.254.40.0/30\",\n },\n },\n ],\n});\nconst defaultRouteEntry = new alicloud.vpn.RouteEntry(\"default\", {\n vpnGatewayId: _default.then(_default =\u003e _default.ids?.[0]),\n routeDest: \"10.0.0.0/24\",\n nextHop: defaultConnection.id,\n weight: 0,\n publishVpc: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.vpn.get_gateways()\ndefault_customer_gateway = alicloud.vpn.CustomerGateway(\"defaultCustomerGateway\",\n description=\"defaultCustomerGateway\",\n ip_address=\"2.2.2.5\",\n asn=\"2224\",\n customer_gateway_name=name)\nchange_customer_gateway = alicloud.vpn.CustomerGateway(\"changeCustomerGateway\",\n description=\"changeCustomerGateway\",\n ip_address=\"2.2.2.6\",\n asn=\"2225\",\n customer_gateway_name=name)\ndefault_connection = alicloud.vpn.Connection(\"default\",\n vpn_gateway_id=default.ids[0],\n vpn_connection_name=name,\n local_subnets=[\"3.0.0.0/24\"],\n remote_subnets=[\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n ],\n tags={\n \"Created\": \"TF\",\n \"For\": \"example\",\n },\n enable_tunnels_bgp=True,\n tunnel_options_specifications=[\n {\n \"tunnel_ipsec_config\": {\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n \"ipsec_lifetime\": 16400,\n \"ipsec_pfs\": \"group5\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"master\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"tunnel_cidr\": \"169.254.30.0/30\",\n \"local_bgp_ip\": \"169.254.30.1\",\n },\n \"tunnel_ike_config\": {\n \"ike_mode\": \"aggressive\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n \"remote_id\": \"remote2\",\n \"ike_auth_alg\": \"md5\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 3600,\n \"ike_pfs\": \"group14\",\n },\n },\n {\n \"tunnel_ike_config\": {\n \"remote_id\": \"remote24\",\n \"ike_enc_alg\": \"aes256\",\n \"ike_lifetime\": 27000,\n \"ike_mode\": \"aggressive\",\n \"ike_pfs\": \"group5\",\n \"ike_auth_alg\": \"md5\",\n \"ike_version\": \"ikev2\",\n \"local_id\": \"localid_tunnel2\",\n \"psk\": \"12345678\",\n },\n \"tunnel_ipsec_config\": {\n \"ipsec_lifetime\": 2700,\n \"ipsec_pfs\": \"group14\",\n \"ipsec_auth_alg\": \"md5\",\n \"ipsec_enc_alg\": \"aes256\",\n },\n \"customer_gateway_id\": default_customer_gateway.id,\n \"role\": \"slave\",\n \"tunnel_bgp_config\": {\n \"local_asn\": \"1219002\",\n \"local_bgp_ip\": \"169.254.40.1\",\n \"tunnel_cidr\": \"169.254.40.0/30\",\n },\n },\n ])\ndefault_route_entry = alicloud.vpn.RouteEntry(\"default\",\n vpn_gateway_id=default.ids[0],\n route_dest=\"10.0.0.0/24\",\n next_hop=default_connection.id,\n weight=0,\n publish_vpc=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Vpn.GetGateways.Invoke();\n\n var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"defaultCustomerGateway\", new()\n {\n Description = \"defaultCustomerGateway\",\n IpAddress = \"2.2.2.5\",\n Asn = \"2224\",\n CustomerGatewayName = name,\n });\n\n var changeCustomerGateway = new AliCloud.Vpn.CustomerGateway(\"changeCustomerGateway\", new()\n {\n Description = \"changeCustomerGateway\",\n IpAddress = \"2.2.2.6\",\n Asn = \"2225\",\n CustomerGatewayName = name,\n });\n\n var defaultConnection = new AliCloud.Vpn.Connection(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n VpnConnectionName = name,\n LocalSubnets = new[]\n {\n \"3.0.0.0/24\",\n },\n RemoteSubnets = new[]\n {\n \"10.0.0.0/24\",\n \"10.0.1.0/24\",\n },\n Tags = \n {\n { \"Created\", \"TF\" },\n { \"For\", \"example\" },\n },\n EnableTunnelsBgp = true,\n TunnelOptionsSpecifications = new[]\n {\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n IpsecLifetime = 16400,\n IpsecPfs = \"group5\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"master\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n TunnelCidr = \"169.254.30.0/30\",\n LocalBgpIp = \"169.254.30.1\",\n },\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n IkeMode = \"aggressive\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n RemoteId = \"remote2\",\n IkeAuthAlg = \"md5\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 3600,\n IkePfs = \"group14\",\n },\n },\n new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationArgs\n {\n TunnelIkeConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs\n {\n RemoteId = \"remote24\",\n IkeEncAlg = \"aes256\",\n IkeLifetime = 27000,\n IkeMode = \"aggressive\",\n IkePfs = \"group5\",\n IkeAuthAlg = \"md5\",\n IkeVersion = \"ikev2\",\n LocalId = \"localid_tunnel2\",\n Psk = \"12345678\",\n },\n TunnelIpsecConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs\n {\n IpsecLifetime = 2700,\n IpsecPfs = \"group14\",\n IpsecAuthAlg = \"md5\",\n IpsecEncAlg = \"aes256\",\n },\n CustomerGatewayId = defaultCustomerGateway.Id,\n Role = \"slave\",\n TunnelBgpConfig = new AliCloud.Vpn.Inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs\n {\n LocalAsn = \"1219002\",\n LocalBgpIp = \"169.254.40.1\",\n TunnelCidr = \"169.254.40.0/30\",\n },\n },\n },\n });\n\n var defaultRouteEntry = new AliCloud.Vpn.RouteEntry(\"default\", new()\n {\n VpnGatewayId = @default.Apply(@default =\u003e @default.Apply(getGatewaysResult =\u003e getGatewaysResult.Ids[0])),\n RouteDest = \"10.0.0.0/24\",\n NextHop = defaultConnection.Id,\n Weight = 0,\n PublishVpc = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := vpn.GetGateways(ctx, \u0026vpn.GetGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, \"defaultCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"defaultCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.5\"),\n\t\t\tAsn: pulumi.String(\"2224\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewCustomerGateway(ctx, \"changeCustomerGateway\", \u0026vpn.CustomerGatewayArgs{\n\t\t\tDescription: pulumi.String(\"changeCustomerGateway\"),\n\t\t\tIpAddress: pulumi.String(\"2.2.2.6\"),\n\t\t\tAsn: pulumi.String(\"2225\"),\n\t\t\tCustomerGatewayName: pulumi.String(name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultConnection, err := vpn.NewConnection(ctx, \"default\", \u0026vpn.ConnectionArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tVpnConnectionName: pulumi.String(name),\n\t\t\tLocalSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"3.0.0.0/24\"),\n\t\t\t},\n\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"10.0.1.0/24\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Created\": pulumi.String(\"TF\"),\n\t\t\t\t\"For\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tEnableTunnelsBgp: pulumi.Bool(true),\n\t\t\tTunnelOptionsSpecifications: vpn.ConnectionTunnelOptionsSpecificationArray{\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(16400),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group5\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"master\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.30.0/30\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.30.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote2\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(3600),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group14\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026vpn.ConnectionTunnelOptionsSpecificationArgs{\n\t\t\t\t\tTunnelIkeConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs{\n\t\t\t\t\t\tRemoteId: pulumi.String(\"remote24\"),\n\t\t\t\t\t\tIkeEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t\tIkeLifetime: pulumi.Int(27000),\n\t\t\t\t\t\tIkeMode: pulumi.String(\"aggressive\"),\n\t\t\t\t\t\tIkePfs: pulumi.String(\"group5\"),\n\t\t\t\t\t\tIkeAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIkeVersion: pulumi.String(\"ikev2\"),\n\t\t\t\t\t\tLocalId: pulumi.String(\"localid_tunnel2\"),\n\t\t\t\t\t\tPsk: pulumi.String(\"12345678\"),\n\t\t\t\t\t},\n\t\t\t\t\tTunnelIpsecConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs{\n\t\t\t\t\t\tIpsecLifetime: pulumi.Int(2700),\n\t\t\t\t\t\tIpsecPfs: pulumi.String(\"group14\"),\n\t\t\t\t\t\tIpsecAuthAlg: pulumi.String(\"md5\"),\n\t\t\t\t\t\tIpsecEncAlg: pulumi.String(\"aes256\"),\n\t\t\t\t\t},\n\t\t\t\t\tCustomerGatewayId: defaultCustomerGateway.ID(),\n\t\t\t\t\tRole: pulumi.String(\"slave\"),\n\t\t\t\t\tTunnelBgpConfig: \u0026vpn.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs{\n\t\t\t\t\t\tLocalAsn: pulumi.String(\"1219002\"),\n\t\t\t\t\t\tLocalBgpIp: pulumi.String(\"169.254.40.1\"),\n\t\t\t\t\t\tTunnelCidr: pulumi.String(\"169.254.40.0/30\"),\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\t_, err = vpn.NewRouteEntry(ctx, \"default\", \u0026vpn.RouteEntryArgs{\n\t\t\tVpnGatewayId: pulumi.String(_default.Ids[0]),\n\t\t\tRouteDest: pulumi.String(\"10.0.0.0/24\"),\n\t\t\tNextHop: defaultConnection.ID(),\n\t\t\tWeight: pulumi.Int(0),\n\t\t\tPublishVpc: 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.alicloud.vpn.VpnFunctions;\nimport com.pulumi.alicloud.vpn.inputs.GetGatewaysArgs;\nimport com.pulumi.alicloud.vpn.CustomerGateway;\nimport com.pulumi.alicloud.vpn.CustomerGatewayArgs;\nimport com.pulumi.alicloud.vpn.Connection;\nimport com.pulumi.alicloud.vpn.ConnectionArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs;\nimport com.pulumi.alicloud.vpn.inputs.ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs;\nimport com.pulumi.alicloud.vpn.RouteEntry;\nimport com.pulumi.alicloud.vpn.RouteEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = VpnFunctions.getGateways(GetGatewaysArgs.builder()\n .build());\n\n var defaultCustomerGateway = new CustomerGateway(\"defaultCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"defaultCustomerGateway\")\n .ipAddress(\"2.2.2.5\")\n .asn(\"2224\")\n .customerGatewayName(name)\n .build());\n\n var changeCustomerGateway = new CustomerGateway(\"changeCustomerGateway\", CustomerGatewayArgs.builder()\n .description(\"changeCustomerGateway\")\n .ipAddress(\"2.2.2.6\")\n .asn(\"2225\")\n .customerGatewayName(name)\n .build());\n\n var defaultConnection = new Connection(\"defaultConnection\", ConnectionArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .vpnConnectionName(name)\n .localSubnets(\"3.0.0.0/24\")\n .remoteSubnets( \n \"10.0.0.0/24\",\n \"10.0.1.0/24\")\n .tags(Map.ofEntries(\n Map.entry(\"Created\", \"TF\"),\n Map.entry(\"For\", \"example\")\n ))\n .enableTunnelsBgp(true)\n .tunnelOptionsSpecifications( \n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .ipsecLifetime(16400)\n .ipsecPfs(\"group5\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"master\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .tunnelCidr(\"169.254.30.0/30\")\n .localBgpIp(\"169.254.30.1\")\n .build())\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .ikeMode(\"aggressive\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .remoteId(\"remote2\")\n .ikeAuthAlg(\"md5\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(3600)\n .ikePfs(\"group14\")\n .build())\n .build(),\n ConnectionTunnelOptionsSpecificationArgs.builder()\n .tunnelIkeConfig(ConnectionTunnelOptionsSpecificationTunnelIkeConfigArgs.builder()\n .remoteId(\"remote24\")\n .ikeEncAlg(\"aes256\")\n .ikeLifetime(27000)\n .ikeMode(\"aggressive\")\n .ikePfs(\"group5\")\n .ikeAuthAlg(\"md5\")\n .ikeVersion(\"ikev2\")\n .localId(\"localid_tunnel2\")\n .psk(\"12345678\")\n .build())\n .tunnelIpsecConfig(ConnectionTunnelOptionsSpecificationTunnelIpsecConfigArgs.builder()\n .ipsecLifetime(2700)\n .ipsecPfs(\"group14\")\n .ipsecAuthAlg(\"md5\")\n .ipsecEncAlg(\"aes256\")\n .build())\n .customerGatewayId(defaultCustomerGateway.id())\n .role(\"slave\")\n .tunnelBgpConfig(ConnectionTunnelOptionsSpecificationTunnelBgpConfigArgs.builder()\n .localAsn(\"1219002\")\n .localBgpIp(\"169.254.40.1\")\n .tunnelCidr(\"169.254.40.0/30\")\n .build())\n .build())\n .build());\n\n var defaultRouteEntry = new RouteEntry(\"defaultRouteEntry\", RouteEntryArgs.builder()\n .vpnGatewayId(default_.ids()[0])\n .routeDest(\"10.0.0.0/24\")\n .nextHop(defaultConnection.id())\n .weight(0)\n .publishVpc(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: defaultCustomerGateway\n ipAddress: 2.2.2.5\n asn: '2224'\n customerGatewayName: ${name}\n changeCustomerGateway:\n type: alicloud:vpn:CustomerGateway\n properties:\n description: changeCustomerGateway\n ipAddress: 2.2.2.6\n asn: '2225'\n customerGatewayName: ${name}\n defaultConnection:\n type: alicloud:vpn:Connection\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n vpnConnectionName: ${name}\n localSubnets:\n - 3.0.0.0/24\n remoteSubnets:\n - 10.0.0.0/24\n - 10.0.1.0/24\n tags:\n Created: TF\n For: example\n enableTunnelsBgp: 'true'\n tunnelOptionsSpecifications:\n - tunnelIpsecConfig:\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n ipsecLifetime: '16400'\n ipsecPfs: group5\n customerGatewayId: ${defaultCustomerGateway.id}\n role: master\n tunnelBgpConfig:\n localAsn: '1219002'\n tunnelCidr: 169.254.30.0/30\n localBgpIp: 169.254.30.1\n tunnelIkeConfig:\n ikeMode: aggressive\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n remoteId: remote2\n ikeAuthAlg: md5\n ikeEncAlg: aes256\n ikeLifetime: '3600'\n ikePfs: group14\n - tunnelIkeConfig:\n remoteId: remote24\n ikeEncAlg: aes256\n ikeLifetime: '27000'\n ikeMode: aggressive\n ikePfs: group5\n ikeAuthAlg: md5\n ikeVersion: ikev2\n localId: localid_tunnel2\n psk: '12345678'\n tunnelIpsecConfig:\n ipsecLifetime: '2700'\n ipsecPfs: group14\n ipsecAuthAlg: md5\n ipsecEncAlg: aes256\n customerGatewayId: ${defaultCustomerGateway.id}\n role: slave\n tunnelBgpConfig:\n localAsn: '1219002'\n localBgpIp: 169.254.40.1\n tunnelCidr: 169.254.40.0/30\n defaultRouteEntry:\n type: alicloud:vpn:RouteEntry\n name: default\n properties:\n vpnGatewayId: ${default.ids[0]}\n routeDest: 10.0.0.0/24\n nextHop: ${defaultConnection.id}\n weight: 0\n publishVpc: false\nvariables:\n default:\n fn::invoke:\n function: alicloud:vpn:getGateways\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nVPN route entry can be imported using the id(VpnGatewayId +\":\"+ NextHop +\":\"+ RouteDest), e.g.\n\n```sh\n$ pulumi import alicloud:vpn/routeEntry:RouteEntry example vpn-abc123456:vco-abc123456:10.0.0.10/24\n```\n\n", "properties": { "nextHop": { "type": "string", @@ -269171,7 +275037,7 @@ } }, "alicloud:vpn/sslVpnClientCert:SslVpnClientCert": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst defaultSslVpnServer = new alicloud.vpn.SslVpnServer(\"default\", {\n name: name,\n vpnGatewayId: defaultGateway.id,\n clientIpPool: \"192.168.0.0/16\",\n localSubnet: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 8,\n })).then(invoke =\u003e invoke.result),\n protocol: \"UDP\",\n cipher: \"AES-128-CBC\",\n port: 1194,\n compress: false,\n});\nconst defaultSslVpnClientCert = new alicloud.vpn.SslVpnClientCert(\"default\", {\n sslVpnServerId: defaultSslVpnServer.id,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\ndefault_ssl_vpn_server = alicloud.vpn.SslVpnServer(\"default\",\n name=name,\n vpn_gateway_id=default_gateway.id,\n client_ip_pool=\"192.168.0.0/16\",\n local_subnet=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=8).result,\n protocol=\"UDP\",\n cipher=\"AES-128-CBC\",\n port=1194,\n compress=False)\ndefault_ssl_vpn_client_cert = alicloud.vpn.SslVpnClientCert(\"default\",\n ssl_vpn_server_id=default_ssl_vpn_server.id,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var defaultSslVpnServer = new AliCloud.Vpn.SslVpnServer(\"default\", new()\n {\n Name = name,\n VpnGatewayId = defaultGateway.Id,\n ClientIpPool = \"192.168.0.0/16\",\n LocalSubnet = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 8,\n }).Apply(invoke =\u003e invoke.Result),\n Protocol = \"UDP\",\n Cipher = \"AES-128-CBC\",\n Port = 1194,\n Compress = false,\n });\n\n var defaultSslVpnClientCert = new AliCloud.Vpn.SslVpnClientCert(\"default\", new()\n {\n SslVpnServerId = defaultSslVpnServer.Id,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: defaultGetNetworks.Vpcs[0].CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 8,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSslVpnServer, err := vpn.NewSslVpnServer(ctx, \"default\", \u0026vpn.SslVpnServerArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tClientIpPool: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tLocalSubnet: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tCipher: pulumi.String(\"AES-128-CBC\"),\n\t\t\tPort: pulumi.Int(1194),\n\t\t\tCompress: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewSslVpnClientCert(ctx, \"default\", \u0026vpn.SslVpnClientCertArgs{\n\t\t\tSslVpnServerId: defaultSslVpnServer.ID(),\n\t\t\tName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.SslVpnServer;\nimport com.pulumi.alicloud.vpn.SslVpnServerArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.vpn.SslVpnClientCert;\nimport com.pulumi.alicloud.vpn.SslVpnClientCertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var defaultSslVpnServer = new SslVpnServer(\"defaultSslVpnServer\", SslVpnServerArgs.builder()\n .name(name)\n .vpnGatewayId(defaultGateway.id())\n .clientIpPool(\"192.168.0.0/16\")\n .localSubnet(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(8)\n .build()).result())\n .protocol(\"UDP\")\n .cipher(\"AES-128-CBC\")\n .port(1194)\n .compress(false)\n .build());\n\n var defaultSslVpnClientCert = new SslVpnClientCert(\"defaultSslVpnClientCert\", SslVpnClientCertArgs.builder()\n .sslVpnServerId(defaultSslVpnServer.id())\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n defaultSslVpnServer:\n type: alicloud:vpn:SslVpnServer\n name: default\n properties:\n name: ${name}\n vpnGatewayId: ${defaultGateway.id}\n clientIpPool: 192.168.0.0/16\n localSubnet:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultGetNetworks.vpcs[0].cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n protocol: UDP\n cipher: AES-128-CBC\n port: '1194'\n compress: 'false'\n defaultSslVpnClientCert:\n type: alicloud:vpn:SslVpnClientCert\n name: default\n properties:\n sslVpnServerId: ${defaultSslVpnServer.id}\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSL-VPN client certificates can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/sslVpnClientCert:SslVpnClientCert example vsc-abc123456\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst defaultSslVpnServer = new alicloud.vpn.SslVpnServer(\"default\", {\n name: name,\n vpnGatewayId: defaultGateway.id,\n clientIpPool: \"192.168.0.0/16\",\n localSubnet: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 8,\n })).then(invoke =\u003e invoke.result),\n protocol: \"UDP\",\n cipher: \"AES-128-CBC\",\n port: 1194,\n compress: false,\n});\nconst defaultSslVpnClientCert = new alicloud.vpn.SslVpnClientCert(\"default\", {\n sslVpnServerId: defaultSslVpnServer.id,\n name: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\ndefault_ssl_vpn_server = alicloud.vpn.SslVpnServer(\"default\",\n name=name,\n vpn_gateway_id=default_gateway.id,\n client_ip_pool=\"192.168.0.0/16\",\n local_subnet=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=8).result,\n protocol=\"UDP\",\n cipher=\"AES-128-CBC\",\n port=1194,\n compress=False)\ndefault_ssl_vpn_client_cert = alicloud.vpn.SslVpnClientCert(\"default\",\n ssl_vpn_server_id=default_ssl_vpn_server.id,\n name=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var defaultSslVpnServer = new AliCloud.Vpn.SslVpnServer(\"default\", new()\n {\n Name = name,\n VpnGatewayId = defaultGateway.Id,\n ClientIpPool = \"192.168.0.0/16\",\n LocalSubnet = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 8,\n }).Apply(invoke =\u003e invoke.Result),\n Protocol = \"UDP\",\n Cipher = \"AES-128-CBC\",\n Port = 1194,\n Compress = false,\n });\n\n var defaultSslVpnClientCert = new AliCloud.Vpn.SslVpnClientCert(\"default\", new()\n {\n SslVpnServerId = defaultSslVpnServer.Id,\n Name = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: defaultGetNetworks.Vpcs[0].CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 8,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultSslVpnServer, err := vpn.NewSslVpnServer(ctx, \"default\", \u0026vpn.SslVpnServerArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tClientIpPool: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tLocalSubnet: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tCipher: pulumi.String(\"AES-128-CBC\"),\n\t\t\tPort: pulumi.Int(1194),\n\t\t\tCompress: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewSslVpnClientCert(ctx, \"default\", \u0026vpn.SslVpnClientCertArgs{\n\t\t\tSslVpnServerId: defaultSslVpnServer.ID(),\n\t\t\tName: pulumi.String(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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.SslVpnServer;\nimport com.pulumi.alicloud.vpn.SslVpnServerArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport com.pulumi.alicloud.vpn.SslVpnClientCert;\nimport com.pulumi.alicloud.vpn.SslVpnClientCertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var defaultSslVpnServer = new SslVpnServer(\"defaultSslVpnServer\", SslVpnServerArgs.builder()\n .name(name)\n .vpnGatewayId(defaultGateway.id())\n .clientIpPool(\"192.168.0.0/16\")\n .localSubnet(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(8)\n .build()).result())\n .protocol(\"UDP\")\n .cipher(\"AES-128-CBC\")\n .port(1194)\n .compress(false)\n .build());\n\n var defaultSslVpnClientCert = new SslVpnClientCert(\"defaultSslVpnClientCert\", SslVpnClientCertArgs.builder()\n .sslVpnServerId(defaultSslVpnServer.id())\n .name(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n defaultSslVpnServer:\n type: alicloud:vpn:SslVpnServer\n name: default\n properties:\n name: ${name}\n vpnGatewayId: ${defaultGateway.id}\n clientIpPool: 192.168.0.0/16\n localSubnet:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultGetNetworks.vpcs[0].cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n protocol: UDP\n cipher: AES-128-CBC\n port: '1194'\n compress: 'false'\n defaultSslVpnClientCert:\n type: alicloud:vpn:SslVpnClientCert\n name: default\n properties:\n sslVpnServerId: ${defaultSslVpnServer.id}\n name: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSSL-VPN client certificates can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/sslVpnClientCert:SslVpnClientCert example vsc-abc123456\n```\n\n", "properties": { "caCert": { "type": "string", @@ -269270,7 +275136,7 @@ } }, "alicloud:vpn/sslVpnServer:SslVpnServer": { - "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst defaultSslVpnServer = new alicloud.vpn.SslVpnServer(\"default\", {\n name: name,\n vpnGatewayId: defaultGateway.id,\n clientIpPool: \"192.168.0.0/16\",\n localSubnet: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 8,\n })).then(invoke =\u003e invoke.result),\n protocol: \"UDP\",\n cipher: \"AES-128-CBC\",\n port: 1194,\n compress: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\ndefault_ssl_vpn_server = alicloud.vpn.SslVpnServer(\"default\",\n name=name,\n vpn_gateway_id=default_gateway.id,\n client_ip_pool=\"192.168.0.0/16\",\n local_subnet=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=8).result,\n protocol=\"UDP\",\n cipher=\"AES-128-CBC\",\n port=1194,\n compress=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var defaultSslVpnServer = new AliCloud.Vpn.SslVpnServer(\"default\", new()\n {\n Name = name,\n VpnGatewayId = defaultGateway.Id,\n ClientIpPool = \"192.168.0.0/16\",\n LocalSubnet = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 8,\n }).Apply(invoke =\u003e invoke.Result),\n Protocol = \"UDP\",\n Cipher = \"AES-128-CBC\",\n Port = 1194,\n Compress = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: defaultGetNetworks.Vpcs[0].CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 8,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewSslVpnServer(ctx, \"default\", \u0026vpn.SslVpnServerArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tClientIpPool: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tLocalSubnet: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tCipher: pulumi.String(\"AES-128-CBC\"),\n\t\t\tPort: pulumi.Int(1194),\n\t\t\tCompress: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.SslVpnServer;\nimport com.pulumi.alicloud.vpn.SslVpnServerArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var defaultSslVpnServer = new SslVpnServer(\"defaultSslVpnServer\", SslVpnServerArgs.builder()\n .name(name)\n .vpnGatewayId(defaultGateway.id())\n .clientIpPool(\"192.168.0.0/16\")\n .localSubnet(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(8)\n .build()).result())\n .protocol(\"UDP\")\n .cipher(\"AES-128-CBC\")\n .port(1194)\n .compress(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n defaultSslVpnServer:\n type: alicloud:vpn:SslVpnServer\n name: default\n properties:\n name: ${name}\n vpnGatewayId: ${defaultGateway.id}\n clientIpPool: 192.168.0.0/16\n localSubnet:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultGetNetworks.vpcs[0].cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n protocol: UDP\n cipher: AES-128-CBC\n port: '1194'\n compress: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSL-VPN server can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/sslVpnServer:SslVpnServer example vss-abc123456\n```\n\n", + "description": "## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.getZones({\n availableResourceCreation: \"VSwitch\",\n});\nconst defaultGetNetworks = alicloud.vpc.getNetworks({\n nameRegex: \"^default-NODELETING$\",\n cidrBlock: \"172.16.0.0/16\",\n});\nconst default0 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[0],\n}));\nconst default1 = Promise.all([defaultGetNetworks, _default]).then(([defaultGetNetworks, _default]) =\u003e alicloud.vpc.getSwitches({\n vpcId: defaultGetNetworks.ids?.[0],\n zoneId: _default.ids?.[1],\n}));\nconst defaultGateway = new alicloud.vpn.Gateway(\"default\", {\n vpnGatewayName: name,\n vpcId: defaultGetNetworks.then(defaultGetNetworks =\u003e defaultGetNetworks.ids?.[0]),\n bandwidth: 10,\n enableSsl: true,\n description: name,\n paymentType: \"Subscription\",\n vswitchId: default0.then(default0 =\u003e default0.ids?.[0]),\n disasterRecoveryVswitchId: default1.then(default1 =\u003e default1.ids?.[0]),\n});\nconst defaultSslVpnServer = new alicloud.vpn.SslVpnServer(\"default\", {\n name: name,\n vpnGatewayId: defaultGateway.id,\n clientIpPool: \"192.168.0.0/16\",\n localSubnet: defaultGetNetworks.then(defaultGetNetworks =\u003e std.cidrsubnet({\n input: defaultGetNetworks.vpcs?.[0]?.cidrBlock,\n newbits: 8,\n netnum: 8,\n })).then(invoke =\u003e invoke.result),\n protocol: \"UDP\",\n cipher: \"AES-128-CBC\",\n port: 1194,\n compress: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.get_zones(available_resource_creation=\"VSwitch\")\ndefault_get_networks = alicloud.vpc.get_networks(name_regex=\"^default-NODELETING$\",\n cidr_block=\"172.16.0.0/16\")\ndefault0 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[0])\ndefault1 = alicloud.vpc.get_switches(vpc_id=default_get_networks.ids[0],\n zone_id=default.ids[1])\ndefault_gateway = alicloud.vpn.Gateway(\"default\",\n vpn_gateway_name=name,\n vpc_id=default_get_networks.ids[0],\n bandwidth=10,\n enable_ssl=True,\n description=name,\n payment_type=\"Subscription\",\n vswitch_id=default0.ids[0],\n disaster_recovery_vswitch_id=default1.ids[0])\ndefault_ssl_vpn_server = alicloud.vpn.SslVpnServer(\"default\",\n name=name,\n vpn_gateway_id=default_gateway.id,\n client_ip_pool=\"192.168.0.0/16\",\n local_subnet=std.cidrsubnet(input=default_get_networks.vpcs[0].cidr_block,\n newbits=8,\n netnum=8).result,\n protocol=\"UDP\",\n cipher=\"AES-128-CBC\",\n port=1194,\n compress=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.GetZones.Invoke(new()\n {\n AvailableResourceCreation = \"VSwitch\",\n });\n\n var defaultGetNetworks = AliCloud.Vpc.GetNetworks.Invoke(new()\n {\n NameRegex = \"^default-NODELETING$\",\n CidrBlock = \"172.16.0.0/16\",\n });\n\n var default0 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[0]),\n });\n\n var default1 = AliCloud.Vpc.GetSwitches.Invoke(new()\n {\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n ZoneId = @default.Apply(getZonesResult =\u003e getZonesResult.Ids[1]),\n });\n\n var defaultGateway = new AliCloud.Vpn.Gateway(\"default\", new()\n {\n VpnGatewayName = name,\n VpcId = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Ids[0]),\n Bandwidth = 10,\n EnableSsl = true,\n Description = name,\n PaymentType = \"Subscription\",\n VswitchId = default0.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n DisasterRecoveryVswitchId = default1.Apply(getSwitchesResult =\u003e getSwitchesResult.Ids[0]),\n });\n\n var defaultSslVpnServer = new AliCloud.Vpn.SslVpnServer(\"default\", new()\n {\n Name = name,\n VpnGatewayId = defaultGateway.Id,\n ClientIpPool = \"192.168.0.0/16\",\n LocalSubnet = Std.Cidrsubnet.Invoke(new()\n {\n Input = defaultGetNetworks.Apply(getNetworksResult =\u003e getNetworksResult.Vpcs[0]?.CidrBlock),\n Newbits = 8,\n Netnum = 8,\n }).Apply(invoke =\u003e invoke.Result),\n Protocol = \"UDP\",\n Cipher = \"AES-128-CBC\",\n Port = 1194,\n Compress = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := alicloud.GetZones(ctx, \u0026alicloud.GetZonesArgs{\n\t\t\tAvailableResourceCreation: pulumi.StringRef(\"VSwitch\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetNetworks, err := vpc.GetNetworks(ctx, \u0026vpc.GetNetworksArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^default-NODELETING$\"),\n\t\t\tCidrBlock: pulumi.StringRef(\"172.16.0.0/16\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault0, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[0]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefault1, err := vpc.GetSwitches(ctx, \u0026vpc.GetSwitchesArgs{\n\t\t\tVpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),\n\t\t\tZoneId: pulumi.StringRef(_default.Ids[1]),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGateway, err := vpn.NewGateway(ctx, \"default\", \u0026vpn.GatewayArgs{\n\t\t\tVpnGatewayName: pulumi.String(name),\n\t\t\tVpcId: pulumi.String(defaultGetNetworks.Ids[0]),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tEnableSsl: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(name),\n\t\t\tPaymentType: pulumi.String(\"Subscription\"),\n\t\t\tVswitchId: pulumi.String(default0.Ids[0]),\n\t\t\tDisasterRecoveryVswitchId: pulumi.String(default1.Ids[0]),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeCidrsubnet, err := std.Cidrsubnet(ctx, \u0026std.CidrsubnetArgs{\n\t\t\tInput: defaultGetNetworks.Vpcs[0].CidrBlock,\n\t\t\tNewbits: 8,\n\t\t\tNetnum: 8,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vpn.NewSslVpnServer(ctx, \"default\", \u0026vpn.SslVpnServerArgs{\n\t\t\tName: pulumi.String(name),\n\t\t\tVpnGatewayId: defaultGateway.ID(),\n\t\t\tClientIpPool: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tLocalSubnet: pulumi.String(invokeCidrsubnet.Result),\n\t\t\tProtocol: pulumi.String(\"UDP\"),\n\t\t\tCipher: pulumi.String(\"AES-128-CBC\"),\n\t\t\tPort: pulumi.Int(1194),\n\t\t\tCompress: 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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.inputs.GetZonesArgs;\nimport com.pulumi.alicloud.vpc.VpcFunctions;\nimport com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;\nimport com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;\nimport com.pulumi.alicloud.vpn.Gateway;\nimport com.pulumi.alicloud.vpn.GatewayArgs;\nimport com.pulumi.alicloud.vpn.SslVpnServer;\nimport com.pulumi.alicloud.vpn.SslVpnServerArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.CidrsubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()\n .availableResourceCreation(\"VSwitch\")\n .build());\n\n final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()\n .nameRegex(\"^default-NODELETING$\")\n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n final var default0 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[0])\n .build());\n\n final var default1 = VpcFunctions.getSwitches(GetSwitchesArgs.builder()\n .vpcId(defaultGetNetworks.ids()[0])\n .zoneId(default_.ids()[1])\n .build());\n\n var defaultGateway = new Gateway(\"defaultGateway\", GatewayArgs.builder()\n .vpnGatewayName(name)\n .vpcId(defaultGetNetworks.ids()[0])\n .bandwidth(10)\n .enableSsl(true)\n .description(name)\n .paymentType(\"Subscription\")\n .vswitchId(default0.ids()[0])\n .disasterRecoveryVswitchId(default1.ids()[0])\n .build());\n\n var defaultSslVpnServer = new SslVpnServer(\"defaultSslVpnServer\", SslVpnServerArgs.builder()\n .name(name)\n .vpnGatewayId(defaultGateway.id())\n .clientIpPool(\"192.168.0.0/16\")\n .localSubnet(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()\n .input(defaultGetNetworks.vpcs()[0].cidrBlock())\n .newbits(8)\n .netnum(8)\n .build()).result())\n .protocol(\"UDP\")\n .cipher(\"AES-128-CBC\")\n .port(1194)\n .compress(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultGateway:\n type: alicloud:vpn:Gateway\n name: default\n properties:\n vpnGatewayName: ${name}\n vpcId: ${defaultGetNetworks.ids[0]}\n bandwidth: '10'\n enableSsl: true\n description: ${name}\n paymentType: Subscription\n vswitchId: ${default0.ids[0]}\n disasterRecoveryVswitchId: ${default1.ids[0]}\n defaultSslVpnServer:\n type: alicloud:vpn:SslVpnServer\n name: default\n properties:\n name: ${name}\n vpnGatewayId: ${defaultGateway.id}\n clientIpPool: 192.168.0.0/16\n localSubnet:\n fn::invoke:\n function: std:cidrsubnet\n arguments:\n input: ${defaultGetNetworks.vpcs[0].cidrBlock}\n newbits: 8\n netnum: 8\n return: result\n protocol: UDP\n cipher: AES-128-CBC\n port: '1194'\n compress: 'false'\nvariables:\n default:\n fn::invoke:\n function: alicloud:getZones\n arguments:\n availableResourceCreation: VSwitch\n defaultGetNetworks:\n fn::invoke:\n function: alicloud:vpc:getNetworks\n arguments:\n nameRegex: ^default-NODELETING$\n cidrBlock: 172.16.0.0/16\n default0:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[0]}\n default1:\n fn::invoke:\n function: alicloud:vpc:getSwitches\n arguments:\n vpcId: ${defaultGetNetworks.ids[0]}\n zoneId: ${default.ids[1]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nSSL-VPN server can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:vpn/sslVpnServer:SslVpnServer example vss-abc123456\n```\n\n", "properties": { "cipher": { "type": "string", @@ -269419,7 +275285,7 @@ } }, "alicloud:waf/certificate:Certificate": { - "description": "Provides a WAF Certificate resource.\n\nFor information about WAF Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/doc-detail/28517.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.waf.Certificate(\"default\", {\n certificateName: \"your_certificate_name\",\n instanceId: \"your_instance_id\",\n domain: \"your_domain_name\",\n privateKey: \"your_private_key\",\n certificate: \"your_certificate\",\n});\nconst default2 = new alicloud.waf.Certificate(\"default2\", {\n instanceId: \"your_instance_id\",\n domain: \"your_domain_name\",\n certificateId: \"your_certificate_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.waf.Certificate(\"default\",\n certificate_name=\"your_certificate_name\",\n instance_id=\"your_instance_id\",\n domain=\"your_domain_name\",\n private_key=\"your_private_key\",\n certificate=\"your_certificate\")\ndefault2 = alicloud.waf.Certificate(\"default2\",\n instance_id=\"your_instance_id\",\n domain=\"your_domain_name\",\n certificate_id=\"your_certificate_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Waf.Certificate(\"default\", new()\n {\n CertificateName = \"your_certificate_name\",\n InstanceId = \"your_instance_id\",\n Domain = \"your_domain_name\",\n PrivateKey = \"your_private_key\",\n CertificateContents = \"your_certificate\",\n });\n\n var default2 = new AliCloud.Waf.Certificate(\"default2\", new()\n {\n InstanceId = \"your_instance_id\",\n Domain = \"your_domain_name\",\n CertificateId = \"your_certificate_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewCertificate(ctx, \"default\", \u0026waf.CertificateArgs{\n\t\t\tCertificateName: pulumi.String(\"your_certificate_name\"),\n\t\t\tInstanceId: pulumi.String(\"your_instance_id\"),\n\t\t\tDomain: pulumi.String(\"your_domain_name\"),\n\t\t\tPrivateKey: pulumi.String(\"your_private_key\"),\n\t\t\tCertificate: pulumi.String(\"your_certificate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewCertificate(ctx, \"default2\", \u0026waf.CertificateArgs{\n\t\t\tInstanceId: pulumi.String(\"your_instance_id\"),\n\t\t\tDomain: pulumi.String(\"your_domain_name\"),\n\t\t\tCertificateId: pulumi.String(\"your_certificate_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.alicloud.waf.Certificate;\nimport com.pulumi.alicloud.waf.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 default_ = new Certificate(\"default\", CertificateArgs.builder()\n .certificateName(\"your_certificate_name\")\n .instanceId(\"your_instance_id\")\n .domain(\"your_domain_name\")\n .privateKey(\"your_private_key\")\n .certificate(\"your_certificate\")\n .build());\n\n var default2 = new Certificate(\"default2\", CertificateArgs.builder()\n .instanceId(\"your_instance_id\")\n .domain(\"your_domain_name\")\n .certificateId(\"your_certificate_id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:waf:Certificate\n properties:\n certificateName: your_certificate_name\n instanceId: your_instance_id\n domain: your_domain_name\n privateKey: your_private_key\n certificate: your_certificate\n default2:\n type: alicloud:waf:Certificate\n properties:\n instanceId: your_instance_id\n domain: your_domain_name\n certificateId: your_certificate_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/certificate:Certificate example \u003cinstance_id\u003e:\u003cdomain\u003e:\u003ccertificate_id\u003e\n```\n\n", + "description": "Provides a WAF Certificate resource.\n\nFor information about WAF Certificate and how to use it, see [What is Certificate](https://www.alibabacloud.com/help/doc-detail/28517.htm).\n\n\u003e **NOTE:** Available in v1.135.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = new alicloud.waf.Certificate(\"default\", {\n certificateName: \"your_certificate_name\",\n instanceId: \"your_instance_id\",\n domain: \"your_domain_name\",\n privateKey: \"your_private_key\",\n certificate: \"your_certificate\",\n});\nconst default2 = new alicloud.waf.Certificate(\"default2\", {\n instanceId: \"your_instance_id\",\n domain: \"your_domain_name\",\n certificateId: \"your_certificate_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.waf.Certificate(\"default\",\n certificate_name=\"your_certificate_name\",\n instance_id=\"your_instance_id\",\n domain=\"your_domain_name\",\n private_key=\"your_private_key\",\n certificate=\"your_certificate\")\ndefault2 = alicloud.waf.Certificate(\"default2\",\n instance_id=\"your_instance_id\",\n domain=\"your_domain_name\",\n certificate_id=\"your_certificate_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new AliCloud.Waf.Certificate(\"default\", new()\n {\n CertificateName = \"your_certificate_name\",\n InstanceId = \"your_instance_id\",\n Domain = \"your_domain_name\",\n PrivateKey = \"your_private_key\",\n CertificateContents = \"your_certificate\",\n });\n\n var default2 = new AliCloud.Waf.Certificate(\"default2\", new()\n {\n InstanceId = \"your_instance_id\",\n Domain = \"your_domain_name\",\n CertificateId = \"your_certificate_id\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewCertificate(ctx, \"default\", \u0026waf.CertificateArgs{\n\t\t\tCertificateName: pulumi.String(\"your_certificate_name\"),\n\t\t\tInstanceId: pulumi.String(\"your_instance_id\"),\n\t\t\tDomain: pulumi.String(\"your_domain_name\"),\n\t\t\tPrivateKey: pulumi.String(\"your_private_key\"),\n\t\t\tCertificate: pulumi.String(\"your_certificate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = waf.NewCertificate(ctx, \"default2\", \u0026waf.CertificateArgs{\n\t\t\tInstanceId: pulumi.String(\"your_instance_id\"),\n\t\t\tDomain: pulumi.String(\"your_domain_name\"),\n\t\t\tCertificateId: pulumi.String(\"your_certificate_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.alicloud.waf.Certificate;\nimport com.pulumi.alicloud.waf.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 default_ = new Certificate(\"default\", CertificateArgs.builder()\n .certificateName(\"your_certificate_name\")\n .instanceId(\"your_instance_id\")\n .domain(\"your_domain_name\")\n .privateKey(\"your_private_key\")\n .certificate(\"your_certificate\")\n .build());\n\n var default2 = new Certificate(\"default2\", CertificateArgs.builder()\n .instanceId(\"your_instance_id\")\n .domain(\"your_domain_name\")\n .certificateId(\"your_certificate_id\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: alicloud:waf:Certificate\n properties:\n certificateName: your_certificate_name\n instanceId: your_instance_id\n domain: your_domain_name\n privateKey: your_private_key\n certificate: your_certificate\n default2:\n type: alicloud:waf:Certificate\n properties:\n instanceId: your_instance_id\n domain: your_domain_name\n certificateId: your_certificate_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWAF Certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/certificate:Certificate example \u003cinstance_id\u003e:\u003cdomain\u003e:\u003ccertificate_id\u003e\n```\n\n", "properties": { "certificate": { "type": "string", @@ -269541,7 +275407,7 @@ } }, "alicloud:waf/domain:Domain": { - "description": "\u003e **DEPRECATED:** This resource has been deprecated and using\u003cspan pulumi-lang-nodejs=\" alicloud.wafv3.Domain \" pulumi-lang-dotnet=\" alicloud.wafv3.Domain \" pulumi-lang-go=\" wafv3.Domain \" pulumi-lang-python=\" wafv3.Domain \" pulumi-lang-yaml=\" alicloud.wafv3.Domain \" pulumi-lang-java=\" alicloud.wafv3.Domain \"\u003e alicloud.wafv3.Domain \u003c/span\u003einstead.\n\nProvides a WAF Domain resource to create domain in the Web Application Firewall.\n\nFor information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst domain = new alicloud.waf.Domain(\"domain\", {\n domainName: \"alicloud-provider.cn\",\n instanceId: \"waf-123455\",\n isAccessProduct: \"On\",\n sourceIps: [\"1.1.1.1\"],\n clusterType: \"PhysicalCluster\",\n http2Ports: [\"443\"],\n httpPorts: [\"80\"],\n httpsPorts: [\"443\"],\n httpToUserIp: \"Off\",\n httpsRedirect: \"Off\",\n loadBalancing: \"IpHash\",\n logHeaders: [{\n key: \"foo\",\n value: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndomain = alicloud.waf.Domain(\"domain\",\n domain_name=\"alicloud-provider.cn\",\n instance_id=\"waf-123455\",\n is_access_product=\"On\",\n source_ips=[\"1.1.1.1\"],\n cluster_type=\"PhysicalCluster\",\n http2_ports=[\"443\"],\n http_ports=[\"80\"],\n https_ports=[\"443\"],\n http_to_user_ip=\"Off\",\n https_redirect=\"Off\",\n load_balancing=\"IpHash\",\n log_headers=[{\n \"key\": \"foo\",\n \"value\": \"http\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domain = new AliCloud.Waf.Domain(\"domain\", new()\n {\n DomainName = \"alicloud-provider.cn\",\n InstanceId = \"waf-123455\",\n IsAccessProduct = \"On\",\n SourceIps = new[]\n {\n \"1.1.1.1\",\n },\n ClusterType = \"PhysicalCluster\",\n Http2Ports = new[]\n {\n \"443\",\n },\n HttpPorts = new[]\n {\n \"80\",\n },\n HttpsPorts = new[]\n {\n \"443\",\n },\n HttpToUserIp = \"Off\",\n HttpsRedirect = \"Off\",\n LoadBalancing = \"IpHash\",\n LogHeaders = new[]\n {\n new AliCloud.Waf.Inputs.DomainLogHeaderArgs\n {\n Key = \"foo\",\n Value = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewDomain(ctx, \"domain\", \u0026waf.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"alicloud-provider.cn\"),\n\t\t\tInstanceId: pulumi.String(\"waf-123455\"),\n\t\t\tIsAccessProduct: pulumi.String(\"On\"),\n\t\t\tSourceIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tClusterType: pulumi.String(\"PhysicalCluster\"),\n\t\t\tHttp2Ports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t},\n\t\t\tHttpsPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpToUserIp: pulumi.String(\"Off\"),\n\t\t\tHttpsRedirect: pulumi.String(\"Off\"),\n\t\t\tLoadBalancing: pulumi.String(\"IpHash\"),\n\t\t\tLogHeaders: waf.DomainLogHeaderArray{\n\t\t\t\t\u0026waf.DomainLogHeaderArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"http\"),\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.alicloud.waf.Domain;\nimport com.pulumi.alicloud.waf.DomainArgs;\nimport com.pulumi.alicloud.waf.inputs.DomainLogHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domain = new Domain(\"domain\", DomainArgs.builder()\n .domainName(\"alicloud-provider.cn\")\n .instanceId(\"waf-123455\")\n .isAccessProduct(\"On\")\n .sourceIps(\"1.1.1.1\")\n .clusterType(\"PhysicalCluster\")\n .http2Ports(\"443\")\n .httpPorts(\"80\")\n .httpsPorts(\"443\")\n .httpToUserIp(\"Off\")\n .httpsRedirect(\"Off\")\n .loadBalancing(\"IpHash\")\n .logHeaders(DomainLogHeaderArgs.builder()\n .key(\"foo\")\n .value(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domain:\n type: alicloud:waf:Domain\n properties:\n domainName: alicloud-provider.cn\n instanceId: waf-123455\n isAccessProduct: On\n sourceIps:\n - 1.1.1.1\n clusterType: PhysicalCluster\n http2Ports:\n - 443\n httpPorts:\n - 80\n httpsPorts:\n - 443\n httpToUserIp: Off\n httpsRedirect: Off\n loadBalancing: IpHash\n logHeaders:\n - key: foo\n value: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAF domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/domain:Domain domain waf-132435:www.domain.com\n```\n\n", + "description": "\u003e **DEPRECATED:** This resource has been deprecated and using\u003cspan pulumi-lang-nodejs=\" alicloud.wafv3.Domain \" pulumi-lang-dotnet=\" alicloud.wafv3.Domain \" pulumi-lang-go=\" wafv3.Domain \" pulumi-lang-python=\" wafv3.Domain \" pulumi-lang-yaml=\" alicloud.wafv3.Domain \" pulumi-lang-java=\" alicloud.wafv3.Domain \"\u003e alicloud.wafv3.Domain \u003c/span\u003einstead.\n\nProvides a WAF Domain resource to create domain in the Web Application Firewall.\n\nFor information about WAF and how to use it, see [What is Alibaba Cloud WAF](https://www.alibabacloud.com/help/doc-detail/28517.htm).\n\n\u003e **NOTE:** Available since v1.82.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst domain = new alicloud.waf.Domain(\"domain\", {\n domainName: \"alicloud-provider.cn\",\n instanceId: \"waf-123455\",\n isAccessProduct: \"On\",\n sourceIps: [\"1.1.1.1\"],\n clusterType: \"PhysicalCluster\",\n http2Ports: [\"443\"],\n httpPorts: [\"80\"],\n httpsPorts: [\"443\"],\n httpToUserIp: \"Off\",\n httpsRedirect: \"Off\",\n loadBalancing: \"IpHash\",\n logHeaders: [{\n key: \"foo\",\n value: \"http\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndomain = alicloud.waf.Domain(\"domain\",\n domain_name=\"alicloud-provider.cn\",\n instance_id=\"waf-123455\",\n is_access_product=\"On\",\n source_ips=[\"1.1.1.1\"],\n cluster_type=\"PhysicalCluster\",\n http2_ports=[\"443\"],\n http_ports=[\"80\"],\n https_ports=[\"443\"],\n http_to_user_ip=\"Off\",\n https_redirect=\"Off\",\n load_balancing=\"IpHash\",\n log_headers=[{\n \"key\": \"foo\",\n \"value\": \"http\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var domain = new AliCloud.Waf.Domain(\"domain\", new()\n {\n DomainName = \"alicloud-provider.cn\",\n InstanceId = \"waf-123455\",\n IsAccessProduct = \"On\",\n SourceIps = new[]\n {\n \"1.1.1.1\",\n },\n ClusterType = \"PhysicalCluster\",\n Http2Ports = new[]\n {\n \"443\",\n },\n HttpPorts = new[]\n {\n \"80\",\n },\n HttpsPorts = new[]\n {\n \"443\",\n },\n HttpToUserIp = \"Off\",\n HttpsRedirect = \"Off\",\n LoadBalancing = \"IpHash\",\n LogHeaders = new[]\n {\n new AliCloud.Waf.Inputs.DomainLogHeaderArgs\n {\n Key = \"foo\",\n Value = \"http\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := waf.NewDomain(ctx, \"domain\", \u0026waf.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"alicloud-provider.cn\"),\n\t\t\tInstanceId: pulumi.String(\"waf-123455\"),\n\t\t\tIsAccessProduct: pulumi.String(\"On\"),\n\t\t\tSourceIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tClusterType: pulumi.String(\"PhysicalCluster\"),\n\t\t\tHttp2Ports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t},\n\t\t\tHttpsPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpToUserIp: pulumi.String(\"Off\"),\n\t\t\tHttpsRedirect: pulumi.String(\"Off\"),\n\t\t\tLoadBalancing: pulumi.String(\"IpHash\"),\n\t\t\tLogHeaders: waf.DomainLogHeaderArray{\n\t\t\t\t\u0026waf.DomainLogHeaderArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"http\"),\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.alicloud.waf.Domain;\nimport com.pulumi.alicloud.waf.DomainArgs;\nimport com.pulumi.alicloud.waf.inputs.DomainLogHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var domain = new Domain(\"domain\", DomainArgs.builder()\n .domainName(\"alicloud-provider.cn\")\n .instanceId(\"waf-123455\")\n .isAccessProduct(\"On\")\n .sourceIps(\"1.1.1.1\")\n .clusterType(\"PhysicalCluster\")\n .http2Ports(\"443\")\n .httpPorts(\"80\")\n .httpsPorts(\"443\")\n .httpToUserIp(\"Off\")\n .httpsRedirect(\"Off\")\n .loadBalancing(\"IpHash\")\n .logHeaders(DomainLogHeaderArgs.builder()\n .key(\"foo\")\n .value(\"http\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n domain:\n type: alicloud:waf:Domain\n properties:\n domainName: alicloud-provider.cn\n instanceId: waf-123455\n isAccessProduct: On\n sourceIps:\n - 1.1.1.1\n clusterType: PhysicalCluster\n http2Ports:\n - 443\n httpPorts:\n - 80\n httpsPorts:\n - 443\n httpToUserIp: Off\n httpsRedirect: Off\n loadBalancing: IpHash\n logHeaders:\n - key: foo\n value: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWAF domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/domain:Domain domain waf-132435:www.domain.com\n```\n\n", "properties": { "clusterType": { "type": "string", @@ -270093,7 +275959,7 @@ } }, "alicloud:waf/protectionModule:ProtectionModule": { - "description": "Provides a Web Application Firewall(WAF) Protection Module resource.\n\nFor information about Web Application Firewall(WAF) Protection Module and how to use it, see [What is Protection Module](https://www.alibabacloud.com/help/en/doc-detail/160775.htm).\n\n\u003e **NOTE:** Available in v1.141.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.waf.getInstances({});\nconst defaultDomain = new alicloud.waf.Domain(\"default\", {\n domainName: \"you domain\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n isAccessProduct: \"On\",\n sourceIps: [\"1.1.1.1\"],\n clusterType: \"PhysicalCluster\",\n http2Ports: [\"443\"],\n httpPorts: [\"80\"],\n httpsPorts: [\"443\"],\n httpToUserIp: \"Off\",\n httpsRedirect: \"Off\",\n loadBalancing: \"IpHash\",\n logHeaders: [{\n key: \"foo\",\n value: \"http\",\n }],\n});\nconst defaultProtectionModule = new alicloud.waf.ProtectionModule(\"default\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n domain: defaultDomain.domainName,\n defenseType: \"ac_cc\",\n mode: 0,\n status: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.waf.get_instances()\ndefault_domain = alicloud.waf.Domain(\"default\",\n domain_name=\"you domain\",\n instance_id=default.ids[0],\n is_access_product=\"On\",\n source_ips=[\"1.1.1.1\"],\n cluster_type=\"PhysicalCluster\",\n http2_ports=[\"443\"],\n http_ports=[\"80\"],\n https_ports=[\"443\"],\n http_to_user_ip=\"Off\",\n https_redirect=\"Off\",\n load_balancing=\"IpHash\",\n log_headers=[{\n \"key\": \"foo\",\n \"value\": \"http\",\n }])\ndefault_protection_module = alicloud.waf.ProtectionModule(\"default\",\n instance_id=default.ids[0],\n domain=default_domain.domain_name,\n defense_type=\"ac_cc\",\n mode=0,\n status=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Waf.GetInstances.Invoke();\n\n var defaultDomain = new AliCloud.Waf.Domain(\"default\", new()\n {\n DomainName = \"you domain\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n IsAccessProduct = \"On\",\n SourceIps = new[]\n {\n \"1.1.1.1\",\n },\n ClusterType = \"PhysicalCluster\",\n Http2Ports = new[]\n {\n \"443\",\n },\n HttpPorts = new[]\n {\n \"80\",\n },\n HttpsPorts = new[]\n {\n \"443\",\n },\n HttpToUserIp = \"Off\",\n HttpsRedirect = \"Off\",\n LoadBalancing = \"IpHash\",\n LogHeaders = new[]\n {\n new AliCloud.Waf.Inputs.DomainLogHeaderArgs\n {\n Key = \"foo\",\n Value = \"http\",\n },\n },\n });\n\n var defaultProtectionModule = new AliCloud.Waf.ProtectionModule(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n Domain = defaultDomain.DomainName,\n DefenseType = \"ac_cc\",\n Mode = 0,\n Status = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := waf.GetInstances(ctx, \u0026waf.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomain, err := waf.NewDomain(ctx, \"default\", \u0026waf.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"you domain\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tIsAccessProduct: pulumi.String(\"On\"),\n\t\t\tSourceIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tClusterType: pulumi.String(\"PhysicalCluster\"),\n\t\t\tHttp2Ports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t},\n\t\t\tHttpsPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpToUserIp: pulumi.String(\"Off\"),\n\t\t\tHttpsRedirect: pulumi.String(\"Off\"),\n\t\t\tLoadBalancing: pulumi.String(\"IpHash\"),\n\t\t\tLogHeaders: waf.DomainLogHeaderArray{\n\t\t\t\t\u0026waf.DomainLogHeaderArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"http\"),\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 = waf.NewProtectionModule(ctx, \"default\", \u0026waf.ProtectionModuleArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tDomain: defaultDomain.DomainName,\n\t\t\tDefenseType: pulumi.String(\"ac_cc\"),\n\t\t\tMode: pulumi.Int(0),\n\t\t\tStatus: 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.alicloud.waf.WafFunctions;\nimport com.pulumi.alicloud.waf.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.waf.Domain;\nimport com.pulumi.alicloud.waf.DomainArgs;\nimport com.pulumi.alicloud.waf.inputs.DomainLogHeaderArgs;\nimport com.pulumi.alicloud.waf.ProtectionModule;\nimport com.pulumi.alicloud.waf.ProtectionModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = WafFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domainName(\"you domain\")\n .instanceId(default_.ids()[0])\n .isAccessProduct(\"On\")\n .sourceIps(\"1.1.1.1\")\n .clusterType(\"PhysicalCluster\")\n .http2Ports(\"443\")\n .httpPorts(\"80\")\n .httpsPorts(\"443\")\n .httpToUserIp(\"Off\")\n .httpsRedirect(\"Off\")\n .loadBalancing(\"IpHash\")\n .logHeaders(DomainLogHeaderArgs.builder()\n .key(\"foo\")\n .value(\"http\")\n .build())\n .build());\n\n var defaultProtectionModule = new ProtectionModule(\"defaultProtectionModule\", ProtectionModuleArgs.builder()\n .instanceId(default_.ids()[0])\n .domain(defaultDomain.domainName())\n .defenseType(\"ac_cc\")\n .mode(0)\n .status(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDomain:\n type: alicloud:waf:Domain\n name: default\n properties:\n domainName: you domain\n instanceId: ${default.ids[0]}\n isAccessProduct: On\n sourceIps:\n - 1.1.1.1\n clusterType: PhysicalCluster\n http2Ports:\n - 443\n httpPorts:\n - 80\n httpsPorts:\n - 443\n httpToUserIp: Off\n httpsRedirect: Off\n loadBalancing: IpHash\n logHeaders:\n - key: foo\n value: http\n defaultProtectionModule:\n type: alicloud:waf:ProtectionModule\n name: default\n properties:\n instanceId: ${default.ids[0]}\n domain: ${defaultDomain.domainName}\n defenseType: ac_cc\n mode: 0\n status: 0\nvariables:\n default:\n fn::invoke:\n function: alicloud:waf:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWeb Application Firewall(WAF) Protection Module can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/protectionModule:ProtectionModule example \u003cinstance_id\u003e:\u003cdomain\u003e:\u003cdefense_type\u003e\n```\n\n", + "description": "Provides a Web Application Firewall(WAF) Protection Module resource.\n\nFor information about Web Application Firewall(WAF) Protection Module and how to use it, see [What is Protection Module](https://www.alibabacloud.com/help/en/doc-detail/160775.htm).\n\n\u003e **NOTE:** Available in v1.141.0+.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.waf.getInstances({});\nconst defaultDomain = new alicloud.waf.Domain(\"default\", {\n domainName: \"you domain\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n isAccessProduct: \"On\",\n sourceIps: [\"1.1.1.1\"],\n clusterType: \"PhysicalCluster\",\n http2Ports: [\"443\"],\n httpPorts: [\"80\"],\n httpsPorts: [\"443\"],\n httpToUserIp: \"Off\",\n httpsRedirect: \"Off\",\n loadBalancing: \"IpHash\",\n logHeaders: [{\n key: \"foo\",\n value: \"http\",\n }],\n});\nconst defaultProtectionModule = new alicloud.waf.ProtectionModule(\"default\", {\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n domain: defaultDomain.domainName,\n defenseType: \"ac_cc\",\n mode: 0,\n status: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.waf.get_instances()\ndefault_domain = alicloud.waf.Domain(\"default\",\n domain_name=\"you domain\",\n instance_id=default.ids[0],\n is_access_product=\"On\",\n source_ips=[\"1.1.1.1\"],\n cluster_type=\"PhysicalCluster\",\n http2_ports=[\"443\"],\n http_ports=[\"80\"],\n https_ports=[\"443\"],\n http_to_user_ip=\"Off\",\n https_redirect=\"Off\",\n load_balancing=\"IpHash\",\n log_headers=[{\n \"key\": \"foo\",\n \"value\": \"http\",\n }])\ndefault_protection_module = alicloud.waf.ProtectionModule(\"default\",\n instance_id=default.ids[0],\n domain=default_domain.domain_name,\n defense_type=\"ac_cc\",\n mode=0,\n status=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.Waf.GetInstances.Invoke();\n\n var defaultDomain = new AliCloud.Waf.Domain(\"default\", new()\n {\n DomainName = \"you domain\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n IsAccessProduct = \"On\",\n SourceIps = new[]\n {\n \"1.1.1.1\",\n },\n ClusterType = \"PhysicalCluster\",\n Http2Ports = new[]\n {\n \"443\",\n },\n HttpPorts = new[]\n {\n \"80\",\n },\n HttpsPorts = new[]\n {\n \"443\",\n },\n HttpToUserIp = \"Off\",\n HttpsRedirect = \"Off\",\n LoadBalancing = \"IpHash\",\n LogHeaders = new[]\n {\n new AliCloud.Waf.Inputs.DomainLogHeaderArgs\n {\n Key = \"foo\",\n Value = \"http\",\n },\n },\n });\n\n var defaultProtectionModule = new AliCloud.Waf.ProtectionModule(\"default\", new()\n {\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n Domain = defaultDomain.DomainName,\n DefenseType = \"ac_cc\",\n Mode = 0,\n Status = 0,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/waf\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := waf.GetInstances(ctx, \u0026waf.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultDomain, err := waf.NewDomain(ctx, \"default\", \u0026waf.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"you domain\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tIsAccessProduct: pulumi.String(\"On\"),\n\t\t\tSourceIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tClusterType: pulumi.String(\"PhysicalCluster\"),\n\t\t\tHttp2Ports: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"80\"),\n\t\t\t},\n\t\t\tHttpsPorts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"443\"),\n\t\t\t},\n\t\t\tHttpToUserIp: pulumi.String(\"Off\"),\n\t\t\tHttpsRedirect: pulumi.String(\"Off\"),\n\t\t\tLoadBalancing: pulumi.String(\"IpHash\"),\n\t\t\tLogHeaders: waf.DomainLogHeaderArray{\n\t\t\t\t\u0026waf.DomainLogHeaderArgs{\n\t\t\t\t\tKey: pulumi.String(\"foo\"),\n\t\t\t\t\tValue: pulumi.String(\"http\"),\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 = waf.NewProtectionModule(ctx, \"default\", \u0026waf.ProtectionModuleArgs{\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tDomain: defaultDomain.DomainName,\n\t\t\tDefenseType: pulumi.String(\"ac_cc\"),\n\t\t\tMode: pulumi.Int(0),\n\t\t\tStatus: 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.alicloud.waf.WafFunctions;\nimport com.pulumi.alicloud.waf.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.waf.Domain;\nimport com.pulumi.alicloud.waf.DomainArgs;\nimport com.pulumi.alicloud.waf.inputs.DomainLogHeaderArgs;\nimport com.pulumi.alicloud.waf.ProtectionModule;\nimport com.pulumi.alicloud.waf.ProtectionModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = WafFunctions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultDomain = new Domain(\"defaultDomain\", DomainArgs.builder()\n .domainName(\"you domain\")\n .instanceId(default_.ids()[0])\n .isAccessProduct(\"On\")\n .sourceIps(\"1.1.1.1\")\n .clusterType(\"PhysicalCluster\")\n .http2Ports(\"443\")\n .httpPorts(\"80\")\n .httpsPorts(\"443\")\n .httpToUserIp(\"Off\")\n .httpsRedirect(\"Off\")\n .loadBalancing(\"IpHash\")\n .logHeaders(DomainLogHeaderArgs.builder()\n .key(\"foo\")\n .value(\"http\")\n .build())\n .build());\n\n var defaultProtectionModule = new ProtectionModule(\"defaultProtectionModule\", ProtectionModuleArgs.builder()\n .instanceId(default_.ids()[0])\n .domain(defaultDomain.domainName())\n .defenseType(\"ac_cc\")\n .mode(0)\n .status(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultDomain:\n type: alicloud:waf:Domain\n name: default\n properties:\n domainName: you domain\n instanceId: ${default.ids[0]}\n isAccessProduct: On\n sourceIps:\n - 1.1.1.1\n clusterType: PhysicalCluster\n http2Ports:\n - 443\n httpPorts:\n - 80\n httpsPorts:\n - 443\n httpToUserIp: Off\n httpsRedirect: Off\n loadBalancing: IpHash\n logHeaders:\n - key: foo\n value: http\n defaultProtectionModule:\n type: alicloud:waf:ProtectionModule\n name: default\n properties:\n instanceId: ${default.ids[0]}\n domain: ${defaultDomain.domainName}\n defenseType: ac_cc\n mode: 0\n status: 0\nvariables:\n default:\n fn::invoke:\n function: alicloud:waf:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWeb Application Firewall(WAF) Protection Module can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:waf/protectionModule:ProtectionModule example \u003cinstance_id\u003e:\u003cdomain\u003e:\u003cdefense_type\u003e\n```\n\n", "properties": { "defenseType": { "type": "string", @@ -270184,7 +276050,7 @@ } }, "alicloud:wafv3/defenseResourceGroup:DefenseResourceGroup": { - "description": "Provides a WAFV3 Defense Resource Group resource.\n\n\n\nFor information about WAFV3 Defense Resource Group and how to use it, see [What is Defense Resource Group](https://next.api.alibabacloud.com/document/waf-openapi/2021-10-01/CreateDefenseResourceGroup).\n\n\u003e **NOTE:** Available since v1.263.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst defaultHaF1fD = new alicloud.wafv3.Instance(\"defaultHaF1fD\", {});\nconst defaultHVcskT = new alicloud.wafv3.Domain(\"defaultHVcskT\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_1.wafqax.top\",\n accessType: \"share\",\n});\nconst defaultEH4CwO = new alicloud.wafv3.Domain(\"defaultEH4CwO\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_2.wafqax.top\",\n accessType: \"share\",\n});\nconst defaultY0ge1N = new alicloud.wafv3.Domain(\"defaultY0ge1N\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_3.wafqax.top\",\n accessType: \"share\",\n});\nconst _default = new alicloud.wafv3.DefenseResourceGroup(\"default\", {\n groupName: \"examplefromTF\",\n resourceLists: [defaultHVcskT.domainId],\n description: \"example\",\n instanceId: defaultHaF1fD.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndefault_ha_f1f_d = alicloud.wafv3.Instance(\"defaultHaF1fD\")\ndefault_h_vcsk_t = alicloud.wafv3.Domain(\"defaultHVcskT\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_1.wafqax.top\",\n access_type=\"share\")\ndefault_eh4_cw_o = alicloud.wafv3.Domain(\"defaultEH4CwO\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_2.wafqax.top\",\n access_type=\"share\")\ndefault_y0ge1_n = alicloud.wafv3.Domain(\"defaultY0ge1N\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_3.wafqax.top\",\n access_type=\"share\")\ndefault = alicloud.wafv3.DefenseResourceGroup(\"default\",\n group_name=\"examplefromTF\",\n resource_lists=[default_h_vcsk_t.domain_id],\n description=\"example\",\n instance_id=default_ha_f1f_d.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var defaultHaF1fD = new AliCloud.Wafv3.Instance(\"defaultHaF1fD\");\n\n var defaultHVcskT = new AliCloud.Wafv3.Domain(\"defaultHVcskT\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_1.wafqax.top\",\n AccessType = \"share\",\n });\n\n var defaultEH4CwO = new AliCloud.Wafv3.Domain(\"defaultEH4CwO\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_2.wafqax.top\",\n AccessType = \"share\",\n });\n\n var defaultY0ge1N = new AliCloud.Wafv3.Domain(\"defaultY0ge1N\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_3.wafqax.top\",\n AccessType = \"share\",\n });\n\n var @default = new AliCloud.Wafv3.DefenseResourceGroup(\"default\", new()\n {\n GroupName = \"examplefromTF\",\n ResourceLists = new[]\n {\n defaultHVcskT.DomainId,\n },\n Description = \"example\",\n InstanceId = defaultHaF1fD.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultHaF1fD, err := wafv3.NewInstance(ctx, \"defaultHaF1fD\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHVcskT, err := wafv3.NewDomain(ctx, \"defaultHVcskT\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_1.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDomain(ctx, \"defaultEH4CwO\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_2.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDomain(ctx, \"defaultY0ge1N\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_3.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDefenseResourceGroup(ctx, \"default\", \u0026wafv3.DefenseResourceGroupArgs{\n\t\t\tGroupName: pulumi.String(\"examplefromTF\"),\n\t\t\tResourceLists: pulumi.StringArray{\n\t\t\t\tdefaultHVcskT.DomainId,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tInstanceId: defaultHaF1fD.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.alicloud.wafv3.Instance;\nimport com.pulumi.alicloud.wafv3.Domain;\nimport com.pulumi.alicloud.wafv3.DomainArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainListenArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainRedirectArgs;\nimport com.pulumi.alicloud.wafv3.DefenseResourceGroup;\nimport com.pulumi.alicloud.wafv3.DefenseResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n var defaultHaF1fD = new Instance(\"defaultHaF1fD\");\n\n var defaultHVcskT = new Domain(\"defaultHVcskT\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_1.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var defaultEH4CwO = new Domain(\"defaultEH4CwO\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_2.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var defaultY0ge1N = new Domain(\"defaultY0ge1N\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_3.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var default_ = new DefenseResourceGroup(\"default\", DefenseResourceGroupArgs.builder()\n .groupName(\"examplefromTF\")\n .resourceLists(defaultHVcskT.domainId())\n .description(\"example\")\n .instanceId(defaultHaF1fD.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-hangzhou\nresources:\n defaultHaF1fD:\n type: alicloud:wafv3:Instance\n defaultHVcskT:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_1.wafqax.top\n accessType: share\n defaultEH4CwO:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_2.wafqax.top\n accessType: share\n defaultY0ge1N:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_3.wafqax.top\n accessType: share\n default:\n type: alicloud:wafv3:DefenseResourceGroup\n properties:\n groupName: examplefromTF\n resourceLists:\n - ${defaultHVcskT.domainId}\n description: example\n instanceId: ${defaultHaF1fD.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAFV3 Defense Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseResourceGroup:DefenseResourceGroup example \u003cinstance_id\u003e:\u003cgroup_name\u003e\n```\n\n", + "description": "Provides a WAFV3 Defense Resource Group resource.\n\n\n\nFor information about WAFV3 Defense Resource Group and how to use it, see [What is Defense Resource Group](https://next.api.alibabacloud.com/document/waf-openapi/2021-10-01/CreateDefenseResourceGroup).\n\n\u003e **NOTE:** Available since v1.263.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst defaultHaF1fD = new alicloud.wafv3.Instance(\"defaultHaF1fD\", {});\nconst defaultHVcskT = new alicloud.wafv3.Domain(\"defaultHVcskT\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_1.wafqax.top\",\n accessType: \"share\",\n});\nconst defaultEH4CwO = new alicloud.wafv3.Domain(\"defaultEH4CwO\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_2.wafqax.top\",\n accessType: \"share\",\n});\nconst defaultY0ge1N = new alicloud.wafv3.Domain(\"defaultY0ge1N\", {\n instanceId: defaultHaF1fD.id,\n listen: {\n httpPorts: [80],\n },\n redirect: {\n backends: [\"6.36.36.36\"],\n loadbalance: \"iphash\",\n },\n domain: \"1511928242963727_3.wafqax.top\",\n accessType: \"share\",\n});\nconst _default = new alicloud.wafv3.DefenseResourceGroup(\"default\", {\n groupName: \"examplefromTF\",\n resourceLists: [defaultHVcskT.domainId],\n description: \"example\",\n instanceId: defaultHaF1fD.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndefault_ha_f1f_d = alicloud.wafv3.Instance(\"defaultHaF1fD\")\ndefault_h_vcsk_t = alicloud.wafv3.Domain(\"defaultHVcskT\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_1.wafqax.top\",\n access_type=\"share\")\ndefault_eh4_cw_o = alicloud.wafv3.Domain(\"defaultEH4CwO\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_2.wafqax.top\",\n access_type=\"share\")\ndefault_y0ge1_n = alicloud.wafv3.Domain(\"defaultY0ge1N\",\n instance_id=default_ha_f1f_d.id,\n listen={\n \"http_ports\": [80],\n },\n redirect={\n \"backends\": [\"6.36.36.36\"],\n \"loadbalance\": \"iphash\",\n },\n domain=\"1511928242963727_3.wafqax.top\",\n access_type=\"share\")\ndefault = alicloud.wafv3.DefenseResourceGroup(\"default\",\n group_name=\"examplefromTF\",\n resource_lists=[default_h_vcsk_t.domain_id],\n description=\"example\",\n instance_id=default_ha_f1f_d.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var defaultHaF1fD = new AliCloud.Wafv3.Instance(\"defaultHaF1fD\");\n\n var defaultHVcskT = new AliCloud.Wafv3.Domain(\"defaultHVcskT\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_1.wafqax.top\",\n AccessType = \"share\",\n });\n\n var defaultEH4CwO = new AliCloud.Wafv3.Domain(\"defaultEH4CwO\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_2.wafqax.top\",\n AccessType = \"share\",\n });\n\n var defaultY0ge1N = new AliCloud.Wafv3.Domain(\"defaultY0ge1N\", new()\n {\n InstanceId = defaultHaF1fD.Id,\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Backends = new[]\n {\n \"6.36.36.36\",\n },\n Loadbalance = \"iphash\",\n },\n DomainName = \"1511928242963727_3.wafqax.top\",\n AccessType = \"share\",\n });\n\n var @default = new AliCloud.Wafv3.DefenseResourceGroup(\"default\", new()\n {\n GroupName = \"examplefromTF\",\n ResourceLists = new[]\n {\n defaultHVcskT.DomainId,\n },\n Description = \"example\",\n InstanceId = defaultHaF1fD.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdefaultHaF1fD, err := wafv3.NewInstance(ctx, \"defaultHaF1fD\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultHVcskT, err := wafv3.NewDomain(ctx, \"defaultHVcskT\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_1.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDomain(ctx, \"defaultEH4CwO\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_2.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDomain(ctx, \"defaultY0ge1N\", \u0026wafv3.DomainArgs{\n\t\t\tInstanceId: defaultHaF1fD.ID(),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(80),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"6.36.36.36\"),\n\t\t\t\t},\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"1511928242963727_3.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDefenseResourceGroup(ctx, \"default\", \u0026wafv3.DefenseResourceGroupArgs{\n\t\t\tGroupName: pulumi.String(\"examplefromTF\"),\n\t\t\tResourceLists: pulumi.StringArray{\n\t\t\t\tdefaultHVcskT.DomainId,\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tInstanceId: defaultHaF1fD.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.alicloud.wafv3.Instance;\nimport com.pulumi.alicloud.wafv3.Domain;\nimport com.pulumi.alicloud.wafv3.DomainArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainListenArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainRedirectArgs;\nimport com.pulumi.alicloud.wafv3.DefenseResourceGroup;\nimport com.pulumi.alicloud.wafv3.DefenseResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n var defaultHaF1fD = new Instance(\"defaultHaF1fD\");\n\n var defaultHVcskT = new Domain(\"defaultHVcskT\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_1.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var defaultEH4CwO = new Domain(\"defaultEH4CwO\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_2.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var defaultY0ge1N = new Domain(\"defaultY0ge1N\", DomainArgs.builder()\n .instanceId(defaultHaF1fD.id())\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .redirect(DomainRedirectArgs.builder()\n .backends(\"6.36.36.36\")\n .loadbalance(\"iphash\")\n .build())\n .domain(\"1511928242963727_3.wafqax.top\")\n .accessType(\"share\")\n .build());\n\n var default_ = new DefenseResourceGroup(\"default\", DefenseResourceGroupArgs.builder()\n .groupName(\"examplefromTF\")\n .resourceLists(defaultHVcskT.domainId())\n .description(\"example\")\n .instanceId(defaultHaF1fD.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\n regionId:\n type: string\n default: cn-hangzhou\nresources:\n defaultHaF1fD:\n type: alicloud:wafv3:Instance\n defaultHVcskT:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_1.wafqax.top\n accessType: share\n defaultEH4CwO:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_2.wafqax.top\n accessType: share\n defaultY0ge1N:\n type: alicloud:wafv3:Domain\n properties:\n instanceId: ${defaultHaF1fD.id}\n listen:\n httpPorts:\n - '80'\n redirect:\n backends:\n - 6.36.36.36\n loadbalance: iphash\n domain: 1511928242963727_3.wafqax.top\n accessType: share\n default:\n type: alicloud:wafv3:DefenseResourceGroup\n properties:\n groupName: examplefromTF\n resourceLists:\n - ${defaultHVcskT.domainId}\n description: example\n instanceId: ${defaultHaF1fD.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWAFV3 Defense Resource Group can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseResourceGroup:DefenseResourceGroup example \u003cinstance_id\u003e:\u003cgroup_name\u003e\n```\n\n", "properties": { "description": { "type": "string", @@ -270266,7 +276132,7 @@ } }, "alicloud:wafv3/defenseRule:DefenseRule": { - "description": "Provides a WAFV3 Defense Rule resource.\n\n\n\nFor information about WAFV3 Defense Rule and how to use it, see [What is Defense Rule](https://next.api.alibabacloud.com/document/waf-openapi/2021-10-01/CreateDefenseRule).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst domain = config.get(\"domain\") || \"example.wafqax.top\";\nconst _default = alicloud.wafv3.getInstances({});\nconst defaultICMRhk = new alicloud.wafv3.Domain(\"defaultICMRhk\", {\n redirect: {\n loadbalance: \"iphash\",\n backends: [\"39.98.217.197\"],\n connectTimeout: 5,\n readTimeout: 120,\n writeTimeout: 120,\n },\n domain: \"example.wafqax.top\",\n accessType: \"share\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n listen: {\n httpPorts: [80],\n },\n});\nconst defaultDefenseRule = new alicloud.wafv3.DefenseRule(\"default\", {\n defenseType: \"resource\",\n defenseScene: \"account_identifier\",\n ruleStatus: 1,\n resource: defaultICMRhk.domainId,\n defenseOrigin: \"custom\",\n config: {\n accountIdentifiers: [{\n position: \"jwt\",\n priority: 2,\n decodeType: \"jwt\",\n key: \"Query-Arg\",\n subKey: \"adb\",\n }],\n },\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"example.wafqax.top\"\ndefault = alicloud.wafv3.get_instances()\ndefault_icm_rhk = alicloud.wafv3.Domain(\"defaultICMRhk\",\n redirect={\n \"loadbalance\": \"iphash\",\n \"backends\": [\"39.98.217.197\"],\n \"connect_timeout\": 5,\n \"read_timeout\": 120,\n \"write_timeout\": 120,\n },\n domain=\"example.wafqax.top\",\n access_type=\"share\",\n instance_id=default.ids[0],\n listen={\n \"http_ports\": [80],\n })\ndefault_defense_rule = alicloud.wafv3.DefenseRule(\"default\",\n defense_type=\"resource\",\n defense_scene=\"account_identifier\",\n rule_status=1,\n resource=default_icm_rhk.domain_id,\n defense_origin=\"custom\",\n config={\n \"account_identifiers\": [{\n \"position\": \"jwt\",\n \"priority\": 2,\n \"decode_type\": \"jwt\",\n \"key\": \"Query-Arg\",\n \"sub_key\": \"adb\",\n }],\n },\n instance_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var domain = config.Get(\"domain\") ?? \"example.wafqax.top\";\n var @default = AliCloud.Wafv3.GetInstances.Invoke();\n\n var defaultICMRhk = new AliCloud.Wafv3.Domain(\"defaultICMRhk\", new()\n {\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Loadbalance = \"iphash\",\n Backends = new[]\n {\n \"39.98.217.197\",\n },\n ConnectTimeout = 5,\n ReadTimeout = 120,\n WriteTimeout = 120,\n },\n DomainName = \"example.wafqax.top\",\n AccessType = \"share\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n });\n\n var defaultDefenseRule = new AliCloud.Wafv3.DefenseRule(\"default\", new()\n {\n DefenseType = \"resource\",\n DefenseScene = \"account_identifier\",\n RuleStatus = 1,\n Resource = defaultICMRhk.DomainId,\n DefenseOrigin = \"custom\",\n Config = new AliCloud.Wafv3.Inputs.DefenseRuleConfigArgs\n {\n AccountIdentifiers = new[]\n {\n new AliCloud.Wafv3.Inputs.DefenseRuleConfigAccountIdentifierArgs\n {\n Position = \"jwt\",\n Priority = 2,\n DecodeType = \"jwt\",\n Key = \"Query-Arg\",\n SubKey = \"adb\",\n },\n },\n },\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdomain := \"example.wafqax.top\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_default, err := wafv3.GetInstances(ctx, \u0026wafv3.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultICMRhk, err := wafv3.NewDomain(ctx, \"defaultICMRhk\", \u0026wafv3.DomainArgs{\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"39.98.217.197\"),\n\t\t\t\t},\n\t\t\t\tConnectTimeout: pulumi.Int(5),\n\t\t\t\tReadTimeout: pulumi.Int(120),\n\t\t\t\tWriteTimeout: pulumi.Int(120),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"example.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.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\t_, err = wafv3.NewDefenseRule(ctx, \"default\", \u0026wafv3.DefenseRuleArgs{\n\t\t\tDefenseType: pulumi.String(\"resource\"),\n\t\t\tDefenseScene: pulumi.String(\"account_identifier\"),\n\t\t\tRuleStatus: pulumi.Int(1),\n\t\t\tResource: defaultICMRhk.DomainId,\n\t\t\tDefenseOrigin: pulumi.String(\"custom\"),\n\t\t\tConfig: \u0026wafv3.DefenseRuleConfigArgs{\n\t\t\t\tAccountIdentifiers: wafv3.DefenseRuleConfigAccountIdentifierArray{\n\t\t\t\t\t\u0026wafv3.DefenseRuleConfigAccountIdentifierArgs{\n\t\t\t\t\t\tPosition: pulumi.String(\"jwt\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\t\tDecodeType: pulumi.String(\"jwt\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Query-Arg\"),\n\t\t\t\t\t\tSubKey: pulumi.String(\"adb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceId: pulumi.String(_default.Ids[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.alicloud.wafv3.Wafv3Functions;\nimport com.pulumi.alicloud.wafv3.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.wafv3.Domain;\nimport com.pulumi.alicloud.wafv3.DomainArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainRedirectArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainListenArgs;\nimport com.pulumi.alicloud.wafv3.DefenseRule;\nimport com.pulumi.alicloud.wafv3.DefenseRuleArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DefenseRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n final var domain = config.get(\"domain\").orElse(\"example.wafqax.top\");\n final var default = Wafv3Functions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultICMRhk = new Domain(\"defaultICMRhk\", DomainArgs.builder()\n .redirect(DomainRedirectArgs.builder()\n .loadbalance(\"iphash\")\n .backends(\"39.98.217.197\")\n .connectTimeout(5)\n .readTimeout(120)\n .writeTimeout(120)\n .build())\n .domain(\"example.wafqax.top\")\n .accessType(\"share\")\n .instanceId(default_.ids()[0])\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .build());\n\n var defaultDefenseRule = new DefenseRule(\"defaultDefenseRule\", DefenseRuleArgs.builder()\n .defenseType(\"resource\")\n .defenseScene(\"account_identifier\")\n .ruleStatus(1)\n .resource(defaultICMRhk.domainId())\n .defenseOrigin(\"custom\")\n .config(DefenseRuleConfigArgs.builder()\n .accountIdentifiers(DefenseRuleConfigAccountIdentifierArgs.builder()\n .position(\"jwt\")\n .priority(2)\n .decodeType(\"jwt\")\n .key(\"Query-Arg\")\n .subKey(\"adb\")\n .build())\n .build())\n .instanceId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\n regionId:\n type: string\n default: cn-hangzhou\n domain:\n type: string\n default: example.wafqax.top\nresources:\n defaultICMRhk:\n type: alicloud:wafv3:Domain\n properties:\n redirect:\n loadbalance: iphash\n backends:\n - 39.98.217.197\n connectTimeout: 5\n readTimeout: 120\n writeTimeout: 120\n domain: example.wafqax.top\n accessType: share\n instanceId: ${default.ids[0]}\n listen:\n httpPorts:\n - '80'\n defaultDefenseRule:\n type: alicloud:wafv3:DefenseRule\n name: default\n properties:\n defenseType: resource\n defenseScene: account_identifier\n ruleStatus: '1'\n resource: ${defaultICMRhk.domainId}\n defenseOrigin: custom\n config:\n accountIdentifiers:\n - position: jwt\n priority: '2'\n decodeType: jwt\n key: Query-Arg\n subKey: adb\n instanceId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:wafv3:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAFV3 Defense Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseRule:DefenseRule example \u003cinstance_id\u003e:\u003cdefense_type\u003e:\u003crule_id\u003e\n```\n\n", + "description": "Provides a WAFV3 Defense Rule resource.\n\n\n\nFor information about WAFV3 Defense Rule and how to use it, see [What is Defense Rule](https://next.api.alibabacloud.com/document/waf-openapi/2021-10-01/CreateDefenseRule).\n\n\u003e **NOTE:** Available since v1.257.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"tfexample\";\nconst regionId = config.get(\"regionId\") || \"cn-hangzhou\";\nconst domain = config.get(\"domain\") || \"example.wafqax.top\";\nconst _default = alicloud.wafv3.getInstances({});\nconst defaultICMRhk = new alicloud.wafv3.Domain(\"defaultICMRhk\", {\n redirect: {\n loadbalance: \"iphash\",\n backends: [\"39.98.217.197\"],\n connectTimeout: 5,\n readTimeout: 120,\n writeTimeout: 120,\n },\n domain: \"example.wafqax.top\",\n accessType: \"share\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n listen: {\n httpPorts: [80],\n },\n});\nconst defaultDefenseRule = new alicloud.wafv3.DefenseRule(\"default\", {\n defenseType: \"resource\",\n defenseScene: \"account_identifier\",\n ruleStatus: 1,\n resource: defaultICMRhk.domainId,\n defenseOrigin: \"custom\",\n config: {\n accountIdentifiers: [{\n position: \"jwt\",\n priority: 2,\n decodeType: \"jwt\",\n key: \"Query-Arg\",\n subKey: \"adb\",\n }],\n },\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"tfexample\"\nregion_id = config.get(\"regionId\")\nif region_id is None:\n region_id = \"cn-hangzhou\"\ndomain = config.get(\"domain\")\nif domain is None:\n domain = \"example.wafqax.top\"\ndefault = alicloud.wafv3.get_instances()\ndefault_icm_rhk = alicloud.wafv3.Domain(\"defaultICMRhk\",\n redirect={\n \"loadbalance\": \"iphash\",\n \"backends\": [\"39.98.217.197\"],\n \"connect_timeout\": 5,\n \"read_timeout\": 120,\n \"write_timeout\": 120,\n },\n domain=\"example.wafqax.top\",\n access_type=\"share\",\n instance_id=default.ids[0],\n listen={\n \"http_ports\": [80],\n })\ndefault_defense_rule = alicloud.wafv3.DefenseRule(\"default\",\n defense_type=\"resource\",\n defense_scene=\"account_identifier\",\n rule_status=1,\n resource=default_icm_rhk.domain_id,\n defense_origin=\"custom\",\n config={\n \"account_identifiers\": [{\n \"position\": \"jwt\",\n \"priority\": 2,\n \"decode_type\": \"jwt\",\n \"key\": \"Query-Arg\",\n \"sub_key\": \"adb\",\n }],\n },\n instance_id=default.ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"tfexample\";\n var regionId = config.Get(\"regionId\") ?? \"cn-hangzhou\";\n var domain = config.Get(\"domain\") ?? \"example.wafqax.top\";\n var @default = AliCloud.Wafv3.GetInstances.Invoke();\n\n var defaultICMRhk = new AliCloud.Wafv3.Domain(\"defaultICMRhk\", new()\n {\n Redirect = new AliCloud.Wafv3.Inputs.DomainRedirectArgs\n {\n Loadbalance = \"iphash\",\n Backends = new[]\n {\n \"39.98.217.197\",\n },\n ConnectTimeout = 5,\n ReadTimeout = 120,\n WriteTimeout = 120,\n },\n DomainName = \"example.wafqax.top\",\n AccessType = \"share\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n Listen = new AliCloud.Wafv3.Inputs.DomainListenArgs\n {\n HttpPorts = new[]\n {\n 80,\n },\n },\n });\n\n var defaultDefenseRule = new AliCloud.Wafv3.DefenseRule(\"default\", new()\n {\n DefenseType = \"resource\",\n DefenseScene = \"account_identifier\",\n RuleStatus = 1,\n Resource = defaultICMRhk.DomainId,\n DefenseOrigin = \"custom\",\n Config = new AliCloud.Wafv3.Inputs.DefenseRuleConfigArgs\n {\n AccountIdentifiers = new[]\n {\n new AliCloud.Wafv3.Inputs.DefenseRuleConfigAccountIdentifierArgs\n {\n Position = \"jwt\",\n Priority = 2,\n DecodeType = \"jwt\",\n Key = \"Query-Arg\",\n SubKey = \"adb\",\n },\n },\n },\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"tfexample\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\tregionId := \"cn-hangzhou\"\n\t\tif param := cfg.Get(\"regionId\"); param != \"\" {\n\t\t\tregionId = param\n\t\t}\n\t\tdomain := \"example.wafqax.top\"\n\t\tif param := cfg.Get(\"domain\"); param != \"\" {\n\t\t\tdomain = param\n\t\t}\n\t\t_default, err := wafv3.GetInstances(ctx, \u0026wafv3.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultICMRhk, err := wafv3.NewDomain(ctx, \"defaultICMRhk\", \u0026wafv3.DomainArgs{\n\t\t\tRedirect: \u0026wafv3.DomainRedirectArgs{\n\t\t\t\tLoadbalance: pulumi.String(\"iphash\"),\n\t\t\t\tBackends: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"39.98.217.197\"),\n\t\t\t\t},\n\t\t\t\tConnectTimeout: pulumi.Int(5),\n\t\t\t\tReadTimeout: pulumi.Int(120),\n\t\t\t\tWriteTimeout: pulumi.Int(120),\n\t\t\t},\n\t\t\tDomain: pulumi.String(\"example.wafqax.top\"),\n\t\t\tAccessType: pulumi.String(\"share\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tListen: \u0026wafv3.DomainListenArgs{\n\t\t\t\tHttpPorts: pulumi.IntArray{\n\t\t\t\t\tpulumi.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\t_, err = wafv3.NewDefenseRule(ctx, \"default\", \u0026wafv3.DefenseRuleArgs{\n\t\t\tDefenseType: pulumi.String(\"resource\"),\n\t\t\tDefenseScene: pulumi.String(\"account_identifier\"),\n\t\t\tRuleStatus: pulumi.Int(1),\n\t\t\tResource: defaultICMRhk.DomainId,\n\t\t\tDefenseOrigin: pulumi.String(\"custom\"),\n\t\t\tConfig: \u0026wafv3.DefenseRuleConfigArgs{\n\t\t\t\tAccountIdentifiers: wafv3.DefenseRuleConfigAccountIdentifierArray{\n\t\t\t\t\t\u0026wafv3.DefenseRuleConfigAccountIdentifierArgs{\n\t\t\t\t\t\tPosition: pulumi.String(\"jwt\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\n\t\t\t\t\t\tDecodeType: pulumi.String(\"jwt\"),\n\t\t\t\t\t\tKey: pulumi.String(\"Query-Arg\"),\n\t\t\t\t\t\tSubKey: pulumi.String(\"adb\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tInstanceId: pulumi.String(_default.Ids[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.alicloud.wafv3.Wafv3Functions;\nimport com.pulumi.alicloud.wafv3.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.wafv3.Domain;\nimport com.pulumi.alicloud.wafv3.DomainArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainRedirectArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DomainListenArgs;\nimport com.pulumi.alicloud.wafv3.DefenseRule;\nimport com.pulumi.alicloud.wafv3.DefenseRuleArgs;\nimport com.pulumi.alicloud.wafv3.inputs.DefenseRuleConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"tfexample\");\n final var regionId = config.get(\"regionId\").orElse(\"cn-hangzhou\");\n final var domain = config.get(\"domain\").orElse(\"example.wafqax.top\");\n final var default = Wafv3Functions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultICMRhk = new Domain(\"defaultICMRhk\", DomainArgs.builder()\n .redirect(DomainRedirectArgs.builder()\n .loadbalance(\"iphash\")\n .backends(\"39.98.217.197\")\n .connectTimeout(5)\n .readTimeout(120)\n .writeTimeout(120)\n .build())\n .domain(\"example.wafqax.top\")\n .accessType(\"share\")\n .instanceId(default_.ids()[0])\n .listen(DomainListenArgs.builder()\n .httpPorts(80)\n .build())\n .build());\n\n var defaultDefenseRule = new DefenseRule(\"defaultDefenseRule\", DefenseRuleArgs.builder()\n .defenseType(\"resource\")\n .defenseScene(\"account_identifier\")\n .ruleStatus(1)\n .resource(defaultICMRhk.domainId())\n .defenseOrigin(\"custom\")\n .config(DefenseRuleConfigArgs.builder()\n .accountIdentifiers(DefenseRuleConfigAccountIdentifierArgs.builder()\n .position(\"jwt\")\n .priority(2)\n .decodeType(\"jwt\")\n .key(\"Query-Arg\")\n .subKey(\"adb\")\n .build())\n .build())\n .instanceId(default_.ids()[0])\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: tfexample\n regionId:\n type: string\n default: cn-hangzhou\n domain:\n type: string\n default: example.wafqax.top\nresources:\n defaultICMRhk:\n type: alicloud:wafv3:Domain\n properties:\n redirect:\n loadbalance: iphash\n backends:\n - 39.98.217.197\n connectTimeout: 5\n readTimeout: 120\n writeTimeout: 120\n domain: example.wafqax.top\n accessType: share\n instanceId: ${default.ids[0]}\n listen:\n httpPorts:\n - '80'\n defaultDefenseRule:\n type: alicloud:wafv3:DefenseRule\n name: default\n properties:\n defenseType: resource\n defenseScene: account_identifier\n ruleStatus: '1'\n resource: ${defaultICMRhk.domainId}\n defenseOrigin: custom\n config:\n accountIdentifiers:\n - position: jwt\n priority: '2'\n decodeType: jwt\n key: Query-Arg\n subKey: adb\n instanceId: ${default.ids[0]}\nvariables:\n default:\n fn::invoke:\n function: alicloud:wafv3:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWAFV3 Defense Rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseRule:DefenseRule example \u003cinstance_id\u003e:\u003cdefense_type\u003e:\u003crule_id\u003e\n```\n\n", "properties": { "config": { "$ref": "#/types/alicloud:wafv3/DefenseRuleConfig:DefenseRuleConfig", @@ -270422,7 +276288,7 @@ } }, "alicloud:wafv3/defenseTemplate:DefenseTemplate": { - "description": "Provides a WAFV3 Defense Template resource.\n\n\n\nFor information about WAFV3 Defense Template and how to use it, see [What is Defense Template](https://www.alibabacloud.com/help/en/web-application-firewall/latest/api-waf-openapi-2021-10-01-createdefensetemplate).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.wafv3.getInstances({});\nconst defaultDefenseTemplate = new alicloud.wafv3.DefenseTemplate(\"default\", {\n status: \"1\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n defenseTemplateName: name,\n templateType: \"user_custom\",\n templateOrigin: \"custom\",\n defenseScene: \"antiscan\",\n resourceManagerResourceGroupId: \"example\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.wafv3.get_instances()\ndefault_defense_template = alicloud.wafv3.DefenseTemplate(\"default\",\n status=\"1\",\n instance_id=default.ids[0],\n defense_template_name=name,\n template_type=\"user_custom\",\n template_origin=\"custom\",\n defense_scene=\"antiscan\",\n resource_manager_resource_group_id=\"example\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Wafv3.GetInstances.Invoke();\n\n var defaultDefenseTemplate = new AliCloud.Wafv3.DefenseTemplate(\"default\", new()\n {\n Status = \"1\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n DefenseTemplateName = name,\n TemplateType = \"user_custom\",\n TemplateOrigin = \"custom\",\n DefenseScene = \"antiscan\",\n ResourceManagerResourceGroupId = \"example\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := wafv3.GetInstances(ctx, \u0026wafv3.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDefenseTemplate(ctx, \"default\", \u0026wafv3.DefenseTemplateArgs{\n\t\t\tStatus: pulumi.String(\"1\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tDefenseTemplateName: pulumi.String(name),\n\t\t\tTemplateType: pulumi.String(\"user_custom\"),\n\t\t\tTemplateOrigin: pulumi.String(\"custom\"),\n\t\t\tDefenseScene: pulumi.String(\"antiscan\"),\n\t\t\tResourceManagerResourceGroupId: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(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.alicloud.wafv3.Wafv3Functions;\nimport com.pulumi.alicloud.wafv3.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.wafv3.DefenseTemplate;\nimport com.pulumi.alicloud.wafv3.DefenseTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = Wafv3Functions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultDefenseTemplate = new DefenseTemplate(\"defaultDefenseTemplate\", DefenseTemplateArgs.builder()\n .status(\"1\")\n .instanceId(default_.ids()[0])\n .defenseTemplateName(name)\n .templateType(\"user_custom\")\n .templateOrigin(\"custom\")\n .defenseScene(\"antiscan\")\n .resourceManagerResourceGroupId(\"example\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDefenseTemplate:\n type: alicloud:wafv3:DefenseTemplate\n name: default\n properties:\n status: '1'\n instanceId: ${default.ids[0]}\n defenseTemplateName: ${name}\n templateType: user_custom\n templateOrigin: custom\n defenseScene: antiscan\n resourceManagerResourceGroupId: example\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:wafv3:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWAFV3 Defense Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseTemplate:DefenseTemplate example \u003cinstance_id\u003e:\u003cdefense_template_id\u003e\n```\n\n", + "description": "Provides a WAFV3 Defense Template resource.\n\n\n\nFor information about WAFV3 Defense Template and how to use it, see [What is Defense Template](https://www.alibabacloud.com/help/en/web-application-firewall/latest/api-waf-openapi-2021-10-01-createdefensetemplate).\n\n\u003e **NOTE:** Available since v1.218.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = alicloud.wafv3.getInstances({});\nconst defaultDefenseTemplate = new alicloud.wafv3.DefenseTemplate(\"default\", {\n status: \"1\",\n instanceId: _default.then(_default =\u003e _default.ids?.[0]),\n defenseTemplateName: name,\n templateType: \"user_custom\",\n templateOrigin: \"custom\",\n defenseScene: \"antiscan\",\n resourceManagerResourceGroupId: \"example\",\n description: name,\n});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.wafv3.get_instances()\ndefault_defense_template = alicloud.wafv3.DefenseTemplate(\"default\",\n status=\"1\",\n instance_id=default.ids[0],\n defense_template_name=name,\n template_type=\"user_custom\",\n template_origin=\"custom\",\n defense_scene=\"antiscan\",\n resource_manager_resource_group_id=\"example\",\n description=name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = AliCloud.Wafv3.GetInstances.Invoke();\n\n var defaultDefenseTemplate = new AliCloud.Wafv3.DefenseTemplate(\"default\", new()\n {\n Status = \"1\",\n InstanceId = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Ids[0])),\n DefenseTemplateName = name,\n TemplateType = \"user_custom\",\n TemplateOrigin = \"custom\",\n DefenseScene = \"antiscan\",\n ResourceManagerResourceGroupId = \"example\",\n Description = name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := wafv3.GetInstances(ctx, \u0026wafv3.GetInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = wafv3.NewDefenseTemplate(ctx, \"default\", \u0026wafv3.DefenseTemplateArgs{\n\t\t\tStatus: pulumi.String(\"1\"),\n\t\t\tInstanceId: pulumi.String(_default.Ids[0]),\n\t\t\tDefenseTemplateName: pulumi.String(name),\n\t\t\tTemplateType: pulumi.String(\"user_custom\"),\n\t\t\tTemplateOrigin: pulumi.String(\"custom\"),\n\t\t\tDefenseScene: pulumi.String(\"antiscan\"),\n\t\t\tResourceManagerResourceGroupId: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(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.alicloud.wafv3.Wafv3Functions;\nimport com.pulumi.alicloud.wafv3.inputs.GetInstancesArgs;\nimport com.pulumi.alicloud.wafv3.DefenseTemplate;\nimport com.pulumi.alicloud.wafv3.DefenseTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n final var default = Wafv3Functions.getInstances(GetInstancesArgs.builder()\n .build());\n\n var defaultDefenseTemplate = new DefenseTemplate(\"defaultDefenseTemplate\", DefenseTemplateArgs.builder()\n .status(\"1\")\n .instanceId(default_.ids()[0])\n .defenseTemplateName(name)\n .templateType(\"user_custom\")\n .templateOrigin(\"custom\")\n .defenseScene(\"antiscan\")\n .resourceManagerResourceGroupId(\"example\")\n .description(name)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n defaultDefenseTemplate:\n type: alicloud:wafv3:DefenseTemplate\n name: default\n properties:\n status: '1'\n instanceId: ${default.ids[0]}\n defenseTemplateName: ${name}\n templateType: user_custom\n templateOrigin: custom\n defenseScene: antiscan\n resourceManagerResourceGroupId: example\n description: ${name}\nvariables:\n default:\n fn::invoke:\n function: alicloud:wafv3:getInstances\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWAFV3 Defense Template can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/defenseTemplate:DefenseTemplate example \u003cinstance_id\u003e:\u003cdefense_template_id\u003e\n```\n\n", "properties": { "defenseScene": { "type": "string", @@ -270767,7 +276633,7 @@ } }, "alicloud:wafv3/instance:Instance": { - "description": "Provides a Wafv3 Instance resource.\n\nFor information about Wafv3 Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/web-application-firewall/latest/what-is-waf).\n\n\u003e **NOTE:** Available since v1.200.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.wafv3.Instance(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.wafv3.Instance(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Wafv3.Instance(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv3.NewInstance(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.alicloud.wafv3.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 example = new Instance(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:wafv3:Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWafv3 Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/instance:Instance example \u003cid\u003e\n```\n\n", + "description": "Provides a Wafv3 Instance resource.\n\nFor information about Wafv3 Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/web-application-firewall/latest/what-is-waf).\n\n\u003e **NOTE:** Available since v1.200.0.\n\n## Example Usage\n\nBasic Usage\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst example = new alicloud.wafv3.Instance(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample = alicloud.wafv3.Instance(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new AliCloud.Wafv3.Instance(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/wafv3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := wafv3.NewInstance(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.alicloud.wafv3.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 example = new Instance(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: alicloud:wafv3:Instance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n📚 Need more examples? VIEW MORE EXAMPLES\n\n## Import\n\nWafv3 Instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import alicloud:wafv3/instance:Instance example \u003cid\u003e\n```\n\n", "properties": { "createTime": { "type": "string", @@ -309854,7 +315720,7 @@ } }, "alicloud:kms/getInstances:getInstances": { - "description": "This data source provides Kms Instance available to the user.[What is Instance](https://www.alibabacloud.com/help/en/)\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst defaultInstance = new alicloud.kms.Instance(\"default\", {\n vpcNum: 7,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n renewStatus: \"ManualRenewal\",\n productVersion: \"3\",\n renewPeriod: 3,\n vpcId: vswitch.vpcId,\n zoneIds: [\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitchIds: [vswitch.id],\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n log: \"0\",\n period: 1,\n logStorage: 0,\n paymentType: \"Subscription\",\n});\nconst _default = alicloud.kms.getInstancesOutput({\n ids: [defaultInstance.id],\n});\nexport const alicloudKmsInstanceExampleId = _default.apply(_default =\u003e _default.instances?.[0]?.instanceId);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault_instance = alicloud.kms.Instance(\"default\",\n vpc_num=7,\n key_num=1000,\n secret_num=0,\n spec=1000,\n renew_status=\"ManualRenewal\",\n product_version=\"3\",\n renew_period=3,\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitch_ids=[vswitch.id],\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ],\n log=\"0\",\n period=1,\n log_storage=0,\n payment_type=\"Subscription\")\ndefault = alicloud.kms.get_instances_output(ids=[default_instance.id])\npulumi.export(\"alicloudKmsInstanceExampleId\", default.instances[0].instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var defaultInstance = new AliCloud.Kms.Instance(\"default\", new()\n {\n VpcNum = 7,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n RenewStatus = \"ManualRenewal\",\n ProductVersion = \"3\",\n RenewPeriod = 3,\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n },\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n Log = \"0\",\n Period = 1,\n LogStorage = 0,\n PaymentType = \"Subscription\",\n });\n\n var @default = AliCloud.Kms.GetInstances.Invoke(new()\n {\n Ids = new[]\n {\n defaultInstance.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"alicloudKmsInstanceExampleId\"] = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.InstanceId)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ncurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: vpc_amp_instance_example.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\nVpcId: vpc_amp_instance_example.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-j\"),\nCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s3\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat.Result),\n})\nif err != nil {\nreturn err\n}\nshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\nVpcId: shareVPC.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s5\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat1.Result),\n})\nif err != nil {\nreturn err\n}\nshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\nVpcId: share_VPC2.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s7\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat2.Result),\n})\nif err != nil {\nreturn err\n}\nshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\nVpcId: share_VPC3.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultInstance, err := kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\nVpcNum: pulumi.Int(7),\nKeyNum: pulumi.Int(1000),\nSecretNum: pulumi.Int(0),\nSpec: pulumi.Int(1000),\nRenewStatus: pulumi.String(\"ManualRenewal\"),\nProductVersion: pulumi.String(\"3\"),\nRenewPeriod: pulumi.Int(3),\nVpcId: vswitch.VpcId,\nZoneIds: pulumi.StringArray{\npulumi.String(\"cn-hangzhou-k\"),\npulumi.String(\"cn-hangzhou-j\"),\n},\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nBindVpcs: kms.InstanceBindVpcArray{\n\u0026kms.InstanceBindVpcArgs{\nVpcId: shareVswitch.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: shareVswitch.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n\u0026kms.InstanceBindVpcArgs{\nVpcId: share_vswitch2.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: share_vswitch2.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n\u0026kms.InstanceBindVpcArgs{\nVpcId: share_vsw3.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: share_vsw3.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n},\nLog: pulumi.String(\"0\"),\nPeriod: pulumi.Int(1),\nLogStorage: pulumi.Int(0),\nPaymentType: pulumi.String(\"Subscription\"),\n})\nif err != nil {\nreturn err\n}\n_default := kms.GetInstancesOutput(ctx, kms.GetInstancesOutputArgs{\nIds: pulumi.StringArray{\ndefaultInstance.ID(),\n},\n}, nil);\nctx.Export(\"alicloudKmsInstanceExampleId\", _default.ApplyT(func(_default kms.GetInstancesResult) (*string, error) {\nreturn \u0026default.Instances[0].InstanceId, nil\n}).(pulumi.StringPtrOutput))\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .vpcNum(7)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .renewStatus(\"ManualRenewal\")\n .productVersion(\"3\")\n .renewPeriod(3)\n .vpcId(vswitch.vpcId())\n .zoneIds( \n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\")\n .vswitchIds(vswitch.id())\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .log(\"0\")\n .period(1)\n .logStorage(0)\n .paymentType(\"Subscription\")\n .build());\n\n final var default = KmsFunctions.getInstances(GetInstancesArgs.builder()\n .ids(defaultInstance.id())\n .build());\n\n ctx.export(\"alicloudKmsInstanceExampleId\", default_.applyValue(_default_ -\u003e _default_.instances()[0].instanceId()));\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n defaultInstance:\n type: alicloud:kms:Instance\n name: default\n properties:\n vpcNum: '7'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n renewStatus: ManualRenewal\n productVersion: '3'\n renewPeriod: '3'\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - cn-hangzhou-k\n - cn-hangzhou-j\n vswitchIds:\n - ${vswitch.id}\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: cn-hangzhou\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: cn-hangzhou\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: cn-hangzhou\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\n log: '0'\n period: '1'\n logStorage: '0'\n paymentType: Subscription\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:kms:getInstances\n arguments:\n ids:\n - ${defaultInstance.id}\noutputs:\n alicloudKmsInstanceExampleId: ${default.instances[0].instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source provides Kms Instance available to the user.[What is Instance](https://www.alibabacloud.com/help/en/)\n\n\u003e **NOTE:** Available since v1.242.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst current = alicloud.getAccount({});\nconst vpc_amp_instance_example = new alicloud.vpc.Network(\"vpc-amp-instance-example\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: name,\n});\nconst vswitch = new alicloud.vpc.Switch(\"vswitch\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst vswitch_j = new alicloud.vpc.Switch(\"vswitch-j\", {\n vpcId: vpc_amp_instance_example.id,\n zoneId: \"cn-hangzhou-j\",\n cidrBlock: \"172.16.2.0/24\",\n});\nconst shareVPC = new alicloud.vpc.Network(\"shareVPC\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s3\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst shareVswitch = new alicloud.vpc.Switch(\"shareVswitch\", {\n vpcId: shareVPC.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC2 = new alicloud.vpc.Network(\"share-VPC2\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s5\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vswitch2 = new alicloud.vpc.Switch(\"share-vswitch2\", {\n vpcId: share_VPC2.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst share_VPC3 = new alicloud.vpc.Network(\"share-VPC3\", {\n cidrBlock: \"172.16.0.0/12\",\n vpcName: std.format({\n input: \"%s7\",\n args: [name],\n }).then(invoke =\u003e invoke.result),\n});\nconst share_vsw3 = new alicloud.vpc.Switch(\"share-vsw3\", {\n vpcId: share_VPC3.id,\n zoneId: \"cn-hangzhou-k\",\n cidrBlock: \"172.16.1.0/24\",\n});\nconst defaultInstance = new alicloud.kms.Instance(\"default\", {\n vpcNum: 7,\n keyNum: 1000,\n secretNum: 0,\n spec: 1000,\n renewStatus: \"ManualRenewal\",\n productVersion: \"3\",\n vpcId: vswitch.vpcId,\n zoneIds: [\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitchIds: [vswitch.id],\n bindVpcs: [\n {\n vpcId: shareVswitch.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: shareVswitch.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vswitch2.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: share_vswitch2.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n {\n vpcId: share_vsw3.vpcId,\n regionId: \"cn-hangzhou\",\n vswitchId: share_vsw3.id,\n vpcOwnerId: current.then(current =\u003e current.id),\n },\n ],\n log: \"0\",\n period: 1,\n logStorage: 0,\n paymentType: \"Subscription\",\n});\nconst _default = alicloud.kms.getInstancesOutput({\n ids: [defaultInstance.id],\n});\nexport const alicloudKmsInstanceExampleId = _default.apply(_default =\u003e _default.instances?.[0]?.instanceId);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ncurrent = alicloud.get_account()\nvpc_amp_instance_example = alicloud.vpc.Network(\"vpc-amp-instance-example\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=name)\nvswitch = alicloud.vpc.Switch(\"vswitch\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nvswitch_j = alicloud.vpc.Switch(\"vswitch-j\",\n vpc_id=vpc_amp_instance_example.id,\n zone_id=\"cn-hangzhou-j\",\n cidr_block=\"172.16.2.0/24\")\nshare_vpc = alicloud.vpc.Network(\"shareVPC\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s3\",\n args=[name]).result)\nshare_vswitch = alicloud.vpc.Switch(\"shareVswitch\",\n vpc_id=share_vpc.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc2 = alicloud.vpc.Network(\"share-VPC2\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s5\",\n args=[name]).result)\nshare_vswitch2 = alicloud.vpc.Switch(\"share-vswitch2\",\n vpc_id=share__vpc2.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\nshare__vpc3 = alicloud.vpc.Network(\"share-VPC3\",\n cidr_block=\"172.16.0.0/12\",\n vpc_name=std.format(input=\"%s7\",\n args=[name]).result)\nshare_vsw3 = alicloud.vpc.Switch(\"share-vsw3\",\n vpc_id=share__vpc3.id,\n zone_id=\"cn-hangzhou-k\",\n cidr_block=\"172.16.1.0/24\")\ndefault_instance = alicloud.kms.Instance(\"default\",\n vpc_num=7,\n key_num=1000,\n secret_num=0,\n spec=1000,\n renew_status=\"ManualRenewal\",\n product_version=\"3\",\n vpc_id=vswitch.vpc_id,\n zone_ids=[\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n ],\n vswitch_ids=[vswitch.id],\n bind_vpcs=[\n {\n \"vpc_id\": share_vswitch.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vswitch.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vswitch2.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vswitch2.id,\n \"vpc_owner_id\": current.id,\n },\n {\n \"vpc_id\": share_vsw3.vpc_id,\n \"region_id\": \"cn-hangzhou\",\n \"vswitch_id\": share_vsw3.id,\n \"vpc_owner_id\": current.id,\n },\n ],\n log=\"0\",\n period=1,\n log_storage=0,\n payment_type=\"Subscription\")\ndefault = alicloud.kms.get_instances_output(ids=[default_instance.id])\npulumi.export(\"alicloudKmsInstanceExampleId\", default.instances[0].instance_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var current = AliCloud.GetAccount.Invoke();\n\n var vpc_amp_instance_example = new AliCloud.Vpc.Network(\"vpc-amp-instance-example\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = name,\n });\n\n var vswitch = new AliCloud.Vpc.Switch(\"vswitch\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var vswitch_j = new AliCloud.Vpc.Switch(\"vswitch-j\", new()\n {\n VpcId = vpc_amp_instance_example.Id,\n ZoneId = \"cn-hangzhou-j\",\n CidrBlock = \"172.16.2.0/24\",\n });\n\n var shareVPC = new AliCloud.Vpc.Network(\"shareVPC\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s3\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var shareVswitch = new AliCloud.Vpc.Switch(\"shareVswitch\", new()\n {\n VpcId = shareVPC.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC2 = new AliCloud.Vpc.Network(\"share-VPC2\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s5\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vswitch2 = new AliCloud.Vpc.Switch(\"share-vswitch2\", new()\n {\n VpcId = share_VPC2.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var share_VPC3 = new AliCloud.Vpc.Network(\"share-VPC3\", new()\n {\n CidrBlock = \"172.16.0.0/12\",\n VpcName = Std.Format.Invoke(new()\n {\n Input = \"%s7\",\n Args = new[]\n {\n name,\n },\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var share_vsw3 = new AliCloud.Vpc.Switch(\"share-vsw3\", new()\n {\n VpcId = share_VPC3.Id,\n ZoneId = \"cn-hangzhou-k\",\n CidrBlock = \"172.16.1.0/24\",\n });\n\n var defaultInstance = new AliCloud.Kms.Instance(\"default\", new()\n {\n VpcNum = 7,\n KeyNum = 1000,\n SecretNum = 0,\n Spec = 1000,\n RenewStatus = \"ManualRenewal\",\n ProductVersion = \"3\",\n VpcId = vswitch.VpcId,\n ZoneIds = new[]\n {\n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\",\n },\n VswitchIds = new[]\n {\n vswitch.Id,\n },\n BindVpcs = new[]\n {\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = shareVswitch.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = shareVswitch.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vswitch2.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = share_vswitch2.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n new AliCloud.Kms.Inputs.InstanceBindVpcArgs\n {\n VpcId = share_vsw3.VpcId,\n RegionId = \"cn-hangzhou\",\n VswitchId = share_vsw3.Id,\n VpcOwnerId = current.Apply(getAccountResult =\u003e getAccountResult.Id),\n },\n },\n Log = \"0\",\n Period = 1,\n LogStorage = 0,\n PaymentType = \"Subscription\",\n });\n\n var @default = AliCloud.Kms.GetInstances.Invoke(new()\n {\n Ids = new[]\n {\n defaultInstance.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"alicloudKmsInstanceExampleId\"] = @default.Apply(@default =\u003e @default.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.InstanceId)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms\"\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\nname := \"terraform-example\";\nif param := cfg.Get(\"name\"); param != \"\"{\nname = param\n}\ncurrent, err := alicloud.GetAccount(ctx, map[string]interface{}{\n}, nil);\nif err != nil {\nreturn err\n}\nvpc_amp_instance_example, err := vpc.NewNetwork(ctx, \"vpc-amp-instance-example\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(name),\n})\nif err != nil {\nreturn err\n}\nvswitch, err := vpc.NewSwitch(ctx, \"vswitch\", \u0026vpc.SwitchArgs{\nVpcId: vpc_amp_instance_example.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\n_, err = vpc.NewSwitch(ctx, \"vswitch-j\", \u0026vpc.SwitchArgs{\nVpcId: vpc_amp_instance_example.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-j\"),\nCidrBlock: pulumi.String(\"172.16.2.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s3\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshareVPC, err := vpc.NewNetwork(ctx, \"shareVPC\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat.Result),\n})\nif err != nil {\nreturn err\n}\nshareVswitch, err := vpc.NewSwitch(ctx, \"shareVswitch\", \u0026vpc.SwitchArgs{\nVpcId: shareVPC.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat1, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s5\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshare_VPC2, err := vpc.NewNetwork(ctx, \"share-VPC2\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat1.Result),\n})\nif err != nil {\nreturn err\n}\nshare_vswitch2, err := vpc.NewSwitch(ctx, \"share-vswitch2\", \u0026vpc.SwitchArgs{\nVpcId: share_VPC2.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ninvokeFormat2, err := std.Format(ctx, \u0026std.FormatArgs{\nInput: \"%s7\",\nArgs: []string{\nname,\n},\n}, nil)\nif err != nil {\nreturn err\n}\nshare_VPC3, err := vpc.NewNetwork(ctx, \"share-VPC3\", \u0026vpc.NetworkArgs{\nCidrBlock: pulumi.String(\"172.16.0.0/12\"),\nVpcName: pulumi.String(invokeFormat2.Result),\n})\nif err != nil {\nreturn err\n}\nshare_vsw3, err := vpc.NewSwitch(ctx, \"share-vsw3\", \u0026vpc.SwitchArgs{\nVpcId: share_VPC3.ID(),\nZoneId: pulumi.String(\"cn-hangzhou-k\"),\nCidrBlock: pulumi.String(\"172.16.1.0/24\"),\n})\nif err != nil {\nreturn err\n}\ndefaultInstance, err := kms.NewInstance(ctx, \"default\", \u0026kms.InstanceArgs{\nVpcNum: pulumi.Int(7),\nKeyNum: pulumi.Int(1000),\nSecretNum: pulumi.Int(0),\nSpec: pulumi.Int(1000),\nRenewStatus: pulumi.String(\"ManualRenewal\"),\nProductVersion: pulumi.String(\"3\"),\nVpcId: vswitch.VpcId,\nZoneIds: pulumi.StringArray{\npulumi.String(\"cn-hangzhou-k\"),\npulumi.String(\"cn-hangzhou-j\"),\n},\nVswitchIds: pulumi.StringArray{\nvswitch.ID(),\n},\nBindVpcs: kms.InstanceBindVpcArray{\n\u0026kms.InstanceBindVpcArgs{\nVpcId: shareVswitch.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: shareVswitch.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n\u0026kms.InstanceBindVpcArgs{\nVpcId: share_vswitch2.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: share_vswitch2.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n\u0026kms.InstanceBindVpcArgs{\nVpcId: share_vsw3.VpcId,\nRegionId: pulumi.String(\"cn-hangzhou\"),\nVswitchId: share_vsw3.ID(),\nVpcOwnerId: pulumi.String(current.Id),\n},\n},\nLog: pulumi.String(\"0\"),\nPeriod: pulumi.Int(1),\nLogStorage: pulumi.Int(0),\nPaymentType: pulumi.String(\"Subscription\"),\n})\nif err != nil {\nreturn err\n}\n_default := kms.GetInstancesOutput(ctx, kms.GetInstancesOutputArgs{\nIds: pulumi.StringArray{\ndefaultInstance.ID(),\n},\n}, nil);\nctx.Export(\"alicloudKmsInstanceExampleId\", _default.ApplyT(func(_default kms.GetInstancesResult) (*string, error) {\nreturn \u0026default.Instances[0].InstanceId, nil\n}).(pulumi.StringPtrOutput))\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.alicloud.AlicloudFunctions;\nimport com.pulumi.alicloud.vpc.Network;\nimport com.pulumi.alicloud.vpc.NetworkArgs;\nimport com.pulumi.alicloud.vpc.Switch;\nimport com.pulumi.alicloud.vpc.SwitchArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FormatArgs;\nimport com.pulumi.alicloud.kms.Instance;\nimport com.pulumi.alicloud.kms.InstanceArgs;\nimport com.pulumi.alicloud.kms.inputs.InstanceBindVpcArgs;\nimport com.pulumi.alicloud.kms.KmsFunctions;\nimport com.pulumi.alicloud.kms.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 config = ctx.config();\n final var name = config.get(\"name\").orElse(\"terraform-example\");\n final var current = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n var vpc_amp_instance_example = new Network(\"vpc-amp-instance-example\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(name)\n .build());\n\n var vswitch = new Switch(\"vswitch\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var vswitch_j = new Switch(\"vswitch-j\", SwitchArgs.builder()\n .vpcId(vpc_amp_instance_example.id())\n .zoneId(\"cn-hangzhou-j\")\n .cidrBlock(\"172.16.2.0/24\")\n .build());\n\n var shareVPC = new Network(\"shareVPC\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s3\")\n .args(name)\n .build()).result())\n .build());\n\n var shareVswitch = new Switch(\"shareVswitch\", SwitchArgs.builder()\n .vpcId(shareVPC.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC2 = new Network(\"share-VPC2\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s5\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vswitch2 = new Switch(\"share-vswitch2\", SwitchArgs.builder()\n .vpcId(share_VPC2.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var share_VPC3 = new Network(\"share-VPC3\", NetworkArgs.builder()\n .cidrBlock(\"172.16.0.0/12\")\n .vpcName(StdFunctions.format(FormatArgs.builder()\n .input(\"%s7\")\n .args(name)\n .build()).result())\n .build());\n\n var share_vsw3 = new Switch(\"share-vsw3\", SwitchArgs.builder()\n .vpcId(share_VPC3.id())\n .zoneId(\"cn-hangzhou-k\")\n .cidrBlock(\"172.16.1.0/24\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder()\n .vpcNum(7)\n .keyNum(1000)\n .secretNum(0)\n .spec(1000)\n .renewStatus(\"ManualRenewal\")\n .productVersion(\"3\")\n .vpcId(vswitch.vpcId())\n .zoneIds( \n \"cn-hangzhou-k\",\n \"cn-hangzhou-j\")\n .vswitchIds(vswitch.id())\n .bindVpcs( \n InstanceBindVpcArgs.builder()\n .vpcId(shareVswitch.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(shareVswitch.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vswitch2.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(share_vswitch2.id())\n .vpcOwnerId(current.id())\n .build(),\n InstanceBindVpcArgs.builder()\n .vpcId(share_vsw3.vpcId())\n .regionId(\"cn-hangzhou\")\n .vswitchId(share_vsw3.id())\n .vpcOwnerId(current.id())\n .build())\n .log(\"0\")\n .period(1)\n .logStorage(0)\n .paymentType(\"Subscription\")\n .build());\n\n final var default = KmsFunctions.getInstances(GetInstancesArgs.builder()\n .ids(defaultInstance.id())\n .build());\n\n ctx.export(\"alicloudKmsInstanceExampleId\", default_.applyValue(_default_ -\u003e _default_.instances()[0].instanceId()));\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n vpc-amp-instance-example:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName: ${name}\n vswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n vswitch-j:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"vpc-amp-instance-example\"].id}\n zoneId: cn-hangzhou-j\n cidrBlock: 172.16.2.0/24\n shareVPC:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s3'\n args:\n - ${name}\n return: result\n shareVswitch:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${shareVPC.id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC2:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s5'\n args:\n - ${name}\n return: result\n share-vswitch2:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC2\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n share-VPC3:\n type: alicloud:vpc:Network\n properties:\n cidrBlock: 172.16.0.0/12\n vpcName:\n fn::invoke:\n function: std:format\n arguments:\n input: '%s7'\n args:\n - ${name}\n return: result\n share-vsw3:\n type: alicloud:vpc:Switch\n properties:\n vpcId: ${[\"share-VPC3\"].id}\n zoneId: cn-hangzhou-k\n cidrBlock: 172.16.1.0/24\n defaultInstance:\n type: alicloud:kms:Instance\n name: default\n properties:\n vpcNum: '7'\n keyNum: '1000'\n secretNum: '0'\n spec: '1000'\n renewStatus: ManualRenewal\n productVersion: '3'\n vpcId: ${vswitch.vpcId}\n zoneIds:\n - cn-hangzhou-k\n - cn-hangzhou-j\n vswitchIds:\n - ${vswitch.id}\n bindVpcs:\n - vpcId: ${shareVswitch.vpcId}\n regionId: cn-hangzhou\n vswitchId: ${shareVswitch.id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vswitch2\"].vpcId}\n regionId: cn-hangzhou\n vswitchId: ${[\"share-vswitch2\"].id}\n vpcOwnerId: ${current.id}\n - vpcId: ${[\"share-vsw3\"].vpcId}\n regionId: cn-hangzhou\n vswitchId: ${[\"share-vsw3\"].id}\n vpcOwnerId: ${current.id}\n log: '0'\n period: '1'\n logStorage: '0'\n paymentType: Subscription\nvariables:\n current:\n fn::invoke:\n function: alicloud:getAccount\n arguments: {}\n default:\n fn::invoke:\n function: alicloud:kms:getInstances\n arguments:\n ids:\n - ${defaultInstance.id}\noutputs:\n alicloudKmsInstanceExampleId: ${default.instances[0].instanceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInstances.\n", "properties": { @@ -309866,17 +315732,14 @@ "description": "A list of Instance IDs.\n", "willReplaceOnChanges": true }, - "outputFile": { + "instanceName": { "type": "string", - "description": "File name where to save data source results (after running `pulumi preview`).\n", - "willReplaceOnChanges": true - }, - "pageNumber": { - "type": "integer", + "description": "The name of the resource.\n", "willReplaceOnChanges": true }, - "pageSize": { - "type": "integer", + "outputFile": { + "type": "string", + "description": "File name where to save data source results (after running `pulumi preview`).\n", "willReplaceOnChanges": true } }, @@ -309896,6 +315759,9 @@ }, "type": "array" }, + "instanceName": { + "type": "string" + }, "instances": { "description": "A list of Instance Entries. Each element contains the following attributes:\n", "items": { @@ -309905,12 +315771,6 @@ }, "outputFile": { "type": "string" - }, - "pageNumber": { - "type": "integer" - }, - "pageSize": { - "type": "integer" } }, "required": [ @@ -317794,13 +323654,13 @@ } }, "alicloud:privatelink/getVpcEndpointServices:getVpcEndpointServices": { - "description": "This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user.\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService(\"example\", {\n serviceDescription: \"terraform-example\",\n connectBandwidth: 103,\n autoAcceptConnection: false,\n});\nconst example = alicloud.privatelink.getVpcEndpointServicesOutput({\n ids: [exampleVpcEndpointService.id],\n});\nexport const firstPrivatelinkVpcEndpointServiceId = example.apply(example =\u003e example.services?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nexample_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService(\"example\",\n service_description=\"terraform-example\",\n connect_bandwidth=103,\n auto_accept_connection=False)\nexample = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[example_vpc_endpoint_service.id])\npulumi.export(\"firstPrivatelinkVpcEndpointServiceId\", example.services[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService(\"example\", new()\n {\n ServiceDescription = \"terraform-example\",\n ConnectBandwidth = 103,\n AutoAcceptConnection = false,\n });\n\n var example = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new()\n {\n Ids = new[]\n {\n exampleVpcEndpointService.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"firstPrivatelinkVpcEndpointServiceId\"] = example.Apply(getVpcEndpointServicesResult =\u003e getVpcEndpointServicesResult.Services[0]?.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, \"example\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(\"terraform-example\"),\n\t\t\tConnectBandwidth: pulumi.Int(103),\n\t\t\tAutoAcceptConnection: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := privatelink.GetVpcEndpointServicesOutput(ctx, privatelink.GetVpcEndpointServicesOutputArgs{\n\t\t\tIds: pulumi.StringArray{\n\t\t\t\texampleVpcEndpointService.ID(),\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"firstPrivatelinkVpcEndpointServiceId\", example.ApplyT(func(example privatelink.GetVpcEndpointServicesResult) (*string, error) {\n\t\t\treturn \u0026example.Services[0].Id, 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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.privatelink.PrivatelinkFunctions;\nimport com.pulumi.alicloud.privatelink.inputs.GetVpcEndpointServicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleVpcEndpointService = new VpcEndpointService(\"exampleVpcEndpointService\", VpcEndpointServiceArgs.builder()\n .serviceDescription(\"terraform-example\")\n .connectBandwidth(103)\n .autoAcceptConnection(false)\n .build());\n\n final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder()\n .ids(exampleVpcEndpointService.id())\n .build());\n\n ctx.export(\"firstPrivatelinkVpcEndpointServiceId\", example.applyValue(_example -\u003e _example.services()[0].id()));\n }\n}\n```\n```yaml\nresources:\n exampleVpcEndpointService:\n type: alicloud:privatelink:VpcEndpointService\n name: example\n properties:\n serviceDescription: terraform-example\n connectBandwidth: 103\n autoAcceptConnection: false\nvariables:\n example:\n fn::invoke:\n function: alicloud:privatelink:getVpcEndpointServices\n arguments:\n ids:\n - ${exampleVpcEndpointService.id}\noutputs:\n firstPrivatelinkVpcEndpointServiceId: ${example.services[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user.\n\n\u003e **NOTE:** Available since v1.109.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst config = new pulumi.Config();\nconst name = config.get(\"name\") || \"terraform-example\";\nconst _default = new alicloud.privatelink.VpcEndpointService(\"default\", {\n serviceDescription: name,\n autoAcceptConnection: true,\n});\nconst ids = alicloud.privatelink.getVpcEndpointServicesOutput({\n ids: [_default.id],\n});\nexport const privatelinkVpcEndpointServicesId0 = ids.apply(ids =\u003e ids.services?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\nconfig = pulumi.Config()\nname = config.get(\"name\")\nif name is None:\n name = \"terraform-example\"\ndefault = alicloud.privatelink.VpcEndpointService(\"default\",\n service_description=name,\n auto_accept_connection=True)\nids = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[default.id])\npulumi.export(\"privatelinkVpcEndpointServicesId0\", ids.services[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var name = config.Get(\"name\") ?? \"terraform-example\";\n var @default = new AliCloud.PrivateLink.VpcEndpointService(\"default\", new()\n {\n ServiceDescription = name,\n AutoAcceptConnection = true,\n });\n\n var ids = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new()\n {\n Ids = new[]\n {\n @default.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"privatelinkVpcEndpointServicesId0\"] = ids.Apply(getVpcEndpointServicesResult =\u003e getVpcEndpointServicesResult.Services[0]?.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tname := \"terraform-example\"\n\t\tif param := cfg.Get(\"name\"); param != \"\" {\n\t\t\tname = param\n\t\t}\n\t\t_default, err := privatelink.NewVpcEndpointService(ctx, \"default\", \u0026privatelink.VpcEndpointServiceArgs{\n\t\t\tServiceDescription: pulumi.String(name),\n\t\t\tAutoAcceptConnection: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tids := privatelink.GetVpcEndpointServicesOutput(ctx, privatelink.GetVpcEndpointServicesOutputArgs{\n\t\t\tIds: pulumi.StringArray{\n\t\t\t\t_default.ID(),\n\t\t\t},\n\t\t}, nil)\n\t\tctx.Export(\"privatelinkVpcEndpointServicesId0\", ids.ApplyT(func(ids privatelink.GetVpcEndpointServicesResult) (*string, error) {\n\t\t\treturn \u0026ids.Services[0].Id, 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.alicloud.privatelink.VpcEndpointService;\nimport com.pulumi.alicloud.privatelink.VpcEndpointServiceArgs;\nimport com.pulumi.alicloud.privatelink.PrivatelinkFunctions;\nimport com.pulumi.alicloud.privatelink.inputs.GetVpcEndpointServicesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 name = config.get(\"name\").orElse(\"terraform-example\");\n var default_ = new VpcEndpointService(\"default\", VpcEndpointServiceArgs.builder()\n .serviceDescription(name)\n .autoAcceptConnection(true)\n .build());\n\n final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder()\n .ids(default_.id())\n .build());\n\n ctx.export(\"privatelinkVpcEndpointServicesId0\", ids.applyValue(_ids -\u003e _ids.services()[0].id()));\n }\n}\n```\n```yaml\nconfiguration:\n name:\n type: string\n default: terraform-example\nresources:\n default:\n type: alicloud:privatelink:VpcEndpointService\n properties:\n serviceDescription: ${name}\n autoAcceptConnection: true\nvariables:\n ids:\n fn::invoke:\n function: alicloud:privatelink:getVpcEndpointServices\n arguments:\n ids:\n - ${default.id}\noutputs:\n privatelinkVpcEndpointServicesId0: ${ids.services[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpcEndpointServices.\n", "properties": { "autoAcceptConnection": { "type": "boolean", - "description": "Whether to automatically accept terminal node connections.\n", + "description": "Specifies whether to automatically accept endpoint connection requests. Valid values: : \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n", "willReplaceOnChanges": true }, "ids": { @@ -317822,12 +323682,12 @@ }, "serviceBusinessStatus": { "type": "string", - "description": "The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`.\n", + "description": "The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.\n", "willReplaceOnChanges": true }, "status": { "type": "string", - "description": "The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`.\n", + "description": "The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`.\n", "willReplaceOnChanges": true }, "tags": { @@ -317835,11 +323695,12 @@ "additionalProperties": { "type": "string" }, - "description": "The tags of Vpc Endpoint Service.\n" + "description": "A mapping of tags to assign to the resource.\n", + "willReplaceOnChanges": true }, "vpcEndpointServiceName": { "type": "string", - "description": "The name of Vpc Endpoint Service.\n", + "description": "The name of the endpoint service.\n", "willReplaceOnChanges": true } }, @@ -317849,7 +323710,7 @@ "description": "A collection of values returned by getVpcEndpointServices.\n", "properties": { "autoAcceptConnection": { - "description": "Whether to automatically accept terminal node connections..\n", + "description": "Indicates whether endpoint connection requests are automatically accepted.\n", "type": "boolean" }, "id": { @@ -317876,29 +323737,29 @@ "type": "string" }, "serviceBusinessStatus": { - "description": "The business status of the terminal node service..\n", + "description": "The service state of the endpoint service.\n", "type": "string" }, "services": { - "description": "A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes:\n", + "description": "A list of Vpc Endpoint Services. Each element contains the following attributes:\n", "items": { "$ref": "#/types/alicloud:privatelink/getVpcEndpointServicesService:getVpcEndpointServicesService" }, "type": "array" }, "status": { - "description": "The Status of Vpc Endpoint Service.\n", + "description": "The state of the endpoint service.\n", "type": "string" }, "tags": { "additionalProperties": { "type": "string" }, - "description": "The tags of Vpc Endpoint Service.\n", + "description": "The tags added to the resource.\n", "type": "object" }, "vpcEndpointServiceName": { - "description": "The name of Vpc Endpoint Service.\n", + "description": "The name of the endpoint service.\n", "type": "string" } }, @@ -328501,6 +334362,182 @@ "type": "object" } }, + "alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs": { + "description": "This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem)\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getCheckItemConfigs({});\nexport const alicloudThreatDetectionCheckItemConfigExampleCheckId = _default.then(_default =\u003e _default.configs?.[0]?.checkId);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_check_item_configs()\npulumi.export(\"alicloudThreatDetectionCheckItemConfigExampleCheckId\", default.configs[0].check_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetCheckItemConfigs.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"alicloudThreatDetectionCheckItemConfigExampleCheckId\"] = @default.Apply(@default =\u003e @default.Apply(getCheckItemConfigsResult =\u003e getCheckItemConfigsResult.Configs[0]?.CheckId)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetCheckItemConfigs(ctx, \u0026threatdetection.GetCheckItemConfigsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"alicloudThreatDetectionCheckItemConfigExampleCheckId\", _default.Configs[0].CheckId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()\n .build());\n\n ctx.export(\"alicloudThreatDetectionCheckItemConfigExampleCheckId\", default_.configs()[0].checkId());\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getCheckItemConfigs\n arguments: {}\noutputs:\n alicloudThreatDetectionCheckItemConfigExampleCheckId: ${default.configs[0].checkId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCheckItemConfigs.\n", + "properties": { + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Check Item Config IDs.\n", + "willReplaceOnChanges": true + }, + "lang": { + "type": "string", + "description": "The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English\n", + "willReplaceOnChanges": true + }, + "outputFile": { + "type": "string", + "description": "File name where to save data source results (after running `pulumi preview`).\n", + "willReplaceOnChanges": true + }, + "pageNumber": { + "type": "integer", + "description": "Current page number.\n", + "willReplaceOnChanges": true + }, + "pageSize": { + "type": "integer", + "description": "Number of records per page.\n", + "willReplaceOnChanges": true + }, + "taskSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of task sources.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCheckItemConfigs.\n", + "properties": { + "configs": { + "description": "A list of Check Item Config Entries. Each element contains the following attributes:\n", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckItemConfigsConfig:getCheckItemConfigsConfig" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "ids": { + "description": "A list of Check Item Config IDs.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "lang": { + "type": "string" + }, + "outputFile": { + "type": "string" + }, + "pageNumber": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "taskSources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "configs", + "ids", + "id" + ], + "type": "object" + } + }, + "alicloud:threatdetection/getCheckStructures:getCheckStructures": { + "description": "This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure)\n\n\u003e **NOTE:** Available since v1.267.0.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getCheckStructures({});\nexport const alicloudThreatDetectionCheckStructureExampleStandardType = _default.then(_default =\u003e _default.structures?.[0]?.standardType);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_check_structures()\npulumi.export(\"alicloudThreatDetectionCheckStructureExampleStandardType\", default.structures[0].standard_type)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetCheckStructures.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"alicloudThreatDetectionCheckStructureExampleStandardType\"] = @default.Apply(@default =\u003e @default.Apply(getCheckStructuresResult =\u003e getCheckStructuresResult.Structures[0]?.StandardType)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetCheckStructures(ctx, \u0026threatdetection.GetCheckStructuresArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"alicloudThreatDetectionCheckStructureExampleStandardType\", _default.Structures[0].StandardType)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()\n .build());\n\n ctx.export(\"alicloudThreatDetectionCheckStructureExampleStandardType\", default_.structures()[0].standardType());\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getCheckStructures\n arguments: {}\noutputs:\n alicloudThreatDetectionCheckStructureExampleStandardType: ${default.structures[0].standardType}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getCheckStructures.\n", + "properties": { + "currentPage": { + "type": "integer", + "description": "The page number.\n", + "willReplaceOnChanges": true + }, + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of Check Structure IDs.\n", + "willReplaceOnChanges": true + }, + "lang": { + "type": "string", + "description": "The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English\n", + "willReplaceOnChanges": true + }, + "outputFile": { + "type": "string", + "description": "File name where to save data source results (after running `pulumi preview`).\n", + "willReplaceOnChanges": true + }, + "taskSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of task sources.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getCheckStructures.\n", + "properties": { + "currentPage": { + "type": "integer" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.", + "type": "string" + }, + "ids": { + "description": "A list of Check Structure IDs.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "lang": { + "type": "string" + }, + "outputFile": { + "type": "string" + }, + "structures": { + "description": "A list of Check Structure Entries. Each element contains the following attributes:\n", + "items": { + "$ref": "#/types/alicloud:threatdetection/getCheckStructuresStructure:getCheckStructuresStructure" + }, + "type": "array" + }, + "taskSources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ids", + "structures", + "id" + ], + "type": "object" + } + }, "alicloud:threatdetection/getHoneyPots:getHoneyPots": { "description": "This data source provides Threat Detection Honey Pot available to the user.[What is Honey Pot](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypot)\n\n\u003e **NOTE:** Available since v1.195.0.\n\n## Example Usage\n\nBasic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as alicloud from \"@pulumi/alicloud\";\n\nconst _default = alicloud.threatdetection.getHoneyPots({\n ids: [\"xxxx\"],\n honeypotName: \"tf-example\",\n nodeId: \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n});\nexport const alicloudThreatDetectionHoneyPotExampleId = _default.then(_default =\u003e _default.pots?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_alicloud as alicloud\n\ndefault = alicloud.threatdetection.get_honey_pots(ids=[\"xxxx\"],\n honeypot_name=\"tf-example\",\n node_id=\"a44e1ab3-6945-444c-889d-5bacee7056e8\")\npulumi.export(\"alicloudThreatDetectionHoneyPotExampleId\", default.pots[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AliCloud = Pulumi.AliCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = AliCloud.ThreatDetection.GetHoneyPots.Invoke(new()\n {\n Ids = new[]\n {\n \"xxxx\",\n },\n HoneypotName = \"tf-example\",\n NodeId = \"a44e1ab3-6945-444c-889d-5bacee7056e8\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"alicloudThreatDetectionHoneyPotExampleId\"] = @default.Apply(@default =\u003e @default.Apply(getHoneyPotsResult =\u003e getHoneyPotsResult.Pots[0]?.Id)),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := threatdetection.GetHoneyPots(ctx, \u0026threatdetection.GetHoneyPotsArgs{\n\t\t\tIds: []string{\n\t\t\t\t\"xxxx\",\n\t\t\t},\n\t\t\tHoneypotName: pulumi.StringRef(\"tf-example\"),\n\t\t\tNodeId: pulumi.StringRef(\"a44e1ab3-6945-444c-889d-5bacee7056e8\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"alicloudThreatDetectionHoneyPotExampleId\", _default.Pots[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;\nimport com.pulumi.alicloud.threatdetection.inputs.GetHoneyPotsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var default = ThreatdetectionFunctions.getHoneyPots(GetHoneyPotsArgs.builder()\n .ids(\"xxxx\")\n .honeypotName(\"tf-example\")\n .nodeId(\"a44e1ab3-6945-444c-889d-5bacee7056e8\")\n .build());\n\n ctx.export(\"alicloudThreatDetectionHoneyPotExampleId\", default_.pots()[0].id());\n }\n}\n```\n```yaml\nvariables:\n default:\n fn::invoke:\n function: alicloud:threatdetection:getHoneyPots\n arguments:\n ids:\n - xxxx\n honeypotName: tf-example\n nodeId: a44e1ab3-6945-444c-889d-5bacee7056e8\noutputs:\n alicloudThreatDetectionHoneyPotExampleId: ${default.pots[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index c52f34900e..32db8eb6eb 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -24,7 +24,7 @@ replace ( replace github.com/hashicorp/terraform-exec => github.com/hashicorp/terraform-exec v0.15.0 require ( - github.com/aliyun/terraform-provider-alicloud v1.264.0 + github.com/aliyun/terraform-provider-alicloud v1.267.0 github.com/hashicorp/terraform-plugin-sdk v1.17.2 github.com/pulumi/pulumi-terraform-bridge/v3 v3.119.0 github.com/pulumi/pulumi/sdk/v3 v3.213.0 @@ -49,8 +49,8 @@ require ( github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect - github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.21 // indirect - github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.10 // indirect + github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.23 // indirect + github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.12 // indirect github.com/alibabacloud-go/alibabacloud-gateway-sls v0.0.6 // indirect github.com/alibabacloud-go/alibabacloud-gateway-sls-util v0.0.1 // indirect github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 // indirect @@ -80,7 +80,7 @@ require ( github.com/aliyun/aliyun-mns-go-sdk v0.0.0-20210305050620-d1b5875bda58 // indirect github.com/aliyun/aliyun-oss-go-sdk v2.2.9+incompatible // indirect github.com/aliyun/aliyun-tablestore-go-sdk v4.1.3+incompatible // indirect - github.com/aliyun/credentials-go v1.4.7 // indirect + github.com/aliyun/credentials-go v1.4.10 // indirect github.com/aliyun/fc-go-sdk v0.0.0-20220622030011-bc7ded2a9050 // indirect github.com/andybalholm/brotli v1.1.0 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index f914ea3137..3d5a42573d 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1445,10 +1445,10 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.21 h1:Jqt8W5DXZvcIECHhyKyWGwKkJuTSfTqEgCyWWbZP8FM= -github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.21/go.mod h1:GS9b2obanVAI/xzSgvTClaZnaId4tLcYVlu7USctLNA= -github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.10 h1:87af0rrI4jT7kyRew7mb2ar04dxGlNrRfephGERhLyY= -github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.10/go.mod h1:bMrMQIlkH6zAvG7rTaKHyIcEokmBUM2ML+R2VyRimJ8= +github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.23 h1:NozbmS/KnlaeSiD7pP/HT82NL++ScXmQ2RGkdqxbX9k= +github.com/alibabacloud-go/alibabacloud-gateway-oss v0.0.23/go.mod h1:CZJg8uOTBi943d3DAovJYdKq9J2m/ppHF2YZf3dV0hc= +github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.12 h1:PeA8+z4K3vep1fHsUBTp7RKtzQjy/s1CWzsGkQU9J0s= +github.com/alibabacloud-go/alibabacloud-gateway-oss-util v0.0.12/go.mod h1:bMrMQIlkH6zAvG7rTaKHyIcEokmBUM2ML+R2VyRimJ8= github.com/alibabacloud-go/alibabacloud-gateway-pop v0.0.6 h1:eIf+iGJxdU4U9ypaUfbtOWCsZSbTb8AUHvyPrxu6mAA= github.com/alibabacloud-go/alibabacloud-gateway-pop v0.0.6/go.mod h1:4EUIoxs/do24zMOGGqYVWgw0s9NtiylnJglOeEB5UJo= github.com/alibabacloud-go/alibabacloud-gateway-sls v0.0.6 h1:LmBsV3DRJJyGP7GhP+OZONFuyvYPI9t3yvEj8dXVkOM= @@ -1538,12 +1538,12 @@ github.com/aliyun/credentials-go v1.3.0/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTs github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0= github.com/aliyun/credentials-go v1.3.6/go.mod h1:1LxUuX7L5YrZUWzBrRyk0SwSdH4OmPrib8NVePL3fxM= github.com/aliyun/credentials-go v1.4.5/go.mod h1:Jm6d+xIgwJVLVWT561vy67ZRP4lPTQxMbEYRuT2Ti1U= -github.com/aliyun/credentials-go v1.4.7 h1:T17dLqEtPUFvjDRRb5giVvLh6dFT8IcNFJJb7MeyCxw= -github.com/aliyun/credentials-go v1.4.7/go.mod h1:Jm6d+xIgwJVLVWT561vy67ZRP4lPTQxMbEYRuT2Ti1U= +github.com/aliyun/credentials-go v1.4.10 h1:4PtFGTW6eMpKd8YUNL6yVh52c/3PZdEOklELEbn2ui8= +github.com/aliyun/credentials-go v1.4.10/go.mod h1:Jm6d+xIgwJVLVWT561vy67ZRP4lPTQxMbEYRuT2Ti1U= github.com/aliyun/fc-go-sdk v0.0.0-20220622030011-bc7ded2a9050 h1:E4jdnYzB1G/DiTVHychdLOnak4w/TlKd4ZHM8wZDs58= github.com/aliyun/fc-go-sdk v0.0.0-20220622030011-bc7ded2a9050/go.mod h1:rYnxfOnoHRZ2QGKREUOESel1hmRe0frzF2RLpcDVtTU= -github.com/aliyun/terraform-provider-alicloud v1.264.0 h1:kpNstLVcw+EzRyDBIOQX+2G4RGGOQn9MwXDi72KMvEI= -github.com/aliyun/terraform-provider-alicloud v1.264.0/go.mod h1:ihjgoyUCxAhXPNO8sJrA2KWGpjSSeOFWONwymd1RXJE= +github.com/aliyun/terraform-provider-alicloud v1.267.0 h1:+30Mv68o3Hw5vzap9T8H2k6LHNwC2hDMIpdvGk+HlsU= +github.com/aliyun/terraform-provider-alicloud v1.267.0/go.mod h1:1BJNW6HvYBDVR/xCvMzZBx8aNIZYsy3hQUT5qaH3XXE= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= diff --git a/sdk/dotnet/AckOne/Cluster.cs b/sdk/dotnet/AckOne/Cluster.cs index 2de8b244e8..07cdcde780 100644 --- a/sdk/dotnet/AckOne/Cluster.cs +++ b/sdk/dotnet/AckOne/Cluster.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.AckOne /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ack One Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/AckOne/MembershipAttachment.cs b/sdk/dotnet/AckOne/MembershipAttachment.cs index 3e5c7ef3a3..754d1bfe51 100644 --- a/sdk/dotnet/AckOne/MembershipAttachment.cs +++ b/sdk/dotnet/AckOne/MembershipAttachment.cs @@ -130,6 +130,8 @@ namespace Pulumi.AliCloud.AckOne /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. diff --git a/sdk/dotnet/ActionTrail/AdvancedQueryTemplate.cs b/sdk/dotnet/ActionTrail/AdvancedQueryTemplate.cs index dfa5cc4fb6..e4a1044c1c 100644 --- a/sdk/dotnet/ActionTrail/AdvancedQueryTemplate.cs +++ b/sdk/dotnet/ActionTrail/AdvancedQueryTemplate.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.ActionTrail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Actiontrail Advanced Query Template can be imported using the id, e.g. diff --git a/sdk/dotnet/ActionTrail/GlobalEventsStorageRegion.cs b/sdk/dotnet/ActionTrail/GlobalEventsStorageRegion.cs index 6ac01a38f2..61b5a528f9 100644 --- a/sdk/dotnet/ActionTrail/GlobalEventsStorageRegion.cs +++ b/sdk/dotnet/ActionTrail/GlobalEventsStorageRegion.cs @@ -34,6 +34,8 @@ namespace Pulumi.AliCloud.ActionTrail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global events storage region not can be imported. diff --git a/sdk/dotnet/ActionTrail/HistoryDeliveryJob.cs b/sdk/dotnet/ActionTrail/HistoryDeliveryJob.cs index 601c543c4c..a53fcd74ad 100644 --- a/sdk/dotnet/ActionTrail/HistoryDeliveryJob.cs +++ b/sdk/dotnet/ActionTrail/HistoryDeliveryJob.cs @@ -10,9 +10,11 @@ namespace Pulumi.AliCloud.ActionTrail { /// - /// Provides a Actiontrail History Delivery Job resource. + /// Provides a Action Trail History Delivery Job resource. /// - /// For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). + /// Delivery History Tasks. + /// + /// For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). /// /// > **NOTE:** Available since v1.139.0. /// @@ -29,56 +31,70 @@ namespace Pulumi.AliCloud.ActionTrail /// ```csharp /// using System.Collections.Generic; /// using System.Linq; + /// using System.Text.Json; /// using Pulumi; /// using AliCloud = Pulumi.AliCloud; - /// using Random = Pulumi.Random; /// /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); /// var name = config.Get("name") ?? "tf-example"; - /// var @default = new Random.Index.Integer("default", new() + /// var @default = AliCloud.GetRegions.Invoke(new() /// { - /// Min = 10000, - /// Max = 99999, + /// Current = true, /// }); /// - /// var example = AliCloud.GetRegions.Invoke(new() + /// var defaultGetAccount = AliCloud.GetAccount.Invoke(); + /// + /// var defaultGetRoles = AliCloud.Ram.GetRoles.Invoke(new() /// { - /// Current = true, + /// NameRegex = "AliyunServiceRoleForActionTrail", /// }); /// - /// var exampleGetAccount = AliCloud.GetAccount.Invoke(); - /// - /// var exampleProject = new AliCloud.Log.Project("example", new() + /// var defaultProject = new AliCloud.Log.Project("default", new() /// { - /// ProjectName = $"{name}-{@default.Result}", - /// Description = "tf actiontrail example", + /// Description = name, + /// ProjectName = name, /// }); /// - /// var exampleTrail = new AliCloud.ActionTrail.Trail("example", new() + /// var defaultTrail = new AliCloud.ActionTrail.Trail("default", new() /// { - /// TrailName = $"{name}-{@default.Result}", - /// SlsProjectArn = Output.Tuple(example, exampleGetAccount, exampleProject.Name).Apply(values => + /// EventRw = "Write", + /// SlsProjectArn = Output.Tuple(@default, defaultGetAccount, defaultProject.ProjectName).Apply(values => + /// { + /// var @default = values.Item1; + /// var defaultGetAccount = values.Item2; + /// var projectName = values.Item3; + /// return $"acs:log:{@default.Apply(getRegionsResult => getRegionsResult.Regions[0]?.Id)}:{defaultGetAccount.Apply(getAccountResult => getAccountResult.Id)}:project/{projectName}"; + /// }), + /// TrailName = name, + /// SlsWriteRoleArn = defaultGetRoles.Apply(getRolesResult => getRolesResult.Roles[0]?.Arn), + /// TrailRegion = "All", + /// IsOrganizationTrail = false, + /// Status = "Enable", + /// EventSelectors = JsonSerializer.Serialize(new[] /// { - /// var example = values.Item1; - /// var exampleGetAccount = values.Item2; - /// var name = values.Item3; - /// return $"acs:log:{example.Apply(getRegionsResult => getRegionsResult.Regions[0]?.Id)}:{exampleGetAccount.Apply(getAccountResult => getAccountResult.Id)}:project/{name}"; + /// new Dictionary<string, object?> + /// { + /// ["ServiceName"] = "PDS", + /// }, /// }), + /// DataEventTrailRegion = "cn-hangzhou", /// }); /// - /// var exampleHistoryDeliveryJob = new AliCloud.ActionTrail.HistoryDeliveryJob("example", new() + /// var defaultHistoryDeliveryJob = new AliCloud.ActionTrail.HistoryDeliveryJob("default", new() /// { - /// TrailName = exampleTrail.Id, + /// TrailName = defaultTrail.Id, /// }); /// /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// Actiontrail History Delivery Job can be imported using the id, e.g. + /// Action Trail History Delivery Job can be imported using the id, e.g. /// /// ```sh /// $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example <id> @@ -88,13 +104,19 @@ namespace Pulumi.AliCloud.ActionTrail public partial class HistoryDeliveryJob : global::Pulumi.CustomResource { /// - /// The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + /// The creation time of the resource + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The status of the resource /// [Output("status")] public Output Status { get; private set; } = null!; /// - /// The name of the trail for which you want to create a historical event delivery task. + /// The Track Name. /// [Output("trailName")] public Output TrailName { get; private set; } = null!; @@ -146,7 +168,7 @@ public static HistoryDeliveryJob Get(string name, Input id, HistoryDeliv public sealed class HistoryDeliveryJobArgs : global::Pulumi.ResourceArgs { /// - /// The name of the trail for which you want to create a historical event delivery task. + /// The Track Name. /// [Input("trailName", required: true)] public Input TrailName { get; set; } = null!; @@ -160,13 +182,19 @@ public HistoryDeliveryJobArgs() public sealed class HistoryDeliveryJobState : global::Pulumi.ResourceArgs { /// - /// The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + /// The creation time of the resource + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The status of the resource /// [Input("status")] public Input? Status { get; set; } /// - /// The name of the trail for which you want to create a historical event delivery task. + /// The Track Name. /// [Input("trailName")] public Input? TrailName { get; set; } diff --git a/sdk/dotnet/ActionTrail/Trail.cs b/sdk/dotnet/ActionTrail/Trail.cs index 18b231f36a..294f2070af 100644 --- a/sdk/dotnet/ActionTrail/Trail.cs +++ b/sdk/dotnet/ActionTrail/Trail.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.ActionTrail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Actiontrail Trail can be imported using the id, e.g. @@ -184,7 +186,7 @@ public partial class Trail : global::Pulumi.CustomResource /// The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. /// [Output("status")] - public Output Status { get; private set; } = null!; + public Output Status { get; private set; } = null!; /// /// The name of the trail to be created. diff --git a/sdk/dotnet/ActionTrail/TrailDeprecated.cs b/sdk/dotnet/ActionTrail/TrailDeprecated.cs index 4f6713ded7..5bcc00515d 100644 --- a/sdk/dotnet/ActionTrail/TrailDeprecated.cs +++ b/sdk/dotnet/ActionTrail/TrailDeprecated.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.ActionTrail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Action trail can be imported using the id, e.g. @@ -123,7 +125,7 @@ public partial class TrailDeprecated : global::Pulumi.CustomResource public Output SlsWriteRoleArn { get; private set; } = null!; [Output("status")] - public Output Status { get; private set; } = null!; + public Output Status { get; private set; } = null!; [Output("trailName")] public Output TrailName { get; private set; } = null!; diff --git a/sdk/dotnet/Adb/Account.cs b/sdk/dotnet/Adb/Account.cs index 335bcbf82a..5d608d22d6 100644 --- a/sdk/dotnet/Adb/Account.cs +++ b/sdk/dotnet/Adb/Account.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ADB account can be imported using the id, e.g. diff --git a/sdk/dotnet/Adb/Cluster.cs b/sdk/dotnet/Adb/Cluster.cs index b35ecafe3f..793e772e5b 100644 --- a/sdk/dotnet/Adb/Cluster.cs +++ b/sdk/dotnet/Adb/Cluster.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ADB cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Adb/Connection.cs b/sdk/dotnet/Adb/Connection.cs index 4d85951e31..e60ff1d89b 100644 --- a/sdk/dotnet/Adb/Connection.cs +++ b/sdk/dotnet/Adb/Connection.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ADB connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Adb/DBClusterLakeVersion.cs b/sdk/dotnet/Adb/DBClusterLakeVersion.cs index bb4323de43..c3fc958731 100644 --- a/sdk/dotnet/Adb/DBClusterLakeVersion.cs +++ b/sdk/dotnet/Adb/DBClusterLakeVersion.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. diff --git a/sdk/dotnet/Adb/LakeAccount.cs b/sdk/dotnet/Adb/LakeAccount.cs index dad5850a87..95cd2329be 100644 --- a/sdk/dotnet/Adb/LakeAccount.cs +++ b/sdk/dotnet/Adb/LakeAccount.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ADB Lake Account can be imported using the id, e.g. diff --git a/sdk/dotnet/Adb/ResourceGroup.cs b/sdk/dotnet/Adb/ResourceGroup.cs index 41f61ba18d..fdbe8a19fc 100644 --- a/sdk/dotnet/Adb/ResourceGroup.cs +++ b/sdk/dotnet/Adb/ResourceGroup.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.Adb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Adb Resource Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/AScript.cs b/sdk/dotnet/Alb/AScript.cs index 0e9ab6cc61..8e041ab05a 100644 --- a/sdk/dotnet/Alb/AScript.cs +++ b/sdk/dotnet/Alb/AScript.cs @@ -155,6 +155,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) A Script can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/Acl.cs b/sdk/dotnet/Alb/Acl.cs index 8778b0ce5e..ac20fb09e3 100644 --- a/sdk/dotnet/Alb/Acl.cs +++ b/sdk/dotnet/Alb/Acl.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ALB Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/AclEntryAttachment.cs b/sdk/dotnet/Alb/AclEntryAttachment.cs index ae3cdf9a5b..02099aa2a5 100644 --- a/sdk/dotnet/Alb/AclEntryAttachment.cs +++ b/sdk/dotnet/Alb/AclEntryAttachment.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/HealthCheckTemplate.cs b/sdk/dotnet/Alb/HealthCheckTemplate.cs index d010d486e3..29dab1f09b 100644 --- a/sdk/dotnet/Alb/HealthCheckTemplate.cs +++ b/sdk/dotnet/Alb/HealthCheckTemplate.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/Listener.cs b/sdk/dotnet/Alb/Listener.cs index 541a02c3ce..94d9139fce 100644 --- a/sdk/dotnet/Alb/Listener.cs +++ b/sdk/dotnet/Alb/Listener.cs @@ -209,6 +209,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Listener can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/ListenerAclAttachment.cs b/sdk/dotnet/Alb/ListenerAclAttachment.cs index 94cc9fcd7f..444064d96f 100644 --- a/sdk/dotnet/Alb/ListenerAclAttachment.cs +++ b/sdk/dotnet/Alb/ListenerAclAttachment.cs @@ -170,6 +170,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ALB Listener Acl Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/ListenerAdditionalCertificateAttachment.cs b/sdk/dotnet/Alb/ListenerAdditionalCertificateAttachment.cs index a18475f86e..167ce2d0f6 100644 --- a/sdk/dotnet/Alb/ListenerAdditionalCertificateAttachment.cs +++ b/sdk/dotnet/Alb/ListenerAdditionalCertificateAttachment.cs @@ -248,6 +248,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/LoadBalancer.cs b/sdk/dotnet/Alb/LoadBalancer.cs index a8b60d36c8..7f4e1b6714 100644 --- a/sdk/dotnet/Alb/LoadBalancer.cs +++ b/sdk/dotnet/Alb/LoadBalancer.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/LoadBalancerAccessLogConfigAttachment.cs b/sdk/dotnet/Alb/LoadBalancerAccessLogConfigAttachment.cs index 2cc80a5659..766c861b7c 100644 --- a/sdk/dotnet/Alb/LoadBalancerAccessLogConfigAttachment.cs +++ b/sdk/dotnet/Alb/LoadBalancerAccessLogConfigAttachment.cs @@ -139,6 +139,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/LoadBalancerCommonBandwidthPackageAttachment.cs b/sdk/dotnet/Alb/LoadBalancerCommonBandwidthPackageAttachment.cs index 9f60bb0e77..1f72db3c43 100644 --- a/sdk/dotnet/Alb/LoadBalancerCommonBandwidthPackageAttachment.cs +++ b/sdk/dotnet/Alb/LoadBalancerCommonBandwidthPackageAttachment.cs @@ -117,6 +117,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/LoadBalancerSecurityGroupAttachment.cs b/sdk/dotnet/Alb/LoadBalancerSecurityGroupAttachment.cs index 57fd38dcfc..3ec22d1963 100644 --- a/sdk/dotnet/Alb/LoadBalancerSecurityGroupAttachment.cs +++ b/sdk/dotnet/Alb/LoadBalancerSecurityGroupAttachment.cs @@ -100,6 +100,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/LoadBalancerZoneShiftedAttachment.cs b/sdk/dotnet/Alb/LoadBalancerZoneShiftedAttachment.cs index 54ebefad25..faef64b84b 100644 --- a/sdk/dotnet/Alb/LoadBalancerZoneShiftedAttachment.cs +++ b/sdk/dotnet/Alb/LoadBalancerZoneShiftedAttachment.cs @@ -124,6 +124,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/Rule.cs b/sdk/dotnet/Alb/Rule.cs index da31284143..41253353d9 100644 --- a/sdk/dotnet/Alb/Rule.cs +++ b/sdk/dotnet/Alb/Rule.cs @@ -191,6 +191,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/SecurityPolicy.cs b/sdk/dotnet/Alb/SecurityPolicy.cs index ebc2771f24..e439d11fc1 100644 --- a/sdk/dotnet/Alb/SecurityPolicy.cs +++ b/sdk/dotnet/Alb/SecurityPolicy.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ALB Security Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Alb/ServerGroup.cs b/sdk/dotnet/Alb/ServerGroup.cs index 0ad08fa549..5cbeb265cc 100644 --- a/sdk/dotnet/Alb/ServerGroup.cs +++ b/sdk/dotnet/Alb/ServerGroup.cs @@ -137,6 +137,8 @@ namespace Pulumi.AliCloud.Alb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Load Balancer (ALB) Server Group can be imported using the id, e.g. diff --git a/sdk/dotnet/AliKafka/ConsumerGroup.cs b/sdk/dotnet/AliKafka/ConsumerGroup.cs index 16391416fa..e7b76a7c36 100644 --- a/sdk/dotnet/AliKafka/ConsumerGroup.cs +++ b/sdk/dotnet/AliKafka/ConsumerGroup.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.AliKafka /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/dotnet/AliKafka/InstanceAllowedIpAttachment.cs b/sdk/dotnet/AliKafka/InstanceAllowedIpAttachment.cs index a5bb1c80f4..883473302d 100644 --- a/sdk/dotnet/AliKafka/InstanceAllowedIpAttachment.cs +++ b/sdk/dotnet/AliKafka/InstanceAllowedIpAttachment.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.AliKafka /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/AliKafka/SaslAcl.cs b/sdk/dotnet/AliKafka/SaslAcl.cs index 2d59f06ae3..da4fe186ad 100644 --- a/sdk/dotnet/AliKafka/SaslAcl.cs +++ b/sdk/dotnet/AliKafka/SaslAcl.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.AliKafka /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/dotnet/AliKafka/SaslUser.cs b/sdk/dotnet/AliKafka/SaslUser.cs index 086a24fdde..0c32a46bac 100644 --- a/sdk/dotnet/AliKafka/SaslUser.cs +++ b/sdk/dotnet/AliKafka/SaslUser.cs @@ -10,14 +10,11 @@ namespace Pulumi.AliCloud.AliKafka { /// - /// Provides an Alikafka Sasl User resource. + /// Provides an AliKafka Sasl User resource. /// - /// > **NOTE:** Available since v1.66.0. - /// - /// > **NOTE:** Only the following regions support create alikafka Sasl User. - /// [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] + /// For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). /// - /// For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). + /// > **NOTE:** Available since v1.66.0. /// /// ## Example Usage /// @@ -33,7 +30,7 @@ namespace Pulumi.AliCloud.AliKafka /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); - /// var name = config.Get("name") ?? "tf-example"; + /// var name = config.Get("name") ?? "terraform-example"; /// var @default = AliCloud.GetZones.Invoke(new() /// { /// AvailableResourceCreation = "VSwitch", @@ -92,9 +89,11 @@ namespace Pulumi.AliCloud.AliKafka /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// Alikafka Sasl User can be imported using the id, e.g. + /// AliKafka Sasl User can be imported using the id, e.g. /// /// ```sh /// $ pulumi import alicloud:alikafka/saslUser:SaslUser example <instance_id>:<username> @@ -104,7 +103,7 @@ namespace Pulumi.AliCloud.AliKafka public partial class SaslUser : global::Pulumi.CustomResource { /// - /// ID of the ALIKAFKA Instance that owns the groups. + /// The instance ID. /// [Output("instanceId")] public Output InstanceId { get; private set; } = null!; @@ -121,14 +120,23 @@ public partial class SaslUser : global::Pulumi.CustomResource [Output("kmsEncryptionContext")] public Output?> KmsEncryptionContext { get; private set; } = null!; + /// + /// The encryption method. Valid values: + /// - SCRAM-SHA-512. This is the default value. + /// - SCRAM-SHA-256 + /// > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + /// + [Output("mechanism")] + public Output Mechanism { get; private set; } = null!; + /// /// The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `Password` and `KmsEncryptedPassword` fields. /// [Output("password")] - public Output Password { get; private set; } = null!; + public Output Password { get; private set; } = null!; /// - /// The authentication mechanism. Default value: `Plain`. Valid values: `Plain`, `Scram`. + /// The authentication mechanism. Default value: `Plain`. Valid values: /// [Output("type")] public Output Type { get; private set; } = null!; @@ -190,7 +198,7 @@ public static SaslUser Get(string name, Input id, SaslUserState? state = public sealed class SaslUserArgs : global::Pulumi.ResourceArgs { /// - /// ID of the ALIKAFKA Instance that owns the groups. + /// The instance ID. /// [Input("instanceId", required: true)] public Input InstanceId { get; set; } = null!; @@ -213,6 +221,15 @@ public InputMap KmsEncryptionContext set => _kmsEncryptionContext = value; } + /// + /// The encryption method. Valid values: + /// - SCRAM-SHA-512. This is the default value. + /// - SCRAM-SHA-256 + /// > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + /// + [Input("mechanism")] + public Input? Mechanism { get; set; } + [Input("password")] private Input? _password; @@ -230,7 +247,7 @@ public Input? Password } /// - /// The authentication mechanism. Default value: `Plain`. Valid values: `Plain`, `Scram`. + /// The authentication mechanism. Default value: `Plain`. Valid values: /// [Input("type")] public Input? Type { get; set; } @@ -250,7 +267,7 @@ public SaslUserArgs() public sealed class SaslUserState : global::Pulumi.ResourceArgs { /// - /// ID of the ALIKAFKA Instance that owns the groups. + /// The instance ID. /// [Input("instanceId")] public Input? InstanceId { get; set; } @@ -273,6 +290,15 @@ public InputMap KmsEncryptionContext set => _kmsEncryptionContext = value; } + /// + /// The encryption method. Valid values: + /// - SCRAM-SHA-512. This is the default value. + /// - SCRAM-SHA-256 + /// > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + /// + [Input("mechanism")] + public Input? Mechanism { get; set; } + [Input("password")] private Input? _password; @@ -290,7 +316,7 @@ public Input? Password } /// - /// The authentication mechanism. Default value: `Plain`. Valid values: `Plain`, `Scram`. + /// The authentication mechanism. Default value: `Plain`. Valid values: /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/AliKafka/Topic.cs b/sdk/dotnet/AliKafka/Topic.cs index 0d2ea48f16..4f3858e9b2 100644 --- a/sdk/dotnet/AliKafka/Topic.cs +++ b/sdk/dotnet/AliKafka/Topic.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.AliKafka /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alikafka Topic can be imported using the id, e.g. diff --git a/sdk/dotnet/Aligreen/AuditCallback.cs b/sdk/dotnet/Aligreen/AuditCallback.cs index 30c6e335ef..18e572ae57 100644 --- a/sdk/dotnet/Aligreen/AuditCallback.cs +++ b/sdk/dotnet/Aligreen/AuditCallback.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Aligreen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aligreen Audit Callback can be imported using the id, e.g. diff --git a/sdk/dotnet/Aligreen/BizType.cs b/sdk/dotnet/Aligreen/BizType.cs index 2cbb24da10..84457709c2 100644 --- a/sdk/dotnet/Aligreen/BizType.cs +++ b/sdk/dotnet/Aligreen/BizType.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Aligreen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aligreen Biz Type can be imported using the id, e.g. diff --git a/sdk/dotnet/Aligreen/Callback.cs b/sdk/dotnet/Aligreen/Callback.cs index 98c2e2c0ac..ab29a3e535 100644 --- a/sdk/dotnet/Aligreen/Callback.cs +++ b/sdk/dotnet/Aligreen/Callback.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Aligreen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aligreen Callback can be imported using the id, e.g. diff --git a/sdk/dotnet/Aligreen/ImageLib.cs b/sdk/dotnet/Aligreen/ImageLib.cs index 03d5be04b4..ea94d06fe2 100644 --- a/sdk/dotnet/Aligreen/ImageLib.cs +++ b/sdk/dotnet/Aligreen/ImageLib.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Aligreen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aligreen Image Lib can be imported using the id, e.g. diff --git a/sdk/dotnet/Aligreen/KeywordLib.cs b/sdk/dotnet/Aligreen/KeywordLib.cs index 605ec4f150..2fe400f875 100644 --- a/sdk/dotnet/Aligreen/KeywordLib.cs +++ b/sdk/dotnet/Aligreen/KeywordLib.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Aligreen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aligreen Keyword Lib can be imported using the id, e.g. diff --git a/sdk/dotnet/Amqp/Binding.cs b/sdk/dotnet/Amqp/Binding.cs index e55a497197..87c0de8ec6 100644 --- a/sdk/dotnet/Amqp/Binding.cs +++ b/sdk/dotnet/Amqp/Binding.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Amqp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RabbitMQ (AMQP) Binding can be imported using the id, e.g. diff --git a/sdk/dotnet/Amqp/Exchange.cs b/sdk/dotnet/Amqp/Exchange.cs index 664d88a0f9..b9e858f976 100644 --- a/sdk/dotnet/Amqp/Exchange.cs +++ b/sdk/dotnet/Amqp/Exchange.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Amqp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RabbitMQ (AMQP) Exchange can be imported using the id, e.g. diff --git a/sdk/dotnet/Amqp/Instance.cs b/sdk/dotnet/Amqp/Instance.cs index 03e9477d34..331ca67ed1 100644 --- a/sdk/dotnet/Amqp/Instance.cs +++ b/sdk/dotnet/Amqp/Instance.cs @@ -33,6 +33,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("createTime")] public Output CreateTime { get; private set; } = null!; + /// + /// The deployment architecture for Serverless instances. Valid values: + /// + [Output("edition")] + public Output Edition { get; private set; } = null!; + /// /// The instance name. /// @@ -96,6 +102,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("periodCycle")] public Output PeriodCycle { get; private set; } = null!; + /// + /// The provisioned TPS capacity for reserved + elastic instances. + /// + [Output("provisionedCapacity")] + public Output ProvisionedCapacity { get; private set; } = null!; + /// /// Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. /// @@ -148,7 +160,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. /// [Output("supportTracing")] - public Output SupportTracing { get; private set; } = null!; + public Output SupportTracing { get; private set; } = null!; /// /// Configure the storage duration of message traces. Unit: Days. The value is as follows: 3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true. @@ -208,6 +220,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("autoRenew")] public Input? AutoRenew { get; set; } + /// + /// The deployment architecture for Serverless instances. Valid values: + /// + [Input("edition")] + public Input? Edition { get; set; } + /// /// The instance name. /// @@ -271,6 +289,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("periodCycle")] public Input? PeriodCycle { get; set; } + /// + /// The provisioned TPS capacity for reserved + elastic instances. + /// + [Input("provisionedCapacity")] + public Input? ProvisionedCapacity { get; set; } + /// /// Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. /// @@ -345,6 +369,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("createTime")] public Input? CreateTime { get; set; } + /// + /// The deployment architecture for Serverless instances. Valid values: + /// + [Input("edition")] + public Input? Edition { get; set; } + /// /// The instance name. /// @@ -408,6 +438,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("periodCycle")] public Input? PeriodCycle { get; set; } + /// + /// The provisioned TPS capacity for reserved + elastic instances. + /// + [Input("provisionedCapacity")] + public Input? ProvisionedCapacity { get; set; } + /// /// Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. /// diff --git a/sdk/dotnet/Amqp/Queue.cs b/sdk/dotnet/Amqp/Queue.cs index e5cd109731..0a67b6f01d 100644 --- a/sdk/dotnet/Amqp/Queue.cs +++ b/sdk/dotnet/Amqp/Queue.cs @@ -25,47 +25,50 @@ namespace Pulumi.AliCloud.Amqp /// using System.Linq; /// using Pulumi; /// using AliCloud = Pulumi.AliCloud; + /// using Random = Pulumi.Random; /// /// return await Deployment.RunAsync(() => /// { - /// var @default = new AliCloud.Amqp.Instance("default", new() + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new Random.Index.Integer("default", new() /// { + /// Min = 10000, + /// Max = 99999, + /// }); + /// + /// var defaultInstance = new AliCloud.Amqp.Instance("default", new() + /// { + /// InstanceName = $"{name}-{@default.Result}", /// InstanceType = "enterprise", /// MaxTps = "3000", + /// MaxConnections = 2000, /// QueueCapacity = "200", - /// StorageSize = "700", - /// SupportEip = false, - /// MaxEipTps = "128", /// PaymentType = "Subscription", - /// Period = 1, + /// RenewalStatus = "AutoRenewal", + /// RenewalDuration = 1, + /// RenewalDurationUnit = "Year", + /// SupportEip = true, /// }); /// /// var defaultVirtualHost = new AliCloud.Amqp.VirtualHost("default", new() /// { - /// InstanceId = @default.Id, - /// VirtualHostName = "tf-example", + /// InstanceId = defaultInstance.Id, + /// VirtualHostName = $"{name}-{@default.Result}", /// }); /// - /// var defaultExchange = new AliCloud.Amqp.Exchange("default", new() + /// var defaultQueue = new AliCloud.Amqp.Queue("default", new() /// { - /// AutoDeleteState = false, - /// ExchangeName = "tf-example", - /// ExchangeType = "DIRECT", - /// InstanceId = @default.Id, - /// Internal = false, - /// VirtualHostName = defaultVirtualHost.VirtualHostName, - /// }); - /// - /// var example = new AliCloud.Amqp.Queue("example", new() - /// { - /// InstanceId = @default.Id, - /// QueueName = "tf-example", + /// InstanceId = defaultInstance.Id, /// VirtualHostName = defaultVirtualHost.VirtualHostName, + /// QueueName = $"{name}-{@default.Result}", /// }); /// /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -78,80 +81,61 @@ namespace Pulumi.AliCloud.Amqp public partial class Queue : global::Pulumi.CustomResource { /// - /// Specifies whether the Auto Delete attribute is configured. Valid values: - /// * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - /// * false: The Auto Delete attribute is not configured. + /// Specifies whether to automatically delete the queue. Valid values: /// [Output("autoDeleteState")] public Output AutoDeleteState { get; private set; } = null!; /// - /// The validity period after which the queue is automatically deleted. - /// If the queue is not accessed within a specified period of time, it is automatically deleted. + /// The auto-expiration time for the queue. /// [Output("autoExpireState")] public Output AutoExpireState { get; private set; } = null!; /// - /// The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - /// If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - /// Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + /// The dead-letter exchange. /// [Output("deadLetterExchange")] public Output DeadLetterExchange { get; private set; } = null!; /// - /// The dead letter routing key. + /// The dead-letter routing key. /// [Output("deadLetterRoutingKey")] public Output DeadLetterRoutingKey { get; private set; } = null!; /// - /// Specifies whether the queue is an exclusive queue. Valid values: - /// * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - /// * false: The queue is not an exclusive queue. - /// - [Output("exclusiveState")] - public Output ExclusiveState { get; private set; } = null!; - - /// - /// The ID of the instance. + /// The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. /// [Output("instanceId")] public Output InstanceId { get; private set; } = null!; /// /// The maximum number of messages that can be stored in the queue. - /// If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. /// [Output("maxLength")] public Output MaxLength { get; private set; } = null!; /// - /// The highest priority supported by the queue. This parameter is set to a positive integer. - /// Valid values: 0 to 255. Recommended values: 1 to 10 + /// The priority of the queue. /// [Output("maximumPriority")] public Output MaximumPriority { get; private set; } = null!; /// - /// The message TTL of the queue. - /// If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - /// Message TTL must be set to a non-negative integer, in milliseconds. - /// For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + /// The time to live (TTL) of a message in the queue. /// [Output("messageTtl")] public Output MessageTtl { get; private set; } = null!; /// - /// The name of the queue. - /// The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + /// The name of the queue to create. /// [Output("queueName")] public Output QueueName { get; private set; } = null!; /// - /// The name of the virtual host. + /// The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. /// [Output("virtualHostName")] public Output VirtualHostName { get; private set; } = null!; @@ -203,80 +187,61 @@ public static Queue Get(string name, Input id, QueueState? state = null, public sealed class QueueArgs : global::Pulumi.ResourceArgs { /// - /// Specifies whether the Auto Delete attribute is configured. Valid values: - /// * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - /// * false: The Auto Delete attribute is not configured. + /// Specifies whether to automatically delete the queue. Valid values: /// [Input("autoDeleteState")] public Input? AutoDeleteState { get; set; } /// - /// The validity period after which the queue is automatically deleted. - /// If the queue is not accessed within a specified period of time, it is automatically deleted. + /// The auto-expiration time for the queue. /// [Input("autoExpireState")] public Input? AutoExpireState { get; set; } /// - /// The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - /// If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - /// Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + /// The dead-letter exchange. /// [Input("deadLetterExchange")] public Input? DeadLetterExchange { get; set; } /// - /// The dead letter routing key. + /// The dead-letter routing key. /// [Input("deadLetterRoutingKey")] public Input? DeadLetterRoutingKey { get; set; } /// - /// Specifies whether the queue is an exclusive queue. Valid values: - /// * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - /// * false: The queue is not an exclusive queue. - /// - [Input("exclusiveState")] - public Input? ExclusiveState { get; set; } - - /// - /// The ID of the instance. + /// The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. /// [Input("instanceId", required: true)] public Input InstanceId { get; set; } = null!; /// /// The maximum number of messages that can be stored in the queue. - /// If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. /// [Input("maxLength")] public Input? MaxLength { get; set; } /// - /// The highest priority supported by the queue. This parameter is set to a positive integer. - /// Valid values: 0 to 255. Recommended values: 1 to 10 + /// The priority of the queue. /// [Input("maximumPriority")] public Input? MaximumPriority { get; set; } /// - /// The message TTL of the queue. - /// If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - /// Message TTL must be set to a non-negative integer, in milliseconds. - /// For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + /// The time to live (TTL) of a message in the queue. /// [Input("messageTtl")] public Input? MessageTtl { get; set; } /// - /// The name of the queue. - /// The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + /// The name of the queue to create. /// [Input("queueName", required: true)] public Input QueueName { get; set; } = null!; /// - /// The name of the virtual host. + /// The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. /// [Input("virtualHostName", required: true)] public Input VirtualHostName { get; set; } = null!; @@ -290,80 +255,61 @@ public QueueArgs() public sealed class QueueState : global::Pulumi.ResourceArgs { /// - /// Specifies whether the Auto Delete attribute is configured. Valid values: - /// * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - /// * false: The Auto Delete attribute is not configured. + /// Specifies whether to automatically delete the queue. Valid values: /// [Input("autoDeleteState")] public Input? AutoDeleteState { get; set; } /// - /// The validity period after which the queue is automatically deleted. - /// If the queue is not accessed within a specified period of time, it is automatically deleted. + /// The auto-expiration time for the queue. /// [Input("autoExpireState")] public Input? AutoExpireState { get; set; } /// - /// The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - /// If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - /// Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + /// The dead-letter exchange. /// [Input("deadLetterExchange")] public Input? DeadLetterExchange { get; set; } /// - /// The dead letter routing key. + /// The dead-letter routing key. /// [Input("deadLetterRoutingKey")] public Input? DeadLetterRoutingKey { get; set; } /// - /// Specifies whether the queue is an exclusive queue. Valid values: - /// * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - /// * false: The queue is not an exclusive queue. - /// - [Input("exclusiveState")] - public Input? ExclusiveState { get; set; } - - /// - /// The ID of the instance. + /// The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. /// [Input("instanceId")] public Input? InstanceId { get; set; } /// /// The maximum number of messages that can be stored in the queue. - /// If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. /// [Input("maxLength")] public Input? MaxLength { get; set; } /// - /// The highest priority supported by the queue. This parameter is set to a positive integer. - /// Valid values: 0 to 255. Recommended values: 1 to 10 + /// The priority of the queue. /// [Input("maximumPriority")] public Input? MaximumPriority { get; set; } /// - /// The message TTL of the queue. - /// If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - /// Message TTL must be set to a non-negative integer, in milliseconds. - /// For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + /// The time to live (TTL) of a message in the queue. /// [Input("messageTtl")] public Input? MessageTtl { get; set; } /// - /// The name of the queue. - /// The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + /// The name of the queue to create. /// [Input("queueName")] public Input? QueueName { get; set; } /// - /// The name of the virtual host. + /// The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. /// [Input("virtualHostName")] public Input? VirtualHostName { get; set; } diff --git a/sdk/dotnet/Amqp/StaticAccount.cs b/sdk/dotnet/Amqp/StaticAccount.cs index 91afb2f7d3..725f6539da 100644 --- a/sdk/dotnet/Amqp/StaticAccount.cs +++ b/sdk/dotnet/Amqp/StaticAccount.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Amqp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Amqp Static Account can be imported using the id, e.g. diff --git a/sdk/dotnet/Amqp/VirtualHost.cs b/sdk/dotnet/Amqp/VirtualHost.cs index 0bb7f921af..d11a477df2 100644 --- a/sdk/dotnet/Amqp/VirtualHost.cs +++ b/sdk/dotnet/Amqp/VirtualHost.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Amqp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/AccessControlList.cs b/sdk/dotnet/ApiGateway/AccessControlList.cs index 05467e5526..a048de4bb4 100644 --- a/sdk/dotnet/ApiGateway/AccessControlList.cs +++ b/sdk/dotnet/ApiGateway/AccessControlList.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Access Control List can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/AclEntryAttachment.cs b/sdk/dotnet/ApiGateway/AclEntryAttachment.cs index 2753ebb8ad..ac75beb6c6 100644 --- a/sdk/dotnet/ApiGateway/AclEntryAttachment.cs +++ b/sdk/dotnet/ApiGateway/AclEntryAttachment.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/Api.cs b/sdk/dotnet/ApiGateway/Api.cs index 88dcee53be..e7539d4667 100644 --- a/sdk/dotnet/ApiGateway/Api.cs +++ b/sdk/dotnet/ApiGateway/Api.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api gateway api can be imported using the id.Format to `<API Group Id>:<API Id>` e.g. diff --git a/sdk/dotnet/ApiGateway/App.cs b/sdk/dotnet/ApiGateway/App.cs index f45be60c41..9e5ffcdda8 100644 --- a/sdk/dotnet/ApiGateway/App.cs +++ b/sdk/dotnet/ApiGateway/App.cs @@ -31,6 +31,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api gateway app can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/AppAttachment.cs b/sdk/dotnet/ApiGateway/AppAttachment.cs index 9e9dd0db8d..3dc1fa218a 100644 --- a/sdk/dotnet/ApiGateway/AppAttachment.cs +++ b/sdk/dotnet/ApiGateway/AppAttachment.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.ApiGateway /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:apigateway/appAttachment:AppAttachment")] public partial class AppAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/ApiGateway/Backend.cs b/sdk/dotnet/ApiGateway/Backend.cs index 0bd9d95964..9931e79462 100644 --- a/sdk/dotnet/ApiGateway/Backend.cs +++ b/sdk/dotnet/ApiGateway/Backend.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Backend can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/Group.cs b/sdk/dotnet/ApiGateway/Group.cs index 606d8df6b9..a0594c4f27 100644 --- a/sdk/dotnet/ApiGateway/Group.cs +++ b/sdk/dotnet/ApiGateway/Group.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api gateway group can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/Instance.cs b/sdk/dotnet/ApiGateway/Instance.cs index 5ee4ed0608..c2af79157f 100644 --- a/sdk/dotnet/ApiGateway/Instance.cs +++ b/sdk/dotnet/ApiGateway/Instance.cs @@ -112,6 +112,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/InstanceAclAttachment.cs b/sdk/dotnet/ApiGateway/InstanceAclAttachment.cs index 6e6da2ce0c..1f7d8eae48 100644 --- a/sdk/dotnet/ApiGateway/InstanceAclAttachment.cs +++ b/sdk/dotnet/ApiGateway/InstanceAclAttachment.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Instance Acl Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/LogConfig.cs b/sdk/dotnet/ApiGateway/LogConfig.cs index 4db3cc293c..8e55780b6f 100644 --- a/sdk/dotnet/ApiGateway/LogConfig.cs +++ b/sdk/dotnet/ApiGateway/LogConfig.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Log Config can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/Model.cs b/sdk/dotnet/ApiGateway/Model.cs index fb25e05ea6..379970cd3f 100644 --- a/sdk/dotnet/ApiGateway/Model.cs +++ b/sdk/dotnet/ApiGateway/Model.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Model can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/Plugin.cs b/sdk/dotnet/ApiGateway/Plugin.cs index c36be6342a..b87c8d2c20 100644 --- a/sdk/dotnet/ApiGateway/Plugin.cs +++ b/sdk/dotnet/ApiGateway/Plugin.cs @@ -87,6 +87,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api Gateway Plugin can be imported using the id, e.g. diff --git a/sdk/dotnet/ApiGateway/PluginAttachment.cs b/sdk/dotnet/ApiGateway/PluginAttachment.cs index 0d476ad708..36b7c4f996 100644 --- a/sdk/dotnet/ApiGateway/PluginAttachment.cs +++ b/sdk/dotnet/ApiGateway/PluginAttachment.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.ApiGateway /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:apigateway/pluginAttachment:PluginAttachment")] public partial class PluginAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/ApiGateway/VpcAccess.cs b/sdk/dotnet/ApiGateway/VpcAccess.cs index f9b24f6d95..977b2c3663 100644 --- a/sdk/dotnet/ApiGateway/VpcAccess.cs +++ b/sdk/dotnet/ApiGateway/VpcAccess.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.ApiGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Api gateway app can be imported using the id, e.g. diff --git a/sdk/dotnet/Apig/Environment.cs b/sdk/dotnet/Apig/Environment.cs index c7b8b042f8..1e825673ef 100644 --- a/sdk/dotnet/Apig/Environment.cs +++ b/sdk/dotnet/Apig/Environment.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Apig /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// APIG Environment can be imported using the id, e.g. diff --git a/sdk/dotnet/Apig/HttpApi.cs b/sdk/dotnet/Apig/HttpApi.cs index ef30684c2f..ab5b06ba12 100644 --- a/sdk/dotnet/Apig/HttpApi.cs +++ b/sdk/dotnet/Apig/HttpApi.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Apig /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// APIG Http Api can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/AddonRelease.cs b/sdk/dotnet/Arms/AddonRelease.cs index c05374d629..4923d0ab50 100644 --- a/sdk/dotnet/Arms/AddonRelease.cs +++ b/sdk/dotnet/Arms/AddonRelease.cs @@ -154,6 +154,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Addon Release can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/AlertContact.cs b/sdk/dotnet/Arms/AlertContact.cs index 6cc194041b..ade054868e 100644 --- a/sdk/dotnet/Arms/AlertContact.cs +++ b/sdk/dotnet/Arms/AlertContact.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/AlertContactGroup.cs b/sdk/dotnet/Arms/AlertContactGroup.cs index a072d0ee11..a80158a410 100644 --- a/sdk/dotnet/Arms/AlertContactGroup.cs +++ b/sdk/dotnet/Arms/AlertContactGroup.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/AlertRobot.cs b/sdk/dotnet/Arms/AlertRobot.cs index fec2d1a087..f596c2a6ae 100644 --- a/sdk/dotnet/Arms/AlertRobot.cs +++ b/sdk/dotnet/Arms/AlertRobot.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/DispatchRule.cs b/sdk/dotnet/Arms/DispatchRule.cs index 063ebe0df1..4faf7a37d7 100644 --- a/sdk/dotnet/Arms/DispatchRule.cs +++ b/sdk/dotnet/Arms/DispatchRule.cs @@ -129,6 +129,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/EnvCustomJob.cs b/sdk/dotnet/Arms/EnvCustomJob.cs index 2fe481ecdc..019f503476 100644 --- a/sdk/dotnet/Arms/EnvCustomJob.cs +++ b/sdk/dotnet/Arms/EnvCustomJob.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Env Custom Job can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/EnvFeature.cs b/sdk/dotnet/Arms/EnvFeature.cs index 4b3174be41..04b4063cc9 100644 --- a/sdk/dotnet/Arms/EnvFeature.cs +++ b/sdk/dotnet/Arms/EnvFeature.cs @@ -145,6 +145,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Env Feature can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/EnvPodMonitor.cs b/sdk/dotnet/Arms/EnvPodMonitor.cs index 143bf672f5..0491f9e973 100644 --- a/sdk/dotnet/Arms/EnvPodMonitor.cs +++ b/sdk/dotnet/Arms/EnvPodMonitor.cs @@ -169,6 +169,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Env Pod Monitor can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/EnvServiceMonitor.cs b/sdk/dotnet/Arms/EnvServiceMonitor.cs index 25f147a3d2..89d9ed03f8 100644 --- a/sdk/dotnet/Arms/EnvServiceMonitor.cs +++ b/sdk/dotnet/Arms/EnvServiceMonitor.cs @@ -168,6 +168,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Env Service Monitor can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/Environment.cs b/sdk/dotnet/Arms/Environment.cs index a8195ee1ed..d61c63e834 100644 --- a/sdk/dotnet/Arms/Environment.cs +++ b/sdk/dotnet/Arms/Environment.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Environment can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/GrafanaWorkspace.cs b/sdk/dotnet/Arms/GrafanaWorkspace.cs index 6f0d55ff27..4bd176126e 100644 --- a/sdk/dotnet/Arms/GrafanaWorkspace.cs +++ b/sdk/dotnet/Arms/GrafanaWorkspace.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/IntegrationExporter.cs b/sdk/dotnet/Arms/IntegrationExporter.cs index 46c95bb147..d2aedd6074 100644 --- a/sdk/dotnet/Arms/IntegrationExporter.cs +++ b/sdk/dotnet/Arms/IntegrationExporter.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/Prometheus.cs b/sdk/dotnet/Arms/Prometheus.cs index 3e56bc47ee..c490a64156 100644 --- a/sdk/dotnet/Arms/Prometheus.cs +++ b/sdk/dotnet/Arms/Prometheus.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/PrometheusAlertRule.cs b/sdk/dotnet/Arms/PrometheusAlertRule.cs index 822c69751e..6ea10ef6d8 100644 --- a/sdk/dotnet/Arms/PrometheusAlertRule.cs +++ b/sdk/dotnet/Arms/PrometheusAlertRule.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/PrometheusMonitoring.cs b/sdk/dotnet/Arms/PrometheusMonitoring.cs index 5a68006494..eece78364f 100644 --- a/sdk/dotnet/Arms/PrometheusMonitoring.cs +++ b/sdk/dotnet/Arms/PrometheusMonitoring.cs @@ -165,6 +165,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Prometheus Monitoring can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/RemoteWrite.cs b/sdk/dotnet/Arms/RemoteWrite.cs index d265e4bd48..8b3dc16bc4 100644 --- a/sdk/dotnet/Arms/RemoteWrite.cs +++ b/sdk/dotnet/Arms/RemoteWrite.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. diff --git a/sdk/dotnet/Arms/SyntheticTask.cs b/sdk/dotnet/Arms/SyntheticTask.cs index 6d2047a08a..d19d8b5162 100644 --- a/sdk/dotnet/Arms/SyntheticTask.cs +++ b/sdk/dotnet/Arms/SyntheticTask.cs @@ -241,6 +241,8 @@ namespace Pulumi.AliCloud.Arms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ARMS Synthetic Task can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/Host.cs b/sdk/dotnet/BastionHost/Host.cs index 7ec2312d2e..2bf4df29f9 100644 --- a/sdk/dotnet/BastionHost/Host.cs +++ b/sdk/dotnet/BastionHost/Host.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostAccount.cs b/sdk/dotnet/BastionHost/HostAccount.cs index a290da5619..afd10458cd 100644 --- a/sdk/dotnet/BastionHost/HostAccount.cs +++ b/sdk/dotnet/BastionHost/HostAccount.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostAccountShareKeyAttachment.cs b/sdk/dotnet/BastionHost/HostAccountShareKeyAttachment.cs index 6d3efad9a9..afd0eea37a 100644 --- a/sdk/dotnet/BastionHost/HostAccountShareKeyAttachment.cs +++ b/sdk/dotnet/BastionHost/HostAccountShareKeyAttachment.cs @@ -105,6 +105,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Account Share Key Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostAccountUserAttachment.cs b/sdk/dotnet/BastionHost/HostAccountUserAttachment.cs index cf98854e07..5844114a00 100644 --- a/sdk/dotnet/BastionHost/HostAccountUserAttachment.cs +++ b/sdk/dotnet/BastionHost/HostAccountUserAttachment.cs @@ -109,6 +109,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostAccountUserGroupAttachment.cs b/sdk/dotnet/BastionHost/HostAccountUserGroupAttachment.cs index ebb64ee785..c8eb88306b 100644 --- a/sdk/dotnet/BastionHost/HostAccountUserGroupAttachment.cs +++ b/sdk/dotnet/BastionHost/HostAccountUserGroupAttachment.cs @@ -105,6 +105,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostAttachment.cs b/sdk/dotnet/BastionHost/HostAttachment.cs index 80e4d4b703..b57b1f0f6c 100644 --- a/sdk/dotnet/BastionHost/HostAttachment.cs +++ b/sdk/dotnet/BastionHost/HostAttachment.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostGroup.cs b/sdk/dotnet/BastionHost/HostGroup.cs index f8d4455ad8..cdc34d7f7a 100644 --- a/sdk/dotnet/BastionHost/HostGroup.cs +++ b/sdk/dotnet/BastionHost/HostGroup.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Group can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostGroupAccountUserAttachment.cs b/sdk/dotnet/BastionHost/HostGroupAccountUserAttachment.cs index 6bfae5585e..22a8f891f1 100644 --- a/sdk/dotnet/BastionHost/HostGroupAccountUserAttachment.cs +++ b/sdk/dotnet/BastionHost/HostGroupAccountUserAttachment.cs @@ -115,6 +115,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostGroupAccountUserGroupAttachment.cs b/sdk/dotnet/BastionHost/HostGroupAccountUserGroupAttachment.cs index 355c532e7b..398281dcac 100644 --- a/sdk/dotnet/BastionHost/HostGroupAccountUserGroupAttachment.cs +++ b/sdk/dotnet/BastionHost/HostGroupAccountUserGroupAttachment.cs @@ -111,6 +111,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/HostShareKey.cs b/sdk/dotnet/BastionHost/HostShareKey.cs index cc3c6ea128..4b07f98877 100644 --- a/sdk/dotnet/BastionHost/HostShareKey.cs +++ b/sdk/dotnet/BastionHost/HostShareKey.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host Share Key can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/User.cs b/sdk/dotnet/BastionHost/User.cs index 6a49bfa80c..053fbfa568 100644 --- a/sdk/dotnet/BastionHost/User.cs +++ b/sdk/dotnet/BastionHost/User.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host User can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/UserAttachment.cs b/sdk/dotnet/BastionHost/UserAttachment.cs index a3c0772daf..49c62c3607 100644 --- a/sdk/dotnet/BastionHost/UserAttachment.cs +++ b/sdk/dotnet/BastionHost/UserAttachment.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host User Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/BastionHost/UserGroup.cs b/sdk/dotnet/BastionHost/UserGroup.cs index 22142d9dfc..b28df31082 100644 --- a/sdk/dotnet/BastionHost/UserGroup.cs +++ b/sdk/dotnet/BastionHost/UserGroup.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.BastionHost /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Bastion Host User Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Bp/StudioApplication.cs b/sdk/dotnet/Bp/StudioApplication.cs index 360ddcc9f5..90eb7212a0 100644 --- a/sdk/dotnet/Bp/StudioApplication.cs +++ b/sdk/dotnet/Bp/StudioApplication.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Bp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Architect Design Tools Application can be imported using the id, e.g. diff --git a/sdk/dotnet/Brain/IndustrialPidLoop.cs b/sdk/dotnet/Brain/IndustrialPidLoop.cs index b9028e93e3..5cec42d4d9 100644 --- a/sdk/dotnet/Brain/IndustrialPidLoop.cs +++ b/sdk/dotnet/Brain/IndustrialPidLoop.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Brain /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Brain Industrial Pid Loop can be imported using the id, e.g. diff --git a/sdk/dotnet/Brain/IndustrialPidOrganization.cs b/sdk/dotnet/Brain/IndustrialPidOrganization.cs index 68843b5343..791f5e97e9 100644 --- a/sdk/dotnet/Brain/IndustrialPidOrganization.cs +++ b/sdk/dotnet/Brain/IndustrialPidOrganization.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.Brain /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Brain Industrial Pid Organization can be imported using the id, e.g. diff --git a/sdk/dotnet/Brain/IndustrialPidProject.cs b/sdk/dotnet/Brain/IndustrialPidProject.cs index 48eca2d3a7..c4e9d4f797 100644 --- a/sdk/dotnet/Brain/IndustrialPidProject.cs +++ b/sdk/dotnet/Brain/IndustrialPidProject.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Brain /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Brain Industrial Pid Project can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/Chain.cs b/sdk/dotnet/CR/Chain.cs index b23e4853be..2e7e01b572 100644 --- a/sdk/dotnet/CR/Chain.cs +++ b/sdk/dotnet/CR/Chain.cs @@ -302,6 +302,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Chain can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/ChartNamespace.cs b/sdk/dotnet/CR/ChartNamespace.cs index 60f3e54119..a26c6eca1c 100644 --- a/sdk/dotnet/CR/ChartNamespace.cs +++ b/sdk/dotnet/CR/ChartNamespace.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Chart Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/ChartRepository.cs b/sdk/dotnet/CR/ChartRepository.cs index 0843faf9d8..4b116d21b3 100644 --- a/sdk/dotnet/CR/ChartRepository.cs +++ b/sdk/dotnet/CR/ChartRepository.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Chart Repository can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/EndpointAclPolicy.cs b/sdk/dotnet/CR/EndpointAclPolicy.cs index afcbdbb0de..778e528290 100644 --- a/sdk/dotnet/CR/EndpointAclPolicy.cs +++ b/sdk/dotnet/CR/EndpointAclPolicy.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Endpoint Acl Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteArgs.cs b/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteArgs.cs new file mode 100644 index 0000000000..bdf8279769 --- /dev/null +++ b/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CR.Inputs +{ + + public sealed class StorageDomainRoutingRuleRouteArgs : global::Pulumi.ResourceArgs + { + /// + /// Endpoint Type. + /// + [Input("endpointType", required: true)] + public Input EndpointType { get; set; } = null!; + + /// + /// Instance domain name. + /// + [Input("instanceDomain", required: true)] + public Input InstanceDomain { get; set; } = null!; + + /// + /// Storage domain name. + /// + [Input("storageDomain", required: true)] + public Input StorageDomain { get; set; } = null!; + + public StorageDomainRoutingRuleRouteArgs() + { + } + public static new StorageDomainRoutingRuleRouteArgs Empty => new StorageDomainRoutingRuleRouteArgs(); + } +} diff --git a/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteGetArgs.cs b/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteGetArgs.cs new file mode 100644 index 0000000000..e6341fd312 --- /dev/null +++ b/sdk/dotnet/CR/Inputs/StorageDomainRoutingRuleRouteGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CR.Inputs +{ + + public sealed class StorageDomainRoutingRuleRouteGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Endpoint Type. + /// + [Input("endpointType", required: true)] + public Input EndpointType { get; set; } = null!; + + /// + /// Instance domain name. + /// + [Input("instanceDomain", required: true)] + public Input InstanceDomain { get; set; } = null!; + + /// + /// Storage domain name. + /// + [Input("storageDomain", required: true)] + public Input StorageDomain { get; set; } = null!; + + public StorageDomainRoutingRuleRouteGetArgs() + { + } + public static new StorageDomainRoutingRuleRouteGetArgs Empty => new StorageDomainRoutingRuleRouteGetArgs(); + } +} diff --git a/sdk/dotnet/CR/Namespace.cs b/sdk/dotnet/CR/Namespace.cs index 68907818bb..a045c422b1 100644 --- a/sdk/dotnet/CR/Namespace.cs +++ b/sdk/dotnet/CR/Namespace.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Container Registry namespace can be imported using the namespace, e.g. diff --git a/sdk/dotnet/CR/Outputs/StorageDomainRoutingRuleRoute.cs b/sdk/dotnet/CR/Outputs/StorageDomainRoutingRuleRoute.cs new file mode 100644 index 0000000000..438b2720cd --- /dev/null +++ b/sdk/dotnet/CR/Outputs/StorageDomainRoutingRuleRoute.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CR.Outputs +{ + + [OutputType] + public sealed class StorageDomainRoutingRuleRoute + { + /// + /// Endpoint Type. + /// + public readonly string EndpointType; + /// + /// Instance domain name. + /// + public readonly string InstanceDomain; + /// + /// Storage domain name. + /// + public readonly string StorageDomain; + + [OutputConstructor] + private StorageDomainRoutingRuleRoute( + string endpointType, + + string instanceDomain, + + string storageDomain) + { + EndpointType = endpointType; + InstanceDomain = instanceDomain; + StorageDomain = storageDomain; + } + } +} diff --git a/sdk/dotnet/CR/RegistryEnterpriseInstance.cs b/sdk/dotnet/CR/RegistryEnterpriseInstance.cs index c35da710e2..fca881414f 100644 --- a/sdk/dotnet/CR/RegistryEnterpriseInstance.cs +++ b/sdk/dotnet/CR/RegistryEnterpriseInstance.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/CR/Repo.cs b/sdk/dotnet/CR/Repo.cs index 853ba2c883..539d3fbfa8 100644 --- a/sdk/dotnet/CR/Repo.cs +++ b/sdk/dotnet/CR/Repo.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Container Registry repository can be imported using the `namespace/repository`, e.g. diff --git a/sdk/dotnet/CR/ScanRule.cs b/sdk/dotnet/CR/ScanRule.cs new file mode 100644 index 0000000000..e59646e9b5 --- /dev/null +++ b/sdk/dotnet/CR/ScanRule.cs @@ -0,0 +1,357 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CR +{ + /// + /// Provides a CR Scan Rule resource. + /// + /// Artifact Scan Rule. + /// + /// For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). + /// + /// > **NOTE:** Available since v1.265.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var default2Aqoce = new AliCloud.CR.RegistryEnterpriseInstance("default2Aqoce", new() + /// { + /// DefaultOssBucket = "false", + /// RenewalStatus = "ManualRenewal", + /// Period = 1, + /// InstanceName = "pl-example-2", + /// PaymentType = "Subscription", + /// InstanceType = "Basic", + /// }); + /// + /// var @default = new AliCloud.CR.ScanRule("default", new() + /// { + /// RepoTagFilterPattern = ".*", + /// ScanScope = "REPO", + /// TriggerType = "MANUAL", + /// ScanType = "VUL", + /// RuleName = name, + /// Namespaces = new[] + /// { + /// "aa", + /// }, + /// RepoNames = new[] + /// { + /// "bb", + /// "cc", + /// "dd", + /// "ee", + /// }, + /// InstanceId = default2Aqoce.Id, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// CR Scan Rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:cr/scanRule:ScanRule example <instance_id>:<scan_rule_id> + /// ``` + /// + [AliCloudResourceType("alicloud:cr/scanRule:ScanRule")] + public partial class ScanRule : global::Pulumi.CustomResource + { + /// + /// Creation time + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Instance ID + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Set of namespaces: + /// - This parameter must not be empty when the scan scope is NAMESPACE. + /// - This parameter must contain exactly one namespace when the scan scope is REPO. + /// + [Output("namespaces")] + public Output> Namespaces { get; private set; } = null!; + + /// + /// Repository list: + /// - This parameter must be empty when the scan scope is NAMESPACE. + /// - This parameter must not be empty when the scan scope is REPO. + /// + [Output("repoNames")] + public Output> RepoNames { get; private set; } = null!; + + /// + /// Regular expression for matching tags that trigger a scan + /// + [Output("repoTagFilterPattern")] + public Output RepoTagFilterPattern { get; private set; } = null!; + + /// + /// Event rule name + /// + [Output("ruleName")] + public Output RuleName { get; private set; } = null!; + + /// + /// Rule ID + /// + [Output("scanRuleId")] + public Output ScanRuleId { get; private set; } = null!; + + /// + /// Scan scope + /// + [Output("scanScope")] + public Output ScanScope { get; private set; } = null!; + + /// + /// Scan type: + /// - `VUL`: Artifact vulnerability scan + /// - `SBOM`: Artifact content analysis + /// + /// The default value of this parameter is `VUL`. + /// + [Output("scanType")] + public Output ScanType { get; private set; } = null!; + + /// + /// Trigger type + /// + [Output("triggerType")] + public Output TriggerType { get; private set; } = null!; + + + /// + /// Create a ScanRule 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 ScanRule(string name, ScanRuleArgs args, CustomResourceOptions? options = null) + : base("alicloud:cr/scanRule:ScanRule", name, args ?? new ScanRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private ScanRule(string name, Input id, ScanRuleState? state = null, CustomResourceOptions? options = null) + : base("alicloud:cr/scanRule:ScanRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 ScanRule 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 ScanRule Get(string name, Input id, ScanRuleState? state = null, CustomResourceOptions? options = null) + { + return new ScanRule(name, id, state, options); + } + } + + public sealed class ScanRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + [Input("namespaces")] + private InputList? _namespaces; + + /// + /// Set of namespaces: + /// - This parameter must not be empty when the scan scope is NAMESPACE. + /// - This parameter must contain exactly one namespace when the scan scope is REPO. + /// + public InputList Namespaces + { + get => _namespaces ?? (_namespaces = new InputList()); + set => _namespaces = value; + } + + [Input("repoNames")] + private InputList? _repoNames; + + /// + /// Repository list: + /// - This parameter must be empty when the scan scope is NAMESPACE. + /// - This parameter must not be empty when the scan scope is REPO. + /// + public InputList RepoNames + { + get => _repoNames ?? (_repoNames = new InputList()); + set => _repoNames = value; + } + + /// + /// Regular expression for matching tags that trigger a scan + /// + [Input("repoTagFilterPattern", required: true)] + public Input RepoTagFilterPattern { get; set; } = null!; + + /// + /// Event rule name + /// + [Input("ruleName", required: true)] + public Input RuleName { get; set; } = null!; + + /// + /// Scan scope + /// + [Input("scanScope", required: true)] + public Input ScanScope { get; set; } = null!; + + /// + /// Scan type: + /// - `VUL`: Artifact vulnerability scan + /// - `SBOM`: Artifact content analysis + /// + /// The default value of this parameter is `VUL`. + /// + [Input("scanType", required: true)] + public Input ScanType { get; set; } = null!; + + /// + /// Trigger type + /// + [Input("triggerType", required: true)] + public Input TriggerType { get; set; } = null!; + + public ScanRuleArgs() + { + } + public static new ScanRuleArgs Empty => new ScanRuleArgs(); + } + + public sealed class ScanRuleState : global::Pulumi.ResourceArgs + { + /// + /// Creation time + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Instance ID + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + [Input("namespaces")] + private InputList? _namespaces; + + /// + /// Set of namespaces: + /// - This parameter must not be empty when the scan scope is NAMESPACE. + /// - This parameter must contain exactly one namespace when the scan scope is REPO. + /// + public InputList Namespaces + { + get => _namespaces ?? (_namespaces = new InputList()); + set => _namespaces = value; + } + + [Input("repoNames")] + private InputList? _repoNames; + + /// + /// Repository list: + /// - This parameter must be empty when the scan scope is NAMESPACE. + /// - This parameter must not be empty when the scan scope is REPO. + /// + public InputList RepoNames + { + get => _repoNames ?? (_repoNames = new InputList()); + set => _repoNames = value; + } + + /// + /// Regular expression for matching tags that trigger a scan + /// + [Input("repoTagFilterPattern")] + public Input? RepoTagFilterPattern { get; set; } + + /// + /// Event rule name + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Rule ID + /// + [Input("scanRuleId")] + public Input? ScanRuleId { get; set; } + + /// + /// Scan scope + /// + [Input("scanScope")] + public Input? ScanScope { get; set; } + + /// + /// Scan type: + /// - `VUL`: Artifact vulnerability scan + /// - `SBOM`: Artifact content analysis + /// + /// The default value of this parameter is `VUL`. + /// + [Input("scanType")] + public Input? ScanType { get; set; } + + /// + /// Trigger type + /// + [Input("triggerType")] + public Input? TriggerType { get; set; } + + public ScanRuleState() + { + } + public static new ScanRuleState Empty => new ScanRuleState(); + } +} diff --git a/sdk/dotnet/CR/StorageDomainRoutingRule.cs b/sdk/dotnet/CR/StorageDomainRoutingRule.cs new file mode 100644 index 0000000000..646b76c694 --- /dev/null +++ b/sdk/dotnet/CR/StorageDomainRoutingRule.cs @@ -0,0 +1,206 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CR +{ + /// + /// Provides a CR Storage Domain Routing Rule resource. + /// + /// Instance Storage Domain Routing Rule. + /// + /// For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). + /// + /// > **NOTE:** Available since v1.265.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.CR.RegistryEnterpriseInstance("default", new() + /// { + /// PaymentType = "Subscription", + /// Period = 1, + /// RenewPeriod = 1, + /// RenewalStatus = "AutoRenewal", + /// InstanceType = "Advanced", + /// InstanceName = name, + /// }); + /// + /// var defaultStorageDomainRoutingRule = new AliCloud.CR.StorageDomainRoutingRule("default", new() + /// { + /// Routes = new[] + /// { + /// new AliCloud.CR.Inputs.StorageDomainRoutingRuleRouteArgs + /// { + /// InstanceDomain = @default.InstanceName.Apply(instanceName => $"{instanceName}-registry-vpc.cn-hangzhou.cr.aliyuncs.com"), + /// StorageDomain = @default.Id.Apply(id => $"https://{id}-registry.oss-cn-hangzhou-internal.aliyuncs.com"), + /// EndpointType = "Internet", + /// }, + /// }, + /// InstanceId = @default.Id, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// CR Storage Domain Routing Rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example <instance_id>:<rule_id> + /// ``` + /// + [AliCloudResourceType("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule")] + public partial class StorageDomainRoutingRule : global::Pulumi.CustomResource + { + /// + /// The creation time of the resource. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The ID of the Container Registry Instance. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Domain name routing entry See `Routes` below. + /// + [Output("routes")] + public Output> Routes { get; private set; } = null!; + + /// + /// The ID of the Rule. + /// + [Output("ruleId")] + public Output RuleId { get; private set; } = null!; + + + /// + /// Create a StorageDomainRoutingRule 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 StorageDomainRoutingRule(string name, StorageDomainRoutingRuleArgs args, CustomResourceOptions? options = null) + : base("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, args ?? new StorageDomainRoutingRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private StorageDomainRoutingRule(string name, Input id, StorageDomainRoutingRuleState? state = null, CustomResourceOptions? options = null) + : base("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 StorageDomainRoutingRule 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 StorageDomainRoutingRule Get(string name, Input id, StorageDomainRoutingRuleState? state = null, CustomResourceOptions? options = null) + { + return new StorageDomainRoutingRule(name, id, state, options); + } + } + + public sealed class StorageDomainRoutingRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Container Registry Instance. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + [Input("routes", required: true)] + private InputList? _routes; + + /// + /// Domain name routing entry See `Routes` below. + /// + public InputList Routes + { + get => _routes ?? (_routes = new InputList()); + set => _routes = value; + } + + public StorageDomainRoutingRuleArgs() + { + } + public static new StorageDomainRoutingRuleArgs Empty => new StorageDomainRoutingRuleArgs(); + } + + public sealed class StorageDomainRoutingRuleState : global::Pulumi.ResourceArgs + { + /// + /// The creation time of the resource. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The ID of the Container Registry Instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + [Input("routes")] + private InputList? _routes; + + /// + /// Domain name routing entry See `Routes` below. + /// + public InputList Routes + { + get => _routes ?? (_routes = new InputList()); + set => _routes = value; + } + + /// + /// The ID of the Rule. + /// + [Input("ruleId")] + public Input? RuleId { get; set; } + + public StorageDomainRoutingRuleState() + { + } + public static new StorageDomainRoutingRuleState Empty => new StorageDomainRoutingRuleState(); + } +} diff --git a/sdk/dotnet/CR/VpcEndpointLinkedVpc.cs b/sdk/dotnet/CR/VpcEndpointLinkedVpc.cs index b0967c2fcc..2d7bea2691 100644 --- a/sdk/dotnet/CR/VpcEndpointLinkedVpc.cs +++ b/sdk/dotnet/CR/VpcEndpointLinkedVpc.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.CR /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. diff --git a/sdk/dotnet/CS/AutoscalingConfig.cs b/sdk/dotnet/CS/AutoscalingConfig.cs index e52d1b1061..c47563817d 100644 --- a/sdk/dotnet/CS/AutoscalingConfig.cs +++ b/sdk/dotnet/CS/AutoscalingConfig.cs @@ -161,6 +161,8 @@ namespace Pulumi.AliCloud.CS /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:cs/autoscalingConfig:AutoscalingConfig")] public partial class AutoscalingConfig : global::Pulumi.CustomResource diff --git a/sdk/dotnet/CS/EdgeKubernetes.cs b/sdk/dotnet/CS/EdgeKubernetes.cs index 6dc8a63927..e6b654e6df 100644 --- a/sdk/dotnet/CS/EdgeKubernetes.cs +++ b/sdk/dotnet/CS/EdgeKubernetes.cs @@ -184,6 +184,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/dotnet/CS/Inputs/NodePoolAutoModeArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolAutoModeArgs.cs new file mode 100644 index 0000000000..3e14e06472 --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolAutoModeArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolAutoModeArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable auto mode. Valid values: + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public NodePoolAutoModeArgs() + { + } + public static new NodePoolAutoModeArgs Empty => new NodePoolAutoModeArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolAutoModeGetArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolAutoModeGetArgs.cs new file mode 100644 index 0000000000..f1df29cb9e --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolAutoModeGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolAutoModeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable auto mode. Valid values: + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public NodePoolAutoModeGetArgs() + { + } + public static new NodePoolAutoModeGetArgs Empty => new NodePoolAutoModeGetArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsArgs.cs new file mode 100644 index 0000000000..bf12c109b6 --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolInstanceMetadataOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// ECS instance metadata access mode configuration. Value range: + /// + /// - 'optional': Compatible with both normal mode and reinforced mode. + /// - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + /// + /// Default value: 'optional '. + /// + /// This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + /// + [Input("httpTokens")] + public Input? HttpTokens { get; set; } + + public NodePoolInstanceMetadataOptionsArgs() + { + } + public static new NodePoolInstanceMetadataOptionsArgs Empty => new NodePoolInstanceMetadataOptionsArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsGetArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsGetArgs.cs new file mode 100644 index 0000000000..d3b61f0e29 --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolInstanceMetadataOptionsGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolInstanceMetadataOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// ECS instance metadata access mode configuration. Value range: + /// + /// - 'optional': Compatible with both normal mode and reinforced mode. + /// - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + /// + /// Default value: 'optional '. + /// + /// This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + /// + [Input("httpTokens")] + public Input? HttpTokens { get; set; } + + public NodePoolInstanceMetadataOptionsGetArgs() + { + } + public static new NodePoolInstanceMetadataOptionsGetArgs Empty => new NodePoolInstanceMetadataOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolInstancePatternArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolInstancePatternArgs.cs new file mode 100644 index 0000000000..325b6bcade --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolInstancePatternArgs.cs @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolInstancePatternArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of vCPU cores of the instance type. Example value: 8. + /// + [Input("cores")] + public Input? Cores { get; set; } + + [Input("cpuArchitectures")] + private InputList? _cpuArchitectures; + + /// + /// The CPU architecture of the instance. Value range: + /// - X86 + /// - ARM + /// + public InputList CpuArchitectures + { + get => _cpuArchitectures ?? (_cpuArchitectures = new InputList()); + set => _cpuArchitectures = value; + } + + [Input("excludedInstanceTypes")] + private InputList? _excludedInstanceTypes; + + /// + /// Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + /// - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + /// - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + /// + public InputList ExcludedInstanceTypes + { + get => _excludedInstanceTypes ?? (_excludedInstanceTypes = new InputList()); + set => _excludedInstanceTypes = value; + } + + [Input("instanceCategories")] + private InputList? _instanceCategories; + + /// + /// Instance classification. Value range: + /// - General-purpose: Universal. + /// - Compute-optimized: Compute type. + /// - Memory-optimized: Memory type. + /// - Big data: Big data type. + /// - Local SSDs: Local SSD type. + /// - High Clock Speed: High frequency type. + /// - Enhanced: Enhanced. + /// - Shared: Shared. + /// - ECS Bare Metal: elastic Bare Metal server. + /// - High Performance Compute: High Performance Compute. + /// + public InputList InstanceCategories + { + get => _instanceCategories ?? (_instanceCategories = new InputList()); + set => _instanceCategories = value; + } + + /// + /// Instance specification family level, value range: + /// - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + /// - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + /// + [Input("instanceFamilyLevel", required: true)] + public Input InstanceFamilyLevel { get; set; } = null!; + + [Input("instanceTypeFamilies")] + private InputList? _instanceTypeFamilies; + + /// + /// Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + /// + public InputList InstanceTypeFamilies + { + get => _instanceTypeFamilies ?? (_instanceTypeFamilies = new InputList()); + set => _instanceTypeFamilies = value; + } + + /// + /// The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + [Input("maxCpuCores")] + public Input? MaxCpuCores { get; set; } + + /// + /// The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + [Input("maxMemorySize")] + public Input? MaxMemorySize { get; set; } + + /// + /// The memory size of the instance type, in GiB. Example value: 8. + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + [Input("minCpuCores")] + public Input? MinCpuCores { get; set; } + + /// + /// The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + [Input("minMemorySize")] + public Input? MinMemorySize { get; set; } + + public NodePoolInstancePatternArgs() + { + } + public static new NodePoolInstancePatternArgs Empty => new NodePoolInstancePatternArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolInstancePatternGetArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolInstancePatternGetArgs.cs new file mode 100644 index 0000000000..604e1cb976 --- /dev/null +++ b/sdk/dotnet/CS/Inputs/NodePoolInstancePatternGetArgs.cs @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Inputs +{ + + public sealed class NodePoolInstancePatternGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of vCPU cores of the instance type. Example value: 8. + /// + [Input("cores")] + public Input? Cores { get; set; } + + [Input("cpuArchitectures")] + private InputList? _cpuArchitectures; + + /// + /// The CPU architecture of the instance. Value range: + /// - X86 + /// - ARM + /// + public InputList CpuArchitectures + { + get => _cpuArchitectures ?? (_cpuArchitectures = new InputList()); + set => _cpuArchitectures = value; + } + + [Input("excludedInstanceTypes")] + private InputList? _excludedInstanceTypes; + + /// + /// Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + /// - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + /// - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + /// + public InputList ExcludedInstanceTypes + { + get => _excludedInstanceTypes ?? (_excludedInstanceTypes = new InputList()); + set => _excludedInstanceTypes = value; + } + + [Input("instanceCategories")] + private InputList? _instanceCategories; + + /// + /// Instance classification. Value range: + /// - General-purpose: Universal. + /// - Compute-optimized: Compute type. + /// - Memory-optimized: Memory type. + /// - Big data: Big data type. + /// - Local SSDs: Local SSD type. + /// - High Clock Speed: High frequency type. + /// - Enhanced: Enhanced. + /// - Shared: Shared. + /// - ECS Bare Metal: elastic Bare Metal server. + /// - High Performance Compute: High Performance Compute. + /// + public InputList InstanceCategories + { + get => _instanceCategories ?? (_instanceCategories = new InputList()); + set => _instanceCategories = value; + } + + /// + /// Instance specification family level, value range: + /// - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + /// - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + /// + [Input("instanceFamilyLevel", required: true)] + public Input InstanceFamilyLevel { get; set; } = null!; + + [Input("instanceTypeFamilies")] + private InputList? _instanceTypeFamilies; + + /// + /// Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + /// + public InputList InstanceTypeFamilies + { + get => _instanceTypeFamilies ?? (_instanceTypeFamilies = new InputList()); + set => _instanceTypeFamilies = value; + } + + /// + /// The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + [Input("maxCpuCores")] + public Input? MaxCpuCores { get; set; } + + /// + /// The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + [Input("maxMemorySize")] + public Input? MaxMemorySize { get; set; } + + /// + /// The memory size of the instance type, in GiB. Example value: 8. + /// + [Input("memory")] + public Input? Memory { get; set; } + + /// + /// The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + [Input("minCpuCores")] + public Input? MinCpuCores { get; set; } + + /// + /// The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + [Input("minMemorySize")] + public Input? MinMemorySize { get; set; } + + public NodePoolInstancePatternGetArgs() + { + } + public static new NodePoolInstancePatternGetArgs Empty => new NodePoolInstancePatternGetArgs(); + } +} diff --git a/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationArgs.cs index b661096d6a..713be9b7a5 100644 --- a/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationArgs.cs +++ b/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationArgs.cs @@ -228,6 +228,12 @@ public InputList Reserved [Input("serializeImagePulls")] public Input? SerializeImagePulls { get; set; } + /// + /// Used to enable the kubelet server certificate signing and rotation via CSR. + /// + [Input("serverTlsBootstrap")] + public Input? ServerTlsBootstrap { get; set; } + [Input("systemReserved")] private InputMap? _systemReserved; diff --git a/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationGetArgs.cs b/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationGetArgs.cs index badbb7f5de..3d299dbcc8 100644 --- a/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationGetArgs.cs +++ b/sdk/dotnet/CS/Inputs/NodePoolKubeletConfigurationGetArgs.cs @@ -228,6 +228,12 @@ public InputList Reser [Input("serializeImagePulls")] public Input? SerializeImagePulls { get; set; } + /// + /// Used to enable the kubelet server certificate signing and rotation via CSR. + /// + [Input("serverTlsBootstrap")] + public Input? ServerTlsBootstrap { get; set; } + [Input("systemReserved")] private InputMap? _systemReserved; diff --git a/sdk/dotnet/CS/Kubernetes.cs b/sdk/dotnet/CS/Kubernetes.cs index d43e2de493..f9a13a1ce9 100644 --- a/sdk/dotnet/CS/Kubernetes.cs +++ b/sdk/dotnet/CS/Kubernetes.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.CS /// /// ## Example Usage /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/dotnet/CS/KubernetesAddon.cs b/sdk/dotnet/CS/KubernetesAddon.cs index f89c8f2c83..6278093e98 100644 --- a/sdk/dotnet/CS/KubernetesAddon.cs +++ b/sdk/dotnet/CS/KubernetesAddon.cs @@ -107,6 +107,8 @@ namespace Pulumi.AliCloud.CS /// * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. /// * If the addon does not exist in the cluster, it will be installed. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. diff --git a/sdk/dotnet/CS/KubernetesPermission.cs b/sdk/dotnet/CS/KubernetesPermission.cs index fb764544b0..8c56251053 100644 --- a/sdk/dotnet/CS/KubernetesPermission.cs +++ b/sdk/dotnet/CS/KubernetesPermission.cs @@ -141,6 +141,8 @@ namespace Pulumi.AliCloud.CS /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:cs/kubernetesPermission:KubernetesPermission")] public partial class KubernetesPermission : global::Pulumi.CustomResource diff --git a/sdk/dotnet/CS/KubernetesPolicyInstance.cs b/sdk/dotnet/CS/KubernetesPolicyInstance.cs new file mode 100644 index 0000000000..683d672023 --- /dev/null +++ b/sdk/dotnet/CS/KubernetesPolicyInstance.cs @@ -0,0 +1,335 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS +{ + /// + /// Provides a Container Service for Kubernetes (ACK) Policy Instance resource. + /// + /// For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// using Random = Pulumi.Random; + /// using Std = Pulumi.Std; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var vpcCidr = config.Get("vpcCidr") ?? "10.0.0.0/8"; + /// var vswitchCidrs = config.GetObject<string[]>("vswitchCidrs") ?? new[] + /// { + /// "10.1.0.0/16", + /// "10.2.0.0/16", + /// }; + /// var clusterName = config.Get("clusterName") ?? "example-create-cluster"; + /// var podCidr = config.Get("podCidr") ?? "172.16.0.0/16"; + /// var serviceCidr = config.Get("serviceCidr") ?? "192.168.0.0/16"; + /// var policyName = config.Get("policyName") ?? "ACKPSPHostNetworkingPorts"; + /// var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke(); + /// + /// var @default = new Random.Index.Integer("default", new() + /// { + /// Max = 99999, + /// Min = 10000, + /// }); + /// + /// var createVPC = new AliCloud.Vpc.Network("CreateVPC", new() + /// { + /// CidrBlock = vpcCidr, + /// }); + /// + /// // According to the vswitch cidr blocks to launch several vswitches + /// var createVSwitch = new List<AliCloud.Vpc.Switch>(); + /// for (var rangeIndex = 0; rangeIndex < vswitchCidrs.Length; rangeIndex++) + /// { + /// var range = new { Value = rangeIndex }; + /// createVSwitch.Add(new AliCloud.Vpc.Switch($"CreateVSwitch-{range.Value}", new() + /// { + /// VpcId = createVPC.Id, + /// CidrBlock = vswitchCidrs[range.Value], + /// ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult => getEnhancedNatAvailableZonesResult.Zones)[range.Value].ZoneId, + /// })); + /// } + /// var createCluster = new AliCloud.CS.ManagedKubernetes("CreateCluster", new() + /// { + /// Name = $"{clusterName}-{@default.Result}", + /// ClusterSpec = "ack.pro.small", + /// Profile = "Default", + /// VswitchIds = Std.Join.Invoke(new() + /// { + /// Separator = ",", + /// Input = createVSwitch.Select(__item => __item.Id).ToList(), + /// }).Apply(invoke => Std.Split.Invoke(new() + /// { + /// Separator = ",", + /// Text = invoke.Result, + /// })).Apply(invoke => invoke.Result), + /// PodCidr = podCidr, + /// ServiceCidr = serviceCidr, + /// IsEnterpriseSecurityGroup = true, + /// IpStack = "ipv4", + /// ProxyMode = "ipvs", + /// DeletionProtection = false, + /// Addons = new[] + /// { + /// new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs + /// { + /// Name = "gatekeeper", + /// }, + /// new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs + /// { + /// Name = "loongcollector", + /// }, + /// new AliCloud.CS.Inputs.ManagedKubernetesAddonArgs + /// { + /// Name = "policy-template-controller", + /// }, + /// }, + /// OperationPolicy = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyArgs + /// { + /// ClusterAutoUpgrade = new AliCloud.CS.Inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs + /// { + /// Enabled = false, + /// }, + /// }, + /// MaintenanceWindow = new AliCloud.CS.Inputs.ManagedKubernetesMaintenanceWindowArgs + /// { + /// Enable = false, + /// }, + /// }); + /// + /// var defaultKubernetesPolicyInstance = new AliCloud.CS.KubernetesPolicyInstance("default", new() + /// { + /// ClusterId = createCluster.Id, + /// PolicyName = policyName, + /// Action = "deny", + /// Namespaces = new[] + /// { + /// "test", + /// }, + /// Parameters = + /// { + /// { "hostNetwork", "true" }, + /// { "min", "20" }, + /// { "max", "200" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example <cluster_id>:<policy_name>:<instance_name> + /// ``` + /// + [AliCloudResourceType("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance")] + public partial class KubernetesPolicyInstance : global::Pulumi.CustomResource + { + /// + /// Policy Governance Implementation Actions + /// + [Output("action")] + public Output Action { get; private set; } = null!; + + /// + /// Target cluster ID + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// Rule Instance Name + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// Limits the namespace of the policy implementation. Empty indicates all namespaces. + /// + [Output("namespaces")] + public Output> Namespaces { get; private set; } = null!; + + /// + /// The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + /// + [Output("parameters")] + public Output?> Parameters { get; private set; } = null!; + + /// + /// Policy Name + /// + [Output("policyName")] + public Output PolicyName { get; private set; } = null!; + + + /// + /// Create a KubernetesPolicyInstance 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 KubernetesPolicyInstance(string name, KubernetesPolicyInstanceArgs args, CustomResourceOptions? options = null) + : base("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, args ?? new KubernetesPolicyInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private KubernetesPolicyInstance(string name, Input id, KubernetesPolicyInstanceState? state = null, CustomResourceOptions? options = null) + : base("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 KubernetesPolicyInstance 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 KubernetesPolicyInstance Get(string name, Input id, KubernetesPolicyInstanceState? state = null, CustomResourceOptions? options = null) + { + return new KubernetesPolicyInstance(name, id, state, options); + } + } + + public sealed class KubernetesPolicyInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Policy Governance Implementation Actions + /// + [Input("action")] + public Input? Action { get; set; } + + /// + /// Target cluster ID + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("namespaces")] + private InputList? _namespaces; + + /// + /// Limits the namespace of the policy implementation. Empty indicates all namespaces. + /// + public InputList Namespaces + { + get => _namespaces ?? (_namespaces = new InputList()); + set => _namespaces = value; + } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// Policy Name + /// + [Input("policyName", required: true)] + public Input PolicyName { get; set; } = null!; + + public KubernetesPolicyInstanceArgs() + { + } + public static new KubernetesPolicyInstanceArgs Empty => new KubernetesPolicyInstanceArgs(); + } + + public sealed class KubernetesPolicyInstanceState : global::Pulumi.ResourceArgs + { + /// + /// Policy Governance Implementation Actions + /// + [Input("action")] + public Input? Action { get; set; } + + /// + /// Target cluster ID + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Rule Instance Name + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + [Input("namespaces")] + private InputList? _namespaces; + + /// + /// Limits the namespace of the policy implementation. Empty indicates all namespaces. + /// + public InputList Namespaces + { + get => _namespaces ?? (_namespaces = new InputList()); + set => _namespaces = value; + } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// Policy Name + /// + [Input("policyName")] + public Input? PolicyName { get; set; } + + public KubernetesPolicyInstanceState() + { + } + public static new KubernetesPolicyInstanceState Empty => new KubernetesPolicyInstanceState(); + } +} diff --git a/sdk/dotnet/CS/ManagedKubernetes.cs b/sdk/dotnet/CS/ManagedKubernetes.cs index 18e5ac5fe0..92eb7f4a32 100644 --- a/sdk/dotnet/CS/ManagedKubernetes.cs +++ b/sdk/dotnet/CS/ManagedKubernetes.cs @@ -393,6 +393,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -509,7 +511,7 @@ public partial class ManagedKubernetes : global::Pulumi.CustomResource /// Whether to enable cluster deletion protection. /// [Output("deletionProtection")] - public Output DeletionProtection { get; private set; } = null!; + public Output DeletionProtection { get; private set; } = null!; /// /// Whether to enable cluster to support RRSA for kubernetes version 1.22.3+. Default to `False`. Once the RRSA function is turned on, it is not allowed to turn off. If your cluster has enabled this function, please manually modify your tf file and add the rrsa configuration to the file, learn more [RAM Roles for Service Accounts](https://www.alibabacloud.com/help/zh/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control). diff --git a/sdk/dotnet/CS/NodePool.cs b/sdk/dotnet/CS/NodePool.cs index 7cb4a49173..e0455cba24 100644 --- a/sdk/dotnet/CS/NodePool.cs +++ b/sdk/dotnet/CS/NodePool.cs @@ -10,338 +10,6 @@ namespace Pulumi.AliCloud.CS { /// - /// ## Example Usage - /// - /// Basic Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using AliCloud = Pulumi.AliCloud; - /// using Random = Pulumi.Random; - /// using Std = Pulumi.Std; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var @default = new Random.Index.Integer("default", new() - /// { - /// Max = 99999, - /// Min = 10000, - /// }); - /// - /// var config = new Config(); - /// var name = config.Get("name") ?? "terraform-example"; - /// var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke(); - /// - /// var cloudEfficiency = AliCloud.Ecs.GetInstanceTypes.Invoke(new() - /// { - /// AvailabilityZone = enhanced.Apply(getEnhancedNatAvailableZonesResult => getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId), - /// CpuCoreCount = 4, - /// MemorySize = 8, - /// KubernetesNodeRole = "Worker", - /// SystemDiskCategory = "cloud_efficiency", - /// }); - /// - /// var defaultNetwork = new AliCloud.Vpc.Network("default", new() - /// { - /// VpcName = name, - /// CidrBlock = "10.4.0.0/16", - /// }); - /// - /// var defaultSwitch = new AliCloud.Vpc.Switch("default", new() - /// { - /// VswitchName = name, - /// CidrBlock = "10.4.0.0/24", - /// VpcId = defaultNetwork.Id, - /// ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult => getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId), - /// }); - /// - /// var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes("default", new() - /// { - /// NamePrefix = $"terraform-example-{@default.Result}", - /// ClusterSpec = "ack.pro.small", - /// WorkerVswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// NewNatGateway = true, - /// PodCidr = Std.Cidrsubnet.Invoke(new() - /// { - /// Input = "10.0.0.0/8", - /// Newbits = 8, - /// Netnum = 36, - /// }).Apply(invoke => invoke.Result), - /// ServiceCidr = Std.Cidrsubnet.Invoke(new() - /// { - /// Input = "172.16.0.0/16", - /// Newbits = 4, - /// Netnum = 7, - /// }).Apply(invoke => invoke.Result), - /// SlbInternetEnabled = true, - /// EnableRrsa = true, - /// }); - /// - /// var defaultKeyPair = new AliCloud.Ecs.KeyPair("default", new() - /// { - /// KeyPairName = $"terraform-example-{@default.Result}", - /// }); - /// - /// var defaultNodePool = new AliCloud.CS.NodePool("default", new() - /// { - /// NodePoolName = name, - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// Labels = new[] - /// { - /// new AliCloud.CS.Inputs.NodePoolLabelArgs - /// { - /// Key = "test1", - /// Value = "nodepool", - /// }, - /// new AliCloud.CS.Inputs.NodePoolLabelArgs - /// { - /// Key = "test2", - /// Value = "nodepool", - /// }, - /// }, - /// Taints = new[] - /// { - /// new AliCloud.CS.Inputs.NodePoolTaintArgs - /// { - /// Key = "tf", - /// Effect = "NoSchedule", - /// Value = "example", - /// }, - /// new AliCloud.CS.Inputs.NodePoolTaintArgs - /// { - /// Key = "tf2", - /// Effect = "NoSchedule", - /// Value = "example2", - /// }, - /// }, - /// }); - /// - /// //The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows. - /// var desiredSize = new AliCloud.CS.NodePool("desired_size", new() - /// { - /// NodePoolName = "desired_size", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// DesiredSize = "0", - /// }); - /// - /// // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`. - /// var maintenance = new AliCloud.CS.NodePool("maintenance", new() - /// { - /// NodePoolName = "maintenance", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// DesiredSize = "1", - /// Management = new AliCloud.CS.Inputs.NodePoolManagementArgs - /// { - /// Enable = true, - /// AutoRepair = true, - /// AutoRepairPolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoRepairPolicyArgs - /// { - /// RestartNode = true, - /// }, - /// AutoUpgrade = true, - /// AutoUpgradePolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoUpgradePolicyArgs - /// { - /// AutoUpgradeKubelet = true, - /// }, - /// AutoVulFix = true, - /// AutoVulFixPolicy = new AliCloud.CS.Inputs.NodePoolManagementAutoVulFixPolicyArgs - /// { - /// VulLevel = "asap", - /// RestartNode = true, - /// }, - /// MaxUnavailable = 1, - /// }, - /// }); - /// - /// //Create a node pool with spot instance. - /// var spotInstance = new AliCloud.CS.NodePool("spot_instance", new() - /// { - /// NodePoolName = "spot_instance", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[1]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// DesiredSize = "1", - /// SpotStrategy = "SpotWithPriceLimit", - /// SpotPriceLimits = new[] - /// { - /// new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs - /// { - /// InstanceType = cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// PriceLimit = "0.70", - /// }, - /// new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs - /// { - /// InstanceType = cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[1]?.Id), - /// PriceLimit = "0.72", - /// }, - /// }, - /// }); - /// - /// //Use Spot instances to create a node pool with auto-scaling enabled - /// var spotAutoScaling = new AliCloud.CS.NodePool("spot_auto_scaling", new() - /// { - /// NodePoolName = "spot_auto_scaling", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// ScalingConfig = new AliCloud.CS.Inputs.NodePoolScalingConfigArgs - /// { - /// MinSize = 1, - /// MaxSize = 10, - /// Type = "spot", - /// }, - /// SpotStrategy = "SpotWithPriceLimit", - /// SpotPriceLimits = new[] - /// { - /// new AliCloud.CS.Inputs.NodePoolSpotPriceLimitArgs - /// { - /// InstanceType = cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// PriceLimit = "0.70", - /// }, - /// }, - /// }); - /// - /// //Create a `PrePaid` node pool. - /// var prepaidNode = new AliCloud.CS.NodePool("prepaid_node", new() - /// { - /// NodePoolName = "prepaid_node", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// KeyName = defaultKeyPair.KeyPairName, - /// InstanceChargeType = "PrePaid", - /// Period = 1, - /// PeriodUnit = "Month", - /// AutoRenew = true, - /// AutoRenewPeriod = 1, - /// InstallCloudMonitor = true, - /// }); - /// - /// //#Create a node pool with customized kubelet parameters - /// var customizedKubelet = new AliCloud.CS.NodePool("customized_kubelet", new() - /// { - /// NodePoolName = "customized_kubelet", - /// ClusterId = defaultManagedKubernetes.Id, - /// VswitchIds = new[] - /// { - /// defaultSwitch.Id, - /// }, - /// InstanceTypes = new[] - /// { - /// cloudEfficiency.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id), - /// }, - /// SystemDiskCategory = "cloud_efficiency", - /// SystemDiskSize = 40, - /// InstanceChargeType = "PostPaid", - /// DesiredSize = "0", - /// KubeletConfiguration = new AliCloud.CS.Inputs.NodePoolKubeletConfigurationArgs - /// { - /// RegistryPullQps = "10", - /// RegistryBurst = "5", - /// EventRecordQps = "10", - /// EventBurst = "5", - /// SerializeImagePulls = "true", - /// EvictionHard = - /// { - /// { "memory.available", "1024Mi" }, - /// { "nodefs.available", "10%" }, - /// { "nodefs.inodesFree", "5%" }, - /// { "imagefs.available", "10%" }, - /// }, - /// SystemReserved = - /// { - /// { "cpu", "1" }, - /// { "memory", "1Gi" }, - /// { "ephemeral-storage", "10Gi" }, - /// }, - /// KubeReserved = - /// { - /// { "cpu", "500m" }, - /// { "memory", "1Gi" }, - /// }, - /// ContainerLogMaxSize = "200Mi", - /// ContainerLogMaxFiles = "3", - /// MaxPods = "100", - /// ReadOnlyPort = "0", - /// AllowedUnsafeSysctls = new[] - /// { - /// "net.ipv4.route.min_pmtu", - /// }, - /// }, - /// RollingPolicy = new AliCloud.CS.Inputs.NodePoolRollingPolicyArgs - /// { - /// MaxParallelism = 1, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -353,6 +21,12 @@ namespace Pulumi.AliCloud.CS [AliCloudResourceType("alicloud:cs/nodePool:NodePool")] public partial class NodePool : global::Pulumi.CustomResource { + /// + /// Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `AutoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `AutoMode` below. + /// + [Output("autoMode")] + public Output AutoMode { get; private set; } = null!; + /// /// Whether to enable automatic renewal for nodes in the node pool takes effect only when `InstanceChargeType` is set to `PrePaid`. Default value: `False`. Valid values: /// @@ -409,12 +83,16 @@ public partial class NodePool : global::Pulumi.CustomResource /// /// Lingjun node pool configuration. See `EfloNodeGroup` below. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("efloNodeGroup")] public Output EfloNodeGroup { get; private set; } = null!; /// /// Whether to force deletion. + /// + /// > **NOTE:** This parameter only takes effect when deletion is triggered. /// [Output("forceDelete")] public Output ForceDelete { get; private set; } = null!; @@ -443,7 +121,8 @@ public partial class NodePool : global::Pulumi.CustomResource /// - `ContainerOS` : container-optimized image. /// - `Ubuntu`: Ubuntu image. /// - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - /// - `Custom`: Custom image. + /// - `Custom`:Custom image. + /// - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. /// [Output("imageType")] public Output ImageType { get; private set; } = null!; @@ -460,6 +139,18 @@ public partial class NodePool : global::Pulumi.CustomResource [Output("instanceChargeType")] public Output InstanceChargeType { get; private set; } = null!; + /// + /// ECS instance metadata access configuration. See `InstanceMetadataOptions` below. + /// + [Output("instanceMetadataOptions")] + public Output InstanceMetadataOptions { get; private set; } = null!; + + /// + /// Instance property configuration. See `InstancePatterns` below. + /// + [Output("instancePatterns")] + public Output> InstancePatterns { get; private set; } = null!; + /// /// In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. /// @@ -641,9 +332,6 @@ public partial class NodePool : global::Pulumi.CustomResource [Output("resourceGroupId")] public Output ResourceGroupId { get; private set; } = null!; - /// - /// Rotary configuration. See `RollingPolicy` below. - /// [Output("rollingPolicy")] public Output RollingPolicy { get; private set; } = null!; @@ -830,9 +518,6 @@ public partial class NodePool : global::Pulumi.CustomResource [Output("unschedulable")] public Output Unschedulable { get; private set; } = null!; - /// - /// Synchronously update node labels and taints. - /// [Output("updateNodes")] public Output UpdateNodes { get; private set; } = null!; @@ -899,6 +584,12 @@ public static NodePool Get(string name, Input id, NodePoolState? state = public sealed class NodePoolArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `AutoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `AutoMode` below. + /// + [Input("autoMode")] + public Input? AutoMode { get; set; } + /// /// Whether to enable automatic renewal for nodes in the node pool takes effect only when `InstanceChargeType` is set to `PrePaid`. Default value: `False`. Valid values: /// @@ -961,12 +652,16 @@ public InputList DataDisks /// /// Lingjun node pool configuration. See `EfloNodeGroup` below. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("efloNodeGroup")] public Input? EfloNodeGroup { get; set; } /// /// Whether to force deletion. + /// + /// > **NOTE:** This parameter only takes effect when deletion is triggered. /// [Input("forceDelete")] public Input? ForceDelete { get; set; } @@ -995,7 +690,8 @@ public InputList DataDisks /// - `ContainerOS` : container-optimized image. /// - `Ubuntu`: Ubuntu image. /// - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - /// - `Custom`: Custom image. + /// - `Custom`:Custom image. + /// - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. /// [Input("imageType")] public Input? ImageType { get; set; } @@ -1012,6 +708,24 @@ public InputList DataDisks [Input("instanceChargeType")] public Input? InstanceChargeType { get; set; } + /// + /// ECS instance metadata access configuration. See `InstanceMetadataOptions` below. + /// + [Input("instanceMetadataOptions")] + public Input? InstanceMetadataOptions { get; set; } + + [Input("instancePatterns")] + private InputList? _instancePatterns; + + /// + /// Instance property configuration. See `InstancePatterns` below. + /// + public InputList InstancePatterns + { + get => _instancePatterns ?? (_instancePatterns = new InputList()); + set => _instancePatterns = value; + } + [Input("instanceTypes")] private InputList? _instanceTypes; @@ -1237,9 +951,6 @@ public InputList RdsInstances [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } - /// - /// Rotary configuration. See `RollingPolicy` below. - /// [Input("rollingPolicy")] public Input? RollingPolicy { get; set; } @@ -1450,9 +1161,6 @@ public InputList Taints [Input("unschedulable")] public Input? Unschedulable { get; set; } - /// - /// Synchronously update node labels and taints. - /// [Input("updateNodes")] public Input? UpdateNodes { get; set; } @@ -1482,6 +1190,12 @@ public NodePoolArgs() public sealed class NodePoolState : global::Pulumi.ResourceArgs { + /// + /// Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `AutoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `AutoMode` below. + /// + [Input("autoMode")] + public Input? AutoMode { get; set; } + /// /// Whether to enable automatic renewal for nodes in the node pool takes effect only when `InstanceChargeType` is set to `PrePaid`. Default value: `False`. Valid values: /// @@ -1544,12 +1258,16 @@ public InputList DataDisks /// /// Lingjun node pool configuration. See `EfloNodeGroup` below. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("efloNodeGroup")] public Input? EfloNodeGroup { get; set; } /// /// Whether to force deletion. + /// + /// > **NOTE:** This parameter only takes effect when deletion is triggered. /// [Input("forceDelete")] public Input? ForceDelete { get; set; } @@ -1578,7 +1296,8 @@ public InputList DataDisks /// - `ContainerOS` : container-optimized image. /// - `Ubuntu`: Ubuntu image. /// - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - /// - `Custom`: Custom image. + /// - `Custom`:Custom image. + /// - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. /// [Input("imageType")] public Input? ImageType { get; set; } @@ -1595,6 +1314,24 @@ public InputList DataDisks [Input("instanceChargeType")] public Input? InstanceChargeType { get; set; } + /// + /// ECS instance metadata access configuration. See `InstanceMetadataOptions` below. + /// + [Input("instanceMetadataOptions")] + public Input? InstanceMetadataOptions { get; set; } + + [Input("instancePatterns")] + private InputList? _instancePatterns; + + /// + /// Instance property configuration. See `InstancePatterns` below. + /// + public InputList InstancePatterns + { + get => _instancePatterns ?? (_instancePatterns = new InputList()); + set => _instancePatterns = value; + } + [Input("instanceTypes")] private InputList? _instanceTypes; @@ -1826,9 +1563,6 @@ public InputList RdsInstances [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } - /// - /// Rotary configuration. See `RollingPolicy` below. - /// [Input("rollingPolicy")] public Input? RollingPolicy { get; set; } @@ -2045,9 +1779,6 @@ public InputList Taints [Input("unschedulable")] public Input? Unschedulable { get; set; } - /// - /// Synchronously update node labels and taints. - /// [Input("updateNodes")] public Input? UpdateNodes { get; set; } diff --git a/sdk/dotnet/CS/Outputs/NodePoolAutoMode.cs b/sdk/dotnet/CS/Outputs/NodePoolAutoMode.cs new file mode 100644 index 0000000000..5bed880dfc --- /dev/null +++ b/sdk/dotnet/CS/Outputs/NodePoolAutoMode.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Outputs +{ + + [OutputType] + public sealed class NodePoolAutoMode + { + /// + /// Whether to enable auto mode. Valid values: + /// + public readonly bool? Enabled; + + [OutputConstructor] + private NodePoolAutoMode(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/CS/Outputs/NodePoolInstanceMetadataOptions.cs b/sdk/dotnet/CS/Outputs/NodePoolInstanceMetadataOptions.cs new file mode 100644 index 0000000000..45d1dc8b22 --- /dev/null +++ b/sdk/dotnet/CS/Outputs/NodePoolInstanceMetadataOptions.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Outputs +{ + + [OutputType] + public sealed class NodePoolInstanceMetadataOptions + { + /// + /// ECS instance metadata access mode configuration. Value range: + /// + /// - 'optional': Compatible with both normal mode and reinforced mode. + /// - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + /// + /// Default value: 'optional '. + /// + /// This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + /// + public readonly string? HttpTokens; + + [OutputConstructor] + private NodePoolInstanceMetadataOptions(string? httpTokens) + { + HttpTokens = httpTokens; + } + } +} diff --git a/sdk/dotnet/CS/Outputs/NodePoolInstancePattern.cs b/sdk/dotnet/CS/Outputs/NodePoolInstancePattern.cs new file mode 100644 index 0000000000..3a2d330cee --- /dev/null +++ b/sdk/dotnet/CS/Outputs/NodePoolInstancePattern.cs @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.CS.Outputs +{ + + [OutputType] + public sealed class NodePoolInstancePattern + { + /// + /// The number of vCPU cores of the instance type. Example value: 8. + /// + public readonly int? Cores; + /// + /// The CPU architecture of the instance. Value range: + /// - X86 + /// - ARM + /// + public readonly ImmutableArray CpuArchitectures; + /// + /// Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + /// - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + /// - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + /// + public readonly ImmutableArray ExcludedInstanceTypes; + /// + /// Instance classification. Value range: + /// - General-purpose: Universal. + /// - Compute-optimized: Compute type. + /// - Memory-optimized: Memory type. + /// - Big data: Big data type. + /// - Local SSDs: Local SSD type. + /// - High Clock Speed: High frequency type. + /// - Enhanced: Enhanced. + /// - Shared: Shared. + /// - ECS Bare Metal: elastic Bare Metal server. + /// - High Performance Compute: High Performance Compute. + /// + public readonly ImmutableArray InstanceCategories; + /// + /// Instance specification family level, value range: + /// - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + /// - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + /// + public readonly string InstanceFamilyLevel; + /// + /// Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + /// + public readonly ImmutableArray InstanceTypeFamilies; + /// + /// The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + public readonly int? MaxCpuCores; + /// + /// The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + public readonly double? MaxMemorySize; + /// + /// The memory size of the instance type, in GiB. Example value: 8. + /// + public readonly double? Memory; + /// + /// The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + /// + public readonly int? MinCpuCores; + /// + /// The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + /// + public readonly double? MinMemorySize; + + [OutputConstructor] + private NodePoolInstancePattern( + int? cores, + + ImmutableArray cpuArchitectures, + + ImmutableArray excludedInstanceTypes, + + ImmutableArray instanceCategories, + + string instanceFamilyLevel, + + ImmutableArray instanceTypeFamilies, + + int? maxCpuCores, + + double? maxMemorySize, + + double? memory, + + int? minCpuCores, + + double? minMemorySize) + { + Cores = cores; + CpuArchitectures = cpuArchitectures; + ExcludedInstanceTypes = excludedInstanceTypes; + InstanceCategories = instanceCategories; + InstanceFamilyLevel = instanceFamilyLevel; + InstanceTypeFamilies = instanceTypeFamilies; + MaxCpuCores = maxCpuCores; + MaxMemorySize = maxMemorySize; + Memory = memory; + MinCpuCores = minCpuCores; + MinMemorySize = minMemorySize; + } + } +} diff --git a/sdk/dotnet/CS/Outputs/NodePoolKubeletConfiguration.cs b/sdk/dotnet/CS/Outputs/NodePoolKubeletConfiguration.cs index 94786f21c3..f0565b5cb2 100644 --- a/sdk/dotnet/CS/Outputs/NodePoolKubeletConfiguration.cs +++ b/sdk/dotnet/CS/Outputs/NodePoolKubeletConfiguration.cs @@ -126,6 +126,10 @@ public sealed class NodePoolKubeletConfiguration /// public readonly string? SerializeImagePulls; /// + /// Used to enable the kubelet server certificate signing and rotation via CSR. + /// + public readonly bool? ServerTlsBootstrap; + /// /// Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. /// public readonly ImmutableDictionary? SystemReserved; @@ -196,6 +200,8 @@ private NodePoolKubeletConfiguration( string? serializeImagePulls, + bool? serverTlsBootstrap, + ImmutableDictionary? systemReserved, string? topologyManagerPolicy, @@ -230,6 +236,7 @@ private NodePoolKubeletConfiguration( RegistryPullQps = registryPullQps; ReservedMemories = reservedMemories; SerializeImagePulls = serializeImagePulls; + ServerTlsBootstrap = serverTlsBootstrap; SystemReserved = systemReserved; TopologyManagerPolicy = topologyManagerPolicy; Tracing = tracing; diff --git a/sdk/dotnet/CS/RegistryEnterpriseNamespace.cs b/sdk/dotnet/CS/RegistryEnterpriseNamespace.cs index 5906dec33b..dd9a7a5f60 100644 --- a/sdk/dotnet/CS/RegistryEnterpriseNamespace.cs +++ b/sdk/dotnet/CS/RegistryEnterpriseNamespace.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Container Registry Enterprise Edition Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/CS/RegistryEnterpriseRepo.cs b/sdk/dotnet/CS/RegistryEnterpriseRepo.cs index d684570813..7abd37cab9 100644 --- a/sdk/dotnet/CS/RegistryEnterpriseRepo.cs +++ b/sdk/dotnet/CS/RegistryEnterpriseRepo.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Container Registry Enterprise Edition Repository can be imported using the id, e.g. diff --git a/sdk/dotnet/CS/RegistryEnterpriseSyncRule.cs b/sdk/dotnet/CS/RegistryEnterpriseSyncRule.cs index 7d8ce971b3..6cefd4e98d 100644 --- a/sdk/dotnet/CS/RegistryEnterpriseSyncRule.cs +++ b/sdk/dotnet/CS/RegistryEnterpriseSyncRule.cs @@ -114,6 +114,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Container Registry Sync Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/CS/ServerlessKubernetes.cs b/sdk/dotnet/CS/ServerlessKubernetes.cs index afd5fce1e4..6a69504d27 100644 --- a/sdk/dotnet/CS/ServerlessKubernetes.cs +++ b/sdk/dotnet/CS/ServerlessKubernetes.cs @@ -89,6 +89,8 @@ namespace Pulumi.AliCloud.CS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/dotnet/Cas/Certificate.cs b/sdk/dotnet/Cas/Certificate.cs index e13739fe73..15e029c253 100644 --- a/sdk/dotnet/Cas/Certificate.cs +++ b/sdk/dotnet/Cas/Certificate.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.Cas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [Obsolete(@"This resource has been deprecated in favour of ServiceCertificate")] [AliCloudResourceType("alicloud:cas/certificate:Certificate")] diff --git a/sdk/dotnet/Cas/ServiceCertificate.cs b/sdk/dotnet/Cas/ServiceCertificate.cs index 9bff64490f..bdcb33a055 100644 --- a/sdk/dotnet/Cas/ServiceCertificate.cs +++ b/sdk/dotnet/Cas/ServiceCertificate.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Cas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SSL Certificates Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Cassandra/Cluster.cs b/sdk/dotnet/Cassandra/Cluster.cs index 214ec78ff2..510fb66b32 100644 --- a/sdk/dotnet/Cassandra/Cluster.cs +++ b/sdk/dotnet/Cassandra/Cluster.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Cassandra /// /// This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cassandra cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Cassandra/DataCenter.cs b/sdk/dotnet/Cassandra/DataCenter.cs index f8662bf17e..eae2c38be1 100644 --- a/sdk/dotnet/Cassandra/DataCenter.cs +++ b/sdk/dotnet/Cassandra/DataCenter.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Cassandra /// /// This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// If you need full function, please import Cassandra cluster first. diff --git a/sdk/dotnet/Cddc/DedicatedHostAccount.cs b/sdk/dotnet/Cddc/DedicatedHostAccount.cs index e71dafbbcb..dd84b8167b 100644 --- a/sdk/dotnet/Cddc/DedicatedHostAccount.cs +++ b/sdk/dotnet/Cddc/DedicatedHostAccount.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Cddc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. diff --git a/sdk/dotnet/Cddc/DedicatedHostGroup.cs b/sdk/dotnet/Cddc/DedicatedHostGroup.cs index f50527c351..3d04be4fb0 100644 --- a/sdk/dotnet/Cddc/DedicatedHostGroup.cs +++ b/sdk/dotnet/Cddc/DedicatedHostGroup.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Cddc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Cdn/DomainConfig.cs b/sdk/dotnet/Cdn/DomainConfig.cs index 9a0a2358d6..05856449e6 100644 --- a/sdk/dotnet/Cdn/DomainConfig.cs +++ b/sdk/dotnet/Cdn/DomainConfig.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.Cdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CDN domain config can be imported using the id, e.g. diff --git a/sdk/dotnet/Cdn/DomainNew.cs b/sdk/dotnet/Cdn/DomainNew.cs index 09e957a3e3..2affb9f911 100644 --- a/sdk/dotnet/Cdn/DomainNew.cs +++ b/sdk/dotnet/Cdn/DomainNew.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Cdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CDN Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Cdn/FcTrigger.cs b/sdk/dotnet/Cdn/FcTrigger.cs index 1f90eba80c..4b9bbf8d79 100644 --- a/sdk/dotnet/Cdn/FcTrigger.cs +++ b/sdk/dotnet/Cdn/FcTrigger.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Cdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CDN Fc Trigger can be imported using the id, e.g. diff --git a/sdk/dotnet/Cdn/RealTimeLogDelivery.cs b/sdk/dotnet/Cdn/RealTimeLogDelivery.cs index 37c4866f5c..b571759398 100644 --- a/sdk/dotnet/Cdn/RealTimeLogDelivery.cs +++ b/sdk/dotnet/Cdn/RealTimeLogDelivery.cs @@ -87,6 +87,8 @@ namespace Pulumi.AliCloud.Cdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CDN Real Time Log Delivery can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/BandwidthLimit.cs b/sdk/dotnet/Cen/BandwidthLimit.cs index ee695ac800..159b32065f 100644 --- a/sdk/dotnet/Cen/BandwidthLimit.cs +++ b/sdk/dotnet/Cen/BandwidthLimit.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN bandwidth limit can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/BandwidthPackage.cs b/sdk/dotnet/Cen/BandwidthPackage.cs index ffe6a4cb9d..b171541115 100644 --- a/sdk/dotnet/Cen/BandwidthPackage.cs +++ b/sdk/dotnet/Cen/BandwidthPackage.cs @@ -21,6 +21,16 @@ namespace Pulumi.AliCloud.Cen [AliCloudResourceType("alicloud:cen/bandwidthPackage:BandwidthPackage")] public partial class BandwidthPackage : global::Pulumi.CustomResource { + /// + /// Whether to enable auto-renewal for the bandwidth package. Only applicable when `PaymentType` is `PrePaid`. Valid values: `True`, `False`. Default to `False`. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + /// + [Output("autoRenew")] + public Output AutoRenew { get; private set; } = null!; + /// /// The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. /// @@ -29,10 +39,6 @@ public partial class BandwidthPackage : global::Pulumi.CustomResource /// /// The name of the bandwidth package. Defaults to null. - /// - /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - /// - /// ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. /// [Output("cenBandwidthPackageName")] public Output CenBandwidthPackageName { get; private set; } = null!; @@ -144,6 +150,16 @@ public static BandwidthPackage Get(string name, Input id, BandwidthPacka public sealed class BandwidthPackageArgs : global::Pulumi.ResourceArgs { + /// + /// Whether to enable auto-renewal for the bandwidth package. Only applicable when `PaymentType` is `PrePaid`. Valid values: `True`, `False`. Default to `False`. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + /// /// The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. /// @@ -152,10 +168,6 @@ public sealed class BandwidthPackageArgs : global::Pulumi.ResourceArgs /// /// The name of the bandwidth package. Defaults to null. - /// - /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - /// - /// ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. /// [Input("cenBandwidthPackageName")] public Input? CenBandwidthPackageName { get; set; } @@ -224,6 +236,16 @@ public BandwidthPackageArgs() public sealed class BandwidthPackageState : global::Pulumi.ResourceArgs { + /// + /// Whether to enable auto-renewal for the bandwidth package. Only applicable when `PaymentType` is `PrePaid`. Valid values: `True`, `False`. Default to `False`. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + /// /// The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. /// @@ -232,10 +254,6 @@ public sealed class BandwidthPackageState : global::Pulumi.ResourceArgs /// /// The name of the bandwidth package. Defaults to null. - /// - /// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - /// - /// ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. /// [Input("cenBandwidthPackageName")] public Input? CenBandwidthPackageName { get; set; } diff --git a/sdk/dotnet/Cen/BandwidthPackageAttachment.cs b/sdk/dotnet/Cen/BandwidthPackageAttachment.cs index 72e09ee49e..5ea00de6f2 100644 --- a/sdk/dotnet/Cen/BandwidthPackageAttachment.cs +++ b/sdk/dotnet/Cen/BandwidthPackageAttachment.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN bandwidth package attachment resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/ChildInstanceRouteEntryToAttachment.cs b/sdk/dotnet/Cen/ChildInstanceRouteEntryToAttachment.cs index b14a054a53..eb3f61ac78 100644 --- a/sdk/dotnet/Cen/ChildInstanceRouteEntryToAttachment.cs +++ b/sdk/dotnet/Cen/ChildInstanceRouteEntryToAttachment.cs @@ -110,6 +110,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/FlowLog.cs b/sdk/dotnet/Cen/FlowLog.cs index 7f037046e9..ac20578863 100644 --- a/sdk/dotnet/Cen/FlowLog.cs +++ b/sdk/dotnet/Cen/FlowLog.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN Flow Log can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/Instance.cs b/sdk/dotnet/Cen/Instance.cs index b72aa19649..85eeb6649c 100644 --- a/sdk/dotnet/Cen/Instance.cs +++ b/sdk/dotnet/Cen/Instance.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/InstanceAttachment.cs b/sdk/dotnet/Cen/InstanceAttachment.cs index 802e22b505..c4bbf0bf3d 100644 --- a/sdk/dotnet/Cen/InstanceAttachment.cs +++ b/sdk/dotnet/Cen/InstanceAttachment.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/InstanceGrant.cs b/sdk/dotnet/Cen/InstanceGrant.cs index 6e06bc5afb..1e3eec7595 100644 --- a/sdk/dotnet/Cen/InstanceGrant.cs +++ b/sdk/dotnet/Cen/InstanceGrant.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/InterRegionTrafficQosPolicy.cs b/sdk/dotnet/Cen/InterRegionTrafficQosPolicy.cs index 65d449bb55..bfb16e6cda 100644 --- a/sdk/dotnet/Cen/InterRegionTrafficQosPolicy.cs +++ b/sdk/dotnet/Cen/InterRegionTrafficQosPolicy.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/InterRegionTrafficQosQueue.cs b/sdk/dotnet/Cen/InterRegionTrafficQosQueue.cs index 2d22fc0e7b..3af45caa90 100644 --- a/sdk/dotnet/Cen/InterRegionTrafficQosQueue.cs +++ b/sdk/dotnet/Cen/InterRegionTrafficQosQueue.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/PrivateZone.cs b/sdk/dotnet/Cen/PrivateZone.cs index d95b52208c..8505305477 100644 --- a/sdk/dotnet/Cen/PrivateZone.cs +++ b/sdk/dotnet/Cen/PrivateZone.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/RouteEntry.cs b/sdk/dotnet/Cen/RouteEntry.cs index c066394048..9737fef8e4 100644 --- a/sdk/dotnet/Cen/RouteEntry.cs +++ b/sdk/dotnet/Cen/RouteEntry.cs @@ -117,6 +117,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/RouteMap.cs b/sdk/dotnet/Cen/RouteMap.cs index 013a099f24..c7af5ffddb 100644 --- a/sdk/dotnet/Cen/RouteMap.cs +++ b/sdk/dotnet/Cen/RouteMap.cs @@ -140,6 +140,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN RouteMap can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/RouteService.cs b/sdk/dotnet/Cen/RouteService.cs index 1b125981e2..a108e68a67 100644 --- a/sdk/dotnet/Cen/RouteService.cs +++ b/sdk/dotnet/Cen/RouteService.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN Route Service can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TrafficMarkingPolicy.cs b/sdk/dotnet/Cen/TrafficMarkingPolicy.cs index 9d823199fc..e7a90f9dce 100644 --- a/sdk/dotnet/Cen/TrafficMarkingPolicy.cs +++ b/sdk/dotnet/Cen/TrafficMarkingPolicy.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouteTableAggregation.cs b/sdk/dotnet/Cen/TransitRouteTableAggregation.cs index 662d0e5fad..a289d38888 100644 --- a/sdk/dotnet/Cen/TransitRouteTableAggregation.cs +++ b/sdk/dotnet/Cen/TransitRouteTableAggregation.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouter.cs b/sdk/dotnet/Cen/TransitRouter.cs index 2fba56cf45..4880847419 100644 --- a/sdk/dotnet/Cen/TransitRouter.cs +++ b/sdk/dotnet/Cen/TransitRouter.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterCidr.cs b/sdk/dotnet/Cen/TransitRouterCidr.cs index 5739597b47..73838e29ad 100644 --- a/sdk/dotnet/Cen/TransitRouterCidr.cs +++ b/sdk/dotnet/Cen/TransitRouterCidr.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterEcrAttachment.cs b/sdk/dotnet/Cen/TransitRouterEcrAttachment.cs index 650919a76a..05039f743d 100644 --- a/sdk/dotnet/Cen/TransitRouterEcrAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterEcrAttachment.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN Transit Router Ecr Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterGrantAttachment.cs b/sdk/dotnet/Cen/TransitRouterGrantAttachment.cs index 79ae76f9f0..c54ab31b53 100644 --- a/sdk/dotnet/Cen/TransitRouterGrantAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterGrantAttachment.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterMulticastDomain.cs b/sdk/dotnet/Cen/TransitRouterMulticastDomain.cs index 1b4360d971..56d0e4799e 100644 --- a/sdk/dotnet/Cen/TransitRouterMulticastDomain.cs +++ b/sdk/dotnet/Cen/TransitRouterMulticastDomain.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterMulticastDomainAssociation.cs b/sdk/dotnet/Cen/TransitRouterMulticastDomainAssociation.cs index d2b3ca48e7..e7b893f333 100644 --- a/sdk/dotnet/Cen/TransitRouterMulticastDomainAssociation.cs +++ b/sdk/dotnet/Cen/TransitRouterMulticastDomainAssociation.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterMulticastDomainMember.cs b/sdk/dotnet/Cen/TransitRouterMulticastDomainMember.cs index 38308da15c..2246407e16 100644 --- a/sdk/dotnet/Cen/TransitRouterMulticastDomainMember.cs +++ b/sdk/dotnet/Cen/TransitRouterMulticastDomainMember.cs @@ -121,6 +121,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cen Transit Router Multicast Domain Member can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterMulticastDomainPeerMember.cs b/sdk/dotnet/Cen/TransitRouterMulticastDomainPeerMember.cs index 3eff6f4ede..d8a038c559 100644 --- a/sdk/dotnet/Cen/TransitRouterMulticastDomainPeerMember.cs +++ b/sdk/dotnet/Cen/TransitRouterMulticastDomainPeerMember.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterMulticastDomainSource.cs b/sdk/dotnet/Cen/TransitRouterMulticastDomainSource.cs index ab25de5842..da63813782 100644 --- a/sdk/dotnet/Cen/TransitRouterMulticastDomainSource.cs +++ b/sdk/dotnet/Cen/TransitRouterMulticastDomainSource.cs @@ -147,6 +147,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cen Transit Router Multicast Domain Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterPeerAttachment.cs b/sdk/dotnet/Cen/TransitRouterPeerAttachment.cs index 82c5a21328..e0fa300599 100644 --- a/sdk/dotnet/Cen/TransitRouterPeerAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterPeerAttachment.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterPrefixListAssociation.cs b/sdk/dotnet/Cen/TransitRouterPrefixListAssociation.cs index 427b8b8158..5138998726 100644 --- a/sdk/dotnet/Cen/TransitRouterPrefixListAssociation.cs +++ b/sdk/dotnet/Cen/TransitRouterPrefixListAssociation.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterRouteEntry.cs b/sdk/dotnet/Cen/TransitRouterRouteEntry.cs index 9a0062b17f..93cb009b90 100644 --- a/sdk/dotnet/Cen/TransitRouterRouteEntry.cs +++ b/sdk/dotnet/Cen/TransitRouterRouteEntry.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterRouteTable.cs b/sdk/dotnet/Cen/TransitRouterRouteTable.cs index ecb63e9155..39ccb5ef7d 100644 --- a/sdk/dotnet/Cen/TransitRouterRouteTable.cs +++ b/sdk/dotnet/Cen/TransitRouterRouteTable.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN transit router route table can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterRouteTableAssociation.cs b/sdk/dotnet/Cen/TransitRouterRouteTableAssociation.cs index a647e93303..898aab43c9 100644 --- a/sdk/dotnet/Cen/TransitRouterRouteTableAssociation.cs +++ b/sdk/dotnet/Cen/TransitRouterRouteTableAssociation.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterRouteTablePropagation.cs b/sdk/dotnet/Cen/TransitRouterRouteTablePropagation.cs index b4591dd5e0..f9d4e136e0 100644 --- a/sdk/dotnet/Cen/TransitRouterRouteTablePropagation.cs +++ b/sdk/dotnet/Cen/TransitRouterRouteTablePropagation.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN transit router route table propagation can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterVbrAttachment.cs b/sdk/dotnet/Cen/TransitRouterVbrAttachment.cs index 1de544187f..ea17620c78 100644 --- a/sdk/dotnet/Cen/TransitRouterVbrAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterVbrAttachment.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterVpcAttachment.cs b/sdk/dotnet/Cen/TransitRouterVpcAttachment.cs index 45dd20cb85..5d5845aef3 100644 --- a/sdk/dotnet/Cen/TransitRouterVpcAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterVpcAttachment.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cen Transit Router Vpc Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/TransitRouterVpnAttachment.cs b/sdk/dotnet/Cen/TransitRouterVpnAttachment.cs index bf5e912f75..edf0b1f920 100644 --- a/sdk/dotnet/Cen/TransitRouterVpnAttachment.cs +++ b/sdk/dotnet/Cen/TransitRouterVpnAttachment.cs @@ -254,6 +254,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Cen/VbrHealthCheck.cs b/sdk/dotnet/Cen/VbrHealthCheck.cs index 709d063a1c..253f73fda7 100644 --- a/sdk/dotnet/Cen/VbrHealthCheck.cs +++ b/sdk/dotnet/Cen/VbrHealthCheck.cs @@ -89,6 +89,8 @@ namespace Pulumi.AliCloud.Cen /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CEN VBR HealthCheck can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/AggregateCompliancePack.cs b/sdk/dotnet/Cfg/AggregateCompliancePack.cs index 5ac7ba3544..e0e4f7ecc4 100644 --- a/sdk/dotnet/Cfg/AggregateCompliancePack.cs +++ b/sdk/dotnet/Cfg/AggregateCompliancePack.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/AggregateConfigRule.cs b/sdk/dotnet/Cfg/AggregateConfigRule.cs index e1dc5f374d..3d55f14416 100644 --- a/sdk/dotnet/Cfg/AggregateConfigRule.cs +++ b/sdk/dotnet/Cfg/AggregateConfigRule.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Config Aggregate Config Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/AggregateDelivery.cs b/sdk/dotnet/Cfg/AggregateDelivery.cs index 4424623a75..d74ebd3e98 100644 --- a/sdk/dotnet/Cfg/AggregateDelivery.cs +++ b/sdk/dotnet/Cfg/AggregateDelivery.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Config Aggregate Delivery can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/Aggregator.cs b/sdk/dotnet/Cfg/Aggregator.cs index 67511bc837..313e40199b 100644 --- a/sdk/dotnet/Cfg/Aggregator.cs +++ b/sdk/dotnet/Cfg/Aggregator.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Config (Config) Aggregator can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/CompliancePack.cs b/sdk/dotnet/Cfg/CompliancePack.cs index 16be1fe04d..727ad0b3b4 100644 --- a/sdk/dotnet/Cfg/CompliancePack.cs +++ b/sdk/dotnet/Cfg/CompliancePack.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Config Compliance Pack can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/ConfigurationRecorder.cs b/sdk/dotnet/Cfg/ConfigurationRecorder.cs index 7a4fcfc6d5..f13a887b4c 100644 --- a/sdk/dotnet/Cfg/ConfigurationRecorder.cs +++ b/sdk/dotnet/Cfg/ConfigurationRecorder.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alicloud Config Configuration Recorder can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/Delivery.cs b/sdk/dotnet/Cfg/Delivery.cs index 1b755edfcf..510c421a94 100644 --- a/sdk/dotnet/Cfg/Delivery.cs +++ b/sdk/dotnet/Cfg/Delivery.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Config Delivery can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/DeliveryChannel.cs b/sdk/dotnet/Cfg/DeliveryChannel.cs index a1c20ea52c..ff4156180f 100644 --- a/sdk/dotnet/Cfg/DeliveryChannel.cs +++ b/sdk/dotnet/Cfg/DeliveryChannel.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alicloud Config Delivery Channel can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/Remediation.cs b/sdk/dotnet/Cfg/Remediation.cs index 3ec0cbdd24..efc9943c5e 100644 --- a/sdk/dotnet/Cfg/Remediation.cs +++ b/sdk/dotnet/Cfg/Remediation.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Config Remediation can be imported using the id, e.g. diff --git a/sdk/dotnet/Cfg/Rule.cs b/sdk/dotnet/Cfg/Rule.cs index 6d29ee3fc9..13a8d23058 100644 --- a/sdk/dotnet/Cfg/Rule.cs +++ b/sdk/dotnet/Cfg/Rule.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.Cfg /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Config Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Chatbot/PublishTask.cs b/sdk/dotnet/Chatbot/PublishTask.cs index a6590c8231..913fa3cce4 100644 --- a/sdk/dotnet/Chatbot/PublishTask.cs +++ b/sdk/dotnet/Chatbot/PublishTask.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Chatbot /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Chatbot Publish Task can be imported using the id, e.g. diff --git a/sdk/dotnet/ClickHouse/Account.cs b/sdk/dotnet/ClickHouse/Account.cs index 00b56c4005..005685c14e 100644 --- a/sdk/dotnet/ClickHouse/Account.cs +++ b/sdk/dotnet/ClickHouse/Account.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.ClickHouse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Account can be imported using the id, e.g. diff --git a/sdk/dotnet/ClickHouse/BackupPolicy.cs b/sdk/dotnet/ClickHouse/BackupPolicy.cs index 6ad52ca125..b5aa37ef7f 100644 --- a/sdk/dotnet/ClickHouse/BackupPolicy.cs +++ b/sdk/dotnet/ClickHouse/BackupPolicy.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.ClickHouse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Backup Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/ClickHouse/DbCluster.cs b/sdk/dotnet/ClickHouse/DbCluster.cs index 8e292cfaef..8c0b623f75 100644 --- a/sdk/dotnet/ClickHouse/DbCluster.cs +++ b/sdk/dotnet/ClickHouse/DbCluster.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.ClickHouse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House DBCluster can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudAuth/FaceConfig.cs b/sdk/dotnet/CloudAuth/FaceConfig.cs index a896be7a6a..75ec963eb1 100644 --- a/sdk/dotnet/CloudAuth/FaceConfig.cs +++ b/sdk/dotnet/CloudAuth/FaceConfig.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.CloudAuth /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloudauth Face Config can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudConnect/Network.cs b/sdk/dotnet/CloudConnect/Network.cs index 5c6096f023..2dbc3b8b17 100644 --- a/sdk/dotnet/CloudConnect/Network.cs +++ b/sdk/dotnet/CloudConnect/Network.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.CloudConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The cloud connect network instance can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudConnect/NetworkAttachment.cs b/sdk/dotnet/CloudConnect/NetworkAttachment.cs index e7831eb0f0..85be1ca000 100644 --- a/sdk/dotnet/CloudConnect/NetworkAttachment.cs +++ b/sdk/dotnet/CloudConnect/NetworkAttachment.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.CloudConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Cloud Connect Network Attachment can be imported using the instance_id, e.g. diff --git a/sdk/dotnet/CloudConnect/NetworkGrant.cs b/sdk/dotnet/CloudConnect/NetworkGrant.cs index 79bca5c813..97e0a85ee1 100644 --- a/sdk/dotnet/CloudConnect/NetworkGrant.cs +++ b/sdk/dotnet/CloudConnect/NetworkGrant.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.CloudConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Cloud Connect Network Grant can be imported using the instance_id, e.g. diff --git a/sdk/dotnet/CloudControl/Resource.cs b/sdk/dotnet/CloudControl/Resource.cs index 3ef7adbb9d..8865949fdc 100644 --- a/sdk/dotnet/CloudControl/Resource.cs +++ b/sdk/dotnet/CloudControl/Resource.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.CloudControl /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Control Resource can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/AddressBook.cs b/sdk/dotnet/CloudFirewall/AddressBook.cs index a5c9ebb688..5c53d5782d 100644 --- a/sdk/dotnet/CloudFirewall/AddressBook.cs +++ b/sdk/dotnet/CloudFirewall/AddressBook.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Address Book can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/ControlPolicy.cs b/sdk/dotnet/CloudFirewall/ControlPolicy.cs index c0924ebb1f..b228801b57 100644 --- a/sdk/dotnet/CloudFirewall/ControlPolicy.cs +++ b/sdk/dotnet/CloudFirewall/ControlPolicy.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/ControlPolicyOrder.cs b/sdk/dotnet/CloudFirewall/ControlPolicyOrder.cs index 5536a46f60..3f9465b027 100644 --- a/sdk/dotnet/CloudFirewall/ControlPolicyOrder.cs +++ b/sdk/dotnet/CloudFirewall/ControlPolicyOrder.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Control Policy Order can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/FirewallVpcFirewall.cs b/sdk/dotnet/CloudFirewall/FirewallVpcFirewall.cs index 49445501c9..341afe5006 100644 --- a/sdk/dotnet/CloudFirewall/FirewallVpcFirewall.cs +++ b/sdk/dotnet/CloudFirewall/FirewallVpcFirewall.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Vpc Firewall can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/FirewallVpcFirewallCen.cs b/sdk/dotnet/CloudFirewall/FirewallVpcFirewallCen.cs index 9fcf314cd0..13c0fa5dc0 100644 --- a/sdk/dotnet/CloudFirewall/FirewallVpcFirewallCen.cs +++ b/sdk/dotnet/CloudFirewall/FirewallVpcFirewallCen.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/FirewallVpcFirewallControlPolicy.cs b/sdk/dotnet/CloudFirewall/FirewallVpcFirewallControlPolicy.cs index 12308fd457..8b6c842a39 100644 --- a/sdk/dotnet/CloudFirewall/FirewallVpcFirewallControlPolicy.cs +++ b/sdk/dotnet/CloudFirewall/FirewallVpcFirewallControlPolicy.cs @@ -12,6 +12,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// /// Provides a Cloud Firewall Vpc Firewall Control Policy resource. /// + /// VPC Control Policy. + /// /// For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). /// /// > **NOTE:** Available since v1.194.0. @@ -57,7 +59,7 @@ namespace Pulumi.AliCloud.CloudFirewall /// Source = "127.0.0.1/32", /// DestPortType = "port", /// Proto = "TCP", - /// Release = true, + /// Release = "true", /// MemberUid = @default.Apply(@default => @default.Apply(getAccountResult => getAccountResult.Id)), /// VpcFirewallId = defaultInstance.Id, /// }); @@ -65,6 +67,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -98,7 +102,20 @@ public partial class FirewallVpcFirewallControlPolicy : global::Pulumi.CustomRes /// The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. /// [Output("applicationName")] - public Output ApplicationName { get; private set; } = null!; + public Output ApplicationName { get; private set; } = null!; + + /// + /// The list of application types that the access control policy supports. + /// > **NOTE:** If `Proto` is set to `TCP`, you can set `ApplicationNameList` to any valid value. If `Proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `ApplicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `ApplicationNameList` and `ApplicationName`. If you specify both `ApplicationNameList` and `ApplicationName`, only the `ApplicationNameList` takes effect. + /// + [Output("applicationNameLists")] + public Output> ApplicationNameLists { get; private set; } = null!; + + /// + /// (Available since v1.267.0) The time when the policy was created. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; /// /// Access control over VPC firewalls description of the strategy information. @@ -157,6 +174,18 @@ public partial class FirewallVpcFirewallControlPolicy : global::Pulumi.CustomRes [Output("destinationType")] public Output DestinationType { get; private set; } = null!; + /// + /// The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + /// + [Output("domainResolveType")] + public Output DomainResolveType { get; private set; } = null!; + + /// + /// The end time of the policy validity period. + /// + [Output("endTime")] + public Output EndTime { get; private set; } = null!; + /// /// Control strategy of hits per second. /// @@ -191,7 +220,33 @@ public partial class FirewallVpcFirewallControlPolicy : global::Pulumi.CustomRes /// The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: /// [Output("release")] - public Output Release { get; private set; } = null!; + public Output Release { get; private set; } = null!; + + /// + /// The days of the week or month on which the policy is recurrently active. Valid values: + /// - If `RepeatType` is set to `Weekly`. Valid values: `0` to `6`. + /// - If `RepeatType` is set to `Monthly`. Valid values: `1` to `31`. + /// + [Output("repeatDays")] + public Output> RepeatDays { get; private set; } = null!; + + /// + /// The recurring end time of the policy validity period. + /// + [Output("repeatEndTime")] + public Output RepeatEndTime { get; private set; } = null!; + + /// + /// The recurring start time of the policy validity period. + /// + [Output("repeatStartTime")] + public Output RepeatStartTime { get; private set; } = null!; + + /// + /// The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + /// + [Output("repeatType")] + public Output RepeatType { get; private set; } = null!; /// /// Access control over VPC firewalls strategy in the source address. @@ -217,6 +272,12 @@ public partial class FirewallVpcFirewallControlPolicy : global::Pulumi.CustomRes [Output("sourceType")] public Output SourceType { get; private set; } = null!; + /// + /// The start time of the policy validity period. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + /// /// The ID of the VPC firewall instance. Valid values: /// - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -280,8 +341,21 @@ public sealed class FirewallVpcFirewallControlPolicyArgs : global::Pulumi.Resour /// /// The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. /// - [Input("applicationName", required: true)] - public Input ApplicationName { get; set; } = null!; + [Input("applicationName")] + public Input? ApplicationName { get; set; } + + [Input("applicationNameLists")] + private InputList? _applicationNameLists; + + /// + /// The list of application types that the access control policy supports. + /// > **NOTE:** If `Proto` is set to `TCP`, you can set `ApplicationNameList` to any valid value. If `Proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `ApplicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `ApplicationNameList` and `ApplicationName`. If you specify both `ApplicationNameList` and `ApplicationName`, only the `ApplicationNameList` takes effect. + /// + public InputList ApplicationNameLists + { + get => _applicationNameLists ?? (_applicationNameLists = new InputList()); + set => _applicationNameLists = value; + } /// /// Access control over VPC firewalls description of the strategy information. @@ -322,6 +396,18 @@ public sealed class FirewallVpcFirewallControlPolicyArgs : global::Pulumi.Resour [Input("destinationType", required: true)] public Input DestinationType { get; set; } = null!; + /// + /// The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + /// + [Input("domainResolveType")] + public Input? DomainResolveType { get; set; } + + /// + /// The end time of the policy validity period. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + /// /// The language of the content within the request and response. Valid values: `Zh`, `En`. /// @@ -350,7 +436,39 @@ public sealed class FirewallVpcFirewallControlPolicyArgs : global::Pulumi.Resour /// The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: /// [Input("release")] - public Input? Release { get; set; } + public Input? Release { get; set; } + + [Input("repeatDays")] + private InputList? _repeatDays; + + /// + /// The days of the week or month on which the policy is recurrently active. Valid values: + /// - If `RepeatType` is set to `Weekly`. Valid values: `0` to `6`. + /// - If `RepeatType` is set to `Monthly`. Valid values: `1` to `31`. + /// + public InputList RepeatDays + { + get => _repeatDays ?? (_repeatDays = new InputList()); + set => _repeatDays = value; + } + + /// + /// The recurring end time of the policy validity period. + /// + [Input("repeatEndTime")] + public Input? RepeatEndTime { get; set; } + + /// + /// The recurring start time of the policy validity period. + /// + [Input("repeatStartTime")] + public Input? RepeatStartTime { get; set; } + + /// + /// The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + /// + [Input("repeatType")] + public Input? RepeatType { get; set; } /// /// Access control over VPC firewalls strategy in the source address. @@ -364,6 +482,12 @@ public sealed class FirewallVpcFirewallControlPolicyArgs : global::Pulumi.Resour [Input("sourceType", required: true)] public Input SourceType { get; set; } = null!; + /// + /// The start time of the policy validity period. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + /// /// The ID of the VPC firewall instance. Valid values: /// - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -404,6 +528,25 @@ public sealed class FirewallVpcFirewallControlPolicyState : global::Pulumi.Resou [Input("applicationName")] public Input? ApplicationName { get; set; } + [Input("applicationNameLists")] + private InputList? _applicationNameLists; + + /// + /// The list of application types that the access control policy supports. + /// > **NOTE:** If `Proto` is set to `TCP`, you can set `ApplicationNameList` to any valid value. If `Proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `ApplicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `ApplicationNameList` and `ApplicationName`. If you specify both `ApplicationNameList` and `ApplicationName`, only the `ApplicationNameList` takes effect. + /// + public InputList ApplicationNameLists + { + get => _applicationNameLists ?? (_applicationNameLists = new InputList()); + set => _applicationNameLists = value; + } + + /// + /// (Available since v1.267.0) The time when the policy was created. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + /// /// Access control over VPC firewalls description of the strategy information. /// @@ -473,6 +616,18 @@ public InputList DestinationGroupCidrs [Input("destinationType")] public Input? DestinationType { get; set; } + /// + /// The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + /// + [Input("domainResolveType")] + public Input? DomainResolveType { get; set; } + + /// + /// The end time of the policy validity period. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + /// /// Control strategy of hits per second. /// @@ -507,7 +662,39 @@ public InputList DestinationGroupCidrs /// The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: /// [Input("release")] - public Input? Release { get; set; } + public Input? Release { get; set; } + + [Input("repeatDays")] + private InputList? _repeatDays; + + /// + /// The days of the week or month on which the policy is recurrently active. Valid values: + /// - If `RepeatType` is set to `Weekly`. Valid values: `0` to `6`. + /// - If `RepeatType` is set to `Monthly`. Valid values: `1` to `31`. + /// + public InputList RepeatDays + { + get => _repeatDays ?? (_repeatDays = new InputList()); + set => _repeatDays = value; + } + + /// + /// The recurring end time of the policy validity period. + /// + [Input("repeatEndTime")] + public Input? RepeatEndTime { get; set; } + + /// + /// The recurring start time of the policy validity period. + /// + [Input("repeatStartTime")] + public Input? RepeatStartTime { get; set; } + + /// + /// The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + /// + [Input("repeatType")] + public Input? RepeatType { get; set; } /// /// Access control over VPC firewalls strategy in the source address. @@ -539,6 +726,12 @@ public InputList SourceGroupCidrs [Input("sourceType")] public Input? SourceType { get; set; } + /// + /// The start time of the policy validity period. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + /// /// The ID of the VPC firewall instance. Valid values: /// - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. diff --git a/sdk/dotnet/CloudFirewall/Instance.cs b/sdk/dotnet/CloudFirewall/Instance.cs index 7676e39982..703e8de619 100644 --- a/sdk/dotnet/CloudFirewall/Instance.cs +++ b/sdk/dotnet/CloudFirewall/Instance.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/InstanceMember.cs b/sdk/dotnet/CloudFirewall/InstanceMember.cs index 109e9f10e8..aa062e8f42 100644 --- a/sdk/dotnet/CloudFirewall/InstanceMember.cs +++ b/sdk/dotnet/CloudFirewall/InstanceMember.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Instance Member can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/NatFirewall.cs b/sdk/dotnet/CloudFirewall/NatFirewall.cs index 68263c96d5..5fdfe4d28b 100644 --- a/sdk/dotnet/CloudFirewall/NatFirewall.cs +++ b/sdk/dotnet/CloudFirewall/NatFirewall.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Nat Firewall can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/NatFirewallControlPolicy.cs b/sdk/dotnet/CloudFirewall/NatFirewallControlPolicy.cs index 1f6ad94524..5b5b8f854b 100644 --- a/sdk/dotnet/CloudFirewall/NatFirewallControlPolicy.cs +++ b/sdk/dotnet/CloudFirewall/NatFirewallControlPolicy.cs @@ -195,6 +195,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/PrivateDns.cs b/sdk/dotnet/CloudFirewall/PrivateDns.cs index 7d554bc287..527ddb31d2 100644 --- a/sdk/dotnet/CloudFirewall/PrivateDns.cs +++ b/sdk/dotnet/CloudFirewall/PrivateDns.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Private Dns can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudFirewall/VpcCenTrFirewall.cs b/sdk/dotnet/CloudFirewall/VpcCenTrFirewall.cs index 9a061e956c..421736704d 100644 --- a/sdk/dotnet/CloudFirewall/VpcCenTrFirewall.cs +++ b/sdk/dotnet/CloudFirewall/VpcCenTrFirewall.cs @@ -153,6 +153,8 @@ namespace Pulumi.AliCloud.CloudFirewall /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudMonitor/ServiceBasicPublic.cs b/sdk/dotnet/CloudMonitor/ServiceBasicPublic.cs index f8b924a176..c3692a2204 100644 --- a/sdk/dotnet/CloudMonitor/ServiceBasicPublic.cs +++ b/sdk/dotnet/CloudMonitor/ServiceBasicPublic.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.CloudMonitor /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Basic Public can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudMonitor/ServiceEnterprisePublic.cs b/sdk/dotnet/CloudMonitor/ServiceEnterprisePublic.cs index 629b334574..47d40ea3c8 100644 --- a/sdk/dotnet/CloudMonitor/ServiceEnterprisePublic.cs +++ b/sdk/dotnet/CloudMonitor/ServiceEnterprisePublic.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.CloudMonitor /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Enterprise Public can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudMonitor/ServiceGroupMonitoringAgentProcess.cs b/sdk/dotnet/CloudMonitor/ServiceGroupMonitoringAgentProcess.cs index 3ae39b435d..2edb65f855 100644 --- a/sdk/dotnet/CloudMonitor/ServiceGroupMonitoringAgentProcess.cs +++ b/sdk/dotnet/CloudMonitor/ServiceGroupMonitoringAgentProcess.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.CloudMonitor /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudMonitor/ServiceHybridDoubleWrite.cs b/sdk/dotnet/CloudMonitor/ServiceHybridDoubleWrite.cs index 889bed93de..cab3cbdb26 100644 --- a/sdk/dotnet/CloudMonitor/ServiceHybridDoubleWrite.cs +++ b/sdk/dotnet/CloudMonitor/ServiceHybridDoubleWrite.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.CloudMonitor /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudMonitor/ServiceMonitoringAgentProcess.cs b/sdk/dotnet/CloudMonitor/ServiceMonitoringAgentProcess.cs index 1f32de3836..fb05d20f53 100644 --- a/sdk/dotnet/CloudMonitor/ServiceMonitoringAgentProcess.cs +++ b/sdk/dotnet/CloudMonitor/ServiceMonitoringAgentProcess.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.CloudMonitor /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/AccessConfiguration.cs b/sdk/dotnet/CloudSso/AccessConfiguration.cs index 2144b7142d..b38ae3816d 100644 --- a/sdk/dotnet/CloudSso/AccessConfiguration.cs +++ b/sdk/dotnet/CloudSso/AccessConfiguration.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Access Configuration can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/AccessConfigurationProvisioning.cs b/sdk/dotnet/CloudSso/AccessConfigurationProvisioning.cs index c2c51235dd..307ca7c13d 100644 --- a/sdk/dotnet/CloudSso/AccessConfigurationProvisioning.cs +++ b/sdk/dotnet/CloudSso/AccessConfigurationProvisioning.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/AccessManagement.cs b/sdk/dotnet/CloudSso/AccessManagement.cs index 5490f01616..e7546f8dcb 100644 --- a/sdk/dotnet/CloudSso/AccessManagement.cs +++ b/sdk/dotnet/CloudSso/AccessManagement.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Access Assignment can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/DelegateAccount.cs b/sdk/dotnet/CloudSso/DelegateAccount.cs index 30d0ee471c..b8f95728d9 100644 --- a/sdk/dotnet/CloudSso/DelegateAccount.cs +++ b/sdk/dotnet/CloudSso/DelegateAccount.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Delegate Account can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/Directory.cs b/sdk/dotnet/CloudSso/Directory.cs index a13c4ad5ad..5fe94b864e 100644 --- a/sdk/dotnet/CloudSso/Directory.cs +++ b/sdk/dotnet/CloudSso/Directory.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Directory can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/Group.cs b/sdk/dotnet/CloudSso/Group.cs index 9dba887e71..3a368b0017 100644 --- a/sdk/dotnet/CloudSso/Group.cs +++ b/sdk/dotnet/CloudSso/Group.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO Group can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/ScimServerCredential.cs b/sdk/dotnet/CloudSso/ScimServerCredential.cs index a4e02988ab..3605e8445b 100644 --- a/sdk/dotnet/CloudSso/ScimServerCredential.cs +++ b/sdk/dotnet/CloudSso/ScimServerCredential.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO SCIM Server Credential can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/User.cs b/sdk/dotnet/CloudSso/User.cs index 2d93570f42..9752b91a49 100644 --- a/sdk/dotnet/CloudSso/User.cs +++ b/sdk/dotnet/CloudSso/User.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Sso User can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/UserAttachment.cs b/sdk/dotnet/CloudSso/UserAttachment.cs index ef43f12afc..b78ae88ce8 100644 --- a/sdk/dotnet/CloudSso/UserAttachment.cs +++ b/sdk/dotnet/CloudSso/UserAttachment.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO User Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudSso/UserProvisioning.cs b/sdk/dotnet/CloudSso/UserProvisioning.cs index 81b40afe11..96d466b45b 100644 --- a/sdk/dotnet/CloudSso/UserProvisioning.cs +++ b/sdk/dotnet/CloudSso/UserProvisioning.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.CloudSso /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud SSO User Provisioning can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/ExpressSync.cs b/sdk/dotnet/CloudStorageGateway/ExpressSync.cs index d4506eb51c..bd000c92a3 100644 --- a/sdk/dotnet/CloudStorageGateway/ExpressSync.cs +++ b/sdk/dotnet/CloudStorageGateway/ExpressSync.cs @@ -149,6 +149,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Express Sync can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/ExpressSyncShareAttachment.cs b/sdk/dotnet/CloudStorageGateway/ExpressSyncShareAttachment.cs index a0344b1589..a24bc1aa52 100644 --- a/sdk/dotnet/CloudStorageGateway/ExpressSyncShareAttachment.cs +++ b/sdk/dotnet/CloudStorageGateway/ExpressSyncShareAttachment.cs @@ -155,6 +155,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/Gateway.cs b/sdk/dotnet/CloudStorageGateway/Gateway.cs index ad304ec6ba..88146ae8cc 100644 --- a/sdk/dotnet/CloudStorageGateway/Gateway.cs +++ b/sdk/dotnet/CloudStorageGateway/Gateway.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/GatewayBlockVolume.cs b/sdk/dotnet/CloudStorageGateway/GatewayBlockVolume.cs index 0fc84e464f..325561e629 100644 --- a/sdk/dotnet/CloudStorageGateway/GatewayBlockVolume.cs +++ b/sdk/dotnet/CloudStorageGateway/GatewayBlockVolume.cs @@ -128,6 +128,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/GatewayCacheDisk.cs b/sdk/dotnet/CloudStorageGateway/GatewayCacheDisk.cs index 81b153f4cd..0e508ef3a8 100644 --- a/sdk/dotnet/CloudStorageGateway/GatewayCacheDisk.cs +++ b/sdk/dotnet/CloudStorageGateway/GatewayCacheDisk.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/GatewayFileShare.cs b/sdk/dotnet/CloudStorageGateway/GatewayFileShare.cs index 40b70e14b0..c4e67866ae 100644 --- a/sdk/dotnet/CloudStorageGateway/GatewayFileShare.cs +++ b/sdk/dotnet/CloudStorageGateway/GatewayFileShare.cs @@ -124,6 +124,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/GatewayLogging.cs b/sdk/dotnet/CloudStorageGateway/GatewayLogging.cs index 2c4abd02f1..7dd906682b 100644 --- a/sdk/dotnet/CloudStorageGateway/GatewayLogging.cs +++ b/sdk/dotnet/CloudStorageGateway/GatewayLogging.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/GatewaySmbUser.cs b/sdk/dotnet/CloudStorageGateway/GatewaySmbUser.cs index e5f52f7e51..3fa277f442 100644 --- a/sdk/dotnet/CloudStorageGateway/GatewaySmbUser.cs +++ b/sdk/dotnet/CloudStorageGateway/GatewaySmbUser.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. diff --git a/sdk/dotnet/CloudStorageGateway/StorageBundle.cs b/sdk/dotnet/CloudStorageGateway/StorageBundle.cs index ea55ea23c0..ccb2a51ea9 100644 --- a/sdk/dotnet/CloudStorageGateway/StorageBundle.cs +++ b/sdk/dotnet/CloudStorageGateway/StorageBundle.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.CloudStorageGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/Alarm.cs b/sdk/dotnet/Cms/Alarm.cs index ceea936865..2c5d6bfef2 100644 --- a/sdk/dotnet/Cms/Alarm.cs +++ b/sdk/dotnet/Cms/Alarm.cs @@ -116,6 +116,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Alarm can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/AlarmContact.cs b/sdk/dotnet/Cms/AlarmContact.cs index 7845072f3e..9694e9d438 100644 --- a/sdk/dotnet/Cms/AlarmContact.cs +++ b/sdk/dotnet/Cms/AlarmContact.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alarm contact can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/AlarmContactGroup.cs b/sdk/dotnet/Cms/AlarmContactGroup.cs index 281f32d193..aa0442e0c0 100644 --- a/sdk/dotnet/Cms/AlarmContactGroup.cs +++ b/sdk/dotnet/Cms/AlarmContactGroup.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// CMS Alarm Contact Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/DynamicTagGroup.cs b/sdk/dotnet/Cms/DynamicTagGroup.cs index dd0055f753..30a9a3cd65 100644 --- a/sdk/dotnet/Cms/DynamicTagGroup.cs +++ b/sdk/dotnet/Cms/DynamicTagGroup.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/EventRule.cs b/sdk/dotnet/Cms/EventRule.cs index a91d67bffd..dc08d7dc4b 100644 --- a/sdk/dotnet/Cms/EventRule.cs +++ b/sdk/dotnet/Cms/EventRule.cs @@ -64,6 +64,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Event Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/GroupMetricRule.cs b/sdk/dotnet/Cms/GroupMetricRule.cs index 09313cc2d9..3786194e2b 100644 --- a/sdk/dotnet/Cms/GroupMetricRule.cs +++ b/sdk/dotnet/Cms/GroupMetricRule.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/HybridMonitorFcTask.cs b/sdk/dotnet/Cms/HybridMonitorFcTask.cs index 4ebd9a851e..877b2d3e4f 100644 --- a/sdk/dotnet/Cms/HybridMonitorFcTask.cs +++ b/sdk/dotnet/Cms/HybridMonitorFcTask.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/HybridMonitorSlsTask.cs b/sdk/dotnet/Cms/HybridMonitorSlsTask.cs index b5be09264a..c0164bb1c2 100644 --- a/sdk/dotnet/Cms/HybridMonitorSlsTask.cs +++ b/sdk/dotnet/Cms/HybridMonitorSlsTask.cs @@ -161,6 +161,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/MetricRuleBlackList.cs b/sdk/dotnet/Cms/MetricRuleBlackList.cs index 16f48f4735..7f15347ce7 100644 --- a/sdk/dotnet/Cms/MetricRuleBlackList.cs +++ b/sdk/dotnet/Cms/MetricRuleBlackList.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/MetricRuleTemplate.cs b/sdk/dotnet/Cms/MetricRuleTemplate.cs index c1097b54ce..30e12839c0 100644 --- a/sdk/dotnet/Cms/MetricRuleTemplate.cs +++ b/sdk/dotnet/Cms/MetricRuleTemplate.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/MonitorGroup.cs b/sdk/dotnet/Cms/MonitorGroup.cs index 2ae16296d3..d76383af4d 100644 --- a/sdk/dotnet/Cms/MonitorGroup.cs +++ b/sdk/dotnet/Cms/MonitorGroup.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Monitor Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/MonitorGroupInstances.cs b/sdk/dotnet/Cms/MonitorGroupInstances.cs index 52a81a4540..658d20b6f8 100644 --- a/sdk/dotnet/Cms/MonitorGroupInstances.cs +++ b/sdk/dotnet/Cms/MonitorGroupInstances.cs @@ -64,6 +64,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/Namespace.cs b/sdk/dotnet/Cms/Namespace.cs index 2698310710..2bcdbc9547 100644 --- a/sdk/dotnet/Cms/Namespace.cs +++ b/sdk/dotnet/Cms/Namespace.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/SiteMonitor.cs b/sdk/dotnet/Cms/SiteMonitor.cs index 026572b4de..d6cbb5f25c 100644 --- a/sdk/dotnet/Cms/SiteMonitor.cs +++ b/sdk/dotnet/Cms/SiteMonitor.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Site Monitor can be imported using the id, e.g. diff --git a/sdk/dotnet/Cms/SlsGroup.cs b/sdk/dotnet/Cms/SlsGroup.cs index 117d05a78d..8fb81f2855 100644 --- a/sdk/dotnet/Cms/SlsGroup.cs +++ b/sdk/dotnet/Cms/SlsGroup.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Cms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Monitor Service Sls Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Compute/NestServiceInstance.cs b/sdk/dotnet/Compute/NestServiceInstance.cs index 87edf8dcac..efb0f0c3bf 100644 --- a/sdk/dotnet/Compute/NestServiceInstance.cs +++ b/sdk/dotnet/Compute/NestServiceInstance.cs @@ -117,6 +117,8 @@ namespace Pulumi.AliCloud.Compute /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Compute Nest Service Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 3a7b318734..cc31f584f3 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -59,15 +59,15 @@ public static string? AccountType set => _accountType.Set(value); } - private static readonly __Value _assumeRole = new __Value(() => __config.GetObject("assumeRole")); - public static Pulumi.AliCloud.Config.Types.AssumeRole? AssumeRole + private static readonly __Value _assumeRole = new __Value(() => __config.GetObject("assumeRole")); + public static Pulumi.AliCloud.config.Types.AssumeRole? AssumeRole { get => _assumeRole.Get(); set => _assumeRole.Set(value); } - private static readonly __Value _assumeRoleWithOidc = new __Value(() => __config.GetObject("assumeRoleWithOidc")); - public static Pulumi.AliCloud.Config.Types.AssumeRoleWithOidc? AssumeRoleWithOidc + private static readonly __Value _assumeRoleWithOidc = new __Value(() => __config.GetObject("assumeRoleWithOidc")); + public static Pulumi.AliCloud.config.Types.AssumeRoleWithOidc? AssumeRoleWithOidc { get => _assumeRoleWithOidc.Get(); set => _assumeRoleWithOidc.Set(value); @@ -120,8 +120,8 @@ public static string? EcsRoleName set => _ecsRoleName.Set(value); } - private static readonly __Value> _endpoints = new __Value>(() => __config.GetObject>("endpoints")); - public static ImmutableArray Endpoints + private static readonly __Value> _endpoints = new __Value>(() => __config.GetObject>("endpoints")); + public static ImmutableArray Endpoints { get => _endpoints.Get(); set => _endpoints.Set(value); @@ -239,8 +239,8 @@ public static string? SharedCredentialsFile set => _sharedCredentialsFile.Set(value); } - private static readonly __Value _signVersion = new __Value(() => __config.GetObject("signVersion")); - public static Pulumi.AliCloud.Config.Types.SignVersion? SignVersion + private static readonly __Value _signVersion = new __Value(() => __config.GetObject("signVersion")); + public static Pulumi.AliCloud.config.Types.SignVersion? SignVersion { get => _signVersion.Get(); set => _signVersion.Set(value); diff --git a/sdk/dotnet/DBS/BackupPlan.cs b/sdk/dotnet/DBS/BackupPlan.cs index 18df4c0d15..8e224b9ec3 100644 --- a/sdk/dotnet/DBS/BackupPlan.cs +++ b/sdk/dotnet/DBS/BackupPlan.cs @@ -136,6 +136,8 @@ namespace Pulumi.AliCloud.DBS /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DBS Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Das/SwitchDasPro.cs b/sdk/dotnet/Das/SwitchDasPro.cs index 0447eab3a5..03b4632efa 100644 --- a/sdk/dotnet/Das/SwitchDasPro.cs +++ b/sdk/dotnet/Das/SwitchDasPro.cs @@ -87,6 +87,8 @@ namespace Pulumi.AliCloud.Das /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DAS Switch Das Pro can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/DataSource.cs b/sdk/dotnet/DataWorks/DataSource.cs index dcff0854b5..169ee1aa0a 100644 --- a/sdk/dotnet/DataWorks/DataSource.cs +++ b/sdk/dotnet/DataWorks/DataSource.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Data Source can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/DataSourceSharedRule.cs b/sdk/dotnet/DataWorks/DataSourceSharedRule.cs index 808d3b0575..9b0067a6ab 100644 --- a/sdk/dotnet/DataWorks/DataSourceSharedRule.cs +++ b/sdk/dotnet/DataWorks/DataSourceSharedRule.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Data Source Shared Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/DiAlarmRule.cs b/sdk/dotnet/DataWorks/DiAlarmRule.cs index c33fd37f96..d44a067e17 100644 --- a/sdk/dotnet/DataWorks/DiAlarmRule.cs +++ b/sdk/dotnet/DataWorks/DiAlarmRule.cs @@ -196,6 +196,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Di Alarm Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/DiJob.cs b/sdk/dotnet/DataWorks/DiJob.cs index 46940dad15..b6a6618ce8 100644 --- a/sdk/dotnet/DataWorks/DiJob.cs +++ b/sdk/dotnet/DataWorks/DiJob.cs @@ -172,6 +172,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Di Job can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/DwResourceGroup.cs b/sdk/dotnet/DataWorks/DwResourceGroup.cs index d75d7448e6..967f5e68bc 100644 --- a/sdk/dotnet/DataWorks/DwResourceGroup.cs +++ b/sdk/dotnet/DataWorks/DwResourceGroup.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Dw Resource Group can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/Folder.cs b/sdk/dotnet/DataWorks/Folder.cs index fb62674985..a7b6bd9ad5 100644 --- a/sdk/dotnet/DataWorks/Folder.cs +++ b/sdk/dotnet/DataWorks/Folder.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Folder can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/Network.cs b/sdk/dotnet/DataWorks/Network.cs index 93c02051b7..1d76ee848b 100644 --- a/sdk/dotnet/DataWorks/Network.cs +++ b/sdk/dotnet/DataWorks/Network.cs @@ -107,6 +107,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Network can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/Project.cs b/sdk/dotnet/DataWorks/Project.cs index 8cf7576f7c..e0a1639591 100644 --- a/sdk/dotnet/DataWorks/Project.cs +++ b/sdk/dotnet/DataWorks/Project.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Project can be imported using the id, e.g. diff --git a/sdk/dotnet/DataWorks/ProjectMember.cs b/sdk/dotnet/DataWorks/ProjectMember.cs index 5e03f1a86c..cfc344ecdc 100644 --- a/sdk/dotnet/DataWorks/ProjectMember.cs +++ b/sdk/dotnet/DataWorks/ProjectMember.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.DataWorks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Works Project Member can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseFilesystem/AutoSnapShotPolicy.cs b/sdk/dotnet/DatabaseFilesystem/AutoSnapShotPolicy.cs index 42a0ca9483..a8b655469c 100644 --- a/sdk/dotnet/DatabaseFilesystem/AutoSnapShotPolicy.cs +++ b/sdk/dotnet/DatabaseFilesystem/AutoSnapShotPolicy.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.DatabaseFilesystem /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dbfs Auto Snap Shot Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseFilesystem/Instance.cs b/sdk/dotnet/DatabaseFilesystem/Instance.cs index e143551ab5..64201fbfd7 100644 --- a/sdk/dotnet/DatabaseFilesystem/Instance.cs +++ b/sdk/dotnet/DatabaseFilesystem/Instance.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.DatabaseFilesystem /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DBFS Dbfs Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseFilesystem/InstanceAttachment.cs b/sdk/dotnet/DatabaseFilesystem/InstanceAttachment.cs index d7233146c9..080597b836 100644 --- a/sdk/dotnet/DatabaseFilesystem/InstanceAttachment.cs +++ b/sdk/dotnet/DatabaseFilesystem/InstanceAttachment.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.DatabaseFilesystem /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Database File System (DBFS) Instance Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseFilesystem/ServiceLinkedRole.cs b/sdk/dotnet/DatabaseFilesystem/ServiceLinkedRole.cs index ffbd3b8212..5976ff31fe 100644 --- a/sdk/dotnet/DatabaseFilesystem/ServiceLinkedRole.cs +++ b/sdk/dotnet/DatabaseFilesystem/ServiceLinkedRole.cs @@ -34,6 +34,8 @@ namespace Pulumi.AliCloud.DatabaseFilesystem /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dbfs service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseFilesystem/Snapshot.cs b/sdk/dotnet/DatabaseFilesystem/Snapshot.cs index 814d086986..e4c7b12278 100644 --- a/sdk/dotnet/DatabaseFilesystem/Snapshot.cs +++ b/sdk/dotnet/DatabaseFilesystem/Snapshot.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.DatabaseFilesystem /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Database File System (DBFS) Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/DatabaseGateway/Gateway.cs b/sdk/dotnet/DatabaseGateway/Gateway.cs index b08045a22e..763769b881 100644 --- a/sdk/dotnet/DatabaseGateway/Gateway.cs +++ b/sdk/dotnet/DatabaseGateway/Gateway.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.DatabaseGateway /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Database Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Datahub/Project.cs b/sdk/dotnet/Datahub/Project.cs index 74fcb09204..a07d921988 100644 --- a/sdk/dotnet/Datahub/Project.cs +++ b/sdk/dotnet/Datahub/Project.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Datahub /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Datahub project can be imported using the *name* or ID, e.g. diff --git a/sdk/dotnet/Datahub/Subscription.cs b/sdk/dotnet/Datahub/Subscription.cs index f72d6d3cf3..4a7ba9c58a 100644 --- a/sdk/dotnet/Datahub/Subscription.cs +++ b/sdk/dotnet/Datahub/Subscription.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Datahub /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Datahub subscription can be imported using the ID, e.g. diff --git a/sdk/dotnet/Datahub/Topic.cs b/sdk/dotnet/Datahub/Topic.cs index 322df5548e..710e6223e2 100644 --- a/sdk/dotnet/Datahub/Topic.cs +++ b/sdk/dotnet/Datahub/Topic.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Datahub /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Datahub topic can be imported using the ID, e.g. diff --git a/sdk/dotnet/Dcdn/Domain.cs b/sdk/dotnet/Dcdn/Domain.cs index 3ec7c474da..2ff273aa94 100644 --- a/sdk/dotnet/Dcdn/Domain.cs +++ b/sdk/dotnet/Dcdn/Domain.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/DomainConfig.cs b/sdk/dotnet/Dcdn/DomainConfig.cs index 6b611c524c..0248077f5c 100644 --- a/sdk/dotnet/Dcdn/DomainConfig.cs +++ b/sdk/dotnet/Dcdn/DomainConfig.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN domain config can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/Er.cs b/sdk/dotnet/Dcdn/Er.cs index d0270c8a1b..59d42eee37 100644 --- a/sdk/dotnet/Dcdn/Er.cs +++ b/sdk/dotnet/Dcdn/Er.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Er can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/IpaDomain.cs b/sdk/dotnet/Dcdn/IpaDomain.cs index eb4abfd912..1d05e0726a 100644 --- a/sdk/dotnet/Dcdn/IpaDomain.cs +++ b/sdk/dotnet/Dcdn/IpaDomain.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Ipa Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/Kv.cs b/sdk/dotnet/Dcdn/Kv.cs index 265c15dc80..dec3811e8a 100644 --- a/sdk/dotnet/Dcdn/Kv.cs +++ b/sdk/dotnet/Dcdn/Kv.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dcdn Kv can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/KvNamespace.cs b/sdk/dotnet/Dcdn/KvNamespace.cs index e7dcdc41c5..da913f262f 100644 --- a/sdk/dotnet/Dcdn/KvNamespace.cs +++ b/sdk/dotnet/Dcdn/KvNamespace.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dcdn Kv Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/WafDomain.cs b/sdk/dotnet/Dcdn/WafDomain.cs index f72af635e0..378041b80b 100644 --- a/sdk/dotnet/Dcdn/WafDomain.cs +++ b/sdk/dotnet/Dcdn/WafDomain.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Waf Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/WafPolicy.cs b/sdk/dotnet/Dcdn/WafPolicy.cs index 2c3a9db2c2..418cb6ffad 100644 --- a/sdk/dotnet/Dcdn/WafPolicy.cs +++ b/sdk/dotnet/Dcdn/WafPolicy.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Waf Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/WafPolicyDomainAttachment.cs b/sdk/dotnet/Dcdn/WafPolicyDomainAttachment.cs index eb5b653e5f..e86475d26a 100644 --- a/sdk/dotnet/Dcdn/WafPolicyDomainAttachment.cs +++ b/sdk/dotnet/Dcdn/WafPolicyDomainAttachment.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DCDN Waf Policy Domain Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Dcdn/WafRule.cs b/sdk/dotnet/Dcdn/WafRule.cs index 33d6a099e4..ac38af69d9 100644 --- a/sdk/dotnet/Dcdn/WafRule.cs +++ b/sdk/dotnet/Dcdn/WafRule.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.Dcdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dcdn Waf Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/BasicDefenseThreshold.cs b/sdk/dotnet/Ddos/BasicDefenseThreshold.cs index 6ca36cc416..ef5068df9d 100644 --- a/sdk/dotnet/Ddos/BasicDefenseThreshold.cs +++ b/sdk/dotnet/Ddos/BasicDefenseThreshold.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ddos Basic Antiddos can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/BasicThreshold.cs b/sdk/dotnet/Ddos/BasicThreshold.cs index d17b8b2b7d..ab39e235f3 100644 --- a/sdk/dotnet/Ddos/BasicThreshold.cs +++ b/sdk/dotnet/Ddos/BasicThreshold.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ddos Basic Threshold can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/BgpIp.cs b/sdk/dotnet/Ddos/BgpIp.cs index 39ae3f02e3..ffb84a57b6 100644 --- a/sdk/dotnet/Ddos/BgpIp.cs +++ b/sdk/dotnet/Ddos/BgpIp.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/BgpPolicy.cs b/sdk/dotnet/Ddos/BgpPolicy.cs index 390d310e5d..e5a1f11be6 100644 --- a/sdk/dotnet/Ddos/BgpPolicy.cs +++ b/sdk/dotnet/Ddos/BgpPolicy.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ddos Bgp Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/DdosCooInstance.cs b/sdk/dotnet/Ddos/DdosCooInstance.cs index f20da38ce7..f38d9d2783 100644 --- a/sdk/dotnet/Ddos/DdosCooInstance.cs +++ b/sdk/dotnet/Ddos/DdosCooInstance.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/DomainResource.cs b/sdk/dotnet/Ddos/DomainResource.cs index c975eeddeb..1779e3cd38 100644 --- a/sdk/dotnet/Ddos/DomainResource.cs +++ b/sdk/dotnet/Ddos/DomainResource.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ddos Coo Domain Resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/Port.cs b/sdk/dotnet/Ddos/Port.cs index bb3d8762a0..ab08e1d298 100644 --- a/sdk/dotnet/Ddos/Port.cs +++ b/sdk/dotnet/Ddos/Port.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ddos Coo Port can be imported using the id, e.g. diff --git a/sdk/dotnet/Ddos/SchedulerRule.cs b/sdk/dotnet/Ddos/SchedulerRule.cs index cb712dab84..eebda947d4 100644 --- a/sdk/dotnet/Ddos/SchedulerRule.cs +++ b/sdk/dotnet/Ddos/SchedulerRule.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Ddos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. diff --git a/sdk/dotnet/Dfs/AccessGroup.cs b/sdk/dotnet/Dfs/AccessGroup.cs index c507b0aaa0..4c55bd9b99 100644 --- a/sdk/dotnet/Dfs/AccessGroup.cs +++ b/sdk/dotnet/Dfs/AccessGroup.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Dfs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DFS Access Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Dfs/AccessRule.cs b/sdk/dotnet/Dfs/AccessRule.cs index 21639d7bad..f4c62865f9 100644 --- a/sdk/dotnet/Dfs/AccessRule.cs +++ b/sdk/dotnet/Dfs/AccessRule.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Dfs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DFS Access Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Dfs/FileSystem.cs b/sdk/dotnet/Dfs/FileSystem.cs index 4e4d2b0369..050c372ae9 100644 --- a/sdk/dotnet/Dfs/FileSystem.cs +++ b/sdk/dotnet/Dfs/FileSystem.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Dfs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. diff --git a/sdk/dotnet/Dfs/MountPoint.cs b/sdk/dotnet/Dfs/MountPoint.cs index e91badb8f1..5fa8d0d7dc 100644 --- a/sdk/dotnet/Dfs/MountPoint.cs +++ b/sdk/dotnet/Dfs/MountPoint.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Dfs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. diff --git a/sdk/dotnet/Dfs/VscMountPoint.cs b/sdk/dotnet/Dfs/VscMountPoint.cs index d810717f1c..f648bdcb89 100644 --- a/sdk/dotnet/Dfs/VscMountPoint.cs +++ b/sdk/dotnet/Dfs/VscMountPoint.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Dfs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. diff --git a/sdk/dotnet/DirectMail/Domain.cs b/sdk/dotnet/DirectMail/Domain.cs index c6db5cbbe4..9299d2c21e 100644 --- a/sdk/dotnet/DirectMail/Domain.cs +++ b/sdk/dotnet/DirectMail/Domain.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.DirectMail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Direct Mail Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/DirectMail/MailAddress.cs b/sdk/dotnet/DirectMail/MailAddress.cs index b351e9905d..cb08a379a0 100644 --- a/sdk/dotnet/DirectMail/MailAddress.cs +++ b/sdk/dotnet/DirectMail/MailAddress.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.DirectMail /// Individual users: Up to 10 mailing addresses can be deleted within a month. /// Enterprise users: Up to 10 mailing addresses can be deleted within a month. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Direct Mail Mail Address can be imported using the id, e.g. diff --git a/sdk/dotnet/DirectMail/Receivers.cs b/sdk/dotnet/DirectMail/Receivers.cs index e9dd378c8a..c993294574 100644 --- a/sdk/dotnet/DirectMail/Receivers.cs +++ b/sdk/dotnet/DirectMail/Receivers.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.DirectMail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Direct Mail Receivers can be imported using the id, e.g. diff --git a/sdk/dotnet/DirectMail/Tag.cs b/sdk/dotnet/DirectMail/Tag.cs index 612cf97e73..cb44ab7635 100644 --- a/sdk/dotnet/DirectMail/Tag.cs +++ b/sdk/dotnet/DirectMail/Tag.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.DirectMail /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Direct Mail Tag can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/Airflow.cs b/sdk/dotnet/Dms/Airflow.cs index 51a731aee6..19c4359f1e 100644 --- a/sdk/dotnet/Dms/Airflow.cs +++ b/sdk/dotnet/Dms/Airflow.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dms Airflow can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseAuthorityTemplate.cs b/sdk/dotnet/Dms/EnterpriseAuthorityTemplate.cs index d5fe2dde33..33267b3eee 100644 --- a/sdk/dotnet/Dms/EnterpriseAuthorityTemplate.cs +++ b/sdk/dotnet/Dms/EnterpriseAuthorityTemplate.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise Authority Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseInstance.cs b/sdk/dotnet/Dms/EnterpriseInstance.cs index 27144749d9..443898fca6 100644 --- a/sdk/dotnet/Dms/EnterpriseInstance.cs +++ b/sdk/dotnet/Dms/EnterpriseInstance.cs @@ -131,6 +131,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise can be imported using host and port, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseLogicDatabase.cs b/sdk/dotnet/Dms/EnterpriseLogicDatabase.cs index 6a0f64ec24..323456808f 100644 --- a/sdk/dotnet/Dms/EnterpriseLogicDatabase.cs +++ b/sdk/dotnet/Dms/EnterpriseLogicDatabase.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise Logic Database can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseProxy.cs b/sdk/dotnet/Dms/EnterpriseProxy.cs index 9b16315f84..cf86d153c4 100644 --- a/sdk/dotnet/Dms/EnterpriseProxy.cs +++ b/sdk/dotnet/Dms/EnterpriseProxy.cs @@ -140,6 +140,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise Proxy can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseProxyAccess.cs b/sdk/dotnet/Dms/EnterpriseProxyAccess.cs index 35ab05af24..beb1af415c 100644 --- a/sdk/dotnet/Dms/EnterpriseProxyAccess.cs +++ b/sdk/dotnet/Dms/EnterpriseProxyAccess.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise Proxy Access can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseUser.cs b/sdk/dotnet/Dms/EnterpriseUser.cs index 8391ffc370..cc255d4a42 100644 --- a/sdk/dotnet/Dms/EnterpriseUser.cs +++ b/sdk/dotnet/Dms/EnterpriseUser.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise User can be imported using the id, e.g. diff --git a/sdk/dotnet/Dms/EnterpriseWorkspace.cs b/sdk/dotnet/Dms/EnterpriseWorkspace.cs index 359e05df46..54da11718d 100644 --- a/sdk/dotnet/Dms/EnterpriseWorkspace.cs +++ b/sdk/dotnet/Dms/EnterpriseWorkspace.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Dms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DMS Enterprise Workspace can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/AccessStrategy.cs b/sdk/dotnet/Dns/AccessStrategy.cs index 872b822b69..d7f6264efe 100644 --- a/sdk/dotnet/Dns/AccessStrategy.cs +++ b/sdk/dotnet/Dns/AccessStrategy.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS Access Strategy can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/AddressPool.cs b/sdk/dotnet/Dns/AddressPool.cs index 392d29a7f0..863ba9b255 100644 --- a/sdk/dotnet/Dns/AddressPool.cs +++ b/sdk/dotnet/Dns/AddressPool.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns Address Pool can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/AlidnsDomain.cs b/sdk/dotnet/Dns/AlidnsDomain.cs index 71605c407d..0cb8cdd11e 100644 --- a/sdk/dotnet/Dns/AlidnsDomain.cs +++ b/sdk/dotnet/Dns/AlidnsDomain.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns domain can be imported using the id or domain name, e.g. diff --git a/sdk/dotnet/Dns/AlidnsDomainAttachment.cs b/sdk/dotnet/Dns/AlidnsDomainAttachment.cs index 490fcc42df..cbd2e10bb3 100644 --- a/sdk/dotnet/Dns/AlidnsDomainAttachment.cs +++ b/sdk/dotnet/Dns/AlidnsDomainAttachment.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/AlidnsInstance.cs b/sdk/dotnet/Dns/AlidnsInstance.cs index d42d7d3f0f..29ff29a014 100644 --- a/sdk/dotnet/Dns/AlidnsInstance.cs +++ b/sdk/dotnet/Dns/AlidnsInstance.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS instance be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/AlidnsRecord.cs b/sdk/dotnet/Dns/AlidnsRecord.cs index 81dab5a640..cf845b1528 100644 --- a/sdk/dotnet/Dns/AlidnsRecord.cs +++ b/sdk/dotnet/Dns/AlidnsRecord.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns Domain Record can be imported using the id, e.g. @@ -115,7 +117,7 @@ public partial class AlidnsRecord : global::Pulumi.CustomResource public Output Ttl { get; private set; } = null!; /// - /// The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + /// The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). /// [Output("type")] public Output Type { get; private set; } = null!; @@ -227,7 +229,7 @@ public sealed class AlidnsRecordArgs : global::Pulumi.ResourceArgs public Input? Ttl { get; set; } /// - /// The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + /// The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). /// [Input("type", required: true)] public Input Type { get; set; } = null!; @@ -301,7 +303,7 @@ public sealed class AlidnsRecordState : global::Pulumi.ResourceArgs public Input? Ttl { get; set; } /// - /// The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + /// The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/Dns/CustomLine.cs b/sdk/dotnet/Dns/CustomLine.cs index e5418d9d4b..e26a3d8d1c 100644 --- a/sdk/dotnet/Dns/CustomLine.cs +++ b/sdk/dotnet/Dns/CustomLine.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns Custom Line can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/DdosCooInstance.cs b/sdk/dotnet/Dns/DdosCooInstance.cs index b2dd9d35bc..e4e79723d0 100644 --- a/sdk/dotnet/Dns/DdosCooInstance.cs +++ b/sdk/dotnet/Dns/DdosCooInstance.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/DnsDomain.cs b/sdk/dotnet/Dns/DnsDomain.cs index 8ac4e594d7..70400999bd 100644 --- a/sdk/dotnet/Dns/DnsDomain.cs +++ b/sdk/dotnet/Dns/DnsDomain.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS domain can be imported using the id or domain name, e.g. diff --git a/sdk/dotnet/Dns/Domain.cs b/sdk/dotnet/Dns/Domain.cs index 2092ae62d5..34eea0b02b 100644 --- a/sdk/dotnet/Dns/Domain.cs +++ b/sdk/dotnet/Dns/Domain.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS can be imported using the id or domain name, e.g. diff --git a/sdk/dotnet/Dns/DomainAttachment.cs b/sdk/dotnet/Dns/DomainAttachment.cs index 7b59f11fb9..bf0e45c5aa 100644 --- a/sdk/dotnet/Dns/DomainAttachment.cs +++ b/sdk/dotnet/Dns/DomainAttachment.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/DomainGroup.cs b/sdk/dotnet/Dns/DomainGroup.cs index b83102da29..72a3ee1f7b 100644 --- a/sdk/dotnet/Dns/DomainGroup.cs +++ b/sdk/dotnet/Dns/DomainGroup.cs @@ -32,6 +32,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns domain group can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/Group.cs b/sdk/dotnet/Dns/Group.cs index 37abef4285..1fa6696123 100644 --- a/sdk/dotnet/Dns/Group.cs +++ b/sdk/dotnet/Dns/Group.cs @@ -32,6 +32,8 @@ namespace Pulumi.AliCloud.Dns /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:dns/group:Group")] public partial class Group : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Dns/GtmInstance.cs b/sdk/dotnet/Dns/GtmInstance.cs index cb69863d1b..c381e0f68b 100644 --- a/sdk/dotnet/Dns/GtmInstance.cs +++ b/sdk/dotnet/Dns/GtmInstance.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alidns Gtm Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/Instance.cs b/sdk/dotnet/Dns/Instance.cs index b5196c6af1..4b8c194a7d 100644 --- a/sdk/dotnet/Dns/Instance.cs +++ b/sdk/dotnet/Dns/Instance.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS instance be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/MonitorConfig.cs b/sdk/dotnet/Dns/MonitorConfig.cs index a292432b74..fc9329caea 100644 --- a/sdk/dotnet/Dns/MonitorConfig.cs +++ b/sdk/dotnet/Dns/MonitorConfig.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DNS Monitor Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Dns/Record.cs b/sdk/dotnet/Dns/Record.cs index ec2e552f14..e8b16f4536 100644 --- a/sdk/dotnet/Dns/Record.cs +++ b/sdk/dotnet/Dns/Record.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Dns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS record can be imported using the id, e.g. diff --git a/sdk/dotnet/Drds/Instance.cs b/sdk/dotnet/Drds/Instance.cs index 067ab56e14..b2d92cc616 100644 --- a/sdk/dotnet/Drds/Instance.cs +++ b/sdk/dotnet/Drds/Instance.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Drds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Distributed Relational Database Service (DRDS) can be imported using the id, e.g. diff --git a/sdk/dotnet/Drds/PolardbxInstance.cs b/sdk/dotnet/Drds/PolardbxInstance.cs index 48a4cd133e..8aa5d8e93c 100644 --- a/sdk/dotnet/Drds/PolardbxInstance.cs +++ b/sdk/dotnet/Drds/PolardbxInstance.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Drds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DRDS Polardb X Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/ConsumerChannel.cs b/sdk/dotnet/Dts/ConsumerChannel.cs index e3c64267a1..b9338ce1df 100644 --- a/sdk/dotnet/Dts/ConsumerChannel.cs +++ b/sdk/dotnet/Dts/ConsumerChannel.cs @@ -149,6 +149,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DTS Consumer Channel can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/Instance.cs b/sdk/dotnet/Dts/Instance.cs index cfb7c6a88c..2c1be9fe5e 100644 --- a/sdk/dotnet/Dts/Instance.cs +++ b/sdk/dotnet/Dts/Instance.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Dts Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/JobMonitorRule.cs b/sdk/dotnet/Dts/JobMonitorRule.cs index 94f93ad7b0..9ca6d165c8 100644 --- a/sdk/dotnet/Dts/JobMonitorRule.cs +++ b/sdk/dotnet/Dts/JobMonitorRule.cs @@ -216,6 +216,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DTS Job Monitor Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/MigrationInstance.cs b/sdk/dotnet/Dts/MigrationInstance.cs index 51b8cdbb38..be590e3fed 100644 --- a/sdk/dotnet/Dts/MigrationInstance.cs +++ b/sdk/dotnet/Dts/MigrationInstance.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DTS Migration Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/MigrationJob.cs b/sdk/dotnet/Dts/MigrationJob.cs index c399386f29..36352da482 100644 --- a/sdk/dotnet/Dts/MigrationJob.cs +++ b/sdk/dotnet/Dts/MigrationJob.cs @@ -209,6 +209,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Notice /// /// 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/dotnet/Dts/SubscriptionJob.cs b/sdk/dotnet/Dts/SubscriptionJob.cs index b148b27f76..8d7a715589 100644 --- a/sdk/dotnet/Dts/SubscriptionJob.cs +++ b/sdk/dotnet/Dts/SubscriptionJob.cs @@ -149,6 +149,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DTS Subscription Job can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/SynchronizationInstance.cs b/sdk/dotnet/Dts/SynchronizationInstance.cs index b33af0aab0..d062e714a2 100644 --- a/sdk/dotnet/Dts/SynchronizationInstance.cs +++ b/sdk/dotnet/Dts/SynchronizationInstance.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// DTS Synchronization Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Dts/SynchronizationJob.cs b/sdk/dotnet/Dts/SynchronizationJob.cs index 4a854edc74..f1a5196255 100644 --- a/sdk/dotnet/Dts/SynchronizationJob.cs +++ b/sdk/dotnet/Dts/SynchronizationJob.cs @@ -212,6 +212,8 @@ namespace Pulumi.AliCloud.Dts /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Notice /// /// 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/dotnet/Ebs/DedicatedBlockStorageCluster.cs b/sdk/dotnet/Ebs/DedicatedBlockStorageCluster.cs index 6bb7e56fe2..0c8aa3f8bb 100644 --- a/sdk/dotnet/Ebs/DedicatedBlockStorageCluster.cs +++ b/sdk/dotnet/Ebs/DedicatedBlockStorageCluster.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/DiskReplicaGroup.cs b/sdk/dotnet/Ebs/DiskReplicaGroup.cs index e3a774ed56..7af40471d9 100644 --- a/sdk/dotnet/Ebs/DiskReplicaGroup.cs +++ b/sdk/dotnet/Ebs/DiskReplicaGroup.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/DiskReplicaPair.cs b/sdk/dotnet/Ebs/DiskReplicaPair.cs index f496119e07..c1827ad746 100644 --- a/sdk/dotnet/Ebs/DiskReplicaPair.cs +++ b/sdk/dotnet/Ebs/DiskReplicaPair.cs @@ -100,6 +100,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/EnterpriseSnapshotPolicy.cs b/sdk/dotnet/Ebs/EnterpriseSnapshotPolicy.cs index 5eead0d009..edfc68e371 100644 --- a/sdk/dotnet/Ebs/EnterpriseSnapshotPolicy.cs +++ b/sdk/dotnet/Ebs/EnterpriseSnapshotPolicy.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EBS Enterprise Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/EnterpriseSnapshotPolicyAttachment.cs b/sdk/dotnet/Ebs/EnterpriseSnapshotPolicyAttachment.cs index cc86780a5d..aad0c8d985 100644 --- a/sdk/dotnet/Ebs/EnterpriseSnapshotPolicyAttachment.cs +++ b/sdk/dotnet/Ebs/EnterpriseSnapshotPolicyAttachment.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/ReplicaGroupDrill.cs b/sdk/dotnet/Ebs/ReplicaGroupDrill.cs index 6273c94680..437e9e0aa6 100644 --- a/sdk/dotnet/Ebs/ReplicaGroupDrill.cs +++ b/sdk/dotnet/Ebs/ReplicaGroupDrill.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EBS Replica Group Drill can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/ReplicaPairDrill.cs b/sdk/dotnet/Ebs/ReplicaPairDrill.cs index 1e5e67419c..2030907675 100644 --- a/sdk/dotnet/Ebs/ReplicaPairDrill.cs +++ b/sdk/dotnet/Ebs/ReplicaPairDrill.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EBS Replica Pair Drill can be imported using the id, e.g. diff --git a/sdk/dotnet/Ebs/SolutionInstance.cs b/sdk/dotnet/Ebs/SolutionInstance.cs index 785024ff82..3ba9cefbbf 100644 --- a/sdk/dotnet/Ebs/SolutionInstance.cs +++ b/sdk/dotnet/Ebs/SolutionInstance.cs @@ -123,6 +123,8 @@ namespace Pulumi.AliCloud.Ebs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EBS Solution Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Eci/ContainerGroup.cs b/sdk/dotnet/Eci/ContainerGroup.cs index dfed1d0c5a..5523994ba4 100644 --- a/sdk/dotnet/Eci/ContainerGroup.cs +++ b/sdk/dotnet/Eci/ContainerGroup.cs @@ -184,6 +184,8 @@ namespace Pulumi.AliCloud.Eci /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECI Container Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Eci/ImageCache.cs b/sdk/dotnet/Eci/ImageCache.cs index 6cb6cb713e..c2cc5009ec 100644 --- a/sdk/dotnet/Eci/ImageCache.cs +++ b/sdk/dotnet/Eci/ImageCache.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Eci /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECI Image Cache can be imported using the id, e.g. diff --git a/sdk/dotnet/Eci/VirtualNode.cs b/sdk/dotnet/Eci/VirtualNode.cs index adc29bb561..3a8132b9e2 100644 --- a/sdk/dotnet/Eci/VirtualNode.cs +++ b/sdk/dotnet/Eci/VirtualNode.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Eci /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECI Virtual Node can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecp/Instance.cs b/sdk/dotnet/Ecp/Instance.cs index 01a15f367a..7a36559415 100644 --- a/sdk/dotnet/Ecp/Instance.cs +++ b/sdk/dotnet/Ecp/Instance.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.Ecp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecp/KeyPair.cs b/sdk/dotnet/Ecp/KeyPair.cs index d2c4fc0399..7ca2b28bad 100644 --- a/sdk/dotnet/Ecp/KeyPair.cs +++ b/sdk/dotnet/Ecp/KeyPair.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Ecp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Activation.cs b/sdk/dotnet/Ecs/Activation.cs index 8dd702969e..ad8310b5ec 100644 --- a/sdk/dotnet/Ecs/Activation.cs +++ b/sdk/dotnet/Ecs/Activation.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Activation can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/AutoProvisioningGroup.cs b/sdk/dotnet/Ecs/AutoProvisioningGroup.cs index dde348723c..a8daa2722d 100644 --- a/sdk/dotnet/Ecs/AutoProvisioningGroup.cs +++ b/sdk/dotnet/Ecs/AutoProvisioningGroup.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS auto provisioning group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/AutoSnapshotPolicy.cs b/sdk/dotnet/Ecs/AutoSnapshotPolicy.cs index 166bcc64ba..2913f942f0 100644 --- a/sdk/dotnet/Ecs/AutoSnapshotPolicy.cs +++ b/sdk/dotnet/Ecs/AutoSnapshotPolicy.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/CapacityReservation.cs b/sdk/dotnet/Ecs/CapacityReservation.cs index c2261a0487..18ed71b760 100644 --- a/sdk/dotnet/Ecs/CapacityReservation.cs +++ b/sdk/dotnet/Ecs/CapacityReservation.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ecs Capacity Reservation can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Command.cs b/sdk/dotnet/Ecs/Command.cs index 965d382d95..e1e14be20b 100644 --- a/sdk/dotnet/Ecs/Command.cs +++ b/sdk/dotnet/Ecs/Command.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Command can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Disk.cs b/sdk/dotnet/Ecs/Disk.cs index d3a739c04b..bd4cdfe876 100644 --- a/sdk/dotnet/Ecs/Disk.cs +++ b/sdk/dotnet/Ecs/Disk.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud disk can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/DiskAttachment.cs b/sdk/dotnet/Ecs/DiskAttachment.cs index 0e197dd325..d59d030585 100644 --- a/sdk/dotnet/Ecs/DiskAttachment.cs +++ b/sdk/dotnet/Ecs/DiskAttachment.cs @@ -69,6 +69,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The disk attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsAutoSnapshotPolicyAttachment.cs b/sdk/dotnet/Ecs/EcsAutoSnapshotPolicyAttachment.cs index 5748bfb991..ebb300291c 100644 --- a/sdk/dotnet/Ecs/EcsAutoSnapshotPolicyAttachment.cs +++ b/sdk/dotnet/Ecs/EcsAutoSnapshotPolicyAttachment.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsDedicatedHostCluster.cs b/sdk/dotnet/Ecs/EcsDedicatedHostCluster.cs index de88eddbd0..bf0e35c6a7 100644 --- a/sdk/dotnet/Ecs/EcsDedicatedHostCluster.cs +++ b/sdk/dotnet/Ecs/EcsDedicatedHostCluster.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Dedicated Host Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsDeploymentSet.cs b/sdk/dotnet/Ecs/EcsDeploymentSet.cs index 10aef5dbb6..1014e0e649 100644 --- a/sdk/dotnet/Ecs/EcsDeploymentSet.cs +++ b/sdk/dotnet/Ecs/EcsDeploymentSet.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Deployment Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsDiskAttachment.cs b/sdk/dotnet/Ecs/EcsDiskAttachment.cs index 53090a64d9..0f7fee4338 100644 --- a/sdk/dotnet/Ecs/EcsDiskAttachment.cs +++ b/sdk/dotnet/Ecs/EcsDiskAttachment.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The disk attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsImageComponent.cs b/sdk/dotnet/Ecs/EcsImageComponent.cs index fdd1f3ff7f..211c86d9e3 100644 --- a/sdk/dotnet/Ecs/EcsImageComponent.cs +++ b/sdk/dotnet/Ecs/EcsImageComponent.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Image Component can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsImagePipeline.cs b/sdk/dotnet/Ecs/EcsImagePipeline.cs index 96eaa61b79..5161f2ed07 100644 --- a/sdk/dotnet/Ecs/EcsImagePipeline.cs +++ b/sdk/dotnet/Ecs/EcsImagePipeline.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Image Pipeline can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsInstanceSet.cs b/sdk/dotnet/Ecs/EcsInstanceSet.cs index 6a4fa256b5..b762eba834 100644 --- a/sdk/dotnet/Ecs/EcsInstanceSet.cs +++ b/sdk/dotnet/Ecs/EcsInstanceSet.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Ecs /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ecs/ecsInstanceSet:EcsInstanceSet")] public partial class EcsInstanceSet : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ecs/EcsInvocation.cs b/sdk/dotnet/Ecs/EcsInvocation.cs index 306bf31105..9301798f2c 100644 --- a/sdk/dotnet/Ecs/EcsInvocation.cs +++ b/sdk/dotnet/Ecs/EcsInvocation.cs @@ -120,6 +120,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Invocation can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsKeyPair.cs b/sdk/dotnet/Ecs/EcsKeyPair.cs index cbb0aedd36..412f07d6a9 100644 --- a/sdk/dotnet/Ecs/EcsKeyPair.cs +++ b/sdk/dotnet/Ecs/EcsKeyPair.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Key Pair can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsKeyPairAttachment.cs b/sdk/dotnet/Ecs/EcsKeyPairAttachment.cs index 0afcd697f6..08a09fec98 100644 --- a/sdk/dotnet/Ecs/EcsKeyPairAttachment.cs +++ b/sdk/dotnet/Ecs/EcsKeyPairAttachment.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Key Pair Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsLaunchTemplate.cs b/sdk/dotnet/Ecs/EcsLaunchTemplate.cs index 7967c59469..f929a91047 100644 --- a/sdk/dotnet/Ecs/EcsLaunchTemplate.cs +++ b/sdk/dotnet/Ecs/EcsLaunchTemplate.cs @@ -141,6 +141,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Launch Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsNetworkInterface.cs b/sdk/dotnet/Ecs/EcsNetworkInterface.cs index 00c8410bc5..4e36708ae3 100644 --- a/sdk/dotnet/Ecs/EcsNetworkInterface.cs +++ b/sdk/dotnet/Ecs/EcsNetworkInterface.cs @@ -83,6 +83,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Network Interface can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsNetworkInterfaceAttachment.cs b/sdk/dotnet/Ecs/EcsNetworkInterfaceAttachment.cs index 119ac65044..9434013567 100644 --- a/sdk/dotnet/Ecs/EcsNetworkInterfaceAttachment.cs +++ b/sdk/dotnet/Ecs/EcsNetworkInterfaceAttachment.cs @@ -115,6 +115,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Network Interface Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsNetworkInterfacePermission.cs b/sdk/dotnet/Ecs/EcsNetworkInterfacePermission.cs index d59f63b17b..301bbea7b7 100644 --- a/sdk/dotnet/Ecs/EcsNetworkInterfacePermission.cs +++ b/sdk/dotnet/Ecs/EcsNetworkInterfacePermission.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Network Interface Permission can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsPrefixList.cs b/sdk/dotnet/Ecs/EcsPrefixList.cs index cbf5770c1c..b6f6bc1106 100644 --- a/sdk/dotnet/Ecs/EcsPrefixList.cs +++ b/sdk/dotnet/Ecs/EcsPrefixList.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Prefix List can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsSessionManagerStatus.cs b/sdk/dotnet/Ecs/EcsSessionManagerStatus.cs index 2651f10bcc..194f8d48c6 100644 --- a/sdk/dotnet/Ecs/EcsSessionManagerStatus.cs +++ b/sdk/dotnet/Ecs/EcsSessionManagerStatus.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Session Manager Status can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsSnapshot.cs b/sdk/dotnet/Ecs/EcsSnapshot.cs index 3be208be27..9384ce220d 100644 --- a/sdk/dotnet/Ecs/EcsSnapshot.cs +++ b/sdk/dotnet/Ecs/EcsSnapshot.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EcsSnapshotGroup.cs b/sdk/dotnet/Ecs/EcsSnapshotGroup.cs index 017ac12bdd..cf65d96c71 100644 --- a/sdk/dotnet/Ecs/EcsSnapshotGroup.cs +++ b/sdk/dotnet/Ecs/EcsSnapshotGroup.cs @@ -117,6 +117,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Snapshot Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Eip.cs b/sdk/dotnet/Ecs/Eip.cs index 32766e7c80..59b3ccd4c9 100644 --- a/sdk/dotnet/Ecs/Eip.cs +++ b/sdk/dotnet/Ecs/Eip.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing eip module diff --git a/sdk/dotnet/Ecs/EipAssociation.cs b/sdk/dotnet/Ecs/EipAssociation.cs index 7a8c6282aa..3044f5f48a 100644 --- a/sdk/dotnet/Ecs/EipAssociation.cs +++ b/sdk/dotnet/Ecs/EipAssociation.cs @@ -107,6 +107,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EIP Association can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/EipSegmentAddress.cs b/sdk/dotnet/Ecs/EipSegmentAddress.cs index 34a7d66268..c08af630b2 100644 --- a/sdk/dotnet/Ecs/EipSegmentAddress.cs +++ b/sdk/dotnet/Ecs/EipSegmentAddress.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EIP Segment Address can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/ElasticityAssurance.cs b/sdk/dotnet/Ecs/ElasticityAssurance.cs index d3e399fbc7..e021a1a9c7 100644 --- a/sdk/dotnet/Ecs/ElasticityAssurance.cs +++ b/sdk/dotnet/Ecs/ElasticityAssurance.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Elasticity Assurance can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/HpcCluster.cs b/sdk/dotnet/Ecs/HpcCluster.cs index 38040efbff..71470c1e9e 100644 --- a/sdk/dotnet/Ecs/HpcCluster.cs +++ b/sdk/dotnet/Ecs/HpcCluster.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Hpc Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Image.cs b/sdk/dotnet/Ecs/Image.cs index e89a7a091f..fb047cdcf1 100644 --- a/sdk/dotnet/Ecs/Image.cs +++ b/sdk/dotnet/Ecs/Image.cs @@ -109,6 +109,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Image can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/ImageCopy.cs b/sdk/dotnet/Ecs/ImageCopy.cs index c2b656f8c1..ce225e82f5 100644 --- a/sdk/dotnet/Ecs/ImageCopy.cs +++ b/sdk/dotnet/Ecs/ImageCopy.cs @@ -102,6 +102,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Attributes Reference0 /// /// The following attributes are exported: diff --git a/sdk/dotnet/Ecs/ImageExport.cs b/sdk/dotnet/Ecs/ImageExport.cs index afccca644a..375f324d25 100644 --- a/sdk/dotnet/Ecs/ImageExport.cs +++ b/sdk/dotnet/Ecs/ImageExport.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Ecs /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ecs/imageExport:ImageExport")] public partial class ImageExport : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ecs/ImageImport.cs b/sdk/dotnet/Ecs/ImageImport.cs index b516e9c4e5..4e65fecc17 100644 --- a/sdk/dotnet/Ecs/ImageImport.cs +++ b/sdk/dotnet/Ecs/ImageImport.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Image Import can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/ImageSharePermission.cs b/sdk/dotnet/Ecs/ImageSharePermission.cs index 91ef30601b..3f60b8edb8 100644 --- a/sdk/dotnet/Ecs/ImageSharePermission.cs +++ b/sdk/dotnet/Ecs/ImageSharePermission.cs @@ -105,6 +105,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Attributes Reference0 /// /// The following attributes are exported: diff --git a/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsArgs.cs b/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsArgs.cs new file mode 100644 index 0000000000..a3e7a1918b --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ecs.Inputs +{ + + public sealed class InstanceCpuOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of partitions in the storage set. + /// + [Input("coreCount")] + public Input? CoreCount { get; set; } + + /// + /// The number of threads per CPU core. + /// + [Input("threadsPerCore")] + public Input? ThreadsPerCore { get; set; } + + /// + /// The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + /// + [Input("topologyType")] + public Input? TopologyType { get; set; } + + public InstanceCpuOptionsArgs() + { + } + public static new InstanceCpuOptionsArgs Empty => new InstanceCpuOptionsArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsGetArgs.cs b/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsGetArgs.cs new file mode 100644 index 0000000000..dca7f284f2 --- /dev/null +++ b/sdk/dotnet/Ecs/Inputs/InstanceCpuOptionsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ecs.Inputs +{ + + public sealed class InstanceCpuOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of partitions in the storage set. + /// + [Input("coreCount")] + public Input? CoreCount { get; set; } + + /// + /// The number of threads per CPU core. + /// + [Input("threadsPerCore")] + public Input? ThreadsPerCore { get; set; } + + /// + /// The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + /// + [Input("topologyType")] + public Input? TopologyType { get; set; } + + public InstanceCpuOptionsGetArgs() + { + } + public static new InstanceCpuOptionsGetArgs Empty => new InstanceCpuOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Instance.cs b/sdk/dotnet/Ecs/Instance.cs index 0d7fe26b57..d1025057d2 100644 --- a/sdk/dotnet/Ecs/Instance.cs +++ b/sdk/dotnet/Ecs/Instance.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing ecs-instance module @@ -149,6 +151,26 @@ public partial class Instance : global::Pulumi.CustomResource [Output("cpu")] public Output Cpu { get; private set; } = null!; + /// + /// The options of cpu. See `CpuOptions` below. + /// + /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. + /// + /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. + /// + /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + /// + /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + /// + /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + /// + /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + /// + [Output("cpuOptions")] + public Output CpuOptions { get; private set; } = null!; + /// /// (Available since v1.232.0) The time when the instance was created. /// @@ -265,20 +287,6 @@ public partial class Instance : global::Pulumi.CustomResource /// /// The options of images. See `ImageOptions` below. - /// - /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. - /// - /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. - /// - /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - /// - /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - /// - /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - /// - /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. /// [Output("imageOptions")] public Output ImageOptions { get; private set; } = null!; @@ -803,6 +811,26 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } + /// + /// The options of cpu. See `CpuOptions` below. + /// + /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. + /// + /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. + /// + /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + /// + /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + /// + /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + /// + /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + /// + [Input("cpuOptions")] + public Input? CpuOptions { get; set; } + /// /// Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. /// @@ -907,20 +935,6 @@ public InputList DataDisks /// /// The options of images. See `ImageOptions` below. - /// - /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. - /// - /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. - /// - /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - /// - /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - /// - /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - /// - /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. /// [Input("imageOptions")] public Input? ImageOptions { get; set; } @@ -1407,6 +1421,26 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("cpu")] public Input? Cpu { get; set; } + /// + /// The options of cpu. See `CpuOptions` below. + /// + /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. + /// + /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. + /// + /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + /// + /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + /// + /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + /// + /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + /// + [Input("cpuOptions")] + public Input? CpuOptions { get; set; } + /// /// (Available since v1.232.0) The time when the instance was created. /// @@ -1529,20 +1563,6 @@ public InputList DataDisks /// /// The options of images. See `ImageOptions` below. - /// - /// > **NOTE:** System disk category `Cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `CloudEfficiency` and `CloudSsd` disk. - /// - /// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `Period` and `PeriodUnit`, but it is irreversible. - /// - /// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - /// - /// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - /// - /// > **NOTE:** From version 1.7.0, setting "InternetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - /// Setting "InternetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - /// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - /// - /// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. /// [Input("imageOptions")] public Input? ImageOptions { get; set; } diff --git a/sdk/dotnet/Ecs/KeyPair.cs b/sdk/dotnet/Ecs/KeyPair.cs index e6d856836d..e54dd993e1 100644 --- a/sdk/dotnet/Ecs/KeyPair.cs +++ b/sdk/dotnet/Ecs/KeyPair.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Key pair can be imported using the name, e.g. diff --git a/sdk/dotnet/Ecs/LaunchTemplate.cs b/sdk/dotnet/Ecs/LaunchTemplate.cs index a9be6e27fe..bffc76319a 100644 --- a/sdk/dotnet/Ecs/LaunchTemplate.cs +++ b/sdk/dotnet/Ecs/LaunchTemplate.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Launch Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/Outputs/InstanceCpuOptions.cs b/sdk/dotnet/Ecs/Outputs/InstanceCpuOptions.cs new file mode 100644 index 0000000000..6bf6ca0816 --- /dev/null +++ b/sdk/dotnet/Ecs/Outputs/InstanceCpuOptions.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ecs.Outputs +{ + + [OutputType] + public sealed class InstanceCpuOptions + { + /// + /// The maximum number of partitions in the storage set. + /// + public readonly int? CoreCount; + /// + /// The number of threads per CPU core. + /// + public readonly int? ThreadsPerCore; + /// + /// The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + /// + public readonly string? TopologyType; + + [OutputConstructor] + private InstanceCpuOptions( + int? coreCount, + + int? threadsPerCore, + + string? topologyType) + { + CoreCount = coreCount; + ThreadsPerCore = threadsPerCore; + TopologyType = topologyType; + } + } +} diff --git a/sdk/dotnet/Ecs/RamRoleAttachment.cs b/sdk/dotnet/Ecs/RamRoleAttachment.cs index 962a5e3e32..7cf1223dbf 100644 --- a/sdk/dotnet/Ecs/RamRoleAttachment.cs +++ b/sdk/dotnet/Ecs/RamRoleAttachment.cs @@ -123,6 +123,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Ram Role Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/ReservedInstance.cs b/sdk/dotnet/Ecs/ReservedInstance.cs index 2ebcd5145f..2412d9e14a 100644 --- a/sdk/dotnet/Ecs/ReservedInstance.cs +++ b/sdk/dotnet/Ecs/ReservedInstance.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// reservedInstance can be imported using id, e.g. diff --git a/sdk/dotnet/Ecs/SecurityGroup.cs b/sdk/dotnet/Ecs/SecurityGroup.cs index f08617c71e..43413d0568 100644 --- a/sdk/dotnet/Ecs/SecurityGroup.cs +++ b/sdk/dotnet/Ecs/SecurityGroup.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing security-group module diff --git a/sdk/dotnet/Ecs/SecurityGroupRule.cs b/sdk/dotnet/Ecs/SecurityGroupRule.cs index e8bf93ecbd..5235542f8d 100644 --- a/sdk/dotnet/Ecs/SecurityGroupRule.cs +++ b/sdk/dotnet/Ecs/SecurityGroupRule.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing security-group module diff --git a/sdk/dotnet/Ecs/Snapshot.cs b/sdk/dotnet/Ecs/Snapshot.cs index 1177ef5496..032744134a 100644 --- a/sdk/dotnet/Ecs/Snapshot.cs +++ b/sdk/dotnet/Ecs/Snapshot.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/SnapshotPolicy.cs b/sdk/dotnet/Ecs/SnapshotPolicy.cs index 72a8eb1451..4547f609fb 100644 --- a/sdk/dotnet/Ecs/SnapshotPolicy.cs +++ b/sdk/dotnet/Ecs/SnapshotPolicy.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Ecs/StorageCapacityUnit.cs b/sdk/dotnet/Ecs/StorageCapacityUnit.cs index 15bb4c86b9..e5163a7b61 100644 --- a/sdk/dotnet/Ecs/StorageCapacityUnit.cs +++ b/sdk/dotnet/Ecs/StorageCapacityUnit.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Ecs /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECS Storage Capacity Unit can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/Application.cs b/sdk/dotnet/Edas/Application.cs index 718cb1982c..ba87ba2272 100644 --- a/sdk/dotnet/Edas/Application.cs +++ b/sdk/dotnet/Edas/Application.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS application can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/ApplicationDeployment.cs b/sdk/dotnet/Edas/ApplicationDeployment.cs index 23586db1f9..037d7bc0e9 100644 --- a/sdk/dotnet/Edas/ApplicationDeployment.cs +++ b/sdk/dotnet/Edas/ApplicationDeployment.cs @@ -123,6 +123,8 @@ namespace Pulumi.AliCloud.Edas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:edas/applicationDeployment:ApplicationDeployment")] public partial class ApplicationDeployment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Edas/ApplicationScale.cs b/sdk/dotnet/Edas/ApplicationScale.cs index 8cccd4d9dc..c1b063d0fe 100644 --- a/sdk/dotnet/Edas/ApplicationScale.cs +++ b/sdk/dotnet/Edas/ApplicationScale.cs @@ -140,6 +140,8 @@ namespace Pulumi.AliCloud.Edas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:edas/applicationScale:ApplicationScale")] public partial class ApplicationScale : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Edas/Cluster.cs b/sdk/dotnet/Edas/Cluster.cs index 2b6e890305..c52eb7368f 100644 --- a/sdk/dotnet/Edas/Cluster.cs +++ b/sdk/dotnet/Edas/Cluster.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/DeployGroup.cs b/sdk/dotnet/Edas/DeployGroup.cs index 00fac82e06..40afd77971 100644 --- a/sdk/dotnet/Edas/DeployGroup.cs +++ b/sdk/dotnet/Edas/DeployGroup.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS deploy group can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/InstanceClusterAttachment.cs b/sdk/dotnet/Edas/InstanceClusterAttachment.cs index d4ae4945e3..dd27d57f69 100644 --- a/sdk/dotnet/Edas/InstanceClusterAttachment.cs +++ b/sdk/dotnet/Edas/InstanceClusterAttachment.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Edas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:edas/instanceClusterAttachment:InstanceClusterAttachment")] public partial class InstanceClusterAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Edas/K8sApplication.cs b/sdk/dotnet/Edas/K8sApplication.cs index a0529f4957..f7eb2c350c 100644 --- a/sdk/dotnet/Edas/K8sApplication.cs +++ b/sdk/dotnet/Edas/K8sApplication.cs @@ -125,6 +125,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS k8s application can be imported as below, e.g. diff --git a/sdk/dotnet/Edas/K8sCluster.cs b/sdk/dotnet/Edas/K8sCluster.cs index 4aa4c12493..83e833dc21 100644 --- a/sdk/dotnet/Edas/K8sCluster.cs +++ b/sdk/dotnet/Edas/K8sCluster.cs @@ -112,6 +112,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/K8sSlbAttachment.cs b/sdk/dotnet/Edas/K8sSlbAttachment.cs index 98412281c6..c099002192 100644 --- a/sdk/dotnet/Edas/K8sSlbAttachment.cs +++ b/sdk/dotnet/Edas/K8sSlbAttachment.cs @@ -153,6 +153,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. diff --git a/sdk/dotnet/Edas/Namespace.cs b/sdk/dotnet/Edas/Namespace.cs index 8ddf6c6559..808fcb98fd 100644 --- a/sdk/dotnet/Edas/Namespace.cs +++ b/sdk/dotnet/Edas/Namespace.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Edas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EDAS Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Edas/SlbAttachment.cs b/sdk/dotnet/Edas/SlbAttachment.cs index 1aa6012fe6..7f78e96443 100644 --- a/sdk/dotnet/Edas/SlbAttachment.cs +++ b/sdk/dotnet/Edas/SlbAttachment.cs @@ -130,6 +130,8 @@ namespace Pulumi.AliCloud.Edas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:edas/slbAttachment:SlbAttachment")] public partial class SlbAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Eds/AdConnectorDirectory.cs b/sdk/dotnet/Eds/AdConnectorDirectory.cs index 0d2b840c9f..f04758a32d 100644 --- a/sdk/dotnet/Eds/AdConnectorDirectory.cs +++ b/sdk/dotnet/Eds/AdConnectorDirectory.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Ad Connector Directory can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/AdConnectorOfficeSite.cs b/sdk/dotnet/Eds/AdConnectorOfficeSite.cs index 6fdbce610c..162a0820c4 100644 --- a/sdk/dotnet/Eds/AdConnectorOfficeSite.cs +++ b/sdk/dotnet/Eds/AdConnectorOfficeSite.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Ad Connector Office Site can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/Bundle.cs b/sdk/dotnet/Eds/Bundle.cs index 9ba2113187..8a8b75f922 100644 --- a/sdk/dotnet/Eds/Bundle.cs +++ b/sdk/dotnet/Eds/Bundle.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Bundle can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/Command.cs b/sdk/dotnet/Eds/Command.cs index 451b922aaf..a8a41f84e6 100644 --- a/sdk/dotnet/Eds/Command.cs +++ b/sdk/dotnet/Eds/Command.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Command can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/CustomProperty.cs b/sdk/dotnet/Eds/CustomProperty.cs index 4ce6582345..50427a0e77 100644 --- a/sdk/dotnet/Eds/CustomProperty.cs +++ b/sdk/dotnet/Eds/CustomProperty.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Custom Property can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/Desktop.cs b/sdk/dotnet/Eds/Desktop.cs index c95aaa6ace..de3e8ecac4 100644 --- a/sdk/dotnet/Eds/Desktop.cs +++ b/sdk/dotnet/Eds/Desktop.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Desktop can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/EcdPolicyGroup.cs b/sdk/dotnet/Eds/EcdPolicyGroup.cs index 96f05456c3..7939739ce1 100644 --- a/sdk/dotnet/Eds/EcdPolicyGroup.cs +++ b/sdk/dotnet/Eds/EcdPolicyGroup.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/Image.cs b/sdk/dotnet/Eds/Image.cs index e958d1d207..5d1d8187b6 100644 --- a/sdk/dotnet/Eds/Image.cs +++ b/sdk/dotnet/Eds/Image.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Image can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/NasFileSystem.cs b/sdk/dotnet/Eds/NasFileSystem.cs index 024b667946..728781e2f3 100644 --- a/sdk/dotnet/Eds/NasFileSystem.cs +++ b/sdk/dotnet/Eds/NasFileSystem.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Nas File System can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/NetworkPackage.cs b/sdk/dotnet/Eds/NetworkPackage.cs index 663f60440a..767d4e5f83 100644 --- a/sdk/dotnet/Eds/NetworkPackage.cs +++ b/sdk/dotnet/Eds/NetworkPackage.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Network Package can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/RamDirectory.cs b/sdk/dotnet/Eds/RamDirectory.cs index cd2d541cff..7cb9618343 100644 --- a/sdk/dotnet/Eds/RamDirectory.cs +++ b/sdk/dotnet/Eds/RamDirectory.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Ram Directory can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/SimpleOfficeSite.cs b/sdk/dotnet/Eds/SimpleOfficeSite.cs index fde854d7ab..765c9e0840 100644 --- a/sdk/dotnet/Eds/SimpleOfficeSite.cs +++ b/sdk/dotnet/Eds/SimpleOfficeSite.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Simple Office Site can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/Snapshot.cs b/sdk/dotnet/Eds/Snapshot.cs index 81916f647f..0394dee135 100644 --- a/sdk/dotnet/Eds/Snapshot.cs +++ b/sdk/dotnet/Eds/Snapshot.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Eds/User.cs b/sdk/dotnet/Eds/User.cs index c87465759c..693a99db2b 100644 --- a/sdk/dotnet/Eds/User.cs +++ b/sdk/dotnet/Eds/User.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Eds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ECD User can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/Cluster.cs b/sdk/dotnet/Eflo/Cluster.cs index 8a42600b9b..40a14891b0 100644 --- a/sdk/dotnet/Eflo/Cluster.cs +++ b/sdk/dotnet/Eflo/Cluster.cs @@ -167,6 +167,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/Er.cs b/sdk/dotnet/Eflo/Er.cs index deb7595da7..7c60272bfc 100644 --- a/sdk/dotnet/Eflo/Er.cs +++ b/sdk/dotnet/Eflo/Er.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Er can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/ExperimentPlan.cs b/sdk/dotnet/Eflo/ExperimentPlan.cs index 6abd670903..c42d52766d 100644 --- a/sdk/dotnet/Eflo/ExperimentPlan.cs +++ b/sdk/dotnet/Eflo/ExperimentPlan.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Experiment Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/ExperimentPlanTemplate.cs b/sdk/dotnet/Eflo/ExperimentPlanTemplate.cs index 05e59e4467..f31dece641 100644 --- a/sdk/dotnet/Eflo/ExperimentPlanTemplate.cs +++ b/sdk/dotnet/Eflo/ExperimentPlanTemplate.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Experiment Plan Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/HyperNode.cs b/sdk/dotnet/Eflo/HyperNode.cs index d87633af1b..88067b8cc0 100644 --- a/sdk/dotnet/Eflo/HyperNode.cs +++ b/sdk/dotnet/Eflo/HyperNode.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Hyper Node can be imported using the id, e.g. @@ -64,24 +66,51 @@ namespace Pulumi.AliCloud.Eflo [AliCloudResourceType("alicloud:eflo/hyperNode:HyperNode")] public partial class HyperNode : global::Pulumi.CustomResource { + /// + /// Cluster ID + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + /// /// The creation time of the resource /// [Output("createTime")] public Output CreateTime { get; private set; } = null!; + [Output("dataDisks")] + public Output> DataDisks { get; private set; } = null!; + /// - /// Number of the cluster to which the supercompute node belongs + /// The host name prefix of the sub computing node + /// + [Output("hostname")] + public Output Hostname { get; private set; } = null!; + + /// + /// Number of the cluster to which the hyper computing node belongs /// [Output("hpnZone")] public Output HpnZone { get; private set; } = null!; /// - /// The model used by the super computing node + /// Login Password of the sub computing node + /// + [Output("loginPassword")] + public Output LoginPassword { get; private set; } = null!; + + /// + /// The model used by the hyper computing node /// [Output("machineType")] public Output MachineType { get; private set; } = null!; + /// + /// Node group ID + /// + [Output("nodeGroupId")] + public Output NodeGroupId { get; private set; } = null!; + /// /// The duration of the instance purchase, in units. /// @@ -121,13 +150,13 @@ public partial class HyperNode : global::Pulumi.CustomResource public Output ResourceGroupId { get; private set; } = null!; /// - /// Super Node Architecture + /// Hyper Node Architecture /// [Output("serverArch")] public Output ServerArch { get; private set; } = null!; /// - /// The number of installments of the supercomputing node of the fixed fee installment. + /// The number of installments of the hyper computing node of the fixed fee installment. /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -147,7 +176,25 @@ public partial class HyperNode : global::Pulumi.CustomResource public Output?> Tags { get; private set; } = null!; /// - /// The zone where the super compute node is located + /// Custom user data for the sub computing node + /// + [Output("userData")] + public Output UserData { get; private set; } = null!; + + /// + /// The ID of the vpc to which the sub computing node + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// The ID of the vswitch to which the sub computing node + /// + [Output("vswitchId")] + public Output VswitchId { get; private set; } = null!; + + /// + /// The zone where the hyper compute node is located /// [Output("zoneId")] public Output ZoneId { get; private set; } = null!; @@ -175,6 +222,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "loginPassword", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -199,17 +250,59 @@ public static HyperNode Get(string name, Input id, HyperNodeState? state public sealed class HyperNodeArgs : global::Pulumi.ResourceArgs { /// - /// Number of the cluster to which the supercompute node belongs + /// Cluster ID + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + [Input("dataDisks")] + private InputList? _dataDisks; + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// The host name prefix of the sub computing node + /// + [Input("hostname")] + public Input? Hostname { get; set; } + + /// + /// Number of the cluster to which the hyper computing node belongs /// [Input("hpnZone")] public Input? HpnZone { get; set; } + [Input("loginPassword")] + private Input? _loginPassword; + + /// + /// Login Password of the sub computing node + /// + public Input? LoginPassword + { + get => _loginPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _loginPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// - /// The model used by the super computing node + /// The model used by the hyper computing node /// [Input("machineType")] public Input? MachineType { get; set; } + /// + /// Node group ID + /// + [Input("nodeGroupId")] + public Input? NodeGroupId { get; set; } + /// /// The duration of the instance purchase, in units. /// @@ -243,13 +336,13 @@ public sealed class HyperNodeArgs : global::Pulumi.ResourceArgs public Input? ResourceGroupId { get; set; } /// - /// Super Node Architecture + /// Hyper Node Architecture /// [Input("serverArch")] public Input? ServerArch { get; set; } /// - /// The number of installments of the supercomputing node of the fixed fee installment. + /// The number of installments of the hyper computing node of the fixed fee installment. /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -269,7 +362,25 @@ public InputMap Tags } /// - /// The zone where the super compute node is located + /// Custom user data for the sub computing node + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// The ID of the vpc to which the sub computing node + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The ID of the vswitch to which the sub computing node + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + /// + /// The zone where the hyper compute node is located /// [Input("zoneId")] public Input? ZoneId { get; set; } @@ -282,24 +393,66 @@ public HyperNodeArgs() public sealed class HyperNodeState : global::Pulumi.ResourceArgs { + /// + /// Cluster ID + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + /// /// The creation time of the resource /// [Input("createTime")] public Input? CreateTime { get; set; } + [Input("dataDisks")] + private InputList? _dataDisks; + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// The host name prefix of the sub computing node + /// + [Input("hostname")] + public Input? Hostname { get; set; } + /// - /// Number of the cluster to which the supercompute node belongs + /// Number of the cluster to which the hyper computing node belongs /// [Input("hpnZone")] public Input? HpnZone { get; set; } + [Input("loginPassword")] + private Input? _loginPassword; + + /// + /// Login Password of the sub computing node + /// + public Input? LoginPassword + { + get => _loginPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _loginPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// - /// The model used by the super computing node + /// The model used by the hyper computing node /// [Input("machineType")] public Input? MachineType { get; set; } + /// + /// Node group ID + /// + [Input("nodeGroupId")] + public Input? NodeGroupId { get; set; } + /// /// The duration of the instance purchase, in units. /// @@ -339,13 +492,13 @@ public sealed class HyperNodeState : global::Pulumi.ResourceArgs public Input? ResourceGroupId { get; set; } /// - /// Super Node Architecture + /// Hyper Node Architecture /// [Input("serverArch")] public Input? ServerArch { get; set; } /// - /// The number of installments of the supercomputing node of the fixed fee installment. + /// The number of installments of the hyper computing node of the fixed fee installment. /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -371,7 +524,25 @@ public InputMap Tags } /// - /// The zone where the super compute node is located + /// Custom user data for the sub computing node + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// The ID of the vpc to which the sub computing node + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The ID of the vswitch to which the sub computing node + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + /// + /// The zone where the hyper compute node is located /// [Input("zoneId")] public Input? ZoneId { get; set; } diff --git a/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskArgs.cs b/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskArgs.cs new file mode 100644 index 0000000000..5e068d8442 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class HyperNodeDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Burst (performance Burst). + /// + [Input("burstingEnabled")] + public Input? BurstingEnabled { get; set; } + + /// + /// The disk type. Value range: + /// - cloud_essd:ESSD cloud disk. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Whether the data disk is unsubscribed and deleted with the node. + /// + [Input("deleteWithNode")] + public Input? DeleteWithNode { get; set; } + + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1: maximum random read/write IOPS 50000 for a single disk. + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + /// + [Input("provisionedIops")] + public Input? ProvisionedIops { get; set; } + + /// + /// The size of the disk. The unit is GiB. + /// + [Input("size")] + public Input? Size { get; set; } + + public HyperNodeDataDiskArgs() + { + } + public static new HyperNodeDataDiskArgs Empty => new HyperNodeDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskGetArgs.cs b/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskGetArgs.cs new file mode 100644 index 0000000000..0766d28cec --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/HyperNodeDataDiskGetArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class HyperNodeDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable Burst (performance Burst). + /// + [Input("burstingEnabled")] + public Input? BurstingEnabled { get; set; } + + /// + /// The disk type. Value range: + /// - cloud_essd:ESSD cloud disk. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Whether the data disk is unsubscribed and deleted with the node. + /// + [Input("deleteWithNode")] + public Input? DeleteWithNode { get; set; } + + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1: maximum random read/write IOPS 50000 for a single disk. + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + /// + [Input("provisionedIops")] + public Input? ProvisionedIops { get; set; } + + /// + /// The size of the disk. The unit is GiB. + /// + [Input("size")] + public Input? Size { get; set; } + + public HyperNodeDataDiskGetArgs() + { + } + public static new HyperNodeDataDiskGetArgs Empty => new HyperNodeDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeDataDiskArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeDataDiskArgs.cs new file mode 100644 index 0000000000..52f2067946 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeDataDiskArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Data disk type + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Performance level + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// Data disk size + /// + [Input("size")] + public Input? Size { get; set; } + + public NodeDataDiskArgs() + { + } + public static new NodeDataDiskArgs Empty => new NodeDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeDataDiskGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeDataDiskGetArgs.cs new file mode 100644 index 0000000000..87130f1c03 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeDataDiskGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Data disk type + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Performance level + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// Data disk size + /// + [Input("size")] + public Input? Size { get; set; } + + public NodeDataDiskGetArgs() + { + } + public static new NodeDataDiskGetArgs Empty => new NodeDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyArgs.cs new file mode 100644 index 0000000000..4993259392 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify the cluster subnet ID based on the bond name See `BondPolicy` below. + /// + [Input("bondPolicy")] + public Input? BondPolicy { get; set; } + + [Input("machineTypePolicies")] + private InputList? _machineTypePolicies; + + /// + /// Model Assignment Policy See `MachineTypePolicy` below. + /// + public InputList MachineTypePolicies + { + get => _machineTypePolicies ?? (_machineTypePolicies = new InputList()); + set => _machineTypePolicies = value; + } + + [Input("nodePolicies")] + private InputList? _nodePolicies; + + /// + /// Node allocation policy See `NodePolicy` below. + /// + public InputList NodePolicies + { + get => _nodePolicies ?? (_nodePolicies = new InputList()); + set => _nodePolicies = value; + } + + public NodeIpAllocationPolicyArgs() + { + } + public static new NodeIpAllocationPolicyArgs Empty => new NodeIpAllocationPolicyArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyArgs.cs new file mode 100644 index 0000000000..eeb6e53fdc --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyBondPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Default bond cluster subnet + /// + [Input("bondDefaultSubnet")] + public Input? BondDefaultSubnet { get; set; } + + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + public NodeIpAllocationPolicyBondPolicyArgs() + { + } + public static new NodeIpAllocationPolicyBondPolicyArgs Empty => new NodeIpAllocationPolicyBondPolicyArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondArgs.cs new file mode 100644 index 0000000000..a4e4e68b34 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyBondPolicyBondArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyBondPolicyBondArgs() + { + } + public static new NodeIpAllocationPolicyBondPolicyBondArgs Empty => new NodeIpAllocationPolicyBondPolicyBondArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondGetArgs.cs new file mode 100644 index 0000000000..12c3b8d660 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyBondGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyBondPolicyBondGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyBondPolicyBondGetArgs() + { + } + public static new NodeIpAllocationPolicyBondPolicyBondGetArgs Empty => new NodeIpAllocationPolicyBondPolicyBondGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyGetArgs.cs new file mode 100644 index 0000000000..61faf864b1 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyBondPolicyGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyBondPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Default bond cluster subnet + /// + [Input("bondDefaultSubnet")] + public Input? BondDefaultSubnet { get; set; } + + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + public NodeIpAllocationPolicyBondPolicyGetArgs() + { + } + public static new NodeIpAllocationPolicyBondPolicyGetArgs Empty => new NodeIpAllocationPolicyBondPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyGetArgs.cs new file mode 100644 index 0000000000..e5ecb66b8e --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify the cluster subnet ID based on the bond name See `BondPolicy` below. + /// + [Input("bondPolicy")] + public Input? BondPolicy { get; set; } + + [Input("machineTypePolicies")] + private InputList? _machineTypePolicies; + + /// + /// Model Assignment Policy See `MachineTypePolicy` below. + /// + public InputList MachineTypePolicies + { + get => _machineTypePolicies ?? (_machineTypePolicies = new InputList()); + set => _machineTypePolicies = value; + } + + [Input("nodePolicies")] + private InputList? _nodePolicies; + + /// + /// Node allocation policy See `NodePolicy` below. + /// + public InputList NodePolicies + { + get => _nodePolicies ?? (_nodePolicies = new InputList()); + set => _nodePolicies = value; + } + + public NodeIpAllocationPolicyGetArgs() + { + } + public static new NodeIpAllocationPolicyGetArgs Empty => new NodeIpAllocationPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.cs new file mode 100644 index 0000000000..9249bae7b7 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyMachineTypePolicyArgs : global::Pulumi.ResourceArgs + { + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + /// + /// Model + /// + [Input("machineType")] + public Input? MachineType { get; set; } + + public NodeIpAllocationPolicyMachineTypePolicyArgs() + { + } + public static new NodeIpAllocationPolicyMachineTypePolicyArgs Empty => new NodeIpAllocationPolicyMachineTypePolicyArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.cs new file mode 100644 index 0000000000..41c7c16e31 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyMachineTypePolicyBondArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyMachineTypePolicyBondArgs() + { + } + public static new NodeIpAllocationPolicyMachineTypePolicyBondArgs Empty => new NodeIpAllocationPolicyMachineTypePolicyBondArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondGetArgs.cs new file mode 100644 index 0000000000..eb58009ea4 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyBondGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyMachineTypePolicyBondGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyMachineTypePolicyBondGetArgs() + { + } + public static new NodeIpAllocationPolicyMachineTypePolicyBondGetArgs Empty => new NodeIpAllocationPolicyMachineTypePolicyBondGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyGetArgs.cs new file mode 100644 index 0000000000..9b8ca15a7c --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyMachineTypePolicyGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyMachineTypePolicyGetArgs : global::Pulumi.ResourceArgs + { + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + /// + /// Model + /// + [Input("machineType")] + public Input? MachineType { get; set; } + + public NodeIpAllocationPolicyMachineTypePolicyGetArgs() + { + } + public static new NodeIpAllocationPolicyMachineTypePolicyGetArgs Empty => new NodeIpAllocationPolicyMachineTypePolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyArgs.cs new file mode 100644 index 0000000000..6f7b09d46e --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyNodePolicyArgs : global::Pulumi.ResourceArgs + { + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + /// + /// Host name + /// + [Input("hostname")] + public Input? Hostname { get; set; } + + /// + /// Node ID + /// + [Input("nodeId")] + public Input? NodeId { get; set; } + + public NodeIpAllocationPolicyNodePolicyArgs() + { + } + public static new NodeIpAllocationPolicyNodePolicyArgs Empty => new NodeIpAllocationPolicyNodePolicyArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondArgs.cs new file mode 100644 index 0000000000..3858cd6501 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyNodePolicyBondArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyNodePolicyBondArgs() + { + } + public static new NodeIpAllocationPolicyNodePolicyBondArgs Empty => new NodeIpAllocationPolicyNodePolicyBondArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondGetArgs.cs new file mode 100644 index 0000000000..c51957f341 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyBondGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyNodePolicyBondGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bond Name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// IP source cluster subnet + /// + [Input("subnet")] + public Input? Subnet { get; set; } + + public NodeIpAllocationPolicyNodePolicyBondGetArgs() + { + } + public static new NodeIpAllocationPolicyNodePolicyBondGetArgs Empty => new NodeIpAllocationPolicyNodePolicyBondGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyGetArgs.cs b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyGetArgs.cs new file mode 100644 index 0000000000..becd71f9f7 --- /dev/null +++ b/sdk/dotnet/Eflo/Inputs/NodeIpAllocationPolicyNodePolicyGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Inputs +{ + + public sealed class NodeIpAllocationPolicyNodePolicyGetArgs : global::Pulumi.ResourceArgs + { + [Input("bonds")] + private InputList? _bonds; + + /// + /// Bond information See `Bonds` below. + /// + public InputList Bonds + { + get => _bonds ?? (_bonds = new InputList()); + set => _bonds = value; + } + + /// + /// Host name + /// + [Input("hostname")] + public Input? Hostname { get; set; } + + /// + /// Node ID + /// + [Input("nodeId")] + public Input? NodeId { get; set; } + + public NodeIpAllocationPolicyNodePolicyGetArgs() + { + } + public static new NodeIpAllocationPolicyNodePolicyGetArgs Empty => new NodeIpAllocationPolicyNodePolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Eflo/Node.cs b/sdk/dotnet/Eflo/Node.cs index 5219548a6b..5db2f7fa42 100644 --- a/sdk/dotnet/Eflo/Node.cs +++ b/sdk/dotnet/Eflo/Node.cs @@ -10,51 +10,6 @@ namespace Pulumi.AliCloud.Eflo { /// - /// Provides a Eflo Node resource. - /// - /// Large computing node. - /// - /// For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). - /// - /// > **NOTE:** Available since v1.246.0. - /// - /// ## Example Usage - /// - /// Basic Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using AliCloud = Pulumi.AliCloud; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var config = new Config(); - /// var name = config.Get("name") ?? "terraform-example"; - /// var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(); - /// - /// var defaultNode = new AliCloud.Eflo.Node("default", new() - /// { - /// Period = 36, - /// DiscountLevel = "36", - /// BillingCycle = "1month", - /// Classify = "gpuserver", - /// Zone = "cn-hangzhou-b", - /// ProductForm = "instance", - /// PaymentRatio = "0", - /// HpnZone = "B1", - /// ServerArch = "bmserver", - /// ComputingServer = "efg1.nvga1n", - /// StageNum = "36", - /// RenewalStatus = "AutoRenewal", - /// RenewPeriod = 36, - /// Status = "Unused", - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Eflo Node can be imported using the id, e.g. @@ -68,18 +23,28 @@ public partial class Node : global::Pulumi.CustomResource { /// /// Billing cycle + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("billingCycle")] public Output BillingCycle { get; private set; } = null!; /// /// Classification + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("classify")] public Output Classify { get; private set; } = null!; /// - /// Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + /// Cluster id + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// Node Model /// [Output("computingServer")] public Output ComputingServer { get; private set; } = null!; @@ -90,12 +55,26 @@ public partial class Node : global::Pulumi.CustomResource [Output("createTime")] public Output CreateTime { get; private set; } = null!; + /// + /// The data disk of the cloud disk to be attached to the node. See `DataDisk` below. + /// + [Output("dataDisks")] + public Output> DataDisks { get; private set; } = null!; + /// /// Offer Information + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("discountLevel")] public Output DiscountLevel { get; private set; } = null!; + /// + /// Host name + /// + [Output("hostname")] + public Output Hostname { get; private set; } = null!; + /// /// Cluster Number /// @@ -108,14 +87,40 @@ public partial class Node : global::Pulumi.CustomResource [Output("installPai")] public Output InstallPai { get; private set; } = null!; + /// + /// IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `IpAllocationPolicy` below. + /// + [Output("ipAllocationPolicies")] + public Output> IpAllocationPolicies { get; private set; } = null!; + + /// + /// Login Password + /// + [Output("loginPassword")] + public Output LoginPassword { get; private set; } = null!; + /// /// Model /// [Output("machineType")] public Output MachineType { get; private set; } = null!; + /// + /// node group id + /// + [Output("nodeGroupId")] + public Output NodeGroupId { get; private set; } = null!; + + /// + /// node type + /// + [Output("nodeType")] + public Output NodeType { get; private set; } = null!; + /// /// Down payment ratio + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("paymentRatio")] public Output PaymentRatio { get; private set; } = null!; @@ -129,12 +134,16 @@ public partial class Node : global::Pulumi.CustomResource /// /// Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("period")] public Output Period { get; private set; } = null!; /// /// Form + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("productForm")] public Output ProductForm { get; private set; } = null!; @@ -171,12 +180,16 @@ public partial class Node : global::Pulumi.CustomResource /// /// Architecture + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("serverArch")] public Output ServerArch { get; private set; } = null!; /// /// Number of stages + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("stageNum")] public Output StageNum { get; private set; } = null!; @@ -193,6 +206,24 @@ public partial class Node : global::Pulumi.CustomResource [Output("tags")] public Output?> Tags { get; private set; } = null!; + /// + /// Custom Data + /// + [Output("userData")] + public Output UserData { get; private set; } = null!; + + /// + /// VPC ID + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// Switch ID + /// + [Output("vswitchId")] + public Output VswitchId { get; private set; } = null!; + /// /// Availability Zone /// @@ -222,6 +253,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + AdditionalSecretOutputs = + { + "loginPassword", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -247,28 +282,58 @@ public sealed class NodeArgs : global::Pulumi.ResourceArgs { /// /// Billing cycle + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("billingCycle")] public Input? BillingCycle { get; set; } /// /// Classification + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("classify")] public Input? Classify { get; set; } /// - /// Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + /// Cluster id + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Node Model /// [Input("computingServer")] public Input? ComputingServer { get; set; } + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// The data disk of the cloud disk to be attached to the node. See `DataDisk` below. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + /// /// Offer Information + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("discountLevel")] public Input? DiscountLevel { get; set; } + /// + /// Host name + /// + [Input("hostname")] + public Input? Hostname { get; set; } + /// /// Cluster Number /// @@ -281,14 +346,56 @@ public sealed class NodeArgs : global::Pulumi.ResourceArgs [Input("installPai")] public Input? InstallPai { get; set; } + [Input("ipAllocationPolicies")] + private InputList? _ipAllocationPolicies; + + /// + /// IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `IpAllocationPolicy` below. + /// + public InputList IpAllocationPolicies + { + get => _ipAllocationPolicies ?? (_ipAllocationPolicies = new InputList()); + set => _ipAllocationPolicies = value; + } + + [Input("loginPassword")] + private Input? _loginPassword; + + /// + /// Login Password + /// + public Input? LoginPassword + { + get => _loginPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _loginPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// /// Model /// [Input("machineType")] public Input? MachineType { get; set; } + /// + /// node group id + /// + [Input("nodeGroupId")] + public Input? NodeGroupId { get; set; } + + /// + /// node type + /// + [Input("nodeType")] + public Input? NodeType { get; set; } + /// /// Down payment ratio + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("paymentRatio")] public Input? PaymentRatio { get; set; } @@ -302,12 +409,16 @@ public sealed class NodeArgs : global::Pulumi.ResourceArgs /// /// Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("period")] public Input? Period { get; set; } /// /// Form + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("productForm")] public Input? ProductForm { get; set; } @@ -338,12 +449,16 @@ public sealed class NodeArgs : global::Pulumi.ResourceArgs /// /// Architecture + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("serverArch")] public Input? ServerArch { get; set; } /// /// Number of stages + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("stageNum")] public Input? StageNum { get; set; } @@ -366,6 +481,24 @@ public InputMap Tags set => _tags = value; } + /// + /// Custom Data + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// VPC ID + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// Switch ID + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + /// /// Availability Zone /// @@ -382,18 +515,28 @@ public sealed class NodeState : global::Pulumi.ResourceArgs { /// /// Billing cycle + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("billingCycle")] public Input? BillingCycle { get; set; } /// /// Classification + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("classify")] public Input? Classify { get; set; } /// - /// Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + /// Cluster id + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Node Model /// [Input("computingServer")] public Input? ComputingServer { get; set; } @@ -404,12 +547,32 @@ public sealed class NodeState : global::Pulumi.ResourceArgs [Input("createTime")] public Input? CreateTime { get; set; } + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// The data disk of the cloud disk to be attached to the node. See `DataDisk` below. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + /// /// Offer Information + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("discountLevel")] public Input? DiscountLevel { get; set; } + /// + /// Host name + /// + [Input("hostname")] + public Input? Hostname { get; set; } + /// /// Cluster Number /// @@ -422,14 +585,56 @@ public sealed class NodeState : global::Pulumi.ResourceArgs [Input("installPai")] public Input? InstallPai { get; set; } + [Input("ipAllocationPolicies")] + private InputList? _ipAllocationPolicies; + + /// + /// IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `IpAllocationPolicy` below. + /// + public InputList IpAllocationPolicies + { + get => _ipAllocationPolicies ?? (_ipAllocationPolicies = new InputList()); + set => _ipAllocationPolicies = value; + } + + [Input("loginPassword")] + private Input? _loginPassword; + + /// + /// Login Password + /// + public Input? LoginPassword + { + get => _loginPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _loginPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + /// /// Model /// [Input("machineType")] public Input? MachineType { get; set; } + /// + /// node group id + /// + [Input("nodeGroupId")] + public Input? NodeGroupId { get; set; } + + /// + /// node type + /// + [Input("nodeType")] + public Input? NodeType { get; set; } + /// /// Down payment ratio + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("paymentRatio")] public Input? PaymentRatio { get; set; } @@ -443,12 +648,16 @@ public sealed class NodeState : global::Pulumi.ResourceArgs /// /// Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("period")] public Input? Period { get; set; } /// /// Form + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("productForm")] public Input? ProductForm { get; set; } @@ -485,12 +694,16 @@ public sealed class NodeState : global::Pulumi.ResourceArgs /// /// Architecture + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("serverArch")] public Input? ServerArch { get; set; } /// /// Number of stages + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("stageNum")] public Input? StageNum { get; set; } @@ -513,6 +726,24 @@ public InputMap Tags set => _tags = value; } + /// + /// Custom Data + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// VPC ID + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// Switch ID + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + /// /// Availability Zone /// diff --git a/sdk/dotnet/Eflo/NodeGroup.cs b/sdk/dotnet/Eflo/NodeGroup.cs index 6a1cfe3f34..71fb32ce5e 100644 --- a/sdk/dotnet/Eflo/NodeGroup.cs +++ b/sdk/dotnet/Eflo/NodeGroup.cs @@ -262,6 +262,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Node Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/NodeGroupAttachment.cs b/sdk/dotnet/Eflo/NodeGroupAttachment.cs index c594e8dab3..8ed20aa2af 100644 --- a/sdk/dotnet/Eflo/NodeGroupAttachment.cs +++ b/sdk/dotnet/Eflo/NodeGroupAttachment.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Node Group Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/Outputs/HyperNodeDataDisk.cs b/sdk/dotnet/Eflo/Outputs/HyperNodeDataDisk.cs new file mode 100644 index 0000000000..1c2e260a74 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/HyperNodeDataDisk.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class HyperNodeDataDisk + { + /// + /// Whether to enable Burst (performance Burst). + /// + public readonly bool? BurstingEnabled; + /// + /// The disk type. Value range: + /// - cloud_essd:ESSD cloud disk. + /// + public readonly string? Category; + /// + /// Whether the data disk is unsubscribed and deleted with the node. + /// + public readonly bool? DeleteWithNode; + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1: maximum random read/write IOPS 50000 for a single disk. + /// + public readonly string? PerformanceLevel; + /// + /// ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + /// + public readonly int? ProvisionedIops; + /// + /// The size of the disk. The unit is GiB. + /// + public readonly int? Size; + + [OutputConstructor] + private HyperNodeDataDisk( + bool? burstingEnabled, + + string? category, + + bool? deleteWithNode, + + string? performanceLevel, + + int? provisionedIops, + + int? size) + { + BurstingEnabled = burstingEnabled; + Category = category; + DeleteWithNode = deleteWithNode; + PerformanceLevel = performanceLevel; + ProvisionedIops = provisionedIops; + Size = size; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeDataDisk.cs b/sdk/dotnet/Eflo/Outputs/NodeDataDisk.cs new file mode 100644 index 0000000000..27ed483779 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeDataDisk.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeDataDisk + { + /// + /// Data disk type + /// + public readonly string? Category; + /// + /// Performance level + /// + public readonly string? PerformanceLevel; + /// + /// Data disk size + /// + public readonly int? Size; + + [OutputConstructor] + private NodeDataDisk( + string? category, + + string? performanceLevel, + + int? size) + { + Category = category; + PerformanceLevel = performanceLevel; + Size = size; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicy.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicy.cs new file mode 100644 index 0000000000..f3c8661637 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicy.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicy + { + /// + /// Specify the cluster subnet ID based on the bond name See `BondPolicy` below. + /// + public readonly Outputs.NodeIpAllocationPolicyBondPolicy? BondPolicy; + /// + /// Model Assignment Policy See `MachineTypePolicy` below. + /// + public readonly ImmutableArray MachineTypePolicies; + /// + /// Node allocation policy See `NodePolicy` below. + /// + public readonly ImmutableArray NodePolicies; + + [OutputConstructor] + private NodeIpAllocationPolicy( + Outputs.NodeIpAllocationPolicyBondPolicy? bondPolicy, + + ImmutableArray machineTypePolicies, + + ImmutableArray nodePolicies) + { + BondPolicy = bondPolicy; + MachineTypePolicies = machineTypePolicies; + NodePolicies = nodePolicies; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicy.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicy.cs new file mode 100644 index 0000000000..59a8474b79 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicy.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyBondPolicy + { + /// + /// Default bond cluster subnet + /// + public readonly string? BondDefaultSubnet; + /// + /// Bond information See `Bonds` below. + /// + public readonly ImmutableArray Bonds; + + [OutputConstructor] + private NodeIpAllocationPolicyBondPolicy( + string? bondDefaultSubnet, + + ImmutableArray bonds) + { + BondDefaultSubnet = bondDefaultSubnet; + Bonds = bonds; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicyBond.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicyBond.cs new file mode 100644 index 0000000000..ca3a6d7562 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyBondPolicyBond.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyBondPolicyBond + { + /// + /// Bond Name + /// + public readonly string? Name; + /// + /// IP source cluster subnet + /// + public readonly string? Subnet; + + [OutputConstructor] + private NodeIpAllocationPolicyBondPolicyBond( + string? name, + + string? subnet) + { + Name = name; + Subnet = subnet; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicy.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicy.cs new file mode 100644 index 0000000000..26a024a1fe --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicy.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyMachineTypePolicy + { + /// + /// Bond information See `Bonds` below. + /// + public readonly ImmutableArray Bonds; + /// + /// Model + /// + public readonly string? MachineType; + + [OutputConstructor] + private NodeIpAllocationPolicyMachineTypePolicy( + ImmutableArray bonds, + + string? machineType) + { + Bonds = bonds; + MachineType = machineType; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicyBond.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicyBond.cs new file mode 100644 index 0000000000..894f7ac23d --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyMachineTypePolicyBond.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyMachineTypePolicyBond + { + /// + /// Bond Name + /// + public readonly string? Name; + /// + /// IP source cluster subnet + /// + public readonly string? Subnet; + + [OutputConstructor] + private NodeIpAllocationPolicyMachineTypePolicyBond( + string? name, + + string? subnet) + { + Name = name; + Subnet = subnet; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicy.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicy.cs new file mode 100644 index 0000000000..caa9b1ce04 --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicy.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyNodePolicy + { + /// + /// Bond information See `Bonds` below. + /// + public readonly ImmutableArray Bonds; + /// + /// Host name + /// + public readonly string? Hostname; + /// + /// Node ID + /// + public readonly string? NodeId; + + [OutputConstructor] + private NodeIpAllocationPolicyNodePolicy( + ImmutableArray bonds, + + string? hostname, + + string? nodeId) + { + Bonds = bonds; + Hostname = hostname; + NodeId = nodeId; + } + } +} diff --git a/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicyBond.cs b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicyBond.cs new file mode 100644 index 0000000000..d86abaa8bd --- /dev/null +++ b/sdk/dotnet/Eflo/Outputs/NodeIpAllocationPolicyNodePolicyBond.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Eflo.Outputs +{ + + [OutputType] + public sealed class NodeIpAllocationPolicyNodePolicyBond + { + /// + /// Bond Name + /// + public readonly string? Name; + /// + /// IP source cluster subnet + /// + public readonly string? Subnet; + + [OutputConstructor] + private NodeIpAllocationPolicyNodePolicyBond( + string? name, + + string? subnet) + { + Name = name; + Subnet = subnet; + } + } +} diff --git a/sdk/dotnet/Eflo/Subnet.cs b/sdk/dotnet/Eflo/Subnet.cs index 13fdfe8e8d..aac656104b 100644 --- a/sdk/dotnet/Eflo/Subnet.cs +++ b/sdk/dotnet/Eflo/Subnet.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Subnet can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/Vpd.cs b/sdk/dotnet/Eflo/Vpd.cs index 81942d28f8..37fcd93cf3 100644 --- a/sdk/dotnet/Eflo/Vpd.cs +++ b/sdk/dotnet/Eflo/Vpd.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Vpd can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/VpdGrantRule.cs b/sdk/dotnet/Eflo/VpdGrantRule.cs index 9581a3069e..e85d870dc2 100644 --- a/sdk/dotnet/Eflo/VpdGrantRule.cs +++ b/sdk/dotnet/Eflo/VpdGrantRule.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Vpd Grant Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Eflo/Vsc.cs b/sdk/dotnet/Eflo/Vsc.cs index e37fdf3bb8..5f0988223d 100644 --- a/sdk/dotnet/Eflo/Vsc.cs +++ b/sdk/dotnet/Eflo/Vsc.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Eflo /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eflo Vsc can be imported using the id, e.g. diff --git a/sdk/dotnet/Ehpc/Cluster.cs b/sdk/dotnet/Ehpc/Cluster.cs index 9c8cc5ad6a..78a2df2816 100644 --- a/sdk/dotnet/Ehpc/Cluster.cs +++ b/sdk/dotnet/Ehpc/Cluster.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.Ehpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ehpc Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/Ehpc/ClusterV2.cs b/sdk/dotnet/Ehpc/ClusterV2.cs new file mode 100644 index 0000000000..f52ba52ba1 --- /dev/null +++ b/sdk/dotnet/Ehpc/ClusterV2.cs @@ -0,0 +1,589 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc +{ + /// + /// Provides a Ehpc Cluster V2 resource. + /// + /// E-HPC Cluster Resources. + /// + /// For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var example = new AliCloud.Vpc.Network("example", new() + /// { + /// IsDefault = false, + /// CidrBlock = "10.0.0.0/24", + /// VpcName = "example-cluster-vpc", + /// }); + /// + /// var exampleAccessGroup = new AliCloud.Nas.AccessGroup("example", new() + /// { + /// AccessGroupType = "Vpc", + /// Description = name, + /// AccessGroupName = "StandardMountTarget", + /// FileSystemType = "standard", + /// }); + /// + /// var exampleFileSystem = new AliCloud.Nas.FileSystem("example", new() + /// { + /// Description = "example-cluster-nas", + /// StorageType = "Capacity", + /// NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs + /// { + /// Enabled = false, + /// }, + /// ZoneId = "cn-hangzhou-k", + /// EncryptType = 0, + /// ProtocolType = "NFS", + /// FileSystemType = "standard", + /// }); + /// + /// var exampleSwitch = new AliCloud.Vpc.Switch("example", new() + /// { + /// IsDefault = false, + /// VpcId = example.Id, + /// ZoneId = "cn-hangzhou-k", + /// CidrBlock = "10.0.0.0/24", + /// VswitchName = "example-cluster-vsw", + /// }); + /// + /// var exampleAccessRule = new AliCloud.Nas.AccessRule("example", new() + /// { + /// Priority = 1, + /// AccessGroupName = exampleAccessGroup.AccessGroupName, + /// FileSystemType = exampleFileSystem.FileSystemType, + /// SourceCidrIp = "10.0.0.0/24", + /// }); + /// + /// var exampleSecurityGroup = new AliCloud.Ecs.SecurityGroup("example", new() + /// { + /// VpcId = example.Id, + /// SecurityGroupType = "normal", + /// }); + /// + /// var exampleMountTarget = new AliCloud.Nas.MountTarget("example", new() + /// { + /// VpcId = example.Id, + /// NetworkType = "Vpc", + /// AccessGroupName = exampleAccessGroup.AccessGroupName, + /// VswitchId = exampleSwitch.Id, + /// FileSystemId = exampleFileSystem.Id, + /// }); + /// + /// var @default = new AliCloud.Ehpc.ClusterV2("default", new() + /// { + /// ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs + /// { + /// Password = "aliHPC123", + /// }, + /// ClusterVpcId = example.Id, + /// ClusterCategory = "Standard", + /// ClusterMode = "Integrated", + /// SecurityGroupId = exampleSecurityGroup.Id, + /// ClusterName = "minimal-example-cluster", + /// DeletionProtection = true, + /// ClientVersion = "2.0.47", + /// SharedStorages = new[] + /// { + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/home", + /// NasDirectory = "/", + /// MountTargetDomain = exampleMountTarget.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = exampleFileSystem.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/opt", + /// NasDirectory = "/", + /// MountTargetDomain = exampleMountTarget.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = exampleFileSystem.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/ehpcdata", + /// NasDirectory = "/", + /// MountTargetDomain = exampleMountTarget.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = exampleFileSystem.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// }, + /// ClusterVswitchId = exampleSwitch.Id, + /// Manager = new AliCloud.Ehpc.Inputs.ClusterV2ManagerArgs + /// { + /// ManagerNode = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeArgs + /// { + /// SystemDisk = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeSystemDiskArgs + /// { + /// Category = "cloud_essd", + /// Size = 40, + /// Level = "PL0", + /// }, + /// EnableHt = true, + /// InstanceChargeType = "PostPaid", + /// ImageId = "centos_7_6_x64_20G_alibase_20211130.vhd", + /// SpotPriceLimit = 0, + /// InstanceType = "ecs.c6.xlarge", + /// SpotStrategy = "NoSpot", + /// }, + /// Scheduler = new AliCloud.Ehpc.Inputs.ClusterV2ManagerSchedulerArgs + /// { + /// Type = "SLURM", + /// Version = "22.05.8", + /// }, + /// Dns = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDnsArgs + /// { + /// Type = "nis", + /// Version = "1.0", + /// }, + /// DirectoryService = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDirectoryServiceArgs + /// { + /// Type = "nis", + /// Version = "1.0", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Ehpc Cluster V2 can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example <id> + /// ``` + /// + [AliCloudResourceType("alicloud:ehpc/clusterV2:ClusterV2")] + public partial class ClusterV2 : global::Pulumi.CustomResource + { + /// + /// The cluster custom service component configuration. Only one component is supported. See `Addons` below. + /// + [Output("addons")] + public Output> Addons { get; private set; } = null!; + + /// + /// Specifies whether to enable auto scale-out for the cluster. Valid values: + /// + /// - true + /// - false + /// + [Output("clientVersion")] + public Output ClientVersion { get; private set; } = null!; + + /// + /// The cluster type. Valid values: + /// + /// - Standard + /// - Serverless + /// + [Output("clusterCategory")] + public Output ClusterCategory { get; private set; } = null!; + + /// + /// Security credentials for the cluster. See `ClusterCredentials` below. + /// + [Output("clusterCredentials")] + public Output ClusterCredentials { get; private set; } = null!; + + /// + /// The deployment mode of the cluster. Valid values: + /// + /// - Integrated + /// - Hybrid + /// - Custom + /// + [Output("clusterMode")] + public Output ClusterMode { get; private set; } = null!; + + /// + /// The post-processing script of the cluster. + /// + [Output("clusterName")] + public Output ClusterName { get; private set; } = null!; + + /// + /// The ID of the virtual private cloud (VPC) in which the cluster resides. + /// + [Output("clusterVpcId")] + public Output ClusterVpcId { get; private set; } = null!; + + /// + /// The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + /// You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + /// + [Output("clusterVswitchId")] + public Output ClusterVswitchId { get; private set; } = null!; + + /// + /// The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The idle duration of the compute nodes allowed by the cluster. + /// + [Output("deletionProtection")] + public Output DeletionProtection { get; private set; } = null!; + + /// + /// The configurations of the cluster management node. See `Manager` below. + /// + [Output("manager")] + public Output Manager { get; private set; } = null!; + + /// + /// The ID of the resource group to which the cluster belongs. + /// You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + /// + [Output("resourceGroupId")] + public Output ResourceGroupId { get; private set; } = null!; + + /// + /// The security group ID. + /// + [Output("securityGroupId")] + public Output SecurityGroupId { get; private set; } = null!; + + /// + /// List of cluster shared storage configurations. See `SharedStorages` below. + /// + [Output("sharedStorages")] + public Output> SharedStorages { get; private set; } = null!; + + + /// + /// Create a ClusterV2 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 ClusterV2(string name, ClusterV2Args args, CustomResourceOptions? options = null) + : base("alicloud:ehpc/clusterV2:ClusterV2", name, args ?? new ClusterV2Args(), MakeResourceOptions(options, "")) + { + } + + private ClusterV2(string name, Input id, ClusterV2State? state = null, CustomResourceOptions? options = null) + : base("alicloud:ehpc/clusterV2:ClusterV2", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "addons", + "clusterCredentials", + }, + }; + 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 ClusterV2 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 ClusterV2 Get(string name, Input id, ClusterV2State? state = null, CustomResourceOptions? options = null) + { + return new ClusterV2(name, id, state, options); + } + } + + public sealed class ClusterV2Args : global::Pulumi.ResourceArgs + { + [Input("addons")] + private InputList? _addons; + + /// + /// The cluster custom service component configuration. Only one component is supported. See `Addons` below. + /// + public InputList Addons + { + get => _addons ?? (_addons = new InputList()); + set + { + var emptySecret = Output.CreateSecret(ImmutableArray.Create()); + _addons = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// Specifies whether to enable auto scale-out for the cluster. Valid values: + /// + /// - true + /// - false + /// + [Input("clientVersion")] + public Input? ClientVersion { get; set; } + + /// + /// The cluster type. Valid values: + /// + /// - Standard + /// - Serverless + /// + [Input("clusterCategory")] + public Input? ClusterCategory { get; set; } + + [Input("clusterCredentials", required: true)] + private Input? _clusterCredentials; + + /// + /// Security credentials for the cluster. See `ClusterCredentials` below. + /// + public Input? ClusterCredentials + { + get => _clusterCredentials; + set + { + var emptySecret = Output.CreateSecret(0); + _clusterCredentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The deployment mode of the cluster. Valid values: + /// + /// - Integrated + /// - Hybrid + /// - Custom + /// + [Input("clusterMode")] + public Input? ClusterMode { get; set; } + + /// + /// The post-processing script of the cluster. + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + /// + /// The ID of the virtual private cloud (VPC) in which the cluster resides. + /// + [Input("clusterVpcId")] + public Input? ClusterVpcId { get; set; } + + /// + /// The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + /// You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + /// + [Input("clusterVswitchId")] + public Input? ClusterVswitchId { get; set; } + + /// + /// The idle duration of the compute nodes allowed by the cluster. + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + /// + /// The configurations of the cluster management node. See `Manager` below. + /// + [Input("manager")] + public Input? Manager { get; set; } + + /// + /// The ID of the resource group to which the cluster belongs. + /// You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + /// + [Input("resourceGroupId")] + public Input? ResourceGroupId { get; set; } + + /// + /// The security group ID. + /// + [Input("securityGroupId")] + public Input? SecurityGroupId { get; set; } + + [Input("sharedStorages", required: true)] + private InputList? _sharedStorages; + + /// + /// List of cluster shared storage configurations. See `SharedStorages` below. + /// + public InputList SharedStorages + { + get => _sharedStorages ?? (_sharedStorages = new InputList()); + set => _sharedStorages = value; + } + + public ClusterV2Args() + { + } + public static new ClusterV2Args Empty => new ClusterV2Args(); + } + + public sealed class ClusterV2State : global::Pulumi.ResourceArgs + { + [Input("addons")] + private InputList? _addons; + + /// + /// The cluster custom service component configuration. Only one component is supported. See `Addons` below. + /// + public InputList Addons + { + get => _addons ?? (_addons = new InputList()); + set + { + var emptySecret = Output.CreateSecret(ImmutableArray.Create()); + _addons = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// Specifies whether to enable auto scale-out for the cluster. Valid values: + /// + /// - true + /// - false + /// + [Input("clientVersion")] + public Input? ClientVersion { get; set; } + + /// + /// The cluster type. Valid values: + /// + /// - Standard + /// - Serverless + /// + [Input("clusterCategory")] + public Input? ClusterCategory { get; set; } + + [Input("clusterCredentials")] + private Input? _clusterCredentials; + + /// + /// Security credentials for the cluster. See `ClusterCredentials` below. + /// + public Input? ClusterCredentials + { + get => _clusterCredentials; + set + { + var emptySecret = Output.CreateSecret(0); + _clusterCredentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The deployment mode of the cluster. Valid values: + /// + /// - Integrated + /// - Hybrid + /// - Custom + /// + [Input("clusterMode")] + public Input? ClusterMode { get; set; } + + /// + /// The post-processing script of the cluster. + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + /// + /// The ID of the virtual private cloud (VPC) in which the cluster resides. + /// + [Input("clusterVpcId")] + public Input? ClusterVpcId { get; set; } + + /// + /// The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + /// You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + /// + [Input("clusterVswitchId")] + public Input? ClusterVswitchId { get; set; } + + /// + /// The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The idle duration of the compute nodes allowed by the cluster. + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + /// + /// The configurations of the cluster management node. See `Manager` below. + /// + [Input("manager")] + public Input? Manager { get; set; } + + /// + /// The ID of the resource group to which the cluster belongs. + /// You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + /// + [Input("resourceGroupId")] + public Input? ResourceGroupId { get; set; } + + /// + /// The security group ID. + /// + [Input("securityGroupId")] + public Input? SecurityGroupId { get; set; } + + [Input("sharedStorages")] + private InputList? _sharedStorages; + + /// + /// List of cluster shared storage configurations. See `SharedStorages` below. + /// + public InputList SharedStorages + { + get => _sharedStorages ?? (_sharedStorages = new InputList()); + set => _sharedStorages = value; + } + + public ClusterV2State() + { + } + public static new ClusterV2State Empty => new ClusterV2State(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonArgs.cs new file mode 100644 index 0000000000..d8d64c74d4 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonArgs.cs @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2AddonArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + private Input? _name; + + /// + /// Customize the specific configuration information of the service component. + /// + public Input? Name + { + get => _name; + set + { + var emptySecret = Output.CreateSecret(0); + _name = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("resourcesSpec")] + private Input? _resourcesSpec; + + /// + /// Customize the resource configuration of the service component. + /// + public Input? ResourcesSpec + { + get => _resourcesSpec; + set + { + var emptySecret = Output.CreateSecret(0); + _resourcesSpec = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("servicesSpec")] + private Input? _servicesSpec; + + /// + /// Customize the service configuration of the service component. + /// + public Input? ServicesSpec + { + get => _servicesSpec; + set + { + var emptySecret = Output.CreateSecret(0); + _servicesSpec = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("version", required: true)] + private Input? _version; + + /// + /// Customize the service component version. + /// + public Input? Version + { + get => _version; + set + { + var emptySecret = Output.CreateSecret(0); + _version = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public ClusterV2AddonArgs() + { + } + public static new ClusterV2AddonArgs Empty => new ClusterV2AddonArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonGetArgs.cs new file mode 100644 index 0000000000..e295cfb2e3 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2AddonGetArgs.cs @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2AddonGetArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + private Input? _name; + + /// + /// Customize the specific configuration information of the service component. + /// + public Input? Name + { + get => _name; + set + { + var emptySecret = Output.CreateSecret(0); + _name = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("resourcesSpec")] + private Input? _resourcesSpec; + + /// + /// Customize the resource configuration of the service component. + /// + public Input? ResourcesSpec + { + get => _resourcesSpec; + set + { + var emptySecret = Output.CreateSecret(0); + _resourcesSpec = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("servicesSpec")] + private Input? _servicesSpec; + + /// + /// Customize the service configuration of the service component. + /// + public Input? ServicesSpec + { + get => _servicesSpec; + set + { + var emptySecret = Output.CreateSecret(0); + _servicesSpec = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("version", required: true)] + private Input? _version; + + /// + /// Customize the service component version. + /// + public Input? Version + { + get => _version; + set + { + var emptySecret = Output.CreateSecret(0); + _version = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public ClusterV2AddonGetArgs() + { + } + public static new ClusterV2AddonGetArgs Empty => new ClusterV2AddonGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsArgs.cs new file mode 100644 index 0000000000..4b6284d5c1 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ClusterCredentialsArgs : global::Pulumi.ResourceArgs + { + [Input("password")] + private Input? _password; + + /// + /// The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public ClusterV2ClusterCredentialsArgs() + { + } + public static new ClusterV2ClusterCredentialsArgs Empty => new ClusterV2ClusterCredentialsArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsGetArgs.cs new file mode 100644 index 0000000000..4458539843 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ClusterCredentialsGetArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ClusterCredentialsGetArgs : global::Pulumi.ResourceArgs + { + [Input("password")] + private Input? _password; + + /// + /// The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public ClusterV2ClusterCredentialsGetArgs() + { + } + public static new ClusterV2ClusterCredentialsGetArgs Empty => new ClusterV2ClusterCredentialsGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerArgs.cs new file mode 100644 index 0000000000..c668b14dc3 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerArgs : global::Pulumi.ResourceArgs + { + /// + /// The configurations of the domain account service. See `DirectoryService` below. + /// + [Input("directoryService")] + public Input? DirectoryService { get; set; } + + /// + /// The configurations of the domain name resolution service. See `Dns` below. + /// + [Input("dns")] + public Input? Dns { get; set; } + + /// + /// The hardware configurations of the management node. See `ManagerNode` below. + /// + [Input("managerNode")] + public Input? ManagerNode { get; set; } + + /// + /// The configurations of the scheduler service. See `Scheduler` below. + /// + [Input("scheduler")] + public Input? Scheduler { get; set; } + + public ClusterV2ManagerArgs() + { + } + public static new ClusterV2ManagerArgs Empty => new ClusterV2ManagerArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceArgs.cs new file mode 100644 index 0000000000..d4abc5a8a7 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerDirectoryServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerDirectoryServiceArgs() + { + } + public static new ClusterV2ManagerDirectoryServiceArgs Empty => new ClusterV2ManagerDirectoryServiceArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceGetArgs.cs new file mode 100644 index 0000000000..3f3b1201cc --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDirectoryServiceGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerDirectoryServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerDirectoryServiceGetArgs() + { + } + public static new ClusterV2ManagerDirectoryServiceGetArgs Empty => new ClusterV2ManagerDirectoryServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsArgs.cs new file mode 100644 index 0000000000..de57c1ab32 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerDnsArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerDnsArgs() + { + } + public static new ClusterV2ManagerDnsArgs Empty => new ClusterV2ManagerDnsArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsGetArgs.cs new file mode 100644 index 0000000000..69ac5b9aa0 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerDnsGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerDnsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerDnsGetArgs() + { + } + public static new ClusterV2ManagerDnsGetArgs Empty => new ClusterV2ManagerDnsGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerGetArgs.cs new file mode 100644 index 0000000000..0a20a84380 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The configurations of the domain account service. See `DirectoryService` below. + /// + [Input("directoryService")] + public Input? DirectoryService { get; set; } + + /// + /// The configurations of the domain name resolution service. See `Dns` below. + /// + [Input("dns")] + public Input? Dns { get; set; } + + /// + /// The hardware configurations of the management node. See `ManagerNode` below. + /// + [Input("managerNode")] + public Input? ManagerNode { get; set; } + + /// + /// The configurations of the scheduler service. See `Scheduler` below. + /// + [Input("scheduler")] + public Input? Scheduler { get; set; } + + public ClusterV2ManagerGetArgs() + { + } + public static new ClusterV2ManagerGetArgs Empty => new ClusterV2ManagerGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeArgs.cs new file mode 100644 index 0000000000..d692032b03 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeArgs.cs @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerManagerNodeArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + /// - true: Automatic renewal. + /// - false: Do not renew automatically (default). + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// The renewal duration of a single automatic renewal. Value range: + /// - When PeriodUnit = Week: 1, 2, 3. + /// - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + /// + /// Default value: 1. + /// + [Input("autoRenewPeriod")] + public Input? AutoRenewPeriod { get; set; } + + /// + /// The duration of the preemptible instance, in hours. Value: + /// - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + /// - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + /// + /// Default value: 1. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// EnableHT + /// + [Input("enableHt")] + public Input? EnableHt { get; set; } + + /// + /// The expiration time of the management node. + /// + [Input("expiredTime")] + public Input? ExpiredTime { get; set; } + + /// + /// ImageId + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// The instance billing method of the management node. Valid values: + /// + /// - PostPaid: pay-as-you-go + /// - PrePaid: subscription + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// The instance ID of the management node. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// The instance type of the management node. + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + /// + /// The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + /// - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + /// - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// The unit of duration of the year-to-month billing method. Value range: + /// - Week. + /// - Month (default). + /// + [Input("periodUnit")] + public Input? PeriodUnit { get; set; } + + /// + /// Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + /// + [Input("spotPriceLimit")] + public Input? SpotPriceLimit { get; set; } + + /// + /// The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + /// - NoSpot: normal pay-as-you-go instances (default). + /// - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + /// - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + /// + [Input("spotStrategy")] + public Input? SpotStrategy { get; set; } + + /// + /// System disk configuration of the management node. See `SystemDisk` below. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + public ClusterV2ManagerManagerNodeArgs() + { + } + public static new ClusterV2ManagerManagerNodeArgs Empty => new ClusterV2ManagerManagerNodeArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeGetArgs.cs new file mode 100644 index 0000000000..2e9dec4c8d --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeGetArgs.cs @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerManagerNodeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + /// - true: Automatic renewal. + /// - false: Do not renew automatically (default). + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// The renewal duration of a single automatic renewal. Value range: + /// - When PeriodUnit = Week: 1, 2, 3. + /// - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + /// + /// Default value: 1. + /// + [Input("autoRenewPeriod")] + public Input? AutoRenewPeriod { get; set; } + + /// + /// The duration of the preemptible instance, in hours. Value: + /// - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + /// - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + /// + /// Default value: 1. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// EnableHT + /// + [Input("enableHt")] + public Input? EnableHt { get; set; } + + /// + /// The expiration time of the management node. + /// + [Input("expiredTime")] + public Input? ExpiredTime { get; set; } + + /// + /// ImageId + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// The instance billing method of the management node. Valid values: + /// + /// - PostPaid: pay-as-you-go + /// - PrePaid: subscription + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// The instance ID of the management node. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// The instance type of the management node. + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + /// + /// The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + /// - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + /// - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// The unit of duration of the year-to-month billing method. Value range: + /// - Week. + /// - Month (default). + /// + [Input("periodUnit")] + public Input? PeriodUnit { get; set; } + + /// + /// Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + /// + [Input("spotPriceLimit")] + public Input? SpotPriceLimit { get; set; } + + /// + /// The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + /// - NoSpot: normal pay-as-you-go instances (default). + /// - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + /// - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + /// + [Input("spotStrategy")] + public Input? SpotStrategy { get; set; } + + /// + /// System disk configuration of the management node. See `SystemDisk` below. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + public ClusterV2ManagerManagerNodeGetArgs() + { + } + public static new ClusterV2ManagerManagerNodeGetArgs Empty => new ClusterV2ManagerManagerNodeGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.cs new file mode 100644 index 0000000000..d0a8316006 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerManagerNodeSystemDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Manage the system disk configuration of the node. Value range: + /// - cloud_efficiency: The Ultra cloud disk. + /// - cloud_ssd:SSD cloud disk. + /// - cloud_essd:ESSD cloud disk. + /// - cloud: ordinary cloud disk. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + /// - PL2: maximum random read/write IOPS 100000 for a single disk. + /// - PL3: maximum random read/write IOPS 1 million for a single disk. + /// + [Input("level")] + public Input? Level { get; set; } + + /// + /// The system disk size of the management node. Unit: GiB. Value range: + /// - Ordinary cloud tray: 20~500. + /// - ESSD cloud disk: + /// - PL0:1~2048. + /// - PL1:20~2048. + /// - PL2:461~2048. + /// - PL3:1261~2048. + /// - Other cloud disk types: 20~2048. + /// + [Input("size")] + public Input? Size { get; set; } + + public ClusterV2ManagerManagerNodeSystemDiskArgs() + { + } + public static new ClusterV2ManagerManagerNodeSystemDiskArgs Empty => new ClusterV2ManagerManagerNodeSystemDiskArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskGetArgs.cs new file mode 100644 index 0000000000..6c508b7b2e --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerManagerNodeSystemDiskGetArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerManagerNodeSystemDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Manage the system disk configuration of the node. Value range: + /// - cloud_efficiency: The Ultra cloud disk. + /// - cloud_ssd:SSD cloud disk. + /// - cloud_essd:ESSD cloud disk. + /// - cloud: ordinary cloud disk. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + /// - PL2: maximum random read/write IOPS 100000 for a single disk. + /// - PL3: maximum random read/write IOPS 1 million for a single disk. + /// + [Input("level")] + public Input? Level { get; set; } + + /// + /// The system disk size of the management node. Unit: GiB. Value range: + /// - Ordinary cloud tray: 20~500. + /// - ESSD cloud disk: + /// - PL0:1~2048. + /// - PL1:20~2048. + /// - PL2:461~2048. + /// - PL3:1261~2048. + /// - Other cloud disk types: 20~2048. + /// + [Input("size")] + public Input? Size { get; set; } + + public ClusterV2ManagerManagerNodeSystemDiskGetArgs() + { + } + public static new ClusterV2ManagerManagerNodeSystemDiskGetArgs Empty => new ClusterV2ManagerManagerNodeSystemDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerArgs.cs new file mode 100644 index 0000000000..19c0c80004 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerSchedulerArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerSchedulerArgs() + { + } + public static new ClusterV2ManagerSchedulerArgs Empty => new ClusterV2ManagerSchedulerArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerGetArgs.cs new file mode 100644 index 0000000000..cd9f7ba4ab --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2ManagerSchedulerGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2ManagerSchedulerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("version")] + public Input? Version { get; set; } + + public ClusterV2ManagerSchedulerGetArgs() + { + } + public static new ClusterV2ManagerSchedulerGetArgs Empty => new ClusterV2ManagerSchedulerGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageArgs.cs new file mode 100644 index 0000000000..09f4ee528a --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageArgs.cs @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2SharedStorageArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the mounted file system. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The local Mount directory where the file system is mounted. + /// + [Input("mountDirectory")] + public Input? MountDirectory { get; set; } + + /// + /// Storage mount options for the mounted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// The mount point address of the mounted file system. + /// + [Input("mountTargetDomain")] + public Input? MountTargetDomain { get; set; } + + /// + /// The remote directory to which the mounted file system needs to be mounted. + /// + [Input("nasDirectory")] + public Input? NasDirectory { get; set; } + + /// + /// The protocol type of the mounted file system. Value range: + /// - NFS + /// - SMB + /// + [Input("protocolType")] + public Input? ProtocolType { get; set; } + + public ClusterV2SharedStorageArgs() + { + } + public static new ClusterV2SharedStorageArgs Empty => new ClusterV2SharedStorageArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageGetArgs.cs new file mode 100644 index 0000000000..3e7e5db244 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/ClusterV2SharedStorageGetArgs.cs @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class ClusterV2SharedStorageGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the mounted file system. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The local Mount directory where the file system is mounted. + /// + [Input("mountDirectory")] + public Input? MountDirectory { get; set; } + + /// + /// Storage mount options for the mounted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// The mount point address of the mounted file system. + /// + [Input("mountTargetDomain")] + public Input? MountTargetDomain { get; set; } + + /// + /// The remote directory to which the mounted file system needs to be mounted. + /// + [Input("nasDirectory")] + public Input? NasDirectory { get; set; } + + /// + /// The protocol type of the mounted file system. Value range: + /// - NFS + /// - SMB + /// + [Input("protocolType")] + public Input? ProtocolType { get; set; } + + public ClusterV2SharedStorageGetArgs() + { + } + public static new ClusterV2SharedStorageGetArgs Empty => new ClusterV2SharedStorageGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeArgs.cs b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeArgs.cs new file mode 100644 index 0000000000..e70b032399 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeArgs.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class QueueComputeNodeArgs : global::Pulumi.ResourceArgs + { + /// + /// AutoRenew + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// AutoRenewPeriod + /// + [Input("autoRenewPeriod")] + public Input? AutoRenewPeriod { get; set; } + + /// + /// Duration + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Whether HT is enabled for the computing node. + /// + [Input("enableHt")] + public Input? EnableHt { get; set; } + + /// + /// ImageId + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// InstanceChargeType + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// InstanceTypes + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + /// + /// Period + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// PeriodUnit + /// + [Input("periodUnit")] + public Input? PeriodUnit { get; set; } + + /// + /// SpotPriceLimit + /// + [Input("spotPriceLimit")] + public Input? SpotPriceLimit { get; set; } + + /// + /// SpotStrategy + /// + [Input("spotStrategy")] + public Input? SpotStrategy { get; set; } + + /// + /// SystemDisk See `SystemDisk` below. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + public QueueComputeNodeArgs() + { + } + public static new QueueComputeNodeArgs Empty => new QueueComputeNodeArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeGetArgs.cs new file mode 100644 index 0000000000..ef34139ce2 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeGetArgs.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class QueueComputeNodeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AutoRenew + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// AutoRenewPeriod + /// + [Input("autoRenewPeriod")] + public Input? AutoRenewPeriod { get; set; } + + /// + /// Duration + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Whether HT is enabled for the computing node. + /// + [Input("enableHt")] + public Input? EnableHt { get; set; } + + /// + /// ImageId + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// InstanceChargeType + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + /// + /// InstanceTypes + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + /// + /// Period + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// PeriodUnit + /// + [Input("periodUnit")] + public Input? PeriodUnit { get; set; } + + /// + /// SpotPriceLimit + /// + [Input("spotPriceLimit")] + public Input? SpotPriceLimit { get; set; } + + /// + /// SpotStrategy + /// + [Input("spotStrategy")] + public Input? SpotStrategy { get; set; } + + /// + /// SystemDisk See `SystemDisk` below. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + public QueueComputeNodeGetArgs() + { + } + public static new QueueComputeNodeGetArgs Empty => new QueueComputeNodeGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskArgs.cs b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskArgs.cs new file mode 100644 index 0000000000..c84b18e817 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class QueueComputeNodeSystemDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Category + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Level + /// + [Input("level")] + public Input? Level { get; set; } + + /// + /// Size + /// + [Input("size")] + public Input? Size { get; set; } + + public QueueComputeNodeSystemDiskArgs() + { + } + public static new QueueComputeNodeSystemDiskArgs Empty => new QueueComputeNodeSystemDiskArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskGetArgs.cs b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskGetArgs.cs new file mode 100644 index 0000000000..1489ed28b6 --- /dev/null +++ b/sdk/dotnet/Ehpc/Inputs/QueueComputeNodeSystemDiskGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Inputs +{ + + public sealed class QueueComputeNodeSystemDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Category + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Level + /// + [Input("level")] + public Input? Level { get; set; } + + /// + /// Size + /// + [Input("size")] + public Input? Size { get; set; } + + public QueueComputeNodeSystemDiskGetArgs() + { + } + public static new QueueComputeNodeSystemDiskGetArgs Empty => new QueueComputeNodeSystemDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Ehpc/JobTemplate.cs b/sdk/dotnet/Ehpc/JobTemplate.cs index 7e37714ec1..37bc592582 100644 --- a/sdk/dotnet/Ehpc/JobTemplate.cs +++ b/sdk/dotnet/Ehpc/JobTemplate.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Ehpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ehpc Job Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2Addon.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2Addon.cs new file mode 100644 index 0000000000..588fa9dceb --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2Addon.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2Addon + { + /// + /// Customize the specific configuration information of the service component. + /// + public readonly string Name; + /// + /// Customize the resource configuration of the service component. + /// + public readonly string? ResourcesSpec; + /// + /// Customize the service configuration of the service component. + /// + public readonly string? ServicesSpec; + /// + /// Customize the service component version. + /// + public readonly string Version; + + [OutputConstructor] + private ClusterV2Addon( + string name, + + string? resourcesSpec, + + string? servicesSpec, + + string version) + { + Name = name; + ResourcesSpec = resourcesSpec; + ServicesSpec = servicesSpec; + Version = version; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ClusterCredentials.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ClusterCredentials.cs new file mode 100644 index 0000000000..a91acf1fcf --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ClusterCredentials.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ClusterCredentials + { + /// + /// The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + /// + public readonly string? Password; + + [OutputConstructor] + private ClusterV2ClusterCredentials(string? password) + { + Password = password; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2Manager.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2Manager.cs new file mode 100644 index 0000000000..a97ca8578e --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2Manager.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2Manager + { + /// + /// The configurations of the domain account service. See `DirectoryService` below. + /// + public readonly Outputs.ClusterV2ManagerDirectoryService? DirectoryService; + /// + /// The configurations of the domain name resolution service. See `Dns` below. + /// + public readonly Outputs.ClusterV2ManagerDns? Dns; + /// + /// The hardware configurations of the management node. See `ManagerNode` below. + /// + public readonly Outputs.ClusterV2ManagerManagerNode? ManagerNode; + /// + /// The configurations of the scheduler service. See `Scheduler` below. + /// + public readonly Outputs.ClusterV2ManagerScheduler? Scheduler; + + [OutputConstructor] + private ClusterV2Manager( + Outputs.ClusterV2ManagerDirectoryService? directoryService, + + Outputs.ClusterV2ManagerDns? dns, + + Outputs.ClusterV2ManagerManagerNode? managerNode, + + Outputs.ClusterV2ManagerScheduler? scheduler) + { + DirectoryService = directoryService; + Dns = dns; + ManagerNode = managerNode; + Scheduler = scheduler; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDirectoryService.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDirectoryService.cs new file mode 100644 index 0000000000..7abb4f569c --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDirectoryService.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ManagerDirectoryService + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + public readonly string? Type; + public readonly string? Version; + + [OutputConstructor] + private ClusterV2ManagerDirectoryService( + string? type, + + string? version) + { + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDns.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDns.cs new file mode 100644 index 0000000000..08db4cf839 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerDns.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ManagerDns + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + public readonly string? Type; + public readonly string? Version; + + [OutputConstructor] + private ClusterV2ManagerDns( + string? type, + + string? version) + { + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNode.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNode.cs new file mode 100644 index 0000000000..52ba64bde1 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNode.cs @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ManagerManagerNode + { + /// + /// Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + /// - true: Automatic renewal. + /// - false: Do not renew automatically (default). + /// + public readonly bool? AutoRenew; + /// + /// The renewal duration of a single automatic renewal. Value range: + /// - When PeriodUnit = Week: 1, 2, 3. + /// - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + /// + /// Default value: 1. + /// + public readonly int? AutoRenewPeriod; + /// + /// The duration of the preemptible instance, in hours. Value: + /// - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + /// - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + /// + /// Default value: 1. + /// + public readonly int? Duration; + /// + /// EnableHT + /// + public readonly bool? EnableHt; + /// + /// The expiration time of the management node. + /// + public readonly string? ExpiredTime; + /// + /// ImageId + /// + public readonly string? ImageId; + /// + /// The instance billing method of the management node. Valid values: + /// + /// - PostPaid: pay-as-you-go + /// - PrePaid: subscription + /// + public readonly string? InstanceChargeType; + /// + /// The instance ID of the management node. + /// + public readonly string? InstanceId; + /// + /// The instance type of the management node. + /// + public readonly string? InstanceType; + /// + /// The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + /// - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + /// - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + /// + public readonly int? Period; + /// + /// The unit of duration of the year-to-month billing method. Value range: + /// - Week. + /// - Month (default). + /// + public readonly string? PeriodUnit; + /// + /// Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + /// + public readonly double? SpotPriceLimit; + /// + /// The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + /// - NoSpot: normal pay-as-you-go instances (default). + /// - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + /// - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + /// + public readonly string? SpotStrategy; + /// + /// System disk configuration of the management node. See `SystemDisk` below. + /// + public readonly Outputs.ClusterV2ManagerManagerNodeSystemDisk? SystemDisk; + + [OutputConstructor] + private ClusterV2ManagerManagerNode( + bool? autoRenew, + + int? autoRenewPeriod, + + int? duration, + + bool? enableHt, + + string? expiredTime, + + string? imageId, + + string? instanceChargeType, + + string? instanceId, + + string? instanceType, + + int? period, + + string? periodUnit, + + double? spotPriceLimit, + + string? spotStrategy, + + Outputs.ClusterV2ManagerManagerNodeSystemDisk? systemDisk) + { + AutoRenew = autoRenew; + AutoRenewPeriod = autoRenewPeriod; + Duration = duration; + EnableHt = enableHt; + ExpiredTime = expiredTime; + ImageId = imageId; + InstanceChargeType = instanceChargeType; + InstanceId = instanceId; + InstanceType = instanceType; + Period = period; + PeriodUnit = periodUnit; + SpotPriceLimit = spotPriceLimit; + SpotStrategy = spotStrategy; + SystemDisk = systemDisk; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNodeSystemDisk.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNodeSystemDisk.cs new file mode 100644 index 0000000000..e4ec482205 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerManagerNodeSystemDisk.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ManagerManagerNodeSystemDisk + { + /// + /// Manage the system disk configuration of the node. Value range: + /// - cloud_efficiency: The Ultra cloud disk. + /// - cloud_ssd:SSD cloud disk. + /// - cloud_essd:ESSD cloud disk. + /// - cloud: ordinary cloud disk. + /// + public readonly string? Category; + /// + /// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + /// - PL0: maximum random read/write IOPS 10000 for a single disk. + /// - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + /// - PL2: maximum random read/write IOPS 100000 for a single disk. + /// - PL3: maximum random read/write IOPS 1 million for a single disk. + /// + public readonly string? Level; + /// + /// The system disk size of the management node. Unit: GiB. Value range: + /// - Ordinary cloud tray: 20~500. + /// - ESSD cloud disk: + /// - PL0:1~2048. + /// - PL1:20~2048. + /// - PL2:461~2048. + /// - PL3:1261~2048. + /// - Other cloud disk types: 20~2048. + /// + public readonly int? Size; + + [OutputConstructor] + private ClusterV2ManagerManagerNodeSystemDisk( + string? category, + + string? level, + + int? size) + { + Category = category; + Level = level; + Size = size; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerScheduler.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerScheduler.cs new file mode 100644 index 0000000000..7d9334dfea --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2ManagerScheduler.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2ManagerScheduler + { + /// + /// The scheduler type. Valid values: + /// + /// - SLURM + /// - PBS + /// - OPENGRIDSCHEDULER + /// - LSF_PLUGIN + /// - PBS_PLUGIN + /// + public readonly string? Type; + public readonly string? Version; + + [OutputConstructor] + private ClusterV2ManagerScheduler( + string? type, + + string? version) + { + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/ClusterV2SharedStorage.cs b/sdk/dotnet/Ehpc/Outputs/ClusterV2SharedStorage.cs new file mode 100644 index 0000000000..49f62cd895 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/ClusterV2SharedStorage.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class ClusterV2SharedStorage + { + /// + /// The ID of the mounted file system. + /// + public readonly string? FileSystemId; + /// + /// The local Mount directory where the file system is mounted. + /// + public readonly string? MountDirectory; + /// + /// Storage mount options for the mounted file system. + /// + public readonly string? MountOptions; + /// + /// The mount point address of the mounted file system. + /// + public readonly string? MountTargetDomain; + /// + /// The remote directory to which the mounted file system needs to be mounted. + /// + public readonly string? NasDirectory; + /// + /// The protocol type of the mounted file system. Value range: + /// - NFS + /// - SMB + /// + public readonly string? ProtocolType; + + [OutputConstructor] + private ClusterV2SharedStorage( + string? fileSystemId, + + string? mountDirectory, + + string? mountOptions, + + string? mountTargetDomain, + + string? nasDirectory, + + string? protocolType) + { + FileSystemId = fileSystemId; + MountDirectory = mountDirectory; + MountOptions = mountOptions; + MountTargetDomain = mountTargetDomain; + NasDirectory = nasDirectory; + ProtocolType = protocolType; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/QueueComputeNode.cs b/sdk/dotnet/Ehpc/Outputs/QueueComputeNode.cs new file mode 100644 index 0000000000..a0bd765c57 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/QueueComputeNode.cs @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class QueueComputeNode + { + /// + /// AutoRenew + /// + public readonly bool? AutoRenew; + /// + /// AutoRenewPeriod + /// + public readonly int? AutoRenewPeriod; + /// + /// Duration + /// + public readonly int? Duration; + /// + /// Whether HT is enabled for the computing node. + /// + public readonly bool? EnableHt; + /// + /// ImageId + /// + public readonly string? ImageId; + /// + /// InstanceChargeType + /// + public readonly string? InstanceChargeType; + /// + /// InstanceTypes + /// + public readonly string? InstanceType; + /// + /// Period + /// + public readonly int? Period; + /// + /// PeriodUnit + /// + public readonly string? PeriodUnit; + /// + /// SpotPriceLimit + /// + public readonly double? SpotPriceLimit; + /// + /// SpotStrategy + /// + public readonly string? SpotStrategy; + /// + /// SystemDisk See `SystemDisk` below. + /// + public readonly Outputs.QueueComputeNodeSystemDisk? SystemDisk; + + [OutputConstructor] + private QueueComputeNode( + bool? autoRenew, + + int? autoRenewPeriod, + + int? duration, + + bool? enableHt, + + string? imageId, + + string? instanceChargeType, + + string? instanceType, + + int? period, + + string? periodUnit, + + double? spotPriceLimit, + + string? spotStrategy, + + Outputs.QueueComputeNodeSystemDisk? systemDisk) + { + AutoRenew = autoRenew; + AutoRenewPeriod = autoRenewPeriod; + Duration = duration; + EnableHt = enableHt; + ImageId = imageId; + InstanceChargeType = instanceChargeType; + InstanceType = instanceType; + Period = period; + PeriodUnit = periodUnit; + SpotPriceLimit = spotPriceLimit; + SpotStrategy = spotStrategy; + SystemDisk = systemDisk; + } + } +} diff --git a/sdk/dotnet/Ehpc/Outputs/QueueComputeNodeSystemDisk.cs b/sdk/dotnet/Ehpc/Outputs/QueueComputeNodeSystemDisk.cs new file mode 100644 index 0000000000..aa1b33b2a0 --- /dev/null +++ b/sdk/dotnet/Ehpc/Outputs/QueueComputeNodeSystemDisk.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc.Outputs +{ + + [OutputType] + public sealed class QueueComputeNodeSystemDisk + { + /// + /// Category + /// + public readonly string? Category; + /// + /// Level + /// + public readonly string? Level; + /// + /// Size + /// + public readonly int? Size; + + [OutputConstructor] + private QueueComputeNodeSystemDisk( + string? category, + + string? level, + + int? size) + { + Category = category; + Level = level; + Size = size; + } + } +} diff --git a/sdk/dotnet/Ehpc/Queue.cs b/sdk/dotnet/Ehpc/Queue.cs new file mode 100644 index 0000000000..ec45cc914e --- /dev/null +++ b/sdk/dotnet/Ehpc/Queue.cs @@ -0,0 +1,603 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Ehpc +{ + /// + /// Provides a Ehpc Queue resource. + /// + /// E-HPC the compute queue of the cluster. + /// + /// For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var queueMinimalExampleVpc = new AliCloud.Vpc.Network("queue_minimal_example_vpc", new() + /// { + /// IsDefault = false, + /// CidrBlock = "10.0.0.0/8", + /// VpcName = "example-cluster-vpc", + /// }); + /// + /// var queueMinimalExampleVswitch = new AliCloud.Vpc.Switch("queue_minimal_example_vswitch", new() + /// { + /// IsDefault = false, + /// VpcId = queueMinimalExampleVpc.Id, + /// ZoneId = "cn-hangzhou-k", + /// CidrBlock = "10.0.0.0/24", + /// VswitchName = "example-cluster-vsw", + /// }); + /// + /// var queueMinimalExampleNas = new AliCloud.Nas.FileSystem("queue_minimal_example_nas", new() + /// { + /// Description = "example-cluster-nas", + /// StorageType = "Capacity", + /// NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs + /// { + /// Enabled = false, + /// }, + /// ZoneId = "cn-hangzhou-k", + /// EncryptType = 0, + /// ProtocolType = "NFS", + /// FileSystemType = "standard", + /// }); + /// + /// var queueMinimalExampleAccessGroup = new AliCloud.Nas.AccessGroup("queue_minimal_example_access_group", new() + /// { + /// AccessGroupType = "Vpc", + /// Description = name, + /// AccessGroupName = "StandardMountTarget", + /// FileSystemType = "standard", + /// }); + /// + /// var queueMinimalExampleSecurityGroup = new AliCloud.Ecs.SecurityGroup("queue_minimal_example_security_group", new() + /// { + /// VpcId = queueMinimalExampleVpc.Id, + /// SecurityGroupType = "normal", + /// }); + /// + /// var queueMinimalExampleMountDomain = new AliCloud.Nas.MountTarget("queue_minimal_example_mount_domain", new() + /// { + /// VpcId = queueMinimalExampleVpc.Id, + /// NetworkType = "Vpc", + /// AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName, + /// VswitchId = queueMinimalExampleVswitch.Id, + /// FileSystemId = queueMinimalExampleNas.Id, + /// }); + /// + /// var queueMinimalExampleAccessRule = new AliCloud.Nas.AccessRule("queue_minimal_example_access_rule", new() + /// { + /// Priority = 1, + /// AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName, + /// FileSystemType = queueMinimalExampleNas.FileSystemType, + /// SourceCidrIp = "10.0.0.0/8", + /// }); + /// + /// var queueMinimalClusterExample = new AliCloud.Ehpc.ClusterV2("queue_minimal_cluster_example", new() + /// { + /// ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs + /// { + /// Password = "aliHPC123", + /// }, + /// ClusterVpcId = queueMinimalExampleVpc.Id, + /// ClusterCategory = "Standard", + /// ClusterMode = "Integrated", + /// SecurityGroupId = queueMinimalExampleSecurityGroup.Id, + /// Addons = new[] + /// { + /// new AliCloud.Ehpc.Inputs.ClusterV2AddonArgs + /// { + /// Version = "1.0", + /// ServicesSpec = @"[ + /// { + /// \""ServiceName\"": \""SSH\"", + /// \""NetworkACL\"": [ + /// { + /// \""Port\"": 22, + /// \""SourceCidrIp\"": \""0.0.0.0/0\"", + /// \""IpProtocol\"": \""TCP\"" + /// } + /// ] + /// }, + /// { + /// \""ServiceName\"": \""VNC\"", + /// \""NetworkACL\"": [ + /// { + /// \""Port\"": 12016, + /// \""SourceCidrIp\"": \""0.0.0.0/0\"", + /// \""IpProtocol\"": \""TCP\"" + /// } + /// ] + /// }, + /// { + /// \""ServiceName\"": \""CLIENT\"", + /// \""ServiceAccessType\"": \""URL\"", + /// \""ServiceAccessUrl\"": \""https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\"", + /// \""NetworkACL\"": [ + /// { + /// \""Port\"": 12011, + /// \""SourceCidrIp\"": \""0.0.0.0/0\"", + /// \""IpProtocol\"": \""TCP\"" + /// } + /// ] + /// } + /// ] + /// ", + /// ResourcesSpec = @"{ + /// \""EipResource\"": { + /// \""AutoCreate\"": true + /// }, + /// \""EcsResources\"": [ + /// { + /// \""ImageId\"": \""centos_7_6_x64_20G_alibase_20211130.vhd\"", + /// \""EnableHT\"": true, + /// \""InstanceChargeType\"": \""PostPaid\"", + /// \""InstanceType\"": \""ecs.c7.xlarge\"", + /// \""SpotStrategy\"": \""NoSpot\"", + /// \""SystemDisk\"": { + /// \""Category\"": \""cloud_essd\"", + /// \""Size\"": 40, + /// \""Level\"": \""PL0\"" + /// }, + /// \""DataDisks\"": [ + /// { + /// \""Category\"": \""cloud_essd\"", + /// \""Size\"": 40, + /// \""Level\"": \""PL0\"" + /// } + /// ] + /// } + /// ] + /// } + /// ", + /// Name = "Login", + /// }, + /// }, + /// ClusterName = "minimal-example-cluster", + /// DeletionProtection = false, + /// SharedStorages = new[] + /// { + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/home", + /// NasDirectory = "/", + /// MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = queueMinimalExampleNas.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/opt", + /// NasDirectory = "/", + /// MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = queueMinimalExampleNas.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs + /// { + /// MountDirectory = "/ehpcdata", + /// NasDirectory = "/", + /// MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain, + /// ProtocolType = "NFS", + /// FileSystemId = queueMinimalExampleNas.Id, + /// MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + /// }, + /// }, + /// ClusterVswitchId = queueMinimalExampleVswitch.Id, + /// Manager = new AliCloud.Ehpc.Inputs.ClusterV2ManagerArgs + /// { + /// ManagerNode = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeArgs + /// { + /// SystemDisk = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeSystemDiskArgs + /// { + /// Category = "cloud_essd", + /// Size = 40, + /// Level = "PL0", + /// }, + /// EnableHt = true, + /// InstanceChargeType = "PostPaid", + /// ImageId = "centos_7_6_x64_20G_alibase_20211130.vhd", + /// InstanceType = "ecs.c6.xlarge", + /// SpotStrategy = "NoSpot", + /// }, + /// Scheduler = new AliCloud.Ehpc.Inputs.ClusterV2ManagerSchedulerArgs + /// { + /// Type = "SLURM", + /// Version = "22.05.8", + /// }, + /// Dns = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDnsArgs + /// { + /// Type = "nis", + /// Version = "1.0", + /// }, + /// DirectoryService = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDirectoryServiceArgs + /// { + /// Type = "nis", + /// Version = "1.0", + /// }, + /// }, + /// }, new CustomResourceOptions + /// { + /// DependsOn = + /// { + /// queueMinimalExampleAccessRule, + /// }, + /// }); + /// + /// var @default = new AliCloud.Ehpc.Queue("default", new() + /// { + /// ClusterId = queueMinimalClusterExample.Id, + /// QueueName = "autoque1", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Ehpc Queue can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:ehpc/queue:Queue example <cluster_id>:<queue_name> + /// ``` + /// + [AliCloudResourceType("alicloud:ehpc/queue:Queue")] + public partial class Queue : global::Pulumi.CustomResource + { + /// + /// The cluster ID. + /// You can call the ListClusters operation to query the cluster ID. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `ComputeNodes` below. + /// + [Output("computeNodes")] + public Output> ComputeNodes { get; private set; } = null!; + + /// + /// The creation time of the resource + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Specifies whether to enable auto scale-in for the queue. Valid values: + /// + /// - true + /// - false + /// + [Output("enableScaleIn")] + public Output EnableScaleIn { get; private set; } = null!; + + /// + /// Specifies whether to enable auto scale-out for the queue. Valid values: + /// + /// - true + /// - false + /// + [Output("enableScaleOut")] + public Output EnableScaleOut { get; private set; } = null!; + + /// + /// The hostname prefix of the added compute nodes. + /// + [Output("hostnamePrefix")] + public Output HostnamePrefix { get; private set; } = null!; + + /// + /// The hostname suffix of the compute nodes in the queue. + /// + [Output("hostnameSuffix")] + public Output HostnameSuffix { get; private set; } = null!; + + /// + /// The initial number of compute nodes in the queue. + /// + [Output("initialCount")] + public Output InitialCount { get; private set; } = null!; + + /// + /// The type of the network for interconnecting compute nodes in the queue. + /// + [Output("interConnect")] + public Output InterConnect { get; private set; } = null!; + + /// + /// The maximum number of compute nodes that the queue can contain. + /// + [Output("maxCount")] + public Output MaxCount { get; private set; } = null!; + + /// + /// The minimum number of compute nodes that the queue must contain. + /// + [Output("minCount")] + public Output MinCount { get; private set; } = null!; + + /// + /// The queue name. + /// + [Output("queueName")] + public Output QueueName { get; private set; } = null!; + + /// + /// The vSwitches available for use by compute nodes in the queue. + /// + [Output("vswitchIds")] + public Output> VswitchIds { get; private set; } = null!; + + + /// + /// Create a Queue 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 Queue(string name, QueueArgs? args = null, CustomResourceOptions? options = null) + : base("alicloud:ehpc/queue:Queue", name, args ?? new QueueArgs(), MakeResourceOptions(options, "")) + { + } + + private Queue(string name, Input id, QueueState? state = null, CustomResourceOptions? options = null) + : base("alicloud:ehpc/queue:Queue", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Queue 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 Queue Get(string name, Input id, QueueState? state = null, CustomResourceOptions? options = null) + { + return new Queue(name, id, state, options); + } + } + + public sealed class QueueArgs : global::Pulumi.ResourceArgs + { + /// + /// The cluster ID. + /// You can call the ListClusters operation to query the cluster ID. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + [Input("computeNodes")] + private InputList? _computeNodes; + + /// + /// The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `ComputeNodes` below. + /// + public InputList ComputeNodes + { + get => _computeNodes ?? (_computeNodes = new InputList()); + set => _computeNodes = value; + } + + /// + /// Specifies whether to enable auto scale-in for the queue. Valid values: + /// + /// - true + /// - false + /// + [Input("enableScaleIn")] + public Input? EnableScaleIn { get; set; } + + /// + /// Specifies whether to enable auto scale-out for the queue. Valid values: + /// + /// - true + /// - false + /// + [Input("enableScaleOut")] + public Input? EnableScaleOut { get; set; } + + /// + /// The hostname prefix of the added compute nodes. + /// + [Input("hostnamePrefix")] + public Input? HostnamePrefix { get; set; } + + /// + /// The hostname suffix of the compute nodes in the queue. + /// + [Input("hostnameSuffix")] + public Input? HostnameSuffix { get; set; } + + /// + /// The initial number of compute nodes in the queue. + /// + [Input("initialCount")] + public Input? InitialCount { get; set; } + + /// + /// The type of the network for interconnecting compute nodes in the queue. + /// + [Input("interConnect")] + public Input? InterConnect { get; set; } + + /// + /// The maximum number of compute nodes that the queue can contain. + /// + [Input("maxCount")] + public Input? MaxCount { get; set; } + + /// + /// The minimum number of compute nodes that the queue must contain. + /// + [Input("minCount")] + public Input? MinCount { get; set; } + + /// + /// The queue name. + /// + [Input("queueName")] + public Input? QueueName { get; set; } + + [Input("vswitchIds")] + private InputList? _vswitchIds; + + /// + /// The vSwitches available for use by compute nodes in the queue. + /// + public InputList VswitchIds + { + get => _vswitchIds ?? (_vswitchIds = new InputList()); + set => _vswitchIds = value; + } + + public QueueArgs() + { + } + public static new QueueArgs Empty => new QueueArgs(); + } + + public sealed class QueueState : global::Pulumi.ResourceArgs + { + /// + /// The cluster ID. + /// You can call the ListClusters operation to query the cluster ID. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + [Input("computeNodes")] + private InputList? _computeNodes; + + /// + /// The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `ComputeNodes` below. + /// + public InputList ComputeNodes + { + get => _computeNodes ?? (_computeNodes = new InputList()); + set => _computeNodes = value; + } + + /// + /// The creation time of the resource + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Specifies whether to enable auto scale-in for the queue. Valid values: + /// + /// - true + /// - false + /// + [Input("enableScaleIn")] + public Input? EnableScaleIn { get; set; } + + /// + /// Specifies whether to enable auto scale-out for the queue. Valid values: + /// + /// - true + /// - false + /// + [Input("enableScaleOut")] + public Input? EnableScaleOut { get; set; } + + /// + /// The hostname prefix of the added compute nodes. + /// + [Input("hostnamePrefix")] + public Input? HostnamePrefix { get; set; } + + /// + /// The hostname suffix of the compute nodes in the queue. + /// + [Input("hostnameSuffix")] + public Input? HostnameSuffix { get; set; } + + /// + /// The initial number of compute nodes in the queue. + /// + [Input("initialCount")] + public Input? InitialCount { get; set; } + + /// + /// The type of the network for interconnecting compute nodes in the queue. + /// + [Input("interConnect")] + public Input? InterConnect { get; set; } + + /// + /// The maximum number of compute nodes that the queue can contain. + /// + [Input("maxCount")] + public Input? MaxCount { get; set; } + + /// + /// The minimum number of compute nodes that the queue must contain. + /// + [Input("minCount")] + public Input? MinCount { get; set; } + + /// + /// The queue name. + /// + [Input("queueName")] + public Input? QueueName { get; set; } + + [Input("vswitchIds")] + private InputList? _vswitchIds; + + /// + /// The vSwitches available for use by compute nodes in the queue. + /// + public InputList VswitchIds + { + get => _vswitchIds ?? (_vswitchIds = new InputList()); + set => _vswitchIds = value; + } + + public QueueState() + { + } + public static new QueueState Empty => new QueueState(); + } +} diff --git a/sdk/dotnet/EipAnycast/AnycastEipAddress.cs b/sdk/dotnet/EipAnycast/AnycastEipAddress.cs index 133dd889f3..03b2cd774c 100644 --- a/sdk/dotnet/EipAnycast/AnycastEipAddress.cs +++ b/sdk/dotnet/EipAnycast/AnycastEipAddress.cs @@ -10,7 +10,9 @@ namespace Pulumi.AliCloud.EipAnycast { /// - /// Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. + /// Provides a Eipanycast Anycast Eip Address resource. + /// + /// Anycast Elastic IP Address. /// /// For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). /// @@ -43,6 +45,8 @@ namespace Pulumi.AliCloud.EipAnycast /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -73,7 +77,7 @@ public partial class AnycastEipAddress : global::Pulumi.CustomResource public Output CreateTime { get; private set; } = null!; /// - /// Anycast EIP instance description. + /// Anycast EIP instance description /// [Output("description")] public Output Description { get; private set; } = null!; @@ -85,7 +89,7 @@ public partial class AnycastEipAddress : global::Pulumi.CustomResource public Output InternetChargeType { get; private set; } = null!; /// - /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode /// [Output("paymentType")] public Output PaymentType { get; private set; } = null!; @@ -173,7 +177,7 @@ public sealed class AnycastEipAddressArgs : global::Pulumi.ResourceArgs public Input? Bandwidth { get; set; } /// - /// Anycast EIP instance description. + /// Anycast EIP instance description /// [Input("description")] public Input? Description { get; set; } @@ -185,7 +189,7 @@ public sealed class AnycastEipAddressArgs : global::Pulumi.ResourceArgs public Input? InternetChargeType { get; set; } /// - /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode /// [Input("paymentType")] public Input? PaymentType { get; set; } @@ -241,7 +245,7 @@ public sealed class AnycastEipAddressState : global::Pulumi.ResourceArgs public Input? CreateTime { get; set; } /// - /// Anycast EIP instance description. + /// Anycast EIP instance description /// [Input("description")] public Input? Description { get; set; } @@ -253,7 +257,7 @@ public sealed class AnycastEipAddressState : global::Pulumi.ResourceArgs public Input? InternetChargeType { get; set; } /// - /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + /// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode /// [Input("paymentType")] public Input? PaymentType { get; set; } diff --git a/sdk/dotnet/EipAnycast/AnycastEipAddressAttachment.cs b/sdk/dotnet/EipAnycast/AnycastEipAddressAttachment.cs index 262b512e16..3dea8243ea 100644 --- a/sdk/dotnet/EipAnycast/AnycastEipAddressAttachment.cs +++ b/sdk/dotnet/EipAnycast/AnycastEipAddressAttachment.cs @@ -228,6 +228,8 @@ namespace Pulumi.AliCloud.EipAnycast /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationArgs.cs new file mode 100644 index 0000000000..c8ea8eceb9 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceClientNodeConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of disks in the Elasticsearch cluster coordination node + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch cluster coordinates node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch cluster coordination node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster coordination node specification + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceClientNodeConfigurationArgs() + { + } + public static new InstanceClientNodeConfigurationArgs Empty => new InstanceClientNodeConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationGetArgs.cs new file mode 100644 index 0000000000..0b34ebe78d --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceClientNodeConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceClientNodeConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of disks in the Elasticsearch cluster coordination node + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch cluster coordinates node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch cluster coordination node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster coordination node specification + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceClientNodeConfigurationGetArgs() + { + } + public static new InstanceClientNodeConfigurationGetArgs Empty => new InstanceClientNodeConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationArgs.cs new file mode 100644 index 0000000000..a21c7f01bf --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceDataNodeConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of data nodes in the Elasticsearch cluster + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch data node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Whether the Elasticsearch data node disk is encrypted + /// + [Input("diskEncryption")] + public Input? DiskEncryption { get; set; } + + /// + /// Elasticsearch cluster data node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster data node Essd disk level + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// Elasticsearch data node specification + /// + [Input("spec", required: true)] + public Input Spec { get; set; } = null!; + + public InstanceDataNodeConfigurationArgs() + { + } + public static new InstanceDataNodeConfigurationArgs Empty => new InstanceDataNodeConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationGetArgs.cs new file mode 100644 index 0000000000..c6c366d4b2 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceDataNodeConfigurationGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceDataNodeConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of data nodes in the Elasticsearch cluster + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch data node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Whether the Elasticsearch data node disk is encrypted + /// + [Input("diskEncryption")] + public Input? DiskEncryption { get; set; } + + /// + /// Elasticsearch cluster data node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster data node Essd disk level + /// + [Input("performanceLevel")] + public Input? PerformanceLevel { get; set; } + + /// + /// Elasticsearch data node specification + /// + [Input("spec", required: true)] + public Input Spec { get; set; } = null!; + + public InstanceDataNodeConfigurationGetArgs() + { + } + public static new InstanceDataNodeConfigurationGetArgs Empty => new InstanceDataNodeConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationArgs.cs new file mode 100644 index 0000000000..13a0cfe3a2 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceKibanaConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of disks of the Elasticsearch Kibana node. The default value is 1. + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch Kibana node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch Kibana node disk specifications + /// + [Input("spec", required: true)] + public Input Spec { get; set; } = null!; + + public InstanceKibanaConfigurationArgs() + { + } + public static new InstanceKibanaConfigurationArgs Empty => new InstanceKibanaConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationGetArgs.cs new file mode 100644 index 0000000000..3ca37290e2 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceKibanaConfigurationGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceKibanaConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of disks of the Elasticsearch Kibana node. The default value is 1. + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch Kibana node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch Kibana node disk specifications + /// + [Input("spec", required: true)] + public Input Spec { get; set; } = null!; + + public InstanceKibanaConfigurationGetArgs() + { + } + public static new InstanceKibanaConfigurationGetArgs Empty => new InstanceKibanaConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationArgs.cs new file mode 100644 index 0000000000..0d9144cf6f --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceMasterConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Elasticsearch proprietary master node number of disks + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch proprietary master node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch proprietary master node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch proprietary master node specifications + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceMasterConfigurationArgs() + { + } + public static new InstanceMasterConfigurationArgs Empty => new InstanceMasterConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationGetArgs.cs new file mode 100644 index 0000000000..abc48e6391 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceMasterConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceMasterConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Elasticsearch proprietary master node number of disks + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch proprietary master node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch proprietary master node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch proprietary master node specifications + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceMasterConfigurationGetArgs() + { + } + public static new InstanceMasterConfigurationGetArgs Empty => new InstanceMasterConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationArgs.cs new file mode 100644 index 0000000000..5258c1c249 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceWarmNodeConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Elasticsearch cluster cold data node disk number + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch cluster cold data node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch cluster cold data node Disk encryption + /// + [Input("diskEncryption")] + public Input? DiskEncryption { get; set; } + + /// + /// Elasticsearch cluster cold data node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster cold data node Disk Specification + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceWarmNodeConfigurationArgs() + { + } + public static new InstanceWarmNodeConfigurationArgs Empty => new InstanceWarmNodeConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationGetArgs.cs b/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationGetArgs.cs new file mode 100644 index 0000000000..1934b193f7 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Inputs/InstanceWarmNodeConfigurationGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Inputs +{ + + public sealed class InstanceWarmNodeConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Elasticsearch cluster cold data node disk number + /// + [Input("amount")] + public Input? Amount { get; set; } + + /// + /// Elasticsearch cluster cold data node disk size + /// + [Input("disk")] + public Input? Disk { get; set; } + + /// + /// Elasticsearch cluster cold data node Disk encryption + /// + [Input("diskEncryption")] + public Input? DiskEncryption { get; set; } + + /// + /// Elasticsearch cluster cold data node disk type + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Elasticsearch cluster cold data node Disk Specification + /// + [Input("spec")] + public Input? Spec { get; set; } + + public InstanceWarmNodeConfigurationGetArgs() + { + } + public static new InstanceWarmNodeConfigurationGetArgs Empty => new InstanceWarmNodeConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/ElasticSearch/Instance.cs b/sdk/dotnet/ElasticSearch/Instance.cs index 69eb205a75..1a521fc945 100644 --- a/sdk/dotnet/ElasticSearch/Instance.cs +++ b/sdk/dotnet/ElasticSearch/Instance.cs @@ -10,19 +10,86 @@ namespace Pulumi.AliCloud.ElasticSearch { /// + /// Provides a Elasticsearch Instance resource. + /// + /// For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). + /// + /// > **NOTE:** Available since v1.30.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "tf-example"; + /// var @default = AliCloud.ElasticSearch.GetZones.Invoke(); + /// + /// var defaultNetwork = new AliCloud.Vpc.Network("default", new() + /// { + /// VpcName = name, + /// CidrBlock = "10.0.0.0/8", + /// }); + /// + /// var defaultSwitch = new AliCloud.Vpc.Switch("default", new() + /// { + /// VswitchName = name, + /// CidrBlock = "10.1.0.0/16", + /// VpcId = defaultNetwork.Id, + /// ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)), + /// }); + /// + /// var defaultInstance = new AliCloud.ElasticSearch.Instance("default", new() + /// { + /// Description = name, + /// VswitchId = defaultSwitch.Id, + /// Password = "Examplw1234", + /// Version = "7.10_with_X-Pack", + /// InstanceChargeType = "PostPaid", + /// DataNodeAmount = 2, + /// DataNodeSpec = "elasticsearch.sn2ne.large", + /// DataNodeDiskSize = 20, + /// DataNodeDiskType = "cloud_ssd", + /// KibanaNodeSpec = "elasticsearch.sn2ne.large", + /// DataNodeDiskPerformanceLevel = "PL1", + /// Tags = + /// { + /// { "Created", "TF" }, + /// { "For", "example" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// Elasticsearch can be imported using the id, e.g. + /// Elasticsearch Instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 + /// $ pulumi import alicloud:elasticsearch/instance:Instance example <id> /// ``` /// [AliCloudResourceType("alicloud:elasticsearch/instance:Instance")] public partial class Instance : global::Pulumi.CustomResource { /// - /// Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `InstanceChargeType` is `PrePaid` and `RenewStatus` is `AutoRenewal`. + /// Schema Type: + /// + [Output("archType")] + public Output ArchType { get; private set; } = null!; + + /// + /// Renewal Period /// [Output("autoRenewDuration")] public Output AutoRenewDuration { get; private set; } = null!; @@ -31,13 +98,25 @@ public partial class Instance : global::Pulumi.CustomResource /// The Elasticsearch cluster's client node quantity, between 2 and 25. /// [Output("clientNodeAmount")] - public Output ClientNodeAmount { get; private set; } = null!; + public Output ClientNodeAmount { get; private set; } = null!; + + /// + /// Elasticsearch cluster coordination node configuration See `ClientNodeConfiguration` below. + /// + [Output("clientNodeConfiguration")] + public Output ClientNodeConfiguration { get; private set; } = null!; /// /// The client node spec. If specified, client node will be created. /// [Output("clientNodeSpec")] - public Output ClientNodeSpec { get; private set; } = null!; + public Output ClientNodeSpec { get; private set; } = null!; + + /// + /// Instance creation time + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; /// /// The Elasticsearch cluster's data node quantity, between 2 and 50. @@ -45,17 +124,23 @@ public partial class Instance : global::Pulumi.CustomResource [Output("dataNodeAmount")] public Output DataNodeAmount { get; private set; } = null!; + /// + /// Elasticsearch data node information See `DataNodeConfiguration` below. + /// + [Output("dataNodeConfiguration")] + public Output DataNodeConfiguration { get; private set; } = null!; + /// /// If encrypt the data node disk. Valid values are `True`, `False`. Default to `False`. /// [Output("dataNodeDiskEncrypted")] - public Output DataNodeDiskEncrypted { get; private set; } = null!; + public Output DataNodeDiskEncrypted { get; private set; } = null!; /// /// Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `DataNodeDiskType` muse be `CloudEssd`. /// [Output("dataNodeDiskPerformanceLevel")] - public Output DataNodeDiskPerformanceLevel { get; private set; } = null!; + public Output DataNodeDiskPerformanceLevel { get; private set; } = null!; /// /// The single data node storage space. @@ -76,43 +161,66 @@ public partial class Instance : global::Pulumi.CustomResource public Output DataNodeSpec { get; private set; } = null!; /// - /// The description of instance. It a string of 0 to 30 characters. + /// Instance name /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// Instance connection domain (only VPC network access supported). + /// Elasticsearch cluster private domain name /// [Output("domain")] public Output Domain { get; private set; } = null!; /// - /// Bool, default to false. When it set to true, the instance can close kibana private network access。 + /// Whether to enable Kibana private network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Output("enableKibanaPrivateNetwork")] - public Output EnableKibanaPrivateNetwork { get; private set; } = null!; + public Output EnableKibanaPrivateNetwork { get; private set; } = null!; /// - /// Bool, default to true. When it set to false, the instance can enable kibana public network access。 + /// Does Kibana enable public access /// [Output("enableKibanaPublicNetwork")] - public Output EnableKibanaPublicNetwork { get; private set; } = null!; + public Output EnableKibanaPublicNetwork { get; private set; } = null!; /// - /// Bool, default to false. When it set to true, the instance can enable public network access。 + /// Whether to enable Kibana public network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Output("enablePublic")] - public Output EnablePublic { get; private set; } = null!; + public Output EnablePublic { get; private set; } = null!; + + [Output("force")] + public Output Force { get; private set; } = null!; + + /// + /// Version type. + /// + [Output("instanceCategory")] + public Output InstanceCategory { get; private set; } = null!; /// /// Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your InstanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `Period`. /// [Output("instanceChargeType")] - public Output InstanceChargeType { get; private set; } = null!; + public Output InstanceChargeType { get; private set; } = null!; /// - /// Kibana console domain (Internet access supported). + /// Elasticsearch Kibana node settings See `KibanaConfiguration` below. + /// + [Output("kibanaConfiguration")] + public Output KibanaConfiguration { get; private set; } = null!; + + /// + /// Kibana address /// [Output("kibanaDomain")] public Output KibanaDomain { get; private set; } = null!; @@ -124,25 +232,25 @@ public partial class Instance : global::Pulumi.CustomResource public Output KibanaNodeSpec { get; private set; } = null!; /// - /// Kibana console port. + /// The port assigned by the Kibana node. /// [Output("kibanaPort")] public Output KibanaPort { get; private set; } = null!; /// - /// the security group id associated with Kibana private network, this param is required when `EnableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `VswitchId` + /// Kibana private network security group ID /// [Output("kibanaPrivateSecurityGroupId")] public Output KibanaPrivateSecurityGroupId { get; private set; } = null!; /// - /// Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `KibanaPrivateSecurityGroupId` instead + /// Cluster Kibana node private network access whitelist /// [Output("kibanaPrivateWhitelists")] public Output> KibanaPrivateWhitelists { get; private set; } = null!; /// - /// Set the Kibana's IP whitelist in internet network. + /// Kibana private network access whitelist /// [Output("kibanaWhitelists")] public Output> KibanaWhitelists { get; private set; } = null!; @@ -159,29 +267,44 @@ public partial class Instance : global::Pulumi.CustomResource [Output("kmsEncryptionContext")] public Output?> KmsEncryptionContext { get; private set; } = null!; + /// + /// Elasticsearch proprietary master node configuration information See `MasterConfiguration` below. + /// + [Output("masterConfiguration")] + public Output MasterConfiguration { get; private set; } = null!; + /// /// The single master node storage space. Valid values are `PrePaid`, `PostPaid`. /// [Output("masterNodeDiskType")] - public Output MasterNodeDiskType { get; private set; } = null!; + public Output MasterNodeDiskType { get; private set; } = null!; /// /// The dedicated master node spec. If specified, dedicated master node will be created. /// [Output("masterNodeSpec")] - public Output MasterNodeSpec { get; private set; } = null!; + public Output MasterNodeSpec { get; private set; } = null!; + + [Output("orderActionType")] + public Output OrderActionType { get; private set; } = null!; /// - /// The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + /// The access password of the instance. /// [Output("password")] public Output Password { get; private set; } = null!; /// - /// The duration that you will buy Elasticsearch instance (in month). It is valid when InstanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + /// The payment method of the instance. Optional values: `Prepaid` (subscription) and `Postpaid` (pay-as-you-go) + /// + [Output("paymentType")] + public Output PaymentType { get; private set; } = null!; + + /// + /// The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. /// [Output("period")] - public Output Period { get; private set; } = null!; + public Output Period { get; private set; } = null!; /// /// Instance connection port. @@ -190,73 +313,76 @@ public partial class Instance : global::Pulumi.CustomResource public Output Port { get; private set; } = null!; /// - /// Set the instance's IP whitelist in VPC network. + /// Elasticsearch private network whitelist. (Same as EsIpWhitelist) /// [Output("privateWhitelists")] public Output> PrivateWhitelists { get; private set; } = null!; /// - /// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + /// Access protocol. Optional values: `HTTP` and **HTTPS * *. /// [Output("protocol")] - public Output Protocol { get; private set; } = null!; + public Output Protocol { get; private set; } = null!; /// - /// Instance connection public domain. + /// The public network address of the current instance. /// [Output("publicDomain")] public Output PublicDomain { get; private set; } = null!; /// - /// Instance connection public port. + /// Elasticsearch cluster public network access port /// [Output("publicPort")] public Output PublicPort { get; private set; } = null!; /// - /// Set the instance's IP whitelist in internet network. + /// Elasticseach public network access whitelist IP list /// [Output("publicWhitelists")] public Output> PublicWhitelists { get; private set; } = null!; /// - /// The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `InstanceChargeType` must be `PrePaid`. + /// Renewal Status /// [Output("renewStatus")] - public Output RenewStatus { get; private set; } = null!; + public Output RenewStatus { get; private set; } = null!; /// - /// Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + /// Renewal Period Unit /// [Output("renewalDurationUnit")] - public Output RenewalDurationUnit { get; private set; } = null!; + public Output RenewalDurationUnit { get; private set; } = null!; /// - /// The ID of resource group which the Elasticsearch instance belongs. + /// Resource group to which the instance belongs /// [Output("resourceGroupId")] public Output ResourceGroupId { get; private set; } = null!; /// - /// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + /// Configuration information /// [Output("settingConfig")] public Output> SettingConfig { get; private set; } = null!; /// - /// The Elasticsearch instance status. Includes `Active`, `Activating`, `Inactive`. Some operations are denied when status is not `Active`. + /// Instance change status /// [Output("status")] public Output Status { get; private set; } = null!; /// - /// A mapping of tags to assign to the resource. + /// Collection of tag key-value pairs /// [Output("tags")] public Output?> Tags { get; private set; } = null!; + [Output("updateStrategy")] + public Output UpdateStrategy { get; private set; } = null!; + /// - /// Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + /// Instance version /// [Output("version")] public Output Version { get; private set; } = null!; @@ -271,37 +397,45 @@ public partial class Instance : global::Pulumi.CustomResource /// The Elasticsearch cluster's warm node quantity, between 3 and 50. /// [Output("warmNodeAmount")] - public Output WarmNodeAmount { get; private set; } = null!; + public Output WarmNodeAmount { get; private set; } = null!; + + /// + /// Elasticsearch cluster cold data node configuration See `WarmNodeConfiguration` below. + /// + [Output("warmNodeConfiguration")] + public Output WarmNodeConfiguration { get; private set; } = null!; /// /// If encrypt the warm node disk. Valid values are `True`, `False`. Default to `False`. /// [Output("warmNodeDiskEncrypted")] - public Output WarmNodeDiskEncrypted { get; private set; } = null!; + public Output WarmNodeDiskEncrypted { get; private set; } = null!; /// /// The single warm node storage space, should between 500 and 20480 /// [Output("warmNodeDiskSize")] - public Output WarmNodeDiskSize { get; private set; } = null!; + public Output WarmNodeDiskSize { get; private set; } = null!; /// /// The warm node disk type. Supported values: cloud_efficiency. /// [Output("warmNodeDiskType")] - public Output WarmNodeDiskType { get; private set; } = null!; + public Output WarmNodeDiskType { get; private set; } = null!; /// /// The warm node specifications of the Elasticsearch instance. /// [Output("warmNodeSpec")] - public Output WarmNodeSpec { get; private set; } = null!; + public Output WarmNodeSpec { get; private set; } = null!; /// - /// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `DataNodeAmount` value must be an integral multiple of the `ZoneCount` value. + /// The number of zones in the Elasticsearch instance. + /// + /// The following arguments will be discarded. Please use new fields as soon as possible: /// [Output("zoneCount")] - public Output ZoneCount { get; private set; } = null!; + public Output ZoneCount { get; private set; } = null!; /// @@ -354,7 +488,7 @@ public static Instance Get(string name, Input id, InstanceState? state = public sealed class InstanceArgs : global::Pulumi.ResourceArgs { /// - /// Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `InstanceChargeType` is `PrePaid` and `RenewStatus` is `AutoRenewal`. + /// Renewal Period /// [Input("autoRenewDuration")] public Input? AutoRenewDuration { get; set; } @@ -365,6 +499,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("clientNodeAmount")] public Input? ClientNodeAmount { get; set; } + /// + /// Elasticsearch cluster coordination node configuration See `ClientNodeConfiguration` below. + /// + [Input("clientNodeConfiguration")] + public Input? ClientNodeConfiguration { get; set; } + /// /// The client node spec. If specified, client node will be created. /// @@ -374,8 +514,14 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs /// /// The Elasticsearch cluster's data node quantity, between 2 and 50. /// - [Input("dataNodeAmount", required: true)] - public Input DataNodeAmount { get; set; } = null!; + [Input("dataNodeAmount")] + public Input? DataNodeAmount { get; set; } + + /// + /// Elasticsearch data node information See `DataNodeConfiguration` below. + /// + [Input("dataNodeConfiguration")] + public Input? DataNodeConfiguration { get; set; } /// /// If encrypt the data node disk. Valid values are `True`, `False`. Default to `False`. @@ -392,51 +538,74 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs /// /// The single data node storage space. /// - [Input("dataNodeDiskSize", required: true)] - public Input DataNodeDiskSize { get; set; } = null!; + [Input("dataNodeDiskSize")] + public Input? DataNodeDiskSize { get; set; } /// /// The data node disk type. Supported values: cloud_ssd, cloud_efficiency. /// - [Input("dataNodeDiskType", required: true)] - public Input DataNodeDiskType { get; set; } = null!; + [Input("dataNodeDiskType")] + public Input? DataNodeDiskType { get; set; } /// /// The data node specifications of the Elasticsearch instance. /// - [Input("dataNodeSpec", required: true)] - public Input DataNodeSpec { get; set; } = null!; + [Input("dataNodeSpec")] + public Input? DataNodeSpec { get; set; } /// - /// The description of instance. It a string of 0 to 30 characters. + /// Instance name /// [Input("description")] public Input? Description { get; set; } /// - /// Bool, default to false. When it set to true, the instance can close kibana private network access。 + /// Whether to enable Kibana private network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Input("enableKibanaPrivateNetwork")] public Input? EnableKibanaPrivateNetwork { get; set; } /// - /// Bool, default to true. When it set to false, the instance can enable kibana public network access。 + /// Does Kibana enable public access /// [Input("enableKibanaPublicNetwork")] public Input? EnableKibanaPublicNetwork { get; set; } /// - /// Bool, default to false. When it set to true, the instance can enable public network access。 + /// Whether to enable Kibana public network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Input("enablePublic")] public Input? EnablePublic { get; set; } + [Input("force")] + public Input? Force { get; set; } + + /// + /// Version type. + /// + [Input("instanceCategory")] + public Input? InstanceCategory { get; set; } + /// /// Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your InstanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `Period`. /// [Input("instanceChargeType")] public Input? InstanceChargeType { get; set; } + /// + /// Elasticsearch Kibana node settings See `KibanaConfiguration` below. + /// + [Input("kibanaConfiguration")] + public Input? KibanaConfiguration { get; set; } + /// /// The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. /// @@ -444,7 +613,7 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs public Input? KibanaNodeSpec { get; set; } /// - /// the security group id associated with Kibana private network, this param is required when `EnableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `VswitchId` + /// Kibana private network security group ID /// [Input("kibanaPrivateSecurityGroupId")] public Input? KibanaPrivateSecurityGroupId { get; set; } @@ -453,7 +622,7 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs private InputList? _kibanaPrivateWhitelists; /// - /// Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `KibanaPrivateSecurityGroupId` instead + /// Cluster Kibana node private network access whitelist /// public InputList KibanaPrivateWhitelists { @@ -465,7 +634,7 @@ public InputList KibanaPrivateWhitelists private InputList? _kibanaWhitelists; /// - /// Set the Kibana's IP whitelist in internet network. + /// Kibana private network access whitelist /// public InputList KibanaWhitelists { @@ -491,6 +660,12 @@ public InputMap KmsEncryptionContext set => _kmsEncryptionContext = value; } + /// + /// Elasticsearch proprietary master node configuration information See `MasterConfiguration` below. + /// + [Input("masterConfiguration")] + public Input? MasterConfiguration { get; set; } + /// /// The single master node storage space. Valid values are `PrePaid`, `PostPaid`. /// @@ -503,11 +678,14 @@ public InputMap KmsEncryptionContext [Input("masterNodeSpec")] public Input? MasterNodeSpec { get; set; } + [Input("orderActionType")] + public Input? OrderActionType { get; set; } + [Input("password")] private Input? _password; /// - /// The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + /// The access password of the instance. /// public Input? Password { @@ -520,7 +698,13 @@ public Input? Password } /// - /// The duration that you will buy Elasticsearch instance (in month). It is valid when InstanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + /// The payment method of the instance. Optional values: `Prepaid` (subscription) and `Postpaid` (pay-as-you-go) + /// + [Input("paymentType")] + public Input? PaymentType { get; set; } + + /// + /// The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. /// [Input("period")] public Input? Period { get; set; } @@ -529,7 +713,7 @@ public Input? Password private InputList? _privateWhitelists; /// - /// Set the instance's IP whitelist in VPC network. + /// Elasticsearch private network whitelist. (Same as EsIpWhitelist) /// public InputList PrivateWhitelists { @@ -538,7 +722,7 @@ public InputList PrivateWhitelists } /// - /// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + /// Access protocol. Optional values: `HTTP` and **HTTPS * *. /// [Input("protocol")] public Input? Protocol { get; set; } @@ -547,7 +731,7 @@ public InputList PrivateWhitelists private InputList? _publicWhitelists; /// - /// Set the instance's IP whitelist in internet network. + /// Elasticseach public network access whitelist IP list /// public InputList PublicWhitelists { @@ -556,19 +740,19 @@ public InputList PublicWhitelists } /// - /// The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `InstanceChargeType` must be `PrePaid`. + /// Renewal Status /// [Input("renewStatus")] public Input? RenewStatus { get; set; } /// - /// Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + /// Renewal Period Unit /// [Input("renewalDurationUnit")] public Input? RenewalDurationUnit { get; set; } /// - /// The ID of resource group which the Elasticsearch instance belongs. + /// Resource group to which the instance belongs /// [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } @@ -577,7 +761,7 @@ public InputList PublicWhitelists private InputMap? _settingConfig; /// - /// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + /// Configuration information /// public InputMap SettingConfig { @@ -589,7 +773,7 @@ public InputMap SettingConfig private InputMap? _tags; /// - /// A mapping of tags to assign to the resource. + /// Collection of tag key-value pairs /// public InputMap Tags { @@ -597,8 +781,11 @@ public InputMap Tags set => _tags = value; } + [Input("updateStrategy")] + public Input? UpdateStrategy { get; set; } + /// - /// Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + /// Instance version /// [Input("version", required: true)] public Input Version { get; set; } = null!; @@ -615,6 +802,12 @@ public InputMap Tags [Input("warmNodeAmount")] public Input? WarmNodeAmount { get; set; } + /// + /// Elasticsearch cluster cold data node configuration See `WarmNodeConfiguration` below. + /// + [Input("warmNodeConfiguration")] + public Input? WarmNodeConfiguration { get; set; } + /// /// If encrypt the warm node disk. Valid values are `True`, `False`. Default to `False`. /// @@ -640,7 +833,9 @@ public InputMap Tags public Input? WarmNodeSpec { get; set; } /// - /// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `DataNodeAmount` value must be an integral multiple of the `ZoneCount` value. + /// The number of zones in the Elasticsearch instance. + /// + /// The following arguments will be discarded. Please use new fields as soon as possible: /// [Input("zoneCount")] public Input? ZoneCount { get; set; } @@ -654,7 +849,13 @@ public InstanceArgs() public sealed class InstanceState : global::Pulumi.ResourceArgs { /// - /// Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `InstanceChargeType` is `PrePaid` and `RenewStatus` is `AutoRenewal`. + /// Schema Type: + /// + [Input("archType")] + public Input? ArchType { get; set; } + + /// + /// Renewal Period /// [Input("autoRenewDuration")] public Input? AutoRenewDuration { get; set; } @@ -665,18 +866,36 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("clientNodeAmount")] public Input? ClientNodeAmount { get; set; } + /// + /// Elasticsearch cluster coordination node configuration See `ClientNodeConfiguration` below. + /// + [Input("clientNodeConfiguration")] + public Input? ClientNodeConfiguration { get; set; } + /// /// The client node spec. If specified, client node will be created. /// [Input("clientNodeSpec")] public Input? ClientNodeSpec { get; set; } + /// + /// Instance creation time + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + /// /// The Elasticsearch cluster's data node quantity, between 2 and 50. /// [Input("dataNodeAmount")] public Input? DataNodeAmount { get; set; } + /// + /// Elasticsearch data node information See `DataNodeConfiguration` below. + /// + [Input("dataNodeConfiguration")] + public Input? DataNodeConfiguration { get; set; } + /// /// If encrypt the data node disk. Valid values are `True`, `False`. Default to `False`. /// @@ -708,35 +927,52 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? DataNodeSpec { get; set; } /// - /// The description of instance. It a string of 0 to 30 characters. + /// Instance name /// [Input("description")] public Input? Description { get; set; } /// - /// Instance connection domain (only VPC network access supported). + /// Elasticsearch cluster private domain name /// [Input("domain")] public Input? Domain { get; set; } /// - /// Bool, default to false. When it set to true, the instance can close kibana private network access。 + /// Whether to enable Kibana private network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Input("enableKibanaPrivateNetwork")] public Input? EnableKibanaPrivateNetwork { get; set; } /// - /// Bool, default to true. When it set to false, the instance can enable kibana public network access。 + /// Does Kibana enable public access /// [Input("enableKibanaPublicNetwork")] public Input? EnableKibanaPublicNetwork { get; set; } /// - /// Bool, default to false. When it set to true, the instance can enable public network access。 + /// Whether to enable Kibana public network access. + /// + /// The meaning of the value is as follows: + /// - true: On. + /// - false: does not open. /// [Input("enablePublic")] public Input? EnablePublic { get; set; } + [Input("force")] + public Input? Force { get; set; } + + /// + /// Version type. + /// + [Input("instanceCategory")] + public Input? InstanceCategory { get; set; } + /// /// Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your InstanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `Period`. /// @@ -744,7 +980,13 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? InstanceChargeType { get; set; } /// - /// Kibana console domain (Internet access supported). + /// Elasticsearch Kibana node settings See `KibanaConfiguration` below. + /// + [Input("kibanaConfiguration")] + public Input? KibanaConfiguration { get; set; } + + /// + /// Kibana address /// [Input("kibanaDomain")] public Input? KibanaDomain { get; set; } @@ -756,13 +998,13 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? KibanaNodeSpec { get; set; } /// - /// Kibana console port. + /// The port assigned by the Kibana node. /// [Input("kibanaPort")] public Input? KibanaPort { get; set; } /// - /// the security group id associated with Kibana private network, this param is required when `EnableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `VswitchId` + /// Kibana private network security group ID /// [Input("kibanaPrivateSecurityGroupId")] public Input? KibanaPrivateSecurityGroupId { get; set; } @@ -771,7 +1013,7 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs private InputList? _kibanaPrivateWhitelists; /// - /// Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `KibanaPrivateSecurityGroupId` instead + /// Cluster Kibana node private network access whitelist /// public InputList KibanaPrivateWhitelists { @@ -783,7 +1025,7 @@ public InputList KibanaPrivateWhitelists private InputList? _kibanaWhitelists; /// - /// Set the Kibana's IP whitelist in internet network. + /// Kibana private network access whitelist /// public InputList KibanaWhitelists { @@ -809,6 +1051,12 @@ public InputMap KmsEncryptionContext set => _kmsEncryptionContext = value; } + /// + /// Elasticsearch proprietary master node configuration information See `MasterConfiguration` below. + /// + [Input("masterConfiguration")] + public Input? MasterConfiguration { get; set; } + /// /// The single master node storage space. Valid values are `PrePaid`, `PostPaid`. /// @@ -821,11 +1069,14 @@ public InputMap KmsEncryptionContext [Input("masterNodeSpec")] public Input? MasterNodeSpec { get; set; } + [Input("orderActionType")] + public Input? OrderActionType { get; set; } + [Input("password")] private Input? _password; /// - /// The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + /// The access password of the instance. /// public Input? Password { @@ -838,7 +1089,13 @@ public Input? Password } /// - /// The duration that you will buy Elasticsearch instance (in month). It is valid when InstanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + /// The payment method of the instance. Optional values: `Prepaid` (subscription) and `Postpaid` (pay-as-you-go) + /// + [Input("paymentType")] + public Input? PaymentType { get; set; } + + /// + /// The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. /// [Input("period")] public Input? Period { get; set; } @@ -853,7 +1110,7 @@ public Input? Password private InputList? _privateWhitelists; /// - /// Set the instance's IP whitelist in VPC network. + /// Elasticsearch private network whitelist. (Same as EsIpWhitelist) /// public InputList PrivateWhitelists { @@ -862,19 +1119,19 @@ public InputList PrivateWhitelists } /// - /// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + /// Access protocol. Optional values: `HTTP` and **HTTPS * *. /// [Input("protocol")] public Input? Protocol { get; set; } /// - /// Instance connection public domain. + /// The public network address of the current instance. /// [Input("publicDomain")] public Input? PublicDomain { get; set; } /// - /// Instance connection public port. + /// Elasticsearch cluster public network access port /// [Input("publicPort")] public Input? PublicPort { get; set; } @@ -883,7 +1140,7 @@ public InputList PrivateWhitelists private InputList? _publicWhitelists; /// - /// Set the instance's IP whitelist in internet network. + /// Elasticseach public network access whitelist IP list /// public InputList PublicWhitelists { @@ -892,19 +1149,19 @@ public InputList PublicWhitelists } /// - /// The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `InstanceChargeType` must be `PrePaid`. + /// Renewal Status /// [Input("renewStatus")] public Input? RenewStatus { get; set; } /// - /// Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + /// Renewal Period Unit /// [Input("renewalDurationUnit")] public Input? RenewalDurationUnit { get; set; } /// - /// The ID of resource group which the Elasticsearch instance belongs. + /// Resource group to which the instance belongs /// [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } @@ -913,7 +1170,7 @@ public InputList PublicWhitelists private InputMap? _settingConfig; /// - /// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + /// Configuration information /// public InputMap SettingConfig { @@ -922,7 +1179,7 @@ public InputMap SettingConfig } /// - /// The Elasticsearch instance status. Includes `Active`, `Activating`, `Inactive`. Some operations are denied when status is not `Active`. + /// Instance change status /// [Input("status")] public Input? Status { get; set; } @@ -931,7 +1188,7 @@ public InputMap SettingConfig private InputMap? _tags; /// - /// A mapping of tags to assign to the resource. + /// Collection of tag key-value pairs /// public InputMap Tags { @@ -939,8 +1196,11 @@ public InputMap Tags set => _tags = value; } + [Input("updateStrategy")] + public Input? UpdateStrategy { get; set; } + /// - /// Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + /// Instance version /// [Input("version")] public Input? Version { get; set; } @@ -957,6 +1217,12 @@ public InputMap Tags [Input("warmNodeAmount")] public Input? WarmNodeAmount { get; set; } + /// + /// Elasticsearch cluster cold data node configuration See `WarmNodeConfiguration` below. + /// + [Input("warmNodeConfiguration")] + public Input? WarmNodeConfiguration { get; set; } + /// /// If encrypt the warm node disk. Valid values are `True`, `False`. Default to `False`. /// @@ -982,7 +1248,9 @@ public InputMap Tags public Input? WarmNodeSpec { get; set; } /// - /// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `DataNodeAmount` value must be an integral multiple of the `ZoneCount` value. + /// The number of zones in the Elasticsearch instance. + /// + /// The following arguments will be discarded. Please use new fields as soon as possible: /// [Input("zoneCount")] public Input? ZoneCount { get; set; } diff --git a/sdk/dotnet/ElasticSearch/Outputs/InstanceClientNodeConfiguration.cs b/sdk/dotnet/ElasticSearch/Outputs/InstanceClientNodeConfiguration.cs new file mode 100644 index 0000000000..7705a9a46c --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/InstanceClientNodeConfiguration.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class InstanceClientNodeConfiguration + { + /// + /// Number of disks in the Elasticsearch cluster coordination node + /// + public readonly int? Amount; + /// + /// Elasticsearch cluster coordinates node disk size + /// + public readonly int? Disk; + /// + /// Elasticsearch cluster coordination node disk type + /// + public readonly string? DiskType; + /// + /// Elasticsearch cluster coordination node specification + /// + public readonly string? Spec; + + [OutputConstructor] + private InstanceClientNodeConfiguration( + int? amount, + + int? disk, + + string? diskType, + + string? spec) + { + Amount = amount; + Disk = disk; + DiskType = diskType; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/ElasticSearch/Outputs/InstanceDataNodeConfiguration.cs b/sdk/dotnet/ElasticSearch/Outputs/InstanceDataNodeConfiguration.cs new file mode 100644 index 0000000000..a14ba0ab49 --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/InstanceDataNodeConfiguration.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class InstanceDataNodeConfiguration + { + /// + /// Number of data nodes in the Elasticsearch cluster + /// + public readonly int? Amount; + /// + /// Elasticsearch data node disk size + /// + public readonly int? Disk; + /// + /// Whether the Elasticsearch data node disk is encrypted + /// + public readonly bool? DiskEncryption; + /// + /// Elasticsearch cluster data node disk type + /// + public readonly string? DiskType; + /// + /// Elasticsearch cluster data node Essd disk level + /// + public readonly string? PerformanceLevel; + /// + /// Elasticsearch data node specification + /// + public readonly string Spec; + + [OutputConstructor] + private InstanceDataNodeConfiguration( + int? amount, + + int? disk, + + bool? diskEncryption, + + string? diskType, + + string? performanceLevel, + + string spec) + { + Amount = amount; + Disk = disk; + DiskEncryption = diskEncryption; + DiskType = diskType; + PerformanceLevel = performanceLevel; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/ElasticSearch/Outputs/InstanceKibanaConfiguration.cs b/sdk/dotnet/ElasticSearch/Outputs/InstanceKibanaConfiguration.cs new file mode 100644 index 0000000000..2fdbf4b9de --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/InstanceKibanaConfiguration.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class InstanceKibanaConfiguration + { + /// + /// The number of disks of the Elasticsearch Kibana node. The default value is 1. + /// + public readonly int? Amount; + /// + /// Elasticsearch Kibana node disk size + /// + public readonly int? Disk; + /// + /// Elasticsearch Kibana node disk specifications + /// + public readonly string Spec; + + [OutputConstructor] + private InstanceKibanaConfiguration( + int? amount, + + int? disk, + + string spec) + { + Amount = amount; + Disk = disk; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/ElasticSearch/Outputs/InstanceMasterConfiguration.cs b/sdk/dotnet/ElasticSearch/Outputs/InstanceMasterConfiguration.cs new file mode 100644 index 0000000000..6442ca2e2b --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/InstanceMasterConfiguration.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class InstanceMasterConfiguration + { + /// + /// Elasticsearch proprietary master node number of disks + /// + public readonly int? Amount; + /// + /// Elasticsearch proprietary master node disk size + /// + public readonly int? Disk; + /// + /// Elasticsearch proprietary master node disk type + /// + public readonly string? DiskType; + /// + /// Elasticsearch proprietary master node specifications + /// + public readonly string? Spec; + + [OutputConstructor] + private InstanceMasterConfiguration( + int? amount, + + int? disk, + + string? diskType, + + string? spec) + { + Amount = amount; + Disk = disk; + DiskType = diskType; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/ElasticSearch/Outputs/InstanceWarmNodeConfiguration.cs b/sdk/dotnet/ElasticSearch/Outputs/InstanceWarmNodeConfiguration.cs new file mode 100644 index 0000000000..e0740e32ba --- /dev/null +++ b/sdk/dotnet/ElasticSearch/Outputs/InstanceWarmNodeConfiguration.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ElasticSearch.Outputs +{ + + [OutputType] + public sealed class InstanceWarmNodeConfiguration + { + /// + /// Elasticsearch cluster cold data node disk number + /// + public readonly int? Amount; + /// + /// Elasticsearch cluster cold data node disk size + /// + public readonly int? Disk; + /// + /// Elasticsearch cluster cold data node Disk encryption + /// + public readonly bool? DiskEncryption; + /// + /// Elasticsearch cluster cold data node disk type + /// + public readonly string? DiskType; + /// + /// Elasticsearch cluster cold data node Disk Specification + /// + public readonly string? Spec; + + [OutputConstructor] + private InstanceWarmNodeConfiguration( + int? amount, + + int? disk, + + bool? diskEncryption, + + string? diskType, + + string? spec) + { + Amount = amount; + Disk = disk; + DiskEncryption = diskEncryption; + DiskType = diskType; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/Emr/Cluster.cs b/sdk/dotnet/Emr/Cluster.cs index c8328b69a5..66ecadb7b7 100644 --- a/sdk/dotnet/Emr/Cluster.cs +++ b/sdk/dotnet/Emr/Cluster.cs @@ -743,6 +743,8 @@ namespace Pulumi.AliCloud.Emr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/dotnet/Emrv2/Cluster.cs b/sdk/dotnet/Emrv2/Cluster.cs index e11a5a83ef..84b303ed93 100644 --- a/sdk/dotnet/Emrv2/Cluster.cs +++ b/sdk/dotnet/Emrv2/Cluster.cs @@ -210,6 +210,8 @@ namespace Pulumi.AliCloud.Emrv2 /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/dotnet/Ens/Disk.cs b/sdk/dotnet/Ens/Disk.cs index e28b32a607..e441268e88 100644 --- a/sdk/dotnet/Ens/Disk.cs +++ b/sdk/dotnet/Ens/Disk.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Disk can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/DiskInstanceAttachment.cs b/sdk/dotnet/Ens/DiskInstanceAttachment.cs index 49d941df3b..25bec99a04 100644 --- a/sdk/dotnet/Ens/DiskInstanceAttachment.cs +++ b/sdk/dotnet/Ens/DiskInstanceAttachment.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Disk Instance Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/Eip.cs b/sdk/dotnet/Ens/Eip.cs index 6b49193834..14db51fdcf 100644 --- a/sdk/dotnet/Ens/Eip.cs +++ b/sdk/dotnet/Ens/Eip.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Eip can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/EipInstanceAttachment.cs b/sdk/dotnet/Ens/EipInstanceAttachment.cs index 1134bcdb8e..040780591a 100644 --- a/sdk/dotnet/Ens/EipInstanceAttachment.cs +++ b/sdk/dotnet/Ens/EipInstanceAttachment.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ens Eip Instance Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/Image.cs b/sdk/dotnet/Ens/Image.cs index 76b36bc9ab..f790c36f2a 100644 --- a/sdk/dotnet/Ens/Image.cs +++ b/sdk/dotnet/Ens/Image.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Image can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/InstanceSecurityGroupAttachment.cs b/sdk/dotnet/Ens/InstanceSecurityGroupAttachment.cs index 3f82edeaca..f1ff29a528 100644 --- a/sdk/dotnet/Ens/InstanceSecurityGroupAttachment.cs +++ b/sdk/dotnet/Ens/InstanceSecurityGroupAttachment.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Instance Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/KeyPair.cs b/sdk/dotnet/Ens/KeyPair.cs index ed09937265..f270613a1e 100644 --- a/sdk/dotnet/Ens/KeyPair.cs +++ b/sdk/dotnet/Ens/KeyPair.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Key Pair can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/LoadBalancer.cs b/sdk/dotnet/Ens/LoadBalancer.cs index 06254d8803..c8c1ae666e 100644 --- a/sdk/dotnet/Ens/LoadBalancer.cs +++ b/sdk/dotnet/Ens/LoadBalancer.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Load Balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/NatGateway.cs b/sdk/dotnet/Ens/NatGateway.cs index aca2dcc95e..8309154c1c 100644 --- a/sdk/dotnet/Ens/NatGateway.cs +++ b/sdk/dotnet/Ens/NatGateway.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Nat Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/Network.cs b/sdk/dotnet/Ens/Network.cs index 9a7b5bab82..7617c88335 100644 --- a/sdk/dotnet/Ens/Network.cs +++ b/sdk/dotnet/Ens/Network.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Network can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/SecurityGroup.cs b/sdk/dotnet/Ens/SecurityGroup.cs index 7122b407c8..e99703b5fe 100644 --- a/sdk/dotnet/Ens/SecurityGroup.cs +++ b/sdk/dotnet/Ens/SecurityGroup.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Security Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/Snapshot.cs b/sdk/dotnet/Ens/Snapshot.cs index 5468028934..9a080abe2c 100644 --- a/sdk/dotnet/Ens/Snapshot.cs +++ b/sdk/dotnet/Ens/Snapshot.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Ens/Vswitch.cs b/sdk/dotnet/Ens/Vswitch.cs index e31b725982..e042a8529b 100644 --- a/sdk/dotnet/Ens/Vswitch.cs +++ b/sdk/dotnet/Ens/Vswitch.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.Ens /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENS Vswitch can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/CacheReserveInstance.cs b/sdk/dotnet/Esa/CacheReserveInstance.cs index 1133d830d9..f30bff7dd2 100644 --- a/sdk/dotnet/Esa/CacheReserveInstance.cs +++ b/sdk/dotnet/Esa/CacheReserveInstance.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Cache Reserve Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/CacheRule.cs b/sdk/dotnet/Esa/CacheRule.cs index 2a3df37664..3b4ec5799a 100644 --- a/sdk/dotnet/Esa/CacheRule.cs +++ b/sdk/dotnet/Esa/CacheRule.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Cache Rule can be imported using the id, e.g. @@ -193,7 +195,7 @@ public partial class CacheRule : global::Pulumi.CustomResource public Output RuleName { get; private set; } = null!; /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Output("sequence")] public Output Sequence { get; private set; } = null!; @@ -208,7 +210,7 @@ public partial class CacheRule : global::Pulumi.CustomResource /// The site ID, which can be obtained by calling the [ListSites] API. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -397,7 +399,7 @@ public sealed class CacheRuleArgs : global::Pulumi.ResourceArgs public Input? RuleName { get; set; } /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Input("sequence")] public Input? Sequence { get; set; } @@ -412,7 +414,7 @@ public sealed class CacheRuleArgs : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the [ListSites] API. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -569,7 +571,7 @@ public sealed class CacheRuleState : global::Pulumi.ResourceArgs public Input? RuleName { get; set; } /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Input("sequence")] public Input? Sequence { get; set; } @@ -584,7 +586,7 @@ public sealed class CacheRuleState : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the [ListSites] API. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/Certificate.cs b/sdk/dotnet/Esa/Certificate.cs index 593a103a83..acc419d52e 100644 --- a/sdk/dotnet/Esa/Certificate.cs +++ b/sdk/dotnet/Esa/Certificate.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/ClientCaCertificate.cs b/sdk/dotnet/Esa/ClientCaCertificate.cs index 6a7a89aed3..21fca0bb48 100644 --- a/sdk/dotnet/Esa/ClientCaCertificate.cs +++ b/sdk/dotnet/Esa/ClientCaCertificate.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Client Ca Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/ClientCertificate.cs b/sdk/dotnet/Esa/ClientCertificate.cs index a4cc2ab185..833e25b564 100644 --- a/sdk/dotnet/Esa/ClientCertificate.cs +++ b/sdk/dotnet/Esa/ClientCertificate.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Client Certificate can be imported using the id, e.g. @@ -69,12 +71,16 @@ public partial class ClientCertificate : global::Pulumi.CustomResource /// /// Certificate signing request content. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("csr")] public Output Csr { get; private set; } = null!; /// /// The private key algorithm type. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("pkeyType")] public Output PkeyType { get; private set; } = null!; @@ -83,7 +89,7 @@ public partial class ClientCertificate : global::Pulumi.CustomResource /// Site Id /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The certificate status. Valid values: `Revoked`, `Active`. @@ -93,6 +99,8 @@ public partial class ClientCertificate : global::Pulumi.CustomResource /// /// Certificate validity period. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("validityDays")] public Output ValidityDays { get; private set; } = null!; @@ -145,12 +153,16 @@ public sealed class ClientCertificateArgs : global::Pulumi.ResourceArgs { /// /// Certificate signing request content. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("csr")] public Input? Csr { get; set; } /// /// The private key algorithm type. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("pkeyType")] public Input? PkeyType { get; set; } @@ -159,7 +171,7 @@ public sealed class ClientCertificateArgs : global::Pulumi.ResourceArgs /// Site Id /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The certificate status. Valid values: `Revoked`, `Active`. @@ -169,6 +181,8 @@ public sealed class ClientCertificateArgs : global::Pulumi.ResourceArgs /// /// Certificate validity period. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("validityDays", required: true)] public Input ValidityDays { get; set; } = null!; @@ -195,12 +209,16 @@ public sealed class ClientCertificateState : global::Pulumi.ResourceArgs /// /// Certificate signing request content. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("csr")] public Input? Csr { get; set; } /// /// The private key algorithm type. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("pkeyType")] public Input? PkeyType { get; set; } @@ -209,7 +227,7 @@ public sealed class ClientCertificateState : global::Pulumi.ResourceArgs /// Site Id /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The certificate status. Valid values: `Revoked`, `Active`. @@ -219,6 +237,8 @@ public sealed class ClientCertificateState : global::Pulumi.ResourceArgs /// /// Certificate validity period. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("validityDays")] public Input? ValidityDays { get; set; } diff --git a/sdk/dotnet/Esa/CompressionRule.cs b/sdk/dotnet/Esa/CompressionRule.cs index 6c68490775..b1025a5604 100644 --- a/sdk/dotnet/Esa/CompressionRule.cs +++ b/sdk/dotnet/Esa/CompressionRule.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Compression Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/CustomScenePolicy.cs b/sdk/dotnet/Esa/CustomScenePolicy.cs index 5db0596b19..691c0628e3 100644 --- a/sdk/dotnet/Esa/CustomScenePolicy.cs +++ b/sdk/dotnet/Esa/CustomScenePolicy.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Custom Scene Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/EdgeContainerApp.cs b/sdk/dotnet/Esa/EdgeContainerApp.cs index 5d822e3b97..747836ff7c 100644 --- a/sdk/dotnet/Esa/EdgeContainerApp.cs +++ b/sdk/dotnet/Esa/EdgeContainerApp.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Edge Container App can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/EdgeContainerAppRecord.cs b/sdk/dotnet/Esa/EdgeContainerAppRecord.cs index f48acf197a..5204a926de 100644 --- a/sdk/dotnet/Esa/EdgeContainerAppRecord.cs +++ b/sdk/dotnet/Esa/EdgeContainerAppRecord.cs @@ -56,7 +56,7 @@ namespace Pulumi.AliCloud.Esa /// HealthCheckType = "l7", /// ServicePort = 80, /// HealthCheckInterval = 5, - /// EdgeContainerAppName = "terraform-app", + /// EdgeContainerAppName = "terraform-app2", /// HealthCheckHttpCode = "http_2xx", /// HealthCheckUri = "/", /// HealthCheckTimeout = 3, @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Edge Container App Record can be imported using the id, e.g. @@ -111,7 +113,7 @@ public partial class EdgeContainerAppRecord : global::Pulumi.CustomResource /// The website ID. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// @@ -175,7 +177,7 @@ public sealed class EdgeContainerAppRecordArgs : global::Pulumi.ResourceArgs /// The website ID. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } public EdgeContainerAppRecordArgs() { @@ -207,7 +209,7 @@ public sealed class EdgeContainerAppRecordState : global::Pulumi.ResourceArgs /// The website ID. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } public EdgeContainerAppRecordState() { diff --git a/sdk/dotnet/Esa/HttpIncomingRequestHeaderModificationRule.cs b/sdk/dotnet/Esa/HttpIncomingRequestHeaderModificationRule.cs new file mode 100644 index 0000000000..183db69920 --- /dev/null +++ b/sdk/dotnet/Esa/HttpIncomingRequestHeaderModificationRule.cs @@ -0,0 +1,328 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa +{ + /// + /// Provides a ESA Http Incoming Request Header Modification Rule resource. + /// + /// For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// using Random = Pulumi.Random; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new Random.Index.Integer("default", new() + /// { + /// Min = 10000, + /// Max = 99999, + /// }); + /// + /// var resourceHttpIncomingRequestHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance("resource_HttpIncomingRequestHeaderModificationRule_example", new() + /// { + /// Type = "NS", + /// AutoRenew = false, + /// Period = 1, + /// PaymentType = "Subscription", + /// Coverage = "overseas", + /// AutoPay = true, + /// PlanName = "high", + /// }); + /// + /// var resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new AliCloud.Esa.Site("resource_Site_HttpIncomingRequestHeaderModificationRule_example", new() + /// { + /// SiteName = $"gositecdn{@default.Result}.cn", + /// InstanceId = resourceHttpIncomingRequestHeaderModificationRuleExample.Id, + /// Coverage = "overseas", + /// AccessType = "NS", + /// }); + /// + /// var defaultHttpIncomingRequestHeaderModificationRule = new AliCloud.Esa.HttpIncomingRequestHeaderModificationRule("default", new() + /// { + /// SiteId = resourceSiteHttpIncomingRequestHeaderModificationRuleExample.Id, + /// RuleEnable = "on", + /// Rule = "(http.host eq \"video.example.com\")", + /// Sequence = 1, + /// SiteVersion = 0, + /// RuleName = "example", + /// RequestHeaderModifications = new[] + /// { + /// new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs + /// { + /// Type = "static", + /// Value = "add", + /// Operation = "add", + /// Name = "exampleadd", + /// }, + /// new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs + /// { + /// Operation = "del", + /// Name = "exampledel", + /// }, + /// new AliCloud.Esa.Inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs + /// { + /// Type = "dynamic", + /// Value = "ip.geoip.country", + /// Operation = "modify", + /// Name = "examplemodify", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example <site_id>:<config_id> + /// ``` + /// + [AliCloudResourceType("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule")] + public partial class HttpIncomingRequestHeaderModificationRule : global::Pulumi.CustomResource + { + /// + /// Config Id + /// + [Output("configId")] + public Output ConfigId { get; private set; } = null!; + + /// + /// The configurations of modifying request headers. You can add, delete, or modify a request header. See `RequestHeaderModification` below. + /// + [Output("requestHeaderModifications")] + public Output> RequestHeaderModifications { get; private set; } = null!; + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Output("rule")] + public Output Rule { get; private set; } = null!; + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. + /// + [Output("ruleEnable")] + public Output RuleEnable { get; private set; } = null!; + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Output("ruleName")] + public Output RuleName { get; private set; } = null!; + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Output("sequence")] + public Output Sequence { get; private set; } = null!; + + /// + /// The site ID. + /// + [Output("siteId")] + public Output SiteId { get; private set; } = null!; + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Output("siteVersion")] + public Output SiteVersion { get; private set; } = null!; + + + /// + /// Create a HttpIncomingRequestHeaderModificationRule 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 HttpIncomingRequestHeaderModificationRule(string name, HttpIncomingRequestHeaderModificationRuleArgs args, CustomResourceOptions? options = null) + : base("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, args ?? new HttpIncomingRequestHeaderModificationRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private HttpIncomingRequestHeaderModificationRule(string name, Input id, HttpIncomingRequestHeaderModificationRuleState? state = null, CustomResourceOptions? options = null) + : base("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 HttpIncomingRequestHeaderModificationRule 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 HttpIncomingRequestHeaderModificationRule Get(string name, Input id, HttpIncomingRequestHeaderModificationRuleState? state = null, CustomResourceOptions? options = null) + { + return new HttpIncomingRequestHeaderModificationRule(name, id, state, options); + } + } + + public sealed class HttpIncomingRequestHeaderModificationRuleArgs : global::Pulumi.ResourceArgs + { + [Input("requestHeaderModifications", required: true)] + private InputList? _requestHeaderModifications; + + /// + /// The configurations of modifying request headers. You can add, delete, or modify a request header. See `RequestHeaderModification` below. + /// + public InputList RequestHeaderModifications + { + get => _requestHeaderModifications ?? (_requestHeaderModifications = new InputList()); + set => _requestHeaderModifications = value; + } + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Input("rule")] + public Input? Rule { get; set; } + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. + /// + [Input("ruleEnable")] + public Input? RuleEnable { get; set; } + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Input("sequence")] + public Input? Sequence { get; set; } + + /// + /// The site ID. + /// + [Input("siteId", required: true)] + public Input SiteId { get; set; } = null!; + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Input("siteVersion")] + public Input? SiteVersion { get; set; } + + public HttpIncomingRequestHeaderModificationRuleArgs() + { + } + public static new HttpIncomingRequestHeaderModificationRuleArgs Empty => new HttpIncomingRequestHeaderModificationRuleArgs(); + } + + public sealed class HttpIncomingRequestHeaderModificationRuleState : global::Pulumi.ResourceArgs + { + /// + /// Config Id + /// + [Input("configId")] + public Input? ConfigId { get; set; } + + [Input("requestHeaderModifications")] + private InputList? _requestHeaderModifications; + + /// + /// The configurations of modifying request headers. You can add, delete, or modify a request header. See `RequestHeaderModification` below. + /// + public InputList RequestHeaderModifications + { + get => _requestHeaderModifications ?? (_requestHeaderModifications = new InputList()); + set => _requestHeaderModifications = value; + } + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Input("rule")] + public Input? Rule { get; set; } + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. + /// + [Input("ruleEnable")] + public Input? RuleEnable { get; set; } + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Input("sequence")] + public Input? Sequence { get; set; } + + /// + /// The site ID. + /// + [Input("siteId")] + public Input? SiteId { get; set; } + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Input("siteVersion")] + public Input? SiteVersion { get; set; } + + public HttpIncomingRequestHeaderModificationRuleState() + { + } + public static new HttpIncomingRequestHeaderModificationRuleState Empty => new HttpIncomingRequestHeaderModificationRuleState(); + } +} diff --git a/sdk/dotnet/Esa/HttpIncomingResponseHeaderModificationRule.cs b/sdk/dotnet/Esa/HttpIncomingResponseHeaderModificationRule.cs new file mode 100644 index 0000000000..d016a71feb --- /dev/null +++ b/sdk/dotnet/Esa/HttpIncomingResponseHeaderModificationRule.cs @@ -0,0 +1,323 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa +{ + /// + /// Provides a ESA Http Incoming Response Header Modification Rule resource. + /// + /// For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// using Random = Pulumi.Random; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new Random.Index.Integer("default", new() + /// { + /// Min = 10000, + /// Max = 99999, + /// }); + /// + /// var resourceHttpIncomingResponseHeaderModificationRuleExample = new AliCloud.Esa.RatePlanInstance("resource_HttpIncomingResponseHeaderModificationRule_example", new() + /// { + /// Type = "NS", + /// AutoRenew = false, + /// Period = 1, + /// PaymentType = "Subscription", + /// Coverage = "overseas", + /// AutoPay = true, + /// PlanName = "basic", + /// }); + /// + /// var resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new AliCloud.Esa.Site("resource_Site_HttpIncomingResponseHeaderModificationRule_example", new() + /// { + /// SiteName = $"gositecdn{@default.Result}.cn", + /// InstanceId = resourceHttpIncomingResponseHeaderModificationRuleExample.Id, + /// Coverage = "overseas", + /// AccessType = "NS", + /// }); + /// + /// var defaultHttpIncomingResponseHeaderModificationRule = new AliCloud.Esa.HttpIncomingResponseHeaderModificationRule("default", new() + /// { + /// SiteId = resourceSiteHttpIncomingResponseHeaderModificationRuleExample.Id, + /// RuleEnable = "on", + /// ResponseHeaderModifications = new[] + /// { + /// new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs + /// { + /// Type = "static", + /// Value = "add", + /// Operation = "add", + /// Name = "exampleadd", + /// }, + /// new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs + /// { + /// Type = "static", + /// Operation = "del", + /// Name = "exampledel", + /// }, + /// new AliCloud.Esa.Inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs + /// { + /// Type = "static", + /// Value = "modify", + /// Operation = "modify", + /// Name = "examplemodify", + /// }, + /// }, + /// Rule = "(http.host eq \"video.example.com\")", + /// Sequence = 1, + /// SiteVersion = 0, + /// RuleName = "exampleResponseHeader", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example <site_id>:<config_id> + /// ``` + /// + [AliCloudResourceType("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule")] + public partial class HttpIncomingResponseHeaderModificationRule : global::Pulumi.CustomResource + { + /// + /// Config Id + /// + [Output("configId")] + public Output ConfigId { get; private set; } = null!; + + /// + /// Modify response headers, supporting add, delete, and modify operations. See `ResponseHeaderModification` below. + /// + [Output("responseHeaderModifications")] + public Output> ResponseHeaderModifications { get; private set; } = null!; + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Output("rule")] + public Output Rule { get; private set; } = null!; + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// + [Output("ruleEnable")] + public Output RuleEnable { get; private set; } = null!; + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Output("ruleName")] + public Output RuleName { get; private set; } = null!; + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Output("sequence")] + public Output Sequence { get; private set; } = null!; + + /// + /// The site ID. + /// + [Output("siteId")] + public Output SiteId { get; private set; } = null!; + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Output("siteVersion")] + public Output SiteVersion { get; private set; } = null!; + + + /// + /// Create a HttpIncomingResponseHeaderModificationRule 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 HttpIncomingResponseHeaderModificationRule(string name, HttpIncomingResponseHeaderModificationRuleArgs args, CustomResourceOptions? options = null) + : base("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, args ?? new HttpIncomingResponseHeaderModificationRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private HttpIncomingResponseHeaderModificationRule(string name, Input id, HttpIncomingResponseHeaderModificationRuleState? state = null, CustomResourceOptions? options = null) + : base("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 HttpIncomingResponseHeaderModificationRule 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 HttpIncomingResponseHeaderModificationRule Get(string name, Input id, HttpIncomingResponseHeaderModificationRuleState? state = null, CustomResourceOptions? options = null) + { + return new HttpIncomingResponseHeaderModificationRule(name, id, state, options); + } + } + + public sealed class HttpIncomingResponseHeaderModificationRuleArgs : global::Pulumi.ResourceArgs + { + [Input("responseHeaderModifications", required: true)] + private InputList? _responseHeaderModifications; + + /// + /// Modify response headers, supporting add, delete, and modify operations. See `ResponseHeaderModification` below. + /// + public InputList ResponseHeaderModifications + { + get => _responseHeaderModifications ?? (_responseHeaderModifications = new InputList()); + set => _responseHeaderModifications = value; + } + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Input("rule")] + public Input? Rule { get; set; } + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// + [Input("ruleEnable")] + public Input? RuleEnable { get; set; } + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Input("sequence")] + public Input? Sequence { get; set; } + + /// + /// The site ID. + /// + [Input("siteId", required: true)] + public Input SiteId { get; set; } = null!; + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Input("siteVersion")] + public Input? SiteVersion { get; set; } + + public HttpIncomingResponseHeaderModificationRuleArgs() + { + } + public static new HttpIncomingResponseHeaderModificationRuleArgs Empty => new HttpIncomingResponseHeaderModificationRuleArgs(); + } + + public sealed class HttpIncomingResponseHeaderModificationRuleState : global::Pulumi.ResourceArgs + { + /// + /// Config Id + /// + [Input("configId")] + public Input? ConfigId { get; set; } + + [Input("responseHeaderModifications")] + private InputList? _responseHeaderModifications; + + /// + /// Modify response headers, supporting add, delete, and modify operations. See `ResponseHeaderModification` below. + /// + public InputList ResponseHeaderModifications + { + get => _responseHeaderModifications ?? (_responseHeaderModifications = new InputList()); + set => _responseHeaderModifications = value; + } + + /// + /// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + /// - Match all incoming requests: value set to true + /// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + /// + [Input("rule")] + public Input? Rule { get; set; } + + /// + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// + [Input("ruleEnable")] + public Input? RuleEnable { get; set; } + + /// + /// Rule name. When adding global configuration, this parameter does not need to be set. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// + [Input("sequence")] + public Input? Sequence { get; set; } + + /// + /// The site ID. + /// + [Input("siteId")] + public Input? SiteId { get; set; } + + /// + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + /// + [Input("siteVersion")] + public Input? SiteVersion { get; set; } + + public HttpIncomingResponseHeaderModificationRuleState() + { + } + public static new HttpIncomingResponseHeaderModificationRuleState Empty => new HttpIncomingResponseHeaderModificationRuleState(); + } +} diff --git a/sdk/dotnet/Esa/HttpRequestHeaderModificationRule.cs b/sdk/dotnet/Esa/HttpRequestHeaderModificationRule.cs index 6898d4cb17..0fccea5469 100644 --- a/sdk/dotnet/Esa/HttpRequestHeaderModificationRule.cs +++ b/sdk/dotnet/Esa/HttpRequestHeaderModificationRule.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Http Request Header Modification Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/HttpResponseHeaderModificationRule.cs b/sdk/dotnet/Esa/HttpResponseHeaderModificationRule.cs index f03b7164f1..9c5db18730 100644 --- a/sdk/dotnet/Esa/HttpResponseHeaderModificationRule.cs +++ b/sdk/dotnet/Esa/HttpResponseHeaderModificationRule.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -141,7 +143,7 @@ public partial class HttpResponseHeaderModificationRule : global::Pulumi.CustomR /// The site ID. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -237,7 +239,7 @@ public InputList [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -301,7 +303,7 @@ public InputList [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/HttpsApplicationConfiguration.cs b/sdk/dotnet/Esa/HttpsApplicationConfiguration.cs index 7c4d667265..588dcaa899 100644 --- a/sdk/dotnet/Esa/HttpsApplicationConfiguration.cs +++ b/sdk/dotnet/Esa/HttpsApplicationConfiguration.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Https Application Configuration can be imported using the id, e.g. @@ -188,7 +190,7 @@ public partial class HttpsApplicationConfiguration : global::Pulumi.CustomResour /// The site ID, which can be obtained by calling the ListSites API. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -350,7 +352,7 @@ public sealed class HttpsApplicationConfigurationArgs : global::Pulumi.ResourceA /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -480,7 +482,7 @@ public sealed class HttpsApplicationConfigurationState : global::Pulumi.Resource /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/HttpsBasicConfiguration.cs b/sdk/dotnet/Esa/HttpsBasicConfiguration.cs index 825c1e4546..da695e043c 100644 --- a/sdk/dotnet/Esa/HttpsBasicConfiguration.cs +++ b/sdk/dotnet/Esa/HttpsBasicConfiguration.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Https Basic Configuration can be imported using the id, e.g. @@ -164,7 +166,7 @@ public partial class HttpsBasicConfiguration : global::Pulumi.CustomResource /// Site ID, which can be obtained by calling the ListSites interface. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// Whether to enable TLS1.0. Default is disabled. Possible values: @@ -323,7 +325,7 @@ public sealed class HttpsBasicConfigurationArgs : global::Pulumi.ResourceArgs /// Site ID, which can be obtained by calling the ListSites interface. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// Whether to enable TLS1.0. Default is disabled. Possible values: @@ -450,7 +452,7 @@ public sealed class HttpsBasicConfigurationState : global::Pulumi.ResourceArgs /// Site ID, which can be obtained by calling the ListSites interface. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// Whether to enable TLS1.0. Default is disabled. Possible values: diff --git a/sdk/dotnet/Esa/ImageTransform.cs b/sdk/dotnet/Esa/ImageTransform.cs index 93c20d3bd6..80e078c3ab 100644 --- a/sdk/dotnet/Esa/ImageTransform.cs +++ b/sdk/dotnet/Esa/ImageTransform.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Image Transform can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.cs b/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.cs new file mode 100644 index 0000000000..e03e4c41f2 --- /dev/null +++ b/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Inputs +{ + + public sealed class HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs : global::Pulumi.ResourceArgs + { + /// + /// Request Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Mode of operation. Value range: + /// + [Input("operation", required: true)] + public Input Operation { get; set; } = null!; + + /// + /// Value type. Value range: + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Request header value + /// + [Input("value")] + public Input? Value { get; set; } + + public HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs() + { + } + public static new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs Empty => new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs(); + } +} diff --git a/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs.cs b/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs.cs new file mode 100644 index 0000000000..fa531061ef --- /dev/null +++ b/sdk/dotnet/Esa/Inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Inputs +{ + + public sealed class HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Request Header Name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Mode of operation. Value range: + /// + [Input("operation", required: true)] + public Input Operation { get; set; } = null!; + + /// + /// Value type. Value range: + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Request header value + /// + [Input("value")] + public Input? Value { get; set; } + + public HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs() + { + } + public static new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs Empty => new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationGetArgs(); + } +} diff --git a/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.cs b/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.cs new file mode 100644 index 0000000000..94f47ecb1f --- /dev/null +++ b/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Inputs +{ + + public sealed class HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs : global::Pulumi.ResourceArgs + { + /// + /// The response header name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Operation method. Possible values: + /// + [Input("operation", required: true)] + public Input Operation { get; set; } = null!; + + /// + /// The value type. Value range: + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// The response header value. + /// + [Input("value")] + public Input? Value { get; set; } + + public HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs() + { + } + public static new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs Empty => new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs(); + } +} diff --git a/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs.cs b/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs.cs new file mode 100644 index 0000000000..382c77277f --- /dev/null +++ b/sdk/dotnet/Esa/Inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Inputs +{ + + public sealed class HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The response header name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Operation method. Possible values: + /// + [Input("operation", required: true)] + public Input Operation { get; set; } = null!; + + /// + /// The value type. Value range: + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// The response header value. + /// + [Input("value")] + public Input? Value { get; set; } + + public HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs() + { + } + public static new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs Empty => new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationGetArgs(); + } +} diff --git a/sdk/dotnet/Esa/Inputs/WafRuleConfigArgs.cs b/sdk/dotnet/Esa/Inputs/WafRuleConfigArgs.cs index 96dd852ef8..471d3cdf55 100644 --- a/sdk/dotnet/Esa/Inputs/WafRuleConfigArgs.cs +++ b/sdk/dotnet/Esa/Inputs/WafRuleConfigArgs.cs @@ -91,7 +91,14 @@ public InputList ManagedRulesets public Input? RateLimit { get; set; } /// - /// The overall security protection level of WAF. See `SecurityLevel` below. + /// The overall security protection level of WAF. + /// Valid values: + /// - off + /// - EssentiallyOff + /// - low + /// - medium + /// - high + /// - UnderAttack See `SecurityLevel` below. /// [Input("securityLevel")] public Input? SecurityLevel { get; set; } diff --git a/sdk/dotnet/Esa/Inputs/WafRuleConfigGetArgs.cs b/sdk/dotnet/Esa/Inputs/WafRuleConfigGetArgs.cs index 151e4e442b..a2cd856a0a 100644 --- a/sdk/dotnet/Esa/Inputs/WafRuleConfigGetArgs.cs +++ b/sdk/dotnet/Esa/Inputs/WafRuleConfigGetArgs.cs @@ -91,7 +91,14 @@ public InputList ManagedRulesets public Input? RateLimit { get; set; } /// - /// The overall security protection level of WAF. See `SecurityLevel` below. + /// The overall security protection level of WAF. + /// Valid values: + /// - off + /// - EssentiallyOff + /// - low + /// - medium + /// - high + /// - UnderAttack See `SecurityLevel` below. /// [Input("securityLevel")] public Input? SecurityLevel { get; set; } diff --git a/sdk/dotnet/Esa/Kv.cs b/sdk/dotnet/Esa/Kv.cs index 616cd74baf..94f5ad4074 100644 --- a/sdk/dotnet/Esa/Kv.cs +++ b/sdk/dotnet/Esa/Kv.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Kv can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/KvNamespace.cs b/sdk/dotnet/Esa/KvNamespace.cs index edcad58d32..75ea043458 100644 --- a/sdk/dotnet/Esa/KvNamespace.cs +++ b/sdk/dotnet/Esa/KvNamespace.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Kv Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/List.cs b/sdk/dotnet/Esa/List.cs index 35feb169ca..c41a30425a 100644 --- a/sdk/dotnet/Esa/List.cs +++ b/sdk/dotnet/Esa/List.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA List can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/LoadBalancer.cs b/sdk/dotnet/Esa/LoadBalancer.cs index 02e3a1e048..c2fac0dd2e 100644 --- a/sdk/dotnet/Esa/LoadBalancer.cs +++ b/sdk/dotnet/Esa/LoadBalancer.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Load Balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/NetworkOptimization.cs b/sdk/dotnet/Esa/NetworkOptimization.cs index 5c8d240610..4a6fbe36ce 100644 --- a/sdk/dotnet/Esa/NetworkOptimization.cs +++ b/sdk/dotnet/Esa/NetworkOptimization.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Network Optimization can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/OriginCaCertificate.cs b/sdk/dotnet/Esa/OriginCaCertificate.cs index 9d40cee30a..be65afa842 100644 --- a/sdk/dotnet/Esa/OriginCaCertificate.cs +++ b/sdk/dotnet/Esa/OriginCaCertificate.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Origin Ca Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/OriginClientCertificate.cs b/sdk/dotnet/Esa/OriginClientCertificate.cs index 33bc48f62d..3f72eb6029 100644 --- a/sdk/dotnet/Esa/OriginClientCertificate.cs +++ b/sdk/dotnet/Esa/OriginClientCertificate.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Origin Client Certificate can be imported using the id, e.g. @@ -139,7 +141,7 @@ public partial class OriginClientCertificate : global::Pulumi.CustomResource /// Site ID. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The status of the certificate. @@ -241,7 +243,7 @@ public Input? PrivateKey /// Site ID. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; public OriginClientCertificateArgs() { @@ -307,7 +309,7 @@ public Input? PrivateKey /// Site ID. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The status of the certificate. diff --git a/sdk/dotnet/Esa/OriginPool.cs b/sdk/dotnet/Esa/OriginPool.cs index bb5ffeb284..0597446cb1 100644 --- a/sdk/dotnet/Esa/OriginPool.cs +++ b/sdk/dotnet/Esa/OriginPool.cs @@ -110,6 +110,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Origin Pool can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/OriginProtection.cs b/sdk/dotnet/Esa/OriginProtection.cs index 3bffbfef1c..286673b896 100644 --- a/sdk/dotnet/Esa/OriginProtection.cs +++ b/sdk/dotnet/Esa/OriginProtection.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Origin Protection can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/OriginRule.cs b/sdk/dotnet/Esa/OriginRule.cs index be7f9903c7..177c15add3 100644 --- a/sdk/dotnet/Esa/OriginRule.cs +++ b/sdk/dotnet/Esa/OriginRule.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Origin Rule can be imported using the id, e.g. @@ -195,7 +197,7 @@ public partial class OriginRule : global::Pulumi.CustomResource /// The site ID. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -375,7 +377,7 @@ public sealed class OriginRuleArgs : global::Pulumi.ResourceArgs /// The site ID. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -523,7 +525,7 @@ public sealed class OriginRuleState : global::Pulumi.ResourceArgs /// The site ID. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/Outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.cs b/sdk/dotnet/Esa/Outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.cs new file mode 100644 index 0000000000..fa4d1c4bed --- /dev/null +++ b/sdk/dotnet/Esa/Outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Outputs +{ + + [OutputType] + public sealed class HttpIncomingRequestHeaderModificationRuleRequestHeaderModification + { + /// + /// Request Header Name. + /// + public readonly string Name; + /// + /// Mode of operation. Value range: + /// + public readonly string Operation; + /// + /// Value type. Value range: + /// + public readonly string? Type; + /// + /// Request header value + /// + public readonly string? Value; + + [OutputConstructor] + private HttpIncomingRequestHeaderModificationRuleRequestHeaderModification( + string name, + + string operation, + + string? type, + + string? value) + { + Name = name; + Operation = operation; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Esa/Outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.cs b/sdk/dotnet/Esa/Outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.cs new file mode 100644 index 0000000000..bc7cc86a16 --- /dev/null +++ b/sdk/dotnet/Esa/Outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Esa.Outputs +{ + + [OutputType] + public sealed class HttpIncomingResponseHeaderModificationRuleResponseHeaderModification + { + /// + /// The response header name. + /// + public readonly string Name; + /// + /// Operation method. Possible values: + /// + public readonly string Operation; + /// + /// The value type. Value range: + /// + public readonly string? Type; + /// + /// The response header value. + /// + public readonly string? Value; + + [OutputConstructor] + private HttpIncomingResponseHeaderModificationRuleResponseHeaderModification( + string name, + + string operation, + + string? type, + + string? value) + { + Name = name; + Operation = operation; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Esa/Outputs/WafRuleConfig.cs b/sdk/dotnet/Esa/Outputs/WafRuleConfig.cs index 0f1f749eac..edcd951f04 100644 --- a/sdk/dotnet/Esa/Outputs/WafRuleConfig.cs +++ b/sdk/dotnet/Esa/Outputs/WafRuleConfig.cs @@ -62,7 +62,14 @@ public sealed class WafRuleConfig /// public readonly Outputs.WafRuleConfigRateLimit? RateLimit; /// - /// The overall security protection level of WAF. See `SecurityLevel` below. + /// The overall security protection level of WAF. + /// Valid values: + /// - off + /// - EssentiallyOff + /// - low + /// - medium + /// - high + /// - UnderAttack See `SecurityLevel` below. /// public readonly Outputs.WafRuleConfigSecurityLevel? SecurityLevel; /// diff --git a/sdk/dotnet/Esa/Page.cs b/sdk/dotnet/Esa/Page.cs index acd4299379..f1bd34b9b6 100644 --- a/sdk/dotnet/Esa/Page.cs +++ b/sdk/dotnet/Esa/Page.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Page can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/RatePlanInstance.cs b/sdk/dotnet/Esa/RatePlanInstance.cs index cca7cbc393..5f04cb6217 100644 --- a/sdk/dotnet/Esa/RatePlanInstance.cs +++ b/sdk/dotnet/Esa/RatePlanInstance.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Rate Plan Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/Record.cs b/sdk/dotnet/Esa/Record.cs index 0c0c112f45..be831f5246 100644 --- a/sdk/dotnet/Esa/Record.cs +++ b/sdk/dotnet/Esa/Record.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Record can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/RedirectRule.cs b/sdk/dotnet/Esa/RedirectRule.cs index fe14a0ec08..47f824a5fe 100644 --- a/sdk/dotnet/Esa/RedirectRule.cs +++ b/sdk/dotnet/Esa/RedirectRule.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Redirect Rule can be imported using the id, e.g. @@ -128,7 +130,7 @@ public partial class RedirectRule : global::Pulumi.CustomResource /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -247,7 +249,7 @@ public sealed class RedirectRuleArgs : global::Pulumi.ResourceArgs /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -334,7 +336,7 @@ public sealed class RedirectRuleState : global::Pulumi.ResourceArgs /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/RewriteUrlRule.cs b/sdk/dotnet/Esa/RewriteUrlRule.cs index f73706a7ff..6e10c5b604 100644 --- a/sdk/dotnet/Esa/RewriteUrlRule.cs +++ b/sdk/dotnet/Esa/RewriteUrlRule.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Rewrite Url Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/Routine.cs b/sdk/dotnet/Esa/Routine.cs index f56cf979be..5a51015146 100644 --- a/sdk/dotnet/Esa/Routine.cs +++ b/sdk/dotnet/Esa/Routine.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Routine can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/RoutineRelatedRecord.cs b/sdk/dotnet/Esa/RoutineRelatedRecord.cs index db35f7882d..e6d7df7f9d 100644 --- a/sdk/dotnet/Esa/RoutineRelatedRecord.cs +++ b/sdk/dotnet/Esa/RoutineRelatedRecord.cs @@ -9,20 +9,84 @@ namespace Pulumi.AliCloud.Esa { + /// + /// Provides a ESA Routine Related Record resource. + /// + /// For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). + /// + /// > **NOTE:** Available since v1.265.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var defaultRoutine = new AliCloud.Esa.Routine("default", new() + /// { + /// Description = "example-routine2", + /// Name = "example-routine2", + /// }); + /// + /// var @default = AliCloud.Esa.GetSites.Invoke(new() + /// { + /// PlanSubscribeType = "enterpriseplan", + /// }); + /// + /// var defaultRoutineRelatedRecord = new AliCloud.Esa.RoutineRelatedRecord("default", new() + /// { + /// Name = defaultRoutine.Id, + /// RecordName = "tfexampleacc.com", + /// SiteId = "618651327383200", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// ESA Routine Related Record can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example <name>:<record_id> + /// ``` + /// [AliCloudResourceType("alicloud:esa/routineRelatedRecord:RoutineRelatedRecord")] public partial class RoutineRelatedRecord : global::Pulumi.CustomResource { + /// + /// The routine name. + /// [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The record ID. + /// [Output("recordId")] public Output RecordId { get; private set; } = null!; + /// + /// The record name. + /// [Output("recordName")] public Output RecordName { get; private set; } = null!; + /// + /// The website ID. + /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// @@ -70,14 +134,23 @@ public static RoutineRelatedRecord Get(string name, Input id, RoutineRel public sealed class RoutineRelatedRecordArgs : global::Pulumi.ResourceArgs { + /// + /// The routine name. + /// [Input("name")] public Input? Name { get; set; } + /// + /// The record name. + /// [Input("recordName", required: true)] public Input RecordName { get; set; } = null!; + /// + /// The website ID. + /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; public RoutineRelatedRecordArgs() { @@ -87,17 +160,29 @@ public RoutineRelatedRecordArgs() public sealed class RoutineRelatedRecordState : global::Pulumi.ResourceArgs { + /// + /// The routine name. + /// [Input("name")] public Input? Name { get; set; } + /// + /// The record ID. + /// [Input("recordId")] public Input? RecordId { get; set; } + /// + /// The record name. + /// [Input("recordName")] public Input? RecordName { get; set; } + /// + /// The website ID. + /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } public RoutineRelatedRecordState() { diff --git a/sdk/dotnet/Esa/RoutineRoute.cs b/sdk/dotnet/Esa/RoutineRoute.cs index f60c6aca96..247dbe95cb 100644 --- a/sdk/dotnet/Esa/RoutineRoute.cs +++ b/sdk/dotnet/Esa/RoutineRoute.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Routine Route can be imported using the id, e.g. @@ -88,6 +90,12 @@ public partial class RoutineRoute : global::Pulumi.CustomResource [Output("configId")] public Output ConfigId { get; private set; } = null!; + /// + /// Spare + /// + [Output("fallback")] + public Output Fallback { get; private set; } = null!; + /// /// Routing switch. Value range: /// - on: Open @@ -124,7 +132,7 @@ public partial class RoutineRoute : global::Pulumi.CustomResource /// Site Id /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// @@ -180,6 +188,12 @@ public sealed class RoutineRouteArgs : global::Pulumi.ResourceArgs [Input("bypass")] public Input? Bypass { get; set; } + /// + /// Spare + /// + [Input("fallback")] + public Input? Fallback { get; set; } + /// /// Routing switch. Value range: /// - on: Open @@ -216,7 +230,7 @@ public sealed class RoutineRouteArgs : global::Pulumi.ResourceArgs /// Site Id /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; public RoutineRouteArgs() { @@ -240,6 +254,12 @@ public sealed class RoutineRouteState : global::Pulumi.ResourceArgs [Input("configId")] public Input? ConfigId { get; set; } + /// + /// Spare + /// + [Input("fallback")] + public Input? Fallback { get; set; } + /// /// Routing switch. Value range: /// - on: Open @@ -276,7 +296,7 @@ public sealed class RoutineRouteState : global::Pulumi.ResourceArgs /// Site Id /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } public RoutineRouteState() { diff --git a/sdk/dotnet/Esa/ScheduledPreloadExecution.cs b/sdk/dotnet/Esa/ScheduledPreloadExecution.cs index aed24bd155..3f9eb012da 100644 --- a/sdk/dotnet/Esa/ScheduledPreloadExecution.cs +++ b/sdk/dotnet/Esa/ScheduledPreloadExecution.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Scheduled Preload Execution can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/ScheduledPreloadJob.cs b/sdk/dotnet/Esa/ScheduledPreloadJob.cs index f88e393ea8..b241f16e2e 100644 --- a/sdk/dotnet/Esa/ScheduledPreloadJob.cs +++ b/sdk/dotnet/Esa/ScheduledPreloadJob.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Scheduled Preload Job can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/Site.cs b/sdk/dotnet/Esa/Site.cs index b00c05afb3..125c210e54 100644 --- a/sdk/dotnet/Esa/Site.cs +++ b/sdk/dotnet/Esa/Site.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Site can be imported using the id, e.g. @@ -167,6 +169,12 @@ public partial class Site : global::Pulumi.CustomResource [Output("ipv6Region")] public Output Ipv6Region { get; private set; } = null!; + /// + /// Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + /// + [Output("paused")] + public Output Paused { get; private set; } = null!; + /// /// The ID of the resource group /// @@ -355,6 +363,12 @@ public sealed class SiteArgs : global::Pulumi.ResourceArgs [Input("ipv6Region")] public Input? Ipv6Region { get; set; } + /// + /// Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + /// + [Input("paused")] + public Input? Paused { get; set; } + /// /// The ID of the resource group /// @@ -511,6 +525,12 @@ public sealed class SiteState : global::Pulumi.ResourceArgs [Input("ipv6Region")] public Input? Ipv6Region { get; set; } + /// + /// Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + /// + [Input("paused")] + public Input? Paused { get; set; } + /// /// The ID of the resource group /// diff --git a/sdk/dotnet/Esa/SiteDeliveryTask.cs b/sdk/dotnet/Esa/SiteDeliveryTask.cs index f7bf257d06..3cd6179e9f 100644 --- a/sdk/dotnet/Esa/SiteDeliveryTask.cs +++ b/sdk/dotnet/Esa/SiteDeliveryTask.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Site Delivery Task can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/SiteOriginClientCertificate.cs b/sdk/dotnet/Esa/SiteOriginClientCertificate.cs index 66d6e2d61c..b950ab021c 100644 --- a/sdk/dotnet/Esa/SiteOriginClientCertificate.cs +++ b/sdk/dotnet/Esa/SiteOriginClientCertificate.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Site Origin Client Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/TransportLayerApplication.cs b/sdk/dotnet/Esa/TransportLayerApplication.cs index 68cc8aaceb..da0568d1ca 100644 --- a/sdk/dotnet/Esa/TransportLayerApplication.cs +++ b/sdk/dotnet/Esa/TransportLayerApplication.cs @@ -61,7 +61,7 @@ public partial class TransportLayerApplication : global::Pulumi.CustomResource /// Site ID. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// Status of the transport layer application, modification and deletion are not allowed. @@ -155,7 +155,7 @@ public InputList Rules /// Site ID. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; public TransportLayerApplicationArgs() { @@ -211,7 +211,7 @@ public InputList Rules /// Site ID. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// Status of the transport layer application, modification and deletion are not allowed. diff --git a/sdk/dotnet/Esa/UrlObservation.cs b/sdk/dotnet/Esa/UrlObservation.cs index d8e5dcc1e3..55d4d5616d 100644 --- a/sdk/dotnet/Esa/UrlObservation.cs +++ b/sdk/dotnet/Esa/UrlObservation.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Url Observation can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/Version.cs b/sdk/dotnet/Esa/Version.cs index 2baf641dc1..043fd1f49b 100644 --- a/sdk/dotnet/Esa/Version.cs +++ b/sdk/dotnet/Esa/Version.cs @@ -10,9 +10,9 @@ namespace Pulumi.AliCloud.Esa { /// - /// Provides a ESA Site Version resource. + /// Provides a ESA Version resource. /// - /// For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). + /// For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). /// /// > **NOTE:** Available since v1.251.0. /// @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Site Version can be imported using the id, e.g. @@ -87,10 +89,10 @@ public partial class Version : global::Pulumi.CustomResource /// The site ID, which can be obtained by calling the ListSites API. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// - /// The version number of the site configuration. + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. /// [Output("siteVersion")] public Output SiteVersion { get; private set; } = null!; @@ -163,7 +165,7 @@ public sealed class VersionArgs : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; public VersionArgs() { @@ -195,10 +197,10 @@ public sealed class VersionState : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// - /// The version number of the site configuration. + /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. /// [Input("siteVersion")] public Input? SiteVersion { get; set; } diff --git a/sdk/dotnet/Esa/VideoProcessing.cs b/sdk/dotnet/Esa/VideoProcessing.cs index 031bf1fc9c..c537cc0a24 100644 --- a/sdk/dotnet/Esa/VideoProcessing.cs +++ b/sdk/dotnet/Esa/VideoProcessing.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Video Processing can be imported using the id, e.g. @@ -130,7 +132,7 @@ public partial class VideoProcessing : global::Pulumi.CustomResource public Output RuleName { get; private set; } = null!; /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Output("sequence")] public Output Sequence { get; private set; } = null!; @@ -139,7 +141,7 @@ public partial class VideoProcessing : global::Pulumi.CustomResource /// The site ID, which can be obtained by calling the ListSites API. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -250,7 +252,7 @@ public sealed class VideoProcessingArgs : global::Pulumi.ResourceArgs public Input? RuleName { get; set; } /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Input("sequence")] public Input? Sequence { get; set; } @@ -259,7 +261,7 @@ public sealed class VideoProcessingArgs : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. @@ -338,7 +340,7 @@ public sealed class VideoProcessingState : global::Pulumi.ResourceArgs public Input? RuleName { get; set; } /// - /// Order of rule execution. The smaller the value, the higher the priority for execution. + /// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. /// [Input("sequence")] public Input? Sequence { get; set; } @@ -347,7 +349,7 @@ public sealed class VideoProcessingState : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// /// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/dotnet/Esa/WafRule.cs b/sdk/dotnet/Esa/WafRule.cs index 99cd19b21a..ec86108c69 100644 --- a/sdk/dotnet/Esa/WafRule.cs +++ b/sdk/dotnet/Esa/WafRule.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Waf Rule can be imported using the id, e.g. @@ -97,9 +99,6 @@ public partial class WafRule : global::Pulumi.CustomResource [Output("rulesetId")] public Output RulesetId { get; private set; } = null!; - /// - /// Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `Shared` below. - /// [Output("shared")] public Output Shared { get; private set; } = null!; @@ -107,11 +106,8 @@ public partial class WafRule : global::Pulumi.CustomResource /// The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; - /// - /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - /// [Output("siteVersion")] public Output SiteVersion { get; private set; } = null!; @@ -185,9 +181,6 @@ public sealed class WafRuleArgs : global::Pulumi.ResourceArgs [Input("rulesetId")] public Input? RulesetId { get; set; } - /// - /// Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `Shared` below. - /// [Input("shared")] public Input? Shared { get; set; } @@ -195,11 +188,8 @@ public sealed class WafRuleArgs : global::Pulumi.ResourceArgs /// The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; - /// - /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - /// [Input("siteVersion")] public Input? SiteVersion { get; set; } @@ -229,9 +219,6 @@ public sealed class WafRuleState : global::Pulumi.ResourceArgs [Input("rulesetId")] public Input? RulesetId { get; set; } - /// - /// Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `Shared` below. - /// [Input("shared")] public Input? Shared { get; set; } @@ -239,11 +226,8 @@ public sealed class WafRuleState : global::Pulumi.ResourceArgs /// The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } - /// - /// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - /// [Input("siteVersion")] public Input? SiteVersion { get; set; } diff --git a/sdk/dotnet/Esa/WafRuleset.cs b/sdk/dotnet/Esa/WafRuleset.cs index e4093a2215..f66ff5318a 100644 --- a/sdk/dotnet/Esa/WafRuleset.cs +++ b/sdk/dotnet/Esa/WafRuleset.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Waf Ruleset can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/WaitingRoom.cs b/sdk/dotnet/Esa/WaitingRoom.cs index a74a6307b5..c9f058f198 100644 --- a/sdk/dotnet/Esa/WaitingRoom.cs +++ b/sdk/dotnet/Esa/WaitingRoom.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Waiting Room can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/WaitingRoomEvent.cs b/sdk/dotnet/Esa/WaitingRoomEvent.cs index b30bffd928..9961e5f3ac 100644 --- a/sdk/dotnet/Esa/WaitingRoomEvent.cs +++ b/sdk/dotnet/Esa/WaitingRoomEvent.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Waiting Room Event can be imported using the id, e.g. diff --git a/sdk/dotnet/Esa/WaitingRoomRule.cs b/sdk/dotnet/Esa/WaitingRoomRule.cs index 1abf2e0213..7b2d147375 100644 --- a/sdk/dotnet/Esa/WaitingRoomRule.cs +++ b/sdk/dotnet/Esa/WaitingRoomRule.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.Esa /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESA Waiting Room Rule can be imported using the id, e.g. @@ -109,12 +111,12 @@ public partial class WaitingRoomRule : global::Pulumi.CustomResource /// The site ID, which can be obtained by calling the ListSites API. /// [Output("siteId")] - public Output SiteId { get; private set; } = null!; + public Output SiteId { get; private set; } = null!; /// - /// Rule enabled status, supporting: - /// -'on': means enabled. - /// -'off': means disabled. + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -193,12 +195,12 @@ public sealed class WaitingRoomRuleArgs : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId", required: true)] - public Input SiteId { get; set; } = null!; + public Input SiteId { get; set; } = null!; /// - /// Rule enabled status, supporting: - /// -'on': means enabled. - /// -'off': means disabled. + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. /// [Input("status", required: true)] public Input Status { get; set; } = null!; @@ -233,12 +235,12 @@ public sealed class WaitingRoomRuleState : global::Pulumi.ResourceArgs /// The site ID, which can be obtained by calling the ListSites API. /// [Input("siteId")] - public Input? SiteId { get; set; } + public Input? SiteId { get; set; } /// - /// Rule enabled status, supporting: - /// -'on': means enabled. - /// -'off': means disabled. + /// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + /// - on: open. + /// - off: close. /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/Ess/Alarm.cs b/sdk/dotnet/Ess/Alarm.cs index 3d159b4e26..8088ebe377 100644 --- a/sdk/dotnet/Ess/Alarm.cs +++ b/sdk/dotnet/Ess/Alarm.cs @@ -145,6 +145,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing autoscaling-rule module diff --git a/sdk/dotnet/Ess/AlbServerGroupAttachment.cs b/sdk/dotnet/Ess/AlbServerGroupAttachment.cs index 5656bbc7c1..802c9a6ef9 100644 --- a/sdk/dotnet/Ess/AlbServerGroupAttachment.cs +++ b/sdk/dotnet/Ess/AlbServerGroupAttachment.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESS alb server groups can be imported using the id, e.g. diff --git a/sdk/dotnet/Ess/Attachment.cs b/sdk/dotnet/Ess/Attachment.cs index f3fb7d6770..51f254d25e 100644 --- a/sdk/dotnet/Ess/Attachment.cs +++ b/sdk/dotnet/Ess/Attachment.cs @@ -152,6 +152,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESS attachment can be imported using the id or scaling group id, e.g. diff --git a/sdk/dotnet/Ess/EciScalingConfiguration.cs b/sdk/dotnet/Ess/EciScalingConfiguration.cs index 8d576c8ade..1a645f25e2 100644 --- a/sdk/dotnet/Ess/EciScalingConfiguration.cs +++ b/sdk/dotnet/Ess/EciScalingConfiguration.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESS eci scaling configuration can be imported using the id, e.g. diff --git a/sdk/dotnet/Ess/LifecycleHook.cs b/sdk/dotnet/Ess/LifecycleHook.cs index a20b7eefe2..ec29cf3725 100644 --- a/sdk/dotnet/Ess/LifecycleHook.cs +++ b/sdk/dotnet/Ess/LifecycleHook.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing autoscaling module diff --git a/sdk/dotnet/Ess/Notification.cs b/sdk/dotnet/Ess/Notification.cs index 3ae40293f2..c1428fb2f2 100644 --- a/sdk/dotnet/Ess/Notification.cs +++ b/sdk/dotnet/Ess/Notification.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ess notification can be imported using the id, e.g. diff --git a/sdk/dotnet/Ess/ScalingConfiguration.cs b/sdk/dotnet/Ess/ScalingConfiguration.cs index 47465c6c32..9029687ca5 100644 --- a/sdk/dotnet/Ess/ScalingConfiguration.cs +++ b/sdk/dotnet/Ess/ScalingConfiguration.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing autoscaling module diff --git a/sdk/dotnet/Ess/ScalingGroup.cs b/sdk/dotnet/Ess/ScalingGroup.cs index 56e445ce32..3aacfdb20f 100644 --- a/sdk/dotnet/Ess/ScalingGroup.cs +++ b/sdk/dotnet/Ess/ScalingGroup.cs @@ -122,6 +122,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing autoscaling module diff --git a/sdk/dotnet/Ess/ScalingRule.cs b/sdk/dotnet/Ess/ScalingRule.cs index ff8e7695f7..cc8b157080 100644 --- a/sdk/dotnet/Ess/ScalingRule.cs +++ b/sdk/dotnet/Ess/ScalingRule.cs @@ -124,6 +124,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing autoscaling-rule module diff --git a/sdk/dotnet/Ess/ServerGroupAttachment.cs b/sdk/dotnet/Ess/ServerGroupAttachment.cs index f81d1e679d..1830f331e9 100644 --- a/sdk/dotnet/Ess/ServerGroupAttachment.cs +++ b/sdk/dotnet/Ess/ServerGroupAttachment.cs @@ -139,6 +139,8 @@ namespace Pulumi.AliCloud.Ess /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ess/serverGroupAttachment:ServerGroupAttachment")] public partial class ServerGroupAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ess/SuspendProcess.cs b/sdk/dotnet/Ess/SuspendProcess.cs index 66dbdd71d2..ca71e4e14f 100644 --- a/sdk/dotnet/Ess/SuspendProcess.cs +++ b/sdk/dotnet/Ess/SuspendProcess.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.Ess /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ESS suspend process can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/ApiDestination.cs b/sdk/dotnet/EventBridge/ApiDestination.cs index a942bb25d0..b5edd6a89a 100644 --- a/sdk/dotnet/EventBridge/ApiDestination.cs +++ b/sdk/dotnet/EventBridge/ApiDestination.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Api Destination can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/Connection.cs b/sdk/dotnet/EventBridge/Connection.cs index d26fbcf178..932ef24aa0 100644 --- a/sdk/dotnet/EventBridge/Connection.cs +++ b/sdk/dotnet/EventBridge/Connection.cs @@ -123,6 +123,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Connection can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/EventBus.cs b/sdk/dotnet/EventBridge/EventBus.cs index 260ffff6ec..524938f1a0 100644 --- a/sdk/dotnet/EventBridge/EventBus.cs +++ b/sdk/dotnet/EventBridge/EventBus.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Event Bus can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/EventSource.cs b/sdk/dotnet/EventBridge/EventSource.cs index f966656ada..bb18bf2b53 100644 --- a/sdk/dotnet/EventBridge/EventSource.cs +++ b/sdk/dotnet/EventBridge/EventSource.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Event Source can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/Rule.cs b/sdk/dotnet/EventBridge/Rule.cs index 6d351be35a..f8c5b781c3 100644 --- a/sdk/dotnet/EventBridge/Rule.cs +++ b/sdk/dotnet/EventBridge/Rule.cs @@ -102,6 +102,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/EventBridge/ServiceLinkedRole.cs b/sdk/dotnet/EventBridge/ServiceLinkedRole.cs index cc7ade1111..5677701131 100644 --- a/sdk/dotnet/EventBridge/ServiceLinkedRole.cs +++ b/sdk/dotnet/EventBridge/ServiceLinkedRole.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.EventBridge /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Event Bridge Service Linked Role can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/EcFailoverTestJob.cs b/sdk/dotnet/ExpressConnect/EcFailoverTestJob.cs index 855f2f8738..adc7ab9ca7 100644 --- a/sdk/dotnet/ExpressConnect/EcFailoverTestJob.cs +++ b/sdk/dotnet/ExpressConnect/EcFailoverTestJob.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Ec Failover Test Job can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/GrantRuleToCen.cs b/sdk/dotnet/ExpressConnect/GrantRuleToCen.cs index 476403ed6c..9d2c50f35c 100644 --- a/sdk/dotnet/ExpressConnect/GrantRuleToCen.cs +++ b/sdk/dotnet/ExpressConnect/GrantRuleToCen.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Grant Rule To Cen can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/PhysicalConnection.cs b/sdk/dotnet/ExpressConnect/PhysicalConnection.cs index 26fd202521..8f6c9da92c 100644 --- a/sdk/dotnet/ExpressConnect/PhysicalConnection.cs +++ b/sdk/dotnet/ExpressConnect/PhysicalConnection.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Physical Connection can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/RouterGrantAssociation.cs b/sdk/dotnet/ExpressConnect/RouterGrantAssociation.cs index 941bccc1bd..af51b5572c 100644 --- a/sdk/dotnet/ExpressConnect/RouterGrantAssociation.cs +++ b/sdk/dotnet/ExpressConnect/RouterGrantAssociation.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Router Grant Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/RouterInterface.cs b/sdk/dotnet/ExpressConnect/RouterInterface.cs index 81e47c0b63..30309c726a 100644 --- a/sdk/dotnet/ExpressConnect/RouterInterface.cs +++ b/sdk/dotnet/ExpressConnect/RouterInterface.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Router Interface can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/RouterTrAssociation.cs b/sdk/dotnet/ExpressConnect/RouterTrAssociation.cs index 94f81e5699..1b06ab380e 100644 --- a/sdk/dotnet/ExpressConnect/RouterTrAssociation.cs +++ b/sdk/dotnet/ExpressConnect/RouterTrAssociation.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/RouterVbrChildInstance.cs b/sdk/dotnet/ExpressConnect/RouterVbrChildInstance.cs index 64781e831c..0f93acdbd4 100644 --- a/sdk/dotnet/ExpressConnect/RouterVbrChildInstance.cs +++ b/sdk/dotnet/ExpressConnect/RouterVbrChildInstance.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/RouterVpcAssociation.cs b/sdk/dotnet/ExpressConnect/RouterVpcAssociation.cs index c00fade056..ccffb49e4a 100644 --- a/sdk/dotnet/ExpressConnect/RouterVpcAssociation.cs +++ b/sdk/dotnet/ExpressConnect/RouterVpcAssociation.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/TrafficQos.cs b/sdk/dotnet/ExpressConnect/TrafficQos.cs index 8f38fced98..91efe68bba 100644 --- a/sdk/dotnet/ExpressConnect/TrafficQos.cs +++ b/sdk/dotnet/ExpressConnect/TrafficQos.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Traffic Qos can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/TrafficQosAssociation.cs b/sdk/dotnet/ExpressConnect/TrafficQosAssociation.cs index aa9150303f..3fe86c4862 100644 --- a/sdk/dotnet/ExpressConnect/TrafficQosAssociation.cs +++ b/sdk/dotnet/ExpressConnect/TrafficQosAssociation.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Traffic Qos Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/TrafficQosQueue.cs b/sdk/dotnet/ExpressConnect/TrafficQosQueue.cs index e8e85b3739..bec046a91c 100644 --- a/sdk/dotnet/ExpressConnect/TrafficQosQueue.cs +++ b/sdk/dotnet/ExpressConnect/TrafficQosQueue.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/TrafficQosRule.cs b/sdk/dotnet/ExpressConnect/TrafficQosRule.cs index 012f34cc6c..ac898fce26 100644 --- a/sdk/dotnet/ExpressConnect/TrafficQosRule.cs +++ b/sdk/dotnet/ExpressConnect/TrafficQosRule.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Traffic Qos Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/VbrPconnAssociation.cs b/sdk/dotnet/ExpressConnect/VbrPconnAssociation.cs index 48b2bd0855..05ff965daf 100644 --- a/sdk/dotnet/ExpressConnect/VbrPconnAssociation.cs +++ b/sdk/dotnet/ExpressConnect/VbrPconnAssociation.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Vbr Pconn Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ExpressConnect/VirtualBorderRouter.cs b/sdk/dotnet/ExpressConnect/VirtualBorderRouter.cs index 0a444784a5..306cca0403 100644 --- a/sdk/dotnet/ExpressConnect/VirtualBorderRouter.cs +++ b/sdk/dotnet/ExpressConnect/VirtualBorderRouter.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Virtual Border Router can be imported using the id, e.g. @@ -81,7 +83,7 @@ public partial class VirtualBorderRouter : global::Pulumi.CustomResource /// - When creating a VBR instance for a shared line, you do not need to configure it. The bandwidth of the VBR is the bandwidth set when creating a shared physical line. /// [Output("bandwidth")] - public Output Bandwidth { get; private set; } = null!; + public Output Bandwidth { get; private set; } = null!; /// /// The circuit code provided by the operator for the physical connection. diff --git a/sdk/dotnet/ExpressConnect/VirtualPhysicalConnection.cs b/sdk/dotnet/ExpressConnect/VirtualPhysicalConnection.cs index 9e48cd36cd..770cd03ed5 100644 --- a/sdk/dotnet/ExpressConnect/VirtualPhysicalConnection.cs +++ b/sdk/dotnet/ExpressConnect/VirtualPhysicalConnection.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.ExpressConnect /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Virtual Physical Connection can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/Alias.cs b/sdk/dotnet/FC/Alias.cs index d2ac0f8951..3336afc3a5 100644 --- a/sdk/dotnet/FC/Alias.cs +++ b/sdk/dotnet/FC/Alias.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Function Compute alias can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/CustomDomain.cs b/sdk/dotnet/FC/CustomDomain.cs index 81194fc2ed..59adfcea8e 100644 --- a/sdk/dotnet/FC/CustomDomain.cs +++ b/sdk/dotnet/FC/CustomDomain.cs @@ -149,6 +149,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Function Compute custom domain can be imported using the id or the domain name, e.g. diff --git a/sdk/dotnet/FC/FunctionAsyncInvokeConfig.cs b/sdk/dotnet/FC/FunctionAsyncInvokeConfig.cs index 3e793a25fd..7c7781a16c 100644 --- a/sdk/dotnet/FC/FunctionAsyncInvokeConfig.cs +++ b/sdk/dotnet/FC/FunctionAsyncInvokeConfig.cs @@ -171,6 +171,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Function Compute Function Async Invoke Configs can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/LayerVersion.cs b/sdk/dotnet/FC/LayerVersion.cs index 64ef1c210b..e5bc411de4 100644 --- a/sdk/dotnet/FC/LayerVersion.cs +++ b/sdk/dotnet/FC/LayerVersion.cs @@ -60,6 +60,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Function Compute Layer Version can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/Trigger.cs b/sdk/dotnet/FC/Trigger.cs index 4d70ca6bc5..1fe45649b1 100644 --- a/sdk/dotnet/FC/Trigger.cs +++ b/sdk/dotnet/FC/Trigger.cs @@ -735,6 +735,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing fc module diff --git a/sdk/dotnet/FC/V3Alias.cs b/sdk/dotnet/FC/V3Alias.cs index b087054c7f..eb53d66b82 100644 --- a/sdk/dotnet/FC/V3Alias.cs +++ b/sdk/dotnet/FC/V3Alias.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Alias can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3AsyncInvokeConfig.cs b/sdk/dotnet/FC/V3AsyncInvokeConfig.cs index 3fb8a151d4..49f605ca3e 100644 --- a/sdk/dotnet/FC/V3AsyncInvokeConfig.cs +++ b/sdk/dotnet/FC/V3AsyncInvokeConfig.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Async Invoke Config can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3ConcurrencyConfig.cs b/sdk/dotnet/FC/V3ConcurrencyConfig.cs index f80112acd6..b1e5539e12 100644 --- a/sdk/dotnet/FC/V3ConcurrencyConfig.cs +++ b/sdk/dotnet/FC/V3ConcurrencyConfig.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Concurrency Config can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3CustomDomain.cs b/sdk/dotnet/FC/V3CustomDomain.cs index adacb63467..465149423b 100644 --- a/sdk/dotnet/FC/V3CustomDomain.cs +++ b/sdk/dotnet/FC/V3CustomDomain.cs @@ -227,6 +227,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Custom Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3Function.cs b/sdk/dotnet/FC/V3Function.cs index f40543ae3c..030462f8c4 100644 --- a/sdk/dotnet/FC/V3Function.cs +++ b/sdk/dotnet/FC/V3Function.cs @@ -120,6 +120,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -131,9 +133,6 @@ namespace Pulumi.AliCloud.FC [AliCloudResourceType("alicloud:fc/v3Function:V3Function")] public partial class V3Function : global::Pulumi.CustomResource { - /// - /// Function code ZIP package. code and customContainerConfig. See `Code` below. - /// [Output("code")] public Output Code { get; private set; } = null!; @@ -221,6 +220,12 @@ public partial class V3Function : global::Pulumi.CustomResource [Output("handler")] public Output Handler { get; private set; } = null!; + /// + /// Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + /// + [Output("idleTimeout")] + public Output IdleTimeout { get; private set; } = null!; + /// /// Maximum instance concurrency. /// @@ -231,7 +236,7 @@ public partial class V3Function : global::Pulumi.CustomResource /// Instance isolation mode /// [Output("instanceIsolationMode")] - public Output InstanceIsolationMode { get; private set; } = null!; + public Output InstanceIsolationMode { get; private set; } = null!; /// /// Instance lifecycle callback method configuration. See `InstanceLifecycleConfig` below. @@ -306,7 +311,7 @@ public partial class V3Function : global::Pulumi.CustomResource public Output OssMountConfig { get; private set; } = null!; /// - /// Resource Group ID. + /// Resource Group ID /// [Output("resourceGroupId")] public Output ResourceGroupId { get; private set; } = null!; @@ -318,7 +323,7 @@ public partial class V3Function : global::Pulumi.CustomResource public Output Role { get; private set; } = null!; /// - /// Function runtime type. + /// Function runtime type /// [Output("runtime")] public Output Runtime { get; private set; } = null!; @@ -327,7 +332,7 @@ public partial class V3Function : global::Pulumi.CustomResource /// The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. /// [Output("sessionAffinity")] - public Output SessionAffinity { get; private set; } = null!; + public Output SessionAffinity { get; private set; } = null!; /// /// When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. @@ -423,9 +428,6 @@ public static V3Function Get(string name, Input id, V3FunctionState? sta public sealed class V3FunctionArgs : global::Pulumi.ResourceArgs { - /// - /// Function code ZIP package. code and customContainerConfig. See `Code` below. - /// [Input("code")] public Input? Code { get; set; } @@ -495,6 +497,12 @@ public InputMap EnvironmentVariables [Input("handler", required: true)] public Input Handler { get; set; } = null!; + /// + /// Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + /// + [Input("idleTimeout")] + public Input? IdleTimeout { get; set; } + /// /// Maximum instance concurrency. /// @@ -562,7 +570,7 @@ public InputList Layers public Input? OssMountConfig { get; set; } /// - /// Resource Group ID. + /// Resource Group ID /// [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } @@ -574,7 +582,7 @@ public InputList Layers public Input? Role { get; set; } /// - /// Function runtime type. + /// Function runtime type /// [Input("runtime", required: true)] public Input Runtime { get; set; } = null!; @@ -623,9 +631,6 @@ public V3FunctionArgs() public sealed class V3FunctionState : global::Pulumi.ResourceArgs { - /// - /// Function code ZIP package. code and customContainerConfig. See `Code` below. - /// [Input("code")] public Input? Code { get; set; } @@ -719,6 +724,12 @@ public InputMap EnvironmentVariables [Input("handler")] public Input? Handler { get; set; } + /// + /// Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + /// + [Input("idleTimeout")] + public Input? IdleTimeout { get; set; } + /// /// Maximum instance concurrency. /// @@ -810,7 +821,7 @@ public InputList Layers public Input? OssMountConfig { get; set; } /// - /// Resource Group ID. + /// Resource Group ID /// [Input("resourceGroupId")] public Input? ResourceGroupId { get; set; } @@ -822,7 +833,7 @@ public InputList Layers public Input? Role { get; set; } /// - /// Function runtime type. + /// Function runtime type /// [Input("runtime")] public Input? Runtime { get; set; } diff --git a/sdk/dotnet/FC/V3FunctionVersion.cs b/sdk/dotnet/FC/V3FunctionVersion.cs index f617ed1768..1c2ffe9b2a 100644 --- a/sdk/dotnet/FC/V3FunctionVersion.cs +++ b/sdk/dotnet/FC/V3FunctionVersion.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Function Version can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3LayerVersion.cs b/sdk/dotnet/FC/V3LayerVersion.cs index 9e8d62bcf0..f4bc80af6d 100644 --- a/sdk/dotnet/FC/V3LayerVersion.cs +++ b/sdk/dotnet/FC/V3LayerVersion.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Layer Version can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3ProvisionConfig.cs b/sdk/dotnet/FC/V3ProvisionConfig.cs index b792141fff..acf96b0b55 100644 --- a/sdk/dotnet/FC/V3ProvisionConfig.cs +++ b/sdk/dotnet/FC/V3ProvisionConfig.cs @@ -169,6 +169,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Provision Config can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3Trigger.cs b/sdk/dotnet/FC/V3Trigger.cs index be608aa3d4..5243b16231 100644 --- a/sdk/dotnet/FC/V3Trigger.cs +++ b/sdk/dotnet/FC/V3Trigger.cs @@ -143,6 +143,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Trigger can be imported using the id, e.g. diff --git a/sdk/dotnet/FC/V3VpcBinding.cs b/sdk/dotnet/FC/V3VpcBinding.cs index 811aad2400..f16b9b7794 100644 --- a/sdk/dotnet/FC/V3VpcBinding.cs +++ b/sdk/dotnet/FC/V3VpcBinding.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.FC /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// FCV3 Vpc Binding can be imported using the id, e.g. diff --git a/sdk/dotnet/FNF/Execution.cs b/sdk/dotnet/FNF/Execution.cs index a4f8d9c459..b9bbf50697 100644 --- a/sdk/dotnet/FNF/Execution.cs +++ b/sdk/dotnet/FNF/Execution.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.FNF /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless Workflow Execution can be imported using the id, e.g. diff --git a/sdk/dotnet/FNF/Flow.cs b/sdk/dotnet/FNF/Flow.cs index a275013447..927243c34f 100644 --- a/sdk/dotnet/FNF/Flow.cs +++ b/sdk/dotnet/FNF/Flow.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.FNF /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless Workflow Flow can be imported using the id, e.g. diff --git a/sdk/dotnet/FNF/Schedule.cs b/sdk/dotnet/FNF/Schedule.cs index 3f93a2b272..7d120e8e41 100644 --- a/sdk/dotnet/FNF/Schedule.cs +++ b/sdk/dotnet/FNF/Schedule.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.FNF /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless Workflow Schedule can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/Accelerator.cs b/sdk/dotnet/Ga/Accelerator.cs index ca6d118e69..2e2d4270c1 100644 --- a/sdk/dotnet/Ga/Accelerator.cs +++ b/sdk/dotnet/Ga/Accelerator.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Accelerator can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/AcceleratorSpareIpAttachment.cs b/sdk/dotnet/Ga/AcceleratorSpareIpAttachment.cs index 03a1fa3243..5e3920f247 100644 --- a/sdk/dotnet/Ga/AcceleratorSpareIpAttachment.cs +++ b/sdk/dotnet/Ga/AcceleratorSpareIpAttachment.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/AccessLog.cs b/sdk/dotnet/Ga/AccessLog.cs index 75824552f1..bf9bdff6e6 100644 --- a/sdk/dotnet/Ga/AccessLog.cs +++ b/sdk/dotnet/Ga/AccessLog.cs @@ -123,6 +123,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Access Log can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/Acl.cs b/sdk/dotnet/Ga/Acl.cs index a02d864822..63aafb09b9 100644 --- a/sdk/dotnet/Ga/Acl.cs +++ b/sdk/dotnet/Ga/Acl.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/AclAttachment.cs b/sdk/dotnet/Ga/AclAttachment.cs index b80952c536..8632b24477 100644 --- a/sdk/dotnet/Ga/AclAttachment.cs +++ b/sdk/dotnet/Ga/AclAttachment.cs @@ -87,6 +87,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/AclEntryAttachment.cs b/sdk/dotnet/Ga/AclEntryAttachment.cs index 24610c3c90..38f2b50af0 100644 --- a/sdk/dotnet/Ga/AclEntryAttachment.cs +++ b/sdk/dotnet/Ga/AclEntryAttachment.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/AdditionalCertificate.cs b/sdk/dotnet/Ga/AdditionalCertificate.cs index 2e3e1379ad..f1d6e9d92d 100644 --- a/sdk/dotnet/Ga/AdditionalCertificate.cs +++ b/sdk/dotnet/Ga/AdditionalCertificate.cs @@ -177,6 +177,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BandwidthPackage.cs b/sdk/dotnet/Ga/BandwidthPackage.cs index 53eb384c5c..119f78028b 100644 --- a/sdk/dotnet/Ga/BandwidthPackage.cs +++ b/sdk/dotnet/Ga/BandwidthPackage.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Bandwidth Package can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BandwidthPackageAttachment.cs b/sdk/dotnet/Ga/BandwidthPackageAttachment.cs index f56ffc0fad..dc082ca918 100644 --- a/sdk/dotnet/Ga/BandwidthPackageAttachment.cs +++ b/sdk/dotnet/Ga/BandwidthPackageAttachment.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicAccelerateIp.cs b/sdk/dotnet/Ga/BasicAccelerateIp.cs index 9aebc13b47..1385e4ae3a 100644 --- a/sdk/dotnet/Ga/BasicAccelerateIp.cs +++ b/sdk/dotnet/Ga/BasicAccelerateIp.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicAccelerateIpEndpointRelation.cs b/sdk/dotnet/Ga/BasicAccelerateIpEndpointRelation.cs index 89f519f55c..3068ba2de7 100644 --- a/sdk/dotnet/Ga/BasicAccelerateIpEndpointRelation.cs +++ b/sdk/dotnet/Ga/BasicAccelerateIpEndpointRelation.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicAccelerator.cs b/sdk/dotnet/Ga/BasicAccelerator.cs index dbcdd6e4c1..58cd13c19d 100644 --- a/sdk/dotnet/Ga/BasicAccelerator.cs +++ b/sdk/dotnet/Ga/BasicAccelerator.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicEndpoint.cs b/sdk/dotnet/Ga/BasicEndpoint.cs index 9dcdef54d9..9d5c4fba88 100644 --- a/sdk/dotnet/Ga/BasicEndpoint.cs +++ b/sdk/dotnet/Ga/BasicEndpoint.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicEndpointGroup.cs b/sdk/dotnet/Ga/BasicEndpointGroup.cs index c765aecbc2..66654f176a 100644 --- a/sdk/dotnet/Ga/BasicEndpointGroup.cs +++ b/sdk/dotnet/Ga/BasicEndpointGroup.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/BasicIpSet.cs b/sdk/dotnet/Ga/BasicIpSet.cs index fa6d9061fb..7a227fc58d 100644 --- a/sdk/dotnet/Ga/BasicIpSet.cs +++ b/sdk/dotnet/Ga/BasicIpSet.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/CustomRoutingEndpoint.cs b/sdk/dotnet/Ga/CustomRoutingEndpoint.cs index c609d68e25..31babe58b9 100644 --- a/sdk/dotnet/Ga/CustomRoutingEndpoint.cs +++ b/sdk/dotnet/Ga/CustomRoutingEndpoint.cs @@ -106,6 +106,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/CustomRoutingEndpointGroup.cs b/sdk/dotnet/Ga/CustomRoutingEndpointGroup.cs index 60c78f333e..66e54187cf 100644 --- a/sdk/dotnet/Ga/CustomRoutingEndpointGroup.cs +++ b/sdk/dotnet/Ga/CustomRoutingEndpointGroup.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/CustomRoutingEndpointGroupDestination.cs b/sdk/dotnet/Ga/CustomRoutingEndpointGroupDestination.cs index 058e7f8507..ba8b3f8d92 100644 --- a/sdk/dotnet/Ga/CustomRoutingEndpointGroupDestination.cs +++ b/sdk/dotnet/Ga/CustomRoutingEndpointGroupDestination.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/CustomRoutingEndpointTrafficPolicy.cs b/sdk/dotnet/Ga/CustomRoutingEndpointTrafficPolicy.cs index f3100ac931..d56e1b30a4 100644 --- a/sdk/dotnet/Ga/CustomRoutingEndpointTrafficPolicy.cs +++ b/sdk/dotnet/Ga/CustomRoutingEndpointTrafficPolicy.cs @@ -133,6 +133,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/Domain.cs b/sdk/dotnet/Ga/Domain.cs index 3531b09a26..04cac304dd 100644 --- a/sdk/dotnet/Ga/Domain.cs +++ b/sdk/dotnet/Ga/Domain.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/EndpointGroup.cs b/sdk/dotnet/Ga/EndpointGroup.cs index 6f8b027134..09730e8e21 100644 --- a/sdk/dotnet/Ga/EndpointGroup.cs +++ b/sdk/dotnet/Ga/EndpointGroup.cs @@ -99,6 +99,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Endpoint Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/ForwardingRule.cs b/sdk/dotnet/Ga/ForwardingRule.cs index 058c6a6cfb..745b6850eb 100644 --- a/sdk/dotnet/Ga/ForwardingRule.cs +++ b/sdk/dotnet/Ga/ForwardingRule.cs @@ -177,6 +177,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Forwarding Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/IpSet.cs b/sdk/dotnet/Ga/IpSet.cs index f584f62ae0..aed65c9611 100644 --- a/sdk/dotnet/Ga/IpSet.cs +++ b/sdk/dotnet/Ga/IpSet.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Ip Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Ga/Listener.cs b/sdk/dotnet/Ga/Listener.cs index ccb10145c3..558d441fd4 100644 --- a/sdk/dotnet/Ga/Listener.cs +++ b/sdk/dotnet/Ga/Listener.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Ga /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ga Listener can be imported using the id, e.g. diff --git a/sdk/dotnet/Governance/Baseline.cs b/sdk/dotnet/Governance/Baseline.cs index 7a3e0b2fbb..cb7351e0bb 100644 --- a/sdk/dotnet/Governance/Baseline.cs +++ b/sdk/dotnet/Governance/Baseline.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.Governance /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Governance Baseline can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/Account.cs b/sdk/dotnet/Gpdb/Account.cs index ffc8b9a300..64d779ae16 100644 --- a/sdk/dotnet/Gpdb/Account.cs +++ b/sdk/dotnet/Gpdb/Account.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Account can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/Connection.cs b/sdk/dotnet/Gpdb/Connection.cs index 444536c84d..e723435541 100644 --- a/sdk/dotnet/Gpdb/Connection.cs +++ b/sdk/dotnet/Gpdb/Connection.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/Database.cs b/sdk/dotnet/Gpdb/Database.cs index 51cf7caf7f..f7537a888d 100644 --- a/sdk/dotnet/Gpdb/Database.cs +++ b/sdk/dotnet/Gpdb/Database.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Database can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/DbInstanceIpArray.cs b/sdk/dotnet/Gpdb/DbInstanceIpArray.cs index 12a5b1f6b5..395b02d87c 100644 --- a/sdk/dotnet/Gpdb/DbInstanceIpArray.cs +++ b/sdk/dotnet/Gpdb/DbInstanceIpArray.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB DB Instance IP Array can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/DbResourceGroup.cs b/sdk/dotnet/Gpdb/DbResourceGroup.cs index 276ade10bd..9dc19f4eb2 100644 --- a/sdk/dotnet/Gpdb/DbResourceGroup.cs +++ b/sdk/dotnet/Gpdb/DbResourceGroup.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/ElasticInstance.cs b/sdk/dotnet/Gpdb/ElasticInstance.cs index 45b69143ba..dd994abf57 100644 --- a/sdk/dotnet/Gpdb/ElasticInstance.cs +++ b/sdk/dotnet/Gpdb/ElasticInstance.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/ExternalDataService.cs b/sdk/dotnet/Gpdb/ExternalDataService.cs index 86fbddc890..97dcb37eba 100644 --- a/sdk/dotnet/Gpdb/ExternalDataService.cs +++ b/sdk/dotnet/Gpdb/ExternalDataService.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/HadoopDataSource.cs b/sdk/dotnet/Gpdb/HadoopDataSource.cs index e74aca0880..287b45279c 100644 --- a/sdk/dotnet/Gpdb/HadoopDataSource.cs +++ b/sdk/dotnet/Gpdb/HadoopDataSource.cs @@ -246,6 +246,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Hadoop Data Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/Instance.cs b/sdk/dotnet/Gpdb/Instance.cs index 2853467b4f..600578c190 100644 --- a/sdk/dotnet/Gpdb/Instance.cs +++ b/sdk/dotnet/Gpdb/Instance.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/JdbcDataSource.cs b/sdk/dotnet/Gpdb/JdbcDataSource.cs index 4dae456b6d..d7042262fd 100644 --- a/sdk/dotnet/Gpdb/JdbcDataSource.cs +++ b/sdk/dotnet/Gpdb/JdbcDataSource.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Jdbc Data Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/RemoteAdbDataSource.cs b/sdk/dotnet/Gpdb/RemoteAdbDataSource.cs index 4a88088e68..de49960128 100644 --- a/sdk/dotnet/Gpdb/RemoteAdbDataSource.cs +++ b/sdk/dotnet/Gpdb/RemoteAdbDataSource.cs @@ -121,6 +121,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Remote ADB Data Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/StreamingDataService.cs b/sdk/dotnet/Gpdb/StreamingDataService.cs index 4153c32b91..3adb6dfa4d 100644 --- a/sdk/dotnet/Gpdb/StreamingDataService.cs +++ b/sdk/dotnet/Gpdb/StreamingDataService.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Streaming Data Service can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/StreamingDataSource.cs b/sdk/dotnet/Gpdb/StreamingDataSource.cs index 985e2c8be7..7b99ed863d 100644 --- a/sdk/dotnet/Gpdb/StreamingDataSource.cs +++ b/sdk/dotnet/Gpdb/StreamingDataSource.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Streaming Data Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/StreamingJob.cs b/sdk/dotnet/Gpdb/StreamingJob.cs index c0637822f6..42395e31ff 100644 --- a/sdk/dotnet/Gpdb/StreamingJob.cs +++ b/sdk/dotnet/Gpdb/StreamingJob.cs @@ -155,6 +155,8 @@ namespace Pulumi.AliCloud.Gpdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GPDB Streaming Job can be imported using the id, e.g. diff --git a/sdk/dotnet/Gpdb/SupabaseProject.cs b/sdk/dotnet/Gpdb/SupabaseProject.cs new file mode 100644 index 0000000000..e62adbe0b4 --- /dev/null +++ b/sdk/dotnet/Gpdb/SupabaseProject.cs @@ -0,0 +1,385 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Gpdb +{ + /// + /// Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. + /// + /// For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.Vpc.GetNetworks.Invoke(new() + /// { + /// NameRegex = "^default-NODELETING$", + /// }); + /// + /// var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new() + /// { + /// VpcId = @default.Apply(getNetworksResult => getNetworksResult.Ids[0]), + /// ZoneId = "cn-hangzhou-j", + /// }); + /// + /// var defaultSupabaseProject = new AliCloud.Gpdb.SupabaseProject("default", new() + /// { + /// ProjectSpec = "1C2G", + /// ZoneId = "cn-hangzhou-j", + /// VpcId = @default.Apply(@default => @default.Apply(getNetworksResult => getNetworksResult.Ids[0])), + /// ProjectName = "supabase_example", + /// SecurityIpLists = new[] + /// { + /// "127.0.0.1", + /// }, + /// VswitchId = defaultGetSwitches.Apply(getSwitchesResult => getSwitchesResult.Ids[0]), + /// DiskPerformanceLevel = "PL0", + /// StorageSize = 1, + /// AccountPassword = "YourPassword123!", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example <id> + /// ``` + /// + [AliCloudResourceType("alicloud:gpdb/supabaseProject:SupabaseProject")] + public partial class SupabaseProject : global::Pulumi.CustomResource + { + /// + /// The password for the initial account. + /// - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + /// - Support for special characters:! @#$%^& *()_+-= + /// - Length is 8~32 characters. + /// + [Output("accountPassword")] + public Output AccountPassword { get; private set; } = null!; + + /// + /// The creation time of the resource + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// cloud disk performance level + /// + [Output("diskPerformanceLevel")] + public Output DiskPerformanceLevel { get; private set; } = null!; + + /// + /// The project name. The naming rules are as follows: + /// - 1~128 characters in length. + /// - Can only contain English letters, numbers, dashes (-) and underscores (_). + /// - Must begin with an English letter or an underscore (_). + /// + [Output("projectName")] + public Output ProjectName { get; private set; } = null!; + + /// + /// The performance level of the Supabase instance. + /// + [Output("projectSpec")] + public Output ProjectSpec { get; private set; } = null!; + + /// + /// The region ID. + /// + [Output("regionId")] + public Output RegionId { get; private set; } = null!; + + /// + /// The IP address whitelist. + /// + [Output("securityIpLists")] + public Output> SecurityIpLists { get; private set; } = null!; + + /// + /// The status of the Supabase instance. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The storage capacity of the instance. Unit: GB. + /// + [Output("storageSize")] + public Output StorageSize { get; private set; } = null!; + + /// + /// The VPC ID. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// The vSwitch ID. + /// + [Output("vswitchId")] + public Output VswitchId { get; private set; } = null!; + + /// + /// The Zone ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a SupabaseProject 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 SupabaseProject(string name, SupabaseProjectArgs args, CustomResourceOptions? options = null) + : base("alicloud:gpdb/supabaseProject:SupabaseProject", name, args ?? new SupabaseProjectArgs(), MakeResourceOptions(options, "")) + { + } + + private SupabaseProject(string name, Input id, SupabaseProjectState? state = null, CustomResourceOptions? options = null) + : base("alicloud:gpdb/supabaseProject:SupabaseProject", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "accountPassword", + }, + }; + 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 SupabaseProject 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 SupabaseProject Get(string name, Input id, SupabaseProjectState? state = null, CustomResourceOptions? options = null) + { + return new SupabaseProject(name, id, state, options); + } + } + + public sealed class SupabaseProjectArgs : global::Pulumi.ResourceArgs + { + [Input("accountPassword", required: true)] + private Input? _accountPassword; + + /// + /// The password for the initial account. + /// - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + /// - Support for special characters:! @#$%^& *()_+-= + /// - Length is 8~32 characters. + /// + public Input? AccountPassword + { + get => _accountPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _accountPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// cloud disk performance level + /// + [Input("diskPerformanceLevel")] + public Input? DiskPerformanceLevel { get; set; } + + /// + /// The project name. The naming rules are as follows: + /// - 1~128 characters in length. + /// - Can only contain English letters, numbers, dashes (-) and underscores (_). + /// - Must begin with an English letter or an underscore (_). + /// + [Input("projectName", required: true)] + public Input ProjectName { get; set; } = null!; + + /// + /// The performance level of the Supabase instance. + /// + [Input("projectSpec", required: true)] + public Input ProjectSpec { get; set; } = null!; + + [Input("securityIpLists", required: true)] + private InputList? _securityIpLists; + + /// + /// The IP address whitelist. + /// + public InputList SecurityIpLists + { + get => _securityIpLists ?? (_securityIpLists = new InputList()); + set => _securityIpLists = value; + } + + /// + /// The storage capacity of the instance. Unit: GB. + /// + [Input("storageSize")] + public Input? StorageSize { get; set; } + + /// + /// The VPC ID. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + /// + /// The vSwitch ID. + /// + [Input("vswitchId", required: true)] + public Input VswitchId { get; set; } = null!; + + /// + /// The Zone ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public SupabaseProjectArgs() + { + } + public static new SupabaseProjectArgs Empty => new SupabaseProjectArgs(); + } + + public sealed class SupabaseProjectState : global::Pulumi.ResourceArgs + { + [Input("accountPassword")] + private Input? _accountPassword; + + /// + /// The password for the initial account. + /// - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + /// - Support for special characters:! @#$%^& *()_+-= + /// - Length is 8~32 characters. + /// + public Input? AccountPassword + { + get => _accountPassword; + set + { + var emptySecret = Output.CreateSecret(0); + _accountPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The creation time of the resource + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// cloud disk performance level + /// + [Input("diskPerformanceLevel")] + public Input? DiskPerformanceLevel { get; set; } + + /// + /// The project name. The naming rules are as follows: + /// - 1~128 characters in length. + /// - Can only contain English letters, numbers, dashes (-) and underscores (_). + /// - Must begin with an English letter or an underscore (_). + /// + [Input("projectName")] + public Input? ProjectName { get; set; } + + /// + /// The performance level of the Supabase instance. + /// + [Input("projectSpec")] + public Input? ProjectSpec { get; set; } + + /// + /// The region ID. + /// + [Input("regionId")] + public Input? RegionId { get; set; } + + [Input("securityIpLists")] + private InputList? _securityIpLists; + + /// + /// The IP address whitelist. + /// + public InputList SecurityIpLists + { + get => _securityIpLists ?? (_securityIpLists = new InputList()); + set => _securityIpLists = value; + } + + /// + /// The status of the Supabase instance. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The storage capacity of the instance. Unit: GB. + /// + [Input("storageSize")] + public Input? StorageSize { get; set; } + + /// + /// The VPC ID. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The vSwitch ID. + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + /// + /// The Zone ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public SupabaseProjectState() + { + } + public static new SupabaseProjectState Empty => new SupabaseProjectState(); + } +} diff --git a/sdk/dotnet/GraphDatabase/DbInstance.cs b/sdk/dotnet/GraphDatabase/DbInstance.cs index 52da3be6fc..101605d4c1 100644 --- a/sdk/dotnet/GraphDatabase/DbInstance.cs +++ b/sdk/dotnet/GraphDatabase/DbInstance.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.GraphDatabase /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Graph Database Db Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Gwlb/Listener.cs b/sdk/dotnet/Gwlb/Listener.cs index 9a876f304e..6a1eae737d 100644 --- a/sdk/dotnet/Gwlb/Listener.cs +++ b/sdk/dotnet/Gwlb/Listener.cs @@ -142,6 +142,8 @@ namespace Pulumi.AliCloud.Gwlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GWLB Listener can be imported using the id, e.g. diff --git a/sdk/dotnet/Gwlb/LoadBalancer.cs b/sdk/dotnet/Gwlb/LoadBalancer.cs index b68f4e4e64..d52e11d735 100644 --- a/sdk/dotnet/Gwlb/LoadBalancer.cs +++ b/sdk/dotnet/Gwlb/LoadBalancer.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.Gwlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GWLB Load Balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Gwlb/ServerGroup.cs b/sdk/dotnet/Gwlb/ServerGroup.cs index 52a490dff9..98f32b7162 100644 --- a/sdk/dotnet/Gwlb/ServerGroup.cs +++ b/sdk/dotnet/Gwlb/ServerGroup.cs @@ -127,6 +127,8 @@ namespace Pulumi.AliCloud.Gwlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// GWLB Server Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbase/Instance.cs b/sdk/dotnet/Hbase/Instance.cs index 302e1ac3c8..b1e241ecf3 100644 --- a/sdk/dotnet/Hbase/Instance.cs +++ b/sdk/dotnet/Hbase/Instance.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Hbase /// /// this is a example for class netType instance. you can find more detail with the examples/hbase dir. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// HBase can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/CrossAccount.cs b/sdk/dotnet/Hbr/CrossAccount.cs index 50c1b329df..7fd06a8b82 100644 --- a/sdk/dotnet/Hbr/CrossAccount.cs +++ b/sdk/dotnet/Hbr/CrossAccount.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/EcsBackupClient.cs b/sdk/dotnet/Hbr/EcsBackupClient.cs index b3b34b5b94..04aa8d251b 100644 --- a/sdk/dotnet/Hbr/EcsBackupClient.cs +++ b/sdk/dotnet/Hbr/EcsBackupClient.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Notice /// /// > **Note:** Please read the following precautions carefully before deleting a client: diff --git a/sdk/dotnet/Hbr/EcsBackupPlan.cs b/sdk/dotnet/Hbr/EcsBackupPlan.cs index eafa48f5f3..22307aaff3 100644 --- a/sdk/dotnet/Hbr/EcsBackupPlan.cs +++ b/sdk/dotnet/Hbr/EcsBackupPlan.cs @@ -119,6 +119,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Notice /// /// **About Backup path rules:** diff --git a/sdk/dotnet/Hbr/HanaBackupClient.cs b/sdk/dotnet/Hbr/HanaBackupClient.cs index 338883806e..4dc10793ed 100644 --- a/sdk/dotnet/Hbr/HanaBackupClient.cs +++ b/sdk/dotnet/Hbr/HanaBackupClient.cs @@ -121,6 +121,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/HanaBackupPlan.cs b/sdk/dotnet/Hbr/HanaBackupPlan.cs index e908eb25e8..9aad0f0d0b 100644 --- a/sdk/dotnet/Hbr/HanaBackupPlan.cs +++ b/sdk/dotnet/Hbr/HanaBackupPlan.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/HanaInstance.cs b/sdk/dotnet/Hbr/HanaInstance.cs index 23641bdbb6..a694c786af 100644 --- a/sdk/dotnet/Hbr/HanaInstance.cs +++ b/sdk/dotnet/Hbr/HanaInstance.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/NasBackupPlan.cs b/sdk/dotnet/Hbr/NasBackupPlan.cs index 5c1ed3c304..a9e467ac13 100644 --- a/sdk/dotnet/Hbr/NasBackupPlan.cs +++ b/sdk/dotnet/Hbr/NasBackupPlan.cs @@ -69,6 +69,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// HBR Nas Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/OssBackupPlan.cs b/sdk/dotnet/Hbr/OssBackupPlan.cs index ca44eb87c2..e84c5b7f7c 100644 --- a/sdk/dotnet/Hbr/OssBackupPlan.cs +++ b/sdk/dotnet/Hbr/OssBackupPlan.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// HBR Oss Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/OtsBackupPlan.cs b/sdk/dotnet/Hbr/OtsBackupPlan.cs index 016d30a10b..ee5ca5d271 100644 --- a/sdk/dotnet/Hbr/OtsBackupPlan.cs +++ b/sdk/dotnet/Hbr/OtsBackupPlan.cs @@ -133,6 +133,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// HBR Ots Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/Policy.cs b/sdk/dotnet/Hbr/Policy.cs index a27e29a9c3..632f43bb38 100644 --- a/sdk/dotnet/Hbr/Policy.cs +++ b/sdk/dotnet/Hbr/Policy.cs @@ -64,6 +64,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/PolicyBinding.cs b/sdk/dotnet/Hbr/PolicyBinding.cs index bed180c60c..6122612345 100644 --- a/sdk/dotnet/Hbr/PolicyBinding.cs +++ b/sdk/dotnet/Hbr/PolicyBinding.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// HBR Policy Binding can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/ReplicationVault.cs b/sdk/dotnet/Hbr/ReplicationVault.cs index ff7d06568a..d4aceb5a7e 100644 --- a/sdk/dotnet/Hbr/ReplicationVault.cs +++ b/sdk/dotnet/Hbr/ReplicationVault.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/RestoreJob.cs b/sdk/dotnet/Hbr/RestoreJob.cs index 30494d4f67..0ebf2e83fb 100644 --- a/sdk/dotnet/Hbr/RestoreJob.cs +++ b/sdk/dotnet/Hbr/RestoreJob.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Hbr /// /// > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `<restore_job_id>:<restore_type>`, e.g. diff --git a/sdk/dotnet/Hbr/ServerBackupPlan.cs b/sdk/dotnet/Hbr/ServerBackupPlan.cs index ce681f217e..7dbe84f8d1 100644 --- a/sdk/dotnet/Hbr/ServerBackupPlan.cs +++ b/sdk/dotnet/Hbr/ServerBackupPlan.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/Hbr/Vault.cs b/sdk/dotnet/Hbr/Vault.cs index e9b9497cd5..fa4a5a23bd 100644 --- a/sdk/dotnet/Hbr/Vault.cs +++ b/sdk/dotnet/Hbr/Vault.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Hbr /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. diff --git a/sdk/dotnet/Hologram/Instance.cs b/sdk/dotnet/Hologram/Instance.cs index 1d4d688ec3..9f510eb5c1 100644 --- a/sdk/dotnet/Hologram/Instance.cs +++ b/sdk/dotnet/Hologram/Instance.cs @@ -62,6 +62,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("duration")] public Output Duration { get; private set; } = null!; + /// + /// Specifies whether to enable SSL encryption. Default Value: `False`. Valid values: `True`, `False`. + /// + [Output("enableSsl")] + public Output EnableSsl { get; private set; } = null!; + /// /// List of domain names. See `Endpoints` below. /// @@ -245,6 +251,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("duration")] public Input? Duration { get; set; } + /// + /// Specifies whether to enable SSL encryption. Default Value: `False`. Valid values: `True`, `False`. + /// + [Input("enableSsl")] + public Input? EnableSsl { get; set; } + [Input("endpoints")] private InputList? _endpoints; @@ -402,6 +414,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("duration")] public Input? Duration { get; set; } + /// + /// Specifies whether to enable SSL encryption. Default Value: `False`. Valid values: `True`, `False`. + /// + [Input("enableSsl")] + public Input? EnableSsl { get; set; } + [Input("endpoints")] private InputList? _endpoints; diff --git a/sdk/dotnet/Imm/Project.cs b/sdk/dotnet/Imm/Project.cs index 0965d96bed..531f50ef03 100644 --- a/sdk/dotnet/Imm/Project.cs +++ b/sdk/dotnet/Imm/Project.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.Imm /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Intelligent Media Management Project can be imported using the id, e.g. diff --git a/sdk/dotnet/Imp/AppTemplate.cs b/sdk/dotnet/Imp/AppTemplate.cs index 3d83e47866..7bec02ee51 100644 --- a/sdk/dotnet/Imp/AppTemplate.cs +++ b/sdk/dotnet/Imp/AppTemplate.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Imp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Apsara Agile Live (IMP) App Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Ims/OidcProvider.cs b/sdk/dotnet/Ims/OidcProvider.cs index 47108904fd..24270ba23c 100644 --- a/sdk/dotnet/Ims/OidcProvider.cs +++ b/sdk/dotnet/Ims/OidcProvider.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Ims /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// IMS Oidc Provider can be imported using the id, e.g. diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.cs new file mode 100644 index 0000000000..6dea3a741f --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The API name, such as ListApiMcpServers. + /// + [Input("apiName")] + public Input? ApiName { get; set; } + + /// + /// API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + /// + /// > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + /// + [Input("apiOverrideJson")] + public Input? ApiOverrideJson { get; set; } + + /// + /// API version information, typically in date format, such as 2014-05-26. + /// + [Input("apiVersion")] + public Input? ApiVersion { get; set; } + + [Input("constParameters")] + private InputList? _constParameters; + + /// + /// Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + /// Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `ConstParameters` below. + /// + public InputList ConstParameters + { + get => _constParameters ?? (_constParameters = new InputList()); + set => _constParameters = value; + } + + /// + /// By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + /// + /// > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + /// + [Input("enableOutputSchema")] + public Input? EnableOutputSchema { get; set; } + + /// + /// Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + /// - SSE protocol: up to 30 minutes + /// - Streamable HTTP protocol: up to 1 minute + /// + /// For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + /// + /// > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + /// + [Input("executeCliCommand")] + public Input? ExecuteCliCommand { get; set; } + + /// + /// The name of the cloud product, such as Ecs. + /// + [Input("product")] + public Input? Product { get; set; } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs() + { + } + public static new OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs Empty => new OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.cs new file mode 100644 index 0000000000..ea6bfce625 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + /// + /// For RPC-style APIs, examples include: + /// - Name: sets the Name parameter to a fixed value. + /// + /// For ROA-style APIs, examples include: + /// - Name: sets a query or path parameter named Name to a fixed value; + /// - body.Name: sets the Name field within the request body to a fixed value. + /// + /// Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + /// + /// > **NOTE:** XMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// This property does not have a description in the spec, please add it before generating code. + /// + [Input("value")] + public Input? Value { get; set; } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs() + { + } + public static new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs Empty => new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs.cs new file mode 100644 index 0000000000..efb7bdb964 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + /// + /// For RPC-style APIs, examples include: + /// - Name: sets the Name parameter to a fixed value. + /// + /// For ROA-style APIs, examples include: + /// - Name: sets a query or path parameter named Name to a fixed value; + /// - body.Name: sets the Name field within the request body to a fixed value. + /// + /// Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + /// + /// > **NOTE:** XMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// This property does not have a description in the spec, please add it before generating code. + /// + [Input("value")] + public Input? Value { get; set; } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs Empty => new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs.cs new file mode 100644 index 0000000000..2140ab771b --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The API name, such as ListApiMcpServers. + /// + [Input("apiName")] + public Input? ApiName { get; set; } + + /// + /// API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + /// + /// > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + /// + [Input("apiOverrideJson")] + public Input? ApiOverrideJson { get; set; } + + /// + /// API version information, typically in date format, such as 2014-05-26. + /// + [Input("apiVersion")] + public Input? ApiVersion { get; set; } + + [Input("constParameters")] + private InputList? _constParameters; + + /// + /// Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + /// Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `ConstParameters` below. + /// + public InputList ConstParameters + { + get => _constParameters ?? (_constParameters = new InputList()); + set => _constParameters = value; + } + + /// + /// By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + /// + /// > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + /// + [Input("enableOutputSchema")] + public Input? EnableOutputSchema { get; set; } + + /// + /// Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + /// - SSE protocol: up to 30 minutes + /// - Streamable HTTP protocol: up to 1 minute + /// + /// For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + /// + /// > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + /// + [Input("executeCliCommand")] + public Input? ExecuteCliCommand { get; set; } + + /// + /// The name of the cloud product, such as Ecs. + /// + [Input("product")] + public Input? Product { get; set; } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs Empty => new OpenApiExplorerApiMcpServerAdditionalApiDescriptionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiArgs.cs new file mode 100644 index 0000000000..b3011ca967 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerApiArgs : global::Pulumi.ResourceArgs + { + /// + /// API version information, typically in date format—for example, the version for ECS is 2014-05-26. + /// + [Input("apiVersion", required: true)] + public Input ApiVersion { get; set; } = null!; + + /// + /// Product code, such as Ecs. + /// + [Input("product", required: true)] + public Input Product { get; set; } = null!; + + [Input("selectors", required: true)] + private InputList? _selectors; + + /// + /// Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + /// + public InputList Selectors + { + get => _selectors ?? (_selectors = new InputList()); + set => _selectors = value; + } + + public OpenApiExplorerApiMcpServerApiArgs() + { + } + public static new OpenApiExplorerApiMcpServerApiArgs Empty => new OpenApiExplorerApiMcpServerApiArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiGetArgs.cs new file mode 100644 index 0000000000..837e499d70 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerApiGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerApiGetArgs : global::Pulumi.ResourceArgs + { + /// + /// API version information, typically in date format—for example, the version for ECS is 2014-05-26. + /// + [Input("apiVersion", required: true)] + public Input ApiVersion { get; set; } = null!; + + /// + /// Product code, such as Ecs. + /// + [Input("product", required: true)] + public Input Product { get; set; } = null!; + + [Input("selectors", required: true)] + private InputList? _selectors; + + /// + /// Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + /// + public InputList Selectors + { + get => _selectors ?? (_selectors = new InputList()); + set => _selectors = value; + } + + public OpenApiExplorerApiMcpServerApiGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerApiGetArgs Empty => new OpenApiExplorerApiMcpServerApiGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgs.cs new file mode 100644 index 0000000000..c335c499a2 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerPromptArgs : global::Pulumi.ResourceArgs + { + [Input("arguments")] + private InputList? _arguments; + + /// + /// Parameters for the prompt. See `Arguments` below. + /// + public InputList Arguments + { + get => _arguments ?? (_arguments = new InputList()); + set => _arguments = value; + } + + /// + /// Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + /// + [Input("content")] + public Input? Content { get; set; } + + /// + /// Description of the prompt parameter. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the prompt parameter. + /// + [Input("name")] + public Input? Name { get; set; } + + public OpenApiExplorerApiMcpServerPromptArgs() + { + } + public static new OpenApiExplorerApiMcpServerPromptArgs Empty => new OpenApiExplorerApiMcpServerPromptArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.cs new file mode 100644 index 0000000000..ea84fe8eee --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerPromptArgumentArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the API MCP service. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Indicates whether the prompt parameter is required. + /// + [Input("required")] + public Input? Required { get; set; } + + public OpenApiExplorerApiMcpServerPromptArgumentArgs() + { + } + public static new OpenApiExplorerApiMcpServerPromptArgumentArgs Empty => new OpenApiExplorerApiMcpServerPromptArgumentArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentGetArgs.cs new file mode 100644 index 0000000000..b635d83834 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptArgumentGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerPromptArgumentGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the API MCP service. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Indicates whether the prompt parameter is required. + /// + [Input("required")] + public Input? Required { get; set; } + + public OpenApiExplorerApiMcpServerPromptArgumentGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerPromptArgumentGetArgs Empty => new OpenApiExplorerApiMcpServerPromptArgumentGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptGetArgs.cs new file mode 100644 index 0000000000..a7e8334ea4 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerPromptGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerPromptGetArgs : global::Pulumi.ResourceArgs + { + [Input("arguments")] + private InputList? _arguments; + + /// + /// Parameters for the prompt. See `Arguments` below. + /// + public InputList Arguments + { + get => _arguments ?? (_arguments = new InputList()); + set => _arguments = value; + } + + /// + /// Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + /// + [Input("content")] + public Input? Content { get; set; } + + /// + /// Description of the prompt parameter. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the prompt parameter. + /// + [Input("name")] + public Input? Name { get; set; } + + public OpenApiExplorerApiMcpServerPromptGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerPromptGetArgs Empty => new OpenApiExplorerApiMcpServerPromptGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.cs new file mode 100644 index 0000000000..acd8e0e4e7 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerTerraformToolArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + /// + [Input("async")] + public Input? Async { get; set; } + + [Input("code")] + public Input? Code { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + /// + /// The cleanup policy applied to temporary resources after task completion, based on the task execution status: + /// - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + /// - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + /// - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + /// + [Input("destroyPolicy")] + public Input? DestroyPolicy { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + public OpenApiExplorerApiMcpServerTerraformToolArgs() + { + } + public static new OpenApiExplorerApiMcpServerTerraformToolArgs Empty => new OpenApiExplorerApiMcpServerTerraformToolArgs(); + } +} diff --git a/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolGetArgs.cs b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolGetArgs.cs new file mode 100644 index 0000000000..c427c242b3 --- /dev/null +++ b/sdk/dotnet/Inputs/OpenApiExplorerApiMcpServerTerraformToolGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Inputs +{ + + public sealed class OpenApiExplorerApiMcpServerTerraformToolGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + /// + [Input("async")] + public Input? Async { get; set; } + + [Input("code")] + public Input? Code { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + /// + /// The cleanup policy applied to temporary resources after task completion, based on the task execution status: + /// - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + /// - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + /// - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + /// + [Input("destroyPolicy")] + public Input? DestroyPolicy { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + public OpenApiExplorerApiMcpServerTerraformToolGetArgs() + { + } + public static new OpenApiExplorerApiMcpServerTerraformToolGetArgs Empty => new OpenApiExplorerApiMcpServerTerraformToolGetArgs(); + } +} diff --git a/sdk/dotnet/Iot/DeviceGroup.cs b/sdk/dotnet/Iot/DeviceGroup.cs index e394e839d5..d9114d502d 100644 --- a/sdk/dotnet/Iot/DeviceGroup.cs +++ b/sdk/dotnet/Iot/DeviceGroup.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Iot /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Iot Device Group can be imported using the id, e.g. diff --git a/sdk/dotnet/KVStore/Account.cs b/sdk/dotnet/KVStore/Account.cs index 5932606f2e..bc4997e2ad 100644 --- a/sdk/dotnet/KVStore/Account.cs +++ b/sdk/dotnet/KVStore/Account.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.KVStore /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. diff --git a/sdk/dotnet/KVStore/AuditLogConfig.cs b/sdk/dotnet/KVStore/AuditLogConfig.cs index 5f5f87d836..255e2009a5 100644 --- a/sdk/dotnet/KVStore/AuditLogConfig.cs +++ b/sdk/dotnet/KVStore/AuditLogConfig.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.KVStore /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. diff --git a/sdk/dotnet/KVStore/BackupPolicy.cs b/sdk/dotnet/KVStore/BackupPolicy.cs index 7db29b26fa..887ae6c508 100644 --- a/sdk/dotnet/KVStore/BackupPolicy.cs +++ b/sdk/dotnet/KVStore/BackupPolicy.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.KVStore /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/KVStore/Connection.cs b/sdk/dotnet/KVStore/Connection.cs index c17e2433a2..abb60c6eab 100644 --- a/sdk/dotnet/KVStore/Connection.cs +++ b/sdk/dotnet/KVStore/Connection.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.KVStore /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/Alias.cs b/sdk/dotnet/Kms/Alias.cs index 33ebe00f2e..8a754f99ce 100644 --- a/sdk/dotnet/Kms/Alias.cs +++ b/sdk/dotnet/Kms/Alias.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS alias can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/ApplicationAccessPoint.cs b/sdk/dotnet/Kms/ApplicationAccessPoint.cs index 8e4d78b96b..ae060b8c36 100644 --- a/sdk/dotnet/Kms/ApplicationAccessPoint.cs +++ b/sdk/dotnet/Kms/ApplicationAccessPoint.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Application Access Point can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/Ciphertext.cs b/sdk/dotnet/Kms/Ciphertext.cs index 019d0d0cfd..afa11a24c3 100644 --- a/sdk/dotnet/Kms/Ciphertext.cs +++ b/sdk/dotnet/Kms/Ciphertext.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.Kms /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:kms/ciphertext:Ciphertext")] public partial class Ciphertext : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Kms/ClientKey.cs b/sdk/dotnet/Kms/ClientKey.cs index 456e23d772..1b2d501081 100644 --- a/sdk/dotnet/Kms/ClientKey.cs +++ b/sdk/dotnet/Kms/ClientKey.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Client Key can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/GetInstances.cs b/sdk/dotnet/Kms/GetInstances.cs index 8ba237beb7..62cd40b614 100644 --- a/sdk/dotnet/Kms/GetInstances.cs +++ b/sdk/dotnet/Kms/GetInstances.cs @@ -119,7 +119,6 @@ public static class GetInstances /// Spec = 1000, /// RenewStatus = "ManualRenewal", /// ProductVersion = "3", - /// RenewPeriod = 3, /// VpcId = vswitch.VpcId, /// ZoneIds = new[] /// { @@ -286,7 +285,6 @@ public static Task InvokeAsync(GetInstancesArgs? args = null /// Spec = 1000, /// RenewStatus = "ManualRenewal", /// ProductVersion = "3", - /// RenewPeriod = 3, /// VpcId = vswitch.VpcId, /// ZoneIds = new[] /// { @@ -453,7 +451,6 @@ public static Output Invoke(GetInstancesInvokeArgs? args = n /// Spec = 1000, /// RenewStatus = "ManualRenewal", /// ProductVersion = "3", - /// RenewPeriod = 3, /// VpcId = vswitch.VpcId, /// ZoneIds = new[] /// { @@ -528,18 +525,18 @@ public List Ids set => _ids = value; } + /// + /// The name of the resource. + /// + [Input("instanceName")] + public string? InstanceName { get; set; } + /// /// File name where to save data source results (after running `pulumi preview`). /// [Input("outputFile")] public string? OutputFile { get; set; } - [Input("pageNumber")] - public int? PageNumber { get; set; } - - [Input("pageSize")] - public int? PageSize { get; set; } - public GetInstancesArgs() { } @@ -560,18 +557,18 @@ public InputList Ids set => _ids = value; } + /// + /// The name of the resource. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + /// /// File name where to save data source results (after running `pulumi preview`). /// [Input("outputFile")] public Input? OutputFile { get; set; } - [Input("pageNumber")] - public Input? PageNumber { get; set; } - - [Input("pageSize")] - public Input? PageSize { get; set; } - public GetInstancesInvokeArgs() { } @@ -590,13 +587,12 @@ public sealed class GetInstancesResult /// A list of Instance IDs. /// public readonly ImmutableArray Ids; + public readonly string? InstanceName; /// /// A list of Instance Entries. Each element contains the following attributes: /// public readonly ImmutableArray Instances; public readonly string? OutputFile; - public readonly int? PageNumber; - public readonly int? PageSize; [OutputConstructor] private GetInstancesResult( @@ -604,20 +600,17 @@ private GetInstancesResult( ImmutableArray ids, - ImmutableArray instances, - - string? outputFile, + string? instanceName, - int? pageNumber, + ImmutableArray instances, - int? pageSize) + string? outputFile) { Id = id; Ids = ids; + InstanceName = instanceName; Instances = instances; OutputFile = outputFile; - PageNumber = pageNumber; - PageSize = pageSize; } } } diff --git a/sdk/dotnet/Kms/Instance.cs b/sdk/dotnet/Kms/Instance.cs index 162594a44f..ca569c32f2 100644 --- a/sdk/dotnet/Kms/Instance.cs +++ b/sdk/dotnet/Kms/Instance.cs @@ -305,6 +305,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/Key.cs b/sdk/dotnet/Kms/Key.cs index 90b5e96084..cd48267e19 100644 --- a/sdk/dotnet/Kms/Key.cs +++ b/sdk/dotnet/Kms/Key.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Key can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/KeyVersion.cs b/sdk/dotnet/Kms/KeyVersion.cs index 8a7774df39..9bb87b8c24 100644 --- a/sdk/dotnet/Kms/KeyVersion.cs +++ b/sdk/dotnet/Kms/KeyVersion.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Alikms key version can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/NetworkRule.cs b/sdk/dotnet/Kms/NetworkRule.cs index 83395fdc24..645c668e65 100644 --- a/sdk/dotnet/Kms/NetworkRule.cs +++ b/sdk/dotnet/Kms/NetworkRule.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Network Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/Policy.cs b/sdk/dotnet/Kms/Policy.cs index 017f27cf0c..2c1fb42c74 100644 --- a/sdk/dotnet/Kms/Policy.cs +++ b/sdk/dotnet/Kms/Policy.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/Secret.cs b/sdk/dotnet/Kms/Secret.cs index 2b483368fc..aa47fd1e58 100644 --- a/sdk/dotnet/Kms/Secret.cs +++ b/sdk/dotnet/Kms/Secret.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.Kms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// KMS Secret can be imported using the id, e.g. diff --git a/sdk/dotnet/Kms/ValueAddedService.cs b/sdk/dotnet/Kms/ValueAddedService.cs new file mode 100644 index 0000000000..ade9f9a970 --- /dev/null +++ b/sdk/dotnet/Kms/ValueAddedService.cs @@ -0,0 +1,260 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Kms +{ + /// + /// Provides a KMS Value Added Service resource. + /// + /// Value Added Service. + /// + /// For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.Kms.ValueAddedService("default", new() + /// { + /// ValueAddedService = "2", + /// Period = 1, + /// PaymentType = "Subscription", + /// RenewPeriod = 1, + /// RenewStatus = "AutoRenewal", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// KMS Value Added Service can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example <id> + /// ``` + /// + [AliCloudResourceType("alicloud:kms/valueAddedService:ValueAddedService")] + public partial class ValueAddedService : global::Pulumi.CustomResource + { + /// + /// The creation time of the resource + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The payment type of the resource + /// + [Output("paymentType")] + public Output PaymentType { get; private set; } = null!; + + [Output("period")] + public Output Period { get; private set; } = null!; + + /// + /// The region ID of the resource + /// + [Output("regionId")] + public Output RegionId { get; private set; } = null!; + + /// + /// Automatic renewal period, in years. + /// + /// > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + /// + [Output("renewPeriod")] + public Output RenewPeriod { get; private set; } = null!; + + /// + /// The renewal status of the specified instance. Valid values: + /// + /// - AutoRenewal: The instance is automatically renewed. + /// - ManualRenewal: The instance is manually renewed. + /// - NotRenewal: The instance is not renewed. + /// + [Output("renewStatus")] + public Output RenewStatus { get; private set; } = null!; + + /// + /// The status of the resource + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("valueAddedService")] + public Output ValueAddedService { get; private set; } = null!; + + + /// + /// Create a ValueAddedService 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 ValueAddedService(string name, ValueAddedServiceArgs args, CustomResourceOptions? options = null) + : base("alicloud:kms/valueAddedService:ValueAddedService", name, args ?? new ValueAddedServiceArgs(), MakeResourceOptions(options, "")) + { + } + + private ValueAddedService(string name, Input id, ValueAddedServiceState? state = null, CustomResourceOptions? options = null) + : base("alicloud:kms/valueAddedService:ValueAddedService", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 ValueAddedService 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 ValueAddedService Get(string name, Input id, ValueAddedServiceState? state = null, CustomResourceOptions? options = null) + { + return new ValueAddedService(name, id, state, options); + } + } + + public sealed class ValueAddedServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// The payment type of the resource + /// + [Input("paymentType", required: true)] + public Input PaymentType { get; set; } = null!; + + [Input("period")] + public Input? Period { get; set; } + + /// + /// Automatic renewal period, in years. + /// + /// > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + /// + [Input("renewPeriod")] + public Input? RenewPeriod { get; set; } + + /// + /// The renewal status of the specified instance. Valid values: + /// + /// - AutoRenewal: The instance is automatically renewed. + /// - ManualRenewal: The instance is manually renewed. + /// - NotRenewal: The instance is not renewed. + /// + [Input("renewStatus")] + public Input? RenewStatus { get; set; } + + /// + /// value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("valueAddedService")] + public Input? ValueAddedService { get; set; } + + public ValueAddedServiceArgs() + { + } + public static new ValueAddedServiceArgs Empty => new ValueAddedServiceArgs(); + } + + public sealed class ValueAddedServiceState : global::Pulumi.ResourceArgs + { + /// + /// The creation time of the resource + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The payment type of the resource + /// + [Input("paymentType")] + public Input? PaymentType { get; set; } + + [Input("period")] + public Input? Period { get; set; } + + /// + /// The region ID of the resource + /// + [Input("regionId")] + public Input? RegionId { get; set; } + + /// + /// Automatic renewal period, in years. + /// + /// > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + /// + [Input("renewPeriod")] + public Input? RenewPeriod { get; set; } + + /// + /// The renewal status of the specified instance. Valid values: + /// + /// - AutoRenewal: The instance is automatically renewed. + /// - ManualRenewal: The instance is manually renewed. + /// - NotRenewal: The instance is not renewed. + /// + [Input("renewStatus")] + public Input? RenewStatus { get; set; } + + /// + /// The status of the resource + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("valueAddedService")] + public Input? ValueAddedService { get; set; } + + public ValueAddedServiceState() + { + } + public static new ValueAddedServiceState Empty => new ValueAddedServiceState(); + } +} diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListArgs.cs index db93b3b167..692dfd11e0 100644 --- a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListArgs.cs +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListArgs.cs @@ -26,6 +26,19 @@ public InputList ConnectAddre /// /// Engine + /// + /// Enumeration value: + /// - `TABLE`: Wide table engine + /// - `TSDB`: Time series Engine + /// - `LSEARCH`: Search engine + /// - `LTS`: LTS engine + /// - `LVECTOR`: Vector engine + /// - `LCOLUMN`: Column-store engine + /// - `LAI`: AI engine + /// - `FILE`: The underlying file engine + /// - `LMESSAGE`: Message engine + /// - `LROW`: Wide table Engine 3.0 + /// - `LSTREAM`: Stream engine /// [Input("engineType", required: true)] public Input EngineType { get; set; } = null!; diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListGetArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListGetArgs.cs index 0e95dbd27a..ef3dbaccc1 100644 --- a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListGetArgs.cs +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListGetArgs.cs @@ -26,6 +26,19 @@ public InputList ConnectAd /// /// Engine + /// + /// Enumeration value: + /// - `TABLE`: Wide table engine + /// - `TSDB`: Time series Engine + /// - `LSEARCH`: Search engine + /// - `LTS`: LTS engine + /// - `LVECTOR`: Vector engine + /// - `LCOLUMN`: Column-store engine + /// - `LAI`: AI engine + /// - `FILE`: The underlying file engine + /// - `LMESSAGE`: Message engine + /// - `LROW`: Wide table Engine 3.0 + /// - `LSTREAM`: Stream engine /// [Input("engineType", required: true)] public Input EngineType { get; set; } = null!; diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupArgs.cs index 355217b7f0..c264233835 100644 --- a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupArgs.cs +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupArgs.cs @@ -56,6 +56,41 @@ public sealed class InstanceV2EngineListNodeGroupArgs : global::Pulumi.ResourceA /// /// Node Specifications + /// - Valid values when selecting cloud storage: + /// - **lindorm.c.2xlarge**, 8 cores 16GB + /// - **lindorm.g.2xlarge**, 8 cores 32GB + /// - **lindorm.c.4xlarge**, 16 cores 32GB + /// - **lindorm.g.4xlarge**, 16 cores 64GB + /// - **lindorm.c.8xlarge**, 32 core 64GB + /// - **lindorm.g.8xlarge**, 32 core 128GB + /// - **lindorm.g.8xlarge**, 8 cores 64GB + /// - **lindorm.r.4xlarge**, 16 cores 128GB + /// - **lindorm.r.8xlarge**, 32 cores 256GB + /// - Valid values when local disk storage is selected: + /// - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + /// - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + /// - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + /// - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + /// - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + /// - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + /// - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + /// - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + /// - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + /// - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + /// - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + /// - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + /// - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + /// - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + /// - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + /// - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + /// - **lindorm.i4.xlarge**, 4 core 32GB(I4) + /// - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + /// - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + /// - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + /// - **lindorm.i2.xlarge**, 4 core 32GB(I2) + /// - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + /// - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + /// - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) /// [Input("nodeSpec", required: true)] public Input NodeSpec { get; set; } = null!; diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupGetArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupGetArgs.cs index 15792e69a7..dd04faba42 100644 --- a/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupGetArgs.cs +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2EngineListNodeGroupGetArgs.cs @@ -56,6 +56,41 @@ public sealed class InstanceV2EngineListNodeGroupGetArgs : global::Pulumi.Resour /// /// Node Specifications + /// - Valid values when selecting cloud storage: + /// - **lindorm.c.2xlarge**, 8 cores 16GB + /// - **lindorm.g.2xlarge**, 8 cores 32GB + /// - **lindorm.c.4xlarge**, 16 cores 32GB + /// - **lindorm.g.4xlarge**, 16 cores 64GB + /// - **lindorm.c.8xlarge**, 32 core 64GB + /// - **lindorm.g.8xlarge**, 32 core 128GB + /// - **lindorm.g.8xlarge**, 8 cores 64GB + /// - **lindorm.r.4xlarge**, 16 cores 128GB + /// - **lindorm.r.8xlarge**, 32 cores 256GB + /// - Valid values when local disk storage is selected: + /// - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + /// - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + /// - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + /// - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + /// - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + /// - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + /// - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + /// - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + /// - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + /// - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + /// - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + /// - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + /// - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + /// - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + /// - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + /// - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + /// - **lindorm.i4.xlarge**, 4 core 32GB(I4) + /// - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + /// - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + /// - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + /// - **lindorm.i2.xlarge**, 4 core 32GB(I2) + /// - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + /// - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + /// - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) /// [Input("nodeSpec", required: true)] public Input NodeSpec { get; set; } = null!; diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListArgs.cs new file mode 100644 index 0000000000..f5368481c9 --- /dev/null +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Lindorm.Inputs +{ + + public sealed class InstanceV2WhiteIpListArgs : global::Pulumi.ResourceArgs + { + /// + /// Group Name + /// + [Input("groupName", required: true)] + public Input GroupName { get; set; } = null!; + + /// + /// Whitelist information + /// + [Input("ipList", required: true)] + public Input IpList { get; set; } = null!; + + public InstanceV2WhiteIpListArgs() + { + } + public static new InstanceV2WhiteIpListArgs Empty => new InstanceV2WhiteIpListArgs(); + } +} diff --git a/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListGetArgs.cs b/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListGetArgs.cs new file mode 100644 index 0000000000..a5bd20f63b --- /dev/null +++ b/sdk/dotnet/Lindorm/Inputs/InstanceV2WhiteIpListGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Lindorm.Inputs +{ + + public sealed class InstanceV2WhiteIpListGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Group Name + /// + [Input("groupName", required: true)] + public Input GroupName { get; set; } = null!; + + /// + /// Whitelist information + /// + [Input("ipList", required: true)] + public Input IpList { get; set; } = null!; + + public InstanceV2WhiteIpListGetArgs() + { + } + public static new InstanceV2WhiteIpListGetArgs Empty => new InstanceV2WhiteIpListGetArgs(); + } +} diff --git a/sdk/dotnet/Lindorm/Instance.cs b/sdk/dotnet/Lindorm/Instance.cs index b0d0421580..67e2bb55ad 100644 --- a/sdk/dotnet/Lindorm/Instance.cs +++ b/sdk/dotnet/Lindorm/Instance.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Lindorm /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Lindorm Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Lindorm/InstanceV2.cs b/sdk/dotnet/Lindorm/InstanceV2.cs index 5b26959a3e..cf5a91a80a 100644 --- a/sdk/dotnet/Lindorm/InstanceV2.cs +++ b/sdk/dotnet/Lindorm/InstanceV2.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Lindorm /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Lindorm Instance V2 can be imported using the id, e.g. @@ -122,14 +124,10 @@ public partial class InstanceV2 : global::Pulumi.CustomResource /// /// Deployment Scenario /// - /// > **NOTE:** Enumeration value - /// - /// > **NOTE:** - 1.0 Single AZ - /// - /// > **NOTE:** - 2.0 Multi-AZ Basic - /// - /// > **NOTE:** - 3.0 Multi-AZ High Availability Edition - /// + /// Enumeration value: + /// - **1.0**: Single Zone + /// - **2.0**: Multi-AZ Basic Edition + /// - **3.0**: Multi-AZ High Availability Edition /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -139,9 +137,9 @@ public partial class InstanceV2 : global::Pulumi.CustomResource /// /// Automatic renewal duration. Unit: Month. /// - /// Value range: `1` to **12 * *. + /// Value range: `1` to `12`. /// - /// > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + /// > **NOTE:** This item takes effect only when `AutoRenewal` is `True`. /// /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -156,19 +154,20 @@ public partial class InstanceV2 : global::Pulumi.CustomResource public Output AutoRenewal { get; private set; } = null!; /// + /// The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + /// /// > **NOTE:** Cloud storage capacity in GB /// [Output("cloudStorageSize")] public Output CloudStorageSize { get; private set; } = null!; /// - /// > **NOTE:** > - /// - /// > **NOTE:** - StandardStorage: Standard cloud storage - /// - /// > **NOTE:** - PerformanceStorage: performance-based cloud storage + /// Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. /// - /// > **NOTE:** - capacity storage: Capacity-based cloud storage + /// Enumeration value: + /// - `StandardStorage`: Standard cloud storage + /// - **Performance storage**: Performance-based cloud storage + /// - **Capacity Storage**: Capacity-based cloud storage /// [Output("cloudStorageType")] public Output CloudStorageType { get; private set; } = null!; @@ -200,7 +199,11 @@ public partial class InstanceV2 : global::Pulumi.CustomResource public Output InstanceAlias { get; private set; } = null!; /// - /// The payment type of the resource + /// Resource attribute fields representing payment types + /// + /// Enumeration value: + /// - `PREPAY`: Prepaid mode + /// - `POSTPAY`: Postpay mode /// [Output("paymentType")] public Output PaymentType { get; private set; } = null!; @@ -255,6 +258,12 @@ public partial class InstanceV2 : global::Pulumi.CustomResource [Output("vswitchId")] public Output VswitchId { get; private set; } = null!; + /// + /// Instance whitelist list See `WhiteIpList` below. + /// + [Output("whiteIpLists")] + public Output> WhiteIpLists { get; private set; } = null!; + /// /// The zone ID of the resource /// @@ -322,14 +331,10 @@ public sealed class InstanceV2Args : global::Pulumi.ResourceArgs /// /// Deployment Scenario /// - /// > **NOTE:** Enumeration value - /// - /// > **NOTE:** - 1.0 Single AZ - /// - /// > **NOTE:** - 2.0 Multi-AZ Basic - /// - /// > **NOTE:** - 3.0 Multi-AZ High Availability Edition - /// + /// Enumeration value: + /// - **1.0**: Single Zone + /// - **2.0**: Multi-AZ Basic Edition + /// - **3.0**: Multi-AZ High Availability Edition /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -339,9 +344,9 @@ public sealed class InstanceV2Args : global::Pulumi.ResourceArgs /// /// Automatic renewal duration. Unit: Month. /// - /// Value range: `1` to **12 * *. + /// Value range: `1` to `12`. /// - /// > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + /// > **NOTE:** This item takes effect only when `AutoRenewal` is `True`. /// /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -356,19 +361,20 @@ public sealed class InstanceV2Args : global::Pulumi.ResourceArgs public Input? AutoRenewal { get; set; } /// + /// The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + /// /// > **NOTE:** Cloud storage capacity in GB /// [Input("cloudStorageSize")] public Input? CloudStorageSize { get; set; } /// - /// > **NOTE:** > - /// - /// > **NOTE:** - StandardStorage: Standard cloud storage + /// Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. /// - /// > **NOTE:** - PerformanceStorage: performance-based cloud storage - /// - /// > **NOTE:** - capacity storage: Capacity-based cloud storage + /// Enumeration value: + /// - `StandardStorage`: Standard cloud storage + /// - **Performance storage**: Performance-based cloud storage + /// - **Capacity Storage**: Capacity-based cloud storage /// [Input("cloudStorageType")] public Input? CloudStorageType { get; set; } @@ -406,7 +412,11 @@ public InputList EngineLists public Input InstanceAlias { get; set; } = null!; /// - /// The payment type of the resource + /// Resource attribute fields representing payment types + /// + /// Enumeration value: + /// - `PREPAY`: Prepaid mode + /// - `POSTPAY`: Postpay mode /// [Input("paymentType", required: true)] public Input PaymentType { get; set; } = null!; @@ -455,6 +465,18 @@ public InputList EngineLists [Input("vswitchId", required: true)] public Input VswitchId { get; set; } = null!; + [Input("whiteIpLists")] + private InputList? _whiteIpLists; + + /// + /// Instance whitelist list See `WhiteIpList` below. + /// + public InputList WhiteIpLists + { + get => _whiteIpLists ?? (_whiteIpLists = new InputList()); + set => _whiteIpLists = value; + } + /// /// The zone ID of the resource /// @@ -484,14 +506,10 @@ public sealed class InstanceV2State : global::Pulumi.ResourceArgs /// /// Deployment Scenario /// - /// > **NOTE:** Enumeration value - /// - /// > **NOTE:** - 1.0 Single AZ - /// - /// > **NOTE:** - 2.0 Multi-AZ Basic - /// - /// > **NOTE:** - 3.0 Multi-AZ High Availability Edition - /// + /// Enumeration value: + /// - **1.0**: Single Zone + /// - **2.0**: Multi-AZ Basic Edition + /// - **3.0**: Multi-AZ High Availability Edition /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// @@ -501,9 +519,9 @@ public sealed class InstanceV2State : global::Pulumi.ResourceArgs /// /// Automatic renewal duration. Unit: Month. /// - /// Value range: `1` to **12 * *. + /// Value range: `1` to `12`. /// - /// > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + /// > **NOTE:** This item takes effect only when `AutoRenewal` is `True`. /// /// /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -518,19 +536,20 @@ public sealed class InstanceV2State : global::Pulumi.ResourceArgs public Input? AutoRenewal { get; set; } /// + /// The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + /// /// > **NOTE:** Cloud storage capacity in GB /// [Input("cloudStorageSize")] public Input? CloudStorageSize { get; set; } /// - /// > **NOTE:** > - /// - /// > **NOTE:** - StandardStorage: Standard cloud storage - /// - /// > **NOTE:** - PerformanceStorage: performance-based cloud storage + /// Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. /// - /// > **NOTE:** - capacity storage: Capacity-based cloud storage + /// Enumeration value: + /// - `StandardStorage`: Standard cloud storage + /// - **Performance storage**: Performance-based cloud storage + /// - **Capacity Storage**: Capacity-based cloud storage /// [Input("cloudStorageType")] public Input? CloudStorageType { get; set; } @@ -568,7 +587,11 @@ public InputList EngineLists public Input? InstanceAlias { get; set; } /// - /// The payment type of the resource + /// Resource attribute fields representing payment types + /// + /// Enumeration value: + /// - `PREPAY`: Prepaid mode + /// - `POSTPAY`: Postpay mode /// [Input("paymentType")] public Input? PaymentType { get; set; } @@ -623,6 +646,18 @@ public InputList EngineLists [Input("vswitchId")] public Input? VswitchId { get; set; } + [Input("whiteIpLists")] + private InputList? _whiteIpLists; + + /// + /// Instance whitelist list See `WhiteIpList` below. + /// + public InputList WhiteIpLists + { + get => _whiteIpLists ?? (_whiteIpLists = new InputList()); + set => _whiteIpLists = value; + } + /// /// The zone ID of the resource /// diff --git a/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineList.cs b/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineList.cs index d63a251a7c..e3c2f7d61c 100644 --- a/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineList.cs +++ b/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineList.cs @@ -19,6 +19,19 @@ public sealed class InstanceV2EngineList public readonly ImmutableArray ConnectAddressLists; /// /// Engine + /// + /// Enumeration value: + /// - `TABLE`: Wide table engine + /// - `TSDB`: Time series Engine + /// - `LSEARCH`: Search engine + /// - `LTS`: LTS engine + /// - `LVECTOR`: Vector engine + /// - `LCOLUMN`: Column-store engine + /// - `LAI`: AI engine + /// - `FILE`: The underlying file engine + /// - `LMESSAGE`: Message engine + /// - `LROW`: Wide table Engine 3.0 + /// - `LSTREAM`: Stream engine /// public readonly string EngineType; /// diff --git a/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineListNodeGroup.cs b/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineListNodeGroup.cs index cae5040f80..d902d7837c 100644 --- a/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineListNodeGroup.cs +++ b/sdk/dotnet/Lindorm/Outputs/InstanceV2EngineListNodeGroup.cs @@ -43,6 +43,41 @@ public sealed class InstanceV2EngineListNodeGroup public readonly string? NodeDiskType; /// /// Node Specifications + /// - Valid values when selecting cloud storage: + /// - **lindorm.c.2xlarge**, 8 cores 16GB + /// - **lindorm.g.2xlarge**, 8 cores 32GB + /// - **lindorm.c.4xlarge**, 16 cores 32GB + /// - **lindorm.g.4xlarge**, 16 cores 64GB + /// - **lindorm.c.8xlarge**, 32 core 64GB + /// - **lindorm.g.8xlarge**, 32 core 128GB + /// - **lindorm.g.8xlarge**, 8 cores 64GB + /// - **lindorm.r.4xlarge**, 16 cores 128GB + /// - **lindorm.r.8xlarge**, 32 cores 256GB + /// - Valid values when local disk storage is selected: + /// - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + /// - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + /// - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + /// - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + /// - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + /// - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + /// - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + /// - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + /// - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + /// - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + /// - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + /// - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + /// - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + /// - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + /// - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + /// - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + /// - **lindorm.i4.xlarge**, 4 core 32GB(I4) + /// - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + /// - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + /// - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + /// - **lindorm.i2.xlarge**, 4 core 32GB(I2) + /// - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + /// - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + /// - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) /// public readonly string NodeSpec; /// diff --git a/sdk/dotnet/Lindorm/Outputs/InstanceV2WhiteIpList.cs b/sdk/dotnet/Lindorm/Outputs/InstanceV2WhiteIpList.cs new file mode 100644 index 0000000000..f3c6f6466f --- /dev/null +++ b/sdk/dotnet/Lindorm/Outputs/InstanceV2WhiteIpList.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Lindorm.Outputs +{ + + [OutputType] + public sealed class InstanceV2WhiteIpList + { + /// + /// Group Name + /// + public readonly string GroupName; + /// + /// Whitelist information + /// + public readonly string IpList; + + [OutputConstructor] + private InstanceV2WhiteIpList( + string groupName, + + string ipList) + { + GroupName = groupName; + IpList = ipList; + } + } +} diff --git a/sdk/dotnet/Live/Caster.cs b/sdk/dotnet/Live/Caster.cs index c4121ac3e5..0893e96634 100644 --- a/sdk/dotnet/Live/Caster.cs +++ b/sdk/dotnet/Live/Caster.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Live /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Live Caster can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Alert.cs b/sdk/dotnet/Log/Alert.cs index 8c6bc7d834..984b2596e1 100644 --- a/sdk/dotnet/Log/Alert.cs +++ b/sdk/dotnet/Log/Alert.cs @@ -356,6 +356,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log alert can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/AlertResource.cs b/sdk/dotnet/Log/AlertResource.cs index cd0bd85198..3a176d51b6 100644 --- a/sdk/dotnet/Log/AlertResource.cs +++ b/sdk/dotnet/Log/AlertResource.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log alert resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Audit.cs b/sdk/dotnet/Log/Audit.cs index d7cab38003..b8077ae9ec 100644 --- a/sdk/dotnet/Log/Audit.cs +++ b/sdk/dotnet/Log/Audit.cs @@ -215,6 +215,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log audit can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Dashboard.cs b/sdk/dotnet/Log/Dashboard.cs index f34fb9bc37..1f9921430b 100644 --- a/sdk/dotnet/Log/Dashboard.cs +++ b/sdk/dotnet/Log/Dashboard.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Dashboard can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Etl.cs b/sdk/dotnet/Log/Etl.cs index 50e7376e0a..f700f0db87 100644 --- a/sdk/dotnet/Log/Etl.cs +++ b/sdk/dotnet/Log/Etl.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log etl can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Ingestion.cs b/sdk/dotnet/Log/Ingestion.cs index abe8825633..9a3366159d 100644 --- a/sdk/dotnet/Log/Ingestion.cs +++ b/sdk/dotnet/Log/Ingestion.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log ingestion can be imported using the id or name, e.g. diff --git a/sdk/dotnet/Log/LogTailAttachment.cs b/sdk/dotnet/Log/LogTailAttachment.cs index dbf971ea9e..e08aee654c 100644 --- a/sdk/dotnet/Log/LogTailAttachment.cs +++ b/sdk/dotnet/Log/LogTailAttachment.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Logtial to machine group can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/LogTailConfig.cs b/sdk/dotnet/Log/LogTailConfig.cs index 54728fe4eb..230688dd51 100644 --- a/sdk/dotnet/Log/LogTailConfig.cs +++ b/sdk/dotnet/Log/LogTailConfig.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing sls-logtail module diff --git a/sdk/dotnet/Log/MachineGroup.cs b/sdk/dotnet/Log/MachineGroup.cs index ce1d083c94..81a17739c0 100644 --- a/sdk/dotnet/Log/MachineGroup.cs +++ b/sdk/dotnet/Log/MachineGroup.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing sls-logtail module diff --git a/sdk/dotnet/Log/OssExport.cs b/sdk/dotnet/Log/OssExport.cs index 7facd0b12b..2a3c20e8be 100644 --- a/sdk/dotnet/Log/OssExport.cs +++ b/sdk/dotnet/Log/OssExport.cs @@ -81,6 +81,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log oss export can be imported using the id or name, e.g. diff --git a/sdk/dotnet/Log/OssShipper.cs b/sdk/dotnet/Log/OssShipper.cs index 8fbeaa0e6c..37e0113c6c 100644 --- a/sdk/dotnet/Log/OssShipper.cs +++ b/sdk/dotnet/Log/OssShipper.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log oss shipper can be imported using the id or name, e.g. diff --git a/sdk/dotnet/Log/Project.cs b/sdk/dotnet/Log/Project.cs index 889764c13f..3bb2aacb36 100644 --- a/sdk/dotnet/Log/Project.cs +++ b/sdk/dotnet/Log/Project.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing sls module diff --git a/sdk/dotnet/Log/Resource.cs b/sdk/dotnet/Log/Resource.cs index 1af846e395..d802305659 100644 --- a/sdk/dotnet/Log/Resource.cs +++ b/sdk/dotnet/Log/Resource.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/ResourceRecord.cs b/sdk/dotnet/Log/ResourceRecord.cs index bd4dbf5ebd..65ea27bd60 100644 --- a/sdk/dotnet/Log/ResourceRecord.cs +++ b/sdk/dotnet/Log/ResourceRecord.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log resource record can be imported using the id, e.g. diff --git a/sdk/dotnet/Log/Store.cs b/sdk/dotnet/Log/Store.cs index 393590f2cd..451ec3a717 100644 --- a/sdk/dotnet/Log/Store.cs +++ b/sdk/dotnet/Log/Store.cs @@ -144,6 +144,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing sls module diff --git a/sdk/dotnet/Log/StoreIndex.cs b/sdk/dotnet/Log/StoreIndex.cs index 0c4cbb4fc0..447506ba6d 100644 --- a/sdk/dotnet/Log/StoreIndex.cs +++ b/sdk/dotnet/Log/StoreIndex.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Log /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use the existing sls module diff --git a/sdk/dotnet/MarketPlace/Order.cs b/sdk/dotnet/MarketPlace/Order.cs index c1416240d7..f812ca83ee 100644 --- a/sdk/dotnet/MarketPlace/Order.cs +++ b/sdk/dotnet/MarketPlace/Order.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.MarketPlace /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Market order can be imported using the id, e.g. diff --git a/sdk/dotnet/MaxCompute/Project.cs b/sdk/dotnet/MaxCompute/Project.cs index 6a77218b7f..f8aa551347 100644 --- a/sdk/dotnet/MaxCompute/Project.cs +++ b/sdk/dotnet/MaxCompute/Project.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.MaxCompute /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Max Compute Project can be imported using the id, e.g. diff --git a/sdk/dotnet/MaxCompute/QuotaPlan.cs b/sdk/dotnet/MaxCompute/QuotaPlan.cs index 99906c5ef5..72197e6d90 100644 --- a/sdk/dotnet/MaxCompute/QuotaPlan.cs +++ b/sdk/dotnet/MaxCompute/QuotaPlan.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.MaxCompute /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Max Compute Quota Plan can be imported using the id, e.g. diff --git a/sdk/dotnet/MaxCompute/Role.cs b/sdk/dotnet/MaxCompute/Role.cs index aa018f85ba..e518519047 100644 --- a/sdk/dotnet/MaxCompute/Role.cs +++ b/sdk/dotnet/MaxCompute/Role.cs @@ -69,6 +69,8 @@ namespace Pulumi.AliCloud.MaxCompute /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Max Compute Role can be imported using the id, e.g. diff --git a/sdk/dotnet/MaxCompute/RoleUserAttachment.cs b/sdk/dotnet/MaxCompute/RoleUserAttachment.cs index 403a6a720e..d832f78d66 100644 --- a/sdk/dotnet/MaxCompute/RoleUserAttachment.cs +++ b/sdk/dotnet/MaxCompute/RoleUserAttachment.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.MaxCompute /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Max Compute Role User Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Message/ServiceEndpointAcl.cs b/sdk/dotnet/Message/ServiceEndpointAcl.cs index 2a73428710..41a40b4ca4 100644 --- a/sdk/dotnet/Message/ServiceEndpointAcl.cs +++ b/sdk/dotnet/Message/ServiceEndpointAcl.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Message /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Message Service Endpoint Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/Message/ServiceEventRule.cs b/sdk/dotnet/Message/ServiceEventRule.cs index 26f8f8e6e7..548000525d 100644 --- a/sdk/dotnet/Message/ServiceEventRule.cs +++ b/sdk/dotnet/Message/ServiceEventRule.cs @@ -100,6 +100,8 @@ namespace Pulumi.AliCloud.Message /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Message Service Event Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Message/ServiceQueue.cs b/sdk/dotnet/Message/ServiceQueue.cs index 3456e89875..ab5dc44d02 100644 --- a/sdk/dotnet/Message/ServiceQueue.cs +++ b/sdk/dotnet/Message/ServiceQueue.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Message /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Message Service Queue can be imported using the id, e.g. diff --git a/sdk/dotnet/Message/ServiceSubscription.cs b/sdk/dotnet/Message/ServiceSubscription.cs index f32c2641b1..942a8675bc 100644 --- a/sdk/dotnet/Message/ServiceSubscription.cs +++ b/sdk/dotnet/Message/ServiceSubscription.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Message /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Message Service Subscription can be imported using the id, e.g. diff --git a/sdk/dotnet/Message/ServiceTopic.cs b/sdk/dotnet/Message/ServiceTopic.cs index 48d8cc0797..d8d6df61b2 100644 --- a/sdk/dotnet/Message/ServiceTopic.cs +++ b/sdk/dotnet/Message/ServiceTopic.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Message /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Message Service Topic can be imported using the id, e.g. diff --git a/sdk/dotnet/Mhub/App.cs b/sdk/dotnet/Mhub/App.cs index 3aa3132d8b..0cda680da9 100644 --- a/sdk/dotnet/Mhub/App.cs +++ b/sdk/dotnet/Mhub/App.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Mhub /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MHUB App can be imported using the id, e.g. diff --git a/sdk/dotnet/Mhub/Product.cs b/sdk/dotnet/Mhub/Product.cs index 3fb6513930..4221d4da7f 100644 --- a/sdk/dotnet/Mhub/Product.cs +++ b/sdk/dotnet/Mhub/Product.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Mhub /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MHUB Product can be imported using the id, e.g. diff --git a/sdk/dotnet/Mns/Queue.cs b/sdk/dotnet/Mns/Queue.cs index 369307dd8a..f4f8b3a356 100644 --- a/sdk/dotnet/Mns/Queue.cs +++ b/sdk/dotnet/Mns/Queue.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.Mns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MNS QUEUE can be imported using the id or name, e.g. diff --git a/sdk/dotnet/Mns/Topic.cs b/sdk/dotnet/Mns/Topic.cs index be0ccf25b2..d9a1a50816 100644 --- a/sdk/dotnet/Mns/Topic.cs +++ b/sdk/dotnet/Mns/Topic.cs @@ -32,6 +32,8 @@ namespace Pulumi.AliCloud.Mns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MNS Topic can be imported using the id or name, e.g. diff --git a/sdk/dotnet/Mns/TopicSubscription.cs b/sdk/dotnet/Mns/TopicSubscription.cs index e799933f26..dc722583e0 100644 --- a/sdk/dotnet/Mns/TopicSubscription.cs +++ b/sdk/dotnet/Mns/TopicSubscription.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Mns /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MNS Topic subscription can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/GlobalSecurityIpGroup.cs b/sdk/dotnet/MongoDB/GlobalSecurityIpGroup.cs index 010e7f1e2a..c2dd4954d9 100644 --- a/sdk/dotnet/MongoDB/GlobalSecurityIpGroup.cs +++ b/sdk/dotnet/MongoDB/GlobalSecurityIpGroup.cs @@ -41,6 +41,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Mongodb Global Security IP Group can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/Instance.cs b/sdk/dotnet/MongoDB/Instance.cs index 480683a465..9836cdae18 100644 --- a/sdk/dotnet/MongoDB/Instance.cs +++ b/sdk/dotnet/MongoDB/Instance.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing mongodb module diff --git a/sdk/dotnet/MongoDB/Node.cs b/sdk/dotnet/MongoDB/Node.cs new file mode 100644 index 0000000000..31f668a477 --- /dev/null +++ b/sdk/dotnet/MongoDB/Node.cs @@ -0,0 +1,517 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.MongoDB +{ + /// + /// Provides a Mongodb Node resource. + /// + /// The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. + /// + /// For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var zoneId = config.Get("zoneId") ?? "cn-shanghai-b"; + /// var regionId = config.Get("regionId") ?? "cn-shanghai"; + /// var ipv4Cidr = config.Get("ipv4Cidr") ?? "10.0.0.0/24"; + /// var @default = new AliCloud.Vpc.Network("default", new() + /// { + /// Description = "tf-example", + /// VpcName = "tf-vpc-shanghai-b", + /// CidrBlock = "10.0.0.0/8", + /// }); + /// + /// var defaultSwitch = new AliCloud.Vpc.Switch("default", new() + /// { + /// VpcId = @default.Id, + /// ZoneId = zoneId, + /// CidrBlock = ipv4Cidr, + /// VswitchName = "tf-shanghai-B", + /// }); + /// + /// var defaultShardingInstance = new AliCloud.MongoDB.ShardingInstance("default", new() + /// { + /// EngineVersion = "4.2", + /// VswitchId = defaultSwitch.Id, + /// ZoneId = zoneId, + /// Name = name, + /// StorageType = "cloud_auto", + /// ProvisionedIops = 60, + /// ConfigServerLists = new[] + /// { + /// new AliCloud.MongoDB.Inputs.ShardingInstanceConfigServerListArgs + /// { + /// NodeClass = "mdb.shard.2x.xlarge.d", + /// NodeStorage = 40, + /// }, + /// }, + /// MongoLists = new[] + /// { + /// new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs + /// { + /// NodeClass = "mdb.shard.2x.xlarge.d", + /// }, + /// new AliCloud.MongoDB.Inputs.ShardingInstanceMongoListArgs + /// { + /// NodeClass = "mdb.shard.2x.xlarge.d", + /// }, + /// }, + /// ShardLists = new[] + /// { + /// new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs + /// { + /// NodeClass = "mdb.shard.2x.xlarge.d", + /// NodeStorage = 40, + /// }, + /// new AliCloud.MongoDB.Inputs.ShardingInstanceShardListArgs + /// { + /// NodeClass = "mdb.shard.2x.xlarge.d", + /// NodeStorage = 40, + /// }, + /// }, + /// }); + /// + /// var defaultNode = new AliCloud.MongoDB.Node("default", new() + /// { + /// AccountPassword = "q1w2e3r4!", + /// AutoPay = true, + /// NodeClass = "mdb.shard.4x.large.d", + /// ShardDirect = false, + /// BusinessInfo = "1234", + /// NodeStorage = 40, + /// ReadonlyReplicas = 0, + /// DbInstanceId = defaultShardingInstance.Id, + /// NodeType = "shard", + /// AccountName = "root", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Mongodb Node can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:mongodb/node:Node example <db_instance_id>:<node_id> + /// ``` + /// + [AliCloudResourceType("alicloud:mongodb/node:Node")] + public partial class Node : global::Pulumi.CustomResource + { + /// + /// Account name, value description: + /// - Begins with a lowercase letter. + /// - Consists of lowercase letters, numbers, or underscores (_). + /// - 4~16 characters in length. + /// + /// > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + /// - The permissions of the account are fixed to read-only permissions. + /// - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("accountName")] + public Output AccountName { get; private set; } = null!; + + /// + /// Account password, value description: + /// - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + /// - Oh-! @#$%^& *()_+-= is a special character. + /// - Length is 8~32 characters. + /// + /// > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("accountPassword")] + public Output AccountPassword { get; private set; } = null!; + + /// + /// Whether to pay automatically. Value description: + /// + [Output("autoPay")] + public Output AutoPay { get; private set; } = null!; + + /// + /// Additional parameters, business information. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("businessInfo")] + public Output BusinessInfo { get; private set; } = null!; + + /// + /// The ID of the sharded cluster instance. + /// + [Output("dbInstanceId")] + public Output DbInstanceId { get; private set; } = null!; + + [Output("effectiveTime")] + public Output EffectiveTime { get; private set; } = null!; + + /// + /// Request Source, value description: + /// - `OpenApi`: The request source is OpenApi. + /// + [Output("fromApp")] + public Output FromApp { get; private set; } = null!; + + /// + /// The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + /// + [Output("nodeClass")] + public Output NodeClass { get; private set; } = null!; + + /// + /// The first ID of the resource + /// + [Output("nodeId")] + public Output NodeId { get; private set; } = null!; + + /// + /// The disk space of the Node. Unit: GB. + /// + /// Value range: `10` to `2000`, with a step size of 10GB. + /// + /// > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + /// + [Output("nodeStorage")] + public Output NodeStorage { get; private set; } = null!; + + /// + /// Node type, value description: + /// + [Output("nodeType")] + public Output NodeType { get; private set; } = null!; + + [Output("orderType")] + public Output OrderType { get; private set; } = null!; + + /// + /// The number of read-only nodes in the Shard. + /// + /// Value range: `0` to `5` (integer). Default value: **0 * *. + /// + /// > **NOTE:** This parameter is currently only supported by China Station. + /// + [Output("readonlyReplicas")] + public Output ReadonlyReplicas { get; private set; } = null!; + + /// + /// Whether to apply for the direct connection address of the Shard node. Value description: + /// + [Output("shardDirect")] + public Output ShardDirect { get; private set; } = null!; + + /// + /// Running status of node in sharded cluster + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + [Output("switchTime")] + public Output SwitchTime { get; private set; } = null!; + + + /// + /// Create a Node 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 Node(string name, NodeArgs args, CustomResourceOptions? options = null) + : base("alicloud:mongodb/node:Node", name, args ?? new NodeArgs(), MakeResourceOptions(options, "")) + { + } + + private Node(string name, Input id, NodeState? state = null, CustomResourceOptions? options = null) + : base("alicloud:mongodb/node:Node", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Node 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 Node Get(string name, Input id, NodeState? state = null, CustomResourceOptions? options = null) + { + return new Node(name, id, state, options); + } + } + + public sealed class NodeArgs : global::Pulumi.ResourceArgs + { + /// + /// Account name, value description: + /// - Begins with a lowercase letter. + /// - Consists of lowercase letters, numbers, or underscores (_). + /// - 4~16 characters in length. + /// + /// > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + /// - The permissions of the account are fixed to read-only permissions. + /// - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("accountName")] + public Input? AccountName { get; set; } + + /// + /// Account password, value description: + /// - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + /// - Oh-! @#$%^& *()_+-= is a special character. + /// - Length is 8~32 characters. + /// + /// > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("accountPassword")] + public Input? AccountPassword { get; set; } + + /// + /// Whether to pay automatically. Value description: + /// + [Input("autoPay")] + public Input? AutoPay { get; set; } + + /// + /// Additional parameters, business information. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("businessInfo")] + public Input? BusinessInfo { get; set; } + + /// + /// The ID of the sharded cluster instance. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + [Input("effectiveTime")] + public Input? EffectiveTime { get; set; } + + /// + /// Request Source, value description: + /// - `OpenApi`: The request source is OpenApi. + /// + [Input("fromApp")] + public Input? FromApp { get; set; } + + /// + /// The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + /// + [Input("nodeClass", required: true)] + public Input NodeClass { get; set; } = null!; + + /// + /// The disk space of the Node. Unit: GB. + /// + /// Value range: `10` to `2000`, with a step size of 10GB. + /// + /// > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + /// + [Input("nodeStorage")] + public Input? NodeStorage { get; set; } + + /// + /// Node type, value description: + /// + [Input("nodeType", required: true)] + public Input NodeType { get; set; } = null!; + + [Input("orderType")] + public Input? OrderType { get; set; } + + /// + /// The number of read-only nodes in the Shard. + /// + /// Value range: `0` to `5` (integer). Default value: **0 * *. + /// + /// > **NOTE:** This parameter is currently only supported by China Station. + /// + [Input("readonlyReplicas")] + public Input? ReadonlyReplicas { get; set; } + + /// + /// Whether to apply for the direct connection address of the Shard node. Value description: + /// + [Input("shardDirect")] + public Input? ShardDirect { get; set; } + + [Input("switchTime")] + public Input? SwitchTime { get; set; } + + public NodeArgs() + { + } + public static new NodeArgs Empty => new NodeArgs(); + } + + public sealed class NodeState : global::Pulumi.ResourceArgs + { + /// + /// Account name, value description: + /// - Begins with a lowercase letter. + /// - Consists of lowercase letters, numbers, or underscores (_). + /// - 4~16 characters in length. + /// + /// > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + /// - The permissions of the account are fixed to read-only permissions. + /// - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("accountName")] + public Input? AccountName { get; set; } + + /// + /// Account password, value description: + /// - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + /// - Oh-! @#$%^& *()_+-= is a special character. + /// - Length is 8~32 characters. + /// + /// > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("accountPassword")] + public Input? AccountPassword { get; set; } + + /// + /// Whether to pay automatically. Value description: + /// + [Input("autoPay")] + public Input? AutoPay { get; set; } + + /// + /// Additional parameters, business information. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("businessInfo")] + public Input? BusinessInfo { get; set; } + + /// + /// The ID of the sharded cluster instance. + /// + [Input("dbInstanceId")] + public Input? DbInstanceId { get; set; } + + [Input("effectiveTime")] + public Input? EffectiveTime { get; set; } + + /// + /// Request Source, value description: + /// - `OpenApi`: The request source is OpenApi. + /// + [Input("fromApp")] + public Input? FromApp { get; set; } + + /// + /// The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + /// + [Input("nodeClass")] + public Input? NodeClass { get; set; } + + /// + /// The first ID of the resource + /// + [Input("nodeId")] + public Input? NodeId { get; set; } + + /// + /// The disk space of the Node. Unit: GB. + /// + /// Value range: `10` to `2000`, with a step size of 10GB. + /// + /// > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + /// + [Input("nodeStorage")] + public Input? NodeStorage { get; set; } + + /// + /// Node type, value description: + /// + [Input("nodeType")] + public Input? NodeType { get; set; } + + [Input("orderType")] + public Input? OrderType { get; set; } + + /// + /// The number of read-only nodes in the Shard. + /// + /// Value range: `0` to `5` (integer). Default value: **0 * *. + /// + /// > **NOTE:** This parameter is currently only supported by China Station. + /// + [Input("readonlyReplicas")] + public Input? ReadonlyReplicas { get; set; } + + /// + /// Whether to apply for the direct connection address of the Shard node. Value description: + /// + [Input("shardDirect")] + public Input? ShardDirect { get; set; } + + /// + /// Running status of node in sharded cluster + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("switchTime")] + public Input? SwitchTime { get; set; } + + public NodeState() + { + } + public static new NodeState Empty => new NodeState(); + } +} diff --git a/sdk/dotnet/MongoDB/PrivateSrvNetworkAddress.cs b/sdk/dotnet/MongoDB/PrivateSrvNetworkAddress.cs index 5e18086eed..53854168c1 100644 --- a/sdk/dotnet/MongoDB/PrivateSrvNetworkAddress.cs +++ b/sdk/dotnet/MongoDB/PrivateSrvNetworkAddress.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Mongodb Private Srv Network Address can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/PublicNetworkAddress.cs b/sdk/dotnet/MongoDB/PublicNetworkAddress.cs index a111c39e3c..a3cbad8ca3 100644 --- a/sdk/dotnet/MongoDB/PublicNetworkAddress.cs +++ b/sdk/dotnet/MongoDB/PublicNetworkAddress.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MongoDB public network address can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/ReplicaSetRole.cs b/sdk/dotnet/MongoDB/ReplicaSetRole.cs index 4d3a1247bc..c49bf2352d 100644 --- a/sdk/dotnet/MongoDB/ReplicaSetRole.cs +++ b/sdk/dotnet/MongoDB/ReplicaSetRole.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `<db_instance_id>:<network_type>:<role_id>`. diff --git a/sdk/dotnet/MongoDB/ServerlessInstance.cs b/sdk/dotnet/MongoDB/ServerlessInstance.cs index eb3a15ddd4..f544d57bb0 100644 --- a/sdk/dotnet/MongoDB/ServerlessInstance.cs +++ b/sdk/dotnet/MongoDB/ServerlessInstance.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MongoDB Serverless Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/ShardingInstance.cs b/sdk/dotnet/MongoDB/ShardingInstance.cs index e8fd6b1040..16cc5bf756 100644 --- a/sdk/dotnet/MongoDB/ShardingInstance.cs +++ b/sdk/dotnet/MongoDB/ShardingInstance.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing mongodb-sharding module diff --git a/sdk/dotnet/MongoDB/ShardingNetworkPrivateAddress.cs b/sdk/dotnet/MongoDB/ShardingNetworkPrivateAddress.cs index 75721b7b1b..75d1145d73 100644 --- a/sdk/dotnet/MongoDB/ShardingNetworkPrivateAddress.cs +++ b/sdk/dotnet/MongoDB/ShardingNetworkPrivateAddress.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MongoDB Sharding Network Private Address can be imported using the id, e.g. diff --git a/sdk/dotnet/MongoDB/ShardingNetworkPublicAddress.cs b/sdk/dotnet/MongoDB/ShardingNetworkPublicAddress.cs index 3b3fcf7551..d8b688ffd7 100644 --- a/sdk/dotnet/MongoDB/ShardingNetworkPublicAddress.cs +++ b/sdk/dotnet/MongoDB/ShardingNetworkPublicAddress.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.MongoDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// MongoDB Sharding Network Public Address can be imported using the id, e.g. diff --git a/sdk/dotnet/MscSubContract.cs b/sdk/dotnet/MscSubContract.cs index fa8b3d9930..e1659ebd5b 100644 --- a/sdk/dotnet/MscSubContract.cs +++ b/sdk/dotnet/MscSubContract.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Msc Sub Contact can be imported using the id, e.g. diff --git a/sdk/dotnet/MscSubSubscription.cs b/sdk/dotnet/MscSubSubscription.cs index 60415dc34a..f5e109fa40 100644 --- a/sdk/dotnet/MscSubSubscription.cs +++ b/sdk/dotnet/MscSubSubscription.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Msc Sub Subscription can be imported using the id, e.g. diff --git a/sdk/dotnet/MscSubWebhook.cs b/sdk/dotnet/MscSubWebhook.cs index 4a28935a9a..ba55ebe20c 100644 --- a/sdk/dotnet/MscSubWebhook.cs +++ b/sdk/dotnet/MscSubWebhook.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Msc Sub Webhook can be imported using the id, e.g. diff --git a/sdk/dotnet/Mse/EngineNamespace.cs b/sdk/dotnet/Mse/EngineNamespace.cs index b40b2f5b28..c0c9c203bd 100644 --- a/sdk/dotnet/Mse/EngineNamespace.cs +++ b/sdk/dotnet/Mse/EngineNamespace.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.Mse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Mse/Gateway.cs b/sdk/dotnet/Mse/Gateway.cs index d609cccd0f..ff8d5604f6 100644 --- a/sdk/dotnet/Mse/Gateway.cs +++ b/sdk/dotnet/Mse/Gateway.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Mse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Microservice Engine (MSE) Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Mse/NacosConfig.cs b/sdk/dotnet/Mse/NacosConfig.cs index 3825a0708b..33823d79e4 100644 --- a/sdk/dotnet/Mse/NacosConfig.cs +++ b/sdk/dotnet/Mse/NacosConfig.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.Mse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Mse/Znode.cs b/sdk/dotnet/Mse/Znode.cs index 4acdc07180..76d64a7695 100644 --- a/sdk/dotnet/Mse/Znode.cs +++ b/sdk/dotnet/Mse/Znode.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Mse /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Microservice Engine (MSE) Znode can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/AccessGroup.cs b/sdk/dotnet/Nas/AccessGroup.cs index 2d276f104f..8a197d1e3c 100644 --- a/sdk/dotnet/Nas/AccessGroup.cs +++ b/sdk/dotnet/Nas/AccessGroup.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NAS Access Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/AccessPoint.cs b/sdk/dotnet/Nas/AccessPoint.cs index 6b2555c24b..446c2075b8 100644 --- a/sdk/dotnet/Nas/AccessPoint.cs +++ b/sdk/dotnet/Nas/AccessPoint.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Access Point can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/AccessRule.cs b/sdk/dotnet/Nas/AccessRule.cs index b229a93a72..55bdcb49a8 100644 --- a/sdk/dotnet/Nas/AccessRule.cs +++ b/sdk/dotnet/Nas/AccessRule.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NAS Access Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/AutoSnapshotPolicy.cs b/sdk/dotnet/Nas/AutoSnapshotPolicy.cs index 4c1ce152bc..7996cebfd6 100644 --- a/sdk/dotnet/Nas/AutoSnapshotPolicy.cs +++ b/sdk/dotnet/Nas/AutoSnapshotPolicy.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NAS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/DataFlow.cs b/sdk/dotnet/Nas/DataFlow.cs index 02c202abfb..78be03060a 100644 --- a/sdk/dotnet/Nas/DataFlow.cs +++ b/sdk/dotnet/Nas/DataFlow.cs @@ -111,6 +111,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Data Flow can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/FileSystem.cs b/sdk/dotnet/Nas/FileSystem.cs index cdd0e27da6..5606636850 100644 --- a/sdk/dotnet/Nas/FileSystem.cs +++ b/sdk/dotnet/Nas/FileSystem.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) File System can be imported using the id, e.g. @@ -125,15 +127,9 @@ public partial class FileSystem : global::Pulumi.CustomResource [Output("fileSystemType")] public Output FileSystemType { get; private set; } = null!; - /// - /// String of keytab file content encrypted by base64 - /// [Output("keytab")] public Output Keytab { get; private set; } = null!; - /// - /// String of the keytab file content encrypted by MD5 - /// [Output("keytabMd5")] public Output KeytabMd5 { get; private set; } = null!; @@ -171,6 +167,18 @@ public partial class FileSystem : global::Pulumi.CustomResource [Output("recycleBin")] public Output RecycleBin { get; private set; } = null!; + /// + /// Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + /// + [Output("redundancyType")] + public Output RedundancyType { get; private set; } = null!; + + /// + /// Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + /// + [Output("redundancyVswitchIds")] + public Output> RedundancyVswitchIds { get; private set; } = null!; + /// /// RegionId /// @@ -193,6 +201,9 @@ public partial class FileSystem : global::Pulumi.CustomResource /// Only extreme NAS is supported. /// /// > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Output("snapshotId")] public Output SnapshotId { get; private set; } = null!; @@ -343,15 +354,9 @@ public sealed class FileSystemArgs : global::Pulumi.ResourceArgs [Input("fileSystemType")] public Input? FileSystemType { get; set; } - /// - /// String of keytab file content encrypted by base64 - /// [Input("keytab")] public Input? Keytab { get; set; } - /// - /// String of the keytab file content encrypted by MD5 - /// [Input("keytabMd5")] public Input? KeytabMd5 { get; set; } @@ -389,6 +394,24 @@ public sealed class FileSystemArgs : global::Pulumi.ResourceArgs [Input("recycleBin")] public Input? RecycleBin { get; set; } + /// + /// Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + /// + [Input("redundancyType")] + public Input? RedundancyType { get; set; } + + [Input("redundancyVswitchIds")] + private InputList? _redundancyVswitchIds; + + /// + /// Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + /// + public InputList RedundancyVswitchIds + { + get => _redundancyVswitchIds ?? (_redundancyVswitchIds = new InputList()); + set => _redundancyVswitchIds = value; + } + /// /// The ID of the resource group. /// @@ -405,6 +428,9 @@ public sealed class FileSystemArgs : global::Pulumi.ResourceArgs /// Only extreme NAS is supported. /// /// > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("snapshotId")] public Input? SnapshotId { get; set; } @@ -523,15 +549,9 @@ public sealed class FileSystemState : global::Pulumi.ResourceArgs [Input("fileSystemType")] public Input? FileSystemType { get; set; } - /// - /// String of keytab file content encrypted by base64 - /// [Input("keytab")] public Input? Keytab { get; set; } - /// - /// String of the keytab file content encrypted by MD5 - /// [Input("keytabMd5")] public Input? KeytabMd5 { get; set; } @@ -569,6 +589,24 @@ public sealed class FileSystemState : global::Pulumi.ResourceArgs [Input("recycleBin")] public Input? RecycleBin { get; set; } + /// + /// Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + /// + [Input("redundancyType")] + public Input? RedundancyType { get; set; } + + [Input("redundancyVswitchIds")] + private InputList? _redundancyVswitchIds; + + /// + /// Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + /// + public InputList RedundancyVswitchIds + { + get => _redundancyVswitchIds ?? (_redundancyVswitchIds = new InputList()); + set => _redundancyVswitchIds = value; + } + /// /// RegionId /// @@ -591,6 +629,9 @@ public sealed class FileSystemState : global::Pulumi.ResourceArgs /// Only extreme NAS is supported. /// /// > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + /// + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. /// [Input("snapshotId")] public Input? SnapshotId { get; set; } diff --git a/sdk/dotnet/Nas/Fileset.cs b/sdk/dotnet/Nas/Fileset.cs index 9bd30f0024..5fbc8117e2 100644 --- a/sdk/dotnet/Nas/Fileset.cs +++ b/sdk/dotnet/Nas/Fileset.cs @@ -12,6 +12,8 @@ namespace Pulumi.AliCloud.Nas /// /// Provides a File Storage (NAS) Fileset resource. /// + /// Fileset of CPFS file system. + /// /// For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). /// /// > **NOTE:** Available since v1.153.0. @@ -68,6 +70,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Fileset can be imported using the id, e.g. @@ -80,13 +84,27 @@ namespace Pulumi.AliCloud.Nas public partial class Fileset : global::Pulumi.CustomResource { /// - /// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + /// The time when Fileset was created. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + /// - true: Enable instance release protection. + /// - false (default): Turn off instance release protection + /// + [Output("deletionProtection")] + public Output DeletionProtection { get; private set; } = null!; + + /// + /// Description of Fileset. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// The dry run. + /// Specifies whether to perform a dry run. Default value: `False`. Valid values: `True`, `False`. /// [Output("dryRun")] public Output DryRun { get; private set; } = null!; @@ -98,19 +116,19 @@ public partial class Fileset : global::Pulumi.CustomResource public Output FileSystemId { get; private set; } = null!; /// - /// The path of the fileset. + /// The path of Fileset. /// [Output("fileSystemPath")] public Output FileSystemPath { get; private set; } = null!; /// - /// The first ID of the resource. + /// Fileset ID /// [Output("filesetId")] public Output FilesetId { get; private set; } = null!; /// - /// The status of the fileset. + /// The status of Fileset. Includes: /// [Output("status")] public Output Status { get; private set; } = null!; @@ -162,13 +180,21 @@ public static Fileset Get(string name, Input id, FilesetState? state = n public sealed class FilesetArgs : global::Pulumi.ResourceArgs { /// - /// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + /// The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + /// - true: Enable instance release protection. + /// - false (default): Turn off instance release protection + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + /// + /// Description of Fileset. /// [Input("description")] public Input? Description { get; set; } /// - /// The dry run. + /// Specifies whether to perform a dry run. Default value: `False`. Valid values: `True`, `False`. /// [Input("dryRun")] public Input? DryRun { get; set; } @@ -180,7 +206,7 @@ public sealed class FilesetArgs : global::Pulumi.ResourceArgs public Input FileSystemId { get; set; } = null!; /// - /// The path of the fileset. + /// The path of Fileset. /// [Input("fileSystemPath", required: true)] public Input FileSystemPath { get; set; } = null!; @@ -194,13 +220,27 @@ public FilesetArgs() public sealed class FilesetState : global::Pulumi.ResourceArgs { /// - /// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + /// The time when Fileset was created. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + /// - true: Enable instance release protection. + /// - false (default): Turn off instance release protection + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + /// + /// Description of Fileset. /// [Input("description")] public Input? Description { get; set; } /// - /// The dry run. + /// Specifies whether to perform a dry run. Default value: `False`. Valid values: `True`, `False`. /// [Input("dryRun")] public Input? DryRun { get; set; } @@ -212,19 +252,19 @@ public sealed class FilesetState : global::Pulumi.ResourceArgs public Input? FileSystemId { get; set; } /// - /// The path of the fileset. + /// The path of Fileset. /// [Input("fileSystemPath")] public Input? FileSystemPath { get; set; } /// - /// The first ID of the resource. + /// Fileset ID /// [Input("filesetId")] public Input? FilesetId { get; set; } /// - /// The status of the fileset. + /// The status of Fileset. Includes: /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/Nas/LifecyclePolicy.cs b/sdk/dotnet/Nas/LifecyclePolicy.cs index 333107e47c..e58517732a 100644 --- a/sdk/dotnet/Nas/LifecyclePolicy.cs +++ b/sdk/dotnet/Nas/LifecyclePolicy.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/MountTarget.cs b/sdk/dotnet/Nas/MountTarget.cs index bfb401e4f0..4d767c236d 100644 --- a/sdk/dotnet/Nas/MountTarget.cs +++ b/sdk/dotnet/Nas/MountTarget.cs @@ -87,6 +87,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Mount Target can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/ProtocolMountTarget.cs b/sdk/dotnet/Nas/ProtocolMountTarget.cs new file mode 100644 index 0000000000..5856a22cd0 --- /dev/null +++ b/sdk/dotnet/Nas/ProtocolMountTarget.cs @@ -0,0 +1,451 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Nas +{ + /// + /// Provides a File Storage (NAS) Protocol Mount Target resource. + /// + /// For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var example = new AliCloud.Vpc.Network("example", new() + /// { + /// IsDefault = false, + /// CidrBlock = "192.168.0.0/16", + /// VpcName = "nas-examplee1223-vpc", + /// EnableIpv6 = true, + /// }); + /// + /// var exampleSwitch = new AliCloud.Vpc.Switch("example", new() + /// { + /// IsDefault = false, + /// VpcId = example.Id, + /// ZoneId = "cn-beijing-i", + /// CidrBlock = "192.168.3.0/24", + /// VswitchName = "nas-examplee1223-vsw2sdw-C", + /// }); + /// + /// var exampleFileSystem = new AliCloud.Nas.FileSystem("example", new() + /// { + /// Description = name, + /// StorageType = "advance_100", + /// ZoneId = "cn-beijing-i", + /// VpcId = example.Id, + /// Capacity = 3600, + /// ProtocolType = "cpfs", + /// VswitchId = exampleSwitch.Id, + /// FileSystemType = "cpfs", + /// }); + /// + /// var exampleProtocolService = new AliCloud.Nas.ProtocolService("example", new() + /// { + /// VpcId = example.Id, + /// ProtocolType = "NFS", + /// ProtocolSpec = "General", + /// VswitchId = exampleSwitch.Id, + /// DryRun = false, + /// FileSystemId = exampleFileSystem.Id, + /// }); + /// + /// var exampleFileset = new AliCloud.Nas.Fileset("example", new() + /// { + /// FileSystemPath = "/examplefileset/", + /// Description = "cpfs-LRS-filesetexample-wyf", + /// FileSystemId = exampleFileSystem.Id, + /// }); + /// + /// var @default = new AliCloud.Nas.ProtocolMountTarget("default", new() + /// { + /// FsetId = exampleFileset.FilesetId, + /// Description = name, + /// VpcId = example.Id, + /// VswitchId = exampleSwitch.Id, + /// AccessGroupName = "DEFAULT_VPC_GROUP_NAME", + /// DryRun = false, + /// FileSystemId = exampleFileSystem.Id, + /// ProtocolServiceId = exampleProtocolService.ProtocolServiceId, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example <file_system_id>:<protocol_service_id>:<export_id> + /// ``` + /// + [AliCloudResourceType("alicloud:nas/protocolMountTarget:ProtocolMountTarget")] + public partial class ProtocolMountTarget : global::Pulumi.CustomResource + { + /// + /// The permission group name. + /// Default value: DEFAULT_VPC_GROUP_NAME + /// + [Output("accessGroupName")] + public Output AccessGroupName { get; private set; } = null!; + + /// + /// The creation time of the resource + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Description of the protocol service mount target. Display as the export directory name in the console. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("dryRun")] + public Output DryRun { get; private set; } = null!; + + /// + /// Protocol Service Mount Target ID + /// + [Output("exportId")] + public Output ExportId { get; private set; } = null!; + + /// + /// The ID of the file system. + /// + [Output("fileSystemId")] + public Output FileSystemId { get; private set; } = null!; + + /// + /// The ID of the Fileset to be mounted. + /// + /// Limitations: + /// - The Fileset must already exist. + /// - A Fileset allows only one export directory to be created. + /// - Fileset and Path can and must specify only one. + /// + [Output("fsetId")] + public Output FsetId { get; private set; } = null!; + + /// + /// The path of the CPFS directory to be mounted. + /// + /// Limitations: + /// - The directory must be an existing directory on the CPFS. + /// - Only one export is allowed for the same directory. + /// - Fileset and Path can and must specify only one. + /// + /// Format: + /// - 1~1024 characters in length. + /// - Use UTF-8 encoding. + /// - Must start and end with a forward slash (/) and root directory is/. + /// + [Output("path")] + public Output Path { get; private set; } = null!; + + /// + /// Protocol Service ID + /// + [Output("protocolServiceId")] + public Output ProtocolServiceId { get; private set; } = null!; + + /// + /// Status + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The VPC ID of the protocol service mount point. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// The vSwitch ID of the protocol service mount target. + /// + [Output("vswitchId")] + public Output VswitchId { get; private set; } = null!; + + /// + /// The vSwitch IDs of the protocol service mount target. + /// When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + /// + [Output("vswitchIds")] + public Output> VswitchIds { get; private set; } = null!; + + + /// + /// Create a ProtocolMountTarget 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 ProtocolMountTarget(string name, ProtocolMountTargetArgs args, CustomResourceOptions? options = null) + : base("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, args ?? new ProtocolMountTargetArgs(), MakeResourceOptions(options, "")) + { + } + + private ProtocolMountTarget(string name, Input id, ProtocolMountTargetState? state = null, CustomResourceOptions? options = null) + : base("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 ProtocolMountTarget 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 ProtocolMountTarget Get(string name, Input id, ProtocolMountTargetState? state = null, CustomResourceOptions? options = null) + { + return new ProtocolMountTarget(name, id, state, options); + } + } + + public sealed class ProtocolMountTargetArgs : global::Pulumi.ResourceArgs + { + /// + /// The permission group name. + /// Default value: DEFAULT_VPC_GROUP_NAME + /// + [Input("accessGroupName")] + public Input? AccessGroupName { get; set; } + + /// + /// Description of the protocol service mount target. Display as the export directory name in the console. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// The ID of the file system. + /// + [Input("fileSystemId", required: true)] + public Input FileSystemId { get; set; } = null!; + + /// + /// The ID of the Fileset to be mounted. + /// + /// Limitations: + /// - The Fileset must already exist. + /// - A Fileset allows only one export directory to be created. + /// - Fileset and Path can and must specify only one. + /// + [Input("fsetId")] + public Input? FsetId { get; set; } + + /// + /// The path of the CPFS directory to be mounted. + /// + /// Limitations: + /// - The directory must be an existing directory on the CPFS. + /// - Only one export is allowed for the same directory. + /// - Fileset and Path can and must specify only one. + /// + /// Format: + /// - 1~1024 characters in length. + /// - Use UTF-8 encoding. + /// - Must start and end with a forward slash (/) and root directory is/. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// Protocol Service ID + /// + [Input("protocolServiceId", required: true)] + public Input ProtocolServiceId { get; set; } = null!; + + /// + /// The VPC ID of the protocol service mount point. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The vSwitch ID of the protocol service mount target. + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + [Input("vswitchIds")] + private InputList? _vswitchIds; + + /// + /// The vSwitch IDs of the protocol service mount target. + /// When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + /// + public InputList VswitchIds + { + get => _vswitchIds ?? (_vswitchIds = new InputList()); + set => _vswitchIds = value; + } + + public ProtocolMountTargetArgs() + { + } + public static new ProtocolMountTargetArgs Empty => new ProtocolMountTargetArgs(); + } + + public sealed class ProtocolMountTargetState : global::Pulumi.ResourceArgs + { + /// + /// The permission group name. + /// Default value: DEFAULT_VPC_GROUP_NAME + /// + [Input("accessGroupName")] + public Input? AccessGroupName { get; set; } + + /// + /// The creation time of the resource + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Description of the protocol service mount target. Display as the export directory name in the console. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// Protocol Service Mount Target ID + /// + [Input("exportId")] + public Input? ExportId { get; set; } + + /// + /// The ID of the file system. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// The ID of the Fileset to be mounted. + /// + /// Limitations: + /// - The Fileset must already exist. + /// - A Fileset allows only one export directory to be created. + /// - Fileset and Path can and must specify only one. + /// + [Input("fsetId")] + public Input? FsetId { get; set; } + + /// + /// The path of the CPFS directory to be mounted. + /// + /// Limitations: + /// - The directory must be an existing directory on the CPFS. + /// - Only one export is allowed for the same directory. + /// - Fileset and Path can and must specify only one. + /// + /// Format: + /// - 1~1024 characters in length. + /// - Use UTF-8 encoding. + /// - Must start and end with a forward slash (/) and root directory is/. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// Protocol Service ID + /// + [Input("protocolServiceId")] + public Input? ProtocolServiceId { get; set; } + + /// + /// Status + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The VPC ID of the protocol service mount point. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The vSwitch ID of the protocol service mount target. + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + [Input("vswitchIds")] + private InputList? _vswitchIds; + + /// + /// The vSwitch IDs of the protocol service mount target. + /// When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + /// + public InputList VswitchIds + { + get => _vswitchIds ?? (_vswitchIds = new InputList()); + set => _vswitchIds = value; + } + + public ProtocolMountTargetState() + { + } + public static new ProtocolMountTargetState Empty => new ProtocolMountTargetState(); + } +} diff --git a/sdk/dotnet/Nas/ProtocolService.cs b/sdk/dotnet/Nas/ProtocolService.cs new file mode 100644 index 0000000000..376d1cc511 --- /dev/null +++ b/sdk/dotnet/Nas/ProtocolService.cs @@ -0,0 +1,349 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Nas +{ + /// + /// Provides a File Storage (NAS) Protocol Service resource. + /// + /// For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var example = new AliCloud.Vpc.Network("example", new() + /// { + /// IsDefault = false, + /// CidrBlock = "192.168.0.0/16", + /// VpcName = "nas-examplee1031-vpc", + /// EnableIpv6 = true, + /// }); + /// + /// var exampleSwitch = new AliCloud.Vpc.Switch("example", new() + /// { + /// IsDefault = false, + /// VpcId = example.Id, + /// ZoneId = "cn-beijing-i", + /// CidrBlock = "192.168.2.0/24", + /// VswitchName = "nas-examplee1031-vsw1sdw-F", + /// }); + /// + /// var exampleFileSystem = new AliCloud.Nas.FileSystem("example", new() + /// { + /// Description = name, + /// StorageType = "advance_100", + /// ZoneId = "cn-beijing-i", + /// EncryptType = 0, + /// VpcId = example.Id, + /// Capacity = 3600, + /// ProtocolType = "cpfs", + /// VswitchId = exampleSwitch.Id, + /// FileSystemType = "cpfs", + /// }); + /// + /// var @default = new AliCloud.Nas.ProtocolService("default", new() + /// { + /// VpcId = example.Id, + /// ProtocolType = "NFS", + /// ProtocolSpec = "General", + /// VswitchId = exampleSwitch.Id, + /// DryRun = false, + /// FileSystemId = exampleFileSystem.Id, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// File Storage (NAS) Protocol Service can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:nas/protocolService:ProtocolService example <file_system_id>:<protocol_service_id> + /// ``` + /// + [AliCloudResourceType("alicloud:nas/protocolService:ProtocolService")] + public partial class ProtocolService : global::Pulumi.CustomResource + { + /// + /// The time when the protocol server service was created. The UTC time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Description of the agreement service. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("dryRun")] + public Output DryRun { get; private set; } = null!; + + /// + /// The ID of the file system. + /// + [Output("fileSystemId")] + public Output FileSystemId { get; private set; } = null!; + + /// + /// Protocol Service ID + /// + [Output("protocolServiceId")] + public Output ProtocolServiceId { get; private set; } = null!; + + /// + /// The specification of the protocol machine cluster. + /// - Value range: General、CL1、CL2 + /// - Default value: General + /// + [Output("protocolSpec")] + public Output ProtocolSpec { get; private set; } = null!; + + /// + /// The throughput of the protocol service. Unit: MB/s. + /// + [Output("protocolThroughput")] + public Output ProtocolThroughput { get; private set; } = null!; + + /// + /// The protocol type supported by the protocol service. + /// + /// Value range: + /// - NFS: Protocol Service supports NFS protocol access. + /// + [Output("protocolType")] + public Output ProtocolType { get; private set; } = null!; + + /// + /// Agreement service status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The VpcId of the protocol service, which must be consistent with the VPC of the file system. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// The VSwitchId of the protocol service. + /// + [Output("vswitchId")] + public Output VswitchId { get; private set; } = null!; + + + /// + /// Create a ProtocolService 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 ProtocolService(string name, ProtocolServiceArgs args, CustomResourceOptions? options = null) + : base("alicloud:nas/protocolService:ProtocolService", name, args ?? new ProtocolServiceArgs(), MakeResourceOptions(options, "")) + { + } + + private ProtocolService(string name, Input id, ProtocolServiceState? state = null, CustomResourceOptions? options = null) + : base("alicloud:nas/protocolService:ProtocolService", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 ProtocolService 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 ProtocolService Get(string name, Input id, ProtocolServiceState? state = null, CustomResourceOptions? options = null) + { + return new ProtocolService(name, id, state, options); + } + } + + public sealed class ProtocolServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the agreement service. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// The ID of the file system. + /// + [Input("fileSystemId", required: true)] + public Input FileSystemId { get; set; } = null!; + + /// + /// The specification of the protocol machine cluster. + /// - Value range: General、CL1、CL2 + /// - Default value: General + /// + [Input("protocolSpec", required: true)] + public Input ProtocolSpec { get; set; } = null!; + + /// + /// The throughput of the protocol service. Unit: MB/s. + /// + [Input("protocolThroughput")] + public Input? ProtocolThroughput { get; set; } + + /// + /// The protocol type supported by the protocol service. + /// + /// Value range: + /// - NFS: Protocol Service supports NFS protocol access. + /// + [Input("protocolType", required: true)] + public Input ProtocolType { get; set; } = null!; + + /// + /// The VpcId of the protocol service, which must be consistent with the VPC of the file system. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The VSwitchId of the protocol service. + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + public ProtocolServiceArgs() + { + } + public static new ProtocolServiceArgs Empty => new ProtocolServiceArgs(); + } + + public sealed class ProtocolServiceState : global::Pulumi.ResourceArgs + { + /// + /// The time when the protocol server service was created. The UTC time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Description of the agreement service. + /// + /// Limitations: + /// - Length is 2~128 English or Chinese characters. + /// - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + /// - Can contain numbers, colons (:), underscores (_), or dashes (-). + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// The ID of the file system. + /// + [Input("fileSystemId")] + public Input? FileSystemId { get; set; } + + /// + /// Protocol Service ID + /// + [Input("protocolServiceId")] + public Input? ProtocolServiceId { get; set; } + + /// + /// The specification of the protocol machine cluster. + /// - Value range: General、CL1、CL2 + /// - Default value: General + /// + [Input("protocolSpec")] + public Input? ProtocolSpec { get; set; } + + /// + /// The throughput of the protocol service. Unit: MB/s. + /// + [Input("protocolThroughput")] + public Input? ProtocolThroughput { get; set; } + + /// + /// The protocol type supported by the protocol service. + /// + /// Value range: + /// - NFS: Protocol Service supports NFS protocol access. + /// + [Input("protocolType")] + public Input? ProtocolType { get; set; } + + /// + /// Agreement service status. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The VpcId of the protocol service, which must be consistent with the VPC of the file system. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// The VSwitchId of the protocol service. + /// + [Input("vswitchId")] + public Input? VswitchId { get; set; } + + public ProtocolServiceState() + { + } + public static new ProtocolServiceState Empty => new ProtocolServiceState(); + } +} diff --git a/sdk/dotnet/Nas/RecycleBin.cs b/sdk/dotnet/Nas/RecycleBin.cs index 4de4023d32..8afa43da86 100644 --- a/sdk/dotnet/Nas/RecycleBin.cs +++ b/sdk/dotnet/Nas/RecycleBin.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Recycle Bin can be imported using the id, e.g. diff --git a/sdk/dotnet/Nas/SmbAclAttachment.cs b/sdk/dotnet/Nas/SmbAclAttachment.cs index e33caaf8ab..d40174bc35 100644 --- a/sdk/dotnet/Nas/SmbAclAttachment.cs +++ b/sdk/dotnet/Nas/SmbAclAttachment.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Nas /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:nas/smbAclAttachment:SmbAclAttachment")] public partial class SmbAclAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Nas/Snapshot.cs b/sdk/dotnet/Nas/Snapshot.cs index 2b5a314c9d..014bc713b9 100644 --- a/sdk/dotnet/Nas/Snapshot.cs +++ b/sdk/dotnet/Nas/Snapshot.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Nas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// File Storage (NAS) Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/Listener.cs b/sdk/dotnet/Nlb/Listener.cs index 6d771bc1a1..a27d8ccee7 100644 --- a/sdk/dotnet/Nlb/Listener.cs +++ b/sdk/dotnet/Nlb/Listener.cs @@ -141,6 +141,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Network Load Balancer (NLB) Listener can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/ListenerAdditionalCertificateAttachment.cs b/sdk/dotnet/Nlb/ListenerAdditionalCertificateAttachment.cs index 7b16689d6c..1d643b31fd 100644 --- a/sdk/dotnet/Nlb/ListenerAdditionalCertificateAttachment.cs +++ b/sdk/dotnet/Nlb/ListenerAdditionalCertificateAttachment.cs @@ -229,6 +229,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NLB Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/LoadBalancer.cs b/sdk/dotnet/Nlb/LoadBalancer.cs index 8d129a68a8..f3343b1345 100644 --- a/sdk/dotnet/Nlb/LoadBalancer.cs +++ b/sdk/dotnet/Nlb/LoadBalancer.cs @@ -170,6 +170,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/LoadBalancerSecurityGroupAttachment.cs b/sdk/dotnet/Nlb/LoadBalancerSecurityGroupAttachment.cs index 8409db82b6..b7f186ee4d 100644 --- a/sdk/dotnet/Nlb/LoadBalancerSecurityGroupAttachment.cs +++ b/sdk/dotnet/Nlb/LoadBalancerSecurityGroupAttachment.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NLB Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/LoadBalancerZoneShiftedAttachment.cs b/sdk/dotnet/Nlb/LoadBalancerZoneShiftedAttachment.cs index 712a8857fd..85da8f0e3d 100644 --- a/sdk/dotnet/Nlb/LoadBalancerZoneShiftedAttachment.cs +++ b/sdk/dotnet/Nlb/LoadBalancerZoneShiftedAttachment.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/LoadbalancerCommonBandwidthPackageAttachment.cs b/sdk/dotnet/Nlb/LoadbalancerCommonBandwidthPackageAttachment.cs index 928c84b605..9878a9626d 100644 --- a/sdk/dotnet/Nlb/LoadbalancerCommonBandwidthPackageAttachment.cs +++ b/sdk/dotnet/Nlb/LoadbalancerCommonBandwidthPackageAttachment.cs @@ -109,6 +109,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/SecurityPolicy.cs b/sdk/dotnet/Nlb/SecurityPolicy.cs index aacfa1c80a..6eff4fe701 100644 --- a/sdk/dotnet/Nlb/SecurityPolicy.cs +++ b/sdk/dotnet/Nlb/SecurityPolicy.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NLB Security Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/ServerGroup.cs b/sdk/dotnet/Nlb/ServerGroup.cs index 043e984aae..8c54b282d8 100644 --- a/sdk/dotnet/Nlb/ServerGroup.cs +++ b/sdk/dotnet/Nlb/ServerGroup.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Network Load Balancer (NLB) Server Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Nlb/ServerGroupServerAttachment.cs b/sdk/dotnet/Nlb/ServerGroupServerAttachment.cs index aa4a7c0d22..1472f330dc 100644 --- a/sdk/dotnet/Nlb/ServerGroupServerAttachment.cs +++ b/sdk/dotnet/Nlb/ServerGroupServerAttachment.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.Nlb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ocean/BaseInstance.cs b/sdk/dotnet/Ocean/BaseInstance.cs index 027abe327a..25bb1e5d4e 100644 --- a/sdk/dotnet/Ocean/BaseInstance.cs +++ b/sdk/dotnet/Ocean/BaseInstance.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.Ocean /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Ocean Base Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/Application.cs b/sdk/dotnet/Oos/Application.cs index 5c6f248716..fb811499b1 100644 --- a/sdk/dotnet/Oos/Application.cs +++ b/sdk/dotnet/Oos/Application.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Application can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/ApplicationGroup.cs b/sdk/dotnet/Oos/ApplicationGroup.cs index 79bb31144f..8feea1c4bb 100644 --- a/sdk/dotnet/Oos/ApplicationGroup.cs +++ b/sdk/dotnet/Oos/ApplicationGroup.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Application Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/DefaultPatchBaseline.cs b/sdk/dotnet/Oos/DefaultPatchBaseline.cs index 93b082a8c1..1a036b881a 100644 --- a/sdk/dotnet/Oos/DefaultPatchBaseline.cs +++ b/sdk/dotnet/Oos/DefaultPatchBaseline.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Oos Default Patch Baseline can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/Execution.cs b/sdk/dotnet/Oos/Execution.cs index e5ed796c0a..6790b64320 100644 --- a/sdk/dotnet/Oos/Execution.cs +++ b/sdk/dotnet/Oos/Execution.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Execution can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/Parameter.cs b/sdk/dotnet/Oos/Parameter.cs index 73ff7d55fe..24994a809d 100644 --- a/sdk/dotnet/Oos/Parameter.cs +++ b/sdk/dotnet/Oos/Parameter.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Parameter can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/PatchBaseline.cs b/sdk/dotnet/Oos/PatchBaseline.cs index d2650f2d07..316fe4e6d7 100644 --- a/sdk/dotnet/Oos/PatchBaseline.cs +++ b/sdk/dotnet/Oos/PatchBaseline.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Patch Baseline can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/SecretParameter.cs b/sdk/dotnet/Oos/SecretParameter.cs index 622eaa099f..218b3aa995 100644 --- a/sdk/dotnet/Oos/SecretParameter.cs +++ b/sdk/dotnet/Oos/SecretParameter.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/ServiceSetting.cs b/sdk/dotnet/Oos/ServiceSetting.cs index 0f14031d19..50503d4116 100644 --- a/sdk/dotnet/Oos/ServiceSetting.cs +++ b/sdk/dotnet/Oos/ServiceSetting.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Service Setting can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/StateConfiguration.cs b/sdk/dotnet/Oos/StateConfiguration.cs index 00d0e6005d..383ece3df7 100644 --- a/sdk/dotnet/Oos/StateConfiguration.cs +++ b/sdk/dotnet/Oos/StateConfiguration.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS State Configuration can be imported using the id, e.g. diff --git a/sdk/dotnet/Oos/Template.cs b/sdk/dotnet/Oos/Template.cs index c4e74ea112..2f601c3384 100644 --- a/sdk/dotnet/Oos/Template.cs +++ b/sdk/dotnet/Oos/Template.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Oos /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OOS Template can be imported using the id or template_name, e.g. diff --git a/sdk/dotnet/OpenApiExplorerApiMcpServer.cs b/sdk/dotnet/OpenApiExplorerApiMcpServer.cs new file mode 100644 index 0000000000..93d4997aeb --- /dev/null +++ b/sdk/dotnet/OpenApiExplorerApiMcpServer.cs @@ -0,0 +1,738 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud +{ + /// + /// Provides a Open Api Explorer Api Mcp Server resource. + /// + /// API MCP Server. + /// + /// For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.OpenApiExplorerApiMcpServer("default", new() + /// { + /// SystemTools = new[] + /// { + /// "FetchRamActionDetails", + /// }, + /// Description = "Create", + /// Prompts = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgs + /// { + /// Description = "Obtain user customization information description", + /// Content = "Prompt body,{{name}}", + /// Arguments = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs + /// { + /// Description = "Name information", + /// Required = true, + /// Name = "name", + /// }, + /// }, + /// Name = "Obtain user customization information", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgs + /// { + /// Description = "Obtain user customization information description", + /// Content = "Prompt text, {{name }}, {{age }}, {{description}}", + /// Arguments = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs + /// { + /// Description = "Name information", + /// Required = true, + /// Name = "name", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs + /// { + /// Description = "Age information", + /// Required = true, + /// Name = "age", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs + /// { + /// Description = "Description Information", + /// Required = true, + /// Name = "description", + /// }, + /// }, + /// Name = "Obtain user customization information 1", + /// }, + /// }, + /// OauthClientId = "123456", + /// Apis = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs + /// { + /// ApiVersion = "2014-05-26", + /// Product = "Ecs", + /// Selectors = new[] + /// { + /// "DescribeAvailableResource", + /// "DescribeRegions", + /// "DescribeZones", + /// }, + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs + /// { + /// ApiVersion = "2017-03-21", + /// Product = "vod", + /// Selectors = new[] + /// { + /// "CreateUploadVideo", + /// }, + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerApiArgs + /// { + /// ApiVersion = "2014-05-15", + /// Product = "Slb", + /// Selectors = new[] + /// { + /// "DescribeAvailableResource", + /// }, + /// }, + /// }, + /// Instructions = "Describes the role of the entire MCP Server", + /// AdditionalApiDescriptions = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs + /// { + /// ApiVersion = "2014-05-26", + /// EnableOutputSchema = true, + /// ApiName = "DescribeAvailableResource", + /// ConstParameters = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs + /// { + /// Value = "cn-hangzhou", + /// Key = "x_mcp_region_id", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs + /// { + /// Value = "B1", + /// Key = "a1", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs + /// { + /// Value = "b2", + /// Key = "a2", + /// }, + /// }, + /// ApiOverrideJson = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["summary"] = "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ", + /// }), + /// Product = "Ecs", + /// ExecuteCliCommand = false, + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs + /// { + /// ApiVersion = "2014-05-26", + /// EnableOutputSchema = true, + /// ApiName = "DescribeRegions", + /// Product = "Ecs", + /// ExecuteCliCommand = true, + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs + /// { + /// ApiVersion = "2014-05-26", + /// EnableOutputSchema = true, + /// ApiName = "DescribeZones", + /// Product = "Ecs", + /// ExecuteCliCommand = true, + /// }, + /// }, + /// VpcWhitelists = new[] + /// { + /// "vpc-examplea", + /// "vpc-exampleb", + /// "vpc-examplec", + /// }, + /// Name = "my-name", + /// Language = "ZH_CN", + /// EnableAssumeRole = true, + /// AssumeRoleExtraPolicy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Version"] = "1", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["Effect"] = "Allow", + /// ["Action"] = new[] + /// { + /// "ecs:Describe*", + /// "vpc:Describe*", + /// "vpc:List*", + /// }, + /// ["Resource"] = "*", + /// }, + /// }, + /// }), + /// TerraformTools = new[] + /// { + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs + /// { + /// Description = "Terraform as tool example", + /// Async = true, + /// DestroyPolicy = "NEVER", + /// Code = @"variable \""name\"" { + /// default = \""terraform-example\"" + /// } + /// + /// provider \""alicloud\"" { + /// region = \""cn-beijing\"" + /// } + /// + /// resource \""alicloud_vpc\"" \""default\"" { + /// ipv6_isp = \""BGP\"" + /// description = \""example\"" + /// cidr_block = \""10.0.0.0/8\"" + /// vpc_name = var.name + /// enable_ipv6 = true + /// } + /// ", + /// Name = "tfexample", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs + /// { + /// Description = "Terraform as tool example", + /// Async = true, + /// DestroyPolicy = "NEVER", + /// Code = @"variable \""name\"" { + /// default = \""terraform-example\"" + /// } + /// + /// provider \""alicloud\"" { + /// region = \""cn-beijing\"" + /// } + /// + /// resource \""alicloud_vpc\"" \""default\"" { + /// ipv6_isp = \""BGP\"" + /// description = \""example\"" + /// cidr_block = \""10.0.0.0/8\"" + /// vpc_name = var.name + /// enable_ipv6 = true + /// } + /// ", + /// Name = "tfexample2", + /// }, + /// new AliCloud.Inputs.OpenApiExplorerApiMcpServerTerraformToolArgs + /// { + /// Description = "Terraform as tool example", + /// Async = true, + /// DestroyPolicy = "NEVER", + /// Code = @"variable \""name\"" { + /// default = \""terraform-example\"" + /// } + /// + /// provider \""alicloud\"" { + /// region = \""cn-beijing\"" + /// } + /// + /// resource \""alicloud_vpc\"" \""default\"" { + /// ipv6_isp = \""BGP\"" + /// description = \""example\"" + /// cidr_block = \""10.0.0.0/8\"" + /// vpc_name = var.name + /// enable_ipv6 = true + /// } + /// ", + /// Name = "tfexample3", + /// }, + /// }, + /// AssumeRoleName = "default-role", + /// PublicAccess = "on", + /// EnableCustomVpcWhitelist = true, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Open Api Explorer Api Mcp Server can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example <id> + /// ``` + /// + [AliCloudResourceType("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer")] + public partial class OpenApiExplorerApiMcpServer : global::Pulumi.CustomResource + { + /// + /// Additional OpenAPI description information that can override the default behavior of APIs, including: + /// - API name + /// - Modification or removal of API parameter names + /// - Whether to exclude the API from the output API response structure definition + /// - Whether to return a CLI execution command instead of directly executing the API + /// - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `AdditionalApiDescriptions` below. + /// + [Output("additionalApiDescriptions")] + public Output> AdditionalApiDescriptions { get; private set; } = null!; + + /// + /// The list of APIs to be included in the API MCP Server. See `Apis` below. + /// + [Output("apis")] + public Output> Apis { get; private set; } = null!; + + /// + /// When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + /// + [Output("assumeRoleExtraPolicy")] + public Output AssumeRoleExtraPolicy { get; private set; } = null!; + + /// + /// The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + /// + [Output("assumeRoleName")] + public Output AssumeRoleName { get; private set; } = null!; + + /// + /// MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Description of the API MCP service. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the XAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + /// + [Output("enableAssumeRole")] + public Output EnableAssumeRole { get; private set; } = null!; + + /// + /// Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + /// + [Output("enableCustomVpcWhitelist")] + public Output EnableCustomVpcWhitelist { get; private set; } = null!; + + /// + /// MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + /// + [Output("instructions")] + public Output Instructions { get; private set; } = null!; + + /// + /// Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + /// + [Output("language")] + public Output Language { get; private set; } = null!; + + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The custom OAuth Client ID when selecting a custom OAuth configuration. + /// `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + /// + [Output("oauthClientId")] + public Output OauthClientId { get; private set; } = null!; + + /// + /// List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `Prompts` below. + /// + [Output("prompts")] + public Output> Prompts { get; private set; } = null!; + + /// + /// Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + /// - on: enables public network access; + /// - off: disables public network access; + /// - follow: inherits the account-level configuration. + /// + [Output("publicAccess")] + public Output PublicAccess { get; private set; } = null!; + + /// + /// Enabled system services. + /// + [Output("systemTools")] + public Output> SystemTools { get; private set; } = null!; + + [Output("terraformTools")] + public Output> TerraformTools { get; private set; } = null!; + + /// + /// When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + /// + [Output("vpcWhitelists")] + public Output> VpcWhitelists { get; private set; } = null!; + + + /// + /// Create a OpenApiExplorerApiMcpServer 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 OpenApiExplorerApiMcpServer(string name, OpenApiExplorerApiMcpServerArgs args, CustomResourceOptions? options = null) + : base("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, args ?? new OpenApiExplorerApiMcpServerArgs(), MakeResourceOptions(options, "")) + { + } + + private OpenApiExplorerApiMcpServer(string name, Input id, OpenApiExplorerApiMcpServerState? state = null, CustomResourceOptions? options = null) + : base("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 OpenApiExplorerApiMcpServer 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 OpenApiExplorerApiMcpServer Get(string name, Input id, OpenApiExplorerApiMcpServerState? state = null, CustomResourceOptions? options = null) + { + return new OpenApiExplorerApiMcpServer(name, id, state, options); + } + } + + public sealed class OpenApiExplorerApiMcpServerArgs : global::Pulumi.ResourceArgs + { + [Input("additionalApiDescriptions")] + private InputList? _additionalApiDescriptions; + + /// + /// Additional OpenAPI description information that can override the default behavior of APIs, including: + /// - API name + /// - Modification or removal of API parameter names + /// - Whether to exclude the API from the output API response structure definition + /// - Whether to return a CLI execution command instead of directly executing the API + /// - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `AdditionalApiDescriptions` below. + /// + public InputList AdditionalApiDescriptions + { + get => _additionalApiDescriptions ?? (_additionalApiDescriptions = new InputList()); + set => _additionalApiDescriptions = value; + } + + [Input("apis", required: true)] + private InputList? _apis; + + /// + /// The list of APIs to be included in the API MCP Server. See `Apis` below. + /// + public InputList Apis + { + get => _apis ?? (_apis = new InputList()); + set => _apis = value; + } + + /// + /// When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + /// + [Input("assumeRoleExtraPolicy")] + public Input? AssumeRoleExtraPolicy { get; set; } + + /// + /// The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + /// + [Input("assumeRoleName")] + public Input? AssumeRoleName { get; set; } + + /// + /// Description of the API MCP service. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the XAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + /// + [Input("enableAssumeRole")] + public Input? EnableAssumeRole { get; set; } + + /// + /// Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + /// + [Input("enableCustomVpcWhitelist")] + public Input? EnableCustomVpcWhitelist { get; set; } + + /// + /// MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + /// + [Input("instructions")] + public Input? Instructions { get; set; } + + /// + /// Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + /// + [Input("language")] + public Input? Language { get; set; } + + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The custom OAuth Client ID when selecting a custom OAuth configuration. + /// `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + /// + [Input("oauthClientId")] + public Input? OauthClientId { get; set; } + + [Input("prompts")] + private InputList? _prompts; + + /// + /// List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `Prompts` below. + /// + public InputList Prompts + { + get => _prompts ?? (_prompts = new InputList()); + set => _prompts = value; + } + + /// + /// Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + /// - on: enables public network access; + /// - off: disables public network access; + /// - follow: inherits the account-level configuration. + /// + [Input("publicAccess")] + public Input? PublicAccess { get; set; } + + [Input("systemTools")] + private InputList? _systemTools; + + /// + /// Enabled system services. + /// + public InputList SystemTools + { + get => _systemTools ?? (_systemTools = new InputList()); + set => _systemTools = value; + } + + [Input("terraformTools")] + private InputList? _terraformTools; + public InputList TerraformTools + { + get => _terraformTools ?? (_terraformTools = new InputList()); + set => _terraformTools = value; + } + + [Input("vpcWhitelists")] + private InputList? _vpcWhitelists; + + /// + /// When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + /// + public InputList VpcWhitelists + { + get => _vpcWhitelists ?? (_vpcWhitelists = new InputList()); + set => _vpcWhitelists = value; + } + + public OpenApiExplorerApiMcpServerArgs() + { + } + public static new OpenApiExplorerApiMcpServerArgs Empty => new OpenApiExplorerApiMcpServerArgs(); + } + + public sealed class OpenApiExplorerApiMcpServerState : global::Pulumi.ResourceArgs + { + [Input("additionalApiDescriptions")] + private InputList? _additionalApiDescriptions; + + /// + /// Additional OpenAPI description information that can override the default behavior of APIs, including: + /// - API name + /// - Modification or removal of API parameter names + /// - Whether to exclude the API from the output API response structure definition + /// - Whether to return a CLI execution command instead of directly executing the API + /// - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `AdditionalApiDescriptions` below. + /// + public InputList AdditionalApiDescriptions + { + get => _additionalApiDescriptions ?? (_additionalApiDescriptions = new InputList()); + set => _additionalApiDescriptions = value; + } + + [Input("apis")] + private InputList? _apis; + + /// + /// The list of APIs to be included in the API MCP Server. See `Apis` below. + /// + public InputList Apis + { + get => _apis ?? (_apis = new InputList()); + set => _apis = value; + } + + /// + /// When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + /// + [Input("assumeRoleExtraPolicy")] + public Input? AssumeRoleExtraPolicy { get; set; } + + /// + /// The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + /// + [Input("assumeRoleName")] + public Input? AssumeRoleName { get; set; } + + /// + /// MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Description of the API MCP service. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the XAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + /// + [Input("enableAssumeRole")] + public Input? EnableAssumeRole { get; set; } + + /// + /// Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + /// + [Input("enableCustomVpcWhitelist")] + public Input? EnableCustomVpcWhitelist { get; set; } + + /// + /// MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + /// + [Input("instructions")] + public Input? Instructions { get; set; } + + /// + /// Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + /// + [Input("language")] + public Input? Language { get; set; } + + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The custom OAuth Client ID when selecting a custom OAuth configuration. + /// `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + /// + [Input("oauthClientId")] + public Input? OauthClientId { get; set; } + + [Input("prompts")] + private InputList? _prompts; + + /// + /// List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `Prompts` below. + /// + public InputList Prompts + { + get => _prompts ?? (_prompts = new InputList()); + set => _prompts = value; + } + + /// + /// Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + /// - on: enables public network access; + /// - off: disables public network access; + /// - follow: inherits the account-level configuration. + /// + [Input("publicAccess")] + public Input? PublicAccess { get; set; } + + [Input("systemTools")] + private InputList? _systemTools; + + /// + /// Enabled system services. + /// + public InputList SystemTools + { + get => _systemTools ?? (_systemTools = new InputList()); + set => _systemTools = value; + } + + [Input("terraformTools")] + private InputList? _terraformTools; + public InputList TerraformTools + { + get => _terraformTools ?? (_terraformTools = new InputList()); + set => _terraformTools = value; + } + + [Input("vpcWhitelists")] + private InputList? _vpcWhitelists; + + /// + /// When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + /// + public InputList VpcWhitelists + { + get => _vpcWhitelists ?? (_vpcWhitelists = new InputList()); + set => _vpcWhitelists = value; + } + + public OpenApiExplorerApiMcpServerState() + { + } + public static new OpenApiExplorerApiMcpServerState Empty => new OpenApiExplorerApiMcpServerState(); + } +} diff --git a/sdk/dotnet/OpenSearch/AppGroup.cs b/sdk/dotnet/OpenSearch/AppGroup.cs index 87b77eb1ba..d9296d9099 100644 --- a/sdk/dotnet/OpenSearch/AppGroup.cs +++ b/sdk/dotnet/OpenSearch/AppGroup.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.OpenSearch /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Open Search App Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/AccessPoint.cs b/sdk/dotnet/Oss/AccessPoint.cs index 06d9a464c1..0c53f97a10 100644 --- a/sdk/dotnet/Oss/AccessPoint.cs +++ b/sdk/dotnet/Oss/AccessPoint.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Access Point can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/AccountPublicAccessBlock.cs b/sdk/dotnet/Oss/AccountPublicAccessBlock.cs index cce5919686..573a9b927d 100644 --- a/sdk/dotnet/Oss/AccountPublicAccessBlock.cs +++ b/sdk/dotnet/Oss/AccountPublicAccessBlock.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Account Public Access Block can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/Bucket.cs b/sdk/dotnet/Oss/Bucket.cs index 7d0151d8c0..c1c0f2bfdd 100644 --- a/sdk/dotnet/Oss/Bucket.cs +++ b/sdk/dotnet/Oss/Bucket.cs @@ -726,6 +726,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS bucket can be imported using the bucket name, e.g. diff --git a/sdk/dotnet/Oss/BucketCname.cs b/sdk/dotnet/Oss/BucketCname.cs index bb7fbbef5c..e03578c135 100644 --- a/sdk/dotnet/Oss/BucketCname.cs +++ b/sdk/dotnet/Oss/BucketCname.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Cname can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketCors.cs b/sdk/dotnet/Oss/BucketCors.cs index a3db33e2ec..3c10f199aa 100644 --- a/sdk/dotnet/Oss/BucketCors.cs +++ b/sdk/dotnet/Oss/BucketCors.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Cors can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketDataRedundancyTransition.cs b/sdk/dotnet/Oss/BucketDataRedundancyTransition.cs index f5b7f3b926..9e3815f6e7 100644 --- a/sdk/dotnet/Oss/BucketDataRedundancyTransition.cs +++ b/sdk/dotnet/Oss/BucketDataRedundancyTransition.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Data Redundancy Transition can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketHttpsConfig.cs b/sdk/dotnet/Oss/BucketHttpsConfig.cs index 8e6389fa61..d7d16d2664 100644 --- a/sdk/dotnet/Oss/BucketHttpsConfig.cs +++ b/sdk/dotnet/Oss/BucketHttpsConfig.cs @@ -22,11 +22,17 @@ namespace Pulumi.AliCloud.Oss public partial class BucketHttpsConfig : global::Pulumi.CustomResource { /// - /// The name of the bucket. + /// The name of the bucket /// [Output("bucket")] public Output Bucket { get; private set; } = null!; + /// + /// TLS encryption algorithm suite configuration See `CipherSuit` below. + /// + [Output("cipherSuit")] + public Output CipherSuit { get; private set; } = null!; + /// /// Specifies whether to enable TLS version management for the bucket. Valid values: true, false. /// @@ -86,11 +92,17 @@ public static BucketHttpsConfig Get(string name, Input id, BucketHttpsCo public sealed class BucketHttpsConfigArgs : global::Pulumi.ResourceArgs { /// - /// The name of the bucket. + /// The name of the bucket /// [Input("bucket", required: true)] public Input Bucket { get; set; } = null!; + /// + /// TLS encryption algorithm suite configuration See `CipherSuit` below. + /// + [Input("cipherSuit")] + public Input? CipherSuit { get; set; } + /// /// Specifies whether to enable TLS version management for the bucket. Valid values: true, false. /// @@ -118,11 +130,17 @@ public BucketHttpsConfigArgs() public sealed class BucketHttpsConfigState : global::Pulumi.ResourceArgs { /// - /// The name of the bucket. + /// The name of the bucket /// [Input("bucket")] public Input? Bucket { get; set; } + /// + /// TLS encryption algorithm suite configuration See `CipherSuit` below. + /// + [Input("cipherSuit")] + public Input? CipherSuit { get; set; } + /// /// Specifies whether to enable TLS version management for the bucket. Valid values: true, false. /// diff --git a/sdk/dotnet/Oss/BucketLogging.cs b/sdk/dotnet/Oss/BucketLogging.cs index 7646774449..49753a8f66 100644 --- a/sdk/dotnet/Oss/BucketLogging.cs +++ b/sdk/dotnet/Oss/BucketLogging.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Logging can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketMetaQuery.cs b/sdk/dotnet/Oss/BucketMetaQuery.cs index f959c59afe..98cfe9388a 100644 --- a/sdk/dotnet/Oss/BucketMetaQuery.cs +++ b/sdk/dotnet/Oss/BucketMetaQuery.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Meta Query can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketObject.cs b/sdk/dotnet/Oss/BucketObject.cs index c1994338a3..347c1d9451 100644 --- a/sdk/dotnet/Oss/BucketObject.cs +++ b/sdk/dotnet/Oss/BucketObject.cs @@ -89,6 +89,8 @@ namespace Pulumi.AliCloud.Oss /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:oss/bucketObject:BucketObject")] public partial class BucketObject : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Oss/BucketPolicy.cs b/sdk/dotnet/Oss/BucketPolicy.cs index e5b2d42355..b8e9eb725b 100644 --- a/sdk/dotnet/Oss/BucketPolicy.cs +++ b/sdk/dotnet/Oss/BucketPolicy.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketPublicAccessBlock.cs b/sdk/dotnet/Oss/BucketPublicAccessBlock.cs index 21ff346b42..bb4a44348f 100644 --- a/sdk/dotnet/Oss/BucketPublicAccessBlock.cs +++ b/sdk/dotnet/Oss/BucketPublicAccessBlock.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Public Access Block can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketReferer.cs b/sdk/dotnet/Oss/BucketReferer.cs index a1f19832d1..6bbc958f6b 100644 --- a/sdk/dotnet/Oss/BucketReferer.cs +++ b/sdk/dotnet/Oss/BucketReferer.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Referer can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketReplication.cs b/sdk/dotnet/Oss/BucketReplication.cs index 1c0047bcf9..e67f751036 100644 --- a/sdk/dotnet/Oss/BucketReplication.cs +++ b/sdk/dotnet/Oss/BucketReplication.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Oss Bucket Replication can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketServerSideEncryption.cs b/sdk/dotnet/Oss/BucketServerSideEncryption.cs index 3f7e32cde1..ff0be07071 100644 --- a/sdk/dotnet/Oss/BucketServerSideEncryption.cs +++ b/sdk/dotnet/Oss/BucketServerSideEncryption.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Server Side Encryption can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketStyle.cs b/sdk/dotnet/Oss/BucketStyle.cs index bfc58eb329..5d29d0dd72 100644 --- a/sdk/dotnet/Oss/BucketStyle.cs +++ b/sdk/dotnet/Oss/BucketStyle.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Style can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketUserDefinedLogFields.cs b/sdk/dotnet/Oss/BucketUserDefinedLogFields.cs index c8bc5a4cd7..6d028d1b82 100644 --- a/sdk/dotnet/Oss/BucketUserDefinedLogFields.cs +++ b/sdk/dotnet/Oss/BucketUserDefinedLogFields.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket User Defined Log Fields can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/BucketWebsite.cs b/sdk/dotnet/Oss/BucketWebsite.cs index 520015398e..95268f3e51 100644 --- a/sdk/dotnet/Oss/BucketWebsite.cs +++ b/sdk/dotnet/Oss/BucketWebsite.cs @@ -85,6 +85,8 @@ namespace Pulumi.AliCloud.Oss /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OSS Bucket Website can be imported using the id, e.g. diff --git a/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitArgs.cs b/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitArgs.cs new file mode 100644 index 0000000000..d4547c65f3 --- /dev/null +++ b/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitArgs.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Oss.Inputs +{ + + public sealed class BucketHttpsConfigCipherSuitArgs : global::Pulumi.ResourceArgs + { + [Input("customCipherSuites")] + private InputList? _customCipherSuites; + + /// + /// This field is used to configure custom encryption algorithm suites for TLS 1.2. + /// + public InputList CustomCipherSuites + { + get => _customCipherSuites ?? (_customCipherSuites = new InputList()); + set => _customCipherSuites = value; + } + + /// + /// Configures TLS encryption algorithm suites. Valid values: + /// true: strong encryption algorithm suites or custom encryption algorithm suites. + /// false: all encryption algorithm suites (default). + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// Specifies whether to use strong encryption algorithm suites. Valid values: + /// true: uses strong encryption algorithm suites. + /// false: uses custom encryption algorithm suites. + /// + [Input("strongCipherSuite")] + public Input? StrongCipherSuite { get; set; } + + [Input("tls13CustomCipherSuites")] + private InputList? _tls13CustomCipherSuites; + + /// + /// Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + /// + public InputList Tls13CustomCipherSuites + { + get => _tls13CustomCipherSuites ?? (_tls13CustomCipherSuites = new InputList()); + set => _tls13CustomCipherSuites = value; + } + + public BucketHttpsConfigCipherSuitArgs() + { + } + public static new BucketHttpsConfigCipherSuitArgs Empty => new BucketHttpsConfigCipherSuitArgs(); + } +} diff --git a/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitGetArgs.cs b/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitGetArgs.cs new file mode 100644 index 0000000000..88291d729a --- /dev/null +++ b/sdk/dotnet/Oss/Inputs/BucketHttpsConfigCipherSuitGetArgs.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Oss.Inputs +{ + + public sealed class BucketHttpsConfigCipherSuitGetArgs : global::Pulumi.ResourceArgs + { + [Input("customCipherSuites")] + private InputList? _customCipherSuites; + + /// + /// This field is used to configure custom encryption algorithm suites for TLS 1.2. + /// + public InputList CustomCipherSuites + { + get => _customCipherSuites ?? (_customCipherSuites = new InputList()); + set => _customCipherSuites = value; + } + + /// + /// Configures TLS encryption algorithm suites. Valid values: + /// true: strong encryption algorithm suites or custom encryption algorithm suites. + /// false: all encryption algorithm suites (default). + /// + [Input("enable")] + public Input? Enable { get; set; } + + /// + /// Specifies whether to use strong encryption algorithm suites. Valid values: + /// true: uses strong encryption algorithm suites. + /// false: uses custom encryption algorithm suites. + /// + [Input("strongCipherSuite")] + public Input? StrongCipherSuite { get; set; } + + [Input("tls13CustomCipherSuites")] + private InputList? _tls13CustomCipherSuites; + + /// + /// Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + /// + public InputList Tls13CustomCipherSuites + { + get => _tls13CustomCipherSuites ?? (_tls13CustomCipherSuites = new InputList()); + set => _tls13CustomCipherSuites = value; + } + + public BucketHttpsConfigCipherSuitGetArgs() + { + } + public static new BucketHttpsConfigCipherSuitGetArgs Empty => new BucketHttpsConfigCipherSuitGetArgs(); + } +} diff --git a/sdk/dotnet/Oss/Outputs/BucketHttpsConfigCipherSuit.cs b/sdk/dotnet/Oss/Outputs/BucketHttpsConfigCipherSuit.cs new file mode 100644 index 0000000000..cfa0e48aab --- /dev/null +++ b/sdk/dotnet/Oss/Outputs/BucketHttpsConfigCipherSuit.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Oss.Outputs +{ + + [OutputType] + public sealed class BucketHttpsConfigCipherSuit + { + /// + /// This field is used to configure custom encryption algorithm suites for TLS 1.2. + /// + public readonly ImmutableArray CustomCipherSuites; + /// + /// Configures TLS encryption algorithm suites. Valid values: + /// true: strong encryption algorithm suites or custom encryption algorithm suites. + /// false: all encryption algorithm suites (default). + /// + public readonly bool? Enable; + /// + /// Specifies whether to use strong encryption algorithm suites. Valid values: + /// true: uses strong encryption algorithm suites. + /// false: uses custom encryption algorithm suites. + /// + public readonly bool? StrongCipherSuite; + /// + /// Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + /// + public readonly ImmutableArray Tls13CustomCipherSuites; + + [OutputConstructor] + private BucketHttpsConfigCipherSuit( + ImmutableArray customCipherSuites, + + bool? enable, + + bool? strongCipherSuite, + + ImmutableArray tls13CustomCipherSuites) + { + CustomCipherSuites = customCipherSuites; + Enable = enable; + StrongCipherSuite = strongCipherSuite; + Tls13CustomCipherSuites = tls13CustomCipherSuites; + } + } +} diff --git a/sdk/dotnet/Ots/Instance.cs b/sdk/dotnet/Ots/Instance.cs index 7eb50a2c85..ad7c709c78 100644 --- a/sdk/dotnet/Ots/Instance.cs +++ b/sdk/dotnet/Ots/Instance.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ots /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OTS instance can be imported using instance id or name, e.g. diff --git a/sdk/dotnet/Ots/InstanceAttachment.cs b/sdk/dotnet/Ots/InstanceAttachment.cs index 5374ca39ff..d060fb9f63 100644 --- a/sdk/dotnet/Ots/InstanceAttachment.cs +++ b/sdk/dotnet/Ots/InstanceAttachment.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.Ots /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ots/instanceAttachment:InstanceAttachment")] public partial class InstanceAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ots/SearchIndex.cs b/sdk/dotnet/Ots/SearchIndex.cs index 7a41a7d379..6faf29c283 100644 --- a/sdk/dotnet/Ots/SearchIndex.cs +++ b/sdk/dotnet/Ots/SearchIndex.cs @@ -152,6 +152,8 @@ namespace Pulumi.AliCloud.Ots /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OTS search index can be imported using id, e.g. diff --git a/sdk/dotnet/Ots/SecondaryIndex.cs b/sdk/dotnet/Ots/SecondaryIndex.cs index 97c9488245..1b2bed788e 100644 --- a/sdk/dotnet/Ots/SecondaryIndex.cs +++ b/sdk/dotnet/Ots/SecondaryIndex.cs @@ -117,6 +117,8 @@ namespace Pulumi.AliCloud.Ots /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OTS secondary index can be imported using id, e.g. diff --git a/sdk/dotnet/Ots/Table.cs b/sdk/dotnet/Ots/Table.cs index cf77dbd68c..efdd288347 100644 --- a/sdk/dotnet/Ots/Table.cs +++ b/sdk/dotnet/Ots/Table.cs @@ -97,6 +97,8 @@ namespace Pulumi.AliCloud.Ots /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OTS table can be imported using id, e.g. diff --git a/sdk/dotnet/Ots/Tunnel.cs b/sdk/dotnet/Ots/Tunnel.cs index 91ad9acd51..cc5772f47e 100644 --- a/sdk/dotnet/Ots/Tunnel.cs +++ b/sdk/dotnet/Ots/Tunnel.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.Ots /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// OTS tunnel can be imported using id, e.g. diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.cs new file mode 100644 index 0000000000..ee0401c818 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescription + { + /// + /// The API name, such as ListApiMcpServers. + /// + public readonly string? ApiName; + /// + /// API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + /// + /// > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + /// + public readonly string? ApiOverrideJson; + /// + /// API version information, typically in date format, such as 2014-05-26. + /// + public readonly string? ApiVersion; + /// + /// Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + /// Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `ConstParameters` below. + /// + public readonly ImmutableArray ConstParameters; + /// + /// By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + /// + /// > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + /// + public readonly bool? EnableOutputSchema; + /// + /// Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + /// - SSE protocol: up to 30 minutes + /// - Streamable HTTP protocol: up to 1 minute + /// + /// For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + /// + /// > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + /// + public readonly bool? ExecuteCliCommand; + /// + /// The name of the cloud product, such as Ecs. + /// + public readonly string? Product; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerAdditionalApiDescription( + string? apiName, + + string? apiOverrideJson, + + string? apiVersion, + + ImmutableArray constParameters, + + bool? enableOutputSchema, + + bool? executeCliCommand, + + string? product) + { + ApiName = apiName; + ApiOverrideJson = apiOverrideJson; + ApiVersion = apiVersion; + ConstParameters = constParameters; + EnableOutputSchema = enableOutputSchema; + ExecuteCliCommand = executeCliCommand; + Product = product; + } + } +} diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.cs new file mode 100644 index 0000000000..17b8274e93 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.cs @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter + { + /// + /// Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + /// + /// For RPC-style APIs, examples include: + /// - Name: sets the Name parameter to a fixed value. + /// + /// For ROA-style APIs, examples include: + /// - Name: sets a query or path parameter named Name to a fixed value; + /// - body.Name: sets the Name field within the request body to a fixed value. + /// + /// Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + /// + /// > **NOTE:** XMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + /// + public readonly string? Key; + /// + /// This property does not have a description in the spec, please add it before generating code. + /// + public readonly string? Value; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter( + string? key, + + string? value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerApi.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerApi.cs new file mode 100644 index 0000000000..a7ba81a0e7 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerApi.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerApi + { + /// + /// API version information, typically in date format—for example, the version for ECS is 2014-05-26. + /// + public readonly string ApiVersion; + /// + /// Product code, such as Ecs. + /// + public readonly string Product; + /// + /// Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + /// + public readonly ImmutableArray Selectors; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerApi( + string apiVersion, + + string product, + + ImmutableArray selectors) + { + ApiVersion = apiVersion; + Product = product; + Selectors = selectors; + } + } +} diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPrompt.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPrompt.cs new file mode 100644 index 0000000000..a364c1df39 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPrompt.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerPrompt + { + /// + /// Parameters for the prompt. See `Arguments` below. + /// + public readonly ImmutableArray Arguments; + /// + /// Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + /// + public readonly string? Content; + /// + /// Description of the prompt parameter. + /// + public readonly string? Description; + /// + /// Name of the prompt parameter. + /// + public readonly string? Name; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerPrompt( + ImmutableArray arguments, + + string? content, + + string? description, + + string? name) + { + Arguments = arguments; + Content = content; + Description = description; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPromptArgument.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPromptArgument.cs new file mode 100644 index 0000000000..fce6805e14 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerPromptArgument.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerPromptArgument + { + /// + /// Description of the API MCP service. + /// + public readonly string? Description; + /// + /// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + /// + public readonly string? Name; + /// + /// Indicates whether the prompt parameter is required. + /// + public readonly bool? Required; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerPromptArgument( + string? description, + + string? name, + + bool? required) + { + Description = description; + Name = name; + Required = required; + } + } +} diff --git a/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerTerraformTool.cs b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerTerraformTool.cs new file mode 100644 index 0000000000..1b12fbad69 --- /dev/null +++ b/sdk/dotnet/Outputs/OpenApiExplorerApiMcpServerTerraformTool.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Outputs +{ + + [OutputType] + public sealed class OpenApiExplorerApiMcpServerTerraformTool + { + /// + /// Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + /// + public readonly bool? Async; + public readonly string? Code; + public readonly string? Description; + /// + /// The cleanup policy applied to temporary resources after task completion, based on the task execution status: + /// - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + /// - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + /// - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + /// + public readonly string? DestroyPolicy; + public readonly string? Name; + + [OutputConstructor] + private OpenApiExplorerApiMcpServerTerraformTool( + bool? async, + + string? code, + + string? description, + + string? destroyPolicy, + + string? name) + { + Async = async; + Code = code; + Description = description; + DestroyPolicy = destroyPolicy; + Name = name; + } + } +} diff --git a/sdk/dotnet/Pai/FlowPipeline.cs b/sdk/dotnet/Pai/FlowPipeline.cs index c4c962f9c3..b272fe58f8 100644 --- a/sdk/dotnet/Pai/FlowPipeline.cs +++ b/sdk/dotnet/Pai/FlowPipeline.cs @@ -150,6 +150,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Pai Flow Pipeline can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/Service.cs b/sdk/dotnet/Pai/Service.cs index 03ca1eaaca..d25c1cd43a 100644 --- a/sdk/dotnet/Pai/Service.cs +++ b/sdk/dotnet/Pai/Service.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Service can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceCodeSource.cs b/sdk/dotnet/Pai/WorkspaceCodeSource.cs index 28829310f0..d4e3b16668 100644 --- a/sdk/dotnet/Pai/WorkspaceCodeSource.cs +++ b/sdk/dotnet/Pai/WorkspaceCodeSource.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Code Source can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceDataset.cs b/sdk/dotnet/Pai/WorkspaceDataset.cs index 2fc8ffb5a0..a6b6837b14 100644 --- a/sdk/dotnet/Pai/WorkspaceDataset.cs +++ b/sdk/dotnet/Pai/WorkspaceDataset.cs @@ -64,6 +64,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Dataset can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceDatasetversion.cs b/sdk/dotnet/Pai/WorkspaceDatasetversion.cs index 541b849c8f..09d4af969d 100644 --- a/sdk/dotnet/Pai/WorkspaceDatasetversion.cs +++ b/sdk/dotnet/Pai/WorkspaceDatasetversion.cs @@ -96,6 +96,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Datasetversion can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceExperiment.cs b/sdk/dotnet/Pai/WorkspaceExperiment.cs index 33562ca2fc..46678f0bbf 100644 --- a/sdk/dotnet/Pai/WorkspaceExperiment.cs +++ b/sdk/dotnet/Pai/WorkspaceExperiment.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Experiment can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceMember.cs b/sdk/dotnet/Pai/WorkspaceMember.cs index 1582bce322..a414a8c4d2 100644 --- a/sdk/dotnet/Pai/WorkspaceMember.cs +++ b/sdk/dotnet/Pai/WorkspaceMember.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Member can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceModel.cs b/sdk/dotnet/Pai/WorkspaceModel.cs index aab3a00a89..abd3da88ac 100644 --- a/sdk/dotnet/Pai/WorkspaceModel.cs +++ b/sdk/dotnet/Pai/WorkspaceModel.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Model can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceModelVersion.cs b/sdk/dotnet/Pai/WorkspaceModelVersion.cs index fc7a33d146..5f60abe732 100644 --- a/sdk/dotnet/Pai/WorkspaceModelVersion.cs +++ b/sdk/dotnet/Pai/WorkspaceModelVersion.cs @@ -111,6 +111,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Model Version can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceRun.cs b/sdk/dotnet/Pai/WorkspaceRun.cs index 60724cea5f..0a21c1e724 100644 --- a/sdk/dotnet/Pai/WorkspaceRun.cs +++ b/sdk/dotnet/Pai/WorkspaceRun.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Run can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceUserConfig.cs b/sdk/dotnet/Pai/WorkspaceUserConfig.cs index 809bae3c7a..7ccc57229d 100644 --- a/sdk/dotnet/Pai/WorkspaceUserConfig.cs +++ b/sdk/dotnet/Pai/WorkspaceUserConfig.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace User Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Pai/WorkspaceWorkspace.cs b/sdk/dotnet/Pai/WorkspaceWorkspace.cs index 9c407e5d7b..53c06664b8 100644 --- a/sdk/dotnet/Pai/WorkspaceWorkspace.cs +++ b/sdk/dotnet/Pai/WorkspaceWorkspace.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Pai /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PAI Workspace Workspace can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/Account.cs b/sdk/dotnet/PolarDB/Account.cs index 13d3f76bf8..c0f4c755e0 100644 --- a/sdk/dotnet/PolarDB/Account.cs +++ b/sdk/dotnet/PolarDB/Account.cs @@ -10,7 +10,11 @@ namespace Pulumi.AliCloud.PolarDB { /// - /// Provides a PolarDB account resource and used to manage databases. + /// Provides a Polar Db Account resource. + /// + /// Database account information. + /// + /// For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). /// /// > **NOTE:** Available since v1.67.0. /// @@ -67,43 +71,66 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// PolarDB account can be imported using the id, e.g. + /// Polar Db Account can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" + /// $ pulumi import alicloud:polardb/account:Account example <db_cluster_id>:<account_name> /// ``` /// [AliCloudResourceType("alicloud:polardb/account:Account")] public partial class Account : global::Pulumi.CustomResource { /// - /// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + /// The description of the database account. /// [Output("accountDescription")] public Output AccountDescription { get; private set; } = null!; /// - /// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + /// The lock status of the account. Valid values: + /// - `UnLock`: The account is not locked. + /// - `Lock`: The account is locked. + /// + [Output("accountLockState")] + public Output AccountLockState { get; private set; } = null!; + + /// + /// The account name. Must meet the following requirements: + /// - Start with a lowercase letter and end with a letter or number. + /// - Consists of lowercase letters, numbers, or underscores. + /// - The length is 2 to 16 characters. + /// - You cannot use some reserved usernames, such as root and admin. /// [Output("accountName")] public Output AccountName { get; private set; } = null!; /// - /// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + /// The account password. You have to specify one of `AccountPassword` and `KmsEncryptedPassword` fields. Must meet the following requirements: + /// - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + /// - Be 8 to 32 characters in length. + /// - Special characters include !@#$%^&*()_+-=. /// [Output("accountPassword")] - public Output AccountPassword { get; private set; } = null!; + public Output AccountPassword { get; private set; } = null!; + + /// + /// The time when the password for the database account expires. + /// + [Output("accountPasswordValidTime")] + public Output AccountPasswordValidTime { get; private set; } = null!; /// - /// Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + /// The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. /// [Output("accountType")] - public Output AccountType { get; private set; } = null!; + public Output AccountType { get; private set; } = null!; /// - /// The Id of cluster in which account belongs. + /// The cluster ID. /// [Output("dbClusterId")] public Output DbClusterId { get; private set; } = null!; @@ -120,6 +147,12 @@ public partial class Account : global::Pulumi.CustomResource [Output("kmsEncryptionContext")] public Output?> KmsEncryptionContext { get; private set; } = null!; + /// + /// (Available since v1.265.0) The status of the database account. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + /// /// Create a Account resource with the given unique name, arguments, and options. @@ -171,22 +204,37 @@ public static Account Get(string name, Input id, AccountState? state = n public sealed class AccountArgs : global::Pulumi.ResourceArgs { /// - /// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + /// The description of the database account. /// [Input("accountDescription")] public Input? AccountDescription { get; set; } /// - /// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + /// The lock status of the account. Valid values: + /// - `UnLock`: The account is not locked. + /// - `Lock`: The account is locked. + /// + [Input("accountLockState")] + public Input? AccountLockState { get; set; } + + /// + /// The account name. Must meet the following requirements: + /// - Start with a lowercase letter and end with a letter or number. + /// - Consists of lowercase letters, numbers, or underscores. + /// - The length is 2 to 16 characters. + /// - You cannot use some reserved usernames, such as root and admin. /// [Input("accountName", required: true)] public Input AccountName { get; set; } = null!; - [Input("accountPassword", required: true)] + [Input("accountPassword")] private Input? _accountPassword; /// - /// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + /// The account password. You have to specify one of `AccountPassword` and `KmsEncryptedPassword` fields. Must meet the following requirements: + /// - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + /// - Be 8 to 32 characters in length. + /// - Special characters include !@#$%^&*()_+-=. /// public Input? AccountPassword { @@ -199,13 +247,19 @@ public Input? AccountPassword } /// - /// Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + /// The time when the password for the database account expires. + /// + [Input("accountPasswordValidTime")] + public Input? AccountPasswordValidTime { get; set; } + + /// + /// The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. /// [Input("accountType")] public Input? AccountType { get; set; } /// - /// The Id of cluster in which account belongs. + /// The cluster ID. /// [Input("dbClusterId", required: true)] public Input DbClusterId { get; set; } = null!; @@ -237,13 +291,25 @@ public AccountArgs() public sealed class AccountState : global::Pulumi.ResourceArgs { /// - /// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + /// The description of the database account. /// [Input("accountDescription")] public Input? AccountDescription { get; set; } /// - /// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + /// The lock status of the account. Valid values: + /// - `UnLock`: The account is not locked. + /// - `Lock`: The account is locked. + /// + [Input("accountLockState")] + public Input? AccountLockState { get; set; } + + /// + /// The account name. Must meet the following requirements: + /// - Start with a lowercase letter and end with a letter or number. + /// - Consists of lowercase letters, numbers, or underscores. + /// - The length is 2 to 16 characters. + /// - You cannot use some reserved usernames, such as root and admin. /// [Input("accountName")] public Input? AccountName { get; set; } @@ -252,7 +318,10 @@ public sealed class AccountState : global::Pulumi.ResourceArgs private Input? _accountPassword; /// - /// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + /// The account password. You have to specify one of `AccountPassword` and `KmsEncryptedPassword` fields. Must meet the following requirements: + /// - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + /// - Be 8 to 32 characters in length. + /// - Special characters include !@#$%^&*()_+-=. /// public Input? AccountPassword { @@ -265,13 +334,19 @@ public Input? AccountPassword } /// - /// Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + /// The time when the password for the database account expires. + /// + [Input("accountPasswordValidTime")] + public Input? AccountPasswordValidTime { get; set; } + + /// + /// The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. /// [Input("accountType")] public Input? AccountType { get; set; } /// - /// The Id of cluster in which account belongs. + /// The cluster ID. /// [Input("dbClusterId")] public Input? DbClusterId { get; set; } @@ -294,6 +369,12 @@ public InputMap KmsEncryptionContext set => _kmsEncryptionContext = value; } + /// + /// (Available since v1.265.0) The status of the database account. + /// + [Input("status")] + public Input? Status { get; set; } + public AccountState() { } diff --git a/sdk/dotnet/PolarDB/AccountPrivilege.cs b/sdk/dotnet/PolarDB/AccountPrivilege.cs index 6691989dc7..22cb8da9ff 100644 --- a/sdk/dotnet/PolarDB/AccountPrivilege.cs +++ b/sdk/dotnet/PolarDB/AccountPrivilege.cs @@ -84,6 +84,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB account privilege can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/ClusterEndpoint.cs b/sdk/dotnet/PolarDB/ClusterEndpoint.cs index 6ca494140d..8576a62aea 100644 --- a/sdk/dotnet/PolarDB/ClusterEndpoint.cs +++ b/sdk/dotnet/PolarDB/ClusterEndpoint.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/Database.cs b/sdk/dotnet/PolarDB/Database.cs index 4346b4fd64..f1a59663bf 100644 --- a/sdk/dotnet/PolarDB/Database.cs +++ b/sdk/dotnet/PolarDB/Database.cs @@ -10,12 +10,18 @@ namespace Pulumi.AliCloud.PolarDB { /// - /// Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. + /// Provides a Polar Db Database resource. + /// + /// Manage linked databases. + /// + /// For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). /// /// > **NOTE:** Available since v1.66.0. /// /// ## Example Usage /// + /// Basic Usage + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -65,47 +71,71 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// PolarDB database can be imported using the id, e.g. + /// Polar Db Database can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" + /// $ pulumi import alicloud:polardb/database:Database example <db_cluster_id>:<db_name> /// ``` /// [AliCloudResourceType("alicloud:polardb/database:Database")] public partial class Database : global::Pulumi.CustomResource { /// - /// Account name authorized to access the database. Only supports PostgreSQL. + /// The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `AccountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. /// [Output("accountName")] public Output AccountName { get; private set; } = null!; /// - /// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`Utf8mb4` only supports versions 5.5 and 5.6\). + /// The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). /// [Output("characterSetName")] - public Output CharacterSetName { get; private set; } = null!; + public Output CharacterSetName { get; private set; } = null!; + + /// + /// The language that defines the collation rules in the database. + /// > **NOTE:** The locale must be compatible with the character set set set by `CharacterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Output("collate")] + public Output Collate { get; private set; } = null!; /// - /// The Id of cluster that can run database. + /// The language that indicates the character type of the database. + /// > **NOTE:** The language must be compatible with the character set that is specified by `CharacterSetName`. The value that you specify must be the same as the value of `Collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Output("ctype")] + public Output Ctype { get; private set; } = null!; + + /// + /// The ID of cluster. /// [Output("dbClusterId")] public Output DbClusterId { get; private set; } = null!; /// - /// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + /// The description of the database. The description must meet the following requirements: + /// - It cannot start with `http://` or `https://`. + /// - It must be 2 to 256 characters in length. /// [Output("dbDescription")] - public Output DbDescription { get; private set; } = null!; + public Output DbDescription { get; private set; } = null!; /// - /// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + /// The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. /// [Output("dbName")] public Output DbName { get; private set; } = null!; + /// + /// (Available since v1.265.0) The state of the database. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + /// /// Create a Database resource with the given unique name, arguments, and options. @@ -153,31 +183,47 @@ public static Database Get(string name, Input id, DatabaseState? state = public sealed class DatabaseArgs : global::Pulumi.ResourceArgs { /// - /// Account name authorized to access the database. Only supports PostgreSQL. + /// The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `AccountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. /// [Input("accountName")] public Input? AccountName { get; set; } /// - /// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`Utf8mb4` only supports versions 5.5 and 5.6\). + /// The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). /// [Input("characterSetName")] public Input? CharacterSetName { get; set; } /// - /// The Id of cluster that can run database. + /// The language that defines the collation rules in the database. + /// > **NOTE:** The locale must be compatible with the character set set set by `CharacterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Input("collate")] + public Input? Collate { get; set; } + + /// + /// The language that indicates the character type of the database. + /// > **NOTE:** The language must be compatible with the character set that is specified by `CharacterSetName`. The value that you specify must be the same as the value of `Collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Input("ctype")] + public Input? Ctype { get; set; } + + /// + /// The ID of cluster. /// [Input("dbClusterId", required: true)] public Input DbClusterId { get; set; } = null!; /// - /// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + /// The description of the database. The description must meet the following requirements: + /// - It cannot start with `http://` or `https://`. + /// - It must be 2 to 256 characters in length. /// [Input("dbDescription")] public Input? DbDescription { get; set; } /// - /// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + /// The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. /// [Input("dbName", required: true)] public Input DbName { get; set; } = null!; @@ -191,35 +237,57 @@ public DatabaseArgs() public sealed class DatabaseState : global::Pulumi.ResourceArgs { /// - /// Account name authorized to access the database. Only supports PostgreSQL. + /// The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `AccountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. /// [Input("accountName")] public Input? AccountName { get; set; } /// - /// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`Utf8mb4` only supports versions 5.5 and 5.6\). + /// The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). /// [Input("characterSetName")] public Input? CharacterSetName { get; set; } /// - /// The Id of cluster that can run database. + /// The language that defines the collation rules in the database. + /// > **NOTE:** The locale must be compatible with the character set set set by `CharacterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Input("collate")] + public Input? Collate { get; set; } + + /// + /// The language that indicates the character type of the database. + /// > **NOTE:** The language must be compatible with the character set that is specified by `CharacterSetName`. The value that you specify must be the same as the value of `Collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + /// + [Input("ctype")] + public Input? Ctype { get; set; } + + /// + /// The ID of cluster. /// [Input("dbClusterId")] public Input? DbClusterId { get; set; } /// - /// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + /// The description of the database. The description must meet the following requirements: + /// - It cannot start with `http://` or `https://`. + /// - It must be 2 to 256 characters in length. /// [Input("dbDescription")] public Input? DbDescription { get; set; } /// - /// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + /// The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. /// [Input("dbName")] public Input? DbName { get; set; } + /// + /// (Available since v1.265.0) The state of the database. + /// + [Input("status")] + public Input? Status { get; set; } + public DatabaseState() { } diff --git a/sdk/dotnet/PolarDB/Endpoint.cs b/sdk/dotnet/PolarDB/Endpoint.cs index 98458c3f1c..9a962e745a 100644 --- a/sdk/dotnet/PolarDB/Endpoint.cs +++ b/sdk/dotnet/PolarDB/Endpoint.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/EndpointAddress.cs b/sdk/dotnet/PolarDB/EndpointAddress.cs index e80ac4aae8..7d7fcbdd39 100644 --- a/sdk/dotnet/PolarDB/EndpointAddress.cs +++ b/sdk/dotnet/PolarDB/EndpointAddress.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB endpoint address can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/GlobalDatabaseNetwork.cs b/sdk/dotnet/PolarDB/GlobalDatabaseNetwork.cs index 1b01601326..3798c542e2 100644 --- a/sdk/dotnet/PolarDB/GlobalDatabaseNetwork.cs +++ b/sdk/dotnet/PolarDB/GlobalDatabaseNetwork.cs @@ -69,6 +69,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB Global Database Network can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/GlobalSecurityIpGroup.cs b/sdk/dotnet/PolarDB/GlobalSecurityIpGroup.cs new file mode 100644 index 0000000000..540ffd8d87 --- /dev/null +++ b/sdk/dotnet/PolarDB/GlobalSecurityIpGroup.cs @@ -0,0 +1,182 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.PolarDB +{ + /// + /// Provides a Polardb Global Security Ip Group resource. + /// + /// Global Security IP Group. + /// + /// For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). + /// + /// > **NOTE:** Available since v1.266.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.PolarDB.GlobalSecurityIpGroup("default", new() + /// { + /// GlobalIpList = "192.168.0.1", + /// GlobalIpGroupName = "example_template", + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Polardb Global Security Ip Group can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example <id> + /// ``` + /// + [AliCloudResourceType("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup")] + public partial class GlobalSecurityIpGroup : global::Pulumi.CustomResource + { + /// + /// The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + /// + /// - The name can contain lowercase letters, digits, and underscores (\_). + /// - The name must start with a letter and end with a letter or digit. + /// - The name must be 2 to 120 characters in length. + /// + [Output("globalIpGroupName")] + public Output GlobalIpGroupName { get; private set; } = null!; + + /// + /// The IP address in the whitelist template. + /// + /// > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + /// + [Output("globalIpList")] + public Output GlobalIpList { get; private set; } = null!; + + /// + /// The region ID of the IP whitelist template. + /// + [Output("regionId")] + public Output RegionId { get; private set; } = null!; + + + /// + /// Create a GlobalSecurityIpGroup 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 GlobalSecurityIpGroup(string name, GlobalSecurityIpGroupArgs args, CustomResourceOptions? options = null) + : base("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, args ?? new GlobalSecurityIpGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private GlobalSecurityIpGroup(string name, Input id, GlobalSecurityIpGroupState? state = null, CustomResourceOptions? options = null) + : base("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 GlobalSecurityIpGroup 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 GlobalSecurityIpGroup Get(string name, Input id, GlobalSecurityIpGroupState? state = null, CustomResourceOptions? options = null) + { + return new GlobalSecurityIpGroup(name, id, state, options); + } + } + + public sealed class GlobalSecurityIpGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + /// + /// - The name can contain lowercase letters, digits, and underscores (\_). + /// - The name must start with a letter and end with a letter or digit. + /// - The name must be 2 to 120 characters in length. + /// + [Input("globalIpGroupName", required: true)] + public Input GlobalIpGroupName { get; set; } = null!; + + /// + /// The IP address in the whitelist template. + /// + /// > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + /// + [Input("globalIpList", required: true)] + public Input GlobalIpList { get; set; } = null!; + + public GlobalSecurityIpGroupArgs() + { + } + public static new GlobalSecurityIpGroupArgs Empty => new GlobalSecurityIpGroupArgs(); + } + + public sealed class GlobalSecurityIpGroupState : global::Pulumi.ResourceArgs + { + /// + /// The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + /// + /// - The name can contain lowercase letters, digits, and underscores (\_). + /// - The name must start with a letter and end with a letter or digit. + /// - The name must be 2 to 120 characters in length. + /// + [Input("globalIpGroupName")] + public Input? GlobalIpGroupName { get; set; } + + /// + /// The IP address in the whitelist template. + /// + /// > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + /// + [Input("globalIpList")] + public Input? GlobalIpList { get; set; } + + /// + /// The region ID of the IP whitelist template. + /// + [Input("regionId")] + public Input? RegionId { get; set; } + + public GlobalSecurityIpGroupState() + { + } + public static new GlobalSecurityIpGroupState Empty => new GlobalSecurityIpGroupState(); + } +} diff --git a/sdk/dotnet/PolarDB/ParameterGroup.cs b/sdk/dotnet/PolarDB/ParameterGroup.cs index c1f03aa3d5..13dd9b423e 100644 --- a/sdk/dotnet/PolarDB/ParameterGroup.cs +++ b/sdk/dotnet/PolarDB/ParameterGroup.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Polar Db Parameter Group can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/PrimaryEndpoint.cs b/sdk/dotnet/PolarDB/PrimaryEndpoint.cs index 4d6b1a55e0..62ddd080f9 100644 --- a/sdk/dotnet/PolarDB/PrimaryEndpoint.cs +++ b/sdk/dotnet/PolarDB/PrimaryEndpoint.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.PolarDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/ZonalAccount.cs b/sdk/dotnet/PolarDB/ZonalAccount.cs index 44123ed46b..1861cfbe7e 100644 --- a/sdk/dotnet/PolarDB/ZonalAccount.cs +++ b/sdk/dotnet/PolarDB/ZonalAccount.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.PolarDB /// } /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB Zonal account can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/ZonalDbCluster.cs b/sdk/dotnet/PolarDB/ZonalDbCluster.cs index 321fb30b98..44f2066577 100644 --- a/sdk/dotnet/PolarDB/ZonalDbCluster.cs +++ b/sdk/dotnet/PolarDB/ZonalDbCluster.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.PolarDB /// } /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB zonal cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDB/ZonalEndpoint.cs b/sdk/dotnet/PolarDB/ZonalEndpoint.cs index 14fb9d0369..d24763fd8a 100644 --- a/sdk/dotnet/PolarDB/ZonalEndpoint.cs +++ b/sdk/dotnet/PolarDB/ZonalEndpoint.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.PolarDB /// } /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// PolarDB Zonal endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/PolarDbExtension.cs b/sdk/dotnet/PolarDbExtension.cs index 8d80a2ad6c..b2e13f52e3 100644 --- a/sdk/dotnet/PolarDbExtension.cs +++ b/sdk/dotnet/PolarDbExtension.cs @@ -92,6 +92,8 @@ namespace Pulumi.AliCloud /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Polar Db Extension can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/GetVpcEndpointServices.cs b/sdk/dotnet/PrivateLink/GetVpcEndpointServices.cs index b7f9ca62a6..f906bafb81 100644 --- a/sdk/dotnet/PrivateLink/GetVpcEndpointServices.cs +++ b/sdk/dotnet/PrivateLink/GetVpcEndpointServices.cs @@ -12,7 +12,7 @@ namespace Pulumi.AliCloud.PrivateLink public static class GetVpcEndpointServices { /// - /// This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + /// This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. /// /// > **NOTE:** Available since v1.109.0. /// @@ -28,24 +28,25 @@ public static class GetVpcEndpointServices /// /// return await Deployment.RunAsync(() => /// { - /// var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService("example", new() + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.PrivateLink.VpcEndpointService("default", new() /// { - /// ServiceDescription = "terraform-example", - /// ConnectBandwidth = 103, - /// AutoAcceptConnection = false, + /// ServiceDescription = name, + /// AutoAcceptConnection = true, /// }); /// - /// var example = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() + /// var ids = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() /// { /// Ids = new[] /// { - /// exampleVpcEndpointService.Id, + /// @default.Id, /// }, /// }); /// /// return new Dictionary<string, object?> /// { - /// ["firstPrivatelinkVpcEndpointServiceId"] = example.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), + /// ["privatelinkVpcEndpointServicesId0"] = ids.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), /// }; /// }); /// ``` @@ -54,7 +55,7 @@ public static Task InvokeAsync(GetVpcEndpointServi => global::Pulumi.Deployment.Instance.InvokeAsync("alicloud:privatelink/getVpcEndpointServices:getVpcEndpointServices", args ?? new GetVpcEndpointServicesArgs(), options.WithDefaults()); /// - /// This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + /// This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. /// /// > **NOTE:** Available since v1.109.0. /// @@ -70,24 +71,25 @@ public static Task InvokeAsync(GetVpcEndpointServi /// /// return await Deployment.RunAsync(() => /// { - /// var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService("example", new() + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.PrivateLink.VpcEndpointService("default", new() /// { - /// ServiceDescription = "terraform-example", - /// ConnectBandwidth = 103, - /// AutoAcceptConnection = false, + /// ServiceDescription = name, + /// AutoAcceptConnection = true, /// }); /// - /// var example = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() + /// var ids = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() /// { /// Ids = new[] /// { - /// exampleVpcEndpointService.Id, + /// @default.Id, /// }, /// }); /// /// return new Dictionary<string, object?> /// { - /// ["firstPrivatelinkVpcEndpointServiceId"] = example.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), + /// ["privatelinkVpcEndpointServicesId0"] = ids.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), /// }; /// }); /// ``` @@ -96,7 +98,7 @@ public static Output Invoke(GetVpcEndpointServices => global::Pulumi.Deployment.Instance.Invoke("alicloud:privatelink/getVpcEndpointServices:getVpcEndpointServices", args ?? new GetVpcEndpointServicesInvokeArgs(), options.WithDefaults()); /// - /// This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + /// This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. /// /// > **NOTE:** Available since v1.109.0. /// @@ -112,24 +114,25 @@ public static Output Invoke(GetVpcEndpointServices /// /// return await Deployment.RunAsync(() => /// { - /// var exampleVpcEndpointService = new AliCloud.PrivateLink.VpcEndpointService("example", new() + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.PrivateLink.VpcEndpointService("default", new() /// { - /// ServiceDescription = "terraform-example", - /// ConnectBandwidth = 103, - /// AutoAcceptConnection = false, + /// ServiceDescription = name, + /// AutoAcceptConnection = true, /// }); /// - /// var example = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() + /// var ids = AliCloud.PrivateLink.GetVpcEndpointServices.Invoke(new() /// { /// Ids = new[] /// { - /// exampleVpcEndpointService.Id, + /// @default.Id, /// }, /// }); /// /// return new Dictionary<string, object?> /// { - /// ["firstPrivatelinkVpcEndpointServiceId"] = example.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), + /// ["privatelinkVpcEndpointServicesId0"] = ids.Apply(getVpcEndpointServicesResult => getVpcEndpointServicesResult.Services[0]?.Id), /// }; /// }); /// ``` @@ -142,7 +145,7 @@ public static Output Invoke(GetVpcEndpointServices public sealed class GetVpcEndpointServicesArgs : global::Pulumi.InvokeArgs { /// - /// Whether to automatically accept terminal node connections. + /// Specifies whether to automatically accept endpoint connection requests. Valid values: : `True`, `False`. /// [Input("autoAcceptConnection")] public bool? AutoAcceptConnection { get; set; } @@ -172,13 +175,13 @@ public List Ids public string? OutputFile { get; set; } /// - /// The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + /// The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. /// [Input("serviceBusinessStatus")] public string? ServiceBusinessStatus { get; set; } /// - /// The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + /// The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. /// [Input("status")] public string? Status { get; set; } @@ -187,7 +190,7 @@ public List Ids private Dictionary? _tags; /// - /// The tags of Vpc Endpoint Service. + /// A mapping of tags to assign to the resource. /// public Dictionary Tags { @@ -196,7 +199,7 @@ public Dictionary Tags } /// - /// The name of Vpc Endpoint Service. + /// The name of the endpoint service. /// [Input("vpcEndpointServiceName")] public string? VpcEndpointServiceName { get; set; } @@ -210,7 +213,7 @@ public GetVpcEndpointServicesArgs() public sealed class GetVpcEndpointServicesInvokeArgs : global::Pulumi.InvokeArgs { /// - /// Whether to automatically accept terminal node connections. + /// Specifies whether to automatically accept endpoint connection requests. Valid values: : `True`, `False`. /// [Input("autoAcceptConnection")] public Input? AutoAcceptConnection { get; set; } @@ -240,13 +243,13 @@ public InputList Ids public Input? OutputFile { get; set; } /// - /// The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + /// The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. /// [Input("serviceBusinessStatus")] public Input? ServiceBusinessStatus { get; set; } /// - /// The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + /// The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. /// [Input("status")] public Input? Status { get; set; } @@ -255,7 +258,7 @@ public InputList Ids private InputMap? _tags; /// - /// The tags of Vpc Endpoint Service. + /// A mapping of tags to assign to the resource. /// public InputMap Tags { @@ -264,7 +267,7 @@ public InputMap Tags } /// - /// The name of Vpc Endpoint Service. + /// The name of the endpoint service. /// [Input("vpcEndpointServiceName")] public Input? VpcEndpointServiceName { get; set; } @@ -280,7 +283,7 @@ public GetVpcEndpointServicesInvokeArgs() public sealed class GetVpcEndpointServicesResult { /// - /// Whether to automatically accept terminal node connections.. + /// Indicates whether endpoint connection requests are automatically accepted. /// public readonly bool? AutoAcceptConnection; /// @@ -295,23 +298,23 @@ public sealed class GetVpcEndpointServicesResult public readonly ImmutableArray Names; public readonly string? OutputFile; /// - /// The business status of the terminal node service.. + /// The service state of the endpoint service. /// public readonly string? ServiceBusinessStatus; /// - /// A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + /// A list of Vpc Endpoint Services. Each element contains the following attributes: /// public readonly ImmutableArray Services; /// - /// The Status of Vpc Endpoint Service. + /// The state of the endpoint service. /// public readonly string? Status; /// - /// The tags of Vpc Endpoint Service. + /// The tags added to the resource. /// public readonly ImmutableDictionary? Tags; /// - /// The name of Vpc Endpoint Service. + /// The name of the endpoint service. /// public readonly string? VpcEndpointServiceName; diff --git a/sdk/dotnet/PrivateLink/Outputs/GetVpcEndpointServicesServiceResult.cs b/sdk/dotnet/PrivateLink/Outputs/GetVpcEndpointServicesServiceResult.cs index da83b8aede..e0cce262ac 100644 --- a/sdk/dotnet/PrivateLink/Outputs/GetVpcEndpointServicesServiceResult.cs +++ b/sdk/dotnet/PrivateLink/Outputs/GetVpcEndpointServicesServiceResult.cs @@ -14,11 +14,11 @@ namespace Pulumi.AliCloud.PrivateLink.Outputs public sealed class GetVpcEndpointServicesServiceResult { /// - /// Whether to automatically accept terminal node connections. + /// Specifies whether to automatically accept endpoint connection requests. Valid values: : `True`, `False`. /// public readonly bool AutoAcceptConnection; /// - /// The connection bandwidth. + /// The default maximum bandwidth of the endpoint connection. /// public readonly int ConnectBandwidth; /// @@ -26,31 +26,31 @@ public sealed class GetVpcEndpointServicesServiceResult /// public readonly string Id; /// - /// The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + /// The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. /// public readonly string ServiceBusinessStatus; /// - /// The description of the terminal node service. + /// The description of the endpoint service. /// public readonly string ServiceDescription; /// - /// The domain of service. + /// The domain name of the endpoint service. /// public readonly string ServiceDomain; /// - /// The ID of the Vpc Endpoint Service. + /// The ID of the endpoint service. /// public readonly string ServiceId; /// - /// The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + /// The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. /// public readonly string Status; /// - /// The tags of Vpc Endpoint Service. + /// A mapping of tags to assign to the resource. /// public readonly ImmutableDictionary Tags; /// - /// The name of Vpc Endpoint Service. + /// The name of the endpoint service. /// public readonly string VpcEndpointServiceName; diff --git a/sdk/dotnet/PrivateLink/VpcEndpoint.cs b/sdk/dotnet/PrivateLink/VpcEndpoint.cs index 78c4a38565..2be29e4af8 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpoint.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpoint.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/VpcEndpointService.cs b/sdk/dotnet/PrivateLink/VpcEndpointService.cs index 205e5a58a4..cecb30fa24 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpointService.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpointService.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint Service can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/VpcEndpointServiceConnection.cs b/sdk/dotnet/PrivateLink/VpcEndpointServiceConnection.cs index 3b4e284f4a..6c43ed751e 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpointServiceConnection.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpointServiceConnection.cs @@ -100,6 +100,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint Connection can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/VpcEndpointServiceResource.cs b/sdk/dotnet/PrivateLink/VpcEndpointServiceResource.cs index 05d1928886..ef878daa07 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpointServiceResource.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpointServiceResource.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/VpcEndpointServiceUser.cs b/sdk/dotnet/PrivateLink/VpcEndpointServiceUser.cs index 9f8f3a48f3..fb7c46d976 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpointServiceUser.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpointServiceUser.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint Service User can be imported using the id, e.g. diff --git a/sdk/dotnet/PrivateLink/VpcEndpointZone.cs b/sdk/dotnet/PrivateLink/VpcEndpointZone.cs index 0bf034ed58..cd7ef4b186 100644 --- a/sdk/dotnet/PrivateLink/VpcEndpointZone.cs +++ b/sdk/dotnet/PrivateLink/VpcEndpointZone.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.PrivateLink /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Link Vpc Endpoint Zone can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/Endpoint.cs b/sdk/dotnet/Pvtz/Endpoint.cs index 0e9fcee06b..179642a4ee 100644 --- a/sdk/dotnet/Pvtz/Endpoint.cs +++ b/sdk/dotnet/Pvtz/Endpoint.cs @@ -95,6 +95,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/Rule.cs b/sdk/dotnet/Pvtz/Rule.cs index 0ed226e5c7..67b452dc37 100644 --- a/sdk/dotnet/Pvtz/Rule.cs +++ b/sdk/dotnet/Pvtz/Rule.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/RuleAttachment.cs b/sdk/dotnet/Pvtz/RuleAttachment.cs index 787fef7af3..31c29373e7 100644 --- a/sdk/dotnet/Pvtz/RuleAttachment.cs +++ b/sdk/dotnet/Pvtz/RuleAttachment.cs @@ -140,6 +140,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone Rule Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/UserVpcAuthorization.cs b/sdk/dotnet/Pvtz/UserVpcAuthorization.cs index 38d745554c..1c27163023 100644 --- a/sdk/dotnet/Pvtz/UserVpcAuthorization.cs +++ b/sdk/dotnet/Pvtz/UserVpcAuthorization.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone User Vpc Authorization can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/Zone.cs b/sdk/dotnet/Pvtz/Zone.cs index 482fc9e041..96c9f102dd 100644 --- a/sdk/dotnet/Pvtz/Zone.cs +++ b/sdk/dotnet/Pvtz/Zone.cs @@ -30,6 +30,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone can be imported using the id, e.g. diff --git a/sdk/dotnet/Pvtz/ZoneAttachment.cs b/sdk/dotnet/Pvtz/ZoneAttachment.cs index 88e9b88787..3eb9808a84 100644 --- a/sdk/dotnet/Pvtz/ZoneAttachment.cs +++ b/sdk/dotnet/Pvtz/ZoneAttachment.cs @@ -155,6 +155,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone attachment can be imported using the id(same with `zone_id`), e.g. diff --git a/sdk/dotnet/Pvtz/ZoneRecord.cs b/sdk/dotnet/Pvtz/ZoneRecord.cs index 98a85cf6d5..e2005e9bcc 100644 --- a/sdk/dotnet/Pvtz/ZoneRecord.cs +++ b/sdk/dotnet/Pvtz/ZoneRecord.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Pvtz /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Private Zone Record can be imported using the id, e.g. diff --git a/sdk/dotnet/QuickBI/User.cs b/sdk/dotnet/QuickBI/User.cs index 7d79fee550..220e964d78 100644 --- a/sdk/dotnet/QuickBI/User.cs +++ b/sdk/dotnet/QuickBI/User.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.QuickBI /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Quick BI User can be imported using the id, e.g. diff --git a/sdk/dotnet/Quotas/QuotaAlarm.cs b/sdk/dotnet/Quotas/QuotaAlarm.cs index 620eb43d57..189d9875ac 100644 --- a/sdk/dotnet/Quotas/QuotaAlarm.cs +++ b/sdk/dotnet/Quotas/QuotaAlarm.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Quotas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Quotas Quota Alarm can be imported using the id, e.g. diff --git a/sdk/dotnet/Quotas/TemplateQuota.cs b/sdk/dotnet/Quotas/TemplateQuota.cs index fb2f5585d9..2766d34bae 100644 --- a/sdk/dotnet/Quotas/TemplateQuota.cs +++ b/sdk/dotnet/Quotas/TemplateQuota.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Quotas /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Quotas Template Quota can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/AccessKey.cs b/sdk/dotnet/Ram/AccessKey.cs index 8d65c29746..2e5daff6eb 100644 --- a/sdk/dotnet/Ram/AccessKey.cs +++ b/sdk/dotnet/Ram/AccessKey.cs @@ -125,6 +125,8 @@ namespace Pulumi.AliCloud.Ram /// }; /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ram/accessKey:AccessKey")] public partial class AccessKey : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ram/AccountPasswordPolicy.cs b/sdk/dotnet/Ram/AccountPasswordPolicy.cs index 13cd90d63b..bc73859450 100644 --- a/sdk/dotnet/Ram/AccountPasswordPolicy.cs +++ b/sdk/dotnet/Ram/AccountPasswordPolicy.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Ram /// ``` /// For not specified values sets defaults. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM account password policy can be imported using the `id`, e.g. diff --git a/sdk/dotnet/Ram/Group.cs b/sdk/dotnet/Ram/Group.cs index 107581a640..4ce0529ca2 100644 --- a/sdk/dotnet/Ram/Group.cs +++ b/sdk/dotnet/Ram/Group.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/GroupMembership.cs b/sdk/dotnet/Ram/GroupMembership.cs index 6c114e56df..8053f07f43 100644 --- a/sdk/dotnet/Ram/GroupMembership.cs +++ b/sdk/dotnet/Ram/GroupMembership.cs @@ -10,10 +10,6 @@ namespace Pulumi.AliCloud.Ram { /// - /// Provides a RAM Group membership resource. - /// - /// > **NOTE:** Available since v1.0.0+. - /// /// ## Example Usage /// /// ```csharp @@ -85,6 +81,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Group membership can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/GroupPolicyAttachment.cs b/sdk/dotnet/Ram/GroupPolicyAttachment.cs index 7e92308778..60d3ec2df3 100644 --- a/sdk/dotnet/Ram/GroupPolicyAttachment.cs +++ b/sdk/dotnet/Ram/GroupPolicyAttachment.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Group Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/LoginProfile.cs b/sdk/dotnet/Ram/LoginProfile.cs index 5b2bc13715..3c5c7ca699 100644 --- a/sdk/dotnet/Ram/LoginProfile.cs +++ b/sdk/dotnet/Ram/LoginProfile.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Login Profile can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/Policy.cs b/sdk/dotnet/Ram/Policy.cs index 9759fc0722..6f6a8bc6bd 100644 --- a/sdk/dotnet/Ram/Policy.cs +++ b/sdk/dotnet/Ram/Policy.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/Role.cs b/sdk/dotnet/Ram/Role.cs index 9ff50544cd..f4de431e16 100644 --- a/sdk/dotnet/Ram/Role.cs +++ b/sdk/dotnet/Ram/Role.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Role can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/RoleAttachment.cs b/sdk/dotnet/Ram/RoleAttachment.cs index 5d23685c14..d45d1e66ee 100644 --- a/sdk/dotnet/Ram/RoleAttachment.cs +++ b/sdk/dotnet/Ram/RoleAttachment.cs @@ -130,6 +130,8 @@ namespace Pulumi.AliCloud.Ram /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:ram/roleAttachment:RoleAttachment")] public partial class RoleAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ram/RolePolicyAttachment.cs b/sdk/dotnet/Ram/RolePolicyAttachment.cs index 8a5bd52041..70fbe3ec27 100644 --- a/sdk/dotnet/Ram/RolePolicyAttachment.cs +++ b/sdk/dotnet/Ram/RolePolicyAttachment.cs @@ -91,6 +91,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Role Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/SamlProvider.cs b/sdk/dotnet/Ram/SamlProvider.cs index b7e161f7b3..2b303f5aab 100644 --- a/sdk/dotnet/Ram/SamlProvider.cs +++ b/sdk/dotnet/Ram/SamlProvider.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM Saml Provider can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/User.cs b/sdk/dotnet/Ram/User.cs index ac68ade978..4cbf694eae 100644 --- a/sdk/dotnet/Ram/User.cs +++ b/sdk/dotnet/Ram/User.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM User can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/UserGroupAttachment.cs b/sdk/dotnet/Ram/UserGroupAttachment.cs index 5b35395218..dc2d02bf37 100644 --- a/sdk/dotnet/Ram/UserGroupAttachment.cs +++ b/sdk/dotnet/Ram/UserGroupAttachment.cs @@ -57,6 +57,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM User Group Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Ram/UserPolicyAttachment.cs b/sdk/dotnet/Ram/UserPolicyAttachment.cs index c5c66b031c..ce78993d99 100644 --- a/sdk/dotnet/Ram/UserPolicyAttachment.cs +++ b/sdk/dotnet/Ram/UserPolicyAttachment.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Ram /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RAM User Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Rdc/Organization.cs b/sdk/dotnet/Rdc/Organization.cs index c7a47d231b..d53ed0ae82 100644 --- a/sdk/dotnet/Rdc/Organization.cs +++ b/sdk/dotnet/Rdc/Organization.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Rdc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDC Organization can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/Account.cs b/sdk/dotnet/Rds/Account.cs index 21f867626c..b436aea596 100644 --- a/sdk/dotnet/Rds/Account.cs +++ b/sdk/dotnet/Rds/Account.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS account can be imported using the id, e.g. @@ -89,6 +91,9 @@ public partial class Account : global::Pulumi.CustomResource [Output("accountType")] public Output AccountType { get; private set; } = null!; + [Output("checkPolicy")] + public Output CheckPolicy { get; private set; } = null!; + [Output("dbInstanceId")] public Output DbInstanceId { get; private set; } = null!; @@ -216,6 +221,9 @@ public Input? AccountPassword [Input("accountType")] public Input? AccountType { get; set; } + [Input("checkPolicy")] + public Input? CheckPolicy { get; set; } + [Input("dbInstanceId")] public Input? DbInstanceId { get; set; } @@ -275,6 +283,9 @@ public Input? Password [Input("resetPermissionFlag")] public Input? ResetPermissionFlag { get; set; } + [Input("status")] + public Input? Status { get; set; } + /// /// Privilege type of account. The SQLServer engine does not support create high privilege accounts. /// - Normal: Common privilege. @@ -314,6 +325,9 @@ public Input? AccountPassword [Input("accountType")] public Input? AccountType { get; set; } + [Input("checkPolicy")] + public Input? CheckPolicy { get; set; } + [Input("dbInstanceId")] public Input? DbInstanceId { get; set; } diff --git a/sdk/dotnet/Rds/AccountPrivilege.cs b/sdk/dotnet/Rds/AccountPrivilege.cs index 0fe4626e1a..ef742394e3 100644 --- a/sdk/dotnet/Rds/AccountPrivilege.cs +++ b/sdk/dotnet/Rds/AccountPrivilege.cs @@ -88,6 +88,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS account privilege can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/BackupPolicy.cs b/sdk/dotnet/Rds/BackupPolicy.cs index 8ee73ae513..b518824955 100644 --- a/sdk/dotnet/Rds/BackupPolicy.cs +++ b/sdk/dotnet/Rds/BackupPolicy.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS backup policy can be imported using the id or instance id, e.g. diff --git a/sdk/dotnet/Rds/Connection.cs b/sdk/dotnet/Rds/Connection.cs index 7e2811f1c6..7193dfef67 100644 --- a/sdk/dotnet/Rds/Connection.cs +++ b/sdk/dotnet/Rds/Connection.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/Custom.cs b/sdk/dotnet/Rds/Custom.cs index 844d80985c..0a859bc7c0 100644 --- a/sdk/dotnet/Rds/Custom.cs +++ b/sdk/dotnet/Rds/Custom.cs @@ -116,6 +116,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Custom can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/CustomDeploymentSet.cs b/sdk/dotnet/Rds/CustomDeploymentSet.cs index 57ff01b059..f9f9b75a6d 100644 --- a/sdk/dotnet/Rds/CustomDeploymentSet.cs +++ b/sdk/dotnet/Rds/CustomDeploymentSet.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Custom Deployment Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/CustomDisk.cs b/sdk/dotnet/Rds/CustomDisk.cs index 294bb039ac..3cb7df8a8b 100644 --- a/sdk/dotnet/Rds/CustomDisk.cs +++ b/sdk/dotnet/Rds/CustomDisk.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Custom Disk can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/Database.cs b/sdk/dotnet/Rds/Database.cs index dd003cb1f4..1deb5e49d5 100644 --- a/sdk/dotnet/Rds/Database.cs +++ b/sdk/dotnet/Rds/Database.cs @@ -10,7 +10,11 @@ namespace Pulumi.AliCloud.Rds { /// - /// Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). + /// Provides a RDS Database resource. + /// + /// Supports creating a database under an instance. + /// + /// For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). /// /// > **NOTE:** Available since v1.5.0. /// @@ -29,7 +33,20 @@ namespace Pulumi.AliCloud.Rds /// var @default = AliCloud.Rds.GetZones.Invoke(new() /// { /// Engine = "MySQL", - /// EngineVersion = "5.6", + /// EngineVersion = "8.0", + /// InstanceChargeType = "PostPaid", + /// Category = "HighAvailability", + /// DbInstanceStorageType = "cloud_essd", + /// }); + /// + /// var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new() + /// { + /// ZoneId = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id), + /// Engine = "MySQL", + /// EngineVersion = "8.0", + /// Category = "HighAvailability", + /// DbInstanceStorageType = "cloud_essd", + /// InstanceChargeType = "PostPaid", /// }); /// /// var defaultNetwork = new AliCloud.Vpc.Network("default", new() @@ -49,28 +66,33 @@ namespace Pulumi.AliCloud.Rds /// var defaultInstance = new AliCloud.Rds.Instance("default", new() /// { /// Engine = "MySQL", - /// EngineVersion = "5.6", - /// InstanceType = "rds.mysql.s1.small", - /// InstanceStorage = 10, + /// EngineVersion = "8.0", + /// DbInstanceStorageType = "cloud_essd", + /// InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[0]?.InstanceClass), + /// InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min), /// VswitchId = defaultSwitch.Id, /// InstanceName = name, + /// InstanceChargeType = "Postpaid", /// }); /// /// var defaultDatabase = new AliCloud.Rds.Database("default", new() /// { /// InstanceId = defaultInstance.Id, - /// Name = name, + /// DataBaseName = name, + /// CharacterSet = "utf8", /// }); /// /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// - /// RDS database can be imported using the id, e.g. + /// RDS Database can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" + /// $ pulumi import alicloud:rds/database:Database example <instance_id>:<data_base_name> /// ``` /// [AliCloudResourceType("alicloud:rds/database:Database")] @@ -91,32 +113,43 @@ public partial class Database : global::Pulumi.CustomResource [Output("characterSet")] public Output CharacterSet { get; private set; } = null!; + /// + /// The name of the database. + /// > **NOTE:** + /// The name must be 2 to 64 characters in length. + /// The name must start with a lowercase letter and end with a lowercase letter or digit. + /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + /// The name must be unique within the instance. + /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// + [Output("dataBaseName")] + public Output DataBaseName { get; private set; } = null!; + /// /// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - /// - /// > **NOTE:** The value of "name" or "CharacterSet" does not support modification. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// The Id of instance that can run database. + /// The instance ID. You can call the DescribeDBInstances operation to query the instance ID. /// [Output("instanceId")] public Output InstanceId { get; private set; } = null!; /// - /// The name of the database. - /// * > **NOTE:** - /// The name must be 2 to 64 characters in length. - /// The name must start with a lowercase letter and end with a lowercase letter or digit. - /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - /// The name must be unique within the instance. - /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// The attribute has been deprecated from 1.267.0 and using `DataBaseName` instead. + /// > **NOTE:** The value of "DataBaseName" or "CharacterSet" does not support modification. /// [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The status of the resource + /// + [Output("status")] + public Output Status { get; private set; } = null!; + /// /// Create a Database resource with the given unique name, arguments, and options. @@ -178,28 +211,33 @@ public sealed class DatabaseArgs : global::Pulumi.ResourceArgs [Input("characterSet")] public Input? CharacterSet { get; set; } + /// + /// The name of the database. + /// > **NOTE:** + /// The name must be 2 to 64 characters in length. + /// The name must start with a lowercase letter and end with a lowercase letter or digit. + /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + /// The name must be unique within the instance. + /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// + [Input("dataBaseName")] + public Input? DataBaseName { get; set; } + /// /// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - /// - /// > **NOTE:** The value of "name" or "CharacterSet" does not support modification. /// [Input("description")] public Input? Description { get; set; } /// - /// The Id of instance that can run database. + /// The instance ID. You can call the DescribeDBInstances operation to query the instance ID. /// [Input("instanceId", required: true)] public Input InstanceId { get; set; } = null!; /// - /// The name of the database. - /// * > **NOTE:** - /// The name must be 2 to 64 characters in length. - /// The name must start with a lowercase letter and end with a lowercase letter or digit. - /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - /// The name must be unique within the instance. - /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// The attribute has been deprecated from 1.267.0 and using `DataBaseName` instead. + /// > **NOTE:** The value of "DataBaseName" or "CharacterSet" does not support modification. /// [Input("name")] public Input? Name { get; set; } @@ -227,32 +265,43 @@ public sealed class DatabaseState : global::Pulumi.ResourceArgs [Input("characterSet")] public Input? CharacterSet { get; set; } + /// + /// The name of the database. + /// > **NOTE:** + /// The name must be 2 to 64 characters in length. + /// The name must start with a lowercase letter and end with a lowercase letter or digit. + /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + /// The name must be unique within the instance. + /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// + [Input("dataBaseName")] + public Input? DataBaseName { get; set; } + /// /// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - /// - /// > **NOTE:** The value of "name" or "CharacterSet" does not support modification. /// [Input("description")] public Input? Description { get; set; } /// - /// The Id of instance that can run database. + /// The instance ID. You can call the DescribeDBInstances operation to query the instance ID. /// [Input("instanceId")] public Input? InstanceId { get; set; } /// - /// The name of the database. - /// * > **NOTE:** - /// The name must be 2 to 64 characters in length. - /// The name must start with a lowercase letter and end with a lowercase letter or digit. - /// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - /// The name must be unique within the instance. - /// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + /// The attribute has been deprecated from 1.267.0 and using `DataBaseName` instead. + /// > **NOTE:** The value of "DataBaseName" or "CharacterSet" does not support modification. /// [Input("name")] public Input? Name { get; set; } + /// + /// The status of the resource + /// + [Input("status")] + public Input? Status { get; set; } + public DatabaseState() { } diff --git a/sdk/dotnet/Rds/DbInstanceEndpoint.cs b/sdk/dotnet/Rds/DbInstanceEndpoint.cs index 79f056b1c9..c16971acd7 100644 --- a/sdk/dotnet/Rds/DbInstanceEndpoint.cs +++ b/sdk/dotnet/Rds/DbInstanceEndpoint.cs @@ -112,6 +112,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS database endpoint feature can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/DbInstanceEndpointAddress.cs b/sdk/dotnet/Rds/DbInstanceEndpointAddress.cs index 7660f360dd..d3bdd85f4a 100644 --- a/sdk/dotnet/Rds/DbInstanceEndpointAddress.cs +++ b/sdk/dotnet/Rds/DbInstanceEndpointAddress.cs @@ -122,6 +122,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS database endpoint public address feature can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/DbNode.cs b/sdk/dotnet/Rds/DbNode.cs index 728c9c56b0..cde7a4e9bf 100644 --- a/sdk/dotnet/Rds/DbNode.cs +++ b/sdk/dotnet/Rds/DbNode.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS MySQL database cluster node agent function can be imported using id, e.g. diff --git a/sdk/dotnet/Rds/DbProxyPublic.cs b/sdk/dotnet/Rds/DbProxyPublic.cs index e0ae8cbdb3..6dc3ac6552 100644 --- a/sdk/dotnet/Rds/DbProxyPublic.cs +++ b/sdk/dotnet/Rds/DbProxyPublic.cs @@ -119,6 +119,8 @@ namespace Pulumi.AliCloud.Rds /// /// > **NOTE:** Resource `alicloud.rds.DbProxyPublic` should be created after `alicloud.rds.RdsDbProxy`, so the `DependsOn` statement is necessary. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Database Proxy Public Network Address can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index 60f538fcec..6726377367 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -462,7 +462,7 @@ public partial class Instance : global::Pulumi.CustomResource /// /// The Alibaba Cloud Resource Name (ARN) of the RAM role. /// - /// > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + /// > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. /// You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} /// [Output("roleArn")] @@ -1221,7 +1221,7 @@ public InputList PgHbaConfs /// /// The Alibaba Cloud Resource Name (ARN) of the RAM role. /// - /// > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + /// > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. /// You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} /// [Input("roleArn")] @@ -1977,7 +1977,7 @@ public InputList PgHbaConfs /// /// The Alibaba Cloud Resource Name (ARN) of the RAM role. /// - /// > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + /// > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. /// You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} /// [Input("roleArn")] diff --git a/sdk/dotnet/Rds/RdsAccount.cs b/sdk/dotnet/Rds/RdsAccount.cs index 84c745a94d..f86b19a5bb 100644 --- a/sdk/dotnet/Rds/RdsAccount.cs +++ b/sdk/dotnet/Rds/RdsAccount.cs @@ -33,14 +33,20 @@ namespace Pulumi.AliCloud.Rds /// var @default = AliCloud.Rds.GetZones.Invoke(new() /// { /// Engine = "MySQL", - /// EngineVersion = "5.6", + /// EngineVersion = "8.0", + /// InstanceChargeType = "PostPaid", + /// Category = "HighAvailability", + /// DbInstanceStorageType = "local_ssd", /// }); /// /// var defaultGetInstanceClasses = AliCloud.Rds.GetInstanceClasses.Invoke(new() /// { - /// ZoneId = @default.Apply(getZonesResult => getZonesResult.Ids[0]), + /// ZoneId = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id), /// Engine = "MySQL", - /// EngineVersion = "5.6", + /// EngineVersion = "8.0", + /// Category = "HighAvailability", + /// DbInstanceStorageType = "local_ssd", + /// InstanceChargeType = "PostPaid", /// }); /// /// var defaultNetwork = new AliCloud.Vpc.Network("default", new() @@ -60,11 +66,15 @@ namespace Pulumi.AliCloud.Rds /// var defaultInstance = new AliCloud.Rds.Instance("default", new() /// { /// Engine = "MySQL", - /// EngineVersion = "5.6", - /// InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[1]?.InstanceClass), - /// InstanceStorage = 10, + /// EngineVersion = "8.0", + /// InstanceType = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[0]?.InstanceClass), + /// InstanceStorage = defaultGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses[0]?.StorageRange?.Min), /// VswitchId = defaultSwitch.Id, /// InstanceName = name, + /// InstanceChargeType = "Postpaid", + /// MonitoringPeriod = 60, + /// DbInstanceStorageType = "local_ssd", + /// DbIsIgnoreCase = false, /// }); /// /// var defaultRdsAccount = new AliCloud.Rds.RdsAccount("default", new() @@ -77,6 +87,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Account can be imported using the id, e.g. @@ -134,6 +146,12 @@ public partial class RdsAccount : global::Pulumi.CustomResource [Output("accountType")] public Output AccountType { get; private set; } = null!; + /// + /// Whether to apply password policy + /// + [Output("checkPolicy")] + public Output CheckPolicy { get; private set; } = null!; + /// /// The ID of the instance. /// @@ -183,7 +201,7 @@ public partial class RdsAccount : global::Pulumi.CustomResource public Output ResetPermissionFlag { get; private set; } = null!; /// - /// The status of the resource. Valid values: `Available`, `Unavailable`. + /// The status of the resource /// [Output("status")] public Output Status { get; private set; } = null!; @@ -303,6 +321,12 @@ public Input? AccountPassword [Input("accountType")] public Input? AccountType { get; set; } + /// + /// Whether to apply password policy + /// + [Input("checkPolicy")] + public Input? CheckPolicy { get; set; } + /// /// The ID of the instance. /// @@ -368,6 +392,12 @@ public Input? Password [Input("resetPermissionFlag")] public Input? ResetPermissionFlag { get; set; } + /// + /// The status of the resource + /// + [Input("status")] + public Input? Status { get; set; } + /// /// The attribute has been deprecated from 1.120.0 and using `AccountType` instead. /// @@ -440,6 +470,12 @@ public Input? AccountPassword [Input("accountType")] public Input? AccountType { get; set; } + /// + /// Whether to apply password policy + /// + [Input("checkPolicy")] + public Input? CheckPolicy { get; set; } + /// /// The ID of the instance. /// @@ -506,7 +542,7 @@ public Input? Password public Input? ResetPermissionFlag { get; set; } /// - /// The status of the resource. Valid values: `Available`, `Unavailable`. + /// The status of the resource /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/Rds/RdsBackup.cs b/sdk/dotnet/Rds/RdsBackup.cs index 8c21f27f8c..d05101e846 100644 --- a/sdk/dotnet/Rds/RdsBackup.cs +++ b/sdk/dotnet/Rds/RdsBackup.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Backup can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/RdsCloneDbInstance.cs b/sdk/dotnet/Rds/RdsCloneDbInstance.cs index e6b1d68b3a..03f59c3b3a 100644 --- a/sdk/dotnet/Rds/RdsCloneDbInstance.cs +++ b/sdk/dotnet/Rds/RdsCloneDbInstance.cs @@ -90,6 +90,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Clone DB Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/RdsDbProxy.cs b/sdk/dotnet/Rds/RdsDbProxy.cs index c71edc5da5..bd5277ffbb 100644 --- a/sdk/dotnet/Rds/RdsDbProxy.cs +++ b/sdk/dotnet/Rds/RdsDbProxy.cs @@ -108,6 +108,8 @@ namespace Pulumi.AliCloud.Rds /// /// > **NOTE:** Resource `alicloud.rds.RdsDbProxy` should be created after `alicloud.rds.ReadOnlyInstance`, so the `DependsOn` statement is necessary. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS database proxy feature can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/RdsInstanceCrossBackupPolicy.cs b/sdk/dotnet/Rds/RdsInstanceCrossBackupPolicy.cs index f2373bbd83..5d188114fe 100644 --- a/sdk/dotnet/Rds/RdsInstanceCrossBackupPolicy.cs +++ b/sdk/dotnet/Rds/RdsInstanceCrossBackupPolicy.cs @@ -83,6 +83,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS remote disaster recovery policies can be imported using id or instance id, e.g. diff --git a/sdk/dotnet/Rds/RdsParameterGroup.cs b/sdk/dotnet/Rds/RdsParameterGroup.cs index ce6863bafd..665513780e 100644 --- a/sdk/dotnet/Rds/RdsParameterGroup.cs +++ b/sdk/dotnet/Rds/RdsParameterGroup.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Parameter Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/RdsServiceLinkedRole.cs b/sdk/dotnet/Rds/RdsServiceLinkedRole.cs index bf279018fd..ec486373fd 100644 --- a/sdk/dotnet/Rds/RdsServiceLinkedRole.cs +++ b/sdk/dotnet/Rds/RdsServiceLinkedRole.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Service Linked Role can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/RdsUpgradeDbInstance.cs b/sdk/dotnet/Rds/RdsUpgradeDbInstance.cs index 6e0205ce4b..7ccdae838c 100644 --- a/sdk/dotnet/Rds/RdsUpgradeDbInstance.cs +++ b/sdk/dotnet/Rds/RdsUpgradeDbInstance.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS Upgrade DB Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/ReadOnlyInstance.cs b/sdk/dotnet/Rds/ReadOnlyInstance.cs index 45bf57207e..c064dc2519 100644 --- a/sdk/dotnet/Rds/ReadOnlyInstance.cs +++ b/sdk/dotnet/Rds/ReadOnlyInstance.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS readonly instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/ReadWriteSplittingConnection.cs b/sdk/dotnet/Rds/ReadWriteSplittingConnection.cs index af40552ad0..456eaa20f1 100644 --- a/sdk/dotnet/Rds/ReadWriteSplittingConnection.cs +++ b/sdk/dotnet/Rds/ReadWriteSplittingConnection.cs @@ -106,6 +106,8 @@ namespace Pulumi.AliCloud.Rds /// /// > **NOTE:** Resource `alicloud.rds.ReadWriteSplittingConnection` should be created after `alicloud.rds.ReadOnlyInstance`, so the `DependsOn` statement is necessary. /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RDS read write splitting connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Rds/WhitelistTemplate.cs b/sdk/dotnet/Rds/WhitelistTemplate.cs index 2c1cdf37e7..7cf2b3ae10 100644 --- a/sdk/dotnet/Rds/WhitelistTemplate.cs +++ b/sdk/dotnet/Rds/WhitelistTemplate.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.Rds /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// You can use the whitelist template ID to import whitelist templates, e.g. diff --git a/sdk/dotnet/RealtimeCompute/Deployment.cs b/sdk/dotnet/RealtimeCompute/Deployment.cs new file mode 100644 index 0000000000..fe75f93354 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Deployment.cs @@ -0,0 +1,474 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute +{ + /// + /// Provides a Realtime Compute Deployment resource. + /// + /// Deployment in the Realtime Compute console. + /// + /// For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). + /// + /// > **NOTE:** Available since v1.265.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.Vpc.Network("default", new() + /// { + /// IsDefault = false, + /// CidrBlock = "172.16.0.0/16", + /// VpcName = "example-tf-vpc-deployment", + /// }); + /// + /// var defaultSwitch = new AliCloud.Vpc.Switch("default", new() + /// { + /// IsDefault = false, + /// VpcId = @default.Id, + /// ZoneId = "cn-beijing-g", + /// CidrBlock = "172.16.0.0/24", + /// VswitchName = "example-tf-vSwitch-deployment", + /// }); + /// + /// var defaultBucket = new AliCloud.Oss.Bucket("default"); + /// + /// var defaultVvpInstance = new AliCloud.RealtimeCompute.VvpInstance("default", new() + /// { + /// VvpInstanceName = "code-example-tf-deployment", + /// Storage = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageArgs + /// { + /// Oss = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageOssArgs + /// { + /// Bucket = defaultBucket.Id, + /// }, + /// }, + /// VpcId = @default.Id, + /// VswitchIds = new[] + /// { + /// defaultSwitch.Id, + /// }, + /// ResourceSpec = new AliCloud.RealtimeCompute.Inputs.VvpInstanceResourceSpecArgs + /// { + /// Cpu = 8, + /// MemoryGb = 32, + /// }, + /// PaymentType = "PayAsYouGo", + /// ZoneId = defaultSwitch.ZoneId, + /// }); + /// + /// var createDeployment9 = new AliCloud.RealtimeCompute.Deployment("create_Deployment9", new() + /// { + /// DeploymentName = "tf-example-deployment-sql-56", + /// EngineVersion = "vvr-8.0.10-flink-1.17", + /// ResourceId = defaultVvpInstance.ResourceId, + /// ExecutionMode = "STREAMING", + /// DeploymentTarget = new AliCloud.RealtimeCompute.Inputs.DeploymentDeploymentTargetArgs + /// { + /// Mode = "PER_JOB", + /// Name = "default-queue", + /// }, + /// Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName => $"{vvpInstanceName}-default"), + /// Artifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactArgs + /// { + /// Kind = "SQLSCRIPT", + /// SqlArtifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactSqlArtifactArgs + /// { + /// SqlScript = "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Realtime Compute Deployment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:realtimecompute/deployment:Deployment example <resource_id>:<namespace>:<deployment_id> + /// ``` + /// + [AliCloudResourceType("alicloud:realtimecompute/deployment:Deployment")] + public partial class Deployment : global::Pulumi.CustomResource + { + /// + /// Content of the deployment job See `Artifact` below. + /// + [Output("artifact")] + public Output Artifact { get; private set; } = null!; + + /// + /// Batch job resource settings See `BatchResourceSetting` below. + /// + [Output("batchResourceSetting")] + public Output BatchResourceSetting { get; private set; } = null!; + + /// + /// Resource property field representing the primary resource ID + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// Name of the deployment + /// + [Output("deploymentName")] + public Output DeploymentName { get; private set; } = null!; + + /// + /// Deployment target See `DeploymentTarget` below. + /// + [Output("deploymentTarget")] + public Output DeploymentTarget { get; private set; } = null!; + + /// + /// Description + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Engine version of the deployment instance + /// + [Output("engineVersion")] + public Output EngineVersion { get; private set; } = null!; + + /// + /// Execution mode. Valid values: STREAMING or BATCH. + /// + [Output("executionMode")] + public Output ExecutionMode { get; private set; } = null!; + + /// + /// Flink configuration + /// + [Output("flinkConf")] + public Output> FlinkConf { get; private set; } = null!; + + /// + /// Deployment labels + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// Job variables See `LocalVariables` below. + /// + [Output("localVariables")] + public Output> LocalVariables { get; private set; } = null!; + + /// + /// Job log configuration See `Logging` below. + /// + [Output("logging")] + public Output Logging { get; private set; } = null!; + + /// + /// Namespace name + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// Workspace resource ID + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// Resource settings for streaming mode See `StreamingResourceSetting` below. + /// + [Output("streamingResourceSetting")] + public Output StreamingResourceSetting { get; private set; } = null!; + + + /// + /// Create a Deployment 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 Deployment(string name, DeploymentArgs args, CustomResourceOptions? options = null) + : base("alicloud:realtimecompute/deployment:Deployment", name, args ?? new DeploymentArgs(), MakeResourceOptions(options, "")) + { + } + + private Deployment(string name, Input id, DeploymentState? state = null, CustomResourceOptions? options = null) + : base("alicloud:realtimecompute/deployment:Deployment", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Deployment 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 Deployment Get(string name, Input id, DeploymentState? state = null, CustomResourceOptions? options = null) + { + return new Deployment(name, id, state, options); + } + } + + public sealed class DeploymentArgs : global::Pulumi.ResourceArgs + { + /// + /// Content of the deployment job See `Artifact` below. + /// + [Input("artifact", required: true)] + public Input Artifact { get; set; } = null!; + + /// + /// Batch job resource settings See `BatchResourceSetting` below. + /// + [Input("batchResourceSetting")] + public Input? BatchResourceSetting { get; set; } + + /// + /// Name of the deployment + /// + [Input("deploymentName", required: true)] + public Input DeploymentName { get; set; } = null!; + + /// + /// Deployment target See `DeploymentTarget` below. + /// + [Input("deploymentTarget", required: true)] + public Input DeploymentTarget { get; set; } = null!; + + /// + /// Description + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Engine version of the deployment instance + /// + [Input("engineVersion")] + public Input? EngineVersion { get; set; } + + /// + /// Execution mode. Valid values: STREAMING or BATCH. + /// + [Input("executionMode", required: true)] + public Input ExecutionMode { get; set; } = null!; + + [Input("flinkConf")] + private InputMap? _flinkConf; + + /// + /// Flink configuration + /// + public InputMap FlinkConf + { + get => _flinkConf ?? (_flinkConf = new InputMap()); + set => _flinkConf = value; + } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Deployment labels + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + [Input("localVariables")] + private InputList? _localVariables; + + /// + /// Job variables See `LocalVariables` below. + /// + public InputList LocalVariables + { + get => _localVariables ?? (_localVariables = new InputList()); + set => _localVariables = value; + } + + /// + /// Job log configuration See `Logging` below. + /// + [Input("logging")] + public Input? Logging { get; set; } + + /// + /// Namespace name + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + /// + /// Workspace resource ID + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// Resource settings for streaming mode See `StreamingResourceSetting` below. + /// + [Input("streamingResourceSetting")] + public Input? StreamingResourceSetting { get; set; } + + public DeploymentArgs() + { + } + public static new DeploymentArgs Empty => new DeploymentArgs(); + } + + public sealed class DeploymentState : global::Pulumi.ResourceArgs + { + /// + /// Content of the deployment job See `Artifact` below. + /// + [Input("artifact")] + public Input? Artifact { get; set; } + + /// + /// Batch job resource settings See `BatchResourceSetting` below. + /// + [Input("batchResourceSetting")] + public Input? BatchResourceSetting { get; set; } + + /// + /// Resource property field representing the primary resource ID + /// + [Input("deploymentId")] + public Input? DeploymentId { get; set; } + + /// + /// Name of the deployment + /// + [Input("deploymentName")] + public Input? DeploymentName { get; set; } + + /// + /// Deployment target See `DeploymentTarget` below. + /// + [Input("deploymentTarget")] + public Input? DeploymentTarget { get; set; } + + /// + /// Description + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Engine version of the deployment instance + /// + [Input("engineVersion")] + public Input? EngineVersion { get; set; } + + /// + /// Execution mode. Valid values: STREAMING or BATCH. + /// + [Input("executionMode")] + public Input? ExecutionMode { get; set; } + + [Input("flinkConf")] + private InputMap? _flinkConf; + + /// + /// Flink configuration + /// + public InputMap FlinkConf + { + get => _flinkConf ?? (_flinkConf = new InputMap()); + set => _flinkConf = value; + } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Deployment labels + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + [Input("localVariables")] + private InputList? _localVariables; + + /// + /// Job variables See `LocalVariables` below. + /// + public InputList LocalVariables + { + get => _localVariables ?? (_localVariables = new InputList()); + set => _localVariables = value; + } + + /// + /// Job log configuration See `Logging` below. + /// + [Input("logging")] + public Input? Logging { get; set; } + + /// + /// Namespace name + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// Workspace resource ID + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// Resource settings for streaming mode See `StreamingResourceSetting` below. + /// + [Input("streamingResourceSetting")] + public Input? StreamingResourceSetting { get; set; } + + public DeploymentState() + { + } + public static new DeploymentState Empty => new DeploymentState(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactArgs.cs new file mode 100644 index 0000000000..c7dbb5ca70 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactArgs : global::Pulumi.ResourceArgs + { + /// + /// JarArtifact See `JarArtifact` below. + /// + [Input("jarArtifact")] + public Input? JarArtifact { get; set; } + + /// + /// Artifact type + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// PythonArtifact See `PythonArtifact` below. + /// + [Input("pythonArtifact")] + public Input? PythonArtifact { get; set; } + + /// + /// SqlArtifact See `SqlArtifact` below. + /// + [Input("sqlArtifact")] + public Input? SqlArtifact { get; set; } + + public DeploymentArtifactArgs() + { + } + public static new DeploymentArtifactArgs Empty => new DeploymentArtifactArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactGetArgs.cs new file mode 100644 index 0000000000..a75f23cc95 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactGetArgs : global::Pulumi.ResourceArgs + { + /// + /// JarArtifact See `JarArtifact` below. + /// + [Input("jarArtifact")] + public Input? JarArtifact { get; set; } + + /// + /// Artifact type + /// + [Input("kind", required: true)] + public Input Kind { get; set; } = null!; + + /// + /// PythonArtifact See `PythonArtifact` below. + /// + [Input("pythonArtifact")] + public Input? PythonArtifact { get; set; } + + /// + /// SqlArtifact See `SqlArtifact` below. + /// + [Input("sqlArtifact")] + public Input? SqlArtifact { get; set; } + + public DeploymentArtifactGetArgs() + { + } + public static new DeploymentArtifactGetArgs Empty => new DeploymentArtifactGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactArgs.cs new file mode 100644 index 0000000000..96681ad0b3 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactJarArtifactArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + /// + /// Main class; you must specify the fully qualified class name + /// + [Input("entryClass")] + public Input? EntryClass { get; set; } + + /// + /// Full URL path of the JAR job + /// + [Input("jarUri")] + public Input? JarUri { get; set; } + + /// + /// Startup arguments + /// + [Input("mainArgs")] + public Input? MainArgs { get; set; } + + public DeploymentArtifactJarArtifactArgs() + { + } + public static new DeploymentArtifactJarArtifactArgs Empty => new DeploymentArtifactJarArtifactArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactGetArgs.cs new file mode 100644 index 0000000000..dcf312a72f --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactJarArtifactGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactJarArtifactGetArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + /// + /// Main class; you must specify the fully qualified class name + /// + [Input("entryClass")] + public Input? EntryClass { get; set; } + + /// + /// Full URL path of the JAR job + /// + [Input("jarUri")] + public Input? JarUri { get; set; } + + /// + /// Startup arguments + /// + [Input("mainArgs")] + public Input? MainArgs { get; set; } + + public DeploymentArtifactJarArtifactGetArgs() + { + } + public static new DeploymentArtifactJarArtifactGetArgs Empty => new DeploymentArtifactJarArtifactGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactArgs.cs new file mode 100644 index 0000000000..7af22fb863 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactPythonArtifactArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + [Input("additionalPythonArchives")] + private InputList? _additionalPythonArchives; + + /// + /// URL paths of dependent Python archive files + /// + public InputList AdditionalPythonArchives + { + get => _additionalPythonArchives ?? (_additionalPythonArchives = new InputList()); + set => _additionalPythonArchives = value; + } + + [Input("additionalPythonLibraries")] + private InputList? _additionalPythonLibraries; + + /// + /// URL paths of dependent Python library files + /// + public InputList AdditionalPythonLibraries + { + get => _additionalPythonLibraries ?? (_additionalPythonLibraries = new InputList()); + set => _additionalPythonLibraries = value; + } + + /// + /// Entry module for Python + /// + [Input("entryModule")] + public Input? EntryModule { get; set; } + + /// + /// Startup arguments + /// + [Input("mainArgs")] + public Input? MainArgs { get; set; } + + /// + /// Full URL path of the Python job + /// + [Input("pythonArtifactUri")] + public Input? PythonArtifactUri { get; set; } + + public DeploymentArtifactPythonArtifactArgs() + { + } + public static new DeploymentArtifactPythonArtifactArgs Empty => new DeploymentArtifactPythonArtifactArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactGetArgs.cs new file mode 100644 index 0000000000..663fdc6642 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactPythonArtifactGetArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactPythonArtifactGetArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + [Input("additionalPythonArchives")] + private InputList? _additionalPythonArchives; + + /// + /// URL paths of dependent Python archive files + /// + public InputList AdditionalPythonArchives + { + get => _additionalPythonArchives ?? (_additionalPythonArchives = new InputList()); + set => _additionalPythonArchives = value; + } + + [Input("additionalPythonLibraries")] + private InputList? _additionalPythonLibraries; + + /// + /// URL paths of dependent Python library files + /// + public InputList AdditionalPythonLibraries + { + get => _additionalPythonLibraries ?? (_additionalPythonLibraries = new InputList()); + set => _additionalPythonLibraries = value; + } + + /// + /// Entry module for Python + /// + [Input("entryModule")] + public Input? EntryModule { get; set; } + + /// + /// Startup arguments + /// + [Input("mainArgs")] + public Input? MainArgs { get; set; } + + /// + /// Full URL path of the Python job + /// + [Input("pythonArtifactUri")] + public Input? PythonArtifactUri { get; set; } + + public DeploymentArtifactPythonArtifactGetArgs() + { + } + public static new DeploymentArtifactPythonArtifactGetArgs Empty => new DeploymentArtifactPythonArtifactGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactArgs.cs new file mode 100644 index 0000000000..b613f3ac4d --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactSqlArtifactArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + /// + /// Text content of the SQL job + /// + [Input("sqlScript")] + public Input? SqlScript { get; set; } + + public DeploymentArtifactSqlArtifactArgs() + { + } + public static new DeploymentArtifactSqlArtifactArgs Empty => new DeploymentArtifactSqlArtifactArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactGetArgs.cs new file mode 100644 index 0000000000..7d18dbe21b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentArtifactSqlArtifactGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentArtifactSqlArtifactGetArgs : global::Pulumi.ResourceArgs + { + [Input("additionalDependencies")] + private InputList? _additionalDependencies; + + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public InputList AdditionalDependencies + { + get => _additionalDependencies ?? (_additionalDependencies = new InputList()); + set => _additionalDependencies = value; + } + + /// + /// Text content of the SQL job + /// + [Input("sqlScript")] + public Input? SqlScript { get; set; } + + public DeploymentArtifactSqlArtifactGetArgs() + { + } + public static new DeploymentArtifactSqlArtifactGetArgs Empty => new DeploymentArtifactSqlArtifactGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingArgs.cs new file mode 100644 index 0000000000..14153d2154 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + [Input("basicResourceSetting")] + public Input? BasicResourceSetting { get; set; } + + /// + /// Maximum number of slots + /// + [Input("maxSlot")] + public Input? MaxSlot { get; set; } + + public DeploymentBatchResourceSettingArgs() + { + } + public static new DeploymentBatchResourceSettingArgs Empty => new DeploymentBatchResourceSettingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.cs new file mode 100644 index 0000000000..6082bf887b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + [Input("parallelism")] + public Input? Parallelism { get; set; } + + [Input("taskmanagerResourceSettingSpec")] + public Input? TaskmanagerResourceSettingSpec { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingGetArgs.cs new file mode 100644 index 0000000000..e26d3e489a --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingGetArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + [Input("parallelism")] + public Input? Parallelism { get; set; } + + [Input("taskmanagerResourceSettingSpec")] + public Input? TaskmanagerResourceSettingSpec { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingGetArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingGetArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs new file mode 100644 index 0000000000..6252ecb829 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs new file mode 100644 index 0000000000..540ee9b5ad --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs new file mode 100644 index 0000000000..c0e2843c10 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs new file mode 100644 index 0000000000..4375bac122 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs() + { + } + public static new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs Empty => new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingGetArgs.cs new file mode 100644 index 0000000000..57c27430c1 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentBatchResourceSettingGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentBatchResourceSettingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + [Input("basicResourceSetting")] + public Input? BasicResourceSetting { get; set; } + + /// + /// Maximum number of slots + /// + [Input("maxSlot")] + public Input? MaxSlot { get; set; } + + public DeploymentBatchResourceSettingGetArgs() + { + } + public static new DeploymentBatchResourceSettingGetArgs Empty => new DeploymentBatchResourceSettingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetArgs.cs new file mode 100644 index 0000000000..04ff730a08 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentDeploymentTargetArgs : global::Pulumi.ResourceArgs + { + /// + /// Deployment mode, valid values: PER_JOB or SESSION + /// + [Input("mode", required: true)] + public Input Mode { get; set; } = null!; + + /// + /// Deployment target name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public DeploymentDeploymentTargetArgs() + { + } + public static new DeploymentDeploymentTargetArgs Empty => new DeploymentDeploymentTargetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetGetArgs.cs new file mode 100644 index 0000000000..8d08ae1bb3 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentDeploymentTargetGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentDeploymentTargetGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Deployment mode, valid values: PER_JOB or SESSION + /// + [Input("mode", required: true)] + public Input Mode { get; set; } = null!; + + /// + /// Deployment target name + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public DeploymentDeploymentTargetGetArgs() + { + } + public static new DeploymentDeploymentTargetGetArgs Empty => new DeploymentDeploymentTargetGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableArgs.cs new file mode 100644 index 0000000000..c2c63f8a8d --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLocalVariableArgs : global::Pulumi.ResourceArgs + { + /// + /// Job variable name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Job variable value + /// + [Input("value")] + public Input? Value { get; set; } + + public DeploymentLocalVariableArgs() + { + } + public static new DeploymentLocalVariableArgs Empty => new DeploymentLocalVariableArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableGetArgs.cs new file mode 100644 index 0000000000..3df2a36f5b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLocalVariableGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLocalVariableGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Job variable name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Job variable value + /// + [Input("value")] + public Input? Value { get; set; } + + public DeploymentLocalVariableGetArgs() + { + } + public static new DeploymentLocalVariableGetArgs Empty => new DeploymentLocalVariableGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingArgs.cs new file mode 100644 index 0000000000..4620c82475 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingArgs : global::Pulumi.ResourceArgs + { + /// + /// Custom log template + /// + [Input("log4j2ConfigurationTemplate")] + public Input? Log4j2ConfigurationTemplate { get; set; } + + [Input("log4jLoggers")] + private InputList? _log4jLoggers; + + /// + /// log4j configuration See `Log4jLoggers` below. + /// + public InputList Log4jLoggers + { + get => _log4jLoggers ?? (_log4jLoggers = new InputList()); + set => _log4jLoggers = value; + } + + /// + /// Log retention policy See `LogReservePolicy` below. + /// + [Input("logReservePolicy")] + public Input? LogReservePolicy { get; set; } + + /// + /// Default system log template + /// + [Input("loggingProfile")] + public Input? LoggingProfile { get; set; } + + public DeploymentLoggingArgs() + { + } + public static new DeploymentLoggingArgs Empty => new DeploymentLoggingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingGetArgs.cs new file mode 100644 index 0000000000..7e7bb75511 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Custom log template + /// + [Input("log4j2ConfigurationTemplate")] + public Input? Log4j2ConfigurationTemplate { get; set; } + + [Input("log4jLoggers")] + private InputList? _log4jLoggers; + + /// + /// log4j configuration See `Log4jLoggers` below. + /// + public InputList Log4jLoggers + { + get => _log4jLoggers ?? (_log4jLoggers = new InputList()); + set => _log4jLoggers = value; + } + + /// + /// Log retention policy See `LogReservePolicy` below. + /// + [Input("logReservePolicy")] + public Input? LogReservePolicy { get; set; } + + /// + /// Default system log template + /// + [Input("loggingProfile")] + public Input? LoggingProfile { get; set; } + + public DeploymentLoggingGetArgs() + { + } + public static new DeploymentLoggingGetArgs Empty => new DeploymentLoggingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerArgs.cs new file mode 100644 index 0000000000..ef0f9659cd --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingLog4jLoggerArgs : global::Pulumi.ResourceArgs + { + /// + /// Log output level + /// + [Input("loggerLevel")] + public Input? LoggerLevel { get; set; } + + /// + /// Class name for log output + /// + [Input("loggerName")] + public Input? LoggerName { get; set; } + + public DeploymentLoggingLog4jLoggerArgs() + { + } + public static new DeploymentLoggingLog4jLoggerArgs Empty => new DeploymentLoggingLog4jLoggerArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerGetArgs.cs new file mode 100644 index 0000000000..38b257a048 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLog4jLoggerGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingLog4jLoggerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Log output level + /// + [Input("loggerLevel")] + public Input? LoggerLevel { get; set; } + + /// + /// Class name for log output + /// + [Input("loggerName")] + public Input? LoggerName { get; set; } + + public DeploymentLoggingLog4jLoggerGetArgs() + { + } + public static new DeploymentLoggingLog4jLoggerGetArgs Empty => new DeploymentLoggingLog4jLoggerGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyArgs.cs new file mode 100644 index 0000000000..581082aa8c --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingLogReservePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of days to retain logs after log retention is enabled + /// + [Input("expirationDays")] + public Input? ExpirationDays { get; set; } + + /// + /// Whether to enable log retention + /// + [Input("openHistory")] + public Input? OpenHistory { get; set; } + + public DeploymentLoggingLogReservePolicyArgs() + { + } + public static new DeploymentLoggingLogReservePolicyArgs Empty => new DeploymentLoggingLogReservePolicyArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyGetArgs.cs new file mode 100644 index 0000000000..6377372602 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentLoggingLogReservePolicyGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentLoggingLogReservePolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of days to retain logs after log retention is enabled + /// + [Input("expirationDays")] + public Input? ExpirationDays { get; set; } + + /// + /// Whether to enable log retention + /// + [Input("openHistory")] + public Input? OpenHistory { get; set; } + + public DeploymentLoggingLogReservePolicyGetArgs() + { + } + public static new DeploymentLoggingLogReservePolicyGetArgs Empty => new DeploymentLoggingLogReservePolicyGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingArgs.cs new file mode 100644 index 0000000000..003fd252c2 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + [Input("basicResourceSetting")] + public Input? BasicResourceSetting { get; set; } + + /// + /// Expert mode resource settings See `ExpertResourceSetting` below. + /// + [Input("expertResourceSetting")] + public Input? ExpertResourceSetting { get; set; } + + /// + /// Resource mode used in streaming mode, valid values: BASIC or EXPERT + /// + [Input("resourceSettingMode")] + public Input? ResourceSettingMode { get; set; } + + public DeploymentStreamingResourceSettingArgs() + { + } + public static new DeploymentStreamingResourceSettingArgs Empty => new DeploymentStreamingResourceSettingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.cs new file mode 100644 index 0000000000..4411c46687 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + [Input("parallelism")] + public Input? Parallelism { get; set; } + + [Input("taskmanagerResourceSettingSpec")] + public Input? TaskmanagerResourceSettingSpec { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingGetArgs.cs new file mode 100644 index 0000000000..e0dd8f4895 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingGetArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + [Input("parallelism")] + public Input? Parallelism { get; set; } + + [Input("taskmanagerResourceSettingSpec")] + public Input? TaskmanagerResourceSettingSpec { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingGetArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingGetArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs new file mode 100644 index 0000000000..da54f5fdd5 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs new file mode 100644 index 0000000000..358bd9fa98 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs new file mode 100644 index 0000000000..9d5ad1390c --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs new file mode 100644 index 0000000000..b3fad4ee5f --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs() + { + } + public static new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs Empty => new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.cs new file mode 100644 index 0000000000..b549805ad9 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingExpertResourceSettingArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + /// + /// Resource plan for expert mode + /// + [Input("resourcePlan")] + public Input? ResourcePlan { get; set; } + + public DeploymentStreamingResourceSettingExpertResourceSettingArgs() + { + } + public static new DeploymentStreamingResourceSettingExpertResourceSettingArgs Empty => new DeploymentStreamingResourceSettingExpertResourceSettingArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingGetArgs.cs new file mode 100644 index 0000000000..e3d92463f5 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingExpertResourceSettingGetArgs : global::Pulumi.ResourceArgs + { + [Input("jobmanagerResourceSettingSpec")] + public Input? JobmanagerResourceSettingSpec { get; set; } + + /// + /// Resource plan for expert mode + /// + [Input("resourcePlan")] + public Input? ResourcePlan { get; set; } + + public DeploymentStreamingResourceSettingExpertResourceSettingGetArgs() + { + } + public static new DeploymentStreamingResourceSettingExpertResourceSettingGetArgs Empty => new DeploymentStreamingResourceSettingExpertResourceSettingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.cs new file mode 100644 index 0000000000..54cb13c61b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs() + { + } + public static new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs Empty => new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs.cs new file mode 100644 index 0000000000..06ba19a8d1 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + [Input("memory")] + public Input? Memory { get; set; } + + public DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs() + { + } + public static new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs Empty => new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingGetArgs.cs new file mode 100644 index 0000000000..e6ce0b8007 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/DeploymentStreamingResourceSettingGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class DeploymentStreamingResourceSettingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + [Input("basicResourceSetting")] + public Input? BasicResourceSetting { get; set; } + + /// + /// Expert mode resource settings See `ExpertResourceSetting` below. + /// + [Input("expertResourceSetting")] + public Input? ExpertResourceSetting { get; set; } + + /// + /// Resource mode used in streaming mode, valid values: BASIC or EXPERT + /// + [Input("resourceSettingMode")] + public Input? ResourceSettingMode { get; set; } + + public DeploymentStreamingResourceSettingGetArgs() + { + } + public static new DeploymentStreamingResourceSettingGetArgs Empty => new DeploymentStreamingResourceSettingGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableArgs.cs new file mode 100644 index 0000000000..ccfc21ddae --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobLocalVariableArgs : global::Pulumi.ResourceArgs + { + /// + /// Local variables name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Local variables value + /// + [Input("value")] + public Input? Value { get; set; } + + public JobLocalVariableArgs() + { + } + public static new JobLocalVariableArgs Empty => new JobLocalVariableArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableGetArgs.cs new file mode 100644 index 0000000000..0e2f83e2e5 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobLocalVariableGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobLocalVariableGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Local variables name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Local variables value + /// + [Input("value")] + public Input? Value { get; set; } + + public JobLocalVariableGetArgs() + { + } + public static new JobLocalVariableGetArgs Empty => new JobLocalVariableGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyArgs.cs new file mode 100644 index 0000000000..9ea818fc24 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobRestoreStrategyArgs : global::Pulumi.ResourceArgs + { + /// + /// Stateless startup + /// + [Input("allowNonRestoredState")] + public Input? AllowNonRestoredState { get; set; } + + /// + /// Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + /// + [Input("jobStartTimeInMs")] + public Input? JobStartTimeInMs { get; set; } + + /// + /// Restore type + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// SavepointId + /// + [Input("savepointId")] + public Input? SavepointId { get; set; } + + public JobRestoreStrategyArgs() + { + } + public static new JobRestoreStrategyArgs Empty => new JobRestoreStrategyArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyGetArgs.cs new file mode 100644 index 0000000000..982ec378b5 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobRestoreStrategyGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobRestoreStrategyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Stateless startup + /// + [Input("allowNonRestoredState")] + public Input? AllowNonRestoredState { get; set; } + + /// + /// Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + /// + [Input("jobStartTimeInMs")] + public Input? JobStartTimeInMs { get; set; } + + /// + /// Restore type + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// SavepointId + /// + [Input("savepointId")] + public Input? SavepointId { get; set; } + + public JobRestoreStrategyGetArgs() + { + } + public static new JobRestoreStrategyGetArgs Empty => new JobRestoreStrategyGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusArgs.cs new file mode 100644 index 0000000000..46c4a07b0a --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusArgs : global::Pulumi.ResourceArgs + { + /// + /// Job current status + /// + [Input("currentJobStatus")] + public Input? CurrentJobStatus { get; set; } + + /// + /// Job failure information + /// + [Input("failure")] + public Input? Failure { get; set; } + + /// + /// Job Run Health Score + /// + [Input("healthScore")] + public Input? HealthScore { get; set; } + + /// + /// Risk level, which indicates the risk level of the operation status of the job. + /// + [Input("riskLevel")] + public Input? RiskLevel { get; set; } + + /// + /// job running status, which has value when the job is Running. + /// + [Input("running")] + public Input? Running { get; set; } + + public JobStatusArgs() + { + } + public static new JobStatusArgs Empty => new JobStatusArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureArgs.cs new file mode 100644 index 0000000000..f5f00f0dce --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusFailureArgs : global::Pulumi.ResourceArgs + { + /// + /// Job failure time + /// + [Input("failedAt")] + public Input? FailedAt { get; set; } + + /// + /// Failure Information Details + /// + [Input("message")] + public Input? Message { get; set; } + + /// + /// Failure Reason + /// + [Input("reason")] + public Input? Reason { get; set; } + + public JobStatusFailureArgs() + { + } + public static new JobStatusFailureArgs Empty => new JobStatusFailureArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureGetArgs.cs new file mode 100644 index 0000000000..7d44a1c8e5 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusFailureGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusFailureGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Job failure time + /// + [Input("failedAt")] + public Input? FailedAt { get; set; } + + /// + /// Failure Information Details + /// + [Input("message")] + public Input? Message { get; set; } + + /// + /// Failure Reason + /// + [Input("reason")] + public Input? Reason { get; set; } + + public JobStatusFailureGetArgs() + { + } + public static new JobStatusFailureGetArgs Empty => new JobStatusFailureGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusGetArgs.cs new file mode 100644 index 0000000000..7fb230af27 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Job current status + /// + [Input("currentJobStatus")] + public Input? CurrentJobStatus { get; set; } + + /// + /// Job failure information + /// + [Input("failure")] + public Input? Failure { get; set; } + + /// + /// Job Run Health Score + /// + [Input("healthScore")] + public Input? HealthScore { get; set; } + + /// + /// Risk level, which indicates the risk level of the operation status of the job. + /// + [Input("riskLevel")] + public Input? RiskLevel { get; set; } + + /// + /// job running status, which has value when the job is Running. + /// + [Input("running")] + public Input? Running { get; set; } + + public JobStatusGetArgs() + { + } + public static new JobStatusGetArgs Empty => new JobStatusGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningArgs.cs new file mode 100644 index 0000000000..91bac0b33c --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusRunningArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of job restarts + /// + [Input("observedFlinkJobRestarts")] + public Input? ObservedFlinkJobRestarts { get; set; } + + /// + /// Flink job status + /// + [Input("observedFlinkJobStatus")] + public Input? ObservedFlinkJobStatus { get; set; } + + public JobStatusRunningArgs() + { + } + public static new JobStatusRunningArgs Empty => new JobStatusRunningArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningGetArgs.cs b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningGetArgs.cs new file mode 100644 index 0000000000..5bae5efb6b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Inputs/JobStatusRunningGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Inputs +{ + + public sealed class JobStatusRunningGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of job restarts + /// + [Input("observedFlinkJobRestarts")] + public Input? ObservedFlinkJobRestarts { get; set; } + + /// + /// Flink job status + /// + [Input("observedFlinkJobStatus")] + public Input? ObservedFlinkJobStatus { get; set; } + + public JobStatusRunningGetArgs() + { + } + public static new JobStatusRunningGetArgs Empty => new JobStatusRunningGetArgs(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Job.cs b/sdk/dotnet/RealtimeCompute/Job.cs new file mode 100644 index 0000000000..b4573e49cd --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Job.cs @@ -0,0 +1,363 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute +{ + /// + /// Provides a Realtime Compute Job resource. + /// + /// For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). + /// + /// > **NOTE:** Available since v1.265.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.Vpc.Network("default", new() + /// { + /// IsDefault = false, + /// CidrBlock = "172.16.0.0/16", + /// VpcName = "example-tf-vpc-deployment", + /// }); + /// + /// var defaultSwitch = new AliCloud.Vpc.Switch("default", new() + /// { + /// IsDefault = false, + /// VpcId = @default.Id, + /// ZoneId = "cn-beijing-g", + /// CidrBlock = "172.16.0.0/24", + /// VswitchName = "example-tf-vSwitch-deployment", + /// }); + /// + /// var defaultBucket = new AliCloud.Oss.Bucket("default"); + /// + /// var defaultVvpInstance = new AliCloud.RealtimeCompute.VvpInstance("default", new() + /// { + /// VvpInstanceName = "code-example-tf-deployment", + /// Storage = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageArgs + /// { + /// Oss = new AliCloud.RealtimeCompute.Inputs.VvpInstanceStorageOssArgs + /// { + /// Bucket = defaultBucket.Id, + /// }, + /// }, + /// VpcId = @default.Id, + /// VswitchIds = new[] + /// { + /// defaultSwitch.Id, + /// }, + /// ResourceSpec = new AliCloud.RealtimeCompute.Inputs.VvpInstanceResourceSpecArgs + /// { + /// Cpu = 8, + /// MemoryGb = 32, + /// }, + /// PaymentType = "PayAsYouGo", + /// ZoneId = defaultSwitch.ZoneId, + /// }); + /// + /// var createDeployment9 = new AliCloud.RealtimeCompute.Deployment("create_Deployment9", new() + /// { + /// DeploymentName = "tf-example-deployment-sql-56", + /// EngineVersion = "vvr-8.0.10-flink-1.17", + /// ResourceId = defaultVvpInstance.ResourceId, + /// ExecutionMode = "STREAMING", + /// DeploymentTarget = new AliCloud.RealtimeCompute.Inputs.DeploymentDeploymentTargetArgs + /// { + /// Mode = "PER_JOB", + /// Name = "default-queue", + /// }, + /// Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName => $"{vvpInstanceName}-default"), + /// Artifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactArgs + /// { + /// Kind = "SQLSCRIPT", + /// SqlArtifact = new AliCloud.RealtimeCompute.Inputs.DeploymentArtifactSqlArtifactArgs + /// { + /// SqlScript = "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + /// }, + /// }, + /// }); + /// + /// var defaultJob = new AliCloud.RealtimeCompute.Job("default", new() + /// { + /// LocalVariables = new[] + /// { + /// new AliCloud.RealtimeCompute.Inputs.JobLocalVariableArgs + /// { + /// Value = "qq", + /// Name = "tt", + /// }, + /// }, + /// RestoreStrategy = new AliCloud.RealtimeCompute.Inputs.JobRestoreStrategyArgs + /// { + /// Kind = "NONE", + /// JobStartTimeInMs = 1763694521254, + /// }, + /// Namespace = defaultVvpInstance.VvpInstanceName.Apply(vvpInstanceName => $"{vvpInstanceName}-default"), + /// StopStrategy = "NONE", + /// DeploymentId = createDeployment9.DeploymentId, + /// ResourceQueueName = "default-queue", + /// Status = new AliCloud.RealtimeCompute.Inputs.JobStatusArgs + /// { + /// CurrentJobStatus = "CANCELLED", + /// }, + /// ResourceId = defaultVvpInstance.ResourceId, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Realtime Compute Job can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:realtimecompute/job:Job example <resource_id>:<namespace>:<job_id> + /// ``` + /// + [AliCloudResourceType("alicloud:realtimecompute/job:Job")] + public partial class Job : global::Pulumi.CustomResource + { + /// + /// deploymentId + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// The first ID of the resource + /// + [Output("jobId")] + public Output JobId { get; private set; } = null!; + + /// + /// Local variables See `LocalVariables` below. + /// + [Output("localVariables")] + public Output> LocalVariables { get; private set; } = null!; + + /// + /// namespace + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// workspace + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// Resource Queue for Job Run + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("resourceQueueName")] + public Output ResourceQueueName { get; private set; } = null!; + + /// + /// Restore strategy See `RestoreStrategy` below. + /// + [Output("restoreStrategy")] + public Output RestoreStrategy { get; private set; } = null!; + + /// + /// job status See `Status` below. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + [Output("stopStrategy")] + public Output StopStrategy { get; private set; } = null!; + + + /// + /// Create a Job 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 Job(string name, JobArgs args, CustomResourceOptions? options = null) + : base("alicloud:realtimecompute/job:Job", name, args ?? new JobArgs(), MakeResourceOptions(options, "")) + { + } + + private Job(string name, Input id, JobState? state = null, CustomResourceOptions? options = null) + : base("alicloud:realtimecompute/job:Job", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Job 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 Job Get(string name, Input id, JobState? state = null, CustomResourceOptions? options = null) + { + return new Job(name, id, state, options); + } + } + + public sealed class JobArgs : global::Pulumi.ResourceArgs + { + /// + /// deploymentId + /// + [Input("deploymentId")] + public Input? DeploymentId { get; set; } + + [Input("localVariables")] + private InputList? _localVariables; + + /// + /// Local variables See `LocalVariables` below. + /// + public InputList LocalVariables + { + get => _localVariables ?? (_localVariables = new InputList()); + set => _localVariables = value; + } + + /// + /// namespace + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + /// + /// workspace + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Resource Queue for Job Run + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("resourceQueueName")] + public Input? ResourceQueueName { get; set; } + + /// + /// Restore strategy See `RestoreStrategy` below. + /// + [Input("restoreStrategy")] + public Input? RestoreStrategy { get; set; } + + /// + /// job status See `Status` below. + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("stopStrategy")] + public Input? StopStrategy { get; set; } + + public JobArgs() + { + } + public static new JobArgs Empty => new JobArgs(); + } + + public sealed class JobState : global::Pulumi.ResourceArgs + { + /// + /// deploymentId + /// + [Input("deploymentId")] + public Input? DeploymentId { get; set; } + + /// + /// The first ID of the resource + /// + [Input("jobId")] + public Input? JobId { get; set; } + + [Input("localVariables")] + private InputList? _localVariables; + + /// + /// Local variables See `LocalVariables` below. + /// + public InputList LocalVariables + { + get => _localVariables ?? (_localVariables = new InputList()); + set => _localVariables = value; + } + + /// + /// namespace + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// workspace + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// Resource Queue for Job Run + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("resourceQueueName")] + public Input? ResourceQueueName { get; set; } + + /// + /// Restore strategy See `RestoreStrategy` below. + /// + [Input("restoreStrategy")] + public Input? RestoreStrategy { get; set; } + + /// + /// job status See `Status` below. + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("stopStrategy")] + public Input? StopStrategy { get; set; } + + public JobState() + { + } + public static new JobState Empty => new JobState(); + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifact.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifact.cs new file mode 100644 index 0000000000..f3fed3bae0 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifact.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentArtifact + { + /// + /// JarArtifact See `JarArtifact` below. + /// + public readonly Outputs.DeploymentArtifactJarArtifact? JarArtifact; + /// + /// Artifact type + /// + public readonly string Kind; + /// + /// PythonArtifact See `PythonArtifact` below. + /// + public readonly Outputs.DeploymentArtifactPythonArtifact? PythonArtifact; + /// + /// SqlArtifact See `SqlArtifact` below. + /// + public readonly Outputs.DeploymentArtifactSqlArtifact? SqlArtifact; + + [OutputConstructor] + private DeploymentArtifact( + Outputs.DeploymentArtifactJarArtifact? jarArtifact, + + string kind, + + Outputs.DeploymentArtifactPythonArtifact? pythonArtifact, + + Outputs.DeploymentArtifactSqlArtifact? sqlArtifact) + { + JarArtifact = jarArtifact; + Kind = kind; + PythonArtifact = pythonArtifact; + SqlArtifact = sqlArtifact; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactJarArtifact.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactJarArtifact.cs new file mode 100644 index 0000000000..8aabe6cd17 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactJarArtifact.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentArtifactJarArtifact + { + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public readonly ImmutableArray AdditionalDependencies; + /// + /// Main class; you must specify the fully qualified class name + /// + public readonly string? EntryClass; + /// + /// Full URL path of the JAR job + /// + public readonly string? JarUri; + /// + /// Startup arguments + /// + public readonly string? MainArgs; + + [OutputConstructor] + private DeploymentArtifactJarArtifact( + ImmutableArray additionalDependencies, + + string? entryClass, + + string? jarUri, + + string? mainArgs) + { + AdditionalDependencies = additionalDependencies; + EntryClass = entryClass; + JarUri = jarUri; + MainArgs = mainArgs; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactPythonArtifact.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactPythonArtifact.cs new file mode 100644 index 0000000000..8c0a831220 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactPythonArtifact.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentArtifactPythonArtifact + { + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public readonly ImmutableArray AdditionalDependencies; + /// + /// URL paths of dependent Python archive files + /// + public readonly ImmutableArray AdditionalPythonArchives; + /// + /// URL paths of dependent Python library files + /// + public readonly ImmutableArray AdditionalPythonLibraries; + /// + /// Entry module for Python + /// + public readonly string? EntryModule; + /// + /// Startup arguments + /// + public readonly string? MainArgs; + /// + /// Full URL path of the Python job + /// + public readonly string? PythonArtifactUri; + + [OutputConstructor] + private DeploymentArtifactPythonArtifact( + ImmutableArray additionalDependencies, + + ImmutableArray additionalPythonArchives, + + ImmutableArray additionalPythonLibraries, + + string? entryModule, + + string? mainArgs, + + string? pythonArtifactUri) + { + AdditionalDependencies = additionalDependencies; + AdditionalPythonArchives = additionalPythonArchives; + AdditionalPythonLibraries = additionalPythonLibraries; + EntryModule = entryModule; + MainArgs = mainArgs; + PythonArtifactUri = pythonArtifactUri; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactSqlArtifact.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactSqlArtifact.cs new file mode 100644 index 0000000000..531515cf62 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentArtifactSqlArtifact.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentArtifactSqlArtifact + { + /// + /// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + /// + public readonly ImmutableArray AdditionalDependencies; + /// + /// Text content of the SQL job + /// + public readonly string? SqlScript; + + [OutputConstructor] + private DeploymentArtifactSqlArtifact( + ImmutableArray additionalDependencies, + + string? sqlScript) + { + AdditionalDependencies = additionalDependencies; + SqlScript = sqlScript; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSetting.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSetting.cs new file mode 100644 index 0000000000..d8849f666a --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSetting.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentBatchResourceSetting + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + public readonly Outputs.DeploymentBatchResourceSettingBasicResourceSetting? BasicResourceSetting; + /// + /// Maximum number of slots + /// + public readonly int? MaxSlot; + + [OutputConstructor] + private DeploymentBatchResourceSetting( + Outputs.DeploymentBatchResourceSettingBasicResourceSetting? basicResourceSetting, + + int? maxSlot) + { + BasicResourceSetting = basicResourceSetting; + MaxSlot = maxSlot; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSetting.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSetting.cs new file mode 100644 index 0000000000..d54e5f3112 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSetting.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentBatchResourceSettingBasicResourceSetting + { + public readonly Outputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec? JobmanagerResourceSettingSpec; + public readonly int? Parallelism; + public readonly Outputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec? TaskmanagerResourceSettingSpec; + + [OutputConstructor] + private DeploymentBatchResourceSettingBasicResourceSetting( + Outputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec? jobmanagerResourceSettingSpec, + + int? parallelism, + + Outputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec? taskmanagerResourceSettingSpec) + { + JobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + Parallelism = parallelism; + TaskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs new file mode 100644 index 0000000000..a9d0fbd65d --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec + { + public readonly double? Cpu; + public readonly string? Memory; + + [OutputConstructor] + private DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec( + double? cpu, + + string? memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs new file mode 100644 index 0000000000..c1f6c6d369 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec + { + public readonly double? Cpu; + public readonly string? Memory; + + [OutputConstructor] + private DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec( + double? cpu, + + string? memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentDeploymentTarget.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentDeploymentTarget.cs new file mode 100644 index 0000000000..ee92fe5612 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentDeploymentTarget.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentDeploymentTarget + { + /// + /// Deployment mode, valid values: PER_JOB or SESSION + /// + public readonly string Mode; + /// + /// Deployment target name + /// + public readonly string Name; + + [OutputConstructor] + private DeploymentDeploymentTarget( + string mode, + + string name) + { + Mode = mode; + Name = name; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLocalVariable.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLocalVariable.cs new file mode 100644 index 0000000000..f0d7202638 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLocalVariable.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentLocalVariable + { + /// + /// Job variable name + /// + public readonly string? Name; + /// + /// Job variable value + /// + public readonly string? Value; + + [OutputConstructor] + private DeploymentLocalVariable( + string? name, + + string? value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLogging.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLogging.cs new file mode 100644 index 0000000000..a9d6fa2eb9 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLogging.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentLogging + { + /// + /// Custom log template + /// + public readonly string? Log4j2ConfigurationTemplate; + /// + /// log4j configuration See `Log4jLoggers` below. + /// + public readonly ImmutableArray Log4jLoggers; + /// + /// Log retention policy See `LogReservePolicy` below. + /// + public readonly Outputs.DeploymentLoggingLogReservePolicy? LogReservePolicy; + /// + /// Default system log template + /// + public readonly string? LoggingProfile; + + [OutputConstructor] + private DeploymentLogging( + string? log4j2ConfigurationTemplate, + + ImmutableArray log4jLoggers, + + Outputs.DeploymentLoggingLogReservePolicy? logReservePolicy, + + string? loggingProfile) + { + Log4j2ConfigurationTemplate = log4j2ConfigurationTemplate; + Log4jLoggers = log4jLoggers; + LogReservePolicy = logReservePolicy; + LoggingProfile = loggingProfile; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLog4jLogger.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLog4jLogger.cs new file mode 100644 index 0000000000..30704a71b7 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLog4jLogger.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentLoggingLog4jLogger + { + /// + /// Log output level + /// + public readonly string? LoggerLevel; + /// + /// Class name for log output + /// + public readonly string? LoggerName; + + [OutputConstructor] + private DeploymentLoggingLog4jLogger( + string? loggerLevel, + + string? loggerName) + { + LoggerLevel = loggerLevel; + LoggerName = loggerName; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLogReservePolicy.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLogReservePolicy.cs new file mode 100644 index 0000000000..f370d48ca2 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentLoggingLogReservePolicy.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentLoggingLogReservePolicy + { + /// + /// Number of days to retain logs after log retention is enabled + /// + public readonly int? ExpirationDays; + /// + /// Whether to enable log retention + /// + public readonly bool? OpenHistory; + + [OutputConstructor] + private DeploymentLoggingLogReservePolicy( + int? expirationDays, + + bool? openHistory) + { + ExpirationDays = expirationDays; + OpenHistory = openHistory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSetting.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSetting.cs new file mode 100644 index 0000000000..a6d515a3c1 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSetting.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSetting + { + /// + /// Resource settings for basic mode See `BasicResourceSetting` below. + /// + public readonly Outputs.DeploymentStreamingResourceSettingBasicResourceSetting? BasicResourceSetting; + /// + /// Expert mode resource settings See `ExpertResourceSetting` below. + /// + public readonly Outputs.DeploymentStreamingResourceSettingExpertResourceSetting? ExpertResourceSetting; + /// + /// Resource mode used in streaming mode, valid values: BASIC or EXPERT + /// + public readonly string? ResourceSettingMode; + + [OutputConstructor] + private DeploymentStreamingResourceSetting( + Outputs.DeploymentStreamingResourceSettingBasicResourceSetting? basicResourceSetting, + + Outputs.DeploymentStreamingResourceSettingExpertResourceSetting? expertResourceSetting, + + string? resourceSettingMode) + { + BasicResourceSetting = basicResourceSetting; + ExpertResourceSetting = expertResourceSetting; + ResourceSettingMode = resourceSettingMode; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSetting.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSetting.cs new file mode 100644 index 0000000000..4dd4f4d623 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSetting.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSettingBasicResourceSetting + { + public readonly Outputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec? JobmanagerResourceSettingSpec; + public readonly int? Parallelism; + public readonly Outputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec? TaskmanagerResourceSettingSpec; + + [OutputConstructor] + private DeploymentStreamingResourceSettingBasicResourceSetting( + Outputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec? jobmanagerResourceSettingSpec, + + int? parallelism, + + Outputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec? taskmanagerResourceSettingSpec) + { + JobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + Parallelism = parallelism; + TaskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs new file mode 100644 index 0000000000..fa49df0b2b --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec + { + public readonly double? Cpu; + public readonly string? Memory; + + [OutputConstructor] + private DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec( + double? cpu, + + string? memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs new file mode 100644 index 0000000000..fc991407d7 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec + { + public readonly double? Cpu; + public readonly string? Memory; + + [OutputConstructor] + private DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec( + double? cpu, + + string? memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSetting.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSetting.cs new file mode 100644 index 0000000000..5bd15e8128 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSetting.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSettingExpertResourceSetting + { + public readonly Outputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec? JobmanagerResourceSettingSpec; + /// + /// Resource plan for expert mode + /// + public readonly string? ResourcePlan; + + [OutputConstructor] + private DeploymentStreamingResourceSettingExpertResourceSetting( + Outputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec? jobmanagerResourceSettingSpec, + + string? resourcePlan) + { + JobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + ResourcePlan = resourcePlan; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.cs b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.cs new file mode 100644 index 0000000000..e81335f437 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec + { + public readonly double? Cpu; + public readonly string? Memory; + + [OutputConstructor] + private DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec( + double? cpu, + + string? memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/JobLocalVariable.cs b/sdk/dotnet/RealtimeCompute/Outputs/JobLocalVariable.cs new file mode 100644 index 0000000000..ae2c864509 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/JobLocalVariable.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class JobLocalVariable + { + /// + /// Local variables name + /// + public readonly string? Name; + /// + /// Local variables value + /// + public readonly string? Value; + + [OutputConstructor] + private JobLocalVariable( + string? name, + + string? value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/JobRestoreStrategy.cs b/sdk/dotnet/RealtimeCompute/Outputs/JobRestoreStrategy.cs new file mode 100644 index 0000000000..13e2c3d6a6 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/JobRestoreStrategy.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class JobRestoreStrategy + { + /// + /// Stateless startup + /// + public readonly bool? AllowNonRestoredState; + /// + /// Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + /// + public readonly int? JobStartTimeInMs; + /// + /// Restore type + /// + public readonly string? Kind; + /// + /// SavepointId + /// + public readonly string? SavepointId; + + [OutputConstructor] + private JobRestoreStrategy( + bool? allowNonRestoredState, + + int? jobStartTimeInMs, + + string? kind, + + string? savepointId) + { + AllowNonRestoredState = allowNonRestoredState; + JobStartTimeInMs = jobStartTimeInMs; + Kind = kind; + SavepointId = savepointId; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/JobStatus.cs b/sdk/dotnet/RealtimeCompute/Outputs/JobStatus.cs new file mode 100644 index 0000000000..c57d7e94b3 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/JobStatus.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class JobStatus + { + /// + /// Job current status + /// + public readonly string? CurrentJobStatus; + /// + /// Job failure information + /// + public readonly Outputs.JobStatusFailure? Failure; + /// + /// Job Run Health Score + /// + public readonly int? HealthScore; + /// + /// Risk level, which indicates the risk level of the operation status of the job. + /// + public readonly string? RiskLevel; + /// + /// job running status, which has value when the job is Running. + /// + public readonly Outputs.JobStatusRunning? Running; + + [OutputConstructor] + private JobStatus( + string? currentJobStatus, + + Outputs.JobStatusFailure? failure, + + int? healthScore, + + string? riskLevel, + + Outputs.JobStatusRunning? running) + { + CurrentJobStatus = currentJobStatus; + Failure = failure; + HealthScore = healthScore; + RiskLevel = riskLevel; + Running = running; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/JobStatusFailure.cs b/sdk/dotnet/RealtimeCompute/Outputs/JobStatusFailure.cs new file mode 100644 index 0000000000..03ef806952 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/JobStatusFailure.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class JobStatusFailure + { + /// + /// Job failure time + /// + public readonly int? FailedAt; + /// + /// Failure Information Details + /// + public readonly string? Message; + /// + /// Failure Reason + /// + public readonly string? Reason; + + [OutputConstructor] + private JobStatusFailure( + int? failedAt, + + string? message, + + string? reason) + { + FailedAt = failedAt; + Message = message; + Reason = reason; + } + } +} diff --git a/sdk/dotnet/RealtimeCompute/Outputs/JobStatusRunning.cs b/sdk/dotnet/RealtimeCompute/Outputs/JobStatusRunning.cs new file mode 100644 index 0000000000..1af3257614 --- /dev/null +++ b/sdk/dotnet/RealtimeCompute/Outputs/JobStatusRunning.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.RealtimeCompute.Outputs +{ + + [OutputType] + public sealed class JobStatusRunning + { + /// + /// Number of job restarts + /// + public readonly int? ObservedFlinkJobRestarts; + /// + /// Flink job status + /// + public readonly string? ObservedFlinkJobStatus; + + [OutputConstructor] + private JobStatusRunning( + int? observedFlinkJobRestarts, + + string? observedFlinkJobStatus) + { + ObservedFlinkJobRestarts = observedFlinkJobRestarts; + ObservedFlinkJobStatus = observedFlinkJobStatus; + } + } +} diff --git a/sdk/dotnet/Redis/Backup.cs b/sdk/dotnet/Redis/Backup.cs new file mode 100644 index 0000000000..4834331b2a --- /dev/null +++ b/sdk/dotnet/Redis/Backup.cs @@ -0,0 +1,243 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.Redis +{ + /// + /// Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. + /// + /// Instance level or database level backup objects. + /// + /// For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). + /// + /// > **NOTE:** Available since v1.15.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// using Std = Pulumi.Std; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var zoneId = config.Get("zoneId") ?? "cn-hangzhou-h"; + /// var @default = AliCloud.Vpc.GetNetworks.Invoke(new() + /// { + /// NameRegex = "^default-NODELETING$", + /// }); + /// + /// var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new() + /// { + /// ZoneId = zoneId, + /// VpcId = @default.Apply(getNetworksResult => getNetworksResult.Ids[0]), + /// }); + /// + /// var vswitch = new List<AliCloud.Vpc.Switch>(); + /// for (var rangeIndex = 0; rangeIndex < defaultGetSwitches.Apply(getSwitchesResult => getSwitchesResult.Ids).Length.Apply(length => length > 0 ? 0 : 1); rangeIndex++) + /// { + /// var range = new { Value = rangeIndex }; + /// vswitch.Add(new AliCloud.Vpc.Switch($"vswitch-{range.Value}", new() + /// { + /// VpcId = @default.Apply(@default => @default.Apply(getNetworksResult => getNetworksResult.Ids[0])), + /// CidrBlock = @default.Apply(@default => Std.Cidrsubnet.Invoke(new() + /// { + /// Input = @default.Apply(getNetworksResult => getNetworksResult.Vpcs[0]?.CidrBlock), + /// Newbits = 8, + /// Netnum = 8, + /// })).Apply(invoke => invoke.Result), + /// ZoneId = zoneId, + /// VswitchName = name, + /// })); + /// } + /// var vswitchId = Output.Tuple(defaultGetSwitches.Apply(getSwitchesResult => getSwitchesResult.Ids).Length, defaultGetSwitches, Std.Concat.Invoke(new() + /// { + /// Input = new[] + /// { + /// vswitch.Select(__item => __item.Id).ToList(), + /// new[] + /// { + /// "", + /// }, + /// }, + /// })).Apply(values => + /// { + /// var length = values.Item1; + /// var defaultGetSwitches = values.Item2; + /// var invoke = values.Item3; + /// return length > 0 ? defaultGetSwitches.Apply(getSwitchesResult => getSwitchesResult.Ids[0]) : invoke.Result[0]; + /// }); + /// + /// var defaultInstance = new AliCloud.KVStore.Instance("default", new() + /// { + /// Port = 6379, + /// PaymentType = "PrePaid", + /// InstanceType = "Redis", + /// Password = "123456_tf", + /// EngineVersion = "5.0", + /// ZoneId = zoneId, + /// VswitchId = vswitchId, + /// Period = "1", + /// InstanceClass = "redis.shard.small.2.ce", + /// }); + /// + /// var defaultBackup = new AliCloud.Redis.Backup("default", new() + /// { + /// InstanceId = defaultInstance.Id, + /// BackupRetentionPeriod = 7, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:redis/backup:Backup example <instance_id>:<backup_id> + /// ``` + /// + [AliCloudResourceType("alicloud:redis/backup:Backup")] + public partial class Backup : global::Pulumi.CustomResource + { + /// + /// Backup ID. + /// + [Output("backupId")] + public Output BackupId { get; private set; } = null!; + + /// + /// The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Output("backupRetentionPeriod")] + public Output BackupRetentionPeriod { get; private set; } = null!; + + /// + /// InstanceId + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Backup status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a Backup 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 Backup(string name, BackupArgs args, CustomResourceOptions? options = null) + : base("alicloud:redis/backup:Backup", name, args ?? new BackupArgs(), MakeResourceOptions(options, "")) + { + } + + private Backup(string name, Input id, BackupState? state = null, CustomResourceOptions? options = null) + : base("alicloud:redis/backup:Backup", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Backup 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 Backup Get(string name, Input id, BackupState? state = null, CustomResourceOptions? options = null) + { + return new Backup(name, id, state, options); + } + } + + public sealed class BackupArgs : global::Pulumi.ResourceArgs + { + /// + /// The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("backupRetentionPeriod")] + public Input? BackupRetentionPeriod { get; set; } + + /// + /// InstanceId + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + public BackupArgs() + { + } + public static new BackupArgs Empty => new BackupArgs(); + } + + public sealed class BackupState : global::Pulumi.ResourceArgs + { + /// + /// Backup ID. + /// + [Input("backupId")] + public Input? BackupId { get; set; } + + /// + /// The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + /// + /// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + /// + [Input("backupRetentionPeriod")] + public Input? BackupRetentionPeriod { get; set; } + + /// + /// InstanceId + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Backup status. + /// + [Input("status")] + public Input? Status { get; set; } + + public BackupState() + { + } + public static new BackupState Empty => new BackupState(); + } +} diff --git a/sdk/dotnet/ResourceManager/Account.cs b/sdk/dotnet/ResourceManager/Account.cs index e888329040..a600d58dc9 100644 --- a/sdk/dotnet/ResourceManager/Account.cs +++ b/sdk/dotnet/ResourceManager/Account.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Account can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/AutoGroupingRule.cs b/sdk/dotnet/ResourceManager/AutoGroupingRule.cs index 56dfdc8a3b..b4ab0dfe4f 100644 --- a/sdk/dotnet/ResourceManager/AutoGroupingRule.cs +++ b/sdk/dotnet/ResourceManager/AutoGroupingRule.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Auto Grouping Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ControlPolicy.cs b/sdk/dotnet/ResourceManager/ControlPolicy.cs index ac73fbc1e4..bc21d0812f 100644 --- a/sdk/dotnet/ResourceManager/ControlPolicy.cs +++ b/sdk/dotnet/ResourceManager/ControlPolicy.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Control Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ControlPolicyAttachment.cs b/sdk/dotnet/ResourceManager/ControlPolicyAttachment.cs index 38e142094c..e94b27b881 100644 --- a/sdk/dotnet/ResourceManager/ControlPolicyAttachment.cs +++ b/sdk/dotnet/ResourceManager/ControlPolicyAttachment.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Control Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/DelegatedAdministrator.cs b/sdk/dotnet/ResourceManager/DelegatedAdministrator.cs index e720c45627..2cc5e7585d 100644 --- a/sdk/dotnet/ResourceManager/DelegatedAdministrator.cs +++ b/sdk/dotnet/ResourceManager/DelegatedAdministrator.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Delegated Administrator can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/DeliveryChannel.cs b/sdk/dotnet/ResourceManager/DeliveryChannel.cs index e0ed2b3b48..325968ce69 100644 --- a/sdk/dotnet/ResourceManager/DeliveryChannel.cs +++ b/sdk/dotnet/ResourceManager/DeliveryChannel.cs @@ -69,6 +69,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Delivery Channel can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/Folder.cs b/sdk/dotnet/ResourceManager/Folder.cs index 3a9482b041..3e641d0684 100644 --- a/sdk/dotnet/ResourceManager/Folder.cs +++ b/sdk/dotnet/ResourceManager/Folder.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Folder can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/Handshake.cs b/sdk/dotnet/ResourceManager/Handshake.cs index 9f717c1b5e..4b79022cbe 100644 --- a/sdk/dotnet/ResourceManager/Handshake.cs +++ b/sdk/dotnet/ResourceManager/Handshake.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Handshake can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/MessageContact.cs b/sdk/dotnet/ResourceManager/MessageContact.cs index 9c76e08468..eaa8f08915 100644 --- a/sdk/dotnet/ResourceManager/MessageContact.cs +++ b/sdk/dotnet/ResourceManager/MessageContact.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Message Contact can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/MultiAccountDeliveryChannel.cs b/sdk/dotnet/ResourceManager/MultiAccountDeliveryChannel.cs index 59f3721e4a..b8136ca665 100644 --- a/sdk/dotnet/ResourceManager/MultiAccountDeliveryChannel.cs +++ b/sdk/dotnet/ResourceManager/MultiAccountDeliveryChannel.cs @@ -100,6 +100,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/Policy.cs b/sdk/dotnet/ResourceManager/Policy.cs index 631d76037d..0fe2ffa043 100644 --- a/sdk/dotnet/ResourceManager/Policy.cs +++ b/sdk/dotnet/ResourceManager/Policy.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/PolicyAttachment.cs b/sdk/dotnet/ResourceManager/PolicyAttachment.cs index c7cc1175a7..5bc6864e27 100644 --- a/sdk/dotnet/ResourceManager/PolicyAttachment.cs +++ b/sdk/dotnet/ResourceManager/PolicyAttachment.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/PolicyVersion.cs b/sdk/dotnet/ResourceManager/PolicyVersion.cs index 066ece4299..268bdd310e 100644 --- a/sdk/dotnet/ResourceManager/PolicyVersion.cs +++ b/sdk/dotnet/ResourceManager/PolicyVersion.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Policy Version can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ResourceDirectory.cs b/sdk/dotnet/ResourceManager/ResourceDirectory.cs index 117991b8b9..7b115a75ef 100644 --- a/sdk/dotnet/ResourceManager/ResourceDirectory.cs +++ b/sdk/dotnet/ResourceManager/ResourceDirectory.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Resource Directory can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ResourceGroup.cs b/sdk/dotnet/ResourceManager/ResourceGroup.cs index 14b7199188..344df7b379 100644 --- a/sdk/dotnet/ResourceManager/ResourceGroup.cs +++ b/sdk/dotnet/ResourceManager/ResourceGroup.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Resource Group can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ResourceShare.cs b/sdk/dotnet/ResourceManager/ResourceShare.cs index dd86f99352..e810301ac4 100644 --- a/sdk/dotnet/ResourceManager/ResourceShare.cs +++ b/sdk/dotnet/ResourceManager/ResourceShare.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Resource Share can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/Role.cs b/sdk/dotnet/ResourceManager/Role.cs index 752b7a9679..73ebd4cc57 100644 --- a/sdk/dotnet/ResourceManager/Role.cs +++ b/sdk/dotnet/ResourceManager/Role.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager can be imported using the id or role_name, e.g. diff --git a/sdk/dotnet/ResourceManager/SavedQuery.cs b/sdk/dotnet/ResourceManager/SavedQuery.cs index 0cbfce0fe2..6c8017b11c 100644 --- a/sdk/dotnet/ResourceManager/SavedQuery.cs +++ b/sdk/dotnet/ResourceManager/SavedQuery.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Saved Query can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/ServiceLinkedRole.cs b/sdk/dotnet/ResourceManager/ServiceLinkedRole.cs index febc56ec79..e689049b8d 100644 --- a/sdk/dotnet/ResourceManager/ServiceLinkedRole.cs +++ b/sdk/dotnet/ResourceManager/ServiceLinkedRole.cs @@ -36,6 +36,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Service Linked Role can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/SharedResource.cs b/sdk/dotnet/ResourceManager/SharedResource.cs index 855e780b84..23aa262164 100644 --- a/sdk/dotnet/ResourceManager/SharedResource.cs +++ b/sdk/dotnet/ResourceManager/SharedResource.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Shared Resource can be imported using the id, e.g. diff --git a/sdk/dotnet/ResourceManager/SharedTarget.cs b/sdk/dotnet/ResourceManager/SharedTarget.cs index e600a35436..88fbcb5b3f 100644 --- a/sdk/dotnet/ResourceManager/SharedTarget.cs +++ b/sdk/dotnet/ResourceManager/SharedTarget.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.ResourceManager /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Resource Manager Shared Target can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Account.cs b/sdk/dotnet/RocketMQ/Account.cs index 3b4a50571e..dd68c2e973 100644 --- a/sdk/dotnet/RocketMQ/Account.cs +++ b/sdk/dotnet/RocketMQ/Account.cs @@ -110,6 +110,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RocketMQ Account can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Acl.cs b/sdk/dotnet/RocketMQ/Acl.cs index f7d8b24a73..73d24da35b 100644 --- a/sdk/dotnet/RocketMQ/Acl.cs +++ b/sdk/dotnet/RocketMQ/Acl.cs @@ -126,6 +126,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RocketMQ Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/ClientUser.cs b/sdk/dotnet/RocketMQ/ClientUser.cs index 5e11ef6a63..dd3b1dacd5 100644 --- a/sdk/dotnet/RocketMQ/ClientUser.cs +++ b/sdk/dotnet/RocketMQ/ClientUser.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/dotnet/RocketMQ/ConsumerGroup.cs b/sdk/dotnet/RocketMQ/ConsumerGroup.cs index a871571564..82c8ed9a62 100644 --- a/sdk/dotnet/RocketMQ/ConsumerGroup.cs +++ b/sdk/dotnet/RocketMQ/ConsumerGroup.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RocketMQ Consumer Group can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/DnatEntry.cs b/sdk/dotnet/RocketMQ/DnatEntry.cs index 2fbbc8d0e7..cf0baad81d 100644 --- a/sdk/dotnet/RocketMQ/DnatEntry.cs +++ b/sdk/dotnet/RocketMQ/DnatEntry.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Group.cs b/sdk/dotnet/RocketMQ/Group.cs index acd91dde9c..99db149d82 100644 --- a/sdk/dotnet/RocketMQ/Group.cs +++ b/sdk/dotnet/RocketMQ/Group.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ONS GROUP can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Instance.cs b/sdk/dotnet/RocketMQ/Instance.cs index 176d4690b3..228f38d6bc 100644 --- a/sdk/dotnet/RocketMQ/Instance.cs +++ b/sdk/dotnet/RocketMQ/Instance.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ONS INSTANCE can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Qos.cs b/sdk/dotnet/RocketMQ/Qos.cs index d1894b866c..c8cee88326 100644 --- a/sdk/dotnet/RocketMQ/Qos.cs +++ b/sdk/dotnet/RocketMQ/Qos.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/QosCar.cs b/sdk/dotnet/RocketMQ/QosCar.cs index adc81d26a7..f98113693e 100644 --- a/sdk/dotnet/RocketMQ/QosCar.cs +++ b/sdk/dotnet/RocketMQ/QosCar.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/QosPolicy.cs b/sdk/dotnet/RocketMQ/QosPolicy.cs index 507875cf27..3e06fa69fc 100644 --- a/sdk/dotnet/RocketMQ/QosPolicy.cs +++ b/sdk/dotnet/RocketMQ/QosPolicy.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/RocketMQTopic.cs b/sdk/dotnet/RocketMQ/RocketMQTopic.cs index 5745d723cc..7b1ed67b9d 100644 --- a/sdk/dotnet/RocketMQ/RocketMQTopic.cs +++ b/sdk/dotnet/RocketMQ/RocketMQTopic.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// RocketMQ Topic can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/SnatEntry.cs b/sdk/dotnet/RocketMQ/SnatEntry.cs index 34d080619c..e038a87794 100644 --- a/sdk/dotnet/RocketMQ/SnatEntry.cs +++ b/sdk/dotnet/RocketMQ/SnatEntry.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/dotnet/RocketMQ/Topic.cs b/sdk/dotnet/RocketMQ/Topic.cs index 731e632405..17d3be6876 100644 --- a/sdk/dotnet/RocketMQ/Topic.cs +++ b/sdk/dotnet/RocketMQ/Topic.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.RocketMQ /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ONS TOPIC can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/ChangeSet.cs b/sdk/dotnet/Ros/ChangeSet.cs index 0776115607..1d2bdabb4a 100644 --- a/sdk/dotnet/Ros/ChangeSet.cs +++ b/sdk/dotnet/Ros/ChangeSet.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Change Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/Stack.cs b/sdk/dotnet/Ros/Stack.cs index a3b3512a44..fddc66eeef 100644 --- a/sdk/dotnet/Ros/Stack.cs +++ b/sdk/dotnet/Ros/Stack.cs @@ -49,6 +49,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Stack can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/StackGroup.cs b/sdk/dotnet/Ros/StackGroup.cs index 808ffcd721..a85a129322 100644 --- a/sdk/dotnet/Ros/StackGroup.cs +++ b/sdk/dotnet/Ros/StackGroup.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Stack Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/StackInstance.cs b/sdk/dotnet/Ros/StackInstance.cs index 1ebdaa2d66..eaf6f9c631 100644 --- a/sdk/dotnet/Ros/StackInstance.cs +++ b/sdk/dotnet/Ros/StackInstance.cs @@ -76,6 +76,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Stack Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/Template.cs b/sdk/dotnet/Ros/Template.cs index 2f3938416e..9734c31770 100644 --- a/sdk/dotnet/Ros/Template.cs +++ b/sdk/dotnet/Ros/Template.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Ros/TemplateScratch.cs b/sdk/dotnet/Ros/TemplateScratch.cs index 66ea4bc7f9..21836be7a0 100644 --- a/sdk/dotnet/Ros/TemplateScratch.cs +++ b/sdk/dotnet/Ros/TemplateScratch.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.Ros /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ROS Template Scratch can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/Application.cs b/sdk/dotnet/Sae/Application.cs index 80a38c972b..235bfbe248 100644 --- a/sdk/dotnet/Sae/Application.cs +++ b/sdk/dotnet/Sae/Application.cs @@ -94,6 +94,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) Application can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/ApplicationScalingRule.cs b/sdk/dotnet/Sae/ApplicationScalingRule.cs index 2a0e0e8952..03aa3dc1dc 100644 --- a/sdk/dotnet/Sae/ApplicationScalingRule.cs +++ b/sdk/dotnet/Sae/ApplicationScalingRule.cs @@ -157,6 +157,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/ConfigMap.cs b/sdk/dotnet/Sae/ConfigMap.cs index d180c2550e..c8a964ff1b 100644 --- a/sdk/dotnet/Sae/ConfigMap.cs +++ b/sdk/dotnet/Sae/ConfigMap.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) Config Map can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/GreyTagRoute.cs b/sdk/dotnet/Sae/GreyTagRoute.cs index 907e7e8f7d..5a7db58206 100644 --- a/sdk/dotnet/Sae/GreyTagRoute.cs +++ b/sdk/dotnet/Sae/GreyTagRoute.cs @@ -141,6 +141,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/Ingress.cs b/sdk/dotnet/Sae/Ingress.cs index 58f3974ef3..ca78cb85ac 100644 --- a/sdk/dotnet/Sae/Ingress.cs +++ b/sdk/dotnet/Sae/Ingress.cs @@ -124,6 +124,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) Ingress can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/LoadBalancerInternet.cs b/sdk/dotnet/Sae/LoadBalancerInternet.cs index 3e55e4fa26..435e2b2560 100644 --- a/sdk/dotnet/Sae/LoadBalancerInternet.cs +++ b/sdk/dotnet/Sae/LoadBalancerInternet.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/LoadBalancerIntranet.cs b/sdk/dotnet/Sae/LoadBalancerIntranet.cs index c662da9476..391887c646 100644 --- a/sdk/dotnet/Sae/LoadBalancerIntranet.cs +++ b/sdk/dotnet/Sae/LoadBalancerIntranet.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The resource can be imported using the id, e.g. diff --git a/sdk/dotnet/Sae/Namespace.cs b/sdk/dotnet/Sae/Namespace.cs index 973754bd1b..b3c7dadadf 100644 --- a/sdk/dotnet/Sae/Namespace.cs +++ b/sdk/dotnet/Sae/Namespace.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Sae /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Serverless App Engine (SAE) Namespace can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/Acl.cs b/sdk/dotnet/Sag/Acl.cs index 0f53e15335..24a6e03c33 100644 --- a/sdk/dotnet/Sag/Acl.cs +++ b/sdk/dotnet/Sag/Acl.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/AclRule.cs b/sdk/dotnet/Sag/AclRule.cs index 73011f291c..818b13863c 100644 --- a/sdk/dotnet/Sag/AclRule.cs +++ b/sdk/dotnet/Sag/AclRule.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Acl Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/ClientUser.cs b/sdk/dotnet/Sag/ClientUser.cs index e5c51acc98..e2b8cf5557 100644 --- a/sdk/dotnet/Sag/ClientUser.cs +++ b/sdk/dotnet/Sag/ClientUser.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/dotnet/Sag/DnatEntry.cs b/sdk/dotnet/Sag/DnatEntry.cs index 80abca4cc4..9a67c7583d 100644 --- a/sdk/dotnet/Sag/DnatEntry.cs +++ b/sdk/dotnet/Sag/DnatEntry.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/Qos.cs b/sdk/dotnet/Sag/Qos.cs index 869b36f61f..ad62631c9a 100644 --- a/sdk/dotnet/Sag/Qos.cs +++ b/sdk/dotnet/Sag/Qos.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/QosCar.cs b/sdk/dotnet/Sag/QosCar.cs index 474d76e2a6..aad6545901 100644 --- a/sdk/dotnet/Sag/QosCar.cs +++ b/sdk/dotnet/Sag/QosCar.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/QosPolicy.cs b/sdk/dotnet/Sag/QosPolicy.cs index 4fcb211de1..6717448f65 100644 --- a/sdk/dotnet/Sag/QosPolicy.cs +++ b/sdk/dotnet/Sag/QosPolicy.cs @@ -74,6 +74,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/SmartagFlowLog.cs b/sdk/dotnet/Sag/SmartagFlowLog.cs index e41d9a5a1c..10363c8a7c 100644 --- a/sdk/dotnet/Sag/SmartagFlowLog.cs +++ b/sdk/dotnet/Sag/SmartagFlowLog.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Smartag Flow Log can be imported using the id, e.g. diff --git a/sdk/dotnet/Sag/SnatEntry.cs b/sdk/dotnet/Sag/SnatEntry.cs index 5377efc043..c9e8f0660e 100644 --- a/sdk/dotnet/Sag/SnatEntry.cs +++ b/sdk/dotnet/Sag/SnatEntry.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Sag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/dotnet/Scdn/Domain.cs b/sdk/dotnet/Scdn/Domain.cs index 53d0b40540..24d5a1f90d 100644 --- a/sdk/dotnet/Scdn/Domain.cs +++ b/sdk/dotnet/Scdn/Domain.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Scdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SCDN Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Scdn/DomainConfig.cs b/sdk/dotnet/Scdn/DomainConfig.cs index 3273b90fda..6e8b3b3d38 100644 --- a/sdk/dotnet/Scdn/DomainConfig.cs +++ b/sdk/dotnet/Scdn/DomainConfig.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Scdn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SCDN domain config can be imported using the id, e.g. diff --git a/sdk/dotnet/SchedulerX/AppGroup.cs b/sdk/dotnet/SchedulerX/AppGroup.cs index 800734b59f..d00279d98b 100644 --- a/sdk/dotnet/SchedulerX/AppGroup.cs +++ b/sdk/dotnet/SchedulerX/AppGroup.cs @@ -73,6 +73,8 @@ namespace Pulumi.AliCloud.SchedulerX /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Schedulerx App Group can be imported using the id, e.g. @@ -102,7 +104,7 @@ public partial class AppGroup : global::Pulumi.CustomResource /// Application Version, 1: Basic Edition, 2: Professional Edition /// [Output("appVersion")] - public Output AppVersion { get; private set; } = null!; + public Output AppVersion { get; private set; } = null!; /// /// Whether to delete the task in the application Group. The values are as follows: @@ -140,7 +142,7 @@ public partial class AppGroup : global::Pulumi.CustomResource /// Application Grouping Configurable Maximum Number of Tasks /// [Output("maxJobs")] - public Output MaxJobs { get; private set; } = null!; + public Output MaxJobs { get; private set; } = null!; /// /// Alarm configuration JSON field. For more information about this field, see **Request Parameters * *. diff --git a/sdk/dotnet/SchedulerX/Job.cs b/sdk/dotnet/SchedulerX/Job.cs index 25a388a8a9..55d0a1120e 100644 --- a/sdk/dotnet/SchedulerX/Job.cs +++ b/sdk/dotnet/SchedulerX/Job.cs @@ -137,6 +137,8 @@ namespace Pulumi.AliCloud.SchedulerX /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Schedulerx Job can be imported using the id, e.g. diff --git a/sdk/dotnet/SchedulerX/Namespace.cs b/sdk/dotnet/SchedulerX/Namespace.cs index bd1e428a24..e8a7aeb8c7 100644 --- a/sdk/dotnet/SchedulerX/Namespace.cs +++ b/sdk/dotnet/SchedulerX/Namespace.cs @@ -10,6 +10,37 @@ namespace Pulumi.AliCloud.SchedulerX { /// + /// Provides a Schedulerx Namespace resource. + /// + /// For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). + /// + /// > **NOTE:** Available since v1.173.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var @default = new AliCloud.SchedulerX.Namespace("default", new() + /// { + /// NamespaceName = name, + /// Description = name, + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Schedulerx Namespace can be imported using the id, e.g. @@ -34,7 +65,7 @@ public partial class Namespace : global::Pulumi.CustomResource public Output NamespaceName { get; private set; } = null!; /// - /// Namespace uid. + /// namespace uid /// [Output("namespaceUid")] public Output NamespaceUid { get; private set; } = null!; @@ -98,7 +129,7 @@ public sealed class NamespaceArgs : global::Pulumi.ResourceArgs public Input NamespaceName { get; set; } = null!; /// - /// Namespace uid. + /// namespace uid /// [Input("namespaceUid")] public Input? NamespaceUid { get; set; } @@ -124,7 +155,7 @@ public sealed class NamespaceState : global::Pulumi.ResourceArgs public Input? NamespaceName { get; set; } /// - /// Namespace uid. + /// namespace uid /// [Input("namespaceUid")] public Input? NamespaceUid { get; set; } diff --git a/sdk/dotnet/Sddp/Config.cs b/sdk/dotnet/Sddp/Config.cs index f718aad84f..c34cf79311 100644 --- a/sdk/dotnet/Sddp/Config.cs +++ b/sdk/dotnet/Sddp/Config.cs @@ -37,6 +37,8 @@ namespace Pulumi.AliCloud.Sddp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Security Center Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Sddp/DataLimit.cs b/sdk/dotnet/Sddp/DataLimit.cs index 55ac6eb8bb..deaf46ec87 100644 --- a/sdk/dotnet/Sddp/DataLimit.cs +++ b/sdk/dotnet/Sddp/DataLimit.cs @@ -139,6 +139,8 @@ namespace Pulumi.AliCloud.Sddp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Security Center Data Limit can be imported using the id, e.g. diff --git a/sdk/dotnet/Sddp/Instance.cs b/sdk/dotnet/Sddp/Instance.cs index 295f6eca42..3fed27c19a 100644 --- a/sdk/dotnet/Sddp/Instance.cs +++ b/sdk/dotnet/Sddp/Instance.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Sddp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Security Center Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Sddp/Rule.cs b/sdk/dotnet/Sddp/Rule.cs index 3a34a740ce..94e7e41be9 100644 --- a/sdk/dotnet/Sddp/Rule.cs +++ b/sdk/dotnet/Sddp/Rule.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.Sddp /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Data Security Center Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/SecurityCenter/Group.cs b/sdk/dotnet/SecurityCenter/Group.cs index 55f37c454a..edb58336cf 100644 --- a/sdk/dotnet/SecurityCenter/Group.cs +++ b/sdk/dotnet/SecurityCenter/Group.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.SecurityCenter /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Security Center Group can be imported using the id, e.g. diff --git a/sdk/dotnet/SecurityCenter/ServiceLinkedRole.cs b/sdk/dotnet/SecurityCenter/ServiceLinkedRole.cs index d0256d466a..eb4fec0d4f 100644 --- a/sdk/dotnet/SecurityCenter/ServiceLinkedRole.cs +++ b/sdk/dotnet/SecurityCenter/ServiceLinkedRole.cs @@ -33,6 +33,8 @@ namespace Pulumi.AliCloud.SecurityCenter /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/dotnet/SelectDB/DbCluster.cs b/sdk/dotnet/SelectDB/DbCluster.cs index 57e4db06b9..43b10afce8 100644 --- a/sdk/dotnet/SelectDB/DbCluster.cs +++ b/sdk/dotnet/SelectDB/DbCluster.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.SelectDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SelectDB DBCluster can be imported using the id, e.g. diff --git a/sdk/dotnet/SelectDB/DbInstance.cs b/sdk/dotnet/SelectDB/DbInstance.cs index c76b2e79fe..dd368eba11 100644 --- a/sdk/dotnet/SelectDB/DbInstance.cs +++ b/sdk/dotnet/SelectDB/DbInstance.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.SelectDB /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SelectDB DBInstance can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/Portfolio.cs b/sdk/dotnet/ServiceCatalog/Portfolio.cs index e76188ae4f..7799e8d773 100644 --- a/sdk/dotnet/ServiceCatalog/Portfolio.cs +++ b/sdk/dotnet/ServiceCatalog/Portfolio.cs @@ -39,6 +39,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Portfolio can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs b/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs index 4796b8eb3b..432b441179 100644 --- a/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs +++ b/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Principal Portfolio Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/Product.cs b/sdk/dotnet/ServiceCatalog/Product.cs index 4c66c8c70a..0a61c82a4c 100644 --- a/sdk/dotnet/ServiceCatalog/Product.cs +++ b/sdk/dotnet/ServiceCatalog/Product.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Product can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/ProductPortfolioAssociation.cs b/sdk/dotnet/ServiceCatalog/ProductPortfolioAssociation.cs index af12f6b9cb..7594270940 100644 --- a/sdk/dotnet/ServiceCatalog/ProductPortfolioAssociation.cs +++ b/sdk/dotnet/ServiceCatalog/ProductPortfolioAssociation.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Product Portfolio Association can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/ProductVersion.cs b/sdk/dotnet/ServiceCatalog/ProductVersion.cs index d9b6ebb882..ff6afc53c9 100644 --- a/sdk/dotnet/ServiceCatalog/ProductVersion.cs +++ b/sdk/dotnet/ServiceCatalog/ProductVersion.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Product Version can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs b/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs index a4f61d588d..e20aa517bf 100644 --- a/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs +++ b/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.ServiceCatalog /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Catalog Provisioned Product can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceMesh/ExtensionProvider.cs b/sdk/dotnet/ServiceMesh/ExtensionProvider.cs index 15815d402f..623879ca91 100644 --- a/sdk/dotnet/ServiceMesh/ExtensionProvider.cs +++ b/sdk/dotnet/ServiceMesh/ExtensionProvider.cs @@ -114,6 +114,8 @@ namespace Pulumi.AliCloud.ServiceMesh /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Mesh Extension Provider can be imported using the id, e.g. diff --git a/sdk/dotnet/ServiceMesh/UserPermission.cs b/sdk/dotnet/ServiceMesh/UserPermission.cs index d20af3233a..6f186bd520 100644 --- a/sdk/dotnet/ServiceMesh/UserPermission.cs +++ b/sdk/dotnet/ServiceMesh/UserPermission.cs @@ -102,6 +102,8 @@ namespace Pulumi.AliCloud.ServiceMesh /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Service Mesh User Permission can be imported using the id, e.g. diff --git a/sdk/dotnet/SimpleApplicationServer/CustomImage.cs b/sdk/dotnet/SimpleApplicationServer/CustomImage.cs index da1b6c2891..f4428c962c 100644 --- a/sdk/dotnet/SimpleApplicationServer/CustomImage.cs +++ b/sdk/dotnet/SimpleApplicationServer/CustomImage.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.SimpleApplicationServer /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Simple Application Server Custom Image can be imported using the id, e.g. diff --git a/sdk/dotnet/SimpleApplicationServer/FirewallRule.cs b/sdk/dotnet/SimpleApplicationServer/FirewallRule.cs index 96a90ca938..c7f4b801a7 100644 --- a/sdk/dotnet/SimpleApplicationServer/FirewallRule.cs +++ b/sdk/dotnet/SimpleApplicationServer/FirewallRule.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.SimpleApplicationServer /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Simple Application Server Firewall Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/SimpleApplicationServer/Snapshot.cs b/sdk/dotnet/SimpleApplicationServer/Snapshot.cs index 110cfd45aa..18ce4498ae 100644 --- a/sdk/dotnet/SimpleApplicationServer/Snapshot.cs +++ b/sdk/dotnet/SimpleApplicationServer/Snapshot.cs @@ -71,6 +71,8 @@ namespace Pulumi.AliCloud.SimpleApplicationServer /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Simple Application Server Snapshot can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/Acl.cs b/sdk/dotnet/Slb/Acl.cs index 5ab53f605a..da8777674b 100644 --- a/sdk/dotnet/Slb/Acl.cs +++ b/sdk/dotnet/Slb/Acl.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Entry Block /// /// The entry mapping supports the following: diff --git a/sdk/dotnet/Slb/AclEntryAttachment.cs b/sdk/dotnet/Slb/AclEntryAttachment.cs index f61744b1aa..31718178c5 100644 --- a/sdk/dotnet/Slb/AclEntryAttachment.cs +++ b/sdk/dotnet/Slb/AclEntryAttachment.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/Attachment.cs b/sdk/dotnet/Slb/Attachment.cs index 3103903589..379ca09c5a 100644 --- a/sdk/dotnet/Slb/Attachment.cs +++ b/sdk/dotnet/Slb/Attachment.cs @@ -101,6 +101,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load balancer attachment can be imported using the id or load balancer id, e.g. diff --git a/sdk/dotnet/Slb/DomainExtension.cs b/sdk/dotnet/Slb/DomainExtension.cs index f285090743..d16ee96051 100644 --- a/sdk/dotnet/Slb/DomainExtension.cs +++ b/sdk/dotnet/Slb/DomainExtension.cs @@ -141,6 +141,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load balancer domain_extension can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/Listener.cs b/sdk/dotnet/Slb/Listener.cs index eb0b1c40f0..687ef4689f 100644 --- a/sdk/dotnet/Slb/Listener.cs +++ b/sdk/dotnet/Slb/Listener.cs @@ -110,6 +110,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/LoadBalancer.cs b/sdk/dotnet/Slb/LoadBalancer.cs index 1643c758b6..ed1a5815c1 100644 --- a/sdk/dotnet/Slb/LoadBalancer.cs +++ b/sdk/dotnet/Slb/LoadBalancer.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load balancer can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/MasterSlaveServerGroup.cs b/sdk/dotnet/Slb/MasterSlaveServerGroup.cs index 1fc80385db..3b58526b95 100644 --- a/sdk/dotnet/Slb/MasterSlaveServerGroup.cs +++ b/sdk/dotnet/Slb/MasterSlaveServerGroup.cs @@ -168,6 +168,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load balancer master slave server group can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/Rule.cs b/sdk/dotnet/Slb/Rule.cs index dbe0e649fc..212c1386cf 100644 --- a/sdk/dotnet/Slb/Rule.cs +++ b/sdk/dotnet/Slb/Rule.cs @@ -149,6 +149,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load balancer forwarding rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/ServerGroup.cs b/sdk/dotnet/Slb/ServerGroup.cs index 375a1c150e..7b286a0084 100644 --- a/sdk/dotnet/Slb/ServerGroup.cs +++ b/sdk/dotnet/Slb/ServerGroup.cs @@ -75,6 +75,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load Balancer Virtual Backend Server Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/ServerGroupServerAttachment.cs b/sdk/dotnet/Slb/ServerGroupServerAttachment.cs index 4a4d30e423..bc3e443d4b 100644 --- a/sdk/dotnet/Slb/ServerGroupServerAttachment.cs +++ b/sdk/dotnet/Slb/ServerGroupServerAttachment.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Slb/TlsCipherPolicy.cs b/sdk/dotnet/Slb/TlsCipherPolicy.cs index 439dbade42..cc3a69069e 100644 --- a/sdk/dotnet/Slb/TlsCipherPolicy.cs +++ b/sdk/dotnet/Slb/TlsCipherPolicy.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.Slb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SLB Tls Cipher Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/Alert.cs b/sdk/dotnet/Sls/Alert.cs index c7355130ff..fb57523ece 100644 --- a/sdk/dotnet/Sls/Alert.cs +++ b/sdk/dotnet/Sls/Alert.cs @@ -209,6 +209,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SLS Alert can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/CollectionPolicy.cs b/sdk/dotnet/Sls/CollectionPolicy.cs index b6ccd9a4f0..6a45ccd2f7 100644 --- a/sdk/dotnet/Sls/CollectionPolicy.cs +++ b/sdk/dotnet/Sls/CollectionPolicy.cs @@ -252,6 +252,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SLS Collection Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/Etl.cs b/sdk/dotnet/Sls/Etl.cs index 18d750311f..8a53787e78 100644 --- a/sdk/dotnet/Sls/Etl.cs +++ b/sdk/dotnet/Sls/Etl.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Service (SLS) Etl can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/Index.cs b/sdk/dotnet/Sls/Index.cs index ce59153e3e..bc788897bd 100644 --- a/sdk/dotnet/Sls/Index.cs +++ b/sdk/dotnet/Sls/Index.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Service (SLS) Index can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/LogtailConfig.cs b/sdk/dotnet/Sls/LogtailConfig.cs index 8cbf0eb21a..96568ff5d4 100644 --- a/sdk/dotnet/Sls/LogtailConfig.cs +++ b/sdk/dotnet/Sls/LogtailConfig.cs @@ -107,6 +107,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Service (SLS) Logtail Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/MachineGroup.cs b/sdk/dotnet/Sls/MachineGroup.cs index 2fe5214b11..ef4d3c550c 100644 --- a/sdk/dotnet/Sls/MachineGroup.cs +++ b/sdk/dotnet/Sls/MachineGroup.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Service (SLS) Machine Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/OssExportSink.cs b/sdk/dotnet/Sls/OssExportSink.cs index 900428526f..3b15a34af0 100644 --- a/sdk/dotnet/Sls/OssExportSink.cs +++ b/sdk/dotnet/Sls/OssExportSink.cs @@ -118,6 +118,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Log Service (SLS) Oss Export Sink can be imported using the id, e.g. diff --git a/sdk/dotnet/Sls/ScheduledSql.cs b/sdk/dotnet/Sls/ScheduledSql.cs index ec97f9f85c..1e0e19415e 100644 --- a/sdk/dotnet/Sls/ScheduledSql.cs +++ b/sdk/dotnet/Sls/ScheduledSql.cs @@ -89,6 +89,8 @@ namespace Pulumi.AliCloud.Sls /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SLS Scheduled SQL can be imported using the id, e.g. diff --git a/sdk/dotnet/Sms/ShortUrl.cs b/sdk/dotnet/Sms/ShortUrl.cs index d5585dda68..4f32ffa2f8 100644 --- a/sdk/dotnet/Sms/ShortUrl.cs +++ b/sdk/dotnet/Sms/ShortUrl.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.Sms /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SMS Short Url can be imported using the id, e.g. diff --git a/sdk/dotnet/StarRocksInstance.cs b/sdk/dotnet/StarRocksInstance.cs index fb97d90e3b..e1714d20f7 100644 --- a/sdk/dotnet/StarRocksInstance.cs +++ b/sdk/dotnet/StarRocksInstance.cs @@ -119,6 +119,8 @@ namespace Pulumi.AliCloud /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/Tag/AssociatedRule.cs b/sdk/dotnet/Tag/AssociatedRule.cs index 3b733f3a89..afe8afdd5c 100644 --- a/sdk/dotnet/Tag/AssociatedRule.cs +++ b/sdk/dotnet/Tag/AssociatedRule.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Tag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// TAG Associated Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Tag/MetaTag.cs b/sdk/dotnet/Tag/MetaTag.cs index 9e324ad8d6..b240b394a7 100644 --- a/sdk/dotnet/Tag/MetaTag.cs +++ b/sdk/dotnet/Tag/MetaTag.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.Tag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tag Meta Tag can be imported using the id, e.g. diff --git a/sdk/dotnet/Tag/Policy.cs b/sdk/dotnet/Tag/Policy.cs index 70111cd87f..2564067870 100644 --- a/sdk/dotnet/Tag/Policy.cs +++ b/sdk/dotnet/Tag/Policy.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.Tag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// TAG Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/Tag/PolicyAttachment.cs b/sdk/dotnet/Tag/PolicyAttachment.cs index 8688b188ad..06c3c4f90c 100644 --- a/sdk/dotnet/Tag/PolicyAttachment.cs +++ b/sdk/dotnet/Tag/PolicyAttachment.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Tag /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Tag Policy Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/AntiBruteForceRule.cs b/sdk/dotnet/ThreatDetection/AntiBruteForceRule.cs index feade7e3b6..771fd9bcbf 100644 --- a/sdk/dotnet/ThreatDetection/AntiBruteForceRule.cs +++ b/sdk/dotnet/ThreatDetection/AntiBruteForceRule.cs @@ -45,6 +45,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Anti Brute Force Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/AttackPathSensitiveAssetConfig.cs b/sdk/dotnet/ThreatDetection/AttackPathSensitiveAssetConfig.cs index b054c8e89b..3c7a622414 100644 --- a/sdk/dotnet/ThreatDetection/AttackPathSensitiveAssetConfig.cs +++ b/sdk/dotnet/ThreatDetection/AttackPathSensitiveAssetConfig.cs @@ -50,6 +50,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/BackupPolicy.cs b/sdk/dotnet/ThreatDetection/BackupPolicy.cs index c7337fca97..f4fec14603 100644 --- a/sdk/dotnet/ThreatDetection/BackupPolicy.cs +++ b/sdk/dotnet/ThreatDetection/BackupPolicy.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Backup Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/BaselineStrategy.cs b/sdk/dotnet/ThreatDetection/BaselineStrategy.cs index cc541fccd1..85701baa34 100644 --- a/sdk/dotnet/ThreatDetection/BaselineStrategy.cs +++ b/sdk/dotnet/ThreatDetection/BaselineStrategy.cs @@ -42,6 +42,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Baseline Strategy can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/CheckConfig.cs b/sdk/dotnet/ThreatDetection/CheckConfig.cs new file mode 100644 index 0000000000..63911aa286 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/CheckConfig.cs @@ -0,0 +1,347 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection +{ + /// + /// Provides a Threat Detection Check Config resource. + /// + /// CSPM Risk Overview Policy Management. + /// + /// For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). + /// + /// > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new AliCloud.ThreatDetection.CheckConfig("default", new() + /// { + /// EndTime = 18, + /// EnableAutoCheck = true, + /// Vendors = new[] + /// { + /// "ALIYUN", + /// }, + /// CycleDays = new[] + /// { + /// 7, + /// 1, + /// 2, + /// }, + /// EnableAddCheck = true, + /// StartTime = 12, + /// Configure = "not", + /// SystemConfig = false, + /// SelectedChecks = new[] + /// { + /// new AliCloud.ThreatDetection.Inputs.CheckConfigSelectedCheckArgs + /// { + /// CheckId = 370, + /// SectionId = 515, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Threat Detection Check Config can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example + /// ``` + /// + [AliCloudResourceType("alicloud:threatdetection/checkConfig:CheckConfig")] + public partial class CheckConfig : global::Pulumi.CustomResource + { + /// + /// The configuration of the check item. Valid value: + /// + [Output("configure")] + public Output Configure { get; private set; } = null!; + + /// + /// Cycle detection time. + /// + [Output("cycleDays")] + public Output> CycleDays { get; private set; } = null!; + + /// + /// Whether to check by default when there are new check items in the selected regulation. Values available: + /// - **true:** On + /// - **false:** off + /// + [Output("enableAddCheck")] + public Output EnableAddCheck { get; private set; } = null!; + + /// + /// Whether automatic cycle detection is enabled. Values available: + /// - **true:** On + /// - **false:** off + /// + [Output("enableAutoCheck")] + public Output EnableAutoCheck { get; private set; } = null!; + + /// + /// Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + /// - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + /// - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + /// - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + /// - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + /// + [Output("endTime")] + public Output EndTime { get; private set; } = null!; + + /// + /// The check items selected in the policy. See `SelectedChecks` below. + /// + [Output("selectedChecks")] + public Output> SelectedChecks { get; private set; } = null!; + + /// + /// The start time of the check. The value specifies a point in time in a day. + /// + [Output("startTime")] + public Output StartTime { get; private set; } = null!; + + /// + /// Specifies whether to use the configuration automatically generated by the system. Valid values: + /// + [Output("systemConfig")] + public Output SystemConfig { get; private set; } = null!; + + [Output("vendors")] + public Output> Vendors { get; private set; } = null!; + + + /// + /// Create a CheckConfig 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 CheckConfig(string name, CheckConfigArgs? args = null, CustomResourceOptions? options = null) + : base("alicloud:threatdetection/checkConfig:CheckConfig", name, args ?? new CheckConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private CheckConfig(string name, Input id, CheckConfigState? state = null, CustomResourceOptions? options = null) + : base("alicloud:threatdetection/checkConfig:CheckConfig", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 CheckConfig 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 CheckConfig Get(string name, Input id, CheckConfigState? state = null, CustomResourceOptions? options = null) + { + return new CheckConfig(name, id, state, options); + } + } + + public sealed class CheckConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration of the check item. Valid value: + /// + [Input("configure")] + public Input? Configure { get; set; } + + [Input("cycleDays")] + private InputList? _cycleDays; + + /// + /// Cycle detection time. + /// + public InputList CycleDays + { + get => _cycleDays ?? (_cycleDays = new InputList()); + set => _cycleDays = value; + } + + /// + /// Whether to check by default when there are new check items in the selected regulation. Values available: + /// - **true:** On + /// - **false:** off + /// + [Input("enableAddCheck")] + public Input? EnableAddCheck { get; set; } + + /// + /// Whether automatic cycle detection is enabled. Values available: + /// - **true:** On + /// - **false:** off + /// + [Input("enableAutoCheck")] + public Input? EnableAutoCheck { get; set; } + + /// + /// Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + /// - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + /// - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + /// - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + /// - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + [Input("selectedChecks")] + private InputList? _selectedChecks; + + /// + /// The check items selected in the policy. See `SelectedChecks` below. + /// + public InputList SelectedChecks + { + get => _selectedChecks ?? (_selectedChecks = new InputList()); + set => _selectedChecks = value; + } + + /// + /// The start time of the check. The value specifies a point in time in a day. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// Specifies whether to use the configuration automatically generated by the system. Valid values: + /// + [Input("systemConfig")] + public Input? SystemConfig { get; set; } + + [Input("vendors")] + private InputList? _vendors; + public InputList Vendors + { + get => _vendors ?? (_vendors = new InputList()); + set => _vendors = value; + } + + public CheckConfigArgs() + { + } + public static new CheckConfigArgs Empty => new CheckConfigArgs(); + } + + public sealed class CheckConfigState : global::Pulumi.ResourceArgs + { + /// + /// The configuration of the check item. Valid value: + /// + [Input("configure")] + public Input? Configure { get; set; } + + [Input("cycleDays")] + private InputList? _cycleDays; + + /// + /// Cycle detection time. + /// + public InputList CycleDays + { + get => _cycleDays ?? (_cycleDays = new InputList()); + set => _cycleDays = value; + } + + /// + /// Whether to check by default when there are new check items in the selected regulation. Values available: + /// - **true:** On + /// - **false:** off + /// + [Input("enableAddCheck")] + public Input? EnableAddCheck { get; set; } + + /// + /// Whether automatic cycle detection is enabled. Values available: + /// - **true:** On + /// - **false:** off + /// + [Input("enableAutoCheck")] + public Input? EnableAutoCheck { get; set; } + + /// + /// Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + /// - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + /// - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + /// - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + /// - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + /// + [Input("endTime")] + public Input? EndTime { get; set; } + + [Input("selectedChecks")] + private InputList? _selectedChecks; + + /// + /// The check items selected in the policy. See `SelectedChecks` below. + /// + public InputList SelectedChecks + { + get => _selectedChecks ?? (_selectedChecks = new InputList()); + set => _selectedChecks = value; + } + + /// + /// The start time of the check. The value specifies a point in time in a day. + /// + [Input("startTime")] + public Input? StartTime { get; set; } + + /// + /// Specifies whether to use the configuration automatically generated by the system. Valid values: + /// + [Input("systemConfig")] + public Input? SystemConfig { get; set; } + + [Input("vendors")] + private InputList? _vendors; + public InputList Vendors + { + get => _vendors ?? (_vendors = new InputList()); + set => _vendors = value; + } + + public CheckConfigState() + { + } + public static new CheckConfigState Empty => new CheckConfigState(); + } +} diff --git a/sdk/dotnet/ThreatDetection/ClientFileProtect.cs b/sdk/dotnet/ThreatDetection/ClientFileProtect.cs index 13192f4614..55c64a2d3c 100644 --- a/sdk/dotnet/ThreatDetection/ClientFileProtect.cs +++ b/sdk/dotnet/ThreatDetection/ClientFileProtect.cs @@ -54,6 +54,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Client File Protect can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/ClientUserDefineRule.cs b/sdk/dotnet/ThreatDetection/ClientUserDefineRule.cs index aeccbfbd6b..2bd1848984 100644 --- a/sdk/dotnet/ThreatDetection/ClientUserDefineRule.cs +++ b/sdk/dotnet/ThreatDetection/ClientUserDefineRule.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Client User Define Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/CycleTask.cs b/sdk/dotnet/ThreatDetection/CycleTask.cs index 21b5aa1ebf..ad8db2d90f 100644 --- a/sdk/dotnet/ThreatDetection/CycleTask.cs +++ b/sdk/dotnet/ThreatDetection/CycleTask.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Cycle Task can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/GetCheckItemConfigs.cs b/sdk/dotnet/ThreatDetection/GetCheckItemConfigs.cs new file mode 100644 index 0000000000..d112d79df7 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/GetCheckItemConfigs.cs @@ -0,0 +1,259 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection +{ + public static class GetCheckItemConfigs + { + /// + /// This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckItemConfigs.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckItemConfigExampleCheckId"] = @default.Apply(@default => @default.Apply(getCheckItemConfigsResult => getCheckItemConfigsResult.Configs[0]?.CheckId)), + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(GetCheckItemConfigsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", args ?? new GetCheckItemConfigsArgs(), options.WithDefaults()); + + /// + /// This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckItemConfigs.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckItemConfigExampleCheckId"] = @default.Apply(@default => @default.Apply(getCheckItemConfigsResult => getCheckItemConfigsResult.Configs[0]?.CheckId)), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetCheckItemConfigsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", args ?? new GetCheckItemConfigsInvokeArgs(), options.WithDefaults()); + + /// + /// This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckItemConfigs.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckItemConfigExampleCheckId"] = @default.Apply(@default => @default.Apply(getCheckItemConfigsResult => getCheckItemConfigsResult.Configs[0]?.CheckId)), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetCheckItemConfigsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", args ?? new GetCheckItemConfigsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCheckItemConfigsArgs : global::Pulumi.InvokeArgs + { + [Input("ids")] + private List? _ids; + + /// + /// A list of Check Item Config IDs. + /// + public List Ids + { + get => _ids ?? (_ids = new List()); + set => _ids = value; + } + + /// + /// The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + /// + [Input("lang")] + public string? Lang { get; set; } + + /// + /// File name where to save data source results (after running `pulumi preview`). + /// + [Input("outputFile")] + public string? OutputFile { get; set; } + + /// + /// Current page number. + /// + [Input("pageNumber")] + public int? PageNumber { get; set; } + + /// + /// Number of records per page. + /// + [Input("pageSize")] + public int? PageSize { get; set; } + + [Input("taskSources")] + private List? _taskSources; + + /// + /// List of task sources. + /// + public List TaskSources + { + get => _taskSources ?? (_taskSources = new List()); + set => _taskSources = value; + } + + public GetCheckItemConfigsArgs() + { + } + public static new GetCheckItemConfigsArgs Empty => new GetCheckItemConfigsArgs(); + } + + public sealed class GetCheckItemConfigsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("ids")] + private InputList? _ids; + + /// + /// A list of Check Item Config IDs. + /// + public InputList Ids + { + get => _ids ?? (_ids = new InputList()); + set => _ids = value; + } + + /// + /// The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + /// + [Input("lang")] + public Input? Lang { get; set; } + + /// + /// File name where to save data source results (after running `pulumi preview`). + /// + [Input("outputFile")] + public Input? OutputFile { get; set; } + + /// + /// Current page number. + /// + [Input("pageNumber")] + public Input? PageNumber { get; set; } + + /// + /// Number of records per page. + /// + [Input("pageSize")] + public Input? PageSize { get; set; } + + [Input("taskSources")] + private InputList? _taskSources; + + /// + /// List of task sources. + /// + public InputList TaskSources + { + get => _taskSources ?? (_taskSources = new InputList()); + set => _taskSources = value; + } + + public GetCheckItemConfigsInvokeArgs() + { + } + public static new GetCheckItemConfigsInvokeArgs Empty => new GetCheckItemConfigsInvokeArgs(); + } + + + [OutputType] + public sealed class GetCheckItemConfigsResult + { + /// + /// A list of Check Item Config Entries. Each element contains the following attributes: + /// + public readonly ImmutableArray Configs; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// A list of Check Item Config IDs. + /// + public readonly ImmutableArray Ids; + public readonly string? Lang; + public readonly string? OutputFile; + public readonly int? PageNumber; + public readonly int? PageSize; + public readonly ImmutableArray TaskSources; + + [OutputConstructor] + private GetCheckItemConfigsResult( + ImmutableArray configs, + + string id, + + ImmutableArray ids, + + string? lang, + + string? outputFile, + + int? pageNumber, + + int? pageSize, + + ImmutableArray taskSources) + { + Configs = configs; + Id = id; + Ids = ids; + Lang = lang; + OutputFile = outputFile; + PageNumber = pageNumber; + PageSize = pageSize; + TaskSources = taskSources; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/GetCheckStructures.cs b/sdk/dotnet/ThreatDetection/GetCheckStructures.cs new file mode 100644 index 0000000000..9b4c963e91 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/GetCheckStructures.cs @@ -0,0 +1,243 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection +{ + public static class GetCheckStructures + { + /// + /// This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckStructures.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckStructureExampleStandardType"] = @default.Apply(@default => @default.Apply(getCheckStructuresResult => getCheckStructuresResult.Structures[0]?.StandardType)), + /// }; + /// }); + /// ``` + /// + public static Task InvokeAsync(GetCheckStructuresArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("alicloud:threatdetection/getCheckStructures:getCheckStructures", args ?? new GetCheckStructuresArgs(), options.WithDefaults()); + + /// + /// This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckStructures.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckStructureExampleStandardType"] = @default.Apply(@default => @default.Apply(getCheckStructuresResult => getCheckStructuresResult.Structures[0]?.StandardType)), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetCheckStructuresInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", args ?? new GetCheckStructuresInvokeArgs(), options.WithDefaults()); + + /// + /// This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = AliCloud.ThreatDetection.GetCheckStructures.Invoke(); + /// + /// return new Dictionary<string, object?> + /// { + /// ["alicloudThreatDetectionCheckStructureExampleStandardType"] = @default.Apply(@default => @default.Apply(getCheckStructuresResult => getCheckStructuresResult.Structures[0]?.StandardType)), + /// }; + /// }); + /// ``` + /// + public static Output Invoke(GetCheckStructuresInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", args ?? new GetCheckStructuresInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCheckStructuresArgs : global::Pulumi.InvokeArgs + { + /// + /// The page number. + /// + [Input("currentPage")] + public int? CurrentPage { get; set; } + + [Input("ids")] + private List? _ids; + + /// + /// A list of Check Structure IDs. + /// + public List Ids + { + get => _ids ?? (_ids = new List()); + set => _ids = value; + } + + /// + /// The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + /// + [Input("lang")] + public string? Lang { get; set; } + + /// + /// File name where to save data source results (after running `pulumi preview`). + /// + [Input("outputFile")] + public string? OutputFile { get; set; } + + [Input("taskSources")] + private List? _taskSources; + + /// + /// List of task sources. + /// + public List TaskSources + { + get => _taskSources ?? (_taskSources = new List()); + set => _taskSources = value; + } + + public GetCheckStructuresArgs() + { + } + public static new GetCheckStructuresArgs Empty => new GetCheckStructuresArgs(); + } + + public sealed class GetCheckStructuresInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The page number. + /// + [Input("currentPage")] + public Input? CurrentPage { get; set; } + + [Input("ids")] + private InputList? _ids; + + /// + /// A list of Check Structure IDs. + /// + public InputList Ids + { + get => _ids ?? (_ids = new InputList()); + set => _ids = value; + } + + /// + /// The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + /// + [Input("lang")] + public Input? Lang { get; set; } + + /// + /// File name where to save data source results (after running `pulumi preview`). + /// + [Input("outputFile")] + public Input? OutputFile { get; set; } + + [Input("taskSources")] + private InputList? _taskSources; + + /// + /// List of task sources. + /// + public InputList TaskSources + { + get => _taskSources ?? (_taskSources = new InputList()); + set => _taskSources = value; + } + + public GetCheckStructuresInvokeArgs() + { + } + public static new GetCheckStructuresInvokeArgs Empty => new GetCheckStructuresInvokeArgs(); + } + + + [OutputType] + public sealed class GetCheckStructuresResult + { + public readonly int? CurrentPage; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// A list of Check Structure IDs. + /// + public readonly ImmutableArray Ids; + public readonly string? Lang; + public readonly string? OutputFile; + /// + /// A list of Check Structure Entries. Each element contains the following attributes: + /// + public readonly ImmutableArray Structures; + public readonly ImmutableArray TaskSources; + + [OutputConstructor] + private GetCheckStructuresResult( + int? currentPage, + + string id, + + ImmutableArray ids, + + string? lang, + + string? outputFile, + + ImmutableArray structures, + + ImmutableArray taskSources) + { + CurrentPage = currentPage; + Id = id; + Ids = ids; + Lang = lang; + OutputFile = outputFile; + Structures = structures; + TaskSources = taskSources; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/HoneyPot.cs b/sdk/dotnet/ThreatDetection/HoneyPot.cs index edbcc62141..15e91634ba 100644 --- a/sdk/dotnet/ThreatDetection/HoneyPot.cs +++ b/sdk/dotnet/ThreatDetection/HoneyPot.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Honey Pot can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/HoneypotNode.cs b/sdk/dotnet/ThreatDetection/HoneypotNode.cs index 12fa286bfa..a000a15fef 100644 --- a/sdk/dotnet/ThreatDetection/HoneypotNode.cs +++ b/sdk/dotnet/ThreatDetection/HoneypotNode.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Honeypot Node can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/HoneypotPreset.cs b/sdk/dotnet/ThreatDetection/HoneypotPreset.cs index 756a267568..7baed15fcc 100644 --- a/sdk/dotnet/ThreatDetection/HoneypotPreset.cs +++ b/sdk/dotnet/ThreatDetection/HoneypotPreset.cs @@ -61,6 +61,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Honeypot Preset can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/HoneypotProbe.cs b/sdk/dotnet/ThreatDetection/HoneypotProbe.cs index 0cdcdbabd2..ee2086cc38 100644 --- a/sdk/dotnet/ThreatDetection/HoneypotProbe.cs +++ b/sdk/dotnet/ThreatDetection/HoneypotProbe.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Honeypot Probe can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/ImageEventOperation.cs b/sdk/dotnet/ThreatDetection/ImageEventOperation.cs index 1cc5abc042..98ee62ba4a 100644 --- a/sdk/dotnet/ThreatDetection/ImageEventOperation.cs +++ b/sdk/dotnet/ThreatDetection/ImageEventOperation.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Image Event Operation can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckArgs.cs b/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckArgs.cs new file mode 100644 index 0000000000..45a4cd3f42 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Inputs +{ + + public sealed class CheckConfigSelectedCheckArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the check item. + /// + [Input("checkId")] + public Input? CheckId { get; set; } + + /// + /// The section ID of the check item. + /// + [Input("sectionId")] + public Input? SectionId { get; set; } + + public CheckConfigSelectedCheckArgs() + { + } + public static new CheckConfigSelectedCheckArgs Empty => new CheckConfigSelectedCheckArgs(); + } +} diff --git a/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckGetArgs.cs b/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckGetArgs.cs new file mode 100644 index 0000000000..70c4561fcf --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Inputs/CheckConfigSelectedCheckGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Inputs +{ + + public sealed class CheckConfigSelectedCheckGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the check item. + /// + [Input("checkId")] + public Input? CheckId { get; set; } + + /// + /// The section ID of the check item. + /// + [Input("sectionId")] + public Input? SectionId { get; set; } + + public CheckConfigSelectedCheckGetArgs() + { + } + public static new CheckConfigSelectedCheckGetArgs Empty => new CheckConfigSelectedCheckGetArgs(); + } +} diff --git a/sdk/dotnet/ThreatDetection/MaliciousFileWhitelistConfig.cs b/sdk/dotnet/ThreatDetection/MaliciousFileWhitelistConfig.cs index 19431edd47..2b8bb93bae 100644 --- a/sdk/dotnet/ThreatDetection/MaliciousFileWhitelistConfig.cs +++ b/sdk/dotnet/ThreatDetection/MaliciousFileWhitelistConfig.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/OssScanConfig.cs b/sdk/dotnet/ThreatDetection/OssScanConfig.cs index 08858d06ff..6e4c329182 100644 --- a/sdk/dotnet/ThreatDetection/OssScanConfig.cs +++ b/sdk/dotnet/ThreatDetection/OssScanConfig.cs @@ -102,6 +102,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Oss Scan Config can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/Outputs/CheckConfigSelectedCheck.cs b/sdk/dotnet/ThreatDetection/Outputs/CheckConfigSelectedCheck.cs new file mode 100644 index 0000000000..d164d3aea3 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/CheckConfigSelectedCheck.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class CheckConfigSelectedCheck + { + /// + /// The ID of the check item. + /// + public readonly int? CheckId; + /// + /// The section ID of the check item. + /// + public readonly int? SectionId; + + [OutputConstructor] + private CheckConfigSelectedCheck( + int? checkId, + + int? sectionId) + { + CheckId = checkId; + SectionId = sectionId; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigCustomConfigResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigCustomConfigResult.cs new file mode 100644 index 0000000000..b505531ae8 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigCustomConfigResult.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckItemConfigsConfigCustomConfigResult + { + /// + /// The default value of the custom configuration item. The value is a string. + /// + public readonly string DefaultValue; + /// + /// The name of the custom configuration item, which is unique in a check item. + /// + public readonly string Name; + /// + /// The display name of the custom configuration item for internationalization. + /// + public readonly string ShowName; + /// + /// The type of the custom configuration item. The value is a JSON string. + /// + public readonly string TypeDefine; + /// + /// The content of the description for the check item when the Type parameter is text. + /// + public readonly string Value; + + [OutputConstructor] + private GetCheckItemConfigsConfigCustomConfigResult( + string defaultValue, + + string name, + + string showName, + + string typeDefine, + + string value) + { + DefaultValue = defaultValue; + Name = name; + ShowName = showName; + TypeDefine = typeDefine; + Value = value; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigDescriptionResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigDescriptionResult.cs new file mode 100644 index 0000000000..487e436abb --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigDescriptionResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckItemConfigsConfigDescriptionResult + { + /// + /// The type of the description of the check item. Valid value:* **text**. + /// + public readonly string Type; + /// + /// The content of the description for the check item when the Type parameter is text. + /// + public readonly string Value; + + [OutputConstructor] + private GetCheckItemConfigsConfigDescriptionResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigResult.cs new file mode 100644 index 0000000000..d377d55028 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckItemConfigsConfigResult.cs @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckItemConfigsConfigResult + { + /// + /// The ID of the check item + /// + public readonly int CheckId; + /// + /// The name of the check item. + /// + public readonly string CheckShowName; + /// + /// The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + /// + public readonly string CheckType; + /// + /// The custom configuration items of the check item. + /// + public readonly ImmutableArray CustomConfigs; + /// + /// The description of the check item. + /// + public readonly Outputs.GetCheckItemConfigsConfigDescriptionResult Description; + /// + /// The estimated quota that will be consumed by this check item. + /// + public readonly int EstimatedCount; + /// + /// The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + /// + public readonly string InstanceSubType; + /// + /// The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + /// + public readonly string InstanceType; + /// + /// The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + /// + public readonly string RiskLevel; + /// + /// The IDs of the sections associated with the check items. + /// + public readonly ImmutableArray SectionIds; + /// + /// The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + /// + public readonly string Vendor; + + [OutputConstructor] + private GetCheckItemConfigsConfigResult( + int checkId, + + string checkShowName, + + string checkType, + + ImmutableArray customConfigs, + + Outputs.GetCheckItemConfigsConfigDescriptionResult description, + + int estimatedCount, + + string instanceSubType, + + string instanceType, + + string riskLevel, + + ImmutableArray sectionIds, + + string vendor) + { + CheckId = checkId; + CheckShowName = checkShowName; + CheckType = checkType; + CustomConfigs = customConfigs; + Description = description; + EstimatedCount = estimatedCount; + InstanceSubType = instanceSubType; + InstanceType = instanceType; + RiskLevel = riskLevel; + SectionIds = sectionIds; + Vendor = vendor; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureResult.cs new file mode 100644 index 0000000000..5beed71f2a --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckStructuresStructureResult + { + /// + /// The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + /// + public readonly string StandardType; + /// + /// The structure information about the check items of the business type. + /// + public readonly ImmutableArray Standards; + + [OutputConstructor] + private GetCheckStructuresStructureResult( + string standardType, + + ImmutableArray standards) + { + StandardType = standardType; + Standards = standards; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementResult.cs new file mode 100644 index 0000000000..97ce0e6009 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckStructuresStructureStandardRequirementResult + { + /// + /// The ID of the section for the check item. + /// + public readonly int Id; + /// + /// The information about the sections of check items. + /// + public readonly ImmutableArray Sections; + /// + /// The display name of the standard for the check item. + /// + public readonly string ShowName; + /// + /// The total number of check items for the requirement. + /// + public readonly int TotalCheckCount; + + [OutputConstructor] + private GetCheckStructuresStructureStandardRequirementResult( + int id, + + ImmutableArray sections, + + string showName, + + int totalCheckCount) + { + Id = id; + Sections = sections; + ShowName = showName; + TotalCheckCount = totalCheckCount; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementSectionResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementSectionResult.cs new file mode 100644 index 0000000000..9cca17a924 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardRequirementSectionResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckStructuresStructureStandardRequirementSectionResult + { + /// + /// The ID of the section for the check item. + /// + public readonly int Id; + /// + /// The display name of the standard for the check item. + /// + public readonly string ShowName; + + [OutputConstructor] + private GetCheckStructuresStructureStandardRequirementSectionResult( + int id, + + string showName) + { + Id = id; + ShowName = showName; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardResult.cs b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardResult.cs new file mode 100644 index 0000000000..c8ef480818 --- /dev/null +++ b/sdk/dotnet/ThreatDetection/Outputs/GetCheckStructuresStructureStandardResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.ThreatDetection.Outputs +{ + + [OutputType] + public sealed class GetCheckStructuresStructureStandardResult + { + /// + /// The ID of the section for the check item. + /// + public readonly int Id; + /// + /// The standards of the check items. + /// + public readonly ImmutableArray Requirements; + /// + /// The display name of the standard for the check item. + /// + public readonly string ShowName; + /// + /// The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + /// + public readonly string Type; + + [OutputConstructor] + private GetCheckStructuresStructureStandardResult( + int id, + + ImmutableArray requirements, + + string showName, + + string type) + { + Id = id; + Requirements = requirements; + ShowName = showName; + Type = type; + } + } +} diff --git a/sdk/dotnet/ThreatDetection/SasTrail.cs b/sdk/dotnet/ThreatDetection/SasTrail.cs index 1db43efe2e..9da0ca69b2 100644 --- a/sdk/dotnet/ThreatDetection/SasTrail.cs +++ b/sdk/dotnet/ThreatDetection/SasTrail.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Sas Trail can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/VulWhitelist.cs b/sdk/dotnet/ThreatDetection/VulWhitelist.cs index 6883b91c37..29b0efbd19 100644 --- a/sdk/dotnet/ThreatDetection/VulWhitelist.cs +++ b/sdk/dotnet/ThreatDetection/VulWhitelist.cs @@ -38,6 +38,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Vul Whitelist can be imported using the id, e.g. diff --git a/sdk/dotnet/ThreatDetection/WebLockConfig.cs b/sdk/dotnet/ThreatDetection/WebLockConfig.cs index 71de977dd0..49e195eb70 100644 --- a/sdk/dotnet/ThreatDetection/WebLockConfig.cs +++ b/sdk/dotnet/ThreatDetection/WebLockConfig.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.ThreatDetection /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Threat Detection Web Lock Config can be imported using the id, e.g. diff --git a/sdk/dotnet/Tsdb/Instance.cs b/sdk/dotnet/Tsdb/Instance.cs index a6b806a933..bffbab6b56 100644 --- a/sdk/dotnet/Tsdb/Instance.cs +++ b/sdk/dotnet/Tsdb/Instance.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Tsdb /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// TSDB Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/VideoSurveillance/SystemGroup.cs b/sdk/dotnet/VideoSurveillance/SystemGroup.cs index 954c84260b..ea0fe176cc 100644 --- a/sdk/dotnet/VideoSurveillance/SystemGroup.cs +++ b/sdk/dotnet/VideoSurveillance/SystemGroup.cs @@ -40,6 +40,8 @@ namespace Pulumi.AliCloud.VideoSurveillance /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Video Surveillance System Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Vod/Domain.cs b/sdk/dotnet/Vod/Domain.cs index 335bc3ff18..506b6470f0 100644 --- a/sdk/dotnet/Vod/Domain.cs +++ b/sdk/dotnet/Vod/Domain.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Vod /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VOD Domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Vod/EditingProject.cs b/sdk/dotnet/Vod/EditingProject.cs index 8aadb7a9b8..0e580dac0e 100644 --- a/sdk/dotnet/Vod/EditingProject.cs +++ b/sdk/dotnet/Vod/EditingProject.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Vod /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VOD Editing Project can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/BgpGroup.cs b/sdk/dotnet/Vpc/BgpGroup.cs index c965ca4752..004c6a8858 100644 --- a/sdk/dotnet/Vpc/BgpGroup.cs +++ b/sdk/dotnet/Vpc/BgpGroup.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Bgp Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/BgpNetwork.cs b/sdk/dotnet/Vpc/BgpNetwork.cs index 1bc403fd41..3301159698 100644 --- a/sdk/dotnet/Vpc/BgpNetwork.cs +++ b/sdk/dotnet/Vpc/BgpNetwork.cs @@ -64,6 +64,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Bgp Network can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/BgpPeer.cs b/sdk/dotnet/Vpc/BgpPeer.cs index e2609d168e..5064fa48b9 100644 --- a/sdk/dotnet/Vpc/BgpPeer.cs +++ b/sdk/dotnet/Vpc/BgpPeer.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Bgp Peer can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/CommonBandwithPackageAttachment.cs b/sdk/dotnet/Vpc/CommonBandwithPackageAttachment.cs index 0d0efe0b42..721ebf2b8d 100644 --- a/sdk/dotnet/Vpc/CommonBandwithPackageAttachment.cs +++ b/sdk/dotnet/Vpc/CommonBandwithPackageAttachment.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/DhcpOptionsSet.cs b/sdk/dotnet/Vpc/DhcpOptionsSet.cs index 0584492f29..f5a2dad34f 100644 --- a/sdk/dotnet/Vpc/DhcpOptionsSet.cs +++ b/sdk/dotnet/Vpc/DhcpOptionsSet.cs @@ -44,6 +44,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Dhcp Options Set can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/DhcpOptionsSetAttachment.cs b/sdk/dotnet/Vpc/DhcpOptionsSetAttachment.cs index 32f0a33148..73e43ecda4 100644 --- a/sdk/dotnet/Vpc/DhcpOptionsSetAttachment.cs +++ b/sdk/dotnet/Vpc/DhcpOptionsSetAttachment.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Dhcp Options Set Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/FlowLog.cs b/sdk/dotnet/Vpc/FlowLog.cs index 32e4fe02fb..8991c9ff7d 100644 --- a/sdk/dotnet/Vpc/FlowLog.cs +++ b/sdk/dotnet/Vpc/FlowLog.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Flow Log can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/ForwardEntry.cs b/sdk/dotnet/Vpc/ForwardEntry.cs index e8f973cc8e..3d51aa0087 100644 --- a/sdk/dotnet/Vpc/ForwardEntry.cs +++ b/sdk/dotnet/Vpc/ForwardEntry.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Forward Entry can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/GatewayEndpoint.cs b/sdk/dotnet/Vpc/GatewayEndpoint.cs index 1f449b7605..ccb3955bda 100644 --- a/sdk/dotnet/Vpc/GatewayEndpoint.cs +++ b/sdk/dotnet/Vpc/GatewayEndpoint.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Gateway Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/GatewayEndpointRouteTableAttachment.cs b/sdk/dotnet/Vpc/GatewayEndpointRouteTableAttachment.cs index 5ff42dc55b..d0bc94bb8a 100644 --- a/sdk/dotnet/Vpc/GatewayEndpointRouteTableAttachment.cs +++ b/sdk/dotnet/Vpc/GatewayEndpointRouteTableAttachment.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/GatewayRouteTableAttachment.cs b/sdk/dotnet/Vpc/GatewayRouteTableAttachment.cs index a9a26e3caa..3d04340c58 100644 --- a/sdk/dotnet/Vpc/GatewayRouteTableAttachment.cs +++ b/sdk/dotnet/Vpc/GatewayRouteTableAttachment.cs @@ -58,6 +58,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Gateway Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/HAVip.cs b/sdk/dotnet/Vpc/HAVip.cs index 20ee2e3d37..e4abdca8cd 100644 --- a/sdk/dotnet/Vpc/HAVip.cs +++ b/sdk/dotnet/Vpc/HAVip.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The havip can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/HAVipAttachment.cs b/sdk/dotnet/Vpc/HAVipAttachment.cs index 91ec75bd7e..38555027fb 100644 --- a/sdk/dotnet/Vpc/HAVipAttachment.cs +++ b/sdk/dotnet/Vpc/HAVipAttachment.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ha Vip Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/HaVipv2.cs b/sdk/dotnet/Vpc/HaVipv2.cs index 98b2f4a2f4..07433792da 100644 --- a/sdk/dotnet/Vpc/HaVipv2.cs +++ b/sdk/dotnet/Vpc/HaVipv2.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ha Vip can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpam.cs b/sdk/dotnet/Vpc/IpamIpam.cs index 07d4abb123..f097b955b6 100644 --- a/sdk/dotnet/Vpc/IpamIpam.cs +++ b/sdk/dotnet/Vpc/IpamIpam.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpamPool.cs b/sdk/dotnet/Vpc/IpamIpamPool.cs index 84bcdb7af4..826ccbd980 100644 --- a/sdk/dotnet/Vpc/IpamIpamPool.cs +++ b/sdk/dotnet/Vpc/IpamIpamPool.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam Pool can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpamPoolAllocation.cs b/sdk/dotnet/Vpc/IpamIpamPoolAllocation.cs index 911732ef55..58bbaad2fd 100644 --- a/sdk/dotnet/Vpc/IpamIpamPoolAllocation.cs +++ b/sdk/dotnet/Vpc/IpamIpamPoolAllocation.cs @@ -63,6 +63,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpamPoolCidr.cs b/sdk/dotnet/Vpc/IpamIpamPoolCidr.cs index 98ba89bf62..28db797dab 100644 --- a/sdk/dotnet/Vpc/IpamIpamPoolCidr.cs +++ b/sdk/dotnet/Vpc/IpamIpamPoolCidr.cs @@ -56,6 +56,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpamResourceDiscovery.cs b/sdk/dotnet/Vpc/IpamIpamResourceDiscovery.cs index 841dfb1289..d36571f185 100644 --- a/sdk/dotnet/Vpc/IpamIpamResourceDiscovery.cs +++ b/sdk/dotnet/Vpc/IpamIpamResourceDiscovery.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/IpamIpamScope.cs b/sdk/dotnet/Vpc/IpamIpamScope.cs index 849d36d387..93c0cc291a 100644 --- a/sdk/dotnet/Vpc/IpamIpamScope.cs +++ b/sdk/dotnet/Vpc/IpamIpamScope.cs @@ -52,6 +52,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipam Ipam Scope can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv4CidrBlock.cs b/sdk/dotnet/Vpc/Ipv4CidrBlock.cs index 2c1553a3f7..b27f512178 100644 --- a/sdk/dotnet/Vpc/Ipv4CidrBlock.cs +++ b/sdk/dotnet/Vpc/Ipv4CidrBlock.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ipv4 Cidr Block can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv4Gateway.cs b/sdk/dotnet/Vpc/Ipv4Gateway.cs index 43acf658ed..28ed2fe61b 100644 --- a/sdk/dotnet/Vpc/Ipv4Gateway.cs +++ b/sdk/dotnet/Vpc/Ipv4Gateway.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ipv4 Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv6Address.cs b/sdk/dotnet/Vpc/Ipv6Address.cs index cd54ffcfc4..6f1dcc2593 100644 --- a/sdk/dotnet/Vpc/Ipv6Address.cs +++ b/sdk/dotnet/Vpc/Ipv6Address.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ipv6 Address can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv6EgressRule.cs b/sdk/dotnet/Vpc/Ipv6EgressRule.cs index 638bb6491d..26db57e3a3 100644 --- a/sdk/dotnet/Vpc/Ipv6EgressRule.cs +++ b/sdk/dotnet/Vpc/Ipv6EgressRule.cs @@ -121,6 +121,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ipv6 Egress Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv6Gateway.cs b/sdk/dotnet/Vpc/Ipv6Gateway.cs index 0ff9b11ac6..adecc1bdbe 100644 --- a/sdk/dotnet/Vpc/Ipv6Gateway.cs +++ b/sdk/dotnet/Vpc/Ipv6Gateway.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Ipv6 Gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Ipv6InternetBandwidth.cs b/sdk/dotnet/Vpc/Ipv6InternetBandwidth.cs index 60931f4057..af33939593 100644 --- a/sdk/dotnet/Vpc/Ipv6InternetBandwidth.cs +++ b/sdk/dotnet/Vpc/Ipv6InternetBandwidth.cs @@ -109,6 +109,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/NatGateway.cs b/sdk/dotnet/Vpc/NatGateway.cs index e5fe0ec1e1..e672f12d29 100644 --- a/sdk/dotnet/Vpc/NatGateway.cs +++ b/sdk/dotnet/Vpc/NatGateway.cs @@ -109,6 +109,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Nat gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/NatIp.cs b/sdk/dotnet/Vpc/NatIp.cs index 316853e040..e1bc6a7d96 100644 --- a/sdk/dotnet/Vpc/NatIp.cs +++ b/sdk/dotnet/Vpc/NatIp.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Nat Ip can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/NatIpCidr.cs b/sdk/dotnet/Vpc/NatIpCidr.cs index 9dcfefcabb..e021dddd02 100644 --- a/sdk/dotnet/Vpc/NatIpCidr.cs +++ b/sdk/dotnet/Vpc/NatIpCidr.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Nat Ip Cidr can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Network.cs b/sdk/dotnet/Vpc/Network.cs index e4fc175177..88d6da83b1 100644 --- a/sdk/dotnet/Vpc/Network.cs +++ b/sdk/dotnet/Vpc/Network.cs @@ -51,6 +51,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC VPC can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/NetworkAcl.cs b/sdk/dotnet/Vpc/NetworkAcl.cs index 1d133fa24e..50a106b376 100644 --- a/sdk/dotnet/Vpc/NetworkAcl.cs +++ b/sdk/dotnet/Vpc/NetworkAcl.cs @@ -18,6 +18,8 @@ namespace Pulumi.AliCloud.Vpc /// /// > **NOTE:** Available since v1.43.0. /// + /// > **WARNING:** Do not mix the use of the `Resources` field in this resource with the separate `alicloud.vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + /// /// ## Example Usage /// /// Basic Usage @@ -93,6 +95,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Network Acl can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/NetworkAclAttachment.cs b/sdk/dotnet/Vpc/NetworkAclAttachment.cs index a7b67f1099..79889bede4 100644 --- a/sdk/dotnet/Vpc/NetworkAclAttachment.cs +++ b/sdk/dotnet/Vpc/NetworkAclAttachment.cs @@ -15,7 +15,9 @@ namespace Pulumi.AliCloud.Vpc /// > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `Resources` with the resource alicloud_network_acl. /// Note that because this resource conflicts with the `Resources` attribute of `alicloud.vpc.NetworkAcl`, this resource can no be used. /// - /// > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. + /// > **WARNING:** Do not mix the use of this deprecated resource with the `Resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `Resources` field in `alicloud.vpc.NetworkAcl`. + /// + /// > **NOTE:** Available since v1.44.0. /// /// ## Example Usage /// @@ -71,6 +73,8 @@ namespace Pulumi.AliCloud.Vpc /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:vpc/networkAclAttachment:NetworkAclAttachment")] public partial class NetworkAclAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Vpc/NetworkAclEntries.cs b/sdk/dotnet/Vpc/NetworkAclEntries.cs index dbdd763c67..999ab5ae44 100644 --- a/sdk/dotnet/Vpc/NetworkAclEntries.cs +++ b/sdk/dotnet/Vpc/NetworkAclEntries.cs @@ -103,6 +103,8 @@ namespace Pulumi.AliCloud.Vpc /// /// }); /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES /// [AliCloudResourceType("alicloud:vpc/networkAclEntries:NetworkAclEntries")] public partial class NetworkAclEntries : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Vpc/NetworkInterface.cs b/sdk/dotnet/Vpc/NetworkInterface.cs index 2407b91003..d93b331a9a 100644 --- a/sdk/dotnet/Vpc/NetworkInterface.cs +++ b/sdk/dotnet/Vpc/NetworkInterface.cs @@ -70,6 +70,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// ENI can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/PeerConnection.cs b/sdk/dotnet/Vpc/PeerConnection.cs index c427211de6..48723b5de4 100644 --- a/sdk/dotnet/Vpc/PeerConnection.cs +++ b/sdk/dotnet/Vpc/PeerConnection.cs @@ -59,6 +59,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Peer Peer Connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/PeerConnectionAccepter.cs b/sdk/dotnet/Vpc/PeerConnectionAccepter.cs index f8fe46b0e8..788d73b140 100644 --- a/sdk/dotnet/Vpc/PeerConnectionAccepter.cs +++ b/sdk/dotnet/Vpc/PeerConnectionAccepter.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Peer Peer Connection Accepter can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/PrefixList.cs b/sdk/dotnet/Vpc/PrefixList.cs index 5b330a0142..c6fc844e3b 100644 --- a/sdk/dotnet/Vpc/PrefixList.cs +++ b/sdk/dotnet/Vpc/PrefixList.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Prefix List can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/PublicIpAddressPool.cs b/sdk/dotnet/Vpc/PublicIpAddressPool.cs index adaab77ed6..655a3c6ed9 100644 --- a/sdk/dotnet/Vpc/PublicIpAddressPool.cs +++ b/sdk/dotnet/Vpc/PublicIpAddressPool.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Public Ip Address Pool can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/PublicIpAddressPoolCidrBlock.cs b/sdk/dotnet/Vpc/PublicIpAddressPoolCidrBlock.cs index 311ad74707..6ef2232a31 100644 --- a/sdk/dotnet/Vpc/PublicIpAddressPoolCidrBlock.cs +++ b/sdk/dotnet/Vpc/PublicIpAddressPoolCidrBlock.cs @@ -53,6 +53,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/RouteEntry.cs b/sdk/dotnet/Vpc/RouteEntry.cs index 391172bb34..3cccd327d0 100644 --- a/sdk/dotnet/Vpc/RouteEntry.cs +++ b/sdk/dotnet/Vpc/RouteEntry.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Module Support /// /// You can use to the existing vpc module diff --git a/sdk/dotnet/Vpc/RouteTable.cs b/sdk/dotnet/Vpc/RouteTable.cs index ee2e09d6ca..398fd74e45 100644 --- a/sdk/dotnet/Vpc/RouteTable.cs +++ b/sdk/dotnet/Vpc/RouteTable.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Route Table can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/RouteTableAttachment.cs b/sdk/dotnet/Vpc/RouteTableAttachment.cs index f4ed9aeaa0..5d30792d37 100644 --- a/sdk/dotnet/Vpc/RouteTableAttachment.cs +++ b/sdk/dotnet/Vpc/RouteTableAttachment.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/RouterInterface.cs b/sdk/dotnet/Vpc/RouterInterface.cs index d0280ed922..6ef8d4036b 100644 --- a/sdk/dotnet/Vpc/RouterInterface.cs +++ b/sdk/dotnet/Vpc/RouterInterface.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The router interface can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/RouterInterfaceConnection.cs b/sdk/dotnet/Vpc/RouterInterfaceConnection.cs index 77e77d35cd..5976be48b9 100644 --- a/sdk/dotnet/Vpc/RouterInterfaceConnection.cs +++ b/sdk/dotnet/Vpc/RouterInterfaceConnection.cs @@ -93,6 +93,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// The router interface connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/SnatEntry.cs b/sdk/dotnet/Vpc/SnatEntry.cs index d2ca555bb6..7208af5731 100644 --- a/sdk/dotnet/Vpc/SnatEntry.cs +++ b/sdk/dotnet/Vpc/SnatEntry.cs @@ -79,6 +79,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// NAT Gateway Snat Entry can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/Switch.cs b/sdk/dotnet/Vpc/Switch.cs index b91f236164..7e0f6d2371 100644 --- a/sdk/dotnet/Vpc/Switch.cs +++ b/sdk/dotnet/Vpc/Switch.cs @@ -132,6 +132,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Vswitch can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/TrafficMirrorFilter.cs b/sdk/dotnet/Vpc/TrafficMirrorFilter.cs index f454c22722..073082bc56 100644 --- a/sdk/dotnet/Vpc/TrafficMirrorFilter.cs +++ b/sdk/dotnet/Vpc/TrafficMirrorFilter.cs @@ -78,6 +78,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Traffic Mirror Filter can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/TrafficMirrorFilterEgressRule.cs b/sdk/dotnet/Vpc/TrafficMirrorFilterEgressRule.cs index 4e6934b9a8..9aaa6ab698 100644 --- a/sdk/dotnet/Vpc/TrafficMirrorFilterEgressRule.cs +++ b/sdk/dotnet/Vpc/TrafficMirrorFilterEgressRule.cs @@ -46,6 +46,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/TrafficMirrorFilterIngressRule.cs b/sdk/dotnet/Vpc/TrafficMirrorFilterIngressRule.cs index 41bda96d31..26feb39e5d 100644 --- a/sdk/dotnet/Vpc/TrafficMirrorFilterIngressRule.cs +++ b/sdk/dotnet/Vpc/TrafficMirrorFilterIngressRule.cs @@ -48,6 +48,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/TrafficMirrorSession.cs b/sdk/dotnet/Vpc/TrafficMirrorSession.cs index db858dae15..424fc072ac 100644 --- a/sdk/dotnet/Vpc/TrafficMirrorSession.cs +++ b/sdk/dotnet/Vpc/TrafficMirrorSession.cs @@ -136,6 +136,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Traffic Mirror Session can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/VPCRouteEntry.cs b/sdk/dotnet/Vpc/VPCRouteEntry.cs index 104a6dd51e..a578d36d23 100644 --- a/sdk/dotnet/Vpc/VPCRouteEntry.cs +++ b/sdk/dotnet/Vpc/VPCRouteEntry.cs @@ -98,6 +98,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Route Entry can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/VbrHa.cs b/sdk/dotnet/Vpc/VbrHa.cs index ac2fe121b0..5662ceed4d 100644 --- a/sdk/dotnet/Vpc/VbrHa.cs +++ b/sdk/dotnet/Vpc/VbrHa.cs @@ -104,6 +104,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Express Connect Vbr Ha can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpc/VpcNetworkAclAttachment.cs b/sdk/dotnet/Vpc/VpcNetworkAclAttachment.cs index 2f524d467d..bb441ab407 100644 --- a/sdk/dotnet/Vpc/VpcNetworkAclAttachment.cs +++ b/sdk/dotnet/Vpc/VpcNetworkAclAttachment.cs @@ -10,12 +10,16 @@ namespace Pulumi.AliCloud.Vpc { /// - /// Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. + /// Provides a VPC Network Acl Attachment resource. + /// + /// Resources associated with network Acl. /// /// For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). /// /// > **NOTE:** Available since v1.193.0. /// + /// > **WARNING:** Do not mix the use of this resource with the `Resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + /// /// ## Example Usage /// /// Basic Usage @@ -66,6 +70,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPC Network Acl Attachment can be imported using the id, e.g. @@ -78,13 +84,13 @@ namespace Pulumi.AliCloud.Vpc public partial class VpcNetworkAclAttachment : global::Pulumi.CustomResource { /// - /// The ID of the network ACL. + /// The ID of the network ACL instance. /// [Output("networkAclId")] public Output NetworkAclId { get; private set; } = null!; /// - /// The ID of the associated resource. + /// The ID of the associated vswitch instance. /// [Output("resourceId")] public Output ResourceId { get; private set; } = null!; @@ -148,13 +154,13 @@ public static VpcNetworkAclAttachment Get(string name, Input id, VpcNetw public sealed class VpcNetworkAclAttachmentArgs : global::Pulumi.ResourceArgs { /// - /// The ID of the network ACL. + /// The ID of the network ACL instance. /// [Input("networkAclId", required: true)] public Input NetworkAclId { get; set; } = null!; /// - /// The ID of the associated resource. + /// The ID of the associated vswitch instance. /// [Input("resourceId", required: true)] public Input ResourceId { get; set; } = null!; @@ -174,13 +180,13 @@ public VpcNetworkAclAttachmentArgs() public sealed class VpcNetworkAclAttachmentState : global::Pulumi.ResourceArgs { /// - /// The ID of the network ACL. + /// The ID of the network ACL instance. /// [Input("networkAclId")] public Input? NetworkAclId { get; set; } /// - /// The ID of the associated resource. + /// The ID of the associated vswitch instance. /// [Input("resourceId")] public Input? ResourceId { get; set; } diff --git a/sdk/dotnet/Vpc/VswitchCidrReservation.cs b/sdk/dotnet/Vpc/VswitchCidrReservation.cs index c837d613c8..31e351eb28 100644 --- a/sdk/dotnet/Vpc/VswitchCidrReservation.cs +++ b/sdk/dotnet/Vpc/VswitchCidrReservation.cs @@ -62,6 +62,8 @@ namespace Pulumi.AliCloud.Vpc /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Vpc Vswitch Cidr Reservation can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/Connection.cs b/sdk/dotnet/Vpn/Connection.cs index 17bf1de2f7..83190c0c0c 100644 --- a/sdk/dotnet/Vpn/Connection.cs +++ b/sdk/dotnet/Vpn/Connection.cs @@ -169,6 +169,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN connection can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/CustomerGateway.cs b/sdk/dotnet/Vpn/CustomerGateway.cs index f165f70265..1aa1b74870 100644 --- a/sdk/dotnet/Vpn/CustomerGateway.cs +++ b/sdk/dotnet/Vpn/CustomerGateway.cs @@ -35,6 +35,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN customer gateway can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/GatewayVcoRoute.cs b/sdk/dotnet/Vpn/GatewayVcoRoute.cs index b22aa090d5..a247537c57 100644 --- a/sdk/dotnet/Vpn/GatewayVcoRoute.cs +++ b/sdk/dotnet/Vpn/GatewayVcoRoute.cs @@ -136,6 +136,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN Gateway Vco Route can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/GatewayVpnAttachment.cs b/sdk/dotnet/Vpn/GatewayVpnAttachment.cs index 75f21df7b1..4e8163e0e8 100644 --- a/sdk/dotnet/Vpn/GatewayVpnAttachment.cs +++ b/sdk/dotnet/Vpn/GatewayVpnAttachment.cs @@ -197,6 +197,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN Gateway Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/IpsecServer.cs b/sdk/dotnet/Vpn/IpsecServer.cs index 550a7f229a..23bb4eadb3 100644 --- a/sdk/dotnet/Vpn/IpsecServer.cs +++ b/sdk/dotnet/Vpn/IpsecServer.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN Ipsec Server can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/PbrRouteEntry.cs b/sdk/dotnet/Vpn/PbrRouteEntry.cs index 0fb5f379f4..03d1ce4295 100644 --- a/sdk/dotnet/Vpn/PbrRouteEntry.cs +++ b/sdk/dotnet/Vpn/PbrRouteEntry.cs @@ -145,6 +145,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN Pbr route entry can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/RouteEntry.cs b/sdk/dotnet/Vpn/RouteEntry.cs index 55c51d68c2..bd4c19c956 100644 --- a/sdk/dotnet/Vpn/RouteEntry.cs +++ b/sdk/dotnet/Vpn/RouteEntry.cs @@ -138,6 +138,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. diff --git a/sdk/dotnet/Vpn/SslVpnClientCert.cs b/sdk/dotnet/Vpn/SslVpnClientCert.cs index 1ad01eb4da..53abea234b 100644 --- a/sdk/dotnet/Vpn/SslVpnClientCert.cs +++ b/sdk/dotnet/Vpn/SslVpnClientCert.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SSL-VPN client certificates can be imported using the id, e.g. diff --git a/sdk/dotnet/Vpn/SslVpnServer.cs b/sdk/dotnet/Vpn/SslVpnServer.cs index b0d2085e77..e8df27b576 100644 --- a/sdk/dotnet/Vpn/SslVpnServer.cs +++ b/sdk/dotnet/Vpn/SslVpnServer.cs @@ -80,6 +80,8 @@ namespace Pulumi.AliCloud.Vpn /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SSL-VPN server can be imported using the id, e.g. diff --git a/sdk/dotnet/Waf/Certificate.cs b/sdk/dotnet/Waf/Certificate.cs index eff2228806..de678838f7 100644 --- a/sdk/dotnet/Waf/Certificate.cs +++ b/sdk/dotnet/Waf/Certificate.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Waf /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// WAF Certificate can be imported using the id, e.g. diff --git a/sdk/dotnet/Waf/Domain.cs b/sdk/dotnet/Waf/Domain.cs index 326f88a506..5f8a6d6c4a 100644 --- a/sdk/dotnet/Waf/Domain.cs +++ b/sdk/dotnet/Waf/Domain.cs @@ -66,6 +66,8 @@ namespace Pulumi.AliCloud.Waf /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// WAF domain can be imported using the id, e.g. diff --git a/sdk/dotnet/Waf/ProtectionModule.cs b/sdk/dotnet/Waf/ProtectionModule.cs index dc1d56d3d4..6bca15dad8 100644 --- a/sdk/dotnet/Waf/ProtectionModule.cs +++ b/sdk/dotnet/Waf/ProtectionModule.cs @@ -77,6 +77,8 @@ namespace Pulumi.AliCloud.Waf /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. diff --git a/sdk/dotnet/Wafv3/DefenseResourceGroup.cs b/sdk/dotnet/Wafv3/DefenseResourceGroup.cs index 3d50ea1291..ed413a1b1e 100644 --- a/sdk/dotnet/Wafv3/DefenseResourceGroup.cs +++ b/sdk/dotnet/Wafv3/DefenseResourceGroup.cs @@ -113,6 +113,8 @@ namespace Pulumi.AliCloud.Wafv3 /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// WAFV3 Defense Resource Group can be imported using the id, e.g. diff --git a/sdk/dotnet/Wafv3/DefenseRule.cs b/sdk/dotnet/Wafv3/DefenseRule.cs index 7a3fc2ea80..d2036d0aa2 100644 --- a/sdk/dotnet/Wafv3/DefenseRule.cs +++ b/sdk/dotnet/Wafv3/DefenseRule.cs @@ -86,6 +86,8 @@ namespace Pulumi.AliCloud.Wafv3 /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// WAFV3 Defense Rule can be imported using the id, e.g. diff --git a/sdk/dotnet/Wafv3/DefenseTemplate.cs b/sdk/dotnet/Wafv3/DefenseTemplate.cs index abd9ccf5c5..61aa0a7bfe 100644 --- a/sdk/dotnet/Wafv3/DefenseTemplate.cs +++ b/sdk/dotnet/Wafv3/DefenseTemplate.cs @@ -47,6 +47,8 @@ namespace Pulumi.AliCloud.Wafv3 /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// WAFV3 Defense Template can be imported using the id, e.g. diff --git a/sdk/dotnet/Wafv3/Instance.cs b/sdk/dotnet/Wafv3/Instance.cs index 8edd68a205..9d494bc46b 100644 --- a/sdk/dotnet/Wafv3/Instance.cs +++ b/sdk/dotnet/Wafv3/Instance.cs @@ -33,6 +33,8 @@ namespace Pulumi.AliCloud.Wafv3 /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Wafv3 Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/clickHouseEnterpriseDbCluster/Account.cs b/sdk/dotnet/clickHouseEnterpriseDbCluster/Account.cs index 88b355257b..f02647bce0 100644 --- a/sdk/dotnet/clickHouseEnterpriseDbCluster/Account.cs +++ b/sdk/dotnet/clickHouseEnterpriseDbCluster/Account.cs @@ -82,6 +82,8 @@ namespace Pulumi.AliCloud.clickHouseEnterpriseDbCluster /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Enterprise Db Cluster Account can be imported using the id, e.g. diff --git a/sdk/dotnet/clickHouseEnterpriseDbCluster/BackupPolicy.cs b/sdk/dotnet/clickHouseEnterpriseDbCluster/BackupPolicy.cs index 03c23d3a5c..15a6b48c71 100644 --- a/sdk/dotnet/clickHouseEnterpriseDbCluster/BackupPolicy.cs +++ b/sdk/dotnet/clickHouseEnterpriseDbCluster/BackupPolicy.cs @@ -68,6 +68,8 @@ namespace Pulumi.AliCloud.clickHouseEnterpriseDbCluster /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/clickHouseEnterpriseDbCluster/ClickHouseEnterpriseDbCluster.cs b/sdk/dotnet/clickHouseEnterpriseDbCluster/ClickHouseEnterpriseDbCluster.cs index 54a4c9c988..b198a91f87 100644 --- a/sdk/dotnet/clickHouseEnterpriseDbCluster/ClickHouseEnterpriseDbCluster.cs +++ b/sdk/dotnet/clickHouseEnterpriseDbCluster/ClickHouseEnterpriseDbCluster.cs @@ -105,6 +105,8 @@ namespace Pulumi.AliCloud.clickHouseEnterpriseDbCluster /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Enterprise D B Cluster can be imported using the id, e.g. diff --git a/sdk/dotnet/clickHouseEnterpriseDbCluster/PublicEndpoint.cs b/sdk/dotnet/clickHouseEnterpriseDbCluster/PublicEndpoint.cs index 4fbcc5becf..5517baf534 100644 --- a/sdk/dotnet/clickHouseEnterpriseDbCluster/PublicEndpoint.cs +++ b/sdk/dotnet/clickHouseEnterpriseDbCluster/PublicEndpoint.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.clickHouseEnterpriseDbCluster /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. diff --git a/sdk/dotnet/clickHouseEnterpriseDbCluster/SecurityIp.cs b/sdk/dotnet/clickHouseEnterpriseDbCluster/SecurityIp.cs index db1c76e64f..f4e6682425 100644 --- a/sdk/dotnet/clickHouseEnterpriseDbCluster/SecurityIp.cs +++ b/sdk/dotnet/clickHouseEnterpriseDbCluster/SecurityIp.cs @@ -67,6 +67,8 @@ namespace Pulumi.AliCloud.clickHouseEnterpriseDbCluster /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. diff --git a/sdk/dotnet/cloudPhone/Image.cs b/sdk/dotnet/cloudPhone/Image.cs index 41a81a6e18..69dce5e4c6 100644 --- a/sdk/dotnet/cloudPhone/Image.cs +++ b/sdk/dotnet/cloudPhone/Image.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.cloudPhone /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Phone Image can be imported using the id, e.g. diff --git a/sdk/dotnet/cloudPhone/KeyPair.cs b/sdk/dotnet/cloudPhone/KeyPair.cs index a8acee3378..ddabfbf88a 100644 --- a/sdk/dotnet/cloudPhone/KeyPair.cs +++ b/sdk/dotnet/cloudPhone/KeyPair.cs @@ -65,6 +65,8 @@ namespace Pulumi.AliCloud.cloudPhone /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Phone Key Pair can be imported using the id, e.g. diff --git a/sdk/dotnet/cloudPhone/Policy.cs b/sdk/dotnet/cloudPhone/Policy.cs index 358c527623..617386a9a5 100644 --- a/sdk/dotnet/cloudPhone/Policy.cs +++ b/sdk/dotnet/cloudPhone/Policy.cs @@ -55,6 +55,8 @@ namespace Pulumi.AliCloud.cloudPhone /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Phone Policy can be imported using the id, e.g. diff --git a/sdk/dotnet/cloudPhoneInstance/Group.cs b/sdk/dotnet/cloudPhoneInstance/Group.cs index c7e1862c1d..d327b5610e 100644 --- a/sdk/dotnet/cloudPhoneInstance/Group.cs +++ b/sdk/dotnet/cloudPhoneInstance/Group.cs @@ -72,6 +72,8 @@ namespace Pulumi.AliCloud.cloudPhoneInstance /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Cloud Phone Instance Group can be imported using the id, e.g. diff --git a/sdk/dotnet/configAggregate/README.md b/sdk/dotnet/configAggregate/README.md new file mode 100644 index 0000000000..7ba805c190 --- /dev/null +++ b/sdk/dotnet/configAggregate/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing AliCloud resources. diff --git a/sdk/dotnet/configAggregate/Remediation.cs b/sdk/dotnet/configAggregate/Remediation.cs new file mode 100644 index 0000000000..6c76758092 --- /dev/null +++ b/sdk/dotnet/configAggregate/Remediation.cs @@ -0,0 +1,367 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AliCloud.configAggregate +{ + /// + /// Provides a Cloud Config (Config) Aggregate Remediation resource. + /// + /// Rule remediation in multi-account scenarios. + /// + /// For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). + /// + /// > **NOTE:** Available since v1.267.0. + /// + /// ## Example Usage + /// + /// Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using AliCloud = Pulumi.AliCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var name = config.Get("name") ?? "terraform-example"; + /// var create_agg = new AliCloud.Cfg.Aggregator("create-agg", new() + /// { + /// AggregatorName = "rd", + /// Description = "rd", + /// AggregatorType = "RD", + /// }); + /// + /// var create_rule = new AliCloud.Cfg.AggregateConfigRule("create-rule", new() + /// { + /// SourceOwner = "ALIYUN", + /// SourceIdentifier = "required-tags", + /// AggregateConfigRuleName = "agg-rule-name", + /// ConfigRuleTriggerTypes = "ConfigurationItemChangeNotification", + /// RiskLevel = 1, + /// ResourceTypesScopes = new[] + /// { + /// "ACS::OSS::Bucket", + /// }, + /// AggregatorId = create_agg.Id, + /// InputParameters = + /// { + /// { "tag1Key", "aaa" }, + /// { "tag1Value", "bbb" }, + /// }, + /// }); + /// + /// var @default = new AliCloud.ConfigAggregate.Remediation("default", new() + /// { + /// ConfigRuleId = create_rule.ConfigRuleId, + /// RemediationTemplateId = "ACS-TAG-TagResources", + /// RemediationSourceType = "ALIYUN", + /// InvokeType = "MANUAL_EXECUTION", + /// RemediationType = "OOS", + /// AggregatorId = create_agg.Id, + /// RemediationOriginParams = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["properties"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["name"] = "regionId", + /// ["type"] = "String", + /// ["value"] = "{regionId}", + /// ["allowedValues"] = new[] + /// { + /// }, + /// ["description"] = "region ID", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["name"] = "tags", + /// ["type"] = "Json", + /// ["value"] = "{\"aaa\":\"bbb\"}", + /// ["allowedValues"] = new[] + /// { + /// }, + /// ["description"] = "resource tags (for example,{\"k1\":\"v1\",\"k2\":\"v2\"}).", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["name"] = "resourceType", + /// ["type"] = "String", + /// ["value"] = "{resourceType}", + /// ["allowedValues"] = new[] + /// { + /// }, + /// ["description"] = "resource type", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["name"] = "resourceIds", + /// ["type"] = "ARRAY", + /// ["value"] = "[{\"resources\":[]}]", + /// ["allowedValues"] = new[] + /// { + /// }, + /// ["description"] = "Resource ID List", + /// }, + /// }, + /// }), + /// }); + /// + /// }); + /// ``` + /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// + /// ## Import + /// + /// Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import alicloud:configaggregate/remediation:Remediation example <aggregator_id>:<remediation_id> + /// ``` + /// + [AliCloudResourceType("alicloud:configaggregate/remediation:Remediation")] + public partial class Remediation : global::Pulumi.CustomResource + { + /// + /// The account Group ID. + /// For more information about how to obtain the account group ID, see ListAggregators. + /// + [Output("aggregatorId")] + public Output AggregatorId { get; private set; } = null!; + + /// + /// The rule ID. + /// For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + /// + [Output("configRuleId")] + public Output ConfigRuleId { get; private set; } = null!; + + /// + /// Correction of execution mode. Value: + /// - NON_EXECUTION: Not executed. + /// - AUTO_EXECUTION: Automatically executed. + /// - MANUAL_EXECUTION: Execute manually. + /// - NOT_CONFIG: Not set. + /// + [Output("invokeType")] + public Output InvokeType { get; private set; } = null!; + + /// + /// Multi-account remediation ID + /// + [Output("remediationId")] + public Output RemediationId { get; private set; } = null!; + + /// + /// Correct the parameters of the settings. + /// For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + /// + [Output("remediationOriginParams")] + public Output RemediationOriginParams { get; private set; } = null!; + + /// + /// The source of the template to perform the correction. Value: + /// - ALIYUN (default): Official website template. + /// - CUSTOM: CUSTOM template. + /// - NONE: NONE. + /// + [Output("remediationSourceType")] + public Output RemediationSourceType { get; private set; } = null!; + + /// + /// The ID of the correction template. + /// + [Output("remediationTemplateId")] + public Output RemediationTemplateId { get; private set; } = null!; + + /// + /// Remediation type. Value: + /// - OOS: Operation and maintenance orchestration (Template correction). + /// - FC: Function Compute (custom correction). + /// + [Output("remediationType")] + public Output RemediationType { get; private set; } = null!; + + + /// + /// Create a Remediation 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 Remediation(string name, RemediationArgs args, CustomResourceOptions? options = null) + : base("alicloud:configaggregate/remediation:Remediation", name, args ?? new RemediationArgs(), MakeResourceOptions(options, "")) + { + } + + private Remediation(string name, Input id, RemediationState? state = null, CustomResourceOptions? options = null) + : base("alicloud:configaggregate/remediation:Remediation", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 Remediation 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 Remediation Get(string name, Input id, RemediationState? state = null, CustomResourceOptions? options = null) + { + return new Remediation(name, id, state, options); + } + } + + public sealed class RemediationArgs : global::Pulumi.ResourceArgs + { + /// + /// The account Group ID. + /// For more information about how to obtain the account group ID, see ListAggregators. + /// + [Input("aggregatorId", required: true)] + public Input AggregatorId { get; set; } = null!; + + /// + /// The rule ID. + /// For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + /// + [Input("configRuleId", required: true)] + public Input ConfigRuleId { get; set; } = null!; + + /// + /// Correction of execution mode. Value: + /// - NON_EXECUTION: Not executed. + /// - AUTO_EXECUTION: Automatically executed. + /// - MANUAL_EXECUTION: Execute manually. + /// - NOT_CONFIG: Not set. + /// + [Input("invokeType", required: true)] + public Input InvokeType { get; set; } = null!; + + /// + /// Correct the parameters of the settings. + /// For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + /// + [Input("remediationOriginParams", required: true)] + public Input RemediationOriginParams { get; set; } = null!; + + /// + /// The source of the template to perform the correction. Value: + /// - ALIYUN (default): Official website template. + /// - CUSTOM: CUSTOM template. + /// - NONE: NONE. + /// + [Input("remediationSourceType")] + public Input? RemediationSourceType { get; set; } + + /// + /// The ID of the correction template. + /// + [Input("remediationTemplateId", required: true)] + public Input RemediationTemplateId { get; set; } = null!; + + /// + /// Remediation type. Value: + /// - OOS: Operation and maintenance orchestration (Template correction). + /// - FC: Function Compute (custom correction). + /// + [Input("remediationType", required: true)] + public Input RemediationType { get; set; } = null!; + + public RemediationArgs() + { + } + public static new RemediationArgs Empty => new RemediationArgs(); + } + + public sealed class RemediationState : global::Pulumi.ResourceArgs + { + /// + /// The account Group ID. + /// For more information about how to obtain the account group ID, see ListAggregators. + /// + [Input("aggregatorId")] + public Input? AggregatorId { get; set; } + + /// + /// The rule ID. + /// For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + /// + [Input("configRuleId")] + public Input? ConfigRuleId { get; set; } + + /// + /// Correction of execution mode. Value: + /// - NON_EXECUTION: Not executed. + /// - AUTO_EXECUTION: Automatically executed. + /// - MANUAL_EXECUTION: Execute manually. + /// - NOT_CONFIG: Not set. + /// + [Input("invokeType")] + public Input? InvokeType { get; set; } + + /// + /// Multi-account remediation ID + /// + [Input("remediationId")] + public Input? RemediationId { get; set; } + + /// + /// Correct the parameters of the settings. + /// For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + /// + [Input("remediationOriginParams")] + public Input? RemediationOriginParams { get; set; } + + /// + /// The source of the template to perform the correction. Value: + /// - ALIYUN (default): Official website template. + /// - CUSTOM: CUSTOM template. + /// - NONE: NONE. + /// + [Input("remediationSourceType")] + public Input? RemediationSourceType { get; set; } + + /// + /// The ID of the correction template. + /// + [Input("remediationTemplateId")] + public Input? RemediationTemplateId { get; set; } + + /// + /// Remediation type. Value: + /// - OOS: Operation and maintenance orchestration (Template correction). + /// - FC: Function Compute (custom correction). + /// + [Input("remediationType")] + public Input? RemediationType { get; set; } + + public RemediationState() + { + } + public static new RemediationState Empty => new RemediationState(); + } +} diff --git a/sdk/dotnet/sslCertificatesService/PcaCertificate.cs b/sdk/dotnet/sslCertificatesService/PcaCertificate.cs index dec3224cb9..3d9d1ce416 100644 --- a/sdk/dotnet/sslCertificatesService/PcaCertificate.cs +++ b/sdk/dotnet/sslCertificatesService/PcaCertificate.cs @@ -43,6 +43,8 @@ namespace Pulumi.AliCloud.sslCertificatesService /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -68,6 +70,9 @@ public partial class PcaCertificate : global::Pulumi.CustomResource [Output("algorithm")] public Output Algorithm { get; private set; } = null!; + [Output("aliasName")] + public Output AliasName { get; private set; } = null!; + /// /// The common name or abbreviation of the organization. Support the use of Chinese, English characters. /// @@ -99,8 +104,13 @@ public partial class PcaCertificate : global::Pulumi.CustomResource public Output OrganizationUnit { get; private set; } = null!; /// - /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - /// Name of the province or state where the organization is located. Support the use of Chinese, English characters. + /// A resource property field representing the resource group. + /// + [Output("resourceGroupId")] + public Output ResourceGroupId { get; private set; } = null!; + + /// + /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. /// [Output("state")] public Output State { get; private set; } = null!; @@ -111,6 +121,12 @@ public partial class PcaCertificate : global::Pulumi.CustomResource [Output("status")] public Output Status { get; private set; } = null!; + /// + /// The tag of the resource. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// The validity period of the root CA certificate, in years. /// > **NOTE:** It is recommended to set to `5` to `10` years. @@ -178,6 +194,9 @@ public sealed class PcaCertificateArgs : global::Pulumi.ResourceArgs [Input("algorithm")] public Input? Algorithm { get; set; } + [Input("aliasName")] + public Input? AliasName { get; set; } + /// /// The common name or abbreviation of the organization. Support the use of Chinese, English characters. /// @@ -209,12 +228,29 @@ public sealed class PcaCertificateArgs : global::Pulumi.ResourceArgs public Input OrganizationUnit { get; set; } = null!; /// - /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - /// Name of the province or state where the organization is located. Support the use of Chinese, English characters. + /// A resource property field representing the resource group. + /// + [Input("resourceGroupId")] + public Input? ResourceGroupId { get; set; } + + /// + /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. /// [Input("state", required: true)] public Input State { get; set; } = null!; + [Input("tags")] + private InputMap? _tags; + + /// + /// The tag of the resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// The validity period of the root CA certificate, in years. /// > **NOTE:** It is recommended to set to `5` to `10` years. @@ -244,6 +280,9 @@ public sealed class PcaCertificateState : global::Pulumi.ResourceArgs [Input("algorithm")] public Input? Algorithm { get; set; } + [Input("aliasName")] + public Input? AliasName { get; set; } + /// /// The common name or abbreviation of the organization. Support the use of Chinese, English characters. /// @@ -275,8 +314,13 @@ public sealed class PcaCertificateState : global::Pulumi.ResourceArgs public Input? OrganizationUnit { get; set; } /// - /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - /// Name of the province or state where the organization is located. Support the use of Chinese, English characters. + /// A resource property field representing the resource group. + /// + [Input("resourceGroupId")] + public Input? ResourceGroupId { get; set; } + + /// + /// The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. /// [Input("state")] public Input? State { get; set; } @@ -287,6 +331,18 @@ public sealed class PcaCertificateState : global::Pulumi.ResourceArgs [Input("status")] public Input? Status { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// The tag of the resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// The validity period of the root CA certificate, in years. /// > **NOTE:** It is recommended to set to `5` to `10` years. diff --git a/sdk/dotnet/starRocks/Instance.cs b/sdk/dotnet/starRocks/Instance.cs index 9017070d43..d57078b46c 100644 --- a/sdk/dotnet/starRocks/Instance.cs +++ b/sdk/dotnet/starRocks/Instance.cs @@ -119,6 +119,8 @@ namespace Pulumi.AliCloud.starRocks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/dotnet/starRocks/NodeGroup.cs b/sdk/dotnet/starRocks/NodeGroup.cs index 1fe77bc8b7..be764165f2 100644 --- a/sdk/dotnet/starRocks/NodeGroup.cs +++ b/sdk/dotnet/starRocks/NodeGroup.cs @@ -115,6 +115,8 @@ namespace Pulumi.AliCloud.starRocks /// }); /// ``` /// + /// 📚 Need more examples? VIEW MORE EXAMPLES + /// /// ## Import /// /// Star Rocks Node Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ackone/cluster.go b/sdk/go/alicloud/ackone/cluster.go index 06e31d2abe..31ee806702 100644 --- a/sdk/go/alicloud/ackone/cluster.go +++ b/sdk/go/alicloud/ackone/cluster.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ack One Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ackone/membershipAttachment.go b/sdk/go/alicloud/ackone/membershipAttachment.go index 20f2b07a6e..013dc2144b 100644 --- a/sdk/go/alicloud/ackone/membershipAttachment.go +++ b/sdk/go/alicloud/ackone/membershipAttachment.go @@ -156,6 +156,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. diff --git a/sdk/go/alicloud/actiontrail/advancedQueryTemplate.go b/sdk/go/alicloud/actiontrail/advancedQueryTemplate.go index 2b0984be99..a06a161c4b 100644 --- a/sdk/go/alicloud/actiontrail/advancedQueryTemplate.go +++ b/sdk/go/alicloud/actiontrail/advancedQueryTemplate.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Actiontrail Advanced Query Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/actiontrail/globalEventsStorageRegion.go b/sdk/go/alicloud/actiontrail/globalEventsStorageRegion.go index 1a6e33de25..50f70f9d66 100644 --- a/sdk/go/alicloud/actiontrail/globalEventsStorageRegion.go +++ b/sdk/go/alicloud/actiontrail/globalEventsStorageRegion.go @@ -43,6 +43,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global events storage region not can be imported. diff --git a/sdk/go/alicloud/actiontrail/historyDeliveryJob.go b/sdk/go/alicloud/actiontrail/historyDeliveryJob.go index 94543ea88a..11eff454ee 100644 --- a/sdk/go/alicloud/actiontrail/historyDeliveryJob.go +++ b/sdk/go/alicloud/actiontrail/historyDeliveryJob.go @@ -12,9 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a Actiontrail History Delivery Job resource. +// Provides a Action Trail History Delivery Job resource. // -// For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). +// Delivery History Tasks. +// +// For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). // // > **NOTE:** Available since v1.139.0. // @@ -33,12 +35,13 @@ import ( // // import ( // +// "encoding/json" // "fmt" // // "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud" // "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail" // "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/log" -// "github.com/pulumi/pulumi-random/sdk/v4/go/random" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // @@ -51,41 +54,56 @@ import ( // if param := cfg.Get("name"); param != "" { // name = param // } -// _default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{ -// Min: 10000, -// Max: 99999, -// }) +// _default, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{ +// Current: pulumi.BoolRef(true), +// }, nil) // if err != nil { // return err // } -// example, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{ -// Current: pulumi.BoolRef(true), +// defaultGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil) +// if err != nil { +// return err +// } +// defaultGetRoles, err := ram.GetRoles(ctx, &ram.GetRolesArgs{ +// NameRegex: pulumi.StringRef("AliyunServiceRoleForActionTrail"), // }, nil) // if err != nil { // return err // } -// exampleGetAccount, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil) +// defaultProject, err := log.NewProject(ctx, "default", &log.ProjectArgs{ +// Description: pulumi.String(name), +// ProjectName: pulumi.String(name), +// }) // if err != nil { // return err // } -// exampleProject, err := log.NewProject(ctx, "example", &log.ProjectArgs{ -// ProjectName: pulumi.Sprintf("%v-%v", name, _default.Result), -// Description: pulumi.String("tf actiontrail example"), +// tmpJSON0, err := json.Marshal([]map[string]interface{}{ +// map[string]interface{}{ +// "ServiceName": "PDS", +// }, // }) // if err != nil { // return err // } -// exampleTrail, err := actiontrail.NewTrail(ctx, "example", &actiontrail.TrailArgs{ -// TrailName: pulumi.Sprintf("%v-%v", name, _default.Result), -// SlsProjectArn: exampleProject.Name.ApplyT(func(name string) (string, error) { -// return fmt.Sprintf("acs:log:%v:%v:project/%v", example.Regions[0].Id, exampleGetAccount.Id, name), nil +// json0 := string(tmpJSON0) +// defaultTrail, err := actiontrail.NewTrail(ctx, "default", &actiontrail.TrailArgs{ +// EventRw: pulumi.String("Write"), +// SlsProjectArn: defaultProject.ProjectName.ApplyT(func(projectName string) (string, error) { +// return fmt.Sprintf("acs:log:%v:%v:project/%v", _default.Regions[0].Id, defaultGetAccount.Id, projectName), nil // }).(pulumi.StringOutput), +// TrailName: pulumi.String(name), +// SlsWriteRoleArn: pulumi.String(defaultGetRoles.Roles[0].Arn), +// TrailRegion: pulumi.String("All"), +// IsOrganizationTrail: pulumi.Bool(false), +// Status: pulumi.String("Enable"), +// EventSelectors: pulumi.String(json0), +// DataEventTrailRegion: pulumi.String("cn-hangzhou"), // }) // if err != nil { // return err // } -// _, err = actiontrail.NewHistoryDeliveryJob(ctx, "example", &actiontrail.HistoryDeliveryJobArgs{ -// TrailName: exampleTrail.ID(), +// _, err = actiontrail.NewHistoryDeliveryJob(ctx, "default", &actiontrail.HistoryDeliveryJobArgs{ +// TrailName: defaultTrail.ID(), // }) // if err != nil { // return err @@ -96,9 +114,11 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// Actiontrail History Delivery Job can be imported using the id, e.g. +// Action Trail History Delivery Job can be imported using the id, e.g. // // ```sh // $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example @@ -106,9 +126,11 @@ import ( type HistoryDeliveryJob struct { pulumi.CustomResourceState - // The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + // The creation time of the resource + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The status of the resource Status pulumi.IntOutput `pulumi:"status"` - // The name of the trail for which you want to create a historical event delivery task. + // The Track Name. TrailName pulumi.StringOutput `pulumi:"trailName"` } @@ -145,16 +167,20 @@ func GetHistoryDeliveryJob(ctx *pulumi.Context, // Input properties used for looking up and filtering HistoryDeliveryJob resources. type historyDeliveryJobState struct { - // The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + // The creation time of the resource + CreateTime *string `pulumi:"createTime"` + // The status of the resource Status *int `pulumi:"status"` - // The name of the trail for which you want to create a historical event delivery task. + // The Track Name. TrailName *string `pulumi:"trailName"` } type HistoryDeliveryJobState struct { - // The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + // The creation time of the resource + CreateTime pulumi.StringPtrInput + // The status of the resource Status pulumi.IntPtrInput - // The name of the trail for which you want to create a historical event delivery task. + // The Track Name. TrailName pulumi.StringPtrInput } @@ -163,13 +189,13 @@ func (HistoryDeliveryJobState) ElementType() reflect.Type { } type historyDeliveryJobArgs struct { - // The name of the trail for which you want to create a historical event delivery task. + // The Track Name. TrailName string `pulumi:"trailName"` } // The set of arguments for constructing a HistoryDeliveryJob resource. type HistoryDeliveryJobArgs struct { - // The name of the trail for which you want to create a historical event delivery task. + // The Track Name. TrailName pulumi.StringInput } @@ -260,12 +286,17 @@ func (o HistoryDeliveryJobOutput) ToHistoryDeliveryJobOutputWithContext(ctx cont return o } -// The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. +// The creation time of the resource +func (o HistoryDeliveryJobOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *HistoryDeliveryJob) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The status of the resource func (o HistoryDeliveryJobOutput) Status() pulumi.IntOutput { return o.ApplyT(func(v *HistoryDeliveryJob) pulumi.IntOutput { return v.Status }).(pulumi.IntOutput) } -// The name of the trail for which you want to create a historical event delivery task. +// The Track Name. func (o HistoryDeliveryJobOutput) TrailName() pulumi.StringOutput { return o.ApplyT(func(v *HistoryDeliveryJob) pulumi.StringOutput { return v.TrailName }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/actiontrail/trail.go b/sdk/go/alicloud/actiontrail/trail.go index 82ed492344..cdb36c5bd4 100644 --- a/sdk/go/alicloud/actiontrail/trail.go +++ b/sdk/go/alicloud/actiontrail/trail.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Actiontrail Trail can be imported using the id, e.g. @@ -123,7 +125,7 @@ type Trail struct { MnsTopicArn pulumi.StringPtrOutput `pulumi:"mnsTopicArn"` // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringOutput `pulumi:"name"` // The OSS bucket to which the trail delivers logs. OssBucketName pulumi.StringPtrOutput `pulumi:"ossBucketName"` @@ -142,7 +144,7 @@ type Trail struct { // The ARN of the role that ActionTrail assumes to deliver operation events to the Simple Log Service project. SlsWriteRoleArn pulumi.StringOutput `pulumi:"slsWriteRoleArn"` // The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. - Status pulumi.StringPtrOutput `pulumi:"status"` + Status pulumi.StringOutput `pulumi:"status"` // The name of the trail to be created. TrailName pulumi.StringOutput `pulumi:"trailName"` // The region of the trail. @@ -199,7 +201,7 @@ type trailState struct { MnsTopicArn *string `pulumi:"mnsTopicArn"` // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name *string `pulumi:"name"` // The OSS bucket to which the trail delivers logs. OssBucketName *string `pulumi:"ossBucketName"` @@ -246,7 +248,7 @@ type TrailState struct { MnsTopicArn pulumi.StringPtrInput // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringPtrInput // The OSS bucket to which the trail delivers logs. OssBucketName pulumi.StringPtrInput @@ -295,7 +297,7 @@ type trailArgs struct { MnsTopicArn *string `pulumi:"mnsTopicArn"` // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name *string `pulumi:"name"` // The OSS bucket to which the trail delivers logs. OssBucketName *string `pulumi:"ossBucketName"` @@ -339,7 +341,7 @@ type TrailArgs struct { MnsTopicArn pulumi.StringPtrInput // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringPtrInput // The OSS bucket to which the trail delivers logs. OssBucketName pulumi.StringPtrInput @@ -494,7 +496,7 @@ func (o TrailOutput) MnsTopicArn() pulumi.StringPtrOutput { // Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. // -// Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. +// Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. func (o TrailOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Trail) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -537,8 +539,8 @@ func (o TrailOutput) SlsWriteRoleArn() pulumi.StringOutput { } // The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. -func (o TrailOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Trail) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) +func (o TrailOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Trail) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } // The name of the trail to be created. diff --git a/sdk/go/alicloud/actiontrail/trailDeprecated.go b/sdk/go/alicloud/actiontrail/trailDeprecated.go index 1c0448b756..6ac708f18f 100644 --- a/sdk/go/alicloud/actiontrail/trailDeprecated.go +++ b/sdk/go/alicloud/actiontrail/trailDeprecated.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Action trail can be imported using the id, e.g. @@ -72,7 +74,7 @@ type TrailDeprecated struct { MnsTopicArn pulumi.StringPtrOutput `pulumi:"mnsTopicArn"` // The name of the trail to be created, which must be unique for an account. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringOutput `pulumi:"name"` // The OSS bucket to which the trail delivers logs. Ensure that this is an existing OSS bucket. OssBucketName pulumi.StringPtrOutput `pulumi:"ossBucketName"` @@ -89,10 +91,10 @@ type TrailDeprecated struct { // The unique ARN of the Log Service role. // // > **NOTE:** `slsProjectArn` and `slsWriteRoleArn` should be set or not set at the same time when actiontrail delivers logs. - SlsWriteRoleArn pulumi.StringOutput `pulumi:"slsWriteRoleArn"` - Status pulumi.StringPtrOutput `pulumi:"status"` - TrailName pulumi.StringOutput `pulumi:"trailName"` - TrailRegion pulumi.StringOutput `pulumi:"trailRegion"` + SlsWriteRoleArn pulumi.StringOutput `pulumi:"slsWriteRoleArn"` + Status pulumi.StringOutput `pulumi:"status"` + TrailName pulumi.StringOutput `pulumi:"trailName"` + TrailRegion pulumi.StringOutput `pulumi:"trailRegion"` } // NewTrailDeprecated registers a new resource with the given unique name, arguments, and options. @@ -137,7 +139,7 @@ type trailDeprecatedState struct { MnsTopicArn *string `pulumi:"mnsTopicArn"` // The name of the trail to be created, which must be unique for an account. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name *string `pulumi:"name"` // The OSS bucket to which the trail delivers logs. Ensure that this is an existing OSS bucket. OssBucketName *string `pulumi:"ossBucketName"` @@ -173,7 +175,7 @@ type TrailDeprecatedState struct { MnsTopicArn pulumi.StringPtrInput // The name of the trail to be created, which must be unique for an account. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringPtrInput // The OSS bucket to which the trail delivers logs. Ensure that this is an existing OSS bucket. OssBucketName pulumi.StringPtrInput @@ -212,7 +214,7 @@ type trailDeprecatedArgs struct { MnsTopicArn *string `pulumi:"mnsTopicArn"` // The name of the trail to be created, which must be unique for an account. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name *string `pulumi:"name"` // The OSS bucket to which the trail delivers logs. Ensure that this is an existing OSS bucket. OssBucketName *string `pulumi:"ossBucketName"` @@ -247,7 +249,7 @@ type TrailDeprecatedArgs struct { MnsTopicArn pulumi.StringPtrInput // The name of the trail to be created, which must be unique for an account. // - // Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + // Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. Name pulumi.StringPtrInput // The OSS bucket to which the trail delivers logs. Ensure that this is an existing OSS bucket. OssBucketName pulumi.StringPtrInput @@ -392,7 +394,7 @@ func (o TrailDeprecatedOutput) MnsTopicArn() pulumi.StringPtrOutput { // The name of the trail to be created, which must be unique for an account. // -// Deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. +// Deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. func (o TrailDeprecatedOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *TrailDeprecated) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -434,8 +436,8 @@ func (o TrailDeprecatedOutput) SlsWriteRoleArn() pulumi.StringOutput { return o.ApplyT(func(v *TrailDeprecated) pulumi.StringOutput { return v.SlsWriteRoleArn }).(pulumi.StringOutput) } -func (o TrailDeprecatedOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TrailDeprecated) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) +func (o TrailDeprecatedOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TrailDeprecated) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } func (o TrailDeprecatedOutput) TrailName() pulumi.StringOutput { diff --git a/sdk/go/alicloud/adb/account.go b/sdk/go/alicloud/adb/account.go index 1b8053fca1..941218e2f2 100644 --- a/sdk/go/alicloud/adb/account.go +++ b/sdk/go/alicloud/adb/account.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ADB account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/adb/cluster.go b/sdk/go/alicloud/adb/cluster.go index 2d4fa71c15..01f9792e68 100644 --- a/sdk/go/alicloud/adb/cluster.go +++ b/sdk/go/alicloud/adb/cluster.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ADB cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/adb/connection.go b/sdk/go/alicloud/adb/connection.go index bbf0712739..f57a507cc5 100644 --- a/sdk/go/alicloud/adb/connection.go +++ b/sdk/go/alicloud/adb/connection.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ADB connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/adb/dbclusterLakeVersion.go b/sdk/go/alicloud/adb/dbclusterLakeVersion.go index 573a73c1b8..a4f83d7c71 100644 --- a/sdk/go/alicloud/adb/dbclusterLakeVersion.go +++ b/sdk/go/alicloud/adb/dbclusterLakeVersion.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/adb/lakeAccount.go b/sdk/go/alicloud/adb/lakeAccount.go index f2ebfe0639..a70819084e 100644 --- a/sdk/go/alicloud/adb/lakeAccount.go +++ b/sdk/go/alicloud/adb/lakeAccount.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ADB Lake Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/adb/resourceGroup.go b/sdk/go/alicloud/adb/resourceGroup.go index cc28d26a97..eec103e76c 100644 --- a/sdk/go/alicloud/adb/resourceGroup.go +++ b/sdk/go/alicloud/adb/resourceGroup.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Adb Resource Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/acl.go b/sdk/go/alicloud/alb/acl.go index 85c8b78793..9c134d8bc0 100644 --- a/sdk/go/alicloud/alb/acl.go +++ b/sdk/go/alicloud/alb/acl.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ALB Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/aclEntryAttachment.go b/sdk/go/alicloud/alb/aclEntryAttachment.go index 6c36a32576..511f672711 100644 --- a/sdk/go/alicloud/alb/aclEntryAttachment.go +++ b/sdk/go/alicloud/alb/aclEntryAttachment.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/ascript.go b/sdk/go/alicloud/alb/ascript.go index 879099a450..2ffed029ca 100644 --- a/sdk/go/alicloud/alb/ascript.go +++ b/sdk/go/alicloud/alb/ascript.go @@ -175,6 +175,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) A Script can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/healthCheckTemplate.go b/sdk/go/alicloud/alb/healthCheckTemplate.go index 7ab52ac9f4..001dfe4222 100644 --- a/sdk/go/alicloud/alb/healthCheckTemplate.go +++ b/sdk/go/alicloud/alb/healthCheckTemplate.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/listener.go b/sdk/go/alicloud/alb/listener.go index 9c93c81d74..5a3d1683bd 100644 --- a/sdk/go/alicloud/alb/listener.go +++ b/sdk/go/alicloud/alb/listener.go @@ -229,6 +229,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Listener can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/listenerAclAttachment.go b/sdk/go/alicloud/alb/listenerAclAttachment.go index 124f8d1d73..aa24f1ceff 100644 --- a/sdk/go/alicloud/alb/listenerAclAttachment.go +++ b/sdk/go/alicloud/alb/listenerAclAttachment.go @@ -192,6 +192,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ALB Listener Acl Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/listenerAdditionalCertificateAttachment.go b/sdk/go/alicloud/alb/listenerAdditionalCertificateAttachment.go index ab86067185..d0a2e18c82 100644 --- a/sdk/go/alicloud/alb/listenerAdditionalCertificateAttachment.go +++ b/sdk/go/alicloud/alb/listenerAdditionalCertificateAttachment.go @@ -278,6 +278,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/loadBalancer.go b/sdk/go/alicloud/alb/loadBalancer.go index cfafbae57e..026ced273e 100644 --- a/sdk/go/alicloud/alb/loadBalancer.go +++ b/sdk/go/alicloud/alb/loadBalancer.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/loadBalancerAccessLogConfigAttachment.go b/sdk/go/alicloud/alb/loadBalancerAccessLogConfigAttachment.go index a1b3310095..9f38bf95df 100644 --- a/sdk/go/alicloud/alb/loadBalancerAccessLogConfigAttachment.go +++ b/sdk/go/alicloud/alb/loadBalancerAccessLogConfigAttachment.go @@ -165,6 +165,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/loadBalancerCommonBandwidthPackageAttachment.go b/sdk/go/alicloud/alb/loadBalancerCommonBandwidthPackageAttachment.go index f542ac0d96..9a45fc204e 100644 --- a/sdk/go/alicloud/alb/loadBalancerCommonBandwidthPackageAttachment.go +++ b/sdk/go/alicloud/alb/loadBalancerCommonBandwidthPackageAttachment.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/loadBalancerSecurityGroupAttachment.go b/sdk/go/alicloud/alb/loadBalancerSecurityGroupAttachment.go index 845c6cddd4..cf7c9b04ee 100644 --- a/sdk/go/alicloud/alb/loadBalancerSecurityGroupAttachment.go +++ b/sdk/go/alicloud/alb/loadBalancerSecurityGroupAttachment.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/loadBalancerZoneShiftedAttachment.go b/sdk/go/alicloud/alb/loadBalancerZoneShiftedAttachment.go index c2b38b1462..5ea404478e 100644 --- a/sdk/go/alicloud/alb/loadBalancerZoneShiftedAttachment.go +++ b/sdk/go/alicloud/alb/loadBalancerZoneShiftedAttachment.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/rule.go b/sdk/go/alicloud/alb/rule.go index a08c487ef7..c39a629f82 100644 --- a/sdk/go/alicloud/alb/rule.go +++ b/sdk/go/alicloud/alb/rule.go @@ -201,6 +201,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/securityPolicy.go b/sdk/go/alicloud/alb/securityPolicy.go index d968efea22..c820e89cd2 100644 --- a/sdk/go/alicloud/alb/securityPolicy.go +++ b/sdk/go/alicloud/alb/securityPolicy.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ALB Security Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alb/serverGroup.go b/sdk/go/alicloud/alb/serverGroup.go index 577714a5cd..f66d4b694f 100644 --- a/sdk/go/alicloud/alb/serverGroup.go +++ b/sdk/go/alicloud/alb/serverGroup.go @@ -157,6 +157,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Load Balancer (ALB) Server Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/aligreen/auditCallback.go b/sdk/go/alicloud/aligreen/auditCallback.go index 49245e4c36..4d304258c6 100644 --- a/sdk/go/alicloud/aligreen/auditCallback.go +++ b/sdk/go/alicloud/aligreen/auditCallback.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aligreen Audit Callback can be imported using the id, e.g. diff --git a/sdk/go/alicloud/aligreen/bizType.go b/sdk/go/alicloud/aligreen/bizType.go index ee03d51ba9..198088e053 100644 --- a/sdk/go/alicloud/aligreen/bizType.go +++ b/sdk/go/alicloud/aligreen/bizType.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aligreen Biz Type can be imported using the id, e.g. diff --git a/sdk/go/alicloud/aligreen/callback.go b/sdk/go/alicloud/aligreen/callback.go index 5d95e9f637..7dd44226bd 100644 --- a/sdk/go/alicloud/aligreen/callback.go +++ b/sdk/go/alicloud/aligreen/callback.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aligreen Callback can be imported using the id, e.g. diff --git a/sdk/go/alicloud/aligreen/imageLib.go b/sdk/go/alicloud/aligreen/imageLib.go index 4f3a59dbd2..c6973c5c3f 100644 --- a/sdk/go/alicloud/aligreen/imageLib.go +++ b/sdk/go/alicloud/aligreen/imageLib.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aligreen Image Lib can be imported using the id, e.g. diff --git a/sdk/go/alicloud/aligreen/keywordLib.go b/sdk/go/alicloud/aligreen/keywordLib.go index 12635acb18..520aeaa753 100644 --- a/sdk/go/alicloud/aligreen/keywordLib.go +++ b/sdk/go/alicloud/aligreen/keywordLib.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aligreen Keyword Lib can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alikafka/consumerGroup.go b/sdk/go/alicloud/alikafka/consumerGroup.go index cf13588b5a..a2ff6292c9 100644 --- a/sdk/go/alicloud/alikafka/consumerGroup.go +++ b/sdk/go/alicloud/alikafka/consumerGroup.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alikafka/instanceAllowedIpAttachment.go b/sdk/go/alicloud/alikafka/instanceAllowedIpAttachment.go index 30f8c445cc..91090e672a 100644 --- a/sdk/go/alicloud/alikafka/instanceAllowedIpAttachment.go +++ b/sdk/go/alicloud/alikafka/instanceAllowedIpAttachment.go @@ -109,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alikafka/saslAcl.go b/sdk/go/alicloud/alikafka/saslAcl.go index 46f85a0753..1742e0b7a1 100644 --- a/sdk/go/alicloud/alikafka/saslAcl.go +++ b/sdk/go/alicloud/alikafka/saslAcl.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/go/alicloud/alikafka/saslUser.go b/sdk/go/alicloud/alikafka/saslUser.go index eb18a0c351..3191ac00eb 100644 --- a/sdk/go/alicloud/alikafka/saslUser.go +++ b/sdk/go/alicloud/alikafka/saslUser.go @@ -12,14 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides an Alikafka Sasl User resource. +// Provides an AliKafka Sasl User resource. // -// > **NOTE:** Available since v1.66.0. -// -// > **NOTE:** Only the following regions support create alikafka Sasl User. -// [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] +// For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). // -// For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). +// > **NOTE:** Available since v1.66.0. // // ## Example Usage // @@ -45,7 +42,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // cfg := config.New(ctx, "") -// name := "tf-example" +// name := "terraform-example" // if param := cfg.Get("name"); param != "" { // name = param // } @@ -114,9 +111,11 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// Alikafka Sasl User can be imported using the id, e.g. +// AliKafka Sasl User can be imported using the id, e.g. // // ```sh // $ pulumi import alicloud:alikafka/saslUser:SaslUser example : @@ -124,15 +123,20 @@ import ( type SaslUser struct { pulumi.CustomResourceState - // ID of the ALIKAFKA Instance that owns the groups. + // The instance ID. InstanceId pulumi.StringOutput `pulumi:"instanceId"` // An KMS encrypts password used to a db account. You have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapOutput `pulumi:"kmsEncryptionContext"` + // The encryption method. Valid values: + // - SCRAM-SHA-512. This is the default value. + // - SCRAM-SHA-256 + // > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + Mechanism pulumi.StringOutput `pulumi:"mechanism"` // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. - Password pulumi.StringPtrOutput `pulumi:"password"` - // The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + Password pulumi.StringOutput `pulumi:"password"` + // The authentication mechanism. Default value: `plain`. Valid values: Type pulumi.StringOutput `pulumi:"type"` // The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. Username pulumi.StringOutput `pulumi:"username"` @@ -181,30 +185,40 @@ func GetSaslUser(ctx *pulumi.Context, // Input properties used for looking up and filtering SaslUser resources. type saslUserState struct { - // ID of the ALIKAFKA Instance that owns the groups. + // The instance ID. InstanceId *string `pulumi:"instanceId"` // An KMS encrypts password used to a db account. You have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext map[string]string `pulumi:"kmsEncryptionContext"` + // The encryption method. Valid values: + // - SCRAM-SHA-512. This is the default value. + // - SCRAM-SHA-256 + // > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + Mechanism *string `pulumi:"mechanism"` // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. Password *string `pulumi:"password"` - // The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + // The authentication mechanism. Default value: `plain`. Valid values: Type *string `pulumi:"type"` // The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. Username *string `pulumi:"username"` } type SaslUserState struct { - // ID of the ALIKAFKA Instance that owns the groups. + // The instance ID. InstanceId pulumi.StringPtrInput // An KMS encrypts password used to a db account. You have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrInput // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapInput + // The encryption method. Valid values: + // - SCRAM-SHA-512. This is the default value. + // - SCRAM-SHA-256 + // > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + Mechanism pulumi.StringPtrInput // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. Password pulumi.StringPtrInput - // The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + // The authentication mechanism. Default value: `plain`. Valid values: Type pulumi.StringPtrInput // The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. Username pulumi.StringPtrInput @@ -215,15 +229,20 @@ func (SaslUserState) ElementType() reflect.Type { } type saslUserArgs struct { - // ID of the ALIKAFKA Instance that owns the groups. + // The instance ID. InstanceId string `pulumi:"instanceId"` // An KMS encrypts password used to a db account. You have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext map[string]string `pulumi:"kmsEncryptionContext"` + // The encryption method. Valid values: + // - SCRAM-SHA-512. This is the default value. + // - SCRAM-SHA-256 + // > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + Mechanism *string `pulumi:"mechanism"` // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. Password *string `pulumi:"password"` - // The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + // The authentication mechanism. Default value: `plain`. Valid values: Type *string `pulumi:"type"` // The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. Username string `pulumi:"username"` @@ -231,15 +250,20 @@ type saslUserArgs struct { // The set of arguments for constructing a SaslUser resource. type SaslUserArgs struct { - // ID of the ALIKAFKA Instance that owns the groups. + // The instance ID. InstanceId pulumi.StringInput // An KMS encrypts password used to a db account. You have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrInput // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapInput + // The encryption method. Valid values: + // - SCRAM-SHA-512. This is the default value. + // - SCRAM-SHA-256 + // > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + Mechanism pulumi.StringPtrInput // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. Password pulumi.StringPtrInput - // The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + // The authentication mechanism. Default value: `plain`. Valid values: Type pulumi.StringPtrInput // The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. Username pulumi.StringInput @@ -332,7 +356,7 @@ func (o SaslUserOutput) ToSaslUserOutputWithContext(ctx context.Context) SaslUse return o } -// ID of the ALIKAFKA Instance that owns the groups. +// The instance ID. func (o SaslUserOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v *SaslUser) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) } @@ -347,12 +371,20 @@ func (o SaslUserOutput) KmsEncryptionContext() pulumi.StringMapOutput { return o.ApplyT(func(v *SaslUser) pulumi.StringMapOutput { return v.KmsEncryptionContext }).(pulumi.StringMapOutput) } +// The encryption method. Valid values: +// - SCRAM-SHA-512. This is the default value. +// - SCRAM-SHA-256 +// > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. +func (o SaslUserOutput) Mechanism() pulumi.StringOutput { + return o.ApplyT(func(v *SaslUser) pulumi.StringOutput { return v.Mechanism }).(pulumi.StringOutput) +} + // The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. -func (o SaslUserOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SaslUser) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) +func (o SaslUserOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *SaslUser) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) } -// The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. +// The authentication mechanism. Default value: `plain`. Valid values: func (o SaslUserOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v *SaslUser) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/alikafka/topic.go b/sdk/go/alicloud/alikafka/topic.go index e36aa19439..179d5ee010 100644 --- a/sdk/go/alicloud/alikafka/topic.go +++ b/sdk/go/alicloud/alikafka/topic.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alikafka Topic can be imported using the id, e.g. diff --git a/sdk/go/alicloud/amqp/binding.go b/sdk/go/alicloud/amqp/binding.go index ee3a84f822..c4ba60bb4a 100644 --- a/sdk/go/alicloud/amqp/binding.go +++ b/sdk/go/alicloud/amqp/binding.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RabbitMQ (AMQP) Binding can be imported using the id, e.g. diff --git a/sdk/go/alicloud/amqp/exchange.go b/sdk/go/alicloud/amqp/exchange.go index 79e036c9b6..db4674004a 100644 --- a/sdk/go/alicloud/amqp/exchange.go +++ b/sdk/go/alicloud/amqp/exchange.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RabbitMQ (AMQP) Exchange can be imported using the id, e.g. diff --git a/sdk/go/alicloud/amqp/instance.go b/sdk/go/alicloud/amqp/instance.go index 669f3eb84c..ca3676b60b 100644 --- a/sdk/go/alicloud/amqp/instance.go +++ b/sdk/go/alicloud/amqp/instance.go @@ -26,6 +26,8 @@ type Instance struct { AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"` // OrderCreateTime. CreateTime pulumi.IntOutput `pulumi:"createTime"` + // The deployment architecture for Serverless instances. Valid values: + Edition pulumi.StringOutput `pulumi:"edition"` // The instance name. InstanceName pulumi.StringOutput `pulumi:"instanceName"` // Instance type. Valid values: @@ -53,6 +55,8 @@ type Instance struct { Period pulumi.IntPtrOutput `pulumi:"period"` // Prepaid cycle units. Value: Month, Year. PeriodCycle pulumi.StringPtrOutput `pulumi:"periodCycle"` + // The provisioned TPS capacity for reserved + elastic instances. + ProvisionedCapacity pulumi.IntPtrOutput `pulumi:"provisionedCapacity"` // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. QueueCapacity pulumi.StringOutput `pulumi:"queueCapacity"` // The number of automatic renewal cycles. @@ -70,7 +74,7 @@ type Instance struct { // Whether to support public network. SupportEip pulumi.BoolPtrOutput `pulumi:"supportEip"` // Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. - SupportTracing pulumi.BoolOutput `pulumi:"supportTracing"` + SupportTracing pulumi.BoolPtrOutput `pulumi:"supportTracing"` // Configure the storage duration of message traces. Unit: Days. The value is as follows: 3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true. TracingStorageTime pulumi.IntOutput `pulumi:"tracingStorageTime"` } @@ -112,6 +116,8 @@ type instanceState struct { AutoRenew *bool `pulumi:"autoRenew"` // OrderCreateTime. CreateTime *int `pulumi:"createTime"` + // The deployment architecture for Serverless instances. Valid values: + Edition *string `pulumi:"edition"` // The instance name. InstanceName *string `pulumi:"instanceName"` // Instance type. Valid values: @@ -139,6 +145,8 @@ type instanceState struct { Period *int `pulumi:"period"` // Prepaid cycle units. Value: Month, Year. PeriodCycle *string `pulumi:"periodCycle"` + // The provisioned TPS capacity for reserved + elastic instances. + ProvisionedCapacity *int `pulumi:"provisionedCapacity"` // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. QueueCapacity *string `pulumi:"queueCapacity"` // The number of automatic renewal cycles. @@ -166,6 +174,8 @@ type InstanceState struct { AutoRenew pulumi.BoolPtrInput // OrderCreateTime. CreateTime pulumi.IntPtrInput + // The deployment architecture for Serverless instances. Valid values: + Edition pulumi.StringPtrInput // The instance name. InstanceName pulumi.StringPtrInput // Instance type. Valid values: @@ -193,6 +203,8 @@ type InstanceState struct { Period pulumi.IntPtrInput // Prepaid cycle units. Value: Month, Year. PeriodCycle pulumi.StringPtrInput + // The provisioned TPS capacity for reserved + elastic instances. + ProvisionedCapacity pulumi.IntPtrInput // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. QueueCapacity pulumi.StringPtrInput // The number of automatic renewal cycles. @@ -222,6 +234,8 @@ func (InstanceState) ElementType() reflect.Type { type instanceArgs struct { // Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. AutoRenew *bool `pulumi:"autoRenew"` + // The deployment architecture for Serverless instances. Valid values: + Edition *string `pulumi:"edition"` // The instance name. InstanceName *string `pulumi:"instanceName"` // Instance type. Valid values: @@ -249,6 +263,8 @@ type instanceArgs struct { Period *int `pulumi:"period"` // Prepaid cycle units. Value: Month, Year. PeriodCycle *string `pulumi:"periodCycle"` + // The provisioned TPS capacity for reserved + elastic instances. + ProvisionedCapacity *int `pulumi:"provisionedCapacity"` // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. QueueCapacity *string `pulumi:"queueCapacity"` // The number of automatic renewal cycles. @@ -273,6 +289,8 @@ type instanceArgs struct { type InstanceArgs struct { // Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. AutoRenew pulumi.BoolPtrInput + // The deployment architecture for Serverless instances. Valid values: + Edition pulumi.StringPtrInput // The instance name. InstanceName pulumi.StringPtrInput // Instance type. Valid values: @@ -300,6 +318,8 @@ type InstanceArgs struct { Period pulumi.IntPtrInput // Prepaid cycle units. Value: Month, Year. PeriodCycle pulumi.StringPtrInput + // The provisioned TPS capacity for reserved + elastic instances. + ProvisionedCapacity pulumi.IntPtrInput // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. QueueCapacity pulumi.StringPtrInput // The number of automatic renewal cycles. @@ -417,6 +437,11 @@ func (o InstanceOutput) CreateTime() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.CreateTime }).(pulumi.IntOutput) } +// The deployment architecture for Serverless instances. Valid values: +func (o InstanceOutput) Edition() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Edition }).(pulumi.StringOutput) +} + // The instance name. func (o InstanceOutput) InstanceName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceName }).(pulumi.StringOutput) @@ -471,6 +496,11 @@ func (o InstanceOutput) PeriodCycle() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.PeriodCycle }).(pulumi.StringPtrOutput) } +// The provisioned TPS capacity for reserved + elastic instances. +func (o InstanceOutput) ProvisionedCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.ProvisionedCapacity }).(pulumi.IntPtrOutput) +} + // Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. func (o InstanceOutput) QueueCapacity() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.QueueCapacity }).(pulumi.StringOutput) @@ -512,8 +542,8 @@ func (o InstanceOutput) SupportEip() pulumi.BoolPtrOutput { } // Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. -func (o InstanceOutput) SupportTracing() pulumi.BoolOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.SupportTracing }).(pulumi.BoolOutput) +func (o InstanceOutput) SupportTracing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.SupportTracing }).(pulumi.BoolPtrOutput) } // Configure the storage duration of message traces. Unit: Days. The value is as follows: 3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true. diff --git a/sdk/go/alicloud/amqp/queue.go b/sdk/go/alicloud/amqp/queue.go index 7c9816d8e6..eaa95e3ac0 100644 --- a/sdk/go/alicloud/amqp/queue.go +++ b/sdk/go/alicloud/amqp/queue.go @@ -27,48 +27,55 @@ import ( // // import ( // +// "fmt" +// // "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp" +// "github.com/pulumi/pulumi-random/sdk/v4/go/random" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _default, err := amqp.NewInstance(ctx, "default", &amqp.InstanceArgs{ -// InstanceType: pulumi.String("enterprise"), -// MaxTps: pulumi.String("3000"), -// QueueCapacity: pulumi.String("200"), -// StorageSize: pulumi.String("700"), -// SupportEip: pulumi.Bool(false), -// MaxEipTps: pulumi.String("128"), -// PaymentType: pulumi.String("Subscription"), -// Period: pulumi.Int(1), +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{ +// Min: 10000, +// Max: 99999, // }) // if err != nil { // return err // } -// defaultVirtualHost, err := amqp.NewVirtualHost(ctx, "default", &amqp.VirtualHostArgs{ -// InstanceId: _default.ID(), -// VirtualHostName: pulumi.String("tf-example"), +// defaultInstance, err := amqp.NewInstance(ctx, "default", &amqp.InstanceArgs{ +// InstanceName: pulumi.Sprintf("%v-%v", name, _default.Result), +// InstanceType: pulumi.String("enterprise"), +// MaxTps: pulumi.String("3000"), +// MaxConnections: pulumi.Int(2000), +// QueueCapacity: pulumi.String("200"), +// PaymentType: pulumi.String("Subscription"), +// RenewalStatus: pulumi.String("AutoRenewal"), +// RenewalDuration: pulumi.Int(1), +// RenewalDurationUnit: pulumi.String("Year"), +// SupportEip: pulumi.Bool(true), // }) // if err != nil { // return err // } -// _, err = amqp.NewExchange(ctx, "default", &amqp.ExchangeArgs{ -// AutoDeleteState: pulumi.Bool(false), -// ExchangeName: pulumi.String("tf-example"), -// ExchangeType: pulumi.String("DIRECT"), -// InstanceId: _default.ID(), -// Internal: pulumi.Bool(false), -// VirtualHostName: defaultVirtualHost.VirtualHostName, +// defaultVirtualHost, err := amqp.NewVirtualHost(ctx, "default", &amqp.VirtualHostArgs{ +// InstanceId: defaultInstance.ID(), +// VirtualHostName: pulumi.Sprintf("%v-%v", name, _default.Result), // }) // if err != nil { // return err // } -// _, err = amqp.NewQueue(ctx, "example", &amqp.QueueArgs{ -// InstanceId: _default.ID(), -// QueueName: pulumi.String("tf-example"), +// _, err = amqp.NewQueue(ctx, "default", &amqp.QueueArgs{ +// InstanceId: defaultInstance.ID(), // VirtualHostName: defaultVirtualHost.VirtualHostName, +// QueueName: pulumi.Sprintf("%v-%v", name, _default.Result), // }) // if err != nil { // return err @@ -79,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -89,40 +98,25 @@ import ( type Queue struct { pulumi.CustomResourceState - // Specifies whether the Auto Delete attribute is configured. Valid values: - // * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - // * false: The Auto Delete attribute is not configured. + // Specifies whether to automatically delete the queue. Valid values: AutoDeleteState pulumi.BoolPtrOutput `pulumi:"autoDeleteState"` - // The validity period after which the queue is automatically deleted. - // If the queue is not accessed within a specified period of time, it is automatically deleted. + // The auto-expiration time for the queue. AutoExpireState pulumi.StringPtrOutput `pulumi:"autoExpireState"` - // The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - // If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - // Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + // The dead-letter exchange. DeadLetterExchange pulumi.StringPtrOutput `pulumi:"deadLetterExchange"` - // The dead letter routing key. + // The dead-letter routing key. DeadLetterRoutingKey pulumi.StringPtrOutput `pulumi:"deadLetterRoutingKey"` - // Specifies whether the queue is an exclusive queue. Valid values: - // * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - // * false: The queue is not an exclusive queue. - ExclusiveState pulumi.BoolPtrOutput `pulumi:"exclusiveState"` - // The ID of the instance. + // The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. InstanceId pulumi.StringOutput `pulumi:"instanceId"` // The maximum number of messages that can be stored in the queue. - // If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. MaxLength pulumi.StringPtrOutput `pulumi:"maxLength"` - // The highest priority supported by the queue. This parameter is set to a positive integer. - // Valid values: 0 to 255. Recommended values: 1 to 10 + // The priority of the queue. MaximumPriority pulumi.IntPtrOutput `pulumi:"maximumPriority"` - // The message TTL of the queue. - // If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - // Message TTL must be set to a non-negative integer, in milliseconds. - // For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + // The time to live (TTL) of a message in the queue. MessageTtl pulumi.StringPtrOutput `pulumi:"messageTtl"` - // The name of the queue. - // The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + // The name of the queue to create. QueueName pulumi.StringOutput `pulumi:"queueName"` - // The name of the virtual host. + // The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. VirtualHostName pulumi.StringOutput `pulumi:"virtualHostName"` } @@ -165,78 +159,48 @@ func GetQueue(ctx *pulumi.Context, // Input properties used for looking up and filtering Queue resources. type queueState struct { - // Specifies whether the Auto Delete attribute is configured. Valid values: - // * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - // * false: The Auto Delete attribute is not configured. + // Specifies whether to automatically delete the queue. Valid values: AutoDeleteState *bool `pulumi:"autoDeleteState"` - // The validity period after which the queue is automatically deleted. - // If the queue is not accessed within a specified period of time, it is automatically deleted. + // The auto-expiration time for the queue. AutoExpireState *string `pulumi:"autoExpireState"` - // The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - // If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - // Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + // The dead-letter exchange. DeadLetterExchange *string `pulumi:"deadLetterExchange"` - // The dead letter routing key. + // The dead-letter routing key. DeadLetterRoutingKey *string `pulumi:"deadLetterRoutingKey"` - // Specifies whether the queue is an exclusive queue. Valid values: - // * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - // * false: The queue is not an exclusive queue. - ExclusiveState *bool `pulumi:"exclusiveState"` - // The ID of the instance. + // The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. InstanceId *string `pulumi:"instanceId"` // The maximum number of messages that can be stored in the queue. - // If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. MaxLength *string `pulumi:"maxLength"` - // The highest priority supported by the queue. This parameter is set to a positive integer. - // Valid values: 0 to 255. Recommended values: 1 to 10 + // The priority of the queue. MaximumPriority *int `pulumi:"maximumPriority"` - // The message TTL of the queue. - // If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - // Message TTL must be set to a non-negative integer, in milliseconds. - // For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + // The time to live (TTL) of a message in the queue. MessageTtl *string `pulumi:"messageTtl"` - // The name of the queue. - // The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + // The name of the queue to create. QueueName *string `pulumi:"queueName"` - // The name of the virtual host. + // The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. VirtualHostName *string `pulumi:"virtualHostName"` } type QueueState struct { - // Specifies whether the Auto Delete attribute is configured. Valid values: - // * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - // * false: The Auto Delete attribute is not configured. + // Specifies whether to automatically delete the queue. Valid values: AutoDeleteState pulumi.BoolPtrInput - // The validity period after which the queue is automatically deleted. - // If the queue is not accessed within a specified period of time, it is automatically deleted. + // The auto-expiration time for the queue. AutoExpireState pulumi.StringPtrInput - // The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - // If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - // Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + // The dead-letter exchange. DeadLetterExchange pulumi.StringPtrInput - // The dead letter routing key. + // The dead-letter routing key. DeadLetterRoutingKey pulumi.StringPtrInput - // Specifies whether the queue is an exclusive queue. Valid values: - // * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - // * false: The queue is not an exclusive queue. - ExclusiveState pulumi.BoolPtrInput - // The ID of the instance. + // The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. InstanceId pulumi.StringPtrInput // The maximum number of messages that can be stored in the queue. - // If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. MaxLength pulumi.StringPtrInput - // The highest priority supported by the queue. This parameter is set to a positive integer. - // Valid values: 0 to 255. Recommended values: 1 to 10 + // The priority of the queue. MaximumPriority pulumi.IntPtrInput - // The message TTL of the queue. - // If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - // Message TTL must be set to a non-negative integer, in milliseconds. - // For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + // The time to live (TTL) of a message in the queue. MessageTtl pulumi.StringPtrInput - // The name of the queue. - // The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + // The name of the queue to create. QueueName pulumi.StringPtrInput - // The name of the virtual host. + // The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. VirtualHostName pulumi.StringPtrInput } @@ -245,79 +209,49 @@ func (QueueState) ElementType() reflect.Type { } type queueArgs struct { - // Specifies whether the Auto Delete attribute is configured. Valid values: - // * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - // * false: The Auto Delete attribute is not configured. + // Specifies whether to automatically delete the queue. Valid values: AutoDeleteState *bool `pulumi:"autoDeleteState"` - // The validity period after which the queue is automatically deleted. - // If the queue is not accessed within a specified period of time, it is automatically deleted. + // The auto-expiration time for the queue. AutoExpireState *string `pulumi:"autoExpireState"` - // The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - // If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - // Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + // The dead-letter exchange. DeadLetterExchange *string `pulumi:"deadLetterExchange"` - // The dead letter routing key. + // The dead-letter routing key. DeadLetterRoutingKey *string `pulumi:"deadLetterRoutingKey"` - // Specifies whether the queue is an exclusive queue. Valid values: - // * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - // * false: The queue is not an exclusive queue. - ExclusiveState *bool `pulumi:"exclusiveState"` - // The ID of the instance. + // The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. InstanceId string `pulumi:"instanceId"` // The maximum number of messages that can be stored in the queue. - // If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. MaxLength *string `pulumi:"maxLength"` - // The highest priority supported by the queue. This parameter is set to a positive integer. - // Valid values: 0 to 255. Recommended values: 1 to 10 + // The priority of the queue. MaximumPriority *int `pulumi:"maximumPriority"` - // The message TTL of the queue. - // If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - // Message TTL must be set to a non-negative integer, in milliseconds. - // For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + // The time to live (TTL) of a message in the queue. MessageTtl *string `pulumi:"messageTtl"` - // The name of the queue. - // The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + // The name of the queue to create. QueueName string `pulumi:"queueName"` - // The name of the virtual host. + // The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. VirtualHostName string `pulumi:"virtualHostName"` } // The set of arguments for constructing a Queue resource. type QueueArgs struct { - // Specifies whether the Auto Delete attribute is configured. Valid values: - // * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - // * false: The Auto Delete attribute is not configured. + // Specifies whether to automatically delete the queue. Valid values: AutoDeleteState pulumi.BoolPtrInput - // The validity period after which the queue is automatically deleted. - // If the queue is not accessed within a specified period of time, it is automatically deleted. + // The auto-expiration time for the queue. AutoExpireState pulumi.StringPtrInput - // The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - // If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - // Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + // The dead-letter exchange. DeadLetterExchange pulumi.StringPtrInput - // The dead letter routing key. + // The dead-letter routing key. DeadLetterRoutingKey pulumi.StringPtrInput - // Specifies whether the queue is an exclusive queue. Valid values: - // * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - // * false: The queue is not an exclusive queue. - ExclusiveState pulumi.BoolPtrInput - // The ID of the instance. + // The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. InstanceId pulumi.StringInput // The maximum number of messages that can be stored in the queue. - // If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. MaxLength pulumi.StringPtrInput - // The highest priority supported by the queue. This parameter is set to a positive integer. - // Valid values: 0 to 255. Recommended values: 1 to 10 + // The priority of the queue. MaximumPriority pulumi.IntPtrInput - // The message TTL of the queue. - // If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - // Message TTL must be set to a non-negative integer, in milliseconds. - // For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + // The time to live (TTL) of a message in the queue. MessageTtl pulumi.StringPtrInput - // The name of the queue. - // The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + // The name of the queue to create. QueueName pulumi.StringInput - // The name of the virtual host. + // The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. VirtualHostName pulumi.StringInput } @@ -408,70 +342,52 @@ func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput { return o } -// Specifies whether the Auto Delete attribute is configured. Valid values: -// * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. -// * false: The Auto Delete attribute is not configured. +// Specifies whether to automatically delete the queue. Valid values: func (o QueueOutput) AutoDeleteState() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Queue) pulumi.BoolPtrOutput { return v.AutoDeleteState }).(pulumi.BoolPtrOutput) } -// The validity period after which the queue is automatically deleted. -// If the queue is not accessed within a specified period of time, it is automatically deleted. +// The auto-expiration time for the queue. func (o QueueOutput) AutoExpireState() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.AutoExpireState }).(pulumi.StringPtrOutput) } -// The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. -// If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. -// Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. +// The dead-letter exchange. func (o QueueOutput) DeadLetterExchange() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.DeadLetterExchange }).(pulumi.StringPtrOutput) } -// The dead letter routing key. +// The dead-letter routing key. func (o QueueOutput) DeadLetterRoutingKey() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.DeadLetterRoutingKey }).(pulumi.StringPtrOutput) } -// Specifies whether the queue is an exclusive queue. Valid values: -// * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. -// * false: The queue is not an exclusive queue. -func (o QueueOutput) ExclusiveState() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Queue) pulumi.BoolPtrOutput { return v.ExclusiveState }).(pulumi.BoolPtrOutput) -} - -// The ID of the instance. +// The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. func (o QueueOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) } // The maximum number of messages that can be stored in the queue. -// If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. func (o QueueOutput) MaxLength() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.MaxLength }).(pulumi.StringPtrOutput) } -// The highest priority supported by the queue. This parameter is set to a positive integer. -// Valid values: 0 to 255. Recommended values: 1 to 10 +// The priority of the queue. func (o QueueOutput) MaximumPriority() pulumi.IntPtrOutput { return o.ApplyT(func(v *Queue) pulumi.IntPtrOutput { return v.MaximumPriority }).(pulumi.IntPtrOutput) } -// The message TTL of the queue. -// If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. -// Message TTL must be set to a non-negative integer, in milliseconds. -// For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. +// The time to live (TTL) of a message in the queue. func (o QueueOutput) MessageTtl() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.MessageTtl }).(pulumi.StringPtrOutput) } -// The name of the queue. -// The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). +// The name of the queue to create. func (o QueueOutput) QueueName() pulumi.StringOutput { return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.QueueName }).(pulumi.StringOutput) } -// The name of the virtual host. +// The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. func (o QueueOutput) VirtualHostName() pulumi.StringOutput { return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.VirtualHostName }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/amqp/staticAccount.go b/sdk/go/alicloud/amqp/staticAccount.go index ce47898606..080cdfbcaf 100644 --- a/sdk/go/alicloud/amqp/staticAccount.go +++ b/sdk/go/alicloud/amqp/staticAccount.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Amqp Static Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/amqp/virtualHost.go b/sdk/go/alicloud/amqp/virtualHost.go index ab45c2f853..f5fb131cd9 100644 --- a/sdk/go/alicloud/amqp/virtualHost.go +++ b/sdk/go/alicloud/amqp/virtualHost.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apig/environment.go b/sdk/go/alicloud/apig/environment.go index 6473b1f5a0..76be6e05a0 100644 --- a/sdk/go/alicloud/apig/environment.go +++ b/sdk/go/alicloud/apig/environment.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // APIG Environment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apig/httpApi.go b/sdk/go/alicloud/apig/httpApi.go index 6309e6bed9..1ce411c0b6 100644 --- a/sdk/go/alicloud/apig/httpApi.go +++ b/sdk/go/alicloud/apig/httpApi.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // APIG Http Api can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/accessControlList.go b/sdk/go/alicloud/apigateway/accessControlList.go index 9c8d8a74b3..e69a45d7e3 100644 --- a/sdk/go/alicloud/apigateway/accessControlList.go +++ b/sdk/go/alicloud/apigateway/accessControlList.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Access Control List can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/aclEntryAttachment.go b/sdk/go/alicloud/apigateway/aclEntryAttachment.go index 809e56e129..c532a959c1 100644 --- a/sdk/go/alicloud/apigateway/aclEntryAttachment.go +++ b/sdk/go/alicloud/apigateway/aclEntryAttachment.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/api.go b/sdk/go/alicloud/apigateway/api.go index 9f1da9eba3..3595ce7ae4 100644 --- a/sdk/go/alicloud/apigateway/api.go +++ b/sdk/go/alicloud/apigateway/api.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api gateway api can be imported using the id.Format to `:` e.g. diff --git a/sdk/go/alicloud/apigateway/app.go b/sdk/go/alicloud/apigateway/app.go index 7788a88aa2..848df93b43 100644 --- a/sdk/go/alicloud/apigateway/app.go +++ b/sdk/go/alicloud/apigateway/app.go @@ -40,6 +40,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api gateway app can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/appAttachment.go b/sdk/go/alicloud/apigateway/appAttachment.go index b5a9f28700..49b1d6e46e 100644 --- a/sdk/go/alicloud/apigateway/appAttachment.go +++ b/sdk/go/alicloud/apigateway/appAttachment.go @@ -100,6 +100,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type AppAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/apigateway/backend.go b/sdk/go/alicloud/apigateway/backend.go index fdbb2d5e97..a1743edbc3 100644 --- a/sdk/go/alicloud/apigateway/backend.go +++ b/sdk/go/alicloud/apigateway/backend.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Backend can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/group.go b/sdk/go/alicloud/apigateway/group.go index c18bf38b3b..fbc1eff72c 100644 --- a/sdk/go/alicloud/apigateway/group.go +++ b/sdk/go/alicloud/apigateway/group.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api gateway group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/instance.go b/sdk/go/alicloud/apigateway/instance.go index 3a5a77c0a5..9250cc74a8 100644 --- a/sdk/go/alicloud/apigateway/instance.go +++ b/sdk/go/alicloud/apigateway/instance.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/instanceAclAttachment.go b/sdk/go/alicloud/apigateway/instanceAclAttachment.go index 2ccce76f23..8d795bb601 100644 --- a/sdk/go/alicloud/apigateway/instanceAclAttachment.go +++ b/sdk/go/alicloud/apigateway/instanceAclAttachment.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Instance Acl Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/logConfig.go b/sdk/go/alicloud/apigateway/logConfig.go index 0868673cdb..58b4122d1f 100644 --- a/sdk/go/alicloud/apigateway/logConfig.go +++ b/sdk/go/alicloud/apigateway/logConfig.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Log Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/model.go b/sdk/go/alicloud/apigateway/model.go index 4772376f11..bd3cab57ab 100644 --- a/sdk/go/alicloud/apigateway/model.go +++ b/sdk/go/alicloud/apigateway/model.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Model can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/plugin.go b/sdk/go/alicloud/apigateway/plugin.go index dbfadada7c..a39bb03870 100644 --- a/sdk/go/alicloud/apigateway/plugin.go +++ b/sdk/go/alicloud/apigateway/plugin.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api Gateway Plugin can be imported using the id, e.g. diff --git a/sdk/go/alicloud/apigateway/pluginAttachment.go b/sdk/go/alicloud/apigateway/pluginAttachment.go index de10ddef0d..d7cb9b9892 100644 --- a/sdk/go/alicloud/apigateway/pluginAttachment.go +++ b/sdk/go/alicloud/apigateway/pluginAttachment.go @@ -116,6 +116,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type PluginAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/apigateway/vpcAccess.go b/sdk/go/alicloud/apigateway/vpcAccess.go index 7f91979be3..223da58041 100644 --- a/sdk/go/alicloud/apigateway/vpcAccess.go +++ b/sdk/go/alicloud/apigateway/vpcAccess.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Api gateway app can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/addonRelease.go b/sdk/go/alicloud/arms/addonRelease.go index 4d40c165d5..47ac8ea950 100644 --- a/sdk/go/alicloud/arms/addonRelease.go +++ b/sdk/go/alicloud/arms/addonRelease.go @@ -189,6 +189,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Addon Release can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/alertContact.go b/sdk/go/alicloud/arms/alertContact.go index c1f1e923ae..024384e022 100644 --- a/sdk/go/alicloud/arms/alertContact.go +++ b/sdk/go/alicloud/arms/alertContact.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/alertContactGroup.go b/sdk/go/alicloud/arms/alertContactGroup.go index 74d4bbc4a8..a5e7604f8f 100644 --- a/sdk/go/alicloud/arms/alertContactGroup.go +++ b/sdk/go/alicloud/arms/alertContactGroup.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/alertRobot.go b/sdk/go/alicloud/arms/alertRobot.go index bce320f66f..15605303fd 100644 --- a/sdk/go/alicloud/arms/alertRobot.go +++ b/sdk/go/alicloud/arms/alertRobot.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/dispatchRule.go b/sdk/go/alicloud/arms/dispatchRule.go index 7f2e52b652..0370326c0c 100644 --- a/sdk/go/alicloud/arms/dispatchRule.go +++ b/sdk/go/alicloud/arms/dispatchRule.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/envCustomJob.go b/sdk/go/alicloud/arms/envCustomJob.go index 77131ddbb0..11a2477dd7 100644 --- a/sdk/go/alicloud/arms/envCustomJob.go +++ b/sdk/go/alicloud/arms/envCustomJob.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Env Custom Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/envFeature.go b/sdk/go/alicloud/arms/envFeature.go index d836e9950c..05dc6b18ac 100644 --- a/sdk/go/alicloud/arms/envFeature.go +++ b/sdk/go/alicloud/arms/envFeature.go @@ -176,6 +176,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Env Feature can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/envPodMonitor.go b/sdk/go/alicloud/arms/envPodMonitor.go index ce0e43ef03..fc7c0dcb42 100644 --- a/sdk/go/alicloud/arms/envPodMonitor.go +++ b/sdk/go/alicloud/arms/envPodMonitor.go @@ -204,6 +204,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Env Pod Monitor can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/envServiceMonitor.go b/sdk/go/alicloud/arms/envServiceMonitor.go index 240269d0d5..399bf85c29 100644 --- a/sdk/go/alicloud/arms/envServiceMonitor.go +++ b/sdk/go/alicloud/arms/envServiceMonitor.go @@ -203,6 +203,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Env Service Monitor can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/environment.go b/sdk/go/alicloud/arms/environment.go index 24a083a02f..1069cc005e 100644 --- a/sdk/go/alicloud/arms/environment.go +++ b/sdk/go/alicloud/arms/environment.go @@ -168,6 +168,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Environment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/grafanaWorkspace.go b/sdk/go/alicloud/arms/grafanaWorkspace.go index af063a706c..cf9d301904 100644 --- a/sdk/go/alicloud/arms/grafanaWorkspace.go +++ b/sdk/go/alicloud/arms/grafanaWorkspace.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/integrationExporter.go b/sdk/go/alicloud/arms/integrationExporter.go index 21452a5037..7ad50e4052 100644 --- a/sdk/go/alicloud/arms/integrationExporter.go +++ b/sdk/go/alicloud/arms/integrationExporter.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/prometheus.go b/sdk/go/alicloud/arms/prometheus.go index 631fb39e74..4305e01d53 100644 --- a/sdk/go/alicloud/arms/prometheus.go +++ b/sdk/go/alicloud/arms/prometheus.go @@ -109,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/prometheusAlertRule.go b/sdk/go/alicloud/arms/prometheusAlertRule.go index 173189f493..9dfed70312 100644 --- a/sdk/go/alicloud/arms/prometheusAlertRule.go +++ b/sdk/go/alicloud/arms/prometheusAlertRule.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/prometheusMonitoring.go b/sdk/go/alicloud/arms/prometheusMonitoring.go index 32a9fcb2c7..a2fb54ae12 100644 --- a/sdk/go/alicloud/arms/prometheusMonitoring.go +++ b/sdk/go/alicloud/arms/prometheusMonitoring.go @@ -203,6 +203,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Prometheus Monitoring can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/remoteWrite.go b/sdk/go/alicloud/arms/remoteWrite.go index 9f387e4e14..55d079f579 100644 --- a/sdk/go/alicloud/arms/remoteWrite.go +++ b/sdk/go/alicloud/arms/remoteWrite.go @@ -130,6 +130,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. diff --git a/sdk/go/alicloud/arms/syntheticTask.go b/sdk/go/alicloud/arms/syntheticTask.go index c03519ac5f..c82ecbece1 100644 --- a/sdk/go/alicloud/arms/syntheticTask.go +++ b/sdk/go/alicloud/arms/syntheticTask.go @@ -228,6 +228,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ARMS Synthetic Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/host.go b/sdk/go/alicloud/bastionhost/host.go index af8dfa083b..a7b58f46bb 100644 --- a/sdk/go/alicloud/bastionhost/host.go +++ b/sdk/go/alicloud/bastionhost/host.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostAccount.go b/sdk/go/alicloud/bastionhost/hostAccount.go index a53b62be42..6ab0de521e 100644 --- a/sdk/go/alicloud/bastionhost/hostAccount.go +++ b/sdk/go/alicloud/bastionhost/hostAccount.go @@ -112,6 +112,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostAccountShareKeyAttachment.go b/sdk/go/alicloud/bastionhost/hostAccountShareKeyAttachment.go index 5ae23cfff7..d2ecaf1c73 100644 --- a/sdk/go/alicloud/bastionhost/hostAccountShareKeyAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostAccountShareKeyAttachment.go @@ -132,6 +132,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Account Share Key Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostAccountUserAttachment.go b/sdk/go/alicloud/bastionhost/hostAccountUserAttachment.go index 96f4d86ec3..cbb999f993 100644 --- a/sdk/go/alicloud/bastionhost/hostAccountUserAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostAccountUserAttachment.go @@ -134,6 +134,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostAccountUserGroupAttachment.go b/sdk/go/alicloud/bastionhost/hostAccountUserGroupAttachment.go index 8dfd5b798d..69f6d20889 100644 --- a/sdk/go/alicloud/bastionhost/hostAccountUserGroupAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostAccountUserGroupAttachment.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostAttachment.go b/sdk/go/alicloud/bastionhost/hostAttachment.go index 39b42e964a..c56065cc57 100644 --- a/sdk/go/alicloud/bastionhost/hostAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostAttachment.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostGroup.go b/sdk/go/alicloud/bastionhost/hostGroup.go index 4a4fec28cb..38cde9cd26 100644 --- a/sdk/go/alicloud/bastionhost/hostGroup.go +++ b/sdk/go/alicloud/bastionhost/hostGroup.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostGroupAccountUserAttachment.go b/sdk/go/alicloud/bastionhost/hostGroupAccountUserAttachment.go index 701039cd38..d7955549f3 100644 --- a/sdk/go/alicloud/bastionhost/hostGroupAccountUserAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostGroupAccountUserAttachment.go @@ -141,6 +141,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostGroupAccountUserGroupAttachment.go b/sdk/go/alicloud/bastionhost/hostGroupAccountUserGroupAttachment.go index 380dd01daf..dd29e5f4f5 100644 --- a/sdk/go/alicloud/bastionhost/hostGroupAccountUserGroupAttachment.go +++ b/sdk/go/alicloud/bastionhost/hostGroupAccountUserGroupAttachment.go @@ -135,6 +135,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/hostShareKey.go b/sdk/go/alicloud/bastionhost/hostShareKey.go index 8c6f078d28..479ae477b8 100644 --- a/sdk/go/alicloud/bastionhost/hostShareKey.go +++ b/sdk/go/alicloud/bastionhost/hostShareKey.go @@ -146,6 +146,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host Share Key can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/user.go b/sdk/go/alicloud/bastionhost/user.go index c5c9f51eec..b99e12a5d0 100644 --- a/sdk/go/alicloud/bastionhost/user.go +++ b/sdk/go/alicloud/bastionhost/user.go @@ -129,6 +129,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/userAttachment.go b/sdk/go/alicloud/bastionhost/userAttachment.go index 36ebd26907..38ad8ab2bd 100644 --- a/sdk/go/alicloud/bastionhost/userAttachment.go +++ b/sdk/go/alicloud/bastionhost/userAttachment.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host User Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bastionhost/userGroup.go b/sdk/go/alicloud/bastionhost/userGroup.go index d1627860cc..d09b70fd02 100644 --- a/sdk/go/alicloud/bastionhost/userGroup.go +++ b/sdk/go/alicloud/bastionhost/userGroup.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Bastion Host User Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/bp/studioApplication.go b/sdk/go/alicloud/bp/studioApplication.go index ae2df9ba47..45adbbd38b 100644 --- a/sdk/go/alicloud/bp/studioApplication.go +++ b/sdk/go/alicloud/bp/studioApplication.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Architect Design Tools Application can be imported using the id, e.g. diff --git a/sdk/go/alicloud/brain/industrialPidLoop.go b/sdk/go/alicloud/brain/industrialPidLoop.go index 9ca7f32fab..e12bdbede2 100644 --- a/sdk/go/alicloud/brain/industrialPidLoop.go +++ b/sdk/go/alicloud/brain/industrialPidLoop.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Brain Industrial Pid Loop can be imported using the id, e.g. diff --git a/sdk/go/alicloud/brain/industrialPidOrganization.go b/sdk/go/alicloud/brain/industrialPidOrganization.go index bc5579aaa0..f9a37338cc 100644 --- a/sdk/go/alicloud/brain/industrialPidOrganization.go +++ b/sdk/go/alicloud/brain/industrialPidOrganization.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Brain Industrial Pid Organization can be imported using the id, e.g. diff --git a/sdk/go/alicloud/brain/industrialPidProject.go b/sdk/go/alicloud/brain/industrialPidProject.go index 3d5b2b82be..ec7c25c69f 100644 --- a/sdk/go/alicloud/brain/industrialPidProject.go +++ b/sdk/go/alicloud/brain/industrialPidProject.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Brain Industrial Pid Project can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cas/certificate.go b/sdk/go/alicloud/cas/certificate.go index a006e92793..e94932e3d4 100644 --- a/sdk/go/alicloud/cas/certificate.go +++ b/sdk/go/alicloud/cas/certificate.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // Deprecated: This resource has been deprecated in favour of ServiceCertificate type Certificate struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/cas/serviceCertificate.go b/sdk/go/alicloud/cas/serviceCertificate.go index c1f8c8526c..add20743ec 100644 --- a/sdk/go/alicloud/cas/serviceCertificate.go +++ b/sdk/go/alicloud/cas/serviceCertificate.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SSL Certificates Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cassandra/cluster.go b/sdk/go/alicloud/cassandra/cluster.go index ebcfd35257..ab40c0300c 100644 --- a/sdk/go/alicloud/cassandra/cluster.go +++ b/sdk/go/alicloud/cassandra/cluster.go @@ -67,6 +67,8 @@ import ( // // This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cassandra cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cassandra/dataCenter.go b/sdk/go/alicloud/cassandra/dataCenter.go index 32df2435e9..e4bb2d0587 100644 --- a/sdk/go/alicloud/cassandra/dataCenter.go +++ b/sdk/go/alicloud/cassandra/dataCenter.go @@ -83,6 +83,8 @@ import ( // // This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // If you need full function, please import Cassandra cluster first. diff --git a/sdk/go/alicloud/cddc/dedicatedHostAccount.go b/sdk/go/alicloud/cddc/dedicatedHostAccount.go index df5fdfc8ee..08fba88877 100644 --- a/sdk/go/alicloud/cddc/dedicatedHostAccount.go +++ b/sdk/go/alicloud/cddc/dedicatedHostAccount.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cddc/dedicatedHostGroup.go b/sdk/go/alicloud/cddc/dedicatedHostGroup.go index eab7f1ca6f..f0073d200b 100644 --- a/sdk/go/alicloud/cddc/dedicatedHostGroup.go +++ b/sdk/go/alicloud/cddc/dedicatedHostGroup.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cdn/domainConfig.go b/sdk/go/alicloud/cdn/domainConfig.go index 37b5e0cef9..885e4dabc6 100644 --- a/sdk/go/alicloud/cdn/domainConfig.go +++ b/sdk/go/alicloud/cdn/domainConfig.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CDN domain config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cdn/domainNew.go b/sdk/go/alicloud/cdn/domainNew.go index 24a46e3e50..1a9fe19b47 100644 --- a/sdk/go/alicloud/cdn/domainNew.go +++ b/sdk/go/alicloud/cdn/domainNew.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CDN Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cdn/fcTrigger.go b/sdk/go/alicloud/cdn/fcTrigger.go index de091e4131..667acd607e 100644 --- a/sdk/go/alicloud/cdn/fcTrigger.go +++ b/sdk/go/alicloud/cdn/fcTrigger.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CDN Fc Trigger can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cdn/realTimeLogDelivery.go b/sdk/go/alicloud/cdn/realTimeLogDelivery.go index bfa5ad3e0f..c13d8232bb 100644 --- a/sdk/go/alicloud/cdn/realTimeLogDelivery.go +++ b/sdk/go/alicloud/cdn/realTimeLogDelivery.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CDN Real Time Log Delivery can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/bandwidthLimit.go b/sdk/go/alicloud/cen/bandwidthLimit.go index 3d5f5b0fdd..340a5b90a9 100644 --- a/sdk/go/alicloud/cen/bandwidthLimit.go +++ b/sdk/go/alicloud/cen/bandwidthLimit.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN bandwidth limit can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/bandwidthPackage.go b/sdk/go/alicloud/cen/bandwidthPackage.go index 7f260a2241..062aa6b42b 100644 --- a/sdk/go/alicloud/cen/bandwidthPackage.go +++ b/sdk/go/alicloud/cen/bandwidthPackage.go @@ -22,13 +22,15 @@ import ( type BandwidthPackage struct { pulumi.CustomResourceState + // Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + // + // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"` // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` // The name of the bandwidth package. Defaults to null. - // - // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - // - // ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. CenBandwidthPackageName pulumi.StringOutput `pulumi:"cenBandwidthPackageName"` // Field `chargeType` has been deprecated from version 1.97.0. Use `paymentType` and instead. // @@ -92,13 +94,15 @@ func GetBandwidthPackage(ctx *pulumi.Context, // Input properties used for looking up and filtering BandwidthPackage resources. type bandwidthPackageState struct { + // Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + // + // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + AutoRenew *bool `pulumi:"autoRenew"` // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. Bandwidth *int `pulumi:"bandwidth"` // The name of the bandwidth package. Defaults to null. - // - // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - // - // ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. CenBandwidthPackageName *string `pulumi:"cenBandwidthPackageName"` // Field `chargeType` has been deprecated from version 1.97.0. Use `paymentType` and instead. // @@ -130,13 +134,15 @@ type bandwidthPackageState struct { } type BandwidthPackageState struct { + // Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + // + // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + AutoRenew pulumi.BoolPtrInput // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. Bandwidth pulumi.IntPtrInput // The name of the bandwidth package. Defaults to null. - // - // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - // - // ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. CenBandwidthPackageName pulumi.StringPtrInput // Field `chargeType` has been deprecated from version 1.97.0. Use `paymentType` and instead. // @@ -172,13 +178,15 @@ func (BandwidthPackageState) ElementType() reflect.Type { } type bandwidthPackageArgs struct { + // Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + // + // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + AutoRenew *bool `pulumi:"autoRenew"` // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. Bandwidth int `pulumi:"bandwidth"` // The name of the bandwidth package. Defaults to null. - // - // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - // - // ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. CenBandwidthPackageName *string `pulumi:"cenBandwidthPackageName"` // Field `chargeType` has been deprecated from version 1.97.0. Use `paymentType` and instead. // @@ -207,13 +215,15 @@ type bandwidthPackageArgs struct { // The set of arguments for constructing a BandwidthPackage resource. type BandwidthPackageArgs struct { + // Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + // + // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + AutoRenew pulumi.BoolPtrInput // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. Bandwidth pulumi.IntInput // The name of the bandwidth package. Defaults to null. - // - // ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - // - // ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. CenBandwidthPackageName pulumi.StringPtrInput // Field `chargeType` has been deprecated from version 1.97.0. Use `paymentType` and instead. // @@ -327,16 +337,21 @@ func (o BandwidthPackageOutput) ToBandwidthPackageOutputWithContext(ctx context. return o } +// Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +// +// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. +func (o BandwidthPackageOutput) AutoRenew() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BandwidthPackage) pulumi.BoolPtrOutput { return v.AutoRenew }).(pulumi.BoolPtrOutput) +} + // The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. func (o BandwidthPackageOutput) Bandwidth() pulumi.IntOutput { return o.ApplyT(func(v *BandwidthPackage) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) } // The name of the bandwidth package. Defaults to null. -// -// ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. -// -// ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. func (o BandwidthPackageOutput) CenBandwidthPackageName() pulumi.StringOutput { return o.ApplyT(func(v *BandwidthPackage) pulumi.StringOutput { return v.CenBandwidthPackageName }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/cen/bandwidthPackageAttachment.go b/sdk/go/alicloud/cen/bandwidthPackageAttachment.go index c5363f439e..36f0e36ae9 100644 --- a/sdk/go/alicloud/cen/bandwidthPackageAttachment.go +++ b/sdk/go/alicloud/cen/bandwidthPackageAttachment.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN bandwidth package attachment resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/childInstanceRouteEntryToAttachment.go b/sdk/go/alicloud/cen/childInstanceRouteEntryToAttachment.go index 29de40ad0f..602e4b2150 100644 --- a/sdk/go/alicloud/cen/childInstanceRouteEntryToAttachment.go +++ b/sdk/go/alicloud/cen/childInstanceRouteEntryToAttachment.go @@ -129,6 +129,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/flowLog.go b/sdk/go/alicloud/cen/flowLog.go index 2354290497..c560ae1797 100644 --- a/sdk/go/alicloud/cen/flowLog.go +++ b/sdk/go/alicloud/cen/flowLog.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN Flow Log can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/instance.go b/sdk/go/alicloud/cen/instance.go index 87a92a2dcd..5861016500 100644 --- a/sdk/go/alicloud/cen/instance.go +++ b/sdk/go/alicloud/cen/instance.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/instanceAttachment.go b/sdk/go/alicloud/cen/instanceAttachment.go index 4315d8e4ab..a2314b5dbc 100644 --- a/sdk/go/alicloud/cen/instanceAttachment.go +++ b/sdk/go/alicloud/cen/instanceAttachment.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/instanceGrant.go b/sdk/go/alicloud/cen/instanceGrant.go index 6ab8284bc1..7fb94ecbf3 100644 --- a/sdk/go/alicloud/cen/instanceGrant.go +++ b/sdk/go/alicloud/cen/instanceGrant.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/interRegionTrafficQosPolicy.go b/sdk/go/alicloud/cen/interRegionTrafficQosPolicy.go index f1f65b90c8..8d1bf851a3 100644 --- a/sdk/go/alicloud/cen/interRegionTrafficQosPolicy.go +++ b/sdk/go/alicloud/cen/interRegionTrafficQosPolicy.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/interRegionTrafficQosQueue.go b/sdk/go/alicloud/cen/interRegionTrafficQosQueue.go index 61030e4906..4147601a2d 100644 --- a/sdk/go/alicloud/cen/interRegionTrafficQosQueue.go +++ b/sdk/go/alicloud/cen/interRegionTrafficQosQueue.go @@ -125,6 +125,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/privateZone.go b/sdk/go/alicloud/cen/privateZone.go index d8943ae3dd..4ccca0b6b5 100644 --- a/sdk/go/alicloud/cen/privateZone.go +++ b/sdk/go/alicloud/cen/privateZone.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/routeEntry.go b/sdk/go/alicloud/cen/routeEntry.go index d5167d6fa8..359dd87a9f 100644 --- a/sdk/go/alicloud/cen/routeEntry.go +++ b/sdk/go/alicloud/cen/routeEntry.go @@ -140,6 +140,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/routeMap.go b/sdk/go/alicloud/cen/routeMap.go index cf6acdc938..3508299e7e 100644 --- a/sdk/go/alicloud/cen/routeMap.go +++ b/sdk/go/alicloud/cen/routeMap.go @@ -150,6 +150,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN RouteMap can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/routeService.go b/sdk/go/alicloud/cen/routeService.go index bef6871351..fd2f8b6f33 100644 --- a/sdk/go/alicloud/cen/routeService.go +++ b/sdk/go/alicloud/cen/routeService.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN Route Service can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/trafficMarkingPolicy.go b/sdk/go/alicloud/cen/trafficMarkingPolicy.go index b1efca05ce..4a30b1fce1 100644 --- a/sdk/go/alicloud/cen/trafficMarkingPolicy.go +++ b/sdk/go/alicloud/cen/trafficMarkingPolicy.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouteTableAggregation.go b/sdk/go/alicloud/cen/transitRouteTableAggregation.go index 1348e07ab8..2d7e49b21d 100644 --- a/sdk/go/alicloud/cen/transitRouteTableAggregation.go +++ b/sdk/go/alicloud/cen/transitRouteTableAggregation.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouter.go b/sdk/go/alicloud/cen/transitRouter.go index 2a22fc0036..c0ef9a02d4 100644 --- a/sdk/go/alicloud/cen/transitRouter.go +++ b/sdk/go/alicloud/cen/transitRouter.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterCidr.go b/sdk/go/alicloud/cen/transitRouterCidr.go index 55216eb6cf..66c694f23d 100644 --- a/sdk/go/alicloud/cen/transitRouterCidr.go +++ b/sdk/go/alicloud/cen/transitRouterCidr.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterEcrAttachment.go b/sdk/go/alicloud/cen/transitRouterEcrAttachment.go index 9d90c9541d..dffb0754f7 100644 --- a/sdk/go/alicloud/cen/transitRouterEcrAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterEcrAttachment.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN Transit Router Ecr Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterGrantAttachment.go b/sdk/go/alicloud/cen/transitRouterGrantAttachment.go index 13ae6bd884..008a0eb6bb 100644 --- a/sdk/go/alicloud/cen/transitRouterGrantAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterGrantAttachment.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterMulticastDomain.go b/sdk/go/alicloud/cen/transitRouterMulticastDomain.go index f4a80202cc..da82c6be3c 100644 --- a/sdk/go/alicloud/cen/transitRouterMulticastDomain.go +++ b/sdk/go/alicloud/cen/transitRouterMulticastDomain.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterMulticastDomainAssociation.go b/sdk/go/alicloud/cen/transitRouterMulticastDomainAssociation.go index 4177efb054..c560be2d5d 100644 --- a/sdk/go/alicloud/cen/transitRouterMulticastDomainAssociation.go +++ b/sdk/go/alicloud/cen/transitRouterMulticastDomainAssociation.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterMulticastDomainMember.go b/sdk/go/alicloud/cen/transitRouterMulticastDomainMember.go index 16c8945d73..c5352a9cbb 100644 --- a/sdk/go/alicloud/cen/transitRouterMulticastDomainMember.go +++ b/sdk/go/alicloud/cen/transitRouterMulticastDomainMember.go @@ -149,6 +149,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cen Transit Router Multicast Domain Member can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterMulticastDomainPeerMember.go b/sdk/go/alicloud/cen/transitRouterMulticastDomainPeerMember.go index 7711e41f1b..3c7cc063a8 100644 --- a/sdk/go/alicloud/cen/transitRouterMulticastDomainPeerMember.go +++ b/sdk/go/alicloud/cen/transitRouterMulticastDomainPeerMember.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterMulticastDomainSource.go b/sdk/go/alicloud/cen/transitRouterMulticastDomainSource.go index 8c1ad05cd1..9e25be3b5a 100644 --- a/sdk/go/alicloud/cen/transitRouterMulticastDomainSource.go +++ b/sdk/go/alicloud/cen/transitRouterMulticastDomainSource.go @@ -177,6 +177,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cen Transit Router Multicast Domain Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterPeerAttachment.go b/sdk/go/alicloud/cen/transitRouterPeerAttachment.go index c142119af5..945d7fe0fc 100644 --- a/sdk/go/alicloud/cen/transitRouterPeerAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterPeerAttachment.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterPrefixListAssociation.go b/sdk/go/alicloud/cen/transitRouterPrefixListAssociation.go index 0378023dc5..fb5176330d 100644 --- a/sdk/go/alicloud/cen/transitRouterPrefixListAssociation.go +++ b/sdk/go/alicloud/cen/transitRouterPrefixListAssociation.go @@ -87,6 +87,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterRouteEntry.go b/sdk/go/alicloud/cen/transitRouterRouteEntry.go index ee525a76e9..98625c01da 100644 --- a/sdk/go/alicloud/cen/transitRouterRouteEntry.go +++ b/sdk/go/alicloud/cen/transitRouterRouteEntry.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterRouteTable.go b/sdk/go/alicloud/cen/transitRouterRouteTable.go index a1bf4b44a5..da867bbc50 100644 --- a/sdk/go/alicloud/cen/transitRouterRouteTable.go +++ b/sdk/go/alicloud/cen/transitRouterRouteTable.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN transit router route table can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterRouteTableAssociation.go b/sdk/go/alicloud/cen/transitRouterRouteTableAssociation.go index 77bceac3d8..e798616b00 100644 --- a/sdk/go/alicloud/cen/transitRouterRouteTableAssociation.go +++ b/sdk/go/alicloud/cen/transitRouterRouteTableAssociation.go @@ -127,6 +127,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterRouteTablePropagation.go b/sdk/go/alicloud/cen/transitRouterRouteTablePropagation.go index 80596027ca..c973b6923f 100644 --- a/sdk/go/alicloud/cen/transitRouterRouteTablePropagation.go +++ b/sdk/go/alicloud/cen/transitRouterRouteTablePropagation.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN transit router route table propagation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterVbrAttachment.go b/sdk/go/alicloud/cen/transitRouterVbrAttachment.go index 739bb2d759..56042cbede 100644 --- a/sdk/go/alicloud/cen/transitRouterVbrAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterVbrAttachment.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterVpcAttachment.go b/sdk/go/alicloud/cen/transitRouterVpcAttachment.go index 9accd93156..d915904d08 100644 --- a/sdk/go/alicloud/cen/transitRouterVpcAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterVpcAttachment.go @@ -112,6 +112,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cen Transit Router Vpc Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/transitRouterVpnAttachment.go b/sdk/go/alicloud/cen/transitRouterVpnAttachment.go index 28aef2806d..73bbf0b1c2 100644 --- a/sdk/go/alicloud/cen/transitRouterVpnAttachment.go +++ b/sdk/go/alicloud/cen/transitRouterVpnAttachment.go @@ -281,6 +281,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cen/vbrHealthCheck.go b/sdk/go/alicloud/cen/vbrHealthCheck.go index 3f666d9498..50081265eb 100644 --- a/sdk/go/alicloud/cen/vbrHealthCheck.go +++ b/sdk/go/alicloud/cen/vbrHealthCheck.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CEN VBR HealthCheck can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/aggregateCompliancePack.go b/sdk/go/alicloud/cfg/aggregateCompliancePack.go index 6b6b20c8d5..6ac24a7ff6 100644 --- a/sdk/go/alicloud/cfg/aggregateCompliancePack.go +++ b/sdk/go/alicloud/cfg/aggregateCompliancePack.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/aggregateConfigRule.go b/sdk/go/alicloud/cfg/aggregateConfigRule.go index 8dc30ad175..5093482c0f 100644 --- a/sdk/go/alicloud/cfg/aggregateConfigRule.go +++ b/sdk/go/alicloud/cfg/aggregateConfigRule.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Config Aggregate Config Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/aggregateDelivery.go b/sdk/go/alicloud/cfg/aggregateDelivery.go index 717f0d37ad..97d42e5a09 100644 --- a/sdk/go/alicloud/cfg/aggregateDelivery.go +++ b/sdk/go/alicloud/cfg/aggregateDelivery.go @@ -136,6 +136,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Config Aggregate Delivery can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/aggregator.go b/sdk/go/alicloud/cfg/aggregator.go index 6d3df46c89..71da927486 100644 --- a/sdk/go/alicloud/cfg/aggregator.go +++ b/sdk/go/alicloud/cfg/aggregator.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Config (Config) Aggregator can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/compliancePack.go b/sdk/go/alicloud/cfg/compliancePack.go index b9a99a4a4e..61fa514b88 100644 --- a/sdk/go/alicloud/cfg/compliancePack.go +++ b/sdk/go/alicloud/cfg/compliancePack.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Config Compliance Pack can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/configurationRecorder.go b/sdk/go/alicloud/cfg/configurationRecorder.go index f34df16ab4..f6bd72788a 100644 --- a/sdk/go/alicloud/cfg/configurationRecorder.go +++ b/sdk/go/alicloud/cfg/configurationRecorder.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alicloud Config Configuration Recorder can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/delivery.go b/sdk/go/alicloud/cfg/delivery.go index db1f4bca3e..60bf68d5f2 100644 --- a/sdk/go/alicloud/cfg/delivery.go +++ b/sdk/go/alicloud/cfg/delivery.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Config Delivery can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/deliveryChannel.go b/sdk/go/alicloud/cfg/deliveryChannel.go index f4bdbb8734..34b305ab7f 100644 --- a/sdk/go/alicloud/cfg/deliveryChannel.go +++ b/sdk/go/alicloud/cfg/deliveryChannel.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alicloud Config Delivery Channel can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/remediation.go b/sdk/go/alicloud/cfg/remediation.go index 0eec78b6e1..adb0006384 100644 --- a/sdk/go/alicloud/cfg/remediation.go +++ b/sdk/go/alicloud/cfg/remediation.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Config Remediation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cfg/rule.go b/sdk/go/alicloud/cfg/rule.go index 3834c23e00..8b9cba9651 100644 --- a/sdk/go/alicloud/cfg/rule.go +++ b/sdk/go/alicloud/cfg/rule.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Config Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/chatbot/publishTask.go b/sdk/go/alicloud/chatbot/publishTask.go index 0d0c9b6fbd..4e01494bd6 100644 --- a/sdk/go/alicloud/chatbot/publishTask.go +++ b/sdk/go/alicloud/chatbot/publishTask.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Chatbot Publish Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouse/account.go b/sdk/go/alicloud/clickhouse/account.go index d2c8ec9c25..ec9fdf5245 100644 --- a/sdk/go/alicloud/clickhouse/account.go +++ b/sdk/go/alicloud/clickhouse/account.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouse/backupPolicy.go b/sdk/go/alicloud/clickhouse/backupPolicy.go index bb270a3d3a..26479f960d 100644 --- a/sdk/go/alicloud/clickhouse/backupPolicy.go +++ b/sdk/go/alicloud/clickhouse/backupPolicy.go @@ -99,6 +99,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Backup Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouse/dbCluster.go b/sdk/go/alicloud/clickhouse/dbCluster.go index def1893384..451da53278 100644 --- a/sdk/go/alicloud/clickhouse/dbCluster.go +++ b/sdk/go/alicloud/clickhouse/dbCluster.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House DBCluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouseenterprisedbcluster/account.go b/sdk/go/alicloud/clickhouseenterprisedbcluster/account.go index 6168183b30..ecd33a6db7 100644 --- a/sdk/go/alicloud/clickhouseenterprisedbcluster/account.go +++ b/sdk/go/alicloud/clickhouseenterprisedbcluster/account.go @@ -109,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Enterprise Db Cluster Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouseenterprisedbcluster/backupPolicy.go b/sdk/go/alicloud/clickhouseenterprisedbcluster/backupPolicy.go index f11aa8c4ca..b0371fba7d 100644 --- a/sdk/go/alicloud/clickhouseenterprisedbcluster/backupPolicy.go +++ b/sdk/go/alicloud/clickhouseenterprisedbcluster/backupPolicy.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.go b/sdk/go/alicloud/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.go index f8407f20f7..b828941df9 100644 --- a/sdk/go/alicloud/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.go +++ b/sdk/go/alicloud/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.go @@ -140,6 +140,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Enterprise D B Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouseenterprisedbcluster/publicEndpoint.go b/sdk/go/alicloud/clickhouseenterprisedbcluster/publicEndpoint.go index 146f55c839..82bf15a377 100644 --- a/sdk/go/alicloud/clickhouseenterprisedbcluster/publicEndpoint.go +++ b/sdk/go/alicloud/clickhouseenterprisedbcluster/publicEndpoint.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/clickhouseenterprisedbcluster/securityIp.go b/sdk/go/alicloud/clickhouseenterprisedbcluster/securityIp.go index f91038b05a..25cc553262 100644 --- a/sdk/go/alicloud/clickhouseenterprisedbcluster/securityIp.go +++ b/sdk/go/alicloud/clickhouseenterprisedbcluster/securityIp.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudauth/faceConfig.go b/sdk/go/alicloud/cloudauth/faceConfig.go index ddf5a58b54..fedeeab38e 100644 --- a/sdk/go/alicloud/cloudauth/faceConfig.go +++ b/sdk/go/alicloud/cloudauth/faceConfig.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloudauth Face Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudconnect/network.go b/sdk/go/alicloud/cloudconnect/network.go index 80463ec173..1109261966 100644 --- a/sdk/go/alicloud/cloudconnect/network.go +++ b/sdk/go/alicloud/cloudconnect/network.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The cloud connect network instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudconnect/networkAttachment.go b/sdk/go/alicloud/cloudconnect/networkAttachment.go index a548f98633..3e748118cf 100644 --- a/sdk/go/alicloud/cloudconnect/networkAttachment.go +++ b/sdk/go/alicloud/cloudconnect/networkAttachment.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Cloud Connect Network Attachment can be imported using the instance_id, e.g. diff --git a/sdk/go/alicloud/cloudconnect/networkGrant.go b/sdk/go/alicloud/cloudconnect/networkGrant.go index 8f2fb05ccd..a11f84d3e4 100644 --- a/sdk/go/alicloud/cloudconnect/networkGrant.go +++ b/sdk/go/alicloud/cloudconnect/networkGrant.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Cloud Connect Network Grant can be imported using the instance_id, e.g. diff --git a/sdk/go/alicloud/cloudcontrol/resource.go b/sdk/go/alicloud/cloudcontrol/resource.go index 340ccf10a6..d1f43d4bbc 100644 --- a/sdk/go/alicloud/cloudcontrol/resource.go +++ b/sdk/go/alicloud/cloudcontrol/resource.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Control Resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/addressBook.go b/sdk/go/alicloud/cloudfirewall/addressBook.go index de995499e4..d18f04dc7c 100644 --- a/sdk/go/alicloud/cloudfirewall/addressBook.go +++ b/sdk/go/alicloud/cloudfirewall/addressBook.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Address Book can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/controlPolicy.go b/sdk/go/alicloud/cloudfirewall/controlPolicy.go index 2f3288a9ef..f7e3303f11 100644 --- a/sdk/go/alicloud/cloudfirewall/controlPolicy.go +++ b/sdk/go/alicloud/cloudfirewall/controlPolicy.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/controlPolicyOrder.go b/sdk/go/alicloud/cloudfirewall/controlPolicyOrder.go index c113f8030a..6d891eacf9 100644 --- a/sdk/go/alicloud/cloudfirewall/controlPolicyOrder.go +++ b/sdk/go/alicloud/cloudfirewall/controlPolicyOrder.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Control Policy Order can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewall.go b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewall.go index c51ec76da0..cbe90fc08c 100644 --- a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewall.go +++ b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewall.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Vpc Firewall can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallCen.go b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallCen.go index efba6761b2..01a311781b 100644 --- a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallCen.go +++ b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallCen.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallControlPolicy.go b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallControlPolicy.go index 7252d165d1..1e2bd80a39 100644 --- a/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallControlPolicy.go +++ b/sdk/go/alicloud/cloudfirewall/firewallVpcFirewallControlPolicy.go @@ -14,6 +14,8 @@ import ( // Provides a Cloud Firewall Vpc Firewall Control Policy resource. // +// VPC Control Policy. +// // For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). // // > **NOTE:** Available since v1.194.0. @@ -70,7 +72,7 @@ import ( // Source: pulumi.String("127.0.0.1/32"), // DestPortType: pulumi.String("port"), // Proto: pulumi.String("TCP"), -// Release: pulumi.Bool(true), +// Release: pulumi.String("true"), // MemberUid: pulumi.String(_default.Id), // VpcFirewallId: defaultInstance.ID(), // }) @@ -83,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -100,7 +104,12 @@ type FirewallVpcFirewallControlPolicy struct { // Policy specifies the application ID. ApplicationId pulumi.StringOutput `pulumi:"applicationId"` // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. - ApplicationName pulumi.StringOutput `pulumi:"applicationName"` + ApplicationName pulumi.StringPtrOutput `pulumi:"applicationName"` + // The list of application types that the access control policy supports. + // > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + ApplicationNameLists pulumi.StringArrayOutput `pulumi:"applicationNameLists"` + // (Available since v1.267.0) The time when the policy was created. + CreateTime pulumi.IntOutput `pulumi:"createTime"` // Access control over VPC firewalls description of the strategy information. Description pulumi.StringOutput `pulumi:"description"` // The destination port in the access control policy. **Note:** If `destPortType` is set to `port`, you must specify this parameter. @@ -122,6 +131,10 @@ type FirewallVpcFirewallControlPolicy struct { DestinationGroupType pulumi.StringOutput `pulumi:"destinationGroupType"` // The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. DestinationType pulumi.StringOutput `pulumi:"destinationType"` + // The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + DomainResolveType pulumi.StringOutput `pulumi:"domainResolveType"` + // The end time of the policy validity period. + EndTime pulumi.IntPtrOutput `pulumi:"endTime"` // Control strategy of hits per second. HitTimes pulumi.IntOutput `pulumi:"hitTimes"` // The language of the content within the request and response. Valid values: `zh`, `en`. @@ -133,7 +146,17 @@ type FirewallVpcFirewallControlPolicy struct { // The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. Proto pulumi.StringOutput `pulumi:"proto"` // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: - Release pulumi.BoolOutput `pulumi:"release"` + Release pulumi.StringOutput `pulumi:"release"` + // The days of the week or month on which the policy is recurrently active. Valid values: + // - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + // - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + RepeatDays pulumi.IntArrayOutput `pulumi:"repeatDays"` + // The recurring end time of the policy validity period. + RepeatEndTime pulumi.StringPtrOutput `pulumi:"repeatEndTime"` + // The recurring start time of the policy validity period. + RepeatStartTime pulumi.StringPtrOutput `pulumi:"repeatStartTime"` + // The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + RepeatType pulumi.StringOutput `pulumi:"repeatType"` // Access control over VPC firewalls strategy in the source address. Source pulumi.StringOutput `pulumi:"source"` // SOURCE address of the address list. @@ -142,6 +165,8 @@ type FirewallVpcFirewallControlPolicy struct { SourceGroupType pulumi.StringOutput `pulumi:"sourceGroupType"` // The type of the source address in the access control policy. Valid values: `net`, `group`. SourceType pulumi.StringOutput `pulumi:"sourceType"` + // The start time of the policy validity period. + StartTime pulumi.IntPtrOutput `pulumi:"startTime"` // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -158,9 +183,6 @@ func NewFirewallVpcFirewallControlPolicy(ctx *pulumi.Context, if args.AclAction == nil { return nil, errors.New("invalid value for required argument 'AclAction'") } - if args.ApplicationName == nil { - return nil, errors.New("invalid value for required argument 'ApplicationName'") - } if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } @@ -216,6 +238,11 @@ type firewallVpcFirewallControlPolicyState struct { ApplicationId *string `pulumi:"applicationId"` // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. ApplicationName *string `pulumi:"applicationName"` + // The list of application types that the access control policy supports. + // > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + ApplicationNameLists []string `pulumi:"applicationNameLists"` + // (Available since v1.267.0) The time when the policy was created. + CreateTime *int `pulumi:"createTime"` // Access control over VPC firewalls description of the strategy information. Description *string `pulumi:"description"` // The destination port in the access control policy. **Note:** If `destPortType` is set to `port`, you must specify this parameter. @@ -237,6 +264,10 @@ type firewallVpcFirewallControlPolicyState struct { DestinationGroupType *string `pulumi:"destinationGroupType"` // The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. DestinationType *string `pulumi:"destinationType"` + // The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + DomainResolveType *string `pulumi:"domainResolveType"` + // The end time of the policy validity period. + EndTime *int `pulumi:"endTime"` // Control strategy of hits per second. HitTimes *int `pulumi:"hitTimes"` // The language of the content within the request and response. Valid values: `zh`, `en`. @@ -248,7 +279,17 @@ type firewallVpcFirewallControlPolicyState struct { // The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. Proto *string `pulumi:"proto"` // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: - Release *bool `pulumi:"release"` + Release *string `pulumi:"release"` + // The days of the week or month on which the policy is recurrently active. Valid values: + // - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + // - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + RepeatDays []int `pulumi:"repeatDays"` + // The recurring end time of the policy validity period. + RepeatEndTime *string `pulumi:"repeatEndTime"` + // The recurring start time of the policy validity period. + RepeatStartTime *string `pulumi:"repeatStartTime"` + // The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + RepeatType *string `pulumi:"repeatType"` // Access control over VPC firewalls strategy in the source address. Source *string `pulumi:"source"` // SOURCE address of the address list. @@ -257,6 +298,8 @@ type firewallVpcFirewallControlPolicyState struct { SourceGroupType *string `pulumi:"sourceGroupType"` // The type of the source address in the access control policy. Valid values: `net`, `group`. SourceType *string `pulumi:"sourceType"` + // The start time of the policy validity period. + StartTime *int `pulumi:"startTime"` // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -272,6 +315,11 @@ type FirewallVpcFirewallControlPolicyState struct { ApplicationId pulumi.StringPtrInput // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. ApplicationName pulumi.StringPtrInput + // The list of application types that the access control policy supports. + // > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + ApplicationNameLists pulumi.StringArrayInput + // (Available since v1.267.0) The time when the policy was created. + CreateTime pulumi.IntPtrInput // Access control over VPC firewalls description of the strategy information. Description pulumi.StringPtrInput // The destination port in the access control policy. **Note:** If `destPortType` is set to `port`, you must specify this parameter. @@ -293,6 +341,10 @@ type FirewallVpcFirewallControlPolicyState struct { DestinationGroupType pulumi.StringPtrInput // The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. DestinationType pulumi.StringPtrInput + // The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + DomainResolveType pulumi.StringPtrInput + // The end time of the policy validity period. + EndTime pulumi.IntPtrInput // Control strategy of hits per second. HitTimes pulumi.IntPtrInput // The language of the content within the request and response. Valid values: `zh`, `en`. @@ -304,7 +356,17 @@ type FirewallVpcFirewallControlPolicyState struct { // The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. Proto pulumi.StringPtrInput // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: - Release pulumi.BoolPtrInput + Release pulumi.StringPtrInput + // The days of the week or month on which the policy is recurrently active. Valid values: + // - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + // - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + RepeatDays pulumi.IntArrayInput + // The recurring end time of the policy validity period. + RepeatEndTime pulumi.StringPtrInput + // The recurring start time of the policy validity period. + RepeatStartTime pulumi.StringPtrInput + // The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + RepeatType pulumi.StringPtrInput // Access control over VPC firewalls strategy in the source address. Source pulumi.StringPtrInput // SOURCE address of the address list. @@ -313,6 +375,8 @@ type FirewallVpcFirewallControlPolicyState struct { SourceGroupType pulumi.StringPtrInput // The type of the source address in the access control policy. Valid values: `net`, `group`. SourceType pulumi.StringPtrInput + // The start time of the policy validity period. + StartTime pulumi.IntPtrInput // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -327,7 +391,10 @@ type firewallVpcFirewallControlPolicyArgs struct { // The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`. AclAction string `pulumi:"aclAction"` // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. - ApplicationName string `pulumi:"applicationName"` + ApplicationName *string `pulumi:"applicationName"` + // The list of application types that the access control policy supports. + // > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + ApplicationNameLists []string `pulumi:"applicationNameLists"` // Access control over VPC firewalls description of the strategy information. Description string `pulumi:"description"` // The destination port in the access control policy. **Note:** If `destPortType` is set to `port`, you must specify this parameter. @@ -343,6 +410,10 @@ type firewallVpcFirewallControlPolicyArgs struct { Destination string `pulumi:"destination"` // The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. DestinationType string `pulumi:"destinationType"` + // The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + DomainResolveType *string `pulumi:"domainResolveType"` + // The end time of the policy validity period. + EndTime *int `pulumi:"endTime"` // The language of the content within the request and response. Valid values: `zh`, `en`. Lang *string `pulumi:"lang"` // The UID of the member account of the current Alibaba cloud account. @@ -352,11 +423,23 @@ type firewallVpcFirewallControlPolicyArgs struct { // The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. Proto string `pulumi:"proto"` // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: - Release *bool `pulumi:"release"` + Release *string `pulumi:"release"` + // The days of the week or month on which the policy is recurrently active. Valid values: + // - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + // - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + RepeatDays []int `pulumi:"repeatDays"` + // The recurring end time of the policy validity period. + RepeatEndTime *string `pulumi:"repeatEndTime"` + // The recurring start time of the policy validity period. + RepeatStartTime *string `pulumi:"repeatStartTime"` + // The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + RepeatType *string `pulumi:"repeatType"` // Access control over VPC firewalls strategy in the source address. Source string `pulumi:"source"` // The type of the source address in the access control policy. Valid values: `net`, `group`. SourceType string `pulumi:"sourceType"` + // The start time of the policy validity period. + StartTime *int `pulumi:"startTime"` // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -368,7 +451,10 @@ type FirewallVpcFirewallControlPolicyArgs struct { // The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`. AclAction pulumi.StringInput // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. - ApplicationName pulumi.StringInput + ApplicationName pulumi.StringPtrInput + // The list of application types that the access control policy supports. + // > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + ApplicationNameLists pulumi.StringArrayInput // Access control over VPC firewalls description of the strategy information. Description pulumi.StringInput // The destination port in the access control policy. **Note:** If `destPortType` is set to `port`, you must specify this parameter. @@ -384,6 +470,10 @@ type FirewallVpcFirewallControlPolicyArgs struct { Destination pulumi.StringInput // The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. DestinationType pulumi.StringInput + // The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + DomainResolveType pulumi.StringPtrInput + // The end time of the policy validity period. + EndTime pulumi.IntPtrInput // The language of the content within the request and response. Valid values: `zh`, `en`. Lang pulumi.StringPtrInput // The UID of the member account of the current Alibaba cloud account. @@ -393,11 +483,23 @@ type FirewallVpcFirewallControlPolicyArgs struct { // The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. Proto pulumi.StringInput // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: - Release pulumi.BoolPtrInput + Release pulumi.StringPtrInput + // The days of the week or month on which the policy is recurrently active. Valid values: + // - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + // - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + RepeatDays pulumi.IntArrayInput + // The recurring end time of the policy validity period. + RepeatEndTime pulumi.StringPtrInput + // The recurring start time of the policy validity period. + RepeatStartTime pulumi.StringPtrInput + // The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + RepeatType pulumi.StringPtrInput // Access control over VPC firewalls strategy in the source address. Source pulumi.StringInput // The type of the source address in the access control policy. Valid values: `net`, `group`. SourceType pulumi.StringInput + // The start time of the policy validity period. + StartTime pulumi.IntPtrInput // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -507,8 +609,19 @@ func (o FirewallVpcFirewallControlPolicyOutput) ApplicationId() pulumi.StringOut } // The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. -func (o FirewallVpcFirewallControlPolicyOutput) ApplicationName() pulumi.StringOutput { - return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.ApplicationName }).(pulumi.StringOutput) +func (o FirewallVpcFirewallControlPolicyOutput) ApplicationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringPtrOutput { return v.ApplicationName }).(pulumi.StringPtrOutput) +} + +// The list of application types that the access control policy supports. +// > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. +func (o FirewallVpcFirewallControlPolicyOutput) ApplicationNameLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringArrayOutput { return v.ApplicationNameLists }).(pulumi.StringArrayOutput) +} + +// (Available since v1.267.0) The time when the policy was created. +func (o FirewallVpcFirewallControlPolicyOutput) CreateTime() pulumi.IntOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.IntOutput { return v.CreateTime }).(pulumi.IntOutput) } // Access control over VPC firewalls description of the strategy information. @@ -559,6 +672,16 @@ func (o FirewallVpcFirewallControlPolicyOutput) DestinationType() pulumi.StringO return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.DestinationType }).(pulumi.StringOutput) } +// The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. +func (o FirewallVpcFirewallControlPolicyOutput) DomainResolveType() pulumi.StringOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.DomainResolveType }).(pulumi.StringOutput) +} + +// The end time of the policy validity period. +func (o FirewallVpcFirewallControlPolicyOutput) EndTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.IntPtrOutput { return v.EndTime }).(pulumi.IntPtrOutput) +} + // Control strategy of hits per second. func (o FirewallVpcFirewallControlPolicyOutput) HitTimes() pulumi.IntOutput { return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.IntOutput { return v.HitTimes }).(pulumi.IntOutput) @@ -585,8 +708,30 @@ func (o FirewallVpcFirewallControlPolicyOutput) Proto() pulumi.StringOutput { } // The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: -func (o FirewallVpcFirewallControlPolicyOutput) Release() pulumi.BoolOutput { - return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.BoolOutput { return v.Release }).(pulumi.BoolOutput) +func (o FirewallVpcFirewallControlPolicyOutput) Release() pulumi.StringOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.Release }).(pulumi.StringOutput) +} + +// The days of the week or month on which the policy is recurrently active. Valid values: +// - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. +// - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. +func (o FirewallVpcFirewallControlPolicyOutput) RepeatDays() pulumi.IntArrayOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.IntArrayOutput { return v.RepeatDays }).(pulumi.IntArrayOutput) +} + +// The recurring end time of the policy validity period. +func (o FirewallVpcFirewallControlPolicyOutput) RepeatEndTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringPtrOutput { return v.RepeatEndTime }).(pulumi.StringPtrOutput) +} + +// The recurring start time of the policy validity period. +func (o FirewallVpcFirewallControlPolicyOutput) RepeatStartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringPtrOutput { return v.RepeatStartTime }).(pulumi.StringPtrOutput) +} + +// The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. +func (o FirewallVpcFirewallControlPolicyOutput) RepeatType() pulumi.StringOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.RepeatType }).(pulumi.StringOutput) } // Access control over VPC firewalls strategy in the source address. @@ -609,6 +754,11 @@ func (o FirewallVpcFirewallControlPolicyOutput) SourceType() pulumi.StringOutput return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.StringOutput { return v.SourceType }).(pulumi.StringOutput) } +// The start time of the policy validity period. +func (o FirewallVpcFirewallControlPolicyOutput) StartTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirewallVpcFirewallControlPolicy) pulumi.IntPtrOutput { return v.StartTime }).(pulumi.IntPtrOutput) +} + // The ID of the VPC firewall instance. Valid values: // - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. // - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. diff --git a/sdk/go/alicloud/cloudfirewall/instance.go b/sdk/go/alicloud/cloudfirewall/instance.go index 13ed8aaa43..58316e24fa 100644 --- a/sdk/go/alicloud/cloudfirewall/instance.go +++ b/sdk/go/alicloud/cloudfirewall/instance.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/instanceMember.go b/sdk/go/alicloud/cloudfirewall/instanceMember.go index 8bc23fc597..0675980fe2 100644 --- a/sdk/go/alicloud/cloudfirewall/instanceMember.go +++ b/sdk/go/alicloud/cloudfirewall/instanceMember.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Instance Member can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/natFirewall.go b/sdk/go/alicloud/cloudfirewall/natFirewall.go index 0583c64c73..87a4ec1744 100644 --- a/sdk/go/alicloud/cloudfirewall/natFirewall.go +++ b/sdk/go/alicloud/cloudfirewall/natFirewall.go @@ -130,6 +130,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Nat Firewall can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/natFirewallControlPolicy.go b/sdk/go/alicloud/cloudfirewall/natFirewallControlPolicy.go index f2d8690299..8526871586 100644 --- a/sdk/go/alicloud/cloudfirewall/natFirewallControlPolicy.go +++ b/sdk/go/alicloud/cloudfirewall/natFirewallControlPolicy.go @@ -228,6 +228,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/privateDns.go b/sdk/go/alicloud/cloudfirewall/privateDns.go index 38277260c1..9085437209 100644 --- a/sdk/go/alicloud/cloudfirewall/privateDns.go +++ b/sdk/go/alicloud/cloudfirewall/privateDns.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Private Dns can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudfirewall/vpcCenTrFirewall.go b/sdk/go/alicloud/cloudfirewall/vpcCenTrFirewall.go index 3b01bd0588..e543279239 100644 --- a/sdk/go/alicloud/cloudfirewall/vpcCenTrFirewall.go +++ b/sdk/go/alicloud/cloudfirewall/vpcCenTrFirewall.go @@ -196,6 +196,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudmonitor/serviceBasicPublic.go b/sdk/go/alicloud/cloudmonitor/serviceBasicPublic.go index 1a718d498d..75cb4a5e9b 100644 --- a/sdk/go/alicloud/cloudmonitor/serviceBasicPublic.go +++ b/sdk/go/alicloud/cloudmonitor/serviceBasicPublic.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Basic Public can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudmonitor/serviceEnterprisePublic.go b/sdk/go/alicloud/cloudmonitor/serviceEnterprisePublic.go index 8d8d58bb8d..1f821d8cfa 100644 --- a/sdk/go/alicloud/cloudmonitor/serviceEnterprisePublic.go +++ b/sdk/go/alicloud/cloudmonitor/serviceEnterprisePublic.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Enterprise Public can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudmonitor/serviceGroupMonitoringAgentProcess.go b/sdk/go/alicloud/cloudmonitor/serviceGroupMonitoringAgentProcess.go index 45668a737f..313db22faa 100644 --- a/sdk/go/alicloud/cloudmonitor/serviceGroupMonitoringAgentProcess.go +++ b/sdk/go/alicloud/cloudmonitor/serviceGroupMonitoringAgentProcess.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudmonitor/serviceHybridDoubleWrite.go b/sdk/go/alicloud/cloudmonitor/serviceHybridDoubleWrite.go index 7d5f0190c9..9255f84e45 100644 --- a/sdk/go/alicloud/cloudmonitor/serviceHybridDoubleWrite.go +++ b/sdk/go/alicloud/cloudmonitor/serviceHybridDoubleWrite.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudmonitor/serviceMonitoringAgentProcess.go b/sdk/go/alicloud/cloudmonitor/serviceMonitoringAgentProcess.go index 214775cbfb..f520da587d 100644 --- a/sdk/go/alicloud/cloudmonitor/serviceMonitoringAgentProcess.go +++ b/sdk/go/alicloud/cloudmonitor/serviceMonitoringAgentProcess.go @@ -119,6 +119,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudphone/image.go b/sdk/go/alicloud/cloudphone/image.go index a8c9971b85..3ab177787d 100644 --- a/sdk/go/alicloud/cloudphone/image.go +++ b/sdk/go/alicloud/cloudphone/image.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Phone Image can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudphone/keyPair.go b/sdk/go/alicloud/cloudphone/keyPair.go index c11127c3f4..5dfeda5727 100644 --- a/sdk/go/alicloud/cloudphone/keyPair.go +++ b/sdk/go/alicloud/cloudphone/keyPair.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Phone Key Pair can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudphone/policy.go b/sdk/go/alicloud/cloudphone/policy.go index ea2ce7ed15..c6dc8153da 100644 --- a/sdk/go/alicloud/cloudphone/policy.go +++ b/sdk/go/alicloud/cloudphone/policy.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Phone Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudphoneinstance/group.go b/sdk/go/alicloud/cloudphoneinstance/group.go index af156ed283..9666fff239 100644 --- a/sdk/go/alicloud/cloudphoneinstance/group.go +++ b/sdk/go/alicloud/cloudphoneinstance/group.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Phone Instance Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/accessConfiguration.go b/sdk/go/alicloud/cloudsso/accessConfiguration.go index e836ab4fcf..7293629220 100644 --- a/sdk/go/alicloud/cloudsso/accessConfiguration.go +++ b/sdk/go/alicloud/cloudsso/accessConfiguration.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Access Configuration can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/accessConfigurationProvisioning.go b/sdk/go/alicloud/cloudsso/accessConfigurationProvisioning.go index 2837ab62a2..b5fc28472c 100644 --- a/sdk/go/alicloud/cloudsso/accessConfigurationProvisioning.go +++ b/sdk/go/alicloud/cloudsso/accessConfigurationProvisioning.go @@ -127,6 +127,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/accessManagement.go b/sdk/go/alicloud/cloudsso/accessManagement.go index 861c14ee98..51ad90f869 100644 --- a/sdk/go/alicloud/cloudsso/accessManagement.go +++ b/sdk/go/alicloud/cloudsso/accessManagement.go @@ -134,6 +134,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Access Assignment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/delegateAccount.go b/sdk/go/alicloud/cloudsso/delegateAccount.go index 04521791f0..ec4d92543b 100644 --- a/sdk/go/alicloud/cloudsso/delegateAccount.go +++ b/sdk/go/alicloud/cloudsso/delegateAccount.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Delegate Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/directory.go b/sdk/go/alicloud/cloudsso/directory.go index 9b57a0df7e..664244f989 100644 --- a/sdk/go/alicloud/cloudsso/directory.go +++ b/sdk/go/alicloud/cloudsso/directory.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Directory can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/group.go b/sdk/go/alicloud/cloudsso/group.go index a86dcd5b20..f78bc9e635 100644 --- a/sdk/go/alicloud/cloudsso/group.go +++ b/sdk/go/alicloud/cloudsso/group.go @@ -96,6 +96,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/scimServerCredential.go b/sdk/go/alicloud/cloudsso/scimServerCredential.go index 4da57a89e4..a3e2453423 100644 --- a/sdk/go/alicloud/cloudsso/scimServerCredential.go +++ b/sdk/go/alicloud/cloudsso/scimServerCredential.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO SCIM Server Credential can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/user.go b/sdk/go/alicloud/cloudsso/user.go index 9ea72f6aca..dc3939a55a 100644 --- a/sdk/go/alicloud/cloudsso/user.go +++ b/sdk/go/alicloud/cloudsso/user.go @@ -105,6 +105,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Sso User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/userAttachment.go b/sdk/go/alicloud/cloudsso/userAttachment.go index fff09c427a..324774307e 100644 --- a/sdk/go/alicloud/cloudsso/userAttachment.go +++ b/sdk/go/alicloud/cloudsso/userAttachment.go @@ -123,6 +123,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO User Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudsso/userProvisioning.go b/sdk/go/alicloud/cloudsso/userProvisioning.go index d287a2b734..6facc2a69f 100644 --- a/sdk/go/alicloud/cloudsso/userProvisioning.go +++ b/sdk/go/alicloud/cloudsso/userProvisioning.go @@ -134,6 +134,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud SSO User Provisioning can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/expressSync.go b/sdk/go/alicloud/cloudstoragegateway/expressSync.go index 11fe46b19e..27731e6543 100644 --- a/sdk/go/alicloud/cloudstoragegateway/expressSync.go +++ b/sdk/go/alicloud/cloudstoragegateway/expressSync.go @@ -185,6 +185,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Express Sync can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/expressSyncShareAttachment.go b/sdk/go/alicloud/cloudstoragegateway/expressSyncShareAttachment.go index 76ba7cbf92..7a2a5d223a 100644 --- a/sdk/go/alicloud/cloudstoragegateway/expressSyncShareAttachment.go +++ b/sdk/go/alicloud/cloudstoragegateway/expressSyncShareAttachment.go @@ -192,6 +192,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gateway.go b/sdk/go/alicloud/cloudstoragegateway/gateway.go index 52907cb27a..bd06d837f4 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gateway.go +++ b/sdk/go/alicloud/cloudstoragegateway/gateway.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gatewayBlockVolume.go b/sdk/go/alicloud/cloudstoragegateway/gatewayBlockVolume.go index f5d13e620e..fe3c528633 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gatewayBlockVolume.go +++ b/sdk/go/alicloud/cloudstoragegateway/gatewayBlockVolume.go @@ -160,6 +160,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gatewayCacheDisk.go b/sdk/go/alicloud/cloudstoragegateway/gatewayCacheDisk.go index ad83914140..b4c3dd390d 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gatewayCacheDisk.go +++ b/sdk/go/alicloud/cloudstoragegateway/gatewayCacheDisk.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gatewayFileShare.go b/sdk/go/alicloud/cloudstoragegateway/gatewayFileShare.go index 897a9e9d45..2c1f0ccc88 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gatewayFileShare.go +++ b/sdk/go/alicloud/cloudstoragegateway/gatewayFileShare.go @@ -155,6 +155,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gatewayLogging.go b/sdk/go/alicloud/cloudstoragegateway/gatewayLogging.go index c4dd012487..d792042457 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gatewayLogging.go +++ b/sdk/go/alicloud/cloudstoragegateway/gatewayLogging.go @@ -150,6 +150,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/gatewaySmbUser.go b/sdk/go/alicloud/cloudstoragegateway/gatewaySmbUser.go index 3147009265..e6da713dab 100644 --- a/sdk/go/alicloud/cloudstoragegateway/gatewaySmbUser.go +++ b/sdk/go/alicloud/cloudstoragegateway/gatewaySmbUser.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cloudstoragegateway/storageBundle.go b/sdk/go/alicloud/cloudstoragegateway/storageBundle.go index ae65e97634..22274966f1 100644 --- a/sdk/go/alicloud/cloudstoragegateway/storageBundle.go +++ b/sdk/go/alicloud/cloudstoragegateway/storageBundle.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/alarm.go b/sdk/go/alicloud/cms/alarm.go index 8eeb176a69..dd8bf4096d 100644 --- a/sdk/go/alicloud/cms/alarm.go +++ b/sdk/go/alicloud/cms/alarm.go @@ -144,6 +144,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Alarm can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/alarmContact.go b/sdk/go/alicloud/cms/alarmContact.go index f1e9a70327..a59e16db27 100644 --- a/sdk/go/alicloud/cms/alarmContact.go +++ b/sdk/go/alicloud/cms/alarmContact.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alarm contact can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/alarmContactGroup.go b/sdk/go/alicloud/cms/alarmContactGroup.go index 690ce7f98f..98eca04a15 100644 --- a/sdk/go/alicloud/cms/alarmContactGroup.go +++ b/sdk/go/alicloud/cms/alarmContactGroup.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CMS Alarm Contact Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/dynamicTagGroup.go b/sdk/go/alicloud/cms/dynamicTagGroup.go index d8ef49cd92..a934bb42a4 100644 --- a/sdk/go/alicloud/cms/dynamicTagGroup.go +++ b/sdk/go/alicloud/cms/dynamicTagGroup.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/eventRule.go b/sdk/go/alicloud/cms/eventRule.go index 1a7209da10..4749fb87a6 100644 --- a/sdk/go/alicloud/cms/eventRule.go +++ b/sdk/go/alicloud/cms/eventRule.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Event Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/groupMetricRule.go b/sdk/go/alicloud/cms/groupMetricRule.go index ecccf9f275..fd465ce96e 100644 --- a/sdk/go/alicloud/cms/groupMetricRule.go +++ b/sdk/go/alicloud/cms/groupMetricRule.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/hybridMonitorFcTask.go b/sdk/go/alicloud/cms/hybridMonitorFcTask.go index e22af7e10f..5ff66485cf 100644 --- a/sdk/go/alicloud/cms/hybridMonitorFcTask.go +++ b/sdk/go/alicloud/cms/hybridMonitorFcTask.go @@ -88,6 +88,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/hybridMonitorSlsTask.go b/sdk/go/alicloud/cms/hybridMonitorSlsTask.go index cfd9dd76cf..13a4ea0d7e 100644 --- a/sdk/go/alicloud/cms/hybridMonitorSlsTask.go +++ b/sdk/go/alicloud/cms/hybridMonitorSlsTask.go @@ -178,6 +178,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/metricRuleBlackList.go b/sdk/go/alicloud/cms/metricRuleBlackList.go index 6ee0bbe675..d0accec706 100644 --- a/sdk/go/alicloud/cms/metricRuleBlackList.go +++ b/sdk/go/alicloud/cms/metricRuleBlackList.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/metricRuleTemplate.go b/sdk/go/alicloud/cms/metricRuleTemplate.go index 40daa82912..e1111506c3 100644 --- a/sdk/go/alicloud/cms/metricRuleTemplate.go +++ b/sdk/go/alicloud/cms/metricRuleTemplate.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/monitorGroup.go b/sdk/go/alicloud/cms/monitorGroup.go index eaf52a942b..dd35afb6c6 100644 --- a/sdk/go/alicloud/cms/monitorGroup.go +++ b/sdk/go/alicloud/cms/monitorGroup.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Monitor Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/monitorGroupInstances.go b/sdk/go/alicloud/cms/monitorGroupInstances.go index 11da32fccf..cadfb10d56 100644 --- a/sdk/go/alicloud/cms/monitorGroupInstances.go +++ b/sdk/go/alicloud/cms/monitorGroupInstances.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/namespace.go b/sdk/go/alicloud/cms/namespace.go index 370a4345c9..d43a184f03 100644 --- a/sdk/go/alicloud/cms/namespace.go +++ b/sdk/go/alicloud/cms/namespace.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/siteMonitor.go b/sdk/go/alicloud/cms/siteMonitor.go index 32c93716a0..780965ef01 100644 --- a/sdk/go/alicloud/cms/siteMonitor.go +++ b/sdk/go/alicloud/cms/siteMonitor.go @@ -99,6 +99,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Site Monitor can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cms/slsGroup.go b/sdk/go/alicloud/cms/slsGroup.go index 54b5ea8815..07373477fd 100644 --- a/sdk/go/alicloud/cms/slsGroup.go +++ b/sdk/go/alicloud/cms/slsGroup.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud Monitor Service Sls Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/compute/nestServiceInstance.go b/sdk/go/alicloud/compute/nestServiceInstance.go index b6959a5842..3359d8def0 100644 --- a/sdk/go/alicloud/compute/nestServiceInstance.go +++ b/sdk/go/alicloud/compute/nestServiceInstance.go @@ -148,6 +148,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Compute Nest Service Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/config/init.go b/sdk/go/alicloud/config/init.go new file mode 100644 index 0000000000..739e7729cf --- /dev/null +++ b/sdk/go/alicloud/config/init.go @@ -0,0 +1,44 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package config + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +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 "alicloud:config/reportTemplate:ReportTemplate": + r = &ReportTemplate{} + 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( + "alicloud", + "config/reportTemplate", + &module{version}, + ) +} diff --git a/sdk/go/alicloud/config/pulumiTypes.go b/sdk/go/alicloud/config/pulumiTypes.go index f484813305..06249a8d8f 100644 --- a/sdk/go/alicloud/config/pulumiTypes.go +++ b/sdk/go/alicloud/config/pulumiTypes.go @@ -13,6 +13,130 @@ import ( var _ = internal.GetEnvOrDefault +type ReportTemplateReportScope struct { + // Key for reporting scope, currently supported: + // - AggregatorId + // - CompliancePackId + // - RuleId + Key *string `pulumi:"key"` + // The matching logic. Currently, only In is supported. + MatchType *string `pulumi:"matchType"` + // The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + Value *string `pulumi:"value"` +} + +// ReportTemplateReportScopeInput is an input type that accepts ReportTemplateReportScopeArgs and ReportTemplateReportScopeOutput values. +// You can construct a concrete instance of `ReportTemplateReportScopeInput` via: +// +// ReportTemplateReportScopeArgs{...} +type ReportTemplateReportScopeInput interface { + pulumi.Input + + ToReportTemplateReportScopeOutput() ReportTemplateReportScopeOutput + ToReportTemplateReportScopeOutputWithContext(context.Context) ReportTemplateReportScopeOutput +} + +type ReportTemplateReportScopeArgs struct { + // Key for reporting scope, currently supported: + // - AggregatorId + // - CompliancePackId + // - RuleId + Key pulumi.StringPtrInput `pulumi:"key"` + // The matching logic. Currently, only In is supported. + MatchType pulumi.StringPtrInput `pulumi:"matchType"` + // The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (ReportTemplateReportScopeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReportTemplateReportScope)(nil)).Elem() +} + +func (i ReportTemplateReportScopeArgs) ToReportTemplateReportScopeOutput() ReportTemplateReportScopeOutput { + return i.ToReportTemplateReportScopeOutputWithContext(context.Background()) +} + +func (i ReportTemplateReportScopeArgs) ToReportTemplateReportScopeOutputWithContext(ctx context.Context) ReportTemplateReportScopeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReportTemplateReportScopeOutput) +} + +// ReportTemplateReportScopeArrayInput is an input type that accepts ReportTemplateReportScopeArray and ReportTemplateReportScopeArrayOutput values. +// You can construct a concrete instance of `ReportTemplateReportScopeArrayInput` via: +// +// ReportTemplateReportScopeArray{ ReportTemplateReportScopeArgs{...} } +type ReportTemplateReportScopeArrayInput interface { + pulumi.Input + + ToReportTemplateReportScopeArrayOutput() ReportTemplateReportScopeArrayOutput + ToReportTemplateReportScopeArrayOutputWithContext(context.Context) ReportTemplateReportScopeArrayOutput +} + +type ReportTemplateReportScopeArray []ReportTemplateReportScopeInput + +func (ReportTemplateReportScopeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReportTemplateReportScope)(nil)).Elem() +} + +func (i ReportTemplateReportScopeArray) ToReportTemplateReportScopeArrayOutput() ReportTemplateReportScopeArrayOutput { + return i.ToReportTemplateReportScopeArrayOutputWithContext(context.Background()) +} + +func (i ReportTemplateReportScopeArray) ToReportTemplateReportScopeArrayOutputWithContext(ctx context.Context) ReportTemplateReportScopeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReportTemplateReportScopeArrayOutput) +} + +type ReportTemplateReportScopeOutput struct{ *pulumi.OutputState } + +func (ReportTemplateReportScopeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReportTemplateReportScope)(nil)).Elem() +} + +func (o ReportTemplateReportScopeOutput) ToReportTemplateReportScopeOutput() ReportTemplateReportScopeOutput { + return o +} + +func (o ReportTemplateReportScopeOutput) ToReportTemplateReportScopeOutputWithContext(ctx context.Context) ReportTemplateReportScopeOutput { + return o +} + +// Key for reporting scope, currently supported: +// - AggregatorId +// - CompliancePackId +// - RuleId +func (o ReportTemplateReportScopeOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReportTemplateReportScope) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// The matching logic. Currently, only In is supported. +func (o ReportTemplateReportScopeOutput) MatchType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReportTemplateReportScope) *string { return v.MatchType }).(pulumi.StringPtrOutput) +} + +// The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). +func (o ReportTemplateReportScopeOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReportTemplateReportScope) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ReportTemplateReportScopeArrayOutput struct{ *pulumi.OutputState } + +func (ReportTemplateReportScopeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReportTemplateReportScope)(nil)).Elem() +} + +func (o ReportTemplateReportScopeArrayOutput) ToReportTemplateReportScopeArrayOutput() ReportTemplateReportScopeArrayOutput { + return o +} + +func (o ReportTemplateReportScopeArrayOutput) ToReportTemplateReportScopeArrayOutputWithContext(ctx context.Context) ReportTemplateReportScopeArrayOutput { + return o +} + +func (o ReportTemplateReportScopeArrayOutput) Index(i pulumi.IntInput) ReportTemplateReportScopeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReportTemplateReportScope { + return vs[0].([]ReportTemplateReportScope)[vs[1].(int)] + }).(ReportTemplateReportScopeOutput) +} + type AssumeRole struct { ExternalId *string `pulumi:"externalId"` // The permissions applied when assuming a role. You cannot use, this policy to grant further permissions that are in excess to those of the, role that is being assumed. @@ -1752,11 +1876,15 @@ func (o SignVersionOutput) Sls() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReportTemplateReportScopeInput)(nil)).Elem(), ReportTemplateReportScopeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReportTemplateReportScopeArrayInput)(nil)).Elem(), ReportTemplateReportScopeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AssumeRoleInput)(nil)).Elem(), AssumeRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AssumeRoleWithOidcInput)(nil)).Elem(), AssumeRoleWithOidcArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EndpointsInput)(nil)).Elem(), EndpointsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EndpointsArrayInput)(nil)).Elem(), EndpointsArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SignVersionInput)(nil)).Elem(), SignVersionArgs{}) + pulumi.RegisterOutputType(ReportTemplateReportScopeOutput{}) + pulumi.RegisterOutputType(ReportTemplateReportScopeArrayOutput{}) pulumi.RegisterOutputType(AssumeRoleOutput{}) pulumi.RegisterOutputType(AssumeRoleWithOidcOutput{}) pulumi.RegisterOutputType(EndpointsOutput{}) diff --git a/sdk/go/alicloud/config/reportTemplate.go b/sdk/go/alicloud/config/reportTemplate.go new file mode 100644 index 0000000000..5cb63c1350 --- /dev/null +++ b/sdk/go/alicloud/config/reportTemplate.go @@ -0,0 +1,455 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package config + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Cloud Config (Config) Report Template resource. +// +// Config Compliance Report Template. +// +// For information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/config" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// pulumiconfig "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _, err := config.NewReportTemplate(ctx, "default", &config.ReportTemplateArgs{ +// ReportGranularity: pulumi.String("AllInOne"), +// ReportScopes: config.ReportTemplateReportScopeArray{ +// &config.ReportTemplateReportScopeArgs{ +// Key: pulumi.String("RuleId"), +// Value: pulumi.String("cr-xxx"), +// MatchType: pulumi.String("In"), +// }, +// }, +// ReportFileFormats: pulumi.String("excel"), +// ReportTemplateName: pulumi.String("example-name"), +// ReportTemplateDescription: pulumi.String("example-desc"), +// SubscriptionFrequency: pulumi.String(" "), +// ReportLanguage: pulumi.String("en-US"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Cloud Config (Config) Report Template can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:config/reportTemplate:ReportTemplate example +// ``` +type ReportTemplate struct { + pulumi.CustomResourceState + + // Report Format + ReportFileFormats pulumi.StringPtrOutput `pulumi:"reportFileFormats"` + // Report Aggregation Granularity + ReportGranularity pulumi.StringPtrOutput `pulumi:"reportGranularity"` + // This property does not have a description in the spec, please add it before generating code. + ReportLanguage pulumi.StringPtrOutput `pulumi:"reportLanguage"` + // Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + ReportScopes ReportTemplateReportScopeArrayOutput `pulumi:"reportScopes"` + // Report Template Description + ReportTemplateDescription pulumi.StringPtrOutput `pulumi:"reportTemplateDescription"` + // Report Template Name + ReportTemplateName pulumi.StringOutput `pulumi:"reportTemplateName"` + // Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + // + // The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + // - Execute at 0 o'clock every day: 0 0 0 * *? + // - Every Monday at 15: 30: 0 30 15? * MON + // - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + // + // Among them: + // -"*" Indicates any value + // - What-? Used for day and week fields, indicating that no specific value is specified + // - MON means Monday + // + // > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + // + // > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + SubscriptionFrequency pulumi.StringPtrOutput `pulumi:"subscriptionFrequency"` +} + +// NewReportTemplate registers a new resource with the given unique name, arguments, and options. +func NewReportTemplate(ctx *pulumi.Context, + name string, args *ReportTemplateArgs, opts ...pulumi.ResourceOption) (*ReportTemplate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ReportTemplateName == nil { + return nil, errors.New("invalid value for required argument 'ReportTemplateName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ReportTemplate + err := ctx.RegisterResource("alicloud:config/reportTemplate:ReportTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetReportTemplate gets an existing ReportTemplate 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 GetReportTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ReportTemplateState, opts ...pulumi.ResourceOption) (*ReportTemplate, error) { + var resource ReportTemplate + err := ctx.ReadResource("alicloud:config/reportTemplate:ReportTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ReportTemplate resources. +type reportTemplateState struct { + // Report Format + ReportFileFormats *string `pulumi:"reportFileFormats"` + // Report Aggregation Granularity + ReportGranularity *string `pulumi:"reportGranularity"` + // This property does not have a description in the spec, please add it before generating code. + ReportLanguage *string `pulumi:"reportLanguage"` + // Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + ReportScopes []ReportTemplateReportScope `pulumi:"reportScopes"` + // Report Template Description + ReportTemplateDescription *string `pulumi:"reportTemplateDescription"` + // Report Template Name + ReportTemplateName *string `pulumi:"reportTemplateName"` + // Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + // + // The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + // - Execute at 0 o'clock every day: 0 0 0 * *? + // - Every Monday at 15: 30: 0 30 15? * MON + // - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + // + // Among them: + // -"*" Indicates any value + // - What-? Used for day and week fields, indicating that no specific value is specified + // - MON means Monday + // + // > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + // + // > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + SubscriptionFrequency *string `pulumi:"subscriptionFrequency"` +} + +type ReportTemplateState struct { + // Report Format + ReportFileFormats pulumi.StringPtrInput + // Report Aggregation Granularity + ReportGranularity pulumi.StringPtrInput + // This property does not have a description in the spec, please add it before generating code. + ReportLanguage pulumi.StringPtrInput + // Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + ReportScopes ReportTemplateReportScopeArrayInput + // Report Template Description + ReportTemplateDescription pulumi.StringPtrInput + // Report Template Name + ReportTemplateName pulumi.StringPtrInput + // Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + // + // The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + // - Execute at 0 o'clock every day: 0 0 0 * *? + // - Every Monday at 15: 30: 0 30 15? * MON + // - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + // + // Among them: + // -"*" Indicates any value + // - What-? Used for day and week fields, indicating that no specific value is specified + // - MON means Monday + // + // > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + // + // > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + SubscriptionFrequency pulumi.StringPtrInput +} + +func (ReportTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*reportTemplateState)(nil)).Elem() +} + +type reportTemplateArgs struct { + // Report Format + ReportFileFormats *string `pulumi:"reportFileFormats"` + // Report Aggregation Granularity + ReportGranularity *string `pulumi:"reportGranularity"` + // This property does not have a description in the spec, please add it before generating code. + ReportLanguage *string `pulumi:"reportLanguage"` + // Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + ReportScopes []ReportTemplateReportScope `pulumi:"reportScopes"` + // Report Template Description + ReportTemplateDescription *string `pulumi:"reportTemplateDescription"` + // Report Template Name + ReportTemplateName string `pulumi:"reportTemplateName"` + // Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + // + // The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + // - Execute at 0 o'clock every day: 0 0 0 * *? + // - Every Monday at 15: 30: 0 30 15? * MON + // - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + // + // Among them: + // -"*" Indicates any value + // - What-? Used for day and week fields, indicating that no specific value is specified + // - MON means Monday + // + // > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + // + // > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + SubscriptionFrequency *string `pulumi:"subscriptionFrequency"` +} + +// The set of arguments for constructing a ReportTemplate resource. +type ReportTemplateArgs struct { + // Report Format + ReportFileFormats pulumi.StringPtrInput + // Report Aggregation Granularity + ReportGranularity pulumi.StringPtrInput + // This property does not have a description in the spec, please add it before generating code. + ReportLanguage pulumi.StringPtrInput + // Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + ReportScopes ReportTemplateReportScopeArrayInput + // Report Template Description + ReportTemplateDescription pulumi.StringPtrInput + // Report Template Name + ReportTemplateName pulumi.StringInput + // Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + // + // The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + // - Execute at 0 o'clock every day: 0 0 0 * *? + // - Every Monday at 15: 30: 0 30 15? * MON + // - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + // + // Among them: + // -"*" Indicates any value + // - What-? Used for day and week fields, indicating that no specific value is specified + // - MON means Monday + // + // > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + // + // > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + SubscriptionFrequency pulumi.StringPtrInput +} + +func (ReportTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*reportTemplateArgs)(nil)).Elem() +} + +type ReportTemplateInput interface { + pulumi.Input + + ToReportTemplateOutput() ReportTemplateOutput + ToReportTemplateOutputWithContext(ctx context.Context) ReportTemplateOutput +} + +func (*ReportTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**ReportTemplate)(nil)).Elem() +} + +func (i *ReportTemplate) ToReportTemplateOutput() ReportTemplateOutput { + return i.ToReportTemplateOutputWithContext(context.Background()) +} + +func (i *ReportTemplate) ToReportTemplateOutputWithContext(ctx context.Context) ReportTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReportTemplateOutput) +} + +// ReportTemplateArrayInput is an input type that accepts ReportTemplateArray and ReportTemplateArrayOutput values. +// You can construct a concrete instance of `ReportTemplateArrayInput` via: +// +// ReportTemplateArray{ ReportTemplateArgs{...} } +type ReportTemplateArrayInput interface { + pulumi.Input + + ToReportTemplateArrayOutput() ReportTemplateArrayOutput + ToReportTemplateArrayOutputWithContext(context.Context) ReportTemplateArrayOutput +} + +type ReportTemplateArray []ReportTemplateInput + +func (ReportTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReportTemplate)(nil)).Elem() +} + +func (i ReportTemplateArray) ToReportTemplateArrayOutput() ReportTemplateArrayOutput { + return i.ToReportTemplateArrayOutputWithContext(context.Background()) +} + +func (i ReportTemplateArray) ToReportTemplateArrayOutputWithContext(ctx context.Context) ReportTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReportTemplateArrayOutput) +} + +// ReportTemplateMapInput is an input type that accepts ReportTemplateMap and ReportTemplateMapOutput values. +// You can construct a concrete instance of `ReportTemplateMapInput` via: +// +// ReportTemplateMap{ "key": ReportTemplateArgs{...} } +type ReportTemplateMapInput interface { + pulumi.Input + + ToReportTemplateMapOutput() ReportTemplateMapOutput + ToReportTemplateMapOutputWithContext(context.Context) ReportTemplateMapOutput +} + +type ReportTemplateMap map[string]ReportTemplateInput + +func (ReportTemplateMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReportTemplate)(nil)).Elem() +} + +func (i ReportTemplateMap) ToReportTemplateMapOutput() ReportTemplateMapOutput { + return i.ToReportTemplateMapOutputWithContext(context.Background()) +} + +func (i ReportTemplateMap) ToReportTemplateMapOutputWithContext(ctx context.Context) ReportTemplateMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReportTemplateMapOutput) +} + +type ReportTemplateOutput struct{ *pulumi.OutputState } + +func (ReportTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReportTemplate)(nil)).Elem() +} + +func (o ReportTemplateOutput) ToReportTemplateOutput() ReportTemplateOutput { + return o +} + +func (o ReportTemplateOutput) ToReportTemplateOutputWithContext(ctx context.Context) ReportTemplateOutput { + return o +} + +// Report Format +func (o ReportTemplateOutput) ReportFileFormats() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringPtrOutput { return v.ReportFileFormats }).(pulumi.StringPtrOutput) +} + +// Report Aggregation Granularity +func (o ReportTemplateOutput) ReportGranularity() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringPtrOutput { return v.ReportGranularity }).(pulumi.StringPtrOutput) +} + +// This property does not have a description in the spec, please add it before generating code. +func (o ReportTemplateOutput) ReportLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringPtrOutput { return v.ReportLanguage }).(pulumi.StringPtrOutput) +} + +// Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. +func (o ReportTemplateOutput) ReportScopes() ReportTemplateReportScopeArrayOutput { + return o.ApplyT(func(v *ReportTemplate) ReportTemplateReportScopeArrayOutput { return v.ReportScopes }).(ReportTemplateReportScopeArrayOutput) +} + +// Report Template Description +func (o ReportTemplateOutput) ReportTemplateDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringPtrOutput { return v.ReportTemplateDescription }).(pulumi.StringPtrOutput) +} + +// Report Template Name +func (o ReportTemplateOutput) ReportTemplateName() pulumi.StringOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringOutput { return v.ReportTemplateName }).(pulumi.StringOutput) +} + +// Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. +// +// The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: +// - Execute at 0 o'clock every day: 0 0 0 * *? +// - Every Monday at 15: 30: 0 30 15? * MON +// - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? +// +// Among them: +// -"*" Indicates any value +// - What-? Used for day and week fields, indicating that no specific value is specified +// - MON means Monday +// +// > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. +// +// > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. +func (o ReportTemplateOutput) SubscriptionFrequency() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReportTemplate) pulumi.StringPtrOutput { return v.SubscriptionFrequency }).(pulumi.StringPtrOutput) +} + +type ReportTemplateArrayOutput struct{ *pulumi.OutputState } + +func (ReportTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReportTemplate)(nil)).Elem() +} + +func (o ReportTemplateArrayOutput) ToReportTemplateArrayOutput() ReportTemplateArrayOutput { + return o +} + +func (o ReportTemplateArrayOutput) ToReportTemplateArrayOutputWithContext(ctx context.Context) ReportTemplateArrayOutput { + return o +} + +func (o ReportTemplateArrayOutput) Index(i pulumi.IntInput) ReportTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReportTemplate { + return vs[0].([]*ReportTemplate)[vs[1].(int)] + }).(ReportTemplateOutput) +} + +type ReportTemplateMapOutput struct{ *pulumi.OutputState } + +func (ReportTemplateMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReportTemplate)(nil)).Elem() +} + +func (o ReportTemplateMapOutput) ToReportTemplateMapOutput() ReportTemplateMapOutput { + return o +} + +func (o ReportTemplateMapOutput) ToReportTemplateMapOutputWithContext(ctx context.Context) ReportTemplateMapOutput { + return o +} + +func (o ReportTemplateMapOutput) MapIndex(k pulumi.StringInput) ReportTemplateOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReportTemplate { + return vs[0].(map[string]*ReportTemplate)[vs[1].(string)] + }).(ReportTemplateOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReportTemplateInput)(nil)).Elem(), &ReportTemplate{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReportTemplateArrayInput)(nil)).Elem(), ReportTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReportTemplateMapInput)(nil)).Elem(), ReportTemplateMap{}) + pulumi.RegisterOutputType(ReportTemplateOutput{}) + pulumi.RegisterOutputType(ReportTemplateArrayOutput{}) + pulumi.RegisterOutputType(ReportTemplateMapOutput{}) +} diff --git a/sdk/go/alicloud/configaggregate/init.go b/sdk/go/alicloud/configaggregate/init.go new file mode 100644 index 0000000000..d6cdd7f0fa --- /dev/null +++ b/sdk/go/alicloud/configaggregate/init.go @@ -0,0 +1,44 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package configaggregate + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +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 "alicloud:configaggregate/remediation:Remediation": + r = &Remediation{} + 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( + "alicloud", + "configaggregate/remediation", + &module{version}, + ) +} diff --git a/sdk/go/alicloud/configaggregate/remediation.go b/sdk/go/alicloud/configaggregate/remediation.go new file mode 100644 index 0000000000..afada71fe7 --- /dev/null +++ b/sdk/go/alicloud/configaggregate/remediation.go @@ -0,0 +1,528 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package configaggregate + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Cloud Config (Config) Aggregate Remediation resource. +// +// Rule remediation in multi-account scenarios. +// +// For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/configaggregate" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// create_agg, err := cfg.NewAggregator(ctx, "create-agg", &cfg.AggregatorArgs{ +// AggregatorName: pulumi.String("rd"), +// Description: pulumi.String("rd"), +// AggregatorType: pulumi.String("RD"), +// }) +// if err != nil { +// return err +// } +// create_rule, err := cfg.NewAggregateConfigRule(ctx, "create-rule", &cfg.AggregateConfigRuleArgs{ +// SourceOwner: pulumi.String("ALIYUN"), +// SourceIdentifier: pulumi.String("required-tags"), +// AggregateConfigRuleName: pulumi.String("agg-rule-name"), +// ConfigRuleTriggerTypes: pulumi.String("ConfigurationItemChangeNotification"), +// RiskLevel: pulumi.Int(1), +// ResourceTypesScopes: pulumi.StringArray{ +// pulumi.String("ACS::OSS::Bucket"), +// }, +// AggregatorId: create_agg.ID(), +// InputParameters: pulumi.StringMap{ +// "tag1Key": pulumi.String("aaa"), +// "tag1Value": pulumi.String("bbb"), +// }, +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "properties": []map[string]interface{}{ +// map[string]interface{}{ +// "name": "regionId", +// "type": "String", +// "value": "{regionId}", +// "allowedValues": []interface{}{}, +// "description": "region ID", +// }, +// map[string]interface{}{ +// "name": "tags", +// "type": "Json", +// "value": "{\"aaa\":\"bbb\"}", +// "allowedValues": []interface{}{}, +// "description": "resource tags (for example,{\"k1\":\"v1\",\"k2\":\"v2\"}).", +// }, +// map[string]interface{}{ +// "name": "resourceType", +// "type": "String", +// "value": "{resourceType}", +// "allowedValues": []interface{}{}, +// "description": "resource type", +// }, +// map[string]interface{}{ +// "name": "resourceIds", +// "type": "ARRAY", +// "value": "[{\"resources\":[]}]", +// "allowedValues": []interface{}{}, +// "description": "Resource ID List", +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = configaggregate.NewRemediation(ctx, "default", &configaggregate.RemediationArgs{ +// ConfigRuleId: create_rule.ConfigRuleId, +// RemediationTemplateId: pulumi.String("ACS-TAG-TagResources"), +// RemediationSourceType: pulumi.String("ALIYUN"), +// InvokeType: pulumi.String("MANUAL_EXECUTION"), +// RemediationType: pulumi.String("OOS"), +// AggregatorId: create_agg.ID(), +// RemediationOriginParams: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:configaggregate/remediation:Remediation example : +// ``` +type Remediation struct { + pulumi.CustomResourceState + + // The account Group ID. + // For more information about how to obtain the account group ID, see ListAggregators. + AggregatorId pulumi.StringOutput `pulumi:"aggregatorId"` + // The rule ID. + // For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + ConfigRuleId pulumi.StringOutput `pulumi:"configRuleId"` + // Correction of execution mode. Value: + // - NON_EXECUTION: Not executed. + // - AUTO_EXECUTION: Automatically executed. + // - MANUAL_EXECUTION: Execute manually. + // - NOT_CONFIG: Not set. + InvokeType pulumi.StringOutput `pulumi:"invokeType"` + // Multi-account remediation ID + RemediationId pulumi.StringOutput `pulumi:"remediationId"` + // Correct the parameters of the settings. + // For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + RemediationOriginParams pulumi.StringOutput `pulumi:"remediationOriginParams"` + // The source of the template to perform the correction. Value: + // - ALIYUN (default): Official website template. + // - CUSTOM: CUSTOM template. + // - NONE: NONE. + RemediationSourceType pulumi.StringPtrOutput `pulumi:"remediationSourceType"` + // The ID of the correction template. + RemediationTemplateId pulumi.StringOutput `pulumi:"remediationTemplateId"` + // Remediation type. Value: + // - OOS: Operation and maintenance orchestration (Template correction). + // - FC: Function Compute (custom correction). + RemediationType pulumi.StringOutput `pulumi:"remediationType"` +} + +// NewRemediation registers a new resource with the given unique name, arguments, and options. +func NewRemediation(ctx *pulumi.Context, + name string, args *RemediationArgs, opts ...pulumi.ResourceOption) (*Remediation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AggregatorId == nil { + return nil, errors.New("invalid value for required argument 'AggregatorId'") + } + if args.ConfigRuleId == nil { + return nil, errors.New("invalid value for required argument 'ConfigRuleId'") + } + if args.InvokeType == nil { + return nil, errors.New("invalid value for required argument 'InvokeType'") + } + if args.RemediationOriginParams == nil { + return nil, errors.New("invalid value for required argument 'RemediationOriginParams'") + } + if args.RemediationTemplateId == nil { + return nil, errors.New("invalid value for required argument 'RemediationTemplateId'") + } + if args.RemediationType == nil { + return nil, errors.New("invalid value for required argument 'RemediationType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Remediation + err := ctx.RegisterResource("alicloud:configaggregate/remediation:Remediation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRemediation gets an existing Remediation 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 GetRemediation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RemediationState, opts ...pulumi.ResourceOption) (*Remediation, error) { + var resource Remediation + err := ctx.ReadResource("alicloud:configaggregate/remediation:Remediation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Remediation resources. +type remediationState struct { + // The account Group ID. + // For more information about how to obtain the account group ID, see ListAggregators. + AggregatorId *string `pulumi:"aggregatorId"` + // The rule ID. + // For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + ConfigRuleId *string `pulumi:"configRuleId"` + // Correction of execution mode. Value: + // - NON_EXECUTION: Not executed. + // - AUTO_EXECUTION: Automatically executed. + // - MANUAL_EXECUTION: Execute manually. + // - NOT_CONFIG: Not set. + InvokeType *string `pulumi:"invokeType"` + // Multi-account remediation ID + RemediationId *string `pulumi:"remediationId"` + // Correct the parameters of the settings. + // For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + RemediationOriginParams *string `pulumi:"remediationOriginParams"` + // The source of the template to perform the correction. Value: + // - ALIYUN (default): Official website template. + // - CUSTOM: CUSTOM template. + // - NONE: NONE. + RemediationSourceType *string `pulumi:"remediationSourceType"` + // The ID of the correction template. + RemediationTemplateId *string `pulumi:"remediationTemplateId"` + // Remediation type. Value: + // - OOS: Operation and maintenance orchestration (Template correction). + // - FC: Function Compute (custom correction). + RemediationType *string `pulumi:"remediationType"` +} + +type RemediationState struct { + // The account Group ID. + // For more information about how to obtain the account group ID, see ListAggregators. + AggregatorId pulumi.StringPtrInput + // The rule ID. + // For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + ConfigRuleId pulumi.StringPtrInput + // Correction of execution mode. Value: + // - NON_EXECUTION: Not executed. + // - AUTO_EXECUTION: Automatically executed. + // - MANUAL_EXECUTION: Execute manually. + // - NOT_CONFIG: Not set. + InvokeType pulumi.StringPtrInput + // Multi-account remediation ID + RemediationId pulumi.StringPtrInput + // Correct the parameters of the settings. + // For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + RemediationOriginParams pulumi.StringPtrInput + // The source of the template to perform the correction. Value: + // - ALIYUN (default): Official website template. + // - CUSTOM: CUSTOM template. + // - NONE: NONE. + RemediationSourceType pulumi.StringPtrInput + // The ID of the correction template. + RemediationTemplateId pulumi.StringPtrInput + // Remediation type. Value: + // - OOS: Operation and maintenance orchestration (Template correction). + // - FC: Function Compute (custom correction). + RemediationType pulumi.StringPtrInput +} + +func (RemediationState) ElementType() reflect.Type { + return reflect.TypeOf((*remediationState)(nil)).Elem() +} + +type remediationArgs struct { + // The account Group ID. + // For more information about how to obtain the account group ID, see ListAggregators. + AggregatorId string `pulumi:"aggregatorId"` + // The rule ID. + // For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + ConfigRuleId string `pulumi:"configRuleId"` + // Correction of execution mode. Value: + // - NON_EXECUTION: Not executed. + // - AUTO_EXECUTION: Automatically executed. + // - MANUAL_EXECUTION: Execute manually. + // - NOT_CONFIG: Not set. + InvokeType string `pulumi:"invokeType"` + // Correct the parameters of the settings. + // For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + RemediationOriginParams string `pulumi:"remediationOriginParams"` + // The source of the template to perform the correction. Value: + // - ALIYUN (default): Official website template. + // - CUSTOM: CUSTOM template. + // - NONE: NONE. + RemediationSourceType *string `pulumi:"remediationSourceType"` + // The ID of the correction template. + RemediationTemplateId string `pulumi:"remediationTemplateId"` + // Remediation type. Value: + // - OOS: Operation and maintenance orchestration (Template correction). + // - FC: Function Compute (custom correction). + RemediationType string `pulumi:"remediationType"` +} + +// The set of arguments for constructing a Remediation resource. +type RemediationArgs struct { + // The account Group ID. + // For more information about how to obtain the account group ID, see ListAggregators. + AggregatorId pulumi.StringInput + // The rule ID. + // For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + ConfigRuleId pulumi.StringInput + // Correction of execution mode. Value: + // - NON_EXECUTION: Not executed. + // - AUTO_EXECUTION: Automatically executed. + // - MANUAL_EXECUTION: Execute manually. + // - NOT_CONFIG: Not set. + InvokeType pulumi.StringInput + // Correct the parameters of the settings. + // For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + RemediationOriginParams pulumi.StringInput + // The source of the template to perform the correction. Value: + // - ALIYUN (default): Official website template. + // - CUSTOM: CUSTOM template. + // - NONE: NONE. + RemediationSourceType pulumi.StringPtrInput + // The ID of the correction template. + RemediationTemplateId pulumi.StringInput + // Remediation type. Value: + // - OOS: Operation and maintenance orchestration (Template correction). + // - FC: Function Compute (custom correction). + RemediationType pulumi.StringInput +} + +func (RemediationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*remediationArgs)(nil)).Elem() +} + +type RemediationInput interface { + pulumi.Input + + ToRemediationOutput() RemediationOutput + ToRemediationOutputWithContext(ctx context.Context) RemediationOutput +} + +func (*Remediation) ElementType() reflect.Type { + return reflect.TypeOf((**Remediation)(nil)).Elem() +} + +func (i *Remediation) ToRemediationOutput() RemediationOutput { + return i.ToRemediationOutputWithContext(context.Background()) +} + +func (i *Remediation) ToRemediationOutputWithContext(ctx context.Context) RemediationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RemediationOutput) +} + +// RemediationArrayInput is an input type that accepts RemediationArray and RemediationArrayOutput values. +// You can construct a concrete instance of `RemediationArrayInput` via: +// +// RemediationArray{ RemediationArgs{...} } +type RemediationArrayInput interface { + pulumi.Input + + ToRemediationArrayOutput() RemediationArrayOutput + ToRemediationArrayOutputWithContext(context.Context) RemediationArrayOutput +} + +type RemediationArray []RemediationInput + +func (RemediationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Remediation)(nil)).Elem() +} + +func (i RemediationArray) ToRemediationArrayOutput() RemediationArrayOutput { + return i.ToRemediationArrayOutputWithContext(context.Background()) +} + +func (i RemediationArray) ToRemediationArrayOutputWithContext(ctx context.Context) RemediationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RemediationArrayOutput) +} + +// RemediationMapInput is an input type that accepts RemediationMap and RemediationMapOutput values. +// You can construct a concrete instance of `RemediationMapInput` via: +// +// RemediationMap{ "key": RemediationArgs{...} } +type RemediationMapInput interface { + pulumi.Input + + ToRemediationMapOutput() RemediationMapOutput + ToRemediationMapOutputWithContext(context.Context) RemediationMapOutput +} + +type RemediationMap map[string]RemediationInput + +func (RemediationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Remediation)(nil)).Elem() +} + +func (i RemediationMap) ToRemediationMapOutput() RemediationMapOutput { + return i.ToRemediationMapOutputWithContext(context.Background()) +} + +func (i RemediationMap) ToRemediationMapOutputWithContext(ctx context.Context) RemediationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RemediationMapOutput) +} + +type RemediationOutput struct{ *pulumi.OutputState } + +func (RemediationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Remediation)(nil)).Elem() +} + +func (o RemediationOutput) ToRemediationOutput() RemediationOutput { + return o +} + +func (o RemediationOutput) ToRemediationOutputWithContext(ctx context.Context) RemediationOutput { + return o +} + +// The account Group ID. +// For more information about how to obtain the account group ID, see ListAggregators. +func (o RemediationOutput) AggregatorId() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.AggregatorId }).(pulumi.StringOutput) +} + +// The rule ID. +// For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. +func (o RemediationOutput) ConfigRuleId() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.ConfigRuleId }).(pulumi.StringOutput) +} + +// Correction of execution mode. Value: +// - NON_EXECUTION: Not executed. +// - AUTO_EXECUTION: Automatically executed. +// - MANUAL_EXECUTION: Execute manually. +// - NOT_CONFIG: Not set. +func (o RemediationOutput) InvokeType() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.InvokeType }).(pulumi.StringOutput) +} + +// Multi-account remediation ID +func (o RemediationOutput) RemediationId() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.RemediationId }).(pulumi.StringOutput) +} + +// Correct the parameters of the settings. +// For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. +func (o RemediationOutput) RemediationOriginParams() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.RemediationOriginParams }).(pulumi.StringOutput) +} + +// The source of the template to perform the correction. Value: +// - ALIYUN (default): Official website template. +// - CUSTOM: CUSTOM template. +// - NONE: NONE. +func (o RemediationOutput) RemediationSourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringPtrOutput { return v.RemediationSourceType }).(pulumi.StringPtrOutput) +} + +// The ID of the correction template. +func (o RemediationOutput) RemediationTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.RemediationTemplateId }).(pulumi.StringOutput) +} + +// Remediation type. Value: +// - OOS: Operation and maintenance orchestration (Template correction). +// - FC: Function Compute (custom correction). +func (o RemediationOutput) RemediationType() pulumi.StringOutput { + return o.ApplyT(func(v *Remediation) pulumi.StringOutput { return v.RemediationType }).(pulumi.StringOutput) +} + +type RemediationArrayOutput struct{ *pulumi.OutputState } + +func (RemediationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Remediation)(nil)).Elem() +} + +func (o RemediationArrayOutput) ToRemediationArrayOutput() RemediationArrayOutput { + return o +} + +func (o RemediationArrayOutput) ToRemediationArrayOutputWithContext(ctx context.Context) RemediationArrayOutput { + return o +} + +func (o RemediationArrayOutput) Index(i pulumi.IntInput) RemediationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Remediation { + return vs[0].([]*Remediation)[vs[1].(int)] + }).(RemediationOutput) +} + +type RemediationMapOutput struct{ *pulumi.OutputState } + +func (RemediationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Remediation)(nil)).Elem() +} + +func (o RemediationMapOutput) ToRemediationMapOutput() RemediationMapOutput { + return o +} + +func (o RemediationMapOutput) ToRemediationMapOutputWithContext(ctx context.Context) RemediationMapOutput { + return o +} + +func (o RemediationMapOutput) MapIndex(k pulumi.StringInput) RemediationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Remediation { + return vs[0].(map[string]*Remediation)[vs[1].(string)] + }).(RemediationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RemediationInput)(nil)).Elem(), &Remediation{}) + pulumi.RegisterInputType(reflect.TypeOf((*RemediationArrayInput)(nil)).Elem(), RemediationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RemediationMapInput)(nil)).Elem(), RemediationMap{}) + pulumi.RegisterOutputType(RemediationOutput{}) + pulumi.RegisterOutputType(RemediationArrayOutput{}) + pulumi.RegisterOutputType(RemediationMapOutput{}) +} diff --git a/sdk/go/alicloud/cr/chain.go b/sdk/go/alicloud/cr/chain.go index 757c1d65a7..ca43d5d6d3 100644 --- a/sdk/go/alicloud/cr/chain.go +++ b/sdk/go/alicloud/cr/chain.go @@ -260,6 +260,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Chain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cr/chartNamespace.go b/sdk/go/alicloud/cr/chartNamespace.go index 82ab6024b5..aad93b021a 100644 --- a/sdk/go/alicloud/cr/chartNamespace.go +++ b/sdk/go/alicloud/cr/chartNamespace.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Chart Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cr/chartRepository.go b/sdk/go/alicloud/cr/chartRepository.go index 93ab6a384b..a067259bef 100644 --- a/sdk/go/alicloud/cr/chartRepository.go +++ b/sdk/go/alicloud/cr/chartRepository.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Chart Repository can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cr/endpointAclPolicy.go b/sdk/go/alicloud/cr/endpointAclPolicy.go index e0e74a6702..ee3037ed75 100644 --- a/sdk/go/alicloud/cr/endpointAclPolicy.go +++ b/sdk/go/alicloud/cr/endpointAclPolicy.go @@ -82,6 +82,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Endpoint Acl Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cr/init.go b/sdk/go/alicloud/cr/init.go index d9e9119b3e..619bcdf9f3 100644 --- a/sdk/go/alicloud/cr/init.go +++ b/sdk/go/alicloud/cr/init.go @@ -35,6 +35,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RegistryEnterpriseInstance{} case "alicloud:cr/repo:Repo": r = &Repo{} + case "alicloud:cr/scanRule:ScanRule": + r = &ScanRule{} + case "alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule": + r = &StorageDomainRoutingRule{} case "alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc": r = &VpcEndpointLinkedVpc{} default: @@ -85,6 +89,16 @@ func init() { "cr/repo", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "cr/scanRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "alicloud", + "cr/storageDomainRoutingRule", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "cr/vpcEndpointLinkedVpc", diff --git a/sdk/go/alicloud/cr/namespace.go b/sdk/go/alicloud/cr/namespace.go index d21bfacb17..0fbeefb0e3 100644 --- a/sdk/go/alicloud/cr/namespace.go +++ b/sdk/go/alicloud/cr/namespace.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Container Registry namespace can be imported using the namespace, e.g. diff --git a/sdk/go/alicloud/cr/pulumiTypes.go b/sdk/go/alicloud/cr/pulumiTypes.go index 1b1471a639..3580339c68 100644 --- a/sdk/go/alicloud/cr/pulumiTypes.go +++ b/sdk/go/alicloud/cr/pulumiTypes.go @@ -1161,6 +1161,121 @@ func (o RepoDomainListPtrOutput) Vpc() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type StorageDomainRoutingRuleRoute struct { + // Endpoint Type. + EndpointType string `pulumi:"endpointType"` + // Instance domain name. + InstanceDomain string `pulumi:"instanceDomain"` + // Storage domain name. + StorageDomain string `pulumi:"storageDomain"` +} + +// StorageDomainRoutingRuleRouteInput is an input type that accepts StorageDomainRoutingRuleRouteArgs and StorageDomainRoutingRuleRouteOutput values. +// You can construct a concrete instance of `StorageDomainRoutingRuleRouteInput` via: +// +// StorageDomainRoutingRuleRouteArgs{...} +type StorageDomainRoutingRuleRouteInput interface { + pulumi.Input + + ToStorageDomainRoutingRuleRouteOutput() StorageDomainRoutingRuleRouteOutput + ToStorageDomainRoutingRuleRouteOutputWithContext(context.Context) StorageDomainRoutingRuleRouteOutput +} + +type StorageDomainRoutingRuleRouteArgs struct { + // Endpoint Type. + EndpointType pulumi.StringInput `pulumi:"endpointType"` + // Instance domain name. + InstanceDomain pulumi.StringInput `pulumi:"instanceDomain"` + // Storage domain name. + StorageDomain pulumi.StringInput `pulumi:"storageDomain"` +} + +func (StorageDomainRoutingRuleRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StorageDomainRoutingRuleRoute)(nil)).Elem() +} + +func (i StorageDomainRoutingRuleRouteArgs) ToStorageDomainRoutingRuleRouteOutput() StorageDomainRoutingRuleRouteOutput { + return i.ToStorageDomainRoutingRuleRouteOutputWithContext(context.Background()) +} + +func (i StorageDomainRoutingRuleRouteArgs) ToStorageDomainRoutingRuleRouteOutputWithContext(ctx context.Context) StorageDomainRoutingRuleRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageDomainRoutingRuleRouteOutput) +} + +// StorageDomainRoutingRuleRouteArrayInput is an input type that accepts StorageDomainRoutingRuleRouteArray and StorageDomainRoutingRuleRouteArrayOutput values. +// You can construct a concrete instance of `StorageDomainRoutingRuleRouteArrayInput` via: +// +// StorageDomainRoutingRuleRouteArray{ StorageDomainRoutingRuleRouteArgs{...} } +type StorageDomainRoutingRuleRouteArrayInput interface { + pulumi.Input + + ToStorageDomainRoutingRuleRouteArrayOutput() StorageDomainRoutingRuleRouteArrayOutput + ToStorageDomainRoutingRuleRouteArrayOutputWithContext(context.Context) StorageDomainRoutingRuleRouteArrayOutput +} + +type StorageDomainRoutingRuleRouteArray []StorageDomainRoutingRuleRouteInput + +func (StorageDomainRoutingRuleRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StorageDomainRoutingRuleRoute)(nil)).Elem() +} + +func (i StorageDomainRoutingRuleRouteArray) ToStorageDomainRoutingRuleRouteArrayOutput() StorageDomainRoutingRuleRouteArrayOutput { + return i.ToStorageDomainRoutingRuleRouteArrayOutputWithContext(context.Background()) +} + +func (i StorageDomainRoutingRuleRouteArray) ToStorageDomainRoutingRuleRouteArrayOutputWithContext(ctx context.Context) StorageDomainRoutingRuleRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageDomainRoutingRuleRouteArrayOutput) +} + +type StorageDomainRoutingRuleRouteOutput struct{ *pulumi.OutputState } + +func (StorageDomainRoutingRuleRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StorageDomainRoutingRuleRoute)(nil)).Elem() +} + +func (o StorageDomainRoutingRuleRouteOutput) ToStorageDomainRoutingRuleRouteOutput() StorageDomainRoutingRuleRouteOutput { + return o +} + +func (o StorageDomainRoutingRuleRouteOutput) ToStorageDomainRoutingRuleRouteOutputWithContext(ctx context.Context) StorageDomainRoutingRuleRouteOutput { + return o +} + +// Endpoint Type. +func (o StorageDomainRoutingRuleRouteOutput) EndpointType() pulumi.StringOutput { + return o.ApplyT(func(v StorageDomainRoutingRuleRoute) string { return v.EndpointType }).(pulumi.StringOutput) +} + +// Instance domain name. +func (o StorageDomainRoutingRuleRouteOutput) InstanceDomain() pulumi.StringOutput { + return o.ApplyT(func(v StorageDomainRoutingRuleRoute) string { return v.InstanceDomain }).(pulumi.StringOutput) +} + +// Storage domain name. +func (o StorageDomainRoutingRuleRouteOutput) StorageDomain() pulumi.StringOutput { + return o.ApplyT(func(v StorageDomainRoutingRuleRoute) string { return v.StorageDomain }).(pulumi.StringOutput) +} + +type StorageDomainRoutingRuleRouteArrayOutput struct{ *pulumi.OutputState } + +func (StorageDomainRoutingRuleRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StorageDomainRoutingRuleRoute)(nil)).Elem() +} + +func (o StorageDomainRoutingRuleRouteArrayOutput) ToStorageDomainRoutingRuleRouteArrayOutput() StorageDomainRoutingRuleRouteArrayOutput { + return o +} + +func (o StorageDomainRoutingRuleRouteArrayOutput) ToStorageDomainRoutingRuleRouteArrayOutputWithContext(ctx context.Context) StorageDomainRoutingRuleRouteArrayOutput { + return o +} + +func (o StorageDomainRoutingRuleRouteArrayOutput) Index(i pulumi.IntInput) StorageDomainRoutingRuleRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StorageDomainRoutingRuleRoute { + return vs[0].([]StorageDomainRoutingRuleRoute)[vs[1].(int)] + }).(StorageDomainRoutingRuleRouteOutput) +} + type GetChainsChain struct { // The configuration of delivery chain. ChainConfigs []GetChainsChainChainConfig `pulumi:"chainConfigs"` @@ -3183,6 +3298,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RegistryEnterpriseInstanceInstanceEndpointDomainArrayInput)(nil)).Elem(), RegistryEnterpriseInstanceInstanceEndpointDomainArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RepoDomainListInput)(nil)).Elem(), RepoDomainListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RepoDomainListPtrInput)(nil)).Elem(), RepoDomainListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageDomainRoutingRuleRouteInput)(nil)).Elem(), StorageDomainRoutingRuleRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageDomainRoutingRuleRouteArrayInput)(nil)).Elem(), StorageDomainRoutingRuleRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetChainsChainInput)(nil)).Elem(), GetChainsChainArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetChainsChainArrayInput)(nil)).Elem(), GetChainsChainArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetChainsChainChainConfigInput)(nil)).Elem(), GetChainsChainChainConfigArgs{}) @@ -3234,6 +3351,8 @@ func init() { pulumi.RegisterOutputType(RegistryEnterpriseInstanceInstanceEndpointDomainArrayOutput{}) pulumi.RegisterOutputType(RepoDomainListOutput{}) pulumi.RegisterOutputType(RepoDomainListPtrOutput{}) + pulumi.RegisterOutputType(StorageDomainRoutingRuleRouteOutput{}) + pulumi.RegisterOutputType(StorageDomainRoutingRuleRouteArrayOutput{}) pulumi.RegisterOutputType(GetChainsChainOutput{}) pulumi.RegisterOutputType(GetChainsChainArrayOutput{}) pulumi.RegisterOutputType(GetChainsChainChainConfigOutput{}) diff --git a/sdk/go/alicloud/cr/registryEnterpriseInstance.go b/sdk/go/alicloud/cr/registryEnterpriseInstance.go index 8f344d1e2e..33d5187866 100644 --- a/sdk/go/alicloud/cr/registryEnterpriseInstance.go +++ b/sdk/go/alicloud/cr/registryEnterpriseInstance.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cr/repo.go b/sdk/go/alicloud/cr/repo.go index a1b9d0e2a7..556f7ac627 100644 --- a/sdk/go/alicloud/cr/repo.go +++ b/sdk/go/alicloud/cr/repo.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Container Registry repository can be imported using the `namespace/repository`, e.g. diff --git a/sdk/go/alicloud/cr/scanRule.go b/sdk/go/alicloud/cr/scanRule.go new file mode 100644 index 0000000000..506dc8b3d1 --- /dev/null +++ b/sdk/go/alicloud/cr/scanRule.go @@ -0,0 +1,484 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cr + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a CR Scan Rule resource. +// +// Artifact Scan Rule. +// +// For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). +// +// > **NOTE:** Available since v1.265.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// default2Aqoce, err := cr.NewRegistryEnterpriseInstance(ctx, "default2Aqoce", &cr.RegistryEnterpriseInstanceArgs{ +// DefaultOssBucket: pulumi.String("false"), +// RenewalStatus: pulumi.String("ManualRenewal"), +// Period: pulumi.Int(1), +// InstanceName: pulumi.String("pl-example-2"), +// PaymentType: pulumi.String("Subscription"), +// InstanceType: pulumi.String("Basic"), +// }) +// if err != nil { +// return err +// } +// _, err = cr.NewScanRule(ctx, "default", &cr.ScanRuleArgs{ +// RepoTagFilterPattern: pulumi.String(".*"), +// ScanScope: pulumi.String("REPO"), +// TriggerType: pulumi.String("MANUAL"), +// ScanType: pulumi.String("VUL"), +// RuleName: pulumi.String(name), +// Namespaces: pulumi.StringArray{ +// pulumi.String("aa"), +// }, +// RepoNames: pulumi.StringArray{ +// pulumi.String("bb"), +// pulumi.String("cc"), +// pulumi.String("dd"), +// pulumi.String("ee"), +// }, +// InstanceId: default2Aqoce.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// CR Scan Rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:cr/scanRule:ScanRule example : +// ``` +type ScanRule struct { + pulumi.CustomResourceState + + // Creation time + CreateTime pulumi.IntOutput `pulumi:"createTime"` + // Instance ID + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Set of namespaces: + // - This parameter must not be empty when the scan scope is NAMESPACE. + // - This parameter must contain exactly one namespace when the scan scope is REPO. + Namespaces pulumi.StringArrayOutput `pulumi:"namespaces"` + // Repository list: + // - This parameter must be empty when the scan scope is NAMESPACE. + // - This parameter must not be empty when the scan scope is REPO. + RepoNames pulumi.StringArrayOutput `pulumi:"repoNames"` + // Regular expression for matching tags that trigger a scan + RepoTagFilterPattern pulumi.StringOutput `pulumi:"repoTagFilterPattern"` + // Event rule name + RuleName pulumi.StringOutput `pulumi:"ruleName"` + // Rule ID + ScanRuleId pulumi.StringOutput `pulumi:"scanRuleId"` + // Scan scope + ScanScope pulumi.StringOutput `pulumi:"scanScope"` + // Scan type: + // - `VUL`: Artifact vulnerability scan + // - `SBOM`: Artifact content analysis + // + // The default value of this parameter is `VUL`. + ScanType pulumi.StringOutput `pulumi:"scanType"` + // Trigger type + TriggerType pulumi.StringOutput `pulumi:"triggerType"` +} + +// NewScanRule registers a new resource with the given unique name, arguments, and options. +func NewScanRule(ctx *pulumi.Context, + name string, args *ScanRuleArgs, opts ...pulumi.ResourceOption) (*ScanRule, 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.RepoTagFilterPattern == nil { + return nil, errors.New("invalid value for required argument 'RepoTagFilterPattern'") + } + if args.RuleName == nil { + return nil, errors.New("invalid value for required argument 'RuleName'") + } + if args.ScanScope == nil { + return nil, errors.New("invalid value for required argument 'ScanScope'") + } + if args.ScanType == nil { + return nil, errors.New("invalid value for required argument 'ScanType'") + } + if args.TriggerType == nil { + return nil, errors.New("invalid value for required argument 'TriggerType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ScanRule + err := ctx.RegisterResource("alicloud:cr/scanRule:ScanRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetScanRule gets an existing ScanRule 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 GetScanRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ScanRuleState, opts ...pulumi.ResourceOption) (*ScanRule, error) { + var resource ScanRule + err := ctx.ReadResource("alicloud:cr/scanRule:ScanRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ScanRule resources. +type scanRuleState struct { + // Creation time + CreateTime *int `pulumi:"createTime"` + // Instance ID + InstanceId *string `pulumi:"instanceId"` + // Set of namespaces: + // - This parameter must not be empty when the scan scope is NAMESPACE. + // - This parameter must contain exactly one namespace when the scan scope is REPO. + Namespaces []string `pulumi:"namespaces"` + // Repository list: + // - This parameter must be empty when the scan scope is NAMESPACE. + // - This parameter must not be empty when the scan scope is REPO. + RepoNames []string `pulumi:"repoNames"` + // Regular expression for matching tags that trigger a scan + RepoTagFilterPattern *string `pulumi:"repoTagFilterPattern"` + // Event rule name + RuleName *string `pulumi:"ruleName"` + // Rule ID + ScanRuleId *string `pulumi:"scanRuleId"` + // Scan scope + ScanScope *string `pulumi:"scanScope"` + // Scan type: + // - `VUL`: Artifact vulnerability scan + // - `SBOM`: Artifact content analysis + // + // The default value of this parameter is `VUL`. + ScanType *string `pulumi:"scanType"` + // Trigger type + TriggerType *string `pulumi:"triggerType"` +} + +type ScanRuleState struct { + // Creation time + CreateTime pulumi.IntPtrInput + // Instance ID + InstanceId pulumi.StringPtrInput + // Set of namespaces: + // - This parameter must not be empty when the scan scope is NAMESPACE. + // - This parameter must contain exactly one namespace when the scan scope is REPO. + Namespaces pulumi.StringArrayInput + // Repository list: + // - This parameter must be empty when the scan scope is NAMESPACE. + // - This parameter must not be empty when the scan scope is REPO. + RepoNames pulumi.StringArrayInput + // Regular expression for matching tags that trigger a scan + RepoTagFilterPattern pulumi.StringPtrInput + // Event rule name + RuleName pulumi.StringPtrInput + // Rule ID + ScanRuleId pulumi.StringPtrInput + // Scan scope + ScanScope pulumi.StringPtrInput + // Scan type: + // - `VUL`: Artifact vulnerability scan + // - `SBOM`: Artifact content analysis + // + // The default value of this parameter is `VUL`. + ScanType pulumi.StringPtrInput + // Trigger type + TriggerType pulumi.StringPtrInput +} + +func (ScanRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*scanRuleState)(nil)).Elem() +} + +type scanRuleArgs struct { + // Instance ID + InstanceId string `pulumi:"instanceId"` + // Set of namespaces: + // - This parameter must not be empty when the scan scope is NAMESPACE. + // - This parameter must contain exactly one namespace when the scan scope is REPO. + Namespaces []string `pulumi:"namespaces"` + // Repository list: + // - This parameter must be empty when the scan scope is NAMESPACE. + // - This parameter must not be empty when the scan scope is REPO. + RepoNames []string `pulumi:"repoNames"` + // Regular expression for matching tags that trigger a scan + RepoTagFilterPattern string `pulumi:"repoTagFilterPattern"` + // Event rule name + RuleName string `pulumi:"ruleName"` + // Scan scope + ScanScope string `pulumi:"scanScope"` + // Scan type: + // - `VUL`: Artifact vulnerability scan + // - `SBOM`: Artifact content analysis + // + // The default value of this parameter is `VUL`. + ScanType string `pulumi:"scanType"` + // Trigger type + TriggerType string `pulumi:"triggerType"` +} + +// The set of arguments for constructing a ScanRule resource. +type ScanRuleArgs struct { + // Instance ID + InstanceId pulumi.StringInput + // Set of namespaces: + // - This parameter must not be empty when the scan scope is NAMESPACE. + // - This parameter must contain exactly one namespace when the scan scope is REPO. + Namespaces pulumi.StringArrayInput + // Repository list: + // - This parameter must be empty when the scan scope is NAMESPACE. + // - This parameter must not be empty when the scan scope is REPO. + RepoNames pulumi.StringArrayInput + // Regular expression for matching tags that trigger a scan + RepoTagFilterPattern pulumi.StringInput + // Event rule name + RuleName pulumi.StringInput + // Scan scope + ScanScope pulumi.StringInput + // Scan type: + // - `VUL`: Artifact vulnerability scan + // - `SBOM`: Artifact content analysis + // + // The default value of this parameter is `VUL`. + ScanType pulumi.StringInput + // Trigger type + TriggerType pulumi.StringInput +} + +func (ScanRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*scanRuleArgs)(nil)).Elem() +} + +type ScanRuleInput interface { + pulumi.Input + + ToScanRuleOutput() ScanRuleOutput + ToScanRuleOutputWithContext(ctx context.Context) ScanRuleOutput +} + +func (*ScanRule) ElementType() reflect.Type { + return reflect.TypeOf((**ScanRule)(nil)).Elem() +} + +func (i *ScanRule) ToScanRuleOutput() ScanRuleOutput { + return i.ToScanRuleOutputWithContext(context.Background()) +} + +func (i *ScanRule) ToScanRuleOutputWithContext(ctx context.Context) ScanRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScanRuleOutput) +} + +// ScanRuleArrayInput is an input type that accepts ScanRuleArray and ScanRuleArrayOutput values. +// You can construct a concrete instance of `ScanRuleArrayInput` via: +// +// ScanRuleArray{ ScanRuleArgs{...} } +type ScanRuleArrayInput interface { + pulumi.Input + + ToScanRuleArrayOutput() ScanRuleArrayOutput + ToScanRuleArrayOutputWithContext(context.Context) ScanRuleArrayOutput +} + +type ScanRuleArray []ScanRuleInput + +func (ScanRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ScanRule)(nil)).Elem() +} + +func (i ScanRuleArray) ToScanRuleArrayOutput() ScanRuleArrayOutput { + return i.ToScanRuleArrayOutputWithContext(context.Background()) +} + +func (i ScanRuleArray) ToScanRuleArrayOutputWithContext(ctx context.Context) ScanRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScanRuleArrayOutput) +} + +// ScanRuleMapInput is an input type that accepts ScanRuleMap and ScanRuleMapOutput values. +// You can construct a concrete instance of `ScanRuleMapInput` via: +// +// ScanRuleMap{ "key": ScanRuleArgs{...} } +type ScanRuleMapInput interface { + pulumi.Input + + ToScanRuleMapOutput() ScanRuleMapOutput + ToScanRuleMapOutputWithContext(context.Context) ScanRuleMapOutput +} + +type ScanRuleMap map[string]ScanRuleInput + +func (ScanRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ScanRule)(nil)).Elem() +} + +func (i ScanRuleMap) ToScanRuleMapOutput() ScanRuleMapOutput { + return i.ToScanRuleMapOutputWithContext(context.Background()) +} + +func (i ScanRuleMap) ToScanRuleMapOutputWithContext(ctx context.Context) ScanRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScanRuleMapOutput) +} + +type ScanRuleOutput struct{ *pulumi.OutputState } + +func (ScanRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScanRule)(nil)).Elem() +} + +func (o ScanRuleOutput) ToScanRuleOutput() ScanRuleOutput { + return o +} + +func (o ScanRuleOutput) ToScanRuleOutputWithContext(ctx context.Context) ScanRuleOutput { + return o +} + +// Creation time +func (o ScanRuleOutput) CreateTime() pulumi.IntOutput { + return o.ApplyT(func(v *ScanRule) pulumi.IntOutput { return v.CreateTime }).(pulumi.IntOutput) +} + +// Instance ID +func (o ScanRuleOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Set of namespaces: +// - This parameter must not be empty when the scan scope is NAMESPACE. +// - This parameter must contain exactly one namespace when the scan scope is REPO. +func (o ScanRuleOutput) Namespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringArrayOutput { return v.Namespaces }).(pulumi.StringArrayOutput) +} + +// Repository list: +// - This parameter must be empty when the scan scope is NAMESPACE. +// - This parameter must not be empty when the scan scope is REPO. +func (o ScanRuleOutput) RepoNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringArrayOutput { return v.RepoNames }).(pulumi.StringArrayOutput) +} + +// Regular expression for matching tags that trigger a scan +func (o ScanRuleOutput) RepoTagFilterPattern() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.RepoTagFilterPattern }).(pulumi.StringOutput) +} + +// Event rule name +func (o ScanRuleOutput) RuleName() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.RuleName }).(pulumi.StringOutput) +} + +// Rule ID +func (o ScanRuleOutput) ScanRuleId() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.ScanRuleId }).(pulumi.StringOutput) +} + +// Scan scope +func (o ScanRuleOutput) ScanScope() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.ScanScope }).(pulumi.StringOutput) +} + +// Scan type: +// - `VUL`: Artifact vulnerability scan +// - `SBOM`: Artifact content analysis +// +// The default value of this parameter is `VUL`. +func (o ScanRuleOutput) ScanType() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.ScanType }).(pulumi.StringOutput) +} + +// Trigger type +func (o ScanRuleOutput) TriggerType() pulumi.StringOutput { + return o.ApplyT(func(v *ScanRule) pulumi.StringOutput { return v.TriggerType }).(pulumi.StringOutput) +} + +type ScanRuleArrayOutput struct{ *pulumi.OutputState } + +func (ScanRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ScanRule)(nil)).Elem() +} + +func (o ScanRuleArrayOutput) ToScanRuleArrayOutput() ScanRuleArrayOutput { + return o +} + +func (o ScanRuleArrayOutput) ToScanRuleArrayOutputWithContext(ctx context.Context) ScanRuleArrayOutput { + return o +} + +func (o ScanRuleArrayOutput) Index(i pulumi.IntInput) ScanRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ScanRule { + return vs[0].([]*ScanRule)[vs[1].(int)] + }).(ScanRuleOutput) +} + +type ScanRuleMapOutput struct{ *pulumi.OutputState } + +func (ScanRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ScanRule)(nil)).Elem() +} + +func (o ScanRuleMapOutput) ToScanRuleMapOutput() ScanRuleMapOutput { + return o +} + +func (o ScanRuleMapOutput) ToScanRuleMapOutputWithContext(ctx context.Context) ScanRuleMapOutput { + return o +} + +func (o ScanRuleMapOutput) MapIndex(k pulumi.StringInput) ScanRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ScanRule { + return vs[0].(map[string]*ScanRule)[vs[1].(string)] + }).(ScanRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ScanRuleInput)(nil)).Elem(), &ScanRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScanRuleArrayInput)(nil)).Elem(), ScanRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScanRuleMapInput)(nil)).Elem(), ScanRuleMap{}) + pulumi.RegisterOutputType(ScanRuleOutput{}) + pulumi.RegisterOutputType(ScanRuleArrayOutput{}) + pulumi.RegisterOutputType(ScanRuleMapOutput{}) +} diff --git a/sdk/go/alicloud/cr/storageDomainRoutingRule.go b/sdk/go/alicloud/cr/storageDomainRoutingRule.go new file mode 100644 index 0000000000..534846c345 --- /dev/null +++ b/sdk/go/alicloud/cr/storageDomainRoutingRule.go @@ -0,0 +1,333 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cr + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a CR Storage Domain Routing Rule resource. +// +// Instance Storage Domain Routing Rule. +// +// For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). +// +// > **NOTE:** Available since v1.265.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cr" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := cr.NewRegistryEnterpriseInstance(ctx, "default", &cr.RegistryEnterpriseInstanceArgs{ +// PaymentType: pulumi.String("Subscription"), +// Period: pulumi.Int(1), +// RenewPeriod: pulumi.Int(1), +// RenewalStatus: pulumi.String("AutoRenewal"), +// InstanceType: pulumi.String("Advanced"), +// InstanceName: pulumi.String(name), +// }) +// if err != nil { +// return err +// } +// _, err = cr.NewStorageDomainRoutingRule(ctx, "default", &cr.StorageDomainRoutingRuleArgs{ +// Routes: cr.StorageDomainRoutingRuleRouteArray{ +// &cr.StorageDomainRoutingRuleRouteArgs{ +// InstanceDomain: _default.InstanceName.ApplyT(func(instanceName string) (string, error) { +// return fmt.Sprintf("%v-registry-vpc.cn-hangzhou.cr.aliyuncs.com", instanceName), nil +// }).(pulumi.StringOutput), +// StorageDomain: _default.ID().ApplyT(func(id string) (string, error) { +// return fmt.Sprintf("https://%v-registry.oss-cn-hangzhou-internal.aliyuncs.com", id), nil +// }).(pulumi.StringOutput), +// EndpointType: pulumi.String("Internet"), +// }, +// }, +// InstanceId: _default.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// CR Storage Domain Routing Rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example : +// ``` +type StorageDomainRoutingRule struct { + pulumi.CustomResourceState + + // The creation time of the resource. + CreateTime pulumi.IntOutput `pulumi:"createTime"` + // The ID of the Container Registry Instance. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Domain name routing entry See `routes` below. + Routes StorageDomainRoutingRuleRouteArrayOutput `pulumi:"routes"` + // The ID of the Rule. + RuleId pulumi.StringOutput `pulumi:"ruleId"` +} + +// NewStorageDomainRoutingRule registers a new resource with the given unique name, arguments, and options. +func NewStorageDomainRoutingRule(ctx *pulumi.Context, + name string, args *StorageDomainRoutingRuleArgs, opts ...pulumi.ResourceOption) (*StorageDomainRoutingRule, 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.Routes == nil { + return nil, errors.New("invalid value for required argument 'Routes'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource StorageDomainRoutingRule + err := ctx.RegisterResource("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetStorageDomainRoutingRule gets an existing StorageDomainRoutingRule 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 GetStorageDomainRoutingRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *StorageDomainRoutingRuleState, opts ...pulumi.ResourceOption) (*StorageDomainRoutingRule, error) { + var resource StorageDomainRoutingRule + err := ctx.ReadResource("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering StorageDomainRoutingRule resources. +type storageDomainRoutingRuleState struct { + // The creation time of the resource. + CreateTime *int `pulumi:"createTime"` + // The ID of the Container Registry Instance. + InstanceId *string `pulumi:"instanceId"` + // Domain name routing entry See `routes` below. + Routes []StorageDomainRoutingRuleRoute `pulumi:"routes"` + // The ID of the Rule. + RuleId *string `pulumi:"ruleId"` +} + +type StorageDomainRoutingRuleState struct { + // The creation time of the resource. + CreateTime pulumi.IntPtrInput + // The ID of the Container Registry Instance. + InstanceId pulumi.StringPtrInput + // Domain name routing entry See `routes` below. + Routes StorageDomainRoutingRuleRouteArrayInput + // The ID of the Rule. + RuleId pulumi.StringPtrInput +} + +func (StorageDomainRoutingRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*storageDomainRoutingRuleState)(nil)).Elem() +} + +type storageDomainRoutingRuleArgs struct { + // The ID of the Container Registry Instance. + InstanceId string `pulumi:"instanceId"` + // Domain name routing entry See `routes` below. + Routes []StorageDomainRoutingRuleRoute `pulumi:"routes"` +} + +// The set of arguments for constructing a StorageDomainRoutingRule resource. +type StorageDomainRoutingRuleArgs struct { + // The ID of the Container Registry Instance. + InstanceId pulumi.StringInput + // Domain name routing entry See `routes` below. + Routes StorageDomainRoutingRuleRouteArrayInput +} + +func (StorageDomainRoutingRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*storageDomainRoutingRuleArgs)(nil)).Elem() +} + +type StorageDomainRoutingRuleInput interface { + pulumi.Input + + ToStorageDomainRoutingRuleOutput() StorageDomainRoutingRuleOutput + ToStorageDomainRoutingRuleOutputWithContext(ctx context.Context) StorageDomainRoutingRuleOutput +} + +func (*StorageDomainRoutingRule) ElementType() reflect.Type { + return reflect.TypeOf((**StorageDomainRoutingRule)(nil)).Elem() +} + +func (i *StorageDomainRoutingRule) ToStorageDomainRoutingRuleOutput() StorageDomainRoutingRuleOutput { + return i.ToStorageDomainRoutingRuleOutputWithContext(context.Background()) +} + +func (i *StorageDomainRoutingRule) ToStorageDomainRoutingRuleOutputWithContext(ctx context.Context) StorageDomainRoutingRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageDomainRoutingRuleOutput) +} + +// StorageDomainRoutingRuleArrayInput is an input type that accepts StorageDomainRoutingRuleArray and StorageDomainRoutingRuleArrayOutput values. +// You can construct a concrete instance of `StorageDomainRoutingRuleArrayInput` via: +// +// StorageDomainRoutingRuleArray{ StorageDomainRoutingRuleArgs{...} } +type StorageDomainRoutingRuleArrayInput interface { + pulumi.Input + + ToStorageDomainRoutingRuleArrayOutput() StorageDomainRoutingRuleArrayOutput + ToStorageDomainRoutingRuleArrayOutputWithContext(context.Context) StorageDomainRoutingRuleArrayOutput +} + +type StorageDomainRoutingRuleArray []StorageDomainRoutingRuleInput + +func (StorageDomainRoutingRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StorageDomainRoutingRule)(nil)).Elem() +} + +func (i StorageDomainRoutingRuleArray) ToStorageDomainRoutingRuleArrayOutput() StorageDomainRoutingRuleArrayOutput { + return i.ToStorageDomainRoutingRuleArrayOutputWithContext(context.Background()) +} + +func (i StorageDomainRoutingRuleArray) ToStorageDomainRoutingRuleArrayOutputWithContext(ctx context.Context) StorageDomainRoutingRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageDomainRoutingRuleArrayOutput) +} + +// StorageDomainRoutingRuleMapInput is an input type that accepts StorageDomainRoutingRuleMap and StorageDomainRoutingRuleMapOutput values. +// You can construct a concrete instance of `StorageDomainRoutingRuleMapInput` via: +// +// StorageDomainRoutingRuleMap{ "key": StorageDomainRoutingRuleArgs{...} } +type StorageDomainRoutingRuleMapInput interface { + pulumi.Input + + ToStorageDomainRoutingRuleMapOutput() StorageDomainRoutingRuleMapOutput + ToStorageDomainRoutingRuleMapOutputWithContext(context.Context) StorageDomainRoutingRuleMapOutput +} + +type StorageDomainRoutingRuleMap map[string]StorageDomainRoutingRuleInput + +func (StorageDomainRoutingRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StorageDomainRoutingRule)(nil)).Elem() +} + +func (i StorageDomainRoutingRuleMap) ToStorageDomainRoutingRuleMapOutput() StorageDomainRoutingRuleMapOutput { + return i.ToStorageDomainRoutingRuleMapOutputWithContext(context.Background()) +} + +func (i StorageDomainRoutingRuleMap) ToStorageDomainRoutingRuleMapOutputWithContext(ctx context.Context) StorageDomainRoutingRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StorageDomainRoutingRuleMapOutput) +} + +type StorageDomainRoutingRuleOutput struct{ *pulumi.OutputState } + +func (StorageDomainRoutingRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StorageDomainRoutingRule)(nil)).Elem() +} + +func (o StorageDomainRoutingRuleOutput) ToStorageDomainRoutingRuleOutput() StorageDomainRoutingRuleOutput { + return o +} + +func (o StorageDomainRoutingRuleOutput) ToStorageDomainRoutingRuleOutputWithContext(ctx context.Context) StorageDomainRoutingRuleOutput { + return o +} + +// The creation time of the resource. +func (o StorageDomainRoutingRuleOutput) CreateTime() pulumi.IntOutput { + return o.ApplyT(func(v *StorageDomainRoutingRule) pulumi.IntOutput { return v.CreateTime }).(pulumi.IntOutput) +} + +// The ID of the Container Registry Instance. +func (o StorageDomainRoutingRuleOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *StorageDomainRoutingRule) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Domain name routing entry See `routes` below. +func (o StorageDomainRoutingRuleOutput) Routes() StorageDomainRoutingRuleRouteArrayOutput { + return o.ApplyT(func(v *StorageDomainRoutingRule) StorageDomainRoutingRuleRouteArrayOutput { return v.Routes }).(StorageDomainRoutingRuleRouteArrayOutput) +} + +// The ID of the Rule. +func (o StorageDomainRoutingRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *StorageDomainRoutingRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +type StorageDomainRoutingRuleArrayOutput struct{ *pulumi.OutputState } + +func (StorageDomainRoutingRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StorageDomainRoutingRule)(nil)).Elem() +} + +func (o StorageDomainRoutingRuleArrayOutput) ToStorageDomainRoutingRuleArrayOutput() StorageDomainRoutingRuleArrayOutput { + return o +} + +func (o StorageDomainRoutingRuleArrayOutput) ToStorageDomainRoutingRuleArrayOutputWithContext(ctx context.Context) StorageDomainRoutingRuleArrayOutput { + return o +} + +func (o StorageDomainRoutingRuleArrayOutput) Index(i pulumi.IntInput) StorageDomainRoutingRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StorageDomainRoutingRule { + return vs[0].([]*StorageDomainRoutingRule)[vs[1].(int)] + }).(StorageDomainRoutingRuleOutput) +} + +type StorageDomainRoutingRuleMapOutput struct{ *pulumi.OutputState } + +func (StorageDomainRoutingRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StorageDomainRoutingRule)(nil)).Elem() +} + +func (o StorageDomainRoutingRuleMapOutput) ToStorageDomainRoutingRuleMapOutput() StorageDomainRoutingRuleMapOutput { + return o +} + +func (o StorageDomainRoutingRuleMapOutput) ToStorageDomainRoutingRuleMapOutputWithContext(ctx context.Context) StorageDomainRoutingRuleMapOutput { + return o +} + +func (o StorageDomainRoutingRuleMapOutput) MapIndex(k pulumi.StringInput) StorageDomainRoutingRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StorageDomainRoutingRule { + return vs[0].(map[string]*StorageDomainRoutingRule)[vs[1].(string)] + }).(StorageDomainRoutingRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*StorageDomainRoutingRuleInput)(nil)).Elem(), &StorageDomainRoutingRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageDomainRoutingRuleArrayInput)(nil)).Elem(), StorageDomainRoutingRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StorageDomainRoutingRuleMapInput)(nil)).Elem(), StorageDomainRoutingRuleMap{}) + pulumi.RegisterOutputType(StorageDomainRoutingRuleOutput{}) + pulumi.RegisterOutputType(StorageDomainRoutingRuleArrayOutput{}) + pulumi.RegisterOutputType(StorageDomainRoutingRuleMapOutput{}) +} diff --git a/sdk/go/alicloud/cr/vpcEndpointLinkedVpc.go b/sdk/go/alicloud/cr/vpcEndpointLinkedVpc.go index 1d04fe23ea..aab2e2b558 100644 --- a/sdk/go/alicloud/cr/vpcEndpointLinkedVpc.go +++ b/sdk/go/alicloud/cr/vpcEndpointLinkedVpc.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cs/autoscalingConfig.go b/sdk/go/alicloud/cs/autoscalingConfig.go index 90b47a52ff..d7cdca8dad 100644 --- a/sdk/go/alicloud/cs/autoscalingConfig.go +++ b/sdk/go/alicloud/cs/autoscalingConfig.go @@ -188,6 +188,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type AutoscalingConfig struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/cs/edgeKubernetes.go b/sdk/go/alicloud/cs/edgeKubernetes.go index e4d2b2cdb8..b24e25cb2c 100644 --- a/sdk/go/alicloud/cs/edgeKubernetes.go +++ b/sdk/go/alicloud/cs/edgeKubernetes.go @@ -216,6 +216,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/go/alicloud/cs/init.go b/sdk/go/alicloud/cs/init.go index 9a197c17df..15db5f33f3 100644 --- a/sdk/go/alicloud/cs/init.go +++ b/sdk/go/alicloud/cs/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &KubernetesAutoscaler{} case "alicloud:cs/kubernetesPermission:KubernetesPermission": r = &KubernetesPermission{} + case "alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance": + r = &KubernetesPolicyInstance{} case "alicloud:cs/managedKubernetes:ManagedKubernetes": r = &ManagedKubernetes{} case "alicloud:cs/nodePool:NodePool": @@ -104,6 +106,11 @@ func init() { "cs/kubernetesPermission", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "cs/kubernetesPolicyInstance", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "cs/managedKubernetes", diff --git a/sdk/go/alicloud/cs/kubernetes.go b/sdk/go/alicloud/cs/kubernetes.go index 163484c2f8..4e92350c9c 100644 --- a/sdk/go/alicloud/cs/kubernetes.go +++ b/sdk/go/alicloud/cs/kubernetes.go @@ -50,6 +50,8 @@ import ( // // ## Example Usage // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/go/alicloud/cs/kubernetesAddon.go b/sdk/go/alicloud/cs/kubernetesAddon.go index 66f8646bdb..38e16355f2 100644 --- a/sdk/go/alicloud/cs/kubernetesAddon.go +++ b/sdk/go/alicloud/cs/kubernetesAddon.go @@ -136,6 +136,8 @@ import ( // * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. // * If the addon does not exist in the cluster, it will be installed. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. diff --git a/sdk/go/alicloud/cs/kubernetesPermission.go b/sdk/go/alicloud/cs/kubernetesPermission.go index ababf29522..9829b833a8 100644 --- a/sdk/go/alicloud/cs/kubernetesPermission.go +++ b/sdk/go/alicloud/cs/kubernetesPermission.go @@ -24,6 +24,8 @@ import ( // > **NOTE:** Available since v1.122.0. // // ## Example Usage +// +// 📚 Need more examples? VIEW MORE EXAMPLES type KubernetesPermission struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/cs/kubernetesPolicyInstance.go b/sdk/go/alicloud/cs/kubernetesPolicyInstance.go new file mode 100644 index 0000000000..cb76d33d7d --- /dev/null +++ b/sdk/go/alicloud/cs/kubernetesPolicyInstance.go @@ -0,0 +1,311 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cs + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Container Service for Kubernetes (ACK) Policy Instance resource. +// +// For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example :: +// ``` +type KubernetesPolicyInstance struct { + pulumi.CustomResourceState + + // Policy Governance Implementation Actions + Action pulumi.StringPtrOutput `pulumi:"action"` + // Target cluster ID + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Rule Instance Name + InstanceName pulumi.StringOutput `pulumi:"instanceName"` + // Limits the namespace of the policy implementation. Empty indicates all namespaces. + Namespaces pulumi.StringArrayOutput `pulumi:"namespaces"` + // The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + Parameters pulumi.StringMapOutput `pulumi:"parameters"` + // Policy Name + PolicyName pulumi.StringOutput `pulumi:"policyName"` +} + +// NewKubernetesPolicyInstance registers a new resource with the given unique name, arguments, and options. +func NewKubernetesPolicyInstance(ctx *pulumi.Context, + name string, args *KubernetesPolicyInstanceArgs, opts ...pulumi.ResourceOption) (*KubernetesPolicyInstance, 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.PolicyName == nil { + return nil, errors.New("invalid value for required argument 'PolicyName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource KubernetesPolicyInstance + err := ctx.RegisterResource("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKubernetesPolicyInstance gets an existing KubernetesPolicyInstance 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 GetKubernetesPolicyInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KubernetesPolicyInstanceState, opts ...pulumi.ResourceOption) (*KubernetesPolicyInstance, error) { + var resource KubernetesPolicyInstance + err := ctx.ReadResource("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KubernetesPolicyInstance resources. +type kubernetesPolicyInstanceState struct { + // Policy Governance Implementation Actions + Action *string `pulumi:"action"` + // Target cluster ID + ClusterId *string `pulumi:"clusterId"` + // Rule Instance Name + InstanceName *string `pulumi:"instanceName"` + // Limits the namespace of the policy implementation. Empty indicates all namespaces. + Namespaces []string `pulumi:"namespaces"` + // The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + Parameters map[string]string `pulumi:"parameters"` + // Policy Name + PolicyName *string `pulumi:"policyName"` +} + +type KubernetesPolicyInstanceState struct { + // Policy Governance Implementation Actions + Action pulumi.StringPtrInput + // Target cluster ID + ClusterId pulumi.StringPtrInput + // Rule Instance Name + InstanceName pulumi.StringPtrInput + // Limits the namespace of the policy implementation. Empty indicates all namespaces. + Namespaces pulumi.StringArrayInput + // The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + Parameters pulumi.StringMapInput + // Policy Name + PolicyName pulumi.StringPtrInput +} + +func (KubernetesPolicyInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*kubernetesPolicyInstanceState)(nil)).Elem() +} + +type kubernetesPolicyInstanceArgs struct { + // Policy Governance Implementation Actions + Action *string `pulumi:"action"` + // Target cluster ID + ClusterId string `pulumi:"clusterId"` + // Limits the namespace of the policy implementation. Empty indicates all namespaces. + Namespaces []string `pulumi:"namespaces"` + // The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + Parameters map[string]string `pulumi:"parameters"` + // Policy Name + PolicyName string `pulumi:"policyName"` +} + +// The set of arguments for constructing a KubernetesPolicyInstance resource. +type KubernetesPolicyInstanceArgs struct { + // Policy Governance Implementation Actions + Action pulumi.StringPtrInput + // Target cluster ID + ClusterId pulumi.StringInput + // Limits the namespace of the policy implementation. Empty indicates all namespaces. + Namespaces pulumi.StringArrayInput + // The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + Parameters pulumi.StringMapInput + // Policy Name + PolicyName pulumi.StringInput +} + +func (KubernetesPolicyInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*kubernetesPolicyInstanceArgs)(nil)).Elem() +} + +type KubernetesPolicyInstanceInput interface { + pulumi.Input + + ToKubernetesPolicyInstanceOutput() KubernetesPolicyInstanceOutput + ToKubernetesPolicyInstanceOutputWithContext(ctx context.Context) KubernetesPolicyInstanceOutput +} + +func (*KubernetesPolicyInstance) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesPolicyInstance)(nil)).Elem() +} + +func (i *KubernetesPolicyInstance) ToKubernetesPolicyInstanceOutput() KubernetesPolicyInstanceOutput { + return i.ToKubernetesPolicyInstanceOutputWithContext(context.Background()) +} + +func (i *KubernetesPolicyInstance) ToKubernetesPolicyInstanceOutputWithContext(ctx context.Context) KubernetesPolicyInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesPolicyInstanceOutput) +} + +// KubernetesPolicyInstanceArrayInput is an input type that accepts KubernetesPolicyInstanceArray and KubernetesPolicyInstanceArrayOutput values. +// You can construct a concrete instance of `KubernetesPolicyInstanceArrayInput` via: +// +// KubernetesPolicyInstanceArray{ KubernetesPolicyInstanceArgs{...} } +type KubernetesPolicyInstanceArrayInput interface { + pulumi.Input + + ToKubernetesPolicyInstanceArrayOutput() KubernetesPolicyInstanceArrayOutput + ToKubernetesPolicyInstanceArrayOutputWithContext(context.Context) KubernetesPolicyInstanceArrayOutput +} + +type KubernetesPolicyInstanceArray []KubernetesPolicyInstanceInput + +func (KubernetesPolicyInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KubernetesPolicyInstance)(nil)).Elem() +} + +func (i KubernetesPolicyInstanceArray) ToKubernetesPolicyInstanceArrayOutput() KubernetesPolicyInstanceArrayOutput { + return i.ToKubernetesPolicyInstanceArrayOutputWithContext(context.Background()) +} + +func (i KubernetesPolicyInstanceArray) ToKubernetesPolicyInstanceArrayOutputWithContext(ctx context.Context) KubernetesPolicyInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesPolicyInstanceArrayOutput) +} + +// KubernetesPolicyInstanceMapInput is an input type that accepts KubernetesPolicyInstanceMap and KubernetesPolicyInstanceMapOutput values. +// You can construct a concrete instance of `KubernetesPolicyInstanceMapInput` via: +// +// KubernetesPolicyInstanceMap{ "key": KubernetesPolicyInstanceArgs{...} } +type KubernetesPolicyInstanceMapInput interface { + pulumi.Input + + ToKubernetesPolicyInstanceMapOutput() KubernetesPolicyInstanceMapOutput + ToKubernetesPolicyInstanceMapOutputWithContext(context.Context) KubernetesPolicyInstanceMapOutput +} + +type KubernetesPolicyInstanceMap map[string]KubernetesPolicyInstanceInput + +func (KubernetesPolicyInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KubernetesPolicyInstance)(nil)).Elem() +} + +func (i KubernetesPolicyInstanceMap) ToKubernetesPolicyInstanceMapOutput() KubernetesPolicyInstanceMapOutput { + return i.ToKubernetesPolicyInstanceMapOutputWithContext(context.Background()) +} + +func (i KubernetesPolicyInstanceMap) ToKubernetesPolicyInstanceMapOutputWithContext(ctx context.Context) KubernetesPolicyInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesPolicyInstanceMapOutput) +} + +type KubernetesPolicyInstanceOutput struct{ *pulumi.OutputState } + +func (KubernetesPolicyInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesPolicyInstance)(nil)).Elem() +} + +func (o KubernetesPolicyInstanceOutput) ToKubernetesPolicyInstanceOutput() KubernetesPolicyInstanceOutput { + return o +} + +func (o KubernetesPolicyInstanceOutput) ToKubernetesPolicyInstanceOutputWithContext(ctx context.Context) KubernetesPolicyInstanceOutput { + return o +} + +// Policy Governance Implementation Actions +func (o KubernetesPolicyInstanceOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringPtrOutput { return v.Action }).(pulumi.StringPtrOutput) +} + +// Target cluster ID +func (o KubernetesPolicyInstanceOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// Rule Instance Name +func (o KubernetesPolicyInstanceOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringOutput { return v.InstanceName }).(pulumi.StringOutput) +} + +// Limits the namespace of the policy implementation. Empty indicates all namespaces. +func (o KubernetesPolicyInstanceOutput) Namespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringArrayOutput { return v.Namespaces }).(pulumi.StringArrayOutput) +} + +// The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). +func (o KubernetesPolicyInstanceOutput) Parameters() pulumi.StringMapOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +} + +// Policy Name +func (o KubernetesPolicyInstanceOutput) PolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *KubernetesPolicyInstance) pulumi.StringOutput { return v.PolicyName }).(pulumi.StringOutput) +} + +type KubernetesPolicyInstanceArrayOutput struct{ *pulumi.OutputState } + +func (KubernetesPolicyInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KubernetesPolicyInstance)(nil)).Elem() +} + +func (o KubernetesPolicyInstanceArrayOutput) ToKubernetesPolicyInstanceArrayOutput() KubernetesPolicyInstanceArrayOutput { + return o +} + +func (o KubernetesPolicyInstanceArrayOutput) ToKubernetesPolicyInstanceArrayOutputWithContext(ctx context.Context) KubernetesPolicyInstanceArrayOutput { + return o +} + +func (o KubernetesPolicyInstanceArrayOutput) Index(i pulumi.IntInput) KubernetesPolicyInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KubernetesPolicyInstance { + return vs[0].([]*KubernetesPolicyInstance)[vs[1].(int)] + }).(KubernetesPolicyInstanceOutput) +} + +type KubernetesPolicyInstanceMapOutput struct{ *pulumi.OutputState } + +func (KubernetesPolicyInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KubernetesPolicyInstance)(nil)).Elem() +} + +func (o KubernetesPolicyInstanceMapOutput) ToKubernetesPolicyInstanceMapOutput() KubernetesPolicyInstanceMapOutput { + return o +} + +func (o KubernetesPolicyInstanceMapOutput) ToKubernetesPolicyInstanceMapOutputWithContext(ctx context.Context) KubernetesPolicyInstanceMapOutput { + return o +} + +func (o KubernetesPolicyInstanceMapOutput) MapIndex(k pulumi.StringInput) KubernetesPolicyInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KubernetesPolicyInstance { + return vs[0].(map[string]*KubernetesPolicyInstance)[vs[1].(string)] + }).(KubernetesPolicyInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KubernetesPolicyInstanceInput)(nil)).Elem(), &KubernetesPolicyInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*KubernetesPolicyInstanceArrayInput)(nil)).Elem(), KubernetesPolicyInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KubernetesPolicyInstanceMapInput)(nil)).Elem(), KubernetesPolicyInstanceMap{}) + pulumi.RegisterOutputType(KubernetesPolicyInstanceOutput{}) + pulumi.RegisterOutputType(KubernetesPolicyInstanceArrayOutput{}) + pulumi.RegisterOutputType(KubernetesPolicyInstanceMapOutput{}) +} diff --git a/sdk/go/alicloud/cs/managedKubernetes.go b/sdk/go/alicloud/cs/managedKubernetes.go index 63588b726f..59daffbd84 100644 --- a/sdk/go/alicloud/cs/managedKubernetes.go +++ b/sdk/go/alicloud/cs/managedKubernetes.go @@ -250,6 +250,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -306,7 +308,7 @@ type ManagedKubernetes struct { // Delete options, only work for deleting resource. Make sure you have run `pulumi up` to make the configuration applied. See `deleteOptions` below. DeleteOptions ManagedKubernetesDeleteOptionArrayOutput `pulumi:"deleteOptions"` // Whether to enable cluster deletion protection. - DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` + DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"` // Whether to enable cluster to support RRSA for kubernetes version 1.22.3+. Default to `false`. Once the RRSA function is turned on, it is not allowed to turn off. If your cluster has enabled this function, please manually modify your tf file and add the rrsa configuration to the file, learn more [RAM Roles for Service Accounts](https://www.alibabacloud.com/help/zh/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control). EnableRrsa pulumi.BoolPtrOutput `pulumi:"enableRrsa"` // The ID of the Key Management Service (KMS) key that is used to encrypt Kubernetes Secrets. @@ -1149,8 +1151,8 @@ func (o ManagedKubernetesOutput) DeleteOptions() ManagedKubernetesDeleteOptionAr } // Whether to enable cluster deletion protection. -func (o ManagedKubernetesOutput) DeletionProtection() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ManagedKubernetes) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) +func (o ManagedKubernetesOutput) DeletionProtection() pulumi.BoolOutput { + return o.ApplyT(func(v *ManagedKubernetes) pulumi.BoolOutput { return v.DeletionProtection }).(pulumi.BoolOutput) } // Whether to enable cluster to support RRSA for kubernetes version 1.22.3+. Default to `false`. Once the RRSA function is turned on, it is not allowed to turn off. If your cluster has enabled this function, please manually modify your tf file and add the rrsa configuration to the file, learn more [RAM Roles for Service Accounts](https://www.alibabacloud.com/help/zh/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control). diff --git a/sdk/go/alicloud/cs/nodePool.go b/sdk/go/alicloud/cs/nodePool.go index 69755b3a45..30976ec58a 100644 --- a/sdk/go/alicloud/cs/nodePool.go +++ b/sdk/go/alicloud/cs/nodePool.go @@ -12,337 +12,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// ## Example Usage -// -// # Basic Usage -// -// ```go -// package main -// -// import ( -// -// "fmt" -// -// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs" -// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs" -// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" -// "github.com/pulumi/pulumi-random/sdk/v4/go/random" -// "github.com/pulumi/pulumi-std/sdk/go/std" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{ -// Max: 99999, -// Min: 10000, -// }) -// if err != nil { -// return err -// } -// cfg := config.New(ctx, "") -// name := "terraform-example" -// if param := cfg.Get("name"); param != "" { -// name = param -// } -// enhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, &vpc.GetEnhancedNatAvailableZonesArgs{}, nil) -// if err != nil { -// return err -// } -// cloudEfficiency, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{ -// AvailabilityZone: pulumi.StringRef(enhanced.Zones[0].ZoneId), -// CpuCoreCount: pulumi.IntRef(4), -// MemorySize: pulumi.Float64Ref(8), -// KubernetesNodeRole: pulumi.StringRef("Worker"), -// SystemDiskCategory: pulumi.StringRef("cloud_efficiency"), -// }, nil) -// if err != nil { -// return err -// } -// defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ -// VpcName: pulumi.String(name), -// CidrBlock: pulumi.String("10.4.0.0/16"), -// }) -// if err != nil { -// return err -// } -// defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ -// VswitchName: pulumi.String(name), -// CidrBlock: pulumi.String("10.4.0.0/24"), -// VpcId: defaultNetwork.ID(), -// ZoneId: pulumi.String(enhanced.Zones[0].ZoneId), -// }) -// if err != nil { -// return err -// } -// invokeCidrsubnet, err := std.Cidrsubnet(ctx, &std.CidrsubnetArgs{ -// Input: "10.0.0.0/8", -// Newbits: 8, -// Netnum: 36, -// }, nil) -// if err != nil { -// return err -// } -// invokeCidrsubnet1, err := std.Cidrsubnet(ctx, &std.CidrsubnetArgs{ -// Input: "172.16.0.0/16", -// Newbits: 4, -// Netnum: 7, -// }, nil) -// if err != nil { -// return err -// } -// defaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, "default", &cs.ManagedKubernetesArgs{ -// NamePrefix: pulumi.Sprintf("terraform-example-%v", _default.Result), -// ClusterSpec: pulumi.String("ack.pro.small"), -// WorkerVswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// NewNatGateway: pulumi.Bool(true), -// PodCidr: pulumi.String(invokeCidrsubnet.Result), -// ServiceCidr: pulumi.String(invokeCidrsubnet1.Result), -// SlbInternetEnabled: pulumi.Bool(true), -// EnableRrsa: pulumi.Bool(true), -// }) -// if err != nil { -// return err -// } -// defaultKeyPair, err := ecs.NewKeyPair(ctx, "default", &ecs.KeyPairArgs{ -// KeyPairName: pulumi.Sprintf("terraform-example-%v", _default.Result), -// }) -// if err != nil { -// return err -// } -// _, err = cs.NewNodePool(ctx, "default", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String(name), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// Labels: cs.NodePoolLabelArray{ -// &cs.NodePoolLabelArgs{ -// Key: pulumi.String("test1"), -// Value: pulumi.String("nodepool"), -// }, -// &cs.NodePoolLabelArgs{ -// Key: pulumi.String("test2"), -// Value: pulumi.String("nodepool"), -// }, -// }, -// Taints: cs.NodePoolTaintArray{ -// &cs.NodePoolTaintArgs{ -// Key: pulumi.String("tf"), -// Effect: pulumi.String("NoSchedule"), -// Value: pulumi.String("example"), -// }, -// &cs.NodePoolTaintArgs{ -// Key: pulumi.String("tf2"), -// Effect: pulumi.String("NoSchedule"), -// Value: pulumi.String("example2"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows. -// _, err = cs.NewNodePool(ctx, "desired_size", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("desired_size"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// DesiredSize: pulumi.String("0"), -// }) -// if err != nil { -// return err -// } -// // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`. -// _, err = cs.NewNodePool(ctx, "maintenance", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("maintenance"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// DesiredSize: pulumi.String("1"), -// Management: &cs.NodePoolManagementArgs{ -// Enable: pulumi.Bool(true), -// AutoRepair: pulumi.Bool(true), -// AutoRepairPolicy: &cs.NodePoolManagementAutoRepairPolicyArgs{ -// RestartNode: pulumi.Bool(true), -// }, -// AutoUpgrade: pulumi.Bool(true), -// AutoUpgradePolicy: &cs.NodePoolManagementAutoUpgradePolicyArgs{ -// AutoUpgradeKubelet: pulumi.Bool(true), -// }, -// AutoVulFix: pulumi.Bool(true), -// AutoVulFixPolicy: &cs.NodePoolManagementAutoVulFixPolicyArgs{ -// VulLevel: pulumi.String("asap"), -// RestartNode: pulumi.Bool(true), -// }, -// MaxUnavailable: pulumi.Int(1), -// }, -// }) -// if err != nil { -// return err -// } -// // Create a node pool with spot instance. -// _, err = cs.NewNodePool(ctx, "spot_instance", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("spot_instance"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// pulumi.String(cloudEfficiency.InstanceTypes[1].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// DesiredSize: pulumi.String("1"), -// SpotStrategy: pulumi.String("SpotWithPriceLimit"), -// SpotPriceLimits: cs.NodePoolSpotPriceLimitArray{ -// &cs.NodePoolSpotPriceLimitArgs{ -// InstanceType: pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// PriceLimit: pulumi.String("0.70"), -// }, -// &cs.NodePoolSpotPriceLimitArgs{ -// InstanceType: pulumi.String(cloudEfficiency.InstanceTypes[1].Id), -// PriceLimit: pulumi.String("0.72"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Use Spot instances to create a node pool with auto-scaling enabled -// _, err = cs.NewNodePool(ctx, "spot_auto_scaling", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("spot_auto_scaling"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// ScalingConfig: &cs.NodePoolScalingConfigArgs{ -// MinSize: pulumi.Int(1), -// MaxSize: pulumi.Int(10), -// Type: pulumi.String("spot"), -// }, -// SpotStrategy: pulumi.String("SpotWithPriceLimit"), -// SpotPriceLimits: cs.NodePoolSpotPriceLimitArray{ -// &cs.NodePoolSpotPriceLimitArgs{ -// InstanceType: pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// PriceLimit: pulumi.String("0.70"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Create a `PrePaid` node pool. -// _, err = cs.NewNodePool(ctx, "prepaid_node", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("prepaid_node"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// KeyName: defaultKeyPair.KeyPairName, -// InstanceChargeType: pulumi.String("PrePaid"), -// Period: pulumi.Int(1), -// PeriodUnit: pulumi.String("Month"), -// AutoRenew: pulumi.Bool(true), -// AutoRenewPeriod: pulumi.Int(1), -// InstallCloudMonitor: pulumi.Bool(true), -// }) -// if err != nil { -// return err -// } -// // #Create a node pool with customized kubelet parameters -// _, err = cs.NewNodePool(ctx, "customized_kubelet", &cs.NodePoolArgs{ -// NodePoolName: pulumi.String("customized_kubelet"), -// ClusterId: defaultManagedKubernetes.ID(), -// VswitchIds: pulumi.StringArray{ -// defaultSwitch.ID(), -// }, -// InstanceTypes: pulumi.StringArray{ -// pulumi.String(cloudEfficiency.InstanceTypes[0].Id), -// }, -// SystemDiskCategory: pulumi.String("cloud_efficiency"), -// SystemDiskSize: pulumi.Int(40), -// InstanceChargeType: pulumi.String("PostPaid"), -// DesiredSize: pulumi.String("0"), -// KubeletConfiguration: &cs.NodePoolKubeletConfigurationArgs{ -// RegistryPullQps: pulumi.String("10"), -// RegistryBurst: pulumi.String("5"), -// EventRecordQps: pulumi.String("10"), -// EventBurst: pulumi.String("5"), -// SerializeImagePulls: pulumi.String("true"), -// EvictionHard: pulumi.StringMap{ -// "memory.available": pulumi.String("1024Mi"), -// "nodefs.available": pulumi.String("10%"), -// "nodefs.inodesFree": pulumi.String("5%"), -// "imagefs.available": pulumi.String("10%"), -// }, -// SystemReserved: pulumi.StringMap{ -// "cpu": pulumi.String("1"), -// "memory": pulumi.String("1Gi"), -// "ephemeral-storage": pulumi.String("10Gi"), -// }, -// KubeReserved: pulumi.StringMap{ -// "cpu": pulumi.String("500m"), -// "memory": pulumi.String("1Gi"), -// }, -// ContainerLogMaxSize: pulumi.String("200Mi"), -// ContainerLogMaxFiles: pulumi.String("3"), -// MaxPods: pulumi.String("100"), -// ReadOnlyPort: pulumi.String("0"), -// AllowedUnsafeSysctls: pulumi.StringArray{ -// pulumi.String("net.ipv4.route.min_pmtu"), -// }, -// }, -// RollingPolicy: &cs.NodePoolRollingPolicyArgs{ -// MaxParallelism: pulumi.Int(1), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -353,6 +22,8 @@ import ( type NodePool struct { pulumi.CustomResourceState + // Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + AutoMode NodePoolAutoModeOutput `pulumi:"autoMode"` // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"` // The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. @@ -374,8 +45,12 @@ type NodePool struct { // Number of expected nodes in the node pool. DesiredSize pulumi.StringPtrOutput `pulumi:"desiredSize"` // Lingjun node pool configuration. See `efloNodeGroup` below. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. EfloNodeGroup NodePoolEfloNodeGroupPtrOutput `pulumi:"efloNodeGroup"` // Whether to force deletion. + // + // > **NOTE:** This parameter only takes effect when deletion is triggered. ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` // After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. FormatDisk pulumi.BoolOutput `pulumi:"formatDisk"` @@ -392,12 +67,17 @@ type NodePool struct { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - // - `Custom`: Custom image. + // - `Custom`:Custom image. + // - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. ImageType pulumi.StringOutput `pulumi:"imageType"` // Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: InstallCloudMonitor pulumi.BoolPtrOutput `pulumi:"installCloudMonitor"` // Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"` + // ECS instance metadata access configuration. See `instanceMetadataOptions` below. + InstanceMetadataOptions NodePoolInstanceMetadataOptionsOutput `pulumi:"instanceMetadataOptions"` + // Instance property configuration. See `instancePatterns` below. + InstancePatterns NodePoolInstancePatternArrayOutput `pulumi:"instancePatterns"` // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. InstanceTypes pulumi.StringArrayOutput `pulumi:"instanceTypes"` // The instance list. Add existing nodes under the same cluster VPC to the node pool. @@ -468,9 +148,8 @@ type NodePool struct { // The list of RDS instances. RdsInstances pulumi.StringArrayOutput `pulumi:"rdsInstances"` // The ID of the resource group - ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` - // Rotary configuration. See `rollingPolicy` below. - RollingPolicy NodePoolRollingPolicyPtrOutput `pulumi:"rollingPolicy"` + ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` + RollingPolicy NodePoolRollingPolicyPtrOutput `pulumi:"rollingPolicy"` // The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). RuntimeName pulumi.StringOutput `pulumi:"runtimeName"` // The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. @@ -544,8 +223,7 @@ type NodePool struct { Type pulumi.StringOutput `pulumi:"type"` // Whether the node after expansion can be scheduled. Unschedulable pulumi.BoolPtrOutput `pulumi:"unschedulable"` - // Synchronously update node labels and taints. - UpdateNodes pulumi.BoolPtrOutput `pulumi:"updateNodes"` + UpdateNodes pulumi.BoolPtrOutput `pulumi:"updateNodes"` // Node custom data, base64-encoded. UserData pulumi.StringPtrOutput `pulumi:"userData"` // The vswitches used by node pool workers. @@ -596,6 +274,8 @@ func GetNodePool(ctx *pulumi.Context, // Input properties used for looking up and filtering NodePool resources. type nodePoolState struct { + // Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + AutoMode *NodePoolAutoMode `pulumi:"autoMode"` // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: AutoRenew *bool `pulumi:"autoRenew"` // The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. @@ -617,8 +297,12 @@ type nodePoolState struct { // Number of expected nodes in the node pool. DesiredSize *string `pulumi:"desiredSize"` // Lingjun node pool configuration. See `efloNodeGroup` below. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. EfloNodeGroup *NodePoolEfloNodeGroup `pulumi:"efloNodeGroup"` // Whether to force deletion. + // + // > **NOTE:** This parameter only takes effect when deletion is triggered. ForceDelete *bool `pulumi:"forceDelete"` // After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. FormatDisk *bool `pulumi:"formatDisk"` @@ -635,12 +319,17 @@ type nodePoolState struct { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - // - `Custom`: Custom image. + // - `Custom`:Custom image. + // - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. ImageType *string `pulumi:"imageType"` // Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: InstallCloudMonitor *bool `pulumi:"installCloudMonitor"` // Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. InstanceChargeType *string `pulumi:"instanceChargeType"` + // ECS instance metadata access configuration. See `instanceMetadataOptions` below. + InstanceMetadataOptions *NodePoolInstanceMetadataOptions `pulumi:"instanceMetadataOptions"` + // Instance property configuration. See `instancePatterns` below. + InstancePatterns []NodePoolInstancePattern `pulumi:"instancePatterns"` // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. InstanceTypes []string `pulumi:"instanceTypes"` // The instance list. Add existing nodes under the same cluster VPC to the node pool. @@ -711,9 +400,8 @@ type nodePoolState struct { // The list of RDS instances. RdsInstances []string `pulumi:"rdsInstances"` // The ID of the resource group - ResourceGroupId *string `pulumi:"resourceGroupId"` - // Rotary configuration. See `rollingPolicy` below. - RollingPolicy *NodePoolRollingPolicy `pulumi:"rollingPolicy"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + RollingPolicy *NodePoolRollingPolicy `pulumi:"rollingPolicy"` // The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). RuntimeName *string `pulumi:"runtimeName"` // The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. @@ -787,8 +475,7 @@ type nodePoolState struct { Type *string `pulumi:"type"` // Whether the node after expansion can be scheduled. Unschedulable *bool `pulumi:"unschedulable"` - // Synchronously update node labels and taints. - UpdateNodes *bool `pulumi:"updateNodes"` + UpdateNodes *bool `pulumi:"updateNodes"` // Node custom data, base64-encoded. UserData *string `pulumi:"userData"` // The vswitches used by node pool workers. @@ -796,6 +483,8 @@ type nodePoolState struct { } type NodePoolState struct { + // Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + AutoMode NodePoolAutoModePtrInput // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: AutoRenew pulumi.BoolPtrInput // The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. @@ -817,8 +506,12 @@ type NodePoolState struct { // Number of expected nodes in the node pool. DesiredSize pulumi.StringPtrInput // Lingjun node pool configuration. See `efloNodeGroup` below. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. EfloNodeGroup NodePoolEfloNodeGroupPtrInput // Whether to force deletion. + // + // > **NOTE:** This parameter only takes effect when deletion is triggered. ForceDelete pulumi.BoolPtrInput // After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. FormatDisk pulumi.BoolPtrInput @@ -835,12 +528,17 @@ type NodePoolState struct { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - // - `Custom`: Custom image. + // - `Custom`:Custom image. + // - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. ImageType pulumi.StringPtrInput // Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: InstallCloudMonitor pulumi.BoolPtrInput // Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. InstanceChargeType pulumi.StringPtrInput + // ECS instance metadata access configuration. See `instanceMetadataOptions` below. + InstanceMetadataOptions NodePoolInstanceMetadataOptionsPtrInput + // Instance property configuration. See `instancePatterns` below. + InstancePatterns NodePoolInstancePatternArrayInput // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. InstanceTypes pulumi.StringArrayInput // The instance list. Add existing nodes under the same cluster VPC to the node pool. @@ -912,8 +610,7 @@ type NodePoolState struct { RdsInstances pulumi.StringArrayInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput - // Rotary configuration. See `rollingPolicy` below. - RollingPolicy NodePoolRollingPolicyPtrInput + RollingPolicy NodePoolRollingPolicyPtrInput // The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). RuntimeName pulumi.StringPtrInput // The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. @@ -987,8 +684,7 @@ type NodePoolState struct { Type pulumi.StringPtrInput // Whether the node after expansion can be scheduled. Unschedulable pulumi.BoolPtrInput - // Synchronously update node labels and taints. - UpdateNodes pulumi.BoolPtrInput + UpdateNodes pulumi.BoolPtrInput // Node custom data, base64-encoded. UserData pulumi.StringPtrInput // The vswitches used by node pool workers. @@ -1000,6 +696,8 @@ func (NodePoolState) ElementType() reflect.Type { } type nodePoolArgs struct { + // Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + AutoMode *NodePoolAutoMode `pulumi:"autoMode"` // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: AutoRenew *bool `pulumi:"autoRenew"` // The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. @@ -1021,8 +719,12 @@ type nodePoolArgs struct { // Number of expected nodes in the node pool. DesiredSize *string `pulumi:"desiredSize"` // Lingjun node pool configuration. See `efloNodeGroup` below. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. EfloNodeGroup *NodePoolEfloNodeGroup `pulumi:"efloNodeGroup"` // Whether to force deletion. + // + // > **NOTE:** This parameter only takes effect when deletion is triggered. ForceDelete *bool `pulumi:"forceDelete"` // After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. FormatDisk *bool `pulumi:"formatDisk"` @@ -1039,12 +741,17 @@ type nodePoolArgs struct { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - // - `Custom`: Custom image. + // - `Custom`:Custom image. + // - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. ImageType *string `pulumi:"imageType"` // Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: InstallCloudMonitor *bool `pulumi:"installCloudMonitor"` // Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. InstanceChargeType *string `pulumi:"instanceChargeType"` + // ECS instance metadata access configuration. See `instanceMetadataOptions` below. + InstanceMetadataOptions *NodePoolInstanceMetadataOptions `pulumi:"instanceMetadataOptions"` + // Instance property configuration. See `instancePatterns` below. + InstancePatterns []NodePoolInstancePattern `pulumi:"instancePatterns"` // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. InstanceTypes []string `pulumi:"instanceTypes"` // The instance list. Add existing nodes under the same cluster VPC to the node pool. @@ -1113,9 +820,8 @@ type nodePoolArgs struct { // The list of RDS instances. RdsInstances []string `pulumi:"rdsInstances"` // The ID of the resource group - ResourceGroupId *string `pulumi:"resourceGroupId"` - // Rotary configuration. See `rollingPolicy` below. - RollingPolicy *NodePoolRollingPolicy `pulumi:"rollingPolicy"` + ResourceGroupId *string `pulumi:"resourceGroupId"` + RollingPolicy *NodePoolRollingPolicy `pulumi:"rollingPolicy"` // The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). RuntimeName *string `pulumi:"runtimeName"` // The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. @@ -1187,8 +893,7 @@ type nodePoolArgs struct { Type *string `pulumi:"type"` // Whether the node after expansion can be scheduled. Unschedulable *bool `pulumi:"unschedulable"` - // Synchronously update node labels and taints. - UpdateNodes *bool `pulumi:"updateNodes"` + UpdateNodes *bool `pulumi:"updateNodes"` // Node custom data, base64-encoded. UserData *string `pulumi:"userData"` // The vswitches used by node pool workers. @@ -1197,6 +902,8 @@ type nodePoolArgs struct { // The set of arguments for constructing a NodePool resource. type NodePoolArgs struct { + // Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + AutoMode NodePoolAutoModePtrInput // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: AutoRenew pulumi.BoolPtrInput // The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. @@ -1218,8 +925,12 @@ type NodePoolArgs struct { // Number of expected nodes in the node pool. DesiredSize pulumi.StringPtrInput // Lingjun node pool configuration. See `efloNodeGroup` below. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. EfloNodeGroup NodePoolEfloNodeGroupPtrInput // Whether to force deletion. + // + // > **NOTE:** This parameter only takes effect when deletion is triggered. ForceDelete pulumi.BoolPtrInput // After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. FormatDisk pulumi.BoolPtrInput @@ -1236,12 +947,17 @@ type NodePoolArgs struct { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - // - `Custom`: Custom image. + // - `Custom`:Custom image. + // - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. ImageType pulumi.StringPtrInput // Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: InstallCloudMonitor pulumi.BoolPtrInput // Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. InstanceChargeType pulumi.StringPtrInput + // ECS instance metadata access configuration. See `instanceMetadataOptions` below. + InstanceMetadataOptions NodePoolInstanceMetadataOptionsPtrInput + // Instance property configuration. See `instancePatterns` below. + InstancePatterns NodePoolInstancePatternArrayInput // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. InstanceTypes pulumi.StringArrayInput // The instance list. Add existing nodes under the same cluster VPC to the node pool. @@ -1311,8 +1027,7 @@ type NodePoolArgs struct { RdsInstances pulumi.StringArrayInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput - // Rotary configuration. See `rollingPolicy` below. - RollingPolicy NodePoolRollingPolicyPtrInput + RollingPolicy NodePoolRollingPolicyPtrInput // The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). RuntimeName pulumi.StringPtrInput // The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. @@ -1384,8 +1099,7 @@ type NodePoolArgs struct { Type pulumi.StringPtrInput // Whether the node after expansion can be scheduled. Unschedulable pulumi.BoolPtrInput - // Synchronously update node labels and taints. - UpdateNodes pulumi.BoolPtrInput + UpdateNodes pulumi.BoolPtrInput // Node custom data, base64-encoded. UserData pulumi.StringPtrInput // The vswitches used by node pool workers. @@ -1479,6 +1193,11 @@ func (o NodePoolOutput) ToNodePoolOutputWithContext(ctx context.Context) NodePoo return o } +// Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. +func (o NodePoolOutput) AutoMode() NodePoolAutoModeOutput { + return o.ApplyT(func(v *NodePool) NodePoolAutoModeOutput { return v.AutoMode }).(NodePoolAutoModeOutput) +} + // Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: func (o NodePoolOutput) AutoRenew() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NodePool) pulumi.BoolPtrOutput { return v.AutoRenew }).(pulumi.BoolPtrOutput) @@ -1527,11 +1246,15 @@ func (o NodePoolOutput) DesiredSize() pulumi.StringPtrOutput { } // Lingjun node pool configuration. See `efloNodeGroup` below. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodePoolOutput) EfloNodeGroup() NodePoolEfloNodeGroupPtrOutput { return o.ApplyT(func(v *NodePool) NodePoolEfloNodeGroupPtrOutput { return v.EfloNodeGroup }).(NodePoolEfloNodeGroupPtrOutput) } // Whether to force deletion. +// +// > **NOTE:** This parameter only takes effect when deletion is triggered. func (o NodePoolOutput) ForceDelete() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NodePool) pulumi.BoolPtrOutput { return v.ForceDelete }).(pulumi.BoolPtrOutput) } @@ -1557,7 +1280,8 @@ func (o NodePoolOutput) ImageId() pulumi.StringOutput { // - `ContainerOS` : container-optimized image. // - `Ubuntu`: Ubuntu image. // - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. -// - `Custom`: Custom image. +// - `Custom`:Custom image. +// - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. func (o NodePoolOutput) ImageType() pulumi.StringOutput { return o.ApplyT(func(v *NodePool) pulumi.StringOutput { return v.ImageType }).(pulumi.StringOutput) } @@ -1572,6 +1296,16 @@ func (o NodePoolOutput) InstanceChargeType() pulumi.StringOutput { return o.ApplyT(func(v *NodePool) pulumi.StringOutput { return v.InstanceChargeType }).(pulumi.StringOutput) } +// ECS instance metadata access configuration. See `instanceMetadataOptions` below. +func (o NodePoolOutput) InstanceMetadataOptions() NodePoolInstanceMetadataOptionsOutput { + return o.ApplyT(func(v *NodePool) NodePoolInstanceMetadataOptionsOutput { return v.InstanceMetadataOptions }).(NodePoolInstanceMetadataOptionsOutput) +} + +// Instance property configuration. See `instancePatterns` below. +func (o NodePoolOutput) InstancePatterns() NodePoolInstancePatternArrayOutput { + return o.ApplyT(func(v *NodePool) NodePoolInstancePatternArrayOutput { return v.InstancePatterns }).(NodePoolInstancePatternArrayOutput) +} + // In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. func (o NodePoolOutput) InstanceTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v *NodePool) pulumi.StringArrayOutput { return v.InstanceTypes }).(pulumi.StringArrayOutput) @@ -1730,7 +1464,6 @@ func (o NodePoolOutput) ResourceGroupId() pulumi.StringOutput { return o.ApplyT(func(v *NodePool) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) } -// Rotary configuration. See `rollingPolicy` below. func (o NodePoolOutput) RollingPolicy() NodePoolRollingPolicyPtrOutput { return o.ApplyT(func(v *NodePool) NodePoolRollingPolicyPtrOutput { return v.RollingPolicy }).(NodePoolRollingPolicyPtrOutput) } @@ -1892,7 +1625,6 @@ func (o NodePoolOutput) Unschedulable() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NodePool) pulumi.BoolPtrOutput { return v.Unschedulable }).(pulumi.BoolPtrOutput) } -// Synchronously update node labels and taints. func (o NodePoolOutput) UpdateNodes() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NodePool) pulumi.BoolPtrOutput { return v.UpdateNodes }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/alicloud/cs/pulumiTypes.go b/sdk/go/alicloud/cs/pulumiTypes.go index 0e70f9175b..30d1456007 100644 --- a/sdk/go/alicloud/cs/pulumiTypes.go +++ b/sdk/go/alicloud/cs/pulumiTypes.go @@ -4138,6 +4138,143 @@ func (o ManagedKubernetesRrsaMetadataPtrOutput) RrsaOidcIssuerUrl() pulumi.Strin }).(pulumi.StringPtrOutput) } +type NodePoolAutoMode struct { + // Whether to enable auto mode. Valid values: + Enabled *bool `pulumi:"enabled"` +} + +// NodePoolAutoModeInput is an input type that accepts NodePoolAutoModeArgs and NodePoolAutoModeOutput values. +// You can construct a concrete instance of `NodePoolAutoModeInput` via: +// +// NodePoolAutoModeArgs{...} +type NodePoolAutoModeInput interface { + pulumi.Input + + ToNodePoolAutoModeOutput() NodePoolAutoModeOutput + ToNodePoolAutoModeOutputWithContext(context.Context) NodePoolAutoModeOutput +} + +type NodePoolAutoModeArgs struct { + // Whether to enable auto mode. Valid values: + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (NodePoolAutoModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoMode)(nil)).Elem() +} + +func (i NodePoolAutoModeArgs) ToNodePoolAutoModeOutput() NodePoolAutoModeOutput { + return i.ToNodePoolAutoModeOutputWithContext(context.Background()) +} + +func (i NodePoolAutoModeArgs) ToNodePoolAutoModeOutputWithContext(ctx context.Context) NodePoolAutoModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoModeOutput) +} + +func (i NodePoolAutoModeArgs) ToNodePoolAutoModePtrOutput() NodePoolAutoModePtrOutput { + return i.ToNodePoolAutoModePtrOutputWithContext(context.Background()) +} + +func (i NodePoolAutoModeArgs) ToNodePoolAutoModePtrOutputWithContext(ctx context.Context) NodePoolAutoModePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoModeOutput).ToNodePoolAutoModePtrOutputWithContext(ctx) +} + +// NodePoolAutoModePtrInput is an input type that accepts NodePoolAutoModeArgs, NodePoolAutoModePtr and NodePoolAutoModePtrOutput values. +// You can construct a concrete instance of `NodePoolAutoModePtrInput` via: +// +// NodePoolAutoModeArgs{...} +// +// or: +// +// nil +type NodePoolAutoModePtrInput interface { + pulumi.Input + + ToNodePoolAutoModePtrOutput() NodePoolAutoModePtrOutput + ToNodePoolAutoModePtrOutputWithContext(context.Context) NodePoolAutoModePtrOutput +} + +type nodePoolAutoModePtrType NodePoolAutoModeArgs + +func NodePoolAutoModePtr(v *NodePoolAutoModeArgs) NodePoolAutoModePtrInput { + return (*nodePoolAutoModePtrType)(v) +} + +func (*nodePoolAutoModePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolAutoMode)(nil)).Elem() +} + +func (i *nodePoolAutoModePtrType) ToNodePoolAutoModePtrOutput() NodePoolAutoModePtrOutput { + return i.ToNodePoolAutoModePtrOutputWithContext(context.Background()) +} + +func (i *nodePoolAutoModePtrType) ToNodePoolAutoModePtrOutputWithContext(ctx context.Context) NodePoolAutoModePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoModePtrOutput) +} + +type NodePoolAutoModeOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoMode)(nil)).Elem() +} + +func (o NodePoolAutoModeOutput) ToNodePoolAutoModeOutput() NodePoolAutoModeOutput { + return o +} + +func (o NodePoolAutoModeOutput) ToNodePoolAutoModeOutputWithContext(ctx context.Context) NodePoolAutoModeOutput { + return o +} + +func (o NodePoolAutoModeOutput) ToNodePoolAutoModePtrOutput() NodePoolAutoModePtrOutput { + return o.ToNodePoolAutoModePtrOutputWithContext(context.Background()) +} + +func (o NodePoolAutoModeOutput) ToNodePoolAutoModePtrOutputWithContext(ctx context.Context) NodePoolAutoModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolAutoMode) *NodePoolAutoMode { + return &v + }).(NodePoolAutoModePtrOutput) +} + +// Whether to enable auto mode. Valid values: +func (o NodePoolAutoModeOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoMode) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type NodePoolAutoModePtrOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolAutoMode)(nil)).Elem() +} + +func (o NodePoolAutoModePtrOutput) ToNodePoolAutoModePtrOutput() NodePoolAutoModePtrOutput { + return o +} + +func (o NodePoolAutoModePtrOutput) ToNodePoolAutoModePtrOutputWithContext(ctx context.Context) NodePoolAutoModePtrOutput { + return o +} + +func (o NodePoolAutoModePtrOutput) Elem() NodePoolAutoModeOutput { + return o.ApplyT(func(v *NodePoolAutoMode) NodePoolAutoMode { + if v != nil { + return *v + } + var ret NodePoolAutoMode + return ret + }).(NodePoolAutoModeOutput) +} + +// Whether to enable auto mode. Valid values: +func (o NodePoolAutoModePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolAutoMode) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + type NodePoolDataDisk struct { // Whether to automatically mount the data disk. Valid values: true and false. AutoFormat *string `pulumi:"autoFormat"` @@ -4508,6 +4645,406 @@ func (o NodePoolEfloNodeGroupPtrOutput) GroupId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type NodePoolInstanceMetadataOptions struct { + // ECS instance metadata access mode configuration. Value range: + // + // - 'optional': Compatible with both normal mode and reinforced mode. + // - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + // + // Default value: 'optional '. + // + // This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + HttpTokens *string `pulumi:"httpTokens"` +} + +// NodePoolInstanceMetadataOptionsInput is an input type that accepts NodePoolInstanceMetadataOptionsArgs and NodePoolInstanceMetadataOptionsOutput values. +// You can construct a concrete instance of `NodePoolInstanceMetadataOptionsInput` via: +// +// NodePoolInstanceMetadataOptionsArgs{...} +type NodePoolInstanceMetadataOptionsInput interface { + pulumi.Input + + ToNodePoolInstanceMetadataOptionsOutput() NodePoolInstanceMetadataOptionsOutput + ToNodePoolInstanceMetadataOptionsOutputWithContext(context.Context) NodePoolInstanceMetadataOptionsOutput +} + +type NodePoolInstanceMetadataOptionsArgs struct { + // ECS instance metadata access mode configuration. Value range: + // + // - 'optional': Compatible with both normal mode and reinforced mode. + // - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + // + // Default value: 'optional '. + // + // This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` +} + +func (NodePoolInstanceMetadataOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolInstanceMetadataOptions)(nil)).Elem() +} + +func (i NodePoolInstanceMetadataOptionsArgs) ToNodePoolInstanceMetadataOptionsOutput() NodePoolInstanceMetadataOptionsOutput { + return i.ToNodePoolInstanceMetadataOptionsOutputWithContext(context.Background()) +} + +func (i NodePoolInstanceMetadataOptionsArgs) ToNodePoolInstanceMetadataOptionsOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolInstanceMetadataOptionsOutput) +} + +func (i NodePoolInstanceMetadataOptionsArgs) ToNodePoolInstanceMetadataOptionsPtrOutput() NodePoolInstanceMetadataOptionsPtrOutput { + return i.ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +} + +func (i NodePoolInstanceMetadataOptionsArgs) ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolInstanceMetadataOptionsOutput).ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(ctx) +} + +// NodePoolInstanceMetadataOptionsPtrInput is an input type that accepts NodePoolInstanceMetadataOptionsArgs, NodePoolInstanceMetadataOptionsPtr and NodePoolInstanceMetadataOptionsPtrOutput values. +// You can construct a concrete instance of `NodePoolInstanceMetadataOptionsPtrInput` via: +// +// NodePoolInstanceMetadataOptionsArgs{...} +// +// or: +// +// nil +type NodePoolInstanceMetadataOptionsPtrInput interface { + pulumi.Input + + ToNodePoolInstanceMetadataOptionsPtrOutput() NodePoolInstanceMetadataOptionsPtrOutput + ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(context.Context) NodePoolInstanceMetadataOptionsPtrOutput +} + +type nodePoolInstanceMetadataOptionsPtrType NodePoolInstanceMetadataOptionsArgs + +func NodePoolInstanceMetadataOptionsPtr(v *NodePoolInstanceMetadataOptionsArgs) NodePoolInstanceMetadataOptionsPtrInput { + return (*nodePoolInstanceMetadataOptionsPtrType)(v) +} + +func (*nodePoolInstanceMetadataOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolInstanceMetadataOptions)(nil)).Elem() +} + +func (i *nodePoolInstanceMetadataOptionsPtrType) ToNodePoolInstanceMetadataOptionsPtrOutput() NodePoolInstanceMetadataOptionsPtrOutput { + return i.ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +} + +func (i *nodePoolInstanceMetadataOptionsPtrType) ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolInstanceMetadataOptionsPtrOutput) +} + +type NodePoolInstanceMetadataOptionsOutput struct{ *pulumi.OutputState } + +func (NodePoolInstanceMetadataOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolInstanceMetadataOptions)(nil)).Elem() +} + +func (o NodePoolInstanceMetadataOptionsOutput) ToNodePoolInstanceMetadataOptionsOutput() NodePoolInstanceMetadataOptionsOutput { + return o +} + +func (o NodePoolInstanceMetadataOptionsOutput) ToNodePoolInstanceMetadataOptionsOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsOutput { + return o +} + +func (o NodePoolInstanceMetadataOptionsOutput) ToNodePoolInstanceMetadataOptionsPtrOutput() NodePoolInstanceMetadataOptionsPtrOutput { + return o.ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +} + +func (o NodePoolInstanceMetadataOptionsOutput) ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolInstanceMetadataOptions) *NodePoolInstanceMetadataOptions { + return &v + }).(NodePoolInstanceMetadataOptionsPtrOutput) +} + +// ECS instance metadata access mode configuration. Value range: +// +// - 'optional': Compatible with both normal mode and reinforced mode. +// - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). +// +// Default value: 'optional '. +// +// This parameter is only supported for ACK-managed clusters of 1.28 or later versions. +func (o NodePoolInstanceMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolInstanceMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +} + +type NodePoolInstanceMetadataOptionsPtrOutput struct{ *pulumi.OutputState } + +func (NodePoolInstanceMetadataOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolInstanceMetadataOptions)(nil)).Elem() +} + +func (o NodePoolInstanceMetadataOptionsPtrOutput) ToNodePoolInstanceMetadataOptionsPtrOutput() NodePoolInstanceMetadataOptionsPtrOutput { + return o +} + +func (o NodePoolInstanceMetadataOptionsPtrOutput) ToNodePoolInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) NodePoolInstanceMetadataOptionsPtrOutput { + return o +} + +func (o NodePoolInstanceMetadataOptionsPtrOutput) Elem() NodePoolInstanceMetadataOptionsOutput { + return o.ApplyT(func(v *NodePoolInstanceMetadataOptions) NodePoolInstanceMetadataOptions { + if v != nil { + return *v + } + var ret NodePoolInstanceMetadataOptions + return ret + }).(NodePoolInstanceMetadataOptionsOutput) +} + +// ECS instance metadata access mode configuration. Value range: +// +// - 'optional': Compatible with both normal mode and reinforced mode. +// - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). +// +// Default value: 'optional '. +// +// This parameter is only supported for ACK-managed clusters of 1.28 or later versions. +func (o NodePoolInstanceMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolInstanceMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpTokens + }).(pulumi.StringPtrOutput) +} + +type NodePoolInstancePattern struct { + // The number of vCPU cores of the instance type. Example value: 8. + Cores *int `pulumi:"cores"` + // The CPU architecture of the instance. Value range: + // - X86 + // - ARM + CpuArchitectures []string `pulumi:"cpuArchitectures"` + // Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + // - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + // - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` + // Instance classification. Value range: + // - General-purpose: Universal. + // - Compute-optimized: Compute type. + // - Memory-optimized: Memory type. + // - Big data: Big data type. + // - Local SSDs: Local SSD type. + // - High Clock Speed: High frequency type. + // - Enhanced: Enhanced. + // - Shared: Shared. + // - ECS Bare Metal: elastic Bare Metal server. + // - High Performance Compute: High Performance Compute. + InstanceCategories []string `pulumi:"instanceCategories"` + // Instance specification family level, value range: + // - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + // - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + InstanceFamilyLevel string `pulumi:"instanceFamilyLevel"` + // Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + InstanceTypeFamilies []string `pulumi:"instanceTypeFamilies"` + // The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + MaxCpuCores *int `pulumi:"maxCpuCores"` + // The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + MaxMemorySize *float64 `pulumi:"maxMemorySize"` + // The memory size of the instance type, in GiB. Example value: 8. + Memory *float64 `pulumi:"memory"` + // The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + MinCpuCores *int `pulumi:"minCpuCores"` + // The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + MinMemorySize *float64 `pulumi:"minMemorySize"` +} + +// NodePoolInstancePatternInput is an input type that accepts NodePoolInstancePatternArgs and NodePoolInstancePatternOutput values. +// You can construct a concrete instance of `NodePoolInstancePatternInput` via: +// +// NodePoolInstancePatternArgs{...} +type NodePoolInstancePatternInput interface { + pulumi.Input + + ToNodePoolInstancePatternOutput() NodePoolInstancePatternOutput + ToNodePoolInstancePatternOutputWithContext(context.Context) NodePoolInstancePatternOutput +} + +type NodePoolInstancePatternArgs struct { + // The number of vCPU cores of the instance type. Example value: 8. + Cores pulumi.IntPtrInput `pulumi:"cores"` + // The CPU architecture of the instance. Value range: + // - X86 + // - ARM + CpuArchitectures pulumi.StringArrayInput `pulumi:"cpuArchitectures"` + // Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + // - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + // - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` + // Instance classification. Value range: + // - General-purpose: Universal. + // - Compute-optimized: Compute type. + // - Memory-optimized: Memory type. + // - Big data: Big data type. + // - Local SSDs: Local SSD type. + // - High Clock Speed: High frequency type. + // - Enhanced: Enhanced. + // - Shared: Shared. + // - ECS Bare Metal: elastic Bare Metal server. + // - High Performance Compute: High Performance Compute. + InstanceCategories pulumi.StringArrayInput `pulumi:"instanceCategories"` + // Instance specification family level, value range: + // - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + // - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + InstanceFamilyLevel pulumi.StringInput `pulumi:"instanceFamilyLevel"` + // Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + InstanceTypeFamilies pulumi.StringArrayInput `pulumi:"instanceTypeFamilies"` + // The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + MaxCpuCores pulumi.IntPtrInput `pulumi:"maxCpuCores"` + // The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + MaxMemorySize pulumi.Float64PtrInput `pulumi:"maxMemorySize"` + // The memory size of the instance type, in GiB. Example value: 8. + Memory pulumi.Float64PtrInput `pulumi:"memory"` + // The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + MinCpuCores pulumi.IntPtrInput `pulumi:"minCpuCores"` + // The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + MinMemorySize pulumi.Float64PtrInput `pulumi:"minMemorySize"` +} + +func (NodePoolInstancePatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolInstancePattern)(nil)).Elem() +} + +func (i NodePoolInstancePatternArgs) ToNodePoolInstancePatternOutput() NodePoolInstancePatternOutput { + return i.ToNodePoolInstancePatternOutputWithContext(context.Background()) +} + +func (i NodePoolInstancePatternArgs) ToNodePoolInstancePatternOutputWithContext(ctx context.Context) NodePoolInstancePatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolInstancePatternOutput) +} + +// NodePoolInstancePatternArrayInput is an input type that accepts NodePoolInstancePatternArray and NodePoolInstancePatternArrayOutput values. +// You can construct a concrete instance of `NodePoolInstancePatternArrayInput` via: +// +// NodePoolInstancePatternArray{ NodePoolInstancePatternArgs{...} } +type NodePoolInstancePatternArrayInput interface { + pulumi.Input + + ToNodePoolInstancePatternArrayOutput() NodePoolInstancePatternArrayOutput + ToNodePoolInstancePatternArrayOutputWithContext(context.Context) NodePoolInstancePatternArrayOutput +} + +type NodePoolInstancePatternArray []NodePoolInstancePatternInput + +func (NodePoolInstancePatternArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolInstancePattern)(nil)).Elem() +} + +func (i NodePoolInstancePatternArray) ToNodePoolInstancePatternArrayOutput() NodePoolInstancePatternArrayOutput { + return i.ToNodePoolInstancePatternArrayOutputWithContext(context.Background()) +} + +func (i NodePoolInstancePatternArray) ToNodePoolInstancePatternArrayOutputWithContext(ctx context.Context) NodePoolInstancePatternArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolInstancePatternArrayOutput) +} + +type NodePoolInstancePatternOutput struct{ *pulumi.OutputState } + +func (NodePoolInstancePatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolInstancePattern)(nil)).Elem() +} + +func (o NodePoolInstancePatternOutput) ToNodePoolInstancePatternOutput() NodePoolInstancePatternOutput { + return o +} + +func (o NodePoolInstancePatternOutput) ToNodePoolInstancePatternOutputWithContext(ctx context.Context) NodePoolInstancePatternOutput { + return o +} + +// The number of vCPU cores of the instance type. Example value: 8. +func (o NodePoolInstancePatternOutput) Cores() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *int { return v.Cores }).(pulumi.IntPtrOutput) +} + +// The CPU architecture of the instance. Value range: +// - X86 +// - ARM +func (o NodePoolInstancePatternOutput) CpuArchitectures() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolInstancePattern) []string { return v.CpuArchitectures }).(pulumi.StringArrayOutput) +} + +// Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: +// - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. +// - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. +func (o NodePoolInstancePatternOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolInstancePattern) []string { return v.ExcludedInstanceTypes }).(pulumi.StringArrayOutput) +} + +// Instance classification. Value range: +// - General-purpose: Universal. +// - Compute-optimized: Compute type. +// - Memory-optimized: Memory type. +// - Big data: Big data type. +// - Local SSDs: Local SSD type. +// - High Clock Speed: High frequency type. +// - Enhanced: Enhanced. +// - Shared: Shared. +// - ECS Bare Metal: elastic Bare Metal server. +// - High Performance Compute: High Performance Compute. +func (o NodePoolInstancePatternOutput) InstanceCategories() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolInstancePattern) []string { return v.InstanceCategories }).(pulumi.StringArrayOutput) +} + +// Instance specification family level, value range: +// - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. +// - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. +func (o NodePoolInstancePatternOutput) InstanceFamilyLevel() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolInstancePattern) string { return v.InstanceFamilyLevel }).(pulumi.StringOutput) +} + +// Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] +func (o NodePoolInstancePatternOutput) InstanceTypeFamilies() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolInstancePattern) []string { return v.InstanceTypeFamilies }).(pulumi.StringArrayOutput) +} + +// The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. +func (o NodePoolInstancePatternOutput) MaxCpuCores() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *int { return v.MaxCpuCores }).(pulumi.IntPtrOutput) +} + +// The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. +func (o NodePoolInstancePatternOutput) MaxMemorySize() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *float64 { return v.MaxMemorySize }).(pulumi.Float64PtrOutput) +} + +// The memory size of the instance type, in GiB. Example value: 8. +func (o NodePoolInstancePatternOutput) Memory() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *float64 { return v.Memory }).(pulumi.Float64PtrOutput) +} + +// The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. +func (o NodePoolInstancePatternOutput) MinCpuCores() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *int { return v.MinCpuCores }).(pulumi.IntPtrOutput) +} + +// The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. +func (o NodePoolInstancePatternOutput) MinMemorySize() pulumi.Float64PtrOutput { + return o.ApplyT(func(v NodePoolInstancePattern) *float64 { return v.MinMemorySize }).(pulumi.Float64PtrOutput) +} + +type NodePoolInstancePatternArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolInstancePatternArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolInstancePattern)(nil)).Elem() +} + +func (o NodePoolInstancePatternArrayOutput) ToNodePoolInstancePatternArrayOutput() NodePoolInstancePatternArrayOutput { + return o +} + +func (o NodePoolInstancePatternArrayOutput) ToNodePoolInstancePatternArrayOutputWithContext(ctx context.Context) NodePoolInstancePatternArrayOutput { + return o +} + +func (o NodePoolInstancePatternArrayOutput) Index(i pulumi.IntInput) NodePoolInstancePatternOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolInstancePattern { + return vs[0].([]NodePoolInstancePattern)[vs[1].(int)] + }).(NodePoolInstancePatternOutput) +} + type NodePoolKubeletConfiguration struct { // Allowed sysctl mode whitelist. AllowedUnsafeSysctls []string `pulumi:"allowedUnsafeSysctls"` @@ -4565,6 +5102,8 @@ type NodePoolKubeletConfiguration struct { ReservedMemories []NodePoolKubeletConfigurationReservedMemory `pulumi:"reservedMemories"` // Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. SerializeImagePulls *string `pulumi:"serializeImagePulls"` + // Used to enable the kubelet server certificate signing and rotation via CSR. + ServerTlsBootstrap *bool `pulumi:"serverTlsBootstrap"` // Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. SystemReserved map[string]string `pulumi:"systemReserved"` // Name of the Topology Manager policy used. @@ -4641,6 +5180,8 @@ type NodePoolKubeletConfigurationArgs struct { ReservedMemories NodePoolKubeletConfigurationReservedMemoryArrayInput `pulumi:"reservedMemories"` // Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. SerializeImagePulls pulumi.StringPtrInput `pulumi:"serializeImagePulls"` + // Used to enable the kubelet server certificate signing and rotation via CSR. + ServerTlsBootstrap pulumi.BoolPtrInput `pulumi:"serverTlsBootstrap"` // Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. SystemReserved pulumi.StringMapInput `pulumi:"systemReserved"` // Name of the Topology Manager policy used. @@ -4868,6 +5409,11 @@ func (o NodePoolKubeletConfigurationOutput) SerializeImagePulls() pulumi.StringP return o.ApplyT(func(v NodePoolKubeletConfiguration) *string { return v.SerializeImagePulls }).(pulumi.StringPtrOutput) } +// Used to enable the kubelet server certificate signing and rotation via CSR. +func (o NodePoolKubeletConfigurationOutput) ServerTlsBootstrap() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolKubeletConfiguration) *bool { return v.ServerTlsBootstrap }).(pulumi.BoolPtrOutput) +} + // Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. func (o NodePoolKubeletConfigurationOutput) SystemReserved() pulumi.StringMapOutput { return o.ApplyT(func(v NodePoolKubeletConfiguration) map[string]string { return v.SystemReserved }).(pulumi.StringMapOutput) @@ -5187,6 +5733,16 @@ func (o NodePoolKubeletConfigurationPtrOutput) SerializeImagePulls() pulumi.Stri }).(pulumi.StringPtrOutput) } +// Used to enable the kubelet server certificate signing and rotation via CSR. +func (o NodePoolKubeletConfigurationPtrOutput) ServerTlsBootstrap() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolKubeletConfiguration) *bool { + if v == nil { + return nil + } + return v.ServerTlsBootstrap + }).(pulumi.BoolPtrOutput) +} + // Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. func (o NodePoolKubeletConfigurationPtrOutput) SystemReserved() pulumi.StringMapOutput { return o.ApplyT(func(v *NodePoolKubeletConfiguration) map[string]string { @@ -14097,10 +14653,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ManagedKubernetesOperationPolicyClusterAutoUpgradePtrInput)(nil)).Elem(), ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ManagedKubernetesRrsaMetadataInput)(nil)).Elem(), ManagedKubernetesRrsaMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ManagedKubernetesRrsaMetadataPtrInput)(nil)).Elem(), ManagedKubernetesRrsaMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoModeInput)(nil)).Elem(), NodePoolAutoModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoModePtrInput)(nil)).Elem(), NodePoolAutoModeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolDataDiskInput)(nil)).Elem(), NodePoolDataDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolDataDiskArrayInput)(nil)).Elem(), NodePoolDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolEfloNodeGroupInput)(nil)).Elem(), NodePoolEfloNodeGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolEfloNodeGroupPtrInput)(nil)).Elem(), NodePoolEfloNodeGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolInstanceMetadataOptionsInput)(nil)).Elem(), NodePoolInstanceMetadataOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolInstanceMetadataOptionsPtrInput)(nil)).Elem(), NodePoolInstanceMetadataOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolInstancePatternInput)(nil)).Elem(), NodePoolInstancePatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolInstancePatternArrayInput)(nil)).Elem(), NodePoolInstancePatternArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolKubeletConfigurationInput)(nil)).Elem(), NodePoolKubeletConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolKubeletConfigurationPtrInput)(nil)).Elem(), NodePoolKubeletConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolKubeletConfigurationReservedMemoryInput)(nil)).Elem(), NodePoolKubeletConfigurationReservedMemoryArgs{}) @@ -14262,10 +14824,16 @@ func init() { pulumi.RegisterOutputType(ManagedKubernetesOperationPolicyClusterAutoUpgradePtrOutput{}) pulumi.RegisterOutputType(ManagedKubernetesRrsaMetadataOutput{}) pulumi.RegisterOutputType(ManagedKubernetesRrsaMetadataPtrOutput{}) + pulumi.RegisterOutputType(NodePoolAutoModeOutput{}) + pulumi.RegisterOutputType(NodePoolAutoModePtrOutput{}) pulumi.RegisterOutputType(NodePoolDataDiskOutput{}) pulumi.RegisterOutputType(NodePoolDataDiskArrayOutput{}) pulumi.RegisterOutputType(NodePoolEfloNodeGroupOutput{}) pulumi.RegisterOutputType(NodePoolEfloNodeGroupPtrOutput{}) + pulumi.RegisterOutputType(NodePoolInstanceMetadataOptionsOutput{}) + pulumi.RegisterOutputType(NodePoolInstanceMetadataOptionsPtrOutput{}) + pulumi.RegisterOutputType(NodePoolInstancePatternOutput{}) + pulumi.RegisterOutputType(NodePoolInstancePatternArrayOutput{}) pulumi.RegisterOutputType(NodePoolKubeletConfigurationOutput{}) pulumi.RegisterOutputType(NodePoolKubeletConfigurationPtrOutput{}) pulumi.RegisterOutputType(NodePoolKubeletConfigurationReservedMemoryOutput{}) diff --git a/sdk/go/alicloud/cs/registryEnterpriseNamespace.go b/sdk/go/alicloud/cs/registryEnterpriseNamespace.go index e833b4e072..05a4acbfb6 100644 --- a/sdk/go/alicloud/cs/registryEnterpriseNamespace.go +++ b/sdk/go/alicloud/cs/registryEnterpriseNamespace.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Container Registry Enterprise Edition Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cs/registryEnterpriseRepo.go b/sdk/go/alicloud/cs/registryEnterpriseRepo.go index aaba39b653..7e58faea90 100644 --- a/sdk/go/alicloud/cs/registryEnterpriseRepo.go +++ b/sdk/go/alicloud/cs/registryEnterpriseRepo.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Container Registry Enterprise Edition Repository can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cs/registryEnterpriseSyncRule.go b/sdk/go/alicloud/cs/registryEnterpriseSyncRule.go index 0d2225bb13..4a66c2219d 100644 --- a/sdk/go/alicloud/cs/registryEnterpriseSyncRule.go +++ b/sdk/go/alicloud/cs/registryEnterpriseSyncRule.go @@ -140,6 +140,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Container Registry Sync Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/cs/serverlessKubernetes.go b/sdk/go/alicloud/cs/serverlessKubernetes.go index 8cdd22ac33..d9c8ba7f9d 100644 --- a/sdk/go/alicloud/cs/serverlessKubernetes.go +++ b/sdk/go/alicloud/cs/serverlessKubernetes.go @@ -105,6 +105,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/go/alicloud/das/switchDasPro.go b/sdk/go/alicloud/das/switchDasPro.go index 17476c8618..76100b84bc 100644 --- a/sdk/go/alicloud/das/switchDasPro.go +++ b/sdk/go/alicloud/das/switchDasPro.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DAS Switch Das Pro can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasefilesystem/autoSnapShotPolicy.go b/sdk/go/alicloud/databasefilesystem/autoSnapShotPolicy.go index ade87228c9..58ee35b345 100644 --- a/sdk/go/alicloud/databasefilesystem/autoSnapShotPolicy.go +++ b/sdk/go/alicloud/databasefilesystem/autoSnapShotPolicy.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dbfs Auto Snap Shot Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasefilesystem/instance.go b/sdk/go/alicloud/databasefilesystem/instance.go index f6a0614bdb..772f56a34c 100644 --- a/sdk/go/alicloud/databasefilesystem/instance.go +++ b/sdk/go/alicloud/databasefilesystem/instance.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DBFS Dbfs Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasefilesystem/instanceAttachment.go b/sdk/go/alicloud/databasefilesystem/instanceAttachment.go index 6909d9d83b..8ad062a997 100644 --- a/sdk/go/alicloud/databasefilesystem/instanceAttachment.go +++ b/sdk/go/alicloud/databasefilesystem/instanceAttachment.go @@ -113,6 +113,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Database File System (DBFS) Instance Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasefilesystem/serviceLinkedRole.go b/sdk/go/alicloud/databasefilesystem/serviceLinkedRole.go index ee1564d7a9..2cd80f8e97 100644 --- a/sdk/go/alicloud/databasefilesystem/serviceLinkedRole.go +++ b/sdk/go/alicloud/databasefilesystem/serviceLinkedRole.go @@ -44,6 +44,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dbfs service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasefilesystem/snapshot.go b/sdk/go/alicloud/databasefilesystem/snapshot.go index 3180e9d152..e9e6bc31d8 100644 --- a/sdk/go/alicloud/databasefilesystem/snapshot.go +++ b/sdk/go/alicloud/databasefilesystem/snapshot.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Database File System (DBFS) Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/databasegateway/gateway.go b/sdk/go/alicloud/databasegateway/gateway.go index 4a19826ecd..b1b26f649d 100644 --- a/sdk/go/alicloud/databasegateway/gateway.go +++ b/sdk/go/alicloud/databasegateway/gateway.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Database Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/datahub/project.go b/sdk/go/alicloud/datahub/project.go index 04d6771a13..b8580cf638 100644 --- a/sdk/go/alicloud/datahub/project.go +++ b/sdk/go/alicloud/datahub/project.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Datahub project can be imported using the *name* or ID, e.g. diff --git a/sdk/go/alicloud/datahub/subscription.go b/sdk/go/alicloud/datahub/subscription.go index 0684e107d2..f48697cd60 100644 --- a/sdk/go/alicloud/datahub/subscription.go +++ b/sdk/go/alicloud/datahub/subscription.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Datahub subscription can be imported using the ID, e.g. diff --git a/sdk/go/alicloud/datahub/topic.go b/sdk/go/alicloud/datahub/topic.go index 83078f9fa5..43ac06e53a 100644 --- a/sdk/go/alicloud/datahub/topic.go +++ b/sdk/go/alicloud/datahub/topic.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Datahub topic can be imported using the ID, e.g. diff --git a/sdk/go/alicloud/dataworks/dataSource.go b/sdk/go/alicloud/dataworks/dataSource.go index 1fd564a903..98ec1dee5a 100644 --- a/sdk/go/alicloud/dataworks/dataSource.go +++ b/sdk/go/alicloud/dataworks/dataSource.go @@ -108,6 +108,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Data Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/dataSourceSharedRule.go b/sdk/go/alicloud/dataworks/dataSourceSharedRule.go index b5ab626d6c..c4dc2d3726 100644 --- a/sdk/go/alicloud/dataworks/dataSourceSharedRule.go +++ b/sdk/go/alicloud/dataworks/dataSourceSharedRule.go @@ -140,6 +140,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Data Source Shared Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/diAlarmRule.go b/sdk/go/alicloud/dataworks/diAlarmRule.go index 0a157afbf2..2bb65f6599 100644 --- a/sdk/go/alicloud/dataworks/diAlarmRule.go +++ b/sdk/go/alicloud/dataworks/diAlarmRule.go @@ -180,6 +180,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Di Alarm Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/diJob.go b/sdk/go/alicloud/dataworks/diJob.go index d986ad85b7..04570c2ff1 100644 --- a/sdk/go/alicloud/dataworks/diJob.go +++ b/sdk/go/alicloud/dataworks/diJob.go @@ -160,6 +160,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Di Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/dwResourceGroup.go b/sdk/go/alicloud/dataworks/dwResourceGroup.go index c37834940f..667c80b28e 100644 --- a/sdk/go/alicloud/dataworks/dwResourceGroup.go +++ b/sdk/go/alicloud/dataworks/dwResourceGroup.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Dw Resource Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/folder.go b/sdk/go/alicloud/dataworks/folder.go index 865374e633..24a842e91e 100644 --- a/sdk/go/alicloud/dataworks/folder.go +++ b/sdk/go/alicloud/dataworks/folder.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Folder can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/network.go b/sdk/go/alicloud/dataworks/network.go index 7c93ec2ba7..19fe49bde3 100644 --- a/sdk/go/alicloud/dataworks/network.go +++ b/sdk/go/alicloud/dataworks/network.go @@ -133,6 +133,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Network can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/project.go b/sdk/go/alicloud/dataworks/project.go index 0073897266..04e2fa7788 100644 --- a/sdk/go/alicloud/dataworks/project.go +++ b/sdk/go/alicloud/dataworks/project.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Project can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dataworks/projectMember.go b/sdk/go/alicloud/dataworks/projectMember.go index 4d66f4c3df..c4dffe02e2 100644 --- a/sdk/go/alicloud/dataworks/projectMember.go +++ b/sdk/go/alicloud/dataworks/projectMember.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Works Project Member can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dbs/backupPlan.go b/sdk/go/alicloud/dbs/backupPlan.go index c712754659..57ad3546af 100644 --- a/sdk/go/alicloud/dbs/backupPlan.go +++ b/sdk/go/alicloud/dbs/backupPlan.go @@ -165,6 +165,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DBS Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/domain.go b/sdk/go/alicloud/dcdn/domain.go index dd8b0af315..1ef888462d 100644 --- a/sdk/go/alicloud/dcdn/domain.go +++ b/sdk/go/alicloud/dcdn/domain.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/domainConfig.go b/sdk/go/alicloud/dcdn/domainConfig.go index af0c6ff8a7..2a72d43ef2 100644 --- a/sdk/go/alicloud/dcdn/domainConfig.go +++ b/sdk/go/alicloud/dcdn/domainConfig.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN domain config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/er.go b/sdk/go/alicloud/dcdn/er.go index 558c832902..fe28c09aa9 100644 --- a/sdk/go/alicloud/dcdn/er.go +++ b/sdk/go/alicloud/dcdn/er.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Er can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/ipaDomain.go b/sdk/go/alicloud/dcdn/ipaDomain.go index 16e1574e26..39b7ebddbc 100644 --- a/sdk/go/alicloud/dcdn/ipaDomain.go +++ b/sdk/go/alicloud/dcdn/ipaDomain.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Ipa Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/kv.go b/sdk/go/alicloud/dcdn/kv.go index d4d5811ed3..6802f13b59 100644 --- a/sdk/go/alicloud/dcdn/kv.go +++ b/sdk/go/alicloud/dcdn/kv.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dcdn Kv can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/kvNamespace.go b/sdk/go/alicloud/dcdn/kvNamespace.go index 65f6fa81e9..286d571be5 100644 --- a/sdk/go/alicloud/dcdn/kvNamespace.go +++ b/sdk/go/alicloud/dcdn/kvNamespace.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dcdn Kv Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/wafDomain.go b/sdk/go/alicloud/dcdn/wafDomain.go index 1041abac29..87298728ed 100644 --- a/sdk/go/alicloud/dcdn/wafDomain.go +++ b/sdk/go/alicloud/dcdn/wafDomain.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Waf Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/wafPolicy.go b/sdk/go/alicloud/dcdn/wafPolicy.go index c42941043f..238ff50e45 100644 --- a/sdk/go/alicloud/dcdn/wafPolicy.go +++ b/sdk/go/alicloud/dcdn/wafPolicy.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Waf Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/wafPolicyDomainAttachment.go b/sdk/go/alicloud/dcdn/wafPolicyDomainAttachment.go index 4f26263a3b..34777e0c4f 100644 --- a/sdk/go/alicloud/dcdn/wafPolicyDomainAttachment.go +++ b/sdk/go/alicloud/dcdn/wafPolicyDomainAttachment.go @@ -99,6 +99,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DCDN Waf Policy Domain Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dcdn/wafRule.go b/sdk/go/alicloud/dcdn/wafRule.go index 2bf1de5940..8dbfb03649 100644 --- a/sdk/go/alicloud/dcdn/wafRule.go +++ b/sdk/go/alicloud/dcdn/wafRule.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dcdn Waf Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/basicDefenseThreshold.go b/sdk/go/alicloud/ddos/basicDefenseThreshold.go index a24ee505f6..bc5f8daa54 100644 --- a/sdk/go/alicloud/ddos/basicDefenseThreshold.go +++ b/sdk/go/alicloud/ddos/basicDefenseThreshold.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ddos Basic Antiddos can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/basicThreshold.go b/sdk/go/alicloud/ddos/basicThreshold.go index 4b019c93a9..6f22c84e42 100644 --- a/sdk/go/alicloud/ddos/basicThreshold.go +++ b/sdk/go/alicloud/ddos/basicThreshold.go @@ -121,6 +121,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ddos Basic Threshold can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/bgpIp.go b/sdk/go/alicloud/ddos/bgpIp.go index 581d6e0dc1..1597c65698 100644 --- a/sdk/go/alicloud/ddos/bgpIp.go +++ b/sdk/go/alicloud/ddos/bgpIp.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/bgpPolicy.go b/sdk/go/alicloud/ddos/bgpPolicy.go index 26d0b58752..703362f1a3 100644 --- a/sdk/go/alicloud/ddos/bgpPolicy.go +++ b/sdk/go/alicloud/ddos/bgpPolicy.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ddos Bgp Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/ddosCooInstance.go b/sdk/go/alicloud/ddos/ddosCooInstance.go index 8918595c7d..ab8ad415b5 100644 --- a/sdk/go/alicloud/ddos/ddosCooInstance.go +++ b/sdk/go/alicloud/ddos/ddosCooInstance.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/domainResource.go b/sdk/go/alicloud/ddos/domainResource.go index 029bc822e8..561e7dd2cb 100644 --- a/sdk/go/alicloud/ddos/domainResource.go +++ b/sdk/go/alicloud/ddos/domainResource.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ddos Coo Domain Resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/port.go b/sdk/go/alicloud/ddos/port.go index 8c3187cf24..d883394bf5 100644 --- a/sdk/go/alicloud/ddos/port.go +++ b/sdk/go/alicloud/ddos/port.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ddos Coo Port can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ddos/schedulerRule.go b/sdk/go/alicloud/ddos/schedulerRule.go index 0f4d95b229..9822d4a36f 100644 --- a/sdk/go/alicloud/ddos/schedulerRule.go +++ b/sdk/go/alicloud/ddos/schedulerRule.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. diff --git a/sdk/go/alicloud/dfs/accessGroup.go b/sdk/go/alicloud/dfs/accessGroup.go index 4183a6c7d0..d2ff0b5aa4 100644 --- a/sdk/go/alicloud/dfs/accessGroup.go +++ b/sdk/go/alicloud/dfs/accessGroup.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DFS Access Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dfs/accessRule.go b/sdk/go/alicloud/dfs/accessRule.go index 21725dcd1c..96eb6ec059 100644 --- a/sdk/go/alicloud/dfs/accessRule.go +++ b/sdk/go/alicloud/dfs/accessRule.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DFS Access Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dfs/fileSystem.go b/sdk/go/alicloud/dfs/fileSystem.go index 4af17a93f0..76f104f82b 100644 --- a/sdk/go/alicloud/dfs/fileSystem.go +++ b/sdk/go/alicloud/dfs/fileSystem.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dfs/mountPoint.go b/sdk/go/alicloud/dfs/mountPoint.go index b9f0dffdb8..c2bb6a2099 100644 --- a/sdk/go/alicloud/dfs/mountPoint.go +++ b/sdk/go/alicloud/dfs/mountPoint.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dfs/vscMountPoint.go b/sdk/go/alicloud/dfs/vscMountPoint.go index 30f3e46218..88fbfe5407 100644 --- a/sdk/go/alicloud/dfs/vscMountPoint.go +++ b/sdk/go/alicloud/dfs/vscMountPoint.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. diff --git a/sdk/go/alicloud/directmail/domain.go b/sdk/go/alicloud/directmail/domain.go index f5c3d15600..d1cd2f4024 100644 --- a/sdk/go/alicloud/directmail/domain.go +++ b/sdk/go/alicloud/directmail/domain.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Direct Mail Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/directmail/mailAddress.go b/sdk/go/alicloud/directmail/mailAddress.go index 3f83cc9713..7c557ef2c9 100644 --- a/sdk/go/alicloud/directmail/mailAddress.go +++ b/sdk/go/alicloud/directmail/mailAddress.go @@ -79,6 +79,8 @@ import ( // Individual users: Up to 10 mailing addresses can be deleted within a month. // Enterprise users: Up to 10 mailing addresses can be deleted within a month. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Direct Mail Mail Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/directmail/receivers.go b/sdk/go/alicloud/directmail/receivers.go index a8778f879f..ece3b4a0b0 100644 --- a/sdk/go/alicloud/directmail/receivers.go +++ b/sdk/go/alicloud/directmail/receivers.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Direct Mail Receivers can be imported using the id, e.g. diff --git a/sdk/go/alicloud/directmail/tag.go b/sdk/go/alicloud/directmail/tag.go index a4c8b53b84..ae679b2089 100644 --- a/sdk/go/alicloud/directmail/tag.go +++ b/sdk/go/alicloud/directmail/tag.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Direct Mail Tag can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/airflow.go b/sdk/go/alicloud/dms/airflow.go index 7bc3dec2ba..64024d6f53 100644 --- a/sdk/go/alicloud/dms/airflow.go +++ b/sdk/go/alicloud/dms/airflow.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dms Airflow can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseAuthorityTemplate.go b/sdk/go/alicloud/dms/enterpriseAuthorityTemplate.go index 5c484aee2f..85e69f076a 100644 --- a/sdk/go/alicloud/dms/enterpriseAuthorityTemplate.go +++ b/sdk/go/alicloud/dms/enterpriseAuthorityTemplate.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise Authority Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseInstance.go b/sdk/go/alicloud/dms/enterpriseInstance.go index 03a9ce05d3..8dbceaa52b 100644 --- a/sdk/go/alicloud/dms/enterpriseInstance.go +++ b/sdk/go/alicloud/dms/enterpriseInstance.go @@ -158,6 +158,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise can be imported using host and port, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseLogicDatabase.go b/sdk/go/alicloud/dms/enterpriseLogicDatabase.go index 58df580f1a..60f42abe2e 100644 --- a/sdk/go/alicloud/dms/enterpriseLogicDatabase.go +++ b/sdk/go/alicloud/dms/enterpriseLogicDatabase.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise Logic Database can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseProxy.go b/sdk/go/alicloud/dms/enterpriseProxy.go index df43857a0f..e7e877e0f5 100644 --- a/sdk/go/alicloud/dms/enterpriseProxy.go +++ b/sdk/go/alicloud/dms/enterpriseProxy.go @@ -168,6 +168,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise Proxy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseProxyAccess.go b/sdk/go/alicloud/dms/enterpriseProxyAccess.go index 8f8505e611..0e460bcec7 100644 --- a/sdk/go/alicloud/dms/enterpriseProxyAccess.go +++ b/sdk/go/alicloud/dms/enterpriseProxyAccess.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise Proxy Access can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseUser.go b/sdk/go/alicloud/dms/enterpriseUser.go index c2c2f3c97e..b3bae14ef7 100644 --- a/sdk/go/alicloud/dms/enterpriseUser.go +++ b/sdk/go/alicloud/dms/enterpriseUser.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dms/enterpriseWorkspace.go b/sdk/go/alicloud/dms/enterpriseWorkspace.go index e1af9df956..0199174154 100644 --- a/sdk/go/alicloud/dms/enterpriseWorkspace.go +++ b/sdk/go/alicloud/dms/enterpriseWorkspace.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DMS Enterprise Workspace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/accessStrategy.go b/sdk/go/alicloud/dns/accessStrategy.go index 4111a91be8..94ae58ffd1 100644 --- a/sdk/go/alicloud/dns/accessStrategy.go +++ b/sdk/go/alicloud/dns/accessStrategy.go @@ -157,6 +157,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS Access Strategy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/addressPool.go b/sdk/go/alicloud/dns/addressPool.go index c05102cfe1..e62eda8512 100644 --- a/sdk/go/alicloud/dns/addressPool.go +++ b/sdk/go/alicloud/dns/addressPool.go @@ -108,6 +108,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns Address Pool can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/alidnsDomain.go b/sdk/go/alicloud/dns/alidnsDomain.go index 0713ecd755..9ec48c6561 100644 --- a/sdk/go/alicloud/dns/alidnsDomain.go +++ b/sdk/go/alicloud/dns/alidnsDomain.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns domain can be imported using the id or domain name, e.g. diff --git a/sdk/go/alicloud/dns/alidnsDomainAttachment.go b/sdk/go/alicloud/dns/alidnsDomainAttachment.go index fb8d692560..341759a299 100644 --- a/sdk/go/alicloud/dns/alidnsDomainAttachment.go +++ b/sdk/go/alicloud/dns/alidnsDomainAttachment.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/alidnsInstance.go b/sdk/go/alicloud/dns/alidnsInstance.go index 42367e5cca..4cee257240 100644 --- a/sdk/go/alicloud/dns/alidnsInstance.go +++ b/sdk/go/alicloud/dns/alidnsInstance.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS instance be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/alidnsRecord.go b/sdk/go/alicloud/dns/alidnsRecord.go index 3a619f6c82..11c70fe8c0 100644 --- a/sdk/go/alicloud/dns/alidnsRecord.go +++ b/sdk/go/alicloud/dns/alidnsRecord.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns Domain Record can be imported using the id, e.g. @@ -92,7 +94,7 @@ type AlidnsRecord struct { Status pulumi.StringPtrOutput `pulumi:"status"` // The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. Ttl pulumi.IntPtrOutput `pulumi:"ttl"` - // The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + // The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). Type pulumi.StringOutput `pulumi:"type"` // The IP address of the client. UserClientIp pulumi.StringPtrOutput `pulumi:"userClientIp"` @@ -158,7 +160,7 @@ type alidnsRecordState struct { Status *string `pulumi:"status"` // The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. Ttl *int `pulumi:"ttl"` - // The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + // The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). Type *string `pulumi:"type"` // The IP address of the client. UserClientIp *string `pulumi:"userClientIp"` @@ -183,7 +185,7 @@ type AlidnsRecordState struct { Status pulumi.StringPtrInput // The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. Ttl pulumi.IntPtrInput - // The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + // The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). Type pulumi.StringPtrInput // The IP address of the client. UserClientIp pulumi.StringPtrInput @@ -212,7 +214,7 @@ type alidnsRecordArgs struct { Status *string `pulumi:"status"` // The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. Ttl *int `pulumi:"ttl"` - // The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + // The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). Type string `pulumi:"type"` // The IP address of the client. UserClientIp *string `pulumi:"userClientIp"` @@ -238,7 +240,7 @@ type AlidnsRecordArgs struct { Status pulumi.StringPtrInput // The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. Ttl pulumi.IntPtrInput - // The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + // The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). Type pulumi.StringInput // The IP address of the client. UserClientIp pulumi.StringPtrInput @@ -373,7 +375,7 @@ func (o AlidnsRecordOutput) Ttl() pulumi.IntPtrOutput { return o.ApplyT(func(v *AlidnsRecord) pulumi.IntPtrOutput { return v.Ttl }).(pulumi.IntPtrOutput) } -// The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. +// The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). func (o AlidnsRecordOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v *AlidnsRecord) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/dns/customLine.go b/sdk/go/alicloud/dns/customLine.go index dd935cb5af..c38fd62635 100644 --- a/sdk/go/alicloud/dns/customLine.go +++ b/sdk/go/alicloud/dns/customLine.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns Custom Line can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/ddosCooInstance.go b/sdk/go/alicloud/dns/ddosCooInstance.go index 929b0a396f..70d50aa3ca 100644 --- a/sdk/go/alicloud/dns/ddosCooInstance.go +++ b/sdk/go/alicloud/dns/ddosCooInstance.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/dnsDomain.go b/sdk/go/alicloud/dns/dnsDomain.go index 6b4d864586..bd0e981612 100644 --- a/sdk/go/alicloud/dns/dnsDomain.go +++ b/sdk/go/alicloud/dns/dnsDomain.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS domain can be imported using the id or domain name, e.g. diff --git a/sdk/go/alicloud/dns/domain.go b/sdk/go/alicloud/dns/domain.go index 16f41931f1..98728e67a0 100644 --- a/sdk/go/alicloud/dns/domain.go +++ b/sdk/go/alicloud/dns/domain.go @@ -45,6 +45,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS can be imported using the id or domain name, e.g. diff --git a/sdk/go/alicloud/dns/domainAttachment.go b/sdk/go/alicloud/dns/domainAttachment.go index 59c494d5ca..1be631ee41 100644 --- a/sdk/go/alicloud/dns/domainAttachment.go +++ b/sdk/go/alicloud/dns/domainAttachment.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/domainGroup.go b/sdk/go/alicloud/dns/domainGroup.go index 48783d73f0..048d52c0a8 100644 --- a/sdk/go/alicloud/dns/domainGroup.go +++ b/sdk/go/alicloud/dns/domainGroup.go @@ -41,6 +41,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns domain group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/group.go b/sdk/go/alicloud/dns/group.go index 4bc02e9d11..918c9882e1 100644 --- a/sdk/go/alicloud/dns/group.go +++ b/sdk/go/alicloud/dns/group.go @@ -41,6 +41,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type Group struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/dns/gtmInstance.go b/sdk/go/alicloud/dns/gtmInstance.go index 1735aa7682..42796e6edf 100644 --- a/sdk/go/alicloud/dns/gtmInstance.go +++ b/sdk/go/alicloud/dns/gtmInstance.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alidns Gtm Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/instance.go b/sdk/go/alicloud/dns/instance.go index cd29b85c46..889e782828 100644 --- a/sdk/go/alicloud/dns/instance.go +++ b/sdk/go/alicloud/dns/instance.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS instance be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/monitorConfig.go b/sdk/go/alicloud/dns/monitorConfig.go index 1d49d85411..054a54ffac 100644 --- a/sdk/go/alicloud/dns/monitorConfig.go +++ b/sdk/go/alicloud/dns/monitorConfig.go @@ -125,6 +125,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DNS Monitor Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dns/record.go b/sdk/go/alicloud/dns/record.go index 660f4a19f2..6952db6c97 100644 --- a/sdk/go/alicloud/dns/record.go +++ b/sdk/go/alicloud/dns/record.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS record can be imported using the id, e.g. diff --git a/sdk/go/alicloud/drds/instance.go b/sdk/go/alicloud/drds/instance.go index dc9935b902..50da7c5f78 100644 --- a/sdk/go/alicloud/drds/instance.go +++ b/sdk/go/alicloud/drds/instance.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Distributed Relational Database Service (DRDS) can be imported using the id, e.g. diff --git a/sdk/go/alicloud/drds/polardbxInstance.go b/sdk/go/alicloud/drds/polardbxInstance.go index a96ce52c87..82fba60cde 100644 --- a/sdk/go/alicloud/drds/polardbxInstance.go +++ b/sdk/go/alicloud/drds/polardbxInstance.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DRDS Polardb X Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/consumerChannel.go b/sdk/go/alicloud/dts/consumerChannel.go index d1ba24890e..acf7508d90 100644 --- a/sdk/go/alicloud/dts/consumerChannel.go +++ b/sdk/go/alicloud/dts/consumerChannel.go @@ -177,6 +177,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DTS Consumer Channel can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/instance.go b/sdk/go/alicloud/dts/instance.go index 2ac8cf7a52..0fcd7236e0 100644 --- a/sdk/go/alicloud/dts/instance.go +++ b/sdk/go/alicloud/dts/instance.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Dts Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/jobMonitorRule.go b/sdk/go/alicloud/dts/jobMonitorRule.go index a92133c51a..c7499eb26e 100644 --- a/sdk/go/alicloud/dts/jobMonitorRule.go +++ b/sdk/go/alicloud/dts/jobMonitorRule.go @@ -265,6 +265,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DTS Job Monitor Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/migrationInstance.go b/sdk/go/alicloud/dts/migrationInstance.go index 99a17e71ce..9574644d88 100644 --- a/sdk/go/alicloud/dts/migrationInstance.go +++ b/sdk/go/alicloud/dts/migrationInstance.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DTS Migration Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/migrationJob.go b/sdk/go/alicloud/dts/migrationJob.go index 89b766cfa4..2d38b55528 100644 --- a/sdk/go/alicloud/dts/migrationJob.go +++ b/sdk/go/alicloud/dts/migrationJob.go @@ -257,6 +257,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Notice // // 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/go/alicloud/dts/subscriptionJob.go b/sdk/go/alicloud/dts/subscriptionJob.go index a8ec0c82f5..fa503c74d6 100644 --- a/sdk/go/alicloud/dts/subscriptionJob.go +++ b/sdk/go/alicloud/dts/subscriptionJob.go @@ -179,6 +179,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DTS Subscription Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/synchronizationInstance.go b/sdk/go/alicloud/dts/synchronizationInstance.go index 360542916d..658a50a9bb 100644 --- a/sdk/go/alicloud/dts/synchronizationInstance.go +++ b/sdk/go/alicloud/dts/synchronizationInstance.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // DTS Synchronization Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/dts/synchronizationJob.go b/sdk/go/alicloud/dts/synchronizationJob.go index c37739f014..6c2ef598ca 100644 --- a/sdk/go/alicloud/dts/synchronizationJob.go +++ b/sdk/go/alicloud/dts/synchronizationJob.go @@ -259,6 +259,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Notice // // 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/go/alicloud/ebs/dedicatedBlockStorageCluster.go b/sdk/go/alicloud/ebs/dedicatedBlockStorageCluster.go index 0f8ae2775e..21dc11dc69 100644 --- a/sdk/go/alicloud/ebs/dedicatedBlockStorageCluster.go +++ b/sdk/go/alicloud/ebs/dedicatedBlockStorageCluster.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/diskReplicaGroup.go b/sdk/go/alicloud/ebs/diskReplicaGroup.go index 9cd896dc18..976834593d 100644 --- a/sdk/go/alicloud/ebs/diskReplicaGroup.go +++ b/sdk/go/alicloud/ebs/diskReplicaGroup.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/diskReplicaPair.go b/sdk/go/alicloud/ebs/diskReplicaPair.go index f2e706427f..24e67271b8 100644 --- a/sdk/go/alicloud/ebs/diskReplicaPair.go +++ b/sdk/go/alicloud/ebs/diskReplicaPair.go @@ -120,6 +120,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/enterpriseSnapshotPolicy.go b/sdk/go/alicloud/ebs/enterpriseSnapshotPolicy.go index a866598b73..e96a9fdd81 100644 --- a/sdk/go/alicloud/ebs/enterpriseSnapshotPolicy.go +++ b/sdk/go/alicloud/ebs/enterpriseSnapshotPolicy.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EBS Enterprise Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/enterpriseSnapshotPolicyAttachment.go b/sdk/go/alicloud/ebs/enterpriseSnapshotPolicyAttachment.go index dee4c2422e..faf165a9ca 100644 --- a/sdk/go/alicloud/ebs/enterpriseSnapshotPolicyAttachment.go +++ b/sdk/go/alicloud/ebs/enterpriseSnapshotPolicyAttachment.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/replicaGroupDrill.go b/sdk/go/alicloud/ebs/replicaGroupDrill.go index f8f316b563..8bd5e11765 100644 --- a/sdk/go/alicloud/ebs/replicaGroupDrill.go +++ b/sdk/go/alicloud/ebs/replicaGroupDrill.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EBS Replica Group Drill can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/replicaPairDrill.go b/sdk/go/alicloud/ebs/replicaPairDrill.go index 3030b40a57..cf0fefd994 100644 --- a/sdk/go/alicloud/ebs/replicaPairDrill.go +++ b/sdk/go/alicloud/ebs/replicaPairDrill.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EBS Replica Pair Drill can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ebs/solutionInstance.go b/sdk/go/alicloud/ebs/solutionInstance.go index 11fc9ab4d7..e3cbf62304 100644 --- a/sdk/go/alicloud/ebs/solutionInstance.go +++ b/sdk/go/alicloud/ebs/solutionInstance.go @@ -130,6 +130,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EBS Solution Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eci/containerGroup.go b/sdk/go/alicloud/eci/containerGroup.go index 33236a91a7..814df39195 100644 --- a/sdk/go/alicloud/eci/containerGroup.go +++ b/sdk/go/alicloud/eci/containerGroup.go @@ -178,6 +178,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECI Container Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eci/imageCache.go b/sdk/go/alicloud/eci/imageCache.go index 04a0b4cdf5..4b1a252aea 100644 --- a/sdk/go/alicloud/eci/imageCache.go +++ b/sdk/go/alicloud/eci/imageCache.go @@ -109,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECI Image Cache can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eci/virtualNode.go b/sdk/go/alicloud/eci/virtualNode.go index fff9e25d5b..c2c6d6ce34 100644 --- a/sdk/go/alicloud/eci/virtualNode.go +++ b/sdk/go/alicloud/eci/virtualNode.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECI Virtual Node can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecp/instance.go b/sdk/go/alicloud/ecp/instance.go index 97390ed89c..f07613cf12 100644 --- a/sdk/go/alicloud/ecp/instance.go +++ b/sdk/go/alicloud/ecp/instance.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecp/keyPair.go b/sdk/go/alicloud/ecp/keyPair.go index 5d62d3cff3..294ad192a0 100644 --- a/sdk/go/alicloud/ecp/keyPair.go +++ b/sdk/go/alicloud/ecp/keyPair.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/activation.go b/sdk/go/alicloud/ecs/activation.go index 52b3075873..a6e017ad47 100644 --- a/sdk/go/alicloud/ecs/activation.go +++ b/sdk/go/alicloud/ecs/activation.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Activation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/autoProvisioningGroup.go b/sdk/go/alicloud/ecs/autoProvisioningGroup.go index 6e5688a70b..1bc5314002 100644 --- a/sdk/go/alicloud/ecs/autoProvisioningGroup.go +++ b/sdk/go/alicloud/ecs/autoProvisioningGroup.go @@ -108,6 +108,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS auto provisioning group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/autoSnapshotPolicy.go b/sdk/go/alicloud/ecs/autoSnapshotPolicy.go index fbb3437009..07c7754333 100644 --- a/sdk/go/alicloud/ecs/autoSnapshotPolicy.go +++ b/sdk/go/alicloud/ecs/autoSnapshotPolicy.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/capacityReservation.go b/sdk/go/alicloud/ecs/capacityReservation.go index fddd6c905c..bb39590c27 100644 --- a/sdk/go/alicloud/ecs/capacityReservation.go +++ b/sdk/go/alicloud/ecs/capacityReservation.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ecs Capacity Reservation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/command.go b/sdk/go/alicloud/ecs/command.go index 43875e1caa..cbb4c1f033 100644 --- a/sdk/go/alicloud/ecs/command.go +++ b/sdk/go/alicloud/ecs/command.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Command can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/disk.go b/sdk/go/alicloud/ecs/disk.go index 7830ffd60f..99084c8f01 100644 --- a/sdk/go/alicloud/ecs/disk.go +++ b/sdk/go/alicloud/ecs/disk.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Cloud disk can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/diskAttachment.go b/sdk/go/alicloud/ecs/diskAttachment.go index 8f8c035b64..a677554520 100644 --- a/sdk/go/alicloud/ecs/diskAttachment.go +++ b/sdk/go/alicloud/ecs/diskAttachment.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The disk attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsAutoSnapshotPolicyAttachment.go b/sdk/go/alicloud/ecs/ecsAutoSnapshotPolicyAttachment.go index 50735cbc9b..2b13d47941 100644 --- a/sdk/go/alicloud/ecs/ecsAutoSnapshotPolicyAttachment.go +++ b/sdk/go/alicloud/ecs/ecsAutoSnapshotPolicyAttachment.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsDedicatedHostCluster.go b/sdk/go/alicloud/ecs/ecsDedicatedHostCluster.go index 26021c7ee9..f7a4442af6 100644 --- a/sdk/go/alicloud/ecs/ecsDedicatedHostCluster.go +++ b/sdk/go/alicloud/ecs/ecsDedicatedHostCluster.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Dedicated Host Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsDeploymentSet.go b/sdk/go/alicloud/ecs/ecsDeploymentSet.go index 98e1041203..2f2be910af 100644 --- a/sdk/go/alicloud/ecs/ecsDeploymentSet.go +++ b/sdk/go/alicloud/ecs/ecsDeploymentSet.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Deployment Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsDiskAttachment.go b/sdk/go/alicloud/ecs/ecsDiskAttachment.go index cf450ef636..435de134be 100644 --- a/sdk/go/alicloud/ecs/ecsDiskAttachment.go +++ b/sdk/go/alicloud/ecs/ecsDiskAttachment.go @@ -136,6 +136,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The disk attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsImageComponent.go b/sdk/go/alicloud/ecs/ecsImageComponent.go index 347df82a9c..5e1166e410 100644 --- a/sdk/go/alicloud/ecs/ecsImageComponent.go +++ b/sdk/go/alicloud/ecs/ecsImageComponent.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Image Component can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsImagePipeline.go b/sdk/go/alicloud/ecs/ecsImagePipeline.go index 0f61bb3d81..9e88d0dd61 100644 --- a/sdk/go/alicloud/ecs/ecsImagePipeline.go +++ b/sdk/go/alicloud/ecs/ecsImagePipeline.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Image Pipeline can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsInstanceSet.go b/sdk/go/alicloud/ecs/ecsInstanceSet.go index dc30975230..b469d861ff 100644 --- a/sdk/go/alicloud/ecs/ecsInstanceSet.go +++ b/sdk/go/alicloud/ecs/ecsInstanceSet.go @@ -115,6 +115,8 @@ import ( // }) // } // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type EcsInstanceSet struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ecs/ecsInvocation.go b/sdk/go/alicloud/ecs/ecsInvocation.go index 477f4cf6f8..01cb8fdc39 100644 --- a/sdk/go/alicloud/ecs/ecsInvocation.go +++ b/sdk/go/alicloud/ecs/ecsInvocation.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Invocation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsKeyPair.go b/sdk/go/alicloud/ecs/ecsKeyPair.go index 6c5f2da95e..4f2f3a1670 100644 --- a/sdk/go/alicloud/ecs/ecsKeyPair.go +++ b/sdk/go/alicloud/ecs/ecsKeyPair.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Key Pair can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsKeyPairAttachment.go b/sdk/go/alicloud/ecs/ecsKeyPairAttachment.go index 1ca740186a..7bc11bdcbc 100644 --- a/sdk/go/alicloud/ecs/ecsKeyPairAttachment.go +++ b/sdk/go/alicloud/ecs/ecsKeyPairAttachment.go @@ -125,6 +125,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Key Pair Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsLaunchTemplate.go b/sdk/go/alicloud/ecs/ecsLaunchTemplate.go index 7afbbda825..257e188a33 100644 --- a/sdk/go/alicloud/ecs/ecsLaunchTemplate.go +++ b/sdk/go/alicloud/ecs/ecsLaunchTemplate.go @@ -151,6 +151,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Launch Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsNetworkInterface.go b/sdk/go/alicloud/ecs/ecsNetworkInterface.go index 0ae6a9c3a4..77d42fd049 100644 --- a/sdk/go/alicloud/ecs/ecsNetworkInterface.go +++ b/sdk/go/alicloud/ecs/ecsNetworkInterface.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Network Interface can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsNetworkInterfaceAttachment.go b/sdk/go/alicloud/ecs/ecsNetworkInterfaceAttachment.go index d90e65cc19..c92c8d2978 100644 --- a/sdk/go/alicloud/ecs/ecsNetworkInterfaceAttachment.go +++ b/sdk/go/alicloud/ecs/ecsNetworkInterfaceAttachment.go @@ -138,6 +138,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Network Interface Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsNetworkInterfacePermission.go b/sdk/go/alicloud/ecs/ecsNetworkInterfacePermission.go index a7255fb583..00b6ec928f 100644 --- a/sdk/go/alicloud/ecs/ecsNetworkInterfacePermission.go +++ b/sdk/go/alicloud/ecs/ecsNetworkInterfacePermission.go @@ -117,6 +117,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Network Interface Permission can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsPrefixList.go b/sdk/go/alicloud/ecs/ecsPrefixList.go index 364a721a5b..c92baee623 100644 --- a/sdk/go/alicloud/ecs/ecsPrefixList.go +++ b/sdk/go/alicloud/ecs/ecsPrefixList.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Prefix List can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsSessionManagerStatus.go b/sdk/go/alicloud/ecs/ecsSessionManagerStatus.go index dfd0fe10e1..40c3ea0fbc 100644 --- a/sdk/go/alicloud/ecs/ecsSessionManagerStatus.go +++ b/sdk/go/alicloud/ecs/ecsSessionManagerStatus.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Session Manager Status can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsSnapshot.go b/sdk/go/alicloud/ecs/ecsSnapshot.go index 0cf1e3773a..8cb12aae97 100644 --- a/sdk/go/alicloud/ecs/ecsSnapshot.go +++ b/sdk/go/alicloud/ecs/ecsSnapshot.go @@ -140,6 +140,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/ecsSnapshotGroup.go b/sdk/go/alicloud/ecs/ecsSnapshotGroup.go index 6f73604bba..39332d2ea5 100644 --- a/sdk/go/alicloud/ecs/ecsSnapshotGroup.go +++ b/sdk/go/alicloud/ecs/ecsSnapshotGroup.go @@ -134,6 +134,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Snapshot Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/eip.go b/sdk/go/alicloud/ecs/eip.go index 038c0577dc..17134cc91c 100644 --- a/sdk/go/alicloud/ecs/eip.go +++ b/sdk/go/alicloud/ecs/eip.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing eip module diff --git a/sdk/go/alicloud/ecs/eipAssociation.go b/sdk/go/alicloud/ecs/eipAssociation.go index 3969073442..15c4156762 100644 --- a/sdk/go/alicloud/ecs/eipAssociation.go +++ b/sdk/go/alicloud/ecs/eipAssociation.go @@ -130,6 +130,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EIP Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/eipSegmentAddress.go b/sdk/go/alicloud/ecs/eipSegmentAddress.go index efbc39d3ac..e6dc3f71ba 100644 --- a/sdk/go/alicloud/ecs/eipSegmentAddress.go +++ b/sdk/go/alicloud/ecs/eipSegmentAddress.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EIP Segment Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/elasticityAssurance.go b/sdk/go/alicloud/ecs/elasticityAssurance.go index e23973d404..fc0aa8d727 100644 --- a/sdk/go/alicloud/ecs/elasticityAssurance.go +++ b/sdk/go/alicloud/ecs/elasticityAssurance.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Elasticity Assurance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/hpcCluster.go b/sdk/go/alicloud/ecs/hpcCluster.go index e6e27415b1..1ce1538b78 100644 --- a/sdk/go/alicloud/ecs/hpcCluster.go +++ b/sdk/go/alicloud/ecs/hpcCluster.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Hpc Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/image.go b/sdk/go/alicloud/ecs/image.go index 70ab3d396b..86dac873d8 100644 --- a/sdk/go/alicloud/ecs/image.go +++ b/sdk/go/alicloud/ecs/image.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Image can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/imageCopy.go b/sdk/go/alicloud/ecs/imageCopy.go index ea1d0caf49..91e19c17dc 100644 --- a/sdk/go/alicloud/ecs/imageCopy.go +++ b/sdk/go/alicloud/ecs/imageCopy.go @@ -120,6 +120,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Attributes Reference0 // // The following attributes are exported: diff --git a/sdk/go/alicloud/ecs/imageExport.go b/sdk/go/alicloud/ecs/imageExport.go index faf463c31c..50327d10cc 100644 --- a/sdk/go/alicloud/ecs/imageExport.go +++ b/sdk/go/alicloud/ecs/imageExport.go @@ -132,6 +132,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type ImageExport struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ecs/imageImport.go b/sdk/go/alicloud/ecs/imageImport.go index f47ced2b89..8da4e05d44 100644 --- a/sdk/go/alicloud/ecs/imageImport.go +++ b/sdk/go/alicloud/ecs/imageImport.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Image Import can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/imageSharePermission.go b/sdk/go/alicloud/ecs/imageSharePermission.go index 980d3d6b5d..d84095fe5d 100644 --- a/sdk/go/alicloud/ecs/imageSharePermission.go +++ b/sdk/go/alicloud/ecs/imageSharePermission.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Attributes Reference0 // // The following attributes are exported: diff --git a/sdk/go/alicloud/ecs/instance.go b/sdk/go/alicloud/ecs/instance.go index 8d918968e7..236ef94a29 100644 --- a/sdk/go/alicloud/ecs/instance.go +++ b/sdk/go/alicloud/ecs/instance.go @@ -123,6 +123,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing ecs-instance module @@ -154,6 +156,22 @@ type Instance struct { AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // The number of vCPUs. Cpu pulumi.IntOutput `pulumi:"cpu"` + // The options of cpu. See `cpuOptions` below. + // + // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + // + // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + // + // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + // + // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + // + // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + // + // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + CpuOptions InstanceCpuOptionsOutput `pulumi:"cpuOptions"` // (Available since v1.232.0) The time when the instance was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. @@ -197,20 +215,6 @@ type Instance struct { // The Image to use for the instance. ECS instance's image can be replaced via changing `imageId`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launchTemplateId` or `launchTemplateName` to specify a launch template, you must specify `imageId`. ImageId pulumi.StringOutput `pulumi:"imageId"` // The options of images. See `imageOptions` below. - // - // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - // - // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - // - // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - // - // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - // - // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - // - // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. ImageOptions InstanceImageOptionsOutput `pulumi:"imageOptions"` // Whether to change instance disks charge type when changing instance charge type. IncludeDataDisks pulumi.BoolPtrOutput `pulumi:"includeDataDisks"` @@ -439,6 +443,22 @@ type instanceState struct { AvailabilityZone *string `pulumi:"availabilityZone"` // The number of vCPUs. Cpu *int `pulumi:"cpu"` + // The options of cpu. See `cpuOptions` below. + // + // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + // + // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + // + // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + // + // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + // + // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + // + // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + CpuOptions *InstanceCpuOptions `pulumi:"cpuOptions"` // (Available since v1.232.0) The time when the instance was created. CreateTime *string `pulumi:"createTime"` // Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. @@ -482,20 +502,6 @@ type instanceState struct { // The Image to use for the instance. ECS instance's image can be replaced via changing `imageId`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launchTemplateId` or `launchTemplateName` to specify a launch template, you must specify `imageId`. ImageId *string `pulumi:"imageId"` // The options of images. See `imageOptions` below. - // - // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - // - // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - // - // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - // - // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - // - // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - // - // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. ImageOptions *InstanceImageOptions `pulumi:"imageOptions"` // Whether to change instance disks charge type when changing instance charge type. IncludeDataDisks *bool `pulumi:"includeDataDisks"` @@ -688,6 +694,22 @@ type InstanceState struct { AvailabilityZone pulumi.StringPtrInput // The number of vCPUs. Cpu pulumi.IntPtrInput + // The options of cpu. See `cpuOptions` below. + // + // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + // + // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + // + // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + // + // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + // + // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + // + // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + CpuOptions InstanceCpuOptionsPtrInput // (Available since v1.232.0) The time when the instance was created. CreateTime pulumi.StringPtrInput // Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. @@ -731,20 +753,6 @@ type InstanceState struct { // The Image to use for the instance. ECS instance's image can be replaced via changing `imageId`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launchTemplateId` or `launchTemplateName` to specify a launch template, you must specify `imageId`. ImageId pulumi.StringPtrInput // The options of images. See `imageOptions` below. - // - // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - // - // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - // - // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - // - // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - // - // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - // - // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. ImageOptions InstanceImageOptionsPtrInput // Whether to change instance disks charge type when changing instance charge type. IncludeDataDisks pulumi.BoolPtrInput @@ -939,6 +947,22 @@ type instanceArgs struct { AutoRenewPeriod *int `pulumi:"autoRenewPeriod"` // The Zone to start the instance in. It is ignored and will be computed when set `vswitchId`. AvailabilityZone *string `pulumi:"availabilityZone"` + // The options of cpu. See `cpuOptions` below. + // + // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + // + // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + // + // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + // + // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + // + // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + // + // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + CpuOptions *InstanceCpuOptions `pulumi:"cpuOptions"` // Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. CreditSpecification *string `pulumi:"creditSpecification"` // The list of data disks created with instance. See `dataDisks` below. @@ -976,20 +1000,6 @@ type instanceArgs struct { // The Image to use for the instance. ECS instance's image can be replaced via changing `imageId`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launchTemplateId` or `launchTemplateName` to specify a launch template, you must specify `imageId`. ImageId *string `pulumi:"imageId"` // The options of images. See `imageOptions` below. - // - // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - // - // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - // - // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - // - // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - // - // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - // - // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. ImageOptions *InstanceImageOptions `pulumi:"imageOptions"` // Whether to change instance disks charge type when changing instance charge type. IncludeDataDisks *bool `pulumi:"includeDataDisks"` @@ -1165,6 +1175,22 @@ type InstanceArgs struct { AutoRenewPeriod pulumi.IntPtrInput // The Zone to start the instance in. It is ignored and will be computed when set `vswitchId`. AvailabilityZone pulumi.StringPtrInput + // The options of cpu. See `cpuOptions` below. + // + // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + // + // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + // + // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + // + // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + // + // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + // + // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + CpuOptions InstanceCpuOptionsPtrInput // Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. CreditSpecification pulumi.StringPtrInput // The list of data disks created with instance. See `dataDisks` below. @@ -1202,20 +1228,6 @@ type InstanceArgs struct { // The Image to use for the instance. ECS instance's image can be replaced via changing `imageId`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launchTemplateId` or `launchTemplateName` to specify a launch template, you must specify `imageId`. ImageId pulumi.StringPtrInput // The options of images. See `imageOptions` below. - // - // > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - // - // > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - // - // > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - // - // > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - // - // > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - // Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - // However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - // - // > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. ImageOptions InstanceImageOptionsPtrInput // Whether to change instance disks charge type when changing instance charge type. IncludeDataDisks pulumi.BoolPtrInput @@ -1493,6 +1505,25 @@ func (o InstanceOutput) Cpu() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Cpu }).(pulumi.IntOutput) } +// The options of cpu. See `cpuOptions` below. +// +// > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. +// +// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. +// +// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. +// +// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. +// +// > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. +// Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). +// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". +// +// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. +func (o InstanceOutput) CpuOptions() InstanceCpuOptionsOutput { + return o.ApplyT(func(v *Instance) InstanceCpuOptionsOutput { return v.CpuOptions }).(InstanceCpuOptionsOutput) +} + // (Available since v1.232.0) The time when the instance was created. func (o InstanceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) @@ -1590,20 +1621,6 @@ func (o InstanceOutput) ImageId() pulumi.StringOutput { } // The options of images. See `imageOptions` below. -// -// > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. -// -// > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. -// -// > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. -// -// > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. -// -// > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. -// Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). -// However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". -// -// > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. func (o InstanceOutput) ImageOptions() InstanceImageOptionsOutput { return o.ApplyT(func(v *Instance) InstanceImageOptionsOutput { return v.ImageOptions }).(InstanceImageOptionsOutput) } diff --git a/sdk/go/alicloud/ecs/keyPair.go b/sdk/go/alicloud/ecs/keyPair.go index 8faf4682c8..9d61b8a1b1 100644 --- a/sdk/go/alicloud/ecs/keyPair.go +++ b/sdk/go/alicloud/ecs/keyPair.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Key pair can be imported using the name, e.g. diff --git a/sdk/go/alicloud/ecs/launchTemplate.go b/sdk/go/alicloud/ecs/launchTemplate.go index 34d72e83b0..5960ec695e 100644 --- a/sdk/go/alicloud/ecs/launchTemplate.go +++ b/sdk/go/alicloud/ecs/launchTemplate.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Launch Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/pulumiTypes.go b/sdk/go/alicloud/ecs/pulumiTypes.go index a60143c807..a57fc6d42d 100644 --- a/sdk/go/alicloud/ecs/pulumiTypes.go +++ b/sdk/go/alicloud/ecs/pulumiTypes.go @@ -2309,6 +2309,181 @@ func (o ImageImportDiskDeviceMappingArrayOutput) Index(i pulumi.IntInput) ImageI }).(ImageImportDiskDeviceMappingOutput) } +type InstanceCpuOptions struct { + // The maximum number of partitions in the storage set. + CoreCount *int `pulumi:"coreCount"` + // The number of threads per CPU core. + ThreadsPerCore *int `pulumi:"threadsPerCore"` + // The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + TopologyType *string `pulumi:"topologyType"` +} + +// InstanceCpuOptionsInput is an input type that accepts InstanceCpuOptionsArgs and InstanceCpuOptionsOutput values. +// You can construct a concrete instance of `InstanceCpuOptionsInput` via: +// +// InstanceCpuOptionsArgs{...} +type InstanceCpuOptionsInput interface { + pulumi.Input + + ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput + ToInstanceCpuOptionsOutputWithContext(context.Context) InstanceCpuOptionsOutput +} + +type InstanceCpuOptionsArgs struct { + // The maximum number of partitions in the storage set. + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // The number of threads per CPU core. + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` + // The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + TopologyType pulumi.StringPtrInput `pulumi:"topologyType"` +} + +func (InstanceCpuOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() +} + +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { + return i.ToInstanceCpuOptionsOutputWithContext(context.Background()) +} + +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput) +} + +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +} + +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput).ToInstanceCpuOptionsPtrOutputWithContext(ctx) +} + +// InstanceCpuOptionsPtrInput is an input type that accepts InstanceCpuOptionsArgs, InstanceCpuOptionsPtr and InstanceCpuOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceCpuOptionsPtrInput` via: +// +// InstanceCpuOptionsArgs{...} +// +// or: +// +// nil +type InstanceCpuOptionsPtrInput interface { + pulumi.Input + + ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput + ToInstanceCpuOptionsPtrOutputWithContext(context.Context) InstanceCpuOptionsPtrOutput +} + +type instanceCpuOptionsPtrType InstanceCpuOptionsArgs + +func InstanceCpuOptionsPtr(v *InstanceCpuOptionsArgs) InstanceCpuOptionsPtrInput { + return (*instanceCpuOptionsPtrType)(v) +} + +func (*instanceCpuOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() +} + +func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +} + +func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsPtrOutput) +} + +type InstanceCpuOptionsOutput struct{ *pulumi.OutputState } + +func (InstanceCpuOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() +} + +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { + return o +} + +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { + return o +} + +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return o.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +} + +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCpuOptions) *InstanceCpuOptions { + return &v + }).(InstanceCpuOptionsPtrOutput) +} + +// The maximum number of partitions in the storage set. +func (o InstanceCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +} + +// The number of threads per CPU core. +func (o InstanceCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +} + +// The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. +func (o InstanceCpuOptionsOutput) TopologyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *string { return v.TopologyType }).(pulumi.StringPtrOutput) +} + +type InstanceCpuOptionsPtrOutput struct{ *pulumi.OutputState } + +func (InstanceCpuOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() +} + +func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return o +} + +func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return o +} + +func (o InstanceCpuOptionsPtrOutput) Elem() InstanceCpuOptionsOutput { + return o.ApplyT(func(v *InstanceCpuOptions) InstanceCpuOptions { + if v != nil { + return *v + } + var ret InstanceCpuOptions + return ret + }).(InstanceCpuOptionsOutput) +} + +// The maximum number of partitions in the storage set. +func (o InstanceCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *int { + if v == nil { + return nil + } + return v.CoreCount + }).(pulumi.IntPtrOutput) +} + +// The number of threads per CPU core. +func (o InstanceCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *int { + if v == nil { + return nil + } + return v.ThreadsPerCore + }).(pulumi.IntPtrOutput) +} + +// The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. +func (o InstanceCpuOptionsPtrOutput) TopologyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *string { + if v == nil { + return nil + } + return v.TopologyType + }).(pulumi.StringPtrOutput) +} + type InstanceDataDisk struct { // The ID of the automatic snapshot policy applied to the system disk. AutoSnapshotPolicyId *string `pulumi:"autoSnapshotPolicyId"` @@ -16980,6 +17155,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ImageFeaturesPtrInput)(nil)).Elem(), ImageFeaturesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageImportDiskDeviceMappingInput)(nil)).Elem(), ImageImportDiskDeviceMappingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageImportDiskDeviceMappingArrayInput)(nil)).Elem(), ImageImportDiskDeviceMappingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceCpuOptionsInput)(nil)).Elem(), InstanceCpuOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceCpuOptionsPtrInput)(nil)).Elem(), InstanceCpuOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceDataDiskInput)(nil)).Elem(), InstanceDataDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceDataDiskArrayInput)(nil)).Elem(), InstanceDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceImageOptionsInput)(nil)).Elem(), InstanceImageOptionsArgs{}) @@ -17159,6 +17336,8 @@ func init() { pulumi.RegisterOutputType(ImageFeaturesPtrOutput{}) pulumi.RegisterOutputType(ImageImportDiskDeviceMappingOutput{}) pulumi.RegisterOutputType(ImageImportDiskDeviceMappingArrayOutput{}) + pulumi.RegisterOutputType(InstanceCpuOptionsOutput{}) + pulumi.RegisterOutputType(InstanceCpuOptionsPtrOutput{}) pulumi.RegisterOutputType(InstanceDataDiskOutput{}) pulumi.RegisterOutputType(InstanceDataDiskArrayOutput{}) pulumi.RegisterOutputType(InstanceImageOptionsOutput{}) diff --git a/sdk/go/alicloud/ecs/ramRoleAttachment.go b/sdk/go/alicloud/ecs/ramRoleAttachment.go index 6799b547bc..dbdeb396a4 100644 --- a/sdk/go/alicloud/ecs/ramRoleAttachment.go +++ b/sdk/go/alicloud/ecs/ramRoleAttachment.go @@ -150,6 +150,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Ram Role Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/reservedInstance.go b/sdk/go/alicloud/ecs/reservedInstance.go index a5fcac913a..a95411dacf 100644 --- a/sdk/go/alicloud/ecs/reservedInstance.go +++ b/sdk/go/alicloud/ecs/reservedInstance.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // reservedInstance can be imported using id, e.g. diff --git a/sdk/go/alicloud/ecs/securityGroup.go b/sdk/go/alicloud/ecs/securityGroup.go index c35c754726..ad89f147ac 100644 --- a/sdk/go/alicloud/ecs/securityGroup.go +++ b/sdk/go/alicloud/ecs/securityGroup.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing security-group module diff --git a/sdk/go/alicloud/ecs/securityGroupRule.go b/sdk/go/alicloud/ecs/securityGroupRule.go index 4eaf3a686a..5b226262bc 100644 --- a/sdk/go/alicloud/ecs/securityGroupRule.go +++ b/sdk/go/alicloud/ecs/securityGroupRule.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing security-group module diff --git a/sdk/go/alicloud/ecs/snapshot.go b/sdk/go/alicloud/ecs/snapshot.go index 2509aea74f..d3307769b3 100644 --- a/sdk/go/alicloud/ecs/snapshot.go +++ b/sdk/go/alicloud/ecs/snapshot.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/snapshotPolicy.go b/sdk/go/alicloud/ecs/snapshotPolicy.go index 064f57e65c..f5a37341aa 100644 --- a/sdk/go/alicloud/ecs/snapshotPolicy.go +++ b/sdk/go/alicloud/ecs/snapshotPolicy.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ecs/storageCapacityUnit.go b/sdk/go/alicloud/ecs/storageCapacityUnit.go index e12529340d..5369e629c1 100644 --- a/sdk/go/alicloud/ecs/storageCapacityUnit.go +++ b/sdk/go/alicloud/ecs/storageCapacityUnit.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECS Storage Capacity Unit can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/application.go b/sdk/go/alicloud/edas/application.go index 9a10c7029d..24c9243432 100644 --- a/sdk/go/alicloud/edas/application.go +++ b/sdk/go/alicloud/edas/application.go @@ -87,6 +87,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS application can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/applicationDeployment.go b/sdk/go/alicloud/edas/applicationDeployment.go index 8321281590..51278fabb6 100644 --- a/sdk/go/alicloud/edas/applicationDeployment.go +++ b/sdk/go/alicloud/edas/applicationDeployment.go @@ -150,6 +150,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type ApplicationDeployment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/edas/applicationScale.go b/sdk/go/alicloud/edas/applicationScale.go index a079b426e8..1456a2a89f 100644 --- a/sdk/go/alicloud/edas/applicationScale.go +++ b/sdk/go/alicloud/edas/applicationScale.go @@ -165,6 +165,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type ApplicationScale struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/edas/cluster.go b/sdk/go/alicloud/edas/cluster.go index efd1dbb2a6..f3e1dd7eed 100644 --- a/sdk/go/alicloud/edas/cluster.go +++ b/sdk/go/alicloud/edas/cluster.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/deployGroup.go b/sdk/go/alicloud/edas/deployGroup.go index d0e274b04d..814fcac53b 100644 --- a/sdk/go/alicloud/edas/deployGroup.go +++ b/sdk/go/alicloud/edas/deployGroup.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS deploy group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/instanceClusterAttachment.go b/sdk/go/alicloud/edas/instanceClusterAttachment.go index 10b50ad798..2ed0492b81 100644 --- a/sdk/go/alicloud/edas/instanceClusterAttachment.go +++ b/sdk/go/alicloud/edas/instanceClusterAttachment.go @@ -127,6 +127,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type InstanceClusterAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/edas/k8sApplication.go b/sdk/go/alicloud/edas/k8sApplication.go index 0189893ce9..22d3133c8d 100644 --- a/sdk/go/alicloud/edas/k8sApplication.go +++ b/sdk/go/alicloud/edas/k8sApplication.go @@ -154,6 +154,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS k8s application can be imported as below, e.g. diff --git a/sdk/go/alicloud/edas/k8sCluster.go b/sdk/go/alicloud/edas/k8sCluster.go index c655b64ed2..97f26f7e17 100644 --- a/sdk/go/alicloud/edas/k8sCluster.go +++ b/sdk/go/alicloud/edas/k8sCluster.go @@ -140,6 +140,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/k8sSlbAttachment.go b/sdk/go/alicloud/edas/k8sSlbAttachment.go index aacf55ba42..6fb0770255 100644 --- a/sdk/go/alicloud/edas/k8sSlbAttachment.go +++ b/sdk/go/alicloud/edas/k8sSlbAttachment.go @@ -178,6 +178,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. diff --git a/sdk/go/alicloud/edas/namespace.go b/sdk/go/alicloud/edas/namespace.go index 512ce5ea26..e2d495b7cd 100644 --- a/sdk/go/alicloud/edas/namespace.go +++ b/sdk/go/alicloud/edas/namespace.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EDAS Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/edas/slbAttachment.go b/sdk/go/alicloud/edas/slbAttachment.go index af98cdbaf1..caabb548f0 100644 --- a/sdk/go/alicloud/edas/slbAttachment.go +++ b/sdk/go/alicloud/edas/slbAttachment.go @@ -158,6 +158,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type SlbAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/eds/adConnectorDirectory.go b/sdk/go/alicloud/eds/adConnectorDirectory.go index dfc1f3a16e..ac1d2e247d 100644 --- a/sdk/go/alicloud/eds/adConnectorDirectory.go +++ b/sdk/go/alicloud/eds/adConnectorDirectory.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Ad Connector Directory can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/adConnectorOfficeSite.go b/sdk/go/alicloud/eds/adConnectorOfficeSite.go index b3b538b5b9..daba9e6462 100644 --- a/sdk/go/alicloud/eds/adConnectorOfficeSite.go +++ b/sdk/go/alicloud/eds/adConnectorOfficeSite.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Ad Connector Office Site can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/bundle.go b/sdk/go/alicloud/eds/bundle.go index a4e464af96..d9fda29b48 100644 --- a/sdk/go/alicloud/eds/bundle.go +++ b/sdk/go/alicloud/eds/bundle.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Bundle can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/command.go b/sdk/go/alicloud/eds/command.go index 14e8e71529..61cef1656a 100644 --- a/sdk/go/alicloud/eds/command.go +++ b/sdk/go/alicloud/eds/command.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Command can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/customProperty.go b/sdk/go/alicloud/eds/customProperty.go index b024ab82cd..315cab2d4d 100644 --- a/sdk/go/alicloud/eds/customProperty.go +++ b/sdk/go/alicloud/eds/customProperty.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Custom Property can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/desktop.go b/sdk/go/alicloud/eds/desktop.go index c7b06e6837..f8eb734534 100644 --- a/sdk/go/alicloud/eds/desktop.go +++ b/sdk/go/alicloud/eds/desktop.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Desktop can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/ecdPolicyGroup.go b/sdk/go/alicloud/eds/ecdPolicyGroup.go index 6c0972ebcb..c9e3d73fce 100644 --- a/sdk/go/alicloud/eds/ecdPolicyGroup.go +++ b/sdk/go/alicloud/eds/ecdPolicyGroup.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/image.go b/sdk/go/alicloud/eds/image.go index cbb1ffbba2..dec82243fd 100644 --- a/sdk/go/alicloud/eds/image.go +++ b/sdk/go/alicloud/eds/image.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Image can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/nasFileSystem.go b/sdk/go/alicloud/eds/nasFileSystem.go index bf8f875ba9..d9ceede0ac 100644 --- a/sdk/go/alicloud/eds/nasFileSystem.go +++ b/sdk/go/alicloud/eds/nasFileSystem.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Nas File System can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/networkPackage.go b/sdk/go/alicloud/eds/networkPackage.go index 03cd4ebbdf..01c7181b92 100644 --- a/sdk/go/alicloud/eds/networkPackage.go +++ b/sdk/go/alicloud/eds/networkPackage.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Network Package can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/ramDirectory.go b/sdk/go/alicloud/eds/ramDirectory.go index be6320acd0..92efaa97da 100644 --- a/sdk/go/alicloud/eds/ramDirectory.go +++ b/sdk/go/alicloud/eds/ramDirectory.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Ram Directory can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/simpleOfficeSite.go b/sdk/go/alicloud/eds/simpleOfficeSite.go index 0776493d04..16d22b6706 100644 --- a/sdk/go/alicloud/eds/simpleOfficeSite.go +++ b/sdk/go/alicloud/eds/simpleOfficeSite.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Simple Office Site can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/snapshot.go b/sdk/go/alicloud/eds/snapshot.go index 76254ef6ba..b1929a4cdb 100644 --- a/sdk/go/alicloud/eds/snapshot.go +++ b/sdk/go/alicloud/eds/snapshot.go @@ -116,6 +116,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eds/user.go b/sdk/go/alicloud/eds/user.go index 640a498ca6..a27f504a58 100644 --- a/sdk/go/alicloud/eds/user.go +++ b/sdk/go/alicloud/eds/user.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ECD User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/cluster.go b/sdk/go/alicloud/eflo/cluster.go index 4392a3a35c..66afbe4ac8 100644 --- a/sdk/go/alicloud/eflo/cluster.go +++ b/sdk/go/alicloud/eflo/cluster.go @@ -166,6 +166,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/er.go b/sdk/go/alicloud/eflo/er.go index 1e4b5a6ea9..65c5103d41 100644 --- a/sdk/go/alicloud/eflo/er.go +++ b/sdk/go/alicloud/eflo/er.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Er can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/experimentPlan.go b/sdk/go/alicloud/eflo/experimentPlan.go index 1bb1832696..4d621df936 100644 --- a/sdk/go/alicloud/eflo/experimentPlan.go +++ b/sdk/go/alicloud/eflo/experimentPlan.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Experiment Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/experimentPlanTemplate.go b/sdk/go/alicloud/eflo/experimentPlanTemplate.go index 0f0e695194..6f2483e41e 100644 --- a/sdk/go/alicloud/eflo/experimentPlanTemplate.go +++ b/sdk/go/alicloud/eflo/experimentPlanTemplate.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Experiment Plan Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/hyperNode.go b/sdk/go/alicloud/eflo/hyperNode.go index 6d869b099f..975a1cbbe1 100644 --- a/sdk/go/alicloud/eflo/hyperNode.go +++ b/sdk/go/alicloud/eflo/hyperNode.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Hyper Node can be imported using the id, e.g. @@ -76,12 +78,21 @@ import ( type HyperNode struct { pulumi.CustomResourceState + // Cluster ID + ClusterId pulumi.StringPtrOutput `pulumi:"clusterId"` // The creation time of the resource - CreateTime pulumi.StringOutput `pulumi:"createTime"` - // Number of the cluster to which the supercompute node belongs + CreateTime pulumi.StringOutput `pulumi:"createTime"` + DataDisks HyperNodeDataDiskArrayOutput `pulumi:"dataDisks"` + // The host name prefix of the sub computing node + Hostname pulumi.StringPtrOutput `pulumi:"hostname"` + // Number of the cluster to which the hyper computing node belongs HpnZone pulumi.StringPtrOutput `pulumi:"hpnZone"` - // The model used by the super computing node + // Login Password of the sub computing node + LoginPassword pulumi.StringPtrOutput `pulumi:"loginPassword"` + // The model used by the hyper computing node MachineType pulumi.StringPtrOutput `pulumi:"machineType"` + // Node group ID + NodeGroupId pulumi.StringPtrOutput `pulumi:"nodeGroupId"` // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -96,9 +107,9 @@ type HyperNode struct { RenewalStatus pulumi.StringOutput `pulumi:"renewalStatus"` // The ID of the resource group ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` - // Super Node Architecture + // Hyper Node Architecture ServerArch pulumi.StringPtrOutput `pulumi:"serverArch"` - // The number of installments of the supercomputing node of the fixed fee installment. + // The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrOutput `pulumi:"stageNum"` @@ -106,7 +117,13 @@ type HyperNode struct { Status pulumi.StringOutput `pulumi:"status"` // The tag of the resource Tags pulumi.StringMapOutput `pulumi:"tags"` - // The zone where the super compute node is located + // Custom user data for the sub computing node + UserData pulumi.StringPtrOutput `pulumi:"userData"` + // The ID of the vpc to which the sub computing node + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` + // The ID of the vswitch to which the sub computing node + VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"` + // The zone where the hyper compute node is located ZoneId pulumi.StringPtrOutput `pulumi:"zoneId"` } @@ -120,6 +137,13 @@ func NewHyperNode(ctx *pulumi.Context, if args.PaymentType == nil { return nil, errors.New("invalid value for required argument 'PaymentType'") } + if args.LoginPassword != nil { + args.LoginPassword = pulumi.ToSecret(args.LoginPassword).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "loginPassword", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource HyperNode err := ctx.RegisterResource("alicloud:eflo/hyperNode:HyperNode", name, args, &resource, opts...) @@ -143,12 +167,21 @@ func GetHyperNode(ctx *pulumi.Context, // Input properties used for looking up and filtering HyperNode resources. type hyperNodeState struct { + // Cluster ID + ClusterId *string `pulumi:"clusterId"` // The creation time of the resource - CreateTime *string `pulumi:"createTime"` - // Number of the cluster to which the supercompute node belongs + CreateTime *string `pulumi:"createTime"` + DataDisks []HyperNodeDataDisk `pulumi:"dataDisks"` + // The host name prefix of the sub computing node + Hostname *string `pulumi:"hostname"` + // Number of the cluster to which the hyper computing node belongs HpnZone *string `pulumi:"hpnZone"` - // The model used by the super computing node + // Login Password of the sub computing node + LoginPassword *string `pulumi:"loginPassword"` + // The model used by the hyper computing node MachineType *string `pulumi:"machineType"` + // Node group ID + NodeGroupId *string `pulumi:"nodeGroupId"` // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -163,9 +196,9 @@ type hyperNodeState struct { RenewalStatus *string `pulumi:"renewalStatus"` // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` - // Super Node Architecture + // Hyper Node Architecture ServerArch *string `pulumi:"serverArch"` - // The number of installments of the supercomputing node of the fixed fee installment. + // The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum *string `pulumi:"stageNum"` @@ -173,17 +206,32 @@ type hyperNodeState struct { Status *string `pulumi:"status"` // The tag of the resource Tags map[string]string `pulumi:"tags"` - // The zone where the super compute node is located + // Custom user data for the sub computing node + UserData *string `pulumi:"userData"` + // The ID of the vpc to which the sub computing node + VpcId *string `pulumi:"vpcId"` + // The ID of the vswitch to which the sub computing node + VswitchId *string `pulumi:"vswitchId"` + // The zone where the hyper compute node is located ZoneId *string `pulumi:"zoneId"` } type HyperNodeState struct { + // Cluster ID + ClusterId pulumi.StringPtrInput // The creation time of the resource CreateTime pulumi.StringPtrInput - // Number of the cluster to which the supercompute node belongs + DataDisks HyperNodeDataDiskArrayInput + // The host name prefix of the sub computing node + Hostname pulumi.StringPtrInput + // Number of the cluster to which the hyper computing node belongs HpnZone pulumi.StringPtrInput - // The model used by the super computing node + // Login Password of the sub computing node + LoginPassword pulumi.StringPtrInput + // The model used by the hyper computing node MachineType pulumi.StringPtrInput + // Node group ID + NodeGroupId pulumi.StringPtrInput // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -198,9 +246,9 @@ type HyperNodeState struct { RenewalStatus pulumi.StringPtrInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput - // Super Node Architecture + // Hyper Node Architecture ServerArch pulumi.StringPtrInput - // The number of installments of the supercomputing node of the fixed fee installment. + // The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrInput @@ -208,7 +256,13 @@ type HyperNodeState struct { Status pulumi.StringPtrInput // The tag of the resource Tags pulumi.StringMapInput - // The zone where the super compute node is located + // Custom user data for the sub computing node + UserData pulumi.StringPtrInput + // The ID of the vpc to which the sub computing node + VpcId pulumi.StringPtrInput + // The ID of the vswitch to which the sub computing node + VswitchId pulumi.StringPtrInput + // The zone where the hyper compute node is located ZoneId pulumi.StringPtrInput } @@ -217,10 +271,19 @@ func (HyperNodeState) ElementType() reflect.Type { } type hyperNodeArgs struct { - // Number of the cluster to which the supercompute node belongs + // Cluster ID + ClusterId *string `pulumi:"clusterId"` + DataDisks []HyperNodeDataDisk `pulumi:"dataDisks"` + // The host name prefix of the sub computing node + Hostname *string `pulumi:"hostname"` + // Number of the cluster to which the hyper computing node belongs HpnZone *string `pulumi:"hpnZone"` - // The model used by the super computing node + // Login Password of the sub computing node + LoginPassword *string `pulumi:"loginPassword"` + // The model used by the hyper computing node MachineType *string `pulumi:"machineType"` + // Node group ID + NodeGroupId *string `pulumi:"nodeGroupId"` // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -233,24 +296,39 @@ type hyperNodeArgs struct { RenewalStatus *string `pulumi:"renewalStatus"` // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` - // Super Node Architecture + // Hyper Node Architecture ServerArch *string `pulumi:"serverArch"` - // The number of installments of the supercomputing node of the fixed fee installment. + // The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum *string `pulumi:"stageNum"` // The tag of the resource Tags map[string]string `pulumi:"tags"` - // The zone where the super compute node is located + // Custom user data for the sub computing node + UserData *string `pulumi:"userData"` + // The ID of the vpc to which the sub computing node + VpcId *string `pulumi:"vpcId"` + // The ID of the vswitch to which the sub computing node + VswitchId *string `pulumi:"vswitchId"` + // The zone where the hyper compute node is located ZoneId *string `pulumi:"zoneId"` } // The set of arguments for constructing a HyperNode resource. type HyperNodeArgs struct { - // Number of the cluster to which the supercompute node belongs + // Cluster ID + ClusterId pulumi.StringPtrInput + DataDisks HyperNodeDataDiskArrayInput + // The host name prefix of the sub computing node + Hostname pulumi.StringPtrInput + // Number of the cluster to which the hyper computing node belongs HpnZone pulumi.StringPtrInput - // The model used by the super computing node + // Login Password of the sub computing node + LoginPassword pulumi.StringPtrInput + // The model used by the hyper computing node MachineType pulumi.StringPtrInput + // Node group ID + NodeGroupId pulumi.StringPtrInput // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -263,15 +341,21 @@ type HyperNodeArgs struct { RenewalStatus pulumi.StringPtrInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput - // Super Node Architecture + // Hyper Node Architecture ServerArch pulumi.StringPtrInput - // The number of installments of the supercomputing node of the fixed fee installment. + // The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrInput // The tag of the resource Tags pulumi.StringMapInput - // The zone where the super compute node is located + // Custom user data for the sub computing node + UserData pulumi.StringPtrInput + // The ID of the vpc to which the sub computing node + VpcId pulumi.StringPtrInput + // The ID of the vswitch to which the sub computing node + VswitchId pulumi.StringPtrInput + // The zone where the hyper compute node is located ZoneId pulumi.StringPtrInput } @@ -362,21 +446,45 @@ func (o HyperNodeOutput) ToHyperNodeOutputWithContext(ctx context.Context) Hyper return o } +// Cluster ID +func (o HyperNodeOutput) ClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.ClusterId }).(pulumi.StringPtrOutput) +} + // The creation time of the resource func (o HyperNodeOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } -// Number of the cluster to which the supercompute node belongs +func (o HyperNodeOutput) DataDisks() HyperNodeDataDiskArrayOutput { + return o.ApplyT(func(v *HyperNode) HyperNodeDataDiskArrayOutput { return v.DataDisks }).(HyperNodeDataDiskArrayOutput) +} + +// The host name prefix of the sub computing node +func (o HyperNodeOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.Hostname }).(pulumi.StringPtrOutput) +} + +// Number of the cluster to which the hyper computing node belongs func (o HyperNodeOutput) HpnZone() pulumi.StringPtrOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.HpnZone }).(pulumi.StringPtrOutput) } -// The model used by the super computing node +// Login Password of the sub computing node +func (o HyperNodeOutput) LoginPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.LoginPassword }).(pulumi.StringPtrOutput) +} + +// The model used by the hyper computing node func (o HyperNodeOutput) MachineType() pulumi.StringPtrOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.MachineType }).(pulumi.StringPtrOutput) } +// Node group ID +func (o HyperNodeOutput) NodeGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.NodeGroupId }).(pulumi.StringPtrOutput) +} + // The duration of the instance purchase, in units. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -409,12 +517,12 @@ func (o HyperNodeOutput) ResourceGroupId() pulumi.StringOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) } -// Super Node Architecture +// Hyper Node Architecture func (o HyperNodeOutput) ServerArch() pulumi.StringPtrOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.ServerArch }).(pulumi.StringPtrOutput) } -// The number of installments of the supercomputing node of the fixed fee installment. +// The number of installments of the hyper computing node of the fixed fee installment. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o HyperNodeOutput) StageNum() pulumi.StringPtrOutput { @@ -431,7 +539,22 @@ func (o HyperNodeOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -// The zone where the super compute node is located +// Custom user data for the sub computing node +func (o HyperNodeOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +// The ID of the vpc to which the sub computing node +func (o HyperNodeOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + +// The ID of the vswitch to which the sub computing node +func (o HyperNodeOutput) VswitchId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.VswitchId }).(pulumi.StringPtrOutput) +} + +// The zone where the hyper compute node is located func (o HyperNodeOutput) ZoneId() pulumi.StringPtrOutput { return o.ApplyT(func(v *HyperNode) pulumi.StringPtrOutput { return v.ZoneId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/alicloud/eflo/node.go b/sdk/go/alicloud/eflo/node.go index 514046d565..1b39d4dee0 100644 --- a/sdk/go/alicloud/eflo/node.go +++ b/sdk/go/alicloud/eflo/node.go @@ -11,66 +11,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a Eflo Node resource. -// -// Large computing node. -// -// For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). -// -// > **NOTE:** Available since v1.246.0. -// -// ## Example Usage -// -// # Basic Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eflo" -// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// cfg := config.New(ctx, "") -// name := "terraform-example" -// if param := cfg.Get("name"); param != "" { -// name = param -// } -// _, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil) -// if err != nil { -// return err -// } -// _, err = eflo.NewNode(ctx, "default", &eflo.NodeArgs{ -// Period: pulumi.Int(36), -// DiscountLevel: pulumi.String("36"), -// BillingCycle: pulumi.String("1month"), -// Classify: pulumi.String("gpuserver"), -// Zone: pulumi.String("cn-hangzhou-b"), -// ProductForm: pulumi.String("instance"), -// PaymentRatio: pulumi.String("0"), -// HpnZone: pulumi.String("B1"), -// ServerArch: pulumi.String("bmserver"), -// ComputingServer: pulumi.String("efg1.nvga1n"), -// StageNum: pulumi.String("36"), -// RenewalStatus: pulumi.String("AutoRenewal"), -// RenewPeriod: pulumi.Int(36), -// Status: pulumi.String("Unused"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Eflo Node can be imported using the id, e.g. @@ -82,31 +22,57 @@ type Node struct { pulumi.CustomResourceState // Billing cycle + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. BillingCycle pulumi.StringPtrOutput `pulumi:"billingCycle"` // Classification + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Classify pulumi.StringPtrOutput `pulumi:"classify"` - // Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + // Cluster id + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. ComputingServer pulumi.StringOutput `pulumi:"computingServer"` // The creation time of the resource CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + DataDisks NodeDataDiskArrayOutput `pulumi:"dataDisks"` // Offer Information + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. DiscountLevel pulumi.StringPtrOutput `pulumi:"discountLevel"` + // Host name + Hostname pulumi.StringOutput `pulumi:"hostname"` // Cluster Number HpnZone pulumi.StringPtrOutput `pulumi:"hpnZone"` // Whether to buy PAI. default value `false`. InstallPai pulumi.BoolPtrOutput `pulumi:"installPai"` + // IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + IpAllocationPolicies NodeIpAllocationPolicyArrayOutput `pulumi:"ipAllocationPolicies"` + // Login Password + LoginPassword pulumi.StringPtrOutput `pulumi:"loginPassword"` // Model MachineType pulumi.StringOutput `pulumi:"machineType"` + // node group id + NodeGroupId pulumi.StringOutput `pulumi:"nodeGroupId"` + // node type + NodeType pulumi.StringOutput `pulumi:"nodeType"` // Down payment ratio + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PaymentRatio pulumi.StringPtrOutput `pulumi:"paymentRatio"` // The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. // The default is Subscription. PaymentType pulumi.StringOutput `pulumi:"paymentType"` // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Period pulumi.IntPtrOutput `pulumi:"period"` // Form + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ProductForm pulumi.StringPtrOutput `pulumi:"productForm"` // The region ID of the resource RegionId pulumi.StringOutput `pulumi:"regionId"` @@ -123,13 +89,23 @@ type Node struct { // The ID of the resource group ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` // Architecture + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ServerArch pulumi.StringPtrOutput `pulumi:"serverArch"` // Number of stages + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrOutput `pulumi:"stageNum"` // The status of the resource Status pulumi.StringOutput `pulumi:"status"` // The tag of the resource Tags pulumi.StringMapOutput `pulumi:"tags"` + // Custom Data + UserData pulumi.StringOutput `pulumi:"userData"` + // VPC ID + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // Switch ID + VswitchId pulumi.StringOutput `pulumi:"vswitchId"` // Availability Zone Zone pulumi.StringPtrOutput `pulumi:"zone"` } @@ -141,6 +117,13 @@ func NewNode(ctx *pulumi.Context, args = &NodeArgs{} } + if args.LoginPassword != nil { + args.LoginPassword = pulumi.ToSecret(args.LoginPassword).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "loginPassword", + }) + opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource Node err := ctx.RegisterResource("alicloud:eflo/node:Node", name, args, &resource, opts...) @@ -165,31 +148,57 @@ func GetNode(ctx *pulumi.Context, // Input properties used for looking up and filtering Node resources. type nodeState struct { // Billing cycle + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. BillingCycle *string `pulumi:"billingCycle"` // Classification + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Classify *string `pulumi:"classify"` - // Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + // Cluster id + ClusterId *string `pulumi:"clusterId"` + // Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. ComputingServer *string `pulumi:"computingServer"` // The creation time of the resource CreateTime *string `pulumi:"createTime"` + // The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + DataDisks []NodeDataDisk `pulumi:"dataDisks"` // Offer Information + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. DiscountLevel *string `pulumi:"discountLevel"` + // Host name + Hostname *string `pulumi:"hostname"` // Cluster Number HpnZone *string `pulumi:"hpnZone"` // Whether to buy PAI. default value `false`. InstallPai *bool `pulumi:"installPai"` + // IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + IpAllocationPolicies []NodeIpAllocationPolicy `pulumi:"ipAllocationPolicies"` + // Login Password + LoginPassword *string `pulumi:"loginPassword"` // Model MachineType *string `pulumi:"machineType"` + // node group id + NodeGroupId *string `pulumi:"nodeGroupId"` + // node type + NodeType *string `pulumi:"nodeType"` // Down payment ratio + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PaymentRatio *string `pulumi:"paymentRatio"` // The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. // The default is Subscription. PaymentType *string `pulumi:"paymentType"` // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Period *int `pulumi:"period"` // Form + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ProductForm *string `pulumi:"productForm"` // The region ID of the resource RegionId *string `pulumi:"regionId"` @@ -206,44 +215,80 @@ type nodeState struct { // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` // Architecture + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ServerArch *string `pulumi:"serverArch"` // Number of stages + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum *string `pulumi:"stageNum"` // The status of the resource Status *string `pulumi:"status"` // The tag of the resource Tags map[string]string `pulumi:"tags"` + // Custom Data + UserData *string `pulumi:"userData"` + // VPC ID + VpcId *string `pulumi:"vpcId"` + // Switch ID + VswitchId *string `pulumi:"vswitchId"` // Availability Zone Zone *string `pulumi:"zone"` } type NodeState struct { // Billing cycle + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. BillingCycle pulumi.StringPtrInput // Classification + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Classify pulumi.StringPtrInput - // Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + // Cluster id + ClusterId pulumi.StringPtrInput + // Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. ComputingServer pulumi.StringPtrInput // The creation time of the resource CreateTime pulumi.StringPtrInput + // The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + DataDisks NodeDataDiskArrayInput // Offer Information + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. DiscountLevel pulumi.StringPtrInput + // Host name + Hostname pulumi.StringPtrInput // Cluster Number HpnZone pulumi.StringPtrInput // Whether to buy PAI. default value `false`. InstallPai pulumi.BoolPtrInput + // IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + IpAllocationPolicies NodeIpAllocationPolicyArrayInput + // Login Password + LoginPassword pulumi.StringPtrInput // Model MachineType pulumi.StringPtrInput + // node group id + NodeGroupId pulumi.StringPtrInput + // node type + NodeType pulumi.StringPtrInput // Down payment ratio + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PaymentRatio pulumi.StringPtrInput // The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. // The default is Subscription. PaymentType pulumi.StringPtrInput // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Period pulumi.IntPtrInput // Form + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ProductForm pulumi.StringPtrInput // The region ID of the resource RegionId pulumi.StringPtrInput @@ -260,13 +305,23 @@ type NodeState struct { // The ID of the resource group ResourceGroupId pulumi.StringPtrInput // Architecture + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ServerArch pulumi.StringPtrInput // Number of stages + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrInput // The status of the resource Status pulumi.StringPtrInput // The tag of the resource Tags pulumi.StringMapInput + // Custom Data + UserData pulumi.StringPtrInput + // VPC ID + VpcId pulumi.StringPtrInput + // Switch ID + VswitchId pulumi.StringPtrInput // Availability Zone Zone pulumi.StringPtrInput } @@ -277,29 +332,55 @@ func (NodeState) ElementType() reflect.Type { type nodeArgs struct { // Billing cycle + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. BillingCycle *string `pulumi:"billingCycle"` // Classification + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Classify *string `pulumi:"classify"` - // Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + // Cluster id + ClusterId *string `pulumi:"clusterId"` + // Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. ComputingServer *string `pulumi:"computingServer"` + // The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + DataDisks []NodeDataDisk `pulumi:"dataDisks"` // Offer Information + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. DiscountLevel *string `pulumi:"discountLevel"` + // Host name + Hostname *string `pulumi:"hostname"` // Cluster Number HpnZone *string `pulumi:"hpnZone"` // Whether to buy PAI. default value `false`. InstallPai *bool `pulumi:"installPai"` + // IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + IpAllocationPolicies []NodeIpAllocationPolicy `pulumi:"ipAllocationPolicies"` + // Login Password + LoginPassword *string `pulumi:"loginPassword"` // Model MachineType *string `pulumi:"machineType"` + // node group id + NodeGroupId *string `pulumi:"nodeGroupId"` + // node type + NodeType *string `pulumi:"nodeType"` // Down payment ratio + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PaymentRatio *string `pulumi:"paymentRatio"` // The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. // The default is Subscription. PaymentType *string `pulumi:"paymentType"` // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Period *int `pulumi:"period"` // Form + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ProductForm *string `pulumi:"productForm"` // Automatic renewal period, in months. // @@ -314,13 +395,23 @@ type nodeArgs struct { // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` // Architecture + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ServerArch *string `pulumi:"serverArch"` // Number of stages + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum *string `pulumi:"stageNum"` // The status of the resource Status *string `pulumi:"status"` // The tag of the resource Tags map[string]string `pulumi:"tags"` + // Custom Data + UserData *string `pulumi:"userData"` + // VPC ID + VpcId *string `pulumi:"vpcId"` + // Switch ID + VswitchId *string `pulumi:"vswitchId"` // Availability Zone Zone *string `pulumi:"zone"` } @@ -328,29 +419,55 @@ type nodeArgs struct { // The set of arguments for constructing a Node resource. type NodeArgs struct { // Billing cycle + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. BillingCycle pulumi.StringPtrInput // Classification + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Classify pulumi.StringPtrInput - // Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + // Cluster id + ClusterId pulumi.StringPtrInput + // Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. ComputingServer pulumi.StringPtrInput + // The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + DataDisks NodeDataDiskArrayInput // Offer Information + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. DiscountLevel pulumi.StringPtrInput + // Host name + Hostname pulumi.StringPtrInput // Cluster Number HpnZone pulumi.StringPtrInput // Whether to buy PAI. default value `false`. InstallPai pulumi.BoolPtrInput + // IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + IpAllocationPolicies NodeIpAllocationPolicyArrayInput + // Login Password + LoginPassword pulumi.StringPtrInput // Model MachineType pulumi.StringPtrInput + // node group id + NodeGroupId pulumi.StringPtrInput + // node type + NodeType pulumi.StringPtrInput // Down payment ratio + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PaymentRatio pulumi.StringPtrInput // The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. // The default is Subscription. PaymentType pulumi.StringPtrInput // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Period pulumi.IntPtrInput // Form + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ProductForm pulumi.StringPtrInput // Automatic renewal period, in months. // @@ -365,13 +482,23 @@ type NodeArgs struct { // The ID of the resource group ResourceGroupId pulumi.StringPtrInput // Architecture + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ServerArch pulumi.StringPtrInput // Number of stages + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. StageNum pulumi.StringPtrInput // The status of the resource Status pulumi.StringPtrInput // The tag of the resource Tags pulumi.StringMapInput + // Custom Data + UserData pulumi.StringPtrInput + // VPC ID + VpcId pulumi.StringPtrInput + // Switch ID + VswitchId pulumi.StringPtrInput // Availability Zone Zone pulumi.StringPtrInput } @@ -464,16 +591,25 @@ func (o NodeOutput) ToNodeOutputWithContext(ctx context.Context) NodeOutput { } // Billing cycle +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) BillingCycle() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.BillingCycle }).(pulumi.StringPtrOutput) } // Classification +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) Classify() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.Classify }).(pulumi.StringPtrOutput) } -// Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. +// Cluster id +func (o NodeOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// Node Model // // Deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. func (o NodeOutput) ComputingServer() pulumi.StringOutput { @@ -485,11 +621,23 @@ func (o NodeOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } +// The data disk of the cloud disk to be attached to the node. See `dataDisk` below. +func (o NodeOutput) DataDisks() NodeDataDiskArrayOutput { + return o.ApplyT(func(v *Node) NodeDataDiskArrayOutput { return v.DataDisks }).(NodeDataDiskArrayOutput) +} + // Offer Information +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) DiscountLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.DiscountLevel }).(pulumi.StringPtrOutput) } +// Host name +func (o NodeOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput) +} + // Cluster Number func (o NodeOutput) HpnZone() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.HpnZone }).(pulumi.StringPtrOutput) @@ -500,12 +648,34 @@ func (o NodeOutput) InstallPai() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Node) pulumi.BoolPtrOutput { return v.InstallPai }).(pulumi.BoolPtrOutput) } +// IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. +func (o NodeOutput) IpAllocationPolicies() NodeIpAllocationPolicyArrayOutput { + return o.ApplyT(func(v *Node) NodeIpAllocationPolicyArrayOutput { return v.IpAllocationPolicies }).(NodeIpAllocationPolicyArrayOutput) +} + +// Login Password +func (o NodeOutput) LoginPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.LoginPassword }).(pulumi.StringPtrOutput) +} + // Model func (o NodeOutput) MachineType() pulumi.StringOutput { return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.MachineType }).(pulumi.StringOutput) } +// node group id +func (o NodeOutput) NodeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.NodeGroupId }).(pulumi.StringOutput) +} + +// node type +func (o NodeOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) +} + // Down payment ratio +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) PaymentRatio() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.PaymentRatio }).(pulumi.StringPtrOutput) } @@ -517,11 +687,15 @@ func (o NodeOutput) PaymentType() pulumi.StringOutput { } // Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) Period() pulumi.IntPtrOutput { return o.ApplyT(func(v *Node) pulumi.IntPtrOutput { return v.Period }).(pulumi.IntPtrOutput) } // Form +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) ProductForm() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.ProductForm }).(pulumi.StringPtrOutput) } @@ -553,11 +727,15 @@ func (o NodeOutput) ResourceGroupId() pulumi.StringOutput { } // Architecture +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) ServerArch() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.ServerArch }).(pulumi.StringPtrOutput) } // Number of stages +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o NodeOutput) StageNum() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.StageNum }).(pulumi.StringPtrOutput) } @@ -572,6 +750,21 @@ func (o NodeOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Node) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } +// Custom Data +func (o NodeOutput) UserData() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.UserData }).(pulumi.StringOutput) +} + +// VPC ID +func (o NodeOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// Switch ID +func (o NodeOutput) VswitchId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.VswitchId }).(pulumi.StringOutput) +} + // Availability Zone func (o NodeOutput) Zone() pulumi.StringPtrOutput { return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.Zone }).(pulumi.StringPtrOutput) diff --git a/sdk/go/alicloud/eflo/nodeGroup.go b/sdk/go/alicloud/eflo/nodeGroup.go index 2536e04552..bfc30239bc 100644 --- a/sdk/go/alicloud/eflo/nodeGroup.go +++ b/sdk/go/alicloud/eflo/nodeGroup.go @@ -248,6 +248,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Node Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/nodeGroupAttachment.go b/sdk/go/alicloud/eflo/nodeGroupAttachment.go index c4aca39ac5..c2c3afdf46 100644 --- a/sdk/go/alicloud/eflo/nodeGroupAttachment.go +++ b/sdk/go/alicloud/eflo/nodeGroupAttachment.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Node Group Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/pulumiTypes.go b/sdk/go/alicloud/eflo/pulumiTypes.go index 365dc1cc0c..cb21853462 100644 --- a/sdk/go/alicloud/eflo/pulumiTypes.go +++ b/sdk/go/alicloud/eflo/pulumiTypes.go @@ -2421,6 +2421,272 @@ func (o ExperimentPlanTemplateTemplatePipelineEnvParamsOutput) WorkerNum() pulum return o.ApplyT(func(v ExperimentPlanTemplateTemplatePipelineEnvParams) int { return v.WorkerNum }).(pulumi.IntOutput) } +type HyperNodeDataDisk struct { + // Whether to enable Burst (performance Burst). + BurstingEnabled *bool `pulumi:"burstingEnabled"` + // The disk type. Value range: + // - cloud_essd:ESSD cloud disk. + Category *string `pulumi:"category"` + // Whether the data disk is unsubscribed and deleted with the node. + DeleteWithNode *bool `pulumi:"deleteWithNode"` + // When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + // - PL0: maximum random read/write IOPS 10000 for a single disk. + // - PL1: maximum random read/write IOPS 50000 for a single disk. + PerformanceLevel *string `pulumi:"performanceLevel"` + // ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + ProvisionedIops *int `pulumi:"provisionedIops"` + // The size of the disk. The unit is GiB. + Size *int `pulumi:"size"` +} + +// HyperNodeDataDiskInput is an input type that accepts HyperNodeDataDiskArgs and HyperNodeDataDiskOutput values. +// You can construct a concrete instance of `HyperNodeDataDiskInput` via: +// +// HyperNodeDataDiskArgs{...} +type HyperNodeDataDiskInput interface { + pulumi.Input + + ToHyperNodeDataDiskOutput() HyperNodeDataDiskOutput + ToHyperNodeDataDiskOutputWithContext(context.Context) HyperNodeDataDiskOutput +} + +type HyperNodeDataDiskArgs struct { + // Whether to enable Burst (performance Burst). + BurstingEnabled pulumi.BoolPtrInput `pulumi:"burstingEnabled"` + // The disk type. Value range: + // - cloud_essd:ESSD cloud disk. + Category pulumi.StringPtrInput `pulumi:"category"` + // Whether the data disk is unsubscribed and deleted with the node. + DeleteWithNode pulumi.BoolPtrInput `pulumi:"deleteWithNode"` + // When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + // - PL0: maximum random read/write IOPS 10000 for a single disk. + // - PL1: maximum random read/write IOPS 50000 for a single disk. + PerformanceLevel pulumi.StringPtrInput `pulumi:"performanceLevel"` + // ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + ProvisionedIops pulumi.IntPtrInput `pulumi:"provisionedIops"` + // The size of the disk. The unit is GiB. + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (HyperNodeDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HyperNodeDataDisk)(nil)).Elem() +} + +func (i HyperNodeDataDiskArgs) ToHyperNodeDataDiskOutput() HyperNodeDataDiskOutput { + return i.ToHyperNodeDataDiskOutputWithContext(context.Background()) +} + +func (i HyperNodeDataDiskArgs) ToHyperNodeDataDiskOutputWithContext(ctx context.Context) HyperNodeDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(HyperNodeDataDiskOutput) +} + +// HyperNodeDataDiskArrayInput is an input type that accepts HyperNodeDataDiskArray and HyperNodeDataDiskArrayOutput values. +// You can construct a concrete instance of `HyperNodeDataDiskArrayInput` via: +// +// HyperNodeDataDiskArray{ HyperNodeDataDiskArgs{...} } +type HyperNodeDataDiskArrayInput interface { + pulumi.Input + + ToHyperNodeDataDiskArrayOutput() HyperNodeDataDiskArrayOutput + ToHyperNodeDataDiskArrayOutputWithContext(context.Context) HyperNodeDataDiskArrayOutput +} + +type HyperNodeDataDiskArray []HyperNodeDataDiskInput + +func (HyperNodeDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HyperNodeDataDisk)(nil)).Elem() +} + +func (i HyperNodeDataDiskArray) ToHyperNodeDataDiskArrayOutput() HyperNodeDataDiskArrayOutput { + return i.ToHyperNodeDataDiskArrayOutputWithContext(context.Background()) +} + +func (i HyperNodeDataDiskArray) ToHyperNodeDataDiskArrayOutputWithContext(ctx context.Context) HyperNodeDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HyperNodeDataDiskArrayOutput) +} + +type HyperNodeDataDiskOutput struct{ *pulumi.OutputState } + +func (HyperNodeDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HyperNodeDataDisk)(nil)).Elem() +} + +func (o HyperNodeDataDiskOutput) ToHyperNodeDataDiskOutput() HyperNodeDataDiskOutput { + return o +} + +func (o HyperNodeDataDiskOutput) ToHyperNodeDataDiskOutputWithContext(ctx context.Context) HyperNodeDataDiskOutput { + return o +} + +// Whether to enable Burst (performance Burst). +func (o HyperNodeDataDiskOutput) BurstingEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *bool { return v.BurstingEnabled }).(pulumi.BoolPtrOutput) +} + +// The disk type. Value range: +// - cloud_essd:ESSD cloud disk. +func (o HyperNodeDataDiskOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *string { return v.Category }).(pulumi.StringPtrOutput) +} + +// Whether the data disk is unsubscribed and deleted with the node. +func (o HyperNodeDataDiskOutput) DeleteWithNode() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *bool { return v.DeleteWithNode }).(pulumi.BoolPtrOutput) +} + +// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: +// - PL0: maximum random read/write IOPS 10000 for a single disk. +// - PL1: maximum random read/write IOPS 50000 for a single disk. +func (o HyperNodeDataDiskOutput) PerformanceLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *string { return v.PerformanceLevel }).(pulumi.StringPtrOutput) +} + +// ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. +func (o HyperNodeDataDiskOutput) ProvisionedIops() pulumi.IntPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *int { return v.ProvisionedIops }).(pulumi.IntPtrOutput) +} + +// The size of the disk. The unit is GiB. +func (o HyperNodeDataDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v HyperNodeDataDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type HyperNodeDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (HyperNodeDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HyperNodeDataDisk)(nil)).Elem() +} + +func (o HyperNodeDataDiskArrayOutput) ToHyperNodeDataDiskArrayOutput() HyperNodeDataDiskArrayOutput { + return o +} + +func (o HyperNodeDataDiskArrayOutput) ToHyperNodeDataDiskArrayOutputWithContext(ctx context.Context) HyperNodeDataDiskArrayOutput { + return o +} + +func (o HyperNodeDataDiskArrayOutput) Index(i pulumi.IntInput) HyperNodeDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HyperNodeDataDisk { + return vs[0].([]HyperNodeDataDisk)[vs[1].(int)] + }).(HyperNodeDataDiskOutput) +} + +type NodeDataDisk struct { + // Data disk type + Category *string `pulumi:"category"` + // Performance level + PerformanceLevel *string `pulumi:"performanceLevel"` + // Data disk size + Size *int `pulumi:"size"` +} + +// NodeDataDiskInput is an input type that accepts NodeDataDiskArgs and NodeDataDiskOutput values. +// You can construct a concrete instance of `NodeDataDiskInput` via: +// +// NodeDataDiskArgs{...} +type NodeDataDiskInput interface { + pulumi.Input + + ToNodeDataDiskOutput() NodeDataDiskOutput + ToNodeDataDiskOutputWithContext(context.Context) NodeDataDiskOutput +} + +type NodeDataDiskArgs struct { + // Data disk type + Category pulumi.StringPtrInput `pulumi:"category"` + // Performance level + PerformanceLevel pulumi.StringPtrInput `pulumi:"performanceLevel"` + // Data disk size + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (NodeDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeDataDisk)(nil)).Elem() +} + +func (i NodeDataDiskArgs) ToNodeDataDiskOutput() NodeDataDiskOutput { + return i.ToNodeDataDiskOutputWithContext(context.Background()) +} + +func (i NodeDataDiskArgs) ToNodeDataDiskOutputWithContext(ctx context.Context) NodeDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeDataDiskOutput) +} + +// NodeDataDiskArrayInput is an input type that accepts NodeDataDiskArray and NodeDataDiskArrayOutput values. +// You can construct a concrete instance of `NodeDataDiskArrayInput` via: +// +// NodeDataDiskArray{ NodeDataDiskArgs{...} } +type NodeDataDiskArrayInput interface { + pulumi.Input + + ToNodeDataDiskArrayOutput() NodeDataDiskArrayOutput + ToNodeDataDiskArrayOutputWithContext(context.Context) NodeDataDiskArrayOutput +} + +type NodeDataDiskArray []NodeDataDiskInput + +func (NodeDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeDataDisk)(nil)).Elem() +} + +func (i NodeDataDiskArray) ToNodeDataDiskArrayOutput() NodeDataDiskArrayOutput { + return i.ToNodeDataDiskArrayOutputWithContext(context.Background()) +} + +func (i NodeDataDiskArray) ToNodeDataDiskArrayOutputWithContext(ctx context.Context) NodeDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeDataDiskArrayOutput) +} + +type NodeDataDiskOutput struct{ *pulumi.OutputState } + +func (NodeDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeDataDisk)(nil)).Elem() +} + +func (o NodeDataDiskOutput) ToNodeDataDiskOutput() NodeDataDiskOutput { + return o +} + +func (o NodeDataDiskOutput) ToNodeDataDiskOutputWithContext(ctx context.Context) NodeDataDiskOutput { + return o +} + +// Data disk type +func (o NodeDataDiskOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeDataDisk) *string { return v.Category }).(pulumi.StringPtrOutput) +} + +// Performance level +func (o NodeDataDiskOutput) PerformanceLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeDataDisk) *string { return v.PerformanceLevel }).(pulumi.StringPtrOutput) +} + +// Data disk size +func (o NodeDataDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodeDataDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type NodeDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (NodeDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeDataDisk)(nil)).Elem() +} + +func (o NodeDataDiskArrayOutput) ToNodeDataDiskArrayOutput() NodeDataDiskArrayOutput { + return o +} + +func (o NodeDataDiskArrayOutput) ToNodeDataDiskArrayOutputWithContext(ctx context.Context) NodeDataDiskArrayOutput { + return o +} + +func (o NodeDataDiskArrayOutput) Index(i pulumi.IntInput) NodeDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeDataDisk { + return vs[0].([]NodeDataDisk)[vs[1].(int)] + }).(NodeDataDiskOutput) +} + type NodeGroupAttachmentDataDisk struct { // Type Category *string `pulumi:"category"` @@ -3484,6 +3750,818 @@ func (o NodeGroupNodeArrayOutput) Index(i pulumi.IntInput) NodeGroupNodeOutput { }).(NodeGroupNodeOutput) } +type NodeIpAllocationPolicy struct { + // Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + BondPolicy *NodeIpAllocationPolicyBondPolicy `pulumi:"bondPolicy"` + // Model Assignment Policy See `machineTypePolicy` below. + MachineTypePolicies []NodeIpAllocationPolicyMachineTypePolicy `pulumi:"machineTypePolicies"` + // Node allocation policy See `nodePolicy` below. + NodePolicies []NodeIpAllocationPolicyNodePolicy `pulumi:"nodePolicies"` +} + +// NodeIpAllocationPolicyInput is an input type that accepts NodeIpAllocationPolicyArgs and NodeIpAllocationPolicyOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyInput` via: +// +// NodeIpAllocationPolicyArgs{...} +type NodeIpAllocationPolicyInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyOutput() NodeIpAllocationPolicyOutput + ToNodeIpAllocationPolicyOutputWithContext(context.Context) NodeIpAllocationPolicyOutput +} + +type NodeIpAllocationPolicyArgs struct { + // Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + BondPolicy NodeIpAllocationPolicyBondPolicyPtrInput `pulumi:"bondPolicy"` + // Model Assignment Policy See `machineTypePolicy` below. + MachineTypePolicies NodeIpAllocationPolicyMachineTypePolicyArrayInput `pulumi:"machineTypePolicies"` + // Node allocation policy See `nodePolicy` below. + NodePolicies NodeIpAllocationPolicyNodePolicyArrayInput `pulumi:"nodePolicies"` +} + +func (NodeIpAllocationPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyArgs) ToNodeIpAllocationPolicyOutput() NodeIpAllocationPolicyOutput { + return i.ToNodeIpAllocationPolicyOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyArgs) ToNodeIpAllocationPolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyOutput) +} + +// NodeIpAllocationPolicyArrayInput is an input type that accepts NodeIpAllocationPolicyArray and NodeIpAllocationPolicyArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyArrayInput` via: +// +// NodeIpAllocationPolicyArray{ NodeIpAllocationPolicyArgs{...} } +type NodeIpAllocationPolicyArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyArrayOutput() NodeIpAllocationPolicyArrayOutput + ToNodeIpAllocationPolicyArrayOutputWithContext(context.Context) NodeIpAllocationPolicyArrayOutput +} + +type NodeIpAllocationPolicyArray []NodeIpAllocationPolicyInput + +func (NodeIpAllocationPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyArray) ToNodeIpAllocationPolicyArrayOutput() NodeIpAllocationPolicyArrayOutput { + return i.ToNodeIpAllocationPolicyArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyArray) ToNodeIpAllocationPolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyArrayOutput) +} + +type NodeIpAllocationPolicyOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyOutput) ToNodeIpAllocationPolicyOutput() NodeIpAllocationPolicyOutput { + return o +} + +func (o NodeIpAllocationPolicyOutput) ToNodeIpAllocationPolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyOutput { + return o +} + +// Specify the cluster subnet ID based on the bond name See `bondPolicy` below. +func (o NodeIpAllocationPolicyOutput) BondPolicy() NodeIpAllocationPolicyBondPolicyPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicy) *NodeIpAllocationPolicyBondPolicy { return v.BondPolicy }).(NodeIpAllocationPolicyBondPolicyPtrOutput) +} + +// Model Assignment Policy See `machineTypePolicy` below. +func (o NodeIpAllocationPolicyOutput) MachineTypePolicies() NodeIpAllocationPolicyMachineTypePolicyArrayOutput { + return o.ApplyT(func(v NodeIpAllocationPolicy) []NodeIpAllocationPolicyMachineTypePolicy { return v.MachineTypePolicies }).(NodeIpAllocationPolicyMachineTypePolicyArrayOutput) +} + +// Node allocation policy See `nodePolicy` below. +func (o NodeIpAllocationPolicyOutput) NodePolicies() NodeIpAllocationPolicyNodePolicyArrayOutput { + return o.ApplyT(func(v NodeIpAllocationPolicy) []NodeIpAllocationPolicyNodePolicy { return v.NodePolicies }).(NodeIpAllocationPolicyNodePolicyArrayOutput) +} + +type NodeIpAllocationPolicyArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyArrayOutput) ToNodeIpAllocationPolicyArrayOutput() NodeIpAllocationPolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyArrayOutput) ToNodeIpAllocationPolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicy { + return vs[0].([]NodeIpAllocationPolicy)[vs[1].(int)] + }).(NodeIpAllocationPolicyOutput) +} + +type NodeIpAllocationPolicyBondPolicy struct { + // Default bond cluster subnet + BondDefaultSubnet *string `pulumi:"bondDefaultSubnet"` + // Bond information See `bonds` below. + Bonds []NodeIpAllocationPolicyBondPolicyBond `pulumi:"bonds"` +} + +// NodeIpAllocationPolicyBondPolicyInput is an input type that accepts NodeIpAllocationPolicyBondPolicyArgs and NodeIpAllocationPolicyBondPolicyOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyBondPolicyInput` via: +// +// NodeIpAllocationPolicyBondPolicyArgs{...} +type NodeIpAllocationPolicyBondPolicyInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyBondPolicyOutput() NodeIpAllocationPolicyBondPolicyOutput + ToNodeIpAllocationPolicyBondPolicyOutputWithContext(context.Context) NodeIpAllocationPolicyBondPolicyOutput +} + +type NodeIpAllocationPolicyBondPolicyArgs struct { + // Default bond cluster subnet + BondDefaultSubnet pulumi.StringPtrInput `pulumi:"bondDefaultSubnet"` + // Bond information See `bonds` below. + Bonds NodeIpAllocationPolicyBondPolicyBondArrayInput `pulumi:"bonds"` +} + +func (NodeIpAllocationPolicyBondPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyBondPolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyBondPolicyArgs) ToNodeIpAllocationPolicyBondPolicyOutput() NodeIpAllocationPolicyBondPolicyOutput { + return i.ToNodeIpAllocationPolicyBondPolicyOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyBondPolicyArgs) ToNodeIpAllocationPolicyBondPolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyBondPolicyOutput) +} + +func (i NodeIpAllocationPolicyBondPolicyArgs) ToNodeIpAllocationPolicyBondPolicyPtrOutput() NodeIpAllocationPolicyBondPolicyPtrOutput { + return i.ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyBondPolicyArgs) ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyBondPolicyOutput).ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(ctx) +} + +// NodeIpAllocationPolicyBondPolicyPtrInput is an input type that accepts NodeIpAllocationPolicyBondPolicyArgs, NodeIpAllocationPolicyBondPolicyPtr and NodeIpAllocationPolicyBondPolicyPtrOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyBondPolicyPtrInput` via: +// +// NodeIpAllocationPolicyBondPolicyArgs{...} +// +// or: +// +// nil +type NodeIpAllocationPolicyBondPolicyPtrInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyBondPolicyPtrOutput() NodeIpAllocationPolicyBondPolicyPtrOutput + ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(context.Context) NodeIpAllocationPolicyBondPolicyPtrOutput +} + +type nodeIpAllocationPolicyBondPolicyPtrType NodeIpAllocationPolicyBondPolicyArgs + +func NodeIpAllocationPolicyBondPolicyPtr(v *NodeIpAllocationPolicyBondPolicyArgs) NodeIpAllocationPolicyBondPolicyPtrInput { + return (*nodeIpAllocationPolicyBondPolicyPtrType)(v) +} + +func (*nodeIpAllocationPolicyBondPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodeIpAllocationPolicyBondPolicy)(nil)).Elem() +} + +func (i *nodeIpAllocationPolicyBondPolicyPtrType) ToNodeIpAllocationPolicyBondPolicyPtrOutput() NodeIpAllocationPolicyBondPolicyPtrOutput { + return i.ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(context.Background()) +} + +func (i *nodeIpAllocationPolicyBondPolicyPtrType) ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyBondPolicyPtrOutput) +} + +type NodeIpAllocationPolicyBondPolicyOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyBondPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyBondPolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyBondPolicyOutput) ToNodeIpAllocationPolicyBondPolicyOutput() NodeIpAllocationPolicyBondPolicyOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyOutput) ToNodeIpAllocationPolicyBondPolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyOutput) ToNodeIpAllocationPolicyBondPolicyPtrOutput() NodeIpAllocationPolicyBondPolicyPtrOutput { + return o.ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(context.Background()) +} + +func (o NodeIpAllocationPolicyBondPolicyOutput) ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodeIpAllocationPolicyBondPolicy) *NodeIpAllocationPolicyBondPolicy { + return &v + }).(NodeIpAllocationPolicyBondPolicyPtrOutput) +} + +// Default bond cluster subnet +func (o NodeIpAllocationPolicyBondPolicyOutput) BondDefaultSubnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyBondPolicy) *string { return v.BondDefaultSubnet }).(pulumi.StringPtrOutput) +} + +// Bond information See `bonds` below. +func (o NodeIpAllocationPolicyBondPolicyOutput) Bonds() NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyBondPolicy) []NodeIpAllocationPolicyBondPolicyBond { return v.Bonds }).(NodeIpAllocationPolicyBondPolicyBondArrayOutput) +} + +type NodeIpAllocationPolicyBondPolicyPtrOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyBondPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodeIpAllocationPolicyBondPolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyBondPolicyPtrOutput) ToNodeIpAllocationPolicyBondPolicyPtrOutput() NodeIpAllocationPolicyBondPolicyPtrOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyPtrOutput) ToNodeIpAllocationPolicyBondPolicyPtrOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyPtrOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyPtrOutput) Elem() NodeIpAllocationPolicyBondPolicyOutput { + return o.ApplyT(func(v *NodeIpAllocationPolicyBondPolicy) NodeIpAllocationPolicyBondPolicy { + if v != nil { + return *v + } + var ret NodeIpAllocationPolicyBondPolicy + return ret + }).(NodeIpAllocationPolicyBondPolicyOutput) +} + +// Default bond cluster subnet +func (o NodeIpAllocationPolicyBondPolicyPtrOutput) BondDefaultSubnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeIpAllocationPolicyBondPolicy) *string { + if v == nil { + return nil + } + return v.BondDefaultSubnet + }).(pulumi.StringPtrOutput) +} + +// Bond information See `bonds` below. +func (o NodeIpAllocationPolicyBondPolicyPtrOutput) Bonds() NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return o.ApplyT(func(v *NodeIpAllocationPolicyBondPolicy) []NodeIpAllocationPolicyBondPolicyBond { + if v == nil { + return nil + } + return v.Bonds + }).(NodeIpAllocationPolicyBondPolicyBondArrayOutput) +} + +type NodeIpAllocationPolicyBondPolicyBond struct { + // Bond Name + Name *string `pulumi:"name"` + // IP source cluster subnet + Subnet *string `pulumi:"subnet"` +} + +// NodeIpAllocationPolicyBondPolicyBondInput is an input type that accepts NodeIpAllocationPolicyBondPolicyBondArgs and NodeIpAllocationPolicyBondPolicyBondOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyBondPolicyBondInput` via: +// +// NodeIpAllocationPolicyBondPolicyBondArgs{...} +type NodeIpAllocationPolicyBondPolicyBondInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyBondPolicyBondOutput() NodeIpAllocationPolicyBondPolicyBondOutput + ToNodeIpAllocationPolicyBondPolicyBondOutputWithContext(context.Context) NodeIpAllocationPolicyBondPolicyBondOutput +} + +type NodeIpAllocationPolicyBondPolicyBondArgs struct { + // Bond Name + Name pulumi.StringPtrInput `pulumi:"name"` + // IP source cluster subnet + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (NodeIpAllocationPolicyBondPolicyBondArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyBondPolicyBondArgs) ToNodeIpAllocationPolicyBondPolicyBondOutput() NodeIpAllocationPolicyBondPolicyBondOutput { + return i.ToNodeIpAllocationPolicyBondPolicyBondOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyBondPolicyBondArgs) ToNodeIpAllocationPolicyBondPolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyBondOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyBondPolicyBondOutput) +} + +// NodeIpAllocationPolicyBondPolicyBondArrayInput is an input type that accepts NodeIpAllocationPolicyBondPolicyBondArray and NodeIpAllocationPolicyBondPolicyBondArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyBondPolicyBondArrayInput` via: +// +// NodeIpAllocationPolicyBondPolicyBondArray{ NodeIpAllocationPolicyBondPolicyBondArgs{...} } +type NodeIpAllocationPolicyBondPolicyBondArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyBondPolicyBondArrayOutput() NodeIpAllocationPolicyBondPolicyBondArrayOutput + ToNodeIpAllocationPolicyBondPolicyBondArrayOutputWithContext(context.Context) NodeIpAllocationPolicyBondPolicyBondArrayOutput +} + +type NodeIpAllocationPolicyBondPolicyBondArray []NodeIpAllocationPolicyBondPolicyBondInput + +func (NodeIpAllocationPolicyBondPolicyBondArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyBondPolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyBondPolicyBondArray) ToNodeIpAllocationPolicyBondPolicyBondArrayOutput() NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return i.ToNodeIpAllocationPolicyBondPolicyBondArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyBondPolicyBondArray) ToNodeIpAllocationPolicyBondPolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyBondPolicyBondArrayOutput) +} + +type NodeIpAllocationPolicyBondPolicyBondOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyBondPolicyBondOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyBondPolicyBondOutput) ToNodeIpAllocationPolicyBondPolicyBondOutput() NodeIpAllocationPolicyBondPolicyBondOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyBondOutput) ToNodeIpAllocationPolicyBondPolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyBondOutput { + return o +} + +// Bond Name +func (o NodeIpAllocationPolicyBondPolicyBondOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyBondPolicyBond) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// IP source cluster subnet +func (o NodeIpAllocationPolicyBondPolicyBondOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyBondPolicyBond) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type NodeIpAllocationPolicyBondPolicyBondArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyBondPolicyBondArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyBondPolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyBondPolicyBondArrayOutput) ToNodeIpAllocationPolicyBondPolicyBondArrayOutput() NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyBondArrayOutput) ToNodeIpAllocationPolicyBondPolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyBondPolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyBondPolicyBondArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyBondPolicyBondOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicyBondPolicyBond { + return vs[0].([]NodeIpAllocationPolicyBondPolicyBond)[vs[1].(int)] + }).(NodeIpAllocationPolicyBondPolicyBondOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicy struct { + // Bond information See `bonds` below. + Bonds []NodeIpAllocationPolicyMachineTypePolicyBond `pulumi:"bonds"` + // Model + MachineType *string `pulumi:"machineType"` +} + +// NodeIpAllocationPolicyMachineTypePolicyInput is an input type that accepts NodeIpAllocationPolicyMachineTypePolicyArgs and NodeIpAllocationPolicyMachineTypePolicyOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyMachineTypePolicyInput` via: +// +// NodeIpAllocationPolicyMachineTypePolicyArgs{...} +type NodeIpAllocationPolicyMachineTypePolicyInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyMachineTypePolicyOutput() NodeIpAllocationPolicyMachineTypePolicyOutput + ToNodeIpAllocationPolicyMachineTypePolicyOutputWithContext(context.Context) NodeIpAllocationPolicyMachineTypePolicyOutput +} + +type NodeIpAllocationPolicyMachineTypePolicyArgs struct { + // Bond information See `bonds` below. + Bonds NodeIpAllocationPolicyMachineTypePolicyBondArrayInput `pulumi:"bonds"` + // Model + MachineType pulumi.StringPtrInput `pulumi:"machineType"` +} + +func (NodeIpAllocationPolicyMachineTypePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyMachineTypePolicyArgs) ToNodeIpAllocationPolicyMachineTypePolicyOutput() NodeIpAllocationPolicyMachineTypePolicyOutput { + return i.ToNodeIpAllocationPolicyMachineTypePolicyOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyMachineTypePolicyArgs) ToNodeIpAllocationPolicyMachineTypePolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyMachineTypePolicyOutput) +} + +// NodeIpAllocationPolicyMachineTypePolicyArrayInput is an input type that accepts NodeIpAllocationPolicyMachineTypePolicyArray and NodeIpAllocationPolicyMachineTypePolicyArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyMachineTypePolicyArrayInput` via: +// +// NodeIpAllocationPolicyMachineTypePolicyArray{ NodeIpAllocationPolicyMachineTypePolicyArgs{...} } +type NodeIpAllocationPolicyMachineTypePolicyArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyMachineTypePolicyArrayOutput() NodeIpAllocationPolicyMachineTypePolicyArrayOutput + ToNodeIpAllocationPolicyMachineTypePolicyArrayOutputWithContext(context.Context) NodeIpAllocationPolicyMachineTypePolicyArrayOutput +} + +type NodeIpAllocationPolicyMachineTypePolicyArray []NodeIpAllocationPolicyMachineTypePolicyInput + +func (NodeIpAllocationPolicyMachineTypePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyMachineTypePolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyMachineTypePolicyArray) ToNodeIpAllocationPolicyMachineTypePolicyArrayOutput() NodeIpAllocationPolicyMachineTypePolicyArrayOutput { + return i.ToNodeIpAllocationPolicyMachineTypePolicyArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyMachineTypePolicyArray) ToNodeIpAllocationPolicyMachineTypePolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyMachineTypePolicyArrayOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicyOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyMachineTypePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyMachineTypePolicyOutput) ToNodeIpAllocationPolicyMachineTypePolicyOutput() NodeIpAllocationPolicyMachineTypePolicyOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyOutput) ToNodeIpAllocationPolicyMachineTypePolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyOutput { + return o +} + +// Bond information See `bonds` below. +func (o NodeIpAllocationPolicyMachineTypePolicyOutput) Bonds() NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyMachineTypePolicy) []NodeIpAllocationPolicyMachineTypePolicyBond { + return v.Bonds + }).(NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) +} + +// Model +func (o NodeIpAllocationPolicyMachineTypePolicyOutput) MachineType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyMachineTypePolicy) *string { return v.MachineType }).(pulumi.StringPtrOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicyArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyMachineTypePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyMachineTypePolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyMachineTypePolicyArrayOutput) ToNodeIpAllocationPolicyMachineTypePolicyArrayOutput() NodeIpAllocationPolicyMachineTypePolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyArrayOutput) ToNodeIpAllocationPolicyMachineTypePolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyMachineTypePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicyMachineTypePolicy { + return vs[0].([]NodeIpAllocationPolicyMachineTypePolicy)[vs[1].(int)] + }).(NodeIpAllocationPolicyMachineTypePolicyOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicyBond struct { + // Bond Name + Name *string `pulumi:"name"` + // IP source cluster subnet + Subnet *string `pulumi:"subnet"` +} + +// NodeIpAllocationPolicyMachineTypePolicyBondInput is an input type that accepts NodeIpAllocationPolicyMachineTypePolicyBondArgs and NodeIpAllocationPolicyMachineTypePolicyBondOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyMachineTypePolicyBondInput` via: +// +// NodeIpAllocationPolicyMachineTypePolicyBondArgs{...} +type NodeIpAllocationPolicyMachineTypePolicyBondInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyMachineTypePolicyBondOutput() NodeIpAllocationPolicyMachineTypePolicyBondOutput + ToNodeIpAllocationPolicyMachineTypePolicyBondOutputWithContext(context.Context) NodeIpAllocationPolicyMachineTypePolicyBondOutput +} + +type NodeIpAllocationPolicyMachineTypePolicyBondArgs struct { + // Bond Name + Name pulumi.StringPtrInput `pulumi:"name"` + // IP source cluster subnet + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (NodeIpAllocationPolicyMachineTypePolicyBondArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyMachineTypePolicyBondArgs) ToNodeIpAllocationPolicyMachineTypePolicyBondOutput() NodeIpAllocationPolicyMachineTypePolicyBondOutput { + return i.ToNodeIpAllocationPolicyMachineTypePolicyBondOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyMachineTypePolicyBondArgs) ToNodeIpAllocationPolicyMachineTypePolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyBondOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyMachineTypePolicyBondOutput) +} + +// NodeIpAllocationPolicyMachineTypePolicyBondArrayInput is an input type that accepts NodeIpAllocationPolicyMachineTypePolicyBondArray and NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyMachineTypePolicyBondArrayInput` via: +// +// NodeIpAllocationPolicyMachineTypePolicyBondArray{ NodeIpAllocationPolicyMachineTypePolicyBondArgs{...} } +type NodeIpAllocationPolicyMachineTypePolicyBondArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutput() NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput + ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutputWithContext(context.Context) NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput +} + +type NodeIpAllocationPolicyMachineTypePolicyBondArray []NodeIpAllocationPolicyMachineTypePolicyBondInput + +func (NodeIpAllocationPolicyMachineTypePolicyBondArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyMachineTypePolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyMachineTypePolicyBondArray) ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutput() NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput { + return i.ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyMachineTypePolicyBondArray) ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicyBondOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyMachineTypePolicyBondOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyMachineTypePolicyBondOutput) ToNodeIpAllocationPolicyMachineTypePolicyBondOutput() NodeIpAllocationPolicyMachineTypePolicyBondOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyBondOutput) ToNodeIpAllocationPolicyMachineTypePolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyBondOutput { + return o +} + +// Bond Name +func (o NodeIpAllocationPolicyMachineTypePolicyBondOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyMachineTypePolicyBond) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// IP source cluster subnet +func (o NodeIpAllocationPolicyMachineTypePolicyBondOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyMachineTypePolicyBond) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyMachineTypePolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutput() NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) ToNodeIpAllocationPolicyMachineTypePolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyMachineTypePolicyBondOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicyMachineTypePolicyBond { + return vs[0].([]NodeIpAllocationPolicyMachineTypePolicyBond)[vs[1].(int)] + }).(NodeIpAllocationPolicyMachineTypePolicyBondOutput) +} + +type NodeIpAllocationPolicyNodePolicy struct { + // Bond information See `bonds` below. + Bonds []NodeIpAllocationPolicyNodePolicyBond `pulumi:"bonds"` + // Host name + Hostname *string `pulumi:"hostname"` + // Node ID + NodeId *string `pulumi:"nodeId"` +} + +// NodeIpAllocationPolicyNodePolicyInput is an input type that accepts NodeIpAllocationPolicyNodePolicyArgs and NodeIpAllocationPolicyNodePolicyOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyNodePolicyInput` via: +// +// NodeIpAllocationPolicyNodePolicyArgs{...} +type NodeIpAllocationPolicyNodePolicyInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyNodePolicyOutput() NodeIpAllocationPolicyNodePolicyOutput + ToNodeIpAllocationPolicyNodePolicyOutputWithContext(context.Context) NodeIpAllocationPolicyNodePolicyOutput +} + +type NodeIpAllocationPolicyNodePolicyArgs struct { + // Bond information See `bonds` below. + Bonds NodeIpAllocationPolicyNodePolicyBondArrayInput `pulumi:"bonds"` + // Host name + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + // Node ID + NodeId pulumi.StringPtrInput `pulumi:"nodeId"` +} + +func (NodeIpAllocationPolicyNodePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyNodePolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyNodePolicyArgs) ToNodeIpAllocationPolicyNodePolicyOutput() NodeIpAllocationPolicyNodePolicyOutput { + return i.ToNodeIpAllocationPolicyNodePolicyOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyNodePolicyArgs) ToNodeIpAllocationPolicyNodePolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyNodePolicyOutput) +} + +// NodeIpAllocationPolicyNodePolicyArrayInput is an input type that accepts NodeIpAllocationPolicyNodePolicyArray and NodeIpAllocationPolicyNodePolicyArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyNodePolicyArrayInput` via: +// +// NodeIpAllocationPolicyNodePolicyArray{ NodeIpAllocationPolicyNodePolicyArgs{...} } +type NodeIpAllocationPolicyNodePolicyArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyNodePolicyArrayOutput() NodeIpAllocationPolicyNodePolicyArrayOutput + ToNodeIpAllocationPolicyNodePolicyArrayOutputWithContext(context.Context) NodeIpAllocationPolicyNodePolicyArrayOutput +} + +type NodeIpAllocationPolicyNodePolicyArray []NodeIpAllocationPolicyNodePolicyInput + +func (NodeIpAllocationPolicyNodePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyNodePolicy)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyNodePolicyArray) ToNodeIpAllocationPolicyNodePolicyArrayOutput() NodeIpAllocationPolicyNodePolicyArrayOutput { + return i.ToNodeIpAllocationPolicyNodePolicyArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyNodePolicyArray) ToNodeIpAllocationPolicyNodePolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyNodePolicyArrayOutput) +} + +type NodeIpAllocationPolicyNodePolicyOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyNodePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyNodePolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyNodePolicyOutput) ToNodeIpAllocationPolicyNodePolicyOutput() NodeIpAllocationPolicyNodePolicyOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyOutput) ToNodeIpAllocationPolicyNodePolicyOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyOutput { + return o +} + +// Bond information See `bonds` below. +func (o NodeIpAllocationPolicyNodePolicyOutput) Bonds() NodeIpAllocationPolicyNodePolicyBondArrayOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyNodePolicy) []NodeIpAllocationPolicyNodePolicyBond { return v.Bonds }).(NodeIpAllocationPolicyNodePolicyBondArrayOutput) +} + +// Host name +func (o NodeIpAllocationPolicyNodePolicyOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyNodePolicy) *string { return v.Hostname }).(pulumi.StringPtrOutput) +} + +// Node ID +func (o NodeIpAllocationPolicyNodePolicyOutput) NodeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyNodePolicy) *string { return v.NodeId }).(pulumi.StringPtrOutput) +} + +type NodeIpAllocationPolicyNodePolicyArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyNodePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyNodePolicy)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyNodePolicyArrayOutput) ToNodeIpAllocationPolicyNodePolicyArrayOutput() NodeIpAllocationPolicyNodePolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyArrayOutput) ToNodeIpAllocationPolicyNodePolicyArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyNodePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicyNodePolicy { + return vs[0].([]NodeIpAllocationPolicyNodePolicy)[vs[1].(int)] + }).(NodeIpAllocationPolicyNodePolicyOutput) +} + +type NodeIpAllocationPolicyNodePolicyBond struct { + // Bond Name + Name *string `pulumi:"name"` + // IP source cluster subnet + Subnet *string `pulumi:"subnet"` +} + +// NodeIpAllocationPolicyNodePolicyBondInput is an input type that accepts NodeIpAllocationPolicyNodePolicyBondArgs and NodeIpAllocationPolicyNodePolicyBondOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyNodePolicyBondInput` via: +// +// NodeIpAllocationPolicyNodePolicyBondArgs{...} +type NodeIpAllocationPolicyNodePolicyBondInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyNodePolicyBondOutput() NodeIpAllocationPolicyNodePolicyBondOutput + ToNodeIpAllocationPolicyNodePolicyBondOutputWithContext(context.Context) NodeIpAllocationPolicyNodePolicyBondOutput +} + +type NodeIpAllocationPolicyNodePolicyBondArgs struct { + // Bond Name + Name pulumi.StringPtrInput `pulumi:"name"` + // IP source cluster subnet + Subnet pulumi.StringPtrInput `pulumi:"subnet"` +} + +func (NodeIpAllocationPolicyNodePolicyBondArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyNodePolicyBondArgs) ToNodeIpAllocationPolicyNodePolicyBondOutput() NodeIpAllocationPolicyNodePolicyBondOutput { + return i.ToNodeIpAllocationPolicyNodePolicyBondOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyNodePolicyBondArgs) ToNodeIpAllocationPolicyNodePolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyBondOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyNodePolicyBondOutput) +} + +// NodeIpAllocationPolicyNodePolicyBondArrayInput is an input type that accepts NodeIpAllocationPolicyNodePolicyBondArray and NodeIpAllocationPolicyNodePolicyBondArrayOutput values. +// You can construct a concrete instance of `NodeIpAllocationPolicyNodePolicyBondArrayInput` via: +// +// NodeIpAllocationPolicyNodePolicyBondArray{ NodeIpAllocationPolicyNodePolicyBondArgs{...} } +type NodeIpAllocationPolicyNodePolicyBondArrayInput interface { + pulumi.Input + + ToNodeIpAllocationPolicyNodePolicyBondArrayOutput() NodeIpAllocationPolicyNodePolicyBondArrayOutput + ToNodeIpAllocationPolicyNodePolicyBondArrayOutputWithContext(context.Context) NodeIpAllocationPolicyNodePolicyBondArrayOutput +} + +type NodeIpAllocationPolicyNodePolicyBondArray []NodeIpAllocationPolicyNodePolicyBondInput + +func (NodeIpAllocationPolicyNodePolicyBondArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyNodePolicyBond)(nil)).Elem() +} + +func (i NodeIpAllocationPolicyNodePolicyBondArray) ToNodeIpAllocationPolicyNodePolicyBondArrayOutput() NodeIpAllocationPolicyNodePolicyBondArrayOutput { + return i.ToNodeIpAllocationPolicyNodePolicyBondArrayOutputWithContext(context.Background()) +} + +func (i NodeIpAllocationPolicyNodePolicyBondArray) ToNodeIpAllocationPolicyNodePolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyBondArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeIpAllocationPolicyNodePolicyBondArrayOutput) +} + +type NodeIpAllocationPolicyNodePolicyBondOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyNodePolicyBondOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyNodePolicyBondOutput) ToNodeIpAllocationPolicyNodePolicyBondOutput() NodeIpAllocationPolicyNodePolicyBondOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyBondOutput) ToNodeIpAllocationPolicyNodePolicyBondOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyBondOutput { + return o +} + +// Bond Name +func (o NodeIpAllocationPolicyNodePolicyBondOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyNodePolicyBond) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// IP source cluster subnet +func (o NodeIpAllocationPolicyNodePolicyBondOutput) Subnet() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeIpAllocationPolicyNodePolicyBond) *string { return v.Subnet }).(pulumi.StringPtrOutput) +} + +type NodeIpAllocationPolicyNodePolicyBondArrayOutput struct{ *pulumi.OutputState } + +func (NodeIpAllocationPolicyNodePolicyBondArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodeIpAllocationPolicyNodePolicyBond)(nil)).Elem() +} + +func (o NodeIpAllocationPolicyNodePolicyBondArrayOutput) ToNodeIpAllocationPolicyNodePolicyBondArrayOutput() NodeIpAllocationPolicyNodePolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyBondArrayOutput) ToNodeIpAllocationPolicyNodePolicyBondArrayOutputWithContext(ctx context.Context) NodeIpAllocationPolicyNodePolicyBondArrayOutput { + return o +} + +func (o NodeIpAllocationPolicyNodePolicyBondArrayOutput) Index(i pulumi.IntInput) NodeIpAllocationPolicyNodePolicyBondOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodeIpAllocationPolicyNodePolicyBond { + return vs[0].([]NodeIpAllocationPolicyNodePolicyBond)[vs[1].(int)] + }).(NodeIpAllocationPolicyNodePolicyBondOutput) +} + type ResourceMachineTypes struct { // This property specifies the number of network bindings, which relates to the number of physical or virtual network cards connected to the network through the network interface card (NIC). Multiple network bindings can increase bandwidth and redundancy and improve network reliability. BondNum *int `pulumi:"bondNum"` @@ -4385,6 +5463,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExperimentPlanTemplateTemplatePipelineInput)(nil)).Elem(), ExperimentPlanTemplateTemplatePipelineArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentPlanTemplateTemplatePipelineArrayInput)(nil)).Elem(), ExperimentPlanTemplateTemplatePipelineArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentPlanTemplateTemplatePipelineEnvParamsInput)(nil)).Elem(), ExperimentPlanTemplateTemplatePipelineEnvParamsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HyperNodeDataDiskInput)(nil)).Elem(), HyperNodeDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HyperNodeDataDiskArrayInput)(nil)).Elem(), HyperNodeDataDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeDataDiskInput)(nil)).Elem(), NodeDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeDataDiskArrayInput)(nil)).Elem(), NodeDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupAttachmentDataDiskInput)(nil)).Elem(), NodeGroupAttachmentDataDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupAttachmentDataDiskArrayInput)(nil)).Elem(), NodeGroupAttachmentDataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupIpAllocationPolicyInput)(nil)).Elem(), NodeGroupIpAllocationPolicyArgs{}) @@ -4403,6 +5485,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupIpAllocationPolicyNodePolicyBondArrayInput)(nil)).Elem(), NodeGroupIpAllocationPolicyNodePolicyBondArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupNodeInput)(nil)).Elem(), NodeGroupNodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodeGroupNodeArrayInput)(nil)).Elem(), NodeGroupNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyInput)(nil)).Elem(), NodeIpAllocationPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyArrayInput)(nil)).Elem(), NodeIpAllocationPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyInput)(nil)).Elem(), NodeIpAllocationPolicyBondPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyPtrInput)(nil)).Elem(), NodeIpAllocationPolicyBondPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyBondInput)(nil)).Elem(), NodeIpAllocationPolicyBondPolicyBondArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyBondPolicyBondArrayInput)(nil)).Elem(), NodeIpAllocationPolicyBondPolicyBondArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyInput)(nil)).Elem(), NodeIpAllocationPolicyMachineTypePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyArrayInput)(nil)).Elem(), NodeIpAllocationPolicyMachineTypePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyBondInput)(nil)).Elem(), NodeIpAllocationPolicyMachineTypePolicyBondArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyMachineTypePolicyBondArrayInput)(nil)).Elem(), NodeIpAllocationPolicyMachineTypePolicyBondArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyInput)(nil)).Elem(), NodeIpAllocationPolicyNodePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyArrayInput)(nil)).Elem(), NodeIpAllocationPolicyNodePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyBondInput)(nil)).Elem(), NodeIpAllocationPolicyNodePolicyBondArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeIpAllocationPolicyNodePolicyBondArrayInput)(nil)).Elem(), NodeIpAllocationPolicyNodePolicyBondArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceMachineTypesInput)(nil)).Elem(), ResourceMachineTypesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceMachineTypesPtrInput)(nil)).Elem(), ResourceMachineTypesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceUserAccessParamInput)(nil)).Elem(), ResourceUserAccessParamArgs{}) @@ -4444,6 +5540,10 @@ func init() { pulumi.RegisterOutputType(ExperimentPlanTemplateTemplatePipelineOutput{}) pulumi.RegisterOutputType(ExperimentPlanTemplateTemplatePipelineArrayOutput{}) pulumi.RegisterOutputType(ExperimentPlanTemplateTemplatePipelineEnvParamsOutput{}) + pulumi.RegisterOutputType(HyperNodeDataDiskOutput{}) + pulumi.RegisterOutputType(HyperNodeDataDiskArrayOutput{}) + pulumi.RegisterOutputType(NodeDataDiskOutput{}) + pulumi.RegisterOutputType(NodeDataDiskArrayOutput{}) pulumi.RegisterOutputType(NodeGroupAttachmentDataDiskOutput{}) pulumi.RegisterOutputType(NodeGroupAttachmentDataDiskArrayOutput{}) pulumi.RegisterOutputType(NodeGroupIpAllocationPolicyOutput{}) @@ -4462,6 +5562,20 @@ func init() { pulumi.RegisterOutputType(NodeGroupIpAllocationPolicyNodePolicyBondArrayOutput{}) pulumi.RegisterOutputType(NodeGroupNodeOutput{}) pulumi.RegisterOutputType(NodeGroupNodeArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyBondPolicyOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyBondPolicyPtrOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyBondPolicyBondOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyBondPolicyBondArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyMachineTypePolicyOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyMachineTypePolicyArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyMachineTypePolicyBondOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyMachineTypePolicyBondArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyNodePolicyOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyNodePolicyArrayOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyNodePolicyBondOutput{}) + pulumi.RegisterOutputType(NodeIpAllocationPolicyNodePolicyBondArrayOutput{}) pulumi.RegisterOutputType(ResourceMachineTypesOutput{}) pulumi.RegisterOutputType(ResourceMachineTypesPtrOutput{}) pulumi.RegisterOutputType(ResourceUserAccessParamOutput{}) diff --git a/sdk/go/alicloud/eflo/subnet.go b/sdk/go/alicloud/eflo/subnet.go index 0f3819b7a3..7c53849f40 100644 --- a/sdk/go/alicloud/eflo/subnet.go +++ b/sdk/go/alicloud/eflo/subnet.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Subnet can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/vpd.go b/sdk/go/alicloud/eflo/vpd.go index cc994badf5..7ccef12dcc 100644 --- a/sdk/go/alicloud/eflo/vpd.go +++ b/sdk/go/alicloud/eflo/vpd.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Vpd can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/vpdGrantRule.go b/sdk/go/alicloud/eflo/vpdGrantRule.go index 09decccce3..c407a50a9a 100644 --- a/sdk/go/alicloud/eflo/vpdGrantRule.go +++ b/sdk/go/alicloud/eflo/vpdGrantRule.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Vpd Grant Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eflo/vsc.go b/sdk/go/alicloud/eflo/vsc.go index 792f1eb487..ca5ba1aebd 100644 --- a/sdk/go/alicloud/eflo/vsc.go +++ b/sdk/go/alicloud/eflo/vsc.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eflo Vsc can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ehpc/cluster.go b/sdk/go/alicloud/ehpc/cluster.go index 1761af89cc..c6d0c15323 100644 --- a/sdk/go/alicloud/ehpc/cluster.go +++ b/sdk/go/alicloud/ehpc/cluster.go @@ -126,6 +126,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ehpc Cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ehpc/clusterV2.go b/sdk/go/alicloud/ehpc/clusterV2.go new file mode 100644 index 0000000000..d5d213ccab --- /dev/null +++ b/sdk/go/alicloud/ehpc/clusterV2.go @@ -0,0 +1,679 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ehpc + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Ehpc Cluster V2 resource. +// +// E-HPC Cluster Resources. +// +// For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("10.0.0.0/24"), +// VpcName: pulumi.String("example-cluster-vpc"), +// }) +// if err != nil { +// return err +// } +// exampleAccessGroup, err := nas.NewAccessGroup(ctx, "example", &nas.AccessGroupArgs{ +// AccessGroupType: pulumi.String("Vpc"), +// Description: pulumi.String(name), +// AccessGroupName: pulumi.String("StandardMountTarget"), +// FileSystemType: pulumi.String("standard"), +// }) +// if err != nil { +// return err +// } +// exampleFileSystem, err := nas.NewFileSystem(ctx, "example", &nas.FileSystemArgs{ +// Description: pulumi.String("example-cluster-nas"), +// StorageType: pulumi.String("Capacity"), +// NfsAcl: &nas.FileSystemNfsAclArgs{ +// Enabled: pulumi.Bool(false), +// }, +// ZoneId: pulumi.String("cn-hangzhou-k"), +// EncryptType: pulumi.Int(0), +// ProtocolType: pulumi.String("NFS"), +// FileSystemType: pulumi.String("standard"), +// }) +// if err != nil { +// return err +// } +// exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: example.ID(), +// ZoneId: pulumi.String("cn-hangzhou-k"), +// CidrBlock: pulumi.String("10.0.0.0/24"), +// VswitchName: pulumi.String("example-cluster-vsw"), +// }) +// if err != nil { +// return err +// } +// _, err = nas.NewAccessRule(ctx, "example", &nas.AccessRuleArgs{ +// Priority: pulumi.Int(1), +// AccessGroupName: exampleAccessGroup.AccessGroupName, +// FileSystemType: exampleFileSystem.FileSystemType, +// SourceCidrIp: pulumi.String("10.0.0.0/24"), +// }) +// if err != nil { +// return err +// } +// exampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, "example", &ecs.SecurityGroupArgs{ +// VpcId: example.ID(), +// SecurityGroupType: pulumi.String("normal"), +// }) +// if err != nil { +// return err +// } +// exampleMountTarget, err := nas.NewMountTarget(ctx, "example", &nas.MountTargetArgs{ +// VpcId: example.ID(), +// NetworkType: pulumi.String("Vpc"), +// AccessGroupName: exampleAccessGroup.AccessGroupName, +// VswitchId: exampleSwitch.ID(), +// FileSystemId: exampleFileSystem.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = ehpc.NewClusterV2(ctx, "default", &ehpc.ClusterV2Args{ +// ClusterCredentials: &ehpc.ClusterV2ClusterCredentialsArgs{ +// Password: pulumi.String("aliHPC123"), +// }, +// ClusterVpcId: example.ID(), +// ClusterCategory: pulumi.String("Standard"), +// ClusterMode: pulumi.String("Integrated"), +// SecurityGroupId: exampleSecurityGroup.ID(), +// ClusterName: pulumi.String("minimal-example-cluster"), +// DeletionProtection: pulumi.Bool(true), +// ClientVersion: pulumi.String("2.0.47"), +// SharedStorages: ehpc.ClusterV2SharedStorageArray{ +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/home"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: exampleMountTarget.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: exampleFileSystem.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/opt"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: exampleMountTarget.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: exampleFileSystem.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/ehpcdata"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: exampleMountTarget.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: exampleFileSystem.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// }, +// ClusterVswitchId: exampleSwitch.ID(), +// Manager: &ehpc.ClusterV2ManagerArgs{ +// ManagerNode: &ehpc.ClusterV2ManagerManagerNodeArgs{ +// SystemDisk: &ehpc.ClusterV2ManagerManagerNodeSystemDiskArgs{ +// Category: pulumi.String("cloud_essd"), +// Size: pulumi.Int(40), +// Level: pulumi.String("PL0"), +// }, +// EnableHt: pulumi.Bool(true), +// InstanceChargeType: pulumi.String("PostPaid"), +// ImageId: pulumi.String("centos_7_6_x64_20G_alibase_20211130.vhd"), +// SpotPriceLimit: pulumi.Float64(0), +// InstanceType: pulumi.String("ecs.c6.xlarge"), +// SpotStrategy: pulumi.String("NoSpot"), +// }, +// Scheduler: &ehpc.ClusterV2ManagerSchedulerArgs{ +// Type: pulumi.String("SLURM"), +// Version: pulumi.String("22.05.8"), +// }, +// Dns: &ehpc.ClusterV2ManagerDnsArgs{ +// Type: pulumi.String("nis"), +// Version: pulumi.String("1.0"), +// }, +// DirectoryService: &ehpc.ClusterV2ManagerDirectoryServiceArgs{ +// Type: pulumi.String("nis"), +// Version: pulumi.String("1.0"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Ehpc Cluster V2 can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example +// ``` +type ClusterV2 struct { + pulumi.CustomResourceState + + // The cluster custom service component configuration. Only one component is supported. See `addons` below. + Addons ClusterV2AddonArrayOutput `pulumi:"addons"` + // Specifies whether to enable auto scale-out for the cluster. Valid values: + // + // - true + // - false + ClientVersion pulumi.StringOutput `pulumi:"clientVersion"` + // The cluster type. Valid values: + // + // - Standard + // - Serverless + ClusterCategory pulumi.StringPtrOutput `pulumi:"clusterCategory"` + // Security credentials for the cluster. See `clusterCredentials` below. + ClusterCredentials ClusterV2ClusterCredentialsOutput `pulumi:"clusterCredentials"` + // The deployment mode of the cluster. Valid values: + // + // - Integrated + // - Hybrid + // - Custom + ClusterMode pulumi.StringPtrOutput `pulumi:"clusterMode"` + // The post-processing script of the cluster. + ClusterName pulumi.StringPtrOutput `pulumi:"clusterName"` + // The ID of the virtual private cloud (VPC) in which the cluster resides. + ClusterVpcId pulumi.StringPtrOutput `pulumi:"clusterVpcId"` + // The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + // You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + ClusterVswitchId pulumi.StringPtrOutput `pulumi:"clusterVswitchId"` + // The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The idle duration of the compute nodes allowed by the cluster. + DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` + // The configurations of the cluster management node. See `manager` below. + Manager ClusterV2ManagerPtrOutput `pulumi:"manager"` + // The ID of the resource group to which the cluster belongs. + // You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` + // The security group ID. + SecurityGroupId pulumi.StringPtrOutput `pulumi:"securityGroupId"` + // List of cluster shared storage configurations. See `sharedStorages` below. + SharedStorages ClusterV2SharedStorageArrayOutput `pulumi:"sharedStorages"` +} + +// NewClusterV2 registers a new resource with the given unique name, arguments, and options. +func NewClusterV2(ctx *pulumi.Context, + name string, args *ClusterV2Args, opts ...pulumi.ResourceOption) (*ClusterV2, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterCredentials == nil { + return nil, errors.New("invalid value for required argument 'ClusterCredentials'") + } + if args.SharedStorages == nil { + return nil, errors.New("invalid value for required argument 'SharedStorages'") + } + if args.Addons != nil { + args.Addons = pulumi.ToSecret(args.Addons).(ClusterV2AddonArrayInput) + } + if args.ClusterCredentials != nil { + args.ClusterCredentials = pulumi.ToSecret(args.ClusterCredentials).(ClusterV2ClusterCredentialsInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "addons", + "clusterCredentials", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ClusterV2 + err := ctx.RegisterResource("alicloud:ehpc/clusterV2:ClusterV2", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetClusterV2 gets an existing ClusterV2 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 GetClusterV2(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterV2State, opts ...pulumi.ResourceOption) (*ClusterV2, error) { + var resource ClusterV2 + err := ctx.ReadResource("alicloud:ehpc/clusterV2:ClusterV2", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ClusterV2 resources. +type clusterV2State struct { + // The cluster custom service component configuration. Only one component is supported. See `addons` below. + Addons []ClusterV2Addon `pulumi:"addons"` + // Specifies whether to enable auto scale-out for the cluster. Valid values: + // + // - true + // - false + ClientVersion *string `pulumi:"clientVersion"` + // The cluster type. Valid values: + // + // - Standard + // - Serverless + ClusterCategory *string `pulumi:"clusterCategory"` + // Security credentials for the cluster. See `clusterCredentials` below. + ClusterCredentials *ClusterV2ClusterCredentials `pulumi:"clusterCredentials"` + // The deployment mode of the cluster. Valid values: + // + // - Integrated + // - Hybrid + // - Custom + ClusterMode *string `pulumi:"clusterMode"` + // The post-processing script of the cluster. + ClusterName *string `pulumi:"clusterName"` + // The ID of the virtual private cloud (VPC) in which the cluster resides. + ClusterVpcId *string `pulumi:"clusterVpcId"` + // The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + // You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + ClusterVswitchId *string `pulumi:"clusterVswitchId"` + // The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + CreateTime *string `pulumi:"createTime"` + // The idle duration of the compute nodes allowed by the cluster. + DeletionProtection *bool `pulumi:"deletionProtection"` + // The configurations of the cluster management node. See `manager` below. + Manager *ClusterV2Manager `pulumi:"manager"` + // The ID of the resource group to which the cluster belongs. + // You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // The security group ID. + SecurityGroupId *string `pulumi:"securityGroupId"` + // List of cluster shared storage configurations. See `sharedStorages` below. + SharedStorages []ClusterV2SharedStorage `pulumi:"sharedStorages"` +} + +type ClusterV2State struct { + // The cluster custom service component configuration. Only one component is supported. See `addons` below. + Addons ClusterV2AddonArrayInput + // Specifies whether to enable auto scale-out for the cluster. Valid values: + // + // - true + // - false + ClientVersion pulumi.StringPtrInput + // The cluster type. Valid values: + // + // - Standard + // - Serverless + ClusterCategory pulumi.StringPtrInput + // Security credentials for the cluster. See `clusterCredentials` below. + ClusterCredentials ClusterV2ClusterCredentialsPtrInput + // The deployment mode of the cluster. Valid values: + // + // - Integrated + // - Hybrid + // - Custom + ClusterMode pulumi.StringPtrInput + // The post-processing script of the cluster. + ClusterName pulumi.StringPtrInput + // The ID of the virtual private cloud (VPC) in which the cluster resides. + ClusterVpcId pulumi.StringPtrInput + // The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + // You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + ClusterVswitchId pulumi.StringPtrInput + // The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + CreateTime pulumi.StringPtrInput + // The idle duration of the compute nodes allowed by the cluster. + DeletionProtection pulumi.BoolPtrInput + // The configurations of the cluster management node. See `manager` below. + Manager ClusterV2ManagerPtrInput + // The ID of the resource group to which the cluster belongs. + // You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + ResourceGroupId pulumi.StringPtrInput + // The security group ID. + SecurityGroupId pulumi.StringPtrInput + // List of cluster shared storage configurations. See `sharedStorages` below. + SharedStorages ClusterV2SharedStorageArrayInput +} + +func (ClusterV2State) ElementType() reflect.Type { + return reflect.TypeOf((*clusterV2State)(nil)).Elem() +} + +type clusterV2Args struct { + // The cluster custom service component configuration. Only one component is supported. See `addons` below. + Addons []ClusterV2Addon `pulumi:"addons"` + // Specifies whether to enable auto scale-out for the cluster. Valid values: + // + // - true + // - false + ClientVersion *string `pulumi:"clientVersion"` + // The cluster type. Valid values: + // + // - Standard + // - Serverless + ClusterCategory *string `pulumi:"clusterCategory"` + // Security credentials for the cluster. See `clusterCredentials` below. + ClusterCredentials ClusterV2ClusterCredentials `pulumi:"clusterCredentials"` + // The deployment mode of the cluster. Valid values: + // + // - Integrated + // - Hybrid + // - Custom + ClusterMode *string `pulumi:"clusterMode"` + // The post-processing script of the cluster. + ClusterName *string `pulumi:"clusterName"` + // The ID of the virtual private cloud (VPC) in which the cluster resides. + ClusterVpcId *string `pulumi:"clusterVpcId"` + // The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + // You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + ClusterVswitchId *string `pulumi:"clusterVswitchId"` + // The idle duration of the compute nodes allowed by the cluster. + DeletionProtection *bool `pulumi:"deletionProtection"` + // The configurations of the cluster management node. See `manager` below. + Manager *ClusterV2Manager `pulumi:"manager"` + // The ID of the resource group to which the cluster belongs. + // You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + ResourceGroupId *string `pulumi:"resourceGroupId"` + // The security group ID. + SecurityGroupId *string `pulumi:"securityGroupId"` + // List of cluster shared storage configurations. See `sharedStorages` below. + SharedStorages []ClusterV2SharedStorage `pulumi:"sharedStorages"` +} + +// The set of arguments for constructing a ClusterV2 resource. +type ClusterV2Args struct { + // The cluster custom service component configuration. Only one component is supported. See `addons` below. + Addons ClusterV2AddonArrayInput + // Specifies whether to enable auto scale-out for the cluster. Valid values: + // + // - true + // - false + ClientVersion pulumi.StringPtrInput + // The cluster type. Valid values: + // + // - Standard + // - Serverless + ClusterCategory pulumi.StringPtrInput + // Security credentials for the cluster. See `clusterCredentials` below. + ClusterCredentials ClusterV2ClusterCredentialsInput + // The deployment mode of the cluster. Valid values: + // + // - Integrated + // - Hybrid + // - Custom + ClusterMode pulumi.StringPtrInput + // The post-processing script of the cluster. + ClusterName pulumi.StringPtrInput + // The ID of the virtual private cloud (VPC) in which the cluster resides. + ClusterVpcId pulumi.StringPtrInput + // The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + // You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + ClusterVswitchId pulumi.StringPtrInput + // The idle duration of the compute nodes allowed by the cluster. + DeletionProtection pulumi.BoolPtrInput + // The configurations of the cluster management node. See `manager` below. + Manager ClusterV2ManagerPtrInput + // The ID of the resource group to which the cluster belongs. + // You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + ResourceGroupId pulumi.StringPtrInput + // The security group ID. + SecurityGroupId pulumi.StringPtrInput + // List of cluster shared storage configurations. See `sharedStorages` below. + SharedStorages ClusterV2SharedStorageArrayInput +} + +func (ClusterV2Args) ElementType() reflect.Type { + return reflect.TypeOf((*clusterV2Args)(nil)).Elem() +} + +type ClusterV2Input interface { + pulumi.Input + + ToClusterV2Output() ClusterV2Output + ToClusterV2OutputWithContext(ctx context.Context) ClusterV2Output +} + +func (*ClusterV2) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2)(nil)).Elem() +} + +func (i *ClusterV2) ToClusterV2Output() ClusterV2Output { + return i.ToClusterV2OutputWithContext(context.Background()) +} + +func (i *ClusterV2) ToClusterV2OutputWithContext(ctx context.Context) ClusterV2Output { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2Output) +} + +// ClusterV2ArrayInput is an input type that accepts ClusterV2Array and ClusterV2ArrayOutput values. +// You can construct a concrete instance of `ClusterV2ArrayInput` via: +// +// ClusterV2Array{ ClusterV2Args{...} } +type ClusterV2ArrayInput interface { + pulumi.Input + + ToClusterV2ArrayOutput() ClusterV2ArrayOutput + ToClusterV2ArrayOutputWithContext(context.Context) ClusterV2ArrayOutput +} + +type ClusterV2Array []ClusterV2Input + +func (ClusterV2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterV2)(nil)).Elem() +} + +func (i ClusterV2Array) ToClusterV2ArrayOutput() ClusterV2ArrayOutput { + return i.ToClusterV2ArrayOutputWithContext(context.Background()) +} + +func (i ClusterV2Array) ToClusterV2ArrayOutputWithContext(ctx context.Context) ClusterV2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ArrayOutput) +} + +// ClusterV2MapInput is an input type that accepts ClusterV2Map and ClusterV2MapOutput values. +// You can construct a concrete instance of `ClusterV2MapInput` via: +// +// ClusterV2Map{ "key": ClusterV2Args{...} } +type ClusterV2MapInput interface { + pulumi.Input + + ToClusterV2MapOutput() ClusterV2MapOutput + ToClusterV2MapOutputWithContext(context.Context) ClusterV2MapOutput +} + +type ClusterV2Map map[string]ClusterV2Input + +func (ClusterV2Map) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterV2)(nil)).Elem() +} + +func (i ClusterV2Map) ToClusterV2MapOutput() ClusterV2MapOutput { + return i.ToClusterV2MapOutputWithContext(context.Background()) +} + +func (i ClusterV2Map) ToClusterV2MapOutputWithContext(ctx context.Context) ClusterV2MapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2MapOutput) +} + +type ClusterV2Output struct{ *pulumi.OutputState } + +func (ClusterV2Output) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2)(nil)).Elem() +} + +func (o ClusterV2Output) ToClusterV2Output() ClusterV2Output { + return o +} + +func (o ClusterV2Output) ToClusterV2OutputWithContext(ctx context.Context) ClusterV2Output { + return o +} + +// The cluster custom service component configuration. Only one component is supported. See `addons` below. +func (o ClusterV2Output) Addons() ClusterV2AddonArrayOutput { + return o.ApplyT(func(v *ClusterV2) ClusterV2AddonArrayOutput { return v.Addons }).(ClusterV2AddonArrayOutput) +} + +// Specifies whether to enable auto scale-out for the cluster. Valid values: +// +// - true +// - false +func (o ClusterV2Output) ClientVersion() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringOutput { return v.ClientVersion }).(pulumi.StringOutput) +} + +// The cluster type. Valid values: +// +// - Standard +// - Serverless +func (o ClusterV2Output) ClusterCategory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.ClusterCategory }).(pulumi.StringPtrOutput) +} + +// Security credentials for the cluster. See `clusterCredentials` below. +func (o ClusterV2Output) ClusterCredentials() ClusterV2ClusterCredentialsOutput { + return o.ApplyT(func(v *ClusterV2) ClusterV2ClusterCredentialsOutput { return v.ClusterCredentials }).(ClusterV2ClusterCredentialsOutput) +} + +// The deployment mode of the cluster. Valid values: +// +// - Integrated +// - Hybrid +// - Custom +func (o ClusterV2Output) ClusterMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.ClusterMode }).(pulumi.StringPtrOutput) +} + +// The post-processing script of the cluster. +func (o ClusterV2Output) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// The ID of the virtual private cloud (VPC) in which the cluster resides. +func (o ClusterV2Output) ClusterVpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.ClusterVpcId }).(pulumi.StringPtrOutput) +} + +// The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. +// You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. +func (o ClusterV2Output) ClusterVswitchId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.ClusterVswitchId }).(pulumi.StringPtrOutput) +} + +// The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. +func (o ClusterV2Output) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The idle duration of the compute nodes allowed by the cluster. +func (o ClusterV2Output) DeletionProtection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) +} + +// The configurations of the cluster management node. See `manager` below. +func (o ClusterV2Output) Manager() ClusterV2ManagerPtrOutput { + return o.ApplyT(func(v *ClusterV2) ClusterV2ManagerPtrOutput { return v.Manager }).(ClusterV2ManagerPtrOutput) +} + +// The ID of the resource group to which the cluster belongs. +// You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. +func (o ClusterV2Output) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) +} + +// The security group ID. +func (o ClusterV2Output) SecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2) pulumi.StringPtrOutput { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +} + +// List of cluster shared storage configurations. See `sharedStorages` below. +func (o ClusterV2Output) SharedStorages() ClusterV2SharedStorageArrayOutput { + return o.ApplyT(func(v *ClusterV2) ClusterV2SharedStorageArrayOutput { return v.SharedStorages }).(ClusterV2SharedStorageArrayOutput) +} + +type ClusterV2ArrayOutput struct{ *pulumi.OutputState } + +func (ClusterV2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClusterV2)(nil)).Elem() +} + +func (o ClusterV2ArrayOutput) ToClusterV2ArrayOutput() ClusterV2ArrayOutput { + return o +} + +func (o ClusterV2ArrayOutput) ToClusterV2ArrayOutputWithContext(ctx context.Context) ClusterV2ArrayOutput { + return o +} + +func (o ClusterV2ArrayOutput) Index(i pulumi.IntInput) ClusterV2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterV2 { + return vs[0].([]*ClusterV2)[vs[1].(int)] + }).(ClusterV2Output) +} + +type ClusterV2MapOutput struct{ *pulumi.OutputState } + +func (ClusterV2MapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClusterV2)(nil)).Elem() +} + +func (o ClusterV2MapOutput) ToClusterV2MapOutput() ClusterV2MapOutput { + return o +} + +func (o ClusterV2MapOutput) ToClusterV2MapOutputWithContext(ctx context.Context) ClusterV2MapOutput { + return o +} + +func (o ClusterV2MapOutput) MapIndex(k pulumi.StringInput) ClusterV2Output { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterV2 { + return vs[0].(map[string]*ClusterV2)[vs[1].(string)] + }).(ClusterV2Output) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2Input)(nil)).Elem(), &ClusterV2{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ArrayInput)(nil)).Elem(), ClusterV2Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2MapInput)(nil)).Elem(), ClusterV2Map{}) + pulumi.RegisterOutputType(ClusterV2Output{}) + pulumi.RegisterOutputType(ClusterV2ArrayOutput{}) + pulumi.RegisterOutputType(ClusterV2MapOutput{}) +} diff --git a/sdk/go/alicloud/ehpc/init.go b/sdk/go/alicloud/ehpc/init.go index 2885cf9c2d..3263951ba4 100644 --- a/sdk/go/alicloud/ehpc/init.go +++ b/sdk/go/alicloud/ehpc/init.go @@ -23,8 +23,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "alicloud:ehpc/cluster:Cluster": r = &Cluster{} + case "alicloud:ehpc/clusterV2:ClusterV2": + r = &ClusterV2{} case "alicloud:ehpc/jobTemplate:JobTemplate": r = &JobTemplate{} + case "alicloud:ehpc/queue:Queue": + r = &Queue{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -43,9 +47,19 @@ func init() { "ehpc/cluster", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "ehpc/clusterV2", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "ehpc/jobTemplate", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "ehpc/queue", + &module{version}, + ) } diff --git a/sdk/go/alicloud/ehpc/jobTemplate.go b/sdk/go/alicloud/ehpc/jobTemplate.go index 17ee921125..4ccd07bc90 100644 --- a/sdk/go/alicloud/ehpc/jobTemplate.go +++ b/sdk/go/alicloud/ehpc/jobTemplate.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ehpc Job Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ehpc/pulumiTypes.go b/sdk/go/alicloud/ehpc/pulumiTypes.go index af50ab0276..085420d3eb 100644 --- a/sdk/go/alicloud/ehpc/pulumiTypes.go +++ b/sdk/go/alicloud/ehpc/pulumiTypes.go @@ -491,6 +491,2207 @@ func (o ClusterPostInstallScriptArrayOutput) Index(i pulumi.IntInput) ClusterPos }).(ClusterPostInstallScriptOutput) } +type ClusterV2Addon struct { + // Customize the specific configuration information of the service component. + Name string `pulumi:"name"` + // Customize the resource configuration of the service component. + ResourcesSpec *string `pulumi:"resourcesSpec"` + // Customize the service configuration of the service component. + ServicesSpec *string `pulumi:"servicesSpec"` + // Customize the service component version. + Version string `pulumi:"version"` +} + +// ClusterV2AddonInput is an input type that accepts ClusterV2AddonArgs and ClusterV2AddonOutput values. +// You can construct a concrete instance of `ClusterV2AddonInput` via: +// +// ClusterV2AddonArgs{...} +type ClusterV2AddonInput interface { + pulumi.Input + + ToClusterV2AddonOutput() ClusterV2AddonOutput + ToClusterV2AddonOutputWithContext(context.Context) ClusterV2AddonOutput +} + +type ClusterV2AddonArgs struct { + // Customize the specific configuration information of the service component. + Name pulumi.StringInput `pulumi:"name"` + // Customize the resource configuration of the service component. + ResourcesSpec pulumi.StringPtrInput `pulumi:"resourcesSpec"` + // Customize the service configuration of the service component. + ServicesSpec pulumi.StringPtrInput `pulumi:"servicesSpec"` + // Customize the service component version. + Version pulumi.StringInput `pulumi:"version"` +} + +func (ClusterV2AddonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2Addon)(nil)).Elem() +} + +func (i ClusterV2AddonArgs) ToClusterV2AddonOutput() ClusterV2AddonOutput { + return i.ToClusterV2AddonOutputWithContext(context.Background()) +} + +func (i ClusterV2AddonArgs) ToClusterV2AddonOutputWithContext(ctx context.Context) ClusterV2AddonOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2AddonOutput) +} + +// ClusterV2AddonArrayInput is an input type that accepts ClusterV2AddonArray and ClusterV2AddonArrayOutput values. +// You can construct a concrete instance of `ClusterV2AddonArrayInput` via: +// +// ClusterV2AddonArray{ ClusterV2AddonArgs{...} } +type ClusterV2AddonArrayInput interface { + pulumi.Input + + ToClusterV2AddonArrayOutput() ClusterV2AddonArrayOutput + ToClusterV2AddonArrayOutputWithContext(context.Context) ClusterV2AddonArrayOutput +} + +type ClusterV2AddonArray []ClusterV2AddonInput + +func (ClusterV2AddonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterV2Addon)(nil)).Elem() +} + +func (i ClusterV2AddonArray) ToClusterV2AddonArrayOutput() ClusterV2AddonArrayOutput { + return i.ToClusterV2AddonArrayOutputWithContext(context.Background()) +} + +func (i ClusterV2AddonArray) ToClusterV2AddonArrayOutputWithContext(ctx context.Context) ClusterV2AddonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2AddonArrayOutput) +} + +type ClusterV2AddonOutput struct{ *pulumi.OutputState } + +func (ClusterV2AddonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2Addon)(nil)).Elem() +} + +func (o ClusterV2AddonOutput) ToClusterV2AddonOutput() ClusterV2AddonOutput { + return o +} + +func (o ClusterV2AddonOutput) ToClusterV2AddonOutputWithContext(ctx context.Context) ClusterV2AddonOutput { + return o +} + +// Customize the specific configuration information of the service component. +func (o ClusterV2AddonOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ClusterV2Addon) string { return v.Name }).(pulumi.StringOutput) +} + +// Customize the resource configuration of the service component. +func (o ClusterV2AddonOutput) ResourcesSpec() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2Addon) *string { return v.ResourcesSpec }).(pulumi.StringPtrOutput) +} + +// Customize the service configuration of the service component. +func (o ClusterV2AddonOutput) ServicesSpec() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2Addon) *string { return v.ServicesSpec }).(pulumi.StringPtrOutput) +} + +// Customize the service component version. +func (o ClusterV2AddonOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ClusterV2Addon) string { return v.Version }).(pulumi.StringOutput) +} + +type ClusterV2AddonArrayOutput struct{ *pulumi.OutputState } + +func (ClusterV2AddonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterV2Addon)(nil)).Elem() +} + +func (o ClusterV2AddonArrayOutput) ToClusterV2AddonArrayOutput() ClusterV2AddonArrayOutput { + return o +} + +func (o ClusterV2AddonArrayOutput) ToClusterV2AddonArrayOutputWithContext(ctx context.Context) ClusterV2AddonArrayOutput { + return o +} + +func (o ClusterV2AddonArrayOutput) Index(i pulumi.IntInput) ClusterV2AddonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterV2Addon { + return vs[0].([]ClusterV2Addon)[vs[1].(int)] + }).(ClusterV2AddonOutput) +} + +type ClusterV2ClusterCredentials struct { + // The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + Password *string `pulumi:"password"` +} + +// ClusterV2ClusterCredentialsInput is an input type that accepts ClusterV2ClusterCredentialsArgs and ClusterV2ClusterCredentialsOutput values. +// You can construct a concrete instance of `ClusterV2ClusterCredentialsInput` via: +// +// ClusterV2ClusterCredentialsArgs{...} +type ClusterV2ClusterCredentialsInput interface { + pulumi.Input + + ToClusterV2ClusterCredentialsOutput() ClusterV2ClusterCredentialsOutput + ToClusterV2ClusterCredentialsOutputWithContext(context.Context) ClusterV2ClusterCredentialsOutput +} + +type ClusterV2ClusterCredentialsArgs struct { + // The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + Password pulumi.StringPtrInput `pulumi:"password"` +} + +func (ClusterV2ClusterCredentialsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ClusterCredentials)(nil)).Elem() +} + +func (i ClusterV2ClusterCredentialsArgs) ToClusterV2ClusterCredentialsOutput() ClusterV2ClusterCredentialsOutput { + return i.ToClusterV2ClusterCredentialsOutputWithContext(context.Background()) +} + +func (i ClusterV2ClusterCredentialsArgs) ToClusterV2ClusterCredentialsOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ClusterCredentialsOutput) +} + +func (i ClusterV2ClusterCredentialsArgs) ToClusterV2ClusterCredentialsPtrOutput() ClusterV2ClusterCredentialsPtrOutput { + return i.ToClusterV2ClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ClusterCredentialsArgs) ToClusterV2ClusterCredentialsPtrOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ClusterCredentialsOutput).ToClusterV2ClusterCredentialsPtrOutputWithContext(ctx) +} + +// ClusterV2ClusterCredentialsPtrInput is an input type that accepts ClusterV2ClusterCredentialsArgs, ClusterV2ClusterCredentialsPtr and ClusterV2ClusterCredentialsPtrOutput values. +// You can construct a concrete instance of `ClusterV2ClusterCredentialsPtrInput` via: +// +// ClusterV2ClusterCredentialsArgs{...} +// +// or: +// +// nil +type ClusterV2ClusterCredentialsPtrInput interface { + pulumi.Input + + ToClusterV2ClusterCredentialsPtrOutput() ClusterV2ClusterCredentialsPtrOutput + ToClusterV2ClusterCredentialsPtrOutputWithContext(context.Context) ClusterV2ClusterCredentialsPtrOutput +} + +type clusterV2ClusterCredentialsPtrType ClusterV2ClusterCredentialsArgs + +func ClusterV2ClusterCredentialsPtr(v *ClusterV2ClusterCredentialsArgs) ClusterV2ClusterCredentialsPtrInput { + return (*clusterV2ClusterCredentialsPtrType)(v) +} + +func (*clusterV2ClusterCredentialsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ClusterCredentials)(nil)).Elem() +} + +func (i *clusterV2ClusterCredentialsPtrType) ToClusterV2ClusterCredentialsPtrOutput() ClusterV2ClusterCredentialsPtrOutput { + return i.ToClusterV2ClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ClusterCredentialsPtrType) ToClusterV2ClusterCredentialsPtrOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ClusterCredentialsPtrOutput) +} + +type ClusterV2ClusterCredentialsOutput struct{ *pulumi.OutputState } + +func (ClusterV2ClusterCredentialsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ClusterCredentials)(nil)).Elem() +} + +func (o ClusterV2ClusterCredentialsOutput) ToClusterV2ClusterCredentialsOutput() ClusterV2ClusterCredentialsOutput { + return o +} + +func (o ClusterV2ClusterCredentialsOutput) ToClusterV2ClusterCredentialsOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsOutput { + return o +} + +func (o ClusterV2ClusterCredentialsOutput) ToClusterV2ClusterCredentialsPtrOutput() ClusterV2ClusterCredentialsPtrOutput { + return o.ToClusterV2ClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ClusterCredentialsOutput) ToClusterV2ClusterCredentialsPtrOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ClusterCredentials) *ClusterV2ClusterCredentials { + return &v + }).(ClusterV2ClusterCredentialsPtrOutput) +} + +// The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / +func (o ClusterV2ClusterCredentialsOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ClusterCredentials) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +type ClusterV2ClusterCredentialsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ClusterCredentialsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ClusterCredentials)(nil)).Elem() +} + +func (o ClusterV2ClusterCredentialsPtrOutput) ToClusterV2ClusterCredentialsPtrOutput() ClusterV2ClusterCredentialsPtrOutput { + return o +} + +func (o ClusterV2ClusterCredentialsPtrOutput) ToClusterV2ClusterCredentialsPtrOutputWithContext(ctx context.Context) ClusterV2ClusterCredentialsPtrOutput { + return o +} + +func (o ClusterV2ClusterCredentialsPtrOutput) Elem() ClusterV2ClusterCredentialsOutput { + return o.ApplyT(func(v *ClusterV2ClusterCredentials) ClusterV2ClusterCredentials { + if v != nil { + return *v + } + var ret ClusterV2ClusterCredentials + return ret + }).(ClusterV2ClusterCredentialsOutput) +} + +// The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / +func (o ClusterV2ClusterCredentialsPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ClusterCredentials) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) +} + +type ClusterV2Manager struct { + // The configurations of the domain account service. See `directoryService` below. + DirectoryService *ClusterV2ManagerDirectoryService `pulumi:"directoryService"` + // The configurations of the domain name resolution service. See `dns` below. + Dns *ClusterV2ManagerDns `pulumi:"dns"` + // The hardware configurations of the management node. See `managerNode` below. + ManagerNode *ClusterV2ManagerManagerNode `pulumi:"managerNode"` + // The configurations of the scheduler service. See `scheduler` below. + Scheduler *ClusterV2ManagerScheduler `pulumi:"scheduler"` +} + +// ClusterV2ManagerInput is an input type that accepts ClusterV2ManagerArgs and ClusterV2ManagerOutput values. +// You can construct a concrete instance of `ClusterV2ManagerInput` via: +// +// ClusterV2ManagerArgs{...} +type ClusterV2ManagerInput interface { + pulumi.Input + + ToClusterV2ManagerOutput() ClusterV2ManagerOutput + ToClusterV2ManagerOutputWithContext(context.Context) ClusterV2ManagerOutput +} + +type ClusterV2ManagerArgs struct { + // The configurations of the domain account service. See `directoryService` below. + DirectoryService ClusterV2ManagerDirectoryServicePtrInput `pulumi:"directoryService"` + // The configurations of the domain name resolution service. See `dns` below. + Dns ClusterV2ManagerDnsPtrInput `pulumi:"dns"` + // The hardware configurations of the management node. See `managerNode` below. + ManagerNode ClusterV2ManagerManagerNodePtrInput `pulumi:"managerNode"` + // The configurations of the scheduler service. See `scheduler` below. + Scheduler ClusterV2ManagerSchedulerPtrInput `pulumi:"scheduler"` +} + +func (ClusterV2ManagerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2Manager)(nil)).Elem() +} + +func (i ClusterV2ManagerArgs) ToClusterV2ManagerOutput() ClusterV2ManagerOutput { + return i.ToClusterV2ManagerOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerArgs) ToClusterV2ManagerOutputWithContext(ctx context.Context) ClusterV2ManagerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerOutput) +} + +func (i ClusterV2ManagerArgs) ToClusterV2ManagerPtrOutput() ClusterV2ManagerPtrOutput { + return i.ToClusterV2ManagerPtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerArgs) ToClusterV2ManagerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerOutput).ToClusterV2ManagerPtrOutputWithContext(ctx) +} + +// ClusterV2ManagerPtrInput is an input type that accepts ClusterV2ManagerArgs, ClusterV2ManagerPtr and ClusterV2ManagerPtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerPtrInput` via: +// +// ClusterV2ManagerArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerPtrInput interface { + pulumi.Input + + ToClusterV2ManagerPtrOutput() ClusterV2ManagerPtrOutput + ToClusterV2ManagerPtrOutputWithContext(context.Context) ClusterV2ManagerPtrOutput +} + +type clusterV2ManagerPtrType ClusterV2ManagerArgs + +func ClusterV2ManagerPtr(v *ClusterV2ManagerArgs) ClusterV2ManagerPtrInput { + return (*clusterV2ManagerPtrType)(v) +} + +func (*clusterV2ManagerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2Manager)(nil)).Elem() +} + +func (i *clusterV2ManagerPtrType) ToClusterV2ManagerPtrOutput() ClusterV2ManagerPtrOutput { + return i.ToClusterV2ManagerPtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerPtrType) ToClusterV2ManagerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerPtrOutput) +} + +type ClusterV2ManagerOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2Manager)(nil)).Elem() +} + +func (o ClusterV2ManagerOutput) ToClusterV2ManagerOutput() ClusterV2ManagerOutput { + return o +} + +func (o ClusterV2ManagerOutput) ToClusterV2ManagerOutputWithContext(ctx context.Context) ClusterV2ManagerOutput { + return o +} + +func (o ClusterV2ManagerOutput) ToClusterV2ManagerPtrOutput() ClusterV2ManagerPtrOutput { + return o.ToClusterV2ManagerPtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerOutput) ToClusterV2ManagerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2Manager) *ClusterV2Manager { + return &v + }).(ClusterV2ManagerPtrOutput) +} + +// The configurations of the domain account service. See `directoryService` below. +func (o ClusterV2ManagerOutput) DirectoryService() ClusterV2ManagerDirectoryServicePtrOutput { + return o.ApplyT(func(v ClusterV2Manager) *ClusterV2ManagerDirectoryService { return v.DirectoryService }).(ClusterV2ManagerDirectoryServicePtrOutput) +} + +// The configurations of the domain name resolution service. See `dns` below. +func (o ClusterV2ManagerOutput) Dns() ClusterV2ManagerDnsPtrOutput { + return o.ApplyT(func(v ClusterV2Manager) *ClusterV2ManagerDns { return v.Dns }).(ClusterV2ManagerDnsPtrOutput) +} + +// The hardware configurations of the management node. See `managerNode` below. +func (o ClusterV2ManagerOutput) ManagerNode() ClusterV2ManagerManagerNodePtrOutput { + return o.ApplyT(func(v ClusterV2Manager) *ClusterV2ManagerManagerNode { return v.ManagerNode }).(ClusterV2ManagerManagerNodePtrOutput) +} + +// The configurations of the scheduler service. See `scheduler` below. +func (o ClusterV2ManagerOutput) Scheduler() ClusterV2ManagerSchedulerPtrOutput { + return o.ApplyT(func(v ClusterV2Manager) *ClusterV2ManagerScheduler { return v.Scheduler }).(ClusterV2ManagerSchedulerPtrOutput) +} + +type ClusterV2ManagerPtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2Manager)(nil)).Elem() +} + +func (o ClusterV2ManagerPtrOutput) ToClusterV2ManagerPtrOutput() ClusterV2ManagerPtrOutput { + return o +} + +func (o ClusterV2ManagerPtrOutput) ToClusterV2ManagerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerPtrOutput { + return o +} + +func (o ClusterV2ManagerPtrOutput) Elem() ClusterV2ManagerOutput { + return o.ApplyT(func(v *ClusterV2Manager) ClusterV2Manager { + if v != nil { + return *v + } + var ret ClusterV2Manager + return ret + }).(ClusterV2ManagerOutput) +} + +// The configurations of the domain account service. See `directoryService` below. +func (o ClusterV2ManagerPtrOutput) DirectoryService() ClusterV2ManagerDirectoryServicePtrOutput { + return o.ApplyT(func(v *ClusterV2Manager) *ClusterV2ManagerDirectoryService { + if v == nil { + return nil + } + return v.DirectoryService + }).(ClusterV2ManagerDirectoryServicePtrOutput) +} + +// The configurations of the domain name resolution service. See `dns` below. +func (o ClusterV2ManagerPtrOutput) Dns() ClusterV2ManagerDnsPtrOutput { + return o.ApplyT(func(v *ClusterV2Manager) *ClusterV2ManagerDns { + if v == nil { + return nil + } + return v.Dns + }).(ClusterV2ManagerDnsPtrOutput) +} + +// The hardware configurations of the management node. See `managerNode` below. +func (o ClusterV2ManagerPtrOutput) ManagerNode() ClusterV2ManagerManagerNodePtrOutput { + return o.ApplyT(func(v *ClusterV2Manager) *ClusterV2ManagerManagerNode { + if v == nil { + return nil + } + return v.ManagerNode + }).(ClusterV2ManagerManagerNodePtrOutput) +} + +// The configurations of the scheduler service. See `scheduler` below. +func (o ClusterV2ManagerPtrOutput) Scheduler() ClusterV2ManagerSchedulerPtrOutput { + return o.ApplyT(func(v *ClusterV2Manager) *ClusterV2ManagerScheduler { + if v == nil { + return nil + } + return v.Scheduler + }).(ClusterV2ManagerSchedulerPtrOutput) +} + +type ClusterV2ManagerDirectoryService struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type *string `pulumi:"type"` + Version *string `pulumi:"version"` +} + +// ClusterV2ManagerDirectoryServiceInput is an input type that accepts ClusterV2ManagerDirectoryServiceArgs and ClusterV2ManagerDirectoryServiceOutput values. +// You can construct a concrete instance of `ClusterV2ManagerDirectoryServiceInput` via: +// +// ClusterV2ManagerDirectoryServiceArgs{...} +type ClusterV2ManagerDirectoryServiceInput interface { + pulumi.Input + + ToClusterV2ManagerDirectoryServiceOutput() ClusterV2ManagerDirectoryServiceOutput + ToClusterV2ManagerDirectoryServiceOutputWithContext(context.Context) ClusterV2ManagerDirectoryServiceOutput +} + +type ClusterV2ManagerDirectoryServiceArgs struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type pulumi.StringPtrInput `pulumi:"type"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (ClusterV2ManagerDirectoryServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerDirectoryService)(nil)).Elem() +} + +func (i ClusterV2ManagerDirectoryServiceArgs) ToClusterV2ManagerDirectoryServiceOutput() ClusterV2ManagerDirectoryServiceOutput { + return i.ToClusterV2ManagerDirectoryServiceOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerDirectoryServiceArgs) ToClusterV2ManagerDirectoryServiceOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDirectoryServiceOutput) +} + +func (i ClusterV2ManagerDirectoryServiceArgs) ToClusterV2ManagerDirectoryServicePtrOutput() ClusterV2ManagerDirectoryServicePtrOutput { + return i.ToClusterV2ManagerDirectoryServicePtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerDirectoryServiceArgs) ToClusterV2ManagerDirectoryServicePtrOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDirectoryServiceOutput).ToClusterV2ManagerDirectoryServicePtrOutputWithContext(ctx) +} + +// ClusterV2ManagerDirectoryServicePtrInput is an input type that accepts ClusterV2ManagerDirectoryServiceArgs, ClusterV2ManagerDirectoryServicePtr and ClusterV2ManagerDirectoryServicePtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerDirectoryServicePtrInput` via: +// +// ClusterV2ManagerDirectoryServiceArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerDirectoryServicePtrInput interface { + pulumi.Input + + ToClusterV2ManagerDirectoryServicePtrOutput() ClusterV2ManagerDirectoryServicePtrOutput + ToClusterV2ManagerDirectoryServicePtrOutputWithContext(context.Context) ClusterV2ManagerDirectoryServicePtrOutput +} + +type clusterV2ManagerDirectoryServicePtrType ClusterV2ManagerDirectoryServiceArgs + +func ClusterV2ManagerDirectoryServicePtr(v *ClusterV2ManagerDirectoryServiceArgs) ClusterV2ManagerDirectoryServicePtrInput { + return (*clusterV2ManagerDirectoryServicePtrType)(v) +} + +func (*clusterV2ManagerDirectoryServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerDirectoryService)(nil)).Elem() +} + +func (i *clusterV2ManagerDirectoryServicePtrType) ToClusterV2ManagerDirectoryServicePtrOutput() ClusterV2ManagerDirectoryServicePtrOutput { + return i.ToClusterV2ManagerDirectoryServicePtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerDirectoryServicePtrType) ToClusterV2ManagerDirectoryServicePtrOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDirectoryServicePtrOutput) +} + +type ClusterV2ManagerDirectoryServiceOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerDirectoryServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerDirectoryService)(nil)).Elem() +} + +func (o ClusterV2ManagerDirectoryServiceOutput) ToClusterV2ManagerDirectoryServiceOutput() ClusterV2ManagerDirectoryServiceOutput { + return o +} + +func (o ClusterV2ManagerDirectoryServiceOutput) ToClusterV2ManagerDirectoryServiceOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServiceOutput { + return o +} + +func (o ClusterV2ManagerDirectoryServiceOutput) ToClusterV2ManagerDirectoryServicePtrOutput() ClusterV2ManagerDirectoryServicePtrOutput { + return o.ToClusterV2ManagerDirectoryServicePtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerDirectoryServiceOutput) ToClusterV2ManagerDirectoryServicePtrOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ManagerDirectoryService) *ClusterV2ManagerDirectoryService { + return &v + }).(ClusterV2ManagerDirectoryServicePtrOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerDirectoryServiceOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerDirectoryService) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerDirectoryServiceOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerDirectoryService) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type ClusterV2ManagerDirectoryServicePtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerDirectoryServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerDirectoryService)(nil)).Elem() +} + +func (o ClusterV2ManagerDirectoryServicePtrOutput) ToClusterV2ManagerDirectoryServicePtrOutput() ClusterV2ManagerDirectoryServicePtrOutput { + return o +} + +func (o ClusterV2ManagerDirectoryServicePtrOutput) ToClusterV2ManagerDirectoryServicePtrOutputWithContext(ctx context.Context) ClusterV2ManagerDirectoryServicePtrOutput { + return o +} + +func (o ClusterV2ManagerDirectoryServicePtrOutput) Elem() ClusterV2ManagerDirectoryServiceOutput { + return o.ApplyT(func(v *ClusterV2ManagerDirectoryService) ClusterV2ManagerDirectoryService { + if v != nil { + return *v + } + var ret ClusterV2ManagerDirectoryService + return ret + }).(ClusterV2ManagerDirectoryServiceOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerDirectoryServicePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerDirectoryService) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerDirectoryServicePtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerDirectoryService) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +type ClusterV2ManagerDns struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type *string `pulumi:"type"` + Version *string `pulumi:"version"` +} + +// ClusterV2ManagerDnsInput is an input type that accepts ClusterV2ManagerDnsArgs and ClusterV2ManagerDnsOutput values. +// You can construct a concrete instance of `ClusterV2ManagerDnsInput` via: +// +// ClusterV2ManagerDnsArgs{...} +type ClusterV2ManagerDnsInput interface { + pulumi.Input + + ToClusterV2ManagerDnsOutput() ClusterV2ManagerDnsOutput + ToClusterV2ManagerDnsOutputWithContext(context.Context) ClusterV2ManagerDnsOutput +} + +type ClusterV2ManagerDnsArgs struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type pulumi.StringPtrInput `pulumi:"type"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (ClusterV2ManagerDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerDns)(nil)).Elem() +} + +func (i ClusterV2ManagerDnsArgs) ToClusterV2ManagerDnsOutput() ClusterV2ManagerDnsOutput { + return i.ToClusterV2ManagerDnsOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerDnsArgs) ToClusterV2ManagerDnsOutputWithContext(ctx context.Context) ClusterV2ManagerDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDnsOutput) +} + +func (i ClusterV2ManagerDnsArgs) ToClusterV2ManagerDnsPtrOutput() ClusterV2ManagerDnsPtrOutput { + return i.ToClusterV2ManagerDnsPtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerDnsArgs) ToClusterV2ManagerDnsPtrOutputWithContext(ctx context.Context) ClusterV2ManagerDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDnsOutput).ToClusterV2ManagerDnsPtrOutputWithContext(ctx) +} + +// ClusterV2ManagerDnsPtrInput is an input type that accepts ClusterV2ManagerDnsArgs, ClusterV2ManagerDnsPtr and ClusterV2ManagerDnsPtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerDnsPtrInput` via: +// +// ClusterV2ManagerDnsArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerDnsPtrInput interface { + pulumi.Input + + ToClusterV2ManagerDnsPtrOutput() ClusterV2ManagerDnsPtrOutput + ToClusterV2ManagerDnsPtrOutputWithContext(context.Context) ClusterV2ManagerDnsPtrOutput +} + +type clusterV2ManagerDnsPtrType ClusterV2ManagerDnsArgs + +func ClusterV2ManagerDnsPtr(v *ClusterV2ManagerDnsArgs) ClusterV2ManagerDnsPtrInput { + return (*clusterV2ManagerDnsPtrType)(v) +} + +func (*clusterV2ManagerDnsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerDns)(nil)).Elem() +} + +func (i *clusterV2ManagerDnsPtrType) ToClusterV2ManagerDnsPtrOutput() ClusterV2ManagerDnsPtrOutput { + return i.ToClusterV2ManagerDnsPtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerDnsPtrType) ToClusterV2ManagerDnsPtrOutputWithContext(ctx context.Context) ClusterV2ManagerDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerDnsPtrOutput) +} + +type ClusterV2ManagerDnsOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerDns)(nil)).Elem() +} + +func (o ClusterV2ManagerDnsOutput) ToClusterV2ManagerDnsOutput() ClusterV2ManagerDnsOutput { + return o +} + +func (o ClusterV2ManagerDnsOutput) ToClusterV2ManagerDnsOutputWithContext(ctx context.Context) ClusterV2ManagerDnsOutput { + return o +} + +func (o ClusterV2ManagerDnsOutput) ToClusterV2ManagerDnsPtrOutput() ClusterV2ManagerDnsPtrOutput { + return o.ToClusterV2ManagerDnsPtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerDnsOutput) ToClusterV2ManagerDnsPtrOutputWithContext(ctx context.Context) ClusterV2ManagerDnsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ManagerDns) *ClusterV2ManagerDns { + return &v + }).(ClusterV2ManagerDnsPtrOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerDnsOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerDns) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerDnsOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerDns) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type ClusterV2ManagerDnsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerDnsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerDns)(nil)).Elem() +} + +func (o ClusterV2ManagerDnsPtrOutput) ToClusterV2ManagerDnsPtrOutput() ClusterV2ManagerDnsPtrOutput { + return o +} + +func (o ClusterV2ManagerDnsPtrOutput) ToClusterV2ManagerDnsPtrOutputWithContext(ctx context.Context) ClusterV2ManagerDnsPtrOutput { + return o +} + +func (o ClusterV2ManagerDnsPtrOutput) Elem() ClusterV2ManagerDnsOutput { + return o.ApplyT(func(v *ClusterV2ManagerDns) ClusterV2ManagerDns { + if v != nil { + return *v + } + var ret ClusterV2ManagerDns + return ret + }).(ClusterV2ManagerDnsOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerDnsPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerDns) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerDnsPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerDns) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +type ClusterV2ManagerManagerNode struct { + // Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + // - true: Automatic renewal. + // - false: Do not renew automatically (default). + AutoRenew *bool `pulumi:"autoRenew"` + // The renewal duration of a single automatic renewal. Value range: + // - When PeriodUnit = Week: 1, 2, 3. + // - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + // + // Default value: 1. + AutoRenewPeriod *int `pulumi:"autoRenewPeriod"` + // The duration of the preemptible instance, in hours. Value: + // - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + // - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + // + // Default value: 1. + Duration *int `pulumi:"duration"` + // EnableHT + EnableHt *bool `pulumi:"enableHt"` + // The expiration time of the management node. + ExpiredTime *string `pulumi:"expiredTime"` + // ImageId + ImageId *string `pulumi:"imageId"` + // The instance billing method of the management node. Valid values: + // + // - PostPaid: pay-as-you-go + // - PrePaid: subscription + InstanceChargeType *string `pulumi:"instanceChargeType"` + // The instance ID of the management node. + InstanceId *string `pulumi:"instanceId"` + // The instance type of the management node. + InstanceType *string `pulumi:"instanceType"` + // The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + // - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + // - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + Period *int `pulumi:"period"` + // The unit of duration of the year-to-month billing method. Value range: + // - Week. + // - Month (default). + PeriodUnit *string `pulumi:"periodUnit"` + // Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + SpotPriceLimit *float64 `pulumi:"spotPriceLimit"` + // The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + // - NoSpot: normal pay-as-you-go instances (default). + // - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + // - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + SpotStrategy *string `pulumi:"spotStrategy"` + // System disk configuration of the management node. See `systemDisk` below. + SystemDisk *ClusterV2ManagerManagerNodeSystemDisk `pulumi:"systemDisk"` +} + +// ClusterV2ManagerManagerNodeInput is an input type that accepts ClusterV2ManagerManagerNodeArgs and ClusterV2ManagerManagerNodeOutput values. +// You can construct a concrete instance of `ClusterV2ManagerManagerNodeInput` via: +// +// ClusterV2ManagerManagerNodeArgs{...} +type ClusterV2ManagerManagerNodeInput interface { + pulumi.Input + + ToClusterV2ManagerManagerNodeOutput() ClusterV2ManagerManagerNodeOutput + ToClusterV2ManagerManagerNodeOutputWithContext(context.Context) ClusterV2ManagerManagerNodeOutput +} + +type ClusterV2ManagerManagerNodeArgs struct { + // Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + // - true: Automatic renewal. + // - false: Do not renew automatically (default). + AutoRenew pulumi.BoolPtrInput `pulumi:"autoRenew"` + // The renewal duration of a single automatic renewal. Value range: + // - When PeriodUnit = Week: 1, 2, 3. + // - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + // + // Default value: 1. + AutoRenewPeriod pulumi.IntPtrInput `pulumi:"autoRenewPeriod"` + // The duration of the preemptible instance, in hours. Value: + // - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + // - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + // + // Default value: 1. + Duration pulumi.IntPtrInput `pulumi:"duration"` + // EnableHT + EnableHt pulumi.BoolPtrInput `pulumi:"enableHt"` + // The expiration time of the management node. + ExpiredTime pulumi.StringPtrInput `pulumi:"expiredTime"` + // ImageId + ImageId pulumi.StringPtrInput `pulumi:"imageId"` + // The instance billing method of the management node. Valid values: + // + // - PostPaid: pay-as-you-go + // - PrePaid: subscription + InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` + // The instance ID of the management node. + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + // The instance type of the management node. + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` + // The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + // - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + // - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + Period pulumi.IntPtrInput `pulumi:"period"` + // The unit of duration of the year-to-month billing method. Value range: + // - Week. + // - Month (default). + PeriodUnit pulumi.StringPtrInput `pulumi:"periodUnit"` + // Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + SpotPriceLimit pulumi.Float64PtrInput `pulumi:"spotPriceLimit"` + // The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + // - NoSpot: normal pay-as-you-go instances (default). + // - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + // - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + SpotStrategy pulumi.StringPtrInput `pulumi:"spotStrategy"` + // System disk configuration of the management node. See `systemDisk` below. + SystemDisk ClusterV2ManagerManagerNodeSystemDiskPtrInput `pulumi:"systemDisk"` +} + +func (ClusterV2ManagerManagerNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerManagerNode)(nil)).Elem() +} + +func (i ClusterV2ManagerManagerNodeArgs) ToClusterV2ManagerManagerNodeOutput() ClusterV2ManagerManagerNodeOutput { + return i.ToClusterV2ManagerManagerNodeOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerManagerNodeArgs) ToClusterV2ManagerManagerNodeOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodeOutput) +} + +func (i ClusterV2ManagerManagerNodeArgs) ToClusterV2ManagerManagerNodePtrOutput() ClusterV2ManagerManagerNodePtrOutput { + return i.ToClusterV2ManagerManagerNodePtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerManagerNodeArgs) ToClusterV2ManagerManagerNodePtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodeOutput).ToClusterV2ManagerManagerNodePtrOutputWithContext(ctx) +} + +// ClusterV2ManagerManagerNodePtrInput is an input type that accepts ClusterV2ManagerManagerNodeArgs, ClusterV2ManagerManagerNodePtr and ClusterV2ManagerManagerNodePtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerManagerNodePtrInput` via: +// +// ClusterV2ManagerManagerNodeArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerManagerNodePtrInput interface { + pulumi.Input + + ToClusterV2ManagerManagerNodePtrOutput() ClusterV2ManagerManagerNodePtrOutput + ToClusterV2ManagerManagerNodePtrOutputWithContext(context.Context) ClusterV2ManagerManagerNodePtrOutput +} + +type clusterV2ManagerManagerNodePtrType ClusterV2ManagerManagerNodeArgs + +func ClusterV2ManagerManagerNodePtr(v *ClusterV2ManagerManagerNodeArgs) ClusterV2ManagerManagerNodePtrInput { + return (*clusterV2ManagerManagerNodePtrType)(v) +} + +func (*clusterV2ManagerManagerNodePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerManagerNode)(nil)).Elem() +} + +func (i *clusterV2ManagerManagerNodePtrType) ToClusterV2ManagerManagerNodePtrOutput() ClusterV2ManagerManagerNodePtrOutput { + return i.ToClusterV2ManagerManagerNodePtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerManagerNodePtrType) ToClusterV2ManagerManagerNodePtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodePtrOutput) +} + +type ClusterV2ManagerManagerNodeOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerManagerNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerManagerNode)(nil)).Elem() +} + +func (o ClusterV2ManagerManagerNodeOutput) ToClusterV2ManagerManagerNodeOutput() ClusterV2ManagerManagerNodeOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeOutput) ToClusterV2ManagerManagerNodeOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeOutput) ToClusterV2ManagerManagerNodePtrOutput() ClusterV2ManagerManagerNodePtrOutput { + return o.ToClusterV2ManagerManagerNodePtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerManagerNodeOutput) ToClusterV2ManagerManagerNodePtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ManagerManagerNode) *ClusterV2ManagerManagerNode { + return &v + }).(ClusterV2ManagerManagerNodePtrOutput) +} + +// Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: +// - true: Automatic renewal. +// - false: Do not renew automatically (default). +func (o ClusterV2ManagerManagerNodeOutput) AutoRenew() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *bool { return v.AutoRenew }).(pulumi.BoolPtrOutput) +} + +// The renewal duration of a single automatic renewal. Value range: +// - When PeriodUnit = Week: 1, 2, 3. +// - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. +// +// Default value: 1. +func (o ClusterV2ManagerManagerNodeOutput) AutoRenewPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *int { return v.AutoRenewPeriod }).(pulumi.IntPtrOutput) +} + +// The duration of the preemptible instance, in hours. Value: +// - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. +// - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. +// +// Default value: 1. +func (o ClusterV2ManagerManagerNodeOutput) Duration() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *int { return v.Duration }).(pulumi.IntPtrOutput) +} + +// EnableHT +func (o ClusterV2ManagerManagerNodeOutput) EnableHt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *bool { return v.EnableHt }).(pulumi.BoolPtrOutput) +} + +// The expiration time of the management node. +func (o ClusterV2ManagerManagerNodeOutput) ExpiredTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.ExpiredTime }).(pulumi.StringPtrOutput) +} + +// ImageId +func (o ClusterV2ManagerManagerNodeOutput) ImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.ImageId }).(pulumi.StringPtrOutput) +} + +// The instance billing method of the management node. Valid values: +// +// - PostPaid: pay-as-you-go +// - PrePaid: subscription +func (o ClusterV2ManagerManagerNodeOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +} + +// The instance ID of the management node. +func (o ClusterV2ManagerManagerNodeOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// The instance type of the management node. +func (o ClusterV2ManagerManagerNodeOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +} + +// The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: +// - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. +// - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. +func (o ClusterV2ManagerManagerNodeOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *int { return v.Period }).(pulumi.IntPtrOutput) +} + +// The unit of duration of the year-to-month billing method. Value range: +// - Week. +// - Month (default). +func (o ClusterV2ManagerManagerNodeOutput) PeriodUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.PeriodUnit }).(pulumi.StringPtrOutput) +} + +// Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. +func (o ClusterV2ManagerManagerNodeOutput) SpotPriceLimit() pulumi.Float64PtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *float64 { return v.SpotPriceLimit }).(pulumi.Float64PtrOutput) +} + +// The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: +// - NoSpot: normal pay-as-you-go instances (default). +// - SpotWithPriceLimit: set the upper limit price for the preemptible instance. +// - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. +func (o ClusterV2ManagerManagerNodeOutput) SpotStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *string { return v.SpotStrategy }).(pulumi.StringPtrOutput) +} + +// System disk configuration of the management node. See `systemDisk` below. +func (o ClusterV2ManagerManagerNodeOutput) SystemDisk() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNode) *ClusterV2ManagerManagerNodeSystemDisk { return v.SystemDisk }).(ClusterV2ManagerManagerNodeSystemDiskPtrOutput) +} + +type ClusterV2ManagerManagerNodePtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerManagerNodePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerManagerNode)(nil)).Elem() +} + +func (o ClusterV2ManagerManagerNodePtrOutput) ToClusterV2ManagerManagerNodePtrOutput() ClusterV2ManagerManagerNodePtrOutput { + return o +} + +func (o ClusterV2ManagerManagerNodePtrOutput) ToClusterV2ManagerManagerNodePtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodePtrOutput { + return o +} + +func (o ClusterV2ManagerManagerNodePtrOutput) Elem() ClusterV2ManagerManagerNodeOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) ClusterV2ManagerManagerNode { + if v != nil { + return *v + } + var ret ClusterV2ManagerManagerNode + return ret + }).(ClusterV2ManagerManagerNodeOutput) +} + +// Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: +// - true: Automatic renewal. +// - false: Do not renew automatically (default). +func (o ClusterV2ManagerManagerNodePtrOutput) AutoRenew() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *bool { + if v == nil { + return nil + } + return v.AutoRenew + }).(pulumi.BoolPtrOutput) +} + +// The renewal duration of a single automatic renewal. Value range: +// - When PeriodUnit = Week: 1, 2, 3. +// - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. +// +// Default value: 1. +func (o ClusterV2ManagerManagerNodePtrOutput) AutoRenewPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *int { + if v == nil { + return nil + } + return v.AutoRenewPeriod + }).(pulumi.IntPtrOutput) +} + +// The duration of the preemptible instance, in hours. Value: +// - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. +// - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. +// +// Default value: 1. +func (o ClusterV2ManagerManagerNodePtrOutput) Duration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *int { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.IntPtrOutput) +} + +// EnableHT +func (o ClusterV2ManagerManagerNodePtrOutput) EnableHt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *bool { + if v == nil { + return nil + } + return v.EnableHt + }).(pulumi.BoolPtrOutput) +} + +// The expiration time of the management node. +func (o ClusterV2ManagerManagerNodePtrOutput) ExpiredTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.ExpiredTime + }).(pulumi.StringPtrOutput) +} + +// ImageId +func (o ClusterV2ManagerManagerNodePtrOutput) ImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.ImageId + }).(pulumi.StringPtrOutput) +} + +// The instance billing method of the management node. Valid values: +// +// - PostPaid: pay-as-you-go +// - PrePaid: subscription +func (o ClusterV2ManagerManagerNodePtrOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.InstanceChargeType + }).(pulumi.StringPtrOutput) +} + +// The instance ID of the management node. +func (o ClusterV2ManagerManagerNodePtrOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.InstanceId + }).(pulumi.StringPtrOutput) +} + +// The instance type of the management node. +func (o ClusterV2ManagerManagerNodePtrOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.InstanceType + }).(pulumi.StringPtrOutput) +} + +// The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: +// - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. +// - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. +func (o ClusterV2ManagerManagerNodePtrOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *int { + if v == nil { + return nil + } + return v.Period + }).(pulumi.IntPtrOutput) +} + +// The unit of duration of the year-to-month billing method. Value range: +// - Week. +// - Month (default). +func (o ClusterV2ManagerManagerNodePtrOutput) PeriodUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.PeriodUnit + }).(pulumi.StringPtrOutput) +} + +// Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. +func (o ClusterV2ManagerManagerNodePtrOutput) SpotPriceLimit() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *float64 { + if v == nil { + return nil + } + return v.SpotPriceLimit + }).(pulumi.Float64PtrOutput) +} + +// The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: +// - NoSpot: normal pay-as-you-go instances (default). +// - SpotWithPriceLimit: set the upper limit price for the preemptible instance. +// - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. +func (o ClusterV2ManagerManagerNodePtrOutput) SpotStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *string { + if v == nil { + return nil + } + return v.SpotStrategy + }).(pulumi.StringPtrOutput) +} + +// System disk configuration of the management node. See `systemDisk` below. +func (o ClusterV2ManagerManagerNodePtrOutput) SystemDisk() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNode) *ClusterV2ManagerManagerNodeSystemDisk { + if v == nil { + return nil + } + return v.SystemDisk + }).(ClusterV2ManagerManagerNodeSystemDiskPtrOutput) +} + +type ClusterV2ManagerManagerNodeSystemDisk struct { + // Manage the system disk configuration of the node. Value range: + // - cloud_efficiency: The Ultra cloud disk. + // - cloud_ssd:SSD cloud disk. + // - cloud_essd:ESSD cloud disk. + // - cloud: ordinary cloud disk. + Category *string `pulumi:"category"` + // When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + // - PL0: maximum random read/write IOPS 10000 for a single disk. + // - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + // - PL2: maximum random read/write IOPS 100000 for a single disk. + // - PL3: maximum random read/write IOPS 1 million for a single disk. + Level *string `pulumi:"level"` + // The system disk size of the management node. Unit: GiB. Value range: + // - Ordinary cloud tray: 20~500. + // - ESSD cloud disk: + // - PL0:1~2048. + // - PL1:20~2048. + // - PL2:461~2048. + // - PL3:1261~2048. + // - Other cloud disk types: 20~2048. + Size *int `pulumi:"size"` +} + +// ClusterV2ManagerManagerNodeSystemDiskInput is an input type that accepts ClusterV2ManagerManagerNodeSystemDiskArgs and ClusterV2ManagerManagerNodeSystemDiskOutput values. +// You can construct a concrete instance of `ClusterV2ManagerManagerNodeSystemDiskInput` via: +// +// ClusterV2ManagerManagerNodeSystemDiskArgs{...} +type ClusterV2ManagerManagerNodeSystemDiskInput interface { + pulumi.Input + + ToClusterV2ManagerManagerNodeSystemDiskOutput() ClusterV2ManagerManagerNodeSystemDiskOutput + ToClusterV2ManagerManagerNodeSystemDiskOutputWithContext(context.Context) ClusterV2ManagerManagerNodeSystemDiskOutput +} + +type ClusterV2ManagerManagerNodeSystemDiskArgs struct { + // Manage the system disk configuration of the node. Value range: + // - cloud_efficiency: The Ultra cloud disk. + // - cloud_ssd:SSD cloud disk. + // - cloud_essd:ESSD cloud disk. + // - cloud: ordinary cloud disk. + Category pulumi.StringPtrInput `pulumi:"category"` + // When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + // - PL0: maximum random read/write IOPS 10000 for a single disk. + // - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + // - PL2: maximum random read/write IOPS 100000 for a single disk. + // - PL3: maximum random read/write IOPS 1 million for a single disk. + Level pulumi.StringPtrInput `pulumi:"level"` + // The system disk size of the management node. Unit: GiB. Value range: + // - Ordinary cloud tray: 20~500. + // - ESSD cloud disk: + // - PL0:1~2048. + // - PL1:20~2048. + // - PL2:461~2048. + // - PL3:1261~2048. + // - Other cloud disk types: 20~2048. + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (ClusterV2ManagerManagerNodeSystemDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerManagerNodeSystemDisk)(nil)).Elem() +} + +func (i ClusterV2ManagerManagerNodeSystemDiskArgs) ToClusterV2ManagerManagerNodeSystemDiskOutput() ClusterV2ManagerManagerNodeSystemDiskOutput { + return i.ToClusterV2ManagerManagerNodeSystemDiskOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerManagerNodeSystemDiskArgs) ToClusterV2ManagerManagerNodeSystemDiskOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodeSystemDiskOutput) +} + +func (i ClusterV2ManagerManagerNodeSystemDiskArgs) ToClusterV2ManagerManagerNodeSystemDiskPtrOutput() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return i.ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerManagerNodeSystemDiskArgs) ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodeSystemDiskOutput).ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(ctx) +} + +// ClusterV2ManagerManagerNodeSystemDiskPtrInput is an input type that accepts ClusterV2ManagerManagerNodeSystemDiskArgs, ClusterV2ManagerManagerNodeSystemDiskPtr and ClusterV2ManagerManagerNodeSystemDiskPtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerManagerNodeSystemDiskPtrInput` via: +// +// ClusterV2ManagerManagerNodeSystemDiskArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerManagerNodeSystemDiskPtrInput interface { + pulumi.Input + + ToClusterV2ManagerManagerNodeSystemDiskPtrOutput() ClusterV2ManagerManagerNodeSystemDiskPtrOutput + ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(context.Context) ClusterV2ManagerManagerNodeSystemDiskPtrOutput +} + +type clusterV2ManagerManagerNodeSystemDiskPtrType ClusterV2ManagerManagerNodeSystemDiskArgs + +func ClusterV2ManagerManagerNodeSystemDiskPtr(v *ClusterV2ManagerManagerNodeSystemDiskArgs) ClusterV2ManagerManagerNodeSystemDiskPtrInput { + return (*clusterV2ManagerManagerNodeSystemDiskPtrType)(v) +} + +func (*clusterV2ManagerManagerNodeSystemDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerManagerNodeSystemDisk)(nil)).Elem() +} + +func (i *clusterV2ManagerManagerNodeSystemDiskPtrType) ToClusterV2ManagerManagerNodeSystemDiskPtrOutput() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return i.ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerManagerNodeSystemDiskPtrType) ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerManagerNodeSystemDiskPtrOutput) +} + +type ClusterV2ManagerManagerNodeSystemDiskOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerManagerNodeSystemDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerManagerNodeSystemDisk)(nil)).Elem() +} + +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) ToClusterV2ManagerManagerNodeSystemDiskOutput() ClusterV2ManagerManagerNodeSystemDiskOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) ToClusterV2ManagerManagerNodeSystemDiskOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) ToClusterV2ManagerManagerNodeSystemDiskPtrOutput() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o.ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ManagerManagerNodeSystemDisk) *ClusterV2ManagerManagerNodeSystemDisk { + return &v + }).(ClusterV2ManagerManagerNodeSystemDiskPtrOutput) +} + +// Manage the system disk configuration of the node. Value range: +// - cloud_efficiency: The Ultra cloud disk. +// - cloud_ssd:SSD cloud disk. +// - cloud_essd:ESSD cloud disk. +// - cloud: ordinary cloud disk. +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNodeSystemDisk) *string { return v.Category }).(pulumi.StringPtrOutput) +} + +// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: +// - PL0: maximum random read/write IOPS 10000 for a single disk. +// - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. +// - PL2: maximum random read/write IOPS 100000 for a single disk. +// - PL3: maximum random read/write IOPS 1 million for a single disk. +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) Level() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNodeSystemDisk) *string { return v.Level }).(pulumi.StringPtrOutput) +} + +// The system disk size of the management node. Unit: GiB. Value range: +// - Ordinary cloud tray: 20~500. +// - ESSD cloud disk: +// - PL0:1~2048. +// - PL1:20~2048. +// - PL2:461~2048. +// - PL3:1261~2048. +// - Other cloud disk types: 20~2048. +func (o ClusterV2ManagerManagerNodeSystemDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerManagerNodeSystemDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type ClusterV2ManagerManagerNodeSystemDiskPtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerManagerNodeSystemDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerManagerNodeSystemDisk)(nil)).Elem() +} + +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) ToClusterV2ManagerManagerNodeSystemDiskPtrOutput() ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) ToClusterV2ManagerManagerNodeSystemDiskPtrOutputWithContext(ctx context.Context) ClusterV2ManagerManagerNodeSystemDiskPtrOutput { + return o +} + +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) Elem() ClusterV2ManagerManagerNodeSystemDiskOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNodeSystemDisk) ClusterV2ManagerManagerNodeSystemDisk { + if v != nil { + return *v + } + var ret ClusterV2ManagerManagerNodeSystemDisk + return ret + }).(ClusterV2ManagerManagerNodeSystemDiskOutput) +} + +// Manage the system disk configuration of the node. Value range: +// - cloud_efficiency: The Ultra cloud disk. +// - cloud_ssd:SSD cloud disk. +// - cloud_essd:ESSD cloud disk. +// - cloud: ordinary cloud disk. +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNodeSystemDisk) *string { + if v == nil { + return nil + } + return v.Category + }).(pulumi.StringPtrOutput) +} + +// When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: +// - PL0: maximum random read/write IOPS 10000 for a single disk. +// - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. +// - PL2: maximum random read/write IOPS 100000 for a single disk. +// - PL3: maximum random read/write IOPS 1 million for a single disk. +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) Level() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNodeSystemDisk) *string { + if v == nil { + return nil + } + return v.Level + }).(pulumi.StringPtrOutput) +} + +// The system disk size of the management node. Unit: GiB. Value range: +// - Ordinary cloud tray: 20~500. +// - ESSD cloud disk: +// - PL0:1~2048. +// - PL1:20~2048. +// - PL2:461~2048. +// - PL3:1261~2048. +// - Other cloud disk types: 20~2048. +func (o ClusterV2ManagerManagerNodeSystemDiskPtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerManagerNodeSystemDisk) *int { + if v == nil { + return nil + } + return v.Size + }).(pulumi.IntPtrOutput) +} + +type ClusterV2ManagerScheduler struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type *string `pulumi:"type"` + Version *string `pulumi:"version"` +} + +// ClusterV2ManagerSchedulerInput is an input type that accepts ClusterV2ManagerSchedulerArgs and ClusterV2ManagerSchedulerOutput values. +// You can construct a concrete instance of `ClusterV2ManagerSchedulerInput` via: +// +// ClusterV2ManagerSchedulerArgs{...} +type ClusterV2ManagerSchedulerInput interface { + pulumi.Input + + ToClusterV2ManagerSchedulerOutput() ClusterV2ManagerSchedulerOutput + ToClusterV2ManagerSchedulerOutputWithContext(context.Context) ClusterV2ManagerSchedulerOutput +} + +type ClusterV2ManagerSchedulerArgs struct { + // The scheduler type. Valid values: + // + // - SLURM + // - PBS + // - OPENGRIDSCHEDULER + // - LSF_PLUGIN + // - PBS_PLUGIN + Type pulumi.StringPtrInput `pulumi:"type"` + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (ClusterV2ManagerSchedulerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerScheduler)(nil)).Elem() +} + +func (i ClusterV2ManagerSchedulerArgs) ToClusterV2ManagerSchedulerOutput() ClusterV2ManagerSchedulerOutput { + return i.ToClusterV2ManagerSchedulerOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerSchedulerArgs) ToClusterV2ManagerSchedulerOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerSchedulerOutput) +} + +func (i ClusterV2ManagerSchedulerArgs) ToClusterV2ManagerSchedulerPtrOutput() ClusterV2ManagerSchedulerPtrOutput { + return i.ToClusterV2ManagerSchedulerPtrOutputWithContext(context.Background()) +} + +func (i ClusterV2ManagerSchedulerArgs) ToClusterV2ManagerSchedulerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerSchedulerOutput).ToClusterV2ManagerSchedulerPtrOutputWithContext(ctx) +} + +// ClusterV2ManagerSchedulerPtrInput is an input type that accepts ClusterV2ManagerSchedulerArgs, ClusterV2ManagerSchedulerPtr and ClusterV2ManagerSchedulerPtrOutput values. +// You can construct a concrete instance of `ClusterV2ManagerSchedulerPtrInput` via: +// +// ClusterV2ManagerSchedulerArgs{...} +// +// or: +// +// nil +type ClusterV2ManagerSchedulerPtrInput interface { + pulumi.Input + + ToClusterV2ManagerSchedulerPtrOutput() ClusterV2ManagerSchedulerPtrOutput + ToClusterV2ManagerSchedulerPtrOutputWithContext(context.Context) ClusterV2ManagerSchedulerPtrOutput +} + +type clusterV2ManagerSchedulerPtrType ClusterV2ManagerSchedulerArgs + +func ClusterV2ManagerSchedulerPtr(v *ClusterV2ManagerSchedulerArgs) ClusterV2ManagerSchedulerPtrInput { + return (*clusterV2ManagerSchedulerPtrType)(v) +} + +func (*clusterV2ManagerSchedulerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerScheduler)(nil)).Elem() +} + +func (i *clusterV2ManagerSchedulerPtrType) ToClusterV2ManagerSchedulerPtrOutput() ClusterV2ManagerSchedulerPtrOutput { + return i.ToClusterV2ManagerSchedulerPtrOutputWithContext(context.Background()) +} + +func (i *clusterV2ManagerSchedulerPtrType) ToClusterV2ManagerSchedulerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2ManagerSchedulerPtrOutput) +} + +type ClusterV2ManagerSchedulerOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerSchedulerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2ManagerScheduler)(nil)).Elem() +} + +func (o ClusterV2ManagerSchedulerOutput) ToClusterV2ManagerSchedulerOutput() ClusterV2ManagerSchedulerOutput { + return o +} + +func (o ClusterV2ManagerSchedulerOutput) ToClusterV2ManagerSchedulerOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerOutput { + return o +} + +func (o ClusterV2ManagerSchedulerOutput) ToClusterV2ManagerSchedulerPtrOutput() ClusterV2ManagerSchedulerPtrOutput { + return o.ToClusterV2ManagerSchedulerPtrOutputWithContext(context.Background()) +} + +func (o ClusterV2ManagerSchedulerOutput) ToClusterV2ManagerSchedulerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterV2ManagerScheduler) *ClusterV2ManagerScheduler { + return &v + }).(ClusterV2ManagerSchedulerPtrOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerSchedulerOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerScheduler) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerSchedulerOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2ManagerScheduler) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type ClusterV2ManagerSchedulerPtrOutput struct{ *pulumi.OutputState } + +func (ClusterV2ManagerSchedulerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterV2ManagerScheduler)(nil)).Elem() +} + +func (o ClusterV2ManagerSchedulerPtrOutput) ToClusterV2ManagerSchedulerPtrOutput() ClusterV2ManagerSchedulerPtrOutput { + return o +} + +func (o ClusterV2ManagerSchedulerPtrOutput) ToClusterV2ManagerSchedulerPtrOutputWithContext(ctx context.Context) ClusterV2ManagerSchedulerPtrOutput { + return o +} + +func (o ClusterV2ManagerSchedulerPtrOutput) Elem() ClusterV2ManagerSchedulerOutput { + return o.ApplyT(func(v *ClusterV2ManagerScheduler) ClusterV2ManagerScheduler { + if v != nil { + return *v + } + var ret ClusterV2ManagerScheduler + return ret + }).(ClusterV2ManagerSchedulerOutput) +} + +// The scheduler type. Valid values: +// +// - SLURM +// - PBS +// - OPENGRIDSCHEDULER +// - LSF_PLUGIN +// - PBS_PLUGIN +func (o ClusterV2ManagerSchedulerPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerScheduler) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +func (o ClusterV2ManagerSchedulerPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterV2ManagerScheduler) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +type ClusterV2SharedStorage struct { + // The ID of the mounted file system. + FileSystemId *string `pulumi:"fileSystemId"` + // The local Mount directory where the file system is mounted. + MountDirectory *string `pulumi:"mountDirectory"` + // Storage mount options for the mounted file system. + MountOptions *string `pulumi:"mountOptions"` + // The mount point address of the mounted file system. + MountTargetDomain *string `pulumi:"mountTargetDomain"` + // The remote directory to which the mounted file system needs to be mounted. + NasDirectory *string `pulumi:"nasDirectory"` + // The protocol type of the mounted file system. Value range: + // - NFS + // - SMB + ProtocolType *string `pulumi:"protocolType"` +} + +// ClusterV2SharedStorageInput is an input type that accepts ClusterV2SharedStorageArgs and ClusterV2SharedStorageOutput values. +// You can construct a concrete instance of `ClusterV2SharedStorageInput` via: +// +// ClusterV2SharedStorageArgs{...} +type ClusterV2SharedStorageInput interface { + pulumi.Input + + ToClusterV2SharedStorageOutput() ClusterV2SharedStorageOutput + ToClusterV2SharedStorageOutputWithContext(context.Context) ClusterV2SharedStorageOutput +} + +type ClusterV2SharedStorageArgs struct { + // The ID of the mounted file system. + FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` + // The local Mount directory where the file system is mounted. + MountDirectory pulumi.StringPtrInput `pulumi:"mountDirectory"` + // Storage mount options for the mounted file system. + MountOptions pulumi.StringPtrInput `pulumi:"mountOptions"` + // The mount point address of the mounted file system. + MountTargetDomain pulumi.StringPtrInput `pulumi:"mountTargetDomain"` + // The remote directory to which the mounted file system needs to be mounted. + NasDirectory pulumi.StringPtrInput `pulumi:"nasDirectory"` + // The protocol type of the mounted file system. Value range: + // - NFS + // - SMB + ProtocolType pulumi.StringPtrInput `pulumi:"protocolType"` +} + +func (ClusterV2SharedStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2SharedStorage)(nil)).Elem() +} + +func (i ClusterV2SharedStorageArgs) ToClusterV2SharedStorageOutput() ClusterV2SharedStorageOutput { + return i.ToClusterV2SharedStorageOutputWithContext(context.Background()) +} + +func (i ClusterV2SharedStorageArgs) ToClusterV2SharedStorageOutputWithContext(ctx context.Context) ClusterV2SharedStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2SharedStorageOutput) +} + +// ClusterV2SharedStorageArrayInput is an input type that accepts ClusterV2SharedStorageArray and ClusterV2SharedStorageArrayOutput values. +// You can construct a concrete instance of `ClusterV2SharedStorageArrayInput` via: +// +// ClusterV2SharedStorageArray{ ClusterV2SharedStorageArgs{...} } +type ClusterV2SharedStorageArrayInput interface { + pulumi.Input + + ToClusterV2SharedStorageArrayOutput() ClusterV2SharedStorageArrayOutput + ToClusterV2SharedStorageArrayOutputWithContext(context.Context) ClusterV2SharedStorageArrayOutput +} + +type ClusterV2SharedStorageArray []ClusterV2SharedStorageInput + +func (ClusterV2SharedStorageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterV2SharedStorage)(nil)).Elem() +} + +func (i ClusterV2SharedStorageArray) ToClusterV2SharedStorageArrayOutput() ClusterV2SharedStorageArrayOutput { + return i.ToClusterV2SharedStorageArrayOutputWithContext(context.Background()) +} + +func (i ClusterV2SharedStorageArray) ToClusterV2SharedStorageArrayOutputWithContext(ctx context.Context) ClusterV2SharedStorageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterV2SharedStorageArrayOutput) +} + +type ClusterV2SharedStorageOutput struct{ *pulumi.OutputState } + +func (ClusterV2SharedStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterV2SharedStorage)(nil)).Elem() +} + +func (o ClusterV2SharedStorageOutput) ToClusterV2SharedStorageOutput() ClusterV2SharedStorageOutput { + return o +} + +func (o ClusterV2SharedStorageOutput) ToClusterV2SharedStorageOutputWithContext(ctx context.Context) ClusterV2SharedStorageOutput { + return o +} + +// The ID of the mounted file system. +func (o ClusterV2SharedStorageOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.FileSystemId }).(pulumi.StringPtrOutput) +} + +// The local Mount directory where the file system is mounted. +func (o ClusterV2SharedStorageOutput) MountDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.MountDirectory }).(pulumi.StringPtrOutput) +} + +// Storage mount options for the mounted file system. +func (o ClusterV2SharedStorageOutput) MountOptions() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.MountOptions }).(pulumi.StringPtrOutput) +} + +// The mount point address of the mounted file system. +func (o ClusterV2SharedStorageOutput) MountTargetDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.MountTargetDomain }).(pulumi.StringPtrOutput) +} + +// The remote directory to which the mounted file system needs to be mounted. +func (o ClusterV2SharedStorageOutput) NasDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.NasDirectory }).(pulumi.StringPtrOutput) +} + +// The protocol type of the mounted file system. Value range: +// - NFS +// - SMB +func (o ClusterV2SharedStorageOutput) ProtocolType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterV2SharedStorage) *string { return v.ProtocolType }).(pulumi.StringPtrOutput) +} + +type ClusterV2SharedStorageArrayOutput struct{ *pulumi.OutputState } + +func (ClusterV2SharedStorageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterV2SharedStorage)(nil)).Elem() +} + +func (o ClusterV2SharedStorageArrayOutput) ToClusterV2SharedStorageArrayOutput() ClusterV2SharedStorageArrayOutput { + return o +} + +func (o ClusterV2SharedStorageArrayOutput) ToClusterV2SharedStorageArrayOutputWithContext(ctx context.Context) ClusterV2SharedStorageArrayOutput { + return o +} + +func (o ClusterV2SharedStorageArrayOutput) Index(i pulumi.IntInput) ClusterV2SharedStorageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterV2SharedStorage { + return vs[0].([]ClusterV2SharedStorage)[vs[1].(int)] + }).(ClusterV2SharedStorageOutput) +} + +type QueueComputeNode struct { + // AutoRenew + AutoRenew *bool `pulumi:"autoRenew"` + // AutoRenewPeriod + AutoRenewPeriod *int `pulumi:"autoRenewPeriod"` + // Duration + Duration *int `pulumi:"duration"` + // Whether HT is enabled for the computing node. + EnableHt *bool `pulumi:"enableHt"` + // ImageId + ImageId *string `pulumi:"imageId"` + // InstanceChargeType + InstanceChargeType *string `pulumi:"instanceChargeType"` + // InstanceTypes + InstanceType *string `pulumi:"instanceType"` + // Period + Period *int `pulumi:"period"` + // PeriodUnit + PeriodUnit *string `pulumi:"periodUnit"` + // SpotPriceLimit + SpotPriceLimit *float64 `pulumi:"spotPriceLimit"` + // SpotStrategy + SpotStrategy *string `pulumi:"spotStrategy"` + // SystemDisk See `systemDisk` below. + SystemDisk *QueueComputeNodeSystemDisk `pulumi:"systemDisk"` +} + +// QueueComputeNodeInput is an input type that accepts QueueComputeNodeArgs and QueueComputeNodeOutput values. +// You can construct a concrete instance of `QueueComputeNodeInput` via: +// +// QueueComputeNodeArgs{...} +type QueueComputeNodeInput interface { + pulumi.Input + + ToQueueComputeNodeOutput() QueueComputeNodeOutput + ToQueueComputeNodeOutputWithContext(context.Context) QueueComputeNodeOutput +} + +type QueueComputeNodeArgs struct { + // AutoRenew + AutoRenew pulumi.BoolPtrInput `pulumi:"autoRenew"` + // AutoRenewPeriod + AutoRenewPeriod pulumi.IntPtrInput `pulumi:"autoRenewPeriod"` + // Duration + Duration pulumi.IntPtrInput `pulumi:"duration"` + // Whether HT is enabled for the computing node. + EnableHt pulumi.BoolPtrInput `pulumi:"enableHt"` + // ImageId + ImageId pulumi.StringPtrInput `pulumi:"imageId"` + // InstanceChargeType + InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` + // InstanceTypes + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` + // Period + Period pulumi.IntPtrInput `pulumi:"period"` + // PeriodUnit + PeriodUnit pulumi.StringPtrInput `pulumi:"periodUnit"` + // SpotPriceLimit + SpotPriceLimit pulumi.Float64PtrInput `pulumi:"spotPriceLimit"` + // SpotStrategy + SpotStrategy pulumi.StringPtrInput `pulumi:"spotStrategy"` + // SystemDisk See `systemDisk` below. + SystemDisk QueueComputeNodeSystemDiskPtrInput `pulumi:"systemDisk"` +} + +func (QueueComputeNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNode)(nil)).Elem() +} + +func (i QueueComputeNodeArgs) ToQueueComputeNodeOutput() QueueComputeNodeOutput { + return i.ToQueueComputeNodeOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeArgs) ToQueueComputeNodeOutputWithContext(ctx context.Context) QueueComputeNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeOutput) +} + +// QueueComputeNodeArrayInput is an input type that accepts QueueComputeNodeArray and QueueComputeNodeArrayOutput values. +// You can construct a concrete instance of `QueueComputeNodeArrayInput` via: +// +// QueueComputeNodeArray{ QueueComputeNodeArgs{...} } +type QueueComputeNodeArrayInput interface { + pulumi.Input + + ToQueueComputeNodeArrayOutput() QueueComputeNodeArrayOutput + ToQueueComputeNodeArrayOutputWithContext(context.Context) QueueComputeNodeArrayOutput +} + +type QueueComputeNodeArray []QueueComputeNodeInput + +func (QueueComputeNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueueComputeNode)(nil)).Elem() +} + +func (i QueueComputeNodeArray) ToQueueComputeNodeArrayOutput() QueueComputeNodeArrayOutput { + return i.ToQueueComputeNodeArrayOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeArray) ToQueueComputeNodeArrayOutputWithContext(ctx context.Context) QueueComputeNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeArrayOutput) +} + +type QueueComputeNodeOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNode)(nil)).Elem() +} + +func (o QueueComputeNodeOutput) ToQueueComputeNodeOutput() QueueComputeNodeOutput { + return o +} + +func (o QueueComputeNodeOutput) ToQueueComputeNodeOutputWithContext(ctx context.Context) QueueComputeNodeOutput { + return o +} + +// AutoRenew +func (o QueueComputeNodeOutput) AutoRenew() pulumi.BoolPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *bool { return v.AutoRenew }).(pulumi.BoolPtrOutput) +} + +// AutoRenewPeriod +func (o QueueComputeNodeOutput) AutoRenewPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *int { return v.AutoRenewPeriod }).(pulumi.IntPtrOutput) +} + +// Duration +func (o QueueComputeNodeOutput) Duration() pulumi.IntPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *int { return v.Duration }).(pulumi.IntPtrOutput) +} + +// Whether HT is enabled for the computing node. +func (o QueueComputeNodeOutput) EnableHt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *bool { return v.EnableHt }).(pulumi.BoolPtrOutput) +} + +// ImageId +func (o QueueComputeNodeOutput) ImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *string { return v.ImageId }).(pulumi.StringPtrOutput) +} + +// InstanceChargeType +func (o QueueComputeNodeOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +} + +// InstanceTypes +func (o QueueComputeNodeOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +} + +// Period +func (o QueueComputeNodeOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *int { return v.Period }).(pulumi.IntPtrOutput) +} + +// PeriodUnit +func (o QueueComputeNodeOutput) PeriodUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *string { return v.PeriodUnit }).(pulumi.StringPtrOutput) +} + +// SpotPriceLimit +func (o QueueComputeNodeOutput) SpotPriceLimit() pulumi.Float64PtrOutput { + return o.ApplyT(func(v QueueComputeNode) *float64 { return v.SpotPriceLimit }).(pulumi.Float64PtrOutput) +} + +// SpotStrategy +func (o QueueComputeNodeOutput) SpotStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *string { return v.SpotStrategy }).(pulumi.StringPtrOutput) +} + +// SystemDisk See `systemDisk` below. +func (o QueueComputeNodeOutput) SystemDisk() QueueComputeNodeSystemDiskPtrOutput { + return o.ApplyT(func(v QueueComputeNode) *QueueComputeNodeSystemDisk { return v.SystemDisk }).(QueueComputeNodeSystemDiskPtrOutput) +} + +type QueueComputeNodeArrayOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueueComputeNode)(nil)).Elem() +} + +func (o QueueComputeNodeArrayOutput) ToQueueComputeNodeArrayOutput() QueueComputeNodeArrayOutput { + return o +} + +func (o QueueComputeNodeArrayOutput) ToQueueComputeNodeArrayOutputWithContext(ctx context.Context) QueueComputeNodeArrayOutput { + return o +} + +func (o QueueComputeNodeArrayOutput) Index(i pulumi.IntInput) QueueComputeNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QueueComputeNode { + return vs[0].([]QueueComputeNode)[vs[1].(int)] + }).(QueueComputeNodeOutput) +} + +type QueueComputeNodeSystemDisk struct { + // Category + Category *string `pulumi:"category"` + // Level + Level *string `pulumi:"level"` + // Size + Size *int `pulumi:"size"` +} + +// QueueComputeNodeSystemDiskInput is an input type that accepts QueueComputeNodeSystemDiskArgs and QueueComputeNodeSystemDiskOutput values. +// You can construct a concrete instance of `QueueComputeNodeSystemDiskInput` via: +// +// QueueComputeNodeSystemDiskArgs{...} +type QueueComputeNodeSystemDiskInput interface { + pulumi.Input + + ToQueueComputeNodeSystemDiskOutput() QueueComputeNodeSystemDiskOutput + ToQueueComputeNodeSystemDiskOutputWithContext(context.Context) QueueComputeNodeSystemDiskOutput +} + +type QueueComputeNodeSystemDiskArgs struct { + // Category + Category pulumi.StringPtrInput `pulumi:"category"` + // Level + Level pulumi.StringPtrInput `pulumi:"level"` + // Size + Size pulumi.IntPtrInput `pulumi:"size"` +} + +func (QueueComputeNodeSystemDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNodeSystemDisk)(nil)).Elem() +} + +func (i QueueComputeNodeSystemDiskArgs) ToQueueComputeNodeSystemDiskOutput() QueueComputeNodeSystemDiskOutput { + return i.ToQueueComputeNodeSystemDiskOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeSystemDiskArgs) ToQueueComputeNodeSystemDiskOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeSystemDiskOutput) +} + +func (i QueueComputeNodeSystemDiskArgs) ToQueueComputeNodeSystemDiskPtrOutput() QueueComputeNodeSystemDiskPtrOutput { + return i.ToQueueComputeNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeSystemDiskArgs) ToQueueComputeNodeSystemDiskPtrOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeSystemDiskOutput).ToQueueComputeNodeSystemDiskPtrOutputWithContext(ctx) +} + +// QueueComputeNodeSystemDiskPtrInput is an input type that accepts QueueComputeNodeSystemDiskArgs, QueueComputeNodeSystemDiskPtr and QueueComputeNodeSystemDiskPtrOutput values. +// You can construct a concrete instance of `QueueComputeNodeSystemDiskPtrInput` via: +// +// QueueComputeNodeSystemDiskArgs{...} +// +// or: +// +// nil +type QueueComputeNodeSystemDiskPtrInput interface { + pulumi.Input + + ToQueueComputeNodeSystemDiskPtrOutput() QueueComputeNodeSystemDiskPtrOutput + ToQueueComputeNodeSystemDiskPtrOutputWithContext(context.Context) QueueComputeNodeSystemDiskPtrOutput +} + +type queueComputeNodeSystemDiskPtrType QueueComputeNodeSystemDiskArgs + +func QueueComputeNodeSystemDiskPtr(v *QueueComputeNodeSystemDiskArgs) QueueComputeNodeSystemDiskPtrInput { + return (*queueComputeNodeSystemDiskPtrType)(v) +} + +func (*queueComputeNodeSystemDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**QueueComputeNodeSystemDisk)(nil)).Elem() +} + +func (i *queueComputeNodeSystemDiskPtrType) ToQueueComputeNodeSystemDiskPtrOutput() QueueComputeNodeSystemDiskPtrOutput { + return i.ToQueueComputeNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i *queueComputeNodeSystemDiskPtrType) ToQueueComputeNodeSystemDiskPtrOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeSystemDiskPtrOutput) +} + +type QueueComputeNodeSystemDiskOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeSystemDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNodeSystemDisk)(nil)).Elem() +} + +func (o QueueComputeNodeSystemDiskOutput) ToQueueComputeNodeSystemDiskOutput() QueueComputeNodeSystemDiskOutput { + return o +} + +func (o QueueComputeNodeSystemDiskOutput) ToQueueComputeNodeSystemDiskOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskOutput { + return o +} + +func (o QueueComputeNodeSystemDiskOutput) ToQueueComputeNodeSystemDiskPtrOutput() QueueComputeNodeSystemDiskPtrOutput { + return o.ToQueueComputeNodeSystemDiskPtrOutputWithContext(context.Background()) +} + +func (o QueueComputeNodeSystemDiskOutput) ToQueueComputeNodeSystemDiskPtrOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v QueueComputeNodeSystemDisk) *QueueComputeNodeSystemDisk { + return &v + }).(QueueComputeNodeSystemDiskPtrOutput) +} + +// Category +func (o QueueComputeNodeSystemDiskOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNodeSystemDisk) *string { return v.Category }).(pulumi.StringPtrOutput) +} + +// Level +func (o QueueComputeNodeSystemDiskOutput) Level() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNodeSystemDisk) *string { return v.Level }).(pulumi.StringPtrOutput) +} + +// Size +func (o QueueComputeNodeSystemDiskOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v QueueComputeNodeSystemDisk) *int { return v.Size }).(pulumi.IntPtrOutput) +} + +type QueueComputeNodeSystemDiskPtrOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeSystemDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**QueueComputeNodeSystemDisk)(nil)).Elem() +} + +func (o QueueComputeNodeSystemDiskPtrOutput) ToQueueComputeNodeSystemDiskPtrOutput() QueueComputeNodeSystemDiskPtrOutput { + return o +} + +func (o QueueComputeNodeSystemDiskPtrOutput) ToQueueComputeNodeSystemDiskPtrOutputWithContext(ctx context.Context) QueueComputeNodeSystemDiskPtrOutput { + return o +} + +func (o QueueComputeNodeSystemDiskPtrOutput) Elem() QueueComputeNodeSystemDiskOutput { + return o.ApplyT(func(v *QueueComputeNodeSystemDisk) QueueComputeNodeSystemDisk { + if v != nil { + return *v + } + var ret QueueComputeNodeSystemDisk + return ret + }).(QueueComputeNodeSystemDiskOutput) +} + +// Category +func (o QueueComputeNodeSystemDiskPtrOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v *QueueComputeNodeSystemDisk) *string { + if v == nil { + return nil + } + return v.Category + }).(pulumi.StringPtrOutput) +} + +// Level +func (o QueueComputeNodeSystemDiskPtrOutput) Level() pulumi.StringPtrOutput { + return o.ApplyT(func(v *QueueComputeNodeSystemDisk) *string { + if v == nil { + return nil + } + return v.Level + }).(pulumi.StringPtrOutput) +} + +// Size +func (o QueueComputeNodeSystemDiskPtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *QueueComputeNodeSystemDisk) *int { + if v == nil { + return nil + } + return v.Size + }).(pulumi.IntPtrOutput) +} + type GetClustersCluster struct { // The server type of the account. AccountType string `pulumi:"accountType"` @@ -1353,6 +3554,28 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterApplicationArrayInput)(nil)).Elem(), ClusterApplicationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterPostInstallScriptInput)(nil)).Elem(), ClusterPostInstallScriptArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterPostInstallScriptArrayInput)(nil)).Elem(), ClusterPostInstallScriptArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2AddonInput)(nil)).Elem(), ClusterV2AddonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2AddonArrayInput)(nil)).Elem(), ClusterV2AddonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ClusterCredentialsInput)(nil)).Elem(), ClusterV2ClusterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ClusterCredentialsPtrInput)(nil)).Elem(), ClusterV2ClusterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerInput)(nil)).Elem(), ClusterV2ManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerPtrInput)(nil)).Elem(), ClusterV2ManagerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerDirectoryServiceInput)(nil)).Elem(), ClusterV2ManagerDirectoryServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerDirectoryServicePtrInput)(nil)).Elem(), ClusterV2ManagerDirectoryServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerDnsInput)(nil)).Elem(), ClusterV2ManagerDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerDnsPtrInput)(nil)).Elem(), ClusterV2ManagerDnsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerManagerNodeInput)(nil)).Elem(), ClusterV2ManagerManagerNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerManagerNodePtrInput)(nil)).Elem(), ClusterV2ManagerManagerNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerManagerNodeSystemDiskInput)(nil)).Elem(), ClusterV2ManagerManagerNodeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerManagerNodeSystemDiskPtrInput)(nil)).Elem(), ClusterV2ManagerManagerNodeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerSchedulerInput)(nil)).Elem(), ClusterV2ManagerSchedulerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2ManagerSchedulerPtrInput)(nil)).Elem(), ClusterV2ManagerSchedulerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2SharedStorageInput)(nil)).Elem(), ClusterV2SharedStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterV2SharedStorageArrayInput)(nil)).Elem(), ClusterV2SharedStorageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeInput)(nil)).Elem(), QueueComputeNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeArrayInput)(nil)).Elem(), QueueComputeNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeSystemDiskInput)(nil)).Elem(), QueueComputeNodeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeSystemDiskPtrInput)(nil)).Elem(), QueueComputeNodeSystemDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClustersClusterInput)(nil)).Elem(), GetClustersClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClustersClusterArrayInput)(nil)).Elem(), GetClustersClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClustersClusterApplicationInput)(nil)).Elem(), GetClustersClusterApplicationArgs{}) @@ -1369,6 +3592,28 @@ func init() { pulumi.RegisterOutputType(ClusterApplicationArrayOutput{}) pulumi.RegisterOutputType(ClusterPostInstallScriptOutput{}) pulumi.RegisterOutputType(ClusterPostInstallScriptArrayOutput{}) + pulumi.RegisterOutputType(ClusterV2AddonOutput{}) + pulumi.RegisterOutputType(ClusterV2AddonArrayOutput{}) + pulumi.RegisterOutputType(ClusterV2ClusterCredentialsOutput{}) + pulumi.RegisterOutputType(ClusterV2ClusterCredentialsPtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerPtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerDirectoryServiceOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerDirectoryServicePtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerDnsOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerDnsPtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerManagerNodeOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerManagerNodePtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerManagerNodeSystemDiskOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerManagerNodeSystemDiskPtrOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerSchedulerOutput{}) + pulumi.RegisterOutputType(ClusterV2ManagerSchedulerPtrOutput{}) + pulumi.RegisterOutputType(ClusterV2SharedStorageOutput{}) + pulumi.RegisterOutputType(ClusterV2SharedStorageArrayOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeArrayOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeSystemDiskOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeSystemDiskPtrOutput{}) pulumi.RegisterOutputType(GetClustersClusterOutput{}) pulumi.RegisterOutputType(GetClustersClusterArrayOutput{}) pulumi.RegisterOutputType(GetClustersClusterApplicationOutput{}) diff --git a/sdk/go/alicloud/ehpc/queue.go b/sdk/go/alicloud/ehpc/queue.go new file mode 100644 index 0000000000..537bb95946 --- /dev/null +++ b/sdk/go/alicloud/ehpc/queue.go @@ -0,0 +1,695 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ehpc + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Ehpc Queue resource. +// +// E-HPC the compute queue of the cluster. +// +// For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// queueMinimalExampleVpc, err := vpc.NewNetwork(ctx, "queue_minimal_example_vpc", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("10.0.0.0/8"), +// VpcName: pulumi.String("example-cluster-vpc"), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleVswitch, err := vpc.NewSwitch(ctx, "queue_minimal_example_vswitch", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: queueMinimalExampleVpc.ID(), +// ZoneId: pulumi.String("cn-hangzhou-k"), +// CidrBlock: pulumi.String("10.0.0.0/24"), +// VswitchName: pulumi.String("example-cluster-vsw"), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleNas, err := nas.NewFileSystem(ctx, "queue_minimal_example_nas", &nas.FileSystemArgs{ +// Description: pulumi.String("example-cluster-nas"), +// StorageType: pulumi.String("Capacity"), +// NfsAcl: &nas.FileSystemNfsAclArgs{ +// Enabled: pulumi.Bool(false), +// }, +// ZoneId: pulumi.String("cn-hangzhou-k"), +// EncryptType: pulumi.Int(0), +// ProtocolType: pulumi.String("NFS"), +// FileSystemType: pulumi.String("standard"), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleAccessGroup, err := nas.NewAccessGroup(ctx, "queue_minimal_example_access_group", &nas.AccessGroupArgs{ +// AccessGroupType: pulumi.String("Vpc"), +// Description: pulumi.String(name), +// AccessGroupName: pulumi.String("StandardMountTarget"), +// FileSystemType: pulumi.String("standard"), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, "queue_minimal_example_security_group", &ecs.SecurityGroupArgs{ +// VpcId: queueMinimalExampleVpc.ID(), +// SecurityGroupType: pulumi.String("normal"), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleMountDomain, err := nas.NewMountTarget(ctx, "queue_minimal_example_mount_domain", &nas.MountTargetArgs{ +// VpcId: queueMinimalExampleVpc.ID(), +// NetworkType: pulumi.String("Vpc"), +// AccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName, +// VswitchId: queueMinimalExampleVswitch.ID(), +// FileSystemId: queueMinimalExampleNas.ID(), +// }) +// if err != nil { +// return err +// } +// queueMinimalExampleAccessRule, err := nas.NewAccessRule(ctx, "queue_minimal_example_access_rule", &nas.AccessRuleArgs{ +// Priority: pulumi.Int(1), +// AccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName, +// FileSystemType: queueMinimalExampleNas.FileSystemType, +// SourceCidrIp: pulumi.String("10.0.0.0/8"), +// }) +// if err != nil { +// return err +// } +// queueMinimalClusterExample, err := ehpc.NewClusterV2(ctx, "queue_minimal_cluster_example", &ehpc.ClusterV2Args{ +// ClusterCredentials: &ehpc.ClusterV2ClusterCredentialsArgs{ +// Password: pulumi.String("aliHPC123"), +// }, +// ClusterVpcId: queueMinimalExampleVpc.ID(), +// ClusterCategory: pulumi.String("Standard"), +// ClusterMode: pulumi.String("Integrated"), +// SecurityGroupId: queueMinimalExampleSecurityGroup.ID(), +// Addons: ehpc.ClusterV2AddonArray{ +// &ehpc.ClusterV2AddonArgs{ +// Version: pulumi.String("1.0"), +// ServicesSpec: pulumi.String(`[ +// { +// \"ServiceName\": \"SSH\", +// \"NetworkACL\": [ +// { +// \"Port\": 22, +// \"SourceCidrIp\": \"0.0.0.0/0\", +// \"IpProtocol\": \"TCP\" +// } +// ] +// }, +// { +// \"ServiceName\": \"VNC\", +// \"NetworkACL\": [ +// { +// \"Port\": 12016, +// \"SourceCidrIp\": \"0.0.0.0/0\", +// \"IpProtocol\": \"TCP\" +// } +// ] +// }, +// { +// \"ServiceName\": \"CLIENT\", +// \"ServiceAccessType\": \"URL\", +// \"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\", +// \"NetworkACL\": [ +// { +// \"Port\": 12011, +// \"SourceCidrIp\": \"0.0.0.0/0\", +// \"IpProtocol\": \"TCP\" +// } +// ] +// } +// ] +// +// `), +// +// ResourcesSpec: pulumi.String(`{ +// \"EipResource\": { +// \"AutoCreate\": true +// }, +// \"EcsResources\": [ +// { +// \"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\", +// \"EnableHT\": true, +// \"InstanceChargeType\": \"PostPaid\", +// \"InstanceType\": \"ecs.c7.xlarge\", +// \"SpotStrategy\": \"NoSpot\", +// \"SystemDisk\": { +// \"Category\": \"cloud_essd\", +// \"Size\": 40, +// \"Level\": \"PL0\" +// }, +// \"DataDisks\": [ +// { +// \"Category\": \"cloud_essd\", +// \"Size\": 40, +// \"Level\": \"PL0\" +// } +// ] +// } +// ] +// } +// +// `), +// +// Name: pulumi.String("Login"), +// }, +// }, +// ClusterName: pulumi.String("minimal-example-cluster"), +// DeletionProtection: pulumi.Bool(false), +// SharedStorages: ehpc.ClusterV2SharedStorageArray{ +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/home"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: queueMinimalExampleNas.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/opt"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: queueMinimalExampleNas.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// &ehpc.ClusterV2SharedStorageArgs{ +// MountDirectory: pulumi.String("/ehpcdata"), +// NasDirectory: pulumi.String("/"), +// MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain, +// ProtocolType: pulumi.String("NFS"), +// FileSystemId: queueMinimalExampleNas.ID(), +// MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"), +// }, +// }, +// ClusterVswitchId: queueMinimalExampleVswitch.ID(), +// Manager: &ehpc.ClusterV2ManagerArgs{ +// ManagerNode: &ehpc.ClusterV2ManagerManagerNodeArgs{ +// SystemDisk: &ehpc.ClusterV2ManagerManagerNodeSystemDiskArgs{ +// Category: pulumi.String("cloud_essd"), +// Size: pulumi.Int(40), +// Level: pulumi.String("PL0"), +// }, +// EnableHt: pulumi.Bool(true), +// InstanceChargeType: pulumi.String("PostPaid"), +// ImageId: pulumi.String("centos_7_6_x64_20G_alibase_20211130.vhd"), +// InstanceType: pulumi.String("ecs.c6.xlarge"), +// SpotStrategy: pulumi.String("NoSpot"), +// }, +// Scheduler: &ehpc.ClusterV2ManagerSchedulerArgs{ +// Type: pulumi.String("SLURM"), +// Version: pulumi.String("22.05.8"), +// }, +// Dns: &ehpc.ClusterV2ManagerDnsArgs{ +// Type: pulumi.String("nis"), +// Version: pulumi.String("1.0"), +// }, +// DirectoryService: &ehpc.ClusterV2ManagerDirectoryServiceArgs{ +// Type: pulumi.String("nis"), +// Version: pulumi.String("1.0"), +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// queueMinimalExampleAccessRule, +// })) +// if err != nil { +// return err +// } +// _, err = ehpc.NewQueue(ctx, "default", &ehpc.QueueArgs{ +// ClusterId: queueMinimalClusterExample.ID(), +// QueueName: pulumi.String("autoque1"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Ehpc Queue can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:ehpc/queue:Queue example : +// ``` +type Queue struct { + pulumi.CustomResourceState + + // The cluster ID. + // You can call the ListClusters operation to query the cluster ID. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + ComputeNodes QueueComputeNodeArrayOutput `pulumi:"computeNodes"` + // The creation time of the resource + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Specifies whether to enable auto scale-in for the queue. Valid values: + // + // - true + // - false + EnableScaleIn pulumi.BoolOutput `pulumi:"enableScaleIn"` + // Specifies whether to enable auto scale-out for the queue. Valid values: + // + // - true + // - false + EnableScaleOut pulumi.BoolOutput `pulumi:"enableScaleOut"` + // The hostname prefix of the added compute nodes. + HostnamePrefix pulumi.StringOutput `pulumi:"hostnamePrefix"` + // The hostname suffix of the compute nodes in the queue. + HostnameSuffix pulumi.StringOutput `pulumi:"hostnameSuffix"` + // The initial number of compute nodes in the queue. + InitialCount pulumi.IntOutput `pulumi:"initialCount"` + // The type of the network for interconnecting compute nodes in the queue. + InterConnect pulumi.StringOutput `pulumi:"interConnect"` + // The maximum number of compute nodes that the queue can contain. + MaxCount pulumi.IntOutput `pulumi:"maxCount"` + // The minimum number of compute nodes that the queue must contain. + MinCount pulumi.IntOutput `pulumi:"minCount"` + // The queue name. + QueueName pulumi.StringOutput `pulumi:"queueName"` + // The vSwitches available for use by compute nodes in the queue. + VswitchIds pulumi.StringArrayOutput `pulumi:"vswitchIds"` +} + +// NewQueue registers a new resource with the given unique name, arguments, and options. +func NewQueue(ctx *pulumi.Context, + name string, args *QueueArgs, opts ...pulumi.ResourceOption) (*Queue, error) { + if args == nil { + args = &QueueArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Queue + err := ctx.RegisterResource("alicloud:ehpc/queue:Queue", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetQueue gets an existing Queue 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 GetQueue(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *QueueState, opts ...pulumi.ResourceOption) (*Queue, error) { + var resource Queue + err := ctx.ReadResource("alicloud:ehpc/queue:Queue", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Queue resources. +type queueState struct { + // The cluster ID. + // You can call the ListClusters operation to query the cluster ID. + ClusterId *string `pulumi:"clusterId"` + // The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + ComputeNodes []QueueComputeNode `pulumi:"computeNodes"` + // The creation time of the resource + CreateTime *string `pulumi:"createTime"` + // Specifies whether to enable auto scale-in for the queue. Valid values: + // + // - true + // - false + EnableScaleIn *bool `pulumi:"enableScaleIn"` + // Specifies whether to enable auto scale-out for the queue. Valid values: + // + // - true + // - false + EnableScaleOut *bool `pulumi:"enableScaleOut"` + // The hostname prefix of the added compute nodes. + HostnamePrefix *string `pulumi:"hostnamePrefix"` + // The hostname suffix of the compute nodes in the queue. + HostnameSuffix *string `pulumi:"hostnameSuffix"` + // The initial number of compute nodes in the queue. + InitialCount *int `pulumi:"initialCount"` + // The type of the network for interconnecting compute nodes in the queue. + InterConnect *string `pulumi:"interConnect"` + // The maximum number of compute nodes that the queue can contain. + MaxCount *int `pulumi:"maxCount"` + // The minimum number of compute nodes that the queue must contain. + MinCount *int `pulumi:"minCount"` + // The queue name. + QueueName *string `pulumi:"queueName"` + // The vSwitches available for use by compute nodes in the queue. + VswitchIds []string `pulumi:"vswitchIds"` +} + +type QueueState struct { + // The cluster ID. + // You can call the ListClusters operation to query the cluster ID. + ClusterId pulumi.StringPtrInput + // The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + ComputeNodes QueueComputeNodeArrayInput + // The creation time of the resource + CreateTime pulumi.StringPtrInput + // Specifies whether to enable auto scale-in for the queue. Valid values: + // + // - true + // - false + EnableScaleIn pulumi.BoolPtrInput + // Specifies whether to enable auto scale-out for the queue. Valid values: + // + // - true + // - false + EnableScaleOut pulumi.BoolPtrInput + // The hostname prefix of the added compute nodes. + HostnamePrefix pulumi.StringPtrInput + // The hostname suffix of the compute nodes in the queue. + HostnameSuffix pulumi.StringPtrInput + // The initial number of compute nodes in the queue. + InitialCount pulumi.IntPtrInput + // The type of the network for interconnecting compute nodes in the queue. + InterConnect pulumi.StringPtrInput + // The maximum number of compute nodes that the queue can contain. + MaxCount pulumi.IntPtrInput + // The minimum number of compute nodes that the queue must contain. + MinCount pulumi.IntPtrInput + // The queue name. + QueueName pulumi.StringPtrInput + // The vSwitches available for use by compute nodes in the queue. + VswitchIds pulumi.StringArrayInput +} + +func (QueueState) ElementType() reflect.Type { + return reflect.TypeOf((*queueState)(nil)).Elem() +} + +type queueArgs struct { + // The cluster ID. + // You can call the ListClusters operation to query the cluster ID. + ClusterId *string `pulumi:"clusterId"` + // The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + ComputeNodes []QueueComputeNode `pulumi:"computeNodes"` + // Specifies whether to enable auto scale-in for the queue. Valid values: + // + // - true + // - false + EnableScaleIn *bool `pulumi:"enableScaleIn"` + // Specifies whether to enable auto scale-out for the queue. Valid values: + // + // - true + // - false + EnableScaleOut *bool `pulumi:"enableScaleOut"` + // The hostname prefix of the added compute nodes. + HostnamePrefix *string `pulumi:"hostnamePrefix"` + // The hostname suffix of the compute nodes in the queue. + HostnameSuffix *string `pulumi:"hostnameSuffix"` + // The initial number of compute nodes in the queue. + InitialCount *int `pulumi:"initialCount"` + // The type of the network for interconnecting compute nodes in the queue. + InterConnect *string `pulumi:"interConnect"` + // The maximum number of compute nodes that the queue can contain. + MaxCount *int `pulumi:"maxCount"` + // The minimum number of compute nodes that the queue must contain. + MinCount *int `pulumi:"minCount"` + // The queue name. + QueueName *string `pulumi:"queueName"` + // The vSwitches available for use by compute nodes in the queue. + VswitchIds []string `pulumi:"vswitchIds"` +} + +// The set of arguments for constructing a Queue resource. +type QueueArgs struct { + // The cluster ID. + // You can call the ListClusters operation to query the cluster ID. + ClusterId pulumi.StringPtrInput + // The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + ComputeNodes QueueComputeNodeArrayInput + // Specifies whether to enable auto scale-in for the queue. Valid values: + // + // - true + // - false + EnableScaleIn pulumi.BoolPtrInput + // Specifies whether to enable auto scale-out for the queue. Valid values: + // + // - true + // - false + EnableScaleOut pulumi.BoolPtrInput + // The hostname prefix of the added compute nodes. + HostnamePrefix pulumi.StringPtrInput + // The hostname suffix of the compute nodes in the queue. + HostnameSuffix pulumi.StringPtrInput + // The initial number of compute nodes in the queue. + InitialCount pulumi.IntPtrInput + // The type of the network for interconnecting compute nodes in the queue. + InterConnect pulumi.StringPtrInput + // The maximum number of compute nodes that the queue can contain. + MaxCount pulumi.IntPtrInput + // The minimum number of compute nodes that the queue must contain. + MinCount pulumi.IntPtrInput + // The queue name. + QueueName pulumi.StringPtrInput + // The vSwitches available for use by compute nodes in the queue. + VswitchIds pulumi.StringArrayInput +} + +func (QueueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*queueArgs)(nil)).Elem() +} + +type QueueInput interface { + pulumi.Input + + ToQueueOutput() QueueOutput + ToQueueOutputWithContext(ctx context.Context) QueueOutput +} + +func (*Queue) ElementType() reflect.Type { + return reflect.TypeOf((**Queue)(nil)).Elem() +} + +func (i *Queue) ToQueueOutput() QueueOutput { + return i.ToQueueOutputWithContext(context.Background()) +} + +func (i *Queue) ToQueueOutputWithContext(ctx context.Context) QueueOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueOutput) +} + +// QueueArrayInput is an input type that accepts QueueArray and QueueArrayOutput values. +// You can construct a concrete instance of `QueueArrayInput` via: +// +// QueueArray{ QueueArgs{...} } +type QueueArrayInput interface { + pulumi.Input + + ToQueueArrayOutput() QueueArrayOutput + ToQueueArrayOutputWithContext(context.Context) QueueArrayOutput +} + +type QueueArray []QueueInput + +func (QueueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Queue)(nil)).Elem() +} + +func (i QueueArray) ToQueueArrayOutput() QueueArrayOutput { + return i.ToQueueArrayOutputWithContext(context.Background()) +} + +func (i QueueArray) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueArrayOutput) +} + +// QueueMapInput is an input type that accepts QueueMap and QueueMapOutput values. +// You can construct a concrete instance of `QueueMapInput` via: +// +// QueueMap{ "key": QueueArgs{...} } +type QueueMapInput interface { + pulumi.Input + + ToQueueMapOutput() QueueMapOutput + ToQueueMapOutputWithContext(context.Context) QueueMapOutput +} + +type QueueMap map[string]QueueInput + +func (QueueMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Queue)(nil)).Elem() +} + +func (i QueueMap) ToQueueMapOutput() QueueMapOutput { + return i.ToQueueMapOutputWithContext(context.Background()) +} + +func (i QueueMap) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueMapOutput) +} + +type QueueOutput struct{ *pulumi.OutputState } + +func (QueueOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Queue)(nil)).Elem() +} + +func (o QueueOutput) ToQueueOutput() QueueOutput { + return o +} + +func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput { + return o +} + +// The cluster ID. +// You can call the ListClusters operation to query the cluster ID. +func (o QueueOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. +func (o QueueOutput) ComputeNodes() QueueComputeNodeArrayOutput { + return o.ApplyT(func(v *Queue) QueueComputeNodeArrayOutput { return v.ComputeNodes }).(QueueComputeNodeArrayOutput) +} + +// The creation time of the resource +func (o QueueOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Specifies whether to enable auto scale-in for the queue. Valid values: +// +// - true +// - false +func (o QueueOutput) EnableScaleIn() pulumi.BoolOutput { + return o.ApplyT(func(v *Queue) pulumi.BoolOutput { return v.EnableScaleIn }).(pulumi.BoolOutput) +} + +// Specifies whether to enable auto scale-out for the queue. Valid values: +// +// - true +// - false +func (o QueueOutput) EnableScaleOut() pulumi.BoolOutput { + return o.ApplyT(func(v *Queue) pulumi.BoolOutput { return v.EnableScaleOut }).(pulumi.BoolOutput) +} + +// The hostname prefix of the added compute nodes. +func (o QueueOutput) HostnamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.HostnamePrefix }).(pulumi.StringOutput) +} + +// The hostname suffix of the compute nodes in the queue. +func (o QueueOutput) HostnameSuffix() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.HostnameSuffix }).(pulumi.StringOutput) +} + +// The initial number of compute nodes in the queue. +func (o QueueOutput) InitialCount() pulumi.IntOutput { + return o.ApplyT(func(v *Queue) pulumi.IntOutput { return v.InitialCount }).(pulumi.IntOutput) +} + +// The type of the network for interconnecting compute nodes in the queue. +func (o QueueOutput) InterConnect() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.InterConnect }).(pulumi.StringOutput) +} + +// The maximum number of compute nodes that the queue can contain. +func (o QueueOutput) MaxCount() pulumi.IntOutput { + return o.ApplyT(func(v *Queue) pulumi.IntOutput { return v.MaxCount }).(pulumi.IntOutput) +} + +// The minimum number of compute nodes that the queue must contain. +func (o QueueOutput) MinCount() pulumi.IntOutput { + return o.ApplyT(func(v *Queue) pulumi.IntOutput { return v.MinCount }).(pulumi.IntOutput) +} + +// The queue name. +func (o QueueOutput) QueueName() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.QueueName }).(pulumi.StringOutput) +} + +// The vSwitches available for use by compute nodes in the queue. +func (o QueueOutput) VswitchIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Queue) pulumi.StringArrayOutput { return v.VswitchIds }).(pulumi.StringArrayOutput) +} + +type QueueArrayOutput struct{ *pulumi.OutputState } + +func (QueueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Queue)(nil)).Elem() +} + +func (o QueueArrayOutput) ToQueueArrayOutput() QueueArrayOutput { + return o +} + +func (o QueueArrayOutput) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput { + return o +} + +func (o QueueArrayOutput) Index(i pulumi.IntInput) QueueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Queue { + return vs[0].([]*Queue)[vs[1].(int)] + }).(QueueOutput) +} + +type QueueMapOutput struct{ *pulumi.OutputState } + +func (QueueMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Queue)(nil)).Elem() +} + +func (o QueueMapOutput) ToQueueMapOutput() QueueMapOutput { + return o +} + +func (o QueueMapOutput) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput { + return o +} + +func (o QueueMapOutput) MapIndex(k pulumi.StringInput) QueueOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Queue { + return vs[0].(map[string]*Queue)[vs[1].(string)] + }).(QueueOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*QueueInput)(nil)).Elem(), &Queue{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueArrayInput)(nil)).Elem(), QueueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueMapInput)(nil)).Elem(), QueueMap{}) + pulumi.RegisterOutputType(QueueOutput{}) + pulumi.RegisterOutputType(QueueArrayOutput{}) + pulumi.RegisterOutputType(QueueMapOutput{}) +} diff --git a/sdk/go/alicloud/eipanycast/anycastEipAddress.go b/sdk/go/alicloud/eipanycast/anycastEipAddress.go index 54d7a58b8f..327ebb4100 100644 --- a/sdk/go/alicloud/eipanycast/anycastEipAddress.go +++ b/sdk/go/alicloud/eipanycast/anycastEipAddress.go @@ -12,7 +12,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. +// Provides a Eipanycast Anycast Eip Address resource. +// +// Anycast Elastic IP Address. // // For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). // @@ -57,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -73,11 +77,11 @@ type AnycastEipAddress struct { Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` // Anycast EIP instance creation time. CreateTime pulumi.StringOutput `pulumi:"createTime"` - // Anycast EIP instance description. + // Anycast EIP instance description Description pulumi.StringPtrOutput `pulumi:"description"` // The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. InternetChargeType pulumi.StringPtrOutput `pulumi:"internetChargeType"` - // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode PaymentType pulumi.StringPtrOutput `pulumi:"paymentType"` // The ID of the resource group to which the instance belongs. ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` @@ -128,11 +132,11 @@ type anycastEipAddressState struct { Bandwidth *int `pulumi:"bandwidth"` // Anycast EIP instance creation time. CreateTime *string `pulumi:"createTime"` - // Anycast EIP instance description. + // Anycast EIP instance description Description *string `pulumi:"description"` // The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. InternetChargeType *string `pulumi:"internetChargeType"` - // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode PaymentType *string `pulumi:"paymentType"` // The ID of the resource group to which the instance belongs. ResourceGroupId *string `pulumi:"resourceGroupId"` @@ -151,11 +155,11 @@ type AnycastEipAddressState struct { Bandwidth pulumi.IntPtrInput // Anycast EIP instance creation time. CreateTime pulumi.StringPtrInput - // Anycast EIP instance description. + // Anycast EIP instance description Description pulumi.StringPtrInput // The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. InternetChargeType pulumi.StringPtrInput - // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode PaymentType pulumi.StringPtrInput // The ID of the resource group to which the instance belongs. ResourceGroupId pulumi.StringPtrInput @@ -176,11 +180,11 @@ type anycastEipAddressArgs struct { AnycastEipAddressName *string `pulumi:"anycastEipAddressName"` // The peak bandwidth of the Anycast EIP instance, in Mbps. Bandwidth *int `pulumi:"bandwidth"` - // Anycast EIP instance description. + // Anycast EIP instance description Description *string `pulumi:"description"` // The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. InternetChargeType *string `pulumi:"internetChargeType"` - // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode PaymentType *string `pulumi:"paymentType"` // The ID of the resource group to which the instance belongs. ResourceGroupId *string `pulumi:"resourceGroupId"` @@ -196,11 +200,11 @@ type AnycastEipAddressArgs struct { AnycastEipAddressName pulumi.StringPtrInput // The peak bandwidth of the Anycast EIP instance, in Mbps. Bandwidth pulumi.IntPtrInput - // Anycast EIP instance description. + // Anycast EIP instance description Description pulumi.StringPtrInput // The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. InternetChargeType pulumi.StringPtrInput - // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + // The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode PaymentType pulumi.StringPtrInput // The ID of the resource group to which the instance belongs. ResourceGroupId pulumi.StringPtrInput @@ -312,7 +316,7 @@ func (o AnycastEipAddressOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *AnycastEipAddress) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } -// Anycast EIP instance description. +// Anycast EIP instance description func (o AnycastEipAddressOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *AnycastEipAddress) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } @@ -322,7 +326,7 @@ func (o AnycastEipAddressOutput) InternetChargeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *AnycastEipAddress) pulumi.StringPtrOutput { return v.InternetChargeType }).(pulumi.StringPtrOutput) } -// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. +// The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode func (o AnycastEipAddressOutput) PaymentType() pulumi.StringPtrOutput { return o.ApplyT(func(v *AnycastEipAddress) pulumi.StringPtrOutput { return v.PaymentType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/alicloud/eipanycast/anycastEipAddressAttachment.go b/sdk/go/alicloud/eipanycast/anycastEipAddressAttachment.go index 83626d4eae..2d54e39940 100644 --- a/sdk/go/alicloud/eipanycast/anycastEipAddressAttachment.go +++ b/sdk/go/alicloud/eipanycast/anycastEipAddressAttachment.go @@ -282,6 +282,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/elasticsearch/instance.go b/sdk/go/alicloud/elasticsearch/instance.go index 92fd4da0b2..83c6ce4cdf 100644 --- a/sdk/go/alicloud/elasticsearch/instance.go +++ b/sdk/go/alicloud/elasticsearch/instance.go @@ -12,110 +12,252 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Provides a Elasticsearch Instance resource. +// +// For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). +// +// > **NOTE:** Available since v1.30.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/elasticsearch" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "tf-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := elasticsearch.GetZones(ctx, &elasticsearch.GetZonesArgs{}, nil) +// if err != nil { +// return err +// } +// defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ +// VpcName: pulumi.String(name), +// CidrBlock: pulumi.String("10.0.0.0/8"), +// }) +// if err != nil { +// return err +// } +// defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ +// VswitchName: pulumi.String(name), +// CidrBlock: pulumi.String("10.1.0.0/16"), +// VpcId: defaultNetwork.ID(), +// ZoneId: pulumi.String(_default.Zones[0].Id), +// }) +// if err != nil { +// return err +// } +// _, err = elasticsearch.NewInstance(ctx, "default", &elasticsearch.InstanceArgs{ +// Description: pulumi.String(name), +// VswitchId: defaultSwitch.ID(), +// Password: pulumi.String("Examplw1234"), +// Version: pulumi.String("7.10_with_X-Pack"), +// InstanceChargeType: pulumi.String("PostPaid"), +// DataNodeAmount: pulumi.Int(2), +// DataNodeSpec: pulumi.String("elasticsearch.sn2ne.large"), +// DataNodeDiskSize: pulumi.Int(20), +// DataNodeDiskType: pulumi.String("cloud_ssd"), +// KibanaNodeSpec: pulumi.String("elasticsearch.sn2ne.large"), +// DataNodeDiskPerformanceLevel: pulumi.String("PL1"), +// Tags: pulumi.StringMap{ +// "Created": pulumi.String("TF"), +// "For": pulumi.String("example"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// Elasticsearch can be imported using the id, e.g. +// Elasticsearch Instance can be imported using the id, e.g. // // ```sh -// $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 +// $ pulumi import alicloud:elasticsearch/instance:Instance example // ``` type Instance struct { pulumi.CustomResourceState - // Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + // Schema Type: + ArchType pulumi.StringOutput `pulumi:"archType"` + // Renewal Period AutoRenewDuration pulumi.IntPtrOutput `pulumi:"autoRenewDuration"` // The Elasticsearch cluster's client node quantity, between 2 and 25. - ClientNodeAmount pulumi.IntPtrOutput `pulumi:"clientNodeAmount"` + // + // Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + ClientNodeAmount pulumi.IntOutput `pulumi:"clientNodeAmount"` + // Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + ClientNodeConfiguration InstanceClientNodeConfigurationOutput `pulumi:"clientNodeConfiguration"` // The client node spec. If specified, client node will be created. - ClientNodeSpec pulumi.StringPtrOutput `pulumi:"clientNodeSpec"` + // + // Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + ClientNodeSpec pulumi.StringOutput `pulumi:"clientNodeSpec"` + // Instance creation time + CreateTime pulumi.StringOutput `pulumi:"createTime"` // The Elasticsearch cluster's data node quantity, between 2 and 50. + // + // Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. DataNodeAmount pulumi.IntOutput `pulumi:"dataNodeAmount"` + // Elasticsearch data node information See `dataNodeConfiguration` below. + DataNodeConfiguration InstanceDataNodeConfigurationOutput `pulumi:"dataNodeConfiguration"` // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. - DataNodeDiskEncrypted pulumi.BoolPtrOutput `pulumi:"dataNodeDiskEncrypted"` + // + // Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + DataNodeDiskEncrypted pulumi.BoolOutput `pulumi:"dataNodeDiskEncrypted"` // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. - DataNodeDiskPerformanceLevel pulumi.StringPtrOutput `pulumi:"dataNodeDiskPerformanceLevel"` + // + // Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + DataNodeDiskPerformanceLevel pulumi.StringOutput `pulumi:"dataNodeDiskPerformanceLevel"` // The single data node storage space. + // + // Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. DataNodeDiskSize pulumi.IntOutput `pulumi:"dataNodeDiskSize"` // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + // + // Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. DataNodeDiskType pulumi.StringOutput `pulumi:"dataNodeDiskType"` // The data node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. DataNodeSpec pulumi.StringOutput `pulumi:"dataNodeSpec"` - // The description of instance. It a string of 0 to 30 characters. + // Instance name Description pulumi.StringOutput `pulumi:"description"` - // Instance connection domain (only VPC network access supported). + // Elasticsearch cluster private domain name Domain pulumi.StringOutput `pulumi:"domain"` - // Bool, default to false. When it set to true, the instance can close kibana private network access。 - EnableKibanaPrivateNetwork pulumi.BoolPtrOutput `pulumi:"enableKibanaPrivateNetwork"` - // Bool, default to true. When it set to false, the instance can enable kibana public network access。 - EnableKibanaPublicNetwork pulumi.BoolPtrOutput `pulumi:"enableKibanaPublicNetwork"` - // Bool, default to false. When it set to true, the instance can enable public network access。 - EnablePublic pulumi.BoolPtrOutput `pulumi:"enablePublic"` + // Whether to enable Kibana private network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. + EnableKibanaPrivateNetwork pulumi.BoolOutput `pulumi:"enableKibanaPrivateNetwork"` + // Does Kibana enable public access + EnableKibanaPublicNetwork pulumi.BoolOutput `pulumi:"enableKibanaPublicNetwork"` + // Whether to enable Kibana public network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. + EnablePublic pulumi.BoolOutput `pulumi:"enablePublic"` + Force pulumi.BoolPtrOutput `pulumi:"force"` + // Version type. + InstanceCategory pulumi.StringOutput `pulumi:"instanceCategory"` // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. - InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"` - // Kibana console domain (Internet access supported). + // + // Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"` + // Elasticsearch Kibana node settings See `kibanaConfiguration` below. + KibanaConfiguration InstanceKibanaConfigurationOutput `pulumi:"kibanaConfiguration"` + // Kibana address KibanaDomain pulumi.StringOutput `pulumi:"kibanaDomain"` // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + // + // Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. KibanaNodeSpec pulumi.StringOutput `pulumi:"kibanaNodeSpec"` - // Kibana console port. + // The port assigned by the Kibana node. KibanaPort pulumi.IntOutput `pulumi:"kibanaPort"` - // the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + // Kibana private network security group ID KibanaPrivateSecurityGroupId pulumi.StringPtrOutput `pulumi:"kibanaPrivateSecurityGroupId"` - // Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + // Cluster Kibana node private network access whitelist KibanaPrivateWhitelists pulumi.StringArrayOutput `pulumi:"kibanaPrivateWhitelists"` - // Set the Kibana's IP whitelist in internet network. + // Kibana private network access whitelist KibanaWhitelists pulumi.StringArrayOutput `pulumi:"kibanaWhitelists"` // An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapOutput `pulumi:"kmsEncryptionContext"` + // Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + MasterConfiguration InstanceMasterConfigurationOutput `pulumi:"masterConfiguration"` // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. - MasterNodeDiskType pulumi.StringPtrOutput `pulumi:"masterNodeDiskType"` + // + // Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + MasterNodeDiskType pulumi.StringOutput `pulumi:"masterNodeDiskType"` // The dedicated master node spec. If specified, dedicated master node will be created. - MasterNodeSpec pulumi.StringPtrOutput `pulumi:"masterNodeSpec"` - // The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + // + // Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + MasterNodeSpec pulumi.StringOutput `pulumi:"masterNodeSpec"` + OrderActionType pulumi.StringPtrOutput `pulumi:"orderActionType"` + // The access password of the instance. Password pulumi.StringPtrOutput `pulumi:"password"` - // The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. - Period pulumi.IntPtrOutput `pulumi:"period"` + // The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + PaymentType pulumi.StringOutput `pulumi:"paymentType"` + // The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + Period pulumi.IntOutput `pulumi:"period"` // Instance connection port. Port pulumi.IntOutput `pulumi:"port"` - // Set the instance's IP whitelist in VPC network. + // Elasticsearch private network whitelist. (Same as EsIpWhitelist) PrivateWhitelists pulumi.StringArrayOutput `pulumi:"privateWhitelists"` - // Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. - Protocol pulumi.StringPtrOutput `pulumi:"protocol"` - // Instance connection public domain. + // Access protocol. Optional values: `HTTP` and **HTTPS * *. + Protocol pulumi.StringOutput `pulumi:"protocol"` + // The public network address of the current instance. PublicDomain pulumi.StringOutput `pulumi:"publicDomain"` - // Instance connection public port. + // Elasticsearch cluster public network access port PublicPort pulumi.IntOutput `pulumi:"publicPort"` - // Set the instance's IP whitelist in internet network. + // Elasticseach public network access whitelist IP list PublicWhitelists pulumi.StringArrayOutput `pulumi:"publicWhitelists"` - // The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. - RenewStatus pulumi.StringPtrOutput `pulumi:"renewStatus"` - // Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. - RenewalDurationUnit pulumi.StringPtrOutput `pulumi:"renewalDurationUnit"` - // The ID of resource group which the Elasticsearch instance belongs. + // Renewal Status + RenewStatus pulumi.StringOutput `pulumi:"renewStatus"` + // Renewal Period Unit + RenewalDurationUnit pulumi.StringOutput `pulumi:"renewalDurationUnit"` + // Resource group to which the instance belongs ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` - // The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + // Configuration information SettingConfig pulumi.StringMapOutput `pulumi:"settingConfig"` - // The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + // Instance change status Status pulumi.StringOutput `pulumi:"status"` - // A mapping of tags to assign to the resource. - Tags pulumi.StringMapOutput `pulumi:"tags"` - // Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + // Collection of tag key-value pairs + Tags pulumi.StringMapOutput `pulumi:"tags"` + UpdateStrategy pulumi.StringPtrOutput `pulumi:"updateStrategy"` + // Instance version Version pulumi.StringOutput `pulumi:"version"` // The ID of VSwitch. VswitchId pulumi.StringOutput `pulumi:"vswitchId"` // The Elasticsearch cluster's warm node quantity, between 3 and 50. - WarmNodeAmount pulumi.IntPtrOutput `pulumi:"warmNodeAmount"` + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + WarmNodeAmount pulumi.IntOutput `pulumi:"warmNodeAmount"` + // Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + WarmNodeConfiguration InstanceWarmNodeConfigurationOutput `pulumi:"warmNodeConfiguration"` // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. - WarmNodeDiskEncrypted pulumi.BoolPtrOutput `pulumi:"warmNodeDiskEncrypted"` + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + WarmNodeDiskEncrypted pulumi.BoolOutput `pulumi:"warmNodeDiskEncrypted"` // The single warm node storage space, should between 500 and 20480 - WarmNodeDiskSize pulumi.IntPtrOutput `pulumi:"warmNodeDiskSize"` + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + WarmNodeDiskSize pulumi.IntOutput `pulumi:"warmNodeDiskSize"` // The warm node disk type. Supported values: cloud_efficiency. - WarmNodeDiskType pulumi.StringPtrOutput `pulumi:"warmNodeDiskType"` + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + WarmNodeDiskType pulumi.StringOutput `pulumi:"warmNodeDiskType"` // The warm node specifications of the Elasticsearch instance. - WarmNodeSpec pulumi.StringPtrOutput `pulumi:"warmNodeSpec"` - // The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. - ZoneCount pulumi.IntPtrOutput `pulumi:"zoneCount"` + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + WarmNodeSpec pulumi.StringOutput `pulumi:"warmNodeSpec"` + // The number of zones in the Elasticsearch instance. + // + // The following arguments will be discarded. Please use new fields as soon as possible: + ZoneCount pulumi.IntOutput `pulumi:"zoneCount"` } // NewInstance registers a new resource with the given unique name, arguments, and options. @@ -125,18 +267,6 @@ func NewInstance(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } - if args.DataNodeAmount == nil { - return nil, errors.New("invalid value for required argument 'DataNodeAmount'") - } - if args.DataNodeDiskSize == nil { - return nil, errors.New("invalid value for required argument 'DataNodeDiskSize'") - } - if args.DataNodeDiskType == nil { - return nil, errors.New("invalid value for required argument 'DataNodeDiskType'") - } - if args.DataNodeSpec == nil { - return nil, errors.New("invalid value for required argument 'DataNodeSpec'") - } if args.Version == nil { return nil, errors.New("invalid value for required argument 'Version'") } @@ -173,196 +303,326 @@ func GetInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering Instance resources. type instanceState struct { - // Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + // Schema Type: + ArchType *string `pulumi:"archType"` + // Renewal Period AutoRenewDuration *int `pulumi:"autoRenewDuration"` // The Elasticsearch cluster's client node quantity, between 2 and 25. + // + // Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. ClientNodeAmount *int `pulumi:"clientNodeAmount"` + // Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + ClientNodeConfiguration *InstanceClientNodeConfiguration `pulumi:"clientNodeConfiguration"` // The client node spec. If specified, client node will be created. + // + // Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. ClientNodeSpec *string `pulumi:"clientNodeSpec"` + // Instance creation time + CreateTime *string `pulumi:"createTime"` // The Elasticsearch cluster's data node quantity, between 2 and 50. + // + // Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. DataNodeAmount *int `pulumi:"dataNodeAmount"` + // Elasticsearch data node information See `dataNodeConfiguration` below. + DataNodeConfiguration *InstanceDataNodeConfiguration `pulumi:"dataNodeConfiguration"` // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. DataNodeDiskEncrypted *bool `pulumi:"dataNodeDiskEncrypted"` // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + // + // Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. DataNodeDiskPerformanceLevel *string `pulumi:"dataNodeDiskPerformanceLevel"` // The single data node storage space. + // + // Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. DataNodeDiskSize *int `pulumi:"dataNodeDiskSize"` // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + // + // Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. DataNodeDiskType *string `pulumi:"dataNodeDiskType"` // The data node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. DataNodeSpec *string `pulumi:"dataNodeSpec"` - // The description of instance. It a string of 0 to 30 characters. + // Instance name Description *string `pulumi:"description"` - // Instance connection domain (only VPC network access supported). + // Elasticsearch cluster private domain name Domain *string `pulumi:"domain"` - // Bool, default to false. When it set to true, the instance can close kibana private network access。 + // Whether to enable Kibana private network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnableKibanaPrivateNetwork *bool `pulumi:"enableKibanaPrivateNetwork"` - // Bool, default to true. When it set to false, the instance can enable kibana public network access。 + // Does Kibana enable public access EnableKibanaPublicNetwork *bool `pulumi:"enableKibanaPublicNetwork"` - // Bool, default to false. When it set to true, the instance can enable public network access。 + // Whether to enable Kibana public network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnablePublic *bool `pulumi:"enablePublic"` + Force *bool `pulumi:"force"` + // Version type. + InstanceCategory *string `pulumi:"instanceCategory"` // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + // + // Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. InstanceChargeType *string `pulumi:"instanceChargeType"` - // Kibana console domain (Internet access supported). + // Elasticsearch Kibana node settings See `kibanaConfiguration` below. + KibanaConfiguration *InstanceKibanaConfiguration `pulumi:"kibanaConfiguration"` + // Kibana address KibanaDomain *string `pulumi:"kibanaDomain"` // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + // + // Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. KibanaNodeSpec *string `pulumi:"kibanaNodeSpec"` - // Kibana console port. + // The port assigned by the Kibana node. KibanaPort *int `pulumi:"kibanaPort"` - // the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + // Kibana private network security group ID KibanaPrivateSecurityGroupId *string `pulumi:"kibanaPrivateSecurityGroupId"` - // Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + // Cluster Kibana node private network access whitelist KibanaPrivateWhitelists []string `pulumi:"kibanaPrivateWhitelists"` - // Set the Kibana's IP whitelist in internet network. + // Kibana private network access whitelist KibanaWhitelists []string `pulumi:"kibanaWhitelists"` // An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext map[string]string `pulumi:"kmsEncryptionContext"` + // Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + MasterConfiguration *InstanceMasterConfiguration `pulumi:"masterConfiguration"` // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + // + // Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. MasterNodeDiskType *string `pulumi:"masterNodeDiskType"` // The dedicated master node spec. If specified, dedicated master node will be created. - MasterNodeSpec *string `pulumi:"masterNodeSpec"` - // The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + // + // Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + MasterNodeSpec *string `pulumi:"masterNodeSpec"` + OrderActionType *string `pulumi:"orderActionType"` + // The access password of the instance. Password *string `pulumi:"password"` - // The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + // The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + PaymentType *string `pulumi:"paymentType"` + // The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. Period *int `pulumi:"period"` // Instance connection port. Port *int `pulumi:"port"` - // Set the instance's IP whitelist in VPC network. + // Elasticsearch private network whitelist. (Same as EsIpWhitelist) PrivateWhitelists []string `pulumi:"privateWhitelists"` - // Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + // Access protocol. Optional values: `HTTP` and **HTTPS * *. Protocol *string `pulumi:"protocol"` - // Instance connection public domain. + // The public network address of the current instance. PublicDomain *string `pulumi:"publicDomain"` - // Instance connection public port. + // Elasticsearch cluster public network access port PublicPort *int `pulumi:"publicPort"` - // Set the instance's IP whitelist in internet network. + // Elasticseach public network access whitelist IP list PublicWhitelists []string `pulumi:"publicWhitelists"` - // The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + // Renewal Status RenewStatus *string `pulumi:"renewStatus"` - // Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + // Renewal Period Unit RenewalDurationUnit *string `pulumi:"renewalDurationUnit"` - // The ID of resource group which the Elasticsearch instance belongs. + // Resource group to which the instance belongs ResourceGroupId *string `pulumi:"resourceGroupId"` - // The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + // Configuration information SettingConfig map[string]string `pulumi:"settingConfig"` - // The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + // Instance change status Status *string `pulumi:"status"` - // A mapping of tags to assign to the resource. - Tags map[string]string `pulumi:"tags"` - // Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + // Collection of tag key-value pairs + Tags map[string]string `pulumi:"tags"` + UpdateStrategy *string `pulumi:"updateStrategy"` + // Instance version Version *string `pulumi:"version"` // The ID of VSwitch. VswitchId *string `pulumi:"vswitchId"` // The Elasticsearch cluster's warm node quantity, between 3 and 50. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. WarmNodeAmount *int `pulumi:"warmNodeAmount"` + // Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + WarmNodeConfiguration *InstanceWarmNodeConfiguration `pulumi:"warmNodeConfiguration"` // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. WarmNodeDiskEncrypted *bool `pulumi:"warmNodeDiskEncrypted"` // The single warm node storage space, should between 500 and 20480 + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. WarmNodeDiskSize *int `pulumi:"warmNodeDiskSize"` // The warm node disk type. Supported values: cloud_efficiency. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. WarmNodeDiskType *string `pulumi:"warmNodeDiskType"` // The warm node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. WarmNodeSpec *string `pulumi:"warmNodeSpec"` - // The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + // The number of zones in the Elasticsearch instance. + // + // The following arguments will be discarded. Please use new fields as soon as possible: ZoneCount *int `pulumi:"zoneCount"` } type InstanceState struct { - // Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + // Schema Type: + ArchType pulumi.StringPtrInput + // Renewal Period AutoRenewDuration pulumi.IntPtrInput // The Elasticsearch cluster's client node quantity, between 2 and 25. + // + // Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. ClientNodeAmount pulumi.IntPtrInput + // Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + ClientNodeConfiguration InstanceClientNodeConfigurationPtrInput // The client node spec. If specified, client node will be created. + // + // Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. ClientNodeSpec pulumi.StringPtrInput + // Instance creation time + CreateTime pulumi.StringPtrInput // The Elasticsearch cluster's data node quantity, between 2 and 50. + // + // Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. DataNodeAmount pulumi.IntPtrInput + // Elasticsearch data node information See `dataNodeConfiguration` below. + DataNodeConfiguration InstanceDataNodeConfigurationPtrInput // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. DataNodeDiskEncrypted pulumi.BoolPtrInput // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + // + // Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. DataNodeDiskPerformanceLevel pulumi.StringPtrInput // The single data node storage space. + // + // Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. DataNodeDiskSize pulumi.IntPtrInput // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + // + // Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. DataNodeDiskType pulumi.StringPtrInput // The data node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. DataNodeSpec pulumi.StringPtrInput - // The description of instance. It a string of 0 to 30 characters. + // Instance name Description pulumi.StringPtrInput - // Instance connection domain (only VPC network access supported). + // Elasticsearch cluster private domain name Domain pulumi.StringPtrInput - // Bool, default to false. When it set to true, the instance can close kibana private network access。 + // Whether to enable Kibana private network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnableKibanaPrivateNetwork pulumi.BoolPtrInput - // Bool, default to true. When it set to false, the instance can enable kibana public network access。 + // Does Kibana enable public access EnableKibanaPublicNetwork pulumi.BoolPtrInput - // Bool, default to false. When it set to true, the instance can enable public network access。 + // Whether to enable Kibana public network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnablePublic pulumi.BoolPtrInput + Force pulumi.BoolPtrInput + // Version type. + InstanceCategory pulumi.StringPtrInput // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + // + // Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. InstanceChargeType pulumi.StringPtrInput - // Kibana console domain (Internet access supported). + // Elasticsearch Kibana node settings See `kibanaConfiguration` below. + KibanaConfiguration InstanceKibanaConfigurationPtrInput + // Kibana address KibanaDomain pulumi.StringPtrInput // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + // + // Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. KibanaNodeSpec pulumi.StringPtrInput - // Kibana console port. + // The port assigned by the Kibana node. KibanaPort pulumi.IntPtrInput - // the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + // Kibana private network security group ID KibanaPrivateSecurityGroupId pulumi.StringPtrInput - // Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + // Cluster Kibana node private network access whitelist KibanaPrivateWhitelists pulumi.StringArrayInput - // Set the Kibana's IP whitelist in internet network. + // Kibana private network access whitelist KibanaWhitelists pulumi.StringArrayInput // An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrInput // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapInput + // Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + MasterConfiguration InstanceMasterConfigurationPtrInput // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + // + // Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. MasterNodeDiskType pulumi.StringPtrInput // The dedicated master node spec. If specified, dedicated master node will be created. - MasterNodeSpec pulumi.StringPtrInput - // The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + // + // Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + MasterNodeSpec pulumi.StringPtrInput + OrderActionType pulumi.StringPtrInput + // The access password of the instance. Password pulumi.StringPtrInput - // The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + // The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + PaymentType pulumi.StringPtrInput + // The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. Period pulumi.IntPtrInput // Instance connection port. Port pulumi.IntPtrInput - // Set the instance's IP whitelist in VPC network. + // Elasticsearch private network whitelist. (Same as EsIpWhitelist) PrivateWhitelists pulumi.StringArrayInput - // Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + // Access protocol. Optional values: `HTTP` and **HTTPS * *. Protocol pulumi.StringPtrInput - // Instance connection public domain. + // The public network address of the current instance. PublicDomain pulumi.StringPtrInput - // Instance connection public port. + // Elasticsearch cluster public network access port PublicPort pulumi.IntPtrInput - // Set the instance's IP whitelist in internet network. + // Elasticseach public network access whitelist IP list PublicWhitelists pulumi.StringArrayInput - // The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + // Renewal Status RenewStatus pulumi.StringPtrInput - // Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + // Renewal Period Unit RenewalDurationUnit pulumi.StringPtrInput - // The ID of resource group which the Elasticsearch instance belongs. + // Resource group to which the instance belongs ResourceGroupId pulumi.StringPtrInput - // The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + // Configuration information SettingConfig pulumi.StringMapInput - // The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + // Instance change status Status pulumi.StringPtrInput - // A mapping of tags to assign to the resource. - Tags pulumi.StringMapInput - // Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + // Collection of tag key-value pairs + Tags pulumi.StringMapInput + UpdateStrategy pulumi.StringPtrInput + // Instance version Version pulumi.StringPtrInput // The ID of VSwitch. VswitchId pulumi.StringPtrInput // The Elasticsearch cluster's warm node quantity, between 3 and 50. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. WarmNodeAmount pulumi.IntPtrInput + // Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + WarmNodeConfiguration InstanceWarmNodeConfigurationPtrInput // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. WarmNodeDiskEncrypted pulumi.BoolPtrInput // The single warm node storage space, should between 500 and 20480 + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. WarmNodeDiskSize pulumi.IntPtrInput // The warm node disk type. Supported values: cloud_efficiency. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. WarmNodeDiskType pulumi.StringPtrInput // The warm node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. WarmNodeSpec pulumi.StringPtrInput - // The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + // The number of zones in the Elasticsearch instance. + // + // The following arguments will be discarded. Please use new fields as soon as possible: ZoneCount pulumi.IntPtrInput } @@ -371,169 +631,291 @@ func (InstanceState) ElementType() reflect.Type { } type instanceArgs struct { - // Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + // Renewal Period AutoRenewDuration *int `pulumi:"autoRenewDuration"` // The Elasticsearch cluster's client node quantity, between 2 and 25. + // + // Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. ClientNodeAmount *int `pulumi:"clientNodeAmount"` + // Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + ClientNodeConfiguration *InstanceClientNodeConfiguration `pulumi:"clientNodeConfiguration"` // The client node spec. If specified, client node will be created. + // + // Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. ClientNodeSpec *string `pulumi:"clientNodeSpec"` // The Elasticsearch cluster's data node quantity, between 2 and 50. - DataNodeAmount int `pulumi:"dataNodeAmount"` + // + // Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + DataNodeAmount *int `pulumi:"dataNodeAmount"` + // Elasticsearch data node information See `dataNodeConfiguration` below. + DataNodeConfiguration *InstanceDataNodeConfiguration `pulumi:"dataNodeConfiguration"` // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. DataNodeDiskEncrypted *bool `pulumi:"dataNodeDiskEncrypted"` // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + // + // Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. DataNodeDiskPerformanceLevel *string `pulumi:"dataNodeDiskPerformanceLevel"` // The single data node storage space. - DataNodeDiskSize int `pulumi:"dataNodeDiskSize"` + // + // Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + DataNodeDiskSize *int `pulumi:"dataNodeDiskSize"` // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. - DataNodeDiskType string `pulumi:"dataNodeDiskType"` + // + // Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + DataNodeDiskType *string `pulumi:"dataNodeDiskType"` // The data node specifications of the Elasticsearch instance. - DataNodeSpec string `pulumi:"dataNodeSpec"` - // The description of instance. It a string of 0 to 30 characters. + // + // Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + DataNodeSpec *string `pulumi:"dataNodeSpec"` + // Instance name Description *string `pulumi:"description"` - // Bool, default to false. When it set to true, the instance can close kibana private network access。 + // Whether to enable Kibana private network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnableKibanaPrivateNetwork *bool `pulumi:"enableKibanaPrivateNetwork"` - // Bool, default to true. When it set to false, the instance can enable kibana public network access。 + // Does Kibana enable public access EnableKibanaPublicNetwork *bool `pulumi:"enableKibanaPublicNetwork"` - // Bool, default to false. When it set to true, the instance can enable public network access。 + // Whether to enable Kibana public network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnablePublic *bool `pulumi:"enablePublic"` + Force *bool `pulumi:"force"` + // Version type. + InstanceCategory *string `pulumi:"instanceCategory"` // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + // + // Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. InstanceChargeType *string `pulumi:"instanceChargeType"` + // Elasticsearch Kibana node settings See `kibanaConfiguration` below. + KibanaConfiguration *InstanceKibanaConfiguration `pulumi:"kibanaConfiguration"` // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + // + // Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. KibanaNodeSpec *string `pulumi:"kibanaNodeSpec"` - // the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + // Kibana private network security group ID KibanaPrivateSecurityGroupId *string `pulumi:"kibanaPrivateSecurityGroupId"` - // Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + // Cluster Kibana node private network access whitelist KibanaPrivateWhitelists []string `pulumi:"kibanaPrivateWhitelists"` - // Set the Kibana's IP whitelist in internet network. + // Kibana private network access whitelist KibanaWhitelists []string `pulumi:"kibanaWhitelists"` // An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext map[string]string `pulumi:"kmsEncryptionContext"` + // Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + MasterConfiguration *InstanceMasterConfiguration `pulumi:"masterConfiguration"` // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + // + // Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. MasterNodeDiskType *string `pulumi:"masterNodeDiskType"` // The dedicated master node spec. If specified, dedicated master node will be created. - MasterNodeSpec *string `pulumi:"masterNodeSpec"` - // The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + // + // Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + MasterNodeSpec *string `pulumi:"masterNodeSpec"` + OrderActionType *string `pulumi:"orderActionType"` + // The access password of the instance. Password *string `pulumi:"password"` - // The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + // The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + PaymentType *string `pulumi:"paymentType"` + // The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. Period *int `pulumi:"period"` - // Set the instance's IP whitelist in VPC network. + // Elasticsearch private network whitelist. (Same as EsIpWhitelist) PrivateWhitelists []string `pulumi:"privateWhitelists"` - // Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + // Access protocol. Optional values: `HTTP` and **HTTPS * *. Protocol *string `pulumi:"protocol"` - // Set the instance's IP whitelist in internet network. + // Elasticseach public network access whitelist IP list PublicWhitelists []string `pulumi:"publicWhitelists"` - // The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + // Renewal Status RenewStatus *string `pulumi:"renewStatus"` - // Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + // Renewal Period Unit RenewalDurationUnit *string `pulumi:"renewalDurationUnit"` - // The ID of resource group which the Elasticsearch instance belongs. + // Resource group to which the instance belongs ResourceGroupId *string `pulumi:"resourceGroupId"` - // The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + // Configuration information SettingConfig map[string]string `pulumi:"settingConfig"` - // A mapping of tags to assign to the resource. - Tags map[string]string `pulumi:"tags"` - // Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + // Collection of tag key-value pairs + Tags map[string]string `pulumi:"tags"` + UpdateStrategy *string `pulumi:"updateStrategy"` + // Instance version Version string `pulumi:"version"` // The ID of VSwitch. VswitchId string `pulumi:"vswitchId"` // The Elasticsearch cluster's warm node quantity, between 3 and 50. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. WarmNodeAmount *int `pulumi:"warmNodeAmount"` + // Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + WarmNodeConfiguration *InstanceWarmNodeConfiguration `pulumi:"warmNodeConfiguration"` // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. WarmNodeDiskEncrypted *bool `pulumi:"warmNodeDiskEncrypted"` // The single warm node storage space, should between 500 and 20480 + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. WarmNodeDiskSize *int `pulumi:"warmNodeDiskSize"` // The warm node disk type. Supported values: cloud_efficiency. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. WarmNodeDiskType *string `pulumi:"warmNodeDiskType"` // The warm node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. WarmNodeSpec *string `pulumi:"warmNodeSpec"` - // The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + // The number of zones in the Elasticsearch instance. + // + // The following arguments will be discarded. Please use new fields as soon as possible: ZoneCount *int `pulumi:"zoneCount"` } // The set of arguments for constructing a Instance resource. type InstanceArgs struct { - // Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + // Renewal Period AutoRenewDuration pulumi.IntPtrInput // The Elasticsearch cluster's client node quantity, between 2 and 25. + // + // Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. ClientNodeAmount pulumi.IntPtrInput + // Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + ClientNodeConfiguration InstanceClientNodeConfigurationPtrInput // The client node spec. If specified, client node will be created. + // + // Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. ClientNodeSpec pulumi.StringPtrInput // The Elasticsearch cluster's data node quantity, between 2 and 50. - DataNodeAmount pulumi.IntInput + // + // Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + DataNodeAmount pulumi.IntPtrInput + // Elasticsearch data node information See `dataNodeConfiguration` below. + DataNodeConfiguration InstanceDataNodeConfigurationPtrInput // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. DataNodeDiskEncrypted pulumi.BoolPtrInput // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + // + // Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. DataNodeDiskPerformanceLevel pulumi.StringPtrInput // The single data node storage space. - DataNodeDiskSize pulumi.IntInput + // + // Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + DataNodeDiskSize pulumi.IntPtrInput // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. - DataNodeDiskType pulumi.StringInput + // + // Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + DataNodeDiskType pulumi.StringPtrInput // The data node specifications of the Elasticsearch instance. - DataNodeSpec pulumi.StringInput - // The description of instance. It a string of 0 to 30 characters. + // + // Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + DataNodeSpec pulumi.StringPtrInput + // Instance name Description pulumi.StringPtrInput - // Bool, default to false. When it set to true, the instance can close kibana private network access。 + // Whether to enable Kibana private network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnableKibanaPrivateNetwork pulumi.BoolPtrInput - // Bool, default to true. When it set to false, the instance can enable kibana public network access。 + // Does Kibana enable public access EnableKibanaPublicNetwork pulumi.BoolPtrInput - // Bool, default to false. When it set to true, the instance can enable public network access。 + // Whether to enable Kibana public network access. + // + // The meaning of the value is as follows: + // - true: On. + // - false: does not open. EnablePublic pulumi.BoolPtrInput + Force pulumi.BoolPtrInput + // Version type. + InstanceCategory pulumi.StringPtrInput // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + // + // Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. InstanceChargeType pulumi.StringPtrInput + // Elasticsearch Kibana node settings See `kibanaConfiguration` below. + KibanaConfiguration InstanceKibanaConfigurationPtrInput // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + // + // Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. KibanaNodeSpec pulumi.StringPtrInput - // the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + // Kibana private network security group ID KibanaPrivateSecurityGroupId pulumi.StringPtrInput - // Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + // Cluster Kibana node private network access whitelist KibanaPrivateWhitelists pulumi.StringArrayInput - // Set the Kibana's IP whitelist in internet network. + // Kibana private network access whitelist KibanaWhitelists pulumi.StringArrayInput // An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kmsEncryptedPassword` fields. KmsEncryptedPassword pulumi.StringPtrInput // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapInput + // Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + MasterConfiguration InstanceMasterConfigurationPtrInput // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + // + // Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. MasterNodeDiskType pulumi.StringPtrInput // The dedicated master node spec. If specified, dedicated master node will be created. - MasterNodeSpec pulumi.StringPtrInput - // The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + // + // Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + MasterNodeSpec pulumi.StringPtrInput + OrderActionType pulumi.StringPtrInput + // The access password of the instance. Password pulumi.StringPtrInput - // The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + // The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + PaymentType pulumi.StringPtrInput + // The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. Period pulumi.IntPtrInput - // Set the instance's IP whitelist in VPC network. + // Elasticsearch private network whitelist. (Same as EsIpWhitelist) PrivateWhitelists pulumi.StringArrayInput - // Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + // Access protocol. Optional values: `HTTP` and **HTTPS * *. Protocol pulumi.StringPtrInput - // Set the instance's IP whitelist in internet network. + // Elasticseach public network access whitelist IP list PublicWhitelists pulumi.StringArrayInput - // The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + // Renewal Status RenewStatus pulumi.StringPtrInput - // Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + // Renewal Period Unit RenewalDurationUnit pulumi.StringPtrInput - // The ID of resource group which the Elasticsearch instance belongs. + // Resource group to which the instance belongs ResourceGroupId pulumi.StringPtrInput - // The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + // Configuration information SettingConfig pulumi.StringMapInput - // A mapping of tags to assign to the resource. - Tags pulumi.StringMapInput - // Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + // Collection of tag key-value pairs + Tags pulumi.StringMapInput + UpdateStrategy pulumi.StringPtrInput + // Instance version Version pulumi.StringInput // The ID of VSwitch. VswitchId pulumi.StringInput // The Elasticsearch cluster's warm node quantity, between 3 and 50. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. WarmNodeAmount pulumi.IntPtrInput + // Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + WarmNodeConfiguration InstanceWarmNodeConfigurationPtrInput // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. WarmNodeDiskEncrypted pulumi.BoolPtrInput // The single warm node storage space, should between 500 and 20480 + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. WarmNodeDiskSize pulumi.IntPtrInput // The warm node disk type. Supported values: cloud_efficiency. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. WarmNodeDiskType pulumi.StringPtrInput // The warm node specifications of the Elasticsearch instance. + // + // Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. WarmNodeSpec pulumi.StringPtrInput - // The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + // The number of zones in the Elasticsearch instance. + // + // The following arguments will be discarded. Please use new fields as soon as possible: ZoneCount pulumi.IntPtrInput } @@ -624,107 +1006,169 @@ func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) Instanc return o } -// Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. +// Schema Type: +func (o InstanceOutput) ArchType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ArchType }).(pulumi.StringOutput) +} + +// Renewal Period func (o InstanceOutput) AutoRenewDuration() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.AutoRenewDuration }).(pulumi.IntPtrOutput) } // The Elasticsearch cluster's client node quantity, between 2 and 25. -func (o InstanceOutput) ClientNodeAmount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.ClientNodeAmount }).(pulumi.IntPtrOutput) +// +// Deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. +func (o InstanceOutput) ClientNodeAmount() pulumi.IntOutput { + return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.ClientNodeAmount }).(pulumi.IntOutput) +} + +// Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. +func (o InstanceOutput) ClientNodeConfiguration() InstanceClientNodeConfigurationOutput { + return o.ApplyT(func(v *Instance) InstanceClientNodeConfigurationOutput { return v.ClientNodeConfiguration }).(InstanceClientNodeConfigurationOutput) } // The client node spec. If specified, client node will be created. -func (o InstanceOutput) ClientNodeSpec() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ClientNodeSpec }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. +func (o InstanceOutput) ClientNodeSpec() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ClientNodeSpec }).(pulumi.StringOutput) +} + +// Instance creation time +func (o InstanceOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } // The Elasticsearch cluster's data node quantity, between 2 and 50. +// +// Deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. func (o InstanceOutput) DataNodeAmount() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.DataNodeAmount }).(pulumi.IntOutput) } +// Elasticsearch data node information See `dataNodeConfiguration` below. +func (o InstanceOutput) DataNodeConfiguration() InstanceDataNodeConfigurationOutput { + return o.ApplyT(func(v *Instance) InstanceDataNodeConfigurationOutput { return v.DataNodeConfiguration }).(InstanceDataNodeConfigurationOutput) +} + // If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. -func (o InstanceOutput) DataNodeDiskEncrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DataNodeDiskEncrypted }).(pulumi.BoolPtrOutput) +// +// Deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. +func (o InstanceOutput) DataNodeDiskEncrypted() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.DataNodeDiskEncrypted }).(pulumi.BoolOutput) } // Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. -func (o InstanceOutput) DataNodeDiskPerformanceLevel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DataNodeDiskPerformanceLevel }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. +func (o InstanceOutput) DataNodeDiskPerformanceLevel() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DataNodeDiskPerformanceLevel }).(pulumi.StringOutput) } // The single data node storage space. +// +// Deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. func (o InstanceOutput) DataNodeDiskSize() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.DataNodeDiskSize }).(pulumi.IntOutput) } // The data node disk type. Supported values: cloud_ssd, cloud_efficiency. +// +// Deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. func (o InstanceOutput) DataNodeDiskType() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DataNodeDiskType }).(pulumi.StringOutput) } // The data node specifications of the Elasticsearch instance. +// +// Deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. func (o InstanceOutput) DataNodeSpec() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DataNodeSpec }).(pulumi.StringOutput) } -// The description of instance. It a string of 0 to 30 characters. +// Instance name func (o InstanceOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Instance connection domain (only VPC network access supported). +// Elasticsearch cluster private domain name func (o InstanceOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) } -// Bool, default to false. When it set to true, the instance can close kibana private network access。 -func (o InstanceOutput) EnableKibanaPrivateNetwork() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EnableKibanaPrivateNetwork }).(pulumi.BoolPtrOutput) +// Whether to enable Kibana private network access. +// +// The meaning of the value is as follows: +// - true: On. +// - false: does not open. +func (o InstanceOutput) EnableKibanaPrivateNetwork() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.EnableKibanaPrivateNetwork }).(pulumi.BoolOutput) } -// Bool, default to true. When it set to false, the instance can enable kibana public network access。 -func (o InstanceOutput) EnableKibanaPublicNetwork() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EnableKibanaPublicNetwork }).(pulumi.BoolPtrOutput) +// Does Kibana enable public access +func (o InstanceOutput) EnableKibanaPublicNetwork() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.EnableKibanaPublicNetwork }).(pulumi.BoolOutput) } -// Bool, default to false. When it set to true, the instance can enable public network access。 -func (o InstanceOutput) EnablePublic() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EnablePublic }).(pulumi.BoolPtrOutput) +// Whether to enable Kibana public network access. +// +// The meaning of the value is as follows: +// - true: On. +// - false: does not open. +func (o InstanceOutput) EnablePublic() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.EnablePublic }).(pulumi.BoolOutput) +} + +func (o InstanceOutput) Force() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.Force }).(pulumi.BoolPtrOutput) +} + +// Version type. +func (o InstanceOutput) InstanceCategory() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceCategory }).(pulumi.StringOutput) } // Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. -func (o InstanceOutput) InstanceChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. +func (o InstanceOutput) InstanceChargeType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceChargeType }).(pulumi.StringOutput) } -// Kibana console domain (Internet access supported). +// Elasticsearch Kibana node settings See `kibanaConfiguration` below. +func (o InstanceOutput) KibanaConfiguration() InstanceKibanaConfigurationOutput { + return o.ApplyT(func(v *Instance) InstanceKibanaConfigurationOutput { return v.KibanaConfiguration }).(InstanceKibanaConfigurationOutput) +} + +// Kibana address func (o InstanceOutput) KibanaDomain() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.KibanaDomain }).(pulumi.StringOutput) } // The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. +// +// Deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. func (o InstanceOutput) KibanaNodeSpec() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.KibanaNodeSpec }).(pulumi.StringOutput) } -// Kibana console port. +// The port assigned by the Kibana node. func (o InstanceOutput) KibanaPort() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.KibanaPort }).(pulumi.IntOutput) } -// the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` +// Kibana private network security group ID func (o InstanceOutput) KibanaPrivateSecurityGroupId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.KibanaPrivateSecurityGroupId }).(pulumi.StringPtrOutput) } -// Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead +// Cluster Kibana node private network access whitelist func (o InstanceOutput) KibanaPrivateWhitelists() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.KibanaPrivateWhitelists }).(pulumi.StringArrayOutput) } -// Set the Kibana's IP whitelist in internet network. +// Kibana private network access whitelist func (o InstanceOutput) KibanaWhitelists() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.KibanaWhitelists }).(pulumi.StringArrayOutput) } @@ -739,24 +1183,42 @@ func (o InstanceOutput) KmsEncryptionContext() pulumi.StringMapOutput { return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.KmsEncryptionContext }).(pulumi.StringMapOutput) } +// Elasticsearch proprietary master node configuration information See `masterConfiguration` below. +func (o InstanceOutput) MasterConfiguration() InstanceMasterConfigurationOutput { + return o.ApplyT(func(v *Instance) InstanceMasterConfigurationOutput { return v.MasterConfiguration }).(InstanceMasterConfigurationOutput) +} + // The single master node storage space. Valid values are `PrePaid`, `PostPaid`. -func (o InstanceOutput) MasterNodeDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.MasterNodeDiskType }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. +func (o InstanceOutput) MasterNodeDiskType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MasterNodeDiskType }).(pulumi.StringOutput) } // The dedicated master node spec. If specified, dedicated master node will be created. -func (o InstanceOutput) MasterNodeSpec() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.MasterNodeSpec }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. +func (o InstanceOutput) MasterNodeSpec() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MasterNodeSpec }).(pulumi.StringOutput) +} + +func (o InstanceOutput) OrderActionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.OrderActionType }).(pulumi.StringPtrOutput) } -// The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). +// The access password of the instance. func (o InstanceOutput) Password() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) } -// The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. -func (o InstanceOutput) Period() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.Period }).(pulumi.IntPtrOutput) +// The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) +func (o InstanceOutput) PaymentType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PaymentType }).(pulumi.StringOutput) +} + +// The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. +func (o InstanceOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Period }).(pulumi.IntOutput) } // Instance connection port. @@ -764,62 +1226,66 @@ func (o InstanceOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) } -// Set the instance's IP whitelist in VPC network. +// Elasticsearch private network whitelist. (Same as EsIpWhitelist) func (o InstanceOutput) PrivateWhitelists() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.PrivateWhitelists }).(pulumi.StringArrayOutput) } -// Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. -func (o InstanceOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Protocol }).(pulumi.StringPtrOutput) +// Access protocol. Optional values: `HTTP` and **HTTPS * *. +func (o InstanceOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) } -// Instance connection public domain. +// The public network address of the current instance. func (o InstanceOutput) PublicDomain() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PublicDomain }).(pulumi.StringOutput) } -// Instance connection public port. +// Elasticsearch cluster public network access port func (o InstanceOutput) PublicPort() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.PublicPort }).(pulumi.IntOutput) } -// Set the instance's IP whitelist in internet network. +// Elasticseach public network access whitelist IP list func (o InstanceOutput) PublicWhitelists() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.PublicWhitelists }).(pulumi.StringArrayOutput) } -// The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. -func (o InstanceOutput) RenewStatus() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.RenewStatus }).(pulumi.StringPtrOutput) +// Renewal Status +func (o InstanceOutput) RenewStatus() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.RenewStatus }).(pulumi.StringOutput) } -// Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. -func (o InstanceOutput) RenewalDurationUnit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.RenewalDurationUnit }).(pulumi.StringPtrOutput) +// Renewal Period Unit +func (o InstanceOutput) RenewalDurationUnit() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.RenewalDurationUnit }).(pulumi.StringOutput) } -// The ID of resource group which the Elasticsearch instance belongs. +// Resource group to which the instance belongs func (o InstanceOutput) ResourceGroupId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) } -// The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). +// Configuration information func (o InstanceOutput) SettingConfig() pulumi.StringMapOutput { return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.SettingConfig }).(pulumi.StringMapOutput) } -// The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. +// Instance change status func (o InstanceOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } -// A mapping of tags to assign to the resource. +// Collection of tag key-value pairs func (o InstanceOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -// Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. +func (o InstanceOutput) UpdateStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.UpdateStrategy }).(pulumi.StringPtrOutput) +} + +// Instance version func (o InstanceOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) } @@ -830,33 +1296,50 @@ func (o InstanceOutput) VswitchId() pulumi.StringOutput { } // The Elasticsearch cluster's warm node quantity, between 3 and 50. -func (o InstanceOutput) WarmNodeAmount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.WarmNodeAmount }).(pulumi.IntPtrOutput) +// +// Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. +func (o InstanceOutput) WarmNodeAmount() pulumi.IntOutput { + return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.WarmNodeAmount }).(pulumi.IntOutput) +} + +// Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. +func (o InstanceOutput) WarmNodeConfiguration() InstanceWarmNodeConfigurationOutput { + return o.ApplyT(func(v *Instance) InstanceWarmNodeConfigurationOutput { return v.WarmNodeConfiguration }).(InstanceWarmNodeConfigurationOutput) } // If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. -func (o InstanceOutput) WarmNodeDiskEncrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.WarmNodeDiskEncrypted }).(pulumi.BoolPtrOutput) +// +// Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. +func (o InstanceOutput) WarmNodeDiskEncrypted() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.WarmNodeDiskEncrypted }).(pulumi.BoolOutput) } // The single warm node storage space, should between 500 and 20480 -func (o InstanceOutput) WarmNodeDiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.WarmNodeDiskSize }).(pulumi.IntPtrOutput) +// +// Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. +func (o InstanceOutput) WarmNodeDiskSize() pulumi.IntOutput { + return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.WarmNodeDiskSize }).(pulumi.IntOutput) } // The warm node disk type. Supported values: cloud_efficiency. -func (o InstanceOutput) WarmNodeDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.WarmNodeDiskType }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. +func (o InstanceOutput) WarmNodeDiskType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.WarmNodeDiskType }).(pulumi.StringOutput) } // The warm node specifications of the Elasticsearch instance. -func (o InstanceOutput) WarmNodeSpec() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.WarmNodeSpec }).(pulumi.StringPtrOutput) +// +// Deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. +func (o InstanceOutput) WarmNodeSpec() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.WarmNodeSpec }).(pulumi.StringOutput) } -// The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. -func (o InstanceOutput) ZoneCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.ZoneCount }).(pulumi.IntPtrOutput) +// The number of zones in the Elasticsearch instance. +// +// The following arguments will be discarded. Please use new fields as soon as possible: +func (o InstanceOutput) ZoneCount() pulumi.IntOutput { + return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.ZoneCount }).(pulumi.IntOutput) } type InstanceArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/alicloud/elasticsearch/pulumiTypes.go b/sdk/go/alicloud/elasticsearch/pulumiTypes.go index dbfa14b3bc..b3f4403578 100644 --- a/sdk/go/alicloud/elasticsearch/pulumiTypes.go +++ b/sdk/go/alicloud/elasticsearch/pulumiTypes.go @@ -13,6 +13,1014 @@ import ( var _ = internal.GetEnvOrDefault +type InstanceClientNodeConfiguration struct { + // Number of disks in the Elasticsearch cluster coordination node + Amount *int `pulumi:"amount"` + // Elasticsearch cluster coordinates node disk size + Disk *int `pulumi:"disk"` + // Elasticsearch cluster coordination node disk type + DiskType *string `pulumi:"diskType"` + // Elasticsearch cluster coordination node specification + Spec *string `pulumi:"spec"` +} + +// InstanceClientNodeConfigurationInput is an input type that accepts InstanceClientNodeConfigurationArgs and InstanceClientNodeConfigurationOutput values. +// You can construct a concrete instance of `InstanceClientNodeConfigurationInput` via: +// +// InstanceClientNodeConfigurationArgs{...} +type InstanceClientNodeConfigurationInput interface { + pulumi.Input + + ToInstanceClientNodeConfigurationOutput() InstanceClientNodeConfigurationOutput + ToInstanceClientNodeConfigurationOutputWithContext(context.Context) InstanceClientNodeConfigurationOutput +} + +type InstanceClientNodeConfigurationArgs struct { + // Number of disks in the Elasticsearch cluster coordination node + Amount pulumi.IntPtrInput `pulumi:"amount"` + // Elasticsearch cluster coordinates node disk size + Disk pulumi.IntPtrInput `pulumi:"disk"` + // Elasticsearch cluster coordination node disk type + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Elasticsearch cluster coordination node specification + Spec pulumi.StringPtrInput `pulumi:"spec"` +} + +func (InstanceClientNodeConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceClientNodeConfiguration)(nil)).Elem() +} + +func (i InstanceClientNodeConfigurationArgs) ToInstanceClientNodeConfigurationOutput() InstanceClientNodeConfigurationOutput { + return i.ToInstanceClientNodeConfigurationOutputWithContext(context.Background()) +} + +func (i InstanceClientNodeConfigurationArgs) ToInstanceClientNodeConfigurationOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceClientNodeConfigurationOutput) +} + +func (i InstanceClientNodeConfigurationArgs) ToInstanceClientNodeConfigurationPtrOutput() InstanceClientNodeConfigurationPtrOutput { + return i.ToInstanceClientNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i InstanceClientNodeConfigurationArgs) ToInstanceClientNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceClientNodeConfigurationOutput).ToInstanceClientNodeConfigurationPtrOutputWithContext(ctx) +} + +// InstanceClientNodeConfigurationPtrInput is an input type that accepts InstanceClientNodeConfigurationArgs, InstanceClientNodeConfigurationPtr and InstanceClientNodeConfigurationPtrOutput values. +// You can construct a concrete instance of `InstanceClientNodeConfigurationPtrInput` via: +// +// InstanceClientNodeConfigurationArgs{...} +// +// or: +// +// nil +type InstanceClientNodeConfigurationPtrInput interface { + pulumi.Input + + ToInstanceClientNodeConfigurationPtrOutput() InstanceClientNodeConfigurationPtrOutput + ToInstanceClientNodeConfigurationPtrOutputWithContext(context.Context) InstanceClientNodeConfigurationPtrOutput +} + +type instanceClientNodeConfigurationPtrType InstanceClientNodeConfigurationArgs + +func InstanceClientNodeConfigurationPtr(v *InstanceClientNodeConfigurationArgs) InstanceClientNodeConfigurationPtrInput { + return (*instanceClientNodeConfigurationPtrType)(v) +} + +func (*instanceClientNodeConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceClientNodeConfiguration)(nil)).Elem() +} + +func (i *instanceClientNodeConfigurationPtrType) ToInstanceClientNodeConfigurationPtrOutput() InstanceClientNodeConfigurationPtrOutput { + return i.ToInstanceClientNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *instanceClientNodeConfigurationPtrType) ToInstanceClientNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceClientNodeConfigurationPtrOutput) +} + +type InstanceClientNodeConfigurationOutput struct{ *pulumi.OutputState } + +func (InstanceClientNodeConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceClientNodeConfiguration)(nil)).Elem() +} + +func (o InstanceClientNodeConfigurationOutput) ToInstanceClientNodeConfigurationOutput() InstanceClientNodeConfigurationOutput { + return o +} + +func (o InstanceClientNodeConfigurationOutput) ToInstanceClientNodeConfigurationOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationOutput { + return o +} + +func (o InstanceClientNodeConfigurationOutput) ToInstanceClientNodeConfigurationPtrOutput() InstanceClientNodeConfigurationPtrOutput { + return o.ToInstanceClientNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (o InstanceClientNodeConfigurationOutput) ToInstanceClientNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceClientNodeConfiguration) *InstanceClientNodeConfiguration { + return &v + }).(InstanceClientNodeConfigurationPtrOutput) +} + +// Number of disks in the Elasticsearch cluster coordination node +func (o InstanceClientNodeConfigurationOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceClientNodeConfiguration) *int { return v.Amount }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster coordinates node disk size +func (o InstanceClientNodeConfigurationOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceClientNodeConfiguration) *int { return v.Disk }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster coordination node disk type +func (o InstanceClientNodeConfigurationOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceClientNodeConfiguration) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster coordination node specification +func (o InstanceClientNodeConfigurationOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceClientNodeConfiguration) *string { return v.Spec }).(pulumi.StringPtrOutput) +} + +type InstanceClientNodeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (InstanceClientNodeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceClientNodeConfiguration)(nil)).Elem() +} + +func (o InstanceClientNodeConfigurationPtrOutput) ToInstanceClientNodeConfigurationPtrOutput() InstanceClientNodeConfigurationPtrOutput { + return o +} + +func (o InstanceClientNodeConfigurationPtrOutput) ToInstanceClientNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceClientNodeConfigurationPtrOutput { + return o +} + +func (o InstanceClientNodeConfigurationPtrOutput) Elem() InstanceClientNodeConfigurationOutput { + return o.ApplyT(func(v *InstanceClientNodeConfiguration) InstanceClientNodeConfiguration { + if v != nil { + return *v + } + var ret InstanceClientNodeConfiguration + return ret + }).(InstanceClientNodeConfigurationOutput) +} + +// Number of disks in the Elasticsearch cluster coordination node +func (o InstanceClientNodeConfigurationPtrOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceClientNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Amount + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster coordinates node disk size +func (o InstanceClientNodeConfigurationPtrOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceClientNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Disk + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster coordination node disk type +func (o InstanceClientNodeConfigurationPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceClientNodeConfiguration) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster coordination node specification +func (o InstanceClientNodeConfigurationPtrOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceClientNodeConfiguration) *string { + if v == nil { + return nil + } + return v.Spec + }).(pulumi.StringPtrOutput) +} + +type InstanceDataNodeConfiguration struct { + // Number of data nodes in the Elasticsearch cluster + Amount *int `pulumi:"amount"` + // Elasticsearch data node disk size + Disk *int `pulumi:"disk"` + // Whether the Elasticsearch data node disk is encrypted + DiskEncryption *bool `pulumi:"diskEncryption"` + // Elasticsearch cluster data node disk type + DiskType *string `pulumi:"diskType"` + // Elasticsearch cluster data node Essd disk level + PerformanceLevel *string `pulumi:"performanceLevel"` + // Elasticsearch data node specification + Spec string `pulumi:"spec"` +} + +// InstanceDataNodeConfigurationInput is an input type that accepts InstanceDataNodeConfigurationArgs and InstanceDataNodeConfigurationOutput values. +// You can construct a concrete instance of `InstanceDataNodeConfigurationInput` via: +// +// InstanceDataNodeConfigurationArgs{...} +type InstanceDataNodeConfigurationInput interface { + pulumi.Input + + ToInstanceDataNodeConfigurationOutput() InstanceDataNodeConfigurationOutput + ToInstanceDataNodeConfigurationOutputWithContext(context.Context) InstanceDataNodeConfigurationOutput +} + +type InstanceDataNodeConfigurationArgs struct { + // Number of data nodes in the Elasticsearch cluster + Amount pulumi.IntPtrInput `pulumi:"amount"` + // Elasticsearch data node disk size + Disk pulumi.IntPtrInput `pulumi:"disk"` + // Whether the Elasticsearch data node disk is encrypted + DiskEncryption pulumi.BoolPtrInput `pulumi:"diskEncryption"` + // Elasticsearch cluster data node disk type + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Elasticsearch cluster data node Essd disk level + PerformanceLevel pulumi.StringPtrInput `pulumi:"performanceLevel"` + // Elasticsearch data node specification + Spec pulumi.StringInput `pulumi:"spec"` +} + +func (InstanceDataNodeConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceDataNodeConfiguration)(nil)).Elem() +} + +func (i InstanceDataNodeConfigurationArgs) ToInstanceDataNodeConfigurationOutput() InstanceDataNodeConfigurationOutput { + return i.ToInstanceDataNodeConfigurationOutputWithContext(context.Background()) +} + +func (i InstanceDataNodeConfigurationArgs) ToInstanceDataNodeConfigurationOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceDataNodeConfigurationOutput) +} + +func (i InstanceDataNodeConfigurationArgs) ToInstanceDataNodeConfigurationPtrOutput() InstanceDataNodeConfigurationPtrOutput { + return i.ToInstanceDataNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i InstanceDataNodeConfigurationArgs) ToInstanceDataNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceDataNodeConfigurationOutput).ToInstanceDataNodeConfigurationPtrOutputWithContext(ctx) +} + +// InstanceDataNodeConfigurationPtrInput is an input type that accepts InstanceDataNodeConfigurationArgs, InstanceDataNodeConfigurationPtr and InstanceDataNodeConfigurationPtrOutput values. +// You can construct a concrete instance of `InstanceDataNodeConfigurationPtrInput` via: +// +// InstanceDataNodeConfigurationArgs{...} +// +// or: +// +// nil +type InstanceDataNodeConfigurationPtrInput interface { + pulumi.Input + + ToInstanceDataNodeConfigurationPtrOutput() InstanceDataNodeConfigurationPtrOutput + ToInstanceDataNodeConfigurationPtrOutputWithContext(context.Context) InstanceDataNodeConfigurationPtrOutput +} + +type instanceDataNodeConfigurationPtrType InstanceDataNodeConfigurationArgs + +func InstanceDataNodeConfigurationPtr(v *InstanceDataNodeConfigurationArgs) InstanceDataNodeConfigurationPtrInput { + return (*instanceDataNodeConfigurationPtrType)(v) +} + +func (*instanceDataNodeConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceDataNodeConfiguration)(nil)).Elem() +} + +func (i *instanceDataNodeConfigurationPtrType) ToInstanceDataNodeConfigurationPtrOutput() InstanceDataNodeConfigurationPtrOutput { + return i.ToInstanceDataNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *instanceDataNodeConfigurationPtrType) ToInstanceDataNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceDataNodeConfigurationPtrOutput) +} + +type InstanceDataNodeConfigurationOutput struct{ *pulumi.OutputState } + +func (InstanceDataNodeConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceDataNodeConfiguration)(nil)).Elem() +} + +func (o InstanceDataNodeConfigurationOutput) ToInstanceDataNodeConfigurationOutput() InstanceDataNodeConfigurationOutput { + return o +} + +func (o InstanceDataNodeConfigurationOutput) ToInstanceDataNodeConfigurationOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationOutput { + return o +} + +func (o InstanceDataNodeConfigurationOutput) ToInstanceDataNodeConfigurationPtrOutput() InstanceDataNodeConfigurationPtrOutput { + return o.ToInstanceDataNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (o InstanceDataNodeConfigurationOutput) ToInstanceDataNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceDataNodeConfiguration) *InstanceDataNodeConfiguration { + return &v + }).(InstanceDataNodeConfigurationPtrOutput) +} + +// Number of data nodes in the Elasticsearch cluster +func (o InstanceDataNodeConfigurationOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) *int { return v.Amount }).(pulumi.IntPtrOutput) +} + +// Elasticsearch data node disk size +func (o InstanceDataNodeConfigurationOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) *int { return v.Disk }).(pulumi.IntPtrOutput) +} + +// Whether the Elasticsearch data node disk is encrypted +func (o InstanceDataNodeConfigurationOutput) DiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) *bool { return v.DiskEncryption }).(pulumi.BoolPtrOutput) +} + +// Elasticsearch cluster data node disk type +func (o InstanceDataNodeConfigurationOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster data node Essd disk level +func (o InstanceDataNodeConfigurationOutput) PerformanceLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) *string { return v.PerformanceLevel }).(pulumi.StringPtrOutput) +} + +// Elasticsearch data node specification +func (o InstanceDataNodeConfigurationOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v InstanceDataNodeConfiguration) string { return v.Spec }).(pulumi.StringOutput) +} + +type InstanceDataNodeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (InstanceDataNodeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceDataNodeConfiguration)(nil)).Elem() +} + +func (o InstanceDataNodeConfigurationPtrOutput) ToInstanceDataNodeConfigurationPtrOutput() InstanceDataNodeConfigurationPtrOutput { + return o +} + +func (o InstanceDataNodeConfigurationPtrOutput) ToInstanceDataNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceDataNodeConfigurationPtrOutput { + return o +} + +func (o InstanceDataNodeConfigurationPtrOutput) Elem() InstanceDataNodeConfigurationOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) InstanceDataNodeConfiguration { + if v != nil { + return *v + } + var ret InstanceDataNodeConfiguration + return ret + }).(InstanceDataNodeConfigurationOutput) +} + +// Number of data nodes in the Elasticsearch cluster +func (o InstanceDataNodeConfigurationPtrOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Amount + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch data node disk size +func (o InstanceDataNodeConfigurationPtrOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Disk + }).(pulumi.IntPtrOutput) +} + +// Whether the Elasticsearch data node disk is encrypted +func (o InstanceDataNodeConfigurationPtrOutput) DiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *bool { + if v == nil { + return nil + } + return v.DiskEncryption + }).(pulumi.BoolPtrOutput) +} + +// Elasticsearch cluster data node disk type +func (o InstanceDataNodeConfigurationPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster data node Essd disk level +func (o InstanceDataNodeConfigurationPtrOutput) PerformanceLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *string { + if v == nil { + return nil + } + return v.PerformanceLevel + }).(pulumi.StringPtrOutput) +} + +// Elasticsearch data node specification +func (o InstanceDataNodeConfigurationPtrOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceDataNodeConfiguration) *string { + if v == nil { + return nil + } + return &v.Spec + }).(pulumi.StringPtrOutput) +} + +type InstanceKibanaConfiguration struct { + // The number of disks of the Elasticsearch Kibana node. The default value is 1. + Amount *int `pulumi:"amount"` + // Elasticsearch Kibana node disk size + Disk *int `pulumi:"disk"` + // Elasticsearch Kibana node disk specifications + Spec string `pulumi:"spec"` +} + +// InstanceKibanaConfigurationInput is an input type that accepts InstanceKibanaConfigurationArgs and InstanceKibanaConfigurationOutput values. +// You can construct a concrete instance of `InstanceKibanaConfigurationInput` via: +// +// InstanceKibanaConfigurationArgs{...} +type InstanceKibanaConfigurationInput interface { + pulumi.Input + + ToInstanceKibanaConfigurationOutput() InstanceKibanaConfigurationOutput + ToInstanceKibanaConfigurationOutputWithContext(context.Context) InstanceKibanaConfigurationOutput +} + +type InstanceKibanaConfigurationArgs struct { + // The number of disks of the Elasticsearch Kibana node. The default value is 1. + Amount pulumi.IntPtrInput `pulumi:"amount"` + // Elasticsearch Kibana node disk size + Disk pulumi.IntPtrInput `pulumi:"disk"` + // Elasticsearch Kibana node disk specifications + Spec pulumi.StringInput `pulumi:"spec"` +} + +func (InstanceKibanaConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceKibanaConfiguration)(nil)).Elem() +} + +func (i InstanceKibanaConfigurationArgs) ToInstanceKibanaConfigurationOutput() InstanceKibanaConfigurationOutput { + return i.ToInstanceKibanaConfigurationOutputWithContext(context.Background()) +} + +func (i InstanceKibanaConfigurationArgs) ToInstanceKibanaConfigurationOutputWithContext(ctx context.Context) InstanceKibanaConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceKibanaConfigurationOutput) +} + +func (i InstanceKibanaConfigurationArgs) ToInstanceKibanaConfigurationPtrOutput() InstanceKibanaConfigurationPtrOutput { + return i.ToInstanceKibanaConfigurationPtrOutputWithContext(context.Background()) +} + +func (i InstanceKibanaConfigurationArgs) ToInstanceKibanaConfigurationPtrOutputWithContext(ctx context.Context) InstanceKibanaConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceKibanaConfigurationOutput).ToInstanceKibanaConfigurationPtrOutputWithContext(ctx) +} + +// InstanceKibanaConfigurationPtrInput is an input type that accepts InstanceKibanaConfigurationArgs, InstanceKibanaConfigurationPtr and InstanceKibanaConfigurationPtrOutput values. +// You can construct a concrete instance of `InstanceKibanaConfigurationPtrInput` via: +// +// InstanceKibanaConfigurationArgs{...} +// +// or: +// +// nil +type InstanceKibanaConfigurationPtrInput interface { + pulumi.Input + + ToInstanceKibanaConfigurationPtrOutput() InstanceKibanaConfigurationPtrOutput + ToInstanceKibanaConfigurationPtrOutputWithContext(context.Context) InstanceKibanaConfigurationPtrOutput +} + +type instanceKibanaConfigurationPtrType InstanceKibanaConfigurationArgs + +func InstanceKibanaConfigurationPtr(v *InstanceKibanaConfigurationArgs) InstanceKibanaConfigurationPtrInput { + return (*instanceKibanaConfigurationPtrType)(v) +} + +func (*instanceKibanaConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceKibanaConfiguration)(nil)).Elem() +} + +func (i *instanceKibanaConfigurationPtrType) ToInstanceKibanaConfigurationPtrOutput() InstanceKibanaConfigurationPtrOutput { + return i.ToInstanceKibanaConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *instanceKibanaConfigurationPtrType) ToInstanceKibanaConfigurationPtrOutputWithContext(ctx context.Context) InstanceKibanaConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceKibanaConfigurationPtrOutput) +} + +type InstanceKibanaConfigurationOutput struct{ *pulumi.OutputState } + +func (InstanceKibanaConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceKibanaConfiguration)(nil)).Elem() +} + +func (o InstanceKibanaConfigurationOutput) ToInstanceKibanaConfigurationOutput() InstanceKibanaConfigurationOutput { + return o +} + +func (o InstanceKibanaConfigurationOutput) ToInstanceKibanaConfigurationOutputWithContext(ctx context.Context) InstanceKibanaConfigurationOutput { + return o +} + +func (o InstanceKibanaConfigurationOutput) ToInstanceKibanaConfigurationPtrOutput() InstanceKibanaConfigurationPtrOutput { + return o.ToInstanceKibanaConfigurationPtrOutputWithContext(context.Background()) +} + +func (o InstanceKibanaConfigurationOutput) ToInstanceKibanaConfigurationPtrOutputWithContext(ctx context.Context) InstanceKibanaConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceKibanaConfiguration) *InstanceKibanaConfiguration { + return &v + }).(InstanceKibanaConfigurationPtrOutput) +} + +// The number of disks of the Elasticsearch Kibana node. The default value is 1. +func (o InstanceKibanaConfigurationOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceKibanaConfiguration) *int { return v.Amount }).(pulumi.IntPtrOutput) +} + +// Elasticsearch Kibana node disk size +func (o InstanceKibanaConfigurationOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceKibanaConfiguration) *int { return v.Disk }).(pulumi.IntPtrOutput) +} + +// Elasticsearch Kibana node disk specifications +func (o InstanceKibanaConfigurationOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v InstanceKibanaConfiguration) string { return v.Spec }).(pulumi.StringOutput) +} + +type InstanceKibanaConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (InstanceKibanaConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceKibanaConfiguration)(nil)).Elem() +} + +func (o InstanceKibanaConfigurationPtrOutput) ToInstanceKibanaConfigurationPtrOutput() InstanceKibanaConfigurationPtrOutput { + return o +} + +func (o InstanceKibanaConfigurationPtrOutput) ToInstanceKibanaConfigurationPtrOutputWithContext(ctx context.Context) InstanceKibanaConfigurationPtrOutput { + return o +} + +func (o InstanceKibanaConfigurationPtrOutput) Elem() InstanceKibanaConfigurationOutput { + return o.ApplyT(func(v *InstanceKibanaConfiguration) InstanceKibanaConfiguration { + if v != nil { + return *v + } + var ret InstanceKibanaConfiguration + return ret + }).(InstanceKibanaConfigurationOutput) +} + +// The number of disks of the Elasticsearch Kibana node. The default value is 1. +func (o InstanceKibanaConfigurationPtrOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceKibanaConfiguration) *int { + if v == nil { + return nil + } + return v.Amount + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch Kibana node disk size +func (o InstanceKibanaConfigurationPtrOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceKibanaConfiguration) *int { + if v == nil { + return nil + } + return v.Disk + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch Kibana node disk specifications +func (o InstanceKibanaConfigurationPtrOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceKibanaConfiguration) *string { + if v == nil { + return nil + } + return &v.Spec + }).(pulumi.StringPtrOutput) +} + +type InstanceMasterConfiguration struct { + // Elasticsearch proprietary master node number of disks + Amount *int `pulumi:"amount"` + // Elasticsearch proprietary master node disk size + Disk *int `pulumi:"disk"` + // Elasticsearch proprietary master node disk type + DiskType *string `pulumi:"diskType"` + // Elasticsearch proprietary master node specifications + Spec *string `pulumi:"spec"` +} + +// InstanceMasterConfigurationInput is an input type that accepts InstanceMasterConfigurationArgs and InstanceMasterConfigurationOutput values. +// You can construct a concrete instance of `InstanceMasterConfigurationInput` via: +// +// InstanceMasterConfigurationArgs{...} +type InstanceMasterConfigurationInput interface { + pulumi.Input + + ToInstanceMasterConfigurationOutput() InstanceMasterConfigurationOutput + ToInstanceMasterConfigurationOutputWithContext(context.Context) InstanceMasterConfigurationOutput +} + +type InstanceMasterConfigurationArgs struct { + // Elasticsearch proprietary master node number of disks + Amount pulumi.IntPtrInput `pulumi:"amount"` + // Elasticsearch proprietary master node disk size + Disk pulumi.IntPtrInput `pulumi:"disk"` + // Elasticsearch proprietary master node disk type + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Elasticsearch proprietary master node specifications + Spec pulumi.StringPtrInput `pulumi:"spec"` +} + +func (InstanceMasterConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMasterConfiguration)(nil)).Elem() +} + +func (i InstanceMasterConfigurationArgs) ToInstanceMasterConfigurationOutput() InstanceMasterConfigurationOutput { + return i.ToInstanceMasterConfigurationOutputWithContext(context.Background()) +} + +func (i InstanceMasterConfigurationArgs) ToInstanceMasterConfigurationOutputWithContext(ctx context.Context) InstanceMasterConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMasterConfigurationOutput) +} + +func (i InstanceMasterConfigurationArgs) ToInstanceMasterConfigurationPtrOutput() InstanceMasterConfigurationPtrOutput { + return i.ToInstanceMasterConfigurationPtrOutputWithContext(context.Background()) +} + +func (i InstanceMasterConfigurationArgs) ToInstanceMasterConfigurationPtrOutputWithContext(ctx context.Context) InstanceMasterConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMasterConfigurationOutput).ToInstanceMasterConfigurationPtrOutputWithContext(ctx) +} + +// InstanceMasterConfigurationPtrInput is an input type that accepts InstanceMasterConfigurationArgs, InstanceMasterConfigurationPtr and InstanceMasterConfigurationPtrOutput values. +// You can construct a concrete instance of `InstanceMasterConfigurationPtrInput` via: +// +// InstanceMasterConfigurationArgs{...} +// +// or: +// +// nil +type InstanceMasterConfigurationPtrInput interface { + pulumi.Input + + ToInstanceMasterConfigurationPtrOutput() InstanceMasterConfigurationPtrOutput + ToInstanceMasterConfigurationPtrOutputWithContext(context.Context) InstanceMasterConfigurationPtrOutput +} + +type instanceMasterConfigurationPtrType InstanceMasterConfigurationArgs + +func InstanceMasterConfigurationPtr(v *InstanceMasterConfigurationArgs) InstanceMasterConfigurationPtrInput { + return (*instanceMasterConfigurationPtrType)(v) +} + +func (*instanceMasterConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMasterConfiguration)(nil)).Elem() +} + +func (i *instanceMasterConfigurationPtrType) ToInstanceMasterConfigurationPtrOutput() InstanceMasterConfigurationPtrOutput { + return i.ToInstanceMasterConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *instanceMasterConfigurationPtrType) ToInstanceMasterConfigurationPtrOutputWithContext(ctx context.Context) InstanceMasterConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMasterConfigurationPtrOutput) +} + +type InstanceMasterConfigurationOutput struct{ *pulumi.OutputState } + +func (InstanceMasterConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMasterConfiguration)(nil)).Elem() +} + +func (o InstanceMasterConfigurationOutput) ToInstanceMasterConfigurationOutput() InstanceMasterConfigurationOutput { + return o +} + +func (o InstanceMasterConfigurationOutput) ToInstanceMasterConfigurationOutputWithContext(ctx context.Context) InstanceMasterConfigurationOutput { + return o +} + +func (o InstanceMasterConfigurationOutput) ToInstanceMasterConfigurationPtrOutput() InstanceMasterConfigurationPtrOutput { + return o.ToInstanceMasterConfigurationPtrOutputWithContext(context.Background()) +} + +func (o InstanceMasterConfigurationOutput) ToInstanceMasterConfigurationPtrOutputWithContext(ctx context.Context) InstanceMasterConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceMasterConfiguration) *InstanceMasterConfiguration { + return &v + }).(InstanceMasterConfigurationPtrOutput) +} + +// Elasticsearch proprietary master node number of disks +func (o InstanceMasterConfigurationOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceMasterConfiguration) *int { return v.Amount }).(pulumi.IntPtrOutput) +} + +// Elasticsearch proprietary master node disk size +func (o InstanceMasterConfigurationOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceMasterConfiguration) *int { return v.Disk }).(pulumi.IntPtrOutput) +} + +// Elasticsearch proprietary master node disk type +func (o InstanceMasterConfigurationOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMasterConfiguration) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Elasticsearch proprietary master node specifications +func (o InstanceMasterConfigurationOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMasterConfiguration) *string { return v.Spec }).(pulumi.StringPtrOutput) +} + +type InstanceMasterConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (InstanceMasterConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMasterConfiguration)(nil)).Elem() +} + +func (o InstanceMasterConfigurationPtrOutput) ToInstanceMasterConfigurationPtrOutput() InstanceMasterConfigurationPtrOutput { + return o +} + +func (o InstanceMasterConfigurationPtrOutput) ToInstanceMasterConfigurationPtrOutputWithContext(ctx context.Context) InstanceMasterConfigurationPtrOutput { + return o +} + +func (o InstanceMasterConfigurationPtrOutput) Elem() InstanceMasterConfigurationOutput { + return o.ApplyT(func(v *InstanceMasterConfiguration) InstanceMasterConfiguration { + if v != nil { + return *v + } + var ret InstanceMasterConfiguration + return ret + }).(InstanceMasterConfigurationOutput) +} + +// Elasticsearch proprietary master node number of disks +func (o InstanceMasterConfigurationPtrOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceMasterConfiguration) *int { + if v == nil { + return nil + } + return v.Amount + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch proprietary master node disk size +func (o InstanceMasterConfigurationPtrOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceMasterConfiguration) *int { + if v == nil { + return nil + } + return v.Disk + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch proprietary master node disk type +func (o InstanceMasterConfigurationPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMasterConfiguration) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// Elasticsearch proprietary master node specifications +func (o InstanceMasterConfigurationPtrOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMasterConfiguration) *string { + if v == nil { + return nil + } + return v.Spec + }).(pulumi.StringPtrOutput) +} + +type InstanceWarmNodeConfiguration struct { + // Elasticsearch cluster cold data node disk number + Amount *int `pulumi:"amount"` + // Elasticsearch cluster cold data node disk size + Disk *int `pulumi:"disk"` + // Elasticsearch cluster cold data node Disk encryption + DiskEncryption *bool `pulumi:"diskEncryption"` + // Elasticsearch cluster cold data node disk type + DiskType *string `pulumi:"diskType"` + // Elasticsearch cluster cold data node Disk Specification + Spec *string `pulumi:"spec"` +} + +// InstanceWarmNodeConfigurationInput is an input type that accepts InstanceWarmNodeConfigurationArgs and InstanceWarmNodeConfigurationOutput values. +// You can construct a concrete instance of `InstanceWarmNodeConfigurationInput` via: +// +// InstanceWarmNodeConfigurationArgs{...} +type InstanceWarmNodeConfigurationInput interface { + pulumi.Input + + ToInstanceWarmNodeConfigurationOutput() InstanceWarmNodeConfigurationOutput + ToInstanceWarmNodeConfigurationOutputWithContext(context.Context) InstanceWarmNodeConfigurationOutput +} + +type InstanceWarmNodeConfigurationArgs struct { + // Elasticsearch cluster cold data node disk number + Amount pulumi.IntPtrInput `pulumi:"amount"` + // Elasticsearch cluster cold data node disk size + Disk pulumi.IntPtrInput `pulumi:"disk"` + // Elasticsearch cluster cold data node Disk encryption + DiskEncryption pulumi.BoolPtrInput `pulumi:"diskEncryption"` + // Elasticsearch cluster cold data node disk type + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Elasticsearch cluster cold data node Disk Specification + Spec pulumi.StringPtrInput `pulumi:"spec"` +} + +func (InstanceWarmNodeConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceWarmNodeConfiguration)(nil)).Elem() +} + +func (i InstanceWarmNodeConfigurationArgs) ToInstanceWarmNodeConfigurationOutput() InstanceWarmNodeConfigurationOutput { + return i.ToInstanceWarmNodeConfigurationOutputWithContext(context.Background()) +} + +func (i InstanceWarmNodeConfigurationArgs) ToInstanceWarmNodeConfigurationOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceWarmNodeConfigurationOutput) +} + +func (i InstanceWarmNodeConfigurationArgs) ToInstanceWarmNodeConfigurationPtrOutput() InstanceWarmNodeConfigurationPtrOutput { + return i.ToInstanceWarmNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i InstanceWarmNodeConfigurationArgs) ToInstanceWarmNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceWarmNodeConfigurationOutput).ToInstanceWarmNodeConfigurationPtrOutputWithContext(ctx) +} + +// InstanceWarmNodeConfigurationPtrInput is an input type that accepts InstanceWarmNodeConfigurationArgs, InstanceWarmNodeConfigurationPtr and InstanceWarmNodeConfigurationPtrOutput values. +// You can construct a concrete instance of `InstanceWarmNodeConfigurationPtrInput` via: +// +// InstanceWarmNodeConfigurationArgs{...} +// +// or: +// +// nil +type InstanceWarmNodeConfigurationPtrInput interface { + pulumi.Input + + ToInstanceWarmNodeConfigurationPtrOutput() InstanceWarmNodeConfigurationPtrOutput + ToInstanceWarmNodeConfigurationPtrOutputWithContext(context.Context) InstanceWarmNodeConfigurationPtrOutput +} + +type instanceWarmNodeConfigurationPtrType InstanceWarmNodeConfigurationArgs + +func InstanceWarmNodeConfigurationPtr(v *InstanceWarmNodeConfigurationArgs) InstanceWarmNodeConfigurationPtrInput { + return (*instanceWarmNodeConfigurationPtrType)(v) +} + +func (*instanceWarmNodeConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceWarmNodeConfiguration)(nil)).Elem() +} + +func (i *instanceWarmNodeConfigurationPtrType) ToInstanceWarmNodeConfigurationPtrOutput() InstanceWarmNodeConfigurationPtrOutput { + return i.ToInstanceWarmNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *instanceWarmNodeConfigurationPtrType) ToInstanceWarmNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceWarmNodeConfigurationPtrOutput) +} + +type InstanceWarmNodeConfigurationOutput struct{ *pulumi.OutputState } + +func (InstanceWarmNodeConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceWarmNodeConfiguration)(nil)).Elem() +} + +func (o InstanceWarmNodeConfigurationOutput) ToInstanceWarmNodeConfigurationOutput() InstanceWarmNodeConfigurationOutput { + return o +} + +func (o InstanceWarmNodeConfigurationOutput) ToInstanceWarmNodeConfigurationOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationOutput { + return o +} + +func (o InstanceWarmNodeConfigurationOutput) ToInstanceWarmNodeConfigurationPtrOutput() InstanceWarmNodeConfigurationPtrOutput { + return o.ToInstanceWarmNodeConfigurationPtrOutputWithContext(context.Background()) +} + +func (o InstanceWarmNodeConfigurationOutput) ToInstanceWarmNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceWarmNodeConfiguration) *InstanceWarmNodeConfiguration { + return &v + }).(InstanceWarmNodeConfigurationPtrOutput) +} + +// Elasticsearch cluster cold data node disk number +func (o InstanceWarmNodeConfigurationOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceWarmNodeConfiguration) *int { return v.Amount }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster cold data node disk size +func (o InstanceWarmNodeConfigurationOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceWarmNodeConfiguration) *int { return v.Disk }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster cold data node Disk encryption +func (o InstanceWarmNodeConfigurationOutput) DiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceWarmNodeConfiguration) *bool { return v.DiskEncryption }).(pulumi.BoolPtrOutput) +} + +// Elasticsearch cluster cold data node disk type +func (o InstanceWarmNodeConfigurationOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceWarmNodeConfiguration) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster cold data node Disk Specification +func (o InstanceWarmNodeConfigurationOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceWarmNodeConfiguration) *string { return v.Spec }).(pulumi.StringPtrOutput) +} + +type InstanceWarmNodeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (InstanceWarmNodeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceWarmNodeConfiguration)(nil)).Elem() +} + +func (o InstanceWarmNodeConfigurationPtrOutput) ToInstanceWarmNodeConfigurationPtrOutput() InstanceWarmNodeConfigurationPtrOutput { + return o +} + +func (o InstanceWarmNodeConfigurationPtrOutput) ToInstanceWarmNodeConfigurationPtrOutputWithContext(ctx context.Context) InstanceWarmNodeConfigurationPtrOutput { + return o +} + +func (o InstanceWarmNodeConfigurationPtrOutput) Elem() InstanceWarmNodeConfigurationOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) InstanceWarmNodeConfiguration { + if v != nil { + return *v + } + var ret InstanceWarmNodeConfiguration + return ret + }).(InstanceWarmNodeConfigurationOutput) +} + +// Elasticsearch cluster cold data node disk number +func (o InstanceWarmNodeConfigurationPtrOutput) Amount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Amount + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster cold data node disk size +func (o InstanceWarmNodeConfigurationPtrOutput) Disk() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) *int { + if v == nil { + return nil + } + return v.Disk + }).(pulumi.IntPtrOutput) +} + +// Elasticsearch cluster cold data node Disk encryption +func (o InstanceWarmNodeConfigurationPtrOutput) DiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) *bool { + if v == nil { + return nil + } + return v.DiskEncryption + }).(pulumi.BoolPtrOutput) +} + +// Elasticsearch cluster cold data node disk type +func (o InstanceWarmNodeConfigurationPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +// Elasticsearch cluster cold data node Disk Specification +func (o InstanceWarmNodeConfigurationPtrOutput) Spec() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceWarmNodeConfiguration) *string { + if v == nil { + return nil + } + return v.Spec + }).(pulumi.StringPtrOutput) +} + type GetInstancesInstance struct { CreatedAt string `pulumi:"createdAt"` DataNodeAmount int `pulumi:"dataNodeAmount"` @@ -286,10 +1294,30 @@ func (o GetZonesZoneArrayOutput) Index(i pulumi.IntInput) GetZonesZoneOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceClientNodeConfigurationInput)(nil)).Elem(), InstanceClientNodeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceClientNodeConfigurationPtrInput)(nil)).Elem(), InstanceClientNodeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceDataNodeConfigurationInput)(nil)).Elem(), InstanceDataNodeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceDataNodeConfigurationPtrInput)(nil)).Elem(), InstanceDataNodeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceKibanaConfigurationInput)(nil)).Elem(), InstanceKibanaConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceKibanaConfigurationPtrInput)(nil)).Elem(), InstanceKibanaConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceMasterConfigurationInput)(nil)).Elem(), InstanceMasterConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceMasterConfigurationPtrInput)(nil)).Elem(), InstanceMasterConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceWarmNodeConfigurationInput)(nil)).Elem(), InstanceWarmNodeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceWarmNodeConfigurationPtrInput)(nil)).Elem(), InstanceWarmNodeConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceInput)(nil)).Elem(), GetInstancesInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceArrayInput)(nil)).Elem(), GetInstancesInstanceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetZonesZoneInput)(nil)).Elem(), GetZonesZoneArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetZonesZoneArrayInput)(nil)).Elem(), GetZonesZoneArray{}) + pulumi.RegisterOutputType(InstanceClientNodeConfigurationOutput{}) + pulumi.RegisterOutputType(InstanceClientNodeConfigurationPtrOutput{}) + pulumi.RegisterOutputType(InstanceDataNodeConfigurationOutput{}) + pulumi.RegisterOutputType(InstanceDataNodeConfigurationPtrOutput{}) + pulumi.RegisterOutputType(InstanceKibanaConfigurationOutput{}) + pulumi.RegisterOutputType(InstanceKibanaConfigurationPtrOutput{}) + pulumi.RegisterOutputType(InstanceMasterConfigurationOutput{}) + pulumi.RegisterOutputType(InstanceMasterConfigurationPtrOutput{}) + pulumi.RegisterOutputType(InstanceWarmNodeConfigurationOutput{}) + pulumi.RegisterOutputType(InstanceWarmNodeConfigurationPtrOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceArrayOutput{}) pulumi.RegisterOutputType(GetZonesZoneOutput{}) diff --git a/sdk/go/alicloud/emr/cluster.go b/sdk/go/alicloud/emr/cluster.go index 43e032b75f..22e06b1743 100644 --- a/sdk/go/alicloud/emr/cluster.go +++ b/sdk/go/alicloud/emr/cluster.go @@ -1051,6 +1051,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/go/alicloud/emrv2/cluster.go b/sdk/go/alicloud/emrv2/cluster.go index cbdab2ae8b..6e9d2e9181 100644 --- a/sdk/go/alicloud/emrv2/cluster.go +++ b/sdk/go/alicloud/emrv2/cluster.go @@ -226,6 +226,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/go/alicloud/ens/disk.go b/sdk/go/alicloud/ens/disk.go index 59c3cfa3c7..1b7ea6e137 100644 --- a/sdk/go/alicloud/ens/disk.go +++ b/sdk/go/alicloud/ens/disk.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Disk can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/diskInstanceAttachment.go b/sdk/go/alicloud/ens/diskInstanceAttachment.go index 78ea620fe3..fe1caee9b8 100644 --- a/sdk/go/alicloud/ens/diskInstanceAttachment.go +++ b/sdk/go/alicloud/ens/diskInstanceAttachment.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Disk Instance Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/eip.go b/sdk/go/alicloud/ens/eip.go index 0ecfd334c9..51d4c0f1a1 100644 --- a/sdk/go/alicloud/ens/eip.go +++ b/sdk/go/alicloud/ens/eip.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Eip can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/eipInstanceAttachment.go b/sdk/go/alicloud/ens/eipInstanceAttachment.go index 8ae5104401..d886555d03 100644 --- a/sdk/go/alicloud/ens/eipInstanceAttachment.go +++ b/sdk/go/alicloud/ens/eipInstanceAttachment.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ens Eip Instance Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/image.go b/sdk/go/alicloud/ens/image.go index 4677154cfa..c2f42ec492 100644 --- a/sdk/go/alicloud/ens/image.go +++ b/sdk/go/alicloud/ens/image.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Image can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/instanceSecurityGroupAttachment.go b/sdk/go/alicloud/ens/instanceSecurityGroupAttachment.go index 8dab35be13..ad9832b9f1 100644 --- a/sdk/go/alicloud/ens/instanceSecurityGroupAttachment.go +++ b/sdk/go/alicloud/ens/instanceSecurityGroupAttachment.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Instance Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/keyPair.go b/sdk/go/alicloud/ens/keyPair.go index d172f060ff..62994d5c8d 100644 --- a/sdk/go/alicloud/ens/keyPair.go +++ b/sdk/go/alicloud/ens/keyPair.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Key Pair can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/loadBalancer.go b/sdk/go/alicloud/ens/loadBalancer.go index 2160e6019d..d6af31873b 100644 --- a/sdk/go/alicloud/ens/loadBalancer.go +++ b/sdk/go/alicloud/ens/loadBalancer.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Load Balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/natGateway.go b/sdk/go/alicloud/ens/natGateway.go index 5a6e380d47..22ca832d96 100644 --- a/sdk/go/alicloud/ens/natGateway.go +++ b/sdk/go/alicloud/ens/natGateway.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Nat Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/network.go b/sdk/go/alicloud/ens/network.go index eec499ff3b..de7006b2f9 100644 --- a/sdk/go/alicloud/ens/network.go +++ b/sdk/go/alicloud/ens/network.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Network can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/securityGroup.go b/sdk/go/alicloud/ens/securityGroup.go index 7e400cc388..1a8bed045e 100644 --- a/sdk/go/alicloud/ens/securityGroup.go +++ b/sdk/go/alicloud/ens/securityGroup.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Security Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/snapshot.go b/sdk/go/alicloud/ens/snapshot.go index 65b8a23bf8..09a0dbe0d5 100644 --- a/sdk/go/alicloud/ens/snapshot.go +++ b/sdk/go/alicloud/ens/snapshot.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ens/vswitch.go b/sdk/go/alicloud/ens/vswitch.go index dab690e290..aa45052750 100644 --- a/sdk/go/alicloud/ens/vswitch.go +++ b/sdk/go/alicloud/ens/vswitch.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENS Vswitch can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/cacheReserveInstance.go b/sdk/go/alicloud/esa/cacheReserveInstance.go index 9e5dc0d079..62a5635cf7 100644 --- a/sdk/go/alicloud/esa/cacheReserveInstance.go +++ b/sdk/go/alicloud/esa/cacheReserveInstance.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Cache Reserve Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/cacheRule.go b/sdk/go/alicloud/esa/cacheRule.go index 60fd9873aa..cbbd6dfe38 100644 --- a/sdk/go/alicloud/esa/cacheRule.go +++ b/sdk/go/alicloud/esa/cacheRule.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Cache Rule can be imported using the id, e.g. @@ -126,12 +128,12 @@ type CacheRule struct { RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrOutput `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntOutput `pulumi:"sequence"` // Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: ServeStale pulumi.StringPtrOutput `pulumi:"serveStale"` // The site ID, which can be obtained by calling the [ListSites] API. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` // Query string sorting, disabled by default. Possible values: @@ -217,12 +219,12 @@ type cacheRuleState struct { RuleEnable *string `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName *string `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: ServeStale *string `pulumi:"serveStale"` // The site ID, which can be obtained by calling the [ListSites] API. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // Query string sorting, disabled by default. Possible values: @@ -276,12 +278,12 @@ type CacheRuleState struct { RuleEnable pulumi.StringPtrInput // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrInput - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: ServeStale pulumi.StringPtrInput // The site ID, which can be obtained by calling the [ListSites] API. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // Query string sorting, disabled by default. Possible values: @@ -337,12 +339,12 @@ type cacheRuleArgs struct { RuleEnable *string `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName *string `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: ServeStale *string `pulumi:"serveStale"` // The site ID, which can be obtained by calling the [ListSites] API. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // Query string sorting, disabled by default. Possible values: @@ -395,12 +397,12 @@ type CacheRuleArgs struct { RuleEnable pulumi.StringPtrInput // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrInput - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: ServeStale pulumi.StringPtrInput // The site ID, which can be obtained by calling the [ListSites] API. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // Query string sorting, disabled by default. Possible values: @@ -597,7 +599,7 @@ func (o CacheRuleOutput) RuleName() pulumi.StringPtrOutput { return o.ApplyT(func(v *CacheRule) pulumi.StringPtrOutput { return v.RuleName }).(pulumi.StringPtrOutput) } -// Order of rule execution. The smaller the value, the higher the priority for execution. +// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. func (o CacheRuleOutput) Sequence() pulumi.IntOutput { return o.ApplyT(func(v *CacheRule) pulumi.IntOutput { return v.Sequence }).(pulumi.IntOutput) } @@ -608,8 +610,8 @@ func (o CacheRuleOutput) ServeStale() pulumi.StringPtrOutput { } // The site ID, which can be obtained by calling the [ListSites] API. -func (o CacheRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *CacheRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o CacheRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *CacheRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/certificate.go b/sdk/go/alicloud/esa/certificate.go index 2a688164ea..4a7e2615d2 100644 --- a/sdk/go/alicloud/esa/certificate.go +++ b/sdk/go/alicloud/esa/certificate.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/clientCaCertificate.go b/sdk/go/alicloud/esa/clientCaCertificate.go index 921ef570b7..b4ff39cf18 100644 --- a/sdk/go/alicloud/esa/clientCaCertificate.go +++ b/sdk/go/alicloud/esa/clientCaCertificate.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Client Ca Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/clientCertificate.go b/sdk/go/alicloud/esa/clientCertificate.go index 1714eae44e..69b16ab199 100644 --- a/sdk/go/alicloud/esa/clientCertificate.go +++ b/sdk/go/alicloud/esa/clientCertificate.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Client Certificate can be imported using the id, e.g. @@ -70,14 +72,20 @@ type ClientCertificate struct { // The time when the certificate was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Certificate signing request content. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Csr pulumi.StringPtrOutput `pulumi:"csr"` // The private key algorithm type. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PkeyType pulumi.StringPtrOutput `pulumi:"pkeyType"` // Site Id - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The certificate status. Valid values: `revoked`, `active`. Status pulumi.StringOutput `pulumi:"status"` // Certificate validity period. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ValidityDays pulumi.StringOutput `pulumi:"validityDays"` } @@ -122,14 +130,20 @@ type clientCertificateState struct { // The time when the certificate was created. CreateTime *string `pulumi:"createTime"` // Certificate signing request content. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Csr *string `pulumi:"csr"` // The private key algorithm type. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PkeyType *string `pulumi:"pkeyType"` // Site Id - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The certificate status. Valid values: `revoked`, `active`. Status *string `pulumi:"status"` // Certificate validity period. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ValidityDays *string `pulumi:"validityDays"` } @@ -139,14 +153,20 @@ type ClientCertificateState struct { // The time when the certificate was created. CreateTime pulumi.StringPtrInput // Certificate signing request content. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Csr pulumi.StringPtrInput // The private key algorithm type. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PkeyType pulumi.StringPtrInput // Site Id - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The certificate status. Valid values: `revoked`, `active`. Status pulumi.StringPtrInput // Certificate validity period. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ValidityDays pulumi.StringPtrInput } @@ -156,28 +176,40 @@ func (ClientCertificateState) ElementType() reflect.Type { type clientCertificateArgs struct { // Certificate signing request content. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Csr *string `pulumi:"csr"` // The private key algorithm type. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PkeyType *string `pulumi:"pkeyType"` // Site Id - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The certificate status. Valid values: `revoked`, `active`. Status *string `pulumi:"status"` // Certificate validity period. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ValidityDays string `pulumi:"validityDays"` } // The set of arguments for constructing a ClientCertificate resource. type ClientCertificateArgs struct { // Certificate signing request content. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. Csr pulumi.StringPtrInput // The private key algorithm type. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. PkeyType pulumi.StringPtrInput // Site Id - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The certificate status. Valid values: `revoked`, `active`. Status pulumi.StringPtrInput // Certificate validity period. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ValidityDays pulumi.StringInput } @@ -279,18 +311,22 @@ func (o ClientCertificateOutput) CreateTime() pulumi.StringOutput { } // Certificate signing request content. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o ClientCertificateOutput) Csr() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClientCertificate) pulumi.StringPtrOutput { return v.Csr }).(pulumi.StringPtrOutput) } // The private key algorithm type. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o ClientCertificateOutput) PkeyType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClientCertificate) pulumi.StringPtrOutput { return v.PkeyType }).(pulumi.StringPtrOutput) } // Site Id -func (o ClientCertificateOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *ClientCertificate) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o ClientCertificateOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *ClientCertificate) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The certificate status. Valid values: `revoked`, `active`. @@ -299,6 +335,8 @@ func (o ClientCertificateOutput) Status() pulumi.StringOutput { } // Certificate validity period. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o ClientCertificateOutput) ValidityDays() pulumi.StringOutput { return o.ApplyT(func(v *ClientCertificate) pulumi.StringOutput { return v.ValidityDays }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/esa/compressionRule.go b/sdk/go/alicloud/esa/compressionRule.go index d378786754..a5bd9754a2 100644 --- a/sdk/go/alicloud/esa/compressionRule.go +++ b/sdk/go/alicloud/esa/compressionRule.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Compression Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/customScenePolicy.go b/sdk/go/alicloud/esa/customScenePolicy.go index fc48a6865c..b07ca27842 100644 --- a/sdk/go/alicloud/esa/customScenePolicy.go +++ b/sdk/go/alicloud/esa/customScenePolicy.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Custom Scene Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/edgeContainerApp.go b/sdk/go/alicloud/esa/edgeContainerApp.go index f24b81bec6..6a009c16de 100644 --- a/sdk/go/alicloud/esa/edgeContainerApp.go +++ b/sdk/go/alicloud/esa/edgeContainerApp.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Edge Container App can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/edgeContainerAppRecord.go b/sdk/go/alicloud/esa/edgeContainerAppRecord.go index 6c10eeb1d4..ca0c5ccecd 100644 --- a/sdk/go/alicloud/esa/edgeContainerAppRecord.go +++ b/sdk/go/alicloud/esa/edgeContainerAppRecord.go @@ -70,7 +70,7 @@ import ( // HealthCheckType: pulumi.String("l7"), // ServicePort: pulumi.Int(80), // HealthCheckInterval: pulumi.Int(5), -// EdgeContainerAppName: pulumi.String("terraform-app"), +// EdgeContainerAppName: pulumi.String("terraform-app2"), // HealthCheckHttpCode: pulumi.String("http_2xx"), // HealthCheckUri: pulumi.String("/"), // HealthCheckTimeout: pulumi.Int(3), @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Edge Container App Record can be imported using the id, e.g. @@ -115,7 +117,7 @@ type EdgeContainerAppRecord struct { // The associated domain name. RecordName pulumi.StringOutput `pulumi:"recordName"` // The website ID. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` } // NewEdgeContainerAppRecord registers a new resource with the given unique name, arguments, and options. @@ -161,7 +163,7 @@ type edgeContainerAppRecordState struct { // The associated domain name. RecordName *string `pulumi:"recordName"` // The website ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` } type EdgeContainerAppRecordState struct { @@ -172,7 +174,7 @@ type EdgeContainerAppRecordState struct { // The associated domain name. RecordName pulumi.StringPtrInput // The website ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput } func (EdgeContainerAppRecordState) ElementType() reflect.Type { @@ -185,7 +187,7 @@ type edgeContainerAppRecordArgs struct { // The associated domain name. RecordName string `pulumi:"recordName"` // The website ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` } // The set of arguments for constructing a EdgeContainerAppRecord resource. @@ -195,7 +197,7 @@ type EdgeContainerAppRecordArgs struct { // The associated domain name. RecordName pulumi.StringInput // The website ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput } func (EdgeContainerAppRecordArgs) ElementType() reflect.Type { @@ -301,8 +303,8 @@ func (o EdgeContainerAppRecordOutput) RecordName() pulumi.StringOutput { } // The website ID. -func (o EdgeContainerAppRecordOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *EdgeContainerAppRecord) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o EdgeContainerAppRecordOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgeContainerAppRecord) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } type EdgeContainerAppRecordArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/alicloud/esa/httpIncomingRequestHeaderModificationRule.go b/sdk/go/alicloud/esa/httpIncomingRequestHeaderModificationRule.go new file mode 100644 index 0000000000..63ca5e030d --- /dev/null +++ b/sdk/go/alicloud/esa/httpIncomingRequestHeaderModificationRule.go @@ -0,0 +1,451 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package esa + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a ESA Http Incoming Request Header Modification Rule resource. +// +// For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa" +// "github.com/pulumi/pulumi-random/sdk/v4/go/random" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{ +// Min: 10000, +// Max: 99999, +// }) +// if err != nil { +// return err +// } +// resourceHttpIncomingRequestHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, "resource_HttpIncomingRequestHeaderModificationRule_example", &esa.RatePlanInstanceArgs{ +// Type: pulumi.String("NS"), +// AutoRenew: pulumi.Bool(false), +// Period: pulumi.Int(1), +// PaymentType: pulumi.String("Subscription"), +// Coverage: pulumi.String("overseas"), +// AutoPay: pulumi.Bool(true), +// PlanName: pulumi.String("high"), +// }) +// if err != nil { +// return err +// } +// resourceSiteHttpIncomingRequestHeaderModificationRuleExample, err := esa.NewSite(ctx, "resource_Site_HttpIncomingRequestHeaderModificationRule_example", &esa.SiteArgs{ +// SiteName: pulumi.Sprintf("gositecdn%v.cn", _default.Result), +// InstanceId: resourceHttpIncomingRequestHeaderModificationRuleExample.ID(), +// Coverage: pulumi.String("overseas"), +// AccessType: pulumi.String("NS"), +// }) +// if err != nil { +// return err +// } +// _, err = esa.NewHttpIncomingRequestHeaderModificationRule(ctx, "default", &esa.HttpIncomingRequestHeaderModificationRuleArgs{ +// SiteId: resourceSiteHttpIncomingRequestHeaderModificationRuleExample.ID(), +// RuleEnable: pulumi.String("on"), +// Rule: pulumi.String("(http.host eq \"video.example.com\")"), +// Sequence: pulumi.Int(1), +// SiteVersion: pulumi.Int(0), +// RuleName: pulumi.String("example"), +// RequestHeaderModifications: esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray{ +// &esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{ +// Type: pulumi.String("static"), +// Value: pulumi.String("add"), +// Operation: pulumi.String("add"), +// Name: pulumi.String("exampleadd"), +// }, +// &esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{ +// Operation: pulumi.String("del"), +// Name: pulumi.String("exampledel"), +// }, +// &esa.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{ +// Type: pulumi.String("dynamic"), +// Value: pulumi.String("ip.geoip.country"), +// Operation: pulumi.String("modify"), +// Name: pulumi.String("examplemodify"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example : +// ``` +type HttpIncomingRequestHeaderModificationRule struct { + pulumi.CustomResourceState + + // Config Id + ConfigId pulumi.IntOutput `pulumi:"configId"` + // The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + RequestHeaderModifications HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput `pulumi:"requestHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrOutput `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. + RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrOutput `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrOutput `pulumi:"sequence"` + // The site ID. + SiteId pulumi.StringOutput `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` +} + +// NewHttpIncomingRequestHeaderModificationRule registers a new resource with the given unique name, arguments, and options. +func NewHttpIncomingRequestHeaderModificationRule(ctx *pulumi.Context, + name string, args *HttpIncomingRequestHeaderModificationRuleArgs, opts ...pulumi.ResourceOption) (*HttpIncomingRequestHeaderModificationRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RequestHeaderModifications == nil { + return nil, errors.New("invalid value for required argument 'RequestHeaderModifications'") + } + if args.SiteId == nil { + return nil, errors.New("invalid value for required argument 'SiteId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HttpIncomingRequestHeaderModificationRule + err := ctx.RegisterResource("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHttpIncomingRequestHeaderModificationRule gets an existing HttpIncomingRequestHeaderModificationRule 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 GetHttpIncomingRequestHeaderModificationRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HttpIncomingRequestHeaderModificationRuleState, opts ...pulumi.ResourceOption) (*HttpIncomingRequestHeaderModificationRule, error) { + var resource HttpIncomingRequestHeaderModificationRule + err := ctx.ReadResource("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HttpIncomingRequestHeaderModificationRule resources. +type httpIncomingRequestHeaderModificationRuleState struct { + // Config Id + ConfigId *int `pulumi:"configId"` + // The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + RequestHeaderModifications []HttpIncomingRequestHeaderModificationRuleRequestHeaderModification `pulumi:"requestHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule *string `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. + RuleEnable *string `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName *string `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence *int `pulumi:"sequence"` + // The site ID. + SiteId *string `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion *int `pulumi:"siteVersion"` +} + +type HttpIncomingRequestHeaderModificationRuleState struct { + // Config Id + ConfigId pulumi.IntPtrInput + // The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + RequestHeaderModifications HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. + RuleEnable pulumi.StringPtrInput + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrInput + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrInput + // The site ID. + SiteId pulumi.StringPtrInput + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrInput +} + +func (HttpIncomingRequestHeaderModificationRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*httpIncomingRequestHeaderModificationRuleState)(nil)).Elem() +} + +type httpIncomingRequestHeaderModificationRuleArgs struct { + // The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + RequestHeaderModifications []HttpIncomingRequestHeaderModificationRuleRequestHeaderModification `pulumi:"requestHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule *string `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. + RuleEnable *string `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName *string `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence *int `pulumi:"sequence"` + // The site ID. + SiteId string `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion *int `pulumi:"siteVersion"` +} + +// The set of arguments for constructing a HttpIncomingRequestHeaderModificationRule resource. +type HttpIncomingRequestHeaderModificationRuleArgs struct { + // The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + RequestHeaderModifications HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. + RuleEnable pulumi.StringPtrInput + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrInput + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrInput + // The site ID. + SiteId pulumi.StringInput + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrInput +} + +func (HttpIncomingRequestHeaderModificationRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*httpIncomingRequestHeaderModificationRuleArgs)(nil)).Elem() +} + +type HttpIncomingRequestHeaderModificationRuleInput interface { + pulumi.Input + + ToHttpIncomingRequestHeaderModificationRuleOutput() HttpIncomingRequestHeaderModificationRuleOutput + ToHttpIncomingRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleOutput +} + +func (*HttpIncomingRequestHeaderModificationRule) ElementType() reflect.Type { + return reflect.TypeOf((**HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (i *HttpIncomingRequestHeaderModificationRule) ToHttpIncomingRequestHeaderModificationRuleOutput() HttpIncomingRequestHeaderModificationRuleOutput { + return i.ToHttpIncomingRequestHeaderModificationRuleOutputWithContext(context.Background()) +} + +func (i *HttpIncomingRequestHeaderModificationRule) ToHttpIncomingRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingRequestHeaderModificationRuleOutput) +} + +// HttpIncomingRequestHeaderModificationRuleArrayInput is an input type that accepts HttpIncomingRequestHeaderModificationRuleArray and HttpIncomingRequestHeaderModificationRuleArrayOutput values. +// You can construct a concrete instance of `HttpIncomingRequestHeaderModificationRuleArrayInput` via: +// +// HttpIncomingRequestHeaderModificationRuleArray{ HttpIncomingRequestHeaderModificationRuleArgs{...} } +type HttpIncomingRequestHeaderModificationRuleArrayInput interface { + pulumi.Input + + ToHttpIncomingRequestHeaderModificationRuleArrayOutput() HttpIncomingRequestHeaderModificationRuleArrayOutput + ToHttpIncomingRequestHeaderModificationRuleArrayOutputWithContext(context.Context) HttpIncomingRequestHeaderModificationRuleArrayOutput +} + +type HttpIncomingRequestHeaderModificationRuleArray []HttpIncomingRequestHeaderModificationRuleInput + +func (HttpIncomingRequestHeaderModificationRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (i HttpIncomingRequestHeaderModificationRuleArray) ToHttpIncomingRequestHeaderModificationRuleArrayOutput() HttpIncomingRequestHeaderModificationRuleArrayOutput { + return i.ToHttpIncomingRequestHeaderModificationRuleArrayOutputWithContext(context.Background()) +} + +func (i HttpIncomingRequestHeaderModificationRuleArray) ToHttpIncomingRequestHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingRequestHeaderModificationRuleArrayOutput) +} + +// HttpIncomingRequestHeaderModificationRuleMapInput is an input type that accepts HttpIncomingRequestHeaderModificationRuleMap and HttpIncomingRequestHeaderModificationRuleMapOutput values. +// You can construct a concrete instance of `HttpIncomingRequestHeaderModificationRuleMapInput` via: +// +// HttpIncomingRequestHeaderModificationRuleMap{ "key": HttpIncomingRequestHeaderModificationRuleArgs{...} } +type HttpIncomingRequestHeaderModificationRuleMapInput interface { + pulumi.Input + + ToHttpIncomingRequestHeaderModificationRuleMapOutput() HttpIncomingRequestHeaderModificationRuleMapOutput + ToHttpIncomingRequestHeaderModificationRuleMapOutputWithContext(context.Context) HttpIncomingRequestHeaderModificationRuleMapOutput +} + +type HttpIncomingRequestHeaderModificationRuleMap map[string]HttpIncomingRequestHeaderModificationRuleInput + +func (HttpIncomingRequestHeaderModificationRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (i HttpIncomingRequestHeaderModificationRuleMap) ToHttpIncomingRequestHeaderModificationRuleMapOutput() HttpIncomingRequestHeaderModificationRuleMapOutput { + return i.ToHttpIncomingRequestHeaderModificationRuleMapOutputWithContext(context.Background()) +} + +func (i HttpIncomingRequestHeaderModificationRuleMap) ToHttpIncomingRequestHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingRequestHeaderModificationRuleMapOutput) +} + +type HttpIncomingRequestHeaderModificationRuleOutput struct{ *pulumi.OutputState } + +func (HttpIncomingRequestHeaderModificationRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingRequestHeaderModificationRuleOutput) ToHttpIncomingRequestHeaderModificationRuleOutput() HttpIncomingRequestHeaderModificationRuleOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleOutput) ToHttpIncomingRequestHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleOutput { + return o +} + +// Config Id +func (o HttpIncomingRequestHeaderModificationRuleOutput) ConfigId() pulumi.IntOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.IntOutput { return v.ConfigId }).(pulumi.IntOutput) +} + +// The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. +func (o HttpIncomingRequestHeaderModificationRuleOutput) RequestHeaderModifications() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return v.RequestHeaderModifications + }).(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) +} + +// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: +// - Match all incoming requests: value set to true +// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") +func (o HttpIncomingRequestHeaderModificationRuleOutput) Rule() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.StringPtrOutput { return v.Rule }).(pulumi.StringPtrOutput) +} + +// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: +// - on: open. +// - off: close. +func (o HttpIncomingRequestHeaderModificationRuleOutput) RuleEnable() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.StringPtrOutput { return v.RuleEnable }).(pulumi.StringPtrOutput) +} + +// Rule name. When adding global configuration, this parameter does not need to be set. +func (o HttpIncomingRequestHeaderModificationRuleOutput) RuleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.StringPtrOutput { return v.RuleName }).(pulumi.StringPtrOutput) +} + +// Order of rule execution. The smaller the value, the higher the priority for execution. +func (o HttpIncomingRequestHeaderModificationRuleOutput) Sequence() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.IntPtrOutput { return v.Sequence }).(pulumi.IntPtrOutput) +} + +// The site ID. +func (o HttpIncomingRequestHeaderModificationRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) +} + +// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. +func (o HttpIncomingRequestHeaderModificationRuleOutput) SiteVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HttpIncomingRequestHeaderModificationRule) pulumi.IntPtrOutput { return v.SiteVersion }).(pulumi.IntPtrOutput) +} + +type HttpIncomingRequestHeaderModificationRuleArrayOutput struct{ *pulumi.OutputState } + +func (HttpIncomingRequestHeaderModificationRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingRequestHeaderModificationRuleArrayOutput) ToHttpIncomingRequestHeaderModificationRuleArrayOutput() HttpIncomingRequestHeaderModificationRuleArrayOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleArrayOutput) ToHttpIncomingRequestHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleArrayOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleArrayOutput) Index(i pulumi.IntInput) HttpIncomingRequestHeaderModificationRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HttpIncomingRequestHeaderModificationRule { + return vs[0].([]*HttpIncomingRequestHeaderModificationRule)[vs[1].(int)] + }).(HttpIncomingRequestHeaderModificationRuleOutput) +} + +type HttpIncomingRequestHeaderModificationRuleMapOutput struct{ *pulumi.OutputState } + +func (HttpIncomingRequestHeaderModificationRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HttpIncomingRequestHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingRequestHeaderModificationRuleMapOutput) ToHttpIncomingRequestHeaderModificationRuleMapOutput() HttpIncomingRequestHeaderModificationRuleMapOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleMapOutput) ToHttpIncomingRequestHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleMapOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleMapOutput) MapIndex(k pulumi.StringInput) HttpIncomingRequestHeaderModificationRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HttpIncomingRequestHeaderModificationRule { + return vs[0].(map[string]*HttpIncomingRequestHeaderModificationRule)[vs[1].(string)] + }).(HttpIncomingRequestHeaderModificationRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleInput)(nil)).Elem(), &HttpIncomingRequestHeaderModificationRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleArrayInput)(nil)).Elem(), HttpIncomingRequestHeaderModificationRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleMapInput)(nil)).Elem(), HttpIncomingRequestHeaderModificationRuleMap{}) + pulumi.RegisterOutputType(HttpIncomingRequestHeaderModificationRuleOutput{}) + pulumi.RegisterOutputType(HttpIncomingRequestHeaderModificationRuleArrayOutput{}) + pulumi.RegisterOutputType(HttpIncomingRequestHeaderModificationRuleMapOutput{}) +} diff --git a/sdk/go/alicloud/esa/httpIncomingResponseHeaderModificationRule.go b/sdk/go/alicloud/esa/httpIncomingResponseHeaderModificationRule.go new file mode 100644 index 0000000000..f7246bf082 --- /dev/null +++ b/sdk/go/alicloud/esa/httpIncomingResponseHeaderModificationRule.go @@ -0,0 +1,440 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package esa + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a ESA Http Incoming Response Header Modification Rule resource. +// +// For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa" +// "github.com/pulumi/pulumi-random/sdk/v4/go/random" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := random.NewInteger(ctx, "default", &random.IntegerArgs{ +// Min: 10000, +// Max: 99999, +// }) +// if err != nil { +// return err +// } +// resourceHttpIncomingResponseHeaderModificationRuleExample, err := esa.NewRatePlanInstance(ctx, "resource_HttpIncomingResponseHeaderModificationRule_example", &esa.RatePlanInstanceArgs{ +// Type: pulumi.String("NS"), +// AutoRenew: pulumi.Bool(false), +// Period: pulumi.Int(1), +// PaymentType: pulumi.String("Subscription"), +// Coverage: pulumi.String("overseas"), +// AutoPay: pulumi.Bool(true), +// PlanName: pulumi.String("basic"), +// }) +// if err != nil { +// return err +// } +// resourceSiteHttpIncomingResponseHeaderModificationRuleExample, err := esa.NewSite(ctx, "resource_Site_HttpIncomingResponseHeaderModificationRule_example", &esa.SiteArgs{ +// SiteName: pulumi.Sprintf("gositecdn%v.cn", _default.Result), +// InstanceId: resourceHttpIncomingResponseHeaderModificationRuleExample.ID(), +// Coverage: pulumi.String("overseas"), +// AccessType: pulumi.String("NS"), +// }) +// if err != nil { +// return err +// } +// _, err = esa.NewHttpIncomingResponseHeaderModificationRule(ctx, "default", &esa.HttpIncomingResponseHeaderModificationRuleArgs{ +// SiteId: resourceSiteHttpIncomingResponseHeaderModificationRuleExample.ID(), +// RuleEnable: pulumi.String("on"), +// ResponseHeaderModifications: esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray{ +// &esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{ +// Type: pulumi.String("static"), +// Value: pulumi.String("add"), +// Operation: pulumi.String("add"), +// Name: pulumi.String("exampleadd"), +// }, +// &esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{ +// Type: pulumi.String("static"), +// Operation: pulumi.String("del"), +// Name: pulumi.String("exampledel"), +// }, +// &esa.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{ +// Type: pulumi.String("static"), +// Value: pulumi.String("modify"), +// Operation: pulumi.String("modify"), +// Name: pulumi.String("examplemodify"), +// }, +// }, +// Rule: pulumi.String("(http.host eq \"video.example.com\")"), +// Sequence: pulumi.Int(1), +// SiteVersion: pulumi.Int(0), +// RuleName: pulumi.String("exampleResponseHeader"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example : +// ``` +type HttpIncomingResponseHeaderModificationRule struct { + pulumi.CustomResourceState + + // Config Id + ConfigId pulumi.IntOutput `pulumi:"configId"` + // Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + ResponseHeaderModifications HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput `pulumi:"responseHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrOutput `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrOutput `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrOutput `pulumi:"sequence"` + // The site ID. + SiteId pulumi.StringOutput `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` +} + +// NewHttpIncomingResponseHeaderModificationRule registers a new resource with the given unique name, arguments, and options. +func NewHttpIncomingResponseHeaderModificationRule(ctx *pulumi.Context, + name string, args *HttpIncomingResponseHeaderModificationRuleArgs, opts ...pulumi.ResourceOption) (*HttpIncomingResponseHeaderModificationRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ResponseHeaderModifications == nil { + return nil, errors.New("invalid value for required argument 'ResponseHeaderModifications'") + } + if args.SiteId == nil { + return nil, errors.New("invalid value for required argument 'SiteId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HttpIncomingResponseHeaderModificationRule + err := ctx.RegisterResource("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHttpIncomingResponseHeaderModificationRule gets an existing HttpIncomingResponseHeaderModificationRule 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 GetHttpIncomingResponseHeaderModificationRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HttpIncomingResponseHeaderModificationRuleState, opts ...pulumi.ResourceOption) (*HttpIncomingResponseHeaderModificationRule, error) { + var resource HttpIncomingResponseHeaderModificationRule + err := ctx.ReadResource("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HttpIncomingResponseHeaderModificationRule resources. +type httpIncomingResponseHeaderModificationRuleState struct { + // Config Id + ConfigId *int `pulumi:"configId"` + // Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + ResponseHeaderModifications []HttpIncomingResponseHeaderModificationRuleResponseHeaderModification `pulumi:"responseHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule *string `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + RuleEnable *string `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName *string `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence *int `pulumi:"sequence"` + // The site ID. + SiteId *string `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion *int `pulumi:"siteVersion"` +} + +type HttpIncomingResponseHeaderModificationRuleState struct { + // Config Id + ConfigId pulumi.IntPtrInput + // Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + ResponseHeaderModifications HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + RuleEnable pulumi.StringPtrInput + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrInput + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrInput + // The site ID. + SiteId pulumi.StringPtrInput + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrInput +} + +func (HttpIncomingResponseHeaderModificationRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*httpIncomingResponseHeaderModificationRuleState)(nil)).Elem() +} + +type httpIncomingResponseHeaderModificationRuleArgs struct { + // Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + ResponseHeaderModifications []HttpIncomingResponseHeaderModificationRuleResponseHeaderModification `pulumi:"responseHeaderModifications"` + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule *string `pulumi:"rule"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + RuleEnable *string `pulumi:"ruleEnable"` + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName *string `pulumi:"ruleName"` + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence *int `pulumi:"sequence"` + // The site ID. + SiteId string `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion *int `pulumi:"siteVersion"` +} + +// The set of arguments for constructing a HttpIncomingResponseHeaderModificationRule resource. +type HttpIncomingResponseHeaderModificationRuleArgs struct { + // Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + ResponseHeaderModifications HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput + // Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + // - Match all incoming requests: value set to true + // - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + Rule pulumi.StringPtrInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + RuleEnable pulumi.StringPtrInput + // Rule name. When adding global configuration, this parameter does not need to be set. + RuleName pulumi.StringPtrInput + // Order of rule execution. The smaller the value, the higher the priority for execution. + Sequence pulumi.IntPtrInput + // The site ID. + SiteId pulumi.StringInput + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + SiteVersion pulumi.IntPtrInput +} + +func (HttpIncomingResponseHeaderModificationRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*httpIncomingResponseHeaderModificationRuleArgs)(nil)).Elem() +} + +type HttpIncomingResponseHeaderModificationRuleInput interface { + pulumi.Input + + ToHttpIncomingResponseHeaderModificationRuleOutput() HttpIncomingResponseHeaderModificationRuleOutput + ToHttpIncomingResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleOutput +} + +func (*HttpIncomingResponseHeaderModificationRule) ElementType() reflect.Type { + return reflect.TypeOf((**HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (i *HttpIncomingResponseHeaderModificationRule) ToHttpIncomingResponseHeaderModificationRuleOutput() HttpIncomingResponseHeaderModificationRuleOutput { + return i.ToHttpIncomingResponseHeaderModificationRuleOutputWithContext(context.Background()) +} + +func (i *HttpIncomingResponseHeaderModificationRule) ToHttpIncomingResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingResponseHeaderModificationRuleOutput) +} + +// HttpIncomingResponseHeaderModificationRuleArrayInput is an input type that accepts HttpIncomingResponseHeaderModificationRuleArray and HttpIncomingResponseHeaderModificationRuleArrayOutput values. +// You can construct a concrete instance of `HttpIncomingResponseHeaderModificationRuleArrayInput` via: +// +// HttpIncomingResponseHeaderModificationRuleArray{ HttpIncomingResponseHeaderModificationRuleArgs{...} } +type HttpIncomingResponseHeaderModificationRuleArrayInput interface { + pulumi.Input + + ToHttpIncomingResponseHeaderModificationRuleArrayOutput() HttpIncomingResponseHeaderModificationRuleArrayOutput + ToHttpIncomingResponseHeaderModificationRuleArrayOutputWithContext(context.Context) HttpIncomingResponseHeaderModificationRuleArrayOutput +} + +type HttpIncomingResponseHeaderModificationRuleArray []HttpIncomingResponseHeaderModificationRuleInput + +func (HttpIncomingResponseHeaderModificationRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (i HttpIncomingResponseHeaderModificationRuleArray) ToHttpIncomingResponseHeaderModificationRuleArrayOutput() HttpIncomingResponseHeaderModificationRuleArrayOutput { + return i.ToHttpIncomingResponseHeaderModificationRuleArrayOutputWithContext(context.Background()) +} + +func (i HttpIncomingResponseHeaderModificationRuleArray) ToHttpIncomingResponseHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingResponseHeaderModificationRuleArrayOutput) +} + +// HttpIncomingResponseHeaderModificationRuleMapInput is an input type that accepts HttpIncomingResponseHeaderModificationRuleMap and HttpIncomingResponseHeaderModificationRuleMapOutput values. +// You can construct a concrete instance of `HttpIncomingResponseHeaderModificationRuleMapInput` via: +// +// HttpIncomingResponseHeaderModificationRuleMap{ "key": HttpIncomingResponseHeaderModificationRuleArgs{...} } +type HttpIncomingResponseHeaderModificationRuleMapInput interface { + pulumi.Input + + ToHttpIncomingResponseHeaderModificationRuleMapOutput() HttpIncomingResponseHeaderModificationRuleMapOutput + ToHttpIncomingResponseHeaderModificationRuleMapOutputWithContext(context.Context) HttpIncomingResponseHeaderModificationRuleMapOutput +} + +type HttpIncomingResponseHeaderModificationRuleMap map[string]HttpIncomingResponseHeaderModificationRuleInput + +func (HttpIncomingResponseHeaderModificationRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (i HttpIncomingResponseHeaderModificationRuleMap) ToHttpIncomingResponseHeaderModificationRuleMapOutput() HttpIncomingResponseHeaderModificationRuleMapOutput { + return i.ToHttpIncomingResponseHeaderModificationRuleMapOutputWithContext(context.Background()) +} + +func (i HttpIncomingResponseHeaderModificationRuleMap) ToHttpIncomingResponseHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingResponseHeaderModificationRuleMapOutput) +} + +type HttpIncomingResponseHeaderModificationRuleOutput struct{ *pulumi.OutputState } + +func (HttpIncomingResponseHeaderModificationRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingResponseHeaderModificationRuleOutput) ToHttpIncomingResponseHeaderModificationRuleOutput() HttpIncomingResponseHeaderModificationRuleOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleOutput) ToHttpIncomingResponseHeaderModificationRuleOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleOutput { + return o +} + +// Config Id +func (o HttpIncomingResponseHeaderModificationRuleOutput) ConfigId() pulumi.IntOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.IntOutput { return v.ConfigId }).(pulumi.IntOutput) +} + +// Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. +func (o HttpIncomingResponseHeaderModificationRuleOutput) ResponseHeaderModifications() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return v.ResponseHeaderModifications + }).(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) +} + +// Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: +// - Match all incoming requests: value set to true +// - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") +func (o HttpIncomingResponseHeaderModificationRuleOutput) Rule() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.StringPtrOutput { return v.Rule }).(pulumi.StringPtrOutput) +} + +// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: +func (o HttpIncomingResponseHeaderModificationRuleOutput) RuleEnable() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.StringPtrOutput { return v.RuleEnable }).(pulumi.StringPtrOutput) +} + +// Rule name. When adding global configuration, this parameter does not need to be set. +func (o HttpIncomingResponseHeaderModificationRuleOutput) RuleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.StringPtrOutput { return v.RuleName }).(pulumi.StringPtrOutput) +} + +// Order of rule execution. The smaller the value, the higher the priority for execution. +func (o HttpIncomingResponseHeaderModificationRuleOutput) Sequence() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.IntPtrOutput { return v.Sequence }).(pulumi.IntPtrOutput) +} + +// The site ID. +func (o HttpIncomingResponseHeaderModificationRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) +} + +// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. +func (o HttpIncomingResponseHeaderModificationRuleOutput) SiteVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *HttpIncomingResponseHeaderModificationRule) pulumi.IntPtrOutput { return v.SiteVersion }).(pulumi.IntPtrOutput) +} + +type HttpIncomingResponseHeaderModificationRuleArrayOutput struct{ *pulumi.OutputState } + +func (HttpIncomingResponseHeaderModificationRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingResponseHeaderModificationRuleArrayOutput) ToHttpIncomingResponseHeaderModificationRuleArrayOutput() HttpIncomingResponseHeaderModificationRuleArrayOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleArrayOutput) ToHttpIncomingResponseHeaderModificationRuleArrayOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleArrayOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleArrayOutput) Index(i pulumi.IntInput) HttpIncomingResponseHeaderModificationRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HttpIncomingResponseHeaderModificationRule { + return vs[0].([]*HttpIncomingResponseHeaderModificationRule)[vs[1].(int)] + }).(HttpIncomingResponseHeaderModificationRuleOutput) +} + +type HttpIncomingResponseHeaderModificationRuleMapOutput struct{ *pulumi.OutputState } + +func (HttpIncomingResponseHeaderModificationRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HttpIncomingResponseHeaderModificationRule)(nil)).Elem() +} + +func (o HttpIncomingResponseHeaderModificationRuleMapOutput) ToHttpIncomingResponseHeaderModificationRuleMapOutput() HttpIncomingResponseHeaderModificationRuleMapOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleMapOutput) ToHttpIncomingResponseHeaderModificationRuleMapOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleMapOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleMapOutput) MapIndex(k pulumi.StringInput) HttpIncomingResponseHeaderModificationRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HttpIncomingResponseHeaderModificationRule { + return vs[0].(map[string]*HttpIncomingResponseHeaderModificationRule)[vs[1].(string)] + }).(HttpIncomingResponseHeaderModificationRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleInput)(nil)).Elem(), &HttpIncomingResponseHeaderModificationRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleArrayInput)(nil)).Elem(), HttpIncomingResponseHeaderModificationRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleMapInput)(nil)).Elem(), HttpIncomingResponseHeaderModificationRuleMap{}) + pulumi.RegisterOutputType(HttpIncomingResponseHeaderModificationRuleOutput{}) + pulumi.RegisterOutputType(HttpIncomingResponseHeaderModificationRuleArrayOutput{}) + pulumi.RegisterOutputType(HttpIncomingResponseHeaderModificationRuleMapOutput{}) +} diff --git a/sdk/go/alicloud/esa/httpRequestHeaderModificationRule.go b/sdk/go/alicloud/esa/httpRequestHeaderModificationRule.go index 02bc1b44e7..79461caa12 100644 --- a/sdk/go/alicloud/esa/httpRequestHeaderModificationRule.go +++ b/sdk/go/alicloud/esa/httpRequestHeaderModificationRule.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Http Request Header Modification Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/httpResponseHeaderModificationRule.go b/sdk/go/alicloud/esa/httpResponseHeaderModificationRule.go index 3946bf0999..53b9e51b18 100644 --- a/sdk/go/alicloud/esa/httpResponseHeaderModificationRule.go +++ b/sdk/go/alicloud/esa/httpResponseHeaderModificationRule.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -128,7 +130,7 @@ type HttpResponseHeaderModificationRule struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntOutput `pulumi:"sequence"` // The site ID. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` } @@ -184,7 +186,7 @@ type httpResponseHeaderModificationRuleState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -205,7 +207,7 @@ type HttpResponseHeaderModificationRuleState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -228,7 +230,7 @@ type httpResponseHeaderModificationRuleArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -248,7 +250,7 @@ type HttpResponseHeaderModificationRuleArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -375,8 +377,8 @@ func (o HttpResponseHeaderModificationRuleOutput) Sequence() pulumi.IntOutput { } // The site ID. -func (o HttpResponseHeaderModificationRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *HttpResponseHeaderModificationRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o HttpResponseHeaderModificationRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *HttpResponseHeaderModificationRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/httpsApplicationConfiguration.go b/sdk/go/alicloud/esa/httpsApplicationConfiguration.go index bd4f4bac10..97ff30ac9f 100644 --- a/sdk/go/alicloud/esa/httpsApplicationConfiguration.go +++ b/sdk/go/alicloud/esa/httpsApplicationConfiguration.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Https Application Configuration can be imported using the id, e.g. @@ -124,7 +126,7 @@ type HttpsApplicationConfiguration struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntOutput `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` } @@ -201,7 +203,7 @@ type httpsApplicationConfigurationState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -246,7 +248,7 @@ type HttpsApplicationConfigurationState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -293,7 +295,7 @@ type httpsApplicationConfigurationArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -337,7 +339,7 @@ type HttpsApplicationConfigurationArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -522,8 +524,8 @@ func (o HttpsApplicationConfigurationOutput) Sequence() pulumi.IntOutput { } // The site ID, which can be obtained by calling the ListSites API. -func (o HttpsApplicationConfigurationOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *HttpsApplicationConfiguration) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o HttpsApplicationConfigurationOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *HttpsApplicationConfiguration) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/httpsBasicConfiguration.go b/sdk/go/alicloud/esa/httpsBasicConfiguration.go index 32fa5b3939..9707eb63b9 100644 --- a/sdk/go/alicloud/esa/httpsBasicConfiguration.go +++ b/sdk/go/alicloud/esa/httpsBasicConfiguration.go @@ -87,6 +87,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Https Basic Configuration can be imported using the id, e.g. @@ -135,7 +137,7 @@ type HttpsBasicConfiguration struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntOutput `pulumi:"sequence"` // Site ID, which can be obtained by calling the ListSites interface. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // Whether to enable TLS1.0. Default is disabled. Possible values: // - on: Enable. // - off: Disable. @@ -225,7 +227,7 @@ type httpsBasicConfigurationState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // Site ID, which can be obtained by calling the ListSites interface. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // Whether to enable TLS1.0. Default is disabled. Possible values: // - on: Enable. // - off: Disable. @@ -283,7 +285,7 @@ type HttpsBasicConfigurationState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // Site ID, which can be obtained by calling the ListSites interface. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // Whether to enable TLS1.0. Default is disabled. Possible values: // - on: Enable. // - off: Disable. @@ -343,7 +345,7 @@ type httpsBasicConfigurationArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // Site ID, which can be obtained by calling the ListSites interface. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // Whether to enable TLS1.0. Default is disabled. Possible values: // - on: Enable. // - off: Disable. @@ -400,7 +402,7 @@ type HttpsBasicConfigurationArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // Site ID, which can be obtained by calling the ListSites interface. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // Whether to enable TLS1.0. Default is disabled. Possible values: // - on: Enable. // - off: Disable. @@ -577,8 +579,8 @@ func (o HttpsBasicConfigurationOutput) Sequence() pulumi.IntOutput { } // Site ID, which can be obtained by calling the ListSites interface. -func (o HttpsBasicConfigurationOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *HttpsBasicConfiguration) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o HttpsBasicConfigurationOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *HttpsBasicConfiguration) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // Whether to enable TLS1.0. Default is disabled. Possible values: diff --git a/sdk/go/alicloud/esa/imageTransform.go b/sdk/go/alicloud/esa/imageTransform.go index d437aed36e..a9d1505f88 100644 --- a/sdk/go/alicloud/esa/imageTransform.go +++ b/sdk/go/alicloud/esa/imageTransform.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Image Transform can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/init.go b/sdk/go/alicloud/esa/init.go index 766e1b536c..622b8e73ff 100644 --- a/sdk/go/alicloud/esa/init.go +++ b/sdk/go/alicloud/esa/init.go @@ -39,6 +39,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &EdgeContainerApp{} case "alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord": r = &EdgeContainerAppRecord{} + case "alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule": + r = &HttpIncomingRequestHeaderModificationRule{} + case "alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule": + r = &HttpIncomingResponseHeaderModificationRule{} case "alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule": r = &HttpRequestHeaderModificationRule{} case "alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule": @@ -173,6 +177,16 @@ func init() { "esa/edgeContainerAppRecord", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "esa/httpIncomingRequestHeaderModificationRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "alicloud", + "esa/httpIncomingResponseHeaderModificationRule", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "esa/httpRequestHeaderModificationRule", diff --git a/sdk/go/alicloud/esa/kv.go b/sdk/go/alicloud/esa/kv.go index 4bd9ecdc8f..1a2b90519a 100644 --- a/sdk/go/alicloud/esa/kv.go +++ b/sdk/go/alicloud/esa/kv.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Kv can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/kvNamespace.go b/sdk/go/alicloud/esa/kvNamespace.go index f1d9334c2d..7e61622aa2 100644 --- a/sdk/go/alicloud/esa/kvNamespace.go +++ b/sdk/go/alicloud/esa/kvNamespace.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Kv Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/list.go b/sdk/go/alicloud/esa/list.go index ccb8eb5b7b..466597552e 100644 --- a/sdk/go/alicloud/esa/list.go +++ b/sdk/go/alicloud/esa/list.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA List can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/loadBalancer.go b/sdk/go/alicloud/esa/loadBalancer.go index 8e73de345f..d93fb13dc5 100644 --- a/sdk/go/alicloud/esa/loadBalancer.go +++ b/sdk/go/alicloud/esa/loadBalancer.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Load Balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/networkOptimization.go b/sdk/go/alicloud/esa/networkOptimization.go index 190e895ad9..beb848f4a5 100644 --- a/sdk/go/alicloud/esa/networkOptimization.go +++ b/sdk/go/alicloud/esa/networkOptimization.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Network Optimization can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/originCaCertificate.go b/sdk/go/alicloud/esa/originCaCertificate.go index 55529fccdb..fc669418df 100644 --- a/sdk/go/alicloud/esa/originCaCertificate.go +++ b/sdk/go/alicloud/esa/originCaCertificate.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Origin Ca Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/originClientCertificate.go b/sdk/go/alicloud/esa/originClientCertificate.go index 243dbbf586..50fe97dff9 100644 --- a/sdk/go/alicloud/esa/originClientCertificate.go +++ b/sdk/go/alicloud/esa/originClientCertificate.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Origin Client Certificate can be imported using the id, e.g. @@ -126,7 +128,7 @@ type OriginClientCertificate struct { // The private key of the certificate. PrivateKey pulumi.StringOutput `pulumi:"privateKey"` // Site ID. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The status of the certificate. Status pulumi.StringOutput `pulumi:"status"` } @@ -190,7 +192,7 @@ type originClientCertificateState struct { // The private key of the certificate. PrivateKey *string `pulumi:"privateKey"` // Site ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The status of the certificate. Status *string `pulumi:"status"` } @@ -209,7 +211,7 @@ type OriginClientCertificateState struct { // The private key of the certificate. PrivateKey pulumi.StringPtrInput // Site ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The status of the certificate. Status pulumi.StringPtrInput } @@ -228,7 +230,7 @@ type originClientCertificateArgs struct { // The private key of the certificate. PrivateKey string `pulumi:"privateKey"` // Site ID. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` } // The set of arguments for constructing a OriginClientCertificate resource. @@ -242,7 +244,7 @@ type OriginClientCertificateArgs struct { // The private key of the certificate. PrivateKey pulumi.StringInput // Site ID. - SiteId pulumi.IntInput + SiteId pulumi.StringInput } func (OriginClientCertificateArgs) ElementType() reflect.Type { @@ -363,8 +365,8 @@ func (o OriginClientCertificateOutput) PrivateKey() pulumi.StringOutput { } // Site ID. -func (o OriginClientCertificateOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *OriginClientCertificate) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o OriginClientCertificateOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *OriginClientCertificate) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The status of the certificate. diff --git a/sdk/go/alicloud/esa/originPool.go b/sdk/go/alicloud/esa/originPool.go index 22d82cafac..be9ba4f248 100644 --- a/sdk/go/alicloud/esa/originPool.go +++ b/sdk/go/alicloud/esa/originPool.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Origin Pool can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/originProtection.go b/sdk/go/alicloud/esa/originProtection.go index 541056e111..189d454b58 100644 --- a/sdk/go/alicloud/esa/originProtection.go +++ b/sdk/go/alicloud/esa/originProtection.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Origin Protection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/originRule.go b/sdk/go/alicloud/esa/originRule.go index 1ea7420c29..a55cb308cf 100644 --- a/sdk/go/alicloud/esa/originRule.go +++ b/sdk/go/alicloud/esa/originRule.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Origin Rule can be imported using the id, e.g. @@ -118,7 +120,7 @@ type OriginRule struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntOutput `pulumi:"sequence"` // The site ID. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` } @@ -201,7 +203,7 @@ type originRuleState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -252,7 +254,7 @@ type OriginRuleState struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -305,7 +307,7 @@ type originRuleArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` } @@ -355,7 +357,7 @@ type OriginRuleArgs struct { // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput } @@ -555,8 +557,8 @@ func (o OriginRuleOutput) Sequence() pulumi.IntOutput { } // The site ID. -func (o OriginRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *OriginRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o OriginRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *OriginRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/page.go b/sdk/go/alicloud/esa/page.go index f17e7167d0..8ecaac0968 100644 --- a/sdk/go/alicloud/esa/page.go +++ b/sdk/go/alicloud/esa/page.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Page can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/pulumiTypes.go b/sdk/go/alicloud/esa/pulumiTypes.go index 1689e5cbf4..2af4704616 100644 --- a/sdk/go/alicloud/esa/pulumiTypes.go +++ b/sdk/go/alicloud/esa/pulumiTypes.go @@ -13,6 +13,256 @@ import ( var _ = internal.GetEnvOrDefault +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModification struct { + // Request Header Name. + Name string `pulumi:"name"` + // Mode of operation. Value range: + Operation string `pulumi:"operation"` + // Value type. Value range: + Type *string `pulumi:"type"` + // Request header value + Value *string `pulumi:"value"` +} + +// HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationInput is an input type that accepts HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs and HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput values. +// You can construct a concrete instance of `HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationInput` via: +// +// HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{...} +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationInput interface { + pulumi.Input + + ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput + ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput +} + +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs struct { + // Request Header Name. + Name pulumi.StringInput `pulumi:"name"` + // Mode of operation. Value range: + Operation pulumi.StringInput `pulumi:"operation"` + // Value type. Value range: + Type pulumi.StringPtrInput `pulumi:"type"` + // Request header value + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleRequestHeaderModification)(nil)).Elem() +} + +func (i HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput { + return i.ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(context.Background()) +} + +func (i HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) +} + +// HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput is an input type that accepts HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray and HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput values. +// You can construct a concrete instance of `HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput` via: +// +// HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray{ HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{...} } +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput interface { + pulumi.Input + + ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput + ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput +} + +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray []HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationInput + +func (HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HttpIncomingRequestHeaderModificationRuleRequestHeaderModification)(nil)).Elem() +} + +func (i HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return i.ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(context.Background()) +} + +func (i HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) +} + +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput struct{ *pulumi.OutputState } + +func (HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleRequestHeaderModification)(nil)).Elem() +} + +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput { + return o +} + +// Request Header Name. +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HttpIncomingRequestHeaderModificationRuleRequestHeaderModification) string { return v.Name }).(pulumi.StringOutput) +} + +// Mode of operation. Value range: +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v HttpIncomingRequestHeaderModificationRuleRequestHeaderModification) string { return v.Operation }).(pulumi.StringOutput) +} + +// Value type. Value range: +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v HttpIncomingRequestHeaderModificationRuleRequestHeaderModification) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// Request header value +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v HttpIncomingRequestHeaderModificationRuleRequestHeaderModification) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput struct{ *pulumi.OutputState } + +func (HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HttpIncomingRequestHeaderModificationRuleRequestHeaderModification)(nil)).Elem() +} + +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput() HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) ToHttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutputWithContext(ctx context.Context) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput { + return o +} + +func (o HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput) Index(i pulumi.IntInput) HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HttpIncomingRequestHeaderModificationRuleRequestHeaderModification { + return vs[0].([]HttpIncomingRequestHeaderModificationRuleRequestHeaderModification)[vs[1].(int)] + }).(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput) +} + +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModification struct { + // The response header name. + Name string `pulumi:"name"` + // Operation method. Possible values: + Operation string `pulumi:"operation"` + // The value type. Value range: + Type *string `pulumi:"type"` + // The response header value. + Value *string `pulumi:"value"` +} + +// HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationInput is an input type that accepts HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs and HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput values. +// You can construct a concrete instance of `HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationInput` via: +// +// HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{...} +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationInput interface { + pulumi.Input + + ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput + ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput +} + +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs struct { + // The response header name. + Name pulumi.StringInput `pulumi:"name"` + // Operation method. Possible values: + Operation pulumi.StringInput `pulumi:"operation"` + // The value type. Value range: + Type pulumi.StringPtrInput `pulumi:"type"` + // The response header value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleResponseHeaderModification)(nil)).Elem() +} + +func (i HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput { + return i.ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(context.Background()) +} + +func (i HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) +} + +// HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput is an input type that accepts HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray and HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput values. +// You can construct a concrete instance of `HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput` via: +// +// HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray{ HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{...} } +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput interface { + pulumi.Input + + ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput + ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput +} + +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray []HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationInput + +func (HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HttpIncomingResponseHeaderModificationRuleResponseHeaderModification)(nil)).Elem() +} + +func (i HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return i.ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(context.Background()) +} + +func (i HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) +} + +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput struct{ *pulumi.OutputState } + +func (HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleResponseHeaderModification)(nil)).Elem() +} + +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput { + return o +} + +// The response header name. +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HttpIncomingResponseHeaderModificationRuleResponseHeaderModification) string { return v.Name }).(pulumi.StringOutput) +} + +// Operation method. Possible values: +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) Operation() pulumi.StringOutput { + return o.ApplyT(func(v HttpIncomingResponseHeaderModificationRuleResponseHeaderModification) string { + return v.Operation + }).(pulumi.StringOutput) +} + +// The value type. Value range: +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v HttpIncomingResponseHeaderModificationRuleResponseHeaderModification) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// The response header value. +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v HttpIncomingResponseHeaderModificationRuleResponseHeaderModification) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput struct{ *pulumi.OutputState } + +func (HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HttpIncomingResponseHeaderModificationRuleResponseHeaderModification)(nil)).Elem() +} + +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput() HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) ToHttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutputWithContext(ctx context.Context) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput { + return o +} + +func (o HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput) Index(i pulumi.IntInput) HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HttpIncomingResponseHeaderModificationRuleResponseHeaderModification { + return vs[0].([]HttpIncomingResponseHeaderModificationRuleResponseHeaderModification)[vs[1].(int)] + }).(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput) +} + type HttpRequestHeaderModificationRuleRequestHeaderModification struct { // Request Header Name. Name string `pulumi:"name"` @@ -3801,7 +4051,14 @@ type WafRuleConfig struct { Notes *string `pulumi:"notes"` // Configuration of the rate limiting rule. See `rateLimit` below. RateLimit *WafRuleConfigRateLimit `pulumi:"rateLimit"` - // The overall security protection level of WAF. See `securityLevel` below. + // The overall security protection level of WAF. + // Valid values: + // - off + // - essentiallyOff + // - low + // - medium + // - high + // - underAttack See `securityLevel` below. SecurityLevel *WafRuleConfigSecurityLevel `pulumi:"securityLevel"` // Configuration items for token verification mechanisms. Sigchls []string `pulumi:"sigchls"` @@ -3851,7 +4108,14 @@ type WafRuleConfigArgs struct { Notes pulumi.StringPtrInput `pulumi:"notes"` // Configuration of the rate limiting rule. See `rateLimit` below. RateLimit WafRuleConfigRateLimitPtrInput `pulumi:"rateLimit"` - // The overall security protection level of WAF. See `securityLevel` below. + // The overall security protection level of WAF. + // Valid values: + // - off + // - essentiallyOff + // - low + // - medium + // - high + // - underAttack See `securityLevel` below. SecurityLevel WafRuleConfigSecurityLevelPtrInput `pulumi:"securityLevel"` // Configuration items for token verification mechanisms. Sigchls pulumi.StringArrayInput `pulumi:"sigchls"` @@ -4002,7 +4266,14 @@ func (o WafRuleConfigOutput) RateLimit() WafRuleConfigRateLimitPtrOutput { return o.ApplyT(func(v WafRuleConfig) *WafRuleConfigRateLimit { return v.RateLimit }).(WafRuleConfigRateLimitPtrOutput) } -// The overall security protection level of WAF. See `securityLevel` below. +// The overall security protection level of WAF. +// Valid values: +// - off +// - essentiallyOff +// - low +// - medium +// - high +// - underAttack See `securityLevel` below. func (o WafRuleConfigOutput) SecurityLevel() WafRuleConfigSecurityLevelPtrOutput { return o.ApplyT(func(v WafRuleConfig) *WafRuleConfigSecurityLevel { return v.SecurityLevel }).(WafRuleConfigSecurityLevelPtrOutput) } @@ -4176,7 +4447,14 @@ func (o WafRuleConfigPtrOutput) RateLimit() WafRuleConfigRateLimitPtrOutput { }).(WafRuleConfigRateLimitPtrOutput) } -// The overall security protection level of WAF. See `securityLevel` below. +// The overall security protection level of WAF. +// Valid values: +// - off +// - essentiallyOff +// - low +// - medium +// - high +// - underAttack See `securityLevel` below. func (o WafRuleConfigPtrOutput) SecurityLevel() WafRuleConfigSecurityLevelPtrOutput { return o.ApplyT(func(v *WafRuleConfig) *WafRuleConfigSecurityLevel { if v == nil { @@ -8610,6 +8888,10 @@ func (o GetSitesSiteArrayOutput) Index(i pulumi.IntInput) GetSitesSiteOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationInput)(nil)).Elem(), HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayInput)(nil)).Elem(), HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationInput)(nil)).Elem(), HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayInput)(nil)).Elem(), HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HttpRequestHeaderModificationRuleRequestHeaderModificationInput)(nil)).Elem(), HttpRequestHeaderModificationRuleRequestHeaderModificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HttpRequestHeaderModificationRuleRequestHeaderModificationArrayInput)(nil)).Elem(), HttpRequestHeaderModificationRuleRequestHeaderModificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HttpResponseHeaderModificationRuleResponseHeaderModificationInput)(nil)).Elem(), HttpResponseHeaderModificationRuleResponseHeaderModificationArgs{}) @@ -8708,6 +8990,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WaitingRoomHostNameAndPathArrayInput)(nil)).Elem(), WaitingRoomHostNameAndPathArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSitesSiteInput)(nil)).Elem(), GetSitesSiteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSitesSiteArrayInput)(nil)).Elem(), GetSitesSiteArray{}) + pulumi.RegisterOutputType(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationOutput{}) + pulumi.RegisterOutputType(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArrayOutput{}) + pulumi.RegisterOutputType(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationOutput{}) + pulumi.RegisterOutputType(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArrayOutput{}) pulumi.RegisterOutputType(HttpRequestHeaderModificationRuleRequestHeaderModificationOutput{}) pulumi.RegisterOutputType(HttpRequestHeaderModificationRuleRequestHeaderModificationArrayOutput{}) pulumi.RegisterOutputType(HttpResponseHeaderModificationRuleResponseHeaderModificationOutput{}) diff --git a/sdk/go/alicloud/esa/ratePlanInstance.go b/sdk/go/alicloud/esa/ratePlanInstance.go index 2e8209da89..9905ca561b 100644 --- a/sdk/go/alicloud/esa/ratePlanInstance.go +++ b/sdk/go/alicloud/esa/ratePlanInstance.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Rate Plan Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/record.go b/sdk/go/alicloud/esa/record.go index 392bcb2fcc..12c7a6e3ac 100644 --- a/sdk/go/alicloud/esa/record.go +++ b/sdk/go/alicloud/esa/record.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Record can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/redirectRule.go b/sdk/go/alicloud/esa/redirectRule.go index 2621851e36..3e0ecc413f 100644 --- a/sdk/go/alicloud/esa/redirectRule.go +++ b/sdk/go/alicloud/esa/redirectRule.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Redirect Rule can be imported using the id, e.g. @@ -119,7 +121,7 @@ type RedirectRule struct { // Order of rule execution. The smaller the value, the higher the priority for execution. Sequence pulumi.IntOutput `pulumi:"sequence"` // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` // The response code that you want to use to indicate URL redirection. Valid values: @@ -201,7 +203,7 @@ type redirectRuleState struct { // Order of rule execution. The smaller the value, the higher the priority for execution. Sequence *int `pulumi:"sequence"` // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // The response code that you want to use to indicate URL redirection. Valid values: @@ -239,7 +241,7 @@ type RedirectRuleState struct { // Order of rule execution. The smaller the value, the higher the priority for execution. Sequence pulumi.IntPtrInput // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // The response code that you want to use to indicate URL redirection. Valid values: @@ -279,7 +281,7 @@ type redirectRuleArgs struct { // Order of rule execution. The smaller the value, the higher the priority for execution. Sequence *int `pulumi:"sequence"` // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // The response code that you want to use to indicate URL redirection. Valid values: @@ -316,7 +318,7 @@ type RedirectRuleArgs struct { // Order of rule execution. The smaller the value, the higher the priority for execution. Sequence pulumi.IntPtrInput // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // The response code that you want to use to indicate URL redirection. Valid values: @@ -458,8 +460,8 @@ func (o RedirectRuleOutput) Sequence() pulumi.IntOutput { } // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. -func (o RedirectRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *RedirectRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o RedirectRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *RedirectRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/rewriteUrlRule.go b/sdk/go/alicloud/esa/rewriteUrlRule.go index 61911c6538..d6184d33a0 100644 --- a/sdk/go/alicloud/esa/rewriteUrlRule.go +++ b/sdk/go/alicloud/esa/rewriteUrlRule.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Rewrite Url Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/routine.go b/sdk/go/alicloud/esa/routine.go index cce02223a8..d3a52c7495 100644 --- a/sdk/go/alicloud/esa/routine.go +++ b/sdk/go/alicloud/esa/routine.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Routine can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/routineRelatedRecord.go b/sdk/go/alicloud/esa/routineRelatedRecord.go index 04f6325b13..296a9b5d40 100644 --- a/sdk/go/alicloud/esa/routineRelatedRecord.go +++ b/sdk/go/alicloud/esa/routineRelatedRecord.go @@ -12,13 +12,81 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Provides a ESA Routine Related Record resource. +// +// For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). +// +// > **NOTE:** Available since v1.265.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// defaultRoutine, err := esa.NewRoutine(ctx, "default", &esa.RoutineArgs{ +// Description: pulumi.String("example-routine2"), +// Name: pulumi.String("example-routine2"), +// }) +// if err != nil { +// return err +// } +// _, err = esa.GetSites(ctx, &esa.GetSitesArgs{ +// PlanSubscribeType: pulumi.StringRef("enterpriseplan"), +// }, nil) +// if err != nil { +// return err +// } +// _, err = esa.NewRoutineRelatedRecord(ctx, "default", &esa.RoutineRelatedRecordArgs{ +// Name: defaultRoutine.ID(), +// RecordName: pulumi.String("tfexampleacc.com"), +// SiteId: pulumi.String("618651327383200"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// ESA Routine Related Record can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example : +// ``` type RoutineRelatedRecord struct { pulumi.CustomResourceState - Name pulumi.StringOutput `pulumi:"name"` - RecordId pulumi.IntOutput `pulumi:"recordId"` + // The routine name. + Name pulumi.StringOutput `pulumi:"name"` + // The record ID. + RecordId pulumi.IntOutput `pulumi:"recordId"` + // The record name. RecordName pulumi.StringOutput `pulumi:"recordName"` - SiteId pulumi.IntOutput `pulumi:"siteId"` + // The website ID. + SiteId pulumi.StringOutput `pulumi:"siteId"` } // NewRoutineRelatedRecord registers a new resource with the given unique name, arguments, and options. @@ -57,17 +125,25 @@ func GetRoutineRelatedRecord(ctx *pulumi.Context, // Input properties used for looking up and filtering RoutineRelatedRecord resources. type routineRelatedRecordState struct { - Name *string `pulumi:"name"` - RecordId *int `pulumi:"recordId"` + // The routine name. + Name *string `pulumi:"name"` + // The record ID. + RecordId *int `pulumi:"recordId"` + // The record name. RecordName *string `pulumi:"recordName"` - SiteId *int `pulumi:"siteId"` + // The website ID. + SiteId *string `pulumi:"siteId"` } type RoutineRelatedRecordState struct { - Name pulumi.StringPtrInput - RecordId pulumi.IntPtrInput + // The routine name. + Name pulumi.StringPtrInput + // The record ID. + RecordId pulumi.IntPtrInput + // The record name. RecordName pulumi.StringPtrInput - SiteId pulumi.IntPtrInput + // The website ID. + SiteId pulumi.StringPtrInput } func (RoutineRelatedRecordState) ElementType() reflect.Type { @@ -75,16 +151,22 @@ func (RoutineRelatedRecordState) ElementType() reflect.Type { } type routineRelatedRecordArgs struct { - Name *string `pulumi:"name"` - RecordName string `pulumi:"recordName"` - SiteId int `pulumi:"siteId"` + // The routine name. + Name *string `pulumi:"name"` + // The record name. + RecordName string `pulumi:"recordName"` + // The website ID. + SiteId string `pulumi:"siteId"` } // The set of arguments for constructing a RoutineRelatedRecord resource. type RoutineRelatedRecordArgs struct { - Name pulumi.StringPtrInput + // The routine name. + Name pulumi.StringPtrInput + // The record name. RecordName pulumi.StringInput - SiteId pulumi.IntInput + // The website ID. + SiteId pulumi.StringInput } func (RoutineRelatedRecordArgs) ElementType() reflect.Type { @@ -174,20 +256,24 @@ func (o RoutineRelatedRecordOutput) ToRoutineRelatedRecordOutputWithContext(ctx return o } +// The routine name. func (o RoutineRelatedRecordOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *RoutineRelatedRecord) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// The record ID. func (o RoutineRelatedRecordOutput) RecordId() pulumi.IntOutput { return o.ApplyT(func(v *RoutineRelatedRecord) pulumi.IntOutput { return v.RecordId }).(pulumi.IntOutput) } +// The record name. func (o RoutineRelatedRecordOutput) RecordName() pulumi.StringOutput { return o.ApplyT(func(v *RoutineRelatedRecord) pulumi.StringOutput { return v.RecordName }).(pulumi.StringOutput) } -func (o RoutineRelatedRecordOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *RoutineRelatedRecord) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +// The website ID. +func (o RoutineRelatedRecordOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *RoutineRelatedRecord) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } type RoutineRelatedRecordArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/alicloud/esa/routineRoute.go b/sdk/go/alicloud/esa/routineRoute.go index 2ad3fe3f38..f4da4f13da 100644 --- a/sdk/go/alicloud/esa/routineRoute.go +++ b/sdk/go/alicloud/esa/routineRoute.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Routine Route can be imported using the id, e.g. @@ -96,6 +98,8 @@ type RoutineRoute struct { Bypass pulumi.StringPtrOutput `pulumi:"bypass"` // Config Id ConfigId pulumi.IntOutput `pulumi:"configId"` + // Spare + Fallback pulumi.StringOutput `pulumi:"fallback"` // Routing switch. Value range: // - on: Open // - off: off @@ -109,7 +113,7 @@ type RoutineRoute struct { // Rule execution order. Sequence pulumi.IntPtrOutput `pulumi:"sequence"` // Site Id - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` } // NewRoutineRoute registers a new resource with the given unique name, arguments, and options. @@ -154,6 +158,8 @@ type routineRouteState struct { Bypass *string `pulumi:"bypass"` // Config Id ConfigId *int `pulumi:"configId"` + // Spare + Fallback *string `pulumi:"fallback"` // Routing switch. Value range: // - on: Open // - off: off @@ -167,7 +173,7 @@ type routineRouteState struct { // Rule execution order. Sequence *int `pulumi:"sequence"` // Site Id - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` } type RoutineRouteState struct { @@ -177,6 +183,8 @@ type RoutineRouteState struct { Bypass pulumi.StringPtrInput // Config Id ConfigId pulumi.IntPtrInput + // Spare + Fallback pulumi.StringPtrInput // Routing switch. Value range: // - on: Open // - off: off @@ -190,7 +198,7 @@ type RoutineRouteState struct { // Rule execution order. Sequence pulumi.IntPtrInput // Site Id - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput } func (RoutineRouteState) ElementType() reflect.Type { @@ -202,6 +210,8 @@ type routineRouteArgs struct { // - on: Open // - off: off Bypass *string `pulumi:"bypass"` + // Spare + Fallback *string `pulumi:"fallback"` // Routing switch. Value range: // - on: Open // - off: off @@ -215,7 +225,7 @@ type routineRouteArgs struct { // Rule execution order. Sequence *int `pulumi:"sequence"` // Site Id - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` } // The set of arguments for constructing a RoutineRoute resource. @@ -224,6 +234,8 @@ type RoutineRouteArgs struct { // - on: Open // - off: off Bypass pulumi.StringPtrInput + // Spare + Fallback pulumi.StringPtrInput // Routing switch. Value range: // - on: Open // - off: off @@ -237,7 +249,7 @@ type RoutineRouteArgs struct { // Rule execution order. Sequence pulumi.IntPtrInput // Site Id - SiteId pulumi.IntInput + SiteId pulumi.StringInput } func (RoutineRouteArgs) ElementType() reflect.Type { @@ -339,6 +351,11 @@ func (o RoutineRouteOutput) ConfigId() pulumi.IntOutput { return o.ApplyT(func(v *RoutineRoute) pulumi.IntOutput { return v.ConfigId }).(pulumi.IntOutput) } +// Spare +func (o RoutineRouteOutput) Fallback() pulumi.StringOutput { + return o.ApplyT(func(v *RoutineRoute) pulumi.StringOutput { return v.Fallback }).(pulumi.StringOutput) +} + // Routing switch. Value range: // - on: Open // - off: off @@ -367,8 +384,8 @@ func (o RoutineRouteOutput) Sequence() pulumi.IntPtrOutput { } // Site Id -func (o RoutineRouteOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *RoutineRoute) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o RoutineRouteOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *RoutineRoute) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } type RoutineRouteArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/alicloud/esa/scheduledPreloadExecution.go b/sdk/go/alicloud/esa/scheduledPreloadExecution.go index 6b64d7c2ef..0e9e4c2dfc 100644 --- a/sdk/go/alicloud/esa/scheduledPreloadExecution.go +++ b/sdk/go/alicloud/esa/scheduledPreloadExecution.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Scheduled Preload Execution can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/scheduledPreloadJob.go b/sdk/go/alicloud/esa/scheduledPreloadJob.go index dcb173186f..afc158b440 100644 --- a/sdk/go/alicloud/esa/scheduledPreloadJob.go +++ b/sdk/go/alicloud/esa/scheduledPreloadJob.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Scheduled Preload Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/site.go b/sdk/go/alicloud/esa/site.go index 66ac8cc32a..3fc9e58d60 100644 --- a/sdk/go/alicloud/esa/site.go +++ b/sdk/go/alicloud/esa/site.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Site can be imported using the id, e.g. @@ -127,6 +129,8 @@ type Site struct { // - 'x.x': Global. // - 'Cn.cn ': Mainland China. Ipv6Region pulumi.StringOutput `pulumi:"ipv6Region"` + // Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + Paused pulumi.BoolPtrOutput `pulumi:"paused"` // The ID of the resource group ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` // Release the search engine crawler configuration. Value: @@ -217,6 +221,8 @@ type siteState struct { // - 'x.x': Global. // - 'Cn.cn ': Mainland China. Ipv6Region *string `pulumi:"ipv6Region"` + // Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + Paused *bool `pulumi:"paused"` // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` // Release the search engine crawler configuration. Value: @@ -272,6 +278,8 @@ type SiteState struct { // - 'x.x': Global. // - 'Cn.cn ': Mainland China. Ipv6Region pulumi.StringPtrInput + // Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + Paused pulumi.BoolPtrInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput // Release the search engine crawler configuration. Value: @@ -329,6 +337,8 @@ type siteArgs struct { // - 'x.x': Global. // - 'Cn.cn ': Mainland China. Ipv6Region *string `pulumi:"ipv6Region"` + // Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + Paused *bool `pulumi:"paused"` // The ID of the resource group ResourceGroupId *string `pulumi:"resourceGroupId"` // Release the search engine crawler configuration. Value: @@ -381,6 +391,8 @@ type SiteArgs struct { // - 'x.x': Global. // - 'Cn.cn ': Mainland China. Ipv6Region pulumi.StringPtrInput + // Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + Paused pulumi.BoolPtrInput // The ID of the resource group ResourceGroupId pulumi.StringPtrInput // Release the search engine crawler configuration. Value: @@ -565,6 +577,11 @@ func (o SiteOutput) Ipv6Region() pulumi.StringOutput { return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.Ipv6Region }).(pulumi.StringOutput) } +// Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: +func (o SiteOutput) Paused() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Site) pulumi.BoolPtrOutput { return v.Paused }).(pulumi.BoolPtrOutput) +} + // The ID of the resource group func (o SiteOutput) ResourceGroupId() pulumi.StringOutput { return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) diff --git a/sdk/go/alicloud/esa/siteDeliveryTask.go b/sdk/go/alicloud/esa/siteDeliveryTask.go index 156383e542..382f4b3a84 100644 --- a/sdk/go/alicloud/esa/siteDeliveryTask.go +++ b/sdk/go/alicloud/esa/siteDeliveryTask.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Site Delivery Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/siteOriginClientCertificate.go b/sdk/go/alicloud/esa/siteOriginClientCertificate.go index ae677de0ec..9921bc698b 100644 --- a/sdk/go/alicloud/esa/siteOriginClientCertificate.go +++ b/sdk/go/alicloud/esa/siteOriginClientCertificate.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Site Origin Client Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/transportLayerApplication.go b/sdk/go/alicloud/esa/transportLayerApplication.go index 70d20be687..fb6bb1cbd1 100644 --- a/sdk/go/alicloud/esa/transportLayerApplication.go +++ b/sdk/go/alicloud/esa/transportLayerApplication.go @@ -35,7 +35,7 @@ type TransportLayerApplication struct { // The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. Rules TransportLayerApplicationRuleArrayOutput `pulumi:"rules"` // Site ID. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // Status of the transport layer application, modification and deletion are not allowed. Status pulumi.StringOutput `pulumi:"status"` } @@ -92,7 +92,7 @@ type transportLayerApplicationState struct { // The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. Rules []TransportLayerApplicationRule `pulumi:"rules"` // Site ID. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // Status of the transport layer application, modification and deletion are not allowed. Status *string `pulumi:"status"` } @@ -111,7 +111,7 @@ type TransportLayerApplicationState struct { // The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. Rules TransportLayerApplicationRuleArrayInput // Site ID. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // Status of the transport layer application, modification and deletion are not allowed. Status pulumi.StringPtrInput } @@ -132,7 +132,7 @@ type transportLayerApplicationArgs struct { // The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. Rules []TransportLayerApplicationRule `pulumi:"rules"` // Site ID. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` } // The set of arguments for constructing a TransportLayerApplication resource. @@ -148,7 +148,7 @@ type TransportLayerApplicationArgs struct { // The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. Rules TransportLayerApplicationRuleArrayInput // Site ID. - SiteId pulumi.IntInput + SiteId pulumi.StringInput } func (TransportLayerApplicationArgs) ElementType() reflect.Type { @@ -269,8 +269,8 @@ func (o TransportLayerApplicationOutput) Rules() TransportLayerApplicationRuleAr } // Site ID. -func (o TransportLayerApplicationOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *TransportLayerApplication) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o TransportLayerApplicationOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *TransportLayerApplication) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // Status of the transport layer application, modification and deletion are not allowed. diff --git a/sdk/go/alicloud/esa/urlObservation.go b/sdk/go/alicloud/esa/urlObservation.go index 9b690c03bc..efb2d2a95d 100644 --- a/sdk/go/alicloud/esa/urlObservation.go +++ b/sdk/go/alicloud/esa/urlObservation.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Url Observation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/version.go b/sdk/go/alicloud/esa/version.go index 2e54d6430c..987e0fd146 100644 --- a/sdk/go/alicloud/esa/version.go +++ b/sdk/go/alicloud/esa/version.go @@ -12,9 +12,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a ESA Site Version resource. +// Provides a ESA Version resource. // -// For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). +// For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). // // > **NOTE:** Available since v1.251.0. // @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Site Version can be imported using the id, e.g. @@ -87,8 +89,8 @@ type Version struct { // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. OriginVersion pulumi.IntOutput `pulumi:"originVersion"` // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntOutput `pulumi:"siteId"` - // The version number of the site configuration. + SiteId pulumi.StringOutput `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntOutput `pulumi:"siteVersion"` // Site version status::`online`.:`configuring`._faild`:`configureFaild`. Status pulumi.StringOutput `pulumi:"status"` @@ -137,8 +139,8 @@ type versionState struct { // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. OriginVersion *int `pulumi:"originVersion"` // The site ID, which can be obtained by calling the ListSites API. - SiteId *int `pulumi:"siteId"` - // The version number of the site configuration. + SiteId *string `pulumi:"siteId"` + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // Site version status::`online`.:`configuring`._faild`:`configureFaild`. Status *string `pulumi:"status"` @@ -152,8 +154,8 @@ type VersionState struct { // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. OriginVersion pulumi.IntPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntPtrInput - // The version number of the site configuration. + SiteId pulumi.StringPtrInput + // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // Site version status::`online`.:`configuring`._faild`:`configureFaild`. Status pulumi.StringPtrInput @@ -169,7 +171,7 @@ type versionArgs struct { // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. OriginVersion int `pulumi:"originVersion"` // The site ID, which can be obtained by calling the ListSites API. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` } // The set of arguments for constructing a Version resource. @@ -179,7 +181,7 @@ type VersionArgs struct { // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. OriginVersion pulumi.IntInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntInput + SiteId pulumi.StringInput } func (VersionArgs) ElementType() reflect.Type { @@ -285,11 +287,11 @@ func (o VersionOutput) OriginVersion() pulumi.IntOutput { } // The site ID, which can be obtained by calling the ListSites API. -func (o VersionOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *Version) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o VersionOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *Version) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } -// The version number of the site configuration. +// The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. func (o VersionOutput) SiteVersion() pulumi.IntOutput { return o.ApplyT(func(v *Version) pulumi.IntOutput { return v.SiteVersion }).(pulumi.IntOutput) } diff --git a/sdk/go/alicloud/esa/videoProcessing.go b/sdk/go/alicloud/esa/videoProcessing.go index effd2c7809..9685221a78 100644 --- a/sdk/go/alicloud/esa/videoProcessing.go +++ b/sdk/go/alicloud/esa/videoProcessing.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Video Processing can be imported using the id, e.g. @@ -108,10 +110,10 @@ type VideoProcessing struct { RuleEnable pulumi.StringPtrOutput `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrOutput `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrOutput `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntOutput `pulumi:"siteId"` + SiteId pulumi.StringOutput `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` // Drag and drop the play function switch. Value range: @@ -171,10 +173,10 @@ type videoProcessingState struct { RuleEnable *string `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName *string `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId *int `pulumi:"siteId"` + SiteId *string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // Drag and drop the play function switch. Value range: @@ -202,10 +204,10 @@ type VideoProcessingState struct { RuleEnable pulumi.StringPtrInput // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrInput - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntPtrInput + SiteId pulumi.StringPtrInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // Drag and drop the play function switch. Value range: @@ -235,10 +237,10 @@ type videoProcessingArgs struct { RuleEnable *string `pulumi:"ruleEnable"` // Rule name. When adding global configuration, this parameter does not need to be set. RuleName *string `pulumi:"ruleName"` - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence *int `pulumi:"sequence"` // The site ID, which can be obtained by calling the ListSites API. - SiteId int `pulumi:"siteId"` + SiteId string `pulumi:"siteId"` // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion *int `pulumi:"siteVersion"` // Drag and drop the play function switch. Value range: @@ -265,10 +267,10 @@ type VideoProcessingArgs struct { RuleEnable pulumi.StringPtrInput // Rule name. When adding global configuration, this parameter does not need to be set. RuleName pulumi.StringPtrInput - // Order of rule execution. The smaller the value, the higher the priority for execution. + // The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. Sequence pulumi.IntPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntInput + SiteId pulumi.StringInput // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. SiteVersion pulumi.IntPtrInput // Drag and drop the play function switch. Value range: @@ -409,14 +411,14 @@ func (o VideoProcessingOutput) RuleName() pulumi.StringPtrOutput { return o.ApplyT(func(v *VideoProcessing) pulumi.StringPtrOutput { return v.RuleName }).(pulumi.StringPtrOutput) } -// Order of rule execution. The smaller the value, the higher the priority for execution. +// The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. func (o VideoProcessingOutput) Sequence() pulumi.IntPtrOutput { return o.ApplyT(func(v *VideoProcessing) pulumi.IntPtrOutput { return v.Sequence }).(pulumi.IntPtrOutput) } // The site ID, which can be obtained by calling the ListSites API. -func (o VideoProcessingOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *VideoProcessing) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o VideoProcessingOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *VideoProcessing) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } // The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. diff --git a/sdk/go/alicloud/esa/wafRule.go b/sdk/go/alicloud/esa/wafRule.go index 42a26beb64..9a59a513bc 100644 --- a/sdk/go/alicloud/esa/wafRule.go +++ b/sdk/go/alicloud/esa/wafRule.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Waf Rule can be imported using the id, e.g. @@ -92,12 +94,10 @@ type WafRule struct { // The phase in which the WAF processes this rule. Phase pulumi.StringOutput `pulumi:"phase"` // The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - RulesetId pulumi.IntPtrOutput `pulumi:"rulesetId"` - // Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - Shared WafRuleSharedPtrOutput `pulumi:"shared"` + RulesetId pulumi.IntPtrOutput `pulumi:"rulesetId"` + Shared WafRuleSharedPtrOutput `pulumi:"shared"` // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntOutput `pulumi:"siteId"` - // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + SiteId pulumi.StringOutput `pulumi:"siteId"` SiteVersion pulumi.IntPtrOutput `pulumi:"siteVersion"` // The unique identifier of the WAF rule. WafRuleId pulumi.IntOutput `pulumi:"wafRuleId"` @@ -144,13 +144,11 @@ type wafRuleState struct { // The phase in which the WAF processes this rule. Phase *string `pulumi:"phase"` // The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - RulesetId *int `pulumi:"rulesetId"` - // Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - Shared *WafRuleShared `pulumi:"shared"` + RulesetId *int `pulumi:"rulesetId"` + Shared *WafRuleShared `pulumi:"shared"` // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId *int `pulumi:"siteId"` - // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteVersion *int `pulumi:"siteVersion"` + SiteId *string `pulumi:"siteId"` + SiteVersion *int `pulumi:"siteVersion"` // The unique identifier of the WAF rule. WafRuleId *int `pulumi:"wafRuleId"` } @@ -162,11 +160,9 @@ type WafRuleState struct { Phase pulumi.StringPtrInput // The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. RulesetId pulumi.IntPtrInput - // Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - Shared WafRuleSharedPtrInput + Shared WafRuleSharedPtrInput // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntPtrInput - // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + SiteId pulumi.StringPtrInput SiteVersion pulumi.IntPtrInput // The unique identifier of the WAF rule. WafRuleId pulumi.IntPtrInput @@ -182,13 +178,11 @@ type wafRuleArgs struct { // The phase in which the WAF processes this rule. Phase string `pulumi:"phase"` // The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - RulesetId *int `pulumi:"rulesetId"` - // Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - Shared *WafRuleShared `pulumi:"shared"` + RulesetId *int `pulumi:"rulesetId"` + Shared *WafRuleShared `pulumi:"shared"` // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId int `pulumi:"siteId"` - // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteVersion *int `pulumi:"siteVersion"` + SiteId string `pulumi:"siteId"` + SiteVersion *int `pulumi:"siteVersion"` } // The set of arguments for constructing a WafRule resource. @@ -199,11 +193,9 @@ type WafRuleArgs struct { Phase pulumi.StringInput // The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. RulesetId pulumi.IntPtrInput - // Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - Shared WafRuleSharedPtrInput + Shared WafRuleSharedPtrInput // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - SiteId pulumi.IntInput - // The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + SiteId pulumi.StringInput SiteVersion pulumi.IntPtrInput } @@ -309,17 +301,15 @@ func (o WafRuleOutput) RulesetId() pulumi.IntPtrOutput { return o.ApplyT(func(v *WafRule) pulumi.IntPtrOutput { return v.RulesetId }).(pulumi.IntPtrOutput) } -// Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. func (o WafRuleOutput) Shared() WafRuleSharedPtrOutput { return o.ApplyT(func(v *WafRule) WafRuleSharedPtrOutput { return v.Shared }).(WafRuleSharedPtrOutput) } // The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. -func (o WafRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *WafRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o WafRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *WafRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } -// The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. func (o WafRuleOutput) SiteVersion() pulumi.IntPtrOutput { return o.ApplyT(func(v *WafRule) pulumi.IntPtrOutput { return v.SiteVersion }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/alicloud/esa/wafRuleset.go b/sdk/go/alicloud/esa/wafRuleset.go index 85b83ff984..a1d989e105 100644 --- a/sdk/go/alicloud/esa/wafRuleset.go +++ b/sdk/go/alicloud/esa/wafRuleset.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Waf Ruleset can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/waitingRoom.go b/sdk/go/alicloud/esa/waitingRoom.go index cfd9a2a622..cc8b02eb21 100644 --- a/sdk/go/alicloud/esa/waitingRoom.go +++ b/sdk/go/alicloud/esa/waitingRoom.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Waiting Room can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/waitingRoomEvent.go b/sdk/go/alicloud/esa/waitingRoomEvent.go index 7988615023..ceff5a6119 100644 --- a/sdk/go/alicloud/esa/waitingRoomEvent.go +++ b/sdk/go/alicloud/esa/waitingRoomEvent.go @@ -108,6 +108,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Waiting Room Event can be imported using the id, e.g. diff --git a/sdk/go/alicloud/esa/waitingRoomRule.go b/sdk/go/alicloud/esa/waitingRoomRule.go index 818cc099e8..59e3570c61 100644 --- a/sdk/go/alicloud/esa/waitingRoomRule.go +++ b/sdk/go/alicloud/esa/waitingRoomRule.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESA Waiting Room Rule can be imported using the id, e.g. @@ -108,10 +110,10 @@ type WaitingRoomRule struct { // Rule name, optional, used to query by waiting room bypass rule name. RuleName pulumi.StringOutput `pulumi:"ruleName"` // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntOutput `pulumi:"siteId"` - // Rule enabled status, supporting: - // -'on': means enabled. - // -'off': means disabled. + SiteId pulumi.StringOutput `pulumi:"siteId"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. Status pulumi.StringOutput `pulumi:"status"` // Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. WaitingRoomId pulumi.StringOutput `pulumi:"waitingRoomId"` @@ -169,10 +171,10 @@ type waitingRoomRuleState struct { // Rule name, optional, used to query by waiting room bypass rule name. RuleName *string `pulumi:"ruleName"` // The site ID, which can be obtained by calling the ListSites API. - SiteId *int `pulumi:"siteId"` - // Rule enabled status, supporting: - // -'on': means enabled. - // -'off': means disabled. + SiteId *string `pulumi:"siteId"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. Status *string `pulumi:"status"` // Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. WaitingRoomId *string `pulumi:"waitingRoomId"` @@ -186,10 +188,10 @@ type WaitingRoomRuleState struct { // Rule name, optional, used to query by waiting room bypass rule name. RuleName pulumi.StringPtrInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntPtrInput - // Rule enabled status, supporting: - // -'on': means enabled. - // -'off': means disabled. + SiteId pulumi.StringPtrInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. Status pulumi.StringPtrInput // Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. WaitingRoomId pulumi.StringPtrInput @@ -207,10 +209,10 @@ type waitingRoomRuleArgs struct { // Rule name, optional, used to query by waiting room bypass rule name. RuleName string `pulumi:"ruleName"` // The site ID, which can be obtained by calling the ListSites API. - SiteId int `pulumi:"siteId"` - // Rule enabled status, supporting: - // -'on': means enabled. - // -'off': means disabled. + SiteId string `pulumi:"siteId"` + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. Status string `pulumi:"status"` // Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. WaitingRoomId string `pulumi:"waitingRoomId"` @@ -223,10 +225,10 @@ type WaitingRoomRuleArgs struct { // Rule name, optional, used to query by waiting room bypass rule name. RuleName pulumi.StringInput // The site ID, which can be obtained by calling the ListSites API. - SiteId pulumi.IntInput - // Rule enabled status, supporting: - // -'on': means enabled. - // -'off': means disabled. + SiteId pulumi.StringInput + // Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + // - on: open. + // - off: close. Status pulumi.StringInput // Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. WaitingRoomId pulumi.StringInput @@ -330,13 +332,13 @@ func (o WaitingRoomRuleOutput) RuleName() pulumi.StringOutput { } // The site ID, which can be obtained by calling the ListSites API. -func (o WaitingRoomRuleOutput) SiteId() pulumi.IntOutput { - return o.ApplyT(func(v *WaitingRoomRule) pulumi.IntOutput { return v.SiteId }).(pulumi.IntOutput) +func (o WaitingRoomRuleOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *WaitingRoomRule) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) } -// Rule enabled status, supporting: -// -'on': means enabled. -// -'off': means disabled. +// Rule switch. When adding global configuration, this parameter does not need to be set. Value range: +// - on: open. +// - off: close. func (o WaitingRoomRuleOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *WaitingRoomRule) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/ess/alarm.go b/sdk/go/alicloud/ess/alarm.go index ea04850b53..ee1d4324ba 100644 --- a/sdk/go/alicloud/ess/alarm.go +++ b/sdk/go/alicloud/ess/alarm.go @@ -171,6 +171,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing autoscaling-rule module diff --git a/sdk/go/alicloud/ess/albServerGroupAttachment.go b/sdk/go/alicloud/ess/albServerGroupAttachment.go index ba89184abb..2e6ca79cb8 100644 --- a/sdk/go/alicloud/ess/albServerGroupAttachment.go +++ b/sdk/go/alicloud/ess/albServerGroupAttachment.go @@ -163,6 +163,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESS alb server groups can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ess/attachment.go b/sdk/go/alicloud/ess/attachment.go index b84e1633b2..00605dd12d 100644 --- a/sdk/go/alicloud/ess/attachment.go +++ b/sdk/go/alicloud/ess/attachment.go @@ -179,6 +179,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESS attachment can be imported using the id or scaling group id, e.g. diff --git a/sdk/go/alicloud/ess/eciScalingConfiguration.go b/sdk/go/alicloud/ess/eciScalingConfiguration.go index 77cb53ff17..61331e3d8f 100644 --- a/sdk/go/alicloud/ess/eciScalingConfiguration.go +++ b/sdk/go/alicloud/ess/eciScalingConfiguration.go @@ -124,6 +124,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESS eci scaling configuration can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ess/lifecycleHook.go b/sdk/go/alicloud/ess/lifecycleHook.go index c408a76070..f990612fdd 100644 --- a/sdk/go/alicloud/ess/lifecycleHook.go +++ b/sdk/go/alicloud/ess/lifecycleHook.go @@ -122,6 +122,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing autoscaling module diff --git a/sdk/go/alicloud/ess/notification.go b/sdk/go/alicloud/ess/notification.go index 27ca5f4bb4..6ec397201d 100644 --- a/sdk/go/alicloud/ess/notification.go +++ b/sdk/go/alicloud/ess/notification.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ess notification can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ess/scalingConfiguration.go b/sdk/go/alicloud/ess/scalingConfiguration.go index dc8456cf05..a74ec8cabc 100644 --- a/sdk/go/alicloud/ess/scalingConfiguration.go +++ b/sdk/go/alicloud/ess/scalingConfiguration.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing autoscaling module diff --git a/sdk/go/alicloud/ess/scalingGroup.go b/sdk/go/alicloud/ess/scalingGroup.go index 51b901b374..96839f0f41 100644 --- a/sdk/go/alicloud/ess/scalingGroup.go +++ b/sdk/go/alicloud/ess/scalingGroup.go @@ -147,6 +147,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing autoscaling module diff --git a/sdk/go/alicloud/ess/scalingRule.go b/sdk/go/alicloud/ess/scalingRule.go index d6435f6fea..4066131ac9 100644 --- a/sdk/go/alicloud/ess/scalingRule.go +++ b/sdk/go/alicloud/ess/scalingRule.go @@ -150,6 +150,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing autoscaling-rule module diff --git a/sdk/go/alicloud/ess/serverGroupAttachment.go b/sdk/go/alicloud/ess/serverGroupAttachment.go index e2e0ed0a15..bece3201fc 100644 --- a/sdk/go/alicloud/ess/serverGroupAttachment.go +++ b/sdk/go/alicloud/ess/serverGroupAttachment.go @@ -164,6 +164,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type ServerGroupAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ess/suspendProcess.go b/sdk/go/alicloud/ess/suspendProcess.go index 0b6a7fed64..bb3deb3f42 100644 --- a/sdk/go/alicloud/ess/suspendProcess.go +++ b/sdk/go/alicloud/ess/suspendProcess.go @@ -138,6 +138,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ESS suspend process can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/apiDestination.go b/sdk/go/alicloud/eventbridge/apiDestination.go index ca6135b0c9..1be4ffa1c4 100644 --- a/sdk/go/alicloud/eventbridge/apiDestination.go +++ b/sdk/go/alicloud/eventbridge/apiDestination.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Api Destination can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/connection.go b/sdk/go/alicloud/eventbridge/connection.go index 05dae5f13e..9c451c05c8 100644 --- a/sdk/go/alicloud/eventbridge/connection.go +++ b/sdk/go/alicloud/eventbridge/connection.go @@ -135,6 +135,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/eventBus.go b/sdk/go/alicloud/eventbridge/eventBus.go index 58aa15567c..e9d23a354b 100644 --- a/sdk/go/alicloud/eventbridge/eventBus.go +++ b/sdk/go/alicloud/eventbridge/eventBus.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Event Bus can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/eventSource.go b/sdk/go/alicloud/eventbridge/eventSource.go index 0557648a2d..1b721e0e10 100644 --- a/sdk/go/alicloud/eventbridge/eventSource.go +++ b/sdk/go/alicloud/eventbridge/eventSource.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Event Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/rule.go b/sdk/go/alicloud/eventbridge/rule.go index fffea2e5d4..43545a01ad 100644 --- a/sdk/go/alicloud/eventbridge/rule.go +++ b/sdk/go/alicloud/eventbridge/rule.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/eventbridge/serviceLinkedRole.go b/sdk/go/alicloud/eventbridge/serviceLinkedRole.go index 994ede1fa4..6ec9115eeb 100644 --- a/sdk/go/alicloud/eventbridge/serviceLinkedRole.go +++ b/sdk/go/alicloud/eventbridge/serviceLinkedRole.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Event Bridge Service Linked Role can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/ecFailoverTestJob.go b/sdk/go/alicloud/expressconnect/ecFailoverTestJob.go index 95c1af1964..4d9e7071e4 100644 --- a/sdk/go/alicloud/expressconnect/ecFailoverTestJob.go +++ b/sdk/go/alicloud/expressconnect/ecFailoverTestJob.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Ec Failover Test Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/grantRuleToCen.go b/sdk/go/alicloud/expressconnect/grantRuleToCen.go index 03e4746d80..aa56f28bc5 100644 --- a/sdk/go/alicloud/expressconnect/grantRuleToCen.go +++ b/sdk/go/alicloud/expressconnect/grantRuleToCen.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Grant Rule To Cen can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/physicalConnection.go b/sdk/go/alicloud/expressconnect/physicalConnection.go index e58fab55fe..a4f9c94a90 100644 --- a/sdk/go/alicloud/expressconnect/physicalConnection.go +++ b/sdk/go/alicloud/expressconnect/physicalConnection.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Physical Connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/routerGrantAssociation.go b/sdk/go/alicloud/expressconnect/routerGrantAssociation.go index fc05107c62..7ac6ca0069 100644 --- a/sdk/go/alicloud/expressconnect/routerGrantAssociation.go +++ b/sdk/go/alicloud/expressconnect/routerGrantAssociation.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Router Grant Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/routerInterface.go b/sdk/go/alicloud/expressconnect/routerInterface.go index 1faef36c3b..9185d5821a 100644 --- a/sdk/go/alicloud/expressconnect/routerInterface.go +++ b/sdk/go/alicloud/expressconnect/routerInterface.go @@ -124,6 +124,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Router Interface can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/routerTrAssociation.go b/sdk/go/alicloud/expressconnect/routerTrAssociation.go index 0f25b3377d..3656738372 100644 --- a/sdk/go/alicloud/expressconnect/routerTrAssociation.go +++ b/sdk/go/alicloud/expressconnect/routerTrAssociation.go @@ -105,6 +105,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/routerVbrChildInstance.go b/sdk/go/alicloud/expressconnect/routerVbrChildInstance.go index c9327a3f0a..b81ad7c1c3 100644 --- a/sdk/go/alicloud/expressconnect/routerVbrChildInstance.go +++ b/sdk/go/alicloud/expressconnect/routerVbrChildInstance.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/routerVpcAssociation.go b/sdk/go/alicloud/expressconnect/routerVpcAssociation.go index f7a3fa3234..0515611b23 100644 --- a/sdk/go/alicloud/expressconnect/routerVpcAssociation.go +++ b/sdk/go/alicloud/expressconnect/routerVpcAssociation.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/trafficQos.go b/sdk/go/alicloud/expressconnect/trafficQos.go index 6015b8d9b4..7722f831af 100644 --- a/sdk/go/alicloud/expressconnect/trafficQos.go +++ b/sdk/go/alicloud/expressconnect/trafficQos.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Traffic Qos can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/trafficQosAssociation.go b/sdk/go/alicloud/expressconnect/trafficQosAssociation.go index 31940a4d14..1802e6cf98 100644 --- a/sdk/go/alicloud/expressconnect/trafficQosAssociation.go +++ b/sdk/go/alicloud/expressconnect/trafficQosAssociation.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Traffic Qos Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/trafficQosQueue.go b/sdk/go/alicloud/expressconnect/trafficQosQueue.go index 3958474a59..411580703c 100644 --- a/sdk/go/alicloud/expressconnect/trafficQosQueue.go +++ b/sdk/go/alicloud/expressconnect/trafficQosQueue.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/trafficQosRule.go b/sdk/go/alicloud/expressconnect/trafficQosRule.go index 7742ecc954..850b6d0ee2 100644 --- a/sdk/go/alicloud/expressconnect/trafficQosRule.go +++ b/sdk/go/alicloud/expressconnect/trafficQosRule.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Traffic Qos Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/vbrPconnAssociation.go b/sdk/go/alicloud/expressconnect/vbrPconnAssociation.go index 671c75fa9f..5c194deb46 100644 --- a/sdk/go/alicloud/expressconnect/vbrPconnAssociation.go +++ b/sdk/go/alicloud/expressconnect/vbrPconnAssociation.go @@ -87,6 +87,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Vbr Pconn Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/expressconnect/virtualBorderRouter.go b/sdk/go/alicloud/expressconnect/virtualBorderRouter.go index 26e443ad83..9a8a218b6a 100644 --- a/sdk/go/alicloud/expressconnect/virtualBorderRouter.go +++ b/sdk/go/alicloud/expressconnect/virtualBorderRouter.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Virtual Border Router can be imported using the id, e.g. @@ -91,7 +93,7 @@ type VirtualBorderRouter struct { // The bandwidth of the VBR instance. Unit: Mbps. Valid values: // - When creating a VBR instance for an exclusive leased line, the values are `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2048`, `5120`, `8192`, `10240`, `20480`, `40960`, `50120`, `61440`, and `102400`. // - When creating a VBR instance for a shared line, you do not need to configure it. The bandwidth of the VBR is the bandwidth set when creating a shared physical line. - Bandwidth pulumi.IntPtrOutput `pulumi:"bandwidth"` + Bandwidth pulumi.IntOutput `pulumi:"bandwidth"` // The circuit code provided by the operator for the physical connection. CircuitCode pulumi.StringPtrOutput `pulumi:"circuitCode"` // (Available since v1.263.0) The creation time of the VBR. @@ -516,8 +518,8 @@ func (o VirtualBorderRouterOutput) AssociatedPhysicalConnections() pulumi.String // The bandwidth of the VBR instance. Unit: Mbps. Valid values: // - When creating a VBR instance for an exclusive leased line, the values are `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2048`, `5120`, `8192`, `10240`, `20480`, `40960`, `50120`, `61440`, and `102400`. // - When creating a VBR instance for a shared line, you do not need to configure it. The bandwidth of the VBR is the bandwidth set when creating a shared physical line. -func (o VirtualBorderRouterOutput) Bandwidth() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualBorderRouter) pulumi.IntPtrOutput { return v.Bandwidth }).(pulumi.IntPtrOutput) +func (o VirtualBorderRouterOutput) Bandwidth() pulumi.IntOutput { + return o.ApplyT(func(v *VirtualBorderRouter) pulumi.IntOutput { return v.Bandwidth }).(pulumi.IntOutput) } // The circuit code provided by the operator for the physical connection. diff --git a/sdk/go/alicloud/expressconnect/virtualPhysicalConnection.go b/sdk/go/alicloud/expressconnect/virtualPhysicalConnection.go index af3373bb35..4ef04f9140 100644 --- a/sdk/go/alicloud/expressconnect/virtualPhysicalConnection.go +++ b/sdk/go/alicloud/expressconnect/virtualPhysicalConnection.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Virtual Physical Connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/alias.go b/sdk/go/alicloud/fc/alias.go index d1280c86c5..2bacc72951 100644 --- a/sdk/go/alicloud/fc/alias.go +++ b/sdk/go/alicloud/fc/alias.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Function Compute alias can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/customDomain.go b/sdk/go/alicloud/fc/customDomain.go index 7b1f7d1007..8205214528 100644 --- a/sdk/go/alicloud/fc/customDomain.go +++ b/sdk/go/alicloud/fc/customDomain.go @@ -165,6 +165,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Function Compute custom domain can be imported using the id or the domain name, e.g. diff --git a/sdk/go/alicloud/fc/functionAsyncInvokeConfig.go b/sdk/go/alicloud/fc/functionAsyncInvokeConfig.go index c6f2cd6f66..220946a3a0 100644 --- a/sdk/go/alicloud/fc/functionAsyncInvokeConfig.go +++ b/sdk/go/alicloud/fc/functionAsyncInvokeConfig.go @@ -189,6 +189,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Function Compute Function Async Invoke Configs can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/layerVersion.go b/sdk/go/alicloud/fc/layerVersion.go index 54522a37da..4a8afe5d5a 100644 --- a/sdk/go/alicloud/fc/layerVersion.go +++ b/sdk/go/alicloud/fc/layerVersion.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Function Compute Layer Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/trigger.go b/sdk/go/alicloud/fc/trigger.go index ed645b5153..93fbf57bda 100644 --- a/sdk/go/alicloud/fc/trigger.go +++ b/sdk/go/alicloud/fc/trigger.go @@ -836,6 +836,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing fc module diff --git a/sdk/go/alicloud/fc/v3alias.go b/sdk/go/alicloud/fc/v3alias.go index 6c07d0c9a3..6b3dea976c 100644 --- a/sdk/go/alicloud/fc/v3alias.go +++ b/sdk/go/alicloud/fc/v3alias.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Alias can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3asyncInvokeConfig.go b/sdk/go/alicloud/fc/v3asyncInvokeConfig.go index b5cbafa7e5..48b51d6e0d 100644 --- a/sdk/go/alicloud/fc/v3asyncInvokeConfig.go +++ b/sdk/go/alicloud/fc/v3asyncInvokeConfig.go @@ -149,6 +149,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Async Invoke Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3concurrencyConfig.go b/sdk/go/alicloud/fc/v3concurrencyConfig.go index a9b8d09070..751389a25a 100644 --- a/sdk/go/alicloud/fc/v3concurrencyConfig.go +++ b/sdk/go/alicloud/fc/v3concurrencyConfig.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Concurrency Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3customDomain.go b/sdk/go/alicloud/fc/v3customDomain.go index 68bebca893..d15b5f4232 100644 --- a/sdk/go/alicloud/fc/v3customDomain.go +++ b/sdk/go/alicloud/fc/v3customDomain.go @@ -232,6 +232,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Custom Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3function.go b/sdk/go/alicloud/fc/v3function.go index c0c2b8a307..429caf268b 100644 --- a/sdk/go/alicloud/fc/v3function.go +++ b/sdk/go/alicloud/fc/v3function.go @@ -130,6 +130,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -140,7 +142,6 @@ import ( type V3Function struct { pulumi.CustomResourceState - // Function code ZIP package. code and customContainerConfig. See `code` below. Code V3FunctionCodePtrOutput `pulumi:"code"` // The code package size of the function returned by the system, in byte Example : 1024 CodeSize pulumi.IntOutput `pulumi:"codeSize"` @@ -170,10 +171,12 @@ type V3Function struct { GpuConfig V3FunctionGpuConfigPtrOutput `pulumi:"gpuConfig"` // Function Handler: the call entry for the function compute system to run your function. Handler pulumi.StringOutput `pulumi:"handler"` + // Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + IdleTimeout pulumi.IntPtrOutput `pulumi:"idleTimeout"` // Maximum instance concurrency. InstanceConcurrency pulumi.IntOutput `pulumi:"instanceConcurrency"` // Instance isolation mode - InstanceIsolationMode pulumi.StringPtrOutput `pulumi:"instanceIsolationMode"` + InstanceIsolationMode pulumi.StringOutput `pulumi:"instanceIsolationMode"` // Instance lifecycle callback method configuration. See `instanceLifecycleConfig` below. InstanceLifecycleConfig V3FunctionInstanceLifecycleConfigPtrOutput `pulumi:"instanceLifecycleConfig"` // Allow function to access public network @@ -198,14 +201,14 @@ type V3Function struct { NasConfig V3FunctionNasConfigOutput `pulumi:"nasConfig"` // OSS mount configuration See `ossMountConfig` below. OssMountConfig V3FunctionOssMountConfigOutput `pulumi:"ossMountConfig"` - // Resource Group ID. + // Resource Group ID ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` // The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS Role pulumi.StringPtrOutput `pulumi:"role"` - // Function runtime type. + // Function runtime type Runtime pulumi.StringOutput `pulumi:"runtime"` // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. - SessionAffinity pulumi.StringPtrOutput `pulumi:"sessionAffinity"` + SessionAffinity pulumi.StringOutput `pulumi:"sessionAffinity"` // When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. SessionAffinityConfig pulumi.StringPtrOutput `pulumi:"sessionAffinityConfig"` // Function Status @@ -260,7 +263,6 @@ func GetV3Function(ctx *pulumi.Context, // Input properties used for looking up and filtering V3Function resources. type v3functionState struct { - // Function code ZIP package. code and customContainerConfig. See `code` below. Code *V3FunctionCode `pulumi:"code"` // The code package size of the function returned by the system, in byte Example : 1024 CodeSize *int `pulumi:"codeSize"` @@ -290,6 +292,8 @@ type v3functionState struct { GpuConfig *V3FunctionGpuConfig `pulumi:"gpuConfig"` // Function Handler: the call entry for the function compute system to run your function. Handler *string `pulumi:"handler"` + // Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + IdleTimeout *int `pulumi:"idleTimeout"` // Maximum instance concurrency. InstanceConcurrency *int `pulumi:"instanceConcurrency"` // Instance isolation mode @@ -318,11 +322,11 @@ type v3functionState struct { NasConfig *V3FunctionNasConfig `pulumi:"nasConfig"` // OSS mount configuration See `ossMountConfig` below. OssMountConfig *V3FunctionOssMountConfig `pulumi:"ossMountConfig"` - // Resource Group ID. + // Resource Group ID ResourceGroupId *string `pulumi:"resourceGroupId"` // The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS Role *string `pulumi:"role"` - // Function runtime type. + // Function runtime type Runtime *string `pulumi:"runtime"` // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. SessionAffinity *string `pulumi:"sessionAffinity"` @@ -345,7 +349,6 @@ type v3functionState struct { } type V3FunctionState struct { - // Function code ZIP package. code and customContainerConfig. See `code` below. Code V3FunctionCodePtrInput // The code package size of the function returned by the system, in byte Example : 1024 CodeSize pulumi.IntPtrInput @@ -375,6 +378,8 @@ type V3FunctionState struct { GpuConfig V3FunctionGpuConfigPtrInput // Function Handler: the call entry for the function compute system to run your function. Handler pulumi.StringPtrInput + // Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + IdleTimeout pulumi.IntPtrInput // Maximum instance concurrency. InstanceConcurrency pulumi.IntPtrInput // Instance isolation mode @@ -403,11 +408,11 @@ type V3FunctionState struct { NasConfig V3FunctionNasConfigPtrInput // OSS mount configuration See `ossMountConfig` below. OssMountConfig V3FunctionOssMountConfigPtrInput - // Resource Group ID. + // Resource Group ID ResourceGroupId pulumi.StringPtrInput // The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS Role pulumi.StringPtrInput - // Function runtime type. + // Function runtime type Runtime pulumi.StringPtrInput // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. SessionAffinity pulumi.StringPtrInput @@ -434,7 +439,6 @@ func (V3FunctionState) ElementType() reflect.Type { } type v3functionArgs struct { - // Function code ZIP package. code and customContainerConfig. See `code` below. Code *V3FunctionCode `pulumi:"code"` // The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. Cpu *float64 `pulumi:"cpu"` @@ -456,6 +460,8 @@ type v3functionArgs struct { GpuConfig *V3FunctionGpuConfig `pulumi:"gpuConfig"` // Function Handler: the call entry for the function compute system to run your function. Handler string `pulumi:"handler"` + // Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + IdleTimeout *int `pulumi:"idleTimeout"` // Maximum instance concurrency. InstanceConcurrency *int `pulumi:"instanceConcurrency"` // Instance isolation mode @@ -476,11 +482,11 @@ type v3functionArgs struct { NasConfig *V3FunctionNasConfig `pulumi:"nasConfig"` // OSS mount configuration See `ossMountConfig` below. OssMountConfig *V3FunctionOssMountConfig `pulumi:"ossMountConfig"` - // Resource Group ID. + // Resource Group ID ResourceGroupId *string `pulumi:"resourceGroupId"` // The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS Role *string `pulumi:"role"` - // Function runtime type. + // Function runtime type Runtime string `pulumi:"runtime"` // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. SessionAffinity *string `pulumi:"sessionAffinity"` @@ -496,7 +502,6 @@ type v3functionArgs struct { // The set of arguments for constructing a V3Function resource. type V3FunctionArgs struct { - // Function code ZIP package. code and customContainerConfig. See `code` below. Code V3FunctionCodePtrInput // The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. Cpu pulumi.Float64PtrInput @@ -518,6 +523,8 @@ type V3FunctionArgs struct { GpuConfig V3FunctionGpuConfigPtrInput // Function Handler: the call entry for the function compute system to run your function. Handler pulumi.StringInput + // Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + IdleTimeout pulumi.IntPtrInput // Maximum instance concurrency. InstanceConcurrency pulumi.IntPtrInput // Instance isolation mode @@ -538,11 +545,11 @@ type V3FunctionArgs struct { NasConfig V3FunctionNasConfigPtrInput // OSS mount configuration See `ossMountConfig` below. OssMountConfig V3FunctionOssMountConfigPtrInput - // Resource Group ID. + // Resource Group ID ResourceGroupId pulumi.StringPtrInput // The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS Role pulumi.StringPtrInput - // Function runtime type. + // Function runtime type Runtime pulumi.StringInput // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. SessionAffinity pulumi.StringPtrInput @@ -643,7 +650,6 @@ func (o V3FunctionOutput) ToV3FunctionOutputWithContext(ctx context.Context) V3F return o } -// Function code ZIP package. code and customContainerConfig. See `code` below. func (o V3FunctionOutput) Code() V3FunctionCodePtrOutput { return o.ApplyT(func(v *V3Function) V3FunctionCodePtrOutput { return v.Code }).(V3FunctionCodePtrOutput) } @@ -718,14 +724,19 @@ func (o V3FunctionOutput) Handler() pulumi.StringOutput { return o.ApplyT(func(v *V3Function) pulumi.StringOutput { return v.Handler }).(pulumi.StringOutput) } +// Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. +func (o V3FunctionOutput) IdleTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *V3Function) pulumi.IntPtrOutput { return v.IdleTimeout }).(pulumi.IntPtrOutput) +} + // Maximum instance concurrency. func (o V3FunctionOutput) InstanceConcurrency() pulumi.IntOutput { return o.ApplyT(func(v *V3Function) pulumi.IntOutput { return v.InstanceConcurrency }).(pulumi.IntOutput) } // Instance isolation mode -func (o V3FunctionOutput) InstanceIsolationMode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *V3Function) pulumi.StringPtrOutput { return v.InstanceIsolationMode }).(pulumi.StringPtrOutput) +func (o V3FunctionOutput) InstanceIsolationMode() pulumi.StringOutput { + return o.ApplyT(func(v *V3Function) pulumi.StringOutput { return v.InstanceIsolationMode }).(pulumi.StringOutput) } // Instance lifecycle callback method configuration. See `instanceLifecycleConfig` below. @@ -788,7 +799,7 @@ func (o V3FunctionOutput) OssMountConfig() V3FunctionOssMountConfigOutput { return o.ApplyT(func(v *V3Function) V3FunctionOssMountConfigOutput { return v.OssMountConfig }).(V3FunctionOssMountConfigOutput) } -// Resource Group ID. +// Resource Group ID func (o V3FunctionOutput) ResourceGroupId() pulumi.StringOutput { return o.ApplyT(func(v *V3Function) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) } @@ -798,14 +809,14 @@ func (o V3FunctionOutput) Role() pulumi.StringPtrOutput { return o.ApplyT(func(v *V3Function) pulumi.StringPtrOutput { return v.Role }).(pulumi.StringPtrOutput) } -// Function runtime type. +// Function runtime type func (o V3FunctionOutput) Runtime() pulumi.StringOutput { return o.ApplyT(func(v *V3Function) pulumi.StringOutput { return v.Runtime }).(pulumi.StringOutput) } // The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. -func (o V3FunctionOutput) SessionAffinity() pulumi.StringPtrOutput { - return o.ApplyT(func(v *V3Function) pulumi.StringPtrOutput { return v.SessionAffinity }).(pulumi.StringPtrOutput) +func (o V3FunctionOutput) SessionAffinity() pulumi.StringOutput { + return o.ApplyT(func(v *V3Function) pulumi.StringOutput { return v.SessionAffinity }).(pulumi.StringOutput) } // When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. diff --git a/sdk/go/alicloud/fc/v3functionVersion.go b/sdk/go/alicloud/fc/v3functionVersion.go index 5eb138952d..bdc73840c2 100644 --- a/sdk/go/alicloud/fc/v3functionVersion.go +++ b/sdk/go/alicloud/fc/v3functionVersion.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Function Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3layerVersion.go b/sdk/go/alicloud/fc/v3layerVersion.go index cf7eec9a6b..5dae61e8f4 100644 --- a/sdk/go/alicloud/fc/v3layerVersion.go +++ b/sdk/go/alicloud/fc/v3layerVersion.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Layer Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3provisionConfig.go b/sdk/go/alicloud/fc/v3provisionConfig.go index 2d7ff62815..2417673352 100644 --- a/sdk/go/alicloud/fc/v3provisionConfig.go +++ b/sdk/go/alicloud/fc/v3provisionConfig.go @@ -173,6 +173,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Provision Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3trigger.go b/sdk/go/alicloud/fc/v3trigger.go index 8404ea873d..426d6fd449 100644 --- a/sdk/go/alicloud/fc/v3trigger.go +++ b/sdk/go/alicloud/fc/v3trigger.go @@ -190,6 +190,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Trigger can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fc/v3vpcBinding.go b/sdk/go/alicloud/fc/v3vpcBinding.go index da6a0a2464..3b6694a874 100644 --- a/sdk/go/alicloud/fc/v3vpcBinding.go +++ b/sdk/go/alicloud/fc/v3vpcBinding.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // FCV3 Vpc Binding can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fnf/execution.go b/sdk/go/alicloud/fnf/execution.go index 8710cb49e8..dcf17f39db 100644 --- a/sdk/go/alicloud/fnf/execution.go +++ b/sdk/go/alicloud/fnf/execution.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless Workflow Execution can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fnf/flow.go b/sdk/go/alicloud/fnf/flow.go index 14c3a59837..d2252fcd1a 100644 --- a/sdk/go/alicloud/fnf/flow.go +++ b/sdk/go/alicloud/fnf/flow.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless Workflow Flow can be imported using the id, e.g. diff --git a/sdk/go/alicloud/fnf/schedule.go b/sdk/go/alicloud/fnf/schedule.go index 859b50e9ec..5bcf8a3b37 100644 --- a/sdk/go/alicloud/fnf/schedule.go +++ b/sdk/go/alicloud/fnf/schedule.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless Workflow Schedule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/accelerator.go b/sdk/go/alicloud/ga/accelerator.go index 8297c6dfa9..4e4a9b846b 100644 --- a/sdk/go/alicloud/ga/accelerator.go +++ b/sdk/go/alicloud/ga/accelerator.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Accelerator can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/acceleratorSpareIpAttachment.go b/sdk/go/alicloud/ga/acceleratorSpareIpAttachment.go index 030014ae19..e7aa49f6b6 100644 --- a/sdk/go/alicloud/ga/acceleratorSpareIpAttachment.go +++ b/sdk/go/alicloud/ga/acceleratorSpareIpAttachment.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/accessLog.go b/sdk/go/alicloud/ga/accessLog.go index 15a6eb3708..c7c668d0b4 100644 --- a/sdk/go/alicloud/ga/accessLog.go +++ b/sdk/go/alicloud/ga/accessLog.go @@ -146,6 +146,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Access Log can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/acl.go b/sdk/go/alicloud/ga/acl.go index e440ec4a95..005c9def24 100644 --- a/sdk/go/alicloud/ga/acl.go +++ b/sdk/go/alicloud/ga/acl.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/aclAttachment.go b/sdk/go/alicloud/ga/aclAttachment.go index aa3fc3d2df..1955ece5da 100644 --- a/sdk/go/alicloud/ga/aclAttachment.go +++ b/sdk/go/alicloud/ga/aclAttachment.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/aclEntryAttachment.go b/sdk/go/alicloud/ga/aclEntryAttachment.go index 6419e41461..d3113f1588 100644 --- a/sdk/go/alicloud/ga/aclEntryAttachment.go +++ b/sdk/go/alicloud/ga/aclEntryAttachment.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/additionalCertificate.go b/sdk/go/alicloud/ga/additionalCertificate.go index ffcb4672b4..abca6a29ff 100644 --- a/sdk/go/alicloud/ga/additionalCertificate.go +++ b/sdk/go/alicloud/ga/additionalCertificate.go @@ -203,6 +203,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/bandwidthPackage.go b/sdk/go/alicloud/ga/bandwidthPackage.go index acce1d4a2b..123166fa68 100644 --- a/sdk/go/alicloud/ga/bandwidthPackage.go +++ b/sdk/go/alicloud/ga/bandwidthPackage.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Bandwidth Package can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/bandwidthPackageAttachment.go b/sdk/go/alicloud/ga/bandwidthPackageAttachment.go index 6bb15c0fd9..2b3a562d1a 100644 --- a/sdk/go/alicloud/ga/bandwidthPackageAttachment.go +++ b/sdk/go/alicloud/ga/bandwidthPackageAttachment.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicAccelerateIp.go b/sdk/go/alicloud/ga/basicAccelerateIp.go index 89397abf12..e7b53841f5 100644 --- a/sdk/go/alicloud/ga/basicAccelerateIp.go +++ b/sdk/go/alicloud/ga/basicAccelerateIp.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicAccelerateIpEndpointRelation.go b/sdk/go/alicloud/ga/basicAccelerateIpEndpointRelation.go index f51c96c1e2..7d3a4980ba 100644 --- a/sdk/go/alicloud/ga/basicAccelerateIpEndpointRelation.go +++ b/sdk/go/alicloud/ga/basicAccelerateIpEndpointRelation.go @@ -147,6 +147,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicAccelerator.go b/sdk/go/alicloud/ga/basicAccelerator.go index b351519083..8e4c61658e 100644 --- a/sdk/go/alicloud/ga/basicAccelerator.go +++ b/sdk/go/alicloud/ga/basicAccelerator.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicEndpoint.go b/sdk/go/alicloud/ga/basicEndpoint.go index dd0fd15d9b..c28ad5c78b 100644 --- a/sdk/go/alicloud/ga/basicEndpoint.go +++ b/sdk/go/alicloud/ga/basicEndpoint.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicEndpointGroup.go b/sdk/go/alicloud/ga/basicEndpointGroup.go index e879f5076c..52ea0d096e 100644 --- a/sdk/go/alicloud/ga/basicEndpointGroup.go +++ b/sdk/go/alicloud/ga/basicEndpointGroup.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/basicIpSet.go b/sdk/go/alicloud/ga/basicIpSet.go index 03f8ec6adc..e0c70eb3ca 100644 --- a/sdk/go/alicloud/ga/basicIpSet.go +++ b/sdk/go/alicloud/ga/basicIpSet.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/customRoutingEndpoint.go b/sdk/go/alicloud/ga/customRoutingEndpoint.go index 886c6ce1bc..774eb0bb82 100644 --- a/sdk/go/alicloud/ga/customRoutingEndpoint.go +++ b/sdk/go/alicloud/ga/customRoutingEndpoint.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/customRoutingEndpointGroup.go b/sdk/go/alicloud/ga/customRoutingEndpointGroup.go index 59ed5527f7..4151272043 100644 --- a/sdk/go/alicloud/ga/customRoutingEndpointGroup.go +++ b/sdk/go/alicloud/ga/customRoutingEndpointGroup.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/customRoutingEndpointGroupDestination.go b/sdk/go/alicloud/ga/customRoutingEndpointGroupDestination.go index 83394d0d03..c220d95f3f 100644 --- a/sdk/go/alicloud/ga/customRoutingEndpointGroupDestination.go +++ b/sdk/go/alicloud/ga/customRoutingEndpointGroupDestination.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/customRoutingEndpointTrafficPolicy.go b/sdk/go/alicloud/ga/customRoutingEndpointTrafficPolicy.go index 9b265a2964..3dad7529d9 100644 --- a/sdk/go/alicloud/ga/customRoutingEndpointTrafficPolicy.go +++ b/sdk/go/alicloud/ga/customRoutingEndpointTrafficPolicy.go @@ -159,6 +159,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/domain.go b/sdk/go/alicloud/ga/domain.go index 68d311aa46..a2d867ad39 100644 --- a/sdk/go/alicloud/ga/domain.go +++ b/sdk/go/alicloud/ga/domain.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/endpointGroup.go b/sdk/go/alicloud/ga/endpointGroup.go index 530fa9f0ca..855b17d928 100644 --- a/sdk/go/alicloud/ga/endpointGroup.go +++ b/sdk/go/alicloud/ga/endpointGroup.go @@ -116,6 +116,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Endpoint Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/forwardingRule.go b/sdk/go/alicloud/ga/forwardingRule.go index a3c16be21e..61c6945252 100644 --- a/sdk/go/alicloud/ga/forwardingRule.go +++ b/sdk/go/alicloud/ga/forwardingRule.go @@ -185,6 +185,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Forwarding Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/ipSet.go b/sdk/go/alicloud/ga/ipSet.go index 59f3baa85d..3ad9c5a2a4 100644 --- a/sdk/go/alicloud/ga/ipSet.go +++ b/sdk/go/alicloud/ga/ipSet.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Ip Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ga/listener.go b/sdk/go/alicloud/ga/listener.go index ac2149ed3d..f182c088d4 100644 --- a/sdk/go/alicloud/ga/listener.go +++ b/sdk/go/alicloud/ga/listener.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ga Listener can be imported using the id, e.g. diff --git a/sdk/go/alicloud/governance/baseline.go b/sdk/go/alicloud/governance/baseline.go index 1d7777b818..1f3dbcd647 100644 --- a/sdk/go/alicloud/governance/baseline.go +++ b/sdk/go/alicloud/governance/baseline.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Governance Baseline can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/account.go b/sdk/go/alicloud/gpdb/account.go index e6e9e5265b..9ac154a98e 100644 --- a/sdk/go/alicloud/gpdb/account.go +++ b/sdk/go/alicloud/gpdb/account.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/connection.go b/sdk/go/alicloud/gpdb/connection.go index d2cda21b4d..232dded6d5 100644 --- a/sdk/go/alicloud/gpdb/connection.go +++ b/sdk/go/alicloud/gpdb/connection.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/database.go b/sdk/go/alicloud/gpdb/database.go index b612c2a86e..280f1c6fc5 100644 --- a/sdk/go/alicloud/gpdb/database.go +++ b/sdk/go/alicloud/gpdb/database.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Database can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/dbInstanceIpArray.go b/sdk/go/alicloud/gpdb/dbInstanceIpArray.go index 3c5b4580b0..ab72ab9a21 100644 --- a/sdk/go/alicloud/gpdb/dbInstanceIpArray.go +++ b/sdk/go/alicloud/gpdb/dbInstanceIpArray.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB DB Instance IP Array can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/dbResourceGroup.go b/sdk/go/alicloud/gpdb/dbResourceGroup.go index 807b140b37..18b8e04128 100644 --- a/sdk/go/alicloud/gpdb/dbResourceGroup.go +++ b/sdk/go/alicloud/gpdb/dbResourceGroup.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/elasticInstance.go b/sdk/go/alicloud/gpdb/elasticInstance.go index aedb1cdc0e..7a95b65721 100644 --- a/sdk/go/alicloud/gpdb/elasticInstance.go +++ b/sdk/go/alicloud/gpdb/elasticInstance.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/externalDataService.go b/sdk/go/alicloud/gpdb/externalDataService.go index 920ab616bf..1fe82e4898 100644 --- a/sdk/go/alicloud/gpdb/externalDataService.go +++ b/sdk/go/alicloud/gpdb/externalDataService.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/hadoopDataSource.go b/sdk/go/alicloud/gpdb/hadoopDataSource.go index 2a326fef2a..d5a502d2d8 100644 --- a/sdk/go/alicloud/gpdb/hadoopDataSource.go +++ b/sdk/go/alicloud/gpdb/hadoopDataSource.go @@ -263,6 +263,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Hadoop Data Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/init.go b/sdk/go/alicloud/gpdb/init.go index 71cf6f5d6a..160eeaec6a 100644 --- a/sdk/go/alicloud/gpdb/init.go +++ b/sdk/go/alicloud/gpdb/init.go @@ -53,6 +53,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &StreamingDataSource{} case "alicloud:gpdb/streamingJob:StreamingJob": r = &StreamingJob{} + case "alicloud:gpdb/supabaseProject:SupabaseProject": + r = &SupabaseProject{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -146,4 +148,9 @@ func init() { "gpdb/streamingJob", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "gpdb/supabaseProject", + &module{version}, + ) } diff --git a/sdk/go/alicloud/gpdb/instance.go b/sdk/go/alicloud/gpdb/instance.go index ff7bc2f994..b9a79f4807 100644 --- a/sdk/go/alicloud/gpdb/instance.go +++ b/sdk/go/alicloud/gpdb/instance.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/jdbcDataSource.go b/sdk/go/alicloud/gpdb/jdbcDataSource.go index 7da3287390..bed284f43e 100644 --- a/sdk/go/alicloud/gpdb/jdbcDataSource.go +++ b/sdk/go/alicloud/gpdb/jdbcDataSource.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Jdbc Data Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/remoteAdbDataSource.go b/sdk/go/alicloud/gpdb/remoteAdbDataSource.go index 101e0a95bc..6326c62f37 100644 --- a/sdk/go/alicloud/gpdb/remoteAdbDataSource.go +++ b/sdk/go/alicloud/gpdb/remoteAdbDataSource.go @@ -144,6 +144,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Remote ADB Data Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/streamingDataService.go b/sdk/go/alicloud/gpdb/streamingDataService.go index 318a463512..f71b5c1642 100644 --- a/sdk/go/alicloud/gpdb/streamingDataService.go +++ b/sdk/go/alicloud/gpdb/streamingDataService.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Streaming Data Service can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/streamingDataSource.go b/sdk/go/alicloud/gpdb/streamingDataSource.go index 88589844f5..40c8f49222 100644 --- a/sdk/go/alicloud/gpdb/streamingDataSource.go +++ b/sdk/go/alicloud/gpdb/streamingDataSource.go @@ -135,6 +135,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Streaming Data Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/streamingJob.go b/sdk/go/alicloud/gpdb/streamingJob.go index 5c41b68302..ee88a9eb62 100644 --- a/sdk/go/alicloud/gpdb/streamingJob.go +++ b/sdk/go/alicloud/gpdb/streamingJob.go @@ -184,6 +184,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GPDB Streaming Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gpdb/supabaseProject.go b/sdk/go/alicloud/gpdb/supabaseProject.go new file mode 100644 index 0000000000..b5877feef2 --- /dev/null +++ b/sdk/go/alicloud/gpdb/supabaseProject.go @@ -0,0 +1,499 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package gpdb + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. +// +// For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _default, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{ +// NameRegex: pulumi.StringRef("^default-NODELETING$"), +// }, nil) +// if err != nil { +// return err +// } +// defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{ +// VpcId: pulumi.StringRef(_default.Ids[0]), +// ZoneId: pulumi.StringRef("cn-hangzhou-j"), +// }, nil) +// if err != nil { +// return err +// } +// _, err = gpdb.NewSupabaseProject(ctx, "default", &gpdb.SupabaseProjectArgs{ +// ProjectSpec: pulumi.String("1C2G"), +// ZoneId: pulumi.String("cn-hangzhou-j"), +// VpcId: pulumi.String(_default.Ids[0]), +// ProjectName: pulumi.String("supabase_example"), +// SecurityIpLists: pulumi.StringArray{ +// pulumi.String("127.0.0.1"), +// }, +// VswitchId: pulumi.String(defaultGetSwitches.Ids[0]), +// DiskPerformanceLevel: pulumi.String("PL0"), +// StorageSize: pulumi.Int(1), +// AccountPassword: pulumi.String("YourPassword123!"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example +// ``` +type SupabaseProject struct { + pulumi.CustomResourceState + + // The password for the initial account. + // - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + // - Support for special characters:! @#$%^& *()_+-= + // - Length is 8~32 characters. + AccountPassword pulumi.StringOutput `pulumi:"accountPassword"` + // The creation time of the resource + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // cloud disk performance level + DiskPerformanceLevel pulumi.StringOutput `pulumi:"diskPerformanceLevel"` + // The project name. The naming rules are as follows: + // - 1~128 characters in length. + // - Can only contain English letters, numbers, dashes (-) and underscores (_). + // - Must begin with an English letter or an underscore (_). + ProjectName pulumi.StringOutput `pulumi:"projectName"` + // The performance level of the Supabase instance. + ProjectSpec pulumi.StringOutput `pulumi:"projectSpec"` + // The region ID. + RegionId pulumi.StringOutput `pulumi:"regionId"` + // The IP address whitelist. + SecurityIpLists pulumi.StringArrayOutput `pulumi:"securityIpLists"` + // The status of the Supabase instance. + Status pulumi.StringOutput `pulumi:"status"` + // The storage capacity of the instance. Unit: GB. + StorageSize pulumi.IntOutput `pulumi:"storageSize"` + // The VPC ID. + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // The vSwitch ID. + VswitchId pulumi.StringOutput `pulumi:"vswitchId"` + // The Zone ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewSupabaseProject registers a new resource with the given unique name, arguments, and options. +func NewSupabaseProject(ctx *pulumi.Context, + name string, args *SupabaseProjectArgs, opts ...pulumi.ResourceOption) (*SupabaseProject, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountPassword == nil { + return nil, errors.New("invalid value for required argument 'AccountPassword'") + } + if args.ProjectName == nil { + return nil, errors.New("invalid value for required argument 'ProjectName'") + } + if args.ProjectSpec == nil { + return nil, errors.New("invalid value for required argument 'ProjectSpec'") + } + if args.SecurityIpLists == nil { + return nil, errors.New("invalid value for required argument 'SecurityIpLists'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + if args.VswitchId == nil { + return nil, errors.New("invalid value for required argument 'VswitchId'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + if args.AccountPassword != nil { + args.AccountPassword = pulumi.ToSecret(args.AccountPassword).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "accountPassword", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource SupabaseProject + err := ctx.RegisterResource("alicloud:gpdb/supabaseProject:SupabaseProject", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSupabaseProject gets an existing SupabaseProject 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 GetSupabaseProject(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SupabaseProjectState, opts ...pulumi.ResourceOption) (*SupabaseProject, error) { + var resource SupabaseProject + err := ctx.ReadResource("alicloud:gpdb/supabaseProject:SupabaseProject", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SupabaseProject resources. +type supabaseProjectState struct { + // The password for the initial account. + // - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + // - Support for special characters:! @#$%^& *()_+-= + // - Length is 8~32 characters. + AccountPassword *string `pulumi:"accountPassword"` + // The creation time of the resource + CreateTime *string `pulumi:"createTime"` + // cloud disk performance level + DiskPerformanceLevel *string `pulumi:"diskPerformanceLevel"` + // The project name. The naming rules are as follows: + // - 1~128 characters in length. + // - Can only contain English letters, numbers, dashes (-) and underscores (_). + // - Must begin with an English letter or an underscore (_). + ProjectName *string `pulumi:"projectName"` + // The performance level of the Supabase instance. + ProjectSpec *string `pulumi:"projectSpec"` + // The region ID. + RegionId *string `pulumi:"regionId"` + // The IP address whitelist. + SecurityIpLists []string `pulumi:"securityIpLists"` + // The status of the Supabase instance. + Status *string `pulumi:"status"` + // The storage capacity of the instance. Unit: GB. + StorageSize *int `pulumi:"storageSize"` + // The VPC ID. + VpcId *string `pulumi:"vpcId"` + // The vSwitch ID. + VswitchId *string `pulumi:"vswitchId"` + // The Zone ID. + ZoneId *string `pulumi:"zoneId"` +} + +type SupabaseProjectState struct { + // The password for the initial account. + // - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + // - Support for special characters:! @#$%^& *()_+-= + // - Length is 8~32 characters. + AccountPassword pulumi.StringPtrInput + // The creation time of the resource + CreateTime pulumi.StringPtrInput + // cloud disk performance level + DiskPerformanceLevel pulumi.StringPtrInput + // The project name. The naming rules are as follows: + // - 1~128 characters in length. + // - Can only contain English letters, numbers, dashes (-) and underscores (_). + // - Must begin with an English letter or an underscore (_). + ProjectName pulumi.StringPtrInput + // The performance level of the Supabase instance. + ProjectSpec pulumi.StringPtrInput + // The region ID. + RegionId pulumi.StringPtrInput + // The IP address whitelist. + SecurityIpLists pulumi.StringArrayInput + // The status of the Supabase instance. + Status pulumi.StringPtrInput + // The storage capacity of the instance. Unit: GB. + StorageSize pulumi.IntPtrInput + // The VPC ID. + VpcId pulumi.StringPtrInput + // The vSwitch ID. + VswitchId pulumi.StringPtrInput + // The Zone ID. + ZoneId pulumi.StringPtrInput +} + +func (SupabaseProjectState) ElementType() reflect.Type { + return reflect.TypeOf((*supabaseProjectState)(nil)).Elem() +} + +type supabaseProjectArgs struct { + // The password for the initial account. + // - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + // - Support for special characters:! @#$%^& *()_+-= + // - Length is 8~32 characters. + AccountPassword string `pulumi:"accountPassword"` + // cloud disk performance level + DiskPerformanceLevel *string `pulumi:"diskPerformanceLevel"` + // The project name. The naming rules are as follows: + // - 1~128 characters in length. + // - Can only contain English letters, numbers, dashes (-) and underscores (_). + // - Must begin with an English letter or an underscore (_). + ProjectName string `pulumi:"projectName"` + // The performance level of the Supabase instance. + ProjectSpec string `pulumi:"projectSpec"` + // The IP address whitelist. + SecurityIpLists []string `pulumi:"securityIpLists"` + // The storage capacity of the instance. Unit: GB. + StorageSize *int `pulumi:"storageSize"` + // The VPC ID. + VpcId string `pulumi:"vpcId"` + // The vSwitch ID. + VswitchId string `pulumi:"vswitchId"` + // The Zone ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a SupabaseProject resource. +type SupabaseProjectArgs struct { + // The password for the initial account. + // - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + // - Support for special characters:! @#$%^& *()_+-= + // - Length is 8~32 characters. + AccountPassword pulumi.StringInput + // cloud disk performance level + DiskPerformanceLevel pulumi.StringPtrInput + // The project name. The naming rules are as follows: + // - 1~128 characters in length. + // - Can only contain English letters, numbers, dashes (-) and underscores (_). + // - Must begin with an English letter or an underscore (_). + ProjectName pulumi.StringInput + // The performance level of the Supabase instance. + ProjectSpec pulumi.StringInput + // The IP address whitelist. + SecurityIpLists pulumi.StringArrayInput + // The storage capacity of the instance. Unit: GB. + StorageSize pulumi.IntPtrInput + // The VPC ID. + VpcId pulumi.StringInput + // The vSwitch ID. + VswitchId pulumi.StringInput + // The Zone ID. + ZoneId pulumi.StringInput +} + +func (SupabaseProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*supabaseProjectArgs)(nil)).Elem() +} + +type SupabaseProjectInput interface { + pulumi.Input + + ToSupabaseProjectOutput() SupabaseProjectOutput + ToSupabaseProjectOutputWithContext(ctx context.Context) SupabaseProjectOutput +} + +func (*SupabaseProject) ElementType() reflect.Type { + return reflect.TypeOf((**SupabaseProject)(nil)).Elem() +} + +func (i *SupabaseProject) ToSupabaseProjectOutput() SupabaseProjectOutput { + return i.ToSupabaseProjectOutputWithContext(context.Background()) +} + +func (i *SupabaseProject) ToSupabaseProjectOutputWithContext(ctx context.Context) SupabaseProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(SupabaseProjectOutput) +} + +// SupabaseProjectArrayInput is an input type that accepts SupabaseProjectArray and SupabaseProjectArrayOutput values. +// You can construct a concrete instance of `SupabaseProjectArrayInput` via: +// +// SupabaseProjectArray{ SupabaseProjectArgs{...} } +type SupabaseProjectArrayInput interface { + pulumi.Input + + ToSupabaseProjectArrayOutput() SupabaseProjectArrayOutput + ToSupabaseProjectArrayOutputWithContext(context.Context) SupabaseProjectArrayOutput +} + +type SupabaseProjectArray []SupabaseProjectInput + +func (SupabaseProjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SupabaseProject)(nil)).Elem() +} + +func (i SupabaseProjectArray) ToSupabaseProjectArrayOutput() SupabaseProjectArrayOutput { + return i.ToSupabaseProjectArrayOutputWithContext(context.Background()) +} + +func (i SupabaseProjectArray) ToSupabaseProjectArrayOutputWithContext(ctx context.Context) SupabaseProjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SupabaseProjectArrayOutput) +} + +// SupabaseProjectMapInput is an input type that accepts SupabaseProjectMap and SupabaseProjectMapOutput values. +// You can construct a concrete instance of `SupabaseProjectMapInput` via: +// +// SupabaseProjectMap{ "key": SupabaseProjectArgs{...} } +type SupabaseProjectMapInput interface { + pulumi.Input + + ToSupabaseProjectMapOutput() SupabaseProjectMapOutput + ToSupabaseProjectMapOutputWithContext(context.Context) SupabaseProjectMapOutput +} + +type SupabaseProjectMap map[string]SupabaseProjectInput + +func (SupabaseProjectMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SupabaseProject)(nil)).Elem() +} + +func (i SupabaseProjectMap) ToSupabaseProjectMapOutput() SupabaseProjectMapOutput { + return i.ToSupabaseProjectMapOutputWithContext(context.Background()) +} + +func (i SupabaseProjectMap) ToSupabaseProjectMapOutputWithContext(ctx context.Context) SupabaseProjectMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SupabaseProjectMapOutput) +} + +type SupabaseProjectOutput struct{ *pulumi.OutputState } + +func (SupabaseProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SupabaseProject)(nil)).Elem() +} + +func (o SupabaseProjectOutput) ToSupabaseProjectOutput() SupabaseProjectOutput { + return o +} + +func (o SupabaseProjectOutput) ToSupabaseProjectOutputWithContext(ctx context.Context) SupabaseProjectOutput { + return o +} + +// The password for the initial account. +// - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. +// - Support for special characters:! @#$%^& *()_+-= +// - Length is 8~32 characters. +func (o SupabaseProjectOutput) AccountPassword() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.AccountPassword }).(pulumi.StringOutput) +} + +// The creation time of the resource +func (o SupabaseProjectOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// cloud disk performance level +func (o SupabaseProjectOutput) DiskPerformanceLevel() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.DiskPerformanceLevel }).(pulumi.StringOutput) +} + +// The project name. The naming rules are as follows: +// - 1~128 characters in length. +// - Can only contain English letters, numbers, dashes (-) and underscores (_). +// - Must begin with an English letter or an underscore (_). +func (o SupabaseProjectOutput) ProjectName() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.ProjectName }).(pulumi.StringOutput) +} + +// The performance level of the Supabase instance. +func (o SupabaseProjectOutput) ProjectSpec() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.ProjectSpec }).(pulumi.StringOutput) +} + +// The region ID. +func (o SupabaseProjectOutput) RegionId() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.RegionId }).(pulumi.StringOutput) +} + +// The IP address whitelist. +func (o SupabaseProjectOutput) SecurityIpLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringArrayOutput { return v.SecurityIpLists }).(pulumi.StringArrayOutput) +} + +// The status of the Supabase instance. +func (o SupabaseProjectOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The storage capacity of the instance. Unit: GB. +func (o SupabaseProjectOutput) StorageSize() pulumi.IntOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.IntOutput { return v.StorageSize }).(pulumi.IntOutput) +} + +// The VPC ID. +func (o SupabaseProjectOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// The vSwitch ID. +func (o SupabaseProjectOutput) VswitchId() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.VswitchId }).(pulumi.StringOutput) +} + +// The Zone ID. +func (o SupabaseProjectOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *SupabaseProject) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type SupabaseProjectArrayOutput struct{ *pulumi.OutputState } + +func (SupabaseProjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SupabaseProject)(nil)).Elem() +} + +func (o SupabaseProjectArrayOutput) ToSupabaseProjectArrayOutput() SupabaseProjectArrayOutput { + return o +} + +func (o SupabaseProjectArrayOutput) ToSupabaseProjectArrayOutputWithContext(ctx context.Context) SupabaseProjectArrayOutput { + return o +} + +func (o SupabaseProjectArrayOutput) Index(i pulumi.IntInput) SupabaseProjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SupabaseProject { + return vs[0].([]*SupabaseProject)[vs[1].(int)] + }).(SupabaseProjectOutput) +} + +type SupabaseProjectMapOutput struct{ *pulumi.OutputState } + +func (SupabaseProjectMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SupabaseProject)(nil)).Elem() +} + +func (o SupabaseProjectMapOutput) ToSupabaseProjectMapOutput() SupabaseProjectMapOutput { + return o +} + +func (o SupabaseProjectMapOutput) ToSupabaseProjectMapOutputWithContext(ctx context.Context) SupabaseProjectMapOutput { + return o +} + +func (o SupabaseProjectMapOutput) MapIndex(k pulumi.StringInput) SupabaseProjectOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SupabaseProject { + return vs[0].(map[string]*SupabaseProject)[vs[1].(string)] + }).(SupabaseProjectOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SupabaseProjectInput)(nil)).Elem(), &SupabaseProject{}) + pulumi.RegisterInputType(reflect.TypeOf((*SupabaseProjectArrayInput)(nil)).Elem(), SupabaseProjectArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SupabaseProjectMapInput)(nil)).Elem(), SupabaseProjectMap{}) + pulumi.RegisterOutputType(SupabaseProjectOutput{}) + pulumi.RegisterOutputType(SupabaseProjectArrayOutput{}) + pulumi.RegisterOutputType(SupabaseProjectMapOutput{}) +} diff --git a/sdk/go/alicloud/graphdatabase/dbInstance.go b/sdk/go/alicloud/graphdatabase/dbInstance.go index 7cdf6ebfef..b8c46395e4 100644 --- a/sdk/go/alicloud/graphdatabase/dbInstance.go +++ b/sdk/go/alicloud/graphdatabase/dbInstance.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Graph Database Db Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gwlb/listener.go b/sdk/go/alicloud/gwlb/listener.go index 46e7a3cc17..67236ff8d6 100644 --- a/sdk/go/alicloud/gwlb/listener.go +++ b/sdk/go/alicloud/gwlb/listener.go @@ -162,6 +162,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GWLB Listener can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gwlb/loadBalancer.go b/sdk/go/alicloud/gwlb/loadBalancer.go index b107832b61..2f4681cb33 100644 --- a/sdk/go/alicloud/gwlb/loadBalancer.go +++ b/sdk/go/alicloud/gwlb/loadBalancer.go @@ -122,6 +122,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GWLB Load Balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/gwlb/serverGroup.go b/sdk/go/alicloud/gwlb/serverGroup.go index 4632ca7a5b..63983ce799 100644 --- a/sdk/go/alicloud/gwlb/serverGroup.go +++ b/sdk/go/alicloud/gwlb/serverGroup.go @@ -152,6 +152,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // GWLB Server Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbase/instance.go b/sdk/go/alicloud/hbase/instance.go index e384821159..bca9f3b625 100644 --- a/sdk/go/alicloud/hbase/instance.go +++ b/sdk/go/alicloud/hbase/instance.go @@ -91,6 +91,8 @@ import ( // // this is a example for class netType instance. you can find more detail with the examples/hbase dir. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // HBase can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/crossAccount.go b/sdk/go/alicloud/hbr/crossAccount.go index 5464f6d7b6..b193235c2a 100644 --- a/sdk/go/alicloud/hbr/crossAccount.go +++ b/sdk/go/alicloud/hbr/crossAccount.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/ecsBackupClient.go b/sdk/go/alicloud/hbr/ecsBackupClient.go index 04a46f177b..bdb025495d 100644 --- a/sdk/go/alicloud/hbr/ecsBackupClient.go +++ b/sdk/go/alicloud/hbr/ecsBackupClient.go @@ -116,6 +116,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Notice // // > **Note:** Please read the following precautions carefully before deleting a client: diff --git a/sdk/go/alicloud/hbr/ecsBackupPlan.go b/sdk/go/alicloud/hbr/ecsBackupPlan.go index f25a620560..7eba73a6eb 100644 --- a/sdk/go/alicloud/hbr/ecsBackupPlan.go +++ b/sdk/go/alicloud/hbr/ecsBackupPlan.go @@ -139,6 +139,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Notice // // **About Backup path rules:** diff --git a/sdk/go/alicloud/hbr/hanaBackupClient.go b/sdk/go/alicloud/hbr/hanaBackupClient.go index 3b7b09ec81..f873c905b6 100644 --- a/sdk/go/alicloud/hbr/hanaBackupClient.go +++ b/sdk/go/alicloud/hbr/hanaBackupClient.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/hanaBackupPlan.go b/sdk/go/alicloud/hbr/hanaBackupPlan.go index 5e1b09429a..bafde9a0c0 100644 --- a/sdk/go/alicloud/hbr/hanaBackupPlan.go +++ b/sdk/go/alicloud/hbr/hanaBackupPlan.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/hanaInstance.go b/sdk/go/alicloud/hbr/hanaInstance.go index 00dbde6978..3a9af7170a 100644 --- a/sdk/go/alicloud/hbr/hanaInstance.go +++ b/sdk/go/alicloud/hbr/hanaInstance.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/nasBackupPlan.go b/sdk/go/alicloud/hbr/nasBackupPlan.go index f585388d3e..3252e0a15d 100644 --- a/sdk/go/alicloud/hbr/nasBackupPlan.go +++ b/sdk/go/alicloud/hbr/nasBackupPlan.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // HBR Nas Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/ossBackupPlan.go b/sdk/go/alicloud/hbr/ossBackupPlan.go index 1ca765d92b..ca3e2907b7 100644 --- a/sdk/go/alicloud/hbr/ossBackupPlan.go +++ b/sdk/go/alicloud/hbr/ossBackupPlan.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // HBR Oss Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/otsBackupPlan.go b/sdk/go/alicloud/hbr/otsBackupPlan.go index a1d2823b16..11052f0b3a 100644 --- a/sdk/go/alicloud/hbr/otsBackupPlan.go +++ b/sdk/go/alicloud/hbr/otsBackupPlan.go @@ -151,6 +151,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // HBR Ots Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/policy.go b/sdk/go/alicloud/hbr/policy.go index 834d2ad4a3..b218dd67e0 100644 --- a/sdk/go/alicloud/hbr/policy.go +++ b/sdk/go/alicloud/hbr/policy.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/policyBinding.go b/sdk/go/alicloud/hbr/policyBinding.go index 1940e9da89..15b77a5cea 100644 --- a/sdk/go/alicloud/hbr/policyBinding.go +++ b/sdk/go/alicloud/hbr/policyBinding.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // HBR Policy Binding can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/replicationVault.go b/sdk/go/alicloud/hbr/replicationVault.go index f993990ce9..d8ad97324f 100644 --- a/sdk/go/alicloud/hbr/replicationVault.go +++ b/sdk/go/alicloud/hbr/replicationVault.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/restoreJob.go b/sdk/go/alicloud/hbr/restoreJob.go index 64ab956764..7165ddb89c 100644 --- a/sdk/go/alicloud/hbr/restoreJob.go +++ b/sdk/go/alicloud/hbr/restoreJob.go @@ -124,6 +124,8 @@ import ( // // > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `:`, e.g. diff --git a/sdk/go/alicloud/hbr/serverBackupPlan.go b/sdk/go/alicloud/hbr/serverBackupPlan.go index 1f1d2dd7b7..75aed3d926 100644 --- a/sdk/go/alicloud/hbr/serverBackupPlan.go +++ b/sdk/go/alicloud/hbr/serverBackupPlan.go @@ -121,6 +121,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hbr/vault.go b/sdk/go/alicloud/hbr/vault.go index ceab4d4f4d..111ddc7c92 100644 --- a/sdk/go/alicloud/hbr/vault.go +++ b/sdk/go/alicloud/hbr/vault.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. diff --git a/sdk/go/alicloud/hologram/instance.go b/sdk/go/alicloud/hologram/instance.go index f908d1b50c..662c50199f 100644 --- a/sdk/go/alicloud/hologram/instance.go +++ b/sdk/go/alicloud/hologram/instance.go @@ -43,6 +43,8 @@ type Instance struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. Duration pulumi.IntPtrOutput `pulumi:"duration"` + // Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + EnableSsl pulumi.BoolPtrOutput `pulumi:"enableSsl"` // List of domain names. See `endpoints` below. Endpoints InstanceEndpointArrayOutput `pulumi:"endpoints"` // Number of gateway nodes. @@ -150,6 +152,8 @@ type instanceState struct { CreateTime *string `pulumi:"createTime"` // The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. Duration *int `pulumi:"duration"` + // Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + EnableSsl *bool `pulumi:"enableSsl"` // List of domain names. See `endpoints` below. Endpoints []InstanceEndpoint `pulumi:"endpoints"` // Number of gateway nodes. @@ -216,6 +220,8 @@ type InstanceState struct { CreateTime pulumi.StringPtrInput // The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. Duration pulumi.IntPtrInput + // Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + EnableSsl pulumi.BoolPtrInput // List of domain names. See `endpoints` below. Endpoints InstanceEndpointArrayInput // Number of gateway nodes. @@ -284,6 +290,8 @@ type instanceArgs struct { Cpu *int `pulumi:"cpu"` // The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. Duration *int `pulumi:"duration"` + // Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + EnableSsl *bool `pulumi:"enableSsl"` // List of domain names. See `endpoints` below. Endpoints []InstanceEndpoint `pulumi:"endpoints"` // Number of gateway nodes. @@ -347,6 +355,8 @@ type InstanceArgs struct { Cpu pulumi.IntPtrInput // The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. Duration pulumi.IntPtrInput + // Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + EnableSsl pulumi.BoolPtrInput // List of domain names. See `endpoints` below. Endpoints InstanceEndpointArrayInput // Number of gateway nodes. @@ -512,6 +522,11 @@ func (o InstanceOutput) Duration() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.Duration }).(pulumi.IntPtrOutput) } +// Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. +func (o InstanceOutput) EnableSsl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EnableSsl }).(pulumi.BoolPtrOutput) +} + // List of domain names. See `endpoints` below. func (o InstanceOutput) Endpoints() InstanceEndpointArrayOutput { return o.ApplyT(func(v *Instance) InstanceEndpointArrayOutput { return v.Endpoints }).(InstanceEndpointArrayOutput) diff --git a/sdk/go/alicloud/imm/project.go b/sdk/go/alicloud/imm/project.go index cc10783429..ed24b60c12 100644 --- a/sdk/go/alicloud/imm/project.go +++ b/sdk/go/alicloud/imm/project.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Intelligent Media Management Project can be imported using the id, e.g. diff --git a/sdk/go/alicloud/imp/appTemplate.go b/sdk/go/alicloud/imp/appTemplate.go index 9e20d1d0f5..c5173dcd12 100644 --- a/sdk/go/alicloud/imp/appTemplate.go +++ b/sdk/go/alicloud/imp/appTemplate.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Apsara Agile Live (IMP) App Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ims/oidcProvider.go b/sdk/go/alicloud/ims/oidcProvider.go index b7ac806bd9..27c49ec4b3 100644 --- a/sdk/go/alicloud/ims/oidcProvider.go +++ b/sdk/go/alicloud/ims/oidcProvider.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // IMS Oidc Provider can be imported using the id, e.g. diff --git a/sdk/go/alicloud/init.go b/sdk/go/alicloud/init.go index e6ebc13307..dcd8fbcca6 100644 --- a/sdk/go/alicloud/init.go +++ b/sdk/go/alicloud/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &MscSubSubscription{} case "alicloud:index/mscSubWebhook:MscSubWebhook": r = &MscSubWebhook{} + case "alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer": + r = &OpenApiExplorerApiMcpServer{} case "alicloud:index/polarDbExtension:PolarDbExtension": r = &PolarDbExtension{} case "alicloud:index/starRocksInstance:StarRocksInstance": @@ -84,6 +86,11 @@ func init() { "index/mscSubWebhook", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "index/openApiExplorerApiMcpServer", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "index/polarDbExtension", diff --git a/sdk/go/alicloud/iot/deviceGroup.go b/sdk/go/alicloud/iot/deviceGroup.go index 44ff7ccd7d..426acd8e87 100644 --- a/sdk/go/alicloud/iot/deviceGroup.go +++ b/sdk/go/alicloud/iot/deviceGroup.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Iot Device Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/alias.go b/sdk/go/alicloud/kms/alias.go index 260ff04626..5fa8490387 100644 --- a/sdk/go/alicloud/kms/alias.go +++ b/sdk/go/alicloud/kms/alias.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS alias can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/applicationAccessPoint.go b/sdk/go/alicloud/kms/applicationAccessPoint.go index a5a2b3f057..77b27775c1 100644 --- a/sdk/go/alicloud/kms/applicationAccessPoint.go +++ b/sdk/go/alicloud/kms/applicationAccessPoint.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Application Access Point can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/ciphertext.go b/sdk/go/alicloud/kms/ciphertext.go index 60a948b356..f57878c443 100644 --- a/sdk/go/alicloud/kms/ciphertext.go +++ b/sdk/go/alicloud/kms/ciphertext.go @@ -46,6 +46,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type Ciphertext struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/kms/clientKey.go b/sdk/go/alicloud/kms/clientKey.go index 4077a79a6b..7799cb2741 100644 --- a/sdk/go/alicloud/kms/clientKey.go +++ b/sdk/go/alicloud/kms/clientKey.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Client Key can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/getInstances.go b/sdk/go/alicloud/kms/getInstances.go index 40b40e4bef..14f28d0a64 100644 --- a/sdk/go/alicloud/kms/getInstances.go +++ b/sdk/go/alicloud/kms/getInstances.go @@ -144,7 +144,6 @@ import ( // Spec: pulumi.Int(1000), // RenewStatus: pulumi.String("ManualRenewal"), // ProductVersion: pulumi.String("3"), -// RenewPeriod: pulumi.Int(3), // VpcId: vswitch.VpcId, // ZoneIds: pulumi.StringArray{ // pulumi.String("cn-hangzhou-k"), @@ -207,10 +206,10 @@ func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.In type GetInstancesArgs struct { // A list of Instance IDs. Ids []string `pulumi:"ids"` + // The name of the resource. + InstanceName *string `pulumi:"instanceName"` // File name where to save data source results (after running `pulumi preview`). OutputFile *string `pulumi:"outputFile"` - PageNumber *int `pulumi:"pageNumber"` - PageSize *int `pulumi:"pageSize"` } // A collection of values returned by getInstances. @@ -218,12 +217,11 @@ type GetInstancesResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // A list of Instance IDs. - Ids []string `pulumi:"ids"` + Ids []string `pulumi:"ids"` + InstanceName *string `pulumi:"instanceName"` // A list of Instance Entries. Each element contains the following attributes: Instances []GetInstancesInstance `pulumi:"instances"` OutputFile *string `pulumi:"outputFile"` - PageNumber *int `pulumi:"pageNumber"` - PageSize *int `pulumi:"pageSize"` } func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput { @@ -239,10 +237,10 @@ func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts . type GetInstancesOutputArgs struct { // A list of Instance IDs. Ids pulumi.StringArrayInput `pulumi:"ids"` + // The name of the resource. + InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` // File name where to save data source results (after running `pulumi preview`). OutputFile pulumi.StringPtrInput `pulumi:"outputFile"` - PageNumber pulumi.IntPtrInput `pulumi:"pageNumber"` - PageSize pulumi.IntPtrInput `pulumi:"pageSize"` } func (GetInstancesOutputArgs) ElementType() reflect.Type { @@ -274,6 +272,10 @@ func (o GetInstancesResultOutput) Ids() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstancesResult) []string { return v.Ids }).(pulumi.StringArrayOutput) } +func (o GetInstancesResultOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesResult) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +} + // A list of Instance Entries. Each element contains the following attributes: func (o GetInstancesResultOutput) Instances() GetInstancesInstanceArrayOutput { return o.ApplyT(func(v GetInstancesResult) []GetInstancesInstance { return v.Instances }).(GetInstancesInstanceArrayOutput) @@ -283,14 +285,6 @@ func (o GetInstancesResultOutput) OutputFile() pulumi.StringPtrOutput { return o.ApplyT(func(v GetInstancesResult) *string { return v.OutputFile }).(pulumi.StringPtrOutput) } -func (o GetInstancesResultOutput) PageNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetInstancesResult) *int { return v.PageNumber }).(pulumi.IntPtrOutput) -} - -func (o GetInstancesResultOutput) PageSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetInstancesResult) *int { return v.PageSize }).(pulumi.IntPtrOutput) -} - func init() { pulumi.RegisterOutputType(GetInstancesResultOutput{}) } diff --git a/sdk/go/alicloud/kms/init.go b/sdk/go/alicloud/kms/init.go index de4c20c3d2..9e609fbdfe 100644 --- a/sdk/go/alicloud/kms/init.go +++ b/sdk/go/alicloud/kms/init.go @@ -41,6 +41,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Policy{} case "alicloud:kms/secret:Secret": r = &Secret{} + case "alicloud:kms/valueAddedService:ValueAddedService": + r = &ValueAddedService{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -104,4 +106,9 @@ func init() { "kms/secret", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "kms/valueAddedService", + &module{version}, + ) } diff --git a/sdk/go/alicloud/kms/instance.go b/sdk/go/alicloud/kms/instance.go index 39fa83a2b2..4c37e4454b 100644 --- a/sdk/go/alicloud/kms/instance.go +++ b/sdk/go/alicloud/kms/instance.go @@ -363,6 +363,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/key.go b/sdk/go/alicloud/kms/key.go index 16ec866fac..d7f537931c 100644 --- a/sdk/go/alicloud/kms/key.go +++ b/sdk/go/alicloud/kms/key.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Key can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/keyVersion.go b/sdk/go/alicloud/kms/keyVersion.go index d934202701..6f633b301f 100644 --- a/sdk/go/alicloud/kms/keyVersion.go +++ b/sdk/go/alicloud/kms/keyVersion.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Alikms key version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/networkRule.go b/sdk/go/alicloud/kms/networkRule.go index c53595ec94..02f4612290 100644 --- a/sdk/go/alicloud/kms/networkRule.go +++ b/sdk/go/alicloud/kms/networkRule.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Network Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/policy.go b/sdk/go/alicloud/kms/policy.go index 70a00f9768..c1ba59f8cb 100644 --- a/sdk/go/alicloud/kms/policy.go +++ b/sdk/go/alicloud/kms/policy.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/secret.go b/sdk/go/alicloud/kms/secret.go index a7d9a95fc7..25f0987af0 100644 --- a/sdk/go/alicloud/kms/secret.go +++ b/sdk/go/alicloud/kms/secret.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // KMS Secret can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kms/valueAddedService.go b/sdk/go/alicloud/kms/valueAddedService.go new file mode 100644 index 0000000000..94e847ca7d --- /dev/null +++ b/sdk/go/alicloud/kms/valueAddedService.go @@ -0,0 +1,408 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package kms + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a KMS Value Added Service resource. +// +// Value Added Service. +// +// For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _, err := kms.NewValueAddedService(ctx, "default", &kms.ValueAddedServiceArgs{ +// ValueAddedService: pulumi.String("2"), +// Period: pulumi.Int(1), +// PaymentType: pulumi.String("Subscription"), +// RenewPeriod: pulumi.Int(1), +// RenewStatus: pulumi.String("AutoRenewal"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// KMS Value Added Service can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example +// ``` +type ValueAddedService struct { + pulumi.CustomResourceState + + // The creation time of the resource + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The payment type of the resource + PaymentType pulumi.StringOutput `pulumi:"paymentType"` + Period pulumi.IntPtrOutput `pulumi:"period"` + // The region ID of the resource + RegionId pulumi.StringOutput `pulumi:"regionId"` + // Automatic renewal period, in years. + // + // > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + RenewPeriod pulumi.IntPtrOutput `pulumi:"renewPeriod"` + // The renewal status of the specified instance. Valid values: + // + // - AutoRenewal: The instance is automatically renewed. + // - ManualRenewal: The instance is manually renewed. + // - NotRenewal: The instance is not renewed. + RenewStatus pulumi.StringPtrOutput `pulumi:"renewStatus"` + // The status of the resource + Status pulumi.StringOutput `pulumi:"status"` + // value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ValueAddedService pulumi.StringPtrOutput `pulumi:"valueAddedService"` +} + +// NewValueAddedService registers a new resource with the given unique name, arguments, and options. +func NewValueAddedService(ctx *pulumi.Context, + name string, args *ValueAddedServiceArgs, opts ...pulumi.ResourceOption) (*ValueAddedService, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PaymentType == nil { + return nil, errors.New("invalid value for required argument 'PaymentType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ValueAddedService + err := ctx.RegisterResource("alicloud:kms/valueAddedService:ValueAddedService", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetValueAddedService gets an existing ValueAddedService 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 GetValueAddedService(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ValueAddedServiceState, opts ...pulumi.ResourceOption) (*ValueAddedService, error) { + var resource ValueAddedService + err := ctx.ReadResource("alicloud:kms/valueAddedService:ValueAddedService", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ValueAddedService resources. +type valueAddedServiceState struct { + // The creation time of the resource + CreateTime *string `pulumi:"createTime"` + // The payment type of the resource + PaymentType *string `pulumi:"paymentType"` + Period *int `pulumi:"period"` + // The region ID of the resource + RegionId *string `pulumi:"regionId"` + // Automatic renewal period, in years. + // + // > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + RenewPeriod *int `pulumi:"renewPeriod"` + // The renewal status of the specified instance. Valid values: + // + // - AutoRenewal: The instance is automatically renewed. + // - ManualRenewal: The instance is manually renewed. + // - NotRenewal: The instance is not renewed. + RenewStatus *string `pulumi:"renewStatus"` + // The status of the resource + Status *string `pulumi:"status"` + // value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ValueAddedService *string `pulumi:"valueAddedService"` +} + +type ValueAddedServiceState struct { + // The creation time of the resource + CreateTime pulumi.StringPtrInput + // The payment type of the resource + PaymentType pulumi.StringPtrInput + Period pulumi.IntPtrInput + // The region ID of the resource + RegionId pulumi.StringPtrInput + // Automatic renewal period, in years. + // + // > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + RenewPeriod pulumi.IntPtrInput + // The renewal status of the specified instance. Valid values: + // + // - AutoRenewal: The instance is automatically renewed. + // - ManualRenewal: The instance is manually renewed. + // - NotRenewal: The instance is not renewed. + RenewStatus pulumi.StringPtrInput + // The status of the resource + Status pulumi.StringPtrInput + // value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ValueAddedService pulumi.StringPtrInput +} + +func (ValueAddedServiceState) ElementType() reflect.Type { + return reflect.TypeOf((*valueAddedServiceState)(nil)).Elem() +} + +type valueAddedServiceArgs struct { + // The payment type of the resource + PaymentType string `pulumi:"paymentType"` + Period *int `pulumi:"period"` + // Automatic renewal period, in years. + // + // > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + RenewPeriod *int `pulumi:"renewPeriod"` + // The renewal status of the specified instance. Valid values: + // + // - AutoRenewal: The instance is automatically renewed. + // - ManualRenewal: The instance is manually renewed. + // - NotRenewal: The instance is not renewed. + RenewStatus *string `pulumi:"renewStatus"` + // value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ValueAddedService *string `pulumi:"valueAddedService"` +} + +// The set of arguments for constructing a ValueAddedService resource. +type ValueAddedServiceArgs struct { + // The payment type of the resource + PaymentType pulumi.StringInput + Period pulumi.IntPtrInput + // Automatic renewal period, in years. + // + // > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + RenewPeriod pulumi.IntPtrInput + // The renewal status of the specified instance. Valid values: + // + // - AutoRenewal: The instance is automatically renewed. + // - ManualRenewal: The instance is manually renewed. + // - NotRenewal: The instance is not renewed. + RenewStatus pulumi.StringPtrInput + // value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ValueAddedService pulumi.StringPtrInput +} + +func (ValueAddedServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*valueAddedServiceArgs)(nil)).Elem() +} + +type ValueAddedServiceInput interface { + pulumi.Input + + ToValueAddedServiceOutput() ValueAddedServiceOutput + ToValueAddedServiceOutputWithContext(ctx context.Context) ValueAddedServiceOutput +} + +func (*ValueAddedService) ElementType() reflect.Type { + return reflect.TypeOf((**ValueAddedService)(nil)).Elem() +} + +func (i *ValueAddedService) ToValueAddedServiceOutput() ValueAddedServiceOutput { + return i.ToValueAddedServiceOutputWithContext(context.Background()) +} + +func (i *ValueAddedService) ToValueAddedServiceOutputWithContext(ctx context.Context) ValueAddedServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ValueAddedServiceOutput) +} + +// ValueAddedServiceArrayInput is an input type that accepts ValueAddedServiceArray and ValueAddedServiceArrayOutput values. +// You can construct a concrete instance of `ValueAddedServiceArrayInput` via: +// +// ValueAddedServiceArray{ ValueAddedServiceArgs{...} } +type ValueAddedServiceArrayInput interface { + pulumi.Input + + ToValueAddedServiceArrayOutput() ValueAddedServiceArrayOutput + ToValueAddedServiceArrayOutputWithContext(context.Context) ValueAddedServiceArrayOutput +} + +type ValueAddedServiceArray []ValueAddedServiceInput + +func (ValueAddedServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ValueAddedService)(nil)).Elem() +} + +func (i ValueAddedServiceArray) ToValueAddedServiceArrayOutput() ValueAddedServiceArrayOutput { + return i.ToValueAddedServiceArrayOutputWithContext(context.Background()) +} + +func (i ValueAddedServiceArray) ToValueAddedServiceArrayOutputWithContext(ctx context.Context) ValueAddedServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ValueAddedServiceArrayOutput) +} + +// ValueAddedServiceMapInput is an input type that accepts ValueAddedServiceMap and ValueAddedServiceMapOutput values. +// You can construct a concrete instance of `ValueAddedServiceMapInput` via: +// +// ValueAddedServiceMap{ "key": ValueAddedServiceArgs{...} } +type ValueAddedServiceMapInput interface { + pulumi.Input + + ToValueAddedServiceMapOutput() ValueAddedServiceMapOutput + ToValueAddedServiceMapOutputWithContext(context.Context) ValueAddedServiceMapOutput +} + +type ValueAddedServiceMap map[string]ValueAddedServiceInput + +func (ValueAddedServiceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ValueAddedService)(nil)).Elem() +} + +func (i ValueAddedServiceMap) ToValueAddedServiceMapOutput() ValueAddedServiceMapOutput { + return i.ToValueAddedServiceMapOutputWithContext(context.Background()) +} + +func (i ValueAddedServiceMap) ToValueAddedServiceMapOutputWithContext(ctx context.Context) ValueAddedServiceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ValueAddedServiceMapOutput) +} + +type ValueAddedServiceOutput struct{ *pulumi.OutputState } + +func (ValueAddedServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ValueAddedService)(nil)).Elem() +} + +func (o ValueAddedServiceOutput) ToValueAddedServiceOutput() ValueAddedServiceOutput { + return o +} + +func (o ValueAddedServiceOutput) ToValueAddedServiceOutputWithContext(ctx context.Context) ValueAddedServiceOutput { + return o +} + +// The creation time of the resource +func (o ValueAddedServiceOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The payment type of the resource +func (o ValueAddedServiceOutput) PaymentType() pulumi.StringOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringOutput { return v.PaymentType }).(pulumi.StringOutput) +} + +func (o ValueAddedServiceOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.IntPtrOutput { return v.Period }).(pulumi.IntPtrOutput) +} + +// The region ID of the resource +func (o ValueAddedServiceOutput) RegionId() pulumi.StringOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringOutput { return v.RegionId }).(pulumi.StringOutput) +} + +// Automatic renewal period, in years. +// +// > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. +func (o ValueAddedServiceOutput) RenewPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.IntPtrOutput { return v.RenewPeriod }).(pulumi.IntPtrOutput) +} + +// The renewal status of the specified instance. Valid values: +// +// - AutoRenewal: The instance is automatically renewed. +// - ManualRenewal: The instance is manually renewed. +// - NotRenewal: The instance is not renewed. +func (o ValueAddedServiceOutput) RenewStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringPtrOutput { return v.RenewStatus }).(pulumi.StringPtrOutput) +} + +// The status of the resource +func (o ValueAddedServiceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// value added service type, Instance Backup 1 default key rotation 2 Expert service 3 +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o ValueAddedServiceOutput) ValueAddedService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ValueAddedService) pulumi.StringPtrOutput { return v.ValueAddedService }).(pulumi.StringPtrOutput) +} + +type ValueAddedServiceArrayOutput struct{ *pulumi.OutputState } + +func (ValueAddedServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ValueAddedService)(nil)).Elem() +} + +func (o ValueAddedServiceArrayOutput) ToValueAddedServiceArrayOutput() ValueAddedServiceArrayOutput { + return o +} + +func (o ValueAddedServiceArrayOutput) ToValueAddedServiceArrayOutputWithContext(ctx context.Context) ValueAddedServiceArrayOutput { + return o +} + +func (o ValueAddedServiceArrayOutput) Index(i pulumi.IntInput) ValueAddedServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ValueAddedService { + return vs[0].([]*ValueAddedService)[vs[1].(int)] + }).(ValueAddedServiceOutput) +} + +type ValueAddedServiceMapOutput struct{ *pulumi.OutputState } + +func (ValueAddedServiceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ValueAddedService)(nil)).Elem() +} + +func (o ValueAddedServiceMapOutput) ToValueAddedServiceMapOutput() ValueAddedServiceMapOutput { + return o +} + +func (o ValueAddedServiceMapOutput) ToValueAddedServiceMapOutputWithContext(ctx context.Context) ValueAddedServiceMapOutput { + return o +} + +func (o ValueAddedServiceMapOutput) MapIndex(k pulumi.StringInput) ValueAddedServiceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ValueAddedService { + return vs[0].(map[string]*ValueAddedService)[vs[1].(string)] + }).(ValueAddedServiceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ValueAddedServiceInput)(nil)).Elem(), &ValueAddedService{}) + pulumi.RegisterInputType(reflect.TypeOf((*ValueAddedServiceArrayInput)(nil)).Elem(), ValueAddedServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ValueAddedServiceMapInput)(nil)).Elem(), ValueAddedServiceMap{}) + pulumi.RegisterOutputType(ValueAddedServiceOutput{}) + pulumi.RegisterOutputType(ValueAddedServiceArrayOutput{}) + pulumi.RegisterOutputType(ValueAddedServiceMapOutput{}) +} diff --git a/sdk/go/alicloud/kvstore/account.go b/sdk/go/alicloud/kvstore/account.go index 97bf51d183..1334a6edbf 100644 --- a/sdk/go/alicloud/kvstore/account.go +++ b/sdk/go/alicloud/kvstore/account.go @@ -105,6 +105,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kvstore/auditLogConfig.go b/sdk/go/alicloud/kvstore/auditLogConfig.go index cdc845e0d0..ae08018aab 100644 --- a/sdk/go/alicloud/kvstore/auditLogConfig.go +++ b/sdk/go/alicloud/kvstore/auditLogConfig.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kvstore/backupPolicy.go b/sdk/go/alicloud/kvstore/backupPolicy.go index 319c83c04d..5ed4839788 100644 --- a/sdk/go/alicloud/kvstore/backupPolicy.go +++ b/sdk/go/alicloud/kvstore/backupPolicy.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/kvstore/connection.go b/sdk/go/alicloud/kvstore/connection.go index 599627e561..a96aa63c20 100644 --- a/sdk/go/alicloud/kvstore/connection.go +++ b/sdk/go/alicloud/kvstore/connection.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/lindorm/instance.go b/sdk/go/alicloud/lindorm/instance.go index 6037232a2f..08dfce69e6 100644 --- a/sdk/go/alicloud/lindorm/instance.go +++ b/sdk/go/alicloud/lindorm/instance.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Lindorm Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/lindorm/instanceV2.go b/sdk/go/alicloud/lindorm/instanceV2.go index 1342df9aae..ffa510b362 100644 --- a/sdk/go/alicloud/lindorm/instanceV2.go +++ b/sdk/go/alicloud/lindorm/instanceV2.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Lindorm Instance V2 can be imported using the id, e.g. @@ -127,35 +129,33 @@ type InstanceV2 struct { ArbiterZoneId pulumi.StringPtrOutput `pulumi:"arbiterZoneId"` // Deployment Scenario // - // > **NOTE:** Enumeration value - // - // > **NOTE:** - 1.0 Single AZ - // - // > **NOTE:** - 2.0 Multi-AZ Basic - // - // > **NOTE:** - 3.0 Multi-AZ High Availability Edition + // Enumeration value: + // - **1.0**: Single Zone + // - **2.0**: Multi-AZ Basic Edition + // - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ArchVersion pulumi.StringOutput `pulumi:"archVersion"` // Automatic renewal duration. Unit: Month. // - // Value range: `1` to **12 * *. + // Value range: `1` to `12`. // - // > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + // > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. AutoRenewDuration pulumi.StringPtrOutput `pulumi:"autoRenewDuration"` // Whether the instance is automatically renewed. Enumerated values: AutoRenewal pulumi.BoolPtrOutput `pulumi:"autoRenewal"` + // The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + // // > **NOTE:** Cloud storage capacity in GB CloudStorageSize pulumi.IntPtrOutput `pulumi:"cloudStorageSize"` - // > **NOTE:** > - // - // > **NOTE:** - StandardStorage: Standard cloud storage + // Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // - // > **NOTE:** - PerformanceStorage: performance-based cloud storage - // - // > **NOTE:** - capacity storage: Capacity-based cloud storage + // Enumeration value: + // - `StandardStorage`: Standard cloud storage + // - **Performance storage**: Performance-based cloud storage + // - **Capacity Storage**: Capacity-based cloud storage CloudStorageType pulumi.StringPtrOutput `pulumi:"cloudStorageType"` // Whether to enable deletion protection DeletionProtection pulumi.StringOutput `pulumi:"deletionProtection"` @@ -167,7 +167,11 @@ type InstanceV2 struct { EngineLists InstanceV2EngineListArrayOutput `pulumi:"engineLists"` // Instance name InstanceAlias pulumi.StringOutput `pulumi:"instanceAlias"` - // The payment type of the resource + // Resource attribute fields representing payment types + // + // Enumeration value: + // - `PREPAY`: Prepaid mode + // - `POSTPAY`: Postpay mode PaymentType pulumi.StringOutput `pulumi:"paymentType"` // Purchase duration unit: Month, Year // @@ -187,6 +191,8 @@ type InstanceV2 struct { VpcId pulumi.StringOutput `pulumi:"vpcId"` // VswitchId VswitchId pulumi.StringOutput `pulumi:"vswitchId"` + // Instance whitelist list See `whiteIpList` below. + WhiteIpLists InstanceV2WhiteIpListArrayOutput `pulumi:"whiteIpLists"` // The zone ID of the resource ZoneId pulumi.StringOutput `pulumi:"zoneId"` } @@ -248,35 +254,33 @@ type instanceV2State struct { ArbiterZoneId *string `pulumi:"arbiterZoneId"` // Deployment Scenario // - // > **NOTE:** Enumeration value - // - // > **NOTE:** - 1.0 Single AZ - // - // > **NOTE:** - 2.0 Multi-AZ Basic - // - // > **NOTE:** - 3.0 Multi-AZ High Availability Edition + // Enumeration value: + // - **1.0**: Single Zone + // - **2.0**: Multi-AZ Basic Edition + // - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ArchVersion *string `pulumi:"archVersion"` // Automatic renewal duration. Unit: Month. // - // Value range: `1` to **12 * *. + // Value range: `1` to `12`. // - // > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + // > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. AutoRenewDuration *string `pulumi:"autoRenewDuration"` // Whether the instance is automatically renewed. Enumerated values: AutoRenewal *bool `pulumi:"autoRenewal"` + // The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + // // > **NOTE:** Cloud storage capacity in GB CloudStorageSize *int `pulumi:"cloudStorageSize"` - // > **NOTE:** > + // Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // - // > **NOTE:** - StandardStorage: Standard cloud storage - // - // > **NOTE:** - PerformanceStorage: performance-based cloud storage - // - // > **NOTE:** - capacity storage: Capacity-based cloud storage + // Enumeration value: + // - `StandardStorage`: Standard cloud storage + // - **Performance storage**: Performance-based cloud storage + // - **Capacity Storage**: Capacity-based cloud storage CloudStorageType *string `pulumi:"cloudStorageType"` // Whether to enable deletion protection DeletionProtection *string `pulumi:"deletionProtection"` @@ -288,7 +292,11 @@ type instanceV2State struct { EngineLists []InstanceV2EngineList `pulumi:"engineLists"` // Instance name InstanceAlias *string `pulumi:"instanceAlias"` - // The payment type of the resource + // Resource attribute fields representing payment types + // + // Enumeration value: + // - `PREPAY`: Prepaid mode + // - `POSTPAY`: Postpay mode PaymentType *string `pulumi:"paymentType"` // Purchase duration unit: Month, Year // @@ -308,6 +316,8 @@ type instanceV2State struct { VpcId *string `pulumi:"vpcId"` // VswitchId VswitchId *string `pulumi:"vswitchId"` + // Instance whitelist list See `whiteIpList` below. + WhiteIpLists []InstanceV2WhiteIpList `pulumi:"whiteIpLists"` // The zone ID of the resource ZoneId *string `pulumi:"zoneId"` } @@ -319,35 +329,33 @@ type InstanceV2State struct { ArbiterZoneId pulumi.StringPtrInput // Deployment Scenario // - // > **NOTE:** Enumeration value - // - // > **NOTE:** - 1.0 Single AZ - // - // > **NOTE:** - 2.0 Multi-AZ Basic - // - // > **NOTE:** - 3.0 Multi-AZ High Availability Edition + // Enumeration value: + // - **1.0**: Single Zone + // - **2.0**: Multi-AZ Basic Edition + // - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ArchVersion pulumi.StringPtrInput // Automatic renewal duration. Unit: Month. // - // Value range: `1` to **12 * *. + // Value range: `1` to `12`. // - // > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + // > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. AutoRenewDuration pulumi.StringPtrInput // Whether the instance is automatically renewed. Enumerated values: AutoRenewal pulumi.BoolPtrInput + // The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + // // > **NOTE:** Cloud storage capacity in GB CloudStorageSize pulumi.IntPtrInput - // > **NOTE:** > - // - // > **NOTE:** - StandardStorage: Standard cloud storage - // - // > **NOTE:** - PerformanceStorage: performance-based cloud storage + // Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // - // > **NOTE:** - capacity storage: Capacity-based cloud storage + // Enumeration value: + // - `StandardStorage`: Standard cloud storage + // - **Performance storage**: Performance-based cloud storage + // - **Capacity Storage**: Capacity-based cloud storage CloudStorageType pulumi.StringPtrInput // Whether to enable deletion protection DeletionProtection pulumi.StringPtrInput @@ -359,7 +367,11 @@ type InstanceV2State struct { EngineLists InstanceV2EngineListArrayInput // Instance name InstanceAlias pulumi.StringPtrInput - // The payment type of the resource + // Resource attribute fields representing payment types + // + // Enumeration value: + // - `PREPAY`: Prepaid mode + // - `POSTPAY`: Postpay mode PaymentType pulumi.StringPtrInput // Purchase duration unit: Month, Year // @@ -379,6 +391,8 @@ type InstanceV2State struct { VpcId pulumi.StringPtrInput // VswitchId VswitchId pulumi.StringPtrInput + // Instance whitelist list See `whiteIpList` below. + WhiteIpLists InstanceV2WhiteIpListArrayInput // The zone ID of the resource ZoneId pulumi.StringPtrInput } @@ -394,35 +408,33 @@ type instanceV2Args struct { ArbiterZoneId *string `pulumi:"arbiterZoneId"` // Deployment Scenario // - // > **NOTE:** Enumeration value - // - // > **NOTE:** - 1.0 Single AZ - // - // > **NOTE:** - 2.0 Multi-AZ Basic - // - // > **NOTE:** - 3.0 Multi-AZ High Availability Edition + // Enumeration value: + // - **1.0**: Single Zone + // - **2.0**: Multi-AZ Basic Edition + // - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ArchVersion string `pulumi:"archVersion"` // Automatic renewal duration. Unit: Month. // - // Value range: `1` to **12 * *. + // Value range: `1` to `12`. // - // > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + // > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. AutoRenewDuration *string `pulumi:"autoRenewDuration"` // Whether the instance is automatically renewed. Enumerated values: AutoRenewal *bool `pulumi:"autoRenewal"` + // The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + // // > **NOTE:** Cloud storage capacity in GB CloudStorageSize *int `pulumi:"cloudStorageSize"` - // > **NOTE:** > + // Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // - // > **NOTE:** - StandardStorage: Standard cloud storage - // - // > **NOTE:** - PerformanceStorage: performance-based cloud storage - // - // > **NOTE:** - capacity storage: Capacity-based cloud storage + // Enumeration value: + // - `StandardStorage`: Standard cloud storage + // - **Performance storage**: Performance-based cloud storage + // - **Capacity Storage**: Capacity-based cloud storage CloudStorageType *string `pulumi:"cloudStorageType"` // Whether to enable deletion protection DeletionProtection *string `pulumi:"deletionProtection"` @@ -434,7 +446,11 @@ type instanceV2Args struct { EngineLists []InstanceV2EngineList `pulumi:"engineLists"` // Instance name InstanceAlias string `pulumi:"instanceAlias"` - // The payment type of the resource + // Resource attribute fields representing payment types + // + // Enumeration value: + // - `PREPAY`: Prepaid mode + // - `POSTPAY`: Postpay mode PaymentType string `pulumi:"paymentType"` // Purchase duration unit: Month, Year // @@ -452,6 +468,8 @@ type instanceV2Args struct { VpcId string `pulumi:"vpcId"` // VswitchId VswitchId string `pulumi:"vswitchId"` + // Instance whitelist list See `whiteIpList` below. + WhiteIpLists []InstanceV2WhiteIpList `pulumi:"whiteIpLists"` // The zone ID of the resource ZoneId string `pulumi:"zoneId"` } @@ -464,35 +482,33 @@ type InstanceV2Args struct { ArbiterZoneId pulumi.StringPtrInput // Deployment Scenario // - // > **NOTE:** Enumeration value - // - // > **NOTE:** - 1.0 Single AZ - // - // > **NOTE:** - 2.0 Multi-AZ Basic - // - // > **NOTE:** - 3.0 Multi-AZ High Availability Edition + // Enumeration value: + // - **1.0**: Single Zone + // - **2.0**: Multi-AZ Basic Edition + // - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ArchVersion pulumi.StringInput // Automatic renewal duration. Unit: Month. // - // Value range: `1` to **12 * *. + // Value range: `1` to `12`. // - // > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + // > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. AutoRenewDuration pulumi.StringPtrInput // Whether the instance is automatically renewed. Enumerated values: AutoRenewal pulumi.BoolPtrInput + // The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + // // > **NOTE:** Cloud storage capacity in GB CloudStorageSize pulumi.IntPtrInput - // > **NOTE:** > - // - // > **NOTE:** - StandardStorage: Standard cloud storage + // Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // - // > **NOTE:** - PerformanceStorage: performance-based cloud storage - // - // > **NOTE:** - capacity storage: Capacity-based cloud storage + // Enumeration value: + // - `StandardStorage`: Standard cloud storage + // - **Performance storage**: Performance-based cloud storage + // - **Capacity Storage**: Capacity-based cloud storage CloudStorageType pulumi.StringPtrInput // Whether to enable deletion protection DeletionProtection pulumi.StringPtrInput @@ -504,7 +520,11 @@ type InstanceV2Args struct { EngineLists InstanceV2EngineListArrayInput // Instance name InstanceAlias pulumi.StringInput - // The payment type of the resource + // Resource attribute fields representing payment types + // + // Enumeration value: + // - `PREPAY`: Prepaid mode + // - `POSTPAY`: Postpay mode PaymentType pulumi.StringInput // Purchase duration unit: Month, Year // @@ -522,6 +542,8 @@ type InstanceV2Args struct { VpcId pulumi.StringInput // VswitchId VswitchId pulumi.StringInput + // Instance whitelist list See `whiteIpList` below. + WhiteIpLists InstanceV2WhiteIpListArrayInput // The zone ID of the resource ZoneId pulumi.StringInput } @@ -625,13 +647,10 @@ func (o InstanceV2Output) ArbiterZoneId() pulumi.StringPtrOutput { // Deployment Scenario // -// > **NOTE:** Enumeration value -// -// > **NOTE:** - 1.0 Single AZ -// -// > **NOTE:** - 2.0 Multi-AZ Basic -// -// > **NOTE:** - 3.0 Multi-AZ High Availability Edition +// Enumeration value: +// - **1.0**: Single Zone +// - **2.0**: Multi-AZ Basic Edition +// - **3.0**: Multi-AZ High Availability Edition // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o InstanceV2Output) ArchVersion() pulumi.StringOutput { @@ -640,9 +659,9 @@ func (o InstanceV2Output) ArchVersion() pulumi.StringOutput { // Automatic renewal duration. Unit: Month. // -// Value range: `1` to **12 * *. +// Value range: `1` to `12`. // -// > **NOTE:** This item takes effect only when `AutoRenewal` is **true. +// > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. // // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o InstanceV2Output) AutoRenewDuration() pulumi.StringPtrOutput { @@ -654,18 +673,19 @@ func (o InstanceV2Output) AutoRenewal() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstanceV2) pulumi.BoolPtrOutput { return v.AutoRenewal }).(pulumi.BoolPtrOutput) } +// The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. +// // > **NOTE:** Cloud storage capacity in GB func (o InstanceV2Output) CloudStorageSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *InstanceV2) pulumi.IntPtrOutput { return v.CloudStorageSize }).(pulumi.IntPtrOutput) } -// > **NOTE:** > +// Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. // -// > **NOTE:** - StandardStorage: Standard cloud storage -// -// > **NOTE:** - PerformanceStorage: performance-based cloud storage -// -// > **NOTE:** - capacity storage: Capacity-based cloud storage +// Enumeration value: +// - `StandardStorage`: Standard cloud storage +// - **Performance storage**: Performance-based cloud storage +// - **Capacity Storage**: Capacity-based cloud storage func (o InstanceV2Output) CloudStorageType() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceV2) pulumi.StringPtrOutput { return v.CloudStorageType }).(pulumi.StringPtrOutput) } @@ -692,7 +712,11 @@ func (o InstanceV2Output) InstanceAlias() pulumi.StringOutput { return o.ApplyT(func(v *InstanceV2) pulumi.StringOutput { return v.InstanceAlias }).(pulumi.StringOutput) } -// The payment type of the resource +// Resource attribute fields representing payment types +// +// Enumeration value: +// - `PREPAY`: Prepaid mode +// - `POSTPAY`: Postpay mode func (o InstanceV2Output) PaymentType() pulumi.StringOutput { return o.ApplyT(func(v *InstanceV2) pulumi.StringOutput { return v.PaymentType }).(pulumi.StringOutput) } @@ -739,6 +763,11 @@ func (o InstanceV2Output) VswitchId() pulumi.StringOutput { return o.ApplyT(func(v *InstanceV2) pulumi.StringOutput { return v.VswitchId }).(pulumi.StringOutput) } +// Instance whitelist list See `whiteIpList` below. +func (o InstanceV2Output) WhiteIpLists() InstanceV2WhiteIpListArrayOutput { + return o.ApplyT(func(v *InstanceV2) InstanceV2WhiteIpListArrayOutput { return v.WhiteIpLists }).(InstanceV2WhiteIpListArrayOutput) +} + // The zone ID of the resource func (o InstanceV2Output) ZoneId() pulumi.StringOutput { return o.ApplyT(func(v *InstanceV2) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) diff --git a/sdk/go/alicloud/lindorm/pulumiTypes.go b/sdk/go/alicloud/lindorm/pulumiTypes.go index fd82dcef04..9d196322c8 100644 --- a/sdk/go/alicloud/lindorm/pulumiTypes.go +++ b/sdk/go/alicloud/lindorm/pulumiTypes.go @@ -17,6 +17,19 @@ type InstanceV2EngineList struct { // Connect Address List ConnectAddressLists []InstanceV2EngineListConnectAddressList `pulumi:"connectAddressLists"` // Engine + // + // Enumeration value: + // - `TABLE`: Wide table engine + // - `TSDB`: Time series Engine + // - `LSEARCH`: Search engine + // - `LTS`: LTS engine + // - `LVECTOR`: Vector engine + // - `LCOLUMN`: Column-store engine + // - `LAI`: AI engine + // - `FILE`: The underlying file engine + // - `LMESSAGE`: Message engine + // - `LROW`: Wide table Engine 3.0 + // - `LSTREAM`: Stream engine EngineType string `pulumi:"engineType"` // Whether it is the latest version IsLastVersion *bool `pulumi:"isLastVersion"` @@ -43,6 +56,19 @@ type InstanceV2EngineListArgs struct { // Connect Address List ConnectAddressLists InstanceV2EngineListConnectAddressListArrayInput `pulumi:"connectAddressLists"` // Engine + // + // Enumeration value: + // - `TABLE`: Wide table engine + // - `TSDB`: Time series Engine + // - `LSEARCH`: Search engine + // - `LTS`: LTS engine + // - `LVECTOR`: Vector engine + // - `LCOLUMN`: Column-store engine + // - `LAI`: AI engine + // - `FILE`: The underlying file engine + // - `LMESSAGE`: Message engine + // - `LROW`: Wide table Engine 3.0 + // - `LSTREAM`: Stream engine EngineType pulumi.StringInput `pulumi:"engineType"` // Whether it is the latest version IsLastVersion pulumi.BoolPtrInput `pulumi:"isLastVersion"` @@ -111,6 +137,19 @@ func (o InstanceV2EngineListOutput) ConnectAddressLists() InstanceV2EngineListCo } // Engine +// +// Enumeration value: +// - `TABLE`: Wide table engine +// - `TSDB`: Time series Engine +// - `LSEARCH`: Search engine +// - `LTS`: LTS engine +// - `LVECTOR`: Vector engine +// - `LCOLUMN`: Column-store engine +// - `LAI`: AI engine +// - `FILE`: The underlying file engine +// - `LMESSAGE`: Message engine +// - `LROW`: Wide table Engine 3.0 +// - `LSTREAM`: Stream engine func (o InstanceV2EngineListOutput) EngineType() pulumi.StringOutput { return o.ApplyT(func(v InstanceV2EngineList) string { return v.EngineType }).(pulumi.StringOutput) } @@ -286,6 +325,41 @@ type InstanceV2EngineListNodeGroup struct { // Node Disk Type NodeDiskType *string `pulumi:"nodeDiskType"` // Node Specifications + // - Valid values when selecting cloud storage: + // - **lindorm.c.2xlarge**, 8 cores 16GB + // - **lindorm.g.2xlarge**, 8 cores 32GB + // - **lindorm.c.4xlarge**, 16 cores 32GB + // - **lindorm.g.4xlarge**, 16 cores 64GB + // - **lindorm.c.8xlarge**, 32 core 64GB + // - **lindorm.g.8xlarge**, 32 core 128GB + // - **lindorm.g.8xlarge**, 8 cores 64GB + // - **lindorm.r.4xlarge**, 16 cores 128GB + // - **lindorm.r.8xlarge**, 32 cores 256GB + // - Valid values when local disk storage is selected: + // - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + // - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + // - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + // - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + // - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + // - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + // - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + // - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + // - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + // - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + // - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + // - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + // - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + // - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + // - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + // - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + // - **lindorm.i4.xlarge**, 4 core 32GB(I4) + // - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + // - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + // - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + // - **lindorm.i2.xlarge**, 4 core 32GB(I2) + // - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + // - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + // - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) NodeSpec string `pulumi:"nodeSpec"` // Resource group name ResourceGroupName string `pulumi:"resourceGroupName"` @@ -322,6 +396,41 @@ type InstanceV2EngineListNodeGroupArgs struct { // Node Disk Type NodeDiskType pulumi.StringPtrInput `pulumi:"nodeDiskType"` // Node Specifications + // - Valid values when selecting cloud storage: + // - **lindorm.c.2xlarge**, 8 cores 16GB + // - **lindorm.g.2xlarge**, 8 cores 32GB + // - **lindorm.c.4xlarge**, 16 cores 32GB + // - **lindorm.g.4xlarge**, 16 cores 64GB + // - **lindorm.c.8xlarge**, 32 core 64GB + // - **lindorm.g.8xlarge**, 32 core 128GB + // - **lindorm.g.8xlarge**, 8 cores 64GB + // - **lindorm.r.4xlarge**, 16 cores 128GB + // - **lindorm.r.8xlarge**, 32 cores 256GB + // - Valid values when local disk storage is selected: + // - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + // - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + // - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + // - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + // - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + // - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + // - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + // - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + // - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + // - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + // - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + // - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + // - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + // - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + // - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + // - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + // - **lindorm.i4.xlarge**, 4 core 32GB(I4) + // - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + // - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + // - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + // - **lindorm.i2.xlarge**, 4 core 32GB(I2) + // - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + // - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + // - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) NodeSpec pulumi.StringInput `pulumi:"nodeSpec"` // Resource group name ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` @@ -418,6 +527,41 @@ func (o InstanceV2EngineListNodeGroupOutput) NodeDiskType() pulumi.StringPtrOutp } // Node Specifications +// - Valid values when selecting cloud storage: +// - **lindorm.c.2xlarge**, 8 cores 16GB +// - **lindorm.g.2xlarge**, 8 cores 32GB +// - **lindorm.c.4xlarge**, 16 cores 32GB +// - **lindorm.g.4xlarge**, 16 cores 64GB +// - **lindorm.c.8xlarge**, 32 core 64GB +// - **lindorm.g.8xlarge**, 32 core 128GB +// - **lindorm.g.8xlarge**, 8 cores 64GB +// - **lindorm.r.4xlarge**, 16 cores 128GB +// - **lindorm.r.8xlarge**, 32 cores 256GB +// - Valid values when local disk storage is selected: +// - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) +// - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) +// - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) +// - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) +// - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) +// - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) +// - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) +// - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) +// - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) +// - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) +// - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) +// - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) +// - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) +// - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) +// - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) +// - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) +// - **lindorm.i4.xlarge**, 4 core 32GB(I4) +// - **lindorm.i4.2xlarge**, 8 core 64GB(I4) +// - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) +// - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) +// - **lindorm.i2.xlarge**, 4 core 32GB(I2) +// - **lindorm.i2.2xlarge**, 8 core 64GB(I2) +// - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) +// - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) func (o InstanceV2EngineListNodeGroupOutput) NodeSpec() pulumi.StringOutput { return o.ApplyT(func(v InstanceV2EngineListNodeGroup) string { return v.NodeSpec }).(pulumi.StringOutput) } @@ -457,6 +601,112 @@ func (o InstanceV2EngineListNodeGroupArrayOutput) Index(i pulumi.IntInput) Insta }).(InstanceV2EngineListNodeGroupOutput) } +type InstanceV2WhiteIpList struct { + // Group Name + GroupName string `pulumi:"groupName"` + // Whitelist information + IpList string `pulumi:"ipList"` +} + +// InstanceV2WhiteIpListInput is an input type that accepts InstanceV2WhiteIpListArgs and InstanceV2WhiteIpListOutput values. +// You can construct a concrete instance of `InstanceV2WhiteIpListInput` via: +// +// InstanceV2WhiteIpListArgs{...} +type InstanceV2WhiteIpListInput interface { + pulumi.Input + + ToInstanceV2WhiteIpListOutput() InstanceV2WhiteIpListOutput + ToInstanceV2WhiteIpListOutputWithContext(context.Context) InstanceV2WhiteIpListOutput +} + +type InstanceV2WhiteIpListArgs struct { + // Group Name + GroupName pulumi.StringInput `pulumi:"groupName"` + // Whitelist information + IpList pulumi.StringInput `pulumi:"ipList"` +} + +func (InstanceV2WhiteIpListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceV2WhiteIpList)(nil)).Elem() +} + +func (i InstanceV2WhiteIpListArgs) ToInstanceV2WhiteIpListOutput() InstanceV2WhiteIpListOutput { + return i.ToInstanceV2WhiteIpListOutputWithContext(context.Background()) +} + +func (i InstanceV2WhiteIpListArgs) ToInstanceV2WhiteIpListOutputWithContext(ctx context.Context) InstanceV2WhiteIpListOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceV2WhiteIpListOutput) +} + +// InstanceV2WhiteIpListArrayInput is an input type that accepts InstanceV2WhiteIpListArray and InstanceV2WhiteIpListArrayOutput values. +// You can construct a concrete instance of `InstanceV2WhiteIpListArrayInput` via: +// +// InstanceV2WhiteIpListArray{ InstanceV2WhiteIpListArgs{...} } +type InstanceV2WhiteIpListArrayInput interface { + pulumi.Input + + ToInstanceV2WhiteIpListArrayOutput() InstanceV2WhiteIpListArrayOutput + ToInstanceV2WhiteIpListArrayOutputWithContext(context.Context) InstanceV2WhiteIpListArrayOutput +} + +type InstanceV2WhiteIpListArray []InstanceV2WhiteIpListInput + +func (InstanceV2WhiteIpListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceV2WhiteIpList)(nil)).Elem() +} + +func (i InstanceV2WhiteIpListArray) ToInstanceV2WhiteIpListArrayOutput() InstanceV2WhiteIpListArrayOutput { + return i.ToInstanceV2WhiteIpListArrayOutputWithContext(context.Background()) +} + +func (i InstanceV2WhiteIpListArray) ToInstanceV2WhiteIpListArrayOutputWithContext(ctx context.Context) InstanceV2WhiteIpListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceV2WhiteIpListArrayOutput) +} + +type InstanceV2WhiteIpListOutput struct{ *pulumi.OutputState } + +func (InstanceV2WhiteIpListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceV2WhiteIpList)(nil)).Elem() +} + +func (o InstanceV2WhiteIpListOutput) ToInstanceV2WhiteIpListOutput() InstanceV2WhiteIpListOutput { + return o +} + +func (o InstanceV2WhiteIpListOutput) ToInstanceV2WhiteIpListOutputWithContext(ctx context.Context) InstanceV2WhiteIpListOutput { + return o +} + +// Group Name +func (o InstanceV2WhiteIpListOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceV2WhiteIpList) string { return v.GroupName }).(pulumi.StringOutput) +} + +// Whitelist information +func (o InstanceV2WhiteIpListOutput) IpList() pulumi.StringOutput { + return o.ApplyT(func(v InstanceV2WhiteIpList) string { return v.IpList }).(pulumi.StringOutput) +} + +type InstanceV2WhiteIpListArrayOutput struct{ *pulumi.OutputState } + +func (InstanceV2WhiteIpListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceV2WhiteIpList)(nil)).Elem() +} + +func (o InstanceV2WhiteIpListArrayOutput) ToInstanceV2WhiteIpListArrayOutput() InstanceV2WhiteIpListArrayOutput { + return o +} + +func (o InstanceV2WhiteIpListArrayOutput) ToInstanceV2WhiteIpListArrayOutputWithContext(ctx context.Context) InstanceV2WhiteIpListArrayOutput { + return o +} + +func (o InstanceV2WhiteIpListArrayOutput) Index(i pulumi.IntInput) InstanceV2WhiteIpListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceV2WhiteIpList { + return vs[0].([]InstanceV2WhiteIpList)[vs[1].(int)] + }).(InstanceV2WhiteIpListOutput) +} + type GetInstancesInstance struct { // AutoRenew. AutoRenew string `pulumi:"autoRenew"` @@ -858,6 +1108,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceV2EngineListConnectAddressListArrayInput)(nil)).Elem(), InstanceV2EngineListConnectAddressListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceV2EngineListNodeGroupInput)(nil)).Elem(), InstanceV2EngineListNodeGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceV2EngineListNodeGroupArrayInput)(nil)).Elem(), InstanceV2EngineListNodeGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceV2WhiteIpListInput)(nil)).Elem(), InstanceV2WhiteIpListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceV2WhiteIpListArrayInput)(nil)).Elem(), InstanceV2WhiteIpListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceInput)(nil)).Elem(), GetInstancesInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceArrayInput)(nil)).Elem(), GetInstancesInstanceArray{}) pulumi.RegisterOutputType(InstanceV2EngineListOutput{}) @@ -866,6 +1118,8 @@ func init() { pulumi.RegisterOutputType(InstanceV2EngineListConnectAddressListArrayOutput{}) pulumi.RegisterOutputType(InstanceV2EngineListNodeGroupOutput{}) pulumi.RegisterOutputType(InstanceV2EngineListNodeGroupArrayOutput{}) + pulumi.RegisterOutputType(InstanceV2WhiteIpListOutput{}) + pulumi.RegisterOutputType(InstanceV2WhiteIpListArrayOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceArrayOutput{}) } diff --git a/sdk/go/alicloud/live/caster.go b/sdk/go/alicloud/live/caster.go index 0e69307b9f..825a8c4b02 100644 --- a/sdk/go/alicloud/live/caster.go +++ b/sdk/go/alicloud/live/caster.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Live Caster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/alert.go b/sdk/go/alicloud/log/alert.go index 5115b3c5cc..23a2b92067 100644 --- a/sdk/go/alicloud/log/alert.go +++ b/sdk/go/alicloud/log/alert.go @@ -363,6 +363,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log alert can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/alertResource.go b/sdk/go/alicloud/log/alertResource.go index bf266f1e35..943b58d1c6 100644 --- a/sdk/go/alicloud/log/alertResource.go +++ b/sdk/go/alicloud/log/alertResource.go @@ -45,6 +45,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log alert resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/audit.go b/sdk/go/alicloud/log/audit.go index cbd1da7c19..8b790f5171 100644 --- a/sdk/go/alicloud/log/audit.go +++ b/sdk/go/alicloud/log/audit.go @@ -256,6 +256,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log audit can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/dashboard.go b/sdk/go/alicloud/log/dashboard.go index 3541cc0456..cbea5bf84f 100644 --- a/sdk/go/alicloud/log/dashboard.go +++ b/sdk/go/alicloud/log/dashboard.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Dashboard can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/etl.go b/sdk/go/alicloud/log/etl.go index 42eaa9c700..bdda2a9b59 100644 --- a/sdk/go/alicloud/log/etl.go +++ b/sdk/go/alicloud/log/etl.go @@ -127,6 +127,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log etl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/ingestion.go b/sdk/go/alicloud/log/ingestion.go index dd8acd303f..9e47697950 100644 --- a/sdk/go/alicloud/log/ingestion.go +++ b/sdk/go/alicloud/log/ingestion.go @@ -109,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log ingestion can be imported using the id or name, e.g. diff --git a/sdk/go/alicloud/log/logTailAttachment.go b/sdk/go/alicloud/log/logTailAttachment.go index 1e1e9e1a8b..569fb7b491 100644 --- a/sdk/go/alicloud/log/logTailAttachment.go +++ b/sdk/go/alicloud/log/logTailAttachment.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Logtial to machine group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/logTailConfig.go b/sdk/go/alicloud/log/logTailConfig.go index 70e1059f1d..4f1020def3 100644 --- a/sdk/go/alicloud/log/logTailConfig.go +++ b/sdk/go/alicloud/log/logTailConfig.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing sls-logtail module diff --git a/sdk/go/alicloud/log/machineGroup.go b/sdk/go/alicloud/log/machineGroup.go index 9657d450dc..f6652f6b24 100644 --- a/sdk/go/alicloud/log/machineGroup.go +++ b/sdk/go/alicloud/log/machineGroup.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing sls-logtail module diff --git a/sdk/go/alicloud/log/ossExport.go b/sdk/go/alicloud/log/ossExport.go index 8eed87fd77..dc74cbaf97 100644 --- a/sdk/go/alicloud/log/ossExport.go +++ b/sdk/go/alicloud/log/ossExport.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log oss export can be imported using the id or name, e.g. diff --git a/sdk/go/alicloud/log/ossShipper.go b/sdk/go/alicloud/log/ossShipper.go index 62ef31451f..8585265a23 100644 --- a/sdk/go/alicloud/log/ossShipper.go +++ b/sdk/go/alicloud/log/ossShipper.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log oss shipper can be imported using the id or name, e.g. diff --git a/sdk/go/alicloud/log/project.go b/sdk/go/alicloud/log/project.go index 5d35523160..b7d0e3337a 100644 --- a/sdk/go/alicloud/log/project.go +++ b/sdk/go/alicloud/log/project.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing sls module diff --git a/sdk/go/alicloud/log/resource.go b/sdk/go/alicloud/log/resource.go index 90a3c6c2fd..1243a7876a 100644 --- a/sdk/go/alicloud/log/resource.go +++ b/sdk/go/alicloud/log/resource.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/resourceRecord.go b/sdk/go/alicloud/log/resourceRecord.go index 1d44600890..c9f761977d 100644 --- a/sdk/go/alicloud/log/resourceRecord.go +++ b/sdk/go/alicloud/log/resourceRecord.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log resource record can be imported using the id, e.g. diff --git a/sdk/go/alicloud/log/store.go b/sdk/go/alicloud/log/store.go index 8e02e0384e..85803e6791 100644 --- a/sdk/go/alicloud/log/store.go +++ b/sdk/go/alicloud/log/store.go @@ -178,6 +178,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing sls module diff --git a/sdk/go/alicloud/log/storeIndex.go b/sdk/go/alicloud/log/storeIndex.go index e32c75c2d3..fb134933d0 100644 --- a/sdk/go/alicloud/log/storeIndex.go +++ b/sdk/go/alicloud/log/storeIndex.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use the existing sls module diff --git a/sdk/go/alicloud/marketplace/order.go b/sdk/go/alicloud/marketplace/order.go index 9678a13034..88d2aed3cd 100644 --- a/sdk/go/alicloud/marketplace/order.go +++ b/sdk/go/alicloud/marketplace/order.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Market order can be imported using the id, e.g. diff --git a/sdk/go/alicloud/maxcompute/project.go b/sdk/go/alicloud/maxcompute/project.go index 84e6d012f3..05feef61e3 100644 --- a/sdk/go/alicloud/maxcompute/project.go +++ b/sdk/go/alicloud/maxcompute/project.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Max Compute Project can be imported using the id, e.g. diff --git a/sdk/go/alicloud/maxcompute/quotaPlan.go b/sdk/go/alicloud/maxcompute/quotaPlan.go index 6b0eda4507..d7f819c191 100644 --- a/sdk/go/alicloud/maxcompute/quotaPlan.go +++ b/sdk/go/alicloud/maxcompute/quotaPlan.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Max Compute Quota Plan can be imported using the id, e.g. diff --git a/sdk/go/alicloud/maxcompute/role.go b/sdk/go/alicloud/maxcompute/role.go index 335fa80c9f..bdffe9dcfe 100644 --- a/sdk/go/alicloud/maxcompute/role.go +++ b/sdk/go/alicloud/maxcompute/role.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Max Compute Role can be imported using the id, e.g. diff --git a/sdk/go/alicloud/maxcompute/roleUserAttachment.go b/sdk/go/alicloud/maxcompute/roleUserAttachment.go index 5cd1a69f57..fdfaf24522 100644 --- a/sdk/go/alicloud/maxcompute/roleUserAttachment.go +++ b/sdk/go/alicloud/maxcompute/roleUserAttachment.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Max Compute Role User Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/message/serviceEndpointAcl.go b/sdk/go/alicloud/message/serviceEndpointAcl.go index 8f1d81b911..a2add210be 100644 --- a/sdk/go/alicloud/message/serviceEndpointAcl.go +++ b/sdk/go/alicloud/message/serviceEndpointAcl.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Message Service Endpoint Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/message/serviceEventRule.go b/sdk/go/alicloud/message/serviceEventRule.go index ddf4215c80..56d3e02cdc 100644 --- a/sdk/go/alicloud/message/serviceEventRule.go +++ b/sdk/go/alicloud/message/serviceEventRule.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Message Service Event Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/message/serviceQueue.go b/sdk/go/alicloud/message/serviceQueue.go index 73fe224a27..0c586b9778 100644 --- a/sdk/go/alicloud/message/serviceQueue.go +++ b/sdk/go/alicloud/message/serviceQueue.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Message Service Queue can be imported using the id, e.g. diff --git a/sdk/go/alicloud/message/serviceSubscription.go b/sdk/go/alicloud/message/serviceSubscription.go index 56004ccb05..ec145081e5 100644 --- a/sdk/go/alicloud/message/serviceSubscription.go +++ b/sdk/go/alicloud/message/serviceSubscription.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Message Service Subscription can be imported using the id, e.g. diff --git a/sdk/go/alicloud/message/serviceTopic.go b/sdk/go/alicloud/message/serviceTopic.go index eee8b34251..a4585ad987 100644 --- a/sdk/go/alicloud/message/serviceTopic.go +++ b/sdk/go/alicloud/message/serviceTopic.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Message Service Topic can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mhub/app.go b/sdk/go/alicloud/mhub/app.go index 619a2398a6..299395443d 100644 --- a/sdk/go/alicloud/mhub/app.go +++ b/sdk/go/alicloud/mhub/app.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MHUB App can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mhub/product.go b/sdk/go/alicloud/mhub/product.go index 245cefce66..90f6eb32b7 100644 --- a/sdk/go/alicloud/mhub/product.go +++ b/sdk/go/alicloud/mhub/product.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MHUB Product can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mns/queue.go b/sdk/go/alicloud/mns/queue.go index 240cf03fb7..f7c0073f93 100644 --- a/sdk/go/alicloud/mns/queue.go +++ b/sdk/go/alicloud/mns/queue.go @@ -44,6 +44,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MNS QUEUE can be imported using the id or name, e.g. diff --git a/sdk/go/alicloud/mns/topic.go b/sdk/go/alicloud/mns/topic.go index 03d20b6427..4004eb63ab 100644 --- a/sdk/go/alicloud/mns/topic.go +++ b/sdk/go/alicloud/mns/topic.go @@ -41,6 +41,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MNS Topic can be imported using the id or name, e.g. diff --git a/sdk/go/alicloud/mns/topicSubscription.go b/sdk/go/alicloud/mns/topicSubscription.go index a60dc65572..2149d6bc0d 100644 --- a/sdk/go/alicloud/mns/topicSubscription.go +++ b/sdk/go/alicloud/mns/topicSubscription.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MNS Topic subscription can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/globalSecurityIpGroup.go b/sdk/go/alicloud/mongodb/globalSecurityIpGroup.go index 4898ec18ca..a11ec97bc9 100644 --- a/sdk/go/alicloud/mongodb/globalSecurityIpGroup.go +++ b/sdk/go/alicloud/mongodb/globalSecurityIpGroup.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Mongodb Global Security IP Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/init.go b/sdk/go/alicloud/mongodb/init.go index 01f11e1bc0..31c02d30cd 100644 --- a/sdk/go/alicloud/mongodb/init.go +++ b/sdk/go/alicloud/mongodb/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GlobalSecurityIpGroup{} case "alicloud:mongodb/instance:Instance": r = &Instance{} + case "alicloud:mongodb/node:Node": + r = &Node{} case "alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress": r = &PrivateSrvNetworkAddress{} case "alicloud:mongodb/publicNetworkAddress:PublicNetworkAddress": @@ -76,6 +78,11 @@ func init() { "mongodb/instance", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "mongodb/node", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "mongodb/privateSrvNetworkAddress", diff --git a/sdk/go/alicloud/mongodb/instance.go b/sdk/go/alicloud/mongodb/instance.go index 88c547d539..56ef0d8f20 100644 --- a/sdk/go/alicloud/mongodb/instance.go +++ b/sdk/go/alicloud/mongodb/instance.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing mongodb module diff --git a/sdk/go/alicloud/mongodb/node.go b/sdk/go/alicloud/mongodb/node.go new file mode 100644 index 0000000000..8b36568151 --- /dev/null +++ b/sdk/go/alicloud/mongodb/node.go @@ -0,0 +1,710 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package mongodb + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Mongodb Node resource. +// +// The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. +// +// For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mongodb" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// zoneId := "cn-shanghai-b" +// if param := cfg.Get("zoneId"); param != "" { +// zoneId = param +// } +// regionId := "cn-shanghai" +// if param := cfg.Get("regionId"); param != "" { +// regionId = param +// } +// ipv4Cidr := "10.0.0.0/24" +// if param := cfg.Get("ipv4Cidr"); param != "" { +// ipv4Cidr = param +// } +// _default, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ +// Description: pulumi.String("tf-example"), +// VpcName: pulumi.String("tf-vpc-shanghai-b"), +// CidrBlock: pulumi.String("10.0.0.0/8"), +// }) +// if err != nil { +// return err +// } +// defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ +// VpcId: _default.ID(), +// ZoneId: pulumi.String(zoneId), +// CidrBlock: pulumi.String(ipv4Cidr), +// VswitchName: pulumi.String("tf-shanghai-B"), +// }) +// if err != nil { +// return err +// } +// defaultShardingInstance, err := mongodb.NewShardingInstance(ctx, "default", &mongodb.ShardingInstanceArgs{ +// EngineVersion: pulumi.String("4.2"), +// VswitchId: defaultSwitch.ID(), +// ZoneId: pulumi.String(zoneId), +// Name: pulumi.String(name), +// StorageType: pulumi.String("cloud_auto"), +// ProvisionedIops: pulumi.Int(60), +// ConfigServerLists: mongodb.ShardingInstanceConfigServerListArray{ +// &mongodb.ShardingInstanceConfigServerListArgs{ +// NodeClass: pulumi.String("mdb.shard.2x.xlarge.d"), +// NodeStorage: pulumi.Int(40), +// }, +// }, +// MongoLists: mongodb.ShardingInstanceMongoListArray{ +// &mongodb.ShardingInstanceMongoListArgs{ +// NodeClass: pulumi.String("mdb.shard.2x.xlarge.d"), +// }, +// &mongodb.ShardingInstanceMongoListArgs{ +// NodeClass: pulumi.String("mdb.shard.2x.xlarge.d"), +// }, +// }, +// ShardLists: mongodb.ShardingInstanceShardListArray{ +// &mongodb.ShardingInstanceShardListArgs{ +// NodeClass: pulumi.String("mdb.shard.2x.xlarge.d"), +// NodeStorage: pulumi.Int(40), +// }, +// &mongodb.ShardingInstanceShardListArgs{ +// NodeClass: pulumi.String("mdb.shard.2x.xlarge.d"), +// NodeStorage: pulumi.Int(40), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = mongodb.NewNode(ctx, "default", &mongodb.NodeArgs{ +// AccountPassword: pulumi.String("q1w2e3r4!"), +// AutoPay: pulumi.Bool(true), +// NodeClass: pulumi.String("mdb.shard.4x.large.d"), +// ShardDirect: pulumi.Bool(false), +// BusinessInfo: pulumi.String("1234"), +// NodeStorage: pulumi.Int(40), +// ReadonlyReplicas: pulumi.Int(0), +// DbInstanceId: defaultShardingInstance.ID(), +// NodeType: pulumi.String("shard"), +// AccountName: pulumi.String("root"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Mongodb Node can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:mongodb/node:Node example : +// ``` +type Node struct { + pulumi.CustomResourceState + + // Account name, value description: + // - Begins with a lowercase letter. + // - Consists of lowercase letters, numbers, or underscores (_). + // - 4~16 characters in length. + // + // > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + // - The permissions of the account are fixed to read-only permissions. + // - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountName pulumi.StringPtrOutput `pulumi:"accountName"` + // Account password, value description: + // - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + // - Oh-! @#$%^& *()_+-= is a special character. + // - Length is 8~32 characters. + // + // > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountPassword pulumi.StringPtrOutput `pulumi:"accountPassword"` + // Whether to pay automatically. Value description: + AutoPay pulumi.BoolPtrOutput `pulumi:"autoPay"` + // Additional parameters, business information. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BusinessInfo pulumi.StringPtrOutput `pulumi:"businessInfo"` + // The ID of the sharded cluster instance. + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + EffectiveTime pulumi.StringPtrOutput `pulumi:"effectiveTime"` + // Request Source, value description: + // - `OpenApi`: The request source is OpenApi. + FromApp pulumi.StringPtrOutput `pulumi:"fromApp"` + // The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + NodeClass pulumi.StringOutput `pulumi:"nodeClass"` + // The first ID of the resource + NodeId pulumi.StringOutput `pulumi:"nodeId"` + // The disk space of the Node. Unit: GB. + // + // Value range: `10` to `2000`, with a step size of 10GB. + // + // > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + NodeStorage pulumi.IntPtrOutput `pulumi:"nodeStorage"` + // Node type, value description: + NodeType pulumi.StringOutput `pulumi:"nodeType"` + OrderType pulumi.StringPtrOutput `pulumi:"orderType"` + // The number of read-only nodes in the Shard. + // + // Value range: `0` to `5` (integer). Default value: **0 * *. + // + // > **NOTE:** This parameter is currently only supported by China Station. + ReadonlyReplicas pulumi.IntOutput `pulumi:"readonlyReplicas"` + // Whether to apply for the direct connection address of the Shard node. Value description: + ShardDirect pulumi.BoolPtrOutput `pulumi:"shardDirect"` + // Running status of node in sharded cluster + Status pulumi.StringOutput `pulumi:"status"` + SwitchTime pulumi.StringPtrOutput `pulumi:"switchTime"` +} + +// NewNode registers a new resource with the given unique name, arguments, and options. +func NewNode(ctx *pulumi.Context, + name string, args *NodeArgs, opts ...pulumi.ResourceOption) (*Node, 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.NodeClass == nil { + return nil, errors.New("invalid value for required argument 'NodeClass'") + } + if args.NodeType == nil { + return nil, errors.New("invalid value for required argument 'NodeType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Node + err := ctx.RegisterResource("alicloud:mongodb/node:Node", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNode gets an existing Node 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 GetNode(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NodeState, opts ...pulumi.ResourceOption) (*Node, error) { + var resource Node + err := ctx.ReadResource("alicloud:mongodb/node:Node", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Node resources. +type nodeState struct { + // Account name, value description: + // - Begins with a lowercase letter. + // - Consists of lowercase letters, numbers, or underscores (_). + // - 4~16 characters in length. + // + // > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + // - The permissions of the account are fixed to read-only permissions. + // - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountName *string `pulumi:"accountName"` + // Account password, value description: + // - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + // - Oh-! @#$%^& *()_+-= is a special character. + // - Length is 8~32 characters. + // + // > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountPassword *string `pulumi:"accountPassword"` + // Whether to pay automatically. Value description: + AutoPay *bool `pulumi:"autoPay"` + // Additional parameters, business information. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BusinessInfo *string `pulumi:"businessInfo"` + // The ID of the sharded cluster instance. + DbInstanceId *string `pulumi:"dbInstanceId"` + EffectiveTime *string `pulumi:"effectiveTime"` + // Request Source, value description: + // - `OpenApi`: The request source is OpenApi. + FromApp *string `pulumi:"fromApp"` + // The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + NodeClass *string `pulumi:"nodeClass"` + // The first ID of the resource + NodeId *string `pulumi:"nodeId"` + // The disk space of the Node. Unit: GB. + // + // Value range: `10` to `2000`, with a step size of 10GB. + // + // > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + NodeStorage *int `pulumi:"nodeStorage"` + // Node type, value description: + NodeType *string `pulumi:"nodeType"` + OrderType *string `pulumi:"orderType"` + // The number of read-only nodes in the Shard. + // + // Value range: `0` to `5` (integer). Default value: **0 * *. + // + // > **NOTE:** This parameter is currently only supported by China Station. + ReadonlyReplicas *int `pulumi:"readonlyReplicas"` + // Whether to apply for the direct connection address of the Shard node. Value description: + ShardDirect *bool `pulumi:"shardDirect"` + // Running status of node in sharded cluster + Status *string `pulumi:"status"` + SwitchTime *string `pulumi:"switchTime"` +} + +type NodeState struct { + // Account name, value description: + // - Begins with a lowercase letter. + // - Consists of lowercase letters, numbers, or underscores (_). + // - 4~16 characters in length. + // + // > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + // - The permissions of the account are fixed to read-only permissions. + // - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountName pulumi.StringPtrInput + // Account password, value description: + // - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + // - Oh-! @#$%^& *()_+-= is a special character. + // - Length is 8~32 characters. + // + // > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountPassword pulumi.StringPtrInput + // Whether to pay automatically. Value description: + AutoPay pulumi.BoolPtrInput + // Additional parameters, business information. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BusinessInfo pulumi.StringPtrInput + // The ID of the sharded cluster instance. + DbInstanceId pulumi.StringPtrInput + EffectiveTime pulumi.StringPtrInput + // Request Source, value description: + // - `OpenApi`: The request source is OpenApi. + FromApp pulumi.StringPtrInput + // The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + NodeClass pulumi.StringPtrInput + // The first ID of the resource + NodeId pulumi.StringPtrInput + // The disk space of the Node. Unit: GB. + // + // Value range: `10` to `2000`, with a step size of 10GB. + // + // > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + NodeStorage pulumi.IntPtrInput + // Node type, value description: + NodeType pulumi.StringPtrInput + OrderType pulumi.StringPtrInput + // The number of read-only nodes in the Shard. + // + // Value range: `0` to `5` (integer). Default value: **0 * *. + // + // > **NOTE:** This parameter is currently only supported by China Station. + ReadonlyReplicas pulumi.IntPtrInput + // Whether to apply for the direct connection address of the Shard node. Value description: + ShardDirect pulumi.BoolPtrInput + // Running status of node in sharded cluster + Status pulumi.StringPtrInput + SwitchTime pulumi.StringPtrInput +} + +func (NodeState) ElementType() reflect.Type { + return reflect.TypeOf((*nodeState)(nil)).Elem() +} + +type nodeArgs struct { + // Account name, value description: + // - Begins with a lowercase letter. + // - Consists of lowercase letters, numbers, or underscores (_). + // - 4~16 characters in length. + // + // > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + // - The permissions of the account are fixed to read-only permissions. + // - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountName *string `pulumi:"accountName"` + // Account password, value description: + // - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + // - Oh-! @#$%^& *()_+-= is a special character. + // - Length is 8~32 characters. + // + // > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountPassword *string `pulumi:"accountPassword"` + // Whether to pay automatically. Value description: + AutoPay *bool `pulumi:"autoPay"` + // Additional parameters, business information. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BusinessInfo *string `pulumi:"businessInfo"` + // The ID of the sharded cluster instance. + DbInstanceId string `pulumi:"dbInstanceId"` + EffectiveTime *string `pulumi:"effectiveTime"` + // Request Source, value description: + // - `OpenApi`: The request source is OpenApi. + FromApp *string `pulumi:"fromApp"` + // The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + NodeClass string `pulumi:"nodeClass"` + // The disk space of the Node. Unit: GB. + // + // Value range: `10` to `2000`, with a step size of 10GB. + // + // > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + NodeStorage *int `pulumi:"nodeStorage"` + // Node type, value description: + NodeType string `pulumi:"nodeType"` + OrderType *string `pulumi:"orderType"` + // The number of read-only nodes in the Shard. + // + // Value range: `0` to `5` (integer). Default value: **0 * *. + // + // > **NOTE:** This parameter is currently only supported by China Station. + ReadonlyReplicas *int `pulumi:"readonlyReplicas"` + // Whether to apply for the direct connection address of the Shard node. Value description: + ShardDirect *bool `pulumi:"shardDirect"` + SwitchTime *string `pulumi:"switchTime"` +} + +// The set of arguments for constructing a Node resource. +type NodeArgs struct { + // Account name, value description: + // - Begins with a lowercase letter. + // - Consists of lowercase letters, numbers, or underscores (_). + // - 4~16 characters in length. + // + // > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + // - The permissions of the account are fixed to read-only permissions. + // - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountName pulumi.StringPtrInput + // Account password, value description: + // - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + // - Oh-! @#$%^& *()_+-= is a special character. + // - Length is 8~32 characters. + // + // > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + AccountPassword pulumi.StringPtrInput + // Whether to pay automatically. Value description: + AutoPay pulumi.BoolPtrInput + // Additional parameters, business information. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BusinessInfo pulumi.StringPtrInput + // The ID of the sharded cluster instance. + DbInstanceId pulumi.StringInput + EffectiveTime pulumi.StringPtrInput + // Request Source, value description: + // - `OpenApi`: The request source is OpenApi. + FromApp pulumi.StringPtrInput + // The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + NodeClass pulumi.StringInput + // The disk space of the Node. Unit: GB. + // + // Value range: `10` to `2000`, with a step size of 10GB. + // + // > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + NodeStorage pulumi.IntPtrInput + // Node type, value description: + NodeType pulumi.StringInput + OrderType pulumi.StringPtrInput + // The number of read-only nodes in the Shard. + // + // Value range: `0` to `5` (integer). Default value: **0 * *. + // + // > **NOTE:** This parameter is currently only supported by China Station. + ReadonlyReplicas pulumi.IntPtrInput + // Whether to apply for the direct connection address of the Shard node. Value description: + ShardDirect pulumi.BoolPtrInput + SwitchTime pulumi.StringPtrInput +} + +func (NodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*nodeArgs)(nil)).Elem() +} + +type NodeInput interface { + pulumi.Input + + ToNodeOutput() NodeOutput + ToNodeOutputWithContext(ctx context.Context) NodeOutput +} + +func (*Node) ElementType() reflect.Type { + return reflect.TypeOf((**Node)(nil)).Elem() +} + +func (i *Node) ToNodeOutput() NodeOutput { + return i.ToNodeOutputWithContext(context.Background()) +} + +func (i *Node) ToNodeOutputWithContext(ctx context.Context) NodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeOutput) +} + +// NodeArrayInput is an input type that accepts NodeArray and NodeArrayOutput values. +// You can construct a concrete instance of `NodeArrayInput` via: +// +// NodeArray{ NodeArgs{...} } +type NodeArrayInput interface { + pulumi.Input + + ToNodeArrayOutput() NodeArrayOutput + ToNodeArrayOutputWithContext(context.Context) NodeArrayOutput +} + +type NodeArray []NodeInput + +func (NodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Node)(nil)).Elem() +} + +func (i NodeArray) ToNodeArrayOutput() NodeArrayOutput { + return i.ToNodeArrayOutputWithContext(context.Background()) +} + +func (i NodeArray) ToNodeArrayOutputWithContext(ctx context.Context) NodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeArrayOutput) +} + +// NodeMapInput is an input type that accepts NodeMap and NodeMapOutput values. +// You can construct a concrete instance of `NodeMapInput` via: +// +// NodeMap{ "key": NodeArgs{...} } +type NodeMapInput interface { + pulumi.Input + + ToNodeMapOutput() NodeMapOutput + ToNodeMapOutputWithContext(context.Context) NodeMapOutput +} + +type NodeMap map[string]NodeInput + +func (NodeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Node)(nil)).Elem() +} + +func (i NodeMap) ToNodeMapOutput() NodeMapOutput { + return i.ToNodeMapOutputWithContext(context.Background()) +} + +func (i NodeMap) ToNodeMapOutputWithContext(ctx context.Context) NodeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeMapOutput) +} + +type NodeOutput struct{ *pulumi.OutputState } + +func (NodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Node)(nil)).Elem() +} + +func (o NodeOutput) ToNodeOutput() NodeOutput { + return o +} + +func (o NodeOutput) ToNodeOutputWithContext(ctx context.Context) NodeOutput { + return o +} + +// Account name, value description: +// - Begins with a lowercase letter. +// - Consists of lowercase letters, numbers, or underscores (_). +// - 4~16 characters in length. +// +// > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. +// - The permissions of the account are fixed to read-only permissions. +// - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o NodeOutput) AccountName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.AccountName }).(pulumi.StringPtrOutput) +} + +// Account password, value description: +// - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. +// - Oh-! @#$%^& *()_+-= is a special character. +// - Length is 8~32 characters. +// +// > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o NodeOutput) AccountPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.AccountPassword }).(pulumi.StringPtrOutput) +} + +// Whether to pay automatically. Value description: +func (o NodeOutput) AutoPay() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Node) pulumi.BoolPtrOutput { return v.AutoPay }).(pulumi.BoolPtrOutput) +} + +// Additional parameters, business information. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o NodeOutput) BusinessInfo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.BusinessInfo }).(pulumi.StringPtrOutput) +} + +// The ID of the sharded cluster instance. +func (o NodeOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) +} + +func (o NodeOutput) EffectiveTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.EffectiveTime }).(pulumi.StringPtrOutput) +} + +// Request Source, value description: +// - `OpenApi`: The request source is OpenApi. +func (o NodeOutput) FromApp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.FromApp }).(pulumi.StringPtrOutput) +} + +// The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. +func (o NodeOutput) NodeClass() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.NodeClass }).(pulumi.StringOutput) +} + +// The first ID of the resource +func (o NodeOutput) NodeId() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.NodeId }).(pulumi.StringOutput) +} + +// The disk space of the Node. Unit: GB. +// +// Value range: `10` to `2000`, with a step size of 10GB. +// +// > **NOTE:** When the node type is `Shard`, you need to configure this parameter. +func (o NodeOutput) NodeStorage() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Node) pulumi.IntPtrOutput { return v.NodeStorage }).(pulumi.IntPtrOutput) +} + +// Node type, value description: +func (o NodeOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) +} + +func (o NodeOutput) OrderType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.OrderType }).(pulumi.StringPtrOutput) +} + +// The number of read-only nodes in the Shard. +// +// Value range: `0` to `5` (integer). Default value: **0 * *. +// +// > **NOTE:** This parameter is currently only supported by China Station. +func (o NodeOutput) ReadonlyReplicas() pulumi.IntOutput { + return o.ApplyT(func(v *Node) pulumi.IntOutput { return v.ReadonlyReplicas }).(pulumi.IntOutput) +} + +// Whether to apply for the direct connection address of the Shard node. Value description: +func (o NodeOutput) ShardDirect() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Node) pulumi.BoolPtrOutput { return v.ShardDirect }).(pulumi.BoolPtrOutput) +} + +// Running status of node in sharded cluster +func (o NodeOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Node) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o NodeOutput) SwitchTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Node) pulumi.StringPtrOutput { return v.SwitchTime }).(pulumi.StringPtrOutput) +} + +type NodeArrayOutput struct{ *pulumi.OutputState } + +func (NodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Node)(nil)).Elem() +} + +func (o NodeArrayOutput) ToNodeArrayOutput() NodeArrayOutput { + return o +} + +func (o NodeArrayOutput) ToNodeArrayOutputWithContext(ctx context.Context) NodeArrayOutput { + return o +} + +func (o NodeArrayOutput) Index(i pulumi.IntInput) NodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Node { + return vs[0].([]*Node)[vs[1].(int)] + }).(NodeOutput) +} + +type NodeMapOutput struct{ *pulumi.OutputState } + +func (NodeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Node)(nil)).Elem() +} + +func (o NodeMapOutput) ToNodeMapOutput() NodeMapOutput { + return o +} + +func (o NodeMapOutput) ToNodeMapOutputWithContext(ctx context.Context) NodeMapOutput { + return o +} + +func (o NodeMapOutput) MapIndex(k pulumi.StringInput) NodeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Node { + return vs[0].(map[string]*Node)[vs[1].(string)] + }).(NodeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NodeInput)(nil)).Elem(), &Node{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeArrayInput)(nil)).Elem(), NodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeMapInput)(nil)).Elem(), NodeMap{}) + pulumi.RegisterOutputType(NodeOutput{}) + pulumi.RegisterOutputType(NodeArrayOutput{}) + pulumi.RegisterOutputType(NodeMapOutput{}) +} diff --git a/sdk/go/alicloud/mongodb/privateSrvNetworkAddress.go b/sdk/go/alicloud/mongodb/privateSrvNetworkAddress.go index 5defcc919d..aa5be0276c 100644 --- a/sdk/go/alicloud/mongodb/privateSrvNetworkAddress.go +++ b/sdk/go/alicloud/mongodb/privateSrvNetworkAddress.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Mongodb Private Srv Network Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/publicNetworkAddress.go b/sdk/go/alicloud/mongodb/publicNetworkAddress.go index 72f20be00f..15fa491a25 100644 --- a/sdk/go/alicloud/mongodb/publicNetworkAddress.go +++ b/sdk/go/alicloud/mongodb/publicNetworkAddress.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MongoDB public network address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/replicaSetRole.go b/sdk/go/alicloud/mongodb/replicaSetRole.go index 990c0218bb..f51a8c2e60 100644 --- a/sdk/go/alicloud/mongodb/replicaSetRole.go +++ b/sdk/go/alicloud/mongodb/replicaSetRole.go @@ -116,6 +116,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `::`. diff --git a/sdk/go/alicloud/mongodb/serverlessInstance.go b/sdk/go/alicloud/mongodb/serverlessInstance.go index d06655b412..162b960aea 100644 --- a/sdk/go/alicloud/mongodb/serverlessInstance.go +++ b/sdk/go/alicloud/mongodb/serverlessInstance.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MongoDB Serverless Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/shardingInstance.go b/sdk/go/alicloud/mongodb/shardingInstance.go index ff4911f923..694d70ad12 100644 --- a/sdk/go/alicloud/mongodb/shardingInstance.go +++ b/sdk/go/alicloud/mongodb/shardingInstance.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing mongodb-sharding module diff --git a/sdk/go/alicloud/mongodb/shardingNetworkPrivateAddress.go b/sdk/go/alicloud/mongodb/shardingNetworkPrivateAddress.go index bc228fe264..d8386788bb 100644 --- a/sdk/go/alicloud/mongodb/shardingNetworkPrivateAddress.go +++ b/sdk/go/alicloud/mongodb/shardingNetworkPrivateAddress.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MongoDB Sharding Network Private Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mongodb/shardingNetworkPublicAddress.go b/sdk/go/alicloud/mongodb/shardingNetworkPublicAddress.go index 04072191c6..06628d3130 100644 --- a/sdk/go/alicloud/mongodb/shardingNetworkPublicAddress.go +++ b/sdk/go/alicloud/mongodb/shardingNetworkPublicAddress.go @@ -112,6 +112,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // MongoDB Sharding Network Public Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mscSubContract.go b/sdk/go/alicloud/mscSubContract.go index 47f142a0f9..65d694542f 100644 --- a/sdk/go/alicloud/mscSubContract.go +++ b/sdk/go/alicloud/mscSubContract.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Msc Sub Contact can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mscSubSubscription.go b/sdk/go/alicloud/mscSubSubscription.go index c4693190e8..dfa5b7d17f 100644 --- a/sdk/go/alicloud/mscSubSubscription.go +++ b/sdk/go/alicloud/mscSubSubscription.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Msc Sub Subscription can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mscSubWebhook.go b/sdk/go/alicloud/mscSubWebhook.go index b938f8eb4c..22133334a1 100644 --- a/sdk/go/alicloud/mscSubWebhook.go +++ b/sdk/go/alicloud/mscSubWebhook.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Msc Sub Webhook can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mse/engineNamespace.go b/sdk/go/alicloud/mse/engineNamespace.go index 991c64fd13..f84eb203c9 100644 --- a/sdk/go/alicloud/mse/engineNamespace.go +++ b/sdk/go/alicloud/mse/engineNamespace.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mse/gateway.go b/sdk/go/alicloud/mse/gateway.go index 6bcdc91a45..64a8959bc5 100644 --- a/sdk/go/alicloud/mse/gateway.go +++ b/sdk/go/alicloud/mse/gateway.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Microservice Engine (MSE) Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mse/nacosConfig.go b/sdk/go/alicloud/mse/nacosConfig.go index 2acf6839ad..1581f6ab7b 100644 --- a/sdk/go/alicloud/mse/nacosConfig.go +++ b/sdk/go/alicloud/mse/nacosConfig.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/mse/znode.go b/sdk/go/alicloud/mse/znode.go index 10a45b8332..2221ca6c74 100644 --- a/sdk/go/alicloud/mse/znode.go +++ b/sdk/go/alicloud/mse/znode.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Microservice Engine (MSE) Znode can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/accessGroup.go b/sdk/go/alicloud/nas/accessGroup.go index 29d91ebcb1..af853b72d5 100644 --- a/sdk/go/alicloud/nas/accessGroup.go +++ b/sdk/go/alicloud/nas/accessGroup.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NAS Access Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/accessPoint.go b/sdk/go/alicloud/nas/accessPoint.go index f92bc96002..f38332a3b5 100644 --- a/sdk/go/alicloud/nas/accessPoint.go +++ b/sdk/go/alicloud/nas/accessPoint.go @@ -121,6 +121,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Access Point can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/accessRule.go b/sdk/go/alicloud/nas/accessRule.go index 7e57051545..e0c31c7f5c 100644 --- a/sdk/go/alicloud/nas/accessRule.go +++ b/sdk/go/alicloud/nas/accessRule.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NAS Access Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/autoSnapshotPolicy.go b/sdk/go/alicloud/nas/autoSnapshotPolicy.go index 20e88ca10b..a612bd9d2d 100644 --- a/sdk/go/alicloud/nas/autoSnapshotPolicy.go +++ b/sdk/go/alicloud/nas/autoSnapshotPolicy.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NAS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/dataFlow.go b/sdk/go/alicloud/nas/dataFlow.go index 2e289205dd..b11e6e8b04 100644 --- a/sdk/go/alicloud/nas/dataFlow.go +++ b/sdk/go/alicloud/nas/dataFlow.go @@ -132,6 +132,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Data Flow can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/fileSystem.go b/sdk/go/alicloud/nas/fileSystem.go index dd99c8efc2..1248913d03 100644 --- a/sdk/go/alicloud/nas/fileSystem.go +++ b/sdk/go/alicloud/nas/fileSystem.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) File System can be imported using the id, e.g. @@ -116,11 +118,9 @@ type FileSystem struct { // - standard (default): Universal NAS // - extreme: extreme NAS // - cpfs: file storage CPFS - FileSystemType pulumi.StringOutput `pulumi:"fileSystemType"` - // String of keytab file content encrypted by base64 - Keytab pulumi.StringPtrOutput `pulumi:"keytab"` - // String of the keytab file content encrypted by MD5 - KeytabMd5 pulumi.StringPtrOutput `pulumi:"keytabMd5"` + FileSystemType pulumi.StringOutput `pulumi:"fileSystemType"` + Keytab pulumi.StringPtrOutput `pulumi:"keytab"` + KeytabMd5 pulumi.StringPtrOutput `pulumi:"keytabMd5"` // The ID of the KMS key. // This parameter is required only when EncryptType = 2. KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` @@ -135,6 +135,10 @@ type FileSystem struct { ProtocolType pulumi.StringOutput `pulumi:"protocolType"` // Recycle Bin See `recycleBin` below. RecycleBin FileSystemRecycleBinOutput `pulumi:"recycleBin"` + // Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + RedundancyType pulumi.StringOutput `pulumi:"redundancyType"` + // Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + RedundancyVswitchIds pulumi.StringArrayOutput `pulumi:"redundancyVswitchIds"` // RegionId RegionId pulumi.StringOutput `pulumi:"regionId"` // The ID of the resource group. @@ -144,6 +148,8 @@ type FileSystem struct { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"` // File system status. Includes:(such as creating a mount point) can only be performed when the file system is in the Running state. Status pulumi.StringOutput `pulumi:"status"` @@ -245,10 +251,8 @@ type fileSystemState struct { // - extreme: extreme NAS // - cpfs: file storage CPFS FileSystemType *string `pulumi:"fileSystemType"` - // String of keytab file content encrypted by base64 - Keytab *string `pulumi:"keytab"` - // String of the keytab file content encrypted by MD5 - KeytabMd5 *string `pulumi:"keytabMd5"` + Keytab *string `pulumi:"keytab"` + KeytabMd5 *string `pulumi:"keytabMd5"` // The ID of the KMS key. // This parameter is required only when EncryptType = 2. KmsKeyId *string `pulumi:"kmsKeyId"` @@ -263,6 +267,10 @@ type fileSystemState struct { ProtocolType *string `pulumi:"protocolType"` // Recycle Bin See `recycleBin` below. RecycleBin *FileSystemRecycleBin `pulumi:"recycleBin"` + // Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + RedundancyType *string `pulumi:"redundancyType"` + // Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + RedundancyVswitchIds []string `pulumi:"redundancyVswitchIds"` // RegionId RegionId *string `pulumi:"regionId"` // The ID of the resource group. @@ -272,6 +280,8 @@ type fileSystemState struct { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. SnapshotId *string `pulumi:"snapshotId"` // File system status. Includes:(such as creating a mount point) can only be performed when the file system is in the Running state. Status *string `pulumi:"status"` @@ -338,10 +348,8 @@ type FileSystemState struct { // - extreme: extreme NAS // - cpfs: file storage CPFS FileSystemType pulumi.StringPtrInput - // String of keytab file content encrypted by base64 - Keytab pulumi.StringPtrInput - // String of the keytab file content encrypted by MD5 - KeytabMd5 pulumi.StringPtrInput + Keytab pulumi.StringPtrInput + KeytabMd5 pulumi.StringPtrInput // The ID of the KMS key. // This parameter is required only when EncryptType = 2. KmsKeyId pulumi.StringPtrInput @@ -356,6 +364,10 @@ type FileSystemState struct { ProtocolType pulumi.StringPtrInput // Recycle Bin See `recycleBin` below. RecycleBin FileSystemRecycleBinPtrInput + // Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + RedundancyType pulumi.StringPtrInput + // Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + RedundancyVswitchIds pulumi.StringArrayInput // RegionId RegionId pulumi.StringPtrInput // The ID of the resource group. @@ -365,6 +377,8 @@ type FileSystemState struct { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. SnapshotId pulumi.StringPtrInput // File system status. Includes:(such as creating a mount point) can only be performed when the file system is in the Running state. Status pulumi.StringPtrInput @@ -433,10 +447,8 @@ type fileSystemArgs struct { // - extreme: extreme NAS // - cpfs: file storage CPFS FileSystemType *string `pulumi:"fileSystemType"` - // String of keytab file content encrypted by base64 - Keytab *string `pulumi:"keytab"` - // String of the keytab file content encrypted by MD5 - KeytabMd5 *string `pulumi:"keytabMd5"` + Keytab *string `pulumi:"keytab"` + KeytabMd5 *string `pulumi:"keytabMd5"` // The ID of the KMS key. // This parameter is required only when EncryptType = 2. KmsKeyId *string `pulumi:"kmsKeyId"` @@ -451,6 +463,10 @@ type fileSystemArgs struct { ProtocolType string `pulumi:"protocolType"` // Recycle Bin See `recycleBin` below. RecycleBin *FileSystemRecycleBin `pulumi:"recycleBin"` + // Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + RedundancyType *string `pulumi:"redundancyType"` + // Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + RedundancyVswitchIds []string `pulumi:"redundancyVswitchIds"` // The ID of the resource group. ResourceGroupId *string `pulumi:"resourceGroupId"` // SMB ACL See `smbAcl` below. @@ -458,6 +474,8 @@ type fileSystemArgs struct { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. SnapshotId *string `pulumi:"snapshotId"` // The storage type. // - When FileSystemType = standard, the values are Performance, Capacity, and Premium. @@ -521,10 +539,8 @@ type FileSystemArgs struct { // - extreme: extreme NAS // - cpfs: file storage CPFS FileSystemType pulumi.StringPtrInput - // String of keytab file content encrypted by base64 - Keytab pulumi.StringPtrInput - // String of the keytab file content encrypted by MD5 - KeytabMd5 pulumi.StringPtrInput + Keytab pulumi.StringPtrInput + KeytabMd5 pulumi.StringPtrInput // The ID of the KMS key. // This parameter is required only when EncryptType = 2. KmsKeyId pulumi.StringPtrInput @@ -539,6 +555,10 @@ type FileSystemArgs struct { ProtocolType pulumi.StringInput // Recycle Bin See `recycleBin` below. RecycleBin FileSystemRecycleBinPtrInput + // Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + RedundancyType pulumi.StringPtrInput + // Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + RedundancyVswitchIds pulumi.StringArrayInput // The ID of the resource group. ResourceGroupId pulumi.StringPtrInput // SMB ACL See `smbAcl` below. @@ -546,6 +566,8 @@ type FileSystemArgs struct { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. SnapshotId pulumi.StringPtrInput // The storage type. // - When FileSystemType = standard, the values are Performance, Capacity, and Premium. @@ -711,12 +733,10 @@ func (o FileSystemOutput) FileSystemType() pulumi.StringOutput { return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.FileSystemType }).(pulumi.StringOutput) } -// String of keytab file content encrypted by base64 func (o FileSystemOutput) Keytab() pulumi.StringPtrOutput { return o.ApplyT(func(v *FileSystem) pulumi.StringPtrOutput { return v.Keytab }).(pulumi.StringPtrOutput) } -// String of the keytab file content encrypted by MD5 func (o FileSystemOutput) KeytabMd5() pulumi.StringPtrOutput { return o.ApplyT(func(v *FileSystem) pulumi.StringPtrOutput { return v.KeytabMd5 }).(pulumi.StringPtrOutput) } @@ -750,6 +770,16 @@ func (o FileSystemOutput) RecycleBin() FileSystemRecycleBinOutput { return o.ApplyT(func(v *FileSystem) FileSystemRecycleBinOutput { return v.RecycleBin }).(FileSystemRecycleBinOutput) } +// Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS +func (o FileSystemOutput) RedundancyType() pulumi.StringOutput { + return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.RedundancyType }).(pulumi.StringOutput) +} + +// Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. +func (o FileSystemOutput) RedundancyVswitchIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FileSystem) pulumi.StringArrayOutput { return v.RedundancyVswitchIds }).(pulumi.StringArrayOutput) +} + // RegionId func (o FileSystemOutput) RegionId() pulumi.StringOutput { return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.RegionId }).(pulumi.StringOutput) @@ -768,6 +798,8 @@ func (o FileSystemOutput) SmbAcl() FileSystemSmbAclOutput { // Only extreme NAS is supported. // // > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. func (o FileSystemOutput) SnapshotId() pulumi.StringPtrOutput { return o.ApplyT(func(v *FileSystem) pulumi.StringPtrOutput { return v.SnapshotId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/alicloud/nas/fileset.go b/sdk/go/alicloud/nas/fileset.go index 7bc9b82287..ba772ed458 100644 --- a/sdk/go/alicloud/nas/fileset.go +++ b/sdk/go/alicloud/nas/fileset.go @@ -14,6 +14,8 @@ import ( // Provides a File Storage (NAS) Fileset resource. // +// Fileset of CPFS file system. +// // For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). // // > **NOTE:** Available since v1.153.0. @@ -83,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Fileset can be imported using the id, e.g. @@ -93,17 +97,23 @@ import ( type Fileset struct { pulumi.CustomResourceState - // The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + // The time when Fileset was created. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + // - true: Enable instance release protection. + // - false (default): Turn off instance release protection + DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"` + // Description of Fileset. Description pulumi.StringPtrOutput `pulumi:"description"` - // The dry run. + // Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"` // The ID of the file system. FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"` - // The path of the fileset. + // The path of Fileset. FileSystemPath pulumi.StringOutput `pulumi:"fileSystemPath"` - // The first ID of the resource. + // Fileset ID FilesetId pulumi.StringOutput `pulumi:"filesetId"` - // The status of the fileset. + // The status of Fileset. Includes: Status pulumi.StringOutput `pulumi:"status"` } @@ -143,32 +153,44 @@ func GetFileset(ctx *pulumi.Context, // Input properties used for looking up and filtering Fileset resources. type filesetState struct { - // The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + // The time when Fileset was created. + CreateTime *string `pulumi:"createTime"` + // The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + // - true: Enable instance release protection. + // - false (default): Turn off instance release protection + DeletionProtection *bool `pulumi:"deletionProtection"` + // Description of Fileset. Description *string `pulumi:"description"` - // The dry run. + // Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. DryRun *bool `pulumi:"dryRun"` // The ID of the file system. FileSystemId *string `pulumi:"fileSystemId"` - // The path of the fileset. + // The path of Fileset. FileSystemPath *string `pulumi:"fileSystemPath"` - // The first ID of the resource. + // Fileset ID FilesetId *string `pulumi:"filesetId"` - // The status of the fileset. + // The status of Fileset. Includes: Status *string `pulumi:"status"` } type FilesetState struct { - // The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + // The time when Fileset was created. + CreateTime pulumi.StringPtrInput + // The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + // - true: Enable instance release protection. + // - false (default): Turn off instance release protection + DeletionProtection pulumi.BoolPtrInput + // Description of Fileset. Description pulumi.StringPtrInput - // The dry run. + // Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. DryRun pulumi.BoolPtrInput // The ID of the file system. FileSystemId pulumi.StringPtrInput - // The path of the fileset. + // The path of Fileset. FileSystemPath pulumi.StringPtrInput - // The first ID of the resource. + // Fileset ID FilesetId pulumi.StringPtrInput - // The status of the fileset. + // The status of Fileset. Includes: Status pulumi.StringPtrInput } @@ -177,25 +199,33 @@ func (FilesetState) ElementType() reflect.Type { } type filesetArgs struct { - // The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + // The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + // - true: Enable instance release protection. + // - false (default): Turn off instance release protection + DeletionProtection *bool `pulumi:"deletionProtection"` + // Description of Fileset. Description *string `pulumi:"description"` - // The dry run. + // Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. DryRun *bool `pulumi:"dryRun"` // The ID of the file system. FileSystemId string `pulumi:"fileSystemId"` - // The path of the fileset. + // The path of Fileset. FileSystemPath string `pulumi:"fileSystemPath"` } // The set of arguments for constructing a Fileset resource. type FilesetArgs struct { - // The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + // The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + // - true: Enable instance release protection. + // - false (default): Turn off instance release protection + DeletionProtection pulumi.BoolPtrInput + // Description of Fileset. Description pulumi.StringPtrInput - // The dry run. + // Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. DryRun pulumi.BoolPtrInput // The ID of the file system. FileSystemId pulumi.StringInput - // The path of the fileset. + // The path of Fileset. FileSystemPath pulumi.StringInput } @@ -286,12 +316,24 @@ func (o FilesetOutput) ToFilesetOutputWithContext(ctx context.Context) FilesetOu return o } -// The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. +// The time when Fileset was created. +func (o FilesetOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Fileset) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). +// - true: Enable instance release protection. +// - false (default): Turn off instance release protection +func (o FilesetOutput) DeletionProtection() pulumi.BoolOutput { + return o.ApplyT(func(v *Fileset) pulumi.BoolOutput { return v.DeletionProtection }).(pulumi.BoolOutput) +} + +// Description of Fileset. func (o FilesetOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Fileset) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// The dry run. +// Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. func (o FilesetOutput) DryRun() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Fileset) pulumi.BoolPtrOutput { return v.DryRun }).(pulumi.BoolPtrOutput) } @@ -301,17 +343,17 @@ func (o FilesetOutput) FileSystemId() pulumi.StringOutput { return o.ApplyT(func(v *Fileset) pulumi.StringOutput { return v.FileSystemId }).(pulumi.StringOutput) } -// The path of the fileset. +// The path of Fileset. func (o FilesetOutput) FileSystemPath() pulumi.StringOutput { return o.ApplyT(func(v *Fileset) pulumi.StringOutput { return v.FileSystemPath }).(pulumi.StringOutput) } -// The first ID of the resource. +// Fileset ID func (o FilesetOutput) FilesetId() pulumi.StringOutput { return o.ApplyT(func(v *Fileset) pulumi.StringOutput { return v.FilesetId }).(pulumi.StringOutput) } -// The status of the fileset. +// The status of Fileset. Includes: func (o FilesetOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *Fileset) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/nas/init.go b/sdk/go/alicloud/nas/init.go index e1c45acbec..cafe7dc811 100644 --- a/sdk/go/alicloud/nas/init.go +++ b/sdk/go/alicloud/nas/init.go @@ -39,6 +39,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &LifecyclePolicy{} case "alicloud:nas/mountTarget:MountTarget": r = &MountTarget{} + case "alicloud:nas/protocolMountTarget:ProtocolMountTarget": + r = &ProtocolMountTarget{} + case "alicloud:nas/protocolService:ProtocolService": + r = &ProtocolService{} case "alicloud:nas/recycleBin:RecycleBin": r = &RecycleBin{} case "alicloud:nas/smbAclAttachment:SmbAclAttachment": @@ -103,6 +107,16 @@ func init() { "nas/mountTarget", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "nas/protocolMountTarget", + &module{version}, + ) + pulumi.RegisterResourceModule( + "alicloud", + "nas/protocolService", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "nas/recycleBin", diff --git a/sdk/go/alicloud/nas/lifecyclePolicy.go b/sdk/go/alicloud/nas/lifecyclePolicy.go index 0e2004e25c..1446982b7f 100644 --- a/sdk/go/alicloud/nas/lifecyclePolicy.go +++ b/sdk/go/alicloud/nas/lifecyclePolicy.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/mountTarget.go b/sdk/go/alicloud/nas/mountTarget.go index 528dc8650f..c671192539 100644 --- a/sdk/go/alicloud/nas/mountTarget.go +++ b/sdk/go/alicloud/nas/mountTarget.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Mount Target can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/protocolMountTarget.go b/sdk/go/alicloud/nas/protocolMountTarget.go new file mode 100644 index 0000000000..478ec69b86 --- /dev/null +++ b/sdk/go/alicloud/nas/protocolMountTarget.go @@ -0,0 +1,623 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nas + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a File Storage (NAS) Protocol Mount Target resource. +// +// For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("192.168.0.0/16"), +// VpcName: pulumi.String("nas-examplee1223-vpc"), +// EnableIpv6: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: example.ID(), +// ZoneId: pulumi.String("cn-beijing-i"), +// CidrBlock: pulumi.String("192.168.3.0/24"), +// VswitchName: pulumi.String("nas-examplee1223-vsw2sdw-C"), +// }) +// if err != nil { +// return err +// } +// exampleFileSystem, err := nas.NewFileSystem(ctx, "example", &nas.FileSystemArgs{ +// Description: pulumi.String(name), +// StorageType: pulumi.String("advance_100"), +// ZoneId: pulumi.String("cn-beijing-i"), +// VpcId: example.ID(), +// Capacity: pulumi.Int(3600), +// ProtocolType: pulumi.String("cpfs"), +// VswitchId: exampleSwitch.ID(), +// FileSystemType: pulumi.String("cpfs"), +// }) +// if err != nil { +// return err +// } +// exampleProtocolService, err := nas.NewProtocolService(ctx, "example", &nas.ProtocolServiceArgs{ +// VpcId: example.ID(), +// ProtocolType: pulumi.String("NFS"), +// ProtocolSpec: pulumi.String("General"), +// VswitchId: exampleSwitch.ID(), +// DryRun: pulumi.Bool(false), +// FileSystemId: exampleFileSystem.ID(), +// }) +// if err != nil { +// return err +// } +// exampleFileset, err := nas.NewFileset(ctx, "example", &nas.FilesetArgs{ +// FileSystemPath: pulumi.String("/examplefileset/"), +// Description: pulumi.String("cpfs-LRS-filesetexample-wyf"), +// FileSystemId: exampleFileSystem.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = nas.NewProtocolMountTarget(ctx, "default", &nas.ProtocolMountTargetArgs{ +// FsetId: exampleFileset.FilesetId, +// Description: pulumi.String(name), +// VpcId: example.ID(), +// VswitchId: exampleSwitch.ID(), +// AccessGroupName: pulumi.String("DEFAULT_VPC_GROUP_NAME"), +// DryRun: pulumi.Bool(false), +// FileSystemId: exampleFileSystem.ID(), +// ProtocolServiceId: exampleProtocolService.ProtocolServiceId, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example :: +// ``` +type ProtocolMountTarget struct { + pulumi.CustomResourceState + + // The permission group name. + // Default value: DEFAULT_VPC_GROUP_NAME + AccessGroupName pulumi.StringOutput `pulumi:"accessGroupName"` + // The creation time of the resource + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Description of the protocol service mount target. Display as the export directory name in the console. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrOutput `pulumi:"description"` + DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"` + // Protocol Service Mount Target ID + ExportId pulumi.StringOutput `pulumi:"exportId"` + // The ID of the file system. + FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"` + // The ID of the Fileset to be mounted. + // + // Limitations: + // - The Fileset must already exist. + // - A Fileset allows only one export directory to be created. + // - Fileset and Path can and must specify only one. + FsetId pulumi.StringPtrOutput `pulumi:"fsetId"` + // The path of the CPFS directory to be mounted. + // + // Limitations: + // - The directory must be an existing directory on the CPFS. + // - Only one export is allowed for the same directory. + // - Fileset and Path can and must specify only one. + // + // Format: + // - 1~1024 characters in length. + // - Use UTF-8 encoding. + // - Must start and end with a forward slash (/) and root directory is/. + Path pulumi.StringOutput `pulumi:"path"` + // Protocol Service ID + ProtocolServiceId pulumi.StringOutput `pulumi:"protocolServiceId"` + // Status + Status pulumi.StringOutput `pulumi:"status"` + // The VPC ID of the protocol service mount point. + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` + // The vSwitch ID of the protocol service mount target. + VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"` + // The vSwitch IDs of the protocol service mount target. + // When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + VswitchIds pulumi.StringArrayOutput `pulumi:"vswitchIds"` +} + +// NewProtocolMountTarget registers a new resource with the given unique name, arguments, and options. +func NewProtocolMountTarget(ctx *pulumi.Context, + name string, args *ProtocolMountTargetArgs, opts ...pulumi.ResourceOption) (*ProtocolMountTarget, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FileSystemId == nil { + return nil, errors.New("invalid value for required argument 'FileSystemId'") + } + if args.ProtocolServiceId == nil { + return nil, errors.New("invalid value for required argument 'ProtocolServiceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProtocolMountTarget + err := ctx.RegisterResource("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProtocolMountTarget gets an existing ProtocolMountTarget 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 GetProtocolMountTarget(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProtocolMountTargetState, opts ...pulumi.ResourceOption) (*ProtocolMountTarget, error) { + var resource ProtocolMountTarget + err := ctx.ReadResource("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProtocolMountTarget resources. +type protocolMountTargetState struct { + // The permission group name. + // Default value: DEFAULT_VPC_GROUP_NAME + AccessGroupName *string `pulumi:"accessGroupName"` + // The creation time of the resource + CreateTime *string `pulumi:"createTime"` + // Description of the protocol service mount target. Display as the export directory name in the console. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description *string `pulumi:"description"` + DryRun *bool `pulumi:"dryRun"` + // Protocol Service Mount Target ID + ExportId *string `pulumi:"exportId"` + // The ID of the file system. + FileSystemId *string `pulumi:"fileSystemId"` + // The ID of the Fileset to be mounted. + // + // Limitations: + // - The Fileset must already exist. + // - A Fileset allows only one export directory to be created. + // - Fileset and Path can and must specify only one. + FsetId *string `pulumi:"fsetId"` + // The path of the CPFS directory to be mounted. + // + // Limitations: + // - The directory must be an existing directory on the CPFS. + // - Only one export is allowed for the same directory. + // - Fileset and Path can and must specify only one. + // + // Format: + // - 1~1024 characters in length. + // - Use UTF-8 encoding. + // - Must start and end with a forward slash (/) and root directory is/. + Path *string `pulumi:"path"` + // Protocol Service ID + ProtocolServiceId *string `pulumi:"protocolServiceId"` + // Status + Status *string `pulumi:"status"` + // The VPC ID of the protocol service mount point. + VpcId *string `pulumi:"vpcId"` + // The vSwitch ID of the protocol service mount target. + VswitchId *string `pulumi:"vswitchId"` + // The vSwitch IDs of the protocol service mount target. + // When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + VswitchIds []string `pulumi:"vswitchIds"` +} + +type ProtocolMountTargetState struct { + // The permission group name. + // Default value: DEFAULT_VPC_GROUP_NAME + AccessGroupName pulumi.StringPtrInput + // The creation time of the resource + CreateTime pulumi.StringPtrInput + // Description of the protocol service mount target. Display as the export directory name in the console. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrInput + DryRun pulumi.BoolPtrInput + // Protocol Service Mount Target ID + ExportId pulumi.StringPtrInput + // The ID of the file system. + FileSystemId pulumi.StringPtrInput + // The ID of the Fileset to be mounted. + // + // Limitations: + // - The Fileset must already exist. + // - A Fileset allows only one export directory to be created. + // - Fileset and Path can and must specify only one. + FsetId pulumi.StringPtrInput + // The path of the CPFS directory to be mounted. + // + // Limitations: + // - The directory must be an existing directory on the CPFS. + // - Only one export is allowed for the same directory. + // - Fileset and Path can and must specify only one. + // + // Format: + // - 1~1024 characters in length. + // - Use UTF-8 encoding. + // - Must start and end with a forward slash (/) and root directory is/. + Path pulumi.StringPtrInput + // Protocol Service ID + ProtocolServiceId pulumi.StringPtrInput + // Status + Status pulumi.StringPtrInput + // The VPC ID of the protocol service mount point. + VpcId pulumi.StringPtrInput + // The vSwitch ID of the protocol service mount target. + VswitchId pulumi.StringPtrInput + // The vSwitch IDs of the protocol service mount target. + // When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + VswitchIds pulumi.StringArrayInput +} + +func (ProtocolMountTargetState) ElementType() reflect.Type { + return reflect.TypeOf((*protocolMountTargetState)(nil)).Elem() +} + +type protocolMountTargetArgs struct { + // The permission group name. + // Default value: DEFAULT_VPC_GROUP_NAME + AccessGroupName *string `pulumi:"accessGroupName"` + // Description of the protocol service mount target. Display as the export directory name in the console. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description *string `pulumi:"description"` + DryRun *bool `pulumi:"dryRun"` + // The ID of the file system. + FileSystemId string `pulumi:"fileSystemId"` + // The ID of the Fileset to be mounted. + // + // Limitations: + // - The Fileset must already exist. + // - A Fileset allows only one export directory to be created. + // - Fileset and Path can and must specify only one. + FsetId *string `pulumi:"fsetId"` + // The path of the CPFS directory to be mounted. + // + // Limitations: + // - The directory must be an existing directory on the CPFS. + // - Only one export is allowed for the same directory. + // - Fileset and Path can and must specify only one. + // + // Format: + // - 1~1024 characters in length. + // - Use UTF-8 encoding. + // - Must start and end with a forward slash (/) and root directory is/. + Path *string `pulumi:"path"` + // Protocol Service ID + ProtocolServiceId string `pulumi:"protocolServiceId"` + // The VPC ID of the protocol service mount point. + VpcId *string `pulumi:"vpcId"` + // The vSwitch ID of the protocol service mount target. + VswitchId *string `pulumi:"vswitchId"` + // The vSwitch IDs of the protocol service mount target. + // When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + VswitchIds []string `pulumi:"vswitchIds"` +} + +// The set of arguments for constructing a ProtocolMountTarget resource. +type ProtocolMountTargetArgs struct { + // The permission group name. + // Default value: DEFAULT_VPC_GROUP_NAME + AccessGroupName pulumi.StringPtrInput + // Description of the protocol service mount target. Display as the export directory name in the console. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrInput + DryRun pulumi.BoolPtrInput + // The ID of the file system. + FileSystemId pulumi.StringInput + // The ID of the Fileset to be mounted. + // + // Limitations: + // - The Fileset must already exist. + // - A Fileset allows only one export directory to be created. + // - Fileset and Path can and must specify only one. + FsetId pulumi.StringPtrInput + // The path of the CPFS directory to be mounted. + // + // Limitations: + // - The directory must be an existing directory on the CPFS. + // - Only one export is allowed for the same directory. + // - Fileset and Path can and must specify only one. + // + // Format: + // - 1~1024 characters in length. + // - Use UTF-8 encoding. + // - Must start and end with a forward slash (/) and root directory is/. + Path pulumi.StringPtrInput + // Protocol Service ID + ProtocolServiceId pulumi.StringInput + // The VPC ID of the protocol service mount point. + VpcId pulumi.StringPtrInput + // The vSwitch ID of the protocol service mount target. + VswitchId pulumi.StringPtrInput + // The vSwitch IDs of the protocol service mount target. + // When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + VswitchIds pulumi.StringArrayInput +} + +func (ProtocolMountTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*protocolMountTargetArgs)(nil)).Elem() +} + +type ProtocolMountTargetInput interface { + pulumi.Input + + ToProtocolMountTargetOutput() ProtocolMountTargetOutput + ToProtocolMountTargetOutputWithContext(ctx context.Context) ProtocolMountTargetOutput +} + +func (*ProtocolMountTarget) ElementType() reflect.Type { + return reflect.TypeOf((**ProtocolMountTarget)(nil)).Elem() +} + +func (i *ProtocolMountTarget) ToProtocolMountTargetOutput() ProtocolMountTargetOutput { + return i.ToProtocolMountTargetOutputWithContext(context.Background()) +} + +func (i *ProtocolMountTarget) ToProtocolMountTargetOutputWithContext(ctx context.Context) ProtocolMountTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolMountTargetOutput) +} + +// ProtocolMountTargetArrayInput is an input type that accepts ProtocolMountTargetArray and ProtocolMountTargetArrayOutput values. +// You can construct a concrete instance of `ProtocolMountTargetArrayInput` via: +// +// ProtocolMountTargetArray{ ProtocolMountTargetArgs{...} } +type ProtocolMountTargetArrayInput interface { + pulumi.Input + + ToProtocolMountTargetArrayOutput() ProtocolMountTargetArrayOutput + ToProtocolMountTargetArrayOutputWithContext(context.Context) ProtocolMountTargetArrayOutput +} + +type ProtocolMountTargetArray []ProtocolMountTargetInput + +func (ProtocolMountTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProtocolMountTarget)(nil)).Elem() +} + +func (i ProtocolMountTargetArray) ToProtocolMountTargetArrayOutput() ProtocolMountTargetArrayOutput { + return i.ToProtocolMountTargetArrayOutputWithContext(context.Background()) +} + +func (i ProtocolMountTargetArray) ToProtocolMountTargetArrayOutputWithContext(ctx context.Context) ProtocolMountTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolMountTargetArrayOutput) +} + +// ProtocolMountTargetMapInput is an input type that accepts ProtocolMountTargetMap and ProtocolMountTargetMapOutput values. +// You can construct a concrete instance of `ProtocolMountTargetMapInput` via: +// +// ProtocolMountTargetMap{ "key": ProtocolMountTargetArgs{...} } +type ProtocolMountTargetMapInput interface { + pulumi.Input + + ToProtocolMountTargetMapOutput() ProtocolMountTargetMapOutput + ToProtocolMountTargetMapOutputWithContext(context.Context) ProtocolMountTargetMapOutput +} + +type ProtocolMountTargetMap map[string]ProtocolMountTargetInput + +func (ProtocolMountTargetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProtocolMountTarget)(nil)).Elem() +} + +func (i ProtocolMountTargetMap) ToProtocolMountTargetMapOutput() ProtocolMountTargetMapOutput { + return i.ToProtocolMountTargetMapOutputWithContext(context.Background()) +} + +func (i ProtocolMountTargetMap) ToProtocolMountTargetMapOutputWithContext(ctx context.Context) ProtocolMountTargetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolMountTargetMapOutput) +} + +type ProtocolMountTargetOutput struct{ *pulumi.OutputState } + +func (ProtocolMountTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProtocolMountTarget)(nil)).Elem() +} + +func (o ProtocolMountTargetOutput) ToProtocolMountTargetOutput() ProtocolMountTargetOutput { + return o +} + +func (o ProtocolMountTargetOutput) ToProtocolMountTargetOutputWithContext(ctx context.Context) ProtocolMountTargetOutput { + return o +} + +// The permission group name. +// Default value: DEFAULT_VPC_GROUP_NAME +func (o ProtocolMountTargetOutput) AccessGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.AccessGroupName }).(pulumi.StringOutput) +} + +// The creation time of the resource +func (o ProtocolMountTargetOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the protocol service mount target. Display as the export directory name in the console. +// +// Limitations: +// - Length is 2~128 English or Chinese characters. +// - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. +// - Can contain numbers, colons (:), underscores (_), or dashes (-). +func (o ProtocolMountTargetOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o ProtocolMountTargetOutput) DryRun() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.BoolPtrOutput { return v.DryRun }).(pulumi.BoolPtrOutput) +} + +// Protocol Service Mount Target ID +func (o ProtocolMountTargetOutput) ExportId() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.ExportId }).(pulumi.StringOutput) +} + +// The ID of the file system. +func (o ProtocolMountTargetOutput) FileSystemId() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.FileSystemId }).(pulumi.StringOutput) +} + +// The ID of the Fileset to be mounted. +// +// Limitations: +// - The Fileset must already exist. +// - A Fileset allows only one export directory to be created. +// - Fileset and Path can and must specify only one. +func (o ProtocolMountTargetOutput) FsetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringPtrOutput { return v.FsetId }).(pulumi.StringPtrOutput) +} + +// The path of the CPFS directory to be mounted. +// +// Limitations: +// - The directory must be an existing directory on the CPFS. +// - Only one export is allowed for the same directory. +// - Fileset and Path can and must specify only one. +// +// Format: +// - 1~1024 characters in length. +// - Use UTF-8 encoding. +// - Must start and end with a forward slash (/) and root directory is/. +func (o ProtocolMountTargetOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) +} + +// Protocol Service ID +func (o ProtocolMountTargetOutput) ProtocolServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.ProtocolServiceId }).(pulumi.StringOutput) +} + +// Status +func (o ProtocolMountTargetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The VPC ID of the protocol service mount point. +func (o ProtocolMountTargetOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + +// The vSwitch ID of the protocol service mount target. +func (o ProtocolMountTargetOutput) VswitchId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringPtrOutput { return v.VswitchId }).(pulumi.StringPtrOutput) +} + +// The vSwitch IDs of the protocol service mount target. +// When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. +func (o ProtocolMountTargetOutput) VswitchIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ProtocolMountTarget) pulumi.StringArrayOutput { return v.VswitchIds }).(pulumi.StringArrayOutput) +} + +type ProtocolMountTargetArrayOutput struct{ *pulumi.OutputState } + +func (ProtocolMountTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProtocolMountTarget)(nil)).Elem() +} + +func (o ProtocolMountTargetArrayOutput) ToProtocolMountTargetArrayOutput() ProtocolMountTargetArrayOutput { + return o +} + +func (o ProtocolMountTargetArrayOutput) ToProtocolMountTargetArrayOutputWithContext(ctx context.Context) ProtocolMountTargetArrayOutput { + return o +} + +func (o ProtocolMountTargetArrayOutput) Index(i pulumi.IntInput) ProtocolMountTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProtocolMountTarget { + return vs[0].([]*ProtocolMountTarget)[vs[1].(int)] + }).(ProtocolMountTargetOutput) +} + +type ProtocolMountTargetMapOutput struct{ *pulumi.OutputState } + +func (ProtocolMountTargetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProtocolMountTarget)(nil)).Elem() +} + +func (o ProtocolMountTargetMapOutput) ToProtocolMountTargetMapOutput() ProtocolMountTargetMapOutput { + return o +} + +func (o ProtocolMountTargetMapOutput) ToProtocolMountTargetMapOutputWithContext(ctx context.Context) ProtocolMountTargetMapOutput { + return o +} + +func (o ProtocolMountTargetMapOutput) MapIndex(k pulumi.StringInput) ProtocolMountTargetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProtocolMountTarget { + return vs[0].(map[string]*ProtocolMountTarget)[vs[1].(string)] + }).(ProtocolMountTargetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolMountTargetInput)(nil)).Elem(), &ProtocolMountTarget{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolMountTargetArrayInput)(nil)).Elem(), ProtocolMountTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolMountTargetMapInput)(nil)).Elem(), ProtocolMountTargetMap{}) + pulumi.RegisterOutputType(ProtocolMountTargetOutput{}) + pulumi.RegisterOutputType(ProtocolMountTargetArrayOutput{}) + pulumi.RegisterOutputType(ProtocolMountTargetMapOutput{}) +} diff --git a/sdk/go/alicloud/nas/protocolService.go b/sdk/go/alicloud/nas/protocolService.go new file mode 100644 index 0000000000..69232e5eee --- /dev/null +++ b/sdk/go/alicloud/nas/protocolService.go @@ -0,0 +1,504 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nas + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a File Storage (NAS) Protocol Service resource. +// +// For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("192.168.0.0/16"), +// VpcName: pulumi.String("nas-examplee1031-vpc"), +// EnableIpv6: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: example.ID(), +// ZoneId: pulumi.String("cn-beijing-i"), +// CidrBlock: pulumi.String("192.168.2.0/24"), +// VswitchName: pulumi.String("nas-examplee1031-vsw1sdw-F"), +// }) +// if err != nil { +// return err +// } +// exampleFileSystem, err := nas.NewFileSystem(ctx, "example", &nas.FileSystemArgs{ +// Description: pulumi.String(name), +// StorageType: pulumi.String("advance_100"), +// ZoneId: pulumi.String("cn-beijing-i"), +// EncryptType: pulumi.Int(0), +// VpcId: example.ID(), +// Capacity: pulumi.Int(3600), +// ProtocolType: pulumi.String("cpfs"), +// VswitchId: exampleSwitch.ID(), +// FileSystemType: pulumi.String("cpfs"), +// }) +// if err != nil { +// return err +// } +// _, err = nas.NewProtocolService(ctx, "default", &nas.ProtocolServiceArgs{ +// VpcId: example.ID(), +// ProtocolType: pulumi.String("NFS"), +// ProtocolSpec: pulumi.String("General"), +// VswitchId: exampleSwitch.ID(), +// DryRun: pulumi.Bool(false), +// FileSystemId: exampleFileSystem.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// File Storage (NAS) Protocol Service can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:nas/protocolService:ProtocolService example : +// ``` +type ProtocolService struct { + pulumi.CustomResourceState + + // The time when the protocol server service was created. The UTC time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Description of the agreement service. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrOutput `pulumi:"description"` + DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"` + // The ID of the file system. + FileSystemId pulumi.StringOutput `pulumi:"fileSystemId"` + // Protocol Service ID + ProtocolServiceId pulumi.StringOutput `pulumi:"protocolServiceId"` + // The specification of the protocol machine cluster. + // - Value range: General、CL1、CL2 + // - Default value: General + ProtocolSpec pulumi.StringOutput `pulumi:"protocolSpec"` + // The throughput of the protocol service. Unit: MB/s. + ProtocolThroughput pulumi.IntOutput `pulumi:"protocolThroughput"` + // The protocol type supported by the protocol service. + // + // Value range: + // - NFS: Protocol Service supports NFS protocol access. + ProtocolType pulumi.StringOutput `pulumi:"protocolType"` + // Agreement service status. + Status pulumi.StringOutput `pulumi:"status"` + // The VpcId of the protocol service, which must be consistent with the VPC of the file system. + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` + // The VSwitchId of the protocol service. + VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"` +} + +// NewProtocolService registers a new resource with the given unique name, arguments, and options. +func NewProtocolService(ctx *pulumi.Context, + name string, args *ProtocolServiceArgs, opts ...pulumi.ResourceOption) (*ProtocolService, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.FileSystemId == nil { + return nil, errors.New("invalid value for required argument 'FileSystemId'") + } + if args.ProtocolSpec == nil { + return nil, errors.New("invalid value for required argument 'ProtocolSpec'") + } + if args.ProtocolType == nil { + return nil, errors.New("invalid value for required argument 'ProtocolType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ProtocolService + err := ctx.RegisterResource("alicloud:nas/protocolService:ProtocolService", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetProtocolService gets an existing ProtocolService 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 GetProtocolService(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ProtocolServiceState, opts ...pulumi.ResourceOption) (*ProtocolService, error) { + var resource ProtocolService + err := ctx.ReadResource("alicloud:nas/protocolService:ProtocolService", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ProtocolService resources. +type protocolServiceState struct { + // The time when the protocol server service was created. The UTC time. + CreateTime *string `pulumi:"createTime"` + // Description of the agreement service. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description *string `pulumi:"description"` + DryRun *bool `pulumi:"dryRun"` + // The ID of the file system. + FileSystemId *string `pulumi:"fileSystemId"` + // Protocol Service ID + ProtocolServiceId *string `pulumi:"protocolServiceId"` + // The specification of the protocol machine cluster. + // - Value range: General、CL1、CL2 + // - Default value: General + ProtocolSpec *string `pulumi:"protocolSpec"` + // The throughput of the protocol service. Unit: MB/s. + ProtocolThroughput *int `pulumi:"protocolThroughput"` + // The protocol type supported by the protocol service. + // + // Value range: + // - NFS: Protocol Service supports NFS protocol access. + ProtocolType *string `pulumi:"protocolType"` + // Agreement service status. + Status *string `pulumi:"status"` + // The VpcId of the protocol service, which must be consistent with the VPC of the file system. + VpcId *string `pulumi:"vpcId"` + // The VSwitchId of the protocol service. + VswitchId *string `pulumi:"vswitchId"` +} + +type ProtocolServiceState struct { + // The time when the protocol server service was created. The UTC time. + CreateTime pulumi.StringPtrInput + // Description of the agreement service. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrInput + DryRun pulumi.BoolPtrInput + // The ID of the file system. + FileSystemId pulumi.StringPtrInput + // Protocol Service ID + ProtocolServiceId pulumi.StringPtrInput + // The specification of the protocol machine cluster. + // - Value range: General、CL1、CL2 + // - Default value: General + ProtocolSpec pulumi.StringPtrInput + // The throughput of the protocol service. Unit: MB/s. + ProtocolThroughput pulumi.IntPtrInput + // The protocol type supported by the protocol service. + // + // Value range: + // - NFS: Protocol Service supports NFS protocol access. + ProtocolType pulumi.StringPtrInput + // Agreement service status. + Status pulumi.StringPtrInput + // The VpcId of the protocol service, which must be consistent with the VPC of the file system. + VpcId pulumi.StringPtrInput + // The VSwitchId of the protocol service. + VswitchId pulumi.StringPtrInput +} + +func (ProtocolServiceState) ElementType() reflect.Type { + return reflect.TypeOf((*protocolServiceState)(nil)).Elem() +} + +type protocolServiceArgs struct { + // Description of the agreement service. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description *string `pulumi:"description"` + DryRun *bool `pulumi:"dryRun"` + // The ID of the file system. + FileSystemId string `pulumi:"fileSystemId"` + // The specification of the protocol machine cluster. + // - Value range: General、CL1、CL2 + // - Default value: General + ProtocolSpec string `pulumi:"protocolSpec"` + // The throughput of the protocol service. Unit: MB/s. + ProtocolThroughput *int `pulumi:"protocolThroughput"` + // The protocol type supported by the protocol service. + // + // Value range: + // - NFS: Protocol Service supports NFS protocol access. + ProtocolType string `pulumi:"protocolType"` + // The VpcId of the protocol service, which must be consistent with the VPC of the file system. + VpcId *string `pulumi:"vpcId"` + // The VSwitchId of the protocol service. + VswitchId *string `pulumi:"vswitchId"` +} + +// The set of arguments for constructing a ProtocolService resource. +type ProtocolServiceArgs struct { + // Description of the agreement service. + // + // Limitations: + // - Length is 2~128 English or Chinese characters. + // - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + // - Can contain numbers, colons (:), underscores (_), or dashes (-). + Description pulumi.StringPtrInput + DryRun pulumi.BoolPtrInput + // The ID of the file system. + FileSystemId pulumi.StringInput + // The specification of the protocol machine cluster. + // - Value range: General、CL1、CL2 + // - Default value: General + ProtocolSpec pulumi.StringInput + // The throughput of the protocol service. Unit: MB/s. + ProtocolThroughput pulumi.IntPtrInput + // The protocol type supported by the protocol service. + // + // Value range: + // - NFS: Protocol Service supports NFS protocol access. + ProtocolType pulumi.StringInput + // The VpcId of the protocol service, which must be consistent with the VPC of the file system. + VpcId pulumi.StringPtrInput + // The VSwitchId of the protocol service. + VswitchId pulumi.StringPtrInput +} + +func (ProtocolServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*protocolServiceArgs)(nil)).Elem() +} + +type ProtocolServiceInput interface { + pulumi.Input + + ToProtocolServiceOutput() ProtocolServiceOutput + ToProtocolServiceOutputWithContext(ctx context.Context) ProtocolServiceOutput +} + +func (*ProtocolService) ElementType() reflect.Type { + return reflect.TypeOf((**ProtocolService)(nil)).Elem() +} + +func (i *ProtocolService) ToProtocolServiceOutput() ProtocolServiceOutput { + return i.ToProtocolServiceOutputWithContext(context.Background()) +} + +func (i *ProtocolService) ToProtocolServiceOutputWithContext(ctx context.Context) ProtocolServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolServiceOutput) +} + +// ProtocolServiceArrayInput is an input type that accepts ProtocolServiceArray and ProtocolServiceArrayOutput values. +// You can construct a concrete instance of `ProtocolServiceArrayInput` via: +// +// ProtocolServiceArray{ ProtocolServiceArgs{...} } +type ProtocolServiceArrayInput interface { + pulumi.Input + + ToProtocolServiceArrayOutput() ProtocolServiceArrayOutput + ToProtocolServiceArrayOutputWithContext(context.Context) ProtocolServiceArrayOutput +} + +type ProtocolServiceArray []ProtocolServiceInput + +func (ProtocolServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProtocolService)(nil)).Elem() +} + +func (i ProtocolServiceArray) ToProtocolServiceArrayOutput() ProtocolServiceArrayOutput { + return i.ToProtocolServiceArrayOutputWithContext(context.Background()) +} + +func (i ProtocolServiceArray) ToProtocolServiceArrayOutputWithContext(ctx context.Context) ProtocolServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolServiceArrayOutput) +} + +// ProtocolServiceMapInput is an input type that accepts ProtocolServiceMap and ProtocolServiceMapOutput values. +// You can construct a concrete instance of `ProtocolServiceMapInput` via: +// +// ProtocolServiceMap{ "key": ProtocolServiceArgs{...} } +type ProtocolServiceMapInput interface { + pulumi.Input + + ToProtocolServiceMapOutput() ProtocolServiceMapOutput + ToProtocolServiceMapOutputWithContext(context.Context) ProtocolServiceMapOutput +} + +type ProtocolServiceMap map[string]ProtocolServiceInput + +func (ProtocolServiceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProtocolService)(nil)).Elem() +} + +func (i ProtocolServiceMap) ToProtocolServiceMapOutput() ProtocolServiceMapOutput { + return i.ToProtocolServiceMapOutputWithContext(context.Background()) +} + +func (i ProtocolServiceMap) ToProtocolServiceMapOutputWithContext(ctx context.Context) ProtocolServiceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProtocolServiceMapOutput) +} + +type ProtocolServiceOutput struct{ *pulumi.OutputState } + +func (ProtocolServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProtocolService)(nil)).Elem() +} + +func (o ProtocolServiceOutput) ToProtocolServiceOutput() ProtocolServiceOutput { + return o +} + +func (o ProtocolServiceOutput) ToProtocolServiceOutputWithContext(ctx context.Context) ProtocolServiceOutput { + return o +} + +// The time when the protocol server service was created. The UTC time. +func (o ProtocolServiceOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the agreement service. +// +// Limitations: +// - Length is 2~128 English or Chinese characters. +// - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. +// - Can contain numbers, colons (:), underscores (_), or dashes (-). +func (o ProtocolServiceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o ProtocolServiceOutput) DryRun() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.BoolPtrOutput { return v.DryRun }).(pulumi.BoolPtrOutput) +} + +// The ID of the file system. +func (o ProtocolServiceOutput) FileSystemId() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.FileSystemId }).(pulumi.StringOutput) +} + +// Protocol Service ID +func (o ProtocolServiceOutput) ProtocolServiceId() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.ProtocolServiceId }).(pulumi.StringOutput) +} + +// The specification of the protocol machine cluster. +// - Value range: General、CL1、CL2 +// - Default value: General +func (o ProtocolServiceOutput) ProtocolSpec() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.ProtocolSpec }).(pulumi.StringOutput) +} + +// The throughput of the protocol service. Unit: MB/s. +func (o ProtocolServiceOutput) ProtocolThroughput() pulumi.IntOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.IntOutput { return v.ProtocolThroughput }).(pulumi.IntOutput) +} + +// The protocol type supported by the protocol service. +// +// Value range: +// - NFS: Protocol Service supports NFS protocol access. +func (o ProtocolServiceOutput) ProtocolType() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.ProtocolType }).(pulumi.StringOutput) +} + +// Agreement service status. +func (o ProtocolServiceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The VpcId of the protocol service, which must be consistent with the VPC of the file system. +func (o ProtocolServiceOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + +// The VSwitchId of the protocol service. +func (o ProtocolServiceOutput) VswitchId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProtocolService) pulumi.StringPtrOutput { return v.VswitchId }).(pulumi.StringPtrOutput) +} + +type ProtocolServiceArrayOutput struct{ *pulumi.OutputState } + +func (ProtocolServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ProtocolService)(nil)).Elem() +} + +func (o ProtocolServiceArrayOutput) ToProtocolServiceArrayOutput() ProtocolServiceArrayOutput { + return o +} + +func (o ProtocolServiceArrayOutput) ToProtocolServiceArrayOutputWithContext(ctx context.Context) ProtocolServiceArrayOutput { + return o +} + +func (o ProtocolServiceArrayOutput) Index(i pulumi.IntInput) ProtocolServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProtocolService { + return vs[0].([]*ProtocolService)[vs[1].(int)] + }).(ProtocolServiceOutput) +} + +type ProtocolServiceMapOutput struct{ *pulumi.OutputState } + +func (ProtocolServiceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ProtocolService)(nil)).Elem() +} + +func (o ProtocolServiceMapOutput) ToProtocolServiceMapOutput() ProtocolServiceMapOutput { + return o +} + +func (o ProtocolServiceMapOutput) ToProtocolServiceMapOutputWithContext(ctx context.Context) ProtocolServiceMapOutput { + return o +} + +func (o ProtocolServiceMapOutput) MapIndex(k pulumi.StringInput) ProtocolServiceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProtocolService { + return vs[0].(map[string]*ProtocolService)[vs[1].(string)] + }).(ProtocolServiceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolServiceInput)(nil)).Elem(), &ProtocolService{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolServiceArrayInput)(nil)).Elem(), ProtocolServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProtocolServiceMapInput)(nil)).Elem(), ProtocolServiceMap{}) + pulumi.RegisterOutputType(ProtocolServiceOutput{}) + pulumi.RegisterOutputType(ProtocolServiceArrayOutput{}) + pulumi.RegisterOutputType(ProtocolServiceMapOutput{}) +} diff --git a/sdk/go/alicloud/nas/recycleBin.go b/sdk/go/alicloud/nas/recycleBin.go index b895b29425..7ed313d16b 100644 --- a/sdk/go/alicloud/nas/recycleBin.go +++ b/sdk/go/alicloud/nas/recycleBin.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Recycle Bin can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nas/smbAclAttachment.go b/sdk/go/alicloud/nas/smbAclAttachment.go index 739d3cebf1..f70eab8ffa 100644 --- a/sdk/go/alicloud/nas/smbAclAttachment.go +++ b/sdk/go/alicloud/nas/smbAclAttachment.go @@ -63,6 +63,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type SmbAclAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/nas/snapshot.go b/sdk/go/alicloud/nas/snapshot.go index 0b96eefbd3..bd0f8c5b7e 100644 --- a/sdk/go/alicloud/nas/snapshot.go +++ b/sdk/go/alicloud/nas/snapshot.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // File Storage (NAS) Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/listener.go b/sdk/go/alicloud/nlb/listener.go index bd1de0dc5d..c819fe5e14 100644 --- a/sdk/go/alicloud/nlb/listener.go +++ b/sdk/go/alicloud/nlb/listener.go @@ -161,6 +161,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Network Load Balancer (NLB) Listener can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/listenerAdditionalCertificateAttachment.go b/sdk/go/alicloud/nlb/listenerAdditionalCertificateAttachment.go index bb60bffb38..d9ecf0c6ce 100644 --- a/sdk/go/alicloud/nlb/listenerAdditionalCertificateAttachment.go +++ b/sdk/go/alicloud/nlb/listenerAdditionalCertificateAttachment.go @@ -268,6 +268,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NLB Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/loadBalancer.go b/sdk/go/alicloud/nlb/loadBalancer.go index 261d74f730..62fdfe6f29 100644 --- a/sdk/go/alicloud/nlb/loadBalancer.go +++ b/sdk/go/alicloud/nlb/loadBalancer.go @@ -203,6 +203,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/loadBalancerSecurityGroupAttachment.go b/sdk/go/alicloud/nlb/loadBalancerSecurityGroupAttachment.go index a2026cac98..09b46eb10d 100644 --- a/sdk/go/alicloud/nlb/loadBalancerSecurityGroupAttachment.go +++ b/sdk/go/alicloud/nlb/loadBalancerSecurityGroupAttachment.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NLB Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/loadBalancerZoneShiftedAttachment.go b/sdk/go/alicloud/nlb/loadBalancerZoneShiftedAttachment.go index 096f3d7ac8..4920b03a06 100644 --- a/sdk/go/alicloud/nlb/loadBalancerZoneShiftedAttachment.go +++ b/sdk/go/alicloud/nlb/loadBalancerZoneShiftedAttachment.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/loadbalancerCommonBandwidthPackageAttachment.go b/sdk/go/alicloud/nlb/loadbalancerCommonBandwidthPackageAttachment.go index bf8c10418d..0e8d4d8580 100644 --- a/sdk/go/alicloud/nlb/loadbalancerCommonBandwidthPackageAttachment.go +++ b/sdk/go/alicloud/nlb/loadbalancerCommonBandwidthPackageAttachment.go @@ -132,6 +132,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/securityPolicy.go b/sdk/go/alicloud/nlb/securityPolicy.go index e3ffb2a54c..23f2c8691b 100644 --- a/sdk/go/alicloud/nlb/securityPolicy.go +++ b/sdk/go/alicloud/nlb/securityPolicy.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NLB Security Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/serverGroup.go b/sdk/go/alicloud/nlb/serverGroup.go index 89a8a0549c..512a325f68 100644 --- a/sdk/go/alicloud/nlb/serverGroup.go +++ b/sdk/go/alicloud/nlb/serverGroup.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Network Load Balancer (NLB) Server Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/nlb/serverGroupServerAttachment.go b/sdk/go/alicloud/nlb/serverGroupServerAttachment.go index 6084d5839a..15c0734f0c 100644 --- a/sdk/go/alicloud/nlb/serverGroupServerAttachment.go +++ b/sdk/go/alicloud/nlb/serverGroupServerAttachment.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ocean/baseInstance.go b/sdk/go/alicloud/ocean/baseInstance.go index ca9f520147..564a16c6b7 100644 --- a/sdk/go/alicloud/ocean/baseInstance.go +++ b/sdk/go/alicloud/ocean/baseInstance.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Ocean Base Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/application.go b/sdk/go/alicloud/oos/application.go index 482521cff9..330ead3d2e 100644 --- a/sdk/go/alicloud/oos/application.go +++ b/sdk/go/alicloud/oos/application.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Application can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/applicationGroup.go b/sdk/go/alicloud/oos/applicationGroup.go index 0a99b77b72..412dadafb5 100644 --- a/sdk/go/alicloud/oos/applicationGroup.go +++ b/sdk/go/alicloud/oos/applicationGroup.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Application Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/defaultPatchBaseline.go b/sdk/go/alicloud/oos/defaultPatchBaseline.go index dd0805b544..3f039302a0 100644 --- a/sdk/go/alicloud/oos/defaultPatchBaseline.go +++ b/sdk/go/alicloud/oos/defaultPatchBaseline.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Oos Default Patch Baseline can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/execution.go b/sdk/go/alicloud/oos/execution.go index e20c3c5d41..882b56c3ad 100644 --- a/sdk/go/alicloud/oos/execution.go +++ b/sdk/go/alicloud/oos/execution.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Execution can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/parameter.go b/sdk/go/alicloud/oos/parameter.go index eaa9e228ee..bd67a4bd70 100644 --- a/sdk/go/alicloud/oos/parameter.go +++ b/sdk/go/alicloud/oos/parameter.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Parameter can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/patchBaseline.go b/sdk/go/alicloud/oos/patchBaseline.go index 97da08f15c..7ed1e58858 100644 --- a/sdk/go/alicloud/oos/patchBaseline.go +++ b/sdk/go/alicloud/oos/patchBaseline.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Patch Baseline can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/secretParameter.go b/sdk/go/alicloud/oos/secretParameter.go index c60194df8f..7ab7517207 100644 --- a/sdk/go/alicloud/oos/secretParameter.go +++ b/sdk/go/alicloud/oos/secretParameter.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/serviceSetting.go b/sdk/go/alicloud/oos/serviceSetting.go index a8c109d17e..45cb74075a 100644 --- a/sdk/go/alicloud/oos/serviceSetting.go +++ b/sdk/go/alicloud/oos/serviceSetting.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Service Setting can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/stateConfiguration.go b/sdk/go/alicloud/oos/stateConfiguration.go index aef50c236d..d6e945a5f1 100644 --- a/sdk/go/alicloud/oos/stateConfiguration.go +++ b/sdk/go/alicloud/oos/stateConfiguration.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS State Configuration can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oos/template.go b/sdk/go/alicloud/oos/template.go index f9d0c9289f..1815f0d1d4 100644 --- a/sdk/go/alicloud/oos/template.go +++ b/sdk/go/alicloud/oos/template.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OOS Template can be imported using the id or template_name, e.g. diff --git a/sdk/go/alicloud/openApiExplorerApiMcpServer.go b/sdk/go/alicloud/openApiExplorerApiMcpServer.go new file mode 100644 index 0000000000..bcef6adf5a --- /dev/null +++ b/sdk/go/alicloud/openApiExplorerApiMcpServer.go @@ -0,0 +1,774 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package alicloud + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Open Api Explorer Api Mcp Server resource. +// +// API MCP Server. +// +// For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "summary": "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "Version": "1", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Effect": "Allow", +// "Action": []string{ +// "ecs:Describe*", +// "vpc:Describe*", +// "vpc:List*", +// }, +// "Resource": "*", +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json1 := string(tmpJSON1) +// _, err = alicloud.NewOpenApiExplorerApiMcpServer(ctx, "default", &alicloud.OpenApiExplorerApiMcpServerArgs{ +// SystemTools: pulumi.StringArray{ +// pulumi.String("FetchRamActionDetails"), +// }, +// Description: pulumi.String("Create"), +// Prompts: alicloud.OpenApiExplorerApiMcpServerPromptArray{ +// &alicloud.OpenApiExplorerApiMcpServerPromptArgs{ +// Description: pulumi.String("Obtain user customization information description"), +// Content: pulumi.String("Prompt body,{{name}}"), +// Arguments: alicloud.OpenApiExplorerApiMcpServerPromptArgumentArray{ +// &alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{ +// Description: pulumi.String("Name information"), +// Required: pulumi.Bool(true), +// Name: pulumi.String("name"), +// }, +// }, +// Name: pulumi.String("Obtain user customization information"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerPromptArgs{ +// Description: pulumi.String("Obtain user customization information description"), +// Content: pulumi.String("Prompt text, {{name }}, {{age }}, {{description}}"), +// Arguments: alicloud.OpenApiExplorerApiMcpServerPromptArgumentArray{ +// &alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{ +// Description: pulumi.String("Name information"), +// Required: pulumi.Bool(true), +// Name: pulumi.String("name"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{ +// Description: pulumi.String("Age information"), +// Required: pulumi.Bool(true), +// Name: pulumi.String("age"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerPromptArgumentArgs{ +// Description: pulumi.String("Description Information"), +// Required: pulumi.Bool(true), +// Name: pulumi.String("description"), +// }, +// }, +// Name: pulumi.String("Obtain user customization information 1"), +// }, +// }, +// OauthClientId: pulumi.String("123456"), +// Apis: alicloud.OpenApiExplorerApiMcpServerApiArray{ +// &alicloud.OpenApiExplorerApiMcpServerApiArgs{ +// ApiVersion: pulumi.String("2014-05-26"), +// Product: pulumi.String("Ecs"), +// Selectors: pulumi.StringArray{ +// pulumi.String("DescribeAvailableResource"), +// pulumi.String("DescribeRegions"), +// pulumi.String("DescribeZones"), +// }, +// }, +// &alicloud.OpenApiExplorerApiMcpServerApiArgs{ +// ApiVersion: pulumi.String("2017-03-21"), +// Product: pulumi.String("vod"), +// Selectors: pulumi.StringArray{ +// pulumi.String("CreateUploadVideo"), +// }, +// }, +// &alicloud.OpenApiExplorerApiMcpServerApiArgs{ +// ApiVersion: pulumi.String("2014-05-15"), +// Product: pulumi.String("Slb"), +// Selectors: pulumi.StringArray{ +// pulumi.String("DescribeAvailableResource"), +// }, +// }, +// }, +// Instructions: pulumi.String("Describes the role of the entire MCP Server"), +// AdditionalApiDescriptions: alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray{ +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{ +// ApiVersion: pulumi.String("2014-05-26"), +// EnableOutputSchema: pulumi.Bool(true), +// ApiName: pulumi.String("DescribeAvailableResource"), +// ConstParameters: alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray{ +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{ +// Value: pulumi.String("cn-hangzhou"), +// Key: pulumi.String("x_mcp_region_id"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{ +// Value: pulumi.String("B1"), +// Key: pulumi.String("a1"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{ +// Value: pulumi.String("b2"), +// Key: pulumi.String("a2"), +// }, +// }, +// ApiOverrideJson: pulumi.String(json0), +// Product: pulumi.String("Ecs"), +// ExecuteCliCommand: pulumi.Bool(false), +// }, +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{ +// ApiVersion: pulumi.String("2014-05-26"), +// EnableOutputSchema: pulumi.Bool(true), +// ApiName: pulumi.String("DescribeRegions"), +// Product: pulumi.String("Ecs"), +// ExecuteCliCommand: pulumi.Bool(true), +// }, +// &alicloud.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{ +// ApiVersion: pulumi.String("2014-05-26"), +// EnableOutputSchema: pulumi.Bool(true), +// ApiName: pulumi.String("DescribeZones"), +// Product: pulumi.String("Ecs"), +// ExecuteCliCommand: pulumi.Bool(true), +// }, +// }, +// VpcWhitelists: pulumi.StringArray{ +// pulumi.String("vpc-examplea"), +// pulumi.String("vpc-exampleb"), +// pulumi.String("vpc-examplec"), +// }, +// Name: pulumi.String("my-name"), +// Language: pulumi.String("ZH_CN"), +// EnableAssumeRole: pulumi.Bool(true), +// AssumeRoleExtraPolicy: pulumi.String(json1), +// TerraformTools: alicloud.OpenApiExplorerApiMcpServerTerraformToolArray{ +// &alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{ +// Description: pulumi.String("Terraform as tool example"), +// Async: pulumi.Bool(true), +// DestroyPolicy: pulumi.String("NEVER"), +// Code: pulumi.String(`variable \"name\" { +// default = \"terraform-example\" +// } +// +// provider \"alicloud\" { +// region = \"cn-beijing\" +// } +// +// resource \"alicloud_vpc\" \"default\" { +// ipv6_isp = \"BGP\" +// description = \"example\" +// cidr_block = \"10.0.0.0/8\" +// vpc_name = var.name +// enable_ipv6 = true +// } +// +// `), +// +// Name: pulumi.String("tfexample"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{ +// Description: pulumi.String("Terraform as tool example"), +// Async: pulumi.Bool(true), +// DestroyPolicy: pulumi.String("NEVER"), +// Code: pulumi.String(`variable \"name\" { +// default = \"terraform-example\" +// } +// +// provider \"alicloud\" { +// region = \"cn-beijing\" +// } +// +// resource \"alicloud_vpc\" \"default\" { +// ipv6_isp = \"BGP\" +// description = \"example\" +// cidr_block = \"10.0.0.0/8\" +// vpc_name = var.name +// enable_ipv6 = true +// } +// +// `), +// +// Name: pulumi.String("tfexample2"), +// }, +// &alicloud.OpenApiExplorerApiMcpServerTerraformToolArgs{ +// Description: pulumi.String("Terraform as tool example"), +// Async: pulumi.Bool(true), +// DestroyPolicy: pulumi.String("NEVER"), +// Code: pulumi.String(`variable \"name\" { +// default = \"terraform-example\" +// } +// +// provider \"alicloud\" { +// region = \"cn-beijing\" +// } +// +// resource \"alicloud_vpc\" \"default\" { +// ipv6_isp = \"BGP\" +// description = \"example\" +// cidr_block = \"10.0.0.0/8\" +// vpc_name = var.name +// enable_ipv6 = true +// } +// +// `), +// +// Name: pulumi.String("tfexample3"), +// }, +// }, +// AssumeRoleName: pulumi.String("default-role"), +// PublicAccess: pulumi.String("on"), +// EnableCustomVpcWhitelist: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Open Api Explorer Api Mcp Server can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example +// ``` +type OpenApiExplorerApiMcpServer struct { + pulumi.CustomResourceState + + // Additional OpenAPI description information that can override the default behavior of APIs, including: + // - API name + // - Modification or removal of API parameter names + // - Whether to exclude the API from the output API response structure definition + // - Whether to return a CLI execution command instead of directly executing the API + // - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + AdditionalApiDescriptions OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput `pulumi:"additionalApiDescriptions"` + // The list of APIs to be included in the API MCP Server. See `apis` below. + Apis OpenApiExplorerApiMcpServerApiArrayOutput `pulumi:"apis"` + // When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + AssumeRoleExtraPolicy pulumi.StringPtrOutput `pulumi:"assumeRoleExtraPolicy"` + // The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + AssumeRoleName pulumi.StringPtrOutput `pulumi:"assumeRoleName"` + // MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Description of the API MCP service. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + EnableAssumeRole pulumi.BoolPtrOutput `pulumi:"enableAssumeRole"` + // Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + EnableCustomVpcWhitelist pulumi.BoolPtrOutput `pulumi:"enableCustomVpcWhitelist"` + // MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + Instructions pulumi.StringPtrOutput `pulumi:"instructions"` + // Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + Language pulumi.StringPtrOutput `pulumi:"language"` + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name pulumi.StringOutput `pulumi:"name"` + // The custom OAuth Client ID when selecting a custom OAuth configuration. + // `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + OauthClientId pulumi.StringPtrOutput `pulumi:"oauthClientId"` + // List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + Prompts OpenApiExplorerApiMcpServerPromptArrayOutput `pulumi:"prompts"` + // Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + // - on: enables public network access; + // - off: disables public network access; + // - follow: inherits the account-level configuration. + PublicAccess pulumi.StringPtrOutput `pulumi:"publicAccess"` + // Enabled system services. + SystemTools pulumi.StringArrayOutput `pulumi:"systemTools"` + TerraformTools OpenApiExplorerApiMcpServerTerraformToolArrayOutput `pulumi:"terraformTools"` + // When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + VpcWhitelists pulumi.StringArrayOutput `pulumi:"vpcWhitelists"` +} + +// NewOpenApiExplorerApiMcpServer registers a new resource with the given unique name, arguments, and options. +func NewOpenApiExplorerApiMcpServer(ctx *pulumi.Context, + name string, args *OpenApiExplorerApiMcpServerArgs, opts ...pulumi.ResourceOption) (*OpenApiExplorerApiMcpServer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Apis == nil { + return nil, errors.New("invalid value for required argument 'Apis'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource OpenApiExplorerApiMcpServer + err := ctx.RegisterResource("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOpenApiExplorerApiMcpServer gets an existing OpenApiExplorerApiMcpServer 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 GetOpenApiExplorerApiMcpServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OpenApiExplorerApiMcpServerState, opts ...pulumi.ResourceOption) (*OpenApiExplorerApiMcpServer, error) { + var resource OpenApiExplorerApiMcpServer + err := ctx.ReadResource("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OpenApiExplorerApiMcpServer resources. +type openApiExplorerApiMcpServerState struct { + // Additional OpenAPI description information that can override the default behavior of APIs, including: + // - API name + // - Modification or removal of API parameter names + // - Whether to exclude the API from the output API response structure definition + // - Whether to return a CLI execution command instead of directly executing the API + // - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + AdditionalApiDescriptions []OpenApiExplorerApiMcpServerAdditionalApiDescription `pulumi:"additionalApiDescriptions"` + // The list of APIs to be included in the API MCP Server. See `apis` below. + Apis []OpenApiExplorerApiMcpServerApi `pulumi:"apis"` + // When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + AssumeRoleExtraPolicy *string `pulumi:"assumeRoleExtraPolicy"` + // The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + AssumeRoleName *string `pulumi:"assumeRoleName"` + // MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + CreateTime *string `pulumi:"createTime"` + // Description of the API MCP service. + Description *string `pulumi:"description"` + // Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + EnableAssumeRole *bool `pulumi:"enableAssumeRole"` + // Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + EnableCustomVpcWhitelist *bool `pulumi:"enableCustomVpcWhitelist"` + // MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + Instructions *string `pulumi:"instructions"` + // Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + Language *string `pulumi:"language"` + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name *string `pulumi:"name"` + // The custom OAuth Client ID when selecting a custom OAuth configuration. + // `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + OauthClientId *string `pulumi:"oauthClientId"` + // List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + Prompts []OpenApiExplorerApiMcpServerPrompt `pulumi:"prompts"` + // Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + // - on: enables public network access; + // - off: disables public network access; + // - follow: inherits the account-level configuration. + PublicAccess *string `pulumi:"publicAccess"` + // Enabled system services. + SystemTools []string `pulumi:"systemTools"` + TerraformTools []OpenApiExplorerApiMcpServerTerraformTool `pulumi:"terraformTools"` + // When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + VpcWhitelists []string `pulumi:"vpcWhitelists"` +} + +type OpenApiExplorerApiMcpServerState struct { + // Additional OpenAPI description information that can override the default behavior of APIs, including: + // - API name + // - Modification or removal of API parameter names + // - Whether to exclude the API from the output API response structure definition + // - Whether to return a CLI execution command instead of directly executing the API + // - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + AdditionalApiDescriptions OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput + // The list of APIs to be included in the API MCP Server. See `apis` below. + Apis OpenApiExplorerApiMcpServerApiArrayInput + // When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + AssumeRoleExtraPolicy pulumi.StringPtrInput + // The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + AssumeRoleName pulumi.StringPtrInput + // MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + CreateTime pulumi.StringPtrInput + // Description of the API MCP service. + Description pulumi.StringPtrInput + // Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + EnableAssumeRole pulumi.BoolPtrInput + // Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + EnableCustomVpcWhitelist pulumi.BoolPtrInput + // MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + Instructions pulumi.StringPtrInput + // Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + Language pulumi.StringPtrInput + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name pulumi.StringPtrInput + // The custom OAuth Client ID when selecting a custom OAuth configuration. + // `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + OauthClientId pulumi.StringPtrInput + // List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + Prompts OpenApiExplorerApiMcpServerPromptArrayInput + // Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + // - on: enables public network access; + // - off: disables public network access; + // - follow: inherits the account-level configuration. + PublicAccess pulumi.StringPtrInput + // Enabled system services. + SystemTools pulumi.StringArrayInput + TerraformTools OpenApiExplorerApiMcpServerTerraformToolArrayInput + // When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + VpcWhitelists pulumi.StringArrayInput +} + +func (OpenApiExplorerApiMcpServerState) ElementType() reflect.Type { + return reflect.TypeOf((*openApiExplorerApiMcpServerState)(nil)).Elem() +} + +type openApiExplorerApiMcpServerArgs struct { + // Additional OpenAPI description information that can override the default behavior of APIs, including: + // - API name + // - Modification or removal of API parameter names + // - Whether to exclude the API from the output API response structure definition + // - Whether to return a CLI execution command instead of directly executing the API + // - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + AdditionalApiDescriptions []OpenApiExplorerApiMcpServerAdditionalApiDescription `pulumi:"additionalApiDescriptions"` + // The list of APIs to be included in the API MCP Server. See `apis` below. + Apis []OpenApiExplorerApiMcpServerApi `pulumi:"apis"` + // When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + AssumeRoleExtraPolicy *string `pulumi:"assumeRoleExtraPolicy"` + // The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + AssumeRoleName *string `pulumi:"assumeRoleName"` + // Description of the API MCP service. + Description *string `pulumi:"description"` + // Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + EnableAssumeRole *bool `pulumi:"enableAssumeRole"` + // Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + EnableCustomVpcWhitelist *bool `pulumi:"enableCustomVpcWhitelist"` + // MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + Instructions *string `pulumi:"instructions"` + // Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + Language *string `pulumi:"language"` + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name *string `pulumi:"name"` + // The custom OAuth Client ID when selecting a custom OAuth configuration. + // `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + OauthClientId *string `pulumi:"oauthClientId"` + // List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + Prompts []OpenApiExplorerApiMcpServerPrompt `pulumi:"prompts"` + // Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + // - on: enables public network access; + // - off: disables public network access; + // - follow: inherits the account-level configuration. + PublicAccess *string `pulumi:"publicAccess"` + // Enabled system services. + SystemTools []string `pulumi:"systemTools"` + TerraformTools []OpenApiExplorerApiMcpServerTerraformTool `pulumi:"terraformTools"` + // When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + VpcWhitelists []string `pulumi:"vpcWhitelists"` +} + +// The set of arguments for constructing a OpenApiExplorerApiMcpServer resource. +type OpenApiExplorerApiMcpServerArgs struct { + // Additional OpenAPI description information that can override the default behavior of APIs, including: + // - API name + // - Modification or removal of API parameter names + // - Whether to exclude the API from the output API response structure definition + // - Whether to return a CLI execution command instead of directly executing the API + // - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + AdditionalApiDescriptions OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput + // The list of APIs to be included in the API MCP Server. See `apis` below. + Apis OpenApiExplorerApiMcpServerApiArrayInput + // When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + AssumeRoleExtraPolicy pulumi.StringPtrInput + // The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + AssumeRoleName pulumi.StringPtrInput + // Description of the API MCP service. + Description pulumi.StringPtrInput + // Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + EnableAssumeRole pulumi.BoolPtrInput + // Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + EnableCustomVpcWhitelist pulumi.BoolPtrInput + // MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + Instructions pulumi.StringPtrInput + // Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + Language pulumi.StringPtrInput + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name pulumi.StringPtrInput + // The custom OAuth Client ID when selecting a custom OAuth configuration. + // `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + OauthClientId pulumi.StringPtrInput + // List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + Prompts OpenApiExplorerApiMcpServerPromptArrayInput + // Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + // - on: enables public network access; + // - off: disables public network access; + // - follow: inherits the account-level configuration. + PublicAccess pulumi.StringPtrInput + // Enabled system services. + SystemTools pulumi.StringArrayInput + TerraformTools OpenApiExplorerApiMcpServerTerraformToolArrayInput + // When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + VpcWhitelists pulumi.StringArrayInput +} + +func (OpenApiExplorerApiMcpServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*openApiExplorerApiMcpServerArgs)(nil)).Elem() +} + +type OpenApiExplorerApiMcpServerInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerOutput() OpenApiExplorerApiMcpServerOutput + ToOpenApiExplorerApiMcpServerOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerOutput +} + +func (*OpenApiExplorerApiMcpServer) ElementType() reflect.Type { + return reflect.TypeOf((**OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (i *OpenApiExplorerApiMcpServer) ToOpenApiExplorerApiMcpServerOutput() OpenApiExplorerApiMcpServerOutput { + return i.ToOpenApiExplorerApiMcpServerOutputWithContext(context.Background()) +} + +func (i *OpenApiExplorerApiMcpServer) ToOpenApiExplorerApiMcpServerOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerOutput) +} + +// OpenApiExplorerApiMcpServerArrayInput is an input type that accepts OpenApiExplorerApiMcpServerArray and OpenApiExplorerApiMcpServerArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerArrayInput` via: +// +// OpenApiExplorerApiMcpServerArray{ OpenApiExplorerApiMcpServerArgs{...} } +type OpenApiExplorerApiMcpServerArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerArrayOutput() OpenApiExplorerApiMcpServerArrayOutput + ToOpenApiExplorerApiMcpServerArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerArrayOutput +} + +type OpenApiExplorerApiMcpServerArray []OpenApiExplorerApiMcpServerInput + +func (OpenApiExplorerApiMcpServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerArray) ToOpenApiExplorerApiMcpServerArrayOutput() OpenApiExplorerApiMcpServerArrayOutput { + return i.ToOpenApiExplorerApiMcpServerArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerArray) ToOpenApiExplorerApiMcpServerArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerArrayOutput) +} + +// OpenApiExplorerApiMcpServerMapInput is an input type that accepts OpenApiExplorerApiMcpServerMap and OpenApiExplorerApiMcpServerMapOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerMapInput` via: +// +// OpenApiExplorerApiMcpServerMap{ "key": OpenApiExplorerApiMcpServerArgs{...} } +type OpenApiExplorerApiMcpServerMapInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerMapOutput() OpenApiExplorerApiMcpServerMapOutput + ToOpenApiExplorerApiMcpServerMapOutputWithContext(context.Context) OpenApiExplorerApiMcpServerMapOutput +} + +type OpenApiExplorerApiMcpServerMap map[string]OpenApiExplorerApiMcpServerInput + +func (OpenApiExplorerApiMcpServerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerMap) ToOpenApiExplorerApiMcpServerMapOutput() OpenApiExplorerApiMcpServerMapOutput { + return i.ToOpenApiExplorerApiMcpServerMapOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerMap) ToOpenApiExplorerApiMcpServerMapOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerMapOutput) +} + +type OpenApiExplorerApiMcpServerOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerOutput) ToOpenApiExplorerApiMcpServerOutput() OpenApiExplorerApiMcpServerOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerOutput) ToOpenApiExplorerApiMcpServerOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerOutput { + return o +} + +// Additional OpenAPI description information that can override the default behavior of APIs, including: +// - API name +// - Modification or removal of API parameter names +// - Whether to exclude the API from the output API response structure definition +// - Whether to return a CLI execution command instead of directly executing the API +// - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. +func (o OpenApiExplorerApiMcpServerOutput) AdditionalApiDescriptions() OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return v.AdditionalApiDescriptions + }).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) +} + +// The list of APIs to be included in the API MCP Server. See `apis` below. +func (o OpenApiExplorerApiMcpServerOutput) Apis() OpenApiExplorerApiMcpServerApiArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) OpenApiExplorerApiMcpServerApiArrayOutput { return v.Apis }).(OpenApiExplorerApiMcpServerApiArrayOutput) +} + +// When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. +func (o OpenApiExplorerApiMcpServerOutput) AssumeRoleExtraPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.AssumeRoleExtraPolicy }).(pulumi.StringPtrOutput) +} + +// The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. +func (o OpenApiExplorerApiMcpServerOutput) AssumeRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.AssumeRoleName }).(pulumi.StringPtrOutput) +} + +// MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. +func (o OpenApiExplorerApiMcpServerOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the API MCP service. +func (o OpenApiExplorerApiMcpServerOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. +func (o OpenApiExplorerApiMcpServerOutput) EnableAssumeRole() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.BoolPtrOutput { return v.EnableAssumeRole }).(pulumi.BoolPtrOutput) +} + +// Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. +func (o OpenApiExplorerApiMcpServerOutput) EnableCustomVpcWhitelist() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.BoolPtrOutput { return v.EnableCustomVpcWhitelist }).(pulumi.BoolPtrOutput) +} + +// MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. +func (o OpenApiExplorerApiMcpServerOutput) Instructions() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.Instructions }).(pulumi.StringPtrOutput) +} + +// Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. +func (o OpenApiExplorerApiMcpServerOutput) Language() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.Language }).(pulumi.StringPtrOutput) +} + +// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). +func (o OpenApiExplorerApiMcpServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The custom OAuth Client ID when selecting a custom OAuth configuration. +// `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` +func (o OpenApiExplorerApiMcpServerOutput) OauthClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.OauthClientId }).(pulumi.StringPtrOutput) +} + +// List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. +func (o OpenApiExplorerApiMcpServerOutput) Prompts() OpenApiExplorerApiMcpServerPromptArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) OpenApiExplorerApiMcpServerPromptArrayOutput { return v.Prompts }).(OpenApiExplorerApiMcpServerPromptArrayOutput) +} + +// Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: +// - on: enables public network access; +// - off: disables public network access; +// - follow: inherits the account-level configuration. +func (o OpenApiExplorerApiMcpServerOutput) PublicAccess() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringPtrOutput { return v.PublicAccess }).(pulumi.StringPtrOutput) +} + +// Enabled system services. +func (o OpenApiExplorerApiMcpServerOutput) SystemTools() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringArrayOutput { return v.SystemTools }).(pulumi.StringArrayOutput) +} + +func (o OpenApiExplorerApiMcpServerOutput) TerraformTools() OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return v.TerraformTools + }).(OpenApiExplorerApiMcpServerTerraformToolArrayOutput) +} + +// When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. +func (o OpenApiExplorerApiMcpServerOutput) VpcWhitelists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpenApiExplorerApiMcpServer) pulumi.StringArrayOutput { return v.VpcWhitelists }).(pulumi.StringArrayOutput) +} + +type OpenApiExplorerApiMcpServerArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerArrayOutput) ToOpenApiExplorerApiMcpServerArrayOutput() OpenApiExplorerApiMcpServerArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerArrayOutput) ToOpenApiExplorerApiMcpServerArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpenApiExplorerApiMcpServer { + return vs[0].([]*OpenApiExplorerApiMcpServer)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerOutput) +} + +type OpenApiExplorerApiMcpServerMapOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OpenApiExplorerApiMcpServer)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerMapOutput) ToOpenApiExplorerApiMcpServerMapOutput() OpenApiExplorerApiMcpServerMapOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerMapOutput) ToOpenApiExplorerApiMcpServerMapOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerMapOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerMapOutput) MapIndex(k pulumi.StringInput) OpenApiExplorerApiMcpServerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpenApiExplorerApiMcpServer { + return vs[0].(map[string]*OpenApiExplorerApiMcpServer)[vs[1].(string)] + }).(OpenApiExplorerApiMcpServerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerInput)(nil)).Elem(), &OpenApiExplorerApiMcpServer{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerMapInput)(nil)).Elem(), OpenApiExplorerApiMcpServerMap{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerMapOutput{}) +} diff --git a/sdk/go/alicloud/opensearch/appGroup.go b/sdk/go/alicloud/opensearch/appGroup.go index 784925d1d5..2f4fee5890 100644 --- a/sdk/go/alicloud/opensearch/appGroup.go +++ b/sdk/go/alicloud/opensearch/appGroup.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Open Search App Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/accessPoint.go b/sdk/go/alicloud/oss/accessPoint.go index 494d39b34e..3cf84261ac 100644 --- a/sdk/go/alicloud/oss/accessPoint.go +++ b/sdk/go/alicloud/oss/accessPoint.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Access Point can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/accountPublicAccessBlock.go b/sdk/go/alicloud/oss/accountPublicAccessBlock.go index 20374f96e7..402fed7380 100644 --- a/sdk/go/alicloud/oss/accountPublicAccessBlock.go +++ b/sdk/go/alicloud/oss/accountPublicAccessBlock.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Account Public Access Block can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucket.go b/sdk/go/alicloud/oss/bucket.go index 044312105d..ec1c772871 100644 --- a/sdk/go/alicloud/oss/bucket.go +++ b/sdk/go/alicloud/oss/bucket.go @@ -853,6 +853,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS bucket can be imported using the bucket name, e.g. diff --git a/sdk/go/alicloud/oss/bucketCname.go b/sdk/go/alicloud/oss/bucketCname.go index fcb180e40a..1127d56e22 100644 --- a/sdk/go/alicloud/oss/bucketCname.go +++ b/sdk/go/alicloud/oss/bucketCname.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Cname can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketCors.go b/sdk/go/alicloud/oss/bucketCors.go index 571113b182..59654ffe76 100644 --- a/sdk/go/alicloud/oss/bucketCors.go +++ b/sdk/go/alicloud/oss/bucketCors.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Cors can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketDataRedundancyTransition.go b/sdk/go/alicloud/oss/bucketDataRedundancyTransition.go index b9756821fe..ba199473b5 100644 --- a/sdk/go/alicloud/oss/bucketDataRedundancyTransition.go +++ b/sdk/go/alicloud/oss/bucketDataRedundancyTransition.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Data Redundancy Transition can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketHttpsConfig.go b/sdk/go/alicloud/oss/bucketHttpsConfig.go index 2d574d0946..de38e88e8b 100644 --- a/sdk/go/alicloud/oss/bucketHttpsConfig.go +++ b/sdk/go/alicloud/oss/bucketHttpsConfig.go @@ -22,8 +22,10 @@ import ( type BucketHttpsConfig struct { pulumi.CustomResourceState - // The name of the bucket. + // The name of the bucket Bucket pulumi.StringOutput `pulumi:"bucket"` + // TLS encryption algorithm suite configuration See `cipherSuit` below. + CipherSuit BucketHttpsConfigCipherSuitOutput `pulumi:"cipherSuit"` // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. Enable pulumi.BoolOutput `pulumi:"enable"` // Specifies the TLS versions allowed to access this buckets. @@ -66,8 +68,10 @@ func GetBucketHttpsConfig(ctx *pulumi.Context, // Input properties used for looking up and filtering BucketHttpsConfig resources. type bucketHttpsConfigState struct { - // The name of the bucket. + // The name of the bucket Bucket *string `pulumi:"bucket"` + // TLS encryption algorithm suite configuration See `cipherSuit` below. + CipherSuit *BucketHttpsConfigCipherSuit `pulumi:"cipherSuit"` // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. Enable *bool `pulumi:"enable"` // Specifies the TLS versions allowed to access this buckets. @@ -75,8 +79,10 @@ type bucketHttpsConfigState struct { } type BucketHttpsConfigState struct { - // The name of the bucket. + // The name of the bucket Bucket pulumi.StringPtrInput + // TLS encryption algorithm suite configuration See `cipherSuit` below. + CipherSuit BucketHttpsConfigCipherSuitPtrInput // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. Enable pulumi.BoolPtrInput // Specifies the TLS versions allowed to access this buckets. @@ -88,8 +94,10 @@ func (BucketHttpsConfigState) ElementType() reflect.Type { } type bucketHttpsConfigArgs struct { - // The name of the bucket. + // The name of the bucket Bucket string `pulumi:"bucket"` + // TLS encryption algorithm suite configuration See `cipherSuit` below. + CipherSuit *BucketHttpsConfigCipherSuit `pulumi:"cipherSuit"` // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. Enable bool `pulumi:"enable"` // Specifies the TLS versions allowed to access this buckets. @@ -98,8 +106,10 @@ type bucketHttpsConfigArgs struct { // The set of arguments for constructing a BucketHttpsConfig resource. type BucketHttpsConfigArgs struct { - // The name of the bucket. + // The name of the bucket Bucket pulumi.StringInput + // TLS encryption algorithm suite configuration See `cipherSuit` below. + CipherSuit BucketHttpsConfigCipherSuitPtrInput // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. Enable pulumi.BoolInput // Specifies the TLS versions allowed to access this buckets. @@ -193,11 +203,16 @@ func (o BucketHttpsConfigOutput) ToBucketHttpsConfigOutputWithContext(ctx contex return o } -// The name of the bucket. +// The name of the bucket func (o BucketHttpsConfigOutput) Bucket() pulumi.StringOutput { return o.ApplyT(func(v *BucketHttpsConfig) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) } +// TLS encryption algorithm suite configuration See `cipherSuit` below. +func (o BucketHttpsConfigOutput) CipherSuit() BucketHttpsConfigCipherSuitOutput { + return o.ApplyT(func(v *BucketHttpsConfig) BucketHttpsConfigCipherSuitOutput { return v.CipherSuit }).(BucketHttpsConfigCipherSuitOutput) +} + // Specifies whether to enable TLS version management for the bucket. Valid values: true, false. func (o BucketHttpsConfigOutput) Enable() pulumi.BoolOutput { return o.ApplyT(func(v *BucketHttpsConfig) pulumi.BoolOutput { return v.Enable }).(pulumi.BoolOutput) diff --git a/sdk/go/alicloud/oss/bucketLogging.go b/sdk/go/alicloud/oss/bucketLogging.go index eb518ede29..70af7ce21e 100644 --- a/sdk/go/alicloud/oss/bucketLogging.go +++ b/sdk/go/alicloud/oss/bucketLogging.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Logging can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketMetaQuery.go b/sdk/go/alicloud/oss/bucketMetaQuery.go index fade91efdb..25a08df69b 100644 --- a/sdk/go/alicloud/oss/bucketMetaQuery.go +++ b/sdk/go/alicloud/oss/bucketMetaQuery.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Meta Query can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketObject.go b/sdk/go/alicloud/oss/bucketObject.go index 11997a707d..e479db6700 100644 --- a/sdk/go/alicloud/oss/bucketObject.go +++ b/sdk/go/alicloud/oss/bucketObject.go @@ -117,6 +117,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type BucketObject struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/oss/bucketPolicy.go b/sdk/go/alicloud/oss/bucketPolicy.go index 1f6cc37893..18f62e2bb9 100644 --- a/sdk/go/alicloud/oss/bucketPolicy.go +++ b/sdk/go/alicloud/oss/bucketPolicy.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketPublicAccessBlock.go b/sdk/go/alicloud/oss/bucketPublicAccessBlock.go index 388921b46e..6423daf1aa 100644 --- a/sdk/go/alicloud/oss/bucketPublicAccessBlock.go +++ b/sdk/go/alicloud/oss/bucketPublicAccessBlock.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Public Access Block can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketReferer.go b/sdk/go/alicloud/oss/bucketReferer.go index 8cd3c0b23e..7360acbc87 100644 --- a/sdk/go/alicloud/oss/bucketReferer.go +++ b/sdk/go/alicloud/oss/bucketReferer.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Referer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketReplication.go b/sdk/go/alicloud/oss/bucketReplication.go index 4b0f8ca9d7..08e9957ca1 100644 --- a/sdk/go/alicloud/oss/bucketReplication.go +++ b/sdk/go/alicloud/oss/bucketReplication.go @@ -157,6 +157,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Oss Bucket Replication can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketServerSideEncryption.go b/sdk/go/alicloud/oss/bucketServerSideEncryption.go index 01a94d97d9..a1e7575e89 100644 --- a/sdk/go/alicloud/oss/bucketServerSideEncryption.go +++ b/sdk/go/alicloud/oss/bucketServerSideEncryption.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Server Side Encryption can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketStyle.go b/sdk/go/alicloud/oss/bucketStyle.go index fbdda841ff..811e769862 100644 --- a/sdk/go/alicloud/oss/bucketStyle.go +++ b/sdk/go/alicloud/oss/bucketStyle.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Style can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketUserDefinedLogFields.go b/sdk/go/alicloud/oss/bucketUserDefinedLogFields.go index cbfc9b2093..2c9e6b4d28 100644 --- a/sdk/go/alicloud/oss/bucketUserDefinedLogFields.go +++ b/sdk/go/alicloud/oss/bucketUserDefinedLogFields.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket User Defined Log Fields can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/bucketWebsite.go b/sdk/go/alicloud/oss/bucketWebsite.go index 88e704af81..06a3cacbaf 100644 --- a/sdk/go/alicloud/oss/bucketWebsite.go +++ b/sdk/go/alicloud/oss/bucketWebsite.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OSS Bucket Website can be imported using the id, e.g. diff --git a/sdk/go/alicloud/oss/pulumiTypes.go b/sdk/go/alicloud/oss/pulumiTypes.go index 8e97d4c5fb..cb75624e81 100644 --- a/sdk/go/alicloud/oss/pulumiTypes.go +++ b/sdk/go/alicloud/oss/pulumiTypes.go @@ -979,6 +979,216 @@ func (o BucketCorsRuleArrayOutput) Index(i pulumi.IntInput) BucketCorsRuleOutput }).(BucketCorsRuleOutput) } +type BucketHttpsConfigCipherSuit struct { + // This field is used to configure custom encryption algorithm suites for TLS 1.2. + CustomCipherSuites []string `pulumi:"customCipherSuites"` + // Configures TLS encryption algorithm suites. Valid values: + // true: strong encryption algorithm suites or custom encryption algorithm suites. + // false: all encryption algorithm suites (default). + Enable *bool `pulumi:"enable"` + // Specifies whether to use strong encryption algorithm suites. Valid values: + // true: uses strong encryption algorithm suites. + // false: uses custom encryption algorithm suites. + StrongCipherSuite *bool `pulumi:"strongCipherSuite"` + // Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + Tls13CustomCipherSuites []string `pulumi:"tls13CustomCipherSuites"` +} + +// BucketHttpsConfigCipherSuitInput is an input type that accepts BucketHttpsConfigCipherSuitArgs and BucketHttpsConfigCipherSuitOutput values. +// You can construct a concrete instance of `BucketHttpsConfigCipherSuitInput` via: +// +// BucketHttpsConfigCipherSuitArgs{...} +type BucketHttpsConfigCipherSuitInput interface { + pulumi.Input + + ToBucketHttpsConfigCipherSuitOutput() BucketHttpsConfigCipherSuitOutput + ToBucketHttpsConfigCipherSuitOutputWithContext(context.Context) BucketHttpsConfigCipherSuitOutput +} + +type BucketHttpsConfigCipherSuitArgs struct { + // This field is used to configure custom encryption algorithm suites for TLS 1.2. + CustomCipherSuites pulumi.StringArrayInput `pulumi:"customCipherSuites"` + // Configures TLS encryption algorithm suites. Valid values: + // true: strong encryption algorithm suites or custom encryption algorithm suites. + // false: all encryption algorithm suites (default). + Enable pulumi.BoolPtrInput `pulumi:"enable"` + // Specifies whether to use strong encryption algorithm suites. Valid values: + // true: uses strong encryption algorithm suites. + // false: uses custom encryption algorithm suites. + StrongCipherSuite pulumi.BoolPtrInput `pulumi:"strongCipherSuite"` + // Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + Tls13CustomCipherSuites pulumi.StringArrayInput `pulumi:"tls13CustomCipherSuites"` +} + +func (BucketHttpsConfigCipherSuitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BucketHttpsConfigCipherSuit)(nil)).Elem() +} + +func (i BucketHttpsConfigCipherSuitArgs) ToBucketHttpsConfigCipherSuitOutput() BucketHttpsConfigCipherSuitOutput { + return i.ToBucketHttpsConfigCipherSuitOutputWithContext(context.Background()) +} + +func (i BucketHttpsConfigCipherSuitArgs) ToBucketHttpsConfigCipherSuitOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketHttpsConfigCipherSuitOutput) +} + +func (i BucketHttpsConfigCipherSuitArgs) ToBucketHttpsConfigCipherSuitPtrOutput() BucketHttpsConfigCipherSuitPtrOutput { + return i.ToBucketHttpsConfigCipherSuitPtrOutputWithContext(context.Background()) +} + +func (i BucketHttpsConfigCipherSuitArgs) ToBucketHttpsConfigCipherSuitPtrOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketHttpsConfigCipherSuitOutput).ToBucketHttpsConfigCipherSuitPtrOutputWithContext(ctx) +} + +// BucketHttpsConfigCipherSuitPtrInput is an input type that accepts BucketHttpsConfigCipherSuitArgs, BucketHttpsConfigCipherSuitPtr and BucketHttpsConfigCipherSuitPtrOutput values. +// You can construct a concrete instance of `BucketHttpsConfigCipherSuitPtrInput` via: +// +// BucketHttpsConfigCipherSuitArgs{...} +// +// or: +// +// nil +type BucketHttpsConfigCipherSuitPtrInput interface { + pulumi.Input + + ToBucketHttpsConfigCipherSuitPtrOutput() BucketHttpsConfigCipherSuitPtrOutput + ToBucketHttpsConfigCipherSuitPtrOutputWithContext(context.Context) BucketHttpsConfigCipherSuitPtrOutput +} + +type bucketHttpsConfigCipherSuitPtrType BucketHttpsConfigCipherSuitArgs + +func BucketHttpsConfigCipherSuitPtr(v *BucketHttpsConfigCipherSuitArgs) BucketHttpsConfigCipherSuitPtrInput { + return (*bucketHttpsConfigCipherSuitPtrType)(v) +} + +func (*bucketHttpsConfigCipherSuitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BucketHttpsConfigCipherSuit)(nil)).Elem() +} + +func (i *bucketHttpsConfigCipherSuitPtrType) ToBucketHttpsConfigCipherSuitPtrOutput() BucketHttpsConfigCipherSuitPtrOutput { + return i.ToBucketHttpsConfigCipherSuitPtrOutputWithContext(context.Background()) +} + +func (i *bucketHttpsConfigCipherSuitPtrType) ToBucketHttpsConfigCipherSuitPtrOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketHttpsConfigCipherSuitPtrOutput) +} + +type BucketHttpsConfigCipherSuitOutput struct{ *pulumi.OutputState } + +func (BucketHttpsConfigCipherSuitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BucketHttpsConfigCipherSuit)(nil)).Elem() +} + +func (o BucketHttpsConfigCipherSuitOutput) ToBucketHttpsConfigCipherSuitOutput() BucketHttpsConfigCipherSuitOutput { + return o +} + +func (o BucketHttpsConfigCipherSuitOutput) ToBucketHttpsConfigCipherSuitOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitOutput { + return o +} + +func (o BucketHttpsConfigCipherSuitOutput) ToBucketHttpsConfigCipherSuitPtrOutput() BucketHttpsConfigCipherSuitPtrOutput { + return o.ToBucketHttpsConfigCipherSuitPtrOutputWithContext(context.Background()) +} + +func (o BucketHttpsConfigCipherSuitOutput) ToBucketHttpsConfigCipherSuitPtrOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BucketHttpsConfigCipherSuit) *BucketHttpsConfigCipherSuit { + return &v + }).(BucketHttpsConfigCipherSuitPtrOutput) +} + +// This field is used to configure custom encryption algorithm suites for TLS 1.2. +func (o BucketHttpsConfigCipherSuitOutput) CustomCipherSuites() pulumi.StringArrayOutput { + return o.ApplyT(func(v BucketHttpsConfigCipherSuit) []string { return v.CustomCipherSuites }).(pulumi.StringArrayOutput) +} + +// Configures TLS encryption algorithm suites. Valid values: +// true: strong encryption algorithm suites or custom encryption algorithm suites. +// false: all encryption algorithm suites (default). +func (o BucketHttpsConfigCipherSuitOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v BucketHttpsConfigCipherSuit) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +// Specifies whether to use strong encryption algorithm suites. Valid values: +// true: uses strong encryption algorithm suites. +// false: uses custom encryption algorithm suites. +func (o BucketHttpsConfigCipherSuitOutput) StrongCipherSuite() pulumi.BoolPtrOutput { + return o.ApplyT(func(v BucketHttpsConfigCipherSuit) *bool { return v.StrongCipherSuite }).(pulumi.BoolPtrOutput) +} + +// Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. +func (o BucketHttpsConfigCipherSuitOutput) Tls13CustomCipherSuites() pulumi.StringArrayOutput { + return o.ApplyT(func(v BucketHttpsConfigCipherSuit) []string { return v.Tls13CustomCipherSuites }).(pulumi.StringArrayOutput) +} + +type BucketHttpsConfigCipherSuitPtrOutput struct{ *pulumi.OutputState } + +func (BucketHttpsConfigCipherSuitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BucketHttpsConfigCipherSuit)(nil)).Elem() +} + +func (o BucketHttpsConfigCipherSuitPtrOutput) ToBucketHttpsConfigCipherSuitPtrOutput() BucketHttpsConfigCipherSuitPtrOutput { + return o +} + +func (o BucketHttpsConfigCipherSuitPtrOutput) ToBucketHttpsConfigCipherSuitPtrOutputWithContext(ctx context.Context) BucketHttpsConfigCipherSuitPtrOutput { + return o +} + +func (o BucketHttpsConfigCipherSuitPtrOutput) Elem() BucketHttpsConfigCipherSuitOutput { + return o.ApplyT(func(v *BucketHttpsConfigCipherSuit) BucketHttpsConfigCipherSuit { + if v != nil { + return *v + } + var ret BucketHttpsConfigCipherSuit + return ret + }).(BucketHttpsConfigCipherSuitOutput) +} + +// This field is used to configure custom encryption algorithm suites for TLS 1.2. +func (o BucketHttpsConfigCipherSuitPtrOutput) CustomCipherSuites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *BucketHttpsConfigCipherSuit) []string { + if v == nil { + return nil + } + return v.CustomCipherSuites + }).(pulumi.StringArrayOutput) +} + +// Configures TLS encryption algorithm suites. Valid values: +// true: strong encryption algorithm suites or custom encryption algorithm suites. +// false: all encryption algorithm suites (default). +func (o BucketHttpsConfigCipherSuitPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BucketHttpsConfigCipherSuit) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +// Specifies whether to use strong encryption algorithm suites. Valid values: +// true: uses strong encryption algorithm suites. +// false: uses custom encryption algorithm suites. +func (o BucketHttpsConfigCipherSuitPtrOutput) StrongCipherSuite() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *BucketHttpsConfigCipherSuit) *bool { + if v == nil { + return nil + } + return v.StrongCipherSuite + }).(pulumi.BoolPtrOutput) +} + +// Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. +func (o BucketHttpsConfigCipherSuitPtrOutput) Tls13CustomCipherSuites() pulumi.StringArrayOutput { + return o.ApplyT(func(v *BucketHttpsConfigCipherSuit) []string { + if v == nil { + return nil + } + return v.Tls13CustomCipherSuites + }).(pulumi.StringArrayOutput) +} + type BucketLifecycleRule struct { // Specifies the number of days after initiating a multipart upload when the multipart upload must be completed. See `abortMultipartUpload` below. AbortMultipartUploads []BucketLifecycleRuleAbortMultipartUpload `pulumi:"abortMultipartUploads"` @@ -9251,6 +9461,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BucketCorsCorsRuleArrayInput)(nil)).Elem(), BucketCorsCorsRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketCorsRuleInput)(nil)).Elem(), BucketCorsRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketCorsRuleArrayInput)(nil)).Elem(), BucketCorsRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketHttpsConfigCipherSuitInput)(nil)).Elem(), BucketHttpsConfigCipherSuitArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketHttpsConfigCipherSuitPtrInput)(nil)).Elem(), BucketHttpsConfigCipherSuitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketLifecycleRuleInput)(nil)).Elem(), BucketLifecycleRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketLifecycleRuleArrayInput)(nil)).Elem(), BucketLifecycleRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketLifecycleRuleAbortMultipartUploadInput)(nil)).Elem(), BucketLifecycleRuleAbortMultipartUploadArgs{}) @@ -9365,6 +9577,8 @@ func init() { pulumi.RegisterOutputType(BucketCorsCorsRuleArrayOutput{}) pulumi.RegisterOutputType(BucketCorsRuleOutput{}) pulumi.RegisterOutputType(BucketCorsRuleArrayOutput{}) + pulumi.RegisterOutputType(BucketHttpsConfigCipherSuitOutput{}) + pulumi.RegisterOutputType(BucketHttpsConfigCipherSuitPtrOutput{}) pulumi.RegisterOutputType(BucketLifecycleRuleOutput{}) pulumi.RegisterOutputType(BucketLifecycleRuleArrayOutput{}) pulumi.RegisterOutputType(BucketLifecycleRuleAbortMultipartUploadOutput{}) diff --git a/sdk/go/alicloud/ots/instance.go b/sdk/go/alicloud/ots/instance.go index fc1f29b284..08a73692ce 100644 --- a/sdk/go/alicloud/ots/instance.go +++ b/sdk/go/alicloud/ots/instance.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OTS instance can be imported using instance id or name, e.g. diff --git a/sdk/go/alicloud/ots/instanceAttachment.go b/sdk/go/alicloud/ots/instanceAttachment.go index 98a99a423d..33da2f79ed 100644 --- a/sdk/go/alicloud/ots/instanceAttachment.go +++ b/sdk/go/alicloud/ots/instanceAttachment.go @@ -95,6 +95,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type InstanceAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ots/searchIndex.go b/sdk/go/alicloud/ots/searchIndex.go index 4a84aad382..19778fa0b4 100644 --- a/sdk/go/alicloud/ots/searchIndex.go +++ b/sdk/go/alicloud/ots/searchIndex.go @@ -151,6 +151,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OTS search index can be imported using id, e.g. diff --git a/sdk/go/alicloud/ots/secondaryIndex.go b/sdk/go/alicloud/ots/secondaryIndex.go index 5ff822a575..d10ea26f65 100644 --- a/sdk/go/alicloud/ots/secondaryIndex.go +++ b/sdk/go/alicloud/ots/secondaryIndex.go @@ -125,6 +125,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OTS secondary index can be imported using id, e.g. diff --git a/sdk/go/alicloud/ots/table.go b/sdk/go/alicloud/ots/table.go index 5a375118db..822aaacce9 100644 --- a/sdk/go/alicloud/ots/table.go +++ b/sdk/go/alicloud/ots/table.go @@ -106,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OTS table can be imported using id, e.g. diff --git a/sdk/go/alicloud/ots/tunnel.go b/sdk/go/alicloud/ots/tunnel.go index b04f9a14b0..564c00c689 100644 --- a/sdk/go/alicloud/ots/tunnel.go +++ b/sdk/go/alicloud/ots/tunnel.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // OTS tunnel can be imported using id, e.g. diff --git a/sdk/go/alicloud/pai/flowPipeline.go b/sdk/go/alicloud/pai/flowPipeline.go index 7deac80c42..44e7956925 100644 --- a/sdk/go/alicloud/pai/flowPipeline.go +++ b/sdk/go/alicloud/pai/flowPipeline.go @@ -176,6 +176,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Pai Flow Pipeline can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/service.go b/sdk/go/alicloud/pai/service.go index b9e9cf5950..ebe9f4971d 100644 --- a/sdk/go/alicloud/pai/service.go +++ b/sdk/go/alicloud/pai/service.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Service can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceCodeSource.go b/sdk/go/alicloud/pai/workspaceCodeSource.go index fba43d6927..c4cdaa1538 100644 --- a/sdk/go/alicloud/pai/workspaceCodeSource.go +++ b/sdk/go/alicloud/pai/workspaceCodeSource.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Code Source can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceDataset.go b/sdk/go/alicloud/pai/workspaceDataset.go index b3700923df..8ce5c7abe0 100644 --- a/sdk/go/alicloud/pai/workspaceDataset.go +++ b/sdk/go/alicloud/pai/workspaceDataset.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Dataset can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceDatasetversion.go b/sdk/go/alicloud/pai/workspaceDatasetversion.go index 3778de785c..9c7a2e2913 100644 --- a/sdk/go/alicloud/pai/workspaceDatasetversion.go +++ b/sdk/go/alicloud/pai/workspaceDatasetversion.go @@ -120,6 +120,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Datasetversion can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceExperiment.go b/sdk/go/alicloud/pai/workspaceExperiment.go index e485464b8e..518fc28582 100644 --- a/sdk/go/alicloud/pai/workspaceExperiment.go +++ b/sdk/go/alicloud/pai/workspaceExperiment.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Experiment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceMember.go b/sdk/go/alicloud/pai/workspaceMember.go index 3f0bd98f64..49829a9918 100644 --- a/sdk/go/alicloud/pai/workspaceMember.go +++ b/sdk/go/alicloud/pai/workspaceMember.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Member can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceModel.go b/sdk/go/alicloud/pai/workspaceModel.go index 2fa137aa5e..c46578216d 100644 --- a/sdk/go/alicloud/pai/workspaceModel.go +++ b/sdk/go/alicloud/pai/workspaceModel.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Model can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceModelVersion.go b/sdk/go/alicloud/pai/workspaceModelVersion.go index 6fe1e567ef..3c6d59e0ef 100644 --- a/sdk/go/alicloud/pai/workspaceModelVersion.go +++ b/sdk/go/alicloud/pai/workspaceModelVersion.go @@ -121,6 +121,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Model Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceRun.go b/sdk/go/alicloud/pai/workspaceRun.go index 4cd4537d7f..87c215a56d 100644 --- a/sdk/go/alicloud/pai/workspaceRun.go +++ b/sdk/go/alicloud/pai/workspaceRun.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Run can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceUserConfig.go b/sdk/go/alicloud/pai/workspaceUserConfig.go index 37d34a1473..77d0c194ee 100644 --- a/sdk/go/alicloud/pai/workspaceUserConfig.go +++ b/sdk/go/alicloud/pai/workspaceUserConfig.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace User Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pai/workspaceWorkspace.go b/sdk/go/alicloud/pai/workspaceWorkspace.go index a2ba6bc978..d57b4d83bd 100644 --- a/sdk/go/alicloud/pai/workspaceWorkspace.go +++ b/sdk/go/alicloud/pai/workspaceWorkspace.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PAI Workspace Workspace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polarDbExtension.go b/sdk/go/alicloud/polarDbExtension.go index 6d850996dd..6f178c7666 100644 --- a/sdk/go/alicloud/polarDbExtension.go +++ b/sdk/go/alicloud/polarDbExtension.go @@ -114,6 +114,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Polar Db Extension can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/account.go b/sdk/go/alicloud/polardb/account.go index d6526c7d5b..dfce4d841c 100644 --- a/sdk/go/alicloud/polardb/account.go +++ b/sdk/go/alicloud/polardb/account.go @@ -12,7 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a PolarDB account resource and used to manage databases. +// Provides a Polar Db Account resource. +// +// Database account information. +// +// For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). // // > **NOTE:** Available since v1.67.0. // @@ -82,30 +86,47 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// PolarDB account can be imported using the id, e.g. +// Polar Db Account can be imported using the id, e.g. // // ```sh -// $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" +// $ pulumi import alicloud:polardb/account:Account example : // ``` type Account struct { pulumi.CustomResourceState - // Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + // The description of the database account. AccountDescription pulumi.StringPtrOutput `pulumi:"accountDescription"` - // Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + // The lock status of the account. Valid values: + // - `UnLock`: The account is not locked. + // - `Lock`: The account is locked. + AccountLockState pulumi.StringOutput `pulumi:"accountLockState"` + // The account name. Must meet the following requirements: + // - Start with a lowercase letter and end with a letter or number. + // - Consists of lowercase letters, numbers, or underscores. + // - The length is 2 to 16 characters. + // - You cannot use some reserved usernames, such as root and admin. AccountName pulumi.StringOutput `pulumi:"accountName"` - // Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - AccountPassword pulumi.StringOutput `pulumi:"accountPassword"` - // Account type, Valid values are `Normal`, `Super`, Default to `Normal`. - AccountType pulumi.StringPtrOutput `pulumi:"accountType"` - // The Id of cluster in which account belongs. + // The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + // - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + // - Be 8 to 32 characters in length. + // - Special characters include !@#$%^&*()_+-=. + AccountPassword pulumi.StringPtrOutput `pulumi:"accountPassword"` + // The time when the password for the database account expires. + AccountPasswordValidTime pulumi.StringOutput `pulumi:"accountPasswordValidTime"` + // The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. + AccountType pulumi.StringOutput `pulumi:"accountType"` + // The cluster ID. DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"` // An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored. KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapOutput `pulumi:"kmsEncryptionContext"` + // (Available since v1.265.0) The status of the database account. + Status pulumi.StringOutput `pulumi:"status"` } // NewAccount registers a new resource with the given unique name, arguments, and options. @@ -118,14 +139,11 @@ func NewAccount(ctx *pulumi.Context, if args.AccountName == nil { return nil, errors.New("invalid value for required argument 'AccountName'") } - if args.AccountPassword == nil { - return nil, errors.New("invalid value for required argument 'AccountPassword'") - } if args.DbClusterId == nil { return nil, errors.New("invalid value for required argument 'DbClusterId'") } if args.AccountPassword != nil { - args.AccountPassword = pulumi.ToSecret(args.AccountPassword).(pulumi.StringInput) + args.AccountPassword = pulumi.ToSecret(args.AccountPassword).(pulumi.StringPtrInput) } secrets := pulumi.AdditionalSecretOutputs([]string{ "accountPassword", @@ -154,37 +172,67 @@ func GetAccount(ctx *pulumi.Context, // Input properties used for looking up and filtering Account resources. type accountState struct { - // Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + // The description of the database account. AccountDescription *string `pulumi:"accountDescription"` - // Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + // The lock status of the account. Valid values: + // - `UnLock`: The account is not locked. + // - `Lock`: The account is locked. + AccountLockState *string `pulumi:"accountLockState"` + // The account name. Must meet the following requirements: + // - Start with a lowercase letter and end with a letter or number. + // - Consists of lowercase letters, numbers, or underscores. + // - The length is 2 to 16 characters. + // - You cannot use some reserved usernames, such as root and admin. AccountName *string `pulumi:"accountName"` - // Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + // The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + // - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + // - Be 8 to 32 characters in length. + // - Special characters include !@#$%^&*()_+-=. AccountPassword *string `pulumi:"accountPassword"` - // Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + // The time when the password for the database account expires. + AccountPasswordValidTime *string `pulumi:"accountPasswordValidTime"` + // The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. AccountType *string `pulumi:"accountType"` - // The Id of cluster in which account belongs. + // The cluster ID. DbClusterId *string `pulumi:"dbClusterId"` // An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext map[string]string `pulumi:"kmsEncryptionContext"` + // (Available since v1.265.0) The status of the database account. + Status *string `pulumi:"status"` } type AccountState struct { - // Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + // The description of the database account. AccountDescription pulumi.StringPtrInput - // Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + // The lock status of the account. Valid values: + // - `UnLock`: The account is not locked. + // - `Lock`: The account is locked. + AccountLockState pulumi.StringPtrInput + // The account name. Must meet the following requirements: + // - Start with a lowercase letter and end with a letter or number. + // - Consists of lowercase letters, numbers, or underscores. + // - The length is 2 to 16 characters. + // - You cannot use some reserved usernames, such as root and admin. AccountName pulumi.StringPtrInput - // Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + // The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + // - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + // - Be 8 to 32 characters in length. + // - Special characters include !@#$%^&*()_+-=. AccountPassword pulumi.StringPtrInput - // Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + // The time when the password for the database account expires. + AccountPasswordValidTime pulumi.StringPtrInput + // The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. AccountType pulumi.StringPtrInput - // The Id of cluster in which account belongs. + // The cluster ID. DbClusterId pulumi.StringPtrInput // An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored. KmsEncryptedPassword pulumi.StringPtrInput // An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. KmsEncryptionContext pulumi.StringMapInput + // (Available since v1.265.0) The status of the database account. + Status pulumi.StringPtrInput } func (AccountState) ElementType() reflect.Type { @@ -192,15 +240,28 @@ func (AccountState) ElementType() reflect.Type { } type accountArgs struct { - // Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + // The description of the database account. AccountDescription *string `pulumi:"accountDescription"` - // Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + // The lock status of the account. Valid values: + // - `UnLock`: The account is not locked. + // - `Lock`: The account is locked. + AccountLockState *string `pulumi:"accountLockState"` + // The account name. Must meet the following requirements: + // - Start with a lowercase letter and end with a letter or number. + // - Consists of lowercase letters, numbers, or underscores. + // - The length is 2 to 16 characters. + // - You cannot use some reserved usernames, such as root and admin. AccountName string `pulumi:"accountName"` - // Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - AccountPassword string `pulumi:"accountPassword"` - // Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + // The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + // - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + // - Be 8 to 32 characters in length. + // - Special characters include !@#$%^&*()_+-=. + AccountPassword *string `pulumi:"accountPassword"` + // The time when the password for the database account expires. + AccountPasswordValidTime *string `pulumi:"accountPasswordValidTime"` + // The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. AccountType *string `pulumi:"accountType"` - // The Id of cluster in which account belongs. + // The cluster ID. DbClusterId string `pulumi:"dbClusterId"` // An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored. KmsEncryptedPassword *string `pulumi:"kmsEncryptedPassword"` @@ -210,15 +271,28 @@ type accountArgs struct { // The set of arguments for constructing a Account resource. type AccountArgs struct { - // Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + // The description of the database account. AccountDescription pulumi.StringPtrInput - // Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + // The lock status of the account. Valid values: + // - `UnLock`: The account is not locked. + // - `Lock`: The account is locked. + AccountLockState pulumi.StringPtrInput + // The account name. Must meet the following requirements: + // - Start with a lowercase letter and end with a letter or number. + // - Consists of lowercase letters, numbers, or underscores. + // - The length is 2 to 16 characters. + // - You cannot use some reserved usernames, such as root and admin. AccountName pulumi.StringInput - // Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - AccountPassword pulumi.StringInput - // Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + // The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + // - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + // - Be 8 to 32 characters in length. + // - Special characters include !@#$%^&*()_+-=. + AccountPassword pulumi.StringPtrInput + // The time when the password for the database account expires. + AccountPasswordValidTime pulumi.StringPtrInput + // The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. AccountType pulumi.StringPtrInput - // The Id of cluster in which account belongs. + // The cluster ID. DbClusterId pulumi.StringInput // An KMS encrypts password used to a db account. If the `accountPassword` is filled in, this field will be ignored. KmsEncryptedPassword pulumi.StringPtrInput @@ -313,27 +387,46 @@ func (o AccountOutput) ToAccountOutputWithContext(ctx context.Context) AccountOu return o } -// Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. +// The description of the database account. func (o AccountOutput) AccountDescription() pulumi.StringPtrOutput { return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.AccountDescription }).(pulumi.StringPtrOutput) } -// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. +// The lock status of the account. Valid values: +// - `UnLock`: The account is not locked. +// - `Lock`: The account is locked. +func (o AccountOutput) AccountLockState() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountLockState }).(pulumi.StringOutput) +} + +// The account name. Must meet the following requirements: +// - Start with a lowercase letter and end with a letter or number. +// - Consists of lowercase letters, numbers, or underscores. +// - The length is 2 to 16 characters. +// - You cannot use some reserved usernames, such as root and admin. func (o AccountOutput) AccountName() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountName }).(pulumi.StringOutput) } -// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. -func (o AccountOutput) AccountPassword() pulumi.StringOutput { - return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountPassword }).(pulumi.StringOutput) +// The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: +// - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. +// - Be 8 to 32 characters in length. +// - Special characters include !@#$%^&*()_+-=. +func (o AccountOutput) AccountPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.AccountPassword }).(pulumi.StringPtrOutput) +} + +// The time when the password for the database account expires. +func (o AccountOutput) AccountPasswordValidTime() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountPasswordValidTime }).(pulumi.StringOutput) } -// Account type, Valid values are `Normal`, `Super`, Default to `Normal`. -func (o AccountOutput) AccountType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.AccountType }).(pulumi.StringPtrOutput) +// The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. +func (o AccountOutput) AccountType() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountType }).(pulumi.StringOutput) } -// The Id of cluster in which account belongs. +// The cluster ID. func (o AccountOutput) DbClusterId() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.DbClusterId }).(pulumi.StringOutput) } @@ -348,6 +441,11 @@ func (o AccountOutput) KmsEncryptionContext() pulumi.StringMapOutput { return o.ApplyT(func(v *Account) pulumi.StringMapOutput { return v.KmsEncryptionContext }).(pulumi.StringMapOutput) } +// (Available since v1.265.0) The status of the database account. +func (o AccountOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + type AccountArrayOutput struct{ *pulumi.OutputState } func (AccountArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/alicloud/polardb/accountPrivilege.go b/sdk/go/alicloud/polardb/accountPrivilege.go index 697e54918d..45667120f5 100644 --- a/sdk/go/alicloud/polardb/accountPrivilege.go +++ b/sdk/go/alicloud/polardb/accountPrivilege.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB account privilege can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/clusterEndpoint.go b/sdk/go/alicloud/polardb/clusterEndpoint.go index 4d5094cf46..0eb4e6df46 100644 --- a/sdk/go/alicloud/polardb/clusterEndpoint.go +++ b/sdk/go/alicloud/polardb/clusterEndpoint.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/database.go b/sdk/go/alicloud/polardb/database.go index 7c03460f46..e75302cb02 100644 --- a/sdk/go/alicloud/polardb/database.go +++ b/sdk/go/alicloud/polardb/database.go @@ -12,12 +12,18 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. +// Provides a Polar Db Database resource. +// +// Manage linked databases. +// +// For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). // // > **NOTE:** Available since v1.66.0. // // ## Example Usage // +// # Basic Usage +// // ```go // package main // @@ -80,26 +86,38 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// PolarDB database can be imported using the id, e.g. +// Polar Db Database can be imported using the id, e.g. // // ```sh -// $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" +// $ pulumi import alicloud:polardb/database:Database example : // ``` type Database struct { pulumi.CustomResourceState - // Account name authorized to access the database. Only supports PostgreSQL. + // The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. AccountName pulumi.StringPtrOutput `pulumi:"accountName"` - // Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). - CharacterSetName pulumi.StringPtrOutput `pulumi:"characterSetName"` - // The Id of cluster that can run database. + // The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + CharacterSetName pulumi.StringOutput `pulumi:"characterSetName"` + // The language that defines the collation rules in the database. + // > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Collate pulumi.StringPtrOutput `pulumi:"collate"` + // The language that indicates the character type of the database. + // > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Ctype pulumi.StringPtrOutput `pulumi:"ctype"` + // The ID of cluster. DbClusterId pulumi.StringOutput `pulumi:"dbClusterId"` - // Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. - DbDescription pulumi.StringPtrOutput `pulumi:"dbDescription"` - // Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + // The description of the database. The description must meet the following requirements: + // - It cannot start with `http://` or `https://`. + // - It must be 2 to 256 characters in length. + DbDescription pulumi.StringOutput `pulumi:"dbDescription"` + // The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. DbName pulumi.StringOutput `pulumi:"dbName"` + // (Available since v1.265.0) The state of the database. + Status pulumi.StringOutput `pulumi:"status"` } // NewDatabase registers a new resource with the given unique name, arguments, and options. @@ -138,29 +156,49 @@ func GetDatabase(ctx *pulumi.Context, // Input properties used for looking up and filtering Database resources. type databaseState struct { - // Account name authorized to access the database. Only supports PostgreSQL. + // The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. AccountName *string `pulumi:"accountName"` - // Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + // The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). CharacterSetName *string `pulumi:"characterSetName"` - // The Id of cluster that can run database. + // The language that defines the collation rules in the database. + // > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Collate *string `pulumi:"collate"` + // The language that indicates the character type of the database. + // > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Ctype *string `pulumi:"ctype"` + // The ID of cluster. DbClusterId *string `pulumi:"dbClusterId"` - // Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + // The description of the database. The description must meet the following requirements: + // - It cannot start with `http://` or `https://`. + // - It must be 2 to 256 characters in length. DbDescription *string `pulumi:"dbDescription"` - // Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + // The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. DbName *string `pulumi:"dbName"` + // (Available since v1.265.0) The state of the database. + Status *string `pulumi:"status"` } type DatabaseState struct { - // Account name authorized to access the database. Only supports PostgreSQL. + // The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. AccountName pulumi.StringPtrInput - // Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + // The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). CharacterSetName pulumi.StringPtrInput - // The Id of cluster that can run database. + // The language that defines the collation rules in the database. + // > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Collate pulumi.StringPtrInput + // The language that indicates the character type of the database. + // > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Ctype pulumi.StringPtrInput + // The ID of cluster. DbClusterId pulumi.StringPtrInput - // Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + // The description of the database. The description must meet the following requirements: + // - It cannot start with `http://` or `https://`. + // - It must be 2 to 256 characters in length. DbDescription pulumi.StringPtrInput - // Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + // The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. DbName pulumi.StringPtrInput + // (Available since v1.265.0) The state of the database. + Status pulumi.StringPtrInput } func (DatabaseState) ElementType() reflect.Type { @@ -168,29 +206,45 @@ func (DatabaseState) ElementType() reflect.Type { } type databaseArgs struct { - // Account name authorized to access the database. Only supports PostgreSQL. + // The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. AccountName *string `pulumi:"accountName"` - // Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + // The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). CharacterSetName *string `pulumi:"characterSetName"` - // The Id of cluster that can run database. + // The language that defines the collation rules in the database. + // > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Collate *string `pulumi:"collate"` + // The language that indicates the character type of the database. + // > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Ctype *string `pulumi:"ctype"` + // The ID of cluster. DbClusterId string `pulumi:"dbClusterId"` - // Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + // The description of the database. The description must meet the following requirements: + // - It cannot start with `http://` or `https://`. + // - It must be 2 to 256 characters in length. DbDescription *string `pulumi:"dbDescription"` - // Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + // The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. DbName string `pulumi:"dbName"` } // The set of arguments for constructing a Database resource. type DatabaseArgs struct { - // Account name authorized to access the database. Only supports PostgreSQL. + // The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. AccountName pulumi.StringPtrInput - // Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + // The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). CharacterSetName pulumi.StringPtrInput - // The Id of cluster that can run database. + // The language that defines the collation rules in the database. + // > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Collate pulumi.StringPtrInput + // The language that indicates the character type of the database. + // > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + Ctype pulumi.StringPtrInput + // The ID of cluster. DbClusterId pulumi.StringInput - // Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + // The description of the database. The description must meet the following requirements: + // - It cannot start with `http://` or `https://`. + // - It must be 2 to 256 characters in length. DbDescription pulumi.StringPtrInput - // Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + // The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. DbName pulumi.StringInput } @@ -281,31 +335,50 @@ func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) Databas return o } -// Account name authorized to access the database. Only supports PostgreSQL. +// The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. func (o DatabaseOutput) AccountName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.AccountName }).(pulumi.StringPtrOutput) } -// Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). -func (o DatabaseOutput) CharacterSetName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.CharacterSetName }).(pulumi.StringPtrOutput) +// The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). +func (o DatabaseOutput) CharacterSetName() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.CharacterSetName }).(pulumi.StringOutput) +} + +// The language that defines the collation rules in the database. +// > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. +func (o DatabaseOutput) Collate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.Collate }).(pulumi.StringPtrOutput) +} + +// The language that indicates the character type of the database. +// > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. +func (o DatabaseOutput) Ctype() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.Ctype }).(pulumi.StringPtrOutput) } -// The Id of cluster that can run database. +// The ID of cluster. func (o DatabaseOutput) DbClusterId() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.DbClusterId }).(pulumi.StringOutput) } -// Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. -func (o DatabaseOutput) DbDescription() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.DbDescription }).(pulumi.StringPtrOutput) +// The description of the database. The description must meet the following requirements: +// - It cannot start with `http://` or `https://`. +// - It must be 2 to 256 characters in length. +func (o DatabaseOutput) DbDescription() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.DbDescription }).(pulumi.StringOutput) } -// Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. +// The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. func (o DatabaseOutput) DbName() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.DbName }).(pulumi.StringOutput) } +// (Available since v1.265.0) The state of the database. +func (o DatabaseOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + type DatabaseArrayOutput struct{ *pulumi.OutputState } func (DatabaseArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/alicloud/polardb/endpoint.go b/sdk/go/alicloud/polardb/endpoint.go index 385e2ec765..4848795001 100644 --- a/sdk/go/alicloud/polardb/endpoint.go +++ b/sdk/go/alicloud/polardb/endpoint.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/endpointAddress.go b/sdk/go/alicloud/polardb/endpointAddress.go index cfb85acac8..4ce712bfd4 100644 --- a/sdk/go/alicloud/polardb/endpointAddress.go +++ b/sdk/go/alicloud/polardb/endpointAddress.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB endpoint address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/globalDatabaseNetwork.go b/sdk/go/alicloud/polardb/globalDatabaseNetwork.go index 5cde73f070..6811f160ce 100644 --- a/sdk/go/alicloud/polardb/globalDatabaseNetwork.go +++ b/sdk/go/alicloud/polardb/globalDatabaseNetwork.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB Global Database Network can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/globalSecurityIpGroup.go b/sdk/go/alicloud/polardb/globalSecurityIpGroup.go new file mode 100644 index 0000000000..0e177c4fcf --- /dev/null +++ b/sdk/go/alicloud/polardb/globalSecurityIpGroup.go @@ -0,0 +1,335 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package polardb + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Polardb Global Security Ip Group resource. +// +// Global Security IP Group. +// +// For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). +// +// > **NOTE:** Available since v1.266.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/polardb" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _, err := polardb.NewGlobalSecurityIpGroup(ctx, "default", &polardb.GlobalSecurityIpGroupArgs{ +// GlobalIpList: pulumi.String("192.168.0.1"), +// GlobalIpGroupName: pulumi.String("example_template"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Polardb Global Security Ip Group can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example +// ``` +type GlobalSecurityIpGroup struct { + pulumi.CustomResourceState + + // The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + // + // - The name can contain lowercase letters, digits, and underscores (\_). + // - The name must start with a letter and end with a letter or digit. + // - The name must be 2 to 120 characters in length. + GlobalIpGroupName pulumi.StringOutput `pulumi:"globalIpGroupName"` + // The IP address in the whitelist template. + // + // > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + GlobalIpList pulumi.StringOutput `pulumi:"globalIpList"` + // The region ID of the IP whitelist template. + RegionId pulumi.StringOutput `pulumi:"regionId"` +} + +// NewGlobalSecurityIpGroup registers a new resource with the given unique name, arguments, and options. +func NewGlobalSecurityIpGroup(ctx *pulumi.Context, + name string, args *GlobalSecurityIpGroupArgs, opts ...pulumi.ResourceOption) (*GlobalSecurityIpGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GlobalIpGroupName == nil { + return nil, errors.New("invalid value for required argument 'GlobalIpGroupName'") + } + if args.GlobalIpList == nil { + return nil, errors.New("invalid value for required argument 'GlobalIpList'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GlobalSecurityIpGroup + err := ctx.RegisterResource("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGlobalSecurityIpGroup gets an existing GlobalSecurityIpGroup 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 GetGlobalSecurityIpGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GlobalSecurityIpGroupState, opts ...pulumi.ResourceOption) (*GlobalSecurityIpGroup, error) { + var resource GlobalSecurityIpGroup + err := ctx.ReadResource("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GlobalSecurityIpGroup resources. +type globalSecurityIpGroupState struct { + // The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + // + // - The name can contain lowercase letters, digits, and underscores (\_). + // - The name must start with a letter and end with a letter or digit. + // - The name must be 2 to 120 characters in length. + GlobalIpGroupName *string `pulumi:"globalIpGroupName"` + // The IP address in the whitelist template. + // + // > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + GlobalIpList *string `pulumi:"globalIpList"` + // The region ID of the IP whitelist template. + RegionId *string `pulumi:"regionId"` +} + +type GlobalSecurityIpGroupState struct { + // The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + // + // - The name can contain lowercase letters, digits, and underscores (\_). + // - The name must start with a letter and end with a letter or digit. + // - The name must be 2 to 120 characters in length. + GlobalIpGroupName pulumi.StringPtrInput + // The IP address in the whitelist template. + // + // > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + GlobalIpList pulumi.StringPtrInput + // The region ID of the IP whitelist template. + RegionId pulumi.StringPtrInput +} + +func (GlobalSecurityIpGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*globalSecurityIpGroupState)(nil)).Elem() +} + +type globalSecurityIpGroupArgs struct { + // The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + // + // - The name can contain lowercase letters, digits, and underscores (\_). + // - The name must start with a letter and end with a letter or digit. + // - The name must be 2 to 120 characters in length. + GlobalIpGroupName string `pulumi:"globalIpGroupName"` + // The IP address in the whitelist template. + // + // > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + GlobalIpList string `pulumi:"globalIpList"` +} + +// The set of arguments for constructing a GlobalSecurityIpGroup resource. +type GlobalSecurityIpGroupArgs struct { + // The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + // + // - The name can contain lowercase letters, digits, and underscores (\_). + // - The name must start with a letter and end with a letter or digit. + // - The name must be 2 to 120 characters in length. + GlobalIpGroupName pulumi.StringInput + // The IP address in the whitelist template. + // + // > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + GlobalIpList pulumi.StringInput +} + +func (GlobalSecurityIpGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*globalSecurityIpGroupArgs)(nil)).Elem() +} + +type GlobalSecurityIpGroupInput interface { + pulumi.Input + + ToGlobalSecurityIpGroupOutput() GlobalSecurityIpGroupOutput + ToGlobalSecurityIpGroupOutputWithContext(ctx context.Context) GlobalSecurityIpGroupOutput +} + +func (*GlobalSecurityIpGroup) ElementType() reflect.Type { + return reflect.TypeOf((**GlobalSecurityIpGroup)(nil)).Elem() +} + +func (i *GlobalSecurityIpGroup) ToGlobalSecurityIpGroupOutput() GlobalSecurityIpGroupOutput { + return i.ToGlobalSecurityIpGroupOutputWithContext(context.Background()) +} + +func (i *GlobalSecurityIpGroup) ToGlobalSecurityIpGroupOutputWithContext(ctx context.Context) GlobalSecurityIpGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalSecurityIpGroupOutput) +} + +// GlobalSecurityIpGroupArrayInput is an input type that accepts GlobalSecurityIpGroupArray and GlobalSecurityIpGroupArrayOutput values. +// You can construct a concrete instance of `GlobalSecurityIpGroupArrayInput` via: +// +// GlobalSecurityIpGroupArray{ GlobalSecurityIpGroupArgs{...} } +type GlobalSecurityIpGroupArrayInput interface { + pulumi.Input + + ToGlobalSecurityIpGroupArrayOutput() GlobalSecurityIpGroupArrayOutput + ToGlobalSecurityIpGroupArrayOutputWithContext(context.Context) GlobalSecurityIpGroupArrayOutput +} + +type GlobalSecurityIpGroupArray []GlobalSecurityIpGroupInput + +func (GlobalSecurityIpGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GlobalSecurityIpGroup)(nil)).Elem() +} + +func (i GlobalSecurityIpGroupArray) ToGlobalSecurityIpGroupArrayOutput() GlobalSecurityIpGroupArrayOutput { + return i.ToGlobalSecurityIpGroupArrayOutputWithContext(context.Background()) +} + +func (i GlobalSecurityIpGroupArray) ToGlobalSecurityIpGroupArrayOutputWithContext(ctx context.Context) GlobalSecurityIpGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalSecurityIpGroupArrayOutput) +} + +// GlobalSecurityIpGroupMapInput is an input type that accepts GlobalSecurityIpGroupMap and GlobalSecurityIpGroupMapOutput values. +// You can construct a concrete instance of `GlobalSecurityIpGroupMapInput` via: +// +// GlobalSecurityIpGroupMap{ "key": GlobalSecurityIpGroupArgs{...} } +type GlobalSecurityIpGroupMapInput interface { + pulumi.Input + + ToGlobalSecurityIpGroupMapOutput() GlobalSecurityIpGroupMapOutput + ToGlobalSecurityIpGroupMapOutputWithContext(context.Context) GlobalSecurityIpGroupMapOutput +} + +type GlobalSecurityIpGroupMap map[string]GlobalSecurityIpGroupInput + +func (GlobalSecurityIpGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GlobalSecurityIpGroup)(nil)).Elem() +} + +func (i GlobalSecurityIpGroupMap) ToGlobalSecurityIpGroupMapOutput() GlobalSecurityIpGroupMapOutput { + return i.ToGlobalSecurityIpGroupMapOutputWithContext(context.Background()) +} + +func (i GlobalSecurityIpGroupMap) ToGlobalSecurityIpGroupMapOutputWithContext(ctx context.Context) GlobalSecurityIpGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalSecurityIpGroupMapOutput) +} + +type GlobalSecurityIpGroupOutput struct{ *pulumi.OutputState } + +func (GlobalSecurityIpGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GlobalSecurityIpGroup)(nil)).Elem() +} + +func (o GlobalSecurityIpGroupOutput) ToGlobalSecurityIpGroupOutput() GlobalSecurityIpGroupOutput { + return o +} + +func (o GlobalSecurityIpGroupOutput) ToGlobalSecurityIpGroupOutputWithContext(ctx context.Context) GlobalSecurityIpGroupOutput { + return o +} + +// The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: +// +// - The name can contain lowercase letters, digits, and underscores (\_). +// - The name must start with a letter and end with a letter or digit. +// - The name must be 2 to 120 characters in length. +func (o GlobalSecurityIpGroupOutput) GlobalIpGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *GlobalSecurityIpGroup) pulumi.StringOutput { return v.GlobalIpGroupName }).(pulumi.StringOutput) +} + +// The IP address in the whitelist template. +// +// > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. +func (o GlobalSecurityIpGroupOutput) GlobalIpList() pulumi.StringOutput { + return o.ApplyT(func(v *GlobalSecurityIpGroup) pulumi.StringOutput { return v.GlobalIpList }).(pulumi.StringOutput) +} + +// The region ID of the IP whitelist template. +func (o GlobalSecurityIpGroupOutput) RegionId() pulumi.StringOutput { + return o.ApplyT(func(v *GlobalSecurityIpGroup) pulumi.StringOutput { return v.RegionId }).(pulumi.StringOutput) +} + +type GlobalSecurityIpGroupArrayOutput struct{ *pulumi.OutputState } + +func (GlobalSecurityIpGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*GlobalSecurityIpGroup)(nil)).Elem() +} + +func (o GlobalSecurityIpGroupArrayOutput) ToGlobalSecurityIpGroupArrayOutput() GlobalSecurityIpGroupArrayOutput { + return o +} + +func (o GlobalSecurityIpGroupArrayOutput) ToGlobalSecurityIpGroupArrayOutputWithContext(ctx context.Context) GlobalSecurityIpGroupArrayOutput { + return o +} + +func (o GlobalSecurityIpGroupArrayOutput) Index(i pulumi.IntInput) GlobalSecurityIpGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GlobalSecurityIpGroup { + return vs[0].([]*GlobalSecurityIpGroup)[vs[1].(int)] + }).(GlobalSecurityIpGroupOutput) +} + +type GlobalSecurityIpGroupMapOutput struct{ *pulumi.OutputState } + +func (GlobalSecurityIpGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*GlobalSecurityIpGroup)(nil)).Elem() +} + +func (o GlobalSecurityIpGroupMapOutput) ToGlobalSecurityIpGroupMapOutput() GlobalSecurityIpGroupMapOutput { + return o +} + +func (o GlobalSecurityIpGroupMapOutput) ToGlobalSecurityIpGroupMapOutputWithContext(ctx context.Context) GlobalSecurityIpGroupMapOutput { + return o +} + +func (o GlobalSecurityIpGroupMapOutput) MapIndex(k pulumi.StringInput) GlobalSecurityIpGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GlobalSecurityIpGroup { + return vs[0].(map[string]*GlobalSecurityIpGroup)[vs[1].(string)] + }).(GlobalSecurityIpGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GlobalSecurityIpGroupInput)(nil)).Elem(), &GlobalSecurityIpGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*GlobalSecurityIpGroupArrayInput)(nil)).Elem(), GlobalSecurityIpGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GlobalSecurityIpGroupMapInput)(nil)).Elem(), GlobalSecurityIpGroupMap{}) + pulumi.RegisterOutputType(GlobalSecurityIpGroupOutput{}) + pulumi.RegisterOutputType(GlobalSecurityIpGroupArrayOutput{}) + pulumi.RegisterOutputType(GlobalSecurityIpGroupMapOutput{}) +} diff --git a/sdk/go/alicloud/polardb/init.go b/sdk/go/alicloud/polardb/init.go index d11737ff86..0db9340c35 100644 --- a/sdk/go/alicloud/polardb/init.go +++ b/sdk/go/alicloud/polardb/init.go @@ -39,6 +39,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &EndpointAddress{} case "alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork": r = &GlobalDatabaseNetwork{} + case "alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup": + r = &GlobalSecurityIpGroup{} case "alicloud:polardb/parameterGroup:ParameterGroup": r = &ParameterGroup{} case "alicloud:polardb/primaryEndpoint:PrimaryEndpoint": @@ -107,6 +109,11 @@ func init() { "polardb/globalDatabaseNetwork", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "polardb/globalSecurityIpGroup", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "polardb/parameterGroup", diff --git a/sdk/go/alicloud/polardb/parameterGroup.go b/sdk/go/alicloud/polardb/parameterGroup.go index 83ae979f00..12f0191371 100644 --- a/sdk/go/alicloud/polardb/parameterGroup.go +++ b/sdk/go/alicloud/polardb/parameterGroup.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Polar Db Parameter Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/primaryEndpoint.go b/sdk/go/alicloud/polardb/primaryEndpoint.go index c4670bafbb..b92fdf7a46 100644 --- a/sdk/go/alicloud/polardb/primaryEndpoint.go +++ b/sdk/go/alicloud/polardb/primaryEndpoint.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/zonalAccount.go b/sdk/go/alicloud/polardb/zonalAccount.go index a175f5164f..46152512bd 100644 --- a/sdk/go/alicloud/polardb/zonalAccount.go +++ b/sdk/go/alicloud/polardb/zonalAccount.go @@ -18,6 +18,8 @@ import ( // // ## Example Usage // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB Zonal account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/zonalDbCluster.go b/sdk/go/alicloud/polardb/zonalDbCluster.go index 2255f073a7..436b601cc5 100644 --- a/sdk/go/alicloud/polardb/zonalDbCluster.go +++ b/sdk/go/alicloud/polardb/zonalDbCluster.go @@ -22,6 +22,8 @@ import ( // // # Create a PolarDB MySQL zonal cluster // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB zonal cluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/polardb/zonalEndpoint.go b/sdk/go/alicloud/polardb/zonalEndpoint.go index e1fa6adc63..c46f5ffe9a 100644 --- a/sdk/go/alicloud/polardb/zonalEndpoint.go +++ b/sdk/go/alicloud/polardb/zonalEndpoint.go @@ -19,6 +19,8 @@ import ( // // ## Example Usage // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // PolarDB Zonal endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/getVpcEndpointServices.go b/sdk/go/alicloud/privatelink/getVpcEndpointServices.go index 8cf88c460f..2bdaae364d 100644 --- a/sdk/go/alicloud/privatelink/getVpcEndpointServices.go +++ b/sdk/go/alicloud/privatelink/getVpcEndpointServices.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. +// This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. // // > **NOTE:** Available since v1.109.0. // @@ -26,26 +26,31 @@ import ( // // "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/privatelink" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// exampleVpcEndpointService, err := privatelink.NewVpcEndpointService(ctx, "example", &privatelink.VpcEndpointServiceArgs{ -// ServiceDescription: pulumi.String("terraform-example"), -// ConnectBandwidth: pulumi.Int(103), -// AutoAcceptConnection: pulumi.Bool(false), +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := privatelink.NewVpcEndpointService(ctx, "default", &privatelink.VpcEndpointServiceArgs{ +// ServiceDescription: pulumi.String(name), +// AutoAcceptConnection: pulumi.Bool(true), // }) // if err != nil { // return err // } -// example := privatelink.GetVpcEndpointServicesOutput(ctx, privatelink.GetVpcEndpointServicesOutputArgs{ +// ids := privatelink.GetVpcEndpointServicesOutput(ctx, privatelink.GetVpcEndpointServicesOutputArgs{ // Ids: pulumi.StringArray{ -// exampleVpcEndpointService.ID(), +// _default.ID(), // }, // }, nil) -// ctx.Export("firstPrivatelinkVpcEndpointServiceId", example.ApplyT(func(example privatelink.GetVpcEndpointServicesResult) (*string, error) { -// return &example.Services[0].Id, nil +// ctx.Export("privatelinkVpcEndpointServicesId0", ids.ApplyT(func(ids privatelink.GetVpcEndpointServicesResult) (*string, error) { +// return &ids.Services[0].Id, nil // }).(pulumi.StringPtrOutput)) // return nil // }) @@ -64,7 +69,7 @@ func GetVpcEndpointServices(ctx *pulumi.Context, args *GetVpcEndpointServicesArg // A collection of arguments for invoking getVpcEndpointServices. type GetVpcEndpointServicesArgs struct { - // Whether to automatically accept terminal node connections. + // Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. AutoAcceptConnection *bool `pulumi:"autoAcceptConnection"` // A list of Vpc Endpoint Service IDs. Ids []string `pulumi:"ids"` @@ -72,19 +77,19 @@ type GetVpcEndpointServicesArgs struct { NameRegex *string `pulumi:"nameRegex"` // File name where to save data source results (after running `pulumi preview`). OutputFile *string `pulumi:"outputFile"` - // The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + // The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. ServiceBusinessStatus *string `pulumi:"serviceBusinessStatus"` - // The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + // The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. Status *string `pulumi:"status"` - // The tags of Vpc Endpoint Service. + // A mapping of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` - // The name of Vpc Endpoint Service. + // The name of the endpoint service. VpcEndpointServiceName *string `pulumi:"vpcEndpointServiceName"` } // A collection of values returned by getVpcEndpointServices. type GetVpcEndpointServicesResult struct { - // Whether to automatically accept terminal node connections.. + // Indicates whether endpoint connection requests are automatically accepted. AutoAcceptConnection *bool `pulumi:"autoAcceptConnection"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` @@ -93,15 +98,15 @@ type GetVpcEndpointServicesResult struct { // A list of Vpc Endpoint Service names. Names []string `pulumi:"names"` OutputFile *string `pulumi:"outputFile"` - // The business status of the terminal node service.. + // The service state of the endpoint service. ServiceBusinessStatus *string `pulumi:"serviceBusinessStatus"` - // A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + // A list of Vpc Endpoint Services. Each element contains the following attributes: Services []GetVpcEndpointServicesService `pulumi:"services"` - // The Status of Vpc Endpoint Service. + // The state of the endpoint service. Status *string `pulumi:"status"` - // The tags of Vpc Endpoint Service. + // The tags added to the resource. Tags map[string]string `pulumi:"tags"` - // The name of Vpc Endpoint Service. + // The name of the endpoint service. VpcEndpointServiceName *string `pulumi:"vpcEndpointServiceName"` } @@ -116,7 +121,7 @@ func GetVpcEndpointServicesOutput(ctx *pulumi.Context, args GetVpcEndpointServic // A collection of arguments for invoking getVpcEndpointServices. type GetVpcEndpointServicesOutputArgs struct { - // Whether to automatically accept terminal node connections. + // Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. AutoAcceptConnection pulumi.BoolPtrInput `pulumi:"autoAcceptConnection"` // A list of Vpc Endpoint Service IDs. Ids pulumi.StringArrayInput `pulumi:"ids"` @@ -124,13 +129,13 @@ type GetVpcEndpointServicesOutputArgs struct { NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"` // File name where to save data source results (after running `pulumi preview`). OutputFile pulumi.StringPtrInput `pulumi:"outputFile"` - // The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + // The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. ServiceBusinessStatus pulumi.StringPtrInput `pulumi:"serviceBusinessStatus"` - // The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + // The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. Status pulumi.StringPtrInput `pulumi:"status"` - // The tags of Vpc Endpoint Service. + // A mapping of tags to assign to the resource. Tags pulumi.StringMapInput `pulumi:"tags"` - // The name of Vpc Endpoint Service. + // The name of the endpoint service. VpcEndpointServiceName pulumi.StringPtrInput `pulumi:"vpcEndpointServiceName"` } @@ -153,7 +158,7 @@ func (o GetVpcEndpointServicesResultOutput) ToGetVpcEndpointServicesResultOutput return o } -// Whether to automatically accept terminal node connections.. +// Indicates whether endpoint connection requests are automatically accepted. func (o GetVpcEndpointServicesResultOutput) AutoAcceptConnection() pulumi.BoolPtrOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) *bool { return v.AutoAcceptConnection }).(pulumi.BoolPtrOutput) } @@ -180,27 +185,27 @@ func (o GetVpcEndpointServicesResultOutput) OutputFile() pulumi.StringPtrOutput return o.ApplyT(func(v GetVpcEndpointServicesResult) *string { return v.OutputFile }).(pulumi.StringPtrOutput) } -// The business status of the terminal node service.. +// The service state of the endpoint service. func (o GetVpcEndpointServicesResultOutput) ServiceBusinessStatus() pulumi.StringPtrOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) *string { return v.ServiceBusinessStatus }).(pulumi.StringPtrOutput) } -// A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: +// A list of Vpc Endpoint Services. Each element contains the following attributes: func (o GetVpcEndpointServicesResultOutput) Services() GetVpcEndpointServicesServiceArrayOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) []GetVpcEndpointServicesService { return v.Services }).(GetVpcEndpointServicesServiceArrayOutput) } -// The Status of Vpc Endpoint Service. +// The state of the endpoint service. func (o GetVpcEndpointServicesResultOutput) Status() pulumi.StringPtrOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) *string { return v.Status }).(pulumi.StringPtrOutput) } -// The tags of Vpc Endpoint Service. +// The tags added to the resource. func (o GetVpcEndpointServicesResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// The name of Vpc Endpoint Service. +// The name of the endpoint service. func (o GetVpcEndpointServicesResultOutput) VpcEndpointServiceName() pulumi.StringPtrOutput { return o.ApplyT(func(v GetVpcEndpointServicesResult) *string { return v.VpcEndpointServiceName }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/alicloud/privatelink/pulumiTypes.go b/sdk/go/alicloud/privatelink/pulumiTypes.go index 6a52b24a61..ec59a2058e 100644 --- a/sdk/go/alicloud/privatelink/pulumiTypes.go +++ b/sdk/go/alicloud/privatelink/pulumiTypes.go @@ -359,25 +359,25 @@ func (o GetVpcEndpointServiceUsersUserArrayOutput) Index(i pulumi.IntInput) GetV } type GetVpcEndpointServicesService struct { - // Whether to automatically accept terminal node connections. + // Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. AutoAcceptConnection bool `pulumi:"autoAcceptConnection"` - // The connection bandwidth. + // The default maximum bandwidth of the endpoint connection. ConnectBandwidth int `pulumi:"connectBandwidth"` // The ID of the Vpc Endpoint Service. Id string `pulumi:"id"` - // The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + // The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. ServiceBusinessStatus string `pulumi:"serviceBusinessStatus"` - // The description of the terminal node service. + // The description of the endpoint service. ServiceDescription string `pulumi:"serviceDescription"` - // The domain of service. + // The domain name of the endpoint service. ServiceDomain string `pulumi:"serviceDomain"` - // The ID of the Vpc Endpoint Service. + // The ID of the endpoint service. ServiceId string `pulumi:"serviceId"` - // The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + // The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. Status string `pulumi:"status"` - // The tags of Vpc Endpoint Service. + // A mapping of tags to assign to the resource. Tags map[string]string `pulumi:"tags"` - // The name of Vpc Endpoint Service. + // The name of the endpoint service. VpcEndpointServiceName string `pulumi:"vpcEndpointServiceName"` } @@ -393,25 +393,25 @@ type GetVpcEndpointServicesServiceInput interface { } type GetVpcEndpointServicesServiceArgs struct { - // Whether to automatically accept terminal node connections. + // Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. AutoAcceptConnection pulumi.BoolInput `pulumi:"autoAcceptConnection"` - // The connection bandwidth. + // The default maximum bandwidth of the endpoint connection. ConnectBandwidth pulumi.IntInput `pulumi:"connectBandwidth"` // The ID of the Vpc Endpoint Service. Id pulumi.StringInput `pulumi:"id"` - // The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + // The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. ServiceBusinessStatus pulumi.StringInput `pulumi:"serviceBusinessStatus"` - // The description of the terminal node service. + // The description of the endpoint service. ServiceDescription pulumi.StringInput `pulumi:"serviceDescription"` - // The domain of service. + // The domain name of the endpoint service. ServiceDomain pulumi.StringInput `pulumi:"serviceDomain"` - // The ID of the Vpc Endpoint Service. + // The ID of the endpoint service. ServiceId pulumi.StringInput `pulumi:"serviceId"` - // The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + // The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. Status pulumi.StringInput `pulumi:"status"` - // The tags of Vpc Endpoint Service. + // A mapping of tags to assign to the resource. Tags pulumi.StringMapInput `pulumi:"tags"` - // The name of Vpc Endpoint Service. + // The name of the endpoint service. VpcEndpointServiceName pulumi.StringInput `pulumi:"vpcEndpointServiceName"` } @@ -466,12 +466,12 @@ func (o GetVpcEndpointServicesServiceOutput) ToGetVpcEndpointServicesServiceOutp return o } -// Whether to automatically accept terminal node connections. +// Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. func (o GetVpcEndpointServicesServiceOutput) AutoAcceptConnection() pulumi.BoolOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) bool { return v.AutoAcceptConnection }).(pulumi.BoolOutput) } -// The connection bandwidth. +// The default maximum bandwidth of the endpoint connection. func (o GetVpcEndpointServicesServiceOutput) ConnectBandwidth() pulumi.IntOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) int { return v.ConnectBandwidth }).(pulumi.IntOutput) } @@ -481,37 +481,37 @@ func (o GetVpcEndpointServicesServiceOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.Id }).(pulumi.StringOutput) } -// The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. +// The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. func (o GetVpcEndpointServicesServiceOutput) ServiceBusinessStatus() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.ServiceBusinessStatus }).(pulumi.StringOutput) } -// The description of the terminal node service. +// The description of the endpoint service. func (o GetVpcEndpointServicesServiceOutput) ServiceDescription() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.ServiceDescription }).(pulumi.StringOutput) } -// The domain of service. +// The domain name of the endpoint service. func (o GetVpcEndpointServicesServiceOutput) ServiceDomain() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.ServiceDomain }).(pulumi.StringOutput) } -// The ID of the Vpc Endpoint Service. +// The ID of the endpoint service. func (o GetVpcEndpointServicesServiceOutput) ServiceId() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.ServiceId }).(pulumi.StringOutput) } -// The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. +// The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. func (o GetVpcEndpointServicesServiceOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.Status }).(pulumi.StringOutput) } -// The tags of Vpc Endpoint Service. +// A mapping of tags to assign to the resource. func (o GetVpcEndpointServicesServiceOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// The name of Vpc Endpoint Service. +// The name of the endpoint service. func (o GetVpcEndpointServicesServiceOutput) VpcEndpointServiceName() pulumi.StringOutput { return o.ApplyT(func(v GetVpcEndpointServicesService) string { return v.VpcEndpointServiceName }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/privatelink/vpcEndpoint.go b/sdk/go/alicloud/privatelink/vpcEndpoint.go index e894472bd0..01744d01f5 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpoint.go +++ b/sdk/go/alicloud/privatelink/vpcEndpoint.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/vpcEndpointService.go b/sdk/go/alicloud/privatelink/vpcEndpointService.go index 198ab71bda..dc0b8350ae 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpointService.go +++ b/sdk/go/alicloud/privatelink/vpcEndpointService.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint Service can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/vpcEndpointServiceConnection.go b/sdk/go/alicloud/privatelink/vpcEndpointServiceConnection.go index c4ae6596a0..6c1699581d 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpointServiceConnection.go +++ b/sdk/go/alicloud/privatelink/vpcEndpointServiceConnection.go @@ -125,6 +125,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint Connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/vpcEndpointServiceResource.go b/sdk/go/alicloud/privatelink/vpcEndpointServiceResource.go index 35de450fb1..89ab2bd274 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpointServiceResource.go +++ b/sdk/go/alicloud/privatelink/vpcEndpointServiceResource.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/vpcEndpointServiceUser.go b/sdk/go/alicloud/privatelink/vpcEndpointServiceUser.go index ad8fe851b4..6ecf70755d 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpointServiceUser.go +++ b/sdk/go/alicloud/privatelink/vpcEndpointServiceUser.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint Service User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/privatelink/vpcEndpointZone.go b/sdk/go/alicloud/privatelink/vpcEndpointZone.go index e76c292503..bab3f6da84 100644 --- a/sdk/go/alicloud/privatelink/vpcEndpointZone.go +++ b/sdk/go/alicloud/privatelink/vpcEndpointZone.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Link Vpc Endpoint Zone can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pulumiTypes.go b/sdk/go/alicloud/pulumiTypes.go index 71d66e27de..f9f32b8782 100644 --- a/sdk/go/alicloud/pulumiTypes.go +++ b/sdk/go/alicloud/pulumiTypes.go @@ -270,6 +270,820 @@ func (o MilvusInstanceVswitchIdArrayOutput) Index(i pulumi.IntInput) MilvusInsta }).(MilvusInstanceVswitchIdOutput) } +type OpenApiExplorerApiMcpServerAdditionalApiDescription struct { + // The API name, such as ListApiMcpServers. + ApiName *string `pulumi:"apiName"` + // API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + // + // > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + ApiOverrideJson *string `pulumi:"apiOverrideJson"` + // API version information, typically in date format, such as 2014-05-26. + ApiVersion *string `pulumi:"apiVersion"` + // Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + // Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + ConstParameters []OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter `pulumi:"constParameters"` + // By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + // + // > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + EnableOutputSchema *bool `pulumi:"enableOutputSchema"` + // Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + // - SSE protocol: up to 30 minutes + // - Streamable HTTP protocol: up to 1 minute + // + // For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + // + // > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + ExecuteCliCommand *bool `pulumi:"executeCliCommand"` + // The name of the cloud product, such as Ecs. + Product *string `pulumi:"product"` +} + +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionInput is an input type that accepts OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs and OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerAdditionalApiDescriptionInput` via: +// +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{...} +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutputWithContext(context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs struct { + // The API name, such as ListApiMcpServers. + ApiName pulumi.StringPtrInput `pulumi:"apiName"` + // API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + // + // > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + ApiOverrideJson pulumi.StringPtrInput `pulumi:"apiOverrideJson"` + // API version information, typically in date format, such as 2014-05-26. + ApiVersion pulumi.StringPtrInput `pulumi:"apiVersion"` + // Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + // Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + ConstParameters OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayInput `pulumi:"constParameters"` + // By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + // + // > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + EnableOutputSchema pulumi.BoolPtrInput `pulumi:"enableOutputSchema"` + // Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + // - SSE protocol: up to 30 minutes + // - Streamable HTTP protocol: up to 1 minute + // + // For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + // + // > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + ExecuteCliCommand pulumi.BoolPtrInput `pulumi:"executeCliCommand"` + // The name of the cloud product, such as Ecs. + Product pulumi.StringPtrInput `pulumi:"product"` +} + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescription)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput { + return i.ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) +} + +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput is an input type that accepts OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray and OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput` via: +// +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray{ OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{...} } +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray []OpenApiExplorerApiMcpServerAdditionalApiDescriptionInput + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerAdditionalApiDescription)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return i.ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescription)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput { + return o +} + +// The API name, such as ListApiMcpServers. +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ApiName() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *string { return v.ApiName }).(pulumi.StringPtrOutput) +} + +// API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. +// +// > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ApiOverrideJson() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *string { return v.ApiOverrideJson }).(pulumi.StringPtrOutput) +} + +// API version information, typically in date format, such as 2014-05-26. +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ApiVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *string { return v.ApiVersion }).(pulumi.StringPtrOutput) +} + +// Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ +// Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ConstParameters() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) []OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter { + return v.ConstParameters + }).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) +} + +// By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. +// +// > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) EnableOutputSchema() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *bool { return v.EnableOutputSchema }).(pulumi.BoolPtrOutput) +} + +// Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: +// - SSE protocol: up to 30 minutes +// - Streamable HTTP protocol: up to 1 minute +// +// For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. +// +// > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) ExecuteCliCommand() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *bool { return v.ExecuteCliCommand }).(pulumi.BoolPtrOutput) +} + +// The name of the cloud product, such as Ecs. +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) Product() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescription) *string { return v.Product }).(pulumi.StringPtrOutput) +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerAdditionalApiDescription)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerAdditionalApiDescription { + return vs[0].([]OpenApiExplorerApiMcpServerAdditionalApiDescription)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput) +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter struct { + // Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + // + // For RPC-style APIs, examples include: + // - Name: sets the Name parameter to a fixed value. + // + // For ROA-style APIs, examples include: + // - Name: sets a query or path parameter named Name to a fixed value; + // - body.Name: sets the Name field within the request body to a fixed value. + // + // Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + // + // > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + Key *string `pulumi:"key"` + // This property does not have a description in the spec, please add it before generating code. + Value *string `pulumi:"value"` +} + +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterInput is an input type that accepts OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs and OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterInput` via: +// +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{...} +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutputWithContext(context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs struct { + // Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + // + // For RPC-style APIs, examples include: + // - Name: sets the Name parameter to a fixed value. + // + // For ROA-style APIs, examples include: + // - Name: sets a query or path parameter named Name to a fixed value; + // - body.Name: sets the Name field within the request body to a fixed value. + // + // Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + // + // > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + Key pulumi.StringPtrInput `pulumi:"key"` + // This property does not have a description in the spec, please add it before generating code. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput { + return i.ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) +} + +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayInput is an input type that accepts OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray and OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayInput` via: +// +// OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray{ OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{...} } +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput + ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray []OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterInput + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput { + return i.ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput { + return o +} + +// Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. +// +// For RPC-style APIs, examples include: +// - Name: sets the Name parameter to a fixed value. +// +// For ROA-style APIs, examples include: +// - Name: sets a query or path parameter named Name to a fixed value; +// - body.Name: sets the Name field within the request body to a fixed value. +// +// Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. +// +// > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// This property does not have a description in the spec, please add it before generating code. +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput() OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) ToOpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter { + return vs[0].([]OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput) +} + +type OpenApiExplorerApiMcpServerApi struct { + // API version information, typically in date format—for example, the version for ECS is 2014-05-26. + ApiVersion string `pulumi:"apiVersion"` + // Product code, such as Ecs. + Product string `pulumi:"product"` + // Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + Selectors []string `pulumi:"selectors"` +} + +// OpenApiExplorerApiMcpServerApiInput is an input type that accepts OpenApiExplorerApiMcpServerApiArgs and OpenApiExplorerApiMcpServerApiOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerApiInput` via: +// +// OpenApiExplorerApiMcpServerApiArgs{...} +type OpenApiExplorerApiMcpServerApiInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerApiOutput() OpenApiExplorerApiMcpServerApiOutput + ToOpenApiExplorerApiMcpServerApiOutputWithContext(context.Context) OpenApiExplorerApiMcpServerApiOutput +} + +type OpenApiExplorerApiMcpServerApiArgs struct { + // API version information, typically in date format—for example, the version for ECS is 2014-05-26. + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + // Product code, such as Ecs. + Product pulumi.StringInput `pulumi:"product"` + // Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + Selectors pulumi.StringArrayInput `pulumi:"selectors"` +} + +func (OpenApiExplorerApiMcpServerApiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerApi)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerApiArgs) ToOpenApiExplorerApiMcpServerApiOutput() OpenApiExplorerApiMcpServerApiOutput { + return i.ToOpenApiExplorerApiMcpServerApiOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerApiArgs) ToOpenApiExplorerApiMcpServerApiOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerApiOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerApiOutput) +} + +// OpenApiExplorerApiMcpServerApiArrayInput is an input type that accepts OpenApiExplorerApiMcpServerApiArray and OpenApiExplorerApiMcpServerApiArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerApiArrayInput` via: +// +// OpenApiExplorerApiMcpServerApiArray{ OpenApiExplorerApiMcpServerApiArgs{...} } +type OpenApiExplorerApiMcpServerApiArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerApiArrayOutput() OpenApiExplorerApiMcpServerApiArrayOutput + ToOpenApiExplorerApiMcpServerApiArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerApiArrayOutput +} + +type OpenApiExplorerApiMcpServerApiArray []OpenApiExplorerApiMcpServerApiInput + +func (OpenApiExplorerApiMcpServerApiArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerApi)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerApiArray) ToOpenApiExplorerApiMcpServerApiArrayOutput() OpenApiExplorerApiMcpServerApiArrayOutput { + return i.ToOpenApiExplorerApiMcpServerApiArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerApiArray) ToOpenApiExplorerApiMcpServerApiArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerApiArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerApiArrayOutput) +} + +type OpenApiExplorerApiMcpServerApiOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerApiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerApi)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerApiOutput) ToOpenApiExplorerApiMcpServerApiOutput() OpenApiExplorerApiMcpServerApiOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerApiOutput) ToOpenApiExplorerApiMcpServerApiOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerApiOutput { + return o +} + +// API version information, typically in date format—for example, the version for ECS is 2014-05-26. +func (o OpenApiExplorerApiMcpServerApiOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerApi) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +// Product code, such as Ecs. +func (o OpenApiExplorerApiMcpServerApiOutput) Product() pulumi.StringOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerApi) string { return v.Product }).(pulumi.StringOutput) +} + +// Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. +func (o OpenApiExplorerApiMcpServerApiOutput) Selectors() pulumi.StringArrayOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerApi) []string { return v.Selectors }).(pulumi.StringArrayOutput) +} + +type OpenApiExplorerApiMcpServerApiArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerApiArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerApi)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerApiArrayOutput) ToOpenApiExplorerApiMcpServerApiArrayOutput() OpenApiExplorerApiMcpServerApiArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerApiArrayOutput) ToOpenApiExplorerApiMcpServerApiArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerApiArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerApiArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerApiOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerApi { + return vs[0].([]OpenApiExplorerApiMcpServerApi)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerApiOutput) +} + +type OpenApiExplorerApiMcpServerPrompt struct { + // Parameters for the prompt. See `arguments` below. + Arguments []OpenApiExplorerApiMcpServerPromptArgument `pulumi:"arguments"` + // Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + Content *string `pulumi:"content"` + // Description of the prompt parameter. + Description *string `pulumi:"description"` + // Name of the prompt parameter. + Name *string `pulumi:"name"` +} + +// OpenApiExplorerApiMcpServerPromptInput is an input type that accepts OpenApiExplorerApiMcpServerPromptArgs and OpenApiExplorerApiMcpServerPromptOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerPromptInput` via: +// +// OpenApiExplorerApiMcpServerPromptArgs{...} +type OpenApiExplorerApiMcpServerPromptInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerPromptOutput() OpenApiExplorerApiMcpServerPromptOutput + ToOpenApiExplorerApiMcpServerPromptOutputWithContext(context.Context) OpenApiExplorerApiMcpServerPromptOutput +} + +type OpenApiExplorerApiMcpServerPromptArgs struct { + // Parameters for the prompt. See `arguments` below. + Arguments OpenApiExplorerApiMcpServerPromptArgumentArrayInput `pulumi:"arguments"` + // Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + Content pulumi.StringPtrInput `pulumi:"content"` + // Description of the prompt parameter. + Description pulumi.StringPtrInput `pulumi:"description"` + // Name of the prompt parameter. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (OpenApiExplorerApiMcpServerPromptArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerPrompt)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerPromptArgs) ToOpenApiExplorerApiMcpServerPromptOutput() OpenApiExplorerApiMcpServerPromptOutput { + return i.ToOpenApiExplorerApiMcpServerPromptOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerPromptArgs) ToOpenApiExplorerApiMcpServerPromptOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerPromptOutput) +} + +// OpenApiExplorerApiMcpServerPromptArrayInput is an input type that accepts OpenApiExplorerApiMcpServerPromptArray and OpenApiExplorerApiMcpServerPromptArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerPromptArrayInput` via: +// +// OpenApiExplorerApiMcpServerPromptArray{ OpenApiExplorerApiMcpServerPromptArgs{...} } +type OpenApiExplorerApiMcpServerPromptArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerPromptArrayOutput() OpenApiExplorerApiMcpServerPromptArrayOutput + ToOpenApiExplorerApiMcpServerPromptArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerPromptArrayOutput +} + +type OpenApiExplorerApiMcpServerPromptArray []OpenApiExplorerApiMcpServerPromptInput + +func (OpenApiExplorerApiMcpServerPromptArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerPrompt)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerPromptArray) ToOpenApiExplorerApiMcpServerPromptArrayOutput() OpenApiExplorerApiMcpServerPromptArrayOutput { + return i.ToOpenApiExplorerApiMcpServerPromptArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerPromptArray) ToOpenApiExplorerApiMcpServerPromptArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerPromptArrayOutput) +} + +type OpenApiExplorerApiMcpServerPromptOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerPromptOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerPrompt)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerPromptOutput) ToOpenApiExplorerApiMcpServerPromptOutput() OpenApiExplorerApiMcpServerPromptOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptOutput) ToOpenApiExplorerApiMcpServerPromptOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptOutput { + return o +} + +// Parameters for the prompt. See `arguments` below. +func (o OpenApiExplorerApiMcpServerPromptOutput) Arguments() OpenApiExplorerApiMcpServerPromptArgumentArrayOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPrompt) []OpenApiExplorerApiMcpServerPromptArgument { + return v.Arguments + }).(OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) +} + +// Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. +func (o OpenApiExplorerApiMcpServerPromptOutput) Content() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPrompt) *string { return v.Content }).(pulumi.StringPtrOutput) +} + +// Description of the prompt parameter. +func (o OpenApiExplorerApiMcpServerPromptOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPrompt) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Name of the prompt parameter. +func (o OpenApiExplorerApiMcpServerPromptOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPrompt) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type OpenApiExplorerApiMcpServerPromptArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerPromptArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerPrompt)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerPromptArrayOutput) ToOpenApiExplorerApiMcpServerPromptArrayOutput() OpenApiExplorerApiMcpServerPromptArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptArrayOutput) ToOpenApiExplorerApiMcpServerPromptArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerPromptOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerPrompt { + return vs[0].([]OpenApiExplorerApiMcpServerPrompt)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerPromptOutput) +} + +type OpenApiExplorerApiMcpServerPromptArgument struct { + // Description of the API MCP service. + Description *string `pulumi:"description"` + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name *string `pulumi:"name"` + // Indicates whether the prompt parameter is required. + Required *bool `pulumi:"required"` +} + +// OpenApiExplorerApiMcpServerPromptArgumentInput is an input type that accepts OpenApiExplorerApiMcpServerPromptArgumentArgs and OpenApiExplorerApiMcpServerPromptArgumentOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerPromptArgumentInput` via: +// +// OpenApiExplorerApiMcpServerPromptArgumentArgs{...} +type OpenApiExplorerApiMcpServerPromptArgumentInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerPromptArgumentOutput() OpenApiExplorerApiMcpServerPromptArgumentOutput + ToOpenApiExplorerApiMcpServerPromptArgumentOutputWithContext(context.Context) OpenApiExplorerApiMcpServerPromptArgumentOutput +} + +type OpenApiExplorerApiMcpServerPromptArgumentArgs struct { + // Description of the API MCP service. + Description pulumi.StringPtrInput `pulumi:"description"` + // Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + Name pulumi.StringPtrInput `pulumi:"name"` + // Indicates whether the prompt parameter is required. + Required pulumi.BoolPtrInput `pulumi:"required"` +} + +func (OpenApiExplorerApiMcpServerPromptArgumentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptArgument)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerPromptArgumentArgs) ToOpenApiExplorerApiMcpServerPromptArgumentOutput() OpenApiExplorerApiMcpServerPromptArgumentOutput { + return i.ToOpenApiExplorerApiMcpServerPromptArgumentOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerPromptArgumentArgs) ToOpenApiExplorerApiMcpServerPromptArgumentOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArgumentOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerPromptArgumentOutput) +} + +// OpenApiExplorerApiMcpServerPromptArgumentArrayInput is an input type that accepts OpenApiExplorerApiMcpServerPromptArgumentArray and OpenApiExplorerApiMcpServerPromptArgumentArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerPromptArgumentArrayInput` via: +// +// OpenApiExplorerApiMcpServerPromptArgumentArray{ OpenApiExplorerApiMcpServerPromptArgumentArgs{...} } +type OpenApiExplorerApiMcpServerPromptArgumentArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutput() OpenApiExplorerApiMcpServerPromptArgumentArrayOutput + ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerPromptArgumentArrayOutput +} + +type OpenApiExplorerApiMcpServerPromptArgumentArray []OpenApiExplorerApiMcpServerPromptArgumentInput + +func (OpenApiExplorerApiMcpServerPromptArgumentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerPromptArgument)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerPromptArgumentArray) ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutput() OpenApiExplorerApiMcpServerPromptArgumentArrayOutput { + return i.ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerPromptArgumentArray) ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArgumentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) +} + +type OpenApiExplorerApiMcpServerPromptArgumentOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerPromptArgumentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptArgument)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerPromptArgumentOutput) ToOpenApiExplorerApiMcpServerPromptArgumentOutput() OpenApiExplorerApiMcpServerPromptArgumentOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptArgumentOutput) ToOpenApiExplorerApiMcpServerPromptArgumentOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArgumentOutput { + return o +} + +// Description of the API MCP service. +func (o OpenApiExplorerApiMcpServerPromptArgumentOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPromptArgument) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Name of the MCP Server. It can contain digits, English letters, and hyphens (-). +func (o OpenApiExplorerApiMcpServerPromptArgumentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPromptArgument) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Indicates whether the prompt parameter is required. +func (o OpenApiExplorerApiMcpServerPromptArgumentOutput) Required() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerPromptArgument) *bool { return v.Required }).(pulumi.BoolPtrOutput) +} + +type OpenApiExplorerApiMcpServerPromptArgumentArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerPromptArgument)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutput() OpenApiExplorerApiMcpServerPromptArgumentArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) ToOpenApiExplorerApiMcpServerPromptArgumentArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerPromptArgumentArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerPromptArgumentArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerPromptArgumentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerPromptArgument { + return vs[0].([]OpenApiExplorerApiMcpServerPromptArgument)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerPromptArgumentOutput) +} + +type OpenApiExplorerApiMcpServerTerraformTool struct { + // Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + Async *bool `pulumi:"async"` + Code *string `pulumi:"code"` + Description *string `pulumi:"description"` + // The cleanup policy applied to temporary resources after task completion, based on the task execution status: + // - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + // - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + // - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + DestroyPolicy *string `pulumi:"destroyPolicy"` + Name *string `pulumi:"name"` +} + +// OpenApiExplorerApiMcpServerTerraformToolInput is an input type that accepts OpenApiExplorerApiMcpServerTerraformToolArgs and OpenApiExplorerApiMcpServerTerraformToolOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerTerraformToolInput` via: +// +// OpenApiExplorerApiMcpServerTerraformToolArgs{...} +type OpenApiExplorerApiMcpServerTerraformToolInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerTerraformToolOutput() OpenApiExplorerApiMcpServerTerraformToolOutput + ToOpenApiExplorerApiMcpServerTerraformToolOutputWithContext(context.Context) OpenApiExplorerApiMcpServerTerraformToolOutput +} + +type OpenApiExplorerApiMcpServerTerraformToolArgs struct { + // Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + Async pulumi.BoolPtrInput `pulumi:"async"` + Code pulumi.StringPtrInput `pulumi:"code"` + Description pulumi.StringPtrInput `pulumi:"description"` + // The cleanup policy applied to temporary resources after task completion, based on the task execution status: + // - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + // - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + // - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + DestroyPolicy pulumi.StringPtrInput `pulumi:"destroyPolicy"` + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (OpenApiExplorerApiMcpServerTerraformToolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerTerraformTool)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerTerraformToolArgs) ToOpenApiExplorerApiMcpServerTerraformToolOutput() OpenApiExplorerApiMcpServerTerraformToolOutput { + return i.ToOpenApiExplorerApiMcpServerTerraformToolOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerTerraformToolArgs) ToOpenApiExplorerApiMcpServerTerraformToolOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerTerraformToolOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerTerraformToolOutput) +} + +// OpenApiExplorerApiMcpServerTerraformToolArrayInput is an input type that accepts OpenApiExplorerApiMcpServerTerraformToolArray and OpenApiExplorerApiMcpServerTerraformToolArrayOutput values. +// You can construct a concrete instance of `OpenApiExplorerApiMcpServerTerraformToolArrayInput` via: +// +// OpenApiExplorerApiMcpServerTerraformToolArray{ OpenApiExplorerApiMcpServerTerraformToolArgs{...} } +type OpenApiExplorerApiMcpServerTerraformToolArrayInput interface { + pulumi.Input + + ToOpenApiExplorerApiMcpServerTerraformToolArrayOutput() OpenApiExplorerApiMcpServerTerraformToolArrayOutput + ToOpenApiExplorerApiMcpServerTerraformToolArrayOutputWithContext(context.Context) OpenApiExplorerApiMcpServerTerraformToolArrayOutput +} + +type OpenApiExplorerApiMcpServerTerraformToolArray []OpenApiExplorerApiMcpServerTerraformToolInput + +func (OpenApiExplorerApiMcpServerTerraformToolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerTerraformTool)(nil)).Elem() +} + +func (i OpenApiExplorerApiMcpServerTerraformToolArray) ToOpenApiExplorerApiMcpServerTerraformToolArrayOutput() OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return i.ToOpenApiExplorerApiMcpServerTerraformToolArrayOutputWithContext(context.Background()) +} + +func (i OpenApiExplorerApiMcpServerTerraformToolArray) ToOpenApiExplorerApiMcpServerTerraformToolArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpenApiExplorerApiMcpServerTerraformToolArrayOutput) +} + +type OpenApiExplorerApiMcpServerTerraformToolOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerTerraformToolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpenApiExplorerApiMcpServerTerraformTool)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) ToOpenApiExplorerApiMcpServerTerraformToolOutput() OpenApiExplorerApiMcpServerTerraformToolOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) ToOpenApiExplorerApiMcpServerTerraformToolOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerTerraformToolOutput { + return o +} + +// Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) Async() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerTerraformTool) *bool { return v.Async }).(pulumi.BoolPtrOutput) +} + +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerTerraformTool) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerTerraformTool) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The cleanup policy applied to temporary resources after task completion, based on the task execution status: +// - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. +// - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. +// - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) DestroyPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerTerraformTool) *string { return v.DestroyPolicy }).(pulumi.StringPtrOutput) +} + +func (o OpenApiExplorerApiMcpServerTerraformToolOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpenApiExplorerApiMcpServerTerraformTool) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type OpenApiExplorerApiMcpServerTerraformToolArrayOutput struct{ *pulumi.OutputState } + +func (OpenApiExplorerApiMcpServerTerraformToolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OpenApiExplorerApiMcpServerTerraformTool)(nil)).Elem() +} + +func (o OpenApiExplorerApiMcpServerTerraformToolArrayOutput) ToOpenApiExplorerApiMcpServerTerraformToolArrayOutput() OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerTerraformToolArrayOutput) ToOpenApiExplorerApiMcpServerTerraformToolArrayOutputWithContext(ctx context.Context) OpenApiExplorerApiMcpServerTerraformToolArrayOutput { + return o +} + +func (o OpenApiExplorerApiMcpServerTerraformToolArrayOutput) Index(i pulumi.IntInput) OpenApiExplorerApiMcpServerTerraformToolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OpenApiExplorerApiMcpServerTerraformTool { + return vs[0].([]OpenApiExplorerApiMcpServerTerraformTool)[vs[1].(int)] + }).(OpenApiExplorerApiMcpServerTerraformToolOutput) +} + type ProviderAssumeRole struct { ExternalId *string `pulumi:"externalId"` // The permissions applied when assuming a role. You cannot use, this policy to grant further permissions that are in excess to those of the, role that is being assumed. @@ -3819,6 +4633,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MilvusInstanceComponentArrayInput)(nil)).Elem(), MilvusInstanceComponentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MilvusInstanceVswitchIdInput)(nil)).Elem(), MilvusInstanceVswitchIdArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MilvusInstanceVswitchIdArrayInput)(nil)).Elem(), MilvusInstanceVswitchIdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionInput)(nil)).Elem(), OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerAdditionalApiDescriptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterInput)(nil)).Elem(), OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerApiInput)(nil)).Elem(), OpenApiExplorerApiMcpServerApiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerApiArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerApiArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptInput)(nil)).Elem(), OpenApiExplorerApiMcpServerPromptArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerPromptArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptArgumentInput)(nil)).Elem(), OpenApiExplorerApiMcpServerPromptArgumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerPromptArgumentArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerPromptArgumentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerTerraformToolInput)(nil)).Elem(), OpenApiExplorerApiMcpServerTerraformToolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OpenApiExplorerApiMcpServerTerraformToolArrayInput)(nil)).Elem(), OpenApiExplorerApiMcpServerTerraformToolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleInput)(nil)).Elem(), ProviderAssumeRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRolePtrInput)(nil)).Elem(), ProviderAssumeRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleWithOidcInput)(nil)).Elem(), ProviderAssumeRoleWithOidcArgs{}) @@ -3849,6 +4675,18 @@ func init() { pulumi.RegisterOutputType(MilvusInstanceComponentArrayOutput{}) pulumi.RegisterOutputType(MilvusInstanceVswitchIdOutput{}) pulumi.RegisterOutputType(MilvusInstanceVswitchIdArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerAdditionalApiDescriptionOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerApiOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerApiArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerPromptOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerPromptArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerPromptArgumentOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerPromptArgumentArrayOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerTerraformToolOutput{}) + pulumi.RegisterOutputType(OpenApiExplorerApiMcpServerTerraformToolArrayOutput{}) pulumi.RegisterOutputType(ProviderAssumeRoleOutput{}) pulumi.RegisterOutputType(ProviderAssumeRolePtrOutput{}) pulumi.RegisterOutputType(ProviderAssumeRoleWithOidcOutput{}) diff --git a/sdk/go/alicloud/pvtz/endpoint.go b/sdk/go/alicloud/pvtz/endpoint.go index 32edd012bc..f6404322cd 100644 --- a/sdk/go/alicloud/pvtz/endpoint.go +++ b/sdk/go/alicloud/pvtz/endpoint.go @@ -122,6 +122,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pvtz/rule.go b/sdk/go/alicloud/pvtz/rule.go index 2ebe43bb3a..79b36e7f43 100644 --- a/sdk/go/alicloud/pvtz/rule.go +++ b/sdk/go/alicloud/pvtz/rule.go @@ -147,6 +147,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pvtz/ruleAttachment.go b/sdk/go/alicloud/pvtz/ruleAttachment.go index 3a87640547..1592e661ca 100644 --- a/sdk/go/alicloud/pvtz/ruleAttachment.go +++ b/sdk/go/alicloud/pvtz/ruleAttachment.go @@ -171,6 +171,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone Rule Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pvtz/userVpcAuthorization.go b/sdk/go/alicloud/pvtz/userVpcAuthorization.go index 487b695ac6..813dc3583c 100644 --- a/sdk/go/alicloud/pvtz/userVpcAuthorization.go +++ b/sdk/go/alicloud/pvtz/userVpcAuthorization.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone User Vpc Authorization can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pvtz/zone.go b/sdk/go/alicloud/pvtz/zone.go index 6c73ee1c93..77f3247588 100644 --- a/sdk/go/alicloud/pvtz/zone.go +++ b/sdk/go/alicloud/pvtz/zone.go @@ -39,6 +39,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone can be imported using the id, e.g. diff --git a/sdk/go/alicloud/pvtz/zoneAttachment.go b/sdk/go/alicloud/pvtz/zoneAttachment.go index 673d9491f5..455bd64ebc 100644 --- a/sdk/go/alicloud/pvtz/zoneAttachment.go +++ b/sdk/go/alicloud/pvtz/zoneAttachment.go @@ -186,6 +186,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone attachment can be imported using the id(same with `zone_id`), e.g. diff --git a/sdk/go/alicloud/pvtz/zoneRecord.go b/sdk/go/alicloud/pvtz/zoneRecord.go index 9fbaa3c847..b9edd42a0e 100644 --- a/sdk/go/alicloud/pvtz/zoneRecord.go +++ b/sdk/go/alicloud/pvtz/zoneRecord.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Private Zone Record can be imported using the id, e.g. diff --git a/sdk/go/alicloud/quickbi/user.go b/sdk/go/alicloud/quickbi/user.go index 24a4225981..a3736a12f2 100644 --- a/sdk/go/alicloud/quickbi/user.go +++ b/sdk/go/alicloud/quickbi/user.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Quick BI User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/quotas/quotaAlarm.go b/sdk/go/alicloud/quotas/quotaAlarm.go index 23e30323ce..778e0b2cbf 100644 --- a/sdk/go/alicloud/quotas/quotaAlarm.go +++ b/sdk/go/alicloud/quotas/quotaAlarm.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Quotas Quota Alarm can be imported using the id, e.g. diff --git a/sdk/go/alicloud/quotas/templateQuota.go b/sdk/go/alicloud/quotas/templateQuota.go index 33badfa56b..059058ec0b 100644 --- a/sdk/go/alicloud/quotas/templateQuota.go +++ b/sdk/go/alicloud/quotas/templateQuota.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Quotas Template Quota can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/accessKey.go b/sdk/go/alicloud/ram/accessKey.go index 7e26cf066d..f692a5cff2 100644 --- a/sdk/go/alicloud/ram/accessKey.go +++ b/sdk/go/alicloud/ram/accessKey.go @@ -149,6 +149,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type AccessKey struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ram/accountPasswordPolicy.go b/sdk/go/alicloud/ram/accountPasswordPolicy.go index f254878403..450fa42ae1 100644 --- a/sdk/go/alicloud/ram/accountPasswordPolicy.go +++ b/sdk/go/alicloud/ram/accountPasswordPolicy.go @@ -70,6 +70,8 @@ import ( // ``` // For not specified values sets defaults. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM account password policy can be imported using the `id`, e.g. diff --git a/sdk/go/alicloud/ram/group.go b/sdk/go/alicloud/ram/group.go index 1ecdbc0b37..bea5040c84 100644 --- a/sdk/go/alicloud/ram/group.go +++ b/sdk/go/alicloud/ram/group.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/groupMembership.go b/sdk/go/alicloud/ram/groupMembership.go index 487fedc542..64b7f44a3e 100644 --- a/sdk/go/alicloud/ram/groupMembership.go +++ b/sdk/go/alicloud/ram/groupMembership.go @@ -12,10 +12,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a RAM Group membership resource. -// -// > **NOTE:** Available since v1.0.0+. -// // ## Example Usage // // ```go @@ -107,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Group membership can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/groupPolicyAttachment.go b/sdk/go/alicloud/ram/groupPolicyAttachment.go index 0fcebedf63..b73790468f 100644 --- a/sdk/go/alicloud/ram/groupPolicyAttachment.go +++ b/sdk/go/alicloud/ram/groupPolicyAttachment.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Group Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/loginProfile.go b/sdk/go/alicloud/ram/loginProfile.go index 5cba3a7fb2..6396b7e67c 100644 --- a/sdk/go/alicloud/ram/loginProfile.go +++ b/sdk/go/alicloud/ram/loginProfile.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Login Profile can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/policy.go b/sdk/go/alicloud/ram/policy.go index eedcbd83bf..f82189e0a6 100644 --- a/sdk/go/alicloud/ram/policy.go +++ b/sdk/go/alicloud/ram/policy.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/role.go b/sdk/go/alicloud/ram/role.go index c4dc41281e..446f6bc400 100644 --- a/sdk/go/alicloud/ram/role.go +++ b/sdk/go/alicloud/ram/role.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Role can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/roleAttachment.go b/sdk/go/alicloud/ram/roleAttachment.go index 011e12b904..8882b68b41 100644 --- a/sdk/go/alicloud/ram/roleAttachment.go +++ b/sdk/go/alicloud/ram/roleAttachment.go @@ -155,6 +155,8 @@ import ( // }) // } // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type RoleAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/ram/rolePolicyAttachment.go b/sdk/go/alicloud/ram/rolePolicyAttachment.go index aefb96277c..07ddb7736a 100644 --- a/sdk/go/alicloud/ram/rolePolicyAttachment.go +++ b/sdk/go/alicloud/ram/rolePolicyAttachment.go @@ -110,6 +110,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Role Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/samlProvider.go b/sdk/go/alicloud/ram/samlProvider.go index f531078946..b1185077cc 100644 --- a/sdk/go/alicloud/ram/samlProvider.go +++ b/sdk/go/alicloud/ram/samlProvider.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM Saml Provider can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/user.go b/sdk/go/alicloud/ram/user.go index f57679a0f1..b0586bf232 100644 --- a/sdk/go/alicloud/ram/user.go +++ b/sdk/go/alicloud/ram/user.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM User can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/userGroupAttachment.go b/sdk/go/alicloud/ram/userGroupAttachment.go index bfb55c9f27..9bd4d04e75 100644 --- a/sdk/go/alicloud/ram/userGroupAttachment.go +++ b/sdk/go/alicloud/ram/userGroupAttachment.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM User Group Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ram/userPolicyAttachment.go b/sdk/go/alicloud/ram/userPolicyAttachment.go index 9a6c12ed9f..43b863b5e7 100644 --- a/sdk/go/alicloud/ram/userPolicyAttachment.go +++ b/sdk/go/alicloud/ram/userPolicyAttachment.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RAM User Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rdc/organization.go b/sdk/go/alicloud/rdc/organization.go index 674350eefc..9aad2b0f26 100644 --- a/sdk/go/alicloud/rdc/organization.go +++ b/sdk/go/alicloud/rdc/organization.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDC Organization can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/account.go b/sdk/go/alicloud/rds/account.go index 64f6c66dfb..d4cbc7b02e 100644 --- a/sdk/go/alicloud/rds/account.go +++ b/sdk/go/alicloud/rds/account.go @@ -88,6 +88,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS account can be imported using the id, e.g. @@ -98,11 +100,12 @@ import ( type Account struct { pulumi.CustomResourceState - AccountDescription pulumi.StringOutput `pulumi:"accountDescription"` - AccountName pulumi.StringOutput `pulumi:"accountName"` - AccountPassword pulumi.StringOutput `pulumi:"accountPassword"` - AccountType pulumi.StringOutput `pulumi:"accountType"` - DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + AccountDescription pulumi.StringOutput `pulumi:"accountDescription"` + AccountName pulumi.StringOutput `pulumi:"accountName"` + AccountPassword pulumi.StringOutput `pulumi:"accountPassword"` + AccountType pulumi.StringOutput `pulumi:"accountType"` + CheckPolicy pulumi.BoolPtrOutput `pulumi:"checkPolicy"` + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. // // Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead. @@ -180,6 +183,7 @@ type accountState struct { AccountName *string `pulumi:"accountName"` AccountPassword *string `pulumi:"accountPassword"` AccountType *string `pulumi:"accountType"` + CheckPolicy *bool `pulumi:"checkPolicy"` DbInstanceId *string `pulumi:"dbInstanceId"` // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. // @@ -218,6 +222,7 @@ type AccountState struct { AccountName pulumi.StringPtrInput AccountPassword pulumi.StringPtrInput AccountType pulumi.StringPtrInput + CheckPolicy pulumi.BoolPtrInput DbInstanceId pulumi.StringPtrInput // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. // @@ -260,6 +265,7 @@ type accountArgs struct { AccountName *string `pulumi:"accountName"` AccountPassword *string `pulumi:"accountPassword"` AccountType *string `pulumi:"accountType"` + CheckPolicy *bool `pulumi:"checkPolicy"` DbInstanceId *string `pulumi:"dbInstanceId"` // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. // @@ -282,6 +288,7 @@ type accountArgs struct { // Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead. Password *string `pulumi:"password"` ResetPermissionFlag *bool `pulumi:"resetPermissionFlag"` + Status *string `pulumi:"status"` // Privilege type of account. The SQLServer engine does not support create high privilege accounts. // - Normal: Common privilege. // - Super: High privilege. @@ -298,6 +305,7 @@ type AccountArgs struct { AccountName pulumi.StringPtrInput AccountPassword pulumi.StringPtrInput AccountType pulumi.StringPtrInput + CheckPolicy pulumi.BoolPtrInput DbInstanceId pulumi.StringPtrInput // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. // @@ -320,6 +328,7 @@ type AccountArgs struct { // Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead. Password pulumi.StringPtrInput ResetPermissionFlag pulumi.BoolPtrInput + Status pulumi.StringPtrInput // Privilege type of account. The SQLServer engine does not support create high privilege accounts. // - Normal: Common privilege. // - Super: High privilege. @@ -433,6 +442,10 @@ func (o AccountOutput) AccountType() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.AccountType }).(pulumi.StringOutput) } +func (o AccountOutput) CheckPolicy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Account) pulumi.BoolPtrOutput { return v.CheckPolicy }).(pulumi.BoolPtrOutput) +} + func (o AccountOutput) DbInstanceId() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/rds/accountPrivilege.go b/sdk/go/alicloud/rds/accountPrivilege.go index 3a32eaa5d9..f8c58eff06 100644 --- a/sdk/go/alicloud/rds/accountPrivilege.go +++ b/sdk/go/alicloud/rds/accountPrivilege.go @@ -117,6 +117,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS account privilege can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/backupPolicy.go b/sdk/go/alicloud/rds/backupPolicy.go index 13db416157..faeb76dc5a 100644 --- a/sdk/go/alicloud/rds/backupPolicy.go +++ b/sdk/go/alicloud/rds/backupPolicy.go @@ -85,6 +85,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS backup policy can be imported using the id or instance id, e.g. diff --git a/sdk/go/alicloud/rds/connection.go b/sdk/go/alicloud/rds/connection.go index 27235f3c9b..ecf4ee79ee 100644 --- a/sdk/go/alicloud/rds/connection.go +++ b/sdk/go/alicloud/rds/connection.go @@ -88,6 +88,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/custom.go b/sdk/go/alicloud/rds/custom.go index 1963dfd363..bc5b9248a3 100644 --- a/sdk/go/alicloud/rds/custom.go +++ b/sdk/go/alicloud/rds/custom.go @@ -161,6 +161,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Custom can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/customDeploymentSet.go b/sdk/go/alicloud/rds/customDeploymentSet.go index efbd8aaeea..664d3ce935 100644 --- a/sdk/go/alicloud/rds/customDeploymentSet.go +++ b/sdk/go/alicloud/rds/customDeploymentSet.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Custom Deployment Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/customDisk.go b/sdk/go/alicloud/rds/customDisk.go index cc9698e539..ae53546088 100644 --- a/sdk/go/alicloud/rds/customDisk.go +++ b/sdk/go/alicloud/rds/customDisk.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Custom Disk can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/database.go b/sdk/go/alicloud/rds/database.go index cb266a626a..247c2b2dd6 100644 --- a/sdk/go/alicloud/rds/database.go +++ b/sdk/go/alicloud/rds/database.go @@ -12,7 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). +// Provides a RDS Database resource. +// +// Supports creating a database under an instance. +// +// For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). // // > **NOTE:** Available since v1.5.0. // @@ -38,8 +42,22 @@ import ( // name = param // } // _default, err := rds.GetZones(ctx, &rds.GetZonesArgs{ -// Engine: pulumi.StringRef("MySQL"), -// EngineVersion: pulumi.StringRef("5.6"), +// Engine: pulumi.StringRef("MySQL"), +// EngineVersion: pulumi.StringRef("8.0"), +// InstanceChargeType: pulumi.StringRef("PostPaid"), +// Category: pulumi.StringRef("HighAvailability"), +// DbInstanceStorageType: pulumi.StringRef("cloud_essd"), +// }, nil) +// if err != nil { +// return err +// } +// defaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, &rds.GetInstanceClassesArgs{ +// ZoneId: pulumi.StringRef(_default.Zones[0].Id), +// Engine: pulumi.StringRef("MySQL"), +// EngineVersion: pulumi.StringRef("8.0"), +// Category: pulumi.StringRef("HighAvailability"), +// DbInstanceStorageType: pulumi.StringRef("cloud_essd"), +// InstanceChargeType: pulumi.StringRef("PostPaid"), // }, nil) // if err != nil { // return err @@ -61,19 +79,22 @@ import ( // return err // } // defaultInstance, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{ -// Engine: pulumi.String("MySQL"), -// EngineVersion: pulumi.String("5.6"), -// InstanceType: pulumi.String("rds.mysql.s1.small"), -// InstanceStorage: pulumi.Int(10), -// VswitchId: defaultSwitch.ID(), -// InstanceName: pulumi.String(name), +// Engine: pulumi.String("MySQL"), +// EngineVersion: pulumi.String("8.0"), +// DbInstanceStorageType: pulumi.String("cloud_essd"), +// InstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass), +// InstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min), +// VswitchId: defaultSwitch.ID(), +// InstanceName: pulumi.String(name), +// InstanceChargeType: pulumi.String("Postpaid"), // }) // if err != nil { // return err // } // _, err = rds.NewDatabase(ctx, "default", &rds.DatabaseArgs{ -// InstanceId: defaultInstance.ID(), -// Name: pulumi.String(name), +// InstanceId: defaultInstance.ID(), +// DataBaseName: pulumi.String(name), +// CharacterSet: pulumi.String("utf8"), // }) // if err != nil { // return err @@ -84,12 +105,14 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // -// RDS database can be imported using the id, e.g. +// RDS Database can be imported using the id, e.g. // // ```sh -// $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" +// $ pulumi import alicloud:rds/database:Database example : // ``` type Database struct { pulumi.CustomResourceState @@ -105,20 +128,25 @@ type Database struct { // // More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) CharacterSet pulumi.StringPtrOutput `pulumi:"characterSet"` - // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - // - // > **NOTE:** The value of "name" or "characterSet" does not support modification. - Description pulumi.StringPtrOutput `pulumi:"description"` - // The Id of instance that can run database. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` // The name of the database. - // * > **NOTE:** + // > **NOTE:** // The name must be 2 to 64 characters in length. // The name must start with a lowercase letter and end with a lowercase letter or digit. // The name can contain lowercase letters, digits, underscores (_), and hyphens (-). // The name must be unique within the instance. // For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + DataBaseName pulumi.StringOutput `pulumi:"dataBaseName"` + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + // > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + // + // Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. Name pulumi.StringOutput `pulumi:"name"` + // The status of the resource + Status pulumi.StringOutput `pulumi:"status"` } // NewDatabase registers a new resource with the given unique name, arguments, and options. @@ -165,20 +193,25 @@ type databaseState struct { // // More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) CharacterSet *string `pulumi:"characterSet"` - // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - // - // > **NOTE:** The value of "name" or "characterSet" does not support modification. - Description *string `pulumi:"description"` - // The Id of instance that can run database. - InstanceId *string `pulumi:"instanceId"` // The name of the database. - // * > **NOTE:** + // > **NOTE:** // The name must be 2 to 64 characters in length. // The name must start with a lowercase letter and end with a lowercase letter or digit. // The name can contain lowercase letters, digits, underscores (_), and hyphens (-). // The name must be unique within the instance. // For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + DataBaseName *string `pulumi:"dataBaseName"` + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + Description *string `pulumi:"description"` + // The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + InstanceId *string `pulumi:"instanceId"` + // The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + // > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + // + // Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. Name *string `pulumi:"name"` + // The status of the resource + Status *string `pulumi:"status"` } type DatabaseState struct { @@ -193,20 +226,25 @@ type DatabaseState struct { // // More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) CharacterSet pulumi.StringPtrInput - // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - // - // > **NOTE:** The value of "name" or "characterSet" does not support modification. - Description pulumi.StringPtrInput - // The Id of instance that can run database. - InstanceId pulumi.StringPtrInput // The name of the database. - // * > **NOTE:** + // > **NOTE:** // The name must be 2 to 64 characters in length. // The name must start with a lowercase letter and end with a lowercase letter or digit. // The name can contain lowercase letters, digits, underscores (_), and hyphens (-). // The name must be unique within the instance. // For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + DataBaseName pulumi.StringPtrInput + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + Description pulumi.StringPtrInput + // The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + InstanceId pulumi.StringPtrInput + // The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + // > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + // + // Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. Name pulumi.StringPtrInput + // The status of the resource + Status pulumi.StringPtrInput } func (DatabaseState) ElementType() reflect.Type { @@ -225,19 +263,22 @@ type databaseArgs struct { // // More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) CharacterSet *string `pulumi:"characterSet"` - // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - // - // > **NOTE:** The value of "name" or "characterSet" does not support modification. - Description *string `pulumi:"description"` - // The Id of instance that can run database. - InstanceId string `pulumi:"instanceId"` // The name of the database. - // * > **NOTE:** + // > **NOTE:** // The name must be 2 to 64 characters in length. // The name must start with a lowercase letter and end with a lowercase letter or digit. // The name can contain lowercase letters, digits, underscores (_), and hyphens (-). // The name must be unique within the instance. // For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + DataBaseName *string `pulumi:"dataBaseName"` + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + Description *string `pulumi:"description"` + // The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + InstanceId string `pulumi:"instanceId"` + // The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + // > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + // + // Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. Name *string `pulumi:"name"` } @@ -254,19 +295,22 @@ type DatabaseArgs struct { // // More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) CharacterSet pulumi.StringPtrInput - // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - // - // > **NOTE:** The value of "name" or "characterSet" does not support modification. - Description pulumi.StringPtrInput - // The Id of instance that can run database. - InstanceId pulumi.StringInput // The name of the database. - // * > **NOTE:** + // > **NOTE:** // The name must be 2 to 64 characters in length. // The name must start with a lowercase letter and end with a lowercase letter or digit. // The name can contain lowercase letters, digits, underscores (_), and hyphens (-). // The name must be unique within the instance. // For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + DataBaseName pulumi.StringPtrInput + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + Description pulumi.StringPtrInput + // The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + InstanceId pulumi.StringInput + // The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + // > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + // + // Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. Name pulumi.StringPtrInput } @@ -371,29 +415,40 @@ func (o DatabaseOutput) CharacterSet() pulumi.StringPtrOutput { return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.CharacterSet }).(pulumi.StringPtrOutput) } +// The name of the database. +// > **NOTE:** +// The name must be 2 to 64 characters in length. +// The name must start with a lowercase letter and end with a lowercase letter or digit. +// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). +// The name must be unique within the instance. +// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). +func (o DatabaseOutput) DataBaseName() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.DataBaseName }).(pulumi.StringOutput) +} + // Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. -// -// > **NOTE:** The value of "name" or "characterSet" does not support modification. func (o DatabaseOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// The Id of instance that can run database. +// The instance ID. You can call the DescribeDBInstances operation to query the instance ID. func (o DatabaseOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) } -// The name of the database. -// * > **NOTE:** -// The name must be 2 to 64 characters in length. -// The name must start with a lowercase letter and end with a lowercase letter or digit. -// The name can contain lowercase letters, digits, underscores (_), and hyphens (-). -// The name must be unique within the instance. -// For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). +// The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. +// > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. +// +// Deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. func (o DatabaseOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// The status of the resource +func (o DatabaseOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + type DatabaseArrayOutput struct{ *pulumi.OutputState } func (DatabaseArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/alicloud/rds/dbInstanceEndpoint.go b/sdk/go/alicloud/rds/dbInstanceEndpoint.go index 12a876ce07..be58e86895 100644 --- a/sdk/go/alicloud/rds/dbInstanceEndpoint.go +++ b/sdk/go/alicloud/rds/dbInstanceEndpoint.go @@ -132,6 +132,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS database endpoint feature can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/dbInstanceEndpointAddress.go b/sdk/go/alicloud/rds/dbInstanceEndpointAddress.go index 6974207a59..2a9ec7e7d5 100644 --- a/sdk/go/alicloud/rds/dbInstanceEndpointAddress.go +++ b/sdk/go/alicloud/rds/dbInstanceEndpointAddress.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS database endpoint public address feature can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/dbNode.go b/sdk/go/alicloud/rds/dbNode.go index da5d1551f7..c8aef0f4dd 100644 --- a/sdk/go/alicloud/rds/dbNode.go +++ b/sdk/go/alicloud/rds/dbNode.go @@ -115,6 +115,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS MySQL database cluster node agent function can be imported using id, e.g. diff --git a/sdk/go/alicloud/rds/dbProxyPublic.go b/sdk/go/alicloud/rds/dbProxyPublic.go index 9e3f5b9920..069f2d3307 100644 --- a/sdk/go/alicloud/rds/dbProxyPublic.go +++ b/sdk/go/alicloud/rds/dbProxyPublic.go @@ -141,6 +141,8 @@ import ( // // > **NOTE:** Resource `rds.DbProxyPublic` should be created after `rds.RdsDbProxy`, so the `dependsOn` statement is necessary. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Database Proxy Public Network Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/instance.go b/sdk/go/alicloud/rds/instance.go index 8a3e4cdea8..e24441aa0c 100644 --- a/sdk/go/alicloud/rds/instance.go +++ b/sdk/go/alicloud/rds/instance.go @@ -246,7 +246,7 @@ type Instance struct { ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` // The Alibaba Cloud Resource Name (ARN) of the RAM role. // - // > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + // > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} RoleArn pulumi.StringOutput `pulumi:"roleArn"` // It has been deprecated from 1.69.0 and use `securityGroupIds` instead. @@ -650,7 +650,7 @@ type instanceState struct { ResourceGroupId *string `pulumi:"resourceGroupId"` // The Alibaba Cloud Resource Name (ARN) of the RAM role. // - // > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + // > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} RoleArn *string `pulumi:"roleArn"` // It has been deprecated from 1.69.0 and use `securityGroupIds` instead. @@ -1002,7 +1002,7 @@ type InstanceState struct { ResourceGroupId pulumi.StringPtrInput // The Alibaba Cloud Resource Name (ARN) of the RAM role. // - // > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + // > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} RoleArn pulumi.StringPtrInput // It has been deprecated from 1.69.0 and use `securityGroupIds` instead. @@ -1352,7 +1352,7 @@ type instanceArgs struct { ResourceGroupId *string `pulumi:"resourceGroupId"` // The Alibaba Cloud Resource Name (ARN) of the RAM role. // - // > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + // > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} RoleArn *string `pulumi:"roleArn"` // It has been deprecated from 1.69.0 and use `securityGroupIds` instead. @@ -1693,7 +1693,7 @@ type InstanceArgs struct { ResourceGroupId pulumi.StringPtrInput // The Alibaba Cloud Resource Name (ARN) of the RAM role. // - // > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + // > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} RoleArn pulumi.StringPtrInput // It has been deprecated from 1.69.0 and use `securityGroupIds` instead. @@ -2287,7 +2287,7 @@ func (o InstanceOutput) ResourceGroupId() pulumi.StringOutput { // The Alibaba Cloud Resource Name (ARN) of the RAM role. // -// > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. +// > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. // You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} func (o InstanceOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) diff --git a/sdk/go/alicloud/rds/rdsAccount.go b/sdk/go/alicloud/rds/rdsAccount.go index 3b60959ce7..47f3c942c5 100644 --- a/sdk/go/alicloud/rds/rdsAccount.go +++ b/sdk/go/alicloud/rds/rdsAccount.go @@ -41,16 +41,22 @@ import ( // name = param // } // _default, err := rds.GetZones(ctx, &rds.GetZonesArgs{ -// Engine: pulumi.StringRef("MySQL"), -// EngineVersion: pulumi.StringRef("5.6"), +// Engine: pulumi.StringRef("MySQL"), +// EngineVersion: pulumi.StringRef("8.0"), +// InstanceChargeType: pulumi.StringRef("PostPaid"), +// Category: pulumi.StringRef("HighAvailability"), +// DbInstanceStorageType: pulumi.StringRef("local_ssd"), // }, nil) // if err != nil { // return err // } // defaultGetInstanceClasses, err := rds.GetInstanceClasses(ctx, &rds.GetInstanceClassesArgs{ -// ZoneId: pulumi.StringRef(_default.Ids[0]), -// Engine: pulumi.StringRef("MySQL"), -// EngineVersion: pulumi.StringRef("5.6"), +// ZoneId: pulumi.StringRef(_default.Zones[0].Id), +// Engine: pulumi.StringRef("MySQL"), +// EngineVersion: pulumi.StringRef("8.0"), +// Category: pulumi.StringRef("HighAvailability"), +// DbInstanceStorageType: pulumi.StringRef("local_ssd"), +// InstanceChargeType: pulumi.StringRef("PostPaid"), // }, nil) // if err != nil { // return err @@ -72,12 +78,16 @@ import ( // return err // } // defaultInstance, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{ -// Engine: pulumi.String("MySQL"), -// EngineVersion: pulumi.String("5.6"), -// InstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[1].InstanceClass), -// InstanceStorage: pulumi.Int(10), -// VswitchId: defaultSwitch.ID(), -// InstanceName: pulumi.String(name), +// Engine: pulumi.String("MySQL"), +// EngineVersion: pulumi.String("8.0"), +// InstanceType: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].InstanceClass), +// InstanceStorage: pulumi.String(defaultGetInstanceClasses.InstanceClasses[0].StorageRange.Min), +// VswitchId: defaultSwitch.ID(), +// InstanceName: pulumi.String(name), +// InstanceChargeType: pulumi.String("Postpaid"), +// MonitoringPeriod: pulumi.Int(60), +// DbInstanceStorageType: pulumi.String("local_ssd"), +// DbIsIgnoreCase: pulumi.Bool(false), // }) // if err != nil { // return err @@ -96,6 +106,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Account can be imported using the id, e.g. @@ -136,6 +148,8 @@ type RdsAccount struct { // // > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). AccountType pulumi.StringOutput `pulumi:"accountType"` + // Whether to apply password policy + CheckPolicy pulumi.BoolPtrOutput `pulumi:"checkPolicy"` // The ID of the instance. DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` // The attribute has been deprecated from 1.120.0 and using `accountDescription` instead. @@ -160,7 +174,7 @@ type RdsAccount struct { Password pulumi.StringOutput `pulumi:"password"` // Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. ResetPermissionFlag pulumi.BoolPtrOutput `pulumi:"resetPermissionFlag"` - // The status of the resource. Valid values: `Available`, `Unavailable`. + // The status of the resource Status pulumi.StringOutput `pulumi:"status"` // The attribute has been deprecated from 1.120.0 and using `accountType` instead. // @@ -241,6 +255,8 @@ type rdsAccountState struct { // // > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). AccountType *string `pulumi:"accountType"` + // Whether to apply password policy + CheckPolicy *bool `pulumi:"checkPolicy"` // The ID of the instance. DbInstanceId *string `pulumi:"dbInstanceId"` // The attribute has been deprecated from 1.120.0 and using `accountDescription` instead. @@ -265,7 +281,7 @@ type rdsAccountState struct { Password *string `pulumi:"password"` // Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. ResetPermissionFlag *bool `pulumi:"resetPermissionFlag"` - // The status of the resource. Valid values: `Available`, `Unavailable`. + // The status of the resource Status *string `pulumi:"status"` // The attribute has been deprecated from 1.120.0 and using `accountType` instead. // @@ -306,6 +322,8 @@ type RdsAccountState struct { // // > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). AccountType pulumi.StringPtrInput + // Whether to apply password policy + CheckPolicy pulumi.BoolPtrInput // The ID of the instance. DbInstanceId pulumi.StringPtrInput // The attribute has been deprecated from 1.120.0 and using `accountDescription` instead. @@ -330,7 +348,7 @@ type RdsAccountState struct { Password pulumi.StringPtrInput // Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. ResetPermissionFlag pulumi.BoolPtrInput - // The status of the resource. Valid values: `Available`, `Unavailable`. + // The status of the resource Status pulumi.StringPtrInput // The attribute has been deprecated from 1.120.0 and using `accountType` instead. // @@ -375,6 +393,8 @@ type rdsAccountArgs struct { // // > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). AccountType *string `pulumi:"accountType"` + // Whether to apply password policy + CheckPolicy *bool `pulumi:"checkPolicy"` // The ID of the instance. DbInstanceId *string `pulumi:"dbInstanceId"` // The attribute has been deprecated from 1.120.0 and using `accountDescription` instead. @@ -399,6 +419,8 @@ type rdsAccountArgs struct { Password *string `pulumi:"password"` // Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. ResetPermissionFlag *bool `pulumi:"resetPermissionFlag"` + // The status of the resource + Status *string `pulumi:"status"` // The attribute has been deprecated from 1.120.0 and using `accountType` instead. // // > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -439,6 +461,8 @@ type RdsAccountArgs struct { // // > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). AccountType pulumi.StringPtrInput + // Whether to apply password policy + CheckPolicy pulumi.BoolPtrInput // The ID of the instance. DbInstanceId pulumi.StringPtrInput // The attribute has been deprecated from 1.120.0 and using `accountDescription` instead. @@ -463,6 +487,8 @@ type RdsAccountArgs struct { Password pulumi.StringPtrInput // Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. ResetPermissionFlag pulumi.BoolPtrInput + // The status of the resource + Status pulumi.StringPtrInput // The attribute has been deprecated from 1.120.0 and using `accountType` instead. // // > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -600,6 +626,11 @@ func (o RdsAccountOutput) AccountType() pulumi.StringOutput { return o.ApplyT(func(v *RdsAccount) pulumi.StringOutput { return v.AccountType }).(pulumi.StringOutput) } +// Whether to apply password policy +func (o RdsAccountOutput) CheckPolicy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RdsAccount) pulumi.BoolPtrOutput { return v.CheckPolicy }).(pulumi.BoolPtrOutput) +} + // The ID of the instance. func (o RdsAccountOutput) DbInstanceId() pulumi.StringOutput { return o.ApplyT(func(v *RdsAccount) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) @@ -648,7 +679,7 @@ func (o RdsAccountOutput) ResetPermissionFlag() pulumi.BoolPtrOutput { return o.ApplyT(func(v *RdsAccount) pulumi.BoolPtrOutput { return v.ResetPermissionFlag }).(pulumi.BoolPtrOutput) } -// The status of the resource. Valid values: `Available`, `Unavailable`. +// The status of the resource func (o RdsAccountOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *RdsAccount) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/rds/rdsBackup.go b/sdk/go/alicloud/rds/rdsBackup.go index 0a414770f8..52bcd9b36c 100644 --- a/sdk/go/alicloud/rds/rdsBackup.go +++ b/sdk/go/alicloud/rds/rdsBackup.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Backup can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/rdsCloneDbInstance.go b/sdk/go/alicloud/rds/rdsCloneDbInstance.go index e33439e5da..6e1a3b9f28 100644 --- a/sdk/go/alicloud/rds/rdsCloneDbInstance.go +++ b/sdk/go/alicloud/rds/rdsCloneDbInstance.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Clone DB Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/rdsDbProxy.go b/sdk/go/alicloud/rds/rdsDbProxy.go index f9e24baf7a..2bfdb70962 100644 --- a/sdk/go/alicloud/rds/rdsDbProxy.go +++ b/sdk/go/alicloud/rds/rdsDbProxy.go @@ -129,6 +129,8 @@ import ( // // > **NOTE:** Resource `rds.RdsDbProxy` should be created after `rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS database proxy feature can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/rdsInstanceCrossBackupPolicy.go b/sdk/go/alicloud/rds/rdsInstanceCrossBackupPolicy.go index 98c9c0e6c4..fb72f609a7 100644 --- a/sdk/go/alicloud/rds/rdsInstanceCrossBackupPolicy.go +++ b/sdk/go/alicloud/rds/rdsInstanceCrossBackupPolicy.go @@ -105,6 +105,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS remote disaster recovery policies can be imported using id or instance id, e.g. diff --git a/sdk/go/alicloud/rds/rdsParameterGroup.go b/sdk/go/alicloud/rds/rdsParameterGroup.go index 0239d44e19..36e90ddf6f 100644 --- a/sdk/go/alicloud/rds/rdsParameterGroup.go +++ b/sdk/go/alicloud/rds/rdsParameterGroup.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Parameter Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/rdsServiceLinkedRole.go b/sdk/go/alicloud/rds/rdsServiceLinkedRole.go index 57268f8f86..3a5435676f 100644 --- a/sdk/go/alicloud/rds/rdsServiceLinkedRole.go +++ b/sdk/go/alicloud/rds/rdsServiceLinkedRole.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Service Linked Role can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/rdsUpgradeDbInstance.go b/sdk/go/alicloud/rds/rdsUpgradeDbInstance.go index 864ec1113f..9cbd958bcd 100644 --- a/sdk/go/alicloud/rds/rdsUpgradeDbInstance.go +++ b/sdk/go/alicloud/rds/rdsUpgradeDbInstance.go @@ -112,6 +112,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS Upgrade DB Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/readOnlyInstance.go b/sdk/go/alicloud/rds/readOnlyInstance.go index 85edbcc1f6..a7fecce53f 100644 --- a/sdk/go/alicloud/rds/readOnlyInstance.go +++ b/sdk/go/alicloud/rds/readOnlyInstance.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS readonly instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/readWriteSplittingConnection.go b/sdk/go/alicloud/rds/readWriteSplittingConnection.go index e51edcbc89..9264b77969 100644 --- a/sdk/go/alicloud/rds/readWriteSplittingConnection.go +++ b/sdk/go/alicloud/rds/readWriteSplittingConnection.go @@ -131,6 +131,8 @@ import ( // // > **NOTE:** Resource `rds.ReadWriteSplittingConnection` should be created after `rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RDS read write splitting connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rds/whitelistTemplate.go b/sdk/go/alicloud/rds/whitelistTemplate.go index 47014a0f2e..6c6ca3e850 100644 --- a/sdk/go/alicloud/rds/whitelistTemplate.go +++ b/sdk/go/alicloud/rds/whitelistTemplate.go @@ -45,6 +45,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // You can use the whitelist template ID to import whitelist templates, e.g. diff --git a/sdk/go/alicloud/realtimecompute/deployment.go b/sdk/go/alicloud/realtimecompute/deployment.go new file mode 100644 index 0000000000..1f9ac0f815 --- /dev/null +++ b/sdk/go/alicloud/realtimecompute/deployment.go @@ -0,0 +1,550 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package realtimecompute + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Realtime Compute Deployment resource. +// +// Deployment in the Realtime Compute console. +// +// For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). +// +// > **NOTE:** Available since v1.265.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/realtimecompute" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("172.16.0.0/16"), +// VpcName: pulumi.String("example-tf-vpc-deployment"), +// }) +// if err != nil { +// return err +// } +// defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: _default.ID(), +// ZoneId: pulumi.String("cn-beijing-g"), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// VswitchName: pulumi.String("example-tf-vSwitch-deployment"), +// }) +// if err != nil { +// return err +// } +// defaultBucket, err := oss.NewBucket(ctx, "default", nil) +// if err != nil { +// return err +// } +// defaultVvpInstance, err := realtimecompute.NewVvpInstance(ctx, "default", &realtimecompute.VvpInstanceArgs{ +// VvpInstanceName: pulumi.String("code-example-tf-deployment"), +// Storage: &realtimecompute.VvpInstanceStorageArgs{ +// Oss: &realtimecompute.VvpInstanceStorageOssArgs{ +// Bucket: defaultBucket.ID(), +// }, +// }, +// VpcId: _default.ID(), +// VswitchIds: pulumi.StringArray{ +// defaultSwitch.ID(), +// }, +// ResourceSpec: &realtimecompute.VvpInstanceResourceSpecArgs{ +// Cpu: pulumi.Int(8), +// MemoryGb: pulumi.Int(32), +// }, +// PaymentType: pulumi.String("PayAsYouGo"), +// ZoneId: defaultSwitch.ZoneId, +// }) +// if err != nil { +// return err +// } +// _, err = realtimecompute.NewDeployment(ctx, "create_Deployment9", &realtimecompute.DeploymentArgs{ +// DeploymentName: pulumi.String("tf-example-deployment-sql-56"), +// EngineVersion: pulumi.String("vvr-8.0.10-flink-1.17"), +// ResourceId: defaultVvpInstance.ResourceId, +// ExecutionMode: pulumi.String("STREAMING"), +// DeploymentTarget: &realtimecompute.DeploymentDeploymentTargetArgs{ +// Mode: pulumi.String("PER_JOB"), +// Name: pulumi.String("default-queue"), +// }, +// Namespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) { +// return fmt.Sprintf("%v-default", vvpInstanceName), nil +// }).(pulumi.StringOutput), +// Artifact: &realtimecompute.DeploymentArtifactArgs{ +// Kind: pulumi.String("SQLSCRIPT"), +// SqlArtifact: &realtimecompute.DeploymentArtifactSqlArtifactArgs{ +// SqlScript: pulumi.String("create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Realtime Compute Deployment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:realtimecompute/deployment:Deployment example :: +// ``` +type Deployment struct { + pulumi.CustomResourceState + + // Content of the deployment job See `artifact` below. + Artifact DeploymentArtifactOutput `pulumi:"artifact"` + // Batch job resource settings See `batchResourceSetting` below. + BatchResourceSetting DeploymentBatchResourceSettingPtrOutput `pulumi:"batchResourceSetting"` + // Resource property field representing the primary resource ID + DeploymentId pulumi.StringOutput `pulumi:"deploymentId"` + // Name of the deployment + DeploymentName pulumi.StringOutput `pulumi:"deploymentName"` + // Deployment target See `deploymentTarget` below. + DeploymentTarget DeploymentDeploymentTargetOutput `pulumi:"deploymentTarget"` + // Description + Description pulumi.StringPtrOutput `pulumi:"description"` + // Engine version of the deployment instance + EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` + // Execution mode. Valid values: STREAMING or BATCH. + ExecutionMode pulumi.StringOutput `pulumi:"executionMode"` + // Flink configuration + FlinkConf pulumi.StringMapOutput `pulumi:"flinkConf"` + // Deployment labels + Labels pulumi.StringMapOutput `pulumi:"labels"` + // Job variables See `localVariables` below. + LocalVariables DeploymentLocalVariableArrayOutput `pulumi:"localVariables"` + // Job log configuration See `logging` below. + Logging DeploymentLoggingOutput `pulumi:"logging"` + // Namespace name + Namespace pulumi.StringOutput `pulumi:"namespace"` + // Workspace resource ID + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Resource settings for streaming mode See `streamingResourceSetting` below. + StreamingResourceSetting DeploymentStreamingResourceSettingOutput `pulumi:"streamingResourceSetting"` +} + +// NewDeployment registers a new resource with the given unique name, arguments, and options. +func NewDeployment(ctx *pulumi.Context, + name string, args *DeploymentArgs, opts ...pulumi.ResourceOption) (*Deployment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Artifact == nil { + return nil, errors.New("invalid value for required argument 'Artifact'") + } + if args.DeploymentName == nil { + return nil, errors.New("invalid value for required argument 'DeploymentName'") + } + if args.DeploymentTarget == nil { + return nil, errors.New("invalid value for required argument 'DeploymentTarget'") + } + if args.ExecutionMode == nil { + return nil, errors.New("invalid value for required argument 'ExecutionMode'") + } + if args.Namespace == nil { + return nil, errors.New("invalid value for required argument 'Namespace'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Deployment + err := ctx.RegisterResource("alicloud:realtimecompute/deployment:Deployment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDeployment gets an existing Deployment 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 GetDeployment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DeploymentState, opts ...pulumi.ResourceOption) (*Deployment, error) { + var resource Deployment + err := ctx.ReadResource("alicloud:realtimecompute/deployment:Deployment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Deployment resources. +type deploymentState struct { + // Content of the deployment job See `artifact` below. + Artifact *DeploymentArtifact `pulumi:"artifact"` + // Batch job resource settings See `batchResourceSetting` below. + BatchResourceSetting *DeploymentBatchResourceSetting `pulumi:"batchResourceSetting"` + // Resource property field representing the primary resource ID + DeploymentId *string `pulumi:"deploymentId"` + // Name of the deployment + DeploymentName *string `pulumi:"deploymentName"` + // Deployment target See `deploymentTarget` below. + DeploymentTarget *DeploymentDeploymentTarget `pulumi:"deploymentTarget"` + // Description + Description *string `pulumi:"description"` + // Engine version of the deployment instance + EngineVersion *string `pulumi:"engineVersion"` + // Execution mode. Valid values: STREAMING or BATCH. + ExecutionMode *string `pulumi:"executionMode"` + // Flink configuration + FlinkConf map[string]string `pulumi:"flinkConf"` + // Deployment labels + Labels map[string]string `pulumi:"labels"` + // Job variables See `localVariables` below. + LocalVariables []DeploymentLocalVariable `pulumi:"localVariables"` + // Job log configuration See `logging` below. + Logging *DeploymentLogging `pulumi:"logging"` + // Namespace name + Namespace *string `pulumi:"namespace"` + // Workspace resource ID + ResourceId *string `pulumi:"resourceId"` + // Resource settings for streaming mode See `streamingResourceSetting` below. + StreamingResourceSetting *DeploymentStreamingResourceSetting `pulumi:"streamingResourceSetting"` +} + +type DeploymentState struct { + // Content of the deployment job See `artifact` below. + Artifact DeploymentArtifactPtrInput + // Batch job resource settings See `batchResourceSetting` below. + BatchResourceSetting DeploymentBatchResourceSettingPtrInput + // Resource property field representing the primary resource ID + DeploymentId pulumi.StringPtrInput + // Name of the deployment + DeploymentName pulumi.StringPtrInput + // Deployment target See `deploymentTarget` below. + DeploymentTarget DeploymentDeploymentTargetPtrInput + // Description + Description pulumi.StringPtrInput + // Engine version of the deployment instance + EngineVersion pulumi.StringPtrInput + // Execution mode. Valid values: STREAMING or BATCH. + ExecutionMode pulumi.StringPtrInput + // Flink configuration + FlinkConf pulumi.StringMapInput + // Deployment labels + Labels pulumi.StringMapInput + // Job variables See `localVariables` below. + LocalVariables DeploymentLocalVariableArrayInput + // Job log configuration See `logging` below. + Logging DeploymentLoggingPtrInput + // Namespace name + Namespace pulumi.StringPtrInput + // Workspace resource ID + ResourceId pulumi.StringPtrInput + // Resource settings for streaming mode See `streamingResourceSetting` below. + StreamingResourceSetting DeploymentStreamingResourceSettingPtrInput +} + +func (DeploymentState) ElementType() reflect.Type { + return reflect.TypeOf((*deploymentState)(nil)).Elem() +} + +type deploymentArgs struct { + // Content of the deployment job See `artifact` below. + Artifact DeploymentArtifact `pulumi:"artifact"` + // Batch job resource settings See `batchResourceSetting` below. + BatchResourceSetting *DeploymentBatchResourceSetting `pulumi:"batchResourceSetting"` + // Name of the deployment + DeploymentName string `pulumi:"deploymentName"` + // Deployment target See `deploymentTarget` below. + DeploymentTarget DeploymentDeploymentTarget `pulumi:"deploymentTarget"` + // Description + Description *string `pulumi:"description"` + // Engine version of the deployment instance + EngineVersion *string `pulumi:"engineVersion"` + // Execution mode. Valid values: STREAMING or BATCH. + ExecutionMode string `pulumi:"executionMode"` + // Flink configuration + FlinkConf map[string]string `pulumi:"flinkConf"` + // Deployment labels + Labels map[string]string `pulumi:"labels"` + // Job variables See `localVariables` below. + LocalVariables []DeploymentLocalVariable `pulumi:"localVariables"` + // Job log configuration See `logging` below. + Logging *DeploymentLogging `pulumi:"logging"` + // Namespace name + Namespace string `pulumi:"namespace"` + // Workspace resource ID + ResourceId *string `pulumi:"resourceId"` + // Resource settings for streaming mode See `streamingResourceSetting` below. + StreamingResourceSetting *DeploymentStreamingResourceSetting `pulumi:"streamingResourceSetting"` +} + +// The set of arguments for constructing a Deployment resource. +type DeploymentArgs struct { + // Content of the deployment job See `artifact` below. + Artifact DeploymentArtifactInput + // Batch job resource settings See `batchResourceSetting` below. + BatchResourceSetting DeploymentBatchResourceSettingPtrInput + // Name of the deployment + DeploymentName pulumi.StringInput + // Deployment target See `deploymentTarget` below. + DeploymentTarget DeploymentDeploymentTargetInput + // Description + Description pulumi.StringPtrInput + // Engine version of the deployment instance + EngineVersion pulumi.StringPtrInput + // Execution mode. Valid values: STREAMING or BATCH. + ExecutionMode pulumi.StringInput + // Flink configuration + FlinkConf pulumi.StringMapInput + // Deployment labels + Labels pulumi.StringMapInput + // Job variables See `localVariables` below. + LocalVariables DeploymentLocalVariableArrayInput + // Job log configuration See `logging` below. + Logging DeploymentLoggingPtrInput + // Namespace name + Namespace pulumi.StringInput + // Workspace resource ID + ResourceId pulumi.StringPtrInput + // Resource settings for streaming mode See `streamingResourceSetting` below. + StreamingResourceSetting DeploymentStreamingResourceSettingPtrInput +} + +func (DeploymentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*deploymentArgs)(nil)).Elem() +} + +type DeploymentInput interface { + pulumi.Input + + ToDeploymentOutput() DeploymentOutput + ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput +} + +func (*Deployment) ElementType() reflect.Type { + return reflect.TypeOf((**Deployment)(nil)).Elem() +} + +func (i *Deployment) ToDeploymentOutput() DeploymentOutput { + return i.ToDeploymentOutputWithContext(context.Background()) +} + +func (i *Deployment) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentOutput) +} + +// DeploymentArrayInput is an input type that accepts DeploymentArray and DeploymentArrayOutput values. +// You can construct a concrete instance of `DeploymentArrayInput` via: +// +// DeploymentArray{ DeploymentArgs{...} } +type DeploymentArrayInput interface { + pulumi.Input + + ToDeploymentArrayOutput() DeploymentArrayOutput + ToDeploymentArrayOutputWithContext(context.Context) DeploymentArrayOutput +} + +type DeploymentArray []DeploymentInput + +func (DeploymentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Deployment)(nil)).Elem() +} + +func (i DeploymentArray) ToDeploymentArrayOutput() DeploymentArrayOutput { + return i.ToDeploymentArrayOutputWithContext(context.Background()) +} + +func (i DeploymentArray) ToDeploymentArrayOutputWithContext(ctx context.Context) DeploymentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArrayOutput) +} + +// DeploymentMapInput is an input type that accepts DeploymentMap and DeploymentMapOutput values. +// You can construct a concrete instance of `DeploymentMapInput` via: +// +// DeploymentMap{ "key": DeploymentArgs{...} } +type DeploymentMapInput interface { + pulumi.Input + + ToDeploymentMapOutput() DeploymentMapOutput + ToDeploymentMapOutputWithContext(context.Context) DeploymentMapOutput +} + +type DeploymentMap map[string]DeploymentInput + +func (DeploymentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Deployment)(nil)).Elem() +} + +func (i DeploymentMap) ToDeploymentMapOutput() DeploymentMapOutput { + return i.ToDeploymentMapOutputWithContext(context.Background()) +} + +func (i DeploymentMap) ToDeploymentMapOutputWithContext(ctx context.Context) DeploymentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentMapOutput) +} + +type DeploymentOutput struct{ *pulumi.OutputState } + +func (DeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Deployment)(nil)).Elem() +} + +func (o DeploymentOutput) ToDeploymentOutput() DeploymentOutput { + return o +} + +func (o DeploymentOutput) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput { + return o +} + +// Content of the deployment job See `artifact` below. +func (o DeploymentOutput) Artifact() DeploymentArtifactOutput { + return o.ApplyT(func(v *Deployment) DeploymentArtifactOutput { return v.Artifact }).(DeploymentArtifactOutput) +} + +// Batch job resource settings See `batchResourceSetting` below. +func (o DeploymentOutput) BatchResourceSetting() DeploymentBatchResourceSettingPtrOutput { + return o.ApplyT(func(v *Deployment) DeploymentBatchResourceSettingPtrOutput { return v.BatchResourceSetting }).(DeploymentBatchResourceSettingPtrOutput) +} + +// Resource property field representing the primary resource ID +func (o DeploymentOutput) DeploymentId() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.DeploymentId }).(pulumi.StringOutput) +} + +// Name of the deployment +func (o DeploymentOutput) DeploymentName() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.DeploymentName }).(pulumi.StringOutput) +} + +// Deployment target See `deploymentTarget` below. +func (o DeploymentOutput) DeploymentTarget() DeploymentDeploymentTargetOutput { + return o.ApplyT(func(v *Deployment) DeploymentDeploymentTargetOutput { return v.DeploymentTarget }).(DeploymentDeploymentTargetOutput) +} + +// Description +func (o DeploymentOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Engine version of the deployment instance +func (o DeploymentOutput) EngineVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) +} + +// Execution mode. Valid values: STREAMING or BATCH. +func (o DeploymentOutput) ExecutionMode() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.ExecutionMode }).(pulumi.StringOutput) +} + +// Flink configuration +func (o DeploymentOutput) FlinkConf() pulumi.StringMapOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringMapOutput { return v.FlinkConf }).(pulumi.StringMapOutput) +} + +// Deployment labels +func (o DeploymentOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// Job variables See `localVariables` below. +func (o DeploymentOutput) LocalVariables() DeploymentLocalVariableArrayOutput { + return o.ApplyT(func(v *Deployment) DeploymentLocalVariableArrayOutput { return v.LocalVariables }).(DeploymentLocalVariableArrayOutput) +} + +// Job log configuration See `logging` below. +func (o DeploymentOutput) Logging() DeploymentLoggingOutput { + return o.ApplyT(func(v *Deployment) DeploymentLoggingOutput { return v.Logging }).(DeploymentLoggingOutput) +} + +// Namespace name +func (o DeploymentOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.Namespace }).(pulumi.StringOutput) +} + +// Workspace resource ID +func (o DeploymentOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Resource settings for streaming mode See `streamingResourceSetting` below. +func (o DeploymentOutput) StreamingResourceSetting() DeploymentStreamingResourceSettingOutput { + return o.ApplyT(func(v *Deployment) DeploymentStreamingResourceSettingOutput { return v.StreamingResourceSetting }).(DeploymentStreamingResourceSettingOutput) +} + +type DeploymentArrayOutput struct{ *pulumi.OutputState } + +func (DeploymentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Deployment)(nil)).Elem() +} + +func (o DeploymentArrayOutput) ToDeploymentArrayOutput() DeploymentArrayOutput { + return o +} + +func (o DeploymentArrayOutput) ToDeploymentArrayOutputWithContext(ctx context.Context) DeploymentArrayOutput { + return o +} + +func (o DeploymentArrayOutput) Index(i pulumi.IntInput) DeploymentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Deployment { + return vs[0].([]*Deployment)[vs[1].(int)] + }).(DeploymentOutput) +} + +type DeploymentMapOutput struct{ *pulumi.OutputState } + +func (DeploymentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Deployment)(nil)).Elem() +} + +func (o DeploymentMapOutput) ToDeploymentMapOutput() DeploymentMapOutput { + return o +} + +func (o DeploymentMapOutput) ToDeploymentMapOutputWithContext(ctx context.Context) DeploymentMapOutput { + return o +} + +func (o DeploymentMapOutput) MapIndex(k pulumi.StringInput) DeploymentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Deployment { + return vs[0].(map[string]*Deployment)[vs[1].(string)] + }).(DeploymentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentInput)(nil)).Elem(), &Deployment{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArrayInput)(nil)).Elem(), DeploymentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentMapInput)(nil)).Elem(), DeploymentMap{}) + pulumi.RegisterOutputType(DeploymentOutput{}) + pulumi.RegisterOutputType(DeploymentArrayOutput{}) + pulumi.RegisterOutputType(DeploymentMapOutput{}) +} diff --git a/sdk/go/alicloud/realtimecompute/init.go b/sdk/go/alicloud/realtimecompute/init.go index 51883af809..9f92aff905 100644 --- a/sdk/go/alicloud/realtimecompute/init.go +++ b/sdk/go/alicloud/realtimecompute/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 "alicloud:realtimecompute/deployment:Deployment": + r = &Deployment{} + case "alicloud:realtimecompute/job:Job": + r = &Job{} case "alicloud:realtimecompute/vvpInstance:VvpInstance": r = &VvpInstance{} default: @@ -36,6 +40,16 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "alicloud", + "realtimecompute/deployment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "alicloud", + "realtimecompute/job", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "realtimecompute/vvpInstance", diff --git a/sdk/go/alicloud/realtimecompute/job.go b/sdk/go/alicloud/realtimecompute/job.go new file mode 100644 index 0000000000..08ea9eb7e9 --- /dev/null +++ b/sdk/go/alicloud/realtimecompute/job.go @@ -0,0 +1,480 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package realtimecompute + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Realtime Compute Job resource. +// +// For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). +// +// > **NOTE:** Available since v1.265.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/oss" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/realtimecompute" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _default, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ +// IsDefault: pulumi.Bool(false), +// CidrBlock: pulumi.String("172.16.0.0/16"), +// VpcName: pulumi.String("example-tf-vpc-deployment"), +// }) +// if err != nil { +// return err +// } +// defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{ +// IsDefault: pulumi.Bool(false), +// VpcId: _default.ID(), +// ZoneId: pulumi.String("cn-beijing-g"), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// VswitchName: pulumi.String("example-tf-vSwitch-deployment"), +// }) +// if err != nil { +// return err +// } +// defaultBucket, err := oss.NewBucket(ctx, "default", nil) +// if err != nil { +// return err +// } +// defaultVvpInstance, err := realtimecompute.NewVvpInstance(ctx, "default", &realtimecompute.VvpInstanceArgs{ +// VvpInstanceName: pulumi.String("code-example-tf-deployment"), +// Storage: &realtimecompute.VvpInstanceStorageArgs{ +// Oss: &realtimecompute.VvpInstanceStorageOssArgs{ +// Bucket: defaultBucket.ID(), +// }, +// }, +// VpcId: _default.ID(), +// VswitchIds: pulumi.StringArray{ +// defaultSwitch.ID(), +// }, +// ResourceSpec: &realtimecompute.VvpInstanceResourceSpecArgs{ +// Cpu: pulumi.Int(8), +// MemoryGb: pulumi.Int(32), +// }, +// PaymentType: pulumi.String("PayAsYouGo"), +// ZoneId: defaultSwitch.ZoneId, +// }) +// if err != nil { +// return err +// } +// createDeployment9, err := realtimecompute.NewDeployment(ctx, "create_Deployment9", &realtimecompute.DeploymentArgs{ +// DeploymentName: pulumi.String("tf-example-deployment-sql-56"), +// EngineVersion: pulumi.String("vvr-8.0.10-flink-1.17"), +// ResourceId: defaultVvpInstance.ResourceId, +// ExecutionMode: pulumi.String("STREAMING"), +// DeploymentTarget: &realtimecompute.DeploymentDeploymentTargetArgs{ +// Mode: pulumi.String("PER_JOB"), +// Name: pulumi.String("default-queue"), +// }, +// Namespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) { +// return fmt.Sprintf("%v-default", vvpInstanceName), nil +// }).(pulumi.StringOutput), +// Artifact: &realtimecompute.DeploymentArtifactArgs{ +// Kind: pulumi.String("SQLSCRIPT"), +// SqlArtifact: &realtimecompute.DeploymentArtifactSqlArtifactArgs{ +// SqlScript: pulumi.String("create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = realtimecompute.NewJob(ctx, "default", &realtimecompute.JobArgs{ +// LocalVariables: realtimecompute.JobLocalVariableArray{ +// &realtimecompute.JobLocalVariableArgs{ +// Value: pulumi.String("qq"), +// Name: pulumi.String("tt"), +// }, +// }, +// RestoreStrategy: &realtimecompute.JobRestoreStrategyArgs{ +// Kind: pulumi.String("NONE"), +// JobStartTimeInMs: pulumi.Int(1763694521254), +// }, +// Namespace: defaultVvpInstance.VvpInstanceName.ApplyT(func(vvpInstanceName string) (string, error) { +// return fmt.Sprintf("%v-default", vvpInstanceName), nil +// }).(pulumi.StringOutput), +// StopStrategy: pulumi.String("NONE"), +// DeploymentId: createDeployment9.DeploymentId, +// ResourceQueueName: pulumi.String("default-queue"), +// Status: &realtimecompute.JobStatusArgs{ +// CurrentJobStatus: pulumi.String("CANCELLED"), +// }, +// ResourceId: defaultVvpInstance.ResourceId, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Realtime Compute Job can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:realtimecompute/job:Job example :: +// ``` +type Job struct { + pulumi.CustomResourceState + + // deploymentId + DeploymentId pulumi.StringPtrOutput `pulumi:"deploymentId"` + // The first ID of the resource + JobId pulumi.StringOutput `pulumi:"jobId"` + // Local variables See `localVariables` below. + LocalVariables JobLocalVariableArrayOutput `pulumi:"localVariables"` + // namespace + Namespace pulumi.StringOutput `pulumi:"namespace"` + // workspace + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Resource Queue for Job Run + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ResourceQueueName pulumi.StringPtrOutput `pulumi:"resourceQueueName"` + // Restore strategy See `restoreStrategy` below. + RestoreStrategy JobRestoreStrategyPtrOutput `pulumi:"restoreStrategy"` + // job status See `status` below. + Status JobStatusOutput `pulumi:"status"` + StopStrategy pulumi.StringPtrOutput `pulumi:"stopStrategy"` +} + +// NewJob registers a new resource with the given unique name, arguments, and options. +func NewJob(ctx *pulumi.Context, + name string, args *JobArgs, opts ...pulumi.ResourceOption) (*Job, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Namespace == nil { + return nil, errors.New("invalid value for required argument 'Namespace'") + } + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Job + err := ctx.RegisterResource("alicloud:realtimecompute/job:Job", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetJob gets an existing Job 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 GetJob(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *JobState, opts ...pulumi.ResourceOption) (*Job, error) { + var resource Job + err := ctx.ReadResource("alicloud:realtimecompute/job:Job", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Job resources. +type jobState struct { + // deploymentId + DeploymentId *string `pulumi:"deploymentId"` + // The first ID of the resource + JobId *string `pulumi:"jobId"` + // Local variables See `localVariables` below. + LocalVariables []JobLocalVariable `pulumi:"localVariables"` + // namespace + Namespace *string `pulumi:"namespace"` + // workspace + ResourceId *string `pulumi:"resourceId"` + // Resource Queue for Job Run + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ResourceQueueName *string `pulumi:"resourceQueueName"` + // Restore strategy See `restoreStrategy` below. + RestoreStrategy *JobRestoreStrategy `pulumi:"restoreStrategy"` + // job status See `status` below. + Status *JobStatus `pulumi:"status"` + StopStrategy *string `pulumi:"stopStrategy"` +} + +type JobState struct { + // deploymentId + DeploymentId pulumi.StringPtrInput + // The first ID of the resource + JobId pulumi.StringPtrInput + // Local variables See `localVariables` below. + LocalVariables JobLocalVariableArrayInput + // namespace + Namespace pulumi.StringPtrInput + // workspace + ResourceId pulumi.StringPtrInput + // Resource Queue for Job Run + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ResourceQueueName pulumi.StringPtrInput + // Restore strategy See `restoreStrategy` below. + RestoreStrategy JobRestoreStrategyPtrInput + // job status See `status` below. + Status JobStatusPtrInput + StopStrategy pulumi.StringPtrInput +} + +func (JobState) ElementType() reflect.Type { + return reflect.TypeOf((*jobState)(nil)).Elem() +} + +type jobArgs struct { + // deploymentId + DeploymentId *string `pulumi:"deploymentId"` + // Local variables See `localVariables` below. + LocalVariables []JobLocalVariable `pulumi:"localVariables"` + // namespace + Namespace string `pulumi:"namespace"` + // workspace + ResourceId string `pulumi:"resourceId"` + // Resource Queue for Job Run + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ResourceQueueName *string `pulumi:"resourceQueueName"` + // Restore strategy See `restoreStrategy` below. + RestoreStrategy *JobRestoreStrategy `pulumi:"restoreStrategy"` + // job status See `status` below. + Status *JobStatus `pulumi:"status"` + StopStrategy *string `pulumi:"stopStrategy"` +} + +// The set of arguments for constructing a Job resource. +type JobArgs struct { + // deploymentId + DeploymentId pulumi.StringPtrInput + // Local variables See `localVariables` below. + LocalVariables JobLocalVariableArrayInput + // namespace + Namespace pulumi.StringInput + // workspace + ResourceId pulumi.StringInput + // Resource Queue for Job Run + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + ResourceQueueName pulumi.StringPtrInput + // Restore strategy See `restoreStrategy` below. + RestoreStrategy JobRestoreStrategyPtrInput + // job status See `status` below. + Status JobStatusPtrInput + StopStrategy pulumi.StringPtrInput +} + +func (JobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*jobArgs)(nil)).Elem() +} + +type JobInput interface { + pulumi.Input + + ToJobOutput() JobOutput + ToJobOutputWithContext(ctx context.Context) JobOutput +} + +func (*Job) ElementType() reflect.Type { + return reflect.TypeOf((**Job)(nil)).Elem() +} + +func (i *Job) ToJobOutput() JobOutput { + return i.ToJobOutputWithContext(context.Background()) +} + +func (i *Job) ToJobOutputWithContext(ctx context.Context) JobOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobOutput) +} + +// JobArrayInput is an input type that accepts JobArray and JobArrayOutput values. +// You can construct a concrete instance of `JobArrayInput` via: +// +// JobArray{ JobArgs{...} } +type JobArrayInput interface { + pulumi.Input + + ToJobArrayOutput() JobArrayOutput + ToJobArrayOutputWithContext(context.Context) JobArrayOutput +} + +type JobArray []JobInput + +func (JobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Job)(nil)).Elem() +} + +func (i JobArray) ToJobArrayOutput() JobArrayOutput { + return i.ToJobArrayOutputWithContext(context.Background()) +} + +func (i JobArray) ToJobArrayOutputWithContext(ctx context.Context) JobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobArrayOutput) +} + +// JobMapInput is an input type that accepts JobMap and JobMapOutput values. +// You can construct a concrete instance of `JobMapInput` via: +// +// JobMap{ "key": JobArgs{...} } +type JobMapInput interface { + pulumi.Input + + ToJobMapOutput() JobMapOutput + ToJobMapOutputWithContext(context.Context) JobMapOutput +} + +type JobMap map[string]JobInput + +func (JobMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Job)(nil)).Elem() +} + +func (i JobMap) ToJobMapOutput() JobMapOutput { + return i.ToJobMapOutputWithContext(context.Background()) +} + +func (i JobMap) ToJobMapOutputWithContext(ctx context.Context) JobMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobMapOutput) +} + +type JobOutput struct{ *pulumi.OutputState } + +func (JobOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Job)(nil)).Elem() +} + +func (o JobOutput) ToJobOutput() JobOutput { + return o +} + +func (o JobOutput) ToJobOutputWithContext(ctx context.Context) JobOutput { + return o +} + +// deploymentId +func (o JobOutput) DeploymentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Job) pulumi.StringPtrOutput { return v.DeploymentId }).(pulumi.StringPtrOutput) +} + +// The first ID of the resource +func (o JobOutput) JobId() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.JobId }).(pulumi.StringOutput) +} + +// Local variables See `localVariables` below. +func (o JobOutput) LocalVariables() JobLocalVariableArrayOutput { + return o.ApplyT(func(v *Job) JobLocalVariableArrayOutput { return v.LocalVariables }).(JobLocalVariableArrayOutput) +} + +// namespace +func (o JobOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.Namespace }).(pulumi.StringOutput) +} + +// workspace +func (o JobOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Resource Queue for Job Run +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o JobOutput) ResourceQueueName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Job) pulumi.StringPtrOutput { return v.ResourceQueueName }).(pulumi.StringPtrOutput) +} + +// Restore strategy See `restoreStrategy` below. +func (o JobOutput) RestoreStrategy() JobRestoreStrategyPtrOutput { + return o.ApplyT(func(v *Job) JobRestoreStrategyPtrOutput { return v.RestoreStrategy }).(JobRestoreStrategyPtrOutput) +} + +// job status See `status` below. +func (o JobOutput) Status() JobStatusOutput { + return o.ApplyT(func(v *Job) JobStatusOutput { return v.Status }).(JobStatusOutput) +} + +func (o JobOutput) StopStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Job) pulumi.StringPtrOutput { return v.StopStrategy }).(pulumi.StringPtrOutput) +} + +type JobArrayOutput struct{ *pulumi.OutputState } + +func (JobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Job)(nil)).Elem() +} + +func (o JobArrayOutput) ToJobArrayOutput() JobArrayOutput { + return o +} + +func (o JobArrayOutput) ToJobArrayOutputWithContext(ctx context.Context) JobArrayOutput { + return o +} + +func (o JobArrayOutput) Index(i pulumi.IntInput) JobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Job { + return vs[0].([]*Job)[vs[1].(int)] + }).(JobOutput) +} + +type JobMapOutput struct{ *pulumi.OutputState } + +func (JobMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Job)(nil)).Elem() +} + +func (o JobMapOutput) ToJobMapOutput() JobMapOutput { + return o +} + +func (o JobMapOutput) ToJobMapOutputWithContext(ctx context.Context) JobMapOutput { + return o +} + +func (o JobMapOutput) MapIndex(k pulumi.StringInput) JobOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Job { + return vs[0].(map[string]*Job)[vs[1].(string)] + }).(JobOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*JobInput)(nil)).Elem(), &Job{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobArrayInput)(nil)).Elem(), JobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobMapInput)(nil)).Elem(), JobMap{}) + pulumi.RegisterOutputType(JobOutput{}) + pulumi.RegisterOutputType(JobArrayOutput{}) + pulumi.RegisterOutputType(JobMapOutput{}) +} diff --git a/sdk/go/alicloud/realtimecompute/pulumiTypes.go b/sdk/go/alicloud/realtimecompute/pulumiTypes.go index b6cb73aad1..6020bfefa6 100644 --- a/sdk/go/alicloud/realtimecompute/pulumiTypes.go +++ b/sdk/go/alicloud/realtimecompute/pulumiTypes.go @@ -13,6 +13,3929 @@ import ( var _ = internal.GetEnvOrDefault +type DeploymentArtifact struct { + // JarArtifact See `jarArtifact` below. + JarArtifact *DeploymentArtifactJarArtifact `pulumi:"jarArtifact"` + // Artifact type + Kind string `pulumi:"kind"` + // PythonArtifact See `pythonArtifact` below. + PythonArtifact *DeploymentArtifactPythonArtifact `pulumi:"pythonArtifact"` + // SqlArtifact See `sqlArtifact` below. + SqlArtifact *DeploymentArtifactSqlArtifact `pulumi:"sqlArtifact"` +} + +// DeploymentArtifactInput is an input type that accepts DeploymentArtifactArgs and DeploymentArtifactOutput values. +// You can construct a concrete instance of `DeploymentArtifactInput` via: +// +// DeploymentArtifactArgs{...} +type DeploymentArtifactInput interface { + pulumi.Input + + ToDeploymentArtifactOutput() DeploymentArtifactOutput + ToDeploymentArtifactOutputWithContext(context.Context) DeploymentArtifactOutput +} + +type DeploymentArtifactArgs struct { + // JarArtifact See `jarArtifact` below. + JarArtifact DeploymentArtifactJarArtifactPtrInput `pulumi:"jarArtifact"` + // Artifact type + Kind pulumi.StringInput `pulumi:"kind"` + // PythonArtifact See `pythonArtifact` below. + PythonArtifact DeploymentArtifactPythonArtifactPtrInput `pulumi:"pythonArtifact"` + // SqlArtifact See `sqlArtifact` below. + SqlArtifact DeploymentArtifactSqlArtifactPtrInput `pulumi:"sqlArtifact"` +} + +func (DeploymentArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifact)(nil)).Elem() +} + +func (i DeploymentArtifactArgs) ToDeploymentArtifactOutput() DeploymentArtifactOutput { + return i.ToDeploymentArtifactOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactArgs) ToDeploymentArtifactOutputWithContext(ctx context.Context) DeploymentArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactOutput) +} + +func (i DeploymentArtifactArgs) ToDeploymentArtifactPtrOutput() DeploymentArtifactPtrOutput { + return i.ToDeploymentArtifactPtrOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactArgs) ToDeploymentArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactOutput).ToDeploymentArtifactPtrOutputWithContext(ctx) +} + +// DeploymentArtifactPtrInput is an input type that accepts DeploymentArtifactArgs, DeploymentArtifactPtr and DeploymentArtifactPtrOutput values. +// You can construct a concrete instance of `DeploymentArtifactPtrInput` via: +// +// DeploymentArtifactArgs{...} +// +// or: +// +// nil +type DeploymentArtifactPtrInput interface { + pulumi.Input + + ToDeploymentArtifactPtrOutput() DeploymentArtifactPtrOutput + ToDeploymentArtifactPtrOutputWithContext(context.Context) DeploymentArtifactPtrOutput +} + +type deploymentArtifactPtrType DeploymentArtifactArgs + +func DeploymentArtifactPtr(v *DeploymentArtifactArgs) DeploymentArtifactPtrInput { + return (*deploymentArtifactPtrType)(v) +} + +func (*deploymentArtifactPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifact)(nil)).Elem() +} + +func (i *deploymentArtifactPtrType) ToDeploymentArtifactPtrOutput() DeploymentArtifactPtrOutput { + return i.ToDeploymentArtifactPtrOutputWithContext(context.Background()) +} + +func (i *deploymentArtifactPtrType) ToDeploymentArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactPtrOutput) +} + +type DeploymentArtifactOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactOutput) ToDeploymentArtifactOutput() DeploymentArtifactOutput { + return o +} + +func (o DeploymentArtifactOutput) ToDeploymentArtifactOutputWithContext(ctx context.Context) DeploymentArtifactOutput { + return o +} + +func (o DeploymentArtifactOutput) ToDeploymentArtifactPtrOutput() DeploymentArtifactPtrOutput { + return o.ToDeploymentArtifactPtrOutputWithContext(context.Background()) +} + +func (o DeploymentArtifactOutput) ToDeploymentArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentArtifact) *DeploymentArtifact { + return &v + }).(DeploymentArtifactPtrOutput) +} + +// JarArtifact See `jarArtifact` below. +func (o DeploymentArtifactOutput) JarArtifact() DeploymentArtifactJarArtifactPtrOutput { + return o.ApplyT(func(v DeploymentArtifact) *DeploymentArtifactJarArtifact { return v.JarArtifact }).(DeploymentArtifactJarArtifactPtrOutput) +} + +// Artifact type +func (o DeploymentArtifactOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentArtifact) string { return v.Kind }).(pulumi.StringOutput) +} + +// PythonArtifact See `pythonArtifact` below. +func (o DeploymentArtifactOutput) PythonArtifact() DeploymentArtifactPythonArtifactPtrOutput { + return o.ApplyT(func(v DeploymentArtifact) *DeploymentArtifactPythonArtifact { return v.PythonArtifact }).(DeploymentArtifactPythonArtifactPtrOutput) +} + +// SqlArtifact See `sqlArtifact` below. +func (o DeploymentArtifactOutput) SqlArtifact() DeploymentArtifactSqlArtifactPtrOutput { + return o.ApplyT(func(v DeploymentArtifact) *DeploymentArtifactSqlArtifact { return v.SqlArtifact }).(DeploymentArtifactSqlArtifactPtrOutput) +} + +type DeploymentArtifactPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactPtrOutput) ToDeploymentArtifactPtrOutput() DeploymentArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactPtrOutput) ToDeploymentArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactPtrOutput) Elem() DeploymentArtifactOutput { + return o.ApplyT(func(v *DeploymentArtifact) DeploymentArtifact { + if v != nil { + return *v + } + var ret DeploymentArtifact + return ret + }).(DeploymentArtifactOutput) +} + +// JarArtifact See `jarArtifact` below. +func (o DeploymentArtifactPtrOutput) JarArtifact() DeploymentArtifactJarArtifactPtrOutput { + return o.ApplyT(func(v *DeploymentArtifact) *DeploymentArtifactJarArtifact { + if v == nil { + return nil + } + return v.JarArtifact + }).(DeploymentArtifactJarArtifactPtrOutput) +} + +// Artifact type +func (o DeploymentArtifactPtrOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifact) *string { + if v == nil { + return nil + } + return &v.Kind + }).(pulumi.StringPtrOutput) +} + +// PythonArtifact See `pythonArtifact` below. +func (o DeploymentArtifactPtrOutput) PythonArtifact() DeploymentArtifactPythonArtifactPtrOutput { + return o.ApplyT(func(v *DeploymentArtifact) *DeploymentArtifactPythonArtifact { + if v == nil { + return nil + } + return v.PythonArtifact + }).(DeploymentArtifactPythonArtifactPtrOutput) +} + +// SqlArtifact See `sqlArtifact` below. +func (o DeploymentArtifactPtrOutput) SqlArtifact() DeploymentArtifactSqlArtifactPtrOutput { + return o.ApplyT(func(v *DeploymentArtifact) *DeploymentArtifactSqlArtifact { + if v == nil { + return nil + } + return v.SqlArtifact + }).(DeploymentArtifactSqlArtifactPtrOutput) +} + +type DeploymentArtifactJarArtifact struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies []string `pulumi:"additionalDependencies"` + // Main class; you must specify the fully qualified class name + EntryClass *string `pulumi:"entryClass"` + // Full URL path of the JAR job + JarUri *string `pulumi:"jarUri"` + // Startup arguments + MainArgs *string `pulumi:"mainArgs"` +} + +// DeploymentArtifactJarArtifactInput is an input type that accepts DeploymentArtifactJarArtifactArgs and DeploymentArtifactJarArtifactOutput values. +// You can construct a concrete instance of `DeploymentArtifactJarArtifactInput` via: +// +// DeploymentArtifactJarArtifactArgs{...} +type DeploymentArtifactJarArtifactInput interface { + pulumi.Input + + ToDeploymentArtifactJarArtifactOutput() DeploymentArtifactJarArtifactOutput + ToDeploymentArtifactJarArtifactOutputWithContext(context.Context) DeploymentArtifactJarArtifactOutput +} + +type DeploymentArtifactJarArtifactArgs struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies pulumi.StringArrayInput `pulumi:"additionalDependencies"` + // Main class; you must specify the fully qualified class name + EntryClass pulumi.StringPtrInput `pulumi:"entryClass"` + // Full URL path of the JAR job + JarUri pulumi.StringPtrInput `pulumi:"jarUri"` + // Startup arguments + MainArgs pulumi.StringPtrInput `pulumi:"mainArgs"` +} + +func (DeploymentArtifactJarArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactJarArtifact)(nil)).Elem() +} + +func (i DeploymentArtifactJarArtifactArgs) ToDeploymentArtifactJarArtifactOutput() DeploymentArtifactJarArtifactOutput { + return i.ToDeploymentArtifactJarArtifactOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactJarArtifactArgs) ToDeploymentArtifactJarArtifactOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactJarArtifactOutput) +} + +func (i DeploymentArtifactJarArtifactArgs) ToDeploymentArtifactJarArtifactPtrOutput() DeploymentArtifactJarArtifactPtrOutput { + return i.ToDeploymentArtifactJarArtifactPtrOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactJarArtifactArgs) ToDeploymentArtifactJarArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactJarArtifactOutput).ToDeploymentArtifactJarArtifactPtrOutputWithContext(ctx) +} + +// DeploymentArtifactJarArtifactPtrInput is an input type that accepts DeploymentArtifactJarArtifactArgs, DeploymentArtifactJarArtifactPtr and DeploymentArtifactJarArtifactPtrOutput values. +// You can construct a concrete instance of `DeploymentArtifactJarArtifactPtrInput` via: +// +// DeploymentArtifactJarArtifactArgs{...} +// +// or: +// +// nil +type DeploymentArtifactJarArtifactPtrInput interface { + pulumi.Input + + ToDeploymentArtifactJarArtifactPtrOutput() DeploymentArtifactJarArtifactPtrOutput + ToDeploymentArtifactJarArtifactPtrOutputWithContext(context.Context) DeploymentArtifactJarArtifactPtrOutput +} + +type deploymentArtifactJarArtifactPtrType DeploymentArtifactJarArtifactArgs + +func DeploymentArtifactJarArtifactPtr(v *DeploymentArtifactJarArtifactArgs) DeploymentArtifactJarArtifactPtrInput { + return (*deploymentArtifactJarArtifactPtrType)(v) +} + +func (*deploymentArtifactJarArtifactPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactJarArtifact)(nil)).Elem() +} + +func (i *deploymentArtifactJarArtifactPtrType) ToDeploymentArtifactJarArtifactPtrOutput() DeploymentArtifactJarArtifactPtrOutput { + return i.ToDeploymentArtifactJarArtifactPtrOutputWithContext(context.Background()) +} + +func (i *deploymentArtifactJarArtifactPtrType) ToDeploymentArtifactJarArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactJarArtifactPtrOutput) +} + +type DeploymentArtifactJarArtifactOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactJarArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactJarArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactJarArtifactOutput) ToDeploymentArtifactJarArtifactOutput() DeploymentArtifactJarArtifactOutput { + return o +} + +func (o DeploymentArtifactJarArtifactOutput) ToDeploymentArtifactJarArtifactOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactOutput { + return o +} + +func (o DeploymentArtifactJarArtifactOutput) ToDeploymentArtifactJarArtifactPtrOutput() DeploymentArtifactJarArtifactPtrOutput { + return o.ToDeploymentArtifactJarArtifactPtrOutputWithContext(context.Background()) +} + +func (o DeploymentArtifactJarArtifactOutput) ToDeploymentArtifactJarArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentArtifactJarArtifact) *DeploymentArtifactJarArtifact { + return &v + }).(DeploymentArtifactJarArtifactPtrOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactJarArtifactOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v DeploymentArtifactJarArtifact) []string { return v.AdditionalDependencies }).(pulumi.StringArrayOutput) +} + +// Main class; you must specify the fully qualified class name +func (o DeploymentArtifactJarArtifactOutput) EntryClass() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactJarArtifact) *string { return v.EntryClass }).(pulumi.StringPtrOutput) +} + +// Full URL path of the JAR job +func (o DeploymentArtifactJarArtifactOutput) JarUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactJarArtifact) *string { return v.JarUri }).(pulumi.StringPtrOutput) +} + +// Startup arguments +func (o DeploymentArtifactJarArtifactOutput) MainArgs() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactJarArtifact) *string { return v.MainArgs }).(pulumi.StringPtrOutput) +} + +type DeploymentArtifactJarArtifactPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactJarArtifactPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactJarArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactJarArtifactPtrOutput) ToDeploymentArtifactJarArtifactPtrOutput() DeploymentArtifactJarArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactJarArtifactPtrOutput) ToDeploymentArtifactJarArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactJarArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactJarArtifactPtrOutput) Elem() DeploymentArtifactJarArtifactOutput { + return o.ApplyT(func(v *DeploymentArtifactJarArtifact) DeploymentArtifactJarArtifact { + if v != nil { + return *v + } + var ret DeploymentArtifactJarArtifact + return ret + }).(DeploymentArtifactJarArtifactOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactJarArtifactPtrOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DeploymentArtifactJarArtifact) []string { + if v == nil { + return nil + } + return v.AdditionalDependencies + }).(pulumi.StringArrayOutput) +} + +// Main class; you must specify the fully qualified class name +func (o DeploymentArtifactJarArtifactPtrOutput) EntryClass() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactJarArtifact) *string { + if v == nil { + return nil + } + return v.EntryClass + }).(pulumi.StringPtrOutput) +} + +// Full URL path of the JAR job +func (o DeploymentArtifactJarArtifactPtrOutput) JarUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactJarArtifact) *string { + if v == nil { + return nil + } + return v.JarUri + }).(pulumi.StringPtrOutput) +} + +// Startup arguments +func (o DeploymentArtifactJarArtifactPtrOutput) MainArgs() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactJarArtifact) *string { + if v == nil { + return nil + } + return v.MainArgs + }).(pulumi.StringPtrOutput) +} + +type DeploymentArtifactPythonArtifact struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies []string `pulumi:"additionalDependencies"` + // URL paths of dependent Python archive files + AdditionalPythonArchives []string `pulumi:"additionalPythonArchives"` + // URL paths of dependent Python library files + AdditionalPythonLibraries []string `pulumi:"additionalPythonLibraries"` + // Entry module for Python + EntryModule *string `pulumi:"entryModule"` + // Startup arguments + MainArgs *string `pulumi:"mainArgs"` + // Full URL path of the Python job + PythonArtifactUri *string `pulumi:"pythonArtifactUri"` +} + +// DeploymentArtifactPythonArtifactInput is an input type that accepts DeploymentArtifactPythonArtifactArgs and DeploymentArtifactPythonArtifactOutput values. +// You can construct a concrete instance of `DeploymentArtifactPythonArtifactInput` via: +// +// DeploymentArtifactPythonArtifactArgs{...} +type DeploymentArtifactPythonArtifactInput interface { + pulumi.Input + + ToDeploymentArtifactPythonArtifactOutput() DeploymentArtifactPythonArtifactOutput + ToDeploymentArtifactPythonArtifactOutputWithContext(context.Context) DeploymentArtifactPythonArtifactOutput +} + +type DeploymentArtifactPythonArtifactArgs struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies pulumi.StringArrayInput `pulumi:"additionalDependencies"` + // URL paths of dependent Python archive files + AdditionalPythonArchives pulumi.StringArrayInput `pulumi:"additionalPythonArchives"` + // URL paths of dependent Python library files + AdditionalPythonLibraries pulumi.StringArrayInput `pulumi:"additionalPythonLibraries"` + // Entry module for Python + EntryModule pulumi.StringPtrInput `pulumi:"entryModule"` + // Startup arguments + MainArgs pulumi.StringPtrInput `pulumi:"mainArgs"` + // Full URL path of the Python job + PythonArtifactUri pulumi.StringPtrInput `pulumi:"pythonArtifactUri"` +} + +func (DeploymentArtifactPythonArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactPythonArtifact)(nil)).Elem() +} + +func (i DeploymentArtifactPythonArtifactArgs) ToDeploymentArtifactPythonArtifactOutput() DeploymentArtifactPythonArtifactOutput { + return i.ToDeploymentArtifactPythonArtifactOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactPythonArtifactArgs) ToDeploymentArtifactPythonArtifactOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactPythonArtifactOutput) +} + +func (i DeploymentArtifactPythonArtifactArgs) ToDeploymentArtifactPythonArtifactPtrOutput() DeploymentArtifactPythonArtifactPtrOutput { + return i.ToDeploymentArtifactPythonArtifactPtrOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactPythonArtifactArgs) ToDeploymentArtifactPythonArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactPythonArtifactOutput).ToDeploymentArtifactPythonArtifactPtrOutputWithContext(ctx) +} + +// DeploymentArtifactPythonArtifactPtrInput is an input type that accepts DeploymentArtifactPythonArtifactArgs, DeploymentArtifactPythonArtifactPtr and DeploymentArtifactPythonArtifactPtrOutput values. +// You can construct a concrete instance of `DeploymentArtifactPythonArtifactPtrInput` via: +// +// DeploymentArtifactPythonArtifactArgs{...} +// +// or: +// +// nil +type DeploymentArtifactPythonArtifactPtrInput interface { + pulumi.Input + + ToDeploymentArtifactPythonArtifactPtrOutput() DeploymentArtifactPythonArtifactPtrOutput + ToDeploymentArtifactPythonArtifactPtrOutputWithContext(context.Context) DeploymentArtifactPythonArtifactPtrOutput +} + +type deploymentArtifactPythonArtifactPtrType DeploymentArtifactPythonArtifactArgs + +func DeploymentArtifactPythonArtifactPtr(v *DeploymentArtifactPythonArtifactArgs) DeploymentArtifactPythonArtifactPtrInput { + return (*deploymentArtifactPythonArtifactPtrType)(v) +} + +func (*deploymentArtifactPythonArtifactPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactPythonArtifact)(nil)).Elem() +} + +func (i *deploymentArtifactPythonArtifactPtrType) ToDeploymentArtifactPythonArtifactPtrOutput() DeploymentArtifactPythonArtifactPtrOutput { + return i.ToDeploymentArtifactPythonArtifactPtrOutputWithContext(context.Background()) +} + +func (i *deploymentArtifactPythonArtifactPtrType) ToDeploymentArtifactPythonArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactPythonArtifactPtrOutput) +} + +type DeploymentArtifactPythonArtifactOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactPythonArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactPythonArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactPythonArtifactOutput) ToDeploymentArtifactPythonArtifactOutput() DeploymentArtifactPythonArtifactOutput { + return o +} + +func (o DeploymentArtifactPythonArtifactOutput) ToDeploymentArtifactPythonArtifactOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactOutput { + return o +} + +func (o DeploymentArtifactPythonArtifactOutput) ToDeploymentArtifactPythonArtifactPtrOutput() DeploymentArtifactPythonArtifactPtrOutput { + return o.ToDeploymentArtifactPythonArtifactPtrOutputWithContext(context.Background()) +} + +func (o DeploymentArtifactPythonArtifactOutput) ToDeploymentArtifactPythonArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentArtifactPythonArtifact) *DeploymentArtifactPythonArtifact { + return &v + }).(DeploymentArtifactPythonArtifactPtrOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactPythonArtifactOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) []string { return v.AdditionalDependencies }).(pulumi.StringArrayOutput) +} + +// URL paths of dependent Python archive files +func (o DeploymentArtifactPythonArtifactOutput) AdditionalPythonArchives() pulumi.StringArrayOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) []string { return v.AdditionalPythonArchives }).(pulumi.StringArrayOutput) +} + +// URL paths of dependent Python library files +func (o DeploymentArtifactPythonArtifactOutput) AdditionalPythonLibraries() pulumi.StringArrayOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) []string { return v.AdditionalPythonLibraries }).(pulumi.StringArrayOutput) +} + +// Entry module for Python +func (o DeploymentArtifactPythonArtifactOutput) EntryModule() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) *string { return v.EntryModule }).(pulumi.StringPtrOutput) +} + +// Startup arguments +func (o DeploymentArtifactPythonArtifactOutput) MainArgs() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) *string { return v.MainArgs }).(pulumi.StringPtrOutput) +} + +// Full URL path of the Python job +func (o DeploymentArtifactPythonArtifactOutput) PythonArtifactUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactPythonArtifact) *string { return v.PythonArtifactUri }).(pulumi.StringPtrOutput) +} + +type DeploymentArtifactPythonArtifactPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactPythonArtifactPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactPythonArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactPythonArtifactPtrOutput) ToDeploymentArtifactPythonArtifactPtrOutput() DeploymentArtifactPythonArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactPythonArtifactPtrOutput) ToDeploymentArtifactPythonArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactPythonArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactPythonArtifactPtrOutput) Elem() DeploymentArtifactPythonArtifactOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) DeploymentArtifactPythonArtifact { + if v != nil { + return *v + } + var ret DeploymentArtifactPythonArtifact + return ret + }).(DeploymentArtifactPythonArtifactOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactPythonArtifactPtrOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) []string { + if v == nil { + return nil + } + return v.AdditionalDependencies + }).(pulumi.StringArrayOutput) +} + +// URL paths of dependent Python archive files +func (o DeploymentArtifactPythonArtifactPtrOutput) AdditionalPythonArchives() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) []string { + if v == nil { + return nil + } + return v.AdditionalPythonArchives + }).(pulumi.StringArrayOutput) +} + +// URL paths of dependent Python library files +func (o DeploymentArtifactPythonArtifactPtrOutput) AdditionalPythonLibraries() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) []string { + if v == nil { + return nil + } + return v.AdditionalPythonLibraries + }).(pulumi.StringArrayOutput) +} + +// Entry module for Python +func (o DeploymentArtifactPythonArtifactPtrOutput) EntryModule() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) *string { + if v == nil { + return nil + } + return v.EntryModule + }).(pulumi.StringPtrOutput) +} + +// Startup arguments +func (o DeploymentArtifactPythonArtifactPtrOutput) MainArgs() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) *string { + if v == nil { + return nil + } + return v.MainArgs + }).(pulumi.StringPtrOutput) +} + +// Full URL path of the Python job +func (o DeploymentArtifactPythonArtifactPtrOutput) PythonArtifactUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactPythonArtifact) *string { + if v == nil { + return nil + } + return v.PythonArtifactUri + }).(pulumi.StringPtrOutput) +} + +type DeploymentArtifactSqlArtifact struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies []string `pulumi:"additionalDependencies"` + // Text content of the SQL job + SqlScript *string `pulumi:"sqlScript"` +} + +// DeploymentArtifactSqlArtifactInput is an input type that accepts DeploymentArtifactSqlArtifactArgs and DeploymentArtifactSqlArtifactOutput values. +// You can construct a concrete instance of `DeploymentArtifactSqlArtifactInput` via: +// +// DeploymentArtifactSqlArtifactArgs{...} +type DeploymentArtifactSqlArtifactInput interface { + pulumi.Input + + ToDeploymentArtifactSqlArtifactOutput() DeploymentArtifactSqlArtifactOutput + ToDeploymentArtifactSqlArtifactOutputWithContext(context.Context) DeploymentArtifactSqlArtifactOutput +} + +type DeploymentArtifactSqlArtifactArgs struct { + // Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + AdditionalDependencies pulumi.StringArrayInput `pulumi:"additionalDependencies"` + // Text content of the SQL job + SqlScript pulumi.StringPtrInput `pulumi:"sqlScript"` +} + +func (DeploymentArtifactSqlArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactSqlArtifact)(nil)).Elem() +} + +func (i DeploymentArtifactSqlArtifactArgs) ToDeploymentArtifactSqlArtifactOutput() DeploymentArtifactSqlArtifactOutput { + return i.ToDeploymentArtifactSqlArtifactOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactSqlArtifactArgs) ToDeploymentArtifactSqlArtifactOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactSqlArtifactOutput) +} + +func (i DeploymentArtifactSqlArtifactArgs) ToDeploymentArtifactSqlArtifactPtrOutput() DeploymentArtifactSqlArtifactPtrOutput { + return i.ToDeploymentArtifactSqlArtifactPtrOutputWithContext(context.Background()) +} + +func (i DeploymentArtifactSqlArtifactArgs) ToDeploymentArtifactSqlArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactSqlArtifactOutput).ToDeploymentArtifactSqlArtifactPtrOutputWithContext(ctx) +} + +// DeploymentArtifactSqlArtifactPtrInput is an input type that accepts DeploymentArtifactSqlArtifactArgs, DeploymentArtifactSqlArtifactPtr and DeploymentArtifactSqlArtifactPtrOutput values. +// You can construct a concrete instance of `DeploymentArtifactSqlArtifactPtrInput` via: +// +// DeploymentArtifactSqlArtifactArgs{...} +// +// or: +// +// nil +type DeploymentArtifactSqlArtifactPtrInput interface { + pulumi.Input + + ToDeploymentArtifactSqlArtifactPtrOutput() DeploymentArtifactSqlArtifactPtrOutput + ToDeploymentArtifactSqlArtifactPtrOutputWithContext(context.Context) DeploymentArtifactSqlArtifactPtrOutput +} + +type deploymentArtifactSqlArtifactPtrType DeploymentArtifactSqlArtifactArgs + +func DeploymentArtifactSqlArtifactPtr(v *DeploymentArtifactSqlArtifactArgs) DeploymentArtifactSqlArtifactPtrInput { + return (*deploymentArtifactSqlArtifactPtrType)(v) +} + +func (*deploymentArtifactSqlArtifactPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactSqlArtifact)(nil)).Elem() +} + +func (i *deploymentArtifactSqlArtifactPtrType) ToDeploymentArtifactSqlArtifactPtrOutput() DeploymentArtifactSqlArtifactPtrOutput { + return i.ToDeploymentArtifactSqlArtifactPtrOutputWithContext(context.Background()) +} + +func (i *deploymentArtifactSqlArtifactPtrType) ToDeploymentArtifactSqlArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentArtifactSqlArtifactPtrOutput) +} + +type DeploymentArtifactSqlArtifactOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactSqlArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentArtifactSqlArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactSqlArtifactOutput) ToDeploymentArtifactSqlArtifactOutput() DeploymentArtifactSqlArtifactOutput { + return o +} + +func (o DeploymentArtifactSqlArtifactOutput) ToDeploymentArtifactSqlArtifactOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactOutput { + return o +} + +func (o DeploymentArtifactSqlArtifactOutput) ToDeploymentArtifactSqlArtifactPtrOutput() DeploymentArtifactSqlArtifactPtrOutput { + return o.ToDeploymentArtifactSqlArtifactPtrOutputWithContext(context.Background()) +} + +func (o DeploymentArtifactSqlArtifactOutput) ToDeploymentArtifactSqlArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentArtifactSqlArtifact) *DeploymentArtifactSqlArtifact { + return &v + }).(DeploymentArtifactSqlArtifactPtrOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactSqlArtifactOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v DeploymentArtifactSqlArtifact) []string { return v.AdditionalDependencies }).(pulumi.StringArrayOutput) +} + +// Text content of the SQL job +func (o DeploymentArtifactSqlArtifactOutput) SqlScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentArtifactSqlArtifact) *string { return v.SqlScript }).(pulumi.StringPtrOutput) +} + +type DeploymentArtifactSqlArtifactPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentArtifactSqlArtifactPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentArtifactSqlArtifact)(nil)).Elem() +} + +func (o DeploymentArtifactSqlArtifactPtrOutput) ToDeploymentArtifactSqlArtifactPtrOutput() DeploymentArtifactSqlArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactSqlArtifactPtrOutput) ToDeploymentArtifactSqlArtifactPtrOutputWithContext(ctx context.Context) DeploymentArtifactSqlArtifactPtrOutput { + return o +} + +func (o DeploymentArtifactSqlArtifactPtrOutput) Elem() DeploymentArtifactSqlArtifactOutput { + return o.ApplyT(func(v *DeploymentArtifactSqlArtifact) DeploymentArtifactSqlArtifact { + if v != nil { + return *v + } + var ret DeploymentArtifactSqlArtifact + return ret + }).(DeploymentArtifactSqlArtifactOutput) +} + +// Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. +func (o DeploymentArtifactSqlArtifactPtrOutput) AdditionalDependencies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DeploymentArtifactSqlArtifact) []string { + if v == nil { + return nil + } + return v.AdditionalDependencies + }).(pulumi.StringArrayOutput) +} + +// Text content of the SQL job +func (o DeploymentArtifactSqlArtifactPtrOutput) SqlScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentArtifactSqlArtifact) *string { + if v == nil { + return nil + } + return v.SqlScript + }).(pulumi.StringPtrOutput) +} + +type DeploymentBatchResourceSetting struct { + // Resource settings for basic mode See `basicResourceSetting` below. + BasicResourceSetting *DeploymentBatchResourceSettingBasicResourceSetting `pulumi:"basicResourceSetting"` + // Maximum number of slots + MaxSlot *int `pulumi:"maxSlot"` +} + +// DeploymentBatchResourceSettingInput is an input type that accepts DeploymentBatchResourceSettingArgs and DeploymentBatchResourceSettingOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingInput` via: +// +// DeploymentBatchResourceSettingArgs{...} +type DeploymentBatchResourceSettingInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingOutput() DeploymentBatchResourceSettingOutput + ToDeploymentBatchResourceSettingOutputWithContext(context.Context) DeploymentBatchResourceSettingOutput +} + +type DeploymentBatchResourceSettingArgs struct { + // Resource settings for basic mode See `basicResourceSetting` below. + BasicResourceSetting DeploymentBatchResourceSettingBasicResourceSettingPtrInput `pulumi:"basicResourceSetting"` + // Maximum number of slots + MaxSlot pulumi.IntPtrInput `pulumi:"maxSlot"` +} + +func (DeploymentBatchResourceSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSetting)(nil)).Elem() +} + +func (i DeploymentBatchResourceSettingArgs) ToDeploymentBatchResourceSettingOutput() DeploymentBatchResourceSettingOutput { + return i.ToDeploymentBatchResourceSettingOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingArgs) ToDeploymentBatchResourceSettingOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingOutput) +} + +func (i DeploymentBatchResourceSettingArgs) ToDeploymentBatchResourceSettingPtrOutput() DeploymentBatchResourceSettingPtrOutput { + return i.ToDeploymentBatchResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingArgs) ToDeploymentBatchResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingOutput).ToDeploymentBatchResourceSettingPtrOutputWithContext(ctx) +} + +// DeploymentBatchResourceSettingPtrInput is an input type that accepts DeploymentBatchResourceSettingArgs, DeploymentBatchResourceSettingPtr and DeploymentBatchResourceSettingPtrOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingPtrInput` via: +// +// DeploymentBatchResourceSettingArgs{...} +// +// or: +// +// nil +type DeploymentBatchResourceSettingPtrInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingPtrOutput() DeploymentBatchResourceSettingPtrOutput + ToDeploymentBatchResourceSettingPtrOutputWithContext(context.Context) DeploymentBatchResourceSettingPtrOutput +} + +type deploymentBatchResourceSettingPtrType DeploymentBatchResourceSettingArgs + +func DeploymentBatchResourceSettingPtr(v *DeploymentBatchResourceSettingArgs) DeploymentBatchResourceSettingPtrInput { + return (*deploymentBatchResourceSettingPtrType)(v) +} + +func (*deploymentBatchResourceSettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSetting)(nil)).Elem() +} + +func (i *deploymentBatchResourceSettingPtrType) ToDeploymentBatchResourceSettingPtrOutput() DeploymentBatchResourceSettingPtrOutput { + return i.ToDeploymentBatchResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentBatchResourceSettingPtrType) ToDeploymentBatchResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingPtrOutput) +} + +type DeploymentBatchResourceSettingOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSetting)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingOutput) ToDeploymentBatchResourceSettingOutput() DeploymentBatchResourceSettingOutput { + return o +} + +func (o DeploymentBatchResourceSettingOutput) ToDeploymentBatchResourceSettingOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingOutput { + return o +} + +func (o DeploymentBatchResourceSettingOutput) ToDeploymentBatchResourceSettingPtrOutput() DeploymentBatchResourceSettingPtrOutput { + return o.ToDeploymentBatchResourceSettingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentBatchResourceSettingOutput) ToDeploymentBatchResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentBatchResourceSetting) *DeploymentBatchResourceSetting { + return &v + }).(DeploymentBatchResourceSettingPtrOutput) +} + +// Resource settings for basic mode See `basicResourceSetting` below. +func (o DeploymentBatchResourceSettingOutput) BasicResourceSetting() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSetting) *DeploymentBatchResourceSettingBasicResourceSetting { + return v.BasicResourceSetting + }).(DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) +} + +// Maximum number of slots +func (o DeploymentBatchResourceSettingOutput) MaxSlot() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSetting) *int { return v.MaxSlot }).(pulumi.IntPtrOutput) +} + +type DeploymentBatchResourceSettingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSetting)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingPtrOutput) ToDeploymentBatchResourceSettingPtrOutput() DeploymentBatchResourceSettingPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingPtrOutput) ToDeploymentBatchResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingPtrOutput) Elem() DeploymentBatchResourceSettingOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSetting) DeploymentBatchResourceSetting { + if v != nil { + return *v + } + var ret DeploymentBatchResourceSetting + return ret + }).(DeploymentBatchResourceSettingOutput) +} + +// Resource settings for basic mode See `basicResourceSetting` below. +func (o DeploymentBatchResourceSettingPtrOutput) BasicResourceSetting() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSetting) *DeploymentBatchResourceSettingBasicResourceSetting { + if v == nil { + return nil + } + return v.BasicResourceSetting + }).(DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) +} + +// Maximum number of slots +func (o DeploymentBatchResourceSettingPtrOutput) MaxSlot() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSetting) *int { + if v == nil { + return nil + } + return v.MaxSlot + }).(pulumi.IntPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSetting struct { + JobmanagerResourceSettingSpec *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec `pulumi:"jobmanagerResourceSettingSpec"` + Parallelism *int `pulumi:"parallelism"` + TaskmanagerResourceSettingSpec *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec `pulumi:"taskmanagerResourceSettingSpec"` +} + +// DeploymentBatchResourceSettingBasicResourceSettingInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingArgs and DeploymentBatchResourceSettingBasicResourceSettingOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingArgs{...} +type DeploymentBatchResourceSettingBasicResourceSettingInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingOutput() DeploymentBatchResourceSettingBasicResourceSettingOutput + ToDeploymentBatchResourceSettingBasicResourceSettingOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingOutput +} + +type DeploymentBatchResourceSettingBasicResourceSettingArgs struct { + JobmanagerResourceSettingSpec DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput `pulumi:"jobmanagerResourceSettingSpec"` + Parallelism pulumi.IntPtrInput `pulumi:"parallelism"` + TaskmanagerResourceSettingSpec DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput `pulumi:"taskmanagerResourceSettingSpec"` +} + +func (DeploymentBatchResourceSettingBasicResourceSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingArgs) ToDeploymentBatchResourceSettingBasicResourceSettingOutput() DeploymentBatchResourceSettingBasicResourceSettingOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingArgs) ToDeploymentBatchResourceSettingBasicResourceSettingOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingOutput) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingArgs) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingArgs) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingOutput).ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(ctx) +} + +// DeploymentBatchResourceSettingBasicResourceSettingPtrInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingArgs, DeploymentBatchResourceSettingBasicResourceSettingPtr and DeploymentBatchResourceSettingBasicResourceSettingPtrOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingPtrInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingArgs{...} +// +// or: +// +// nil +type DeploymentBatchResourceSettingBasicResourceSettingPtrInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput + ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingPtrOutput +} + +type deploymentBatchResourceSettingBasicResourceSettingPtrType DeploymentBatchResourceSettingBasicResourceSettingArgs + +func DeploymentBatchResourceSettingBasicResourceSettingPtr(v *DeploymentBatchResourceSettingBasicResourceSettingArgs) DeploymentBatchResourceSettingBasicResourceSettingPtrInput { + return (*deploymentBatchResourceSettingBasicResourceSettingPtrType)(v) +} + +func (*deploymentBatchResourceSettingBasicResourceSettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) ToDeploymentBatchResourceSettingBasicResourceSettingOutput() DeploymentBatchResourceSettingBasicResourceSettingOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) ToDeploymentBatchResourceSettingBasicResourceSettingOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o.ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentBatchResourceSettingBasicResourceSetting) *DeploymentBatchResourceSettingBasicResourceSetting { + return &v + }).(DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) JobmanagerResourceSettingSpec() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSetting) *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + return v.JobmanagerResourceSettingSpec + }).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSetting) *int { return v.Parallelism }).(pulumi.IntPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingOutput) TaskmanagerResourceSettingSpec() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSetting) *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + return v.TaskmanagerResourceSettingSpec + }).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) Elem() DeploymentBatchResourceSettingBasicResourceSettingOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSetting) DeploymentBatchResourceSettingBasicResourceSetting { + if v != nil { + return *v + } + var ret DeploymentBatchResourceSettingBasicResourceSetting + return ret + }).(DeploymentBatchResourceSettingBasicResourceSettingOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) JobmanagerResourceSettingSpec() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSetting) *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + if v == nil { + return nil + } + return v.JobmanagerResourceSettingSpec + }).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSetting) *int { + if v == nil { + return nil + } + return v.Parallelism + }).(pulumi.IntPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingPtrOutput) TaskmanagerResourceSettingSpec() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSetting) *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + if v == nil { + return nil + } + return v.TaskmanagerResourceSettingSpec + }).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec struct { + Cpu *float64 `pulumi:"cpu"` + Memory *string `pulumi:"memory"` +} + +// DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs and DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{...} +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput + ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput +} + +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs struct { + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput).ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx) +} + +// DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs, DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtr and DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{...} +// +// or: +// +// nil +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput + ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput +} + +type deploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs + +func DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtr(v *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput { + return (*deploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType)(v) +} + +func (*deploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + return &v + }).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *float64 { + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *string { + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Elem() DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + if v != nil { + return *v + } + var ret DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec + return ret + }).(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *float64 { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec struct { + Cpu *float64 `pulumi:"cpu"` + Memory *string `pulumi:"memory"` +} + +// DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs and DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{...} +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput + ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput +} + +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs struct { + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput).ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx) +} + +// DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput is an input type that accepts DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs, DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtr and DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput values. +// You can construct a concrete instance of `DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput` via: +// +// DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{...} +// +// or: +// +// nil +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput interface { + pulumi.Input + + ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput + ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput +} + +type deploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs + +func DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtr(v *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput { + return (*deploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType)(v) +} + +func (*deploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i *deploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + return &v + }).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *float64 { + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *string { + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ToDeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Elem() DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + if v != nil { + return *v + } + var ret DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec + return ret + }).(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *float64 { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentDeploymentTarget struct { + // Deployment mode, valid values: PER_JOB or SESSION + Mode string `pulumi:"mode"` + // Deployment target name + Name string `pulumi:"name"` +} + +// DeploymentDeploymentTargetInput is an input type that accepts DeploymentDeploymentTargetArgs and DeploymentDeploymentTargetOutput values. +// You can construct a concrete instance of `DeploymentDeploymentTargetInput` via: +// +// DeploymentDeploymentTargetArgs{...} +type DeploymentDeploymentTargetInput interface { + pulumi.Input + + ToDeploymentDeploymentTargetOutput() DeploymentDeploymentTargetOutput + ToDeploymentDeploymentTargetOutputWithContext(context.Context) DeploymentDeploymentTargetOutput +} + +type DeploymentDeploymentTargetArgs struct { + // Deployment mode, valid values: PER_JOB or SESSION + Mode pulumi.StringInput `pulumi:"mode"` + // Deployment target name + Name pulumi.StringInput `pulumi:"name"` +} + +func (DeploymentDeploymentTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentDeploymentTarget)(nil)).Elem() +} + +func (i DeploymentDeploymentTargetArgs) ToDeploymentDeploymentTargetOutput() DeploymentDeploymentTargetOutput { + return i.ToDeploymentDeploymentTargetOutputWithContext(context.Background()) +} + +func (i DeploymentDeploymentTargetArgs) ToDeploymentDeploymentTargetOutputWithContext(ctx context.Context) DeploymentDeploymentTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentDeploymentTargetOutput) +} + +func (i DeploymentDeploymentTargetArgs) ToDeploymentDeploymentTargetPtrOutput() DeploymentDeploymentTargetPtrOutput { + return i.ToDeploymentDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (i DeploymentDeploymentTargetArgs) ToDeploymentDeploymentTargetPtrOutputWithContext(ctx context.Context) DeploymentDeploymentTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentDeploymentTargetOutput).ToDeploymentDeploymentTargetPtrOutputWithContext(ctx) +} + +// DeploymentDeploymentTargetPtrInput is an input type that accepts DeploymentDeploymentTargetArgs, DeploymentDeploymentTargetPtr and DeploymentDeploymentTargetPtrOutput values. +// You can construct a concrete instance of `DeploymentDeploymentTargetPtrInput` via: +// +// DeploymentDeploymentTargetArgs{...} +// +// or: +// +// nil +type DeploymentDeploymentTargetPtrInput interface { + pulumi.Input + + ToDeploymentDeploymentTargetPtrOutput() DeploymentDeploymentTargetPtrOutput + ToDeploymentDeploymentTargetPtrOutputWithContext(context.Context) DeploymentDeploymentTargetPtrOutput +} + +type deploymentDeploymentTargetPtrType DeploymentDeploymentTargetArgs + +func DeploymentDeploymentTargetPtr(v *DeploymentDeploymentTargetArgs) DeploymentDeploymentTargetPtrInput { + return (*deploymentDeploymentTargetPtrType)(v) +} + +func (*deploymentDeploymentTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentDeploymentTarget)(nil)).Elem() +} + +func (i *deploymentDeploymentTargetPtrType) ToDeploymentDeploymentTargetPtrOutput() DeploymentDeploymentTargetPtrOutput { + return i.ToDeploymentDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (i *deploymentDeploymentTargetPtrType) ToDeploymentDeploymentTargetPtrOutputWithContext(ctx context.Context) DeploymentDeploymentTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentDeploymentTargetPtrOutput) +} + +type DeploymentDeploymentTargetOutput struct{ *pulumi.OutputState } + +func (DeploymentDeploymentTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentDeploymentTarget)(nil)).Elem() +} + +func (o DeploymentDeploymentTargetOutput) ToDeploymentDeploymentTargetOutput() DeploymentDeploymentTargetOutput { + return o +} + +func (o DeploymentDeploymentTargetOutput) ToDeploymentDeploymentTargetOutputWithContext(ctx context.Context) DeploymentDeploymentTargetOutput { + return o +} + +func (o DeploymentDeploymentTargetOutput) ToDeploymentDeploymentTargetPtrOutput() DeploymentDeploymentTargetPtrOutput { + return o.ToDeploymentDeploymentTargetPtrOutputWithContext(context.Background()) +} + +func (o DeploymentDeploymentTargetOutput) ToDeploymentDeploymentTargetPtrOutputWithContext(ctx context.Context) DeploymentDeploymentTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentDeploymentTarget) *DeploymentDeploymentTarget { + return &v + }).(DeploymentDeploymentTargetPtrOutput) +} + +// Deployment mode, valid values: PER_JOB or SESSION +func (o DeploymentDeploymentTargetOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentDeploymentTarget) string { return v.Mode }).(pulumi.StringOutput) +} + +// Deployment target name +func (o DeploymentDeploymentTargetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentDeploymentTarget) string { return v.Name }).(pulumi.StringOutput) +} + +type DeploymentDeploymentTargetPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentDeploymentTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentDeploymentTarget)(nil)).Elem() +} + +func (o DeploymentDeploymentTargetPtrOutput) ToDeploymentDeploymentTargetPtrOutput() DeploymentDeploymentTargetPtrOutput { + return o +} + +func (o DeploymentDeploymentTargetPtrOutput) ToDeploymentDeploymentTargetPtrOutputWithContext(ctx context.Context) DeploymentDeploymentTargetPtrOutput { + return o +} + +func (o DeploymentDeploymentTargetPtrOutput) Elem() DeploymentDeploymentTargetOutput { + return o.ApplyT(func(v *DeploymentDeploymentTarget) DeploymentDeploymentTarget { + if v != nil { + return *v + } + var ret DeploymentDeploymentTarget + return ret + }).(DeploymentDeploymentTargetOutput) +} + +// Deployment mode, valid values: PER_JOB or SESSION +func (o DeploymentDeploymentTargetPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentDeploymentTarget) *string { + if v == nil { + return nil + } + return &v.Mode + }).(pulumi.StringPtrOutput) +} + +// Deployment target name +func (o DeploymentDeploymentTargetPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentDeploymentTarget) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +type DeploymentLocalVariable struct { + // Job variable name + Name *string `pulumi:"name"` + // Job variable value + Value *string `pulumi:"value"` +} + +// DeploymentLocalVariableInput is an input type that accepts DeploymentLocalVariableArgs and DeploymentLocalVariableOutput values. +// You can construct a concrete instance of `DeploymentLocalVariableInput` via: +// +// DeploymentLocalVariableArgs{...} +type DeploymentLocalVariableInput interface { + pulumi.Input + + ToDeploymentLocalVariableOutput() DeploymentLocalVariableOutput + ToDeploymentLocalVariableOutputWithContext(context.Context) DeploymentLocalVariableOutput +} + +type DeploymentLocalVariableArgs struct { + // Job variable name + Name pulumi.StringPtrInput `pulumi:"name"` + // Job variable value + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (DeploymentLocalVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLocalVariable)(nil)).Elem() +} + +func (i DeploymentLocalVariableArgs) ToDeploymentLocalVariableOutput() DeploymentLocalVariableOutput { + return i.ToDeploymentLocalVariableOutputWithContext(context.Background()) +} + +func (i DeploymentLocalVariableArgs) ToDeploymentLocalVariableOutputWithContext(ctx context.Context) DeploymentLocalVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLocalVariableOutput) +} + +// DeploymentLocalVariableArrayInput is an input type that accepts DeploymentLocalVariableArray and DeploymentLocalVariableArrayOutput values. +// You can construct a concrete instance of `DeploymentLocalVariableArrayInput` via: +// +// DeploymentLocalVariableArray{ DeploymentLocalVariableArgs{...} } +type DeploymentLocalVariableArrayInput interface { + pulumi.Input + + ToDeploymentLocalVariableArrayOutput() DeploymentLocalVariableArrayOutput + ToDeploymentLocalVariableArrayOutputWithContext(context.Context) DeploymentLocalVariableArrayOutput +} + +type DeploymentLocalVariableArray []DeploymentLocalVariableInput + +func (DeploymentLocalVariableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DeploymentLocalVariable)(nil)).Elem() +} + +func (i DeploymentLocalVariableArray) ToDeploymentLocalVariableArrayOutput() DeploymentLocalVariableArrayOutput { + return i.ToDeploymentLocalVariableArrayOutputWithContext(context.Background()) +} + +func (i DeploymentLocalVariableArray) ToDeploymentLocalVariableArrayOutputWithContext(ctx context.Context) DeploymentLocalVariableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLocalVariableArrayOutput) +} + +type DeploymentLocalVariableOutput struct{ *pulumi.OutputState } + +func (DeploymentLocalVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLocalVariable)(nil)).Elem() +} + +func (o DeploymentLocalVariableOutput) ToDeploymentLocalVariableOutput() DeploymentLocalVariableOutput { + return o +} + +func (o DeploymentLocalVariableOutput) ToDeploymentLocalVariableOutputWithContext(ctx context.Context) DeploymentLocalVariableOutput { + return o +} + +// Job variable name +func (o DeploymentLocalVariableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLocalVariable) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Job variable value +func (o DeploymentLocalVariableOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLocalVariable) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type DeploymentLocalVariableArrayOutput struct{ *pulumi.OutputState } + +func (DeploymentLocalVariableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DeploymentLocalVariable)(nil)).Elem() +} + +func (o DeploymentLocalVariableArrayOutput) ToDeploymentLocalVariableArrayOutput() DeploymentLocalVariableArrayOutput { + return o +} + +func (o DeploymentLocalVariableArrayOutput) ToDeploymentLocalVariableArrayOutputWithContext(ctx context.Context) DeploymentLocalVariableArrayOutput { + return o +} + +func (o DeploymentLocalVariableArrayOutput) Index(i pulumi.IntInput) DeploymentLocalVariableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DeploymentLocalVariable { + return vs[0].([]DeploymentLocalVariable)[vs[1].(int)] + }).(DeploymentLocalVariableOutput) +} + +type DeploymentLogging struct { + // Custom log template + Log4j2ConfigurationTemplate *string `pulumi:"log4j2ConfigurationTemplate"` + // log4j configuration See `log4jLoggers` below. + Log4jLoggers []DeploymentLoggingLog4jLogger `pulumi:"log4jLoggers"` + // Log retention policy See `logReservePolicy` below. + LogReservePolicy *DeploymentLoggingLogReservePolicy `pulumi:"logReservePolicy"` + // Default system log template + LoggingProfile *string `pulumi:"loggingProfile"` +} + +// DeploymentLoggingInput is an input type that accepts DeploymentLoggingArgs and DeploymentLoggingOutput values. +// You can construct a concrete instance of `DeploymentLoggingInput` via: +// +// DeploymentLoggingArgs{...} +type DeploymentLoggingInput interface { + pulumi.Input + + ToDeploymentLoggingOutput() DeploymentLoggingOutput + ToDeploymentLoggingOutputWithContext(context.Context) DeploymentLoggingOutput +} + +type DeploymentLoggingArgs struct { + // Custom log template + Log4j2ConfigurationTemplate pulumi.StringPtrInput `pulumi:"log4j2ConfigurationTemplate"` + // log4j configuration See `log4jLoggers` below. + Log4jLoggers DeploymentLoggingLog4jLoggerArrayInput `pulumi:"log4jLoggers"` + // Log retention policy See `logReservePolicy` below. + LogReservePolicy DeploymentLoggingLogReservePolicyPtrInput `pulumi:"logReservePolicy"` + // Default system log template + LoggingProfile pulumi.StringPtrInput `pulumi:"loggingProfile"` +} + +func (DeploymentLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLogging)(nil)).Elem() +} + +func (i DeploymentLoggingArgs) ToDeploymentLoggingOutput() DeploymentLoggingOutput { + return i.ToDeploymentLoggingOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingArgs) ToDeploymentLoggingOutputWithContext(ctx context.Context) DeploymentLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingOutput) +} + +func (i DeploymentLoggingArgs) ToDeploymentLoggingPtrOutput() DeploymentLoggingPtrOutput { + return i.ToDeploymentLoggingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingArgs) ToDeploymentLoggingPtrOutputWithContext(ctx context.Context) DeploymentLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingOutput).ToDeploymentLoggingPtrOutputWithContext(ctx) +} + +// DeploymentLoggingPtrInput is an input type that accepts DeploymentLoggingArgs, DeploymentLoggingPtr and DeploymentLoggingPtrOutput values. +// You can construct a concrete instance of `DeploymentLoggingPtrInput` via: +// +// DeploymentLoggingArgs{...} +// +// or: +// +// nil +type DeploymentLoggingPtrInput interface { + pulumi.Input + + ToDeploymentLoggingPtrOutput() DeploymentLoggingPtrOutput + ToDeploymentLoggingPtrOutputWithContext(context.Context) DeploymentLoggingPtrOutput +} + +type deploymentLoggingPtrType DeploymentLoggingArgs + +func DeploymentLoggingPtr(v *DeploymentLoggingArgs) DeploymentLoggingPtrInput { + return (*deploymentLoggingPtrType)(v) +} + +func (*deploymentLoggingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentLogging)(nil)).Elem() +} + +func (i *deploymentLoggingPtrType) ToDeploymentLoggingPtrOutput() DeploymentLoggingPtrOutput { + return i.ToDeploymentLoggingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentLoggingPtrType) ToDeploymentLoggingPtrOutputWithContext(ctx context.Context) DeploymentLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingPtrOutput) +} + +type DeploymentLoggingOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLogging)(nil)).Elem() +} + +func (o DeploymentLoggingOutput) ToDeploymentLoggingOutput() DeploymentLoggingOutput { + return o +} + +func (o DeploymentLoggingOutput) ToDeploymentLoggingOutputWithContext(ctx context.Context) DeploymentLoggingOutput { + return o +} + +func (o DeploymentLoggingOutput) ToDeploymentLoggingPtrOutput() DeploymentLoggingPtrOutput { + return o.ToDeploymentLoggingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentLoggingOutput) ToDeploymentLoggingPtrOutputWithContext(ctx context.Context) DeploymentLoggingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentLogging) *DeploymentLogging { + return &v + }).(DeploymentLoggingPtrOutput) +} + +// Custom log template +func (o DeploymentLoggingOutput) Log4j2ConfigurationTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLogging) *string { return v.Log4j2ConfigurationTemplate }).(pulumi.StringPtrOutput) +} + +// log4j configuration See `log4jLoggers` below. +func (o DeploymentLoggingOutput) Log4jLoggers() DeploymentLoggingLog4jLoggerArrayOutput { + return o.ApplyT(func(v DeploymentLogging) []DeploymentLoggingLog4jLogger { return v.Log4jLoggers }).(DeploymentLoggingLog4jLoggerArrayOutput) +} + +// Log retention policy See `logReservePolicy` below. +func (o DeploymentLoggingOutput) LogReservePolicy() DeploymentLoggingLogReservePolicyPtrOutput { + return o.ApplyT(func(v DeploymentLogging) *DeploymentLoggingLogReservePolicy { return v.LogReservePolicy }).(DeploymentLoggingLogReservePolicyPtrOutput) +} + +// Default system log template +func (o DeploymentLoggingOutput) LoggingProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLogging) *string { return v.LoggingProfile }).(pulumi.StringPtrOutput) +} + +type DeploymentLoggingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentLogging)(nil)).Elem() +} + +func (o DeploymentLoggingPtrOutput) ToDeploymentLoggingPtrOutput() DeploymentLoggingPtrOutput { + return o +} + +func (o DeploymentLoggingPtrOutput) ToDeploymentLoggingPtrOutputWithContext(ctx context.Context) DeploymentLoggingPtrOutput { + return o +} + +func (o DeploymentLoggingPtrOutput) Elem() DeploymentLoggingOutput { + return o.ApplyT(func(v *DeploymentLogging) DeploymentLogging { + if v != nil { + return *v + } + var ret DeploymentLogging + return ret + }).(DeploymentLoggingOutput) +} + +// Custom log template +func (o DeploymentLoggingPtrOutput) Log4j2ConfigurationTemplate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentLogging) *string { + if v == nil { + return nil + } + return v.Log4j2ConfigurationTemplate + }).(pulumi.StringPtrOutput) +} + +// log4j configuration See `log4jLoggers` below. +func (o DeploymentLoggingPtrOutput) Log4jLoggers() DeploymentLoggingLog4jLoggerArrayOutput { + return o.ApplyT(func(v *DeploymentLogging) []DeploymentLoggingLog4jLogger { + if v == nil { + return nil + } + return v.Log4jLoggers + }).(DeploymentLoggingLog4jLoggerArrayOutput) +} + +// Log retention policy See `logReservePolicy` below. +func (o DeploymentLoggingPtrOutput) LogReservePolicy() DeploymentLoggingLogReservePolicyPtrOutput { + return o.ApplyT(func(v *DeploymentLogging) *DeploymentLoggingLogReservePolicy { + if v == nil { + return nil + } + return v.LogReservePolicy + }).(DeploymentLoggingLogReservePolicyPtrOutput) +} + +// Default system log template +func (o DeploymentLoggingPtrOutput) LoggingProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentLogging) *string { + if v == nil { + return nil + } + return v.LoggingProfile + }).(pulumi.StringPtrOutput) +} + +type DeploymentLoggingLog4jLogger struct { + // Log output level + LoggerLevel *string `pulumi:"loggerLevel"` + // Class name for log output + LoggerName *string `pulumi:"loggerName"` +} + +// DeploymentLoggingLog4jLoggerInput is an input type that accepts DeploymentLoggingLog4jLoggerArgs and DeploymentLoggingLog4jLoggerOutput values. +// You can construct a concrete instance of `DeploymentLoggingLog4jLoggerInput` via: +// +// DeploymentLoggingLog4jLoggerArgs{...} +type DeploymentLoggingLog4jLoggerInput interface { + pulumi.Input + + ToDeploymentLoggingLog4jLoggerOutput() DeploymentLoggingLog4jLoggerOutput + ToDeploymentLoggingLog4jLoggerOutputWithContext(context.Context) DeploymentLoggingLog4jLoggerOutput +} + +type DeploymentLoggingLog4jLoggerArgs struct { + // Log output level + LoggerLevel pulumi.StringPtrInput `pulumi:"loggerLevel"` + // Class name for log output + LoggerName pulumi.StringPtrInput `pulumi:"loggerName"` +} + +func (DeploymentLoggingLog4jLoggerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLoggingLog4jLogger)(nil)).Elem() +} + +func (i DeploymentLoggingLog4jLoggerArgs) ToDeploymentLoggingLog4jLoggerOutput() DeploymentLoggingLog4jLoggerOutput { + return i.ToDeploymentLoggingLog4jLoggerOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingLog4jLoggerArgs) ToDeploymentLoggingLog4jLoggerOutputWithContext(ctx context.Context) DeploymentLoggingLog4jLoggerOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingLog4jLoggerOutput) +} + +// DeploymentLoggingLog4jLoggerArrayInput is an input type that accepts DeploymentLoggingLog4jLoggerArray and DeploymentLoggingLog4jLoggerArrayOutput values. +// You can construct a concrete instance of `DeploymentLoggingLog4jLoggerArrayInput` via: +// +// DeploymentLoggingLog4jLoggerArray{ DeploymentLoggingLog4jLoggerArgs{...} } +type DeploymentLoggingLog4jLoggerArrayInput interface { + pulumi.Input + + ToDeploymentLoggingLog4jLoggerArrayOutput() DeploymentLoggingLog4jLoggerArrayOutput + ToDeploymentLoggingLog4jLoggerArrayOutputWithContext(context.Context) DeploymentLoggingLog4jLoggerArrayOutput +} + +type DeploymentLoggingLog4jLoggerArray []DeploymentLoggingLog4jLoggerInput + +func (DeploymentLoggingLog4jLoggerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DeploymentLoggingLog4jLogger)(nil)).Elem() +} + +func (i DeploymentLoggingLog4jLoggerArray) ToDeploymentLoggingLog4jLoggerArrayOutput() DeploymentLoggingLog4jLoggerArrayOutput { + return i.ToDeploymentLoggingLog4jLoggerArrayOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingLog4jLoggerArray) ToDeploymentLoggingLog4jLoggerArrayOutputWithContext(ctx context.Context) DeploymentLoggingLog4jLoggerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingLog4jLoggerArrayOutput) +} + +type DeploymentLoggingLog4jLoggerOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingLog4jLoggerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLoggingLog4jLogger)(nil)).Elem() +} + +func (o DeploymentLoggingLog4jLoggerOutput) ToDeploymentLoggingLog4jLoggerOutput() DeploymentLoggingLog4jLoggerOutput { + return o +} + +func (o DeploymentLoggingLog4jLoggerOutput) ToDeploymentLoggingLog4jLoggerOutputWithContext(ctx context.Context) DeploymentLoggingLog4jLoggerOutput { + return o +} + +// Log output level +func (o DeploymentLoggingLog4jLoggerOutput) LoggerLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLoggingLog4jLogger) *string { return v.LoggerLevel }).(pulumi.StringPtrOutput) +} + +// Class name for log output +func (o DeploymentLoggingLog4jLoggerOutput) LoggerName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentLoggingLog4jLogger) *string { return v.LoggerName }).(pulumi.StringPtrOutput) +} + +type DeploymentLoggingLog4jLoggerArrayOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingLog4jLoggerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DeploymentLoggingLog4jLogger)(nil)).Elem() +} + +func (o DeploymentLoggingLog4jLoggerArrayOutput) ToDeploymentLoggingLog4jLoggerArrayOutput() DeploymentLoggingLog4jLoggerArrayOutput { + return o +} + +func (o DeploymentLoggingLog4jLoggerArrayOutput) ToDeploymentLoggingLog4jLoggerArrayOutputWithContext(ctx context.Context) DeploymentLoggingLog4jLoggerArrayOutput { + return o +} + +func (o DeploymentLoggingLog4jLoggerArrayOutput) Index(i pulumi.IntInput) DeploymentLoggingLog4jLoggerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DeploymentLoggingLog4jLogger { + return vs[0].([]DeploymentLoggingLog4jLogger)[vs[1].(int)] + }).(DeploymentLoggingLog4jLoggerOutput) +} + +type DeploymentLoggingLogReservePolicy struct { + // Number of days to retain logs after log retention is enabled + ExpirationDays *int `pulumi:"expirationDays"` + // Whether to enable log retention + OpenHistory *bool `pulumi:"openHistory"` +} + +// DeploymentLoggingLogReservePolicyInput is an input type that accepts DeploymentLoggingLogReservePolicyArgs and DeploymentLoggingLogReservePolicyOutput values. +// You can construct a concrete instance of `DeploymentLoggingLogReservePolicyInput` via: +// +// DeploymentLoggingLogReservePolicyArgs{...} +type DeploymentLoggingLogReservePolicyInput interface { + pulumi.Input + + ToDeploymentLoggingLogReservePolicyOutput() DeploymentLoggingLogReservePolicyOutput + ToDeploymentLoggingLogReservePolicyOutputWithContext(context.Context) DeploymentLoggingLogReservePolicyOutput +} + +type DeploymentLoggingLogReservePolicyArgs struct { + // Number of days to retain logs after log retention is enabled + ExpirationDays pulumi.IntPtrInput `pulumi:"expirationDays"` + // Whether to enable log retention + OpenHistory pulumi.BoolPtrInput `pulumi:"openHistory"` +} + +func (DeploymentLoggingLogReservePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLoggingLogReservePolicy)(nil)).Elem() +} + +func (i DeploymentLoggingLogReservePolicyArgs) ToDeploymentLoggingLogReservePolicyOutput() DeploymentLoggingLogReservePolicyOutput { + return i.ToDeploymentLoggingLogReservePolicyOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingLogReservePolicyArgs) ToDeploymentLoggingLogReservePolicyOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingLogReservePolicyOutput) +} + +func (i DeploymentLoggingLogReservePolicyArgs) ToDeploymentLoggingLogReservePolicyPtrOutput() DeploymentLoggingLogReservePolicyPtrOutput { + return i.ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(context.Background()) +} + +func (i DeploymentLoggingLogReservePolicyArgs) ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingLogReservePolicyOutput).ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(ctx) +} + +// DeploymentLoggingLogReservePolicyPtrInput is an input type that accepts DeploymentLoggingLogReservePolicyArgs, DeploymentLoggingLogReservePolicyPtr and DeploymentLoggingLogReservePolicyPtrOutput values. +// You can construct a concrete instance of `DeploymentLoggingLogReservePolicyPtrInput` via: +// +// DeploymentLoggingLogReservePolicyArgs{...} +// +// or: +// +// nil +type DeploymentLoggingLogReservePolicyPtrInput interface { + pulumi.Input + + ToDeploymentLoggingLogReservePolicyPtrOutput() DeploymentLoggingLogReservePolicyPtrOutput + ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(context.Context) DeploymentLoggingLogReservePolicyPtrOutput +} + +type deploymentLoggingLogReservePolicyPtrType DeploymentLoggingLogReservePolicyArgs + +func DeploymentLoggingLogReservePolicyPtr(v *DeploymentLoggingLogReservePolicyArgs) DeploymentLoggingLogReservePolicyPtrInput { + return (*deploymentLoggingLogReservePolicyPtrType)(v) +} + +func (*deploymentLoggingLogReservePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentLoggingLogReservePolicy)(nil)).Elem() +} + +func (i *deploymentLoggingLogReservePolicyPtrType) ToDeploymentLoggingLogReservePolicyPtrOutput() DeploymentLoggingLogReservePolicyPtrOutput { + return i.ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(context.Background()) +} + +func (i *deploymentLoggingLogReservePolicyPtrType) ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentLoggingLogReservePolicyPtrOutput) +} + +type DeploymentLoggingLogReservePolicyOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingLogReservePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentLoggingLogReservePolicy)(nil)).Elem() +} + +func (o DeploymentLoggingLogReservePolicyOutput) ToDeploymentLoggingLogReservePolicyOutput() DeploymentLoggingLogReservePolicyOutput { + return o +} + +func (o DeploymentLoggingLogReservePolicyOutput) ToDeploymentLoggingLogReservePolicyOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyOutput { + return o +} + +func (o DeploymentLoggingLogReservePolicyOutput) ToDeploymentLoggingLogReservePolicyPtrOutput() DeploymentLoggingLogReservePolicyPtrOutput { + return o.ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(context.Background()) +} + +func (o DeploymentLoggingLogReservePolicyOutput) ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentLoggingLogReservePolicy) *DeploymentLoggingLogReservePolicy { + return &v + }).(DeploymentLoggingLogReservePolicyPtrOutput) +} + +// Number of days to retain logs after log retention is enabled +func (o DeploymentLoggingLogReservePolicyOutput) ExpirationDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentLoggingLogReservePolicy) *int { return v.ExpirationDays }).(pulumi.IntPtrOutput) +} + +// Whether to enable log retention +func (o DeploymentLoggingLogReservePolicyOutput) OpenHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DeploymentLoggingLogReservePolicy) *bool { return v.OpenHistory }).(pulumi.BoolPtrOutput) +} + +type DeploymentLoggingLogReservePolicyPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentLoggingLogReservePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentLoggingLogReservePolicy)(nil)).Elem() +} + +func (o DeploymentLoggingLogReservePolicyPtrOutput) ToDeploymentLoggingLogReservePolicyPtrOutput() DeploymentLoggingLogReservePolicyPtrOutput { + return o +} + +func (o DeploymentLoggingLogReservePolicyPtrOutput) ToDeploymentLoggingLogReservePolicyPtrOutputWithContext(ctx context.Context) DeploymentLoggingLogReservePolicyPtrOutput { + return o +} + +func (o DeploymentLoggingLogReservePolicyPtrOutput) Elem() DeploymentLoggingLogReservePolicyOutput { + return o.ApplyT(func(v *DeploymentLoggingLogReservePolicy) DeploymentLoggingLogReservePolicy { + if v != nil { + return *v + } + var ret DeploymentLoggingLogReservePolicy + return ret + }).(DeploymentLoggingLogReservePolicyOutput) +} + +// Number of days to retain logs after log retention is enabled +func (o DeploymentLoggingLogReservePolicyPtrOutput) ExpirationDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentLoggingLogReservePolicy) *int { + if v == nil { + return nil + } + return v.ExpirationDays + }).(pulumi.IntPtrOutput) +} + +// Whether to enable log retention +func (o DeploymentLoggingLogReservePolicyPtrOutput) OpenHistory() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DeploymentLoggingLogReservePolicy) *bool { + if v == nil { + return nil + } + return v.OpenHistory + }).(pulumi.BoolPtrOutput) +} + +type DeploymentStreamingResourceSetting struct { + // Resource settings for basic mode See `basicResourceSetting` below. + BasicResourceSetting *DeploymentStreamingResourceSettingBasicResourceSetting `pulumi:"basicResourceSetting"` + // Expert mode resource settings See `expertResourceSetting` below. + ExpertResourceSetting *DeploymentStreamingResourceSettingExpertResourceSetting `pulumi:"expertResourceSetting"` + // Resource mode used in streaming mode, valid values: BASIC or EXPERT + ResourceSettingMode *string `pulumi:"resourceSettingMode"` +} + +// DeploymentStreamingResourceSettingInput is an input type that accepts DeploymentStreamingResourceSettingArgs and DeploymentStreamingResourceSettingOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingInput` via: +// +// DeploymentStreamingResourceSettingArgs{...} +type DeploymentStreamingResourceSettingInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingOutput() DeploymentStreamingResourceSettingOutput + ToDeploymentStreamingResourceSettingOutputWithContext(context.Context) DeploymentStreamingResourceSettingOutput +} + +type DeploymentStreamingResourceSettingArgs struct { + // Resource settings for basic mode See `basicResourceSetting` below. + BasicResourceSetting DeploymentStreamingResourceSettingBasicResourceSettingPtrInput `pulumi:"basicResourceSetting"` + // Expert mode resource settings See `expertResourceSetting` below. + ExpertResourceSetting DeploymentStreamingResourceSettingExpertResourceSettingPtrInput `pulumi:"expertResourceSetting"` + // Resource mode used in streaming mode, valid values: BASIC or EXPERT + ResourceSettingMode pulumi.StringPtrInput `pulumi:"resourceSettingMode"` +} + +func (DeploymentStreamingResourceSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSetting)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingArgs) ToDeploymentStreamingResourceSettingOutput() DeploymentStreamingResourceSettingOutput { + return i.ToDeploymentStreamingResourceSettingOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingArgs) ToDeploymentStreamingResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingOutput) +} + +func (i DeploymentStreamingResourceSettingArgs) ToDeploymentStreamingResourceSettingPtrOutput() DeploymentStreamingResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingArgs) ToDeploymentStreamingResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingOutput).ToDeploymentStreamingResourceSettingPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingPtrInput is an input type that accepts DeploymentStreamingResourceSettingArgs, DeploymentStreamingResourceSettingPtr and DeploymentStreamingResourceSettingPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingPtrInput` via: +// +// DeploymentStreamingResourceSettingArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingPtrOutput() DeploymentStreamingResourceSettingPtrOutput + ToDeploymentStreamingResourceSettingPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingPtrOutput +} + +type deploymentStreamingResourceSettingPtrType DeploymentStreamingResourceSettingArgs + +func DeploymentStreamingResourceSettingPtr(v *DeploymentStreamingResourceSettingArgs) DeploymentStreamingResourceSettingPtrInput { + return (*deploymentStreamingResourceSettingPtrType)(v) +} + +func (*deploymentStreamingResourceSettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSetting)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingPtrType) ToDeploymentStreamingResourceSettingPtrOutput() DeploymentStreamingResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingPtrType) ToDeploymentStreamingResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingPtrOutput) +} + +type DeploymentStreamingResourceSettingOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingOutput) ToDeploymentStreamingResourceSettingOutput() DeploymentStreamingResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingOutput) ToDeploymentStreamingResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingOutput) ToDeploymentStreamingResourceSettingPtrOutput() DeploymentStreamingResourceSettingPtrOutput { + return o.ToDeploymentStreamingResourceSettingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingOutput) ToDeploymentStreamingResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSetting) *DeploymentStreamingResourceSetting { + return &v + }).(DeploymentStreamingResourceSettingPtrOutput) +} + +// Resource settings for basic mode See `basicResourceSetting` below. +func (o DeploymentStreamingResourceSettingOutput) BasicResourceSetting() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSetting { + return v.BasicResourceSetting + }).(DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) +} + +// Expert mode resource settings See `expertResourceSetting` below. +func (o DeploymentStreamingResourceSettingOutput) ExpertResourceSetting() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSetting) *DeploymentStreamingResourceSettingExpertResourceSetting { + return v.ExpertResourceSetting + }).(DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) +} + +// Resource mode used in streaming mode, valid values: BASIC or EXPERT +func (o DeploymentStreamingResourceSettingOutput) ResourceSettingMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSetting) *string { return v.ResourceSettingMode }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingPtrOutput() DeploymentStreamingResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingPtrOutput) Elem() DeploymentStreamingResourceSettingOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSetting) DeploymentStreamingResourceSetting { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSetting + return ret + }).(DeploymentStreamingResourceSettingOutput) +} + +// Resource settings for basic mode See `basicResourceSetting` below. +func (o DeploymentStreamingResourceSettingPtrOutput) BasicResourceSetting() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSetting { + if v == nil { + return nil + } + return v.BasicResourceSetting + }).(DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) +} + +// Expert mode resource settings See `expertResourceSetting` below. +func (o DeploymentStreamingResourceSettingPtrOutput) ExpertResourceSetting() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSetting) *DeploymentStreamingResourceSettingExpertResourceSetting { + if v == nil { + return nil + } + return v.ExpertResourceSetting + }).(DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) +} + +// Resource mode used in streaming mode, valid values: BASIC or EXPERT +func (o DeploymentStreamingResourceSettingPtrOutput) ResourceSettingMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSetting) *string { + if v == nil { + return nil + } + return v.ResourceSettingMode + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSetting struct { + JobmanagerResourceSettingSpec *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec `pulumi:"jobmanagerResourceSettingSpec"` + Parallelism *int `pulumi:"parallelism"` + TaskmanagerResourceSettingSpec *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec `pulumi:"taskmanagerResourceSettingSpec"` +} + +// DeploymentStreamingResourceSettingBasicResourceSettingInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingArgs and DeploymentStreamingResourceSettingBasicResourceSettingOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingArgs{...} +type DeploymentStreamingResourceSettingBasicResourceSettingInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingOutput() DeploymentStreamingResourceSettingBasicResourceSettingOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingOutput +} + +type DeploymentStreamingResourceSettingBasicResourceSettingArgs struct { + JobmanagerResourceSettingSpec DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput `pulumi:"jobmanagerResourceSettingSpec"` + Parallelism pulumi.IntPtrInput `pulumi:"parallelism"` + TaskmanagerResourceSettingSpec DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput `pulumi:"taskmanagerResourceSettingSpec"` +} + +func (DeploymentStreamingResourceSettingBasicResourceSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingOutput() DeploymentStreamingResourceSettingBasicResourceSettingOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingOutput) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingOutput).ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingBasicResourceSettingPtrInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingArgs, DeploymentStreamingResourceSettingBasicResourceSettingPtr and DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingPtrInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingBasicResourceSettingPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput +} + +type deploymentStreamingResourceSettingBasicResourceSettingPtrType DeploymentStreamingResourceSettingBasicResourceSettingArgs + +func DeploymentStreamingResourceSettingBasicResourceSettingPtr(v *DeploymentStreamingResourceSettingBasicResourceSettingArgs) DeploymentStreamingResourceSettingBasicResourceSettingPtrInput { + return (*deploymentStreamingResourceSettingBasicResourceSettingPtrType)(v) +} + +func (*deploymentStreamingResourceSettingBasicResourceSettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingOutput() DeploymentStreamingResourceSettingBasicResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o.ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSettingBasicResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSetting { + return &v + }).(DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) JobmanagerResourceSettingSpec() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + return v.JobmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSetting) *int { return v.Parallelism }).(pulumi.IntPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingOutput) TaskmanagerResourceSettingSpec() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + return v.TaskmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) Elem() DeploymentStreamingResourceSettingBasicResourceSettingOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSetting) DeploymentStreamingResourceSettingBasicResourceSetting { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSettingBasicResourceSetting + return ret + }).(DeploymentStreamingResourceSettingBasicResourceSettingOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) JobmanagerResourceSettingSpec() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + if v == nil { + return nil + } + return v.JobmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) Parallelism() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSetting) *int { + if v == nil { + return nil + } + return v.Parallelism + }).(pulumi.IntPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput) TaskmanagerResourceSettingSpec() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSetting) *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + if v == nil { + return nil + } + return v.TaskmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec struct { + Cpu *float64 `pulumi:"cpu"` + Memory *string `pulumi:"memory"` +} + +// DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs and DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{...} +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput +} + +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs struct { + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput).ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs, DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtr and DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput +} + +type deploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs + +func DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtr(v *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput { + return (*deploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType)(v) +} + +func (*deploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + return &v + }).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *float64 { + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *string { + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Elem() DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec + return ret + }).(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *float64 { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec struct { + Cpu *float64 `pulumi:"cpu"` + Memory *string `pulumi:"memory"` +} + +// DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs and DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{...} +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput +} + +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs struct { + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput).ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput is an input type that accepts DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs, DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtr and DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput` via: +// +// DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput + ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput +} + +type deploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs + +func DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtr(v *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput { + return (*deploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType)(v) +} + +func (*deploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + return &v + }).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *float64 { + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *string { + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Elem() DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec + return ret + }).(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *float64 { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSetting struct { + JobmanagerResourceSettingSpec *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec `pulumi:"jobmanagerResourceSettingSpec"` + // Resource plan for expert mode + ResourcePlan *string `pulumi:"resourcePlan"` +} + +// DeploymentStreamingResourceSettingExpertResourceSettingInput is an input type that accepts DeploymentStreamingResourceSettingExpertResourceSettingArgs and DeploymentStreamingResourceSettingExpertResourceSettingOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingExpertResourceSettingInput` via: +// +// DeploymentStreamingResourceSettingExpertResourceSettingArgs{...} +type DeploymentStreamingResourceSettingExpertResourceSettingInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingExpertResourceSettingOutput() DeploymentStreamingResourceSettingExpertResourceSettingOutput + ToDeploymentStreamingResourceSettingExpertResourceSettingOutputWithContext(context.Context) DeploymentStreamingResourceSettingExpertResourceSettingOutput +} + +type DeploymentStreamingResourceSettingExpertResourceSettingArgs struct { + JobmanagerResourceSettingSpec DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput `pulumi:"jobmanagerResourceSettingSpec"` + // Resource plan for expert mode + ResourcePlan pulumi.StringPtrInput `pulumi:"resourcePlan"` +} + +func (DeploymentStreamingResourceSettingExpertResourceSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSetting)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingOutput() DeploymentStreamingResourceSettingExpertResourceSettingOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingOutput) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingOutput).ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingExpertResourceSettingPtrInput is an input type that accepts DeploymentStreamingResourceSettingExpertResourceSettingArgs, DeploymentStreamingResourceSettingExpertResourceSettingPtr and DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingExpertResourceSettingPtrInput` via: +// +// DeploymentStreamingResourceSettingExpertResourceSettingArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingExpertResourceSettingPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput + ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput +} + +type deploymentStreamingResourceSettingExpertResourceSettingPtrType DeploymentStreamingResourceSettingExpertResourceSettingArgs + +func DeploymentStreamingResourceSettingExpertResourceSettingPtr(v *DeploymentStreamingResourceSettingExpertResourceSettingArgs) DeploymentStreamingResourceSettingExpertResourceSettingPtrInput { + return (*deploymentStreamingResourceSettingExpertResourceSettingPtrType)(v) +} + +func (*deploymentStreamingResourceSettingExpertResourceSettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingExpertResourceSetting)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingExpertResourceSettingPtrType) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingExpertResourceSettingPtrType) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSettingOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingExpertResourceSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingOutput() DeploymentStreamingResourceSettingExpertResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o.ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSettingExpertResourceSetting) *DeploymentStreamingResourceSettingExpertResourceSetting { + return &v + }).(DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) JobmanagerResourceSettingSpec() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingExpertResourceSetting) *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + return v.JobmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +// Resource plan for expert mode +func (o DeploymentStreamingResourceSettingExpertResourceSettingOutput) ResourcePlan() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingExpertResourceSetting) *string { return v.ResourcePlan }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingExpertResourceSetting)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) Elem() DeploymentStreamingResourceSettingExpertResourceSettingOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSetting) DeploymentStreamingResourceSettingExpertResourceSetting { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSettingExpertResourceSetting + return ret + }).(DeploymentStreamingResourceSettingExpertResourceSettingOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) JobmanagerResourceSettingSpec() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSetting) *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + if v == nil { + return nil + } + return v.JobmanagerResourceSettingSpec + }).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +// Resource plan for expert mode +func (o DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput) ResourcePlan() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSetting) *string { + if v == nil { + return nil + } + return v.ResourcePlan + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec struct { + Cpu *float64 `pulumi:"cpu"` + Memory *string `pulumi:"memory"` +} + +// DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecInput is an input type that accepts DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs and DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecInput` via: +// +// DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs{...} +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput + ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput +} + +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs struct { + Cpu pulumi.Float64PtrInput `pulumi:"cpu"` + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput).ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx) +} + +// DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput is an input type that accepts DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs, DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtr and DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput values. +// You can construct a concrete instance of `DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput` via: +// +// DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs{...} +// +// or: +// +// nil +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput interface { + pulumi.Input + + ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput + ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput +} + +type deploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrType DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs + +func DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtr(v *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput { + return (*deploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrType)(v) +} + +func (*deploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (i *deploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return i.ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (i *deploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrType) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(context.Background()) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + return &v + }).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) *float64 { + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) *string { + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec)(nil)).Elem() +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) ToDeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutputWithContext(ctx context.Context) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput { + return o +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) Elem() DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + if v != nil { + return *v + } + var ret DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec + return ret + }).(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) Cpu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) *float64 { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.Float64PtrOutput) +} + +func (o DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +type JobLocalVariable struct { + // Local variables name + Name *string `pulumi:"name"` + // Local variables value + Value *string `pulumi:"value"` +} + +// JobLocalVariableInput is an input type that accepts JobLocalVariableArgs and JobLocalVariableOutput values. +// You can construct a concrete instance of `JobLocalVariableInput` via: +// +// JobLocalVariableArgs{...} +type JobLocalVariableInput interface { + pulumi.Input + + ToJobLocalVariableOutput() JobLocalVariableOutput + ToJobLocalVariableOutputWithContext(context.Context) JobLocalVariableOutput +} + +type JobLocalVariableArgs struct { + // Local variables name + Name pulumi.StringPtrInput `pulumi:"name"` + // Local variables value + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (JobLocalVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobLocalVariable)(nil)).Elem() +} + +func (i JobLocalVariableArgs) ToJobLocalVariableOutput() JobLocalVariableOutput { + return i.ToJobLocalVariableOutputWithContext(context.Background()) +} + +func (i JobLocalVariableArgs) ToJobLocalVariableOutputWithContext(ctx context.Context) JobLocalVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobLocalVariableOutput) +} + +// JobLocalVariableArrayInput is an input type that accepts JobLocalVariableArray and JobLocalVariableArrayOutput values. +// You can construct a concrete instance of `JobLocalVariableArrayInput` via: +// +// JobLocalVariableArray{ JobLocalVariableArgs{...} } +type JobLocalVariableArrayInput interface { + pulumi.Input + + ToJobLocalVariableArrayOutput() JobLocalVariableArrayOutput + ToJobLocalVariableArrayOutputWithContext(context.Context) JobLocalVariableArrayOutput +} + +type JobLocalVariableArray []JobLocalVariableInput + +func (JobLocalVariableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobLocalVariable)(nil)).Elem() +} + +func (i JobLocalVariableArray) ToJobLocalVariableArrayOutput() JobLocalVariableArrayOutput { + return i.ToJobLocalVariableArrayOutputWithContext(context.Background()) +} + +func (i JobLocalVariableArray) ToJobLocalVariableArrayOutputWithContext(ctx context.Context) JobLocalVariableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobLocalVariableArrayOutput) +} + +type JobLocalVariableOutput struct{ *pulumi.OutputState } + +func (JobLocalVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobLocalVariable)(nil)).Elem() +} + +func (o JobLocalVariableOutput) ToJobLocalVariableOutput() JobLocalVariableOutput { + return o +} + +func (o JobLocalVariableOutput) ToJobLocalVariableOutputWithContext(ctx context.Context) JobLocalVariableOutput { + return o +} + +// Local variables name +func (o JobLocalVariableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobLocalVariable) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Local variables value +func (o JobLocalVariableOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobLocalVariable) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type JobLocalVariableArrayOutput struct{ *pulumi.OutputState } + +func (JobLocalVariableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobLocalVariable)(nil)).Elem() +} + +func (o JobLocalVariableArrayOutput) ToJobLocalVariableArrayOutput() JobLocalVariableArrayOutput { + return o +} + +func (o JobLocalVariableArrayOutput) ToJobLocalVariableArrayOutputWithContext(ctx context.Context) JobLocalVariableArrayOutput { + return o +} + +func (o JobLocalVariableArrayOutput) Index(i pulumi.IntInput) JobLocalVariableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobLocalVariable { + return vs[0].([]JobLocalVariable)[vs[1].(int)] + }).(JobLocalVariableOutput) +} + +type JobRestoreStrategy struct { + // Stateless startup + AllowNonRestoredState *bool `pulumi:"allowNonRestoredState"` + // Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + JobStartTimeInMs *int `pulumi:"jobStartTimeInMs"` + // Restore type + Kind *string `pulumi:"kind"` + // SavepointId + SavepointId *string `pulumi:"savepointId"` +} + +// JobRestoreStrategyInput is an input type that accepts JobRestoreStrategyArgs and JobRestoreStrategyOutput values. +// You can construct a concrete instance of `JobRestoreStrategyInput` via: +// +// JobRestoreStrategyArgs{...} +type JobRestoreStrategyInput interface { + pulumi.Input + + ToJobRestoreStrategyOutput() JobRestoreStrategyOutput + ToJobRestoreStrategyOutputWithContext(context.Context) JobRestoreStrategyOutput +} + +type JobRestoreStrategyArgs struct { + // Stateless startup + AllowNonRestoredState pulumi.BoolPtrInput `pulumi:"allowNonRestoredState"` + // Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + JobStartTimeInMs pulumi.IntPtrInput `pulumi:"jobStartTimeInMs"` + // Restore type + Kind pulumi.StringPtrInput `pulumi:"kind"` + // SavepointId + SavepointId pulumi.StringPtrInput `pulumi:"savepointId"` +} + +func (JobRestoreStrategyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobRestoreStrategy)(nil)).Elem() +} + +func (i JobRestoreStrategyArgs) ToJobRestoreStrategyOutput() JobRestoreStrategyOutput { + return i.ToJobRestoreStrategyOutputWithContext(context.Background()) +} + +func (i JobRestoreStrategyArgs) ToJobRestoreStrategyOutputWithContext(ctx context.Context) JobRestoreStrategyOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobRestoreStrategyOutput) +} + +func (i JobRestoreStrategyArgs) ToJobRestoreStrategyPtrOutput() JobRestoreStrategyPtrOutput { + return i.ToJobRestoreStrategyPtrOutputWithContext(context.Background()) +} + +func (i JobRestoreStrategyArgs) ToJobRestoreStrategyPtrOutputWithContext(ctx context.Context) JobRestoreStrategyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobRestoreStrategyOutput).ToJobRestoreStrategyPtrOutputWithContext(ctx) +} + +// JobRestoreStrategyPtrInput is an input type that accepts JobRestoreStrategyArgs, JobRestoreStrategyPtr and JobRestoreStrategyPtrOutput values. +// You can construct a concrete instance of `JobRestoreStrategyPtrInput` via: +// +// JobRestoreStrategyArgs{...} +// +// or: +// +// nil +type JobRestoreStrategyPtrInput interface { + pulumi.Input + + ToJobRestoreStrategyPtrOutput() JobRestoreStrategyPtrOutput + ToJobRestoreStrategyPtrOutputWithContext(context.Context) JobRestoreStrategyPtrOutput +} + +type jobRestoreStrategyPtrType JobRestoreStrategyArgs + +func JobRestoreStrategyPtr(v *JobRestoreStrategyArgs) JobRestoreStrategyPtrInput { + return (*jobRestoreStrategyPtrType)(v) +} + +func (*jobRestoreStrategyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobRestoreStrategy)(nil)).Elem() +} + +func (i *jobRestoreStrategyPtrType) ToJobRestoreStrategyPtrOutput() JobRestoreStrategyPtrOutput { + return i.ToJobRestoreStrategyPtrOutputWithContext(context.Background()) +} + +func (i *jobRestoreStrategyPtrType) ToJobRestoreStrategyPtrOutputWithContext(ctx context.Context) JobRestoreStrategyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobRestoreStrategyPtrOutput) +} + +type JobRestoreStrategyOutput struct{ *pulumi.OutputState } + +func (JobRestoreStrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobRestoreStrategy)(nil)).Elem() +} + +func (o JobRestoreStrategyOutput) ToJobRestoreStrategyOutput() JobRestoreStrategyOutput { + return o +} + +func (o JobRestoreStrategyOutput) ToJobRestoreStrategyOutputWithContext(ctx context.Context) JobRestoreStrategyOutput { + return o +} + +func (o JobRestoreStrategyOutput) ToJobRestoreStrategyPtrOutput() JobRestoreStrategyPtrOutput { + return o.ToJobRestoreStrategyPtrOutputWithContext(context.Background()) +} + +func (o JobRestoreStrategyOutput) ToJobRestoreStrategyPtrOutputWithContext(ctx context.Context) JobRestoreStrategyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobRestoreStrategy) *JobRestoreStrategy { + return &v + }).(JobRestoreStrategyPtrOutput) +} + +// Stateless startup +func (o JobRestoreStrategyOutput) AllowNonRestoredState() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobRestoreStrategy) *bool { return v.AllowNonRestoredState }).(pulumi.BoolPtrOutput) +} + +// Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. +func (o JobRestoreStrategyOutput) JobStartTimeInMs() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobRestoreStrategy) *int { return v.JobStartTimeInMs }).(pulumi.IntPtrOutput) +} + +// Restore type +func (o JobRestoreStrategyOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobRestoreStrategy) *string { return v.Kind }).(pulumi.StringPtrOutput) +} + +// SavepointId +func (o JobRestoreStrategyOutput) SavepointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobRestoreStrategy) *string { return v.SavepointId }).(pulumi.StringPtrOutput) +} + +type JobRestoreStrategyPtrOutput struct{ *pulumi.OutputState } + +func (JobRestoreStrategyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobRestoreStrategy)(nil)).Elem() +} + +func (o JobRestoreStrategyPtrOutput) ToJobRestoreStrategyPtrOutput() JobRestoreStrategyPtrOutput { + return o +} + +func (o JobRestoreStrategyPtrOutput) ToJobRestoreStrategyPtrOutputWithContext(ctx context.Context) JobRestoreStrategyPtrOutput { + return o +} + +func (o JobRestoreStrategyPtrOutput) Elem() JobRestoreStrategyOutput { + return o.ApplyT(func(v *JobRestoreStrategy) JobRestoreStrategy { + if v != nil { + return *v + } + var ret JobRestoreStrategy + return ret + }).(JobRestoreStrategyOutput) +} + +// Stateless startup +func (o JobRestoreStrategyPtrOutput) AllowNonRestoredState() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JobRestoreStrategy) *bool { + if v == nil { + return nil + } + return v.AllowNonRestoredState + }).(pulumi.BoolPtrOutput) +} + +// Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. +func (o JobRestoreStrategyPtrOutput) JobStartTimeInMs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobRestoreStrategy) *int { + if v == nil { + return nil + } + return v.JobStartTimeInMs + }).(pulumi.IntPtrOutput) +} + +// Restore type +func (o JobRestoreStrategyPtrOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobRestoreStrategy) *string { + if v == nil { + return nil + } + return v.Kind + }).(pulumi.StringPtrOutput) +} + +// SavepointId +func (o JobRestoreStrategyPtrOutput) SavepointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobRestoreStrategy) *string { + if v == nil { + return nil + } + return v.SavepointId + }).(pulumi.StringPtrOutput) +} + +type JobStatus struct { + // Job current status + CurrentJobStatus *string `pulumi:"currentJobStatus"` + // Job failure information + Failure *JobStatusFailure `pulumi:"failure"` + // Job Run Health Score + HealthScore *int `pulumi:"healthScore"` + // Risk level, which indicates the risk level of the operation status of the job. + RiskLevel *string `pulumi:"riskLevel"` + // job running status, which has value when the job is Running. + Running *JobStatusRunning `pulumi:"running"` +} + +// JobStatusInput is an input type that accepts JobStatusArgs and JobStatusOutput values. +// You can construct a concrete instance of `JobStatusInput` via: +// +// JobStatusArgs{...} +type JobStatusInput interface { + pulumi.Input + + ToJobStatusOutput() JobStatusOutput + ToJobStatusOutputWithContext(context.Context) JobStatusOutput +} + +type JobStatusArgs struct { + // Job current status + CurrentJobStatus pulumi.StringPtrInput `pulumi:"currentJobStatus"` + // Job failure information + Failure JobStatusFailurePtrInput `pulumi:"failure"` + // Job Run Health Score + HealthScore pulumi.IntPtrInput `pulumi:"healthScore"` + // Risk level, which indicates the risk level of the operation status of the job. + RiskLevel pulumi.StringPtrInput `pulumi:"riskLevel"` + // job running status, which has value when the job is Running. + Running JobStatusRunningPtrInput `pulumi:"running"` +} + +func (JobStatusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatus)(nil)).Elem() +} + +func (i JobStatusArgs) ToJobStatusOutput() JobStatusOutput { + return i.ToJobStatusOutputWithContext(context.Background()) +} + +func (i JobStatusArgs) ToJobStatusOutputWithContext(ctx context.Context) JobStatusOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusOutput) +} + +func (i JobStatusArgs) ToJobStatusPtrOutput() JobStatusPtrOutput { + return i.ToJobStatusPtrOutputWithContext(context.Background()) +} + +func (i JobStatusArgs) ToJobStatusPtrOutputWithContext(ctx context.Context) JobStatusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusOutput).ToJobStatusPtrOutputWithContext(ctx) +} + +// JobStatusPtrInput is an input type that accepts JobStatusArgs, JobStatusPtr and JobStatusPtrOutput values. +// You can construct a concrete instance of `JobStatusPtrInput` via: +// +// JobStatusArgs{...} +// +// or: +// +// nil +type JobStatusPtrInput interface { + pulumi.Input + + ToJobStatusPtrOutput() JobStatusPtrOutput + ToJobStatusPtrOutputWithContext(context.Context) JobStatusPtrOutput +} + +type jobStatusPtrType JobStatusArgs + +func JobStatusPtr(v *JobStatusArgs) JobStatusPtrInput { + return (*jobStatusPtrType)(v) +} + +func (*jobStatusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatus)(nil)).Elem() +} + +func (i *jobStatusPtrType) ToJobStatusPtrOutput() JobStatusPtrOutput { + return i.ToJobStatusPtrOutputWithContext(context.Background()) +} + +func (i *jobStatusPtrType) ToJobStatusPtrOutputWithContext(ctx context.Context) JobStatusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusPtrOutput) +} + +type JobStatusOutput struct{ *pulumi.OutputState } + +func (JobStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatus)(nil)).Elem() +} + +func (o JobStatusOutput) ToJobStatusOutput() JobStatusOutput { + return o +} + +func (o JobStatusOutput) ToJobStatusOutputWithContext(ctx context.Context) JobStatusOutput { + return o +} + +func (o JobStatusOutput) ToJobStatusPtrOutput() JobStatusPtrOutput { + return o.ToJobStatusPtrOutputWithContext(context.Background()) +} + +func (o JobStatusOutput) ToJobStatusPtrOutputWithContext(ctx context.Context) JobStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobStatus) *JobStatus { + return &v + }).(JobStatusPtrOutput) +} + +// Job current status +func (o JobStatusOutput) CurrentJobStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobStatus) *string { return v.CurrentJobStatus }).(pulumi.StringPtrOutput) +} + +// Job failure information +func (o JobStatusOutput) Failure() JobStatusFailurePtrOutput { + return o.ApplyT(func(v JobStatus) *JobStatusFailure { return v.Failure }).(JobStatusFailurePtrOutput) +} + +// Job Run Health Score +func (o JobStatusOutput) HealthScore() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobStatus) *int { return v.HealthScore }).(pulumi.IntPtrOutput) +} + +// Risk level, which indicates the risk level of the operation status of the job. +func (o JobStatusOutput) RiskLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobStatus) *string { return v.RiskLevel }).(pulumi.StringPtrOutput) +} + +// job running status, which has value when the job is Running. +func (o JobStatusOutput) Running() JobStatusRunningPtrOutput { + return o.ApplyT(func(v JobStatus) *JobStatusRunning { return v.Running }).(JobStatusRunningPtrOutput) +} + +type JobStatusPtrOutput struct{ *pulumi.OutputState } + +func (JobStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatus)(nil)).Elem() +} + +func (o JobStatusPtrOutput) ToJobStatusPtrOutput() JobStatusPtrOutput { + return o +} + +func (o JobStatusPtrOutput) ToJobStatusPtrOutputWithContext(ctx context.Context) JobStatusPtrOutput { + return o +} + +func (o JobStatusPtrOutput) Elem() JobStatusOutput { + return o.ApplyT(func(v *JobStatus) JobStatus { + if v != nil { + return *v + } + var ret JobStatus + return ret + }).(JobStatusOutput) +} + +// Job current status +func (o JobStatusPtrOutput) CurrentJobStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobStatus) *string { + if v == nil { + return nil + } + return v.CurrentJobStatus + }).(pulumi.StringPtrOutput) +} + +// Job failure information +func (o JobStatusPtrOutput) Failure() JobStatusFailurePtrOutput { + return o.ApplyT(func(v *JobStatus) *JobStatusFailure { + if v == nil { + return nil + } + return v.Failure + }).(JobStatusFailurePtrOutput) +} + +// Job Run Health Score +func (o JobStatusPtrOutput) HealthScore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobStatus) *int { + if v == nil { + return nil + } + return v.HealthScore + }).(pulumi.IntPtrOutput) +} + +// Risk level, which indicates the risk level of the operation status of the job. +func (o JobStatusPtrOutput) RiskLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobStatus) *string { + if v == nil { + return nil + } + return v.RiskLevel + }).(pulumi.StringPtrOutput) +} + +// job running status, which has value when the job is Running. +func (o JobStatusPtrOutput) Running() JobStatusRunningPtrOutput { + return o.ApplyT(func(v *JobStatus) *JobStatusRunning { + if v == nil { + return nil + } + return v.Running + }).(JobStatusRunningPtrOutput) +} + +type JobStatusFailure struct { + // Job failure time + FailedAt *int `pulumi:"failedAt"` + // Failure Information Details + Message *string `pulumi:"message"` + // Failure Reason + Reason *string `pulumi:"reason"` +} + +// JobStatusFailureInput is an input type that accepts JobStatusFailureArgs and JobStatusFailureOutput values. +// You can construct a concrete instance of `JobStatusFailureInput` via: +// +// JobStatusFailureArgs{...} +type JobStatusFailureInput interface { + pulumi.Input + + ToJobStatusFailureOutput() JobStatusFailureOutput + ToJobStatusFailureOutputWithContext(context.Context) JobStatusFailureOutput +} + +type JobStatusFailureArgs struct { + // Job failure time + FailedAt pulumi.IntPtrInput `pulumi:"failedAt"` + // Failure Information Details + Message pulumi.StringPtrInput `pulumi:"message"` + // Failure Reason + Reason pulumi.StringPtrInput `pulumi:"reason"` +} + +func (JobStatusFailureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatusFailure)(nil)).Elem() +} + +func (i JobStatusFailureArgs) ToJobStatusFailureOutput() JobStatusFailureOutput { + return i.ToJobStatusFailureOutputWithContext(context.Background()) +} + +func (i JobStatusFailureArgs) ToJobStatusFailureOutputWithContext(ctx context.Context) JobStatusFailureOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusFailureOutput) +} + +func (i JobStatusFailureArgs) ToJobStatusFailurePtrOutput() JobStatusFailurePtrOutput { + return i.ToJobStatusFailurePtrOutputWithContext(context.Background()) +} + +func (i JobStatusFailureArgs) ToJobStatusFailurePtrOutputWithContext(ctx context.Context) JobStatusFailurePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusFailureOutput).ToJobStatusFailurePtrOutputWithContext(ctx) +} + +// JobStatusFailurePtrInput is an input type that accepts JobStatusFailureArgs, JobStatusFailurePtr and JobStatusFailurePtrOutput values. +// You can construct a concrete instance of `JobStatusFailurePtrInput` via: +// +// JobStatusFailureArgs{...} +// +// or: +// +// nil +type JobStatusFailurePtrInput interface { + pulumi.Input + + ToJobStatusFailurePtrOutput() JobStatusFailurePtrOutput + ToJobStatusFailurePtrOutputWithContext(context.Context) JobStatusFailurePtrOutput +} + +type jobStatusFailurePtrType JobStatusFailureArgs + +func JobStatusFailurePtr(v *JobStatusFailureArgs) JobStatusFailurePtrInput { + return (*jobStatusFailurePtrType)(v) +} + +func (*jobStatusFailurePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatusFailure)(nil)).Elem() +} + +func (i *jobStatusFailurePtrType) ToJobStatusFailurePtrOutput() JobStatusFailurePtrOutput { + return i.ToJobStatusFailurePtrOutputWithContext(context.Background()) +} + +func (i *jobStatusFailurePtrType) ToJobStatusFailurePtrOutputWithContext(ctx context.Context) JobStatusFailurePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusFailurePtrOutput) +} + +type JobStatusFailureOutput struct{ *pulumi.OutputState } + +func (JobStatusFailureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatusFailure)(nil)).Elem() +} + +func (o JobStatusFailureOutput) ToJobStatusFailureOutput() JobStatusFailureOutput { + return o +} + +func (o JobStatusFailureOutput) ToJobStatusFailureOutputWithContext(ctx context.Context) JobStatusFailureOutput { + return o +} + +func (o JobStatusFailureOutput) ToJobStatusFailurePtrOutput() JobStatusFailurePtrOutput { + return o.ToJobStatusFailurePtrOutputWithContext(context.Background()) +} + +func (o JobStatusFailureOutput) ToJobStatusFailurePtrOutputWithContext(ctx context.Context) JobStatusFailurePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobStatusFailure) *JobStatusFailure { + return &v + }).(JobStatusFailurePtrOutput) +} + +// Job failure time +func (o JobStatusFailureOutput) FailedAt() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobStatusFailure) *int { return v.FailedAt }).(pulumi.IntPtrOutput) +} + +// Failure Information Details +func (o JobStatusFailureOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobStatusFailure) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +// Failure Reason +func (o JobStatusFailureOutput) Reason() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobStatusFailure) *string { return v.Reason }).(pulumi.StringPtrOutput) +} + +type JobStatusFailurePtrOutput struct{ *pulumi.OutputState } + +func (JobStatusFailurePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatusFailure)(nil)).Elem() +} + +func (o JobStatusFailurePtrOutput) ToJobStatusFailurePtrOutput() JobStatusFailurePtrOutput { + return o +} + +func (o JobStatusFailurePtrOutput) ToJobStatusFailurePtrOutputWithContext(ctx context.Context) JobStatusFailurePtrOutput { + return o +} + +func (o JobStatusFailurePtrOutput) Elem() JobStatusFailureOutput { + return o.ApplyT(func(v *JobStatusFailure) JobStatusFailure { + if v != nil { + return *v + } + var ret JobStatusFailure + return ret + }).(JobStatusFailureOutput) +} + +// Job failure time +func (o JobStatusFailurePtrOutput) FailedAt() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobStatusFailure) *int { + if v == nil { + return nil + } + return v.FailedAt + }).(pulumi.IntPtrOutput) +} + +// Failure Information Details +func (o JobStatusFailurePtrOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobStatusFailure) *string { + if v == nil { + return nil + } + return v.Message + }).(pulumi.StringPtrOutput) +} + +// Failure Reason +func (o JobStatusFailurePtrOutput) Reason() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobStatusFailure) *string { + if v == nil { + return nil + } + return v.Reason + }).(pulumi.StringPtrOutput) +} + +type JobStatusRunning struct { + // Number of job restarts + ObservedFlinkJobRestarts *int `pulumi:"observedFlinkJobRestarts"` + // Flink job status + ObservedFlinkJobStatus *string `pulumi:"observedFlinkJobStatus"` +} + +// JobStatusRunningInput is an input type that accepts JobStatusRunningArgs and JobStatusRunningOutput values. +// You can construct a concrete instance of `JobStatusRunningInput` via: +// +// JobStatusRunningArgs{...} +type JobStatusRunningInput interface { + pulumi.Input + + ToJobStatusRunningOutput() JobStatusRunningOutput + ToJobStatusRunningOutputWithContext(context.Context) JobStatusRunningOutput +} + +type JobStatusRunningArgs struct { + // Number of job restarts + ObservedFlinkJobRestarts pulumi.IntPtrInput `pulumi:"observedFlinkJobRestarts"` + // Flink job status + ObservedFlinkJobStatus pulumi.StringPtrInput `pulumi:"observedFlinkJobStatus"` +} + +func (JobStatusRunningArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatusRunning)(nil)).Elem() +} + +func (i JobStatusRunningArgs) ToJobStatusRunningOutput() JobStatusRunningOutput { + return i.ToJobStatusRunningOutputWithContext(context.Background()) +} + +func (i JobStatusRunningArgs) ToJobStatusRunningOutputWithContext(ctx context.Context) JobStatusRunningOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusRunningOutput) +} + +func (i JobStatusRunningArgs) ToJobStatusRunningPtrOutput() JobStatusRunningPtrOutput { + return i.ToJobStatusRunningPtrOutputWithContext(context.Background()) +} + +func (i JobStatusRunningArgs) ToJobStatusRunningPtrOutputWithContext(ctx context.Context) JobStatusRunningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusRunningOutput).ToJobStatusRunningPtrOutputWithContext(ctx) +} + +// JobStatusRunningPtrInput is an input type that accepts JobStatusRunningArgs, JobStatusRunningPtr and JobStatusRunningPtrOutput values. +// You can construct a concrete instance of `JobStatusRunningPtrInput` via: +// +// JobStatusRunningArgs{...} +// +// or: +// +// nil +type JobStatusRunningPtrInput interface { + pulumi.Input + + ToJobStatusRunningPtrOutput() JobStatusRunningPtrOutput + ToJobStatusRunningPtrOutputWithContext(context.Context) JobStatusRunningPtrOutput +} + +type jobStatusRunningPtrType JobStatusRunningArgs + +func JobStatusRunningPtr(v *JobStatusRunningArgs) JobStatusRunningPtrInput { + return (*jobStatusRunningPtrType)(v) +} + +func (*jobStatusRunningPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatusRunning)(nil)).Elem() +} + +func (i *jobStatusRunningPtrType) ToJobStatusRunningPtrOutput() JobStatusRunningPtrOutput { + return i.ToJobStatusRunningPtrOutputWithContext(context.Background()) +} + +func (i *jobStatusRunningPtrType) ToJobStatusRunningPtrOutputWithContext(ctx context.Context) JobStatusRunningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobStatusRunningPtrOutput) +} + +type JobStatusRunningOutput struct{ *pulumi.OutputState } + +func (JobStatusRunningOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobStatusRunning)(nil)).Elem() +} + +func (o JobStatusRunningOutput) ToJobStatusRunningOutput() JobStatusRunningOutput { + return o +} + +func (o JobStatusRunningOutput) ToJobStatusRunningOutputWithContext(ctx context.Context) JobStatusRunningOutput { + return o +} + +func (o JobStatusRunningOutput) ToJobStatusRunningPtrOutput() JobStatusRunningPtrOutput { + return o.ToJobStatusRunningPtrOutputWithContext(context.Background()) +} + +func (o JobStatusRunningOutput) ToJobStatusRunningPtrOutputWithContext(ctx context.Context) JobStatusRunningPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobStatusRunning) *JobStatusRunning { + return &v + }).(JobStatusRunningPtrOutput) +} + +// Number of job restarts +func (o JobStatusRunningOutput) ObservedFlinkJobRestarts() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobStatusRunning) *int { return v.ObservedFlinkJobRestarts }).(pulumi.IntPtrOutput) +} + +// Flink job status +func (o JobStatusRunningOutput) ObservedFlinkJobStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobStatusRunning) *string { return v.ObservedFlinkJobStatus }).(pulumi.StringPtrOutput) +} + +type JobStatusRunningPtrOutput struct{ *pulumi.OutputState } + +func (JobStatusRunningPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobStatusRunning)(nil)).Elem() +} + +func (o JobStatusRunningPtrOutput) ToJobStatusRunningPtrOutput() JobStatusRunningPtrOutput { + return o +} + +func (o JobStatusRunningPtrOutput) ToJobStatusRunningPtrOutputWithContext(ctx context.Context) JobStatusRunningPtrOutput { + return o +} + +func (o JobStatusRunningPtrOutput) Elem() JobStatusRunningOutput { + return o.ApplyT(func(v *JobStatusRunning) JobStatusRunning { + if v != nil { + return *v + } + var ret JobStatusRunning + return ret + }).(JobStatusRunningOutput) +} + +// Number of job restarts +func (o JobStatusRunningPtrOutput) ObservedFlinkJobRestarts() pulumi.IntPtrOutput { + return o.ApplyT(func(v *JobStatusRunning) *int { + if v == nil { + return nil + } + return v.ObservedFlinkJobRestarts + }).(pulumi.IntPtrOutput) +} + +// Flink job status +func (o JobStatusRunningPtrOutput) ObservedFlinkJobStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *JobStatusRunning) *string { + if v == nil { + return nil + } + return v.ObservedFlinkJobStatus + }).(pulumi.StringPtrOutput) +} + type VvpInstanceResourceSpec struct { // CPU number. Cpu *int `pulumi:"cpu"` @@ -444,12 +4367,108 @@ func (o VvpInstanceStorageOssPtrOutput) Bucket() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactInput)(nil)).Elem(), DeploymentArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactPtrInput)(nil)).Elem(), DeploymentArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactJarArtifactInput)(nil)).Elem(), DeploymentArtifactJarArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactJarArtifactPtrInput)(nil)).Elem(), DeploymentArtifactJarArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactPythonArtifactInput)(nil)).Elem(), DeploymentArtifactPythonArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactPythonArtifactPtrInput)(nil)).Elem(), DeploymentArtifactPythonArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactSqlArtifactInput)(nil)).Elem(), DeploymentArtifactSqlArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentArtifactSqlArtifactPtrInput)(nil)).Elem(), DeploymentArtifactSqlArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingInput)(nil)).Elem(), DeploymentBatchResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingPtrInput)(nil)).Elem(), DeploymentBatchResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingPtrInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput)(nil)).Elem(), DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentDeploymentTargetInput)(nil)).Elem(), DeploymentDeploymentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentDeploymentTargetPtrInput)(nil)).Elem(), DeploymentDeploymentTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLocalVariableInput)(nil)).Elem(), DeploymentLocalVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLocalVariableArrayInput)(nil)).Elem(), DeploymentLocalVariableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingInput)(nil)).Elem(), DeploymentLoggingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingPtrInput)(nil)).Elem(), DeploymentLoggingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingLog4jLoggerInput)(nil)).Elem(), DeploymentLoggingLog4jLoggerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingLog4jLoggerArrayInput)(nil)).Elem(), DeploymentLoggingLog4jLoggerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingLogReservePolicyInput)(nil)).Elem(), DeploymentLoggingLogReservePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentLoggingLogReservePolicyPtrInput)(nil)).Elem(), DeploymentLoggingLogReservePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingInput)(nil)).Elem(), DeploymentStreamingResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingInput)(nil)).Elem(), DeploymentStreamingResourceSettingExpertResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingExpertResourceSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecInput)(nil)).Elem(), DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrInput)(nil)).Elem(), DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobLocalVariableInput)(nil)).Elem(), JobLocalVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobLocalVariableArrayInput)(nil)).Elem(), JobLocalVariableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobRestoreStrategyInput)(nil)).Elem(), JobRestoreStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobRestoreStrategyPtrInput)(nil)).Elem(), JobRestoreStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusInput)(nil)).Elem(), JobStatusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusPtrInput)(nil)).Elem(), JobStatusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusFailureInput)(nil)).Elem(), JobStatusFailureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusFailurePtrInput)(nil)).Elem(), JobStatusFailureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusRunningInput)(nil)).Elem(), JobStatusRunningArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobStatusRunningPtrInput)(nil)).Elem(), JobStatusRunningArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceResourceSpecInput)(nil)).Elem(), VvpInstanceResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceResourceSpecPtrInput)(nil)).Elem(), VvpInstanceResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceStorageInput)(nil)).Elem(), VvpInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceStoragePtrInput)(nil)).Elem(), VvpInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceStorageOssInput)(nil)).Elem(), VvpInstanceStorageOssArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VvpInstanceStorageOssPtrInput)(nil)).Elem(), VvpInstanceStorageOssArgs{}) + pulumi.RegisterOutputType(DeploymentArtifactOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactPtrOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactJarArtifactOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactJarArtifactPtrOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactPythonArtifactOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactPythonArtifactPtrOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactSqlArtifactOutput{}) + pulumi.RegisterOutputType(DeploymentArtifactSqlArtifactPtrOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput{}) + pulumi.RegisterOutputType(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput{}) + pulumi.RegisterOutputType(DeploymentDeploymentTargetOutput{}) + pulumi.RegisterOutputType(DeploymentDeploymentTargetPtrOutput{}) + pulumi.RegisterOutputType(DeploymentLocalVariableOutput{}) + pulumi.RegisterOutputType(DeploymentLocalVariableArrayOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingLog4jLoggerOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingLog4jLoggerArrayOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingLogReservePolicyOutput{}) + pulumi.RegisterOutputType(DeploymentLoggingLogReservePolicyPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingExpertResourceSettingOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingExpertResourceSettingPtrOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecOutput{}) + pulumi.RegisterOutputType(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecPtrOutput{}) + pulumi.RegisterOutputType(JobLocalVariableOutput{}) + pulumi.RegisterOutputType(JobLocalVariableArrayOutput{}) + pulumi.RegisterOutputType(JobRestoreStrategyOutput{}) + pulumi.RegisterOutputType(JobRestoreStrategyPtrOutput{}) + pulumi.RegisterOutputType(JobStatusOutput{}) + pulumi.RegisterOutputType(JobStatusPtrOutput{}) + pulumi.RegisterOutputType(JobStatusFailureOutput{}) + pulumi.RegisterOutputType(JobStatusFailurePtrOutput{}) + pulumi.RegisterOutputType(JobStatusRunningOutput{}) + pulumi.RegisterOutputType(JobStatusRunningPtrOutput{}) pulumi.RegisterOutputType(VvpInstanceResourceSpecOutput{}) pulumi.RegisterOutputType(VvpInstanceResourceSpecPtrOutput{}) pulumi.RegisterOutputType(VvpInstanceStorageOutput{}) diff --git a/sdk/go/alicloud/redis/backup.go b/sdk/go/alicloud/redis/backup.go new file mode 100644 index 0000000000..bbc631f016 --- /dev/null +++ b/sdk/go/alicloud/redis/backup.go @@ -0,0 +1,400 @@ +// Code generated by pulumi-language-go 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-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. +// +// Instance level or database level backup objects. +// +// For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). +// +// > **NOTE:** Available since v1.15.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/redis" +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example"; +// if param := cfg.Get("name"); param != ""{ +// name = param +// } +// zoneId := "cn-hangzhou-h"; +// if param := cfg.Get("zoneId"); param != ""{ +// zoneId = param +// } +// _default, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{ +// NameRegex: pulumi.StringRef("^default-NODELETING$"), +// }, nil); +// if err != nil { +// return err +// } +// defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{ +// ZoneId: pulumi.StringRef(zoneId), +// VpcId: pulumi.StringRef(_default.Ids[0]), +// }, nil); +// if err != nil { +// return err +// } +// invokeCidrsubnet, err := std.Cidrsubnet(ctx, &std.CidrsubnetArgs{ +// Input: _default.Vpcs[0].CidrBlock, +// Newbits: 8, +// Netnum: 8, +// }, nil) +// if err != nil { +// return err +// } +// var tmp0 float64 +// if length > 0 { +// tmp0 = 0 +// } else { +// tmp0 = 1 +// } +// var vswitch []*vpc.Switch +// for index := 0; index < float64(len(defaultGetSwitches.Ids).ApplyT(func(length int) (float64, error) { +// return tmp0, nil +// +// }).(pulumi.Float64Output)); index++ { +// key0 := index +// _ := index +// +// __res, err := vpc.NewSwitch(ctx, fmt.Sprintf("vswitch-%v", key0), &vpc.SwitchArgs{ +// VpcId: pulumi.String(_default.Ids[0]), +// CidrBlock: pulumi.String(invokeCidrsubnet.Result), +// ZoneId: pulumi.String(zoneId), +// VswitchName: pulumi.String(name), +// }) +// if err != nil { +// return err +// } +// vswitch = append(vswitch, __res) +// } +// var tmp1 *interface{} +// if length > 0 { +// tmp1 = defaultGetSwitches.Ids[0] +// } else { +// tmp1 = std.Concat(ctx, &std.ConcatArgs{ +// Input: pulumi.StringArrayArray{ +// %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:32,12-25), +// []string{ +// "", +// }, +// }, +// }, nil).Result[0] +// } +// vswitchId := len(defaultGetSwitches.Ids).ApplyT(func(length int) (*interface{}, error) { +// return &tmp1, nil +// }).(pulumi.Interface{}PtrOutput) +// defaultInstance, err := kvstore.NewInstance(ctx, "default", &kvstore.InstanceArgs{ +// Port: pulumi.Int(6379), +// PaymentType: pulumi.String("PrePaid"), +// InstanceType: pulumi.String("Redis"), +// Password: pulumi.String("123456_tf"), +// EngineVersion: pulumi.String("5.0"), +// ZoneId: pulumi.String(zoneId), +// VswitchId: pulumi.Any(vswitchId), +// Period: pulumi.String("1"), +// InstanceClass: pulumi.String("redis.shard.small.2.ce"), +// }) +// if err != nil { +// return err +// } +// _, err = redis.NewBackup(ctx, "default", &redis.BackupArgs{ +// InstanceId: defaultInstance.ID(), +// BackupRetentionPeriod: pulumi.Int(7), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// +// ## Import +// +// Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:redis/backup:Backup example : +// ``` +type Backup struct { + pulumi.CustomResourceState + + // Backup ID. + BackupId pulumi.IntOutput `pulumi:"backupId"` + // The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BackupRetentionPeriod pulumi.IntPtrOutput `pulumi:"backupRetentionPeriod"` + // InstanceId + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Backup status. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewBackup registers a new resource with the given unique name, arguments, and options. +func NewBackup(ctx *pulumi.Context, + name string, args *BackupArgs, opts ...pulumi.ResourceOption) (*Backup, 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 Backup + err := ctx.RegisterResource("alicloud:redis/backup:Backup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBackup gets an existing Backup 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 GetBackup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BackupState, opts ...pulumi.ResourceOption) (*Backup, error) { + var resource Backup + err := ctx.ReadResource("alicloud:redis/backup:Backup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Backup resources. +type backupState struct { + // Backup ID. + BackupId *int `pulumi:"backupId"` + // The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` + // InstanceId + InstanceId *string `pulumi:"instanceId"` + // Backup status. + Status *string `pulumi:"status"` +} + +type BackupState struct { + // Backup ID. + BackupId pulumi.IntPtrInput + // The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BackupRetentionPeriod pulumi.IntPtrInput + // InstanceId + InstanceId pulumi.StringPtrInput + // Backup status. + Status pulumi.StringPtrInput +} + +func (BackupState) ElementType() reflect.Type { + return reflect.TypeOf((*backupState)(nil)).Elem() +} + +type backupArgs struct { + // The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` + // InstanceId + InstanceId string `pulumi:"instanceId"` +} + +// The set of arguments for constructing a Backup resource. +type BackupArgs struct { + // The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + // + // > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + BackupRetentionPeriod pulumi.IntPtrInput + // InstanceId + InstanceId pulumi.StringInput +} + +func (BackupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*backupArgs)(nil)).Elem() +} + +type BackupInput interface { + pulumi.Input + + ToBackupOutput() BackupOutput + ToBackupOutputWithContext(ctx context.Context) BackupOutput +} + +func (*Backup) ElementType() reflect.Type { + return reflect.TypeOf((**Backup)(nil)).Elem() +} + +func (i *Backup) ToBackupOutput() BackupOutput { + return i.ToBackupOutputWithContext(context.Background()) +} + +func (i *Backup) ToBackupOutputWithContext(ctx context.Context) BackupOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupOutput) +} + +// BackupArrayInput is an input type that accepts BackupArray and BackupArrayOutput values. +// You can construct a concrete instance of `BackupArrayInput` via: +// +// BackupArray{ BackupArgs{...} } +type BackupArrayInput interface { + pulumi.Input + + ToBackupArrayOutput() BackupArrayOutput + ToBackupArrayOutputWithContext(context.Context) BackupArrayOutput +} + +type BackupArray []BackupInput + +func (BackupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Backup)(nil)).Elem() +} + +func (i BackupArray) ToBackupArrayOutput() BackupArrayOutput { + return i.ToBackupArrayOutputWithContext(context.Background()) +} + +func (i BackupArray) ToBackupArrayOutputWithContext(ctx context.Context) BackupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupArrayOutput) +} + +// BackupMapInput is an input type that accepts BackupMap and BackupMapOutput values. +// You can construct a concrete instance of `BackupMapInput` via: +// +// BackupMap{ "key": BackupArgs{...} } +type BackupMapInput interface { + pulumi.Input + + ToBackupMapOutput() BackupMapOutput + ToBackupMapOutputWithContext(context.Context) BackupMapOutput +} + +type BackupMap map[string]BackupInput + +func (BackupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Backup)(nil)).Elem() +} + +func (i BackupMap) ToBackupMapOutput() BackupMapOutput { + return i.ToBackupMapOutputWithContext(context.Background()) +} + +func (i BackupMap) ToBackupMapOutputWithContext(ctx context.Context) BackupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupMapOutput) +} + +type BackupOutput struct{ *pulumi.OutputState } + +func (BackupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Backup)(nil)).Elem() +} + +func (o BackupOutput) ToBackupOutput() BackupOutput { + return o +} + +func (o BackupOutput) ToBackupOutputWithContext(ctx context.Context) BackupOutput { + return o +} + +// Backup ID. +func (o BackupOutput) BackupId() pulumi.IntOutput { + return o.ApplyT(func(v *Backup) pulumi.IntOutput { return v.BackupId }).(pulumi.IntOutput) +} + +// The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. +// +// > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. +func (o BackupOutput) BackupRetentionPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Backup) pulumi.IntPtrOutput { return v.BackupRetentionPeriod }).(pulumi.IntPtrOutput) +} + +// InstanceId +func (o BackupOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *Backup) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Backup status. +func (o BackupOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Backup) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type BackupArrayOutput struct{ *pulumi.OutputState } + +func (BackupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Backup)(nil)).Elem() +} + +func (o BackupArrayOutput) ToBackupArrayOutput() BackupArrayOutput { + return o +} + +func (o BackupArrayOutput) ToBackupArrayOutputWithContext(ctx context.Context) BackupArrayOutput { + return o +} + +func (o BackupArrayOutput) Index(i pulumi.IntInput) BackupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Backup { + return vs[0].([]*Backup)[vs[1].(int)] + }).(BackupOutput) +} + +type BackupMapOutput struct{ *pulumi.OutputState } + +func (BackupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Backup)(nil)).Elem() +} + +func (o BackupMapOutput) ToBackupMapOutput() BackupMapOutput { + return o +} + +func (o BackupMapOutput) ToBackupMapOutputWithContext(ctx context.Context) BackupMapOutput { + return o +} + +func (o BackupMapOutput) MapIndex(k pulumi.StringInput) BackupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Backup { + return vs[0].(map[string]*Backup)[vs[1].(string)] + }).(BackupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*BackupInput)(nil)).Elem(), &Backup{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupArrayInput)(nil)).Elem(), BackupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupMapInput)(nil)).Elem(), BackupMap{}) + pulumi.RegisterOutputType(BackupOutput{}) + pulumi.RegisterOutputType(BackupArrayOutput{}) + pulumi.RegisterOutputType(BackupMapOutput{}) +} diff --git a/sdk/go/alicloud/redis/init.go b/sdk/go/alicloud/redis/init.go index aa3e44b22b..cacbdc7c27 100644 --- a/sdk/go/alicloud/redis/init.go +++ b/sdk/go/alicloud/redis/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 "alicloud:redis/backup:Backup": + r = &Backup{} case "alicloud:redis/tairInstance:TairInstance": r = &TairInstance{} default: @@ -36,6 +38,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "alicloud", + "redis/backup", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "redis/tairInstance", diff --git a/sdk/go/alicloud/resourcemanager/account.go b/sdk/go/alicloud/resourcemanager/account.go index 38373a96be..a10a4c06dd 100644 --- a/sdk/go/alicloud/resourcemanager/account.go +++ b/sdk/go/alicloud/resourcemanager/account.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/autoGroupingRule.go b/sdk/go/alicloud/resourcemanager/autoGroupingRule.go index 0a1e8a243b..a9ce48885a 100644 --- a/sdk/go/alicloud/resourcemanager/autoGroupingRule.go +++ b/sdk/go/alicloud/resourcemanager/autoGroupingRule.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Auto Grouping Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/controlPolicy.go b/sdk/go/alicloud/resourcemanager/controlPolicy.go index c45bbe2054..adb58601d7 100644 --- a/sdk/go/alicloud/resourcemanager/controlPolicy.go +++ b/sdk/go/alicloud/resourcemanager/controlPolicy.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Control Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/controlPolicyAttachment.go b/sdk/go/alicloud/resourcemanager/controlPolicyAttachment.go index 17d92ef6bd..a725fe3b2b 100644 --- a/sdk/go/alicloud/resourcemanager/controlPolicyAttachment.go +++ b/sdk/go/alicloud/resourcemanager/controlPolicyAttachment.go @@ -97,6 +97,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Control Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/delegatedAdministrator.go b/sdk/go/alicloud/resourcemanager/delegatedAdministrator.go index 7c779c7ac3..fe09ef7251 100644 --- a/sdk/go/alicloud/resourcemanager/delegatedAdministrator.go +++ b/sdk/go/alicloud/resourcemanager/delegatedAdministrator.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Delegated Administrator can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/deliveryChannel.go b/sdk/go/alicloud/resourcemanager/deliveryChannel.go index f474907118..80978ab768 100644 --- a/sdk/go/alicloud/resourcemanager/deliveryChannel.go +++ b/sdk/go/alicloud/resourcemanager/deliveryChannel.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Delivery Channel can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/folder.go b/sdk/go/alicloud/resourcemanager/folder.go index 2be4592ced..cc68064bbf 100644 --- a/sdk/go/alicloud/resourcemanager/folder.go +++ b/sdk/go/alicloud/resourcemanager/folder.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Folder can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/handshake.go b/sdk/go/alicloud/resourcemanager/handshake.go index 2ace4593a1..a761c29fd3 100644 --- a/sdk/go/alicloud/resourcemanager/handshake.go +++ b/sdk/go/alicloud/resourcemanager/handshake.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Handshake can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/messageContact.go b/sdk/go/alicloud/resourcemanager/messageContact.go index b82e2b3b99..b8b6caf067 100644 --- a/sdk/go/alicloud/resourcemanager/messageContact.go +++ b/sdk/go/alicloud/resourcemanager/messageContact.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Message Contact can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/multiAccountDeliveryChannel.go b/sdk/go/alicloud/resourcemanager/multiAccountDeliveryChannel.go index f5e4e27a3e..5b34d07cfa 100644 --- a/sdk/go/alicloud/resourcemanager/multiAccountDeliveryChannel.go +++ b/sdk/go/alicloud/resourcemanager/multiAccountDeliveryChannel.go @@ -112,6 +112,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/policy.go b/sdk/go/alicloud/resourcemanager/policy.go index 91d161181a..010d7b6fd4 100644 --- a/sdk/go/alicloud/resourcemanager/policy.go +++ b/sdk/go/alicloud/resourcemanager/policy.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/policyAttachment.go b/sdk/go/alicloud/resourcemanager/policyAttachment.go index 3799707f60..3e25d5e081 100644 --- a/sdk/go/alicloud/resourcemanager/policyAttachment.go +++ b/sdk/go/alicloud/resourcemanager/policyAttachment.go @@ -103,6 +103,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/policyVersion.go b/sdk/go/alicloud/resourcemanager/policyVersion.go index b3fc9eef23..9368fbbad0 100644 --- a/sdk/go/alicloud/resourcemanager/policyVersion.go +++ b/sdk/go/alicloud/resourcemanager/policyVersion.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Policy Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/resourceDirectory.go b/sdk/go/alicloud/resourcemanager/resourceDirectory.go index 4b2dda52bf..1811911c05 100644 --- a/sdk/go/alicloud/resourcemanager/resourceDirectory.go +++ b/sdk/go/alicloud/resourcemanager/resourceDirectory.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Resource Directory can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/resourceGroup.go b/sdk/go/alicloud/resourcemanager/resourceGroup.go index 4a1c3e9804..ebb830197f 100644 --- a/sdk/go/alicloud/resourcemanager/resourceGroup.go +++ b/sdk/go/alicloud/resourcemanager/resourceGroup.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Resource Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/resourceShare.go b/sdk/go/alicloud/resourcemanager/resourceShare.go index c483c9a7ed..11de533284 100644 --- a/sdk/go/alicloud/resourcemanager/resourceShare.go +++ b/sdk/go/alicloud/resourcemanager/resourceShare.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Resource Share can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/role.go b/sdk/go/alicloud/resourcemanager/role.go index d1b1ed087f..0c2a8286c8 100644 --- a/sdk/go/alicloud/resourcemanager/role.go +++ b/sdk/go/alicloud/resourcemanager/role.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager can be imported using the id or role_name, e.g. diff --git a/sdk/go/alicloud/resourcemanager/savedQuery.go b/sdk/go/alicloud/resourcemanager/savedQuery.go index 35b545188f..9168fac2de 100644 --- a/sdk/go/alicloud/resourcemanager/savedQuery.go +++ b/sdk/go/alicloud/resourcemanager/savedQuery.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Saved Query can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/serviceLinkedRole.go b/sdk/go/alicloud/resourcemanager/serviceLinkedRole.go index 7831d8d4b8..8fae1b3aec 100644 --- a/sdk/go/alicloud/resourcemanager/serviceLinkedRole.go +++ b/sdk/go/alicloud/resourcemanager/serviceLinkedRole.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Service Linked Role can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/sharedResource.go b/sdk/go/alicloud/resourcemanager/sharedResource.go index a1fba6d0e3..ca5f496d12 100644 --- a/sdk/go/alicloud/resourcemanager/sharedResource.go +++ b/sdk/go/alicloud/resourcemanager/sharedResource.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Shared Resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/resourcemanager/sharedTarget.go b/sdk/go/alicloud/resourcemanager/sharedTarget.go index ed47c2ef5d..ab25848261 100644 --- a/sdk/go/alicloud/resourcemanager/sharedTarget.go +++ b/sdk/go/alicloud/resourcemanager/sharedTarget.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Resource Manager Shared Target can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/account.go b/sdk/go/alicloud/rocketmq/account.go index 5e9a6ca56b..fef90c5eb8 100644 --- a/sdk/go/alicloud/rocketmq/account.go +++ b/sdk/go/alicloud/rocketmq/account.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RocketMQ Account can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/acl.go b/sdk/go/alicloud/rocketmq/acl.go index 43b911a992..f68eaa0a1b 100644 --- a/sdk/go/alicloud/rocketmq/acl.go +++ b/sdk/go/alicloud/rocketmq/acl.go @@ -136,6 +136,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RocketMQ Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/clientUser.go b/sdk/go/alicloud/rocketmq/clientUser.go index 259a275d12..7751eda524 100644 --- a/sdk/go/alicloud/rocketmq/clientUser.go +++ b/sdk/go/alicloud/rocketmq/clientUser.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/go/alicloud/rocketmq/consumerGroup.go b/sdk/go/alicloud/rocketmq/consumerGroup.go index 09afb7f257..4ff1c365b7 100644 --- a/sdk/go/alicloud/rocketmq/consumerGroup.go +++ b/sdk/go/alicloud/rocketmq/consumerGroup.go @@ -128,6 +128,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RocketMQ Consumer Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/dnatEntry.go b/sdk/go/alicloud/rocketmq/dnatEntry.go index 3a263399f4..cc2969e77c 100644 --- a/sdk/go/alicloud/rocketmq/dnatEntry.go +++ b/sdk/go/alicloud/rocketmq/dnatEntry.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/group.go b/sdk/go/alicloud/rocketmq/group.go index 2dc6b030c0..98131f8b02 100644 --- a/sdk/go/alicloud/rocketmq/group.go +++ b/sdk/go/alicloud/rocketmq/group.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ONS GROUP can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/instance.go b/sdk/go/alicloud/rocketmq/instance.go index 6f18a9dd1e..91e73fdb35 100644 --- a/sdk/go/alicloud/rocketmq/instance.go +++ b/sdk/go/alicloud/rocketmq/instance.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ONS INSTANCE can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/qos.go b/sdk/go/alicloud/rocketmq/qos.go index 28e7dea201..579324781d 100644 --- a/sdk/go/alicloud/rocketmq/qos.go +++ b/sdk/go/alicloud/rocketmq/qos.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/qosCar.go b/sdk/go/alicloud/rocketmq/qosCar.go index 14a135531e..34229a78a0 100644 --- a/sdk/go/alicloud/rocketmq/qosCar.go +++ b/sdk/go/alicloud/rocketmq/qosCar.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/qosPolicy.go b/sdk/go/alicloud/rocketmq/qosPolicy.go index e38e620988..9bc7bd6488 100644 --- a/sdk/go/alicloud/rocketmq/qosPolicy.go +++ b/sdk/go/alicloud/rocketmq/qosPolicy.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/rocketMQTopic.go b/sdk/go/alicloud/rocketmq/rocketMQTopic.go index 94a67962e0..0ddd463f1a 100644 --- a/sdk/go/alicloud/rocketmq/rocketMQTopic.go +++ b/sdk/go/alicloud/rocketmq/rocketMQTopic.go @@ -124,6 +124,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // RocketMQ Topic can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/snatEntry.go b/sdk/go/alicloud/rocketmq/snatEntry.go index be18aa7204..e515323a19 100644 --- a/sdk/go/alicloud/rocketmq/snatEntry.go +++ b/sdk/go/alicloud/rocketmq/snatEntry.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/rocketmq/topic.go b/sdk/go/alicloud/rocketmq/topic.go index 7a33a6983f..211d2da6fc 100644 --- a/sdk/go/alicloud/rocketmq/topic.go +++ b/sdk/go/alicloud/rocketmq/topic.go @@ -76,6 +76,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ONS TOPIC can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/changeSet.go b/sdk/go/alicloud/ros/changeSet.go index 84ed6630da..d8d79dd7cd 100644 --- a/sdk/go/alicloud/ros/changeSet.go +++ b/sdk/go/alicloud/ros/changeSet.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Change Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/stack.go b/sdk/go/alicloud/ros/stack.go index c041877a0e..5e68ac10fc 100644 --- a/sdk/go/alicloud/ros/stack.go +++ b/sdk/go/alicloud/ros/stack.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Stack can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/stackGroup.go b/sdk/go/alicloud/ros/stackGroup.go index 426f46187b..cdc77b06fa 100644 --- a/sdk/go/alicloud/ros/stackGroup.go +++ b/sdk/go/alicloud/ros/stackGroup.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Stack Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/stackInstance.go b/sdk/go/alicloud/ros/stackInstance.go index 52423e24b5..5c94399d6f 100644 --- a/sdk/go/alicloud/ros/stackInstance.go +++ b/sdk/go/alicloud/ros/stackInstance.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Stack Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/template.go b/sdk/go/alicloud/ros/template.go index 7f4bb08856..47abfb94fc 100644 --- a/sdk/go/alicloud/ros/template.go +++ b/sdk/go/alicloud/ros/template.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/ros/templateScratch.go b/sdk/go/alicloud/ros/templateScratch.go index a3c83d8e3f..8bd1a5aabf 100644 --- a/sdk/go/alicloud/ros/templateScratch.go +++ b/sdk/go/alicloud/ros/templateScratch.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ROS Template Scratch can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/application.go b/sdk/go/alicloud/sae/application.go index 6d1937efdf..06674dfb61 100644 --- a/sdk/go/alicloud/sae/application.go +++ b/sdk/go/alicloud/sae/application.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) Application can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/applicationScalingRule.go b/sdk/go/alicloud/sae/applicationScalingRule.go index 6501c592c1..7b6606f199 100644 --- a/sdk/go/alicloud/sae/applicationScalingRule.go +++ b/sdk/go/alicloud/sae/applicationScalingRule.go @@ -173,6 +173,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/configMap.go b/sdk/go/alicloud/sae/configMap.go index f5fe97198a..230d4163d3 100644 --- a/sdk/go/alicloud/sae/configMap.go +++ b/sdk/go/alicloud/sae/configMap.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) Config Map can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/greyTagRoute.go b/sdk/go/alicloud/sae/greyTagRoute.go index cb86484a73..2130981ebb 100644 --- a/sdk/go/alicloud/sae/greyTagRoute.go +++ b/sdk/go/alicloud/sae/greyTagRoute.go @@ -160,6 +160,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/ingress.go b/sdk/go/alicloud/sae/ingress.go index 5074cbb541..506d354f0b 100644 --- a/sdk/go/alicloud/sae/ingress.go +++ b/sdk/go/alicloud/sae/ingress.go @@ -150,6 +150,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) Ingress can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/loadBalancerInternet.go b/sdk/go/alicloud/sae/loadBalancerInternet.go index c0e7ae5abe..28bd445487 100644 --- a/sdk/go/alicloud/sae/loadBalancerInternet.go +++ b/sdk/go/alicloud/sae/loadBalancerInternet.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/loadBalancerIntranet.go b/sdk/go/alicloud/sae/loadBalancerIntranet.go index 888c3c26c3..c4f92dfbb3 100644 --- a/sdk/go/alicloud/sae/loadBalancerIntranet.go +++ b/sdk/go/alicloud/sae/loadBalancerIntranet.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The resource can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sae/namespace.go b/sdk/go/alicloud/sae/namespace.go index 210944ea28..faf686e15c 100644 --- a/sdk/go/alicloud/sae/namespace.go +++ b/sdk/go/alicloud/sae/namespace.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Serverless App Engine (SAE) Namespace can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/acl.go b/sdk/go/alicloud/sag/acl.go index 60c0c35da0..0eee995dca 100644 --- a/sdk/go/alicloud/sag/acl.go +++ b/sdk/go/alicloud/sag/acl.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/aclRule.go b/sdk/go/alicloud/sag/aclRule.go index 0a417a9ef9..38e9e9a7be 100644 --- a/sdk/go/alicloud/sag/aclRule.go +++ b/sdk/go/alicloud/sag/aclRule.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Acl Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/clientUser.go b/sdk/go/alicloud/sag/clientUser.go index 7e18739b7b..5989992a1f 100644 --- a/sdk/go/alicloud/sag/clientUser.go +++ b/sdk/go/alicloud/sag/clientUser.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/go/alicloud/sag/dnatEntry.go b/sdk/go/alicloud/sag/dnatEntry.go index 2439f1aa40..b72c98c9d3 100644 --- a/sdk/go/alicloud/sag/dnatEntry.go +++ b/sdk/go/alicloud/sag/dnatEntry.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/qos.go b/sdk/go/alicloud/sag/qos.go index faa5dd3c57..c2b89f5eb3 100644 --- a/sdk/go/alicloud/sag/qos.go +++ b/sdk/go/alicloud/sag/qos.go @@ -47,6 +47,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/qosCar.go b/sdk/go/alicloud/sag/qosCar.go index cc0fec3552..d3bc7ba884 100644 --- a/sdk/go/alicloud/sag/qosCar.go +++ b/sdk/go/alicloud/sag/qosCar.go @@ -67,6 +67,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/qosPolicy.go b/sdk/go/alicloud/sag/qosPolicy.go index 704ff2b0af..f7e4fb019f 100644 --- a/sdk/go/alicloud/sag/qosPolicy.go +++ b/sdk/go/alicloud/sag/qosPolicy.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/smartagFlowLog.go b/sdk/go/alicloud/sag/smartagFlowLog.go index a0cd431007..fbc58f56e2 100644 --- a/sdk/go/alicloud/sag/smartagFlowLog.go +++ b/sdk/go/alicloud/sag/smartagFlowLog.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Smartag Flow Log can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sag/snatEntry.go b/sdk/go/alicloud/sag/snatEntry.go index 31e15f958a..684ccf5f65 100644 --- a/sdk/go/alicloud/sag/snatEntry.go +++ b/sdk/go/alicloud/sag/snatEntry.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/scdn/domain.go b/sdk/go/alicloud/scdn/domain.go index d5116cca09..2543e3d7f7 100644 --- a/sdk/go/alicloud/scdn/domain.go +++ b/sdk/go/alicloud/scdn/domain.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SCDN Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/scdn/domainConfig.go b/sdk/go/alicloud/scdn/domainConfig.go index 9594d2312c..ca3ea8c8c2 100644 --- a/sdk/go/alicloud/scdn/domainConfig.go +++ b/sdk/go/alicloud/scdn/domainConfig.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SCDN domain config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/schedulerx/appGroup.go b/sdk/go/alicloud/schedulerx/appGroup.go index cbfdd70ca8..75fedaeac6 100644 --- a/sdk/go/alicloud/schedulerx/appGroup.go +++ b/sdk/go/alicloud/schedulerx/appGroup.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Schedulerx App Group can be imported using the id, e.g. @@ -112,7 +114,7 @@ type AppGroup struct { // - 2, k8s application. AppType pulumi.IntPtrOutput `pulumi:"appType"` // Application Version, 1: Basic Edition, 2: Professional Edition - AppVersion pulumi.StringPtrOutput `pulumi:"appVersion"` + AppVersion pulumi.StringOutput `pulumi:"appVersion"` // Whether to delete the task in the application Group. The values are as follows: DeleteJobs pulumi.BoolPtrOutput `pulumi:"deleteJobs"` // Application Description @@ -126,7 +128,7 @@ type AppGroup struct { // The maximum number of instances running at the same time. The default value is 1, that is, the last trigger is not completed, and the next trigger will not be performed even at the running time. MaxConcurrency pulumi.IntPtrOutput `pulumi:"maxConcurrency"` // Application Grouping Configurable Maximum Number of Tasks - MaxJobs pulumi.IntPtrOutput `pulumi:"maxJobs"` + MaxJobs pulumi.IntOutput `pulumi:"maxJobs"` // Alarm configuration JSON field. For more information about this field, see **Request Parameters * *. MonitorConfigJson pulumi.StringPtrOutput `pulumi:"monitorConfigJson"` // Alarm contact JSON format. @@ -435,8 +437,8 @@ func (o AppGroupOutput) AppType() pulumi.IntPtrOutput { } // Application Version, 1: Basic Edition, 2: Professional Edition -func (o AppGroupOutput) AppVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppGroup) pulumi.StringPtrOutput { return v.AppVersion }).(pulumi.StringPtrOutput) +func (o AppGroupOutput) AppVersion() pulumi.StringOutput { + return o.ApplyT(func(v *AppGroup) pulumi.StringOutput { return v.AppVersion }).(pulumi.StringOutput) } // Whether to delete the task in the application Group. The values are as follows: @@ -467,8 +469,8 @@ func (o AppGroupOutput) MaxConcurrency() pulumi.IntPtrOutput { } // Application Grouping Configurable Maximum Number of Tasks -func (o AppGroupOutput) MaxJobs() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppGroup) pulumi.IntPtrOutput { return v.MaxJobs }).(pulumi.IntPtrOutput) +func (o AppGroupOutput) MaxJobs() pulumi.IntOutput { + return o.ApplyT(func(v *AppGroup) pulumi.IntOutput { return v.MaxJobs }).(pulumi.IntOutput) } // Alarm configuration JSON field. For more information about this field, see **Request Parameters * *. diff --git a/sdk/go/alicloud/schedulerx/job.go b/sdk/go/alicloud/schedulerx/job.go index 4adab1c4e4..31a1954b49 100644 --- a/sdk/go/alicloud/schedulerx/job.go +++ b/sdk/go/alicloud/schedulerx/job.go @@ -153,6 +153,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Schedulerx Job can be imported using the id, e.g. diff --git a/sdk/go/alicloud/schedulerx/namespace.go b/sdk/go/alicloud/schedulerx/namespace.go index 785732a99a..cacb0da426 100644 --- a/sdk/go/alicloud/schedulerx/namespace.go +++ b/sdk/go/alicloud/schedulerx/namespace.go @@ -12,6 +12,49 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Provides a Schedulerx Namespace resource. +// +// For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). +// +// > **NOTE:** Available since v1.173.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/schedulerx" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// name := "terraform-example" +// if param := cfg.Get("name"); param != "" { +// name = param +// } +// _, err := schedulerx.NewNamespace(ctx, "default", &schedulerx.NamespaceArgs{ +// NamespaceName: pulumi.String(name), +// Description: pulumi.String(name), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Schedulerx Namespace can be imported using the id, e.g. @@ -26,7 +69,7 @@ type Namespace struct { Description pulumi.StringPtrOutput `pulumi:"description"` // Namespace name. NamespaceName pulumi.StringOutput `pulumi:"namespaceName"` - // Namespace uid. + // namespace uid NamespaceUid pulumi.StringOutput `pulumi:"namespaceUid"` } @@ -67,7 +110,7 @@ type namespaceState struct { Description *string `pulumi:"description"` // Namespace name. NamespaceName *string `pulumi:"namespaceName"` - // Namespace uid. + // namespace uid NamespaceUid *string `pulumi:"namespaceUid"` } @@ -76,7 +119,7 @@ type NamespaceState struct { Description pulumi.StringPtrInput // Namespace name. NamespaceName pulumi.StringPtrInput - // Namespace uid. + // namespace uid NamespaceUid pulumi.StringPtrInput } @@ -89,7 +132,7 @@ type namespaceArgs struct { Description *string `pulumi:"description"` // Namespace name. NamespaceName string `pulumi:"namespaceName"` - // Namespace uid. + // namespace uid NamespaceUid *string `pulumi:"namespaceUid"` } @@ -99,7 +142,7 @@ type NamespaceArgs struct { Description pulumi.StringPtrInput // Namespace name. NamespaceName pulumi.StringInput - // Namespace uid. + // namespace uid NamespaceUid pulumi.StringPtrInput } @@ -200,7 +243,7 @@ func (o NamespaceOutput) NamespaceName() pulumi.StringOutput { return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.NamespaceName }).(pulumi.StringOutput) } -// Namespace uid. +// namespace uid func (o NamespaceOutput) NamespaceUid() pulumi.StringOutput { return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.NamespaceUid }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/sddp/config.go b/sdk/go/alicloud/sddp/config.go index 1d2c63131c..c23e9bea68 100644 --- a/sdk/go/alicloud/sddp/config.go +++ b/sdk/go/alicloud/sddp/config.go @@ -46,6 +46,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Security Center Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sddp/dataLimit.go b/sdk/go/alicloud/sddp/dataLimit.go index b2dced4415..d015a62f7f 100644 --- a/sdk/go/alicloud/sddp/dataLimit.go +++ b/sdk/go/alicloud/sddp/dataLimit.go @@ -165,6 +165,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Security Center Data Limit can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sddp/instance.go b/sdk/go/alicloud/sddp/instance.go index eae46651cb..ac405cb3fe 100644 --- a/sdk/go/alicloud/sddp/instance.go +++ b/sdk/go/alicloud/sddp/instance.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Security Center Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sddp/rule.go b/sdk/go/alicloud/sddp/rule.go index bc6af743c7..b0ee55974c 100644 --- a/sdk/go/alicloud/sddp/rule.go +++ b/sdk/go/alicloud/sddp/rule.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Data Security Center Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/securitycenter/group.go b/sdk/go/alicloud/securitycenter/group.go index 96575c19c5..6f6ed1384f 100644 --- a/sdk/go/alicloud/securitycenter/group.go +++ b/sdk/go/alicloud/securitycenter/group.go @@ -51,6 +51,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Security Center Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/securitycenter/serviceLinkedRole.go b/sdk/go/alicloud/securitycenter/serviceLinkedRole.go index c8f223fc44..20786340b4 100644 --- a/sdk/go/alicloud/securitycenter/serviceLinkedRole.go +++ b/sdk/go/alicloud/securitycenter/serviceLinkedRole.go @@ -43,6 +43,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/go/alicloud/selectdb/dbCluster.go b/sdk/go/alicloud/selectdb/dbCluster.go index 426a58ee6d..2af608b71e 100644 --- a/sdk/go/alicloud/selectdb/dbCluster.go +++ b/sdk/go/alicloud/selectdb/dbCluster.go @@ -90,6 +90,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SelectDB DBCluster can be imported using the id, e.g. diff --git a/sdk/go/alicloud/selectdb/dbInstance.go b/sdk/go/alicloud/selectdb/dbInstance.go index 7d1032dde4..5be6bd497a 100644 --- a/sdk/go/alicloud/selectdb/dbInstance.go +++ b/sdk/go/alicloud/selectdb/dbInstance.go @@ -80,6 +80,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SelectDB DBInstance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/portfolio.go b/sdk/go/alicloud/servicecatalog/portfolio.go index 904f889a22..31aea3d7b4 100644 --- a/sdk/go/alicloud/servicecatalog/portfolio.go +++ b/sdk/go/alicloud/servicecatalog/portfolio.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Portfolio can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/principalPortfolioAssociation.go b/sdk/go/alicloud/servicecatalog/principalPortfolioAssociation.go index b96db474b5..9bbcc02397 100644 --- a/sdk/go/alicloud/servicecatalog/principalPortfolioAssociation.go +++ b/sdk/go/alicloud/servicecatalog/principalPortfolioAssociation.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Principal Portfolio Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/product.go b/sdk/go/alicloud/servicecatalog/product.go index 2e9e5945d9..2f74ded191 100644 --- a/sdk/go/alicloud/servicecatalog/product.go +++ b/sdk/go/alicloud/servicecatalog/product.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Product can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/productPortfolioAssociation.go b/sdk/go/alicloud/servicecatalog/productPortfolioAssociation.go index c2841d5533..5bdbfc0de2 100644 --- a/sdk/go/alicloud/servicecatalog/productPortfolioAssociation.go +++ b/sdk/go/alicloud/servicecatalog/productPortfolioAssociation.go @@ -81,6 +81,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Product Portfolio Association can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/productVersion.go b/sdk/go/alicloud/servicecatalog/productVersion.go index a1daae2dfc..38cdca7b0a 100644 --- a/sdk/go/alicloud/servicecatalog/productVersion.go +++ b/sdk/go/alicloud/servicecatalog/productVersion.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Product Version can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicecatalog/provisionedProduct.go b/sdk/go/alicloud/servicecatalog/provisionedProduct.go index 97109b0d43..9e5e294673 100644 --- a/sdk/go/alicloud/servicecatalog/provisionedProduct.go +++ b/sdk/go/alicloud/servicecatalog/provisionedProduct.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Catalog Provisioned Product can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicemesh/extensionProvider.go b/sdk/go/alicloud/servicemesh/extensionProvider.go index 0ff0842327..8568ba08e6 100644 --- a/sdk/go/alicloud/servicemesh/extensionProvider.go +++ b/sdk/go/alicloud/servicemesh/extensionProvider.go @@ -184,6 +184,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Mesh Extension Provider can be imported using the id, e.g. diff --git a/sdk/go/alicloud/servicemesh/userPermission.go b/sdk/go/alicloud/servicemesh/userPermission.go index aba3ffd5e6..23fdb55427 100644 --- a/sdk/go/alicloud/servicemesh/userPermission.go +++ b/sdk/go/alicloud/servicemesh/userPermission.go @@ -123,6 +123,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Service Mesh User Permission can be imported using the id, e.g. diff --git a/sdk/go/alicloud/simpleapplicationserver/customImage.go b/sdk/go/alicloud/simpleapplicationserver/customImage.go index f3d519f389..c801e38b55 100644 --- a/sdk/go/alicloud/simpleapplicationserver/customImage.go +++ b/sdk/go/alicloud/simpleapplicationserver/customImage.go @@ -87,6 +87,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Simple Application Server Custom Image can be imported using the id, e.g. diff --git a/sdk/go/alicloud/simpleapplicationserver/firewallRule.go b/sdk/go/alicloud/simpleapplicationserver/firewallRule.go index 7b03394457..f434d884e9 100644 --- a/sdk/go/alicloud/simpleapplicationserver/firewallRule.go +++ b/sdk/go/alicloud/simpleapplicationserver/firewallRule.go @@ -74,6 +74,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Simple Application Server Firewall Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/simpleapplicationserver/snapshot.go b/sdk/go/alicloud/simpleapplicationserver/snapshot.go index 026f692cfc..6e83ccfd42 100644 --- a/sdk/go/alicloud/simpleapplicationserver/snapshot.go +++ b/sdk/go/alicloud/simpleapplicationserver/snapshot.go @@ -91,6 +91,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Simple Application Server Snapshot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/acl.go b/sdk/go/alicloud/slb/acl.go index cfa6ef7ff3..5a837ea63f 100644 --- a/sdk/go/alicloud/slb/acl.go +++ b/sdk/go/alicloud/slb/acl.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Entry Block // // The entry mapping supports the following: diff --git a/sdk/go/alicloud/slb/aclEntryAttachment.go b/sdk/go/alicloud/slb/aclEntryAttachment.go index 606f7e2358..5335a4914f 100644 --- a/sdk/go/alicloud/slb/aclEntryAttachment.go +++ b/sdk/go/alicloud/slb/aclEntryAttachment.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/attachment.go b/sdk/go/alicloud/slb/attachment.go index defb4a178c..50c0a65e50 100644 --- a/sdk/go/alicloud/slb/attachment.go +++ b/sdk/go/alicloud/slb/attachment.go @@ -124,6 +124,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load balancer attachment can be imported using the id or load balancer id, e.g. diff --git a/sdk/go/alicloud/slb/domainExtension.go b/sdk/go/alicloud/slb/domainExtension.go index 79d70bd32c..8fe937d43a 100644 --- a/sdk/go/alicloud/slb/domainExtension.go +++ b/sdk/go/alicloud/slb/domainExtension.go @@ -167,6 +167,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load balancer domain_extension can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/listener.go b/sdk/go/alicloud/slb/listener.go index f5bb3c8b8d..ff28cdec04 100644 --- a/sdk/go/alicloud/slb/listener.go +++ b/sdk/go/alicloud/slb/listener.go @@ -129,6 +129,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/loadBalancer.go b/sdk/go/alicloud/slb/loadBalancer.go index aabe3bed53..4505782828 100644 --- a/sdk/go/alicloud/slb/loadBalancer.go +++ b/sdk/go/alicloud/slb/loadBalancer.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load balancer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/masterSlaveServerGroup.go b/sdk/go/alicloud/slb/masterSlaveServerGroup.go index b1cb5e3b33..e97ffa8a34 100644 --- a/sdk/go/alicloud/slb/masterSlaveServerGroup.go +++ b/sdk/go/alicloud/slb/masterSlaveServerGroup.go @@ -193,6 +193,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load balancer master slave server group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/rule.go b/sdk/go/alicloud/slb/rule.go index 9840a09e2c..971ba2dbe8 100644 --- a/sdk/go/alicloud/slb/rule.go +++ b/sdk/go/alicloud/slb/rule.go @@ -175,6 +175,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load balancer forwarding rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/serverGroup.go b/sdk/go/alicloud/slb/serverGroup.go index 05cd71ef9e..ff0cea5867 100644 --- a/sdk/go/alicloud/slb/serverGroup.go +++ b/sdk/go/alicloud/slb/serverGroup.go @@ -95,6 +95,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load Balancer Virtual Backend Server Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/serverGroupServerAttachment.go b/sdk/go/alicloud/slb/serverGroupServerAttachment.go index 7ec7f16ddf..f3176701d6 100644 --- a/sdk/go/alicloud/slb/serverGroupServerAttachment.go +++ b/sdk/go/alicloud/slb/serverGroupServerAttachment.go @@ -137,6 +137,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/slb/tlsCipherPolicy.go b/sdk/go/alicloud/slb/tlsCipherPolicy.go index af1f2cee6c..671b4c1780 100644 --- a/sdk/go/alicloud/slb/tlsCipherPolicy.go +++ b/sdk/go/alicloud/slb/tlsCipherPolicy.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SLB Tls Cipher Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/alert.go b/sdk/go/alicloud/sls/alert.go index 2b15ca6b66..9bf750a76d 100644 --- a/sdk/go/alicloud/sls/alert.go +++ b/sdk/go/alicloud/sls/alert.go @@ -206,6 +206,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SLS Alert can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/collectionPolicy.go b/sdk/go/alicloud/sls/collectionPolicy.go index 6172922568..d9b3c75168 100644 --- a/sdk/go/alicloud/sls/collectionPolicy.go +++ b/sdk/go/alicloud/sls/collectionPolicy.go @@ -302,6 +302,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SLS Collection Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/etl.go b/sdk/go/alicloud/sls/etl.go index 4a248ce819..aa9902eaee 100644 --- a/sdk/go/alicloud/sls/etl.go +++ b/sdk/go/alicloud/sls/etl.go @@ -93,6 +93,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Service (SLS) Etl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/index.go b/sdk/go/alicloud/sls/index.go index 0f62cb14ef..670d5fa75a 100644 --- a/sdk/go/alicloud/sls/index.go +++ b/sdk/go/alicloud/sls/index.go @@ -126,6 +126,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Service (SLS) Index can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/logtailConfig.go b/sdk/go/alicloud/sls/logtailConfig.go index 8805f2f3b2..29bdf30014 100644 --- a/sdk/go/alicloud/sls/logtailConfig.go +++ b/sdk/go/alicloud/sls/logtailConfig.go @@ -126,6 +126,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Service (SLS) Logtail Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/machineGroup.go b/sdk/go/alicloud/sls/machineGroup.go index e1afe254e4..bd168388c1 100644 --- a/sdk/go/alicloud/sls/machineGroup.go +++ b/sdk/go/alicloud/sls/machineGroup.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Service (SLS) Machine Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/ossExportSink.go b/sdk/go/alicloud/sls/ossExportSink.go index 52ba9c229f..8ac0536364 100644 --- a/sdk/go/alicloud/sls/ossExportSink.go +++ b/sdk/go/alicloud/sls/ossExportSink.go @@ -147,6 +147,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Log Service (SLS) Oss Export Sink can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sls/scheduledSql.go b/sdk/go/alicloud/sls/scheduledSql.go index 8bd354b787..6ac10f18e0 100644 --- a/sdk/go/alicloud/sls/scheduledSql.go +++ b/sdk/go/alicloud/sls/scheduledSql.go @@ -107,6 +107,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SLS Scheduled SQL can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sms/shortUrl.go b/sdk/go/alicloud/sms/shortUrl.go index 59b57874a2..ecbb589fdd 100644 --- a/sdk/go/alicloud/sms/shortUrl.go +++ b/sdk/go/alicloud/sms/shortUrl.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SMS Short Url can be imported using the id, e.g. diff --git a/sdk/go/alicloud/sslcertificatesservice/pcaCertificate.go b/sdk/go/alicloud/sslcertificatesservice/pcaCertificate.go index d230ec4a87..144a70b554 100644 --- a/sdk/go/alicloud/sslcertificatesservice/pcaCertificate.go +++ b/sdk/go/alicloud/sslcertificatesservice/pcaCertificate.go @@ -53,6 +53,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -72,7 +74,8 @@ type PcaCertificate struct { // - `ECC_512`: The signature algorithm is Sha256WithECDSA. // - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. // The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. - Algorithm pulumi.StringOutput `pulumi:"algorithm"` + Algorithm pulumi.StringOutput `pulumi:"algorithm"` + AliasName pulumi.StringPtrOutput `pulumi:"aliasName"` // The common name or abbreviation of the organization. Support the use of Chinese, English characters. CommonName pulumi.StringOutput `pulumi:"commonName"` // The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. @@ -83,11 +86,14 @@ type PcaCertificate struct { Organization pulumi.StringOutput `pulumi:"organization"` // The name of the department or branch under the organization. Support the use of Chinese, English characters. OrganizationUnit pulumi.StringOutput `pulumi:"organizationUnit"` + // A resource property field representing the resource group. + ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"` // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - // Name of the province or state where the organization is located. Support the use of Chinese, English characters. State pulumi.StringOutput `pulumi:"state"` // The status of the CA certificate. Status pulumi.StringOutput `pulumi:"status"` + // The tag of the resource. + Tags pulumi.StringMapOutput `pulumi:"tags"` // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. Years pulumi.IntOutput `pulumi:"years"` @@ -151,6 +157,7 @@ type pcaCertificateState struct { // - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. // The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. Algorithm *string `pulumi:"algorithm"` + AliasName *string `pulumi:"aliasName"` // The common name or abbreviation of the organization. Support the use of Chinese, English characters. CommonName *string `pulumi:"commonName"` // The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. @@ -161,11 +168,14 @@ type pcaCertificateState struct { Organization *string `pulumi:"organization"` // The name of the department or branch under the organization. Support the use of Chinese, English characters. OrganizationUnit *string `pulumi:"organizationUnit"` + // A resource property field representing the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - // Name of the province or state where the organization is located. Support the use of Chinese, English characters. State *string `pulumi:"state"` // The status of the CA certificate. Status *string `pulumi:"status"` + // The tag of the resource. + Tags map[string]string `pulumi:"tags"` // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. Years *int `pulumi:"years"` @@ -182,6 +192,7 @@ type PcaCertificateState struct { // - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. // The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. Algorithm pulumi.StringPtrInput + AliasName pulumi.StringPtrInput // The common name or abbreviation of the organization. Support the use of Chinese, English characters. CommonName pulumi.StringPtrInput // The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. @@ -192,11 +203,14 @@ type PcaCertificateState struct { Organization pulumi.StringPtrInput // The name of the department or branch under the organization. Support the use of Chinese, English characters. OrganizationUnit pulumi.StringPtrInput + // A resource property field representing the resource group. + ResourceGroupId pulumi.StringPtrInput // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - // Name of the province or state where the organization is located. Support the use of Chinese, English characters. State pulumi.StringPtrInput // The status of the CA certificate. Status pulumi.StringPtrInput + // The tag of the resource. + Tags pulumi.StringMapInput // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. Years pulumi.IntPtrInput @@ -217,6 +231,7 @@ type pcaCertificateArgs struct { // - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. // The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. Algorithm *string `pulumi:"algorithm"` + AliasName *string `pulumi:"aliasName"` // The common name or abbreviation of the organization. Support the use of Chinese, English characters. CommonName string `pulumi:"commonName"` // The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. @@ -227,9 +242,12 @@ type pcaCertificateArgs struct { Organization string `pulumi:"organization"` // The name of the department or branch under the organization. Support the use of Chinese, English characters. OrganizationUnit string `pulumi:"organizationUnit"` + // A resource property field representing the resource group. + ResourceGroupId *string `pulumi:"resourceGroupId"` // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - // Name of the province or state where the organization is located. Support the use of Chinese, English characters. State string `pulumi:"state"` + // The tag of the resource. + Tags map[string]string `pulumi:"tags"` // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. Years int `pulumi:"years"` @@ -247,6 +265,7 @@ type PcaCertificateArgs struct { // - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. // The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. Algorithm pulumi.StringPtrInput + AliasName pulumi.StringPtrInput // The common name or abbreviation of the organization. Support the use of Chinese, English characters. CommonName pulumi.StringInput // The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. @@ -257,9 +276,12 @@ type PcaCertificateArgs struct { Organization pulumi.StringInput // The name of the department or branch under the organization. Support the use of Chinese, English characters. OrganizationUnit pulumi.StringInput + // A resource property field representing the resource group. + ResourceGroupId pulumi.StringPtrInput // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - // Name of the province or state where the organization is located. Support the use of Chinese, English characters. State pulumi.StringInput + // The tag of the resource. + Tags pulumi.StringMapInput // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. Years pulumi.IntInput @@ -365,6 +387,10 @@ func (o PcaCertificateOutput) Algorithm() pulumi.StringOutput { return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.Algorithm }).(pulumi.StringOutput) } +func (o PcaCertificateOutput) AliasName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PcaCertificate) pulumi.StringPtrOutput { return v.AliasName }).(pulumi.StringPtrOutput) +} + // The common name or abbreviation of the organization. Support the use of Chinese, English characters. func (o PcaCertificateOutput) CommonName() pulumi.StringOutput { return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.CommonName }).(pulumi.StringOutput) @@ -390,8 +416,12 @@ func (o PcaCertificateOutput) OrganizationUnit() pulumi.StringOutput { return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.OrganizationUnit }).(pulumi.StringOutput) } +// A resource property field representing the resource group. +func (o PcaCertificateOutput) ResourceGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.ResourceGroupId }).(pulumi.StringOutput) +} + // The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. -// Name of the province or state where the organization is located. Support the use of Chinese, English characters. func (o PcaCertificateOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) } @@ -401,6 +431,11 @@ func (o PcaCertificateOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *PcaCertificate) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } +// The tag of the resource. +func (o PcaCertificateOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *PcaCertificate) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + // The validity period of the root CA certificate, in years. // > **NOTE:** It is recommended to set to `5` to `10` years. func (o PcaCertificateOutput) Years() pulumi.IntOutput { diff --git a/sdk/go/alicloud/starRocksInstance.go b/sdk/go/alicloud/starRocksInstance.go index a9befc19be..0975f879eb 100644 --- a/sdk/go/alicloud/starRocksInstance.go +++ b/sdk/go/alicloud/starRocksInstance.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/starrocks/instance.go b/sdk/go/alicloud/starrocks/instance.go index 13e8c3e331..ba5bb194c8 100644 --- a/sdk/go/alicloud/starrocks/instance.go +++ b/sdk/go/alicloud/starrocks/instance.go @@ -131,6 +131,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/starrocks/nodeGroup.go b/sdk/go/alicloud/starrocks/nodeGroup.go index 747256b056..1a081df38a 100644 --- a/sdk/go/alicloud/starrocks/nodeGroup.go +++ b/sdk/go/alicloud/starrocks/nodeGroup.go @@ -126,6 +126,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Star Rocks Node Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/tag/associatedRule.go b/sdk/go/alicloud/tag/associatedRule.go index fcbe81d281..cf70f6e825 100644 --- a/sdk/go/alicloud/tag/associatedRule.go +++ b/sdk/go/alicloud/tag/associatedRule.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // TAG Associated Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/tag/metaTag.go b/sdk/go/alicloud/tag/metaTag.go index eadea6ae71..cbc69bf8b1 100644 --- a/sdk/go/alicloud/tag/metaTag.go +++ b/sdk/go/alicloud/tag/metaTag.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tag Meta Tag can be imported using the id, e.g. diff --git a/sdk/go/alicloud/tag/policy.go b/sdk/go/alicloud/tag/policy.go index 441654a5b0..67bd8b3a16 100644 --- a/sdk/go/alicloud/tag/policy.go +++ b/sdk/go/alicloud/tag/policy.go @@ -55,6 +55,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // TAG Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/tag/policyAttachment.go b/sdk/go/alicloud/tag/policyAttachment.go index 4d5245dec8..811f99c6dd 100644 --- a/sdk/go/alicloud/tag/policyAttachment.go +++ b/sdk/go/alicloud/tag/policyAttachment.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Tag Policy Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/antiBruteForceRule.go b/sdk/go/alicloud/threatdetection/antiBruteForceRule.go index 471caddcd9..91b5821f35 100644 --- a/sdk/go/alicloud/threatdetection/antiBruteForceRule.go +++ b/sdk/go/alicloud/threatdetection/antiBruteForceRule.go @@ -54,6 +54,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Anti Brute Force Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/attackPathSensitiveAssetConfig.go b/sdk/go/alicloud/threatdetection/attackPathSensitiveAssetConfig.go index aaa3ec77a8..248dbbb9ec 100644 --- a/sdk/go/alicloud/threatdetection/attackPathSensitiveAssetConfig.go +++ b/sdk/go/alicloud/threatdetection/attackPathSensitiveAssetConfig.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/backupPolicy.go b/sdk/go/alicloud/threatdetection/backupPolicy.go index 18c55f1d68..c84698a15b 100644 --- a/sdk/go/alicloud/threatdetection/backupPolicy.go +++ b/sdk/go/alicloud/threatdetection/backupPolicy.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Backup Policy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/baselineStrategy.go b/sdk/go/alicloud/threatdetection/baselineStrategy.go index a242b670ca..df4b23b5ff 100644 --- a/sdk/go/alicloud/threatdetection/baselineStrategy.go +++ b/sdk/go/alicloud/threatdetection/baselineStrategy.go @@ -52,6 +52,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Baseline Strategy can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/checkConfig.go b/sdk/go/alicloud/threatdetection/checkConfig.go new file mode 100644 index 0000000000..54c2318b65 --- /dev/null +++ b/sdk/go/alicloud/threatdetection/checkConfig.go @@ -0,0 +1,440 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package threatdetection + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Threat Detection Check Config resource. +// +// CSPM Risk Overview Policy Management. +// +// For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). +// +// > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// # Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := threatdetection.NewCheckConfig(ctx, "default", &threatdetection.CheckConfigArgs{ +// EndTime: pulumi.Int(18), +// EnableAutoCheck: pulumi.Bool(true), +// Vendors: pulumi.StringArray{ +// pulumi.String("ALIYUN"), +// }, +// CycleDays: pulumi.IntArray{ +// pulumi.Int(7), +// pulumi.Int(1), +// pulumi.Int(2), +// }, +// EnableAddCheck: pulumi.Bool(true), +// StartTime: pulumi.Int(12), +// Configure: pulumi.String("not"), +// SystemConfig: pulumi.Bool(false), +// SelectedChecks: threatdetection.CheckConfigSelectedCheckArray{ +// &threatdetection.CheckConfigSelectedCheckArgs{ +// CheckId: pulumi.Int(370), +// SectionId: pulumi.Int(515), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Threat Detection Check Config can be imported using the id, e.g. +// +// ```sh +// $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example +// ``` +type CheckConfig struct { + pulumi.CustomResourceState + + // The configuration of the check item. Valid value: + Configure pulumi.StringPtrOutput `pulumi:"configure"` + // Cycle detection time. + CycleDays pulumi.IntArrayOutput `pulumi:"cycleDays"` + // Whether to check by default when there are new check items in the selected regulation. Values available: + // - **true:** On + // - **false:** off + EnableAddCheck pulumi.BoolPtrOutput `pulumi:"enableAddCheck"` + // Whether automatic cycle detection is enabled. Values available: + // - **true:** On + // - **false:** off + EnableAutoCheck pulumi.BoolPtrOutput `pulumi:"enableAutoCheck"` + // Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + // - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + // - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + // - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + // - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + EndTime pulumi.IntPtrOutput `pulumi:"endTime"` + // The check items selected in the policy. See `selectedChecks` below. + SelectedChecks CheckConfigSelectedCheckArrayOutput `pulumi:"selectedChecks"` + // The start time of the check. The value specifies a point in time in a day. + StartTime pulumi.IntPtrOutput `pulumi:"startTime"` + // Specifies whether to use the configuration automatically generated by the system. Valid values: + SystemConfig pulumi.BoolPtrOutput `pulumi:"systemConfig"` + Vendors pulumi.StringArrayOutput `pulumi:"vendors"` +} + +// NewCheckConfig registers a new resource with the given unique name, arguments, and options. +func NewCheckConfig(ctx *pulumi.Context, + name string, args *CheckConfigArgs, opts ...pulumi.ResourceOption) (*CheckConfig, error) { + if args == nil { + args = &CheckConfigArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource CheckConfig + err := ctx.RegisterResource("alicloud:threatdetection/checkConfig:CheckConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCheckConfig gets an existing CheckConfig 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 GetCheckConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CheckConfigState, opts ...pulumi.ResourceOption) (*CheckConfig, error) { + var resource CheckConfig + err := ctx.ReadResource("alicloud:threatdetection/checkConfig:CheckConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CheckConfig resources. +type checkConfigState struct { + // The configuration of the check item. Valid value: + Configure *string `pulumi:"configure"` + // Cycle detection time. + CycleDays []int `pulumi:"cycleDays"` + // Whether to check by default when there are new check items in the selected regulation. Values available: + // - **true:** On + // - **false:** off + EnableAddCheck *bool `pulumi:"enableAddCheck"` + // Whether automatic cycle detection is enabled. Values available: + // - **true:** On + // - **false:** off + EnableAutoCheck *bool `pulumi:"enableAutoCheck"` + // Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + // - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + // - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + // - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + // - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + EndTime *int `pulumi:"endTime"` + // The check items selected in the policy. See `selectedChecks` below. + SelectedChecks []CheckConfigSelectedCheck `pulumi:"selectedChecks"` + // The start time of the check. The value specifies a point in time in a day. + StartTime *int `pulumi:"startTime"` + // Specifies whether to use the configuration automatically generated by the system. Valid values: + SystemConfig *bool `pulumi:"systemConfig"` + Vendors []string `pulumi:"vendors"` +} + +type CheckConfigState struct { + // The configuration of the check item. Valid value: + Configure pulumi.StringPtrInput + // Cycle detection time. + CycleDays pulumi.IntArrayInput + // Whether to check by default when there are new check items in the selected regulation. Values available: + // - **true:** On + // - **false:** off + EnableAddCheck pulumi.BoolPtrInput + // Whether automatic cycle detection is enabled. Values available: + // - **true:** On + // - **false:** off + EnableAutoCheck pulumi.BoolPtrInput + // Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + // - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + // - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + // - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + // - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + EndTime pulumi.IntPtrInput + // The check items selected in the policy. See `selectedChecks` below. + SelectedChecks CheckConfigSelectedCheckArrayInput + // The start time of the check. The value specifies a point in time in a day. + StartTime pulumi.IntPtrInput + // Specifies whether to use the configuration automatically generated by the system. Valid values: + SystemConfig pulumi.BoolPtrInput + Vendors pulumi.StringArrayInput +} + +func (CheckConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*checkConfigState)(nil)).Elem() +} + +type checkConfigArgs struct { + // The configuration of the check item. Valid value: + Configure *string `pulumi:"configure"` + // Cycle detection time. + CycleDays []int `pulumi:"cycleDays"` + // Whether to check by default when there are new check items in the selected regulation. Values available: + // - **true:** On + // - **false:** off + EnableAddCheck *bool `pulumi:"enableAddCheck"` + // Whether automatic cycle detection is enabled. Values available: + // - **true:** On + // - **false:** off + EnableAutoCheck *bool `pulumi:"enableAutoCheck"` + // Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + // - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + // - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + // - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + // - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + EndTime *int `pulumi:"endTime"` + // The check items selected in the policy. See `selectedChecks` below. + SelectedChecks []CheckConfigSelectedCheck `pulumi:"selectedChecks"` + // The start time of the check. The value specifies a point in time in a day. + StartTime *int `pulumi:"startTime"` + // Specifies whether to use the configuration automatically generated by the system. Valid values: + SystemConfig *bool `pulumi:"systemConfig"` + Vendors []string `pulumi:"vendors"` +} + +// The set of arguments for constructing a CheckConfig resource. +type CheckConfigArgs struct { + // The configuration of the check item. Valid value: + Configure pulumi.StringPtrInput + // Cycle detection time. + CycleDays pulumi.IntArrayInput + // Whether to check by default when there are new check items in the selected regulation. Values available: + // - **true:** On + // - **false:** off + EnableAddCheck pulumi.BoolPtrInput + // Whether automatic cycle detection is enabled. Values available: + // - **true:** On + // - **false:** off + EnableAutoCheck pulumi.BoolPtrInput + // Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + // - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + // - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + // - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + // - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + EndTime pulumi.IntPtrInput + // The check items selected in the policy. See `selectedChecks` below. + SelectedChecks CheckConfigSelectedCheckArrayInput + // The start time of the check. The value specifies a point in time in a day. + StartTime pulumi.IntPtrInput + // Specifies whether to use the configuration automatically generated by the system. Valid values: + SystemConfig pulumi.BoolPtrInput + Vendors pulumi.StringArrayInput +} + +func (CheckConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*checkConfigArgs)(nil)).Elem() +} + +type CheckConfigInput interface { + pulumi.Input + + ToCheckConfigOutput() CheckConfigOutput + ToCheckConfigOutputWithContext(ctx context.Context) CheckConfigOutput +} + +func (*CheckConfig) ElementType() reflect.Type { + return reflect.TypeOf((**CheckConfig)(nil)).Elem() +} + +func (i *CheckConfig) ToCheckConfigOutput() CheckConfigOutput { + return i.ToCheckConfigOutputWithContext(context.Background()) +} + +func (i *CheckConfig) ToCheckConfigOutputWithContext(ctx context.Context) CheckConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckConfigOutput) +} + +// CheckConfigArrayInput is an input type that accepts CheckConfigArray and CheckConfigArrayOutput values. +// You can construct a concrete instance of `CheckConfigArrayInput` via: +// +// CheckConfigArray{ CheckConfigArgs{...} } +type CheckConfigArrayInput interface { + pulumi.Input + + ToCheckConfigArrayOutput() CheckConfigArrayOutput + ToCheckConfigArrayOutputWithContext(context.Context) CheckConfigArrayOutput +} + +type CheckConfigArray []CheckConfigInput + +func (CheckConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CheckConfig)(nil)).Elem() +} + +func (i CheckConfigArray) ToCheckConfigArrayOutput() CheckConfigArrayOutput { + return i.ToCheckConfigArrayOutputWithContext(context.Background()) +} + +func (i CheckConfigArray) ToCheckConfigArrayOutputWithContext(ctx context.Context) CheckConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckConfigArrayOutput) +} + +// CheckConfigMapInput is an input type that accepts CheckConfigMap and CheckConfigMapOutput values. +// You can construct a concrete instance of `CheckConfigMapInput` via: +// +// CheckConfigMap{ "key": CheckConfigArgs{...} } +type CheckConfigMapInput interface { + pulumi.Input + + ToCheckConfigMapOutput() CheckConfigMapOutput + ToCheckConfigMapOutputWithContext(context.Context) CheckConfigMapOutput +} + +type CheckConfigMap map[string]CheckConfigInput + +func (CheckConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CheckConfig)(nil)).Elem() +} + +func (i CheckConfigMap) ToCheckConfigMapOutput() CheckConfigMapOutput { + return i.ToCheckConfigMapOutputWithContext(context.Background()) +} + +func (i CheckConfigMap) ToCheckConfigMapOutputWithContext(ctx context.Context) CheckConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckConfigMapOutput) +} + +type CheckConfigOutput struct{ *pulumi.OutputState } + +func (CheckConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CheckConfig)(nil)).Elem() +} + +func (o CheckConfigOutput) ToCheckConfigOutput() CheckConfigOutput { + return o +} + +func (o CheckConfigOutput) ToCheckConfigOutputWithContext(ctx context.Context) CheckConfigOutput { + return o +} + +// The configuration of the check item. Valid value: +func (o CheckConfigOutput) Configure() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.StringPtrOutput { return v.Configure }).(pulumi.StringPtrOutput) +} + +// Cycle detection time. +func (o CheckConfigOutput) CycleDays() pulumi.IntArrayOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.IntArrayOutput { return v.CycleDays }).(pulumi.IntArrayOutput) +} + +// Whether to check by default when there are new check items in the selected regulation. Values available: +// - **true:** On +// - **false:** off +func (o CheckConfigOutput) EnableAddCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.BoolPtrOutput { return v.EnableAddCheck }).(pulumi.BoolPtrOutput) +} + +// Whether automatic cycle detection is enabled. Values available: +// - **true:** On +// - **false:** off +func (o CheckConfigOutput) EnableAutoCheck() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.BoolPtrOutput { return v.EnableAutoCheck }).(pulumi.BoolPtrOutput) +} + +// Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. +// - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. +// - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. +// - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. +// - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. +func (o CheckConfigOutput) EndTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.IntPtrOutput { return v.EndTime }).(pulumi.IntPtrOutput) +} + +// The check items selected in the policy. See `selectedChecks` below. +func (o CheckConfigOutput) SelectedChecks() CheckConfigSelectedCheckArrayOutput { + return o.ApplyT(func(v *CheckConfig) CheckConfigSelectedCheckArrayOutput { return v.SelectedChecks }).(CheckConfigSelectedCheckArrayOutput) +} + +// The start time of the check. The value specifies a point in time in a day. +func (o CheckConfigOutput) StartTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.IntPtrOutput { return v.StartTime }).(pulumi.IntPtrOutput) +} + +// Specifies whether to use the configuration automatically generated by the system. Valid values: +func (o CheckConfigOutput) SystemConfig() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.BoolPtrOutput { return v.SystemConfig }).(pulumi.BoolPtrOutput) +} + +func (o CheckConfigOutput) Vendors() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CheckConfig) pulumi.StringArrayOutput { return v.Vendors }).(pulumi.StringArrayOutput) +} + +type CheckConfigArrayOutput struct{ *pulumi.OutputState } + +func (CheckConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CheckConfig)(nil)).Elem() +} + +func (o CheckConfigArrayOutput) ToCheckConfigArrayOutput() CheckConfigArrayOutput { + return o +} + +func (o CheckConfigArrayOutput) ToCheckConfigArrayOutputWithContext(ctx context.Context) CheckConfigArrayOutput { + return o +} + +func (o CheckConfigArrayOutput) Index(i pulumi.IntInput) CheckConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CheckConfig { + return vs[0].([]*CheckConfig)[vs[1].(int)] + }).(CheckConfigOutput) +} + +type CheckConfigMapOutput struct{ *pulumi.OutputState } + +func (CheckConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CheckConfig)(nil)).Elem() +} + +func (o CheckConfigMapOutput) ToCheckConfigMapOutput() CheckConfigMapOutput { + return o +} + +func (o CheckConfigMapOutput) ToCheckConfigMapOutputWithContext(ctx context.Context) CheckConfigMapOutput { + return o +} + +func (o CheckConfigMapOutput) MapIndex(k pulumi.StringInput) CheckConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CheckConfig { + return vs[0].(map[string]*CheckConfig)[vs[1].(string)] + }).(CheckConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CheckConfigInput)(nil)).Elem(), &CheckConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckConfigArrayInput)(nil)).Elem(), CheckConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckConfigMapInput)(nil)).Elem(), CheckConfigMap{}) + pulumi.RegisterOutputType(CheckConfigOutput{}) + pulumi.RegisterOutputType(CheckConfigArrayOutput{}) + pulumi.RegisterOutputType(CheckConfigMapOutput{}) +} diff --git a/sdk/go/alicloud/threatdetection/clientFileProtect.go b/sdk/go/alicloud/threatdetection/clientFileProtect.go index a1b9c9ab61..96fe91f236 100644 --- a/sdk/go/alicloud/threatdetection/clientFileProtect.go +++ b/sdk/go/alicloud/threatdetection/clientFileProtect.go @@ -65,6 +65,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Client File Protect can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/clientUserDefineRule.go b/sdk/go/alicloud/threatdetection/clientUserDefineRule.go index 8697f32e45..b506b473f2 100644 --- a/sdk/go/alicloud/threatdetection/clientUserDefineRule.go +++ b/sdk/go/alicloud/threatdetection/clientUserDefineRule.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Client User Define Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/cycleTask.go b/sdk/go/alicloud/threatdetection/cycleTask.go index 6f098f8c11..c8a8ed9643 100644 --- a/sdk/go/alicloud/threatdetection/cycleTask.go +++ b/sdk/go/alicloud/threatdetection/cycleTask.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Cycle Task can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/getCheckItemConfigs.go b/sdk/go/alicloud/threatdetection/getCheckItemConfigs.go new file mode 100644 index 0000000000..c302e6e359 --- /dev/null +++ b/sdk/go/alicloud/threatdetection/getCheckItemConfigs.go @@ -0,0 +1,164 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package threatdetection + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _default, err := threatdetection.GetCheckItemConfigs(ctx, &threatdetection.GetCheckItemConfigsArgs{}, nil) +// if err != nil { +// return err +// } +// ctx.Export("alicloudThreatDetectionCheckItemConfigExampleCheckId", _default.Configs[0].CheckId) +// return nil +// }) +// } +// +// ``` +func GetCheckItemConfigs(ctx *pulumi.Context, args *GetCheckItemConfigsArgs, opts ...pulumi.InvokeOption) (*GetCheckItemConfigsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCheckItemConfigsResult + err := ctx.Invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCheckItemConfigs. +type GetCheckItemConfigsArgs struct { + // A list of Check Item Config IDs. + Ids []string `pulumi:"ids"` + // The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + Lang *string `pulumi:"lang"` + // File name where to save data source results (after running `pulumi preview`). + OutputFile *string `pulumi:"outputFile"` + // Current page number. + PageNumber *int `pulumi:"pageNumber"` + // Number of records per page. + PageSize *int `pulumi:"pageSize"` + // List of task sources. + TaskSources []string `pulumi:"taskSources"` +} + +// A collection of values returned by getCheckItemConfigs. +type GetCheckItemConfigsResult struct { + // A list of Check Item Config Entries. Each element contains the following attributes: + Configs []GetCheckItemConfigsConfig `pulumi:"configs"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // A list of Check Item Config IDs. + Ids []string `pulumi:"ids"` + Lang *string `pulumi:"lang"` + OutputFile *string `pulumi:"outputFile"` + PageNumber *int `pulumi:"pageNumber"` + PageSize *int `pulumi:"pageSize"` + TaskSources []string `pulumi:"taskSources"` +} + +func GetCheckItemConfigsOutput(ctx *pulumi.Context, args GetCheckItemConfigsOutputArgs, opts ...pulumi.InvokeOption) GetCheckItemConfigsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetCheckItemConfigsResultOutput, error) { + args := v.(GetCheckItemConfigsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", args, GetCheckItemConfigsResultOutput{}, options).(GetCheckItemConfigsResultOutput), nil + }).(GetCheckItemConfigsResultOutput) +} + +// A collection of arguments for invoking getCheckItemConfigs. +type GetCheckItemConfigsOutputArgs struct { + // A list of Check Item Config IDs. + Ids pulumi.StringArrayInput `pulumi:"ids"` + // The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + Lang pulumi.StringPtrInput `pulumi:"lang"` + // File name where to save data source results (after running `pulumi preview`). + OutputFile pulumi.StringPtrInput `pulumi:"outputFile"` + // Current page number. + PageNumber pulumi.IntPtrInput `pulumi:"pageNumber"` + // Number of records per page. + PageSize pulumi.IntPtrInput `pulumi:"pageSize"` + // List of task sources. + TaskSources pulumi.StringArrayInput `pulumi:"taskSources"` +} + +func (GetCheckItemConfigsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsArgs)(nil)).Elem() +} + +// A collection of values returned by getCheckItemConfigs. +type GetCheckItemConfigsResultOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsResult)(nil)).Elem() +} + +func (o GetCheckItemConfigsResultOutput) ToGetCheckItemConfigsResultOutput() GetCheckItemConfigsResultOutput { + return o +} + +func (o GetCheckItemConfigsResultOutput) ToGetCheckItemConfigsResultOutputWithContext(ctx context.Context) GetCheckItemConfigsResultOutput { + return o +} + +// A list of Check Item Config Entries. Each element contains the following attributes: +func (o GetCheckItemConfigsResultOutput) Configs() GetCheckItemConfigsConfigArrayOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) []GetCheckItemConfigsConfig { return v.Configs }).(GetCheckItemConfigsConfigArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCheckItemConfigsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A list of Check Item Config IDs. +func (o GetCheckItemConfigsResultOutput) Ids() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) []string { return v.Ids }).(pulumi.StringArrayOutput) +} + +func (o GetCheckItemConfigsResultOutput) Lang() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) *string { return v.Lang }).(pulumi.StringPtrOutput) +} + +func (o GetCheckItemConfigsResultOutput) OutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) *string { return v.OutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetCheckItemConfigsResultOutput) PageNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) *int { return v.PageNumber }).(pulumi.IntPtrOutput) +} + +func (o GetCheckItemConfigsResultOutput) PageSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) *int { return v.PageSize }).(pulumi.IntPtrOutput) +} + +func (o GetCheckItemConfigsResultOutput) TaskSources() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCheckItemConfigsResult) []string { return v.TaskSources }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCheckItemConfigsResultOutput{}) +} diff --git a/sdk/go/alicloud/threatdetection/getCheckStructures.go b/sdk/go/alicloud/threatdetection/getCheckStructures.go new file mode 100644 index 0000000000..e54d2207b9 --- /dev/null +++ b/sdk/go/alicloud/threatdetection/getCheckStructures.go @@ -0,0 +1,155 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package threatdetection + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) +// +// > **NOTE:** Available since v1.267.0. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/threatdetection" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _default, err := threatdetection.GetCheckStructures(ctx, &threatdetection.GetCheckStructuresArgs{}, nil) +// if err != nil { +// return err +// } +// ctx.Export("alicloudThreatDetectionCheckStructureExampleStandardType", _default.Structures[0].StandardType) +// return nil +// }) +// } +// +// ``` +func GetCheckStructures(ctx *pulumi.Context, args *GetCheckStructuresArgs, opts ...pulumi.InvokeOption) (*GetCheckStructuresResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCheckStructuresResult + err := ctx.Invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCheckStructures. +type GetCheckStructuresArgs struct { + // The page number. + CurrentPage *int `pulumi:"currentPage"` + // A list of Check Structure IDs. + Ids []string `pulumi:"ids"` + // The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + Lang *string `pulumi:"lang"` + // File name where to save data source results (after running `pulumi preview`). + OutputFile *string `pulumi:"outputFile"` + // List of task sources. + TaskSources []string `pulumi:"taskSources"` +} + +// A collection of values returned by getCheckStructures. +type GetCheckStructuresResult struct { + CurrentPage *int `pulumi:"currentPage"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // A list of Check Structure IDs. + Ids []string `pulumi:"ids"` + Lang *string `pulumi:"lang"` + OutputFile *string `pulumi:"outputFile"` + // A list of Check Structure Entries. Each element contains the following attributes: + Structures []GetCheckStructuresStructure `pulumi:"structures"` + TaskSources []string `pulumi:"taskSources"` +} + +func GetCheckStructuresOutput(ctx *pulumi.Context, args GetCheckStructuresOutputArgs, opts ...pulumi.InvokeOption) GetCheckStructuresResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetCheckStructuresResultOutput, error) { + args := v.(GetCheckStructuresArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("alicloud:threatdetection/getCheckStructures:getCheckStructures", args, GetCheckStructuresResultOutput{}, options).(GetCheckStructuresResultOutput), nil + }).(GetCheckStructuresResultOutput) +} + +// A collection of arguments for invoking getCheckStructures. +type GetCheckStructuresOutputArgs struct { + // The page number. + CurrentPage pulumi.IntPtrInput `pulumi:"currentPage"` + // A list of Check Structure IDs. + Ids pulumi.StringArrayInput `pulumi:"ids"` + // The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + Lang pulumi.StringPtrInput `pulumi:"lang"` + // File name where to save data source results (after running `pulumi preview`). + OutputFile pulumi.StringPtrInput `pulumi:"outputFile"` + // List of task sources. + TaskSources pulumi.StringArrayInput `pulumi:"taskSources"` +} + +func (GetCheckStructuresOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresArgs)(nil)).Elem() +} + +// A collection of values returned by getCheckStructures. +type GetCheckStructuresResultOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresResult)(nil)).Elem() +} + +func (o GetCheckStructuresResultOutput) ToGetCheckStructuresResultOutput() GetCheckStructuresResultOutput { + return o +} + +func (o GetCheckStructuresResultOutput) ToGetCheckStructuresResultOutputWithContext(ctx context.Context) GetCheckStructuresResultOutput { + return o +} + +func (o GetCheckStructuresResultOutput) CurrentPage() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetCheckStructuresResult) *int { return v.CurrentPage }).(pulumi.IntPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCheckStructuresResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A list of Check Structure IDs. +func (o GetCheckStructuresResultOutput) Ids() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCheckStructuresResult) []string { return v.Ids }).(pulumi.StringArrayOutput) +} + +func (o GetCheckStructuresResultOutput) Lang() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCheckStructuresResult) *string { return v.Lang }).(pulumi.StringPtrOutput) +} + +func (o GetCheckStructuresResultOutput) OutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetCheckStructuresResult) *string { return v.OutputFile }).(pulumi.StringPtrOutput) +} + +// A list of Check Structure Entries. Each element contains the following attributes: +func (o GetCheckStructuresResultOutput) Structures() GetCheckStructuresStructureArrayOutput { + return o.ApplyT(func(v GetCheckStructuresResult) []GetCheckStructuresStructure { return v.Structures }).(GetCheckStructuresStructureArrayOutput) +} + +func (o GetCheckStructuresResultOutput) TaskSources() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCheckStructuresResult) []string { return v.TaskSources }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCheckStructuresResultOutput{}) +} diff --git a/sdk/go/alicloud/threatdetection/honeyPot.go b/sdk/go/alicloud/threatdetection/honeyPot.go index 2aa8403b7b..a0e7a2457b 100644 --- a/sdk/go/alicloud/threatdetection/honeyPot.go +++ b/sdk/go/alicloud/threatdetection/honeyPot.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Honey Pot can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/honeypotNode.go b/sdk/go/alicloud/threatdetection/honeypotNode.go index b1768cada2..9099e29839 100644 --- a/sdk/go/alicloud/threatdetection/honeypotNode.go +++ b/sdk/go/alicloud/threatdetection/honeypotNode.go @@ -56,6 +56,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Honeypot Node can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/honeypotPreset.go b/sdk/go/alicloud/threatdetection/honeypotPreset.go index 3b99fa8a9e..a6ec053539 100644 --- a/sdk/go/alicloud/threatdetection/honeypotPreset.go +++ b/sdk/go/alicloud/threatdetection/honeypotPreset.go @@ -75,6 +75,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Honeypot Preset can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/honeypotProbe.go b/sdk/go/alicloud/threatdetection/honeypotProbe.go index 42f3a15771..2dd1a720d3 100644 --- a/sdk/go/alicloud/threatdetection/honeypotProbe.go +++ b/sdk/go/alicloud/threatdetection/honeypotProbe.go @@ -62,6 +62,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Honeypot Probe can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/imageEventOperation.go b/sdk/go/alicloud/threatdetection/imageEventOperation.go index a92a6b3ab4..7aa75f8a43 100644 --- a/sdk/go/alicloud/threatdetection/imageEventOperation.go +++ b/sdk/go/alicloud/threatdetection/imageEventOperation.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Image Event Operation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/init.go b/sdk/go/alicloud/threatdetection/init.go index e92531e830..d95d1299d6 100644 --- a/sdk/go/alicloud/threatdetection/init.go +++ b/sdk/go/alicloud/threatdetection/init.go @@ -33,6 +33,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &BackupPolicy{} case "alicloud:threatdetection/baselineStrategy:BaselineStrategy": r = &BaselineStrategy{} + case "alicloud:threatdetection/checkConfig:CheckConfig": + r = &CheckConfig{} case "alicloud:threatdetection/clientFileProtect:ClientFileProtect": r = &ClientFileProtect{} case "alicloud:threatdetection/clientUserDefineRule:ClientUserDefineRule": @@ -108,6 +110,11 @@ func init() { "threatdetection/baselineStrategy", &module{version}, ) + pulumi.RegisterResourceModule( + "alicloud", + "threatdetection/checkConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "alicloud", "threatdetection/clientFileProtect", diff --git a/sdk/go/alicloud/threatdetection/maliciousFileWhitelistConfig.go b/sdk/go/alicloud/threatdetection/maliciousFileWhitelistConfig.go index 056aff5557..125dc49824 100644 --- a/sdk/go/alicloud/threatdetection/maliciousFileWhitelistConfig.go +++ b/sdk/go/alicloud/threatdetection/maliciousFileWhitelistConfig.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/ossScanConfig.go b/sdk/go/alicloud/threatdetection/ossScanConfig.go index 1eb11ec364..1cb0d35ae2 100644 --- a/sdk/go/alicloud/threatdetection/ossScanConfig.go +++ b/sdk/go/alicloud/threatdetection/ossScanConfig.go @@ -119,6 +119,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Oss Scan Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/pulumiTypes.go b/sdk/go/alicloud/threatdetection/pulumiTypes.go index d0b1c9ef51..319c9ea995 100644 --- a/sdk/go/alicloud/threatdetection/pulumiTypes.go +++ b/sdk/go/alicloud/threatdetection/pulumiTypes.go @@ -321,6 +321,112 @@ func (o AttackPathSensitiveAssetConfigAttackPathAssetListArrayOutput) Index(i pu }).(AttackPathSensitiveAssetConfigAttackPathAssetListOutput) } +type CheckConfigSelectedCheck struct { + // The ID of the check item. + CheckId *int `pulumi:"checkId"` + // The section ID of the check item. + SectionId *int `pulumi:"sectionId"` +} + +// CheckConfigSelectedCheckInput is an input type that accepts CheckConfigSelectedCheckArgs and CheckConfigSelectedCheckOutput values. +// You can construct a concrete instance of `CheckConfigSelectedCheckInput` via: +// +// CheckConfigSelectedCheckArgs{...} +type CheckConfigSelectedCheckInput interface { + pulumi.Input + + ToCheckConfigSelectedCheckOutput() CheckConfigSelectedCheckOutput + ToCheckConfigSelectedCheckOutputWithContext(context.Context) CheckConfigSelectedCheckOutput +} + +type CheckConfigSelectedCheckArgs struct { + // The ID of the check item. + CheckId pulumi.IntPtrInput `pulumi:"checkId"` + // The section ID of the check item. + SectionId pulumi.IntPtrInput `pulumi:"sectionId"` +} + +func (CheckConfigSelectedCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CheckConfigSelectedCheck)(nil)).Elem() +} + +func (i CheckConfigSelectedCheckArgs) ToCheckConfigSelectedCheckOutput() CheckConfigSelectedCheckOutput { + return i.ToCheckConfigSelectedCheckOutputWithContext(context.Background()) +} + +func (i CheckConfigSelectedCheckArgs) ToCheckConfigSelectedCheckOutputWithContext(ctx context.Context) CheckConfigSelectedCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckConfigSelectedCheckOutput) +} + +// CheckConfigSelectedCheckArrayInput is an input type that accepts CheckConfigSelectedCheckArray and CheckConfigSelectedCheckArrayOutput values. +// You can construct a concrete instance of `CheckConfigSelectedCheckArrayInput` via: +// +// CheckConfigSelectedCheckArray{ CheckConfigSelectedCheckArgs{...} } +type CheckConfigSelectedCheckArrayInput interface { + pulumi.Input + + ToCheckConfigSelectedCheckArrayOutput() CheckConfigSelectedCheckArrayOutput + ToCheckConfigSelectedCheckArrayOutputWithContext(context.Context) CheckConfigSelectedCheckArrayOutput +} + +type CheckConfigSelectedCheckArray []CheckConfigSelectedCheckInput + +func (CheckConfigSelectedCheckArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CheckConfigSelectedCheck)(nil)).Elem() +} + +func (i CheckConfigSelectedCheckArray) ToCheckConfigSelectedCheckArrayOutput() CheckConfigSelectedCheckArrayOutput { + return i.ToCheckConfigSelectedCheckArrayOutputWithContext(context.Background()) +} + +func (i CheckConfigSelectedCheckArray) ToCheckConfigSelectedCheckArrayOutputWithContext(ctx context.Context) CheckConfigSelectedCheckArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CheckConfigSelectedCheckArrayOutput) +} + +type CheckConfigSelectedCheckOutput struct{ *pulumi.OutputState } + +func (CheckConfigSelectedCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CheckConfigSelectedCheck)(nil)).Elem() +} + +func (o CheckConfigSelectedCheckOutput) ToCheckConfigSelectedCheckOutput() CheckConfigSelectedCheckOutput { + return o +} + +func (o CheckConfigSelectedCheckOutput) ToCheckConfigSelectedCheckOutputWithContext(ctx context.Context) CheckConfigSelectedCheckOutput { + return o +} + +// The ID of the check item. +func (o CheckConfigSelectedCheckOutput) CheckId() pulumi.IntPtrOutput { + return o.ApplyT(func(v CheckConfigSelectedCheck) *int { return v.CheckId }).(pulumi.IntPtrOutput) +} + +// The section ID of the check item. +func (o CheckConfigSelectedCheckOutput) SectionId() pulumi.IntPtrOutput { + return o.ApplyT(func(v CheckConfigSelectedCheck) *int { return v.SectionId }).(pulumi.IntPtrOutput) +} + +type CheckConfigSelectedCheckArrayOutput struct{ *pulumi.OutputState } + +func (CheckConfigSelectedCheckArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CheckConfigSelectedCheck)(nil)).Elem() +} + +func (o CheckConfigSelectedCheckArrayOutput) ToCheckConfigSelectedCheckArrayOutput() CheckConfigSelectedCheckArrayOutput { + return o +} + +func (o CheckConfigSelectedCheckArrayOutput) ToCheckConfigSelectedCheckArrayOutputWithContext(ctx context.Context) CheckConfigSelectedCheckArrayOutput { + return o +} + +func (o CheckConfigSelectedCheckArrayOutput) Index(i pulumi.IntInput) CheckConfigSelectedCheckOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CheckConfigSelectedCheck { + return vs[0].([]CheckConfigSelectedCheck)[vs[1].(int)] + }).(CheckConfigSelectedCheckOutput) +} + type HoneypotPresetMeta struct { // Burp counter. Burp string `pulumi:"burp"` @@ -1598,6 +1704,851 @@ func (o GetBaselineStrategiesStrategyArrayOutput) Index(i pulumi.IntInput) GetBa }).(GetBaselineStrategiesStrategyOutput) } +type GetCheckItemConfigsConfig struct { + // The ID of the check item + CheckId int `pulumi:"checkId"` + // The name of the check item. + CheckShowName string `pulumi:"checkShowName"` + // The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + CheckType string `pulumi:"checkType"` + // The custom configuration items of the check item. + CustomConfigs []GetCheckItemConfigsConfigCustomConfig `pulumi:"customConfigs"` + // The description of the check item. + Description GetCheckItemConfigsConfigDescription `pulumi:"description"` + // The estimated quota that will be consumed by this check item. + EstimatedCount int `pulumi:"estimatedCount"` + // The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + InstanceSubType string `pulumi:"instanceSubType"` + // The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + InstanceType string `pulumi:"instanceType"` + // The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + RiskLevel string `pulumi:"riskLevel"` + // The IDs of the sections associated with the check items. + SectionIds []int `pulumi:"sectionIds"` + // The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + Vendor string `pulumi:"vendor"` +} + +// GetCheckItemConfigsConfigInput is an input type that accepts GetCheckItemConfigsConfigArgs and GetCheckItemConfigsConfigOutput values. +// You can construct a concrete instance of `GetCheckItemConfigsConfigInput` via: +// +// GetCheckItemConfigsConfigArgs{...} +type GetCheckItemConfigsConfigInput interface { + pulumi.Input + + ToGetCheckItemConfigsConfigOutput() GetCheckItemConfigsConfigOutput + ToGetCheckItemConfigsConfigOutputWithContext(context.Context) GetCheckItemConfigsConfigOutput +} + +type GetCheckItemConfigsConfigArgs struct { + // The ID of the check item + CheckId pulumi.IntInput `pulumi:"checkId"` + // The name of the check item. + CheckShowName pulumi.StringInput `pulumi:"checkShowName"` + // The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + CheckType pulumi.StringInput `pulumi:"checkType"` + // The custom configuration items of the check item. + CustomConfigs GetCheckItemConfigsConfigCustomConfigArrayInput `pulumi:"customConfigs"` + // The description of the check item. + Description GetCheckItemConfigsConfigDescriptionInput `pulumi:"description"` + // The estimated quota that will be consumed by this check item. + EstimatedCount pulumi.IntInput `pulumi:"estimatedCount"` + // The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + InstanceSubType pulumi.StringInput `pulumi:"instanceSubType"` + // The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + RiskLevel pulumi.StringInput `pulumi:"riskLevel"` + // The IDs of the sections associated with the check items. + SectionIds pulumi.IntArrayInput `pulumi:"sectionIds"` + // The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + Vendor pulumi.StringInput `pulumi:"vendor"` +} + +func (GetCheckItemConfigsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfig)(nil)).Elem() +} + +func (i GetCheckItemConfigsConfigArgs) ToGetCheckItemConfigsConfigOutput() GetCheckItemConfigsConfigOutput { + return i.ToGetCheckItemConfigsConfigOutputWithContext(context.Background()) +} + +func (i GetCheckItemConfigsConfigArgs) ToGetCheckItemConfigsConfigOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckItemConfigsConfigOutput) +} + +// GetCheckItemConfigsConfigArrayInput is an input type that accepts GetCheckItemConfigsConfigArray and GetCheckItemConfigsConfigArrayOutput values. +// You can construct a concrete instance of `GetCheckItemConfigsConfigArrayInput` via: +// +// GetCheckItemConfigsConfigArray{ GetCheckItemConfigsConfigArgs{...} } +type GetCheckItemConfigsConfigArrayInput interface { + pulumi.Input + + ToGetCheckItemConfigsConfigArrayOutput() GetCheckItemConfigsConfigArrayOutput + ToGetCheckItemConfigsConfigArrayOutputWithContext(context.Context) GetCheckItemConfigsConfigArrayOutput +} + +type GetCheckItemConfigsConfigArray []GetCheckItemConfigsConfigInput + +func (GetCheckItemConfigsConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckItemConfigsConfig)(nil)).Elem() +} + +func (i GetCheckItemConfigsConfigArray) ToGetCheckItemConfigsConfigArrayOutput() GetCheckItemConfigsConfigArrayOutput { + return i.ToGetCheckItemConfigsConfigArrayOutputWithContext(context.Background()) +} + +func (i GetCheckItemConfigsConfigArray) ToGetCheckItemConfigsConfigArrayOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckItemConfigsConfigArrayOutput) +} + +type GetCheckItemConfigsConfigOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfig)(nil)).Elem() +} + +func (o GetCheckItemConfigsConfigOutput) ToGetCheckItemConfigsConfigOutput() GetCheckItemConfigsConfigOutput { + return o +} + +func (o GetCheckItemConfigsConfigOutput) ToGetCheckItemConfigsConfigOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigOutput { + return o +} + +// The ID of the check item +func (o GetCheckItemConfigsConfigOutput) CheckId() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) int { return v.CheckId }).(pulumi.IntOutput) +} + +// The name of the check item. +func (o GetCheckItemConfigsConfigOutput) CheckShowName() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.CheckShowName }).(pulumi.StringOutput) +} + +// The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform +func (o GetCheckItemConfigsConfigOutput) CheckType() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.CheckType }).(pulumi.StringOutput) +} + +// The custom configuration items of the check item. +func (o GetCheckItemConfigsConfigOutput) CustomConfigs() GetCheckItemConfigsConfigCustomConfigArrayOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) []GetCheckItemConfigsConfigCustomConfig { return v.CustomConfigs }).(GetCheckItemConfigsConfigCustomConfigArrayOutput) +} + +// The description of the check item. +func (o GetCheckItemConfigsConfigOutput) Description() GetCheckItemConfigsConfigDescriptionOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) GetCheckItemConfigsConfigDescription { return v.Description }).(GetCheckItemConfigsConfigDescriptionOutput) +} + +// The estimated quota that will be consumed by this check item. +func (o GetCheckItemConfigsConfigOutput) EstimatedCount() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) int { return v.EstimatedCount }).(pulumi.IntOutput) +} + +// The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** +func (o GetCheckItemConfigsConfigOutput) InstanceSubType() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.InstanceSubType }).(pulumi.StringOutput) +} + +// The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). +func (o GetCheckItemConfigsConfigOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** +func (o GetCheckItemConfigsConfigOutput) RiskLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.RiskLevel }).(pulumi.StringOutput) +} + +// The IDs of the sections associated with the check items. +func (o GetCheckItemConfigsConfigOutput) SectionIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) []int { return v.SectionIds }).(pulumi.IntArrayOutput) +} + +// The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. +func (o GetCheckItemConfigsConfigOutput) Vendor() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfig) string { return v.Vendor }).(pulumi.StringOutput) +} + +type GetCheckItemConfigsConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckItemConfigsConfig)(nil)).Elem() +} + +func (o GetCheckItemConfigsConfigArrayOutput) ToGetCheckItemConfigsConfigArrayOutput() GetCheckItemConfigsConfigArrayOutput { + return o +} + +func (o GetCheckItemConfigsConfigArrayOutput) ToGetCheckItemConfigsConfigArrayOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigArrayOutput { + return o +} + +func (o GetCheckItemConfigsConfigArrayOutput) Index(i pulumi.IntInput) GetCheckItemConfigsConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckItemConfigsConfig { + return vs[0].([]GetCheckItemConfigsConfig)[vs[1].(int)] + }).(GetCheckItemConfigsConfigOutput) +} + +type GetCheckItemConfigsConfigCustomConfig struct { + // The default value of the custom configuration item. The value is a string. + DefaultValue string `pulumi:"defaultValue"` + // The name of the custom configuration item, which is unique in a check item. + Name string `pulumi:"name"` + // The display name of the custom configuration item for internationalization. + ShowName string `pulumi:"showName"` + // The type of the custom configuration item. The value is a JSON string. + TypeDefine string `pulumi:"typeDefine"` + // The content of the description for the check item when the Type parameter is text. + Value string `pulumi:"value"` +} + +// GetCheckItemConfigsConfigCustomConfigInput is an input type that accepts GetCheckItemConfigsConfigCustomConfigArgs and GetCheckItemConfigsConfigCustomConfigOutput values. +// You can construct a concrete instance of `GetCheckItemConfigsConfigCustomConfigInput` via: +// +// GetCheckItemConfigsConfigCustomConfigArgs{...} +type GetCheckItemConfigsConfigCustomConfigInput interface { + pulumi.Input + + ToGetCheckItemConfigsConfigCustomConfigOutput() GetCheckItemConfigsConfigCustomConfigOutput + ToGetCheckItemConfigsConfigCustomConfigOutputWithContext(context.Context) GetCheckItemConfigsConfigCustomConfigOutput +} + +type GetCheckItemConfigsConfigCustomConfigArgs struct { + // The default value of the custom configuration item. The value is a string. + DefaultValue pulumi.StringInput `pulumi:"defaultValue"` + // The name of the custom configuration item, which is unique in a check item. + Name pulumi.StringInput `pulumi:"name"` + // The display name of the custom configuration item for internationalization. + ShowName pulumi.StringInput `pulumi:"showName"` + // The type of the custom configuration item. The value is a JSON string. + TypeDefine pulumi.StringInput `pulumi:"typeDefine"` + // The content of the description for the check item when the Type parameter is text. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetCheckItemConfigsConfigCustomConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfigCustomConfig)(nil)).Elem() +} + +func (i GetCheckItemConfigsConfigCustomConfigArgs) ToGetCheckItemConfigsConfigCustomConfigOutput() GetCheckItemConfigsConfigCustomConfigOutput { + return i.ToGetCheckItemConfigsConfigCustomConfigOutputWithContext(context.Background()) +} + +func (i GetCheckItemConfigsConfigCustomConfigArgs) ToGetCheckItemConfigsConfigCustomConfigOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigCustomConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckItemConfigsConfigCustomConfigOutput) +} + +// GetCheckItemConfigsConfigCustomConfigArrayInput is an input type that accepts GetCheckItemConfigsConfigCustomConfigArray and GetCheckItemConfigsConfigCustomConfigArrayOutput values. +// You can construct a concrete instance of `GetCheckItemConfigsConfigCustomConfigArrayInput` via: +// +// GetCheckItemConfigsConfigCustomConfigArray{ GetCheckItemConfigsConfigCustomConfigArgs{...} } +type GetCheckItemConfigsConfigCustomConfigArrayInput interface { + pulumi.Input + + ToGetCheckItemConfigsConfigCustomConfigArrayOutput() GetCheckItemConfigsConfigCustomConfigArrayOutput + ToGetCheckItemConfigsConfigCustomConfigArrayOutputWithContext(context.Context) GetCheckItemConfigsConfigCustomConfigArrayOutput +} + +type GetCheckItemConfigsConfigCustomConfigArray []GetCheckItemConfigsConfigCustomConfigInput + +func (GetCheckItemConfigsConfigCustomConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckItemConfigsConfigCustomConfig)(nil)).Elem() +} + +func (i GetCheckItemConfigsConfigCustomConfigArray) ToGetCheckItemConfigsConfigCustomConfigArrayOutput() GetCheckItemConfigsConfigCustomConfigArrayOutput { + return i.ToGetCheckItemConfigsConfigCustomConfigArrayOutputWithContext(context.Background()) +} + +func (i GetCheckItemConfigsConfigCustomConfigArray) ToGetCheckItemConfigsConfigCustomConfigArrayOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigCustomConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckItemConfigsConfigCustomConfigArrayOutput) +} + +type GetCheckItemConfigsConfigCustomConfigOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsConfigCustomConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfigCustomConfig)(nil)).Elem() +} + +func (o GetCheckItemConfigsConfigCustomConfigOutput) ToGetCheckItemConfigsConfigCustomConfigOutput() GetCheckItemConfigsConfigCustomConfigOutput { + return o +} + +func (o GetCheckItemConfigsConfigCustomConfigOutput) ToGetCheckItemConfigsConfigCustomConfigOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigCustomConfigOutput { + return o +} + +// The default value of the custom configuration item. The value is a string. +func (o GetCheckItemConfigsConfigCustomConfigOutput) DefaultValue() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigCustomConfig) string { return v.DefaultValue }).(pulumi.StringOutput) +} + +// The name of the custom configuration item, which is unique in a check item. +func (o GetCheckItemConfigsConfigCustomConfigOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigCustomConfig) string { return v.Name }).(pulumi.StringOutput) +} + +// The display name of the custom configuration item for internationalization. +func (o GetCheckItemConfigsConfigCustomConfigOutput) ShowName() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigCustomConfig) string { return v.ShowName }).(pulumi.StringOutput) +} + +// The type of the custom configuration item. The value is a JSON string. +func (o GetCheckItemConfigsConfigCustomConfigOutput) TypeDefine() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigCustomConfig) string { return v.TypeDefine }).(pulumi.StringOutput) +} + +// The content of the description for the check item when the Type parameter is text. +func (o GetCheckItemConfigsConfigCustomConfigOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigCustomConfig) string { return v.Value }).(pulumi.StringOutput) +} + +type GetCheckItemConfigsConfigCustomConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsConfigCustomConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckItemConfigsConfigCustomConfig)(nil)).Elem() +} + +func (o GetCheckItemConfigsConfigCustomConfigArrayOutput) ToGetCheckItemConfigsConfigCustomConfigArrayOutput() GetCheckItemConfigsConfigCustomConfigArrayOutput { + return o +} + +func (o GetCheckItemConfigsConfigCustomConfigArrayOutput) ToGetCheckItemConfigsConfigCustomConfigArrayOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigCustomConfigArrayOutput { + return o +} + +func (o GetCheckItemConfigsConfigCustomConfigArrayOutput) Index(i pulumi.IntInput) GetCheckItemConfigsConfigCustomConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckItemConfigsConfigCustomConfig { + return vs[0].([]GetCheckItemConfigsConfigCustomConfig)[vs[1].(int)] + }).(GetCheckItemConfigsConfigCustomConfigOutput) +} + +type GetCheckItemConfigsConfigDescription struct { + // The type of the description of the check item. Valid value:* **text**. + Type string `pulumi:"type"` + // The content of the description for the check item when the Type parameter is text. + Value string `pulumi:"value"` +} + +// GetCheckItemConfigsConfigDescriptionInput is an input type that accepts GetCheckItemConfigsConfigDescriptionArgs and GetCheckItemConfigsConfigDescriptionOutput values. +// You can construct a concrete instance of `GetCheckItemConfigsConfigDescriptionInput` via: +// +// GetCheckItemConfigsConfigDescriptionArgs{...} +type GetCheckItemConfigsConfigDescriptionInput interface { + pulumi.Input + + ToGetCheckItemConfigsConfigDescriptionOutput() GetCheckItemConfigsConfigDescriptionOutput + ToGetCheckItemConfigsConfigDescriptionOutputWithContext(context.Context) GetCheckItemConfigsConfigDescriptionOutput +} + +type GetCheckItemConfigsConfigDescriptionArgs struct { + // The type of the description of the check item. Valid value:* **text**. + Type pulumi.StringInput `pulumi:"type"` + // The content of the description for the check item when the Type parameter is text. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetCheckItemConfigsConfigDescriptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfigDescription)(nil)).Elem() +} + +func (i GetCheckItemConfigsConfigDescriptionArgs) ToGetCheckItemConfigsConfigDescriptionOutput() GetCheckItemConfigsConfigDescriptionOutput { + return i.ToGetCheckItemConfigsConfigDescriptionOutputWithContext(context.Background()) +} + +func (i GetCheckItemConfigsConfigDescriptionArgs) ToGetCheckItemConfigsConfigDescriptionOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigDescriptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckItemConfigsConfigDescriptionOutput) +} + +type GetCheckItemConfigsConfigDescriptionOutput struct{ *pulumi.OutputState } + +func (GetCheckItemConfigsConfigDescriptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckItemConfigsConfigDescription)(nil)).Elem() +} + +func (o GetCheckItemConfigsConfigDescriptionOutput) ToGetCheckItemConfigsConfigDescriptionOutput() GetCheckItemConfigsConfigDescriptionOutput { + return o +} + +func (o GetCheckItemConfigsConfigDescriptionOutput) ToGetCheckItemConfigsConfigDescriptionOutputWithContext(ctx context.Context) GetCheckItemConfigsConfigDescriptionOutput { + return o +} + +// The type of the description of the check item. Valid value:* **text**. +func (o GetCheckItemConfigsConfigDescriptionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigDescription) string { return v.Type }).(pulumi.StringOutput) +} + +// The content of the description for the check item when the Type parameter is text. +func (o GetCheckItemConfigsConfigDescriptionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckItemConfigsConfigDescription) string { return v.Value }).(pulumi.StringOutput) +} + +type GetCheckStructuresStructure struct { + // The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + StandardType string `pulumi:"standardType"` + // The structure information about the check items of the business type. + Standards []GetCheckStructuresStructureStandard `pulumi:"standards"` +} + +// GetCheckStructuresStructureInput is an input type that accepts GetCheckStructuresStructureArgs and GetCheckStructuresStructureOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureInput` via: +// +// GetCheckStructuresStructureArgs{...} +type GetCheckStructuresStructureInput interface { + pulumi.Input + + ToGetCheckStructuresStructureOutput() GetCheckStructuresStructureOutput + ToGetCheckStructuresStructureOutputWithContext(context.Context) GetCheckStructuresStructureOutput +} + +type GetCheckStructuresStructureArgs struct { + // The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + StandardType pulumi.StringInput `pulumi:"standardType"` + // The structure information about the check items of the business type. + Standards GetCheckStructuresStructureStandardArrayInput `pulumi:"standards"` +} + +func (GetCheckStructuresStructureArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructure)(nil)).Elem() +} + +func (i GetCheckStructuresStructureArgs) ToGetCheckStructuresStructureOutput() GetCheckStructuresStructureOutput { + return i.ToGetCheckStructuresStructureOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureArgs) ToGetCheckStructuresStructureOutputWithContext(ctx context.Context) GetCheckStructuresStructureOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureOutput) +} + +// GetCheckStructuresStructureArrayInput is an input type that accepts GetCheckStructuresStructureArray and GetCheckStructuresStructureArrayOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureArrayInput` via: +// +// GetCheckStructuresStructureArray{ GetCheckStructuresStructureArgs{...} } +type GetCheckStructuresStructureArrayInput interface { + pulumi.Input + + ToGetCheckStructuresStructureArrayOutput() GetCheckStructuresStructureArrayOutput + ToGetCheckStructuresStructureArrayOutputWithContext(context.Context) GetCheckStructuresStructureArrayOutput +} + +type GetCheckStructuresStructureArray []GetCheckStructuresStructureInput + +func (GetCheckStructuresStructureArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructure)(nil)).Elem() +} + +func (i GetCheckStructuresStructureArray) ToGetCheckStructuresStructureArrayOutput() GetCheckStructuresStructureArrayOutput { + return i.ToGetCheckStructuresStructureArrayOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureArray) ToGetCheckStructuresStructureArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureArrayOutput) +} + +type GetCheckStructuresStructureOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructure)(nil)).Elem() +} + +func (o GetCheckStructuresStructureOutput) ToGetCheckStructuresStructureOutput() GetCheckStructuresStructureOutput { + return o +} + +func (o GetCheckStructuresStructureOutput) ToGetCheckStructuresStructureOutputWithContext(ctx context.Context) GetCheckStructuresStructureOutput { + return o +} + +// The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. +func (o GetCheckStructuresStructureOutput) StandardType() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresStructure) string { return v.StandardType }).(pulumi.StringOutput) +} + +// The structure information about the check items of the business type. +func (o GetCheckStructuresStructureOutput) Standards() GetCheckStructuresStructureStandardArrayOutput { + return o.ApplyT(func(v GetCheckStructuresStructure) []GetCheckStructuresStructureStandard { return v.Standards }).(GetCheckStructuresStructureStandardArrayOutput) +} + +type GetCheckStructuresStructureArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructure)(nil)).Elem() +} + +func (o GetCheckStructuresStructureArrayOutput) ToGetCheckStructuresStructureArrayOutput() GetCheckStructuresStructureArrayOutput { + return o +} + +func (o GetCheckStructuresStructureArrayOutput) ToGetCheckStructuresStructureArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureArrayOutput { + return o +} + +func (o GetCheckStructuresStructureArrayOutput) Index(i pulumi.IntInput) GetCheckStructuresStructureOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckStructuresStructure { + return vs[0].([]GetCheckStructuresStructure)[vs[1].(int)] + }).(GetCheckStructuresStructureOutput) +} + +type GetCheckStructuresStructureStandard struct { + // The ID of the section for the check item. + Id int `pulumi:"id"` + // The standards of the check items. + Requirements []GetCheckStructuresStructureStandardRequirement `pulumi:"requirements"` + // The display name of the standard for the check item. + ShowName string `pulumi:"showName"` + // The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + Type string `pulumi:"type"` +} + +// GetCheckStructuresStructureStandardInput is an input type that accepts GetCheckStructuresStructureStandardArgs and GetCheckStructuresStructureStandardOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardInput` via: +// +// GetCheckStructuresStructureStandardArgs{...} +type GetCheckStructuresStructureStandardInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardOutput() GetCheckStructuresStructureStandardOutput + ToGetCheckStructuresStructureStandardOutputWithContext(context.Context) GetCheckStructuresStructureStandardOutput +} + +type GetCheckStructuresStructureStandardArgs struct { + // The ID of the section for the check item. + Id pulumi.IntInput `pulumi:"id"` + // The standards of the check items. + Requirements GetCheckStructuresStructureStandardRequirementArrayInput `pulumi:"requirements"` + // The display name of the standard for the check item. + ShowName pulumi.StringInput `pulumi:"showName"` + // The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetCheckStructuresStructureStandardArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandard)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardArgs) ToGetCheckStructuresStructureStandardOutput() GetCheckStructuresStructureStandardOutput { + return i.ToGetCheckStructuresStructureStandardOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardArgs) ToGetCheckStructuresStructureStandardOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardOutput) +} + +// GetCheckStructuresStructureStandardArrayInput is an input type that accepts GetCheckStructuresStructureStandardArray and GetCheckStructuresStructureStandardArrayOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardArrayInput` via: +// +// GetCheckStructuresStructureStandardArray{ GetCheckStructuresStructureStandardArgs{...} } +type GetCheckStructuresStructureStandardArrayInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardArrayOutput() GetCheckStructuresStructureStandardArrayOutput + ToGetCheckStructuresStructureStandardArrayOutputWithContext(context.Context) GetCheckStructuresStructureStandardArrayOutput +} + +type GetCheckStructuresStructureStandardArray []GetCheckStructuresStructureStandardInput + +func (GetCheckStructuresStructureStandardArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandard)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardArray) ToGetCheckStructuresStructureStandardArrayOutput() GetCheckStructuresStructureStandardArrayOutput { + return i.ToGetCheckStructuresStructureStandardArrayOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardArray) ToGetCheckStructuresStructureStandardArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardArrayOutput) +} + +type GetCheckStructuresStructureStandardOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandard)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardOutput) ToGetCheckStructuresStructureStandardOutput() GetCheckStructuresStructureStandardOutput { + return o +} + +func (o GetCheckStructuresStructureStandardOutput) ToGetCheckStructuresStructureStandardOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardOutput { + return o +} + +// The ID of the section for the check item. +func (o GetCheckStructuresStructureStandardOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandard) int { return v.Id }).(pulumi.IntOutput) +} + +// The standards of the check items. +func (o GetCheckStructuresStructureStandardOutput) Requirements() GetCheckStructuresStructureStandardRequirementArrayOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandard) []GetCheckStructuresStructureStandardRequirement { + return v.Requirements + }).(GetCheckStructuresStructureStandardRequirementArrayOutput) +} + +// The display name of the standard for the check item. +func (o GetCheckStructuresStructureStandardOutput) ShowName() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandard) string { return v.ShowName }).(pulumi.StringOutput) +} + +// The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. +func (o GetCheckStructuresStructureStandardOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandard) string { return v.Type }).(pulumi.StringOutput) +} + +type GetCheckStructuresStructureStandardArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandard)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardArrayOutput) ToGetCheckStructuresStructureStandardArrayOutput() GetCheckStructuresStructureStandardArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardArrayOutput) ToGetCheckStructuresStructureStandardArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardArrayOutput) Index(i pulumi.IntInput) GetCheckStructuresStructureStandardOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckStructuresStructureStandard { + return vs[0].([]GetCheckStructuresStructureStandard)[vs[1].(int)] + }).(GetCheckStructuresStructureStandardOutput) +} + +type GetCheckStructuresStructureStandardRequirement struct { + // The ID of the section for the check item. + Id int `pulumi:"id"` + // The information about the sections of check items. + Sections []GetCheckStructuresStructureStandardRequirementSection `pulumi:"sections"` + // The display name of the standard for the check item. + ShowName string `pulumi:"showName"` + // The total number of check items for the requirement. + TotalCheckCount int `pulumi:"totalCheckCount"` +} + +// GetCheckStructuresStructureStandardRequirementInput is an input type that accepts GetCheckStructuresStructureStandardRequirementArgs and GetCheckStructuresStructureStandardRequirementOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardRequirementInput` via: +// +// GetCheckStructuresStructureStandardRequirementArgs{...} +type GetCheckStructuresStructureStandardRequirementInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardRequirementOutput() GetCheckStructuresStructureStandardRequirementOutput + ToGetCheckStructuresStructureStandardRequirementOutputWithContext(context.Context) GetCheckStructuresStructureStandardRequirementOutput +} + +type GetCheckStructuresStructureStandardRequirementArgs struct { + // The ID of the section for the check item. + Id pulumi.IntInput `pulumi:"id"` + // The information about the sections of check items. + Sections GetCheckStructuresStructureStandardRequirementSectionArrayInput `pulumi:"sections"` + // The display name of the standard for the check item. + ShowName pulumi.StringInput `pulumi:"showName"` + // The total number of check items for the requirement. + TotalCheckCount pulumi.IntInput `pulumi:"totalCheckCount"` +} + +func (GetCheckStructuresStructureStandardRequirementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandardRequirement)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardRequirementArgs) ToGetCheckStructuresStructureStandardRequirementOutput() GetCheckStructuresStructureStandardRequirementOutput { + return i.ToGetCheckStructuresStructureStandardRequirementOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardRequirementArgs) ToGetCheckStructuresStructureStandardRequirementOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardRequirementOutput) +} + +// GetCheckStructuresStructureStandardRequirementArrayInput is an input type that accepts GetCheckStructuresStructureStandardRequirementArray and GetCheckStructuresStructureStandardRequirementArrayOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardRequirementArrayInput` via: +// +// GetCheckStructuresStructureStandardRequirementArray{ GetCheckStructuresStructureStandardRequirementArgs{...} } +type GetCheckStructuresStructureStandardRequirementArrayInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardRequirementArrayOutput() GetCheckStructuresStructureStandardRequirementArrayOutput + ToGetCheckStructuresStructureStandardRequirementArrayOutputWithContext(context.Context) GetCheckStructuresStructureStandardRequirementArrayOutput +} + +type GetCheckStructuresStructureStandardRequirementArray []GetCheckStructuresStructureStandardRequirementInput + +func (GetCheckStructuresStructureStandardRequirementArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandardRequirement)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardRequirementArray) ToGetCheckStructuresStructureStandardRequirementArrayOutput() GetCheckStructuresStructureStandardRequirementArrayOutput { + return i.ToGetCheckStructuresStructureStandardRequirementArrayOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardRequirementArray) ToGetCheckStructuresStructureStandardRequirementArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardRequirementArrayOutput) +} + +type GetCheckStructuresStructureStandardRequirementOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardRequirementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandardRequirement)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardRequirementOutput) ToGetCheckStructuresStructureStandardRequirementOutput() GetCheckStructuresStructureStandardRequirementOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementOutput) ToGetCheckStructuresStructureStandardRequirementOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementOutput { + return o +} + +// The ID of the section for the check item. +func (o GetCheckStructuresStructureStandardRequirementOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirement) int { return v.Id }).(pulumi.IntOutput) +} + +// The information about the sections of check items. +func (o GetCheckStructuresStructureStandardRequirementOutput) Sections() GetCheckStructuresStructureStandardRequirementSectionArrayOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirement) []GetCheckStructuresStructureStandardRequirementSection { + return v.Sections + }).(GetCheckStructuresStructureStandardRequirementSectionArrayOutput) +} + +// The display name of the standard for the check item. +func (o GetCheckStructuresStructureStandardRequirementOutput) ShowName() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirement) string { return v.ShowName }).(pulumi.StringOutput) +} + +// The total number of check items for the requirement. +func (o GetCheckStructuresStructureStandardRequirementOutput) TotalCheckCount() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirement) int { return v.TotalCheckCount }).(pulumi.IntOutput) +} + +type GetCheckStructuresStructureStandardRequirementArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardRequirementArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandardRequirement)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardRequirementArrayOutput) ToGetCheckStructuresStructureStandardRequirementArrayOutput() GetCheckStructuresStructureStandardRequirementArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementArrayOutput) ToGetCheckStructuresStructureStandardRequirementArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementArrayOutput) Index(i pulumi.IntInput) GetCheckStructuresStructureStandardRequirementOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckStructuresStructureStandardRequirement { + return vs[0].([]GetCheckStructuresStructureStandardRequirement)[vs[1].(int)] + }).(GetCheckStructuresStructureStandardRequirementOutput) +} + +type GetCheckStructuresStructureStandardRequirementSection struct { + // The ID of the section for the check item. + Id int `pulumi:"id"` + // The display name of the standard for the check item. + ShowName string `pulumi:"showName"` +} + +// GetCheckStructuresStructureStandardRequirementSectionInput is an input type that accepts GetCheckStructuresStructureStandardRequirementSectionArgs and GetCheckStructuresStructureStandardRequirementSectionOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardRequirementSectionInput` via: +// +// GetCheckStructuresStructureStandardRequirementSectionArgs{...} +type GetCheckStructuresStructureStandardRequirementSectionInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardRequirementSectionOutput() GetCheckStructuresStructureStandardRequirementSectionOutput + ToGetCheckStructuresStructureStandardRequirementSectionOutputWithContext(context.Context) GetCheckStructuresStructureStandardRequirementSectionOutput +} + +type GetCheckStructuresStructureStandardRequirementSectionArgs struct { + // The ID of the section for the check item. + Id pulumi.IntInput `pulumi:"id"` + // The display name of the standard for the check item. + ShowName pulumi.StringInput `pulumi:"showName"` +} + +func (GetCheckStructuresStructureStandardRequirementSectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementSection)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardRequirementSectionArgs) ToGetCheckStructuresStructureStandardRequirementSectionOutput() GetCheckStructuresStructureStandardRequirementSectionOutput { + return i.ToGetCheckStructuresStructureStandardRequirementSectionOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardRequirementSectionArgs) ToGetCheckStructuresStructureStandardRequirementSectionOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementSectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardRequirementSectionOutput) +} + +// GetCheckStructuresStructureStandardRequirementSectionArrayInput is an input type that accepts GetCheckStructuresStructureStandardRequirementSectionArray and GetCheckStructuresStructureStandardRequirementSectionArrayOutput values. +// You can construct a concrete instance of `GetCheckStructuresStructureStandardRequirementSectionArrayInput` via: +// +// GetCheckStructuresStructureStandardRequirementSectionArray{ GetCheckStructuresStructureStandardRequirementSectionArgs{...} } +type GetCheckStructuresStructureStandardRequirementSectionArrayInput interface { + pulumi.Input + + ToGetCheckStructuresStructureStandardRequirementSectionArrayOutput() GetCheckStructuresStructureStandardRequirementSectionArrayOutput + ToGetCheckStructuresStructureStandardRequirementSectionArrayOutputWithContext(context.Context) GetCheckStructuresStructureStandardRequirementSectionArrayOutput +} + +type GetCheckStructuresStructureStandardRequirementSectionArray []GetCheckStructuresStructureStandardRequirementSectionInput + +func (GetCheckStructuresStructureStandardRequirementSectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandardRequirementSection)(nil)).Elem() +} + +func (i GetCheckStructuresStructureStandardRequirementSectionArray) ToGetCheckStructuresStructureStandardRequirementSectionArrayOutput() GetCheckStructuresStructureStandardRequirementSectionArrayOutput { + return i.ToGetCheckStructuresStructureStandardRequirementSectionArrayOutputWithContext(context.Background()) +} + +func (i GetCheckStructuresStructureStandardRequirementSectionArray) ToGetCheckStructuresStructureStandardRequirementSectionArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementSectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCheckStructuresStructureStandardRequirementSectionArrayOutput) +} + +type GetCheckStructuresStructureStandardRequirementSectionOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardRequirementSectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementSection)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardRequirementSectionOutput) ToGetCheckStructuresStructureStandardRequirementSectionOutput() GetCheckStructuresStructureStandardRequirementSectionOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementSectionOutput) ToGetCheckStructuresStructureStandardRequirementSectionOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementSectionOutput { + return o +} + +// The ID of the section for the check item. +func (o GetCheckStructuresStructureStandardRequirementSectionOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirementSection) int { return v.Id }).(pulumi.IntOutput) +} + +// The display name of the standard for the check item. +func (o GetCheckStructuresStructureStandardRequirementSectionOutput) ShowName() pulumi.StringOutput { + return o.ApplyT(func(v GetCheckStructuresStructureStandardRequirementSection) string { return v.ShowName }).(pulumi.StringOutput) +} + +type GetCheckStructuresStructureStandardRequirementSectionArrayOutput struct{ *pulumi.OutputState } + +func (GetCheckStructuresStructureStandardRequirementSectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCheckStructuresStructureStandardRequirementSection)(nil)).Elem() +} + +func (o GetCheckStructuresStructureStandardRequirementSectionArrayOutput) ToGetCheckStructuresStructureStandardRequirementSectionArrayOutput() GetCheckStructuresStructureStandardRequirementSectionArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementSectionArrayOutput) ToGetCheckStructuresStructureStandardRequirementSectionArrayOutputWithContext(ctx context.Context) GetCheckStructuresStructureStandardRequirementSectionArrayOutput { + return o +} + +func (o GetCheckStructuresStructureStandardRequirementSectionArrayOutput) Index(i pulumi.IntInput) GetCheckStructuresStructureStandardRequirementSectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCheckStructuresStructureStandardRequirementSection { + return vs[0].([]GetCheckStructuresStructureStandardRequirementSection)[vs[1].(int)] + }).(GetCheckStructuresStructureStandardRequirementSectionOutput) +} + type GetHoneyPotsPot struct { // Honeypot ID. HoneypotId string `pulumi:"honeypotId"` @@ -3236,6 +4187,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AntiBruteForceRuleProtocolTypePtrInput)(nil)).Elem(), AntiBruteForceRuleProtocolTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AttackPathSensitiveAssetConfigAttackPathAssetListInput)(nil)).Elem(), AttackPathSensitiveAssetConfigAttackPathAssetListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AttackPathSensitiveAssetConfigAttackPathAssetListArrayInput)(nil)).Elem(), AttackPathSensitiveAssetConfigAttackPathAssetListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckConfigSelectedCheckInput)(nil)).Elem(), CheckConfigSelectedCheckArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CheckConfigSelectedCheckArrayInput)(nil)).Elem(), CheckConfigSelectedCheckArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HoneypotPresetMetaInput)(nil)).Elem(), HoneypotPresetMetaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HoneypotPresetMetaPtrInput)(nil)).Elem(), HoneypotPresetMetaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HoneypotProbeHoneypotBindListInput)(nil)).Elem(), HoneypotProbeHoneypotBindListArgs{}) @@ -3252,6 +4205,19 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetBackupPoliciesPolicyArrayInput)(nil)).Elem(), GetBackupPoliciesPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBaselineStrategiesStrategyInput)(nil)).Elem(), GetBaselineStrategiesStrategyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBaselineStrategiesStrategyArrayInput)(nil)).Elem(), GetBaselineStrategiesStrategyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckItemConfigsConfigInput)(nil)).Elem(), GetCheckItemConfigsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckItemConfigsConfigArrayInput)(nil)).Elem(), GetCheckItemConfigsConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckItemConfigsConfigCustomConfigInput)(nil)).Elem(), GetCheckItemConfigsConfigCustomConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckItemConfigsConfigCustomConfigArrayInput)(nil)).Elem(), GetCheckItemConfigsConfigCustomConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckItemConfigsConfigDescriptionInput)(nil)).Elem(), GetCheckItemConfigsConfigDescriptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureInput)(nil)).Elem(), GetCheckStructuresStructureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureArrayInput)(nil)).Elem(), GetCheckStructuresStructureArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardInput)(nil)).Elem(), GetCheckStructuresStructureStandardArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardArrayInput)(nil)).Elem(), GetCheckStructuresStructureStandardArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementInput)(nil)).Elem(), GetCheckStructuresStructureStandardRequirementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementArrayInput)(nil)).Elem(), GetCheckStructuresStructureStandardRequirementArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementSectionInput)(nil)).Elem(), GetCheckStructuresStructureStandardRequirementSectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCheckStructuresStructureStandardRequirementSectionArrayInput)(nil)).Elem(), GetCheckStructuresStructureStandardRequirementSectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetHoneyPotsPotInput)(nil)).Elem(), GetHoneyPotsPotArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetHoneyPotsPotArrayInput)(nil)).Elem(), GetHoneyPotsPotArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetHoneypotImagesImageInput)(nil)).Elem(), GetHoneypotImagesImageArgs{}) @@ -3278,6 +4244,8 @@ func init() { pulumi.RegisterOutputType(AntiBruteForceRuleProtocolTypePtrOutput{}) pulumi.RegisterOutputType(AttackPathSensitiveAssetConfigAttackPathAssetListOutput{}) pulumi.RegisterOutputType(AttackPathSensitiveAssetConfigAttackPathAssetListArrayOutput{}) + pulumi.RegisterOutputType(CheckConfigSelectedCheckOutput{}) + pulumi.RegisterOutputType(CheckConfigSelectedCheckArrayOutput{}) pulumi.RegisterOutputType(HoneypotPresetMetaOutput{}) pulumi.RegisterOutputType(HoneypotPresetMetaPtrOutput{}) pulumi.RegisterOutputType(HoneypotProbeHoneypotBindListOutput{}) @@ -3294,6 +4262,19 @@ func init() { pulumi.RegisterOutputType(GetBackupPoliciesPolicyArrayOutput{}) pulumi.RegisterOutputType(GetBaselineStrategiesStrategyOutput{}) pulumi.RegisterOutputType(GetBaselineStrategiesStrategyArrayOutput{}) + pulumi.RegisterOutputType(GetCheckItemConfigsConfigOutput{}) + pulumi.RegisterOutputType(GetCheckItemConfigsConfigArrayOutput{}) + pulumi.RegisterOutputType(GetCheckItemConfigsConfigCustomConfigOutput{}) + pulumi.RegisterOutputType(GetCheckItemConfigsConfigCustomConfigArrayOutput{}) + pulumi.RegisterOutputType(GetCheckItemConfigsConfigDescriptionOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureArrayOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardArrayOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardRequirementOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardRequirementArrayOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardRequirementSectionOutput{}) + pulumi.RegisterOutputType(GetCheckStructuresStructureStandardRequirementSectionArrayOutput{}) pulumi.RegisterOutputType(GetHoneyPotsPotOutput{}) pulumi.RegisterOutputType(GetHoneyPotsPotArrayOutput{}) pulumi.RegisterOutputType(GetHoneypotImagesImageOutput{}) diff --git a/sdk/go/alicloud/threatdetection/sasTrail.go b/sdk/go/alicloud/threatdetection/sasTrail.go index 624b48b8b0..84da16c147 100644 --- a/sdk/go/alicloud/threatdetection/sasTrail.go +++ b/sdk/go/alicloud/threatdetection/sasTrail.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Sas Trail can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/vulWhitelist.go b/sdk/go/alicloud/threatdetection/vulWhitelist.go index 665092e486..6ac4cad50c 100644 --- a/sdk/go/alicloud/threatdetection/vulWhitelist.go +++ b/sdk/go/alicloud/threatdetection/vulWhitelist.go @@ -48,6 +48,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Vul Whitelist can be imported using the id, e.g. diff --git a/sdk/go/alicloud/threatdetection/webLockConfig.go b/sdk/go/alicloud/threatdetection/webLockConfig.go index a1c7f8e8f4..d9b198e070 100644 --- a/sdk/go/alicloud/threatdetection/webLockConfig.go +++ b/sdk/go/alicloud/threatdetection/webLockConfig.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Threat Detection Web Lock Config can be imported using the id, e.g. diff --git a/sdk/go/alicloud/tsdb/instance.go b/sdk/go/alicloud/tsdb/instance.go index 561d59b194..efed868614 100644 --- a/sdk/go/alicloud/tsdb/instance.go +++ b/sdk/go/alicloud/tsdb/instance.go @@ -73,6 +73,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // TSDB Instance can be imported using the id, e.g. diff --git a/sdk/go/alicloud/videosurveillance/systemGroup.go b/sdk/go/alicloud/videosurveillance/systemGroup.go index ec1858c6f0..b27d38517a 100644 --- a/sdk/go/alicloud/videosurveillance/systemGroup.go +++ b/sdk/go/alicloud/videosurveillance/systemGroup.go @@ -50,6 +50,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Video Surveillance System Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vod/domain.go b/sdk/go/alicloud/vod/domain.go index 93f83e2e8c..7d5fa6e673 100644 --- a/sdk/go/alicloud/vod/domain.go +++ b/sdk/go/alicloud/vod/domain.go @@ -68,6 +68,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VOD Domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vod/editingProject.go b/sdk/go/alicloud/vod/editingProject.go index fbb71299f3..fc84c4c920 100644 --- a/sdk/go/alicloud/vod/editingProject.go +++ b/sdk/go/alicloud/vod/editingProject.go @@ -77,6 +77,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VOD Editing Project can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/bgpGroup.go b/sdk/go/alicloud/vpc/bgpGroup.go index 23cd71c218..f3826d5fca 100644 --- a/sdk/go/alicloud/vpc/bgpGroup.go +++ b/sdk/go/alicloud/vpc/bgpGroup.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Bgp Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/bgpNetwork.go b/sdk/go/alicloud/vpc/bgpNetwork.go index 15a36f77da..69f401301d 100644 --- a/sdk/go/alicloud/vpc/bgpNetwork.go +++ b/sdk/go/alicloud/vpc/bgpNetwork.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Bgp Network can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/bgpPeer.go b/sdk/go/alicloud/vpc/bgpPeer.go index 845518b3c5..6798ca786e 100644 --- a/sdk/go/alicloud/vpc/bgpPeer.go +++ b/sdk/go/alicloud/vpc/bgpPeer.go @@ -96,6 +96,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Bgp Peer can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/commonBandwithPackageAttachment.go b/sdk/go/alicloud/vpc/commonBandwithPackageAttachment.go index 271322bb6d..3668295f1f 100644 --- a/sdk/go/alicloud/vpc/commonBandwithPackageAttachment.go +++ b/sdk/go/alicloud/vpc/commonBandwithPackageAttachment.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/dhcpOptionsSet.go b/sdk/go/alicloud/vpc/dhcpOptionsSet.go index 6c142461ba..7fe7eda4b7 100644 --- a/sdk/go/alicloud/vpc/dhcpOptionsSet.go +++ b/sdk/go/alicloud/vpc/dhcpOptionsSet.go @@ -60,6 +60,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Dhcp Options Set can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/dhcpOptionsSetAttachment.go b/sdk/go/alicloud/vpc/dhcpOptionsSetAttachment.go index 0e8f65ac55..62e463704d 100644 --- a/sdk/go/alicloud/vpc/dhcpOptionsSetAttachment.go +++ b/sdk/go/alicloud/vpc/dhcpOptionsSetAttachment.go @@ -69,6 +69,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Dhcp Options Set Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/flowLog.go b/sdk/go/alicloud/vpc/flowLog.go index f1c9343d0e..328e82b4d8 100644 --- a/sdk/go/alicloud/vpc/flowLog.go +++ b/sdk/go/alicloud/vpc/flowLog.go @@ -118,6 +118,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Flow Log can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/forwardEntry.go b/sdk/go/alicloud/vpc/forwardEntry.go index 6daa0fec56..ae82ff1774 100644 --- a/sdk/go/alicloud/vpc/forwardEntry.go +++ b/sdk/go/alicloud/vpc/forwardEntry.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Forward Entry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/gatewayEndpoint.go b/sdk/go/alicloud/vpc/gatewayEndpoint.go index 5aa7dcc743..20214ac983 100644 --- a/sdk/go/alicloud/vpc/gatewayEndpoint.go +++ b/sdk/go/alicloud/vpc/gatewayEndpoint.go @@ -88,6 +88,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Gateway Endpoint can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/gatewayEndpointRouteTableAttachment.go b/sdk/go/alicloud/vpc/gatewayEndpointRouteTableAttachment.go index 7c4a21ed56..7a0569b4ea 100644 --- a/sdk/go/alicloud/vpc/gatewayEndpointRouteTableAttachment.go +++ b/sdk/go/alicloud/vpc/gatewayEndpointRouteTableAttachment.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/gatewayRouteTableAttachment.go b/sdk/go/alicloud/vpc/gatewayRouteTableAttachment.go index 50f8214dbc..b5ef123b21 100644 --- a/sdk/go/alicloud/vpc/gatewayRouteTableAttachment.go +++ b/sdk/go/alicloud/vpc/gatewayRouteTableAttachment.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Gateway Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/haVipv2.go b/sdk/go/alicloud/vpc/haVipv2.go index 8e8dd62897..07613292a1 100644 --- a/sdk/go/alicloud/vpc/haVipv2.go +++ b/sdk/go/alicloud/vpc/haVipv2.go @@ -100,6 +100,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ha Vip can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/havip.go b/sdk/go/alicloud/vpc/havip.go index 8e9857016d..384959f6d7 100644 --- a/sdk/go/alicloud/vpc/havip.go +++ b/sdk/go/alicloud/vpc/havip.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The havip can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/havipAttachment.go b/sdk/go/alicloud/vpc/havipAttachment.go index 6d5f80a56f..18947dc413 100644 --- a/sdk/go/alicloud/vpc/havipAttachment.go +++ b/sdk/go/alicloud/vpc/havipAttachment.go @@ -126,6 +126,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ha Vip Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpam.go b/sdk/go/alicloud/vpc/ipamIpam.go index d91493f227..73f8c0770f 100644 --- a/sdk/go/alicloud/vpc/ipamIpam.go +++ b/sdk/go/alicloud/vpc/ipamIpam.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpamPool.go b/sdk/go/alicloud/vpc/ipamIpamPool.go index de81313408..fdacac1dc5 100644 --- a/sdk/go/alicloud/vpc/ipamIpamPool.go +++ b/sdk/go/alicloud/vpc/ipamIpamPool.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam Pool can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpamPoolAllocation.go b/sdk/go/alicloud/vpc/ipamIpamPoolAllocation.go index 749162069f..d71e55e801 100644 --- a/sdk/go/alicloud/vpc/ipamIpamPoolAllocation.go +++ b/sdk/go/alicloud/vpc/ipamIpamPoolAllocation.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpamPoolCidr.go b/sdk/go/alicloud/vpc/ipamIpamPoolCidr.go index a04c4fcb64..aede82eae1 100644 --- a/sdk/go/alicloud/vpc/ipamIpamPoolCidr.go +++ b/sdk/go/alicloud/vpc/ipamIpamPoolCidr.go @@ -71,6 +71,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpamResourceDiscovery.go b/sdk/go/alicloud/vpc/ipamIpamResourceDiscovery.go index b47bc432c4..1d66c4e286 100644 --- a/sdk/go/alicloud/vpc/ipamIpamResourceDiscovery.go +++ b/sdk/go/alicloud/vpc/ipamIpamResourceDiscovery.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipamIpamScope.go b/sdk/go/alicloud/vpc/ipamIpamScope.go index 0aee608ecf..85c1999f04 100644 --- a/sdk/go/alicloud/vpc/ipamIpamScope.go +++ b/sdk/go/alicloud/vpc/ipamIpamScope.go @@ -66,6 +66,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipam Ipam Scope can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv4CidrBlock.go b/sdk/go/alicloud/vpc/ipv4CidrBlock.go index affd64c136..4f8586c0df 100644 --- a/sdk/go/alicloud/vpc/ipv4CidrBlock.go +++ b/sdk/go/alicloud/vpc/ipv4CidrBlock.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ipv4 Cidr Block can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv4Gateway.go b/sdk/go/alicloud/vpc/ipv4Gateway.go index 7884b9ce94..d34a6b469e 100644 --- a/sdk/go/alicloud/vpc/ipv4Gateway.go +++ b/sdk/go/alicloud/vpc/ipv4Gateway.go @@ -72,6 +72,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ipv4 Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv6Address.go b/sdk/go/alicloud/vpc/ipv6Address.go index 7dc02031b9..7855425f6f 100644 --- a/sdk/go/alicloud/vpc/ipv6Address.go +++ b/sdk/go/alicloud/vpc/ipv6Address.go @@ -86,6 +86,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ipv6 Address can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv6EgressRule.go b/sdk/go/alicloud/vpc/ipv6EgressRule.go index 3e912260ca..0a27d9b18f 100644 --- a/sdk/go/alicloud/vpc/ipv6EgressRule.go +++ b/sdk/go/alicloud/vpc/ipv6EgressRule.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ipv6 Egress Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv6Gateway.go b/sdk/go/alicloud/vpc/ipv6Gateway.go index b276602c4e..66f8ef6bd5 100644 --- a/sdk/go/alicloud/vpc/ipv6Gateway.go +++ b/sdk/go/alicloud/vpc/ipv6Gateway.go @@ -79,6 +79,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Ipv6 Gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/ipv6InternetBandwidth.go b/sdk/go/alicloud/vpc/ipv6InternetBandwidth.go index 4572cdf68d..8b7d90f13b 100644 --- a/sdk/go/alicloud/vpc/ipv6InternetBandwidth.go +++ b/sdk/go/alicloud/vpc/ipv6InternetBandwidth.go @@ -134,6 +134,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/natGateway.go b/sdk/go/alicloud/vpc/natGateway.go index d432db51c0..7f4d4a8f08 100644 --- a/sdk/go/alicloud/vpc/natGateway.go +++ b/sdk/go/alicloud/vpc/natGateway.go @@ -143,6 +143,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Nat gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/natIp.go b/sdk/go/alicloud/vpc/natIp.go index b98b966e07..901828d7b4 100644 --- a/sdk/go/alicloud/vpc/natIp.go +++ b/sdk/go/alicloud/vpc/natIp.go @@ -94,6 +94,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Nat Ip can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/natIpCidr.go b/sdk/go/alicloud/vpc/natIpCidr.go index 8e34160106..25e91dcc61 100644 --- a/sdk/go/alicloud/vpc/natIpCidr.go +++ b/sdk/go/alicloud/vpc/natIpCidr.go @@ -83,6 +83,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Nat Ip Cidr can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/network.go b/sdk/go/alicloud/vpc/network.go index c086a86f70..57cb957ff9 100644 --- a/sdk/go/alicloud/vpc/network.go +++ b/sdk/go/alicloud/vpc/network.go @@ -64,6 +64,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC VPC can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/networkAcl.go b/sdk/go/alicloud/vpc/networkAcl.go index 6d2b6d3ac2..eee2a9942a 100644 --- a/sdk/go/alicloud/vpc/networkAcl.go +++ b/sdk/go/alicloud/vpc/networkAcl.go @@ -20,6 +20,8 @@ import ( // // > **NOTE:** Available since v1.43.0. // +// > **WARNING:** Do not mix the use of the `resources` field in this resource with the separate `vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. +// // ## Example Usage // // # Basic Usage @@ -107,6 +109,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Network Acl can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/networkAclAttachment.go b/sdk/go/alicloud/vpc/networkAclAttachment.go index c1eae54f59..b52c99dc07 100644 --- a/sdk/go/alicloud/vpc/networkAclAttachment.go +++ b/sdk/go/alicloud/vpc/networkAclAttachment.go @@ -17,7 +17,9 @@ import ( // > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. // Note that because this resource conflicts with the `resources` attribute of `vpc.NetworkAcl`, this resource can no be used. // -// > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. +// > **WARNING:** Do not mix the use of this deprecated resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `resources` field in `vpc.NetworkAcl`. +// +// > **NOTE:** Available since v1.44.0. // // ## Example Usage // @@ -88,6 +90,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type NetworkAclAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/vpc/networkAclEntries.go b/sdk/go/alicloud/vpc/networkAclEntries.go index 01c7041e28..1badb070e4 100644 --- a/sdk/go/alicloud/vpc/networkAclEntries.go +++ b/sdk/go/alicloud/vpc/networkAclEntries.go @@ -117,6 +117,8 @@ import ( // } // // ``` +// +// 📚 Need more examples? VIEW MORE EXAMPLES type NetworkAclEntries struct { pulumi.CustomResourceState diff --git a/sdk/go/alicloud/vpc/networkInterface.go b/sdk/go/alicloud/vpc/networkInterface.go index 2e8fba1e0c..5b3f50f4f8 100644 --- a/sdk/go/alicloud/vpc/networkInterface.go +++ b/sdk/go/alicloud/vpc/networkInterface.go @@ -89,6 +89,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // ENI can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/peerConnection.go b/sdk/go/alicloud/vpc/peerConnection.go index 39b1f1ce9e..20e43f485c 100644 --- a/sdk/go/alicloud/vpc/peerConnection.go +++ b/sdk/go/alicloud/vpc/peerConnection.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Peer Peer Connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/peerConnectionAccepter.go b/sdk/go/alicloud/vpc/peerConnectionAccepter.go index c699a53654..dd487be25c 100644 --- a/sdk/go/alicloud/vpc/peerConnectionAccepter.go +++ b/sdk/go/alicloud/vpc/peerConnectionAccepter.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Peer Peer Connection Accepter can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/prefixList.go b/sdk/go/alicloud/vpc/prefixList.go index 556eadb47f..8cd574140f 100644 --- a/sdk/go/alicloud/vpc/prefixList.go +++ b/sdk/go/alicloud/vpc/prefixList.go @@ -78,6 +78,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Prefix List can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/publicIpAddressPool.go b/sdk/go/alicloud/vpc/publicIpAddressPool.go index f506f8c5ec..3779c3a880 100644 --- a/sdk/go/alicloud/vpc/publicIpAddressPool.go +++ b/sdk/go/alicloud/vpc/publicIpAddressPool.go @@ -61,6 +61,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Public Ip Address Pool can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/publicIpAddressPoolCidrBlock.go b/sdk/go/alicloud/vpc/publicIpAddressPoolCidrBlock.go index 7b674feff3..78252af3c6 100644 --- a/sdk/go/alicloud/vpc/publicIpAddressPoolCidrBlock.go +++ b/sdk/go/alicloud/vpc/publicIpAddressPoolCidrBlock.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/routeEntry.go b/sdk/go/alicloud/vpc/routeEntry.go index 4008d46ee1..39662c7a1c 100644 --- a/sdk/go/alicloud/vpc/routeEntry.go +++ b/sdk/go/alicloud/vpc/routeEntry.go @@ -120,6 +120,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Module Support // // You can use to the existing vpc module diff --git a/sdk/go/alicloud/vpc/routeTable.go b/sdk/go/alicloud/vpc/routeTable.go index 34b935d121..a0822a2756 100644 --- a/sdk/go/alicloud/vpc/routeTable.go +++ b/sdk/go/alicloud/vpc/routeTable.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Route Table can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/routeTableAttachment.go b/sdk/go/alicloud/vpc/routeTableAttachment.go index 75d2a7f4ea..d01b5a71fd 100644 --- a/sdk/go/alicloud/vpc/routeTableAttachment.go +++ b/sdk/go/alicloud/vpc/routeTableAttachment.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/routerInterface.go b/sdk/go/alicloud/vpc/routerInterface.go index 59ff5a3347..3ee9f30061 100644 --- a/sdk/go/alicloud/vpc/routerInterface.go +++ b/sdk/go/alicloud/vpc/routerInterface.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The router interface can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/routerInterfaceConnection.go b/sdk/go/alicloud/vpc/routerInterfaceConnection.go index 7e2f246345..ef1723e747 100644 --- a/sdk/go/alicloud/vpc/routerInterfaceConnection.go +++ b/sdk/go/alicloud/vpc/routerInterfaceConnection.go @@ -113,6 +113,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // The router interface connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/snatEntry.go b/sdk/go/alicloud/vpc/snatEntry.go index e47bec6c90..0c8ea8690b 100644 --- a/sdk/go/alicloud/vpc/snatEntry.go +++ b/sdk/go/alicloud/vpc/snatEntry.go @@ -101,6 +101,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // NAT Gateway Snat Entry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/switch.go b/sdk/go/alicloud/vpc/switch.go index f9680a70cc..8a9dabddf8 100644 --- a/sdk/go/alicloud/vpc/switch.go +++ b/sdk/go/alicloud/vpc/switch.go @@ -167,6 +167,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Vswitch can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/trafficMirrorFilter.go b/sdk/go/alicloud/vpc/trafficMirrorFilter.go index 374cfb9500..f8c85bf263 100644 --- a/sdk/go/alicloud/vpc/trafficMirrorFilter.go +++ b/sdk/go/alicloud/vpc/trafficMirrorFilter.go @@ -92,6 +92,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Traffic Mirror Filter can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/trafficMirrorFilterEgressRule.go b/sdk/go/alicloud/vpc/trafficMirrorFilterEgressRule.go index 5d56acc1b3..39ecd9b2a1 100644 --- a/sdk/go/alicloud/vpc/trafficMirrorFilterEgressRule.go +++ b/sdk/go/alicloud/vpc/trafficMirrorFilterEgressRule.go @@ -57,6 +57,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/trafficMirrorFilterIngressRule.go b/sdk/go/alicloud/vpc/trafficMirrorFilterIngressRule.go index 994d7ad8e8..6a73a465e9 100644 --- a/sdk/go/alicloud/vpc/trafficMirrorFilterIngressRule.go +++ b/sdk/go/alicloud/vpc/trafficMirrorFilterIngressRule.go @@ -59,6 +59,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/trafficMirrorSession.go b/sdk/go/alicloud/vpc/trafficMirrorSession.go index b43f69e2f1..3e6d216fd6 100644 --- a/sdk/go/alicloud/vpc/trafficMirrorSession.go +++ b/sdk/go/alicloud/vpc/trafficMirrorSession.go @@ -165,6 +165,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Traffic Mirror Session can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/vbrHa.go b/sdk/go/alicloud/vpc/vbrHa.go index 9cf89da872..ce28870e97 100644 --- a/sdk/go/alicloud/vpc/vbrHa.go +++ b/sdk/go/alicloud/vpc/vbrHa.go @@ -135,6 +135,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Express Connect Vbr Ha can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/vpcNetworkAclAttachment.go b/sdk/go/alicloud/vpc/vpcNetworkAclAttachment.go index 572fe81c33..bdefe3cb67 100644 --- a/sdk/go/alicloud/vpc/vpcNetworkAclAttachment.go +++ b/sdk/go/alicloud/vpc/vpcNetworkAclAttachment.go @@ -12,12 +12,16 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. +// Provides a VPC Network Acl Attachment resource. +// +// Resources associated with network Acl. // // For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). // // > **NOTE:** Available since v1.193.0. // +// > **WARNING:** Do not mix the use of this resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. +// // ## Example Usage // // # Basic Usage @@ -85,6 +89,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Network Acl Attachment can be imported using the id, e.g. @@ -95,9 +101,9 @@ import ( type VpcNetworkAclAttachment struct { pulumi.CustomResourceState - // The ID of the network ACL. + // The ID of the network ACL instance. NetworkAclId pulumi.StringOutput `pulumi:"networkAclId"` - // The ID of the associated resource. + // The ID of the associated vswitch instance. ResourceId pulumi.StringOutput `pulumi:"resourceId"` // The type of the associated resource. Valid values: `VSwitch`. ResourceType pulumi.StringOutput `pulumi:"resourceType"` @@ -144,9 +150,9 @@ func GetVpcNetworkAclAttachment(ctx *pulumi.Context, // Input properties used for looking up and filtering VpcNetworkAclAttachment resources. type vpcNetworkAclAttachmentState struct { - // The ID of the network ACL. + // The ID of the network ACL instance. NetworkAclId *string `pulumi:"networkAclId"` - // The ID of the associated resource. + // The ID of the associated vswitch instance. ResourceId *string `pulumi:"resourceId"` // The type of the associated resource. Valid values: `VSwitch`. ResourceType *string `pulumi:"resourceType"` @@ -155,9 +161,9 @@ type vpcNetworkAclAttachmentState struct { } type VpcNetworkAclAttachmentState struct { - // The ID of the network ACL. + // The ID of the network ACL instance. NetworkAclId pulumi.StringPtrInput - // The ID of the associated resource. + // The ID of the associated vswitch instance. ResourceId pulumi.StringPtrInput // The type of the associated resource. Valid values: `VSwitch`. ResourceType pulumi.StringPtrInput @@ -170,9 +176,9 @@ func (VpcNetworkAclAttachmentState) ElementType() reflect.Type { } type vpcNetworkAclAttachmentArgs struct { - // The ID of the network ACL. + // The ID of the network ACL instance. NetworkAclId string `pulumi:"networkAclId"` - // The ID of the associated resource. + // The ID of the associated vswitch instance. ResourceId string `pulumi:"resourceId"` // The type of the associated resource. Valid values: `VSwitch`. ResourceType string `pulumi:"resourceType"` @@ -180,9 +186,9 @@ type vpcNetworkAclAttachmentArgs struct { // The set of arguments for constructing a VpcNetworkAclAttachment resource. type VpcNetworkAclAttachmentArgs struct { - // The ID of the network ACL. + // The ID of the network ACL instance. NetworkAclId pulumi.StringInput - // The ID of the associated resource. + // The ID of the associated vswitch instance. ResourceId pulumi.StringInput // The type of the associated resource. Valid values: `VSwitch`. ResourceType pulumi.StringInput @@ -275,12 +281,12 @@ func (o VpcNetworkAclAttachmentOutput) ToVpcNetworkAclAttachmentOutputWithContex return o } -// The ID of the network ACL. +// The ID of the network ACL instance. func (o VpcNetworkAclAttachmentOutput) NetworkAclId() pulumi.StringOutput { return o.ApplyT(func(v *VpcNetworkAclAttachment) pulumi.StringOutput { return v.NetworkAclId }).(pulumi.StringOutput) } -// The ID of the associated resource. +// The ID of the associated vswitch instance. func (o VpcNetworkAclAttachmentOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *VpcNetworkAclAttachment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } diff --git a/sdk/go/alicloud/vpc/vpcrouteEntry.go b/sdk/go/alicloud/vpc/vpcrouteEntry.go index aed3085148..3bf9b0b459 100644 --- a/sdk/go/alicloud/vpc/vpcrouteEntry.go +++ b/sdk/go/alicloud/vpc/vpcrouteEntry.go @@ -120,6 +120,8 @@ import ( // } // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPC Route Entry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpc/vswitchCidrReservation.go b/sdk/go/alicloud/vpc/vswitchCidrReservation.go index 26c763b0be..4487c5bab7 100644 --- a/sdk/go/alicloud/vpc/vswitchCidrReservation.go +++ b/sdk/go/alicloud/vpc/vswitchCidrReservation.go @@ -82,6 +82,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Vpc Vswitch Cidr Reservation can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/connection.go b/sdk/go/alicloud/vpn/connection.go index a30bf4c4f1..4594ecd362 100644 --- a/sdk/go/alicloud/vpn/connection.go +++ b/sdk/go/alicloud/vpn/connection.go @@ -182,6 +182,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN connection can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/customerGateway.go b/sdk/go/alicloud/vpn/customerGateway.go index 7a8f0f9005..30f7692341 100644 --- a/sdk/go/alicloud/vpn/customerGateway.go +++ b/sdk/go/alicloud/vpn/customerGateway.go @@ -49,6 +49,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN customer gateway can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/gatewayVcoRoute.go b/sdk/go/alicloud/vpn/gatewayVcoRoute.go index 614dc1274b..fd80d52c49 100644 --- a/sdk/go/alicloud/vpn/gatewayVcoRoute.go +++ b/sdk/go/alicloud/vpn/gatewayVcoRoute.go @@ -153,6 +153,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN Gateway Vco Route can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/gatewayVpnAttachment.go b/sdk/go/alicloud/vpn/gatewayVpnAttachment.go index 1b571540d6..5bd6db946b 100644 --- a/sdk/go/alicloud/vpn/gatewayVpnAttachment.go +++ b/sdk/go/alicloud/vpn/gatewayVpnAttachment.go @@ -216,6 +216,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN Gateway Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/ipsecServer.go b/sdk/go/alicloud/vpn/ipsecServer.go index b16205220d..80a3117c45 100644 --- a/sdk/go/alicloud/vpn/ipsecServer.go +++ b/sdk/go/alicloud/vpn/ipsecServer.go @@ -98,6 +98,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN Ipsec Server can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/pbrRouteEntry.go b/sdk/go/alicloud/vpn/pbrRouteEntry.go index 5afda67318..8aa22ba1a4 100644 --- a/sdk/go/alicloud/vpn/pbrRouteEntry.go +++ b/sdk/go/alicloud/vpn/pbrRouteEntry.go @@ -152,6 +152,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN Pbr route entry can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/routeEntry.go b/sdk/go/alicloud/vpn/routeEntry.go index 2fd35e6852..583c44fa41 100644 --- a/sdk/go/alicloud/vpn/routeEntry.go +++ b/sdk/go/alicloud/vpn/routeEntry.go @@ -145,6 +145,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. diff --git a/sdk/go/alicloud/vpn/sslVpnClientCert.go b/sdk/go/alicloud/vpn/sslVpnClientCert.go index 00c8a123b9..65399a2a6c 100644 --- a/sdk/go/alicloud/vpn/sslVpnClientCert.go +++ b/sdk/go/alicloud/vpn/sslVpnClientCert.go @@ -111,6 +111,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SSL-VPN client certificates can be imported using the id, e.g. diff --git a/sdk/go/alicloud/vpn/sslVpnServer.go b/sdk/go/alicloud/vpn/sslVpnServer.go index 071b389d61..e6c9bedb71 100644 --- a/sdk/go/alicloud/vpn/sslVpnServer.go +++ b/sdk/go/alicloud/vpn/sslVpnServer.go @@ -104,6 +104,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // SSL-VPN server can be imported using the id, e.g. diff --git a/sdk/go/alicloud/waf/certificate.go b/sdk/go/alicloud/waf/certificate.go index 5c50bb0b96..d7fbd733de 100644 --- a/sdk/go/alicloud/waf/certificate.go +++ b/sdk/go/alicloud/waf/certificate.go @@ -58,6 +58,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // WAF Certificate can be imported using the id, e.g. diff --git a/sdk/go/alicloud/waf/domain.go b/sdk/go/alicloud/waf/domain.go index fcbe8b89e7..4babe3f994 100644 --- a/sdk/go/alicloud/waf/domain.go +++ b/sdk/go/alicloud/waf/domain.go @@ -70,6 +70,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // WAF domain can be imported using the id, e.g. diff --git a/sdk/go/alicloud/waf/protectionModule.go b/sdk/go/alicloud/waf/protectionModule.go index 07558a25cc..39c9a7b35f 100644 --- a/sdk/go/alicloud/waf/protectionModule.go +++ b/sdk/go/alicloud/waf/protectionModule.go @@ -84,6 +84,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. diff --git a/sdk/go/alicloud/wafv3/defenseResourceGroup.go b/sdk/go/alicloud/wafv3/defenseResourceGroup.go index cca112e5f3..2dcd74dd83 100644 --- a/sdk/go/alicloud/wafv3/defenseResourceGroup.go +++ b/sdk/go/alicloud/wafv3/defenseResourceGroup.go @@ -122,6 +122,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // WAFV3 Defense Resource Group can be imported using the id, e.g. diff --git a/sdk/go/alicloud/wafv3/defenseRule.go b/sdk/go/alicloud/wafv3/defenseRule.go index ca7cff5638..2313df299e 100644 --- a/sdk/go/alicloud/wafv3/defenseRule.go +++ b/sdk/go/alicloud/wafv3/defenseRule.go @@ -102,6 +102,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // WAFV3 Defense Rule can be imported using the id, e.g. diff --git a/sdk/go/alicloud/wafv3/defenseTemplate.go b/sdk/go/alicloud/wafv3/defenseTemplate.go index 9fbb7f8a56..80e90eb12f 100644 --- a/sdk/go/alicloud/wafv3/defenseTemplate.go +++ b/sdk/go/alicloud/wafv3/defenseTemplate.go @@ -63,6 +63,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // WAFV3 Defense Template can be imported using the id, e.g. diff --git a/sdk/go/alicloud/wafv3/instance.go b/sdk/go/alicloud/wafv3/instance.go index ce39fb1827..7c6f32092d 100644 --- a/sdk/go/alicloud/wafv3/instance.go +++ b/sdk/go/alicloud/wafv3/instance.go @@ -43,6 +43,8 @@ import ( // // ``` // +// 📚 Need more examples? VIEW MORE EXAMPLES +// // ## Import // // Wafv3 Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubContract.java b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubContract.java index 382b2a6822..6a3879d013 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubContract.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubContract.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Contact can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubSubscription.java b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubSubscription.java index 5ca7126812..761c38af94 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubSubscription.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Subscription can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubWebhook.java b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubWebhook.java index fa46cf8c4e..ab2bf97c81 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/MscSubWebhook.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/MscSubWebhook.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Webhook can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServer.java b/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServer.java new file mode 100644 index 0000000000..01734f45c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServer.java @@ -0,0 +1,577 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud; + +import com.pulumi.alicloud.OpenApiExplorerApiMcpServerArgs; +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerState; +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerAdditionalApiDescription; +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerApi; +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerPrompt; +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerTerraformTool; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Open Api Explorer Api Mcp Server resource. + * + * API MCP Server. + * + * For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.OpenApiExplorerApiMcpServer;
+ * import com.pulumi.alicloud.OpenApiExplorerApiMcpServerArgs;
+ * import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerPromptArgs;
+ * import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerApiArgs;
+ * import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs;
+ * import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerTerraformToolArgs;
+ * import static com.pulumi.codegen.internal.Serialization.*;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new OpenApiExplorerApiMcpServer("default", OpenApiExplorerApiMcpServerArgs.builder()
+ *             .systemTools("FetchRamActionDetails")
+ *             .description("Create")
+ *             .prompts(            
+ *                 OpenApiExplorerApiMcpServerPromptArgs.builder()
+ *                     .description("Obtain user customization information description")
+ *                     .content("Prompt body,{{name}}")
+ *                     .arguments(OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()
+ *                         .description("Name information")
+ *                         .required(true)
+ *                         .name("name")
+ *                         .build())
+ *                     .name("Obtain user customization information")
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerPromptArgs.builder()
+ *                     .description("Obtain user customization information description")
+ *                     .content("Prompt text, {{name }}, {{age }}, {{description}}")
+ *                     .arguments(                    
+ *                         OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()
+ *                             .description("Name information")
+ *                             .required(true)
+ *                             .name("name")
+ *                             .build(),
+ *                         OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()
+ *                             .description("Age information")
+ *                             .required(true)
+ *                             .name("age")
+ *                             .build(),
+ *                         OpenApiExplorerApiMcpServerPromptArgumentArgs.builder()
+ *                             .description("Description Information")
+ *                             .required(true)
+ *                             .name("description")
+ *                             .build())
+ *                     .name("Obtain user customization information 1")
+ *                     .build())
+ *             .oauthClientId("123456")
+ *             .apis(            
+ *                 OpenApiExplorerApiMcpServerApiArgs.builder()
+ *                     .apiVersion("2014-05-26")
+ *                     .product("Ecs")
+ *                     .selectors(                    
+ *                         "DescribeAvailableResource",
+ *                         "DescribeRegions",
+ *                         "DescribeZones")
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerApiArgs.builder()
+ *                     .apiVersion("2017-03-21")
+ *                     .product("vod")
+ *                     .selectors("CreateUploadVideo")
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerApiArgs.builder()
+ *                     .apiVersion("2014-05-15")
+ *                     .product("Slb")
+ *                     .selectors("DescribeAvailableResource")
+ *                     .build())
+ *             .instructions("Describes the role of the entire MCP Server")
+ *             .additionalApiDescriptions(            
+ *                 OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()
+ *                     .apiVersion("2014-05-26")
+ *                     .enableOutputSchema(true)
+ *                     .apiName("DescribeAvailableResource")
+ *                     .constParameters(                    
+ *                         OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()
+ *                             .value("cn-hangzhou")
+ *                             .key("x_mcp_region_id")
+ *                             .build(),
+ *                         OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()
+ *                             .value("B1")
+ *                             .key("a1")
+ *                             .build(),
+ *                         OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.builder()
+ *                             .value("b2")
+ *                             .key("a2")
+ *                             .build())
+ *                     .apiOverrideJson(serializeJson(
+ *                         jsonObject(
+ *                             jsonProperty("summary", "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ")
+ *                         )))
+ *                     .product("Ecs")
+ *                     .executeCliCommand(false)
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()
+ *                     .apiVersion("2014-05-26")
+ *                     .enableOutputSchema(true)
+ *                     .apiName("DescribeRegions")
+ *                     .product("Ecs")
+ *                     .executeCliCommand(true)
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.builder()
+ *                     .apiVersion("2014-05-26")
+ *                     .enableOutputSchema(true)
+ *                     .apiName("DescribeZones")
+ *                     .product("Ecs")
+ *                     .executeCliCommand(true)
+ *                     .build())
+ *             .vpcWhitelists(            
+ *                 "vpc-examplea",
+ *                 "vpc-exampleb",
+ *                 "vpc-examplec")
+ *             .name("my-name")
+ *             .language("ZH_CN")
+ *             .enableAssumeRole(true)
+ *             .assumeRoleExtraPolicy(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("Version", "1"),
+ *                     jsonProperty("Statement", jsonArray(jsonObject(
+ *                         jsonProperty("Effect", "Allow"),
+ *                         jsonProperty("Action", jsonArray(
+ *                             "ecs:Describe*", 
+ *                             "vpc:Describe*", 
+ *                             "vpc:List*"
+ *                         )),
+ *                         jsonProperty("Resource", "*")
+ *                     )))
+ *                 )))
+ *             .terraformTools(            
+ *                 OpenApiExplorerApiMcpServerTerraformToolArgs.builder()
+ *                     .description("Terraform as tool example")
+ *                     .async(true)
+ *                     .destroyPolicy("NEVER")
+ *                     .code("""
+ * variable \"name\" {
+ *   default = \"terraform-example\"
+ * }
+ * 
+ * provider \"alicloud\" {
+ *   region = \"cn-beijing\"
+ * }
+ * 
+ * resource \"alicloud_vpc\" \"default\" {
+ *   ipv6_isp    = \"BGP\"
+ *   description = \"example\"
+ *   cidr_block  = \"10.0.0.0/8\"
+ *   vpc_name    = var.name
+ *   enable_ipv6 = true
+ * }
+ *                     """)
+ *                     .name("tfexample")
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerTerraformToolArgs.builder()
+ *                     .description("Terraform as tool example")
+ *                     .async(true)
+ *                     .destroyPolicy("NEVER")
+ *                     .code("""
+ * variable \"name\" {
+ *   default = \"terraform-example\"
+ * }
+ * 
+ * provider \"alicloud\" {
+ *   region = \"cn-beijing\"
+ * }
+ * 
+ * resource \"alicloud_vpc\" \"default\" {
+ *   ipv6_isp    = \"BGP\"
+ *   description = \"example\"
+ *   cidr_block  = \"10.0.0.0/8\"
+ *   vpc_name    = var.name
+ *   enable_ipv6 = true
+ * }
+ *                     """)
+ *                     .name("tfexample2")
+ *                     .build(),
+ *                 OpenApiExplorerApiMcpServerTerraformToolArgs.builder()
+ *                     .description("Terraform as tool example")
+ *                     .async(true)
+ *                     .destroyPolicy("NEVER")
+ *                     .code("""
+ * variable \"name\" {
+ *   default = \"terraform-example\"
+ * }
+ * 
+ * provider \"alicloud\" {
+ *   region = \"cn-beijing\"
+ * }
+ * 
+ * resource \"alicloud_vpc\" \"default\" {
+ *   ipv6_isp    = \"BGP\"
+ *   description = \"example\"
+ *   cidr_block  = \"10.0.0.0/8\"
+ *   vpc_name    = var.name
+ *   enable_ipv6 = true
+ * }
+ *                     """)
+ *                     .name("tfexample3")
+ *                     .build())
+ *             .assumeRoleName("default-role")
+ *             .publicAccess("on")
+ *             .enableCustomVpcWhitelist(true)
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Open Api Explorer Api Mcp Server can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example <id> + * ``` + * + */ +@ResourceType(type="alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer") +public class OpenApiExplorerApiMcpServer extends com.pulumi.resources.CustomResource { + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + @Export(name="additionalApiDescriptions", refs={List.class,OpenApiExplorerApiMcpServerAdditionalApiDescription.class}, tree="[0,1]") + private Output> additionalApiDescriptions; + + /** + * @return Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + public Output>> additionalApiDescriptions() { + return Codegen.optional(this.additionalApiDescriptions); + } + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + @Export(name="apis", refs={List.class,OpenApiExplorerApiMcpServerApi.class}, tree="[0,1]") + private Output> apis; + + /** + * @return The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + public Output> apis() { + return this.apis; + } + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + @Export(name="assumeRoleExtraPolicy", refs={String.class}, tree="[0]") + private Output assumeRoleExtraPolicy; + + /** + * @return When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + public Output> assumeRoleExtraPolicy() { + return Codegen.optional(this.assumeRoleExtraPolicy); + } + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + @Export(name="assumeRoleName", refs={String.class}, tree="[0]") + private Output assumeRoleName; + + /** + * @return The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + public Output> assumeRoleName() { + return Codegen.optional(this.assumeRoleName); + } + /** + * MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + */ + public Output createTime() { + return this.createTime; + } + /** + * Description of the API MCP service. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the API MCP service. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + @Export(name="enableAssumeRole", refs={Boolean.class}, tree="[0]") + private Output enableAssumeRole; + + /** + * @return Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + public Output> enableAssumeRole() { + return Codegen.optional(this.enableAssumeRole); + } + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + @Export(name="enableCustomVpcWhitelist", refs={Boolean.class}, tree="[0]") + private Output enableCustomVpcWhitelist; + + /** + * @return Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + public Output> enableCustomVpcWhitelist() { + return Codegen.optional(this.enableCustomVpcWhitelist); + } + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + @Export(name="instructions", refs={String.class}, tree="[0]") + private Output instructions; + + /** + * @return MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + public Output> instructions() { + return Codegen.optional(this.instructions); + } + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + @Export(name="language", refs={String.class}, tree="[0]") + private Output language; + + /** + * @return Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + public Output> language() { + return Codegen.optional(this.language); + } + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + public Output name() { + return this.name; + } + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + @Export(name="oauthClientId", refs={String.class}, tree="[0]") + private Output oauthClientId; + + /** + * @return The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + public Output> oauthClientId() { + return Codegen.optional(this.oauthClientId); + } + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + @Export(name="prompts", refs={List.class,OpenApiExplorerApiMcpServerPrompt.class}, tree="[0,1]") + private Output> prompts; + + /** + * @return List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + public Output>> prompts() { + return Codegen.optional(this.prompts); + } + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + @Export(name="publicAccess", refs={String.class}, tree="[0]") + private Output publicAccess; + + /** + * @return Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + public Output> publicAccess() { + return Codegen.optional(this.publicAccess); + } + /** + * Enabled system services. + * + */ + @Export(name="systemTools", refs={List.class,String.class}, tree="[0,1]") + private Output> systemTools; + + /** + * @return Enabled system services. + * + */ + public Output>> systemTools() { + return Codegen.optional(this.systemTools); + } + @Export(name="terraformTools", refs={List.class,OpenApiExplorerApiMcpServerTerraformTool.class}, tree="[0,1]") + private Output> terraformTools; + + public Output>> terraformTools() { + return Codegen.optional(this.terraformTools); + } + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + @Export(name="vpcWhitelists", refs={List.class,String.class}, tree="[0,1]") + private Output> vpcWhitelists; + + /** + * @return When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + public Output>> vpcWhitelists() { + return Codegen.optional(this.vpcWhitelists); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public OpenApiExplorerApiMcpServer(java.lang.String name) { + this(name, OpenApiExplorerApiMcpServerArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public OpenApiExplorerApiMcpServer(java.lang.String name, OpenApiExplorerApiMcpServerArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public OpenApiExplorerApiMcpServer(java.lang.String name, OpenApiExplorerApiMcpServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private OpenApiExplorerApiMcpServer(java.lang.String name, Output id, @Nullable OpenApiExplorerApiMcpServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer", name, state, makeResourceOptions(options, id), false); + } + + private static OpenApiExplorerApiMcpServerArgs makeArgs(OpenApiExplorerApiMcpServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? OpenApiExplorerApiMcpServerArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static OpenApiExplorerApiMcpServer get(java.lang.String name, Output id, @Nullable OpenApiExplorerApiMcpServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new OpenApiExplorerApiMcpServer(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServerArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServerArgs.java new file mode 100644 index 0000000000..1fd65f6235 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/OpenApiExplorerApiMcpServerArgs.java @@ -0,0 +1,723 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud; + +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerApiArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerPromptArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerTerraformToolArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerArgs Empty = new OpenApiExplorerApiMcpServerArgs(); + + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + @Import(name="additionalApiDescriptions") + private @Nullable Output> additionalApiDescriptions; + + /** + * @return Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + public Optional>> additionalApiDescriptions() { + return Optional.ofNullable(this.additionalApiDescriptions); + } + + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + @Import(name="apis", required=true) + private Output> apis; + + /** + * @return The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + public Output> apis() { + return this.apis; + } + + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + @Import(name="assumeRoleExtraPolicy") + private @Nullable Output assumeRoleExtraPolicy; + + /** + * @return When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + public Optional> assumeRoleExtraPolicy() { + return Optional.ofNullable(this.assumeRoleExtraPolicy); + } + + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + @Import(name="assumeRoleName") + private @Nullable Output assumeRoleName; + + /** + * @return The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + public Optional> assumeRoleName() { + return Optional.ofNullable(this.assumeRoleName); + } + + /** + * Description of the API MCP service. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the API MCP service. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + @Import(name="enableAssumeRole") + private @Nullable Output enableAssumeRole; + + /** + * @return Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + public Optional> enableAssumeRole() { + return Optional.ofNullable(this.enableAssumeRole); + } + + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + @Import(name="enableCustomVpcWhitelist") + private @Nullable Output enableCustomVpcWhitelist; + + /** + * @return Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + public Optional> enableCustomVpcWhitelist() { + return Optional.ofNullable(this.enableCustomVpcWhitelist); + } + + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + @Import(name="instructions") + private @Nullable Output instructions; + + /** + * @return MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + public Optional> instructions() { + return Optional.ofNullable(this.instructions); + } + + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + @Import(name="language") + private @Nullable Output language; + + /** + * @return Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + public Optional> language() { + return Optional.ofNullable(this.language); + } + + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + @Import(name="oauthClientId") + private @Nullable Output oauthClientId; + + /** + * @return The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + public Optional> oauthClientId() { + return Optional.ofNullable(this.oauthClientId); + } + + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + @Import(name="prompts") + private @Nullable Output> prompts; + + /** + * @return List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + public Optional>> prompts() { + return Optional.ofNullable(this.prompts); + } + + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + @Import(name="publicAccess") + private @Nullable Output publicAccess; + + /** + * @return Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + public Optional> publicAccess() { + return Optional.ofNullable(this.publicAccess); + } + + /** + * Enabled system services. + * + */ + @Import(name="systemTools") + private @Nullable Output> systemTools; + + /** + * @return Enabled system services. + * + */ + public Optional>> systemTools() { + return Optional.ofNullable(this.systemTools); + } + + @Import(name="terraformTools") + private @Nullable Output> terraformTools; + + public Optional>> terraformTools() { + return Optional.ofNullable(this.terraformTools); + } + + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + @Import(name="vpcWhitelists") + private @Nullable Output> vpcWhitelists; + + /** + * @return When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + public Optional>> vpcWhitelists() { + return Optional.ofNullable(this.vpcWhitelists); + } + + private OpenApiExplorerApiMcpServerArgs() {} + + private OpenApiExplorerApiMcpServerArgs(OpenApiExplorerApiMcpServerArgs $) { + this.additionalApiDescriptions = $.additionalApiDescriptions; + this.apis = $.apis; + this.assumeRoleExtraPolicy = $.assumeRoleExtraPolicy; + this.assumeRoleName = $.assumeRoleName; + this.description = $.description; + this.enableAssumeRole = $.enableAssumeRole; + this.enableCustomVpcWhitelist = $.enableCustomVpcWhitelist; + this.instructions = $.instructions; + this.language = $.language; + this.name = $.name; + this.oauthClientId = $.oauthClientId; + this.prompts = $.prompts; + this.publicAccess = $.publicAccess; + this.systemTools = $.systemTools; + this.terraformTools = $.terraformTools; + this.vpcWhitelists = $.vpcWhitelists; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerArgs defaults) { + $ = new OpenApiExplorerApiMcpServerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(@Nullable Output> additionalApiDescriptions) { + $.additionalApiDescriptions = additionalApiDescriptions; + return this; + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(List additionalApiDescriptions) { + return additionalApiDescriptions(Output.of(additionalApiDescriptions)); + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs... additionalApiDescriptions) { + return additionalApiDescriptions(List.of(additionalApiDescriptions)); + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(Output> apis) { + $.apis = apis; + return this; + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(List apis) { + return apis(Output.of(apis)); + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(OpenApiExplorerApiMcpServerApiArgs... apis) { + return apis(List.of(apis)); + } + + /** + * @param assumeRoleExtraPolicy When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + * @return builder + * + */ + public Builder assumeRoleExtraPolicy(@Nullable Output assumeRoleExtraPolicy) { + $.assumeRoleExtraPolicy = assumeRoleExtraPolicy; + return this; + } + + /** + * @param assumeRoleExtraPolicy When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + * @return builder + * + */ + public Builder assumeRoleExtraPolicy(String assumeRoleExtraPolicy) { + return assumeRoleExtraPolicy(Output.of(assumeRoleExtraPolicy)); + } + + /** + * @param assumeRoleName The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + * @return builder + * + */ + public Builder assumeRoleName(@Nullable Output assumeRoleName) { + $.assumeRoleName = assumeRoleName; + return this; + } + + /** + * @param assumeRoleName The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + * @return builder + * + */ + public Builder assumeRoleName(String assumeRoleName) { + return assumeRoleName(Output.of(assumeRoleName)); + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param enableAssumeRole Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + * @return builder + * + */ + public Builder enableAssumeRole(@Nullable Output enableAssumeRole) { + $.enableAssumeRole = enableAssumeRole; + return this; + } + + /** + * @param enableAssumeRole Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + * @return builder + * + */ + public Builder enableAssumeRole(Boolean enableAssumeRole) { + return enableAssumeRole(Output.of(enableAssumeRole)); + } + + /** + * @param enableCustomVpcWhitelist Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + * @return builder + * + */ + public Builder enableCustomVpcWhitelist(@Nullable Output enableCustomVpcWhitelist) { + $.enableCustomVpcWhitelist = enableCustomVpcWhitelist; + return this; + } + + /** + * @param enableCustomVpcWhitelist Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + * @return builder + * + */ + public Builder enableCustomVpcWhitelist(Boolean enableCustomVpcWhitelist) { + return enableCustomVpcWhitelist(Output.of(enableCustomVpcWhitelist)); + } + + /** + * @param instructions MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + * @return builder + * + */ + public Builder instructions(@Nullable Output instructions) { + $.instructions = instructions; + return this; + } + + /** + * @param instructions MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + * @return builder + * + */ + public Builder instructions(String instructions) { + return instructions(Output.of(instructions)); + } + + /** + * @param language Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + * @return builder + * + */ + public Builder language(@Nullable Output language) { + $.language = language; + return this; + } + + /** + * @param language Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + * @return builder + * + */ + public Builder language(String language) { + return language(Output.of(language)); + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param oauthClientId The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + * @return builder + * + */ + public Builder oauthClientId(@Nullable Output oauthClientId) { + $.oauthClientId = oauthClientId; + return this; + } + + /** + * @param oauthClientId The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + * @return builder + * + */ + public Builder oauthClientId(String oauthClientId) { + return oauthClientId(Output.of(oauthClientId)); + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(@Nullable Output> prompts) { + $.prompts = prompts; + return this; + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(List prompts) { + return prompts(Output.of(prompts)); + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(OpenApiExplorerApiMcpServerPromptArgs... prompts) { + return prompts(List.of(prompts)); + } + + /** + * @param publicAccess Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + * @return builder + * + */ + public Builder publicAccess(@Nullable Output publicAccess) { + $.publicAccess = publicAccess; + return this; + } + + /** + * @param publicAccess Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + * @return builder + * + */ + public Builder publicAccess(String publicAccess) { + return publicAccess(Output.of(publicAccess)); + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(@Nullable Output> systemTools) { + $.systemTools = systemTools; + return this; + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(List systemTools) { + return systemTools(Output.of(systemTools)); + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(String... systemTools) { + return systemTools(List.of(systemTools)); + } + + public Builder terraformTools(@Nullable Output> terraformTools) { + $.terraformTools = terraformTools; + return this; + } + + public Builder terraformTools(List terraformTools) { + return terraformTools(Output.of(terraformTools)); + } + + public Builder terraformTools(OpenApiExplorerApiMcpServerTerraformToolArgs... terraformTools) { + return terraformTools(List.of(terraformTools)); + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(@Nullable Output> vpcWhitelists) { + $.vpcWhitelists = vpcWhitelists; + return this; + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(List vpcWhitelists) { + return vpcWhitelists(Output.of(vpcWhitelists)); + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(String... vpcWhitelists) { + return vpcWhitelists(List.of(vpcWhitelists)); + } + + public OpenApiExplorerApiMcpServerArgs build() { + if ($.apis == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerArgs", "apis"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/PolarDbExtension.java b/sdk/java/src/main/java/com/pulumi/alicloud/PolarDbExtension.java index cd2207e7e5..37ccdd4d0b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/PolarDbExtension.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/PolarDbExtension.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Polar Db Extension can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/StarRocksInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/StarRocksInstance.java index 214b9e4b8a..641f1e4542 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/StarRocksInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/StarRocksInstance.java @@ -140,6 +140,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ackone/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/ackone/Cluster.java index de38c67f99..01bd503c3c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ackone/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ackone/Cluster.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ack One Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ackone/MembershipAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ackone/MembershipAttachment.java index 98a39cade5..b431771e25 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ackone/MembershipAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ackone/MembershipAttachment.java @@ -143,6 +143,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/AdvancedQueryTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/AdvancedQueryTemplate.java index 44dd4720ba..1e38d1bc4b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/AdvancedQueryTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/AdvancedQueryTemplate.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Actiontrail Advanced Query Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/GlobalEventsStorageRegion.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/GlobalEventsStorageRegion.java index 5a6f170d9a..e21ec54c6b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/GlobalEventsStorageRegion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/GlobalEventsStorageRegion.java @@ -53,6 +53,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global events storage region not can be imported. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJob.java index d3b6046127..41d4690f2e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJob.java @@ -15,9 +15,11 @@ import javax.annotation.Nullable; /** - * Provides a Actiontrail History Delivery Job resource. + * Provides a Action Trail History Delivery Job resource. * - * For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). + * Delivery History Tasks. + * + * For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). * * > **NOTE:** Available since v1.139.0. * @@ -38,16 +40,17 @@ * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.random.Integer; - * import com.pulumi.random.IntegerArgs; * import com.pulumi.alicloud.AlicloudFunctions; * import com.pulumi.alicloud.inputs.GetRegionsArgs; + * import com.pulumi.alicloud.ram.RamFunctions; + * import com.pulumi.alicloud.ram.inputs.GetRolesArgs; * import com.pulumi.alicloud.log.Project; * import com.pulumi.alicloud.log.ProjectArgs; * import com.pulumi.alicloud.actiontrail.Trail; * import com.pulumi.alicloud.actiontrail.TrailArgs; * import com.pulumi.alicloud.actiontrail.HistoryDeliveryJob; * import com.pulumi.alicloud.actiontrail.HistoryDeliveryJobArgs; + * import static com.pulumi.codegen.internal.Serialization.*; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -63,29 +66,38 @@ * public static void stack(Context ctx) { * final var config = ctx.config(); * final var name = config.get("name").orElse("tf-example"); - * var default_ = new Integer("default", IntegerArgs.builder() - * .min(10000) - * .max(99999) - * .build()); - * - * final var example = AlicloudFunctions.getRegions(GetRegionsArgs.builder() + * final var default = AlicloudFunctions.getRegions(GetRegionsArgs.builder() * .current(true) * .build()); * - * final var exampleGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); + * final var defaultGetAccount = AlicloudFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); * - * var exampleProject = new Project("exampleProject", ProjectArgs.builder() - * .projectName(String.format("%s-%s", name,default_.result())) - * .description("tf actiontrail example") + * final var defaultGetRoles = RamFunctions.getRoles(GetRolesArgs.builder() + * .nameRegex("AliyunServiceRoleForActionTrail") * .build()); * - * var exampleTrail = new Trail("exampleTrail", TrailArgs.builder() - * .trailName(String.format("%s-%s", name,default_.result())) - * .slsProjectArn(exampleProject.name().applyValue(_name -> String.format("acs:log:%s:%s:project/%s", example.regions()[0].id(),exampleGetAccount.id(),_name))) + * var defaultProject = new Project("defaultProject", ProjectArgs.builder() + * .description(name) + * .projectName(name) * .build()); * - * var exampleHistoryDeliveryJob = new HistoryDeliveryJob("exampleHistoryDeliveryJob", HistoryDeliveryJobArgs.builder() - * .trailName(exampleTrail.id()) + * var defaultTrail = new Trail("defaultTrail", TrailArgs.builder() + * .eventRw("Write") + * .slsProjectArn(defaultProject.projectName().applyValue(_projectName -> String.format("acs:log:%s:%s:project/%s", default_.regions()[0].id(),defaultGetAccount.id(),_projectName))) + * .trailName(name) + * .slsWriteRoleArn(defaultGetRoles.roles()[0].arn()) + * .trailRegion("All") + * .isOrganizationTrail(false) + * .status("Enable") + * .eventSelectors(serializeJson( + * jsonArray(jsonObject( + * jsonProperty("ServiceName", "PDS") + * )))) + * .dataEventTrailRegion("cn-hangzhou") + * .build()); + * + * var defaultHistoryDeliveryJob = new HistoryDeliveryJob("defaultHistoryDeliveryJob", HistoryDeliveryJobArgs.builder() + * .trailName(defaultTrail.id()) * .build()); * * } @@ -93,9 +105,11 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Actiontrail History Delivery Job can be imported using the id, e.g. + * Action Trail History Delivery Job can be imported using the id, e.g. * * ```sh * $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example <id> @@ -105,28 +119,42 @@ @ResourceType(type="alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob") public class HistoryDeliveryJob extends com.pulumi.resources.CustomResource { /** - * The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * The creation time of the resource + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Output createTime() { + return this.createTime; + } + /** + * The status of the resource * */ @Export(name="status", refs={Integer.class}, tree="[0]") private Output status; /** - * @return The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * @return The status of the resource * */ public Output status() { return this.status; } /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. * */ @Export(name="trailName", refs={String.class}, tree="[0]") private Output trailName; /** - * @return The name of the trail for which you want to create a historical event delivery task. + * @return The Track Name. * */ public Output trailName() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJobArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJobArgs.java index 9a53c8c5ad..71b07cf523 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJobArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/HistoryDeliveryJobArgs.java @@ -15,14 +15,14 @@ public final class HistoryDeliveryJobArgs extends com.pulumi.resources.ResourceA public static final HistoryDeliveryJobArgs Empty = new HistoryDeliveryJobArgs(); /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. * */ @Import(name="trailName", required=true) private Output trailName; /** - * @return The name of the trail for which you want to create a historical event delivery task. + * @return The Track Name. * */ public Output trailName() { @@ -54,7 +54,7 @@ public Builder(HistoryDeliveryJobArgs defaults) { } /** - * @param trailName The name of the trail for which you want to create a historical event delivery task. + * @param trailName The Track Name. * * @return builder * @@ -65,7 +65,7 @@ public Builder trailName(Output trailName) { } /** - * @param trailName The name of the trail for which you want to create a historical event delivery task. + * @param trailName The Track Name. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/Trail.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/Trail.java index 5cd3aff78f..1495a3b11d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/Trail.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/Trail.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Actiontrail Trail can be imported using the id, e.g. @@ -222,10 +224,10 @@ public Output> mnsTopicArn() { * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; @@ -343,14 +345,14 @@ public Output slsWriteRoleArn() { * */ @Export(name="status", refs={String.class}, tree="[0]") - private Output status; + private Output status; /** * @return The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. * */ - public Output> status() { - return Codegen.optional(this.status); + public Output status() { + return this.status; } /** * The name of the trail to be created. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailArgs.java index 612e18a05b..3a822d6443 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailArgs.java @@ -133,10 +133,10 @@ public Optional> mnsTopicArn() { * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Import(name="name") private @Nullable Output name; @@ -144,10 +144,10 @@ public Optional> mnsTopicArn() { * @return Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } @@ -496,10 +496,10 @@ public Builder mnsTopicArn(String mnsTopicArn) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; @@ -511,10 +511,10 @@ public Builder name(@Nullable Output name) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecated.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecated.java index 5bc859cee9..8c46498322 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecated.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecated.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Action trail can be imported using the id, e.g. @@ -141,10 +143,10 @@ public Output> mnsTopicArn() { * The name of the trail to be created, which must be unique for an account. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; @@ -246,10 +248,10 @@ public Output slsWriteRoleArn() { return this.slsWriteRoleArn; } @Export(name="status", refs={String.class}, tree="[0]") - private Output status; + private Output status; - public Output> status() { - return Codegen.optional(this.status); + public Output status() { + return this.status; } @Export(name="trailName", refs={String.class}, tree="[0]") private Output trailName; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecatedArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecatedArgs.java index 7067b742e0..5ee611c9cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecatedArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/TrailDeprecatedArgs.java @@ -89,10 +89,10 @@ public Optional> mnsTopicArn() { * The name of the trail to be created, which must be unique for an account. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Import(name="name") private @Nullable Output name; @@ -100,10 +100,10 @@ public Optional> mnsTopicArn() { * @return The name of the trail to be created, which must be unique for an account. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } @@ -360,10 +360,10 @@ public Builder mnsTopicArn(String mnsTopicArn) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; @@ -375,10 +375,10 @@ public Builder name(@Nullable Output name) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/HistoryDeliveryJobState.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/HistoryDeliveryJobState.java index 7443688c82..1ff94c0e6f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/HistoryDeliveryJobState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/HistoryDeliveryJobState.java @@ -17,14 +17,29 @@ public final class HistoryDeliveryJobState extends com.pulumi.resources.Resource public static final HistoryDeliveryJobState Empty = new HistoryDeliveryJobState(); /** - * The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * The creation time of the resource + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * The status of the resource * */ @Import(name="status") private @Nullable Output status; /** - * @return The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * @return The status of the resource * */ public Optional> status() { @@ -32,14 +47,14 @@ public Optional> status() { } /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. * */ @Import(name="trailName") private @Nullable Output trailName; /** - * @return The name of the trail for which you want to create a historical event delivery task. + * @return The Track Name. * */ public Optional> trailName() { @@ -49,6 +64,7 @@ public Optional> trailName() { private HistoryDeliveryJobState() {} private HistoryDeliveryJobState(HistoryDeliveryJobState $) { + this.createTime = $.createTime; this.status = $.status; this.trailName = $.trailName; } @@ -72,7 +88,28 @@ public Builder(HistoryDeliveryJobState defaults) { } /** - * @param status The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param status The status of the resource * * @return builder * @@ -83,7 +120,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * @param status The status of the resource * * @return builder * @@ -93,7 +130,7 @@ public Builder status(Integer status) { } /** - * @param trailName The name of the trail for which you want to create a historical event delivery task. + * @param trailName The Track Name. * * @return builder * @@ -104,7 +141,7 @@ public Builder trailName(@Nullable Output trailName) { } /** - * @param trailName The name of the trail for which you want to create a historical event delivery task. + * @param trailName The Track Name. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailDeprecatedState.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailDeprecatedState.java index 3c4e549b45..c93a9c554c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailDeprecatedState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailDeprecatedState.java @@ -96,10 +96,10 @@ public Optional> mnsTopicArn() { * The name of the trail to be created, which must be unique for an account. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Import(name="name") private @Nullable Output name; @@ -107,10 +107,10 @@ public Optional> mnsTopicArn() { * @return The name of the trail to be created, which must be unique for an account. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } @@ -385,10 +385,10 @@ public Builder mnsTopicArn(String mnsTopicArn) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; @@ -400,10 +400,10 @@ public Builder name(@Nullable Output name) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailState.java b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailState.java index 5743443588..ba940c30c6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/actiontrail/inputs/TrailState.java @@ -148,10 +148,10 @@ public Optional> mnsTopicArn() { * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ @Import(name="name") private @Nullable Output name; @@ -159,10 +159,10 @@ public Optional> mnsTopicArn() { * @return Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } @@ -549,10 +549,10 @@ public Builder mnsTopicArn(String mnsTopicArn) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; @@ -564,10 +564,10 @@ public Builder name(@Nullable Output name) { * @return builder * * @deprecated - * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. * */ - @Deprecated /* Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. */ + @Deprecated /* Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Account.java index c73462f30e..5d51b4c7b0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Account.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Cluster.java index 47b1941522..f0cd4941c4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Cluster.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Connection.java index 2348d406af..3e1bd63c1d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/Connection.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/DBClusterLakeVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/DBClusterLakeVersion.java index 28156ad5f2..8863a9e2cf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/DBClusterLakeVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/DBClusterLakeVersion.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/LakeAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/LakeAccount.java index 4c6caec300..0250cde36f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/LakeAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/LakeAccount.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB Lake Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/adb/ResourceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/adb/ResourceGroup.java index 4bf2d2f6f7..11a231829e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/adb/ResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/adb/ResourceGroup.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Adb Resource Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/AScript.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/AScript.java index 23d16605ca..4d97f4a45b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/AScript.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/AScript.java @@ -166,6 +166,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) A Script can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Acl.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Acl.java index ea364f4dd6..06d5269c16 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Acl.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/AclEntryAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/AclEntryAttachment.java index 0f0cba1bda..785fded3f1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/AclEntryAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/AclEntryAttachment.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/HealthCheckTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/HealthCheckTemplate.java index f7a82d6d18..5117138de4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/HealthCheckTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/HealthCheckTemplate.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Listener.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Listener.java index 6f1a58da2a..93feaa187f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Listener.java @@ -225,6 +225,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Listener can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAclAttachment.java index 5794b47b5f..697ac50944 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAclAttachment.java @@ -179,6 +179,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Listener Acl Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAdditionalCertificateAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAdditionalCertificateAttachment.java index ca61c08326..a762c99471 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAdditionalCertificateAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ListenerAdditionalCertificateAttachment.java @@ -249,6 +249,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancer.java index 8e8970fed0..4cd73d81a3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancer.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerAccessLogConfigAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerAccessLogConfigAttachment.java index 8645829737..f5c7c2dd6e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerAccessLogConfigAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerAccessLogConfigAttachment.java @@ -140,6 +140,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerCommonBandwidthPackageAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerCommonBandwidthPackageAttachment.java index 651803936b..bdb157c3d2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerCommonBandwidthPackageAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerCommonBandwidthPackageAttachment.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerSecurityGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerSecurityGroupAttachment.java index 9c594802e8..a6b931b48e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerSecurityGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerSecurityGroupAttachment.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerZoneShiftedAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerZoneShiftedAttachment.java index c9a1dccdff..51fce1473b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerZoneShiftedAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/LoadBalancerZoneShiftedAttachment.java @@ -129,6 +129,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Rule.java index e007b1f9e8..d49cc3bae7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/Rule.java @@ -190,6 +190,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/SecurityPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/SecurityPolicy.java index a96dc17771..c8becc2d14 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/SecurityPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/SecurityPolicy.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Security Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ServerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ServerGroup.java index 41d0bb57fa..12736a9345 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alb/ServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alb/ServerGroup.java @@ -164,6 +164,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Server Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/AuditCallback.java b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/AuditCallback.java index 108b6ac148..9ca5e072ef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/AuditCallback.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/AuditCallback.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Audit Callback can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/BizType.java b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/BizType.java index 5b48578ccd..417dedb7de 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/BizType.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/BizType.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Biz Type can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/Callback.java b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/Callback.java index 0788bfb04c..0dde790e15 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/Callback.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/Callback.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Callback can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/ImageLib.java b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/ImageLib.java index 06c7fcfe1f..490a4f0023 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/ImageLib.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/ImageLib.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Image Lib can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/KeywordLib.java b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/KeywordLib.java index e1f57ae95a..66fff3c342 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/KeywordLib.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/aligreen/KeywordLib.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Keyword Lib can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/ConsumerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/ConsumerGroup.java index 1bd106d34c..3b1682e8b9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/ConsumerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/ConsumerGroup.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/InstanceAllowedIpAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/InstanceAllowedIpAttachment.java index 49bfdb1a8e..77b1e079ac 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/InstanceAllowedIpAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/InstanceAllowedIpAttachment.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslAcl.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslAcl.java index 2517fa4623..144e7ad206 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslAcl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslAcl.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUser.java index 63499e9841..680ec7ee4d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUser.java @@ -17,14 +17,11 @@ import javax.annotation.Nullable; /** - * Provides an Alikafka Sasl User resource. + * Provides an AliKafka Sasl User resource. * - * > **NOTE:** Available since v1.66.0. - * - * > **NOTE:** Only the following regions support create alikafka Sasl User. - * [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] + * For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). * - * For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). + * > **NOTE:** Available since v1.66.0. * * ## Example Usage * @@ -65,7 +62,7 @@ * * public static void stack(Context ctx) { * final var config = ctx.config(); - * final var name = config.get("name").orElse("tf-example"); + * final var name = config.get("name").orElse("terraform-example"); * final var default = AlicloudFunctions.getZones(GetZonesArgs.builder() * .availableResourceCreation("VSwitch") * .build()); @@ -120,9 +117,11 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Alikafka Sasl User can be imported using the id, e.g. + * AliKafka Sasl User can be imported using the id, e.g. * * ```sh * $ pulumi import alicloud:alikafka/saslUser:SaslUser example <instance_id>:<username> @@ -132,14 +131,14 @@ @ResourceType(type="alicloud:alikafka/saslUser:SaslUser") public class SaslUser extends com.pulumi.resources.CustomResource { /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. * */ @Export(name="instanceId", refs={String.class}, tree="[0]") private Output instanceId; /** - * @return ID of the ALIKAFKA Instance that owns the groups. + * @return The instance ID. * */ public Output instanceId() { @@ -173,29 +172,49 @@ public Output> kmsEncryptedPassword() { public Output>> kmsEncryptionContext() { return Codegen.optional(this.kmsEncryptionContext); } + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + @Export(name="mechanism", refs={String.class}, tree="[0]") + private Output mechanism; + + /** + * @return The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + public Output mechanism() { + return this.mechanism; + } /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * */ @Export(name="password", refs={String.class}, tree="[0]") - private Output password; + private Output password; /** * @return The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * */ - public Output> password() { - return Codegen.optional(this.password); + public Output password() { + return this.password; } /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** - * @return The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @return The authentication mechanism. Default value: `plain`. Valid values: * */ public Output type() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUserArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUserArgs.java index 3d6dbf5653..9ef71d914f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/SaslUserArgs.java @@ -18,14 +18,14 @@ public final class SaslUserArgs extends com.pulumi.resources.ResourceArgs { public static final SaslUserArgs Empty = new SaslUserArgs(); /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. * */ @Import(name="instanceId", required=true) private Output instanceId; /** - * @return ID of the ALIKAFKA Instance that owns the groups. + * @return The instance ID. * */ public Output instanceId() { @@ -62,6 +62,27 @@ public Optional>> kmsEncryptionContext() { return Optional.ofNullable(this.kmsEncryptionContext); } + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + @Import(name="mechanism") + private @Nullable Output mechanism; + + /** + * @return The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + public Optional> mechanism() { + return Optional.ofNullable(this.mechanism); + } + /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * @@ -78,14 +99,14 @@ public Optional> password() { } /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: * */ @Import(name="type") private @Nullable Output type; /** - * @return The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @return The authentication mechanism. Default value: `plain`. Valid values: * */ public Optional> type() { @@ -113,6 +134,7 @@ private SaslUserArgs(SaslUserArgs $) { this.instanceId = $.instanceId; this.kmsEncryptedPassword = $.kmsEncryptedPassword; this.kmsEncryptionContext = $.kmsEncryptionContext; + this.mechanism = $.mechanism; this.password = $.password; this.type = $.type; this.username = $.username; @@ -137,7 +159,7 @@ public Builder(SaslUserArgs defaults) { } /** - * @param instanceId ID of the ALIKAFKA Instance that owns the groups. + * @param instanceId The instance ID. * * @return builder * @@ -148,7 +170,7 @@ public Builder instanceId(Output instanceId) { } /** - * @param instanceId ID of the ALIKAFKA Instance that owns the groups. + * @param instanceId The instance ID. * * @return builder * @@ -199,6 +221,33 @@ public Builder kmsEncryptionContext(Map kmsEncryptionContext) { return kmsEncryptionContext(Output.of(kmsEncryptionContext)); } + /** + * @param mechanism The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + * @return builder + * + */ + public Builder mechanism(@Nullable Output mechanism) { + $.mechanism = mechanism; + return this; + } + + /** + * @param mechanism The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + * @return builder + * + */ + public Builder mechanism(String mechanism) { + return mechanism(Output.of(mechanism)); + } + /** * @param password The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * @@ -221,7 +270,7 @@ public Builder password(String password) { } /** - * @param type The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @param type The authentication mechanism. Default value: `plain`. Valid values: * * @return builder * @@ -232,7 +281,7 @@ public Builder type(@Nullable Output type) { } /** - * @param type The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @param type The authentication mechanism. Default value: `plain`. Valid values: * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/Topic.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/Topic.java index 5bed54f8e0..9428871e79 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/Topic.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alikafka Topic can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/inputs/SaslUserState.java b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/inputs/SaslUserState.java index 9bf704e419..ad1a13f8f6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/inputs/SaslUserState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/alikafka/inputs/SaslUserState.java @@ -17,14 +17,14 @@ public final class SaslUserState extends com.pulumi.resources.ResourceArgs { public static final SaslUserState Empty = new SaslUserState(); /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. * */ @Import(name="instanceId") private @Nullable Output instanceId; /** - * @return ID of the ALIKAFKA Instance that owns the groups. + * @return The instance ID. * */ public Optional> instanceId() { @@ -61,6 +61,27 @@ public Optional>> kmsEncryptionContext() { return Optional.ofNullable(this.kmsEncryptionContext); } + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + @Import(name="mechanism") + private @Nullable Output mechanism; + + /** + * @return The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + */ + public Optional> mechanism() { + return Optional.ofNullable(this.mechanism); + } + /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * @@ -77,14 +98,14 @@ public Optional> password() { } /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: * */ @Import(name="type") private @Nullable Output type; /** - * @return The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @return The authentication mechanism. Default value: `plain`. Valid values: * */ public Optional> type() { @@ -112,6 +133,7 @@ private SaslUserState(SaslUserState $) { this.instanceId = $.instanceId; this.kmsEncryptedPassword = $.kmsEncryptedPassword; this.kmsEncryptionContext = $.kmsEncryptionContext; + this.mechanism = $.mechanism; this.password = $.password; this.type = $.type; this.username = $.username; @@ -136,7 +158,7 @@ public Builder(SaslUserState defaults) { } /** - * @param instanceId ID of the ALIKAFKA Instance that owns the groups. + * @param instanceId The instance ID. * * @return builder * @@ -147,7 +169,7 @@ public Builder instanceId(@Nullable Output instanceId) { } /** - * @param instanceId ID of the ALIKAFKA Instance that owns the groups. + * @param instanceId The instance ID. * * @return builder * @@ -198,6 +220,33 @@ public Builder kmsEncryptionContext(Map kmsEncryptionContext) { return kmsEncryptionContext(Output.of(kmsEncryptionContext)); } + /** + * @param mechanism The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + * @return builder + * + */ + public Builder mechanism(@Nullable Output mechanism) { + $.mechanism = mechanism; + return this; + } + + /** + * @param mechanism The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + * + * @return builder + * + */ + public Builder mechanism(String mechanism) { + return mechanism(Output.of(mechanism)); + } + /** * @param password The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. * @@ -220,7 +269,7 @@ public Builder password(String password) { } /** - * @param type The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @param type The authentication mechanism. Default value: `plain`. Valid values: * * @return builder * @@ -231,7 +280,7 @@ public Builder type(@Nullable Output type) { } /** - * @param type The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * @param type The authentication mechanism. Default value: `plain`. Valid values: * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Binding.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Binding.java index 2cda3f494b..623cac5a33 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Binding.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Binding.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Binding can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Exchange.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Exchange.java index adc0285f56..b71a682d15 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Exchange.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Exchange.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Exchange can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Instance.java index cb3c688ac5..531f765e97 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Instance.java @@ -56,6 +56,20 @@ public Output> autoRenew() { public Output createTime() { return this.createTime; } + /** + * The deployment architecture for Serverless instances. Valid values: + * + */ + @Export(name="edition", refs={String.class}, tree="[0]") + private Output edition; + + /** + * @return The deployment architecture for Serverless instances. Valid values: + * + */ + public Output edition() { + return this.edition; + } /** * The instance name. * @@ -200,6 +214,20 @@ public Output> period() { public Output> periodCycle() { return Codegen.optional(this.periodCycle); } + /** + * The provisioned TPS capacity for reserved + elastic instances. + * + */ + @Export(name="provisionedCapacity", refs={Integer.class}, tree="[0]") + private Output provisionedCapacity; + + /** + * @return The provisioned TPS capacity for reserved + elastic instances. + * + */ + public Output> provisionedCapacity() { + return Codegen.optional(this.provisionedCapacity); + } /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. * @@ -317,14 +345,14 @@ public Output> supportEip() { * */ @Export(name="supportTracing", refs={Boolean.class}, tree="[0]") - private Output supportTracing; + private Output supportTracing; /** * @return Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. * */ - public Output supportTracing() { - return this.supportTracing; + public Output> supportTracing() { + return Codegen.optional(this.supportTracing); } /** * Configure the storage duration of message traces. Unit: Days. The value is as follows: 3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/InstanceArgs.java index 6f80ef5184..b6ba14e51b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/InstanceArgs.java @@ -33,6 +33,21 @@ public Optional> autoRenew() { return Optional.ofNullable(this.autoRenew); } + /** + * The deployment architecture for Serverless instances. Valid values: + * + */ + @Import(name="edition") + private @Nullable Output edition; + + /** + * @return The deployment architecture for Serverless instances. Valid values: + * + */ + public Optional> edition() { + return Optional.ofNullable(this.edition); + } + /** * The instance name. * @@ -186,6 +201,21 @@ public Optional> periodCycle() { return Optional.ofNullable(this.periodCycle); } + /** + * The provisioned TPS capacity for reserved + elastic instances. + * + */ + @Import(name="provisionedCapacity") + private @Nullable Output provisionedCapacity; + + /** + * @return The provisioned TPS capacity for reserved + elastic instances. + * + */ + public Optional> provisionedCapacity() { + return Optional.ofNullable(this.provisionedCapacity); + } + /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. * @@ -325,6 +355,7 @@ private InstanceArgs() {} private InstanceArgs(InstanceArgs $) { this.autoRenew = $.autoRenew; + this.edition = $.edition; this.instanceName = $.instanceName; this.instanceType = $.instanceType; this.maxConnections = $.maxConnections; @@ -334,6 +365,7 @@ private InstanceArgs(InstanceArgs $) { this.paymentType = $.paymentType; this.period = $.period; this.periodCycle = $.periodCycle; + this.provisionedCapacity = $.provisionedCapacity; this.queueCapacity = $.queueCapacity; this.renewalDuration = $.renewalDuration; this.renewalDurationUnit = $.renewalDurationUnit; @@ -384,6 +416,27 @@ public Builder autoRenew(Boolean autoRenew) { return autoRenew(Output.of(autoRenew)); } + /** + * @param edition The deployment architecture for Serverless instances. Valid values: + * + * @return builder + * + */ + public Builder edition(@Nullable Output edition) { + $.edition = edition; + return this; + } + + /** + * @param edition The deployment architecture for Serverless instances. Valid values: + * + * @return builder + * + */ + public Builder edition(String edition) { + return edition(Output.of(edition)); + } + /** * @param instanceName The instance name. * @@ -591,6 +644,27 @@ public Builder periodCycle(String periodCycle) { return periodCycle(Output.of(periodCycle)); } + /** + * @param provisionedCapacity The provisioned TPS capacity for reserved + elastic instances. + * + * @return builder + * + */ + public Builder provisionedCapacity(@Nullable Output provisionedCapacity) { + $.provisionedCapacity = provisionedCapacity; + return this; + } + + /** + * @param provisionedCapacity The provisioned TPS capacity for reserved + elastic instances. + * + * @return builder + * + */ + public Builder provisionedCapacity(Integer provisionedCapacity) { + return provisionedCapacity(Output.of(provisionedCapacity)); + } + /** * @param queueCapacity Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Queue.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Queue.java index 245491e970..40def3eb22 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Queue.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/Queue.java @@ -34,12 +34,12 @@ * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; + * import com.pulumi.random.Integer; + * import com.pulumi.random.IntegerArgs; * import com.pulumi.alicloud.amqp.Instance; * import com.pulumi.alicloud.amqp.InstanceArgs; * import com.pulumi.alicloud.amqp.VirtualHost; * import com.pulumi.alicloud.amqp.VirtualHostArgs; - * import com.pulumi.alicloud.amqp.Exchange; - * import com.pulumi.alicloud.amqp.ExchangeArgs; * import com.pulumi.alicloud.amqp.Queue; * import com.pulumi.alicloud.amqp.QueueArgs; * import java.util.List; @@ -55,35 +55,35 @@ * } * * public static void stack(Context ctx) { - * var default_ = new Instance("default", InstanceArgs.builder() + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new Integer("default", IntegerArgs.builder() + * .min(10000) + * .max(99999) + * .build()); + * + * var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder() + * .instanceName(String.format("%s-%s", name,default_.result())) * .instanceType("enterprise") * .maxTps("3000") + * .maxConnections(2000) * .queueCapacity("200") - * .storageSize("700") - * .supportEip(false) - * .maxEipTps("128") * .paymentType("Subscription") - * .period(1) + * .renewalStatus("AutoRenewal") + * .renewalDuration(1) + * .renewalDurationUnit("Year") + * .supportEip(true) * .build()); * * var defaultVirtualHost = new VirtualHost("defaultVirtualHost", VirtualHostArgs.builder() - * .instanceId(default_.id()) - * .virtualHostName("tf-example") + * .instanceId(defaultInstance.id()) + * .virtualHostName(String.format("%s-%s", name,default_.result())) * .build()); * - * var defaultExchange = new Exchange("defaultExchange", ExchangeArgs.builder() - * .autoDeleteState(false) - * .exchangeName("tf-example") - * .exchangeType("DIRECT") - * .instanceId(default_.id()) - * .internal(false) - * .virtualHostName(defaultVirtualHost.virtualHostName()) - * .build()); - * - * var example = new Queue("example", QueueArgs.builder() - * .instanceId(default_.id()) - * .queueName("tf-example") + * var defaultQueue = new Queue("defaultQueue", QueueArgs.builder() + * .instanceId(defaultInstance.id()) * .virtualHostName(defaultVirtualHost.virtualHostName()) + * .queueName(String.format("%s-%s", name,default_.result())) * .build()); * * } @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -103,98 +105,70 @@ @ResourceType(type="alicloud:amqp/queue:Queue") public class Queue extends com.pulumi.resources.CustomResource { /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: * */ @Export(name="autoDeleteState", refs={Boolean.class}, tree="[0]") private Output autoDeleteState; /** - * @return Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @return Specifies whether to automatically delete the queue. Valid values: * */ public Output> autoDeleteState() { return Codegen.optional(this.autoDeleteState); } /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. * */ @Export(name="autoExpireState", refs={String.class}, tree="[0]") private Output autoExpireState; /** - * @return The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @return The auto-expiration time for the queue. * */ public Output> autoExpireState() { return Codegen.optional(this.autoExpireState); } /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. * */ @Export(name="deadLetterExchange", refs={String.class}, tree="[0]") private Output deadLetterExchange; /** - * @return The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @return The dead-letter exchange. * */ public Output> deadLetterExchange() { return Codegen.optional(this.deadLetterExchange); } /** - * The dead letter routing key. + * The dead-letter routing key. * */ @Export(name="deadLetterRoutingKey", refs={String.class}, tree="[0]") private Output deadLetterRoutingKey; /** - * @return The dead letter routing key. + * @return The dead-letter routing key. * */ public Output> deadLetterRoutingKey() { return Codegen.optional(this.deadLetterRoutingKey); } /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - @Export(name="exclusiveState", refs={Boolean.class}, tree="[0]") - private Output exclusiveState; - - /** - * @return Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - public Output> exclusiveState() { - return Codegen.optional(this.exclusiveState); - } - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ @Export(name="instanceId", refs={String.class}, tree="[0]") private Output instanceId; /** - * @return The ID of the instance. + * @return The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ public Output instanceId() { @@ -202,7 +176,6 @@ public Output instanceId() { } /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ @Export(name="maxLength", refs={String.class}, tree="[0]") @@ -210,73 +183,62 @@ public Output instanceId() { /** * @return The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ public Output> maxLength() { return Codegen.optional(this.maxLength); } /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. * */ @Export(name="maximumPriority", refs={Integer.class}, tree="[0]") private Output maximumPriority; /** - * @return The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @return The priority of the queue. * */ public Output> maximumPriority() { return Codegen.optional(this.maximumPriority); } /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. * */ @Export(name="messageTtl", refs={String.class}, tree="[0]") private Output messageTtl; /** - * @return The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @return The time to live (TTL) of a message in the queue. * */ public Output> messageTtl() { return Codegen.optional(this.messageTtl); } /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * The name of the queue to create. * */ @Export(name="queueName", refs={String.class}, tree="[0]") private Output queueName; /** - * @return The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @return The name of the queue to create. * */ public Output queueName() { return this.queueName; } /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ @Export(name="virtualHostName", refs={String.class}, tree="[0]") private Output virtualHostName; /** - * @return The name of the virtual host. + * @return The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ public Output virtualHostName() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/QueueArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/QueueArgs.java index cae7f91306..818d097017 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/QueueArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/QueueArgs.java @@ -19,18 +19,14 @@ public final class QueueArgs extends com.pulumi.resources.ResourceArgs { public static final QueueArgs Empty = new QueueArgs(); /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: * */ @Import(name="autoDeleteState") private @Nullable Output autoDeleteState; /** - * @return Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @return Specifies whether to automatically delete the queue. Valid values: * */ public Optional> autoDeleteState() { @@ -38,16 +34,14 @@ public Optional> autoDeleteState() { } /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. * */ @Import(name="autoExpireState") private @Nullable Output autoExpireState; /** - * @return The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @return The auto-expiration time for the queue. * */ public Optional> autoExpireState() { @@ -55,18 +49,14 @@ public Optional> autoExpireState() { } /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. * */ @Import(name="deadLetterExchange") private @Nullable Output deadLetterExchange; /** - * @return The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @return The dead-letter exchange. * */ public Optional> deadLetterExchange() { @@ -74,14 +64,14 @@ public Optional> deadLetterExchange() { } /** - * The dead letter routing key. + * The dead-letter routing key. * */ @Import(name="deadLetterRoutingKey") private @Nullable Output deadLetterRoutingKey; /** - * @return The dead letter routing key. + * @return The dead-letter routing key. * */ public Optional> deadLetterRoutingKey() { @@ -89,33 +79,14 @@ public Optional> deadLetterRoutingKey() { } /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - @Import(name="exclusiveState") - private @Nullable Output exclusiveState; - - /** - * @return Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - public Optional> exclusiveState() { - return Optional.ofNullable(this.exclusiveState); - } - - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ @Import(name="instanceId", required=true) private Output instanceId; /** - * @return The ID of the instance. + * @return The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ public Output instanceId() { @@ -124,7 +95,6 @@ public Output instanceId() { /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ @Import(name="maxLength") @@ -132,7 +102,6 @@ public Output instanceId() { /** * @return The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ public Optional> maxLength() { @@ -140,16 +109,14 @@ public Optional> maxLength() { } /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. * */ @Import(name="maximumPriority") private @Nullable Output maximumPriority; /** - * @return The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @return The priority of the queue. * */ public Optional> maximumPriority() { @@ -157,20 +124,14 @@ public Optional> maximumPriority() { } /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. * */ @Import(name="messageTtl") private @Nullable Output messageTtl; /** - * @return The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @return The time to live (TTL) of a message in the queue. * */ public Optional> messageTtl() { @@ -178,16 +139,14 @@ public Optional> messageTtl() { } /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * The name of the queue to create. * */ @Import(name="queueName", required=true) private Output queueName; /** - * @return The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @return The name of the queue to create. * */ public Output queueName() { @@ -195,14 +154,14 @@ public Output queueName() { } /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ @Import(name="virtualHostName", required=true) private Output virtualHostName; /** - * @return The name of the virtual host. + * @return The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ public Output virtualHostName() { @@ -216,7 +175,6 @@ private QueueArgs(QueueArgs $) { this.autoExpireState = $.autoExpireState; this.deadLetterExchange = $.deadLetterExchange; this.deadLetterRoutingKey = $.deadLetterRoutingKey; - this.exclusiveState = $.exclusiveState; this.instanceId = $.instanceId; this.maxLength = $.maxLength; this.maximumPriority = $.maximumPriority; @@ -244,9 +202,7 @@ public Builder(QueueArgs defaults) { } /** - * @param autoDeleteState Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @param autoDeleteState Specifies whether to automatically delete the queue. Valid values: * * @return builder * @@ -257,9 +213,7 @@ public Builder autoDeleteState(@Nullable Output autoDeleteState) { } /** - * @param autoDeleteState Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @param autoDeleteState Specifies whether to automatically delete the queue. Valid values: * * @return builder * @@ -269,8 +223,7 @@ public Builder autoDeleteState(Boolean autoDeleteState) { } /** - * @param autoExpireState The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @param autoExpireState The auto-expiration time for the queue. * * @return builder * @@ -281,8 +234,7 @@ public Builder autoExpireState(@Nullable Output autoExpireState) { } /** - * @param autoExpireState The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @param autoExpireState The auto-expiration time for the queue. * * @return builder * @@ -292,9 +244,7 @@ public Builder autoExpireState(String autoExpireState) { } /** - * @param deadLetterExchange The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @param deadLetterExchange The dead-letter exchange. * * @return builder * @@ -305,9 +255,7 @@ public Builder deadLetterExchange(@Nullable Output deadLetterExchange) { } /** - * @param deadLetterExchange The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @param deadLetterExchange The dead-letter exchange. * * @return builder * @@ -317,7 +265,7 @@ public Builder deadLetterExchange(String deadLetterExchange) { } /** - * @param deadLetterRoutingKey The dead letter routing key. + * @param deadLetterRoutingKey The dead-letter routing key. * * @return builder * @@ -328,7 +276,7 @@ public Builder deadLetterRoutingKey(@Nullable Output deadLetterRoutingKe } /** - * @param deadLetterRoutingKey The dead letter routing key. + * @param deadLetterRoutingKey The dead-letter routing key. * * @return builder * @@ -338,32 +286,7 @@ public Builder deadLetterRoutingKey(String deadLetterRoutingKey) { } /** - * @param exclusiveState Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - * @return builder - * - */ - public Builder exclusiveState(@Nullable Output exclusiveState) { - $.exclusiveState = exclusiveState; - return this; - } - - /** - * @param exclusiveState Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - * @return builder - * - */ - public Builder exclusiveState(Boolean exclusiveState) { - return exclusiveState(Output.of(exclusiveState)); - } - - /** - * @param instanceId The ID of the instance. + * @param instanceId The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * * @return builder * @@ -374,7 +297,7 @@ public Builder instanceId(Output instanceId) { } /** - * @param instanceId The ID of the instance. + * @param instanceId The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * * @return builder * @@ -385,7 +308,6 @@ public Builder instanceId(String instanceId) { /** * @param maxLength The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * * @return builder * @@ -397,7 +319,6 @@ public Builder maxLength(@Nullable Output maxLength) { /** * @param maxLength The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * * @return builder * @@ -407,8 +328,7 @@ public Builder maxLength(String maxLength) { } /** - * @param maximumPriority The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @param maximumPriority The priority of the queue. * * @return builder * @@ -419,8 +339,7 @@ public Builder maximumPriority(@Nullable Output maximumPriority) { } /** - * @param maximumPriority The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @param maximumPriority The priority of the queue. * * @return builder * @@ -430,10 +349,7 @@ public Builder maximumPriority(Integer maximumPriority) { } /** - * @param messageTtl The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @param messageTtl The time to live (TTL) of a message in the queue. * * @return builder * @@ -444,10 +360,7 @@ public Builder messageTtl(@Nullable Output messageTtl) { } /** - * @param messageTtl The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @param messageTtl The time to live (TTL) of a message in the queue. * * @return builder * @@ -457,8 +370,7 @@ public Builder messageTtl(String messageTtl) { } /** - * @param queueName The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @param queueName The name of the queue to create. * * @return builder * @@ -469,8 +381,7 @@ public Builder queueName(Output queueName) { } /** - * @param queueName The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @param queueName The name of the queue to create. * * @return builder * @@ -480,7 +391,7 @@ public Builder queueName(String queueName) { } /** - * @param virtualHostName The name of the virtual host. + * @param virtualHostName The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * * @return builder * @@ -491,7 +402,7 @@ public Builder virtualHostName(Output virtualHostName) { } /** - * @param virtualHostName The name of the virtual host. + * @param virtualHostName The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/StaticAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/StaticAccount.java index 4e51f2581f..808847cee2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/StaticAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/StaticAccount.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Amqp Static Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/VirtualHost.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/VirtualHost.java index 04648e869e..097a526836 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/VirtualHost.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/VirtualHost.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/InstanceState.java index e39f2765f8..0ddeda4523 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/InstanceState.java @@ -47,6 +47,21 @@ public Optional> createTime() { return Optional.ofNullable(this.createTime); } + /** + * The deployment architecture for Serverless instances. Valid values: + * + */ + @Import(name="edition") + private @Nullable Output edition; + + /** + * @return The deployment architecture for Serverless instances. Valid values: + * + */ + public Optional> edition() { + return Optional.ofNullable(this.edition); + } + /** * The instance name. * @@ -200,6 +215,21 @@ public Optional> periodCycle() { return Optional.ofNullable(this.periodCycle); } + /** + * The provisioned TPS capacity for reserved + elastic instances. + * + */ + @Import(name="provisionedCapacity") + private @Nullable Output provisionedCapacity; + + /** + * @return The provisioned TPS capacity for reserved + elastic instances. + * + */ + public Optional> provisionedCapacity() { + return Optional.ofNullable(this.provisionedCapacity); + } + /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. * @@ -355,6 +385,7 @@ private InstanceState() {} private InstanceState(InstanceState $) { this.autoRenew = $.autoRenew; this.createTime = $.createTime; + this.edition = $.edition; this.instanceName = $.instanceName; this.instanceType = $.instanceType; this.maxConnections = $.maxConnections; @@ -364,6 +395,7 @@ private InstanceState(InstanceState $) { this.paymentType = $.paymentType; this.period = $.period; this.periodCycle = $.periodCycle; + this.provisionedCapacity = $.provisionedCapacity; this.queueCapacity = $.queueCapacity; this.renewalDuration = $.renewalDuration; this.renewalDurationUnit = $.renewalDurationUnit; @@ -436,6 +468,27 @@ public Builder createTime(Integer createTime) { return createTime(Output.of(createTime)); } + /** + * @param edition The deployment architecture for Serverless instances. Valid values: + * + * @return builder + * + */ + public Builder edition(@Nullable Output edition) { + $.edition = edition; + return this; + } + + /** + * @param edition The deployment architecture for Serverless instances. Valid values: + * + * @return builder + * + */ + public Builder edition(String edition) { + return edition(Output.of(edition)); + } + /** * @param instanceName The instance name. * @@ -643,6 +696,27 @@ public Builder periodCycle(String periodCycle) { return periodCycle(Output.of(periodCycle)); } + /** + * @param provisionedCapacity The provisioned TPS capacity for reserved + elastic instances. + * + * @return builder + * + */ + public Builder provisionedCapacity(@Nullable Output provisionedCapacity) { + $.provisionedCapacity = provisionedCapacity; + return this; + } + + /** + * @param provisionedCapacity The provisioned TPS capacity for reserved + elastic instances. + * + * @return builder + * + */ + public Builder provisionedCapacity(Integer provisionedCapacity) { + return provisionedCapacity(Output.of(provisionedCapacity)); + } + /** * @param queueCapacity Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/QueueState.java b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/QueueState.java index 9d7bf2cb4b..0a8627a721 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/QueueState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/amqp/inputs/QueueState.java @@ -18,18 +18,14 @@ public final class QueueState extends com.pulumi.resources.ResourceArgs { public static final QueueState Empty = new QueueState(); /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: * */ @Import(name="autoDeleteState") private @Nullable Output autoDeleteState; /** - * @return Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @return Specifies whether to automatically delete the queue. Valid values: * */ public Optional> autoDeleteState() { @@ -37,16 +33,14 @@ public Optional> autoDeleteState() { } /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. * */ @Import(name="autoExpireState") private @Nullable Output autoExpireState; /** - * @return The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @return The auto-expiration time for the queue. * */ public Optional> autoExpireState() { @@ -54,18 +48,14 @@ public Optional> autoExpireState() { } /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. * */ @Import(name="deadLetterExchange") private @Nullable Output deadLetterExchange; /** - * @return The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @return The dead-letter exchange. * */ public Optional> deadLetterExchange() { @@ -73,14 +63,14 @@ public Optional> deadLetterExchange() { } /** - * The dead letter routing key. + * The dead-letter routing key. * */ @Import(name="deadLetterRoutingKey") private @Nullable Output deadLetterRoutingKey; /** - * @return The dead letter routing key. + * @return The dead-letter routing key. * */ public Optional> deadLetterRoutingKey() { @@ -88,33 +78,14 @@ public Optional> deadLetterRoutingKey() { } /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - @Import(name="exclusiveState") - private @Nullable Output exclusiveState; - - /** - * @return Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - */ - public Optional> exclusiveState() { - return Optional.ofNullable(this.exclusiveState); - } - - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ @Import(name="instanceId") private @Nullable Output instanceId; /** - * @return The ID of the instance. + * @return The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * */ public Optional> instanceId() { @@ -123,7 +94,6 @@ public Optional> instanceId() { /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ @Import(name="maxLength") @@ -131,7 +101,6 @@ public Optional> instanceId() { /** * @return The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * */ public Optional> maxLength() { @@ -139,16 +108,14 @@ public Optional> maxLength() { } /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. * */ @Import(name="maximumPriority") private @Nullable Output maximumPriority; /** - * @return The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @return The priority of the queue. * */ public Optional> maximumPriority() { @@ -156,20 +123,14 @@ public Optional> maximumPriority() { } /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. * */ @Import(name="messageTtl") private @Nullable Output messageTtl; /** - * @return The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @return The time to live (TTL) of a message in the queue. * */ public Optional> messageTtl() { @@ -177,16 +138,14 @@ public Optional> messageTtl() { } /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * The name of the queue to create. * */ @Import(name="queueName") private @Nullable Output queueName; /** - * @return The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @return The name of the queue to create. * */ public Optional> queueName() { @@ -194,14 +153,14 @@ public Optional> queueName() { } /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ @Import(name="virtualHostName") private @Nullable Output virtualHostName; /** - * @return The name of the virtual host. + * @return The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * */ public Optional> virtualHostName() { @@ -215,7 +174,6 @@ private QueueState(QueueState $) { this.autoExpireState = $.autoExpireState; this.deadLetterExchange = $.deadLetterExchange; this.deadLetterRoutingKey = $.deadLetterRoutingKey; - this.exclusiveState = $.exclusiveState; this.instanceId = $.instanceId; this.maxLength = $.maxLength; this.maximumPriority = $.maximumPriority; @@ -243,9 +201,7 @@ public Builder(QueueState defaults) { } /** - * @param autoDeleteState Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @param autoDeleteState Specifies whether to automatically delete the queue. Valid values: * * @return builder * @@ -256,9 +212,7 @@ public Builder autoDeleteState(@Nullable Output autoDeleteState) { } /** - * @param autoDeleteState Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * @param autoDeleteState Specifies whether to automatically delete the queue. Valid values: * * @return builder * @@ -268,8 +222,7 @@ public Builder autoDeleteState(Boolean autoDeleteState) { } /** - * @param autoExpireState The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @param autoExpireState The auto-expiration time for the queue. * * @return builder * @@ -280,8 +233,7 @@ public Builder autoExpireState(@Nullable Output autoExpireState) { } /** - * @param autoExpireState The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * @param autoExpireState The auto-expiration time for the queue. * * @return builder * @@ -291,9 +243,7 @@ public Builder autoExpireState(String autoExpireState) { } /** - * @param deadLetterExchange The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @param deadLetterExchange The dead-letter exchange. * * @return builder * @@ -304,9 +254,7 @@ public Builder deadLetterExchange(@Nullable Output deadLetterExchange) { } /** - * @param deadLetterExchange The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * @param deadLetterExchange The dead-letter exchange. * * @return builder * @@ -316,7 +264,7 @@ public Builder deadLetterExchange(String deadLetterExchange) { } /** - * @param deadLetterRoutingKey The dead letter routing key. + * @param deadLetterRoutingKey The dead-letter routing key. * * @return builder * @@ -327,7 +275,7 @@ public Builder deadLetterRoutingKey(@Nullable Output deadLetterRoutingKe } /** - * @param deadLetterRoutingKey The dead letter routing key. + * @param deadLetterRoutingKey The dead-letter routing key. * * @return builder * @@ -337,32 +285,7 @@ public Builder deadLetterRoutingKey(String deadLetterRoutingKey) { } /** - * @param exclusiveState Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - * @return builder - * - */ - public Builder exclusiveState(@Nullable Output exclusiveState) { - $.exclusiveState = exclusiveState; - return this; - } - - /** - * @param exclusiveState Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - * - * @return builder - * - */ - public Builder exclusiveState(Boolean exclusiveState) { - return exclusiveState(Output.of(exclusiveState)); - } - - /** - * @param instanceId The ID of the instance. + * @param instanceId The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * * @return builder * @@ -373,7 +296,7 @@ public Builder instanceId(@Nullable Output instanceId) { } /** - * @param instanceId The ID of the instance. + * @param instanceId The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. * * @return builder * @@ -384,7 +307,6 @@ public Builder instanceId(String instanceId) { /** * @param maxLength The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * * @return builder * @@ -396,7 +318,6 @@ public Builder maxLength(@Nullable Output maxLength) { /** * @param maxLength The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. * * @return builder * @@ -406,8 +327,7 @@ public Builder maxLength(String maxLength) { } /** - * @param maximumPriority The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @param maximumPriority The priority of the queue. * * @return builder * @@ -418,8 +338,7 @@ public Builder maximumPriority(@Nullable Output maximumPriority) { } /** - * @param maximumPriority The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * @param maximumPriority The priority of the queue. * * @return builder * @@ -429,10 +348,7 @@ public Builder maximumPriority(Integer maximumPriority) { } /** - * @param messageTtl The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @param messageTtl The time to live (TTL) of a message in the queue. * * @return builder * @@ -443,10 +359,7 @@ public Builder messageTtl(@Nullable Output messageTtl) { } /** - * @param messageTtl The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * @param messageTtl The time to live (TTL) of a message in the queue. * * @return builder * @@ -456,8 +369,7 @@ public Builder messageTtl(String messageTtl) { } /** - * @param queueName The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @param queueName The name of the queue to create. * * @return builder * @@ -468,8 +380,7 @@ public Builder queueName(@Nullable Output queueName) { } /** - * @param queueName The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs ({@literal @}). + * @param queueName The name of the queue to create. * * @return builder * @@ -479,7 +390,7 @@ public Builder queueName(String queueName) { } /** - * @param virtualHostName The name of the virtual host. + * @param virtualHostName The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * * @return builder * @@ -490,7 +401,7 @@ public Builder virtualHostName(@Nullable Output virtualHostName) { } /** - * @param virtualHostName The name of the virtual host. + * @param virtualHostName The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs ({@literal @}). The name must be 1 to 255 characters in length. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apig/Environment.java b/sdk/java/src/main/java/com/pulumi/alicloud/apig/Environment.java index b6f1a6b9ef..294b020126 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apig/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apig/Environment.java @@ -112,6 +112,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * APIG Environment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apig/HttpApi.java b/sdk/java/src/main/java/com/pulumi/alicloud/apig/HttpApi.java index 0de330c846..e954524906 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apig/HttpApi.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apig/HttpApi.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * APIG Http Api can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AccessControlList.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AccessControlList.java index 0ba87eab62..337a13b638 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AccessControlList.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AccessControlList.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Access Control List can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AclEntryAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AclEntryAttachment.java index c66b395f3d..ac50c713a3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AclEntryAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AclEntryAttachment.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Api.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Api.java index fe9023a50f..bd75fd5f43 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Api.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Api.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway api can be imported using the id.Format to `<API Group Id>:<API Id>` e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/App.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/App.java index 065ed6c433..541413ee67 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/App.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/App.java @@ -52,6 +52,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway app can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AppAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AppAttachment.java index d8027e0248..ea27d2a25a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AppAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/AppAttachment.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:apigateway/appAttachment:AppAttachment") public class AppAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Backend.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Backend.java index e619cd8cfe..4654e69c28 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Backend.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Backend.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Backend can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Group.java index 96e117d981..cc34460442 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Group.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Instance.java index a8f8464410..9dbae1fea2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Instance.java @@ -151,6 +151,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/InstanceAclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/InstanceAclAttachment.java index 35486ec05a..4e52a94dc0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/InstanceAclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/InstanceAclAttachment.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Instance Acl Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/LogConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/LogConfig.java index d2ec3e4001..b71f7bcf54 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/LogConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/LogConfig.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Log Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Model.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Model.java index aea821e257..5f44b833ca 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Model.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Model.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Model can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Plugin.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Plugin.java index 7a6814c258..9ecdc5670b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Plugin.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/Plugin.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Plugin can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/PluginAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/PluginAttachment.java index 6144ff460c..21bfddbcfa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/PluginAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/PluginAttachment.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:apigateway/pluginAttachment:PluginAttachment") public class PluginAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/VpcAccess.java b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/VpcAccess.java index ab29b17058..5a2add0453 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/VpcAccess.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/apigateway/VpcAccess.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway app can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AddonRelease.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AddonRelease.java index 888f9d38c0..59ea15921b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AddonRelease.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AddonRelease.java @@ -172,6 +172,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Addon Release can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContact.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContact.java index 313ef303f6..acf1e60031 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContact.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContact.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContactGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContactGroup.java index aa271f816e..59907021b4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContactGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertContactGroup.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertRobot.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertRobot.java index f88bcb9108..ef12dcec55 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertRobot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/AlertRobot.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/DispatchRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/DispatchRule.java index 082085a298..715781aa7d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/DispatchRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/DispatchRule.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvCustomJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvCustomJob.java index e0558b1a4c..01692013ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvCustomJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvCustomJob.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Custom Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvFeature.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvFeature.java index 1bf69aa235..dd3285be71 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvFeature.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvFeature.java @@ -162,6 +162,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Feature can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvPodMonitor.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvPodMonitor.java index cb860a76d3..89c5c0d913 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvPodMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvPodMonitor.java @@ -188,6 +188,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Pod Monitor can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvServiceMonitor.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvServiceMonitor.java index 1a410f75ea..50fda95a3d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvServiceMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/EnvServiceMonitor.java @@ -187,6 +187,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Service Monitor can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/Environment.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/Environment.java index ee78042c4f..dd885c0996 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/Environment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/Environment.java @@ -156,6 +156,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Environment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/GrafanaWorkspace.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/GrafanaWorkspace.java index 41476e6b29..eee9745019 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/GrafanaWorkspace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/GrafanaWorkspace.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/IntegrationExporter.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/IntegrationExporter.java index 3b8694362f..84d02fadef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/IntegrationExporter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/IntegrationExporter.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/Prometheus.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/Prometheus.java index 5b596be994..a0f0747fcc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/Prometheus.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/Prometheus.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusAlertRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusAlertRule.java index da3a41b64c..b556c9d100 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusAlertRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusAlertRule.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusMonitoring.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusMonitoring.java index ad4453b3f5..931d87199e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusMonitoring.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/PrometheusMonitoring.java @@ -184,6 +184,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Prometheus Monitoring can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/RemoteWrite.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/RemoteWrite.java index 4a15bb8a0c..0e1de9ca4e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/RemoteWrite.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/RemoteWrite.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/arms/SyntheticTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/arms/SyntheticTask.java index cef3fc48d5..12568922eb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/arms/SyntheticTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/arms/SyntheticTask.java @@ -240,6 +240,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Synthetic Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/Host.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/Host.java index 4ec10d55c2..23b2249125 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/Host.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/Host.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccount.java index e73bd116a9..94ffbb24d7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccount.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountShareKeyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountShareKeyAttachment.java index 3d5396d2b7..5d8a426a82 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountShareKeyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountShareKeyAttachment.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Account Share Key Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserAttachment.java index 736fab4e9b..9c410cde18 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserAttachment.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserGroupAttachment.java index d06229e6da..6cf91f50c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAccountUserGroupAttachment.java @@ -126,6 +126,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAttachment.java index 08890ec804..3f186eb446 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostAttachment.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroup.java index 29fc1fd474..ff9a396cfc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroup.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserAttachment.java index bb68bb875a..f762e73fc2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserAttachment.java @@ -137,6 +137,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserGroupAttachment.java index 70d99a7626..6b37dba283 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostGroupAccountUserGroupAttachment.java @@ -133,6 +133,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostShareKey.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostShareKey.java index 4b21d38d2b..da714b148a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostShareKey.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/HostShareKey.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Share Key can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/User.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/User.java index c538250498..6c56b575e8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/User.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/User.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserAttachment.java index ceb552a687..f9e3aab79c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserAttachment.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserGroup.java index 2c05781fa0..d27232c126 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bastionhost/UserGroup.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/bp/StudioApplication.java b/sdk/java/src/main/java/com/pulumi/alicloud/bp/StudioApplication.java index 345d88506c..f00edaa945 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/bp/StudioApplication.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/bp/StudioApplication.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Architect Design Tools Application can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidLoop.java b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidLoop.java index 725e18f2dd..3bf289dd55 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidLoop.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidLoop.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Loop can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidOrganization.java b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidOrganization.java index dfd71190d8..2167c97b01 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidOrganization.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidOrganization.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Organization can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidProject.java b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidProject.java index ab7b4d2bc1..0980cbd909 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidProject.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/brain/IndustrialPidProject.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Project can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cas/Certificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/cas/Certificate.java index be4506dbb8..24028dabfe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cas/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cas/Certificate.java @@ -126,6 +126,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * @deprecated * This resource has been deprecated in favour of ServiceCertificate * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cas/ServiceCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/cas/ServiceCertificate.java index f68596b0e2..a9a44e45ed 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cas/ServiceCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cas/ServiceCertificate.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL Certificates Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/Cluster.java index d437b418f3..5b72479285 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/Cluster.java @@ -81,6 +81,8 @@ * * This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cassandra cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/DataCenter.java b/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/DataCenter.java index 1895057785..2e3ba6748c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/DataCenter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cassandra/DataCenter.java @@ -96,6 +96,8 @@ * * This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * If you need full function, please import Cassandra cluster first. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostAccount.java index d8fd33f600..4f6c71547c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostAccount.java @@ -123,6 +123,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostGroup.java index 06950726c8..81d12aa924 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cddc/DedicatedHostGroup.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainConfig.java index 99d27c7b90..0a1466d702 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainConfig.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN domain config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainNew.java b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainNew.java index 15b01c1726..caf9a1bbbb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainNew.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/DomainNew.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/FcTrigger.java b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/FcTrigger.java index 1f9b9c2736..68914031ce 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/FcTrigger.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/FcTrigger.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Fc Trigger can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/RealTimeLogDelivery.java b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/RealTimeLogDelivery.java index ec5b61190d..aaf77ef522 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cdn/RealTimeLogDelivery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cdn/RealTimeLogDelivery.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Real Time Log Delivery can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthLimit.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthLimit.java index 4e015d85d5..e9577c0497 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthLimit.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthLimit.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN bandwidth limit can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackage.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackage.java index de27b7703d..8a2d5c139e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackage.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackage.java @@ -10,6 +10,7 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -28,6 +29,28 @@ */ @ResourceType(type="alicloud:cen/bandwidthPackage:BandwidthPackage") public class BandwidthPackage extends com.pulumi.resources.CustomResource { + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + @Export(name="autoRenew", refs={Boolean.class}, tree="[0]") + private Output autoRenew; + + /** + * @return Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + public Output> autoRenew() { + return Codegen.optional(this.autoRenew); + } /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. * @@ -45,10 +68,6 @@ public Output bandwidth() { /** * The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ @Export(name="cenBandwidthPackageName", refs={String.class}, tree="[0]") private Output cenBandwidthPackageName; @@ -56,10 +75,6 @@ public Output bandwidth() { /** * @return The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ public Output cenBandwidthPackageName() { return this.cenBandwidthPackageName; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageArgs.java index 0a01b4998c..07e927a165 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -18,6 +19,29 @@ public final class BandwidthPackageArgs extends com.pulumi.resources.ResourceArg public static final BandwidthPackageArgs Empty = new BandwidthPackageArgs(); + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. * @@ -36,10 +60,6 @@ public Output bandwidth() { /** * The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ @Import(name="cenBandwidthPackageName") private @Nullable Output cenBandwidthPackageName; @@ -47,10 +67,6 @@ public Output bandwidth() { /** * @return The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ public Optional> cenBandwidthPackageName() { return Optional.ofNullable(this.cenBandwidthPackageName); @@ -205,6 +221,7 @@ public Optional> period() { private BandwidthPackageArgs() {} private BandwidthPackageArgs(BandwidthPackageArgs $) { + this.autoRenew = $.autoRenew; this.bandwidth = $.bandwidth; this.cenBandwidthPackageName = $.cenBandwidthPackageName; this.chargeType = $.chargeType; @@ -235,6 +252,35 @@ public Builder(BandwidthPackageArgs defaults) { $ = new BandwidthPackageArgs(Objects.requireNonNull(defaults)); } + /** + * @param autoRenew Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + * @return builder + * + */ + public Builder autoRenew(Boolean autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + /** * @param bandwidth The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. * @@ -259,10 +305,6 @@ public Builder bandwidth(Integer bandwidth) { /** * @param cenBandwidthPackageName The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * * @return builder * */ @@ -274,10 +316,6 @@ public Builder cenBandwidthPackageName(@Nullable Output cenBandwidthPack /** * @param cenBandwidthPackageName The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageAttachment.java index 93e1b2b60e..3bc1c60c0e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/BandwidthPackageAttachment.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN bandwidth package attachment resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/ChildInstanceRouteEntryToAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/ChildInstanceRouteEntryToAttachment.java index 182c425eb8..d943e35679 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/ChildInstanceRouteEntryToAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/ChildInstanceRouteEntryToAttachment.java @@ -136,6 +136,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/FlowLog.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/FlowLog.java index aa04074477..e2258c29d4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/FlowLog.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/FlowLog.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Flow Log can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/Instance.java index 1ec1f87ddc..cc84d15140 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/Instance.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceAttachment.java index 95cca1f3e7..3259bdd5dd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceAttachment.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceGrant.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceGrant.java index ddf8e5256b..e8a6f08832 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceGrant.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InstanceGrant.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosPolicy.java index facd0ecf71..ef7794a091 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosPolicy.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosQueue.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosQueue.java index 7643a3a909..3ee7c31f2a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosQueue.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/InterRegionTrafficQosQueue.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/PrivateZone.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/PrivateZone.java index 35e98fc441..88643f8247 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/PrivateZone.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/PrivateZone.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteEntry.java index c8be60f9f2..05684366e5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteEntry.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteMap.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteMap.java index 156afea8c5..171eee4af6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteMap.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteMap.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN RouteMap can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteService.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteService.java index f59b068219..dfd7b26156 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteService.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/RouteService.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Route Service can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TrafficMarkingPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TrafficMarkingPolicy.java index 2b6417df04..d6483f8b11 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TrafficMarkingPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TrafficMarkingPolicy.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouteTableAggregation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouteTableAggregation.java index 645c7fc563..2c999a0631 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouteTableAggregation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouteTableAggregation.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouter.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouter.java index f59317ee9f..411b2fbfc2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouter.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterCidr.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterCidr.java index beeeb7e94f..3586849312 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterCidr.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterCidr.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterEcrAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterEcrAttachment.java index d897ce4591..22cd0e0f6f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterEcrAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterEcrAttachment.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Transit Router Ecr Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterGrantAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterGrantAttachment.java index 07e4c27ac0..88f7af3def 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterGrantAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterGrantAttachment.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomain.java index 6bcaf46044..c9adf073a4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomain.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainAssociation.java index 1980da1696..8102d5350e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainAssociation.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainMember.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainMember.java index 74a8add080..bebecca3be 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainMember.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainMember.java @@ -148,6 +148,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Member can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainPeerMember.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainPeerMember.java index 75408f8806..0704433a75 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainPeerMember.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainPeerMember.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainSource.java index 9802a3282e..e390fef1c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterMulticastDomainSource.java @@ -171,6 +171,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPeerAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPeerAttachment.java index b58f37d570..1d05634447 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPeerAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPeerAttachment.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPrefixListAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPrefixListAssociation.java index 889ff3a976..ac37d658e2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPrefixListAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterPrefixListAssociation.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteEntry.java index cb815735a7..b6cee9bba4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteEntry.java @@ -120,6 +120,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTable.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTable.java index 4288e581e4..1841128cc3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTable.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTable.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN transit router route table can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTableAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTableAssociation.java index 073a78b472..720335703c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTableAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTableAssociation.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTablePropagation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTablePropagation.java index ced2fdb66f..b69c60ba00 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTablePropagation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterRouteTablePropagation.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN transit router route table propagation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVbrAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVbrAttachment.java index c4435d9f28..9986e81465 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVbrAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVbrAttachment.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpcAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpcAttachment.java index b29e105a8e..06f502c486 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpcAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpcAttachment.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Vpc Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpnAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpnAttachment.java index edf4b1655a..7052da16ed 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpnAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/TransitRouterVpnAttachment.java @@ -297,6 +297,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/VbrHealthCheck.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/VbrHealthCheck.java index a5ba2064a3..58c131f41b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/VbrHealthCheck.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/VbrHealthCheck.java @@ -115,6 +115,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN VBR HealthCheck can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cen/inputs/BandwidthPackageState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cen/inputs/BandwidthPackageState.java index a9394b92d7..d973ec5842 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cen/inputs/BandwidthPackageState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cen/inputs/BandwidthPackageState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -17,6 +18,29 @@ public final class BandwidthPackageState extends com.pulumi.resources.ResourceAr public static final BandwidthPackageState Empty = new BandwidthPackageState(); + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. * @@ -35,10 +59,6 @@ public Optional> bandwidth() { /** * The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ @Import(name="cenBandwidthPackageName") private @Nullable Output cenBandwidthPackageName; @@ -46,10 +66,6 @@ public Optional> bandwidth() { /** * @return The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * */ public Optional> cenBandwidthPackageName() { return Optional.ofNullable(this.cenBandwidthPackageName); @@ -234,6 +250,7 @@ public Optional> status() { private BandwidthPackageState() {} private BandwidthPackageState(BandwidthPackageState $) { + this.autoRenew = $.autoRenew; this.bandwidth = $.bandwidth; this.cenBandwidthPackageName = $.cenBandwidthPackageName; this.chargeType = $.chargeType; @@ -266,6 +283,35 @@ public Builder(BandwidthPackageState defaults) { $ = new BandwidthPackageState(Objects.requireNonNull(defaults)); } + /** + * @param autoRenew Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + * + * @return builder + * + */ + public Builder autoRenew(Boolean autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + /** * @param bandwidth The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. * @@ -290,10 +336,6 @@ public Builder bandwidth(Integer bandwidth) { /** * @param cenBandwidthPackageName The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * * @return builder * */ @@ -305,10 +347,6 @@ public Builder cenBandwidthPackageName(@Nullable Output cenBandwidthPack /** * @param cenBandwidthPackageName The name of the bandwidth package. Defaults to null. * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateCompliancePack.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateCompliancePack.java index 19a51afcf5..c130285435 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateCompliancePack.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateCompliancePack.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateConfigRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateConfigRule.java index c86e57e7f3..227ca3acbf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateConfigRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateConfigRule.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Aggregate Config Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateDelivery.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateDelivery.java index aac812b5cf..24e83b1e4a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateDelivery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/AggregateDelivery.java @@ -129,6 +129,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Aggregate Delivery can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Aggregator.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Aggregator.java index c2d2baedc4..70102c564a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Aggregator.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Aggregator.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config (Config) Aggregator can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/CompliancePack.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/CompliancePack.java index 8b7a92d5b3..8457ec8e77 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/CompliancePack.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/CompliancePack.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Compliance Pack can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/ConfigurationRecorder.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/ConfigurationRecorder.java index e3a65a9f78..0789e6587e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/ConfigurationRecorder.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/ConfigurationRecorder.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alicloud Config Configuration Recorder can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Delivery.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Delivery.java index c5d55d01f7..ab3dce15c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Delivery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Delivery.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Delivery can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/DeliveryChannel.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/DeliveryChannel.java index 5eb9d22582..c595ac2d4a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/DeliveryChannel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/DeliveryChannel.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alicloud Config Delivery Channel can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Remediation.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Remediation.java index 88b85604f6..bd2b7688d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Remediation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Remediation.java @@ -104,6 +104,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Remediation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Rule.java index 49d086ea3c..ca96b127ca 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cfg/Rule.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/chatbot/PublishTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/chatbot/PublishTask.java index 9f6f36cf86..52d1f06b72 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/chatbot/PublishTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/chatbot/PublishTask.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Chatbot Publish Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/Account.java index 09e91d7dec..c2b1aa5ca8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/Account.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/BackupPolicy.java index 57f21d7022..6bed731e1f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/BackupPolicy.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Backup Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/DbCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/DbCluster.java index c248c59f6c..4ab11488a9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/DbCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouse/DbCluster.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House DBCluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/Account.java index 878f6e445c..e64f14c60d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/Account.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/BackupPolicy.java index e37c042216..ad61da799c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/BackupPolicy.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/ClickHouseEnterpriseDbCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/ClickHouseEnterpriseDbCluster.java index 86238b88d9..276148490f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/ClickHouseEnterpriseDbCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/ClickHouseEnterpriseDbCluster.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise D B Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/PublicEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/PublicEndpoint.java index cecf8dcc3a..8f4b6d10a8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/PublicEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/PublicEndpoint.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/SecurityIp.java b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/SecurityIp.java index 329d43b412..c33264ccdc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/SecurityIp.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/clickhouseenterprisedbcluster/SecurityIp.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudauth/FaceConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudauth/FaceConfig.java index 035b2348c9..e3c4a7843b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudauth/FaceConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudauth/FaceConfig.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloudauth Face Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/Network.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/Network.java index 573377d7b9..cc2a141726 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/Network.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/Network.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The cloud connect network instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkAttachment.java index b8ac69393c..47e9e87006 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkAttachment.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Cloud Connect Network Attachment can be imported using the instance_id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkGrant.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkGrant.java index e71f70ddb2..920de5b3de 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkGrant.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudconnect/NetworkGrant.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Cloud Connect Network Grant can be imported using the instance_id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudcontrol/Resource.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudcontrol/Resource.java index 9625784b31..5fc4cbe21a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudcontrol/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudcontrol/Resource.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Control Resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/AddressBook.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/AddressBook.java index 692d59a366..99786509d6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/AddressBook.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/AddressBook.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Address Book can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicy.java index 6c7e1d1533..6880632c1e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicy.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicyOrder.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicyOrder.java index daf76e6c12..c5b22dd808 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicyOrder.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/ControlPolicyOrder.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Control Policy Order can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewall.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewall.java index 59f2f599e2..2d2ff7301e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewall.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewall.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallCen.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallCen.java index ca398735ac..577f1bc56b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallCen.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallCen.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicy.java index caf4e11bb5..07c1ad3367 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicy.java @@ -10,7 +10,6 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; -import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -20,6 +19,8 @@ /** * Provides a Cloud Firewall Vpc Firewall Control Policy resource. * + * VPC Control Policy. + * * For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). * * > **NOTE:** Available since v1.194.0. @@ -79,7 +80,7 @@ * .source("127.0.0.1/32") * .destPortType("port") * .proto("TCP") - * .release(true) + * .release("true") * .memberUid(default_.id()) * .vpcFirewallId(defaultInstance.id()) * .build()); @@ -89,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -147,14 +150,44 @@ public Output applicationId() { * */ @Export(name="applicationName", refs={String.class}, tree="[0]") - private Output applicationName; + private Output applicationName; /** * @return The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. * */ - public Output applicationName() { - return this.applicationName; + public Output> applicationName() { + return Codegen.optional(this.applicationName); + } + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + @Export(name="applicationNameLists", refs={List.class,String.class}, tree="[0,1]") + private Output> applicationNameLists; + + /** + * @return The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + public Output>> applicationNameLists() { + return Codegen.optional(this.applicationNameLists); + } + /** + * (Available since v1.267.0) The time when the policy was created. + * + */ + @Export(name="createTime", refs={Integer.class}, tree="[0]") + private Output createTime; + + /** + * @return (Available since v1.267.0) The time when the policy was created. + * + */ + public Output createTime() { + return this.createTime; } /** * Access control over VPC firewalls description of the strategy information. @@ -288,6 +321,34 @@ public Output destinationGroupType() { public Output destinationType() { return this.destinationType; } + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + @Export(name="domainResolveType", refs={String.class}, tree="[0]") + private Output domainResolveType; + + /** + * @return The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + public Output domainResolveType() { + return this.domainResolveType; + } + /** + * The end time of the policy validity period. + * + */ + @Export(name="endTime", refs={Integer.class}, tree="[0]") + private Output endTime; + + /** + * @return The end time of the policy validity period. + * + */ + public Output> endTime() { + return Codegen.optional(this.endTime); + } /** * Control strategy of hits per second. * @@ -362,16 +423,76 @@ public Output proto() { * The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: * */ - @Export(name="release", refs={Boolean.class}, tree="[0]") - private Output release; + @Export(name="release", refs={String.class}, tree="[0]") + private Output release; /** * @return The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: * */ - public Output release() { + public Output release() { return this.release; } + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + @Export(name="repeatDays", refs={List.class,Integer.class}, tree="[0,1]") + private Output> repeatDays; + + /** + * @return The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + public Output>> repeatDays() { + return Codegen.optional(this.repeatDays); + } + /** + * The recurring end time of the policy validity period. + * + */ + @Export(name="repeatEndTime", refs={String.class}, tree="[0]") + private Output repeatEndTime; + + /** + * @return The recurring end time of the policy validity period. + * + */ + public Output> repeatEndTime() { + return Codegen.optional(this.repeatEndTime); + } + /** + * The recurring start time of the policy validity period. + * + */ + @Export(name="repeatStartTime", refs={String.class}, tree="[0]") + private Output repeatStartTime; + + /** + * @return The recurring start time of the policy validity period. + * + */ + public Output> repeatStartTime() { + return Codegen.optional(this.repeatStartTime); + } + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + @Export(name="repeatType", refs={String.class}, tree="[0]") + private Output repeatType; + + /** + * @return The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + public Output repeatType() { + return this.repeatType; + } /** * Access control over VPC firewalls strategy in the source address. * @@ -428,6 +549,20 @@ public Output sourceGroupType() { public Output sourceType() { return this.sourceType; } + /** + * The start time of the policy validity period. + * + */ + @Export(name="startTime", refs={Integer.class}, tree="[0]") + private Output startTime; + + /** + * @return The start time of the policy validity period. + * + */ + public Output> startTime() { + return Codegen.optional(this.startTime); + } /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicyArgs.java index e6ffc3d8e1..3d14a02154 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/FirewallVpcFirewallControlPolicyArgs.java @@ -6,9 +6,9 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -37,15 +37,32 @@ public Output aclAction() { * The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. * */ - @Import(name="applicationName", required=true) - private Output applicationName; + @Import(name="applicationName") + private @Nullable Output applicationName; /** * @return The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. * */ - public Output applicationName() { - return this.applicationName; + public Optional> applicationName() { + return Optional.ofNullable(this.applicationName); + } + + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + @Import(name="applicationNameLists") + private @Nullable Output> applicationNameLists; + + /** + * @return The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + public Optional>> applicationNameLists() { + return Optional.ofNullable(this.applicationNameLists); } /** @@ -144,6 +161,36 @@ public Output destinationType() { return this.destinationType; } + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + @Import(name="domainResolveType") + private @Nullable Output domainResolveType; + + /** + * @return The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + public Optional> domainResolveType() { + return Optional.ofNullable(this.domainResolveType); + } + + /** + * The end time of the policy validity period. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return The end time of the policy validity period. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + /** * The language of the content within the request and response. Valid values: `zh`, `en`. * @@ -209,16 +256,80 @@ public Output proto() { * */ @Import(name="release") - private @Nullable Output release; + private @Nullable Output release; /** * @return The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: * */ - public Optional> release() { + public Optional> release() { return Optional.ofNullable(this.release); } + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + @Import(name="repeatDays") + private @Nullable Output> repeatDays; + + /** + * @return The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + public Optional>> repeatDays() { + return Optional.ofNullable(this.repeatDays); + } + + /** + * The recurring end time of the policy validity period. + * + */ + @Import(name="repeatEndTime") + private @Nullable Output repeatEndTime; + + /** + * @return The recurring end time of the policy validity period. + * + */ + public Optional> repeatEndTime() { + return Optional.ofNullable(this.repeatEndTime); + } + + /** + * The recurring start time of the policy validity period. + * + */ + @Import(name="repeatStartTime") + private @Nullable Output repeatStartTime; + + /** + * @return The recurring start time of the policy validity period. + * + */ + public Optional> repeatStartTime() { + return Optional.ofNullable(this.repeatStartTime); + } + + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + @Import(name="repeatType") + private @Nullable Output repeatType; + + /** + * @return The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + public Optional> repeatType() { + return Optional.ofNullable(this.repeatType); + } + /** * Access control over VPC firewalls strategy in the source address. * @@ -249,6 +360,21 @@ public Output sourceType() { return this.sourceType; } + /** + * The start time of the policy validity period. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the policy validity period. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -273,19 +399,27 @@ private FirewallVpcFirewallControlPolicyArgs() {} private FirewallVpcFirewallControlPolicyArgs(FirewallVpcFirewallControlPolicyArgs $) { this.aclAction = $.aclAction; this.applicationName = $.applicationName; + this.applicationNameLists = $.applicationNameLists; this.description = $.description; this.destPort = $.destPort; this.destPortGroup = $.destPortGroup; this.destPortType = $.destPortType; this.destination = $.destination; this.destinationType = $.destinationType; + this.domainResolveType = $.domainResolveType; + this.endTime = $.endTime; this.lang = $.lang; this.memberUid = $.memberUid; this.order = $.order; this.proto = $.proto; this.release = $.release; + this.repeatDays = $.repeatDays; + this.repeatEndTime = $.repeatEndTime; + this.repeatStartTime = $.repeatStartTime; + this.repeatType = $.repeatType; this.source = $.source; this.sourceType = $.sourceType; + this.startTime = $.startTime; this.vpcFirewallId = $.vpcFirewallId; } @@ -334,7 +468,7 @@ public Builder aclAction(String aclAction) { * @return builder * */ - public Builder applicationName(Output applicationName) { + public Builder applicationName(@Nullable Output applicationName) { $.applicationName = applicationName; return this; } @@ -349,6 +483,40 @@ public Builder applicationName(String applicationName) { return applicationName(Output.of(applicationName)); } + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(@Nullable Output> applicationNameLists) { + $.applicationNameLists = applicationNameLists; + return this; + } + + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(List applicationNameLists) { + return applicationNameLists(Output.of(applicationNameLists)); + } + + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(String... applicationNameLists) { + return applicationNameLists(List.of(applicationNameLists)); + } + /** * @param description Access control over VPC firewalls description of the strategy information. * @@ -481,6 +649,48 @@ public Builder destinationType(String destinationType) { return destinationType(Output.of(destinationType)); } + /** + * @param domainResolveType The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + * @return builder + * + */ + public Builder domainResolveType(@Nullable Output domainResolveType) { + $.domainResolveType = domainResolveType; + return this; + } + + /** + * @param domainResolveType The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + * @return builder + * + */ + public Builder domainResolveType(String domainResolveType) { + return domainResolveType(Output.of(domainResolveType)); + } + + /** + * @param endTime The end time of the policy validity period. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime The end time of the policy validity period. + * + * @return builder + * + */ + public Builder endTime(Integer endTime) { + return endTime(Output.of(endTime)); + } + /** * @param lang The language of the content within the request and response. Valid values: `zh`, `en`. * @@ -571,7 +781,7 @@ public Builder proto(String proto) { * @return builder * */ - public Builder release(@Nullable Output release) { + public Builder release(@Nullable Output release) { $.release = release; return this; } @@ -582,10 +792,110 @@ public Builder release(@Nullable Output release) { * @return builder * */ - public Builder release(Boolean release) { + public Builder release(String release) { return release(Output.of(release)); } + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(@Nullable Output> repeatDays) { + $.repeatDays = repeatDays; + return this; + } + + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(List repeatDays) { + return repeatDays(Output.of(repeatDays)); + } + + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(Integer... repeatDays) { + return repeatDays(List.of(repeatDays)); + } + + /** + * @param repeatEndTime The recurring end time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatEndTime(@Nullable Output repeatEndTime) { + $.repeatEndTime = repeatEndTime; + return this; + } + + /** + * @param repeatEndTime The recurring end time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatEndTime(String repeatEndTime) { + return repeatEndTime(Output.of(repeatEndTime)); + } + + /** + * @param repeatStartTime The recurring start time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatStartTime(@Nullable Output repeatStartTime) { + $.repeatStartTime = repeatStartTime; + return this; + } + + /** + * @param repeatStartTime The recurring start time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatStartTime(String repeatStartTime) { + return repeatStartTime(Output.of(repeatStartTime)); + } + + /** + * @param repeatType The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + * @return builder + * + */ + public Builder repeatType(@Nullable Output repeatType) { + $.repeatType = repeatType; + return this; + } + + /** + * @param repeatType The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + * @return builder + * + */ + public Builder repeatType(String repeatType) { + return repeatType(Output.of(repeatType)); + } + /** * @param source Access control over VPC firewalls strategy in the source address. * @@ -628,6 +938,27 @@ public Builder sourceType(String sourceType) { return sourceType(Output.of(sourceType)); } + /** + * @param startTime The start time of the policy validity period. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the policy validity period. + * + * @return builder + * + */ + public Builder startTime(Integer startTime) { + return startTime(Output.of(startTime)); + } + /** * @param vpcFirewallId The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -657,9 +988,6 @@ public FirewallVpcFirewallControlPolicyArgs build() { if ($.aclAction == null) { throw new MissingRequiredPropertyException("FirewallVpcFirewallControlPolicyArgs", "aclAction"); } - if ($.applicationName == null) { - throw new MissingRequiredPropertyException("FirewallVpcFirewallControlPolicyArgs", "applicationName"); - } if ($.description == null) { throw new MissingRequiredPropertyException("FirewallVpcFirewallControlPolicyArgs", "description"); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/Instance.java index 691e0560a0..4324497d82 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/Instance.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/InstanceMember.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/InstanceMember.java index 1c95910c57..e49b626d23 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/InstanceMember.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/InstanceMember.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Instance Member can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewall.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewall.java index 9f50620303..4cdd0d7b8c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewall.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewall.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Nat Firewall can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewallControlPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewallControlPolicy.java index 0d3614c70f..650adff179 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewallControlPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/NatFirewallControlPolicy.java @@ -189,6 +189,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/PrivateDns.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/PrivateDns.java index 3a04ce7dd0..39ee0d1366 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/PrivateDns.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/PrivateDns.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Private Dns can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/VpcCenTrFirewall.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/VpcCenTrFirewall.java index c3fc271e5c..87902ce740 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/VpcCenTrFirewall.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/VpcCenTrFirewall.java @@ -168,6 +168,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/inputs/FirewallVpcFirewallControlPolicyState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/inputs/FirewallVpcFirewallControlPolicyState.java index f5ed63fbf0..af21a0eb10 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/inputs/FirewallVpcFirewallControlPolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudfirewall/inputs/FirewallVpcFirewallControlPolicyState.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -78,6 +77,38 @@ public Optional> applicationName() { return Optional.ofNullable(this.applicationName); } + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + @Import(name="applicationNameLists") + private @Nullable Output> applicationNameLists; + + /** + * @return The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + */ + public Optional>> applicationNameLists() { + return Optional.ofNullable(this.applicationNameLists); + } + + /** + * (Available since v1.267.0) The time when the policy was created. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return (Available since v1.267.0) The time when the policy was created. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + /** * Access control over VPC firewalls description of the strategy information. * @@ -219,6 +250,36 @@ public Optional> destinationType() { return Optional.ofNullable(this.destinationType); } + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + @Import(name="domainResolveType") + private @Nullable Output domainResolveType; + + /** + * @return The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + */ + public Optional> domainResolveType() { + return Optional.ofNullable(this.domainResolveType); + } + + /** + * The end time of the policy validity period. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return The end time of the policy validity period. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + /** * Control strategy of hits per second. * @@ -299,16 +360,80 @@ public Optional> proto() { * */ @Import(name="release") - private @Nullable Output release; + private @Nullable Output release; /** * @return The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: * */ - public Optional> release() { + public Optional> release() { return Optional.ofNullable(this.release); } + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + @Import(name="repeatDays") + private @Nullable Output> repeatDays; + + /** + * @return The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + */ + public Optional>> repeatDays() { + return Optional.ofNullable(this.repeatDays); + } + + /** + * The recurring end time of the policy validity period. + * + */ + @Import(name="repeatEndTime") + private @Nullable Output repeatEndTime; + + /** + * @return The recurring end time of the policy validity period. + * + */ + public Optional> repeatEndTime() { + return Optional.ofNullable(this.repeatEndTime); + } + + /** + * The recurring start time of the policy validity period. + * + */ + @Import(name="repeatStartTime") + private @Nullable Output repeatStartTime; + + /** + * @return The recurring start time of the policy validity period. + * + */ + public Optional> repeatStartTime() { + return Optional.ofNullable(this.repeatStartTime); + } + + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + @Import(name="repeatType") + private @Nullable Output repeatType; + + /** + * @return The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + */ + public Optional> repeatType() { + return Optional.ofNullable(this.repeatType); + } + /** * Access control over VPC firewalls strategy in the source address. * @@ -369,6 +494,21 @@ public Optional> sourceType() { return Optional.ofNullable(this.sourceType); } + /** + * The start time of the policy validity period. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the policy validity period. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -395,6 +535,8 @@ private FirewallVpcFirewallControlPolicyState(FirewallVpcFirewallControlPolicySt this.aclUuid = $.aclUuid; this.applicationId = $.applicationId; this.applicationName = $.applicationName; + this.applicationNameLists = $.applicationNameLists; + this.createTime = $.createTime; this.description = $.description; this.destPort = $.destPort; this.destPortGroup = $.destPortGroup; @@ -404,16 +546,23 @@ private FirewallVpcFirewallControlPolicyState(FirewallVpcFirewallControlPolicySt this.destinationGroupCidrs = $.destinationGroupCidrs; this.destinationGroupType = $.destinationGroupType; this.destinationType = $.destinationType; + this.domainResolveType = $.domainResolveType; + this.endTime = $.endTime; this.hitTimes = $.hitTimes; this.lang = $.lang; this.memberUid = $.memberUid; this.order = $.order; this.proto = $.proto; this.release = $.release; + this.repeatDays = $.repeatDays; + this.repeatEndTime = $.repeatEndTime; + this.repeatStartTime = $.repeatStartTime; + this.repeatType = $.repeatType; this.source = $.source; this.sourceGroupCidrs = $.sourceGroupCidrs; this.sourceGroupType = $.sourceGroupType; this.sourceType = $.sourceType; + this.startTime = $.startTime; this.vpcFirewallId = $.vpcFirewallId; } @@ -519,6 +668,61 @@ public Builder applicationName(String applicationName) { return applicationName(Output.of(applicationName)); } + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(@Nullable Output> applicationNameLists) { + $.applicationNameLists = applicationNameLists; + return this; + } + + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(List applicationNameLists) { + return applicationNameLists(Output.of(applicationNameLists)); + } + + /** + * @param applicationNameLists The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + * + * @return builder + * + */ + public Builder applicationNameLists(String... applicationNameLists) { + return applicationNameLists(List.of(applicationNameLists)); + } + + /** + * @param createTime (Available since v1.267.0) The time when the policy was created. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime (Available since v1.267.0) The time when the policy was created. + * + * @return builder + * + */ + public Builder createTime(Integer createTime) { + return createTime(Output.of(createTime)); + } + /** * @param description Access control over VPC firewalls description of the strategy information. * @@ -734,6 +938,48 @@ public Builder destinationType(String destinationType) { return destinationType(Output.of(destinationType)); } + /** + * @param domainResolveType The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + * @return builder + * + */ + public Builder domainResolveType(@Nullable Output domainResolveType) { + $.domainResolveType = domainResolveType; + return this; + } + + /** + * @param domainResolveType The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + * + * @return builder + * + */ + public Builder domainResolveType(String domainResolveType) { + return domainResolveType(Output.of(domainResolveType)); + } + + /** + * @param endTime The end time of the policy validity period. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime The end time of the policy validity period. + * + * @return builder + * + */ + public Builder endTime(Integer endTime) { + return endTime(Output.of(endTime)); + } + /** * @param hitTimes Control strategy of hits per second. * @@ -845,7 +1091,7 @@ public Builder proto(String proto) { * @return builder * */ - public Builder release(@Nullable Output release) { + public Builder release(@Nullable Output release) { $.release = release; return this; } @@ -856,10 +1102,110 @@ public Builder release(@Nullable Output release) { * @return builder * */ - public Builder release(Boolean release) { + public Builder release(String release) { return release(Output.of(release)); } + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(@Nullable Output> repeatDays) { + $.repeatDays = repeatDays; + return this; + } + + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(List repeatDays) { + return repeatDays(Output.of(repeatDays)); + } + + /** + * @param repeatDays The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + * + * @return builder + * + */ + public Builder repeatDays(Integer... repeatDays) { + return repeatDays(List.of(repeatDays)); + } + + /** + * @param repeatEndTime The recurring end time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatEndTime(@Nullable Output repeatEndTime) { + $.repeatEndTime = repeatEndTime; + return this; + } + + /** + * @param repeatEndTime The recurring end time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatEndTime(String repeatEndTime) { + return repeatEndTime(Output.of(repeatEndTime)); + } + + /** + * @param repeatStartTime The recurring start time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatStartTime(@Nullable Output repeatStartTime) { + $.repeatStartTime = repeatStartTime; + return this; + } + + /** + * @param repeatStartTime The recurring start time of the policy validity period. + * + * @return builder + * + */ + public Builder repeatStartTime(String repeatStartTime) { + return repeatStartTime(Output.of(repeatStartTime)); + } + + /** + * @param repeatType The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + * @return builder + * + */ + public Builder repeatType(@Nullable Output repeatType) { + $.repeatType = repeatType; + return this; + } + + /** + * @param repeatType The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + * + * @return builder + * + */ + public Builder repeatType(String repeatType) { + return repeatType(Output.of(repeatType)); + } + /** * @param source Access control over VPC firewalls strategy in the source address. * @@ -954,6 +1300,27 @@ public Builder sourceType(String sourceType) { return sourceType(Output.of(sourceType)); } + /** + * @param startTime The start time of the policy validity period. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the policy validity period. + * + * @return builder + * + */ + public Builder startTime(Integer startTime) { + return startTime(Output.of(startTime)); + } + /** * @param vpcFirewallId The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceBasicPublic.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceBasicPublic.java index dccf67d5df..76e8b20dd9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceBasicPublic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceBasicPublic.java @@ -54,6 +54,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Basic Public can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceEnterprisePublic.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceEnterprisePublic.java index 2800c56023..c5f8a7f747 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceEnterprisePublic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceEnterprisePublic.java @@ -54,6 +54,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Enterprise Public can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceGroupMonitoringAgentProcess.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceGroupMonitoringAgentProcess.java index 306363e36d..533653deeb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceGroupMonitoringAgentProcess.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceGroupMonitoringAgentProcess.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceHybridDoubleWrite.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceHybridDoubleWrite.java index 913519c292..dbb007999f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceHybridDoubleWrite.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceHybridDoubleWrite.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceMonitoringAgentProcess.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceMonitoringAgentProcess.java index d938cc04e9..d35e962b35 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceMonitoringAgentProcess.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudmonitor/ServiceMonitoringAgentProcess.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Image.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Image.java index 78ea5b248b..e3bcc2eb33 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Image.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Image.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Image can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/KeyPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/KeyPair.java index ab3fde19cc..43596aa97d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/KeyPair.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Key Pair can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Policy.java index 8201a55b0b..88ab9d1a3b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphone/Policy.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphoneinstance/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphoneinstance/Group.java index 2cb2de3d8c..56427c450f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudphoneinstance/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudphoneinstance/Group.java @@ -96,6 +96,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Instance Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfiguration.java index ef74c44c47..a44985936c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfiguration.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Configuration can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfigurationProvisioning.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfigurationProvisioning.java index ba06523e34..cec1a2b2ac 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfigurationProvisioning.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessConfigurationProvisioning.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessManagement.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessManagement.java index 522feb7c7a..03db20cb36 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessManagement.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/AccessManagement.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Assignment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/DelegateAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/DelegateAccount.java index af014738c5..f9da3ddd92 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/DelegateAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/DelegateAccount.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Delegate Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Directory.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Directory.java index ed97e27efd..7a1c2d85fd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Directory.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Directory.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Directory can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Group.java index e13f82f9be..bd6c44aa66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/Group.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/ScimServerCredential.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/ScimServerCredential.java index a86d21292f..cc10b8bed5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/ScimServerCredential.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/ScimServerCredential.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO SCIM Server Credential can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/User.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/User.java index e2ea8df362..15897f1199 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/User.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/User.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Sso User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserAttachment.java index 759882f4c4..594306e238 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserAttachment.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO User Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserProvisioning.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserProvisioning.java index 6bbe8a2ba7..082b59dacc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserProvisioning.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudsso/UserProvisioning.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO User Provisioning can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSync.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSync.java index 72816933b3..e5997d6e4c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSync.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSync.java @@ -178,6 +178,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Express Sync can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSyncShareAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSyncShareAttachment.java index 4a588a2e19..c434afa1a8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSyncShareAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/ExpressSyncShareAttachment.java @@ -184,6 +184,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/Gateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/Gateway.java index 649fc9bc17..bb3137de2a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/Gateway.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayBlockVolume.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayBlockVolume.java index eb6d7ae134..87354bd021 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayBlockVolume.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayBlockVolume.java @@ -156,6 +156,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayCacheDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayCacheDisk.java index e230896ada..fb17d266fe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayCacheDisk.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayCacheDisk.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayFileShare.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayFileShare.java index 3f36b9a076..4944ead04b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayFileShare.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayFileShare.java @@ -151,6 +151,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayLogging.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayLogging.java index a1b76d38a1..0bbfb76f47 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayLogging.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewayLogging.java @@ -142,6 +142,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewaySmbUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewaySmbUser.java index 6f0afbb6d0..d1b10b1fbc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewaySmbUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/GatewaySmbUser.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/StorageBundle.java b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/StorageBundle.java index 166af02df5..54e7f2bd9a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/StorageBundle.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cloudstoragegateway/StorageBundle.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/Alarm.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/Alarm.java index 507161ebfb..b1db9c3bba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/Alarm.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/Alarm.java @@ -148,6 +148,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Alarm can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContact.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContact.java index 7bb0cb059a..813a009a07 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContact.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContact.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alarm contact can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContactGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContactGroup.java index fbd5f4444c..7f9d37de0e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContactGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/AlarmContactGroup.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CMS Alarm Contact Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/DynamicTagGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/DynamicTagGroup.java index dea88bfb34..23d37bcce0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/DynamicTagGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/DynamicTagGroup.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/EventRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/EventRule.java index 66abb788a0..218862ac42 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/EventRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/EventRule.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Event Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/GroupMetricRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/GroupMetricRule.java index bf85826873..505505213b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/GroupMetricRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/GroupMetricRule.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorFcTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorFcTask.java index f7c112e346..24a3dfe8ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorFcTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorFcTask.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorSlsTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorSlsTask.java index f48a29d370..266264642c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorSlsTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/HybridMonitorSlsTask.java @@ -166,6 +166,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleBlackList.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleBlackList.java index ccabcd069e..1b74fc389e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleBlackList.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleBlackList.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleTemplate.java index d4445f066b..a073718f53 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MetricRuleTemplate.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroup.java index 28d783d510..5cd3cac3e5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroup.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitor Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroupInstances.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroupInstances.java index 5fb69c6dd6..351aaa775b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroupInstances.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/MonitorGroupInstances.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/Namespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/Namespace.java index 4eb6f96167..7e840db958 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/Namespace.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/SiteMonitor.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/SiteMonitor.java index e24e8e37c3..7fbc7eb700 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/SiteMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/SiteMonitor.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Site Monitor can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cms/SlsGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/cms/SlsGroup.java index b96b611ed8..75a97715e1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cms/SlsGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cms/SlsGroup.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Sls Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/compute/NestServiceInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/compute/NestServiceInstance.java index 0af666dfcf..ba796084c6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/compute/NestServiceInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/compute/NestServiceInstance.java @@ -147,6 +147,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Compute Nest Service Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplate.java new file mode 100644 index 0000000000..b059da7732 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplate.java @@ -0,0 +1,271 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.config; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.config.ReportTemplateArgs; +import com.pulumi.alicloud.config.inputs.ReportTemplateState; +import com.pulumi.alicloud.config.outputs.ReportTemplateReportScope; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Cloud Config (Config) Report Template resource. + * + * Config Compliance Report Template. + * + * For information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.config.ReportTemplate;
+ * import com.pulumi.alicloud.config.ReportTemplateArgs;
+ * import com.pulumi.alicloud.config.inputs.ReportTemplateReportScopeArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new ReportTemplate("default", ReportTemplateArgs.builder()
+ *             .reportGranularity("AllInOne")
+ *             .reportScopes(ReportTemplateReportScopeArgs.builder()
+ *                 .key("RuleId")
+ *                 .value("cr-xxx")
+ *                 .matchType("In")
+ *                 .build())
+ *             .reportFileFormats("excel")
+ *             .reportTemplateName("example-name")
+ *             .reportTemplateDescription("example-desc")
+ *             .subscriptionFrequency(" ")
+ *             .reportLanguage("en-US")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Cloud Config (Config) Report Template can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:config/reportTemplate:ReportTemplate example <id> + * ``` + * + */ +@ResourceType(type="alicloud:config/reportTemplate:ReportTemplate") +public class ReportTemplate extends com.pulumi.resources.CustomResource { + /** + * Report Format + * + */ + @Export(name="reportFileFormats", refs={String.class}, tree="[0]") + private Output reportFileFormats; + + /** + * @return Report Format + * + */ + public Output> reportFileFormats() { + return Codegen.optional(this.reportFileFormats); + } + /** + * Report Aggregation Granularity + * + */ + @Export(name="reportGranularity", refs={String.class}, tree="[0]") + private Output reportGranularity; + + /** + * @return Report Aggregation Granularity + * + */ + public Output> reportGranularity() { + return Codegen.optional(this.reportGranularity); + } + /** + * This property does not have a description in the spec, please add it before generating code. + * + */ + @Export(name="reportLanguage", refs={String.class}, tree="[0]") + private Output reportLanguage; + + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + public Output> reportLanguage() { + return Codegen.optional(this.reportLanguage); + } + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + @Export(name="reportScopes", refs={List.class,ReportTemplateReportScope.class}, tree="[0,1]") + private Output> reportScopes; + + /** + * @return Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + public Output>> reportScopes() { + return Codegen.optional(this.reportScopes); + } + /** + * Report Template Description + * + */ + @Export(name="reportTemplateDescription", refs={String.class}, tree="[0]") + private Output reportTemplateDescription; + + /** + * @return Report Template Description + * + */ + public Output> reportTemplateDescription() { + return Codegen.optional(this.reportTemplateDescription); + } + /** + * Report Template Name + * + */ + @Export(name="reportTemplateName", refs={String.class}, tree="[0]") + private Output reportTemplateName; + + /** + * @return Report Template Name + * + */ + public Output reportTemplateName() { + return this.reportTemplateName; + } + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + @Export(name="subscriptionFrequency", refs={String.class}, tree="[0]") + private Output subscriptionFrequency; + + /** + * @return Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + public Output> subscriptionFrequency() { + return Codegen.optional(this.subscriptionFrequency); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ReportTemplate(java.lang.String name) { + this(name, ReportTemplateArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ReportTemplate(java.lang.String name, ReportTemplateArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ReportTemplate(java.lang.String name, ReportTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:config/reportTemplate:ReportTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ReportTemplate(java.lang.String name, Output id, @Nullable ReportTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:config/reportTemplate:ReportTemplate", name, state, makeResourceOptions(options, id), false); + } + + private static ReportTemplateArgs makeArgs(ReportTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ReportTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ReportTemplate get(java.lang.String name, Output id, @Nullable ReportTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ReportTemplate(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplateArgs.java new file mode 100644 index 0000000000..6a666c0cfa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/config/ReportTemplateArgs.java @@ -0,0 +1,377 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.config; + +import com.pulumi.alicloud.config.inputs.ReportTemplateReportScopeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReportTemplateArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReportTemplateArgs Empty = new ReportTemplateArgs(); + + /** + * Report Format + * + */ + @Import(name="reportFileFormats") + private @Nullable Output reportFileFormats; + + /** + * @return Report Format + * + */ + public Optional> reportFileFormats() { + return Optional.ofNullable(this.reportFileFormats); + } + + /** + * Report Aggregation Granularity + * + */ + @Import(name="reportGranularity") + private @Nullable Output reportGranularity; + + /** + * @return Report Aggregation Granularity + * + */ + public Optional> reportGranularity() { + return Optional.ofNullable(this.reportGranularity); + } + + /** + * This property does not have a description in the spec, please add it before generating code. + * + */ + @Import(name="reportLanguage") + private @Nullable Output reportLanguage; + + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + public Optional> reportLanguage() { + return Optional.ofNullable(this.reportLanguage); + } + + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + @Import(name="reportScopes") + private @Nullable Output> reportScopes; + + /** + * @return Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + public Optional>> reportScopes() { + return Optional.ofNullable(this.reportScopes); + } + + /** + * Report Template Description + * + */ + @Import(name="reportTemplateDescription") + private @Nullable Output reportTemplateDescription; + + /** + * @return Report Template Description + * + */ + public Optional> reportTemplateDescription() { + return Optional.ofNullable(this.reportTemplateDescription); + } + + /** + * Report Template Name + * + */ + @Import(name="reportTemplateName", required=true) + private Output reportTemplateName; + + /** + * @return Report Template Name + * + */ + public Output reportTemplateName() { + return this.reportTemplateName; + } + + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + @Import(name="subscriptionFrequency") + private @Nullable Output subscriptionFrequency; + + /** + * @return Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + public Optional> subscriptionFrequency() { + return Optional.ofNullable(this.subscriptionFrequency); + } + + private ReportTemplateArgs() {} + + private ReportTemplateArgs(ReportTemplateArgs $) { + this.reportFileFormats = $.reportFileFormats; + this.reportGranularity = $.reportGranularity; + this.reportLanguage = $.reportLanguage; + this.reportScopes = $.reportScopes; + this.reportTemplateDescription = $.reportTemplateDescription; + this.reportTemplateName = $.reportTemplateName; + this.subscriptionFrequency = $.subscriptionFrequency; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReportTemplateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReportTemplateArgs $; + + public Builder() { + $ = new ReportTemplateArgs(); + } + + public Builder(ReportTemplateArgs defaults) { + $ = new ReportTemplateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param reportFileFormats Report Format + * + * @return builder + * + */ + public Builder reportFileFormats(@Nullable Output reportFileFormats) { + $.reportFileFormats = reportFileFormats; + return this; + } + + /** + * @param reportFileFormats Report Format + * + * @return builder + * + */ + public Builder reportFileFormats(String reportFileFormats) { + return reportFileFormats(Output.of(reportFileFormats)); + } + + /** + * @param reportGranularity Report Aggregation Granularity + * + * @return builder + * + */ + public Builder reportGranularity(@Nullable Output reportGranularity) { + $.reportGranularity = reportGranularity; + return this; + } + + /** + * @param reportGranularity Report Aggregation Granularity + * + * @return builder + * + */ + public Builder reportGranularity(String reportGranularity) { + return reportGranularity(Output.of(reportGranularity)); + } + + /** + * @param reportLanguage This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder reportLanguage(@Nullable Output reportLanguage) { + $.reportLanguage = reportLanguage; + return this; + } + + /** + * @param reportLanguage This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder reportLanguage(String reportLanguage) { + return reportLanguage(Output.of(reportLanguage)); + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(@Nullable Output> reportScopes) { + $.reportScopes = reportScopes; + return this; + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(List reportScopes) { + return reportScopes(Output.of(reportScopes)); + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(ReportTemplateReportScopeArgs... reportScopes) { + return reportScopes(List.of(reportScopes)); + } + + /** + * @param reportTemplateDescription Report Template Description + * + * @return builder + * + */ + public Builder reportTemplateDescription(@Nullable Output reportTemplateDescription) { + $.reportTemplateDescription = reportTemplateDescription; + return this; + } + + /** + * @param reportTemplateDescription Report Template Description + * + * @return builder + * + */ + public Builder reportTemplateDescription(String reportTemplateDescription) { + return reportTemplateDescription(Output.of(reportTemplateDescription)); + } + + /** + * @param reportTemplateName Report Template Name + * + * @return builder + * + */ + public Builder reportTemplateName(Output reportTemplateName) { + $.reportTemplateName = reportTemplateName; + return this; + } + + /** + * @param reportTemplateName Report Template Name + * + * @return builder + * + */ + public Builder reportTemplateName(String reportTemplateName) { + return reportTemplateName(Output.of(reportTemplateName)); + } + + /** + * @param subscriptionFrequency Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + * @return builder + * + */ + public Builder subscriptionFrequency(@Nullable Output subscriptionFrequency) { + $.subscriptionFrequency = subscriptionFrequency; + return this; + } + + /** + * @param subscriptionFrequency Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + * @return builder + * + */ + public Builder subscriptionFrequency(String subscriptionFrequency) { + return subscriptionFrequency(Output.of(subscriptionFrequency)); + } + + public ReportTemplateArgs build() { + if ($.reportTemplateName == null) { + throw new MissingRequiredPropertyException("ReportTemplateArgs", "reportTemplateName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateReportScopeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateReportScopeArgs.java new file mode 100644 index 0000000000..43f00e7f54 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateReportScopeArgs.java @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.config.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReportTemplateReportScopeArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReportTemplateReportScopeArgs Empty = new ReportTemplateReportScopeArgs(); + + /** + * Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * The matching logic. Currently, only In is supported. + * + */ + @Import(name="matchType") + private @Nullable Output matchType; + + /** + * @return The matching logic. Currently, only In is supported. + * + */ + public Optional> matchType() { + return Optional.ofNullable(this.matchType); + } + + /** + * The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private ReportTemplateReportScopeArgs() {} + + private ReportTemplateReportScopeArgs(ReportTemplateReportScopeArgs $) { + this.key = $.key; + this.matchType = $.matchType; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReportTemplateReportScopeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReportTemplateReportScopeArgs $; + + public Builder() { + $ = new ReportTemplateReportScopeArgs(); + } + + public Builder(ReportTemplateReportScopeArgs defaults) { + $ = new ReportTemplateReportScopeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchType The matching logic. Currently, only In is supported. + * + * @return builder + * + */ + public Builder matchType(@Nullable Output matchType) { + $.matchType = matchType; + return this; + } + + /** + * @param matchType The matching logic. Currently, only In is supported. + * + * @return builder + * + */ + public Builder matchType(String matchType) { + return matchType(Output.of(matchType)); + } + + /** + * @param value The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public ReportTemplateReportScopeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateState.java b/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateState.java new file mode 100644 index 0000000000..763116c4b7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/config/inputs/ReportTemplateState.java @@ -0,0 +1,373 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.config.inputs; + +import com.pulumi.alicloud.config.inputs.ReportTemplateReportScopeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReportTemplateState extends com.pulumi.resources.ResourceArgs { + + public static final ReportTemplateState Empty = new ReportTemplateState(); + + /** + * Report Format + * + */ + @Import(name="reportFileFormats") + private @Nullable Output reportFileFormats; + + /** + * @return Report Format + * + */ + public Optional> reportFileFormats() { + return Optional.ofNullable(this.reportFileFormats); + } + + /** + * Report Aggregation Granularity + * + */ + @Import(name="reportGranularity") + private @Nullable Output reportGranularity; + + /** + * @return Report Aggregation Granularity + * + */ + public Optional> reportGranularity() { + return Optional.ofNullable(this.reportGranularity); + } + + /** + * This property does not have a description in the spec, please add it before generating code. + * + */ + @Import(name="reportLanguage") + private @Nullable Output reportLanguage; + + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + public Optional> reportLanguage() { + return Optional.ofNullable(this.reportLanguage); + } + + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + @Import(name="reportScopes") + private @Nullable Output> reportScopes; + + /** + * @return Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + */ + public Optional>> reportScopes() { + return Optional.ofNullable(this.reportScopes); + } + + /** + * Report Template Description + * + */ + @Import(name="reportTemplateDescription") + private @Nullable Output reportTemplateDescription; + + /** + * @return Report Template Description + * + */ + public Optional> reportTemplateDescription() { + return Optional.ofNullable(this.reportTemplateDescription); + } + + /** + * Report Template Name + * + */ + @Import(name="reportTemplateName") + private @Nullable Output reportTemplateName; + + /** + * @return Report Template Name + * + */ + public Optional> reportTemplateName() { + return Optional.ofNullable(this.reportTemplateName); + } + + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + @Import(name="subscriptionFrequency") + private @Nullable Output subscriptionFrequency; + + /** + * @return Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + */ + public Optional> subscriptionFrequency() { + return Optional.ofNullable(this.subscriptionFrequency); + } + + private ReportTemplateState() {} + + private ReportTemplateState(ReportTemplateState $) { + this.reportFileFormats = $.reportFileFormats; + this.reportGranularity = $.reportGranularity; + this.reportLanguage = $.reportLanguage; + this.reportScopes = $.reportScopes; + this.reportTemplateDescription = $.reportTemplateDescription; + this.reportTemplateName = $.reportTemplateName; + this.subscriptionFrequency = $.subscriptionFrequency; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReportTemplateState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReportTemplateState $; + + public Builder() { + $ = new ReportTemplateState(); + } + + public Builder(ReportTemplateState defaults) { + $ = new ReportTemplateState(Objects.requireNonNull(defaults)); + } + + /** + * @param reportFileFormats Report Format + * + * @return builder + * + */ + public Builder reportFileFormats(@Nullable Output reportFileFormats) { + $.reportFileFormats = reportFileFormats; + return this; + } + + /** + * @param reportFileFormats Report Format + * + * @return builder + * + */ + public Builder reportFileFormats(String reportFileFormats) { + return reportFileFormats(Output.of(reportFileFormats)); + } + + /** + * @param reportGranularity Report Aggregation Granularity + * + * @return builder + * + */ + public Builder reportGranularity(@Nullable Output reportGranularity) { + $.reportGranularity = reportGranularity; + return this; + } + + /** + * @param reportGranularity Report Aggregation Granularity + * + * @return builder + * + */ + public Builder reportGranularity(String reportGranularity) { + return reportGranularity(Output.of(reportGranularity)); + } + + /** + * @param reportLanguage This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder reportLanguage(@Nullable Output reportLanguage) { + $.reportLanguage = reportLanguage; + return this; + } + + /** + * @param reportLanguage This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder reportLanguage(String reportLanguage) { + return reportLanguage(Output.of(reportLanguage)); + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(@Nullable Output> reportScopes) { + $.reportScopes = reportScopes; + return this; + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(List reportScopes) { + return reportScopes(Output.of(reportScopes)); + } + + /** + * @param reportScopes Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + * + * @return builder + * + */ + public Builder reportScopes(ReportTemplateReportScopeArgs... reportScopes) { + return reportScopes(List.of(reportScopes)); + } + + /** + * @param reportTemplateDescription Report Template Description + * + * @return builder + * + */ + public Builder reportTemplateDescription(@Nullable Output reportTemplateDescription) { + $.reportTemplateDescription = reportTemplateDescription; + return this; + } + + /** + * @param reportTemplateDescription Report Template Description + * + * @return builder + * + */ + public Builder reportTemplateDescription(String reportTemplateDescription) { + return reportTemplateDescription(Output.of(reportTemplateDescription)); + } + + /** + * @param reportTemplateName Report Template Name + * + * @return builder + * + */ + public Builder reportTemplateName(@Nullable Output reportTemplateName) { + $.reportTemplateName = reportTemplateName; + return this; + } + + /** + * @param reportTemplateName Report Template Name + * + * @return builder + * + */ + public Builder reportTemplateName(String reportTemplateName) { + return reportTemplateName(Output.of(reportTemplateName)); + } + + /** + * @param subscriptionFrequency Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + * @return builder + * + */ + public Builder subscriptionFrequency(@Nullable Output subscriptionFrequency) { + $.subscriptionFrequency = subscriptionFrequency; + return this; + } + + /** + * @param subscriptionFrequency Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + * + * @return builder + * + */ + public Builder subscriptionFrequency(String subscriptionFrequency) { + return subscriptionFrequency(Output.of(subscriptionFrequency)); + } + + public ReportTemplateState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/config/outputs/ReportTemplateReportScope.java b/sdk/java/src/main/java/com/pulumi/alicloud/config/outputs/ReportTemplateReportScope.java new file mode 100644 index 0000000000..41046d1b83 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/config/outputs/ReportTemplateReportScope.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.config.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ReportTemplateReportScope { + /** + * @return Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + */ + private @Nullable String key; + /** + * @return The matching logic. Currently, only In is supported. + * + */ + private @Nullable String matchType; + /** + * @return The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + */ + private @Nullable String value; + + private ReportTemplateReportScope() {} + /** + * @return Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return The matching logic. Currently, only In is supported. + * + */ + public Optional matchType() { + return Optional.ofNullable(this.matchType); + } + /** + * @return The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReportTemplateReportScope defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable String matchType; + private @Nullable String value; + public Builder() {} + public Builder(ReportTemplateReportScope defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchType = defaults.matchType; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchType(@Nullable String matchType) { + + this.matchType = matchType; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public ReportTemplateReportScope build() { + final var _resultValue = new ReportTemplateReportScope(); + _resultValue.key = key; + _resultValue.matchType = matchType; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/Remediation.java b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/Remediation.java new file mode 100644 index 0000000000..b9a6d5d309 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/Remediation.java @@ -0,0 +1,335 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.configaggregate; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.configaggregate.RemediationArgs; +import com.pulumi.alicloud.configaggregate.inputs.RemediationState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Cloud Config (Config) Aggregate Remediation resource. + * + * Rule remediation in multi-account scenarios. + * + * For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.cfg.Aggregator;
+ * import com.pulumi.alicloud.cfg.AggregatorArgs;
+ * import com.pulumi.alicloud.cfg.AggregateConfigRule;
+ * import com.pulumi.alicloud.cfg.AggregateConfigRuleArgs;
+ * import com.pulumi.alicloud.configaggregate.Remediation;
+ * import com.pulumi.alicloud.configaggregate.RemediationArgs;
+ * import static com.pulumi.codegen.internal.Serialization.*;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var create_agg = new Aggregator("create-agg", AggregatorArgs.builder()
+ *             .aggregatorName("rd")
+ *             .description("rd")
+ *             .aggregatorType("RD")
+ *             .build());
+ * 
+ *         var create_rule = new AggregateConfigRule("create-rule", AggregateConfigRuleArgs.builder()
+ *             .sourceOwner("ALIYUN")
+ *             .sourceIdentifier("required-tags")
+ *             .aggregateConfigRuleName("agg-rule-name")
+ *             .configRuleTriggerTypes("ConfigurationItemChangeNotification")
+ *             .riskLevel(1)
+ *             .resourceTypesScopes("ACS::OSS::Bucket")
+ *             .aggregatorId(create_agg.id())
+ *             .inputParameters(Map.ofEntries(
+ *                 Map.entry("tag1Key", "aaa"),
+ *                 Map.entry("tag1Value", "bbb")
+ *             ))
+ *             .build());
+ * 
+ *         var default_ = new Remediation("default", RemediationArgs.builder()
+ *             .configRuleId(create_rule.configRuleId())
+ *             .remediationTemplateId("ACS-TAG-TagResources")
+ *             .remediationSourceType("ALIYUN")
+ *             .invokeType("MANUAL_EXECUTION")
+ *             .remediationType("OOS")
+ *             .aggregatorId(create_agg.id())
+ *             .remediationOriginParams(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("properties", jsonArray(
+ *                         jsonObject(
+ *                             jsonProperty("name", "regionId"),
+ *                             jsonProperty("type", "String"),
+ *                             jsonProperty("value", "{regionId}"),
+ *                             jsonProperty("allowedValues", jsonArray(
+ *                             )),
+ *                             jsonProperty("description", "region ID")
+ *                         ), 
+ *                         jsonObject(
+ *                             jsonProperty("name", "tags"),
+ *                             jsonProperty("type", "Json"),
+ *                             jsonProperty("value", "{\"aaa\":\"bbb\"}"),
+ *                             jsonProperty("allowedValues", jsonArray(
+ *                             )),
+ *                             jsonProperty("description", "resource tags (for example,{\"k1\":\"v1\",\"k2\":\"v2\"}).")
+ *                         ), 
+ *                         jsonObject(
+ *                             jsonProperty("name", "resourceType"),
+ *                             jsonProperty("type", "String"),
+ *                             jsonProperty("value", "{resourceType}"),
+ *                             jsonProperty("allowedValues", jsonArray(
+ *                             )),
+ *                             jsonProperty("description", "resource type")
+ *                         ), 
+ *                         jsonObject(
+ *                             jsonProperty("name", "resourceIds"),
+ *                             jsonProperty("type", "ARRAY"),
+ *                             jsonProperty("value", "[{\"resources\":[]}]"),
+ *                             jsonProperty("allowedValues", jsonArray(
+ *                             )),
+ *                             jsonProperty("description", "Resource ID List")
+ *                         )
+ *                     ))
+ *                 )))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:configaggregate/remediation:Remediation example <aggregator_id>:<remediation_id> + * ``` + * + */ +@ResourceType(type="alicloud:configaggregate/remediation:Remediation") +public class Remediation extends com.pulumi.resources.CustomResource { + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + @Export(name="aggregatorId", refs={String.class}, tree="[0]") + private Output aggregatorId; + + /** + * @return The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + public Output aggregatorId() { + return this.aggregatorId; + } + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + @Export(name="configRuleId", refs={String.class}, tree="[0]") + private Output configRuleId; + + /** + * @return The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + public Output configRuleId() { + return this.configRuleId; + } + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + @Export(name="invokeType", refs={String.class}, tree="[0]") + private Output invokeType; + + /** + * @return Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + public Output invokeType() { + return this.invokeType; + } + /** + * Multi-account remediation ID + * + */ + @Export(name="remediationId", refs={String.class}, tree="[0]") + private Output remediationId; + + /** + * @return Multi-account remediation ID + * + */ + public Output remediationId() { + return this.remediationId; + } + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + @Export(name="remediationOriginParams", refs={String.class}, tree="[0]") + private Output remediationOriginParams; + + /** + * @return Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + public Output remediationOriginParams() { + return this.remediationOriginParams; + } + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + @Export(name="remediationSourceType", refs={String.class}, tree="[0]") + private Output remediationSourceType; + + /** + * @return The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + public Output> remediationSourceType() { + return Codegen.optional(this.remediationSourceType); + } + /** + * The ID of the correction template. + * + */ + @Export(name="remediationTemplateId", refs={String.class}, tree="[0]") + private Output remediationTemplateId; + + /** + * @return The ID of the correction template. + * + */ + public Output remediationTemplateId() { + return this.remediationTemplateId; + } + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + @Export(name="remediationType", refs={String.class}, tree="[0]") + private Output remediationType; + + /** + * @return Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + public Output remediationType() { + return this.remediationType; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Remediation(java.lang.String name) { + this(name, RemediationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Remediation(java.lang.String name, RemediationArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Remediation(java.lang.String name, RemediationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:configaggregate/remediation:Remediation", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Remediation(java.lang.String name, Output id, @Nullable RemediationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:configaggregate/remediation:Remediation", name, state, makeResourceOptions(options, id), false); + } + + private static RemediationArgs makeArgs(RemediationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RemediationArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Remediation get(java.lang.String name, Output id, @Nullable RemediationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Remediation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/RemediationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/RemediationArgs.java new file mode 100644 index 0000000000..a65743c1de --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/RemediationArgs.java @@ -0,0 +1,372 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.configaggregate; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RemediationArgs extends com.pulumi.resources.ResourceArgs { + + public static final RemediationArgs Empty = new RemediationArgs(); + + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + @Import(name="aggregatorId", required=true) + private Output aggregatorId; + + /** + * @return The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + public Output aggregatorId() { + return this.aggregatorId; + } + + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + @Import(name="configRuleId", required=true) + private Output configRuleId; + + /** + * @return The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + public Output configRuleId() { + return this.configRuleId; + } + + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + @Import(name="invokeType", required=true) + private Output invokeType; + + /** + * @return Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + public Output invokeType() { + return this.invokeType; + } + + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + @Import(name="remediationOriginParams", required=true) + private Output remediationOriginParams; + + /** + * @return Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + public Output remediationOriginParams() { + return this.remediationOriginParams; + } + + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + @Import(name="remediationSourceType") + private @Nullable Output remediationSourceType; + + /** + * @return The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + public Optional> remediationSourceType() { + return Optional.ofNullable(this.remediationSourceType); + } + + /** + * The ID of the correction template. + * + */ + @Import(name="remediationTemplateId", required=true) + private Output remediationTemplateId; + + /** + * @return The ID of the correction template. + * + */ + public Output remediationTemplateId() { + return this.remediationTemplateId; + } + + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + @Import(name="remediationType", required=true) + private Output remediationType; + + /** + * @return Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + public Output remediationType() { + return this.remediationType; + } + + private RemediationArgs() {} + + private RemediationArgs(RemediationArgs $) { + this.aggregatorId = $.aggregatorId; + this.configRuleId = $.configRuleId; + this.invokeType = $.invokeType; + this.remediationOriginParams = $.remediationOriginParams; + this.remediationSourceType = $.remediationSourceType; + this.remediationTemplateId = $.remediationTemplateId; + this.remediationType = $.remediationType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RemediationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RemediationArgs $; + + public Builder() { + $ = new RemediationArgs(); + } + + public Builder(RemediationArgs defaults) { + $ = new RemediationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param aggregatorId The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + * @return builder + * + */ + public Builder aggregatorId(Output aggregatorId) { + $.aggregatorId = aggregatorId; + return this; + } + + /** + * @param aggregatorId The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + * @return builder + * + */ + public Builder aggregatorId(String aggregatorId) { + return aggregatorId(Output.of(aggregatorId)); + } + + /** + * @param configRuleId The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + * @return builder + * + */ + public Builder configRuleId(Output configRuleId) { + $.configRuleId = configRuleId; + return this; + } + + /** + * @param configRuleId The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + * @return builder + * + */ + public Builder configRuleId(String configRuleId) { + return configRuleId(Output.of(configRuleId)); + } + + /** + * @param invokeType Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + * @return builder + * + */ + public Builder invokeType(Output invokeType) { + $.invokeType = invokeType; + return this; + } + + /** + * @param invokeType Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + * @return builder + * + */ + public Builder invokeType(String invokeType) { + return invokeType(Output.of(invokeType)); + } + + /** + * @param remediationOriginParams Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + * @return builder + * + */ + public Builder remediationOriginParams(Output remediationOriginParams) { + $.remediationOriginParams = remediationOriginParams; + return this; + } + + /** + * @param remediationOriginParams Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + * @return builder + * + */ + public Builder remediationOriginParams(String remediationOriginParams) { + return remediationOriginParams(Output.of(remediationOriginParams)); + } + + /** + * @param remediationSourceType The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + * @return builder + * + */ + public Builder remediationSourceType(@Nullable Output remediationSourceType) { + $.remediationSourceType = remediationSourceType; + return this; + } + + /** + * @param remediationSourceType The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + * @return builder + * + */ + public Builder remediationSourceType(String remediationSourceType) { + return remediationSourceType(Output.of(remediationSourceType)); + } + + /** + * @param remediationTemplateId The ID of the correction template. + * + * @return builder + * + */ + public Builder remediationTemplateId(Output remediationTemplateId) { + $.remediationTemplateId = remediationTemplateId; + return this; + } + + /** + * @param remediationTemplateId The ID of the correction template. + * + * @return builder + * + */ + public Builder remediationTemplateId(String remediationTemplateId) { + return remediationTemplateId(Output.of(remediationTemplateId)); + } + + /** + * @param remediationType Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + * @return builder + * + */ + public Builder remediationType(Output remediationType) { + $.remediationType = remediationType; + return this; + } + + /** + * @param remediationType Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + * @return builder + * + */ + public Builder remediationType(String remediationType) { + return remediationType(Output.of(remediationType)); + } + + public RemediationArgs build() { + if ($.aggregatorId == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "aggregatorId"); + } + if ($.configRuleId == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "configRuleId"); + } + if ($.invokeType == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "invokeType"); + } + if ($.remediationOriginParams == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "remediationOriginParams"); + } + if ($.remediationTemplateId == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "remediationTemplateId"); + } + if ($.remediationType == null) { + throw new MissingRequiredPropertyException("RemediationArgs", "remediationType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/inputs/RemediationState.java b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/inputs/RemediationState.java new file mode 100644 index 0000000000..526c9c950b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/configaggregate/inputs/RemediationState.java @@ -0,0 +1,390 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.configaggregate.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RemediationState extends com.pulumi.resources.ResourceArgs { + + public static final RemediationState Empty = new RemediationState(); + + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + @Import(name="aggregatorId") + private @Nullable Output aggregatorId; + + /** + * @return The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + */ + public Optional> aggregatorId() { + return Optional.ofNullable(this.aggregatorId); + } + + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + @Import(name="configRuleId") + private @Nullable Output configRuleId; + + /** + * @return The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + */ + public Optional> configRuleId() { + return Optional.ofNullable(this.configRuleId); + } + + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + @Import(name="invokeType") + private @Nullable Output invokeType; + + /** + * @return Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + */ + public Optional> invokeType() { + return Optional.ofNullable(this.invokeType); + } + + /** + * Multi-account remediation ID + * + */ + @Import(name="remediationId") + private @Nullable Output remediationId; + + /** + * @return Multi-account remediation ID + * + */ + public Optional> remediationId() { + return Optional.ofNullable(this.remediationId); + } + + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + @Import(name="remediationOriginParams") + private @Nullable Output remediationOriginParams; + + /** + * @return Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + */ + public Optional> remediationOriginParams() { + return Optional.ofNullable(this.remediationOriginParams); + } + + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + @Import(name="remediationSourceType") + private @Nullable Output remediationSourceType; + + /** + * @return The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + */ + public Optional> remediationSourceType() { + return Optional.ofNullable(this.remediationSourceType); + } + + /** + * The ID of the correction template. + * + */ + @Import(name="remediationTemplateId") + private @Nullable Output remediationTemplateId; + + /** + * @return The ID of the correction template. + * + */ + public Optional> remediationTemplateId() { + return Optional.ofNullable(this.remediationTemplateId); + } + + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + @Import(name="remediationType") + private @Nullable Output remediationType; + + /** + * @return Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + */ + public Optional> remediationType() { + return Optional.ofNullable(this.remediationType); + } + + private RemediationState() {} + + private RemediationState(RemediationState $) { + this.aggregatorId = $.aggregatorId; + this.configRuleId = $.configRuleId; + this.invokeType = $.invokeType; + this.remediationId = $.remediationId; + this.remediationOriginParams = $.remediationOriginParams; + this.remediationSourceType = $.remediationSourceType; + this.remediationTemplateId = $.remediationTemplateId; + this.remediationType = $.remediationType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RemediationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RemediationState $; + + public Builder() { + $ = new RemediationState(); + } + + public Builder(RemediationState defaults) { + $ = new RemediationState(Objects.requireNonNull(defaults)); + } + + /** + * @param aggregatorId The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + * @return builder + * + */ + public Builder aggregatorId(@Nullable Output aggregatorId) { + $.aggregatorId = aggregatorId; + return this; + } + + /** + * @param aggregatorId The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + * + * @return builder + * + */ + public Builder aggregatorId(String aggregatorId) { + return aggregatorId(Output.of(aggregatorId)); + } + + /** + * @param configRuleId The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + * @return builder + * + */ + public Builder configRuleId(@Nullable Output configRuleId) { + $.configRuleId = configRuleId; + return this; + } + + /** + * @param configRuleId The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + * + * @return builder + * + */ + public Builder configRuleId(String configRuleId) { + return configRuleId(Output.of(configRuleId)); + } + + /** + * @param invokeType Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + * @return builder + * + */ + public Builder invokeType(@Nullable Output invokeType) { + $.invokeType = invokeType; + return this; + } + + /** + * @param invokeType Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + * + * @return builder + * + */ + public Builder invokeType(String invokeType) { + return invokeType(Output.of(invokeType)); + } + + /** + * @param remediationId Multi-account remediation ID + * + * @return builder + * + */ + public Builder remediationId(@Nullable Output remediationId) { + $.remediationId = remediationId; + return this; + } + + /** + * @param remediationId Multi-account remediation ID + * + * @return builder + * + */ + public Builder remediationId(String remediationId) { + return remediationId(Output.of(remediationId)); + } + + /** + * @param remediationOriginParams Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + * @return builder + * + */ + public Builder remediationOriginParams(@Nullable Output remediationOriginParams) { + $.remediationOriginParams = remediationOriginParams; + return this; + } + + /** + * @param remediationOriginParams Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + * + * @return builder + * + */ + public Builder remediationOriginParams(String remediationOriginParams) { + return remediationOriginParams(Output.of(remediationOriginParams)); + } + + /** + * @param remediationSourceType The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + * @return builder + * + */ + public Builder remediationSourceType(@Nullable Output remediationSourceType) { + $.remediationSourceType = remediationSourceType; + return this; + } + + /** + * @param remediationSourceType The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + * + * @return builder + * + */ + public Builder remediationSourceType(String remediationSourceType) { + return remediationSourceType(Output.of(remediationSourceType)); + } + + /** + * @param remediationTemplateId The ID of the correction template. + * + * @return builder + * + */ + public Builder remediationTemplateId(@Nullable Output remediationTemplateId) { + $.remediationTemplateId = remediationTemplateId; + return this; + } + + /** + * @param remediationTemplateId The ID of the correction template. + * + * @return builder + * + */ + public Builder remediationTemplateId(String remediationTemplateId) { + return remediationTemplateId(Output.of(remediationTemplateId)); + } + + /** + * @param remediationType Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + * @return builder + * + */ + public Builder remediationType(@Nullable Output remediationType) { + $.remediationType = remediationType; + return this; + } + + /** + * @param remediationType Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + * + * @return builder + * + */ + public Builder remediationType(String remediationType) { + return remediationType(Output.of(remediationType)); + } + + public RemediationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Chain.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Chain.java index d6ba6e4d66..468accc193 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Chain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Chain.java @@ -215,6 +215,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartNamespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartNamespace.java index 84330bcfe4..7774de8ba8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartNamespace.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chart Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartRepository.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartRepository.java index b7e17d1240..fefd70eadf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartRepository.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ChartRepository.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chart Repository can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/EndpointAclPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/EndpointAclPolicy.java index aee6bd7678..9d3a9e5911 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/EndpointAclPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/EndpointAclPolicy.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Endpoint Acl Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Namespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Namespace.java index dbf764d7f2..c260039f38 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Namespace.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry namespace can be imported using the namespace, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/RegistryEnterpriseInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/RegistryEnterpriseInstance.java index 9d65bed530..1eb502c8fc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/RegistryEnterpriseInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/RegistryEnterpriseInstance.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Repo.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Repo.java index df9e481bec..adb3b6dbea 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/Repo.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/Repo.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry repository can be imported using the `namespace/repository`, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRule.java new file mode 100644 index 0000000000..d2cc240967 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRule.java @@ -0,0 +1,312 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.cr.ScanRuleArgs; +import com.pulumi.alicloud.cr.inputs.ScanRuleState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a CR Scan Rule resource. + * + * Artifact Scan Rule. + * + * For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.cr.RegistryEnterpriseInstance;
+ * import com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;
+ * import com.pulumi.alicloud.cr.ScanRule;
+ * import com.pulumi.alicloud.cr.ScanRuleArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default2Aqoce = new RegistryEnterpriseInstance("default2Aqoce", RegistryEnterpriseInstanceArgs.builder()
+ *             .defaultOssBucket("false")
+ *             .renewalStatus("ManualRenewal")
+ *             .period(1)
+ *             .instanceName("pl-example-2")
+ *             .paymentType("Subscription")
+ *             .instanceType("Basic")
+ *             .build());
+ * 
+ *         var default_ = new ScanRule("default", ScanRuleArgs.builder()
+ *             .repoTagFilterPattern(".*")
+ *             .scanScope("REPO")
+ *             .triggerType("MANUAL")
+ *             .scanType("VUL")
+ *             .ruleName(name)
+ *             .namespaces("aa")
+ *             .repoNames(            
+ *                 "bb",
+ *                 "cc",
+ *                 "dd",
+ *                 "ee")
+ *             .instanceId(default2Aqoce.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * CR Scan Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cr/scanRule:ScanRule example <instance_id>:<scan_rule_id> + * ``` + * + */ +@ResourceType(type="alicloud:cr/scanRule:ScanRule") +public class ScanRule extends com.pulumi.resources.CustomResource { + /** + * Creation time + * + */ + @Export(name="createTime", refs={Integer.class}, tree="[0]") + private Output createTime; + + /** + * @return Creation time + * + */ + public Output createTime() { + return this.createTime; + } + /** + * Instance ID + * + */ + @Export(name="instanceId", refs={String.class}, tree="[0]") + private Output instanceId; + + /** + * @return Instance ID + * + */ + public Output instanceId() { + return this.instanceId; + } + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + @Export(name="namespaces", refs={List.class,String.class}, tree="[0,1]") + private Output> namespaces; + + /** + * @return Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + public Output>> namespaces() { + return Codegen.optional(this.namespaces); + } + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + @Export(name="repoNames", refs={List.class,String.class}, tree="[0,1]") + private Output> repoNames; + + /** + * @return Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + public Output>> repoNames() { + return Codegen.optional(this.repoNames); + } + /** + * Regular expression for matching tags that trigger a scan + * + */ + @Export(name="repoTagFilterPattern", refs={String.class}, tree="[0]") + private Output repoTagFilterPattern; + + /** + * @return Regular expression for matching tags that trigger a scan + * + */ + public Output repoTagFilterPattern() { + return this.repoTagFilterPattern; + } + /** + * Event rule name + * + */ + @Export(name="ruleName", refs={String.class}, tree="[0]") + private Output ruleName; + + /** + * @return Event rule name + * + */ + public Output ruleName() { + return this.ruleName; + } + /** + * Rule ID + * + */ + @Export(name="scanRuleId", refs={String.class}, tree="[0]") + private Output scanRuleId; + + /** + * @return Rule ID + * + */ + public Output scanRuleId() { + return this.scanRuleId; + } + /** + * Scan scope + * + */ + @Export(name="scanScope", refs={String.class}, tree="[0]") + private Output scanScope; + + /** + * @return Scan scope + * + */ + public Output scanScope() { + return this.scanScope; + } + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + @Export(name="scanType", refs={String.class}, tree="[0]") + private Output scanType; + + /** + * @return Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + public Output scanType() { + return this.scanType; + } + /** + * Trigger type + * + */ + @Export(name="triggerType", refs={String.class}, tree="[0]") + private Output triggerType; + + /** + * @return Trigger type + * + */ + public Output triggerType() { + return this.triggerType; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ScanRule(java.lang.String name) { + this(name, ScanRuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ScanRule(java.lang.String name, ScanRuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ScanRule(java.lang.String name, ScanRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cr/scanRule:ScanRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ScanRule(java.lang.String name, Output id, @Nullable ScanRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cr/scanRule:ScanRule", name, state, makeResourceOptions(options, id), false); + } + + private static ScanRuleArgs makeArgs(ScanRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ScanRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ScanRule get(java.lang.String name, Output id, @Nullable ScanRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ScanRule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRuleArgs.java new file mode 100644 index 0000000000..7152855e73 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/ScanRuleArgs.java @@ -0,0 +1,418 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ScanRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final ScanRuleArgs Empty = new ScanRuleArgs(); + + /** + * Instance ID + * + */ + @Import(name="instanceId", required=true) + private Output instanceId; + + /** + * @return Instance ID + * + */ + public Output instanceId() { + return this.instanceId; + } + + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + @Import(name="namespaces") + private @Nullable Output> namespaces; + + /** + * @return Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + public Optional>> namespaces() { + return Optional.ofNullable(this.namespaces); + } + + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + @Import(name="repoNames") + private @Nullable Output> repoNames; + + /** + * @return Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + public Optional>> repoNames() { + return Optional.ofNullable(this.repoNames); + } + + /** + * Regular expression for matching tags that trigger a scan + * + */ + @Import(name="repoTagFilterPattern", required=true) + private Output repoTagFilterPattern; + + /** + * @return Regular expression for matching tags that trigger a scan + * + */ + public Output repoTagFilterPattern() { + return this.repoTagFilterPattern; + } + + /** + * Event rule name + * + */ + @Import(name="ruleName", required=true) + private Output ruleName; + + /** + * @return Event rule name + * + */ + public Output ruleName() { + return this.ruleName; + } + + /** + * Scan scope + * + */ + @Import(name="scanScope", required=true) + private Output scanScope; + + /** + * @return Scan scope + * + */ + public Output scanScope() { + return this.scanScope; + } + + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + @Import(name="scanType", required=true) + private Output scanType; + + /** + * @return Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + public Output scanType() { + return this.scanType; + } + + /** + * Trigger type + * + */ + @Import(name="triggerType", required=true) + private Output triggerType; + + /** + * @return Trigger type + * + */ + public Output triggerType() { + return this.triggerType; + } + + private ScanRuleArgs() {} + + private ScanRuleArgs(ScanRuleArgs $) { + this.instanceId = $.instanceId; + this.namespaces = $.namespaces; + this.repoNames = $.repoNames; + this.repoTagFilterPattern = $.repoTagFilterPattern; + this.ruleName = $.ruleName; + this.scanScope = $.scanScope; + this.scanType = $.scanType; + this.triggerType = $.triggerType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ScanRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ScanRuleArgs $; + + public Builder() { + $ = new ScanRuleArgs(); + } + + public Builder(ScanRuleArgs defaults) { + $ = new ScanRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param instanceId Instance ID + * + * @return builder + * + */ + public Builder instanceId(Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId Instance ID + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(@Nullable Output> namespaces) { + $.namespaces = namespaces; + return this; + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(List namespaces) { + return namespaces(Output.of(namespaces)); + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(String... namespaces) { + return namespaces(List.of(namespaces)); + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(@Nullable Output> repoNames) { + $.repoNames = repoNames; + return this; + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(List repoNames) { + return repoNames(Output.of(repoNames)); + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(String... repoNames) { + return repoNames(List.of(repoNames)); + } + + /** + * @param repoTagFilterPattern Regular expression for matching tags that trigger a scan + * + * @return builder + * + */ + public Builder repoTagFilterPattern(Output repoTagFilterPattern) { + $.repoTagFilterPattern = repoTagFilterPattern; + return this; + } + + /** + * @param repoTagFilterPattern Regular expression for matching tags that trigger a scan + * + * @return builder + * + */ + public Builder repoTagFilterPattern(String repoTagFilterPattern) { + return repoTagFilterPattern(Output.of(repoTagFilterPattern)); + } + + /** + * @param ruleName Event rule name + * + * @return builder + * + */ + public Builder ruleName(Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Event rule name + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param scanScope Scan scope + * + * @return builder + * + */ + public Builder scanScope(Output scanScope) { + $.scanScope = scanScope; + return this; + } + + /** + * @param scanScope Scan scope + * + * @return builder + * + */ + public Builder scanScope(String scanScope) { + return scanScope(Output.of(scanScope)); + } + + /** + * @param scanType Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + * @return builder + * + */ + public Builder scanType(Output scanType) { + $.scanType = scanType; + return this; + } + + /** + * @param scanType Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + * @return builder + * + */ + public Builder scanType(String scanType) { + return scanType(Output.of(scanType)); + } + + /** + * @param triggerType Trigger type + * + * @return builder + * + */ + public Builder triggerType(Output triggerType) { + $.triggerType = triggerType; + return this; + } + + /** + * @param triggerType Trigger type + * + * @return builder + * + */ + public Builder triggerType(String triggerType) { + return triggerType(Output.of(triggerType)); + } + + public ScanRuleArgs build() { + if ($.instanceId == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "instanceId"); + } + if ($.repoTagFilterPattern == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "repoTagFilterPattern"); + } + if ($.ruleName == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "ruleName"); + } + if ($.scanScope == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "scanScope"); + } + if ($.scanType == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "scanType"); + } + if ($.triggerType == null) { + throw new MissingRequiredPropertyException("ScanRuleArgs", "triggerType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRule.java new file mode 100644 index 0000000000..63de3f0241 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRule.java @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.cr.StorageDomainRoutingRuleArgs; +import com.pulumi.alicloud.cr.inputs.StorageDomainRoutingRuleState; +import com.pulumi.alicloud.cr.outputs.StorageDomainRoutingRuleRoute; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Provides a CR Storage Domain Routing Rule resource. + * + * Instance Storage Domain Routing Rule. + * + * For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.cr.RegistryEnterpriseInstance;
+ * import com.pulumi.alicloud.cr.RegistryEnterpriseInstanceArgs;
+ * import com.pulumi.alicloud.cr.StorageDomainRoutingRule;
+ * import com.pulumi.alicloud.cr.StorageDomainRoutingRuleArgs;
+ * import com.pulumi.alicloud.cr.inputs.StorageDomainRoutingRuleRouteArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new RegistryEnterpriseInstance("default", RegistryEnterpriseInstanceArgs.builder()
+ *             .paymentType("Subscription")
+ *             .period(1)
+ *             .renewPeriod(1)
+ *             .renewalStatus("AutoRenewal")
+ *             .instanceType("Advanced")
+ *             .instanceName(name)
+ *             .build());
+ * 
+ *         var defaultStorageDomainRoutingRule = new StorageDomainRoutingRule("defaultStorageDomainRoutingRule", StorageDomainRoutingRuleArgs.builder()
+ *             .routes(StorageDomainRoutingRuleRouteArgs.builder()
+ *                 .instanceDomain(default_.instanceName().applyValue(_instanceName -> String.format("%s-registry-vpc.cn-hangzhou.cr.aliyuncs.com", _instanceName)))
+ *                 .storageDomain(default_.id().applyValue(_id -> String.format("https://%s-registry.oss-cn-hangzhou-internal.aliyuncs.com", _id)))
+ *                 .endpointType("Internet")
+ *                 .build())
+ *             .instanceId(default_.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * CR Storage Domain Routing Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example <instance_id>:<rule_id> + * ``` + * + */ +@ResourceType(type="alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule") +public class StorageDomainRoutingRule extends com.pulumi.resources.CustomResource { + /** + * The creation time of the resource. + * + */ + @Export(name="createTime", refs={Integer.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource. + * + */ + public Output createTime() { + return this.createTime; + } + /** + * The ID of the Container Registry Instance. + * + */ + @Export(name="instanceId", refs={String.class}, tree="[0]") + private Output instanceId; + + /** + * @return The ID of the Container Registry Instance. + * + */ + public Output instanceId() { + return this.instanceId; + } + /** + * Domain name routing entry See `routes` below. + * + */ + @Export(name="routes", refs={List.class,StorageDomainRoutingRuleRoute.class}, tree="[0,1]") + private Output> routes; + + /** + * @return Domain name routing entry See `routes` below. + * + */ + public Output> routes() { + return this.routes; + } + /** + * The ID of the Rule. + * + */ + @Export(name="ruleId", refs={String.class}, tree="[0]") + private Output ruleId; + + /** + * @return The ID of the Rule. + * + */ + public Output ruleId() { + return this.ruleId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public StorageDomainRoutingRule(java.lang.String name) { + this(name, StorageDomainRoutingRuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public StorageDomainRoutingRule(java.lang.String name, StorageDomainRoutingRuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public StorageDomainRoutingRule(java.lang.String name, StorageDomainRoutingRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private StorageDomainRoutingRule(java.lang.String name, Output id, @Nullable StorageDomainRoutingRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule", name, state, makeResourceOptions(options, id), false); + } + + private static StorageDomainRoutingRuleArgs makeArgs(StorageDomainRoutingRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? StorageDomainRoutingRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static StorageDomainRoutingRule get(java.lang.String name, Output id, @Nullable StorageDomainRoutingRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new StorageDomainRoutingRule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRuleArgs.java new file mode 100644 index 0000000000..648feaca91 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/StorageDomainRoutingRuleArgs.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr; + +import com.pulumi.alicloud.cr.inputs.StorageDomainRoutingRuleRouteArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class StorageDomainRoutingRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageDomainRoutingRuleArgs Empty = new StorageDomainRoutingRuleArgs(); + + /** + * The ID of the Container Registry Instance. + * + */ + @Import(name="instanceId", required=true) + private Output instanceId; + + /** + * @return The ID of the Container Registry Instance. + * + */ + public Output instanceId() { + return this.instanceId; + } + + /** + * Domain name routing entry See `routes` below. + * + */ + @Import(name="routes", required=true) + private Output> routes; + + /** + * @return Domain name routing entry See `routes` below. + * + */ + public Output> routes() { + return this.routes; + } + + private StorageDomainRoutingRuleArgs() {} + + private StorageDomainRoutingRuleArgs(StorageDomainRoutingRuleArgs $) { + this.instanceId = $.instanceId; + this.routes = $.routes; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageDomainRoutingRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageDomainRoutingRuleArgs $; + + public Builder() { + $ = new StorageDomainRoutingRuleArgs(); + } + + public Builder(StorageDomainRoutingRuleArgs defaults) { + $ = new StorageDomainRoutingRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param instanceId The ID of the Container Registry Instance. + * + * @return builder + * + */ + public Builder instanceId(Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId The ID of the Container Registry Instance. + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(Output> routes) { + $.routes = routes; + return this; + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(List routes) { + return routes(Output.of(routes)); + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(StorageDomainRoutingRuleRouteArgs... routes) { + return routes(List.of(routes)); + } + + public StorageDomainRoutingRuleArgs build() { + if ($.instanceId == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleArgs", "instanceId"); + } + if ($.routes == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleArgs", "routes"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/VpcEndpointLinkedVpc.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/VpcEndpointLinkedVpc.java index b3f31951e7..998222ff35 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cr/VpcEndpointLinkedVpc.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/VpcEndpointLinkedVpc.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/ScanRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/ScanRuleState.java new file mode 100644 index 0000000000..d75ac51f5b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/ScanRuleState.java @@ -0,0 +1,474 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ScanRuleState extends com.pulumi.resources.ResourceArgs { + + public static final ScanRuleState Empty = new ScanRuleState(); + + /** + * Creation time + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return Creation time + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * Instance ID + * + */ + @Import(name="instanceId") + private @Nullable Output instanceId; + + /** + * @return Instance ID + * + */ + public Optional> instanceId() { + return Optional.ofNullable(this.instanceId); + } + + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + @Import(name="namespaces") + private @Nullable Output> namespaces; + + /** + * @return Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + */ + public Optional>> namespaces() { + return Optional.ofNullable(this.namespaces); + } + + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + @Import(name="repoNames") + private @Nullable Output> repoNames; + + /** + * @return Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + */ + public Optional>> repoNames() { + return Optional.ofNullable(this.repoNames); + } + + /** + * Regular expression for matching tags that trigger a scan + * + */ + @Import(name="repoTagFilterPattern") + private @Nullable Output repoTagFilterPattern; + + /** + * @return Regular expression for matching tags that trigger a scan + * + */ + public Optional> repoTagFilterPattern() { + return Optional.ofNullable(this.repoTagFilterPattern); + } + + /** + * Event rule name + * + */ + @Import(name="ruleName") + private @Nullable Output ruleName; + + /** + * @return Event rule name + * + */ + public Optional> ruleName() { + return Optional.ofNullable(this.ruleName); + } + + /** + * Rule ID + * + */ + @Import(name="scanRuleId") + private @Nullable Output scanRuleId; + + /** + * @return Rule ID + * + */ + public Optional> scanRuleId() { + return Optional.ofNullable(this.scanRuleId); + } + + /** + * Scan scope + * + */ + @Import(name="scanScope") + private @Nullable Output scanScope; + + /** + * @return Scan scope + * + */ + public Optional> scanScope() { + return Optional.ofNullable(this.scanScope); + } + + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + @Import(name="scanType") + private @Nullable Output scanType; + + /** + * @return Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + */ + public Optional> scanType() { + return Optional.ofNullable(this.scanType); + } + + /** + * Trigger type + * + */ + @Import(name="triggerType") + private @Nullable Output triggerType; + + /** + * @return Trigger type + * + */ + public Optional> triggerType() { + return Optional.ofNullable(this.triggerType); + } + + private ScanRuleState() {} + + private ScanRuleState(ScanRuleState $) { + this.createTime = $.createTime; + this.instanceId = $.instanceId; + this.namespaces = $.namespaces; + this.repoNames = $.repoNames; + this.repoTagFilterPattern = $.repoTagFilterPattern; + this.ruleName = $.ruleName; + this.scanRuleId = $.scanRuleId; + this.scanScope = $.scanScope; + this.scanType = $.scanType; + this.triggerType = $.triggerType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ScanRuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ScanRuleState $; + + public Builder() { + $ = new ScanRuleState(); + } + + public Builder(ScanRuleState defaults) { + $ = new ScanRuleState(Objects.requireNonNull(defaults)); + } + + /** + * @param createTime Creation time + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime Creation time + * + * @return builder + * + */ + public Builder createTime(Integer createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param instanceId Instance ID + * + * @return builder + * + */ + public Builder instanceId(@Nullable Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId Instance ID + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(@Nullable Output> namespaces) { + $.namespaces = namespaces; + return this; + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(List namespaces) { + return namespaces(Output.of(namespaces)); + } + + /** + * @param namespaces Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + * + * @return builder + * + */ + public Builder namespaces(String... namespaces) { + return namespaces(List.of(namespaces)); + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(@Nullable Output> repoNames) { + $.repoNames = repoNames; + return this; + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(List repoNames) { + return repoNames(Output.of(repoNames)); + } + + /** + * @param repoNames Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + * + * @return builder + * + */ + public Builder repoNames(String... repoNames) { + return repoNames(List.of(repoNames)); + } + + /** + * @param repoTagFilterPattern Regular expression for matching tags that trigger a scan + * + * @return builder + * + */ + public Builder repoTagFilterPattern(@Nullable Output repoTagFilterPattern) { + $.repoTagFilterPattern = repoTagFilterPattern; + return this; + } + + /** + * @param repoTagFilterPattern Regular expression for matching tags that trigger a scan + * + * @return builder + * + */ + public Builder repoTagFilterPattern(String repoTagFilterPattern) { + return repoTagFilterPattern(Output.of(repoTagFilterPattern)); + } + + /** + * @param ruleName Event rule name + * + * @return builder + * + */ + public Builder ruleName(@Nullable Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Event rule name + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param scanRuleId Rule ID + * + * @return builder + * + */ + public Builder scanRuleId(@Nullable Output scanRuleId) { + $.scanRuleId = scanRuleId; + return this; + } + + /** + * @param scanRuleId Rule ID + * + * @return builder + * + */ + public Builder scanRuleId(String scanRuleId) { + return scanRuleId(Output.of(scanRuleId)); + } + + /** + * @param scanScope Scan scope + * + * @return builder + * + */ + public Builder scanScope(@Nullable Output scanScope) { + $.scanScope = scanScope; + return this; + } + + /** + * @param scanScope Scan scope + * + * @return builder + * + */ + public Builder scanScope(String scanScope) { + return scanScope(Output.of(scanScope)); + } + + /** + * @param scanType Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + * @return builder + * + */ + public Builder scanType(@Nullable Output scanType) { + $.scanType = scanType; + return this; + } + + /** + * @param scanType Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + * + * @return builder + * + */ + public Builder scanType(String scanType) { + return scanType(Output.of(scanType)); + } + + /** + * @param triggerType Trigger type + * + * @return builder + * + */ + public Builder triggerType(@Nullable Output triggerType) { + $.triggerType = triggerType; + return this; + } + + /** + * @param triggerType Trigger type + * + * @return builder + * + */ + public Builder triggerType(String triggerType) { + return triggerType(Output.of(triggerType)); + } + + public ScanRuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleRouteArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleRouteArgs.java new file mode 100644 index 0000000000..414e3714be --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleRouteArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class StorageDomainRoutingRuleRouteArgs extends com.pulumi.resources.ResourceArgs { + + public static final StorageDomainRoutingRuleRouteArgs Empty = new StorageDomainRoutingRuleRouteArgs(); + + /** + * Endpoint Type. + * + */ + @Import(name="endpointType", required=true) + private Output endpointType; + + /** + * @return Endpoint Type. + * + */ + public Output endpointType() { + return this.endpointType; + } + + /** + * Instance domain name. + * + */ + @Import(name="instanceDomain", required=true) + private Output instanceDomain; + + /** + * @return Instance domain name. + * + */ + public Output instanceDomain() { + return this.instanceDomain; + } + + /** + * Storage domain name. + * + */ + @Import(name="storageDomain", required=true) + private Output storageDomain; + + /** + * @return Storage domain name. + * + */ + public Output storageDomain() { + return this.storageDomain; + } + + private StorageDomainRoutingRuleRouteArgs() {} + + private StorageDomainRoutingRuleRouteArgs(StorageDomainRoutingRuleRouteArgs $) { + this.endpointType = $.endpointType; + this.instanceDomain = $.instanceDomain; + this.storageDomain = $.storageDomain; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageDomainRoutingRuleRouteArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageDomainRoutingRuleRouteArgs $; + + public Builder() { + $ = new StorageDomainRoutingRuleRouteArgs(); + } + + public Builder(StorageDomainRoutingRuleRouteArgs defaults) { + $ = new StorageDomainRoutingRuleRouteArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param endpointType Endpoint Type. + * + * @return builder + * + */ + public Builder endpointType(Output endpointType) { + $.endpointType = endpointType; + return this; + } + + /** + * @param endpointType Endpoint Type. + * + * @return builder + * + */ + public Builder endpointType(String endpointType) { + return endpointType(Output.of(endpointType)); + } + + /** + * @param instanceDomain Instance domain name. + * + * @return builder + * + */ + public Builder instanceDomain(Output instanceDomain) { + $.instanceDomain = instanceDomain; + return this; + } + + /** + * @param instanceDomain Instance domain name. + * + * @return builder + * + */ + public Builder instanceDomain(String instanceDomain) { + return instanceDomain(Output.of(instanceDomain)); + } + + /** + * @param storageDomain Storage domain name. + * + * @return builder + * + */ + public Builder storageDomain(Output storageDomain) { + $.storageDomain = storageDomain; + return this; + } + + /** + * @param storageDomain Storage domain name. + * + * @return builder + * + */ + public Builder storageDomain(String storageDomain) { + return storageDomain(Output.of(storageDomain)); + } + + public StorageDomainRoutingRuleRouteArgs build() { + if ($.endpointType == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRouteArgs", "endpointType"); + } + if ($.instanceDomain == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRouteArgs", "instanceDomain"); + } + if ($.storageDomain == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRouteArgs", "storageDomain"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleState.java new file mode 100644 index 0000000000..d037709433 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/inputs/StorageDomainRoutingRuleState.java @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr.inputs; + +import com.pulumi.alicloud.cr.inputs.StorageDomainRoutingRuleRouteArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StorageDomainRoutingRuleState extends com.pulumi.resources.ResourceArgs { + + public static final StorageDomainRoutingRuleState Empty = new StorageDomainRoutingRuleState(); + + /** + * The creation time of the resource. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * The ID of the Container Registry Instance. + * + */ + @Import(name="instanceId") + private @Nullable Output instanceId; + + /** + * @return The ID of the Container Registry Instance. + * + */ + public Optional> instanceId() { + return Optional.ofNullable(this.instanceId); + } + + /** + * Domain name routing entry See `routes` below. + * + */ + @Import(name="routes") + private @Nullable Output> routes; + + /** + * @return Domain name routing entry See `routes` below. + * + */ + public Optional>> routes() { + return Optional.ofNullable(this.routes); + } + + /** + * The ID of the Rule. + * + */ + @Import(name="ruleId") + private @Nullable Output ruleId; + + /** + * @return The ID of the Rule. + * + */ + public Optional> ruleId() { + return Optional.ofNullable(this.ruleId); + } + + private StorageDomainRoutingRuleState() {} + + private StorageDomainRoutingRuleState(StorageDomainRoutingRuleState $) { + this.createTime = $.createTime; + this.instanceId = $.instanceId; + this.routes = $.routes; + this.ruleId = $.ruleId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StorageDomainRoutingRuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StorageDomainRoutingRuleState $; + + public Builder() { + $ = new StorageDomainRoutingRuleState(); + } + + public Builder(StorageDomainRoutingRuleState defaults) { + $ = new StorageDomainRoutingRuleState(Objects.requireNonNull(defaults)); + } + + /** + * @param createTime The creation time of the resource. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource. + * + * @return builder + * + */ + public Builder createTime(Integer createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param instanceId The ID of the Container Registry Instance. + * + * @return builder + * + */ + public Builder instanceId(@Nullable Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId The ID of the Container Registry Instance. + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(@Nullable Output> routes) { + $.routes = routes; + return this; + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(List routes) { + return routes(Output.of(routes)); + } + + /** + * @param routes Domain name routing entry See `routes` below. + * + * @return builder + * + */ + public Builder routes(StorageDomainRoutingRuleRouteArgs... routes) { + return routes(List.of(routes)); + } + + /** + * @param ruleId The ID of the Rule. + * + * @return builder + * + */ + public Builder ruleId(@Nullable Output ruleId) { + $.ruleId = ruleId; + return this; + } + + /** + * @param ruleId The ID of the Rule. + * + * @return builder + * + */ + public Builder ruleId(String ruleId) { + return ruleId(Output.of(ruleId)); + } + + public StorageDomainRoutingRuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cr/outputs/StorageDomainRoutingRuleRoute.java b/sdk/java/src/main/java/com/pulumi/alicloud/cr/outputs/StorageDomainRoutingRuleRoute.java new file mode 100644 index 0000000000..61efac949b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cr/outputs/StorageDomainRoutingRuleRoute.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cr.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class StorageDomainRoutingRuleRoute { + /** + * @return Endpoint Type. + * + */ + private String endpointType; + /** + * @return Instance domain name. + * + */ + private String instanceDomain; + /** + * @return Storage domain name. + * + */ + private String storageDomain; + + private StorageDomainRoutingRuleRoute() {} + /** + * @return Endpoint Type. + * + */ + public String endpointType() { + return this.endpointType; + } + /** + * @return Instance domain name. + * + */ + public String instanceDomain() { + return this.instanceDomain; + } + /** + * @return Storage domain name. + * + */ + public String storageDomain() { + return this.storageDomain; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StorageDomainRoutingRuleRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String endpointType; + private String instanceDomain; + private String storageDomain; + public Builder() {} + public Builder(StorageDomainRoutingRuleRoute defaults) { + Objects.requireNonNull(defaults); + this.endpointType = defaults.endpointType; + this.instanceDomain = defaults.instanceDomain; + this.storageDomain = defaults.storageDomain; + } + + @CustomType.Setter + public Builder endpointType(String endpointType) { + if (endpointType == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRoute", "endpointType"); + } + this.endpointType = endpointType; + return this; + } + @CustomType.Setter + public Builder instanceDomain(String instanceDomain) { + if (instanceDomain == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRoute", "instanceDomain"); + } + this.instanceDomain = instanceDomain; + return this; + } + @CustomType.Setter + public Builder storageDomain(String storageDomain) { + if (storageDomain == null) { + throw new MissingRequiredPropertyException("StorageDomainRoutingRuleRoute", "storageDomain"); + } + this.storageDomain = storageDomain; + return this; + } + public StorageDomainRoutingRuleRoute build() { + final var _resultValue = new StorageDomainRoutingRuleRoute(); + _resultValue.endpointType = endpointType; + _resultValue.instanceDomain = instanceDomain; + _resultValue.storageDomain = storageDomain; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/AutoscalingConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/AutoscalingConfig.java index 9cf53459dc..d9fdb78030 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/AutoscalingConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/AutoscalingConfig.java @@ -176,6 +176,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:cs/autoscalingConfig:AutoscalingConfig") public class AutoscalingConfig extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/EdgeKubernetes.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/EdgeKubernetes.java index 98080e2cfc..9934e41190 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/EdgeKubernetes.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/EdgeKubernetes.java @@ -220,6 +220,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/Kubernetes.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/Kubernetes.java index 19af6c72c5..97f54b5d05 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/Kubernetes.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/Kubernetes.java @@ -63,6 +63,8 @@ * * ## Example Usage * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesAddon.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesAddon.java index 45382e418e..dc9496ea8e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesAddon.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesAddon.java @@ -127,6 +127,8 @@ * * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. * * If the addon does not exist in the cluster, it will be installed. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPermission.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPermission.java index 181b6ceb25..eff430c619 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPermission.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPermission.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:cs/kubernetesPermission:KubernetesPermission") public class KubernetesPermission extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstance.java new file mode 100644 index 0000000000..685bdaebf2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstance.java @@ -0,0 +1,308 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.cs.KubernetesPolicyInstanceArgs; +import com.pulumi.alicloud.cs.inputs.KubernetesPolicyInstanceState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Container Service for Kubernetes (ACK) Policy Instance resource. + * + * For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.VpcFunctions;
+ * import com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;
+ * import com.pulumi.random.Integer;
+ * import com.pulumi.random.IntegerArgs;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.cs.ManagedKubernetes;
+ * import com.pulumi.alicloud.cs.ManagedKubernetesArgs;
+ * import com.pulumi.alicloud.cs.inputs.ManagedKubernetesAddonArgs;
+ * import com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyArgs;
+ * import com.pulumi.alicloud.cs.inputs.ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs;
+ * import com.pulumi.alicloud.cs.inputs.ManagedKubernetesMaintenanceWindowArgs;
+ * import com.pulumi.std.StdFunctions;
+ * import com.pulumi.std.inputs.JoinArgs;
+ * import com.pulumi.std.inputs.SplitArgs;
+ * import com.pulumi.alicloud.cs.KubernetesPolicyInstance;
+ * import com.pulumi.alicloud.cs.KubernetesPolicyInstanceArgs;
+ * import com.pulumi.codegen.internal.KeyedValue;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var vpcCidr = config.get("vpcCidr").orElse("10.0.0.0/8");
+ *         final var vswitchCidrs = config.get("vswitchCidrs").orElse(List.of(        
+ *             "10.1.0.0/16",
+ *             "10.2.0.0/16"));
+ *         final var clusterName = config.get("clusterName").orElse("example-create-cluster");
+ *         final var podCidr = config.get("podCidr").orElse("172.16.0.0/16");
+ *         final var serviceCidr = config.get("serviceCidr").orElse("192.168.0.0/16");
+ *         final var policyName = config.get("policyName").orElse("ACKPSPHostNetworkingPorts");
+ *         final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()
+ *             .build());
+ * 
+ *         var default_ = new Integer("default", IntegerArgs.builder()
+ *             .max(99999)
+ *             .min(10000)
+ *             .build());
+ * 
+ *         var createVPC = new Network("createVPC", NetworkArgs.builder()
+ *             .cidrBlock(vpcCidr)
+ *             .build());
+ * 
+ *         // According to the vswitch cidr blocks to launch several vswitches
+ *         for (var i = 0; i < vswitchCidrs.length(); i++) {
+ *             new Switch("createVSwitch-" + i, SwitchArgs.builder()
+ *                 .vpcId(createVPC.id())
+ *                 .cidrBlock(vswitchCidrs[range.value()])
+ *                 .zoneId(enhanced.zones()[range.value()].zoneId())
+ *                 .build());
+ * 
+ *         
+ * }
+ *         var createCluster = new ManagedKubernetes("createCluster", ManagedKubernetesArgs.builder()
+ *             .name(String.format("%s-%s", clusterName,default_.result()))
+ *             .clusterSpec("ack.pro.small")
+ *             .profile("Default")
+ *             .vswitchIds(StdFunctions.join(JoinArgs.builder()
+ *                 .separator(",")
+ *                 .input(createVSwitch.stream().map(element -> element.id()).collect(toList()))
+ *                 .build()).applyValue(_invoke -> StdFunctions.split(SplitArgs.builder()
+ *                 .separator(",")
+ *                 .text(_invoke.result())
+ *                 .build())).applyValue(_invoke -> _invoke.result()))
+ *             .podCidr(podCidr)
+ *             .serviceCidr(serviceCidr)
+ *             .isEnterpriseSecurityGroup(true)
+ *             .ipStack("ipv4")
+ *             .proxyMode("ipvs")
+ *             .deletionProtection(false)
+ *             .addons(            
+ *                 ManagedKubernetesAddonArgs.builder()
+ *                     .name("gatekeeper")
+ *                     .build(),
+ *                 ManagedKubernetesAddonArgs.builder()
+ *                     .name("loongcollector")
+ *                     .build(),
+ *                 ManagedKubernetesAddonArgs.builder()
+ *                     .name("policy-template-controller")
+ *                     .build())
+ *             .operationPolicy(ManagedKubernetesOperationPolicyArgs.builder()
+ *                 .clusterAutoUpgrade(ManagedKubernetesOperationPolicyClusterAutoUpgradeArgs.builder()
+ *                     .enabled(false)
+ *                     .build())
+ *                 .build())
+ *             .maintenanceWindow(ManagedKubernetesMaintenanceWindowArgs.builder()
+ *                 .enable(false)
+ *                 .build())
+ *             .build());
+ * 
+ *         var defaultKubernetesPolicyInstance = new KubernetesPolicyInstance("defaultKubernetesPolicyInstance", KubernetesPolicyInstanceArgs.builder()
+ *             .clusterId(createCluster.id())
+ *             .policyName(policyName)
+ *             .action("deny")
+ *             .namespaces("test")
+ *             .parameters(Map.ofEntries(
+ *                 Map.entry("hostNetwork", "true"),
+ *                 Map.entry("min", "20"),
+ *                 Map.entry("max", "200")
+ *             ))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example <cluster_id>:<policy_name>:<instance_name> + * ``` + * + */ +@ResourceType(type="alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance") +public class KubernetesPolicyInstance extends com.pulumi.resources.CustomResource { + /** + * Policy Governance Implementation Actions + * + */ + @Export(name="action", refs={String.class}, tree="[0]") + private Output action; + + /** + * @return Policy Governance Implementation Actions + * + */ + public Output> action() { + return Codegen.optional(this.action); + } + /** + * Target cluster ID + * + */ + @Export(name="clusterId", refs={String.class}, tree="[0]") + private Output clusterId; + + /** + * @return Target cluster ID + * + */ + public Output clusterId() { + return this.clusterId; + } + /** + * Rule Instance Name + * + */ + @Export(name="instanceName", refs={String.class}, tree="[0]") + private Output instanceName; + + /** + * @return Rule Instance Name + * + */ + public Output instanceName() { + return this.instanceName; + } + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + @Export(name="namespaces", refs={List.class,String.class}, tree="[0,1]") + private Output> namespaces; + + /** + * @return Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + public Output>> namespaces() { + return Codegen.optional(this.namespaces); + } + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + @Export(name="parameters", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> parameters; + + /** + * @return The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + public Output>> parameters() { + return Codegen.optional(this.parameters); + } + /** + * Policy Name + * + */ + @Export(name="policyName", refs={String.class}, tree="[0]") + private Output policyName; + + /** + * @return Policy Name + * + */ + public Output policyName() { + return this.policyName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public KubernetesPolicyInstance(java.lang.String name) { + this(name, KubernetesPolicyInstanceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public KubernetesPolicyInstance(java.lang.String name, KubernetesPolicyInstanceArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public KubernetesPolicyInstance(java.lang.String name, KubernetesPolicyInstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private KubernetesPolicyInstance(java.lang.String name, Output id, @Nullable KubernetesPolicyInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance", name, state, makeResourceOptions(options, id), false); + } + + private static KubernetesPolicyInstanceArgs makeArgs(KubernetesPolicyInstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? KubernetesPolicyInstanceArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static KubernetesPolicyInstance get(java.lang.String name, Output id, @Nullable KubernetesPolicyInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new KubernetesPolicyInstance(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstanceArgs.java new file mode 100644 index 0000000000..edcab88744 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/KubernetesPolicyInstanceArgs.java @@ -0,0 +1,250 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class KubernetesPolicyInstanceArgs extends com.pulumi.resources.ResourceArgs { + + public static final KubernetesPolicyInstanceArgs Empty = new KubernetesPolicyInstanceArgs(); + + /** + * Policy Governance Implementation Actions + * + */ + @Import(name="action") + private @Nullable Output action; + + /** + * @return Policy Governance Implementation Actions + * + */ + public Optional> action() { + return Optional.ofNullable(this.action); + } + + /** + * Target cluster ID + * + */ + @Import(name="clusterId", required=true) + private Output clusterId; + + /** + * @return Target cluster ID + * + */ + public Output clusterId() { + return this.clusterId; + } + + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + @Import(name="namespaces") + private @Nullable Output> namespaces; + + /** + * @return Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + public Optional>> namespaces() { + return Optional.ofNullable(this.namespaces); + } + + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * Policy Name + * + */ + @Import(name="policyName", required=true) + private Output policyName; + + /** + * @return Policy Name + * + */ + public Output policyName() { + return this.policyName; + } + + private KubernetesPolicyInstanceArgs() {} + + private KubernetesPolicyInstanceArgs(KubernetesPolicyInstanceArgs $) { + this.action = $.action; + this.clusterId = $.clusterId; + this.namespaces = $.namespaces; + this.parameters = $.parameters; + this.policyName = $.policyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KubernetesPolicyInstanceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KubernetesPolicyInstanceArgs $; + + public Builder() { + $ = new KubernetesPolicyInstanceArgs(); + } + + public Builder(KubernetesPolicyInstanceArgs defaults) { + $ = new KubernetesPolicyInstanceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param action Policy Governance Implementation Actions + * + * @return builder + * + */ + public Builder action(@Nullable Output action) { + $.action = action; + return this; + } + + /** + * @param action Policy Governance Implementation Actions + * + * @return builder + * + */ + public Builder action(String action) { + return action(Output.of(action)); + } + + /** + * @param clusterId Target cluster ID + * + * @return builder + * + */ + public Builder clusterId(Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Target cluster ID + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(@Nullable Output> namespaces) { + $.namespaces = namespaces; + return this; + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(List namespaces) { + return namespaces(Output.of(namespaces)); + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(String... namespaces) { + return namespaces(List.of(namespaces)); + } + + /** + * @param parameters The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param policyName Policy Name + * + * @return builder + * + */ + public Builder policyName(Output policyName) { + $.policyName = policyName; + return this; + } + + /** + * @param policyName Policy Name + * + * @return builder + * + */ + public Builder policyName(String policyName) { + return policyName(Output.of(policyName)); + } + + public KubernetesPolicyInstanceArgs build() { + if ($.clusterId == null) { + throw new MissingRequiredPropertyException("KubernetesPolicyInstanceArgs", "clusterId"); + } + if ($.policyName == null) { + throw new MissingRequiredPropertyException("KubernetesPolicyInstanceArgs", "policyName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/ManagedKubernetes.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/ManagedKubernetes.java index 2b6fcb3757..b499b5d62c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/ManagedKubernetes.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/ManagedKubernetes.java @@ -394,6 +394,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -660,14 +662,14 @@ public Output>> deleteOptions() { * */ @Export(name="deletionProtection", refs={Boolean.class}, tree="[0]") - private Output deletionProtection; + private Output deletionProtection; /** * @return Whether to enable cluster deletion protection. * */ - public Output> deletionProtection() { - return Codegen.optional(this.deletionProtection); + public Output deletionProtection() { + return this.deletionProtection; } /** * Whether to enable cluster to support RRSA for kubernetes version 1.22.3+. Default to `false`. Once the RRSA function is turned on, it is not allowed to turn off. If your cluster has enabled this function, please manually modify your tf file and add the rrsa configuration to the file, learn more [RAM Roles for Service Accounts](https://www.alibabacloud.com/help/zh/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control). diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePool.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePool.java index f35ce70d45..82e21385f1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePool.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePool.java @@ -6,8 +6,11 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.cs.NodePoolArgs; import com.pulumi.alicloud.cs.inputs.NodePoolState; +import com.pulumi.alicloud.cs.outputs.NodePoolAutoMode; import com.pulumi.alicloud.cs.outputs.NodePoolDataDisk; import com.pulumi.alicloud.cs.outputs.NodePoolEfloNodeGroup; +import com.pulumi.alicloud.cs.outputs.NodePoolInstanceMetadataOptions; +import com.pulumi.alicloud.cs.outputs.NodePoolInstancePattern; import com.pulumi.alicloud.cs.outputs.NodePoolKubeletConfiguration; import com.pulumi.alicloud.cs.outputs.NodePoolLabel; import com.pulumi.alicloud.cs.outputs.NodePoolManagement; @@ -30,291 +33,6 @@ import javax.annotation.Nullable; /** - * ## Example Usage - * - * Basic Usage - * - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.random.Integer;
- * import com.pulumi.random.IntegerArgs;
- * import com.pulumi.alicloud.vpc.VpcFunctions;
- * import com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;
- * import com.pulumi.alicloud.ecs.EcsFunctions;
- * import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
- * import com.pulumi.alicloud.vpc.Network;
- * import com.pulumi.alicloud.vpc.NetworkArgs;
- * import com.pulumi.alicloud.vpc.Switch;
- * import com.pulumi.alicloud.vpc.SwitchArgs;
- * import com.pulumi.alicloud.cs.ManagedKubernetes;
- * import com.pulumi.alicloud.cs.ManagedKubernetesArgs;
- * import com.pulumi.std.StdFunctions;
- * import com.pulumi.std.inputs.CidrsubnetArgs;
- * import com.pulumi.alicloud.ecs.KeyPair;
- * import com.pulumi.alicloud.ecs.KeyPairArgs;
- * import com.pulumi.alicloud.cs.NodePool;
- * import com.pulumi.alicloud.cs.NodePoolArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolLabelArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolTaintArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolManagementArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoRepairPolicyArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoUpgradePolicyArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolManagementAutoVulFixPolicyArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolSpotPriceLimitArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolScalingConfigArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolKubeletConfigurationArgs;
- * import com.pulumi.alicloud.cs.inputs.NodePoolRollingPolicyArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         final var config = ctx.config();
- *         var default_ = new Integer("default", IntegerArgs.builder()
- *             .max(99999)
- *             .min(10000)
- *             .build());
- * 
- *         final var name = config.get("name").orElse("terraform-example");
- *         final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()
- *             .build());
- * 
- *         final var cloudEfficiency = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
- *             .availabilityZone(enhanced.zones()[0].zoneId())
- *             .cpuCoreCount(4)
- *             .memorySize(8)
- *             .kubernetesNodeRole("Worker")
- *             .systemDiskCategory("cloud_efficiency")
- *             .build());
- * 
- *         var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
- *             .vpcName(name)
- *             .cidrBlock("10.4.0.0/16")
- *             .build());
- * 
- *         var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
- *             .vswitchName(name)
- *             .cidrBlock("10.4.0.0/24")
- *             .vpcId(defaultNetwork.id())
- *             .zoneId(enhanced.zones()[0].zoneId())
- *             .build());
- * 
- *         var defaultManagedKubernetes = new ManagedKubernetes("defaultManagedKubernetes", ManagedKubernetesArgs.builder()
- *             .namePrefix(String.format("terraform-example-%s", default_.result()))
- *             .clusterSpec("ack.pro.small")
- *             .workerVswitchIds(defaultSwitch.id())
- *             .newNatGateway(true)
- *             .podCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
- *                 .input("10.0.0.0/8")
- *                 .newbits(8)
- *                 .netnum(36)
- *                 .build()).result())
- *             .serviceCidr(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
- *                 .input("172.16.0.0/16")
- *                 .newbits(4)
- *                 .netnum(7)
- *                 .build()).result())
- *             .slbInternetEnabled(true)
- *             .enableRrsa(true)
- *             .build());
- * 
- *         var defaultKeyPair = new KeyPair("defaultKeyPair", KeyPairArgs.builder()
- *             .keyPairName(String.format("terraform-example-%s", default_.result()))
- *             .build());
- * 
- *         var defaultNodePool = new NodePool("defaultNodePool", NodePoolArgs.builder()
- *             .nodePoolName(name)
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .labels(            
- *                 NodePoolLabelArgs.builder()
- *                     .key("test1")
- *                     .value("nodepool")
- *                     .build(),
- *                 NodePoolLabelArgs.builder()
- *                     .key("test2")
- *                     .value("nodepool")
- *                     .build())
- *             .taints(            
- *                 NodePoolTaintArgs.builder()
- *                     .key("tf")
- *                     .effect("NoSchedule")
- *                     .value("example")
- *                     .build(),
- *                 NodePoolTaintArgs.builder()
- *                     .key("tf2")
- *                     .effect("NoSchedule")
- *                     .value("example2")
- *                     .build())
- *             .build());
- * 
- *         //The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows.
- *         var desiredSize = new NodePool("desiredSize", NodePoolArgs.builder()
- *             .nodePoolName("desired_size")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .desiredSize("0")
- *             .build());
- * 
- *         // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`.
- *         var maintenance = new NodePool("maintenance", NodePoolArgs.builder()
- *             .nodePoolName("maintenance")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .desiredSize("1")
- *             .management(NodePoolManagementArgs.builder()
- *                 .enable(true)
- *                 .autoRepair(true)
- *                 .autoRepairPolicy(NodePoolManagementAutoRepairPolicyArgs.builder()
- *                     .restartNode(true)
- *                     .build())
- *                 .autoUpgrade(true)
- *                 .autoUpgradePolicy(NodePoolManagementAutoUpgradePolicyArgs.builder()
- *                     .autoUpgradeKubelet(true)
- *                     .build())
- *                 .autoVulFix(true)
- *                 .autoVulFixPolicy(NodePoolManagementAutoVulFixPolicyArgs.builder()
- *                     .vulLevel("asap")
- *                     .restartNode(true)
- *                     .build())
- *                 .maxUnavailable(1)
- *                 .build())
- *             .build());
- * 
- *         //Create a node pool with spot instance.
- *         var spotInstance = new NodePool("spotInstance", NodePoolArgs.builder()
- *             .nodePoolName("spot_instance")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(            
- *                 cloudEfficiency.instanceTypes()[0].id(),
- *                 cloudEfficiency.instanceTypes()[1].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .desiredSize("1")
- *             .spotStrategy("SpotWithPriceLimit")
- *             .spotPriceLimits(            
- *                 NodePoolSpotPriceLimitArgs.builder()
- *                     .instanceType(cloudEfficiency.instanceTypes()[0].id())
- *                     .priceLimit("0.70")
- *                     .build(),
- *                 NodePoolSpotPriceLimitArgs.builder()
- *                     .instanceType(cloudEfficiency.instanceTypes()[1].id())
- *                     .priceLimit("0.72")
- *                     .build())
- *             .build());
- * 
- *         //Use Spot instances to create a node pool with auto-scaling enabled
- *         var spotAutoScaling = new NodePool("spotAutoScaling", NodePoolArgs.builder()
- *             .nodePoolName("spot_auto_scaling")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .scalingConfig(NodePoolScalingConfigArgs.builder()
- *                 .minSize(1)
- *                 .maxSize(10)
- *                 .type("spot")
- *                 .build())
- *             .spotStrategy("SpotWithPriceLimit")
- *             .spotPriceLimits(NodePoolSpotPriceLimitArgs.builder()
- *                 .instanceType(cloudEfficiency.instanceTypes()[0].id())
- *                 .priceLimit("0.70")
- *                 .build())
- *             .build());
- * 
- *         //Create a `PrePaid` node pool.
- *         var prepaidNode = new NodePool("prepaidNode", NodePoolArgs.builder()
- *             .nodePoolName("prepaid_node")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .keyName(defaultKeyPair.keyPairName())
- *             .instanceChargeType("PrePaid")
- *             .period(1)
- *             .periodUnit("Month")
- *             .autoRenew(true)
- *             .autoRenewPeriod(1)
- *             .installCloudMonitor(true)
- *             .build());
- * 
- *         //#Create a node pool with customized kubelet parameters
- *         var customizedKubelet = new NodePool("customizedKubelet", NodePoolArgs.builder()
- *             .nodePoolName("customized_kubelet")
- *             .clusterId(defaultManagedKubernetes.id())
- *             .vswitchIds(defaultSwitch.id())
- *             .instanceTypes(cloudEfficiency.instanceTypes()[0].id())
- *             .systemDiskCategory("cloud_efficiency")
- *             .systemDiskSize(40)
- *             .instanceChargeType("PostPaid")
- *             .desiredSize("0")
- *             .kubeletConfiguration(NodePoolKubeletConfigurationArgs.builder()
- *                 .registryPullQps("10")
- *                 .registryBurst("5")
- *                 .eventRecordQps("10")
- *                 .eventBurst("5")
- *                 .serializeImagePulls("true")
- *                 .evictionHard(Map.ofEntries(
- *                     Map.entry("memory.available", "1024Mi"),
- *                     Map.entry("nodefs.available", "10%"),
- *                     Map.entry("nodefs.inodesFree", "5%"),
- *                     Map.entry("imagefs.available", "10%")
- *                 ))
- *                 .systemReserved(Map.ofEntries(
- *                     Map.entry("cpu", "1"),
- *                     Map.entry("memory", "1Gi"),
- *                     Map.entry("ephemeral-storage", "10Gi")
- *                 ))
- *                 .kubeReserved(Map.ofEntries(
- *                     Map.entry("cpu", "500m"),
- *                     Map.entry("memory", "1Gi")
- *                 ))
- *                 .containerLogMaxSize("200Mi")
- *                 .containerLogMaxFiles("3")
- *                 .maxPods("100")
- *                 .readOnlyPort("0")
- *                 .allowedUnsafeSysctls("net.ipv4.route.min_pmtu")
- *                 .build())
- *             .rollingPolicy(NodePoolRollingPolicyArgs.builder()
- *                 .maxParallelism(1)
- *                 .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * * ## Import * * Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -326,6 +44,20 @@ */ @ResourceType(type="alicloud:cs/nodePool:NodePool") public class NodePool extends com.pulumi.resources.CustomResource { + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + @Export(name="autoMode", refs={NodePoolAutoMode.class}, tree="[0]") + private Output autoMode; + + /** + * @return Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + public Output autoMode() { + return this.autoMode; + } /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: * @@ -459,6 +191,8 @@ public Output> desiredSize() { /** * Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="efloNodeGroup", refs={NodePoolEfloNodeGroup.class}, tree="[0]") private Output efloNodeGroup; @@ -466,6 +200,8 @@ public Output> desiredSize() { /** * @return Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> efloNodeGroup() { return Codegen.optional(this.efloNodeGroup); @@ -473,6 +209,8 @@ public Output> efloNodeGroup() { /** * Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ @Export(name="forceDelete", refs={Boolean.class}, tree="[0]") private Output forceDelete; @@ -480,6 +218,8 @@ public Output> efloNodeGroup() { /** * @return Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ public Output> forceDelete() { return Codegen.optional(this.forceDelete); @@ -524,7 +264,8 @@ public Output imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ @Export(name="imageType", refs={String.class}, tree="[0]") @@ -542,7 +283,8 @@ public Output imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ public Output imageType() { @@ -576,6 +318,34 @@ public Output> installCloudMonitor() { public Output instanceChargeType() { return this.instanceChargeType; } + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + @Export(name="instanceMetadataOptions", refs={NodePoolInstanceMetadataOptions.class}, tree="[0]") + private Output instanceMetadataOptions; + + /** + * @return ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + public Output instanceMetadataOptions() { + return this.instanceMetadataOptions; + } + /** + * Instance property configuration. See `instancePatterns` below. + * + */ + @Export(name="instancePatterns", refs={List.class,NodePoolInstancePattern.class}, tree="[0,1]") + private Output> instancePatterns; + + /** + * @return Instance property configuration. See `instancePatterns` below. + * + */ + public Output>> instancePatterns() { + return Codegen.optional(this.instancePatterns); + } /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. * @@ -1008,17 +778,9 @@ public Output>> rdsInstances() { public Output resourceGroupId() { return this.resourceGroupId; } - /** - * Rotary configuration. See `rollingPolicy` below. - * - */ @Export(name="rollingPolicy", refs={NodePoolRollingPolicy.class}, tree="[0]") private Output rollingPolicy; - /** - * @return Rotary configuration. See `rollingPolicy` below. - * - */ public Output> rollingPolicy() { return Codegen.optional(this.rollingPolicy); } @@ -1448,17 +1210,9 @@ public Output type() { public Output> unschedulable() { return Codegen.optional(this.unschedulable); } - /** - * Synchronously update node labels and taints. - * - */ @Export(name="updateNodes", refs={Boolean.class}, tree="[0]") private Output updateNodes; - /** - * @return Synchronously update node labels and taints. - * - */ public Output> updateNodes() { return Codegen.optional(this.updateNodes); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePoolArgs.java index 8c9846726e..85f62d012d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/NodePoolArgs.java @@ -3,8 +3,11 @@ package com.pulumi.alicloud.cs; +import com.pulumi.alicloud.cs.inputs.NodePoolAutoModeArgs; import com.pulumi.alicloud.cs.inputs.NodePoolDataDiskArgs; import com.pulumi.alicloud.cs.inputs.NodePoolEfloNodeGroupArgs; +import com.pulumi.alicloud.cs.inputs.NodePoolInstanceMetadataOptionsArgs; +import com.pulumi.alicloud.cs.inputs.NodePoolInstancePatternArgs; import com.pulumi.alicloud.cs.inputs.NodePoolKubeletConfigurationArgs; import com.pulumi.alicloud.cs.inputs.NodePoolLabelArgs; import com.pulumi.alicloud.cs.inputs.NodePoolManagementArgs; @@ -31,6 +34,21 @@ public final class NodePoolArgs extends com.pulumi.resources.ResourceArgs { public static final NodePoolArgs Empty = new NodePoolArgs(); + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + @Import(name="autoMode") + private @Nullable Output autoMode; + + /** + * @return Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + public Optional> autoMode() { + return Optional.ofNullable(this.autoMode); + } + /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: * @@ -177,6 +195,8 @@ public Optional> desiredSize() { /** * Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="efloNodeGroup") private @Nullable Output efloNodeGroup; @@ -184,6 +204,8 @@ public Optional> desiredSize() { /** * @return Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> efloNodeGroup() { return Optional.ofNullable(this.efloNodeGroup); @@ -192,6 +214,8 @@ public Optional> efloNodeGroup() { /** * Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ @Import(name="forceDelete") private @Nullable Output forceDelete; @@ -199,6 +223,8 @@ public Optional> efloNodeGroup() { /** * @return Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ public Optional> forceDelete() { return Optional.ofNullable(this.forceDelete); @@ -246,7 +272,8 @@ public Optional> imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ @Import(name="imageType") @@ -264,7 +291,8 @@ public Optional> imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ public Optional> imageType() { @@ -301,6 +329,36 @@ public Optional> instanceChargeType() { return Optional.ofNullable(this.instanceChargeType); } + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + @Import(name="instanceMetadataOptions") + private @Nullable Output instanceMetadataOptions; + + /** + * @return ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + public Optional> instanceMetadataOptions() { + return Optional.ofNullable(this.instanceMetadataOptions); + } + + /** + * Instance property configuration. See `instancePatterns` below. + * + */ + @Import(name="instancePatterns") + private @Nullable Output> instancePatterns; + + /** + * @return Instance property configuration. See `instancePatterns` below. + * + */ + public Optional>> instancePatterns() { + return Optional.ofNullable(this.instancePatterns); + } + /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. * @@ -759,17 +817,9 @@ public Optional> resourceGroupId() { return Optional.ofNullable(this.resourceGroupId); } - /** - * Rotary configuration. See `rollingPolicy` below. - * - */ @Import(name="rollingPolicy") private @Nullable Output rollingPolicy; - /** - * @return Rotary configuration. See `rollingPolicy` below. - * - */ public Optional> rollingPolicy() { return Optional.ofNullable(this.rollingPolicy); } @@ -1217,17 +1267,9 @@ public Optional> unschedulable() { return Optional.ofNullable(this.unschedulable); } - /** - * Synchronously update node labels and taints. - * - */ @Import(name="updateNodes") private @Nullable Output updateNodes; - /** - * @return Synchronously update node labels and taints. - * - */ public Optional> updateNodes() { return Optional.ofNullable(this.updateNodes); } @@ -1265,6 +1307,7 @@ public Optional>> vswitchIds() { private NodePoolArgs() {} private NodePoolArgs(NodePoolArgs $) { + this.autoMode = $.autoMode; this.autoRenew = $.autoRenew; this.autoRenewPeriod = $.autoRenewPeriod; this.cisEnabled = $.cisEnabled; @@ -1281,6 +1324,8 @@ private NodePoolArgs(NodePoolArgs $) { this.imageType = $.imageType; this.installCloudMonitor = $.installCloudMonitor; this.instanceChargeType = $.instanceChargeType; + this.instanceMetadataOptions = $.instanceMetadataOptions; + this.instancePatterns = $.instancePatterns; this.instanceTypes = $.instanceTypes; this.instances = $.instances; this.internetChargeType = $.internetChargeType; @@ -1360,6 +1405,27 @@ public Builder(NodePoolArgs defaults) { $ = new NodePoolArgs(Objects.requireNonNull(defaults)); } + /** + * @param autoMode Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + * @return builder + * + */ + public Builder autoMode(@Nullable Output autoMode) { + $.autoMode = autoMode; + return this; + } + + /** + * @param autoMode Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + * @return builder + * + */ + public Builder autoMode(NodePoolAutoModeArgs autoMode) { + return autoMode(Output.of(autoMode)); + } + /** * @param autoRenew Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: * @@ -1570,6 +1636,8 @@ public Builder desiredSize(String desiredSize) { /** * @param efloNodeGroup Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -1581,6 +1649,8 @@ public Builder efloNodeGroup(@Nullable Output efloNod /** * @param efloNodeGroup Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -1591,6 +1661,8 @@ public Builder efloNodeGroup(NodePoolEfloNodeGroupArgs efloNodeGroup) { /** * @param forceDelete Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * * @return builder * */ @@ -1602,6 +1674,8 @@ public Builder forceDelete(@Nullable Output forceDelete) { /** * @param forceDelete Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * * @return builder * */ @@ -1663,7 +1737,8 @@ public Builder imageId(String imageId) { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * * @return builder * @@ -1685,7 +1760,8 @@ public Builder imageType(@Nullable Output imageType) { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * * @return builder * @@ -1736,6 +1812,58 @@ public Builder instanceChargeType(String instanceChargeType) { return instanceChargeType(Output.of(instanceChargeType)); } + /** + * @param instanceMetadataOptions ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + * @return builder + * + */ + public Builder instanceMetadataOptions(@Nullable Output instanceMetadataOptions) { + $.instanceMetadataOptions = instanceMetadataOptions; + return this; + } + + /** + * @param instanceMetadataOptions ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + * @return builder + * + */ + public Builder instanceMetadataOptions(NodePoolInstanceMetadataOptionsArgs instanceMetadataOptions) { + return instanceMetadataOptions(Output.of(instanceMetadataOptions)); + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(@Nullable Output> instancePatterns) { + $.instancePatterns = instancePatterns; + return this; + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(List instancePatterns) { + return instancePatterns(Output.of(instancePatterns)); + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(NodePoolInstancePatternArgs... instancePatterns) { + return instancePatterns(List.of(instancePatterns)); + } + /** * @param instanceTypes In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. * @@ -2402,23 +2530,11 @@ public Builder resourceGroupId(String resourceGroupId) { return resourceGroupId(Output.of(resourceGroupId)); } - /** - * @param rollingPolicy Rotary configuration. See `rollingPolicy` below. - * - * @return builder - * - */ public Builder rollingPolicy(@Nullable Output rollingPolicy) { $.rollingPolicy = rollingPolicy; return this; } - /** - * @param rollingPolicy Rotary configuration. See `rollingPolicy` below. - * - * @return builder - * - */ public Builder rollingPolicy(NodePoolRollingPolicyArgs rollingPolicy) { return rollingPolicy(Output.of(rollingPolicy)); } @@ -3068,23 +3184,11 @@ public Builder unschedulable(Boolean unschedulable) { return unschedulable(Output.of(unschedulable)); } - /** - * @param updateNodes Synchronously update node labels and taints. - * - * @return builder - * - */ public Builder updateNodes(@Nullable Output updateNodes) { $.updateNodes = updateNodes; return this; } - /** - * @param updateNodes Synchronously update node labels and taints. - * - * @return builder - * - */ public Builder updateNodes(Boolean updateNodes) { return updateNodes(Output.of(updateNodes)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseNamespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseNamespace.java index 158bc69710..6f87076cbf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseNamespace.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Enterprise Edition Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseRepo.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseRepo.java index 550f4a8f05..8089cd4f50 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseRepo.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseRepo.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Enterprise Edition Repository can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseSyncRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseSyncRule.java index 7da6a799b3..55b2866f75 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseSyncRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/RegistryEnterpriseSyncRule.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Sync Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/ServerlessKubernetes.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/ServerlessKubernetes.java index ec57b12502..8136f4f501 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/ServerlessKubernetes.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/ServerlessKubernetes.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/KubernetesPolicyInstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/KubernetesPolicyInstanceState.java new file mode 100644 index 0000000000..f4af7d1186 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/KubernetesPolicyInstanceState.java @@ -0,0 +1,280 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class KubernetesPolicyInstanceState extends com.pulumi.resources.ResourceArgs { + + public static final KubernetesPolicyInstanceState Empty = new KubernetesPolicyInstanceState(); + + /** + * Policy Governance Implementation Actions + * + */ + @Import(name="action") + private @Nullable Output action; + + /** + * @return Policy Governance Implementation Actions + * + */ + public Optional> action() { + return Optional.ofNullable(this.action); + } + + /** + * Target cluster ID + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return Target cluster ID + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + /** + * Rule Instance Name + * + */ + @Import(name="instanceName") + private @Nullable Output instanceName; + + /** + * @return Rule Instance Name + * + */ + public Optional> instanceName() { + return Optional.ofNullable(this.instanceName); + } + + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + @Import(name="namespaces") + private @Nullable Output> namespaces; + + /** + * @return Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + */ + public Optional>> namespaces() { + return Optional.ofNullable(this.namespaces); + } + + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * Policy Name + * + */ + @Import(name="policyName") + private @Nullable Output policyName; + + /** + * @return Policy Name + * + */ + public Optional> policyName() { + return Optional.ofNullable(this.policyName); + } + + private KubernetesPolicyInstanceState() {} + + private KubernetesPolicyInstanceState(KubernetesPolicyInstanceState $) { + this.action = $.action; + this.clusterId = $.clusterId; + this.instanceName = $.instanceName; + this.namespaces = $.namespaces; + this.parameters = $.parameters; + this.policyName = $.policyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KubernetesPolicyInstanceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KubernetesPolicyInstanceState $; + + public Builder() { + $ = new KubernetesPolicyInstanceState(); + } + + public Builder(KubernetesPolicyInstanceState defaults) { + $ = new KubernetesPolicyInstanceState(Objects.requireNonNull(defaults)); + } + + /** + * @param action Policy Governance Implementation Actions + * + * @return builder + * + */ + public Builder action(@Nullable Output action) { + $.action = action; + return this; + } + + /** + * @param action Policy Governance Implementation Actions + * + * @return builder + * + */ + public Builder action(String action) { + return action(Output.of(action)); + } + + /** + * @param clusterId Target cluster ID + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Target cluster ID + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param instanceName Rule Instance Name + * + * @return builder + * + */ + public Builder instanceName(@Nullable Output instanceName) { + $.instanceName = instanceName; + return this; + } + + /** + * @param instanceName Rule Instance Name + * + * @return builder + * + */ + public Builder instanceName(String instanceName) { + return instanceName(Output.of(instanceName)); + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(@Nullable Output> namespaces) { + $.namespaces = namespaces; + return this; + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(List namespaces) { + return namespaces(Output.of(namespaces)); + } + + /** + * @param namespaces Limits the namespace of the policy implementation. Empty indicates all namespaces. + * + * @return builder + * + */ + public Builder namespaces(String... namespaces) { + return namespaces(List.of(namespaces)); + } + + /** + * @param parameters The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param policyName Policy Name + * + * @return builder + * + */ + public Builder policyName(@Nullable Output policyName) { + $.policyName = policyName; + return this; + } + + /** + * @param policyName Policy Name + * + * @return builder + * + */ + public Builder policyName(String policyName) { + return policyName(Output.of(policyName)); + } + + public KubernetesPolicyInstanceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolAutoModeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolAutoModeArgs.java new file mode 100644 index 0000000000..ddb6dd47fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolAutoModeArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolAutoModeArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolAutoModeArgs Empty = new NodePoolAutoModeArgs(); + + /** + * Whether to enable auto mode. Valid values: + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether to enable auto mode. Valid values: + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private NodePoolAutoModeArgs() {} + + private NodePoolAutoModeArgs(NodePoolAutoModeArgs $) { + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolAutoModeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolAutoModeArgs $; + + public Builder() { + $ = new NodePoolAutoModeArgs(); + } + + public Builder(NodePoolAutoModeArgs defaults) { + $ = new NodePoolAutoModeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether to enable auto mode. Valid values: + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether to enable auto mode. Valid values: + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public NodePoolAutoModeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstanceMetadataOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstanceMetadataOptionsArgs.java new file mode 100644 index 0000000000..35a8db0ed0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstanceMetadataOptionsArgs.java @@ -0,0 +1,111 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolInstanceMetadataOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolInstanceMetadataOptionsArgs Empty = new NodePoolInstanceMetadataOptionsArgs(); + + /** + * ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + */ + @Import(name="httpTokens") + private @Nullable Output httpTokens; + + /** + * @return ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + */ + public Optional> httpTokens() { + return Optional.ofNullable(this.httpTokens); + } + + private NodePoolInstanceMetadataOptionsArgs() {} + + private NodePoolInstanceMetadataOptionsArgs(NodePoolInstanceMetadataOptionsArgs $) { + this.httpTokens = $.httpTokens; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolInstanceMetadataOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolInstanceMetadataOptionsArgs $; + + public Builder() { + $ = new NodePoolInstanceMetadataOptionsArgs(); + } + + public Builder(NodePoolInstanceMetadataOptionsArgs defaults) { + $ = new NodePoolInstanceMetadataOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param httpTokens ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + * @return builder + * + */ + public Builder httpTokens(@Nullable Output httpTokens) { + $.httpTokens = httpTokens; + return this; + } + + /** + * @param httpTokens ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + * @return builder + * + */ + public Builder httpTokens(String httpTokens) { + return httpTokens(Output.of(httpTokens)); + } + + public NodePoolInstanceMetadataOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstancePatternArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstancePatternArgs.java new file mode 100644 index 0000000000..5c00ce7214 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolInstancePatternArgs.java @@ -0,0 +1,578 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolInstancePatternArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolInstancePatternArgs Empty = new NodePoolInstancePatternArgs(); + + /** + * The number of vCPU cores of the instance type. Example value: 8. + * + */ + @Import(name="cores") + private @Nullable Output cores; + + /** + * @return The number of vCPU cores of the instance type. Example value: 8. + * + */ + public Optional> cores() { + return Optional.ofNullable(this.cores); + } + + /** + * The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + */ + @Import(name="cpuArchitectures") + private @Nullable Output> cpuArchitectures; + + /** + * @return The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + */ + public Optional>> cpuArchitectures() { + return Optional.ofNullable(this.cpuArchitectures); + } + + /** + * Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + */ + @Import(name="excludedInstanceTypes") + private @Nullable Output> excludedInstanceTypes; + + /** + * @return Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + */ + public Optional>> excludedInstanceTypes() { + return Optional.ofNullable(this.excludedInstanceTypes); + } + + /** + * Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + */ + @Import(name="instanceCategories") + private @Nullable Output> instanceCategories; + + /** + * @return Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + */ + public Optional>> instanceCategories() { + return Optional.ofNullable(this.instanceCategories); + } + + /** + * Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + */ + @Import(name="instanceFamilyLevel", required=true) + private Output instanceFamilyLevel; + + /** + * @return Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + */ + public Output instanceFamilyLevel() { + return this.instanceFamilyLevel; + } + + /** + * Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + */ + @Import(name="instanceTypeFamilies") + private @Nullable Output> instanceTypeFamilies; + + /** + * @return Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + */ + public Optional>> instanceTypeFamilies() { + return Optional.ofNullable(this.instanceTypeFamilies); + } + + /** + * The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + @Import(name="maxCpuCores") + private @Nullable Output maxCpuCores; + + /** + * @return The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + public Optional> maxCpuCores() { + return Optional.ofNullable(this.maxCpuCores); + } + + /** + * The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + @Import(name="maxMemorySize") + private @Nullable Output maxMemorySize; + + /** + * @return The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + public Optional> maxMemorySize() { + return Optional.ofNullable(this.maxMemorySize); + } + + /** + * The memory size of the instance type, in GiB. Example value: 8. + * + */ + @Import(name="memory") + private @Nullable Output memory; + + /** + * @return The memory size of the instance type, in GiB. Example value: 8. + * + */ + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + /** + * The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + @Import(name="minCpuCores") + private @Nullable Output minCpuCores; + + /** + * @return The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + public Optional> minCpuCores() { + return Optional.ofNullable(this.minCpuCores); + } + + /** + * The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + @Import(name="minMemorySize") + private @Nullable Output minMemorySize; + + /** + * @return The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + public Optional> minMemorySize() { + return Optional.ofNullable(this.minMemorySize); + } + + private NodePoolInstancePatternArgs() {} + + private NodePoolInstancePatternArgs(NodePoolInstancePatternArgs $) { + this.cores = $.cores; + this.cpuArchitectures = $.cpuArchitectures; + this.excludedInstanceTypes = $.excludedInstanceTypes; + this.instanceCategories = $.instanceCategories; + this.instanceFamilyLevel = $.instanceFamilyLevel; + this.instanceTypeFamilies = $.instanceTypeFamilies; + this.maxCpuCores = $.maxCpuCores; + this.maxMemorySize = $.maxMemorySize; + this.memory = $.memory; + this.minCpuCores = $.minCpuCores; + this.minMemorySize = $.minMemorySize; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolInstancePatternArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolInstancePatternArgs $; + + public Builder() { + $ = new NodePoolInstancePatternArgs(); + } + + public Builder(NodePoolInstancePatternArgs defaults) { + $ = new NodePoolInstancePatternArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cores The number of vCPU cores of the instance type. Example value: 8. + * + * @return builder + * + */ + public Builder cores(@Nullable Output cores) { + $.cores = cores; + return this; + } + + /** + * @param cores The number of vCPU cores of the instance type. Example value: 8. + * + * @return builder + * + */ + public Builder cores(Integer cores) { + return cores(Output.of(cores)); + } + + /** + * @param cpuArchitectures The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + * @return builder + * + */ + public Builder cpuArchitectures(@Nullable Output> cpuArchitectures) { + $.cpuArchitectures = cpuArchitectures; + return this; + } + + /** + * @param cpuArchitectures The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + * @return builder + * + */ + public Builder cpuArchitectures(List cpuArchitectures) { + return cpuArchitectures(Output.of(cpuArchitectures)); + } + + /** + * @param cpuArchitectures The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + * @return builder + * + */ + public Builder cpuArchitectures(String... cpuArchitectures) { + return cpuArchitectures(List.of(cpuArchitectures)); + } + + /** + * @param excludedInstanceTypes Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + * @return builder + * + */ + public Builder excludedInstanceTypes(@Nullable Output> excludedInstanceTypes) { + $.excludedInstanceTypes = excludedInstanceTypes; + return this; + } + + /** + * @param excludedInstanceTypes Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + * @return builder + * + */ + public Builder excludedInstanceTypes(List excludedInstanceTypes) { + return excludedInstanceTypes(Output.of(excludedInstanceTypes)); + } + + /** + * @param excludedInstanceTypes Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + * @return builder + * + */ + public Builder excludedInstanceTypes(String... excludedInstanceTypes) { + return excludedInstanceTypes(List.of(excludedInstanceTypes)); + } + + /** + * @param instanceCategories Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + * @return builder + * + */ + public Builder instanceCategories(@Nullable Output> instanceCategories) { + $.instanceCategories = instanceCategories; + return this; + } + + /** + * @param instanceCategories Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + * @return builder + * + */ + public Builder instanceCategories(List instanceCategories) { + return instanceCategories(Output.of(instanceCategories)); + } + + /** + * @param instanceCategories Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + * @return builder + * + */ + public Builder instanceCategories(String... instanceCategories) { + return instanceCategories(List.of(instanceCategories)); + } + + /** + * @param instanceFamilyLevel Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + * @return builder + * + */ + public Builder instanceFamilyLevel(Output instanceFamilyLevel) { + $.instanceFamilyLevel = instanceFamilyLevel; + return this; + } + + /** + * @param instanceFamilyLevel Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + * @return builder + * + */ + public Builder instanceFamilyLevel(String instanceFamilyLevel) { + return instanceFamilyLevel(Output.of(instanceFamilyLevel)); + } + + /** + * @param instanceTypeFamilies Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + * @return builder + * + */ + public Builder instanceTypeFamilies(@Nullable Output> instanceTypeFamilies) { + $.instanceTypeFamilies = instanceTypeFamilies; + return this; + } + + /** + * @param instanceTypeFamilies Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + * @return builder + * + */ + public Builder instanceTypeFamilies(List instanceTypeFamilies) { + return instanceTypeFamilies(Output.of(instanceTypeFamilies)); + } + + /** + * @param instanceTypeFamilies Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + * @return builder + * + */ + public Builder instanceTypeFamilies(String... instanceTypeFamilies) { + return instanceTypeFamilies(List.of(instanceTypeFamilies)); + } + + /** + * @param maxCpuCores The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + * @return builder + * + */ + public Builder maxCpuCores(@Nullable Output maxCpuCores) { + $.maxCpuCores = maxCpuCores; + return this; + } + + /** + * @param maxCpuCores The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + * @return builder + * + */ + public Builder maxCpuCores(Integer maxCpuCores) { + return maxCpuCores(Output.of(maxCpuCores)); + } + + /** + * @param maxMemorySize The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + * @return builder + * + */ + public Builder maxMemorySize(@Nullable Output maxMemorySize) { + $.maxMemorySize = maxMemorySize; + return this; + } + + /** + * @param maxMemorySize The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + * @return builder + * + */ + public Builder maxMemorySize(Double maxMemorySize) { + return maxMemorySize(Output.of(maxMemorySize)); + } + + /** + * @param memory The memory size of the instance type, in GiB. Example value: 8. + * + * @return builder + * + */ + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + /** + * @param memory The memory size of the instance type, in GiB. Example value: 8. + * + * @return builder + * + */ + public Builder memory(Double memory) { + return memory(Output.of(memory)); + } + + /** + * @param minCpuCores The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + * @return builder + * + */ + public Builder minCpuCores(@Nullable Output minCpuCores) { + $.minCpuCores = minCpuCores; + return this; + } + + /** + * @param minCpuCores The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + * @return builder + * + */ + public Builder minCpuCores(Integer minCpuCores) { + return minCpuCores(Output.of(minCpuCores)); + } + + /** + * @param minMemorySize The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + * @return builder + * + */ + public Builder minMemorySize(@Nullable Output minMemorySize) { + $.minMemorySize = minMemorySize; + return this; + } + + /** + * @param minMemorySize The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + * @return builder + * + */ + public Builder minMemorySize(Double minMemorySize) { + return minMemorySize(Output.of(minMemorySize)); + } + + public NodePoolInstancePatternArgs build() { + if ($.instanceFamilyLevel == null) { + throw new MissingRequiredPropertyException("NodePoolInstancePatternArgs", "instanceFamilyLevel"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolKubeletConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolKubeletConfigurationArgs.java index 68865d6b14..a49c801bbf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolKubeletConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolKubeletConfigurationArgs.java @@ -440,6 +440,21 @@ public Optional> serializeImagePulls() { return Optional.ofNullable(this.serializeImagePulls); } + /** + * Used to enable the kubelet server certificate signing and rotation via CSR. + * + */ + @Import(name="serverTlsBootstrap") + private @Nullable Output serverTlsBootstrap; + + /** + * @return Used to enable the kubelet server certificate signing and rotation via CSR. + * + */ + public Optional> serverTlsBootstrap() { + return Optional.ofNullable(this.serverTlsBootstrap); + } + /** * Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. * @@ -516,6 +531,7 @@ private NodePoolKubeletConfigurationArgs(NodePoolKubeletConfigurationArgs $) { this.registryPullQps = $.registryPullQps; this.reservedMemories = $.reservedMemories; this.serializeImagePulls = $.serializeImagePulls; + this.serverTlsBootstrap = $.serverTlsBootstrap; this.systemReserved = $.systemReserved; this.topologyManagerPolicy = $.topologyManagerPolicy; this.tracing = $.tracing; @@ -1157,6 +1173,27 @@ public Builder serializeImagePulls(String serializeImagePulls) { return serializeImagePulls(Output.of(serializeImagePulls)); } + /** + * @param serverTlsBootstrap Used to enable the kubelet server certificate signing and rotation via CSR. + * + * @return builder + * + */ + public Builder serverTlsBootstrap(@Nullable Output serverTlsBootstrap) { + $.serverTlsBootstrap = serverTlsBootstrap; + return this; + } + + /** + * @param serverTlsBootstrap Used to enable the kubelet server certificate signing and rotation via CSR. + * + * @return builder + * + */ + public Builder serverTlsBootstrap(Boolean serverTlsBootstrap) { + return serverTlsBootstrap(Output.of(serverTlsBootstrap)); + } + /** * @param systemReserved Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolState.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolState.java index 63f0e4a5ce..3068a7332c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/inputs/NodePoolState.java @@ -3,8 +3,11 @@ package com.pulumi.alicloud.cs.inputs; +import com.pulumi.alicloud.cs.inputs.NodePoolAutoModeArgs; import com.pulumi.alicloud.cs.inputs.NodePoolDataDiskArgs; import com.pulumi.alicloud.cs.inputs.NodePoolEfloNodeGroupArgs; +import com.pulumi.alicloud.cs.inputs.NodePoolInstanceMetadataOptionsArgs; +import com.pulumi.alicloud.cs.inputs.NodePoolInstancePatternArgs; import com.pulumi.alicloud.cs.inputs.NodePoolKubeletConfigurationArgs; import com.pulumi.alicloud.cs.inputs.NodePoolLabelArgs; import com.pulumi.alicloud.cs.inputs.NodePoolManagementArgs; @@ -30,6 +33,21 @@ public final class NodePoolState extends com.pulumi.resources.ResourceArgs { public static final NodePoolState Empty = new NodePoolState(); + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + @Import(name="autoMode") + private @Nullable Output autoMode; + + /** + * @return Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + */ + public Optional> autoMode() { + return Optional.ofNullable(this.autoMode); + } + /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: * @@ -176,6 +194,8 @@ public Optional> desiredSize() { /** * Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="efloNodeGroup") private @Nullable Output efloNodeGroup; @@ -183,6 +203,8 @@ public Optional> desiredSize() { /** * @return Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> efloNodeGroup() { return Optional.ofNullable(this.efloNodeGroup); @@ -191,6 +213,8 @@ public Optional> efloNodeGroup() { /** * Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ @Import(name="forceDelete") private @Nullable Output forceDelete; @@ -198,6 +222,8 @@ public Optional> efloNodeGroup() { /** * @return Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * */ public Optional> forceDelete() { return Optional.ofNullable(this.forceDelete); @@ -245,7 +271,8 @@ public Optional> imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ @Import(name="imageType") @@ -263,7 +290,8 @@ public Optional> imageId() { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * */ public Optional> imageType() { @@ -300,6 +328,36 @@ public Optional> instanceChargeType() { return Optional.ofNullable(this.instanceChargeType); } + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + @Import(name="instanceMetadataOptions") + private @Nullable Output instanceMetadataOptions; + + /** + * @return ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + */ + public Optional> instanceMetadataOptions() { + return Optional.ofNullable(this.instanceMetadataOptions); + } + + /** + * Instance property configuration. See `instancePatterns` below. + * + */ + @Import(name="instancePatterns") + private @Nullable Output> instancePatterns; + + /** + * @return Instance property configuration. See `instancePatterns` below. + * + */ + public Optional>> instancePatterns() { + return Optional.ofNullable(this.instancePatterns); + } + /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. * @@ -773,17 +831,9 @@ public Optional> resourceGroupId() { return Optional.ofNullable(this.resourceGroupId); } - /** - * Rotary configuration. See `rollingPolicy` below. - * - */ @Import(name="rollingPolicy") private @Nullable Output rollingPolicy; - /** - * @return Rotary configuration. See `rollingPolicy` below. - * - */ public Optional> rollingPolicy() { return Optional.ofNullable(this.rollingPolicy); } @@ -1246,17 +1296,9 @@ public Optional> unschedulable() { return Optional.ofNullable(this.unschedulable); } - /** - * Synchronously update node labels and taints. - * - */ @Import(name="updateNodes") private @Nullable Output updateNodes; - /** - * @return Synchronously update node labels and taints. - * - */ public Optional> updateNodes() { return Optional.ofNullable(this.updateNodes); } @@ -1294,6 +1336,7 @@ public Optional>> vswitchIds() { private NodePoolState() {} private NodePoolState(NodePoolState $) { + this.autoMode = $.autoMode; this.autoRenew = $.autoRenew; this.autoRenewPeriod = $.autoRenewPeriod; this.cisEnabled = $.cisEnabled; @@ -1310,6 +1353,8 @@ private NodePoolState(NodePoolState $) { this.imageType = $.imageType; this.installCloudMonitor = $.installCloudMonitor; this.instanceChargeType = $.instanceChargeType; + this.instanceMetadataOptions = $.instanceMetadataOptions; + this.instancePatterns = $.instancePatterns; this.instanceTypes = $.instanceTypes; this.instances = $.instances; this.internetChargeType = $.internetChargeType; @@ -1391,6 +1436,27 @@ public Builder(NodePoolState defaults) { $ = new NodePoolState(Objects.requireNonNull(defaults)); } + /** + * @param autoMode Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + * @return builder + * + */ + public Builder autoMode(@Nullable Output autoMode) { + $.autoMode = autoMode; + return this; + } + + /** + * @param autoMode Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + * + * @return builder + * + */ + public Builder autoMode(NodePoolAutoModeArgs autoMode) { + return autoMode(Output.of(autoMode)); + } + /** * @param autoRenew Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: * @@ -1601,6 +1667,8 @@ public Builder desiredSize(String desiredSize) { /** * @param efloNodeGroup Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -1612,6 +1680,8 @@ public Builder efloNodeGroup(@Nullable Output efloNod /** * @param efloNodeGroup Lingjun node pool configuration. See `efloNodeGroup` below. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -1622,6 +1692,8 @@ public Builder efloNodeGroup(NodePoolEfloNodeGroupArgs efloNodeGroup) { /** * @param forceDelete Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * * @return builder * */ @@ -1633,6 +1705,8 @@ public Builder forceDelete(@Nullable Output forceDelete) { /** * @param forceDelete Whether to force deletion. * + * > **NOTE:** This parameter only takes effect when deletion is triggered. + * * @return builder * */ @@ -1694,7 +1768,8 @@ public Builder imageId(String imageId) { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * * @return builder * @@ -1716,7 +1791,8 @@ public Builder imageType(@Nullable Output imageType) { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. * * @return builder * @@ -1767,6 +1843,58 @@ public Builder instanceChargeType(String instanceChargeType) { return instanceChargeType(Output.of(instanceChargeType)); } + /** + * @param instanceMetadataOptions ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + * @return builder + * + */ + public Builder instanceMetadataOptions(@Nullable Output instanceMetadataOptions) { + $.instanceMetadataOptions = instanceMetadataOptions; + return this; + } + + /** + * @param instanceMetadataOptions ECS instance metadata access configuration. See `instanceMetadataOptions` below. + * + * @return builder + * + */ + public Builder instanceMetadataOptions(NodePoolInstanceMetadataOptionsArgs instanceMetadataOptions) { + return instanceMetadataOptions(Output.of(instanceMetadataOptions)); + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(@Nullable Output> instancePatterns) { + $.instancePatterns = instancePatterns; + return this; + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(List instancePatterns) { + return instancePatterns(Output.of(instancePatterns)); + } + + /** + * @param instancePatterns Instance property configuration. See `instancePatterns` below. + * + * @return builder + * + */ + public Builder instancePatterns(NodePoolInstancePatternArgs... instancePatterns) { + return instancePatterns(List.of(instancePatterns)); + } + /** * @param instanceTypes In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. * @@ -2454,23 +2582,11 @@ public Builder resourceGroupId(String resourceGroupId) { return resourceGroupId(Output.of(resourceGroupId)); } - /** - * @param rollingPolicy Rotary configuration. See `rollingPolicy` below. - * - * @return builder - * - */ public Builder rollingPolicy(@Nullable Output rollingPolicy) { $.rollingPolicy = rollingPolicy; return this; } - /** - * @param rollingPolicy Rotary configuration. See `rollingPolicy` below. - * - * @return builder - * - */ public Builder rollingPolicy(NodePoolRollingPolicyArgs rollingPolicy) { return rollingPolicy(Output.of(rollingPolicy)); } @@ -3141,23 +3257,11 @@ public Builder unschedulable(Boolean unschedulable) { return unschedulable(Output.of(unschedulable)); } - /** - * @param updateNodes Synchronously update node labels and taints. - * - * @return builder - * - */ public Builder updateNodes(@Nullable Output updateNodes) { $.updateNodes = updateNodes; return this; } - /** - * @param updateNodes Synchronously update node labels and taints. - * - * @return builder - * - */ public Builder updateNodes(Boolean updateNodes) { return updateNodes(Output.of(updateNodes)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolAutoMode.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolAutoMode.java new file mode 100644 index 0000000000..f4ce422435 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolAutoMode.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodePoolAutoMode { + /** + * @return Whether to enable auto mode. Valid values: + * + */ + private @Nullable Boolean enabled; + + private NodePoolAutoMode() {} + /** + * @return Whether to enable auto mode. Valid values: + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodePoolAutoMode defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + public Builder() {} + public Builder(NodePoolAutoMode defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + public NodePoolAutoMode build() { + final var _resultValue = new NodePoolAutoMode(); + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstanceMetadataOptions.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstanceMetadataOptions.java new file mode 100644 index 0000000000..1355daf4f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstanceMetadataOptions.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodePoolInstanceMetadataOptions { + /** + * @return ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + */ + private @Nullable String httpTokens; + + private NodePoolInstanceMetadataOptions() {} + /** + * @return ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + * + */ + public Optional httpTokens() { + return Optional.ofNullable(this.httpTokens); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodePoolInstanceMetadataOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String httpTokens; + public Builder() {} + public Builder(NodePoolInstanceMetadataOptions defaults) { + Objects.requireNonNull(defaults); + this.httpTokens = defaults.httpTokens; + } + + @CustomType.Setter + public Builder httpTokens(@Nullable String httpTokens) { + + this.httpTokens = httpTokens; + return this; + } + public NodePoolInstanceMetadataOptions build() { + final var _resultValue = new NodePoolInstanceMetadataOptions(); + _resultValue.httpTokens = httpTokens; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstancePattern.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstancePattern.java new file mode 100644 index 0000000000..e8bb4fd7cc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolInstancePattern.java @@ -0,0 +1,317 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.cs.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodePoolInstancePattern { + /** + * @return The number of vCPU cores of the instance type. Example value: 8. + * + */ + private @Nullable Integer cores; + /** + * @return The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + */ + private @Nullable List cpuArchitectures; + /** + * @return Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + */ + private @Nullable List excludedInstanceTypes; + /** + * @return Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + */ + private @Nullable List instanceCategories; + /** + * @return Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + */ + private String instanceFamilyLevel; + /** + * @return Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + */ + private @Nullable List instanceTypeFamilies; + /** + * @return The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + private @Nullable Integer maxCpuCores; + /** + * @return The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + private @Nullable Double maxMemorySize; + /** + * @return The memory size of the instance type, in GiB. Example value: 8. + * + */ + private @Nullable Double memory; + /** + * @return The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + private @Nullable Integer minCpuCores; + /** + * @return The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + private @Nullable Double minMemorySize; + + private NodePoolInstancePattern() {} + /** + * @return The number of vCPU cores of the instance type. Example value: 8. + * + */ + public Optional cores() { + return Optional.ofNullable(this.cores); + } + /** + * @return The CPU architecture of the instance. Value range: + * - X86 + * - ARM + * + */ + public List cpuArchitectures() { + return this.cpuArchitectures == null ? List.of() : this.cpuArchitectures; + } + /** + * @return Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + * + */ + public List excludedInstanceTypes() { + return this.excludedInstanceTypes == null ? List.of() : this.excludedInstanceTypes; + } + /** + * @return Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + * + */ + public List instanceCategories() { + return this.instanceCategories == null ? List.of() : this.instanceCategories; + } + /** + * @return Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + * + */ + public String instanceFamilyLevel() { + return this.instanceFamilyLevel; + } + /** + * @return Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + * + */ + public List instanceTypeFamilies() { + return this.instanceTypeFamilies == null ? List.of() : this.instanceTypeFamilies; + } + /** + * @return The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + public Optional maxCpuCores() { + return Optional.ofNullable(this.maxCpuCores); + } + /** + * @return The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + public Optional maxMemorySize() { + return Optional.ofNullable(this.maxMemorySize); + } + /** + * @return The memory size of the instance type, in GiB. Example value: 8. + * + */ + public Optional memory() { + return Optional.ofNullable(this.memory); + } + /** + * @return The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + * + */ + public Optional minCpuCores() { + return Optional.ofNullable(this.minCpuCores); + } + /** + * @return The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + * + */ + public Optional minMemorySize() { + return Optional.ofNullable(this.minMemorySize); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodePoolInstancePattern defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer cores; + private @Nullable List cpuArchitectures; + private @Nullable List excludedInstanceTypes; + private @Nullable List instanceCategories; + private String instanceFamilyLevel; + private @Nullable List instanceTypeFamilies; + private @Nullable Integer maxCpuCores; + private @Nullable Double maxMemorySize; + private @Nullable Double memory; + private @Nullable Integer minCpuCores; + private @Nullable Double minMemorySize; + public Builder() {} + public Builder(NodePoolInstancePattern defaults) { + Objects.requireNonNull(defaults); + this.cores = defaults.cores; + this.cpuArchitectures = defaults.cpuArchitectures; + this.excludedInstanceTypes = defaults.excludedInstanceTypes; + this.instanceCategories = defaults.instanceCategories; + this.instanceFamilyLevel = defaults.instanceFamilyLevel; + this.instanceTypeFamilies = defaults.instanceTypeFamilies; + this.maxCpuCores = defaults.maxCpuCores; + this.maxMemorySize = defaults.maxMemorySize; + this.memory = defaults.memory; + this.minCpuCores = defaults.minCpuCores; + this.minMemorySize = defaults.minMemorySize; + } + + @CustomType.Setter + public Builder cores(@Nullable Integer cores) { + + this.cores = cores; + return this; + } + @CustomType.Setter + public Builder cpuArchitectures(@Nullable List cpuArchitectures) { + + this.cpuArchitectures = cpuArchitectures; + return this; + } + public Builder cpuArchitectures(String... cpuArchitectures) { + return cpuArchitectures(List.of(cpuArchitectures)); + } + @CustomType.Setter + public Builder excludedInstanceTypes(@Nullable List excludedInstanceTypes) { + + this.excludedInstanceTypes = excludedInstanceTypes; + return this; + } + public Builder excludedInstanceTypes(String... excludedInstanceTypes) { + return excludedInstanceTypes(List.of(excludedInstanceTypes)); + } + @CustomType.Setter + public Builder instanceCategories(@Nullable List instanceCategories) { + + this.instanceCategories = instanceCategories; + return this; + } + public Builder instanceCategories(String... instanceCategories) { + return instanceCategories(List.of(instanceCategories)); + } + @CustomType.Setter + public Builder instanceFamilyLevel(String instanceFamilyLevel) { + if (instanceFamilyLevel == null) { + throw new MissingRequiredPropertyException("NodePoolInstancePattern", "instanceFamilyLevel"); + } + this.instanceFamilyLevel = instanceFamilyLevel; + return this; + } + @CustomType.Setter + public Builder instanceTypeFamilies(@Nullable List instanceTypeFamilies) { + + this.instanceTypeFamilies = instanceTypeFamilies; + return this; + } + public Builder instanceTypeFamilies(String... instanceTypeFamilies) { + return instanceTypeFamilies(List.of(instanceTypeFamilies)); + } + @CustomType.Setter + public Builder maxCpuCores(@Nullable Integer maxCpuCores) { + + this.maxCpuCores = maxCpuCores; + return this; + } + @CustomType.Setter + public Builder maxMemorySize(@Nullable Double maxMemorySize) { + + this.maxMemorySize = maxMemorySize; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable Double memory) { + + this.memory = memory; + return this; + } + @CustomType.Setter + public Builder minCpuCores(@Nullable Integer minCpuCores) { + + this.minCpuCores = minCpuCores; + return this; + } + @CustomType.Setter + public Builder minMemorySize(@Nullable Double minMemorySize) { + + this.minMemorySize = minMemorySize; + return this; + } + public NodePoolInstancePattern build() { + final var _resultValue = new NodePoolInstancePattern(); + _resultValue.cores = cores; + _resultValue.cpuArchitectures = cpuArchitectures; + _resultValue.excludedInstanceTypes = excludedInstanceTypes; + _resultValue.instanceCategories = instanceCategories; + _resultValue.instanceFamilyLevel = instanceFamilyLevel; + _resultValue.instanceTypeFamilies = instanceTypeFamilies; + _resultValue.maxCpuCores = maxCpuCores; + _resultValue.maxMemorySize = maxMemorySize; + _resultValue.memory = memory; + _resultValue.minCpuCores = minCpuCores; + _resultValue.minMemorySize = minMemorySize; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolKubeletConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolKubeletConfiguration.java index 74786ae673..97b1f030fb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolKubeletConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/cs/outputs/NodePoolKubeletConfiguration.java @@ -156,6 +156,11 @@ public final class NodePoolKubeletConfiguration { * */ private @Nullable String serializeImagePulls; + /** + * @return Used to enable the kubelet server certificate signing and rotation via CSR. + * + */ + private @Nullable Boolean serverTlsBootstrap; /** * @return Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. * @@ -369,6 +374,13 @@ public List reservedMemories() { public Optional serializeImagePulls() { return Optional.ofNullable(this.serializeImagePulls); } + /** + * @return Used to enable the kubelet server certificate signing and rotation via CSR. + * + */ + public Optional serverTlsBootstrap() { + return Optional.ofNullable(this.serverTlsBootstrap); + } /** * @return Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. * @@ -428,6 +440,7 @@ public static final class Builder { private @Nullable String registryPullQps; private @Nullable List reservedMemories; private @Nullable String serializeImagePulls; + private @Nullable Boolean serverTlsBootstrap; private @Nullable Map systemReserved; private @Nullable String topologyManagerPolicy; private @Nullable NodePoolKubeletConfigurationTracing tracing; @@ -462,6 +475,7 @@ public Builder(NodePoolKubeletConfiguration defaults) { this.registryPullQps = defaults.registryPullQps; this.reservedMemories = defaults.reservedMemories; this.serializeImagePulls = defaults.serializeImagePulls; + this.serverTlsBootstrap = defaults.serverTlsBootstrap; this.systemReserved = defaults.systemReserved; this.topologyManagerPolicy = defaults.topologyManagerPolicy; this.tracing = defaults.tracing; @@ -645,6 +659,12 @@ public Builder serializeImagePulls(@Nullable String serializeImagePulls) { return this; } @CustomType.Setter + public Builder serverTlsBootstrap(@Nullable Boolean serverTlsBootstrap) { + + this.serverTlsBootstrap = serverTlsBootstrap; + return this; + } + @CustomType.Setter public Builder systemReserved(@Nullable Map systemReserved) { this.systemReserved = systemReserved; @@ -692,6 +712,7 @@ public NodePoolKubeletConfiguration build() { _resultValue.registryPullQps = registryPullQps; _resultValue.reservedMemories = reservedMemories; _resultValue.serializeImagePulls = serializeImagePulls; + _resultValue.serverTlsBootstrap = serverTlsBootstrap; _resultValue.systemReserved = systemReserved; _resultValue.topologyManagerPolicy = topologyManagerPolicy; _resultValue.tracing = tracing; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/das/SwitchDasPro.java b/sdk/java/src/main/java/com/pulumi/alicloud/das/SwitchDasPro.java index 5de62391ea..a180a4784e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/das/SwitchDasPro.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/das/SwitchDasPro.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DAS Switch Das Pro can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/AutoSnapShotPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/AutoSnapShotPolicy.java index f1de2d387a..172b81b08f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/AutoSnapShotPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/AutoSnapShotPolicy.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dbfs Auto Snap Shot Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Instance.java index a9a0a0556f..b573c95455 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Instance.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DBFS Dbfs Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/InstanceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/InstanceAttachment.java index 898c88e33b..e430d59713 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/InstanceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/InstanceAttachment.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database File System (DBFS) Instance Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/ServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/ServiceLinkedRole.java index 7830c373e9..1cb068f7f5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/ServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/ServiceLinkedRole.java @@ -54,6 +54,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dbfs service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Snapshot.java index 82181e460a..1bd68aaa8b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasefilesystem/Snapshot.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database File System (DBFS) Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/databasegateway/Gateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/databasegateway/Gateway.java index a49d64419a..8dc2073edd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/databasegateway/Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/databasegateway/Gateway.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Project.java b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Project.java index e76eed1b13..e71768c382 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Project.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Project.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub project can be imported using the *name* or ID, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Subscription.java b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Subscription.java index e1abd3d7f8..57ee4e0dba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Subscription.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Subscription.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub subscription can be imported using the ID, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Topic.java b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Topic.java index 8e0a82d472..a3f3994bf5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/datahub/Topic.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub topic can be imported using the ID, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSource.java index a768cc0d81..01e918f501 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSource.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Data Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSourceSharedRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSourceSharedRule.java index 246e660081..b20e3e4530 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSourceSharedRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DataSourceSharedRule.java @@ -126,6 +126,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Data Source Shared Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiAlarmRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiAlarmRule.java index 802e884713..f810f565f5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiAlarmRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiAlarmRule.java @@ -179,6 +179,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Di Alarm Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiJob.java index 35908405fe..299ef6f8cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DiJob.java @@ -168,6 +168,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Di Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DwResourceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DwResourceGroup.java index 93785c0baa..0475be6412 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DwResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/DwResourceGroup.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Dw Resource Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Folder.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Folder.java index 5323bdc0e6..53db21ae4a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Folder.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Folder.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Folder can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Network.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Network.java index d19b8598d4..2a55e1fbd9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Network.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Network.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Network can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Project.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Project.java index 79ea3bb4ea..d8da034e90 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Project.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/Project.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Project can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/ProjectMember.java b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/ProjectMember.java index c0b4d7ea81..9427028fc3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/ProjectMember.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dataworks/ProjectMember.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Project Member can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dbs/BackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/dbs/BackupPlan.java index b91bc3f7e5..5a4434c08b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dbs/BackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dbs/BackupPlan.java @@ -164,6 +164,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DBS Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Domain.java index ac8ae545e7..55e9842ad4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Domain.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/DomainConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/DomainConfig.java index ad71509485..9f784311b6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/DomainConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/DomainConfig.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN domain config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Er.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Er.java index 59854ae370..8722bf5e2b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Er.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Er.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Er can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/IpaDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/IpaDomain.java index 3aa0fd59d8..3745563b99 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/IpaDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/IpaDomain.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Ipa Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Kv.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Kv.java index 132f699142..3f40a7c177 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Kv.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/Kv.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Kv can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/KvNamespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/KvNamespace.java index 3bbaec2a4a..6726d88999 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/KvNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/KvNamespace.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Kv Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafDomain.java index 36733a41b5..b94c4ce873 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafDomain.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicy.java index 18478fd9a4..5b582dd97a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicy.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicyDomainAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicyDomainAttachment.java index 13a027bbae..520e61f935 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicyDomainAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafPolicyDomainAttachment.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Policy Domain Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafRule.java index 0544764fb8..778a3ba4b8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dcdn/WafRule.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Waf Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicDefenseThreshold.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicDefenseThreshold.java index 1ef7997128..351838a497 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicDefenseThreshold.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicDefenseThreshold.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Basic Antiddos can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicThreshold.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicThreshold.java index 51eeba485d..3e1d373f59 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicThreshold.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BasicThreshold.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Basic Threshold can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpIp.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpIp.java index ae5a58fcc6..1621b09eb3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpIp.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpIp.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpPolicy.java index f01e1c9a2b..5fbeb28b09 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/BgpPolicy.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Bgp Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DdosCooInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DdosCooInstance.java index 6f8611c2b8..986b173c09 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DdosCooInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DdosCooInstance.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DomainResource.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DomainResource.java index 6cae81cf35..ad2128e88f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DomainResource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/DomainResource.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Coo Domain Resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/Port.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/Port.java index b993557aee..f62096ef8e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/Port.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/Port.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Coo Port can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/SchedulerRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/SchedulerRule.java index aa33e98e32..4262afe3eb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ddos/SchedulerRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ddos/SchedulerRule.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessGroup.java index 23f5da1c53..ce4b184ae6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessGroup.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DFS Access Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessRule.java index f00e6ac768..1474024dc4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/AccessRule.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DFS Access Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/FileSystem.java b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/FileSystem.java index 4aced269b2..f0b8a19e3c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/FileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/FileSystem.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/MountPoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/MountPoint.java index da56c9f453..801ace7eaa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/MountPoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/MountPoint.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/VscMountPoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/VscMountPoint.java index a367809a76..6ab32973e7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dfs/VscMountPoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dfs/VscMountPoint.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Domain.java index 74eeaae3d2..019ff99879 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Domain.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/MailAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/MailAddress.java index efe3de59de..24f17916b5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/MailAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/MailAddress.java @@ -78,6 +78,8 @@ * Individual users: Up to 10 mailing addresses can be deleted within a month. * Enterprise users: Up to 10 mailing addresses can be deleted within a month. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Mail Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Receivers.java b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Receivers.java index a0a4099db9..3429514105 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Receivers.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Receivers.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Receivers can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Tag.java b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Tag.java index be968a4b5b..47f095a701 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Tag.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/directmail/Tag.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Tag can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/Airflow.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/Airflow.java index ed9f26ef0e..b86c07261f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/Airflow.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/Airflow.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dms Airflow can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseAuthorityTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseAuthorityTemplate.java index d521ab0641..8017b1a118 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseAuthorityTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseAuthorityTemplate.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Authority Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseInstance.java index 8a69087fea..3efbac95db 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseInstance.java @@ -159,6 +159,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise can be imported using host and port, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseLogicDatabase.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseLogicDatabase.java index 9fa998fa8b..443826b216 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseLogicDatabase.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseLogicDatabase.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Logic Database can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxy.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxy.java index b3e5658580..b7ca7403c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxy.java @@ -167,6 +167,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Proxy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxyAccess.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxyAccess.java index 1be1393efb..12363f232c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxyAccess.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseProxyAccess.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Proxy Access can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseUser.java index 2acbeb70cc..62ed27c587 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseUser.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseWorkspace.java b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseWorkspace.java index 7b6cf12110..3b022bab0a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseWorkspace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dms/EnterpriseWorkspace.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Workspace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AccessStrategy.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AccessStrategy.java index 57efa13cc4..95c32747b3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AccessStrategy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AccessStrategy.java @@ -148,6 +148,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS Access Strategy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AddressPool.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AddressPool.java index bc108c36ab..1b46a7e60b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AddressPool.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AddressPool.java @@ -112,6 +112,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Address Pool can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomain.java index c952e6747e..f6b56ea2e0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomain.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns domain can be imported using the id or domain name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomainAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomainAttachment.java index 986474f911..f8c5510316 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomainAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsDomainAttachment.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsInstance.java index c2cec86357..5df8ac7757 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsInstance.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS instance be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecord.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecord.java index d796679377..6bd9adb857 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecord.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecord.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Domain Record can be imported using the id, e.g. @@ -201,14 +203,14 @@ public Output> ttl() { return Codegen.optional(this.ttl); } /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** - * @return The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @return The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ public Output type() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecordArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecordArgs.java index 435c6ede45..76d339fadc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecordArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/AlidnsRecordArgs.java @@ -138,14 +138,14 @@ public Optional> ttl() { } /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ @Import(name="type", required=true) private Output type; /** - * @return The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @return The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ public Output type() { @@ -385,7 +385,7 @@ public Builder ttl(Integer ttl) { } /** - * @param type The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @param type The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * * @return builder * @@ -396,7 +396,7 @@ public Builder type(Output type) { } /** - * @param type The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @param type The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/CustomLine.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/CustomLine.java index 1380f18b5f..442376e96c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/CustomLine.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/CustomLine.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Custom Line can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DdosCooInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DdosCooInstance.java index 9fc9109076..a9fb22e2d6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DdosCooInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DdosCooInstance.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DnsDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DnsDomain.java index b5aeb8540a..94f143bb63 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DnsDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DnsDomain.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain can be imported using the id or domain name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Domain.java index b29a058eff..5adf7e4e6d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Domain.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS can be imported using the id or domain name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainAttachment.java index 6b48bf3cbe..7a83b6adef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainAttachment.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainGroup.java index 5283534b1d..de94f6a52b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/DomainGroup.java @@ -52,6 +52,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns domain group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Group.java index deb00862b7..2a82a08359 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Group.java @@ -52,6 +52,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:dns/group:Group") public class Group extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/GtmInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/GtmInstance.java index 09b1f861af..b7f25b2fa1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/GtmInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/GtmInstance.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Gtm Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Instance.java index 8faa2d0cff..4c08ea46dd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Instance.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS instance be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/MonitorConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/MonitorConfig.java index d79a96cdda..709eec6bfa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/MonitorConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/MonitorConfig.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS Monitor Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Record.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Record.java index 990de765b0..60cdad9363 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/Record.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/Record.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS record can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dns/inputs/AlidnsRecordState.java b/sdk/java/src/main/java/com/pulumi/alicloud/dns/inputs/AlidnsRecordState.java index 73d432c532..1ec89f97be 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dns/inputs/AlidnsRecordState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dns/inputs/AlidnsRecordState.java @@ -137,14 +137,14 @@ public Optional> ttl() { } /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ @Import(name="type") private @Nullable Output type; /** - * @return The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @return The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * */ public Optional> type() { @@ -384,7 +384,7 @@ public Builder ttl(Integer ttl) { } /** - * @param type The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @param type The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * * @return builder * @@ -395,7 +395,7 @@ public Builder type(@Nullable Output type) { } /** - * @param type The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * @param type The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/drds/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/drds/Instance.java index 5e95580d20..d2122b5f0b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/drds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/drds/Instance.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Distributed Relational Database Service (DRDS) can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/drds/PolardbxInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/drds/PolardbxInstance.java index 616c7ad39c..e6e199e6cb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/drds/PolardbxInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/drds/PolardbxInstance.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DRDS Polardb X Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/ConsumerChannel.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/ConsumerChannel.java index f801ca607c..e5ff96a811 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/ConsumerChannel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/ConsumerChannel.java @@ -171,6 +171,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Consumer Channel can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/Instance.java index 1bc72746d7..607a8c6449 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/Instance.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dts Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/JobMonitorRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/JobMonitorRule.java index fb6b8ad02e..657c0b1f87 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/JobMonitorRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/JobMonitorRule.java @@ -221,6 +221,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Job Monitor Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationInstance.java index 0d19a2796a..905bcf1452 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationInstance.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Migration Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationJob.java index c45a15e2e8..5a8d44c8ee 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/MigrationJob.java @@ -214,6 +214,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SubscriptionJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SubscriptionJob.java index 0a58279c1a..fc6945eff7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SubscriptionJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SubscriptionJob.java @@ -173,6 +173,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Subscription Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationInstance.java index eb0c1d08b5..a1e32c7449 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationInstance.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Synchronization Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationJob.java index 54520b8f5d..a846a1b806 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/dts/SynchronizationJob.java @@ -219,6 +219,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DedicatedBlockStorageCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DedicatedBlockStorageCluster.java index c771744eea..d4ba74510c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DedicatedBlockStorageCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DedicatedBlockStorageCluster.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaGroup.java index 778df015b4..498bd6aeca 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaGroup.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaPair.java index b28826ba50..f383f1c90b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/DiskReplicaPair.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicy.java index 4b680f6db1..073bf544d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicy.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Enterprise Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicyAttachment.java index b96e9fca0e..1fbd1cf757 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/EnterpriseSnapshotPolicyAttachment.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaGroupDrill.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaGroupDrill.java index 09fea78a6c..2cff04a51e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaGroupDrill.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaGroupDrill.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Replica Group Drill can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaPairDrill.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaPairDrill.java index 80c5f71973..9d28383082 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaPairDrill.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/ReplicaPairDrill.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Replica Pair Drill can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/SolutionInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/SolutionInstance.java index 7ef31f192d..d23bef9567 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ebs/SolutionInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ebs/SolutionInstance.java @@ -132,6 +132,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Solution Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eci/ContainerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/eci/ContainerGroup.java index 6d3459833f..85d05b609f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eci/ContainerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eci/ContainerGroup.java @@ -171,6 +171,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Container Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eci/ImageCache.java b/sdk/java/src/main/java/com/pulumi/alicloud/eci/ImageCache.java index 7ca0e3505f..989bf15c7b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eci/ImageCache.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eci/ImageCache.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Image Cache can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eci/VirtualNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/eci/VirtualNode.java index 415368fd25..1453abe6a6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eci/VirtualNode.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eci/VirtualNode.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Virtual Node can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecp/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecp/Instance.java index 912b65665e..2e4c85db12 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecp/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecp/Instance.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecp/KeyPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecp/KeyPair.java index 9ca0a9a40e..f02505c268 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecp/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecp/KeyPair.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Activation.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Activation.java index b6ed69e621..0f8a23cb4a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Activation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Activation.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Activation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoProvisioningGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoProvisioningGroup.java index 73a5b23c2b..8452b6dda9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoProvisioningGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoProvisioningGroup.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS auto provisioning group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoSnapshotPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoSnapshotPolicy.java index 47c45c2bea..a8939d8035 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoSnapshotPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/AutoSnapshotPolicy.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/CapacityReservation.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/CapacityReservation.java index a8c51a5dad..303b6cc0d0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/CapacityReservation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/CapacityReservation.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ecs Capacity Reservation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Command.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Command.java index b2f08ba808..33b9845c79 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Command.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Command.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Command can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Disk.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Disk.java index bb85b52dd1..864f729041 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Disk.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Disk.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud disk can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/DiskAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/DiskAttachment.java index 28113d9e4d..2b146382f5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/DiskAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/DiskAttachment.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The disk attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsAutoSnapshotPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsAutoSnapshotPolicyAttachment.java index 4f2dc50174..16b767e8cf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsAutoSnapshotPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsAutoSnapshotPolicyAttachment.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDedicatedHostCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDedicatedHostCluster.java index c0888c9cfd..e4a5d7272e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDedicatedHostCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDedicatedHostCluster.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Dedicated Host Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDeploymentSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDeploymentSet.java index 54de1cd0bc..c1752fefc7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDeploymentSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDeploymentSet.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Deployment Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDiskAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDiskAttachment.java index 740410ad7f..00ee3ec769 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDiskAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsDiskAttachment.java @@ -136,6 +136,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The disk attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImageComponent.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImageComponent.java index ba968bf640..0df10d63e9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImageComponent.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImageComponent.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Component can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImagePipeline.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImagePipeline.java index 4a5aa9f578..bf94f9b373 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImagePipeline.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsImagePipeline.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Pipeline can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInstanceSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInstanceSet.java index 8f48f733c9..a7edc09b47 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInstanceSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInstanceSet.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ecs/ecsInstanceSet:EcsInstanceSet") public class EcsInstanceSet extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInvocation.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInvocation.java index eb7b281eb7..e3fd77bb46 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInvocation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsInvocation.java @@ -145,6 +145,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Invocation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPair.java index ebb2d86bbc..d6686987c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPair.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Key Pair can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPairAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPairAttachment.java index 2000d49462..b8f4b25323 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPairAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsKeyPairAttachment.java @@ -127,6 +127,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Key Pair Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsLaunchTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsLaunchTemplate.java index 4aabbf1239..0731f63124 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsLaunchTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsLaunchTemplate.java @@ -168,6 +168,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Launch Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterface.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterface.java index 33ee33353d..ac2bb5a0db 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterface.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfaceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfaceAttachment.java index c99614127a..7ef8ff08d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfaceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfaceAttachment.java @@ -138,6 +138,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfacePermission.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfacePermission.java index b1f43f4a27..cf8107d45b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfacePermission.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsNetworkInterfacePermission.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface Permission can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsPrefixList.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsPrefixList.java index 3d689c2267..52ea165131 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsPrefixList.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsPrefixList.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Prefix List can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSessionManagerStatus.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSessionManagerStatus.java index 4de812afac..178183efce 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSessionManagerStatus.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSessionManagerStatus.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Session Manager Status can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshot.java index 8ff2ae2b55..b2d086b09a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshot.java @@ -143,6 +143,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshotGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshotGroup.java index a0093d2cc6..e919203544 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshotGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EcsSnapshotGroup.java @@ -142,6 +142,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Snapshot Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Eip.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Eip.java index fc3a379d70..8bb74becf4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Eip.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Eip.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing eip module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipAssociation.java index 4e2eac8c34..cce966ea12 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipAssociation.java @@ -131,6 +131,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipSegmentAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipSegmentAddress.java index 4777a1a47f..2fd518dd1c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipSegmentAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/EipSegmentAddress.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Segment Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ElasticityAssurance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ElasticityAssurance.java index cd10615aa9..80410cd795 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ElasticityAssurance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ElasticityAssurance.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Elasticity Assurance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/HpcCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/HpcCluster.java index c479506e5a..73be432ced 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/HpcCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/HpcCluster.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Hpc Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Image.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Image.java index 81974c15a5..25a69b9aa5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Image.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Image.java @@ -137,6 +137,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageCopy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageCopy.java index 855ed7bbc7..af97dff22e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageCopy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageCopy.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Attributes Reference0 * * The following attributes are exported: diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageExport.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageExport.java index e6158070c9..0977241a6f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageExport.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageExport.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ecs/imageExport:ImageExport") public class ImageExport extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageImport.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageImport.java index b1e76f6075..1c4f598415 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageImport.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageImport.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Import can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageSharePermission.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageSharePermission.java index 73ff9b911d..08c2294936 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageSharePermission.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ImageSharePermission.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Attributes Reference0 * * The following attributes are exported: diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Instance.java index e1a53f90d0..b87b9df6cf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Instance.java @@ -6,6 +6,7 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.ecs.InstanceArgs; import com.pulumi.alicloud.ecs.inputs.InstanceState; +import com.pulumi.alicloud.ecs.outputs.InstanceCpuOptions; import com.pulumi.alicloud.ecs.outputs.InstanceDataDisk; import com.pulumi.alicloud.ecs.outputs.InstanceImageOptions; import com.pulumi.alicloud.ecs.outputs.InstanceMaintenanceTime; @@ -127,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing ecs-instance module @@ -225,6 +228,48 @@ public Output availabilityZone() { public Output cpu() { return this.cpu; } + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + @Export(name="cpuOptions", refs={InstanceCpuOptions.class}, tree="[0]") + private Output cpuOptions; + + /** + * @return The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + public Output cpuOptions() { + return this.cpuOptions; + } /** * (Available since v1.232.0) The time when the instance was created. * @@ -492,20 +537,6 @@ public Output imageId() { /** * The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ @Export(name="imageOptions", refs={InstanceImageOptions.class}, tree="[0]") private Output imageOptions; @@ -513,20 +544,6 @@ public Output imageId() { /** * @return The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ public Output imageOptions() { return this.imageOptions; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/InstanceArgs.java index 3ffc985b2c..4e44453dfe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/InstanceArgs.java @@ -3,6 +3,7 @@ package com.pulumi.alicloud.ecs; +import com.pulumi.alicloud.ecs.inputs.InstanceCpuOptionsArgs; import com.pulumi.alicloud.ecs.inputs.InstanceDataDiskArgs; import com.pulumi.alicloud.ecs.inputs.InstanceImageOptionsArgs; import com.pulumi.alicloud.ecs.inputs.InstanceMaintenanceTimeArgs; @@ -100,6 +101,49 @@ public Optional> availabilityZone() { return Optional.ofNullable(this.availabilityZone); } + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + @Import(name="cpuOptions") + private @Nullable Output cpuOptions; + + /** + * @return The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + public Optional> cpuOptions() { + return Optional.ofNullable(this.cpuOptions); + } + /** * Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. * @@ -340,20 +384,6 @@ public Optional> imageId() { /** * The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ @Import(name="imageOptions") private @Nullable Output imageOptions; @@ -361,20 +391,6 @@ public Optional> imageId() { /** * @return The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ public Optional> imageOptions() { return Optional.ofNullable(this.imageOptions); @@ -1363,6 +1379,7 @@ private InstanceArgs(InstanceArgs $) { this.autoReleaseTime = $.autoReleaseTime; this.autoRenewPeriod = $.autoRenewPeriod; this.availabilityZone = $.availabilityZone; + this.cpuOptions = $.cpuOptions; this.creditSpecification = $.creditSpecification; this.dataDisks = $.dataDisks; this.dedicatedHostId = $.dedicatedHostId; @@ -1559,6 +1576,55 @@ public Builder availabilityZone(String availabilityZone) { return availabilityZone(Output.of(availabilityZone)); } + /** + * @param cpuOptions The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + * @return builder + * + */ + public Builder cpuOptions(@Nullable Output cpuOptions) { + $.cpuOptions = cpuOptions; + return this; + } + + /** + * @param cpuOptions The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + * @return builder + * + */ + public Builder cpuOptions(InstanceCpuOptionsArgs cpuOptions) { + return cpuOptions(Output.of(cpuOptions)); + } + /** * @param creditSpecification Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. * @@ -1899,20 +1965,6 @@ public Builder imageId(String imageId) { /** * @param imageOptions The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * * @return builder * */ @@ -1924,20 +1976,6 @@ public Builder imageOptions(@Nullable Output imageOpti /** * @param imageOptions The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/KeyPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/KeyPair.java index 09b1996aa3..29e396bbbe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/KeyPair.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Key pair can be imported using the name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/LaunchTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/LaunchTemplate.java index 060eb1edac..80a90ac13b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/LaunchTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/LaunchTemplate.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Launch Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/RamRoleAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/RamRoleAttachment.java index 7a6f32767a..57bcc79a02 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/RamRoleAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/RamRoleAttachment.java @@ -148,6 +148,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Ram Role Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ReservedInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ReservedInstance.java index 62357ee720..e73d963218 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ReservedInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/ReservedInstance.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * reservedInstance can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroup.java index 1a84b4a6aa..caec05df60 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroup.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing security-group module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroupRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroupRule.java index c267ea918c..4ca1cba223 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroupRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SecurityGroupRule.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing security-group module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Snapshot.java index e7993f5bb1..34e93e30e9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/Snapshot.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SnapshotPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SnapshotPolicy.java index daf3a04d41..d4ca7541a0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SnapshotPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/SnapshotPolicy.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/StorageCapacityUnit.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/StorageCapacityUnit.java index 0d5d77fec7..bc8b321b6f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/StorageCapacityUnit.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/StorageCapacityUnit.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Storage Capacity Unit can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceCpuOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceCpuOptionsArgs.java new file mode 100644 index 0000000000..ad89023e48 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceCpuOptionsArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ecs.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceCpuOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceCpuOptionsArgs Empty = new InstanceCpuOptionsArgs(); + + /** + * The maximum number of partitions in the storage set. + * + */ + @Import(name="coreCount") + private @Nullable Output coreCount; + + /** + * @return The maximum number of partitions in the storage set. + * + */ + public Optional> coreCount() { + return Optional.ofNullable(this.coreCount); + } + + /** + * The number of threads per CPU core. + * + */ + @Import(name="threadsPerCore") + private @Nullable Output threadsPerCore; + + /** + * @return The number of threads per CPU core. + * + */ + public Optional> threadsPerCore() { + return Optional.ofNullable(this.threadsPerCore); + } + + /** + * The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + */ + @Import(name="topologyType") + private @Nullable Output topologyType; + + /** + * @return The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + */ + public Optional> topologyType() { + return Optional.ofNullable(this.topologyType); + } + + private InstanceCpuOptionsArgs() {} + + private InstanceCpuOptionsArgs(InstanceCpuOptionsArgs $) { + this.coreCount = $.coreCount; + this.threadsPerCore = $.threadsPerCore; + this.topologyType = $.topologyType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceCpuOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceCpuOptionsArgs $; + + public Builder() { + $ = new InstanceCpuOptionsArgs(); + } + + public Builder(InstanceCpuOptionsArgs defaults) { + $ = new InstanceCpuOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param coreCount The maximum number of partitions in the storage set. + * + * @return builder + * + */ + public Builder coreCount(@Nullable Output coreCount) { + $.coreCount = coreCount; + return this; + } + + /** + * @param coreCount The maximum number of partitions in the storage set. + * + * @return builder + * + */ + public Builder coreCount(Integer coreCount) { + return coreCount(Output.of(coreCount)); + } + + /** + * @param threadsPerCore The number of threads per CPU core. + * + * @return builder + * + */ + public Builder threadsPerCore(@Nullable Output threadsPerCore) { + $.threadsPerCore = threadsPerCore; + return this; + } + + /** + * @param threadsPerCore The number of threads per CPU core. + * + * @return builder + * + */ + public Builder threadsPerCore(Integer threadsPerCore) { + return threadsPerCore(Output.of(threadsPerCore)); + } + + /** + * @param topologyType The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + * @return builder + * + */ + public Builder topologyType(@Nullable Output topologyType) { + $.topologyType = topologyType; + return this; + } + + /** + * @param topologyType The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + * @return builder + * + */ + public Builder topologyType(String topologyType) { + return topologyType(Output.of(topologyType)); + } + + public InstanceCpuOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceState.java index a1851a6c8d..cc4e65d6c9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/inputs/InstanceState.java @@ -3,6 +3,7 @@ package com.pulumi.alicloud.ecs.inputs; +import com.pulumi.alicloud.ecs.inputs.InstanceCpuOptionsArgs; import com.pulumi.alicloud.ecs.inputs.InstanceDataDiskArgs; import com.pulumi.alicloud.ecs.inputs.InstanceImageOptionsArgs; import com.pulumi.alicloud.ecs.inputs.InstanceMaintenanceTimeArgs; @@ -115,6 +116,49 @@ public Optional> cpu() { return Optional.ofNullable(this.cpu); } + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + @Import(name="cpuOptions") + private @Nullable Output cpuOptions; + + /** + * @return The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + */ + public Optional> cpuOptions() { + return Optional.ofNullable(this.cpuOptions); + } + /** * (Available since v1.232.0) The time when the instance was created. * @@ -400,20 +444,6 @@ public Optional> imageId() { /** * The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ @Import(name="imageOptions") private @Nullable Output imageOptions; @@ -421,20 +451,6 @@ public Optional> imageId() { /** * @return The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * */ public Optional> imageOptions() { return Optional.ofNullable(this.imageOptions); @@ -1544,6 +1560,7 @@ private InstanceState(InstanceState $) { this.autoRenewPeriod = $.autoRenewPeriod; this.availabilityZone = $.availabilityZone; this.cpu = $.cpu; + this.cpuOptions = $.cpuOptions; this.createTime = $.createTime; this.creditSpecification = $.creditSpecification; this.dataDisks = $.dataDisks; @@ -1772,6 +1789,55 @@ public Builder cpu(Integer cpu) { return cpu(Output.of(cpu)); } + /** + * @param cpuOptions The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + * @return builder + * + */ + public Builder cpuOptions(@Nullable Output cpuOptions) { + $.cpuOptions = cpuOptions; + return this; + } + + /** + * @param cpuOptions The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + * + * @return builder + * + */ + public Builder cpuOptions(InstanceCpuOptionsArgs cpuOptions) { + return cpuOptions(Output.of(cpuOptions)); + } + /** * @param createTime (Available since v1.232.0) The time when the instance was created. * @@ -2175,20 +2241,6 @@ public Builder imageId(String imageId) { /** * @param imageOptions The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * * @return builder * */ @@ -2200,20 +2252,6 @@ public Builder imageOptions(@Nullable Output imageOpti /** * @param imageOptions The options of images. See `imageOptions` below. * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ecs/outputs/InstanceCpuOptions.java b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/outputs/InstanceCpuOptions.java new file mode 100644 index 0000000000..b72b2d8639 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ecs/outputs/InstanceCpuOptions.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ecs.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceCpuOptions { + /** + * @return The maximum number of partitions in the storage set. + * + */ + private @Nullable Integer coreCount; + /** + * @return The number of threads per CPU core. + * + */ + private @Nullable Integer threadsPerCore; + /** + * @return The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + */ + private @Nullable String topologyType; + + private InstanceCpuOptions() {} + /** + * @return The maximum number of partitions in the storage set. + * + */ + public Optional coreCount() { + return Optional.ofNullable(this.coreCount); + } + /** + * @return The number of threads per CPU core. + * + */ + public Optional threadsPerCore() { + return Optional.ofNullable(this.threadsPerCore); + } + /** + * @return The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + * + */ + public Optional topologyType() { + return Optional.ofNullable(this.topologyType); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceCpuOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer coreCount; + private @Nullable Integer threadsPerCore; + private @Nullable String topologyType; + public Builder() {} + public Builder(InstanceCpuOptions defaults) { + Objects.requireNonNull(defaults); + this.coreCount = defaults.coreCount; + this.threadsPerCore = defaults.threadsPerCore; + this.topologyType = defaults.topologyType; + } + + @CustomType.Setter + public Builder coreCount(@Nullable Integer coreCount) { + + this.coreCount = coreCount; + return this; + } + @CustomType.Setter + public Builder threadsPerCore(@Nullable Integer threadsPerCore) { + + this.threadsPerCore = threadsPerCore; + return this; + } + @CustomType.Setter + public Builder topologyType(@Nullable String topologyType) { + + this.topologyType = topologyType; + return this; + } + public InstanceCpuOptions build() { + final var _resultValue = new InstanceCpuOptions(); + _resultValue.coreCount = coreCount; + _resultValue.threadsPerCore = threadsPerCore; + _resultValue.topologyType = topologyType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Application.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Application.java index 67d79d886a..c736cd4740 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Application.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Application.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS application can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationDeployment.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationDeployment.java index 8422aa768b..ee585127a5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationDeployment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationDeployment.java @@ -148,6 +148,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:edas/applicationDeployment:ApplicationDeployment") public class ApplicationDeployment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationScale.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationScale.java index 5ff7c7df24..c8b5cf571b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationScale.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/ApplicationScale.java @@ -164,6 +164,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:edas/applicationScale:ApplicationScale") public class ApplicationScale extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Cluster.java index 530bae0390..3f70b5c5c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Cluster.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/DeployGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/DeployGroup.java index b6e852abe8..9aee3a91e6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/DeployGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/DeployGroup.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS deploy group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/InstanceClusterAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/InstanceClusterAttachment.java index d29de35967..ada29e98bd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/InstanceClusterAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/InstanceClusterAttachment.java @@ -127,6 +127,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:edas/instanceClusterAttachment:InstanceClusterAttachment") public class InstanceClusterAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sApplication.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sApplication.java index ab7d23c0e4..53f60936f9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sApplication.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sApplication.java @@ -145,6 +145,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS k8s application can be imported as below, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sCluster.java index 9bf2875ffa..67594e2573 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sCluster.java @@ -129,6 +129,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sSlbAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sSlbAttachment.java index b705dfb4d2..0bd998f1e7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sSlbAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/K8sSlbAttachment.java @@ -164,6 +164,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Namespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Namespace.java index 1835b9b0ad..5d60153d5d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/Namespace.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/edas/SlbAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/edas/SlbAttachment.java index 3b984bf73f..de1cd69b1e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/edas/SlbAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/edas/SlbAttachment.java @@ -156,6 +156,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:edas/slbAttachment:SlbAttachment") public class SlbAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorDirectory.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorDirectory.java index 7415df424c..8795f8517c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorDirectory.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorDirectory.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ad Connector Directory can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorOfficeSite.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorOfficeSite.java index 89f1c3f50c..860ad0bd8f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorOfficeSite.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/AdConnectorOfficeSite.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ad Connector Office Site can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Bundle.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Bundle.java index bbb61c1902..9fd454b62d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Bundle.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Bundle.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Bundle can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Command.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Command.java index d5cf448899..f8c46439c0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Command.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Command.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Command can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/CustomProperty.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/CustomProperty.java index 9ad5c12322..96d60f33ca 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/CustomProperty.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/CustomProperty.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Custom Property can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Desktop.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Desktop.java index f263a98f2e..f450c5fc70 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Desktop.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Desktop.java @@ -112,6 +112,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Desktop can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/EcdPolicyGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/EcdPolicyGroup.java index dfc4c99858..5a804b66ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/EcdPolicyGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/EcdPolicyGroup.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Image.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Image.java index ab651ad5bb..c1c5725031 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Image.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Image.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Image can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/NasFileSystem.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/NasFileSystem.java index 628b2734c7..acf06e19c9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/NasFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/NasFileSystem.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Nas File System can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/NetworkPackage.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/NetworkPackage.java index 0cb8d71a91..1e9dc59151 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/NetworkPackage.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/NetworkPackage.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Network Package can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/RamDirectory.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/RamDirectory.java index cf5af0033a..4e91903b7d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/RamDirectory.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/RamDirectory.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ram Directory can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/SimpleOfficeSite.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/SimpleOfficeSite.java index c13f56c167..d1562e0da7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/SimpleOfficeSite.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/SimpleOfficeSite.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Simple Office Site can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Snapshot.java index 8945e2c5fb..467d3c59b4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/Snapshot.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eds/User.java b/sdk/java/src/main/java/com/pulumi/alicloud/eds/User.java index 7a98c1484c..0b500a7953 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eds/User.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eds/User.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Cluster.java index ea7c6f7519..5978c2c3ad 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Cluster.java @@ -161,6 +161,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Er.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Er.java index a01954ac5a..106a91d7df 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Er.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Er.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Er can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlan.java index daa3f964d0..a4c6e3d322 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlan.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Experiment Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlanTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlanTemplate.java index 813f2f475c..fefa60060f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlanTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/ExperimentPlanTemplate.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Experiment Plan Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNode.java index f72fa1b53b..f34935b3d7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNode.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNode.java @@ -6,12 +6,14 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.eflo.HyperNodeArgs; import com.pulumi.alicloud.eflo.inputs.HyperNodeState; +import com.pulumi.alicloud.eflo.outputs.HyperNodeDataDisk; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -74,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Hyper Node can be imported using the id, e.g. @@ -85,6 +89,20 @@ */ @ResourceType(type="alicloud:eflo/hyperNode:HyperNode") public class HyperNode extends com.pulumi.resources.CustomResource { + /** + * Cluster ID + * + */ + @Export(name="clusterId", refs={String.class}, tree="[0]") + private Output clusterId; + + /** + * @return Cluster ID + * + */ + public Output> clusterId() { + return Codegen.optional(this.clusterId); + } /** * The creation time of the resource * @@ -99,34 +117,82 @@ public class HyperNode extends com.pulumi.resources.CustomResource { public Output createTime() { return this.createTime; } + @Export(name="dataDisks", refs={List.class,HyperNodeDataDisk.class}, tree="[0,1]") + private Output> dataDisks; + + public Output>> dataDisks() { + return Codegen.optional(this.dataDisks); + } + /** + * The host name prefix of the sub computing node + * + */ + @Export(name="hostname", refs={String.class}, tree="[0]") + private Output hostname; + + /** + * @return The host name prefix of the sub computing node + * + */ + public Output> hostname() { + return Codegen.optional(this.hostname); + } /** - * Number of the cluster to which the supercompute node belongs + * Number of the cluster to which the hyper computing node belongs * */ @Export(name="hpnZone", refs={String.class}, tree="[0]") private Output hpnZone; /** - * @return Number of the cluster to which the supercompute node belongs + * @return Number of the cluster to which the hyper computing node belongs * */ public Output> hpnZone() { return Codegen.optional(this.hpnZone); } /** - * The model used by the super computing node + * Login Password of the sub computing node + * + */ + @Export(name="loginPassword", refs={String.class}, tree="[0]") + private Output loginPassword; + + /** + * @return Login Password of the sub computing node + * + */ + public Output> loginPassword() { + return Codegen.optional(this.loginPassword); + } + /** + * The model used by the hyper computing node * */ @Export(name="machineType", refs={String.class}, tree="[0]") private Output machineType; /** - * @return The model used by the super computing node + * @return The model used by the hyper computing node * */ public Output> machineType() { return Codegen.optional(this.machineType); } + /** + * Node group ID + * + */ + @Export(name="nodeGroupId", refs={String.class}, tree="[0]") + private Output nodeGroupId; + + /** + * @return Node group ID + * + */ + public Output> nodeGroupId() { + return Codegen.optional(this.nodeGroupId); + } /** * The duration of the instance purchase, in units. * @@ -216,21 +282,21 @@ public Output resourceGroupId() { return this.resourceGroupId; } /** - * Super Node Architecture + * Hyper Node Architecture * */ @Export(name="serverArch", refs={String.class}, tree="[0]") private Output serverArch; /** - * @return Super Node Architecture + * @return Hyper Node Architecture * */ public Output> serverArch() { return Codegen.optional(this.serverArch); } /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -239,7 +305,7 @@ public Output> serverArch() { private Output stageNum; /** - * @return The number of installments of the supercomputing node of the fixed fee installment. + * @return The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -276,14 +342,56 @@ public Output>> tags() { return Codegen.optional(this.tags); } /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + * + */ + @Export(name="userData", refs={String.class}, tree="[0]") + private Output userData; + + /** + * @return Custom user data for the sub computing node + * + */ + public Output> userData() { + return Codegen.optional(this.userData); + } + /** + * The ID of the vpc to which the sub computing node + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return The ID of the vpc to which the sub computing node + * + */ + public Output> vpcId() { + return Codegen.optional(this.vpcId); + } + /** + * The ID of the vswitch to which the sub computing node + * + */ + @Export(name="vswitchId", refs={String.class}, tree="[0]") + private Output vswitchId; + + /** + * @return The ID of the vswitch to which the sub computing node + * + */ + public Output> vswitchId() { + return Codegen.optional(this.vswitchId); + } + /** + * The zone where the hyper compute node is located * */ @Export(name="zoneId", refs={String.class}, tree="[0]") private Output zoneId; /** - * @return The zone where the super compute node is located + * @return The zone where the hyper compute node is located * */ public Output> zoneId() { @@ -329,6 +437,9 @@ private static HyperNodeArgs makeArgs(HyperNodeArgs args, @Nullable com.pulumi.r private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "loginPassword" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNodeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNodeArgs.java index 1e3530bdf4..4c2c9d0d5a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNodeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/HyperNodeArgs.java @@ -3,11 +3,13 @@ package com.pulumi.alicloud.eflo; +import com.pulumi.alicloud.eflo.inputs.HyperNodeDataDiskArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -19,14 +21,51 @@ public final class HyperNodeArgs extends com.pulumi.resources.ResourceArgs { public static final HyperNodeArgs Empty = new HyperNodeArgs(); /** - * Number of the cluster to which the supercompute node belongs + * Cluster ID + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return Cluster ID + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + + /** + * The host name prefix of the sub computing node + * + */ + @Import(name="hostname") + private @Nullable Output hostname; + + /** + * @return The host name prefix of the sub computing node + * + */ + public Optional> hostname() { + return Optional.ofNullable(this.hostname); + } + + /** + * Number of the cluster to which the hyper computing node belongs * */ @Import(name="hpnZone") private @Nullable Output hpnZone; /** - * @return Number of the cluster to which the supercompute node belongs + * @return Number of the cluster to which the hyper computing node belongs * */ public Optional> hpnZone() { @@ -34,20 +73,50 @@ public Optional> hpnZone() { } /** - * The model used by the super computing node + * Login Password of the sub computing node + * + */ + @Import(name="loginPassword") + private @Nullable Output loginPassword; + + /** + * @return Login Password of the sub computing node + * + */ + public Optional> loginPassword() { + return Optional.ofNullable(this.loginPassword); + } + + /** + * The model used by the hyper computing node * */ @Import(name="machineType") private @Nullable Output machineType; /** - * @return The model used by the super computing node + * @return The model used by the hyper computing node * */ public Optional> machineType() { return Optional.ofNullable(this.machineType); } + /** + * Node group ID + * + */ + @Import(name="nodeGroupId") + private @Nullable Output nodeGroupId; + + /** + * @return Node group ID + * + */ + public Optional> nodeGroupId() { + return Optional.ofNullable(this.nodeGroupId); + } + /** * The duration of the instance purchase, in units. * @@ -128,14 +197,14 @@ public Optional> resourceGroupId() { } /** - * Super Node Architecture + * Hyper Node Architecture * */ @Import(name="serverArch") private @Nullable Output serverArch; /** - * @return Super Node Architecture + * @return Hyper Node Architecture * */ public Optional> serverArch() { @@ -143,7 +212,7 @@ public Optional> serverArch() { } /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -152,7 +221,7 @@ public Optional> serverArch() { private @Nullable Output stageNum; /** - * @return The number of installments of the supercomputing node of the fixed fee installment. + * @return The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -177,14 +246,59 @@ public Optional>> tags() { } /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + * + */ + @Import(name="userData") + private @Nullable Output userData; + + /** + * @return Custom user data for the sub computing node + * + */ + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + /** + * The ID of the vpc to which the sub computing node + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The ID of the vpc to which the sub computing node + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The ID of the vswitch to which the sub computing node + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The ID of the vswitch to which the sub computing node + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + /** + * The zone where the hyper compute node is located * */ @Import(name="zoneId") private @Nullable Output zoneId; /** - * @return The zone where the super compute node is located + * @return The zone where the hyper compute node is located * */ public Optional> zoneId() { @@ -194,8 +308,13 @@ public Optional> zoneId() { private HyperNodeArgs() {} private HyperNodeArgs(HyperNodeArgs $) { + this.clusterId = $.clusterId; + this.dataDisks = $.dataDisks; + this.hostname = $.hostname; this.hpnZone = $.hpnZone; + this.loginPassword = $.loginPassword; this.machineType = $.machineType; + this.nodeGroupId = $.nodeGroupId; this.paymentDuration = $.paymentDuration; this.paymentType = $.paymentType; this.renewalDuration = $.renewalDuration; @@ -204,6 +323,9 @@ private HyperNodeArgs(HyperNodeArgs $) { this.serverArch = $.serverArch; this.stageNum = $.stageNum; this.tags = $.tags; + this.userData = $.userData; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; this.zoneId = $.zoneId; } @@ -226,7 +348,62 @@ public Builder(HyperNodeArgs defaults) { } /** - * @param hpnZone Number of the cluster to which the supercompute node belongs + * @param clusterId Cluster ID + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Cluster ID + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + public Builder dataDisks(HyperNodeDataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + + /** + * @param hostname The host name prefix of the sub computing node + * + * @return builder + * + */ + public Builder hostname(@Nullable Output hostname) { + $.hostname = hostname; + return this; + } + + /** + * @param hostname The host name prefix of the sub computing node + * + * @return builder + * + */ + public Builder hostname(String hostname) { + return hostname(Output.of(hostname)); + } + + /** + * @param hpnZone Number of the cluster to which the hyper computing node belongs * * @return builder * @@ -237,7 +414,7 @@ public Builder hpnZone(@Nullable Output hpnZone) { } /** - * @param hpnZone Number of the cluster to which the supercompute node belongs + * @param hpnZone Number of the cluster to which the hyper computing node belongs * * @return builder * @@ -247,7 +424,28 @@ public Builder hpnZone(String hpnZone) { } /** - * @param machineType The model used by the super computing node + * @param loginPassword Login Password of the sub computing node + * + * @return builder + * + */ + public Builder loginPassword(@Nullable Output loginPassword) { + $.loginPassword = loginPassword; + return this; + } + + /** + * @param loginPassword Login Password of the sub computing node + * + * @return builder + * + */ + public Builder loginPassword(String loginPassword) { + return loginPassword(Output.of(loginPassword)); + } + + /** + * @param machineType The model used by the hyper computing node * * @return builder * @@ -258,7 +456,7 @@ public Builder machineType(@Nullable Output machineType) { } /** - * @param machineType The model used by the super computing node + * @param machineType The model used by the hyper computing node * * @return builder * @@ -267,6 +465,27 @@ public Builder machineType(String machineType) { return machineType(Output.of(machineType)); } + /** + * @param nodeGroupId Node group ID + * + * @return builder + * + */ + public Builder nodeGroupId(@Nullable Output nodeGroupId) { + $.nodeGroupId = nodeGroupId; + return this; + } + + /** + * @param nodeGroupId Node group ID + * + * @return builder + * + */ + public Builder nodeGroupId(String nodeGroupId) { + return nodeGroupId(Output.of(nodeGroupId)); + } + /** * @param paymentDuration The duration of the instance purchase, in units. * @@ -377,7 +596,7 @@ public Builder resourceGroupId(String resourceGroupId) { } /** - * @param serverArch Super Node Architecture + * @param serverArch Hyper Node Architecture * * @return builder * @@ -388,7 +607,7 @@ public Builder serverArch(@Nullable Output serverArch) { } /** - * @param serverArch Super Node Architecture + * @param serverArch Hyper Node Architecture * * @return builder * @@ -398,7 +617,7 @@ public Builder serverArch(String serverArch) { } /** - * @param stageNum The number of installments of the supercomputing node of the fixed fee installment. + * @param stageNum The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -411,7 +630,7 @@ public Builder stageNum(@Nullable Output stageNum) { } /** - * @param stageNum The number of installments of the supercomputing node of the fixed fee installment. + * @param stageNum The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -444,7 +663,70 @@ public Builder tags(Map tags) { } /** - * @param zoneId The zone where the super compute node is located + * @param userData Custom user data for the sub computing node + * + * @return builder + * + */ + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + /** + * @param userData Custom user data for the sub computing node + * + * @return builder + * + */ + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + /** + * @param vpcId The ID of the vpc to which the sub computing node + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The ID of the vpc to which the sub computing node + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The ID of the vswitch to which the sub computing node + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The ID of the vswitch to which the sub computing node + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param zoneId The zone where the hyper compute node is located * * @return builder * @@ -455,7 +737,7 @@ public Builder zoneId(@Nullable Output zoneId) { } /** - * @param zoneId The zone where the super compute node is located + * @param zoneId The zone where the hyper compute node is located * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Node.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Node.java index a5a461b0da..f144d6767a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Node.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Node.java @@ -6,6 +6,8 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.eflo.NodeArgs; import com.pulumi.alicloud.eflo.inputs.NodeState; +import com.pulumi.alicloud.eflo.outputs.NodeDataDisk; +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicy; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -13,74 +15,12 @@ import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; /** - * Provides a Eflo Node resource. - * - * Large computing node. - * - * For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). - * - * > **NOTE:** Available since v1.246.0. - * - * ## Example Usage - * - * Basic Usage - * - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
- * import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
- * import com.pulumi.alicloud.eflo.Node;
- * import com.pulumi.alicloud.eflo.NodeArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         final var config = ctx.config();
- *         final var name = config.get("name").orElse("terraform-example");
- *         final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
- *             .build());
- * 
- *         var defaultNode = new Node("defaultNode", NodeArgs.builder()
- *             .period(36)
- *             .discountLevel("36")
- *             .billingCycle("1month")
- *             .classify("gpuserver")
- *             .zone("cn-hangzhou-b")
- *             .productForm("instance")
- *             .paymentRatio("0")
- *             .hpnZone("B1")
- *             .serverArch("bmserver")
- *             .computingServer("efg1.nvga1n")
- *             .stageNum("36")
- *             .renewalStatus("AutoRenewal")
- *             .renewPeriod(36)
- *             .status("Unused")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * * ## Import * * Eflo Node can be imported using the id, e.g. @@ -95,6 +35,8 @@ public class Node extends com.pulumi.resources.CustomResource { /** * Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="billingCycle", refs={String.class}, tree="[0]") private Output billingCycle; @@ -102,6 +44,8 @@ public class Node extends com.pulumi.resources.CustomResource { /** * @return Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> billingCycle() { return Codegen.optional(this.billingCycle); @@ -109,6 +53,8 @@ public Output> billingCycle() { /** * Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="classify", refs={String.class}, tree="[0]") private Output classify; @@ -116,12 +62,28 @@ public Output> billingCycle() { /** * @return Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> classify() { return Codegen.optional(this.classify); } /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + * + */ + @Export(name="clusterId", refs={String.class}, tree="[0]") + private Output clusterId; + + /** + * @return Cluster id + * + */ + public Output clusterId() { + return this.clusterId; + } + /** + * Node Model * * @deprecated * Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. @@ -132,7 +94,7 @@ public Output> classify() { private Output computingServer; /** - * @return Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @return Node Model * */ public Output computingServer() { @@ -152,9 +114,25 @@ public Output computingServer() { public Output createTime() { return this.createTime; } + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + @Export(name="dataDisks", refs={List.class,NodeDataDisk.class}, tree="[0,1]") + private Output> dataDisks; + + /** + * @return The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + public Output> dataDisks() { + return this.dataDisks; + } /** * Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="discountLevel", refs={String.class}, tree="[0]") private Output discountLevel; @@ -162,10 +140,26 @@ public Output createTime() { /** * @return Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> discountLevel() { return Codegen.optional(this.discountLevel); } + /** + * Host name + * + */ + @Export(name="hostname", refs={String.class}, tree="[0]") + private Output hostname; + + /** + * @return Host name + * + */ + public Output hostname() { + return this.hostname; + } /** * Cluster Number * @@ -194,6 +188,34 @@ public Output> hpnZone() { public Output> installPai() { return Codegen.optional(this.installPai); } + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + @Export(name="ipAllocationPolicies", refs={List.class,NodeIpAllocationPolicy.class}, tree="[0,1]") + private Output> ipAllocationPolicies; + + /** + * @return IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + public Output>> ipAllocationPolicies() { + return Codegen.optional(this.ipAllocationPolicies); + } + /** + * Login Password + * + */ + @Export(name="loginPassword", refs={String.class}, tree="[0]") + private Output loginPassword; + + /** + * @return Login Password + * + */ + public Output> loginPassword() { + return Codegen.optional(this.loginPassword); + } /** * Model * @@ -208,9 +230,39 @@ public Output> installPai() { public Output machineType() { return this.machineType; } + /** + * node group id + * + */ + @Export(name="nodeGroupId", refs={String.class}, tree="[0]") + private Output nodeGroupId; + + /** + * @return node group id + * + */ + public Output nodeGroupId() { + return this.nodeGroupId; + } + /** + * node type + * + */ + @Export(name="nodeType", refs={String.class}, tree="[0]") + private Output nodeType; + + /** + * @return node type + * + */ + public Output nodeType() { + return this.nodeType; + } /** * Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="paymentRatio", refs={String.class}, tree="[0]") private Output paymentRatio; @@ -218,6 +270,8 @@ public Output machineType() { /** * @return Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> paymentRatio() { return Codegen.optional(this.paymentRatio); @@ -241,6 +295,8 @@ public Output paymentType() { /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="period", refs={Integer.class}, tree="[0]") private Output period; @@ -248,6 +304,8 @@ public Output paymentType() { /** * @return Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> period() { return Codegen.optional(this.period); @@ -255,6 +313,8 @@ public Output> period() { /** * Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="productForm", refs={String.class}, tree="[0]") private Output productForm; @@ -262,6 +322,8 @@ public Output> period() { /** * @return Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> productForm() { return Codegen.optional(this.productForm); @@ -337,6 +399,8 @@ public Output resourceGroupId() { /** * Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="serverArch", refs={String.class}, tree="[0]") private Output serverArch; @@ -344,6 +408,8 @@ public Output resourceGroupId() { /** * @return Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> serverArch() { return Codegen.optional(this.serverArch); @@ -351,6 +417,8 @@ public Output> serverArch() { /** * Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="stageNum", refs={String.class}, tree="[0]") private Output stageNum; @@ -358,6 +426,8 @@ public Output> serverArch() { /** * @return Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> stageNum() { return Codegen.optional(this.stageNum); @@ -390,6 +460,48 @@ public Output status() { public Output>> tags() { return Codegen.optional(this.tags); } + /** + * Custom Data + * + */ + @Export(name="userData", refs={String.class}, tree="[0]") + private Output userData; + + /** + * @return Custom Data + * + */ + public Output userData() { + return this.userData; + } + /** + * VPC ID + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return VPC ID + * + */ + public Output vpcId() { + return this.vpcId; + } + /** + * Switch ID + * + */ + @Export(name="vswitchId", refs={String.class}, tree="[0]") + private Output vswitchId; + + /** + * @return Switch ID + * + */ + public Output vswitchId() { + return this.vswitchId; + } /** * Availability Zone * @@ -444,6 +556,9 @@ private static NodeArgs makeArgs(@Nullable NodeArgs args, @Nullable com.pulumi.r private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "loginPassword" + )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeArgs.java index 7ba9e67dcd..ea938ccffc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeArgs.java @@ -3,11 +3,14 @@ package com.pulumi.alicloud.eflo; +import com.pulumi.alicloud.eflo.inputs.NodeDataDiskArgs; +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -21,6 +24,8 @@ public final class NodeArgs extends com.pulumi.resources.ResourceArgs { /** * Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="billingCycle") private @Nullable Output billingCycle; @@ -28,6 +33,8 @@ public final class NodeArgs extends com.pulumi.resources.ResourceArgs { /** * @return Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> billingCycle() { return Optional.ofNullable(this.billingCycle); @@ -36,6 +43,8 @@ public Optional> billingCycle() { /** * Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="classify") private @Nullable Output classify; @@ -43,13 +52,30 @@ public Optional> billingCycle() { /** * @return Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> classify() { return Optional.ofNullable(this.classify); } /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return Cluster id + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + /** + * Node Model * * @deprecated * Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. @@ -60,7 +86,7 @@ public Optional> classify() { private @Nullable Output computingServer; /** - * @return Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @return Node Model * * @deprecated * Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. @@ -71,9 +97,26 @@ public Optional> computingServer() { return Optional.ofNullable(this.computingServer); } + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + /** + * @return The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + /** * Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="discountLevel") private @Nullable Output discountLevel; @@ -81,11 +124,28 @@ public Optional> computingServer() { /** * @return Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> discountLevel() { return Optional.ofNullable(this.discountLevel); } + /** + * Host name + * + */ + @Import(name="hostname") + private @Nullable Output hostname; + + /** + * @return Host name + * + */ + public Optional> hostname() { + return Optional.ofNullable(this.hostname); + } + /** * Cluster Number * @@ -116,6 +176,36 @@ public Optional> installPai() { return Optional.ofNullable(this.installPai); } + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + @Import(name="ipAllocationPolicies") + private @Nullable Output> ipAllocationPolicies; + + /** + * @return IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + public Optional>> ipAllocationPolicies() { + return Optional.ofNullable(this.ipAllocationPolicies); + } + + /** + * Login Password + * + */ + @Import(name="loginPassword") + private @Nullable Output loginPassword; + + /** + * @return Login Password + * + */ + public Optional> loginPassword() { + return Optional.ofNullable(this.loginPassword); + } + /** * Model * @@ -131,9 +221,41 @@ public Optional> machineType() { return Optional.ofNullable(this.machineType); } + /** + * node group id + * + */ + @Import(name="nodeGroupId") + private @Nullable Output nodeGroupId; + + /** + * @return node group id + * + */ + public Optional> nodeGroupId() { + return Optional.ofNullable(this.nodeGroupId); + } + + /** + * node type + * + */ + @Import(name="nodeType") + private @Nullable Output nodeType; + + /** + * @return node type + * + */ + public Optional> nodeType() { + return Optional.ofNullable(this.nodeType); + } + /** * Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="paymentRatio") private @Nullable Output paymentRatio; @@ -141,6 +263,8 @@ public Optional> machineType() { /** * @return Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> paymentRatio() { return Optional.ofNullable(this.paymentRatio); @@ -166,6 +290,8 @@ public Optional> paymentType() { /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="period") private @Nullable Output period; @@ -173,6 +299,8 @@ public Optional> paymentType() { /** * @return Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> period() { return Optional.ofNullable(this.period); @@ -181,6 +309,8 @@ public Optional> period() { /** * Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="productForm") private @Nullable Output productForm; @@ -188,6 +318,8 @@ public Optional> period() { /** * @return Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> productForm() { return Optional.ofNullable(this.productForm); @@ -253,6 +385,8 @@ public Optional> resourceGroupId() { /** * Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="serverArch") private @Nullable Output serverArch; @@ -260,6 +394,8 @@ public Optional> resourceGroupId() { /** * @return Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> serverArch() { return Optional.ofNullable(this.serverArch); @@ -268,6 +404,8 @@ public Optional> serverArch() { /** * Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="stageNum") private @Nullable Output stageNum; @@ -275,6 +413,8 @@ public Optional> serverArch() { /** * @return Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> stageNum() { return Optional.ofNullable(this.stageNum); @@ -310,6 +450,51 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Custom Data + * + */ + @Import(name="userData") + private @Nullable Output userData; + + /** + * @return Custom Data + * + */ + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + /** + * VPC ID + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return VPC ID + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * Switch ID + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return Switch ID + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + /** * Availability Zone * @@ -330,11 +515,18 @@ private NodeArgs() {} private NodeArgs(NodeArgs $) { this.billingCycle = $.billingCycle; this.classify = $.classify; + this.clusterId = $.clusterId; this.computingServer = $.computingServer; + this.dataDisks = $.dataDisks; this.discountLevel = $.discountLevel; + this.hostname = $.hostname; this.hpnZone = $.hpnZone; this.installPai = $.installPai; + this.ipAllocationPolicies = $.ipAllocationPolicies; + this.loginPassword = $.loginPassword; this.machineType = $.machineType; + this.nodeGroupId = $.nodeGroupId; + this.nodeType = $.nodeType; this.paymentRatio = $.paymentRatio; this.paymentType = $.paymentType; this.period = $.period; @@ -346,6 +538,9 @@ private NodeArgs(NodeArgs $) { this.stageNum = $.stageNum; this.status = $.status; this.tags = $.tags; + this.userData = $.userData; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; this.zone = $.zone; } @@ -370,6 +565,8 @@ public Builder(NodeArgs defaults) { /** * @param billingCycle Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -381,6 +578,8 @@ public Builder billingCycle(@Nullable Output billingCycle) { /** * @param billingCycle Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -391,6 +590,8 @@ public Builder billingCycle(String billingCycle) { /** * @param classify Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -402,6 +603,8 @@ public Builder classify(@Nullable Output classify) { /** * @param classify Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -410,7 +613,28 @@ public Builder classify(String classify) { } /** - * @param computingServer Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @param clusterId Cluster id + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Cluster id + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param computingServer Node Model * * @return builder * @@ -425,7 +649,7 @@ public Builder computingServer(@Nullable Output computingServer) { } /** - * @param computingServer Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @param computingServer Node Model * * @return builder * @@ -438,9 +662,42 @@ public Builder computingServer(String computingServer) { return computingServer(Output.of(computingServer)); } + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(NodeDataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + /** * @param discountLevel Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -452,6 +709,8 @@ public Builder discountLevel(@Nullable Output discountLevel) { /** * @param discountLevel Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -459,6 +718,27 @@ public Builder discountLevel(String discountLevel) { return discountLevel(Output.of(discountLevel)); } + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(@Nullable Output hostname) { + $.hostname = hostname; + return this; + } + + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(String hostname) { + return hostname(Output.of(hostname)); + } + /** * @param hpnZone Cluster Number * @@ -501,6 +781,58 @@ public Builder installPai(Boolean installPai) { return installPai(Output.of(installPai)); } + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(@Nullable Output> ipAllocationPolicies) { + $.ipAllocationPolicies = ipAllocationPolicies; + return this; + } + + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(List ipAllocationPolicies) { + return ipAllocationPolicies(Output.of(ipAllocationPolicies)); + } + + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(NodeIpAllocationPolicyArgs... ipAllocationPolicies) { + return ipAllocationPolicies(List.of(ipAllocationPolicies)); + } + + /** + * @param loginPassword Login Password + * + * @return builder + * + */ + public Builder loginPassword(@Nullable Output loginPassword) { + $.loginPassword = loginPassword; + return this; + } + + /** + * @param loginPassword Login Password + * + * @return builder + * + */ + public Builder loginPassword(String loginPassword) { + return loginPassword(Output.of(loginPassword)); + } + /** * @param machineType Model * @@ -522,9 +854,53 @@ public Builder machineType(String machineType) { return machineType(Output.of(machineType)); } + /** + * @param nodeGroupId node group id + * + * @return builder + * + */ + public Builder nodeGroupId(@Nullable Output nodeGroupId) { + $.nodeGroupId = nodeGroupId; + return this; + } + + /** + * @param nodeGroupId node group id + * + * @return builder + * + */ + public Builder nodeGroupId(String nodeGroupId) { + return nodeGroupId(Output.of(nodeGroupId)); + } + + /** + * @param nodeType node type + * + * @return builder + * + */ + public Builder nodeType(@Nullable Output nodeType) { + $.nodeType = nodeType; + return this; + } + + /** + * @param nodeType node type + * + * @return builder + * + */ + public Builder nodeType(String nodeType) { + return nodeType(Output.of(nodeType)); + } + /** * @param paymentRatio Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -536,6 +912,8 @@ public Builder paymentRatio(@Nullable Output paymentRatio) { /** * @param paymentRatio Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -569,6 +947,8 @@ public Builder paymentType(String paymentType) { /** * @param period Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -580,6 +960,8 @@ public Builder period(@Nullable Output period) { /** * @param period Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -590,6 +972,8 @@ public Builder period(Integer period) { /** * @param productForm Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -601,6 +985,8 @@ public Builder productForm(@Nullable Output productForm) { /** * @param productForm Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -686,6 +1072,8 @@ public Builder resourceGroupId(String resourceGroupId) { /** * @param serverArch Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -697,6 +1085,8 @@ public Builder serverArch(@Nullable Output serverArch) { /** * @param serverArch Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -707,6 +1097,8 @@ public Builder serverArch(String serverArch) { /** * @param stageNum Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -718,6 +1110,8 @@ public Builder stageNum(@Nullable Output stageNum) { /** * @param stageNum Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -767,6 +1161,69 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param userData Custom Data + * + * @return builder + * + */ + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + /** + * @param userData Custom Data + * + * @return builder + * + */ + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + /** + * @param vpcId VPC ID + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId VPC ID + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId Switch ID + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId Switch ID + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + /** * @param zone Availability Zone * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroup.java index 9def95685b..b3ade27957 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroup.java @@ -227,6 +227,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Node Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroupAttachment.java index f088163fdf..0958accf3f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/NodeGroupAttachment.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Node Group Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Subnet.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Subnet.java index 85d61ca0e0..716742e302 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Subnet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Subnet.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Subnet can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vpd.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vpd.java index f3ce5292ab..7b0023b87b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vpd.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vpd.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vpd can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/VpdGrantRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/VpdGrantRule.java index 9e7f364623..109a5c5f1d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/VpdGrantRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/VpdGrantRule.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vpd Grant Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vsc.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vsc.java index 5e0d0e2202..143ff692c5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vsc.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/Vsc.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vsc can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeDataDiskArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeDataDiskArgs.java new file mode 100644 index 0000000000..febb0fae44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeDataDiskArgs.java @@ -0,0 +1,282 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HyperNodeDataDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final HyperNodeDataDiskArgs Empty = new HyperNodeDataDiskArgs(); + + /** + * Whether to enable Burst (performance Burst). + * + */ + @Import(name="burstingEnabled") + private @Nullable Output burstingEnabled; + + /** + * @return Whether to enable Burst (performance Burst). + * + */ + public Optional> burstingEnabled() { + return Optional.ofNullable(this.burstingEnabled); + } + + /** + * The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + */ + @Import(name="category") + private @Nullable Output category; + + /** + * @return The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + */ + public Optional> category() { + return Optional.ofNullable(this.category); + } + + /** + * Whether the data disk is unsubscribed and deleted with the node. + * + */ + @Import(name="deleteWithNode") + private @Nullable Output deleteWithNode; + + /** + * @return Whether the data disk is unsubscribed and deleted with the node. + * + */ + public Optional> deleteWithNode() { + return Optional.ofNullable(this.deleteWithNode); + } + + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + */ + @Import(name="performanceLevel") + private @Nullable Output performanceLevel; + + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + */ + public Optional> performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + + /** + * ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + */ + @Import(name="provisionedIops") + private @Nullable Output provisionedIops; + + /** + * @return ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + */ + public Optional> provisionedIops() { + return Optional.ofNullable(this.provisionedIops); + } + + /** + * The size of the disk. The unit is GiB. + * + */ + @Import(name="size") + private @Nullable Output size; + + /** + * @return The size of the disk. The unit is GiB. + * + */ + public Optional> size() { + return Optional.ofNullable(this.size); + } + + private HyperNodeDataDiskArgs() {} + + private HyperNodeDataDiskArgs(HyperNodeDataDiskArgs $) { + this.burstingEnabled = $.burstingEnabled; + this.category = $.category; + this.deleteWithNode = $.deleteWithNode; + this.performanceLevel = $.performanceLevel; + this.provisionedIops = $.provisionedIops; + this.size = $.size; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HyperNodeDataDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HyperNodeDataDiskArgs $; + + public Builder() { + $ = new HyperNodeDataDiskArgs(); + } + + public Builder(HyperNodeDataDiskArgs defaults) { + $ = new HyperNodeDataDiskArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param burstingEnabled Whether to enable Burst (performance Burst). + * + * @return builder + * + */ + public Builder burstingEnabled(@Nullable Output burstingEnabled) { + $.burstingEnabled = burstingEnabled; + return this; + } + + /** + * @param burstingEnabled Whether to enable Burst (performance Burst). + * + * @return builder + * + */ + public Builder burstingEnabled(Boolean burstingEnabled) { + return burstingEnabled(Output.of(burstingEnabled)); + } + + /** + * @param category The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + * @return builder + * + */ + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + /** + * @param category The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param deleteWithNode Whether the data disk is unsubscribed and deleted with the node. + * + * @return builder + * + */ + public Builder deleteWithNode(@Nullable Output deleteWithNode) { + $.deleteWithNode = deleteWithNode; + return this; + } + + /** + * @param deleteWithNode Whether the data disk is unsubscribed and deleted with the node. + * + * @return builder + * + */ + public Builder deleteWithNode(Boolean deleteWithNode) { + return deleteWithNode(Output.of(deleteWithNode)); + } + + /** + * @param performanceLevel When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + * @return builder + * + */ + public Builder performanceLevel(@Nullable Output performanceLevel) { + $.performanceLevel = performanceLevel; + return this; + } + + /** + * @param performanceLevel When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + * @return builder + * + */ + public Builder performanceLevel(String performanceLevel) { + return performanceLevel(Output.of(performanceLevel)); + } + + /** + * @param provisionedIops ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + * @return builder + * + */ + public Builder provisionedIops(@Nullable Output provisionedIops) { + $.provisionedIops = provisionedIops; + return this; + } + + /** + * @param provisionedIops ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + * @return builder + * + */ + public Builder provisionedIops(Integer provisionedIops) { + return provisionedIops(Output.of(provisionedIops)); + } + + /** + * @param size The size of the disk. The unit is GiB. + * + * @return builder + * + */ + public Builder size(@Nullable Output size) { + $.size = size; + return this; + } + + /** + * @param size The size of the disk. The unit is GiB. + * + * @return builder + * + */ + public Builder size(Integer size) { + return size(Output.of(size)); + } + + public HyperNodeDataDiskArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeState.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeState.java index 53e73d3202..6ff291e07f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/HyperNodeState.java @@ -3,10 +3,12 @@ package com.pulumi.alicloud.eflo.inputs; +import com.pulumi.alicloud.eflo.inputs.HyperNodeDataDiskArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -17,6 +19,21 @@ public final class HyperNodeState extends com.pulumi.resources.ResourceArgs { public static final HyperNodeState Empty = new HyperNodeState(); + /** + * Cluster ID + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return Cluster ID + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + /** * The creation time of the resource * @@ -32,15 +49,37 @@ public Optional> createTime() { return Optional.ofNullable(this.createTime); } + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + /** - * Number of the cluster to which the supercompute node belongs + * The host name prefix of the sub computing node + * + */ + @Import(name="hostname") + private @Nullable Output hostname; + + /** + * @return The host name prefix of the sub computing node + * + */ + public Optional> hostname() { + return Optional.ofNullable(this.hostname); + } + + /** + * Number of the cluster to which the hyper computing node belongs * */ @Import(name="hpnZone") private @Nullable Output hpnZone; /** - * @return Number of the cluster to which the supercompute node belongs + * @return Number of the cluster to which the hyper computing node belongs * */ public Optional> hpnZone() { @@ -48,20 +87,50 @@ public Optional> hpnZone() { } /** - * The model used by the super computing node + * Login Password of the sub computing node + * + */ + @Import(name="loginPassword") + private @Nullable Output loginPassword; + + /** + * @return Login Password of the sub computing node + * + */ + public Optional> loginPassword() { + return Optional.ofNullable(this.loginPassword); + } + + /** + * The model used by the hyper computing node * */ @Import(name="machineType") private @Nullable Output machineType; /** - * @return The model used by the super computing node + * @return The model used by the hyper computing node * */ public Optional> machineType() { return Optional.ofNullable(this.machineType); } + /** + * Node group ID + * + */ + @Import(name="nodeGroupId") + private @Nullable Output nodeGroupId; + + /** + * @return Node group ID + * + */ + public Optional> nodeGroupId() { + return Optional.ofNullable(this.nodeGroupId); + } + /** * The duration of the instance purchase, in units. * @@ -157,14 +226,14 @@ public Optional> resourceGroupId() { } /** - * Super Node Architecture + * Hyper Node Architecture * */ @Import(name="serverArch") private @Nullable Output serverArch; /** - * @return Super Node Architecture + * @return Hyper Node Architecture * */ public Optional> serverArch() { @@ -172,7 +241,7 @@ public Optional> serverArch() { } /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -181,7 +250,7 @@ public Optional> serverArch() { private @Nullable Output stageNum; /** - * @return The number of installments of the supercomputing node of the fixed fee installment. + * @return The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -221,14 +290,59 @@ public Optional>> tags() { } /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + * + */ + @Import(name="userData") + private @Nullable Output userData; + + /** + * @return Custom user data for the sub computing node + * + */ + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + /** + * The ID of the vpc to which the sub computing node + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The ID of the vpc to which the sub computing node + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The ID of the vswitch to which the sub computing node + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The ID of the vswitch to which the sub computing node + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + /** + * The zone where the hyper compute node is located * */ @Import(name="zoneId") private @Nullable Output zoneId; /** - * @return The zone where the super compute node is located + * @return The zone where the hyper compute node is located * */ public Optional> zoneId() { @@ -238,9 +352,14 @@ public Optional> zoneId() { private HyperNodeState() {} private HyperNodeState(HyperNodeState $) { + this.clusterId = $.clusterId; this.createTime = $.createTime; + this.dataDisks = $.dataDisks; + this.hostname = $.hostname; this.hpnZone = $.hpnZone; + this.loginPassword = $.loginPassword; this.machineType = $.machineType; + this.nodeGroupId = $.nodeGroupId; this.paymentDuration = $.paymentDuration; this.paymentType = $.paymentType; this.regionId = $.regionId; @@ -251,6 +370,9 @@ private HyperNodeState(HyperNodeState $) { this.stageNum = $.stageNum; this.status = $.status; this.tags = $.tags; + this.userData = $.userData; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; this.zoneId = $.zoneId; } @@ -272,6 +394,27 @@ public Builder(HyperNodeState defaults) { $ = new HyperNodeState(Objects.requireNonNull(defaults)); } + /** + * @param clusterId Cluster ID + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Cluster ID + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + /** * @param createTime The creation time of the resource * @@ -293,8 +436,42 @@ public Builder createTime(String createTime) { return createTime(Output.of(createTime)); } + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + public Builder dataDisks(HyperNodeDataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + + /** + * @param hostname The host name prefix of the sub computing node + * + * @return builder + * + */ + public Builder hostname(@Nullable Output hostname) { + $.hostname = hostname; + return this; + } + /** - * @param hpnZone Number of the cluster to which the supercompute node belongs + * @param hostname The host name prefix of the sub computing node + * + * @return builder + * + */ + public Builder hostname(String hostname) { + return hostname(Output.of(hostname)); + } + + /** + * @param hpnZone Number of the cluster to which the hyper computing node belongs * * @return builder * @@ -305,7 +482,7 @@ public Builder hpnZone(@Nullable Output hpnZone) { } /** - * @param hpnZone Number of the cluster to which the supercompute node belongs + * @param hpnZone Number of the cluster to which the hyper computing node belongs * * @return builder * @@ -315,7 +492,28 @@ public Builder hpnZone(String hpnZone) { } /** - * @param machineType The model used by the super computing node + * @param loginPassword Login Password of the sub computing node + * + * @return builder + * + */ + public Builder loginPassword(@Nullable Output loginPassword) { + $.loginPassword = loginPassword; + return this; + } + + /** + * @param loginPassword Login Password of the sub computing node + * + * @return builder + * + */ + public Builder loginPassword(String loginPassword) { + return loginPassword(Output.of(loginPassword)); + } + + /** + * @param machineType The model used by the hyper computing node * * @return builder * @@ -326,7 +524,7 @@ public Builder machineType(@Nullable Output machineType) { } /** - * @param machineType The model used by the super computing node + * @param machineType The model used by the hyper computing node * * @return builder * @@ -335,6 +533,27 @@ public Builder machineType(String machineType) { return machineType(Output.of(machineType)); } + /** + * @param nodeGroupId Node group ID + * + * @return builder + * + */ + public Builder nodeGroupId(@Nullable Output nodeGroupId) { + $.nodeGroupId = nodeGroupId; + return this; + } + + /** + * @param nodeGroupId Node group ID + * + * @return builder + * + */ + public Builder nodeGroupId(String nodeGroupId) { + return nodeGroupId(Output.of(nodeGroupId)); + } + /** * @param paymentDuration The duration of the instance purchase, in units. * @@ -466,7 +685,7 @@ public Builder resourceGroupId(String resourceGroupId) { } /** - * @param serverArch Super Node Architecture + * @param serverArch Hyper Node Architecture * * @return builder * @@ -477,7 +696,7 @@ public Builder serverArch(@Nullable Output serverArch) { } /** - * @param serverArch Super Node Architecture + * @param serverArch Hyper Node Architecture * * @return builder * @@ -487,7 +706,7 @@ public Builder serverArch(String serverArch) { } /** - * @param stageNum The number of installments of the supercomputing node of the fixed fee installment. + * @param stageNum The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -500,7 +719,7 @@ public Builder stageNum(@Nullable Output stageNum) { } /** - * @param stageNum The number of installments of the supercomputing node of the fixed fee installment. + * @param stageNum The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -554,7 +773,70 @@ public Builder tags(Map tags) { } /** - * @param zoneId The zone where the super compute node is located + * @param userData Custom user data for the sub computing node + * + * @return builder + * + */ + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + /** + * @param userData Custom user data for the sub computing node + * + * @return builder + * + */ + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + /** + * @param vpcId The ID of the vpc to which the sub computing node + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The ID of the vpc to which the sub computing node + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The ID of the vswitch to which the sub computing node + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The ID of the vswitch to which the sub computing node + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param zoneId The zone where the hyper compute node is located * * @return builder * @@ -565,7 +847,7 @@ public Builder zoneId(@Nullable Output zoneId) { } /** - * @param zoneId The zone where the super compute node is located + * @param zoneId The zone where the hyper compute node is located * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeDataDiskArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeDataDiskArgs.java new file mode 100644 index 0000000000..0428ed33a0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeDataDiskArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeDataDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeDataDiskArgs Empty = new NodeDataDiskArgs(); + + /** + * Data disk type + * + */ + @Import(name="category") + private @Nullable Output category; + + /** + * @return Data disk type + * + */ + public Optional> category() { + return Optional.ofNullable(this.category); + } + + /** + * Performance level + * + */ + @Import(name="performanceLevel") + private @Nullable Output performanceLevel; + + /** + * @return Performance level + * + */ + public Optional> performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + + /** + * Data disk size + * + */ + @Import(name="size") + private @Nullable Output size; + + /** + * @return Data disk size + * + */ + public Optional> size() { + return Optional.ofNullable(this.size); + } + + private NodeDataDiskArgs() {} + + private NodeDataDiskArgs(NodeDataDiskArgs $) { + this.category = $.category; + this.performanceLevel = $.performanceLevel; + this.size = $.size; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeDataDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeDataDiskArgs $; + + public Builder() { + $ = new NodeDataDiskArgs(); + } + + public Builder(NodeDataDiskArgs defaults) { + $ = new NodeDataDiskArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param category Data disk type + * + * @return builder + * + */ + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + /** + * @param category Data disk type + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param performanceLevel Performance level + * + * @return builder + * + */ + public Builder performanceLevel(@Nullable Output performanceLevel) { + $.performanceLevel = performanceLevel; + return this; + } + + /** + * @param performanceLevel Performance level + * + * @return builder + * + */ + public Builder performanceLevel(String performanceLevel) { + return performanceLevel(Output.of(performanceLevel)); + } + + /** + * @param size Data disk size + * + * @return builder + * + */ + public Builder size(@Nullable Output size) { + $.size = size; + return this; + } + + /** + * @param size Data disk size + * + * @return builder + * + */ + public Builder size(Integer size) { + return size(Output.of(size)); + } + + public NodeDataDiskArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyArgs.java new file mode 100644 index 0000000000..1364b38c71 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyArgs.java @@ -0,0 +1,180 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyBondPolicyArgs; +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyMachineTypePolicyArgs; +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyNodePolicyArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyArgs Empty = new NodeIpAllocationPolicyArgs(); + + /** + * Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + */ + @Import(name="bondPolicy") + private @Nullable Output bondPolicy; + + /** + * @return Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + */ + public Optional> bondPolicy() { + return Optional.ofNullable(this.bondPolicy); + } + + /** + * Model Assignment Policy See `machineTypePolicy` below. + * + */ + @Import(name="machineTypePolicies") + private @Nullable Output> machineTypePolicies; + + /** + * @return Model Assignment Policy See `machineTypePolicy` below. + * + */ + public Optional>> machineTypePolicies() { + return Optional.ofNullable(this.machineTypePolicies); + } + + /** + * Node allocation policy See `nodePolicy` below. + * + */ + @Import(name="nodePolicies") + private @Nullable Output> nodePolicies; + + /** + * @return Node allocation policy See `nodePolicy` below. + * + */ + public Optional>> nodePolicies() { + return Optional.ofNullable(this.nodePolicies); + } + + private NodeIpAllocationPolicyArgs() {} + + private NodeIpAllocationPolicyArgs(NodeIpAllocationPolicyArgs $) { + this.bondPolicy = $.bondPolicy; + this.machineTypePolicies = $.machineTypePolicies; + this.nodePolicies = $.nodePolicies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyArgs(); + } + + public Builder(NodeIpAllocationPolicyArgs defaults) { + $ = new NodeIpAllocationPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bondPolicy Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + * @return builder + * + */ + public Builder bondPolicy(@Nullable Output bondPolicy) { + $.bondPolicy = bondPolicy; + return this; + } + + /** + * @param bondPolicy Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + * @return builder + * + */ + public Builder bondPolicy(NodeIpAllocationPolicyBondPolicyArgs bondPolicy) { + return bondPolicy(Output.of(bondPolicy)); + } + + /** + * @param machineTypePolicies Model Assignment Policy See `machineTypePolicy` below. + * + * @return builder + * + */ + public Builder machineTypePolicies(@Nullable Output> machineTypePolicies) { + $.machineTypePolicies = machineTypePolicies; + return this; + } + + /** + * @param machineTypePolicies Model Assignment Policy See `machineTypePolicy` below. + * + * @return builder + * + */ + public Builder machineTypePolicies(List machineTypePolicies) { + return machineTypePolicies(Output.of(machineTypePolicies)); + } + + /** + * @param machineTypePolicies Model Assignment Policy See `machineTypePolicy` below. + * + * @return builder + * + */ + public Builder machineTypePolicies(NodeIpAllocationPolicyMachineTypePolicyArgs... machineTypePolicies) { + return machineTypePolicies(List.of(machineTypePolicies)); + } + + /** + * @param nodePolicies Node allocation policy See `nodePolicy` below. + * + * @return builder + * + */ + public Builder nodePolicies(@Nullable Output> nodePolicies) { + $.nodePolicies = nodePolicies; + return this; + } + + /** + * @param nodePolicies Node allocation policy See `nodePolicy` below. + * + * @return builder + * + */ + public Builder nodePolicies(List nodePolicies) { + return nodePolicies(Output.of(nodePolicies)); + } + + /** + * @param nodePolicies Node allocation policy See `nodePolicy` below. + * + * @return builder + * + */ + public Builder nodePolicies(NodeIpAllocationPolicyNodePolicyArgs... nodePolicies) { + return nodePolicies(List.of(nodePolicies)); + } + + public NodeIpAllocationPolicyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyArgs.java new file mode 100644 index 0000000000..aca661e05f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyBondPolicyBondArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyBondPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyBondPolicyArgs Empty = new NodeIpAllocationPolicyBondPolicyArgs(); + + /** + * Default bond cluster subnet + * + */ + @Import(name="bondDefaultSubnet") + private @Nullable Output bondDefaultSubnet; + + /** + * @return Default bond cluster subnet + * + */ + public Optional> bondDefaultSubnet() { + return Optional.ofNullable(this.bondDefaultSubnet); + } + + /** + * Bond information See `bonds` below. + * + */ + @Import(name="bonds") + private @Nullable Output> bonds; + + /** + * @return Bond information See `bonds` below. + * + */ + public Optional>> bonds() { + return Optional.ofNullable(this.bonds); + } + + private NodeIpAllocationPolicyBondPolicyArgs() {} + + private NodeIpAllocationPolicyBondPolicyArgs(NodeIpAllocationPolicyBondPolicyArgs $) { + this.bondDefaultSubnet = $.bondDefaultSubnet; + this.bonds = $.bonds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyBondPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyBondPolicyArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyBondPolicyArgs(); + } + + public Builder(NodeIpAllocationPolicyBondPolicyArgs defaults) { + $ = new NodeIpAllocationPolicyBondPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bondDefaultSubnet Default bond cluster subnet + * + * @return builder + * + */ + public Builder bondDefaultSubnet(@Nullable Output bondDefaultSubnet) { + $.bondDefaultSubnet = bondDefaultSubnet; + return this; + } + + /** + * @param bondDefaultSubnet Default bond cluster subnet + * + * @return builder + * + */ + public Builder bondDefaultSubnet(String bondDefaultSubnet) { + return bondDefaultSubnet(Output.of(bondDefaultSubnet)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(@Nullable Output> bonds) { + $.bonds = bonds; + return this; + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(List bonds) { + return bonds(Output.of(bonds)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(NodeIpAllocationPolicyBondPolicyBondArgs... bonds) { + return bonds(List.of(bonds)); + } + + public NodeIpAllocationPolicyBondPolicyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyBondArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyBondArgs.java new file mode 100644 index 0000000000..1458997963 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyBondPolicyBondArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyBondPolicyBondArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyBondPolicyBondArgs Empty = new NodeIpAllocationPolicyBondPolicyBondArgs(); + + /** + * Bond Name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Bond Name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * IP source cluster subnet + * + */ + @Import(name="subnet") + private @Nullable Output subnet; + + /** + * @return IP source cluster subnet + * + */ + public Optional> subnet() { + return Optional.ofNullable(this.subnet); + } + + private NodeIpAllocationPolicyBondPolicyBondArgs() {} + + private NodeIpAllocationPolicyBondPolicyBondArgs(NodeIpAllocationPolicyBondPolicyBondArgs $) { + this.name = $.name; + this.subnet = $.subnet; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyBondPolicyBondArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyBondPolicyBondArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyBondPolicyBondArgs(); + } + + public Builder(NodeIpAllocationPolicyBondPolicyBondArgs defaults) { + $ = new NodeIpAllocationPolicyBondPolicyBondArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(@Nullable Output subnet) { + $.subnet = subnet; + return this; + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(String subnet) { + return subnet(Output.of(subnet)); + } + + public NodeIpAllocationPolicyBondPolicyBondArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.java new file mode 100644 index 0000000000..d937f23445 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyMachineTypePolicyBondArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyMachineTypePolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyMachineTypePolicyArgs Empty = new NodeIpAllocationPolicyMachineTypePolicyArgs(); + + /** + * Bond information See `bonds` below. + * + */ + @Import(name="bonds") + private @Nullable Output> bonds; + + /** + * @return Bond information See `bonds` below. + * + */ + public Optional>> bonds() { + return Optional.ofNullable(this.bonds); + } + + /** + * Model + * + */ + @Import(name="machineType") + private @Nullable Output machineType; + + /** + * @return Model + * + */ + public Optional> machineType() { + return Optional.ofNullable(this.machineType); + } + + private NodeIpAllocationPolicyMachineTypePolicyArgs() {} + + private NodeIpAllocationPolicyMachineTypePolicyArgs(NodeIpAllocationPolicyMachineTypePolicyArgs $) { + this.bonds = $.bonds; + this.machineType = $.machineType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyMachineTypePolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyMachineTypePolicyArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyMachineTypePolicyArgs(); + } + + public Builder(NodeIpAllocationPolicyMachineTypePolicyArgs defaults) { + $ = new NodeIpAllocationPolicyMachineTypePolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(@Nullable Output> bonds) { + $.bonds = bonds; + return this; + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(List bonds) { + return bonds(Output.of(bonds)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(NodeIpAllocationPolicyMachineTypePolicyBondArgs... bonds) { + return bonds(List.of(bonds)); + } + + /** + * @param machineType Model + * + * @return builder + * + */ + public Builder machineType(@Nullable Output machineType) { + $.machineType = machineType; + return this; + } + + /** + * @param machineType Model + * + * @return builder + * + */ + public Builder machineType(String machineType) { + return machineType(Output.of(machineType)); + } + + public NodeIpAllocationPolicyMachineTypePolicyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.java new file mode 100644 index 0000000000..af2e4b2daf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyMachineTypePolicyBondArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyMachineTypePolicyBondArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyMachineTypePolicyBondArgs Empty = new NodeIpAllocationPolicyMachineTypePolicyBondArgs(); + + /** + * Bond Name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Bond Name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * IP source cluster subnet + * + */ + @Import(name="subnet") + private @Nullable Output subnet; + + /** + * @return IP source cluster subnet + * + */ + public Optional> subnet() { + return Optional.ofNullable(this.subnet); + } + + private NodeIpAllocationPolicyMachineTypePolicyBondArgs() {} + + private NodeIpAllocationPolicyMachineTypePolicyBondArgs(NodeIpAllocationPolicyMachineTypePolicyBondArgs $) { + this.name = $.name; + this.subnet = $.subnet; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyMachineTypePolicyBondArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyMachineTypePolicyBondArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyMachineTypePolicyBondArgs(); + } + + public Builder(NodeIpAllocationPolicyMachineTypePolicyBondArgs defaults) { + $ = new NodeIpAllocationPolicyMachineTypePolicyBondArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(@Nullable Output subnet) { + $.subnet = subnet; + return this; + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(String subnet) { + return subnet(Output.of(subnet)); + } + + public NodeIpAllocationPolicyMachineTypePolicyBondArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyArgs.java new file mode 100644 index 0000000000..0a7c12c3c0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyArgs.java @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyNodePolicyBondArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyNodePolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyNodePolicyArgs Empty = new NodeIpAllocationPolicyNodePolicyArgs(); + + /** + * Bond information See `bonds` below. + * + */ + @Import(name="bonds") + private @Nullable Output> bonds; + + /** + * @return Bond information See `bonds` below. + * + */ + public Optional>> bonds() { + return Optional.ofNullable(this.bonds); + } + + /** + * Host name + * + */ + @Import(name="hostname") + private @Nullable Output hostname; + + /** + * @return Host name + * + */ + public Optional> hostname() { + return Optional.ofNullable(this.hostname); + } + + /** + * Node ID + * + */ + @Import(name="nodeId") + private @Nullable Output nodeId; + + /** + * @return Node ID + * + */ + public Optional> nodeId() { + return Optional.ofNullable(this.nodeId); + } + + private NodeIpAllocationPolicyNodePolicyArgs() {} + + private NodeIpAllocationPolicyNodePolicyArgs(NodeIpAllocationPolicyNodePolicyArgs $) { + this.bonds = $.bonds; + this.hostname = $.hostname; + this.nodeId = $.nodeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyNodePolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyNodePolicyArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyNodePolicyArgs(); + } + + public Builder(NodeIpAllocationPolicyNodePolicyArgs defaults) { + $ = new NodeIpAllocationPolicyNodePolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(@Nullable Output> bonds) { + $.bonds = bonds; + return this; + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(List bonds) { + return bonds(Output.of(bonds)); + } + + /** + * @param bonds Bond information See `bonds` below. + * + * @return builder + * + */ + public Builder bonds(NodeIpAllocationPolicyNodePolicyBondArgs... bonds) { + return bonds(List.of(bonds)); + } + + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(@Nullable Output hostname) { + $.hostname = hostname; + return this; + } + + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(String hostname) { + return hostname(Output.of(hostname)); + } + + /** + * @param nodeId Node ID + * + * @return builder + * + */ + public Builder nodeId(@Nullable Output nodeId) { + $.nodeId = nodeId; + return this; + } + + /** + * @param nodeId Node ID + * + * @return builder + * + */ + public Builder nodeId(String nodeId) { + return nodeId(Output.of(nodeId)); + } + + public NodeIpAllocationPolicyNodePolicyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyBondArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyBondArgs.java new file mode 100644 index 0000000000..1da03133bf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeIpAllocationPolicyNodePolicyBondArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeIpAllocationPolicyNodePolicyBondArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeIpAllocationPolicyNodePolicyBondArgs Empty = new NodeIpAllocationPolicyNodePolicyBondArgs(); + + /** + * Bond Name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Bond Name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * IP source cluster subnet + * + */ + @Import(name="subnet") + private @Nullable Output subnet; + + /** + * @return IP source cluster subnet + * + */ + public Optional> subnet() { + return Optional.ofNullable(this.subnet); + } + + private NodeIpAllocationPolicyNodePolicyBondArgs() {} + + private NodeIpAllocationPolicyNodePolicyBondArgs(NodeIpAllocationPolicyNodePolicyBondArgs $) { + this.name = $.name; + this.subnet = $.subnet; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeIpAllocationPolicyNodePolicyBondArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeIpAllocationPolicyNodePolicyBondArgs $; + + public Builder() { + $ = new NodeIpAllocationPolicyNodePolicyBondArgs(); + } + + public Builder(NodeIpAllocationPolicyNodePolicyBondArgs defaults) { + $ = new NodeIpAllocationPolicyNodePolicyBondArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Bond Name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(@Nullable Output subnet) { + $.subnet = subnet; + return this; + } + + /** + * @param subnet IP source cluster subnet + * + * @return builder + * + */ + public Builder subnet(String subnet) { + return subnet(Output.of(subnet)); + } + + public NodeIpAllocationPolicyNodePolicyBondArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeState.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeState.java index 78ece5069c..45a30ddac9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/inputs/NodeState.java @@ -3,11 +3,14 @@ package com.pulumi.alicloud.eflo.inputs; +import com.pulumi.alicloud.eflo.inputs.NodeDataDiskArgs; +import com.pulumi.alicloud.eflo.inputs.NodeIpAllocationPolicyArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -21,6 +24,8 @@ public final class NodeState extends com.pulumi.resources.ResourceArgs { /** * Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="billingCycle") private @Nullable Output billingCycle; @@ -28,6 +33,8 @@ public final class NodeState extends com.pulumi.resources.ResourceArgs { /** * @return Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> billingCycle() { return Optional.ofNullable(this.billingCycle); @@ -36,6 +43,8 @@ public Optional> billingCycle() { /** * Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="classify") private @Nullable Output classify; @@ -43,13 +52,30 @@ public Optional> billingCycle() { /** * @return Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> classify() { return Optional.ofNullable(this.classify); } /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return Cluster id + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + /** + * Node Model * * @deprecated * Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. @@ -60,7 +86,7 @@ public Optional> classify() { private @Nullable Output computingServer; /** - * @return Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @return Node Model * * @deprecated * Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. @@ -86,9 +112,26 @@ public Optional> createTime() { return Optional.ofNullable(this.createTime); } + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + /** + * @return The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + */ + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + /** * Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="discountLevel") private @Nullable Output discountLevel; @@ -96,11 +139,28 @@ public Optional> createTime() { /** * @return Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> discountLevel() { return Optional.ofNullable(this.discountLevel); } + /** + * Host name + * + */ + @Import(name="hostname") + private @Nullable Output hostname; + + /** + * @return Host name + * + */ + public Optional> hostname() { + return Optional.ofNullable(this.hostname); + } + /** * Cluster Number * @@ -131,6 +191,36 @@ public Optional> installPai() { return Optional.ofNullable(this.installPai); } + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + @Import(name="ipAllocationPolicies") + private @Nullable Output> ipAllocationPolicies; + + /** + * @return IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + */ + public Optional>> ipAllocationPolicies() { + return Optional.ofNullable(this.ipAllocationPolicies); + } + + /** + * Login Password + * + */ + @Import(name="loginPassword") + private @Nullable Output loginPassword; + + /** + * @return Login Password + * + */ + public Optional> loginPassword() { + return Optional.ofNullable(this.loginPassword); + } + /** * Model * @@ -146,9 +236,41 @@ public Optional> machineType() { return Optional.ofNullable(this.machineType); } + /** + * node group id + * + */ + @Import(name="nodeGroupId") + private @Nullable Output nodeGroupId; + + /** + * @return node group id + * + */ + public Optional> nodeGroupId() { + return Optional.ofNullable(this.nodeGroupId); + } + + /** + * node type + * + */ + @Import(name="nodeType") + private @Nullable Output nodeType; + + /** + * @return node type + * + */ + public Optional> nodeType() { + return Optional.ofNullable(this.nodeType); + } + /** * Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="paymentRatio") private @Nullable Output paymentRatio; @@ -156,6 +278,8 @@ public Optional> machineType() { /** * @return Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> paymentRatio() { return Optional.ofNullable(this.paymentRatio); @@ -181,6 +305,8 @@ public Optional> paymentType() { /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="period") private @Nullable Output period; @@ -188,6 +314,8 @@ public Optional> paymentType() { /** * @return Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> period() { return Optional.ofNullable(this.period); @@ -196,6 +324,8 @@ public Optional> period() { /** * Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="productForm") private @Nullable Output productForm; @@ -203,6 +333,8 @@ public Optional> period() { /** * @return Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> productForm() { return Optional.ofNullable(this.productForm); @@ -283,6 +415,8 @@ public Optional> resourceGroupId() { /** * Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="serverArch") private @Nullable Output serverArch; @@ -290,6 +424,8 @@ public Optional> resourceGroupId() { /** * @return Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> serverArch() { return Optional.ofNullable(this.serverArch); @@ -298,6 +434,8 @@ public Optional> serverArch() { /** * Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="stageNum") private @Nullable Output stageNum; @@ -305,6 +443,8 @@ public Optional> serverArch() { /** * @return Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> stageNum() { return Optional.ofNullable(this.stageNum); @@ -340,6 +480,51 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Custom Data + * + */ + @Import(name="userData") + private @Nullable Output userData; + + /** + * @return Custom Data + * + */ + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + /** + * VPC ID + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return VPC ID + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * Switch ID + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return Switch ID + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + /** * Availability Zone * @@ -360,12 +545,19 @@ private NodeState() {} private NodeState(NodeState $) { this.billingCycle = $.billingCycle; this.classify = $.classify; + this.clusterId = $.clusterId; this.computingServer = $.computingServer; this.createTime = $.createTime; + this.dataDisks = $.dataDisks; this.discountLevel = $.discountLevel; + this.hostname = $.hostname; this.hpnZone = $.hpnZone; this.installPai = $.installPai; + this.ipAllocationPolicies = $.ipAllocationPolicies; + this.loginPassword = $.loginPassword; this.machineType = $.machineType; + this.nodeGroupId = $.nodeGroupId; + this.nodeType = $.nodeType; this.paymentRatio = $.paymentRatio; this.paymentType = $.paymentType; this.period = $.period; @@ -378,6 +570,9 @@ private NodeState(NodeState $) { this.stageNum = $.stageNum; this.status = $.status; this.tags = $.tags; + this.userData = $.userData; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; this.zone = $.zone; } @@ -402,6 +597,8 @@ public Builder(NodeState defaults) { /** * @param billingCycle Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -413,6 +610,8 @@ public Builder billingCycle(@Nullable Output billingCycle) { /** * @param billingCycle Billing cycle * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -423,6 +622,8 @@ public Builder billingCycle(String billingCycle) { /** * @param classify Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -434,6 +635,8 @@ public Builder classify(@Nullable Output classify) { /** * @param classify Classification * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -442,7 +645,28 @@ public Builder classify(String classify) { } /** - * @param computingServer Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @param clusterId Cluster id + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId Cluster id + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param computingServer Node Model * * @return builder * @@ -457,7 +681,7 @@ public Builder computingServer(@Nullable Output computingServer) { } /** - * @param computingServer Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * @param computingServer Node Model * * @return builder * @@ -491,9 +715,42 @@ public Builder createTime(String createTime) { return createTime(Output.of(createTime)); } + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + /** + * @param dataDisks The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + * + * @return builder + * + */ + public Builder dataDisks(NodeDataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + /** * @param discountLevel Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -505,6 +762,8 @@ public Builder discountLevel(@Nullable Output discountLevel) { /** * @param discountLevel Offer Information * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -512,6 +771,27 @@ public Builder discountLevel(String discountLevel) { return discountLevel(Output.of(discountLevel)); } + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(@Nullable Output hostname) { + $.hostname = hostname; + return this; + } + + /** + * @param hostname Host name + * + * @return builder + * + */ + public Builder hostname(String hostname) { + return hostname(Output.of(hostname)); + } + /** * @param hpnZone Cluster Number * @@ -554,6 +834,58 @@ public Builder installPai(Boolean installPai) { return installPai(Output.of(installPai)); } + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(@Nullable Output> ipAllocationPolicies) { + $.ipAllocationPolicies = ipAllocationPolicies; + return this; + } + + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(List ipAllocationPolicies) { + return ipAllocationPolicies(Output.of(ipAllocationPolicies)); + } + + /** + * @param ipAllocationPolicies IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + * + * @return builder + * + */ + public Builder ipAllocationPolicies(NodeIpAllocationPolicyArgs... ipAllocationPolicies) { + return ipAllocationPolicies(List.of(ipAllocationPolicies)); + } + + /** + * @param loginPassword Login Password + * + * @return builder + * + */ + public Builder loginPassword(@Nullable Output loginPassword) { + $.loginPassword = loginPassword; + return this; + } + + /** + * @param loginPassword Login Password + * + * @return builder + * + */ + public Builder loginPassword(String loginPassword) { + return loginPassword(Output.of(loginPassword)); + } + /** * @param machineType Model * @@ -575,9 +907,53 @@ public Builder machineType(String machineType) { return machineType(Output.of(machineType)); } + /** + * @param nodeGroupId node group id + * + * @return builder + * + */ + public Builder nodeGroupId(@Nullable Output nodeGroupId) { + $.nodeGroupId = nodeGroupId; + return this; + } + + /** + * @param nodeGroupId node group id + * + * @return builder + * + */ + public Builder nodeGroupId(String nodeGroupId) { + return nodeGroupId(Output.of(nodeGroupId)); + } + + /** + * @param nodeType node type + * + * @return builder + * + */ + public Builder nodeType(@Nullable Output nodeType) { + $.nodeType = nodeType; + return this; + } + + /** + * @param nodeType node type + * + * @return builder + * + */ + public Builder nodeType(String nodeType) { + return nodeType(Output.of(nodeType)); + } + /** * @param paymentRatio Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -589,6 +965,8 @@ public Builder paymentRatio(@Nullable Output paymentRatio) { /** * @param paymentRatio Down payment ratio * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -622,6 +1000,8 @@ public Builder paymentType(String paymentType) { /** * @param period Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -633,6 +1013,8 @@ public Builder period(@Nullable Output period) { /** * @param period Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -643,6 +1025,8 @@ public Builder period(Integer period) { /** * @param productForm Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -654,6 +1038,8 @@ public Builder productForm(@Nullable Output productForm) { /** * @param productForm Form * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -760,6 +1146,8 @@ public Builder resourceGroupId(String resourceGroupId) { /** * @param serverArch Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -771,6 +1159,8 @@ public Builder serverArch(@Nullable Output serverArch) { /** * @param serverArch Architecture * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -781,6 +1171,8 @@ public Builder serverArch(String serverArch) { /** * @param stageNum Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -792,6 +1184,8 @@ public Builder stageNum(@Nullable Output stageNum) { /** * @param stageNum Number of stages * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -841,6 +1235,69 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param userData Custom Data + * + * @return builder + * + */ + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + /** + * @param userData Custom Data + * + * @return builder + * + */ + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + /** + * @param vpcId VPC ID + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId VPC ID + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId Switch ID + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId Switch ID + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + /** * @param zone Availability Zone * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/HyperNodeDataDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/HyperNodeDataDisk.java new file mode 100644 index 0000000000..5a63b543e4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/HyperNodeDataDisk.java @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HyperNodeDataDisk { + /** + * @return Whether to enable Burst (performance Burst). + * + */ + private @Nullable Boolean burstingEnabled; + /** + * @return The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + */ + private @Nullable String category; + /** + * @return Whether the data disk is unsubscribed and deleted with the node. + * + */ + private @Nullable Boolean deleteWithNode; + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + */ + private @Nullable String performanceLevel; + /** + * @return ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + */ + private @Nullable Integer provisionedIops; + /** + * @return The size of the disk. The unit is GiB. + * + */ + private @Nullable Integer size; + + private HyperNodeDataDisk() {} + /** + * @return Whether to enable Burst (performance Burst). + * + */ + public Optional burstingEnabled() { + return Optional.ofNullable(this.burstingEnabled); + } + /** + * @return The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + * + */ + public Optional category() { + return Optional.ofNullable(this.category); + } + /** + * @return Whether the data disk is unsubscribed and deleted with the node. + * + */ + public Optional deleteWithNode() { + return Optional.ofNullable(this.deleteWithNode); + } + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + * + */ + public Optional performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + /** + * @return ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + * + */ + public Optional provisionedIops() { + return Optional.ofNullable(this.provisionedIops); + } + /** + * @return The size of the disk. The unit is GiB. + * + */ + public Optional size() { + return Optional.ofNullable(this.size); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HyperNodeDataDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean burstingEnabled; + private @Nullable String category; + private @Nullable Boolean deleteWithNode; + private @Nullable String performanceLevel; + private @Nullable Integer provisionedIops; + private @Nullable Integer size; + public Builder() {} + public Builder(HyperNodeDataDisk defaults) { + Objects.requireNonNull(defaults); + this.burstingEnabled = defaults.burstingEnabled; + this.category = defaults.category; + this.deleteWithNode = defaults.deleteWithNode; + this.performanceLevel = defaults.performanceLevel; + this.provisionedIops = defaults.provisionedIops; + this.size = defaults.size; + } + + @CustomType.Setter + public Builder burstingEnabled(@Nullable Boolean burstingEnabled) { + + this.burstingEnabled = burstingEnabled; + return this; + } + @CustomType.Setter + public Builder category(@Nullable String category) { + + this.category = category; + return this; + } + @CustomType.Setter + public Builder deleteWithNode(@Nullable Boolean deleteWithNode) { + + this.deleteWithNode = deleteWithNode; + return this; + } + @CustomType.Setter + public Builder performanceLevel(@Nullable String performanceLevel) { + + this.performanceLevel = performanceLevel; + return this; + } + @CustomType.Setter + public Builder provisionedIops(@Nullable Integer provisionedIops) { + + this.provisionedIops = provisionedIops; + return this; + } + @CustomType.Setter + public Builder size(@Nullable Integer size) { + + this.size = size; + return this; + } + public HyperNodeDataDisk build() { + final var _resultValue = new HyperNodeDataDisk(); + _resultValue.burstingEnabled = burstingEnabled; + _resultValue.category = category; + _resultValue.deleteWithNode = deleteWithNode; + _resultValue.performanceLevel = performanceLevel; + _resultValue.provisionedIops = provisionedIops; + _resultValue.size = size; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeDataDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeDataDisk.java new file mode 100644 index 0000000000..d33733d7fb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeDataDisk.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeDataDisk { + /** + * @return Data disk type + * + */ + private @Nullable String category; + /** + * @return Performance level + * + */ + private @Nullable String performanceLevel; + /** + * @return Data disk size + * + */ + private @Nullable Integer size; + + private NodeDataDisk() {} + /** + * @return Data disk type + * + */ + public Optional category() { + return Optional.ofNullable(this.category); + } + /** + * @return Performance level + * + */ + public Optional performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + /** + * @return Data disk size + * + */ + public Optional size() { + return Optional.ofNullable(this.size); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeDataDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String category; + private @Nullable String performanceLevel; + private @Nullable Integer size; + public Builder() {} + public Builder(NodeDataDisk defaults) { + Objects.requireNonNull(defaults); + this.category = defaults.category; + this.performanceLevel = defaults.performanceLevel; + this.size = defaults.size; + } + + @CustomType.Setter + public Builder category(@Nullable String category) { + + this.category = category; + return this; + } + @CustomType.Setter + public Builder performanceLevel(@Nullable String performanceLevel) { + + this.performanceLevel = performanceLevel; + return this; + } + @CustomType.Setter + public Builder size(@Nullable Integer size) { + + this.size = size; + return this; + } + public NodeDataDisk build() { + final var _resultValue = new NodeDataDisk(); + _resultValue.category = category; + _resultValue.performanceLevel = performanceLevel; + _resultValue.size = size; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicy.java new file mode 100644 index 0000000000..b1ac3aceb7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicy.java @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyBondPolicy; +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyMachineTypePolicy; +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyNodePolicy; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicy { + /** + * @return Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + */ + private @Nullable NodeIpAllocationPolicyBondPolicy bondPolicy; + /** + * @return Model Assignment Policy See `machineTypePolicy` below. + * + */ + private @Nullable List machineTypePolicies; + /** + * @return Node allocation policy See `nodePolicy` below. + * + */ + private @Nullable List nodePolicies; + + private NodeIpAllocationPolicy() {} + /** + * @return Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + * + */ + public Optional bondPolicy() { + return Optional.ofNullable(this.bondPolicy); + } + /** + * @return Model Assignment Policy See `machineTypePolicy` below. + * + */ + public List machineTypePolicies() { + return this.machineTypePolicies == null ? List.of() : this.machineTypePolicies; + } + /** + * @return Node allocation policy See `nodePolicy` below. + * + */ + public List nodePolicies() { + return this.nodePolicies == null ? List.of() : this.nodePolicies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable NodeIpAllocationPolicyBondPolicy bondPolicy; + private @Nullable List machineTypePolicies; + private @Nullable List nodePolicies; + public Builder() {} + public Builder(NodeIpAllocationPolicy defaults) { + Objects.requireNonNull(defaults); + this.bondPolicy = defaults.bondPolicy; + this.machineTypePolicies = defaults.machineTypePolicies; + this.nodePolicies = defaults.nodePolicies; + } + + @CustomType.Setter + public Builder bondPolicy(@Nullable NodeIpAllocationPolicyBondPolicy bondPolicy) { + + this.bondPolicy = bondPolicy; + return this; + } + @CustomType.Setter + public Builder machineTypePolicies(@Nullable List machineTypePolicies) { + + this.machineTypePolicies = machineTypePolicies; + return this; + } + public Builder machineTypePolicies(NodeIpAllocationPolicyMachineTypePolicy... machineTypePolicies) { + return machineTypePolicies(List.of(machineTypePolicies)); + } + @CustomType.Setter + public Builder nodePolicies(@Nullable List nodePolicies) { + + this.nodePolicies = nodePolicies; + return this; + } + public Builder nodePolicies(NodeIpAllocationPolicyNodePolicy... nodePolicies) { + return nodePolicies(List.of(nodePolicies)); + } + public NodeIpAllocationPolicy build() { + final var _resultValue = new NodeIpAllocationPolicy(); + _resultValue.bondPolicy = bondPolicy; + _resultValue.machineTypePolicies = machineTypePolicies; + _resultValue.nodePolicies = nodePolicies; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicy.java new file mode 100644 index 0000000000..6517a91674 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicy.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyBondPolicyBond; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyBondPolicy { + /** + * @return Default bond cluster subnet + * + */ + private @Nullable String bondDefaultSubnet; + /** + * @return Bond information See `bonds` below. + * + */ + private @Nullable List bonds; + + private NodeIpAllocationPolicyBondPolicy() {} + /** + * @return Default bond cluster subnet + * + */ + public Optional bondDefaultSubnet() { + return Optional.ofNullable(this.bondDefaultSubnet); + } + /** + * @return Bond information See `bonds` below. + * + */ + public List bonds() { + return this.bonds == null ? List.of() : this.bonds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyBondPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String bondDefaultSubnet; + private @Nullable List bonds; + public Builder() {} + public Builder(NodeIpAllocationPolicyBondPolicy defaults) { + Objects.requireNonNull(defaults); + this.bondDefaultSubnet = defaults.bondDefaultSubnet; + this.bonds = defaults.bonds; + } + + @CustomType.Setter + public Builder bondDefaultSubnet(@Nullable String bondDefaultSubnet) { + + this.bondDefaultSubnet = bondDefaultSubnet; + return this; + } + @CustomType.Setter + public Builder bonds(@Nullable List bonds) { + + this.bonds = bonds; + return this; + } + public Builder bonds(NodeIpAllocationPolicyBondPolicyBond... bonds) { + return bonds(List.of(bonds)); + } + public NodeIpAllocationPolicyBondPolicy build() { + final var _resultValue = new NodeIpAllocationPolicyBondPolicy(); + _resultValue.bondDefaultSubnet = bondDefaultSubnet; + _resultValue.bonds = bonds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicyBond.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicyBond.java new file mode 100644 index 0000000000..9de1758901 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyBondPolicyBond.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyBondPolicyBond { + /** + * @return Bond Name + * + */ + private @Nullable String name; + /** + * @return IP source cluster subnet + * + */ + private @Nullable String subnet; + + private NodeIpAllocationPolicyBondPolicyBond() {} + /** + * @return Bond Name + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return IP source cluster subnet + * + */ + public Optional subnet() { + return Optional.ofNullable(this.subnet); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyBondPolicyBond defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String subnet; + public Builder() {} + public Builder(NodeIpAllocationPolicyBondPolicyBond defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.subnet = defaults.subnet; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder subnet(@Nullable String subnet) { + + this.subnet = subnet; + return this; + } + public NodeIpAllocationPolicyBondPolicyBond build() { + final var _resultValue = new NodeIpAllocationPolicyBondPolicyBond(); + _resultValue.name = name; + _resultValue.subnet = subnet; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicy.java new file mode 100644 index 0000000000..cdacfa308b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicy.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyMachineTypePolicyBond; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyMachineTypePolicy { + /** + * @return Bond information See `bonds` below. + * + */ + private @Nullable List bonds; + /** + * @return Model + * + */ + private @Nullable String machineType; + + private NodeIpAllocationPolicyMachineTypePolicy() {} + /** + * @return Bond information See `bonds` below. + * + */ + public List bonds() { + return this.bonds == null ? List.of() : this.bonds; + } + /** + * @return Model + * + */ + public Optional machineType() { + return Optional.ofNullable(this.machineType); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyMachineTypePolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List bonds; + private @Nullable String machineType; + public Builder() {} + public Builder(NodeIpAllocationPolicyMachineTypePolicy defaults) { + Objects.requireNonNull(defaults); + this.bonds = defaults.bonds; + this.machineType = defaults.machineType; + } + + @CustomType.Setter + public Builder bonds(@Nullable List bonds) { + + this.bonds = bonds; + return this; + } + public Builder bonds(NodeIpAllocationPolicyMachineTypePolicyBond... bonds) { + return bonds(List.of(bonds)); + } + @CustomType.Setter + public Builder machineType(@Nullable String machineType) { + + this.machineType = machineType; + return this; + } + public NodeIpAllocationPolicyMachineTypePolicy build() { + final var _resultValue = new NodeIpAllocationPolicyMachineTypePolicy(); + _resultValue.bonds = bonds; + _resultValue.machineType = machineType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicyBond.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicyBond.java new file mode 100644 index 0000000000..fe05c7c8bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyMachineTypePolicyBond.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyMachineTypePolicyBond { + /** + * @return Bond Name + * + */ + private @Nullable String name; + /** + * @return IP source cluster subnet + * + */ + private @Nullable String subnet; + + private NodeIpAllocationPolicyMachineTypePolicyBond() {} + /** + * @return Bond Name + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return IP source cluster subnet + * + */ + public Optional subnet() { + return Optional.ofNullable(this.subnet); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyMachineTypePolicyBond defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String subnet; + public Builder() {} + public Builder(NodeIpAllocationPolicyMachineTypePolicyBond defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.subnet = defaults.subnet; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder subnet(@Nullable String subnet) { + + this.subnet = subnet; + return this; + } + public NodeIpAllocationPolicyMachineTypePolicyBond build() { + final var _resultValue = new NodeIpAllocationPolicyMachineTypePolicyBond(); + _resultValue.name = name; + _resultValue.subnet = subnet; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicy.java new file mode 100644 index 0000000000..ea1f2be21d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicy.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.alicloud.eflo.outputs.NodeIpAllocationPolicyNodePolicyBond; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyNodePolicy { + /** + * @return Bond information See `bonds` below. + * + */ + private @Nullable List bonds; + /** + * @return Host name + * + */ + private @Nullable String hostname; + /** + * @return Node ID + * + */ + private @Nullable String nodeId; + + private NodeIpAllocationPolicyNodePolicy() {} + /** + * @return Bond information See `bonds` below. + * + */ + public List bonds() { + return this.bonds == null ? List.of() : this.bonds; + } + /** + * @return Host name + * + */ + public Optional hostname() { + return Optional.ofNullable(this.hostname); + } + /** + * @return Node ID + * + */ + public Optional nodeId() { + return Optional.ofNullable(this.nodeId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyNodePolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List bonds; + private @Nullable String hostname; + private @Nullable String nodeId; + public Builder() {} + public Builder(NodeIpAllocationPolicyNodePolicy defaults) { + Objects.requireNonNull(defaults); + this.bonds = defaults.bonds; + this.hostname = defaults.hostname; + this.nodeId = defaults.nodeId; + } + + @CustomType.Setter + public Builder bonds(@Nullable List bonds) { + + this.bonds = bonds; + return this; + } + public Builder bonds(NodeIpAllocationPolicyNodePolicyBond... bonds) { + return bonds(List.of(bonds)); + } + @CustomType.Setter + public Builder hostname(@Nullable String hostname) { + + this.hostname = hostname; + return this; + } + @CustomType.Setter + public Builder nodeId(@Nullable String nodeId) { + + this.nodeId = nodeId; + return this; + } + public NodeIpAllocationPolicyNodePolicy build() { + final var _resultValue = new NodeIpAllocationPolicyNodePolicy(); + _resultValue.bonds = bonds; + _resultValue.hostname = hostname; + _resultValue.nodeId = nodeId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicyBond.java b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicyBond.java new file mode 100644 index 0000000000..d05d8e111f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eflo/outputs/NodeIpAllocationPolicyNodePolicyBond.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.eflo.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodeIpAllocationPolicyNodePolicyBond { + /** + * @return Bond Name + * + */ + private @Nullable String name; + /** + * @return IP source cluster subnet + * + */ + private @Nullable String subnet; + + private NodeIpAllocationPolicyNodePolicyBond() {} + /** + * @return Bond Name + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return IP source cluster subnet + * + */ + public Optional subnet() { + return Optional.ofNullable(this.subnet); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodeIpAllocationPolicyNodePolicyBond defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String subnet; + public Builder() {} + public Builder(NodeIpAllocationPolicyNodePolicyBond defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.subnet = defaults.subnet; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder subnet(@Nullable String subnet) { + + this.subnet = subnet; + return this; + } + public NodeIpAllocationPolicyNodePolicyBond build() { + final var _resultValue = new NodeIpAllocationPolicyNodePolicyBond(); + _resultValue.name = name; + _resultValue.subnet = subnet; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Cluster.java index bc6025a35a..d47adac1d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Cluster.java @@ -133,6 +133,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ehpc Cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2.java new file mode 100644 index 0000000000..d0172fd649 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2.java @@ -0,0 +1,500 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.ehpc.ClusterV2Args; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2State; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2Addon; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ClusterCredentials; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2Manager; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2SharedStorage; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Ehpc Cluster V2 resource. + * + * E-HPC Cluster Resources. + * + * For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.nas.AccessGroup;
+ * import com.pulumi.alicloud.nas.AccessGroupArgs;
+ * import com.pulumi.alicloud.nas.FileSystem;
+ * import com.pulumi.alicloud.nas.FileSystemArgs;
+ * import com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.nas.AccessRule;
+ * import com.pulumi.alicloud.nas.AccessRuleArgs;
+ * import com.pulumi.alicloud.ecs.SecurityGroup;
+ * import com.pulumi.alicloud.ecs.SecurityGroupArgs;
+ * import com.pulumi.alicloud.nas.MountTarget;
+ * import com.pulumi.alicloud.nas.MountTargetArgs;
+ * import com.pulumi.alicloud.ehpc.ClusterV2;
+ * import com.pulumi.alicloud.ehpc.ClusterV2Args;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var example = new Network("example", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("10.0.0.0/24")
+ *             .vpcName("example-cluster-vpc")
+ *             .build());
+ * 
+ *         var exampleAccessGroup = new AccessGroup("exampleAccessGroup", AccessGroupArgs.builder()
+ *             .accessGroupType("Vpc")
+ *             .description(name)
+ *             .accessGroupName("StandardMountTarget")
+ *             .fileSystemType("standard")
+ *             .build());
+ * 
+ *         var exampleFileSystem = new FileSystem("exampleFileSystem", FileSystemArgs.builder()
+ *             .description("example-cluster-nas")
+ *             .storageType("Capacity")
+ *             .nfsAcl(FileSystemNfsAclArgs.builder()
+ *                 .enabled(false)
+ *                 .build())
+ *             .zoneId("cn-hangzhou-k")
+ *             .encryptType(0)
+ *             .protocolType("NFS")
+ *             .fileSystemType("standard")
+ *             .build());
+ * 
+ *         var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(example.id())
+ *             .zoneId("cn-hangzhou-k")
+ *             .cidrBlock("10.0.0.0/24")
+ *             .vswitchName("example-cluster-vsw")
+ *             .build());
+ * 
+ *         var exampleAccessRule = new AccessRule("exampleAccessRule", AccessRuleArgs.builder()
+ *             .priority(1)
+ *             .accessGroupName(exampleAccessGroup.accessGroupName())
+ *             .fileSystemType(exampleFileSystem.fileSystemType())
+ *             .sourceCidrIp("10.0.0.0/24")
+ *             .build());
+ * 
+ *         var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder()
+ *             .vpcId(example.id())
+ *             .securityGroupType("normal")
+ *             .build());
+ * 
+ *         var exampleMountTarget = new MountTarget("exampleMountTarget", MountTargetArgs.builder()
+ *             .vpcId(example.id())
+ *             .networkType("Vpc")
+ *             .accessGroupName(exampleAccessGroup.accessGroupName())
+ *             .vswitchId(exampleSwitch.id())
+ *             .fileSystemId(exampleFileSystem.id())
+ *             .build());
+ * 
+ *         var default_ = new ClusterV2("default", ClusterV2Args.builder()
+ *             .clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()
+ *                 .password("aliHPC123")
+ *                 .build())
+ *             .clusterVpcId(example.id())
+ *             .clusterCategory("Standard")
+ *             .clusterMode("Integrated")
+ *             .securityGroupId(exampleSecurityGroup.id())
+ *             .clusterName("minimal-example-cluster")
+ *             .deletionProtection(true)
+ *             .clientVersion("2.0.47")
+ *             .sharedStorages(            
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/home")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(exampleMountTarget.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(exampleFileSystem.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build(),
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/opt")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(exampleMountTarget.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(exampleFileSystem.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build(),
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/ehpcdata")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(exampleMountTarget.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(exampleFileSystem.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build())
+ *             .clusterVswitchId(exampleSwitch.id())
+ *             .manager(ClusterV2ManagerArgs.builder()
+ *                 .managerNode(ClusterV2ManagerManagerNodeArgs.builder()
+ *                     .systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs.builder()
+ *                         .category("cloud_essd")
+ *                         .size(40)
+ *                         .level("PL0")
+ *                         .build())
+ *                     .enableHt(true)
+ *                     .instanceChargeType("PostPaid")
+ *                     .imageId("centos_7_6_x64_20G_alibase_20211130.vhd")
+ *                     .spotPriceLimit(0.0)
+ *                     .instanceType("ecs.c6.xlarge")
+ *                     .spotStrategy("NoSpot")
+ *                     .build())
+ *                 .scheduler(ClusterV2ManagerSchedulerArgs.builder()
+ *                     .type("SLURM")
+ *                     .version("22.05.8")
+ *                     .build())
+ *                 .dns(ClusterV2ManagerDnsArgs.builder()
+ *                     .type("nis")
+ *                     .version("1.0")
+ *                     .build())
+ *                 .directoryService(ClusterV2ManagerDirectoryServiceArgs.builder()
+ *                     .type("nis")
+ *                     .version("1.0")
+ *                     .build())
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Ehpc Cluster V2 can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example <id> + * ``` + * + */ +@ResourceType(type="alicloud:ehpc/clusterV2:ClusterV2") +public class ClusterV2 extends com.pulumi.resources.CustomResource { + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + @Export(name="addons", refs={List.class,ClusterV2Addon.class}, tree="[0,1]") + private Output> addons; + + /** + * @return The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + public Output>> addons() { + return Codegen.optional(this.addons); + } + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + @Export(name="clientVersion", refs={String.class}, tree="[0]") + private Output clientVersion; + + /** + * @return Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + public Output clientVersion() { + return this.clientVersion; + } + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + @Export(name="clusterCategory", refs={String.class}, tree="[0]") + private Output clusterCategory; + + /** + * @return The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + public Output> clusterCategory() { + return Codegen.optional(this.clusterCategory); + } + /** + * Security credentials for the cluster. See `clusterCredentials` below. + * + */ + @Export(name="clusterCredentials", refs={ClusterV2ClusterCredentials.class}, tree="[0]") + private Output clusterCredentials; + + /** + * @return Security credentials for the cluster. See `clusterCredentials` below. + * + */ + public Output clusterCredentials() { + return this.clusterCredentials; + } + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + @Export(name="clusterMode", refs={String.class}, tree="[0]") + private Output clusterMode; + + /** + * @return The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + public Output> clusterMode() { + return Codegen.optional(this.clusterMode); + } + /** + * The post-processing script of the cluster. + * + */ + @Export(name="clusterName", refs={String.class}, tree="[0]") + private Output clusterName; + + /** + * @return The post-processing script of the cluster. + * + */ + public Output> clusterName() { + return Codegen.optional(this.clusterName); + } + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + @Export(name="clusterVpcId", refs={String.class}, tree="[0]") + private Output clusterVpcId; + + /** + * @return The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + public Output> clusterVpcId() { + return Codegen.optional(this.clusterVpcId); + } + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + @Export(name="clusterVswitchId", refs={String.class}, tree="[0]") + private Output clusterVswitchId; + + /** + * @return The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + public Output> clusterVswitchId() { + return Codegen.optional(this.clusterVswitchId); + } + /** + * The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + */ + public Output createTime() { + return this.createTime; + } + /** + * The idle duration of the compute nodes allowed by the cluster. + * + */ + @Export(name="deletionProtection", refs={Boolean.class}, tree="[0]") + private Output deletionProtection; + + /** + * @return The idle duration of the compute nodes allowed by the cluster. + * + */ + public Output> deletionProtection() { + return Codegen.optional(this.deletionProtection); + } + /** + * The configurations of the cluster management node. See `manager` below. + * + */ + @Export(name="manager", refs={ClusterV2Manager.class}, tree="[0]") + private Output manager; + + /** + * @return The configurations of the cluster management node. See `manager` below. + * + */ + public Output> manager() { + return Codegen.optional(this.manager); + } + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + @Export(name="resourceGroupId", refs={String.class}, tree="[0]") + private Output resourceGroupId; + + /** + * @return The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + public Output resourceGroupId() { + return this.resourceGroupId; + } + /** + * The security group ID. + * + */ + @Export(name="securityGroupId", refs={String.class}, tree="[0]") + private Output securityGroupId; + + /** + * @return The security group ID. + * + */ + public Output> securityGroupId() { + return Codegen.optional(this.securityGroupId); + } + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + @Export(name="sharedStorages", refs={List.class,ClusterV2SharedStorage.class}, tree="[0,1]") + private Output> sharedStorages; + + /** + * @return List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + public Output> sharedStorages() { + return this.sharedStorages; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ClusterV2(java.lang.String name) { + this(name, ClusterV2Args.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ClusterV2(java.lang.String name, ClusterV2Args args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ClusterV2(java.lang.String name, ClusterV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:ehpc/clusterV2:ClusterV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ClusterV2(java.lang.String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:ehpc/clusterV2:ClusterV2", name, state, makeResourceOptions(options, id), false); + } + + private static ClusterV2Args makeArgs(ClusterV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "addons", + "clusterCredentials" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ClusterV2 get(java.lang.String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ClusterV2(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2Args.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2Args.java new file mode 100644 index 0000000000..2964bae9f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/ClusterV2Args.java @@ -0,0 +1,608 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc; + +import com.pulumi.alicloud.ehpc.inputs.ClusterV2AddonArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2Args extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2Args Empty = new ClusterV2Args(); + + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + @Import(name="addons") + private @Nullable Output> addons; + + /** + * @return The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + public Optional>> addons() { + return Optional.ofNullable(this.addons); + } + + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + @Import(name="clientVersion") + private @Nullable Output clientVersion; + + /** + * @return Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + public Optional> clientVersion() { + return Optional.ofNullable(this.clientVersion); + } + + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + @Import(name="clusterCategory") + private @Nullable Output clusterCategory; + + /** + * @return The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + public Optional> clusterCategory() { + return Optional.ofNullable(this.clusterCategory); + } + + /** + * Security credentials for the cluster. See `clusterCredentials` below. + * + */ + @Import(name="clusterCredentials", required=true) + private Output clusterCredentials; + + /** + * @return Security credentials for the cluster. See `clusterCredentials` below. + * + */ + public Output clusterCredentials() { + return this.clusterCredentials; + } + + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + @Import(name="clusterMode") + private @Nullable Output clusterMode; + + /** + * @return The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + public Optional> clusterMode() { + return Optional.ofNullable(this.clusterMode); + } + + /** + * The post-processing script of the cluster. + * + */ + @Import(name="clusterName") + private @Nullable Output clusterName; + + /** + * @return The post-processing script of the cluster. + * + */ + public Optional> clusterName() { + return Optional.ofNullable(this.clusterName); + } + + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + @Import(name="clusterVpcId") + private @Nullable Output clusterVpcId; + + /** + * @return The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + public Optional> clusterVpcId() { + return Optional.ofNullable(this.clusterVpcId); + } + + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + @Import(name="clusterVswitchId") + private @Nullable Output clusterVswitchId; + + /** + * @return The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + public Optional> clusterVswitchId() { + return Optional.ofNullable(this.clusterVswitchId); + } + + /** + * The idle duration of the compute nodes allowed by the cluster. + * + */ + @Import(name="deletionProtection") + private @Nullable Output deletionProtection; + + /** + * @return The idle duration of the compute nodes allowed by the cluster. + * + */ + public Optional> deletionProtection() { + return Optional.ofNullable(this.deletionProtection); + } + + /** + * The configurations of the cluster management node. See `manager` below. + * + */ + @Import(name="manager") + private @Nullable Output manager; + + /** + * @return The configurations of the cluster management node. See `manager` below. + * + */ + public Optional> manager() { + return Optional.ofNullable(this.manager); + } + + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + @Import(name="resourceGroupId") + private @Nullable Output resourceGroupId; + + /** + * @return The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + public Optional> resourceGroupId() { + return Optional.ofNullable(this.resourceGroupId); + } + + /** + * The security group ID. + * + */ + @Import(name="securityGroupId") + private @Nullable Output securityGroupId; + + /** + * @return The security group ID. + * + */ + public Optional> securityGroupId() { + return Optional.ofNullable(this.securityGroupId); + } + + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + @Import(name="sharedStorages", required=true) + private Output> sharedStorages; + + /** + * @return List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + public Output> sharedStorages() { + return this.sharedStorages; + } + + private ClusterV2Args() {} + + private ClusterV2Args(ClusterV2Args $) { + this.addons = $.addons; + this.clientVersion = $.clientVersion; + this.clusterCategory = $.clusterCategory; + this.clusterCredentials = $.clusterCredentials; + this.clusterMode = $.clusterMode; + this.clusterName = $.clusterName; + this.clusterVpcId = $.clusterVpcId; + this.clusterVswitchId = $.clusterVswitchId; + this.deletionProtection = $.deletionProtection; + this.manager = $.manager; + this.resourceGroupId = $.resourceGroupId; + this.securityGroupId = $.securityGroupId; + this.sharedStorages = $.sharedStorages; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2Args defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2Args $; + + public Builder() { + $ = new ClusterV2Args(); + } + + public Builder(ClusterV2Args defaults) { + $ = new ClusterV2Args(Objects.requireNonNull(defaults)); + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(@Nullable Output> addons) { + $.addons = addons; + return this; + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(List addons) { + return addons(Output.of(addons)); + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(ClusterV2AddonArgs... addons) { + return addons(List.of(addons)); + } + + /** + * @param clientVersion Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder clientVersion(@Nullable Output clientVersion) { + $.clientVersion = clientVersion; + return this; + } + + /** + * @param clientVersion Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder clientVersion(String clientVersion) { + return clientVersion(Output.of(clientVersion)); + } + + /** + * @param clusterCategory The cluster type. Valid values: + * + * - Standard + * - Serverless + * + * @return builder + * + */ + public Builder clusterCategory(@Nullable Output clusterCategory) { + $.clusterCategory = clusterCategory; + return this; + } + + /** + * @param clusterCategory The cluster type. Valid values: + * + * - Standard + * - Serverless + * + * @return builder + * + */ + public Builder clusterCategory(String clusterCategory) { + return clusterCategory(Output.of(clusterCategory)); + } + + /** + * @param clusterCredentials Security credentials for the cluster. See `clusterCredentials` below. + * + * @return builder + * + */ + public Builder clusterCredentials(Output clusterCredentials) { + $.clusterCredentials = clusterCredentials; + return this; + } + + /** + * @param clusterCredentials Security credentials for the cluster. See `clusterCredentials` below. + * + * @return builder + * + */ + public Builder clusterCredentials(ClusterV2ClusterCredentialsArgs clusterCredentials) { + return clusterCredentials(Output.of(clusterCredentials)); + } + + /** + * @param clusterMode The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + * @return builder + * + */ + public Builder clusterMode(@Nullable Output clusterMode) { + $.clusterMode = clusterMode; + return this; + } + + /** + * @param clusterMode The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + * @return builder + * + */ + public Builder clusterMode(String clusterMode) { + return clusterMode(Output.of(clusterMode)); + } + + /** + * @param clusterName The post-processing script of the cluster. + * + * @return builder + * + */ + public Builder clusterName(@Nullable Output clusterName) { + $.clusterName = clusterName; + return this; + } + + /** + * @param clusterName The post-processing script of the cluster. + * + * @return builder + * + */ + public Builder clusterName(String clusterName) { + return clusterName(Output.of(clusterName)); + } + + /** + * @param clusterVpcId The ID of the virtual private cloud (VPC) in which the cluster resides. + * + * @return builder + * + */ + public Builder clusterVpcId(@Nullable Output clusterVpcId) { + $.clusterVpcId = clusterVpcId; + return this; + } + + /** + * @param clusterVpcId The ID of the virtual private cloud (VPC) in which the cluster resides. + * + * @return builder + * + */ + public Builder clusterVpcId(String clusterVpcId) { + return clusterVpcId(Output.of(clusterVpcId)); + } + + /** + * @param clusterVswitchId The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + * @return builder + * + */ + public Builder clusterVswitchId(@Nullable Output clusterVswitchId) { + $.clusterVswitchId = clusterVswitchId; + return this; + } + + /** + * @param clusterVswitchId The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + * @return builder + * + */ + public Builder clusterVswitchId(String clusterVswitchId) { + return clusterVswitchId(Output.of(clusterVswitchId)); + } + + /** + * @param deletionProtection The idle duration of the compute nodes allowed by the cluster. + * + * @return builder + * + */ + public Builder deletionProtection(@Nullable Output deletionProtection) { + $.deletionProtection = deletionProtection; + return this; + } + + /** + * @param deletionProtection The idle duration of the compute nodes allowed by the cluster. + * + * @return builder + * + */ + public Builder deletionProtection(Boolean deletionProtection) { + return deletionProtection(Output.of(deletionProtection)); + } + + /** + * @param manager The configurations of the cluster management node. See `manager` below. + * + * @return builder + * + */ + public Builder manager(@Nullable Output manager) { + $.manager = manager; + return this; + } + + /** + * @param manager The configurations of the cluster management node. See `manager` below. + * + * @return builder + * + */ + public Builder manager(ClusterV2ManagerArgs manager) { + return manager(Output.of(manager)); + } + + /** + * @param resourceGroupId The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + * @return builder + * + */ + public Builder resourceGroupId(@Nullable Output resourceGroupId) { + $.resourceGroupId = resourceGroupId; + return this; + } + + /** + * @param resourceGroupId The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + * @return builder + * + */ + public Builder resourceGroupId(String resourceGroupId) { + return resourceGroupId(Output.of(resourceGroupId)); + } + + /** + * @param securityGroupId The security group ID. + * + * @return builder + * + */ + public Builder securityGroupId(@Nullable Output securityGroupId) { + $.securityGroupId = securityGroupId; + return this; + } + + /** + * @param securityGroupId The security group ID. + * + * @return builder + * + */ + public Builder securityGroupId(String securityGroupId) { + return securityGroupId(Output.of(securityGroupId)); + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(Output> sharedStorages) { + $.sharedStorages = sharedStorages; + return this; + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(List sharedStorages) { + return sharedStorages(Output.of(sharedStorages)); + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(ClusterV2SharedStorageArgs... sharedStorages) { + return sharedStorages(List.of(sharedStorages)); + } + + public ClusterV2Args build() { + if ($.clusterCredentials == null) { + throw new MissingRequiredPropertyException("ClusterV2Args", "clusterCredentials"); + } + if ($.sharedStorages == null) { + throw new MissingRequiredPropertyException("ClusterV2Args", "sharedStorages"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/JobTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/JobTemplate.java index d4f274a2eb..d66a8d489b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/JobTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/JobTemplate.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ehpc Job Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Queue.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Queue.java new file mode 100644 index 0000000000..ab5c80366b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/Queue.java @@ -0,0 +1,547 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.ehpc.QueueArgs; +import com.pulumi.alicloud.ehpc.inputs.QueueState; +import com.pulumi.alicloud.ehpc.outputs.QueueComputeNode; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Ehpc Queue resource. + * + * E-HPC the compute queue of the cluster. + * + * For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.nas.FileSystem;
+ * import com.pulumi.alicloud.nas.FileSystemArgs;
+ * import com.pulumi.alicloud.nas.inputs.FileSystemNfsAclArgs;
+ * import com.pulumi.alicloud.nas.AccessGroup;
+ * import com.pulumi.alicloud.nas.AccessGroupArgs;
+ * import com.pulumi.alicloud.ecs.SecurityGroup;
+ * import com.pulumi.alicloud.ecs.SecurityGroupArgs;
+ * import com.pulumi.alicloud.nas.MountTarget;
+ * import com.pulumi.alicloud.nas.MountTargetArgs;
+ * import com.pulumi.alicloud.nas.AccessRule;
+ * import com.pulumi.alicloud.nas.AccessRuleArgs;
+ * import com.pulumi.alicloud.ehpc.ClusterV2;
+ * import com.pulumi.alicloud.ehpc.ClusterV2Args;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2AddonArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs;
+ * import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs;
+ * import com.pulumi.alicloud.ehpc.Queue;
+ * import com.pulumi.alicloud.ehpc.QueueArgs;
+ * import com.pulumi.resources.CustomResourceOptions;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var queueMinimalExampleVpc = new Network("queueMinimalExampleVpc", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("10.0.0.0/8")
+ *             .vpcName("example-cluster-vpc")
+ *             .build());
+ * 
+ *         var queueMinimalExampleVswitch = new Switch("queueMinimalExampleVswitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(queueMinimalExampleVpc.id())
+ *             .zoneId("cn-hangzhou-k")
+ *             .cidrBlock("10.0.0.0/24")
+ *             .vswitchName("example-cluster-vsw")
+ *             .build());
+ * 
+ *         var queueMinimalExampleNas = new FileSystem("queueMinimalExampleNas", FileSystemArgs.builder()
+ *             .description("example-cluster-nas")
+ *             .storageType("Capacity")
+ *             .nfsAcl(FileSystemNfsAclArgs.builder()
+ *                 .enabled(false)
+ *                 .build())
+ *             .zoneId("cn-hangzhou-k")
+ *             .encryptType(0)
+ *             .protocolType("NFS")
+ *             .fileSystemType("standard")
+ *             .build());
+ * 
+ *         var queueMinimalExampleAccessGroup = new AccessGroup("queueMinimalExampleAccessGroup", AccessGroupArgs.builder()
+ *             .accessGroupType("Vpc")
+ *             .description(name)
+ *             .accessGroupName("StandardMountTarget")
+ *             .fileSystemType("standard")
+ *             .build());
+ * 
+ *         var queueMinimalExampleSecurityGroup = new SecurityGroup("queueMinimalExampleSecurityGroup", SecurityGroupArgs.builder()
+ *             .vpcId(queueMinimalExampleVpc.id())
+ *             .securityGroupType("normal")
+ *             .build());
+ * 
+ *         var queueMinimalExampleMountDomain = new MountTarget("queueMinimalExampleMountDomain", MountTargetArgs.builder()
+ *             .vpcId(queueMinimalExampleVpc.id())
+ *             .networkType("Vpc")
+ *             .accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())
+ *             .vswitchId(queueMinimalExampleVswitch.id())
+ *             .fileSystemId(queueMinimalExampleNas.id())
+ *             .build());
+ * 
+ *         var queueMinimalExampleAccessRule = new AccessRule("queueMinimalExampleAccessRule", AccessRuleArgs.builder()
+ *             .priority(1)
+ *             .accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())
+ *             .fileSystemType(queueMinimalExampleNas.fileSystemType())
+ *             .sourceCidrIp("10.0.0.0/8")
+ *             .build());
+ * 
+ *         var queueMinimalClusterExample = new ClusterV2("queueMinimalClusterExample", ClusterV2Args.builder()
+ *             .clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()
+ *                 .password("aliHPC123")
+ *                 .build())
+ *             .clusterVpcId(queueMinimalExampleVpc.id())
+ *             .clusterCategory("Standard")
+ *             .clusterMode("Integrated")
+ *             .securityGroupId(queueMinimalExampleSecurityGroup.id())
+ *             .addons(ClusterV2AddonArgs.builder()
+ *                 .version("1.0")
+ *                 .servicesSpec("""
+ * [
+ *         {
+ *           \"ServiceName\": \"SSH\",
+ *           \"NetworkACL\": [
+ *             {
+ *               \"Port\": 22,
+ *               \"SourceCidrIp\": \"0.0.0.0/0\",
+ *               \"IpProtocol\": \"TCP\"
+ *             }
+ *           ]
+ *         },
+ *         {
+ *           \"ServiceName\": \"VNC\",
+ *           \"NetworkACL\": [
+ *             {
+ *               \"Port\": 12016,
+ *               \"SourceCidrIp\": \"0.0.0.0/0\",
+ *               \"IpProtocol\": \"TCP\"
+ *             }
+ *           ]
+ *         },
+ *         {
+ *           \"ServiceName\": \"CLIENT\",
+ *           \"ServiceAccessType\": \"URL\",
+ *           \"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\",
+ *           \"NetworkACL\": [
+ *             {
+ *               \"Port\": 12011,
+ *               \"SourceCidrIp\": \"0.0.0.0/0\",
+ *               \"IpProtocol\": \"TCP\"
+ *             }
+ *           ]
+ *         }
+ *       ]
+ *                 """)
+ *                 .resourcesSpec("""
+ * {
+ *         \"EipResource\": {
+ *           \"AutoCreate\": true
+ *         },
+ *         \"EcsResources\": [
+ *           {
+ *             \"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",
+ *             \"EnableHT\": true,
+ *             \"InstanceChargeType\": \"PostPaid\",
+ *             \"InstanceType\": \"ecs.c7.xlarge\",
+ *             \"SpotStrategy\": \"NoSpot\",
+ *             \"SystemDisk\": {
+ *               \"Category\": \"cloud_essd\",
+ *               \"Size\": 40,
+ *               \"Level\": \"PL0\"
+ *             },
+ *             \"DataDisks\": [
+ *               {
+ *                 \"Category\": \"cloud_essd\",
+ *                 \"Size\": 40,
+ *                 \"Level\": \"PL0\"
+ *               }
+ *             ]
+ *           }
+ *         ]
+ *       }
+ *                 """)
+ *                 .name("Login")
+ *                 .build())
+ *             .clusterName("minimal-example-cluster")
+ *             .deletionProtection(false)
+ *             .sharedStorages(            
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/home")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(queueMinimalExampleNas.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build(),
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/opt")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(queueMinimalExampleNas.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build(),
+ *                 ClusterV2SharedStorageArgs.builder()
+ *                     .mountDirectory("/ehpcdata")
+ *                     .nasDirectory("/")
+ *                     .mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
+ *                     .protocolType("NFS")
+ *                     .fileSystemId(queueMinimalExampleNas.id())
+ *                     .mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
+ *                     .build())
+ *             .clusterVswitchId(queueMinimalExampleVswitch.id())
+ *             .manager(ClusterV2ManagerArgs.builder()
+ *                 .managerNode(ClusterV2ManagerManagerNodeArgs.builder()
+ *                     .systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs.builder()
+ *                         .category("cloud_essd")
+ *                         .size(40)
+ *                         .level("PL0")
+ *                         .build())
+ *                     .enableHt(true)
+ *                     .instanceChargeType("PostPaid")
+ *                     .imageId("centos_7_6_x64_20G_alibase_20211130.vhd")
+ *                     .instanceType("ecs.c6.xlarge")
+ *                     .spotStrategy("NoSpot")
+ *                     .build())
+ *                 .scheduler(ClusterV2ManagerSchedulerArgs.builder()
+ *                     .type("SLURM")
+ *                     .version("22.05.8")
+ *                     .build())
+ *                 .dns(ClusterV2ManagerDnsArgs.builder()
+ *                     .type("nis")
+ *                     .version("1.0")
+ *                     .build())
+ *                 .directoryService(ClusterV2ManagerDirectoryServiceArgs.builder()
+ *                     .type("nis")
+ *                     .version("1.0")
+ *                     .build())
+ *                 .build())
+ *             .build(), CustomResourceOptions.builder()
+ *                 .dependsOn(queueMinimalExampleAccessRule)
+ *                 .build());
+ * 
+ *         var default_ = new Queue("default", QueueArgs.builder()
+ *             .clusterId(queueMinimalClusterExample.id())
+ *             .queueName("autoque1")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Ehpc Queue can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:ehpc/queue:Queue example <cluster_id>:<queue_name> + * ``` + * + */ +@ResourceType(type="alicloud:ehpc/queue:Queue") +public class Queue extends com.pulumi.resources.CustomResource { + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + @Export(name="clusterId", refs={String.class}, tree="[0]") + private Output clusterId; + + /** + * @return The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + public Output clusterId() { + return this.clusterId; + } + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + @Export(name="computeNodes", refs={List.class,QueueComputeNode.class}, tree="[0,1]") + private Output> computeNodes; + + /** + * @return The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + public Output> computeNodes() { + return this.computeNodes; + } + /** + * The creation time of the resource + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Output createTime() { + return this.createTime; + } + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + @Export(name="enableScaleIn", refs={Boolean.class}, tree="[0]") + private Output enableScaleIn; + + /** + * @return Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + public Output enableScaleIn() { + return this.enableScaleIn; + } + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + @Export(name="enableScaleOut", refs={Boolean.class}, tree="[0]") + private Output enableScaleOut; + + /** + * @return Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + public Output enableScaleOut() { + return this.enableScaleOut; + } + /** + * The hostname prefix of the added compute nodes. + * + */ + @Export(name="hostnamePrefix", refs={String.class}, tree="[0]") + private Output hostnamePrefix; + + /** + * @return The hostname prefix of the added compute nodes. + * + */ + public Output hostnamePrefix() { + return this.hostnamePrefix; + } + /** + * The hostname suffix of the compute nodes in the queue. + * + */ + @Export(name="hostnameSuffix", refs={String.class}, tree="[0]") + private Output hostnameSuffix; + + /** + * @return The hostname suffix of the compute nodes in the queue. + * + */ + public Output hostnameSuffix() { + return this.hostnameSuffix; + } + /** + * The initial number of compute nodes in the queue. + * + */ + @Export(name="initialCount", refs={Integer.class}, tree="[0]") + private Output initialCount; + + /** + * @return The initial number of compute nodes in the queue. + * + */ + public Output initialCount() { + return this.initialCount; + } + /** + * The type of the network for interconnecting compute nodes in the queue. + * + */ + @Export(name="interConnect", refs={String.class}, tree="[0]") + private Output interConnect; + + /** + * @return The type of the network for interconnecting compute nodes in the queue. + * + */ + public Output interConnect() { + return this.interConnect; + } + /** + * The maximum number of compute nodes that the queue can contain. + * + */ + @Export(name="maxCount", refs={Integer.class}, tree="[0]") + private Output maxCount; + + /** + * @return The maximum number of compute nodes that the queue can contain. + * + */ + public Output maxCount() { + return this.maxCount; + } + /** + * The minimum number of compute nodes that the queue must contain. + * + */ + @Export(name="minCount", refs={Integer.class}, tree="[0]") + private Output minCount; + + /** + * @return The minimum number of compute nodes that the queue must contain. + * + */ + public Output minCount() { + return this.minCount; + } + /** + * The queue name. + * + */ + @Export(name="queueName", refs={String.class}, tree="[0]") + private Output queueName; + + /** + * @return The queue name. + * + */ + public Output queueName() { + return this.queueName; + } + /** + * The vSwitches available for use by compute nodes in the queue. + * + */ + @Export(name="vswitchIds", refs={List.class,String.class}, tree="[0,1]") + private Output> vswitchIds; + + /** + * @return The vSwitches available for use by compute nodes in the queue. + * + */ + public Output>> vswitchIds() { + return Codegen.optional(this.vswitchIds); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Queue(java.lang.String name) { + this(name, QueueArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Queue(java.lang.String name, @Nullable QueueArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Queue(java.lang.String name, @Nullable QueueArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:ehpc/queue:Queue", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Queue(java.lang.String name, Output id, @Nullable QueueState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:ehpc/queue:Queue", name, state, makeResourceOptions(options, id), false); + } + + private static QueueArgs makeArgs(@Nullable QueueArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? QueueArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Queue get(java.lang.String name, Output id, @Nullable QueueState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Queue(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/QueueArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/QueueArgs.java new file mode 100644 index 0000000000..0477d4a0d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/QueueArgs.java @@ -0,0 +1,542 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc; + +import com.pulumi.alicloud.ehpc.inputs.QueueComputeNodeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class QueueArgs extends com.pulumi.resources.ResourceArgs { + + public static final QueueArgs Empty = new QueueArgs(); + + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + @Import(name="computeNodes") + private @Nullable Output> computeNodes; + + /** + * @return The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + public Optional>> computeNodes() { + return Optional.ofNullable(this.computeNodes); + } + + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + @Import(name="enableScaleIn") + private @Nullable Output enableScaleIn; + + /** + * @return Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + public Optional> enableScaleIn() { + return Optional.ofNullable(this.enableScaleIn); + } + + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + @Import(name="enableScaleOut") + private @Nullable Output enableScaleOut; + + /** + * @return Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + public Optional> enableScaleOut() { + return Optional.ofNullable(this.enableScaleOut); + } + + /** + * The hostname prefix of the added compute nodes. + * + */ + @Import(name="hostnamePrefix") + private @Nullable Output hostnamePrefix; + + /** + * @return The hostname prefix of the added compute nodes. + * + */ + public Optional> hostnamePrefix() { + return Optional.ofNullable(this.hostnamePrefix); + } + + /** + * The hostname suffix of the compute nodes in the queue. + * + */ + @Import(name="hostnameSuffix") + private @Nullable Output hostnameSuffix; + + /** + * @return The hostname suffix of the compute nodes in the queue. + * + */ + public Optional> hostnameSuffix() { + return Optional.ofNullable(this.hostnameSuffix); + } + + /** + * The initial number of compute nodes in the queue. + * + */ + @Import(name="initialCount") + private @Nullable Output initialCount; + + /** + * @return The initial number of compute nodes in the queue. + * + */ + public Optional> initialCount() { + return Optional.ofNullable(this.initialCount); + } + + /** + * The type of the network for interconnecting compute nodes in the queue. + * + */ + @Import(name="interConnect") + private @Nullable Output interConnect; + + /** + * @return The type of the network for interconnecting compute nodes in the queue. + * + */ + public Optional> interConnect() { + return Optional.ofNullable(this.interConnect); + } + + /** + * The maximum number of compute nodes that the queue can contain. + * + */ + @Import(name="maxCount") + private @Nullable Output maxCount; + + /** + * @return The maximum number of compute nodes that the queue can contain. + * + */ + public Optional> maxCount() { + return Optional.ofNullable(this.maxCount); + } + + /** + * The minimum number of compute nodes that the queue must contain. + * + */ + @Import(name="minCount") + private @Nullable Output minCount; + + /** + * @return The minimum number of compute nodes that the queue must contain. + * + */ + public Optional> minCount() { + return Optional.ofNullable(this.minCount); + } + + /** + * The queue name. + * + */ + @Import(name="queueName") + private @Nullable Output queueName; + + /** + * @return The queue name. + * + */ + public Optional> queueName() { + return Optional.ofNullable(this.queueName); + } + + /** + * The vSwitches available for use by compute nodes in the queue. + * + */ + @Import(name="vswitchIds") + private @Nullable Output> vswitchIds; + + /** + * @return The vSwitches available for use by compute nodes in the queue. + * + */ + public Optional>> vswitchIds() { + return Optional.ofNullable(this.vswitchIds); + } + + private QueueArgs() {} + + private QueueArgs(QueueArgs $) { + this.clusterId = $.clusterId; + this.computeNodes = $.computeNodes; + this.enableScaleIn = $.enableScaleIn; + this.enableScaleOut = $.enableScaleOut; + this.hostnamePrefix = $.hostnamePrefix; + this.hostnameSuffix = $.hostnameSuffix; + this.initialCount = $.initialCount; + this.interConnect = $.interConnect; + this.maxCount = $.maxCount; + this.minCount = $.minCount; + this.queueName = $.queueName; + this.vswitchIds = $.vswitchIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(QueueArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private QueueArgs $; + + public Builder() { + $ = new QueueArgs(); + } + + public Builder(QueueArgs defaults) { + $ = new QueueArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param clusterId The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(@Nullable Output> computeNodes) { + $.computeNodes = computeNodes; + return this; + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(List computeNodes) { + return computeNodes(Output.of(computeNodes)); + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(QueueComputeNodeArgs... computeNodes) { + return computeNodes(List.of(computeNodes)); + } + + /** + * @param enableScaleIn Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleIn(@Nullable Output enableScaleIn) { + $.enableScaleIn = enableScaleIn; + return this; + } + + /** + * @param enableScaleIn Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleIn(Boolean enableScaleIn) { + return enableScaleIn(Output.of(enableScaleIn)); + } + + /** + * @param enableScaleOut Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleOut(@Nullable Output enableScaleOut) { + $.enableScaleOut = enableScaleOut; + return this; + } + + /** + * @param enableScaleOut Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleOut(Boolean enableScaleOut) { + return enableScaleOut(Output.of(enableScaleOut)); + } + + /** + * @param hostnamePrefix The hostname prefix of the added compute nodes. + * + * @return builder + * + */ + public Builder hostnamePrefix(@Nullable Output hostnamePrefix) { + $.hostnamePrefix = hostnamePrefix; + return this; + } + + /** + * @param hostnamePrefix The hostname prefix of the added compute nodes. + * + * @return builder + * + */ + public Builder hostnamePrefix(String hostnamePrefix) { + return hostnamePrefix(Output.of(hostnamePrefix)); + } + + /** + * @param hostnameSuffix The hostname suffix of the compute nodes in the queue. + * + * @return builder + * + */ + public Builder hostnameSuffix(@Nullable Output hostnameSuffix) { + $.hostnameSuffix = hostnameSuffix; + return this; + } + + /** + * @param hostnameSuffix The hostname suffix of the compute nodes in the queue. + * + * @return builder + * + */ + public Builder hostnameSuffix(String hostnameSuffix) { + return hostnameSuffix(Output.of(hostnameSuffix)); + } + + /** + * @param initialCount The initial number of compute nodes in the queue. + * + * @return builder + * + */ + public Builder initialCount(@Nullable Output initialCount) { + $.initialCount = initialCount; + return this; + } + + /** + * @param initialCount The initial number of compute nodes in the queue. + * + * @return builder + * + */ + public Builder initialCount(Integer initialCount) { + return initialCount(Output.of(initialCount)); + } + + /** + * @param interConnect The type of the network for interconnecting compute nodes in the queue. + * + * @return builder + * + */ + public Builder interConnect(@Nullable Output interConnect) { + $.interConnect = interConnect; + return this; + } + + /** + * @param interConnect The type of the network for interconnecting compute nodes in the queue. + * + * @return builder + * + */ + public Builder interConnect(String interConnect) { + return interConnect(Output.of(interConnect)); + } + + /** + * @param maxCount The maximum number of compute nodes that the queue can contain. + * + * @return builder + * + */ + public Builder maxCount(@Nullable Output maxCount) { + $.maxCount = maxCount; + return this; + } + + /** + * @param maxCount The maximum number of compute nodes that the queue can contain. + * + * @return builder + * + */ + public Builder maxCount(Integer maxCount) { + return maxCount(Output.of(maxCount)); + } + + /** + * @param minCount The minimum number of compute nodes that the queue must contain. + * + * @return builder + * + */ + public Builder minCount(@Nullable Output minCount) { + $.minCount = minCount; + return this; + } + + /** + * @param minCount The minimum number of compute nodes that the queue must contain. + * + * @return builder + * + */ + public Builder minCount(Integer minCount) { + return minCount(Output.of(minCount)); + } + + /** + * @param queueName The queue name. + * + * @return builder + * + */ + public Builder queueName(@Nullable Output queueName) { + $.queueName = queueName; + return this; + } + + /** + * @param queueName The queue name. + * + * @return builder + * + */ + public Builder queueName(String queueName) { + return queueName(Output.of(queueName)); + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(@Nullable Output> vswitchIds) { + $.vswitchIds = vswitchIds; + return this; + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(List vswitchIds) { + return vswitchIds(Output.of(vswitchIds)); + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(String... vswitchIds) { + return vswitchIds(List.of(vswitchIds)); + } + + public QueueArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2AddonArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2AddonArgs.java new file mode 100644 index 0000000000..a9cbc11337 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2AddonArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2AddonArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2AddonArgs Empty = new ClusterV2AddonArgs(); + + /** + * Customize the specific configuration information of the service component. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Customize the specific configuration information of the service component. + * + */ + public Output name() { + return this.name; + } + + /** + * Customize the resource configuration of the service component. + * + */ + @Import(name="resourcesSpec") + private @Nullable Output resourcesSpec; + + /** + * @return Customize the resource configuration of the service component. + * + */ + public Optional> resourcesSpec() { + return Optional.ofNullable(this.resourcesSpec); + } + + /** + * Customize the service configuration of the service component. + * + */ + @Import(name="servicesSpec") + private @Nullable Output servicesSpec; + + /** + * @return Customize the service configuration of the service component. + * + */ + public Optional> servicesSpec() { + return Optional.ofNullable(this.servicesSpec); + } + + /** + * Customize the service component version. + * + */ + @Import(name="version", required=true) + private Output version; + + /** + * @return Customize the service component version. + * + */ + public Output version() { + return this.version; + } + + private ClusterV2AddonArgs() {} + + private ClusterV2AddonArgs(ClusterV2AddonArgs $) { + this.name = $.name; + this.resourcesSpec = $.resourcesSpec; + this.servicesSpec = $.servicesSpec; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2AddonArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2AddonArgs $; + + public Builder() { + $ = new ClusterV2AddonArgs(); + } + + public Builder(ClusterV2AddonArgs defaults) { + $ = new ClusterV2AddonArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Customize the specific configuration information of the service component. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Customize the specific configuration information of the service component. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resourcesSpec Customize the resource configuration of the service component. + * + * @return builder + * + */ + public Builder resourcesSpec(@Nullable Output resourcesSpec) { + $.resourcesSpec = resourcesSpec; + return this; + } + + /** + * @param resourcesSpec Customize the resource configuration of the service component. + * + * @return builder + * + */ + public Builder resourcesSpec(String resourcesSpec) { + return resourcesSpec(Output.of(resourcesSpec)); + } + + /** + * @param servicesSpec Customize the service configuration of the service component. + * + * @return builder + * + */ + public Builder servicesSpec(@Nullable Output servicesSpec) { + $.servicesSpec = servicesSpec; + return this; + } + + /** + * @param servicesSpec Customize the service configuration of the service component. + * + * @return builder + * + */ + public Builder servicesSpec(String servicesSpec) { + return servicesSpec(Output.of(servicesSpec)); + } + + /** + * @param version Customize the service component version. + * + * @return builder + * + */ + public Builder version(Output version) { + $.version = version; + return this; + } + + /** + * @param version Customize the service component version. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public ClusterV2AddonArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ClusterV2AddonArgs", "name"); + } + if ($.version == null) { + throw new MissingRequiredPropertyException("ClusterV2AddonArgs", "version"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ClusterCredentialsArgs.java new file mode 100644 index 0000000000..54c56c7477 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ClusterCredentialsArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ClusterCredentialsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ClusterCredentialsArgs Empty = new ClusterV2ClusterCredentialsArgs(); + + /** + * The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + */ + @Import(name="password") + private @Nullable Output password; + + /** + * @return The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + */ + public Optional> password() { + return Optional.ofNullable(this.password); + } + + private ClusterV2ClusterCredentialsArgs() {} + + private ClusterV2ClusterCredentialsArgs(ClusterV2ClusterCredentialsArgs $) { + this.password = $.password; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ClusterCredentialsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ClusterCredentialsArgs $; + + public Builder() { + $ = new ClusterV2ClusterCredentialsArgs(); + } + + public Builder(ClusterV2ClusterCredentialsArgs defaults) { + $ = new ClusterV2ClusterCredentialsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param password The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + * @return builder + * + */ + public Builder password(@Nullable Output password) { + $.password = password; + return this; + } + + /** + * @param password The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + public ClusterV2ClusterCredentialsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerArgs.java new file mode 100644 index 0000000000..0d54fe7b28 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerArgs.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerArgs Empty = new ClusterV2ManagerArgs(); + + /** + * The configurations of the domain account service. See `directoryService` below. + * + */ + @Import(name="directoryService") + private @Nullable Output directoryService; + + /** + * @return The configurations of the domain account service. See `directoryService` below. + * + */ + public Optional> directoryService() { + return Optional.ofNullable(this.directoryService); + } + + /** + * The configurations of the domain name resolution service. See `dns` below. + * + */ + @Import(name="dns") + private @Nullable Output dns; + + /** + * @return The configurations of the domain name resolution service. See `dns` below. + * + */ + public Optional> dns() { + return Optional.ofNullable(this.dns); + } + + /** + * The hardware configurations of the management node. See `managerNode` below. + * + */ + @Import(name="managerNode") + private @Nullable Output managerNode; + + /** + * @return The hardware configurations of the management node. See `managerNode` below. + * + */ + public Optional> managerNode() { + return Optional.ofNullable(this.managerNode); + } + + /** + * The configurations of the scheduler service. See `scheduler` below. + * + */ + @Import(name="scheduler") + private @Nullable Output scheduler; + + /** + * @return The configurations of the scheduler service. See `scheduler` below. + * + */ + public Optional> scheduler() { + return Optional.ofNullable(this.scheduler); + } + + private ClusterV2ManagerArgs() {} + + private ClusterV2ManagerArgs(ClusterV2ManagerArgs $) { + this.directoryService = $.directoryService; + this.dns = $.dns; + this.managerNode = $.managerNode; + this.scheduler = $.scheduler; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerArgs $; + + public Builder() { + $ = new ClusterV2ManagerArgs(); + } + + public Builder(ClusterV2ManagerArgs defaults) { + $ = new ClusterV2ManagerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param directoryService The configurations of the domain account service. See `directoryService` below. + * + * @return builder + * + */ + public Builder directoryService(@Nullable Output directoryService) { + $.directoryService = directoryService; + return this; + } + + /** + * @param directoryService The configurations of the domain account service. See `directoryService` below. + * + * @return builder + * + */ + public Builder directoryService(ClusterV2ManagerDirectoryServiceArgs directoryService) { + return directoryService(Output.of(directoryService)); + } + + /** + * @param dns The configurations of the domain name resolution service. See `dns` below. + * + * @return builder + * + */ + public Builder dns(@Nullable Output dns) { + $.dns = dns; + return this; + } + + /** + * @param dns The configurations of the domain name resolution service. See `dns` below. + * + * @return builder + * + */ + public Builder dns(ClusterV2ManagerDnsArgs dns) { + return dns(Output.of(dns)); + } + + /** + * @param managerNode The hardware configurations of the management node. See `managerNode` below. + * + * @return builder + * + */ + public Builder managerNode(@Nullable Output managerNode) { + $.managerNode = managerNode; + return this; + } + + /** + * @param managerNode The hardware configurations of the management node. See `managerNode` below. + * + * @return builder + * + */ + public Builder managerNode(ClusterV2ManagerManagerNodeArgs managerNode) { + return managerNode(Output.of(managerNode)); + } + + /** + * @param scheduler The configurations of the scheduler service. See `scheduler` below. + * + * @return builder + * + */ + public Builder scheduler(@Nullable Output scheduler) { + $.scheduler = scheduler; + return this; + } + + /** + * @param scheduler The configurations of the scheduler service. See `scheduler` below. + * + * @return builder + * + */ + public Builder scheduler(ClusterV2ManagerSchedulerArgs scheduler) { + return scheduler(Output.of(scheduler)); + } + + public ClusterV2ManagerArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDirectoryServiceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDirectoryServiceArgs.java new file mode 100644 index 0000000000..5eb85d45c6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDirectoryServiceArgs.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerDirectoryServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerDirectoryServiceArgs Empty = new ClusterV2ManagerDirectoryServiceArgs(); + + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + @Import(name="version") + private @Nullable Output version; + + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private ClusterV2ManagerDirectoryServiceArgs() {} + + private ClusterV2ManagerDirectoryServiceArgs(ClusterV2ManagerDirectoryServiceArgs $) { + this.type = $.type; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerDirectoryServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerDirectoryServiceArgs $; + + public Builder() { + $ = new ClusterV2ManagerDirectoryServiceArgs(); + } + + public Builder(ClusterV2ManagerDirectoryServiceArgs defaults) { + $ = new ClusterV2ManagerDirectoryServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + public Builder version(String version) { + return version(Output.of(version)); + } + + public ClusterV2ManagerDirectoryServiceArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDnsArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDnsArgs.java new file mode 100644 index 0000000000..16e299853c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerDnsArgs.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerDnsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerDnsArgs Empty = new ClusterV2ManagerDnsArgs(); + + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + @Import(name="version") + private @Nullable Output version; + + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private ClusterV2ManagerDnsArgs() {} + + private ClusterV2ManagerDnsArgs(ClusterV2ManagerDnsArgs $) { + this.type = $.type; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerDnsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerDnsArgs $; + + public Builder() { + $ = new ClusterV2ManagerDnsArgs(); + } + + public Builder(ClusterV2ManagerDnsArgs defaults) { + $ = new ClusterV2ManagerDnsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + public Builder version(String version) { + return version(Output.of(version)); + } + + public ClusterV2ManagerDnsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeArgs.java new file mode 100644 index 0000000000..12b7a03955 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeArgs.java @@ -0,0 +1,648 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerManagerNodeArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerManagerNodeArgs Empty = new ClusterV2ManagerManagerNodeArgs(); + + /** + * Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + + /** + * The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + */ + @Import(name="autoRenewPeriod") + private @Nullable Output autoRenewPeriod; + + /** + * @return The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + */ + public Optional> autoRenewPeriod() { + return Optional.ofNullable(this.autoRenewPeriod); + } + + /** + * The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + */ + @Import(name="duration") + private @Nullable Output duration; + + /** + * @return The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + */ + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + /** + * EnableHT + * + */ + @Import(name="enableHt") + private @Nullable Output enableHt; + + /** + * @return EnableHT + * + */ + public Optional> enableHt() { + return Optional.ofNullable(this.enableHt); + } + + /** + * The expiration time of the management node. + * + */ + @Import(name="expiredTime") + private @Nullable Output expiredTime; + + /** + * @return The expiration time of the management node. + * + */ + public Optional> expiredTime() { + return Optional.ofNullable(this.expiredTime); + } + + /** + * ImageId + * + */ + @Import(name="imageId") + private @Nullable Output imageId; + + /** + * @return ImageId + * + */ + public Optional> imageId() { + return Optional.ofNullable(this.imageId); + } + + /** + * The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + */ + @Import(name="instanceChargeType") + private @Nullable Output instanceChargeType; + + /** + * @return The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + */ + public Optional> instanceChargeType() { + return Optional.ofNullable(this.instanceChargeType); + } + + /** + * The instance ID of the management node. + * + */ + @Import(name="instanceId") + private @Nullable Output instanceId; + + /** + * @return The instance ID of the management node. + * + */ + public Optional> instanceId() { + return Optional.ofNullable(this.instanceId); + } + + /** + * The instance type of the management node. + * + */ + @Import(name="instanceType") + private @Nullable Output instanceType; + + /** + * @return The instance type of the management node. + * + */ + public Optional> instanceType() { + return Optional.ofNullable(this.instanceType); + } + + /** + * The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + */ + @Import(name="period") + private @Nullable Output period; + + /** + * @return The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + */ + public Optional> period() { + return Optional.ofNullable(this.period); + } + + /** + * The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + */ + @Import(name="periodUnit") + private @Nullable Output periodUnit; + + /** + * @return The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + */ + public Optional> periodUnit() { + return Optional.ofNullable(this.periodUnit); + } + + /** + * Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + */ + @Import(name="spotPriceLimit") + private @Nullable Output spotPriceLimit; + + /** + * @return Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + */ + public Optional> spotPriceLimit() { + return Optional.ofNullable(this.spotPriceLimit); + } + + /** + * The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + */ + @Import(name="spotStrategy") + private @Nullable Output spotStrategy; + + /** + * @return The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + */ + public Optional> spotStrategy() { + return Optional.ofNullable(this.spotStrategy); + } + + /** + * System disk configuration of the management node. See `systemDisk` below. + * + */ + @Import(name="systemDisk") + private @Nullable Output systemDisk; + + /** + * @return System disk configuration of the management node. See `systemDisk` below. + * + */ + public Optional> systemDisk() { + return Optional.ofNullable(this.systemDisk); + } + + private ClusterV2ManagerManagerNodeArgs() {} + + private ClusterV2ManagerManagerNodeArgs(ClusterV2ManagerManagerNodeArgs $) { + this.autoRenew = $.autoRenew; + this.autoRenewPeriod = $.autoRenewPeriod; + this.duration = $.duration; + this.enableHt = $.enableHt; + this.expiredTime = $.expiredTime; + this.imageId = $.imageId; + this.instanceChargeType = $.instanceChargeType; + this.instanceId = $.instanceId; + this.instanceType = $.instanceType; + this.period = $.period; + this.periodUnit = $.periodUnit; + this.spotPriceLimit = $.spotPriceLimit; + this.spotStrategy = $.spotStrategy; + this.systemDisk = $.systemDisk; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerManagerNodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerManagerNodeArgs $; + + public Builder() { + $ = new ClusterV2ManagerManagerNodeArgs(); + } + + public Builder(ClusterV2ManagerManagerNodeArgs defaults) { + $ = new ClusterV2ManagerManagerNodeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param autoRenew Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + * @return builder + * + */ + public Builder autoRenew(Boolean autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + + /** + * @param autoRenewPeriod The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + * @return builder + * + */ + public Builder autoRenewPeriod(@Nullable Output autoRenewPeriod) { + $.autoRenewPeriod = autoRenewPeriod; + return this; + } + + /** + * @param autoRenewPeriod The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + * @return builder + * + */ + public Builder autoRenewPeriod(Integer autoRenewPeriod) { + return autoRenewPeriod(Output.of(autoRenewPeriod)); + } + + /** + * @param duration The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + * @return builder + * + */ + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + * @return builder + * + */ + public Builder duration(Integer duration) { + return duration(Output.of(duration)); + } + + /** + * @param enableHt EnableHT + * + * @return builder + * + */ + public Builder enableHt(@Nullable Output enableHt) { + $.enableHt = enableHt; + return this; + } + + /** + * @param enableHt EnableHT + * + * @return builder + * + */ + public Builder enableHt(Boolean enableHt) { + return enableHt(Output.of(enableHt)); + } + + /** + * @param expiredTime The expiration time of the management node. + * + * @return builder + * + */ + public Builder expiredTime(@Nullable Output expiredTime) { + $.expiredTime = expiredTime; + return this; + } + + /** + * @param expiredTime The expiration time of the management node. + * + * @return builder + * + */ + public Builder expiredTime(String expiredTime) { + return expiredTime(Output.of(expiredTime)); + } + + /** + * @param imageId ImageId + * + * @return builder + * + */ + public Builder imageId(@Nullable Output imageId) { + $.imageId = imageId; + return this; + } + + /** + * @param imageId ImageId + * + * @return builder + * + */ + public Builder imageId(String imageId) { + return imageId(Output.of(imageId)); + } + + /** + * @param instanceChargeType The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + * @return builder + * + */ + public Builder instanceChargeType(@Nullable Output instanceChargeType) { + $.instanceChargeType = instanceChargeType; + return this; + } + + /** + * @param instanceChargeType The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + * @return builder + * + */ + public Builder instanceChargeType(String instanceChargeType) { + return instanceChargeType(Output.of(instanceChargeType)); + } + + /** + * @param instanceId The instance ID of the management node. + * + * @return builder + * + */ + public Builder instanceId(@Nullable Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId The instance ID of the management node. + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param instanceType The instance type of the management node. + * + * @return builder + * + */ + public Builder instanceType(@Nullable Output instanceType) { + $.instanceType = instanceType; + return this; + } + + /** + * @param instanceType The instance type of the management node. + * + * @return builder + * + */ + public Builder instanceType(String instanceType) { + return instanceType(Output.of(instanceType)); + } + + /** + * @param period The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + * @return builder + * + */ + public Builder period(@Nullable Output period) { + $.period = period; + return this; + } + + /** + * @param period The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + * @return builder + * + */ + public Builder period(Integer period) { + return period(Output.of(period)); + } + + /** + * @param periodUnit The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + * @return builder + * + */ + public Builder periodUnit(@Nullable Output periodUnit) { + $.periodUnit = periodUnit; + return this; + } + + /** + * @param periodUnit The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + * @return builder + * + */ + public Builder periodUnit(String periodUnit) { + return periodUnit(Output.of(periodUnit)); + } + + /** + * @param spotPriceLimit Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + * @return builder + * + */ + public Builder spotPriceLimit(@Nullable Output spotPriceLimit) { + $.spotPriceLimit = spotPriceLimit; + return this; + } + + /** + * @param spotPriceLimit Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + * @return builder + * + */ + public Builder spotPriceLimit(Double spotPriceLimit) { + return spotPriceLimit(Output.of(spotPriceLimit)); + } + + /** + * @param spotStrategy The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + * @return builder + * + */ + public Builder spotStrategy(@Nullable Output spotStrategy) { + $.spotStrategy = spotStrategy; + return this; + } + + /** + * @param spotStrategy The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + * @return builder + * + */ + public Builder spotStrategy(String spotStrategy) { + return spotStrategy(Output.of(spotStrategy)); + } + + /** + * @param systemDisk System disk configuration of the management node. See `systemDisk` below. + * + * @return builder + * + */ + public Builder systemDisk(@Nullable Output systemDisk) { + $.systemDisk = systemDisk; + return this; + } + + /** + * @param systemDisk System disk configuration of the management node. See `systemDisk` below. + * + * @return builder + * + */ + public Builder systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs systemDisk) { + return systemDisk(Output.of(systemDisk)); + } + + public ClusterV2ManagerManagerNodeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.java new file mode 100644 index 0000000000..97640413f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerManagerNodeSystemDiskArgs.java @@ -0,0 +1,218 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerManagerNodeSystemDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerManagerNodeSystemDiskArgs Empty = new ClusterV2ManagerManagerNodeSystemDiskArgs(); + + /** + * Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + */ + @Import(name="category") + private @Nullable Output category; + + /** + * @return Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + */ + public Optional> category() { + return Optional.ofNullable(this.category); + } + + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + */ + @Import(name="level") + private @Nullable Output level; + + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + */ + public Optional> level() { + return Optional.ofNullable(this.level); + } + + /** + * The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + */ + @Import(name="size") + private @Nullable Output size; + + /** + * @return The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + */ + public Optional> size() { + return Optional.ofNullable(this.size); + } + + private ClusterV2ManagerManagerNodeSystemDiskArgs() {} + + private ClusterV2ManagerManagerNodeSystemDiskArgs(ClusterV2ManagerManagerNodeSystemDiskArgs $) { + this.category = $.category; + this.level = $.level; + this.size = $.size; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerManagerNodeSystemDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerManagerNodeSystemDiskArgs $; + + public Builder() { + $ = new ClusterV2ManagerManagerNodeSystemDiskArgs(); + } + + public Builder(ClusterV2ManagerManagerNodeSystemDiskArgs defaults) { + $ = new ClusterV2ManagerManagerNodeSystemDiskArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param category Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + * @return builder + * + */ + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + /** + * @param category Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param level When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + * @return builder + * + */ + public Builder level(@Nullable Output level) { + $.level = level; + return this; + } + + /** + * @param level When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + * @return builder + * + */ + public Builder level(String level) { + return level(Output.of(level)); + } + + /** + * @param size The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + * @return builder + * + */ + public Builder size(@Nullable Output size) { + $.size = size; + return this; + } + + /** + * @param size The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + * @return builder + * + */ + public Builder size(Integer size) { + return size(Output.of(size)); + } + + public ClusterV2ManagerManagerNodeSystemDiskArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerSchedulerArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerSchedulerArgs.java new file mode 100644 index 0000000000..fa73049532 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2ManagerSchedulerArgs.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2ManagerSchedulerArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2ManagerSchedulerArgs Empty = new ClusterV2ManagerSchedulerArgs(); + + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + @Import(name="version") + private @Nullable Output version; + + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private ClusterV2ManagerSchedulerArgs() {} + + private ClusterV2ManagerSchedulerArgs(ClusterV2ManagerSchedulerArgs $) { + this.type = $.type; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2ManagerSchedulerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2ManagerSchedulerArgs $; + + public Builder() { + $ = new ClusterV2ManagerSchedulerArgs(); + } + + public Builder(ClusterV2ManagerSchedulerArgs defaults) { + $ = new ClusterV2ManagerSchedulerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + public Builder version(String version) { + return version(Output.of(version)); + } + + public ClusterV2ManagerSchedulerArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2SharedStorageArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2SharedStorageArgs.java new file mode 100644 index 0000000000..29e40a6642 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2SharedStorageArgs.java @@ -0,0 +1,276 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2SharedStorageArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2SharedStorageArgs Empty = new ClusterV2SharedStorageArgs(); + + /** + * The ID of the mounted file system. + * + */ + @Import(name="fileSystemId") + private @Nullable Output fileSystemId; + + /** + * @return The ID of the mounted file system. + * + */ + public Optional> fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + + /** + * The local Mount directory where the file system is mounted. + * + */ + @Import(name="mountDirectory") + private @Nullable Output mountDirectory; + + /** + * @return The local Mount directory where the file system is mounted. + * + */ + public Optional> mountDirectory() { + return Optional.ofNullable(this.mountDirectory); + } + + /** + * Storage mount options for the mounted file system. + * + */ + @Import(name="mountOptions") + private @Nullable Output mountOptions; + + /** + * @return Storage mount options for the mounted file system. + * + */ + public Optional> mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + + /** + * The mount point address of the mounted file system. + * + */ + @Import(name="mountTargetDomain") + private @Nullable Output mountTargetDomain; + + /** + * @return The mount point address of the mounted file system. + * + */ + public Optional> mountTargetDomain() { + return Optional.ofNullable(this.mountTargetDomain); + } + + /** + * The remote directory to which the mounted file system needs to be mounted. + * + */ + @Import(name="nasDirectory") + private @Nullable Output nasDirectory; + + /** + * @return The remote directory to which the mounted file system needs to be mounted. + * + */ + public Optional> nasDirectory() { + return Optional.ofNullable(this.nasDirectory); + } + + /** + * The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + */ + @Import(name="protocolType") + private @Nullable Output protocolType; + + /** + * @return The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + */ + public Optional> protocolType() { + return Optional.ofNullable(this.protocolType); + } + + private ClusterV2SharedStorageArgs() {} + + private ClusterV2SharedStorageArgs(ClusterV2SharedStorageArgs $) { + this.fileSystemId = $.fileSystemId; + this.mountDirectory = $.mountDirectory; + this.mountOptions = $.mountOptions; + this.mountTargetDomain = $.mountTargetDomain; + this.nasDirectory = $.nasDirectory; + this.protocolType = $.protocolType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2SharedStorageArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2SharedStorageArgs $; + + public Builder() { + $ = new ClusterV2SharedStorageArgs(); + } + + public Builder(ClusterV2SharedStorageArgs defaults) { + $ = new ClusterV2SharedStorageArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fileSystemId The ID of the mounted file system. + * + * @return builder + * + */ + public Builder fileSystemId(@Nullable Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the mounted file system. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param mountDirectory The local Mount directory where the file system is mounted. + * + * @return builder + * + */ + public Builder mountDirectory(@Nullable Output mountDirectory) { + $.mountDirectory = mountDirectory; + return this; + } + + /** + * @param mountDirectory The local Mount directory where the file system is mounted. + * + * @return builder + * + */ + public Builder mountDirectory(String mountDirectory) { + return mountDirectory(Output.of(mountDirectory)); + } + + /** + * @param mountOptions Storage mount options for the mounted file system. + * + * @return builder + * + */ + public Builder mountOptions(@Nullable Output mountOptions) { + $.mountOptions = mountOptions; + return this; + } + + /** + * @param mountOptions Storage mount options for the mounted file system. + * + * @return builder + * + */ + public Builder mountOptions(String mountOptions) { + return mountOptions(Output.of(mountOptions)); + } + + /** + * @param mountTargetDomain The mount point address of the mounted file system. + * + * @return builder + * + */ + public Builder mountTargetDomain(@Nullable Output mountTargetDomain) { + $.mountTargetDomain = mountTargetDomain; + return this; + } + + /** + * @param mountTargetDomain The mount point address of the mounted file system. + * + * @return builder + * + */ + public Builder mountTargetDomain(String mountTargetDomain) { + return mountTargetDomain(Output.of(mountTargetDomain)); + } + + /** + * @param nasDirectory The remote directory to which the mounted file system needs to be mounted. + * + * @return builder + * + */ + public Builder nasDirectory(@Nullable Output nasDirectory) { + $.nasDirectory = nasDirectory; + return this; + } + + /** + * @param nasDirectory The remote directory to which the mounted file system needs to be mounted. + * + * @return builder + * + */ + public Builder nasDirectory(String nasDirectory) { + return nasDirectory(Output.of(nasDirectory)); + } + + /** + * @param protocolType The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + * @return builder + * + */ + public Builder protocolType(@Nullable Output protocolType) { + $.protocolType = protocolType; + return this; + } + + /** + * @param protocolType The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + * @return builder + * + */ + public Builder protocolType(String protocolType) { + return protocolType(Output.of(protocolType)); + } + + public ClusterV2SharedStorageArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2State.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2State.java new file mode 100644 index 0000000000..b80da7e2b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/ClusterV2State.java @@ -0,0 +1,638 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.alicloud.ehpc.inputs.ClusterV2AddonArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs; +import com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterV2State extends com.pulumi.resources.ResourceArgs { + + public static final ClusterV2State Empty = new ClusterV2State(); + + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + @Import(name="addons") + private @Nullable Output> addons; + + /** + * @return The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + */ + public Optional>> addons() { + return Optional.ofNullable(this.addons); + } + + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + @Import(name="clientVersion") + private @Nullable Output clientVersion; + + /** + * @return Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + */ + public Optional> clientVersion() { + return Optional.ofNullable(this.clientVersion); + } + + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + @Import(name="clusterCategory") + private @Nullable Output clusterCategory; + + /** + * @return The cluster type. Valid values: + * + * - Standard + * - Serverless + * + */ + public Optional> clusterCategory() { + return Optional.ofNullable(this.clusterCategory); + } + + /** + * Security credentials for the cluster. See `clusterCredentials` below. + * + */ + @Import(name="clusterCredentials") + private @Nullable Output clusterCredentials; + + /** + * @return Security credentials for the cluster. See `clusterCredentials` below. + * + */ + public Optional> clusterCredentials() { + return Optional.ofNullable(this.clusterCredentials); + } + + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + @Import(name="clusterMode") + private @Nullable Output clusterMode; + + /** + * @return The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + */ + public Optional> clusterMode() { + return Optional.ofNullable(this.clusterMode); + } + + /** + * The post-processing script of the cluster. + * + */ + @Import(name="clusterName") + private @Nullable Output clusterName; + + /** + * @return The post-processing script of the cluster. + * + */ + public Optional> clusterName() { + return Optional.ofNullable(this.clusterName); + } + + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + @Import(name="clusterVpcId") + private @Nullable Output clusterVpcId; + + /** + * @return The ID of the virtual private cloud (VPC) in which the cluster resides. + * + */ + public Optional> clusterVpcId() { + return Optional.ofNullable(this.clusterVpcId); + } + + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + @Import(name="clusterVswitchId") + private @Nullable Output clusterVswitchId; + + /** + * @return The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + */ + public Optional> clusterVswitchId() { + return Optional.ofNullable(this.clusterVswitchId); + } + + /** + * The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * The idle duration of the compute nodes allowed by the cluster. + * + */ + @Import(name="deletionProtection") + private @Nullable Output deletionProtection; + + /** + * @return The idle duration of the compute nodes allowed by the cluster. + * + */ + public Optional> deletionProtection() { + return Optional.ofNullable(this.deletionProtection); + } + + /** + * The configurations of the cluster management node. See `manager` below. + * + */ + @Import(name="manager") + private @Nullable Output manager; + + /** + * @return The configurations of the cluster management node. See `manager` below. + * + */ + public Optional> manager() { + return Optional.ofNullable(this.manager); + } + + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + @Import(name="resourceGroupId") + private @Nullable Output resourceGroupId; + + /** + * @return The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + */ + public Optional> resourceGroupId() { + return Optional.ofNullable(this.resourceGroupId); + } + + /** + * The security group ID. + * + */ + @Import(name="securityGroupId") + private @Nullable Output securityGroupId; + + /** + * @return The security group ID. + * + */ + public Optional> securityGroupId() { + return Optional.ofNullable(this.securityGroupId); + } + + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + @Import(name="sharedStorages") + private @Nullable Output> sharedStorages; + + /** + * @return List of cluster shared storage configurations. See `sharedStorages` below. + * + */ + public Optional>> sharedStorages() { + return Optional.ofNullable(this.sharedStorages); + } + + private ClusterV2State() {} + + private ClusterV2State(ClusterV2State $) { + this.addons = $.addons; + this.clientVersion = $.clientVersion; + this.clusterCategory = $.clusterCategory; + this.clusterCredentials = $.clusterCredentials; + this.clusterMode = $.clusterMode; + this.clusterName = $.clusterName; + this.clusterVpcId = $.clusterVpcId; + this.clusterVswitchId = $.clusterVswitchId; + this.createTime = $.createTime; + this.deletionProtection = $.deletionProtection; + this.manager = $.manager; + this.resourceGroupId = $.resourceGroupId; + this.securityGroupId = $.securityGroupId; + this.sharedStorages = $.sharedStorages; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterV2State defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterV2State $; + + public Builder() { + $ = new ClusterV2State(); + } + + public Builder(ClusterV2State defaults) { + $ = new ClusterV2State(Objects.requireNonNull(defaults)); + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(@Nullable Output> addons) { + $.addons = addons; + return this; + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(List addons) { + return addons(Output.of(addons)); + } + + /** + * @param addons The cluster custom service component configuration. Only one component is supported. See `addons` below. + * + * @return builder + * + */ + public Builder addons(ClusterV2AddonArgs... addons) { + return addons(List.of(addons)); + } + + /** + * @param clientVersion Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder clientVersion(@Nullable Output clientVersion) { + $.clientVersion = clientVersion; + return this; + } + + /** + * @param clientVersion Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder clientVersion(String clientVersion) { + return clientVersion(Output.of(clientVersion)); + } + + /** + * @param clusterCategory The cluster type. Valid values: + * + * - Standard + * - Serverless + * + * @return builder + * + */ + public Builder clusterCategory(@Nullable Output clusterCategory) { + $.clusterCategory = clusterCategory; + return this; + } + + /** + * @param clusterCategory The cluster type. Valid values: + * + * - Standard + * - Serverless + * + * @return builder + * + */ + public Builder clusterCategory(String clusterCategory) { + return clusterCategory(Output.of(clusterCategory)); + } + + /** + * @param clusterCredentials Security credentials for the cluster. See `clusterCredentials` below. + * + * @return builder + * + */ + public Builder clusterCredentials(@Nullable Output clusterCredentials) { + $.clusterCredentials = clusterCredentials; + return this; + } + + /** + * @param clusterCredentials Security credentials for the cluster. See `clusterCredentials` below. + * + * @return builder + * + */ + public Builder clusterCredentials(ClusterV2ClusterCredentialsArgs clusterCredentials) { + return clusterCredentials(Output.of(clusterCredentials)); + } + + /** + * @param clusterMode The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + * @return builder + * + */ + public Builder clusterMode(@Nullable Output clusterMode) { + $.clusterMode = clusterMode; + return this; + } + + /** + * @param clusterMode The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + * + * @return builder + * + */ + public Builder clusterMode(String clusterMode) { + return clusterMode(Output.of(clusterMode)); + } + + /** + * @param clusterName The post-processing script of the cluster. + * + * @return builder + * + */ + public Builder clusterName(@Nullable Output clusterName) { + $.clusterName = clusterName; + return this; + } + + /** + * @param clusterName The post-processing script of the cluster. + * + * @return builder + * + */ + public Builder clusterName(String clusterName) { + return clusterName(Output.of(clusterName)); + } + + /** + * @param clusterVpcId The ID of the virtual private cloud (VPC) in which the cluster resides. + * + * @return builder + * + */ + public Builder clusterVpcId(@Nullable Output clusterVpcId) { + $.clusterVpcId = clusterVpcId; + return this; + } + + /** + * @param clusterVpcId The ID of the virtual private cloud (VPC) in which the cluster resides. + * + * @return builder + * + */ + public Builder clusterVpcId(String clusterVpcId) { + return clusterVpcId(Output.of(clusterVpcId)); + } + + /** + * @param clusterVswitchId The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + * @return builder + * + */ + public Builder clusterVswitchId(@Nullable Output clusterVswitchId) { + $.clusterVswitchId = clusterVswitchId; + return this; + } + + /** + * @param clusterVswitchId The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + * + * @return builder + * + */ + public Builder clusterVswitchId(String clusterVswitchId) { + return clusterVswitchId(Output.of(clusterVswitchId)); + } + + /** + * @param createTime The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param deletionProtection The idle duration of the compute nodes allowed by the cluster. + * + * @return builder + * + */ + public Builder deletionProtection(@Nullable Output deletionProtection) { + $.deletionProtection = deletionProtection; + return this; + } + + /** + * @param deletionProtection The idle duration of the compute nodes allowed by the cluster. + * + * @return builder + * + */ + public Builder deletionProtection(Boolean deletionProtection) { + return deletionProtection(Output.of(deletionProtection)); + } + + /** + * @param manager The configurations of the cluster management node. See `manager` below. + * + * @return builder + * + */ + public Builder manager(@Nullable Output manager) { + $.manager = manager; + return this; + } + + /** + * @param manager The configurations of the cluster management node. See `manager` below. + * + * @return builder + * + */ + public Builder manager(ClusterV2ManagerArgs manager) { + return manager(Output.of(manager)); + } + + /** + * @param resourceGroupId The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + * @return builder + * + */ + public Builder resourceGroupId(@Nullable Output resourceGroupId) { + $.resourceGroupId = resourceGroupId; + return this; + } + + /** + * @param resourceGroupId The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + * + * @return builder + * + */ + public Builder resourceGroupId(String resourceGroupId) { + return resourceGroupId(Output.of(resourceGroupId)); + } + + /** + * @param securityGroupId The security group ID. + * + * @return builder + * + */ + public Builder securityGroupId(@Nullable Output securityGroupId) { + $.securityGroupId = securityGroupId; + return this; + } + + /** + * @param securityGroupId The security group ID. + * + * @return builder + * + */ + public Builder securityGroupId(String securityGroupId) { + return securityGroupId(Output.of(securityGroupId)); + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(@Nullable Output> sharedStorages) { + $.sharedStorages = sharedStorages; + return this; + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(List sharedStorages) { + return sharedStorages(Output.of(sharedStorages)); + } + + /** + * @param sharedStorages List of cluster shared storage configurations. See `sharedStorages` below. + * + * @return builder + * + */ + public Builder sharedStorages(ClusterV2SharedStorageArgs... sharedStorages) { + return sharedStorages(List.of(sharedStorages)); + } + + public ClusterV2State build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeArgs.java new file mode 100644 index 0000000000..12b60eee39 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeArgs.java @@ -0,0 +1,494 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.alicloud.ehpc.inputs.QueueComputeNodeSystemDiskArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class QueueComputeNodeArgs extends com.pulumi.resources.ResourceArgs { + + public static final QueueComputeNodeArgs Empty = new QueueComputeNodeArgs(); + + /** + * AutoRenew + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return AutoRenew + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + + /** + * AutoRenewPeriod + * + */ + @Import(name="autoRenewPeriod") + private @Nullable Output autoRenewPeriod; + + /** + * @return AutoRenewPeriod + * + */ + public Optional> autoRenewPeriod() { + return Optional.ofNullable(this.autoRenewPeriod); + } + + /** + * Duration + * + */ + @Import(name="duration") + private @Nullable Output duration; + + /** + * @return Duration + * + */ + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + /** + * Whether HT is enabled for the computing node. + * + */ + @Import(name="enableHt") + private @Nullable Output enableHt; + + /** + * @return Whether HT is enabled for the computing node. + * + */ + public Optional> enableHt() { + return Optional.ofNullable(this.enableHt); + } + + /** + * ImageId + * + */ + @Import(name="imageId") + private @Nullable Output imageId; + + /** + * @return ImageId + * + */ + public Optional> imageId() { + return Optional.ofNullable(this.imageId); + } + + /** + * InstanceChargeType + * + */ + @Import(name="instanceChargeType") + private @Nullable Output instanceChargeType; + + /** + * @return InstanceChargeType + * + */ + public Optional> instanceChargeType() { + return Optional.ofNullable(this.instanceChargeType); + } + + /** + * InstanceTypes + * + */ + @Import(name="instanceType") + private @Nullable Output instanceType; + + /** + * @return InstanceTypes + * + */ + public Optional> instanceType() { + return Optional.ofNullable(this.instanceType); + } + + /** + * Period + * + */ + @Import(name="period") + private @Nullable Output period; + + /** + * @return Period + * + */ + public Optional> period() { + return Optional.ofNullable(this.period); + } + + /** + * PeriodUnit + * + */ + @Import(name="periodUnit") + private @Nullable Output periodUnit; + + /** + * @return PeriodUnit + * + */ + public Optional> periodUnit() { + return Optional.ofNullable(this.periodUnit); + } + + /** + * SpotPriceLimit + * + */ + @Import(name="spotPriceLimit") + private @Nullable Output spotPriceLimit; + + /** + * @return SpotPriceLimit + * + */ + public Optional> spotPriceLimit() { + return Optional.ofNullable(this.spotPriceLimit); + } + + /** + * SpotStrategy + * + */ + @Import(name="spotStrategy") + private @Nullable Output spotStrategy; + + /** + * @return SpotStrategy + * + */ + public Optional> spotStrategy() { + return Optional.ofNullable(this.spotStrategy); + } + + /** + * SystemDisk See `systemDisk` below. + * + */ + @Import(name="systemDisk") + private @Nullable Output systemDisk; + + /** + * @return SystemDisk See `systemDisk` below. + * + */ + public Optional> systemDisk() { + return Optional.ofNullable(this.systemDisk); + } + + private QueueComputeNodeArgs() {} + + private QueueComputeNodeArgs(QueueComputeNodeArgs $) { + this.autoRenew = $.autoRenew; + this.autoRenewPeriod = $.autoRenewPeriod; + this.duration = $.duration; + this.enableHt = $.enableHt; + this.imageId = $.imageId; + this.instanceChargeType = $.instanceChargeType; + this.instanceType = $.instanceType; + this.period = $.period; + this.periodUnit = $.periodUnit; + this.spotPriceLimit = $.spotPriceLimit; + this.spotStrategy = $.spotStrategy; + this.systemDisk = $.systemDisk; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(QueueComputeNodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private QueueComputeNodeArgs $; + + public Builder() { + $ = new QueueComputeNodeArgs(); + } + + public Builder(QueueComputeNodeArgs defaults) { + $ = new QueueComputeNodeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param autoRenew AutoRenew + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew AutoRenew + * + * @return builder + * + */ + public Builder autoRenew(Boolean autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + + /** + * @param autoRenewPeriod AutoRenewPeriod + * + * @return builder + * + */ + public Builder autoRenewPeriod(@Nullable Output autoRenewPeriod) { + $.autoRenewPeriod = autoRenewPeriod; + return this; + } + + /** + * @param autoRenewPeriod AutoRenewPeriod + * + * @return builder + * + */ + public Builder autoRenewPeriod(Integer autoRenewPeriod) { + return autoRenewPeriod(Output.of(autoRenewPeriod)); + } + + /** + * @param duration Duration + * + * @return builder + * + */ + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration Duration + * + * @return builder + * + */ + public Builder duration(Integer duration) { + return duration(Output.of(duration)); + } + + /** + * @param enableHt Whether HT is enabled for the computing node. + * + * @return builder + * + */ + public Builder enableHt(@Nullable Output enableHt) { + $.enableHt = enableHt; + return this; + } + + /** + * @param enableHt Whether HT is enabled for the computing node. + * + * @return builder + * + */ + public Builder enableHt(Boolean enableHt) { + return enableHt(Output.of(enableHt)); + } + + /** + * @param imageId ImageId + * + * @return builder + * + */ + public Builder imageId(@Nullable Output imageId) { + $.imageId = imageId; + return this; + } + + /** + * @param imageId ImageId + * + * @return builder + * + */ + public Builder imageId(String imageId) { + return imageId(Output.of(imageId)); + } + + /** + * @param instanceChargeType InstanceChargeType + * + * @return builder + * + */ + public Builder instanceChargeType(@Nullable Output instanceChargeType) { + $.instanceChargeType = instanceChargeType; + return this; + } + + /** + * @param instanceChargeType InstanceChargeType + * + * @return builder + * + */ + public Builder instanceChargeType(String instanceChargeType) { + return instanceChargeType(Output.of(instanceChargeType)); + } + + /** + * @param instanceType InstanceTypes + * + * @return builder + * + */ + public Builder instanceType(@Nullable Output instanceType) { + $.instanceType = instanceType; + return this; + } + + /** + * @param instanceType InstanceTypes + * + * @return builder + * + */ + public Builder instanceType(String instanceType) { + return instanceType(Output.of(instanceType)); + } + + /** + * @param period Period + * + * @return builder + * + */ + public Builder period(@Nullable Output period) { + $.period = period; + return this; + } + + /** + * @param period Period + * + * @return builder + * + */ + public Builder period(Integer period) { + return period(Output.of(period)); + } + + /** + * @param periodUnit PeriodUnit + * + * @return builder + * + */ + public Builder periodUnit(@Nullable Output periodUnit) { + $.periodUnit = periodUnit; + return this; + } + + /** + * @param periodUnit PeriodUnit + * + * @return builder + * + */ + public Builder periodUnit(String periodUnit) { + return periodUnit(Output.of(periodUnit)); + } + + /** + * @param spotPriceLimit SpotPriceLimit + * + * @return builder + * + */ + public Builder spotPriceLimit(@Nullable Output spotPriceLimit) { + $.spotPriceLimit = spotPriceLimit; + return this; + } + + /** + * @param spotPriceLimit SpotPriceLimit + * + * @return builder + * + */ + public Builder spotPriceLimit(Double spotPriceLimit) { + return spotPriceLimit(Output.of(spotPriceLimit)); + } + + /** + * @param spotStrategy SpotStrategy + * + * @return builder + * + */ + public Builder spotStrategy(@Nullable Output spotStrategy) { + $.spotStrategy = spotStrategy; + return this; + } + + /** + * @param spotStrategy SpotStrategy + * + * @return builder + * + */ + public Builder spotStrategy(String spotStrategy) { + return spotStrategy(Output.of(spotStrategy)); + } + + /** + * @param systemDisk SystemDisk See `systemDisk` below. + * + * @return builder + * + */ + public Builder systemDisk(@Nullable Output systemDisk) { + $.systemDisk = systemDisk; + return this; + } + + /** + * @param systemDisk SystemDisk See `systemDisk` below. + * + * @return builder + * + */ + public Builder systemDisk(QueueComputeNodeSystemDiskArgs systemDisk) { + return systemDisk(Output.of(systemDisk)); + } + + public QueueComputeNodeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeSystemDiskArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeSystemDiskArgs.java new file mode 100644 index 0000000000..5993a067ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueComputeNodeSystemDiskArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class QueueComputeNodeSystemDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final QueueComputeNodeSystemDiskArgs Empty = new QueueComputeNodeSystemDiskArgs(); + + /** + * Category + * + */ + @Import(name="category") + private @Nullable Output category; + + /** + * @return Category + * + */ + public Optional> category() { + return Optional.ofNullable(this.category); + } + + /** + * Level + * + */ + @Import(name="level") + private @Nullable Output level; + + /** + * @return Level + * + */ + public Optional> level() { + return Optional.ofNullable(this.level); + } + + /** + * Size + * + */ + @Import(name="size") + private @Nullable Output size; + + /** + * @return Size + * + */ + public Optional> size() { + return Optional.ofNullable(this.size); + } + + private QueueComputeNodeSystemDiskArgs() {} + + private QueueComputeNodeSystemDiskArgs(QueueComputeNodeSystemDiskArgs $) { + this.category = $.category; + this.level = $.level; + this.size = $.size; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(QueueComputeNodeSystemDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private QueueComputeNodeSystemDiskArgs $; + + public Builder() { + $ = new QueueComputeNodeSystemDiskArgs(); + } + + public Builder(QueueComputeNodeSystemDiskArgs defaults) { + $ = new QueueComputeNodeSystemDiskArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param category Category + * + * @return builder + * + */ + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + /** + * @param category Category + * + * @return builder + * + */ + public Builder category(String category) { + return category(Output.of(category)); + } + + /** + * @param level Level + * + * @return builder + * + */ + public Builder level(@Nullable Output level) { + $.level = level; + return this; + } + + /** + * @param level Level + * + * @return builder + * + */ + public Builder level(String level) { + return level(Output.of(level)); + } + + /** + * @param size Size + * + * @return builder + * + */ + public Builder size(@Nullable Output size) { + $.size = size; + return this; + } + + /** + * @param size Size + * + * @return builder + * + */ + public Builder size(Integer size) { + return size(Output.of(size)); + } + + public QueueComputeNodeSystemDiskArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueState.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueState.java new file mode 100644 index 0000000000..b936ab324e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/inputs/QueueState.java @@ -0,0 +1,579 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.inputs; + +import com.pulumi.alicloud.ehpc.inputs.QueueComputeNodeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class QueueState extends com.pulumi.resources.ResourceArgs { + + public static final QueueState Empty = new QueueState(); + + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + @Import(name="clusterId") + private @Nullable Output clusterId; + + /** + * @return The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + */ + public Optional> clusterId() { + return Optional.ofNullable(this.clusterId); + } + + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + @Import(name="computeNodes") + private @Nullable Output> computeNodes; + + /** + * @return The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + */ + public Optional>> computeNodes() { + return Optional.ofNullable(this.computeNodes); + } + + /** + * The creation time of the resource + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + @Import(name="enableScaleIn") + private @Nullable Output enableScaleIn; + + /** + * @return Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + */ + public Optional> enableScaleIn() { + return Optional.ofNullable(this.enableScaleIn); + } + + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + @Import(name="enableScaleOut") + private @Nullable Output enableScaleOut; + + /** + * @return Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + */ + public Optional> enableScaleOut() { + return Optional.ofNullable(this.enableScaleOut); + } + + /** + * The hostname prefix of the added compute nodes. + * + */ + @Import(name="hostnamePrefix") + private @Nullable Output hostnamePrefix; + + /** + * @return The hostname prefix of the added compute nodes. + * + */ + public Optional> hostnamePrefix() { + return Optional.ofNullable(this.hostnamePrefix); + } + + /** + * The hostname suffix of the compute nodes in the queue. + * + */ + @Import(name="hostnameSuffix") + private @Nullable Output hostnameSuffix; + + /** + * @return The hostname suffix of the compute nodes in the queue. + * + */ + public Optional> hostnameSuffix() { + return Optional.ofNullable(this.hostnameSuffix); + } + + /** + * The initial number of compute nodes in the queue. + * + */ + @Import(name="initialCount") + private @Nullable Output initialCount; + + /** + * @return The initial number of compute nodes in the queue. + * + */ + public Optional> initialCount() { + return Optional.ofNullable(this.initialCount); + } + + /** + * The type of the network for interconnecting compute nodes in the queue. + * + */ + @Import(name="interConnect") + private @Nullable Output interConnect; + + /** + * @return The type of the network for interconnecting compute nodes in the queue. + * + */ + public Optional> interConnect() { + return Optional.ofNullable(this.interConnect); + } + + /** + * The maximum number of compute nodes that the queue can contain. + * + */ + @Import(name="maxCount") + private @Nullable Output maxCount; + + /** + * @return The maximum number of compute nodes that the queue can contain. + * + */ + public Optional> maxCount() { + return Optional.ofNullable(this.maxCount); + } + + /** + * The minimum number of compute nodes that the queue must contain. + * + */ + @Import(name="minCount") + private @Nullable Output minCount; + + /** + * @return The minimum number of compute nodes that the queue must contain. + * + */ + public Optional> minCount() { + return Optional.ofNullable(this.minCount); + } + + /** + * The queue name. + * + */ + @Import(name="queueName") + private @Nullable Output queueName; + + /** + * @return The queue name. + * + */ + public Optional> queueName() { + return Optional.ofNullable(this.queueName); + } + + /** + * The vSwitches available for use by compute nodes in the queue. + * + */ + @Import(name="vswitchIds") + private @Nullable Output> vswitchIds; + + /** + * @return The vSwitches available for use by compute nodes in the queue. + * + */ + public Optional>> vswitchIds() { + return Optional.ofNullable(this.vswitchIds); + } + + private QueueState() {} + + private QueueState(QueueState $) { + this.clusterId = $.clusterId; + this.computeNodes = $.computeNodes; + this.createTime = $.createTime; + this.enableScaleIn = $.enableScaleIn; + this.enableScaleOut = $.enableScaleOut; + this.hostnamePrefix = $.hostnamePrefix; + this.hostnameSuffix = $.hostnameSuffix; + this.initialCount = $.initialCount; + this.interConnect = $.interConnect; + this.maxCount = $.maxCount; + this.minCount = $.minCount; + this.queueName = $.queueName; + this.vswitchIds = $.vswitchIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(QueueState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private QueueState $; + + public Builder() { + $ = new QueueState(); + } + + public Builder(QueueState defaults) { + $ = new QueueState(Objects.requireNonNull(defaults)); + } + + /** + * @param clusterId The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + * @return builder + * + */ + public Builder clusterId(@Nullable Output clusterId) { + $.clusterId = clusterId; + return this; + } + + /** + * @param clusterId The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + * + * @return builder + * + */ + public Builder clusterId(String clusterId) { + return clusterId(Output.of(clusterId)); + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(@Nullable Output> computeNodes) { + $.computeNodes = computeNodes; + return this; + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(List computeNodes) { + return computeNodes(Output.of(computeNodes)); + } + + /** + * @param computeNodes The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + * + * @return builder + * + */ + public Builder computeNodes(QueueComputeNodeArgs... computeNodes) { + return computeNodes(List.of(computeNodes)); + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param enableScaleIn Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleIn(@Nullable Output enableScaleIn) { + $.enableScaleIn = enableScaleIn; + return this; + } + + /** + * @param enableScaleIn Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleIn(Boolean enableScaleIn) { + return enableScaleIn(Output.of(enableScaleIn)); + } + + /** + * @param enableScaleOut Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleOut(@Nullable Output enableScaleOut) { + $.enableScaleOut = enableScaleOut; + return this; + } + + /** + * @param enableScaleOut Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + * + * @return builder + * + */ + public Builder enableScaleOut(Boolean enableScaleOut) { + return enableScaleOut(Output.of(enableScaleOut)); + } + + /** + * @param hostnamePrefix The hostname prefix of the added compute nodes. + * + * @return builder + * + */ + public Builder hostnamePrefix(@Nullable Output hostnamePrefix) { + $.hostnamePrefix = hostnamePrefix; + return this; + } + + /** + * @param hostnamePrefix The hostname prefix of the added compute nodes. + * + * @return builder + * + */ + public Builder hostnamePrefix(String hostnamePrefix) { + return hostnamePrefix(Output.of(hostnamePrefix)); + } + + /** + * @param hostnameSuffix The hostname suffix of the compute nodes in the queue. + * + * @return builder + * + */ + public Builder hostnameSuffix(@Nullable Output hostnameSuffix) { + $.hostnameSuffix = hostnameSuffix; + return this; + } + + /** + * @param hostnameSuffix The hostname suffix of the compute nodes in the queue. + * + * @return builder + * + */ + public Builder hostnameSuffix(String hostnameSuffix) { + return hostnameSuffix(Output.of(hostnameSuffix)); + } + + /** + * @param initialCount The initial number of compute nodes in the queue. + * + * @return builder + * + */ + public Builder initialCount(@Nullable Output initialCount) { + $.initialCount = initialCount; + return this; + } + + /** + * @param initialCount The initial number of compute nodes in the queue. + * + * @return builder + * + */ + public Builder initialCount(Integer initialCount) { + return initialCount(Output.of(initialCount)); + } + + /** + * @param interConnect The type of the network for interconnecting compute nodes in the queue. + * + * @return builder + * + */ + public Builder interConnect(@Nullable Output interConnect) { + $.interConnect = interConnect; + return this; + } + + /** + * @param interConnect The type of the network for interconnecting compute nodes in the queue. + * + * @return builder + * + */ + public Builder interConnect(String interConnect) { + return interConnect(Output.of(interConnect)); + } + + /** + * @param maxCount The maximum number of compute nodes that the queue can contain. + * + * @return builder + * + */ + public Builder maxCount(@Nullable Output maxCount) { + $.maxCount = maxCount; + return this; + } + + /** + * @param maxCount The maximum number of compute nodes that the queue can contain. + * + * @return builder + * + */ + public Builder maxCount(Integer maxCount) { + return maxCount(Output.of(maxCount)); + } + + /** + * @param minCount The minimum number of compute nodes that the queue must contain. + * + * @return builder + * + */ + public Builder minCount(@Nullable Output minCount) { + $.minCount = minCount; + return this; + } + + /** + * @param minCount The minimum number of compute nodes that the queue must contain. + * + * @return builder + * + */ + public Builder minCount(Integer minCount) { + return minCount(Output.of(minCount)); + } + + /** + * @param queueName The queue name. + * + * @return builder + * + */ + public Builder queueName(@Nullable Output queueName) { + $.queueName = queueName; + return this; + } + + /** + * @param queueName The queue name. + * + * @return builder + * + */ + public Builder queueName(String queueName) { + return queueName(Output.of(queueName)); + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(@Nullable Output> vswitchIds) { + $.vswitchIds = vswitchIds; + return this; + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(List vswitchIds) { + return vswitchIds(Output.of(vswitchIds)); + } + + /** + * @param vswitchIds The vSwitches available for use by compute nodes in the queue. + * + * @return builder + * + */ + public Builder vswitchIds(String... vswitchIds) { + return vswitchIds(List.of(vswitchIds)); + } + + public QueueState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Addon.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Addon.java new file mode 100644 index 0000000000..dd992f4a36 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Addon.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2Addon { + /** + * @return Customize the specific configuration information of the service component. + * + */ + private String name; + /** + * @return Customize the resource configuration of the service component. + * + */ + private @Nullable String resourcesSpec; + /** + * @return Customize the service configuration of the service component. + * + */ + private @Nullable String servicesSpec; + /** + * @return Customize the service component version. + * + */ + private String version; + + private ClusterV2Addon() {} + /** + * @return Customize the specific configuration information of the service component. + * + */ + public String name() { + return this.name; + } + /** + * @return Customize the resource configuration of the service component. + * + */ + public Optional resourcesSpec() { + return Optional.ofNullable(this.resourcesSpec); + } + /** + * @return Customize the service configuration of the service component. + * + */ + public Optional servicesSpec() { + return Optional.ofNullable(this.servicesSpec); + } + /** + * @return Customize the service component version. + * + */ + public String version() { + return this.version; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2Addon defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private @Nullable String resourcesSpec; + private @Nullable String servicesSpec; + private String version; + public Builder() {} + public Builder(ClusterV2Addon defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.resourcesSpec = defaults.resourcesSpec; + this.servicesSpec = defaults.servicesSpec; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ClusterV2Addon", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourcesSpec(@Nullable String resourcesSpec) { + + this.resourcesSpec = resourcesSpec; + return this; + } + @CustomType.Setter + public Builder servicesSpec(@Nullable String servicesSpec) { + + this.servicesSpec = servicesSpec; + return this; + } + @CustomType.Setter + public Builder version(String version) { + if (version == null) { + throw new MissingRequiredPropertyException("ClusterV2Addon", "version"); + } + this.version = version; + return this; + } + public ClusterV2Addon build() { + final var _resultValue = new ClusterV2Addon(); + _resultValue.name = name; + _resultValue.resourcesSpec = resourcesSpec; + _resultValue.servicesSpec = servicesSpec; + _resultValue.version = version; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ClusterCredentials.java new file mode 100644 index 0000000000..4e800a8883 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ClusterCredentials.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ClusterCredentials { + /** + * @return The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + */ + private @Nullable String password; + + private ClusterV2ClusterCredentials() {} + /** + * @return The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! {@literal @} # $ % ^ & * - = + { } [ ] : ; ',. ? / + * + */ + public Optional password() { + return Optional.ofNullable(this.password); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ClusterCredentials defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String password; + public Builder() {} + public Builder(ClusterV2ClusterCredentials defaults) { + Objects.requireNonNull(defaults); + this.password = defaults.password; + } + + @CustomType.Setter + public Builder password(@Nullable String password) { + + this.password = password; + return this; + } + public ClusterV2ClusterCredentials build() { + final var _resultValue = new ClusterV2ClusterCredentials(); + _resultValue.password = password; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Manager.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Manager.java new file mode 100644 index 0000000000..f77f3c17ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2Manager.java @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ManagerDirectoryService; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ManagerDns; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ManagerManagerNode; +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ManagerScheduler; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2Manager { + /** + * @return The configurations of the domain account service. See `directoryService` below. + * + */ + private @Nullable ClusterV2ManagerDirectoryService directoryService; + /** + * @return The configurations of the domain name resolution service. See `dns` below. + * + */ + private @Nullable ClusterV2ManagerDns dns; + /** + * @return The hardware configurations of the management node. See `managerNode` below. + * + */ + private @Nullable ClusterV2ManagerManagerNode managerNode; + /** + * @return The configurations of the scheduler service. See `scheduler` below. + * + */ + private @Nullable ClusterV2ManagerScheduler scheduler; + + private ClusterV2Manager() {} + /** + * @return The configurations of the domain account service. See `directoryService` below. + * + */ + public Optional directoryService() { + return Optional.ofNullable(this.directoryService); + } + /** + * @return The configurations of the domain name resolution service. See `dns` below. + * + */ + public Optional dns() { + return Optional.ofNullable(this.dns); + } + /** + * @return The hardware configurations of the management node. See `managerNode` below. + * + */ + public Optional managerNode() { + return Optional.ofNullable(this.managerNode); + } + /** + * @return The configurations of the scheduler service. See `scheduler` below. + * + */ + public Optional scheduler() { + return Optional.ofNullable(this.scheduler); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2Manager defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ClusterV2ManagerDirectoryService directoryService; + private @Nullable ClusterV2ManagerDns dns; + private @Nullable ClusterV2ManagerManagerNode managerNode; + private @Nullable ClusterV2ManagerScheduler scheduler; + public Builder() {} + public Builder(ClusterV2Manager defaults) { + Objects.requireNonNull(defaults); + this.directoryService = defaults.directoryService; + this.dns = defaults.dns; + this.managerNode = defaults.managerNode; + this.scheduler = defaults.scheduler; + } + + @CustomType.Setter + public Builder directoryService(@Nullable ClusterV2ManagerDirectoryService directoryService) { + + this.directoryService = directoryService; + return this; + } + @CustomType.Setter + public Builder dns(@Nullable ClusterV2ManagerDns dns) { + + this.dns = dns; + return this; + } + @CustomType.Setter + public Builder managerNode(@Nullable ClusterV2ManagerManagerNode managerNode) { + + this.managerNode = managerNode; + return this; + } + @CustomType.Setter + public Builder scheduler(@Nullable ClusterV2ManagerScheduler scheduler) { + + this.scheduler = scheduler; + return this; + } + public ClusterV2Manager build() { + final var _resultValue = new ClusterV2Manager(); + _resultValue.directoryService = directoryService; + _resultValue.dns = dns; + _resultValue.managerNode = managerNode; + _resultValue.scheduler = scheduler; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDirectoryService.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDirectoryService.java new file mode 100644 index 0000000000..464ef9a5c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDirectoryService.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ManagerDirectoryService { + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + private @Nullable String type; + private @Nullable String version; + + private ClusterV2ManagerDirectoryService() {} + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + public Optional version() { + return Optional.ofNullable(this.version); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ManagerDirectoryService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String type; + private @Nullable String version; + public Builder() {} + public Builder(ClusterV2ManagerDirectoryService defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder version(@Nullable String version) { + + this.version = version; + return this; + } + public ClusterV2ManagerDirectoryService build() { + final var _resultValue = new ClusterV2ManagerDirectoryService(); + _resultValue.type = type; + _resultValue.version = version; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDns.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDns.java new file mode 100644 index 0000000000..f496a64f18 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerDns.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ManagerDns { + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + private @Nullable String type; + private @Nullable String version; + + private ClusterV2ManagerDns() {} + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + public Optional version() { + return Optional.ofNullable(this.version); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ManagerDns defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String type; + private @Nullable String version; + public Builder() {} + public Builder(ClusterV2ManagerDns defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder version(@Nullable String version) { + + this.version = version; + return this; + } + public ClusterV2ManagerDns build() { + final var _resultValue = new ClusterV2ManagerDns(); + _resultValue.type = type; + _resultValue.version = version; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNode.java new file mode 100644 index 0000000000..09409f8541 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNode.java @@ -0,0 +1,374 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.alicloud.ehpc.outputs.ClusterV2ManagerManagerNodeSystemDisk; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ManagerManagerNode { + /** + * @return Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + */ + private @Nullable Boolean autoRenew; + /** + * @return The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + */ + private @Nullable Integer autoRenewPeriod; + /** + * @return The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + */ + private @Nullable Integer duration; + /** + * @return EnableHT + * + */ + private @Nullable Boolean enableHt; + /** + * @return The expiration time of the management node. + * + */ + private @Nullable String expiredTime; + /** + * @return ImageId + * + */ + private @Nullable String imageId; + /** + * @return The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + */ + private @Nullable String instanceChargeType; + /** + * @return The instance ID of the management node. + * + */ + private @Nullable String instanceId; + /** + * @return The instance type of the management node. + * + */ + private @Nullable String instanceType; + /** + * @return The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + */ + private @Nullable Integer period; + /** + * @return The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + */ + private @Nullable String periodUnit; + /** + * @return Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + */ + private @Nullable Double spotPriceLimit; + /** + * @return The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + */ + private @Nullable String spotStrategy; + /** + * @return System disk configuration of the management node. See `systemDisk` below. + * + */ + private @Nullable ClusterV2ManagerManagerNodeSystemDisk systemDisk; + + private ClusterV2ManagerManagerNode() {} + /** + * @return Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + * + */ + public Optional autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + /** + * @return The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + * + */ + public Optional autoRenewPeriod() { + return Optional.ofNullable(this.autoRenewPeriod); + } + /** + * @return The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + * + */ + public Optional duration() { + return Optional.ofNullable(this.duration); + } + /** + * @return EnableHT + * + */ + public Optional enableHt() { + return Optional.ofNullable(this.enableHt); + } + /** + * @return The expiration time of the management node. + * + */ + public Optional expiredTime() { + return Optional.ofNullable(this.expiredTime); + } + /** + * @return ImageId + * + */ + public Optional imageId() { + return Optional.ofNullable(this.imageId); + } + /** + * @return The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + * + */ + public Optional instanceChargeType() { + return Optional.ofNullable(this.instanceChargeType); + } + /** + * @return The instance ID of the management node. + * + */ + public Optional instanceId() { + return Optional.ofNullable(this.instanceId); + } + /** + * @return The instance type of the management node. + * + */ + public Optional instanceType() { + return Optional.ofNullable(this.instanceType); + } + /** + * @return The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + * + */ + public Optional period() { + return Optional.ofNullable(this.period); + } + /** + * @return The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + * + */ + public Optional periodUnit() { + return Optional.ofNullable(this.periodUnit); + } + /** + * @return Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + * + */ + public Optional spotPriceLimit() { + return Optional.ofNullable(this.spotPriceLimit); + } + /** + * @return The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + * + */ + public Optional spotStrategy() { + return Optional.ofNullable(this.spotStrategy); + } + /** + * @return System disk configuration of the management node. See `systemDisk` below. + * + */ + public Optional systemDisk() { + return Optional.ofNullable(this.systemDisk); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ManagerManagerNode defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean autoRenew; + private @Nullable Integer autoRenewPeriod; + private @Nullable Integer duration; + private @Nullable Boolean enableHt; + private @Nullable String expiredTime; + private @Nullable String imageId; + private @Nullable String instanceChargeType; + private @Nullable String instanceId; + private @Nullable String instanceType; + private @Nullable Integer period; + private @Nullable String periodUnit; + private @Nullable Double spotPriceLimit; + private @Nullable String spotStrategy; + private @Nullable ClusterV2ManagerManagerNodeSystemDisk systemDisk; + public Builder() {} + public Builder(ClusterV2ManagerManagerNode defaults) { + Objects.requireNonNull(defaults); + this.autoRenew = defaults.autoRenew; + this.autoRenewPeriod = defaults.autoRenewPeriod; + this.duration = defaults.duration; + this.enableHt = defaults.enableHt; + this.expiredTime = defaults.expiredTime; + this.imageId = defaults.imageId; + this.instanceChargeType = defaults.instanceChargeType; + this.instanceId = defaults.instanceId; + this.instanceType = defaults.instanceType; + this.period = defaults.period; + this.periodUnit = defaults.periodUnit; + this.spotPriceLimit = defaults.spotPriceLimit; + this.spotStrategy = defaults.spotStrategy; + this.systemDisk = defaults.systemDisk; + } + + @CustomType.Setter + public Builder autoRenew(@Nullable Boolean autoRenew) { + + this.autoRenew = autoRenew; + return this; + } + @CustomType.Setter + public Builder autoRenewPeriod(@Nullable Integer autoRenewPeriod) { + + this.autoRenewPeriod = autoRenewPeriod; + return this; + } + @CustomType.Setter + public Builder duration(@Nullable Integer duration) { + + this.duration = duration; + return this; + } + @CustomType.Setter + public Builder enableHt(@Nullable Boolean enableHt) { + + this.enableHt = enableHt; + return this; + } + @CustomType.Setter + public Builder expiredTime(@Nullable String expiredTime) { + + this.expiredTime = expiredTime; + return this; + } + @CustomType.Setter + public Builder imageId(@Nullable String imageId) { + + this.imageId = imageId; + return this; + } + @CustomType.Setter + public Builder instanceChargeType(@Nullable String instanceChargeType) { + + this.instanceChargeType = instanceChargeType; + return this; + } + @CustomType.Setter + public Builder instanceId(@Nullable String instanceId) { + + this.instanceId = instanceId; + return this; + } + @CustomType.Setter + public Builder instanceType(@Nullable String instanceType) { + + this.instanceType = instanceType; + return this; + } + @CustomType.Setter + public Builder period(@Nullable Integer period) { + + this.period = period; + return this; + } + @CustomType.Setter + public Builder periodUnit(@Nullable String periodUnit) { + + this.periodUnit = periodUnit; + return this; + } + @CustomType.Setter + public Builder spotPriceLimit(@Nullable Double spotPriceLimit) { + + this.spotPriceLimit = spotPriceLimit; + return this; + } + @CustomType.Setter + public Builder spotStrategy(@Nullable String spotStrategy) { + + this.spotStrategy = spotStrategy; + return this; + } + @CustomType.Setter + public Builder systemDisk(@Nullable ClusterV2ManagerManagerNodeSystemDisk systemDisk) { + + this.systemDisk = systemDisk; + return this; + } + public ClusterV2ManagerManagerNode build() { + final var _resultValue = new ClusterV2ManagerManagerNode(); + _resultValue.autoRenew = autoRenew; + _resultValue.autoRenewPeriod = autoRenewPeriod; + _resultValue.duration = duration; + _resultValue.enableHt = enableHt; + _resultValue.expiredTime = expiredTime; + _resultValue.imageId = imageId; + _resultValue.instanceChargeType = instanceChargeType; + _resultValue.instanceId = instanceId; + _resultValue.instanceType = instanceType; + _resultValue.period = period; + _resultValue.periodUnit = periodUnit; + _resultValue.spotPriceLimit = spotPriceLimit; + _resultValue.spotStrategy = spotStrategy; + _resultValue.systemDisk = systemDisk; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNodeSystemDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNodeSystemDisk.java new file mode 100644 index 0000000000..09cee7bd60 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerManagerNodeSystemDisk.java @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ManagerManagerNodeSystemDisk { + /** + * @return Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + */ + private @Nullable String category; + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + */ + private @Nullable String level; + /** + * @return The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + */ + private @Nullable Integer size; + + private ClusterV2ManagerManagerNodeSystemDisk() {} + /** + * @return Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + * + */ + public Optional category() { + return Optional.ofNullable(this.category); + } + /** + * @return When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + * + */ + public Optional level() { + return Optional.ofNullable(this.level); + } + /** + * @return The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + * + */ + public Optional size() { + return Optional.ofNullable(this.size); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ManagerManagerNodeSystemDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String category; + private @Nullable String level; + private @Nullable Integer size; + public Builder() {} + public Builder(ClusterV2ManagerManagerNodeSystemDisk defaults) { + Objects.requireNonNull(defaults); + this.category = defaults.category; + this.level = defaults.level; + this.size = defaults.size; + } + + @CustomType.Setter + public Builder category(@Nullable String category) { + + this.category = category; + return this; + } + @CustomType.Setter + public Builder level(@Nullable String level) { + + this.level = level; + return this; + } + @CustomType.Setter + public Builder size(@Nullable Integer size) { + + this.size = size; + return this; + } + public ClusterV2ManagerManagerNodeSystemDisk build() { + final var _resultValue = new ClusterV2ManagerManagerNodeSystemDisk(); + _resultValue.category = category; + _resultValue.level = level; + _resultValue.size = size; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerScheduler.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerScheduler.java new file mode 100644 index 0000000000..c2f1d58d86 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2ManagerScheduler.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2ManagerScheduler { + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + private @Nullable String type; + private @Nullable String version; + + private ClusterV2ManagerScheduler() {} + /** + * @return The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + public Optional version() { + return Optional.ofNullable(this.version); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2ManagerScheduler defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String type; + private @Nullable String version; + public Builder() {} + public Builder(ClusterV2ManagerScheduler defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder version(@Nullable String version) { + + this.version = version; + return this; + } + public ClusterV2ManagerScheduler build() { + final var _resultValue = new ClusterV2ManagerScheduler(); + _resultValue.type = type; + _resultValue.version = version; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2SharedStorage.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2SharedStorage.java new file mode 100644 index 0000000000..89bedfb562 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/ClusterV2SharedStorage.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterV2SharedStorage { + /** + * @return The ID of the mounted file system. + * + */ + private @Nullable String fileSystemId; + /** + * @return The local Mount directory where the file system is mounted. + * + */ + private @Nullable String mountDirectory; + /** + * @return Storage mount options for the mounted file system. + * + */ + private @Nullable String mountOptions; + /** + * @return The mount point address of the mounted file system. + * + */ + private @Nullable String mountTargetDomain; + /** + * @return The remote directory to which the mounted file system needs to be mounted. + * + */ + private @Nullable String nasDirectory; + /** + * @return The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + */ + private @Nullable String protocolType; + + private ClusterV2SharedStorage() {} + /** + * @return The ID of the mounted file system. + * + */ + public Optional fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + /** + * @return The local Mount directory where the file system is mounted. + * + */ + public Optional mountDirectory() { + return Optional.ofNullable(this.mountDirectory); + } + /** + * @return Storage mount options for the mounted file system. + * + */ + public Optional mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + /** + * @return The mount point address of the mounted file system. + * + */ + public Optional mountTargetDomain() { + return Optional.ofNullable(this.mountTargetDomain); + } + /** + * @return The remote directory to which the mounted file system needs to be mounted. + * + */ + public Optional nasDirectory() { + return Optional.ofNullable(this.nasDirectory); + } + /** + * @return The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + * + */ + public Optional protocolType() { + return Optional.ofNullable(this.protocolType); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterV2SharedStorage defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String fileSystemId; + private @Nullable String mountDirectory; + private @Nullable String mountOptions; + private @Nullable String mountTargetDomain; + private @Nullable String nasDirectory; + private @Nullable String protocolType; + public Builder() {} + public Builder(ClusterV2SharedStorage defaults) { + Objects.requireNonNull(defaults); + this.fileSystemId = defaults.fileSystemId; + this.mountDirectory = defaults.mountDirectory; + this.mountOptions = defaults.mountOptions; + this.mountTargetDomain = defaults.mountTargetDomain; + this.nasDirectory = defaults.nasDirectory; + this.protocolType = defaults.protocolType; + } + + @CustomType.Setter + public Builder fileSystemId(@Nullable String fileSystemId) { + + this.fileSystemId = fileSystemId; + return this; + } + @CustomType.Setter + public Builder mountDirectory(@Nullable String mountDirectory) { + + this.mountDirectory = mountDirectory; + return this; + } + @CustomType.Setter + public Builder mountOptions(@Nullable String mountOptions) { + + this.mountOptions = mountOptions; + return this; + } + @CustomType.Setter + public Builder mountTargetDomain(@Nullable String mountTargetDomain) { + + this.mountTargetDomain = mountTargetDomain; + return this; + } + @CustomType.Setter + public Builder nasDirectory(@Nullable String nasDirectory) { + + this.nasDirectory = nasDirectory; + return this; + } + @CustomType.Setter + public Builder protocolType(@Nullable String protocolType) { + + this.protocolType = protocolType; + return this; + } + public ClusterV2SharedStorage build() { + final var _resultValue = new ClusterV2SharedStorage(); + _resultValue.fileSystemId = fileSystemId; + _resultValue.mountDirectory = mountDirectory; + _resultValue.mountOptions = mountOptions; + _resultValue.mountTargetDomain = mountTargetDomain; + _resultValue.nasDirectory = nasDirectory; + _resultValue.protocolType = protocolType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNode.java new file mode 100644 index 0000000000..558d0f7039 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNode.java @@ -0,0 +1,292 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.alicloud.ehpc.outputs.QueueComputeNodeSystemDisk; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class QueueComputeNode { + /** + * @return AutoRenew + * + */ + private @Nullable Boolean autoRenew; + /** + * @return AutoRenewPeriod + * + */ + private @Nullable Integer autoRenewPeriod; + /** + * @return Duration + * + */ + private @Nullable Integer duration; + /** + * @return Whether HT is enabled for the computing node. + * + */ + private @Nullable Boolean enableHt; + /** + * @return ImageId + * + */ + private @Nullable String imageId; + /** + * @return InstanceChargeType + * + */ + private @Nullable String instanceChargeType; + /** + * @return InstanceTypes + * + */ + private @Nullable String instanceType; + /** + * @return Period + * + */ + private @Nullable Integer period; + /** + * @return PeriodUnit + * + */ + private @Nullable String periodUnit; + /** + * @return SpotPriceLimit + * + */ + private @Nullable Double spotPriceLimit; + /** + * @return SpotStrategy + * + */ + private @Nullable String spotStrategy; + /** + * @return SystemDisk See `systemDisk` below. + * + */ + private @Nullable QueueComputeNodeSystemDisk systemDisk; + + private QueueComputeNode() {} + /** + * @return AutoRenew + * + */ + public Optional autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + /** + * @return AutoRenewPeriod + * + */ + public Optional autoRenewPeriod() { + return Optional.ofNullable(this.autoRenewPeriod); + } + /** + * @return Duration + * + */ + public Optional duration() { + return Optional.ofNullable(this.duration); + } + /** + * @return Whether HT is enabled for the computing node. + * + */ + public Optional enableHt() { + return Optional.ofNullable(this.enableHt); + } + /** + * @return ImageId + * + */ + public Optional imageId() { + return Optional.ofNullable(this.imageId); + } + /** + * @return InstanceChargeType + * + */ + public Optional instanceChargeType() { + return Optional.ofNullable(this.instanceChargeType); + } + /** + * @return InstanceTypes + * + */ + public Optional instanceType() { + return Optional.ofNullable(this.instanceType); + } + /** + * @return Period + * + */ + public Optional period() { + return Optional.ofNullable(this.period); + } + /** + * @return PeriodUnit + * + */ + public Optional periodUnit() { + return Optional.ofNullable(this.periodUnit); + } + /** + * @return SpotPriceLimit + * + */ + public Optional spotPriceLimit() { + return Optional.ofNullable(this.spotPriceLimit); + } + /** + * @return SpotStrategy + * + */ + public Optional spotStrategy() { + return Optional.ofNullable(this.spotStrategy); + } + /** + * @return SystemDisk See `systemDisk` below. + * + */ + public Optional systemDisk() { + return Optional.ofNullable(this.systemDisk); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(QueueComputeNode defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean autoRenew; + private @Nullable Integer autoRenewPeriod; + private @Nullable Integer duration; + private @Nullable Boolean enableHt; + private @Nullable String imageId; + private @Nullable String instanceChargeType; + private @Nullable String instanceType; + private @Nullable Integer period; + private @Nullable String periodUnit; + private @Nullable Double spotPriceLimit; + private @Nullable String spotStrategy; + private @Nullable QueueComputeNodeSystemDisk systemDisk; + public Builder() {} + public Builder(QueueComputeNode defaults) { + Objects.requireNonNull(defaults); + this.autoRenew = defaults.autoRenew; + this.autoRenewPeriod = defaults.autoRenewPeriod; + this.duration = defaults.duration; + this.enableHt = defaults.enableHt; + this.imageId = defaults.imageId; + this.instanceChargeType = defaults.instanceChargeType; + this.instanceType = defaults.instanceType; + this.period = defaults.period; + this.periodUnit = defaults.periodUnit; + this.spotPriceLimit = defaults.spotPriceLimit; + this.spotStrategy = defaults.spotStrategy; + this.systemDisk = defaults.systemDisk; + } + + @CustomType.Setter + public Builder autoRenew(@Nullable Boolean autoRenew) { + + this.autoRenew = autoRenew; + return this; + } + @CustomType.Setter + public Builder autoRenewPeriod(@Nullable Integer autoRenewPeriod) { + + this.autoRenewPeriod = autoRenewPeriod; + return this; + } + @CustomType.Setter + public Builder duration(@Nullable Integer duration) { + + this.duration = duration; + return this; + } + @CustomType.Setter + public Builder enableHt(@Nullable Boolean enableHt) { + + this.enableHt = enableHt; + return this; + } + @CustomType.Setter + public Builder imageId(@Nullable String imageId) { + + this.imageId = imageId; + return this; + } + @CustomType.Setter + public Builder instanceChargeType(@Nullable String instanceChargeType) { + + this.instanceChargeType = instanceChargeType; + return this; + } + @CustomType.Setter + public Builder instanceType(@Nullable String instanceType) { + + this.instanceType = instanceType; + return this; + } + @CustomType.Setter + public Builder period(@Nullable Integer period) { + + this.period = period; + return this; + } + @CustomType.Setter + public Builder periodUnit(@Nullable String periodUnit) { + + this.periodUnit = periodUnit; + return this; + } + @CustomType.Setter + public Builder spotPriceLimit(@Nullable Double spotPriceLimit) { + + this.spotPriceLimit = spotPriceLimit; + return this; + } + @CustomType.Setter + public Builder spotStrategy(@Nullable String spotStrategy) { + + this.spotStrategy = spotStrategy; + return this; + } + @CustomType.Setter + public Builder systemDisk(@Nullable QueueComputeNodeSystemDisk systemDisk) { + + this.systemDisk = systemDisk; + return this; + } + public QueueComputeNode build() { + final var _resultValue = new QueueComputeNode(); + _resultValue.autoRenew = autoRenew; + _resultValue.autoRenewPeriod = autoRenewPeriod; + _resultValue.duration = duration; + _resultValue.enableHt = enableHt; + _resultValue.imageId = imageId; + _resultValue.instanceChargeType = instanceChargeType; + _resultValue.instanceType = instanceType; + _resultValue.period = period; + _resultValue.periodUnit = periodUnit; + _resultValue.spotPriceLimit = spotPriceLimit; + _resultValue.spotStrategy = spotStrategy; + _resultValue.systemDisk = systemDisk; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNodeSystemDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNodeSystemDisk.java new file mode 100644 index 0000000000..c0305c8945 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ehpc/outputs/QueueComputeNodeSystemDisk.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.ehpc.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class QueueComputeNodeSystemDisk { + /** + * @return Category + * + */ + private @Nullable String category; + /** + * @return Level + * + */ + private @Nullable String level; + /** + * @return Size + * + */ + private @Nullable Integer size; + + private QueueComputeNodeSystemDisk() {} + /** + * @return Category + * + */ + public Optional category() { + return Optional.ofNullable(this.category); + } + /** + * @return Level + * + */ + public Optional level() { + return Optional.ofNullable(this.level); + } + /** + * @return Size + * + */ + public Optional size() { + return Optional.ofNullable(this.size); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(QueueComputeNodeSystemDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String category; + private @Nullable String level; + private @Nullable Integer size; + public Builder() {} + public Builder(QueueComputeNodeSystemDisk defaults) { + Objects.requireNonNull(defaults); + this.category = defaults.category; + this.level = defaults.level; + this.size = defaults.size; + } + + @CustomType.Setter + public Builder category(@Nullable String category) { + + this.category = category; + return this; + } + @CustomType.Setter + public Builder level(@Nullable String level) { + + this.level = level; + return this; + } + @CustomType.Setter + public Builder size(@Nullable Integer size) { + + this.size = size; + return this; + } + public QueueComputeNodeSystemDisk build() { + final var _resultValue = new QueueComputeNodeSystemDisk(); + _resultValue.category = category; + _resultValue.level = level; + _resultValue.size = size; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddress.java index f596faa3aa..db9120954b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddress.java @@ -17,7 +17,9 @@ import javax.annotation.Nullable; /** - * Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. + * Provides a Eipanycast Anycast Eip Address resource. + * + * Anycast Elastic IP Address. * * For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). * @@ -65,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -119,14 +123,14 @@ public Output createTime() { return this.createTime; } /** - * Anycast EIP instance description. + * Anycast EIP instance description * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** - * @return Anycast EIP instance description. + * @return Anycast EIP instance description * */ public Output> description() { @@ -147,14 +151,14 @@ public Output> internetChargeType() { return Codegen.optional(this.internetChargeType); } /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ @Export(name="paymentType", refs={String.class}, tree="[0]") private Output paymentType; /** - * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ public Output> paymentType() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressArgs.java index d79ca0a0b1..39c583ba1e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressArgs.java @@ -49,14 +49,14 @@ public Optional> bandwidth() { } /** - * Anycast EIP instance description. + * Anycast EIP instance description * */ @Import(name="description") private @Nullable Output description; /** - * @return Anycast EIP instance description. + * @return Anycast EIP instance description * */ public Optional> description() { @@ -79,14 +79,14 @@ public Optional> internetChargeType() { } /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ @Import(name="paymentType") private @Nullable Output paymentType; /** - * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ public Optional> paymentType() { @@ -212,7 +212,7 @@ public Builder bandwidth(Integer bandwidth) { } /** - * @param description Anycast EIP instance description. + * @param description Anycast EIP instance description * * @return builder * @@ -223,7 +223,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description Anycast EIP instance description. + * @param description Anycast EIP instance description * * @return builder * @@ -254,7 +254,7 @@ public Builder internetChargeType(String internetChargeType) { } /** - * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * * @return builder * @@ -265,7 +265,7 @@ public Builder paymentType(@Nullable Output paymentType) { } /** - * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressAttachment.java index c70856b6e0..86a876633c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/AnycastEipAddressAttachment.java @@ -264,6 +264,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/inputs/AnycastEipAddressState.java b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/inputs/AnycastEipAddressState.java index 089e44aaae..33c632058f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/inputs/AnycastEipAddressState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eipanycast/inputs/AnycastEipAddressState.java @@ -63,14 +63,14 @@ public Optional> createTime() { } /** - * Anycast EIP instance description. + * Anycast EIP instance description * */ @Import(name="description") private @Nullable Output description; /** - * @return Anycast EIP instance description. + * @return Anycast EIP instance description * */ public Optional> description() { @@ -93,14 +93,14 @@ public Optional> internetChargeType() { } /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ @Import(name="paymentType") private @Nullable Output paymentType; /** - * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @return The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * */ public Optional> paymentType() { @@ -264,7 +264,7 @@ public Builder createTime(String createTime) { } /** - * @param description Anycast EIP instance description. + * @param description Anycast EIP instance description * * @return builder * @@ -275,7 +275,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description Anycast EIP instance description. + * @param description Anycast EIP instance description * * @return builder * @@ -306,7 +306,7 @@ public Builder internetChargeType(String internetChargeType) { } /** - * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * * @return builder * @@ -317,7 +317,7 @@ public Builder paymentType(@Nullable Output paymentType) { } /** - * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * @param paymentType The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/Instance.java index 129b158c96..b7a0856ef5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/Instance.java @@ -6,6 +6,11 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.elasticsearch.InstanceArgs; import com.pulumi.alicloud.elasticsearch.inputs.InstanceState; +import com.pulumi.alicloud.elasticsearch.outputs.InstanceClientNodeConfiguration; +import com.pulumi.alicloud.elasticsearch.outputs.InstanceDataNodeConfiguration; +import com.pulumi.alicloud.elasticsearch.outputs.InstanceKibanaConfiguration; +import com.pulumi.alicloud.elasticsearch.outputs.InstanceMasterConfiguration; +import com.pulumi.alicloud.elasticsearch.outputs.InstanceWarmNodeConfiguration; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -19,26 +24,120 @@ import javax.annotation.Nullable; /** + * Provides a Elasticsearch Instance resource. + * + * For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). + * + * > **NOTE:** Available since v1.30.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.elasticsearch.ElasticsearchFunctions;
+ * import com.pulumi.alicloud.elasticsearch.inputs.GetZonesArgs;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.elasticsearch.Instance;
+ * import com.pulumi.alicloud.elasticsearch.InstanceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("tf-example");
+ *         final var default = ElasticsearchFunctions.getZones(GetZonesArgs.builder()
+ *             .build());
+ * 
+ *         var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
+ *             .vpcName(name)
+ *             .cidrBlock("10.0.0.0/8")
+ *             .build());
+ * 
+ *         var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
+ *             .vswitchName(name)
+ *             .cidrBlock("10.1.0.0/16")
+ *             .vpcId(defaultNetwork.id())
+ *             .zoneId(default_.zones()[0].id())
+ *             .build());
+ * 
+ *         var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
+ *             .description(name)
+ *             .vswitchId(defaultSwitch.id())
+ *             .password("Examplw1234")
+ *             .version("7.10_with_X-Pack")
+ *             .instanceChargeType("PostPaid")
+ *             .dataNodeAmount(2)
+ *             .dataNodeSpec("elasticsearch.sn2ne.large")
+ *             .dataNodeDiskSize(20)
+ *             .dataNodeDiskType("cloud_ssd")
+ *             .kibanaNodeSpec("elasticsearch.sn2ne.large")
+ *             .dataNodeDiskPerformanceLevel("PL1")
+ *             .tags(Map.ofEntries(
+ *                 Map.entry("Created", "TF"),
+ *                 Map.entry("For", "example")
+ *             ))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Elasticsearch can be imported using the id, e.g. + * Elasticsearch Instance can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 + * $ pulumi import alicloud:elasticsearch/instance:Instance example <id> * ``` * */ @ResourceType(type="alicloud:elasticsearch/instance:Instance") public class Instance extends com.pulumi.resources.CustomResource { /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Schema Type: + * + */ + @Export(name="archType", refs={String.class}, tree="[0]") + private Output archType; + + /** + * @return Schema Type: + * + */ + public Output archType() { + return this.archType; + } + /** + * Renewal Period * */ @Export(name="autoRenewDuration", refs={Integer.class}, tree="[0]") private Output autoRenewDuration; /** - * @return Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @return Renewal Period * */ public Output> autoRenewDuration() { @@ -47,35 +146,75 @@ public Output> autoRenewDuration() { /** * The Elasticsearch cluster's client node quantity, between 2 and 25. * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ @Export(name="clientNodeAmount", refs={Integer.class}, tree="[0]") - private Output clientNodeAmount; + private Output clientNodeAmount; /** * @return The Elasticsearch cluster's client node quantity, between 2 and 25. * */ - public Output> clientNodeAmount() { - return Codegen.optional(this.clientNodeAmount); + public Output clientNodeAmount() { + return this.clientNodeAmount; + } + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + @Export(name="clientNodeConfiguration", refs={InstanceClientNodeConfiguration.class}, tree="[0]") + private Output clientNodeConfiguration; + + /** + * @return Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + public Output clientNodeConfiguration() { + return this.clientNodeConfiguration; } /** * The client node spec. If specified, client node will be created. * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ @Export(name="clientNodeSpec", refs={String.class}, tree="[0]") - private Output clientNodeSpec; + private Output clientNodeSpec; /** * @return The client node spec. If specified, client node will be created. * */ - public Output> clientNodeSpec() { - return Codegen.optional(this.clientNodeSpec); + public Output clientNodeSpec() { + return this.clientNodeSpec; + } + /** + * Instance creation time + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return Instance creation time + * + */ + public Output createTime() { + return this.createTime; } /** * The Elasticsearch cluster's data node quantity, between 2 and 50. * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ @Export(name="dataNodeAmount", refs={Integer.class}, tree="[0]") private Output dataNodeAmount; @@ -86,38 +225,64 @@ public Output> clientNodeSpec() { public Output dataNodeAmount() { return this.dataNodeAmount; } + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + @Export(name="dataNodeConfiguration", refs={InstanceDataNodeConfiguration.class}, tree="[0]") + private Output dataNodeConfiguration; + + /** + * @return Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + public Output dataNodeConfiguration() { + return this.dataNodeConfiguration; + } /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ @Export(name="dataNodeDiskEncrypted", refs={Boolean.class}, tree="[0]") - private Output dataNodeDiskEncrypted; + private Output dataNodeDiskEncrypted; /** * @return If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * */ - public Output> dataNodeDiskEncrypted() { - return Codegen.optional(this.dataNodeDiskEncrypted); + public Output dataNodeDiskEncrypted() { + return this.dataNodeDiskEncrypted; } /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ @Export(name="dataNodeDiskPerformanceLevel", refs={String.class}, tree="[0]") - private Output dataNodeDiskPerformanceLevel; + private Output dataNodeDiskPerformanceLevel; /** * @return Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * */ - public Output> dataNodeDiskPerformanceLevel() { - return Codegen.optional(this.dataNodeDiskPerformanceLevel); + public Output dataNodeDiskPerformanceLevel() { + return this.dataNodeDiskPerformanceLevel; } /** * The single data node storage space. * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ @Export(name="dataNodeDiskSize", refs={Integer.class}, tree="[0]") private Output dataNodeDiskSize; @@ -131,7 +296,11 @@ public Output dataNodeDiskSize() { /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ @Export(name="dataNodeDiskType", refs={String.class}, tree="[0]") private Output dataNodeDiskType; @@ -145,7 +314,11 @@ public Output dataNodeDiskType() { /** * The data node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ @Export(name="dataNodeSpec", refs={String.class}, tree="[0]") private Output dataNodeSpec; @@ -157,98 +330,152 @@ public Output dataNodeSpec() { return this.dataNodeSpec; } /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** - * @return The description of instance. It a string of 0 to 30 characters. + * @return Instance name * */ public Output description() { return this.description; } /** - * Instance connection domain (only VPC network access supported). + * Elasticsearch cluster private domain name * */ @Export(name="domain", refs={String.class}, tree="[0]") private Output domain; /** - * @return Instance connection domain (only VPC network access supported). + * @return Elasticsearch cluster private domain name * */ public Output domain() { return this.domain; } /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Export(name="enableKibanaPrivateNetwork", refs={Boolean.class}, tree="[0]") - private Output enableKibanaPrivateNetwork; + private Output enableKibanaPrivateNetwork; /** - * @return Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @return Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ - public Output> enableKibanaPrivateNetwork() { - return Codegen.optional(this.enableKibanaPrivateNetwork); + public Output enableKibanaPrivateNetwork() { + return this.enableKibanaPrivateNetwork; } /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Does Kibana enable public access * */ @Export(name="enableKibanaPublicNetwork", refs={Boolean.class}, tree="[0]") - private Output enableKibanaPublicNetwork; + private Output enableKibanaPublicNetwork; /** - * @return Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @return Does Kibana enable public access * */ - public Output> enableKibanaPublicNetwork() { - return Codegen.optional(this.enableKibanaPublicNetwork); + public Output enableKibanaPublicNetwork() { + return this.enableKibanaPublicNetwork; } /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Export(name="enablePublic", refs={Boolean.class}, tree="[0]") - private Output enablePublic; + private Output enablePublic; /** - * @return Bool, default to false. When it set to true, the instance can enable public network access。 + * @return Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ - public Output> enablePublic() { - return Codegen.optional(this.enablePublic); + public Output enablePublic() { + return this.enablePublic; + } + @Export(name="force", refs={Boolean.class}, tree="[0]") + private Output force; + + public Output> force() { + return Codegen.optional(this.force); + } + /** + * Version type. + * + */ + @Export(name="instanceCategory", refs={String.class}, tree="[0]") + private Output instanceCategory; + + /** + * @return Version type. + * + */ + public Output instanceCategory() { + return this.instanceCategory; } /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ @Export(name="instanceChargeType", refs={String.class}, tree="[0]") - private Output instanceChargeType; + private Output instanceChargeType; /** * @return Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * */ - public Output> instanceChargeType() { - return Codegen.optional(this.instanceChargeType); + public Output instanceChargeType() { + return this.instanceChargeType; } /** - * Kibana console domain (Internet access supported). + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + @Export(name="kibanaConfiguration", refs={InstanceKibanaConfiguration.class}, tree="[0]") + private Output kibanaConfiguration; + + /** + * @return Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + public Output kibanaConfiguration() { + return this.kibanaConfiguration; + } + /** + * Kibana address * */ @Export(name="kibanaDomain", refs={String.class}, tree="[0]") private Output kibanaDomain; /** - * @return Kibana console domain (Internet access supported). + * @return Kibana address * */ public Output kibanaDomain() { @@ -257,7 +484,11 @@ public Output kibanaDomain() { /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ @Export(name="kibanaNodeSpec", refs={String.class}, tree="[0]") private Output kibanaNodeSpec; @@ -269,56 +500,56 @@ public Output kibanaNodeSpec() { return this.kibanaNodeSpec; } /** - * Kibana console port. + * The port assigned by the Kibana node. * */ @Export(name="kibanaPort", refs={Integer.class}, tree="[0]") private Output kibanaPort; /** - * @return Kibana console port. + * @return The port assigned by the Kibana node. * */ public Output kibanaPort() { return this.kibanaPort; } /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID * */ @Export(name="kibanaPrivateSecurityGroupId", refs={String.class}, tree="[0]") private Output kibanaPrivateSecurityGroupId; /** - * @return the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @return Kibana private network security group ID * */ public Output> kibanaPrivateSecurityGroupId() { return Codegen.optional(this.kibanaPrivateSecurityGroupId); } /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist * */ @Export(name="kibanaPrivateWhitelists", refs={List.class,String.class}, tree="[0,1]") private Output> kibanaPrivateWhitelists; /** - * @return Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @return Cluster Kibana node private network access whitelist * */ public Output> kibanaPrivateWhitelists() { return this.kibanaPrivateWhitelists; } /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist * */ @Export(name="kibanaWhitelists", refs={List.class,String.class}, tree="[0,1]") private Output> kibanaWhitelists; /** - * @return Set the Kibana's IP whitelist in internet network. + * @return Kibana private network access whitelist * */ public Output> kibanaWhitelists() { @@ -352,61 +583,103 @@ public Output> kmsEncryptedPassword() { public Output>> kmsEncryptionContext() { return Codegen.optional(this.kmsEncryptionContext); } + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + @Export(name="masterConfiguration", refs={InstanceMasterConfiguration.class}, tree="[0]") + private Output masterConfiguration; + + /** + * @return Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + public Output masterConfiguration() { + return this.masterConfiguration; + } /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ @Export(name="masterNodeDiskType", refs={String.class}, tree="[0]") - private Output masterNodeDiskType; + private Output masterNodeDiskType; /** * @return The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * */ - public Output> masterNodeDiskType() { - return Codegen.optional(this.masterNodeDiskType); + public Output masterNodeDiskType() { + return this.masterNodeDiskType; } /** * The dedicated master node spec. If specified, dedicated master node will be created. * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ @Export(name="masterNodeSpec", refs={String.class}, tree="[0]") - private Output masterNodeSpec; + private Output masterNodeSpec; /** * @return The dedicated master node spec. If specified, dedicated master node will be created. * */ - public Output> masterNodeSpec() { - return Codegen.optional(this.masterNodeSpec); + public Output masterNodeSpec() { + return this.masterNodeSpec; + } + @Export(name="orderActionType", refs={String.class}, tree="[0]") + private Output orderActionType; + + public Output> orderActionType() { + return Codegen.optional(this.orderActionType); } /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * The access password of the instance. * */ @Export(name="password", refs={String.class}, tree="[0]") private Output password; /** - * @return The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @return The access password of the instance. * */ public Output> password() { return Codegen.optional(this.password); } /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + @Export(name="paymentType", refs={String.class}, tree="[0]") + private Output paymentType; + + /** + * @return The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + public Output paymentType() { + return this.paymentType; + } + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ @Export(name="period", refs={Integer.class}, tree="[0]") - private Output period; + private Output period; /** - * @return The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @return The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ - public Output> period() { - return Codegen.optional(this.period); + public Output period() { + return this.period; } /** * Instance connection port. @@ -423,168 +696,174 @@ public Output port() { return this.port; } /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ @Export(name="privateWhitelists", refs={List.class,String.class}, tree="[0,1]") private Output> privateWhitelists; /** - * @return Set the instance's IP whitelist in VPC network. + * @return Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ public Output> privateWhitelists() { return this.privateWhitelists; } /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ @Export(name="protocol", refs={String.class}, tree="[0]") - private Output protocol; + private Output protocol; /** - * @return Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @return Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ - public Output> protocol() { - return Codegen.optional(this.protocol); + public Output protocol() { + return this.protocol; } /** - * Instance connection public domain. + * The public network address of the current instance. * */ @Export(name="publicDomain", refs={String.class}, tree="[0]") private Output publicDomain; /** - * @return Instance connection public domain. + * @return The public network address of the current instance. * */ public Output publicDomain() { return this.publicDomain; } /** - * Instance connection public port. + * Elasticsearch cluster public network access port * */ @Export(name="publicPort", refs={Integer.class}, tree="[0]") private Output publicPort; /** - * @return Instance connection public port. + * @return Elasticsearch cluster public network access port * */ public Output publicPort() { return this.publicPort; } /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list * */ @Export(name="publicWhitelists", refs={List.class,String.class}, tree="[0,1]") private Output> publicWhitelists; /** - * @return Set the instance's IP whitelist in internet network. + * @return Elasticseach public network access whitelist IP list * */ public Output> publicWhitelists() { return this.publicWhitelists; } /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status * */ @Export(name="renewStatus", refs={String.class}, tree="[0]") - private Output renewStatus; + private Output renewStatus; /** - * @return The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @return Renewal Status * */ - public Output> renewStatus() { - return Codegen.optional(this.renewStatus); + public Output renewStatus() { + return this.renewStatus; } /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit * */ @Export(name="renewalDurationUnit", refs={String.class}, tree="[0]") - private Output renewalDurationUnit; + private Output renewalDurationUnit; /** - * @return Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @return Renewal Period Unit * */ - public Output> renewalDurationUnit() { - return Codegen.optional(this.renewalDurationUnit); + public Output renewalDurationUnit() { + return this.renewalDurationUnit; } /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs * */ @Export(name="resourceGroupId", refs={String.class}, tree="[0]") private Output resourceGroupId; /** - * @return The ID of resource group which the Elasticsearch instance belongs. + * @return Resource group to which the instance belongs * */ public Output resourceGroupId() { return this.resourceGroupId; } /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information * */ @Export(name="settingConfig", refs={Map.class,String.class}, tree="[0,1,1]") private Output> settingConfig; /** - * @return The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @return Configuration information * */ public Output> settingConfig() { return this.settingConfig; } /** - * The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * Instance change status * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * @return Instance change status * */ public Output status() { return this.status; } /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return Collection of tag key-value pairs * */ public Output>> tags() { return Codegen.optional(this.tags); } + @Export(name="updateStrategy", refs={String.class}, tree="[0]") + private Output updateStrategy; + + public Output> updateStrategy() { + return Codegen.optional(this.updateStrategy); + } /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version * */ @Export(name="version", refs={String.class}, tree="[0]") private Output version; /** - * @return Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @return Instance version * */ public Output version() { @@ -607,86 +886,124 @@ public Output vswitchId() { /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ @Export(name="warmNodeAmount", refs={Integer.class}, tree="[0]") - private Output warmNodeAmount; + private Output warmNodeAmount; /** * @return The Elasticsearch cluster's warm node quantity, between 3 and 50. * */ - public Output> warmNodeAmount() { - return Codegen.optional(this.warmNodeAmount); + public Output warmNodeAmount() { + return this.warmNodeAmount; + } + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + @Export(name="warmNodeConfiguration", refs={InstanceWarmNodeConfiguration.class}, tree="[0]") + private Output warmNodeConfiguration; + + /** + * @return Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + public Output warmNodeConfiguration() { + return this.warmNodeConfiguration; } /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ @Export(name="warmNodeDiskEncrypted", refs={Boolean.class}, tree="[0]") - private Output warmNodeDiskEncrypted; + private Output warmNodeDiskEncrypted; /** * @return If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * */ - public Output> warmNodeDiskEncrypted() { - return Codegen.optional(this.warmNodeDiskEncrypted); + public Output warmNodeDiskEncrypted() { + return this.warmNodeDiskEncrypted; } /** * The single warm node storage space, should between 500 and 20480 * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ @Export(name="warmNodeDiskSize", refs={Integer.class}, tree="[0]") - private Output warmNodeDiskSize; + private Output warmNodeDiskSize; /** * @return The single warm node storage space, should between 500 and 20480 * */ - public Output> warmNodeDiskSize() { - return Codegen.optional(this.warmNodeDiskSize); + public Output warmNodeDiskSize() { + return this.warmNodeDiskSize; } /** * The warm node disk type. Supported values: cloud_efficiency. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ @Export(name="warmNodeDiskType", refs={String.class}, tree="[0]") - private Output warmNodeDiskType; + private Output warmNodeDiskType; /** * @return The warm node disk type. Supported values: cloud_efficiency. * */ - public Output> warmNodeDiskType() { - return Codegen.optional(this.warmNodeDiskType); + public Output warmNodeDiskType() { + return this.warmNodeDiskType; } /** * The warm node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ @Export(name="warmNodeSpec", refs={String.class}, tree="[0]") - private Output warmNodeSpec; + private Output warmNodeSpec; /** * @return The warm node specifications of the Elasticsearch instance. * */ - public Output> warmNodeSpec() { - return Codegen.optional(this.warmNodeSpec); + public Output warmNodeSpec() { + return this.warmNodeSpec; } /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ @Export(name="zoneCount", refs={Integer.class}, tree="[0]") - private Output zoneCount; + private Output zoneCount; /** - * @return The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @return The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ - public Output> zoneCount() { - return Codegen.optional(this.zoneCount); + public Output zoneCount() { + return this.zoneCount; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/InstanceArgs.java index 1bbe9e05d7..98ce997740 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/InstanceArgs.java @@ -3,6 +3,11 @@ package com.pulumi.alicloud.elasticsearch; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceClientNodeConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceDataNodeConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceKibanaConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceMasterConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceWarmNodeConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -21,14 +26,14 @@ public final class InstanceArgs extends com.pulumi.resources.ResourceArgs { public static final InstanceArgs Empty = new InstanceArgs(); /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Renewal Period * */ @Import(name="autoRenewDuration") private @Nullable Output autoRenewDuration; /** - * @return Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @return Renewal Period * */ public Optional> autoRenewDuration() { @@ -38,29 +43,60 @@ public Optional> autoRenewDuration() { /** * The Elasticsearch cluster's client node quantity, between 2 and 25. * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ @Import(name="clientNodeAmount") private @Nullable Output clientNodeAmount; /** * @return The Elasticsearch cluster's client node quantity, between 2 and 25. * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Optional> clientNodeAmount() { return Optional.ofNullable(this.clientNodeAmount); } + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + @Import(name="clientNodeConfiguration") + private @Nullable Output clientNodeConfiguration; + + /** + * @return Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + public Optional> clientNodeConfiguration() { + return Optional.ofNullable(this.clientNodeConfiguration); + } + /** * The client node spec. If specified, client node will be created. * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ @Import(name="clientNodeSpec") private @Nullable Output clientNodeSpec; /** * @return The client node spec. If specified, client node will be created. * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Optional> clientNodeSpec() { return Optional.ofNullable(this.clientNodeSpec); } @@ -68,29 +104,60 @@ public Optional> clientNodeSpec() { /** * The Elasticsearch cluster's data node quantity, between 2 and 50. * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ - @Import(name="dataNodeAmount", required=true) - private Output dataNodeAmount; + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ + @Import(name="dataNodeAmount") + private @Nullable Output dataNodeAmount; /** * @return The Elasticsearch cluster's data node quantity, between 2 and 50. * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ - public Output dataNodeAmount() { - return this.dataNodeAmount; + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ + public Optional> dataNodeAmount() { + return Optional.ofNullable(this.dataNodeAmount); + } + + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + @Import(name="dataNodeConfiguration") + private @Nullable Output dataNodeConfiguration; + + /** + * @return Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + public Optional> dataNodeConfiguration() { + return Optional.ofNullable(this.dataNodeConfiguration); } /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ @Import(name="dataNodeDiskEncrypted") private @Nullable Output dataNodeDiskEncrypted; /** * @return If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Optional> dataNodeDiskEncrypted() { return Optional.ofNullable(this.dataNodeDiskEncrypted); } @@ -98,14 +165,22 @@ public Optional> dataNodeDiskEncrypted() { /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ @Import(name="dataNodeDiskPerformanceLevel") private @Nullable Output dataNodeDiskPerformanceLevel; /** * @return Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Optional> dataNodeDiskPerformanceLevel() { return Optional.ofNullable(this.dataNodeDiskPerformanceLevel); } @@ -113,57 +188,81 @@ public Optional> dataNodeDiskPerformanceLevel() { /** * The single data node storage space. * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ - @Import(name="dataNodeDiskSize", required=true) - private Output dataNodeDiskSize; + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ + @Import(name="dataNodeDiskSize") + private @Nullable Output dataNodeDiskSize; /** * @return The single data node storage space. * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ - public Output dataNodeDiskSize() { - return this.dataNodeDiskSize; + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ + public Optional> dataNodeDiskSize() { + return Optional.ofNullable(this.dataNodeDiskSize); } /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ - @Import(name="dataNodeDiskType", required=true) - private Output dataNodeDiskType; + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ + @Import(name="dataNodeDiskType") + private @Nullable Output dataNodeDiskType; /** * @return The data node disk type. Supported values: cloud_ssd, cloud_efficiency. * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ - public Output dataNodeDiskType() { - return this.dataNodeDiskType; + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ + public Optional> dataNodeDiskType() { + return Optional.ofNullable(this.dataNodeDiskType); } /** * The data node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ - @Import(name="dataNodeSpec", required=true) - private Output dataNodeSpec; + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ + @Import(name="dataNodeSpec") + private @Nullable Output dataNodeSpec; /** * @return The data node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ - public Output dataNodeSpec() { - return this.dataNodeSpec; + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ + public Optional> dataNodeSpec() { + return Optional.ofNullable(this.dataNodeSpec); } /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of instance. It a string of 0 to 30 characters. + * @return Instance name * */ public Optional> description() { @@ -171,14 +270,22 @@ public Optional> description() { } /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Import(name="enableKibanaPrivateNetwork") private @Nullable Output enableKibanaPrivateNetwork; /** - * @return Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @return Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ public Optional> enableKibanaPrivateNetwork() { @@ -186,14 +293,14 @@ public Optional> enableKibanaPrivateNetwork() { } /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Does Kibana enable public access * */ @Import(name="enableKibanaPublicNetwork") private @Nullable Output enableKibanaPublicNetwork; /** - * @return Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @return Does Kibana enable public access * */ public Optional> enableKibanaPublicNetwork() { @@ -201,59 +308,120 @@ public Optional> enableKibanaPublicNetwork() { } /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Import(name="enablePublic") private @Nullable Output enablePublic; /** - * @return Bool, default to false. When it set to true, the instance can enable public network access。 + * @return Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ public Optional> enablePublic() { return Optional.ofNullable(this.enablePublic); } + @Import(name="force") + private @Nullable Output force; + + public Optional> force() { + return Optional.ofNullable(this.force); + } + + /** + * Version type. + * + */ + @Import(name="instanceCategory") + private @Nullable Output instanceCategory; + + /** + * @return Version type. + * + */ + public Optional> instanceCategory() { + return Optional.ofNullable(this.instanceCategory); + } + /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ @Import(name="instanceChargeType") private @Nullable Output instanceChargeType; /** * @return Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Optional> instanceChargeType() { return Optional.ofNullable(this.instanceChargeType); } + /** + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + @Import(name="kibanaConfiguration") + private @Nullable Output kibanaConfiguration; + + /** + * @return Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + public Optional> kibanaConfiguration() { + return Optional.ofNullable(this.kibanaConfiguration); + } + /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ @Import(name="kibanaNodeSpec") private @Nullable Output kibanaNodeSpec; /** * @return The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Optional> kibanaNodeSpec() { return Optional.ofNullable(this.kibanaNodeSpec); } /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID * */ @Import(name="kibanaPrivateSecurityGroupId") private @Nullable Output kibanaPrivateSecurityGroupId; /** - * @return the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @return Kibana private network security group ID * */ public Optional> kibanaPrivateSecurityGroupId() { @@ -261,14 +429,14 @@ public Optional> kibanaPrivateSecurityGroupId() { } /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist * */ @Import(name="kibanaPrivateWhitelists") private @Nullable Output> kibanaPrivateWhitelists; /** - * @return Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @return Cluster Kibana node private network access whitelist * */ public Optional>> kibanaPrivateWhitelists() { @@ -276,14 +444,14 @@ public Optional>> kibanaPrivateWhitelists() { } /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist * */ @Import(name="kibanaWhitelists") private @Nullable Output> kibanaWhitelists; /** - * @return Set the Kibana's IP whitelist in internet network. + * @return Kibana private network access whitelist * */ public Optional>> kibanaWhitelists() { @@ -320,17 +488,40 @@ public Optional>> kmsEncryptionContext() { return Optional.ofNullable(this.kmsEncryptionContext); } + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + @Import(name="masterConfiguration") + private @Nullable Output masterConfiguration; + + /** + * @return Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + public Optional> masterConfiguration() { + return Optional.ofNullable(this.masterConfiguration); + } + /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ @Import(name="masterNodeDiskType") private @Nullable Output masterNodeDiskType; /** * @return The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Optional> masterNodeDiskType() { return Optional.ofNullable(this.masterNodeDiskType); } @@ -338,27 +529,42 @@ public Optional> masterNodeDiskType() { /** * The dedicated master node spec. If specified, dedicated master node will be created. * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ @Import(name="masterNodeSpec") private @Nullable Output masterNodeSpec; /** * @return The dedicated master node spec. If specified, dedicated master node will be created. * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Optional> masterNodeSpec() { return Optional.ofNullable(this.masterNodeSpec); } + @Import(name="orderActionType") + private @Nullable Output orderActionType; + + public Optional> orderActionType() { + return Optional.ofNullable(this.orderActionType); + } + /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * The access password of the instance. * */ @Import(name="password") private @Nullable Output password; /** - * @return The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @return The access password of the instance. * */ public Optional> password() { @@ -366,14 +572,29 @@ public Optional> password() { } /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + @Import(name="paymentType") + private @Nullable Output paymentType; + + /** + * @return The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + public Optional> paymentType() { + return Optional.ofNullable(this.paymentType); + } + + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ @Import(name="period") private @Nullable Output period; /** - * @return The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @return The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ public Optional> period() { @@ -381,14 +602,14 @@ public Optional> period() { } /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ @Import(name="privateWhitelists") private @Nullable Output> privateWhitelists; /** - * @return Set the instance's IP whitelist in VPC network. + * @return Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ public Optional>> privateWhitelists() { @@ -396,14 +617,14 @@ public Optional>> privateWhitelists() { } /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ @Import(name="protocol") private @Nullable Output protocol; /** - * @return Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @return Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ public Optional> protocol() { @@ -411,14 +632,14 @@ public Optional> protocol() { } /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list * */ @Import(name="publicWhitelists") private @Nullable Output> publicWhitelists; /** - * @return Set the instance's IP whitelist in internet network. + * @return Elasticseach public network access whitelist IP list * */ public Optional>> publicWhitelists() { @@ -426,14 +647,14 @@ public Optional>> publicWhitelists() { } /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status * */ @Import(name="renewStatus") private @Nullable Output renewStatus; /** - * @return The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @return Renewal Status * */ public Optional> renewStatus() { @@ -441,14 +662,14 @@ public Optional> renewStatus() { } /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit * */ @Import(name="renewalDurationUnit") private @Nullable Output renewalDurationUnit; /** - * @return Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @return Renewal Period Unit * */ public Optional> renewalDurationUnit() { @@ -456,14 +677,14 @@ public Optional> renewalDurationUnit() { } /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs * */ @Import(name="resourceGroupId") private @Nullable Output resourceGroupId; /** - * @return The ID of resource group which the Elasticsearch instance belongs. + * @return Resource group to which the instance belongs * */ public Optional> resourceGroupId() { @@ -471,14 +692,14 @@ public Optional> resourceGroupId() { } /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information * */ @Import(name="settingConfig") private @Nullable Output> settingConfig; /** - * @return The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @return Configuration information * */ public Optional>> settingConfig() { @@ -486,29 +707,36 @@ public Optional>> settingConfig() { } /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return Collection of tag key-value pairs * */ public Optional>> tags() { return Optional.ofNullable(this.tags); } + @Import(name="updateStrategy") + private @Nullable Output updateStrategy; + + public Optional> updateStrategy() { + return Optional.ofNullable(this.updateStrategy); + } + /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version * */ @Import(name="version", required=true) private Output version; /** - * @return Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @return Instance version * */ public Output version() { @@ -533,29 +761,60 @@ public Output vswitchId() { /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ @Import(name="warmNodeAmount") private @Nullable Output warmNodeAmount; /** * @return The Elasticsearch cluster's warm node quantity, between 3 and 50. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Optional> warmNodeAmount() { return Optional.ofNullable(this.warmNodeAmount); } + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + @Import(name="warmNodeConfiguration") + private @Nullable Output warmNodeConfiguration; + + /** + * @return Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + public Optional> warmNodeConfiguration() { + return Optional.ofNullable(this.warmNodeConfiguration); + } + /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ @Import(name="warmNodeDiskEncrypted") private @Nullable Output warmNodeDiskEncrypted; /** * @return If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Optional> warmNodeDiskEncrypted() { return Optional.ofNullable(this.warmNodeDiskEncrypted); } @@ -563,14 +822,22 @@ public Optional> warmNodeDiskEncrypted() { /** * The single warm node storage space, should between 500 and 20480 * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ @Import(name="warmNodeDiskSize") private @Nullable Output warmNodeDiskSize; /** * @return The single warm node storage space, should between 500 and 20480 * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Optional> warmNodeDiskSize() { return Optional.ofNullable(this.warmNodeDiskSize); } @@ -578,14 +845,22 @@ public Optional> warmNodeDiskSize() { /** * The warm node disk type. Supported values: cloud_efficiency. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ @Import(name="warmNodeDiskType") private @Nullable Output warmNodeDiskType; /** * @return The warm node disk type. Supported values: cloud_efficiency. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Optional> warmNodeDiskType() { return Optional.ofNullable(this.warmNodeDiskType); } @@ -593,27 +868,39 @@ public Optional> warmNodeDiskType() { /** * The warm node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ @Import(name="warmNodeSpec") private @Nullable Output warmNodeSpec; /** * @return The warm node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Optional> warmNodeSpec() { return Optional.ofNullable(this.warmNodeSpec); } /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ @Import(name="zoneCount") private @Nullable Output zoneCount; /** - * @return The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @return The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ public Optional> zoneCount() { @@ -625,8 +912,10 @@ private InstanceArgs() {} private InstanceArgs(InstanceArgs $) { this.autoRenewDuration = $.autoRenewDuration; this.clientNodeAmount = $.clientNodeAmount; + this.clientNodeConfiguration = $.clientNodeConfiguration; this.clientNodeSpec = $.clientNodeSpec; this.dataNodeAmount = $.dataNodeAmount; + this.dataNodeConfiguration = $.dataNodeConfiguration; this.dataNodeDiskEncrypted = $.dataNodeDiskEncrypted; this.dataNodeDiskPerformanceLevel = $.dataNodeDiskPerformanceLevel; this.dataNodeDiskSize = $.dataNodeDiskSize; @@ -636,16 +925,22 @@ private InstanceArgs(InstanceArgs $) { this.enableKibanaPrivateNetwork = $.enableKibanaPrivateNetwork; this.enableKibanaPublicNetwork = $.enableKibanaPublicNetwork; this.enablePublic = $.enablePublic; + this.force = $.force; + this.instanceCategory = $.instanceCategory; this.instanceChargeType = $.instanceChargeType; + this.kibanaConfiguration = $.kibanaConfiguration; this.kibanaNodeSpec = $.kibanaNodeSpec; this.kibanaPrivateSecurityGroupId = $.kibanaPrivateSecurityGroupId; this.kibanaPrivateWhitelists = $.kibanaPrivateWhitelists; this.kibanaWhitelists = $.kibanaWhitelists; this.kmsEncryptedPassword = $.kmsEncryptedPassword; this.kmsEncryptionContext = $.kmsEncryptionContext; + this.masterConfiguration = $.masterConfiguration; this.masterNodeDiskType = $.masterNodeDiskType; this.masterNodeSpec = $.masterNodeSpec; + this.orderActionType = $.orderActionType; this.password = $.password; + this.paymentType = $.paymentType; this.period = $.period; this.privateWhitelists = $.privateWhitelists; this.protocol = $.protocol; @@ -655,9 +950,11 @@ private InstanceArgs(InstanceArgs $) { this.resourceGroupId = $.resourceGroupId; this.settingConfig = $.settingConfig; this.tags = $.tags; + this.updateStrategy = $.updateStrategy; this.version = $.version; this.vswitchId = $.vswitchId; this.warmNodeAmount = $.warmNodeAmount; + this.warmNodeConfiguration = $.warmNodeConfiguration; this.warmNodeDiskEncrypted = $.warmNodeDiskEncrypted; this.warmNodeDiskSize = $.warmNodeDiskSize; this.warmNodeDiskType = $.warmNodeDiskType; @@ -684,7 +981,7 @@ public Builder(InstanceArgs defaults) { } /** - * @param autoRenewDuration Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @param autoRenewDuration Renewal Period * * @return builder * @@ -695,7 +992,7 @@ public Builder autoRenewDuration(@Nullable Output autoRenewDuration) { } /** - * @param autoRenewDuration Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @param autoRenewDuration Renewal Period * * @return builder * @@ -709,7 +1006,11 @@ public Builder autoRenewDuration(Integer autoRenewDuration) { * * @return builder * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Builder clientNodeAmount(@Nullable Output clientNodeAmount) { $.clientNodeAmount = clientNodeAmount; return this; @@ -720,17 +1021,46 @@ public Builder clientNodeAmount(@Nullable Output clientNodeAmount) { * * @return builder * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Builder clientNodeAmount(Integer clientNodeAmount) { return clientNodeAmount(Output.of(clientNodeAmount)); } + /** + * @param clientNodeConfiguration Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + * @return builder + * + */ + public Builder clientNodeConfiguration(@Nullable Output clientNodeConfiguration) { + $.clientNodeConfiguration = clientNodeConfiguration; + return this; + } + + /** + * @param clientNodeConfiguration Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + * @return builder + * + */ + public Builder clientNodeConfiguration(InstanceClientNodeConfigurationArgs clientNodeConfiguration) { + return clientNodeConfiguration(Output.of(clientNodeConfiguration)); + } + /** * @param clientNodeSpec The client node spec. If specified, client node will be created. * * @return builder * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Builder clientNodeSpec(@Nullable Output clientNodeSpec) { $.clientNodeSpec = clientNodeSpec; return this; @@ -741,7 +1071,11 @@ public Builder clientNodeSpec(@Nullable Output clientNodeSpec) { * * @return builder * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Builder clientNodeSpec(String clientNodeSpec) { return clientNodeSpec(Output.of(clientNodeSpec)); } @@ -751,8 +1085,12 @@ public Builder clientNodeSpec(String clientNodeSpec) { * * @return builder * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ - public Builder dataNodeAmount(Output dataNodeAmount) { + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ + public Builder dataNodeAmount(@Nullable Output dataNodeAmount) { $.dataNodeAmount = dataNodeAmount; return this; } @@ -762,17 +1100,46 @@ public Builder dataNodeAmount(Output dataNodeAmount) { * * @return builder * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ public Builder dataNodeAmount(Integer dataNodeAmount) { return dataNodeAmount(Output.of(dataNodeAmount)); } + /** + * @param dataNodeConfiguration Elasticsearch data node information See `dataNodeConfiguration` below. + * + * @return builder + * + */ + public Builder dataNodeConfiguration(@Nullable Output dataNodeConfiguration) { + $.dataNodeConfiguration = dataNodeConfiguration; + return this; + } + + /** + * @param dataNodeConfiguration Elasticsearch data node information See `dataNodeConfiguration` below. + * + * @return builder + * + */ + public Builder dataNodeConfiguration(InstanceDataNodeConfigurationArgs dataNodeConfiguration) { + return dataNodeConfiguration(Output.of(dataNodeConfiguration)); + } + /** * @param dataNodeDiskEncrypted If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * * @return builder * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Builder dataNodeDiskEncrypted(@Nullable Output dataNodeDiskEncrypted) { $.dataNodeDiskEncrypted = dataNodeDiskEncrypted; return this; @@ -783,7 +1150,11 @@ public Builder dataNodeDiskEncrypted(@Nullable Output dataNodeDiskEncry * * @return builder * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Builder dataNodeDiskEncrypted(Boolean dataNodeDiskEncrypted) { return dataNodeDiskEncrypted(Output.of(dataNodeDiskEncrypted)); } @@ -793,7 +1164,11 @@ public Builder dataNodeDiskEncrypted(Boolean dataNodeDiskEncrypted) { * * @return builder * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Builder dataNodeDiskPerformanceLevel(@Nullable Output dataNodeDiskPerformanceLevel) { $.dataNodeDiskPerformanceLevel = dataNodeDiskPerformanceLevel; return this; @@ -804,7 +1179,11 @@ public Builder dataNodeDiskPerformanceLevel(@Nullable Output dataNodeDis * * @return builder * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Builder dataNodeDiskPerformanceLevel(String dataNodeDiskPerformanceLevel) { return dataNodeDiskPerformanceLevel(Output.of(dataNodeDiskPerformanceLevel)); } @@ -814,8 +1193,12 @@ public Builder dataNodeDiskPerformanceLevel(String dataNodeDiskPerformanceLevel) * * @return builder * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ - public Builder dataNodeDiskSize(Output dataNodeDiskSize) { + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ + public Builder dataNodeDiskSize(@Nullable Output dataNodeDiskSize) { $.dataNodeDiskSize = dataNodeDiskSize; return this; } @@ -825,7 +1208,11 @@ public Builder dataNodeDiskSize(Output dataNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ public Builder dataNodeDiskSize(Integer dataNodeDiskSize) { return dataNodeDiskSize(Output.of(dataNodeDiskSize)); } @@ -835,8 +1222,12 @@ public Builder dataNodeDiskSize(Integer dataNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ - public Builder dataNodeDiskType(Output dataNodeDiskType) { + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ + public Builder dataNodeDiskType(@Nullable Output dataNodeDiskType) { $.dataNodeDiskType = dataNodeDiskType; return this; } @@ -846,7 +1237,11 @@ public Builder dataNodeDiskType(Output dataNodeDiskType) { * * @return builder * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ public Builder dataNodeDiskType(String dataNodeDiskType) { return dataNodeDiskType(Output.of(dataNodeDiskType)); } @@ -856,8 +1251,12 @@ public Builder dataNodeDiskType(String dataNodeDiskType) { * * @return builder * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ - public Builder dataNodeSpec(Output dataNodeSpec) { + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ + public Builder dataNodeSpec(@Nullable Output dataNodeSpec) { $.dataNodeSpec = dataNodeSpec; return this; } @@ -867,13 +1266,17 @@ public Builder dataNodeSpec(Output dataNodeSpec) { * * @return builder * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ public Builder dataNodeSpec(String dataNodeSpec) { return dataNodeSpec(Output.of(dataNodeSpec)); } /** - * @param description The description of instance. It a string of 0 to 30 characters. + * @param description Instance name * * @return builder * @@ -884,7 +1287,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of instance. It a string of 0 to 30 characters. + * @param description Instance name * * @return builder * @@ -894,7 +1297,11 @@ public Builder description(String description) { } /** - * @param enableKibanaPrivateNetwork Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @param enableKibanaPrivateNetwork Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -905,7 +1312,11 @@ public Builder enableKibanaPrivateNetwork(@Nullable Output enableKibana } /** - * @param enableKibanaPrivateNetwork Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @param enableKibanaPrivateNetwork Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -915,7 +1326,7 @@ public Builder enableKibanaPrivateNetwork(Boolean enableKibanaPrivateNetwork) { } /** - * @param enableKibanaPublicNetwork Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @param enableKibanaPublicNetwork Does Kibana enable public access * * @return builder * @@ -926,7 +1337,7 @@ public Builder enableKibanaPublicNetwork(@Nullable Output enableKibanaP } /** - * @param enableKibanaPublicNetwork Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @param enableKibanaPublicNetwork Does Kibana enable public access * * @return builder * @@ -936,7 +1347,11 @@ public Builder enableKibanaPublicNetwork(Boolean enableKibanaPublicNetwork) { } /** - * @param enablePublic Bool, default to false. When it set to true, the instance can enable public network access。 + * @param enablePublic Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -947,7 +1362,11 @@ public Builder enablePublic(@Nullable Output enablePublic) { } /** - * @param enablePublic Bool, default to false. When it set to true, the instance can enable public network access。 + * @param enablePublic Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -956,12 +1375,46 @@ public Builder enablePublic(Boolean enablePublic) { return enablePublic(Output.of(enablePublic)); } + public Builder force(@Nullable Output force) { + $.force = force; + return this; + } + + public Builder force(Boolean force) { + return force(Output.of(force)); + } + + /** + * @param instanceCategory Version type. + * + * @return builder + * + */ + public Builder instanceCategory(@Nullable Output instanceCategory) { + $.instanceCategory = instanceCategory; + return this; + } + + /** + * @param instanceCategory Version type. + * + * @return builder + * + */ + public Builder instanceCategory(String instanceCategory) { + return instanceCategory(Output.of(instanceCategory)); + } + /** * @param instanceChargeType Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * * @return builder * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Builder instanceChargeType(@Nullable Output instanceChargeType) { $.instanceChargeType = instanceChargeType; return this; @@ -972,17 +1425,46 @@ public Builder instanceChargeType(@Nullable Output instanceChargeType) { * * @return builder * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Builder instanceChargeType(String instanceChargeType) { return instanceChargeType(Output.of(instanceChargeType)); } + /** + * @param kibanaConfiguration Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + * @return builder + * + */ + public Builder kibanaConfiguration(@Nullable Output kibanaConfiguration) { + $.kibanaConfiguration = kibanaConfiguration; + return this; + } + + /** + * @param kibanaConfiguration Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + * @return builder + * + */ + public Builder kibanaConfiguration(InstanceKibanaConfigurationArgs kibanaConfiguration) { + return kibanaConfiguration(Output.of(kibanaConfiguration)); + } + /** * @param kibanaNodeSpec The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * * @return builder * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Builder kibanaNodeSpec(@Nullable Output kibanaNodeSpec) { $.kibanaNodeSpec = kibanaNodeSpec; return this; @@ -993,13 +1475,17 @@ public Builder kibanaNodeSpec(@Nullable Output kibanaNodeSpec) { * * @return builder * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Builder kibanaNodeSpec(String kibanaNodeSpec) { return kibanaNodeSpec(Output.of(kibanaNodeSpec)); } /** - * @param kibanaPrivateSecurityGroupId the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @param kibanaPrivateSecurityGroupId Kibana private network security group ID * * @return builder * @@ -1010,7 +1496,7 @@ public Builder kibanaPrivateSecurityGroupId(@Nullable Output kibanaPriva } /** - * @param kibanaPrivateSecurityGroupId the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @param kibanaPrivateSecurityGroupId Kibana private network security group ID * * @return builder * @@ -1020,7 +1506,7 @@ public Builder kibanaPrivateSecurityGroupId(String kibanaPrivateSecurityGroupId) } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1031,7 +1517,7 @@ public Builder kibanaPrivateWhitelists(@Nullable Output> kibanaPriv } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1041,7 +1527,7 @@ public Builder kibanaPrivateWhitelists(List kibanaPrivateWhitelists) { } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1051,7 +1537,7 @@ public Builder kibanaPrivateWhitelists(String... kibanaPrivateWhitelists) { } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1062,7 +1548,7 @@ public Builder kibanaWhitelists(@Nullable Output> kibanaWhitelists) } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1072,7 +1558,7 @@ public Builder kibanaWhitelists(List kibanaWhitelists) { } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1123,12 +1609,37 @@ public Builder kmsEncryptionContext(Map kmsEncryptionContext) { return kmsEncryptionContext(Output.of(kmsEncryptionContext)); } + /** + * @param masterConfiguration Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + * @return builder + * + */ + public Builder masterConfiguration(@Nullable Output masterConfiguration) { + $.masterConfiguration = masterConfiguration; + return this; + } + + /** + * @param masterConfiguration Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + * @return builder + * + */ + public Builder masterConfiguration(InstanceMasterConfigurationArgs masterConfiguration) { + return masterConfiguration(Output.of(masterConfiguration)); + } + /** * @param masterNodeDiskType The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * * @return builder * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Builder masterNodeDiskType(@Nullable Output masterNodeDiskType) { $.masterNodeDiskType = masterNodeDiskType; return this; @@ -1139,7 +1650,11 @@ public Builder masterNodeDiskType(@Nullable Output masterNodeDiskType) { * * @return builder * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Builder masterNodeDiskType(String masterNodeDiskType) { return masterNodeDiskType(Output.of(masterNodeDiskType)); } @@ -1149,7 +1664,11 @@ public Builder masterNodeDiskType(String masterNodeDiskType) { * * @return builder * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Builder masterNodeSpec(@Nullable Output masterNodeSpec) { $.masterNodeSpec = masterNodeSpec; return this; @@ -1160,13 +1679,26 @@ public Builder masterNodeSpec(@Nullable Output masterNodeSpec) { * * @return builder * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Builder masterNodeSpec(String masterNodeSpec) { return masterNodeSpec(Output.of(masterNodeSpec)); } + public Builder orderActionType(@Nullable Output orderActionType) { + $.orderActionType = orderActionType; + return this; + } + + public Builder orderActionType(String orderActionType) { + return orderActionType(Output.of(orderActionType)); + } + /** - * @param password The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @param password The access password of the instance. * * @return builder * @@ -1177,7 +1709,7 @@ public Builder password(@Nullable Output password) { } /** - * @param password The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @param password The access password of the instance. * * @return builder * @@ -1187,7 +1719,28 @@ public Builder password(String password) { } /** - * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @param paymentType The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + * @return builder + * + */ + public Builder paymentType(@Nullable Output paymentType) { + $.paymentType = paymentType; + return this; + } + + /** + * @param paymentType The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + * @return builder + * + */ + public Builder paymentType(String paymentType) { + return paymentType(Output.of(paymentType)); + } + + /** + * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * * @return builder * @@ -1198,7 +1751,7 @@ public Builder period(@Nullable Output period) { } /** - * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * * @return builder * @@ -1208,7 +1761,7 @@ public Builder period(Integer period) { } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1219,7 +1772,7 @@ public Builder privateWhitelists(@Nullable Output> privateWhitelist } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1229,7 +1782,7 @@ public Builder privateWhitelists(List privateWhitelists) { } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1239,7 +1792,7 @@ public Builder privateWhitelists(String... privateWhitelists) { } /** - * @param protocol Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @param protocol Access protocol. Optional values: `HTTP` and **HTTPS * *. * * @return builder * @@ -1250,7 +1803,7 @@ public Builder protocol(@Nullable Output protocol) { } /** - * @param protocol Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @param protocol Access protocol. Optional values: `HTTP` and **HTTPS * *. * * @return builder * @@ -1260,7 +1813,7 @@ public Builder protocol(String protocol) { } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1271,7 +1824,7 @@ public Builder publicWhitelists(@Nullable Output> publicWhitelists) } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1281,7 +1834,7 @@ public Builder publicWhitelists(List publicWhitelists) { } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1291,7 +1844,7 @@ public Builder publicWhitelists(String... publicWhitelists) { } /** - * @param renewStatus The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @param renewStatus Renewal Status * * @return builder * @@ -1302,7 +1855,7 @@ public Builder renewStatus(@Nullable Output renewStatus) { } /** - * @param renewStatus The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @param renewStatus Renewal Status * * @return builder * @@ -1312,7 +1865,7 @@ public Builder renewStatus(String renewStatus) { } /** - * @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @param renewalDurationUnit Renewal Period Unit * * @return builder * @@ -1323,7 +1876,7 @@ public Builder renewalDurationUnit(@Nullable Output renewalDurationUnit) } /** - * @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @param renewalDurationUnit Renewal Period Unit * * @return builder * @@ -1333,7 +1886,7 @@ public Builder renewalDurationUnit(String renewalDurationUnit) { } /** - * @param resourceGroupId The ID of resource group which the Elasticsearch instance belongs. + * @param resourceGroupId Resource group to which the instance belongs * * @return builder * @@ -1344,7 +1897,7 @@ public Builder resourceGroupId(@Nullable Output resourceGroupId) { } /** - * @param resourceGroupId The ID of resource group which the Elasticsearch instance belongs. + * @param resourceGroupId Resource group to which the instance belongs * * @return builder * @@ -1354,7 +1907,7 @@ public Builder resourceGroupId(String resourceGroupId) { } /** - * @param settingConfig The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @param settingConfig Configuration information * * @return builder * @@ -1365,7 +1918,7 @@ public Builder settingConfig(@Nullable Output> settingConfig) } /** - * @param settingConfig The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @param settingConfig Configuration information * * @return builder * @@ -1375,7 +1928,7 @@ public Builder settingConfig(Map settingConfig) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags Collection of tag key-value pairs * * @return builder * @@ -1386,7 +1939,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags Collection of tag key-value pairs * * @return builder * @@ -1395,8 +1948,17 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + public Builder updateStrategy(@Nullable Output updateStrategy) { + $.updateStrategy = updateStrategy; + return this; + } + + public Builder updateStrategy(String updateStrategy) { + return updateStrategy(Output.of(updateStrategy)); + } + /** - * @param version Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @param version Instance version * * @return builder * @@ -1407,7 +1969,7 @@ public Builder version(Output version) { } /** - * @param version Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @param version Instance version * * @return builder * @@ -1442,7 +2004,11 @@ public Builder vswitchId(String vswitchId) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Builder warmNodeAmount(@Nullable Output warmNodeAmount) { $.warmNodeAmount = warmNodeAmount; return this; @@ -1453,17 +2019,46 @@ public Builder warmNodeAmount(@Nullable Output warmNodeAmount) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Builder warmNodeAmount(Integer warmNodeAmount) { return warmNodeAmount(Output.of(warmNodeAmount)); } + /** + * @param warmNodeConfiguration Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + * @return builder + * + */ + public Builder warmNodeConfiguration(@Nullable Output warmNodeConfiguration) { + $.warmNodeConfiguration = warmNodeConfiguration; + return this; + } + + /** + * @param warmNodeConfiguration Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + * @return builder + * + */ + public Builder warmNodeConfiguration(InstanceWarmNodeConfigurationArgs warmNodeConfiguration) { + return warmNodeConfiguration(Output.of(warmNodeConfiguration)); + } + /** * @param warmNodeDiskEncrypted If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Builder warmNodeDiskEncrypted(@Nullable Output warmNodeDiskEncrypted) { $.warmNodeDiskEncrypted = warmNodeDiskEncrypted; return this; @@ -1474,7 +2069,11 @@ public Builder warmNodeDiskEncrypted(@Nullable Output warmNodeDiskEncry * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Builder warmNodeDiskEncrypted(Boolean warmNodeDiskEncrypted) { return warmNodeDiskEncrypted(Output.of(warmNodeDiskEncrypted)); } @@ -1484,7 +2083,11 @@ public Builder warmNodeDiskEncrypted(Boolean warmNodeDiskEncrypted) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Builder warmNodeDiskSize(@Nullable Output warmNodeDiskSize) { $.warmNodeDiskSize = warmNodeDiskSize; return this; @@ -1495,7 +2098,11 @@ public Builder warmNodeDiskSize(@Nullable Output warmNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Builder warmNodeDiskSize(Integer warmNodeDiskSize) { return warmNodeDiskSize(Output.of(warmNodeDiskSize)); } @@ -1505,7 +2112,11 @@ public Builder warmNodeDiskSize(Integer warmNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Builder warmNodeDiskType(@Nullable Output warmNodeDiskType) { $.warmNodeDiskType = warmNodeDiskType; return this; @@ -1516,7 +2127,11 @@ public Builder warmNodeDiskType(@Nullable Output warmNodeDiskType) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Builder warmNodeDiskType(String warmNodeDiskType) { return warmNodeDiskType(Output.of(warmNodeDiskType)); } @@ -1526,7 +2141,11 @@ public Builder warmNodeDiskType(String warmNodeDiskType) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Builder warmNodeSpec(@Nullable Output warmNodeSpec) { $.warmNodeSpec = warmNodeSpec; return this; @@ -1537,13 +2156,19 @@ public Builder warmNodeSpec(@Nullable Output warmNodeSpec) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Builder warmNodeSpec(String warmNodeSpec) { return warmNodeSpec(Output.of(warmNodeSpec)); } /** - * @param zoneCount The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @param zoneCount The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * * @return builder * @@ -1554,7 +2179,9 @@ public Builder zoneCount(@Nullable Output zoneCount) { } /** - * @param zoneCount The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @param zoneCount The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * * @return builder * @@ -1564,18 +2191,6 @@ public Builder zoneCount(Integer zoneCount) { } public InstanceArgs build() { - if ($.dataNodeAmount == null) { - throw new MissingRequiredPropertyException("InstanceArgs", "dataNodeAmount"); - } - if ($.dataNodeDiskSize == null) { - throw new MissingRequiredPropertyException("InstanceArgs", "dataNodeDiskSize"); - } - if ($.dataNodeDiskType == null) { - throw new MissingRequiredPropertyException("InstanceArgs", "dataNodeDiskType"); - } - if ($.dataNodeSpec == null) { - throw new MissingRequiredPropertyException("InstanceArgs", "dataNodeSpec"); - } if ($.version == null) { throw new MissingRequiredPropertyException("InstanceArgs", "version"); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceClientNodeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceClientNodeConfigurationArgs.java new file mode 100644 index 0000000000..198f967fa3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceClientNodeConfigurationArgs.java @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceClientNodeConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceClientNodeConfigurationArgs Empty = new InstanceClientNodeConfigurationArgs(); + + /** + * Number of disks in the Elasticsearch cluster coordination node + * + */ + @Import(name="amount") + private @Nullable Output amount; + + /** + * @return Number of disks in the Elasticsearch cluster coordination node + * + */ + public Optional> amount() { + return Optional.ofNullable(this.amount); + } + + /** + * Elasticsearch cluster coordinates node disk size + * + */ + @Import(name="disk") + private @Nullable Output disk; + + /** + * @return Elasticsearch cluster coordinates node disk size + * + */ + public Optional> disk() { + return Optional.ofNullable(this.disk); + } + + /** + * Elasticsearch cluster coordination node disk type + * + */ + @Import(name="diskType") + private @Nullable Output diskType; + + /** + * @return Elasticsearch cluster coordination node disk type + * + */ + public Optional> diskType() { + return Optional.ofNullable(this.diskType); + } + + /** + * Elasticsearch cluster coordination node specification + * + */ + @Import(name="spec") + private @Nullable Output spec; + + /** + * @return Elasticsearch cluster coordination node specification + * + */ + public Optional> spec() { + return Optional.ofNullable(this.spec); + } + + private InstanceClientNodeConfigurationArgs() {} + + private InstanceClientNodeConfigurationArgs(InstanceClientNodeConfigurationArgs $) { + this.amount = $.amount; + this.disk = $.disk; + this.diskType = $.diskType; + this.spec = $.spec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceClientNodeConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceClientNodeConfigurationArgs $; + + public Builder() { + $ = new InstanceClientNodeConfigurationArgs(); + } + + public Builder(InstanceClientNodeConfigurationArgs defaults) { + $ = new InstanceClientNodeConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amount Number of disks in the Elasticsearch cluster coordination node + * + * @return builder + * + */ + public Builder amount(@Nullable Output amount) { + $.amount = amount; + return this; + } + + /** + * @param amount Number of disks in the Elasticsearch cluster coordination node + * + * @return builder + * + */ + public Builder amount(Integer amount) { + return amount(Output.of(amount)); + } + + /** + * @param disk Elasticsearch cluster coordinates node disk size + * + * @return builder + * + */ + public Builder disk(@Nullable Output disk) { + $.disk = disk; + return this; + } + + /** + * @param disk Elasticsearch cluster coordinates node disk size + * + * @return builder + * + */ + public Builder disk(Integer disk) { + return disk(Output.of(disk)); + } + + /** + * @param diskType Elasticsearch cluster coordination node disk type + * + * @return builder + * + */ + public Builder diskType(@Nullable Output diskType) { + $.diskType = diskType; + return this; + } + + /** + * @param diskType Elasticsearch cluster coordination node disk type + * + * @return builder + * + */ + public Builder diskType(String diskType) { + return diskType(Output.of(diskType)); + } + + /** + * @param spec Elasticsearch cluster coordination node specification + * + * @return builder + * + */ + public Builder spec(@Nullable Output spec) { + $.spec = spec; + return this; + } + + /** + * @param spec Elasticsearch cluster coordination node specification + * + * @return builder + * + */ + public Builder spec(String spec) { + return spec(Output.of(spec)); + } + + public InstanceClientNodeConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceDataNodeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceDataNodeConfigurationArgs.java new file mode 100644 index 0000000000..50cedf6608 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceDataNodeConfigurationArgs.java @@ -0,0 +1,274 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceDataNodeConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceDataNodeConfigurationArgs Empty = new InstanceDataNodeConfigurationArgs(); + + /** + * Number of data nodes in the Elasticsearch cluster + * + */ + @Import(name="amount") + private @Nullable Output amount; + + /** + * @return Number of data nodes in the Elasticsearch cluster + * + */ + public Optional> amount() { + return Optional.ofNullable(this.amount); + } + + /** + * Elasticsearch data node disk size + * + */ + @Import(name="disk") + private @Nullable Output disk; + + /** + * @return Elasticsearch data node disk size + * + */ + public Optional> disk() { + return Optional.ofNullable(this.disk); + } + + /** + * Whether the Elasticsearch data node disk is encrypted + * + */ + @Import(name="diskEncryption") + private @Nullable Output diskEncryption; + + /** + * @return Whether the Elasticsearch data node disk is encrypted + * + */ + public Optional> diskEncryption() { + return Optional.ofNullable(this.diskEncryption); + } + + /** + * Elasticsearch cluster data node disk type + * + */ + @Import(name="diskType") + private @Nullable Output diskType; + + /** + * @return Elasticsearch cluster data node disk type + * + */ + public Optional> diskType() { + return Optional.ofNullable(this.diskType); + } + + /** + * Elasticsearch cluster data node Essd disk level + * + */ + @Import(name="performanceLevel") + private @Nullable Output performanceLevel; + + /** + * @return Elasticsearch cluster data node Essd disk level + * + */ + public Optional> performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + + /** + * Elasticsearch data node specification + * + */ + @Import(name="spec", required=true) + private Output spec; + + /** + * @return Elasticsearch data node specification + * + */ + public Output spec() { + return this.spec; + } + + private InstanceDataNodeConfigurationArgs() {} + + private InstanceDataNodeConfigurationArgs(InstanceDataNodeConfigurationArgs $) { + this.amount = $.amount; + this.disk = $.disk; + this.diskEncryption = $.diskEncryption; + this.diskType = $.diskType; + this.performanceLevel = $.performanceLevel; + this.spec = $.spec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceDataNodeConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceDataNodeConfigurationArgs $; + + public Builder() { + $ = new InstanceDataNodeConfigurationArgs(); + } + + public Builder(InstanceDataNodeConfigurationArgs defaults) { + $ = new InstanceDataNodeConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amount Number of data nodes in the Elasticsearch cluster + * + * @return builder + * + */ + public Builder amount(@Nullable Output amount) { + $.amount = amount; + return this; + } + + /** + * @param amount Number of data nodes in the Elasticsearch cluster + * + * @return builder + * + */ + public Builder amount(Integer amount) { + return amount(Output.of(amount)); + } + + /** + * @param disk Elasticsearch data node disk size + * + * @return builder + * + */ + public Builder disk(@Nullable Output disk) { + $.disk = disk; + return this; + } + + /** + * @param disk Elasticsearch data node disk size + * + * @return builder + * + */ + public Builder disk(Integer disk) { + return disk(Output.of(disk)); + } + + /** + * @param diskEncryption Whether the Elasticsearch data node disk is encrypted + * + * @return builder + * + */ + public Builder diskEncryption(@Nullable Output diskEncryption) { + $.diskEncryption = diskEncryption; + return this; + } + + /** + * @param diskEncryption Whether the Elasticsearch data node disk is encrypted + * + * @return builder + * + */ + public Builder diskEncryption(Boolean diskEncryption) { + return diskEncryption(Output.of(diskEncryption)); + } + + /** + * @param diskType Elasticsearch cluster data node disk type + * + * @return builder + * + */ + public Builder diskType(@Nullable Output diskType) { + $.diskType = diskType; + return this; + } + + /** + * @param diskType Elasticsearch cluster data node disk type + * + * @return builder + * + */ + public Builder diskType(String diskType) { + return diskType(Output.of(diskType)); + } + + /** + * @param performanceLevel Elasticsearch cluster data node Essd disk level + * + * @return builder + * + */ + public Builder performanceLevel(@Nullable Output performanceLevel) { + $.performanceLevel = performanceLevel; + return this; + } + + /** + * @param performanceLevel Elasticsearch cluster data node Essd disk level + * + * @return builder + * + */ + public Builder performanceLevel(String performanceLevel) { + return performanceLevel(Output.of(performanceLevel)); + } + + /** + * @param spec Elasticsearch data node specification + * + * @return builder + * + */ + public Builder spec(Output spec) { + $.spec = spec; + return this; + } + + /** + * @param spec Elasticsearch data node specification + * + * @return builder + * + */ + public Builder spec(String spec) { + return spec(Output.of(spec)); + } + + public InstanceDataNodeConfigurationArgs build() { + if ($.spec == null) { + throw new MissingRequiredPropertyException("InstanceDataNodeConfigurationArgs", "spec"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceKibanaConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceKibanaConfigurationArgs.java new file mode 100644 index 0000000000..511d5fa95c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceKibanaConfigurationArgs.java @@ -0,0 +1,162 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceKibanaConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceKibanaConfigurationArgs Empty = new InstanceKibanaConfigurationArgs(); + + /** + * The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + */ + @Import(name="amount") + private @Nullable Output amount; + + /** + * @return The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + */ + public Optional> amount() { + return Optional.ofNullable(this.amount); + } + + /** + * Elasticsearch Kibana node disk size + * + */ + @Import(name="disk") + private @Nullable Output disk; + + /** + * @return Elasticsearch Kibana node disk size + * + */ + public Optional> disk() { + return Optional.ofNullable(this.disk); + } + + /** + * Elasticsearch Kibana node disk specifications + * + */ + @Import(name="spec", required=true) + private Output spec; + + /** + * @return Elasticsearch Kibana node disk specifications + * + */ + public Output spec() { + return this.spec; + } + + private InstanceKibanaConfigurationArgs() {} + + private InstanceKibanaConfigurationArgs(InstanceKibanaConfigurationArgs $) { + this.amount = $.amount; + this.disk = $.disk; + this.spec = $.spec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceKibanaConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceKibanaConfigurationArgs $; + + public Builder() { + $ = new InstanceKibanaConfigurationArgs(); + } + + public Builder(InstanceKibanaConfigurationArgs defaults) { + $ = new InstanceKibanaConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amount The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + * @return builder + * + */ + public Builder amount(@Nullable Output amount) { + $.amount = amount; + return this; + } + + /** + * @param amount The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + * @return builder + * + */ + public Builder amount(Integer amount) { + return amount(Output.of(amount)); + } + + /** + * @param disk Elasticsearch Kibana node disk size + * + * @return builder + * + */ + public Builder disk(@Nullable Output disk) { + $.disk = disk; + return this; + } + + /** + * @param disk Elasticsearch Kibana node disk size + * + * @return builder + * + */ + public Builder disk(Integer disk) { + return disk(Output.of(disk)); + } + + /** + * @param spec Elasticsearch Kibana node disk specifications + * + * @return builder + * + */ + public Builder spec(Output spec) { + $.spec = spec; + return this; + } + + /** + * @param spec Elasticsearch Kibana node disk specifications + * + * @return builder + * + */ + public Builder spec(String spec) { + return spec(Output.of(spec)); + } + + public InstanceKibanaConfigurationArgs build() { + if ($.spec == null) { + throw new MissingRequiredPropertyException("InstanceKibanaConfigurationArgs", "spec"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceMasterConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceMasterConfigurationArgs.java new file mode 100644 index 0000000000..e2655c2d9c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceMasterConfigurationArgs.java @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceMasterConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceMasterConfigurationArgs Empty = new InstanceMasterConfigurationArgs(); + + /** + * Elasticsearch proprietary master node number of disks + * + */ + @Import(name="amount") + private @Nullable Output amount; + + /** + * @return Elasticsearch proprietary master node number of disks + * + */ + public Optional> amount() { + return Optional.ofNullable(this.amount); + } + + /** + * Elasticsearch proprietary master node disk size + * + */ + @Import(name="disk") + private @Nullable Output disk; + + /** + * @return Elasticsearch proprietary master node disk size + * + */ + public Optional> disk() { + return Optional.ofNullable(this.disk); + } + + /** + * Elasticsearch proprietary master node disk type + * + */ + @Import(name="diskType") + private @Nullable Output diskType; + + /** + * @return Elasticsearch proprietary master node disk type + * + */ + public Optional> diskType() { + return Optional.ofNullable(this.diskType); + } + + /** + * Elasticsearch proprietary master node specifications + * + */ + @Import(name="spec") + private @Nullable Output spec; + + /** + * @return Elasticsearch proprietary master node specifications + * + */ + public Optional> spec() { + return Optional.ofNullable(this.spec); + } + + private InstanceMasterConfigurationArgs() {} + + private InstanceMasterConfigurationArgs(InstanceMasterConfigurationArgs $) { + this.amount = $.amount; + this.disk = $.disk; + this.diskType = $.diskType; + this.spec = $.spec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceMasterConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceMasterConfigurationArgs $; + + public Builder() { + $ = new InstanceMasterConfigurationArgs(); + } + + public Builder(InstanceMasterConfigurationArgs defaults) { + $ = new InstanceMasterConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amount Elasticsearch proprietary master node number of disks + * + * @return builder + * + */ + public Builder amount(@Nullable Output amount) { + $.amount = amount; + return this; + } + + /** + * @param amount Elasticsearch proprietary master node number of disks + * + * @return builder + * + */ + public Builder amount(Integer amount) { + return amount(Output.of(amount)); + } + + /** + * @param disk Elasticsearch proprietary master node disk size + * + * @return builder + * + */ + public Builder disk(@Nullable Output disk) { + $.disk = disk; + return this; + } + + /** + * @param disk Elasticsearch proprietary master node disk size + * + * @return builder + * + */ + public Builder disk(Integer disk) { + return disk(Output.of(disk)); + } + + /** + * @param diskType Elasticsearch proprietary master node disk type + * + * @return builder + * + */ + public Builder diskType(@Nullable Output diskType) { + $.diskType = diskType; + return this; + } + + /** + * @param diskType Elasticsearch proprietary master node disk type + * + * @return builder + * + */ + public Builder diskType(String diskType) { + return diskType(Output.of(diskType)); + } + + /** + * @param spec Elasticsearch proprietary master node specifications + * + * @return builder + * + */ + public Builder spec(@Nullable Output spec) { + $.spec = spec; + return this; + } + + /** + * @param spec Elasticsearch proprietary master node specifications + * + * @return builder + * + */ + public Builder spec(String spec) { + return spec(Output.of(spec)); + } + + public InstanceMasterConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceState.java index 93d585c997..760bf04ae4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceState.java @@ -3,6 +3,11 @@ package com.pulumi.alicloud.elasticsearch.inputs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceClientNodeConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceDataNodeConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceKibanaConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceMasterConfigurationArgs; +import com.pulumi.alicloud.elasticsearch.inputs.InstanceWarmNodeConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -20,14 +25,29 @@ public final class InstanceState extends com.pulumi.resources.ResourceArgs { public static final InstanceState Empty = new InstanceState(); /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Schema Type: + * + */ + @Import(name="archType") + private @Nullable Output archType; + + /** + * @return Schema Type: + * + */ + public Optional> archType() { + return Optional.ofNullable(this.archType); + } + + /** + * Renewal Period * */ @Import(name="autoRenewDuration") private @Nullable Output autoRenewDuration; /** - * @return Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @return Renewal Period * */ public Optional> autoRenewDuration() { @@ -37,59 +57,136 @@ public Optional> autoRenewDuration() { /** * The Elasticsearch cluster's client node quantity, between 2 and 25. * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ @Import(name="clientNodeAmount") private @Nullable Output clientNodeAmount; /** * @return The Elasticsearch cluster's client node quantity, between 2 and 25. * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Optional> clientNodeAmount() { return Optional.ofNullable(this.clientNodeAmount); } + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + @Import(name="clientNodeConfiguration") + private @Nullable Output clientNodeConfiguration; + + /** + * @return Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + */ + public Optional> clientNodeConfiguration() { + return Optional.ofNullable(this.clientNodeConfiguration); + } + /** * The client node spec. If specified, client node will be created. * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ @Import(name="clientNodeSpec") private @Nullable Output clientNodeSpec; /** * @return The client node spec. If specified, client node will be created. * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Optional> clientNodeSpec() { return Optional.ofNullable(this.clientNodeSpec); } + /** + * Instance creation time + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return Instance creation time + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + /** * The Elasticsearch cluster's data node quantity, between 2 and 50. * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ @Import(name="dataNodeAmount") private @Nullable Output dataNodeAmount; /** * @return The Elasticsearch cluster's data node quantity, between 2 and 50. * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ public Optional> dataNodeAmount() { return Optional.ofNullable(this.dataNodeAmount); } + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + @Import(name="dataNodeConfiguration") + private @Nullable Output dataNodeConfiguration; + + /** + * @return Elasticsearch data node information See `dataNodeConfiguration` below. + * + */ + public Optional> dataNodeConfiguration() { + return Optional.ofNullable(this.dataNodeConfiguration); + } + /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ @Import(name="dataNodeDiskEncrypted") private @Nullable Output dataNodeDiskEncrypted; /** * @return If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Optional> dataNodeDiskEncrypted() { return Optional.ofNullable(this.dataNodeDiskEncrypted); } @@ -97,14 +194,22 @@ public Optional> dataNodeDiskEncrypted() { /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ @Import(name="dataNodeDiskPerformanceLevel") private @Nullable Output dataNodeDiskPerformanceLevel; /** * @return Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Optional> dataNodeDiskPerformanceLevel() { return Optional.ofNullable(this.dataNodeDiskPerformanceLevel); } @@ -112,14 +217,22 @@ public Optional> dataNodeDiskPerformanceLevel() { /** * The single data node storage space. * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ @Import(name="dataNodeDiskSize") private @Nullable Output dataNodeDiskSize; /** * @return The single data node storage space. * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ public Optional> dataNodeDiskSize() { return Optional.ofNullable(this.dataNodeDiskSize); } @@ -127,14 +240,22 @@ public Optional> dataNodeDiskSize() { /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ @Import(name="dataNodeDiskType") private @Nullable Output dataNodeDiskType; /** * @return The data node disk type. Supported values: cloud_ssd, cloud_efficiency. * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ public Optional> dataNodeDiskType() { return Optional.ofNullable(this.dataNodeDiskType); } @@ -142,27 +263,35 @@ public Optional> dataNodeDiskType() { /** * The data node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ @Import(name="dataNodeSpec") private @Nullable Output dataNodeSpec; /** * @return The data node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ public Optional> dataNodeSpec() { return Optional.ofNullable(this.dataNodeSpec); } /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of instance. It a string of 0 to 30 characters. + * @return Instance name * */ public Optional> description() { @@ -170,14 +299,14 @@ public Optional> description() { } /** - * Instance connection domain (only VPC network access supported). + * Elasticsearch cluster private domain name * */ @Import(name="domain") private @Nullable Output domain; /** - * @return Instance connection domain (only VPC network access supported). + * @return Elasticsearch cluster private domain name * */ public Optional> domain() { @@ -185,14 +314,22 @@ public Optional> domain() { } /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Import(name="enableKibanaPrivateNetwork") private @Nullable Output enableKibanaPrivateNetwork; /** - * @return Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @return Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ public Optional> enableKibanaPrivateNetwork() { @@ -200,14 +337,14 @@ public Optional> enableKibanaPrivateNetwork() { } /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Does Kibana enable public access * */ @Import(name="enableKibanaPublicNetwork") private @Nullable Output enableKibanaPublicNetwork; /** - * @return Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @return Does Kibana enable public access * */ public Optional> enableKibanaPublicNetwork() { @@ -215,44 +352,97 @@ public Optional> enableKibanaPublicNetwork() { } /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ @Import(name="enablePublic") private @Nullable Output enablePublic; /** - * @return Bool, default to false. When it set to true, the instance can enable public network access。 + * @return Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * */ public Optional> enablePublic() { return Optional.ofNullable(this.enablePublic); } + @Import(name="force") + private @Nullable Output force; + + public Optional> force() { + return Optional.ofNullable(this.force); + } + + /** + * Version type. + * + */ + @Import(name="instanceCategory") + private @Nullable Output instanceCategory; + + /** + * @return Version type. + * + */ + public Optional> instanceCategory() { + return Optional.ofNullable(this.instanceCategory); + } + /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ @Import(name="instanceChargeType") private @Nullable Output instanceChargeType; /** * @return Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Optional> instanceChargeType() { return Optional.ofNullable(this.instanceChargeType); } /** - * Kibana console domain (Internet access supported). + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + @Import(name="kibanaConfiguration") + private @Nullable Output kibanaConfiguration; + + /** + * @return Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + */ + public Optional> kibanaConfiguration() { + return Optional.ofNullable(this.kibanaConfiguration); + } + + /** + * Kibana address * */ @Import(name="kibanaDomain") private @Nullable Output kibanaDomain; /** - * @return Kibana console domain (Internet access supported). + * @return Kibana address * */ public Optional> kibanaDomain() { @@ -262,27 +452,35 @@ public Optional> kibanaDomain() { /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ @Import(name="kibanaNodeSpec") private @Nullable Output kibanaNodeSpec; /** * @return The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Optional> kibanaNodeSpec() { return Optional.ofNullable(this.kibanaNodeSpec); } /** - * Kibana console port. + * The port assigned by the Kibana node. * */ @Import(name="kibanaPort") private @Nullable Output kibanaPort; /** - * @return Kibana console port. + * @return The port assigned by the Kibana node. * */ public Optional> kibanaPort() { @@ -290,14 +488,14 @@ public Optional> kibanaPort() { } /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID * */ @Import(name="kibanaPrivateSecurityGroupId") private @Nullable Output kibanaPrivateSecurityGroupId; /** - * @return the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @return Kibana private network security group ID * */ public Optional> kibanaPrivateSecurityGroupId() { @@ -305,14 +503,14 @@ public Optional> kibanaPrivateSecurityGroupId() { } /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist * */ @Import(name="kibanaPrivateWhitelists") private @Nullable Output> kibanaPrivateWhitelists; /** - * @return Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @return Cluster Kibana node private network access whitelist * */ public Optional>> kibanaPrivateWhitelists() { @@ -320,14 +518,14 @@ public Optional>> kibanaPrivateWhitelists() { } /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist * */ @Import(name="kibanaWhitelists") private @Nullable Output> kibanaWhitelists; /** - * @return Set the Kibana's IP whitelist in internet network. + * @return Kibana private network access whitelist * */ public Optional>> kibanaWhitelists() { @@ -364,17 +562,40 @@ public Optional>> kmsEncryptionContext() { return Optional.ofNullable(this.kmsEncryptionContext); } + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + @Import(name="masterConfiguration") + private @Nullable Output masterConfiguration; + + /** + * @return Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + */ + public Optional> masterConfiguration() { + return Optional.ofNullable(this.masterConfiguration); + } + /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ @Import(name="masterNodeDiskType") private @Nullable Output masterNodeDiskType; /** * @return The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Optional> masterNodeDiskType() { return Optional.ofNullable(this.masterNodeDiskType); } @@ -382,27 +603,42 @@ public Optional> masterNodeDiskType() { /** * The dedicated master node spec. If specified, dedicated master node will be created. * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ @Import(name="masterNodeSpec") private @Nullable Output masterNodeSpec; /** * @return The dedicated master node spec. If specified, dedicated master node will be created. * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Optional> masterNodeSpec() { return Optional.ofNullable(this.masterNodeSpec); } + @Import(name="orderActionType") + private @Nullable Output orderActionType; + + public Optional> orderActionType() { + return Optional.ofNullable(this.orderActionType); + } + /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * The access password of the instance. * */ @Import(name="password") private @Nullable Output password; /** - * @return The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @return The access password of the instance. * */ public Optional> password() { @@ -410,14 +646,29 @@ public Optional> password() { } /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + @Import(name="paymentType") + private @Nullable Output paymentType; + + /** + * @return The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + */ + public Optional> paymentType() { + return Optional.ofNullable(this.paymentType); + } + + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ @Import(name="period") private @Nullable Output period; /** - * @return The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @return The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * */ public Optional> period() { @@ -440,14 +691,14 @@ public Optional> port() { } /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ @Import(name="privateWhitelists") private @Nullable Output> privateWhitelists; /** - * @return Set the instance's IP whitelist in VPC network. + * @return Elasticsearch private network whitelist. (Same as EsIpWhitelist) * */ public Optional>> privateWhitelists() { @@ -455,14 +706,14 @@ public Optional>> privateWhitelists() { } /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ @Import(name="protocol") private @Nullable Output protocol; /** - * @return Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @return Access protocol. Optional values: `HTTP` and **HTTPS * *. * */ public Optional> protocol() { @@ -470,14 +721,14 @@ public Optional> protocol() { } /** - * Instance connection public domain. + * The public network address of the current instance. * */ @Import(name="publicDomain") private @Nullable Output publicDomain; /** - * @return Instance connection public domain. + * @return The public network address of the current instance. * */ public Optional> publicDomain() { @@ -485,14 +736,14 @@ public Optional> publicDomain() { } /** - * Instance connection public port. + * Elasticsearch cluster public network access port * */ @Import(name="publicPort") private @Nullable Output publicPort; /** - * @return Instance connection public port. + * @return Elasticsearch cluster public network access port * */ public Optional> publicPort() { @@ -500,14 +751,14 @@ public Optional> publicPort() { } /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list * */ @Import(name="publicWhitelists") private @Nullable Output> publicWhitelists; /** - * @return Set the instance's IP whitelist in internet network. + * @return Elasticseach public network access whitelist IP list * */ public Optional>> publicWhitelists() { @@ -515,14 +766,14 @@ public Optional>> publicWhitelists() { } /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status * */ @Import(name="renewStatus") private @Nullable Output renewStatus; /** - * @return The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @return Renewal Status * */ public Optional> renewStatus() { @@ -530,14 +781,14 @@ public Optional> renewStatus() { } /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit * */ @Import(name="renewalDurationUnit") private @Nullable Output renewalDurationUnit; /** - * @return Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @return Renewal Period Unit * */ public Optional> renewalDurationUnit() { @@ -545,14 +796,14 @@ public Optional> renewalDurationUnit() { } /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs * */ @Import(name="resourceGroupId") private @Nullable Output resourceGroupId; /** - * @return The ID of resource group which the Elasticsearch instance belongs. + * @return Resource group to which the instance belongs * */ public Optional> resourceGroupId() { @@ -560,14 +811,14 @@ public Optional> resourceGroupId() { } /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information * */ @Import(name="settingConfig") private @Nullable Output> settingConfig; /** - * @return The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @return Configuration information * */ public Optional>> settingConfig() { @@ -575,14 +826,14 @@ public Optional>> settingConfig() { } /** - * The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * Instance change status * */ @Import(name="status") private @Nullable Output status; /** - * @return The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * @return Instance change status * */ public Optional> status() { @@ -590,29 +841,36 @@ public Optional> status() { } /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A mapping of tags to assign to the resource. + * @return Collection of tag key-value pairs * */ public Optional>> tags() { return Optional.ofNullable(this.tags); } + @Import(name="updateStrategy") + private @Nullable Output updateStrategy; + + public Optional> updateStrategy() { + return Optional.ofNullable(this.updateStrategy); + } + /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version * */ @Import(name="version") private @Nullable Output version; /** - * @return Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @return Instance version * */ public Optional> version() { @@ -637,29 +895,60 @@ public Optional> vswitchId() { /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ @Import(name="warmNodeAmount") private @Nullable Output warmNodeAmount; /** * @return The Elasticsearch cluster's warm node quantity, between 3 and 50. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Optional> warmNodeAmount() { return Optional.ofNullable(this.warmNodeAmount); } + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + @Import(name="warmNodeConfiguration") + private @Nullable Output warmNodeConfiguration; + + /** + * @return Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + */ + public Optional> warmNodeConfiguration() { + return Optional.ofNullable(this.warmNodeConfiguration); + } + /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ @Import(name="warmNodeDiskEncrypted") private @Nullable Output warmNodeDiskEncrypted; /** * @return If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Optional> warmNodeDiskEncrypted() { return Optional.ofNullable(this.warmNodeDiskEncrypted); } @@ -667,14 +956,22 @@ public Optional> warmNodeDiskEncrypted() { /** * The single warm node storage space, should between 500 and 20480 * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ @Import(name="warmNodeDiskSize") private @Nullable Output warmNodeDiskSize; /** * @return The single warm node storage space, should between 500 and 20480 * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Optional> warmNodeDiskSize() { return Optional.ofNullable(this.warmNodeDiskSize); } @@ -682,14 +979,22 @@ public Optional> warmNodeDiskSize() { /** * The warm node disk type. Supported values: cloud_efficiency. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ @Import(name="warmNodeDiskType") private @Nullable Output warmNodeDiskType; /** * @return The warm node disk type. Supported values: cloud_efficiency. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Optional> warmNodeDiskType() { return Optional.ofNullable(this.warmNodeDiskType); } @@ -697,27 +1002,39 @@ public Optional> warmNodeDiskType() { /** * The warm node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ @Import(name="warmNodeSpec") private @Nullable Output warmNodeSpec; /** * @return The warm node specifications of the Elasticsearch instance. * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Optional> warmNodeSpec() { return Optional.ofNullable(this.warmNodeSpec); } /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ @Import(name="zoneCount") private @Nullable Output zoneCount; /** - * @return The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @return The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * */ public Optional> zoneCount() { @@ -727,10 +1044,14 @@ public Optional> zoneCount() { private InstanceState() {} private InstanceState(InstanceState $) { + this.archType = $.archType; this.autoRenewDuration = $.autoRenewDuration; this.clientNodeAmount = $.clientNodeAmount; + this.clientNodeConfiguration = $.clientNodeConfiguration; this.clientNodeSpec = $.clientNodeSpec; + this.createTime = $.createTime; this.dataNodeAmount = $.dataNodeAmount; + this.dataNodeConfiguration = $.dataNodeConfiguration; this.dataNodeDiskEncrypted = $.dataNodeDiskEncrypted; this.dataNodeDiskPerformanceLevel = $.dataNodeDiskPerformanceLevel; this.dataNodeDiskSize = $.dataNodeDiskSize; @@ -741,7 +1062,10 @@ private InstanceState(InstanceState $) { this.enableKibanaPrivateNetwork = $.enableKibanaPrivateNetwork; this.enableKibanaPublicNetwork = $.enableKibanaPublicNetwork; this.enablePublic = $.enablePublic; + this.force = $.force; + this.instanceCategory = $.instanceCategory; this.instanceChargeType = $.instanceChargeType; + this.kibanaConfiguration = $.kibanaConfiguration; this.kibanaDomain = $.kibanaDomain; this.kibanaNodeSpec = $.kibanaNodeSpec; this.kibanaPort = $.kibanaPort; @@ -750,9 +1074,12 @@ private InstanceState(InstanceState $) { this.kibanaWhitelists = $.kibanaWhitelists; this.kmsEncryptedPassword = $.kmsEncryptedPassword; this.kmsEncryptionContext = $.kmsEncryptionContext; + this.masterConfiguration = $.masterConfiguration; this.masterNodeDiskType = $.masterNodeDiskType; this.masterNodeSpec = $.masterNodeSpec; + this.orderActionType = $.orderActionType; this.password = $.password; + this.paymentType = $.paymentType; this.period = $.period; this.port = $.port; this.privateWhitelists = $.privateWhitelists; @@ -766,9 +1093,11 @@ private InstanceState(InstanceState $) { this.settingConfig = $.settingConfig; this.status = $.status; this.tags = $.tags; + this.updateStrategy = $.updateStrategy; this.version = $.version; this.vswitchId = $.vswitchId; this.warmNodeAmount = $.warmNodeAmount; + this.warmNodeConfiguration = $.warmNodeConfiguration; this.warmNodeDiskEncrypted = $.warmNodeDiskEncrypted; this.warmNodeDiskSize = $.warmNodeDiskSize; this.warmNodeDiskType = $.warmNodeDiskType; @@ -795,7 +1124,28 @@ public Builder(InstanceState defaults) { } /** - * @param autoRenewDuration Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @param archType Schema Type: + * + * @return builder + * + */ + public Builder archType(@Nullable Output archType) { + $.archType = archType; + return this; + } + + /** + * @param archType Schema Type: + * + * @return builder + * + */ + public Builder archType(String archType) { + return archType(Output.of(archType)); + } + + /** + * @param autoRenewDuration Renewal Period * * @return builder * @@ -806,7 +1156,7 @@ public Builder autoRenewDuration(@Nullable Output autoRenewDuration) { } /** - * @param autoRenewDuration Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * @param autoRenewDuration Renewal Period * * @return builder * @@ -820,7 +1170,11 @@ public Builder autoRenewDuration(Integer autoRenewDuration) { * * @return builder * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Builder clientNodeAmount(@Nullable Output clientNodeAmount) { $.clientNodeAmount = clientNodeAmount; return this; @@ -831,17 +1185,46 @@ public Builder clientNodeAmount(@Nullable Output clientNodeAmount) { * * @return builder * + * @deprecated + * Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ public Builder clientNodeAmount(Integer clientNodeAmount) { return clientNodeAmount(Output.of(clientNodeAmount)); } + /** + * @param clientNodeConfiguration Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + * @return builder + * + */ + public Builder clientNodeConfiguration(@Nullable Output clientNodeConfiguration) { + $.clientNodeConfiguration = clientNodeConfiguration; + return this; + } + + /** + * @param clientNodeConfiguration Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + * + * @return builder + * + */ + public Builder clientNodeConfiguration(InstanceClientNodeConfigurationArgs clientNodeConfiguration) { + return clientNodeConfiguration(Output.of(clientNodeConfiguration)); + } + /** * @param clientNodeSpec The client node spec. If specified, client node will be created. * * @return builder * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Builder clientNodeSpec(@Nullable Output clientNodeSpec) { $.clientNodeSpec = clientNodeSpec; return this; @@ -852,17 +1235,46 @@ public Builder clientNodeSpec(@Nullable Output clientNodeSpec) { * * @return builder * + * @deprecated + * Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ public Builder clientNodeSpec(String clientNodeSpec) { return clientNodeSpec(Output.of(clientNodeSpec)); } + /** + * @param createTime Instance creation time + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime Instance creation time + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + /** * @param dataNodeAmount The Elasticsearch cluster's data node quantity, between 2 and 50. * * @return builder * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ public Builder dataNodeAmount(@Nullable Output dataNodeAmount) { $.dataNodeAmount = dataNodeAmount; return this; @@ -873,17 +1285,46 @@ public Builder dataNodeAmount(@Nullable Output dataNodeAmount) { * * @return builder * + * @deprecated + * Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ public Builder dataNodeAmount(Integer dataNodeAmount) { return dataNodeAmount(Output.of(dataNodeAmount)); } + /** + * @param dataNodeConfiguration Elasticsearch data node information See `dataNodeConfiguration` below. + * + * @return builder + * + */ + public Builder dataNodeConfiguration(@Nullable Output dataNodeConfiguration) { + $.dataNodeConfiguration = dataNodeConfiguration; + return this; + } + + /** + * @param dataNodeConfiguration Elasticsearch data node information See `dataNodeConfiguration` below. + * + * @return builder + * + */ + public Builder dataNodeConfiguration(InstanceDataNodeConfigurationArgs dataNodeConfiguration) { + return dataNodeConfiguration(Output.of(dataNodeConfiguration)); + } + /** * @param dataNodeDiskEncrypted If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. * * @return builder * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Builder dataNodeDiskEncrypted(@Nullable Output dataNodeDiskEncrypted) { $.dataNodeDiskEncrypted = dataNodeDiskEncrypted; return this; @@ -894,7 +1335,11 @@ public Builder dataNodeDiskEncrypted(@Nullable Output dataNodeDiskEncry * * @return builder * + * @deprecated + * Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ public Builder dataNodeDiskEncrypted(Boolean dataNodeDiskEncrypted) { return dataNodeDiskEncrypted(Output.of(dataNodeDiskEncrypted)); } @@ -904,7 +1349,11 @@ public Builder dataNodeDiskEncrypted(Boolean dataNodeDiskEncrypted) { * * @return builder * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Builder dataNodeDiskPerformanceLevel(@Nullable Output dataNodeDiskPerformanceLevel) { $.dataNodeDiskPerformanceLevel = dataNodeDiskPerformanceLevel; return this; @@ -915,7 +1364,11 @@ public Builder dataNodeDiskPerformanceLevel(@Nullable Output dataNodeDis * * @return builder * + * @deprecated + * Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. + * */ + @Deprecated /* Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ public Builder dataNodeDiskPerformanceLevel(String dataNodeDiskPerformanceLevel) { return dataNodeDiskPerformanceLevel(Output.of(dataNodeDiskPerformanceLevel)); } @@ -925,7 +1378,11 @@ public Builder dataNodeDiskPerformanceLevel(String dataNodeDiskPerformanceLevel) * * @return builder * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ public Builder dataNodeDiskSize(@Nullable Output dataNodeDiskSize) { $.dataNodeDiskSize = dataNodeDiskSize; return this; @@ -936,7 +1393,11 @@ public Builder dataNodeDiskSize(@Nullable Output dataNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ public Builder dataNodeDiskSize(Integer dataNodeDiskSize) { return dataNodeDiskSize(Output.of(dataNodeDiskSize)); } @@ -946,7 +1407,11 @@ public Builder dataNodeDiskSize(Integer dataNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ public Builder dataNodeDiskType(@Nullable Output dataNodeDiskType) { $.dataNodeDiskType = dataNodeDiskType; return this; @@ -957,7 +1422,11 @@ public Builder dataNodeDiskType(@Nullable Output dataNodeDiskType) { * * @return builder * + * @deprecated + * Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ public Builder dataNodeDiskType(String dataNodeDiskType) { return dataNodeDiskType(Output.of(dataNodeDiskType)); } @@ -967,7 +1436,11 @@ public Builder dataNodeDiskType(String dataNodeDiskType) { * * @return builder * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ public Builder dataNodeSpec(@Nullable Output dataNodeSpec) { $.dataNodeSpec = dataNodeSpec; return this; @@ -978,13 +1451,17 @@ public Builder dataNodeSpec(@Nullable Output dataNodeSpec) { * * @return builder * + * @deprecated + * Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ public Builder dataNodeSpec(String dataNodeSpec) { return dataNodeSpec(Output.of(dataNodeSpec)); } /** - * @param description The description of instance. It a string of 0 to 30 characters. + * @param description Instance name * * @return builder * @@ -995,7 +1472,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of instance. It a string of 0 to 30 characters. + * @param description Instance name * * @return builder * @@ -1005,7 +1482,7 @@ public Builder description(String description) { } /** - * @param domain Instance connection domain (only VPC network access supported). + * @param domain Elasticsearch cluster private domain name * * @return builder * @@ -1016,7 +1493,7 @@ public Builder domain(@Nullable Output domain) { } /** - * @param domain Instance connection domain (only VPC network access supported). + * @param domain Elasticsearch cluster private domain name * * @return builder * @@ -1026,7 +1503,11 @@ public Builder domain(String domain) { } /** - * @param enableKibanaPrivateNetwork Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @param enableKibanaPrivateNetwork Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -1037,7 +1518,11 @@ public Builder enableKibanaPrivateNetwork(@Nullable Output enableKibana } /** - * @param enableKibanaPrivateNetwork Bool, default to false. When it set to true, the instance can close kibana private network access。 + * @param enableKibanaPrivateNetwork Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -1047,7 +1532,7 @@ public Builder enableKibanaPrivateNetwork(Boolean enableKibanaPrivateNetwork) { } /** - * @param enableKibanaPublicNetwork Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @param enableKibanaPublicNetwork Does Kibana enable public access * * @return builder * @@ -1058,7 +1543,7 @@ public Builder enableKibanaPublicNetwork(@Nullable Output enableKibanaP } /** - * @param enableKibanaPublicNetwork Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * @param enableKibanaPublicNetwork Does Kibana enable public access * * @return builder * @@ -1068,7 +1553,11 @@ public Builder enableKibanaPublicNetwork(Boolean enableKibanaPublicNetwork) { } /** - * @param enablePublic Bool, default to false. When it set to true, the instance can enable public network access。 + * @param enablePublic Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -1079,7 +1568,11 @@ public Builder enablePublic(@Nullable Output enablePublic) { } /** - * @param enablePublic Bool, default to false. When it set to true, the instance can enable public network access。 + * @param enablePublic Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. * * @return builder * @@ -1088,12 +1581,46 @@ public Builder enablePublic(Boolean enablePublic) { return enablePublic(Output.of(enablePublic)); } + public Builder force(@Nullable Output force) { + $.force = force; + return this; + } + + public Builder force(Boolean force) { + return force(Output.of(force)); + } + + /** + * @param instanceCategory Version type. + * + * @return builder + * + */ + public Builder instanceCategory(@Nullable Output instanceCategory) { + $.instanceCategory = instanceCategory; + return this; + } + + /** + * @param instanceCategory Version type. + * + * @return builder + * + */ + public Builder instanceCategory(String instanceCategory) { + return instanceCategory(Output.of(instanceCategory)); + } + /** * @param instanceChargeType Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. * * @return builder * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Builder instanceChargeType(@Nullable Output instanceChargeType) { $.instanceChargeType = instanceChargeType; return this; @@ -1104,13 +1631,38 @@ public Builder instanceChargeType(@Nullable Output instanceChargeType) { * * @return builder * + * @deprecated + * Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + * */ + @Deprecated /* Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ public Builder instanceChargeType(String instanceChargeType) { return instanceChargeType(Output.of(instanceChargeType)); } /** - * @param kibanaDomain Kibana console domain (Internet access supported). + * @param kibanaConfiguration Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + * @return builder + * + */ + public Builder kibanaConfiguration(@Nullable Output kibanaConfiguration) { + $.kibanaConfiguration = kibanaConfiguration; + return this; + } + + /** + * @param kibanaConfiguration Elasticsearch Kibana node settings See `kibanaConfiguration` below. + * + * @return builder + * + */ + public Builder kibanaConfiguration(InstanceKibanaConfigurationArgs kibanaConfiguration) { + return kibanaConfiguration(Output.of(kibanaConfiguration)); + } + + /** + * @param kibanaDomain Kibana address * * @return builder * @@ -1121,7 +1673,7 @@ public Builder kibanaDomain(@Nullable Output kibanaDomain) { } /** - * @param kibanaDomain Kibana console domain (Internet access supported). + * @param kibanaDomain Kibana address * * @return builder * @@ -1135,7 +1687,11 @@ public Builder kibanaDomain(String kibanaDomain) { * * @return builder * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Builder kibanaNodeSpec(@Nullable Output kibanaNodeSpec) { $.kibanaNodeSpec = kibanaNodeSpec; return this; @@ -1146,13 +1702,17 @@ public Builder kibanaNodeSpec(@Nullable Output kibanaNodeSpec) { * * @return builder * + * @deprecated + * Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. + * */ + @Deprecated /* Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ public Builder kibanaNodeSpec(String kibanaNodeSpec) { return kibanaNodeSpec(Output.of(kibanaNodeSpec)); } /** - * @param kibanaPort Kibana console port. + * @param kibanaPort The port assigned by the Kibana node. * * @return builder * @@ -1163,7 +1723,7 @@ public Builder kibanaPort(@Nullable Output kibanaPort) { } /** - * @param kibanaPort Kibana console port. + * @param kibanaPort The port assigned by the Kibana node. * * @return builder * @@ -1173,7 +1733,7 @@ public Builder kibanaPort(Integer kibanaPort) { } /** - * @param kibanaPrivateSecurityGroupId the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @param kibanaPrivateSecurityGroupId Kibana private network security group ID * * @return builder * @@ -1184,7 +1744,7 @@ public Builder kibanaPrivateSecurityGroupId(@Nullable Output kibanaPriva } /** - * @param kibanaPrivateSecurityGroupId the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * @param kibanaPrivateSecurityGroupId Kibana private network security group ID * * @return builder * @@ -1194,7 +1754,7 @@ public Builder kibanaPrivateSecurityGroupId(String kibanaPrivateSecurityGroupId) } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1205,7 +1765,7 @@ public Builder kibanaPrivateWhitelists(@Nullable Output> kibanaPriv } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1215,7 +1775,7 @@ public Builder kibanaPrivateWhitelists(List kibanaPrivateWhitelists) { } /** - * @param kibanaPrivateWhitelists Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * @param kibanaPrivateWhitelists Cluster Kibana node private network access whitelist * * @return builder * @@ -1225,7 +1785,7 @@ public Builder kibanaPrivateWhitelists(String... kibanaPrivateWhitelists) { } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1236,7 +1796,7 @@ public Builder kibanaWhitelists(@Nullable Output> kibanaWhitelists) } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1246,7 +1806,7 @@ public Builder kibanaWhitelists(List kibanaWhitelists) { } /** - * @param kibanaWhitelists Set the Kibana's IP whitelist in internet network. + * @param kibanaWhitelists Kibana private network access whitelist * * @return builder * @@ -1297,12 +1857,37 @@ public Builder kmsEncryptionContext(Map kmsEncryptionContext) { return kmsEncryptionContext(Output.of(kmsEncryptionContext)); } + /** + * @param masterConfiguration Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + * @return builder + * + */ + public Builder masterConfiguration(@Nullable Output masterConfiguration) { + $.masterConfiguration = masterConfiguration; + return this; + } + + /** + * @param masterConfiguration Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + * + * @return builder + * + */ + public Builder masterConfiguration(InstanceMasterConfigurationArgs masterConfiguration) { + return masterConfiguration(Output.of(masterConfiguration)); + } + /** * @param masterNodeDiskType The single master node storage space. Valid values are `PrePaid`, `PostPaid`. * * @return builder * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Builder masterNodeDiskType(@Nullable Output masterNodeDiskType) { $.masterNodeDiskType = masterNodeDiskType; return this; @@ -1313,7 +1898,11 @@ public Builder masterNodeDiskType(@Nullable Output masterNodeDiskType) { * * @return builder * + * @deprecated + * Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ public Builder masterNodeDiskType(String masterNodeDiskType) { return masterNodeDiskType(Output.of(masterNodeDiskType)); } @@ -1323,7 +1912,11 @@ public Builder masterNodeDiskType(String masterNodeDiskType) { * * @return builder * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Builder masterNodeSpec(@Nullable Output masterNodeSpec) { $.masterNodeSpec = masterNodeSpec; return this; @@ -1334,13 +1927,26 @@ public Builder masterNodeSpec(@Nullable Output masterNodeSpec) { * * @return builder * + * @deprecated + * Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. + * */ + @Deprecated /* Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ public Builder masterNodeSpec(String masterNodeSpec) { return masterNodeSpec(Output.of(masterNodeSpec)); } + public Builder orderActionType(@Nullable Output orderActionType) { + $.orderActionType = orderActionType; + return this; + } + + public Builder orderActionType(String orderActionType) { + return orderActionType(Output.of(orderActionType)); + } + /** - * @param password The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @param password The access password of the instance. * * @return builder * @@ -1351,7 +1957,7 @@ public Builder password(@Nullable Output password) { } /** - * @param password The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!{@literal @}#$%^&*()_+-=`). + * @param password The access password of the instance. * * @return builder * @@ -1361,7 +1967,28 @@ public Builder password(String password) { } /** - * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @param paymentType The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + * @return builder + * + */ + public Builder paymentType(@Nullable Output paymentType) { + $.paymentType = paymentType; + return this; + } + + /** + * @param paymentType The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + * + * @return builder + * + */ + public Builder paymentType(String paymentType) { + return paymentType(Output.of(paymentType)); + } + + /** + * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * * @return builder * @@ -1372,7 +1999,7 @@ public Builder period(@Nullable Output period) { } /** - * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * @param period The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. * * @return builder * @@ -1403,7 +2030,7 @@ public Builder port(Integer port) { } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1414,7 +2041,7 @@ public Builder privateWhitelists(@Nullable Output> privateWhitelist } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1424,7 +2051,7 @@ public Builder privateWhitelists(List privateWhitelists) { } /** - * @param privateWhitelists Set the instance's IP whitelist in VPC network. + * @param privateWhitelists Elasticsearch private network whitelist. (Same as EsIpWhitelist) * * @return builder * @@ -1434,7 +2061,7 @@ public Builder privateWhitelists(String... privateWhitelists) { } /** - * @param protocol Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @param protocol Access protocol. Optional values: `HTTP` and **HTTPS * *. * * @return builder * @@ -1445,7 +2072,7 @@ public Builder protocol(@Nullable Output protocol) { } /** - * @param protocol Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * @param protocol Access protocol. Optional values: `HTTP` and **HTTPS * *. * * @return builder * @@ -1455,7 +2082,7 @@ public Builder protocol(String protocol) { } /** - * @param publicDomain Instance connection public domain. + * @param publicDomain The public network address of the current instance. * * @return builder * @@ -1466,7 +2093,7 @@ public Builder publicDomain(@Nullable Output publicDomain) { } /** - * @param publicDomain Instance connection public domain. + * @param publicDomain The public network address of the current instance. * * @return builder * @@ -1476,7 +2103,7 @@ public Builder publicDomain(String publicDomain) { } /** - * @param publicPort Instance connection public port. + * @param publicPort Elasticsearch cluster public network access port * * @return builder * @@ -1487,7 +2114,7 @@ public Builder publicPort(@Nullable Output publicPort) { } /** - * @param publicPort Instance connection public port. + * @param publicPort Elasticsearch cluster public network access port * * @return builder * @@ -1497,7 +2124,7 @@ public Builder publicPort(Integer publicPort) { } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1508,7 +2135,7 @@ public Builder publicWhitelists(@Nullable Output> publicWhitelists) } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1518,7 +2145,7 @@ public Builder publicWhitelists(List publicWhitelists) { } /** - * @param publicWhitelists Set the instance's IP whitelist in internet network. + * @param publicWhitelists Elasticseach public network access whitelist IP list * * @return builder * @@ -1528,7 +2155,7 @@ public Builder publicWhitelists(String... publicWhitelists) { } /** - * @param renewStatus The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @param renewStatus Renewal Status * * @return builder * @@ -1539,7 +2166,7 @@ public Builder renewStatus(@Nullable Output renewStatus) { } /** - * @param renewStatus The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * @param renewStatus Renewal Status * * @return builder * @@ -1549,7 +2176,7 @@ public Builder renewStatus(String renewStatus) { } /** - * @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @param renewalDurationUnit Renewal Period Unit * * @return builder * @@ -1560,7 +2187,7 @@ public Builder renewalDurationUnit(@Nullable Output renewalDurationUnit) } /** - * @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * @param renewalDurationUnit Renewal Period Unit * * @return builder * @@ -1570,7 +2197,7 @@ public Builder renewalDurationUnit(String renewalDurationUnit) { } /** - * @param resourceGroupId The ID of resource group which the Elasticsearch instance belongs. + * @param resourceGroupId Resource group to which the instance belongs * * @return builder * @@ -1581,7 +2208,7 @@ public Builder resourceGroupId(@Nullable Output resourceGroupId) { } /** - * @param resourceGroupId The ID of resource group which the Elasticsearch instance belongs. + * @param resourceGroupId Resource group to which the instance belongs * * @return builder * @@ -1591,7 +2218,7 @@ public Builder resourceGroupId(String resourceGroupId) { } /** - * @param settingConfig The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @param settingConfig Configuration information * * @return builder * @@ -1602,7 +2229,7 @@ public Builder settingConfig(@Nullable Output> settingConfig) } /** - * @param settingConfig The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * @param settingConfig Configuration information * * @return builder * @@ -1612,7 +2239,7 @@ public Builder settingConfig(Map settingConfig) { } /** - * @param status The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * @param status Instance change status * * @return builder * @@ -1623,7 +2250,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * @param status Instance change status * * @return builder * @@ -1633,7 +2260,7 @@ public Builder status(String status) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags Collection of tag key-value pairs * * @return builder * @@ -1644,7 +2271,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags A mapping of tags to assign to the resource. + * @param tags Collection of tag key-value pairs * * @return builder * @@ -1653,8 +2280,17 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + public Builder updateStrategy(@Nullable Output updateStrategy) { + $.updateStrategy = updateStrategy; + return this; + } + + public Builder updateStrategy(String updateStrategy) { + return updateStrategy(Output.of(updateStrategy)); + } + /** - * @param version Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @param version Instance version * * @return builder * @@ -1665,7 +2301,7 @@ public Builder version(@Nullable Output version) { } /** - * @param version Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * @param version Instance version * * @return builder * @@ -1700,7 +2336,11 @@ public Builder vswitchId(String vswitchId) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Builder warmNodeAmount(@Nullable Output warmNodeAmount) { $.warmNodeAmount = warmNodeAmount; return this; @@ -1711,17 +2351,46 @@ public Builder warmNodeAmount(@Nullable Output warmNodeAmount) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ public Builder warmNodeAmount(Integer warmNodeAmount) { return warmNodeAmount(Output.of(warmNodeAmount)); } + /** + * @param warmNodeConfiguration Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + * @return builder + * + */ + public Builder warmNodeConfiguration(@Nullable Output warmNodeConfiguration) { + $.warmNodeConfiguration = warmNodeConfiguration; + return this; + } + + /** + * @param warmNodeConfiguration Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + * + * @return builder + * + */ + public Builder warmNodeConfiguration(InstanceWarmNodeConfigurationArgs warmNodeConfiguration) { + return warmNodeConfiguration(Output.of(warmNodeConfiguration)); + } + /** * @param warmNodeDiskEncrypted If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Builder warmNodeDiskEncrypted(@Nullable Output warmNodeDiskEncrypted) { $.warmNodeDiskEncrypted = warmNodeDiskEncrypted; return this; @@ -1732,7 +2401,11 @@ public Builder warmNodeDiskEncrypted(@Nullable Output warmNodeDiskEncry * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ public Builder warmNodeDiskEncrypted(Boolean warmNodeDiskEncrypted) { return warmNodeDiskEncrypted(Output.of(warmNodeDiskEncrypted)); } @@ -1742,7 +2415,11 @@ public Builder warmNodeDiskEncrypted(Boolean warmNodeDiskEncrypted) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Builder warmNodeDiskSize(@Nullable Output warmNodeDiskSize) { $.warmNodeDiskSize = warmNodeDiskSize; return this; @@ -1753,7 +2430,11 @@ public Builder warmNodeDiskSize(@Nullable Output warmNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ public Builder warmNodeDiskSize(Integer warmNodeDiskSize) { return warmNodeDiskSize(Output.of(warmNodeDiskSize)); } @@ -1763,7 +2444,11 @@ public Builder warmNodeDiskSize(Integer warmNodeDiskSize) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Builder warmNodeDiskType(@Nullable Output warmNodeDiskType) { $.warmNodeDiskType = warmNodeDiskType; return this; @@ -1774,7 +2459,11 @@ public Builder warmNodeDiskType(@Nullable Output warmNodeDiskType) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ public Builder warmNodeDiskType(String warmNodeDiskType) { return warmNodeDiskType(Output.of(warmNodeDiskType)); } @@ -1784,7 +2473,11 @@ public Builder warmNodeDiskType(String warmNodeDiskType) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Builder warmNodeSpec(@Nullable Output warmNodeSpec) { $.warmNodeSpec = warmNodeSpec; return this; @@ -1795,13 +2488,19 @@ public Builder warmNodeSpec(@Nullable Output warmNodeSpec) { * * @return builder * + * @deprecated + * Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. + * */ + @Deprecated /* Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ public Builder warmNodeSpec(String warmNodeSpec) { return warmNodeSpec(Output.of(warmNodeSpec)); } /** - * @param zoneCount The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @param zoneCount The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * * @return builder * @@ -1812,7 +2511,9 @@ public Builder zoneCount(@Nullable Output zoneCount) { } /** - * @param zoneCount The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * @param zoneCount The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceWarmNodeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceWarmNodeConfigurationArgs.java new file mode 100644 index 0000000000..2e4215e079 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/inputs/InstanceWarmNodeConfigurationArgs.java @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceWarmNodeConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceWarmNodeConfigurationArgs Empty = new InstanceWarmNodeConfigurationArgs(); + + /** + * Elasticsearch cluster cold data node disk number + * + */ + @Import(name="amount") + private @Nullable Output amount; + + /** + * @return Elasticsearch cluster cold data node disk number + * + */ + public Optional> amount() { + return Optional.ofNullable(this.amount); + } + + /** + * Elasticsearch cluster cold data node disk size + * + */ + @Import(name="disk") + private @Nullable Output disk; + + /** + * @return Elasticsearch cluster cold data node disk size + * + */ + public Optional> disk() { + return Optional.ofNullable(this.disk); + } + + /** + * Elasticsearch cluster cold data node Disk encryption + * + */ + @Import(name="diskEncryption") + private @Nullable Output diskEncryption; + + /** + * @return Elasticsearch cluster cold data node Disk encryption + * + */ + public Optional> diskEncryption() { + return Optional.ofNullable(this.diskEncryption); + } + + /** + * Elasticsearch cluster cold data node disk type + * + */ + @Import(name="diskType") + private @Nullable Output diskType; + + /** + * @return Elasticsearch cluster cold data node disk type + * + */ + public Optional> diskType() { + return Optional.ofNullable(this.diskType); + } + + /** + * Elasticsearch cluster cold data node Disk Specification + * + */ + @Import(name="spec") + private @Nullable Output spec; + + /** + * @return Elasticsearch cluster cold data node Disk Specification + * + */ + public Optional> spec() { + return Optional.ofNullable(this.spec); + } + + private InstanceWarmNodeConfigurationArgs() {} + + private InstanceWarmNodeConfigurationArgs(InstanceWarmNodeConfigurationArgs $) { + this.amount = $.amount; + this.disk = $.disk; + this.diskEncryption = $.diskEncryption; + this.diskType = $.diskType; + this.spec = $.spec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceWarmNodeConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceWarmNodeConfigurationArgs $; + + public Builder() { + $ = new InstanceWarmNodeConfigurationArgs(); + } + + public Builder(InstanceWarmNodeConfigurationArgs defaults) { + $ = new InstanceWarmNodeConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param amount Elasticsearch cluster cold data node disk number + * + * @return builder + * + */ + public Builder amount(@Nullable Output amount) { + $.amount = amount; + return this; + } + + /** + * @param amount Elasticsearch cluster cold data node disk number + * + * @return builder + * + */ + public Builder amount(Integer amount) { + return amount(Output.of(amount)); + } + + /** + * @param disk Elasticsearch cluster cold data node disk size + * + * @return builder + * + */ + public Builder disk(@Nullable Output disk) { + $.disk = disk; + return this; + } + + /** + * @param disk Elasticsearch cluster cold data node disk size + * + * @return builder + * + */ + public Builder disk(Integer disk) { + return disk(Output.of(disk)); + } + + /** + * @param diskEncryption Elasticsearch cluster cold data node Disk encryption + * + * @return builder + * + */ + public Builder diskEncryption(@Nullable Output diskEncryption) { + $.diskEncryption = diskEncryption; + return this; + } + + /** + * @param diskEncryption Elasticsearch cluster cold data node Disk encryption + * + * @return builder + * + */ + public Builder diskEncryption(Boolean diskEncryption) { + return diskEncryption(Output.of(diskEncryption)); + } + + /** + * @param diskType Elasticsearch cluster cold data node disk type + * + * @return builder + * + */ + public Builder diskType(@Nullable Output diskType) { + $.diskType = diskType; + return this; + } + + /** + * @param diskType Elasticsearch cluster cold data node disk type + * + * @return builder + * + */ + public Builder diskType(String diskType) { + return diskType(Output.of(diskType)); + } + + /** + * @param spec Elasticsearch cluster cold data node Disk Specification + * + * @return builder + * + */ + public Builder spec(@Nullable Output spec) { + $.spec = spec; + return this; + } + + /** + * @param spec Elasticsearch cluster cold data node Disk Specification + * + * @return builder + * + */ + public Builder spec(String spec) { + return spec(Output.of(spec)); + } + + public InstanceWarmNodeConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceClientNodeConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceClientNodeConfiguration.java new file mode 100644 index 0000000000..629297f039 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceClientNodeConfiguration.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceClientNodeConfiguration { + /** + * @return Number of disks in the Elasticsearch cluster coordination node + * + */ + private @Nullable Integer amount; + /** + * @return Elasticsearch cluster coordinates node disk size + * + */ + private @Nullable Integer disk; + /** + * @return Elasticsearch cluster coordination node disk type + * + */ + private @Nullable String diskType; + /** + * @return Elasticsearch cluster coordination node specification + * + */ + private @Nullable String spec; + + private InstanceClientNodeConfiguration() {} + /** + * @return Number of disks in the Elasticsearch cluster coordination node + * + */ + public Optional amount() { + return Optional.ofNullable(this.amount); + } + /** + * @return Elasticsearch cluster coordinates node disk size + * + */ + public Optional disk() { + return Optional.ofNullable(this.disk); + } + /** + * @return Elasticsearch cluster coordination node disk type + * + */ + public Optional diskType() { + return Optional.ofNullable(this.diskType); + } + /** + * @return Elasticsearch cluster coordination node specification + * + */ + public Optional spec() { + return Optional.ofNullable(this.spec); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceClientNodeConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer amount; + private @Nullable Integer disk; + private @Nullable String diskType; + private @Nullable String spec; + public Builder() {} + public Builder(InstanceClientNodeConfiguration defaults) { + Objects.requireNonNull(defaults); + this.amount = defaults.amount; + this.disk = defaults.disk; + this.diskType = defaults.diskType; + this.spec = defaults.spec; + } + + @CustomType.Setter + public Builder amount(@Nullable Integer amount) { + + this.amount = amount; + return this; + } + @CustomType.Setter + public Builder disk(@Nullable Integer disk) { + + this.disk = disk; + return this; + } + @CustomType.Setter + public Builder diskType(@Nullable String diskType) { + + this.diskType = diskType; + return this; + } + @CustomType.Setter + public Builder spec(@Nullable String spec) { + + this.spec = spec; + return this; + } + public InstanceClientNodeConfiguration build() { + final var _resultValue = new InstanceClientNodeConfiguration(); + _resultValue.amount = amount; + _resultValue.disk = disk; + _resultValue.diskType = diskType; + _resultValue.spec = spec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceDataNodeConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceDataNodeConfiguration.java new file mode 100644 index 0000000000..f1b267c9db --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceDataNodeConfiguration.java @@ -0,0 +1,167 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceDataNodeConfiguration { + /** + * @return Number of data nodes in the Elasticsearch cluster + * + */ + private @Nullable Integer amount; + /** + * @return Elasticsearch data node disk size + * + */ + private @Nullable Integer disk; + /** + * @return Whether the Elasticsearch data node disk is encrypted + * + */ + private @Nullable Boolean diskEncryption; + /** + * @return Elasticsearch cluster data node disk type + * + */ + private @Nullable String diskType; + /** + * @return Elasticsearch cluster data node Essd disk level + * + */ + private @Nullable String performanceLevel; + /** + * @return Elasticsearch data node specification + * + */ + private String spec; + + private InstanceDataNodeConfiguration() {} + /** + * @return Number of data nodes in the Elasticsearch cluster + * + */ + public Optional amount() { + return Optional.ofNullable(this.amount); + } + /** + * @return Elasticsearch data node disk size + * + */ + public Optional disk() { + return Optional.ofNullable(this.disk); + } + /** + * @return Whether the Elasticsearch data node disk is encrypted + * + */ + public Optional diskEncryption() { + return Optional.ofNullable(this.diskEncryption); + } + /** + * @return Elasticsearch cluster data node disk type + * + */ + public Optional diskType() { + return Optional.ofNullable(this.diskType); + } + /** + * @return Elasticsearch cluster data node Essd disk level + * + */ + public Optional performanceLevel() { + return Optional.ofNullable(this.performanceLevel); + } + /** + * @return Elasticsearch data node specification + * + */ + public String spec() { + return this.spec; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceDataNodeConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer amount; + private @Nullable Integer disk; + private @Nullable Boolean diskEncryption; + private @Nullable String diskType; + private @Nullable String performanceLevel; + private String spec; + public Builder() {} + public Builder(InstanceDataNodeConfiguration defaults) { + Objects.requireNonNull(defaults); + this.amount = defaults.amount; + this.disk = defaults.disk; + this.diskEncryption = defaults.diskEncryption; + this.diskType = defaults.diskType; + this.performanceLevel = defaults.performanceLevel; + this.spec = defaults.spec; + } + + @CustomType.Setter + public Builder amount(@Nullable Integer amount) { + + this.amount = amount; + return this; + } + @CustomType.Setter + public Builder disk(@Nullable Integer disk) { + + this.disk = disk; + return this; + } + @CustomType.Setter + public Builder diskEncryption(@Nullable Boolean diskEncryption) { + + this.diskEncryption = diskEncryption; + return this; + } + @CustomType.Setter + public Builder diskType(@Nullable String diskType) { + + this.diskType = diskType; + return this; + } + @CustomType.Setter + public Builder performanceLevel(@Nullable String performanceLevel) { + + this.performanceLevel = performanceLevel; + return this; + } + @CustomType.Setter + public Builder spec(String spec) { + if (spec == null) { + throw new MissingRequiredPropertyException("InstanceDataNodeConfiguration", "spec"); + } + this.spec = spec; + return this; + } + public InstanceDataNodeConfiguration build() { + final var _resultValue = new InstanceDataNodeConfiguration(); + _resultValue.amount = amount; + _resultValue.disk = disk; + _resultValue.diskEncryption = diskEncryption; + _resultValue.diskType = diskType; + _resultValue.performanceLevel = performanceLevel; + _resultValue.spec = spec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceKibanaConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceKibanaConfiguration.java new file mode 100644 index 0000000000..9eee09d53f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceKibanaConfiguration.java @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceKibanaConfiguration { + /** + * @return The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + */ + private @Nullable Integer amount; + /** + * @return Elasticsearch Kibana node disk size + * + */ + private @Nullable Integer disk; + /** + * @return Elasticsearch Kibana node disk specifications + * + */ + private String spec; + + private InstanceKibanaConfiguration() {} + /** + * @return The number of disks of the Elasticsearch Kibana node. The default value is 1. + * + */ + public Optional amount() { + return Optional.ofNullable(this.amount); + } + /** + * @return Elasticsearch Kibana node disk size + * + */ + public Optional disk() { + return Optional.ofNullable(this.disk); + } + /** + * @return Elasticsearch Kibana node disk specifications + * + */ + public String spec() { + return this.spec; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceKibanaConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer amount; + private @Nullable Integer disk; + private String spec; + public Builder() {} + public Builder(InstanceKibanaConfiguration defaults) { + Objects.requireNonNull(defaults); + this.amount = defaults.amount; + this.disk = defaults.disk; + this.spec = defaults.spec; + } + + @CustomType.Setter + public Builder amount(@Nullable Integer amount) { + + this.amount = amount; + return this; + } + @CustomType.Setter + public Builder disk(@Nullable Integer disk) { + + this.disk = disk; + return this; + } + @CustomType.Setter + public Builder spec(String spec) { + if (spec == null) { + throw new MissingRequiredPropertyException("InstanceKibanaConfiguration", "spec"); + } + this.spec = spec; + return this; + } + public InstanceKibanaConfiguration build() { + final var _resultValue = new InstanceKibanaConfiguration(); + _resultValue.amount = amount; + _resultValue.disk = disk; + _resultValue.spec = spec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceMasterConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceMasterConfiguration.java new file mode 100644 index 0000000000..df75cc07d7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceMasterConfiguration.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceMasterConfiguration { + /** + * @return Elasticsearch proprietary master node number of disks + * + */ + private @Nullable Integer amount; + /** + * @return Elasticsearch proprietary master node disk size + * + */ + private @Nullable Integer disk; + /** + * @return Elasticsearch proprietary master node disk type + * + */ + private @Nullable String diskType; + /** + * @return Elasticsearch proprietary master node specifications + * + */ + private @Nullable String spec; + + private InstanceMasterConfiguration() {} + /** + * @return Elasticsearch proprietary master node number of disks + * + */ + public Optional amount() { + return Optional.ofNullable(this.amount); + } + /** + * @return Elasticsearch proprietary master node disk size + * + */ + public Optional disk() { + return Optional.ofNullable(this.disk); + } + /** + * @return Elasticsearch proprietary master node disk type + * + */ + public Optional diskType() { + return Optional.ofNullable(this.diskType); + } + /** + * @return Elasticsearch proprietary master node specifications + * + */ + public Optional spec() { + return Optional.ofNullable(this.spec); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceMasterConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer amount; + private @Nullable Integer disk; + private @Nullable String diskType; + private @Nullable String spec; + public Builder() {} + public Builder(InstanceMasterConfiguration defaults) { + Objects.requireNonNull(defaults); + this.amount = defaults.amount; + this.disk = defaults.disk; + this.diskType = defaults.diskType; + this.spec = defaults.spec; + } + + @CustomType.Setter + public Builder amount(@Nullable Integer amount) { + + this.amount = amount; + return this; + } + @CustomType.Setter + public Builder disk(@Nullable Integer disk) { + + this.disk = disk; + return this; + } + @CustomType.Setter + public Builder diskType(@Nullable String diskType) { + + this.diskType = diskType; + return this; + } + @CustomType.Setter + public Builder spec(@Nullable String spec) { + + this.spec = spec; + return this; + } + public InstanceMasterConfiguration build() { + final var _resultValue = new InstanceMasterConfiguration(); + _resultValue.amount = amount; + _resultValue.disk = disk; + _resultValue.diskType = diskType; + _resultValue.spec = spec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceWarmNodeConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceWarmNodeConfiguration.java new file mode 100644 index 0000000000..8ccd0563f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/elasticsearch/outputs/InstanceWarmNodeConfiguration.java @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.elasticsearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceWarmNodeConfiguration { + /** + * @return Elasticsearch cluster cold data node disk number + * + */ + private @Nullable Integer amount; + /** + * @return Elasticsearch cluster cold data node disk size + * + */ + private @Nullable Integer disk; + /** + * @return Elasticsearch cluster cold data node Disk encryption + * + */ + private @Nullable Boolean diskEncryption; + /** + * @return Elasticsearch cluster cold data node disk type + * + */ + private @Nullable String diskType; + /** + * @return Elasticsearch cluster cold data node Disk Specification + * + */ + private @Nullable String spec; + + private InstanceWarmNodeConfiguration() {} + /** + * @return Elasticsearch cluster cold data node disk number + * + */ + public Optional amount() { + return Optional.ofNullable(this.amount); + } + /** + * @return Elasticsearch cluster cold data node disk size + * + */ + public Optional disk() { + return Optional.ofNullable(this.disk); + } + /** + * @return Elasticsearch cluster cold data node Disk encryption + * + */ + public Optional diskEncryption() { + return Optional.ofNullable(this.diskEncryption); + } + /** + * @return Elasticsearch cluster cold data node disk type + * + */ + public Optional diskType() { + return Optional.ofNullable(this.diskType); + } + /** + * @return Elasticsearch cluster cold data node Disk Specification + * + */ + public Optional spec() { + return Optional.ofNullable(this.spec); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceWarmNodeConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer amount; + private @Nullable Integer disk; + private @Nullable Boolean diskEncryption; + private @Nullable String diskType; + private @Nullable String spec; + public Builder() {} + public Builder(InstanceWarmNodeConfiguration defaults) { + Objects.requireNonNull(defaults); + this.amount = defaults.amount; + this.disk = defaults.disk; + this.diskEncryption = defaults.diskEncryption; + this.diskType = defaults.diskType; + this.spec = defaults.spec; + } + + @CustomType.Setter + public Builder amount(@Nullable Integer amount) { + + this.amount = amount; + return this; + } + @CustomType.Setter + public Builder disk(@Nullable Integer disk) { + + this.disk = disk; + return this; + } + @CustomType.Setter + public Builder diskEncryption(@Nullable Boolean diskEncryption) { + + this.diskEncryption = diskEncryption; + return this; + } + @CustomType.Setter + public Builder diskType(@Nullable String diskType) { + + this.diskType = diskType; + return this; + } + @CustomType.Setter + public Builder spec(@Nullable String spec) { + + this.spec = spec; + return this; + } + public InstanceWarmNodeConfiguration build() { + final var _resultValue = new InstanceWarmNodeConfiguration(); + _resultValue.amount = amount; + _resultValue.disk = disk; + _resultValue.diskEncryption = diskEncryption; + _resultValue.diskType = diskType; + _resultValue.spec = spec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/emr/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/emr/Cluster.java index b2bd1fda08..eebb6fc481 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/emr/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/emr/Cluster.java @@ -713,6 +713,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/emrv2/Cluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/emrv2/Cluster.java index ea0480af75..17eb7a2d3f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/emrv2/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/emrv2/Cluster.java @@ -217,6 +217,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Disk.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Disk.java index 3d00da25ee..3331cb1c5a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Disk.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Disk.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Disk can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/DiskInstanceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/DiskInstanceAttachment.java index ed10a2c873..50f55e12c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/DiskInstanceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/DiskInstanceAttachment.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Disk Instance Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Eip.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Eip.java index a58abbea9a..b1d0517fef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Eip.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Eip.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Eip can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/EipInstanceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/EipInstanceAttachment.java index 323eb289dd..be262bb50f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/EipInstanceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/EipInstanceAttachment.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ens Eip Instance Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Image.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Image.java index 7462c5409e..d645ab8746 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Image.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Image.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Image can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/InstanceSecurityGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/InstanceSecurityGroupAttachment.java index 2926a3cf68..47aa68f8c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/InstanceSecurityGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/InstanceSecurityGroupAttachment.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Instance Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/KeyPair.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/KeyPair.java index 433231ccd8..a1d04ffdba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/KeyPair.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/KeyPair.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Key Pair can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/LoadBalancer.java index 2fc2feeced..314313d403 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/LoadBalancer.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Load Balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/NatGateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/NatGateway.java index 08e2c0ad8d..b876e0652b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/NatGateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/NatGateway.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Nat Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Network.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Network.java index 7cded82a65..6cf70cf56c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Network.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Network.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Network can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/SecurityGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/SecurityGroup.java index e9404b6a13..44d1b12aa4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/SecurityGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/SecurityGroup.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Security Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Snapshot.java index 40a7c51a5f..a96bed475b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Snapshot.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Vswitch.java b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Vswitch.java index 6524748398..6dd75c5b52 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ens/Vswitch.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ens/Vswitch.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Vswitch can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheReserveInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheReserveInstance.java index c9fb6dca3c..be381efe0b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheReserveInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheReserveInstance.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Cache Reserve Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRule.java index ff0ae7335b..1fad592628 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRule.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Cache Rule can be imported using the id, e.g. @@ -369,14 +371,14 @@ public Output> ruleName() { return Codegen.optional(this.ruleName); } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Export(name="sequence", refs={Integer.class}, tree="[0]") private Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Output sequence() { @@ -400,14 +402,14 @@ public Output> serveStale() { * The site ID, which can be obtained by calling the [ListSites] API. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID, which can be obtained by calling the [ListSites] API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRuleArgs.java index 23fa5e5858..1e9c20b3d4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CacheRuleArgs.java @@ -292,14 +292,14 @@ public Optional> ruleName() { } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Import(name="sequence") private @Nullable Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Optional> sequence() { @@ -326,13 +326,13 @@ public Optional> serveStale() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID, which can be obtained by calling the [ListSites] API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -843,7 +843,7 @@ public Builder ruleName(String ruleName) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -854,7 +854,7 @@ public Builder sequence(@Nullable Output sequence) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -890,7 +890,7 @@ public Builder serveStale(String serveStale) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -901,7 +901,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Certificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Certificate.java index dcb4a47b64..754f2d3d25 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Certificate.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCaCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCaCertificate.java index e5ae59b7d0..ba32d40ef5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCaCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCaCertificate.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Client Ca Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificate.java index 0914f6688b..bd7a7f3b5c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificate.java @@ -10,7 +10,6 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; -import java.lang.Integer; import java.lang.String; import java.util.Optional; import javax.annotation.Nullable; @@ -66,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Client Certificate can be imported using the id, e.g. @@ -108,6 +109,8 @@ public Output createTime() { /** * Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="csr", refs={String.class}, tree="[0]") private Output csr; @@ -115,6 +118,8 @@ public Output createTime() { /** * @return Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> csr() { return Codegen.optional(this.csr); @@ -122,6 +127,8 @@ public Output> csr() { /** * The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="pkeyType", refs={String.class}, tree="[0]") private Output pkeyType; @@ -129,6 +136,8 @@ public Output> csr() { /** * @return The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> pkeyType() { return Codegen.optional(this.pkeyType); @@ -137,14 +146,14 @@ public Output> pkeyType() { * Site Id * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return Site Id * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** @@ -164,6 +173,8 @@ public Output status() { /** * Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="validityDays", refs={String.class}, tree="[0]") private Output validityDays; @@ -171,6 +182,8 @@ public Output status() { /** * @return Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output validityDays() { return this.validityDays; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificateArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificateArgs.java index b122c1309a..03b37c3fb0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ClientCertificateArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -20,6 +19,8 @@ public final class ClientCertificateArgs extends com.pulumi.resources.ResourceAr /** * Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="csr") private @Nullable Output csr; @@ -27,6 +28,8 @@ public final class ClientCertificateArgs extends com.pulumi.resources.ResourceAr /** * @return Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> csr() { return Optional.ofNullable(this.csr); @@ -35,6 +38,8 @@ public Optional> csr() { /** * The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="pkeyType") private @Nullable Output pkeyType; @@ -42,6 +47,8 @@ public Optional> csr() { /** * @return The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> pkeyType() { return Optional.ofNullable(this.pkeyType); @@ -52,13 +59,13 @@ public Optional> pkeyType() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return Site Id * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -80,6 +87,8 @@ public Optional> status() { /** * Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="validityDays", required=true) private Output validityDays; @@ -87,6 +96,8 @@ public Optional> status() { /** * @return Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output validityDays() { return this.validityDays; @@ -123,6 +134,8 @@ public Builder(ClientCertificateArgs defaults) { /** * @param csr Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -134,6 +147,8 @@ public Builder csr(@Nullable Output csr) { /** * @param csr Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -144,6 +159,8 @@ public Builder csr(String csr) { /** * @param pkeyType The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -155,6 +172,8 @@ public Builder pkeyType(@Nullable Output pkeyType) { /** * @param pkeyType The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -168,7 +187,7 @@ public Builder pkeyType(String pkeyType) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -179,7 +198,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } @@ -207,6 +226,8 @@ public Builder status(String status) { /** * @param validityDays Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -218,6 +239,8 @@ public Builder validityDays(Output validityDays) { /** * @param validityDays Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CompressionRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CompressionRule.java index 2d77605159..0d9bf82b6d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CompressionRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CompressionRule.java @@ -79,6 +79,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Compression Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CustomScenePolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CustomScenePolicy.java index 6512cba238..aaf13c2632 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/CustomScenePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/CustomScenePolicy.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Custom Scene Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerApp.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerApp.java index 961470cd34..f9becb8905 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerApp.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerApp.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Edge Container App can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecord.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecord.java index b0d9855dc3..c13a3ff227 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecord.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecord.java @@ -10,7 +10,6 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; -import java.lang.Integer; import java.lang.String; import javax.annotation.Nullable; @@ -78,7 +77,7 @@ * .healthCheckType("l7") * .servicePort(80) * .healthCheckInterval(5) - * .edgeContainerAppName("terraform-app") + * .edgeContainerAppName("terraform-app2") * .healthCheckHttpCode("http_2xx") * .healthCheckUri("/") * .healthCheckTimeout(3) @@ -101,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Edge Container App Record can be imported using the id, e.g. @@ -158,14 +159,14 @@ public Output recordName() { * The website ID. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The website ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecordArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecordArgs.java index 9762048913..54a9436998 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecordArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/EdgeContainerAppRecordArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -52,13 +51,13 @@ public Output recordName() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The website ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -136,7 +135,7 @@ public Builder recordName(String recordName) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -147,7 +146,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRule.java new file mode 100644 index 0000000000..64769d0ed0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRule.java @@ -0,0 +1,304 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.esa.HttpIncomingRequestHeaderModificationRuleArgs; +import com.pulumi.alicloud.esa.inputs.HttpIncomingRequestHeaderModificationRuleState; +import com.pulumi.alicloud.esa.outputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModification; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a ESA Http Incoming Request Header Modification Rule resource. + * + * For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.random.Integer;
+ * import com.pulumi.random.IntegerArgs;
+ * import com.pulumi.alicloud.esa.RatePlanInstance;
+ * import com.pulumi.alicloud.esa.RatePlanInstanceArgs;
+ * import com.pulumi.alicloud.esa.Site;
+ * import com.pulumi.alicloud.esa.SiteArgs;
+ * import com.pulumi.alicloud.esa.HttpIncomingRequestHeaderModificationRule;
+ * import com.pulumi.alicloud.esa.HttpIncomingRequestHeaderModificationRuleArgs;
+ * import com.pulumi.alicloud.esa.inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new Integer("default", IntegerArgs.builder()
+ *             .min(10000)
+ *             .max(99999)
+ *             .build());
+ * 
+ *         var resourceHttpIncomingRequestHeaderModificationRuleExample = new RatePlanInstance("resourceHttpIncomingRequestHeaderModificationRuleExample", RatePlanInstanceArgs.builder()
+ *             .type("NS")
+ *             .autoRenew(false)
+ *             .period(1)
+ *             .paymentType("Subscription")
+ *             .coverage("overseas")
+ *             .autoPay(true)
+ *             .planName("high")
+ *             .build());
+ * 
+ *         var resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new Site("resourceSiteHttpIncomingRequestHeaderModificationRuleExample", SiteArgs.builder()
+ *             .siteName(String.format("gositecdn%s.cn", default_.result()))
+ *             .instanceId(resourceHttpIncomingRequestHeaderModificationRuleExample.id())
+ *             .coverage("overseas")
+ *             .accessType("NS")
+ *             .build());
+ * 
+ *         var defaultHttpIncomingRequestHeaderModificationRule = new HttpIncomingRequestHeaderModificationRule("defaultHttpIncomingRequestHeaderModificationRule", HttpIncomingRequestHeaderModificationRuleArgs.builder()
+ *             .siteId(resourceSiteHttpIncomingRequestHeaderModificationRuleExample.id())
+ *             .ruleEnable("on")
+ *             .rule("(http.host eq \"video.example.com\")")
+ *             .sequence(1)
+ *             .siteVersion(0)
+ *             .ruleName("example")
+ *             .requestHeaderModifications(            
+ *                 HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()
+ *                     .type("static")
+ *                     .value("add")
+ *                     .operation("add")
+ *                     .name("exampleadd")
+ *                     .build(),
+ *                 HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()
+ *                     .operation("del")
+ *                     .name("exampledel")
+ *                     .build(),
+ *                 HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.builder()
+ *                     .type("dynamic")
+ *                     .value("ip.geoip.country")
+ *                     .operation("modify")
+ *                     .name("examplemodify")
+ *                     .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example <site_id>:<config_id> + * ``` + * + */ +@ResourceType(type="alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule") +public class HttpIncomingRequestHeaderModificationRule extends com.pulumi.resources.CustomResource { + /** + * Config Id + * + */ + @Export(name="configId", refs={Integer.class}, tree="[0]") + private Output configId; + + /** + * @return Config Id + * + */ + public Output configId() { + return this.configId; + } + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + @Export(name="requestHeaderModifications", refs={List.class,HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.class}, tree="[0,1]") + private Output> requestHeaderModifications; + + /** + * @return The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + public Output> requestHeaderModifications() { + return this.requestHeaderModifications; + } + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Export(name="rule", refs={String.class}, tree="[0]") + private Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Output> rule() { + return Codegen.optional(this.rule); + } + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + @Export(name="ruleEnable", refs={String.class}, tree="[0]") + private Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + public Output> ruleEnable() { + return Codegen.optional(this.ruleEnable); + } + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Export(name="ruleName", refs={String.class}, tree="[0]") + private Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Output> ruleName() { + return Codegen.optional(this.ruleName); + } + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Export(name="sequence", refs={Integer.class}, tree="[0]") + private Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Output> sequence() { + return Codegen.optional(this.sequence); + } + /** + * The site ID. + * + */ + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; + + /** + * @return The site ID. + * + */ + public Output siteId() { + return this.siteId; + } + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Export(name="siteVersion", refs={Integer.class}, tree="[0]") + private Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Output> siteVersion() { + return Codegen.optional(this.siteVersion); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public HttpIncomingRequestHeaderModificationRule(java.lang.String name) { + this(name, HttpIncomingRequestHeaderModificationRuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public HttpIncomingRequestHeaderModificationRule(java.lang.String name, HttpIncomingRequestHeaderModificationRuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public HttpIncomingRequestHeaderModificationRule(java.lang.String name, HttpIncomingRequestHeaderModificationRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private HttpIncomingRequestHeaderModificationRule(java.lang.String name, Output id, @Nullable HttpIncomingRequestHeaderModificationRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule", name, state, makeResourceOptions(options, id), false); + } + + private static HttpIncomingRequestHeaderModificationRuleArgs makeArgs(HttpIncomingRequestHeaderModificationRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? HttpIncomingRequestHeaderModificationRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static HttpIncomingRequestHeaderModificationRule get(java.lang.String name, Output id, @Nullable HttpIncomingRequestHeaderModificationRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new HttpIncomingRequestHeaderModificationRule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRuleArgs.java new file mode 100644 index 0000000000..b0598ecae0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingRequestHeaderModificationRuleArgs.java @@ -0,0 +1,341 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa; + +import com.pulumi.alicloud.esa.inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingRequestHeaderModificationRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingRequestHeaderModificationRuleArgs Empty = new HttpIncomingRequestHeaderModificationRuleArgs(); + + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + @Import(name="requestHeaderModifications", required=true) + private Output> requestHeaderModifications; + + /** + * @return The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + public Output> requestHeaderModifications() { + return this.requestHeaderModifications; + } + + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Import(name="rule") + private @Nullable Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Optional> rule() { + return Optional.ofNullable(this.rule); + } + + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + @Import(name="ruleEnable") + private @Nullable Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + public Optional> ruleEnable() { + return Optional.ofNullable(this.ruleEnable); + } + + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Import(name="ruleName") + private @Nullable Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Optional> ruleName() { + return Optional.ofNullable(this.ruleName); + } + + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Import(name="sequence") + private @Nullable Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Optional> sequence() { + return Optional.ofNullable(this.sequence); + } + + /** + * The site ID. + * + */ + @Import(name="siteId", required=true) + private Output siteId; + + /** + * @return The site ID. + * + */ + public Output siteId() { + return this.siteId; + } + + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Import(name="siteVersion") + private @Nullable Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Optional> siteVersion() { + return Optional.ofNullable(this.siteVersion); + } + + private HttpIncomingRequestHeaderModificationRuleArgs() {} + + private HttpIncomingRequestHeaderModificationRuleArgs(HttpIncomingRequestHeaderModificationRuleArgs $) { + this.requestHeaderModifications = $.requestHeaderModifications; + this.rule = $.rule; + this.ruleEnable = $.ruleEnable; + this.ruleName = $.ruleName; + this.sequence = $.sequence; + this.siteId = $.siteId; + this.siteVersion = $.siteVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingRequestHeaderModificationRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingRequestHeaderModificationRuleArgs $; + + public Builder() { + $ = new HttpIncomingRequestHeaderModificationRuleArgs(); + } + + public Builder(HttpIncomingRequestHeaderModificationRuleArgs defaults) { + $ = new HttpIncomingRequestHeaderModificationRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(Output> requestHeaderModifications) { + $.requestHeaderModifications = requestHeaderModifications; + return this; + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(List requestHeaderModifications) { + return requestHeaderModifications(Output.of(requestHeaderModifications)); + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs... requestHeaderModifications) { + return requestHeaderModifications(List.of(requestHeaderModifications)); + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(@Nullable Output rule) { + $.rule = rule; + return this; + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(String rule) { + return rule(Output.of(rule)); + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + * @return builder + * + */ + public Builder ruleEnable(@Nullable Output ruleEnable) { + $.ruleEnable = ruleEnable; + return this; + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + * @return builder + * + */ + public Builder ruleEnable(String ruleEnable) { + return ruleEnable(Output.of(ruleEnable)); + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(@Nullable Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(@Nullable Output sequence) { + $.sequence = sequence; + return this; + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(Integer sequence) { + return sequence(Output.of(sequence)); + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(Output siteId) { + $.siteId = siteId; + return this; + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { + return siteId(Output.of(siteId)); + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(@Nullable Output siteVersion) { + $.siteVersion = siteVersion; + return this; + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(Integer siteVersion) { + return siteVersion(Output.of(siteVersion)); + } + + public HttpIncomingRequestHeaderModificationRuleArgs build() { + if ($.requestHeaderModifications == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleArgs", "requestHeaderModifications"); + } + if ($.siteId == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleArgs", "siteId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRule.java new file mode 100644 index 0000000000..404a399cd9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRule.java @@ -0,0 +1,301 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.esa.HttpIncomingResponseHeaderModificationRuleArgs; +import com.pulumi.alicloud.esa.inputs.HttpIncomingResponseHeaderModificationRuleState; +import com.pulumi.alicloud.esa.outputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModification; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a ESA Http Incoming Response Header Modification Rule resource. + * + * For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.random.Integer;
+ * import com.pulumi.random.IntegerArgs;
+ * import com.pulumi.alicloud.esa.RatePlanInstance;
+ * import com.pulumi.alicloud.esa.RatePlanInstanceArgs;
+ * import com.pulumi.alicloud.esa.Site;
+ * import com.pulumi.alicloud.esa.SiteArgs;
+ * import com.pulumi.alicloud.esa.HttpIncomingResponseHeaderModificationRule;
+ * import com.pulumi.alicloud.esa.HttpIncomingResponseHeaderModificationRuleArgs;
+ * import com.pulumi.alicloud.esa.inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new Integer("default", IntegerArgs.builder()
+ *             .min(10000)
+ *             .max(99999)
+ *             .build());
+ * 
+ *         var resourceHttpIncomingResponseHeaderModificationRuleExample = new RatePlanInstance("resourceHttpIncomingResponseHeaderModificationRuleExample", RatePlanInstanceArgs.builder()
+ *             .type("NS")
+ *             .autoRenew(false)
+ *             .period(1)
+ *             .paymentType("Subscription")
+ *             .coverage("overseas")
+ *             .autoPay(true)
+ *             .planName("basic")
+ *             .build());
+ * 
+ *         var resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new Site("resourceSiteHttpIncomingResponseHeaderModificationRuleExample", SiteArgs.builder()
+ *             .siteName(String.format("gositecdn%s.cn", default_.result()))
+ *             .instanceId(resourceHttpIncomingResponseHeaderModificationRuleExample.id())
+ *             .coverage("overseas")
+ *             .accessType("NS")
+ *             .build());
+ * 
+ *         var defaultHttpIncomingResponseHeaderModificationRule = new HttpIncomingResponseHeaderModificationRule("defaultHttpIncomingResponseHeaderModificationRule", HttpIncomingResponseHeaderModificationRuleArgs.builder()
+ *             .siteId(resourceSiteHttpIncomingResponseHeaderModificationRuleExample.id())
+ *             .ruleEnable("on")
+ *             .responseHeaderModifications(            
+ *                 HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
+ *                     .type("static")
+ *                     .value("add")
+ *                     .operation("add")
+ *                     .name("exampleadd")
+ *                     .build(),
+ *                 HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
+ *                     .type("static")
+ *                     .operation("del")
+ *                     .name("exampledel")
+ *                     .build(),
+ *                 HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.builder()
+ *                     .type("static")
+ *                     .value("modify")
+ *                     .operation("modify")
+ *                     .name("examplemodify")
+ *                     .build())
+ *             .rule("(http.host eq \"video.example.com\")")
+ *             .sequence(1)
+ *             .siteVersion(0)
+ *             .ruleName("exampleResponseHeader")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example <site_id>:<config_id> + * ``` + * + */ +@ResourceType(type="alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule") +public class HttpIncomingResponseHeaderModificationRule extends com.pulumi.resources.CustomResource { + /** + * Config Id + * + */ + @Export(name="configId", refs={Integer.class}, tree="[0]") + private Output configId; + + /** + * @return Config Id + * + */ + public Output configId() { + return this.configId; + } + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + @Export(name="responseHeaderModifications", refs={List.class,HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.class}, tree="[0,1]") + private Output> responseHeaderModifications; + + /** + * @return Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + public Output> responseHeaderModifications() { + return this.responseHeaderModifications; + } + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Export(name="rule", refs={String.class}, tree="[0]") + private Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Output> rule() { + return Codegen.optional(this.rule); + } + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + @Export(name="ruleEnable", refs={String.class}, tree="[0]") + private Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + public Output> ruleEnable() { + return Codegen.optional(this.ruleEnable); + } + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Export(name="ruleName", refs={String.class}, tree="[0]") + private Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Output> ruleName() { + return Codegen.optional(this.ruleName); + } + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Export(name="sequence", refs={Integer.class}, tree="[0]") + private Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Output> sequence() { + return Codegen.optional(this.sequence); + } + /** + * The site ID. + * + */ + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; + + /** + * @return The site ID. + * + */ + public Output siteId() { + return this.siteId; + } + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Export(name="siteVersion", refs={Integer.class}, tree="[0]") + private Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Output> siteVersion() { + return Codegen.optional(this.siteVersion); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public HttpIncomingResponseHeaderModificationRule(java.lang.String name) { + this(name, HttpIncomingResponseHeaderModificationRuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public HttpIncomingResponseHeaderModificationRule(java.lang.String name, HttpIncomingResponseHeaderModificationRuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public HttpIncomingResponseHeaderModificationRule(java.lang.String name, HttpIncomingResponseHeaderModificationRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private HttpIncomingResponseHeaderModificationRule(java.lang.String name, Output id, @Nullable HttpIncomingResponseHeaderModificationRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule", name, state, makeResourceOptions(options, id), false); + } + + private static HttpIncomingResponseHeaderModificationRuleArgs makeArgs(HttpIncomingResponseHeaderModificationRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? HttpIncomingResponseHeaderModificationRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static HttpIncomingResponseHeaderModificationRule get(java.lang.String name, Output id, @Nullable HttpIncomingResponseHeaderModificationRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new HttpIncomingResponseHeaderModificationRule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRuleArgs.java new file mode 100644 index 0000000000..7efc73518d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpIncomingResponseHeaderModificationRuleArgs.java @@ -0,0 +1,333 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa; + +import com.pulumi.alicloud.esa.inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingResponseHeaderModificationRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingResponseHeaderModificationRuleArgs Empty = new HttpIncomingResponseHeaderModificationRuleArgs(); + + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + @Import(name="responseHeaderModifications", required=true) + private Output> responseHeaderModifications; + + /** + * @return Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + public Output> responseHeaderModifications() { + return this.responseHeaderModifications; + } + + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Import(name="rule") + private @Nullable Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Optional> rule() { + return Optional.ofNullable(this.rule); + } + + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + @Import(name="ruleEnable") + private @Nullable Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + public Optional> ruleEnable() { + return Optional.ofNullable(this.ruleEnable); + } + + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Import(name="ruleName") + private @Nullable Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Optional> ruleName() { + return Optional.ofNullable(this.ruleName); + } + + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Import(name="sequence") + private @Nullable Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Optional> sequence() { + return Optional.ofNullable(this.sequence); + } + + /** + * The site ID. + * + */ + @Import(name="siteId", required=true) + private Output siteId; + + /** + * @return The site ID. + * + */ + public Output siteId() { + return this.siteId; + } + + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Import(name="siteVersion") + private @Nullable Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Optional> siteVersion() { + return Optional.ofNullable(this.siteVersion); + } + + private HttpIncomingResponseHeaderModificationRuleArgs() {} + + private HttpIncomingResponseHeaderModificationRuleArgs(HttpIncomingResponseHeaderModificationRuleArgs $) { + this.responseHeaderModifications = $.responseHeaderModifications; + this.rule = $.rule; + this.ruleEnable = $.ruleEnable; + this.ruleName = $.ruleName; + this.sequence = $.sequence; + this.siteId = $.siteId; + this.siteVersion = $.siteVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingResponseHeaderModificationRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingResponseHeaderModificationRuleArgs $; + + public Builder() { + $ = new HttpIncomingResponseHeaderModificationRuleArgs(); + } + + public Builder(HttpIncomingResponseHeaderModificationRuleArgs defaults) { + $ = new HttpIncomingResponseHeaderModificationRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(Output> responseHeaderModifications) { + $.responseHeaderModifications = responseHeaderModifications; + return this; + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(List responseHeaderModifications) { + return responseHeaderModifications(Output.of(responseHeaderModifications)); + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs... responseHeaderModifications) { + return responseHeaderModifications(List.of(responseHeaderModifications)); + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(@Nullable Output rule) { + $.rule = rule; + return this; + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(String rule) { + return rule(Output.of(rule)); + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + * @return builder + * + */ + public Builder ruleEnable(@Nullable Output ruleEnable) { + $.ruleEnable = ruleEnable; + return this; + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + * @return builder + * + */ + public Builder ruleEnable(String ruleEnable) { + return ruleEnable(Output.of(ruleEnable)); + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(@Nullable Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(@Nullable Output sequence) { + $.sequence = sequence; + return this; + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(Integer sequence) { + return sequence(Output.of(sequence)); + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(Output siteId) { + $.siteId = siteId; + return this; + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { + return siteId(Output.of(siteId)); + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(@Nullable Output siteVersion) { + $.siteVersion = siteVersion; + return this; + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(Integer siteVersion) { + return siteVersion(Output.of(siteVersion)); + } + + public HttpIncomingResponseHeaderModificationRuleArgs build() { + if ($.responseHeaderModifications == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleArgs", "responseHeaderModifications"); + } + if ($.siteId == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleArgs", "siteId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpRequestHeaderModificationRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpRequestHeaderModificationRule.java index 0ecf8fa332..bd617b3c5d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpRequestHeaderModificationRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpRequestHeaderModificationRule.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Http Request Header Modification Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRule.java index 8de736970b..698057c348 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRule.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -212,14 +214,14 @@ public Output sequence() { * The site ID. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRuleArgs.java index 089a0312b2..736ef11a42 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpResponseHeaderModificationRuleArgs.java @@ -103,13 +103,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -283,7 +283,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -294,7 +294,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfiguration.java index 692ae2ac3c..6f7a6ecf6d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfiguration.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Https Application Configuration can be imported using the id, e.g. @@ -357,14 +359,14 @@ public Output sequence() { * The site ID, which can be obtained by calling the ListSites API. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfigurationArgs.java index 5d71a67103..e20642c0a8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsApplicationConfigurationArgs.java @@ -281,13 +281,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -715,7 +715,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -726,7 +726,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfiguration.java index e1b4d2822a..856dbe61c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfiguration.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Https Basic Configuration can be imported using the id, e.g. @@ -290,14 +292,14 @@ public Output sequence() { * Site ID, which can be obtained by calling the ListSites interface. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return Site ID, which can be obtained by calling the ListSites interface. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfigurationArgs.java index d51b6e9320..70583ae270 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/HttpsBasicConfigurationArgs.java @@ -202,13 +202,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return Site ID, which can be obtained by calling the ListSites interface. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -572,7 +572,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -583,7 +583,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ImageTransform.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ImageTransform.java index c155616388..eb14d4dedf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ImageTransform.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ImageTransform.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Image Transform can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Kv.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Kv.java index b85002acf1..af03d45eba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Kv.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Kv.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Kv can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/KvNamespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/KvNamespace.java index 377ab31ba7..cda1c1810d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/KvNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/KvNamespace.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Kv Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/List.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/List.java index acc90264c8..d72b62a5d5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/List.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/List.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA List can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/LoadBalancer.java index ca550de72e..1f547877da 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/LoadBalancer.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Load Balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/NetworkOptimization.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/NetworkOptimization.java index d61c1cd1dd..d164101138 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/NetworkOptimization.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/NetworkOptimization.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Network Optimization can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginCaCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginCaCertificate.java index a8758fc8f4..b0e837ce62 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginCaCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginCaCertificate.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Ca Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificate.java index 5f9f8cf17d..79ffe4979a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificate.java @@ -10,7 +10,6 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Optional; @@ -112,6 +111,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Client Certificate can be imported using the id, e.g. @@ -211,14 +212,14 @@ public Output privateKey() { * Site ID. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return Site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificateArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificateArgs.java index 5ff5d6827a..53c02d678c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginClientCertificateArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -83,13 +82,13 @@ public Output privateKey() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return Site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -221,7 +220,7 @@ public Builder privateKey(String privateKey) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -232,7 +231,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginPool.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginPool.java index 31c465c244..931ae0044f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginPool.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginPool.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Pool can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginProtection.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginProtection.java index e03f84d4d6..f7a6ad47e4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginProtection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginProtection.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Protection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRule.java index eae0ab2852..03466e2d5d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRule.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Rule can be imported using the id, e.g. @@ -387,14 +389,14 @@ public Output sequence() { * The site ID. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRuleArgs.java index 33e1a9f567..d80cef32ad 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/OriginRuleArgs.java @@ -326,13 +326,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -826,7 +826,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -837,7 +837,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Page.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Page.java index 2dafa86c6e..05a87f4453 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Page.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Page.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Page can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RatePlanInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RatePlanInstance.java index 3e192ef6a5..a68c7a7269 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RatePlanInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RatePlanInstance.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Rate Plan Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Record.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Record.java index 3df11cbb05..009de2b0f5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Record.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Record.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Record can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRule.java index db09206d8c..21928a54c5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRule.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Redirect Rule can be imported using the id, e.g. @@ -204,14 +206,14 @@ public Output sequence() { * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRuleArgs.java index f50b7f4ef7..56834bbb04 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RedirectRuleArgs.java @@ -107,13 +107,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -347,7 +347,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -358,7 +358,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RewriteUrlRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RewriteUrlRule.java index a12a74cb80..246984eb66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RewriteUrlRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RewriteUrlRule.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Rewrite Url Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Routine.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Routine.java index a4448dbf53..28932a3809 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Routine.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Routine.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Routine can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecord.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecord.java index aa6a7e6a1c..a936b6987e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecord.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecord.java @@ -14,30 +14,132 @@ import java.lang.String; import javax.annotation.Nullable; +/** + * Provides a ESA Routine Related Record resource. + * + * For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.esa.Routine;
+ * import com.pulumi.alicloud.esa.RoutineArgs;
+ * import com.pulumi.alicloud.esa.EsaFunctions;
+ * import com.pulumi.alicloud.esa.inputs.GetSitesArgs;
+ * import com.pulumi.alicloud.esa.RoutineRelatedRecord;
+ * import com.pulumi.alicloud.esa.RoutineRelatedRecordArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var defaultRoutine = new Routine("defaultRoutine", RoutineArgs.builder()
+ *             .description("example-routine2")
+ *             .name("example-routine2")
+ *             .build());
+ * 
+ *         final var default = EsaFunctions.getSites(GetSitesArgs.builder()
+ *             .planSubscribeType("enterpriseplan")
+ *             .build());
+ * 
+ *         var defaultRoutineRelatedRecord = new RoutineRelatedRecord("defaultRoutineRelatedRecord", RoutineRelatedRecordArgs.builder()
+ *             .name(defaultRoutine.id())
+ *             .recordName("tfexampleacc.com")
+ *             .siteId("618651327383200")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Routine Related Record can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example <name>:<record_id> + * ``` + * + */ @ResourceType(type="alicloud:esa/routineRelatedRecord:RoutineRelatedRecord") public class RoutineRelatedRecord extends com.pulumi.resources.CustomResource { + /** + * The routine name. + * + */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; + /** + * @return The routine name. + * + */ public Output name() { return this.name; } + /** + * The record ID. + * + */ @Export(name="recordId", refs={Integer.class}, tree="[0]") private Output recordId; + /** + * @return The record ID. + * + */ public Output recordId() { return this.recordId; } + /** + * The record name. + * + */ @Export(name="recordName", refs={String.class}, tree="[0]") private Output recordName; + /** + * @return The record name. + * + */ public Output recordName() { return this.recordName; } - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + /** + * The website ID. + * + */ + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; - public Output siteId() { + /** + * @return The website ID. + * + */ + public Output siteId() { return this.siteId; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecordArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecordArgs.java index a53df7157a..0e76f17f8a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecordArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRelatedRecordArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -17,24 +16,48 @@ public final class RoutineRelatedRecordArgs extends com.pulumi.resources.Resourc public static final RoutineRelatedRecordArgs Empty = new RoutineRelatedRecordArgs(); + /** + * The routine name. + * + */ @Import(name="name") private @Nullable Output name; + /** + * @return The routine name. + * + */ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * The record name. + * + */ @Import(name="recordName", required=true) private Output recordName; + /** + * @return The record name. + * + */ public Output recordName() { return this.recordName; } + /** + * The website ID. + * + */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; - public Output siteId() { + /** + * @return The website ID. + * + */ + public Output siteId() { return this.siteId; } @@ -64,30 +87,66 @@ public Builder(RoutineRelatedRecordArgs defaults) { $ = new RoutineRelatedRecordArgs(Objects.requireNonNull(defaults)); } + /** + * @param name The routine name. + * + * @return builder + * + */ public Builder name(@Nullable Output name) { $.name = name; return this; } + /** + * @param name The routine name. + * + * @return builder + * + */ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param recordName The record name. + * + * @return builder + * + */ public Builder recordName(Output recordName) { $.recordName = recordName; return this; } + /** + * @param recordName The record name. + * + * @return builder + * + */ public Builder recordName(String recordName) { return recordName(Output.of(recordName)); } - public Builder siteId(Output siteId) { + /** + * @param siteId The website ID. + * + * @return builder + * + */ + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } - public Builder siteId(Integer siteId) { + /** + * @param siteId The website ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRoute.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRoute.java index f3f11fc466..f8bb495823 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRoute.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRoute.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Routine Route can be imported using the id, e.g. @@ -130,6 +132,20 @@ public Output> bypass() { public Output configId() { return this.configId; } + /** + * Spare + * + */ + @Export(name="fallback", refs={String.class}, tree="[0]") + private Output fallback; + + /** + * @return Spare + * + */ + public Output fallback() { + return this.fallback; + } /** * Routing switch. Value range: * - on: Open @@ -208,14 +224,14 @@ public Output> sequence() { * Site Id * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return Site Id * */ - public Output siteId() { + public Output siteId() { return this.siteId; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRouteArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRouteArgs.java index 7991d159c9..86c80c84e0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRouteArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/RoutineRouteArgs.java @@ -36,6 +36,21 @@ public Optional> bypass() { return Optional.ofNullable(this.bypass); } + /** + * Spare + * + */ + @Import(name="fallback") + private @Nullable Output fallback; + + /** + * @return Spare + * + */ + public Optional> fallback() { + return Optional.ofNullable(this.fallback); + } + /** * Routing switch. Value range: * - on: Open @@ -120,13 +135,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return Site Id * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -134,6 +149,7 @@ private RoutineRouteArgs() {} private RoutineRouteArgs(RoutineRouteArgs $) { this.bypass = $.bypass; + this.fallback = $.fallback; this.routeEnable = $.routeEnable; this.routeName = $.routeName; this.routineName = $.routineName; @@ -185,6 +201,27 @@ public Builder bypass(String bypass) { return bypass(Output.of(bypass)); } + /** + * @param fallback Spare + * + * @return builder + * + */ + public Builder fallback(@Nullable Output fallback) { + $.fallback = fallback; + return this; + } + + /** + * @param fallback Spare + * + * @return builder + * + */ + public Builder fallback(String fallback) { + return fallback(Output.of(fallback)); + } + /** * @param routeEnable Routing switch. Value range: * - on: Open @@ -300,7 +337,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -311,7 +348,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadExecution.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadExecution.java index 55d6e56b5a..bc9e0ddeba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadExecution.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadExecution.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Scheduled Preload Execution can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadJob.java index f45f41f76c..03e88f3667 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/ScheduledPreloadJob.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Scheduled Preload Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Site.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Site.java index b21bcec643..387a7fc6aa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Site.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Site.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site can be imported using the id, e.g. @@ -318,6 +320,20 @@ public Output ipv6Enable() { public Output ipv6Region() { return this.ipv6Region; } + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + @Export(name="paused", refs={Boolean.class}, tree="[0]") + private Output paused; + + /** + * @return Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + public Output> paused() { + return Codegen.optional(this.paused); + } /** * The ID of the resource group * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteArgs.java index 1c4ff6a703..b8a4565c0b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteArgs.java @@ -237,6 +237,21 @@ public Optional> ipv6Region() { return Optional.ofNullable(this.ipv6Region); } + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + @Import(name="paused") + private @Nullable Output paused; + + /** + * @return Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + public Optional> paused() { + return Optional.ofNullable(this.paused); + } + /** * The ID of the resource group * @@ -374,6 +389,7 @@ private SiteArgs(SiteArgs $) { this.instanceId = $.instanceId; this.ipv6Enable = $.ipv6Enable; this.ipv6Region = $.ipv6Region; + this.paused = $.paused; this.resourceGroupId = $.resourceGroupId; this.seoBypass = $.seoBypass; this.siteName = $.siteName; @@ -704,6 +720,27 @@ public Builder ipv6Region(String ipv6Region) { return ipv6Region(Output.of(ipv6Region)); } + /** + * @param paused Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + * @return builder + * + */ + public Builder paused(@Nullable Output paused) { + $.paused = paused; + return this; + } + + /** + * @param paused Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + * @return builder + * + */ + public Builder paused(Boolean paused) { + return paused(Output.of(paused)); + } + /** * @param resourceGroupId The ID of the resource group * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteDeliveryTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteDeliveryTask.java index b9905dd4be..1e20a7e4e0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteDeliveryTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteDeliveryTask.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Delivery Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteOriginClientCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteOriginClientCertificate.java index b9257f2874..fe9e83d811 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteOriginClientCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/SiteOriginClientCertificate.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Origin Client Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplication.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplication.java index 632b2ac442..a97aae1334 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplication.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplication.java @@ -117,14 +117,14 @@ public Output> rules() { * Site ID. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return Site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplicationArgs.java index e4348ff0ce..0a9ce47711 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/TransportLayerApplicationArgs.java @@ -7,7 +7,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -99,13 +98,13 @@ public Output> rules() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return Site ID. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -259,7 +258,7 @@ public Builder rules(TransportLayerApplicationRuleArgs... rules) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -270,7 +269,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/UrlObservation.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/UrlObservation.java index dfdae8f9da..283bbe9285 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/UrlObservation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/UrlObservation.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Url Observation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Version.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Version.java index 26a034eea1..80a7b27030 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/Version.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/Version.java @@ -16,9 +16,9 @@ import javax.annotation.Nullable; /** - * Provides a ESA Site Version resource. + * Provides a ESA Version resource. * - * For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). + * For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). * * > **NOTE:** Available since v1.251.0. * @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Version can be imported using the id, e.g. @@ -134,25 +136,25 @@ public Output originVersion() { * The site ID, which can be obtained by calling the ListSites API. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** - * The version number of the site configuration. + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * */ @Export(name="siteVersion", refs={Integer.class}, tree="[0]") private Output siteVersion; /** - * @return The version number of the site configuration. + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * */ public Output siteVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VersionArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VersionArgs.java index d5c4e06be8..94f601f1f3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VersionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VersionArgs.java @@ -52,13 +52,13 @@ public Output originVersion() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -136,7 +136,7 @@ public Builder originVersion(Integer originVersion) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -147,7 +147,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessing.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessing.java index d1b85df4a3..b36b12c659 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessing.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessing.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Video Processing can be imported using the id, e.g. @@ -227,14 +229,14 @@ public Output> ruleName() { return Codegen.optional(this.ruleName); } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Export(name="sequence", refs={Integer.class}, tree="[0]") private Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Output> sequence() { @@ -244,14 +246,14 @@ public Output> sequence() { * The site ID, which can be obtained by calling the ListSites API. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessingArgs.java index f546d97fad..19f99e9122 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessingArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/VideoProcessingArgs.java @@ -142,14 +142,14 @@ public Optional> ruleName() { } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Import(name="sequence") private @Nullable Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Optional> sequence() { @@ -161,13 +161,13 @@ public Optional> sequence() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } @@ -409,7 +409,7 @@ public Builder ruleName(String ruleName) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -420,7 +420,7 @@ public Builder sequence(@Nullable Output sequence) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -435,7 +435,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -446,7 +446,7 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRule.java index a0cfe6f627..042044cdbc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRule.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waf Rule can be imported using the id, e.g. @@ -146,17 +148,9 @@ public Output phase() { public Output> rulesetId() { return Codegen.optional(this.rulesetId); } - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ @Export(name="shared", refs={WafRuleShared.class}, tree="[0]") private Output shared; - /** - * @return Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ public Output> shared() { return Codegen.optional(this.shared); } @@ -164,27 +158,19 @@ public Output> shared() { * The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ @Export(name="siteVersion", refs={Integer.class}, tree="[0]") private Output siteVersion; - /** - * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ public Output> siteVersion() { return Codegen.optional(this.siteVersion); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleArgs.java index 1c45af3c90..7f19a16661 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleArgs.java @@ -64,17 +64,9 @@ public Optional> rulesetId() { return Optional.ofNullable(this.rulesetId); } - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ @Import(name="shared") private @Nullable Output shared; - /** - * @return Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ public Optional> shared() { return Optional.ofNullable(this.shared); } @@ -84,27 +76,19 @@ public Optional> shared() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ @Import(name="siteVersion") private @Nullable Output siteVersion; - /** - * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ public Optional> siteVersion() { return Optional.ofNullable(this.siteVersion); } @@ -201,23 +185,11 @@ public Builder rulesetId(Integer rulesetId) { return rulesetId(Output.of(rulesetId)); } - /** - * @param shared Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - * @return builder - * - */ public Builder shared(@Nullable Output shared) { $.shared = shared; return this; } - /** - * @param shared Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - * @return builder - * - */ public Builder shared(WafRuleSharedArgs shared) { return shared(Output.of(shared)); } @@ -228,7 +200,7 @@ public Builder shared(WafRuleSharedArgs shared) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -239,27 +211,15 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } - /** - * @param siteVersion The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - * @return builder - * - */ public Builder siteVersion(@Nullable Output siteVersion) { $.siteVersion = siteVersion; return this; } - /** - * @param siteVersion The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - * @return builder - * - */ public Builder siteVersion(Integer siteVersion) { return siteVersion(Output.of(siteVersion)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleset.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleset.java index 219c5aeb40..9c4473ca88 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleset.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WafRuleset.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waf Ruleset can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoom.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoom.java index 205f056ade..73b29101e1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoom.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoom.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomEvent.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomEvent.java index e2d40f53f3..942b587c5d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomEvent.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomEvent.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room Event can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRule.java index 6a0c90dfb1..9343e069f5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRule.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room Rule can be imported using the id, e.g. @@ -145,29 +147,29 @@ public Output ruleName() { * The site ID, which can be obtained by calling the ListSites API. * */ - @Export(name="siteId", refs={Integer.class}, tree="[0]") - private Output siteId; + @Export(name="siteId", refs={String.class}, tree="[0]") + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ public Output status() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRuleArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRuleArgs.java index c565c1e824..baf7b7ee90 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/WaitingRoomRuleArgs.java @@ -6,7 +6,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.Objects; @@ -50,29 +49,29 @@ public Output ruleName() { * */ @Import(name="siteId", required=true) - private Output siteId; + private Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Output siteId() { + public Output siteId() { return this.siteId; } /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ @Import(name="status", required=true) private Output status; /** - * @return Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ public Output status() { @@ -170,7 +169,7 @@ public Builder ruleName(String ruleName) { * @return builder * */ - public Builder siteId(Output siteId) { + public Builder siteId(Output siteId) { $.siteId = siteId; return this; } @@ -181,14 +180,14 @@ public Builder siteId(Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } /** - * @param status Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @param status Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * * @return builder * @@ -199,9 +198,9 @@ public Builder status(Output status) { } /** - * @param status Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @param status Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/CacheRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/CacheRuleState.java index 630f3adabf..b25dd16ff6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/CacheRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/CacheRuleState.java @@ -306,14 +306,14 @@ public Optional> ruleName() { } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Import(name="sequence") private @Nullable Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Optional> sequence() { @@ -340,13 +340,13 @@ public Optional> serveStale() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID, which can be obtained by calling the [ListSites] API. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -879,7 +879,7 @@ public Builder ruleName(String ruleName) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -890,7 +890,7 @@ public Builder sequence(@Nullable Output sequence) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -926,7 +926,7 @@ public Builder serveStale(String serveStale) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -937,7 +937,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/ClientCertificateState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/ClientCertificateState.java index 4baeaf4919..3657440ee6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/ClientCertificateState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/ClientCertificateState.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -49,6 +48,8 @@ public Optional> createTime() { /** * Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="csr") private @Nullable Output csr; @@ -56,6 +57,8 @@ public Optional> createTime() { /** * @return Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> csr() { return Optional.ofNullable(this.csr); @@ -64,6 +67,8 @@ public Optional> csr() { /** * The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="pkeyType") private @Nullable Output pkeyType; @@ -71,6 +76,8 @@ public Optional> csr() { /** * @return The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> pkeyType() { return Optional.ofNullable(this.pkeyType); @@ -81,13 +88,13 @@ public Optional> pkeyType() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return Site Id * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -109,6 +116,8 @@ public Optional> status() { /** * Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="validityDays") private @Nullable Output validityDays; @@ -116,6 +125,8 @@ public Optional> status() { /** * @return Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> validityDays() { return Optional.ofNullable(this.validityDays); @@ -196,6 +207,8 @@ public Builder createTime(String createTime) { /** * @param csr Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -207,6 +220,8 @@ public Builder csr(@Nullable Output csr) { /** * @param csr Certificate signing request content. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -217,6 +232,8 @@ public Builder csr(String csr) { /** * @param pkeyType The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -228,6 +245,8 @@ public Builder pkeyType(@Nullable Output pkeyType) { /** * @param pkeyType The private key algorithm type. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -241,7 +260,7 @@ public Builder pkeyType(String pkeyType) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -252,7 +271,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } @@ -280,6 +299,8 @@ public Builder status(String status) { /** * @param validityDays Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -291,6 +312,8 @@ public Builder validityDays(@Nullable Output validityDays) { /** * @param validityDays Certificate validity period. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/EdgeContainerAppRecordState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/EdgeContainerAppRecordState.java index 6bcd4283a9..0df1814a13 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/EdgeContainerAppRecordState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/EdgeContainerAppRecordState.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -66,13 +65,13 @@ public Optional> recordName() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The website ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -172,7 +171,7 @@ public Builder recordName(String recordName) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -183,7 +182,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.java new file mode 100644 index 0000000000..30781fdd2d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs Empty = new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs(); + + /** + * Request Header Name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Request Header Name. + * + */ + public Output name() { + return this.name; + } + + /** + * Mode of operation. Value range: + * + */ + @Import(name="operation", required=true) + private Output operation; + + /** + * @return Mode of operation. Value range: + * + */ + public Output operation() { + return this.operation; + } + + /** + * Value type. Value range: + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return Value type. Value range: + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + /** + * Request header value + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Request header value + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs() {} + + private HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs $) { + this.name = $.name; + this.operation = $.operation; + this.type = $.type; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs $; + + public Builder() { + $ = new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs(); + } + + public Builder(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs defaults) { + $ = new HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Request Header Name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Request Header Name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param operation Mode of operation. Value range: + * + * @return builder + * + */ + public Builder operation(Output operation) { + $.operation = operation; + return this; + } + + /** + * @param operation Mode of operation. Value range: + * + * @return builder + * + */ + public Builder operation(String operation) { + return operation(Output.of(operation)); + } + + /** + * @param type Value type. Value range: + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type Value type. Value range: + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param value Request header value + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Request header value + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs", "name"); + } + if ($.operation == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs", "operation"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleState.java new file mode 100644 index 0000000000..0cc95b8dec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingRequestHeaderModificationRuleState.java @@ -0,0 +1,371 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.inputs; + +import com.pulumi.alicloud.esa.inputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingRequestHeaderModificationRuleState extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingRequestHeaderModificationRuleState Empty = new HttpIncomingRequestHeaderModificationRuleState(); + + /** + * Config Id + * + */ + @Import(name="configId") + private @Nullable Output configId; + + /** + * @return Config Id + * + */ + public Optional> configId() { + return Optional.ofNullable(this.configId); + } + + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + @Import(name="requestHeaderModifications") + private @Nullable Output> requestHeaderModifications; + + /** + * @return The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + */ + public Optional>> requestHeaderModifications() { + return Optional.ofNullable(this.requestHeaderModifications); + } + + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Import(name="rule") + private @Nullable Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Optional> rule() { + return Optional.ofNullable(this.rule); + } + + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + @Import(name="ruleEnable") + private @Nullable Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + */ + public Optional> ruleEnable() { + return Optional.ofNullable(this.ruleEnable); + } + + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Import(name="ruleName") + private @Nullable Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Optional> ruleName() { + return Optional.ofNullable(this.ruleName); + } + + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Import(name="sequence") + private @Nullable Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Optional> sequence() { + return Optional.ofNullable(this.sequence); + } + + /** + * The site ID. + * + */ + @Import(name="siteId") + private @Nullable Output siteId; + + /** + * @return The site ID. + * + */ + public Optional> siteId() { + return Optional.ofNullable(this.siteId); + } + + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Import(name="siteVersion") + private @Nullable Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Optional> siteVersion() { + return Optional.ofNullable(this.siteVersion); + } + + private HttpIncomingRequestHeaderModificationRuleState() {} + + private HttpIncomingRequestHeaderModificationRuleState(HttpIncomingRequestHeaderModificationRuleState $) { + this.configId = $.configId; + this.requestHeaderModifications = $.requestHeaderModifications; + this.rule = $.rule; + this.ruleEnable = $.ruleEnable; + this.ruleName = $.ruleName; + this.sequence = $.sequence; + this.siteId = $.siteId; + this.siteVersion = $.siteVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingRequestHeaderModificationRuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingRequestHeaderModificationRuleState $; + + public Builder() { + $ = new HttpIncomingRequestHeaderModificationRuleState(); + } + + public Builder(HttpIncomingRequestHeaderModificationRuleState defaults) { + $ = new HttpIncomingRequestHeaderModificationRuleState(Objects.requireNonNull(defaults)); + } + + /** + * @param configId Config Id + * + * @return builder + * + */ + public Builder configId(@Nullable Output configId) { + $.configId = configId; + return this; + } + + /** + * @param configId Config Id + * + * @return builder + * + */ + public Builder configId(Integer configId) { + return configId(Output.of(configId)); + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(@Nullable Output> requestHeaderModifications) { + $.requestHeaderModifications = requestHeaderModifications; + return this; + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(List requestHeaderModifications) { + return requestHeaderModifications(Output.of(requestHeaderModifications)); + } + + /** + * @param requestHeaderModifications The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + * + * @return builder + * + */ + public Builder requestHeaderModifications(HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs... requestHeaderModifications) { + return requestHeaderModifications(List.of(requestHeaderModifications)); + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(@Nullable Output rule) { + $.rule = rule; + return this; + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(String rule) { + return rule(Output.of(rule)); + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + * @return builder + * + */ + public Builder ruleEnable(@Nullable Output ruleEnable) { + $.ruleEnable = ruleEnable; + return this; + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + * + * @return builder + * + */ + public Builder ruleEnable(String ruleEnable) { + return ruleEnable(Output.of(ruleEnable)); + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(@Nullable Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(@Nullable Output sequence) { + $.sequence = sequence; + return this; + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(Integer sequence) { + return sequence(Output.of(sequence)); + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(@Nullable Output siteId) { + $.siteId = siteId; + return this; + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { + return siteId(Output.of(siteId)); + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(@Nullable Output siteVersion) { + $.siteVersion = siteVersion; + return this; + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(Integer siteVersion) { + return siteVersion(Output.of(siteVersion)); + } + + public HttpIncomingRequestHeaderModificationRuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.java new file mode 100644 index 0000000000..4a8124780e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs Empty = new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs(); + + /** + * The response header name. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The response header name. + * + */ + public Output name() { + return this.name; + } + + /** + * Operation method. Possible values: + * + */ + @Import(name="operation", required=true) + private Output operation; + + /** + * @return Operation method. Possible values: + * + */ + public Output operation() { + return this.operation; + } + + /** + * The value type. Value range: + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The value type. Value range: + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + /** + * The response header value. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return The response header value. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs() {} + + private HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs $) { + this.name = $.name; + this.operation = $.operation; + this.type = $.type; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs $; + + public Builder() { + $ = new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs(); + } + + public Builder(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs defaults) { + $ = new HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The response header name. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The response header name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param operation Operation method. Possible values: + * + * @return builder + * + */ + public Builder operation(Output operation) { + $.operation = operation; + return this; + } + + /** + * @param operation Operation method. Possible values: + * + * @return builder + * + */ + public Builder operation(String operation) { + return operation(Output.of(operation)); + } + + /** + * @param type The value type. Value range: + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The value type. Value range: + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param value The response header value. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value The response header value. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs", "name"); + } + if ($.operation == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs", "operation"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleState.java new file mode 100644 index 0000000000..3e4215ae8d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpIncomingResponseHeaderModificationRuleState.java @@ -0,0 +1,363 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.inputs; + +import com.pulumi.alicloud.esa.inputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HttpIncomingResponseHeaderModificationRuleState extends com.pulumi.resources.ResourceArgs { + + public static final HttpIncomingResponseHeaderModificationRuleState Empty = new HttpIncomingResponseHeaderModificationRuleState(); + + /** + * Config Id + * + */ + @Import(name="configId") + private @Nullable Output configId; + + /** + * @return Config Id + * + */ + public Optional> configId() { + return Optional.ofNullable(this.configId); + } + + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + @Import(name="responseHeaderModifications") + private @Nullable Output> responseHeaderModifications; + + /** + * @return Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + */ + public Optional>> responseHeaderModifications() { + return Optional.ofNullable(this.responseHeaderModifications); + } + + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + @Import(name="rule") + private @Nullable Output rule; + + /** + * @return Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + */ + public Optional> rule() { + return Optional.ofNullable(this.rule); + } + + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + @Import(name="ruleEnable") + private @Nullable Output ruleEnable; + + /** + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + */ + public Optional> ruleEnable() { + return Optional.ofNullable(this.ruleEnable); + } + + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + @Import(name="ruleName") + private @Nullable Output ruleName; + + /** + * @return Rule name. When adding global configuration, this parameter does not need to be set. + * + */ + public Optional> ruleName() { + return Optional.ofNullable(this.ruleName); + } + + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + @Import(name="sequence") + private @Nullable Output sequence; + + /** + * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * + */ + public Optional> sequence() { + return Optional.ofNullable(this.sequence); + } + + /** + * The site ID. + * + */ + @Import(name="siteId") + private @Nullable Output siteId; + + /** + * @return The site ID. + * + */ + public Optional> siteId() { + return Optional.ofNullable(this.siteId); + } + + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + @Import(name="siteVersion") + private @Nullable Output siteVersion; + + /** + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + */ + public Optional> siteVersion() { + return Optional.ofNullable(this.siteVersion); + } + + private HttpIncomingResponseHeaderModificationRuleState() {} + + private HttpIncomingResponseHeaderModificationRuleState(HttpIncomingResponseHeaderModificationRuleState $) { + this.configId = $.configId; + this.responseHeaderModifications = $.responseHeaderModifications; + this.rule = $.rule; + this.ruleEnable = $.ruleEnable; + this.ruleName = $.ruleName; + this.sequence = $.sequence; + this.siteId = $.siteId; + this.siteVersion = $.siteVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HttpIncomingResponseHeaderModificationRuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HttpIncomingResponseHeaderModificationRuleState $; + + public Builder() { + $ = new HttpIncomingResponseHeaderModificationRuleState(); + } + + public Builder(HttpIncomingResponseHeaderModificationRuleState defaults) { + $ = new HttpIncomingResponseHeaderModificationRuleState(Objects.requireNonNull(defaults)); + } + + /** + * @param configId Config Id + * + * @return builder + * + */ + public Builder configId(@Nullable Output configId) { + $.configId = configId; + return this; + } + + /** + * @param configId Config Id + * + * @return builder + * + */ + public Builder configId(Integer configId) { + return configId(Output.of(configId)); + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(@Nullable Output> responseHeaderModifications) { + $.responseHeaderModifications = responseHeaderModifications; + return this; + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(List responseHeaderModifications) { + return responseHeaderModifications(Output.of(responseHeaderModifications)); + } + + /** + * @param responseHeaderModifications Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + * + * @return builder + * + */ + public Builder responseHeaderModifications(HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs... responseHeaderModifications) { + return responseHeaderModifications(List.of(responseHeaderModifications)); + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(@Nullable Output rule) { + $.rule = rule; + return this; + } + + /** + * @param rule Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + * + * @return builder + * + */ + public Builder rule(String rule) { + return rule(Output.of(rule)); + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + * @return builder + * + */ + public Builder ruleEnable(@Nullable Output ruleEnable) { + $.ruleEnable = ruleEnable; + return this; + } + + /** + * @param ruleEnable Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * + * @return builder + * + */ + public Builder ruleEnable(String ruleEnable) { + return ruleEnable(Output.of(ruleEnable)); + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(@Nullable Output ruleName) { + $.ruleName = ruleName; + return this; + } + + /** + * @param ruleName Rule name. When adding global configuration, this parameter does not need to be set. + * + * @return builder + * + */ + public Builder ruleName(String ruleName) { + return ruleName(Output.of(ruleName)); + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(@Nullable Output sequence) { + $.sequence = sequence; + return this; + } + + /** + * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * + * @return builder + * + */ + public Builder sequence(Integer sequence) { + return sequence(Output.of(sequence)); + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(@Nullable Output siteId) { + $.siteId = siteId; + return this; + } + + /** + * @param siteId The site ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { + return siteId(Output.of(siteId)); + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(@Nullable Output siteVersion) { + $.siteVersion = siteVersion; + return this; + } + + /** + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + * + * @return builder + * + */ + public Builder siteVersion(Integer siteVersion) { + return siteVersion(Output.of(siteVersion)); + } + + public HttpIncomingResponseHeaderModificationRuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpResponseHeaderModificationRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpResponseHeaderModificationRuleState.java index fff27701c8..e7f19ce552 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpResponseHeaderModificationRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpResponseHeaderModificationRuleState.java @@ -117,13 +117,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -319,7 +319,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -330,7 +330,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsApplicationConfigurationState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsApplicationConfigurationState.java index b06f982f4d..398ffa2758 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsApplicationConfigurationState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsApplicationConfigurationState.java @@ -295,13 +295,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -751,7 +751,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -762,7 +762,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsBasicConfigurationState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsBasicConfigurationState.java index 4f385dfd1d..cf5af0e3e7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsBasicConfigurationState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/HttpsBasicConfigurationState.java @@ -216,13 +216,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return Site ID, which can be obtained by calling the ListSites interface. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -608,7 +608,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -619,7 +619,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginClientCertificateState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginClientCertificateState.java index 31bee4af92..be84d9f344 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginClientCertificateState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginClientCertificateState.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -112,13 +111,13 @@ public Optional> privateKey() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return Site ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -310,7 +309,7 @@ public Builder privateKey(String privateKey) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -321,7 +320,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginRuleState.java index 27cefeaccf..af0d34fb1e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/OriginRuleState.java @@ -340,13 +340,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -862,7 +862,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -873,7 +873,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RedirectRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RedirectRuleState.java index d7a89c64c0..9c41659238 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RedirectRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RedirectRuleState.java @@ -121,13 +121,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -383,7 +383,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -394,7 +394,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRelatedRecordState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRelatedRecordState.java index 815885608e..491a6cce59 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRelatedRecordState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRelatedRecordState.java @@ -16,31 +16,63 @@ public final class RoutineRelatedRecordState extends com.pulumi.resources.Resour public static final RoutineRelatedRecordState Empty = new RoutineRelatedRecordState(); + /** + * The routine name. + * + */ @Import(name="name") private @Nullable Output name; + /** + * @return The routine name. + * + */ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * The record ID. + * + */ @Import(name="recordId") private @Nullable Output recordId; + /** + * @return The record ID. + * + */ public Optional> recordId() { return Optional.ofNullable(this.recordId); } + /** + * The record name. + * + */ @Import(name="recordName") private @Nullable Output recordName; + /** + * @return The record name. + * + */ public Optional> recordName() { return Optional.ofNullable(this.recordName); } + /** + * The website ID. + * + */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; - public Optional> siteId() { + /** + * @return The website ID. + * + */ + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -71,39 +103,87 @@ public Builder(RoutineRelatedRecordState defaults) { $ = new RoutineRelatedRecordState(Objects.requireNonNull(defaults)); } + /** + * @param name The routine name. + * + * @return builder + * + */ public Builder name(@Nullable Output name) { $.name = name; return this; } + /** + * @param name The routine name. + * + * @return builder + * + */ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param recordId The record ID. + * + * @return builder + * + */ public Builder recordId(@Nullable Output recordId) { $.recordId = recordId; return this; } + /** + * @param recordId The record ID. + * + * @return builder + * + */ public Builder recordId(Integer recordId) { return recordId(Output.of(recordId)); } + /** + * @param recordName The record name. + * + * @return builder + * + */ public Builder recordName(@Nullable Output recordName) { $.recordName = recordName; return this; } + /** + * @param recordName The record name. + * + * @return builder + * + */ public Builder recordName(String recordName) { return recordName(Output.of(recordName)); } - public Builder siteId(@Nullable Output siteId) { + /** + * @param siteId The website ID. + * + * @return builder + * + */ + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } - public Builder siteId(Integer siteId) { + /** + * @param siteId The website ID. + * + * @return builder + * + */ + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRouteState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRouteState.java index 37610bb1c5..792f5120af 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRouteState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/RoutineRouteState.java @@ -50,6 +50,21 @@ public Optional> configId() { return Optional.ofNullable(this.configId); } + /** + * Spare + * + */ + @Import(name="fallback") + private @Nullable Output fallback; + + /** + * @return Spare + * + */ + public Optional> fallback() { + return Optional.ofNullable(this.fallback); + } + /** * Routing switch. Value range: * - on: Open @@ -134,13 +149,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return Site Id * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -149,6 +164,7 @@ private RoutineRouteState() {} private RoutineRouteState(RoutineRouteState $) { this.bypass = $.bypass; this.configId = $.configId; + this.fallback = $.fallback; this.routeEnable = $.routeEnable; this.routeName = $.routeName; this.routineName = $.routineName; @@ -221,6 +237,27 @@ public Builder configId(Integer configId) { return configId(Output.of(configId)); } + /** + * @param fallback Spare + * + * @return builder + * + */ + public Builder fallback(@Nullable Output fallback) { + $.fallback = fallback; + return this; + } + + /** + * @param fallback Spare + * + * @return builder + * + */ + public Builder fallback(String fallback) { + return fallback(Output.of(fallback)); + } + /** * @param routeEnable Routing switch. Value range: * - on: Open @@ -336,7 +373,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -347,7 +384,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/SiteState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/SiteState.java index dfe5fcbb6c..893682a030 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/SiteState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/SiteState.java @@ -251,6 +251,21 @@ public Optional> ipv6Region() { return Optional.ofNullable(this.ipv6Region); } + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + @Import(name="paused") + private @Nullable Output paused; + + /** + * @return Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + */ + public Optional> paused() { + return Optional.ofNullable(this.paused); + } + /** * The ID of the resource group * @@ -404,6 +419,7 @@ private SiteState(SiteState $) { this.instanceId = $.instanceId; this.ipv6Enable = $.ipv6Enable; this.ipv6Region = $.ipv6Region; + this.paused = $.paused; this.resourceGroupId = $.resourceGroupId; this.seoBypass = $.seoBypass; this.siteName = $.siteName; @@ -756,6 +772,27 @@ public Builder ipv6Region(String ipv6Region) { return ipv6Region(Output.of(ipv6Region)); } + /** + * @param paused Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + * @return builder + * + */ + public Builder paused(@Nullable Output paused) { + $.paused = paused; + return this; + } + + /** + * @param paused Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + * + * @return builder + * + */ + public Builder paused(Boolean paused) { + return paused(Output.of(paused)); + } + /** * @param resourceGroupId The ID of the resource group * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/TransportLayerApplicationState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/TransportLayerApplicationState.java index 727889319e..8a2063cd88 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/TransportLayerApplicationState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/TransportLayerApplicationState.java @@ -113,13 +113,13 @@ public Optional>> rules() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return Site ID. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -311,7 +311,7 @@ public Builder rules(TransportLayerApplicationRuleArgs... rules) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -322,7 +322,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VersionState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VersionState.java index 81c9a7181a..a3cd312595 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VersionState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VersionState.java @@ -66,25 +66,25 @@ public Optional> originVersion() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } /** - * The version number of the site configuration. + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * */ @Import(name="siteVersion") private @Nullable Output siteVersion; /** - * @return The version number of the site configuration. + * @return The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * */ public Optional> siteVersion() { @@ -204,7 +204,7 @@ public Builder originVersion(Integer originVersion) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -215,12 +215,12 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } /** - * @param siteVersion The version number of the site configuration. + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * * @return builder * @@ -231,7 +231,7 @@ public Builder siteVersion(@Nullable Output siteVersion) { } /** - * @param siteVersion The version number of the site configuration. + * @param siteVersion The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VideoProcessingState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VideoProcessingState.java index 9140cc6345..693b8bc511 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VideoProcessingState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/VideoProcessingState.java @@ -156,14 +156,14 @@ public Optional> ruleName() { } /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ @Import(name="sequence") private @Nullable Output sequence; /** - * @return Order of rule execution. The smaller the value, the higher the priority for execution. + * @return The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * */ public Optional> sequence() { @@ -175,13 +175,13 @@ public Optional> sequence() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } @@ -445,7 +445,7 @@ public Builder ruleName(String ruleName) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -456,7 +456,7 @@ public Builder sequence(@Nullable Output sequence) { } /** - * @param sequence Order of rule execution. The smaller the value, the higher the priority for execution. + * @param sequence The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. * * @return builder * @@ -471,7 +471,7 @@ public Builder sequence(Integer sequence) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -482,7 +482,7 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleConfigArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleConfigArgs.java index df2860478a..ade938952b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleConfigArgs.java @@ -205,14 +205,28 @@ public Optional> rateLimit() { } /** - * The overall security protection level of WAF. See `securityLevel` below. + * The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * */ @Import(name="securityLevel") private @Nullable Output securityLevel; /** - * @return The overall security protection level of WAF. See `securityLevel` below. + * @return The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * */ public Optional> securityLevel() { @@ -598,7 +612,14 @@ public Builder rateLimit(WafRuleConfigRateLimitArgs rateLimit) { } /** - * @param securityLevel The overall security protection level of WAF. See `securityLevel` below. + * @param securityLevel The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * * @return builder * @@ -609,7 +630,14 @@ public Builder securityLevel(@Nullable Output se } /** - * @param securityLevel The overall security protection level of WAF. See `securityLevel` below. + * @param securityLevel The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleState.java index c3bf15438c..d84534eb6e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WafRuleState.java @@ -63,17 +63,9 @@ public Optional> rulesetId() { return Optional.ofNullable(this.rulesetId); } - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ @Import(name="shared") private @Nullable Output shared; - /** - * @return Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - */ public Optional> shared() { return Optional.ofNullable(this.shared); } @@ -83,27 +75,19 @@ public Optional> shared() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ @Import(name="siteVersion") private @Nullable Output siteVersion; - /** - * @return The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - */ public Optional> siteVersion() { return Optional.ofNullable(this.siteVersion); } @@ -216,23 +200,11 @@ public Builder rulesetId(Integer rulesetId) { return rulesetId(Output.of(rulesetId)); } - /** - * @param shared Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - * @return builder - * - */ public Builder shared(@Nullable Output shared) { $.shared = shared; return this; } - /** - * @param shared Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - * - * @return builder - * - */ public Builder shared(WafRuleSharedArgs shared) { return shared(Output.of(shared)); } @@ -243,7 +215,7 @@ public Builder shared(WafRuleSharedArgs shared) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -254,27 +226,15 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } - /** - * @param siteVersion The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - * @return builder - * - */ public Builder siteVersion(@Nullable Output siteVersion) { $.siteVersion = siteVersion; return this; } - /** - * @param siteVersion The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - * - * @return builder - * - */ public Builder siteVersion(Integer siteVersion) { return siteVersion(Output.of(siteVersion)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WaitingRoomRuleState.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WaitingRoomRuleState.java index af1f66eaf5..a2409625a7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WaitingRoomRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/inputs/WaitingRoomRuleState.java @@ -51,29 +51,29 @@ public Optional> ruleName() { * */ @Import(name="siteId") - private @Nullable Output siteId; + private @Nullable Output siteId; /** * @return The site ID, which can be obtained by calling the ListSites API. * */ - public Optional> siteId() { + public Optional> siteId() { return Optional.ofNullable(this.siteId); } /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ @Import(name="status") private @Nullable Output status; /** - * @return Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @return Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * */ public Optional> status() { @@ -187,7 +187,7 @@ public Builder ruleName(String ruleName) { * @return builder * */ - public Builder siteId(@Nullable Output siteId) { + public Builder siteId(@Nullable Output siteId) { $.siteId = siteId; return this; } @@ -198,14 +198,14 @@ public Builder siteId(@Nullable Output siteId) { * @return builder * */ - public Builder siteId(Integer siteId) { + public Builder siteId(String siteId) { return siteId(Output.of(siteId)); } /** - * @param status Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @param status Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * * @return builder * @@ -216,9 +216,9 @@ public Builder status(@Nullable Output status) { } /** - * @param status Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * @param status Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.java new file mode 100644 index 0000000000..5eb56f5021 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingRequestHeaderModificationRuleRequestHeaderModification.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HttpIncomingRequestHeaderModificationRuleRequestHeaderModification { + /** + * @return Request Header Name. + * + */ + private String name; + /** + * @return Mode of operation. Value range: + * + */ + private String operation; + /** + * @return Value type. Value range: + * + */ + private @Nullable String type; + /** + * @return Request header value + * + */ + private @Nullable String value; + + private HttpIncomingRequestHeaderModificationRuleRequestHeaderModification() {} + /** + * @return Request Header Name. + * + */ + public String name() { + return this.name; + } + /** + * @return Mode of operation. Value range: + * + */ + public String operation() { + return this.operation; + } + /** + * @return Value type. Value range: + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + /** + * @return Request header value + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HttpIncomingRequestHeaderModificationRuleRequestHeaderModification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String operation; + private @Nullable String type; + private @Nullable String value; + public Builder() {} + public Builder(HttpIncomingRequestHeaderModificationRuleRequestHeaderModification defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.operation = defaults.operation; + this.type = defaults.type; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleRequestHeaderModification", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder operation(String operation) { + if (operation == null) { + throw new MissingRequiredPropertyException("HttpIncomingRequestHeaderModificationRuleRequestHeaderModification", "operation"); + } + this.operation = operation; + return this; + } + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public HttpIncomingRequestHeaderModificationRuleRequestHeaderModification build() { + final var _resultValue = new HttpIncomingRequestHeaderModificationRuleRequestHeaderModification(); + _resultValue.name = name; + _resultValue.operation = operation; + _resultValue.type = type; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.java new file mode 100644 index 0000000000..369516327d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/HttpIncomingResponseHeaderModificationRuleResponseHeaderModification.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.esa.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HttpIncomingResponseHeaderModificationRuleResponseHeaderModification { + /** + * @return The response header name. + * + */ + private String name; + /** + * @return Operation method. Possible values: + * + */ + private String operation; + /** + * @return The value type. Value range: + * + */ + private @Nullable String type; + /** + * @return The response header value. + * + */ + private @Nullable String value; + + private HttpIncomingResponseHeaderModificationRuleResponseHeaderModification() {} + /** + * @return The response header name. + * + */ + public String name() { + return this.name; + } + /** + * @return Operation method. Possible values: + * + */ + public String operation() { + return this.operation; + } + /** + * @return The value type. Value range: + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + /** + * @return The response header value. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HttpIncomingResponseHeaderModificationRuleResponseHeaderModification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String operation; + private @Nullable String type; + private @Nullable String value; + public Builder() {} + public Builder(HttpIncomingResponseHeaderModificationRuleResponseHeaderModification defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.operation = defaults.operation; + this.type = defaults.type; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleResponseHeaderModification", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder operation(String operation) { + if (operation == null) { + throw new MissingRequiredPropertyException("HttpIncomingResponseHeaderModificationRuleResponseHeaderModification", "operation"); + } + this.operation = operation; + return this; + } + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public HttpIncomingResponseHeaderModificationRuleResponseHeaderModification build() { + final var _resultValue = new HttpIncomingResponseHeaderModificationRuleResponseHeaderModification(); + _resultValue.name = name; + _resultValue.operation = operation; + _resultValue.type = type; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/WafRuleConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/WafRuleConfig.java index 976caafb5d..93024a3e7f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/WafRuleConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/esa/outputs/WafRuleConfig.java @@ -81,7 +81,14 @@ public final class WafRuleConfig { */ private @Nullable WafRuleConfigRateLimit rateLimit; /** - * @return The overall security protection level of WAF. See `securityLevel` below. + * @return The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * */ private @Nullable WafRuleConfigSecurityLevel securityLevel; @@ -197,7 +204,14 @@ public Optional rateLimit() { return Optional.ofNullable(this.rateLimit); } /** - * @return The overall security protection level of WAF. See `securityLevel` below. + * @return The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. * */ public Optional securityLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Alarm.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Alarm.java index 44be840fab..0831213f9e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Alarm.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Alarm.java @@ -170,6 +170,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling-rule module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/AlbServerGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/AlbServerGroupAttachment.java index d853a78b5c..3ed2cc667f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/AlbServerGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/AlbServerGroupAttachment.java @@ -162,6 +162,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS alb server groups can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Attachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Attachment.java index 8aac3dffc7..2fedffec2b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Attachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Attachment.java @@ -173,6 +173,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS attachment can be imported using the id or scaling group id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/EciScalingConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/EciScalingConfiguration.java index 12386607a6..8edb0222cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/EciScalingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/EciScalingConfiguration.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS eci scaling configuration can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/LifecycleHook.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/LifecycleHook.java index 6dec3749cb..c7f8b2166a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/LifecycleHook.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/LifecycleHook.java @@ -120,6 +120,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Notification.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Notification.java index 2847a65ea6..806f9ef1bd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/Notification.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/Notification.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ess notification can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingConfiguration.java index 5490c24b1f..16ce9fd974 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingConfiguration.java @@ -150,6 +150,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingGroup.java index 749fcb6d0d..35992ac177 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingGroup.java @@ -149,6 +149,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingRule.java index 6246544cd1..f630841724 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ScalingRule.java @@ -154,6 +154,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling-rule module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ServerGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ServerGroupAttachment.java index 570bb3eea1..3eed0d53a2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/ServerGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/ServerGroupAttachment.java @@ -164,6 +164,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ess/serverGroupAttachment:ServerGroupAttachment") public class ServerGroupAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ess/SuspendProcess.java b/sdk/java/src/main/java/com/pulumi/alicloud/ess/SuspendProcess.java index e0f0d5c6ae..4625bc8195 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ess/SuspendProcess.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ess/SuspendProcess.java @@ -133,6 +133,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS suspend process can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ApiDestination.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ApiDestination.java index b9ed87115e..0dc35db50d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ApiDestination.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ApiDestination.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Api Destination can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Connection.java index 48889e148d..b52ead3bbf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Connection.java @@ -139,6 +139,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventBus.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventBus.java index 9308febb16..52f99fde20 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventBus.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventBus.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Event Bus can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventSource.java index f8a5ab5149..945bfdca1d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/EventSource.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Event Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Rule.java index 8c81a744c3..c2e1f20629 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/Rule.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ServiceLinkedRole.java index a9972aa7f9..7c4ab1ebb9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/eventbridge/ServiceLinkedRole.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Service Linked Role can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/EcFailoverTestJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/EcFailoverTestJob.java index d342da9e87..776da8956e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/EcFailoverTestJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/EcFailoverTestJob.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Ec Failover Test Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/GrantRuleToCen.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/GrantRuleToCen.java index 1a1f10c8db..d3ca7683a2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/GrantRuleToCen.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/GrantRuleToCen.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Grant Rule To Cen can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/PhysicalConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/PhysicalConnection.java index 4d73ffed95..9495c7dceb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/PhysicalConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/PhysicalConnection.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Physical Connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterGrantAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterGrantAssociation.java index b5f477e6e9..c67cbdd212 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterGrantAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterGrantAssociation.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Grant Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterInterface.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterInterface.java index 674a76d880..cebed5e5b1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterInterface.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterInterface.java @@ -129,6 +129,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Interface can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterTrAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterTrAssociation.java index 17c24b0495..24ee38e619 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterTrAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterTrAssociation.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVbrChildInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVbrChildInstance.java index 83d4b3183a..7892a4d876 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVbrChildInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVbrChildInstance.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVpcAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVpcAssociation.java index 5332ec3bd1..ca4e5cfc9e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVpcAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/RouterVpcAssociation.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQos.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQos.java index 438fdef967..5ad1ee5ebb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQos.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQos.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosAssociation.java index 12cdd5822a..d2758bf7b6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosAssociation.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosQueue.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosQueue.java index 78c6decae9..cee4ba8e5a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosQueue.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosQueue.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosRule.java index 270d0def2b..714e2a1c0a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/TrafficQosRule.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VbrPconnAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VbrPconnAssociation.java index a75f242a7f..81eedadac1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VbrPconnAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VbrPconnAssociation.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Vbr Pconn Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualBorderRouter.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualBorderRouter.java index 019d135125..1a0065dd72 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualBorderRouter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualBorderRouter.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Virtual Border Router can be imported using the id, e.g. @@ -118,7 +120,7 @@ public Output> associatedPhysicalConnections() { * */ @Export(name="bandwidth", refs={Integer.class}, tree="[0]") - private Output bandwidth; + private Output bandwidth; /** * @return The bandwidth of the VBR instance. Unit: Mbps. Valid values: @@ -126,8 +128,8 @@ public Output> associatedPhysicalConnections() { * - When creating a VBR instance for a shared line, you do not need to configure it. The bandwidth of the VBR is the bandwidth set when creating a shared physical line. * */ - public Output> bandwidth() { - return Codegen.optional(this.bandwidth); + public Output bandwidth() { + return this.bandwidth; } /** * The circuit code provided by the operator for the physical connection. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualPhysicalConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualPhysicalConnection.java index 853d352fc1..5af7590f9b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualPhysicalConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/expressconnect/VirtualPhysicalConnection.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Virtual Physical Connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/Alias.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/Alias.java index 3ae8ed11fc..362de7f918 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/Alias.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute alias can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/CustomDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/CustomDomain.java index 369d99f23e..ce41df908e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/CustomDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/CustomDomain.java @@ -179,6 +179,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute custom domain can be imported using the id or the domain name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/FunctionAsyncInvokeConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/FunctionAsyncInvokeConfig.java index 7045dc83d3..28b6a745cb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/FunctionAsyncInvokeConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/FunctionAsyncInvokeConfig.java @@ -195,6 +195,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Function Async Invoke Configs can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/LayerVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/LayerVersion.java index 6571eb13a1..c19877d312 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/LayerVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/LayerVersion.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Layer Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/Trigger.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/Trigger.java index 9e484e3055..9c8f71fcd2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/Trigger.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/Trigger.java @@ -808,6 +808,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing fc module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Alias.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Alias.java index 20b1631bd8..b55d49ac85 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Alias.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Alias.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Alias can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3AsyncInvokeConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3AsyncInvokeConfig.java index bb7a753733..3379180a09 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3AsyncInvokeConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3AsyncInvokeConfig.java @@ -142,6 +142,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Async Invoke Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ConcurrencyConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ConcurrencyConfig.java index df0b00768c..a66ccdee6c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ConcurrencyConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ConcurrencyConfig.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Concurrency Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3CustomDomain.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3CustomDomain.java index 773454f97c..2d6a442de3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3CustomDomain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3CustomDomain.java @@ -224,6 +224,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Custom Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Function.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Function.java index 9ebfdd08b5..50f52a1f7d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Function.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Function.java @@ -149,6 +149,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -160,17 +162,9 @@ */ @ResourceType(type="alicloud:fc/v3Function:V3Function") public class V3Function extends com.pulumi.resources.CustomResource { - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ @Export(name="code", refs={V3FunctionCode.class}, tree="[0]") private Output code; - /** - * @return Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ public Output> code() { return Codegen.optional(this.code); } @@ -370,6 +364,20 @@ public Output> gpuConfig() { public Output handler() { return this.handler; } + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + @Export(name="idleTimeout", refs={Integer.class}, tree="[0]") + private Output idleTimeout; + + /** + * @return Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + public Output> idleTimeout() { + return Codegen.optional(this.idleTimeout); + } /** * Maximum instance concurrency. * @@ -389,14 +397,14 @@ public Output instanceConcurrency() { * */ @Export(name="instanceIsolationMode", refs={String.class}, tree="[0]") - private Output instanceIsolationMode; + private Output instanceIsolationMode; /** * @return Instance isolation mode * */ - public Output> instanceIsolationMode() { - return Codegen.optional(this.instanceIsolationMode); + public Output instanceIsolationMode() { + return this.instanceIsolationMode; } /** * Instance lifecycle callback method configuration. See `instanceLifecycleConfig` below. @@ -567,14 +575,14 @@ public Output ossMountConfig() { return this.ossMountConfig; } /** - * Resource Group ID. + * Resource Group ID * */ @Export(name="resourceGroupId", refs={String.class}, tree="[0]") private Output resourceGroupId; /** - * @return Resource Group ID. + * @return Resource Group ID * */ public Output resourceGroupId() { @@ -595,14 +603,14 @@ public Output> role() { return Codegen.optional(this.role); } /** - * Function runtime type. + * Function runtime type * */ @Export(name="runtime", refs={String.class}, tree="[0]") private Output runtime; /** - * @return Function runtime type. + * @return Function runtime type * */ public Output runtime() { @@ -613,14 +621,14 @@ public Output runtime() { * */ @Export(name="sessionAffinity", refs={String.class}, tree="[0]") - private Output sessionAffinity; + private Output sessionAffinity; /** * @return The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. * */ - public Output> sessionAffinity() { - return Codegen.optional(this.sessionAffinity); + public Output sessionAffinity() { + return this.sessionAffinity; } /** * When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionArgs.java index dd98f2b0aa..5ba47b17c2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionArgs.java @@ -32,17 +32,9 @@ public final class V3FunctionArgs extends com.pulumi.resources.ResourceArgs { public static final V3FunctionArgs Empty = new V3FunctionArgs(); - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ @Import(name="code") private @Nullable Output code; - /** - * @return Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ public Optional> code() { return Optional.ofNullable(this.code); } @@ -197,6 +189,21 @@ public Output handler() { return this.handler; } + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + @Import(name="idleTimeout") + private @Nullable Output idleTimeout; + + /** + * @return Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + public Optional> idleTimeout() { + return Optional.ofNullable(this.idleTimeout); + } + /** * Maximum instance concurrency. * @@ -348,14 +355,14 @@ public Optional> ossMountConfig() { } /** - * Resource Group ID. + * Resource Group ID * */ @Import(name="resourceGroupId") private @Nullable Output resourceGroupId; /** - * @return Resource Group ID. + * @return Resource Group ID * */ public Optional> resourceGroupId() { @@ -378,14 +385,14 @@ public Optional> role() { } /** - * Function runtime type. + * Function runtime type * */ @Import(name="runtime", required=true) private Output runtime; /** - * @return Function runtime type. + * @return Function runtime type * */ public Output runtime() { @@ -481,6 +488,7 @@ private V3FunctionArgs(V3FunctionArgs $) { this.functionName = $.functionName; this.gpuConfig = $.gpuConfig; this.handler = $.handler; + this.idleTimeout = $.idleTimeout; this.instanceConcurrency = $.instanceConcurrency; this.instanceIsolationMode = $.instanceIsolationMode; this.instanceLifecycleConfig = $.instanceLifecycleConfig; @@ -519,23 +527,11 @@ public Builder(V3FunctionArgs defaults) { $ = new V3FunctionArgs(Objects.requireNonNull(defaults)); } - /** - * @param code Function code ZIP package. code and customContainerConfig. See `code` below. - * - * @return builder - * - */ public Builder code(@Nullable Output code) { $.code = code; return this; } - /** - * @param code Function code ZIP package. code and customContainerConfig. See `code` below. - * - * @return builder - * - */ public Builder code(V3FunctionCodeArgs code) { return code(Output.of(code)); } @@ -750,6 +746,27 @@ public Builder handler(String handler) { return handler(Output.of(handler)); } + /** + * @param idleTimeout Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + * @return builder + * + */ + public Builder idleTimeout(@Nullable Output idleTimeout) { + $.idleTimeout = idleTimeout; + return this; + } + + /** + * @param idleTimeout Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + * @return builder + * + */ + public Builder idleTimeout(Integer idleTimeout) { + return idleTimeout(Output.of(idleTimeout)); + } + /** * @param instanceConcurrency Maximum instance concurrency. * @@ -971,7 +988,7 @@ public Builder ossMountConfig(V3FunctionOssMountConfigArgs ossMountConfig) { } /** - * @param resourceGroupId Resource Group ID. + * @param resourceGroupId Resource Group ID * * @return builder * @@ -982,7 +999,7 @@ public Builder resourceGroupId(@Nullable Output resourceGroupId) { } /** - * @param resourceGroupId Resource Group ID. + * @param resourceGroupId Resource Group ID * * @return builder * @@ -1013,7 +1030,7 @@ public Builder role(String role) { } /** - * @param runtime Function runtime type. + * @param runtime Function runtime type * * @return builder * @@ -1024,7 +1041,7 @@ public Builder runtime(Output runtime) { } /** - * @param runtime Function runtime type. + * @param runtime Function runtime type * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionVersion.java index 1b3f2cb4ca..dd34dc2fbf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3FunctionVersion.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Function Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3LayerVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3LayerVersion.java index 90456c7d50..581acb6173 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3LayerVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3LayerVersion.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Layer Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ProvisionConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ProvisionConfig.java index 0c1fc4d96c..145655da23 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ProvisionConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3ProvisionConfig.java @@ -182,6 +182,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Provision Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Trigger.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Trigger.java index 56d370862b..b817cd7c97 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Trigger.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3Trigger.java @@ -175,6 +175,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Trigger can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3VpcBinding.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3VpcBinding.java index a133f1dbc6..94769d21b0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3VpcBinding.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/V3VpcBinding.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Vpc Binding can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fc/inputs/V3FunctionState.java b/sdk/java/src/main/java/com/pulumi/alicloud/fc/inputs/V3FunctionState.java index 37972d4e37..6aaf8bbdc8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fc/inputs/V3FunctionState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fc/inputs/V3FunctionState.java @@ -32,17 +32,9 @@ public final class V3FunctionState extends com.pulumi.resources.ResourceArgs { public static final V3FunctionState Empty = new V3FunctionState(); - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ @Import(name="code") private @Nullable Output code; - /** - * @return Function code ZIP package. code and customContainerConfig. See `code` below. - * - */ public Optional> code() { return Optional.ofNullable(this.code); } @@ -257,6 +249,21 @@ public Optional> handler() { return Optional.ofNullable(this.handler); } + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + @Import(name="idleTimeout") + private @Nullable Output idleTimeout; + + /** + * @return Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + */ + public Optional> idleTimeout() { + return Optional.ofNullable(this.idleTimeout); + } + /** * Maximum instance concurrency. * @@ -468,14 +475,14 @@ public Optional> ossMountConfig() { } /** - * Resource Group ID. + * Resource Group ID * */ @Import(name="resourceGroupId") private @Nullable Output resourceGroupId; /** - * @return Resource Group ID. + * @return Resource Group ID * */ public Optional> resourceGroupId() { @@ -498,14 +505,14 @@ public Optional> role() { } /** - * Function runtime type. + * Function runtime type * */ @Import(name="runtime") private @Nullable Output runtime; /** - * @return Function runtime type. + * @return Function runtime type * */ public Optional> runtime() { @@ -665,6 +672,7 @@ private V3FunctionState(V3FunctionState $) { this.functionName = $.functionName; this.gpuConfig = $.gpuConfig; this.handler = $.handler; + this.idleTimeout = $.idleTimeout; this.instanceConcurrency = $.instanceConcurrency; this.instanceIsolationMode = $.instanceIsolationMode; this.instanceLifecycleConfig = $.instanceLifecycleConfig; @@ -711,23 +719,11 @@ public Builder(V3FunctionState defaults) { $ = new V3FunctionState(Objects.requireNonNull(defaults)); } - /** - * @param code Function code ZIP package. code and customContainerConfig. See `code` below. - * - * @return builder - * - */ public Builder code(@Nullable Output code) { $.code = code; return this; } - /** - * @param code Function code ZIP package. code and customContainerConfig. See `code` below. - * - * @return builder - * - */ public Builder code(V3FunctionCodeArgs code) { return code(Output.of(code)); } @@ -1026,6 +1022,27 @@ public Builder handler(String handler) { return handler(Output.of(handler)); } + /** + * @param idleTimeout Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + * @return builder + * + */ + public Builder idleTimeout(@Nullable Output idleTimeout) { + $.idleTimeout = idleTimeout; + return this; + } + + /** + * @param idleTimeout Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + * + * @return builder + * + */ + public Builder idleTimeout(Integer idleTimeout) { + return idleTimeout(Output.of(idleTimeout)); + } + /** * @param instanceConcurrency Maximum instance concurrency. * @@ -1331,7 +1348,7 @@ public Builder ossMountConfig(V3FunctionOssMountConfigArgs ossMountConfig) { } /** - * @param resourceGroupId Resource Group ID. + * @param resourceGroupId Resource Group ID * * @return builder * @@ -1342,7 +1359,7 @@ public Builder resourceGroupId(@Nullable Output resourceGroupId) { } /** - * @param resourceGroupId Resource Group ID. + * @param resourceGroupId Resource Group ID * * @return builder * @@ -1373,7 +1390,7 @@ public Builder role(String role) { } /** - * @param runtime Function runtime type. + * @param runtime Function runtime type * * @return builder * @@ -1384,7 +1401,7 @@ public Builder runtime(@Nullable Output runtime) { } /** - * @param runtime Function runtime type. + * @param runtime Function runtime type * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Execution.java b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Execution.java index 4b454e8b9d..0ab353923a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Execution.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Execution.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Execution can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Flow.java b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Flow.java index 04cf9e9af5..2e025f13cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Flow.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Flow.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Flow can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Schedule.java b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Schedule.java index 091922347f..6799722ca9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Schedule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/fnf/Schedule.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Schedule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Accelerator.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Accelerator.java index 4ef8f61c4e..71365ad4f8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Accelerator.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Accelerator.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Accelerator can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AcceleratorSpareIpAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AcceleratorSpareIpAttachment.java index e03ef6d522..b38777303e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AcceleratorSpareIpAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AcceleratorSpareIpAttachment.java @@ -89,6 +89,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AccessLog.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AccessLog.java index 93fdf5a31c..b096285c45 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AccessLog.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AccessLog.java @@ -144,6 +144,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Access Log can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Acl.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Acl.java index 547ec1c61d..8d05d6fae4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Acl.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclAttachment.java index 7c391b7cb8..18d4407495 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclAttachment.java @@ -111,6 +111,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclEntryAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclEntryAttachment.java index d6a7e20ffe..43fd0b5467 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclEntryAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AclEntryAttachment.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AdditionalCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AdditionalCertificate.java index 0a1d2b97d9..d8402aa5ef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/AdditionalCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/AdditionalCertificate.java @@ -189,6 +189,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackage.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackage.java index 14463bbc33..4f5c098e10 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackage.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackage.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Bandwidth Package can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackageAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackageAttachment.java index 9942db1955..f120bfe336 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackageAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BandwidthPackageAttachment.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIp.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIp.java index dc28217c99..20ac140e5e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIp.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIp.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIpEndpointRelation.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIpEndpointRelation.java index 8a0d1747d0..4f95f6777a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIpEndpointRelation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerateIpEndpointRelation.java @@ -144,6 +144,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerator.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerator.java index 5c0a9951fb..6d2e936b69 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerator.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicAccelerator.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpoint.java index 6f823b552a..972b367ae2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpoint.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpointGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpointGroup.java index d72c2dc848..0128010f34 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicEndpointGroup.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicIpSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicIpSet.java index 349e65e5a1..8f9e420132 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicIpSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/BasicIpSet.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpoint.java index 697d9978c9..89a91fb7b0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpoint.java @@ -130,6 +130,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroup.java index 8205790574..cfac16abee 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroup.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroupDestination.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroupDestination.java index 90757e76fe..5cd6ee4e06 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroupDestination.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointGroupDestination.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointTrafficPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointTrafficPolicy.java index 7ba9864cbd..329fedfa7c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointTrafficPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/CustomRoutingEndpointTrafficPolicy.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Domain.java index 7ff66e5dba..f1681ca5af 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Domain.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/EndpointGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/EndpointGroup.java index 4f14d41d80..c92fe5a69b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/EndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/EndpointGroup.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Endpoint Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/ForwardingRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/ForwardingRule.java index c05849a52e..7e01d1d62d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/ForwardingRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/ForwardingRule.java @@ -182,6 +182,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Forwarding Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/IpSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/IpSet.java index e7eff0eaaf..12fef86413 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/IpSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/IpSet.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Ip Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Listener.java b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Listener.java index 65cdd9ab0e..086e4abbc8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ga/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ga/Listener.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Listener can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/governance/Baseline.java b/sdk/java/src/main/java/com/pulumi/alicloud/governance/Baseline.java index 4796460c6f..6f1fb980ce 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/governance/Baseline.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/governance/Baseline.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Governance Baseline can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Account.java index 349a0d4b13..e158458577 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Account.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Connection.java index 95af3326a2..d9ce3d3087 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Connection.java @@ -104,6 +104,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Database.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Database.java index ed0fb3ee89..b6eb46d04d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Database.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Database.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Database can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbInstanceIpArray.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbInstanceIpArray.java index ecb72b953a..02a7912540 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbInstanceIpArray.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbInstanceIpArray.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB DB Instance IP Array can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbResourceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbResourceGroup.java index fc21afd189..a1313863f7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/DbResourceGroup.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ElasticInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ElasticInstance.java index 94fefbbefa..fec6e72d06 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ElasticInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ElasticInstance.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ExternalDataService.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ExternalDataService.java index 009578c9a8..dced9d5efe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ExternalDataService.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/ExternalDataService.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/HadoopDataSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/HadoopDataSource.java index c227f760c3..739d2c7883 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/HadoopDataSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/HadoopDataSource.java @@ -248,6 +248,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Hadoop Data Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Instance.java index 5af6e6a169..c1c6ac102a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/Instance.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/JdbcDataSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/JdbcDataSource.java index bfac6ac03d..7b98ca8e90 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/JdbcDataSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/JdbcDataSource.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Jdbc Data Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/RemoteAdbDataSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/RemoteAdbDataSource.java index 5e445da282..18a842f48b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/RemoteAdbDataSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/RemoteAdbDataSource.java @@ -146,6 +146,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Remote ADB Data Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataService.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataService.java index 7c19a772dc..c4e2864710 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataService.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataService.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Data Service can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataSource.java index 134a5b339a..099efa72c1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingDataSource.java @@ -132,6 +132,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Data Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingJob.java index e601fb8de3..c4c29758f2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/StreamingJob.java @@ -184,6 +184,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProject.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProject.java new file mode 100644 index 0000000000..7ad4f378d0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProject.java @@ -0,0 +1,332 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.gpdb; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.gpdb.SupabaseProjectArgs; +import com.pulumi.alicloud.gpdb.inputs.SupabaseProjectState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. + * + * For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.VpcFunctions;
+ * import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
+ * import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
+ * import com.pulumi.alicloud.gpdb.SupabaseProject;
+ * import com.pulumi.alicloud.gpdb.SupabaseProjectArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()
+ *             .nameRegex("^default-NODELETING$")
+ *             .build());
+ * 
+ *         final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
+ *             .vpcId(default_.ids()[0])
+ *             .zoneId("cn-hangzhou-j")
+ *             .build());
+ * 
+ *         var defaultSupabaseProject = new SupabaseProject("defaultSupabaseProject", SupabaseProjectArgs.builder()
+ *             .projectSpec("1C2G")
+ *             .zoneId("cn-hangzhou-j")
+ *             .vpcId(default_.ids()[0])
+ *             .projectName("supabase_example")
+ *             .securityIpLists("127.0.0.1")
+ *             .vswitchId(defaultGetSwitches.ids()[0])
+ *             .diskPerformanceLevel("PL0")
+ *             .storageSize(1)
+ *             .accountPassword("YourPassword123!")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example <id> + * ``` + * + */ +@ResourceType(type="alicloud:gpdb/supabaseProject:SupabaseProject") +public class SupabaseProject extends com.pulumi.resources.CustomResource { + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + @Export(name="accountPassword", refs={String.class}, tree="[0]") + private Output accountPassword; + + /** + * @return The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + public Output accountPassword() { + return this.accountPassword; + } + /** + * The creation time of the resource + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Output createTime() { + return this.createTime; + } + /** + * cloud disk performance level + * + */ + @Export(name="diskPerformanceLevel", refs={String.class}, tree="[0]") + private Output diskPerformanceLevel; + + /** + * @return cloud disk performance level + * + */ + public Output diskPerformanceLevel() { + return this.diskPerformanceLevel; + } + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + @Export(name="projectName", refs={String.class}, tree="[0]") + private Output projectName; + + /** + * @return The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + public Output projectName() { + return this.projectName; + } + /** + * The performance level of the Supabase instance. + * + */ + @Export(name="projectSpec", refs={String.class}, tree="[0]") + private Output projectSpec; + + /** + * @return The performance level of the Supabase instance. + * + */ + public Output projectSpec() { + return this.projectSpec; + } + /** + * The region ID. + * + */ + @Export(name="regionId", refs={String.class}, tree="[0]") + private Output regionId; + + /** + * @return The region ID. + * + */ + public Output regionId() { + return this.regionId; + } + /** + * The IP address whitelist. + * + */ + @Export(name="securityIpLists", refs={List.class,String.class}, tree="[0,1]") + private Output> securityIpLists; + + /** + * @return The IP address whitelist. + * + */ + public Output> securityIpLists() { + return this.securityIpLists; + } + /** + * The status of the Supabase instance. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The status of the Supabase instance. + * + */ + public Output status() { + return this.status; + } + /** + * The storage capacity of the instance. Unit: GB. + * + */ + @Export(name="storageSize", refs={Integer.class}, tree="[0]") + private Output storageSize; + + /** + * @return The storage capacity of the instance. Unit: GB. + * + */ + public Output storageSize() { + return this.storageSize; + } + /** + * The VPC ID. + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return The VPC ID. + * + */ + public Output vpcId() { + return this.vpcId; + } + /** + * The vSwitch ID. + * + */ + @Export(name="vswitchId", refs={String.class}, tree="[0]") + private Output vswitchId; + + /** + * @return The vSwitch ID. + * + */ + public Output vswitchId() { + return this.vswitchId; + } + /** + * The Zone ID. + * + */ + @Export(name="zoneId", refs={String.class}, tree="[0]") + private Output zoneId; + + /** + * @return The Zone ID. + * + */ + public Output zoneId() { + return this.zoneId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public SupabaseProject(java.lang.String name) { + this(name, SupabaseProjectArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public SupabaseProject(java.lang.String name, SupabaseProjectArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public SupabaseProject(java.lang.String name, SupabaseProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:gpdb/supabaseProject:SupabaseProject", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private SupabaseProject(java.lang.String name, Output id, @Nullable SupabaseProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:gpdb/supabaseProject:SupabaseProject", name, state, makeResourceOptions(options, id), false); + } + + private static SupabaseProjectArgs makeArgs(SupabaseProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SupabaseProjectArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "accountPassword" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static SupabaseProject get(java.lang.String name, Output id, @Nullable SupabaseProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new SupabaseProject(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProjectArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProjectArgs.java new file mode 100644 index 0000000000..3228cbcd57 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/SupabaseProjectArgs.java @@ -0,0 +1,437 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.gpdb; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SupabaseProjectArgs extends com.pulumi.resources.ResourceArgs { + + public static final SupabaseProjectArgs Empty = new SupabaseProjectArgs(); + + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + @Import(name="accountPassword", required=true) + private Output accountPassword; + + /** + * @return The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + public Output accountPassword() { + return this.accountPassword; + } + + /** + * cloud disk performance level + * + */ + @Import(name="diskPerformanceLevel") + private @Nullable Output diskPerformanceLevel; + + /** + * @return cloud disk performance level + * + */ + public Optional> diskPerformanceLevel() { + return Optional.ofNullable(this.diskPerformanceLevel); + } + + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + @Import(name="projectName", required=true) + private Output projectName; + + /** + * @return The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + public Output projectName() { + return this.projectName; + } + + /** + * The performance level of the Supabase instance. + * + */ + @Import(name="projectSpec", required=true) + private Output projectSpec; + + /** + * @return The performance level of the Supabase instance. + * + */ + public Output projectSpec() { + return this.projectSpec; + } + + /** + * The IP address whitelist. + * + */ + @Import(name="securityIpLists", required=true) + private Output> securityIpLists; + + /** + * @return The IP address whitelist. + * + */ + public Output> securityIpLists() { + return this.securityIpLists; + } + + /** + * The storage capacity of the instance. Unit: GB. + * + */ + @Import(name="storageSize") + private @Nullable Output storageSize; + + /** + * @return The storage capacity of the instance. Unit: GB. + * + */ + public Optional> storageSize() { + return Optional.ofNullable(this.storageSize); + } + + /** + * The VPC ID. + * + */ + @Import(name="vpcId", required=true) + private Output vpcId; + + /** + * @return The VPC ID. + * + */ + public Output vpcId() { + return this.vpcId; + } + + /** + * The vSwitch ID. + * + */ + @Import(name="vswitchId", required=true) + private Output vswitchId; + + /** + * @return The vSwitch ID. + * + */ + public Output vswitchId() { + return this.vswitchId; + } + + /** + * The Zone ID. + * + */ + @Import(name="zoneId", required=true) + private Output zoneId; + + /** + * @return The Zone ID. + * + */ + public Output zoneId() { + return this.zoneId; + } + + private SupabaseProjectArgs() {} + + private SupabaseProjectArgs(SupabaseProjectArgs $) { + this.accountPassword = $.accountPassword; + this.diskPerformanceLevel = $.diskPerformanceLevel; + this.projectName = $.projectName; + this.projectSpec = $.projectSpec; + this.securityIpLists = $.securityIpLists; + this.storageSize = $.storageSize; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + this.zoneId = $.zoneId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SupabaseProjectArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SupabaseProjectArgs $; + + public Builder() { + $ = new SupabaseProjectArgs(); + } + + public Builder(SupabaseProjectArgs defaults) { + $ = new SupabaseProjectArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountPassword The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + * @return builder + * + */ + public Builder accountPassword(Output accountPassword) { + $.accountPassword = accountPassword; + return this; + } + + /** + * @param accountPassword The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + * @return builder + * + */ + public Builder accountPassword(String accountPassword) { + return accountPassword(Output.of(accountPassword)); + } + + /** + * @param diskPerformanceLevel cloud disk performance level + * + * @return builder + * + */ + public Builder diskPerformanceLevel(@Nullable Output diskPerformanceLevel) { + $.diskPerformanceLevel = diskPerformanceLevel; + return this; + } + + /** + * @param diskPerformanceLevel cloud disk performance level + * + * @return builder + * + */ + public Builder diskPerformanceLevel(String diskPerformanceLevel) { + return diskPerformanceLevel(Output.of(diskPerformanceLevel)); + } + + /** + * @param projectName The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + * @return builder + * + */ + public Builder projectName(Output projectName) { + $.projectName = projectName; + return this; + } + + /** + * @param projectName The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + * @return builder + * + */ + public Builder projectName(String projectName) { + return projectName(Output.of(projectName)); + } + + /** + * @param projectSpec The performance level of the Supabase instance. + * + * @return builder + * + */ + public Builder projectSpec(Output projectSpec) { + $.projectSpec = projectSpec; + return this; + } + + /** + * @param projectSpec The performance level of the Supabase instance. + * + * @return builder + * + */ + public Builder projectSpec(String projectSpec) { + return projectSpec(Output.of(projectSpec)); + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(Output> securityIpLists) { + $.securityIpLists = securityIpLists; + return this; + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(List securityIpLists) { + return securityIpLists(Output.of(securityIpLists)); + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(String... securityIpLists) { + return securityIpLists(List.of(securityIpLists)); + } + + /** + * @param storageSize The storage capacity of the instance. Unit: GB. + * + * @return builder + * + */ + public Builder storageSize(@Nullable Output storageSize) { + $.storageSize = storageSize; + return this; + } + + /** + * @param storageSize The storage capacity of the instance. Unit: GB. + * + * @return builder + * + */ + public Builder storageSize(Integer storageSize) { + return storageSize(Output.of(storageSize)); + } + + /** + * @param vpcId The VPC ID. + * + * @return builder + * + */ + public Builder vpcId(Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VPC ID. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The vSwitch ID. + * + * @return builder + * + */ + public Builder vswitchId(Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The vSwitch ID. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param zoneId The Zone ID. + * + * @return builder + * + */ + public Builder zoneId(Output zoneId) { + $.zoneId = zoneId; + return this; + } + + /** + * @param zoneId The Zone ID. + * + * @return builder + * + */ + public Builder zoneId(String zoneId) { + return zoneId(Output.of(zoneId)); + } + + public SupabaseProjectArgs build() { + if ($.accountPassword == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "accountPassword"); + } + if ($.projectName == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "projectName"); + } + if ($.projectSpec == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "projectSpec"); + } + if ($.securityIpLists == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "securityIpLists"); + } + if ($.vpcId == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "vpcId"); + } + if ($.vswitchId == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "vswitchId"); + } + if ($.zoneId == null) { + throw new MissingRequiredPropertyException("SupabaseProjectArgs", "zoneId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/inputs/SupabaseProjectState.java b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/inputs/SupabaseProjectState.java new file mode 100644 index 0000000000..3eba162bed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gpdb/inputs/SupabaseProjectState.java @@ -0,0 +1,526 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.gpdb.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SupabaseProjectState extends com.pulumi.resources.ResourceArgs { + + public static final SupabaseProjectState Empty = new SupabaseProjectState(); + + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + @Import(name="accountPassword") + private @Nullable Output accountPassword; + + /** + * @return The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + */ + public Optional> accountPassword() { + return Optional.ofNullable(this.accountPassword); + } + + /** + * The creation time of the resource + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * cloud disk performance level + * + */ + @Import(name="diskPerformanceLevel") + private @Nullable Output diskPerformanceLevel; + + /** + * @return cloud disk performance level + * + */ + public Optional> diskPerformanceLevel() { + return Optional.ofNullable(this.diskPerformanceLevel); + } + + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + @Import(name="projectName") + private @Nullable Output projectName; + + /** + * @return The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + */ + public Optional> projectName() { + return Optional.ofNullable(this.projectName); + } + + /** + * The performance level of the Supabase instance. + * + */ + @Import(name="projectSpec") + private @Nullable Output projectSpec; + + /** + * @return The performance level of the Supabase instance. + * + */ + public Optional> projectSpec() { + return Optional.ofNullable(this.projectSpec); + } + + /** + * The region ID. + * + */ + @Import(name="regionId") + private @Nullable Output regionId; + + /** + * @return The region ID. + * + */ + public Optional> regionId() { + return Optional.ofNullable(this.regionId); + } + + /** + * The IP address whitelist. + * + */ + @Import(name="securityIpLists") + private @Nullable Output> securityIpLists; + + /** + * @return The IP address whitelist. + * + */ + public Optional>> securityIpLists() { + return Optional.ofNullable(this.securityIpLists); + } + + /** + * The status of the Supabase instance. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the Supabase instance. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * The storage capacity of the instance. Unit: GB. + * + */ + @Import(name="storageSize") + private @Nullable Output storageSize; + + /** + * @return The storage capacity of the instance. Unit: GB. + * + */ + public Optional> storageSize() { + return Optional.ofNullable(this.storageSize); + } + + /** + * The VPC ID. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The VPC ID. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The vSwitch ID. + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The vSwitch ID. + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + /** + * The Zone ID. + * + */ + @Import(name="zoneId") + private @Nullable Output zoneId; + + /** + * @return The Zone ID. + * + */ + public Optional> zoneId() { + return Optional.ofNullable(this.zoneId); + } + + private SupabaseProjectState() {} + + private SupabaseProjectState(SupabaseProjectState $) { + this.accountPassword = $.accountPassword; + this.createTime = $.createTime; + this.diskPerformanceLevel = $.diskPerformanceLevel; + this.projectName = $.projectName; + this.projectSpec = $.projectSpec; + this.regionId = $.regionId; + this.securityIpLists = $.securityIpLists; + this.status = $.status; + this.storageSize = $.storageSize; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + this.zoneId = $.zoneId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SupabaseProjectState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SupabaseProjectState $; + + public Builder() { + $ = new SupabaseProjectState(); + } + + public Builder(SupabaseProjectState defaults) { + $ = new SupabaseProjectState(Objects.requireNonNull(defaults)); + } + + /** + * @param accountPassword The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + * @return builder + * + */ + public Builder accountPassword(@Nullable Output accountPassword) { + $.accountPassword = accountPassword; + return this; + } + + /** + * @param accountPassword The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! {@literal @}#$%^& *()_+-= + * - Length is 8~32 characters. + * + * @return builder + * + */ + public Builder accountPassword(String accountPassword) { + return accountPassword(Output.of(accountPassword)); + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param diskPerformanceLevel cloud disk performance level + * + * @return builder + * + */ + public Builder diskPerformanceLevel(@Nullable Output diskPerformanceLevel) { + $.diskPerformanceLevel = diskPerformanceLevel; + return this; + } + + /** + * @param diskPerformanceLevel cloud disk performance level + * + * @return builder + * + */ + public Builder diskPerformanceLevel(String diskPerformanceLevel) { + return diskPerformanceLevel(Output.of(diskPerformanceLevel)); + } + + /** + * @param projectName The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + * @return builder + * + */ + public Builder projectName(@Nullable Output projectName) { + $.projectName = projectName; + return this; + } + + /** + * @param projectName The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + * + * @return builder + * + */ + public Builder projectName(String projectName) { + return projectName(Output.of(projectName)); + } + + /** + * @param projectSpec The performance level of the Supabase instance. + * + * @return builder + * + */ + public Builder projectSpec(@Nullable Output projectSpec) { + $.projectSpec = projectSpec; + return this; + } + + /** + * @param projectSpec The performance level of the Supabase instance. + * + * @return builder + * + */ + public Builder projectSpec(String projectSpec) { + return projectSpec(Output.of(projectSpec)); + } + + /** + * @param regionId The region ID. + * + * @return builder + * + */ + public Builder regionId(@Nullable Output regionId) { + $.regionId = regionId; + return this; + } + + /** + * @param regionId The region ID. + * + * @return builder + * + */ + public Builder regionId(String regionId) { + return regionId(Output.of(regionId)); + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(@Nullable Output> securityIpLists) { + $.securityIpLists = securityIpLists; + return this; + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(List securityIpLists) { + return securityIpLists(Output.of(securityIpLists)); + } + + /** + * @param securityIpLists The IP address whitelist. + * + * @return builder + * + */ + public Builder securityIpLists(String... securityIpLists) { + return securityIpLists(List.of(securityIpLists)); + } + + /** + * @param status The status of the Supabase instance. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the Supabase instance. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param storageSize The storage capacity of the instance. Unit: GB. + * + * @return builder + * + */ + public Builder storageSize(@Nullable Output storageSize) { + $.storageSize = storageSize; + return this; + } + + /** + * @param storageSize The storage capacity of the instance. Unit: GB. + * + * @return builder + * + */ + public Builder storageSize(Integer storageSize) { + return storageSize(Output.of(storageSize)); + } + + /** + * @param vpcId The VPC ID. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VPC ID. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The vSwitch ID. + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The vSwitch ID. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param zoneId The Zone ID. + * + * @return builder + * + */ + public Builder zoneId(@Nullable Output zoneId) { + $.zoneId = zoneId; + return this; + } + + /** + * @param zoneId The Zone ID. + * + * @return builder + * + */ + public Builder zoneId(String zoneId) { + return zoneId(Output.of(zoneId)); + } + + public SupabaseProjectState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/graphdatabase/DbInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/graphdatabase/DbInstance.java index 059f79e08e..4449c102f8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/graphdatabase/DbInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/graphdatabase/DbInstance.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Graph Database Db Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/Listener.java b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/Listener.java index e5077a3e29..a2f13f9a04 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/Listener.java @@ -155,6 +155,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Listener can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/LoadBalancer.java index 63fcf05c52..1f3a866147 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/LoadBalancer.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Load Balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/ServerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/ServerGroup.java index 634dc0efb6..d5f61675ff 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/ServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/gwlb/ServerGroup.java @@ -149,6 +149,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Server Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbase/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbase/Instance.java index 629a27ecb1..67bd3131bc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbase/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbase/Instance.java @@ -103,6 +103,8 @@ * * this is a example for class netType instance. you can find more detail with the examples/hbase dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBase can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/CrossAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/CrossAccount.java index 3efc9b69e1..3536465a51 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/CrossAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/CrossAccount.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupClient.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupClient.java index 24e17fca35..0f94b81170 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupClient.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupClient.java @@ -120,6 +120,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * > **Note:** Please read the following precautions carefully before deleting a client: diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupPlan.java index aed4afaa09..af8b40dffd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/EcsBackupPlan.java @@ -146,6 +146,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * **About Backup path rules:** diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupClient.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupClient.java index 5c9be784a2..3a350d6d3a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupClient.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupClient.java @@ -147,6 +147,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupPlan.java index e33244b6dc..12f1b082dc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaBackupPlan.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaInstance.java index 214fa1c344..d4554aefc9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/HanaInstance.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/NasBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/NasBackupPlan.java index 4d083bd32a..4fd9a9a251 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/NasBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/NasBackupPlan.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Nas Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OssBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OssBackupPlan.java index 173851110e..20f08ee9d8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OssBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OssBackupPlan.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Oss Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OtsBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OtsBackupPlan.java index aeff66c03e..050ad3f219 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OtsBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/OtsBackupPlan.java @@ -151,6 +151,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Ots Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Policy.java index fbe8dbf34c..5a35c7367d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Policy.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/PolicyBinding.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/PolicyBinding.java index e65c23cf93..b5f9972c25 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/PolicyBinding.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/PolicyBinding.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Policy Binding can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ReplicationVault.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ReplicationVault.java index 10743a5454..c65783de01 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ReplicationVault.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ReplicationVault.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/RestoreJob.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/RestoreJob.java index fb6c5aeff6..1c3acbfae4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/RestoreJob.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/RestoreJob.java @@ -129,6 +129,8 @@ * * > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `<restore_job_id>:<restore_type>`, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ServerBackupPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ServerBackupPlan.java index 9515de6025..2e25b9dee5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ServerBackupPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/ServerBackupPlan.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Vault.java b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Vault.java index 7046cb1231..db894b8bfc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Vault.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hbr/Vault.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/Instance.java index 751ad77cc8..2460d745a1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/Instance.java @@ -123,6 +123,20 @@ public Output createTime() { public Output> duration() { return Codegen.optional(this.duration); } + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + @Export(name="enableSsl", refs={Boolean.class}, tree="[0]") + private Output enableSsl; + + /** + * @return Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + public Output> enableSsl() { + return Codegen.optional(this.enableSsl); + } /** * List of domain names. See `endpoints` below. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/InstanceArgs.java index 638d2a92b6..a000ed5e5e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/InstanceArgs.java @@ -103,6 +103,21 @@ public Optional> duration() { return Optional.ofNullable(this.duration); } + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + @Import(name="enableSsl") + private @Nullable Output enableSsl; + + /** + * @return Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + public Optional> enableSsl() { + return Optional.ofNullable(this.enableSsl); + } + /** * List of domain names. See `endpoints` below. * @@ -344,6 +359,7 @@ private InstanceArgs(InstanceArgs $) { this.coldStorageSize = $.coldStorageSize; this.cpu = $.cpu; this.duration = $.duration; + this.enableSsl = $.enableSsl; this.endpoints = $.endpoints; this.gatewayCount = $.gatewayCount; this.initialDatabases = $.initialDatabases; @@ -484,6 +500,27 @@ public Builder duration(Integer duration) { return duration(Output.of(duration)); } + /** + * @param enableSsl Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + * @return builder + * + */ + public Builder enableSsl(@Nullable Output enableSsl) { + $.enableSsl = enableSsl; + return this; + } + + /** + * @param enableSsl Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + * @return builder + * + */ + public Builder enableSsl(Boolean enableSsl) { + return enableSsl(Output.of(enableSsl)); + } + /** * @param endpoints List of domain names. See `endpoints` below. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/inputs/InstanceState.java index fb571a9dbc..04120ecb78 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/hologram/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/hologram/inputs/InstanceState.java @@ -117,6 +117,21 @@ public Optional> duration() { return Optional.ofNullable(this.duration); } + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + @Import(name="enableSsl") + private @Nullable Output enableSsl; + + /** + * @return Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + */ + public Optional> enableSsl() { + return Optional.ofNullable(this.enableSsl); + } + /** * List of domain names. See `endpoints` below. * @@ -374,6 +389,7 @@ private InstanceState(InstanceState $) { this.cpu = $.cpu; this.createTime = $.createTime; this.duration = $.duration; + this.enableSsl = $.enableSsl; this.endpoints = $.endpoints; this.gatewayCount = $.gatewayCount; this.initialDatabases = $.initialDatabases; @@ -536,6 +552,27 @@ public Builder duration(Integer duration) { return duration(Output.of(duration)); } + /** + * @param enableSsl Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + * @return builder + * + */ + public Builder enableSsl(@Nullable Output enableSsl) { + $.enableSsl = enableSsl; + return this; + } + + /** + * @param enableSsl Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + * + * @return builder + * + */ + public Builder enableSsl(Boolean enableSsl) { + return enableSsl(Output.of(enableSsl)); + } + /** * @param endpoints List of domain names. See `endpoints` below. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/imm/Project.java b/sdk/java/src/main/java/com/pulumi/alicloud/imm/Project.java index 8afe9ce8a7..a68e1792d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/imm/Project.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/imm/Project.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Intelligent Media Management Project can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/imp/AppTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/imp/AppTemplate.java index f56f6a9c4c..6a6e47ca5a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/imp/AppTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/imp/AppTemplate.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara Agile Live (IMP) App Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ims/OidcProvider.java b/sdk/java/src/main/java/com/pulumi/alicloud/ims/OidcProvider.java index 5f7c08a67f..a4641efa87 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ims/OidcProvider.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ims/OidcProvider.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * IMS Oidc Provider can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.java new file mode 100644 index 0000000000..3ae8deff56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs.java @@ -0,0 +1,363 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs Empty = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs(); + + /** + * The API name, such as ListApiMcpServers. + * + */ + @Import(name="apiName") + private @Nullable Output apiName; + + /** + * @return The API name, such as ListApiMcpServers. + * + */ + public Optional> apiName() { + return Optional.ofNullable(this.apiName); + } + + /** + * API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + */ + @Import(name="apiOverrideJson") + private @Nullable Output apiOverrideJson; + + /** + * @return API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + */ + public Optional> apiOverrideJson() { + return Optional.ofNullable(this.apiOverrideJson); + } + + /** + * API version information, typically in date format, such as 2014-05-26. + * + */ + @Import(name="apiVersion") + private @Nullable Output apiVersion; + + /** + * @return API version information, typically in date format, such as 2014-05-26. + * + */ + public Optional> apiVersion() { + return Optional.ofNullable(this.apiVersion); + } + + /** + * Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + */ + @Import(name="constParameters") + private @Nullable Output> constParameters; + + /** + * @return Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + */ + public Optional>> constParameters() { + return Optional.ofNullable(this.constParameters); + } + + /** + * By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + */ + @Import(name="enableOutputSchema") + private @Nullable Output enableOutputSchema; + + /** + * @return By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + */ + public Optional> enableOutputSchema() { + return Optional.ofNullable(this.enableOutputSchema); + } + + /** + * Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + */ + @Import(name="executeCliCommand") + private @Nullable Output executeCliCommand; + + /** + * @return Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + */ + public Optional> executeCliCommand() { + return Optional.ofNullable(this.executeCliCommand); + } + + /** + * The name of the cloud product, such as Ecs. + * + */ + @Import(name="product") + private @Nullable Output product; + + /** + * @return The name of the cloud product, such as Ecs. + * + */ + public Optional> product() { + return Optional.ofNullable(this.product); + } + + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs() {} + + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs $) { + this.apiName = $.apiName; + this.apiOverrideJson = $.apiOverrideJson; + this.apiVersion = $.apiVersion; + this.constParameters = $.constParameters; + this.enableOutputSchema = $.enableOutputSchema; + this.executeCliCommand = $.executeCliCommand; + this.product = $.product; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs defaults) { + $ = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiName The API name, such as ListApiMcpServers. + * + * @return builder + * + */ + public Builder apiName(@Nullable Output apiName) { + $.apiName = apiName; + return this; + } + + /** + * @param apiName The API name, such as ListApiMcpServers. + * + * @return builder + * + */ + public Builder apiName(String apiName) { + return apiName(Output.of(apiName)); + } + + /** + * @param apiOverrideJson API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + * @return builder + * + */ + public Builder apiOverrideJson(@Nullable Output apiOverrideJson) { + $.apiOverrideJson = apiOverrideJson; + return this; + } + + /** + * @param apiOverrideJson API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + * @return builder + * + */ + public Builder apiOverrideJson(String apiOverrideJson) { + return apiOverrideJson(Output.of(apiOverrideJson)); + } + + /** + * @param apiVersion API version information, typically in date format, such as 2014-05-26. + * + * @return builder + * + */ + public Builder apiVersion(@Nullable Output apiVersion) { + $.apiVersion = apiVersion; + return this; + } + + /** + * @param apiVersion API version information, typically in date format, such as 2014-05-26. + * + * @return builder + * + */ + public Builder apiVersion(String apiVersion) { + return apiVersion(Output.of(apiVersion)); + } + + /** + * @param constParameters Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + * @return builder + * + */ + public Builder constParameters(@Nullable Output> constParameters) { + $.constParameters = constParameters; + return this; + } + + /** + * @param constParameters Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + * @return builder + * + */ + public Builder constParameters(List constParameters) { + return constParameters(Output.of(constParameters)); + } + + /** + * @param constParameters Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + * @return builder + * + */ + public Builder constParameters(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs... constParameters) { + return constParameters(List.of(constParameters)); + } + + /** + * @param enableOutputSchema By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + * @return builder + * + */ + public Builder enableOutputSchema(@Nullable Output enableOutputSchema) { + $.enableOutputSchema = enableOutputSchema; + return this; + } + + /** + * @param enableOutputSchema By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + * @return builder + * + */ + public Builder enableOutputSchema(Boolean enableOutputSchema) { + return enableOutputSchema(Output.of(enableOutputSchema)); + } + + /** + * @param executeCliCommand Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + * @return builder + * + */ + public Builder executeCliCommand(@Nullable Output executeCliCommand) { + $.executeCliCommand = executeCliCommand; + return this; + } + + /** + * @param executeCliCommand Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + * @return builder + * + */ + public Builder executeCliCommand(Boolean executeCliCommand) { + return executeCliCommand(Output.of(executeCliCommand)); + } + + /** + * @param product The name of the cloud product, such as Ecs. + * + * @return builder + * + */ + public Builder product(@Nullable Output product) { + $.product = product; + return this; + } + + /** + * @param product The name of the cloud product, such as Ecs. + * + * @return builder + * + */ + public Builder product(String product) { + return product(Output.of(product)); + } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.java new file mode 100644 index 0000000000..6b9d6ac80e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs.java @@ -0,0 +1,164 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs Empty = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs(); + + /** + * Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * This property does not have a description in the spec, please add it before generating code. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs() {} + + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs $) { + this.key = $.key; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs defaults) { + $ = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param value This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value This property does not have a description in the spec, please add it before generating code. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerApiArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerApiArgs.java new file mode 100644 index 0000000000..b58d8c088c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerApiArgs.java @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class OpenApiExplorerApiMcpServerApiArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerApiArgs Empty = new OpenApiExplorerApiMcpServerApiArgs(); + + /** + * API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + */ + @Import(name="apiVersion", required=true) + private Output apiVersion; + + /** + * @return API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + */ + public Output apiVersion() { + return this.apiVersion; + } + + /** + * Product code, such as Ecs. + * + */ + @Import(name="product", required=true) + private Output product; + + /** + * @return Product code, such as Ecs. + * + */ + public Output product() { + return this.product; + } + + /** + * Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + */ + @Import(name="selectors", required=true) + private Output> selectors; + + /** + * @return Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + */ + public Output> selectors() { + return this.selectors; + } + + private OpenApiExplorerApiMcpServerApiArgs() {} + + private OpenApiExplorerApiMcpServerApiArgs(OpenApiExplorerApiMcpServerApiArgs $) { + this.apiVersion = $.apiVersion; + this.product = $.product; + this.selectors = $.selectors; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerApiArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerApiArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerApiArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerApiArgs defaults) { + $ = new OpenApiExplorerApiMcpServerApiArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiVersion API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + * @return builder + * + */ + public Builder apiVersion(Output apiVersion) { + $.apiVersion = apiVersion; + return this; + } + + /** + * @param apiVersion API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + * @return builder + * + */ + public Builder apiVersion(String apiVersion) { + return apiVersion(Output.of(apiVersion)); + } + + /** + * @param product Product code, such as Ecs. + * + * @return builder + * + */ + public Builder product(Output product) { + $.product = product; + return this; + } + + /** + * @param product Product code, such as Ecs. + * + * @return builder + * + */ + public Builder product(String product) { + return product(Output.of(product)); + } + + /** + * @param selectors Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + * @return builder + * + */ + public Builder selectors(Output> selectors) { + $.selectors = selectors; + return this; + } + + /** + * @param selectors Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + * @return builder + * + */ + public Builder selectors(List selectors) { + return selectors(Output.of(selectors)); + } + + /** + * @param selectors Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + * @return builder + * + */ + public Builder selectors(String... selectors) { + return selectors(List.of(selectors)); + } + + public OpenApiExplorerApiMcpServerApiArgs build() { + if ($.apiVersion == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApiArgs", "apiVersion"); + } + if ($.product == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApiArgs", "product"); + } + if ($.selectors == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApiArgs", "selectors"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgs.java new file mode 100644 index 0000000000..10c8068b42 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgs.java @@ -0,0 +1,206 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerPromptArgumentArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerPromptArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerPromptArgs Empty = new OpenApiExplorerApiMcpServerPromptArgs(); + + /** + * Parameters for the prompt. See `arguments` below. + * + */ + @Import(name="arguments") + private @Nullable Output> arguments; + + /** + * @return Parameters for the prompt. See `arguments` below. + * + */ + public Optional>> arguments() { + return Optional.ofNullable(this.arguments); + } + + /** + * Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + */ + @Import(name="content") + private @Nullable Output content; + + /** + * @return Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + */ + public Optional> content() { + return Optional.ofNullable(this.content); + } + + /** + * Description of the prompt parameter. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the prompt parameter. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Name of the prompt parameter. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the prompt parameter. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private OpenApiExplorerApiMcpServerPromptArgs() {} + + private OpenApiExplorerApiMcpServerPromptArgs(OpenApiExplorerApiMcpServerPromptArgs $) { + this.arguments = $.arguments; + this.content = $.content; + this.description = $.description; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerPromptArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerPromptArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerPromptArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerPromptArgs defaults) { + $ = new OpenApiExplorerApiMcpServerPromptArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param arguments Parameters for the prompt. See `arguments` below. + * + * @return builder + * + */ + public Builder arguments(@Nullable Output> arguments) { + $.arguments = arguments; + return this; + } + + /** + * @param arguments Parameters for the prompt. See `arguments` below. + * + * @return builder + * + */ + public Builder arguments(List arguments) { + return arguments(Output.of(arguments)); + } + + /** + * @param arguments Parameters for the prompt. See `arguments` below. + * + * @return builder + * + */ + public Builder arguments(OpenApiExplorerApiMcpServerPromptArgumentArgs... arguments) { + return arguments(List.of(arguments)); + } + + /** + * @param content Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + * @return builder + * + */ + public Builder content(@Nullable Output content) { + $.content = content; + return this; + } + + /** + * @param content Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + * @return builder + * + */ + public Builder content(String content) { + return content(Output.of(content)); + } + + /** + * @param description Description of the prompt parameter. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the prompt parameter. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Name of the prompt parameter. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the prompt parameter. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public OpenApiExplorerApiMcpServerPromptArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.java new file mode 100644 index 0000000000..08169d1284 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerPromptArgumentArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerPromptArgumentArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerPromptArgumentArgs Empty = new OpenApiExplorerApiMcpServerPromptArgumentArgs(); + + /** + * Description of the API MCP service. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the API MCP service. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Indicates whether the prompt parameter is required. + * + */ + @Import(name="required") + private @Nullable Output required; + + /** + * @return Indicates whether the prompt parameter is required. + * + */ + public Optional> required() { + return Optional.ofNullable(this.required); + } + + private OpenApiExplorerApiMcpServerPromptArgumentArgs() {} + + private OpenApiExplorerApiMcpServerPromptArgumentArgs(OpenApiExplorerApiMcpServerPromptArgumentArgs $) { + this.description = $.description; + this.name = $.name; + this.required = $.required; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerPromptArgumentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerPromptArgumentArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerPromptArgumentArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerPromptArgumentArgs defaults) { + $ = new OpenApiExplorerApiMcpServerPromptArgumentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param required Indicates whether the prompt parameter is required. + * + * @return builder + * + */ + public Builder required(@Nullable Output required) { + $.required = required; + return this; + } + + /** + * @param required Indicates whether the prompt parameter is required. + * + * @return builder + * + */ + public Builder required(Boolean required) { + return required(Output.of(required)); + } + + public OpenApiExplorerApiMcpServerPromptArgumentArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerState.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerState.java new file mode 100644 index 0000000000..df05a99d1e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerState.java @@ -0,0 +1,756 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerApiArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerPromptArgs; +import com.pulumi.alicloud.inputs.OpenApiExplorerApiMcpServerTerraformToolArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerState extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerState Empty = new OpenApiExplorerApiMcpServerState(); + + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + @Import(name="additionalApiDescriptions") + private @Nullable Output> additionalApiDescriptions; + + /** + * @return Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + */ + public Optional>> additionalApiDescriptions() { + return Optional.ofNullable(this.additionalApiDescriptions); + } + + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + @Import(name="apis") + private @Nullable Output> apis; + + /** + * @return The list of APIs to be included in the API MCP Server. See `apis` below. + * + */ + public Optional>> apis() { + return Optional.ofNullable(this.apis); + } + + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + @Import(name="assumeRoleExtraPolicy") + private @Nullable Output assumeRoleExtraPolicy; + + /** + * @return When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + */ + public Optional> assumeRoleExtraPolicy() { + return Optional.ofNullable(this.assumeRoleExtraPolicy); + } + + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + @Import(name="assumeRoleName") + private @Nullable Output assumeRoleName; + + /** + * @return The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + */ + public Optional> assumeRoleName() { + return Optional.ofNullable(this.assumeRoleName); + } + + /** + * MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * Description of the API MCP service. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the API MCP service. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + @Import(name="enableAssumeRole") + private @Nullable Output enableAssumeRole; + + /** + * @return Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + */ + public Optional> enableAssumeRole() { + return Optional.ofNullable(this.enableAssumeRole); + } + + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + @Import(name="enableCustomVpcWhitelist") + private @Nullable Output enableCustomVpcWhitelist; + + /** + * @return Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + */ + public Optional> enableCustomVpcWhitelist() { + return Optional.ofNullable(this.enableCustomVpcWhitelist); + } + + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + @Import(name="instructions") + private @Nullable Output instructions; + + /** + * @return MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + */ + public Optional> instructions() { + return Optional.ofNullable(this.instructions); + } + + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + @Import(name="language") + private @Nullable Output language; + + /** + * @return Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + */ + public Optional> language() { + return Optional.ofNullable(this.language); + } + + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + @Import(name="oauthClientId") + private @Nullable Output oauthClientId; + + /** + * @return The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + */ + public Optional> oauthClientId() { + return Optional.ofNullable(this.oauthClientId); + } + + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + @Import(name="prompts") + private @Nullable Output> prompts; + + /** + * @return List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + */ + public Optional>> prompts() { + return Optional.ofNullable(this.prompts); + } + + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + @Import(name="publicAccess") + private @Nullable Output publicAccess; + + /** + * @return Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + */ + public Optional> publicAccess() { + return Optional.ofNullable(this.publicAccess); + } + + /** + * Enabled system services. + * + */ + @Import(name="systemTools") + private @Nullable Output> systemTools; + + /** + * @return Enabled system services. + * + */ + public Optional>> systemTools() { + return Optional.ofNullable(this.systemTools); + } + + @Import(name="terraformTools") + private @Nullable Output> terraformTools; + + public Optional>> terraformTools() { + return Optional.ofNullable(this.terraformTools); + } + + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + @Import(name="vpcWhitelists") + private @Nullable Output> vpcWhitelists; + + /** + * @return When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + */ + public Optional>> vpcWhitelists() { + return Optional.ofNullable(this.vpcWhitelists); + } + + private OpenApiExplorerApiMcpServerState() {} + + private OpenApiExplorerApiMcpServerState(OpenApiExplorerApiMcpServerState $) { + this.additionalApiDescriptions = $.additionalApiDescriptions; + this.apis = $.apis; + this.assumeRoleExtraPolicy = $.assumeRoleExtraPolicy; + this.assumeRoleName = $.assumeRoleName; + this.createTime = $.createTime; + this.description = $.description; + this.enableAssumeRole = $.enableAssumeRole; + this.enableCustomVpcWhitelist = $.enableCustomVpcWhitelist; + this.instructions = $.instructions; + this.language = $.language; + this.name = $.name; + this.oauthClientId = $.oauthClientId; + this.prompts = $.prompts; + this.publicAccess = $.publicAccess; + this.systemTools = $.systemTools; + this.terraformTools = $.terraformTools; + this.vpcWhitelists = $.vpcWhitelists; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerState $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerState(); + } + + public Builder(OpenApiExplorerApiMcpServerState defaults) { + $ = new OpenApiExplorerApiMcpServerState(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(@Nullable Output> additionalApiDescriptions) { + $.additionalApiDescriptions = additionalApiDescriptions; + return this; + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(List additionalApiDescriptions) { + return additionalApiDescriptions(Output.of(additionalApiDescriptions)); + } + + /** + * @param additionalApiDescriptions Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + * + * @return builder + * + */ + public Builder additionalApiDescriptions(OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs... additionalApiDescriptions) { + return additionalApiDescriptions(List.of(additionalApiDescriptions)); + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(@Nullable Output> apis) { + $.apis = apis; + return this; + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(List apis) { + return apis(Output.of(apis)); + } + + /** + * @param apis The list of APIs to be included in the API MCP Server. See `apis` below. + * + * @return builder + * + */ + public Builder apis(OpenApiExplorerApiMcpServerApiArgs... apis) { + return apis(List.of(apis)); + } + + /** + * @param assumeRoleExtraPolicy When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + * @return builder + * + */ + public Builder assumeRoleExtraPolicy(@Nullable Output assumeRoleExtraPolicy) { + $.assumeRoleExtraPolicy = assumeRoleExtraPolicy; + return this; + } + + /** + * @param assumeRoleExtraPolicy When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + * + * @return builder + * + */ + public Builder assumeRoleExtraPolicy(String assumeRoleExtraPolicy) { + return assumeRoleExtraPolicy(Output.of(assumeRoleExtraPolicy)); + } + + /** + * @param assumeRoleName The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + * @return builder + * + */ + public Builder assumeRoleName(@Nullable Output assumeRoleName) { + $.assumeRoleName = assumeRoleName; + return this; + } + + /** + * @param assumeRoleName The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + * + * @return builder + * + */ + public Builder assumeRoleName(String assumeRoleName) { + return assumeRoleName(Output.of(assumeRoleName)); + } + + /** + * @param createTime MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the API MCP service. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param enableAssumeRole Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + * @return builder + * + */ + public Builder enableAssumeRole(@Nullable Output enableAssumeRole) { + $.enableAssumeRole = enableAssumeRole; + return this; + } + + /** + * @param enableAssumeRole Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + * + * @return builder + * + */ + public Builder enableAssumeRole(Boolean enableAssumeRole) { + return enableAssumeRole(Output.of(enableAssumeRole)); + } + + /** + * @param enableCustomVpcWhitelist Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + * @return builder + * + */ + public Builder enableCustomVpcWhitelist(@Nullable Output enableCustomVpcWhitelist) { + $.enableCustomVpcWhitelist = enableCustomVpcWhitelist; + return this; + } + + /** + * @param enableCustomVpcWhitelist Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + * + * @return builder + * + */ + public Builder enableCustomVpcWhitelist(Boolean enableCustomVpcWhitelist) { + return enableCustomVpcWhitelist(Output.of(enableCustomVpcWhitelist)); + } + + /** + * @param instructions MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + * @return builder + * + */ + public Builder instructions(@Nullable Output instructions) { + $.instructions = instructions; + return this; + } + + /** + * @param instructions MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + * + * @return builder + * + */ + public Builder instructions(String instructions) { + return instructions(Output.of(instructions)); + } + + /** + * @param language Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + * @return builder + * + */ + public Builder language(@Nullable Output language) { + $.language = language; + return this; + } + + /** + * @param language Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + * + * @return builder + * + */ + public Builder language(String language) { + return language(Output.of(language)); + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param oauthClientId The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + * @return builder + * + */ + public Builder oauthClientId(@Nullable Output oauthClientId) { + $.oauthClientId = oauthClientId; + return this; + } + + /** + * @param oauthClientId The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + * + * @return builder + * + */ + public Builder oauthClientId(String oauthClientId) { + return oauthClientId(Output.of(oauthClientId)); + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(@Nullable Output> prompts) { + $.prompts = prompts; + return this; + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(List prompts) { + return prompts(Output.of(prompts)); + } + + /** + * @param prompts List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + * + * @return builder + * + */ + public Builder prompts(OpenApiExplorerApiMcpServerPromptArgs... prompts) { + return prompts(List.of(prompts)); + } + + /** + * @param publicAccess Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + * @return builder + * + */ + public Builder publicAccess(@Nullable Output publicAccess) { + $.publicAccess = publicAccess; + return this; + } + + /** + * @param publicAccess Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + * + * @return builder + * + */ + public Builder publicAccess(String publicAccess) { + return publicAccess(Output.of(publicAccess)); + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(@Nullable Output> systemTools) { + $.systemTools = systemTools; + return this; + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(List systemTools) { + return systemTools(Output.of(systemTools)); + } + + /** + * @param systemTools Enabled system services. + * + * @return builder + * + */ + public Builder systemTools(String... systemTools) { + return systemTools(List.of(systemTools)); + } + + public Builder terraformTools(@Nullable Output> terraformTools) { + $.terraformTools = terraformTools; + return this; + } + + public Builder terraformTools(List terraformTools) { + return terraformTools(Output.of(terraformTools)); + } + + public Builder terraformTools(OpenApiExplorerApiMcpServerTerraformToolArgs... terraformTools) { + return terraformTools(List.of(terraformTools)); + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(@Nullable Output> vpcWhitelists) { + $.vpcWhitelists = vpcWhitelists; + return this; + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(List vpcWhitelists) { + return vpcWhitelists(Output.of(vpcWhitelists)); + } + + /** + * @param vpcWhitelists When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + * + * @return builder + * + */ + public Builder vpcWhitelists(String... vpcWhitelists) { + return vpcWhitelists(List.of(vpcWhitelists)); + } + + public OpenApiExplorerApiMcpServerState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.java new file mode 100644 index 0000000000..91a19620fd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/inputs/OpenApiExplorerApiMcpServerTerraformToolArgs.java @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class OpenApiExplorerApiMcpServerTerraformToolArgs extends com.pulumi.resources.ResourceArgs { + + public static final OpenApiExplorerApiMcpServerTerraformToolArgs Empty = new OpenApiExplorerApiMcpServerTerraformToolArgs(); + + /** + * Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + */ + @Import(name="async") + private @Nullable Output async; + + /** + * @return Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + */ + public Optional> async() { + return Optional.ofNullable(this.async); + } + + @Import(name="code") + private @Nullable Output code; + + public Optional> code() { + return Optional.ofNullable(this.code); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + */ + @Import(name="destroyPolicy") + private @Nullable Output destroyPolicy; + + /** + * @return The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + */ + public Optional> destroyPolicy() { + return Optional.ofNullable(this.destroyPolicy); + } + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private OpenApiExplorerApiMcpServerTerraformToolArgs() {} + + private OpenApiExplorerApiMcpServerTerraformToolArgs(OpenApiExplorerApiMcpServerTerraformToolArgs $) { + this.async = $.async; + this.code = $.code; + this.description = $.description; + this.destroyPolicy = $.destroyPolicy; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(OpenApiExplorerApiMcpServerTerraformToolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private OpenApiExplorerApiMcpServerTerraformToolArgs $; + + public Builder() { + $ = new OpenApiExplorerApiMcpServerTerraformToolArgs(); + } + + public Builder(OpenApiExplorerApiMcpServerTerraformToolArgs defaults) { + $ = new OpenApiExplorerApiMcpServerTerraformToolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param async Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + * @return builder + * + */ + public Builder async(@Nullable Output async) { + $.async = async; + return this; + } + + /** + * @param async Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + * @return builder + * + */ + public Builder async(Boolean async) { + return async(Output.of(async)); + } + + public Builder code(@Nullable Output code) { + $.code = code; + return this; + } + + public Builder code(String code) { + return code(Output.of(code)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param destroyPolicy The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + * @return builder + * + */ + public Builder destroyPolicy(@Nullable Output destroyPolicy) { + $.destroyPolicy = destroyPolicy; + return this; + } + + /** + * @param destroyPolicy The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + * @return builder + * + */ + public Builder destroyPolicy(String destroyPolicy) { + return destroyPolicy(Output.of(destroyPolicy)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public OpenApiExplorerApiMcpServerTerraformToolArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/iot/DeviceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/iot/DeviceGroup.java index c7abf4ab5c..d0154e8d02 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/iot/DeviceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/iot/DeviceGroup.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Iot Device Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Alias.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Alias.java index 32880bcade..48aa55d0a9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Alias.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Alias.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS alias can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ApplicationAccessPoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ApplicationAccessPoint.java index 58c0f024bf..0c982af2fa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ApplicationAccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ApplicationAccessPoint.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Application Access Point can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Ciphertext.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Ciphertext.java index 9c6a74ea1e..3d7b4b6442 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Ciphertext.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Ciphertext.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:kms/ciphertext:Ciphertext") public class Ciphertext extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ClientKey.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ClientKey.java index 36b8d6abf7..a32ba550da 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ClientKey.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ClientKey.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Client Key can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Instance.java index 8cb511f266..04a7af0b98 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Instance.java @@ -296,6 +296,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Key.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Key.java index 43c570d752..5e03e9c9d0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Key.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Key.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Key can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/KeyVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/KeyVersion.java index 50370eb060..5d87686b96 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/KeyVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/KeyVersion.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alikms key version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/KmsFunctions.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/KmsFunctions.java index 879a558540..24024c4fb9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/KmsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/KmsFunctions.java @@ -703,7 +703,6 @@ public static CompletableFuture getCiphertextPlain(GetCiphe * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -857,7 +856,6 @@ public static Output getInstances() { * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -1011,7 +1009,6 @@ public static CompletableFuture getInstancesPlain() { * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -1165,7 +1162,6 @@ public static Output getInstances(GetInstancesArgs args) { * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -1319,7 +1315,6 @@ public static CompletableFuture getInstancesPlain(GetInstanc * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -1473,7 +1468,6 @@ public static Output getInstances(GetInstancesArgs args, Inv * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", @@ -1627,7 +1621,6 @@ public static Output getInstances(GetInstancesArgs args, Inv * .spec(1000) * .renewStatus("ManualRenewal") * .productVersion("3") - * .renewPeriod(3) * .vpcId(vswitch.vpcId()) * .zoneIds( * "cn-hangzhou-k", diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/NetworkRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/NetworkRule.java index 8c4071968e..b7b1ab53fe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/NetworkRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/NetworkRule.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Network Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Policy.java index 351f87e7d2..b1965fdb09 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Policy.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Secret.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Secret.java index eb144aa409..1341a6c97b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/Secret.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/Secret.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Secret can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedService.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedService.java new file mode 100644 index 0000000000..a09d024044 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedService.java @@ -0,0 +1,257 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.kms; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.kms.ValueAddedServiceArgs; +import com.pulumi.alicloud.kms.inputs.ValueAddedServiceState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a KMS Value Added Service resource. + * + * Value Added Service. + * + * For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.kms.ValueAddedService;
+ * import com.pulumi.alicloud.kms.ValueAddedServiceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new ValueAddedService("default", ValueAddedServiceArgs.builder()
+ *             .valueAddedService("2")
+ *             .period(1)
+ *             .paymentType("Subscription")
+ *             .renewPeriod(1)
+ *             .renewStatus("AutoRenewal")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * KMS Value Added Service can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example <id> + * ``` + * + */ +@ResourceType(type="alicloud:kms/valueAddedService:ValueAddedService") +public class ValueAddedService extends com.pulumi.resources.CustomResource { + /** + * The creation time of the resource + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Output createTime() { + return this.createTime; + } + /** + * The payment type of the resource + * + */ + @Export(name="paymentType", refs={String.class}, tree="[0]") + private Output paymentType; + + /** + * @return The payment type of the resource + * + */ + public Output paymentType() { + return this.paymentType; + } + @Export(name="period", refs={Integer.class}, tree="[0]") + private Output period; + + public Output> period() { + return Codegen.optional(this.period); + } + /** + * The region ID of the resource + * + */ + @Export(name="regionId", refs={String.class}, tree="[0]") + private Output regionId; + + /** + * @return The region ID of the resource + * + */ + public Output regionId() { + return this.regionId; + } + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + @Export(name="renewPeriod", refs={Integer.class}, tree="[0]") + private Output renewPeriod; + + /** + * @return Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + public Output> renewPeriod() { + return Codegen.optional(this.renewPeriod); + } + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + @Export(name="renewStatus", refs={String.class}, tree="[0]") + private Output renewStatus; + + /** + * @return The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + public Output> renewStatus() { + return Codegen.optional(this.renewStatus); + } + /** + * The status of the resource + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The status of the resource + * + */ + public Output status() { + return this.status; + } + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="valueAddedService", refs={String.class}, tree="[0]") + private Output valueAddedService; + + /** + * @return value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> valueAddedService() { + return Codegen.optional(this.valueAddedService); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ValueAddedService(java.lang.String name) { + this(name, ValueAddedServiceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ValueAddedService(java.lang.String name, ValueAddedServiceArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ValueAddedService(java.lang.String name, ValueAddedServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:kms/valueAddedService:ValueAddedService", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ValueAddedService(java.lang.String name, Output id, @Nullable ValueAddedServiceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:kms/valueAddedService:ValueAddedService", name, state, makeResourceOptions(options, id), false); + } + + private static ValueAddedServiceArgs makeArgs(ValueAddedServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ValueAddedServiceArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ValueAddedService get(java.lang.String name, Output id, @Nullable ValueAddedServiceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ValueAddedService(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedServiceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedServiceArgs.java new file mode 100644 index 0000000000..49deecc53a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/ValueAddedServiceArgs.java @@ -0,0 +1,248 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.kms; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ValueAddedServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final ValueAddedServiceArgs Empty = new ValueAddedServiceArgs(); + + /** + * The payment type of the resource + * + */ + @Import(name="paymentType", required=true) + private Output paymentType; + + /** + * @return The payment type of the resource + * + */ + public Output paymentType() { + return this.paymentType; + } + + @Import(name="period") + private @Nullable Output period; + + public Optional> period() { + return Optional.ofNullable(this.period); + } + + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + @Import(name="renewPeriod") + private @Nullable Output renewPeriod; + + /** + * @return Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + public Optional> renewPeriod() { + return Optional.ofNullable(this.renewPeriod); + } + + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + @Import(name="renewStatus") + private @Nullable Output renewStatus; + + /** + * @return The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + public Optional> renewStatus() { + return Optional.ofNullable(this.renewStatus); + } + + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="valueAddedService") + private @Nullable Output valueAddedService; + + /** + * @return value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> valueAddedService() { + return Optional.ofNullable(this.valueAddedService); + } + + private ValueAddedServiceArgs() {} + + private ValueAddedServiceArgs(ValueAddedServiceArgs $) { + this.paymentType = $.paymentType; + this.period = $.period; + this.renewPeriod = $.renewPeriod; + this.renewStatus = $.renewStatus; + this.valueAddedService = $.valueAddedService; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ValueAddedServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ValueAddedServiceArgs $; + + public Builder() { + $ = new ValueAddedServiceArgs(); + } + + public Builder(ValueAddedServiceArgs defaults) { + $ = new ValueAddedServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param paymentType The payment type of the resource + * + * @return builder + * + */ + public Builder paymentType(Output paymentType) { + $.paymentType = paymentType; + return this; + } + + /** + * @param paymentType The payment type of the resource + * + * @return builder + * + */ + public Builder paymentType(String paymentType) { + return paymentType(Output.of(paymentType)); + } + + public Builder period(@Nullable Output period) { + $.period = period; + return this; + } + + public Builder period(Integer period) { + return period(Output.of(period)); + } + + /** + * @param renewPeriod Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + * @return builder + * + */ + public Builder renewPeriod(@Nullable Output renewPeriod) { + $.renewPeriod = renewPeriod; + return this; + } + + /** + * @param renewPeriod Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + * @return builder + * + */ + public Builder renewPeriod(Integer renewPeriod) { + return renewPeriod(Output.of(renewPeriod)); + } + + /** + * @param renewStatus The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + * @return builder + * + */ + public Builder renewStatus(@Nullable Output renewStatus) { + $.renewStatus = renewStatus; + return this; + } + + /** + * @param renewStatus The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + * @return builder + * + */ + public Builder renewStatus(String renewStatus) { + return renewStatus(Output.of(renewStatus)); + } + + /** + * @param valueAddedService value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder valueAddedService(@Nullable Output valueAddedService) { + $.valueAddedService = valueAddedService; + return this; + } + + /** + * @param valueAddedService value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder valueAddedService(String valueAddedService) { + return valueAddedService(Output.of(valueAddedService)); + } + + public ValueAddedServiceArgs build() { + if ($.paymentType == null) { + throw new MissingRequiredPropertyException("ValueAddedServiceArgs", "paymentType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesArgs.java index 8c2262266c..5b368b9856 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesArgs.java @@ -5,7 +5,6 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -32,6 +31,21 @@ public Optional>> ids() { return Optional.ofNullable(this.ids); } + /** + * The name of the resource. + * + */ + @Import(name="instanceName") + private @Nullable Output instanceName; + + /** + * @return The name of the resource. + * + */ + public Optional> instanceName() { + return Optional.ofNullable(this.instanceName); + } + /** * File name where to save data source results (after running `pulumi preview`). * @@ -47,27 +61,12 @@ public Optional> outputFile() { return Optional.ofNullable(this.outputFile); } - @Import(name="pageNumber") - private @Nullable Output pageNumber; - - public Optional> pageNumber() { - return Optional.ofNullable(this.pageNumber); - } - - @Import(name="pageSize") - private @Nullable Output pageSize; - - public Optional> pageSize() { - return Optional.ofNullable(this.pageSize); - } - private GetInstancesArgs() {} private GetInstancesArgs(GetInstancesArgs $) { this.ids = $.ids; + this.instanceName = $.instanceName; this.outputFile = $.outputFile; - this.pageNumber = $.pageNumber; - this.pageSize = $.pageSize; } public static Builder builder() { @@ -119,6 +118,27 @@ public Builder ids(String... ids) { return ids(List.of(ids)); } + /** + * @param instanceName The name of the resource. + * + * @return builder + * + */ + public Builder instanceName(@Nullable Output instanceName) { + $.instanceName = instanceName; + return this; + } + + /** + * @param instanceName The name of the resource. + * + * @return builder + * + */ + public Builder instanceName(String instanceName) { + return instanceName(Output.of(instanceName)); + } + /** * @param outputFile File name where to save data source results (after running `pulumi preview`). * @@ -140,24 +160,6 @@ public Builder outputFile(String outputFile) { return outputFile(Output.of(outputFile)); } - public Builder pageNumber(@Nullable Output pageNumber) { - $.pageNumber = pageNumber; - return this; - } - - public Builder pageNumber(Integer pageNumber) { - return pageNumber(Output.of(pageNumber)); - } - - public Builder pageSize(@Nullable Output pageSize) { - $.pageSize = pageSize; - return this; - } - - public Builder pageSize(Integer pageSize) { - return pageSize(Output.of(pageSize)); - } - public GetInstancesArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesPlainArgs.java index 7cbab2e70b..b288f23d54 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/GetInstancesPlainArgs.java @@ -4,7 +4,6 @@ package com.pulumi.alicloud.kms.inputs; import com.pulumi.core.annotations.Import; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -31,6 +30,21 @@ public Optional> ids() { return Optional.ofNullable(this.ids); } + /** + * The name of the resource. + * + */ + @Import(name="instanceName") + private @Nullable String instanceName; + + /** + * @return The name of the resource. + * + */ + public Optional instanceName() { + return Optional.ofNullable(this.instanceName); + } + /** * File name where to save data source results (after running `pulumi preview`). * @@ -46,27 +60,12 @@ public Optional outputFile() { return Optional.ofNullable(this.outputFile); } - @Import(name="pageNumber") - private @Nullable Integer pageNumber; - - public Optional pageNumber() { - return Optional.ofNullable(this.pageNumber); - } - - @Import(name="pageSize") - private @Nullable Integer pageSize; - - public Optional pageSize() { - return Optional.ofNullable(this.pageSize); - } - private GetInstancesPlainArgs() {} private GetInstancesPlainArgs(GetInstancesPlainArgs $) { this.ids = $.ids; + this.instanceName = $.instanceName; this.outputFile = $.outputFile; - this.pageNumber = $.pageNumber; - this.pageSize = $.pageSize; } public static Builder builder() { @@ -109,23 +108,24 @@ public Builder ids(String... ids) { } /** - * @param outputFile File name where to save data source results (after running `pulumi preview`). + * @param instanceName The name of the resource. * * @return builder * */ - public Builder outputFile(@Nullable String outputFile) { - $.outputFile = outputFile; + public Builder instanceName(@Nullable String instanceName) { + $.instanceName = instanceName; return this; } - public Builder pageNumber(@Nullable Integer pageNumber) { - $.pageNumber = pageNumber; - return this; - } - - public Builder pageSize(@Nullable Integer pageSize) { - $.pageSize = pageSize; + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(@Nullable String outputFile) { + $.outputFile = outputFile; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/ValueAddedServiceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/ValueAddedServiceState.java new file mode 100644 index 0000000000..9fd0a27a83 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/inputs/ValueAddedServiceState.java @@ -0,0 +1,355 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.kms.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ValueAddedServiceState extends com.pulumi.resources.ResourceArgs { + + public static final ValueAddedServiceState Empty = new ValueAddedServiceState(); + + /** + * The creation time of the resource + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * The payment type of the resource + * + */ + @Import(name="paymentType") + private @Nullable Output paymentType; + + /** + * @return The payment type of the resource + * + */ + public Optional> paymentType() { + return Optional.ofNullable(this.paymentType); + } + + @Import(name="period") + private @Nullable Output period; + + public Optional> period() { + return Optional.ofNullable(this.period); + } + + /** + * The region ID of the resource + * + */ + @Import(name="regionId") + private @Nullable Output regionId; + + /** + * @return The region ID of the resource + * + */ + public Optional> regionId() { + return Optional.ofNullable(this.regionId); + } + + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + @Import(name="renewPeriod") + private @Nullable Output renewPeriod; + + /** + * @return Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + */ + public Optional> renewPeriod() { + return Optional.ofNullable(this.renewPeriod); + } + + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + @Import(name="renewStatus") + private @Nullable Output renewStatus; + + /** + * @return The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + */ + public Optional> renewStatus() { + return Optional.ofNullable(this.renewStatus); + } + + /** + * The status of the resource + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the resource + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="valueAddedService") + private @Nullable Output valueAddedService; + + /** + * @return value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> valueAddedService() { + return Optional.ofNullable(this.valueAddedService); + } + + private ValueAddedServiceState() {} + + private ValueAddedServiceState(ValueAddedServiceState $) { + this.createTime = $.createTime; + this.paymentType = $.paymentType; + this.period = $.period; + this.regionId = $.regionId; + this.renewPeriod = $.renewPeriod; + this.renewStatus = $.renewStatus; + this.status = $.status; + this.valueAddedService = $.valueAddedService; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ValueAddedServiceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ValueAddedServiceState $; + + public Builder() { + $ = new ValueAddedServiceState(); + } + + public Builder(ValueAddedServiceState defaults) { + $ = new ValueAddedServiceState(Objects.requireNonNull(defaults)); + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param paymentType The payment type of the resource + * + * @return builder + * + */ + public Builder paymentType(@Nullable Output paymentType) { + $.paymentType = paymentType; + return this; + } + + /** + * @param paymentType The payment type of the resource + * + * @return builder + * + */ + public Builder paymentType(String paymentType) { + return paymentType(Output.of(paymentType)); + } + + public Builder period(@Nullable Output period) { + $.period = period; + return this; + } + + public Builder period(Integer period) { + return period(Output.of(period)); + } + + /** + * @param regionId The region ID of the resource + * + * @return builder + * + */ + public Builder regionId(@Nullable Output regionId) { + $.regionId = regionId; + return this; + } + + /** + * @param regionId The region ID of the resource + * + * @return builder + * + */ + public Builder regionId(String regionId) { + return regionId(Output.of(regionId)); + } + + /** + * @param renewPeriod Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + * @return builder + * + */ + public Builder renewPeriod(@Nullable Output renewPeriod) { + $.renewPeriod = renewPeriod; + return this; + } + + /** + * @param renewPeriod Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + * + * @return builder + * + */ + public Builder renewPeriod(Integer renewPeriod) { + return renewPeriod(Output.of(renewPeriod)); + } + + /** + * @param renewStatus The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + * @return builder + * + */ + public Builder renewStatus(@Nullable Output renewStatus) { + $.renewStatus = renewStatus; + return this; + } + + /** + * @param renewStatus The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + * + * @return builder + * + */ + public Builder renewStatus(String renewStatus) { + return renewStatus(Output.of(renewStatus)); + } + + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param valueAddedService value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder valueAddedService(@Nullable Output valueAddedService) { + $.valueAddedService = valueAddedService; + return this; + } + + /** + * @param valueAddedService value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder valueAddedService(String valueAddedService) { + return valueAddedService(Output.of(valueAddedService)); + } + + public ValueAddedServiceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kms/outputs/GetInstancesResult.java b/sdk/java/src/main/java/com/pulumi/alicloud/kms/outputs/GetInstancesResult.java index 753eac1fcd..1792666dc2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kms/outputs/GetInstancesResult.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kms/outputs/GetInstancesResult.java @@ -6,7 +6,6 @@ import com.pulumi.alicloud.kms.outputs.GetInstancesInstance; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; -import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -25,14 +24,13 @@ public final class GetInstancesResult { * */ private List ids; + private @Nullable String instanceName; /** * @return A list of Instance Entries. Each element contains the following attributes: * */ private List instances; private @Nullable String outputFile; - private @Nullable Integer pageNumber; - private @Nullable Integer pageSize; private GetInstancesResult() {} /** @@ -49,6 +47,9 @@ public String id() { public List ids() { return this.ids; } + public Optional instanceName() { + return Optional.ofNullable(this.instanceName); + } /** * @return A list of Instance Entries. Each element contains the following attributes: * @@ -59,12 +60,6 @@ public List instances() { public Optional outputFile() { return Optional.ofNullable(this.outputFile); } - public Optional pageNumber() { - return Optional.ofNullable(this.pageNumber); - } - public Optional pageSize() { - return Optional.ofNullable(this.pageSize); - } public static Builder builder() { return new Builder(); @@ -77,19 +72,17 @@ public static Builder builder(GetInstancesResult defaults) { public static final class Builder { private String id; private List ids; + private @Nullable String instanceName; private List instances; private @Nullable String outputFile; - private @Nullable Integer pageNumber; - private @Nullable Integer pageSize; public Builder() {} public Builder(GetInstancesResult defaults) { Objects.requireNonNull(defaults); this.id = defaults.id; this.ids = defaults.ids; + this.instanceName = defaults.instanceName; this.instances = defaults.instances; this.outputFile = defaults.outputFile; - this.pageNumber = defaults.pageNumber; - this.pageSize = defaults.pageSize; } @CustomType.Setter @@ -112,6 +105,12 @@ public Builder ids(String... ids) { return ids(List.of(ids)); } @CustomType.Setter + public Builder instanceName(@Nullable String instanceName) { + + this.instanceName = instanceName; + return this; + } + @CustomType.Setter public Builder instances(List instances) { if (instances == null) { throw new MissingRequiredPropertyException("GetInstancesResult", "instances"); @@ -128,26 +127,13 @@ public Builder outputFile(@Nullable String outputFile) { this.outputFile = outputFile; return this; } - @CustomType.Setter - public Builder pageNumber(@Nullable Integer pageNumber) { - - this.pageNumber = pageNumber; - return this; - } - @CustomType.Setter - public Builder pageSize(@Nullable Integer pageSize) { - - this.pageSize = pageSize; - return this; - } public GetInstancesResult build() { final var _resultValue = new GetInstancesResult(); _resultValue.id = id; _resultValue.ids = ids; + _resultValue.instanceName = instanceName; _resultValue.instances = instances; _resultValue.outputFile = outputFile; - _resultValue.pageNumber = pageNumber; - _resultValue.pageSize = pageSize; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Account.java index 40f873628a..61169e845d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Account.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/AuditLogConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/AuditLogConfig.java index 861c956ee9..6e8b86f204 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/AuditLogConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/AuditLogConfig.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/BackupPolicy.java index 37bd7a00c4..3b80f4f572 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/BackupPolicy.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Connection.java index 3cea935eb4..51dc92af16 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/kvstore/Connection.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/Instance.java index 44b59ce756..b3ad5d3229 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/Instance.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Lindorm Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2.java index 12fe35286f..f88d0218c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2.java @@ -7,6 +7,7 @@ import com.pulumi.alicloud.lindorm.InstanceV2Args; import com.pulumi.alicloud.lindorm.inputs.InstanceV2State; import com.pulumi.alicloud.lindorm.outputs.InstanceV2EngineList; +import com.pulumi.alicloud.lindorm.outputs.InstanceV2WhiteIpList; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -113,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Lindorm Instance V2 can be imported using the id, e.g. @@ -155,13 +158,10 @@ public Output> arbiterZoneId() { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -172,13 +172,10 @@ public Output> arbiterZoneId() { /** * @return Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -189,9 +186,9 @@ public Output archVersion() { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -202,9 +199,9 @@ public Output archVersion() { /** * @return Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -227,6 +224,8 @@ public Output> autoRenewal() { return Codegen.optional(this.autoRenewal); } /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB * */ @@ -234,33 +233,33 @@ public Output> autoRenewal() { private Output cloudStorageSize; /** - * @return > **NOTE:** Cloud storage capacity in GB + * @return The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * */ public Output> cloudStorageSize() { return Codegen.optional(this.cloudStorageSize); } /** - * > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ @Export(name="cloudStorageType", refs={String.class}, tree="[0]") private Output cloudStorageType; /** - * @return > **NOTE:** > + * @return Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ public Output> cloudStorageType() { @@ -327,14 +326,22 @@ public Output instanceAlias() { return this.instanceAlias; } /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ @Export(name="paymentType", refs={String.class}, tree="[0]") private Output paymentType; /** - * @return The payment type of the resource + * @return Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ public Output paymentType() { @@ -456,6 +463,20 @@ public Output vpcId() { public Output vswitchId() { return this.vswitchId; } + /** + * Instance whitelist list See `whiteIpList` below. + * + */ + @Export(name="whiteIpLists", refs={List.class,InstanceV2WhiteIpList.class}, tree="[0,1]") + private Output> whiteIpLists; + + /** + * @return Instance whitelist list See `whiteIpList` below. + * + */ + public Output> whiteIpLists() { + return this.whiteIpLists; + } /** * The zone ID of the resource * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2Args.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2Args.java index 68f4d5f8d6..f9bb4a7223 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/InstanceV2Args.java @@ -4,6 +4,7 @@ package com.pulumi.alicloud.lindorm; import com.pulumi.alicloud.lindorm.inputs.InstanceV2EngineListArgs; +import com.pulumi.alicloud.lindorm.inputs.InstanceV2WhiteIpListArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -53,13 +54,10 @@ public Optional> arbiterZoneId() { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -70,13 +68,10 @@ public Optional> arbiterZoneId() { /** * @return Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -88,9 +83,9 @@ public Output archVersion() { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -101,9 +96,9 @@ public Output archVersion() { /** * @return Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -128,6 +123,8 @@ public Optional> autoRenewal() { } /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB * */ @@ -135,7 +132,9 @@ public Optional> autoRenewal() { private @Nullable Output cloudStorageSize; /** - * @return > **NOTE:** Cloud storage capacity in GB + * @return The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * */ public Optional> cloudStorageSize() { @@ -143,26 +142,24 @@ public Optional> cloudStorageSize() { } /** - * > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ @Import(name="cloudStorageType") private @Nullable Output cloudStorageType; /** - * @return > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage + * @return Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ public Optional> cloudStorageType() { @@ -234,14 +231,22 @@ public Output instanceAlias() { } /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ @Import(name="paymentType", required=true) private Output paymentType; /** - * @return The payment type of the resource + * @return Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ public Output paymentType() { @@ -357,6 +362,21 @@ public Output vswitchId() { return this.vswitchId; } + /** + * Instance whitelist list See `whiteIpList` below. + * + */ + @Import(name="whiteIpLists") + private @Nullable Output> whiteIpLists; + + /** + * @return Instance whitelist list See `whiteIpList` below. + * + */ + public Optional>> whiteIpLists() { + return Optional.ofNullable(this.whiteIpLists); + } + /** * The zone ID of the resource * @@ -394,6 +414,7 @@ private InstanceV2Args(InstanceV2Args $) { this.standbyZoneId = $.standbyZoneId; this.vpcId = $.vpcId; this.vswitchId = $.vswitchId; + this.whiteIpLists = $.whiteIpLists; this.zoneId = $.zoneId; } @@ -460,13 +481,10 @@ public Builder arbiterZoneId(String arbiterZoneId) { /** * @param archVersion Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -481,13 +499,10 @@ public Builder archVersion(Output archVersion) { /** * @param archVersion Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -501,9 +516,9 @@ public Builder archVersion(String archVersion) { /** * @param autoRenewDuration Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -518,9 +533,9 @@ public Builder autoRenewDuration(@Nullable Output autoRenewDuration) { /** * @param autoRenewDuration Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -553,7 +568,9 @@ public Builder autoRenewal(Boolean autoRenewal) { } /** - * @param cloudStorageSize > **NOTE:** Cloud storage capacity in GB + * @param cloudStorageSize The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * * @return builder * @@ -564,7 +581,9 @@ public Builder cloudStorageSize(@Nullable Output cloudStorageSize) { } /** - * @param cloudStorageSize > **NOTE:** Cloud storage capacity in GB + * @param cloudStorageSize The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * * @return builder * @@ -574,13 +593,12 @@ public Builder cloudStorageSize(Integer cloudStorageSize) { } /** - * @param cloudStorageType > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage + * @param cloudStorageType Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * * @return builder * @@ -591,13 +609,12 @@ public Builder cloudStorageType(@Nullable Output cloudStorageType) { } /** - * @param cloudStorageType > **NOTE:** > + * @param cloudStorageType Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * * @return builder * @@ -705,7 +722,11 @@ public Builder instanceAlias(String instanceAlias) { } /** - * @param paymentType The payment type of the resource + * @param paymentType Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * * @return builder * @@ -716,7 +737,11 @@ public Builder paymentType(Output paymentType) { } /** - * @param paymentType The payment type of the resource + * @param paymentType Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * * @return builder * @@ -876,6 +901,37 @@ public Builder vswitchId(String vswitchId) { return vswitchId(Output.of(vswitchId)); } + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(@Nullable Output> whiteIpLists) { + $.whiteIpLists = whiteIpLists; + return this; + } + + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(List whiteIpLists) { + return whiteIpLists(Output.of(whiteIpLists)); + } + + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(InstanceV2WhiteIpListArgs... whiteIpLists) { + return whiteIpLists(List.of(whiteIpLists)); + } + /** * @param zoneId The zone ID of the resource * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListArgs.java index eadfc28054..d899f8fc0c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListArgs.java @@ -38,6 +38,19 @@ public Optional>> connec /** * Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * */ @Import(name="engineType", required=true) private Output engineType; @@ -45,6 +58,19 @@ public Optional>> connec /** * @return Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * */ public Output engineType() { return this.engineType; @@ -173,6 +199,19 @@ public Builder connectAddressLists(InstanceV2EngineListConnectAddressListArgs... /** * @param engineType Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * * @return builder * */ @@ -184,6 +223,19 @@ public Builder engineType(Output engineType) { /** * @param engineType Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListNodeGroupArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListNodeGroupArgs.java index 055a478068..c9eaece75a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListNodeGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2EngineListNodeGroupArgs.java @@ -125,6 +125,41 @@ public Optional> nodeDiskType() { /** * Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * */ @Import(name="nodeSpec", required=true) @@ -132,6 +167,41 @@ public Optional> nodeDiskType() { /** * @return Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * */ public Output nodeSpec() { @@ -366,6 +436,41 @@ public Builder nodeDiskType(String nodeDiskType) { /** * @param nodeSpec Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * * @return builder * @@ -377,6 +482,41 @@ public Builder nodeSpec(Output nodeSpec) { /** * @param nodeSpec Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2State.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2State.java index 168ecf9184..eca0c2ceaf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2State.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2State.java @@ -4,6 +4,7 @@ package com.pulumi.alicloud.lindorm.inputs; import com.pulumi.alicloud.lindorm.inputs.InstanceV2EngineListArgs; +import com.pulumi.alicloud.lindorm.inputs.InstanceV2WhiteIpListArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -52,13 +53,10 @@ public Optional> arbiterZoneId() { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -69,13 +67,10 @@ public Optional> arbiterZoneId() { /** * @return Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -87,9 +82,9 @@ public Optional> archVersion() { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -100,9 +95,9 @@ public Optional> archVersion() { /** * @return Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -127,6 +122,8 @@ public Optional> autoRenewal() { } /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB * */ @@ -134,7 +131,9 @@ public Optional> autoRenewal() { private @Nullable Output cloudStorageSize; /** - * @return > **NOTE:** Cloud storage capacity in GB + * @return The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * */ public Optional> cloudStorageSize() { @@ -142,26 +141,24 @@ public Optional> cloudStorageSize() { } /** - * > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ @Import(name="cloudStorageType") private @Nullable Output cloudStorageType; /** - * @return > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage + * @return Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * */ public Optional> cloudStorageType() { @@ -233,14 +230,22 @@ public Optional> instanceAlias() { } /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ @Import(name="paymentType") private @Nullable Output paymentType; /** - * @return The payment type of the resource + * @return Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * */ public Optional> paymentType() { @@ -371,6 +376,21 @@ public Optional> vswitchId() { return Optional.ofNullable(this.vswitchId); } + /** + * Instance whitelist list See `whiteIpList` below. + * + */ + @Import(name="whiteIpLists") + private @Nullable Output> whiteIpLists; + + /** + * @return Instance whitelist list See `whiteIpList` below. + * + */ + public Optional>> whiteIpLists() { + return Optional.ofNullable(this.whiteIpLists); + } + /** * The zone ID of the resource * @@ -409,6 +429,7 @@ private InstanceV2State(InstanceV2State $) { this.standbyZoneId = $.standbyZoneId; this.vpcId = $.vpcId; this.vswitchId = $.vswitchId; + this.whiteIpLists = $.whiteIpLists; this.zoneId = $.zoneId; } @@ -475,13 +496,10 @@ public Builder arbiterZoneId(String arbiterZoneId) { /** * @param archVersion Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -496,13 +514,10 @@ public Builder archVersion(@Nullable Output archVersion) { /** * @param archVersion Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -516,9 +531,9 @@ public Builder archVersion(String archVersion) { /** * @param autoRenewDuration Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -533,9 +548,9 @@ public Builder autoRenewDuration(@Nullable Output autoRenewDuration) { /** * @param autoRenewDuration Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. * @@ -568,7 +583,9 @@ public Builder autoRenewal(Boolean autoRenewal) { } /** - * @param cloudStorageSize > **NOTE:** Cloud storage capacity in GB + * @param cloudStorageSize The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * * @return builder * @@ -579,7 +596,9 @@ public Builder cloudStorageSize(@Nullable Output cloudStorageSize) { } /** - * @param cloudStorageSize > **NOTE:** Cloud storage capacity in GB + * @param cloudStorageSize The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * + * > **NOTE:** Cloud storage capacity in GB * * @return builder * @@ -589,13 +608,12 @@ public Builder cloudStorageSize(Integer cloudStorageSize) { } /** - * @param cloudStorageType > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage + * @param cloudStorageType Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * * @return builder * @@ -606,13 +624,12 @@ public Builder cloudStorageType(@Nullable Output cloudStorageType) { } /** - * @param cloudStorageType > **NOTE:** > + * @param cloudStorageType Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage * * @return builder * @@ -720,7 +737,11 @@ public Builder instanceAlias(String instanceAlias) { } /** - * @param paymentType The payment type of the resource + * @param paymentType Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * * @return builder * @@ -731,7 +752,11 @@ public Builder paymentType(@Nullable Output paymentType) { } /** - * @param paymentType The payment type of the resource + * @param paymentType Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode * * @return builder * @@ -912,6 +937,37 @@ public Builder vswitchId(String vswitchId) { return vswitchId(Output.of(vswitchId)); } + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(@Nullable Output> whiteIpLists) { + $.whiteIpLists = whiteIpLists; + return this; + } + + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(List whiteIpLists) { + return whiteIpLists(Output.of(whiteIpLists)); + } + + /** + * @param whiteIpLists Instance whitelist list See `whiteIpList` below. + * + * @return builder + * + */ + public Builder whiteIpLists(InstanceV2WhiteIpListArgs... whiteIpLists) { + return whiteIpLists(List.of(whiteIpLists)); + } + /** * @param zoneId The zone ID of the resource * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2WhiteIpListArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2WhiteIpListArgs.java new file mode 100644 index 0000000000..754dbe6ddf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/inputs/InstanceV2WhiteIpListArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.lindorm.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class InstanceV2WhiteIpListArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceV2WhiteIpListArgs Empty = new InstanceV2WhiteIpListArgs(); + + /** + * Group Name + * + */ + @Import(name="groupName", required=true) + private Output groupName; + + /** + * @return Group Name + * + */ + public Output groupName() { + return this.groupName; + } + + /** + * Whitelist information + * + */ + @Import(name="ipList", required=true) + private Output ipList; + + /** + * @return Whitelist information + * + */ + public Output ipList() { + return this.ipList; + } + + private InstanceV2WhiteIpListArgs() {} + + private InstanceV2WhiteIpListArgs(InstanceV2WhiteIpListArgs $) { + this.groupName = $.groupName; + this.ipList = $.ipList; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceV2WhiteIpListArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceV2WhiteIpListArgs $; + + public Builder() { + $ = new InstanceV2WhiteIpListArgs(); + } + + public Builder(InstanceV2WhiteIpListArgs defaults) { + $ = new InstanceV2WhiteIpListArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param groupName Group Name + * + * @return builder + * + */ + public Builder groupName(Output groupName) { + $.groupName = groupName; + return this; + } + + /** + * @param groupName Group Name + * + * @return builder + * + */ + public Builder groupName(String groupName) { + return groupName(Output.of(groupName)); + } + + /** + * @param ipList Whitelist information + * + * @return builder + * + */ + public Builder ipList(Output ipList) { + $.ipList = ipList; + return this; + } + + /** + * @param ipList Whitelist information + * + * @return builder + * + */ + public Builder ipList(String ipList) { + return ipList(Output.of(ipList)); + } + + public InstanceV2WhiteIpListArgs build() { + if ($.groupName == null) { + throw new MissingRequiredPropertyException("InstanceV2WhiteIpListArgs", "groupName"); + } + if ($.ipList == null) { + throw new MissingRequiredPropertyException("InstanceV2WhiteIpListArgs", "ipList"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineList.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineList.java index f0f3308d81..b0088f26bc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineList.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineList.java @@ -24,6 +24,19 @@ public final class InstanceV2EngineList { /** * @return Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * */ private String engineType; /** @@ -58,6 +71,19 @@ public List connectAddressLists() { /** * @return Engine * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine + * */ public String engineType() { return this.engineType; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineListNodeGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineListNodeGroup.java index 84344798eb..b60b049b3b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineListNodeGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2EngineListNodeGroup.java @@ -51,6 +51,41 @@ public final class InstanceV2EngineListNodeGroup { private @Nullable String nodeDiskType; /** * @return Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * */ private String nodeSpec; @@ -122,6 +157,41 @@ public Optional nodeDiskType() { } /** * @return Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) * */ public String nodeSpec() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2WhiteIpList.java b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2WhiteIpList.java new file mode 100644 index 0000000000..d5e31a07e4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/lindorm/outputs/InstanceV2WhiteIpList.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.lindorm.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class InstanceV2WhiteIpList { + /** + * @return Group Name + * + */ + private String groupName; + /** + * @return Whitelist information + * + */ + private String ipList; + + private InstanceV2WhiteIpList() {} + /** + * @return Group Name + * + */ + public String groupName() { + return this.groupName; + } + /** + * @return Whitelist information + * + */ + public String ipList() { + return this.ipList; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceV2WhiteIpList defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String groupName; + private String ipList; + public Builder() {} + public Builder(InstanceV2WhiteIpList defaults) { + Objects.requireNonNull(defaults); + this.groupName = defaults.groupName; + this.ipList = defaults.ipList; + } + + @CustomType.Setter + public Builder groupName(String groupName) { + if (groupName == null) { + throw new MissingRequiredPropertyException("InstanceV2WhiteIpList", "groupName"); + } + this.groupName = groupName; + return this; + } + @CustomType.Setter + public Builder ipList(String ipList) { + if (ipList == null) { + throw new MissingRequiredPropertyException("InstanceV2WhiteIpList", "ipList"); + } + this.ipList = ipList; + return this; + } + public InstanceV2WhiteIpList build() { + final var _resultValue = new InstanceV2WhiteIpList(); + _resultValue.groupName = groupName; + _resultValue.ipList = ipList; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/live/Caster.java b/sdk/java/src/main/java/com/pulumi/alicloud/live/Caster.java index 2cdb2b115b..6f7a917f12 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/live/Caster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/live/Caster.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Live Caster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Alert.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Alert.java index 6a306f10fd..19d1e9d7c6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Alert.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Alert.java @@ -391,6 +391,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log alert can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/AlertResource.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/AlertResource.java index 4447ad2b7e..76596f676f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/AlertResource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/AlertResource.java @@ -55,6 +55,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log alert resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Audit.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Audit.java index 1743155082..242168fef0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Audit.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Audit.java @@ -280,6 +280,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log audit can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Dashboard.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Dashboard.java index 2a2951a577..4af2f346e5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Dashboard.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Dashboard.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Dashboard can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Etl.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Etl.java index 0f1c68f810..50ed453bd8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Etl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Etl.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log etl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Ingestion.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Ingestion.java index 2b8d93eb24..6007828ca9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Ingestion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Ingestion.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log ingestion can be imported using the id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailAttachment.java index b4103c844d..609cf245dc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailAttachment.java @@ -119,6 +119,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Logtial to machine group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailConfig.java index 32a1a9c306..4b8a312ca4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/LogTailConfig.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls-logtail module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/MachineGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/MachineGroup.java index f608e41d02..ee1b563a5e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/MachineGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/MachineGroup.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls-logtail module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/OssExport.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/OssExport.java index 8ad924dcc3..9a875a0670 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/OssExport.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/OssExport.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log oss export can be imported using the id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/OssShipper.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/OssShipper.java index 80d1c429ce..f5cbad1369 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/OssShipper.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/OssShipper.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log oss shipper can be imported using the id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Project.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Project.java index 3dc7e7c223..4f073bf2b2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Project.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Project.java @@ -131,6 +131,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Resource.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Resource.java index c765690c4e..a35e27a2d7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Resource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Resource.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/ResourceRecord.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/ResourceRecord.java index 2912b42379..6ac2e02835 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/ResourceRecord.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/ResourceRecord.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log resource record can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/Store.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/Store.java index e324cb7fde..7c93fd3d14 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/Store.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/Store.java @@ -184,6 +184,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/log/StoreIndex.java b/sdk/java/src/main/java/com/pulumi/alicloud/log/StoreIndex.java index 38c6e39d61..39aa9e182c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/log/StoreIndex.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/log/StoreIndex.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/marketplace/Order.java b/sdk/java/src/main/java/com/pulumi/alicloud/marketplace/Order.java index eaa601924d..9eda4910b0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/marketplace/Order.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/marketplace/Order.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Market order can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Project.java b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Project.java index 681d4cb871..17b79be65e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Project.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Project.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Project can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/QuotaPlan.java b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/QuotaPlan.java index 9f099c3aa3..e266d54ed9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/QuotaPlan.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/QuotaPlan.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Quota Plan can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Role.java b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Role.java index d459350db0..19de649183 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Role.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/Role.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Role can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/RoleUserAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/RoleUserAttachment.java index 19ec3c9878..55c9dd2ddd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/RoleUserAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/maxcompute/RoleUserAttachment.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Role User Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEndpointAcl.java b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEndpointAcl.java index 1dd93917b3..728112bac4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEndpointAcl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEndpointAcl.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Endpoint Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEventRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEventRule.java index f45e0ae0e0..f53ff57e94 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEventRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceEventRule.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Event Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceQueue.java b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceQueue.java index 430b2d14d5..2a8a6810bd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceQueue.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceQueue.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Queue can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceSubscription.java b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceSubscription.java index 50a58579b5..7c7d5099fe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceSubscription.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Subscription can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceTopic.java b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceTopic.java index 59198729e7..a05f24a934 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceTopic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/message/ServiceTopic.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Topic can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mhub/App.java b/sdk/java/src/main/java/com/pulumi/alicloud/mhub/App.java index e4daed6980..c85206e235 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mhub/App.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mhub/App.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MHUB App can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mhub/Product.java b/sdk/java/src/main/java/com/pulumi/alicloud/mhub/Product.java index 64e20c30c7..8badc09af7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mhub/Product.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mhub/Product.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MHUB Product can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mns/Queue.java b/sdk/java/src/main/java/com/pulumi/alicloud/mns/Queue.java index 7ee9018f9c..afee9d7018 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mns/Queue.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mns/Queue.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS QUEUE can be imported using the id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mns/Topic.java b/sdk/java/src/main/java/com/pulumi/alicloud/mns/Topic.java index 18488d5883..aa9e96e6bd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mns/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mns/Topic.java @@ -54,6 +54,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS Topic can be imported using the id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mns/TopicSubscription.java b/sdk/java/src/main/java/com/pulumi/alicloud/mns/TopicSubscription.java index b8b7d10ec1..b70d79a12f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mns/TopicSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mns/TopicSubscription.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS Topic subscription can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/GlobalSecurityIpGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/GlobalSecurityIpGroup.java index 64255fe928..0a3cde82c5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/GlobalSecurityIpGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/GlobalSecurityIpGroup.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Mongodb Global Security IP Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Instance.java index 5b9a86c644..68ea7154ed 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Instance.java @@ -105,6 +105,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing mongodb module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Node.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Node.java new file mode 100644 index 0000000000..ffe397036c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/Node.java @@ -0,0 +1,451 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.mongodb; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.mongodb.NodeArgs; +import com.pulumi.alicloud.mongodb.inputs.NodeState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Mongodb Node resource. + * + * The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. + * + * For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.mongodb.ShardingInstance;
+ * import com.pulumi.alicloud.mongodb.ShardingInstanceArgs;
+ * import com.pulumi.alicloud.mongodb.inputs.ShardingInstanceConfigServerListArgs;
+ * import com.pulumi.alicloud.mongodb.inputs.ShardingInstanceMongoListArgs;
+ * import com.pulumi.alicloud.mongodb.inputs.ShardingInstanceShardListArgs;
+ * import com.pulumi.alicloud.mongodb.Node;
+ * import com.pulumi.alicloud.mongodb.NodeArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         final var zoneId = config.get("zoneId").orElse("cn-shanghai-b");
+ *         final var regionId = config.get("regionId").orElse("cn-shanghai");
+ *         final var ipv4Cidr = config.get("ipv4Cidr").orElse("10.0.0.0/24");
+ *         var default_ = new Network("default", NetworkArgs.builder()
+ *             .description("tf-example")
+ *             .vpcName("tf-vpc-shanghai-b")
+ *             .cidrBlock("10.0.0.0/8")
+ *             .build());
+ * 
+ *         var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
+ *             .vpcId(default_.id())
+ *             .zoneId(zoneId)
+ *             .cidrBlock(ipv4Cidr)
+ *             .vswitchName("tf-shanghai-B")
+ *             .build());
+ * 
+ *         var defaultShardingInstance = new ShardingInstance("defaultShardingInstance", ShardingInstanceArgs.builder()
+ *             .engineVersion("4.2")
+ *             .vswitchId(defaultSwitch.id())
+ *             .zoneId(zoneId)
+ *             .name(name)
+ *             .storageType("cloud_auto")
+ *             .provisionedIops(60)
+ *             .configServerLists(ShardingInstanceConfigServerListArgs.builder()
+ *                 .nodeClass("mdb.shard.2x.xlarge.d")
+ *                 .nodeStorage(40)
+ *                 .build())
+ *             .mongoLists(            
+ *                 ShardingInstanceMongoListArgs.builder()
+ *                     .nodeClass("mdb.shard.2x.xlarge.d")
+ *                     .build(),
+ *                 ShardingInstanceMongoListArgs.builder()
+ *                     .nodeClass("mdb.shard.2x.xlarge.d")
+ *                     .build())
+ *             .shardLists(            
+ *                 ShardingInstanceShardListArgs.builder()
+ *                     .nodeClass("mdb.shard.2x.xlarge.d")
+ *                     .nodeStorage(40)
+ *                     .build(),
+ *                 ShardingInstanceShardListArgs.builder()
+ *                     .nodeClass("mdb.shard.2x.xlarge.d")
+ *                     .nodeStorage(40)
+ *                     .build())
+ *             .build());
+ * 
+ *         var defaultNode = new Node("defaultNode", NodeArgs.builder()
+ *             .accountPassword("q1w2e3r4!")
+ *             .autoPay(true)
+ *             .nodeClass("mdb.shard.4x.large.d")
+ *             .shardDirect(false)
+ *             .businessInfo("1234")
+ *             .nodeStorage(40)
+ *             .readonlyReplicas(0)
+ *             .dbInstanceId(defaultShardingInstance.id())
+ *             .nodeType("shard")
+ *             .accountName("root")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Mongodb Node can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:mongodb/node:Node example <db_instance_id>:<node_id> + * ``` + * + */ +@ResourceType(type="alicloud:mongodb/node:Node") +public class Node extends com.pulumi.resources.CustomResource { + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="accountName", refs={String.class}, tree="[0]") + private Output accountName; + + /** + * @return Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> accountName() { + return Codegen.optional(this.accountName); + } + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="accountPassword", refs={String.class}, tree="[0]") + private Output accountPassword; + + /** + * @return Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> accountPassword() { + return Codegen.optional(this.accountPassword); + } + /** + * Whether to pay automatically. Value description: + * + */ + @Export(name="autoPay", refs={Boolean.class}, tree="[0]") + private Output autoPay; + + /** + * @return Whether to pay automatically. Value description: + * + */ + public Output> autoPay() { + return Codegen.optional(this.autoPay); + } + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="businessInfo", refs={String.class}, tree="[0]") + private Output businessInfo; + + /** + * @return Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> businessInfo() { + return Codegen.optional(this.businessInfo); + } + /** + * The ID of the sharded cluster instance. + * + */ + @Export(name="dbInstanceId", refs={String.class}, tree="[0]") + private Output dbInstanceId; + + /** + * @return The ID of the sharded cluster instance. + * + */ + public Output dbInstanceId() { + return this.dbInstanceId; + } + @Export(name="effectiveTime", refs={String.class}, tree="[0]") + private Output effectiveTime; + + public Output> effectiveTime() { + return Codegen.optional(this.effectiveTime); + } + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + @Export(name="fromApp", refs={String.class}, tree="[0]") + private Output fromApp; + + /** + * @return Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + public Output> fromApp() { + return Codegen.optional(this.fromApp); + } + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + @Export(name="nodeClass", refs={String.class}, tree="[0]") + private Output nodeClass; + + /** + * @return The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + public Output nodeClass() { + return this.nodeClass; + } + /** + * The first ID of the resource + * + */ + @Export(name="nodeId", refs={String.class}, tree="[0]") + private Output nodeId; + + /** + * @return The first ID of the resource + * + */ + public Output nodeId() { + return this.nodeId; + } + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + @Export(name="nodeStorage", refs={Integer.class}, tree="[0]") + private Output nodeStorage; + + /** + * @return The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + public Output> nodeStorage() { + return Codegen.optional(this.nodeStorage); + } + /** + * Node type, value description: + * + */ + @Export(name="nodeType", refs={String.class}, tree="[0]") + private Output nodeType; + + /** + * @return Node type, value description: + * + */ + public Output nodeType() { + return this.nodeType; + } + @Export(name="orderType", refs={String.class}, tree="[0]") + private Output orderType; + + public Output> orderType() { + return Codegen.optional(this.orderType); + } + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + @Export(name="readonlyReplicas", refs={Integer.class}, tree="[0]") + private Output readonlyReplicas; + + /** + * @return The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + public Output readonlyReplicas() { + return this.readonlyReplicas; + } + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + @Export(name="shardDirect", refs={Boolean.class}, tree="[0]") + private Output shardDirect; + + /** + * @return Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + public Output> shardDirect() { + return Codegen.optional(this.shardDirect); + } + /** + * Running status of node in sharded cluster + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return Running status of node in sharded cluster + * + */ + public Output status() { + return this.status; + } + @Export(name="switchTime", refs={String.class}, tree="[0]") + private Output switchTime; + + public Output> switchTime() { + return Codegen.optional(this.switchTime); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Node(java.lang.String name) { + this(name, NodeArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Node(java.lang.String name, NodeArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Node(java.lang.String name, NodeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:mongodb/node:Node", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Node(java.lang.String name, Output id, @Nullable NodeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:mongodb/node:Node", name, state, makeResourceOptions(options, id), false); + } + + private static NodeArgs makeArgs(NodeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NodeArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Node get(java.lang.String name, Output id, @Nullable NodeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Node(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/NodeArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/NodeArgs.java new file mode 100644 index 0000000000..45fa241fd3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/NodeArgs.java @@ -0,0 +1,624 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.mongodb; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodeArgs Empty = new NodeArgs(); + + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="accountName") + private @Nullable Output accountName; + + /** + * @return Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> accountName() { + return Optional.ofNullable(this.accountName); + } + + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="accountPassword") + private @Nullable Output accountPassword; + + /** + * @return Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> accountPassword() { + return Optional.ofNullable(this.accountPassword); + } + + /** + * Whether to pay automatically. Value description: + * + */ + @Import(name="autoPay") + private @Nullable Output autoPay; + + /** + * @return Whether to pay automatically. Value description: + * + */ + public Optional> autoPay() { + return Optional.ofNullable(this.autoPay); + } + + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="businessInfo") + private @Nullable Output businessInfo; + + /** + * @return Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> businessInfo() { + return Optional.ofNullable(this.businessInfo); + } + + /** + * The ID of the sharded cluster instance. + * + */ + @Import(name="dbInstanceId", required=true) + private Output dbInstanceId; + + /** + * @return The ID of the sharded cluster instance. + * + */ + public Output dbInstanceId() { + return this.dbInstanceId; + } + + @Import(name="effectiveTime") + private @Nullable Output effectiveTime; + + public Optional> effectiveTime() { + return Optional.ofNullable(this.effectiveTime); + } + + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + @Import(name="fromApp") + private @Nullable Output fromApp; + + /** + * @return Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + public Optional> fromApp() { + return Optional.ofNullable(this.fromApp); + } + + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + @Import(name="nodeClass", required=true) + private Output nodeClass; + + /** + * @return The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + public Output nodeClass() { + return this.nodeClass; + } + + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + @Import(name="nodeStorage") + private @Nullable Output nodeStorage; + + /** + * @return The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + public Optional> nodeStorage() { + return Optional.ofNullable(this.nodeStorage); + } + + /** + * Node type, value description: + * + */ + @Import(name="nodeType", required=true) + private Output nodeType; + + /** + * @return Node type, value description: + * + */ + public Output nodeType() { + return this.nodeType; + } + + @Import(name="orderType") + private @Nullable Output orderType; + + public Optional> orderType() { + return Optional.ofNullable(this.orderType); + } + + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + @Import(name="readonlyReplicas") + private @Nullable Output readonlyReplicas; + + /** + * @return The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + public Optional> readonlyReplicas() { + return Optional.ofNullable(this.readonlyReplicas); + } + + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + @Import(name="shardDirect") + private @Nullable Output shardDirect; + + /** + * @return Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + public Optional> shardDirect() { + return Optional.ofNullable(this.shardDirect); + } + + @Import(name="switchTime") + private @Nullable Output switchTime; + + public Optional> switchTime() { + return Optional.ofNullable(this.switchTime); + } + + private NodeArgs() {} + + private NodeArgs(NodeArgs $) { + this.accountName = $.accountName; + this.accountPassword = $.accountPassword; + this.autoPay = $.autoPay; + this.businessInfo = $.businessInfo; + this.dbInstanceId = $.dbInstanceId; + this.effectiveTime = $.effectiveTime; + this.fromApp = $.fromApp; + this.nodeClass = $.nodeClass; + this.nodeStorage = $.nodeStorage; + this.nodeType = $.nodeType; + this.orderType = $.orderType; + this.readonlyReplicas = $.readonlyReplicas; + this.shardDirect = $.shardDirect; + this.switchTime = $.switchTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeArgs $; + + public Builder() { + $ = new NodeArgs(); + } + + public Builder(NodeArgs defaults) { + $ = new NodeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountName Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountName(@Nullable Output accountName) { + $.accountName = accountName; + return this; + } + + /** + * @param accountName Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountName(String accountName) { + return accountName(Output.of(accountName)); + } + + /** + * @param accountPassword Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountPassword(@Nullable Output accountPassword) { + $.accountPassword = accountPassword; + return this; + } + + /** + * @param accountPassword Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountPassword(String accountPassword) { + return accountPassword(Output.of(accountPassword)); + } + + /** + * @param autoPay Whether to pay automatically. Value description: + * + * @return builder + * + */ + public Builder autoPay(@Nullable Output autoPay) { + $.autoPay = autoPay; + return this; + } + + /** + * @param autoPay Whether to pay automatically. Value description: + * + * @return builder + * + */ + public Builder autoPay(Boolean autoPay) { + return autoPay(Output.of(autoPay)); + } + + /** + * @param businessInfo Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder businessInfo(@Nullable Output businessInfo) { + $.businessInfo = businessInfo; + return this; + } + + /** + * @param businessInfo Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder businessInfo(String businessInfo) { + return businessInfo(Output.of(businessInfo)); + } + + /** + * @param dbInstanceId The ID of the sharded cluster instance. + * + * @return builder + * + */ + public Builder dbInstanceId(Output dbInstanceId) { + $.dbInstanceId = dbInstanceId; + return this; + } + + /** + * @param dbInstanceId The ID of the sharded cluster instance. + * + * @return builder + * + */ + public Builder dbInstanceId(String dbInstanceId) { + return dbInstanceId(Output.of(dbInstanceId)); + } + + public Builder effectiveTime(@Nullable Output effectiveTime) { + $.effectiveTime = effectiveTime; + return this; + } + + public Builder effectiveTime(String effectiveTime) { + return effectiveTime(Output.of(effectiveTime)); + } + + /** + * @param fromApp Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + * @return builder + * + */ + public Builder fromApp(@Nullable Output fromApp) { + $.fromApp = fromApp; + return this; + } + + /** + * @param fromApp Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + * @return builder + * + */ + public Builder fromApp(String fromApp) { + return fromApp(Output.of(fromApp)); + } + + /** + * @param nodeClass The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + * @return builder + * + */ + public Builder nodeClass(Output nodeClass) { + $.nodeClass = nodeClass; + return this; + } + + /** + * @param nodeClass The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + * @return builder + * + */ + public Builder nodeClass(String nodeClass) { + return nodeClass(Output.of(nodeClass)); + } + + /** + * @param nodeStorage The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + * @return builder + * + */ + public Builder nodeStorage(@Nullable Output nodeStorage) { + $.nodeStorage = nodeStorage; + return this; + } + + /** + * @param nodeStorage The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + * @return builder + * + */ + public Builder nodeStorage(Integer nodeStorage) { + return nodeStorage(Output.of(nodeStorage)); + } + + /** + * @param nodeType Node type, value description: + * + * @return builder + * + */ + public Builder nodeType(Output nodeType) { + $.nodeType = nodeType; + return this; + } + + /** + * @param nodeType Node type, value description: + * + * @return builder + * + */ + public Builder nodeType(String nodeType) { + return nodeType(Output.of(nodeType)); + } + + public Builder orderType(@Nullable Output orderType) { + $.orderType = orderType; + return this; + } + + public Builder orderType(String orderType) { + return orderType(Output.of(orderType)); + } + + /** + * @param readonlyReplicas The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + * @return builder + * + */ + public Builder readonlyReplicas(@Nullable Output readonlyReplicas) { + $.readonlyReplicas = readonlyReplicas; + return this; + } + + /** + * @param readonlyReplicas The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + * @return builder + * + */ + public Builder readonlyReplicas(Integer readonlyReplicas) { + return readonlyReplicas(Output.of(readonlyReplicas)); + } + + /** + * @param shardDirect Whether to apply for the direct connection address of the Shard node. Value description: + * + * @return builder + * + */ + public Builder shardDirect(@Nullable Output shardDirect) { + $.shardDirect = shardDirect; + return this; + } + + /** + * @param shardDirect Whether to apply for the direct connection address of the Shard node. Value description: + * + * @return builder + * + */ + public Builder shardDirect(Boolean shardDirect) { + return shardDirect(Output.of(shardDirect)); + } + + public Builder switchTime(@Nullable Output switchTime) { + $.switchTime = switchTime; + return this; + } + + public Builder switchTime(String switchTime) { + return switchTime(Output.of(switchTime)); + } + + public NodeArgs build() { + if ($.dbInstanceId == null) { + throw new MissingRequiredPropertyException("NodeArgs", "dbInstanceId"); + } + if ($.nodeClass == null) { + throw new MissingRequiredPropertyException("NodeArgs", "nodeClass"); + } + if ($.nodeType == null) { + throw new MissingRequiredPropertyException("NodeArgs", "nodeType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PrivateSrvNetworkAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PrivateSrvNetworkAddress.java index 8fc92a5214..e7bc727f34 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PrivateSrvNetworkAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PrivateSrvNetworkAddress.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Mongodb Private Srv Network Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PublicNetworkAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PublicNetworkAddress.java index 19457a0856..3d20cd59c3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PublicNetworkAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/PublicNetworkAddress.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB public network address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ReplicaSetRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ReplicaSetRole.java index b3b89aa73c..64a95c735b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ReplicaSetRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ReplicaSetRole.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `<db_instance_id>:<network_type>:<role_id>`. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ServerlessInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ServerlessInstance.java index cdc61fdbc9..facf2b1039 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ServerlessInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ServerlessInstance.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Serverless Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingInstance.java index db95278f20..2640c6ebb0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingInstance.java @@ -117,6 +117,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing mongodb-sharding module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPrivateAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPrivateAddress.java index 4e632ca514..c6ced7ffea 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPrivateAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPrivateAddress.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Sharding Network Private Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPublicAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPublicAddress.java index 56246fb1e1..df1f6df492 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPublicAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/ShardingNetworkPublicAddress.java @@ -115,6 +115,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Sharding Network Public Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/inputs/NodeState.java b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/inputs/NodeState.java new file mode 100644 index 0000000000..430ac1a0b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mongodb/inputs/NodeState.java @@ -0,0 +1,688 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.mongodb.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodeState extends com.pulumi.resources.ResourceArgs { + + public static final NodeState Empty = new NodeState(); + + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="accountName") + private @Nullable Output accountName; + + /** + * @return Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> accountName() { + return Optional.ofNullable(this.accountName); + } + + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="accountPassword") + private @Nullable Output accountPassword; + + /** + * @return Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> accountPassword() { + return Optional.ofNullable(this.accountPassword); + } + + /** + * Whether to pay automatically. Value description: + * + */ + @Import(name="autoPay") + private @Nullable Output autoPay; + + /** + * @return Whether to pay automatically. Value description: + * + */ + public Optional> autoPay() { + return Optional.ofNullable(this.autoPay); + } + + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="businessInfo") + private @Nullable Output businessInfo; + + /** + * @return Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> businessInfo() { + return Optional.ofNullable(this.businessInfo); + } + + /** + * The ID of the sharded cluster instance. + * + */ + @Import(name="dbInstanceId") + private @Nullable Output dbInstanceId; + + /** + * @return The ID of the sharded cluster instance. + * + */ + public Optional> dbInstanceId() { + return Optional.ofNullable(this.dbInstanceId); + } + + @Import(name="effectiveTime") + private @Nullable Output effectiveTime; + + public Optional> effectiveTime() { + return Optional.ofNullable(this.effectiveTime); + } + + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + @Import(name="fromApp") + private @Nullable Output fromApp; + + /** + * @return Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + */ + public Optional> fromApp() { + return Optional.ofNullable(this.fromApp); + } + + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + @Import(name="nodeClass") + private @Nullable Output nodeClass; + + /** + * @return The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + */ + public Optional> nodeClass() { + return Optional.ofNullable(this.nodeClass); + } + + /** + * The first ID of the resource + * + */ + @Import(name="nodeId") + private @Nullable Output nodeId; + + /** + * @return The first ID of the resource + * + */ + public Optional> nodeId() { + return Optional.ofNullable(this.nodeId); + } + + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + @Import(name="nodeStorage") + private @Nullable Output nodeStorage; + + /** + * @return The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + */ + public Optional> nodeStorage() { + return Optional.ofNullable(this.nodeStorage); + } + + /** + * Node type, value description: + * + */ + @Import(name="nodeType") + private @Nullable Output nodeType; + + /** + * @return Node type, value description: + * + */ + public Optional> nodeType() { + return Optional.ofNullable(this.nodeType); + } + + @Import(name="orderType") + private @Nullable Output orderType; + + public Optional> orderType() { + return Optional.ofNullable(this.orderType); + } + + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + @Import(name="readonlyReplicas") + private @Nullable Output readonlyReplicas; + + /** + * @return The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + */ + public Optional> readonlyReplicas() { + return Optional.ofNullable(this.readonlyReplicas); + } + + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + @Import(name="shardDirect") + private @Nullable Output shardDirect; + + /** + * @return Whether to apply for the direct connection address of the Shard node. Value description: + * + */ + public Optional> shardDirect() { + return Optional.ofNullable(this.shardDirect); + } + + /** + * Running status of node in sharded cluster + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return Running status of node in sharded cluster + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + @Import(name="switchTime") + private @Nullable Output switchTime; + + public Optional> switchTime() { + return Optional.ofNullable(this.switchTime); + } + + private NodeState() {} + + private NodeState(NodeState $) { + this.accountName = $.accountName; + this.accountPassword = $.accountPassword; + this.autoPay = $.autoPay; + this.businessInfo = $.businessInfo; + this.dbInstanceId = $.dbInstanceId; + this.effectiveTime = $.effectiveTime; + this.fromApp = $.fromApp; + this.nodeClass = $.nodeClass; + this.nodeId = $.nodeId; + this.nodeStorage = $.nodeStorage; + this.nodeType = $.nodeType; + this.orderType = $.orderType; + this.readonlyReplicas = $.readonlyReplicas; + this.shardDirect = $.shardDirect; + this.status = $.status; + this.switchTime = $.switchTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodeState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodeState $; + + public Builder() { + $ = new NodeState(); + } + + public Builder(NodeState defaults) { + $ = new NodeState(Objects.requireNonNull(defaults)); + } + + /** + * @param accountName Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountName(@Nullable Output accountName) { + $.accountName = accountName; + return this; + } + + /** + * @param accountName Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountName(String accountName) { + return accountName(Output.of(accountName)); + } + + /** + * @param accountPassword Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountPassword(@Nullable Output accountPassword) { + $.accountPassword = accountPassword; + return this; + } + + /** + * @param accountPassword Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! {@literal @}#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder accountPassword(String accountPassword) { + return accountPassword(Output.of(accountPassword)); + } + + /** + * @param autoPay Whether to pay automatically. Value description: + * + * @return builder + * + */ + public Builder autoPay(@Nullable Output autoPay) { + $.autoPay = autoPay; + return this; + } + + /** + * @param autoPay Whether to pay automatically. Value description: + * + * @return builder + * + */ + public Builder autoPay(Boolean autoPay) { + return autoPay(Output.of(autoPay)); + } + + /** + * @param businessInfo Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder businessInfo(@Nullable Output businessInfo) { + $.businessInfo = businessInfo; + return this; + } + + /** + * @param businessInfo Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder businessInfo(String businessInfo) { + return businessInfo(Output.of(businessInfo)); + } + + /** + * @param dbInstanceId The ID of the sharded cluster instance. + * + * @return builder + * + */ + public Builder dbInstanceId(@Nullable Output dbInstanceId) { + $.dbInstanceId = dbInstanceId; + return this; + } + + /** + * @param dbInstanceId The ID of the sharded cluster instance. + * + * @return builder + * + */ + public Builder dbInstanceId(String dbInstanceId) { + return dbInstanceId(Output.of(dbInstanceId)); + } + + public Builder effectiveTime(@Nullable Output effectiveTime) { + $.effectiveTime = effectiveTime; + return this; + } + + public Builder effectiveTime(String effectiveTime) { + return effectiveTime(Output.of(effectiveTime)); + } + + /** + * @param fromApp Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + * @return builder + * + */ + public Builder fromApp(@Nullable Output fromApp) { + $.fromApp = fromApp; + return this; + } + + /** + * @param fromApp Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + * + * @return builder + * + */ + public Builder fromApp(String fromApp) { + return fromApp(Output.of(fromApp)); + } + + /** + * @param nodeClass The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + * @return builder + * + */ + public Builder nodeClass(@Nullable Output nodeClass) { + $.nodeClass = nodeClass; + return this; + } + + /** + * @param nodeClass The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + * + * @return builder + * + */ + public Builder nodeClass(String nodeClass) { + return nodeClass(Output.of(nodeClass)); + } + + /** + * @param nodeId The first ID of the resource + * + * @return builder + * + */ + public Builder nodeId(@Nullable Output nodeId) { + $.nodeId = nodeId; + return this; + } + + /** + * @param nodeId The first ID of the resource + * + * @return builder + * + */ + public Builder nodeId(String nodeId) { + return nodeId(Output.of(nodeId)); + } + + /** + * @param nodeStorage The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + * @return builder + * + */ + public Builder nodeStorage(@Nullable Output nodeStorage) { + $.nodeStorage = nodeStorage; + return this; + } + + /** + * @param nodeStorage The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + * + * @return builder + * + */ + public Builder nodeStorage(Integer nodeStorage) { + return nodeStorage(Output.of(nodeStorage)); + } + + /** + * @param nodeType Node type, value description: + * + * @return builder + * + */ + public Builder nodeType(@Nullable Output nodeType) { + $.nodeType = nodeType; + return this; + } + + /** + * @param nodeType Node type, value description: + * + * @return builder + * + */ + public Builder nodeType(String nodeType) { + return nodeType(Output.of(nodeType)); + } + + public Builder orderType(@Nullable Output orderType) { + $.orderType = orderType; + return this; + } + + public Builder orderType(String orderType) { + return orderType(Output.of(orderType)); + } + + /** + * @param readonlyReplicas The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + * @return builder + * + */ + public Builder readonlyReplicas(@Nullable Output readonlyReplicas) { + $.readonlyReplicas = readonlyReplicas; + return this; + } + + /** + * @param readonlyReplicas The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + * + * @return builder + * + */ + public Builder readonlyReplicas(Integer readonlyReplicas) { + return readonlyReplicas(Output.of(readonlyReplicas)); + } + + /** + * @param shardDirect Whether to apply for the direct connection address of the Shard node. Value description: + * + * @return builder + * + */ + public Builder shardDirect(@Nullable Output shardDirect) { + $.shardDirect = shardDirect; + return this; + } + + /** + * @param shardDirect Whether to apply for the direct connection address of the Shard node. Value description: + * + * @return builder + * + */ + public Builder shardDirect(Boolean shardDirect) { + return shardDirect(Output.of(shardDirect)); + } + + /** + * @param status Running status of node in sharded cluster + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status Running status of node in sharded cluster + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public Builder switchTime(@Nullable Output switchTime) { + $.switchTime = switchTime; + return this; + } + + public Builder switchTime(String switchTime) { + return switchTime(Output.of(switchTime)); + } + + public NodeState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mse/EngineNamespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/mse/EngineNamespace.java index 321fb7ae08..11f5732439 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mse/EngineNamespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mse/EngineNamespace.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mse/Gateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/mse/Gateway.java index 7910cd3c65..42d4f5322d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mse/Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mse/Gateway.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mse/NacosConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/mse/NacosConfig.java index bc29e5ad7c..b103419e8c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mse/NacosConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mse/NacosConfig.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/mse/Znode.java b/sdk/java/src/main/java/com/pulumi/alicloud/mse/Znode.java index 2c3f4a34e0..c7808b4e2e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/mse/Znode.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/mse/Znode.java @@ -96,6 +96,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Znode can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessGroup.java index 7a671ec6f8..28ae2a064e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessGroup.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Access Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessPoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessPoint.java index ebe98d2dff..79fb07041e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessPoint.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Access Point can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessRule.java index d6b536f6af..267ced453b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AccessRule.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Access Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AutoSnapshotPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AutoSnapshotPolicy.java index 42a61dba3f..41131bb923 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/AutoSnapshotPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/AutoSnapshotPolicy.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/DataFlow.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/DataFlow.java index f9dccce012..40629b8aa2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/DataFlow.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/DataFlow.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Data Flow can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystem.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystem.java index 3bbee380d8..d78991faf1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystem.java @@ -16,6 +16,7 @@ import com.pulumi.core.internal.Codegen; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -86,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) File System can be imported using the id, e.g. @@ -217,31 +220,15 @@ public Output encryptType() { public Output fileSystemType() { return this.fileSystemType; } - /** - * String of keytab file content encrypted by base64 - * - */ @Export(name="keytab", refs={String.class}, tree="[0]") private Output keytab; - /** - * @return String of keytab file content encrypted by base64 - * - */ public Output> keytab() { return Codegen.optional(this.keytab); } - /** - * String of the keytab file content encrypted by MD5 - * - */ @Export(name="keytabMd5", refs={String.class}, tree="[0]") private Output keytabMd5; - /** - * @return String of the keytab file content encrypted by MD5 - * - */ public Output> keytabMd5() { return Codegen.optional(this.keytabMd5); } @@ -323,6 +310,34 @@ public Output protocolType() { public Output recycleBin() { return this.recycleBin; } + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + @Export(name="redundancyType", refs={String.class}, tree="[0]") + private Output redundancyType; + + /** + * @return Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + public Output redundancyType() { + return this.redundancyType; + } + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + @Export(name="redundancyVswitchIds", refs={List.class,String.class}, tree="[0,1]") + private Output> redundancyVswitchIds; + + /** + * @return Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + public Output>> redundancyVswitchIds() { + return Codegen.optional(this.redundancyVswitchIds); + } /** * RegionId * @@ -370,6 +385,8 @@ public Output smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Export(name="snapshotId", refs={String.class}, tree="[0]") private Output snapshotId; @@ -379,6 +396,8 @@ public Output smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Output> snapshotId() { return Codegen.optional(this.snapshotId); diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystemArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystemArgs.java index fda9ace1af..4dae6b0306 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystemArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FileSystemArgs.java @@ -12,6 +12,7 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -132,32 +133,16 @@ public Optional> fileSystemType() { return Optional.ofNullable(this.fileSystemType); } - /** - * String of keytab file content encrypted by base64 - * - */ @Import(name="keytab") private @Nullable Output keytab; - /** - * @return String of keytab file content encrypted by base64 - * - */ public Optional> keytab() { return Optional.ofNullable(this.keytab); } - /** - * String of the keytab file content encrypted by MD5 - * - */ @Import(name="keytabMd5") private @Nullable Output keytabMd5; - /** - * @return String of the keytab file content encrypted by MD5 - * - */ public Optional> keytabMd5() { return Optional.ofNullable(this.keytabMd5); } @@ -245,6 +230,36 @@ public Optional> recycleBin() { return Optional.ofNullable(this.recycleBin); } + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + @Import(name="redundancyType") + private @Nullable Output redundancyType; + + /** + * @return Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + public Optional> redundancyType() { + return Optional.ofNullable(this.redundancyType); + } + + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + @Import(name="redundancyVswitchIds") + private @Nullable Output> redundancyVswitchIds; + + /** + * @return Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + public Optional>> redundancyVswitchIds() { + return Optional.ofNullable(this.redundancyVswitchIds); + } + /** * The ID of the resource group. * @@ -280,6 +295,8 @@ public Optional> smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="snapshotId") private @Nullable Output snapshotId; @@ -289,6 +306,8 @@ public Optional> smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> snapshotId() { return Optional.ofNullable(this.snapshotId); @@ -413,6 +432,8 @@ private FileSystemArgs(FileSystemArgs $) { this.options = $.options; this.protocolType = $.protocolType; this.recycleBin = $.recycleBin; + this.redundancyType = $.redundancyType; + this.redundancyVswitchIds = $.redundancyVswitchIds; this.resourceGroupId = $.resourceGroupId; this.smbAcl = $.smbAcl; this.snapshotId = $.snapshotId; @@ -575,44 +596,20 @@ public Builder fileSystemType(String fileSystemType) { return fileSystemType(Output.of(fileSystemType)); } - /** - * @param keytab String of keytab file content encrypted by base64 - * - * @return builder - * - */ public Builder keytab(@Nullable Output keytab) { $.keytab = keytab; return this; } - /** - * @param keytab String of keytab file content encrypted by base64 - * - * @return builder - * - */ public Builder keytab(String keytab) { return keytab(Output.of(keytab)); } - /** - * @param keytabMd5 String of the keytab file content encrypted by MD5 - * - * @return builder - * - */ public Builder keytabMd5(@Nullable Output keytabMd5) { $.keytabMd5 = keytabMd5; return this; } - /** - * @param keytabMd5 String of the keytab file content encrypted by MD5 - * - * @return builder - * - */ public Builder keytabMd5(String keytabMd5) { return keytabMd5(Output.of(keytabMd5)); } @@ -730,6 +727,58 @@ public Builder recycleBin(FileSystemRecycleBinArgs recycleBin) { return recycleBin(Output.of(recycleBin)); } + /** + * @param redundancyType Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + * @return builder + * + */ + public Builder redundancyType(@Nullable Output redundancyType) { + $.redundancyType = redundancyType; + return this; + } + + /** + * @param redundancyType Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + * @return builder + * + */ + public Builder redundancyType(String redundancyType) { + return redundancyType(Output.of(redundancyType)); + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(@Nullable Output> redundancyVswitchIds) { + $.redundancyVswitchIds = redundancyVswitchIds; + return this; + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(List redundancyVswitchIds) { + return redundancyVswitchIds(Output.of(redundancyVswitchIds)); + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(String... redundancyVswitchIds) { + return redundancyVswitchIds(List.of(redundancyVswitchIds)); + } + /** * @param resourceGroupId The ID of the resource group. * @@ -777,6 +826,8 @@ public Builder smbAcl(FileSystemSmbAclArgs smbAcl) { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -790,6 +841,8 @@ public Builder snapshotId(@Nullable Output snapshotId) { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/Fileset.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/Fileset.java index b808df5d2f..bd81e56f93 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/Fileset.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/Fileset.java @@ -18,6 +18,8 @@ /** * Provides a File Storage (NAS) Fileset resource. * + * Fileset of CPFS file system. + * * For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). * * > **NOTE:** Available since v1.153.0. @@ -93,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Fileset can be imported using the id, e.g. @@ -105,28 +109,60 @@ @ResourceType(type="alicloud:nas/fileset:Fileset") public class Fileset extends com.pulumi.resources.CustomResource { /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The time when Fileset was created. + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The time when Fileset was created. + * + */ + public Output createTime() { + return this.createTime; + } + /** + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + @Export(name="deletionProtection", refs={Boolean.class}, tree="[0]") + private Output deletionProtection; + + /** + * @return The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + public Output deletionProtection() { + return this.deletionProtection; + } + /** + * Description of Fileset. * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** - * @return The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @return Description of Fileset. * */ public Output> description() { return Codegen.optional(this.description); } /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ @Export(name="dryRun", refs={Boolean.class}, tree="[0]") private Output dryRun; /** - * @return The dry run. + * @return Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ public Output> dryRun() { @@ -147,42 +183,42 @@ public Output fileSystemId() { return this.fileSystemId; } /** - * The path of the fileset. + * The path of Fileset. * */ @Export(name="fileSystemPath", refs={String.class}, tree="[0]") private Output fileSystemPath; /** - * @return The path of the fileset. + * @return The path of Fileset. * */ public Output fileSystemPath() { return this.fileSystemPath; } /** - * The first ID of the resource. + * Fileset ID * */ @Export(name="filesetId", refs={String.class}, tree="[0]") private Output filesetId; /** - * @return The first ID of the resource. + * @return Fileset ID * */ public Output filesetId() { return this.filesetId; } /** - * The status of the fileset. + * The status of Fileset. Includes: * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return The status of the fileset. + * @return The status of Fileset. Includes: * */ public Output status() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FilesetArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FilesetArgs.java index 37971eef68..9b90ad9fdb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/FilesetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/FilesetArgs.java @@ -18,14 +18,33 @@ public final class FilesetArgs extends com.pulumi.resources.ResourceArgs { public static final FilesetArgs Empty = new FilesetArgs(); /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + @Import(name="deletionProtection") + private @Nullable Output deletionProtection; + + /** + * @return The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + public Optional> deletionProtection() { + return Optional.ofNullable(this.deletionProtection); + } + + /** + * Description of Fileset. * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @return Description of Fileset. * */ public Optional> description() { @@ -33,14 +52,14 @@ public Optional> description() { } /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ @Import(name="dryRun") private @Nullable Output dryRun; /** - * @return The dry run. + * @return Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ public Optional> dryRun() { @@ -63,14 +82,14 @@ public Output fileSystemId() { } /** - * The path of the fileset. + * The path of Fileset. * */ @Import(name="fileSystemPath", required=true) private Output fileSystemPath; /** - * @return The path of the fileset. + * @return The path of Fileset. * */ public Output fileSystemPath() { @@ -80,6 +99,7 @@ public Output fileSystemPath() { private FilesetArgs() {} private FilesetArgs(FilesetArgs $) { + this.deletionProtection = $.deletionProtection; this.description = $.description; this.dryRun = $.dryRun; this.fileSystemId = $.fileSystemId; @@ -105,7 +125,32 @@ public Builder(FilesetArgs defaults) { } /** - * @param description The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @param deletionProtection The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + * @return builder + * + */ + public Builder deletionProtection(@Nullable Output deletionProtection) { + $.deletionProtection = deletionProtection; + return this; + } + + /** + * @param deletionProtection The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + * @return builder + * + */ + public Builder deletionProtection(Boolean deletionProtection) { + return deletionProtection(Output.of(deletionProtection)); + } + + /** + * @param description Description of Fileset. * * @return builder * @@ -116,7 +161,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @param description Description of Fileset. * * @return builder * @@ -126,7 +171,7 @@ public Builder description(String description) { } /** - * @param dryRun The dry run. + * @param dryRun Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * * @return builder * @@ -137,7 +182,7 @@ public Builder dryRun(@Nullable Output dryRun) { } /** - * @param dryRun The dry run. + * @param dryRun Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * * @return builder * @@ -168,7 +213,7 @@ public Builder fileSystemId(String fileSystemId) { } /** - * @param fileSystemPath The path of the fileset. + * @param fileSystemPath The path of Fileset. * * @return builder * @@ -179,7 +224,7 @@ public Builder fileSystemPath(Output fileSystemPath) { } /** - * @param fileSystemPath The path of the fileset. + * @param fileSystemPath The path of Fileset. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/LifecyclePolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/LifecyclePolicy.java index 4ac2bc66c9..156db0a2cf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/LifecyclePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/LifecyclePolicy.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/MountTarget.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/MountTarget.java index c56618b38f..94fa31420b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/MountTarget.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/MountTarget.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Mount Target can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTarget.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTarget.java new file mode 100644 index 0000000000..ec6b85f70d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTarget.java @@ -0,0 +1,408 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.nas.ProtocolMountTargetArgs; +import com.pulumi.alicloud.nas.inputs.ProtocolMountTargetState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a File Storage (NAS) Protocol Mount Target resource. + * + * For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.nas.FileSystem;
+ * import com.pulumi.alicloud.nas.FileSystemArgs;
+ * import com.pulumi.alicloud.nas.ProtocolService;
+ * import com.pulumi.alicloud.nas.ProtocolServiceArgs;
+ * import com.pulumi.alicloud.nas.Fileset;
+ * import com.pulumi.alicloud.nas.FilesetArgs;
+ * import com.pulumi.alicloud.nas.ProtocolMountTarget;
+ * import com.pulumi.alicloud.nas.ProtocolMountTargetArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var example = new Network("example", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("192.168.0.0/16")
+ *             .vpcName("nas-examplee1223-vpc")
+ *             .enableIpv6(true)
+ *             .build());
+ * 
+ *         var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(example.id())
+ *             .zoneId("cn-beijing-i")
+ *             .cidrBlock("192.168.3.0/24")
+ *             .vswitchName("nas-examplee1223-vsw2sdw-C")
+ *             .build());
+ * 
+ *         var exampleFileSystem = new FileSystem("exampleFileSystem", FileSystemArgs.builder()
+ *             .description(name)
+ *             .storageType("advance_100")
+ *             .zoneId("cn-beijing-i")
+ *             .vpcId(example.id())
+ *             .capacity(3600)
+ *             .protocolType("cpfs")
+ *             .vswitchId(exampleSwitch.id())
+ *             .fileSystemType("cpfs")
+ *             .build());
+ * 
+ *         var exampleProtocolService = new ProtocolService("exampleProtocolService", ProtocolServiceArgs.builder()
+ *             .vpcId(example.id())
+ *             .protocolType("NFS")
+ *             .protocolSpec("General")
+ *             .vswitchId(exampleSwitch.id())
+ *             .dryRun(false)
+ *             .fileSystemId(exampleFileSystem.id())
+ *             .build());
+ * 
+ *         var exampleFileset = new Fileset("exampleFileset", FilesetArgs.builder()
+ *             .fileSystemPath("/examplefileset/")
+ *             .description("cpfs-LRS-filesetexample-wyf")
+ *             .fileSystemId(exampleFileSystem.id())
+ *             .build());
+ * 
+ *         var default_ = new ProtocolMountTarget("default", ProtocolMountTargetArgs.builder()
+ *             .fsetId(exampleFileset.filesetId())
+ *             .description(name)
+ *             .vpcId(example.id())
+ *             .vswitchId(exampleSwitch.id())
+ *             .accessGroupName("DEFAULT_VPC_GROUP_NAME")
+ *             .dryRun(false)
+ *             .fileSystemId(exampleFileSystem.id())
+ *             .protocolServiceId(exampleProtocolService.protocolServiceId())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example <file_system_id>:<protocol_service_id>:<export_id> + * ``` + * + */ +@ResourceType(type="alicloud:nas/protocolMountTarget:ProtocolMountTarget") +public class ProtocolMountTarget extends com.pulumi.resources.CustomResource { + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + @Export(name="accessGroupName", refs={String.class}, tree="[0]") + private Output accessGroupName; + + /** + * @return The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + public Output accessGroupName() { + return this.accessGroupName; + } + /** + * The creation time of the resource + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Output createTime() { + return this.createTime; + } + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + @Export(name="dryRun", refs={Boolean.class}, tree="[0]") + private Output dryRun; + + public Output> dryRun() { + return Codegen.optional(this.dryRun); + } + /** + * Protocol Service Mount Target ID + * + */ + @Export(name="exportId", refs={String.class}, tree="[0]") + private Output exportId; + + /** + * @return Protocol Service Mount Target ID + * + */ + public Output exportId() { + return this.exportId; + } + /** + * The ID of the file system. + * + */ + @Export(name="fileSystemId", refs={String.class}, tree="[0]") + private Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Output fileSystemId() { + return this.fileSystemId; + } + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + @Export(name="fsetId", refs={String.class}, tree="[0]") + private Output fsetId; + + /** + * @return The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + public Output> fsetId() { + return Codegen.optional(this.fsetId); + } + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + @Export(name="path", refs={String.class}, tree="[0]") + private Output path; + + /** + * @return The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + public Output path() { + return this.path; + } + /** + * Protocol Service ID + * + */ + @Export(name="protocolServiceId", refs={String.class}, tree="[0]") + private Output protocolServiceId; + + /** + * @return Protocol Service ID + * + */ + public Output protocolServiceId() { + return this.protocolServiceId; + } + /** + * Status + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return Status + * + */ + public Output status() { + return this.status; + } + /** + * The VPC ID of the protocol service mount point. + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return The VPC ID of the protocol service mount point. + * + */ + public Output> vpcId() { + return Codegen.optional(this.vpcId); + } + /** + * The vSwitch ID of the protocol service mount target. + * + */ + @Export(name="vswitchId", refs={String.class}, tree="[0]") + private Output vswitchId; + + /** + * @return The vSwitch ID of the protocol service mount target. + * + */ + public Output> vswitchId() { + return Codegen.optional(this.vswitchId); + } + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + @Export(name="vswitchIds", refs={List.class,String.class}, tree="[0,1]") + private Output> vswitchIds; + + /** + * @return The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + public Output>> vswitchIds() { + return Codegen.optional(this.vswitchIds); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ProtocolMountTarget(java.lang.String name) { + this(name, ProtocolMountTargetArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ProtocolMountTarget(java.lang.String name, ProtocolMountTargetArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ProtocolMountTarget(java.lang.String name, ProtocolMountTargetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ProtocolMountTarget(java.lang.String name, Output id, @Nullable ProtocolMountTargetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:nas/protocolMountTarget:ProtocolMountTarget", name, state, makeResourceOptions(options, id), false); + } + + private static ProtocolMountTargetArgs makeArgs(ProtocolMountTargetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProtocolMountTargetArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ProtocolMountTarget get(java.lang.String name, Output id, @Nullable ProtocolMountTargetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ProtocolMountTarget(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTargetArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTargetArgs.java new file mode 100644 index 0000000000..e79227de67 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolMountTargetArgs.java @@ -0,0 +1,504 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProtocolMountTargetArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProtocolMountTargetArgs Empty = new ProtocolMountTargetArgs(); + + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + @Import(name="accessGroupName") + private @Nullable Output accessGroupName; + + /** + * @return The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + public Optional> accessGroupName() { + return Optional.ofNullable(this.accessGroupName); + } + + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="dryRun") + private @Nullable Output dryRun; + + public Optional> dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * The ID of the file system. + * + */ + @Import(name="fileSystemId", required=true) + private Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Output fileSystemId() { + return this.fileSystemId; + } + + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + @Import(name="fsetId") + private @Nullable Output fsetId; + + /** + * @return The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + public Optional> fsetId() { + return Optional.ofNullable(this.fsetId); + } + + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * Protocol Service ID + * + */ + @Import(name="protocolServiceId", required=true) + private Output protocolServiceId; + + /** + * @return Protocol Service ID + * + */ + public Output protocolServiceId() { + return this.protocolServiceId; + } + + /** + * The VPC ID of the protocol service mount point. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The VPC ID of the protocol service mount point. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The vSwitch ID of the protocol service mount target. + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The vSwitch ID of the protocol service mount target. + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + @Import(name="vswitchIds") + private @Nullable Output> vswitchIds; + + /** + * @return The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + public Optional>> vswitchIds() { + return Optional.ofNullable(this.vswitchIds); + } + + private ProtocolMountTargetArgs() {} + + private ProtocolMountTargetArgs(ProtocolMountTargetArgs $) { + this.accessGroupName = $.accessGroupName; + this.description = $.description; + this.dryRun = $.dryRun; + this.fileSystemId = $.fileSystemId; + this.fsetId = $.fsetId; + this.path = $.path; + this.protocolServiceId = $.protocolServiceId; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + this.vswitchIds = $.vswitchIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProtocolMountTargetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProtocolMountTargetArgs $; + + public Builder() { + $ = new ProtocolMountTargetArgs(); + } + + public Builder(ProtocolMountTargetArgs defaults) { + $ = new ProtocolMountTargetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accessGroupName The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + * @return builder + * + */ + public Builder accessGroupName(@Nullable Output accessGroupName) { + $.accessGroupName = accessGroupName; + return this; + } + + /** + * @param accessGroupName The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + * @return builder + * + */ + public Builder accessGroupName(String accessGroupName) { + return accessGroupName(Output.of(accessGroupName)); + } + + /** + * @param description Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder dryRun(@Nullable Output dryRun) { + $.dryRun = dryRun; + return this; + } + + public Builder dryRun(Boolean dryRun) { + return dryRun(Output.of(dryRun)); + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param fsetId The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + * @return builder + * + */ + public Builder fsetId(@Nullable Output fsetId) { + $.fsetId = fsetId; + return this; + } + + /** + * @param fsetId The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + * @return builder + * + */ + public Builder fsetId(String fsetId) { + return fsetId(Output.of(fsetId)); + } + + /** + * @param path The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(Output protocolServiceId) { + $.protocolServiceId = protocolServiceId; + return this; + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(String protocolServiceId) { + return protocolServiceId(Output.of(protocolServiceId)); + } + + /** + * @param vpcId The VPC ID of the protocol service mount point. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VPC ID of the protocol service mount point. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The vSwitch ID of the protocol service mount target. + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The vSwitch ID of the protocol service mount target. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(@Nullable Output> vswitchIds) { + $.vswitchIds = vswitchIds; + return this; + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(List vswitchIds) { + return vswitchIds(Output.of(vswitchIds)); + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(String... vswitchIds) { + return vswitchIds(List.of(vswitchIds)); + } + + public ProtocolMountTargetArgs build() { + if ($.fileSystemId == null) { + throw new MissingRequiredPropertyException("ProtocolMountTargetArgs", "fileSystemId"); + } + if ($.protocolServiceId == null) { + throw new MissingRequiredPropertyException("ProtocolMountTargetArgs", "protocolServiceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolService.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolService.java new file mode 100644 index 0000000000..5ac16dc0ae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolService.java @@ -0,0 +1,336 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.nas.ProtocolServiceArgs; +import com.pulumi.alicloud.nas.inputs.ProtocolServiceState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a File Storage (NAS) Protocol Service resource. + * + * For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.nas.FileSystem;
+ * import com.pulumi.alicloud.nas.FileSystemArgs;
+ * import com.pulumi.alicloud.nas.ProtocolService;
+ * import com.pulumi.alicloud.nas.ProtocolServiceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var example = new Network("example", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("192.168.0.0/16")
+ *             .vpcName("nas-examplee1031-vpc")
+ *             .enableIpv6(true)
+ *             .build());
+ * 
+ *         var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(example.id())
+ *             .zoneId("cn-beijing-i")
+ *             .cidrBlock("192.168.2.0/24")
+ *             .vswitchName("nas-examplee1031-vsw1sdw-F")
+ *             .build());
+ * 
+ *         var exampleFileSystem = new FileSystem("exampleFileSystem", FileSystemArgs.builder()
+ *             .description(name)
+ *             .storageType("advance_100")
+ *             .zoneId("cn-beijing-i")
+ *             .encryptType(0)
+ *             .vpcId(example.id())
+ *             .capacity(3600)
+ *             .protocolType("cpfs")
+ *             .vswitchId(exampleSwitch.id())
+ *             .fileSystemType("cpfs")
+ *             .build());
+ * 
+ *         var default_ = new ProtocolService("default", ProtocolServiceArgs.builder()
+ *             .vpcId(example.id())
+ *             .protocolType("NFS")
+ *             .protocolSpec("General")
+ *             .vswitchId(exampleSwitch.id())
+ *             .dryRun(false)
+ *             .fileSystemId(exampleFileSystem.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * File Storage (NAS) Protocol Service can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:nas/protocolService:ProtocolService example <file_system_id>:<protocol_service_id> + * ``` + * + */ +@ResourceType(type="alicloud:nas/protocolService:ProtocolService") +public class ProtocolService extends com.pulumi.resources.CustomResource { + /** + * The time when the protocol server service was created. The UTC time. + * + */ + @Export(name="createTime", refs={String.class}, tree="[0]") + private Output createTime; + + /** + * @return The time when the protocol server service was created. The UTC time. + * + */ + public Output createTime() { + return this.createTime; + } + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + @Export(name="dryRun", refs={Boolean.class}, tree="[0]") + private Output dryRun; + + public Output> dryRun() { + return Codegen.optional(this.dryRun); + } + /** + * The ID of the file system. + * + */ + @Export(name="fileSystemId", refs={String.class}, tree="[0]") + private Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Output fileSystemId() { + return this.fileSystemId; + } + /** + * Protocol Service ID + * + */ + @Export(name="protocolServiceId", refs={String.class}, tree="[0]") + private Output protocolServiceId; + + /** + * @return Protocol Service ID + * + */ + public Output protocolServiceId() { + return this.protocolServiceId; + } + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + @Export(name="protocolSpec", refs={String.class}, tree="[0]") + private Output protocolSpec; + + /** + * @return The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + public Output protocolSpec() { + return this.protocolSpec; + } + /** + * The throughput of the protocol service. Unit: MB/s. + * + */ + @Export(name="protocolThroughput", refs={Integer.class}, tree="[0]") + private Output protocolThroughput; + + /** + * @return The throughput of the protocol service. Unit: MB/s. + * + */ + public Output protocolThroughput() { + return this.protocolThroughput; + } + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + @Export(name="protocolType", refs={String.class}, tree="[0]") + private Output protocolType; + + /** + * @return The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + public Output protocolType() { + return this.protocolType; + } + /** + * Agreement service status. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return Agreement service status. + * + */ + public Output status() { + return this.status; + } + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + @Export(name="vpcId", refs={String.class}, tree="[0]") + private Output vpcId; + + /** + * @return The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + public Output> vpcId() { + return Codegen.optional(this.vpcId); + } + /** + * The VSwitchId of the protocol service. + * + */ + @Export(name="vswitchId", refs={String.class}, tree="[0]") + private Output vswitchId; + + /** + * @return The VSwitchId of the protocol service. + * + */ + public Output> vswitchId() { + return Codegen.optional(this.vswitchId); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ProtocolService(java.lang.String name) { + this(name, ProtocolServiceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ProtocolService(java.lang.String name, ProtocolServiceArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ProtocolService(java.lang.String name, ProtocolServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:nas/protocolService:ProtocolService", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ProtocolService(java.lang.String name, Output id, @Nullable ProtocolServiceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:nas/protocolService:ProtocolService", name, state, makeResourceOptions(options, id), false); + } + + private static ProtocolServiceArgs makeArgs(ProtocolServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProtocolServiceArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ProtocolService get(java.lang.String name, Output id, @Nullable ProtocolServiceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ProtocolService(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolServiceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolServiceArgs.java new file mode 100644 index 0000000000..3dcab1a4d3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/ProtocolServiceArgs.java @@ -0,0 +1,374 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProtocolServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final ProtocolServiceArgs Empty = new ProtocolServiceArgs(); + + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="dryRun") + private @Nullable Output dryRun; + + public Optional> dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * The ID of the file system. + * + */ + @Import(name="fileSystemId", required=true) + private Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Output fileSystemId() { + return this.fileSystemId; + } + + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + @Import(name="protocolSpec", required=true) + private Output protocolSpec; + + /** + * @return The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + public Output protocolSpec() { + return this.protocolSpec; + } + + /** + * The throughput of the protocol service. Unit: MB/s. + * + */ + @Import(name="protocolThroughput") + private @Nullable Output protocolThroughput; + + /** + * @return The throughput of the protocol service. Unit: MB/s. + * + */ + public Optional> protocolThroughput() { + return Optional.ofNullable(this.protocolThroughput); + } + + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + @Import(name="protocolType", required=true) + private Output protocolType; + + /** + * @return The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + public Output protocolType() { + return this.protocolType; + } + + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The VSwitchId of the protocol service. + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The VSwitchId of the protocol service. + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + private ProtocolServiceArgs() {} + + private ProtocolServiceArgs(ProtocolServiceArgs $) { + this.description = $.description; + this.dryRun = $.dryRun; + this.fileSystemId = $.fileSystemId; + this.protocolSpec = $.protocolSpec; + this.protocolThroughput = $.protocolThroughput; + this.protocolType = $.protocolType; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProtocolServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProtocolServiceArgs $; + + public Builder() { + $ = new ProtocolServiceArgs(); + } + + public Builder(ProtocolServiceArgs defaults) { + $ = new ProtocolServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder dryRun(@Nullable Output dryRun) { + $.dryRun = dryRun; + return this; + } + + public Builder dryRun(Boolean dryRun) { + return dryRun(Output.of(dryRun)); + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param protocolSpec The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + * @return builder + * + */ + public Builder protocolSpec(Output protocolSpec) { + $.protocolSpec = protocolSpec; + return this; + } + + /** + * @param protocolSpec The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + * @return builder + * + */ + public Builder protocolSpec(String protocolSpec) { + return protocolSpec(Output.of(protocolSpec)); + } + + /** + * @param protocolThroughput The throughput of the protocol service. Unit: MB/s. + * + * @return builder + * + */ + public Builder protocolThroughput(@Nullable Output protocolThroughput) { + $.protocolThroughput = protocolThroughput; + return this; + } + + /** + * @param protocolThroughput The throughput of the protocol service. Unit: MB/s. + * + * @return builder + * + */ + public Builder protocolThroughput(Integer protocolThroughput) { + return protocolThroughput(Output.of(protocolThroughput)); + } + + /** + * @param protocolType The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + * @return builder + * + */ + public Builder protocolType(Output protocolType) { + $.protocolType = protocolType; + return this; + } + + /** + * @param protocolType The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + * @return builder + * + */ + public Builder protocolType(String protocolType) { + return protocolType(Output.of(protocolType)); + } + + /** + * @param vpcId The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The VSwitchId of the protocol service. + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The VSwitchId of the protocol service. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + public ProtocolServiceArgs build() { + if ($.fileSystemId == null) { + throw new MissingRequiredPropertyException("ProtocolServiceArgs", "fileSystemId"); + } + if ($.protocolSpec == null) { + throw new MissingRequiredPropertyException("ProtocolServiceArgs", "protocolSpec"); + } + if ($.protocolType == null) { + throw new MissingRequiredPropertyException("ProtocolServiceArgs", "protocolType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/RecycleBin.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/RecycleBin.java index 0f4ca64d12..00656d40ff 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/RecycleBin.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/RecycleBin.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Recycle Bin can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/SmbAclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/SmbAclAttachment.java index df38f417bc..f3a82385e9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/SmbAclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/SmbAclAttachment.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:nas/smbAclAttachment:SmbAclAttachment") public class SmbAclAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/Snapshot.java index c3e20405ba..275ab321ed 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/Snapshot.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FileSystemState.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FileSystemState.java index f6da877699..03684de4df 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FileSystemState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FileSystemState.java @@ -11,6 +11,7 @@ import com.pulumi.core.annotations.Import; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -146,32 +147,16 @@ public Optional> fileSystemType() { return Optional.ofNullable(this.fileSystemType); } - /** - * String of keytab file content encrypted by base64 - * - */ @Import(name="keytab") private @Nullable Output keytab; - /** - * @return String of keytab file content encrypted by base64 - * - */ public Optional> keytab() { return Optional.ofNullable(this.keytab); } - /** - * String of the keytab file content encrypted by MD5 - * - */ @Import(name="keytabMd5") private @Nullable Output keytabMd5; - /** - * @return String of the keytab file content encrypted by MD5 - * - */ public Optional> keytabMd5() { return Optional.ofNullable(this.keytabMd5); } @@ -259,6 +244,36 @@ public Optional> recycleBin() { return Optional.ofNullable(this.recycleBin); } + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + @Import(name="redundancyType") + private @Nullable Output redundancyType; + + /** + * @return Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + */ + public Optional> redundancyType() { + return Optional.ofNullable(this.redundancyType); + } + + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + @Import(name="redundancyVswitchIds") + private @Nullable Output> redundancyVswitchIds; + + /** + * @return Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + */ + public Optional>> redundancyVswitchIds() { + return Optional.ofNullable(this.redundancyVswitchIds); + } + /** * RegionId * @@ -309,6 +324,8 @@ public Optional> smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ @Import(name="snapshotId") private @Nullable Output snapshotId; @@ -318,6 +335,8 @@ public Optional> smbAcl() { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * */ public Optional> snapshotId() { return Optional.ofNullable(this.snapshotId); @@ -458,6 +477,8 @@ private FileSystemState(FileSystemState $) { this.options = $.options; this.protocolType = $.protocolType; this.recycleBin = $.recycleBin; + this.redundancyType = $.redundancyType; + this.redundancyVswitchIds = $.redundancyVswitchIds; this.regionId = $.regionId; this.resourceGroupId = $.resourceGroupId; this.smbAcl = $.smbAcl; @@ -643,44 +664,20 @@ public Builder fileSystemType(String fileSystemType) { return fileSystemType(Output.of(fileSystemType)); } - /** - * @param keytab String of keytab file content encrypted by base64 - * - * @return builder - * - */ public Builder keytab(@Nullable Output keytab) { $.keytab = keytab; return this; } - /** - * @param keytab String of keytab file content encrypted by base64 - * - * @return builder - * - */ public Builder keytab(String keytab) { return keytab(Output.of(keytab)); } - /** - * @param keytabMd5 String of the keytab file content encrypted by MD5 - * - * @return builder - * - */ public Builder keytabMd5(@Nullable Output keytabMd5) { $.keytabMd5 = keytabMd5; return this; } - /** - * @param keytabMd5 String of the keytab file content encrypted by MD5 - * - * @return builder - * - */ public Builder keytabMd5(String keytabMd5) { return keytabMd5(Output.of(keytabMd5)); } @@ -798,6 +795,58 @@ public Builder recycleBin(FileSystemRecycleBinArgs recycleBin) { return recycleBin(Output.of(recycleBin)); } + /** + * @param redundancyType Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + * @return builder + * + */ + public Builder redundancyType(@Nullable Output redundancyType) { + $.redundancyType = redundancyType; + return this; + } + + /** + * @param redundancyType Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + * + * @return builder + * + */ + public Builder redundancyType(String redundancyType) { + return redundancyType(Output.of(redundancyType)); + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(@Nullable Output> redundancyVswitchIds) { + $.redundancyVswitchIds = redundancyVswitchIds; + return this; + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(List redundancyVswitchIds) { + return redundancyVswitchIds(Output.of(redundancyVswitchIds)); + } + + /** + * @param redundancyVswitchIds Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + * + * @return builder + * + */ + public Builder redundancyVswitchIds(String... redundancyVswitchIds) { + return redundancyVswitchIds(List.of(redundancyVswitchIds)); + } + /** * @param regionId RegionId * @@ -866,6 +915,8 @@ public Builder smbAcl(FileSystemSmbAclArgs smbAcl) { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ @@ -879,6 +930,8 @@ public Builder snapshotId(@Nullable Output snapshotId) { * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FilesetState.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FilesetState.java index b8e38ae1dd..03bb68f0d6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FilesetState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/FilesetState.java @@ -17,14 +17,48 @@ public final class FilesetState extends com.pulumi.resources.ResourceArgs { public static final FilesetState Empty = new FilesetState(); /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The time when Fileset was created. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The time when Fileset was created. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + @Import(name="deletionProtection") + private @Nullable Output deletionProtection; + + /** + * @return The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + */ + public Optional> deletionProtection() { + return Optional.ofNullable(this.deletionProtection); + } + + /** + * Description of Fileset. * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @return Description of Fileset. * */ public Optional> description() { @@ -32,14 +66,14 @@ public Optional> description() { } /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ @Import(name="dryRun") private @Nullable Output dryRun; /** - * @return The dry run. + * @return Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * */ public Optional> dryRun() { @@ -62,14 +96,14 @@ public Optional> fileSystemId() { } /** - * The path of the fileset. + * The path of Fileset. * */ @Import(name="fileSystemPath") private @Nullable Output fileSystemPath; /** - * @return The path of the fileset. + * @return The path of Fileset. * */ public Optional> fileSystemPath() { @@ -77,14 +111,14 @@ public Optional> fileSystemPath() { } /** - * The first ID of the resource. + * Fileset ID * */ @Import(name="filesetId") private @Nullable Output filesetId; /** - * @return The first ID of the resource. + * @return Fileset ID * */ public Optional> filesetId() { @@ -92,14 +126,14 @@ public Optional> filesetId() { } /** - * The status of the fileset. + * The status of Fileset. Includes: * */ @Import(name="status") private @Nullable Output status; /** - * @return The status of the fileset. + * @return The status of Fileset. Includes: * */ public Optional> status() { @@ -109,6 +143,8 @@ public Optional> status() { private FilesetState() {} private FilesetState(FilesetState $) { + this.createTime = $.createTime; + this.deletionProtection = $.deletionProtection; this.description = $.description; this.dryRun = $.dryRun; this.fileSystemId = $.fileSystemId; @@ -136,7 +172,53 @@ public Builder(FilesetState defaults) { } /** - * @param description The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @param createTime The time when Fileset was created. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The time when Fileset was created. + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param deletionProtection The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + * @return builder + * + */ + public Builder deletionProtection(@Nullable Output deletionProtection) { + $.deletionProtection = deletionProtection; + return this; + } + + /** + * @param deletionProtection The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + * + * @return builder + * + */ + public Builder deletionProtection(Boolean deletionProtection) { + return deletionProtection(Output.of(deletionProtection)); + } + + /** + * @param description Description of Fileset. * * @return builder * @@ -147,7 +229,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * @param description Description of Fileset. * * @return builder * @@ -157,7 +239,7 @@ public Builder description(String description) { } /** - * @param dryRun The dry run. + * @param dryRun Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * * @return builder * @@ -168,7 +250,7 @@ public Builder dryRun(@Nullable Output dryRun) { } /** - * @param dryRun The dry run. + * @param dryRun Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. * * @return builder * @@ -199,7 +281,7 @@ public Builder fileSystemId(String fileSystemId) { } /** - * @param fileSystemPath The path of the fileset. + * @param fileSystemPath The path of Fileset. * * @return builder * @@ -210,7 +292,7 @@ public Builder fileSystemPath(@Nullable Output fileSystemPath) { } /** - * @param fileSystemPath The path of the fileset. + * @param fileSystemPath The path of Fileset. * * @return builder * @@ -220,7 +302,7 @@ public Builder fileSystemPath(String fileSystemPath) { } /** - * @param filesetId The first ID of the resource. + * @param filesetId Fileset ID * * @return builder * @@ -231,7 +313,7 @@ public Builder filesetId(@Nullable Output filesetId) { } /** - * @param filesetId The first ID of the resource. + * @param filesetId Fileset ID * * @return builder * @@ -241,7 +323,7 @@ public Builder filesetId(String filesetId) { } /** - * @param status The status of the fileset. + * @param status The status of Fileset. Includes: * * @return builder * @@ -252,7 +334,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status The status of the fileset. + * @param status The status of Fileset. Includes: * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolMountTargetState.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolMountTargetState.java new file mode 100644 index 0000000000..01022fb1c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolMountTargetState.java @@ -0,0 +1,608 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProtocolMountTargetState extends com.pulumi.resources.ResourceArgs { + + public static final ProtocolMountTargetState Empty = new ProtocolMountTargetState(); + + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + @Import(name="accessGroupName") + private @Nullable Output accessGroupName; + + /** + * @return The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + */ + public Optional> accessGroupName() { + return Optional.ofNullable(this.accessGroupName); + } + + /** + * The creation time of the resource + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The creation time of the resource + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="dryRun") + private @Nullable Output dryRun; + + public Optional> dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * Protocol Service Mount Target ID + * + */ + @Import(name="exportId") + private @Nullable Output exportId; + + /** + * @return Protocol Service Mount Target ID + * + */ + public Optional> exportId() { + return Optional.ofNullable(this.exportId); + } + + /** + * The ID of the file system. + * + */ + @Import(name="fileSystemId") + private @Nullable Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Optional> fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + @Import(name="fsetId") + private @Nullable Output fsetId; + + /** + * @return The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + */ + public Optional> fsetId() { + return Optional.ofNullable(this.fsetId); + } + + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * Protocol Service ID + * + */ + @Import(name="protocolServiceId") + private @Nullable Output protocolServiceId; + + /** + * @return Protocol Service ID + * + */ + public Optional> protocolServiceId() { + return Optional.ofNullable(this.protocolServiceId); + } + + /** + * Status + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return Status + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * The VPC ID of the protocol service mount point. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The VPC ID of the protocol service mount point. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The vSwitch ID of the protocol service mount target. + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The vSwitch ID of the protocol service mount target. + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + @Import(name="vswitchIds") + private @Nullable Output> vswitchIds; + + /** + * @return The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + */ + public Optional>> vswitchIds() { + return Optional.ofNullable(this.vswitchIds); + } + + private ProtocolMountTargetState() {} + + private ProtocolMountTargetState(ProtocolMountTargetState $) { + this.accessGroupName = $.accessGroupName; + this.createTime = $.createTime; + this.description = $.description; + this.dryRun = $.dryRun; + this.exportId = $.exportId; + this.fileSystemId = $.fileSystemId; + this.fsetId = $.fsetId; + this.path = $.path; + this.protocolServiceId = $.protocolServiceId; + this.status = $.status; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + this.vswitchIds = $.vswitchIds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProtocolMountTargetState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProtocolMountTargetState $; + + public Builder() { + $ = new ProtocolMountTargetState(); + } + + public Builder(ProtocolMountTargetState defaults) { + $ = new ProtocolMountTargetState(Objects.requireNonNull(defaults)); + } + + /** + * @param accessGroupName The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + * @return builder + * + */ + public Builder accessGroupName(@Nullable Output accessGroupName) { + $.accessGroupName = accessGroupName; + return this; + } + + /** + * @param accessGroupName The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + * + * @return builder + * + */ + public Builder accessGroupName(String accessGroupName) { + return accessGroupName(Output.of(accessGroupName)); + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The creation time of the resource + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param description Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder dryRun(@Nullable Output dryRun) { + $.dryRun = dryRun; + return this; + } + + public Builder dryRun(Boolean dryRun) { + return dryRun(Output.of(dryRun)); + } + + /** + * @param exportId Protocol Service Mount Target ID + * + * @return builder + * + */ + public Builder exportId(@Nullable Output exportId) { + $.exportId = exportId; + return this; + } + + /** + * @param exportId Protocol Service Mount Target ID + * + * @return builder + * + */ + public Builder exportId(String exportId) { + return exportId(Output.of(exportId)); + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(@Nullable Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param fsetId The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + * @return builder + * + */ + public Builder fsetId(@Nullable Output fsetId) { + $.fsetId = fsetId; + return this; + } + + /** + * @param fsetId The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + * + * @return builder + * + */ + public Builder fsetId(String fsetId) { + return fsetId(Output.of(fsetId)); + } + + /** + * @param path The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(@Nullable Output protocolServiceId) { + $.protocolServiceId = protocolServiceId; + return this; + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(String protocolServiceId) { + return protocolServiceId(Output.of(protocolServiceId)); + } + + /** + * @param status Status + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status Status + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param vpcId The VPC ID of the protocol service mount point. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VPC ID of the protocol service mount point. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The vSwitch ID of the protocol service mount target. + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The vSwitch ID of the protocol service mount target. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(@Nullable Output> vswitchIds) { + $.vswitchIds = vswitchIds; + return this; + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(List vswitchIds) { + return vswitchIds(Output.of(vswitchIds)); + } + + /** + * @param vswitchIds The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + * + * @return builder + * + */ + public Builder vswitchIds(String... vswitchIds) { + return vswitchIds(List.of(vswitchIds)); + } + + public ProtocolMountTargetState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolServiceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolServiceState.java new file mode 100644 index 0000000000..9c9f4a2736 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nas/inputs/ProtocolServiceState.java @@ -0,0 +1,475 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.nas.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ProtocolServiceState extends com.pulumi.resources.ResourceArgs { + + public static final ProtocolServiceState Empty = new ProtocolServiceState(); + + /** + * The time when the protocol server service was created. The UTC time. + * + */ + @Import(name="createTime") + private @Nullable Output createTime; + + /** + * @return The time when the protocol server service was created. The UTC time. + * + */ + public Optional> createTime() { + return Optional.ofNullable(this.createTime); + } + + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="dryRun") + private @Nullable Output dryRun; + + public Optional> dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * The ID of the file system. + * + */ + @Import(name="fileSystemId") + private @Nullable Output fileSystemId; + + /** + * @return The ID of the file system. + * + */ + public Optional> fileSystemId() { + return Optional.ofNullable(this.fileSystemId); + } + + /** + * Protocol Service ID + * + */ + @Import(name="protocolServiceId") + private @Nullable Output protocolServiceId; + + /** + * @return Protocol Service ID + * + */ + public Optional> protocolServiceId() { + return Optional.ofNullable(this.protocolServiceId); + } + + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + @Import(name="protocolSpec") + private @Nullable Output protocolSpec; + + /** + * @return The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + */ + public Optional> protocolSpec() { + return Optional.ofNullable(this.protocolSpec); + } + + /** + * The throughput of the protocol service. Unit: MB/s. + * + */ + @Import(name="protocolThroughput") + private @Nullable Output protocolThroughput; + + /** + * @return The throughput of the protocol service. Unit: MB/s. + * + */ + public Optional> protocolThroughput() { + return Optional.ofNullable(this.protocolThroughput); + } + + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + @Import(name="protocolType") + private @Nullable Output protocolType; + + /** + * @return The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + */ + public Optional> protocolType() { + return Optional.ofNullable(this.protocolType); + } + + /** + * Agreement service status. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return Agreement service status. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + @Import(name="vpcId") + private @Nullable Output vpcId; + + /** + * @return The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + */ + public Optional> vpcId() { + return Optional.ofNullable(this.vpcId); + } + + /** + * The VSwitchId of the protocol service. + * + */ + @Import(name="vswitchId") + private @Nullable Output vswitchId; + + /** + * @return The VSwitchId of the protocol service. + * + */ + public Optional> vswitchId() { + return Optional.ofNullable(this.vswitchId); + } + + private ProtocolServiceState() {} + + private ProtocolServiceState(ProtocolServiceState $) { + this.createTime = $.createTime; + this.description = $.description; + this.dryRun = $.dryRun; + this.fileSystemId = $.fileSystemId; + this.protocolServiceId = $.protocolServiceId; + this.protocolSpec = $.protocolSpec; + this.protocolThroughput = $.protocolThroughput; + this.protocolType = $.protocolType; + this.status = $.status; + this.vpcId = $.vpcId; + this.vswitchId = $.vswitchId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ProtocolServiceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ProtocolServiceState $; + + public Builder() { + $ = new ProtocolServiceState(); + } + + public Builder(ProtocolServiceState defaults) { + $ = new ProtocolServiceState(Objects.requireNonNull(defaults)); + } + + /** + * @param createTime The time when the protocol server service was created. The UTC time. + * + * @return builder + * + */ + public Builder createTime(@Nullable Output createTime) { + $.createTime = createTime; + return this; + } + + /** + * @param createTime The time when the protocol server service was created. The UTC time. + * + * @return builder + * + */ + public Builder createTime(String createTime) { + return createTime(Output.of(createTime)); + } + + /** + * @param description Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder dryRun(@Nullable Output dryRun) { + $.dryRun = dryRun; + return this; + } + + public Builder dryRun(Boolean dryRun) { + return dryRun(Output.of(dryRun)); + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(@Nullable Output fileSystemId) { + $.fileSystemId = fileSystemId; + return this; + } + + /** + * @param fileSystemId The ID of the file system. + * + * @return builder + * + */ + public Builder fileSystemId(String fileSystemId) { + return fileSystemId(Output.of(fileSystemId)); + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(@Nullable Output protocolServiceId) { + $.protocolServiceId = protocolServiceId; + return this; + } + + /** + * @param protocolServiceId Protocol Service ID + * + * @return builder + * + */ + public Builder protocolServiceId(String protocolServiceId) { + return protocolServiceId(Output.of(protocolServiceId)); + } + + /** + * @param protocolSpec The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + * @return builder + * + */ + public Builder protocolSpec(@Nullable Output protocolSpec) { + $.protocolSpec = protocolSpec; + return this; + } + + /** + * @param protocolSpec The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + * + * @return builder + * + */ + public Builder protocolSpec(String protocolSpec) { + return protocolSpec(Output.of(protocolSpec)); + } + + /** + * @param protocolThroughput The throughput of the protocol service. Unit: MB/s. + * + * @return builder + * + */ + public Builder protocolThroughput(@Nullable Output protocolThroughput) { + $.protocolThroughput = protocolThroughput; + return this; + } + + /** + * @param protocolThroughput The throughput of the protocol service. Unit: MB/s. + * + * @return builder + * + */ + public Builder protocolThroughput(Integer protocolThroughput) { + return protocolThroughput(Output.of(protocolThroughput)); + } + + /** + * @param protocolType The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + * @return builder + * + */ + public Builder protocolType(@Nullable Output protocolType) { + $.protocolType = protocolType; + return this; + } + + /** + * @param protocolType The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + * + * @return builder + * + */ + public Builder protocolType(String protocolType) { + return protocolType(Output.of(protocolType)); + } + + /** + * @param status Agreement service status. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status Agreement service status. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param vpcId The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + * @return builder + * + */ + public Builder vpcId(@Nullable Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The VpcId of the protocol service, which must be consistent with the VPC of the file system. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + /** + * @param vswitchId The VSwitchId of the protocol service. + * + * @return builder + * + */ + public Builder vswitchId(@Nullable Output vswitchId) { + $.vswitchId = vswitchId; + return this; + } + + /** + * @param vswitchId The VSwitchId of the protocol service. + * + * @return builder + * + */ + public Builder vswitchId(String vswitchId) { + return vswitchId(Output.of(vswitchId)); + } + + public ProtocolServiceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/Listener.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/Listener.java index fd3275fc7d..801988afb5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/Listener.java @@ -169,6 +169,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Listener can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ListenerAdditionalCertificateAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ListenerAdditionalCertificateAttachment.java index da8c128ebc..867d49e3ee 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ListenerAdditionalCertificateAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ListenerAdditionalCertificateAttachment.java @@ -252,6 +252,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancer.java index 34714f8265..ea8b0e61e4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancer.java @@ -209,6 +209,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerSecurityGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerSecurityGroupAttachment.java index 0f80262982..a2a2c3508b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerSecurityGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerSecurityGroupAttachment.java @@ -127,6 +127,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerZoneShiftedAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerZoneShiftedAttachment.java index 97b9c4d1d4..173eebe99f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerZoneShiftedAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadBalancerZoneShiftedAttachment.java @@ -104,6 +104,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadbalancerCommonBandwidthPackageAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadbalancerCommonBandwidthPackageAttachment.java index 45b392c871..b5726e0d76 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadbalancerCommonBandwidthPackageAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/LoadbalancerCommonBandwidthPackageAttachment.java @@ -134,6 +134,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/SecurityPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/SecurityPolicy.java index 15aca98768..7b7b3fe05f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/SecurityPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/SecurityPolicy.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Security Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroup.java index 87d1d5d0f8..9abf488222 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroup.java @@ -101,6 +101,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Server Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroupServerAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroupServerAttachment.java index c732e5eef8..6842f82d77 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroupServerAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/nlb/ServerGroupServerAttachment.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ocean/BaseInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ocean/BaseInstance.java index b4b8ed96ec..8231ed2adf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ocean/BaseInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ocean/BaseInstance.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ocean Base Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Application.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Application.java index 7ed9a920f8..68e17ab4a5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Application.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Application.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Application can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/ApplicationGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/ApplicationGroup.java index eb3cc3e46a..dadc74f742 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/ApplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/ApplicationGroup.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Application Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/DefaultPatchBaseline.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/DefaultPatchBaseline.java index 6752a79d2a..f352c43624 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/DefaultPatchBaseline.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/DefaultPatchBaseline.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Oos Default Patch Baseline can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Execution.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Execution.java index 33a6f88a76..97a24812fb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Execution.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Execution.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Execution can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Parameter.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Parameter.java index 0c83727113..3d72b7547b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Parameter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Parameter.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Parameter can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/PatchBaseline.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/PatchBaseline.java index 53d6cb591c..80658e1682 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/PatchBaseline.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/PatchBaseline.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Patch Baseline can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/SecretParameter.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/SecretParameter.java index 4385da864d..27bf963cd8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/SecretParameter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/SecretParameter.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/ServiceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/ServiceSetting.java index b8efa4b0fd..0df1c8cad4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/ServiceSetting.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/ServiceSetting.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Service Setting can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/StateConfiguration.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/StateConfiguration.java index 22c88095f8..50d013413a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/StateConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/StateConfiguration.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS State Configuration can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Template.java b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Template.java index 93a36c5f36..9424a1e92e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oos/Template.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oos/Template.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Template can be imported using the id or template_name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/opensearch/AppGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/opensearch/AppGroup.java index d21f0a2007..ce3c9f05ea 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/opensearch/AppGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/opensearch/AppGroup.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Open Search App Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccessPoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccessPoint.java index ca95a22036..d2ea286950 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccessPoint.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Access Point can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccountPublicAccessBlock.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccountPublicAccessBlock.java index 1d652e0ff6..6c7e01d88f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccountPublicAccessBlock.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/AccountPublicAccessBlock.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Account Public Access Block can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/Bucket.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/Bucket.java index 1f8744b1c2..278b62b740 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/Bucket.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/Bucket.java @@ -855,6 +855,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS bucket can be imported using the bucket name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCname.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCname.java index 74ff4fdf5a..4738c9cc05 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCname.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCname.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Cname can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCors.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCors.java index 46c4f7665b..ef59c936b9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCors.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketCors.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Cors can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketDataRedundancyTransition.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketDataRedundancyTransition.java index 1fce59e81e..9110cdf771 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketDataRedundancyTransition.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketDataRedundancyTransition.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Data Redundancy Transition can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfig.java index 07600d4878..2c1c677a66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfig.java @@ -6,6 +6,7 @@ import com.pulumi.alicloud.Utilities; import com.pulumi.alicloud.oss.BucketHttpsConfigArgs; import com.pulumi.alicloud.oss.inputs.BucketHttpsConfigState; +import com.pulumi.alicloud.oss.outputs.BucketHttpsConfigCipherSuit; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -29,19 +30,33 @@ @ResourceType(type="alicloud:oss/bucketHttpsConfig:BucketHttpsConfig") public class BucketHttpsConfig extends com.pulumi.resources.CustomResource { /** - * The name of the bucket. + * The name of the bucket * */ @Export(name="bucket", refs={String.class}, tree="[0]") private Output bucket; /** - * @return The name of the bucket. + * @return The name of the bucket * */ public Output bucket() { return this.bucket; } + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + @Export(name="cipherSuit", refs={BucketHttpsConfigCipherSuit.class}, tree="[0]") + private Output cipherSuit; + + /** + * @return TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + public Output cipherSuit() { + return this.cipherSuit; + } /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfigArgs.java index c571a8bd83..2b47fbe6f1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketHttpsConfigArgs.java @@ -3,6 +3,7 @@ package com.pulumi.alicloud.oss; +import com.pulumi.alicloud.oss.inputs.BucketHttpsConfigCipherSuitArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -19,20 +20,35 @@ public final class BucketHttpsConfigArgs extends com.pulumi.resources.ResourceAr public static final BucketHttpsConfigArgs Empty = new BucketHttpsConfigArgs(); /** - * The name of the bucket. + * The name of the bucket * */ @Import(name="bucket", required=true) private Output bucket; /** - * @return The name of the bucket. + * @return The name of the bucket * */ public Output bucket() { return this.bucket; } + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + @Import(name="cipherSuit") + private @Nullable Output cipherSuit; + + /** + * @return TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + public Optional> cipherSuit() { + return Optional.ofNullable(this.cipherSuit); + } + /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. * @@ -67,6 +83,7 @@ private BucketHttpsConfigArgs() {} private BucketHttpsConfigArgs(BucketHttpsConfigArgs $) { this.bucket = $.bucket; + this.cipherSuit = $.cipherSuit; this.enable = $.enable; this.tlsVersions = $.tlsVersions; } @@ -90,7 +107,7 @@ public Builder(BucketHttpsConfigArgs defaults) { } /** - * @param bucket The name of the bucket. + * @param bucket The name of the bucket * * @return builder * @@ -101,7 +118,7 @@ public Builder bucket(Output bucket) { } /** - * @param bucket The name of the bucket. + * @param bucket The name of the bucket * * @return builder * @@ -110,6 +127,27 @@ public Builder bucket(String bucket) { return bucket(Output.of(bucket)); } + /** + * @param cipherSuit TLS encryption algorithm suite configuration See `cipherSuit` below. + * + * @return builder + * + */ + public Builder cipherSuit(@Nullable Output cipherSuit) { + $.cipherSuit = cipherSuit; + return this; + } + + /** + * @param cipherSuit TLS encryption algorithm suite configuration See `cipherSuit` below. + * + * @return builder + * + */ + public Builder cipherSuit(BucketHttpsConfigCipherSuitArgs cipherSuit) { + return cipherSuit(Output.of(cipherSuit)); + } + /** * @param enable Specifies whether to enable TLS version management for the bucket. Valid values: true, false. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketLogging.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketLogging.java index ca5424cb4a..1d25575f97 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketLogging.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketLogging.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Logging can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketMetaQuery.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketMetaQuery.java index 5025966188..4d82c4819a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketMetaQuery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketMetaQuery.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Meta Query can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketObject.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketObject.java index 6d9f147377..74314279ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketObject.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketObject.java @@ -129,6 +129,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:oss/bucketObject:BucketObject") public class BucketObject extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPolicy.java index ea61b8baf2..882dde55d2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPolicy.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPublicAccessBlock.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPublicAccessBlock.java index fd88842cc9..e5f32c87ba 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPublicAccessBlock.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketPublicAccessBlock.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Public Access Block can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReferer.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReferer.java index 113a2aca40..3bc5437b77 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReferer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReferer.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Referer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReplication.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReplication.java index d8455df345..ff443d5e03 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReplication.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketReplication.java @@ -168,6 +168,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Oss Bucket Replication can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketServerSideEncryption.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketServerSideEncryption.java index f76b806060..e1c5c38856 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketServerSideEncryption.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketServerSideEncryption.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Server Side Encryption can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketStyle.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketStyle.java index 957b32bd5f..13252c493e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketStyle.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketStyle.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Style can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketUserDefinedLogFields.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketUserDefinedLogFields.java index 4180857ac4..0860f6652d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketUserDefinedLogFields.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketUserDefinedLogFields.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket User Defined Log Fields can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketWebsite.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketWebsite.java index b3fd7e1b2d..dc1bddaa43 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketWebsite.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/BucketWebsite.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Website can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigCipherSuitArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigCipherSuitArgs.java new file mode 100644 index 0000000000..b15692f7a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigCipherSuitArgs.java @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.oss.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BucketHttpsConfigCipherSuitArgs extends com.pulumi.resources.ResourceArgs { + + public static final BucketHttpsConfigCipherSuitArgs Empty = new BucketHttpsConfigCipherSuitArgs(); + + /** + * This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + */ + @Import(name="customCipherSuites") + private @Nullable Output> customCipherSuites; + + /** + * @return This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + */ + public Optional>> customCipherSuites() { + return Optional.ofNullable(this.customCipherSuites); + } + + /** + * Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + */ + @Import(name="enable") + private @Nullable Output enable; + + /** + * @return Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + */ + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + /** + * Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + */ + @Import(name="strongCipherSuite") + private @Nullable Output strongCipherSuite; + + /** + * @return Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + */ + public Optional> strongCipherSuite() { + return Optional.ofNullable(this.strongCipherSuite); + } + + /** + * Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + */ + @Import(name="tls13CustomCipherSuites") + private @Nullable Output> tls13CustomCipherSuites; + + /** + * @return Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + */ + public Optional>> tls13CustomCipherSuites() { + return Optional.ofNullable(this.tls13CustomCipherSuites); + } + + private BucketHttpsConfigCipherSuitArgs() {} + + private BucketHttpsConfigCipherSuitArgs(BucketHttpsConfigCipherSuitArgs $) { + this.customCipherSuites = $.customCipherSuites; + this.enable = $.enable; + this.strongCipherSuite = $.strongCipherSuite; + this.tls13CustomCipherSuites = $.tls13CustomCipherSuites; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BucketHttpsConfigCipherSuitArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BucketHttpsConfigCipherSuitArgs $; + + public Builder() { + $ = new BucketHttpsConfigCipherSuitArgs(); + } + + public Builder(BucketHttpsConfigCipherSuitArgs defaults) { + $ = new BucketHttpsConfigCipherSuitArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customCipherSuites This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + * @return builder + * + */ + public Builder customCipherSuites(@Nullable Output> customCipherSuites) { + $.customCipherSuites = customCipherSuites; + return this; + } + + /** + * @param customCipherSuites This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + * @return builder + * + */ + public Builder customCipherSuites(List customCipherSuites) { + return customCipherSuites(Output.of(customCipherSuites)); + } + + /** + * @param customCipherSuites This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + * @return builder + * + */ + public Builder customCipherSuites(String... customCipherSuites) { + return customCipherSuites(List.of(customCipherSuites)); + } + + /** + * @param enable Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + * @return builder + * + */ + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + /** + * @param enable Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + * @return builder + * + */ + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + /** + * @param strongCipherSuite Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + * @return builder + * + */ + public Builder strongCipherSuite(@Nullable Output strongCipherSuite) { + $.strongCipherSuite = strongCipherSuite; + return this; + } + + /** + * @param strongCipherSuite Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + * @return builder + * + */ + public Builder strongCipherSuite(Boolean strongCipherSuite) { + return strongCipherSuite(Output.of(strongCipherSuite)); + } + + /** + * @param tls13CustomCipherSuites Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + * @return builder + * + */ + public Builder tls13CustomCipherSuites(@Nullable Output> tls13CustomCipherSuites) { + $.tls13CustomCipherSuites = tls13CustomCipherSuites; + return this; + } + + /** + * @param tls13CustomCipherSuites Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + * @return builder + * + */ + public Builder tls13CustomCipherSuites(List tls13CustomCipherSuites) { + return tls13CustomCipherSuites(Output.of(tls13CustomCipherSuites)); + } + + /** + * @param tls13CustomCipherSuites Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + * @return builder + * + */ + public Builder tls13CustomCipherSuites(String... tls13CustomCipherSuites) { + return tls13CustomCipherSuites(List.of(tls13CustomCipherSuites)); + } + + public BucketHttpsConfigCipherSuitArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigState.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigState.java index 1e614291e0..e02a5eec81 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/inputs/BucketHttpsConfigState.java @@ -3,6 +3,7 @@ package com.pulumi.alicloud.oss.inputs; +import com.pulumi.alicloud.oss.inputs.BucketHttpsConfigCipherSuitArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -18,20 +19,35 @@ public final class BucketHttpsConfigState extends com.pulumi.resources.ResourceA public static final BucketHttpsConfigState Empty = new BucketHttpsConfigState(); /** - * The name of the bucket. + * The name of the bucket * */ @Import(name="bucket") private @Nullable Output bucket; /** - * @return The name of the bucket. + * @return The name of the bucket * */ public Optional> bucket() { return Optional.ofNullable(this.bucket); } + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + @Import(name="cipherSuit") + private @Nullable Output cipherSuit; + + /** + * @return TLS encryption algorithm suite configuration See `cipherSuit` below. + * + */ + public Optional> cipherSuit() { + return Optional.ofNullable(this.cipherSuit); + } + /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. * @@ -66,6 +82,7 @@ private BucketHttpsConfigState() {} private BucketHttpsConfigState(BucketHttpsConfigState $) { this.bucket = $.bucket; + this.cipherSuit = $.cipherSuit; this.enable = $.enable; this.tlsVersions = $.tlsVersions; } @@ -89,7 +106,7 @@ public Builder(BucketHttpsConfigState defaults) { } /** - * @param bucket The name of the bucket. + * @param bucket The name of the bucket * * @return builder * @@ -100,7 +117,7 @@ public Builder bucket(@Nullable Output bucket) { } /** - * @param bucket The name of the bucket. + * @param bucket The name of the bucket * * @return builder * @@ -109,6 +126,27 @@ public Builder bucket(String bucket) { return bucket(Output.of(bucket)); } + /** + * @param cipherSuit TLS encryption algorithm suite configuration See `cipherSuit` below. + * + * @return builder + * + */ + public Builder cipherSuit(@Nullable Output cipherSuit) { + $.cipherSuit = cipherSuit; + return this; + } + + /** + * @param cipherSuit TLS encryption algorithm suite configuration See `cipherSuit` below. + * + * @return builder + * + */ + public Builder cipherSuit(BucketHttpsConfigCipherSuitArgs cipherSuit) { + return cipherSuit(Output.of(cipherSuit)); + } + /** * @param enable Specifies whether to enable TLS version management for the bucket. Valid values: true, false. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/oss/outputs/BucketHttpsConfigCipherSuit.java b/sdk/java/src/main/java/com/pulumi/alicloud/oss/outputs/BucketHttpsConfigCipherSuit.java new file mode 100644 index 0000000000..b511d7db61 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/oss/outputs/BucketHttpsConfigCipherSuit.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.oss.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class BucketHttpsConfigCipherSuit { + /** + * @return This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + */ + private @Nullable List customCipherSuites; + /** + * @return Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + */ + private @Nullable Boolean enable; + /** + * @return Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + */ + private @Nullable Boolean strongCipherSuite; + /** + * @return Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + */ + private @Nullable List tls13CustomCipherSuites; + + private BucketHttpsConfigCipherSuit() {} + /** + * @return This field is used to configure custom encryption algorithm suites for TLS 1.2. + * + */ + public List customCipherSuites() { + return this.customCipherSuites == null ? List.of() : this.customCipherSuites; + } + /** + * @return Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + * + */ + public Optional enable() { + return Optional.ofNullable(this.enable); + } + /** + * @return Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + * + */ + public Optional strongCipherSuite() { + return Optional.ofNullable(this.strongCipherSuite); + } + /** + * @return Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + * + */ + public List tls13CustomCipherSuites() { + return this.tls13CustomCipherSuites == null ? List.of() : this.tls13CustomCipherSuites; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BucketHttpsConfigCipherSuit defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List customCipherSuites; + private @Nullable Boolean enable; + private @Nullable Boolean strongCipherSuite; + private @Nullable List tls13CustomCipherSuites; + public Builder() {} + public Builder(BucketHttpsConfigCipherSuit defaults) { + Objects.requireNonNull(defaults); + this.customCipherSuites = defaults.customCipherSuites; + this.enable = defaults.enable; + this.strongCipherSuite = defaults.strongCipherSuite; + this.tls13CustomCipherSuites = defaults.tls13CustomCipherSuites; + } + + @CustomType.Setter + public Builder customCipherSuites(@Nullable List customCipherSuites) { + + this.customCipherSuites = customCipherSuites; + return this; + } + public Builder customCipherSuites(String... customCipherSuites) { + return customCipherSuites(List.of(customCipherSuites)); + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder strongCipherSuite(@Nullable Boolean strongCipherSuite) { + + this.strongCipherSuite = strongCipherSuite; + return this; + } + @CustomType.Setter + public Builder tls13CustomCipherSuites(@Nullable List tls13CustomCipherSuites) { + + this.tls13CustomCipherSuites = tls13CustomCipherSuites; + return this; + } + public Builder tls13CustomCipherSuites(String... tls13CustomCipherSuites) { + return tls13CustomCipherSuites(List.of(tls13CustomCipherSuites)); + } + public BucketHttpsConfigCipherSuit build() { + final var _resultValue = new BucketHttpsConfigCipherSuit(); + _resultValue.customCipherSuites = customCipherSuites; + _resultValue.enable = enable; + _resultValue.strongCipherSuite = strongCipherSuite; + _resultValue.tls13CustomCipherSuites = tls13CustomCipherSuites; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Instance.java index e80ad09cd3..3a4dcf73e2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Instance.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS instance can be imported using instance id or name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/InstanceAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/InstanceAttachment.java index 5258f78c47..7af73429ae 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/InstanceAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/InstanceAttachment.java @@ -96,6 +96,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ots/instanceAttachment:InstanceAttachment") public class InstanceAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/SearchIndex.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/SearchIndex.java index 0dda732b71..8f237a2f83 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/SearchIndex.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/SearchIndex.java @@ -149,6 +149,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS search index can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/SecondaryIndex.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/SecondaryIndex.java index 6a5256ac5e..3cc95490ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/SecondaryIndex.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/SecondaryIndex.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS secondary index can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Table.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Table.java index 109f13ec5e..41bad2bac4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Table.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Table.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS table can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Tunnel.java b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Tunnel.java index 92a9cc4943..b4d691eadc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ots/Tunnel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ots/Tunnel.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS tunnel can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.java new file mode 100644 index 0000000000..78b2bf4b71 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescription.java @@ -0,0 +1,211 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OpenApiExplorerApiMcpServerAdditionalApiDescription { + /** + * @return The API name, such as ListApiMcpServers. + * + */ + private @Nullable String apiName; + /** + * @return API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + */ + private @Nullable String apiOverrideJson; + /** + * @return API version information, typically in date format, such as 2014-05-26. + * + */ + private @Nullable String apiVersion; + /** + * @return Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + */ + private @Nullable List constParameters; + /** + * @return By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + */ + private @Nullable Boolean enableOutputSchema; + /** + * @return Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + */ + private @Nullable Boolean executeCliCommand; + /** + * @return The name of the cloud product, such as Ecs. + * + */ + private @Nullable String product; + + private OpenApiExplorerApiMcpServerAdditionalApiDescription() {} + /** + * @return The API name, such as ListApiMcpServers. + * + */ + public Optional apiName() { + return Optional.ofNullable(this.apiName); + } + /** + * @return API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + * + */ + public Optional apiOverrideJson() { + return Optional.ofNullable(this.apiOverrideJson); + } + /** + * @return API version information, typically in date format, such as 2014-05-26. + * + */ + public Optional apiVersion() { + return Optional.ofNullable(this.apiVersion); + } + /** + * @return Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values.\ + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + * + */ + public List constParameters() { + return this.constParameters == null ? List.of() : this.constParameters; + } + /** + * @return By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + * + */ + public Optional enableOutputSchema() { + return Optional.ofNullable(this.enableOutputSchema); + } + /** + * @return Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + * + */ + public Optional executeCliCommand() { + return Optional.ofNullable(this.executeCliCommand); + } + /** + * @return The name of the cloud product, such as Ecs. + * + */ + public Optional product() { + return Optional.ofNullable(this.product); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerAdditionalApiDescription defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String apiName; + private @Nullable String apiOverrideJson; + private @Nullable String apiVersion; + private @Nullable List constParameters; + private @Nullable Boolean enableOutputSchema; + private @Nullable Boolean executeCliCommand; + private @Nullable String product; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerAdditionalApiDescription defaults) { + Objects.requireNonNull(defaults); + this.apiName = defaults.apiName; + this.apiOverrideJson = defaults.apiOverrideJson; + this.apiVersion = defaults.apiVersion; + this.constParameters = defaults.constParameters; + this.enableOutputSchema = defaults.enableOutputSchema; + this.executeCliCommand = defaults.executeCliCommand; + this.product = defaults.product; + } + + @CustomType.Setter + public Builder apiName(@Nullable String apiName) { + + this.apiName = apiName; + return this; + } + @CustomType.Setter + public Builder apiOverrideJson(@Nullable String apiOverrideJson) { + + this.apiOverrideJson = apiOverrideJson; + return this; + } + @CustomType.Setter + public Builder apiVersion(@Nullable String apiVersion) { + + this.apiVersion = apiVersion; + return this; + } + @CustomType.Setter + public Builder constParameters(@Nullable List constParameters) { + + this.constParameters = constParameters; + return this; + } + public Builder constParameters(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter... constParameters) { + return constParameters(List.of(constParameters)); + } + @CustomType.Setter + public Builder enableOutputSchema(@Nullable Boolean enableOutputSchema) { + + this.enableOutputSchema = enableOutputSchema; + return this; + } + @CustomType.Setter + public Builder executeCliCommand(@Nullable Boolean executeCliCommand) { + + this.executeCliCommand = executeCliCommand; + return this; + } + @CustomType.Setter + public Builder product(@Nullable String product) { + + this.product = product; + return this; + } + public OpenApiExplorerApiMcpServerAdditionalApiDescription build() { + final var _resultValue = new OpenApiExplorerApiMcpServerAdditionalApiDescription(); + _resultValue.apiName = apiName; + _resultValue.apiOverrideJson = apiOverrideJson; + _resultValue.apiVersion = apiVersion; + _resultValue.constParameters = constParameters; + _resultValue.enableOutputSchema = enableOutputSchema; + _resultValue.executeCliCommand = executeCliCommand; + _resultValue.product = product; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.java new file mode 100644 index 0000000000..08f4ec8650 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter { + /** + * @return Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + */ + private @Nullable String key; + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + private @Nullable String value; + + private OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter() {} + /** + * @return Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return This property does not have a description in the spec, please add it before generating code. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable String value; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter build() { + final var _resultValue = new OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter(); + _resultValue.key = key; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerApi.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerApi.java new file mode 100644 index 0000000000..801b27cd44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerApi.java @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class OpenApiExplorerApiMcpServerApi { + /** + * @return API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + */ + private String apiVersion; + /** + * @return Product code, such as Ecs. + * + */ + private String product; + /** + * @return Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + */ + private List selectors; + + private OpenApiExplorerApiMcpServerApi() {} + /** + * @return API version information, typically in date format—for example, the version for ECS is 2014-05-26. + * + */ + public String apiVersion() { + return this.apiVersion; + } + /** + * @return Product code, such as Ecs. + * + */ + public String product() { + return this.product; + } + /** + * @return Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + * + */ + public List selectors() { + return this.selectors; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerApi defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String apiVersion; + private String product; + private List selectors; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerApi defaults) { + Objects.requireNonNull(defaults); + this.apiVersion = defaults.apiVersion; + this.product = defaults.product; + this.selectors = defaults.selectors; + } + + @CustomType.Setter + public Builder apiVersion(String apiVersion) { + if (apiVersion == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApi", "apiVersion"); + } + this.apiVersion = apiVersion; + return this; + } + @CustomType.Setter + public Builder product(String product) { + if (product == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApi", "product"); + } + this.product = product; + return this; + } + @CustomType.Setter + public Builder selectors(List selectors) { + if (selectors == null) { + throw new MissingRequiredPropertyException("OpenApiExplorerApiMcpServerApi", "selectors"); + } + this.selectors = selectors; + return this; + } + public Builder selectors(String... selectors) { + return selectors(List.of(selectors)); + } + public OpenApiExplorerApiMcpServerApi build() { + final var _resultValue = new OpenApiExplorerApiMcpServerApi(); + _resultValue.apiVersion = apiVersion; + _resultValue.product = product; + _resultValue.selectors = selectors; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPrompt.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPrompt.java new file mode 100644 index 0000000000..3a2e8c1cd4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPrompt.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.alicloud.outputs.OpenApiExplorerApiMcpServerPromptArgument; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OpenApiExplorerApiMcpServerPrompt { + /** + * @return Parameters for the prompt. See `arguments` below. + * + */ + private @Nullable List arguments; + /** + * @return Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + */ + private @Nullable String content; + /** + * @return Description of the prompt parameter. + * + */ + private @Nullable String description; + /** + * @return Name of the prompt parameter. + * + */ + private @Nullable String name; + + private OpenApiExplorerApiMcpServerPrompt() {} + /** + * @return Parameters for the prompt. See `arguments` below. + * + */ + public List arguments() { + return this.arguments == null ? List.of() : this.arguments; + } + /** + * @return Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + * + */ + public Optional content() { + return Optional.ofNullable(this.content); + } + /** + * @return Description of the prompt parameter. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return Name of the prompt parameter. + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerPrompt defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List arguments; + private @Nullable String content; + private @Nullable String description; + private @Nullable String name; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerPrompt defaults) { + Objects.requireNonNull(defaults); + this.arguments = defaults.arguments; + this.content = defaults.content; + this.description = defaults.description; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder arguments(@Nullable List arguments) { + + this.arguments = arguments; + return this; + } + public Builder arguments(OpenApiExplorerApiMcpServerPromptArgument... arguments) { + return arguments(List.of(arguments)); + } + @CustomType.Setter + public Builder content(@Nullable String content) { + + this.content = content; + return this; + } + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + public OpenApiExplorerApiMcpServerPrompt build() { + final var _resultValue = new OpenApiExplorerApiMcpServerPrompt(); + _resultValue.arguments = arguments; + _resultValue.content = content; + _resultValue.description = description; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPromptArgument.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPromptArgument.java new file mode 100644 index 0000000000..664e9205b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerPromptArgument.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OpenApiExplorerApiMcpServerPromptArgument { + /** + * @return Description of the API MCP service. + * + */ + private @Nullable String description; + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + private @Nullable String name; + /** + * @return Indicates whether the prompt parameter is required. + * + */ + private @Nullable Boolean required; + + private OpenApiExplorerApiMcpServerPromptArgument() {} + /** + * @return Description of the API MCP service. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return Indicates whether the prompt parameter is required. + * + */ + public Optional required() { + return Optional.ofNullable(this.required); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerPromptArgument defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String description; + private @Nullable String name; + private @Nullable Boolean required; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerPromptArgument defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.name = defaults.name; + this.required = defaults.required; + } + + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder required(@Nullable Boolean required) { + + this.required = required; + return this; + } + public OpenApiExplorerApiMcpServerPromptArgument build() { + final var _resultValue = new OpenApiExplorerApiMcpServerPromptArgument(); + _resultValue.description = description; + _resultValue.name = name; + _resultValue.required = required; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerTerraformTool.java b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerTerraformTool.java new file mode 100644 index 0000000000..850f4332dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/outputs/OpenApiExplorerApiMcpServerTerraformTool.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class OpenApiExplorerApiMcpServerTerraformTool { + /** + * @return Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + */ + private @Nullable Boolean async; + private @Nullable String code; + private @Nullable String description; + /** + * @return The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + */ + private @Nullable String destroyPolicy; + private @Nullable String name; + + private OpenApiExplorerApiMcpServerTerraformTool() {} + /** + * @return Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + * + */ + public Optional async() { + return Optional.ofNullable(this.async); + } + public Optional code() { + return Optional.ofNullable(this.code); + } + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + * + */ + public Optional destroyPolicy() { + return Optional.ofNullable(this.destroyPolicy); + } + public Optional name() { + return Optional.ofNullable(this.name); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(OpenApiExplorerApiMcpServerTerraformTool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean async; + private @Nullable String code; + private @Nullable String description; + private @Nullable String destroyPolicy; + private @Nullable String name; + public Builder() {} + public Builder(OpenApiExplorerApiMcpServerTerraformTool defaults) { + Objects.requireNonNull(defaults); + this.async = defaults.async; + this.code = defaults.code; + this.description = defaults.description; + this.destroyPolicy = defaults.destroyPolicy; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder async(@Nullable Boolean async) { + + this.async = async; + return this; + } + @CustomType.Setter + public Builder code(@Nullable String code) { + + this.code = code; + return this; + } + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder destroyPolicy(@Nullable String destroyPolicy) { + + this.destroyPolicy = destroyPolicy; + return this; + } + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + public OpenApiExplorerApiMcpServerTerraformTool build() { + final var _resultValue = new OpenApiExplorerApiMcpServerTerraformTool(); + _resultValue.async = async; + _resultValue.code = code; + _resultValue.description = description; + _resultValue.destroyPolicy = destroyPolicy; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/FlowPipeline.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/FlowPipeline.java index 78b5840c2a..3d8c9bfa75 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/FlowPipeline.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/FlowPipeline.java @@ -169,6 +169,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Pai Flow Pipeline can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/Service.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/Service.java index 46104af27b..9891f12578 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/Service.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/Service.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Service can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceCodeSource.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceCodeSource.java index 90759fa782..cc2928a8ec 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceCodeSource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceCodeSource.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Code Source can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDataset.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDataset.java index 17c693e4f4..cc9bdfa5e2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDataset.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDataset.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Dataset can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDatasetversion.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDatasetversion.java index 8e8aa0dd93..fc3f68d949 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDatasetversion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceDatasetversion.java @@ -112,6 +112,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Datasetversion can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceExperiment.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceExperiment.java index f055e3649e..479433feb3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceExperiment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceExperiment.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Experiment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceMember.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceMember.java index f41dc70573..158bb6902f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceMember.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceMember.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Member can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModel.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModel.java index 6cfbe05bcc..98c5bf994d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModel.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Model can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModelVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModelVersion.java index a37a3744a6..47fd6227c7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModelVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceModelVersion.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Model Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceRun.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceRun.java index b5ea9668ff..8b9ea73900 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceRun.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceRun.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Run can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceUserConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceUserConfig.java index 67fe723e32..3b5334edc7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceUserConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceUserConfig.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace User Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceWorkspace.java b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceWorkspace.java index 07d105ef61..71dcaeda69 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceWorkspace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pai/WorkspaceWorkspace.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Workspace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Account.java index 5b10f55756..da517d1819 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Account.java @@ -17,7 +17,11 @@ import javax.annotation.Nullable; /** - * Provides a PolarDB account resource and used to manage databases. + * Provides a Polar Db Account resource. + * + * Database account information. + * + * For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). * * > **NOTE:** Available since v1.67.0. * @@ -93,82 +97,130 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * PolarDB account can be imported using the id, e.g. + * Polar Db Account can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" + * $ pulumi import alicloud:polardb/account:Account example <db_cluster_id>:<account_name> * ``` * */ @ResourceType(type="alicloud:polardb/account:Account") public class Account extends com.pulumi.resources.CustomResource { /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. * */ @Export(name="accountDescription", refs={String.class}, tree="[0]") private Output accountDescription; /** - * @return Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @return The description of the database account. * */ public Output> accountDescription() { return Codegen.optional(this.accountDescription); } /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + @Export(name="accountLockState", refs={String.class}, tree="[0]") + private Output accountLockState; + + /** + * @return The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + public Output accountLockState() { + return this.accountLockState; + } + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ @Export(name="accountName", refs={String.class}, tree="[0]") private Output accountName; /** - * @return Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @return The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ public Output accountName() { return this.accountName; } /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ @Export(name="accountPassword", refs={String.class}, tree="[0]") - private Output accountPassword; + private Output accountPassword; /** - * @return Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @return The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ - public Output accountPassword() { - return this.accountPassword; + public Output> accountPassword() { + return Codegen.optional(this.accountPassword); } /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The time when the password for the database account expires. + * + */ + @Export(name="accountPasswordValidTime", refs={String.class}, tree="[0]") + private Output accountPasswordValidTime; + + /** + * @return The time when the password for the database account expires. + * + */ + public Output accountPasswordValidTime() { + return this.accountPasswordValidTime; + } + /** + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ @Export(name="accountType", refs={String.class}, tree="[0]") - private Output accountType; + private Output accountType; /** - * @return Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @return The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ - public Output> accountType() { - return Codegen.optional(this.accountType); + public Output accountType() { + return this.accountType; } /** - * The Id of cluster in which account belongs. + * The cluster ID. * */ @Export(name="dbClusterId", refs={String.class}, tree="[0]") private Output dbClusterId; /** - * @return The Id of cluster in which account belongs. + * @return The cluster ID. * */ public Output dbClusterId() { @@ -202,6 +254,20 @@ public Output> kmsEncryptedPassword() { public Output>> kmsEncryptionContext() { return Codegen.optional(this.kmsEncryptionContext); } + /** + * (Available since v1.265.0) The status of the database account. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return (Available since v1.265.0) The status of the database account. + * + */ + public Output status() { + return this.status; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountArgs.java index 2c219212ca..ca09619974 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountArgs.java @@ -18,14 +18,14 @@ public final class AccountArgs extends com.pulumi.resources.ResourceArgs { public static final AccountArgs Empty = new AccountArgs(); /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. * */ @Import(name="accountDescription") private @Nullable Output accountDescription; /** - * @return Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @return The description of the database account. * */ public Optional> accountDescription() { @@ -33,14 +33,41 @@ public Optional> accountDescription() { } /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + @Import(name="accountLockState") + private @Nullable Output accountLockState; + + /** + * @return The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + public Optional> accountLockState() { + return Optional.ofNullable(this.accountLockState); + } + + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ @Import(name="accountName", required=true) private Output accountName; /** - * @return Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @return The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ public Output accountName() { @@ -48,29 +75,50 @@ public Output accountName() { } /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ - @Import(name="accountPassword", required=true) - private Output accountPassword; + @Import(name="accountPassword") + private @Nullable Output accountPassword; /** - * @return Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @return The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ - public Output accountPassword() { - return this.accountPassword; + public Optional> accountPassword() { + return Optional.ofNullable(this.accountPassword); } /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The time when the password for the database account expires. + * + */ + @Import(name="accountPasswordValidTime") + private @Nullable Output accountPasswordValidTime; + + /** + * @return The time when the password for the database account expires. + * + */ + public Optional> accountPasswordValidTime() { + return Optional.ofNullable(this.accountPasswordValidTime); + } + + /** + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ @Import(name="accountType") private @Nullable Output accountType; /** - * @return Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @return The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ public Optional> accountType() { @@ -78,14 +126,14 @@ public Optional> accountType() { } /** - * The Id of cluster in which account belongs. + * The cluster ID. * */ @Import(name="dbClusterId", required=true) private Output dbClusterId; /** - * @return The Id of cluster in which account belongs. + * @return The cluster ID. * */ public Output dbClusterId() { @@ -126,8 +174,10 @@ private AccountArgs() {} private AccountArgs(AccountArgs $) { this.accountDescription = $.accountDescription; + this.accountLockState = $.accountLockState; this.accountName = $.accountName; this.accountPassword = $.accountPassword; + this.accountPasswordValidTime = $.accountPasswordValidTime; this.accountType = $.accountType; this.dbClusterId = $.dbClusterId; this.kmsEncryptedPassword = $.kmsEncryptedPassword; @@ -153,7 +203,7 @@ public Builder(AccountArgs defaults) { } /** - * @param accountDescription Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param accountDescription The description of the database account. * * @return builder * @@ -164,7 +214,7 @@ public Builder accountDescription(@Nullable Output accountDescription) { } /** - * @param accountDescription Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param accountDescription The description of the database account. * * @return builder * @@ -174,7 +224,36 @@ public Builder accountDescription(String accountDescription) { } /** - * @param accountName Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @param accountLockState The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + * @return builder + * + */ + public Builder accountLockState(@Nullable Output accountLockState) { + $.accountLockState = accountLockState; + return this; + } + + /** + * @param accountLockState The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + * @return builder + * + */ + public Builder accountLockState(String accountLockState) { + return accountLockState(Output.of(accountLockState)); + } + + /** + * @param accountName The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * * @return builder * @@ -185,7 +264,11 @@ public Builder accountName(Output accountName) { } /** - * @param accountName Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @param accountName The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * * @return builder * @@ -195,18 +278,24 @@ public Builder accountName(String accountName) { } /** - * @param accountPassword Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @param accountPassword The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * * @return builder * */ - public Builder accountPassword(Output accountPassword) { + public Builder accountPassword(@Nullable Output accountPassword) { $.accountPassword = accountPassword; return this; } /** - * @param accountPassword Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @param accountPassword The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * * @return builder * @@ -216,7 +305,28 @@ public Builder accountPassword(String accountPassword) { } /** - * @param accountType Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @param accountPasswordValidTime The time when the password for the database account expires. + * + * @return builder + * + */ + public Builder accountPasswordValidTime(@Nullable Output accountPasswordValidTime) { + $.accountPasswordValidTime = accountPasswordValidTime; + return this; + } + + /** + * @param accountPasswordValidTime The time when the password for the database account expires. + * + * @return builder + * + */ + public Builder accountPasswordValidTime(String accountPasswordValidTime) { + return accountPasswordValidTime(Output.of(accountPasswordValidTime)); + } + + /** + * @param accountType The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * * @return builder * @@ -227,7 +337,7 @@ public Builder accountType(@Nullable Output accountType) { } /** - * @param accountType Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @param accountType The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * * @return builder * @@ -237,7 +347,7 @@ public Builder accountType(String accountType) { } /** - * @param dbClusterId The Id of cluster in which account belongs. + * @param dbClusterId The cluster ID. * * @return builder * @@ -248,7 +358,7 @@ public Builder dbClusterId(Output dbClusterId) { } /** - * @param dbClusterId The Id of cluster in which account belongs. + * @param dbClusterId The cluster ID. * * @return builder * @@ -303,9 +413,6 @@ public AccountArgs build() { if ($.accountName == null) { throw new MissingRequiredPropertyException("AccountArgs", "accountName"); } - if ($.accountPassword == null) { - throw new MissingRequiredPropertyException("AccountArgs", "accountPassword"); - } if ($.dbClusterId == null) { throw new MissingRequiredPropertyException("AccountArgs", "dbClusterId"); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountPrivilege.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountPrivilege.java index 2dfd0b0fe9..290f7a15ad 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountPrivilege.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/AccountPrivilege.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB account privilege can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ClusterEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ClusterEndpoint.java index 28596c1602..07c6884583 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ClusterEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ClusterEndpoint.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Database.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Database.java index 24a57d94be..472549108a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Database.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Database.java @@ -15,12 +15,18 @@ import javax.annotation.Nullable; /** - * Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. + * Provides a Polar Db Database resource. + * + * Manage linked databases. + * + * For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). * * > **NOTE:** Available since v1.66.0. * * ## Example Usage * + * Basic Usage + * *
  * {@code
  * package generated_program;
@@ -89,87 +95,139 @@
  * }
  * 
* + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * PolarDB database can be imported using the id, e.g. + * Polar Db Database can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" + * $ pulumi import alicloud:polardb/database:Database example <db_cluster_id>:<db_name> * ``` * */ @ResourceType(type="alicloud:polardb/database:Database") public class Database extends com.pulumi.resources.CustomResource { /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ @Export(name="accountName", refs={String.class}, tree="[0]") private Output accountName; /** - * @return Account name authorized to access the database. Only supports PostgreSQL. + * @return The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ public Output> accountName() { return Codegen.optional(this.accountName); } /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * */ @Export(name="characterSetName", refs={String.class}, tree="[0]") - private Output characterSetName; + private Output characterSetName; + + /** + * @return The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + * + */ + public Output characterSetName() { + return this.characterSetName; + } + /** + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Export(name="collate", refs={String.class}, tree="[0]") + private Output collate; + + /** + * @return The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + public Output> collate() { + return Codegen.optional(this.collate); + } + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Export(name="ctype", refs={String.class}, tree="[0]") + private Output ctype; /** - * @return Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @return The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. * */ - public Output> characterSetName() { - return Codegen.optional(this.characterSetName); + public Output> ctype() { + return Codegen.optional(this.ctype); } /** - * The Id of cluster that can run database. + * The ID of cluster. * */ @Export(name="dbClusterId", refs={String.class}, tree="[0]") private Output dbClusterId; /** - * @return The Id of cluster that can run database. + * @return The ID of cluster. * */ public Output dbClusterId() { return this.dbClusterId; } /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ @Export(name="dbDescription", refs={String.class}, tree="[0]") - private Output dbDescription; + private Output dbDescription; /** - * @return Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @return The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ - public Output> dbDescription() { - return Codegen.optional(this.dbDescription); + public Output dbDescription() { + return this.dbDescription; } /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ @Export(name="dbName", refs={String.class}, tree="[0]") private Output dbName; /** - * @return Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @return The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ public Output dbName() { return this.dbName; } + /** + * (Available since v1.265.0) The state of the database. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return (Available since v1.265.0) The state of the database. + * + */ + public Output status() { + return this.status; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/DatabaseArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/DatabaseArgs.java index dfc0ca8835..dd905e4db6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/DatabaseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/DatabaseArgs.java @@ -17,14 +17,14 @@ public final class DatabaseArgs extends com.pulumi.resources.ResourceArgs { public static final DatabaseArgs Empty = new DatabaseArgs(); /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ @Import(name="accountName") private @Nullable Output accountName; /** - * @return Account name authorized to access the database. Only supports PostgreSQL. + * @return The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ public Optional> accountName() { @@ -32,14 +32,14 @@ public Optional> accountName() { } /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * */ @Import(name="characterSetName") private @Nullable Output characterSetName; /** - * @return Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @return The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * */ public Optional> characterSetName() { @@ -47,14 +47,48 @@ public Optional> characterSetName() { } /** - * The Id of cluster that can run database. + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Import(name="collate") + private @Nullable Output collate; + + /** + * @return The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + public Optional> collate() { + return Optional.ofNullable(this.collate); + } + + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Import(name="ctype") + private @Nullable Output ctype; + + /** + * @return The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + public Optional> ctype() { + return Optional.ofNullable(this.ctype); + } + + /** + * The ID of cluster. * */ @Import(name="dbClusterId", required=true) private Output dbClusterId; /** - * @return The Id of cluster that can run database. + * @return The ID of cluster. * */ public Output dbClusterId() { @@ -62,14 +96,18 @@ public Output dbClusterId() { } /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ @Import(name="dbDescription") private @Nullable Output dbDescription; /** - * @return Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @return The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ public Optional> dbDescription() { @@ -77,14 +115,14 @@ public Optional> dbDescription() { } /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ @Import(name="dbName", required=true) private Output dbName; /** - * @return Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @return The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ public Output dbName() { @@ -96,6 +134,8 @@ private DatabaseArgs() {} private DatabaseArgs(DatabaseArgs $) { this.accountName = $.accountName; this.characterSetName = $.characterSetName; + this.collate = $.collate; + this.ctype = $.ctype; this.dbClusterId = $.dbClusterId; this.dbDescription = $.dbDescription; this.dbName = $.dbName; @@ -120,7 +160,7 @@ public Builder(DatabaseArgs defaults) { } /** - * @param accountName Account name authorized to access the database. Only supports PostgreSQL. + * @param accountName The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * * @return builder * @@ -131,7 +171,7 @@ public Builder accountName(@Nullable Output accountName) { } /** - * @param accountName Account name authorized to access the database. Only supports PostgreSQL. + * @param accountName The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * * @return builder * @@ -141,7 +181,7 @@ public Builder accountName(String accountName) { } /** - * @param characterSetName Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @param characterSetName The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * * @return builder * @@ -152,7 +192,7 @@ public Builder characterSetName(@Nullable Output characterSetName) { } /** - * @param characterSetName Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @param characterSetName The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * * @return builder * @@ -162,7 +202,53 @@ public Builder characterSetName(String characterSetName) { } /** - * @param dbClusterId The Id of cluster that can run database. + * @param collate The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder collate(@Nullable Output collate) { + $.collate = collate; + return this; + } + + /** + * @param collate The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder collate(String collate) { + return collate(Output.of(collate)); + } + + /** + * @param ctype The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder ctype(@Nullable Output ctype) { + $.ctype = ctype; + return this; + } + + /** + * @param ctype The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder ctype(String ctype) { + return ctype(Output.of(ctype)); + } + + /** + * @param dbClusterId The ID of cluster. * * @return builder * @@ -173,7 +259,7 @@ public Builder dbClusterId(Output dbClusterId) { } /** - * @param dbClusterId The Id of cluster that can run database. + * @param dbClusterId The ID of cluster. * * @return builder * @@ -183,7 +269,9 @@ public Builder dbClusterId(String dbClusterId) { } /** - * @param dbDescription Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @param dbDescription The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * * @return builder * @@ -194,7 +282,9 @@ public Builder dbDescription(@Nullable Output dbDescription) { } /** - * @param dbDescription Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @param dbDescription The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * * @return builder * @@ -204,7 +294,7 @@ public Builder dbDescription(String dbDescription) { } /** - * @param dbName Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @param dbName The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * * @return builder * @@ -215,7 +305,7 @@ public Builder dbName(Output dbName) { } /** - * @param dbName Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @param dbName The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Endpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Endpoint.java index 25fc4b7de4..7062fef813 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/Endpoint.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/EndpointAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/EndpointAddress.java index ad9e1edf3e..2fc4dd30a6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/EndpointAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/EndpointAddress.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalDatabaseNetwork.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalDatabaseNetwork.java index 43844a6d15..6f571e2809 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalDatabaseNetwork.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalDatabaseNetwork.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Global Database Network can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroup.java new file mode 100644 index 0000000000..fd4b659b70 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroup.java @@ -0,0 +1,186 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.polardb; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.polardb.GlobalSecurityIpGroupArgs; +import com.pulumi.alicloud.polardb.inputs.GlobalSecurityIpGroupState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Provides a Polardb Global Security Ip Group resource. + * + * Global Security IP Group. + * + * For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.polardb.GlobalSecurityIpGroup;
+ * import com.pulumi.alicloud.polardb.GlobalSecurityIpGroupArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new GlobalSecurityIpGroup("default", GlobalSecurityIpGroupArgs.builder()
+ *             .globalIpList("192.168.0.1")
+ *             .globalIpGroupName("example_template")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Polardb Global Security Ip Group can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example <id> + * ``` + * + */ +@ResourceType(type="alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup") +public class GlobalSecurityIpGroup extends com.pulumi.resources.CustomResource { + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + @Export(name="globalIpGroupName", refs={String.class}, tree="[0]") + private Output globalIpGroupName; + + /** + * @return The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + public Output globalIpGroupName() { + return this.globalIpGroupName; + } + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + @Export(name="globalIpList", refs={String.class}, tree="[0]") + private Output globalIpList; + + /** + * @return The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + public Output globalIpList() { + return this.globalIpList; + } + /** + * The region ID of the IP whitelist template. + * + */ + @Export(name="regionId", refs={String.class}, tree="[0]") + private Output regionId; + + /** + * @return The region ID of the IP whitelist template. + * + */ + public Output regionId() { + return this.regionId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public GlobalSecurityIpGroup(java.lang.String name) { + this(name, GlobalSecurityIpGroupArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public GlobalSecurityIpGroup(java.lang.String name, GlobalSecurityIpGroupArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public GlobalSecurityIpGroup(java.lang.String name, GlobalSecurityIpGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private GlobalSecurityIpGroup(java.lang.String name, Output id, @Nullable GlobalSecurityIpGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup", name, state, makeResourceOptions(options, id), false); + } + + private static GlobalSecurityIpGroupArgs makeArgs(GlobalSecurityIpGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? GlobalSecurityIpGroupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static GlobalSecurityIpGroup get(java.lang.String name, Output id, @Nullable GlobalSecurityIpGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new GlobalSecurityIpGroup(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroupArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroupArgs.java new file mode 100644 index 0000000000..d940ee6f61 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/GlobalSecurityIpGroupArgs.java @@ -0,0 +1,149 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.polardb; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GlobalSecurityIpGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final GlobalSecurityIpGroupArgs Empty = new GlobalSecurityIpGroupArgs(); + + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + @Import(name="globalIpGroupName", required=true) + private Output globalIpGroupName; + + /** + * @return The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + public Output globalIpGroupName() { + return this.globalIpGroupName; + } + + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + @Import(name="globalIpList", required=true) + private Output globalIpList; + + /** + * @return The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + public Output globalIpList() { + return this.globalIpList; + } + + private GlobalSecurityIpGroupArgs() {} + + private GlobalSecurityIpGroupArgs(GlobalSecurityIpGroupArgs $) { + this.globalIpGroupName = $.globalIpGroupName; + this.globalIpList = $.globalIpList; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GlobalSecurityIpGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GlobalSecurityIpGroupArgs $; + + public Builder() { + $ = new GlobalSecurityIpGroupArgs(); + } + + public Builder(GlobalSecurityIpGroupArgs defaults) { + $ = new GlobalSecurityIpGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param globalIpGroupName The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + * @return builder + * + */ + public Builder globalIpGroupName(Output globalIpGroupName) { + $.globalIpGroupName = globalIpGroupName; + return this; + } + + /** + * @param globalIpGroupName The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + * @return builder + * + */ + public Builder globalIpGroupName(String globalIpGroupName) { + return globalIpGroupName(Output.of(globalIpGroupName)); + } + + /** + * @param globalIpList The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + * @return builder + * + */ + public Builder globalIpList(Output globalIpList) { + $.globalIpList = globalIpList; + return this; + } + + /** + * @param globalIpList The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + * @return builder + * + */ + public Builder globalIpList(String globalIpList) { + return globalIpList(Output.of(globalIpList)); + } + + public GlobalSecurityIpGroupArgs build() { + if ($.globalIpGroupName == null) { + throw new MissingRequiredPropertyException("GlobalSecurityIpGroupArgs", "globalIpGroupName"); + } + if ($.globalIpList == null) { + throw new MissingRequiredPropertyException("GlobalSecurityIpGroupArgs", "globalIpList"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ParameterGroup.java index 7b14a0a3eb..935f6f640f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ParameterGroup.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Polar Db Parameter Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/PrimaryEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/PrimaryEndpoint.java index 51b4da1ff6..a70ae07917 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/PrimaryEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/PrimaryEndpoint.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalAccount.java index bffd20050a..25f198c87b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalAccount.java @@ -22,6 +22,8 @@ * * ## Example Usage * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Zonal account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalDbCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalDbCluster.java index 9a22ccaa24..63e604247b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalDbCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalDbCluster.java @@ -27,6 +27,8 @@ * * Create a PolarDB MySQL zonal cluster * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB zonal cluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalEndpoint.java index 773216d05b..2b33ce1fdb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/ZonalEndpoint.java @@ -24,6 +24,8 @@ * * ## Example Usage * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Zonal endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/AccountState.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/AccountState.java index 7f8e4d6b6e..a8c085277f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/AccountState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/AccountState.java @@ -17,14 +17,14 @@ public final class AccountState extends com.pulumi.resources.ResourceArgs { public static final AccountState Empty = new AccountState(); /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. * */ @Import(name="accountDescription") private @Nullable Output accountDescription; /** - * @return Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @return The description of the database account. * */ public Optional> accountDescription() { @@ -32,14 +32,41 @@ public Optional> accountDescription() { } /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + @Import(name="accountLockState") + private @Nullable Output accountLockState; + + /** + * @return The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + */ + public Optional> accountLockState() { + return Optional.ofNullable(this.accountLockState); + } + + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ @Import(name="accountName") private @Nullable Output accountName; /** - * @return Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @return The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * */ public Optional> accountName() { @@ -47,14 +74,20 @@ public Optional> accountName() { } /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ @Import(name="accountPassword") private @Nullable Output accountPassword; /** - * @return Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @return The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * */ public Optional> accountPassword() { @@ -62,14 +95,29 @@ public Optional> accountPassword() { } /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The time when the password for the database account expires. + * + */ + @Import(name="accountPasswordValidTime") + private @Nullable Output accountPasswordValidTime; + + /** + * @return The time when the password for the database account expires. + * + */ + public Optional> accountPasswordValidTime() { + return Optional.ofNullable(this.accountPasswordValidTime); + } + + /** + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ @Import(name="accountType") private @Nullable Output accountType; /** - * @return Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @return The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * */ public Optional> accountType() { @@ -77,14 +125,14 @@ public Optional> accountType() { } /** - * The Id of cluster in which account belongs. + * The cluster ID. * */ @Import(name="dbClusterId") private @Nullable Output dbClusterId; /** - * @return The Id of cluster in which account belongs. + * @return The cluster ID. * */ public Optional> dbClusterId() { @@ -121,16 +169,34 @@ public Optional>> kmsEncryptionContext() { return Optional.ofNullable(this.kmsEncryptionContext); } + /** + * (Available since v1.265.0) The status of the database account. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return (Available since v1.265.0) The status of the database account. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + private AccountState() {} private AccountState(AccountState $) { this.accountDescription = $.accountDescription; + this.accountLockState = $.accountLockState; this.accountName = $.accountName; this.accountPassword = $.accountPassword; + this.accountPasswordValidTime = $.accountPasswordValidTime; this.accountType = $.accountType; this.dbClusterId = $.dbClusterId; this.kmsEncryptedPassword = $.kmsEncryptedPassword; this.kmsEncryptionContext = $.kmsEncryptionContext; + this.status = $.status; } public static Builder builder() { @@ -152,7 +218,7 @@ public Builder(AccountState defaults) { } /** - * @param accountDescription Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param accountDescription The description of the database account. * * @return builder * @@ -163,7 +229,7 @@ public Builder accountDescription(@Nullable Output accountDescription) { } /** - * @param accountDescription Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param accountDescription The description of the database account. * * @return builder * @@ -173,7 +239,36 @@ public Builder accountDescription(String accountDescription) { } /** - * @param accountName Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @param accountLockState The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + * @return builder + * + */ + public Builder accountLockState(@Nullable Output accountLockState) { + $.accountLockState = accountLockState; + return this; + } + + /** + * @param accountLockState The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + * + * @return builder + * + */ + public Builder accountLockState(String accountLockState) { + return accountLockState(Output.of(accountLockState)); + } + + /** + * @param accountName The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * * @return builder * @@ -184,7 +279,11 @@ public Builder accountName(@Nullable Output accountName) { } /** - * @param accountName Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * @param accountName The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. * * @return builder * @@ -194,7 +293,10 @@ public Builder accountName(String accountName) { } /** - * @param accountPassword Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @param accountPassword The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * * @return builder * @@ -205,7 +307,10 @@ public Builder accountPassword(@Nullable Output accountPassword) { } /** - * @param accountPassword Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * @param accountPassword The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !{@literal @}#$%^&*()_+-=. * * @return builder * @@ -215,7 +320,28 @@ public Builder accountPassword(String accountPassword) { } /** - * @param accountType Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @param accountPasswordValidTime The time when the password for the database account expires. + * + * @return builder + * + */ + public Builder accountPasswordValidTime(@Nullable Output accountPasswordValidTime) { + $.accountPasswordValidTime = accountPasswordValidTime; + return this; + } + + /** + * @param accountPasswordValidTime The time when the password for the database account expires. + * + * @return builder + * + */ + public Builder accountPasswordValidTime(String accountPasswordValidTime) { + return accountPasswordValidTime(Output.of(accountPasswordValidTime)); + } + + /** + * @param accountType The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * * @return builder * @@ -226,7 +352,7 @@ public Builder accountType(@Nullable Output accountType) { } /** - * @param accountType Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * @param accountType The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. * * @return builder * @@ -236,7 +362,7 @@ public Builder accountType(String accountType) { } /** - * @param dbClusterId The Id of cluster in which account belongs. + * @param dbClusterId The cluster ID. * * @return builder * @@ -247,7 +373,7 @@ public Builder dbClusterId(@Nullable Output dbClusterId) { } /** - * @param dbClusterId The Id of cluster in which account belongs. + * @param dbClusterId The cluster ID. * * @return builder * @@ -298,6 +424,27 @@ public Builder kmsEncryptionContext(Map kmsEncryptionContext) { return kmsEncryptionContext(Output.of(kmsEncryptionContext)); } + /** + * @param status (Available since v1.265.0) The status of the database account. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status (Available since v1.265.0) The status of the database account. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + public AccountState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/DatabaseState.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/DatabaseState.java index 13dc2d2830..0ae3de5c95 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/DatabaseState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/DatabaseState.java @@ -16,14 +16,14 @@ public final class DatabaseState extends com.pulumi.resources.ResourceArgs { public static final DatabaseState Empty = new DatabaseState(); /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ @Import(name="accountName") private @Nullable Output accountName; /** - * @return Account name authorized to access the database. Only supports PostgreSQL. + * @return The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * */ public Optional> accountName() { @@ -31,14 +31,14 @@ public Optional> accountName() { } /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * */ @Import(name="characterSetName") private @Nullable Output characterSetName; /** - * @return Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @return The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * */ public Optional> characterSetName() { @@ -46,14 +46,48 @@ public Optional> characterSetName() { } /** - * The Id of cluster that can run database. + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Import(name="collate") + private @Nullable Output collate; + + /** + * @return The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + public Optional> collate() { + return Optional.ofNullable(this.collate); + } + + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + @Import(name="ctype") + private @Nullable Output ctype; + + /** + * @return The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + */ + public Optional> ctype() { + return Optional.ofNullable(this.ctype); + } + + /** + * The ID of cluster. * */ @Import(name="dbClusterId") private @Nullable Output dbClusterId; /** - * @return The Id of cluster that can run database. + * @return The ID of cluster. * */ public Optional> dbClusterId() { @@ -61,14 +95,18 @@ public Optional> dbClusterId() { } /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ @Import(name="dbDescription") private @Nullable Output dbDescription; /** - * @return Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @return The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * */ public Optional> dbDescription() { @@ -76,28 +114,46 @@ public Optional> dbDescription() { } /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ @Import(name="dbName") private @Nullable Output dbName; /** - * @return Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @return The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * */ public Optional> dbName() { return Optional.ofNullable(this.dbName); } + /** + * (Available since v1.265.0) The state of the database. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return (Available since v1.265.0) The state of the database. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + private DatabaseState() {} private DatabaseState(DatabaseState $) { this.accountName = $.accountName; this.characterSetName = $.characterSetName; + this.collate = $.collate; + this.ctype = $.ctype; this.dbClusterId = $.dbClusterId; this.dbDescription = $.dbDescription; this.dbName = $.dbName; + this.status = $.status; } public static Builder builder() { @@ -119,7 +175,7 @@ public Builder(DatabaseState defaults) { } /** - * @param accountName Account name authorized to access the database. Only supports PostgreSQL. + * @param accountName The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * * @return builder * @@ -130,7 +186,7 @@ public Builder accountName(@Nullable Output accountName) { } /** - * @param accountName Account name authorized to access the database. Only supports PostgreSQL. + * @param accountName The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. * * @return builder * @@ -140,7 +196,7 @@ public Builder accountName(String accountName) { } /** - * @param characterSetName Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @param characterSetName The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * * @return builder * @@ -151,7 +207,7 @@ public Builder characterSetName(@Nullable Output characterSetName) { } /** - * @param characterSetName Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * @param characterSetName The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). * * @return builder * @@ -161,7 +217,53 @@ public Builder characterSetName(String characterSetName) { } /** - * @param dbClusterId The Id of cluster that can run database. + * @param collate The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder collate(@Nullable Output collate) { + $.collate = collate; + return this; + } + + /** + * @param collate The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder collate(String collate) { + return collate(Output.of(collate)); + } + + /** + * @param ctype The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder ctype(@Nullable Output ctype) { + $.ctype = ctype; + return this; + } + + /** + * @param ctype The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + * + * @return builder + * + */ + public Builder ctype(String ctype) { + return ctype(Output.of(ctype)); + } + + /** + * @param dbClusterId The ID of cluster. * * @return builder * @@ -172,7 +274,7 @@ public Builder dbClusterId(@Nullable Output dbClusterId) { } /** - * @param dbClusterId The Id of cluster that can run database. + * @param dbClusterId The ID of cluster. * * @return builder * @@ -182,7 +284,9 @@ public Builder dbClusterId(String dbClusterId) { } /** - * @param dbDescription Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @param dbDescription The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * * @return builder * @@ -193,7 +297,9 @@ public Builder dbDescription(@Nullable Output dbDescription) { } /** - * @param dbDescription Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * @param dbDescription The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. * * @return builder * @@ -203,7 +309,7 @@ public Builder dbDescription(String dbDescription) { } /** - * @param dbName Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @param dbName The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * * @return builder * @@ -214,7 +320,7 @@ public Builder dbName(@Nullable Output dbName) { } /** - * @param dbName Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * @param dbName The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. * * @return builder * @@ -223,6 +329,27 @@ public Builder dbName(String dbName) { return dbName(Output.of(dbName)); } + /** + * @param status (Available since v1.265.0) The state of the database. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status (Available since v1.265.0) The state of the database. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + public DatabaseState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/GlobalSecurityIpGroupState.java b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/GlobalSecurityIpGroupState.java new file mode 100644 index 0000000000..227b0b1527 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/polardb/inputs/GlobalSecurityIpGroupState.java @@ -0,0 +1,181 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.polardb.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GlobalSecurityIpGroupState extends com.pulumi.resources.ResourceArgs { + + public static final GlobalSecurityIpGroupState Empty = new GlobalSecurityIpGroupState(); + + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + @Import(name="globalIpGroupName") + private @Nullable Output globalIpGroupName; + + /** + * @return The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + */ + public Optional> globalIpGroupName() { + return Optional.ofNullable(this.globalIpGroupName); + } + + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + @Import(name="globalIpList") + private @Nullable Output globalIpList; + + /** + * @return The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + */ + public Optional> globalIpList() { + return Optional.ofNullable(this.globalIpList); + } + + /** + * The region ID of the IP whitelist template. + * + */ + @Import(name="regionId") + private @Nullable Output regionId; + + /** + * @return The region ID of the IP whitelist template. + * + */ + public Optional> regionId() { + return Optional.ofNullable(this.regionId); + } + + private GlobalSecurityIpGroupState() {} + + private GlobalSecurityIpGroupState(GlobalSecurityIpGroupState $) { + this.globalIpGroupName = $.globalIpGroupName; + this.globalIpList = $.globalIpList; + this.regionId = $.regionId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GlobalSecurityIpGroupState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GlobalSecurityIpGroupState $; + + public Builder() { + $ = new GlobalSecurityIpGroupState(); + } + + public Builder(GlobalSecurityIpGroupState defaults) { + $ = new GlobalSecurityIpGroupState(Objects.requireNonNull(defaults)); + } + + /** + * @param globalIpGroupName The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + * @return builder + * + */ + public Builder globalIpGroupName(@Nullable Output globalIpGroupName) { + $.globalIpGroupName = globalIpGroupName; + return this; + } + + /** + * @param globalIpGroupName The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + * + * @return builder + * + */ + public Builder globalIpGroupName(String globalIpGroupName) { + return globalIpGroupName(Output.of(globalIpGroupName)); + } + + /** + * @param globalIpList The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + * @return builder + * + */ + public Builder globalIpList(@Nullable Output globalIpList) { + $.globalIpList = globalIpList; + return this; + } + + /** + * @param globalIpList The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + * + * @return builder + * + */ + public Builder globalIpList(String globalIpList) { + return globalIpList(Output.of(globalIpList)); + } + + /** + * @param regionId The region ID of the IP whitelist template. + * + * @return builder + * + */ + public Builder regionId(@Nullable Output regionId) { + $.regionId = regionId; + return this; + } + + /** + * @param regionId The region ID of the IP whitelist template. + * + * @return builder + * + */ + public Builder regionId(String regionId) { + return regionId(Output.of(regionId)); + } + + public GlobalSecurityIpGroupState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/PrivatelinkFunctions.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/PrivatelinkFunctions.java index ebc1877955..9f9d5aa73e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/PrivatelinkFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/PrivatelinkFunctions.java @@ -1022,7 +1022,7 @@ public static CompletableFuture getVpcEndpoint return Deployment.getInstance().invokeAsync("alicloud:privatelink/getVpcEndpointServiceUsers:getVpcEndpointServiceUsers", TypeShape.of(GetVpcEndpointServiceUsersResult.class), args, Utilities.withVersion(options)); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1054,17 +1054,18 @@ public static CompletableFuture getVpcEndpoint * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1075,7 +1076,7 @@ public static Output getVpcEndpointServices() { return getVpcEndpointServices(GetVpcEndpointServicesArgs.Empty, InvokeOptions.Empty); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1107,17 +1108,18 @@ public static Output getVpcEndpointServices() { * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1128,7 +1130,7 @@ public static CompletableFuture getVpcEndpointServ return getVpcEndpointServicesPlain(GetVpcEndpointServicesPlainArgs.Empty, InvokeOptions.Empty); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1160,17 +1162,18 @@ public static CompletableFuture getVpcEndpointServ * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1181,7 +1184,7 @@ public static Output getVpcEndpointServices(GetVpc return getVpcEndpointServices(args, InvokeOptions.Empty); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1213,17 +1216,18 @@ public static Output getVpcEndpointServices(GetVpc * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1234,7 +1238,7 @@ public static CompletableFuture getVpcEndpointServ return getVpcEndpointServicesPlain(args, InvokeOptions.Empty); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1266,17 +1270,18 @@ public static CompletableFuture getVpcEndpointServ * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1287,7 +1292,7 @@ public static Output getVpcEndpointServices(GetVpc return Deployment.getInstance().invoke("alicloud:privatelink/getVpcEndpointServices:getVpcEndpointServices", TypeShape.of(GetVpcEndpointServicesResult.class), args, Utilities.withVersion(options)); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1319,17 +1324,18 @@ public static Output getVpcEndpointServices(GetVpc * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } @@ -1340,7 +1346,7 @@ public static Output getVpcEndpointServices(GetVpc return Deployment.getInstance().invoke("alicloud:privatelink/getVpcEndpointServices:getVpcEndpointServices", TypeShape.of(GetVpcEndpointServicesResult.class), args, Utilities.withVersion(options)); } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -1372,17 +1378,18 @@ public static Output getVpcEndpointServices(GetVpc * } * * public static void stack(Context ctx) { - * var exampleVpcEndpointService = new VpcEndpointService("exampleVpcEndpointService", VpcEndpointServiceArgs.builder() - * .serviceDescription("terraform-example") - * .connectBandwidth(103) - * .autoAcceptConnection(false) + * final var config = ctx.config(); + * final var name = config.get("name").orElse("terraform-example"); + * var default_ = new VpcEndpointService("default", VpcEndpointServiceArgs.builder() + * .serviceDescription(name) + * .autoAcceptConnection(true) * .build()); * - * final var example = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() - * .ids(exampleVpcEndpointService.id()) + * final var ids = PrivatelinkFunctions.getVpcEndpointServices(GetVpcEndpointServicesArgs.builder() + * .ids(default_.id()) * .build()); * - * ctx.export("firstPrivatelinkVpcEndpointServiceId", example.applyValue(_example -> _example.services()[0].id())); + * ctx.export("privatelinkVpcEndpointServicesId0", ids.applyValue(_ids -> _ids.services()[0].id())); * } * } * } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpoint.java index a46b792293..9bbeb80f19 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpoint.java @@ -108,6 +108,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointService.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointService.java index 6fe5da68e1..834bf5b5d9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointService.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointService.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceConnection.java index 8cce7ec479..a9b9c44efb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceConnection.java @@ -127,6 +127,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceResource.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceResource.java index 5b5c74a8b2..638333e8cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceResource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceResource.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceUser.java index d9a139c2bf..4fa0c06a2d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointServiceUser.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointZone.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointZone.java index 7116b91d76..bdafe14c22 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointZone.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/VpcEndpointZone.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Zone can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesArgs.java index afb6dcbbe0..65ee29a6a2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesArgs.java @@ -19,14 +19,14 @@ public final class GetVpcEndpointServicesArgs extends com.pulumi.resources.Invok public static final GetVpcEndpointServicesArgs Empty = new GetVpcEndpointServicesArgs(); /** - * Whether to automatically accept terminal node connections. + * Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ @Import(name="autoAcceptConnection") private @Nullable Output autoAcceptConnection; /** - * @return Whether to automatically accept terminal node connections. + * @return Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ public Optional> autoAcceptConnection() { @@ -79,14 +79,14 @@ public Optional> outputFile() { } /** - * The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ @Import(name="serviceBusinessStatus") private @Nullable Output serviceBusinessStatus; /** - * @return The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @return The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ public Optional> serviceBusinessStatus() { @@ -94,14 +94,14 @@ public Optional> serviceBusinessStatus() { } /** - * The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ @Import(name="status") private @Nullable Output status; /** - * @return The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @return The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ public Optional> status() { @@ -109,14 +109,14 @@ public Optional> status() { } /** - * The tags of Vpc Endpoint Service. + * A mapping of tags to assign to the resource. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return The tags of Vpc Endpoint Service. + * @return A mapping of tags to assign to the resource. * */ public Optional>> tags() { @@ -124,14 +124,14 @@ public Optional>> tags() { } /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. * */ @Import(name="vpcEndpointServiceName") private @Nullable Output vpcEndpointServiceName; /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ public Optional> vpcEndpointServiceName() { @@ -170,7 +170,7 @@ public Builder(GetVpcEndpointServicesArgs defaults) { } /** - * @param autoAcceptConnection Whether to automatically accept terminal node connections. + * @param autoAcceptConnection Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * * @return builder * @@ -181,7 +181,7 @@ public Builder autoAcceptConnection(@Nullable Output autoAcceptConnecti } /** - * @param autoAcceptConnection Whether to automatically accept terminal node connections. + * @param autoAcceptConnection Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * * @return builder * @@ -264,7 +264,7 @@ public Builder outputFile(String outputFile) { } /** - * @param serviceBusinessStatus The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @param serviceBusinessStatus The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * * @return builder * @@ -275,7 +275,7 @@ public Builder serviceBusinessStatus(@Nullable Output serviceBusinessSta } /** - * @param serviceBusinessStatus The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @param serviceBusinessStatus The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * * @return builder * @@ -285,7 +285,7 @@ public Builder serviceBusinessStatus(String serviceBusinessStatus) { } /** - * @param status The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @param status The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * * @return builder * @@ -296,7 +296,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @param status The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * * @return builder * @@ -306,7 +306,7 @@ public Builder status(String status) { } /** - * @param tags The tags of Vpc Endpoint Service. + * @param tags A mapping of tags to assign to the resource. * * @return builder * @@ -317,7 +317,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags The tags of Vpc Endpoint Service. + * @param tags A mapping of tags to assign to the resource. * * @return builder * @@ -327,7 +327,7 @@ public Builder tags(Map tags) { } /** - * @param vpcEndpointServiceName The name of Vpc Endpoint Service. + * @param vpcEndpointServiceName The name of the endpoint service. * * @return builder * @@ -338,7 +338,7 @@ public Builder vpcEndpointServiceName(@Nullable Output vpcEndpointServic } /** - * @param vpcEndpointServiceName The name of Vpc Endpoint Service. + * @param vpcEndpointServiceName The name of the endpoint service. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesPlainArgs.java index e209aca081..aecc58e53b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/inputs/GetVpcEndpointServicesPlainArgs.java @@ -18,14 +18,14 @@ public final class GetVpcEndpointServicesPlainArgs extends com.pulumi.resources. public static final GetVpcEndpointServicesPlainArgs Empty = new GetVpcEndpointServicesPlainArgs(); /** - * Whether to automatically accept terminal node connections. + * Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ @Import(name="autoAcceptConnection") private @Nullable Boolean autoAcceptConnection; /** - * @return Whether to automatically accept terminal node connections. + * @return Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ public Optional autoAcceptConnection() { @@ -78,14 +78,14 @@ public Optional outputFile() { } /** - * The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ @Import(name="serviceBusinessStatus") private @Nullable String serviceBusinessStatus; /** - * @return The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @return The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ public Optional serviceBusinessStatus() { @@ -93,14 +93,14 @@ public Optional serviceBusinessStatus() { } /** - * The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ @Import(name="status") private @Nullable String status; /** - * @return The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @return The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ public Optional status() { @@ -108,14 +108,14 @@ public Optional status() { } /** - * The tags of Vpc Endpoint Service. + * A mapping of tags to assign to the resource. * */ @Import(name="tags") private @Nullable Map tags; /** - * @return The tags of Vpc Endpoint Service. + * @return A mapping of tags to assign to the resource. * */ public Optional> tags() { @@ -123,14 +123,14 @@ public Optional> tags() { } /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. * */ @Import(name="vpcEndpointServiceName") private @Nullable String vpcEndpointServiceName; /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ public Optional vpcEndpointServiceName() { @@ -169,7 +169,7 @@ public Builder(GetVpcEndpointServicesPlainArgs defaults) { } /** - * @param autoAcceptConnection Whether to automatically accept terminal node connections. + * @param autoAcceptConnection Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * * @return builder * @@ -223,7 +223,7 @@ public Builder outputFile(@Nullable String outputFile) { } /** - * @param serviceBusinessStatus The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @param serviceBusinessStatus The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * * @return builder * @@ -234,7 +234,7 @@ public Builder serviceBusinessStatus(@Nullable String serviceBusinessStatus) { } /** - * @param status The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @param status The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * * @return builder * @@ -245,7 +245,7 @@ public Builder status(@Nullable String status) { } /** - * @param tags The tags of Vpc Endpoint Service. + * @param tags A mapping of tags to assign to the resource. * * @return builder * @@ -256,7 +256,7 @@ public Builder tags(@Nullable Map tags) { } /** - * @param vpcEndpointServiceName The name of Vpc Endpoint Service. + * @param vpcEndpointServiceName The name of the endpoint service. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesResult.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesResult.java index 62a7aed4e6..a6f5299591 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesResult.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesResult.java @@ -17,7 +17,7 @@ @CustomType public final class GetVpcEndpointServicesResult { /** - * @return Whether to automatically accept terminal node connections.. + * @return Indicates whether endpoint connection requests are automatically accepted. * */ private @Nullable Boolean autoAcceptConnection; @@ -35,34 +35,34 @@ public final class GetVpcEndpointServicesResult { private List names; private @Nullable String outputFile; /** - * @return The business status of the terminal node service.. + * @return The service state of the endpoint service. * */ private @Nullable String serviceBusinessStatus; /** - * @return A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + * @return A list of Vpc Endpoint Services. Each element contains the following attributes: * */ private List services; /** - * @return The Status of Vpc Endpoint Service. + * @return The state of the endpoint service. * */ private @Nullable String status; /** - * @return The tags of Vpc Endpoint Service. + * @return The tags added to the resource. * */ private @Nullable Map tags; /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ private @Nullable String vpcEndpointServiceName; private GetVpcEndpointServicesResult() {} /** - * @return Whether to automatically accept terminal node connections.. + * @return Indicates whether endpoint connection requests are automatically accepted. * */ public Optional autoAcceptConnection() { @@ -92,35 +92,35 @@ public Optional outputFile() { return Optional.ofNullable(this.outputFile); } /** - * @return The business status of the terminal node service.. + * @return The service state of the endpoint service. * */ public Optional serviceBusinessStatus() { return Optional.ofNullable(this.serviceBusinessStatus); } /** - * @return A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + * @return A list of Vpc Endpoint Services. Each element contains the following attributes: * */ public List services() { return this.services; } /** - * @return The Status of Vpc Endpoint Service. + * @return The state of the endpoint service. * */ public Optional status() { return Optional.ofNullable(this.status); } /** - * @return The tags of Vpc Endpoint Service. + * @return The tags added to the resource. * */ public Map tags() { return this.tags == null ? Map.of() : this.tags; } /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ public Optional vpcEndpointServiceName() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesService.java b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesService.java index dc6c014b48..a17eb0102f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesService.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/privatelink/outputs/GetVpcEndpointServicesService.java @@ -14,12 +14,12 @@ @CustomType public final class GetVpcEndpointServicesService { /** - * @return Whether to automatically accept terminal node connections. + * @return Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ private Boolean autoAcceptConnection; /** - * @return The connection bandwidth. + * @return The default maximum bandwidth of the endpoint connection. * */ private Integer connectBandwidth; @@ -29,51 +29,51 @@ public final class GetVpcEndpointServicesService { */ private String id; /** - * @return The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @return The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ private String serviceBusinessStatus; /** - * @return The description of the terminal node service. + * @return The description of the endpoint service. * */ private String serviceDescription; /** - * @return The domain of service. + * @return The domain name of the endpoint service. * */ private String serviceDomain; /** - * @return The ID of the Vpc Endpoint Service. + * @return The ID of the endpoint service. * */ private String serviceId; /** - * @return The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @return The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ private String status; /** - * @return The tags of Vpc Endpoint Service. + * @return A mapping of tags to assign to the resource. * */ private Map tags; /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ private String vpcEndpointServiceName; private GetVpcEndpointServicesService() {} /** - * @return Whether to automatically accept terminal node connections. + * @return Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. * */ public Boolean autoAcceptConnection() { return this.autoAcceptConnection; } /** - * @return The connection bandwidth. + * @return The default maximum bandwidth of the endpoint connection. * */ public Integer connectBandwidth() { @@ -87,49 +87,49 @@ public String id() { return this.id; } /** - * @return The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * @return The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. * */ public String serviceBusinessStatus() { return this.serviceBusinessStatus; } /** - * @return The description of the terminal node service. + * @return The description of the endpoint service. * */ public String serviceDescription() { return this.serviceDescription; } /** - * @return The domain of service. + * @return The domain name of the endpoint service. * */ public String serviceDomain() { return this.serviceDomain; } /** - * @return The ID of the Vpc Endpoint Service. + * @return The ID of the endpoint service. * */ public String serviceId() { return this.serviceId; } /** - * @return The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * @return The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. * */ public String status() { return this.status; } /** - * @return The tags of Vpc Endpoint Service. + * @return A mapping of tags to assign to the resource. * */ public Map tags() { return this.tags; } /** - * @return The name of Vpc Endpoint Service. + * @return The name of the endpoint service. * */ public String vpcEndpointServiceName() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Endpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Endpoint.java index f7c331fb6f..c65fdd42e4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Endpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Endpoint.java @@ -118,6 +118,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Rule.java index 94ac3f0600..5623913fd9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Rule.java @@ -140,6 +140,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/RuleAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/RuleAttachment.java index c2e9424261..fa69b5a0f8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/RuleAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/RuleAttachment.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Rule Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/UserVpcAuthorization.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/UserVpcAuthorization.java index 5dbb72b358..ca023965f1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/UserVpcAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/UserVpcAuthorization.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone User Vpc Authorization can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Zone.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Zone.java index 61b3a6ee1a..cef82dcd1e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Zone.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/Zone.java @@ -55,6 +55,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneAttachment.java index 55305bc6e5..6fcb4adc06 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneAttachment.java @@ -200,6 +200,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone attachment can be imported using the id(same with `zone_id`), e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneRecord.java b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneRecord.java index 86b320dbcd..5ff162ae63 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneRecord.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/pvtz/ZoneRecord.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Record can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/quickbi/User.java b/sdk/java/src/main/java/com/pulumi/alicloud/quickbi/User.java index 0ab6131611..79f9e2e158 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/quickbi/User.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/quickbi/User.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quick BI User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/quotas/QuotaAlarm.java b/sdk/java/src/main/java/com/pulumi/alicloud/quotas/QuotaAlarm.java index 86a072bccc..4083992470 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/quotas/QuotaAlarm.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/quotas/QuotaAlarm.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quotas Quota Alarm can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/quotas/TemplateQuota.java b/sdk/java/src/main/java/com/pulumi/alicloud/quotas/TemplateQuota.java index cb1e2042d7..43a4eef551 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/quotas/TemplateQuota.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/quotas/TemplateQuota.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quotas Template Quota can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccessKey.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccessKey.java index b60aa6b890..10e712a00b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccessKey.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccessKey.java @@ -162,6 +162,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ram/accessKey:AccessKey") public class AccessKey extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccountPasswordPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccountPasswordPolicy.java index 9a441ed937..bca4cc7421 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccountPasswordPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/AccountPasswordPolicy.java @@ -88,6 +88,8 @@ * * For not specified values sets defaults. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM account password policy can be imported using the `id`, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Group.java index 1865a05e81..64edbd389c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Group.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupMembership.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupMembership.java index 2187d5bd2c..af01d86c67 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupMembership.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupMembership.java @@ -15,10 +15,6 @@ import javax.annotation.Nullable; /** - * Provides a RAM Group membership resource. - * - * > **NOTE:** Available since v1.0.0+. - * * ## Example Usage * *
@@ -93,6 +89,8 @@
  * }
  * 
* + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group membership can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupPolicyAttachment.java index 22e034d7f3..74480af23f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/GroupPolicyAttachment.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/LoginProfile.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/LoginProfile.java index e75c8cce9d..c84a441a7f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/LoginProfile.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/LoginProfile.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Login Profile can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Policy.java index cba531b4a2..6bcf7fbb4d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Policy.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Role.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Role.java index f71971321d..b722b5edb9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/Role.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/Role.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Role can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/RoleAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/RoleAttachment.java index 55609b9f5f..2fa2c69696 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/RoleAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/RoleAttachment.java @@ -154,6 +154,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:ram/roleAttachment:RoleAttachment") public class RoleAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/RolePolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/RolePolicyAttachment.java index 9442fda466..5c97b9b1a4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/RolePolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/RolePolicyAttachment.java @@ -114,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Role Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/SamlProvider.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/SamlProvider.java index 9dd0f057a8..74d9b12da1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/SamlProvider.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/SamlProvider.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Saml Provider can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/User.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/User.java index 29e8f890c3..09fe192ade 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/User.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/User.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserGroupAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserGroupAttachment.java index e672c9bf98..2a371aef82 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserGroupAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserGroupAttachment.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User Group Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserPolicyAttachment.java index 6d24257bf0..9df5ab79a7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ram/UserPolicyAttachment.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rdc/Organization.java b/sdk/java/src/main/java/com/pulumi/alicloud/rdc/Organization.java index 718944438c..e08644d652 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rdc/Organization.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rdc/Organization.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDC Organization can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Account.java index 8193158ff1..e5a9c9d985 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Account.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS account can be imported using the id, e.g. @@ -128,6 +130,12 @@ public Output accountPassword() { public Output accountType() { return this.accountType; } + @Export(name="checkPolicy", refs={Boolean.class}, tree="[0]") + private Output checkPolicy; + + public Output> checkPolicy() { + return Codegen.optional(this.checkPolicy); + } @Export(name="dbInstanceId", refs={String.class}, tree="[0]") private Output dbInstanceId; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountArgs.java index d630df5580..bb596d3390 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountArgs.java @@ -45,6 +45,13 @@ public Optional> accountType() { return Optional.ofNullable(this.accountType); } + @Import(name="checkPolicy") + private @Nullable Output checkPolicy; + + public Optional> checkPolicy() { + return Optional.ofNullable(this.checkPolicy); + } + @Import(name="dbInstanceId") private @Nullable Output dbInstanceId; @@ -181,6 +188,13 @@ public Optional> resetPermissionFlag() { return Optional.ofNullable(this.resetPermissionFlag); } + @Import(name="status") + private @Nullable Output status; + + public Optional> status() { + return Optional.ofNullable(this.status); + } + /** * Privilege type of account. The SQLServer engine does not support create high privilege accounts. * - Normal: Common privilege. @@ -219,6 +233,7 @@ private AccountArgs(AccountArgs $) { this.accountName = $.accountName; this.accountPassword = $.accountPassword; this.accountType = $.accountType; + this.checkPolicy = $.checkPolicy; this.dbInstanceId = $.dbInstanceId; this.description = $.description; this.instanceId = $.instanceId; @@ -227,6 +242,7 @@ private AccountArgs(AccountArgs $) { this.name = $.name; this.password = $.password; this.resetPermissionFlag = $.resetPermissionFlag; + this.status = $.status; this.type = $.type; } @@ -284,6 +300,15 @@ public Builder accountType(String accountType) { return accountType(Output.of(accountType)); } + public Builder checkPolicy(@Nullable Output checkPolicy) { + $.checkPolicy = checkPolicy; + return this; + } + + public Builder checkPolicy(Boolean checkPolicy) { + return checkPolicy(Output.of(checkPolicy)); + } + public Builder dbInstanceId(@Nullable Output dbInstanceId) { $.dbInstanceId = dbInstanceId; return this; @@ -460,6 +485,15 @@ public Builder resetPermissionFlag(Boolean resetPermissionFlag) { return resetPermissionFlag(Output.of(resetPermissionFlag)); } + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + public Builder status(String status) { + return status(Output.of(status)); + } + /** * @param type Privilege type of account. The SQLServer engine does not support create high privilege accounts. * - Normal: Common privilege. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountPrivilege.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountPrivilege.java index 1ee14da904..e4255d17b3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountPrivilege.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/AccountPrivilege.java @@ -115,6 +115,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS account privilege can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/BackupPolicy.java index 304474b5d2..a408c341b3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/BackupPolicy.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS backup policy can be imported using the id or instance id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Connection.java index 71e81105bd..1e5f5bd0fd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Connection.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Custom.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Custom.java index 650a5bf7b2..85db44d839 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Custom.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Custom.java @@ -144,6 +144,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDeploymentSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDeploymentSet.java index f2a82cb94d..ffc7e7faef 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDeploymentSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDeploymentSet.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom Deployment Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDisk.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDisk.java index a5bfa4eb74..f4f0f48cb2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDisk.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/CustomDisk.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom Disk can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Database.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Database.java index 65990915ad..4eb9e88c12 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Database.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Database.java @@ -15,7 +15,11 @@ import javax.annotation.Nullable; /** - * Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). + * Provides a RDS Database resource. + * + * Supports creating a database under an instance. + * + * For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). * * > **NOTE:** Available since v1.5.0. * @@ -30,6 +34,7 @@ * import com.pulumi.core.Output; * import com.pulumi.alicloud.rds.RdsFunctions; * import com.pulumi.alicloud.rds.inputs.GetZonesArgs; + * import com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs; * import com.pulumi.alicloud.vpc.Network; * import com.pulumi.alicloud.vpc.NetworkArgs; * import com.pulumi.alicloud.vpc.Switch; @@ -55,7 +60,19 @@ * final var name = config.get("name").orElse("tf-example"); * final var default = RdsFunctions.getZones(GetZonesArgs.builder() * .engine("MySQL") - * .engineVersion("5.6") + * .engineVersion("8.0") + * .instanceChargeType("PostPaid") + * .category("HighAvailability") + * .dbInstanceStorageType("cloud_essd") + * .build()); + * + * final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder() + * .zoneId(default_.zones()[0].id()) + * .engine("MySQL") + * .engineVersion("8.0") + * .category("HighAvailability") + * .dbInstanceStorageType("cloud_essd") + * .instanceChargeType("PostPaid") * .build()); * * var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder() @@ -72,16 +89,19 @@ * * var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder() * .engine("MySQL") - * .engineVersion("5.6") - * .instanceType("rds.mysql.s1.small") - * .instanceStorage(10) + * .engineVersion("8.0") + * .dbInstanceStorageType("cloud_essd") + * .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass()) + * .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min()) * .vswitchId(defaultSwitch.id()) * .instanceName(name) + * .instanceChargeType("Postpaid") * .build()); * * var defaultDatabase = new Database("defaultDatabase", DatabaseArgs.builder() * .instanceId(defaultInstance.id()) - * .name(name) + * .dataBaseName(name) + * .characterSet("utf8") * .build()); * * } @@ -89,12 +109,14 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * RDS database can be imported using the id, e.g. + * RDS Database can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" + * $ pulumi import alicloud:rds/database:Database example <instance_id>:<data_base_name> * ``` * */ @@ -133,9 +155,33 @@ public Output> characterSet() { return Codegen.optional(this.characterSet); } /** - * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + */ + @Export(name="dataBaseName", refs={String.class}, tree="[0]") + private Output dataBaseName; + + /** + * @return The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. + */ + public Output dataBaseName() { + return this.dataBaseName; + } + /** + * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * */ @Export(name="description", refs={String.class}, tree="[0]") @@ -144,52 +190,58 @@ public Output> characterSet() { /** * @return Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. - * */ public Output> description() { return Codegen.optional(this.description); } /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ @Export(name="instanceId", refs={String.class}, tree="[0]") private Output instanceId; /** - * @return The Id of instance that can run database. + * @return The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ public Output instanceId() { return this.instanceId; } /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @return The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. * */ public Output name() { return this.name; } + /** + * The status of the resource + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The status of the resource + * + */ + public Output status() { + return this.status; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DatabaseArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DatabaseArgs.java index 1d977a2fd8..84261e9297 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DatabaseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DatabaseArgs.java @@ -50,9 +50,34 @@ public Optional> characterSet() { } /** - * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. + */ + @Import(name="dataBaseName") + private @Nullable Output dataBaseName; + + /** + * @return The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + */ + public Optional> dataBaseName() { + return Optional.ofNullable(this.dataBaseName); + } + + /** + * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * */ @Import(name="description") @@ -61,22 +86,20 @@ public Optional> characterSet() { /** * @return Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. - * */ public Optional> description() { return Optional.ofNullable(this.description); } /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ @Import(name="instanceId", required=true) private Output instanceId; /** - * @return The Id of instance that can run database. + * @return The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ public Output instanceId() { @@ -84,28 +107,26 @@ public Output instanceId() { } /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @return The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } @@ -114,6 +135,7 @@ private DatabaseArgs() {} private DatabaseArgs(DatabaseArgs $) { this.characterSet = $.characterSet; + this.dataBaseName = $.dataBaseName; this.description = $.description; this.instanceId = $.instanceId; this.name = $.name; @@ -177,9 +199,40 @@ public Builder characterSet(String characterSet) { } /** - * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param dataBaseName The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + * @return builder + * + */ + public Builder dataBaseName(@Nullable Output dataBaseName) { + $.dataBaseName = dataBaseName; + return this; + } + + /** + * @param dataBaseName The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + * @return builder * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. + */ + public Builder dataBaseName(String dataBaseName) { + return dataBaseName(Output.of(dataBaseName)); + } + + /** + * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * * @return builder * @@ -192,8 +245,6 @@ public Builder description(@Nullable Output description) { /** * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. - * * @return builder * */ @@ -202,7 +253,7 @@ public Builder description(String description) { } /** - * @param instanceId The Id of instance that can run database. + * @param instanceId The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * * @return builder * @@ -213,7 +264,7 @@ public Builder instanceId(Output instanceId) { } /** - * @param instanceId The Id of instance that can run database. + * @param instanceId The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * * @return builder * @@ -223,34 +274,32 @@ public Builder instanceId(String instanceId) { } /** - * @param name The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @param name The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. * * @return builder * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. + * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; } /** - * @param name The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @param name The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. * * @return builder * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. + * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpoint.java index 09996c1f0b..9ec750fdb9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpoint.java @@ -133,6 +133,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database endpoint feature can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpointAddress.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpointAddress.java index e65b6ae1e8..33df0c19c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpointAddress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbInstanceEndpointAddress.java @@ -142,6 +142,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database endpoint public address feature can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbNode.java index a8b5fc8f09..bed5794dbd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbNode.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbNode.java @@ -115,6 +115,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS MySQL database cluster node agent function can be imported using id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbProxyPublic.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbProxyPublic.java index e8dc9631ac..d7b9a732f8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbProxyPublic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/DbProxyPublic.java @@ -142,6 +142,8 @@ * * > **NOTE:** Resource `alicloud.rds.DbProxyPublic` should be created after `alicloud.rds.RdsDbProxy`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Database Proxy Public Network Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Instance.java index 11a54b2783..45193eb4a0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/Instance.java @@ -1021,7 +1021,7 @@ public Output resourceGroupId() { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ @@ -1031,7 +1031,7 @@ public Output resourceGroupId() { /** * @return The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/InstanceArgs.java index f956230745..b33960cb1c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/InstanceArgs.java @@ -1020,7 +1020,7 @@ public Optional> resourceGroupId() { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ @@ -1030,7 +1030,7 @@ public Optional> resourceGroupId() { /** * @return The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ @@ -3047,7 +3047,7 @@ public Builder resourceGroupId(String resourceGroupId) { /** * @param roleArn The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * * @return builder @@ -3061,7 +3061,7 @@ public Builder roleArn(@Nullable Output roleArn) { /** * @param roleArn The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccount.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccount.java index 9674c1f602..b48e56a5af 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccount.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccount.java @@ -63,13 +63,19 @@ * final var name = config.get("name").orElse("tf_example"); * final var default = RdsFunctions.getZones(GetZonesArgs.builder() * .engine("MySQL") - * .engineVersion("5.6") + * .engineVersion("8.0") + * .instanceChargeType("PostPaid") + * .category("HighAvailability") + * .dbInstanceStorageType("local_ssd") * .build()); * * final var defaultGetInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder() - * .zoneId(default_.ids()[0]) + * .zoneId(default_.zones()[0].id()) * .engine("MySQL") - * .engineVersion("5.6") + * .engineVersion("8.0") + * .category("HighAvailability") + * .dbInstanceStorageType("local_ssd") + * .instanceChargeType("PostPaid") * .build()); * * var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder() @@ -86,11 +92,15 @@ * * var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder() * .engine("MySQL") - * .engineVersion("5.6") - * .instanceType(defaultGetInstanceClasses.instanceClasses()[1].instanceClass()) - * .instanceStorage(10) + * .engineVersion("8.0") + * .instanceType(defaultGetInstanceClasses.instanceClasses()[0].instanceClass()) + * .instanceStorage(defaultGetInstanceClasses.instanceClasses()[0].storageRange().min()) * .vswitchId(defaultSwitch.id()) * .instanceName(name) + * .instanceChargeType("Postpaid") + * .monitoringPeriod(60) + * .dbInstanceStorageType("local_ssd") + * .dbIsIgnoreCase(false) * .build()); * * var defaultRdsAccount = new RdsAccount("defaultRdsAccount", RdsAccountArgs.builder() @@ -104,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Account can be imported using the id, e.g. @@ -215,6 +227,20 @@ public Output accountPassword() { public Output accountType() { return this.accountType; } + /** + * Whether to apply password policy + * + */ + @Export(name="checkPolicy", refs={Boolean.class}, tree="[0]") + private Output checkPolicy; + + /** + * @return Whether to apply password policy + * + */ + public Output> checkPolicy() { + return Codegen.optional(this.checkPolicy); + } /** * The ID of the instance. * @@ -344,14 +370,14 @@ public Output> resetPermissionFlag() { return Codegen.optional(this.resetPermissionFlag); } /** - * The status of the resource. Valid values: `Available`, `Unavailable`. + * The status of the resource * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return The status of the resource. Valid values: `Available`, `Unavailable`. + * @return The status of the resource * */ public Output status() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccountArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccountArgs.java index d786795e84..52dea852fd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsAccountArgs.java @@ -121,6 +121,21 @@ public Optional> accountType() { return Optional.ofNullable(this.accountType); } + /** + * Whether to apply password policy + * + */ + @Import(name="checkPolicy") + private @Nullable Output checkPolicy; + + /** + * @return Whether to apply password policy + * + */ + public Optional> checkPolicy() { + return Optional.ofNullable(this.checkPolicy); + } + /** * The ID of the instance. * @@ -273,6 +288,21 @@ public Optional> resetPermissionFlag() { return Optional.ofNullable(this.resetPermissionFlag); } + /** + * The status of the resource + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the resource + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + /** * The attribute has been deprecated from 1.120.0 and using `accountType` instead. * @@ -307,6 +337,7 @@ private RdsAccountArgs(RdsAccountArgs $) { this.accountName = $.accountName; this.accountPassword = $.accountPassword; this.accountType = $.accountType; + this.checkPolicy = $.checkPolicy; this.dbInstanceId = $.dbInstanceId; this.description = $.description; this.instanceId = $.instanceId; @@ -315,6 +346,7 @@ private RdsAccountArgs(RdsAccountArgs $) { this.name = $.name; this.password = $.password; this.resetPermissionFlag = $.resetPermissionFlag; + this.status = $.status; this.type = $.type; } @@ -464,6 +496,27 @@ public Builder accountType(String accountType) { return accountType(Output.of(accountType)); } + /** + * @param checkPolicy Whether to apply password policy + * + * @return builder + * + */ + public Builder checkPolicy(@Nullable Output checkPolicy) { + $.checkPolicy = checkPolicy; + return this; + } + + /** + * @param checkPolicy Whether to apply password policy + * + * @return builder + * + */ + public Builder checkPolicy(Boolean checkPolicy) { + return checkPolicy(Output.of(checkPolicy)); + } + /** * @param dbInstanceId The ID of the instance. * @@ -664,6 +717,27 @@ public Builder resetPermissionFlag(Boolean resetPermissionFlag) { return resetPermissionFlag(Output.of(resetPermissionFlag)); } + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + /** * @param type The attribute has been deprecated from 1.120.0 and using `accountType` instead. * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsBackup.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsBackup.java index 469d9326c3..46745ea7e9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsBackup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsBackup.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Backup can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsCloneDbInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsCloneDbInstance.java index 9022438f60..3b9e45c165 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsCloneDbInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsCloneDbInstance.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Clone DB Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsDbProxy.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsDbProxy.java index f60df3ac69..91a3d8509c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsDbProxy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsDbProxy.java @@ -134,6 +134,8 @@ * * > **NOTE:** Resource `alicloud.rds.RdsDbProxy` should be created after `alicloud.rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database proxy feature can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsInstanceCrossBackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsInstanceCrossBackupPolicy.java index d6dfcbebe6..ff56d51e2b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsInstanceCrossBackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsInstanceCrossBackupPolicy.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS remote disaster recovery policies can be imported using id or instance id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsParameterGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsParameterGroup.java index b260b836cb..c31b31dd07 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsParameterGroup.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Parameter Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsServiceLinkedRole.java index 81320b5a80..65e4ca1cb5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsServiceLinkedRole.java @@ -55,6 +55,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Service Linked Role can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsUpgradeDbInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsUpgradeDbInstance.java index d431a7a1d3..63fdb62726 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsUpgradeDbInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/RdsUpgradeDbInstance.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Upgrade DB Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadOnlyInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadOnlyInstance.java index 1d624147ec..38de879d75 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadOnlyInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadOnlyInstance.java @@ -110,6 +110,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS readonly instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadWriteSplittingConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadWriteSplittingConnection.java index 7d690b5c0c..eb966982ab 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadWriteSplittingConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/ReadWriteSplittingConnection.java @@ -132,6 +132,8 @@ * * > **NOTE:** Resource `alicloud.rds.ReadWriteSplittingConnection` should be created after `alicloud.rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS read write splitting connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/WhitelistTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/WhitelistTemplate.java index 0c2a3c9fca..bf472b880a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/WhitelistTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/WhitelistTemplate.java @@ -54,6 +54,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * You can use the whitelist template ID to import whitelist templates, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/AccountState.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/AccountState.java index ff9da0998b..b33fa289be 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/AccountState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/AccountState.java @@ -45,6 +45,13 @@ public Optional> accountType() { return Optional.ofNullable(this.accountType); } + @Import(name="checkPolicy") + private @Nullable Output checkPolicy; + + public Optional> checkPolicy() { + return Optional.ofNullable(this.checkPolicy); + } + @Import(name="dbInstanceId") private @Nullable Output dbInstanceId; @@ -226,6 +233,7 @@ private AccountState(AccountState $) { this.accountName = $.accountName; this.accountPassword = $.accountPassword; this.accountType = $.accountType; + this.checkPolicy = $.checkPolicy; this.dbInstanceId = $.dbInstanceId; this.description = $.description; this.instanceId = $.instanceId; @@ -292,6 +300,15 @@ public Builder accountType(String accountType) { return accountType(Output.of(accountType)); } + public Builder checkPolicy(@Nullable Output checkPolicy) { + $.checkPolicy = checkPolicy; + return this; + } + + public Builder checkPolicy(Boolean checkPolicy) { + return checkPolicy(Output.of(checkPolicy)); + } + public Builder dbInstanceId(@Nullable Output dbInstanceId) { $.dbInstanceId = dbInstanceId; return this; diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/DatabaseState.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/DatabaseState.java index a94b521ae9..b39cbeb729 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/DatabaseState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/DatabaseState.java @@ -49,9 +49,34 @@ public Optional> characterSet() { } /** - * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. + */ + @Import(name="dataBaseName") + private @Nullable Output dataBaseName; + + /** + * @return The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + */ + public Optional> dataBaseName() { + return Optional.ofNullable(this.dataBaseName); + } + + /** + * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * */ @Import(name="description") @@ -60,22 +85,20 @@ public Optional> characterSet() { /** * @return Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. - * */ public Optional> description() { return Optional.ofNullable(this.description); } /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ @Import(name="instanceId") private @Nullable Output instanceId; /** - * @return The Id of instance that can run database. + * @return The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * */ public Optional> instanceId() { @@ -83,39 +106,54 @@ public Optional> instanceId() { } /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @return The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * The status of the resource + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the resource + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + private DatabaseState() {} private DatabaseState(DatabaseState $) { this.characterSet = $.characterSet; + this.dataBaseName = $.dataBaseName; this.description = $.description; this.instanceId = $.instanceId; this.name = $.name; + this.status = $.status; } public static Builder builder() { @@ -176,9 +214,40 @@ public Builder characterSet(String characterSet) { } /** - * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * @param dataBaseName The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. + * @return builder + * + */ + public Builder dataBaseName(@Nullable Output dataBaseName) { + $.dataBaseName = dataBaseName; + return this; + } + + /** + * @param dataBaseName The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * + * @return builder + * + */ + public Builder dataBaseName(String dataBaseName) { + return dataBaseName(Output.of(dataBaseName)); + } + + /** + * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * * @return builder * @@ -191,8 +260,6 @@ public Builder description(@Nullable Output description) { /** * @param description Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. - * * @return builder * */ @@ -201,7 +268,7 @@ public Builder description(String description) { } /** - * @param instanceId The Id of instance that can run database. + * @param instanceId The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * * @return builder * @@ -212,7 +279,7 @@ public Builder instanceId(@Nullable Output instanceId) { } /** - * @param instanceId The Id of instance that can run database. + * @param instanceId The instance ID. You can call the DescribeDBInstances operation to query the instance ID. * * @return builder * @@ -222,38 +289,57 @@ public Builder instanceId(String instanceId) { } /** - * @param name The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @param name The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. * * @return builder * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. + * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Builder name(@Nullable Output name) { $.name = name; return this; } /** - * @param name The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * @param name The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. * * @return builder * + * @deprecated + * Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. + * */ + @Deprecated /* Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the resource + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + public DatabaseState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/InstanceState.java index 5fb3d52e15..aa9c250e69 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/InstanceState.java @@ -1064,7 +1064,7 @@ public Optional> resourceGroupId() { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ @@ -1074,7 +1074,7 @@ public Optional> resourceGroupId() { /** * @return The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * */ @@ -3205,7 +3205,7 @@ public Builder resourceGroupId(String resourceGroupId) { /** * @param roleArn The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * * @return builder @@ -3219,7 +3219,7 @@ public Builder roleArn(@Nullable Output roleArn) { /** * @param roleArn The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} * * @return builder diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/RdsAccountState.java b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/RdsAccountState.java index 3e86a9d816..21e977fcfe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/RdsAccountState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rds/inputs/RdsAccountState.java @@ -121,6 +121,21 @@ public Optional> accountType() { return Optional.ofNullable(this.accountType); } + /** + * Whether to apply password policy + * + */ + @Import(name="checkPolicy") + private @Nullable Output checkPolicy; + + /** + * @return Whether to apply password policy + * + */ + public Optional> checkPolicy() { + return Optional.ofNullable(this.checkPolicy); + } + /** * The ID of the instance. * @@ -274,14 +289,14 @@ public Optional> resetPermissionFlag() { } /** - * The status of the resource. Valid values: `Available`, `Unavailable`. + * The status of the resource * */ @Import(name="status") private @Nullable Output status; /** - * @return The status of the resource. Valid values: `Available`, `Unavailable`. + * @return The status of the resource * */ public Optional> status() { @@ -322,6 +337,7 @@ private RdsAccountState(RdsAccountState $) { this.accountName = $.accountName; this.accountPassword = $.accountPassword; this.accountType = $.accountType; + this.checkPolicy = $.checkPolicy; this.dbInstanceId = $.dbInstanceId; this.description = $.description; this.instanceId = $.instanceId; @@ -480,6 +496,27 @@ public Builder accountType(String accountType) { return accountType(Output.of(accountType)); } + /** + * @param checkPolicy Whether to apply password policy + * + * @return builder + * + */ + public Builder checkPolicy(@Nullable Output checkPolicy) { + $.checkPolicy = checkPolicy; + return this; + } + + /** + * @param checkPolicy Whether to apply password policy + * + * @return builder + * + */ + public Builder checkPolicy(Boolean checkPolicy) { + return checkPolicy(Output.of(checkPolicy)); + } + /** * @param dbInstanceId The ID of the instance. * @@ -681,7 +718,7 @@ public Builder resetPermissionFlag(Boolean resetPermissionFlag) { } /** - * @param status The status of the resource. Valid values: `Available`, `Unavailable`. + * @param status The status of the resource * * @return builder * @@ -692,7 +729,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status The status of the resource. Valid values: `Available`, `Unavailable`. + * @param status The status of the resource * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Deployment.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Deployment.java new file mode 100644 index 0000000000..9f68f3cf94 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Deployment.java @@ -0,0 +1,410 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.realtimecompute.DeploymentArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentState; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentArtifact; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentBatchResourceSetting; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentDeploymentTarget; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentLocalVariable; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentLogging; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSetting; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Realtime Compute Deployment resource. + * + * Deployment in the Realtime Compute console. + * + * For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.oss.Bucket;
+ * import com.pulumi.alicloud.realtimecompute.VvpInstance;
+ * import com.pulumi.alicloud.realtimecompute.VvpInstanceArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageOssArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceResourceSpecArgs;
+ * import com.pulumi.alicloud.realtimecompute.Deployment;
+ * import com.pulumi.alicloud.realtimecompute.DeploymentArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactSqlArtifactArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new Network("default", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("172.16.0.0/16")
+ *             .vpcName("example-tf-vpc-deployment")
+ *             .build());
+ * 
+ *         var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(default_.id())
+ *             .zoneId("cn-beijing-g")
+ *             .cidrBlock("172.16.0.0/24")
+ *             .vswitchName("example-tf-vSwitch-deployment")
+ *             .build());
+ * 
+ *         var defaultBucket = new Bucket("defaultBucket");
+ * 
+ *         var defaultVvpInstance = new VvpInstance("defaultVvpInstance", VvpInstanceArgs.builder()
+ *             .vvpInstanceName("code-example-tf-deployment")
+ *             .storage(VvpInstanceStorageArgs.builder()
+ *                 .oss(VvpInstanceStorageOssArgs.builder()
+ *                     .bucket(defaultBucket.id())
+ *                     .build())
+ *                 .build())
+ *             .vpcId(default_.id())
+ *             .vswitchIds(defaultSwitch.id())
+ *             .resourceSpec(VvpInstanceResourceSpecArgs.builder()
+ *                 .cpu(8)
+ *                 .memoryGb(32)
+ *                 .build())
+ *             .paymentType("PayAsYouGo")
+ *             .zoneId(defaultSwitch.zoneId())
+ *             .build());
+ * 
+ *         var createDeployment9 = new Deployment("createDeployment9", DeploymentArgs.builder()
+ *             .deploymentName("tf-example-deployment-sql-56")
+ *             .engineVersion("vvr-8.0.10-flink-1.17")
+ *             .resourceId(defaultVvpInstance.resourceId())
+ *             .executionMode("STREAMING")
+ *             .deploymentTarget(DeploymentDeploymentTargetArgs.builder()
+ *                 .mode("PER_JOB")
+ *                 .name("default-queue")
+ *                 .build())
+ *             .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -> String.format("%s-default", _vvpInstanceName)))
+ *             .artifact(DeploymentArtifactArgs.builder()
+ *                 .kind("SQLSCRIPT")
+ *                 .sqlArtifact(DeploymentArtifactSqlArtifactArgs.builder()
+ *                     .sqlScript("create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' );  create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' );  insert into blackhole select * from datagen;")
+ *                     .build())
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Realtime Compute Deployment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:realtimecompute/deployment:Deployment example <resource_id>:<namespace>:<deployment_id> + * ``` + * + */ +@ResourceType(type="alicloud:realtimecompute/deployment:Deployment") +public class Deployment extends com.pulumi.resources.CustomResource { + /** + * Content of the deployment job See `artifact` below. + * + */ + @Export(name="artifact", refs={DeploymentArtifact.class}, tree="[0]") + private Output artifact; + + /** + * @return Content of the deployment job See `artifact` below. + * + */ + public Output artifact() { + return this.artifact; + } + /** + * Batch job resource settings See `batchResourceSetting` below. + * + */ + @Export(name="batchResourceSetting", refs={DeploymentBatchResourceSetting.class}, tree="[0]") + private Output batchResourceSetting; + + /** + * @return Batch job resource settings See `batchResourceSetting` below. + * + */ + public Output> batchResourceSetting() { + return Codegen.optional(this.batchResourceSetting); + } + /** + * Resource property field representing the primary resource ID + * + */ + @Export(name="deploymentId", refs={String.class}, tree="[0]") + private Output deploymentId; + + /** + * @return Resource property field representing the primary resource ID + * + */ + public Output deploymentId() { + return this.deploymentId; + } + /** + * Name of the deployment + * + */ + @Export(name="deploymentName", refs={String.class}, tree="[0]") + private Output deploymentName; + + /** + * @return Name of the deployment + * + */ + public Output deploymentName() { + return this.deploymentName; + } + /** + * Deployment target See `deploymentTarget` below. + * + */ + @Export(name="deploymentTarget", refs={DeploymentDeploymentTarget.class}, tree="[0]") + private Output deploymentTarget; + + /** + * @return Deployment target See `deploymentTarget` below. + * + */ + public Output deploymentTarget() { + return this.deploymentTarget; + } + /** + * Description + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Engine version of the deployment instance + * + */ + @Export(name="engineVersion", refs={String.class}, tree="[0]") + private Output engineVersion; + + /** + * @return Engine version of the deployment instance + * + */ + public Output engineVersion() { + return this.engineVersion; + } + /** + * Execution mode. Valid values: STREAMING or BATCH. + * + */ + @Export(name="executionMode", refs={String.class}, tree="[0]") + private Output executionMode; + + /** + * @return Execution mode. Valid values: STREAMING or BATCH. + * + */ + public Output executionMode() { + return this.executionMode; + } + /** + * Flink configuration + * + */ + @Export(name="flinkConf", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> flinkConf; + + /** + * @return Flink configuration + * + */ + public Output> flinkConf() { + return this.flinkConf; + } + /** + * Deployment labels + * + */ + @Export(name="labels", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> labels; + + /** + * @return Deployment labels + * + */ + public Output>> labels() { + return Codegen.optional(this.labels); + } + /** + * Job variables See `localVariables` below. + * + */ + @Export(name="localVariables", refs={List.class,DeploymentLocalVariable.class}, tree="[0,1]") + private Output> localVariables; + + /** + * @return Job variables See `localVariables` below. + * + */ + public Output>> localVariables() { + return Codegen.optional(this.localVariables); + } + /** + * Job log configuration See `logging` below. + * + */ + @Export(name="logging", refs={DeploymentLogging.class}, tree="[0]") + private Output logging; + + /** + * @return Job log configuration See `logging` below. + * + */ + public Output logging() { + return this.logging; + } + /** + * Namespace name + * + */ + @Export(name="namespace", refs={String.class}, tree="[0]") + private Output namespace; + + /** + * @return Namespace name + * + */ + public Output namespace() { + return this.namespace; + } + /** + * Workspace resource ID + * + */ + @Export(name="resourceId", refs={String.class}, tree="[0]") + private Output resourceId; + + /** + * @return Workspace resource ID + * + */ + public Output resourceId() { + return this.resourceId; + } + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + @Export(name="streamingResourceSetting", refs={DeploymentStreamingResourceSetting.class}, tree="[0]") + private Output streamingResourceSetting; + + /** + * @return Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + public Output streamingResourceSetting() { + return this.streamingResourceSetting; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Deployment(java.lang.String name) { + this(name, DeploymentArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Deployment(java.lang.String name, DeploymentArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Deployment(java.lang.String name, DeploymentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:realtimecompute/deployment:Deployment", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Deployment(java.lang.String name, Output id, @Nullable DeploymentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:realtimecompute/deployment:Deployment", name, state, makeResourceOptions(options, id), false); + } + + private static DeploymentArgs makeArgs(DeploymentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? DeploymentArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Deployment get(java.lang.String name, Output id, @Nullable DeploymentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Deployment(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/DeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/DeploymentArgs.java new file mode 100644 index 0000000000..8c9a9f202a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/DeploymentArgs.java @@ -0,0 +1,598 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentBatchResourceSettingArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLocalVariableArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLoggingArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentArgs Empty = new DeploymentArgs(); + + /** + * Content of the deployment job See `artifact` below. + * + */ + @Import(name="artifact", required=true) + private Output artifact; + + /** + * @return Content of the deployment job See `artifact` below. + * + */ + public Output artifact() { + return this.artifact; + } + + /** + * Batch job resource settings See `batchResourceSetting` below. + * + */ + @Import(name="batchResourceSetting") + private @Nullable Output batchResourceSetting; + + /** + * @return Batch job resource settings See `batchResourceSetting` below. + * + */ + public Optional> batchResourceSetting() { + return Optional.ofNullable(this.batchResourceSetting); + } + + /** + * Name of the deployment + * + */ + @Import(name="deploymentName", required=true) + private Output deploymentName; + + /** + * @return Name of the deployment + * + */ + public Output deploymentName() { + return this.deploymentName; + } + + /** + * Deployment target See `deploymentTarget` below. + * + */ + @Import(name="deploymentTarget", required=true) + private Output deploymentTarget; + + /** + * @return Deployment target See `deploymentTarget` below. + * + */ + public Output deploymentTarget() { + return this.deploymentTarget; + } + + /** + * Description + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Engine version of the deployment instance + * + */ + @Import(name="engineVersion") + private @Nullable Output engineVersion; + + /** + * @return Engine version of the deployment instance + * + */ + public Optional> engineVersion() { + return Optional.ofNullable(this.engineVersion); + } + + /** + * Execution mode. Valid values: STREAMING or BATCH. + * + */ + @Import(name="executionMode", required=true) + private Output executionMode; + + /** + * @return Execution mode. Valid values: STREAMING or BATCH. + * + */ + public Output executionMode() { + return this.executionMode; + } + + /** + * Flink configuration + * + */ + @Import(name="flinkConf") + private @Nullable Output> flinkConf; + + /** + * @return Flink configuration + * + */ + public Optional>> flinkConf() { + return Optional.ofNullable(this.flinkConf); + } + + /** + * Deployment labels + * + */ + @Import(name="labels") + private @Nullable Output> labels; + + /** + * @return Deployment labels + * + */ + public Optional>> labels() { + return Optional.ofNullable(this.labels); + } + + /** + * Job variables See `localVariables` below. + * + */ + @Import(name="localVariables") + private @Nullable Output> localVariables; + + /** + * @return Job variables See `localVariables` below. + * + */ + public Optional>> localVariables() { + return Optional.ofNullable(this.localVariables); + } + + /** + * Job log configuration See `logging` below. + * + */ + @Import(name="logging") + private @Nullable Output logging; + + /** + * @return Job log configuration See `logging` below. + * + */ + public Optional> logging() { + return Optional.ofNullable(this.logging); + } + + /** + * Namespace name + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return Namespace name + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * Workspace resource ID + * + */ + @Import(name="resourceId") + private @Nullable Output resourceId; + + /** + * @return Workspace resource ID + * + */ + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + @Import(name="streamingResourceSetting") + private @Nullable Output streamingResourceSetting; + + /** + * @return Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + public Optional> streamingResourceSetting() { + return Optional.ofNullable(this.streamingResourceSetting); + } + + private DeploymentArgs() {} + + private DeploymentArgs(DeploymentArgs $) { + this.artifact = $.artifact; + this.batchResourceSetting = $.batchResourceSetting; + this.deploymentName = $.deploymentName; + this.deploymentTarget = $.deploymentTarget; + this.description = $.description; + this.engineVersion = $.engineVersion; + this.executionMode = $.executionMode; + this.flinkConf = $.flinkConf; + this.labels = $.labels; + this.localVariables = $.localVariables; + this.logging = $.logging; + this.namespace = $.namespace; + this.resourceId = $.resourceId; + this.streamingResourceSetting = $.streamingResourceSetting; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentArgs $; + + public Builder() { + $ = new DeploymentArgs(); + } + + public Builder(DeploymentArgs defaults) { + $ = new DeploymentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param artifact Content of the deployment job See `artifact` below. + * + * @return builder + * + */ + public Builder artifact(Output artifact) { + $.artifact = artifact; + return this; + } + + /** + * @param artifact Content of the deployment job See `artifact` below. + * + * @return builder + * + */ + public Builder artifact(DeploymentArtifactArgs artifact) { + return artifact(Output.of(artifact)); + } + + /** + * @param batchResourceSetting Batch job resource settings See `batchResourceSetting` below. + * + * @return builder + * + */ + public Builder batchResourceSetting(@Nullable Output batchResourceSetting) { + $.batchResourceSetting = batchResourceSetting; + return this; + } + + /** + * @param batchResourceSetting Batch job resource settings See `batchResourceSetting` below. + * + * @return builder + * + */ + public Builder batchResourceSetting(DeploymentBatchResourceSettingArgs batchResourceSetting) { + return batchResourceSetting(Output.of(batchResourceSetting)); + } + + /** + * @param deploymentName Name of the deployment + * + * @return builder + * + */ + public Builder deploymentName(Output deploymentName) { + $.deploymentName = deploymentName; + return this; + } + + /** + * @param deploymentName Name of the deployment + * + * @return builder + * + */ + public Builder deploymentName(String deploymentName) { + return deploymentName(Output.of(deploymentName)); + } + + /** + * @param deploymentTarget Deployment target See `deploymentTarget` below. + * + * @return builder + * + */ + public Builder deploymentTarget(Output deploymentTarget) { + $.deploymentTarget = deploymentTarget; + return this; + } + + /** + * @param deploymentTarget Deployment target See `deploymentTarget` below. + * + * @return builder + * + */ + public Builder deploymentTarget(DeploymentDeploymentTargetArgs deploymentTarget) { + return deploymentTarget(Output.of(deploymentTarget)); + } + + /** + * @param description Description + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param engineVersion Engine version of the deployment instance + * + * @return builder + * + */ + public Builder engineVersion(@Nullable Output engineVersion) { + $.engineVersion = engineVersion; + return this; + } + + /** + * @param engineVersion Engine version of the deployment instance + * + * @return builder + * + */ + public Builder engineVersion(String engineVersion) { + return engineVersion(Output.of(engineVersion)); + } + + /** + * @param executionMode Execution mode. Valid values: STREAMING or BATCH. + * + * @return builder + * + */ + public Builder executionMode(Output executionMode) { + $.executionMode = executionMode; + return this; + } + + /** + * @param executionMode Execution mode. Valid values: STREAMING or BATCH. + * + * @return builder + * + */ + public Builder executionMode(String executionMode) { + return executionMode(Output.of(executionMode)); + } + + /** + * @param flinkConf Flink configuration + * + * @return builder + * + */ + public Builder flinkConf(@Nullable Output> flinkConf) { + $.flinkConf = flinkConf; + return this; + } + + /** + * @param flinkConf Flink configuration + * + * @return builder + * + */ + public Builder flinkConf(Map flinkConf) { + return flinkConf(Output.of(flinkConf)); + } + + /** + * @param labels Deployment labels + * + * @return builder + * + */ + public Builder labels(@Nullable Output> labels) { + $.labels = labels; + return this; + } + + /** + * @param labels Deployment labels + * + * @return builder + * + */ + public Builder labels(Map labels) { + return labels(Output.of(labels)); + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(@Nullable Output> localVariables) { + $.localVariables = localVariables; + return this; + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(List localVariables) { + return localVariables(Output.of(localVariables)); + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(DeploymentLocalVariableArgs... localVariables) { + return localVariables(List.of(localVariables)); + } + + /** + * @param logging Job log configuration See `logging` below. + * + * @return builder + * + */ + public Builder logging(@Nullable Output logging) { + $.logging = logging; + return this; + } + + /** + * @param logging Job log configuration See `logging` below. + * + * @return builder + * + */ + public Builder logging(DeploymentLoggingArgs logging) { + return logging(Output.of(logging)); + } + + /** + * @param namespace Namespace name + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Namespace name + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourceId Workspace resource ID + * + * @return builder + * + */ + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId Workspace resource ID + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param streamingResourceSetting Resource settings for streaming mode See `streamingResourceSetting` below. + * + * @return builder + * + */ + public Builder streamingResourceSetting(@Nullable Output streamingResourceSetting) { + $.streamingResourceSetting = streamingResourceSetting; + return this; + } + + /** + * @param streamingResourceSetting Resource settings for streaming mode See `streamingResourceSetting` below. + * + * @return builder + * + */ + public Builder streamingResourceSetting(DeploymentStreamingResourceSettingArgs streamingResourceSetting) { + return streamingResourceSetting(Output.of(streamingResourceSetting)); + } + + public DeploymentArgs build() { + if ($.artifact == null) { + throw new MissingRequiredPropertyException("DeploymentArgs", "artifact"); + } + if ($.deploymentName == null) { + throw new MissingRequiredPropertyException("DeploymentArgs", "deploymentName"); + } + if ($.deploymentTarget == null) { + throw new MissingRequiredPropertyException("DeploymentArgs", "deploymentTarget"); + } + if ($.executionMode == null) { + throw new MissingRequiredPropertyException("DeploymentArgs", "executionMode"); + } + if ($.namespace == null) { + throw new MissingRequiredPropertyException("DeploymentArgs", "namespace"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Job.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Job.java new file mode 100644 index 0000000000..b785f8f935 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/Job.java @@ -0,0 +1,340 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.realtimecompute.JobArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobState; +import com.pulumi.alicloud.realtimecompute.outputs.JobLocalVariable; +import com.pulumi.alicloud.realtimecompute.outputs.JobRestoreStrategy; +import com.pulumi.alicloud.realtimecompute.outputs.JobStatus; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Realtime Compute Job resource. + * + * For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.Network;
+ * import com.pulumi.alicloud.vpc.NetworkArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.alicloud.oss.Bucket;
+ * import com.pulumi.alicloud.realtimecompute.VvpInstance;
+ * import com.pulumi.alicloud.realtimecompute.VvpInstanceArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceStorageOssArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.VvpInstanceResourceSpecArgs;
+ * import com.pulumi.alicloud.realtimecompute.Deployment;
+ * import com.pulumi.alicloud.realtimecompute.DeploymentArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactSqlArtifactArgs;
+ * import com.pulumi.alicloud.realtimecompute.Job;
+ * import com.pulumi.alicloud.realtimecompute.JobArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.JobLocalVariableArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.JobRestoreStrategyArgs;
+ * import com.pulumi.alicloud.realtimecompute.inputs.JobStatusArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new Network("default", NetworkArgs.builder()
+ *             .isDefault(false)
+ *             .cidrBlock("172.16.0.0/16")
+ *             .vpcName("example-tf-vpc-deployment")
+ *             .build());
+ * 
+ *         var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
+ *             .isDefault(false)
+ *             .vpcId(default_.id())
+ *             .zoneId("cn-beijing-g")
+ *             .cidrBlock("172.16.0.0/24")
+ *             .vswitchName("example-tf-vSwitch-deployment")
+ *             .build());
+ * 
+ *         var defaultBucket = new Bucket("defaultBucket");
+ * 
+ *         var defaultVvpInstance = new VvpInstance("defaultVvpInstance", VvpInstanceArgs.builder()
+ *             .vvpInstanceName("code-example-tf-deployment")
+ *             .storage(VvpInstanceStorageArgs.builder()
+ *                 .oss(VvpInstanceStorageOssArgs.builder()
+ *                     .bucket(defaultBucket.id())
+ *                     .build())
+ *                 .build())
+ *             .vpcId(default_.id())
+ *             .vswitchIds(defaultSwitch.id())
+ *             .resourceSpec(VvpInstanceResourceSpecArgs.builder()
+ *                 .cpu(8)
+ *                 .memoryGb(32)
+ *                 .build())
+ *             .paymentType("PayAsYouGo")
+ *             .zoneId(defaultSwitch.zoneId())
+ *             .build());
+ * 
+ *         var createDeployment9 = new Deployment("createDeployment9", DeploymentArgs.builder()
+ *             .deploymentName("tf-example-deployment-sql-56")
+ *             .engineVersion("vvr-8.0.10-flink-1.17")
+ *             .resourceId(defaultVvpInstance.resourceId())
+ *             .executionMode("STREAMING")
+ *             .deploymentTarget(DeploymentDeploymentTargetArgs.builder()
+ *                 .mode("PER_JOB")
+ *                 .name("default-queue")
+ *                 .build())
+ *             .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -> String.format("%s-default", _vvpInstanceName)))
+ *             .artifact(DeploymentArtifactArgs.builder()
+ *                 .kind("SQLSCRIPT")
+ *                 .sqlArtifact(DeploymentArtifactSqlArtifactArgs.builder()
+ *                     .sqlScript("create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' );  create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' );  insert into blackhole select * from datagen;")
+ *                     .build())
+ *                 .build())
+ *             .build());
+ * 
+ *         var defaultJob = new Job("defaultJob", JobArgs.builder()
+ *             .localVariables(JobLocalVariableArgs.builder()
+ *                 .value("qq")
+ *                 .name("tt")
+ *                 .build())
+ *             .restoreStrategy(JobRestoreStrategyArgs.builder()
+ *                 .kind("NONE")
+ *                 .jobStartTimeInMs(1763694521254)
+ *                 .build())
+ *             .namespace(defaultVvpInstance.vvpInstanceName().applyValue(_vvpInstanceName -> String.format("%s-default", _vvpInstanceName)))
+ *             .stopStrategy("NONE")
+ *             .deploymentId(createDeployment9.deploymentId())
+ *             .resourceQueueName("default-queue")
+ *             .status(JobStatusArgs.builder()
+ *                 .currentJobStatus("CANCELLED")
+ *                 .build())
+ *             .resourceId(defaultVvpInstance.resourceId())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Realtime Compute Job can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:realtimecompute/job:Job example <resource_id>:<namespace>:<job_id> + * ``` + * + */ +@ResourceType(type="alicloud:realtimecompute/job:Job") +public class Job extends com.pulumi.resources.CustomResource { + /** + * deploymentId + * + */ + @Export(name="deploymentId", refs={String.class}, tree="[0]") + private Output deploymentId; + + /** + * @return deploymentId + * + */ + public Output> deploymentId() { + return Codegen.optional(this.deploymentId); + } + /** + * The first ID of the resource + * + */ + @Export(name="jobId", refs={String.class}, tree="[0]") + private Output jobId; + + /** + * @return The first ID of the resource + * + */ + public Output jobId() { + return this.jobId; + } + /** + * Local variables See `localVariables` below. + * + */ + @Export(name="localVariables", refs={List.class,JobLocalVariable.class}, tree="[0,1]") + private Output> localVariables; + + /** + * @return Local variables See `localVariables` below. + * + */ + public Output>> localVariables() { + return Codegen.optional(this.localVariables); + } + /** + * namespace + * + */ + @Export(name="namespace", refs={String.class}, tree="[0]") + private Output namespace; + + /** + * @return namespace + * + */ + public Output namespace() { + return this.namespace; + } + /** + * workspace + * + */ + @Export(name="resourceId", refs={String.class}, tree="[0]") + private Output resourceId; + + /** + * @return workspace + * + */ + public Output resourceId() { + return this.resourceId; + } + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="resourceQueueName", refs={String.class}, tree="[0]") + private Output resourceQueueName; + + /** + * @return Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> resourceQueueName() { + return Codegen.optional(this.resourceQueueName); + } + /** + * Restore strategy See `restoreStrategy` below. + * + */ + @Export(name="restoreStrategy", refs={JobRestoreStrategy.class}, tree="[0]") + private Output restoreStrategy; + + /** + * @return Restore strategy See `restoreStrategy` below. + * + */ + public Output> restoreStrategy() { + return Codegen.optional(this.restoreStrategy); + } + /** + * job status See `status` below. + * + */ + @Export(name="status", refs={JobStatus.class}, tree="[0]") + private Output status; + + /** + * @return job status See `status` below. + * + */ + public Output status() { + return this.status; + } + @Export(name="stopStrategy", refs={String.class}, tree="[0]") + private Output stopStrategy; + + public Output> stopStrategy() { + return Codegen.optional(this.stopStrategy); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Job(java.lang.String name) { + this(name, JobArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Job(java.lang.String name, JobArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Job(java.lang.String name, JobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:realtimecompute/job:Job", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Job(java.lang.String name, Output id, @Nullable JobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:realtimecompute/job:Job", name, state, makeResourceOptions(options, id), false); + } + + private static JobArgs makeArgs(JobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? JobArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Job get(java.lang.String name, Output id, @Nullable JobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Job(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/JobArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/JobArgs.java new file mode 100644 index 0000000000..dd12eeb5f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/JobArgs.java @@ -0,0 +1,351 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute; + +import com.pulumi.alicloud.realtimecompute.inputs.JobLocalVariableArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobRestoreStrategyArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobStatusArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobArgs Empty = new JobArgs(); + + /** + * deploymentId + * + */ + @Import(name="deploymentId") + private @Nullable Output deploymentId; + + /** + * @return deploymentId + * + */ + public Optional> deploymentId() { + return Optional.ofNullable(this.deploymentId); + } + + /** + * Local variables See `localVariables` below. + * + */ + @Import(name="localVariables") + private @Nullable Output> localVariables; + + /** + * @return Local variables See `localVariables` below. + * + */ + public Optional>> localVariables() { + return Optional.ofNullable(this.localVariables); + } + + /** + * namespace + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return namespace + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * workspace + * + */ + @Import(name="resourceId", required=true) + private Output resourceId; + + /** + * @return workspace + * + */ + public Output resourceId() { + return this.resourceId; + } + + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="resourceQueueName") + private @Nullable Output resourceQueueName; + + /** + * @return Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> resourceQueueName() { + return Optional.ofNullable(this.resourceQueueName); + } + + /** + * Restore strategy See `restoreStrategy` below. + * + */ + @Import(name="restoreStrategy") + private @Nullable Output restoreStrategy; + + /** + * @return Restore strategy See `restoreStrategy` below. + * + */ + public Optional> restoreStrategy() { + return Optional.ofNullable(this.restoreStrategy); + } + + /** + * job status See `status` below. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return job status See `status` below. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + @Import(name="stopStrategy") + private @Nullable Output stopStrategy; + + public Optional> stopStrategy() { + return Optional.ofNullable(this.stopStrategy); + } + + private JobArgs() {} + + private JobArgs(JobArgs $) { + this.deploymentId = $.deploymentId; + this.localVariables = $.localVariables; + this.namespace = $.namespace; + this.resourceId = $.resourceId; + this.resourceQueueName = $.resourceQueueName; + this.restoreStrategy = $.restoreStrategy; + this.status = $.status; + this.stopStrategy = $.stopStrategy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobArgs $; + + public Builder() { + $ = new JobArgs(); + } + + public Builder(JobArgs defaults) { + $ = new JobArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param deploymentId deploymentId + * + * @return builder + * + */ + public Builder deploymentId(@Nullable Output deploymentId) { + $.deploymentId = deploymentId; + return this; + } + + /** + * @param deploymentId deploymentId + * + * @return builder + * + */ + public Builder deploymentId(String deploymentId) { + return deploymentId(Output.of(deploymentId)); + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(@Nullable Output> localVariables) { + $.localVariables = localVariables; + return this; + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(List localVariables) { + return localVariables(Output.of(localVariables)); + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(JobLocalVariableArgs... localVariables) { + return localVariables(List.of(localVariables)); + } + + /** + * @param namespace namespace + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace namespace + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourceId workspace + * + * @return builder + * + */ + public Builder resourceId(Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId workspace + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param resourceQueueName Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder resourceQueueName(@Nullable Output resourceQueueName) { + $.resourceQueueName = resourceQueueName; + return this; + } + + /** + * @param resourceQueueName Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder resourceQueueName(String resourceQueueName) { + return resourceQueueName(Output.of(resourceQueueName)); + } + + /** + * @param restoreStrategy Restore strategy See `restoreStrategy` below. + * + * @return builder + * + */ + public Builder restoreStrategy(@Nullable Output restoreStrategy) { + $.restoreStrategy = restoreStrategy; + return this; + } + + /** + * @param restoreStrategy Restore strategy See `restoreStrategy` below. + * + * @return builder + * + */ + public Builder restoreStrategy(JobRestoreStrategyArgs restoreStrategy) { + return restoreStrategy(Output.of(restoreStrategy)); + } + + /** + * @param status job status See `status` below. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status job status See `status` below. + * + * @return builder + * + */ + public Builder status(JobStatusArgs status) { + return status(Output.of(status)); + } + + public Builder stopStrategy(@Nullable Output stopStrategy) { + $.stopStrategy = stopStrategy; + return this; + } + + public Builder stopStrategy(String stopStrategy) { + return stopStrategy(Output.of(stopStrategy)); + } + + public JobArgs build() { + if ($.namespace == null) { + throw new MissingRequiredPropertyException("JobArgs", "namespace"); + } + if ($.resourceId == null) { + throw new MissingRequiredPropertyException("JobArgs", "resourceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactArgs.java new file mode 100644 index 0000000000..f5e0ee983f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactJarArtifactArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactPythonArtifactArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactSqlArtifactArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentArtifactArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentArtifactArgs Empty = new DeploymentArtifactArgs(); + + /** + * JarArtifact See `jarArtifact` below. + * + */ + @Import(name="jarArtifact") + private @Nullable Output jarArtifact; + + /** + * @return JarArtifact See `jarArtifact` below. + * + */ + public Optional> jarArtifact() { + return Optional.ofNullable(this.jarArtifact); + } + + /** + * Artifact type + * + */ + @Import(name="kind", required=true) + private Output kind; + + /** + * @return Artifact type + * + */ + public Output kind() { + return this.kind; + } + + /** + * PythonArtifact See `pythonArtifact` below. + * + */ + @Import(name="pythonArtifact") + private @Nullable Output pythonArtifact; + + /** + * @return PythonArtifact See `pythonArtifact` below. + * + */ + public Optional> pythonArtifact() { + return Optional.ofNullable(this.pythonArtifact); + } + + /** + * SqlArtifact See `sqlArtifact` below. + * + */ + @Import(name="sqlArtifact") + private @Nullable Output sqlArtifact; + + /** + * @return SqlArtifact See `sqlArtifact` below. + * + */ + public Optional> sqlArtifact() { + return Optional.ofNullable(this.sqlArtifact); + } + + private DeploymentArtifactArgs() {} + + private DeploymentArtifactArgs(DeploymentArtifactArgs $) { + this.jarArtifact = $.jarArtifact; + this.kind = $.kind; + this.pythonArtifact = $.pythonArtifact; + this.sqlArtifact = $.sqlArtifact; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentArtifactArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentArtifactArgs $; + + public Builder() { + $ = new DeploymentArtifactArgs(); + } + + public Builder(DeploymentArtifactArgs defaults) { + $ = new DeploymentArtifactArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param jarArtifact JarArtifact See `jarArtifact` below. + * + * @return builder + * + */ + public Builder jarArtifact(@Nullable Output jarArtifact) { + $.jarArtifact = jarArtifact; + return this; + } + + /** + * @param jarArtifact JarArtifact See `jarArtifact` below. + * + * @return builder + * + */ + public Builder jarArtifact(DeploymentArtifactJarArtifactArgs jarArtifact) { + return jarArtifact(Output.of(jarArtifact)); + } + + /** + * @param kind Artifact type + * + * @return builder + * + */ + public Builder kind(Output kind) { + $.kind = kind; + return this; + } + + /** + * @param kind Artifact type + * + * @return builder + * + */ + public Builder kind(String kind) { + return kind(Output.of(kind)); + } + + /** + * @param pythonArtifact PythonArtifact See `pythonArtifact` below. + * + * @return builder + * + */ + public Builder pythonArtifact(@Nullable Output pythonArtifact) { + $.pythonArtifact = pythonArtifact; + return this; + } + + /** + * @param pythonArtifact PythonArtifact See `pythonArtifact` below. + * + * @return builder + * + */ + public Builder pythonArtifact(DeploymentArtifactPythonArtifactArgs pythonArtifact) { + return pythonArtifact(Output.of(pythonArtifact)); + } + + /** + * @param sqlArtifact SqlArtifact See `sqlArtifact` below. + * + * @return builder + * + */ + public Builder sqlArtifact(@Nullable Output sqlArtifact) { + $.sqlArtifact = sqlArtifact; + return this; + } + + /** + * @param sqlArtifact SqlArtifact See `sqlArtifact` below. + * + * @return builder + * + */ + public Builder sqlArtifact(DeploymentArtifactSqlArtifactArgs sqlArtifact) { + return sqlArtifact(Output.of(sqlArtifact)); + } + + public DeploymentArtifactArgs build() { + if ($.kind == null) { + throw new MissingRequiredPropertyException("DeploymentArtifactArgs", "kind"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactJarArtifactArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactJarArtifactArgs.java new file mode 100644 index 0000000000..fcb2f65928 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactJarArtifactArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentArtifactJarArtifactArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentArtifactJarArtifactArgs Empty = new DeploymentArtifactJarArtifactArgs(); + + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + @Import(name="additionalDependencies") + private @Nullable Output> additionalDependencies; + + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public Optional>> additionalDependencies() { + return Optional.ofNullable(this.additionalDependencies); + } + + /** + * Main class; you must specify the fully qualified class name + * + */ + @Import(name="entryClass") + private @Nullable Output entryClass; + + /** + * @return Main class; you must specify the fully qualified class name + * + */ + public Optional> entryClass() { + return Optional.ofNullable(this.entryClass); + } + + /** + * Full URL path of the JAR job + * + */ + @Import(name="jarUri") + private @Nullable Output jarUri; + + /** + * @return Full URL path of the JAR job + * + */ + public Optional> jarUri() { + return Optional.ofNullable(this.jarUri); + } + + /** + * Startup arguments + * + */ + @Import(name="mainArgs") + private @Nullable Output mainArgs; + + /** + * @return Startup arguments + * + */ + public Optional> mainArgs() { + return Optional.ofNullable(this.mainArgs); + } + + private DeploymentArtifactJarArtifactArgs() {} + + private DeploymentArtifactJarArtifactArgs(DeploymentArtifactJarArtifactArgs $) { + this.additionalDependencies = $.additionalDependencies; + this.entryClass = $.entryClass; + this.jarUri = $.jarUri; + this.mainArgs = $.mainArgs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentArtifactJarArtifactArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentArtifactJarArtifactArgs $; + + public Builder() { + $ = new DeploymentArtifactJarArtifactArgs(); + } + + public Builder(DeploymentArtifactJarArtifactArgs defaults) { + $ = new DeploymentArtifactJarArtifactArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(@Nullable Output> additionalDependencies) { + $.additionalDependencies = additionalDependencies; + return this; + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(List additionalDependencies) { + return additionalDependencies(Output.of(additionalDependencies)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + + /** + * @param entryClass Main class; you must specify the fully qualified class name + * + * @return builder + * + */ + public Builder entryClass(@Nullable Output entryClass) { + $.entryClass = entryClass; + return this; + } + + /** + * @param entryClass Main class; you must specify the fully qualified class name + * + * @return builder + * + */ + public Builder entryClass(String entryClass) { + return entryClass(Output.of(entryClass)); + } + + /** + * @param jarUri Full URL path of the JAR job + * + * @return builder + * + */ + public Builder jarUri(@Nullable Output jarUri) { + $.jarUri = jarUri; + return this; + } + + /** + * @param jarUri Full URL path of the JAR job + * + * @return builder + * + */ + public Builder jarUri(String jarUri) { + return jarUri(Output.of(jarUri)); + } + + /** + * @param mainArgs Startup arguments + * + * @return builder + * + */ + public Builder mainArgs(@Nullable Output mainArgs) { + $.mainArgs = mainArgs; + return this; + } + + /** + * @param mainArgs Startup arguments + * + * @return builder + * + */ + public Builder mainArgs(String mainArgs) { + return mainArgs(Output.of(mainArgs)); + } + + public DeploymentArtifactJarArtifactArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactPythonArtifactArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactPythonArtifactArgs.java new file mode 100644 index 0000000000..519b29e791 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactPythonArtifactArgs.java @@ -0,0 +1,299 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentArtifactPythonArtifactArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentArtifactPythonArtifactArgs Empty = new DeploymentArtifactPythonArtifactArgs(); + + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + @Import(name="additionalDependencies") + private @Nullable Output> additionalDependencies; + + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public Optional>> additionalDependencies() { + return Optional.ofNullable(this.additionalDependencies); + } + + /** + * URL paths of dependent Python archive files + * + */ + @Import(name="additionalPythonArchives") + private @Nullable Output> additionalPythonArchives; + + /** + * @return URL paths of dependent Python archive files + * + */ + public Optional>> additionalPythonArchives() { + return Optional.ofNullable(this.additionalPythonArchives); + } + + /** + * URL paths of dependent Python library files + * + */ + @Import(name="additionalPythonLibraries") + private @Nullable Output> additionalPythonLibraries; + + /** + * @return URL paths of dependent Python library files + * + */ + public Optional>> additionalPythonLibraries() { + return Optional.ofNullable(this.additionalPythonLibraries); + } + + /** + * Entry module for Python + * + */ + @Import(name="entryModule") + private @Nullable Output entryModule; + + /** + * @return Entry module for Python + * + */ + public Optional> entryModule() { + return Optional.ofNullable(this.entryModule); + } + + /** + * Startup arguments + * + */ + @Import(name="mainArgs") + private @Nullable Output mainArgs; + + /** + * @return Startup arguments + * + */ + public Optional> mainArgs() { + return Optional.ofNullable(this.mainArgs); + } + + /** + * Full URL path of the Python job + * + */ + @Import(name="pythonArtifactUri") + private @Nullable Output pythonArtifactUri; + + /** + * @return Full URL path of the Python job + * + */ + public Optional> pythonArtifactUri() { + return Optional.ofNullable(this.pythonArtifactUri); + } + + private DeploymentArtifactPythonArtifactArgs() {} + + private DeploymentArtifactPythonArtifactArgs(DeploymentArtifactPythonArtifactArgs $) { + this.additionalDependencies = $.additionalDependencies; + this.additionalPythonArchives = $.additionalPythonArchives; + this.additionalPythonLibraries = $.additionalPythonLibraries; + this.entryModule = $.entryModule; + this.mainArgs = $.mainArgs; + this.pythonArtifactUri = $.pythonArtifactUri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentArtifactPythonArtifactArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentArtifactPythonArtifactArgs $; + + public Builder() { + $ = new DeploymentArtifactPythonArtifactArgs(); + } + + public Builder(DeploymentArtifactPythonArtifactArgs defaults) { + $ = new DeploymentArtifactPythonArtifactArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(@Nullable Output> additionalDependencies) { + $.additionalDependencies = additionalDependencies; + return this; + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(List additionalDependencies) { + return additionalDependencies(Output.of(additionalDependencies)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + + /** + * @param additionalPythonArchives URL paths of dependent Python archive files + * + * @return builder + * + */ + public Builder additionalPythonArchives(@Nullable Output> additionalPythonArchives) { + $.additionalPythonArchives = additionalPythonArchives; + return this; + } + + /** + * @param additionalPythonArchives URL paths of dependent Python archive files + * + * @return builder + * + */ + public Builder additionalPythonArchives(List additionalPythonArchives) { + return additionalPythonArchives(Output.of(additionalPythonArchives)); + } + + /** + * @param additionalPythonArchives URL paths of dependent Python archive files + * + * @return builder + * + */ + public Builder additionalPythonArchives(String... additionalPythonArchives) { + return additionalPythonArchives(List.of(additionalPythonArchives)); + } + + /** + * @param additionalPythonLibraries URL paths of dependent Python library files + * + * @return builder + * + */ + public Builder additionalPythonLibraries(@Nullable Output> additionalPythonLibraries) { + $.additionalPythonLibraries = additionalPythonLibraries; + return this; + } + + /** + * @param additionalPythonLibraries URL paths of dependent Python library files + * + * @return builder + * + */ + public Builder additionalPythonLibraries(List additionalPythonLibraries) { + return additionalPythonLibraries(Output.of(additionalPythonLibraries)); + } + + /** + * @param additionalPythonLibraries URL paths of dependent Python library files + * + * @return builder + * + */ + public Builder additionalPythonLibraries(String... additionalPythonLibraries) { + return additionalPythonLibraries(List.of(additionalPythonLibraries)); + } + + /** + * @param entryModule Entry module for Python + * + * @return builder + * + */ + public Builder entryModule(@Nullable Output entryModule) { + $.entryModule = entryModule; + return this; + } + + /** + * @param entryModule Entry module for Python + * + * @return builder + * + */ + public Builder entryModule(String entryModule) { + return entryModule(Output.of(entryModule)); + } + + /** + * @param mainArgs Startup arguments + * + * @return builder + * + */ + public Builder mainArgs(@Nullable Output mainArgs) { + $.mainArgs = mainArgs; + return this; + } + + /** + * @param mainArgs Startup arguments + * + * @return builder + * + */ + public Builder mainArgs(String mainArgs) { + return mainArgs(Output.of(mainArgs)); + } + + /** + * @param pythonArtifactUri Full URL path of the Python job + * + * @return builder + * + */ + public Builder pythonArtifactUri(@Nullable Output pythonArtifactUri) { + $.pythonArtifactUri = pythonArtifactUri; + return this; + } + + /** + * @param pythonArtifactUri Full URL path of the Python job + * + * @return builder + * + */ + public Builder pythonArtifactUri(String pythonArtifactUri) { + return pythonArtifactUri(Output.of(pythonArtifactUri)); + } + + public DeploymentArtifactPythonArtifactArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactSqlArtifactArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactSqlArtifactArgs.java new file mode 100644 index 0000000000..00d805d2c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentArtifactSqlArtifactArgs.java @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentArtifactSqlArtifactArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentArtifactSqlArtifactArgs Empty = new DeploymentArtifactSqlArtifactArgs(); + + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + @Import(name="additionalDependencies") + private @Nullable Output> additionalDependencies; + + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public Optional>> additionalDependencies() { + return Optional.ofNullable(this.additionalDependencies); + } + + /** + * Text content of the SQL job + * + */ + @Import(name="sqlScript") + private @Nullable Output sqlScript; + + /** + * @return Text content of the SQL job + * + */ + public Optional> sqlScript() { + return Optional.ofNullable(this.sqlScript); + } + + private DeploymentArtifactSqlArtifactArgs() {} + + private DeploymentArtifactSqlArtifactArgs(DeploymentArtifactSqlArtifactArgs $) { + this.additionalDependencies = $.additionalDependencies; + this.sqlScript = $.sqlScript; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentArtifactSqlArtifactArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentArtifactSqlArtifactArgs $; + + public Builder() { + $ = new DeploymentArtifactSqlArtifactArgs(); + } + + public Builder(DeploymentArtifactSqlArtifactArgs defaults) { + $ = new DeploymentArtifactSqlArtifactArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(@Nullable Output> additionalDependencies) { + $.additionalDependencies = additionalDependencies; + return this; + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(List additionalDependencies) { + return additionalDependencies(Output.of(additionalDependencies)); + } + + /** + * @param additionalDependencies Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + * @return builder + * + */ + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + + /** + * @param sqlScript Text content of the SQL job + * + * @return builder + * + */ + public Builder sqlScript(@Nullable Output sqlScript) { + $.sqlScript = sqlScript; + return this; + } + + /** + * @param sqlScript Text content of the SQL job + * + * @return builder + * + */ + public Builder sqlScript(String sqlScript) { + return sqlScript(Output.of(sqlScript)); + } + + public DeploymentArtifactSqlArtifactArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingArgs.java new file mode 100644 index 0000000000..4f0f5212cc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentBatchResourceSettingBasicResourceSettingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentBatchResourceSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentBatchResourceSettingArgs Empty = new DeploymentBatchResourceSettingArgs(); + + /** + * Resource settings for basic mode See `basicResourceSetting` below. + * + */ + @Import(name="basicResourceSetting") + private @Nullable Output basicResourceSetting; + + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + public Optional> basicResourceSetting() { + return Optional.ofNullable(this.basicResourceSetting); + } + + /** + * Maximum number of slots + * + */ + @Import(name="maxSlot") + private @Nullable Output maxSlot; + + /** + * @return Maximum number of slots + * + */ + public Optional> maxSlot() { + return Optional.ofNullable(this.maxSlot); + } + + private DeploymentBatchResourceSettingArgs() {} + + private DeploymentBatchResourceSettingArgs(DeploymentBatchResourceSettingArgs $) { + this.basicResourceSetting = $.basicResourceSetting; + this.maxSlot = $.maxSlot; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentBatchResourceSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentBatchResourceSettingArgs $; + + public Builder() { + $ = new DeploymentBatchResourceSettingArgs(); + } + + public Builder(DeploymentBatchResourceSettingArgs defaults) { + $ = new DeploymentBatchResourceSettingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param basicResourceSetting Resource settings for basic mode See `basicResourceSetting` below. + * + * @return builder + * + */ + public Builder basicResourceSetting(@Nullable Output basicResourceSetting) { + $.basicResourceSetting = basicResourceSetting; + return this; + } + + /** + * @param basicResourceSetting Resource settings for basic mode See `basicResourceSetting` below. + * + * @return builder + * + */ + public Builder basicResourceSetting(DeploymentBatchResourceSettingBasicResourceSettingArgs basicResourceSetting) { + return basicResourceSetting(Output.of(basicResourceSetting)); + } + + /** + * @param maxSlot Maximum number of slots + * + * @return builder + * + */ + public Builder maxSlot(@Nullable Output maxSlot) { + $.maxSlot = maxSlot; + return this; + } + + /** + * @param maxSlot Maximum number of slots + * + * @return builder + * + */ + public Builder maxSlot(Integer maxSlot) { + return maxSlot(Output.of(maxSlot)); + } + + public DeploymentBatchResourceSettingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.java new file mode 100644 index 0000000000..66270e7cab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentBatchResourceSettingBasicResourceSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentBatchResourceSettingBasicResourceSettingArgs Empty = new DeploymentBatchResourceSettingBasicResourceSettingArgs(); + + @Import(name="jobmanagerResourceSettingSpec") + private @Nullable Output jobmanagerResourceSettingSpec; + + public Optional> jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + + @Import(name="parallelism") + private @Nullable Output parallelism; + + public Optional> parallelism() { + return Optional.ofNullable(this.parallelism); + } + + @Import(name="taskmanagerResourceSettingSpec") + private @Nullable Output taskmanagerResourceSettingSpec; + + public Optional> taskmanagerResourceSettingSpec() { + return Optional.ofNullable(this.taskmanagerResourceSettingSpec); + } + + private DeploymentBatchResourceSettingBasicResourceSettingArgs() {} + + private DeploymentBatchResourceSettingBasicResourceSettingArgs(DeploymentBatchResourceSettingBasicResourceSettingArgs $) { + this.jobmanagerResourceSettingSpec = $.jobmanagerResourceSettingSpec; + this.parallelism = $.parallelism; + this.taskmanagerResourceSettingSpec = $.taskmanagerResourceSettingSpec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentBatchResourceSettingBasicResourceSettingArgs $; + + public Builder() { + $ = new DeploymentBatchResourceSettingBasicResourceSettingArgs(); + } + + public Builder(DeploymentBatchResourceSettingBasicResourceSettingArgs defaults) { + $ = new DeploymentBatchResourceSettingBasicResourceSettingArgs(Objects.requireNonNull(defaults)); + } + + public Builder jobmanagerResourceSettingSpec(@Nullable Output jobmanagerResourceSettingSpec) { + $.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + + public Builder jobmanagerResourceSettingSpec(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs jobmanagerResourceSettingSpec) { + return jobmanagerResourceSettingSpec(Output.of(jobmanagerResourceSettingSpec)); + } + + public Builder parallelism(@Nullable Output parallelism) { + $.parallelism = parallelism; + return this; + } + + public Builder parallelism(Integer parallelism) { + return parallelism(Output.of(parallelism)); + } + + public Builder taskmanagerResourceSettingSpec(@Nullable Output taskmanagerResourceSettingSpec) { + $.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return this; + } + + public Builder taskmanagerResourceSettingSpec(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs taskmanagerResourceSettingSpec) { + return taskmanagerResourceSettingSpec(Output.of(taskmanagerResourceSettingSpec)); + } + + public DeploymentBatchResourceSettingBasicResourceSettingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java new file mode 100644 index 0000000000..3ebf08b8bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs Empty = new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + + @Import(name="cpu") + private @Nullable Output cpu; + + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + @Import(name="memory") + private @Nullable Output memory; + + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + private DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs() {} + + private DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs $) { + this.cpu = $.cpu; + this.memory = $.memory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs $; + + public Builder() { + $ = new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + } + + public Builder(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + $ = new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + public DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java new file mode 100644 index 0000000000..bd5c1b81fc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs Empty = new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + + @Import(name="cpu") + private @Nullable Output cpu; + + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + @Import(name="memory") + private @Nullable Output memory; + + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + private DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs() {} + + private DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs $) { + this.cpu = $.cpu; + this.memory = $.memory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs $; + + public Builder() { + $ = new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + } + + public Builder(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs defaults) { + $ = new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + public DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentDeploymentTargetArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentDeploymentTargetArgs.java new file mode 100644 index 0000000000..1763e6f696 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentDeploymentTargetArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class DeploymentDeploymentTargetArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentDeploymentTargetArgs Empty = new DeploymentDeploymentTargetArgs(); + + /** + * Deployment mode, valid values: PER_JOB or SESSION + * + */ + @Import(name="mode", required=true) + private Output mode; + + /** + * @return Deployment mode, valid values: PER_JOB or SESSION + * + */ + public Output mode() { + return this.mode; + } + + /** + * Deployment target name + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Deployment target name + * + */ + public Output name() { + return this.name; + } + + private DeploymentDeploymentTargetArgs() {} + + private DeploymentDeploymentTargetArgs(DeploymentDeploymentTargetArgs $) { + this.mode = $.mode; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentDeploymentTargetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentDeploymentTargetArgs $; + + public Builder() { + $ = new DeploymentDeploymentTargetArgs(); + } + + public Builder(DeploymentDeploymentTargetArgs defaults) { + $ = new DeploymentDeploymentTargetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param mode Deployment mode, valid values: PER_JOB or SESSION + * + * @return builder + * + */ + public Builder mode(Output mode) { + $.mode = mode; + return this; + } + + /** + * @param mode Deployment mode, valid values: PER_JOB or SESSION + * + * @return builder + * + */ + public Builder mode(String mode) { + return mode(Output.of(mode)); + } + + /** + * @param name Deployment target name + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Deployment target name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public DeploymentDeploymentTargetArgs build() { + if ($.mode == null) { + throw new MissingRequiredPropertyException("DeploymentDeploymentTargetArgs", "mode"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("DeploymentDeploymentTargetArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLocalVariableArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLocalVariableArgs.java new file mode 100644 index 0000000000..8f43ec451d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLocalVariableArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentLocalVariableArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentLocalVariableArgs Empty = new DeploymentLocalVariableArgs(); + + /** + * Job variable name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Job variable name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Job variable value + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Job variable value + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private DeploymentLocalVariableArgs() {} + + private DeploymentLocalVariableArgs(DeploymentLocalVariableArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentLocalVariableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentLocalVariableArgs $; + + public Builder() { + $ = new DeploymentLocalVariableArgs(); + } + + public Builder(DeploymentLocalVariableArgs defaults) { + $ = new DeploymentLocalVariableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Job variable name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Job variable name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value Job variable value + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Job variable value + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public DeploymentLocalVariableArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingArgs.java new file mode 100644 index 0000000000..cfb7391b05 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingArgs.java @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLoggingLog4jLoggerArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLoggingLogReservePolicyArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentLoggingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentLoggingArgs Empty = new DeploymentLoggingArgs(); + + /** + * Custom log template + * + */ + @Import(name="log4j2ConfigurationTemplate") + private @Nullable Output log4j2ConfigurationTemplate; + + /** + * @return Custom log template + * + */ + public Optional> log4j2ConfigurationTemplate() { + return Optional.ofNullable(this.log4j2ConfigurationTemplate); + } + + /** + * log4j configuration See `log4jLoggers` below. + * + */ + @Import(name="log4jLoggers") + private @Nullable Output> log4jLoggers; + + /** + * @return log4j configuration See `log4jLoggers` below. + * + */ + public Optional>> log4jLoggers() { + return Optional.ofNullable(this.log4jLoggers); + } + + /** + * Log retention policy See `logReservePolicy` below. + * + */ + @Import(name="logReservePolicy") + private @Nullable Output logReservePolicy; + + /** + * @return Log retention policy See `logReservePolicy` below. + * + */ + public Optional> logReservePolicy() { + return Optional.ofNullable(this.logReservePolicy); + } + + /** + * Default system log template + * + */ + @Import(name="loggingProfile") + private @Nullable Output loggingProfile; + + /** + * @return Default system log template + * + */ + public Optional> loggingProfile() { + return Optional.ofNullable(this.loggingProfile); + } + + private DeploymentLoggingArgs() {} + + private DeploymentLoggingArgs(DeploymentLoggingArgs $) { + this.log4j2ConfigurationTemplate = $.log4j2ConfigurationTemplate; + this.log4jLoggers = $.log4jLoggers; + this.logReservePolicy = $.logReservePolicy; + this.loggingProfile = $.loggingProfile; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentLoggingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentLoggingArgs $; + + public Builder() { + $ = new DeploymentLoggingArgs(); + } + + public Builder(DeploymentLoggingArgs defaults) { + $ = new DeploymentLoggingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param log4j2ConfigurationTemplate Custom log template + * + * @return builder + * + */ + public Builder log4j2ConfigurationTemplate(@Nullable Output log4j2ConfigurationTemplate) { + $.log4j2ConfigurationTemplate = log4j2ConfigurationTemplate; + return this; + } + + /** + * @param log4j2ConfigurationTemplate Custom log template + * + * @return builder + * + */ + public Builder log4j2ConfigurationTemplate(String log4j2ConfigurationTemplate) { + return log4j2ConfigurationTemplate(Output.of(log4j2ConfigurationTemplate)); + } + + /** + * @param log4jLoggers log4j configuration See `log4jLoggers` below. + * + * @return builder + * + */ + public Builder log4jLoggers(@Nullable Output> log4jLoggers) { + $.log4jLoggers = log4jLoggers; + return this; + } + + /** + * @param log4jLoggers log4j configuration See `log4jLoggers` below. + * + * @return builder + * + */ + public Builder log4jLoggers(List log4jLoggers) { + return log4jLoggers(Output.of(log4jLoggers)); + } + + /** + * @param log4jLoggers log4j configuration See `log4jLoggers` below. + * + * @return builder + * + */ + public Builder log4jLoggers(DeploymentLoggingLog4jLoggerArgs... log4jLoggers) { + return log4jLoggers(List.of(log4jLoggers)); + } + + /** + * @param logReservePolicy Log retention policy See `logReservePolicy` below. + * + * @return builder + * + */ + public Builder logReservePolicy(@Nullable Output logReservePolicy) { + $.logReservePolicy = logReservePolicy; + return this; + } + + /** + * @param logReservePolicy Log retention policy See `logReservePolicy` below. + * + * @return builder + * + */ + public Builder logReservePolicy(DeploymentLoggingLogReservePolicyArgs logReservePolicy) { + return logReservePolicy(Output.of(logReservePolicy)); + } + + /** + * @param loggingProfile Default system log template + * + * @return builder + * + */ + public Builder loggingProfile(@Nullable Output loggingProfile) { + $.loggingProfile = loggingProfile; + return this; + } + + /** + * @param loggingProfile Default system log template + * + * @return builder + * + */ + public Builder loggingProfile(String loggingProfile) { + return loggingProfile(Output.of(loggingProfile)); + } + + public DeploymentLoggingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLog4jLoggerArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLog4jLoggerArgs.java new file mode 100644 index 0000000000..b549d09f12 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLog4jLoggerArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentLoggingLog4jLoggerArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentLoggingLog4jLoggerArgs Empty = new DeploymentLoggingLog4jLoggerArgs(); + + /** + * Log output level + * + */ + @Import(name="loggerLevel") + private @Nullable Output loggerLevel; + + /** + * @return Log output level + * + */ + public Optional> loggerLevel() { + return Optional.ofNullable(this.loggerLevel); + } + + /** + * Class name for log output + * + */ + @Import(name="loggerName") + private @Nullable Output loggerName; + + /** + * @return Class name for log output + * + */ + public Optional> loggerName() { + return Optional.ofNullable(this.loggerName); + } + + private DeploymentLoggingLog4jLoggerArgs() {} + + private DeploymentLoggingLog4jLoggerArgs(DeploymentLoggingLog4jLoggerArgs $) { + this.loggerLevel = $.loggerLevel; + this.loggerName = $.loggerName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentLoggingLog4jLoggerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentLoggingLog4jLoggerArgs $; + + public Builder() { + $ = new DeploymentLoggingLog4jLoggerArgs(); + } + + public Builder(DeploymentLoggingLog4jLoggerArgs defaults) { + $ = new DeploymentLoggingLog4jLoggerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param loggerLevel Log output level + * + * @return builder + * + */ + public Builder loggerLevel(@Nullable Output loggerLevel) { + $.loggerLevel = loggerLevel; + return this; + } + + /** + * @param loggerLevel Log output level + * + * @return builder + * + */ + public Builder loggerLevel(String loggerLevel) { + return loggerLevel(Output.of(loggerLevel)); + } + + /** + * @param loggerName Class name for log output + * + * @return builder + * + */ + public Builder loggerName(@Nullable Output loggerName) { + $.loggerName = loggerName; + return this; + } + + /** + * @param loggerName Class name for log output + * + * @return builder + * + */ + public Builder loggerName(String loggerName) { + return loggerName(Output.of(loggerName)); + } + + public DeploymentLoggingLog4jLoggerArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLogReservePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLogReservePolicyArgs.java new file mode 100644 index 0000000000..5c67a1e109 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentLoggingLogReservePolicyArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentLoggingLogReservePolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentLoggingLogReservePolicyArgs Empty = new DeploymentLoggingLogReservePolicyArgs(); + + /** + * Number of days to retain logs after log retention is enabled + * + */ + @Import(name="expirationDays") + private @Nullable Output expirationDays; + + /** + * @return Number of days to retain logs after log retention is enabled + * + */ + public Optional> expirationDays() { + return Optional.ofNullable(this.expirationDays); + } + + /** + * Whether to enable log retention + * + */ + @Import(name="openHistory") + private @Nullable Output openHistory; + + /** + * @return Whether to enable log retention + * + */ + public Optional> openHistory() { + return Optional.ofNullable(this.openHistory); + } + + private DeploymentLoggingLogReservePolicyArgs() {} + + private DeploymentLoggingLogReservePolicyArgs(DeploymentLoggingLogReservePolicyArgs $) { + this.expirationDays = $.expirationDays; + this.openHistory = $.openHistory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentLoggingLogReservePolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentLoggingLogReservePolicyArgs $; + + public Builder() { + $ = new DeploymentLoggingLogReservePolicyArgs(); + } + + public Builder(DeploymentLoggingLogReservePolicyArgs defaults) { + $ = new DeploymentLoggingLogReservePolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expirationDays Number of days to retain logs after log retention is enabled + * + * @return builder + * + */ + public Builder expirationDays(@Nullable Output expirationDays) { + $.expirationDays = expirationDays; + return this; + } + + /** + * @param expirationDays Number of days to retain logs after log retention is enabled + * + * @return builder + * + */ + public Builder expirationDays(Integer expirationDays) { + return expirationDays(Output.of(expirationDays)); + } + + /** + * @param openHistory Whether to enable log retention + * + * @return builder + * + */ + public Builder openHistory(@Nullable Output openHistory) { + $.openHistory = openHistory; + return this; + } + + /** + * @param openHistory Whether to enable log retention + * + * @return builder + * + */ + public Builder openHistory(Boolean openHistory) { + return openHistory(Output.of(openHistory)); + } + + public DeploymentLoggingLogReservePolicyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentState.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentState.java new file mode 100644 index 0000000000..12988c0a52 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentState.java @@ -0,0 +1,619 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentArtifactArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentBatchResourceSettingArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentDeploymentTargetArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLocalVariableArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentLoggingArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentState extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentState Empty = new DeploymentState(); + + /** + * Content of the deployment job See `artifact` below. + * + */ + @Import(name="artifact") + private @Nullable Output artifact; + + /** + * @return Content of the deployment job See `artifact` below. + * + */ + public Optional> artifact() { + return Optional.ofNullable(this.artifact); + } + + /** + * Batch job resource settings See `batchResourceSetting` below. + * + */ + @Import(name="batchResourceSetting") + private @Nullable Output batchResourceSetting; + + /** + * @return Batch job resource settings See `batchResourceSetting` below. + * + */ + public Optional> batchResourceSetting() { + return Optional.ofNullable(this.batchResourceSetting); + } + + /** + * Resource property field representing the primary resource ID + * + */ + @Import(name="deploymentId") + private @Nullable Output deploymentId; + + /** + * @return Resource property field representing the primary resource ID + * + */ + public Optional> deploymentId() { + return Optional.ofNullable(this.deploymentId); + } + + /** + * Name of the deployment + * + */ + @Import(name="deploymentName") + private @Nullable Output deploymentName; + + /** + * @return Name of the deployment + * + */ + public Optional> deploymentName() { + return Optional.ofNullable(this.deploymentName); + } + + /** + * Deployment target See `deploymentTarget` below. + * + */ + @Import(name="deploymentTarget") + private @Nullable Output deploymentTarget; + + /** + * @return Deployment target See `deploymentTarget` below. + * + */ + public Optional> deploymentTarget() { + return Optional.ofNullable(this.deploymentTarget); + } + + /** + * Description + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Engine version of the deployment instance + * + */ + @Import(name="engineVersion") + private @Nullable Output engineVersion; + + /** + * @return Engine version of the deployment instance + * + */ + public Optional> engineVersion() { + return Optional.ofNullable(this.engineVersion); + } + + /** + * Execution mode. Valid values: STREAMING or BATCH. + * + */ + @Import(name="executionMode") + private @Nullable Output executionMode; + + /** + * @return Execution mode. Valid values: STREAMING or BATCH. + * + */ + public Optional> executionMode() { + return Optional.ofNullable(this.executionMode); + } + + /** + * Flink configuration + * + */ + @Import(name="flinkConf") + private @Nullable Output> flinkConf; + + /** + * @return Flink configuration + * + */ + public Optional>> flinkConf() { + return Optional.ofNullable(this.flinkConf); + } + + /** + * Deployment labels + * + */ + @Import(name="labels") + private @Nullable Output> labels; + + /** + * @return Deployment labels + * + */ + public Optional>> labels() { + return Optional.ofNullable(this.labels); + } + + /** + * Job variables See `localVariables` below. + * + */ + @Import(name="localVariables") + private @Nullable Output> localVariables; + + /** + * @return Job variables See `localVariables` below. + * + */ + public Optional>> localVariables() { + return Optional.ofNullable(this.localVariables); + } + + /** + * Job log configuration See `logging` below. + * + */ + @Import(name="logging") + private @Nullable Output logging; + + /** + * @return Job log configuration See `logging` below. + * + */ + public Optional> logging() { + return Optional.ofNullable(this.logging); + } + + /** + * Namespace name + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Namespace name + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * Workspace resource ID + * + */ + @Import(name="resourceId") + private @Nullable Output resourceId; + + /** + * @return Workspace resource ID + * + */ + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + @Import(name="streamingResourceSetting") + private @Nullable Output streamingResourceSetting; + + /** + * @return Resource settings for streaming mode See `streamingResourceSetting` below. + * + */ + public Optional> streamingResourceSetting() { + return Optional.ofNullable(this.streamingResourceSetting); + } + + private DeploymentState() {} + + private DeploymentState(DeploymentState $) { + this.artifact = $.artifact; + this.batchResourceSetting = $.batchResourceSetting; + this.deploymentId = $.deploymentId; + this.deploymentName = $.deploymentName; + this.deploymentTarget = $.deploymentTarget; + this.description = $.description; + this.engineVersion = $.engineVersion; + this.executionMode = $.executionMode; + this.flinkConf = $.flinkConf; + this.labels = $.labels; + this.localVariables = $.localVariables; + this.logging = $.logging; + this.namespace = $.namespace; + this.resourceId = $.resourceId; + this.streamingResourceSetting = $.streamingResourceSetting; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentState $; + + public Builder() { + $ = new DeploymentState(); + } + + public Builder(DeploymentState defaults) { + $ = new DeploymentState(Objects.requireNonNull(defaults)); + } + + /** + * @param artifact Content of the deployment job See `artifact` below. + * + * @return builder + * + */ + public Builder artifact(@Nullable Output artifact) { + $.artifact = artifact; + return this; + } + + /** + * @param artifact Content of the deployment job See `artifact` below. + * + * @return builder + * + */ + public Builder artifact(DeploymentArtifactArgs artifact) { + return artifact(Output.of(artifact)); + } + + /** + * @param batchResourceSetting Batch job resource settings See `batchResourceSetting` below. + * + * @return builder + * + */ + public Builder batchResourceSetting(@Nullable Output batchResourceSetting) { + $.batchResourceSetting = batchResourceSetting; + return this; + } + + /** + * @param batchResourceSetting Batch job resource settings See `batchResourceSetting` below. + * + * @return builder + * + */ + public Builder batchResourceSetting(DeploymentBatchResourceSettingArgs batchResourceSetting) { + return batchResourceSetting(Output.of(batchResourceSetting)); + } + + /** + * @param deploymentId Resource property field representing the primary resource ID + * + * @return builder + * + */ + public Builder deploymentId(@Nullable Output deploymentId) { + $.deploymentId = deploymentId; + return this; + } + + /** + * @param deploymentId Resource property field representing the primary resource ID + * + * @return builder + * + */ + public Builder deploymentId(String deploymentId) { + return deploymentId(Output.of(deploymentId)); + } + + /** + * @param deploymentName Name of the deployment + * + * @return builder + * + */ + public Builder deploymentName(@Nullable Output deploymentName) { + $.deploymentName = deploymentName; + return this; + } + + /** + * @param deploymentName Name of the deployment + * + * @return builder + * + */ + public Builder deploymentName(String deploymentName) { + return deploymentName(Output.of(deploymentName)); + } + + /** + * @param deploymentTarget Deployment target See `deploymentTarget` below. + * + * @return builder + * + */ + public Builder deploymentTarget(@Nullable Output deploymentTarget) { + $.deploymentTarget = deploymentTarget; + return this; + } + + /** + * @param deploymentTarget Deployment target See `deploymentTarget` below. + * + * @return builder + * + */ + public Builder deploymentTarget(DeploymentDeploymentTargetArgs deploymentTarget) { + return deploymentTarget(Output.of(deploymentTarget)); + } + + /** + * @param description Description + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param engineVersion Engine version of the deployment instance + * + * @return builder + * + */ + public Builder engineVersion(@Nullable Output engineVersion) { + $.engineVersion = engineVersion; + return this; + } + + /** + * @param engineVersion Engine version of the deployment instance + * + * @return builder + * + */ + public Builder engineVersion(String engineVersion) { + return engineVersion(Output.of(engineVersion)); + } + + /** + * @param executionMode Execution mode. Valid values: STREAMING or BATCH. + * + * @return builder + * + */ + public Builder executionMode(@Nullable Output executionMode) { + $.executionMode = executionMode; + return this; + } + + /** + * @param executionMode Execution mode. Valid values: STREAMING or BATCH. + * + * @return builder + * + */ + public Builder executionMode(String executionMode) { + return executionMode(Output.of(executionMode)); + } + + /** + * @param flinkConf Flink configuration + * + * @return builder + * + */ + public Builder flinkConf(@Nullable Output> flinkConf) { + $.flinkConf = flinkConf; + return this; + } + + /** + * @param flinkConf Flink configuration + * + * @return builder + * + */ + public Builder flinkConf(Map flinkConf) { + return flinkConf(Output.of(flinkConf)); + } + + /** + * @param labels Deployment labels + * + * @return builder + * + */ + public Builder labels(@Nullable Output> labels) { + $.labels = labels; + return this; + } + + /** + * @param labels Deployment labels + * + * @return builder + * + */ + public Builder labels(Map labels) { + return labels(Output.of(labels)); + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(@Nullable Output> localVariables) { + $.localVariables = localVariables; + return this; + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(List localVariables) { + return localVariables(Output.of(localVariables)); + } + + /** + * @param localVariables Job variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(DeploymentLocalVariableArgs... localVariables) { + return localVariables(List.of(localVariables)); + } + + /** + * @param logging Job log configuration See `logging` below. + * + * @return builder + * + */ + public Builder logging(@Nullable Output logging) { + $.logging = logging; + return this; + } + + /** + * @param logging Job log configuration See `logging` below. + * + * @return builder + * + */ + public Builder logging(DeploymentLoggingArgs logging) { + return logging(Output.of(logging)); + } + + /** + * @param namespace Namespace name + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Namespace name + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourceId Workspace resource ID + * + * @return builder + * + */ + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId Workspace resource ID + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param streamingResourceSetting Resource settings for streaming mode See `streamingResourceSetting` below. + * + * @return builder + * + */ + public Builder streamingResourceSetting(@Nullable Output streamingResourceSetting) { + $.streamingResourceSetting = streamingResourceSetting; + return this; + } + + /** + * @param streamingResourceSetting Resource settings for streaming mode See `streamingResourceSetting` below. + * + * @return builder + * + */ + public Builder streamingResourceSetting(DeploymentStreamingResourceSettingArgs streamingResourceSetting) { + return streamingResourceSetting(Output.of(streamingResourceSetting)); + } + + public DeploymentState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingArgs.java new file mode 100644 index 0000000000..d79df724ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingArgs.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingBasicResourceSettingArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingExpertResourceSettingArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingArgs Empty = new DeploymentStreamingResourceSettingArgs(); + + /** + * Resource settings for basic mode See `basicResourceSetting` below. + * + */ + @Import(name="basicResourceSetting") + private @Nullable Output basicResourceSetting; + + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + public Optional> basicResourceSetting() { + return Optional.ofNullable(this.basicResourceSetting); + } + + /** + * Expert mode resource settings See `expertResourceSetting` below. + * + */ + @Import(name="expertResourceSetting") + private @Nullable Output expertResourceSetting; + + /** + * @return Expert mode resource settings See `expertResourceSetting` below. + * + */ + public Optional> expertResourceSetting() { + return Optional.ofNullable(this.expertResourceSetting); + } + + /** + * Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + */ + @Import(name="resourceSettingMode") + private @Nullable Output resourceSettingMode; + + /** + * @return Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + */ + public Optional> resourceSettingMode() { + return Optional.ofNullable(this.resourceSettingMode); + } + + private DeploymentStreamingResourceSettingArgs() {} + + private DeploymentStreamingResourceSettingArgs(DeploymentStreamingResourceSettingArgs $) { + this.basicResourceSetting = $.basicResourceSetting; + this.expertResourceSetting = $.expertResourceSetting; + this.resourceSettingMode = $.resourceSettingMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingArgs(); + } + + public Builder(DeploymentStreamingResourceSettingArgs defaults) { + $ = new DeploymentStreamingResourceSettingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param basicResourceSetting Resource settings for basic mode See `basicResourceSetting` below. + * + * @return builder + * + */ + public Builder basicResourceSetting(@Nullable Output basicResourceSetting) { + $.basicResourceSetting = basicResourceSetting; + return this; + } + + /** + * @param basicResourceSetting Resource settings for basic mode See `basicResourceSetting` below. + * + * @return builder + * + */ + public Builder basicResourceSetting(DeploymentStreamingResourceSettingBasicResourceSettingArgs basicResourceSetting) { + return basicResourceSetting(Output.of(basicResourceSetting)); + } + + /** + * @param expertResourceSetting Expert mode resource settings See `expertResourceSetting` below. + * + * @return builder + * + */ + public Builder expertResourceSetting(@Nullable Output expertResourceSetting) { + $.expertResourceSetting = expertResourceSetting; + return this; + } + + /** + * @param expertResourceSetting Expert mode resource settings See `expertResourceSetting` below. + * + * @return builder + * + */ + public Builder expertResourceSetting(DeploymentStreamingResourceSettingExpertResourceSettingArgs expertResourceSetting) { + return expertResourceSetting(Output.of(expertResourceSetting)); + } + + /** + * @param resourceSettingMode Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + * @return builder + * + */ + public Builder resourceSettingMode(@Nullable Output resourceSettingMode) { + $.resourceSettingMode = resourceSettingMode; + return this; + } + + /** + * @param resourceSettingMode Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + * @return builder + * + */ + public Builder resourceSettingMode(String resourceSettingMode) { + return resourceSettingMode(Output.of(resourceSettingMode)); + } + + public DeploymentStreamingResourceSettingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.java new file mode 100644 index 0000000000..b5f3de0903 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs; +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingBasicResourceSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingBasicResourceSettingArgs Empty = new DeploymentStreamingResourceSettingBasicResourceSettingArgs(); + + @Import(name="jobmanagerResourceSettingSpec") + private @Nullable Output jobmanagerResourceSettingSpec; + + public Optional> jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + + @Import(name="parallelism") + private @Nullable Output parallelism; + + public Optional> parallelism() { + return Optional.ofNullable(this.parallelism); + } + + @Import(name="taskmanagerResourceSettingSpec") + private @Nullable Output taskmanagerResourceSettingSpec; + + public Optional> taskmanagerResourceSettingSpec() { + return Optional.ofNullable(this.taskmanagerResourceSettingSpec); + } + + private DeploymentStreamingResourceSettingBasicResourceSettingArgs() {} + + private DeploymentStreamingResourceSettingBasicResourceSettingArgs(DeploymentStreamingResourceSettingBasicResourceSettingArgs $) { + this.jobmanagerResourceSettingSpec = $.jobmanagerResourceSettingSpec; + this.parallelism = $.parallelism; + this.taskmanagerResourceSettingSpec = $.taskmanagerResourceSettingSpec; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingBasicResourceSettingArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingArgs(); + } + + public Builder(DeploymentStreamingResourceSettingBasicResourceSettingArgs defaults) { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingArgs(Objects.requireNonNull(defaults)); + } + + public Builder jobmanagerResourceSettingSpec(@Nullable Output jobmanagerResourceSettingSpec) { + $.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + + public Builder jobmanagerResourceSettingSpec(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs jobmanagerResourceSettingSpec) { + return jobmanagerResourceSettingSpec(Output.of(jobmanagerResourceSettingSpec)); + } + + public Builder parallelism(@Nullable Output parallelism) { + $.parallelism = parallelism; + return this; + } + + public Builder parallelism(Integer parallelism) { + return parallelism(Output.of(parallelism)); + } + + public Builder taskmanagerResourceSettingSpec(@Nullable Output taskmanagerResourceSettingSpec) { + $.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return this; + } + + public Builder taskmanagerResourceSettingSpec(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs taskmanagerResourceSettingSpec) { + return taskmanagerResourceSettingSpec(Output.of(taskmanagerResourceSettingSpec)); + } + + public DeploymentStreamingResourceSettingBasicResourceSettingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java new file mode 100644 index 0000000000..08ed039fc4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs Empty = new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + + @Import(name="cpu") + private @Nullable Output cpu; + + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + @Import(name="memory") + private @Nullable Output memory; + + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + private DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs() {} + + private DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs $) { + this.cpu = $.cpu; + this.memory = $.memory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(); + } + + public Builder(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + public DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java new file mode 100644 index 0000000000..74b9e687e5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs Empty = new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + + @Import(name="cpu") + private @Nullable Output cpu; + + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + @Import(name="memory") + private @Nullable Output memory; + + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + private DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs() {} + + private DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs $) { + this.cpu = $.cpu; + this.memory = $.memory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(); + } + + public Builder(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs defaults) { + $ = new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + public DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.java new file mode 100644 index 0000000000..13638210d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingArgs.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingExpertResourceSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingExpertResourceSettingArgs Empty = new DeploymentStreamingResourceSettingExpertResourceSettingArgs(); + + @Import(name="jobmanagerResourceSettingSpec") + private @Nullable Output jobmanagerResourceSettingSpec; + + public Optional> jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + + /** + * Resource plan for expert mode + * + */ + @Import(name="resourcePlan") + private @Nullable Output resourcePlan; + + /** + * @return Resource plan for expert mode + * + */ + public Optional> resourcePlan() { + return Optional.ofNullable(this.resourcePlan); + } + + private DeploymentStreamingResourceSettingExpertResourceSettingArgs() {} + + private DeploymentStreamingResourceSettingExpertResourceSettingArgs(DeploymentStreamingResourceSettingExpertResourceSettingArgs $) { + this.jobmanagerResourceSettingSpec = $.jobmanagerResourceSettingSpec; + this.resourcePlan = $.resourcePlan; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingExpertResourceSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingExpertResourceSettingArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingExpertResourceSettingArgs(); + } + + public Builder(DeploymentStreamingResourceSettingExpertResourceSettingArgs defaults) { + $ = new DeploymentStreamingResourceSettingExpertResourceSettingArgs(Objects.requireNonNull(defaults)); + } + + public Builder jobmanagerResourceSettingSpec(@Nullable Output jobmanagerResourceSettingSpec) { + $.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + + public Builder jobmanagerResourceSettingSpec(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs jobmanagerResourceSettingSpec) { + return jobmanagerResourceSettingSpec(Output.of(jobmanagerResourceSettingSpec)); + } + + /** + * @param resourcePlan Resource plan for expert mode + * + * @return builder + * + */ + public Builder resourcePlan(@Nullable Output resourcePlan) { + $.resourcePlan = resourcePlan; + return this; + } + + /** + * @param resourcePlan Resource plan for expert mode + * + * @return builder + * + */ + public Builder resourcePlan(String resourcePlan) { + return resourcePlan(Output.of(resourcePlan)); + } + + public DeploymentStreamingResourceSettingExpertResourceSettingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.java new file mode 100644 index 0000000000..4a4fc4e216 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs Empty = new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs(); + + @Import(name="cpu") + private @Nullable Output cpu; + + public Optional> cpu() { + return Optional.ofNullable(this.cpu); + } + + @Import(name="memory") + private @Nullable Output memory; + + public Optional> memory() { + return Optional.ofNullable(this.memory); + } + + private DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs() {} + + private DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs $) { + this.cpu = $.cpu; + this.memory = $.memory; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs $; + + public Builder() { + $ = new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs(); + } + + public Builder(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs defaults) { + $ = new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder cpu(@Nullable Output cpu) { + $.cpu = cpu; + return this; + } + + public Builder cpu(Double cpu) { + return cpu(Output.of(cpu)); + } + + public Builder memory(@Nullable Output memory) { + $.memory = memory; + return this; + } + + public Builder memory(String memory) { + return memory(Output.of(memory)); + } + + public DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobLocalVariableArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobLocalVariableArgs.java new file mode 100644 index 0000000000..1025affe97 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobLocalVariableArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobLocalVariableArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobLocalVariableArgs Empty = new JobLocalVariableArgs(); + + /** + * Local variables name + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Local variables name + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Local variables value + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Local variables value + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private JobLocalVariableArgs() {} + + private JobLocalVariableArgs(JobLocalVariableArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobLocalVariableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobLocalVariableArgs $; + + public Builder() { + $ = new JobLocalVariableArgs(); + } + + public Builder(JobLocalVariableArgs defaults) { + $ = new JobLocalVariableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Local variables name + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Local variables name + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value Local variables value + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Local variables value + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public JobLocalVariableArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobRestoreStrategyArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobRestoreStrategyArgs.java new file mode 100644 index 0000000000..5ac831f6dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobRestoreStrategyArgs.java @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobRestoreStrategyArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobRestoreStrategyArgs Empty = new JobRestoreStrategyArgs(); + + /** + * Stateless startup + * + */ + @Import(name="allowNonRestoredState") + private @Nullable Output allowNonRestoredState; + + /** + * @return Stateless startup + * + */ + public Optional> allowNonRestoredState() { + return Optional.ofNullable(this.allowNonRestoredState); + } + + /** + * Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + */ + @Import(name="jobStartTimeInMs") + private @Nullable Output jobStartTimeInMs; + + /** + * @return Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + */ + public Optional> jobStartTimeInMs() { + return Optional.ofNullable(this.jobStartTimeInMs); + } + + /** + * Restore type + * + */ + @Import(name="kind") + private @Nullable Output kind; + + /** + * @return Restore type + * + */ + public Optional> kind() { + return Optional.ofNullable(this.kind); + } + + /** + * SavepointId + * + */ + @Import(name="savepointId") + private @Nullable Output savepointId; + + /** + * @return SavepointId + * + */ + public Optional> savepointId() { + return Optional.ofNullable(this.savepointId); + } + + private JobRestoreStrategyArgs() {} + + private JobRestoreStrategyArgs(JobRestoreStrategyArgs $) { + this.allowNonRestoredState = $.allowNonRestoredState; + this.jobStartTimeInMs = $.jobStartTimeInMs; + this.kind = $.kind; + this.savepointId = $.savepointId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobRestoreStrategyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobRestoreStrategyArgs $; + + public Builder() { + $ = new JobRestoreStrategyArgs(); + } + + public Builder(JobRestoreStrategyArgs defaults) { + $ = new JobRestoreStrategyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param allowNonRestoredState Stateless startup + * + * @return builder + * + */ + public Builder allowNonRestoredState(@Nullable Output allowNonRestoredState) { + $.allowNonRestoredState = allowNonRestoredState; + return this; + } + + /** + * @param allowNonRestoredState Stateless startup + * + * @return builder + * + */ + public Builder allowNonRestoredState(Boolean allowNonRestoredState) { + return allowNonRestoredState(Output.of(allowNonRestoredState)); + } + + /** + * @param jobStartTimeInMs Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + * @return builder + * + */ + public Builder jobStartTimeInMs(@Nullable Output jobStartTimeInMs) { + $.jobStartTimeInMs = jobStartTimeInMs; + return this; + } + + /** + * @param jobStartTimeInMs Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + * @return builder + * + */ + public Builder jobStartTimeInMs(Integer jobStartTimeInMs) { + return jobStartTimeInMs(Output.of(jobStartTimeInMs)); + } + + /** + * @param kind Restore type + * + * @return builder + * + */ + public Builder kind(@Nullable Output kind) { + $.kind = kind; + return this; + } + + /** + * @param kind Restore type + * + * @return builder + * + */ + public Builder kind(String kind) { + return kind(Output.of(kind)); + } + + /** + * @param savepointId SavepointId + * + * @return builder + * + */ + public Builder savepointId(@Nullable Output savepointId) { + $.savepointId = savepointId; + return this; + } + + /** + * @param savepointId SavepointId + * + * @return builder + * + */ + public Builder savepointId(String savepointId) { + return savepointId(Output.of(savepointId)); + } + + public JobRestoreStrategyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobState.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobState.java new file mode 100644 index 0000000000..7f73c9115a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobState.java @@ -0,0 +1,381 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.JobLocalVariableArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobRestoreStrategyArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobStatusArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobState extends com.pulumi.resources.ResourceArgs { + + public static final JobState Empty = new JobState(); + + /** + * deploymentId + * + */ + @Import(name="deploymentId") + private @Nullable Output deploymentId; + + /** + * @return deploymentId + * + */ + public Optional> deploymentId() { + return Optional.ofNullable(this.deploymentId); + } + + /** + * The first ID of the resource + * + */ + @Import(name="jobId") + private @Nullable Output jobId; + + /** + * @return The first ID of the resource + * + */ + public Optional> jobId() { + return Optional.ofNullable(this.jobId); + } + + /** + * Local variables See `localVariables` below. + * + */ + @Import(name="localVariables") + private @Nullable Output> localVariables; + + /** + * @return Local variables See `localVariables` below. + * + */ + public Optional>> localVariables() { + return Optional.ofNullable(this.localVariables); + } + + /** + * namespace + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return namespace + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * workspace + * + */ + @Import(name="resourceId") + private @Nullable Output resourceId; + + /** + * @return workspace + * + */ + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="resourceQueueName") + private @Nullable Output resourceQueueName; + + /** + * @return Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> resourceQueueName() { + return Optional.ofNullable(this.resourceQueueName); + } + + /** + * Restore strategy See `restoreStrategy` below. + * + */ + @Import(name="restoreStrategy") + private @Nullable Output restoreStrategy; + + /** + * @return Restore strategy See `restoreStrategy` below. + * + */ + public Optional> restoreStrategy() { + return Optional.ofNullable(this.restoreStrategy); + } + + /** + * job status See `status` below. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return job status See `status` below. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + @Import(name="stopStrategy") + private @Nullable Output stopStrategy; + + public Optional> stopStrategy() { + return Optional.ofNullable(this.stopStrategy); + } + + private JobState() {} + + private JobState(JobState $) { + this.deploymentId = $.deploymentId; + this.jobId = $.jobId; + this.localVariables = $.localVariables; + this.namespace = $.namespace; + this.resourceId = $.resourceId; + this.resourceQueueName = $.resourceQueueName; + this.restoreStrategy = $.restoreStrategy; + this.status = $.status; + this.stopStrategy = $.stopStrategy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobState $; + + public Builder() { + $ = new JobState(); + } + + public Builder(JobState defaults) { + $ = new JobState(Objects.requireNonNull(defaults)); + } + + /** + * @param deploymentId deploymentId + * + * @return builder + * + */ + public Builder deploymentId(@Nullable Output deploymentId) { + $.deploymentId = deploymentId; + return this; + } + + /** + * @param deploymentId deploymentId + * + * @return builder + * + */ + public Builder deploymentId(String deploymentId) { + return deploymentId(Output.of(deploymentId)); + } + + /** + * @param jobId The first ID of the resource + * + * @return builder + * + */ + public Builder jobId(@Nullable Output jobId) { + $.jobId = jobId; + return this; + } + + /** + * @param jobId The first ID of the resource + * + * @return builder + * + */ + public Builder jobId(String jobId) { + return jobId(Output.of(jobId)); + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(@Nullable Output> localVariables) { + $.localVariables = localVariables; + return this; + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(List localVariables) { + return localVariables(Output.of(localVariables)); + } + + /** + * @param localVariables Local variables See `localVariables` below. + * + * @return builder + * + */ + public Builder localVariables(JobLocalVariableArgs... localVariables) { + return localVariables(List.of(localVariables)); + } + + /** + * @param namespace namespace + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace namespace + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourceId workspace + * + * @return builder + * + */ + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId workspace + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param resourceQueueName Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder resourceQueueName(@Nullable Output resourceQueueName) { + $.resourceQueueName = resourceQueueName; + return this; + } + + /** + * @param resourceQueueName Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder resourceQueueName(String resourceQueueName) { + return resourceQueueName(Output.of(resourceQueueName)); + } + + /** + * @param restoreStrategy Restore strategy See `restoreStrategy` below. + * + * @return builder + * + */ + public Builder restoreStrategy(@Nullable Output restoreStrategy) { + $.restoreStrategy = restoreStrategy; + return this; + } + + /** + * @param restoreStrategy Restore strategy See `restoreStrategy` below. + * + * @return builder + * + */ + public Builder restoreStrategy(JobRestoreStrategyArgs restoreStrategy) { + return restoreStrategy(Output.of(restoreStrategy)); + } + + /** + * @param status job status See `status` below. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status job status See `status` below. + * + * @return builder + * + */ + public Builder status(JobStatusArgs status) { + return status(Output.of(status)); + } + + public Builder stopStrategy(@Nullable Output stopStrategy) { + $.stopStrategy = stopStrategy; + return this; + } + + public Builder stopStrategy(String stopStrategy) { + return stopStrategy(Output.of(stopStrategy)); + } + + public JobState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusArgs.java new file mode 100644 index 0000000000..d373ba65e1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusArgs.java @@ -0,0 +1,234 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.alicloud.realtimecompute.inputs.JobStatusFailureArgs; +import com.pulumi.alicloud.realtimecompute.inputs.JobStatusRunningArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobStatusArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobStatusArgs Empty = new JobStatusArgs(); + + /** + * Job current status + * + */ + @Import(name="currentJobStatus") + private @Nullable Output currentJobStatus; + + /** + * @return Job current status + * + */ + public Optional> currentJobStatus() { + return Optional.ofNullable(this.currentJobStatus); + } + + /** + * Job failure information + * + */ + @Import(name="failure") + private @Nullable Output failure; + + /** + * @return Job failure information + * + */ + public Optional> failure() { + return Optional.ofNullable(this.failure); + } + + /** + * Job Run Health Score + * + */ + @Import(name="healthScore") + private @Nullable Output healthScore; + + /** + * @return Job Run Health Score + * + */ + public Optional> healthScore() { + return Optional.ofNullable(this.healthScore); + } + + /** + * Risk level, which indicates the risk level of the operation status of the job. + * + */ + @Import(name="riskLevel") + private @Nullable Output riskLevel; + + /** + * @return Risk level, which indicates the risk level of the operation status of the job. + * + */ + public Optional> riskLevel() { + return Optional.ofNullable(this.riskLevel); + } + + /** + * job running status, which has value when the job is Running. + * + */ + @Import(name="running") + private @Nullable Output running; + + /** + * @return job running status, which has value when the job is Running. + * + */ + public Optional> running() { + return Optional.ofNullable(this.running); + } + + private JobStatusArgs() {} + + private JobStatusArgs(JobStatusArgs $) { + this.currentJobStatus = $.currentJobStatus; + this.failure = $.failure; + this.healthScore = $.healthScore; + this.riskLevel = $.riskLevel; + this.running = $.running; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobStatusArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobStatusArgs $; + + public Builder() { + $ = new JobStatusArgs(); + } + + public Builder(JobStatusArgs defaults) { + $ = new JobStatusArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param currentJobStatus Job current status + * + * @return builder + * + */ + public Builder currentJobStatus(@Nullable Output currentJobStatus) { + $.currentJobStatus = currentJobStatus; + return this; + } + + /** + * @param currentJobStatus Job current status + * + * @return builder + * + */ + public Builder currentJobStatus(String currentJobStatus) { + return currentJobStatus(Output.of(currentJobStatus)); + } + + /** + * @param failure Job failure information + * + * @return builder + * + */ + public Builder failure(@Nullable Output failure) { + $.failure = failure; + return this; + } + + /** + * @param failure Job failure information + * + * @return builder + * + */ + public Builder failure(JobStatusFailureArgs failure) { + return failure(Output.of(failure)); + } + + /** + * @param healthScore Job Run Health Score + * + * @return builder + * + */ + public Builder healthScore(@Nullable Output healthScore) { + $.healthScore = healthScore; + return this; + } + + /** + * @param healthScore Job Run Health Score + * + * @return builder + * + */ + public Builder healthScore(Integer healthScore) { + return healthScore(Output.of(healthScore)); + } + + /** + * @param riskLevel Risk level, which indicates the risk level of the operation status of the job. + * + * @return builder + * + */ + public Builder riskLevel(@Nullable Output riskLevel) { + $.riskLevel = riskLevel; + return this; + } + + /** + * @param riskLevel Risk level, which indicates the risk level of the operation status of the job. + * + * @return builder + * + */ + public Builder riskLevel(String riskLevel) { + return riskLevel(Output.of(riskLevel)); + } + + /** + * @param running job running status, which has value when the job is Running. + * + * @return builder + * + */ + public Builder running(@Nullable Output running) { + $.running = running; + return this; + } + + /** + * @param running job running status, which has value when the job is Running. + * + * @return builder + * + */ + public Builder running(JobStatusRunningArgs running) { + return running(Output.of(running)); + } + + public JobStatusArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusFailureArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusFailureArgs.java new file mode 100644 index 0000000000..d032040de4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusFailureArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobStatusFailureArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobStatusFailureArgs Empty = new JobStatusFailureArgs(); + + /** + * Job failure time + * + */ + @Import(name="failedAt") + private @Nullable Output failedAt; + + /** + * @return Job failure time + * + */ + public Optional> failedAt() { + return Optional.ofNullable(this.failedAt); + } + + /** + * Failure Information Details + * + */ + @Import(name="message") + private @Nullable Output message; + + /** + * @return Failure Information Details + * + */ + public Optional> message() { + return Optional.ofNullable(this.message); + } + + /** + * Failure Reason + * + */ + @Import(name="reason") + private @Nullable Output reason; + + /** + * @return Failure Reason + * + */ + public Optional> reason() { + return Optional.ofNullable(this.reason); + } + + private JobStatusFailureArgs() {} + + private JobStatusFailureArgs(JobStatusFailureArgs $) { + this.failedAt = $.failedAt; + this.message = $.message; + this.reason = $.reason; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobStatusFailureArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobStatusFailureArgs $; + + public Builder() { + $ = new JobStatusFailureArgs(); + } + + public Builder(JobStatusFailureArgs defaults) { + $ = new JobStatusFailureArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param failedAt Job failure time + * + * @return builder + * + */ + public Builder failedAt(@Nullable Output failedAt) { + $.failedAt = failedAt; + return this; + } + + /** + * @param failedAt Job failure time + * + * @return builder + * + */ + public Builder failedAt(Integer failedAt) { + return failedAt(Output.of(failedAt)); + } + + /** + * @param message Failure Information Details + * + * @return builder + * + */ + public Builder message(@Nullable Output message) { + $.message = message; + return this; + } + + /** + * @param message Failure Information Details + * + * @return builder + * + */ + public Builder message(String message) { + return message(Output.of(message)); + } + + /** + * @param reason Failure Reason + * + * @return builder + * + */ + public Builder reason(@Nullable Output reason) { + $.reason = reason; + return this; + } + + /** + * @param reason Failure Reason + * + * @return builder + * + */ + public Builder reason(String reason) { + return reason(Output.of(reason)); + } + + public JobStatusFailureArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusRunningArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusRunningArgs.java new file mode 100644 index 0000000000..d83f91d58c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/inputs/JobStatusRunningArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class JobStatusRunningArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobStatusRunningArgs Empty = new JobStatusRunningArgs(); + + /** + * Number of job restarts + * + */ + @Import(name="observedFlinkJobRestarts") + private @Nullable Output observedFlinkJobRestarts; + + /** + * @return Number of job restarts + * + */ + public Optional> observedFlinkJobRestarts() { + return Optional.ofNullable(this.observedFlinkJobRestarts); + } + + /** + * Flink job status + * + */ + @Import(name="observedFlinkJobStatus") + private @Nullable Output observedFlinkJobStatus; + + /** + * @return Flink job status + * + */ + public Optional> observedFlinkJobStatus() { + return Optional.ofNullable(this.observedFlinkJobStatus); + } + + private JobStatusRunningArgs() {} + + private JobStatusRunningArgs(JobStatusRunningArgs $) { + this.observedFlinkJobRestarts = $.observedFlinkJobRestarts; + this.observedFlinkJobStatus = $.observedFlinkJobStatus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobStatusRunningArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobStatusRunningArgs $; + + public Builder() { + $ = new JobStatusRunningArgs(); + } + + public Builder(JobStatusRunningArgs defaults) { + $ = new JobStatusRunningArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param observedFlinkJobRestarts Number of job restarts + * + * @return builder + * + */ + public Builder observedFlinkJobRestarts(@Nullable Output observedFlinkJobRestarts) { + $.observedFlinkJobRestarts = observedFlinkJobRestarts; + return this; + } + + /** + * @param observedFlinkJobRestarts Number of job restarts + * + * @return builder + * + */ + public Builder observedFlinkJobRestarts(Integer observedFlinkJobRestarts) { + return observedFlinkJobRestarts(Output.of(observedFlinkJobRestarts)); + } + + /** + * @param observedFlinkJobStatus Flink job status + * + * @return builder + * + */ + public Builder observedFlinkJobStatus(@Nullable Output observedFlinkJobStatus) { + $.observedFlinkJobStatus = observedFlinkJobStatus; + return this; + } + + /** + * @param observedFlinkJobStatus Flink job status + * + * @return builder + * + */ + public Builder observedFlinkJobStatus(String observedFlinkJobStatus) { + return observedFlinkJobStatus(Output.of(observedFlinkJobStatus)); + } + + public JobStatusRunningArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifact.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifact.java new file mode 100644 index 0000000000..fdd2546083 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifact.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentArtifactJarArtifact; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentArtifactPythonArtifact; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentArtifactSqlArtifact; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentArtifact { + /** + * @return JarArtifact See `jarArtifact` below. + * + */ + private @Nullable DeploymentArtifactJarArtifact jarArtifact; + /** + * @return Artifact type + * + */ + private String kind; + /** + * @return PythonArtifact See `pythonArtifact` below. + * + */ + private @Nullable DeploymentArtifactPythonArtifact pythonArtifact; + /** + * @return SqlArtifact See `sqlArtifact` below. + * + */ + private @Nullable DeploymentArtifactSqlArtifact sqlArtifact; + + private DeploymentArtifact() {} + /** + * @return JarArtifact See `jarArtifact` below. + * + */ + public Optional jarArtifact() { + return Optional.ofNullable(this.jarArtifact); + } + /** + * @return Artifact type + * + */ + public String kind() { + return this.kind; + } + /** + * @return PythonArtifact See `pythonArtifact` below. + * + */ + public Optional pythonArtifact() { + return Optional.ofNullable(this.pythonArtifact); + } + /** + * @return SqlArtifact See `sqlArtifact` below. + * + */ + public Optional sqlArtifact() { + return Optional.ofNullable(this.sqlArtifact); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentArtifact defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentArtifactJarArtifact jarArtifact; + private String kind; + private @Nullable DeploymentArtifactPythonArtifact pythonArtifact; + private @Nullable DeploymentArtifactSqlArtifact sqlArtifact; + public Builder() {} + public Builder(DeploymentArtifact defaults) { + Objects.requireNonNull(defaults); + this.jarArtifact = defaults.jarArtifact; + this.kind = defaults.kind; + this.pythonArtifact = defaults.pythonArtifact; + this.sqlArtifact = defaults.sqlArtifact; + } + + @CustomType.Setter + public Builder jarArtifact(@Nullable DeploymentArtifactJarArtifact jarArtifact) { + + this.jarArtifact = jarArtifact; + return this; + } + @CustomType.Setter + public Builder kind(String kind) { + if (kind == null) { + throw new MissingRequiredPropertyException("DeploymentArtifact", "kind"); + } + this.kind = kind; + return this; + } + @CustomType.Setter + public Builder pythonArtifact(@Nullable DeploymentArtifactPythonArtifact pythonArtifact) { + + this.pythonArtifact = pythonArtifact; + return this; + } + @CustomType.Setter + public Builder sqlArtifact(@Nullable DeploymentArtifactSqlArtifact sqlArtifact) { + + this.sqlArtifact = sqlArtifact; + return this; + } + public DeploymentArtifact build() { + final var _resultValue = new DeploymentArtifact(); + _resultValue.jarArtifact = jarArtifact; + _resultValue.kind = kind; + _resultValue.pythonArtifact = pythonArtifact; + _resultValue.sqlArtifact = sqlArtifact; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactJarArtifact.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactJarArtifact.java new file mode 100644 index 0000000000..d2679d40f5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactJarArtifact.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentArtifactJarArtifact { + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + private @Nullable List additionalDependencies; + /** + * @return Main class; you must specify the fully qualified class name + * + */ + private @Nullable String entryClass; + /** + * @return Full URL path of the JAR job + * + */ + private @Nullable String jarUri; + /** + * @return Startup arguments + * + */ + private @Nullable String mainArgs; + + private DeploymentArtifactJarArtifact() {} + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public List additionalDependencies() { + return this.additionalDependencies == null ? List.of() : this.additionalDependencies; + } + /** + * @return Main class; you must specify the fully qualified class name + * + */ + public Optional entryClass() { + return Optional.ofNullable(this.entryClass); + } + /** + * @return Full URL path of the JAR job + * + */ + public Optional jarUri() { + return Optional.ofNullable(this.jarUri); + } + /** + * @return Startup arguments + * + */ + public Optional mainArgs() { + return Optional.ofNullable(this.mainArgs); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentArtifactJarArtifact defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List additionalDependencies; + private @Nullable String entryClass; + private @Nullable String jarUri; + private @Nullable String mainArgs; + public Builder() {} + public Builder(DeploymentArtifactJarArtifact defaults) { + Objects.requireNonNull(defaults); + this.additionalDependencies = defaults.additionalDependencies; + this.entryClass = defaults.entryClass; + this.jarUri = defaults.jarUri; + this.mainArgs = defaults.mainArgs; + } + + @CustomType.Setter + public Builder additionalDependencies(@Nullable List additionalDependencies) { + + this.additionalDependencies = additionalDependencies; + return this; + } + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + @CustomType.Setter + public Builder entryClass(@Nullable String entryClass) { + + this.entryClass = entryClass; + return this; + } + @CustomType.Setter + public Builder jarUri(@Nullable String jarUri) { + + this.jarUri = jarUri; + return this; + } + @CustomType.Setter + public Builder mainArgs(@Nullable String mainArgs) { + + this.mainArgs = mainArgs; + return this; + } + public DeploymentArtifactJarArtifact build() { + final var _resultValue = new DeploymentArtifactJarArtifact(); + _resultValue.additionalDependencies = additionalDependencies; + _resultValue.entryClass = entryClass; + _resultValue.jarUri = jarUri; + _resultValue.mainArgs = mainArgs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactPythonArtifact.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactPythonArtifact.java new file mode 100644 index 0000000000..9cad9ebc9f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactPythonArtifact.java @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentArtifactPythonArtifact { + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + private @Nullable List additionalDependencies; + /** + * @return URL paths of dependent Python archive files + * + */ + private @Nullable List additionalPythonArchives; + /** + * @return URL paths of dependent Python library files + * + */ + private @Nullable List additionalPythonLibraries; + /** + * @return Entry module for Python + * + */ + private @Nullable String entryModule; + /** + * @return Startup arguments + * + */ + private @Nullable String mainArgs; + /** + * @return Full URL path of the Python job + * + */ + private @Nullable String pythonArtifactUri; + + private DeploymentArtifactPythonArtifact() {} + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public List additionalDependencies() { + return this.additionalDependencies == null ? List.of() : this.additionalDependencies; + } + /** + * @return URL paths of dependent Python archive files + * + */ + public List additionalPythonArchives() { + return this.additionalPythonArchives == null ? List.of() : this.additionalPythonArchives; + } + /** + * @return URL paths of dependent Python library files + * + */ + public List additionalPythonLibraries() { + return this.additionalPythonLibraries == null ? List.of() : this.additionalPythonLibraries; + } + /** + * @return Entry module for Python + * + */ + public Optional entryModule() { + return Optional.ofNullable(this.entryModule); + } + /** + * @return Startup arguments + * + */ + public Optional mainArgs() { + return Optional.ofNullable(this.mainArgs); + } + /** + * @return Full URL path of the Python job + * + */ + public Optional pythonArtifactUri() { + return Optional.ofNullable(this.pythonArtifactUri); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentArtifactPythonArtifact defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List additionalDependencies; + private @Nullable List additionalPythonArchives; + private @Nullable List additionalPythonLibraries; + private @Nullable String entryModule; + private @Nullable String mainArgs; + private @Nullable String pythonArtifactUri; + public Builder() {} + public Builder(DeploymentArtifactPythonArtifact defaults) { + Objects.requireNonNull(defaults); + this.additionalDependencies = defaults.additionalDependencies; + this.additionalPythonArchives = defaults.additionalPythonArchives; + this.additionalPythonLibraries = defaults.additionalPythonLibraries; + this.entryModule = defaults.entryModule; + this.mainArgs = defaults.mainArgs; + this.pythonArtifactUri = defaults.pythonArtifactUri; + } + + @CustomType.Setter + public Builder additionalDependencies(@Nullable List additionalDependencies) { + + this.additionalDependencies = additionalDependencies; + return this; + } + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + @CustomType.Setter + public Builder additionalPythonArchives(@Nullable List additionalPythonArchives) { + + this.additionalPythonArchives = additionalPythonArchives; + return this; + } + public Builder additionalPythonArchives(String... additionalPythonArchives) { + return additionalPythonArchives(List.of(additionalPythonArchives)); + } + @CustomType.Setter + public Builder additionalPythonLibraries(@Nullable List additionalPythonLibraries) { + + this.additionalPythonLibraries = additionalPythonLibraries; + return this; + } + public Builder additionalPythonLibraries(String... additionalPythonLibraries) { + return additionalPythonLibraries(List.of(additionalPythonLibraries)); + } + @CustomType.Setter + public Builder entryModule(@Nullable String entryModule) { + + this.entryModule = entryModule; + return this; + } + @CustomType.Setter + public Builder mainArgs(@Nullable String mainArgs) { + + this.mainArgs = mainArgs; + return this; + } + @CustomType.Setter + public Builder pythonArtifactUri(@Nullable String pythonArtifactUri) { + + this.pythonArtifactUri = pythonArtifactUri; + return this; + } + public DeploymentArtifactPythonArtifact build() { + final var _resultValue = new DeploymentArtifactPythonArtifact(); + _resultValue.additionalDependencies = additionalDependencies; + _resultValue.additionalPythonArchives = additionalPythonArchives; + _resultValue.additionalPythonLibraries = additionalPythonLibraries; + _resultValue.entryModule = entryModule; + _resultValue.mainArgs = mainArgs; + _resultValue.pythonArtifactUri = pythonArtifactUri; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactSqlArtifact.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactSqlArtifact.java new file mode 100644 index 0000000000..08b907398a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentArtifactSqlArtifact.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentArtifactSqlArtifact { + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + private @Nullable List additionalDependencies; + /** + * @return Text content of the SQL job + * + */ + private @Nullable String sqlScript; + + private DeploymentArtifactSqlArtifact() {} + /** + * @return Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + * + */ + public List additionalDependencies() { + return this.additionalDependencies == null ? List.of() : this.additionalDependencies; + } + /** + * @return Text content of the SQL job + * + */ + public Optional sqlScript() { + return Optional.ofNullable(this.sqlScript); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentArtifactSqlArtifact defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List additionalDependencies; + private @Nullable String sqlScript; + public Builder() {} + public Builder(DeploymentArtifactSqlArtifact defaults) { + Objects.requireNonNull(defaults); + this.additionalDependencies = defaults.additionalDependencies; + this.sqlScript = defaults.sqlScript; + } + + @CustomType.Setter + public Builder additionalDependencies(@Nullable List additionalDependencies) { + + this.additionalDependencies = additionalDependencies; + return this; + } + public Builder additionalDependencies(String... additionalDependencies) { + return additionalDependencies(List.of(additionalDependencies)); + } + @CustomType.Setter + public Builder sqlScript(@Nullable String sqlScript) { + + this.sqlScript = sqlScript; + return this; + } + public DeploymentArtifactSqlArtifact build() { + final var _resultValue = new DeploymentArtifactSqlArtifact(); + _resultValue.additionalDependencies = additionalDependencies; + _resultValue.sqlScript = sqlScript; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSetting.java new file mode 100644 index 0000000000..3cd19180ae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSetting.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentBatchResourceSettingBasicResourceSetting; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentBatchResourceSetting { + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + private @Nullable DeploymentBatchResourceSettingBasicResourceSetting basicResourceSetting; + /** + * @return Maximum number of slots + * + */ + private @Nullable Integer maxSlot; + + private DeploymentBatchResourceSetting() {} + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + public Optional basicResourceSetting() { + return Optional.ofNullable(this.basicResourceSetting); + } + /** + * @return Maximum number of slots + * + */ + public Optional maxSlot() { + return Optional.ofNullable(this.maxSlot); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentBatchResourceSetting defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentBatchResourceSettingBasicResourceSetting basicResourceSetting; + private @Nullable Integer maxSlot; + public Builder() {} + public Builder(DeploymentBatchResourceSetting defaults) { + Objects.requireNonNull(defaults); + this.basicResourceSetting = defaults.basicResourceSetting; + this.maxSlot = defaults.maxSlot; + } + + @CustomType.Setter + public Builder basicResourceSetting(@Nullable DeploymentBatchResourceSettingBasicResourceSetting basicResourceSetting) { + + this.basicResourceSetting = basicResourceSetting; + return this; + } + @CustomType.Setter + public Builder maxSlot(@Nullable Integer maxSlot) { + + this.maxSlot = maxSlot; + return this; + } + public DeploymentBatchResourceSetting build() { + final var _resultValue = new DeploymentBatchResourceSetting(); + _resultValue.basicResourceSetting = basicResourceSetting; + _resultValue.maxSlot = maxSlot; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSetting.java new file mode 100644 index 0000000000..37746aa01f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSetting.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentBatchResourceSettingBasicResourceSetting { + private @Nullable DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + private @Nullable Integer parallelism; + private @Nullable DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec; + + private DeploymentBatchResourceSettingBasicResourceSetting() {} + public Optional jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + public Optional parallelism() { + return Optional.ofNullable(this.parallelism); + } + public Optional taskmanagerResourceSettingSpec() { + return Optional.ofNullable(this.taskmanagerResourceSettingSpec); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSetting defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + private @Nullable Integer parallelism; + private @Nullable DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec; + public Builder() {} + public Builder(DeploymentBatchResourceSettingBasicResourceSetting defaults) { + Objects.requireNonNull(defaults); + this.jobmanagerResourceSettingSpec = defaults.jobmanagerResourceSettingSpec; + this.parallelism = defaults.parallelism; + this.taskmanagerResourceSettingSpec = defaults.taskmanagerResourceSettingSpec; + } + + @CustomType.Setter + public Builder jobmanagerResourceSettingSpec(@Nullable DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec) { + + this.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + @CustomType.Setter + public Builder parallelism(@Nullable Integer parallelism) { + + this.parallelism = parallelism; + return this; + } + @CustomType.Setter + public Builder taskmanagerResourceSettingSpec(@Nullable DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec) { + + this.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return this; + } + public DeploymentBatchResourceSettingBasicResourceSetting build() { + final var _resultValue = new DeploymentBatchResourceSettingBasicResourceSetting(); + _resultValue.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + _resultValue.parallelism = parallelism; + _resultValue.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java new file mode 100644 index 0000000000..82c53353c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + private @Nullable Double cpu; + private @Nullable String memory; + + private DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec() {} + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double cpu; + private @Nullable String memory; + public Builder() {} + public Builder(DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec defaults) { + Objects.requireNonNull(defaults); + this.cpu = defaults.cpu; + this.memory = defaults.memory; + } + + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + public DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec build() { + final var _resultValue = new DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec(); + _resultValue.cpu = cpu; + _resultValue.memory = memory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java new file mode 100644 index 0000000000..83e07b3f82 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + private @Nullable Double cpu; + private @Nullable String memory; + + private DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec() {} + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double cpu; + private @Nullable String memory; + public Builder() {} + public Builder(DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec defaults) { + Objects.requireNonNull(defaults); + this.cpu = defaults.cpu; + this.memory = defaults.memory; + } + + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + public DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec build() { + final var _resultValue = new DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec(); + _resultValue.cpu = cpu; + _resultValue.memory = memory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentDeploymentTarget.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentDeploymentTarget.java new file mode 100644 index 0000000000..acc2ac2de5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentDeploymentTarget.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class DeploymentDeploymentTarget { + /** + * @return Deployment mode, valid values: PER_JOB or SESSION + * + */ + private String mode; + /** + * @return Deployment target name + * + */ + private String name; + + private DeploymentDeploymentTarget() {} + /** + * @return Deployment mode, valid values: PER_JOB or SESSION + * + */ + public String mode() { + return this.mode; + } + /** + * @return Deployment target name + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentDeploymentTarget defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String mode; + private String name; + public Builder() {} + public Builder(DeploymentDeploymentTarget defaults) { + Objects.requireNonNull(defaults); + this.mode = defaults.mode; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder mode(String mode) { + if (mode == null) { + throw new MissingRequiredPropertyException("DeploymentDeploymentTarget", "mode"); + } + this.mode = mode; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("DeploymentDeploymentTarget", "name"); + } + this.name = name; + return this; + } + public DeploymentDeploymentTarget build() { + final var _resultValue = new DeploymentDeploymentTarget(); + _resultValue.mode = mode; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLocalVariable.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLocalVariable.java new file mode 100644 index 0000000000..c26731b39d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLocalVariable.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentLocalVariable { + /** + * @return Job variable name + * + */ + private @Nullable String name; + /** + * @return Job variable value + * + */ + private @Nullable String value; + + private DeploymentLocalVariable() {} + /** + * @return Job variable name + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return Job variable value + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentLocalVariable defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String value; + public Builder() {} + public Builder(DeploymentLocalVariable defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public DeploymentLocalVariable build() { + final var _resultValue = new DeploymentLocalVariable(); + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLogging.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLogging.java new file mode 100644 index 0000000000..be01fc0541 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLogging.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentLoggingLog4jLogger; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentLoggingLogReservePolicy; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentLogging { + /** + * @return Custom log template + * + */ + private @Nullable String log4j2ConfigurationTemplate; + /** + * @return log4j configuration See `log4jLoggers` below. + * + */ + private @Nullable List log4jLoggers; + /** + * @return Log retention policy See `logReservePolicy` below. + * + */ + private @Nullable DeploymentLoggingLogReservePolicy logReservePolicy; + /** + * @return Default system log template + * + */ + private @Nullable String loggingProfile; + + private DeploymentLogging() {} + /** + * @return Custom log template + * + */ + public Optional log4j2ConfigurationTemplate() { + return Optional.ofNullable(this.log4j2ConfigurationTemplate); + } + /** + * @return log4j configuration See `log4jLoggers` below. + * + */ + public List log4jLoggers() { + return this.log4jLoggers == null ? List.of() : this.log4jLoggers; + } + /** + * @return Log retention policy See `logReservePolicy` below. + * + */ + public Optional logReservePolicy() { + return Optional.ofNullable(this.logReservePolicy); + } + /** + * @return Default system log template + * + */ + public Optional loggingProfile() { + return Optional.ofNullable(this.loggingProfile); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentLogging defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String log4j2ConfigurationTemplate; + private @Nullable List log4jLoggers; + private @Nullable DeploymentLoggingLogReservePolicy logReservePolicy; + private @Nullable String loggingProfile; + public Builder() {} + public Builder(DeploymentLogging defaults) { + Objects.requireNonNull(defaults); + this.log4j2ConfigurationTemplate = defaults.log4j2ConfigurationTemplate; + this.log4jLoggers = defaults.log4jLoggers; + this.logReservePolicy = defaults.logReservePolicy; + this.loggingProfile = defaults.loggingProfile; + } + + @CustomType.Setter + public Builder log4j2ConfigurationTemplate(@Nullable String log4j2ConfigurationTemplate) { + + this.log4j2ConfigurationTemplate = log4j2ConfigurationTemplate; + return this; + } + @CustomType.Setter + public Builder log4jLoggers(@Nullable List log4jLoggers) { + + this.log4jLoggers = log4jLoggers; + return this; + } + public Builder log4jLoggers(DeploymentLoggingLog4jLogger... log4jLoggers) { + return log4jLoggers(List.of(log4jLoggers)); + } + @CustomType.Setter + public Builder logReservePolicy(@Nullable DeploymentLoggingLogReservePolicy logReservePolicy) { + + this.logReservePolicy = logReservePolicy; + return this; + } + @CustomType.Setter + public Builder loggingProfile(@Nullable String loggingProfile) { + + this.loggingProfile = loggingProfile; + return this; + } + public DeploymentLogging build() { + final var _resultValue = new DeploymentLogging(); + _resultValue.log4j2ConfigurationTemplate = log4j2ConfigurationTemplate; + _resultValue.log4jLoggers = log4jLoggers; + _resultValue.logReservePolicy = logReservePolicy; + _resultValue.loggingProfile = loggingProfile; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLog4jLogger.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLog4jLogger.java new file mode 100644 index 0000000000..cabc27ea44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLog4jLogger.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentLoggingLog4jLogger { + /** + * @return Log output level + * + */ + private @Nullable String loggerLevel; + /** + * @return Class name for log output + * + */ + private @Nullable String loggerName; + + private DeploymentLoggingLog4jLogger() {} + /** + * @return Log output level + * + */ + public Optional loggerLevel() { + return Optional.ofNullable(this.loggerLevel); + } + /** + * @return Class name for log output + * + */ + public Optional loggerName() { + return Optional.ofNullable(this.loggerName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentLoggingLog4jLogger defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String loggerLevel; + private @Nullable String loggerName; + public Builder() {} + public Builder(DeploymentLoggingLog4jLogger defaults) { + Objects.requireNonNull(defaults); + this.loggerLevel = defaults.loggerLevel; + this.loggerName = defaults.loggerName; + } + + @CustomType.Setter + public Builder loggerLevel(@Nullable String loggerLevel) { + + this.loggerLevel = loggerLevel; + return this; + } + @CustomType.Setter + public Builder loggerName(@Nullable String loggerName) { + + this.loggerName = loggerName; + return this; + } + public DeploymentLoggingLog4jLogger build() { + final var _resultValue = new DeploymentLoggingLog4jLogger(); + _resultValue.loggerLevel = loggerLevel; + _resultValue.loggerName = loggerName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLogReservePolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLogReservePolicy.java new file mode 100644 index 0000000000..d5b0bf7401 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentLoggingLogReservePolicy.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentLoggingLogReservePolicy { + /** + * @return Number of days to retain logs after log retention is enabled + * + */ + private @Nullable Integer expirationDays; + /** + * @return Whether to enable log retention + * + */ + private @Nullable Boolean openHistory; + + private DeploymentLoggingLogReservePolicy() {} + /** + * @return Number of days to retain logs after log retention is enabled + * + */ + public Optional expirationDays() { + return Optional.ofNullable(this.expirationDays); + } + /** + * @return Whether to enable log retention + * + */ + public Optional openHistory() { + return Optional.ofNullable(this.openHistory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentLoggingLogReservePolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer expirationDays; + private @Nullable Boolean openHistory; + public Builder() {} + public Builder(DeploymentLoggingLogReservePolicy defaults) { + Objects.requireNonNull(defaults); + this.expirationDays = defaults.expirationDays; + this.openHistory = defaults.openHistory; + } + + @CustomType.Setter + public Builder expirationDays(@Nullable Integer expirationDays) { + + this.expirationDays = expirationDays; + return this; + } + @CustomType.Setter + public Builder openHistory(@Nullable Boolean openHistory) { + + this.openHistory = openHistory; + return this; + } + public DeploymentLoggingLogReservePolicy build() { + final var _resultValue = new DeploymentLoggingLogReservePolicy(); + _resultValue.expirationDays = expirationDays; + _resultValue.openHistory = openHistory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSetting.java new file mode 100644 index 0000000000..5d73d175bd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSetting.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSettingBasicResourceSetting; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSettingExpertResourceSetting; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSetting { + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + private @Nullable DeploymentStreamingResourceSettingBasicResourceSetting basicResourceSetting; + /** + * @return Expert mode resource settings See `expertResourceSetting` below. + * + */ + private @Nullable DeploymentStreamingResourceSettingExpertResourceSetting expertResourceSetting; + /** + * @return Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + */ + private @Nullable String resourceSettingMode; + + private DeploymentStreamingResourceSetting() {} + /** + * @return Resource settings for basic mode See `basicResourceSetting` below. + * + */ + public Optional basicResourceSetting() { + return Optional.ofNullable(this.basicResourceSetting); + } + /** + * @return Expert mode resource settings See `expertResourceSetting` below. + * + */ + public Optional expertResourceSetting() { + return Optional.ofNullable(this.expertResourceSetting); + } + /** + * @return Resource mode used in streaming mode, valid values: BASIC or EXPERT + * + */ + public Optional resourceSettingMode() { + return Optional.ofNullable(this.resourceSettingMode); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSetting defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentStreamingResourceSettingBasicResourceSetting basicResourceSetting; + private @Nullable DeploymentStreamingResourceSettingExpertResourceSetting expertResourceSetting; + private @Nullable String resourceSettingMode; + public Builder() {} + public Builder(DeploymentStreamingResourceSetting defaults) { + Objects.requireNonNull(defaults); + this.basicResourceSetting = defaults.basicResourceSetting; + this.expertResourceSetting = defaults.expertResourceSetting; + this.resourceSettingMode = defaults.resourceSettingMode; + } + + @CustomType.Setter + public Builder basicResourceSetting(@Nullable DeploymentStreamingResourceSettingBasicResourceSetting basicResourceSetting) { + + this.basicResourceSetting = basicResourceSetting; + return this; + } + @CustomType.Setter + public Builder expertResourceSetting(@Nullable DeploymentStreamingResourceSettingExpertResourceSetting expertResourceSetting) { + + this.expertResourceSetting = expertResourceSetting; + return this; + } + @CustomType.Setter + public Builder resourceSettingMode(@Nullable String resourceSettingMode) { + + this.resourceSettingMode = resourceSettingMode; + return this; + } + public DeploymentStreamingResourceSetting build() { + final var _resultValue = new DeploymentStreamingResourceSetting(); + _resultValue.basicResourceSetting = basicResourceSetting; + _resultValue.expertResourceSetting = expertResourceSetting; + _resultValue.resourceSettingMode = resourceSettingMode; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSetting.java new file mode 100644 index 0000000000..74eb714c99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSetting.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec; +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSettingBasicResourceSetting { + private @Nullable DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + private @Nullable Integer parallelism; + private @Nullable DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec; + + private DeploymentStreamingResourceSettingBasicResourceSetting() {} + public Optional jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + public Optional parallelism() { + return Optional.ofNullable(this.parallelism); + } + public Optional taskmanagerResourceSettingSpec() { + return Optional.ofNullable(this.taskmanagerResourceSettingSpec); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSetting defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + private @Nullable Integer parallelism; + private @Nullable DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec; + public Builder() {} + public Builder(DeploymentStreamingResourceSettingBasicResourceSetting defaults) { + Objects.requireNonNull(defaults); + this.jobmanagerResourceSettingSpec = defaults.jobmanagerResourceSettingSpec; + this.parallelism = defaults.parallelism; + this.taskmanagerResourceSettingSpec = defaults.taskmanagerResourceSettingSpec; + } + + @CustomType.Setter + public Builder jobmanagerResourceSettingSpec(@Nullable DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec) { + + this.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + @CustomType.Setter + public Builder parallelism(@Nullable Integer parallelism) { + + this.parallelism = parallelism; + return this; + } + @CustomType.Setter + public Builder taskmanagerResourceSettingSpec(@Nullable DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec taskmanagerResourceSettingSpec) { + + this.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return this; + } + public DeploymentStreamingResourceSettingBasicResourceSetting build() { + final var _resultValue = new DeploymentStreamingResourceSettingBasicResourceSetting(); + _resultValue.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + _resultValue.parallelism = parallelism; + _resultValue.taskmanagerResourceSettingSpec = taskmanagerResourceSettingSpec; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java new file mode 100644 index 0000000000..997d72f249 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + private @Nullable Double cpu; + private @Nullable String memory; + + private DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec() {} + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double cpu; + private @Nullable String memory; + public Builder() {} + public Builder(DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec defaults) { + Objects.requireNonNull(defaults); + this.cpu = defaults.cpu; + this.memory = defaults.memory; + } + + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + public DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec build() { + final var _resultValue = new DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec(); + _resultValue.cpu = cpu; + _resultValue.memory = memory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java new file mode 100644 index 0000000000..d6809f2c8d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + private @Nullable Double cpu; + private @Nullable String memory; + + private DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec() {} + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double cpu; + private @Nullable String memory; + public Builder() {} + public Builder(DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec defaults) { + Objects.requireNonNull(defaults); + this.cpu = defaults.cpu; + this.memory = defaults.memory; + } + + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + public DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec build() { + final var _resultValue = new DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec(); + _resultValue.cpu = cpu; + _resultValue.memory = memory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSetting.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSetting.java new file mode 100644 index 0000000000..bcc9f599c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSetting.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSettingExpertResourceSetting { + private @Nullable DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + /** + * @return Resource plan for expert mode + * + */ + private @Nullable String resourcePlan; + + private DeploymentStreamingResourceSettingExpertResourceSetting() {} + public Optional jobmanagerResourceSettingSpec() { + return Optional.ofNullable(this.jobmanagerResourceSettingSpec); + } + /** + * @return Resource plan for expert mode + * + */ + public Optional resourcePlan() { + return Optional.ofNullable(this.resourcePlan); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSettingExpertResourceSetting defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec; + private @Nullable String resourcePlan; + public Builder() {} + public Builder(DeploymentStreamingResourceSettingExpertResourceSetting defaults) { + Objects.requireNonNull(defaults); + this.jobmanagerResourceSettingSpec = defaults.jobmanagerResourceSettingSpec; + this.resourcePlan = defaults.resourcePlan; + } + + @CustomType.Setter + public Builder jobmanagerResourceSettingSpec(@Nullable DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec jobmanagerResourceSettingSpec) { + + this.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + return this; + } + @CustomType.Setter + public Builder resourcePlan(@Nullable String resourcePlan) { + + this.resourcePlan = resourcePlan; + return this; + } + public DeploymentStreamingResourceSettingExpertResourceSetting build() { + final var _resultValue = new DeploymentStreamingResourceSettingExpertResourceSetting(); + _resultValue.jobmanagerResourceSettingSpec = jobmanagerResourceSettingSpec; + _resultValue.resourcePlan = resourcePlan; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.java new file mode 100644 index 0000000000..6f75bab008 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + private @Nullable Double cpu; + private @Nullable String memory; + + private DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec() {} + public Optional cpu() { + return Optional.ofNullable(this.cpu); + } + public Optional memory() { + return Optional.ofNullable(this.memory); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double cpu; + private @Nullable String memory; + public Builder() {} + public Builder(DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec defaults) { + Objects.requireNonNull(defaults); + this.cpu = defaults.cpu; + this.memory = defaults.memory; + } + + @CustomType.Setter + public Builder cpu(@Nullable Double cpu) { + + this.cpu = cpu; + return this; + } + @CustomType.Setter + public Builder memory(@Nullable String memory) { + + this.memory = memory; + return this; + } + public DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec build() { + final var _resultValue = new DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec(); + _resultValue.cpu = cpu; + _resultValue.memory = memory; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobLocalVariable.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobLocalVariable.java new file mode 100644 index 0000000000..70451cec50 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobLocalVariable.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobLocalVariable { + /** + * @return Local variables name + * + */ + private @Nullable String name; + /** + * @return Local variables value + * + */ + private @Nullable String value; + + private JobLocalVariable() {} + /** + * @return Local variables name + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + /** + * @return Local variables value + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobLocalVariable defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String value; + public Builder() {} + public Builder(JobLocalVariable defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public JobLocalVariable build() { + final var _resultValue = new JobLocalVariable(); + _resultValue.name = name; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobRestoreStrategy.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobRestoreStrategy.java new file mode 100644 index 0000000000..7353f40dbc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobRestoreStrategy.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobRestoreStrategy { + /** + * @return Stateless startup + * + */ + private @Nullable Boolean allowNonRestoredState; + /** + * @return Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + */ + private @Nullable Integer jobStartTimeInMs; + /** + * @return Restore type + * + */ + private @Nullable String kind; + /** + * @return SavepointId + * + */ + private @Nullable String savepointId; + + private JobRestoreStrategy() {} + /** + * @return Stateless startup + * + */ + public Optional allowNonRestoredState() { + return Optional.ofNullable(this.allowNonRestoredState); + } + /** + * @return Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + * + */ + public Optional jobStartTimeInMs() { + return Optional.ofNullable(this.jobStartTimeInMs); + } + /** + * @return Restore type + * + */ + public Optional kind() { + return Optional.ofNullable(this.kind); + } + /** + * @return SavepointId + * + */ + public Optional savepointId() { + return Optional.ofNullable(this.savepointId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobRestoreStrategy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean allowNonRestoredState; + private @Nullable Integer jobStartTimeInMs; + private @Nullable String kind; + private @Nullable String savepointId; + public Builder() {} + public Builder(JobRestoreStrategy defaults) { + Objects.requireNonNull(defaults); + this.allowNonRestoredState = defaults.allowNonRestoredState; + this.jobStartTimeInMs = defaults.jobStartTimeInMs; + this.kind = defaults.kind; + this.savepointId = defaults.savepointId; + } + + @CustomType.Setter + public Builder allowNonRestoredState(@Nullable Boolean allowNonRestoredState) { + + this.allowNonRestoredState = allowNonRestoredState; + return this; + } + @CustomType.Setter + public Builder jobStartTimeInMs(@Nullable Integer jobStartTimeInMs) { + + this.jobStartTimeInMs = jobStartTimeInMs; + return this; + } + @CustomType.Setter + public Builder kind(@Nullable String kind) { + + this.kind = kind; + return this; + } + @CustomType.Setter + public Builder savepointId(@Nullable String savepointId) { + + this.savepointId = savepointId; + return this; + } + public JobRestoreStrategy build() { + final var _resultValue = new JobRestoreStrategy(); + _resultValue.allowNonRestoredState = allowNonRestoredState; + _resultValue.jobStartTimeInMs = jobStartTimeInMs; + _resultValue.kind = kind; + _resultValue.savepointId = savepointId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatus.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatus.java new file mode 100644 index 0000000000..de110bbd03 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatus.java @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.alicloud.realtimecompute.outputs.JobStatusFailure; +import com.pulumi.alicloud.realtimecompute.outputs.JobStatusRunning; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobStatus { + /** + * @return Job current status + * + */ + private @Nullable String currentJobStatus; + /** + * @return Job failure information + * + */ + private @Nullable JobStatusFailure failure; + /** + * @return Job Run Health Score + * + */ + private @Nullable Integer healthScore; + /** + * @return Risk level, which indicates the risk level of the operation status of the job. + * + */ + private @Nullable String riskLevel; + /** + * @return job running status, which has value when the job is Running. + * + */ + private @Nullable JobStatusRunning running; + + private JobStatus() {} + /** + * @return Job current status + * + */ + public Optional currentJobStatus() { + return Optional.ofNullable(this.currentJobStatus); + } + /** + * @return Job failure information + * + */ + public Optional failure() { + return Optional.ofNullable(this.failure); + } + /** + * @return Job Run Health Score + * + */ + public Optional healthScore() { + return Optional.ofNullable(this.healthScore); + } + /** + * @return Risk level, which indicates the risk level of the operation status of the job. + * + */ + public Optional riskLevel() { + return Optional.ofNullable(this.riskLevel); + } + /** + * @return job running status, which has value when the job is Running. + * + */ + public Optional running() { + return Optional.ofNullable(this.running); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobStatus defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String currentJobStatus; + private @Nullable JobStatusFailure failure; + private @Nullable Integer healthScore; + private @Nullable String riskLevel; + private @Nullable JobStatusRunning running; + public Builder() {} + public Builder(JobStatus defaults) { + Objects.requireNonNull(defaults); + this.currentJobStatus = defaults.currentJobStatus; + this.failure = defaults.failure; + this.healthScore = defaults.healthScore; + this.riskLevel = defaults.riskLevel; + this.running = defaults.running; + } + + @CustomType.Setter + public Builder currentJobStatus(@Nullable String currentJobStatus) { + + this.currentJobStatus = currentJobStatus; + return this; + } + @CustomType.Setter + public Builder failure(@Nullable JobStatusFailure failure) { + + this.failure = failure; + return this; + } + @CustomType.Setter + public Builder healthScore(@Nullable Integer healthScore) { + + this.healthScore = healthScore; + return this; + } + @CustomType.Setter + public Builder riskLevel(@Nullable String riskLevel) { + + this.riskLevel = riskLevel; + return this; + } + @CustomType.Setter + public Builder running(@Nullable JobStatusRunning running) { + + this.running = running; + return this; + } + public JobStatus build() { + final var _resultValue = new JobStatus(); + _resultValue.currentJobStatus = currentJobStatus; + _resultValue.failure = failure; + _resultValue.healthScore = healthScore; + _resultValue.riskLevel = riskLevel; + _resultValue.running = running; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusFailure.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusFailure.java new file mode 100644 index 0000000000..24f2de4c76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusFailure.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobStatusFailure { + /** + * @return Job failure time + * + */ + private @Nullable Integer failedAt; + /** + * @return Failure Information Details + * + */ + private @Nullable String message; + /** + * @return Failure Reason + * + */ + private @Nullable String reason; + + private JobStatusFailure() {} + /** + * @return Job failure time + * + */ + public Optional failedAt() { + return Optional.ofNullable(this.failedAt); + } + /** + * @return Failure Information Details + * + */ + public Optional message() { + return Optional.ofNullable(this.message); + } + /** + * @return Failure Reason + * + */ + public Optional reason() { + return Optional.ofNullable(this.reason); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobStatusFailure defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer failedAt; + private @Nullable String message; + private @Nullable String reason; + public Builder() {} + public Builder(JobStatusFailure defaults) { + Objects.requireNonNull(defaults); + this.failedAt = defaults.failedAt; + this.message = defaults.message; + this.reason = defaults.reason; + } + + @CustomType.Setter + public Builder failedAt(@Nullable Integer failedAt) { + + this.failedAt = failedAt; + return this; + } + @CustomType.Setter + public Builder message(@Nullable String message) { + + this.message = message; + return this; + } + @CustomType.Setter + public Builder reason(@Nullable String reason) { + + this.reason = reason; + return this; + } + public JobStatusFailure build() { + final var _resultValue = new JobStatusFailure(); + _resultValue.failedAt = failedAt; + _resultValue.message = message; + _resultValue.reason = reason; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusRunning.java b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusRunning.java new file mode 100644 index 0000000000..3221b15db4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/realtimecompute/outputs/JobStatusRunning.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.realtimecompute.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class JobStatusRunning { + /** + * @return Number of job restarts + * + */ + private @Nullable Integer observedFlinkJobRestarts; + /** + * @return Flink job status + * + */ + private @Nullable String observedFlinkJobStatus; + + private JobStatusRunning() {} + /** + * @return Number of job restarts + * + */ + public Optional observedFlinkJobRestarts() { + return Optional.ofNullable(this.observedFlinkJobRestarts); + } + /** + * @return Flink job status + * + */ + public Optional observedFlinkJobStatus() { + return Optional.ofNullable(this.observedFlinkJobStatus); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobStatusRunning defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer observedFlinkJobRestarts; + private @Nullable String observedFlinkJobStatus; + public Builder() {} + public Builder(JobStatusRunning defaults) { + Objects.requireNonNull(defaults); + this.observedFlinkJobRestarts = defaults.observedFlinkJobRestarts; + this.observedFlinkJobStatus = defaults.observedFlinkJobStatus; + } + + @CustomType.Setter + public Builder observedFlinkJobRestarts(@Nullable Integer observedFlinkJobRestarts) { + + this.observedFlinkJobRestarts = observedFlinkJobRestarts; + return this; + } + @CustomType.Setter + public Builder observedFlinkJobStatus(@Nullable String observedFlinkJobStatus) { + + this.observedFlinkJobStatus = observedFlinkJobStatus; + return this; + } + public JobStatusRunning build() { + final var _resultValue = new JobStatusRunning(); + _resultValue.observedFlinkJobRestarts = observedFlinkJobRestarts; + _resultValue.observedFlinkJobStatus = observedFlinkJobStatus; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/redis/Backup.java b/sdk/java/src/main/java/com/pulumi/alicloud/redis/Backup.java new file mode 100644 index 0000000000..6979182b5e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/redis/Backup.java @@ -0,0 +1,247 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.redis; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.redis.BackupArgs; +import com.pulumi.alicloud.redis.inputs.BackupState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. + * + * Instance level or database level backup objects. + * + * For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). + * + * > **NOTE:** Available since v1.15.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.vpc.VpcFunctions;
+ * import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
+ * import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
+ * import com.pulumi.alicloud.vpc.Switch;
+ * import com.pulumi.alicloud.vpc.SwitchArgs;
+ * import com.pulumi.std.StdFunctions;
+ * import com.pulumi.std.inputs.CidrsubnetArgs;
+ * import com.pulumi.std.inputs.ConcatArgs;
+ * import com.pulumi.alicloud.kvstore.Instance;
+ * import com.pulumi.alicloud.kvstore.InstanceArgs;
+ * import com.pulumi.alicloud.redis.Backup;
+ * import com.pulumi.alicloud.redis.BackupArgs;
+ * import com.pulumi.codegen.internal.KeyedValue;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         final var zoneId = config.get("zoneId").orElse("cn-hangzhou-h");
+ *         final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()
+ *             .nameRegex("^default-NODELETING$")
+ *             .build());
+ * 
+ *         final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
+ *             .zoneId(zoneId)
+ *             .vpcId(default_.ids()[0])
+ *             .build());
+ * 
+ *         for (var i = 0; i < defaultGetSwitches.ids().length().applyValue(_length -> _length > 0 ? 0 : 1); i++) {
+ *             new Switch("vswitch-" + i, SwitchArgs.builder()
+ *                 .vpcId(default_.ids()[0])
+ *                 .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+ *                     .input(default_.vpcs()[0].cidrBlock())
+ *                     .newbits(8)
+ *                     .netnum(8)
+ *                     .build()).result())
+ *                 .zoneId(zoneId)
+ *                 .vswitchName(name)
+ *                 .build());
+ * 
+ *         
+ * }
+ *         final var vswitchId = defaultGetSwitches.ids().length().applyValue(_length -> _length > 0 ? defaultGetSwitches.ids()[0] : StdFunctions.concat(ConcatArgs.builder()
+ *             .input(            
+ *                 vswitch.stream().map(element -> element.id()).collect(toList()),
+ *                 "")
+ *             .build()).result()[0]);
+ * 
+ *         var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
+ *             .port(6379)
+ *             .paymentType("PrePaid")
+ *             .instanceType("Redis")
+ *             .password("123456_tf")
+ *             .engineVersion("5.0")
+ *             .zoneId(zoneId)
+ *             .vswitchId(vswitchId)
+ *             .period("1")
+ *             .instanceClass("redis.shard.small.2.ce")
+ *             .build());
+ * 
+ *         var defaultBackup = new Backup("defaultBackup", BackupArgs.builder()
+ *             .instanceId(defaultInstance.id())
+ *             .backupRetentionPeriod(7)
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:redis/backup:Backup example <instance_id>:<backup_id> + * ``` + * + */ +@ResourceType(type="alicloud:redis/backup:Backup") +public class Backup extends com.pulumi.resources.CustomResource { + /** + * Backup ID. + * + */ + @Export(name="backupId", refs={Integer.class}, tree="[0]") + private Output backupId; + + /** + * @return Backup ID. + * + */ + public Output backupId() { + return this.backupId; + } + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Export(name="backupRetentionPeriod", refs={Integer.class}, tree="[0]") + private Output backupRetentionPeriod; + + /** + * @return The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Output> backupRetentionPeriod() { + return Codegen.optional(this.backupRetentionPeriod); + } + /** + * InstanceId + * + */ + @Export(name="instanceId", refs={String.class}, tree="[0]") + private Output instanceId; + + /** + * @return InstanceId + * + */ + public Output instanceId() { + return this.instanceId; + } + /** + * Backup status. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return Backup status. + * + */ + public Output status() { + return this.status; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Backup(java.lang.String name) { + this(name, BackupArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Backup(java.lang.String name, BackupArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Backup(java.lang.String name, BackupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:redis/backup:Backup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Backup(java.lang.String name, Output id, @Nullable BackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:redis/backup:Backup", name, state, makeResourceOptions(options, id), false); + } + + private static BackupArgs makeArgs(BackupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? BackupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Backup get(java.lang.String name, Output id, @Nullable BackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Backup(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/redis/BackupArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/redis/BackupArgs.java new file mode 100644 index 0000000000..b67a2e4499 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/redis/BackupArgs.java @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.redis; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BackupArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupArgs Empty = new BackupArgs(); + + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="backupRetentionPeriod") + private @Nullable Output backupRetentionPeriod; + + /** + * @return The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> backupRetentionPeriod() { + return Optional.ofNullable(this.backupRetentionPeriod); + } + + /** + * InstanceId + * + */ + @Import(name="instanceId", required=true) + private Output instanceId; + + /** + * @return InstanceId + * + */ + public Output instanceId() { + return this.instanceId; + } + + private BackupArgs() {} + + private BackupArgs(BackupArgs $) { + this.backupRetentionPeriod = $.backupRetentionPeriod; + this.instanceId = $.instanceId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupArgs $; + + public Builder() { + $ = new BackupArgs(); + } + + public Builder(BackupArgs defaults) { + $ = new BackupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param backupRetentionPeriod The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder backupRetentionPeriod(@Nullable Output backupRetentionPeriod) { + $.backupRetentionPeriod = backupRetentionPeriod; + return this; + } + + /** + * @param backupRetentionPeriod The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder backupRetentionPeriod(Integer backupRetentionPeriod) { + return backupRetentionPeriod(Output.of(backupRetentionPeriod)); + } + + /** + * @param instanceId InstanceId + * + * @return builder + * + */ + public Builder instanceId(Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId InstanceId + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + public BackupArgs build() { + if ($.instanceId == null) { + throw new MissingRequiredPropertyException("BackupArgs", "instanceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/redis/inputs/BackupState.java b/sdk/java/src/main/java/com/pulumi/alicloud/redis/inputs/BackupState.java new file mode 100644 index 0000000000..1db512676c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/redis/inputs/BackupState.java @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.redis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BackupState extends com.pulumi.resources.ResourceArgs { + + public static final BackupState Empty = new BackupState(); + + /** + * Backup ID. + * + */ + @Import(name="backupId") + private @Nullable Output backupId; + + /** + * @return Backup ID. + * + */ + public Optional> backupId() { + return Optional.ofNullable(this.backupId); + } + + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + @Import(name="backupRetentionPeriod") + private @Nullable Output backupRetentionPeriod; + + /** + * @return The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + */ + public Optional> backupRetentionPeriod() { + return Optional.ofNullable(this.backupRetentionPeriod); + } + + /** + * InstanceId + * + */ + @Import(name="instanceId") + private @Nullable Output instanceId; + + /** + * @return InstanceId + * + */ + public Optional> instanceId() { + return Optional.ofNullable(this.instanceId); + } + + /** + * Backup status. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return Backup status. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + private BackupState() {} + + private BackupState(BackupState $) { + this.backupId = $.backupId; + this.backupRetentionPeriod = $.backupRetentionPeriod; + this.instanceId = $.instanceId; + this.status = $.status; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupState $; + + public Builder() { + $ = new BackupState(); + } + + public Builder(BackupState defaults) { + $ = new BackupState(Objects.requireNonNull(defaults)); + } + + /** + * @param backupId Backup ID. + * + * @return builder + * + */ + public Builder backupId(@Nullable Output backupId) { + $.backupId = backupId; + return this; + } + + /** + * @param backupId Backup ID. + * + * @return builder + * + */ + public Builder backupId(Integer backupId) { + return backupId(Output.of(backupId)); + } + + /** + * @param backupRetentionPeriod The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder backupRetentionPeriod(@Nullable Output backupRetentionPeriod) { + $.backupRetentionPeriod = backupRetentionPeriod; + return this; + } + + /** + * @param backupRetentionPeriod The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * @return builder + * + */ + public Builder backupRetentionPeriod(Integer backupRetentionPeriod) { + return backupRetentionPeriod(Output.of(backupRetentionPeriod)); + } + + /** + * @param instanceId InstanceId + * + * @return builder + * + */ + public Builder instanceId(@Nullable Output instanceId) { + $.instanceId = instanceId; + return this; + } + + /** + * @param instanceId InstanceId + * + * @return builder + * + */ + public Builder instanceId(String instanceId) { + return instanceId(Output.of(instanceId)); + } + + /** + * @param status Backup status. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status Backup status. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public BackupState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Account.java index f05c32fc2e..07b09f699d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Account.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/AutoGroupingRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/AutoGroupingRule.java index 2c287cac83..3d5a6b08fb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/AutoGroupingRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/AutoGroupingRule.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Auto Grouping Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicy.java index 92957b0acc..12bbd452e2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicy.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Control Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicyAttachment.java index ccfd0d15a2..fe2c256b9a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ControlPolicyAttachment.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Control Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DelegatedAdministrator.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DelegatedAdministrator.java index 8068f0cd97..f87e3fdbdc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DelegatedAdministrator.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DelegatedAdministrator.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Delegated Administrator can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DeliveryChannel.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DeliveryChannel.java index 9d0e462a75..ab46e2d7fb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DeliveryChannel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/DeliveryChannel.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Delivery Channel can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Folder.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Folder.java index 0983b51059..dd6df7d6a3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Folder.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Folder.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Folder can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Handshake.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Handshake.java index c4c4d5975f..c85fcb6012 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Handshake.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Handshake.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Handshake can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MessageContact.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MessageContact.java index 79b755c5a2..574224ce4a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MessageContact.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MessageContact.java @@ -65,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Message Contact can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MultiAccountDeliveryChannel.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MultiAccountDeliveryChannel.java index 74d28fd89d..048f653c02 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MultiAccountDeliveryChannel.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/MultiAccountDeliveryChannel.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Policy.java index c8aef8ff32..8dc903ae4e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Policy.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyAttachment.java index 808d8e8b96..80b3edec6d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyAttachment.java @@ -100,6 +100,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyVersion.java index 93d00befba..cb26441ebf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/PolicyVersion.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceDirectory.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceDirectory.java index 1a5e85f1dc..dc3be0522e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceDirectory.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceDirectory.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Directory can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceGroup.java index 8404c29df5..a3267cea7a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceGroup.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceShare.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceShare.java index 48dd846000..2670fdec64 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceShare.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ResourceShare.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Share can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Role.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Role.java index 09d92c2687..520c8a9deb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Role.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/Role.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager can be imported using the id or role_name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SavedQuery.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SavedQuery.java index 0cc1656c3f..31c6480417 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SavedQuery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SavedQuery.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Saved Query can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ServiceLinkedRole.java index 4b53817030..44fdb1bb0d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/ServiceLinkedRole.java @@ -56,6 +56,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Service Linked Role can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedResource.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedResource.java index 32d2378ee2..062da7118d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedResource.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedResource.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Shared Resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedTarget.java b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedTarget.java index 4ff0de6de4..86d3598be8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedTarget.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/resourcemanager/SharedTarget.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Shared Target can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Account.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Account.java index 263209cc40..d94d387f92 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Account.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Account.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Account can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Acl.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Acl.java index 252486d7da..f4582db0e6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Acl.java @@ -140,6 +140,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ClientUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ClientUser.java index b81cb21b79..9b3a86a8fb 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ClientUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ClientUser.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ConsumerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ConsumerGroup.java index 25119e20f4..693afcf1d3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ConsumerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/ConsumerGroup.java @@ -137,6 +137,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Consumer Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/DnatEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/DnatEntry.java index b7437ed175..ac0d6dfc45 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/DnatEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/DnatEntry.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Group.java index 11eebc0145..f55705765e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Group.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS GROUP can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Instance.java index 5ec93e36f5..e6380827cc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Instance.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS INSTANCE can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Qos.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Qos.java index acaa6f9452..77348939b9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Qos.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Qos.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosCar.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosCar.java index 69aad2f0dc..9845fbaa0f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosCar.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosCar.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosPolicy.java index 8aaa5d4075..708b361c21 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/QosPolicy.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/RocketMQTopic.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/RocketMQTopic.java index 14722947bf..73eddc82c8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/RocketMQTopic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/RocketMQTopic.java @@ -131,6 +131,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Topic can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/SnatEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/SnatEntry.java index 6502142ab1..83c1024edf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/SnatEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/SnatEntry.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Topic.java b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Topic.java index c1bf1d572a..a1f3c25b94 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/rocketmq/Topic.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS TOPIC can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/ChangeSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/ChangeSet.java index 2d11dcba9b..13da23cc2f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/ChangeSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/ChangeSet.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Change Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/Stack.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/Stack.java index 059c8b670d..4bf2f8fe84 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/Stack.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/Stack.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackGroup.java index 49d5e6d584..846716f1a9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackGroup.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackInstance.java index b6ee4d7615..f76491f577 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/StackInstance.java @@ -98,6 +98,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/Template.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/Template.java index 8d884c3397..6209581542 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/Template.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/Template.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/ros/TemplateScratch.java b/sdk/java/src/main/java/com/pulumi/alicloud/ros/TemplateScratch.java index 3dbf1b54c2..c997592037 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/ros/TemplateScratch.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/ros/TemplateScratch.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Template Scratch can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Application.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Application.java index 3b325a1c75..22c5eff41b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Application.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Application.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Application can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/ApplicationScalingRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/ApplicationScalingRule.java index 8611557909..ae6b8fd8b1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/ApplicationScalingRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/ApplicationScalingRule.java @@ -178,6 +178,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/ConfigMap.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/ConfigMap.java index 5a9d83ffcc..970a8977f4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/ConfigMap.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/ConfigMap.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Config Map can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/GreyTagRoute.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/GreyTagRoute.java index 43d0c89bab..7dac3ebb8b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/GreyTagRoute.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/GreyTagRoute.java @@ -156,6 +156,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Ingress.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Ingress.java index e2b33a1dcf..a54993b45d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Ingress.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Ingress.java @@ -152,6 +152,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Ingress can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerInternet.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerInternet.java index d6f582df2b..9d7093326d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerInternet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerInternet.java @@ -144,6 +144,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerIntranet.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerIntranet.java index 357ea8ee87..f560a05c2b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerIntranet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/LoadBalancerIntranet.java @@ -144,6 +144,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The resource can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Namespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Namespace.java index c89b9e64fc..3afb0f8571 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sae/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sae/Namespace.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Namespace can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/Acl.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/Acl.java index 6da5f0f180..0647a86e17 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/Acl.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/AclRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/AclRule.java index f1e7a63613..67cca6e270 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/AclRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/AclRule.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Acl Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/ClientUser.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/ClientUser.java index 94b5bed2de..aa29a8adac 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/ClientUser.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/ClientUser.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/DnatEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/DnatEntry.java index 0ff3fe8d0b..af44c68edf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/DnatEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/DnatEntry.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/Qos.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/Qos.java index 3c909181b3..d3047c03e1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/Qos.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/Qos.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosCar.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosCar.java index 999f05c275..3dd4d19c50 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosCar.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosCar.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosPolicy.java index dd7fdabd97..81b95eff66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/QosPolicy.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/SmartagFlowLog.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/SmartagFlowLog.java index 3884920d56..57b4c5aa35 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/SmartagFlowLog.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/SmartagFlowLog.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Smartag Flow Log can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sag/SnatEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/sag/SnatEntry.java index d4b8db2a7f..e3b25ee439 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sag/SnatEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sag/SnatEntry.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/scdn/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/scdn/Domain.java index 8a5bea5738..0dda331b45 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/scdn/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/scdn/Domain.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SCDN Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/scdn/DomainConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/scdn/DomainConfig.java index 8d662f8d82..7333c712c0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/scdn/DomainConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/scdn/DomainConfig.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SCDN domain config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/AppGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/AppGroup.java index 02472c0ef0..4e432189a7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/AppGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/AppGroup.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx App Group can be imported using the id, e.g. @@ -142,14 +144,14 @@ public Output> appType() { * */ @Export(name="appVersion", refs={String.class}, tree="[0]") - private Output appVersion; + private Output appVersion; /** * @return Application Version, 1: Basic Edition, 2: Professional Edition * */ - public Output> appVersion() { - return Codegen.optional(this.appVersion); + public Output appVersion() { + return this.appVersion; } /** * Whether to delete the task in the application Group. The values are as follows: @@ -230,14 +232,14 @@ public Output> maxConcurrency() { * */ @Export(name="maxJobs", refs={Integer.class}, tree="[0]") - private Output maxJobs; + private Output maxJobs; /** * @return Application Grouping Configurable Maximum Number of Tasks * */ - public Output> maxJobs() { - return Codegen.optional(this.maxJobs); + public Output maxJobs() { + return this.maxJobs; } /** * Alarm configuration JSON field. For more information about this field, see **Request Parameters * *. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Job.java b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Job.java index 7f8f5fc016..e18a0e1b66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Job.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Job.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx Job can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Namespace.java b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Namespace.java index a844e4ce25..3d795b2033 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/Namespace.java @@ -15,6 +15,52 @@ import javax.annotation.Nullable; /** + * Provides a Schedulerx Namespace resource. + * + * For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). + * + * > **NOTE:** Available since v1.173.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.schedulerx.Namespace;
+ * import com.pulumi.alicloud.schedulerx.NamespaceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var config = ctx.config();
+ *         final var name = config.get("name").orElse("terraform-example");
+ *         var default_ = new Namespace("default", NamespaceArgs.builder()
+ *             .namespaceName(name)
+ *             .description(name)
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx Namespace can be imported using the id, e.g. @@ -55,14 +101,14 @@ public Output namespaceName() { return this.namespaceName; } /** - * Namespace uid. + * namespace uid * */ @Export(name="namespaceUid", refs={String.class}, tree="[0]") private Output namespaceUid; /** - * @return Namespace uid. + * @return namespace uid * */ public Output namespaceUid() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/NamespaceArgs.java index 785891cbd3..7bdb0384fa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/NamespaceArgs.java @@ -47,14 +47,14 @@ public Output namespaceName() { } /** - * Namespace uid. + * namespace uid * */ @Import(name="namespaceUid") private @Nullable Output namespaceUid; /** - * @return Namespace uid. + * @return namespace uid * */ public Optional> namespaceUid() { @@ -130,7 +130,7 @@ public Builder namespaceName(String namespaceName) { } /** - * @param namespaceUid Namespace uid. + * @param namespaceUid namespace uid * * @return builder * @@ -141,7 +141,7 @@ public Builder namespaceUid(@Nullable Output namespaceUid) { } /** - * @param namespaceUid Namespace uid. + * @param namespaceUid namespace uid * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/inputs/NamespaceState.java index 4b5a7fa756..420536f736 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/schedulerx/inputs/NamespaceState.java @@ -46,14 +46,14 @@ public Optional> namespaceName() { } /** - * Namespace uid. + * namespace uid * */ @Import(name="namespaceUid") private @Nullable Output namespaceUid; /** - * @return Namespace uid. + * @return namespace uid * */ public Optional> namespaceUid() { @@ -129,7 +129,7 @@ public Builder namespaceName(String namespaceName) { } /** - * @param namespaceUid Namespace uid. + * @param namespaceUid namespace uid * * @return builder * @@ -140,7 +140,7 @@ public Builder namespaceUid(@Nullable Output namespaceUid) { } /** - * @param namespaceUid Namespace uid. + * @param namespaceUid namespace uid * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Config.java b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Config.java index 48d45236cc..769b6a596a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Config.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Config.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/DataLimit.java b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/DataLimit.java index 9b87a7fd0b..f28f68393d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/DataLimit.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/DataLimit.java @@ -161,6 +161,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Data Limit can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Instance.java index 545dcb124c..12cd4b899d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Instance.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Rule.java index f230049395..bdbda8b081 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sddp/Rule.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/Group.java b/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/Group.java index e59e3ba439..dfac0dff1f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/Group.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/Group.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Security Center Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/ServiceLinkedRole.java b/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/ServiceLinkedRole.java index 336a7902d8..32de289314 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/ServiceLinkedRole.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/securitycenter/ServiceLinkedRole.java @@ -52,6 +52,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbCluster.java b/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbCluster.java index 29fb19fa2f..ba24f60b11 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbCluster.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbCluster.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SelectDB DBCluster can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbInstance.java b/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbInstance.java index 1c69d574e8..6b5e2f3dc4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbInstance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/selectdb/DbInstance.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SelectDB DBInstance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Portfolio.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Portfolio.java index 8d00d122fe..e4c0e05f0b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Portfolio.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Portfolio.java @@ -59,6 +59,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Portfolio can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/PrincipalPortfolioAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/PrincipalPortfolioAssociation.java index ce6401d308..e0196a4a37 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/PrincipalPortfolioAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/PrincipalPortfolioAssociation.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Principal Portfolio Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Product.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Product.java index 0194e84a4d..1ddea87b04 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Product.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/Product.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductPortfolioAssociation.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductPortfolioAssociation.java index 85781c2b59..66c406e44c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductPortfolioAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductPortfolioAssociation.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product Portfolio Association can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductVersion.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductVersion.java index 975e5677f5..dfc759ea47 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductVersion.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProductVersion.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product Version can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProvisionedProduct.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProvisionedProduct.java index 43afdfd75b..204e22692c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProvisionedProduct.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicecatalog/ProvisionedProduct.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Provisioned Product can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/ExtensionProvider.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/ExtensionProvider.java index 08f583d3d9..88fd999783 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/ExtensionProvider.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/ExtensionProvider.java @@ -131,6 +131,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Mesh Extension Provider can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/UserPermission.java b/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/UserPermission.java index a7c3354e96..ce697e49a6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/UserPermission.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/servicemesh/UserPermission.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Mesh User Permission can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/CustomImage.java b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/CustomImage.java index 719250230a..41f794c097 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/CustomImage.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/CustomImage.java @@ -94,6 +94,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Custom Image can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/FirewallRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/FirewallRule.java index 6839f0c17b..03fdb78c38 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/FirewallRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/FirewallRule.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Firewall Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/Snapshot.java b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/Snapshot.java index 5da16651a9..533ce6ad66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/Snapshot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/simpleapplicationserver/Snapshot.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Snapshot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Acl.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Acl.java index 5f15787397..228f20b1db 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Acl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Acl.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Entry Block * * The entry mapping supports the following: diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/AclEntryAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/AclEntryAttachment.java index 227710421c..ee4fdc5b5e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/AclEntryAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/AclEntryAttachment.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Attachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Attachment.java index 58447a73e8..bfe486ba64 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Attachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Attachment.java @@ -125,6 +125,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer attachment can be imported using the id or load balancer id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/DomainExtension.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/DomainExtension.java index e3981824bb..bb12aa460c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/DomainExtension.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/DomainExtension.java @@ -171,6 +171,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer domain_extension can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Listener.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Listener.java index 3b38ed8acc..32e69b6c61 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Listener.java @@ -133,6 +133,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/LoadBalancer.java index 1fbf8ff741..5824fdf7a6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/LoadBalancer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/LoadBalancer.java @@ -99,6 +99,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/MasterSlaveServerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/MasterSlaveServerGroup.java index 530dff7e8d..d683c3103b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/MasterSlaveServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/MasterSlaveServerGroup.java @@ -192,6 +192,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer master slave server group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Rule.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Rule.java index ad784d086f..228819e048 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/Rule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/Rule.java @@ -177,6 +177,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer forwarding rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroup.java index 15bc8eaa89..920ca49fff 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroup.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load Balancer Virtual Backend Server Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroupServerAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroupServerAttachment.java index a26cc9a946..9bb1334b8b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroupServerAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/ServerGroupServerAttachment.java @@ -138,6 +138,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/slb/TlsCipherPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/slb/TlsCipherPolicy.java index 2c7f2b3d9a..399cc287b3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/slb/TlsCipherPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/slb/TlsCipherPolicy.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLB Tls Cipher Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Alert.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Alert.java index 5e68bc8d87..106c5e9c6f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Alert.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Alert.java @@ -200,6 +200,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Alert can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/CollectionPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/CollectionPolicy.java index 5089f54608..88d6c3eea0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/CollectionPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/CollectionPolicy.java @@ -259,6 +259,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Collection Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Etl.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Etl.java index 9cf6c57ca4..623b86d187 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Etl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Etl.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Etl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Index.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Index.java index ee967c5f1d..52f8531984 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/Index.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/Index.java @@ -123,6 +123,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Index can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/LogtailConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/LogtailConfig.java index ab43cf9bb2..88313d676d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/LogtailConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/LogtailConfig.java @@ -122,6 +122,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Logtail Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/MachineGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/MachineGroup.java index b74116fc83..5cb60b5eae 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/MachineGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/MachineGroup.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Machine Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/OssExportSink.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/OssExportSink.java index 6ca9e5c731..f9c406f536 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/OssExportSink.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/OssExportSink.java @@ -135,6 +135,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Oss Export Sink can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sls/ScheduledSql.java b/sdk/java/src/main/java/com/pulumi/alicloud/sls/ScheduledSql.java index 9f08bce47b..68eb8caf96 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sls/ScheduledSql.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sls/ScheduledSql.java @@ -113,6 +113,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Scheduled SQL can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sms/ShortUrl.java b/sdk/java/src/main/java/com/pulumi/alicloud/sms/ShortUrl.java index e2a37fdda0..e914c208b1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sms/ShortUrl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sms/ShortUrl.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SMS Short Url can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificate.java index 2238eef7d9..48b5757233 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificate.java @@ -12,6 +12,7 @@ import com.pulumi.core.internal.Codegen; import java.lang.Integer; import java.lang.String; +import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -64,6 +65,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -105,6 +108,12 @@ public class PcaCertificate extends com.pulumi.resources.CustomResource { public Output algorithm() { return this.algorithm; } + @Export(name="aliasName", refs={String.class}, tree="[0]") + private Output aliasName; + + public Output> aliasName() { + return Codegen.optional(this.aliasName); + } /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. * @@ -175,9 +184,22 @@ public Output organization() { public Output organizationUnit() { return this.organizationUnit; } + /** + * A resource property field representing the resource group. + * + */ + @Export(name="resourceGroupId", refs={String.class}, tree="[0]") + private Output resourceGroupId; + + /** + * @return A resource property field representing the resource group. + * + */ + public Output resourceGroupId() { + return this.resourceGroupId; + } /** * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ @Export(name="state", refs={String.class}, tree="[0]") @@ -185,7 +207,6 @@ public Output organizationUnit() { /** * @return The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ public Output state() { @@ -205,6 +226,20 @@ public Output state() { public Output status() { return this.status; } + /** + * The tag of the resource. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return The tag of the resource. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificateArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificateArgs.java index f721de6833..d503051e98 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/PcaCertificateArgs.java @@ -8,6 +8,7 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Integer; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -48,6 +49,13 @@ public Optional> algorithm() { return Optional.ofNullable(this.algorithm); } + @Import(name="aliasName") + private @Nullable Output aliasName; + + public Optional> aliasName() { + return Optional.ofNullable(this.aliasName); + } + /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. * @@ -123,9 +131,23 @@ public Output organizationUnit() { return this.organizationUnit; } + /** + * A resource property field representing the resource group. + * + */ + @Import(name="resourceGroupId") + private @Nullable Output resourceGroupId; + + /** + * @return A resource property field representing the resource group. + * + */ + public Optional> resourceGroupId() { + return Optional.ofNullable(this.resourceGroupId); + } + /** * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ @Import(name="state", required=true) @@ -133,13 +155,27 @@ public Output organizationUnit() { /** * @return The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ public Output state() { return this.state; } + /** + * The tag of the resource. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return The tag of the resource. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. @@ -161,12 +197,15 @@ private PcaCertificateArgs() {} private PcaCertificateArgs(PcaCertificateArgs $) { this.algorithm = $.algorithm; + this.aliasName = $.aliasName; this.commonName = $.commonName; this.countryCode = $.countryCode; this.locality = $.locality; this.organization = $.organization; this.organizationUnit = $.organizationUnit; + this.resourceGroupId = $.resourceGroupId; this.state = $.state; + this.tags = $.tags; this.years = $.years; } @@ -225,6 +264,15 @@ public Builder algorithm(String algorithm) { return algorithm(Output.of(algorithm)); } + public Builder aliasName(@Nullable Output aliasName) { + $.aliasName = aliasName; + return this; + } + + public Builder aliasName(String aliasName) { + return aliasName(Output.of(aliasName)); + } + /** * @param commonName The common name or abbreviation of the organization. Support the use of Chinese, English characters. * @@ -330,9 +378,29 @@ public Builder organizationUnit(String organizationUnit) { return organizationUnit(Output.of(organizationUnit)); } + /** + * @param resourceGroupId A resource property field representing the resource group. + * + * @return builder + * + */ + public Builder resourceGroupId(@Nullable Output resourceGroupId) { + $.resourceGroupId = resourceGroupId; + return this; + } + + /** + * @param resourceGroupId A resource property field representing the resource group. + * + * @return builder + * + */ + public Builder resourceGroupId(String resourceGroupId) { + return resourceGroupId(Output.of(resourceGroupId)); + } + /** * @param state The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * * @return builder * @@ -344,7 +412,6 @@ public Builder state(Output state) { /** * @param state The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * * @return builder * @@ -353,6 +420,27 @@ public Builder state(String state) { return state(Output.of(state)); } + /** + * @param tags The tag of the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags The tag of the resource. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + /** * @param years The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/inputs/PcaCertificateState.java b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/inputs/PcaCertificateState.java index 075db076f3..fc116a0746 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/inputs/PcaCertificateState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/sslcertificatesservice/inputs/PcaCertificateState.java @@ -7,6 +7,7 @@ import com.pulumi.core.annotations.Import; import java.lang.Integer; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -47,6 +48,13 @@ public Optional> algorithm() { return Optional.ofNullable(this.algorithm); } + @Import(name="aliasName") + private @Nullable Output aliasName; + + public Optional> aliasName() { + return Optional.ofNullable(this.aliasName); + } + /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. * @@ -122,9 +130,23 @@ public Optional> organizationUnit() { return Optional.ofNullable(this.organizationUnit); } + /** + * A resource property field representing the resource group. + * + */ + @Import(name="resourceGroupId") + private @Nullable Output resourceGroupId; + + /** + * @return A resource property field representing the resource group. + * + */ + public Optional> resourceGroupId() { + return Optional.ofNullable(this.resourceGroupId); + } + /** * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ @Import(name="state") @@ -132,7 +154,6 @@ public Optional> organizationUnit() { /** * @return The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * */ public Optional> state() { @@ -154,6 +175,21 @@ public Optional> status() { return Optional.ofNullable(this.status); } + /** + * The tag of the resource. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return The tag of the resource. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. @@ -175,13 +211,16 @@ private PcaCertificateState() {} private PcaCertificateState(PcaCertificateState $) { this.algorithm = $.algorithm; + this.aliasName = $.aliasName; this.commonName = $.commonName; this.countryCode = $.countryCode; this.locality = $.locality; this.organization = $.organization; this.organizationUnit = $.organizationUnit; + this.resourceGroupId = $.resourceGroupId; this.state = $.state; this.status = $.status; + this.tags = $.tags; this.years = $.years; } @@ -240,6 +279,15 @@ public Builder algorithm(String algorithm) { return algorithm(Output.of(algorithm)); } + public Builder aliasName(@Nullable Output aliasName) { + $.aliasName = aliasName; + return this; + } + + public Builder aliasName(String aliasName) { + return aliasName(Output.of(aliasName)); + } + /** * @param commonName The common name or abbreviation of the organization. Support the use of Chinese, English characters. * @@ -345,9 +393,29 @@ public Builder organizationUnit(String organizationUnit) { return organizationUnit(Output.of(organizationUnit)); } + /** + * @param resourceGroupId A resource property field representing the resource group. + * + * @return builder + * + */ + public Builder resourceGroupId(@Nullable Output resourceGroupId) { + $.resourceGroupId = resourceGroupId; + return this; + } + + /** + * @param resourceGroupId A resource property field representing the resource group. + * + * @return builder + * + */ + public Builder resourceGroupId(String resourceGroupId) { + return resourceGroupId(Output.of(resourceGroupId)); + } + /** * @param state The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * * @return builder * @@ -359,7 +427,6 @@ public Builder state(@Nullable Output state) { /** * @param state The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. * * @return builder * @@ -389,6 +456,27 @@ public Builder status(String status) { return status(Output.of(status)); } + /** + * @param tags The tag of the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags The tag of the resource. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + /** * @param years The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/Instance.java index 6ad63dae6d..0749cc8c6a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/Instance.java @@ -141,6 +141,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/NodeGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/NodeGroup.java index 8bacf3ac94..f41eaf6bb8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/NodeGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/starrocks/NodeGroup.java @@ -131,6 +131,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Node Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/tag/AssociatedRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/tag/AssociatedRule.java index 07fe3c3541..a4b52c7d55 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/tag/AssociatedRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/tag/AssociatedRule.java @@ -61,6 +61,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TAG Associated Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/tag/MetaTag.java b/sdk/java/src/main/java/com/pulumi/alicloud/tag/MetaTag.java index 67cbee9d4e..e24a241aa8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/tag/MetaTag.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/tag/MetaTag.java @@ -60,6 +60,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tag Meta Tag can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/tag/Policy.java b/sdk/java/src/main/java/com/pulumi/alicloud/tag/Policy.java index adcb4a819a..d61521d422 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/tag/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/tag/Policy.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TAG Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/tag/PolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/tag/PolicyAttachment.java index e3b8f72455..02c74aa20d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/tag/PolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/tag/PolicyAttachment.java @@ -73,6 +73,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tag Policy Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AntiBruteForceRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AntiBruteForceRule.java index 6f4db6bbf6..6864e7e13c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AntiBruteForceRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AntiBruteForceRule.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Anti Brute Force Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AttackPathSensitiveAssetConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AttackPathSensitiveAssetConfig.java index b6898b25c5..a9e30594b5 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AttackPathSensitiveAssetConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/AttackPathSensitiveAssetConfig.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BackupPolicy.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BackupPolicy.java index 5998b3cfa5..750596f228 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BackupPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BackupPolicy.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Backup Policy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BaselineStrategy.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BaselineStrategy.java index c7c52b1ed6..8157ef7392 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BaselineStrategy.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/BaselineStrategy.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Baseline Strategy can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfig.java new file mode 100644 index 0000000000..1ab4c55670 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfig.java @@ -0,0 +1,283 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection; + +import com.pulumi.alicloud.Utilities; +import com.pulumi.alicloud.threatdetection.CheckConfigArgs; +import com.pulumi.alicloud.threatdetection.inputs.CheckConfigState; +import com.pulumi.alicloud.threatdetection.outputs.CheckConfigSelectedCheck; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Threat Detection Check Config resource. + * + * CSPM Risk Overview Policy Management. + * + * For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). + * + * > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.alicloud.threatdetection.CheckConfig;
+ * import com.pulumi.alicloud.threatdetection.CheckConfigArgs;
+ * import com.pulumi.alicloud.threatdetection.inputs.CheckConfigSelectedCheckArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var default_ = new CheckConfig("default", CheckConfigArgs.builder()
+ *             .endTime(18)
+ *             .enableAutoCheck(true)
+ *             .vendors("ALIYUN")
+ *             .cycleDays(            
+ *                 7,
+ *                 1,
+ *                 2)
+ *             .enableAddCheck(true)
+ *             .startTime(12)
+ *             .configure("not")
+ *             .systemConfig(false)
+ *             .selectedChecks(CheckConfigSelectedCheckArgs.builder()
+ *                 .checkId(370)
+ *                 .sectionId(515)
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * + * ## Import + * + * Threat Detection Check Config can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example + * ``` + * + */ +@ResourceType(type="alicloud:threatdetection/checkConfig:CheckConfig") +public class CheckConfig extends com.pulumi.resources.CustomResource { + /** + * The configuration of the check item. Valid value: + * + */ + @Export(name="configure", refs={String.class}, tree="[0]") + private Output configure; + + /** + * @return The configuration of the check item. Valid value: + * + */ + public Output> configure() { + return Codegen.optional(this.configure); + } + /** + * Cycle detection time. + * + */ + @Export(name="cycleDays", refs={List.class,Integer.class}, tree="[0,1]") + private Output> cycleDays; + + /** + * @return Cycle detection time. + * + */ + public Output>> cycleDays() { + return Codegen.optional(this.cycleDays); + } + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + @Export(name="enableAddCheck", refs={Boolean.class}, tree="[0]") + private Output enableAddCheck; + + /** + * @return Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + public Output> enableAddCheck() { + return Codegen.optional(this.enableAddCheck); + } + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + @Export(name="enableAutoCheck", refs={Boolean.class}, tree="[0]") + private Output enableAutoCheck; + + /** + * @return Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + public Output> enableAutoCheck() { + return Codegen.optional(this.enableAutoCheck); + } + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + @Export(name="endTime", refs={Integer.class}, tree="[0]") + private Output endTime; + + /** + * @return Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + public Output> endTime() { + return Codegen.optional(this.endTime); + } + /** + * The check items selected in the policy. See `selectedChecks` below. + * + */ + @Export(name="selectedChecks", refs={List.class,CheckConfigSelectedCheck.class}, tree="[0,1]") + private Output> selectedChecks; + + /** + * @return The check items selected in the policy. See `selectedChecks` below. + * + */ + public Output>> selectedChecks() { + return Codegen.optional(this.selectedChecks); + } + /** + * The start time of the check. The value specifies a point in time in a day. + * + */ + @Export(name="startTime", refs={Integer.class}, tree="[0]") + private Output startTime; + + /** + * @return The start time of the check. The value specifies a point in time in a day. + * + */ + public Output> startTime() { + return Codegen.optional(this.startTime); + } + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + @Export(name="systemConfig", refs={Boolean.class}, tree="[0]") + private Output systemConfig; + + /** + * @return Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + public Output> systemConfig() { + return Codegen.optional(this.systemConfig); + } + @Export(name="vendors", refs={List.class,String.class}, tree="[0,1]") + private Output> vendors; + + public Output>> vendors() { + return Codegen.optional(this.vendors); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CheckConfig(java.lang.String name) { + this(name, CheckConfigArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CheckConfig(java.lang.String name, @Nullable CheckConfigArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public CheckConfig(java.lang.String name, @Nullable CheckConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:threatdetection/checkConfig:CheckConfig", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private CheckConfig(java.lang.String name, Output id, @Nullable CheckConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("alicloud:threatdetection/checkConfig:CheckConfig", name, state, makeResourceOptions(options, id), false); + } + + private static CheckConfigArgs makeArgs(@Nullable CheckConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CheckConfigArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CheckConfig get(java.lang.String name, Output id, @Nullable CheckConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CheckConfig(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfigArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfigArgs.java new file mode 100644 index 0000000000..2dc9501c2b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CheckConfigArgs.java @@ -0,0 +1,419 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection; + +import com.pulumi.alicloud.threatdetection.inputs.CheckConfigSelectedCheckArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CheckConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final CheckConfigArgs Empty = new CheckConfigArgs(); + + /** + * The configuration of the check item. Valid value: + * + */ + @Import(name="configure") + private @Nullable Output configure; + + /** + * @return The configuration of the check item. Valid value: + * + */ + public Optional> configure() { + return Optional.ofNullable(this.configure); + } + + /** + * Cycle detection time. + * + */ + @Import(name="cycleDays") + private @Nullable Output> cycleDays; + + /** + * @return Cycle detection time. + * + */ + public Optional>> cycleDays() { + return Optional.ofNullable(this.cycleDays); + } + + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + @Import(name="enableAddCheck") + private @Nullable Output enableAddCheck; + + /** + * @return Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + public Optional> enableAddCheck() { + return Optional.ofNullable(this.enableAddCheck); + } + + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + @Import(name="enableAutoCheck") + private @Nullable Output enableAutoCheck; + + /** + * @return Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + public Optional> enableAutoCheck() { + return Optional.ofNullable(this.enableAutoCheck); + } + + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + + /** + * The check items selected in the policy. See `selectedChecks` below. + * + */ + @Import(name="selectedChecks") + private @Nullable Output> selectedChecks; + + /** + * @return The check items selected in the policy. See `selectedChecks` below. + * + */ + public Optional>> selectedChecks() { + return Optional.ofNullable(this.selectedChecks); + } + + /** + * The start time of the check. The value specifies a point in time in a day. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the check. The value specifies a point in time in a day. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + @Import(name="systemConfig") + private @Nullable Output systemConfig; + + /** + * @return Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + public Optional> systemConfig() { + return Optional.ofNullable(this.systemConfig); + } + + @Import(name="vendors") + private @Nullable Output> vendors; + + public Optional>> vendors() { + return Optional.ofNullable(this.vendors); + } + + private CheckConfigArgs() {} + + private CheckConfigArgs(CheckConfigArgs $) { + this.configure = $.configure; + this.cycleDays = $.cycleDays; + this.enableAddCheck = $.enableAddCheck; + this.enableAutoCheck = $.enableAutoCheck; + this.endTime = $.endTime; + this.selectedChecks = $.selectedChecks; + this.startTime = $.startTime; + this.systemConfig = $.systemConfig; + this.vendors = $.vendors; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CheckConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CheckConfigArgs $; + + public Builder() { + $ = new CheckConfigArgs(); + } + + public Builder(CheckConfigArgs defaults) { + $ = new CheckConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configure The configuration of the check item. Valid value: + * + * @return builder + * + */ + public Builder configure(@Nullable Output configure) { + $.configure = configure; + return this; + } + + /** + * @param configure The configuration of the check item. Valid value: + * + * @return builder + * + */ + public Builder configure(String configure) { + return configure(Output.of(configure)); + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(@Nullable Output> cycleDays) { + $.cycleDays = cycleDays; + return this; + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(List cycleDays) { + return cycleDays(Output.of(cycleDays)); + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(Integer... cycleDays) { + return cycleDays(List.of(cycleDays)); + } + + /** + * @param enableAddCheck Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAddCheck(@Nullable Output enableAddCheck) { + $.enableAddCheck = enableAddCheck; + return this; + } + + /** + * @param enableAddCheck Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAddCheck(Boolean enableAddCheck) { + return enableAddCheck(Output.of(enableAddCheck)); + } + + /** + * @param enableAutoCheck Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAutoCheck(@Nullable Output enableAutoCheck) { + $.enableAutoCheck = enableAutoCheck; + return this; + } + + /** + * @param enableAutoCheck Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAutoCheck(Boolean enableAutoCheck) { + return enableAutoCheck(Output.of(enableAutoCheck)); + } + + /** + * @param endTime Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + * @return builder + * + */ + public Builder endTime(Integer endTime) { + return endTime(Output.of(endTime)); + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(@Nullable Output> selectedChecks) { + $.selectedChecks = selectedChecks; + return this; + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(List selectedChecks) { + return selectedChecks(Output.of(selectedChecks)); + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(CheckConfigSelectedCheckArgs... selectedChecks) { + return selectedChecks(List.of(selectedChecks)); + } + + /** + * @param startTime The start time of the check. The value specifies a point in time in a day. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the check. The value specifies a point in time in a day. + * + * @return builder + * + */ + public Builder startTime(Integer startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param systemConfig Specifies whether to use the configuration automatically generated by the system. Valid values: + * + * @return builder + * + */ + public Builder systemConfig(@Nullable Output systemConfig) { + $.systemConfig = systemConfig; + return this; + } + + /** + * @param systemConfig Specifies whether to use the configuration automatically generated by the system. Valid values: + * + * @return builder + * + */ + public Builder systemConfig(Boolean systemConfig) { + return systemConfig(Output.of(systemConfig)); + } + + public Builder vendors(@Nullable Output> vendors) { + $.vendors = vendors; + return this; + } + + public Builder vendors(List vendors) { + return vendors(Output.of(vendors)); + } + + public Builder vendors(String... vendors) { + return vendors(List.of(vendors)); + } + + public CheckConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientFileProtect.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientFileProtect.java index 8afa0ca1cc..ec05ebc0f2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientFileProtect.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientFileProtect.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Client File Protect can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientUserDefineRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientUserDefineRule.java index 701b130c37..cf0d72df08 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientUserDefineRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ClientUserDefineRule.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Client User Define Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CycleTask.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CycleTask.java index 389cbb20b9..ee090f501b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CycleTask.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/CycleTask.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Cycle Task can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneyPot.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneyPot.java index bd48af4f3c..2f69ae8505 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneyPot.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneyPot.java @@ -75,6 +75,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honey Pot can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotNode.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotNode.java index 049c73f635..2585d5820c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotNode.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotNode.java @@ -63,6 +63,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Node can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotPreset.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotPreset.java index e36ede8892..92e4571c81 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotPreset.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotPreset.java @@ -80,6 +80,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Preset can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotProbe.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotProbe.java index f6f94164e2..2bb6f1bcb6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotProbe.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/HoneypotProbe.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Probe can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ImageEventOperation.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ImageEventOperation.java index 81c132499f..9f74e8f944 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ImageEventOperation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ImageEventOperation.java @@ -78,6 +78,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Image Event Operation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/MaliciousFileWhitelistConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/MaliciousFileWhitelistConfig.java index 29eb499a74..daf09c40b1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/MaliciousFileWhitelistConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/MaliciousFileWhitelistConfig.java @@ -64,6 +64,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/OssScanConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/OssScanConfig.java index e4a3ef9683..af49b1fa5e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/OssScanConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/OssScanConfig.java @@ -115,6 +115,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Oss Scan Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/SasTrail.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/SasTrail.java index 8788f3b6e1..82bf64954d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/SasTrail.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/SasTrail.java @@ -55,6 +55,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Sas Trail can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ThreatdetectionFunctions.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ThreatdetectionFunctions.java index 6e674835d7..a0b9b11455 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ThreatdetectionFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/ThreatdetectionFunctions.java @@ -12,6 +12,10 @@ import com.pulumi.alicloud.threatdetection.inputs.GetBackupPoliciesPlainArgs; import com.pulumi.alicloud.threatdetection.inputs.GetBaselineStrategiesArgs; import com.pulumi.alicloud.threatdetection.inputs.GetBaselineStrategiesPlainArgs; +import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs; +import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsPlainArgs; +import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs; +import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresPlainArgs; import com.pulumi.alicloud.threatdetection.inputs.GetHoneyPotsArgs; import com.pulumi.alicloud.threatdetection.inputs.GetHoneyPotsPlainArgs; import com.pulumi.alicloud.threatdetection.inputs.GetHoneypotImagesArgs; @@ -34,6 +38,8 @@ import com.pulumi.alicloud.threatdetection.outputs.GetAssetsResult; import com.pulumi.alicloud.threatdetection.outputs.GetBackupPoliciesResult; import com.pulumi.alicloud.threatdetection.outputs.GetBaselineStrategiesResult; +import com.pulumi.alicloud.threatdetection.outputs.GetCheckItemConfigsResult; +import com.pulumi.alicloud.threatdetection.outputs.GetCheckStructuresResult; import com.pulumi.alicloud.threatdetection.outputs.GetHoneyPotsResult; import com.pulumi.alicloud.threatdetection.outputs.GetHoneypotImagesResult; import com.pulumi.alicloud.threatdetection.outputs.GetHoneypotNodesResult; @@ -1486,6 +1492,594 @@ public static Output getBaselineStrategies(GetBasel public static CompletableFuture getBaselineStrategiesPlain(GetBaselineStrategiesPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("alicloud:threatdetection/getBaselineStrategies:getBaselineStrategies", TypeShape.of(GetBaselineStrategiesResult.class), args, Utilities.withVersion(options)); } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckItemConfigs() { + return getCheckItemConfigs(GetCheckItemConfigsArgs.Empty, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckItemConfigsPlain() { + return getCheckItemConfigsPlain(GetCheckItemConfigsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckItemConfigs(GetCheckItemConfigsArgs args) { + return getCheckItemConfigs(args, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckItemConfigsPlain(GetCheckItemConfigsPlainArgs args) { + return getCheckItemConfigsPlain(args, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckItemConfigs(GetCheckItemConfigsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", TypeShape.of(GetCheckItemConfigsResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckItemConfigs(GetCheckItemConfigsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", TypeShape.of(GetCheckItemConfigsResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckItemConfigsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckItemConfigs(GetCheckItemConfigsArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default_.configs()[0].checkId());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckItemConfigsPlain(GetCheckItemConfigsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", TypeShape.of(GetCheckItemConfigsResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckStructures() { + return getCheckStructures(GetCheckStructuresArgs.Empty, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckStructuresPlain() { + return getCheckStructuresPlain(GetCheckStructuresPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckStructures(GetCheckStructuresArgs args) { + return getCheckStructures(args, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckStructuresPlain(GetCheckStructuresPlainArgs args) { + return getCheckStructuresPlain(args, InvokeOptions.Empty); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckStructures(GetCheckStructuresArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", TypeShape.of(GetCheckStructuresResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static Output getCheckStructures(GetCheckStructuresArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", TypeShape.of(GetCheckStructuresResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.alicloud.threatdetection.ThreatdetectionFunctions;
+     * import com.pulumi.alicloud.threatdetection.inputs.GetCheckStructuresArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var default = ThreatdetectionFunctions.getCheckStructures(GetCheckStructuresArgs.builder()
+     *             .build());
+     * 
+     *         ctx.export("alicloudThreatDetectionCheckStructureExampleStandardType", default_.structures()[0].standardType());
+     *     }
+     * }
+     * }
+     * 
+ * + */ + public static CompletableFuture getCheckStructuresPlain(GetCheckStructuresPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("alicloud:threatdetection/getCheckStructures:getCheckStructures", TypeShape.of(GetCheckStructuresResult.class), args, Utilities.withVersion(options)); + } /** * This data source provides Threat Detection Honey Pot available to the user.[What is Honey Pot](https://www.alibabacloud.com/help/en/security-center/developer-reference/api-sas-2018-12-03-createhoneypot) * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/VulWhitelist.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/VulWhitelist.java index 34ca0ed2e0..61db104c01 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/VulWhitelist.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/VulWhitelist.java @@ -58,6 +58,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Vul Whitelist can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/WebLockConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/WebLockConfig.java index 6deb9c604b..d97f53492b 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/WebLockConfig.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/WebLockConfig.java @@ -67,6 +67,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Web Lock Config can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigSelectedCheckArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigSelectedCheckArgs.java new file mode 100644 index 0000000000..b9c7b59010 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigSelectedCheckArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CheckConfigSelectedCheckArgs extends com.pulumi.resources.ResourceArgs { + + public static final CheckConfigSelectedCheckArgs Empty = new CheckConfigSelectedCheckArgs(); + + /** + * The ID of the check item. + * + */ + @Import(name="checkId") + private @Nullable Output checkId; + + /** + * @return The ID of the check item. + * + */ + public Optional> checkId() { + return Optional.ofNullable(this.checkId); + } + + /** + * The section ID of the check item. + * + */ + @Import(name="sectionId") + private @Nullable Output sectionId; + + /** + * @return The section ID of the check item. + * + */ + public Optional> sectionId() { + return Optional.ofNullable(this.sectionId); + } + + private CheckConfigSelectedCheckArgs() {} + + private CheckConfigSelectedCheckArgs(CheckConfigSelectedCheckArgs $) { + this.checkId = $.checkId; + this.sectionId = $.sectionId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CheckConfigSelectedCheckArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CheckConfigSelectedCheckArgs $; + + public Builder() { + $ = new CheckConfigSelectedCheckArgs(); + } + + public Builder(CheckConfigSelectedCheckArgs defaults) { + $ = new CheckConfigSelectedCheckArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param checkId The ID of the check item. + * + * @return builder + * + */ + public Builder checkId(@Nullable Output checkId) { + $.checkId = checkId; + return this; + } + + /** + * @param checkId The ID of the check item. + * + * @return builder + * + */ + public Builder checkId(Integer checkId) { + return checkId(Output.of(checkId)); + } + + /** + * @param sectionId The section ID of the check item. + * + * @return builder + * + */ + public Builder sectionId(@Nullable Output sectionId) { + $.sectionId = sectionId; + return this; + } + + /** + * @param sectionId The section ID of the check item. + * + * @return builder + * + */ + public Builder sectionId(Integer sectionId) { + return sectionId(Output.of(sectionId)); + } + + public CheckConfigSelectedCheckArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigState.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigState.java new file mode 100644 index 0000000000..c7764dbba2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/CheckConfigState.java @@ -0,0 +1,419 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.alicloud.threatdetection.inputs.CheckConfigSelectedCheckArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CheckConfigState extends com.pulumi.resources.ResourceArgs { + + public static final CheckConfigState Empty = new CheckConfigState(); + + /** + * The configuration of the check item. Valid value: + * + */ + @Import(name="configure") + private @Nullable Output configure; + + /** + * @return The configuration of the check item. Valid value: + * + */ + public Optional> configure() { + return Optional.ofNullable(this.configure); + } + + /** + * Cycle detection time. + * + */ + @Import(name="cycleDays") + private @Nullable Output> cycleDays; + + /** + * @return Cycle detection time. + * + */ + public Optional>> cycleDays() { + return Optional.ofNullable(this.cycleDays); + } + + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + @Import(name="enableAddCheck") + private @Nullable Output enableAddCheck; + + /** + * @return Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + */ + public Optional> enableAddCheck() { + return Optional.ofNullable(this.enableAddCheck); + } + + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + @Import(name="enableAutoCheck") + private @Nullable Output enableAutoCheck; + + /** + * @return Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + */ + public Optional> enableAutoCheck() { + return Optional.ofNullable(this.enableAutoCheck); + } + + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + @Import(name="endTime") + private @Nullable Output endTime; + + /** + * @return Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + */ + public Optional> endTime() { + return Optional.ofNullable(this.endTime); + } + + /** + * The check items selected in the policy. See `selectedChecks` below. + * + */ + @Import(name="selectedChecks") + private @Nullable Output> selectedChecks; + + /** + * @return The check items selected in the policy. See `selectedChecks` below. + * + */ + public Optional>> selectedChecks() { + return Optional.ofNullable(this.selectedChecks); + } + + /** + * The start time of the check. The value specifies a point in time in a day. + * + */ + @Import(name="startTime") + private @Nullable Output startTime; + + /** + * @return The start time of the check. The value specifies a point in time in a day. + * + */ + public Optional> startTime() { + return Optional.ofNullable(this.startTime); + } + + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + @Import(name="systemConfig") + private @Nullable Output systemConfig; + + /** + * @return Specifies whether to use the configuration automatically generated by the system. Valid values: + * + */ + public Optional> systemConfig() { + return Optional.ofNullable(this.systemConfig); + } + + @Import(name="vendors") + private @Nullable Output> vendors; + + public Optional>> vendors() { + return Optional.ofNullable(this.vendors); + } + + private CheckConfigState() {} + + private CheckConfigState(CheckConfigState $) { + this.configure = $.configure; + this.cycleDays = $.cycleDays; + this.enableAddCheck = $.enableAddCheck; + this.enableAutoCheck = $.enableAutoCheck; + this.endTime = $.endTime; + this.selectedChecks = $.selectedChecks; + this.startTime = $.startTime; + this.systemConfig = $.systemConfig; + this.vendors = $.vendors; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CheckConfigState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CheckConfigState $; + + public Builder() { + $ = new CheckConfigState(); + } + + public Builder(CheckConfigState defaults) { + $ = new CheckConfigState(Objects.requireNonNull(defaults)); + } + + /** + * @param configure The configuration of the check item. Valid value: + * + * @return builder + * + */ + public Builder configure(@Nullable Output configure) { + $.configure = configure; + return this; + } + + /** + * @param configure The configuration of the check item. Valid value: + * + * @return builder + * + */ + public Builder configure(String configure) { + return configure(Output.of(configure)); + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(@Nullable Output> cycleDays) { + $.cycleDays = cycleDays; + return this; + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(List cycleDays) { + return cycleDays(Output.of(cycleDays)); + } + + /** + * @param cycleDays Cycle detection time. + * + * @return builder + * + */ + public Builder cycleDays(Integer... cycleDays) { + return cycleDays(List.of(cycleDays)); + } + + /** + * @param enableAddCheck Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAddCheck(@Nullable Output enableAddCheck) { + $.enableAddCheck = enableAddCheck; + return this; + } + + /** + * @param enableAddCheck Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAddCheck(Boolean enableAddCheck) { + return enableAddCheck(Output.of(enableAddCheck)); + } + + /** + * @param enableAutoCheck Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAutoCheck(@Nullable Output enableAutoCheck) { + $.enableAutoCheck = enableAutoCheck; + return this; + } + + /** + * @param enableAutoCheck Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + * + * @return builder + * + */ + public Builder enableAutoCheck(Boolean enableAutoCheck) { + return enableAutoCheck(Output.of(enableAutoCheck)); + } + + /** + * @param endTime Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + * @return builder + * + */ + public Builder endTime(@Nullable Output endTime) { + $.endTime = endTime; + return this; + } + + /** + * @param endTime Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + * + * @return builder + * + */ + public Builder endTime(Integer endTime) { + return endTime(Output.of(endTime)); + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(@Nullable Output> selectedChecks) { + $.selectedChecks = selectedChecks; + return this; + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(List selectedChecks) { + return selectedChecks(Output.of(selectedChecks)); + } + + /** + * @param selectedChecks The check items selected in the policy. See `selectedChecks` below. + * + * @return builder + * + */ + public Builder selectedChecks(CheckConfigSelectedCheckArgs... selectedChecks) { + return selectedChecks(List.of(selectedChecks)); + } + + /** + * @param startTime The start time of the check. The value specifies a point in time in a day. + * + * @return builder + * + */ + public Builder startTime(@Nullable Output startTime) { + $.startTime = startTime; + return this; + } + + /** + * @param startTime The start time of the check. The value specifies a point in time in a day. + * + * @return builder + * + */ + public Builder startTime(Integer startTime) { + return startTime(Output.of(startTime)); + } + + /** + * @param systemConfig Specifies whether to use the configuration automatically generated by the system. Valid values: + * + * @return builder + * + */ + public Builder systemConfig(@Nullable Output systemConfig) { + $.systemConfig = systemConfig; + return this; + } + + /** + * @param systemConfig Specifies whether to use the configuration automatically generated by the system. Valid values: + * + * @return builder + * + */ + public Builder systemConfig(Boolean systemConfig) { + return systemConfig(Output.of(systemConfig)); + } + + public Builder vendors(@Nullable Output> vendors) { + $.vendors = vendors; + return this; + } + + public Builder vendors(List vendors) { + return vendors(Output.of(vendors)); + } + + public Builder vendors(String... vendors) { + return vendors(List.of(vendors)); + } + + public CheckConfigState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsArgs.java new file mode 100644 index 0000000000..aa7ef5e063 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsArgs.java @@ -0,0 +1,290 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCheckItemConfigsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCheckItemConfigsArgs Empty = new GetCheckItemConfigsArgs(); + + /** + * A list of Check Item Config IDs. + * + */ + @Import(name="ids") + private @Nullable Output> ids; + + /** + * @return A list of Check Item Config IDs. + * + */ + public Optional>> ids() { + return Optional.ofNullable(this.ids); + } + + /** + * The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + */ + @Import(name="lang") + private @Nullable Output lang; + + /** + * @return The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + */ + public Optional> lang() { + return Optional.ofNullable(this.lang); + } + + /** + * File name where to save data source results (after running `pulumi preview`). + * + */ + @Import(name="outputFile") + private @Nullable Output outputFile; + + /** + * @return File name where to save data source results (after running `pulumi preview`). + * + */ + public Optional> outputFile() { + return Optional.ofNullable(this.outputFile); + } + + /** + * Current page number. + * + */ + @Import(name="pageNumber") + private @Nullable Output pageNumber; + + /** + * @return Current page number. + * + */ + public Optional> pageNumber() { + return Optional.ofNullable(this.pageNumber); + } + + /** + * Number of records per page. + * + */ + @Import(name="pageSize") + private @Nullable Output pageSize; + + /** + * @return Number of records per page. + * + */ + public Optional> pageSize() { + return Optional.ofNullable(this.pageSize); + } + + /** + * List of task sources. + * + */ + @Import(name="taskSources") + private @Nullable Output> taskSources; + + /** + * @return List of task sources. + * + */ + public Optional>> taskSources() { + return Optional.ofNullable(this.taskSources); + } + + private GetCheckItemConfigsArgs() {} + + private GetCheckItemConfigsArgs(GetCheckItemConfigsArgs $) { + this.ids = $.ids; + this.lang = $.lang; + this.outputFile = $.outputFile; + this.pageNumber = $.pageNumber; + this.pageSize = $.pageSize; + this.taskSources = $.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCheckItemConfigsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCheckItemConfigsArgs $; + + public Builder() { + $ = new GetCheckItemConfigsArgs(); + } + + public Builder(GetCheckItemConfigsArgs defaults) { + $ = new GetCheckItemConfigsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ids A list of Check Item Config IDs. + * + * @return builder + * + */ + public Builder ids(@Nullable Output> ids) { + $.ids = ids; + return this; + } + + /** + * @param ids A list of Check Item Config IDs. + * + * @return builder + * + */ + public Builder ids(List ids) { + return ids(Output.of(ids)); + } + + /** + * @param ids A list of Check Item Config IDs. + * + * @return builder + * + */ + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + + /** + * @param lang The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + * @return builder + * + */ + public Builder lang(@Nullable Output lang) { + $.lang = lang; + return this; + } + + /** + * @param lang The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + * @return builder + * + */ + public Builder lang(String lang) { + return lang(Output.of(lang)); + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(@Nullable Output outputFile) { + $.outputFile = outputFile; + return this; + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(String outputFile) { + return outputFile(Output.of(outputFile)); + } + + /** + * @param pageNumber Current page number. + * + * @return builder + * + */ + public Builder pageNumber(@Nullable Output pageNumber) { + $.pageNumber = pageNumber; + return this; + } + + /** + * @param pageNumber Current page number. + * + * @return builder + * + */ + public Builder pageNumber(Integer pageNumber) { + return pageNumber(Output.of(pageNumber)); + } + + /** + * @param pageSize Number of records per page. + * + * @return builder + * + */ + public Builder pageSize(@Nullable Output pageSize) { + $.pageSize = pageSize; + return this; + } + + /** + * @param pageSize Number of records per page. + * + * @return builder + * + */ + public Builder pageSize(Integer pageSize) { + return pageSize(Output.of(pageSize)); + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(@Nullable Output> taskSources) { + $.taskSources = taskSources; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(List taskSources) { + return taskSources(Output.of(taskSources)); + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + + public GetCheckItemConfigsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsPlainArgs.java new file mode 100644 index 0000000000..6fddab921f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckItemConfigsPlainArgs.java @@ -0,0 +1,229 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCheckItemConfigsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCheckItemConfigsPlainArgs Empty = new GetCheckItemConfigsPlainArgs(); + + /** + * A list of Check Item Config IDs. + * + */ + @Import(name="ids") + private @Nullable List ids; + + /** + * @return A list of Check Item Config IDs. + * + */ + public Optional> ids() { + return Optional.ofNullable(this.ids); + } + + /** + * The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + */ + @Import(name="lang") + private @Nullable String lang; + + /** + * @return The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + */ + public Optional lang() { + return Optional.ofNullable(this.lang); + } + + /** + * File name where to save data source results (after running `pulumi preview`). + * + */ + @Import(name="outputFile") + private @Nullable String outputFile; + + /** + * @return File name where to save data source results (after running `pulumi preview`). + * + */ + public Optional outputFile() { + return Optional.ofNullable(this.outputFile); + } + + /** + * Current page number. + * + */ + @Import(name="pageNumber") + private @Nullable Integer pageNumber; + + /** + * @return Current page number. + * + */ + public Optional pageNumber() { + return Optional.ofNullable(this.pageNumber); + } + + /** + * Number of records per page. + * + */ + @Import(name="pageSize") + private @Nullable Integer pageSize; + + /** + * @return Number of records per page. + * + */ + public Optional pageSize() { + return Optional.ofNullable(this.pageSize); + } + + /** + * List of task sources. + * + */ + @Import(name="taskSources") + private @Nullable List taskSources; + + /** + * @return List of task sources. + * + */ + public Optional> taskSources() { + return Optional.ofNullable(this.taskSources); + } + + private GetCheckItemConfigsPlainArgs() {} + + private GetCheckItemConfigsPlainArgs(GetCheckItemConfigsPlainArgs $) { + this.ids = $.ids; + this.lang = $.lang; + this.outputFile = $.outputFile; + this.pageNumber = $.pageNumber; + this.pageSize = $.pageSize; + this.taskSources = $.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCheckItemConfigsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCheckItemConfigsPlainArgs $; + + public Builder() { + $ = new GetCheckItemConfigsPlainArgs(); + } + + public Builder(GetCheckItemConfigsPlainArgs defaults) { + $ = new GetCheckItemConfigsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ids A list of Check Item Config IDs. + * + * @return builder + * + */ + public Builder ids(@Nullable List ids) { + $.ids = ids; + return this; + } + + /** + * @param ids A list of Check Item Config IDs. + * + * @return builder + * + */ + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + + /** + * @param lang The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + * + * @return builder + * + */ + public Builder lang(@Nullable String lang) { + $.lang = lang; + return this; + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(@Nullable String outputFile) { + $.outputFile = outputFile; + return this; + } + + /** + * @param pageNumber Current page number. + * + * @return builder + * + */ + public Builder pageNumber(@Nullable Integer pageNumber) { + $.pageNumber = pageNumber; + return this; + } + + /** + * @param pageSize Number of records per page. + * + * @return builder + * + */ + public Builder pageSize(@Nullable Integer pageSize) { + $.pageSize = pageSize; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(@Nullable List taskSources) { + $.taskSources = taskSources; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + + public GetCheckItemConfigsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresArgs.java new file mode 100644 index 0000000000..8f3829886e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresArgs.java @@ -0,0 +1,253 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCheckStructuresArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCheckStructuresArgs Empty = new GetCheckStructuresArgs(); + + /** + * The page number. + * + */ + @Import(name="currentPage") + private @Nullable Output currentPage; + + /** + * @return The page number. + * + */ + public Optional> currentPage() { + return Optional.ofNullable(this.currentPage); + } + + /** + * A list of Check Structure IDs. + * + */ + @Import(name="ids") + private @Nullable Output> ids; + + /** + * @return A list of Check Structure IDs. + * + */ + public Optional>> ids() { + return Optional.ofNullable(this.ids); + } + + /** + * The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + */ + @Import(name="lang") + private @Nullable Output lang; + + /** + * @return The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + */ + public Optional> lang() { + return Optional.ofNullable(this.lang); + } + + /** + * File name where to save data source results (after running `pulumi preview`). + * + */ + @Import(name="outputFile") + private @Nullable Output outputFile; + + /** + * @return File name where to save data source results (after running `pulumi preview`). + * + */ + public Optional> outputFile() { + return Optional.ofNullable(this.outputFile); + } + + /** + * List of task sources. + * + */ + @Import(name="taskSources") + private @Nullable Output> taskSources; + + /** + * @return List of task sources. + * + */ + public Optional>> taskSources() { + return Optional.ofNullable(this.taskSources); + } + + private GetCheckStructuresArgs() {} + + private GetCheckStructuresArgs(GetCheckStructuresArgs $) { + this.currentPage = $.currentPage; + this.ids = $.ids; + this.lang = $.lang; + this.outputFile = $.outputFile; + this.taskSources = $.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCheckStructuresArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCheckStructuresArgs $; + + public Builder() { + $ = new GetCheckStructuresArgs(); + } + + public Builder(GetCheckStructuresArgs defaults) { + $ = new GetCheckStructuresArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param currentPage The page number. + * + * @return builder + * + */ + public Builder currentPage(@Nullable Output currentPage) { + $.currentPage = currentPage; + return this; + } + + /** + * @param currentPage The page number. + * + * @return builder + * + */ + public Builder currentPage(Integer currentPage) { + return currentPage(Output.of(currentPage)); + } + + /** + * @param ids A list of Check Structure IDs. + * + * @return builder + * + */ + public Builder ids(@Nullable Output> ids) { + $.ids = ids; + return this; + } + + /** + * @param ids A list of Check Structure IDs. + * + * @return builder + * + */ + public Builder ids(List ids) { + return ids(Output.of(ids)); + } + + /** + * @param ids A list of Check Structure IDs. + * + * @return builder + * + */ + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + + /** + * @param lang The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + * @return builder + * + */ + public Builder lang(@Nullable Output lang) { + $.lang = lang; + return this; + } + + /** + * @param lang The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + * @return builder + * + */ + public Builder lang(String lang) { + return lang(Output.of(lang)); + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(@Nullable Output outputFile) { + $.outputFile = outputFile; + return this; + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(String outputFile) { + return outputFile(Output.of(outputFile)); + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(@Nullable Output> taskSources) { + $.taskSources = taskSources; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(List taskSources) { + return taskSources(Output.of(taskSources)); + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + + public GetCheckStructuresArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresPlainArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresPlainArgs.java new file mode 100644 index 0000000000..51150df38a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/inputs/GetCheckStructuresPlainArgs.java @@ -0,0 +1,202 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetCheckStructuresPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCheckStructuresPlainArgs Empty = new GetCheckStructuresPlainArgs(); + + /** + * The page number. + * + */ + @Import(name="currentPage") + private @Nullable Integer currentPage; + + /** + * @return The page number. + * + */ + public Optional currentPage() { + return Optional.ofNullable(this.currentPage); + } + + /** + * A list of Check Structure IDs. + * + */ + @Import(name="ids") + private @Nullable List ids; + + /** + * @return A list of Check Structure IDs. + * + */ + public Optional> ids() { + return Optional.ofNullable(this.ids); + } + + /** + * The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + */ + @Import(name="lang") + private @Nullable String lang; + + /** + * @return The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + */ + public Optional lang() { + return Optional.ofNullable(this.lang); + } + + /** + * File name where to save data source results (after running `pulumi preview`). + * + */ + @Import(name="outputFile") + private @Nullable String outputFile; + + /** + * @return File name where to save data source results (after running `pulumi preview`). + * + */ + public Optional outputFile() { + return Optional.ofNullable(this.outputFile); + } + + /** + * List of task sources. + * + */ + @Import(name="taskSources") + private @Nullable List taskSources; + + /** + * @return List of task sources. + * + */ + public Optional> taskSources() { + return Optional.ofNullable(this.taskSources); + } + + private GetCheckStructuresPlainArgs() {} + + private GetCheckStructuresPlainArgs(GetCheckStructuresPlainArgs $) { + this.currentPage = $.currentPage; + this.ids = $.ids; + this.lang = $.lang; + this.outputFile = $.outputFile; + this.taskSources = $.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCheckStructuresPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCheckStructuresPlainArgs $; + + public Builder() { + $ = new GetCheckStructuresPlainArgs(); + } + + public Builder(GetCheckStructuresPlainArgs defaults) { + $ = new GetCheckStructuresPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param currentPage The page number. + * + * @return builder + * + */ + public Builder currentPage(@Nullable Integer currentPage) { + $.currentPage = currentPage; + return this; + } + + /** + * @param ids A list of Check Structure IDs. + * + * @return builder + * + */ + public Builder ids(@Nullable List ids) { + $.ids = ids; + return this; + } + + /** + * @param ids A list of Check Structure IDs. + * + * @return builder + * + */ + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + + /** + * @param lang The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + * + * @return builder + * + */ + public Builder lang(@Nullable String lang) { + $.lang = lang; + return this; + } + + /** + * @param outputFile File name where to save data source results (after running `pulumi preview`). + * + * @return builder + * + */ + public Builder outputFile(@Nullable String outputFile) { + $.outputFile = outputFile; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(@Nullable List taskSources) { + $.taskSources = taskSources; + return this; + } + + /** + * @param taskSources List of task sources. + * + * @return builder + * + */ + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + + public GetCheckStructuresPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/CheckConfigSelectedCheck.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/CheckConfigSelectedCheck.java new file mode 100644 index 0000000000..f26928f2d0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/CheckConfigSelectedCheck.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CheckConfigSelectedCheck { + /** + * @return The ID of the check item. + * + */ + private @Nullable Integer checkId; + /** + * @return The section ID of the check item. + * + */ + private @Nullable Integer sectionId; + + private CheckConfigSelectedCheck() {} + /** + * @return The ID of the check item. + * + */ + public Optional checkId() { + return Optional.ofNullable(this.checkId); + } + /** + * @return The section ID of the check item. + * + */ + public Optional sectionId() { + return Optional.ofNullable(this.sectionId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CheckConfigSelectedCheck defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer checkId; + private @Nullable Integer sectionId; + public Builder() {} + public Builder(CheckConfigSelectedCheck defaults) { + Objects.requireNonNull(defaults); + this.checkId = defaults.checkId; + this.sectionId = defaults.sectionId; + } + + @CustomType.Setter + public Builder checkId(@Nullable Integer checkId) { + + this.checkId = checkId; + return this; + } + @CustomType.Setter + public Builder sectionId(@Nullable Integer sectionId) { + + this.sectionId = sectionId; + return this; + } + public CheckConfigSelectedCheck build() { + final var _resultValue = new CheckConfigSelectedCheck(); + _resultValue.checkId = checkId; + _resultValue.sectionId = sectionId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfig.java new file mode 100644 index 0000000000..f9b477d407 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfig.java @@ -0,0 +1,298 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckItemConfigsConfigCustomConfig; +import com.pulumi.alicloud.threatdetection.outputs.GetCheckItemConfigsConfigDescription; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCheckItemConfigsConfig { + /** + * @return The ID of the check item + * + */ + private Integer checkId; + /** + * @return The name of the check item. + * + */ + private String checkShowName; + /** + * @return The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + * + */ + private String checkType; + /** + * @return The custom configuration items of the check item. + * + */ + private List customConfigs; + /** + * @return The description of the check item. + * + */ + private GetCheckItemConfigsConfigDescription description; + /** + * @return The estimated quota that will be consumed by this check item. + * + */ + private Integer estimatedCount; + /** + * @return The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + * + */ + private String instanceSubType; + /** + * @return The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + * + */ + private String instanceType; + /** + * @return The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + * + */ + private String riskLevel; + /** + * @return The IDs of the sections associated with the check items. + * + */ + private List sectionIds; + /** + * @return The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + * + */ + private String vendor; + + private GetCheckItemConfigsConfig() {} + /** + * @return The ID of the check item + * + */ + public Integer checkId() { + return this.checkId; + } + /** + * @return The name of the check item. + * + */ + public String checkShowName() { + return this.checkShowName; + } + /** + * @return The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + * + */ + public String checkType() { + return this.checkType; + } + /** + * @return The custom configuration items of the check item. + * + */ + public List customConfigs() { + return this.customConfigs; + } + /** + * @return The description of the check item. + * + */ + public GetCheckItemConfigsConfigDescription description() { + return this.description; + } + /** + * @return The estimated quota that will be consumed by this check item. + * + */ + public Integer estimatedCount() { + return this.estimatedCount; + } + /** + * @return The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + * + */ + public String instanceSubType() { + return this.instanceSubType; + } + /** + * @return The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + * + */ + public String instanceType() { + return this.instanceType; + } + /** + * @return The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + * + */ + public String riskLevel() { + return this.riskLevel; + } + /** + * @return The IDs of the sections associated with the check items. + * + */ + public List sectionIds() { + return this.sectionIds; + } + /** + * @return The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + * + */ + public String vendor() { + return this.vendor; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckItemConfigsConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer checkId; + private String checkShowName; + private String checkType; + private List customConfigs; + private GetCheckItemConfigsConfigDescription description; + private Integer estimatedCount; + private String instanceSubType; + private String instanceType; + private String riskLevel; + private List sectionIds; + private String vendor; + public Builder() {} + public Builder(GetCheckItemConfigsConfig defaults) { + Objects.requireNonNull(defaults); + this.checkId = defaults.checkId; + this.checkShowName = defaults.checkShowName; + this.checkType = defaults.checkType; + this.customConfigs = defaults.customConfigs; + this.description = defaults.description; + this.estimatedCount = defaults.estimatedCount; + this.instanceSubType = defaults.instanceSubType; + this.instanceType = defaults.instanceType; + this.riskLevel = defaults.riskLevel; + this.sectionIds = defaults.sectionIds; + this.vendor = defaults.vendor; + } + + @CustomType.Setter + public Builder checkId(Integer checkId) { + if (checkId == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "checkId"); + } + this.checkId = checkId; + return this; + } + @CustomType.Setter + public Builder checkShowName(String checkShowName) { + if (checkShowName == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "checkShowName"); + } + this.checkShowName = checkShowName; + return this; + } + @CustomType.Setter + public Builder checkType(String checkType) { + if (checkType == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "checkType"); + } + this.checkType = checkType; + return this; + } + @CustomType.Setter + public Builder customConfigs(List customConfigs) { + if (customConfigs == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "customConfigs"); + } + this.customConfigs = customConfigs; + return this; + } + public Builder customConfigs(GetCheckItemConfigsConfigCustomConfig... customConfigs) { + return customConfigs(List.of(customConfigs)); + } + @CustomType.Setter + public Builder description(GetCheckItemConfigsConfigDescription description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder estimatedCount(Integer estimatedCount) { + if (estimatedCount == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "estimatedCount"); + } + this.estimatedCount = estimatedCount; + return this; + } + @CustomType.Setter + public Builder instanceSubType(String instanceSubType) { + if (instanceSubType == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "instanceSubType"); + } + this.instanceSubType = instanceSubType; + return this; + } + @CustomType.Setter + public Builder instanceType(String instanceType) { + if (instanceType == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "instanceType"); + } + this.instanceType = instanceType; + return this; + } + @CustomType.Setter + public Builder riskLevel(String riskLevel) { + if (riskLevel == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "riskLevel"); + } + this.riskLevel = riskLevel; + return this; + } + @CustomType.Setter + public Builder sectionIds(List sectionIds) { + if (sectionIds == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "sectionIds"); + } + this.sectionIds = sectionIds; + return this; + } + public Builder sectionIds(Integer... sectionIds) { + return sectionIds(List.of(sectionIds)); + } + @CustomType.Setter + public Builder vendor(String vendor) { + if (vendor == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfig", "vendor"); + } + this.vendor = vendor; + return this; + } + public GetCheckItemConfigsConfig build() { + final var _resultValue = new GetCheckItemConfigsConfig(); + _resultValue.checkId = checkId; + _resultValue.checkShowName = checkShowName; + _resultValue.checkType = checkType; + _resultValue.customConfigs = customConfigs; + _resultValue.description = description; + _resultValue.estimatedCount = estimatedCount; + _resultValue.instanceSubType = instanceSubType; + _resultValue.instanceType = instanceType; + _resultValue.riskLevel = riskLevel; + _resultValue.sectionIds = sectionIds; + _resultValue.vendor = vendor; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigCustomConfig.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigCustomConfig.java new file mode 100644 index 0000000000..1e190805c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigCustomConfig.java @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCheckItemConfigsConfigCustomConfig { + /** + * @return The default value of the custom configuration item. The value is a string. + * + */ + private String defaultValue; + /** + * @return The name of the custom configuration item, which is unique in a check item. + * + */ + private String name; + /** + * @return The display name of the custom configuration item for internationalization. + * + */ + private String showName; + /** + * @return The type of the custom configuration item. The value is a JSON string. + * + */ + private String typeDefine; + /** + * @return The content of the description for the check item when the Type parameter is text. + * + */ + private String value; + + private GetCheckItemConfigsConfigCustomConfig() {} + /** + * @return The default value of the custom configuration item. The value is a string. + * + */ + public String defaultValue() { + return this.defaultValue; + } + /** + * @return The name of the custom configuration item, which is unique in a check item. + * + */ + public String name() { + return this.name; + } + /** + * @return The display name of the custom configuration item for internationalization. + * + */ + public String showName() { + return this.showName; + } + /** + * @return The type of the custom configuration item. The value is a JSON string. + * + */ + public String typeDefine() { + return this.typeDefine; + } + /** + * @return The content of the description for the check item when the Type parameter is text. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckItemConfigsConfigCustomConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String defaultValue; + private String name; + private String showName; + private String typeDefine; + private String value; + public Builder() {} + public Builder(GetCheckItemConfigsConfigCustomConfig defaults) { + Objects.requireNonNull(defaults); + this.defaultValue = defaults.defaultValue; + this.name = defaults.name; + this.showName = defaults.showName; + this.typeDefine = defaults.typeDefine; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder defaultValue(String defaultValue) { + if (defaultValue == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigCustomConfig", "defaultValue"); + } + this.defaultValue = defaultValue; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigCustomConfig", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder showName(String showName) { + if (showName == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigCustomConfig", "showName"); + } + this.showName = showName; + return this; + } + @CustomType.Setter + public Builder typeDefine(String typeDefine) { + if (typeDefine == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigCustomConfig", "typeDefine"); + } + this.typeDefine = typeDefine; + return this; + } + @CustomType.Setter + public Builder value(String value) { + if (value == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigCustomConfig", "value"); + } + this.value = value; + return this; + } + public GetCheckItemConfigsConfigCustomConfig build() { + final var _resultValue = new GetCheckItemConfigsConfigCustomConfig(); + _resultValue.defaultValue = defaultValue; + _resultValue.name = name; + _resultValue.showName = showName; + _resultValue.typeDefine = typeDefine; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigDescription.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigDescription.java new file mode 100644 index 0000000000..ffff74d497 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsConfigDescription.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCheckItemConfigsConfigDescription { + /** + * @return The type of the description of the check item. Valid value:* **text**. + * + */ + private String type; + /** + * @return The content of the description for the check item when the Type parameter is text. + * + */ + private String value; + + private GetCheckItemConfigsConfigDescription() {} + /** + * @return The type of the description of the check item. Valid value:* **text**. + * + */ + public String type() { + return this.type; + } + /** + * @return The content of the description for the check item when the Type parameter is text. + * + */ + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckItemConfigsConfigDescription defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String type; + private String value; + public Builder() {} + public Builder(GetCheckItemConfigsConfigDescription defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigDescription", "type"); + } + this.type = type; + return this; + } + @CustomType.Setter + public Builder value(String value) { + if (value == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsConfigDescription", "value"); + } + this.value = value; + return this; + } + public GetCheckItemConfigsConfigDescription build() { + final var _resultValue = new GetCheckItemConfigsConfigDescription(); + _resultValue.type = type; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsResult.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsResult.java new file mode 100644 index 0000000000..4a2f571cc7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckItemConfigsResult.java @@ -0,0 +1,183 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckItemConfigsConfig; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetCheckItemConfigsResult { + /** + * @return A list of Check Item Config Entries. Each element contains the following attributes: + * + */ + private List configs; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return A list of Check Item Config IDs. + * + */ + private List ids; + private @Nullable String lang; + private @Nullable String outputFile; + private @Nullable Integer pageNumber; + private @Nullable Integer pageSize; + private @Nullable List taskSources; + + private GetCheckItemConfigsResult() {} + /** + * @return A list of Check Item Config Entries. Each element contains the following attributes: + * + */ + public List configs() { + return this.configs; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return A list of Check Item Config IDs. + * + */ + public List ids() { + return this.ids; + } + public Optional lang() { + return Optional.ofNullable(this.lang); + } + public Optional outputFile() { + return Optional.ofNullable(this.outputFile); + } + public Optional pageNumber() { + return Optional.ofNullable(this.pageNumber); + } + public Optional pageSize() { + return Optional.ofNullable(this.pageSize); + } + public List taskSources() { + return this.taskSources == null ? List.of() : this.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckItemConfigsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List configs; + private String id; + private List ids; + private @Nullable String lang; + private @Nullable String outputFile; + private @Nullable Integer pageNumber; + private @Nullable Integer pageSize; + private @Nullable List taskSources; + public Builder() {} + public Builder(GetCheckItemConfigsResult defaults) { + Objects.requireNonNull(defaults); + this.configs = defaults.configs; + this.id = defaults.id; + this.ids = defaults.ids; + this.lang = defaults.lang; + this.outputFile = defaults.outputFile; + this.pageNumber = defaults.pageNumber; + this.pageSize = defaults.pageSize; + this.taskSources = defaults.taskSources; + } + + @CustomType.Setter + public Builder configs(List configs) { + if (configs == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsResult", "configs"); + } + this.configs = configs; + return this; + } + public Builder configs(GetCheckItemConfigsConfig... configs) { + return configs(List.of(configs)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder ids(List ids) { + if (ids == null) { + throw new MissingRequiredPropertyException("GetCheckItemConfigsResult", "ids"); + } + this.ids = ids; + return this; + } + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + @CustomType.Setter + public Builder lang(@Nullable String lang) { + + this.lang = lang; + return this; + } + @CustomType.Setter + public Builder outputFile(@Nullable String outputFile) { + + this.outputFile = outputFile; + return this; + } + @CustomType.Setter + public Builder pageNumber(@Nullable Integer pageNumber) { + + this.pageNumber = pageNumber; + return this; + } + @CustomType.Setter + public Builder pageSize(@Nullable Integer pageSize) { + + this.pageSize = pageSize; + return this; + } + @CustomType.Setter + public Builder taskSources(@Nullable List taskSources) { + + this.taskSources = taskSources; + return this; + } + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + public GetCheckItemConfigsResult build() { + final var _resultValue = new GetCheckItemConfigsResult(); + _resultValue.configs = configs; + _resultValue.id = id; + _resultValue.ids = ids; + _resultValue.lang = lang; + _resultValue.outputFile = outputFile; + _resultValue.pageNumber = pageNumber; + _resultValue.pageSize = pageSize; + _resultValue.taskSources = taskSources; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresResult.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresResult.java new file mode 100644 index 0000000000..7cc05da3e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresResult.java @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckStructuresStructure; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetCheckStructuresResult { + private @Nullable Integer currentPage; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return A list of Check Structure IDs. + * + */ + private List ids; + private @Nullable String lang; + private @Nullable String outputFile; + /** + * @return A list of Check Structure Entries. Each element contains the following attributes: + * + */ + private List structures; + private @Nullable List taskSources; + + private GetCheckStructuresResult() {} + public Optional currentPage() { + return Optional.ofNullable(this.currentPage); + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return A list of Check Structure IDs. + * + */ + public List ids() { + return this.ids; + } + public Optional lang() { + return Optional.ofNullable(this.lang); + } + public Optional outputFile() { + return Optional.ofNullable(this.outputFile); + } + /** + * @return A list of Check Structure Entries. Each element contains the following attributes: + * + */ + public List structures() { + return this.structures; + } + public List taskSources() { + return this.taskSources == null ? List.of() : this.taskSources; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckStructuresResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer currentPage; + private String id; + private List ids; + private @Nullable String lang; + private @Nullable String outputFile; + private List structures; + private @Nullable List taskSources; + public Builder() {} + public Builder(GetCheckStructuresResult defaults) { + Objects.requireNonNull(defaults); + this.currentPage = defaults.currentPage; + this.id = defaults.id; + this.ids = defaults.ids; + this.lang = defaults.lang; + this.outputFile = defaults.outputFile; + this.structures = defaults.structures; + this.taskSources = defaults.taskSources; + } + + @CustomType.Setter + public Builder currentPage(@Nullable Integer currentPage) { + + this.currentPage = currentPage; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder ids(List ids) { + if (ids == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresResult", "ids"); + } + this.ids = ids; + return this; + } + public Builder ids(String... ids) { + return ids(List.of(ids)); + } + @CustomType.Setter + public Builder lang(@Nullable String lang) { + + this.lang = lang; + return this; + } + @CustomType.Setter + public Builder outputFile(@Nullable String outputFile) { + + this.outputFile = outputFile; + return this; + } + @CustomType.Setter + public Builder structures(List structures) { + if (structures == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresResult", "structures"); + } + this.structures = structures; + return this; + } + public Builder structures(GetCheckStructuresStructure... structures) { + return structures(List.of(structures)); + } + @CustomType.Setter + public Builder taskSources(@Nullable List taskSources) { + + this.taskSources = taskSources; + return this; + } + public Builder taskSources(String... taskSources) { + return taskSources(List.of(taskSources)); + } + public GetCheckStructuresResult build() { + final var _resultValue = new GetCheckStructuresResult(); + _resultValue.currentPage = currentPage; + _resultValue.id = id; + _resultValue.ids = ids; + _resultValue.lang = lang; + _resultValue.outputFile = outputFile; + _resultValue.structures = structures; + _resultValue.taskSources = taskSources; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructure.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructure.java new file mode 100644 index 0000000000..05c71e2465 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructure.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckStructuresStructureStandard; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCheckStructuresStructure { + /** + * @return The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + * + */ + private String standardType; + /** + * @return The structure information about the check items of the business type. + * + */ + private List standards; + + private GetCheckStructuresStructure() {} + /** + * @return The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + * + */ + public String standardType() { + return this.standardType; + } + /** + * @return The structure information about the check items of the business type. + * + */ + public List standards() { + return this.standards; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckStructuresStructure defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String standardType; + private List standards; + public Builder() {} + public Builder(GetCheckStructuresStructure defaults) { + Objects.requireNonNull(defaults); + this.standardType = defaults.standardType; + this.standards = defaults.standards; + } + + @CustomType.Setter + public Builder standardType(String standardType) { + if (standardType == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructure", "standardType"); + } + this.standardType = standardType; + return this; + } + @CustomType.Setter + public Builder standards(List standards) { + if (standards == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructure", "standards"); + } + this.standards = standards; + return this; + } + public Builder standards(GetCheckStructuresStructureStandard... standards) { + return standards(List.of(standards)); + } + public GetCheckStructuresStructure build() { + final var _resultValue = new GetCheckStructuresStructure(); + _resultValue.standardType = standardType; + _resultValue.standards = standards; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandard.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandard.java new file mode 100644 index 0000000000..b6a0d46795 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandard.java @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckStructuresStructureStandardRequirement; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCheckStructuresStructureStandard { + /** + * @return The ID of the section for the check item. + * + */ + private Integer id; + /** + * @return The standards of the check items. + * + */ + private List requirements; + /** + * @return The display name of the standard for the check item. + * + */ + private String showName; + /** + * @return The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + * + */ + private String type; + + private GetCheckStructuresStructureStandard() {} + /** + * @return The ID of the section for the check item. + * + */ + public Integer id() { + return this.id; + } + /** + * @return The standards of the check items. + * + */ + public List requirements() { + return this.requirements; + } + /** + * @return The display name of the standard for the check item. + * + */ + public String showName() { + return this.showName; + } + /** + * @return The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckStructuresStructureStandard defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer id; + private List requirements; + private String showName; + private String type; + public Builder() {} + public Builder(GetCheckStructuresStructureStandard defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.requirements = defaults.requirements; + this.showName = defaults.showName; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder id(Integer id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandard", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder requirements(List requirements) { + if (requirements == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandard", "requirements"); + } + this.requirements = requirements; + return this; + } + public Builder requirements(GetCheckStructuresStructureStandardRequirement... requirements) { + return requirements(List.of(requirements)); + } + @CustomType.Setter + public Builder showName(String showName) { + if (showName == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandard", "showName"); + } + this.showName = showName; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandard", "type"); + } + this.type = type; + return this; + } + public GetCheckStructuresStructureStandard build() { + final var _resultValue = new GetCheckStructuresStructureStandard(); + _resultValue.id = id; + _resultValue.requirements = requirements; + _resultValue.showName = showName; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirement.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirement.java new file mode 100644 index 0000000000..d42faf4044 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirement.java @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.alicloud.threatdetection.outputs.GetCheckStructuresStructureStandardRequirementSection; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCheckStructuresStructureStandardRequirement { + /** + * @return The ID of the section for the check item. + * + */ + private Integer id; + /** + * @return The information about the sections of check items. + * + */ + private List sections; + /** + * @return The display name of the standard for the check item. + * + */ + private String showName; + /** + * @return The total number of check items for the requirement. + * + */ + private Integer totalCheckCount; + + private GetCheckStructuresStructureStandardRequirement() {} + /** + * @return The ID of the section for the check item. + * + */ + public Integer id() { + return this.id; + } + /** + * @return The information about the sections of check items. + * + */ + public List sections() { + return this.sections; + } + /** + * @return The display name of the standard for the check item. + * + */ + public String showName() { + return this.showName; + } + /** + * @return The total number of check items for the requirement. + * + */ + public Integer totalCheckCount() { + return this.totalCheckCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckStructuresStructureStandardRequirement defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer id; + private List sections; + private String showName; + private Integer totalCheckCount; + public Builder() {} + public Builder(GetCheckStructuresStructureStandardRequirement defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.sections = defaults.sections; + this.showName = defaults.showName; + this.totalCheckCount = defaults.totalCheckCount; + } + + @CustomType.Setter + public Builder id(Integer id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirement", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder sections(List sections) { + if (sections == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirement", "sections"); + } + this.sections = sections; + return this; + } + public Builder sections(GetCheckStructuresStructureStandardRequirementSection... sections) { + return sections(List.of(sections)); + } + @CustomType.Setter + public Builder showName(String showName) { + if (showName == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirement", "showName"); + } + this.showName = showName; + return this; + } + @CustomType.Setter + public Builder totalCheckCount(Integer totalCheckCount) { + if (totalCheckCount == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirement", "totalCheckCount"); + } + this.totalCheckCount = totalCheckCount; + return this; + } + public GetCheckStructuresStructureStandardRequirement build() { + final var _resultValue = new GetCheckStructuresStructureStandardRequirement(); + _resultValue.id = id; + _resultValue.sections = sections; + _resultValue.showName = showName; + _resultValue.totalCheckCount = totalCheckCount; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirementSection.java b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirementSection.java new file mode 100644 index 0000000000..4e859b39fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/alicloud/threatdetection/outputs/GetCheckStructuresStructureStandardRequirementSection.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-java. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.alicloud.threatdetection.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCheckStructuresStructureStandardRequirementSection { + /** + * @return The ID of the section for the check item. + * + */ + private Integer id; + /** + * @return The display name of the standard for the check item. + * + */ + private String showName; + + private GetCheckStructuresStructureStandardRequirementSection() {} + /** + * @return The ID of the section for the check item. + * + */ + public Integer id() { + return this.id; + } + /** + * @return The display name of the standard for the check item. + * + */ + public String showName() { + return this.showName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCheckStructuresStructureStandardRequirementSection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer id; + private String showName; + public Builder() {} + public Builder(GetCheckStructuresStructureStandardRequirementSection defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.showName = defaults.showName; + } + + @CustomType.Setter + public Builder id(Integer id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirementSection", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder showName(String showName) { + if (showName == null) { + throw new MissingRequiredPropertyException("GetCheckStructuresStructureStandardRequirementSection", "showName"); + } + this.showName = showName; + return this; + } + public GetCheckStructuresStructureStandardRequirementSection build() { + final var _resultValue = new GetCheckStructuresStructureStandardRequirementSection(); + _resultValue.id = id; + _resultValue.showName = showName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/tsdb/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/tsdb/Instance.java index 2cc7b09ed0..a12b1074ce 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/tsdb/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/tsdb/Instance.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TSDB Instance can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/videosurveillance/SystemGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/videosurveillance/SystemGroup.java index caf0396f86..1d4f8980dc 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/videosurveillance/SystemGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/videosurveillance/SystemGroup.java @@ -62,6 +62,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Video Surveillance System Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vod/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/vod/Domain.java index 7ad43ddbf7..8b667da5f3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vod/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vod/Domain.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VOD Domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vod/EditingProject.java b/sdk/java/src/main/java/com/pulumi/alicloud/vod/EditingProject.java index d365a47389..9d3121e17d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vod/EditingProject.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vod/EditingProject.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VOD Editing Project can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpGroup.java index ddccc34eb9..b734e08d27 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpGroup.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpNetwork.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpNetwork.java index 3dd52b193c..0653550ff2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpNetwork.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpNetwork.java @@ -86,6 +86,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Network can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpPeer.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpPeer.java index 35f1192d75..ec227bb9b6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpPeer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/BgpPeer.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Peer can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/CommonBandwithPackageAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/CommonBandwithPackageAttachment.java index a78afd608a..2b05859b56 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/CommonBandwithPackageAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/CommonBandwithPackageAttachment.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSet.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSet.java index 3ce6a4d73d..6a05c1c8c1 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSet.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSet.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Dhcp Options Set can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSetAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSetAttachment.java index 1417616822..7dc9f1d45d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSetAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/DhcpOptionsSetAttachment.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Dhcp Options Set Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/FlowLog.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/FlowLog.java index 6fb8b58b48..0e16a908fa 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/FlowLog.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/FlowLog.java @@ -116,6 +116,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Flow Log can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/ForwardEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/ForwardEntry.java index c091905580..90c95d8ee8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/ForwardEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/ForwardEntry.java @@ -107,6 +107,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Forward Entry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpoint.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpoint.java index 599389985d..b279e76b98 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpoint.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Endpoint can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpointRouteTableAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpointRouteTableAttachment.java index fc14fe6100..5933c34961 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpointRouteTableAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayEndpointRouteTableAttachment.java @@ -91,6 +91,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayRouteTableAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayRouteTableAttachment.java index 239c4b5c78..60fc9f8ff2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayRouteTableAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/GatewayRouteTableAttachment.java @@ -82,6 +82,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVip.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVip.java index 5f4bc06a8b..decf811d65 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVip.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVip.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The havip can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVipAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVipAttachment.java index 4984f158a4..f5520d4bb8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVipAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HAVipAttachment.java @@ -128,6 +128,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ha Vip Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HaVipv2.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HaVipv2.java index eca81f7113..64aa36ee50 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HaVipv2.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/HaVipv2.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ha Vip can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpam.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpam.java index 3b27f66a6d..43c79962dd 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpam.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpam.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPool.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPool.java index 93461dd480..20437518c6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPool.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPool.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolAllocation.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolAllocation.java index 0b32ec9dca..0ec000041c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolAllocation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolAllocation.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolCidr.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolCidr.java index 164c7f5edc..6f29f52fe8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolCidr.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamPoolCidr.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamResourceDiscovery.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamResourceDiscovery.java index b7ec8f0f28..120899261c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamResourceDiscovery.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamResourceDiscovery.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamScope.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamScope.java index e193cf3e14..a56fbc12e0 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamScope.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/IpamIpamScope.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Scope can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4CidrBlock.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4CidrBlock.java index fb352179a1..83bc8770f7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4CidrBlock.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4CidrBlock.java @@ -68,6 +68,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv4 Cidr Block can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4Gateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4Gateway.java index 827fb65b3c..2de531d9f9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv4Gateway.java @@ -77,6 +77,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv4 Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Address.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Address.java index 245985299b..aacb4ba50f 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Address.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Address.java @@ -92,6 +92,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Address can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6EgressRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6EgressRule.java index f6280e96ea..9cd5aec07e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6EgressRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6EgressRule.java @@ -147,6 +147,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Egress Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Gateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Gateway.java index f5edc579b9..b012fb39b6 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Gateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6Gateway.java @@ -81,6 +81,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipv6 Gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6InternetBandwidth.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6InternetBandwidth.java index 8992e4866d..834742365d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6InternetBandwidth.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Ipv6InternetBandwidth.java @@ -136,6 +136,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatGateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatGateway.java index 6b3d8cc146..ab51954154 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatGateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatGateway.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Nat gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIp.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIp.java index ce80e8a3fb..5cd284bf9c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIp.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIp.java @@ -104,6 +104,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Nat Ip can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIpCidr.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIpCidr.java index 954ac5eb5d..55dc415950 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIpCidr.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NatIpCidr.java @@ -93,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Nat Ip Cidr can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Network.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Network.java index c34ff00bfd..2df9300242 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Network.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Network.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC VPC can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAcl.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAcl.java index b56979482e..b88b184d98 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAcl.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAcl.java @@ -28,6 +28,8 @@ * * > **NOTE:** Available since v1.43.0. * + * > **WARNING:** Do not mix the use of the `resources` field in this resource with the separate `alicloud.vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + * * ## Example Usage * * Basic Usage @@ -112,6 +114,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Network Acl can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclAttachment.java index bdd46f8c82..29cb519e10 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclAttachment.java @@ -21,7 +21,9 @@ * > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. * Note that because this resource conflicts with the `resources` attribute of `alicloud.vpc.NetworkAcl`, this resource can no be used. * - * > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. + * > **WARNING:** Do not mix the use of this deprecated resource with the `resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `resources` field in `alicloud.vpc.NetworkAcl`. + * + * > **NOTE:** Available since v1.44.0. * * ## Example Usage * @@ -94,6 +96,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:vpc/networkAclAttachment:NetworkAclAttachment") public class NetworkAclAttachment extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclEntries.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclEntries.java index 3e1008b606..e35a823508 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclEntries.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkAclEntries.java @@ -123,6 +123,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * */ @ResourceType(type="alicloud:vpc/networkAclEntries:NetworkAclEntries") public class NetworkAclEntries extends com.pulumi.resources.CustomResource { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkInterface.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkInterface.java index 946f943dc9..992b7569ac 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/NetworkInterface.java @@ -95,6 +95,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENI can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnection.java index 536a96a1b7..92a0949223 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnection.java @@ -83,6 +83,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Peer Peer Connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnectionAccepter.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnectionAccepter.java index 1eea02811f..f966d7ac7c 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnectionAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PeerConnectionAccepter.java @@ -90,6 +90,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Peer Peer Connection Accepter can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PrefixList.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PrefixList.java index 2917ec0cd9..6fa742516d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PrefixList.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PrefixList.java @@ -84,6 +84,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Prefix List can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPool.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPool.java index 520a8831b9..9b501de268 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPool.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPool.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Public Ip Address Pool can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPoolCidrBlock.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPoolCidrBlock.java index a24693ab63..568ae5e2e7 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPoolCidrBlock.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/PublicIpAddressPoolCidrBlock.java @@ -76,6 +76,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteEntry.java index 18e0334b8f..c5ff76b868 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteEntry.java @@ -121,6 +121,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing vpc module diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTable.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTable.java index c80735b511..6c4004b837 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTable.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTable.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Table can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTableAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTableAttachment.java index 27ab3c254f..c4eeb51ac8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTableAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouteTableAttachment.java @@ -88,6 +88,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterface.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterface.java index 4cceadb0a4..0003e51a06 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterface.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterface.java @@ -70,6 +70,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The router interface can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterfaceConnection.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterfaceConnection.java index fde79baa5a..c23c0ce4c2 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterfaceConnection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/RouterInterfaceConnection.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The router interface connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/SnatEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/SnatEntry.java index 8f58b0e49c..650d0ebec9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/SnatEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/SnatEntry.java @@ -106,6 +106,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAT Gateway Snat Entry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Switch.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Switch.java index 33902057a8..4f94ce18e4 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Switch.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/Switch.java @@ -192,6 +192,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Vswitch can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilter.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilter.java index 4e6ccb23ab..019597ef7d 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilter.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilter.java @@ -97,6 +97,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterEgressRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterEgressRule.java index 38219d7d98..f169806a5a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterEgressRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterEgressRule.java @@ -69,6 +69,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterIngressRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterIngressRule.java index 18f7ad49ba..fdad4b9476 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterIngressRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorFilterIngressRule.java @@ -71,6 +71,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorSession.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorSession.java index 2095a14ef9..bcc83692b8 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorSession.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/TrafficMirrorSession.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Session can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VPCRouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VPCRouteEntry.java index 9cf86cd83f..dc5b125601 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VPCRouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VPCRouteEntry.java @@ -124,6 +124,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Entry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VbrHa.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VbrHa.java index ca5b0d0c12..eb432770af 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VbrHa.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VbrHa.java @@ -126,6 +126,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Vbr Ha can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachment.java index bd41a61902..c58ab16752 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachment.java @@ -14,12 +14,16 @@ import javax.annotation.Nullable; /** - * Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. + * Provides a VPC Network Acl Attachment resource. + * + * Resources associated with network Acl. * * For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). * * > **NOTE:** Available since v1.193.0. * + * > **WARNING:** Do not mix the use of this resource with the `resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + * * ## Example Usage * * Basic Usage @@ -89,6 +93,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Network Acl Attachment can be imported using the id, e.g. @@ -101,28 +107,28 @@ @ResourceType(type="alicloud:vpc/vpcNetworkAclAttachment:VpcNetworkAclAttachment") public class VpcNetworkAclAttachment extends com.pulumi.resources.CustomResource { /** - * The ID of the network ACL. + * The ID of the network ACL instance. * */ @Export(name="networkAclId", refs={String.class}, tree="[0]") private Output networkAclId; /** - * @return The ID of the network ACL. + * @return The ID of the network ACL instance. * */ public Output networkAclId() { return this.networkAclId; } /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. * */ @Export(name="resourceId", refs={String.class}, tree="[0]") private Output resourceId; /** - * @return The ID of the associated resource. + * @return The ID of the associated vswitch instance. * */ public Output resourceId() { diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachmentArgs.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachmentArgs.java index 2df94aa94a..f42fbba418 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachmentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VpcNetworkAclAttachmentArgs.java @@ -15,14 +15,14 @@ public final class VpcNetworkAclAttachmentArgs extends com.pulumi.resources.Reso public static final VpcNetworkAclAttachmentArgs Empty = new VpcNetworkAclAttachmentArgs(); /** - * The ID of the network ACL. + * The ID of the network ACL instance. * */ @Import(name="networkAclId", required=true) private Output networkAclId; /** - * @return The ID of the network ACL. + * @return The ID of the network ACL instance. * */ public Output networkAclId() { @@ -30,14 +30,14 @@ public Output networkAclId() { } /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. * */ @Import(name="resourceId", required=true) private Output resourceId; /** - * @return The ID of the associated resource. + * @return The ID of the associated vswitch instance. * */ public Output resourceId() { @@ -86,7 +86,7 @@ public Builder(VpcNetworkAclAttachmentArgs defaults) { } /** - * @param networkAclId The ID of the network ACL. + * @param networkAclId The ID of the network ACL instance. * * @return builder * @@ -97,7 +97,7 @@ public Builder networkAclId(Output networkAclId) { } /** - * @param networkAclId The ID of the network ACL. + * @param networkAclId The ID of the network ACL instance. * * @return builder * @@ -107,7 +107,7 @@ public Builder networkAclId(String networkAclId) { } /** - * @param resourceId The ID of the associated resource. + * @param resourceId The ID of the associated vswitch instance. * * @return builder * @@ -118,7 +118,7 @@ public Builder resourceId(Output resourceId) { } /** - * @param resourceId The ID of the associated resource. + * @param resourceId The ID of the associated vswitch instance. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VswitchCidrReservation.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VswitchCidrReservation.java index 2385de66cd..925c119238 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VswitchCidrReservation.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/VswitchCidrReservation.java @@ -85,6 +85,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Vswitch Cidr Reservation can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/inputs/VpcNetworkAclAttachmentState.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/inputs/VpcNetworkAclAttachmentState.java index ac412d0ce6..baf43e1306 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpc/inputs/VpcNetworkAclAttachmentState.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpc/inputs/VpcNetworkAclAttachmentState.java @@ -16,14 +16,14 @@ public final class VpcNetworkAclAttachmentState extends com.pulumi.resources.Res public static final VpcNetworkAclAttachmentState Empty = new VpcNetworkAclAttachmentState(); /** - * The ID of the network ACL. + * The ID of the network ACL instance. * */ @Import(name="networkAclId") private @Nullable Output networkAclId; /** - * @return The ID of the network ACL. + * @return The ID of the network ACL instance. * */ public Optional> networkAclId() { @@ -31,14 +31,14 @@ public Optional> networkAclId() { } /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. * */ @Import(name="resourceId") private @Nullable Output resourceId; /** - * @return The ID of the associated resource. + * @return The ID of the associated vswitch instance. * */ public Optional> resourceId() { @@ -103,7 +103,7 @@ public Builder(VpcNetworkAclAttachmentState defaults) { } /** - * @param networkAclId The ID of the network ACL. + * @param networkAclId The ID of the network ACL instance. * * @return builder * @@ -114,7 +114,7 @@ public Builder networkAclId(@Nullable Output networkAclId) { } /** - * @param networkAclId The ID of the network ACL. + * @param networkAclId The ID of the network ACL instance. * * @return builder * @@ -124,7 +124,7 @@ public Builder networkAclId(String networkAclId) { } /** - * @param resourceId The ID of the associated resource. + * @param resourceId The ID of the associated vswitch instance. * * @return builder * @@ -135,7 +135,7 @@ public Builder resourceId(@Nullable Output resourceId) { } /** - * @param resourceId The ID of the associated resource. + * @param resourceId The ID of the associated vswitch instance. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/Connection.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/Connection.java index 5ca4b9735a..16901d5126 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/Connection.java @@ -189,6 +189,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN connection can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/CustomerGateway.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/CustomerGateway.java index cb98040b72..c254f8f8a9 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/CustomerGateway.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/CustomerGateway.java @@ -57,6 +57,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN customer gateway can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVcoRoute.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVcoRoute.java index eb48d92608..f89d47c1df 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVcoRoute.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVcoRoute.java @@ -163,6 +163,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Gateway Vco Route can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVpnAttachment.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVpnAttachment.java index fecba6b26c..0ce9981342 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVpnAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/GatewayVpnAttachment.java @@ -238,6 +238,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Gateway Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/IpsecServer.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/IpsecServer.java index f2c4bb7436..39cae80d66 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/IpsecServer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/IpsecServer.java @@ -103,6 +103,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Ipsec Server can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/PbrRouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/PbrRouteEntry.java index 0278afe266..fd12439ccf 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/PbrRouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/PbrRouteEntry.java @@ -158,6 +158,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Pbr route entry can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/RouteEntry.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/RouteEntry.java index b6f7ffa6c2..f87dc1c28e 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/RouteEntry.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/RouteEntry.java @@ -151,6 +151,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnClientCert.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnClientCert.java index a29c9999f0..6ac7d3b015 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnClientCert.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnClientCert.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL-VPN client certificates can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnServer.java b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnServer.java index 68cf6a7ba2..f62c955f18 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnServer.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/vpn/SslVpnServer.java @@ -104,6 +104,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL-VPN server can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/waf/Certificate.java b/sdk/java/src/main/java/com/pulumi/alicloud/waf/Certificate.java index a48e993f36..0031150d51 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/waf/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/waf/Certificate.java @@ -66,6 +66,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAF Certificate can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/waf/Domain.java b/sdk/java/src/main/java/com/pulumi/alicloud/waf/Domain.java index 58b44d84f4..c79e4e8d13 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/waf/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/waf/Domain.java @@ -74,6 +74,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAF domain can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/waf/ProtectionModule.java b/sdk/java/src/main/java/com/pulumi/alicloud/waf/ProtectionModule.java index 1e9b648d25..807d11db7a 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/waf/ProtectionModule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/waf/ProtectionModule.java @@ -87,6 +87,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseResourceGroup.java b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseResourceGroup.java index 689356bd70..15793fed84 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseResourceGroup.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseResourceGroup.java @@ -109,6 +109,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Resource Group can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseRule.java b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseRule.java index 757276056e..03fc8a52a3 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseRule.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseRule.java @@ -102,6 +102,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Rule can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseTemplate.java b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseTemplate.java index b97bc6f652..821f845a78 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/DefenseTemplate.java @@ -72,6 +72,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Template can be imported using the id, e.g. diff --git a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/Instance.java b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/Instance.java index c925bef672..870c1172fe 100644 --- a/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/alicloud/wafv3/Instance.java @@ -52,6 +52,8 @@ * } * * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Wafv3 Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/ackone/cluster.ts b/sdk/nodejs/ackone/cluster.ts index af7dce7ed5..98ea204627 100644 --- a/sdk/nodejs/ackone/cluster.ts +++ b/sdk/nodejs/ackone/cluster.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ack One Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/ackone/membershipAttachment.ts b/sdk/nodejs/ackone/membershipAttachment.ts index 96d293940f..6f27143920 100644 --- a/sdk/nodejs/ackone/membershipAttachment.ts +++ b/sdk/nodejs/ackone/membershipAttachment.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. diff --git a/sdk/nodejs/actiontrail/advancedQueryTemplate.ts b/sdk/nodejs/actiontrail/advancedQueryTemplate.ts index 092e36d716..fab1e03944 100644 --- a/sdk/nodejs/actiontrail/advancedQueryTemplate.ts +++ b/sdk/nodejs/actiontrail/advancedQueryTemplate.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Actiontrail Advanced Query Template can be imported using the id, e.g. diff --git a/sdk/nodejs/actiontrail/globalEventsStorageRegion.ts b/sdk/nodejs/actiontrail/globalEventsStorageRegion.ts index e938db5e41..e15eb49709 100644 --- a/sdk/nodejs/actiontrail/globalEventsStorageRegion.ts +++ b/sdk/nodejs/actiontrail/globalEventsStorageRegion.ts @@ -20,6 +20,8 @@ import * as utilities from "../utilities"; * const foo = new alicloud.actiontrail.GlobalEventsStorageRegion("foo", {storageRegion: "cn-hangzhou"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global events storage region not can be imported. diff --git a/sdk/nodejs/actiontrail/historyDeliveryJob.ts b/sdk/nodejs/actiontrail/historyDeliveryJob.ts index b86bf12af6..c05b396fe9 100644 --- a/sdk/nodejs/actiontrail/historyDeliveryJob.ts +++ b/sdk/nodejs/actiontrail/historyDeliveryJob.ts @@ -5,9 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a Actiontrail History Delivery Job resource. + * Provides a Action Trail History Delivery Job resource. * - * For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). + * Delivery History Tasks. + * + * For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). * * > **NOTE:** Available since v1.139.0. * @@ -24,32 +26,41 @@ import * as utilities from "../utilities"; * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as alicloud from "@pulumi/alicloud"; - * import * as random from "@pulumi/random"; * * const config = new pulumi.Config(); * const name = config.get("name") || "tf-example"; - * const _default = new random.index.Integer("default", { - * min: 10000, - * max: 99999, - * }); - * const example = alicloud.getRegions({ + * const _default = alicloud.getRegions({ * current: true, * }); - * const exampleGetAccount = alicloud.getAccount({}); - * const exampleProject = new alicloud.log.Project("example", { - * projectName: `${name}-${_default.result}`, - * description: "tf actiontrail example", + * const defaultGetAccount = alicloud.getAccount({}); + * const defaultGetRoles = alicloud.ram.getRoles({ + * nameRegex: "AliyunServiceRoleForActionTrail", * }); - * const exampleTrail = new alicloud.actiontrail.Trail("example", { - * trailName: `${name}-${_default.result}`, - * slsProjectArn: pulumi.all([example, exampleGetAccount, exampleProject.name]).apply(([example, exampleGetAccount, name]) => `acs:log:${example.regions?.[0]?.id}:${exampleGetAccount.id}:project/${name}`), + * const defaultProject = new alicloud.log.Project("default", { + * description: name, + * projectName: name, * }); - * const exampleHistoryDeliveryJob = new alicloud.actiontrail.HistoryDeliveryJob("example", {trailName: exampleTrail.id}); + * const defaultTrail = new alicloud.actiontrail.Trail("default", { + * eventRw: "Write", + * slsProjectArn: pulumi.all([_default, defaultGetAccount, defaultProject.projectName]).apply(([_default, defaultGetAccount, projectName]) => `acs:log:${_default.regions?.[0]?.id}:${defaultGetAccount.id}:project/${projectName}`), + * trailName: name, + * slsWriteRoleArn: defaultGetRoles.then(defaultGetRoles => defaultGetRoles.roles?.[0]?.arn), + * trailRegion: "All", + * isOrganizationTrail: false, + * status: "Enable", + * eventSelectors: JSON.stringify([{ + * ServiceName: "PDS", + * }]), + * dataEventTrailRegion: "cn-hangzhou", + * }); + * const defaultHistoryDeliveryJob = new alicloud.actiontrail.HistoryDeliveryJob("default", {trailName: defaultTrail.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Actiontrail History Delivery Job can be imported using the id, e.g. + * Action Trail History Delivery Job can be imported using the id, e.g. * * ```sh * $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example @@ -84,11 +95,15 @@ export class HistoryDeliveryJob extends pulumi.CustomResource { } /** - * The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * The creation time of the resource + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The status of the resource */ declare public /*out*/ readonly status: pulumi.Output; /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. */ declare public readonly trailName: pulumi.Output; @@ -105,6 +120,7 @@ export class HistoryDeliveryJob extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as HistoryDeliveryJobState | undefined; + resourceInputs["createTime"] = state?.createTime; resourceInputs["status"] = state?.status; resourceInputs["trailName"] = state?.trailName; } else { @@ -113,6 +129,7 @@ export class HistoryDeliveryJob extends pulumi.CustomResource { throw new Error("Missing required property 'trailName'"); } resourceInputs["trailName"] = args?.trailName; + resourceInputs["createTime"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -125,11 +142,15 @@ export class HistoryDeliveryJob extends pulumi.CustomResource { */ export interface HistoryDeliveryJobState { /** - * The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + * The creation time of the resource + */ + createTime?: pulumi.Input; + /** + * The status of the resource */ status?: pulumi.Input; /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. */ trailName?: pulumi.Input; } @@ -139,7 +160,7 @@ export interface HistoryDeliveryJobState { */ export interface HistoryDeliveryJobArgs { /** - * The name of the trail for which you want to create a historical event delivery task. + * The Track Name. */ trailName: pulumi.Input; } diff --git a/sdk/nodejs/actiontrail/trail.ts b/sdk/nodejs/actiontrail/trail.ts index d4d94a2b3e..0934c3aa49 100644 --- a/sdk/nodejs/actiontrail/trail.ts +++ b/sdk/nodejs/actiontrail/trail.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Actiontrail Trail can be imported using the id, e.g. @@ -119,7 +121,7 @@ export class Trail extends pulumi.CustomResource { /** * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ declare public readonly name: pulumi.Output; /** @@ -155,7 +157,7 @@ export class Trail extends pulumi.CustomResource { /** * The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. */ - declare public readonly status: pulumi.Output; + declare public readonly status: pulumi.Output; /** * The name of the trail to be created. */ @@ -265,7 +267,7 @@ export interface TrailState { /** * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ name?: pulumi.Input; /** @@ -349,7 +351,7 @@ export interface TrailArgs { /** * Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/actiontrail/trailDeprecated.ts b/sdk/nodejs/actiontrail/trailDeprecated.ts index 8f9d67669b..2e01391a9a 100644 --- a/sdk/nodejs/actiontrail/trailDeprecated.ts +++ b/sdk/nodejs/actiontrail/trailDeprecated.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Action trail can be imported using the id, e.g. @@ -83,7 +85,7 @@ export class TrailDeprecated extends pulumi.CustomResource { /** * The name of the trail to be created, which must be unique for an account. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ declare public readonly name: pulumi.Output; /** @@ -112,7 +114,7 @@ export class TrailDeprecated extends pulumi.CustomResource { * > **NOTE:** `slsProjectArn` and `slsWriteRoleArn` should be set or not set at the same time when actiontrail delivers logs. */ declare public readonly slsWriteRoleArn: pulumi.Output; - declare public readonly status: pulumi.Output; + declare public readonly status: pulumi.Output; declare public readonly trailName: pulumi.Output; declare public readonly trailRegion: pulumi.Output; @@ -199,7 +201,7 @@ export interface TrailDeprecatedState { /** * The name of the trail to be created, which must be unique for an account. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ name?: pulumi.Input; /** @@ -253,7 +255,7 @@ export interface TrailDeprecatedArgs { /** * The name of the trail to be created, which must be unique for an account. * - * @deprecated Field `name` has been deprecated from provider version 1.95.0. New field `trailName` instead. + * @deprecated Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/adb/account.ts b/sdk/nodejs/adb/account.ts index 0040808e47..73410b3eb7 100644 --- a/sdk/nodejs/adb/account.ts +++ b/sdk/nodejs/adb/account.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB account can be imported using the id, e.g. diff --git a/sdk/nodejs/adb/cluster.ts b/sdk/nodejs/adb/cluster.ts index f5f0d5a7f0..f66969f3b6 100644 --- a/sdk/nodejs/adb/cluster.ts +++ b/sdk/nodejs/adb/cluster.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/adb/connection.ts b/sdk/nodejs/adb/connection.ts index 8384d188ac..e2810e63d7 100644 --- a/sdk/nodejs/adb/connection.ts +++ b/sdk/nodejs/adb/connection.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB connection can be imported using the id, e.g. diff --git a/sdk/nodejs/adb/dbclusterLakeVersion.ts b/sdk/nodejs/adb/dbclusterLakeVersion.ts index cf5aa3ad9f..2793ad308d 100644 --- a/sdk/nodejs/adb/dbclusterLakeVersion.ts +++ b/sdk/nodejs/adb/dbclusterLakeVersion.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. diff --git a/sdk/nodejs/adb/lakeAccount.ts b/sdk/nodejs/adb/lakeAccount.ts index af20f0cbbf..df95ce1c9a 100644 --- a/sdk/nodejs/adb/lakeAccount.ts +++ b/sdk/nodejs/adb/lakeAccount.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ADB Lake Account can be imported using the id, e.g. diff --git a/sdk/nodejs/adb/resourceGroup.ts b/sdk/nodejs/adb/resourceGroup.ts index 9425178fa7..984b2b63e5 100644 --- a/sdk/nodejs/adb/resourceGroup.ts +++ b/sdk/nodejs/adb/resourceGroup.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Adb Resource Group can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/acl.ts b/sdk/nodejs/alb/acl.ts index 29508c498f..dd7c5fdf14 100644 --- a/sdk/nodejs/alb/acl.ts +++ b/sdk/nodejs/alb/acl.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/aclEntryAttachment.ts b/sdk/nodejs/alb/aclEntryAttachment.ts index bc7f385f18..344e498a91 100644 --- a/sdk/nodejs/alb/aclEntryAttachment.ts +++ b/sdk/nodejs/alb/aclEntryAttachment.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/ascript.ts b/sdk/nodejs/alb/ascript.ts index 645ad36dd7..a0d9112f8b 100644 --- a/sdk/nodejs/alb/ascript.ts +++ b/sdk/nodejs/alb/ascript.ts @@ -107,6 +107,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) A Script can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/healthCheckTemplate.ts b/sdk/nodejs/alb/healthCheckTemplate.ts index e6feab7b8f..0bcaa1c589 100644 --- a/sdk/nodejs/alb/healthCheckTemplate.ts +++ b/sdk/nodejs/alb/healthCheckTemplate.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.alb.HealthCheckTemplate("example", {healthCheckTemplateName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/listener.ts b/sdk/nodejs/alb/listener.ts index 807d92798e..5966b19613 100644 --- a/sdk/nodejs/alb/listener.ts +++ b/sdk/nodejs/alb/listener.ts @@ -147,6 +147,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Listener can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/listenerAclAttachment.ts b/sdk/nodejs/alb/listenerAclAttachment.ts index 0803e52cf8..ae204caba8 100644 --- a/sdk/nodejs/alb/listenerAclAttachment.ts +++ b/sdk/nodejs/alb/listenerAclAttachment.ts @@ -116,6 +116,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Listener Acl Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/listenerAdditionalCertificateAttachment.ts b/sdk/nodejs/alb/listenerAdditionalCertificateAttachment.ts index 80fad34ac8..8fd0f37375 100644 --- a/sdk/nodejs/alb/listenerAdditionalCertificateAttachment.ts +++ b/sdk/nodejs/alb/listenerAdditionalCertificateAttachment.ts @@ -186,6 +186,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/loadBalancer.ts b/sdk/nodejs/alb/loadBalancer.ts index d28e853fc2..27c23e5528 100644 --- a/sdk/nodejs/alb/loadBalancer.ts +++ b/sdk/nodejs/alb/loadBalancer.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/loadBalancerAccessLogConfigAttachment.ts b/sdk/nodejs/alb/loadBalancerAccessLogConfigAttachment.ts index eeb42a80a6..1dcc66546b 100644 --- a/sdk/nodejs/alb/loadBalancerAccessLogConfigAttachment.ts +++ b/sdk/nodejs/alb/loadBalancerAccessLogConfigAttachment.ts @@ -94,6 +94,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/loadBalancerCommonBandwidthPackageAttachment.ts b/sdk/nodejs/alb/loadBalancerCommonBandwidthPackageAttachment.ts index 48bc07a16b..b4d5b4cb58 100644 --- a/sdk/nodejs/alb/loadBalancerCommonBandwidthPackageAttachment.ts +++ b/sdk/nodejs/alb/loadBalancerCommonBandwidthPackageAttachment.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/loadBalancerSecurityGroupAttachment.ts b/sdk/nodejs/alb/loadBalancerSecurityGroupAttachment.ts index fbfbf74e25..6c6e07c73b 100644 --- a/sdk/nodejs/alb/loadBalancerSecurityGroupAttachment.ts +++ b/sdk/nodejs/alb/loadBalancerSecurityGroupAttachment.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/loadBalancerZoneShiftedAttachment.ts b/sdk/nodejs/alb/loadBalancerZoneShiftedAttachment.ts index 762f3a8c18..5d00cc8b0d 100644 --- a/sdk/nodejs/alb/loadBalancerZoneShiftedAttachment.ts +++ b/sdk/nodejs/alb/loadBalancerZoneShiftedAttachment.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/rule.ts b/sdk/nodejs/alb/rule.ts index 14f2ccca65..7ad3ab7b86 100644 --- a/sdk/nodejs/alb/rule.ts +++ b/sdk/nodejs/alb/rule.ts @@ -125,6 +125,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/securityPolicy.ts b/sdk/nodejs/alb/securityPolicy.ts index 5670ca2e32..e70f261fa8 100644 --- a/sdk/nodejs/alb/securityPolicy.ts +++ b/sdk/nodejs/alb/securityPolicy.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALB Security Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/alb/serverGroup.ts b/sdk/nodejs/alb/serverGroup.ts index ad9e0f3be0..7e9772e7cc 100644 --- a/sdk/nodejs/alb/serverGroup.ts +++ b/sdk/nodejs/alb/serverGroup.ts @@ -101,6 +101,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Load Balancer (ALB) Server Group can be imported using the id, e.g. diff --git a/sdk/nodejs/aligreen/auditCallback.ts b/sdk/nodejs/aligreen/auditCallback.ts index 946984e27c..a548fec225 100644 --- a/sdk/nodejs/aligreen/auditCallback.ts +++ b/sdk/nodejs/aligreen/auditCallback.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Audit Callback can be imported using the id, e.g. diff --git a/sdk/nodejs/aligreen/bizType.ts b/sdk/nodejs/aligreen/bizType.ts index 0ec91b3360..6ace9d80b8 100644 --- a/sdk/nodejs/aligreen/bizType.ts +++ b/sdk/nodejs/aligreen/bizType.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Biz Type can be imported using the id, e.g. diff --git a/sdk/nodejs/aligreen/callback.ts b/sdk/nodejs/aligreen/callback.ts index 76415a7f1c..706d159ac7 100644 --- a/sdk/nodejs/aligreen/callback.ts +++ b/sdk/nodejs/aligreen/callback.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Callback can be imported using the id, e.g. diff --git a/sdk/nodejs/aligreen/imageLib.ts b/sdk/nodejs/aligreen/imageLib.ts index 18409b468a..27b684e404 100644 --- a/sdk/nodejs/aligreen/imageLib.ts +++ b/sdk/nodejs/aligreen/imageLib.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Image Lib can be imported using the id, e.g. diff --git a/sdk/nodejs/aligreen/keywordLib.ts b/sdk/nodejs/aligreen/keywordLib.ts index ff17814191..f6a5b07613 100644 --- a/sdk/nodejs/aligreen/keywordLib.ts +++ b/sdk/nodejs/aligreen/keywordLib.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aligreen Keyword Lib can be imported using the id, e.g. diff --git a/sdk/nodejs/alikafka/consumerGroup.ts b/sdk/nodejs/alikafka/consumerGroup.ts index b524ab4231..d4f161b1b2 100644 --- a/sdk/nodejs/alikafka/consumerGroup.ts +++ b/sdk/nodejs/alikafka/consumerGroup.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/nodejs/alikafka/instanceAllowedIpAttachment.ts b/sdk/nodejs/alikafka/instanceAllowedIpAttachment.ts index 2fb48b9378..efa29bb7ca 100644 --- a/sdk/nodejs/alikafka/instanceAllowedIpAttachment.ts +++ b/sdk/nodejs/alikafka/instanceAllowedIpAttachment.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/alikafka/saslAcl.ts b/sdk/nodejs/alikafka/saslAcl.ts index b2589ee01a..877a689130 100644 --- a/sdk/nodejs/alikafka/saslAcl.ts +++ b/sdk/nodejs/alikafka/saslAcl.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/nodejs/alikafka/saslUser.ts b/sdk/nodejs/alikafka/saslUser.ts index f57d2031d1..e040276e0f 100644 --- a/sdk/nodejs/alikafka/saslUser.ts +++ b/sdk/nodejs/alikafka/saslUser.ts @@ -5,14 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides an Alikafka Sasl User resource. + * Provides an AliKafka Sasl User resource. * - * > **NOTE:** Available since v1.66.0. - * - * > **NOTE:** Only the following regions support create alikafka Sasl User. - * [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] + * For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). * - * For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). + * > **NOTE:** Available since v1.66.0. * * ## Example Usage * @@ -24,7 +21,7 @@ import * as utilities from "../utilities"; * import * as random from "@pulumi/random"; * * const config = new pulumi.Config(); - * const name = config.get("name") || "tf-example"; + * const name = config.get("name") || "terraform-example"; * const _default = alicloud.getZones({ * availableResourceCreation: "VSwitch", * }); @@ -66,9 +63,11 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Alikafka Sasl User can be imported using the id, e.g. + * AliKafka Sasl User can be imported using the id, e.g. * * ```sh * $ pulumi import alicloud:alikafka/saslUser:SaslUser example : @@ -103,7 +102,7 @@ export class SaslUser extends pulumi.CustomResource { } /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. */ declare public readonly instanceId: pulumi.Output; /** @@ -114,12 +113,19 @@ export class SaslUser extends pulumi.CustomResource { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ declare public readonly kmsEncryptionContext: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + */ + declare public readonly mechanism: pulumi.Output; /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. */ - declare public readonly password: pulumi.Output; + declare public readonly password: pulumi.Output; /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: */ declare public readonly type: pulumi.Output; /** @@ -143,6 +149,7 @@ export class SaslUser extends pulumi.CustomResource { resourceInputs["instanceId"] = state?.instanceId; resourceInputs["kmsEncryptedPassword"] = state?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = state?.kmsEncryptionContext; + resourceInputs["mechanism"] = state?.mechanism; resourceInputs["password"] = state?.password; resourceInputs["type"] = state?.type; resourceInputs["username"] = state?.username; @@ -157,6 +164,7 @@ export class SaslUser extends pulumi.CustomResource { resourceInputs["instanceId"] = args?.instanceId; resourceInputs["kmsEncryptedPassword"] = args?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = args?.kmsEncryptionContext; + resourceInputs["mechanism"] = args?.mechanism; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["type"] = args?.type; resourceInputs["username"] = args?.username; @@ -173,7 +181,7 @@ export class SaslUser extends pulumi.CustomResource { */ export interface SaslUserState { /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. */ instanceId?: pulumi.Input; /** @@ -184,12 +192,19 @@ export interface SaslUserState { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ kmsEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + */ + mechanism?: pulumi.Input; /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. */ password?: pulumi.Input; /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: */ type?: pulumi.Input; /** @@ -203,7 +218,7 @@ export interface SaslUserState { */ export interface SaslUserArgs { /** - * ID of the ALIKAFKA Instance that owns the groups. + * The instance ID. */ instanceId: pulumi.Input; /** @@ -214,12 +229,19 @@ export interface SaslUserArgs { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a user with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ kmsEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The encryption method. Valid values: + * - SCRAM-SHA-512. This is the default value. + * - SCRAM-SHA-256 + * > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + */ + mechanism?: pulumi.Input; /** * The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields. */ password?: pulumi.Input; /** - * The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + * The authentication mechanism. Default value: `plain`. Valid values: */ type?: pulumi.Input; /** diff --git a/sdk/nodejs/alikafka/topic.ts b/sdk/nodejs/alikafka/topic.ts index 477aef500f..f98df7de6d 100644 --- a/sdk/nodejs/alikafka/topic.ts +++ b/sdk/nodejs/alikafka/topic.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alikafka Topic can be imported using the id, e.g. diff --git a/sdk/nodejs/amqp/binding.ts b/sdk/nodejs/amqp/binding.ts index ed1a93ff04..1c58a2b397 100644 --- a/sdk/nodejs/amqp/binding.ts +++ b/sdk/nodejs/amqp/binding.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Binding can be imported using the id, e.g. diff --git a/sdk/nodejs/amqp/exchange.ts b/sdk/nodejs/amqp/exchange.ts index a2b3b63294..09736d7c58 100644 --- a/sdk/nodejs/amqp/exchange.ts +++ b/sdk/nodejs/amqp/exchange.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Exchange can be imported using the id, e.g. diff --git a/sdk/nodejs/amqp/instance.ts b/sdk/nodejs/amqp/instance.ts index d489719192..d993fb9f0a 100644 --- a/sdk/nodejs/amqp/instance.ts +++ b/sdk/nodejs/amqp/instance.ts @@ -49,6 +49,10 @@ export class Instance extends pulumi.CustomResource { * OrderCreateTime. */ declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The deployment architecture for Serverless instances. Valid values: + */ + declare public readonly edition: pulumi.Output; /** * The instance name. */ @@ -94,6 +98,10 @@ export class Instance extends pulumi.CustomResource { * Prepaid cycle units. Value: Month, Year. */ declare public readonly periodCycle: pulumi.Output; + /** + * The provisioned TPS capacity for reserved + elastic instances. + */ + declare public readonly provisionedCapacity: pulumi.Output; /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. */ @@ -129,7 +137,7 @@ export class Instance extends pulumi.CustomResource { /** * Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. */ - declare public readonly supportTracing: pulumi.Output; + declare public readonly supportTracing: pulumi.Output; /** * Configure the storage duration of message traces. Unit: Days. The value is as follows: 3:3 days 7:7 days 15:15 days This parameter is valid when SupportTracing is true. */ @@ -150,6 +158,7 @@ export class Instance extends pulumi.CustomResource { const state = argsOrState as InstanceState | undefined; resourceInputs["autoRenew"] = state?.autoRenew; resourceInputs["createTime"] = state?.createTime; + resourceInputs["edition"] = state?.edition; resourceInputs["instanceName"] = state?.instanceName; resourceInputs["instanceType"] = state?.instanceType; resourceInputs["maxConnections"] = state?.maxConnections; @@ -159,6 +168,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["paymentType"] = state?.paymentType; resourceInputs["period"] = state?.period; resourceInputs["periodCycle"] = state?.periodCycle; + resourceInputs["provisionedCapacity"] = state?.provisionedCapacity; resourceInputs["queueCapacity"] = state?.queueCapacity; resourceInputs["renewalDuration"] = state?.renewalDuration; resourceInputs["renewalDurationUnit"] = state?.renewalDurationUnit; @@ -175,6 +185,7 @@ export class Instance extends pulumi.CustomResource { throw new Error("Missing required property 'paymentType'"); } resourceInputs["autoRenew"] = args?.autoRenew; + resourceInputs["edition"] = args?.edition; resourceInputs["instanceName"] = args?.instanceName; resourceInputs["instanceType"] = args?.instanceType; resourceInputs["maxConnections"] = args?.maxConnections; @@ -184,6 +195,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["paymentType"] = args?.paymentType; resourceInputs["period"] = args?.period; resourceInputs["periodCycle"] = args?.periodCycle; + resourceInputs["provisionedCapacity"] = args?.provisionedCapacity; resourceInputs["queueCapacity"] = args?.queueCapacity; resourceInputs["renewalDuration"] = args?.renewalDuration; resourceInputs["renewalDurationUnit"] = args?.renewalDurationUnit; @@ -213,6 +225,10 @@ export interface InstanceState { * OrderCreateTime. */ createTime?: pulumi.Input; + /** + * The deployment architecture for Serverless instances. Valid values: + */ + edition?: pulumi.Input; /** * The instance name. */ @@ -258,6 +274,10 @@ export interface InstanceState { * Prepaid cycle units. Value: Month, Year. */ periodCycle?: pulumi.Input; + /** + * The provisioned TPS capacity for reserved + elastic instances. + */ + provisionedCapacity?: pulumi.Input; /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. */ @@ -308,6 +328,10 @@ export interface InstanceArgs { * Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. */ autoRenew?: pulumi.Input; + /** + * The deployment architecture for Serverless instances. Valid values: + */ + edition?: pulumi.Input; /** * The instance name. */ @@ -353,6 +377,10 @@ export interface InstanceArgs { * Prepaid cycle units. Value: Month, Year. */ periodCycle?: pulumi.Input; + /** + * The provisioned TPS capacity for reserved + elastic instances. + */ + provisionedCapacity?: pulumi.Input; /** * Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. */ diff --git a/sdk/nodejs/amqp/queue.ts b/sdk/nodejs/amqp/queue.ts index 9322eb7949..d8599b1913 100644 --- a/sdk/nodejs/amqp/queue.ts +++ b/sdk/nodejs/amqp/queue.ts @@ -18,36 +18,39 @@ import * as utilities from "../utilities"; * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as alicloud from "@pulumi/alicloud"; + * import * as random from "@pulumi/random"; * - * const _default = new alicloud.amqp.Instance("default", { + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new random.index.Integer("default", { + * min: 10000, + * max: 99999, + * }); + * const defaultInstance = new alicloud.amqp.Instance("default", { + * instanceName: `${name}-${_default.result}`, * instanceType: "enterprise", * maxTps: "3000", + * maxConnections: 2000, * queueCapacity: "200", - * storageSize: "700", - * supportEip: false, - * maxEipTps: "128", * paymentType: "Subscription", - * period: 1, + * renewalStatus: "AutoRenewal", + * renewalDuration: 1, + * renewalDurationUnit: "Year", + * supportEip: true, * }); * const defaultVirtualHost = new alicloud.amqp.VirtualHost("default", { - * instanceId: _default.id, - * virtualHostName: "tf-example", - * }); - * const defaultExchange = new alicloud.amqp.Exchange("default", { - * autoDeleteState: false, - * exchangeName: "tf-example", - * exchangeType: "DIRECT", - * instanceId: _default.id, - * internal: false, - * virtualHostName: defaultVirtualHost.virtualHostName, + * instanceId: defaultInstance.id, + * virtualHostName: `${name}-${_default.result}`, * }); - * const example = new alicloud.amqp.Queue("example", { - * instanceId: _default.id, - * queueName: "tf-example", + * const defaultQueue = new alicloud.amqp.Queue("default", { + * instanceId: defaultInstance.id, * virtualHostName: defaultVirtualHost.virtualHostName, + * queueName: `${name}-${_default.result}`, * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -85,60 +88,43 @@ export class Queue extends pulumi.CustomResource { } /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: */ declare public readonly autoDeleteState: pulumi.Output; /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. */ declare public readonly autoExpireState: pulumi.Output; /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. */ declare public readonly deadLetterExchange: pulumi.Output; /** - * The dead letter routing key. + * The dead-letter routing key. */ declare public readonly deadLetterRoutingKey: pulumi.Output; /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - */ - declare public readonly exclusiveState: pulumi.Output; - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. */ declare public readonly instanceId: pulumi.Output; /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. */ declare public readonly maxLength: pulumi.Output; /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. */ declare public readonly maximumPriority: pulumi.Output; /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. */ declare public readonly messageTtl: pulumi.Output; /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + * The name of the queue to create. */ declare public readonly queueName: pulumi.Output; /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. */ declare public readonly virtualHostName: pulumi.Output; @@ -159,7 +145,6 @@ export class Queue extends pulumi.CustomResource { resourceInputs["autoExpireState"] = state?.autoExpireState; resourceInputs["deadLetterExchange"] = state?.deadLetterExchange; resourceInputs["deadLetterRoutingKey"] = state?.deadLetterRoutingKey; - resourceInputs["exclusiveState"] = state?.exclusiveState; resourceInputs["instanceId"] = state?.instanceId; resourceInputs["maxLength"] = state?.maxLength; resourceInputs["maximumPriority"] = state?.maximumPriority; @@ -181,7 +166,6 @@ export class Queue extends pulumi.CustomResource { resourceInputs["autoExpireState"] = args?.autoExpireState; resourceInputs["deadLetterExchange"] = args?.deadLetterExchange; resourceInputs["deadLetterRoutingKey"] = args?.deadLetterRoutingKey; - resourceInputs["exclusiveState"] = args?.exclusiveState; resourceInputs["instanceId"] = args?.instanceId; resourceInputs["maxLength"] = args?.maxLength; resourceInputs["maximumPriority"] = args?.maximumPriority; @@ -199,60 +183,43 @@ export class Queue extends pulumi.CustomResource { */ export interface QueueState { /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: */ autoDeleteState?: pulumi.Input; /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. */ autoExpireState?: pulumi.Input; /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. */ deadLetterExchange?: pulumi.Input; /** - * The dead letter routing key. + * The dead-letter routing key. */ deadLetterRoutingKey?: pulumi.Input; /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - */ - exclusiveState?: pulumi.Input; - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. */ instanceId?: pulumi.Input; /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. */ maxLength?: pulumi.Input; /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. */ maximumPriority?: pulumi.Input; /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. */ messageTtl?: pulumi.Input; /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + * The name of the queue to create. */ queueName?: pulumi.Input; /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. */ virtualHostName?: pulumi.Input; } @@ -262,60 +229,43 @@ export interface QueueState { */ export interface QueueArgs { /** - * Specifies whether the Auto Delete attribute is configured. Valid values: - * * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * * false: The Auto Delete attribute is not configured. + * Specifies whether to automatically delete the queue. Valid values: */ autoDeleteState?: pulumi.Input; /** - * The validity period after which the queue is automatically deleted. - * If the queue is not accessed within a specified period of time, it is automatically deleted. + * The auto-expiration time for the queue. */ autoExpireState?: pulumi.Input; /** - * The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - * If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - * Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + * The dead-letter exchange. */ deadLetterExchange?: pulumi.Input; /** - * The dead letter routing key. + * The dead-letter routing key. */ deadLetterRoutingKey?: pulumi.Input; /** - * Specifies whether the queue is an exclusive queue. Valid values: - * * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * * false: The queue is not an exclusive queue. - */ - exclusiveState?: pulumi.Input; - /** - * The ID of the instance. + * The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. */ instanceId: pulumi.Input; /** * The maximum number of messages that can be stored in the queue. - * If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. */ maxLength?: pulumi.Input; /** - * The highest priority supported by the queue. This parameter is set to a positive integer. - * Valid values: 0 to 255. Recommended values: 1 to 10 + * The priority of the queue. */ maximumPriority?: pulumi.Input; /** - * The message TTL of the queue. - * If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - * Message TTL must be set to a non-negative integer, in milliseconds. - * For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + * The time to live (TTL) of a message in the queue. */ messageTtl?: pulumi.Input; /** - * The name of the queue. - * The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + * The name of the queue to create. */ queueName: pulumi.Input; /** - * The name of the virtual host. + * The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. */ virtualHostName: pulumi.Input; } diff --git a/sdk/nodejs/amqp/staticAccount.ts b/sdk/nodejs/amqp/staticAccount.ts index fafb7a7f56..d00d56bef3 100644 --- a/sdk/nodejs/amqp/staticAccount.ts +++ b/sdk/nodejs/amqp/staticAccount.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Amqp Static Account can be imported using the id, e.g. diff --git a/sdk/nodejs/amqp/virtualHost.ts b/sdk/nodejs/amqp/virtualHost.ts index 4e19e52765..19d7a6e066 100644 --- a/sdk/nodejs/amqp/virtualHost.ts +++ b/sdk/nodejs/amqp/virtualHost.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. diff --git a/sdk/nodejs/apig/environment.ts b/sdk/nodejs/apig/environment.ts index 78334aa1c2..8a85576df2 100644 --- a/sdk/nodejs/apig/environment.ts +++ b/sdk/nodejs/apig/environment.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * APIG Environment can be imported using the id, e.g. diff --git a/sdk/nodejs/apig/httpApi.ts b/sdk/nodejs/apig/httpApi.ts index f64a0bbc1b..f78e9916af 100644 --- a/sdk/nodejs/apig/httpApi.ts +++ b/sdk/nodejs/apig/httpApi.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * APIG Http Api can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/accessControlList.ts b/sdk/nodejs/apigateway/accessControlList.ts index 70e5068e9f..c47420e95e 100644 --- a/sdk/nodejs/apigateway/accessControlList.ts +++ b/sdk/nodejs/apigateway/accessControlList.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Access Control List can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/aclEntryAttachment.ts b/sdk/nodejs/apigateway/aclEntryAttachment.ts index 150df41602..89bdfdd8f2 100644 --- a/sdk/nodejs/apigateway/aclEntryAttachment.ts +++ b/sdk/nodejs/apigateway/aclEntryAttachment.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/api.ts b/sdk/nodejs/apigateway/api.ts index a681cc022d..3cfe6f0f87 100644 --- a/sdk/nodejs/apigateway/api.ts +++ b/sdk/nodejs/apigateway/api.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway api can be imported using the id.Format to `:` e.g. diff --git a/sdk/nodejs/apigateway/app.ts b/sdk/nodejs/apigateway/app.ts index 39f3e78ef2..83f5a7d204 100644 --- a/sdk/nodejs/apigateway/app.ts +++ b/sdk/nodejs/apigateway/app.ts @@ -19,6 +19,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway app can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/appAttachment.ts b/sdk/nodejs/apigateway/appAttachment.ts index eb589a019a..ecaab9359d 100644 --- a/sdk/nodejs/apigateway/appAttachment.ts +++ b/sdk/nodejs/apigateway/appAttachment.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * stageName: "PRE", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class AppAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/apigateway/backend.ts b/sdk/nodejs/apigateway/backend.ts index 4a3cdd499e..ece5039be3 100644 --- a/sdk/nodejs/apigateway/backend.ts +++ b/sdk/nodejs/apigateway/backend.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Backend can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/group.ts b/sdk/nodejs/apigateway/group.ts index aa2344203d..f1d3da891f 100644 --- a/sdk/nodejs/apigateway/group.ts +++ b/sdk/nodejs/apigateway/group.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway group can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/instance.ts b/sdk/nodejs/apigateway/instance.ts index 7bc2c32d52..eca5212fbc 100644 --- a/sdk/nodejs/apigateway/instance.ts +++ b/sdk/nodejs/apigateway/instance.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/instanceAclAttachment.ts b/sdk/nodejs/apigateway/instanceAclAttachment.ts index cd8d560018..44dd9f5cda 100644 --- a/sdk/nodejs/apigateway/instanceAclAttachment.ts +++ b/sdk/nodejs/apigateway/instanceAclAttachment.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Instance Acl Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/logConfig.ts b/sdk/nodejs/apigateway/logConfig.ts index 59627d5afc..eca1bce91f 100644 --- a/sdk/nodejs/apigateway/logConfig.ts +++ b/sdk/nodejs/apigateway/logConfig.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Log Config can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/model.ts b/sdk/nodejs/apigateway/model.ts index ee8de17973..31c7d2b83b 100644 --- a/sdk/nodejs/apigateway/model.ts +++ b/sdk/nodejs/apigateway/model.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Model can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/plugin.ts b/sdk/nodejs/apigateway/plugin.ts index ce34b01849..b0f8eaa8b1 100644 --- a/sdk/nodejs/apigateway/plugin.ts +++ b/sdk/nodejs/apigateway/plugin.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api Gateway Plugin can be imported using the id, e.g. diff --git a/sdk/nodejs/apigateway/pluginAttachment.ts b/sdk/nodejs/apigateway/pluginAttachment.ts index b11af70058..e1a297941b 100644 --- a/sdk/nodejs/apigateway/pluginAttachment.ts +++ b/sdk/nodejs/apigateway/pluginAttachment.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * stageName: "RELEASE", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class PluginAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/apigateway/vpcAccess.ts b/sdk/nodejs/apigateway/vpcAccess.ts index 635903d2e9..52e607116e 100644 --- a/sdk/nodejs/apigateway/vpcAccess.ts +++ b/sdk/nodejs/apigateway/vpcAccess.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Api gateway app can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/addonRelease.ts b/sdk/nodejs/arms/addonRelease.ts index 144bc43fee..e0448b5b7f 100644 --- a/sdk/nodejs/arms/addonRelease.ts +++ b/sdk/nodejs/arms/addonRelease.ts @@ -107,6 +107,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Addon Release can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/alertContact.ts b/sdk/nodejs/arms/alertContact.ts index 16fd6826b0..60f5dc76a9 100644 --- a/sdk/nodejs/arms/alertContact.ts +++ b/sdk/nodejs/arms/alertContact.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/alertContactGroup.ts b/sdk/nodejs/arms/alertContactGroup.ts index ca94cf26c6..82e2da43b7 100644 --- a/sdk/nodejs/arms/alertContactGroup.ts +++ b/sdk/nodejs/arms/alertContactGroup.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/alertRobot.ts b/sdk/nodejs/arms/alertRobot.ts index 9620e524ae..e7b09c9963 100644 --- a/sdk/nodejs/arms/alertRobot.ts +++ b/sdk/nodejs/arms/alertRobot.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/dispatchRule.ts b/sdk/nodejs/arms/dispatchRule.ts index ab6697feec..6171f5a33f 100644 --- a/sdk/nodejs/arms/dispatchRule.ts +++ b/sdk/nodejs/arms/dispatchRule.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/envCustomJob.ts b/sdk/nodejs/arms/envCustomJob.ts index 7c6dc0f8a5..a66d86da45 100644 --- a/sdk/nodejs/arms/envCustomJob.ts +++ b/sdk/nodejs/arms/envCustomJob.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Custom Job can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/envFeature.ts b/sdk/nodejs/arms/envFeature.ts index 95bb04c243..5c0160233b 100644 --- a/sdk/nodejs/arms/envFeature.ts +++ b/sdk/nodejs/arms/envFeature.ts @@ -100,6 +100,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Feature can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/envPodMonitor.ts b/sdk/nodejs/arms/envPodMonitor.ts index 586d4a1a8f..2e9aa45a56 100644 --- a/sdk/nodejs/arms/envPodMonitor.ts +++ b/sdk/nodejs/arms/envPodMonitor.ts @@ -124,6 +124,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Pod Monitor can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/envServiceMonitor.ts b/sdk/nodejs/arms/envServiceMonitor.ts index a67b2ed07a..d4c55733a4 100644 --- a/sdk/nodejs/arms/envServiceMonitor.ts +++ b/sdk/nodejs/arms/envServiceMonitor.ts @@ -123,6 +123,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Env Service Monitor can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/environment.ts b/sdk/nodejs/arms/environment.ts index 0ebe6a46d4..78ce988e57 100644 --- a/sdk/nodejs/arms/environment.ts +++ b/sdk/nodejs/arms/environment.ts @@ -95,6 +95,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Environment can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/grafanaWorkspace.ts b/sdk/nodejs/arms/grafanaWorkspace.ts index c43fa233fc..d7a07adc0a 100644 --- a/sdk/nodejs/arms/grafanaWorkspace.ts +++ b/sdk/nodejs/arms/grafanaWorkspace.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/integrationExporter.ts b/sdk/nodejs/arms/integrationExporter.ts index 9216f34f1b..16c0756c43 100644 --- a/sdk/nodejs/arms/integrationExporter.ts +++ b/sdk/nodejs/arms/integrationExporter.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/prometheus.ts b/sdk/nodejs/arms/prometheus.ts index 87a1d4ed3a..4a5569111e 100644 --- a/sdk/nodejs/arms/prometheus.ts +++ b/sdk/nodejs/arms/prometheus.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/prometheusAlertRule.ts b/sdk/nodejs/arms/prometheusAlertRule.ts index 7bc3d8cb54..4b5e33c3c2 100644 --- a/sdk/nodejs/arms/prometheusAlertRule.ts +++ b/sdk/nodejs/arms/prometheusAlertRule.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/prometheusMonitoring.ts b/sdk/nodejs/arms/prometheusMonitoring.ts index 3e2649452a..e63c282fc4 100644 --- a/sdk/nodejs/arms/prometheusMonitoring.ts +++ b/sdk/nodejs/arms/prometheusMonitoring.ts @@ -118,6 +118,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Prometheus Monitoring can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/remoteWrite.ts b/sdk/nodejs/arms/remoteWrite.ts index 3614b44a01..231957442e 100644 --- a/sdk/nodejs/arms/remoteWrite.ts +++ b/sdk/nodejs/arms/remoteWrite.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. diff --git a/sdk/nodejs/arms/syntheticTask.ts b/sdk/nodejs/arms/syntheticTask.ts index c9e4730f92..417153db32 100644 --- a/sdk/nodejs/arms/syntheticTask.ts +++ b/sdk/nodejs/arms/syntheticTask.ts @@ -196,6 +196,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ARMS Synthetic Task can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/host.ts b/sdk/nodejs/bastionhost/host.ts index 2fc9a94dc1..65f17f5f72 100644 --- a/sdk/nodejs/bastionhost/host.ts +++ b/sdk/nodejs/bastionhost/host.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostAccount.ts b/sdk/nodejs/bastionhost/hostAccount.ts index e03f05dbee..d683353bdc 100644 --- a/sdk/nodejs/bastionhost/hostAccount.ts +++ b/sdk/nodejs/bastionhost/hostAccount.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostAccountShareKeyAttachment.ts b/sdk/nodejs/bastionhost/hostAccountShareKeyAttachment.ts index 5fc24de782..532fdcaae5 100644 --- a/sdk/nodejs/bastionhost/hostAccountShareKeyAttachment.ts +++ b/sdk/nodejs/bastionhost/hostAccountShareKeyAttachment.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Account Share Key Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostAccountUserAttachment.ts b/sdk/nodejs/bastionhost/hostAccountUserAttachment.ts index 8bb93e0172..ac2341585a 100644 --- a/sdk/nodejs/bastionhost/hostAccountUserAttachment.ts +++ b/sdk/nodejs/bastionhost/hostAccountUserAttachment.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostAccountUserGroupAttachment.ts b/sdk/nodejs/bastionhost/hostAccountUserGroupAttachment.ts index 231313a173..4d202916bc 100644 --- a/sdk/nodejs/bastionhost/hostAccountUserGroupAttachment.ts +++ b/sdk/nodejs/bastionhost/hostAccountUserGroupAttachment.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostAttachment.ts b/sdk/nodejs/bastionhost/hostAttachment.ts index 272f17c187..6c34f3f9cd 100644 --- a/sdk/nodejs/bastionhost/hostAttachment.ts +++ b/sdk/nodejs/bastionhost/hostAttachment.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostGroup.ts b/sdk/nodejs/bastionhost/hostGroup.ts index 25cdb81b98..aa66128f1c 100644 --- a/sdk/nodejs/bastionhost/hostGroup.ts +++ b/sdk/nodejs/bastionhost/hostGroup.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Group can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostGroupAccountUserAttachment.ts b/sdk/nodejs/bastionhost/hostGroupAccountUserAttachment.ts index 3c595d9b19..3cc0bb2694 100644 --- a/sdk/nodejs/bastionhost/hostGroupAccountUserAttachment.ts +++ b/sdk/nodejs/bastionhost/hostGroupAccountUserAttachment.ts @@ -77,6 +77,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostGroupAccountUserGroupAttachment.ts b/sdk/nodejs/bastionhost/hostGroupAccountUserGroupAttachment.ts index 26bfb91f18..6fb9b9be7b 100644 --- a/sdk/nodejs/bastionhost/hostGroupAccountUserGroupAttachment.ts +++ b/sdk/nodejs/bastionhost/hostGroupAccountUserGroupAttachment.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/hostShareKey.ts b/sdk/nodejs/bastionhost/hostShareKey.ts index 8390b71bab..fe29a763f2 100644 --- a/sdk/nodejs/bastionhost/hostShareKey.ts +++ b/sdk/nodejs/bastionhost/hostShareKey.ts @@ -64,6 +64,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host Share Key can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/user.ts b/sdk/nodejs/bastionhost/user.ts index e2c3b68b4a..325ef978b6 100644 --- a/sdk/nodejs/bastionhost/user.ts +++ b/sdk/nodejs/bastionhost/user.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/userAttachment.ts b/sdk/nodejs/bastionhost/userAttachment.ts index 8c10e8b677..eb7bb33fcf 100644 --- a/sdk/nodejs/bastionhost/userAttachment.ts +++ b/sdk/nodejs/bastionhost/userAttachment.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/bastionhost/userGroup.ts b/sdk/nodejs/bastionhost/userGroup.ts index 3b78bd93e1..88ef37683c 100644 --- a/sdk/nodejs/bastionhost/userGroup.ts +++ b/sdk/nodejs/bastionhost/userGroup.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Bastion Host User Group can be imported using the id, e.g. diff --git a/sdk/nodejs/bp/studioApplication.ts b/sdk/nodejs/bp/studioApplication.ts index d63b4f7043..75931487fb 100644 --- a/sdk/nodejs/bp/studioApplication.ts +++ b/sdk/nodejs/bp/studioApplication.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Architect Design Tools Application can be imported using the id, e.g. diff --git a/sdk/nodejs/brain/industrialPidLoop.ts b/sdk/nodejs/brain/industrialPidLoop.ts index 14c78ea98a..4ff3a10d97 100644 --- a/sdk/nodejs/brain/industrialPidLoop.ts +++ b/sdk/nodejs/brain/industrialPidLoop.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Loop can be imported using the id, e.g. diff --git a/sdk/nodejs/brain/industrialPidOrganization.ts b/sdk/nodejs/brain/industrialPidOrganization.ts index e226eeb7ad..393a0735ac 100644 --- a/sdk/nodejs/brain/industrialPidOrganization.ts +++ b/sdk/nodejs/brain/industrialPidOrganization.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.brain.IndustrialPidOrganization("example", {pidOrganizationName: "tf-testAcc"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Organization can be imported using the id, e.g. diff --git a/sdk/nodejs/brain/industrialPidProject.ts b/sdk/nodejs/brain/industrialPidProject.ts index 252c36be2c..b4725a1f07 100644 --- a/sdk/nodejs/brain/industrialPidProject.ts +++ b/sdk/nodejs/brain/industrialPidProject.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Brain Industrial Pid Project can be imported using the id, e.g. diff --git a/sdk/nodejs/cas/certificate.ts b/sdk/nodejs/cas/certificate.ts index e3e3f50a8b..2d2ed79b42 100644 --- a/sdk/nodejs/cas/certificate.ts +++ b/sdk/nodejs/cas/certificate.ts @@ -88,6 +88,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * @deprecated This resource has been deprecated in favour of ServiceCertificate */ export class Certificate extends pulumi.CustomResource { diff --git a/sdk/nodejs/cas/serviceCertificate.ts b/sdk/nodejs/cas/serviceCertificate.ts index c49f6bec8f..1aa40bfd87 100644 --- a/sdk/nodejs/cas/serviceCertificate.ts +++ b/sdk/nodejs/cas/serviceCertificate.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL Certificates Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/cassandra/cluster.ts b/sdk/nodejs/cassandra/cluster.ts index 4d46eddc73..0539bc9ad5 100644 --- a/sdk/nodejs/cassandra/cluster.ts +++ b/sdk/nodejs/cassandra/cluster.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * * This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cassandra cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/cassandra/dataCenter.ts b/sdk/nodejs/cassandra/dataCenter.ts index e8a49e6397..ed76d0e8de 100644 --- a/sdk/nodejs/cassandra/dataCenter.ts +++ b/sdk/nodejs/cassandra/dataCenter.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * * This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * If you need full function, please import Cassandra cluster first. diff --git a/sdk/nodejs/cddc/dedicatedHostAccount.ts b/sdk/nodejs/cddc/dedicatedHostAccount.ts index a39f04d212..6db8ef18ab 100644 --- a/sdk/nodejs/cddc/dedicatedHostAccount.ts +++ b/sdk/nodejs/cddc/dedicatedHostAccount.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. diff --git a/sdk/nodejs/cddc/dedicatedHostGroup.ts b/sdk/nodejs/cddc/dedicatedHostGroup.ts index b4d5915e01..7997610357 100644 --- a/sdk/nodejs/cddc/dedicatedHostGroup.ts +++ b/sdk/nodejs/cddc/dedicatedHostGroup.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cdn/domainConfig.ts b/sdk/nodejs/cdn/domainConfig.ts index 21e57f76b4..3b1e6fe2b7 100644 --- a/sdk/nodejs/cdn/domainConfig.ts +++ b/sdk/nodejs/cdn/domainConfig.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN domain config can be imported using the id, e.g. diff --git a/sdk/nodejs/cdn/domainNew.ts b/sdk/nodejs/cdn/domainNew.ts index a0709df7cf..792ebef656 100644 --- a/sdk/nodejs/cdn/domainNew.ts +++ b/sdk/nodejs/cdn/domainNew.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/cdn/fcTrigger.ts b/sdk/nodejs/cdn/fcTrigger.ts index e3d11e1f11..a045be543d 100644 --- a/sdk/nodejs/cdn/fcTrigger.ts +++ b/sdk/nodejs/cdn/fcTrigger.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Fc Trigger can be imported using the id, e.g. diff --git a/sdk/nodejs/cdn/realTimeLogDelivery.ts b/sdk/nodejs/cdn/realTimeLogDelivery.ts index f74bf7ec0b..fd380b578f 100644 --- a/sdk/nodejs/cdn/realTimeLogDelivery.ts +++ b/sdk/nodejs/cdn/realTimeLogDelivery.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CDN Real Time Log Delivery can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/bandwidthLimit.ts b/sdk/nodejs/cen/bandwidthLimit.ts index fab31285f9..4f68017cad 100644 --- a/sdk/nodejs/cen/bandwidthLimit.ts +++ b/sdk/nodejs/cen/bandwidthLimit.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN bandwidth limit can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/bandwidthPackage.ts b/sdk/nodejs/cen/bandwidthPackage.ts index 117bf6d8ae..11e3e3c942 100644 --- a/sdk/nodejs/cen/bandwidthPackage.ts +++ b/sdk/nodejs/cen/bandwidthPackage.ts @@ -41,16 +41,20 @@ export class BandwidthPackage extends pulumi.CustomResource { return obj['__pulumiType'] === BandwidthPackage.__pulumiType; } + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + */ + declare public readonly autoRenew: pulumi.Output; /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. */ declare public readonly bandwidth: pulumi.Output; /** * The name of the bandwidth package. Defaults to null. - * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. */ declare public readonly cenBandwidthPackageName: pulumi.Output; /** @@ -114,6 +118,7 @@ export class BandwidthPackage extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as BandwidthPackageState | undefined; + resourceInputs["autoRenew"] = state?.autoRenew; resourceInputs["bandwidth"] = state?.bandwidth; resourceInputs["cenBandwidthPackageName"] = state?.cenBandwidthPackageName; resourceInputs["chargeType"] = state?.chargeType; @@ -131,6 +136,7 @@ export class BandwidthPackage extends pulumi.CustomResource { if (args?.bandwidth === undefined && !opts.urn) { throw new Error("Missing required property 'bandwidth'"); } + resourceInputs["autoRenew"] = args?.autoRenew; resourceInputs["bandwidth"] = args?.bandwidth; resourceInputs["cenBandwidthPackageName"] = args?.cenBandwidthPackageName; resourceInputs["chargeType"] = args?.chargeType; @@ -153,16 +159,20 @@ export class BandwidthPackage extends pulumi.CustomResource { * Input properties used for looking up and filtering BandwidthPackage resources. */ export interface BandwidthPackageState { + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + */ + autoRenew?: pulumi.Input; /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. */ bandwidth?: pulumi.Input; /** * The name of the bandwidth package. Defaults to null. - * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. */ cenBandwidthPackageName?: pulumi.Input; /** @@ -218,16 +228,20 @@ export interface BandwidthPackageState { * The set of arguments for constructing a BandwidthPackage resource. */ export interface BandwidthPackageArgs { + /** + * Whether to enable auto-renewal for the bandwidth package. Only applicable when `paymentType` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + * + * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + */ + autoRenew?: pulumi.Input; /** * The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. */ bandwidth: pulumi.Input; /** * The name of the bandwidth package. Defaults to null. - * - * ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - * - * ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. */ cenBandwidthPackageName?: pulumi.Input; /** diff --git a/sdk/nodejs/cen/bandwidthPackageAttachment.ts b/sdk/nodejs/cen/bandwidthPackageAttachment.ts index d2db181747..e18b67bf58 100644 --- a/sdk/nodejs/cen/bandwidthPackageAttachment.ts +++ b/sdk/nodejs/cen/bandwidthPackageAttachment.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN bandwidth package attachment resource can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/childInstanceRouteEntryToAttachment.ts b/sdk/nodejs/cen/childInstanceRouteEntryToAttachment.ts index 7551bbf6c9..8e43a25bfd 100644 --- a/sdk/nodejs/cen/childInstanceRouteEntryToAttachment.ts +++ b/sdk/nodejs/cen/childInstanceRouteEntryToAttachment.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/flowLog.ts b/sdk/nodejs/cen/flowLog.ts index 7919c14299..c52b7273b1 100644 --- a/sdk/nodejs/cen/flowLog.ts +++ b/sdk/nodejs/cen/flowLog.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Flow Log can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/instance.ts b/sdk/nodejs/cen/instance.ts index 92f5decf6c..550c1c551c 100644 --- a/sdk/nodejs/cen/instance.ts +++ b/sdk/nodejs/cen/instance.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/instanceAttachment.ts b/sdk/nodejs/cen/instanceAttachment.ts index 57e59b2f2c..670044c94c 100644 --- a/sdk/nodejs/cen/instanceAttachment.ts +++ b/sdk/nodejs/cen/instanceAttachment.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/instanceGrant.ts b/sdk/nodejs/cen/instanceGrant.ts index c2d1b0c44e..1780fac1e7 100644 --- a/sdk/nodejs/cen/instanceGrant.ts +++ b/sdk/nodejs/cen/instanceGrant.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/interRegionTrafficQosPolicy.ts b/sdk/nodejs/cen/interRegionTrafficQosPolicy.ts index 6dd2427d7e..64f8c9ba37 100644 --- a/sdk/nodejs/cen/interRegionTrafficQosPolicy.ts +++ b/sdk/nodejs/cen/interRegionTrafficQosPolicy.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/interRegionTrafficQosQueue.ts b/sdk/nodejs/cen/interRegionTrafficQosQueue.ts index cb14ca0fb2..247d70c25f 100644 --- a/sdk/nodejs/cen/interRegionTrafficQosQueue.ts +++ b/sdk/nodejs/cen/interRegionTrafficQosQueue.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/privateZone.ts b/sdk/nodejs/cen/privateZone.ts index 8fe35eb26e..7ed0efddd3 100644 --- a/sdk/nodejs/cen/privateZone.ts +++ b/sdk/nodejs/cen/privateZone.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/routeEntry.ts b/sdk/nodejs/cen/routeEntry.ts index d4d1d0a2e5..b62793a659 100644 --- a/sdk/nodejs/cen/routeEntry.ts +++ b/sdk/nodejs/cen/routeEntry.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/routeMap.ts b/sdk/nodejs/cen/routeMap.ts index 152f6e1815..d6d4257434 100644 --- a/sdk/nodejs/cen/routeMap.ts +++ b/sdk/nodejs/cen/routeMap.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN RouteMap can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/routeService.ts b/sdk/nodejs/cen/routeService.ts index c983ac1395..91cb9f7457 100644 --- a/sdk/nodejs/cen/routeService.ts +++ b/sdk/nodejs/cen/routeService.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Route Service can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/trafficMarkingPolicy.ts b/sdk/nodejs/cen/trafficMarkingPolicy.ts index 8a92b43daf..60e2ca52dd 100644 --- a/sdk/nodejs/cen/trafficMarkingPolicy.ts +++ b/sdk/nodejs/cen/trafficMarkingPolicy.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouteTableAggregation.ts b/sdk/nodejs/cen/transitRouteTableAggregation.ts index 40185a62fd..bdf948712a 100644 --- a/sdk/nodejs/cen/transitRouteTableAggregation.ts +++ b/sdk/nodejs/cen/transitRouteTableAggregation.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouter.ts b/sdk/nodejs/cen/transitRouter.ts index 1a785de664..d9fa1296d0 100644 --- a/sdk/nodejs/cen/transitRouter.ts +++ b/sdk/nodejs/cen/transitRouter.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterCidr.ts b/sdk/nodejs/cen/transitRouterCidr.ts index 6c365ca05c..270f59f188 100644 --- a/sdk/nodejs/cen/transitRouterCidr.ts +++ b/sdk/nodejs/cen/transitRouterCidr.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterEcrAttachment.ts b/sdk/nodejs/cen/transitRouterEcrAttachment.ts index 0091a670ad..37a0428515 100644 --- a/sdk/nodejs/cen/transitRouterEcrAttachment.ts +++ b/sdk/nodejs/cen/transitRouterEcrAttachment.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN Transit Router Ecr Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterGrantAttachment.ts b/sdk/nodejs/cen/transitRouterGrantAttachment.ts index 77aae6ffc3..9bee57633f 100644 --- a/sdk/nodejs/cen/transitRouterGrantAttachment.ts +++ b/sdk/nodejs/cen/transitRouterGrantAttachment.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterMulticastDomain.ts b/sdk/nodejs/cen/transitRouterMulticastDomain.ts index ebd451bf84..f13ebddc6c 100644 --- a/sdk/nodejs/cen/transitRouterMulticastDomain.ts +++ b/sdk/nodejs/cen/transitRouterMulticastDomain.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterMulticastDomainAssociation.ts b/sdk/nodejs/cen/transitRouterMulticastDomainAssociation.ts index 09fc3504e6..9f6a18b974 100644 --- a/sdk/nodejs/cen/transitRouterMulticastDomainAssociation.ts +++ b/sdk/nodejs/cen/transitRouterMulticastDomainAssociation.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterMulticastDomainMember.ts b/sdk/nodejs/cen/transitRouterMulticastDomainMember.ts index 247ce3d889..6c488e4b52 100644 --- a/sdk/nodejs/cen/transitRouterMulticastDomainMember.ts +++ b/sdk/nodejs/cen/transitRouterMulticastDomainMember.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Member can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterMulticastDomainPeerMember.ts b/sdk/nodejs/cen/transitRouterMulticastDomainPeerMember.ts index a3768cf7db..a89299f187 100644 --- a/sdk/nodejs/cen/transitRouterMulticastDomainPeerMember.ts +++ b/sdk/nodejs/cen/transitRouterMulticastDomainPeerMember.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterMulticastDomainSource.ts b/sdk/nodejs/cen/transitRouterMulticastDomainSource.ts index 315f7b72d1..e7b0f9f32b 100644 --- a/sdk/nodejs/cen/transitRouterMulticastDomainSource.ts +++ b/sdk/nodejs/cen/transitRouterMulticastDomainSource.ts @@ -104,6 +104,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Multicast Domain Source can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterPeerAttachment.ts b/sdk/nodejs/cen/transitRouterPeerAttachment.ts index 50b71d9569..22c1df70d0 100644 --- a/sdk/nodejs/cen/transitRouterPeerAttachment.ts +++ b/sdk/nodejs/cen/transitRouterPeerAttachment.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterPrefixListAssociation.ts b/sdk/nodejs/cen/transitRouterPrefixListAssociation.ts index d3e55ce3ff..8bdadb1462 100644 --- a/sdk/nodejs/cen/transitRouterPrefixListAssociation.ts +++ b/sdk/nodejs/cen/transitRouterPrefixListAssociation.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterRouteEntry.ts b/sdk/nodejs/cen/transitRouterRouteEntry.ts index fb80178366..0ae3dd06c0 100644 --- a/sdk/nodejs/cen/transitRouterRouteEntry.ts +++ b/sdk/nodejs/cen/transitRouterRouteEntry.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterRouteTable.ts b/sdk/nodejs/cen/transitRouterRouteTable.ts index 214e91f590..8b2dd4c006 100644 --- a/sdk/nodejs/cen/transitRouterRouteTable.ts +++ b/sdk/nodejs/cen/transitRouterRouteTable.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * const exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable("example", {transitRouterId: exampleTransitRouter.transitRouterId}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN transit router route table can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterRouteTableAssociation.ts b/sdk/nodejs/cen/transitRouterRouteTableAssociation.ts index 09c0b4c010..7a7039f5c7 100644 --- a/sdk/nodejs/cen/transitRouterRouteTableAssociation.ts +++ b/sdk/nodejs/cen/transitRouterRouteTableAssociation.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterRouteTablePropagation.ts b/sdk/nodejs/cen/transitRouterRouteTablePropagation.ts index 4559af674c..2bacec02a3 100644 --- a/sdk/nodejs/cen/transitRouterRouteTablePropagation.ts +++ b/sdk/nodejs/cen/transitRouterRouteTablePropagation.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN transit router route table propagation can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterVbrAttachment.ts b/sdk/nodejs/cen/transitRouterVbrAttachment.ts index 0143619fe4..e3c82055c2 100644 --- a/sdk/nodejs/cen/transitRouterVbrAttachment.ts +++ b/sdk/nodejs/cen/transitRouterVbrAttachment.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterVpcAttachment.ts b/sdk/nodejs/cen/transitRouterVpcAttachment.ts index f121347c7d..866db90eb5 100644 --- a/sdk/nodejs/cen/transitRouterVpcAttachment.ts +++ b/sdk/nodejs/cen/transitRouterVpcAttachment.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cen Transit Router Vpc Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/transitRouterVpnAttachment.ts b/sdk/nodejs/cen/transitRouterVpnAttachment.ts index 92d4ff9dbb..2f71480e5c 100644 --- a/sdk/nodejs/cen/transitRouterVpnAttachment.ts +++ b/sdk/nodejs/cen/transitRouterVpnAttachment.ts @@ -188,6 +188,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cen/vbrHealthCheck.ts b/sdk/nodejs/cen/vbrHealthCheck.ts index 3f70989b72..3a827e127d 100644 --- a/sdk/nodejs/cen/vbrHealthCheck.ts +++ b/sdk/nodejs/cen/vbrHealthCheck.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CEN VBR HealthCheck can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/aggregateCompliancePack.ts b/sdk/nodejs/cfg/aggregateCompliancePack.ts index 1ed22b7116..a4c310c991 100644 --- a/sdk/nodejs/cfg/aggregateCompliancePack.ts +++ b/sdk/nodejs/cfg/aggregateCompliancePack.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/aggregateConfigRule.ts b/sdk/nodejs/cfg/aggregateConfigRule.ts index f6a85c4362..23e0586845 100644 --- a/sdk/nodejs/cfg/aggregateConfigRule.ts +++ b/sdk/nodejs/cfg/aggregateConfigRule.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Aggregate Config Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/aggregateDelivery.ts b/sdk/nodejs/cfg/aggregateDelivery.ts index 1178e23662..373d10e925 100644 --- a/sdk/nodejs/cfg/aggregateDelivery.ts +++ b/sdk/nodejs/cfg/aggregateDelivery.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Aggregate Delivery can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/aggregator.ts b/sdk/nodejs/cfg/aggregator.ts index 7e531d5273..7b9d51b123 100644 --- a/sdk/nodejs/cfg/aggregator.ts +++ b/sdk/nodejs/cfg/aggregator.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config (Config) Aggregator can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/compliancePack.ts b/sdk/nodejs/cfg/compliancePack.ts index 049f0b827c..573a679740 100644 --- a/sdk/nodejs/cfg/compliancePack.ts +++ b/sdk/nodejs/cfg/compliancePack.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Config Compliance Pack can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/configurationRecorder.ts b/sdk/nodejs/cfg/configurationRecorder.ts index 706f826adf..4486addcde 100644 --- a/sdk/nodejs/cfg/configurationRecorder.ts +++ b/sdk/nodejs/cfg/configurationRecorder.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * ]}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alicloud Config Configuration Recorder can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/delivery.ts b/sdk/nodejs/cfg/delivery.ts index 50dabf7d35..2c6ca37326 100644 --- a/sdk/nodejs/cfg/delivery.ts +++ b/sdk/nodejs/cfg/delivery.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Delivery can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/deliveryChannel.ts b/sdk/nodejs/cfg/deliveryChannel.ts index 61681ed5cc..3b77583de7 100644 --- a/sdk/nodejs/cfg/deliveryChannel.ts +++ b/sdk/nodejs/cfg/deliveryChannel.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alicloud Config Delivery Channel can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/remediation.ts b/sdk/nodejs/cfg/remediation.ts index 35f97906b5..600eef9495 100644 --- a/sdk/nodejs/cfg/remediation.ts +++ b/sdk/nodejs/cfg/remediation.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Remediation can be imported using the id, e.g. diff --git a/sdk/nodejs/cfg/rule.ts b/sdk/nodejs/cfg/rule.ts index 29d4a21cd3..4acb5de1dd 100644 --- a/sdk/nodejs/cfg/rule.ts +++ b/sdk/nodejs/cfg/rule.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Config Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/chatbot/publishTask.ts b/sdk/nodejs/chatbot/publishTask.ts index 5823ae1ab3..48e79dc38a 100644 --- a/sdk/nodejs/chatbot/publishTask.ts +++ b/sdk/nodejs/chatbot/publishTask.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Chatbot Publish Task can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouse/account.ts b/sdk/nodejs/clickhouse/account.ts index fc57717750..d41de65f50 100644 --- a/sdk/nodejs/clickhouse/account.ts +++ b/sdk/nodejs/clickhouse/account.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Account can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouse/backupPolicy.ts b/sdk/nodejs/clickhouse/backupPolicy.ts index 14f832a317..9023a16597 100644 --- a/sdk/nodejs/clickhouse/backupPolicy.ts +++ b/sdk/nodejs/clickhouse/backupPolicy.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Backup Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouse/dbCluster.ts b/sdk/nodejs/clickhouse/dbCluster.ts index ff33cf55ae..746b19299e 100644 --- a/sdk/nodejs/clickhouse/dbCluster.ts +++ b/sdk/nodejs/clickhouse/dbCluster.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House DBCluster can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouseenterprisedbcluster/account.ts b/sdk/nodejs/clickhouseenterprisedbcluster/account.ts index 26bb4d51ba..84bd6dd032 100644 --- a/sdk/nodejs/clickhouseenterprisedbcluster/account.ts +++ b/sdk/nodejs/clickhouseenterprisedbcluster/account.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Account can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouseenterprisedbcluster/backupPolicy.ts b/sdk/nodejs/clickhouseenterprisedbcluster/backupPolicy.ts index 61f8842cc2..8cfe1817bf 100644 --- a/sdk/nodejs/clickhouseenterprisedbcluster/backupPolicy.ts +++ b/sdk/nodejs/clickhouseenterprisedbcluster/backupPolicy.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.ts b/sdk/nodejs/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.ts index cc6ba97195..44748dcb90 100644 --- a/sdk/nodejs/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.ts +++ b/sdk/nodejs/clickhouseenterprisedbcluster/clickHouseEnterpriseDbCluster.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise D B Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouseenterprisedbcluster/publicEndpoint.ts b/sdk/nodejs/clickhouseenterprisedbcluster/publicEndpoint.ts index 4616e2d6e1..8860119f2e 100644 --- a/sdk/nodejs/clickhouseenterprisedbcluster/publicEndpoint.ts +++ b/sdk/nodejs/clickhouseenterprisedbcluster/publicEndpoint.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/clickhouseenterprisedbcluster/securityIp.ts b/sdk/nodejs/clickhouseenterprisedbcluster/securityIp.ts index 87fc149bb2..fdaa728f0a 100644 --- a/sdk/nodejs/clickhouseenterprisedbcluster/securityIp.ts +++ b/sdk/nodejs/clickhouseenterprisedbcluster/securityIp.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudauth/faceConfig.ts b/sdk/nodejs/cloudauth/faceConfig.ts index 747db8ee12..206a8dbc55 100644 --- a/sdk/nodejs/cloudauth/faceConfig.ts +++ b/sdk/nodejs/cloudauth/faceConfig.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloudauth Face Config can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudconnect/network.ts b/sdk/nodejs/cloudconnect/network.ts index a3da4ea092..919048b1fb 100644 --- a/sdk/nodejs/cloudconnect/network.ts +++ b/sdk/nodejs/cloudconnect/network.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The cloud connect network instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudconnect/networkAttachment.ts b/sdk/nodejs/cloudconnect/networkAttachment.ts index cfe796ff4b..5df9033b3a 100644 --- a/sdk/nodejs/cloudconnect/networkAttachment.ts +++ b/sdk/nodejs/cloudconnect/networkAttachment.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Cloud Connect Network Attachment can be imported using the instance_id, e.g. diff --git a/sdk/nodejs/cloudconnect/networkGrant.ts b/sdk/nodejs/cloudconnect/networkGrant.ts index 3c3bf7ed46..18695be875 100644 --- a/sdk/nodejs/cloudconnect/networkGrant.ts +++ b/sdk/nodejs/cloudconnect/networkGrant.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Cloud Connect Network Grant can be imported using the instance_id, e.g. diff --git a/sdk/nodejs/cloudcontrol/resource.ts b/sdk/nodejs/cloudcontrol/resource.ts index 21b01bd687..2b487a7d3a 100644 --- a/sdk/nodejs/cloudcontrol/resource.ts +++ b/sdk/nodejs/cloudcontrol/resource.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Control Resource can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/addressBook.ts b/sdk/nodejs/cloudfirewall/addressBook.ts index 72ee1ca944..5e05c18054 100644 --- a/sdk/nodejs/cloudfirewall/addressBook.ts +++ b/sdk/nodejs/cloudfirewall/addressBook.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Address Book can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/controlPolicy.ts b/sdk/nodejs/cloudfirewall/controlPolicy.ts index c94c43b56b..005fae94cf 100644 --- a/sdk/nodejs/cloudfirewall/controlPolicy.ts +++ b/sdk/nodejs/cloudfirewall/controlPolicy.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/controlPolicyOrder.ts b/sdk/nodejs/cloudfirewall/controlPolicyOrder.ts index c50ce00e9d..ebcbf0a3d1 100644 --- a/sdk/nodejs/cloudfirewall/controlPolicyOrder.ts +++ b/sdk/nodejs/cloudfirewall/controlPolicyOrder.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Control Policy Order can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/firewallVpcFirewall.ts b/sdk/nodejs/cloudfirewall/firewallVpcFirewall.ts index 8ceb67720d..f73d24da2a 100644 --- a/sdk/nodejs/cloudfirewall/firewallVpcFirewall.ts +++ b/sdk/nodejs/cloudfirewall/firewallVpcFirewall.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/firewallVpcFirewallCen.ts b/sdk/nodejs/cloudfirewall/firewallVpcFirewallCen.ts index 2433c817ea..9881e1cc88 100644 --- a/sdk/nodejs/cloudfirewall/firewallVpcFirewallCen.ts +++ b/sdk/nodejs/cloudfirewall/firewallVpcFirewallCen.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/firewallVpcFirewallControlPolicy.ts b/sdk/nodejs/cloudfirewall/firewallVpcFirewallControlPolicy.ts index 63a20f5bff..49703dd731 100644 --- a/sdk/nodejs/cloudfirewall/firewallVpcFirewallControlPolicy.ts +++ b/sdk/nodejs/cloudfirewall/firewallVpcFirewallControlPolicy.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Provides a Cloud Firewall Vpc Firewall Control Policy resource. * + * VPC Control Policy. + * * For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). * * > **NOTE:** Available since v1.194.0. @@ -43,12 +45,14 @@ import * as utilities from "../utilities"; * source: "127.0.0.1/32", * destPortType: "port", * proto: "TCP", - * release: true, + * release: "true", * memberUid: _default.then(_default => _default.id), * vpcFirewallId: defaultInstance.id, * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -100,7 +104,16 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { /** * The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. */ - declare public readonly applicationName: pulumi.Output; + declare public readonly applicationName: pulumi.Output; + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + */ + declare public readonly applicationNameLists: pulumi.Output; + /** + * (Available since v1.267.0) The time when the policy was created. + */ + declare public /*out*/ readonly createTime: pulumi.Output; /** * Access control over VPC firewalls description of the strategy information. */ @@ -140,6 +153,14 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { * The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. */ declare public readonly destinationType: pulumi.Output; + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + */ + declare public readonly domainResolveType: pulumi.Output; + /** + * The end time of the policy validity period. + */ + declare public readonly endTime: pulumi.Output; /** * Control strategy of hits per second. */ @@ -163,7 +184,25 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { /** * The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: */ - declare public readonly release: pulumi.Output; + declare public readonly release: pulumi.Output; + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + */ + declare public readonly repeatDays: pulumi.Output; + /** + * The recurring end time of the policy validity period. + */ + declare public readonly repeatEndTime: pulumi.Output; + /** + * The recurring start time of the policy validity period. + */ + declare public readonly repeatStartTime: pulumi.Output; + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + */ + declare public readonly repeatType: pulumi.Output; /** * Access control over VPC firewalls strategy in the source address. */ @@ -180,6 +219,10 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { * The type of the source address in the access control policy. Valid values: `net`, `group`. */ declare public readonly sourceType: pulumi.Output; + /** + * The start time of the policy validity period. + */ + declare public readonly startTime: pulumi.Output; /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -204,6 +247,8 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { resourceInputs["aclUuid"] = state?.aclUuid; resourceInputs["applicationId"] = state?.applicationId; resourceInputs["applicationName"] = state?.applicationName; + resourceInputs["applicationNameLists"] = state?.applicationNameLists; + resourceInputs["createTime"] = state?.createTime; resourceInputs["description"] = state?.description; resourceInputs["destPort"] = state?.destPort; resourceInputs["destPortGroup"] = state?.destPortGroup; @@ -213,25 +258,29 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { resourceInputs["destinationGroupCidrs"] = state?.destinationGroupCidrs; resourceInputs["destinationGroupType"] = state?.destinationGroupType; resourceInputs["destinationType"] = state?.destinationType; + resourceInputs["domainResolveType"] = state?.domainResolveType; + resourceInputs["endTime"] = state?.endTime; resourceInputs["hitTimes"] = state?.hitTimes; resourceInputs["lang"] = state?.lang; resourceInputs["memberUid"] = state?.memberUid; resourceInputs["order"] = state?.order; resourceInputs["proto"] = state?.proto; resourceInputs["release"] = state?.release; + resourceInputs["repeatDays"] = state?.repeatDays; + resourceInputs["repeatEndTime"] = state?.repeatEndTime; + resourceInputs["repeatStartTime"] = state?.repeatStartTime; + resourceInputs["repeatType"] = state?.repeatType; resourceInputs["source"] = state?.source; resourceInputs["sourceGroupCidrs"] = state?.sourceGroupCidrs; resourceInputs["sourceGroupType"] = state?.sourceGroupType; resourceInputs["sourceType"] = state?.sourceType; + resourceInputs["startTime"] = state?.startTime; resourceInputs["vpcFirewallId"] = state?.vpcFirewallId; } else { const args = argsOrState as FirewallVpcFirewallControlPolicyArgs | undefined; if (args?.aclAction === undefined && !opts.urn) { throw new Error("Missing required property 'aclAction'"); } - if (args?.applicationName === undefined && !opts.urn) { - throw new Error("Missing required property 'applicationName'"); - } if (args?.description === undefined && !opts.urn) { throw new Error("Missing required property 'description'"); } @@ -258,22 +307,31 @@ export class FirewallVpcFirewallControlPolicy extends pulumi.CustomResource { } resourceInputs["aclAction"] = args?.aclAction; resourceInputs["applicationName"] = args?.applicationName; + resourceInputs["applicationNameLists"] = args?.applicationNameLists; resourceInputs["description"] = args?.description; resourceInputs["destPort"] = args?.destPort; resourceInputs["destPortGroup"] = args?.destPortGroup; resourceInputs["destPortType"] = args?.destPortType; resourceInputs["destination"] = args?.destination; resourceInputs["destinationType"] = args?.destinationType; + resourceInputs["domainResolveType"] = args?.domainResolveType; + resourceInputs["endTime"] = args?.endTime; resourceInputs["lang"] = args?.lang; resourceInputs["memberUid"] = args?.memberUid; resourceInputs["order"] = args?.order; resourceInputs["proto"] = args?.proto; resourceInputs["release"] = args?.release; + resourceInputs["repeatDays"] = args?.repeatDays; + resourceInputs["repeatEndTime"] = args?.repeatEndTime; + resourceInputs["repeatStartTime"] = args?.repeatStartTime; + resourceInputs["repeatType"] = args?.repeatType; resourceInputs["source"] = args?.source; resourceInputs["sourceType"] = args?.sourceType; + resourceInputs["startTime"] = args?.startTime; resourceInputs["vpcFirewallId"] = args?.vpcFirewallId; resourceInputs["aclUuid"] = undefined /*out*/; resourceInputs["applicationId"] = undefined /*out*/; + resourceInputs["createTime"] = undefined /*out*/; resourceInputs["destPortGroupPorts"] = undefined /*out*/; resourceInputs["destinationGroupCidrs"] = undefined /*out*/; resourceInputs["destinationGroupType"] = undefined /*out*/; @@ -306,6 +364,15 @@ export interface FirewallVpcFirewallControlPolicyState { * The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. */ applicationName?: pulumi.Input; + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + */ + applicationNameLists?: pulumi.Input[]>; + /** + * (Available since v1.267.0) The time when the policy was created. + */ + createTime?: pulumi.Input; /** * Access control over VPC firewalls description of the strategy information. */ @@ -345,6 +412,14 @@ export interface FirewallVpcFirewallControlPolicyState { * The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. */ destinationType?: pulumi.Input; + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + */ + domainResolveType?: pulumi.Input; + /** + * The end time of the policy validity period. + */ + endTime?: pulumi.Input; /** * Control strategy of hits per second. */ @@ -368,7 +443,25 @@ export interface FirewallVpcFirewallControlPolicyState { /** * The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: */ - release?: pulumi.Input; + release?: pulumi.Input; + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + */ + repeatDays?: pulumi.Input[]>; + /** + * The recurring end time of the policy validity period. + */ + repeatEndTime?: pulumi.Input; + /** + * The recurring start time of the policy validity period. + */ + repeatStartTime?: pulumi.Input; + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + */ + repeatType?: pulumi.Input; /** * Access control over VPC firewalls strategy in the source address. */ @@ -385,6 +478,10 @@ export interface FirewallVpcFirewallControlPolicyState { * The type of the source address in the access control policy. Valid values: `net`, `group`. */ sourceType?: pulumi.Input; + /** + * The start time of the policy validity period. + */ + startTime?: pulumi.Input; /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. @@ -404,7 +501,12 @@ export interface FirewallVpcFirewallControlPolicyArgs { /** * The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. */ - applicationName: pulumi.Input; + applicationName?: pulumi.Input; + /** + * The list of application types that the access control policy supports. + * > **NOTE:** If `proto` is set to `TCP`, you can set `applicationNameList` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `applicationNameList` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `applicationNameList` and `applicationName`. If you specify both `applicationNameList` and `applicationName`, only the `applicationNameList` takes effect. + */ + applicationNameLists?: pulumi.Input[]>; /** * Access control over VPC firewalls description of the strategy information. */ @@ -432,6 +534,14 @@ export interface FirewallVpcFirewallControlPolicyArgs { * The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. */ destinationType: pulumi.Input; + /** + * The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + */ + domainResolveType?: pulumi.Input; + /** + * The end time of the policy validity period. + */ + endTime?: pulumi.Input; /** * The language of the content within the request and response. Valid values: `zh`, `en`. */ @@ -451,7 +561,25 @@ export interface FirewallVpcFirewallControlPolicyArgs { /** * The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: */ - release?: pulumi.Input; + release?: pulumi.Input; + /** + * The days of the week or month on which the policy is recurrently active. Valid values: + * - If `repeatType` is set to `Weekly`. Valid values: `0` to `6`. + * - If `repeatType` is set to `Monthly`. Valid values: `1` to `31`. + */ + repeatDays?: pulumi.Input[]>; + /** + * The recurring end time of the policy validity period. + */ + repeatEndTime?: pulumi.Input; + /** + * The recurring start time of the policy validity period. + */ + repeatStartTime?: pulumi.Input; + /** + * The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + */ + repeatType?: pulumi.Input; /** * Access control over VPC firewalls strategy in the source address. */ @@ -460,6 +588,10 @@ export interface FirewallVpcFirewallControlPolicyArgs { * The type of the source address in the access control policy. Valid values: `net`, `group`. */ sourceType: pulumi.Input; + /** + * The start time of the policy validity period. + */ + startTime?: pulumi.Input; /** * The ID of the VPC firewall instance. Valid values: * - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. diff --git a/sdk/nodejs/cloudfirewall/instance.ts b/sdk/nodejs/cloudfirewall/instance.ts index 511ef4c26e..d4cfc20c21 100644 --- a/sdk/nodejs/cloudfirewall/instance.ts +++ b/sdk/nodejs/cloudfirewall/instance.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/instanceMember.ts b/sdk/nodejs/cloudfirewall/instanceMember.ts index 226f259307..86a7a99ece 100644 --- a/sdk/nodejs/cloudfirewall/instanceMember.ts +++ b/sdk/nodejs/cloudfirewall/instanceMember.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Instance Member can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/natFirewall.ts b/sdk/nodejs/cloudfirewall/natFirewall.ts index e68a4c45a6..0e5a47ae0e 100644 --- a/sdk/nodejs/cloudfirewall/natFirewall.ts +++ b/sdk/nodejs/cloudfirewall/natFirewall.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Nat Firewall can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/natFirewallControlPolicy.ts b/sdk/nodejs/cloudfirewall/natFirewallControlPolicy.ts index 8276e80aad..cafa0d7df5 100644 --- a/sdk/nodejs/cloudfirewall/natFirewallControlPolicy.ts +++ b/sdk/nodejs/cloudfirewall/natFirewallControlPolicy.ts @@ -147,6 +147,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/privateDns.ts b/sdk/nodejs/cloudfirewall/privateDns.ts index 9bf7204b64..a917518c7d 100644 --- a/sdk/nodejs/cloudfirewall/privateDns.ts +++ b/sdk/nodejs/cloudfirewall/privateDns.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Private Dns can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudfirewall/vpcCenTrFirewall.ts b/sdk/nodejs/cloudfirewall/vpcCenTrFirewall.ts index 06905d9b20..257efd7c8d 100644 --- a/sdk/nodejs/cloudfirewall/vpcCenTrFirewall.ts +++ b/sdk/nodejs/cloudfirewall/vpcCenTrFirewall.ts @@ -105,6 +105,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudmonitor/serviceBasicPublic.ts b/sdk/nodejs/cloudmonitor/serviceBasicPublic.ts index 688d4b4973..c60df503ae 100644 --- a/sdk/nodejs/cloudmonitor/serviceBasicPublic.ts +++ b/sdk/nodejs/cloudmonitor/serviceBasicPublic.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.cloudmonitor.ServiceBasicPublic("default", {}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Basic Public can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudmonitor/serviceEnterprisePublic.ts b/sdk/nodejs/cloudmonitor/serviceEnterprisePublic.ts index 2ffaf9f617..4675d16716 100644 --- a/sdk/nodejs/cloudmonitor/serviceEnterprisePublic.ts +++ b/sdk/nodejs/cloudmonitor/serviceEnterprisePublic.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.cloudmonitor.ServiceEnterprisePublic("default", {}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Enterprise Public can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudmonitor/serviceGroupMonitoringAgentProcess.ts b/sdk/nodejs/cloudmonitor/serviceGroupMonitoringAgentProcess.ts index 0b744c8997..c2d8cc7c3c 100644 --- a/sdk/nodejs/cloudmonitor/serviceGroupMonitoringAgentProcess.ts +++ b/sdk/nodejs/cloudmonitor/serviceGroupMonitoringAgentProcess.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudmonitor/serviceHybridDoubleWrite.ts b/sdk/nodejs/cloudmonitor/serviceHybridDoubleWrite.ts index 068cb6da58..c2cfb91fff 100644 --- a/sdk/nodejs/cloudmonitor/serviceHybridDoubleWrite.ts +++ b/sdk/nodejs/cloudmonitor/serviceHybridDoubleWrite.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudmonitor/serviceMonitoringAgentProcess.ts b/sdk/nodejs/cloudmonitor/serviceMonitoringAgentProcess.ts index 5bb690903c..8a44522f47 100644 --- a/sdk/nodejs/cloudmonitor/serviceMonitoringAgentProcess.ts +++ b/sdk/nodejs/cloudmonitor/serviceMonitoringAgentProcess.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudphone/image.ts b/sdk/nodejs/cloudphone/image.ts index 10efbda72f..79318aa058 100644 --- a/sdk/nodejs/cloudphone/image.ts +++ b/sdk/nodejs/cloudphone/image.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Image can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudphone/keyPair.ts b/sdk/nodejs/cloudphone/keyPair.ts index 89271a30bc..99b20ab15d 100644 --- a/sdk/nodejs/cloudphone/keyPair.ts +++ b/sdk/nodejs/cloudphone/keyPair.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Key Pair can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudphone/policy.ts b/sdk/nodejs/cloudphone/policy.ts index 211c2d445a..83033133b0 100644 --- a/sdk/nodejs/cloudphone/policy.ts +++ b/sdk/nodejs/cloudphone/policy.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudphoneinstance/group.ts b/sdk/nodejs/cloudphoneinstance/group.ts index 4af6cd48e4..194b60e4c0 100644 --- a/sdk/nodejs/cloudphoneinstance/group.ts +++ b/sdk/nodejs/cloudphoneinstance/group.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Phone Instance Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/accessConfiguration.ts b/sdk/nodejs/cloudsso/accessConfiguration.ts index 30bddb2111..927078ec2b 100644 --- a/sdk/nodejs/cloudsso/accessConfiguration.ts +++ b/sdk/nodejs/cloudsso/accessConfiguration.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Configuration can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/accessConfigurationProvisioning.ts b/sdk/nodejs/cloudsso/accessConfigurationProvisioning.ts index 4dfdeb82b2..ba264afa61 100644 --- a/sdk/nodejs/cloudsso/accessConfigurationProvisioning.ts +++ b/sdk/nodejs/cloudsso/accessConfigurationProvisioning.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/accessManagement.ts b/sdk/nodejs/cloudsso/accessManagement.ts index aa24c929c3..1e68b49987 100644 --- a/sdk/nodejs/cloudsso/accessManagement.ts +++ b/sdk/nodejs/cloudsso/accessManagement.ts @@ -64,6 +64,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Access Assignment can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/delegateAccount.ts b/sdk/nodejs/cloudsso/delegateAccount.ts index 2252de05f5..091e59cc40 100644 --- a/sdk/nodejs/cloudsso/delegateAccount.ts +++ b/sdk/nodejs/cloudsso/delegateAccount.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * const defaultDelegateAccount = new alicloud.cloudsso.DelegateAccount("default", {accountId: defaultDelegatedAdministrator.accountId}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Delegate Account can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/directory.ts b/sdk/nodejs/cloudsso/directory.ts index 4b5afb4067..7deb9816e7 100644 --- a/sdk/nodejs/cloudsso/directory.ts +++ b/sdk/nodejs/cloudsso/directory.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.cloudsso.Directory("default", {directoryName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Directory can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/group.ts b/sdk/nodejs/cloudsso/group.ts index 110661bc23..b6fd92aa40 100644 --- a/sdk/nodejs/cloudsso/group.ts +++ b/sdk/nodejs/cloudsso/group.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/scimServerCredential.ts b/sdk/nodejs/cloudsso/scimServerCredential.ts index 86eb7a8604..897ddeb3df 100644 --- a/sdk/nodejs/cloudsso/scimServerCredential.ts +++ b/sdk/nodejs/cloudsso/scimServerCredential.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO SCIM Server Credential can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/user.ts b/sdk/nodejs/cloudsso/user.ts index d027a8a23a..a93cf44ef2 100644 --- a/sdk/nodejs/cloudsso/user.ts +++ b/sdk/nodejs/cloudsso/user.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Sso User can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/userAttachment.ts b/sdk/nodejs/cloudsso/userAttachment.ts index 08eb15d47d..cd460c7355 100644 --- a/sdk/nodejs/cloudsso/userAttachment.ts +++ b/sdk/nodejs/cloudsso/userAttachment.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO User Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudsso/userProvisioning.ts b/sdk/nodejs/cloudsso/userProvisioning.ts index 98b8b48ac3..14b5e866c1 100644 --- a/sdk/nodejs/cloudsso/userProvisioning.ts +++ b/sdk/nodejs/cloudsso/userProvisioning.ts @@ -66,6 +66,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud SSO User Provisioning can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/expressSync.ts b/sdk/nodejs/cloudstoragegateway/expressSync.ts index 4ee6883dec..5e100e4f21 100644 --- a/sdk/nodejs/cloudstoragegateway/expressSync.ts +++ b/sdk/nodejs/cloudstoragegateway/expressSync.ts @@ -106,6 +106,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Express Sync can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/expressSyncShareAttachment.ts b/sdk/nodejs/cloudstoragegateway/expressSyncShareAttachment.ts index 16fe89fd38..ae2f448a61 100644 --- a/sdk/nodejs/cloudstoragegateway/expressSyncShareAttachment.ts +++ b/sdk/nodejs/cloudstoragegateway/expressSyncShareAttachment.ts @@ -110,6 +110,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gateway.ts b/sdk/nodejs/cloudstoragegateway/gateway.ts index d040b5e595..58907107af 100644 --- a/sdk/nodejs/cloudstoragegateway/gateway.ts +++ b/sdk/nodejs/cloudstoragegateway/gateway.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gatewayBlockVolume.ts b/sdk/nodejs/cloudstoragegateway/gatewayBlockVolume.ts index 5b33cb45a4..3db01d131f 100644 --- a/sdk/nodejs/cloudstoragegateway/gatewayBlockVolume.ts +++ b/sdk/nodejs/cloudstoragegateway/gatewayBlockVolume.ts @@ -91,6 +91,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gatewayCacheDisk.ts b/sdk/nodejs/cloudstoragegateway/gatewayCacheDisk.ts index 666930c60c..e612e70797 100644 --- a/sdk/nodejs/cloudstoragegateway/gatewayCacheDisk.ts +++ b/sdk/nodejs/cloudstoragegateway/gatewayCacheDisk.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gatewayFileShare.ts b/sdk/nodejs/cloudstoragegateway/gatewayFileShare.ts index 0660c5fcfb..06800a9f12 100644 --- a/sdk/nodejs/cloudstoragegateway/gatewayFileShare.ts +++ b/sdk/nodejs/cloudstoragegateway/gatewayFileShare.ts @@ -89,6 +89,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gatewayLogging.ts b/sdk/nodejs/cloudstoragegateway/gatewayLogging.ts index 2008f3be70..0cd2291640 100644 --- a/sdk/nodejs/cloudstoragegateway/gatewayLogging.ts +++ b/sdk/nodejs/cloudstoragegateway/gatewayLogging.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/gatewaySmbUser.ts b/sdk/nodejs/cloudstoragegateway/gatewaySmbUser.ts index d45c207ec0..6f4102e09a 100644 --- a/sdk/nodejs/cloudstoragegateway/gatewaySmbUser.ts +++ b/sdk/nodejs/cloudstoragegateway/gatewaySmbUser.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. diff --git a/sdk/nodejs/cloudstoragegateway/storageBundle.ts b/sdk/nodejs/cloudstoragegateway/storageBundle.ts index 55d2e0e712..c7d30718f3 100644 --- a/sdk/nodejs/cloudstoragegateway/storageBundle.ts +++ b/sdk/nodejs/cloudstoragegateway/storageBundle.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.cloudstoragegateway.StorageBundle("example", {storageBundleName: "example_value"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/alarm.ts b/sdk/nodejs/cms/alarm.ts index 0c84ac5e36..c2ce2d93d3 100644 --- a/sdk/nodejs/cms/alarm.ts +++ b/sdk/nodejs/cms/alarm.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Alarm can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/alarmContact.ts b/sdk/nodejs/cms/alarmContact.ts index 1321c51434..d9805c43d1 100644 --- a/sdk/nodejs/cms/alarmContact.ts +++ b/sdk/nodejs/cms/alarmContact.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alarm contact can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/alarmContactGroup.ts b/sdk/nodejs/cms/alarmContactGroup.ts index 650384153e..7f949b69aa 100644 --- a/sdk/nodejs/cms/alarmContactGroup.ts +++ b/sdk/nodejs/cms/alarmContactGroup.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.cms.AlarmContactGroup("example", {alarmContactGroupName: "tf-example"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CMS Alarm Contact Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/dynamicTagGroup.ts b/sdk/nodejs/cms/dynamicTagGroup.ts index 9ded51d21c..fa38b86b64 100644 --- a/sdk/nodejs/cms/dynamicTagGroup.ts +++ b/sdk/nodejs/cms/dynamicTagGroup.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/eventRule.ts b/sdk/nodejs/cms/eventRule.ts index 555e24dcf5..460037a1a9 100644 --- a/sdk/nodejs/cms/eventRule.ts +++ b/sdk/nodejs/cms/eventRule.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Event Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/groupMetricRule.ts b/sdk/nodejs/cms/groupMetricRule.ts index fd3325698d..ad4376a56d 100644 --- a/sdk/nodejs/cms/groupMetricRule.ts +++ b/sdk/nodejs/cms/groupMetricRule.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/hybridMonitorFcTask.ts b/sdk/nodejs/cms/hybridMonitorFcTask.ts index 6ead818daa..ff688af47a 100644 --- a/sdk/nodejs/cms/hybridMonitorFcTask.ts +++ b/sdk/nodejs/cms/hybridMonitorFcTask.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/hybridMonitorSlsTask.ts b/sdk/nodejs/cms/hybridMonitorSlsTask.ts index f7d21b9482..7a145d62b7 100644 --- a/sdk/nodejs/cms/hybridMonitorSlsTask.ts +++ b/sdk/nodejs/cms/hybridMonitorSlsTask.ts @@ -107,6 +107,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/metricRuleBlackList.ts b/sdk/nodejs/cms/metricRuleBlackList.ts index bc983bed3e..3567314771 100644 --- a/sdk/nodejs/cms/metricRuleBlackList.ts +++ b/sdk/nodejs/cms/metricRuleBlackList.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/metricRuleTemplate.ts b/sdk/nodejs/cms/metricRuleTemplate.ts index 7d6ee74c56..e3dc5313d7 100644 --- a/sdk/nodejs/cms/metricRuleTemplate.ts +++ b/sdk/nodejs/cms/metricRuleTemplate.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/monitorGroup.ts b/sdk/nodejs/cms/monitorGroup.ts index 75dc660e19..cda2d4d1bc 100644 --- a/sdk/nodejs/cms/monitorGroup.ts +++ b/sdk/nodejs/cms/monitorGroup.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitor Group can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/monitorGroupInstances.ts b/sdk/nodejs/cms/monitorGroupInstances.ts index d37005eb87..80ab85a45c 100644 --- a/sdk/nodejs/cms/monitorGroupInstances.ts +++ b/sdk/nodejs/cms/monitorGroupInstances.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/namespace.ts b/sdk/nodejs/cms/namespace.ts index 10d47b3231..181dd8466a 100644 --- a/sdk/nodejs/cms/namespace.ts +++ b/sdk/nodejs/cms/namespace.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/siteMonitor.ts b/sdk/nodejs/cms/siteMonitor.ts index e017fbdb7e..907637d01f 100644 --- a/sdk/nodejs/cms/siteMonitor.ts +++ b/sdk/nodejs/cms/siteMonitor.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Site Monitor can be imported using the id, e.g. diff --git a/sdk/nodejs/cms/slsGroup.ts b/sdk/nodejs/cms/slsGroup.ts index 59bac6ff5e..a8461809da 100644 --- a/sdk/nodejs/cms/slsGroup.ts +++ b/sdk/nodejs/cms/slsGroup.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud Monitor Service Sls Group can be imported using the id, e.g. diff --git a/sdk/nodejs/compute/nestServiceInstance.ts b/sdk/nodejs/compute/nestServiceInstance.ts index b004b7f30f..d08dcffd81 100644 --- a/sdk/nodejs/compute/nestServiceInstance.ts +++ b/sdk/nodejs/compute/nestServiceInstance.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Compute Nest Service Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/config/index.ts b/sdk/nodejs/config/index.ts index 3fbadc8265..5f77ab563e 100644 --- a/sdk/nodejs/config/index.ts +++ b/sdk/nodejs/config/index.ts @@ -1,5 +1,26 @@ // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** 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 { ReportTemplateArgs, ReportTemplateState } from "./reportTemplate"; +export type ReportTemplate = import("./reportTemplate").ReportTemplate; +export const ReportTemplate: typeof import("./reportTemplate").ReportTemplate = null as any; +utilities.lazyLoad(exports, ["ReportTemplate"], () => require("./reportTemplate")); + export * from "./vars"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "alicloud:config/reportTemplate:ReportTemplate": + return new ReportTemplate(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("alicloud", "config/reportTemplate", _module) diff --git a/sdk/nodejs/config/reportTemplate.ts b/sdk/nodejs/config/reportTemplate.ts new file mode 100644 index 0000000000..1be7e5dd8c --- /dev/null +++ b/sdk/nodejs/config/reportTemplate.ts @@ -0,0 +1,256 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Cloud Config (Config) Report Template resource. + * + * Config Compliance Report Template. + * + * For information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.config.ReportTemplate("default", { + * reportGranularity: "AllInOne", + * reportScopes: [{ + * key: "RuleId", + * value: "cr-xxx", + * matchType: "In", + * }], + * reportFileFormats: "excel", + * reportTemplateName: "example-name", + * reportTemplateDescription: "example-desc", + * subscriptionFrequency: " ", + * reportLanguage: "en-US", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Cloud Config (Config) Report Template can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:config/reportTemplate:ReportTemplate example + * ``` + */ +export class ReportTemplate extends pulumi.CustomResource { + /** + * Get an existing ReportTemplate 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?: ReportTemplateState, opts?: pulumi.CustomResourceOptions): ReportTemplate { + return new ReportTemplate(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:config/reportTemplate:ReportTemplate'; + + /** + * Returns true if the given object is an instance of ReportTemplate. 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 ReportTemplate { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ReportTemplate.__pulumiType; + } + + /** + * Report Format + */ + declare public readonly reportFileFormats: pulumi.Output; + /** + * Report Aggregation Granularity + */ + declare public readonly reportGranularity: pulumi.Output; + /** + * This property does not have a description in the spec, please add it before generating code. + */ + declare public readonly reportLanguage: pulumi.Output; + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + */ + declare public readonly reportScopes: pulumi.Output; + /** + * Report Template Description + */ + declare public readonly reportTemplateDescription: pulumi.Output; + /** + * Report Template Name + */ + declare public readonly reportTemplateName: pulumi.Output; + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + */ + declare public readonly subscriptionFrequency: pulumi.Output; + + /** + * Create a ReportTemplate 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: ReportTemplateArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ReportTemplateArgs | ReportTemplateState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ReportTemplateState | undefined; + resourceInputs["reportFileFormats"] = state?.reportFileFormats; + resourceInputs["reportGranularity"] = state?.reportGranularity; + resourceInputs["reportLanguage"] = state?.reportLanguage; + resourceInputs["reportScopes"] = state?.reportScopes; + resourceInputs["reportTemplateDescription"] = state?.reportTemplateDescription; + resourceInputs["reportTemplateName"] = state?.reportTemplateName; + resourceInputs["subscriptionFrequency"] = state?.subscriptionFrequency; + } else { + const args = argsOrState as ReportTemplateArgs | undefined; + if (args?.reportTemplateName === undefined && !opts.urn) { + throw new Error("Missing required property 'reportTemplateName'"); + } + resourceInputs["reportFileFormats"] = args?.reportFileFormats; + resourceInputs["reportGranularity"] = args?.reportGranularity; + resourceInputs["reportLanguage"] = args?.reportLanguage; + resourceInputs["reportScopes"] = args?.reportScopes; + resourceInputs["reportTemplateDescription"] = args?.reportTemplateDescription; + resourceInputs["reportTemplateName"] = args?.reportTemplateName; + resourceInputs["subscriptionFrequency"] = args?.subscriptionFrequency; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ReportTemplate.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ReportTemplate resources. + */ +export interface ReportTemplateState { + /** + * Report Format + */ + reportFileFormats?: pulumi.Input; + /** + * Report Aggregation Granularity + */ + reportGranularity?: pulumi.Input; + /** + * This property does not have a description in the spec, please add it before generating code. + */ + reportLanguage?: pulumi.Input; + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + */ + reportScopes?: pulumi.Input[]>; + /** + * Report Template Description + */ + reportTemplateDescription?: pulumi.Input; + /** + * Report Template Name + */ + reportTemplateName?: pulumi.Input; + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + */ + subscriptionFrequency?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ReportTemplate resource. + */ +export interface ReportTemplateArgs { + /** + * Report Format + */ + reportFileFormats?: pulumi.Input; + /** + * Report Aggregation Granularity + */ + reportGranularity?: pulumi.Input; + /** + * This property does not have a description in the spec, please add it before generating code. + */ + reportLanguage?: pulumi.Input; + /** + * Report range, yes and logic between multiple sets of k-v pairs. See `reportScope` below. + */ + reportScopes?: pulumi.Input[]>; + /** + * Report Template Description + */ + reportTemplateDescription?: pulumi.Input; + /** + * Report Template Name + */ + reportTemplateName: pulumi.Input; + /** + * Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + * + * The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + * - Execute at 0 o'clock every day: 0 0 0 * *? + * - Every Monday at 15: 30: 0 30 15? * MON + * - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + * + * Among them: + * -"*" Indicates any value + * - What-? Used for day and week fields, indicating that no specific value is specified + * - MON means Monday + * + * > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + * + * > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + */ + subscriptionFrequency?: pulumi.Input; +} diff --git a/sdk/nodejs/configaggregate/index.ts b/sdk/nodejs/configaggregate/index.ts new file mode 100644 index 0000000000..5fcca673ae --- /dev/null +++ b/sdk/nodejs/configaggregate/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 { RemediationArgs, RemediationState } from "./remediation"; +export type Remediation = import("./remediation").Remediation; +export const Remediation: typeof import("./remediation").Remediation = null as any; +utilities.lazyLoad(exports, ["Remediation"], () => require("./remediation")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "alicloud:configaggregate/remediation:Remediation": + return new Remediation(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("alicloud", "configaggregate/remediation", _module) diff --git a/sdk/nodejs/configaggregate/remediation.ts b/sdk/nodejs/configaggregate/remediation.ts new file mode 100644 index 0000000000..8f4f05e4a4 --- /dev/null +++ b/sdk/nodejs/configaggregate/remediation.ts @@ -0,0 +1,318 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Cloud Config (Config) Aggregate Remediation resource. + * + * Rule remediation in multi-account scenarios. + * + * For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const create_agg = new alicloud.cfg.Aggregator("create-agg", { + * aggregatorName: "rd", + * description: "rd", + * aggregatorType: "RD", + * }); + * const create_rule = new alicloud.cfg.AggregateConfigRule("create-rule", { + * sourceOwner: "ALIYUN", + * sourceIdentifier: "required-tags", + * aggregateConfigRuleName: "agg-rule-name", + * configRuleTriggerTypes: "ConfigurationItemChangeNotification", + * riskLevel: 1, + * resourceTypesScopes: ["ACS::OSS::Bucket"], + * aggregatorId: create_agg.id, + * inputParameters: { + * tag1Key: "aaa", + * tag1Value: "bbb", + * }, + * }); + * const _default = new alicloud.configaggregate.Remediation("default", { + * configRuleId: create_rule.configRuleId, + * remediationTemplateId: "ACS-TAG-TagResources", + * remediationSourceType: "ALIYUN", + * invokeType: "MANUAL_EXECUTION", + * remediationType: "OOS", + * aggregatorId: create_agg.id, + * remediationOriginParams: JSON.stringify({ + * properties: [ + * { + * name: "regionId", + * type: "String", + * value: "{regionId}", + * allowedValues: [], + * description: "region ID", + * }, + * { + * name: "tags", + * type: "Json", + * value: "{\"aaa\":\"bbb\"}", + * allowedValues: [], + * description: "resource tags (for example,{\"k1\":\"v1\",\"k2\":\"v2\"}).", + * }, + * { + * name: "resourceType", + * type: "String", + * value: "{resourceType}", + * allowedValues: [], + * description: "resource type", + * }, + * { + * name: "resourceIds", + * type: "ARRAY", + * value: "[{\"resources\":[]}]", + * allowedValues: [], + * description: "Resource ID List", + * }, + * ], + * }), + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:configaggregate/remediation:Remediation example : + * ``` + */ +export class Remediation extends pulumi.CustomResource { + /** + * Get an existing Remediation 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?: RemediationState, opts?: pulumi.CustomResourceOptions): Remediation { + return new Remediation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:configaggregate/remediation:Remediation'; + + /** + * Returns true if the given object is an instance of Remediation. 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 Remediation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Remediation.__pulumiType; + } + + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + */ + declare public readonly aggregatorId: pulumi.Output; + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + */ + declare public readonly configRuleId: pulumi.Output; + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + */ + declare public readonly invokeType: pulumi.Output; + /** + * Multi-account remediation ID + */ + declare public /*out*/ readonly remediationId: pulumi.Output; + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + */ + declare public readonly remediationOriginParams: pulumi.Output; + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + */ + declare public readonly remediationSourceType: pulumi.Output; + /** + * The ID of the correction template. + */ + declare public readonly remediationTemplateId: pulumi.Output; + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + */ + declare public readonly remediationType: pulumi.Output; + + /** + * Create a Remediation 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: RemediationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RemediationArgs | RemediationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RemediationState | undefined; + resourceInputs["aggregatorId"] = state?.aggregatorId; + resourceInputs["configRuleId"] = state?.configRuleId; + resourceInputs["invokeType"] = state?.invokeType; + resourceInputs["remediationId"] = state?.remediationId; + resourceInputs["remediationOriginParams"] = state?.remediationOriginParams; + resourceInputs["remediationSourceType"] = state?.remediationSourceType; + resourceInputs["remediationTemplateId"] = state?.remediationTemplateId; + resourceInputs["remediationType"] = state?.remediationType; + } else { + const args = argsOrState as RemediationArgs | undefined; + if (args?.aggregatorId === undefined && !opts.urn) { + throw new Error("Missing required property 'aggregatorId'"); + } + if (args?.configRuleId === undefined && !opts.urn) { + throw new Error("Missing required property 'configRuleId'"); + } + if (args?.invokeType === undefined && !opts.urn) { + throw new Error("Missing required property 'invokeType'"); + } + if (args?.remediationOriginParams === undefined && !opts.urn) { + throw new Error("Missing required property 'remediationOriginParams'"); + } + if (args?.remediationTemplateId === undefined && !opts.urn) { + throw new Error("Missing required property 'remediationTemplateId'"); + } + if (args?.remediationType === undefined && !opts.urn) { + throw new Error("Missing required property 'remediationType'"); + } + resourceInputs["aggregatorId"] = args?.aggregatorId; + resourceInputs["configRuleId"] = args?.configRuleId; + resourceInputs["invokeType"] = args?.invokeType; + resourceInputs["remediationOriginParams"] = args?.remediationOriginParams; + resourceInputs["remediationSourceType"] = args?.remediationSourceType; + resourceInputs["remediationTemplateId"] = args?.remediationTemplateId; + resourceInputs["remediationType"] = args?.remediationType; + resourceInputs["remediationId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Remediation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Remediation resources. + */ +export interface RemediationState { + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + */ + aggregatorId?: pulumi.Input; + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + */ + configRuleId?: pulumi.Input; + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + */ + invokeType?: pulumi.Input; + /** + * Multi-account remediation ID + */ + remediationId?: pulumi.Input; + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + */ + remediationOriginParams?: pulumi.Input; + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + */ + remediationSourceType?: pulumi.Input; + /** + * The ID of the correction template. + */ + remediationTemplateId?: pulumi.Input; + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + */ + remediationType?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Remediation resource. + */ +export interface RemediationArgs { + /** + * The account Group ID. + * For more information about how to obtain the account group ID, see ListAggregators. + */ + aggregatorId: pulumi.Input; + /** + * The rule ID. + * For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + */ + configRuleId: pulumi.Input; + /** + * Correction of execution mode. Value: + * - NON_EXECUTION: Not executed. + * - AUTO_EXECUTION: Automatically executed. + * - MANUAL_EXECUTION: Execute manually. + * - NOT_CONFIG: Not set. + */ + invokeType: pulumi.Input; + /** + * Correct the parameters of the settings. + * For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + */ + remediationOriginParams: pulumi.Input; + /** + * The source of the template to perform the correction. Value: + * - ALIYUN (default): Official website template. + * - CUSTOM: CUSTOM template. + * - NONE: NONE. + */ + remediationSourceType?: pulumi.Input; + /** + * The ID of the correction template. + */ + remediationTemplateId: pulumi.Input; + /** + * Remediation type. Value: + * - OOS: Operation and maintenance orchestration (Template correction). + * - FC: Function Compute (custom correction). + */ + remediationType: pulumi.Input; +} diff --git a/sdk/nodejs/cr/chain.ts b/sdk/nodejs/cr/chain.ts index 767c8d7fd5..5847e3cae3 100644 --- a/sdk/nodejs/cr/chain.ts +++ b/sdk/nodejs/cr/chain.ts @@ -167,6 +167,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chain can be imported using the id, e.g. diff --git a/sdk/nodejs/cr/chartNamespace.ts b/sdk/nodejs/cr/chartNamespace.ts index 8a0199d9a8..7d730ed9a2 100644 --- a/sdk/nodejs/cr/chartNamespace.ts +++ b/sdk/nodejs/cr/chartNamespace.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chart Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/cr/chartRepository.ts b/sdk/nodejs/cr/chartRepository.ts index 03cb9e736d..96d8aa68ac 100644 --- a/sdk/nodejs/cr/chartRepository.ts +++ b/sdk/nodejs/cr/chartRepository.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Chart Repository can be imported using the id, e.g. diff --git a/sdk/nodejs/cr/endpointAclPolicy.ts b/sdk/nodejs/cr/endpointAclPolicy.ts index b034647a9c..8e92f78e90 100644 --- a/sdk/nodejs/cr/endpointAclPolicy.ts +++ b/sdk/nodejs/cr/endpointAclPolicy.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Endpoint Acl Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/cr/index.ts b/sdk/nodejs/cr/index.ts index 8c21830389..29703d5c3a 100644 --- a/sdk/nodejs/cr/index.ts +++ b/sdk/nodejs/cr/index.ts @@ -85,6 +85,16 @@ export type Repo = import("./repo").Repo; export const Repo: typeof import("./repo").Repo = null as any; utilities.lazyLoad(exports, ["Repo"], () => require("./repo")); +export { ScanRuleArgs, ScanRuleState } from "./scanRule"; +export type ScanRule = import("./scanRule").ScanRule; +export const ScanRule: typeof import("./scanRule").ScanRule = null as any; +utilities.lazyLoad(exports, ["ScanRule"], () => require("./scanRule")); + +export { StorageDomainRoutingRuleArgs, StorageDomainRoutingRuleState } from "./storageDomainRoutingRule"; +export type StorageDomainRoutingRule = import("./storageDomainRoutingRule").StorageDomainRoutingRule; +export const StorageDomainRoutingRule: typeof import("./storageDomainRoutingRule").StorageDomainRoutingRule = null as any; +utilities.lazyLoad(exports, ["StorageDomainRoutingRule"], () => require("./storageDomainRoutingRule")); + export { VpcEndpointLinkedVpcArgs, VpcEndpointLinkedVpcState } from "./vpcEndpointLinkedVpc"; export type VpcEndpointLinkedVpc = import("./vpcEndpointLinkedVpc").VpcEndpointLinkedVpc; export const VpcEndpointLinkedVpc: typeof import("./vpcEndpointLinkedVpc").VpcEndpointLinkedVpc = null as any; @@ -109,6 +119,10 @@ const _module = { return new RegistryEnterpriseInstance(name, undefined, { urn }) case "alicloud:cr/repo:Repo": return new Repo(name, undefined, { urn }) + case "alicloud:cr/scanRule:ScanRule": + return new ScanRule(name, undefined, { urn }) + case "alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule": + return new StorageDomainRoutingRule(name, undefined, { urn }) case "alicloud:cr/vpcEndpointLinkedVpc:VpcEndpointLinkedVpc": return new VpcEndpointLinkedVpc(name, undefined, { urn }) default: @@ -123,4 +137,6 @@ pulumi.runtime.registerResourceModule("alicloud", "cr/endpointAclPolicy", _modul pulumi.runtime.registerResourceModule("alicloud", "cr/namespace", _module) pulumi.runtime.registerResourceModule("alicloud", "cr/registryEnterpriseInstance", _module) pulumi.runtime.registerResourceModule("alicloud", "cr/repo", _module) +pulumi.runtime.registerResourceModule("alicloud", "cr/scanRule", _module) +pulumi.runtime.registerResourceModule("alicloud", "cr/storageDomainRoutingRule", _module) pulumi.runtime.registerResourceModule("alicloud", "cr/vpcEndpointLinkedVpc", _module) diff --git a/sdk/nodejs/cr/namespace.ts b/sdk/nodejs/cr/namespace.ts index 7ca7004e0f..735bcec515 100644 --- a/sdk/nodejs/cr/namespace.ts +++ b/sdk/nodejs/cr/namespace.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry namespace can be imported using the namespace, e.g. diff --git a/sdk/nodejs/cr/registryEnterpriseInstance.ts b/sdk/nodejs/cr/registryEnterpriseInstance.ts index 733b2a3fb4..1534862eb3 100644 --- a/sdk/nodejs/cr/registryEnterpriseInstance.ts +++ b/sdk/nodejs/cr/registryEnterpriseInstance.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/cr/repo.ts b/sdk/nodejs/cr/repo.ts index 4ba8c9677f..7d5a9e4b27 100644 --- a/sdk/nodejs/cr/repo.ts +++ b/sdk/nodejs/cr/repo.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry repository can be imported using the `namespace/repository`, e.g. diff --git a/sdk/nodejs/cr/scanRule.ts b/sdk/nodejs/cr/scanRule.ts new file mode 100644 index 0000000000..0f7f362ae4 --- /dev/null +++ b/sdk/nodejs/cr/scanRule.ts @@ -0,0 +1,295 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 CR Scan Rule resource. + * + * Artifact Scan Rule. + * + * For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const default2Aqoce = new alicloud.cr.RegistryEnterpriseInstance("default2Aqoce", { + * defaultOssBucket: "false", + * renewalStatus: "ManualRenewal", + * period: 1, + * instanceName: "pl-example-2", + * paymentType: "Subscription", + * instanceType: "Basic", + * }); + * const _default = new alicloud.cr.ScanRule("default", { + * repoTagFilterPattern: ".*", + * scanScope: "REPO", + * triggerType: "MANUAL", + * scanType: "VUL", + * ruleName: name, + * namespaces: ["aa"], + * repoNames: [ + * "bb", + * "cc", + * "dd", + * "ee", + * ], + * instanceId: default2Aqoce.id, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * CR Scan Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cr/scanRule:ScanRule example : + * ``` + */ +export class ScanRule extends pulumi.CustomResource { + /** + * Get an existing ScanRule 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?: ScanRuleState, opts?: pulumi.CustomResourceOptions): ScanRule { + return new ScanRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:cr/scanRule:ScanRule'; + + /** + * Returns true if the given object is an instance of ScanRule. 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 ScanRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ScanRule.__pulumiType; + } + + /** + * Creation time + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * Instance ID + */ + declare public readonly instanceId: pulumi.Output; + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + */ + declare public readonly namespaces: pulumi.Output; + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + */ + declare public readonly repoNames: pulumi.Output; + /** + * Regular expression for matching tags that trigger a scan + */ + declare public readonly repoTagFilterPattern: pulumi.Output; + /** + * Event rule name + */ + declare public readonly ruleName: pulumi.Output; + /** + * Rule ID + */ + declare public /*out*/ readonly scanRuleId: pulumi.Output; + /** + * Scan scope + */ + declare public readonly scanScope: pulumi.Output; + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + */ + declare public readonly scanType: pulumi.Output; + /** + * Trigger type + */ + declare public readonly triggerType: pulumi.Output; + + /** + * Create a ScanRule 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: ScanRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ScanRuleArgs | ScanRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ScanRuleState | undefined; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["namespaces"] = state?.namespaces; + resourceInputs["repoNames"] = state?.repoNames; + resourceInputs["repoTagFilterPattern"] = state?.repoTagFilterPattern; + resourceInputs["ruleName"] = state?.ruleName; + resourceInputs["scanRuleId"] = state?.scanRuleId; + resourceInputs["scanScope"] = state?.scanScope; + resourceInputs["scanType"] = state?.scanType; + resourceInputs["triggerType"] = state?.triggerType; + } else { + const args = argsOrState as ScanRuleArgs | undefined; + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.repoTagFilterPattern === undefined && !opts.urn) { + throw new Error("Missing required property 'repoTagFilterPattern'"); + } + if (args?.ruleName === undefined && !opts.urn) { + throw new Error("Missing required property 'ruleName'"); + } + if (args?.scanScope === undefined && !opts.urn) { + throw new Error("Missing required property 'scanScope'"); + } + if (args?.scanType === undefined && !opts.urn) { + throw new Error("Missing required property 'scanType'"); + } + if (args?.triggerType === undefined && !opts.urn) { + throw new Error("Missing required property 'triggerType'"); + } + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["namespaces"] = args?.namespaces; + resourceInputs["repoNames"] = args?.repoNames; + resourceInputs["repoTagFilterPattern"] = args?.repoTagFilterPattern; + resourceInputs["ruleName"] = args?.ruleName; + resourceInputs["scanScope"] = args?.scanScope; + resourceInputs["scanType"] = args?.scanType; + resourceInputs["triggerType"] = args?.triggerType; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["scanRuleId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ScanRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ScanRule resources. + */ +export interface ScanRuleState { + /** + * Creation time + */ + createTime?: pulumi.Input; + /** + * Instance ID + */ + instanceId?: pulumi.Input; + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + */ + namespaces?: pulumi.Input[]>; + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + */ + repoNames?: pulumi.Input[]>; + /** + * Regular expression for matching tags that trigger a scan + */ + repoTagFilterPattern?: pulumi.Input; + /** + * Event rule name + */ + ruleName?: pulumi.Input; + /** + * Rule ID + */ + scanRuleId?: pulumi.Input; + /** + * Scan scope + */ + scanScope?: pulumi.Input; + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + */ + scanType?: pulumi.Input; + /** + * Trigger type + */ + triggerType?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ScanRule resource. + */ +export interface ScanRuleArgs { + /** + * Instance ID + */ + instanceId: pulumi.Input; + /** + * Set of namespaces: + * - This parameter must not be empty when the scan scope is NAMESPACE. + * - This parameter must contain exactly one namespace when the scan scope is REPO. + */ + namespaces?: pulumi.Input[]>; + /** + * Repository list: + * - This parameter must be empty when the scan scope is NAMESPACE. + * - This parameter must not be empty when the scan scope is REPO. + */ + repoNames?: pulumi.Input[]>; + /** + * Regular expression for matching tags that trigger a scan + */ + repoTagFilterPattern: pulumi.Input; + /** + * Event rule name + */ + ruleName: pulumi.Input; + /** + * Scan scope + */ + scanScope: pulumi.Input; + /** + * Scan type: + * - `VUL`: Artifact vulnerability scan + * - `SBOM`: Artifact content analysis + * + * The default value of this parameter is `VUL`. + */ + scanType: pulumi.Input; + /** + * Trigger type + */ + triggerType: pulumi.Input; +} diff --git a/sdk/nodejs/cr/storageDomainRoutingRule.ts b/sdk/nodejs/cr/storageDomainRoutingRule.ts new file mode 100644 index 0000000000..3c7f9ce920 --- /dev/null +++ b/sdk/nodejs/cr/storageDomainRoutingRule.ts @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 CR Storage Domain Routing Rule resource. + * + * Instance Storage Domain Routing Rule. + * + * For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.cr.RegistryEnterpriseInstance("default", { + * paymentType: "Subscription", + * period: 1, + * renewPeriod: 1, + * renewalStatus: "AutoRenewal", + * instanceType: "Advanced", + * instanceName: name, + * }); + * const defaultStorageDomainRoutingRule = new alicloud.cr.StorageDomainRoutingRule("default", { + * routes: [{ + * instanceDomain: pulumi.interpolate`${_default.instanceName}-registry-vpc.cn-hangzhou.cr.aliyuncs.com`, + * storageDomain: pulumi.interpolate`https://${_default.id}-registry.oss-cn-hangzhou-internal.aliyuncs.com`, + * endpointType: "Internet", + * }], + * instanceId: _default.id, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * CR Storage Domain Routing Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example : + * ``` + */ +export class StorageDomainRoutingRule extends pulumi.CustomResource { + /** + * Get an existing StorageDomainRoutingRule 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?: StorageDomainRoutingRuleState, opts?: pulumi.CustomResourceOptions): StorageDomainRoutingRule { + return new StorageDomainRoutingRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule'; + + /** + * Returns true if the given object is an instance of StorageDomainRoutingRule. 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 StorageDomainRoutingRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === StorageDomainRoutingRule.__pulumiType; + } + + /** + * The creation time of the resource. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The ID of the Container Registry Instance. + */ + declare public readonly instanceId: pulumi.Output; + /** + * Domain name routing entry See `routes` below. + */ + declare public readonly routes: pulumi.Output; + /** + * The ID of the Rule. + */ + declare public /*out*/ readonly ruleId: pulumi.Output; + + /** + * Create a StorageDomainRoutingRule 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: StorageDomainRoutingRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: StorageDomainRoutingRuleArgs | StorageDomainRoutingRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as StorageDomainRoutingRuleState | undefined; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["routes"] = state?.routes; + resourceInputs["ruleId"] = state?.ruleId; + } else { + const args = argsOrState as StorageDomainRoutingRuleArgs | undefined; + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.routes === undefined && !opts.urn) { + throw new Error("Missing required property 'routes'"); + } + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["routes"] = args?.routes; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["ruleId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(StorageDomainRoutingRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering StorageDomainRoutingRule resources. + */ +export interface StorageDomainRoutingRuleState { + /** + * The creation time of the resource. + */ + createTime?: pulumi.Input; + /** + * The ID of the Container Registry Instance. + */ + instanceId?: pulumi.Input; + /** + * Domain name routing entry See `routes` below. + */ + routes?: pulumi.Input[]>; + /** + * The ID of the Rule. + */ + ruleId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a StorageDomainRoutingRule resource. + */ +export interface StorageDomainRoutingRuleArgs { + /** + * The ID of the Container Registry Instance. + */ + instanceId: pulumi.Input; + /** + * Domain name routing entry See `routes` below. + */ + routes: pulumi.Input[]>; +} diff --git a/sdk/nodejs/cr/vpcEndpointLinkedVpc.ts b/sdk/nodejs/cr/vpcEndpointLinkedVpc.ts index 5dc44300da..68f6e1fd87 100644 --- a/sdk/nodejs/cr/vpcEndpointLinkedVpc.ts +++ b/sdk/nodejs/cr/vpcEndpointLinkedVpc.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. diff --git a/sdk/nodejs/cs/autoscalingConfig.ts b/sdk/nodejs/cs/autoscalingConfig.ts index e8d46897b0..2a5f82414a 100644 --- a/sdk/nodejs/cs/autoscalingConfig.ts +++ b/sdk/nodejs/cs/autoscalingConfig.ts @@ -119,6 +119,8 @@ import * as utilities from "../utilities"; * }, * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class AutoscalingConfig extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cs/edgeKubernetes.ts b/sdk/nodejs/cs/edgeKubernetes.ts index 057853026c..8d4da34121 100644 --- a/sdk/nodejs/cs/edgeKubernetes.ts +++ b/sdk/nodejs/cs/edgeKubernetes.ts @@ -131,6 +131,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/nodejs/cs/index.ts b/sdk/nodejs/cs/index.ts index b4b083216a..c1410296eb 100644 --- a/sdk/nodejs/cs/index.ts +++ b/sdk/nodejs/cs/index.ts @@ -120,6 +120,11 @@ export type KubernetesPermission = import("./kubernetesPermission").KubernetesPe export const KubernetesPermission: typeof import("./kubernetesPermission").KubernetesPermission = null as any; utilities.lazyLoad(exports, ["KubernetesPermission"], () => require("./kubernetesPermission")); +export { KubernetesPolicyInstanceArgs, KubernetesPolicyInstanceState } from "./kubernetesPolicyInstance"; +export type KubernetesPolicyInstance = import("./kubernetesPolicyInstance").KubernetesPolicyInstance; +export const KubernetesPolicyInstance: typeof import("./kubernetesPolicyInstance").KubernetesPolicyInstance = null as any; +utilities.lazyLoad(exports, ["KubernetesPolicyInstance"], () => require("./kubernetesPolicyInstance")); + export { ManagedKubernetesArgs, ManagedKubernetesState } from "./managedKubernetes"; export type ManagedKubernetes = import("./managedKubernetes").ManagedKubernetes; export const ManagedKubernetes: typeof import("./managedKubernetes").ManagedKubernetes = null as any; @@ -176,6 +181,8 @@ const _module = { return new KubernetesAutoscaler(name, undefined, { urn }) case "alicloud:cs/kubernetesPermission:KubernetesPermission": return new KubernetesPermission(name, undefined, { urn }) + case "alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance": + return new KubernetesPolicyInstance(name, undefined, { urn }) case "alicloud:cs/managedKubernetes:ManagedKubernetes": return new ManagedKubernetes(name, undefined, { urn }) case "alicloud:cs/nodePool:NodePool": @@ -203,6 +210,7 @@ pulumi.runtime.registerResourceModule("alicloud", "cs/kubernetes", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/kubernetesAddon", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/kubernetesAutoscaler", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/kubernetesPermission", _module) +pulumi.runtime.registerResourceModule("alicloud", "cs/kubernetesPolicyInstance", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/managedKubernetes", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/nodePool", _module) pulumi.runtime.registerResourceModule("alicloud", "cs/registryEnterpriseNamespace", _module) diff --git a/sdk/nodejs/cs/kubernetes.ts b/sdk/nodejs/cs/kubernetes.ts index 4895010b2f..44a9547aab 100644 --- a/sdk/nodejs/cs/kubernetes.ts +++ b/sdk/nodejs/cs/kubernetes.ts @@ -208,6 +208,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/nodejs/cs/kubernetesAddon.ts b/sdk/nodejs/cs/kubernetesAddon.ts index 81fd540f20..f343d24372 100644 --- a/sdk/nodejs/cs/kubernetesAddon.ts +++ b/sdk/nodejs/cs/kubernetesAddon.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. * * If the addon does not exist in the cluster, it will be installed. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. diff --git a/sdk/nodejs/cs/kubernetesPermission.ts b/sdk/nodejs/cs/kubernetesPermission.ts index 657a256d76..095199fda0 100644 --- a/sdk/nodejs/cs/kubernetesPermission.ts +++ b/sdk/nodejs/cs/kubernetesPermission.ts @@ -100,6 +100,8 @@ import * as utilities from "../utilities"; * }], * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class KubernetesPermission extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cs/kubernetesPolicyInstance.ts b/sdk/nodejs/cs/kubernetesPolicyInstance.ts new file mode 100644 index 0000000000..9a754ac865 --- /dev/null +++ b/sdk/nodejs/cs/kubernetesPolicyInstance.ts @@ -0,0 +1,255 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Container Service for Kubernetes (ACK) Policy Instance resource. + * + * For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * import * as random from "@pulumi/random"; + * import * as std from "@pulumi/std"; + * + * const config = new pulumi.Config(); + * const vpcCidr = config.get("vpcCidr") || "10.0.0.0/8"; + * const vswitchCidrs = config.getObject>("vswitchCidrs") || [ + * "10.1.0.0/16", + * "10.2.0.0/16", + * ]; + * const clusterName = config.get("clusterName") || "example-create-cluster"; + * const podCidr = config.get("podCidr") || "172.16.0.0/16"; + * const serviceCidr = config.get("serviceCidr") || "192.168.0.0/16"; + * const policyName = config.get("policyName") || "ACKPSPHostNetworkingPorts"; + * const enhanced = alicloud.vpc.getEnhancedNatAvailableZones({}); + * const _default = new random.index.Integer("default", { + * max: 99999, + * min: 10000, + * }); + * const createVPC = new alicloud.vpc.Network("CreateVPC", {cidrBlock: vpcCidr}); + * // According to the vswitch cidr blocks to launch several vswitches + * const createVSwitch: alicloud.vpc.Switch[] = []; + * for (const range = {value: 0}; range.value < vswitchCidrs.length; range.value++) { + * createVSwitch.push(new alicloud.vpc.Switch(`CreateVSwitch-${range.value}`, { + * vpcId: createVPC.id, + * cidrBlock: vswitchCidrs[range.value], + * zoneId: enhanced.then(enhanced => enhanced.zones[range.value].zoneId), + * })); + * } + * const createCluster = new alicloud.cs.ManagedKubernetes("CreateCluster", { + * name: `${clusterName}-${_default.result}`, + * clusterSpec: "ack.pro.small", + * profile: "Default", + * vswitchIds: std.joinOutput({ + * separator: ",", + * input: createVSwitch.map(__item => __item.id), + * }).apply(invoke => std.splitOutput({ + * separator: ",", + * text: invoke.result, + * })).apply(invoke => invoke.result), + * podCidr: podCidr, + * serviceCidr: serviceCidr, + * isEnterpriseSecurityGroup: true, + * ipStack: "ipv4", + * proxyMode: "ipvs", + * deletionProtection: false, + * addons: [ + * { + * name: "gatekeeper", + * }, + * { + * name: "loongcollector", + * }, + * { + * name: "policy-template-controller", + * }, + * ], + * operationPolicy: { + * clusterAutoUpgrade: { + * enabled: false, + * }, + * }, + * maintenanceWindow: { + * enable: false, + * }, + * }); + * const defaultKubernetesPolicyInstance = new alicloud.cs.KubernetesPolicyInstance("default", { + * clusterId: createCluster.id, + * policyName: policyName, + * action: "deny", + * namespaces: ["test"], + * parameters: { + * hostNetwork: "true", + * min: "20", + * max: "200", + * }, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example :: + * ``` + */ +export class KubernetesPolicyInstance extends pulumi.CustomResource { + /** + * Get an existing KubernetesPolicyInstance 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?: KubernetesPolicyInstanceState, opts?: pulumi.CustomResourceOptions): KubernetesPolicyInstance { + return new KubernetesPolicyInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance'; + + /** + * Returns true if the given object is an instance of KubernetesPolicyInstance. 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 KubernetesPolicyInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KubernetesPolicyInstance.__pulumiType; + } + + /** + * Policy Governance Implementation Actions + */ + declare public readonly action: pulumi.Output; + /** + * Target cluster ID + */ + declare public readonly clusterId: pulumi.Output; + /** + * Rule Instance Name + */ + declare public /*out*/ readonly instanceName: pulumi.Output; + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + */ + declare public readonly namespaces: pulumi.Output; + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + */ + declare public readonly parameters: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Policy Name + */ + declare public readonly policyName: pulumi.Output; + + /** + * Create a KubernetesPolicyInstance 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: KubernetesPolicyInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KubernetesPolicyInstanceArgs | KubernetesPolicyInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KubernetesPolicyInstanceState | undefined; + resourceInputs["action"] = state?.action; + resourceInputs["clusterId"] = state?.clusterId; + resourceInputs["instanceName"] = state?.instanceName; + resourceInputs["namespaces"] = state?.namespaces; + resourceInputs["parameters"] = state?.parameters; + resourceInputs["policyName"] = state?.policyName; + } else { + const args = argsOrState as KubernetesPolicyInstanceArgs | undefined; + if (args?.clusterId === undefined && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if (args?.policyName === undefined && !opts.urn) { + throw new Error("Missing required property 'policyName'"); + } + resourceInputs["action"] = args?.action; + resourceInputs["clusterId"] = args?.clusterId; + resourceInputs["namespaces"] = args?.namespaces; + resourceInputs["parameters"] = args?.parameters; + resourceInputs["policyName"] = args?.policyName; + resourceInputs["instanceName"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KubernetesPolicyInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KubernetesPolicyInstance resources. + */ +export interface KubernetesPolicyInstanceState { + /** + * Policy Governance Implementation Actions + */ + action?: pulumi.Input; + /** + * Target cluster ID + */ + clusterId?: pulumi.Input; + /** + * Rule Instance Name + */ + instanceName?: pulumi.Input; + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + */ + namespaces?: pulumi.Input[]>; + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Policy Name + */ + policyName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KubernetesPolicyInstance resource. + */ +export interface KubernetesPolicyInstanceArgs { + /** + * Policy Governance Implementation Actions + */ + action?: pulumi.Input; + /** + * Target cluster ID + */ + clusterId: pulumi.Input; + /** + * Limits the namespace of the policy implementation. Empty indicates all namespaces. + */ + namespaces?: pulumi.Input[]>; + /** + * The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Policy Name + */ + policyName: pulumi.Input; +} diff --git a/sdk/nodejs/cs/managedKubernetes.ts b/sdk/nodejs/cs/managedKubernetes.ts index fe0c7285b2..b0073e4c6b 100644 --- a/sdk/nodejs/cs/managedKubernetes.ts +++ b/sdk/nodejs/cs/managedKubernetes.ts @@ -303,6 +303,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -419,7 +421,7 @@ export class ManagedKubernetes extends pulumi.CustomResource { /** * Whether to enable cluster deletion protection. */ - declare public readonly deletionProtection: pulumi.Output; + declare public readonly deletionProtection: pulumi.Output; /** * Whether to enable cluster to support RRSA for kubernetes version 1.22.3+. Default to `false`. Once the RRSA function is turned on, it is not allowed to turn off. If your cluster has enabled this function, please manually modify your tf file and add the rrsa configuration to the file, learn more [RAM Roles for Service Accounts](https://www.alibabacloud.com/help/zh/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control). */ diff --git a/sdk/nodejs/cs/nodePool.ts b/sdk/nodejs/cs/nodePool.ts index fcdc421a9f..d026729ec6 100644 --- a/sdk/nodejs/cs/nodePool.ts +++ b/sdk/nodejs/cs/nodePool.ts @@ -7,233 +7,6 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * ## Example Usage - * - * Basic Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as alicloud from "@pulumi/alicloud"; - * import * as random from "@pulumi/random"; - * import * as std from "@pulumi/std"; - * - * const _default = new random.index.Integer("default", { - * max: 99999, - * min: 10000, - * }); - * const config = new pulumi.Config(); - * const name = config.get("name") || "terraform-example"; - * const enhanced = alicloud.vpc.getEnhancedNatAvailableZones({}); - * const cloudEfficiency = enhanced.then(enhanced => alicloud.ecs.getInstanceTypes({ - * availabilityZone: enhanced.zones?.[0]?.zoneId, - * cpuCoreCount: 4, - * memorySize: 8, - * kubernetesNodeRole: "Worker", - * systemDiskCategory: "cloud_efficiency", - * })); - * const defaultNetwork = new alicloud.vpc.Network("default", { - * vpcName: name, - * cidrBlock: "10.4.0.0/16", - * }); - * const defaultSwitch = new alicloud.vpc.Switch("default", { - * vswitchName: name, - * cidrBlock: "10.4.0.0/24", - * vpcId: defaultNetwork.id, - * zoneId: enhanced.then(enhanced => enhanced.zones?.[0]?.zoneId), - * }); - * const defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes("default", { - * namePrefix: `terraform-example-${_default.result}`, - * clusterSpec: "ack.pro.small", - * workerVswitchIds: [defaultSwitch.id], - * newNatGateway: true, - * podCidr: std.cidrsubnet({ - * input: "10.0.0.0/8", - * newbits: 8, - * netnum: 36, - * }).then(invoke => invoke.result), - * serviceCidr: std.cidrsubnet({ - * input: "172.16.0.0/16", - * newbits: 4, - * netnum: 7, - * }).then(invoke => invoke.result), - * slbInternetEnabled: true, - * enableRrsa: true, - * }); - * const defaultKeyPair = new alicloud.ecs.KeyPair("default", {keyPairName: `terraform-example-${_default.result}`}); - * const defaultNodePool = new alicloud.cs.NodePool("default", { - * nodePoolName: name, - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * labels: [ - * { - * key: "test1", - * value: "nodepool", - * }, - * { - * key: "test2", - * value: "nodepool", - * }, - * ], - * taints: [ - * { - * key: "tf", - * effect: "NoSchedule", - * value: "example", - * }, - * { - * key: "tf2", - * effect: "NoSchedule", - * value: "example2", - * }, - * ], - * }); - * //The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows. - * const desiredSize = new alicloud.cs.NodePool("desired_size", { - * nodePoolName: "desired_size", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * desiredSize: "0", - * }); - * // Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`. - * const maintenance = new alicloud.cs.NodePool("maintenance", { - * nodePoolName: "maintenance", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * desiredSize: "1", - * management: { - * enable: true, - * autoRepair: true, - * autoRepairPolicy: { - * restartNode: true, - * }, - * autoUpgrade: true, - * autoUpgradePolicy: { - * autoUpgradeKubelet: true, - * }, - * autoVulFix: true, - * autoVulFixPolicy: { - * vulLevel: "asap", - * restartNode: true, - * }, - * maxUnavailable: 1, - * }, - * }); - * //Create a node pool with spot instance. - * const spotInstance = new alicloud.cs.NodePool("spot_instance", { - * nodePoolName: "spot_instance", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [ - * cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id), - * cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[1]?.id), - * ], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * desiredSize: "1", - * spotStrategy: "SpotWithPriceLimit", - * spotPriceLimits: [ - * { - * instanceType: cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id), - * priceLimit: "0.70", - * }, - * { - * instanceType: cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[1]?.id), - * priceLimit: "0.72", - * }, - * ], - * }); - * //Use Spot instances to create a node pool with auto-scaling enabled - * const spotAutoScaling = new alicloud.cs.NodePool("spot_auto_scaling", { - * nodePoolName: "spot_auto_scaling", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * scalingConfig: { - * minSize: 1, - * maxSize: 10, - * type: "spot", - * }, - * spotStrategy: "SpotWithPriceLimit", - * spotPriceLimits: [{ - * instanceType: cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id), - * priceLimit: "0.70", - * }], - * }); - * //Create a `PrePaid` node pool. - * const prepaidNode = new alicloud.cs.NodePool("prepaid_node", { - * nodePoolName: "prepaid_node", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * keyName: defaultKeyPair.keyPairName, - * instanceChargeType: "PrePaid", - * period: 1, - * periodUnit: "Month", - * autoRenew: true, - * autoRenewPeriod: 1, - * installCloudMonitor: true, - * }); - * //#Create a node pool with customized kubelet parameters - * const customizedKubelet = new alicloud.cs.NodePool("customized_kubelet", { - * nodePoolName: "customized_kubelet", - * clusterId: defaultManagedKubernetes.id, - * vswitchIds: [defaultSwitch.id], - * instanceTypes: [cloudEfficiency.then(cloudEfficiency => cloudEfficiency.instanceTypes?.[0]?.id)], - * systemDiskCategory: "cloud_efficiency", - * systemDiskSize: 40, - * instanceChargeType: "PostPaid", - * desiredSize: "0", - * kubeletConfiguration: { - * registryPullQps: "10", - * registryBurst: "5", - * eventRecordQps: "10", - * eventBurst: "5", - * serializeImagePulls: "true", - * evictionHard: { - * "memory.available": "1024Mi", - * "nodefs.available": "10%", - * "nodefs.inodesFree": "5%", - * "imagefs.available": "10%", - * }, - * systemReserved: { - * cpu: "1", - * memory: "1Gi", - * "ephemeral-storage": "10Gi", - * }, - * kubeReserved: { - * cpu: "500m", - * memory: "1Gi", - * }, - * containerLogMaxSize: "200Mi", - * containerLogMaxFiles: "3", - * maxPods: "100", - * readOnlyPort: "0", - * allowedUnsafeSysctls: ["net.ipv4.route.min_pmtu"], - * }, - * rollingPolicy: { - * maxParallelism: 1, - * }, - * }); - * ``` - * * ## Import * * Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -270,6 +43,10 @@ export class NodePool extends pulumi.CustomResource { return obj['__pulumiType'] === NodePool.__pulumiType; } + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + */ + declare public readonly autoMode: pulumi.Output; /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: */ @@ -310,10 +87,14 @@ export class NodePool extends pulumi.CustomResource { declare public readonly desiredSize: pulumi.Output; /** * Lingjun node pool configuration. See `efloNodeGroup` below. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly efloNodeGroup: pulumi.Output; /** * Whether to force deletion. + * + * > **NOTE:** This parameter only takes effect when deletion is triggered. */ declare public readonly forceDelete: pulumi.Output; /** @@ -336,7 +117,8 @@ export class NodePool extends pulumi.CustomResource { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. */ declare public readonly imageType: pulumi.Output; /** @@ -347,6 +129,14 @@ export class NodePool extends pulumi.CustomResource { * Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. */ declare public readonly instanceChargeType: pulumi.Output; + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + */ + declare public readonly instanceMetadataOptions: pulumi.Output; + /** + * Instance property configuration. See `instancePatterns` below. + */ + declare public readonly instancePatterns: pulumi.Output; /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. */ @@ -476,9 +266,6 @@ export class NodePool extends pulumi.CustomResource { * The ID of the resource group */ declare public readonly resourceGroupId: pulumi.Output; - /** - * Rotary configuration. See `rollingPolicy` below. - */ declare public readonly rollingPolicy: pulumi.Output; /** * The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). @@ -609,9 +396,6 @@ export class NodePool extends pulumi.CustomResource { * Whether the node after expansion can be scheduled. */ declare public readonly unschedulable: pulumi.Output; - /** - * Synchronously update node labels and taints. - */ declare public readonly updateNodes: pulumi.Output; /** * Node custom data, base64-encoded. @@ -635,6 +419,7 @@ export class NodePool extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as NodePoolState | undefined; + resourceInputs["autoMode"] = state?.autoMode; resourceInputs["autoRenew"] = state?.autoRenew; resourceInputs["autoRenewPeriod"] = state?.autoRenewPeriod; resourceInputs["cisEnabled"] = state?.cisEnabled; @@ -651,6 +436,8 @@ export class NodePool extends pulumi.CustomResource { resourceInputs["imageType"] = state?.imageType; resourceInputs["installCloudMonitor"] = state?.installCloudMonitor; resourceInputs["instanceChargeType"] = state?.instanceChargeType; + resourceInputs["instanceMetadataOptions"] = state?.instanceMetadataOptions; + resourceInputs["instancePatterns"] = state?.instancePatterns; resourceInputs["instanceTypes"] = state?.instanceTypes; resourceInputs["instances"] = state?.instances; resourceInputs["internetChargeType"] = state?.internetChargeType; @@ -717,6 +504,7 @@ export class NodePool extends pulumi.CustomResource { if (args?.clusterId === undefined && !opts.urn) { throw new Error("Missing required property 'clusterId'"); } + resourceInputs["autoMode"] = args?.autoMode; resourceInputs["autoRenew"] = args?.autoRenew; resourceInputs["autoRenewPeriod"] = args?.autoRenewPeriod; resourceInputs["cisEnabled"] = args?.cisEnabled; @@ -733,6 +521,8 @@ export class NodePool extends pulumi.CustomResource { resourceInputs["imageType"] = args?.imageType; resourceInputs["installCloudMonitor"] = args?.installCloudMonitor; resourceInputs["instanceChargeType"] = args?.instanceChargeType; + resourceInputs["instanceMetadataOptions"] = args?.instanceMetadataOptions; + resourceInputs["instancePatterns"] = args?.instancePatterns; resourceInputs["instanceTypes"] = args?.instanceTypes; resourceInputs["instances"] = args?.instances; resourceInputs["internetChargeType"] = args?.internetChargeType; @@ -806,6 +596,10 @@ export class NodePool extends pulumi.CustomResource { * Input properties used for looking up and filtering NodePool resources. */ export interface NodePoolState { + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + */ + autoMode?: pulumi.Input; /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: */ @@ -846,10 +640,14 @@ export interface NodePoolState { desiredSize?: pulumi.Input; /** * Lingjun node pool configuration. See `efloNodeGroup` below. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ efloNodeGroup?: pulumi.Input; /** * Whether to force deletion. + * + * > **NOTE:** This parameter only takes effect when deletion is triggered. */ forceDelete?: pulumi.Input; /** @@ -872,7 +670,8 @@ export interface NodePoolState { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. */ imageType?: pulumi.Input; /** @@ -883,6 +682,14 @@ export interface NodePoolState { * Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. */ instanceChargeType?: pulumi.Input; + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + */ + instanceMetadataOptions?: pulumi.Input; + /** + * Instance property configuration. See `instancePatterns` below. + */ + instancePatterns?: pulumi.Input[]>; /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. */ @@ -1012,9 +819,6 @@ export interface NodePoolState { * The ID of the resource group */ resourceGroupId?: pulumi.Input; - /** - * Rotary configuration. See `rollingPolicy` below. - */ rollingPolicy?: pulumi.Input; /** * The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). @@ -1145,9 +949,6 @@ export interface NodePoolState { * Whether the node after expansion can be scheduled. */ unschedulable?: pulumi.Input; - /** - * Synchronously update node labels and taints. - */ updateNodes?: pulumi.Input; /** * Node custom data, base64-encoded. @@ -1163,6 +964,10 @@ export interface NodePoolState { * The set of arguments for constructing a NodePool resource. */ export interface NodePoolArgs { + /** + * Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `autoMode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `autoMode` below. + */ + autoMode?: pulumi.Input; /** * Whether to enable automatic renewal for nodes in the node pool takes effect only when `instanceChargeType` is set to `PrePaid`. Default value: `false`. Valid values: */ @@ -1203,10 +1008,14 @@ export interface NodePoolArgs { desiredSize?: pulumi.Input; /** * Lingjun node pool configuration. See `efloNodeGroup` below. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ efloNodeGroup?: pulumi.Input; /** * Whether to force deletion. + * + * > **NOTE:** This parameter only takes effect when deletion is triggered. */ forceDelete?: pulumi.Input; /** @@ -1229,7 +1038,8 @@ export interface NodePoolArgs { * - `ContainerOS` : container-optimized image. * - `Ubuntu`: Ubuntu image. * - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - * - `Custom`: Custom image. + * - `Custom`:Custom image. + * - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. */ imageType?: pulumi.Input; /** @@ -1240,6 +1050,14 @@ export interface NodePoolArgs { * Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `periodUnit`, `autoRenew` and `autoRenewPeriod` are required. */ instanceChargeType?: pulumi.Input; + /** + * ECS instance metadata access configuration. See `instanceMetadataOptions` below. + */ + instanceMetadataOptions?: pulumi.Input; + /** + * Instance property configuration. See `instancePatterns` below. + */ + instancePatterns?: pulumi.Input[]>; /** * In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. */ @@ -1365,9 +1183,6 @@ export interface NodePoolArgs { * The ID of the resource group */ resourceGroupId?: pulumi.Input; - /** - * Rotary configuration. See `rollingPolicy` below. - */ rollingPolicy?: pulumi.Input; /** * The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). @@ -1494,9 +1309,6 @@ export interface NodePoolArgs { * Whether the node after expansion can be scheduled. */ unschedulable?: pulumi.Input; - /** - * Synchronously update node labels and taints. - */ updateNodes?: pulumi.Input; /** * Node custom data, base64-encoded. diff --git a/sdk/nodejs/cs/registryEnterpriseNamespace.ts b/sdk/nodejs/cs/registryEnterpriseNamespace.ts index 837c5c651b..f646bb5772 100644 --- a/sdk/nodejs/cs/registryEnterpriseNamespace.ts +++ b/sdk/nodejs/cs/registryEnterpriseNamespace.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Enterprise Edition Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/cs/registryEnterpriseRepo.ts b/sdk/nodejs/cs/registryEnterpriseRepo.ts index 12e46a4711..f208e1f467 100644 --- a/sdk/nodejs/cs/registryEnterpriseRepo.ts +++ b/sdk/nodejs/cs/registryEnterpriseRepo.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Enterprise Edition Repository can be imported using the id, e.g. diff --git a/sdk/nodejs/cs/registryEnterpriseSyncRule.ts b/sdk/nodejs/cs/registryEnterpriseSyncRule.ts index cd4e28e7e6..9a55da4984 100644 --- a/sdk/nodejs/cs/registryEnterpriseSyncRule.ts +++ b/sdk/nodejs/cs/registryEnterpriseSyncRule.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Container Registry Sync Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/cs/serverlessKubernetes.ts b/sdk/nodejs/cs/serverlessKubernetes.ts index aa1214c2e0..5617753cca 100644 --- a/sdk/nodejs/cs/serverlessKubernetes.ts +++ b/sdk/nodejs/cs/serverlessKubernetes.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/nodejs/das/switchDasPro.ts b/sdk/nodejs/das/switchDasPro.ts index c6c57c9049..eaa83673db 100644 --- a/sdk/nodejs/das/switchDasPro.ts +++ b/sdk/nodejs/das/switchDasPro.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DAS Switch Das Pro can be imported using the id, e.g. diff --git a/sdk/nodejs/databasefilesystem/autoSnapShotPolicy.ts b/sdk/nodejs/databasefilesystem/autoSnapShotPolicy.ts index 7e438a02fe..3638de5559 100644 --- a/sdk/nodejs/databasefilesystem/autoSnapShotPolicy.ts +++ b/sdk/nodejs/databasefilesystem/autoSnapShotPolicy.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dbfs Auto Snap Shot Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/databasefilesystem/instance.ts b/sdk/nodejs/databasefilesystem/instance.ts index 75a87bccb3..97e6a2f7a5 100644 --- a/sdk/nodejs/databasefilesystem/instance.ts +++ b/sdk/nodejs/databasefilesystem/instance.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DBFS Dbfs Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/databasefilesystem/instanceAttachment.ts b/sdk/nodejs/databasefilesystem/instanceAttachment.ts index 9b5620f732..b93045035e 100644 --- a/sdk/nodejs/databasefilesystem/instanceAttachment.ts +++ b/sdk/nodejs/databasefilesystem/instanceAttachment.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database File System (DBFS) Instance Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/databasefilesystem/serviceLinkedRole.ts b/sdk/nodejs/databasefilesystem/serviceLinkedRole.ts index e3e45e5afc..77266a8518 100644 --- a/sdk/nodejs/databasefilesystem/serviceLinkedRole.ts +++ b/sdk/nodejs/databasefilesystem/serviceLinkedRole.ts @@ -20,6 +20,8 @@ import * as utilities from "../utilities"; * const serviceLinkedRole = new alicloud.databasefilesystem.ServiceLinkedRole("service_linked_role", {productName: "AliyunServiceRoleForDbfs"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dbfs service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/nodejs/databasefilesystem/snapshot.ts b/sdk/nodejs/databasefilesystem/snapshot.ts index 0ee655d750..10ceffc00f 100644 --- a/sdk/nodejs/databasefilesystem/snapshot.ts +++ b/sdk/nodejs/databasefilesystem/snapshot.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database File System (DBFS) Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/databasegateway/gateway.ts b/sdk/nodejs/databasegateway/gateway.ts index 4bdf042345..4c1aeaca85 100644 --- a/sdk/nodejs/databasegateway/gateway.ts +++ b/sdk/nodejs/databasegateway/gateway.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.databasegateway.Gateway("example", {gatewayName: "example_value"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Database Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/datahub/project.ts b/sdk/nodejs/datahub/project.ts index 47f02d714b..4aa06a4981 100644 --- a/sdk/nodejs/datahub/project.ts +++ b/sdk/nodejs/datahub/project.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub project can be imported using the *name* or ID, e.g. diff --git a/sdk/nodejs/datahub/subscription.ts b/sdk/nodejs/datahub/subscription.ts index e33b8b1b01..9d57460994 100644 --- a/sdk/nodejs/datahub/subscription.ts +++ b/sdk/nodejs/datahub/subscription.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub subscription can be imported using the ID, e.g. diff --git a/sdk/nodejs/datahub/topic.ts b/sdk/nodejs/datahub/topic.ts index cf5a399191..72cd386e9a 100644 --- a/sdk/nodejs/datahub/topic.ts +++ b/sdk/nodejs/datahub/topic.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Datahub topic can be imported using the ID, e.g. diff --git a/sdk/nodejs/dataworks/dataSource.ts b/sdk/nodejs/dataworks/dataSource.ts index dc6814a705..76b2ed1bcb 100644 --- a/sdk/nodejs/dataworks/dataSource.ts +++ b/sdk/nodejs/dataworks/dataSource.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Data Source can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/dataSourceSharedRule.ts b/sdk/nodejs/dataworks/dataSourceSharedRule.ts index 43d6bf1b83..6a8c160698 100644 --- a/sdk/nodejs/dataworks/dataSourceSharedRule.ts +++ b/sdk/nodejs/dataworks/dataSourceSharedRule.ts @@ -77,6 +77,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Data Source Shared Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/diAlarmRule.ts b/sdk/nodejs/dataworks/diAlarmRule.ts index e323a06878..42bafe7b54 100644 --- a/sdk/nodejs/dataworks/diAlarmRule.ts +++ b/sdk/nodejs/dataworks/diAlarmRule.ts @@ -126,6 +126,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Di Alarm Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/diJob.ts b/sdk/nodejs/dataworks/diJob.ts index c3933930d1..72230a0ee6 100644 --- a/sdk/nodejs/dataworks/diJob.ts +++ b/sdk/nodejs/dataworks/diJob.ts @@ -117,6 +117,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Di Job can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/dwResourceGroup.ts b/sdk/nodejs/dataworks/dwResourceGroup.ts index c51623f870..0bb895da8a 100644 --- a/sdk/nodejs/dataworks/dwResourceGroup.ts +++ b/sdk/nodejs/dataworks/dwResourceGroup.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Dw Resource Group can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/folder.ts b/sdk/nodejs/dataworks/folder.ts index b94c09a52f..8e065895b6 100644 --- a/sdk/nodejs/dataworks/folder.ts +++ b/sdk/nodejs/dataworks/folder.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Folder can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/network.ts b/sdk/nodejs/dataworks/network.ts index f0fd372640..bbf8b81d8c 100644 --- a/sdk/nodejs/dataworks/network.ts +++ b/sdk/nodejs/dataworks/network.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Network can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/project.ts b/sdk/nodejs/dataworks/project.ts index 3b7261b8ac..77c4ff02fd 100644 --- a/sdk/nodejs/dataworks/project.ts +++ b/sdk/nodejs/dataworks/project.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Project can be imported using the id, e.g. diff --git a/sdk/nodejs/dataworks/projectMember.ts b/sdk/nodejs/dataworks/projectMember.ts index f3503735ba..468dd2ba57 100644 --- a/sdk/nodejs/dataworks/projectMember.ts +++ b/sdk/nodejs/dataworks/projectMember.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Works Project Member can be imported using the id, e.g. diff --git a/sdk/nodejs/dbs/backupPlan.ts b/sdk/nodejs/dbs/backupPlan.ts index bbe2154822..50d19890e1 100644 --- a/sdk/nodejs/dbs/backupPlan.ts +++ b/sdk/nodejs/dbs/backupPlan.ts @@ -99,6 +99,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DBS Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/domain.ts b/sdk/nodejs/dcdn/domain.ts index 862123ad88..917d98b361 100644 --- a/sdk/nodejs/dcdn/domain.ts +++ b/sdk/nodejs/dcdn/domain.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/domainConfig.ts b/sdk/nodejs/dcdn/domainConfig.ts index 7d2bb58160..8a37999ff0 100644 --- a/sdk/nodejs/dcdn/domainConfig.ts +++ b/sdk/nodejs/dcdn/domainConfig.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN domain config can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/er.ts b/sdk/nodejs/dcdn/er.ts index 956d9ef119..46eada03c1 100644 --- a/sdk/nodejs/dcdn/er.ts +++ b/sdk/nodejs/dcdn/er.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Er can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/ipaDomain.ts b/sdk/nodejs/dcdn/ipaDomain.ts index 3c711ee919..35508cda00 100644 --- a/sdk/nodejs/dcdn/ipaDomain.ts +++ b/sdk/nodejs/dcdn/ipaDomain.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Ipa Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/kv.ts b/sdk/nodejs/dcdn/kv.ts index 2b00c09602..b469e6b464 100644 --- a/sdk/nodejs/dcdn/kv.ts +++ b/sdk/nodejs/dcdn/kv.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Kv can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/kvNamespace.ts b/sdk/nodejs/dcdn/kvNamespace.ts index 6602a4bca6..03906c3bd1 100644 --- a/sdk/nodejs/dcdn/kvNamespace.ts +++ b/sdk/nodejs/dcdn/kvNamespace.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Kv Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/wafDomain.ts b/sdk/nodejs/dcdn/wafDomain.ts index f6bfd2c3a7..d56577e6cc 100644 --- a/sdk/nodejs/dcdn/wafDomain.ts +++ b/sdk/nodejs/dcdn/wafDomain.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/wafPolicy.ts b/sdk/nodejs/dcdn/wafPolicy.ts index 26b7ed4923..1010742a6a 100644 --- a/sdk/nodejs/dcdn/wafPolicy.ts +++ b/sdk/nodejs/dcdn/wafPolicy.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/wafPolicyDomainAttachment.ts b/sdk/nodejs/dcdn/wafPolicyDomainAttachment.ts index 1a57c9ceb4..ce61268fa7 100644 --- a/sdk/nodejs/dcdn/wafPolicyDomainAttachment.ts +++ b/sdk/nodejs/dcdn/wafPolicyDomainAttachment.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DCDN Waf Policy Domain Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/dcdn/wafRule.ts b/sdk/nodejs/dcdn/wafRule.ts index bcfbb54321..28cb86fa43 100644 --- a/sdk/nodejs/dcdn/wafRule.ts +++ b/sdk/nodejs/dcdn/wafRule.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dcdn Waf Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/basicDefenseThreshold.ts b/sdk/nodejs/ddos/basicDefenseThreshold.ts index 66a94c2547..1816e13375 100644 --- a/sdk/nodejs/ddos/basicDefenseThreshold.ts +++ b/sdk/nodejs/ddos/basicDefenseThreshold.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Basic Antiddos can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/basicThreshold.ts b/sdk/nodejs/ddos/basicThreshold.ts index 6401012165..45d5013b70 100644 --- a/sdk/nodejs/ddos/basicThreshold.ts +++ b/sdk/nodejs/ddos/basicThreshold.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Basic Threshold can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/bgpIp.ts b/sdk/nodejs/ddos/bgpIp.ts index 34b0e2ede1..28cd580f43 100644 --- a/sdk/nodejs/ddos/bgpIp.ts +++ b/sdk/nodejs/ddos/bgpIp.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/bgpPolicy.ts b/sdk/nodejs/ddos/bgpPolicy.ts index 0948e1e690..3f03a15385 100644 --- a/sdk/nodejs/ddos/bgpPolicy.ts +++ b/sdk/nodejs/ddos/bgpPolicy.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Bgp Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/ddosCooInstance.ts b/sdk/nodejs/ddos/ddosCooInstance.ts index c76e46b631..c2f0f9377a 100644 --- a/sdk/nodejs/ddos/ddosCooInstance.ts +++ b/sdk/nodejs/ddos/ddosCooInstance.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/domainResource.ts b/sdk/nodejs/ddos/domainResource.ts index 89f19e9f9a..bcc487296c 100644 --- a/sdk/nodejs/ddos/domainResource.ts +++ b/sdk/nodejs/ddos/domainResource.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Coo Domain Resource can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/port.ts b/sdk/nodejs/ddos/port.ts index a37046621a..12b8cbbfa9 100644 --- a/sdk/nodejs/ddos/port.ts +++ b/sdk/nodejs/ddos/port.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ddos Coo Port can be imported using the id, e.g. diff --git a/sdk/nodejs/ddos/schedulerRule.ts b/sdk/nodejs/ddos/schedulerRule.ts index 09b3502c01..bb562e64ce 100644 --- a/sdk/nodejs/ddos/schedulerRule.ts +++ b/sdk/nodejs/ddos/schedulerRule.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. diff --git a/sdk/nodejs/dfs/accessGroup.ts b/sdk/nodejs/dfs/accessGroup.ts index 364b7e30d0..67e3907aa7 100644 --- a/sdk/nodejs/dfs/accessGroup.ts +++ b/sdk/nodejs/dfs/accessGroup.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DFS Access Group can be imported using the id, e.g. diff --git a/sdk/nodejs/dfs/accessRule.ts b/sdk/nodejs/dfs/accessRule.ts index 7499bd2042..957dcd5c1e 100644 --- a/sdk/nodejs/dfs/accessRule.ts +++ b/sdk/nodejs/dfs/accessRule.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DFS Access Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/dfs/fileSystem.ts b/sdk/nodejs/dfs/fileSystem.ts index 921c25a757..fa0877208d 100644 --- a/sdk/nodejs/dfs/fileSystem.ts +++ b/sdk/nodejs/dfs/fileSystem.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. diff --git a/sdk/nodejs/dfs/mountPoint.ts b/sdk/nodejs/dfs/mountPoint.ts index fd456e0385..d3867bae6e 100644 --- a/sdk/nodejs/dfs/mountPoint.ts +++ b/sdk/nodejs/dfs/mountPoint.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. diff --git a/sdk/nodejs/dfs/vscMountPoint.ts b/sdk/nodejs/dfs/vscMountPoint.ts index abe9879db4..8269cadefe 100644 --- a/sdk/nodejs/dfs/vscMountPoint.ts +++ b/sdk/nodejs/dfs/vscMountPoint.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. diff --git a/sdk/nodejs/directmail/domain.ts b/sdk/nodejs/directmail/domain.ts index 677d7cfde4..e791dd166b 100644 --- a/sdk/nodejs/directmail/domain.ts +++ b/sdk/nodejs/directmail/domain.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.directmail.Domain("example", {domainName: `alicloud-provider-${_default.result}.online`}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/directmail/mailAddress.ts b/sdk/nodejs/directmail/mailAddress.ts index 83b1fe1e22..f279d511f7 100644 --- a/sdk/nodejs/directmail/mailAddress.ts +++ b/sdk/nodejs/directmail/mailAddress.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * Individual users: Up to 10 mailing addresses can be deleted within a month. * Enterprise users: Up to 10 mailing addresses can be deleted within a month. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Mail Address can be imported using the id, e.g. diff --git a/sdk/nodejs/directmail/receivers.ts b/sdk/nodejs/directmail/receivers.ts index 0aa2e58692..b9e09dbdcb 100644 --- a/sdk/nodejs/directmail/receivers.ts +++ b/sdk/nodejs/directmail/receivers.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Receivers can be imported using the id, e.g. diff --git a/sdk/nodejs/directmail/tag.ts b/sdk/nodejs/directmail/tag.ts index 9a44a383bf..f070d2628f 100644 --- a/sdk/nodejs/directmail/tag.ts +++ b/sdk/nodejs/directmail/tag.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.directmail.Tag("example", {tagName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Direct Mail Tag can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/airflow.ts b/sdk/nodejs/dms/airflow.ts index 4a47e73dcd..95e286255f 100644 --- a/sdk/nodejs/dms/airflow.ts +++ b/sdk/nodejs/dms/airflow.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dms Airflow can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseAuthorityTemplate.ts b/sdk/nodejs/dms/enterpriseAuthorityTemplate.ts index 1760fa5cdf..d08ca798ca 100644 --- a/sdk/nodejs/dms/enterpriseAuthorityTemplate.ts +++ b/sdk/nodejs/dms/enterpriseAuthorityTemplate.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Authority Template can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseInstance.ts b/sdk/nodejs/dms/enterpriseInstance.ts index 98f7be0adf..c170826cf4 100644 --- a/sdk/nodejs/dms/enterpriseInstance.ts +++ b/sdk/nodejs/dms/enterpriseInstance.ts @@ -98,6 +98,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise can be imported using host and port, e.g. diff --git a/sdk/nodejs/dms/enterpriseLogicDatabase.ts b/sdk/nodejs/dms/enterpriseLogicDatabase.ts index 9f2bfb2cd1..8b394b8356 100644 --- a/sdk/nodejs/dms/enterpriseLogicDatabase.ts +++ b/sdk/nodejs/dms/enterpriseLogicDatabase.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Logic Database can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseProxy.ts b/sdk/nodejs/dms/enterpriseProxy.ts index f20ef68364..9b54ec3606 100644 --- a/sdk/nodejs/dms/enterpriseProxy.ts +++ b/sdk/nodejs/dms/enterpriseProxy.ts @@ -105,6 +105,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Proxy can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseProxyAccess.ts b/sdk/nodejs/dms/enterpriseProxyAccess.ts index c85c8902bf..1c07f40d56 100644 --- a/sdk/nodejs/dms/enterpriseProxyAccess.ts +++ b/sdk/nodejs/dms/enterpriseProxyAccess.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Proxy Access can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseUser.ts b/sdk/nodejs/dms/enterpriseUser.ts index d34f9a0176..81ab10ffdf 100644 --- a/sdk/nodejs/dms/enterpriseUser.ts +++ b/sdk/nodejs/dms/enterpriseUser.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise User can be imported using the id, e.g. diff --git a/sdk/nodejs/dms/enterpriseWorkspace.ts b/sdk/nodejs/dms/enterpriseWorkspace.ts index 71019243cc..54f38bdc5a 100644 --- a/sdk/nodejs/dms/enterpriseWorkspace.ts +++ b/sdk/nodejs/dms/enterpriseWorkspace.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DMS Enterprise Workspace can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/accessStrategy.ts b/sdk/nodejs/dns/accessStrategy.ts index 1d41995b08..1a4ef778fe 100644 --- a/sdk/nodejs/dns/accessStrategy.ts +++ b/sdk/nodejs/dns/accessStrategy.ts @@ -91,6 +91,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS Access Strategy can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/addressPool.ts b/sdk/nodejs/dns/addressPool.ts index eb6529d5ba..7ad7c609d0 100644 --- a/sdk/nodejs/dns/addressPool.ts +++ b/sdk/nodejs/dns/addressPool.ts @@ -66,6 +66,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Address Pool can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/alidnsDomain.ts b/sdk/nodejs/dns/alidnsDomain.ts index 667444d64d..86480f3b53 100644 --- a/sdk/nodejs/dns/alidnsDomain.ts +++ b/sdk/nodejs/dns/alidnsDomain.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns domain can be imported using the id or domain name, e.g. diff --git a/sdk/nodejs/dns/alidnsDomainAttachment.ts b/sdk/nodejs/dns/alidnsDomainAttachment.ts index ebd3a793aa..76454d043a 100644 --- a/sdk/nodejs/dns/alidnsDomainAttachment.ts +++ b/sdk/nodejs/dns/alidnsDomainAttachment.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/alidnsInstance.ts b/sdk/nodejs/dns/alidnsInstance.ts index a60004639f..88f9314d0a 100644 --- a/sdk/nodejs/dns/alidnsInstance.ts +++ b/sdk/nodejs/dns/alidnsInstance.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS instance be imported using the id, e.g. diff --git a/sdk/nodejs/dns/alidnsRecord.ts b/sdk/nodejs/dns/alidnsRecord.ts index 2edc3eb078..235fe718ce 100644 --- a/sdk/nodejs/dns/alidnsRecord.ts +++ b/sdk/nodejs/dns/alidnsRecord.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Domain Record can be imported using the id, e.g. @@ -105,7 +107,7 @@ export class AlidnsRecord extends pulumi.CustomResource { */ declare public readonly ttl: pulumi.Output; /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). */ declare public readonly type: pulumi.Output; /** @@ -209,7 +211,7 @@ export interface AlidnsRecordState { */ ttl?: pulumi.Input; /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). */ type?: pulumi.Input; /** @@ -259,7 +261,7 @@ export interface AlidnsRecordArgs { */ ttl?: pulumi.Input; /** - * The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + * The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). */ type: pulumi.Input; /** diff --git a/sdk/nodejs/dns/customLine.ts b/sdk/nodejs/dns/customLine.ts index 10c4aec450..bd544eec33 100644 --- a/sdk/nodejs/dns/customLine.ts +++ b/sdk/nodejs/dns/customLine.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Custom Line can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/ddosCooInstance.ts b/sdk/nodejs/dns/ddosCooInstance.ts index fb9fae9736..621874960d 100644 --- a/sdk/nodejs/dns/ddosCooInstance.ts +++ b/sdk/nodejs/dns/ddosCooInstance.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/dnsDomain.ts b/sdk/nodejs/dns/dnsDomain.ts index 71b34db734..9dad91a1bc 100644 --- a/sdk/nodejs/dns/dnsDomain.ts +++ b/sdk/nodejs/dns/dnsDomain.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain can be imported using the id or domain name, e.g. diff --git a/sdk/nodejs/dns/domain.ts b/sdk/nodejs/dns/domain.ts index 5016c58683..219c7c22f8 100644 --- a/sdk/nodejs/dns/domain.ts +++ b/sdk/nodejs/dns/domain.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS can be imported using the id or domain name, e.g. diff --git a/sdk/nodejs/dns/domainAttachment.ts b/sdk/nodejs/dns/domainAttachment.ts index 7567bd6de2..c355a2a4b4 100644 --- a/sdk/nodejs/dns/domainAttachment.ts +++ b/sdk/nodejs/dns/domainAttachment.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/domainGroup.ts b/sdk/nodejs/dns/domainGroup.ts index 457abac8d8..9a64c38812 100644 --- a/sdk/nodejs/dns/domainGroup.ts +++ b/sdk/nodejs/dns/domainGroup.ts @@ -18,6 +18,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.dns.DomainGroup("default", {domainGroupName: "tf-example"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns domain group can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/group.ts b/sdk/nodejs/dns/group.ts index 458b802f88..30bebbcfc3 100644 --- a/sdk/nodejs/dns/group.ts +++ b/sdk/nodejs/dns/group.ts @@ -18,6 +18,8 @@ import * as utilities from "../utilities"; * // Add a new Domain group. * const group = new alicloud.dns.Group("group", {name: "testgroup"}); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class Group extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/dns/gtmInstance.ts b/sdk/nodejs/dns/gtmInstance.ts index 52ad822339..e41936ba64 100644 --- a/sdk/nodejs/dns/gtmInstance.ts +++ b/sdk/nodejs/dns/gtmInstance.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alidns Gtm Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/instance.ts b/sdk/nodejs/dns/instance.ts index d696392df4..3afa09bb75 100644 --- a/sdk/nodejs/dns/instance.ts +++ b/sdk/nodejs/dns/instance.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS instance be imported using the id, e.g. diff --git a/sdk/nodejs/dns/monitorConfig.ts b/sdk/nodejs/dns/monitorConfig.ts index 7477b40f2a..f021ec7daa 100644 --- a/sdk/nodejs/dns/monitorConfig.ts +++ b/sdk/nodejs/dns/monitorConfig.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DNS Monitor Config can be imported using the id, e.g. diff --git a/sdk/nodejs/dns/record.ts b/sdk/nodejs/dns/record.ts index b8d7e3117e..de1903bd6d 100644 --- a/sdk/nodejs/dns/record.ts +++ b/sdk/nodejs/dns/record.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS record can be imported using the id, e.g. diff --git a/sdk/nodejs/drds/instance.ts b/sdk/nodejs/drds/instance.ts index d7ee6df6cb..e3bc251faf 100644 --- a/sdk/nodejs/drds/instance.ts +++ b/sdk/nodejs/drds/instance.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Distributed Relational Database Service (DRDS) can be imported using the id, e.g. diff --git a/sdk/nodejs/drds/polardbxInstance.ts b/sdk/nodejs/drds/polardbxInstance.ts index eb9f86ce3c..7322983f67 100644 --- a/sdk/nodejs/drds/polardbxInstance.ts +++ b/sdk/nodejs/drds/polardbxInstance.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DRDS Polardb X Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/consumerChannel.ts b/sdk/nodejs/dts/consumerChannel.ts index e2694d472f..60392e308d 100644 --- a/sdk/nodejs/dts/consumerChannel.ts +++ b/sdk/nodejs/dts/consumerChannel.ts @@ -104,6 +104,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Consumer Channel can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/instance.ts b/sdk/nodejs/dts/instance.ts index b5a7500937..e4288d52ab 100644 --- a/sdk/nodejs/dts/instance.ts +++ b/sdk/nodejs/dts/instance.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Dts Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/jobMonitorRule.ts b/sdk/nodejs/dts/jobMonitorRule.ts index 8768f85459..70750a19ab 100644 --- a/sdk/nodejs/dts/jobMonitorRule.ts +++ b/sdk/nodejs/dts/jobMonitorRule.ts @@ -146,6 +146,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Job Monitor Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/migrationInstance.ts b/sdk/nodejs/dts/migrationInstance.ts index ea0937d9cf..f0a98936bb 100644 --- a/sdk/nodejs/dts/migrationInstance.ts +++ b/sdk/nodejs/dts/migrationInstance.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Migration Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/migrationJob.ts b/sdk/nodejs/dts/migrationJob.ts index 45a81ab9af..7a68626ca4 100644 --- a/sdk/nodejs/dts/migrationJob.ts +++ b/sdk/nodejs/dts/migrationJob.ts @@ -141,6 +141,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/nodejs/dts/subscriptionJob.ts b/sdk/nodejs/dts/subscriptionJob.ts index 9ba4a52599..b6ed84cc8b 100644 --- a/sdk/nodejs/dts/subscriptionJob.ts +++ b/sdk/nodejs/dts/subscriptionJob.ts @@ -103,6 +103,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Subscription Job can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/synchronizationInstance.ts b/sdk/nodejs/dts/synchronizationInstance.ts index 728c4a6c2a..b648004238 100644 --- a/sdk/nodejs/dts/synchronizationInstance.ts +++ b/sdk/nodejs/dts/synchronizationInstance.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * DTS Synchronization Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/dts/synchronizationJob.ts b/sdk/nodejs/dts/synchronizationJob.ts index 181bb89ed9..259e833e1a 100644 --- a/sdk/nodejs/dts/synchronizationJob.ts +++ b/sdk/nodejs/dts/synchronizationJob.ts @@ -148,6 +148,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/nodejs/ebs/dedicatedBlockStorageCluster.ts b/sdk/nodejs/ebs/dedicatedBlockStorageCluster.ts index 11ef7291fc..88406e474c 100644 --- a/sdk/nodejs/ebs/dedicatedBlockStorageCluster.ts +++ b/sdk/nodejs/ebs/dedicatedBlockStorageCluster.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/diskReplicaGroup.ts b/sdk/nodejs/ebs/diskReplicaGroup.ts index 6eb0336093..36f5f7aca0 100644 --- a/sdk/nodejs/ebs/diskReplicaGroup.ts +++ b/sdk/nodejs/ebs/diskReplicaGroup.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/diskReplicaPair.ts b/sdk/nodejs/ebs/diskReplicaPair.ts index ece9bf20ab..2cea070a6c 100644 --- a/sdk/nodejs/ebs/diskReplicaPair.ts +++ b/sdk/nodejs/ebs/diskReplicaPair.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/enterpriseSnapshotPolicy.ts b/sdk/nodejs/ebs/enterpriseSnapshotPolicy.ts index 351bf9738d..570cc2ca9a 100644 --- a/sdk/nodejs/ebs/enterpriseSnapshotPolicy.ts +++ b/sdk/nodejs/ebs/enterpriseSnapshotPolicy.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Enterprise Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/enterpriseSnapshotPolicyAttachment.ts b/sdk/nodejs/ebs/enterpriseSnapshotPolicyAttachment.ts index 86a55d31f4..110453c1b5 100644 --- a/sdk/nodejs/ebs/enterpriseSnapshotPolicyAttachment.ts +++ b/sdk/nodejs/ebs/enterpriseSnapshotPolicyAttachment.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/replicaGroupDrill.ts b/sdk/nodejs/ebs/replicaGroupDrill.ts index 56c48ed811..294d8dcf8b 100644 --- a/sdk/nodejs/ebs/replicaGroupDrill.ts +++ b/sdk/nodejs/ebs/replicaGroupDrill.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.ebs.ReplicaGroupDrill("default", {groupId: "pg-m1H9aaOUIGsDUwgZ"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Replica Group Drill can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/replicaPairDrill.ts b/sdk/nodejs/ebs/replicaPairDrill.ts index 852d845139..0e3b653667 100644 --- a/sdk/nodejs/ebs/replicaPairDrill.ts +++ b/sdk/nodejs/ebs/replicaPairDrill.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.ebs.ReplicaPairDrill("default", {pairId: "pair-cn-wwo3kjfq5001"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Replica Pair Drill can be imported using the id, e.g. diff --git a/sdk/nodejs/ebs/solutionInstance.ts b/sdk/nodejs/ebs/solutionInstance.ts index 1911989012..6a375c55c0 100644 --- a/sdk/nodejs/ebs/solutionInstance.ts +++ b/sdk/nodejs/ebs/solutionInstance.ts @@ -96,6 +96,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EBS Solution Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/eci/containerGroup.ts b/sdk/nodejs/eci/containerGroup.ts index c55a2f1e7f..1ab0514792 100644 --- a/sdk/nodejs/eci/containerGroup.ts +++ b/sdk/nodejs/eci/containerGroup.ts @@ -114,6 +114,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Container Group can be imported using the id, e.g. diff --git a/sdk/nodejs/eci/imageCache.ts b/sdk/nodejs/eci/imageCache.ts index ccc458a63a..75b8a9217a 100644 --- a/sdk/nodejs/eci/imageCache.ts +++ b/sdk/nodejs/eci/imageCache.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Image Cache can be imported using the id, e.g. diff --git a/sdk/nodejs/eci/virtualNode.ts b/sdk/nodejs/eci/virtualNode.ts index 34c5eb9091..2417c70ae3 100644 --- a/sdk/nodejs/eci/virtualNode.ts +++ b/sdk/nodejs/eci/virtualNode.ts @@ -66,6 +66,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECI Virtual Node can be imported using the id, e.g. diff --git a/sdk/nodejs/ecp/instance.ts b/sdk/nodejs/ecp/instance.ts index 50b03c3800..35496bbebd 100644 --- a/sdk/nodejs/ecp/instance.ts +++ b/sdk/nodejs/ecp/instance.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/ecp/keyPair.ts b/sdk/nodejs/ecp/keyPair.ts index 17a500458f..613f0d1d9b 100644 --- a/sdk/nodejs/ecp/keyPair.ts +++ b/sdk/nodejs/ecp/keyPair.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/activation.ts b/sdk/nodejs/ecs/activation.ts index 1579716dfd..ae4836bf84 100644 --- a/sdk/nodejs/ecs/activation.ts +++ b/sdk/nodejs/ecs/activation.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Activation can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/autoProvisioningGroup.ts b/sdk/nodejs/ecs/autoProvisioningGroup.ts index 43c65c8a54..38cdaf9ed9 100644 --- a/sdk/nodejs/ecs/autoProvisioningGroup.ts +++ b/sdk/nodejs/ecs/autoProvisioningGroup.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS auto provisioning group can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/autoSnapshotPolicy.ts b/sdk/nodejs/ecs/autoSnapshotPolicy.ts index ab55333fbb..59f6802e04 100644 --- a/sdk/nodejs/ecs/autoSnapshotPolicy.ts +++ b/sdk/nodejs/ecs/autoSnapshotPolicy.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/capacityReservation.ts b/sdk/nodejs/ecs/capacityReservation.ts index deb3abfc57..436073a80d 100644 --- a/sdk/nodejs/ecs/capacityReservation.ts +++ b/sdk/nodejs/ecs/capacityReservation.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ecs Capacity Reservation can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/command.ts b/sdk/nodejs/ecs/command.ts index 97938c4b35..8ed02f5f45 100644 --- a/sdk/nodejs/ecs/command.ts +++ b/sdk/nodejs/ecs/command.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Command can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/disk.ts b/sdk/nodejs/ecs/disk.ts index 8f0b51e8d8..8c5fbc1843 100644 --- a/sdk/nodejs/ecs/disk.ts +++ b/sdk/nodejs/ecs/disk.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Cloud disk can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/diskAttachment.ts b/sdk/nodejs/ecs/diskAttachment.ts index 6ff88a2eeb..9ac15a3fe8 100644 --- a/sdk/nodejs/ecs/diskAttachment.ts +++ b/sdk/nodejs/ecs/diskAttachment.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The disk attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsAutoSnapshotPolicyAttachment.ts b/sdk/nodejs/ecs/ecsAutoSnapshotPolicyAttachment.ts index f0f78902b9..6fcebd19e3 100644 --- a/sdk/nodejs/ecs/ecsAutoSnapshotPolicyAttachment.ts +++ b/sdk/nodejs/ecs/ecsAutoSnapshotPolicyAttachment.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsDedicatedHostCluster.ts b/sdk/nodejs/ecs/ecsDedicatedHostCluster.ts index 0f5ad72405..f40af7a5ea 100644 --- a/sdk/nodejs/ecs/ecsDedicatedHostCluster.ts +++ b/sdk/nodejs/ecs/ecsDedicatedHostCluster.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Dedicated Host Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsDeploymentSet.ts b/sdk/nodejs/ecs/ecsDeploymentSet.ts index 05cbf2599d..cc68d14c92 100644 --- a/sdk/nodejs/ecs/ecsDeploymentSet.ts +++ b/sdk/nodejs/ecs/ecsDeploymentSet.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Deployment Set can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsDiskAttachment.ts b/sdk/nodejs/ecs/ecsDiskAttachment.ts index 7da80c2697..cf28f21f15 100644 --- a/sdk/nodejs/ecs/ecsDiskAttachment.ts +++ b/sdk/nodejs/ecs/ecsDiskAttachment.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The disk attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsImageComponent.ts b/sdk/nodejs/ecs/ecsImageComponent.ts index 406e50e2ec..66d7abd1ab 100644 --- a/sdk/nodejs/ecs/ecsImageComponent.ts +++ b/sdk/nodejs/ecs/ecsImageComponent.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Component can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsImagePipeline.ts b/sdk/nodejs/ecs/ecsImagePipeline.ts index c6395ab1a4..c0ac6405d6 100644 --- a/sdk/nodejs/ecs/ecsImagePipeline.ts +++ b/sdk/nodejs/ecs/ecsImagePipeline.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Pipeline can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsInstanceSet.ts b/sdk/nodejs/ecs/ecsInstanceSet.ts index 17146e745c..7a0bf335ed 100644 --- a/sdk/nodejs/ecs/ecsInstanceSet.ts +++ b/sdk/nodejs/ecs/ecsInstanceSet.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * zoneId: _default.then(_default => _default.zones?.[0]?.id), * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class EcsInstanceSet extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ecs/ecsInvocation.ts b/sdk/nodejs/ecs/ecsInvocation.ts index 5d911b0b72..c53e82e11f 100644 --- a/sdk/nodejs/ecs/ecsInvocation.ts +++ b/sdk/nodejs/ecs/ecsInvocation.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Invocation can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsKeyPair.ts b/sdk/nodejs/ecs/ecsKeyPair.ts index a9eb10df02..dd29328e83 100644 --- a/sdk/nodejs/ecs/ecsKeyPair.ts +++ b/sdk/nodejs/ecs/ecsKeyPair.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Key Pair can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsKeyPairAttachment.ts b/sdk/nodejs/ecs/ecsKeyPairAttachment.ts index 4b0f982295..62780682db 100644 --- a/sdk/nodejs/ecs/ecsKeyPairAttachment.ts +++ b/sdk/nodejs/ecs/ecsKeyPairAttachment.ts @@ -66,6 +66,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Key Pair Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsLaunchTemplate.ts b/sdk/nodejs/ecs/ecsLaunchTemplate.ts index 10ab490cd6..8db1ef8c5f 100644 --- a/sdk/nodejs/ecs/ecsLaunchTemplate.ts +++ b/sdk/nodejs/ecs/ecsLaunchTemplate.ts @@ -110,6 +110,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Launch Template can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsNetworkInterface.ts b/sdk/nodejs/ecs/ecsNetworkInterface.ts index 91d80c26fc..3fb76ac890 100644 --- a/sdk/nodejs/ecs/ecsNetworkInterface.ts +++ b/sdk/nodejs/ecs/ecsNetworkInterface.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsNetworkInterfaceAttachment.ts b/sdk/nodejs/ecs/ecsNetworkInterfaceAttachment.ts index f9b566791f..311dada46f 100644 --- a/sdk/nodejs/ecs/ecsNetworkInterfaceAttachment.ts +++ b/sdk/nodejs/ecs/ecsNetworkInterfaceAttachment.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsNetworkInterfacePermission.ts b/sdk/nodejs/ecs/ecsNetworkInterfacePermission.ts index dbf322053f..b9a1990eb5 100644 --- a/sdk/nodejs/ecs/ecsNetworkInterfacePermission.ts +++ b/sdk/nodejs/ecs/ecsNetworkInterfacePermission.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Network Interface Permission can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsPrefixList.ts b/sdk/nodejs/ecs/ecsPrefixList.ts index f0944fd2e3..fb5020a759 100644 --- a/sdk/nodejs/ecs/ecsPrefixList.ts +++ b/sdk/nodejs/ecs/ecsPrefixList.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Prefix List can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsSessionManagerStatus.ts b/sdk/nodejs/ecs/ecsSessionManagerStatus.ts index 4c8c29dfa9..f58b8f2c83 100644 --- a/sdk/nodejs/ecs/ecsSessionManagerStatus.ts +++ b/sdk/nodejs/ecs/ecsSessionManagerStatus.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Session Manager Status can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsSnapshot.ts b/sdk/nodejs/ecs/ecsSnapshot.ts index 59f339c0dc..a03649149d 100644 --- a/sdk/nodejs/ecs/ecsSnapshot.ts +++ b/sdk/nodejs/ecs/ecsSnapshot.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ecsSnapshotGroup.ts b/sdk/nodejs/ecs/ecsSnapshotGroup.ts index 6aec4fd57c..665379f1c1 100644 --- a/sdk/nodejs/ecs/ecsSnapshotGroup.ts +++ b/sdk/nodejs/ecs/ecsSnapshotGroup.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Snapshot Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/eip.ts b/sdk/nodejs/ecs/eip.ts index 8327d82d3a..b6b716ff70 100644 --- a/sdk/nodejs/ecs/eip.ts +++ b/sdk/nodejs/ecs/eip.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing eip module diff --git a/sdk/nodejs/ecs/eipAssociation.ts b/sdk/nodejs/ecs/eipAssociation.ts index 5dde00d938..f796f0b4cc 100644 --- a/sdk/nodejs/ecs/eipAssociation.ts +++ b/sdk/nodejs/ecs/eipAssociation.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Association can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/eipSegmentAddress.ts b/sdk/nodejs/ecs/eipSegmentAddress.ts index 5a26b7f362..0f55d953e5 100644 --- a/sdk/nodejs/ecs/eipSegmentAddress.ts +++ b/sdk/nodejs/ecs/eipSegmentAddress.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Segment Address can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/elasticityAssurance.ts b/sdk/nodejs/ecs/elasticityAssurance.ts index a39f3740c7..b327411426 100644 --- a/sdk/nodejs/ecs/elasticityAssurance.ts +++ b/sdk/nodejs/ecs/elasticityAssurance.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Elasticity Assurance can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/hpcCluster.ts b/sdk/nodejs/ecs/hpcCluster.ts index df6497d34e..f9fab65ddd 100644 --- a/sdk/nodejs/ecs/hpcCluster.ts +++ b/sdk/nodejs/ecs/hpcCluster.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Hpc Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/image.ts b/sdk/nodejs/ecs/image.ts index 69f1fb166f..e31b3b8e0a 100644 --- a/sdk/nodejs/ecs/image.ts +++ b/sdk/nodejs/ecs/image.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/imageCopy.ts b/sdk/nodejs/ecs/imageCopy.ts index 70e8e9d446..c276b53757 100644 --- a/sdk/nodejs/ecs/imageCopy.ts +++ b/sdk/nodejs/ecs/imageCopy.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Attributes Reference0 * * The following attributes are exported: diff --git a/sdk/nodejs/ecs/imageExport.ts b/sdk/nodejs/ecs/imageExport.ts index 1b59a9bf62..840f02c324 100644 --- a/sdk/nodejs/ecs/imageExport.ts +++ b/sdk/nodejs/ecs/imageExport.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * ossPrefix: "ecsExport", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class ImageExport extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ecs/imageImport.ts b/sdk/nodejs/ecs/imageImport.ts index dc6b7f8a94..03a87aaac1 100644 --- a/sdk/nodejs/ecs/imageImport.ts +++ b/sdk/nodejs/ecs/imageImport.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Image Import can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/imageSharePermission.ts b/sdk/nodejs/ecs/imageSharePermission.ts index 0197ca9e86..2fca5d2879 100644 --- a/sdk/nodejs/ecs/imageSharePermission.ts +++ b/sdk/nodejs/ecs/imageSharePermission.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Attributes Reference0 * * The following attributes are exported: diff --git a/sdk/nodejs/ecs/instance.ts b/sdk/nodejs/ecs/instance.ts index 51ffb5eca2..dd38a0dcb9 100644 --- a/sdk/nodejs/ecs/instance.ts +++ b/sdk/nodejs/ecs/instance.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing ecs-instance module @@ -139,6 +141,24 @@ export class Instance extends pulumi.CustomResource { * The number of vCPUs. */ declare public /*out*/ readonly cpu: pulumi.Output; + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + */ + declare public readonly cpuOptions: pulumi.Output; /** * (Available since v1.232.0) The time when the instance was created. */ @@ -219,20 +239,6 @@ export class Instance extends pulumi.CustomResource { declare public readonly imageId: pulumi.Output; /** * The options of images. See `imageOptions` below. - * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. */ declare public readonly imageOptions: pulumi.Output; /** @@ -562,6 +568,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["autoRenewPeriod"] = state?.autoRenewPeriod; resourceInputs["availabilityZone"] = state?.availabilityZone; resourceInputs["cpu"] = state?.cpu; + resourceInputs["cpuOptions"] = state?.cpuOptions; resourceInputs["createTime"] = state?.createTime; resourceInputs["creditSpecification"] = state?.creditSpecification; resourceInputs["dataDisks"] = state?.dataDisks; @@ -655,6 +662,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["autoReleaseTime"] = args?.autoReleaseTime; resourceInputs["autoRenewPeriod"] = args?.autoRenewPeriod; resourceInputs["availabilityZone"] = args?.availabilityZone; + resourceInputs["cpuOptions"] = args?.cpuOptions; resourceInputs["creditSpecification"] = args?.creditSpecification; resourceInputs["dataDisks"] = args?.dataDisks; resourceInputs["dedicatedHostId"] = args?.dedicatedHostId; @@ -781,6 +789,24 @@ export interface InstanceState { * The number of vCPUs. */ cpu?: pulumi.Input; + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + */ + cpuOptions?: pulumi.Input; /** * (Available since v1.232.0) The time when the instance was created. */ @@ -861,20 +887,6 @@ export interface InstanceState { imageId?: pulumi.Input; /** * The options of images. See `imageOptions` below. - * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. */ imageOptions?: pulumi.Input; /** @@ -1213,6 +1225,24 @@ export interface InstanceArgs { * The Zone to start the instance in. It is ignored and will be computed when set `vswitchId`. */ availabilityZone?: pulumi.Input; + /** + * The options of cpu. See `cpuOptions` below. + * + * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. + * + * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. + * + * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + * + * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + * + * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. + * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + * + * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + */ + cpuOptions?: pulumi.Input; /** * Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. */ @@ -1281,20 +1311,6 @@ export interface InstanceArgs { imageId?: pulumi.Input; /** * The options of images. See `imageOptions` below. - * - * > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloudEfficiency` and `cloudSsd` disk. - * - * > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `periodUnit`, but it is irreversible. - * - * > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - * - * > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - * - * > **NOTE:** From version 1.7.0, setting "internetMaxBandwidthOut" larger than 0 can allocate a public IP for an instance. - * Setting "internetMaxBandwidthOut" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - * However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - * - * > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. */ imageOptions?: pulumi.Input; /** diff --git a/sdk/nodejs/ecs/keyPair.ts b/sdk/nodejs/ecs/keyPair.ts index 7977ecdb9e..7478db04b7 100644 --- a/sdk/nodejs/ecs/keyPair.ts +++ b/sdk/nodejs/ecs/keyPair.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Key pair can be imported using the name, e.g. diff --git a/sdk/nodejs/ecs/launchTemplate.ts b/sdk/nodejs/ecs/launchTemplate.ts index 993072de47..2bd9c7139b 100644 --- a/sdk/nodejs/ecs/launchTemplate.ts +++ b/sdk/nodejs/ecs/launchTemplate.ts @@ -75,6 +75,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Launch Template can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/ramRoleAttachment.ts b/sdk/nodejs/ecs/ramRoleAttachment.ts index bce416e078..154ebeaeb6 100644 --- a/sdk/nodejs/ecs/ramRoleAttachment.ts +++ b/sdk/nodejs/ecs/ramRoleAttachment.ts @@ -88,6 +88,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Ram Role Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/reservedInstance.ts b/sdk/nodejs/ecs/reservedInstance.ts index 775a67473f..6c4d0c2020 100644 --- a/sdk/nodejs/ecs/reservedInstance.ts +++ b/sdk/nodejs/ecs/reservedInstance.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * reservedInstance can be imported using id, e.g. diff --git a/sdk/nodejs/ecs/securityGroup.ts b/sdk/nodejs/ecs/securityGroup.ts index b493f53a6d..d090874508 100644 --- a/sdk/nodejs/ecs/securityGroup.ts +++ b/sdk/nodejs/ecs/securityGroup.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing security-group module diff --git a/sdk/nodejs/ecs/securityGroupRule.ts b/sdk/nodejs/ecs/securityGroupRule.ts index 6875956aa4..94080343e1 100644 --- a/sdk/nodejs/ecs/securityGroupRule.ts +++ b/sdk/nodejs/ecs/securityGroupRule.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing security-group module diff --git a/sdk/nodejs/ecs/snapshot.ts b/sdk/nodejs/ecs/snapshot.ts index 0cdadf5dd3..49e252c55b 100644 --- a/sdk/nodejs/ecs/snapshot.ts +++ b/sdk/nodejs/ecs/snapshot.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/snapshotPolicy.ts b/sdk/nodejs/ecs/snapshotPolicy.ts index 839712fc12..b24647f92a 100644 --- a/sdk/nodejs/ecs/snapshotPolicy.ts +++ b/sdk/nodejs/ecs/snapshotPolicy.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/ecs/storageCapacityUnit.ts b/sdk/nodejs/ecs/storageCapacityUnit.ts index c7e2ff79ea..0d7da2bee1 100644 --- a/sdk/nodejs/ecs/storageCapacityUnit.ts +++ b/sdk/nodejs/ecs/storageCapacityUnit.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECS Storage Capacity Unit can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/application.ts b/sdk/nodejs/edas/application.ts index 6ddfccd06a..ebdcd52c19 100644 --- a/sdk/nodejs/edas/application.ts +++ b/sdk/nodejs/edas/application.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS application can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/applicationDeployment.ts b/sdk/nodejs/edas/applicationDeployment.ts index e2eb4bc16c..d22bd6a65c 100644 --- a/sdk/nodejs/edas/applicationDeployment.ts +++ b/sdk/nodejs/edas/applicationDeployment.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * warUrl: "http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class ApplicationDeployment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/edas/applicationScale.ts b/sdk/nodejs/edas/applicationScale.ts index 8bd2d81a79..17bc6a84db 100644 --- a/sdk/nodejs/edas/applicationScale.ts +++ b/sdk/nodejs/edas/applicationScale.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * ecuInfos: [pulumi.all([defaultInstanceClusterAttachment.ecuMap, defaultInstance.id]).apply(([ecuMap, id]) => ecuMap[id])], * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class ApplicationScale extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/edas/cluster.ts b/sdk/nodejs/edas/cluster.ts index 6a4850c897..1edb6dc996 100644 --- a/sdk/nodejs/edas/cluster.ts +++ b/sdk/nodejs/edas/cluster.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/deployGroup.ts b/sdk/nodejs/edas/deployGroup.ts index 24a9161217..82122c7d97 100644 --- a/sdk/nodejs/edas/deployGroup.ts +++ b/sdk/nodejs/edas/deployGroup.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS deploy group can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/instanceClusterAttachment.ts b/sdk/nodejs/edas/instanceClusterAttachment.ts index b0cbc98a88..bfc3b6cb54 100644 --- a/sdk/nodejs/edas/instanceClusterAttachment.ts +++ b/sdk/nodejs/edas/instanceClusterAttachment.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * instanceIds: [defaultInstance.id], * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class InstanceClusterAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/edas/k8sApplication.ts b/sdk/nodejs/edas/k8sApplication.ts index b2dc973bfe..56e1c2b4c9 100644 --- a/sdk/nodejs/edas/k8sApplication.ts +++ b/sdk/nodejs/edas/k8sApplication.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS k8s application can be imported as below, e.g. diff --git a/sdk/nodejs/edas/k8sCluster.ts b/sdk/nodejs/edas/k8sCluster.ts index a4da0b9e07..c937e4b962 100644 --- a/sdk/nodejs/edas/k8sCluster.ts +++ b/sdk/nodejs/edas/k8sCluster.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * const defaultK8sCluster = new alicloud.edas.K8sCluster("default", {csClusterId: defaultNodePool.clusterId}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/k8sSlbAttachment.ts b/sdk/nodejs/edas/k8sSlbAttachment.ts index 524980a6c2..450f07b0c7 100644 --- a/sdk/nodejs/edas/k8sSlbAttachment.ts +++ b/sdk/nodejs/edas/k8sSlbAttachment.ts @@ -103,6 +103,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. diff --git a/sdk/nodejs/edas/namespace.ts b/sdk/nodejs/edas/namespace.ts index 452c20cc13..398175becf 100644 --- a/sdk/nodejs/edas/namespace.ts +++ b/sdk/nodejs/edas/namespace.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EDAS Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/edas/slbAttachment.ts b/sdk/nodejs/edas/slbAttachment.ts index f18ad34ce3..bf4bcaf5d1 100644 --- a/sdk/nodejs/edas/slbAttachment.ts +++ b/sdk/nodejs/edas/slbAttachment.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * type: defaultApplicationLoadBalancer.addressType, * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class SlbAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/eds/adConnectorDirectory.ts b/sdk/nodejs/eds/adConnectorDirectory.ts index 484ea5d3d0..2ba8300673 100644 --- a/sdk/nodejs/eds/adConnectorDirectory.ts +++ b/sdk/nodejs/eds/adConnectorDirectory.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ad Connector Directory can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/adConnectorOfficeSite.ts b/sdk/nodejs/eds/adConnectorOfficeSite.ts index d3b8cb3c1a..5ac6ea2480 100644 --- a/sdk/nodejs/eds/adConnectorOfficeSite.ts +++ b/sdk/nodejs/eds/adConnectorOfficeSite.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ad Connector Office Site can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/bundle.ts b/sdk/nodejs/eds/bundle.ts index e81bb43d8a..fae7afeac0 100644 --- a/sdk/nodejs/eds/bundle.ts +++ b/sdk/nodejs/eds/bundle.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Bundle can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/command.ts b/sdk/nodejs/eds/command.ts index ed199708d2..353dcba1ed 100644 --- a/sdk/nodejs/eds/command.ts +++ b/sdk/nodejs/eds/command.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Command can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/customProperty.ts b/sdk/nodejs/eds/customProperty.ts index bccac6b56c..b4242f226d 100644 --- a/sdk/nodejs/eds/customProperty.ts +++ b/sdk/nodejs/eds/customProperty.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Custom Property can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/desktop.ts b/sdk/nodejs/eds/desktop.ts index f0708c191d..ff2b76fb0d 100644 --- a/sdk/nodejs/eds/desktop.ts +++ b/sdk/nodejs/eds/desktop.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Desktop can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/ecdPolicyGroup.ts b/sdk/nodejs/eds/ecdPolicyGroup.ts index 76c359c472..08035cbd1a 100644 --- a/sdk/nodejs/eds/ecdPolicyGroup.ts +++ b/sdk/nodejs/eds/ecdPolicyGroup.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/image.ts b/sdk/nodejs/eds/image.ts index fa4c6268f0..e849836e78 100644 --- a/sdk/nodejs/eds/image.ts +++ b/sdk/nodejs/eds/image.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Image can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/nasFileSystem.ts b/sdk/nodejs/eds/nasFileSystem.ts index 288b61d25a..25b21ffd17 100644 --- a/sdk/nodejs/eds/nasFileSystem.ts +++ b/sdk/nodejs/eds/nasFileSystem.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Nas File System can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/networkPackage.ts b/sdk/nodejs/eds/networkPackage.ts index 02aff816ca..222bb03f45 100644 --- a/sdk/nodejs/eds/networkPackage.ts +++ b/sdk/nodejs/eds/networkPackage.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Network Package can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/ramDirectory.ts b/sdk/nodejs/eds/ramDirectory.ts index 233217ac2e..2694faa14d 100644 --- a/sdk/nodejs/eds/ramDirectory.ts +++ b/sdk/nodejs/eds/ramDirectory.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Ram Directory can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/simpleOfficeSite.ts b/sdk/nodejs/eds/simpleOfficeSite.ts index 6867d9c49e..eb77989bba 100644 --- a/sdk/nodejs/eds/simpleOfficeSite.ts +++ b/sdk/nodejs/eds/simpleOfficeSite.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Simple Office Site can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/snapshot.ts b/sdk/nodejs/eds/snapshot.ts index 7266780369..2bb6d71a93 100644 --- a/sdk/nodejs/eds/snapshot.ts +++ b/sdk/nodejs/eds/snapshot.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/eds/user.ts b/sdk/nodejs/eds/user.ts index 0690e5de2f..806e4dfe24 100644 --- a/sdk/nodejs/eds/user.ts +++ b/sdk/nodejs/eds/user.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ECD User can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/cluster.ts b/sdk/nodejs/eflo/cluster.ts index 208bbe0b6f..6f39a892f5 100644 --- a/sdk/nodejs/eflo/cluster.ts +++ b/sdk/nodejs/eflo/cluster.ts @@ -108,6 +108,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/er.ts b/sdk/nodejs/eflo/er.ts index 5425925da2..cee81b3b73 100644 --- a/sdk/nodejs/eflo/er.ts +++ b/sdk/nodejs/eflo/er.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Er can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/experimentPlan.ts b/sdk/nodejs/eflo/experimentPlan.ts index cc9485afa6..97de1caf11 100644 --- a/sdk/nodejs/eflo/experimentPlan.ts +++ b/sdk/nodejs/eflo/experimentPlan.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Experiment Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/experimentPlanTemplate.ts b/sdk/nodejs/eflo/experimentPlanTemplate.ts index 1c5a71b7ea..edd12f8154 100644 --- a/sdk/nodejs/eflo/experimentPlanTemplate.ts +++ b/sdk/nodejs/eflo/experimentPlanTemplate.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Experiment Plan Template can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/hyperNode.ts b/sdk/nodejs/eflo/hyperNode.ts index 16fc50bfdf..d1eeb3deb4 100644 --- a/sdk/nodejs/eflo/hyperNode.ts +++ b/sdk/nodejs/eflo/hyperNode.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"; /** @@ -40,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Hyper Node can be imported using the id, e.g. @@ -76,18 +80,35 @@ export class HyperNode extends pulumi.CustomResource { return obj['__pulumiType'] === HyperNode.__pulumiType; } + /** + * Cluster ID + */ + declare public readonly clusterId: pulumi.Output; /** * The creation time of the resource */ declare public /*out*/ readonly createTime: pulumi.Output; + declare public readonly dataDisks: pulumi.Output; /** - * Number of the cluster to which the supercompute node belongs + * The host name prefix of the sub computing node + */ + declare public readonly hostname: pulumi.Output; + /** + * Number of the cluster to which the hyper computing node belongs */ declare public readonly hpnZone: pulumi.Output; /** - * The model used by the super computing node + * Login Password of the sub computing node + */ + declare public readonly loginPassword: pulumi.Output; + /** + * The model used by the hyper computing node */ declare public readonly machineType: pulumi.Output; + /** + * Node group ID + */ + declare public readonly nodeGroupId: pulumi.Output; /** * The duration of the instance purchase, in units. * @@ -115,11 +136,11 @@ export class HyperNode extends pulumi.CustomResource { */ declare public readonly resourceGroupId: pulumi.Output; /** - * Super Node Architecture + * Hyper Node Architecture */ declare public readonly serverArch: pulumi.Output; /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -133,7 +154,19 @@ export class HyperNode extends pulumi.CustomResource { */ declare public readonly tags: pulumi.Output<{[key: string]: string} | undefined>; /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + */ + declare public readonly userData: pulumi.Output; + /** + * The ID of the vpc to which the sub computing node + */ + declare public readonly vpcId: pulumi.Output; + /** + * The ID of the vswitch to which the sub computing node + */ + declare public readonly vswitchId: pulumi.Output; + /** + * The zone where the hyper compute node is located */ declare public readonly zoneId: pulumi.Output; @@ -150,9 +183,14 @@ export class HyperNode extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as HyperNodeState | undefined; + resourceInputs["clusterId"] = state?.clusterId; resourceInputs["createTime"] = state?.createTime; + resourceInputs["dataDisks"] = state?.dataDisks; + resourceInputs["hostname"] = state?.hostname; resourceInputs["hpnZone"] = state?.hpnZone; + resourceInputs["loginPassword"] = state?.loginPassword; resourceInputs["machineType"] = state?.machineType; + resourceInputs["nodeGroupId"] = state?.nodeGroupId; resourceInputs["paymentDuration"] = state?.paymentDuration; resourceInputs["paymentType"] = state?.paymentType; resourceInputs["regionId"] = state?.regionId; @@ -163,14 +201,22 @@ export class HyperNode extends pulumi.CustomResource { resourceInputs["stageNum"] = state?.stageNum; resourceInputs["status"] = state?.status; resourceInputs["tags"] = state?.tags; + resourceInputs["userData"] = state?.userData; + resourceInputs["vpcId"] = state?.vpcId; + resourceInputs["vswitchId"] = state?.vswitchId; resourceInputs["zoneId"] = state?.zoneId; } else { const args = argsOrState as HyperNodeArgs | undefined; if (args?.paymentType === undefined && !opts.urn) { throw new Error("Missing required property 'paymentType'"); } + resourceInputs["clusterId"] = args?.clusterId; + resourceInputs["dataDisks"] = args?.dataDisks; + resourceInputs["hostname"] = args?.hostname; resourceInputs["hpnZone"] = args?.hpnZone; + resourceInputs["loginPassword"] = args?.loginPassword ? pulumi.secret(args.loginPassword) : undefined; resourceInputs["machineType"] = args?.machineType; + resourceInputs["nodeGroupId"] = args?.nodeGroupId; resourceInputs["paymentDuration"] = args?.paymentDuration; resourceInputs["paymentType"] = args?.paymentType; resourceInputs["renewalDuration"] = args?.renewalDuration; @@ -179,12 +225,17 @@ export class HyperNode extends pulumi.CustomResource { resourceInputs["serverArch"] = args?.serverArch; resourceInputs["stageNum"] = args?.stageNum; resourceInputs["tags"] = args?.tags; + resourceInputs["userData"] = args?.userData; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["vswitchId"] = args?.vswitchId; resourceInputs["zoneId"] = args?.zoneId; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["regionId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["loginPassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(HyperNode.__pulumiType, name, resourceInputs, opts); } } @@ -193,18 +244,35 @@ export class HyperNode extends pulumi.CustomResource { * Input properties used for looking up and filtering HyperNode resources. */ export interface HyperNodeState { + /** + * Cluster ID + */ + clusterId?: pulumi.Input; /** * The creation time of the resource */ createTime?: pulumi.Input; + dataDisks?: pulumi.Input[]>; /** - * Number of the cluster to which the supercompute node belongs + * The host name prefix of the sub computing node + */ + hostname?: pulumi.Input; + /** + * Number of the cluster to which the hyper computing node belongs */ hpnZone?: pulumi.Input; /** - * The model used by the super computing node + * Login Password of the sub computing node + */ + loginPassword?: pulumi.Input; + /** + * The model used by the hyper computing node */ machineType?: pulumi.Input; + /** + * Node group ID + */ + nodeGroupId?: pulumi.Input; /** * The duration of the instance purchase, in units. * @@ -232,11 +300,11 @@ export interface HyperNodeState { */ resourceGroupId?: pulumi.Input; /** - * Super Node Architecture + * Hyper Node Architecture */ serverArch?: pulumi.Input; /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -250,7 +318,19 @@ export interface HyperNodeState { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + */ + userData?: pulumi.Input; + /** + * The ID of the vpc to which the sub computing node + */ + vpcId?: pulumi.Input; + /** + * The ID of the vswitch to which the sub computing node + */ + vswitchId?: pulumi.Input; + /** + * The zone where the hyper compute node is located */ zoneId?: pulumi.Input; } @@ -260,13 +340,30 @@ export interface HyperNodeState { */ export interface HyperNodeArgs { /** - * Number of the cluster to which the supercompute node belongs + * Cluster ID + */ + clusterId?: pulumi.Input; + dataDisks?: pulumi.Input[]>; + /** + * The host name prefix of the sub computing node + */ + hostname?: pulumi.Input; + /** + * Number of the cluster to which the hyper computing node belongs */ hpnZone?: pulumi.Input; /** - * The model used by the super computing node + * Login Password of the sub computing node + */ + loginPassword?: pulumi.Input; + /** + * The model used by the hyper computing node */ machineType?: pulumi.Input; + /** + * Node group ID + */ + nodeGroupId?: pulumi.Input; /** * The duration of the instance purchase, in units. * @@ -290,11 +387,11 @@ export interface HyperNodeArgs { */ resourceGroupId?: pulumi.Input; /** - * Super Node Architecture + * Hyper Node Architecture */ serverArch?: pulumi.Input; /** - * The number of installments of the supercomputing node of the fixed fee installment. + * The number of installments of the hyper computing node of the fixed fee installment. * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -304,7 +401,19 @@ export interface HyperNodeArgs { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The zone where the super compute node is located + * Custom user data for the sub computing node + */ + userData?: pulumi.Input; + /** + * The ID of the vpc to which the sub computing node + */ + vpcId?: pulumi.Input; + /** + * The ID of the vswitch to which the sub computing node + */ + vswitchId?: pulumi.Input; + /** + * The zone where the hyper compute node is located */ zoneId?: pulumi.Input; } diff --git a/sdk/nodejs/eflo/node.ts b/sdk/nodejs/eflo/node.ts index b887add891..12ecfb6156 100644 --- a/sdk/nodejs/eflo/node.ts +++ b/sdk/nodejs/eflo/node.ts @@ -2,46 +2,11 @@ // *** 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 Eflo Node resource. - * - * Large computing node. - * - * For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). - * - * > **NOTE:** Available since v1.246.0. - * - * ## Example Usage - * - * Basic Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as alicloud from "@pulumi/alicloud"; - * - * const config = new pulumi.Config(); - * const name = config.get("name") || "terraform-example"; - * const _default = alicloud.resourcemanager.getResourceGroups({}); - * const defaultNode = new alicloud.eflo.Node("default", { - * period: 36, - * discountLevel: "36", - * billingCycle: "1month", - * classify: "gpuserver", - * zone: "cn-hangzhou-b", - * productForm: "instance", - * paymentRatio: "0", - * hpnZone: "B1", - * serverArch: "bmserver", - * computingServer: "efg1.nvga1n", - * stageNum: "36", - * renewalStatus: "AutoRenewal", - * renewPeriod: 36, - * status: "Unused", - * }); - * ``` - * * ## Import * * Eflo Node can be imported using the id, e.g. @@ -80,14 +45,22 @@ export class Node extends pulumi.CustomResource { /** * Billing cycle + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly billingCycle: pulumi.Output; /** * Classification + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly classify: pulumi.Output; /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + */ + declare public readonly clusterId: pulumi.Output; + /** + * Node Model * * @deprecated Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. */ @@ -96,10 +69,20 @@ export class Node extends pulumi.CustomResource { * The creation time of the resource */ declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + */ + declare public readonly dataDisks: pulumi.Output; /** * Offer Information + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly discountLevel: pulumi.Output; + /** + * Host name + */ + declare public readonly hostname: pulumi.Output; /** * Cluster Number */ @@ -108,12 +91,30 @@ export class Node extends pulumi.CustomResource { * Whether to buy PAI. default value `false`. */ declare public readonly installPai: pulumi.Output; + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + */ + declare public readonly ipAllocationPolicies: pulumi.Output; + /** + * Login Password + */ + declare public readonly loginPassword: pulumi.Output; /** * Model */ declare public readonly machineType: pulumi.Output; + /** + * node group id + */ + declare public readonly nodeGroupId: pulumi.Output; + /** + * node type + */ + declare public readonly nodeType: pulumi.Output; /** * Down payment ratio + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly paymentRatio: pulumi.Output; /** @@ -123,10 +124,14 @@ export class Node extends pulumi.CustomResource { declare public readonly paymentType: pulumi.Output; /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly period: pulumi.Output; /** * Form + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly productForm: pulumi.Output; /** @@ -153,10 +158,14 @@ export class Node extends pulumi.CustomResource { declare public readonly resourceGroupId: pulumi.Output; /** * Architecture + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly serverArch: pulumi.Output; /** * Number of stages + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly stageNum: pulumi.Output; /** @@ -167,6 +176,18 @@ export class Node extends pulumi.CustomResource { * The tag of the resource */ declare public readonly tags: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Custom Data + */ + declare public readonly userData: pulumi.Output; + /** + * VPC ID + */ + declare public readonly vpcId: pulumi.Output; + /** + * Switch ID + */ + declare public readonly vswitchId: pulumi.Output; /** * Availability Zone */ @@ -187,12 +208,19 @@ export class Node extends pulumi.CustomResource { const state = argsOrState as NodeState | undefined; resourceInputs["billingCycle"] = state?.billingCycle; resourceInputs["classify"] = state?.classify; + resourceInputs["clusterId"] = state?.clusterId; resourceInputs["computingServer"] = state?.computingServer; resourceInputs["createTime"] = state?.createTime; + resourceInputs["dataDisks"] = state?.dataDisks; resourceInputs["discountLevel"] = state?.discountLevel; + resourceInputs["hostname"] = state?.hostname; resourceInputs["hpnZone"] = state?.hpnZone; resourceInputs["installPai"] = state?.installPai; + resourceInputs["ipAllocationPolicies"] = state?.ipAllocationPolicies; + resourceInputs["loginPassword"] = state?.loginPassword; resourceInputs["machineType"] = state?.machineType; + resourceInputs["nodeGroupId"] = state?.nodeGroupId; + resourceInputs["nodeType"] = state?.nodeType; resourceInputs["paymentRatio"] = state?.paymentRatio; resourceInputs["paymentType"] = state?.paymentType; resourceInputs["period"] = state?.period; @@ -205,16 +233,26 @@ export class Node extends pulumi.CustomResource { resourceInputs["stageNum"] = state?.stageNum; resourceInputs["status"] = state?.status; resourceInputs["tags"] = state?.tags; + resourceInputs["userData"] = state?.userData; + resourceInputs["vpcId"] = state?.vpcId; + resourceInputs["vswitchId"] = state?.vswitchId; resourceInputs["zone"] = state?.zone; } else { const args = argsOrState as NodeArgs | undefined; resourceInputs["billingCycle"] = args?.billingCycle; resourceInputs["classify"] = args?.classify; + resourceInputs["clusterId"] = args?.clusterId; resourceInputs["computingServer"] = args?.computingServer; + resourceInputs["dataDisks"] = args?.dataDisks; resourceInputs["discountLevel"] = args?.discountLevel; + resourceInputs["hostname"] = args?.hostname; resourceInputs["hpnZone"] = args?.hpnZone; resourceInputs["installPai"] = args?.installPai; + resourceInputs["ipAllocationPolicies"] = args?.ipAllocationPolicies; + resourceInputs["loginPassword"] = args?.loginPassword ? pulumi.secret(args.loginPassword) : undefined; resourceInputs["machineType"] = args?.machineType; + resourceInputs["nodeGroupId"] = args?.nodeGroupId; + resourceInputs["nodeType"] = args?.nodeType; resourceInputs["paymentRatio"] = args?.paymentRatio; resourceInputs["paymentType"] = args?.paymentType; resourceInputs["period"] = args?.period; @@ -226,11 +264,16 @@ export class Node extends pulumi.CustomResource { resourceInputs["stageNum"] = args?.stageNum; resourceInputs["status"] = args?.status; resourceInputs["tags"] = args?.tags; + resourceInputs["userData"] = args?.userData; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["vswitchId"] = args?.vswitchId; resourceInputs["zone"] = args?.zone; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["regionId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["loginPassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); super(Node.__pulumiType, name, resourceInputs, opts); } } @@ -241,14 +284,22 @@ export class Node extends pulumi.CustomResource { export interface NodeState { /** * Billing cycle + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ billingCycle?: pulumi.Input; /** * Classification + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ classify?: pulumi.Input; /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + */ + clusterId?: pulumi.Input; + /** + * Node Model * * @deprecated Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. */ @@ -257,10 +308,20 @@ export interface NodeState { * The creation time of the resource */ createTime?: pulumi.Input; + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + */ + dataDisks?: pulumi.Input[]>; /** * Offer Information + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ discountLevel?: pulumi.Input; + /** + * Host name + */ + hostname?: pulumi.Input; /** * Cluster Number */ @@ -269,12 +330,30 @@ export interface NodeState { * Whether to buy PAI. default value `false`. */ installPai?: pulumi.Input; + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + */ + ipAllocationPolicies?: pulumi.Input[]>; + /** + * Login Password + */ + loginPassword?: pulumi.Input; /** * Model */ machineType?: pulumi.Input; + /** + * node group id + */ + nodeGroupId?: pulumi.Input; + /** + * node type + */ + nodeType?: pulumi.Input; /** * Down payment ratio + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ paymentRatio?: pulumi.Input; /** @@ -284,10 +363,14 @@ export interface NodeState { paymentType?: pulumi.Input; /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ period?: pulumi.Input; /** * Form + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ productForm?: pulumi.Input; /** @@ -314,10 +397,14 @@ export interface NodeState { resourceGroupId?: pulumi.Input; /** * Architecture + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ serverArch?: pulumi.Input; /** * Number of stages + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ stageNum?: pulumi.Input; /** @@ -328,6 +415,18 @@ export interface NodeState { * The tag of the resource */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Custom Data + */ + userData?: pulumi.Input; + /** + * VPC ID + */ + vpcId?: pulumi.Input; + /** + * Switch ID + */ + vswitchId?: pulumi.Input; /** * Availability Zone */ @@ -340,22 +439,40 @@ export interface NodeState { export interface NodeArgs { /** * Billing cycle + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ billingCycle?: pulumi.Input; /** * Classification + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ classify?: pulumi.Input; /** - * Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + * Cluster id + */ + clusterId?: pulumi.Input; + /** + * Node Model * * @deprecated Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. */ computingServer?: pulumi.Input; + /** + * The data disk of the cloud disk to be attached to the node. See `dataDisk` below. + */ + dataDisks?: pulumi.Input[]>; /** * Offer Information + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ discountLevel?: pulumi.Input; + /** + * Host name + */ + hostname?: pulumi.Input; /** * Cluster Number */ @@ -364,12 +481,30 @@ export interface NodeArgs { * Whether to buy PAI. default value `false`. */ installPai?: pulumi.Input; + /** + * IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ipAllocationPolicy` below. + */ + ipAllocationPolicies?: pulumi.Input[]>; + /** + * Login Password + */ + loginPassword?: pulumi.Input; /** * Model */ machineType?: pulumi.Input; + /** + * node group id + */ + nodeGroupId?: pulumi.Input; + /** + * node type + */ + nodeType?: pulumi.Input; /** * Down payment ratio + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ paymentRatio?: pulumi.Input; /** @@ -379,10 +514,14 @@ export interface NodeArgs { paymentType?: pulumi.Input; /** * Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ period?: pulumi.Input; /** * Form + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ productForm?: pulumi.Input; /** @@ -405,10 +544,14 @@ export interface NodeArgs { resourceGroupId?: pulumi.Input; /** * Architecture + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ serverArch?: pulumi.Input; /** * Number of stages + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ stageNum?: pulumi.Input; /** @@ -419,6 +562,18 @@ export interface NodeArgs { * The tag of the resource */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Custom Data + */ + userData?: pulumi.Input; + /** + * VPC ID + */ + vpcId?: pulumi.Input; + /** + * Switch ID + */ + vswitchId?: pulumi.Input; /** * Availability Zone */ diff --git a/sdk/nodejs/eflo/nodeGroup.ts b/sdk/nodejs/eflo/nodeGroup.ts index 19ea4d82bc..283fa30641 100644 --- a/sdk/nodejs/eflo/nodeGroup.ts +++ b/sdk/nodejs/eflo/nodeGroup.ts @@ -167,6 +167,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Node Group can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/nodeGroupAttachment.ts b/sdk/nodejs/eflo/nodeGroupAttachment.ts index d9bc2e5565..62f8e7447b 100644 --- a/sdk/nodejs/eflo/nodeGroupAttachment.ts +++ b/sdk/nodejs/eflo/nodeGroupAttachment.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Node Group Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/subnet.ts b/sdk/nodejs/eflo/subnet.ts index a221247a24..a1c61f7dd2 100644 --- a/sdk/nodejs/eflo/subnet.ts +++ b/sdk/nodejs/eflo/subnet.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Subnet can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/vpd.ts b/sdk/nodejs/eflo/vpd.ts index ff91b542de..ff090bab0a 100644 --- a/sdk/nodejs/eflo/vpd.ts +++ b/sdk/nodejs/eflo/vpd.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vpd can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/vpdGrantRule.ts b/sdk/nodejs/eflo/vpdGrantRule.ts index bd10e6d6eb..b043e76668 100644 --- a/sdk/nodejs/eflo/vpdGrantRule.ts +++ b/sdk/nodejs/eflo/vpdGrantRule.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vpd Grant Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/eflo/vsc.ts b/sdk/nodejs/eflo/vsc.ts index 891fa5dfb5..849ee87daf 100644 --- a/sdk/nodejs/eflo/vsc.ts +++ b/sdk/nodejs/eflo/vsc.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eflo Vsc can be imported using the id, e.g. diff --git a/sdk/nodejs/ehpc/cluster.ts b/sdk/nodejs/ehpc/cluster.ts index 844ba301c3..120b995f3f 100644 --- a/sdk/nodejs/ehpc/cluster.ts +++ b/sdk/nodejs/ehpc/cluster.ts @@ -77,6 +77,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ehpc Cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/ehpc/clusterV2.ts b/sdk/nodejs/ehpc/clusterV2.ts new file mode 100644 index 0000000000..4c920d4e6e --- /dev/null +++ b/sdk/nodejs/ehpc/clusterV2.ts @@ -0,0 +1,448 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Ehpc Cluster V2 resource. + * + * E-HPC Cluster Resources. + * + * For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const example = new alicloud.vpc.Network("example", { + * isDefault: false, + * cidrBlock: "10.0.0.0/24", + * vpcName: "example-cluster-vpc", + * }); + * const exampleAccessGroup = new alicloud.nas.AccessGroup("example", { + * accessGroupType: "Vpc", + * description: name, + * accessGroupName: "StandardMountTarget", + * fileSystemType: "standard", + * }); + * const exampleFileSystem = new alicloud.nas.FileSystem("example", { + * description: "example-cluster-nas", + * storageType: "Capacity", + * nfsAcl: { + * enabled: false, + * }, + * zoneId: "cn-hangzhou-k", + * encryptType: 0, + * protocolType: "NFS", + * fileSystemType: "standard", + * }); + * const exampleSwitch = new alicloud.vpc.Switch("example", { + * isDefault: false, + * vpcId: example.id, + * zoneId: "cn-hangzhou-k", + * cidrBlock: "10.0.0.0/24", + * vswitchName: "example-cluster-vsw", + * }); + * const exampleAccessRule = new alicloud.nas.AccessRule("example", { + * priority: 1, + * accessGroupName: exampleAccessGroup.accessGroupName, + * fileSystemType: exampleFileSystem.fileSystemType, + * sourceCidrIp: "10.0.0.0/24", + * }); + * const exampleSecurityGroup = new alicloud.ecs.SecurityGroup("example", { + * vpcId: example.id, + * securityGroupType: "normal", + * }); + * const exampleMountTarget = new alicloud.nas.MountTarget("example", { + * vpcId: example.id, + * networkType: "Vpc", + * accessGroupName: exampleAccessGroup.accessGroupName, + * vswitchId: exampleSwitch.id, + * fileSystemId: exampleFileSystem.id, + * }); + * const _default = new alicloud.ehpc.ClusterV2("default", { + * clusterCredentials: { + * password: "aliHPC123", + * }, + * clusterVpcId: example.id, + * clusterCategory: "Standard", + * clusterMode: "Integrated", + * securityGroupId: exampleSecurityGroup.id, + * clusterName: "minimal-example-cluster", + * deletionProtection: true, + * clientVersion: "2.0.47", + * sharedStorages: [ + * { + * mountDirectory: "/home", + * nasDirectory: "/", + * mountTargetDomain: exampleMountTarget.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: exampleFileSystem.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * { + * mountDirectory: "/opt", + * nasDirectory: "/", + * mountTargetDomain: exampleMountTarget.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: exampleFileSystem.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * { + * mountDirectory: "/ehpcdata", + * nasDirectory: "/", + * mountTargetDomain: exampleMountTarget.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: exampleFileSystem.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * ], + * clusterVswitchId: exampleSwitch.id, + * manager: { + * managerNode: { + * systemDisk: { + * category: "cloud_essd", + * size: 40, + * level: "PL0", + * }, + * enableHt: true, + * instanceChargeType: "PostPaid", + * imageId: "centos_7_6_x64_20G_alibase_20211130.vhd", + * spotPriceLimit: 0, + * instanceType: "ecs.c6.xlarge", + * spotStrategy: "NoSpot", + * }, + * scheduler: { + * type: "SLURM", + * version: "22.05.8", + * }, + * dns: { + * type: "nis", + * version: "1.0", + * }, + * directoryService: { + * type: "nis", + * version: "1.0", + * }, + * }, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Ehpc Cluster V2 can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example + * ``` + */ +export class ClusterV2 extends pulumi.CustomResource { + /** + * Get an existing ClusterV2 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?: ClusterV2State, opts?: pulumi.CustomResourceOptions): ClusterV2 { + return new ClusterV2(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:ehpc/clusterV2:ClusterV2'; + + /** + * Returns true if the given object is an instance of ClusterV2. 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 ClusterV2 { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClusterV2.__pulumiType; + } + + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + */ + declare public readonly addons: pulumi.Output; + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + */ + declare public readonly clientVersion: pulumi.Output; + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + */ + declare public readonly clusterCategory: pulumi.Output; + /** + * Security credentials for the cluster. See `clusterCredentials` below. + */ + declare public readonly clusterCredentials: pulumi.Output; + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + */ + declare public readonly clusterMode: pulumi.Output; + /** + * The post-processing script of the cluster. + */ + declare public readonly clusterName: pulumi.Output; + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + */ + declare public readonly clusterVpcId: pulumi.Output; + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + */ + declare public readonly clusterVswitchId: pulumi.Output; + /** + * The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The idle duration of the compute nodes allowed by the cluster. + */ + declare public readonly deletionProtection: pulumi.Output; + /** + * The configurations of the cluster management node. See `manager` below. + */ + declare public readonly manager: pulumi.Output; + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + */ + declare public readonly resourceGroupId: pulumi.Output; + /** + * The security group ID. + */ + declare public readonly securityGroupId: pulumi.Output; + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + */ + declare public readonly sharedStorages: pulumi.Output; + + /** + * Create a ClusterV2 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: ClusterV2Args, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ClusterV2Args | ClusterV2State, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ClusterV2State | undefined; + resourceInputs["addons"] = state?.addons; + resourceInputs["clientVersion"] = state?.clientVersion; + resourceInputs["clusterCategory"] = state?.clusterCategory; + resourceInputs["clusterCredentials"] = state?.clusterCredentials; + resourceInputs["clusterMode"] = state?.clusterMode; + resourceInputs["clusterName"] = state?.clusterName; + resourceInputs["clusterVpcId"] = state?.clusterVpcId; + resourceInputs["clusterVswitchId"] = state?.clusterVswitchId; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["deletionProtection"] = state?.deletionProtection; + resourceInputs["manager"] = state?.manager; + resourceInputs["resourceGroupId"] = state?.resourceGroupId; + resourceInputs["securityGroupId"] = state?.securityGroupId; + resourceInputs["sharedStorages"] = state?.sharedStorages; + } else { + const args = argsOrState as ClusterV2Args | undefined; + if (args?.clusterCredentials === undefined && !opts.urn) { + throw new Error("Missing required property 'clusterCredentials'"); + } + if (args?.sharedStorages === undefined && !opts.urn) { + throw new Error("Missing required property 'sharedStorages'"); + } + resourceInputs["addons"] = args?.addons ? pulumi.secret(args.addons) : undefined; + resourceInputs["clientVersion"] = args?.clientVersion; + resourceInputs["clusterCategory"] = args?.clusterCategory; + resourceInputs["clusterCredentials"] = args?.clusterCredentials ? pulumi.secret(args.clusterCredentials) : undefined; + resourceInputs["clusterMode"] = args?.clusterMode; + resourceInputs["clusterName"] = args?.clusterName; + resourceInputs["clusterVpcId"] = args?.clusterVpcId; + resourceInputs["clusterVswitchId"] = args?.clusterVswitchId; + resourceInputs["deletionProtection"] = args?.deletionProtection; + resourceInputs["manager"] = args?.manager; + resourceInputs["resourceGroupId"] = args?.resourceGroupId; + resourceInputs["securityGroupId"] = args?.securityGroupId; + resourceInputs["sharedStorages"] = args?.sharedStorages; + resourceInputs["createTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["addons", "clusterCredentials"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ClusterV2.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ClusterV2 resources. + */ +export interface ClusterV2State { + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + */ + addons?: pulumi.Input[]>; + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + */ + clientVersion?: pulumi.Input; + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + */ + clusterCategory?: pulumi.Input; + /** + * Security credentials for the cluster. See `clusterCredentials` below. + */ + clusterCredentials?: pulumi.Input; + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + */ + clusterMode?: pulumi.Input; + /** + * The post-processing script of the cluster. + */ + clusterName?: pulumi.Input; + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + */ + clusterVpcId?: pulumi.Input; + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + */ + clusterVswitchId?: pulumi.Input; + /** + * The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + */ + createTime?: pulumi.Input; + /** + * The idle duration of the compute nodes allowed by the cluster. + */ + deletionProtection?: pulumi.Input; + /** + * The configurations of the cluster management node. See `manager` below. + */ + manager?: pulumi.Input; + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + */ + resourceGroupId?: pulumi.Input; + /** + * The security group ID. + */ + securityGroupId?: pulumi.Input; + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + */ + sharedStorages?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a ClusterV2 resource. + */ +export interface ClusterV2Args { + /** + * The cluster custom service component configuration. Only one component is supported. See `addons` below. + */ + addons?: pulumi.Input[]>; + /** + * Specifies whether to enable auto scale-out for the cluster. Valid values: + * + * - true + * - false + */ + clientVersion?: pulumi.Input; + /** + * The cluster type. Valid values: + * + * - Standard + * - Serverless + */ + clusterCategory?: pulumi.Input; + /** + * Security credentials for the cluster. See `clusterCredentials` below. + */ + clusterCredentials: pulumi.Input; + /** + * The deployment mode of the cluster. Valid values: + * + * - Integrated + * - Hybrid + * - Custom + */ + clusterMode?: pulumi.Input; + /** + * The post-processing script of the cluster. + */ + clusterName?: pulumi.Input; + /** + * The ID of the virtual private cloud (VPC) in which the cluster resides. + */ + clusterVpcId?: pulumi.Input; + /** + * The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + * You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + */ + clusterVswitchId?: pulumi.Input; + /** + * The idle duration of the compute nodes allowed by the cluster. + */ + deletionProtection?: pulumi.Input; + /** + * The configurations of the cluster management node. See `manager` below. + */ + manager?: pulumi.Input; + /** + * The ID of the resource group to which the cluster belongs. + * You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + */ + resourceGroupId?: pulumi.Input; + /** + * The security group ID. + */ + securityGroupId?: pulumi.Input; + /** + * List of cluster shared storage configurations. See `sharedStorages` below. + */ + sharedStorages: pulumi.Input[]>; +} diff --git a/sdk/nodejs/ehpc/index.ts b/sdk/nodejs/ehpc/index.ts index 24f9c0f068..33fae26898 100644 --- a/sdk/nodejs/ehpc/index.ts +++ b/sdk/nodejs/ehpc/index.ts @@ -10,6 +10,11 @@ export type Cluster = import("./cluster").Cluster; export const Cluster: typeof import("./cluster").Cluster = null as any; utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); +export { ClusterV2Args, ClusterV2State } from "./clusterV2"; +export type ClusterV2 = import("./clusterV2").ClusterV2; +export const ClusterV2: typeof import("./clusterV2").ClusterV2 = null as any; +utilities.lazyLoad(exports, ["ClusterV2"], () => require("./clusterV2")); + 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; @@ -25,6 +30,11 @@ export type JobTemplate = import("./jobTemplate").JobTemplate; export const JobTemplate: typeof import("./jobTemplate").JobTemplate = null as any; utilities.lazyLoad(exports, ["JobTemplate"], () => require("./jobTemplate")); +export { QueueArgs, QueueState } from "./queue"; +export type Queue = import("./queue").Queue; +export const Queue: typeof import("./queue").Queue = null as any; +utilities.lazyLoad(exports, ["Queue"], () => require("./queue")); + const _module = { version: utilities.getVersion(), @@ -32,12 +42,18 @@ const _module = { switch (type) { case "alicloud:ehpc/cluster:Cluster": return new Cluster(name, undefined, { urn }) + case "alicloud:ehpc/clusterV2:ClusterV2": + return new ClusterV2(name, undefined, { urn }) case "alicloud:ehpc/jobTemplate:JobTemplate": return new JobTemplate(name, undefined, { urn }) + case "alicloud:ehpc/queue:Queue": + return new Queue(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } }, }; pulumi.runtime.registerResourceModule("alicloud", "ehpc/cluster", _module) +pulumi.runtime.registerResourceModule("alicloud", "ehpc/clusterV2", _module) pulumi.runtime.registerResourceModule("alicloud", "ehpc/jobTemplate", _module) +pulumi.runtime.registerResourceModule("alicloud", "ehpc/queue", _module) diff --git a/sdk/nodejs/ehpc/jobTemplate.ts b/sdk/nodejs/ehpc/jobTemplate.ts index 7c1ae82d0b..0f6c624305 100644 --- a/sdk/nodejs/ehpc/jobTemplate.ts +++ b/sdk/nodejs/ehpc/jobTemplate.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ehpc Job Template can be imported using the id, e.g. diff --git a/sdk/nodejs/ehpc/queue.ts b/sdk/nodejs/ehpc/queue.ts new file mode 100644 index 0000000000..36c6faa06e --- /dev/null +++ b/sdk/nodejs/ehpc/queue.ts @@ -0,0 +1,481 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Ehpc Queue resource. + * + * E-HPC the compute queue of the cluster. + * + * For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const queueMinimalExampleVpc = new alicloud.vpc.Network("queue_minimal_example_vpc", { + * isDefault: false, + * cidrBlock: "10.0.0.0/8", + * vpcName: "example-cluster-vpc", + * }); + * const queueMinimalExampleVswitch = new alicloud.vpc.Switch("queue_minimal_example_vswitch", { + * isDefault: false, + * vpcId: queueMinimalExampleVpc.id, + * zoneId: "cn-hangzhou-k", + * cidrBlock: "10.0.0.0/24", + * vswitchName: "example-cluster-vsw", + * }); + * const queueMinimalExampleNas = new alicloud.nas.FileSystem("queue_minimal_example_nas", { + * description: "example-cluster-nas", + * storageType: "Capacity", + * nfsAcl: { + * enabled: false, + * }, + * zoneId: "cn-hangzhou-k", + * encryptType: 0, + * protocolType: "NFS", + * fileSystemType: "standard", + * }); + * const queueMinimalExampleAccessGroup = new alicloud.nas.AccessGroup("queue_minimal_example_access_group", { + * accessGroupType: "Vpc", + * description: name, + * accessGroupName: "StandardMountTarget", + * fileSystemType: "standard", + * }); + * const queueMinimalExampleSecurityGroup = new alicloud.ecs.SecurityGroup("queue_minimal_example_security_group", { + * vpcId: queueMinimalExampleVpc.id, + * securityGroupType: "normal", + * }); + * const queueMinimalExampleMountDomain = new alicloud.nas.MountTarget("queue_minimal_example_mount_domain", { + * vpcId: queueMinimalExampleVpc.id, + * networkType: "Vpc", + * accessGroupName: queueMinimalExampleAccessGroup.accessGroupName, + * vswitchId: queueMinimalExampleVswitch.id, + * fileSystemId: queueMinimalExampleNas.id, + * }); + * const queueMinimalExampleAccessRule = new alicloud.nas.AccessRule("queue_minimal_example_access_rule", { + * priority: 1, + * accessGroupName: queueMinimalExampleAccessGroup.accessGroupName, + * fileSystemType: queueMinimalExampleNas.fileSystemType, + * sourceCidrIp: "10.0.0.0/8", + * }); + * const queueMinimalClusterExample = new alicloud.ehpc.ClusterV2("queue_minimal_cluster_example", { + * clusterCredentials: { + * password: "aliHPC123", + * }, + * clusterVpcId: queueMinimalExampleVpc.id, + * clusterCategory: "Standard", + * clusterMode: "Integrated", + * securityGroupId: queueMinimalExampleSecurityGroup.id, + * addons: [{ + * version: "1.0", + * servicesSpec: `[ + * { + * \\"ServiceName\\": \\"SSH\\", + * \\"NetworkACL\\": [ + * { + * \\"Port\\": 22, + * \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + * \\"IpProtocol\\": \\"TCP\\" + * } + * ] + * }, + * { + * \\"ServiceName\\": \\"VNC\\", + * \\"NetworkACL\\": [ + * { + * \\"Port\\": 12016, + * \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + * \\"IpProtocol\\": \\"TCP\\" + * } + * ] + * }, + * { + * \\"ServiceName\\": \\"CLIENT\\", + * \\"ServiceAccessType\\": \\"URL\\", + * \\"ServiceAccessUrl\\": \\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\", + * \\"NetworkACL\\": [ + * { + * \\"Port\\": 12011, + * \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + * \\"IpProtocol\\": \\"TCP\\" + * } + * ] + * } + * ] + * `, + * resourcesSpec: `{ + * \\"EipResource\\": { + * \\"AutoCreate\\": true + * }, + * \\"EcsResources\\": [ + * { + * \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\", + * \\"EnableHT\\": true, + * \\"InstanceChargeType\\": \\"PostPaid\\", + * \\"InstanceType\\": \\"ecs.c7.xlarge\\", + * \\"SpotStrategy\\": \\"NoSpot\\", + * \\"SystemDisk\\": { + * \\"Category\\": \\"cloud_essd\\", + * \\"Size\\": 40, + * \\"Level\\": \\"PL0\\" + * }, + * \\"DataDisks\\": [ + * { + * \\"Category\\": \\"cloud_essd\\", + * \\"Size\\": 40, + * \\"Level\\": \\"PL0\\" + * } + * ] + * } + * ] + * } + * `, + * name: "Login", + * }], + * clusterName: "minimal-example-cluster", + * deletionProtection: false, + * sharedStorages: [ + * { + * mountDirectory: "/home", + * nasDirectory: "/", + * mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: queueMinimalExampleNas.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * { + * mountDirectory: "/opt", + * nasDirectory: "/", + * mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: queueMinimalExampleNas.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * { + * mountDirectory: "/ehpcdata", + * nasDirectory: "/", + * mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain, + * protocolType: "NFS", + * fileSystemId: queueMinimalExampleNas.id, + * mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + * }, + * ], + * clusterVswitchId: queueMinimalExampleVswitch.id, + * manager: { + * managerNode: { + * systemDisk: { + * category: "cloud_essd", + * size: 40, + * level: "PL0", + * }, + * enableHt: true, + * instanceChargeType: "PostPaid", + * imageId: "centos_7_6_x64_20G_alibase_20211130.vhd", + * instanceType: "ecs.c6.xlarge", + * spotStrategy: "NoSpot", + * }, + * scheduler: { + * type: "SLURM", + * version: "22.05.8", + * }, + * dns: { + * type: "nis", + * version: "1.0", + * }, + * directoryService: { + * type: "nis", + * version: "1.0", + * }, + * }, + * }, { + * dependsOn: [queueMinimalExampleAccessRule], + * }); + * const _default = new alicloud.ehpc.Queue("default", { + * clusterId: queueMinimalClusterExample.id, + * queueName: "autoque1", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Ehpc Queue can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:ehpc/queue:Queue example : + * ``` + */ +export class Queue extends pulumi.CustomResource { + /** + * Get an existing Queue 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?: QueueState, opts?: pulumi.CustomResourceOptions): Queue { + return new Queue(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:ehpc/queue:Queue'; + + /** + * Returns true if the given object is an instance of Queue. 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 Queue { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Queue.__pulumiType; + } + + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + */ + declare public readonly clusterId: pulumi.Output; + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + */ + declare public readonly computeNodes: pulumi.Output; + /** + * The creation time of the resource + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + */ + declare public readonly enableScaleIn: pulumi.Output; + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + */ + declare public readonly enableScaleOut: pulumi.Output; + /** + * The hostname prefix of the added compute nodes. + */ + declare public readonly hostnamePrefix: pulumi.Output; + /** + * The hostname suffix of the compute nodes in the queue. + */ + declare public readonly hostnameSuffix: pulumi.Output; + /** + * The initial number of compute nodes in the queue. + */ + declare public readonly initialCount: pulumi.Output; + /** + * The type of the network for interconnecting compute nodes in the queue. + */ + declare public readonly interConnect: pulumi.Output; + /** + * The maximum number of compute nodes that the queue can contain. + */ + declare public readonly maxCount: pulumi.Output; + /** + * The minimum number of compute nodes that the queue must contain. + */ + declare public readonly minCount: pulumi.Output; + /** + * The queue name. + */ + declare public readonly queueName: pulumi.Output; + /** + * The vSwitches available for use by compute nodes in the queue. + */ + declare public readonly vswitchIds: pulumi.Output; + + /** + * Create a Queue 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?: QueueArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: QueueArgs | QueueState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as QueueState | undefined; + resourceInputs["clusterId"] = state?.clusterId; + resourceInputs["computeNodes"] = state?.computeNodes; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["enableScaleIn"] = state?.enableScaleIn; + resourceInputs["enableScaleOut"] = state?.enableScaleOut; + resourceInputs["hostnamePrefix"] = state?.hostnamePrefix; + resourceInputs["hostnameSuffix"] = state?.hostnameSuffix; + resourceInputs["initialCount"] = state?.initialCount; + resourceInputs["interConnect"] = state?.interConnect; + resourceInputs["maxCount"] = state?.maxCount; + resourceInputs["minCount"] = state?.minCount; + resourceInputs["queueName"] = state?.queueName; + resourceInputs["vswitchIds"] = state?.vswitchIds; + } else { + const args = argsOrState as QueueArgs | undefined; + resourceInputs["clusterId"] = args?.clusterId; + resourceInputs["computeNodes"] = args?.computeNodes; + resourceInputs["enableScaleIn"] = args?.enableScaleIn; + resourceInputs["enableScaleOut"] = args?.enableScaleOut; + resourceInputs["hostnamePrefix"] = args?.hostnamePrefix; + resourceInputs["hostnameSuffix"] = args?.hostnameSuffix; + resourceInputs["initialCount"] = args?.initialCount; + resourceInputs["interConnect"] = args?.interConnect; + resourceInputs["maxCount"] = args?.maxCount; + resourceInputs["minCount"] = args?.minCount; + resourceInputs["queueName"] = args?.queueName; + resourceInputs["vswitchIds"] = args?.vswitchIds; + resourceInputs["createTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Queue.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Queue resources. + */ +export interface QueueState { + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + */ + clusterId?: pulumi.Input; + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + */ + computeNodes?: pulumi.Input[]>; + /** + * The creation time of the resource + */ + createTime?: pulumi.Input; + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + */ + enableScaleIn?: pulumi.Input; + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + */ + enableScaleOut?: pulumi.Input; + /** + * The hostname prefix of the added compute nodes. + */ + hostnamePrefix?: pulumi.Input; + /** + * The hostname suffix of the compute nodes in the queue. + */ + hostnameSuffix?: pulumi.Input; + /** + * The initial number of compute nodes in the queue. + */ + initialCount?: pulumi.Input; + /** + * The type of the network for interconnecting compute nodes in the queue. + */ + interConnect?: pulumi.Input; + /** + * The maximum number of compute nodes that the queue can contain. + */ + maxCount?: pulumi.Input; + /** + * The minimum number of compute nodes that the queue must contain. + */ + minCount?: pulumi.Input; + /** + * The queue name. + */ + queueName?: pulumi.Input; + /** + * The vSwitches available for use by compute nodes in the queue. + */ + vswitchIds?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a Queue resource. + */ +export interface QueueArgs { + /** + * The cluster ID. + * You can call the ListClusters operation to query the cluster ID. + */ + clusterId?: pulumi.Input; + /** + * The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `computeNodes` below. + */ + computeNodes?: pulumi.Input[]>; + /** + * Specifies whether to enable auto scale-in for the queue. Valid values: + * + * - true + * - false + */ + enableScaleIn?: pulumi.Input; + /** + * Specifies whether to enable auto scale-out for the queue. Valid values: + * + * - true + * - false + */ + enableScaleOut?: pulumi.Input; + /** + * The hostname prefix of the added compute nodes. + */ + hostnamePrefix?: pulumi.Input; + /** + * The hostname suffix of the compute nodes in the queue. + */ + hostnameSuffix?: pulumi.Input; + /** + * The initial number of compute nodes in the queue. + */ + initialCount?: pulumi.Input; + /** + * The type of the network for interconnecting compute nodes in the queue. + */ + interConnect?: pulumi.Input; + /** + * The maximum number of compute nodes that the queue can contain. + */ + maxCount?: pulumi.Input; + /** + * The minimum number of compute nodes that the queue must contain. + */ + minCount?: pulumi.Input; + /** + * The queue name. + */ + queueName?: pulumi.Input; + /** + * The vSwitches available for use by compute nodes in the queue. + */ + vswitchIds?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/eipanycast/anycastEipAddress.ts b/sdk/nodejs/eipanycast/anycastEipAddress.ts index 13b3e840ae..cf8aa0a226 100644 --- a/sdk/nodejs/eipanycast/anycastEipAddress.ts +++ b/sdk/nodejs/eipanycast/anycastEipAddress.ts @@ -5,7 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. + * Provides a Eipanycast Anycast Eip Address resource. + * + * Anycast Elastic IP Address. * * For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). * @@ -31,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -80,7 +84,7 @@ export class AnycastEipAddress extends pulumi.CustomResource { */ declare public /*out*/ readonly createTime: pulumi.Output; /** - * Anycast EIP instance description. + * Anycast EIP instance description */ declare public readonly description: pulumi.Output; /** @@ -88,7 +92,7 @@ export class AnycastEipAddress extends pulumi.CustomResource { */ declare public readonly internetChargeType: pulumi.Output; /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode */ declare public readonly paymentType: pulumi.Output; /** @@ -169,7 +173,7 @@ export interface AnycastEipAddressState { */ createTime?: pulumi.Input; /** - * Anycast EIP instance description. + * Anycast EIP instance description */ description?: pulumi.Input; /** @@ -177,7 +181,7 @@ export interface AnycastEipAddressState { */ internetChargeType?: pulumi.Input; /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode */ paymentType?: pulumi.Input; /** @@ -211,7 +215,7 @@ export interface AnycastEipAddressArgs { */ bandwidth?: pulumi.Input; /** - * Anycast EIP instance description. + * Anycast EIP instance description */ description?: pulumi.Input; /** @@ -219,7 +223,7 @@ export interface AnycastEipAddressArgs { */ internetChargeType?: pulumi.Input; /** - * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + * The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode */ paymentType?: pulumi.Input; /** diff --git a/sdk/nodejs/eipanycast/anycastEipAddressAttachment.ts b/sdk/nodejs/eipanycast/anycastEipAddressAttachment.ts index ea7eb5147b..1470683458 100644 --- a/sdk/nodejs/eipanycast/anycastEipAddressAttachment.ts +++ b/sdk/nodejs/eipanycast/anycastEipAddressAttachment.ts @@ -155,6 +155,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/elasticsearch/instance.ts b/sdk/nodejs/elasticsearch/instance.ts index 91dfea30c7..f29e8ac3b2 100644 --- a/sdk/nodejs/elasticsearch/instance.ts +++ b/sdk/nodejs/elasticsearch/instance.ts @@ -2,15 +2,65 @@ // *** 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 Elasticsearch Instance resource. + * + * For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). + * + * > **NOTE:** Available since v1.30.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "tf-example"; + * const _default = alicloud.elasticsearch.getZones({}); + * const defaultNetwork = new alicloud.vpc.Network("default", { + * vpcName: name, + * cidrBlock: "10.0.0.0/8", + * }); + * const defaultSwitch = new alicloud.vpc.Switch("default", { + * vswitchName: name, + * cidrBlock: "10.1.0.0/16", + * vpcId: defaultNetwork.id, + * zoneId: _default.then(_default => _default.zones?.[0]?.id), + * }); + * const defaultInstance = new alicloud.elasticsearch.Instance("default", { + * description: name, + * vswitchId: defaultSwitch.id, + * password: "Examplw1234", + * version: "7.10_with_X-Pack", + * instanceChargeType: "PostPaid", + * dataNodeAmount: 2, + * dataNodeSpec: "elasticsearch.sn2ne.large", + * dataNodeDiskSize: 20, + * dataNodeDiskType: "cloud_ssd", + * kibanaNodeSpec: "elasticsearch.sn2ne.large", + * dataNodeDiskPerformanceLevel: "PL1", + * tags: { + * Created: "TF", + * For: "example", + * }, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * Elasticsearch can be imported using the id, e.g. + * Elasticsearch Instance can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 + * $ pulumi import alicloud:elasticsearch/instance:Instance example * ``` */ export class Instance extends pulumi.CustomResource { @@ -42,87 +92,140 @@ export class Instance extends pulumi.CustomResource { } /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Schema Type: + */ + declare public /*out*/ readonly archType: pulumi.Output; + /** + * Renewal Period */ declare public readonly autoRenewDuration: pulumi.Output; /** * The Elasticsearch cluster's client node quantity, between 2 and 25. + * + * @deprecated Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ - declare public readonly clientNodeAmount: pulumi.Output; + declare public readonly clientNodeAmount: pulumi.Output; + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + */ + declare public readonly clientNodeConfiguration: pulumi.Output; /** * The client node spec. If specified, client node will be created. + * + * @deprecated Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. + */ + declare public readonly clientNodeSpec: pulumi.Output; + /** + * Instance creation time */ - declare public readonly clientNodeSpec: pulumi.Output; + declare public /*out*/ readonly createTime: pulumi.Output; /** * The Elasticsearch cluster's data node quantity, between 2 and 50. + * + * @deprecated Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ declare public readonly dataNodeAmount: pulumi.Output; + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + */ + declare public readonly dataNodeConfiguration: pulumi.Output; /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ - declare public readonly dataNodeDiskEncrypted: pulumi.Output; + declare public readonly dataNodeDiskEncrypted: pulumi.Output; /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + * + * @deprecated Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ - declare public readonly dataNodeDiskPerformanceLevel: pulumi.Output; + declare public readonly dataNodeDiskPerformanceLevel: pulumi.Output; /** * The single data node storage space. + * + * @deprecated Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ declare public readonly dataNodeDiskSize: pulumi.Output; /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + * + * @deprecated Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ declare public readonly dataNodeDiskType: pulumi.Output; /** * The data node specifications of the Elasticsearch instance. + * + * @deprecated Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ declare public readonly dataNodeSpec: pulumi.Output; /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name */ declare public readonly description: pulumi.Output; /** - * Instance connection domain (only VPC network access supported). + * Elasticsearch cluster private domain name */ declare public /*out*/ readonly domain: pulumi.Output; /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. + */ + declare public readonly enableKibanaPrivateNetwork: pulumi.Output; + /** + * Does Kibana enable public access */ - declare public readonly enableKibanaPrivateNetwork: pulumi.Output; + declare public readonly enableKibanaPublicNetwork: pulumi.Output; /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. */ - declare public readonly enableKibanaPublicNetwork: pulumi.Output; + declare public readonly enablePublic: pulumi.Output; + declare public readonly force: pulumi.Output; /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Version type. */ - declare public readonly enablePublic: pulumi.Output; + declare public readonly instanceCategory: pulumi.Output; /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + * + * @deprecated Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. + */ + declare public readonly instanceChargeType: pulumi.Output; + /** + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. */ - declare public readonly instanceChargeType: pulumi.Output; + declare public readonly kibanaConfiguration: pulumi.Output; /** - * Kibana console domain (Internet access supported). + * Kibana address */ declare public /*out*/ readonly kibanaDomain: pulumi.Output; /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + * + * @deprecated Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ declare public readonly kibanaNodeSpec: pulumi.Output; /** - * Kibana console port. + * The port assigned by the Kibana node. */ declare public /*out*/ readonly kibanaPort: pulumi.Output; /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID */ declare public readonly kibanaPrivateSecurityGroupId: pulumi.Output; /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist */ declare public readonly kibanaPrivateWhitelists: pulumi.Output; /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist */ declare public readonly kibanaWhitelists: pulumi.Output; /** @@ -133,72 +236,86 @@ export class Instance extends pulumi.CustomResource { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ declare public readonly kmsEncryptionContext: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + */ + declare public readonly masterConfiguration: pulumi.Output; /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + * + * @deprecated Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ - declare public readonly masterNodeDiskType: pulumi.Output; + declare public readonly masterNodeDiskType: pulumi.Output; /** * The dedicated master node spec. If specified, dedicated master node will be created. + * + * @deprecated Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ - declare public readonly masterNodeSpec: pulumi.Output; + declare public readonly masterNodeSpec: pulumi.Output; + declare public readonly orderActionType: pulumi.Output; /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + * The access password of the instance. */ declare public readonly password: pulumi.Output; /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + */ + declare public readonly paymentType: pulumi.Output; + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. */ - declare public readonly period: pulumi.Output; + declare public readonly period: pulumi.Output; /** * Instance connection port. */ declare public /*out*/ readonly port: pulumi.Output; /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) */ declare public readonly privateWhitelists: pulumi.Output; /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. */ - declare public readonly protocol: pulumi.Output; + declare public readonly protocol: pulumi.Output; /** - * Instance connection public domain. + * The public network address of the current instance. */ declare public /*out*/ readonly publicDomain: pulumi.Output; /** - * Instance connection public port. + * Elasticsearch cluster public network access port */ declare public /*out*/ readonly publicPort: pulumi.Output; /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list */ declare public readonly publicWhitelists: pulumi.Output; /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status */ - declare public readonly renewStatus: pulumi.Output; + declare public readonly renewStatus: pulumi.Output; /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit */ - declare public readonly renewalDurationUnit: pulumi.Output; + declare public readonly renewalDurationUnit: pulumi.Output; /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs */ declare public readonly resourceGroupId: pulumi.Output; /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information */ declare public readonly settingConfig: pulumi.Output<{[key: string]: string}>; /** - * The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * Instance change status */ declare public /*out*/ readonly status: pulumi.Output; /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs */ declare public readonly tags: pulumi.Output<{[key: string]: string} | undefined>; + declare public readonly updateStrategy: pulumi.Output; /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version */ declare public readonly version: pulumi.Output; /** @@ -207,28 +324,44 @@ export class Instance extends pulumi.CustomResource { declare public readonly vswitchId: pulumi.Output; /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ - declare public readonly warmNodeAmount: pulumi.Output; + declare public readonly warmNodeAmount: pulumi.Output; + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + */ + declare public readonly warmNodeConfiguration: pulumi.Output; /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ - declare public readonly warmNodeDiskEncrypted: pulumi.Output; + declare public readonly warmNodeDiskEncrypted: pulumi.Output; /** * The single warm node storage space, should between 500 and 20480 + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ - declare public readonly warmNodeDiskSize: pulumi.Output; + declare public readonly warmNodeDiskSize: pulumi.Output; /** * The warm node disk type. Supported values: cloud_efficiency. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ - declare public readonly warmNodeDiskType: pulumi.Output; + declare public readonly warmNodeDiskType: pulumi.Output; /** * The warm node specifications of the Elasticsearch instance. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ - declare public readonly warmNodeSpec: pulumi.Output; + declare public readonly warmNodeSpec: pulumi.Output; /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: */ - declare public readonly zoneCount: pulumi.Output; + declare public readonly zoneCount: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. @@ -243,10 +376,14 @@ export class Instance extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as InstanceState | undefined; + resourceInputs["archType"] = state?.archType; resourceInputs["autoRenewDuration"] = state?.autoRenewDuration; resourceInputs["clientNodeAmount"] = state?.clientNodeAmount; + resourceInputs["clientNodeConfiguration"] = state?.clientNodeConfiguration; resourceInputs["clientNodeSpec"] = state?.clientNodeSpec; + resourceInputs["createTime"] = state?.createTime; resourceInputs["dataNodeAmount"] = state?.dataNodeAmount; + resourceInputs["dataNodeConfiguration"] = state?.dataNodeConfiguration; resourceInputs["dataNodeDiskEncrypted"] = state?.dataNodeDiskEncrypted; resourceInputs["dataNodeDiskPerformanceLevel"] = state?.dataNodeDiskPerformanceLevel; resourceInputs["dataNodeDiskSize"] = state?.dataNodeDiskSize; @@ -257,7 +394,10 @@ export class Instance extends pulumi.CustomResource { resourceInputs["enableKibanaPrivateNetwork"] = state?.enableKibanaPrivateNetwork; resourceInputs["enableKibanaPublicNetwork"] = state?.enableKibanaPublicNetwork; resourceInputs["enablePublic"] = state?.enablePublic; + resourceInputs["force"] = state?.force; + resourceInputs["instanceCategory"] = state?.instanceCategory; resourceInputs["instanceChargeType"] = state?.instanceChargeType; + resourceInputs["kibanaConfiguration"] = state?.kibanaConfiguration; resourceInputs["kibanaDomain"] = state?.kibanaDomain; resourceInputs["kibanaNodeSpec"] = state?.kibanaNodeSpec; resourceInputs["kibanaPort"] = state?.kibanaPort; @@ -266,9 +406,12 @@ export class Instance extends pulumi.CustomResource { resourceInputs["kibanaWhitelists"] = state?.kibanaWhitelists; resourceInputs["kmsEncryptedPassword"] = state?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = state?.kmsEncryptionContext; + resourceInputs["masterConfiguration"] = state?.masterConfiguration; resourceInputs["masterNodeDiskType"] = state?.masterNodeDiskType; resourceInputs["masterNodeSpec"] = state?.masterNodeSpec; + resourceInputs["orderActionType"] = state?.orderActionType; resourceInputs["password"] = state?.password; + resourceInputs["paymentType"] = state?.paymentType; resourceInputs["period"] = state?.period; resourceInputs["port"] = state?.port; resourceInputs["privateWhitelists"] = state?.privateWhitelists; @@ -282,9 +425,11 @@ export class Instance extends pulumi.CustomResource { resourceInputs["settingConfig"] = state?.settingConfig; resourceInputs["status"] = state?.status; resourceInputs["tags"] = state?.tags; + resourceInputs["updateStrategy"] = state?.updateStrategy; resourceInputs["version"] = state?.version; resourceInputs["vswitchId"] = state?.vswitchId; resourceInputs["warmNodeAmount"] = state?.warmNodeAmount; + resourceInputs["warmNodeConfiguration"] = state?.warmNodeConfiguration; resourceInputs["warmNodeDiskEncrypted"] = state?.warmNodeDiskEncrypted; resourceInputs["warmNodeDiskSize"] = state?.warmNodeDiskSize; resourceInputs["warmNodeDiskType"] = state?.warmNodeDiskType; @@ -292,18 +437,6 @@ export class Instance extends pulumi.CustomResource { resourceInputs["zoneCount"] = state?.zoneCount; } else { const args = argsOrState as InstanceArgs | undefined; - if (args?.dataNodeAmount === undefined && !opts.urn) { - throw new Error("Missing required property 'dataNodeAmount'"); - } - if (args?.dataNodeDiskSize === undefined && !opts.urn) { - throw new Error("Missing required property 'dataNodeDiskSize'"); - } - if (args?.dataNodeDiskType === undefined && !opts.urn) { - throw new Error("Missing required property 'dataNodeDiskType'"); - } - if (args?.dataNodeSpec === undefined && !opts.urn) { - throw new Error("Missing required property 'dataNodeSpec'"); - } if (args?.version === undefined && !opts.urn) { throw new Error("Missing required property 'version'"); } @@ -312,8 +445,10 @@ export class Instance extends pulumi.CustomResource { } resourceInputs["autoRenewDuration"] = args?.autoRenewDuration; resourceInputs["clientNodeAmount"] = args?.clientNodeAmount; + resourceInputs["clientNodeConfiguration"] = args?.clientNodeConfiguration; resourceInputs["clientNodeSpec"] = args?.clientNodeSpec; resourceInputs["dataNodeAmount"] = args?.dataNodeAmount; + resourceInputs["dataNodeConfiguration"] = args?.dataNodeConfiguration; resourceInputs["dataNodeDiskEncrypted"] = args?.dataNodeDiskEncrypted; resourceInputs["dataNodeDiskPerformanceLevel"] = args?.dataNodeDiskPerformanceLevel; resourceInputs["dataNodeDiskSize"] = args?.dataNodeDiskSize; @@ -323,16 +458,22 @@ export class Instance extends pulumi.CustomResource { resourceInputs["enableKibanaPrivateNetwork"] = args?.enableKibanaPrivateNetwork; resourceInputs["enableKibanaPublicNetwork"] = args?.enableKibanaPublicNetwork; resourceInputs["enablePublic"] = args?.enablePublic; + resourceInputs["force"] = args?.force; + resourceInputs["instanceCategory"] = args?.instanceCategory; resourceInputs["instanceChargeType"] = args?.instanceChargeType; + resourceInputs["kibanaConfiguration"] = args?.kibanaConfiguration; resourceInputs["kibanaNodeSpec"] = args?.kibanaNodeSpec; resourceInputs["kibanaPrivateSecurityGroupId"] = args?.kibanaPrivateSecurityGroupId; resourceInputs["kibanaPrivateWhitelists"] = args?.kibanaPrivateWhitelists; resourceInputs["kibanaWhitelists"] = args?.kibanaWhitelists; resourceInputs["kmsEncryptedPassword"] = args?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = args?.kmsEncryptionContext; + resourceInputs["masterConfiguration"] = args?.masterConfiguration; resourceInputs["masterNodeDiskType"] = args?.masterNodeDiskType; resourceInputs["masterNodeSpec"] = args?.masterNodeSpec; + resourceInputs["orderActionType"] = args?.orderActionType; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["paymentType"] = args?.paymentType; resourceInputs["period"] = args?.period; resourceInputs["privateWhitelists"] = args?.privateWhitelists; resourceInputs["protocol"] = args?.protocol; @@ -342,14 +483,18 @@ export class Instance extends pulumi.CustomResource { resourceInputs["resourceGroupId"] = args?.resourceGroupId; resourceInputs["settingConfig"] = args?.settingConfig; resourceInputs["tags"] = args?.tags; + resourceInputs["updateStrategy"] = args?.updateStrategy; resourceInputs["version"] = args?.version; resourceInputs["vswitchId"] = args?.vswitchId; resourceInputs["warmNodeAmount"] = args?.warmNodeAmount; + resourceInputs["warmNodeConfiguration"] = args?.warmNodeConfiguration; resourceInputs["warmNodeDiskEncrypted"] = args?.warmNodeDiskEncrypted; resourceInputs["warmNodeDiskSize"] = args?.warmNodeDiskSize; resourceInputs["warmNodeDiskType"] = args?.warmNodeDiskType; resourceInputs["warmNodeSpec"] = args?.warmNodeSpec; resourceInputs["zoneCount"] = args?.zoneCount; + resourceInputs["archType"] = undefined /*out*/; + resourceInputs["createTime"] = undefined /*out*/; resourceInputs["domain"] = undefined /*out*/; resourceInputs["kibanaDomain"] = undefined /*out*/; resourceInputs["kibanaPort"] = undefined /*out*/; @@ -370,87 +515,140 @@ export class Instance extends pulumi.CustomResource { */ export interface InstanceState { /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Schema Type: + */ + archType?: pulumi.Input; + /** + * Renewal Period */ autoRenewDuration?: pulumi.Input; /** * The Elasticsearch cluster's client node quantity, between 2 and 25. + * + * @deprecated Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ clientNodeAmount?: pulumi.Input; + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + */ + clientNodeConfiguration?: pulumi.Input; /** * The client node spec. If specified, client node will be created. + * + * @deprecated Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ clientNodeSpec?: pulumi.Input; + /** + * Instance creation time + */ + createTime?: pulumi.Input; /** * The Elasticsearch cluster's data node quantity, between 2 and 50. + * + * @deprecated Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ dataNodeAmount?: pulumi.Input; + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + */ + dataNodeConfiguration?: pulumi.Input; /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ dataNodeDiskEncrypted?: pulumi.Input; /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + * + * @deprecated Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ dataNodeDiskPerformanceLevel?: pulumi.Input; /** * The single data node storage space. + * + * @deprecated Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ dataNodeDiskSize?: pulumi.Input; /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + * + * @deprecated Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ dataNodeDiskType?: pulumi.Input; /** * The data node specifications of the Elasticsearch instance. + * + * @deprecated Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ dataNodeSpec?: pulumi.Input; /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name */ description?: pulumi.Input; /** - * Instance connection domain (only VPC network access supported). + * Elasticsearch cluster private domain name */ domain?: pulumi.Input; /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. */ enableKibanaPrivateNetwork?: pulumi.Input; /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Does Kibana enable public access */ enableKibanaPublicNetwork?: pulumi.Input; /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. */ enablePublic?: pulumi.Input; + force?: pulumi.Input; + /** + * Version type. + */ + instanceCategory?: pulumi.Input; /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + * + * @deprecated Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ instanceChargeType?: pulumi.Input; /** - * Kibana console domain (Internet access supported). + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. + */ + kibanaConfiguration?: pulumi.Input; + /** + * Kibana address */ kibanaDomain?: pulumi.Input; /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + * + * @deprecated Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ kibanaNodeSpec?: pulumi.Input; /** - * Kibana console port. + * The port assigned by the Kibana node. */ kibanaPort?: pulumi.Input; /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID */ kibanaPrivateSecurityGroupId?: pulumi.Input; /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist */ kibanaPrivateWhitelists?: pulumi.Input[]>; /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist */ kibanaWhitelists?: pulumi.Input[]>; /** @@ -461,20 +659,33 @@ export interface InstanceState { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ kmsEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + */ + masterConfiguration?: pulumi.Input; /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + * + * @deprecated Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ masterNodeDiskType?: pulumi.Input; /** * The dedicated master node spec. If specified, dedicated master node will be created. + * + * @deprecated Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ masterNodeSpec?: pulumi.Input; + orderActionType?: pulumi.Input; /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + * The access password of the instance. */ password?: pulumi.Input; /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + */ + paymentType?: pulumi.Input; + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. */ period?: pulumi.Input; /** @@ -482,51 +693,52 @@ export interface InstanceState { */ port?: pulumi.Input; /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) */ privateWhitelists?: pulumi.Input[]>; /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. */ protocol?: pulumi.Input; /** - * Instance connection public domain. + * The public network address of the current instance. */ publicDomain?: pulumi.Input; /** - * Instance connection public port. + * Elasticsearch cluster public network access port */ publicPort?: pulumi.Input; /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list */ publicWhitelists?: pulumi.Input[]>; /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status */ renewStatus?: pulumi.Input; /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit */ renewalDurationUnit?: pulumi.Input; /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs */ resourceGroupId?: pulumi.Input; /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information */ settingConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + * Instance change status */ status?: pulumi.Input; /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + updateStrategy?: pulumi.Input; /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version */ version?: pulumi.Input; /** @@ -535,26 +747,42 @@ export interface InstanceState { vswitchId?: pulumi.Input; /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ warmNodeAmount?: pulumi.Input; + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + */ + warmNodeConfiguration?: pulumi.Input; /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ warmNodeDiskEncrypted?: pulumi.Input; /** * The single warm node storage space, should between 500 and 20480 + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ warmNodeDiskSize?: pulumi.Input; /** * The warm node disk type. Supported values: cloud_efficiency. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ warmNodeDiskType?: pulumi.Input; /** * The warm node specifications of the Elasticsearch instance. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ warmNodeSpec?: pulumi.Input; /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: */ zoneCount?: pulumi.Input; } @@ -564,75 +792,120 @@ export interface InstanceState { */ export interface InstanceArgs { /** - * Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instanceChargeType` is `PrePaid` and `renewStatus` is `AutoRenewal`. + * Renewal Period */ autoRenewDuration?: pulumi.Input; /** * The Elasticsearch cluster's client node quantity, between 2 and 25. + * + * @deprecated Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead. */ clientNodeAmount?: pulumi.Input; + /** + * Elasticsearch cluster coordination node configuration See `clientNodeConfiguration` below. + */ + clientNodeConfiguration?: pulumi.Input; /** * The client node spec. If specified, client node will be created. + * + * @deprecated Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead. */ clientNodeSpec?: pulumi.Input; /** * The Elasticsearch cluster's data node quantity, between 2 and 50. + * + * @deprecated Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead. */ - dataNodeAmount: pulumi.Input; + dataNodeAmount?: pulumi.Input; + /** + * Elasticsearch data node information See `dataNodeConfiguration` below. + */ + dataNodeConfiguration?: pulumi.Input; /** * If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead. */ dataNodeDiskEncrypted?: pulumi.Input; /** * Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `dataNodeDiskType` muse be `cloudEssd`. + * + * @deprecated Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead. */ dataNodeDiskPerformanceLevel?: pulumi.Input; /** * The single data node storage space. + * + * @deprecated Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead. */ - dataNodeDiskSize: pulumi.Input; + dataNodeDiskSize?: pulumi.Input; /** * The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + * + * @deprecated Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead. */ - dataNodeDiskType: pulumi.Input; + dataNodeDiskType?: pulumi.Input; /** * The data node specifications of the Elasticsearch instance. + * + * @deprecated Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead. */ - dataNodeSpec: pulumi.Input; + dataNodeSpec?: pulumi.Input; /** - * The description of instance. It a string of 0 to 30 characters. + * Instance name */ description?: pulumi.Input; /** - * Bool, default to false. When it set to true, the instance can close kibana private network access。 + * Whether to enable Kibana private network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. */ enableKibanaPrivateNetwork?: pulumi.Input; /** - * Bool, default to true. When it set to false, the instance can enable kibana public network access。 + * Does Kibana enable public access */ enableKibanaPublicNetwork?: pulumi.Input; /** - * Bool, default to false. When it set to true, the instance can enable public network access。 + * Whether to enable Kibana public network access. + * + * The meaning of the value is as follows: + * - true: On. + * - false: does not open. */ enablePublic?: pulumi.Input; + force?: pulumi.Input; + /** + * Version type. + */ + instanceCategory?: pulumi.Input; /** * Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instanceChargeYpe from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + * + * @deprecated Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead. */ instanceChargeType?: pulumi.Input; + /** + * Elasticsearch Kibana node settings See `kibanaConfiguration` below. + */ + kibanaConfiguration?: pulumi.Input; /** * The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. + * + * @deprecated Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead. */ kibanaNodeSpec?: pulumi.Input; /** - * the security group id associated with Kibana private network, this param is required when `enableKibanaPrivateNetwork` set true, and the security group id should in the same VPC as `vswitchId` + * Kibana private network security group ID */ kibanaPrivateSecurityGroupId?: pulumi.Input; /** - * Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibanaPrivateSecurityGroupId` instead + * Cluster Kibana node private network access whitelist */ kibanaPrivateWhitelists?: pulumi.Input[]>; /** - * Set the Kibana's IP whitelist in internet network. + * Kibana private network access whitelist */ kibanaWhitelists?: pulumi.Input[]>; /** @@ -643,56 +916,70 @@ export interface InstanceArgs { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ kmsEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Elasticsearch proprietary master node configuration information See `masterConfiguration` below. + */ + masterConfiguration?: pulumi.Input; /** * The single master node storage space. Valid values are `PrePaid`, `PostPaid`. + * + * @deprecated Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead. */ masterNodeDiskType?: pulumi.Input; /** * The dedicated master node spec. If specified, dedicated master node will be created. + * + * @deprecated Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead. */ masterNodeSpec?: pulumi.Input; + orderActionType?: pulumi.Input; /** - * The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + * The access password of the instance. */ password?: pulumi.Input; /** - * The duration that you will buy Elasticsearch instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + * The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + */ + paymentType?: pulumi.Input; + /** + * The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. */ period?: pulumi.Input; /** - * Set the instance's IP whitelist in VPC network. + * Elasticsearch private network whitelist. (Same as EsIpWhitelist) */ privateWhitelists?: pulumi.Input[]>; /** - * Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + * Access protocol. Optional values: `HTTP` and **HTTPS * *. */ protocol?: pulumi.Input; /** - * Set the instance's IP whitelist in internet network. + * Elasticseach public network access whitelist IP list */ publicWhitelists?: pulumi.Input[]>; /** - * The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instanceChargeType` must be `PrePaid`. + * Renewal Status */ renewStatus?: pulumi.Input; /** - * Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + * Renewal Period Unit */ renewalDurationUnit?: pulumi.Input; /** - * The ID of resource group which the Elasticsearch instance belongs. + * Resource group to which the instance belongs */ resourceGroupId?: pulumi.Input; /** - * The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + * Configuration information */ settingConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * A mapping of tags to assign to the resource. + * Collection of tag key-value pairs */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + updateStrategy?: pulumi.Input; /** - * Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + * Instance version */ version: pulumi.Input; /** @@ -701,26 +988,42 @@ export interface InstanceArgs { vswitchId: pulumi.Input; /** * The Elasticsearch cluster's warm node quantity, between 3 and 50. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead. */ warmNodeAmount?: pulumi.Input; + /** + * Elasticsearch cluster cold data node configuration See `warmNodeConfiguration` below. + */ + warmNodeConfiguration?: pulumi.Input; /** * If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead. */ warmNodeDiskEncrypted?: pulumi.Input; /** * The single warm node storage space, should between 500 and 20480 + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead. */ warmNodeDiskSize?: pulumi.Input; /** * The warm node disk type. Supported values: cloud_efficiency. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead. */ warmNodeDiskType?: pulumi.Input; /** * The warm node specifications of the Elasticsearch instance. + * + * @deprecated Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead. */ warmNodeSpec?: pulumi.Input; /** - * The Multi-AZ supported for Elasticsearch, between 1 and 3. The `dataNodeAmount` value must be an integral multiple of the `zoneCount` value. + * The number of zones in the Elasticsearch instance. + * + * The following arguments will be discarded. Please use new fields as soon as possible: */ zoneCount?: pulumi.Input; } diff --git a/sdk/nodejs/emr/cluster.ts b/sdk/nodejs/emr/cluster.ts index 49e8794569..cde2e59206 100644 --- a/sdk/nodejs/emr/cluster.ts +++ b/sdk/nodejs/emr/cluster.ts @@ -518,6 +518,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/nodejs/emrv2/cluster.ts b/sdk/nodejs/emrv2/cluster.ts index a467480f16..ea2427f54d 100644 --- a/sdk/nodejs/emrv2/cluster.ts +++ b/sdk/nodejs/emrv2/cluster.ts @@ -149,6 +149,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/nodejs/ens/disk.ts b/sdk/nodejs/ens/disk.ts index 94037d7abc..748f999e0d 100644 --- a/sdk/nodejs/ens/disk.ts +++ b/sdk/nodejs/ens/disk.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Disk can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/diskInstanceAttachment.ts b/sdk/nodejs/ens/diskInstanceAttachment.ts index f59ace19f9..9fedfded85 100644 --- a/sdk/nodejs/ens/diskInstanceAttachment.ts +++ b/sdk/nodejs/ens/diskInstanceAttachment.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Disk Instance Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/eip.ts b/sdk/nodejs/ens/eip.ts index 24ce04b87e..572ef04b1f 100644 --- a/sdk/nodejs/ens/eip.ts +++ b/sdk/nodejs/ens/eip.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Eip can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/eipInstanceAttachment.ts b/sdk/nodejs/ens/eipInstanceAttachment.ts index 5df9fd7858..bffcf3ccea 100644 --- a/sdk/nodejs/ens/eipInstanceAttachment.ts +++ b/sdk/nodejs/ens/eipInstanceAttachment.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ens Eip Instance Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/image.ts b/sdk/nodejs/ens/image.ts index 79db95cd81..1ccbec0090 100644 --- a/sdk/nodejs/ens/image.ts +++ b/sdk/nodejs/ens/image.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Image can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/instanceSecurityGroupAttachment.ts b/sdk/nodejs/ens/instanceSecurityGroupAttachment.ts index de345e2f86..6fa1d11a4d 100644 --- a/sdk/nodejs/ens/instanceSecurityGroupAttachment.ts +++ b/sdk/nodejs/ens/instanceSecurityGroupAttachment.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Instance Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/keyPair.ts b/sdk/nodejs/ens/keyPair.ts index 59f1c18b0e..426946a7ad 100644 --- a/sdk/nodejs/ens/keyPair.ts +++ b/sdk/nodejs/ens/keyPair.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Key Pair can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/loadBalancer.ts b/sdk/nodejs/ens/loadBalancer.ts index b9c1bf4b86..f0d6d03f9a 100644 --- a/sdk/nodejs/ens/loadBalancer.ts +++ b/sdk/nodejs/ens/loadBalancer.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Load Balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/natGateway.ts b/sdk/nodejs/ens/natGateway.ts index 7eb16a9045..e95bc76a4f 100644 --- a/sdk/nodejs/ens/natGateway.ts +++ b/sdk/nodejs/ens/natGateway.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Nat Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/network.ts b/sdk/nodejs/ens/network.ts index 3792899253..c83eda57e8 100644 --- a/sdk/nodejs/ens/network.ts +++ b/sdk/nodejs/ens/network.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Network can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/securityGroup.ts b/sdk/nodejs/ens/securityGroup.ts index 48d9c58782..36e4d3fbe5 100644 --- a/sdk/nodejs/ens/securityGroup.ts +++ b/sdk/nodejs/ens/securityGroup.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Security Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/snapshot.ts b/sdk/nodejs/ens/snapshot.ts index a9fd2ed93a..a90ebd7e4c 100644 --- a/sdk/nodejs/ens/snapshot.ts +++ b/sdk/nodejs/ens/snapshot.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/ens/vswitch.ts b/sdk/nodejs/ens/vswitch.ts index 8a8cf588a5..a6c862aeb4 100644 --- a/sdk/nodejs/ens/vswitch.ts +++ b/sdk/nodejs/ens/vswitch.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENS Vswitch can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/cacheReserveInstance.ts b/sdk/nodejs/esa/cacheReserveInstance.ts index 54d400ff8b..52329a0027 100644 --- a/sdk/nodejs/esa/cacheReserveInstance.ts +++ b/sdk/nodejs/esa/cacheReserveInstance.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Cache Reserve Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/cacheRule.ts b/sdk/nodejs/esa/cacheRule.ts index 046ccaf1ba..cf7535c28c 100644 --- a/sdk/nodejs/esa/cacheRule.ts +++ b/sdk/nodejs/esa/cacheRule.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Cache Rule can be imported using the id, e.g. @@ -166,7 +168,7 @@ export class CacheRule extends pulumi.CustomResource { */ declare public readonly ruleName: pulumi.Output; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ declare public readonly sequence: pulumi.Output; /** @@ -176,7 +178,7 @@ export class CacheRule extends pulumi.CustomResource { /** * The site ID, which can be obtained by calling the [ListSites] API. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -359,7 +361,7 @@ export interface CacheRuleState { */ ruleName?: pulumi.Input; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ sequence?: pulumi.Input; /** @@ -369,7 +371,7 @@ export interface CacheRuleState { /** * The site ID, which can be obtained by calling the [ListSites] API. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -471,7 +473,7 @@ export interface CacheRuleArgs { */ ruleName?: pulumi.Input; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ sequence?: pulumi.Input; /** @@ -481,7 +483,7 @@ export interface CacheRuleArgs { /** * The site ID, which can be obtained by calling the [ListSites] API. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/certificate.ts b/sdk/nodejs/esa/certificate.ts index 3b049479f3..e1a5d6c421 100644 --- a/sdk/nodejs/esa/certificate.ts +++ b/sdk/nodejs/esa/certificate.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/clientCaCertificate.ts b/sdk/nodejs/esa/clientCaCertificate.ts index a3ceab71d1..cbcbebd5f3 100644 --- a/sdk/nodejs/esa/clientCaCertificate.ts +++ b/sdk/nodejs/esa/clientCaCertificate.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Client Ca Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/clientCertificate.ts b/sdk/nodejs/esa/clientCertificate.ts index 528ba7b03d..36eaa6d84a 100644 --- a/sdk/nodejs/esa/clientCertificate.ts +++ b/sdk/nodejs/esa/clientCertificate.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Client Certificate can be imported using the id, e.g. @@ -76,22 +78,28 @@ export class ClientCertificate extends pulumi.CustomResource { declare public /*out*/ readonly createTime: pulumi.Output; /** * Certificate signing request content. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly csr: pulumi.Output; /** * The private key algorithm type. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly pkeyType: pulumi.Output; /** * Site Id */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The certificate status. Valid values: `revoked`, `active`. */ declare public readonly status: pulumi.Output; /** * Certificate validity period. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly validityDays: pulumi.Output; @@ -150,22 +158,28 @@ export interface ClientCertificateState { createTime?: pulumi.Input; /** * Certificate signing request content. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ csr?: pulumi.Input; /** * The private key algorithm type. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ pkeyType?: pulumi.Input; /** * Site Id */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The certificate status. Valid values: `revoked`, `active`. */ status?: pulumi.Input; /** * Certificate validity period. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ validityDays?: pulumi.Input; } @@ -176,22 +190,28 @@ export interface ClientCertificateState { export interface ClientCertificateArgs { /** * Certificate signing request content. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ csr?: pulumi.Input; /** * The private key algorithm type. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ pkeyType?: pulumi.Input; /** * Site Id */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The certificate status. Valid values: `revoked`, `active`. */ status?: pulumi.Input; /** * Certificate validity period. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ validityDays: pulumi.Input; } diff --git a/sdk/nodejs/esa/compressionRule.ts b/sdk/nodejs/esa/compressionRule.ts index 7059b37cf1..2d3119208e 100644 --- a/sdk/nodejs/esa/compressionRule.ts +++ b/sdk/nodejs/esa/compressionRule.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Compression Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/customScenePolicy.ts b/sdk/nodejs/esa/customScenePolicy.ts index 6ea0f0468a..ed776c3e79 100644 --- a/sdk/nodejs/esa/customScenePolicy.ts +++ b/sdk/nodejs/esa/customScenePolicy.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Custom Scene Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/edgeContainerApp.ts b/sdk/nodejs/esa/edgeContainerApp.ts index 73bcc537f5..acb50520d0 100644 --- a/sdk/nodejs/esa/edgeContainerApp.ts +++ b/sdk/nodejs/esa/edgeContainerApp.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Edge Container App can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/edgeContainerAppRecord.ts b/sdk/nodejs/esa/edgeContainerAppRecord.ts index f39b33549c..a4e1001385 100644 --- a/sdk/nodejs/esa/edgeContainerAppRecord.ts +++ b/sdk/nodejs/esa/edgeContainerAppRecord.ts @@ -40,7 +40,7 @@ import * as utilities from "../utilities"; * healthCheckType: "l7", * servicePort: 80, * healthCheckInterval: 5, - * edgeContainerAppName: "terraform-app", + * edgeContainerAppName: "terraform-app2", * healthCheckHttpCode: "http_2xx", * healthCheckUri: "/", * healthCheckTimeout: 3, @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Edge Container App Record can be imported using the id, e.g. @@ -109,7 +111,7 @@ export class EdgeContainerAppRecord extends pulumi.CustomResource { /** * The website ID. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * Create a EdgeContainerAppRecord resource with the given unique name, arguments, and options. @@ -165,7 +167,7 @@ export interface EdgeContainerAppRecordState { /** * The website ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; } /** @@ -183,5 +185,5 @@ export interface EdgeContainerAppRecordArgs { /** * The website ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; } diff --git a/sdk/nodejs/esa/httpIncomingRequestHeaderModificationRule.ts b/sdk/nodejs/esa/httpIncomingRequestHeaderModificationRule.ts new file mode 100644 index 0000000000..effba91676 --- /dev/null +++ b/sdk/nodejs/esa/httpIncomingRequestHeaderModificationRule.ts @@ -0,0 +1,270 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 ESA Http Incoming Request Header Modification Rule resource. + * + * For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * import * as random from "@pulumi/random"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new random.index.Integer("default", { + * min: 10000, + * max: 99999, + * }); + * const resourceHttpIncomingRequestHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance("resource_HttpIncomingRequestHeaderModificationRule_example", { + * type: "NS", + * autoRenew: false, + * period: 1, + * paymentType: "Subscription", + * coverage: "overseas", + * autoPay: true, + * planName: "high", + * }); + * const resourceSiteHttpIncomingRequestHeaderModificationRuleExample = new alicloud.esa.Site("resource_Site_HttpIncomingRequestHeaderModificationRule_example", { + * siteName: `gositecdn${_default.result}.cn`, + * instanceId: resourceHttpIncomingRequestHeaderModificationRuleExample.id, + * coverage: "overseas", + * accessType: "NS", + * }); + * const defaultHttpIncomingRequestHeaderModificationRule = new alicloud.esa.HttpIncomingRequestHeaderModificationRule("default", { + * siteId: resourceSiteHttpIncomingRequestHeaderModificationRuleExample.id, + * ruleEnable: "on", + * rule: "(http.host eq \"video.example.com\")", + * sequence: 1, + * siteVersion: 0, + * ruleName: "example", + * requestHeaderModifications: [ + * { + * type: "static", + * value: "add", + * operation: "add", + * name: "exampleadd", + * }, + * { + * operation: "del", + * name: "exampledel", + * }, + * { + * type: "dynamic", + * value: "ip.geoip.country", + * operation: "modify", + * name: "examplemodify", + * }, + * ], + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example : + * ``` + */ +export class HttpIncomingRequestHeaderModificationRule extends pulumi.CustomResource { + /** + * Get an existing HttpIncomingRequestHeaderModificationRule 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?: HttpIncomingRequestHeaderModificationRuleState, opts?: pulumi.CustomResourceOptions): HttpIncomingRequestHeaderModificationRule { + return new HttpIncomingRequestHeaderModificationRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule'; + + /** + * Returns true if the given object is an instance of HttpIncomingRequestHeaderModificationRule. 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 HttpIncomingRequestHeaderModificationRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HttpIncomingRequestHeaderModificationRule.__pulumiType; + } + + /** + * Config Id + */ + declare public /*out*/ readonly configId: pulumi.Output; + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + */ + declare public readonly requestHeaderModifications: pulumi.Output; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + declare public readonly rule: pulumi.Output; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + */ + declare public readonly ruleEnable: pulumi.Output; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + declare public readonly ruleName: pulumi.Output; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + declare public readonly sequence: pulumi.Output; + /** + * The site ID. + */ + declare public readonly siteId: pulumi.Output; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + declare public readonly siteVersion: pulumi.Output; + + /** + * Create a HttpIncomingRequestHeaderModificationRule 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: HttpIncomingRequestHeaderModificationRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HttpIncomingRequestHeaderModificationRuleArgs | HttpIncomingRequestHeaderModificationRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HttpIncomingRequestHeaderModificationRuleState | undefined; + resourceInputs["configId"] = state?.configId; + resourceInputs["requestHeaderModifications"] = state?.requestHeaderModifications; + resourceInputs["rule"] = state?.rule; + resourceInputs["ruleEnable"] = state?.ruleEnable; + resourceInputs["ruleName"] = state?.ruleName; + resourceInputs["sequence"] = state?.sequence; + resourceInputs["siteId"] = state?.siteId; + resourceInputs["siteVersion"] = state?.siteVersion; + } else { + const args = argsOrState as HttpIncomingRequestHeaderModificationRuleArgs | undefined; + if (args?.requestHeaderModifications === undefined && !opts.urn) { + throw new Error("Missing required property 'requestHeaderModifications'"); + } + if (args?.siteId === undefined && !opts.urn) { + throw new Error("Missing required property 'siteId'"); + } + resourceInputs["requestHeaderModifications"] = args?.requestHeaderModifications; + resourceInputs["rule"] = args?.rule; + resourceInputs["ruleEnable"] = args?.ruleEnable; + resourceInputs["ruleName"] = args?.ruleName; + resourceInputs["sequence"] = args?.sequence; + resourceInputs["siteId"] = args?.siteId; + resourceInputs["siteVersion"] = args?.siteVersion; + resourceInputs["configId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HttpIncomingRequestHeaderModificationRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HttpIncomingRequestHeaderModificationRule resources. + */ +export interface HttpIncomingRequestHeaderModificationRuleState { + /** + * Config Id + */ + configId?: pulumi.Input; + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + */ + requestHeaderModifications?: pulumi.Input[]>; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + rule?: pulumi.Input; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + */ + ruleEnable?: pulumi.Input; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + ruleName?: pulumi.Input; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + sequence?: pulumi.Input; + /** + * The site ID. + */ + siteId?: pulumi.Input; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + siteVersion?: pulumi.Input; +} + +/** + * The set of arguments for constructing a HttpIncomingRequestHeaderModificationRule resource. + */ +export interface HttpIncomingRequestHeaderModificationRuleArgs { + /** + * The configurations of modifying request headers. You can add, delete, or modify a request header. See `requestHeaderModification` below. + */ + requestHeaderModifications: pulumi.Input[]>; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + rule?: pulumi.Input; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. + */ + ruleEnable?: pulumi.Input; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + ruleName?: pulumi.Input; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + sequence?: pulumi.Input; + /** + * The site ID. + */ + siteId: pulumi.Input; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + siteVersion?: pulumi.Input; +} diff --git a/sdk/nodejs/esa/httpIncomingResponseHeaderModificationRule.ts b/sdk/nodejs/esa/httpIncomingResponseHeaderModificationRule.ts new file mode 100644 index 0000000000..b8d6e37024 --- /dev/null +++ b/sdk/nodejs/esa/httpIncomingResponseHeaderModificationRule.ts @@ -0,0 +1,265 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 ESA Http Incoming Response Header Modification Rule resource. + * + * For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * import * as random from "@pulumi/random"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new random.index.Integer("default", { + * min: 10000, + * max: 99999, + * }); + * const resourceHttpIncomingResponseHeaderModificationRuleExample = new alicloud.esa.RatePlanInstance("resource_HttpIncomingResponseHeaderModificationRule_example", { + * type: "NS", + * autoRenew: false, + * period: 1, + * paymentType: "Subscription", + * coverage: "overseas", + * autoPay: true, + * planName: "basic", + * }); + * const resourceSiteHttpIncomingResponseHeaderModificationRuleExample = new alicloud.esa.Site("resource_Site_HttpIncomingResponseHeaderModificationRule_example", { + * siteName: `gositecdn${_default.result}.cn`, + * instanceId: resourceHttpIncomingResponseHeaderModificationRuleExample.id, + * coverage: "overseas", + * accessType: "NS", + * }); + * const defaultHttpIncomingResponseHeaderModificationRule = new alicloud.esa.HttpIncomingResponseHeaderModificationRule("default", { + * siteId: resourceSiteHttpIncomingResponseHeaderModificationRuleExample.id, + * ruleEnable: "on", + * responseHeaderModifications: [ + * { + * type: "static", + * value: "add", + * operation: "add", + * name: "exampleadd", + * }, + * { + * type: "static", + * operation: "del", + * name: "exampledel", + * }, + * { + * type: "static", + * value: "modify", + * operation: "modify", + * name: "examplemodify", + * }, + * ], + * rule: "(http.host eq \"video.example.com\")", + * sequence: 1, + * siteVersion: 0, + * ruleName: "exampleResponseHeader", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example : + * ``` + */ +export class HttpIncomingResponseHeaderModificationRule extends pulumi.CustomResource { + /** + * Get an existing HttpIncomingResponseHeaderModificationRule 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?: HttpIncomingResponseHeaderModificationRuleState, opts?: pulumi.CustomResourceOptions): HttpIncomingResponseHeaderModificationRule { + return new HttpIncomingResponseHeaderModificationRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule'; + + /** + * Returns true if the given object is an instance of HttpIncomingResponseHeaderModificationRule. 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 HttpIncomingResponseHeaderModificationRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HttpIncomingResponseHeaderModificationRule.__pulumiType; + } + + /** + * Config Id + */ + declare public /*out*/ readonly configId: pulumi.Output; + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + */ + declare public readonly responseHeaderModifications: pulumi.Output; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + declare public readonly rule: pulumi.Output; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + */ + declare public readonly ruleEnable: pulumi.Output; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + declare public readonly ruleName: pulumi.Output; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + declare public readonly sequence: pulumi.Output; + /** + * The site ID. + */ + declare public readonly siteId: pulumi.Output; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + declare public readonly siteVersion: pulumi.Output; + + /** + * Create a HttpIncomingResponseHeaderModificationRule 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: HttpIncomingResponseHeaderModificationRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HttpIncomingResponseHeaderModificationRuleArgs | HttpIncomingResponseHeaderModificationRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HttpIncomingResponseHeaderModificationRuleState | undefined; + resourceInputs["configId"] = state?.configId; + resourceInputs["responseHeaderModifications"] = state?.responseHeaderModifications; + resourceInputs["rule"] = state?.rule; + resourceInputs["ruleEnable"] = state?.ruleEnable; + resourceInputs["ruleName"] = state?.ruleName; + resourceInputs["sequence"] = state?.sequence; + resourceInputs["siteId"] = state?.siteId; + resourceInputs["siteVersion"] = state?.siteVersion; + } else { + const args = argsOrState as HttpIncomingResponseHeaderModificationRuleArgs | undefined; + if (args?.responseHeaderModifications === undefined && !opts.urn) { + throw new Error("Missing required property 'responseHeaderModifications'"); + } + if (args?.siteId === undefined && !opts.urn) { + throw new Error("Missing required property 'siteId'"); + } + resourceInputs["responseHeaderModifications"] = args?.responseHeaderModifications; + resourceInputs["rule"] = args?.rule; + resourceInputs["ruleEnable"] = args?.ruleEnable; + resourceInputs["ruleName"] = args?.ruleName; + resourceInputs["sequence"] = args?.sequence; + resourceInputs["siteId"] = args?.siteId; + resourceInputs["siteVersion"] = args?.siteVersion; + resourceInputs["configId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HttpIncomingResponseHeaderModificationRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HttpIncomingResponseHeaderModificationRule resources. + */ +export interface HttpIncomingResponseHeaderModificationRuleState { + /** + * Config Id + */ + configId?: pulumi.Input; + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + */ + responseHeaderModifications?: pulumi.Input[]>; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + rule?: pulumi.Input; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + */ + ruleEnable?: pulumi.Input; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + ruleName?: pulumi.Input; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + sequence?: pulumi.Input; + /** + * The site ID. + */ + siteId?: pulumi.Input; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + siteVersion?: pulumi.Input; +} + +/** + * The set of arguments for constructing a HttpIncomingResponseHeaderModificationRule resource. + */ +export interface HttpIncomingResponseHeaderModificationRuleArgs { + /** + * Modify response headers, supporting add, delete, and modify operations. See `responseHeaderModification` below. + */ + responseHeaderModifications: pulumi.Input[]>; + /** + * Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + * - Match all incoming requests: value set to true + * - Match specified request: Set the value to a custom expression, for example: (http.host eq \"video.example.com\") + */ + rule?: pulumi.Input; + /** + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + */ + ruleEnable?: pulumi.Input; + /** + * Rule name. When adding global configuration, this parameter does not need to be set. + */ + ruleName?: pulumi.Input; + /** + * Order of rule execution. The smaller the value, the higher the priority for execution. + */ + sequence?: pulumi.Input; + /** + * The site ID. + */ + siteId: pulumi.Input; + /** + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + */ + siteVersion?: pulumi.Input; +} diff --git a/sdk/nodejs/esa/httpRequestHeaderModificationRule.ts b/sdk/nodejs/esa/httpRequestHeaderModificationRule.ts index ee9fa5d009..a22e2594fc 100644 --- a/sdk/nodejs/esa/httpRequestHeaderModificationRule.ts +++ b/sdk/nodejs/esa/httpRequestHeaderModificationRule.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Http Request Header Modification Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/httpResponseHeaderModificationRule.ts b/sdk/nodejs/esa/httpResponseHeaderModificationRule.ts index fca6bd68d1..be22a48688 100644 --- a/sdk/nodejs/esa/httpResponseHeaderModificationRule.ts +++ b/sdk/nodejs/esa/httpResponseHeaderModificationRule.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -133,7 +135,7 @@ export class HttpResponseHeaderModificationRule extends pulumi.CustomResource { /** * The site ID. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -215,7 +217,7 @@ export interface HttpResponseHeaderModificationRuleState { /** * The site ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -251,7 +253,7 @@ export interface HttpResponseHeaderModificationRuleArgs { /** * The site ID. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/httpsApplicationConfiguration.ts b/sdk/nodejs/esa/httpsApplicationConfiguration.ts index de013c29de..e40a87678f 100644 --- a/sdk/nodejs/esa/httpsApplicationConfiguration.ts +++ b/sdk/nodejs/esa/httpsApplicationConfiguration.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Https Application Configuration can be imported using the id, e.g. @@ -160,7 +162,7 @@ export class HttpsApplicationConfiguration extends pulumi.CustomResource { /** * The site ID, which can be obtained by calling the ListSites API. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -311,7 +313,7 @@ export interface HttpsApplicationConfigurationState { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -395,7 +397,7 @@ export interface HttpsApplicationConfigurationArgs { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/httpsBasicConfiguration.ts b/sdk/nodejs/esa/httpsBasicConfiguration.ts index 62b66b967b..7901fece00 100644 --- a/sdk/nodejs/esa/httpsBasicConfiguration.ts +++ b/sdk/nodejs/esa/httpsBasicConfiguration.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Https Basic Configuration can be imported using the id, e.g. @@ -148,7 +150,7 @@ export class HttpsBasicConfiguration extends pulumi.CustomResource { /** * Site ID, which can be obtained by calling the ListSites interface. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * Whether to enable TLS1.0. Default is disabled. Possible values: * - on: Enable. @@ -296,7 +298,7 @@ export interface HttpsBasicConfigurationState { /** * Site ID, which can be obtained by calling the ListSites interface. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * Whether to enable TLS1.0. Default is disabled. Possible values: * - on: Enable. @@ -385,7 +387,7 @@ export interface HttpsBasicConfigurationArgs { /** * Site ID, which can be obtained by calling the ListSites interface. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * Whether to enable TLS1.0. Default is disabled. Possible values: * - on: Enable. diff --git a/sdk/nodejs/esa/imageTransform.ts b/sdk/nodejs/esa/imageTransform.ts index 75f07ab594..95c03efd98 100644 --- a/sdk/nodejs/esa/imageTransform.ts +++ b/sdk/nodejs/esa/imageTransform.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Image Transform can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/index.ts b/sdk/nodejs/esa/index.ts index bc79dc177d..d1d92f9383 100644 --- a/sdk/nodejs/esa/index.ts +++ b/sdk/nodejs/esa/index.ts @@ -55,6 +55,16 @@ export const getSites: typeof import("./getSites").getSites = null as any; export const getSitesOutput: typeof import("./getSites").getSitesOutput = null as any; utilities.lazyLoad(exports, ["getSites","getSitesOutput"], () => require("./getSites")); +export { HttpIncomingRequestHeaderModificationRuleArgs, HttpIncomingRequestHeaderModificationRuleState } from "./httpIncomingRequestHeaderModificationRule"; +export type HttpIncomingRequestHeaderModificationRule = import("./httpIncomingRequestHeaderModificationRule").HttpIncomingRequestHeaderModificationRule; +export const HttpIncomingRequestHeaderModificationRule: typeof import("./httpIncomingRequestHeaderModificationRule").HttpIncomingRequestHeaderModificationRule = null as any; +utilities.lazyLoad(exports, ["HttpIncomingRequestHeaderModificationRule"], () => require("./httpIncomingRequestHeaderModificationRule")); + +export { HttpIncomingResponseHeaderModificationRuleArgs, HttpIncomingResponseHeaderModificationRuleState } from "./httpIncomingResponseHeaderModificationRule"; +export type HttpIncomingResponseHeaderModificationRule = import("./httpIncomingResponseHeaderModificationRule").HttpIncomingResponseHeaderModificationRule; +export const HttpIncomingResponseHeaderModificationRule: typeof import("./httpIncomingResponseHeaderModificationRule").HttpIncomingResponseHeaderModificationRule = null as any; +utilities.lazyLoad(exports, ["HttpIncomingResponseHeaderModificationRule"], () => require("./httpIncomingResponseHeaderModificationRule")); + export { HttpRequestHeaderModificationRuleArgs, HttpRequestHeaderModificationRuleState } from "./httpRequestHeaderModificationRule"; export type HttpRequestHeaderModificationRule = import("./httpRequestHeaderModificationRule").HttpRequestHeaderModificationRule; export const HttpRequestHeaderModificationRule: typeof import("./httpRequestHeaderModificationRule").HttpRequestHeaderModificationRule = null as any; @@ -268,6 +278,10 @@ const _module = { return new EdgeContainerApp(name, undefined, { urn }) case "alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord": return new EdgeContainerAppRecord(name, undefined, { urn }) + case "alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule": + return new HttpIncomingRequestHeaderModificationRule(name, undefined, { urn }) + case "alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule": + return new HttpIncomingResponseHeaderModificationRule(name, undefined, { urn }) case "alicloud:esa/httpRequestHeaderModificationRule:HttpRequestHeaderModificationRule": return new HttpRequestHeaderModificationRule(name, undefined, { urn }) case "alicloud:esa/httpResponseHeaderModificationRule:HttpResponseHeaderModificationRule": @@ -358,6 +372,8 @@ pulumi.runtime.registerResourceModule("alicloud", "esa/compressionRule", _module pulumi.runtime.registerResourceModule("alicloud", "esa/customScenePolicy", _module) pulumi.runtime.registerResourceModule("alicloud", "esa/edgeContainerApp", _module) pulumi.runtime.registerResourceModule("alicloud", "esa/edgeContainerAppRecord", _module) +pulumi.runtime.registerResourceModule("alicloud", "esa/httpIncomingRequestHeaderModificationRule", _module) +pulumi.runtime.registerResourceModule("alicloud", "esa/httpIncomingResponseHeaderModificationRule", _module) pulumi.runtime.registerResourceModule("alicloud", "esa/httpRequestHeaderModificationRule", _module) pulumi.runtime.registerResourceModule("alicloud", "esa/httpResponseHeaderModificationRule", _module) pulumi.runtime.registerResourceModule("alicloud", "esa/httpsApplicationConfiguration", _module) diff --git a/sdk/nodejs/esa/kv.ts b/sdk/nodejs/esa/kv.ts index e205e9e93f..f1e5d87125 100644 --- a/sdk/nodejs/esa/kv.ts +++ b/sdk/nodejs/esa/kv.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Kv can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/kvNamespace.ts b/sdk/nodejs/esa/kvNamespace.ts index d126727f1e..9713066486 100644 --- a/sdk/nodejs/esa/kvNamespace.ts +++ b/sdk/nodejs/esa/kvNamespace.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Kv Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/list.ts b/sdk/nodejs/esa/list.ts index 9c09d2a06b..e135161126 100644 --- a/sdk/nodejs/esa/list.ts +++ b/sdk/nodejs/esa/list.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA List can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/loadBalancer.ts b/sdk/nodejs/esa/loadBalancer.ts index f7b55f8e43..e81f087fbc 100644 --- a/sdk/nodejs/esa/loadBalancer.ts +++ b/sdk/nodejs/esa/loadBalancer.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Load Balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/networkOptimization.ts b/sdk/nodejs/esa/networkOptimization.ts index 536873a0ea..8f61662d3e 100644 --- a/sdk/nodejs/esa/networkOptimization.ts +++ b/sdk/nodejs/esa/networkOptimization.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Network Optimization can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/originCaCertificate.ts b/sdk/nodejs/esa/originCaCertificate.ts index fd466da3d7..b00aa00e8a 100644 --- a/sdk/nodejs/esa/originCaCertificate.ts +++ b/sdk/nodejs/esa/originCaCertificate.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Ca Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/originClientCertificate.ts b/sdk/nodejs/esa/originClientCertificate.ts index 47c3c6d799..5433d70384 100644 --- a/sdk/nodejs/esa/originClientCertificate.ts +++ b/sdk/nodejs/esa/originClientCertificate.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Client Certificate can be imported using the id, e.g. @@ -134,7 +136,7 @@ export class OriginClientCertificate extends pulumi.CustomResource { /** * Site ID. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The status of the certificate. */ @@ -219,7 +221,7 @@ export interface OriginClientCertificateState { /** * Site ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The status of the certificate. */ @@ -249,5 +251,5 @@ export interface OriginClientCertificateArgs { /** * Site ID. */ - siteId: pulumi.Input; + siteId: pulumi.Input; } diff --git a/sdk/nodejs/esa/originPool.ts b/sdk/nodejs/esa/originPool.ts index c18afba711..691c1094eb 100644 --- a/sdk/nodejs/esa/originPool.ts +++ b/sdk/nodejs/esa/originPool.ts @@ -87,6 +87,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Pool can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/originProtection.ts b/sdk/nodejs/esa/originProtection.ts index c9a3b79483..9be1b2f420 100644 --- a/sdk/nodejs/esa/originProtection.ts +++ b/sdk/nodejs/esa/originProtection.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Protection can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/originRule.ts b/sdk/nodejs/esa/originRule.ts index e4dbef567c..d7d2769dd5 100644 --- a/sdk/nodejs/esa/originRule.ts +++ b/sdk/nodejs/esa/originRule.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Origin Rule can be imported using the id, e.g. @@ -163,7 +165,7 @@ export class OriginRule extends pulumi.CustomResource { /** * The site ID. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -332,7 +334,7 @@ export interface OriginRuleState { /** * The site ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -428,7 +430,7 @@ export interface OriginRuleArgs { /** * The site ID. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/page.ts b/sdk/nodejs/esa/page.ts index ec47755295..ca23fe2b16 100644 --- a/sdk/nodejs/esa/page.ts +++ b/sdk/nodejs/esa/page.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Page can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/ratePlanInstance.ts b/sdk/nodejs/esa/ratePlanInstance.ts index d3a63606cf..c141d81838 100644 --- a/sdk/nodejs/esa/ratePlanInstance.ts +++ b/sdk/nodejs/esa/ratePlanInstance.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Rate Plan Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/record.ts b/sdk/nodejs/esa/record.ts index d8134789cb..89de09bd72 100644 --- a/sdk/nodejs/esa/record.ts +++ b/sdk/nodejs/esa/record.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Record can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/redirectRule.ts b/sdk/nodejs/esa/redirectRule.ts index dfb99ccf3b..1d3a09eb4c 100644 --- a/sdk/nodejs/esa/redirectRule.ts +++ b/sdk/nodejs/esa/redirectRule.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Redirect Rule can be imported using the id, e.g. @@ -122,7 +124,7 @@ export class RedirectRule extends pulumi.CustomResource { /** * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -242,7 +244,7 @@ export interface RedirectRuleState { /** * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -301,7 +303,7 @@ export interface RedirectRuleArgs { /** * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/rewriteUrlRule.ts b/sdk/nodejs/esa/rewriteUrlRule.ts index 880b8761b3..9ae3d11842 100644 --- a/sdk/nodejs/esa/rewriteUrlRule.ts +++ b/sdk/nodejs/esa/rewriteUrlRule.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Rewrite Url Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/routine.ts b/sdk/nodejs/esa/routine.ts index 55688c7747..f86665a380 100644 --- a/sdk/nodejs/esa/routine.ts +++ b/sdk/nodejs/esa/routine.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Routine can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/routineRelatedRecord.ts b/sdk/nodejs/esa/routineRelatedRecord.ts index ffcc7a5732..81949c35c0 100644 --- a/sdk/nodejs/esa/routineRelatedRecord.ts +++ b/sdk/nodejs/esa/routineRelatedRecord.ts @@ -4,6 +4,47 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; +/** + * Provides a ESA Routine Related Record resource. + * + * For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const defaultRoutine = new alicloud.esa.Routine("default", { + * description: "example-routine2", + * name: "example-routine2", + * }); + * const _default = alicloud.esa.getSites({ + * planSubscribeType: "enterpriseplan", + * }); + * const defaultRoutineRelatedRecord = new alicloud.esa.RoutineRelatedRecord("default", { + * name: defaultRoutine.id, + * recordName: "tfexampleacc.com", + * siteId: "618651327383200", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * ESA Routine Related Record can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example : + * ``` + */ export class RoutineRelatedRecord extends pulumi.CustomResource { /** * Get an existing RoutineRelatedRecord resource's state with the given name, ID, and optional extra @@ -32,10 +73,22 @@ export class RoutineRelatedRecord extends pulumi.CustomResource { return obj['__pulumiType'] === RoutineRelatedRecord.__pulumiType; } + /** + * The routine name. + */ declare public readonly name: pulumi.Output; + /** + * The record ID. + */ declare public /*out*/ readonly recordId: pulumi.Output; + /** + * The record name. + */ declare public readonly recordName: pulumi.Output; - declare public readonly siteId: pulumi.Output; + /** + * The website ID. + */ + declare public readonly siteId: pulumi.Output; /** * Create a RoutineRelatedRecord resource with the given unique name, arguments, and options. @@ -76,17 +129,38 @@ export class RoutineRelatedRecord extends pulumi.CustomResource { * Input properties used for looking up and filtering RoutineRelatedRecord resources. */ export interface RoutineRelatedRecordState { + /** + * The routine name. + */ name?: pulumi.Input; + /** + * The record ID. + */ recordId?: pulumi.Input; + /** + * The record name. + */ recordName?: pulumi.Input; - siteId?: pulumi.Input; + /** + * The website ID. + */ + siteId?: pulumi.Input; } /** * The set of arguments for constructing a RoutineRelatedRecord resource. */ export interface RoutineRelatedRecordArgs { + /** + * The routine name. + */ name?: pulumi.Input; + /** + * The record name. + */ recordName: pulumi.Input; - siteId: pulumi.Input; + /** + * The website ID. + */ + siteId: pulumi.Input; } diff --git a/sdk/nodejs/esa/routineRoute.ts b/sdk/nodejs/esa/routineRoute.ts index 4581fee7f1..c55f799962 100644 --- a/sdk/nodejs/esa/routineRoute.ts +++ b/sdk/nodejs/esa/routineRoute.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Routine Route can be imported using the id, e.g. @@ -91,6 +93,10 @@ export class RoutineRoute extends pulumi.CustomResource { * Config Id */ declare public /*out*/ readonly configId: pulumi.Output; + /** + * Spare + */ + declare public readonly fallback: pulumi.Output; /** * Routing switch. Value range: * - on: Open @@ -116,7 +122,7 @@ export class RoutineRoute extends pulumi.CustomResource { /** * Site Id */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * Create a RoutineRoute resource with the given unique name, arguments, and options. @@ -133,6 +139,7 @@ export class RoutineRoute extends pulumi.CustomResource { const state = argsOrState as RoutineRouteState | undefined; resourceInputs["bypass"] = state?.bypass; resourceInputs["configId"] = state?.configId; + resourceInputs["fallback"] = state?.fallback; resourceInputs["routeEnable"] = state?.routeEnable; resourceInputs["routeName"] = state?.routeName; resourceInputs["routineName"] = state?.routineName; @@ -148,6 +155,7 @@ export class RoutineRoute extends pulumi.CustomResource { throw new Error("Missing required property 'siteId'"); } resourceInputs["bypass"] = args?.bypass; + resourceInputs["fallback"] = args?.fallback; resourceInputs["routeEnable"] = args?.routeEnable; resourceInputs["routeName"] = args?.routeName; resourceInputs["routineName"] = args?.routineName; @@ -175,6 +183,10 @@ export interface RoutineRouteState { * Config Id */ configId?: pulumi.Input; + /** + * Spare + */ + fallback?: pulumi.Input; /** * Routing switch. Value range: * - on: Open @@ -200,7 +212,7 @@ export interface RoutineRouteState { /** * Site Id */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; } /** @@ -213,6 +225,10 @@ export interface RoutineRouteArgs { * - off: off */ bypass?: pulumi.Input; + /** + * Spare + */ + fallback?: pulumi.Input; /** * Routing switch. Value range: * - on: Open @@ -238,5 +254,5 @@ export interface RoutineRouteArgs { /** * Site Id */ - siteId: pulumi.Input; + siteId: pulumi.Input; } diff --git a/sdk/nodejs/esa/scheduledPreloadExecution.ts b/sdk/nodejs/esa/scheduledPreloadExecution.ts index 424455063b..74c5744a2b 100644 --- a/sdk/nodejs/esa/scheduledPreloadExecution.ts +++ b/sdk/nodejs/esa/scheduledPreloadExecution.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Scheduled Preload Execution can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/scheduledPreloadJob.ts b/sdk/nodejs/esa/scheduledPreloadJob.ts index 08d62b467e..e2c0a753be 100644 --- a/sdk/nodejs/esa/scheduledPreloadJob.ts +++ b/sdk/nodejs/esa/scheduledPreloadJob.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Scheduled Preload Job can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/site.ts b/sdk/nodejs/esa/site.ts index 1e9cc8c0c4..44b91757b4 100644 --- a/sdk/nodejs/esa/site.ts +++ b/sdk/nodejs/esa/site.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site can be imported using the id, e.g. @@ -145,6 +147,10 @@ export class Site extends pulumi.CustomResource { * - 'Cn.cn ': Mainland China. */ declare public readonly ipv6Region: pulumi.Output; + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + */ + declare public readonly paused: pulumi.Output; /** * The ID of the resource group */ @@ -210,6 +216,7 @@ export class Site extends pulumi.CustomResource { resourceInputs["instanceId"] = state?.instanceId; resourceInputs["ipv6Enable"] = state?.ipv6Enable; resourceInputs["ipv6Region"] = state?.ipv6Region; + resourceInputs["paused"] = state?.paused; resourceInputs["resourceGroupId"] = state?.resourceGroupId; resourceInputs["seoBypass"] = state?.seoBypass; resourceInputs["siteName"] = state?.siteName; @@ -241,6 +248,7 @@ export class Site extends pulumi.CustomResource { resourceInputs["instanceId"] = args?.instanceId; resourceInputs["ipv6Enable"] = args?.ipv6Enable; resourceInputs["ipv6Region"] = args?.ipv6Region; + resourceInputs["paused"] = args?.paused; resourceInputs["resourceGroupId"] = args?.resourceGroupId; resourceInputs["seoBypass"] = args?.seoBypass; resourceInputs["siteName"] = args?.siteName; @@ -325,6 +333,10 @@ export interface SiteState { * - 'Cn.cn ': Mainland China. */ ipv6Region?: pulumi.Input; + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + */ + paused?: pulumi.Input; /** * The ID of the resource group */ @@ -427,6 +439,10 @@ export interface SiteArgs { * - 'Cn.cn ': Mainland China. */ ipv6Region?: pulumi.Input; + /** + * Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + */ + paused?: pulumi.Input; /** * The ID of the resource group */ diff --git a/sdk/nodejs/esa/siteDeliveryTask.ts b/sdk/nodejs/esa/siteDeliveryTask.ts index d3a2fc5846..dc6887deb8 100644 --- a/sdk/nodejs/esa/siteDeliveryTask.ts +++ b/sdk/nodejs/esa/siteDeliveryTask.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Delivery Task can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/siteOriginClientCertificate.ts b/sdk/nodejs/esa/siteOriginClientCertificate.ts index d8ee49cf1d..ccca55679b 100644 --- a/sdk/nodejs/esa/siteOriginClientCertificate.ts +++ b/sdk/nodejs/esa/siteOriginClientCertificate.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Origin Client Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/transportLayerApplication.ts b/sdk/nodejs/esa/transportLayerApplication.ts index 517a8fec4d..8bd4d33af7 100644 --- a/sdk/nodejs/esa/transportLayerApplication.ts +++ b/sdk/nodejs/esa/transportLayerApplication.ts @@ -70,7 +70,7 @@ export class TransportLayerApplication extends pulumi.CustomResource { /** * Site ID. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * Status of the transport layer application, modification and deletion are not allowed. */ @@ -153,7 +153,7 @@ export interface TransportLayerApplicationState { /** * Site ID. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * Status of the transport layer application, modification and deletion are not allowed. */ @@ -187,5 +187,5 @@ export interface TransportLayerApplicationArgs { /** * Site ID. */ - siteId: pulumi.Input; + siteId: pulumi.Input; } diff --git a/sdk/nodejs/esa/urlObservation.ts b/sdk/nodejs/esa/urlObservation.ts index f67c3f90a3..8fcd06fcd5 100644 --- a/sdk/nodejs/esa/urlObservation.ts +++ b/sdk/nodejs/esa/urlObservation.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Url Observation can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/version.ts b/sdk/nodejs/esa/version.ts index d7f2f43762..fa530e7247 100644 --- a/sdk/nodejs/esa/version.ts +++ b/sdk/nodejs/esa/version.ts @@ -5,9 +5,9 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a ESA Site Version resource. + * Provides a ESA Version resource. * - * For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). + * For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). * * > **NOTE:** Available since v1.251.0. * @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Site Version can be imported using the id, e.g. @@ -89,9 +91,9 @@ export class Version extends pulumi.CustomResource { /** * The site ID, which can be obtained by calling the ListSites API. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** - * The version number of the site configuration. + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ declare public /*out*/ readonly siteVersion: pulumi.Output; /** @@ -157,9 +159,9 @@ export interface VersionState { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** - * The version number of the site configuration. + * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ siteVersion?: pulumi.Input; /** @@ -183,5 +185,5 @@ export interface VersionArgs { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId: pulumi.Input; + siteId: pulumi.Input; } diff --git a/sdk/nodejs/esa/videoProcessing.ts b/sdk/nodejs/esa/videoProcessing.ts index 8024feef7a..33d74e7d65 100644 --- a/sdk/nodejs/esa/videoProcessing.ts +++ b/sdk/nodejs/esa/videoProcessing.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Video Processing can be imported using the id, e.g. @@ -121,13 +123,13 @@ export class VideoProcessing extends pulumi.CustomResource { */ declare public readonly ruleName: pulumi.Output; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ declare public readonly sequence: pulumi.Output; /** * The site ID, which can be obtained by calling the ListSites API. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -230,13 +232,13 @@ export interface VideoProcessingState { */ ruleName?: pulumi.Input; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ sequence?: pulumi.Input; /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ @@ -286,13 +288,13 @@ export interface VideoProcessingArgs { */ ruleName?: pulumi.Input; /** - * Order of rule execution. The smaller the value, the higher the priority for execution. + * The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. */ sequence?: pulumi.Input; /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** * The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. */ diff --git a/sdk/nodejs/esa/wafRule.ts b/sdk/nodejs/esa/wafRule.ts index 86988bb216..9794130788 100644 --- a/sdk/nodejs/esa/wafRule.ts +++ b/sdk/nodejs/esa/wafRule.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waf Rule can be imported using the id, e.g. @@ -99,17 +101,11 @@ export class WafRule extends pulumi.CustomResource { * The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. */ declare public readonly rulesetId: pulumi.Output; - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - */ declare public readonly shared: pulumi.Output; /** * The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - declare public readonly siteId: pulumi.Output; - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - */ + declare public readonly siteId: pulumi.Output; declare public readonly siteVersion: pulumi.Output; /** * The unique identifier of the WAF rule. @@ -173,17 +169,11 @@ export interface WafRuleState { * The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. */ rulesetId?: pulumi.Input; - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - */ shared?: pulumi.Input; /** * The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - siteId?: pulumi.Input; - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - */ + siteId?: pulumi.Input; siteVersion?: pulumi.Input; /** * The unique identifier of the WAF rule. @@ -207,16 +197,10 @@ export interface WafRuleArgs { * The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. */ rulesetId?: pulumi.Input; - /** - * Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - */ shared?: pulumi.Input; /** * The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. */ - siteId: pulumi.Input; - /** - * The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - */ + siteId: pulumi.Input; siteVersion?: pulumi.Input; } diff --git a/sdk/nodejs/esa/wafRuleset.ts b/sdk/nodejs/esa/wafRuleset.ts index 17273338bf..dd92e0e5a9 100644 --- a/sdk/nodejs/esa/wafRuleset.ts +++ b/sdk/nodejs/esa/wafRuleset.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waf Ruleset can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/waitingRoom.ts b/sdk/nodejs/esa/waitingRoom.ts index b1ff9e9608..f7a2b7428b 100644 --- a/sdk/nodejs/esa/waitingRoom.ts +++ b/sdk/nodejs/esa/waitingRoom.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/waitingRoomEvent.ts b/sdk/nodejs/esa/waitingRoomEvent.ts index 3aab64828a..9a96ba750b 100644 --- a/sdk/nodejs/esa/waitingRoomEvent.ts +++ b/sdk/nodejs/esa/waitingRoomEvent.ts @@ -75,6 +75,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room Event can be imported using the id, e.g. diff --git a/sdk/nodejs/esa/waitingRoomRule.ts b/sdk/nodejs/esa/waitingRoomRule.ts index a9fa74651b..ac84fa3fbd 100644 --- a/sdk/nodejs/esa/waitingRoomRule.ts +++ b/sdk/nodejs/esa/waitingRoomRule.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESA Waiting Room Rule can be imported using the id, e.g. @@ -107,11 +109,11 @@ export class WaitingRoomRule extends pulumi.CustomResource { /** * The site ID, which can be obtained by calling the ListSites API. */ - declare public readonly siteId: pulumi.Output; + declare public readonly siteId: pulumi.Output; /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. */ declare public readonly status: pulumi.Output; /** @@ -186,11 +188,11 @@ export interface WaitingRoomRuleState { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId?: pulumi.Input; + siteId?: pulumi.Input; /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. */ status?: pulumi.Input; /** @@ -218,11 +220,11 @@ export interface WaitingRoomRuleArgs { /** * The site ID, which can be obtained by calling the ListSites API. */ - siteId: pulumi.Input; + siteId: pulumi.Input; /** - * Rule enabled status, supporting: - * -'on': means enabled. - * -'off': means disabled. + * Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + * - on: open. + * - off: close. */ status: pulumi.Input; /** diff --git a/sdk/nodejs/ess/alarm.ts b/sdk/nodejs/ess/alarm.ts index 0e2d119d0c..359a80d363 100644 --- a/sdk/nodejs/ess/alarm.ts +++ b/sdk/nodejs/ess/alarm.ts @@ -107,6 +107,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling-rule module diff --git a/sdk/nodejs/ess/albServerGroupAttachment.ts b/sdk/nodejs/ess/albServerGroupAttachment.ts index 37c370c643..95ce45d86c 100644 --- a/sdk/nodejs/ess/albServerGroupAttachment.ts +++ b/sdk/nodejs/ess/albServerGroupAttachment.ts @@ -97,6 +97,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS alb server groups can be imported using the id, e.g. diff --git a/sdk/nodejs/ess/attachment.ts b/sdk/nodejs/ess/attachment.ts index ec644d9f47..348a94e36f 100644 --- a/sdk/nodejs/ess/attachment.ts +++ b/sdk/nodejs/ess/attachment.ts @@ -106,6 +106,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS attachment can be imported using the id or scaling group id, e.g. diff --git a/sdk/nodejs/ess/eciScalingConfiguration.ts b/sdk/nodejs/ess/eciScalingConfiguration.ts index 498ee35baa..02cba2d4fd 100644 --- a/sdk/nodejs/ess/eciScalingConfiguration.ts +++ b/sdk/nodejs/ess/eciScalingConfiguration.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS eci scaling configuration can be imported using the id, e.g. diff --git a/sdk/nodejs/ess/lifecycleHook.ts b/sdk/nodejs/ess/lifecycleHook.ts index aae75ac152..561b2147ce 100644 --- a/sdk/nodejs/ess/lifecycleHook.ts +++ b/sdk/nodejs/ess/lifecycleHook.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/nodejs/ess/notification.ts b/sdk/nodejs/ess/notification.ts index cbc5fd893a..8bbd30d686 100644 --- a/sdk/nodejs/ess/notification.ts +++ b/sdk/nodejs/ess/notification.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ess notification can be imported using the id, e.g. diff --git a/sdk/nodejs/ess/scalingConfiguration.ts b/sdk/nodejs/ess/scalingConfiguration.ts index b98d73726d..881e88838b 100644 --- a/sdk/nodejs/ess/scalingConfiguration.ts +++ b/sdk/nodejs/ess/scalingConfiguration.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/nodejs/ess/scalingGroup.ts b/sdk/nodejs/ess/scalingGroup.ts index 1b05638cf8..d137311093 100644 --- a/sdk/nodejs/ess/scalingGroup.ts +++ b/sdk/nodejs/ess/scalingGroup.ts @@ -91,6 +91,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling module diff --git a/sdk/nodejs/ess/scalingRule.ts b/sdk/nodejs/ess/scalingRule.ts index 6133aeebbb..8b5377bd0d 100644 --- a/sdk/nodejs/ess/scalingRule.ts +++ b/sdk/nodejs/ess/scalingRule.ts @@ -89,6 +89,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing autoscaling-rule module diff --git a/sdk/nodejs/ess/serverGroupAttachment.ts b/sdk/nodejs/ess/serverGroupAttachment.ts index 71afbb5348..d7507986e3 100644 --- a/sdk/nodejs/ess/serverGroupAttachment.ts +++ b/sdk/nodejs/ess/serverGroupAttachment.ts @@ -98,6 +98,8 @@ import * as utilities from "../utilities"; * forceAttach: true, * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class ServerGroupAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ess/suspendProcess.ts b/sdk/nodejs/ess/suspendProcess.ts index 4ca259028b..a4de895237 100644 --- a/sdk/nodejs/ess/suspendProcess.ts +++ b/sdk/nodejs/ess/suspendProcess.ts @@ -76,6 +76,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ESS suspend process can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/apiDestination.ts b/sdk/nodejs/eventbridge/apiDestination.ts index 6edceb96a3..78f8a38099 100644 --- a/sdk/nodejs/eventbridge/apiDestination.ts +++ b/sdk/nodejs/eventbridge/apiDestination.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Api Destination can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/connection.ts b/sdk/nodejs/eventbridge/connection.ts index 2bd192dd65..a1b1f5b0c1 100644 --- a/sdk/nodejs/eventbridge/connection.ts +++ b/sdk/nodejs/eventbridge/connection.ts @@ -87,6 +87,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Connection can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/eventBus.ts b/sdk/nodejs/eventbridge/eventBus.ts index 542b3653ed..697fb5ec02 100644 --- a/sdk/nodejs/eventbridge/eventBus.ts +++ b/sdk/nodejs/eventbridge/eventBus.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.eventbridge.EventBus("example", {eventBusName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Event Bus can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/eventSource.ts b/sdk/nodejs/eventbridge/eventSource.ts index 2c50ef0ec3..4e912843df 100644 --- a/sdk/nodejs/eventbridge/eventSource.ts +++ b/sdk/nodejs/eventbridge/eventSource.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Event Source can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/rule.ts b/sdk/nodejs/eventbridge/rule.ts index f4860912ab..1ceba3bd85 100644 --- a/sdk/nodejs/eventbridge/rule.ts +++ b/sdk/nodejs/eventbridge/rule.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/eventbridge/serviceLinkedRole.ts b/sdk/nodejs/eventbridge/serviceLinkedRole.ts index 5510051fe3..ad3ad2a54e 100644 --- a/sdk/nodejs/eventbridge/serviceLinkedRole.ts +++ b/sdk/nodejs/eventbridge/serviceLinkedRole.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.eventbridge.ServiceLinkedRole("default", {productName: "AliyunServiceRoleForEventBridgeSourceRocketMQ"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Event Bridge Service Linked Role can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/ecFailoverTestJob.ts b/sdk/nodejs/expressconnect/ecFailoverTestJob.ts index 2e870433e7..fd46058c72 100644 --- a/sdk/nodejs/expressconnect/ecFailoverTestJob.ts +++ b/sdk/nodejs/expressconnect/ecFailoverTestJob.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Ec Failover Test Job can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/grantRuleToCen.ts b/sdk/nodejs/expressconnect/grantRuleToCen.ts index 351969420e..36424547c0 100644 --- a/sdk/nodejs/expressconnect/grantRuleToCen.ts +++ b/sdk/nodejs/expressconnect/grantRuleToCen.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Grant Rule To Cen can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/physicalConnection.ts b/sdk/nodejs/expressconnect/physicalConnection.ts index 4aa26b08a6..40917f6038 100644 --- a/sdk/nodejs/expressconnect/physicalConnection.ts +++ b/sdk/nodejs/expressconnect/physicalConnection.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Physical Connection can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/routerGrantAssociation.ts b/sdk/nodejs/expressconnect/routerGrantAssociation.ts index aec91467e0..5c50a6dd5b 100644 --- a/sdk/nodejs/expressconnect/routerGrantAssociation.ts +++ b/sdk/nodejs/expressconnect/routerGrantAssociation.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Grant Association can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/routerInterface.ts b/sdk/nodejs/expressconnect/routerInterface.ts index 206f1d7a42..a0811875de 100644 --- a/sdk/nodejs/expressconnect/routerInterface.ts +++ b/sdk/nodejs/expressconnect/routerInterface.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Interface can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/routerTrAssociation.ts b/sdk/nodejs/expressconnect/routerTrAssociation.ts index eefcbe98b8..92f7367ad7 100644 --- a/sdk/nodejs/expressconnect/routerTrAssociation.ts +++ b/sdk/nodejs/expressconnect/routerTrAssociation.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/routerVbrChildInstance.ts b/sdk/nodejs/expressconnect/routerVbrChildInstance.ts index 2c1a0ce3bd..e0253ecef8 100644 --- a/sdk/nodejs/expressconnect/routerVbrChildInstance.ts +++ b/sdk/nodejs/expressconnect/routerVbrChildInstance.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/routerVpcAssociation.ts b/sdk/nodejs/expressconnect/routerVpcAssociation.ts index cbd63a0e29..6cbdc8ef27 100644 --- a/sdk/nodejs/expressconnect/routerVpcAssociation.ts +++ b/sdk/nodejs/expressconnect/routerVpcAssociation.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/trafficQos.ts b/sdk/nodejs/expressconnect/trafficQos.ts index cc796ceb1a..4346f9145b 100644 --- a/sdk/nodejs/expressconnect/trafficQos.ts +++ b/sdk/nodejs/expressconnect/trafficQos.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/trafficQosAssociation.ts b/sdk/nodejs/expressconnect/trafficQosAssociation.ts index 341988c4c9..e8125f29d1 100644 --- a/sdk/nodejs/expressconnect/trafficQosAssociation.ts +++ b/sdk/nodejs/expressconnect/trafficQosAssociation.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Association can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/trafficQosQueue.ts b/sdk/nodejs/expressconnect/trafficQosQueue.ts index cc074763de..a7e1820324 100644 --- a/sdk/nodejs/expressconnect/trafficQosQueue.ts +++ b/sdk/nodejs/expressconnect/trafficQosQueue.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/trafficQosRule.ts b/sdk/nodejs/expressconnect/trafficQosRule.ts index 243cc76a64..d73392512b 100644 --- a/sdk/nodejs/expressconnect/trafficQosRule.ts +++ b/sdk/nodejs/expressconnect/trafficQosRule.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Traffic Qos Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/vbrPconnAssociation.ts b/sdk/nodejs/expressconnect/vbrPconnAssociation.ts index 5b31619c9c..7af5c3ab8f 100644 --- a/sdk/nodejs/expressconnect/vbrPconnAssociation.ts +++ b/sdk/nodejs/expressconnect/vbrPconnAssociation.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Vbr Pconn Association can be imported using the id, e.g. diff --git a/sdk/nodejs/expressconnect/virtualBorderRouter.ts b/sdk/nodejs/expressconnect/virtualBorderRouter.ts index 0b3f5ce1cf..5541d1a1e8 100644 --- a/sdk/nodejs/expressconnect/virtualBorderRouter.ts +++ b/sdk/nodejs/expressconnect/virtualBorderRouter.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Virtual Border Router can be imported using the id, e.g. @@ -89,7 +91,7 @@ export class VirtualBorderRouter extends pulumi.CustomResource { * - When creating a VBR instance for an exclusive leased line, the values are `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2048`, `5120`, `8192`, `10240`, `20480`, `40960`, `50120`, `61440`, and `102400`. * - When creating a VBR instance for a shared line, you do not need to configure it. The bandwidth of the VBR is the bandwidth set when creating a shared physical line. */ - declare public readonly bandwidth: pulumi.Output; + declare public readonly bandwidth: pulumi.Output; /** * The circuit code provided by the operator for the physical connection. */ diff --git a/sdk/nodejs/expressconnect/virtualPhysicalConnection.ts b/sdk/nodejs/expressconnect/virtualPhysicalConnection.ts index 027da80ea0..acb8a4e0e9 100644 --- a/sdk/nodejs/expressconnect/virtualPhysicalConnection.ts +++ b/sdk/nodejs/expressconnect/virtualPhysicalConnection.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Virtual Physical Connection can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/alias.ts b/sdk/nodejs/fc/alias.ts index 745ca8bc9a..a5b06dc7e7 100644 --- a/sdk/nodejs/fc/alias.ts +++ b/sdk/nodejs/fc/alias.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute alias can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/customDomain.ts b/sdk/nodejs/fc/customDomain.ts index 08a90ca534..0107a80995 100644 --- a/sdk/nodejs/fc/customDomain.ts +++ b/sdk/nodejs/fc/customDomain.ts @@ -110,6 +110,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute custom domain can be imported using the id or the domain name, e.g. diff --git a/sdk/nodejs/fc/functionAsyncInvokeConfig.ts b/sdk/nodejs/fc/functionAsyncInvokeConfig.ts index a7b3ec575a..dfde4b78b0 100644 --- a/sdk/nodejs/fc/functionAsyncInvokeConfig.ts +++ b/sdk/nodejs/fc/functionAsyncInvokeConfig.ts @@ -117,6 +117,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Function Async Invoke Configs can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/layerVersion.ts b/sdk/nodejs/fc/layerVersion.ts index abb4f81cba..2228dbd62e 100644 --- a/sdk/nodejs/fc/layerVersion.ts +++ b/sdk/nodejs/fc/layerVersion.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Layer Version can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/trigger.ts b/sdk/nodejs/fc/trigger.ts index cd1bc1bae1..cd779773c2 100644 --- a/sdk/nodejs/fc/trigger.ts +++ b/sdk/nodejs/fc/trigger.ts @@ -535,6 +535,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing fc module diff --git a/sdk/nodejs/fc/v3alias.ts b/sdk/nodejs/fc/v3alias.ts index e59167a112..42b08f34a7 100644 --- a/sdk/nodejs/fc/v3alias.ts +++ b/sdk/nodejs/fc/v3alias.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Alias can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3asyncInvokeConfig.ts b/sdk/nodejs/fc/v3asyncInvokeConfig.ts index b876237e36..7feeee55f6 100644 --- a/sdk/nodejs/fc/v3asyncInvokeConfig.ts +++ b/sdk/nodejs/fc/v3asyncInvokeConfig.ts @@ -98,6 +98,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Async Invoke Config can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3concurrencyConfig.ts b/sdk/nodejs/fc/v3concurrencyConfig.ts index 1c51038af6..9e1171e505 100644 --- a/sdk/nodejs/fc/v3concurrencyConfig.ts +++ b/sdk/nodejs/fc/v3concurrencyConfig.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Concurrency Config can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3customDomain.ts b/sdk/nodejs/fc/v3customDomain.ts index c9167f083d..5434417cc5 100644 --- a/sdk/nodejs/fc/v3customDomain.ts +++ b/sdk/nodejs/fc/v3customDomain.ts @@ -187,6 +187,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Custom Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3function.ts b/sdk/nodejs/fc/v3function.ts index d8505586fb..916e7c28d2 100644 --- a/sdk/nodejs/fc/v3function.ts +++ b/sdk/nodejs/fc/v3function.ts @@ -90,6 +90,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -126,9 +128,6 @@ export class V3Function extends pulumi.CustomResource { return obj['__pulumiType'] === V3Function.__pulumiType; } - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - */ declare public readonly code: pulumi.Output; /** * The code package size of the function returned by the system, in byte Example : 1024 @@ -186,6 +185,10 @@ export class V3Function extends pulumi.CustomResource { * Function Handler: the call entry for the function compute system to run your function. */ declare public readonly handler: pulumi.Output; + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + */ + declare public readonly idleTimeout: pulumi.Output; /** * Maximum instance concurrency. */ @@ -193,7 +196,7 @@ export class V3Function extends pulumi.CustomResource { /** * Instance isolation mode */ - declare public readonly instanceIsolationMode: pulumi.Output; + declare public readonly instanceIsolationMode: pulumi.Output; /** * Instance lifecycle callback method configuration. See `instanceLifecycleConfig` below. */ @@ -243,7 +246,7 @@ export class V3Function extends pulumi.CustomResource { */ declare public readonly ossMountConfig: pulumi.Output; /** - * Resource Group ID. + * Resource Group ID */ declare public readonly resourceGroupId: pulumi.Output; /** @@ -251,13 +254,13 @@ export class V3Function extends pulumi.CustomResource { */ declare public readonly role: pulumi.Output; /** - * Function runtime type. + * Function runtime type */ declare public readonly runtime: pulumi.Output; /** * The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. */ - declare public readonly sessionAffinity: pulumi.Output; + declare public readonly sessionAffinity: pulumi.Output; /** * When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. */ @@ -319,6 +322,7 @@ export class V3Function extends pulumi.CustomResource { resourceInputs["functionName"] = state?.functionName; resourceInputs["gpuConfig"] = state?.gpuConfig; resourceInputs["handler"] = state?.handler; + resourceInputs["idleTimeout"] = state?.idleTimeout; resourceInputs["instanceConcurrency"] = state?.instanceConcurrency; resourceInputs["instanceIsolationMode"] = state?.instanceIsolationMode; resourceInputs["instanceLifecycleConfig"] = state?.instanceLifecycleConfig; @@ -364,6 +368,7 @@ export class V3Function extends pulumi.CustomResource { resourceInputs["functionName"] = args?.functionName; resourceInputs["gpuConfig"] = args?.gpuConfig; resourceInputs["handler"] = args?.handler; + resourceInputs["idleTimeout"] = args?.idleTimeout; resourceInputs["instanceConcurrency"] = args?.instanceConcurrency; resourceInputs["instanceIsolationMode"] = args?.instanceIsolationMode; resourceInputs["instanceLifecycleConfig"] = args?.instanceLifecycleConfig; @@ -404,9 +409,6 @@ export class V3Function extends pulumi.CustomResource { * Input properties used for looking up and filtering V3Function resources. */ export interface V3FunctionState { - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - */ code?: pulumi.Input; /** * The code package size of the function returned by the system, in byte Example : 1024 @@ -464,6 +466,10 @@ export interface V3FunctionState { * Function Handler: the call entry for the function compute system to run your function. */ handler?: pulumi.Input; + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + */ + idleTimeout?: pulumi.Input; /** * Maximum instance concurrency. */ @@ -521,7 +527,7 @@ export interface V3FunctionState { */ ossMountConfig?: pulumi.Input; /** - * Resource Group ID. + * Resource Group ID */ resourceGroupId?: pulumi.Input; /** @@ -529,7 +535,7 @@ export interface V3FunctionState { */ role?: pulumi.Input; /** - * Function runtime type. + * Function runtime type */ runtime?: pulumi.Input; /** @@ -574,9 +580,6 @@ export interface V3FunctionState { * The set of arguments for constructing a V3Function resource. */ export interface V3FunctionArgs { - /** - * Function code ZIP package. code and customContainerConfig. See `code` below. - */ code?: pulumi.Input; /** * The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. @@ -618,6 +621,10 @@ export interface V3FunctionArgs { * Function Handler: the call entry for the function compute system to run your function. */ handler: pulumi.Input; + /** + * Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + */ + idleTimeout?: pulumi.Input; /** * Maximum instance concurrency. */ @@ -659,7 +666,7 @@ export interface V3FunctionArgs { */ ossMountConfig?: pulumi.Input; /** - * Resource Group ID. + * Resource Group ID */ resourceGroupId?: pulumi.Input; /** @@ -667,7 +674,7 @@ export interface V3FunctionArgs { */ role?: pulumi.Input; /** - * Function runtime type. + * Function runtime type */ runtime: pulumi.Input; /** diff --git a/sdk/nodejs/fc/v3functionVersion.ts b/sdk/nodejs/fc/v3functionVersion.ts index 12103e0be7..4dbe5f2e7b 100644 --- a/sdk/nodejs/fc/v3functionVersion.ts +++ b/sdk/nodejs/fc/v3functionVersion.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Function Version can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3layerVersion.ts b/sdk/nodejs/fc/v3layerVersion.ts index 064da16f93..5d4b55f76e 100644 --- a/sdk/nodejs/fc/v3layerVersion.ts +++ b/sdk/nodejs/fc/v3layerVersion.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Layer Version can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3provisionConfig.ts b/sdk/nodejs/fc/v3provisionConfig.ts index d609540737..5a2d524d7f 100644 --- a/sdk/nodejs/fc/v3provisionConfig.ts +++ b/sdk/nodejs/fc/v3provisionConfig.ts @@ -129,6 +129,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Provision Config can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3trigger.ts b/sdk/nodejs/fc/v3trigger.ts index 6a6c8af273..5a7069f2d2 100644 --- a/sdk/nodejs/fc/v3trigger.ts +++ b/sdk/nodejs/fc/v3trigger.ts @@ -104,6 +104,8 @@ import * as utilities from "../utilities"; * export const outputCalicloudFcv3TriggerIntranet = alicloudFcv3Trigger["default"].httpTrigger[0].urlIntranet; * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Trigger can be imported using the id, e.g. diff --git a/sdk/nodejs/fc/v3vpcBinding.ts b/sdk/nodejs/fc/v3vpcBinding.ts index e13b669fd7..41a4614fd4 100644 --- a/sdk/nodejs/fc/v3vpcBinding.ts +++ b/sdk/nodejs/fc/v3vpcBinding.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * FCV3 Vpc Binding can be imported using the id, e.g. diff --git a/sdk/nodejs/fnf/execution.ts b/sdk/nodejs/fnf/execution.ts index 59fd1b06e0..21bef21c4a 100644 --- a/sdk/nodejs/fnf/execution.ts +++ b/sdk/nodejs/fnf/execution.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Execution can be imported using the id, e.g. diff --git a/sdk/nodejs/fnf/flow.ts b/sdk/nodejs/fnf/flow.ts index 9097209978..20cb1e76b5 100644 --- a/sdk/nodejs/fnf/flow.ts +++ b/sdk/nodejs/fnf/flow.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Flow can be imported using the id, e.g. diff --git a/sdk/nodejs/fnf/schedule.ts b/sdk/nodejs/fnf/schedule.ts index b587f739b2..c3d5eef2f8 100644 --- a/sdk/nodejs/fnf/schedule.ts +++ b/sdk/nodejs/fnf/schedule.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless Workflow Schedule can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/accelerator.ts b/sdk/nodejs/ga/accelerator.ts index de3940e4fc..59c28e0854 100644 --- a/sdk/nodejs/ga/accelerator.ts +++ b/sdk/nodejs/ga/accelerator.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Accelerator can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/acceleratorSpareIpAttachment.ts b/sdk/nodejs/ga/acceleratorSpareIpAttachment.ts index 9bf86657c0..ca42ea8282 100644 --- a/sdk/nodejs/ga/acceleratorSpareIpAttachment.ts +++ b/sdk/nodejs/ga/acceleratorSpareIpAttachment.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/accessLog.ts b/sdk/nodejs/ga/accessLog.ts index c2a5ce18db..789ae514f1 100644 --- a/sdk/nodejs/ga/accessLog.ts +++ b/sdk/nodejs/ga/accessLog.ts @@ -83,6 +83,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Access Log can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/acl.ts b/sdk/nodejs/ga/acl.ts index ca096ecfc4..7b40f6c0c1 100644 --- a/sdk/nodejs/ga/acl.ts +++ b/sdk/nodejs/ga/acl.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/aclAttachment.ts b/sdk/nodejs/ga/aclAttachment.ts index 745c0ef3b2..4a824930ea 100644 --- a/sdk/nodejs/ga/aclAttachment.ts +++ b/sdk/nodejs/ga/aclAttachment.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/aclEntryAttachment.ts b/sdk/nodejs/ga/aclEntryAttachment.ts index 04dc8ca46f..17f146dfc4 100644 --- a/sdk/nodejs/ga/aclEntryAttachment.ts +++ b/sdk/nodejs/ga/aclEntryAttachment.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/additionalCertificate.ts b/sdk/nodejs/ga/additionalCertificate.ts index 44384ca449..64badbc7bd 100644 --- a/sdk/nodejs/ga/additionalCertificate.ts +++ b/sdk/nodejs/ga/additionalCertificate.ts @@ -139,6 +139,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/bandwidthPackage.ts b/sdk/nodejs/ga/bandwidthPackage.ts index 1511bc8f43..d5a141e0be 100644 --- a/sdk/nodejs/ga/bandwidthPackage.ts +++ b/sdk/nodejs/ga/bandwidthPackage.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Bandwidth Package can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/bandwidthPackageAttachment.ts b/sdk/nodejs/ga/bandwidthPackageAttachment.ts index c65f41bb6d..b9fe1f7a96 100644 --- a/sdk/nodejs/ga/bandwidthPackageAttachment.ts +++ b/sdk/nodejs/ga/bandwidthPackageAttachment.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicAccelerateIp.ts b/sdk/nodejs/ga/basicAccelerateIp.ts index f1debd5ae0..6cede70db1 100644 --- a/sdk/nodejs/ga/basicAccelerateIp.ts +++ b/sdk/nodejs/ga/basicAccelerateIp.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicAccelerateIpEndpointRelation.ts b/sdk/nodejs/ga/basicAccelerateIpEndpointRelation.ts index de6d0f25d8..fdedbd863c 100644 --- a/sdk/nodejs/ga/basicAccelerateIpEndpointRelation.ts +++ b/sdk/nodejs/ga/basicAccelerateIpEndpointRelation.ts @@ -83,6 +83,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicAccelerator.ts b/sdk/nodejs/ga/basicAccelerator.ts index 644c3f720b..6c69b4faa9 100644 --- a/sdk/nodejs/ga/basicAccelerator.ts +++ b/sdk/nodejs/ga/basicAccelerator.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicEndpoint.ts b/sdk/nodejs/ga/basicEndpoint.ts index 2d09b23036..5ed8fc651b 100644 --- a/sdk/nodejs/ga/basicEndpoint.ts +++ b/sdk/nodejs/ga/basicEndpoint.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicEndpointGroup.ts b/sdk/nodejs/ga/basicEndpointGroup.ts index daa210f3b0..4e4b41c275 100644 --- a/sdk/nodejs/ga/basicEndpointGroup.ts +++ b/sdk/nodejs/ga/basicEndpointGroup.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/basicIpSet.ts b/sdk/nodejs/ga/basicIpSet.ts index d08a1c4501..81442ca949 100644 --- a/sdk/nodejs/ga/basicIpSet.ts +++ b/sdk/nodejs/ga/basicIpSet.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/customRoutingEndpoint.ts b/sdk/nodejs/ga/customRoutingEndpoint.ts index e370bdb0c8..97d380c276 100644 --- a/sdk/nodejs/ga/customRoutingEndpoint.ts +++ b/sdk/nodejs/ga/customRoutingEndpoint.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/customRoutingEndpointGroup.ts b/sdk/nodejs/ga/customRoutingEndpointGroup.ts index c7b0c1503b..d08707a17d 100644 --- a/sdk/nodejs/ga/customRoutingEndpointGroup.ts +++ b/sdk/nodejs/ga/customRoutingEndpointGroup.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/customRoutingEndpointGroupDestination.ts b/sdk/nodejs/ga/customRoutingEndpointGroupDestination.ts index 9441e4fa5f..8573e1d19f 100644 --- a/sdk/nodejs/ga/customRoutingEndpointGroupDestination.ts +++ b/sdk/nodejs/ga/customRoutingEndpointGroupDestination.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/customRoutingEndpointTrafficPolicy.ts b/sdk/nodejs/ga/customRoutingEndpointTrafficPolicy.ts index 7dc1987192..791e7325dd 100644 --- a/sdk/nodejs/ga/customRoutingEndpointTrafficPolicy.ts +++ b/sdk/nodejs/ga/customRoutingEndpointTrafficPolicy.ts @@ -91,6 +91,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/domain.ts b/sdk/nodejs/ga/domain.ts index bd962a6417..45d2cfd166 100644 --- a/sdk/nodejs/ga/domain.ts +++ b/sdk/nodejs/ga/domain.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/endpointGroup.ts b/sdk/nodejs/ga/endpointGroup.ts index 80ab5bc321..63f85973bb 100644 --- a/sdk/nodejs/ga/endpointGroup.ts +++ b/sdk/nodejs/ga/endpointGroup.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Endpoint Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/forwardingRule.ts b/sdk/nodejs/ga/forwardingRule.ts index 3e9239ec59..d8392bfa5a 100644 --- a/sdk/nodejs/ga/forwardingRule.ts +++ b/sdk/nodejs/ga/forwardingRule.ts @@ -121,6 +121,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Forwarding Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/ipSet.ts b/sdk/nodejs/ga/ipSet.ts index fdbcb306dc..5c487081a2 100644 --- a/sdk/nodejs/ga/ipSet.ts +++ b/sdk/nodejs/ga/ipSet.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Ip Set can be imported using the id, e.g. diff --git a/sdk/nodejs/ga/listener.ts b/sdk/nodejs/ga/listener.ts index 856b90ca33..fb37624fde 100644 --- a/sdk/nodejs/ga/listener.ts +++ b/sdk/nodejs/ga/listener.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ga Listener can be imported using the id, e.g. diff --git a/sdk/nodejs/governance/baseline.ts b/sdk/nodejs/governance/baseline.ts index 698cfdce6d..13839226da 100644 --- a/sdk/nodejs/governance/baseline.ts +++ b/sdk/nodejs/governance/baseline.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Governance Baseline can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/account.ts b/sdk/nodejs/gpdb/account.ts index 89553a7547..5e0df5acb1 100644 --- a/sdk/nodejs/gpdb/account.ts +++ b/sdk/nodejs/gpdb/account.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Account can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/connection.ts b/sdk/nodejs/gpdb/connection.ts index bc3ef4f064..b6a3a8c07a 100644 --- a/sdk/nodejs/gpdb/connection.ts +++ b/sdk/nodejs/gpdb/connection.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/database.ts b/sdk/nodejs/gpdb/database.ts index 86bfacf0b5..5b2155fc3f 100644 --- a/sdk/nodejs/gpdb/database.ts +++ b/sdk/nodejs/gpdb/database.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Database can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/dbInstanceIpArray.ts b/sdk/nodejs/gpdb/dbInstanceIpArray.ts index de377a23b3..db461b8e5c 100644 --- a/sdk/nodejs/gpdb/dbInstanceIpArray.ts +++ b/sdk/nodejs/gpdb/dbInstanceIpArray.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB DB Instance IP Array can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/dbResourceGroup.ts b/sdk/nodejs/gpdb/dbResourceGroup.ts index b541a58572..d5791c59e9 100644 --- a/sdk/nodejs/gpdb/dbResourceGroup.ts +++ b/sdk/nodejs/gpdb/dbResourceGroup.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/elasticInstance.ts b/sdk/nodejs/gpdb/elasticInstance.ts index ad13552850..b21849e539 100644 --- a/sdk/nodejs/gpdb/elasticInstance.ts +++ b/sdk/nodejs/gpdb/elasticInstance.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/externalDataService.ts b/sdk/nodejs/gpdb/externalDataService.ts index 070ec6e4b2..1dd8bfe97b 100644 --- a/sdk/nodejs/gpdb/externalDataService.ts +++ b/sdk/nodejs/gpdb/externalDataService.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/hadoopDataSource.ts b/sdk/nodejs/gpdb/hadoopDataSource.ts index 54d4ff3ef8..b8b2c9c033 100644 --- a/sdk/nodejs/gpdb/hadoopDataSource.ts +++ b/sdk/nodejs/gpdb/hadoopDataSource.ts @@ -179,6 +179,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Hadoop Data Source can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/index.ts b/sdk/nodejs/gpdb/index.ts index bbd710fdd8..a5f7730eb9 100644 --- a/sdk/nodejs/gpdb/index.ts +++ b/sdk/nodejs/gpdb/index.ts @@ -115,6 +115,11 @@ export type StreamingJob = import("./streamingJob").StreamingJob; export const StreamingJob: typeof import("./streamingJob").StreamingJob = null as any; utilities.lazyLoad(exports, ["StreamingJob"], () => require("./streamingJob")); +export { SupabaseProjectArgs, SupabaseProjectState } from "./supabaseProject"; +export type SupabaseProject = import("./supabaseProject").SupabaseProject; +export const SupabaseProject: typeof import("./supabaseProject").SupabaseProject = null as any; +utilities.lazyLoad(exports, ["SupabaseProject"], () => require("./supabaseProject")); + const _module = { version: utilities.getVersion(), @@ -152,6 +157,8 @@ const _module = { return new StreamingDataSource(name, undefined, { urn }) case "alicloud:gpdb/streamingJob:StreamingJob": return new StreamingJob(name, undefined, { urn }) + case "alicloud:gpdb/supabaseProject:SupabaseProject": + return new SupabaseProject(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -173,3 +180,4 @@ pulumi.runtime.registerResourceModule("alicloud", "gpdb/remoteAdbDataSource", _m pulumi.runtime.registerResourceModule("alicloud", "gpdb/streamingDataService", _module) pulumi.runtime.registerResourceModule("alicloud", "gpdb/streamingDataSource", _module) pulumi.runtime.registerResourceModule("alicloud", "gpdb/streamingJob", _module) +pulumi.runtime.registerResourceModule("alicloud", "gpdb/supabaseProject", _module) diff --git a/sdk/nodejs/gpdb/instance.ts b/sdk/nodejs/gpdb/instance.ts index 2d40859a12..5402dc80ba 100644 --- a/sdk/nodejs/gpdb/instance.ts +++ b/sdk/nodejs/gpdb/instance.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/jdbcDataSource.ts b/sdk/nodejs/gpdb/jdbcDataSource.ts index 84dfd77369..c8224e31a7 100644 --- a/sdk/nodejs/gpdb/jdbcDataSource.ts +++ b/sdk/nodejs/gpdb/jdbcDataSource.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Jdbc Data Source can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/remoteAdbDataSource.ts b/sdk/nodejs/gpdb/remoteAdbDataSource.ts index c780555141..5bd4e46dee 100644 --- a/sdk/nodejs/gpdb/remoteAdbDataSource.ts +++ b/sdk/nodejs/gpdb/remoteAdbDataSource.ts @@ -93,6 +93,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Remote ADB Data Source can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/streamingDataService.ts b/sdk/nodejs/gpdb/streamingDataService.ts index 9395efc8d0..2249dbcb1c 100644 --- a/sdk/nodejs/gpdb/streamingDataService.ts +++ b/sdk/nodejs/gpdb/streamingDataService.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Data Service can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/streamingDataSource.ts b/sdk/nodejs/gpdb/streamingDataSource.ts index ded25f1c99..7a147d0de6 100644 --- a/sdk/nodejs/gpdb/streamingDataSource.ts +++ b/sdk/nodejs/gpdb/streamingDataSource.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Data Source can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/streamingJob.ts b/sdk/nodejs/gpdb/streamingJob.ts index 7f621fbd53..4d14f5ac16 100644 --- a/sdk/nodejs/gpdb/streamingJob.ts +++ b/sdk/nodejs/gpdb/streamingJob.ts @@ -129,6 +129,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GPDB Streaming Job can be imported using the id, e.g. diff --git a/sdk/nodejs/gpdb/supabaseProject.ts b/sdk/nodejs/gpdb/supabaseProject.ts new file mode 100644 index 0000000000..11a8d491ee --- /dev/null +++ b/sdk/nodejs/gpdb/supabaseProject.ts @@ -0,0 +1,309 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. + * + * For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = alicloud.vpc.getNetworks({ + * nameRegex: "^default-NODELETING$", + * }); + * const defaultGetSwitches = _default.then(_default => alicloud.vpc.getSwitches({ + * vpcId: _default.ids?.[0], + * zoneId: "cn-hangzhou-j", + * })); + * const defaultSupabaseProject = new alicloud.gpdb.SupabaseProject("default", { + * projectSpec: "1C2G", + * zoneId: "cn-hangzhou-j", + * vpcId: _default.then(_default => _default.ids?.[0]), + * projectName: "supabase_example", + * securityIpLists: ["127.0.0.1"], + * vswitchId: defaultGetSwitches.then(defaultGetSwitches => defaultGetSwitches.ids?.[0]), + * diskPerformanceLevel: "PL0", + * storageSize: 1, + * accountPassword: "YourPassword123!", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example + * ``` + */ +export class SupabaseProject extends pulumi.CustomResource { + /** + * Get an existing SupabaseProject 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?: SupabaseProjectState, opts?: pulumi.CustomResourceOptions): SupabaseProject { + return new SupabaseProject(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:gpdb/supabaseProject:SupabaseProject'; + + /** + * Returns true if the given object is an instance of SupabaseProject. 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 SupabaseProject { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SupabaseProject.__pulumiType; + } + + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! @#$%^& *()_+-= + * - Length is 8~32 characters. + */ + declare public readonly accountPassword: pulumi.Output; + /** + * The creation time of the resource + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * cloud disk performance level + */ + declare public readonly diskPerformanceLevel: pulumi.Output; + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + */ + declare public readonly projectName: pulumi.Output; + /** + * The performance level of the Supabase instance. + */ + declare public readonly projectSpec: pulumi.Output; + /** + * The region ID. + */ + declare public /*out*/ readonly regionId: pulumi.Output; + /** + * The IP address whitelist. + */ + declare public readonly securityIpLists: pulumi.Output; + /** + * The status of the Supabase instance. + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The storage capacity of the instance. Unit: GB. + */ + declare public readonly storageSize: pulumi.Output; + /** + * The VPC ID. + */ + declare public readonly vpcId: pulumi.Output; + /** + * The vSwitch ID. + */ + declare public readonly vswitchId: pulumi.Output; + /** + * The Zone ID. + */ + declare public readonly zoneId: pulumi.Output; + + /** + * Create a SupabaseProject 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: SupabaseProjectArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SupabaseProjectArgs | SupabaseProjectState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SupabaseProjectState | undefined; + resourceInputs["accountPassword"] = state?.accountPassword; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["diskPerformanceLevel"] = state?.diskPerformanceLevel; + resourceInputs["projectName"] = state?.projectName; + resourceInputs["projectSpec"] = state?.projectSpec; + resourceInputs["regionId"] = state?.regionId; + resourceInputs["securityIpLists"] = state?.securityIpLists; + resourceInputs["status"] = state?.status; + resourceInputs["storageSize"] = state?.storageSize; + resourceInputs["vpcId"] = state?.vpcId; + resourceInputs["vswitchId"] = state?.vswitchId; + resourceInputs["zoneId"] = state?.zoneId; + } else { + const args = argsOrState as SupabaseProjectArgs | undefined; + if (args?.accountPassword === undefined && !opts.urn) { + throw new Error("Missing required property 'accountPassword'"); + } + if (args?.projectName === undefined && !opts.urn) { + throw new Error("Missing required property 'projectName'"); + } + if (args?.projectSpec === undefined && !opts.urn) { + throw new Error("Missing required property 'projectSpec'"); + } + if (args?.securityIpLists === undefined && !opts.urn) { + throw new Error("Missing required property 'securityIpLists'"); + } + if (args?.vpcId === undefined && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + if (args?.vswitchId === undefined && !opts.urn) { + throw new Error("Missing required property 'vswitchId'"); + } + if (args?.zoneId === undefined && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["accountPassword"] = args?.accountPassword ? pulumi.secret(args.accountPassword) : undefined; + resourceInputs["diskPerformanceLevel"] = args?.diskPerformanceLevel; + resourceInputs["projectName"] = args?.projectName; + resourceInputs["projectSpec"] = args?.projectSpec; + resourceInputs["securityIpLists"] = args?.securityIpLists; + resourceInputs["storageSize"] = args?.storageSize; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["vswitchId"] = args?.vswitchId; + resourceInputs["zoneId"] = args?.zoneId; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["regionId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["accountPassword"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(SupabaseProject.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SupabaseProject resources. + */ +export interface SupabaseProjectState { + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! @#$%^& *()_+-= + * - Length is 8~32 characters. + */ + accountPassword?: pulumi.Input; + /** + * The creation time of the resource + */ + createTime?: pulumi.Input; + /** + * cloud disk performance level + */ + diskPerformanceLevel?: pulumi.Input; + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + */ + projectName?: pulumi.Input; + /** + * The performance level of the Supabase instance. + */ + projectSpec?: pulumi.Input; + /** + * The region ID. + */ + regionId?: pulumi.Input; + /** + * The IP address whitelist. + */ + securityIpLists?: pulumi.Input[]>; + /** + * The status of the Supabase instance. + */ + status?: pulumi.Input; + /** + * The storage capacity of the instance. Unit: GB. + */ + storageSize?: pulumi.Input; + /** + * The VPC ID. + */ + vpcId?: pulumi.Input; + /** + * The vSwitch ID. + */ + vswitchId?: pulumi.Input; + /** + * The Zone ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SupabaseProject resource. + */ +export interface SupabaseProjectArgs { + /** + * The password for the initial account. + * - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + * - Support for special characters:! @#$%^& *()_+-= + * - Length is 8~32 characters. + */ + accountPassword: pulumi.Input; + /** + * cloud disk performance level + */ + diskPerformanceLevel?: pulumi.Input; + /** + * The project name. The naming rules are as follows: + * - 1~128 characters in length. + * - Can only contain English letters, numbers, dashes (-) and underscores (_). + * - Must begin with an English letter or an underscore (_). + */ + projectName: pulumi.Input; + /** + * The performance level of the Supabase instance. + */ + projectSpec: pulumi.Input; + /** + * The IP address whitelist. + */ + securityIpLists: pulumi.Input[]>; + /** + * The storage capacity of the instance. Unit: GB. + */ + storageSize?: pulumi.Input; + /** + * The VPC ID. + */ + vpcId: pulumi.Input; + /** + * The vSwitch ID. + */ + vswitchId: pulumi.Input; + /** + * The Zone ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/graphdatabase/dbInstance.ts b/sdk/nodejs/graphdatabase/dbInstance.ts index 00d23082c7..ef37960cea 100644 --- a/sdk/nodejs/graphdatabase/dbInstance.ts +++ b/sdk/nodejs/graphdatabase/dbInstance.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Graph Database Db Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/gwlb/listener.ts b/sdk/nodejs/gwlb/listener.ts index 9fbd104c57..4f2c8f6e56 100644 --- a/sdk/nodejs/gwlb/listener.ts +++ b/sdk/nodejs/gwlb/listener.ts @@ -102,6 +102,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Listener can be imported using the id, e.g. diff --git a/sdk/nodejs/gwlb/loadBalancer.ts b/sdk/nodejs/gwlb/loadBalancer.ts index 94e778b809..4651569f79 100644 --- a/sdk/nodejs/gwlb/loadBalancer.ts +++ b/sdk/nodejs/gwlb/loadBalancer.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Load Balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/gwlb/serverGroup.ts b/sdk/nodejs/gwlb/serverGroup.ts index 4ee1070ec7..0d0d207473 100644 --- a/sdk/nodejs/gwlb/serverGroup.ts +++ b/sdk/nodejs/gwlb/serverGroup.ts @@ -94,6 +94,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * GWLB Server Group can be imported using the id, e.g. diff --git a/sdk/nodejs/hbase/instance.ts b/sdk/nodejs/hbase/instance.ts index d2031974c2..778e9b400d 100644 --- a/sdk/nodejs/hbase/instance.ts +++ b/sdk/nodejs/hbase/instance.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * * this is a example for class netType instance. you can find more detail with the examples/hbase dir. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBase can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/crossAccount.ts b/sdk/nodejs/hbr/crossAccount.ts index 4bde8cd8d7..1bdfc47818 100644 --- a/sdk/nodejs/hbr/crossAccount.ts +++ b/sdk/nodejs/hbr/crossAccount.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/ecsBackupClient.ts b/sdk/nodejs/hbr/ecsBackupClient.ts index f919269726..9745ef263d 100644 --- a/sdk/nodejs/hbr/ecsBackupClient.ts +++ b/sdk/nodejs/hbr/ecsBackupClient.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * > **Note:** Please read the following precautions carefully before deleting a client: diff --git a/sdk/nodejs/hbr/ecsBackupPlan.ts b/sdk/nodejs/hbr/ecsBackupPlan.ts index d8c155334b..1b22866ddb 100644 --- a/sdk/nodejs/hbr/ecsBackupPlan.ts +++ b/sdk/nodejs/hbr/ecsBackupPlan.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Notice * * **About Backup path rules:** diff --git a/sdk/nodejs/hbr/hanaBackupClient.ts b/sdk/nodejs/hbr/hanaBackupClient.ts index eb39026b5f..ea3ec81cac 100644 --- a/sdk/nodejs/hbr/hanaBackupClient.ts +++ b/sdk/nodejs/hbr/hanaBackupClient.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/hanaBackupPlan.ts b/sdk/nodejs/hbr/hanaBackupPlan.ts index 55ea7ae0cb..943eeaa25a 100644 --- a/sdk/nodejs/hbr/hanaBackupPlan.ts +++ b/sdk/nodejs/hbr/hanaBackupPlan.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/hanaInstance.ts b/sdk/nodejs/hbr/hanaInstance.ts index 895d800e55..5445a840a8 100644 --- a/sdk/nodejs/hbr/hanaInstance.ts +++ b/sdk/nodejs/hbr/hanaInstance.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/nasBackupPlan.ts b/sdk/nodejs/hbr/nasBackupPlan.ts index 8cb6a76093..4070d97c55 100644 --- a/sdk/nodejs/hbr/nasBackupPlan.ts +++ b/sdk/nodejs/hbr/nasBackupPlan.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Nas Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/ossBackupPlan.ts b/sdk/nodejs/hbr/ossBackupPlan.ts index 47d8015ef3..83356a340e 100644 --- a/sdk/nodejs/hbr/ossBackupPlan.ts +++ b/sdk/nodejs/hbr/ossBackupPlan.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Oss Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/otsBackupPlan.ts b/sdk/nodejs/hbr/otsBackupPlan.ts index d72f34e6db..60aa12d2a2 100644 --- a/sdk/nodejs/hbr/otsBackupPlan.ts +++ b/sdk/nodejs/hbr/otsBackupPlan.ts @@ -96,6 +96,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Ots Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/policy.ts b/sdk/nodejs/hbr/policy.ts index 2159d5c096..d80079e608 100644 --- a/sdk/nodejs/hbr/policy.ts +++ b/sdk/nodejs/hbr/policy.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/policyBinding.ts b/sdk/nodejs/hbr/policyBinding.ts index 7962bd6ae8..a25c4a9b78 100644 --- a/sdk/nodejs/hbr/policyBinding.ts +++ b/sdk/nodejs/hbr/policyBinding.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * HBR Policy Binding can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/replicationVault.ts b/sdk/nodejs/hbr/replicationVault.ts index 127851bb35..19662da2aa 100644 --- a/sdk/nodejs/hbr/replicationVault.ts +++ b/sdk/nodejs/hbr/replicationVault.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/restoreJob.ts b/sdk/nodejs/hbr/restoreJob.ts index f7121a1634..2e79da1f2d 100644 --- a/sdk/nodejs/hbr/restoreJob.ts +++ b/sdk/nodejs/hbr/restoreJob.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `:`, e.g. diff --git a/sdk/nodejs/hbr/serverBackupPlan.ts b/sdk/nodejs/hbr/serverBackupPlan.ts index d5b498eada..6b6e1d74c8 100644 --- a/sdk/nodejs/hbr/serverBackupPlan.ts +++ b/sdk/nodejs/hbr/serverBackupPlan.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/hbr/vault.ts b/sdk/nodejs/hbr/vault.ts index 655a69643b..a6e9f985a7 100644 --- a/sdk/nodejs/hbr/vault.ts +++ b/sdk/nodejs/hbr/vault.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.hbr.Vault("example", {vaultName: `example_value_${_default.result}`}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. diff --git a/sdk/nodejs/hologram/instance.ts b/sdk/nodejs/hologram/instance.ts index 13662f6dff..4dceb2d6c8 100644 --- a/sdk/nodejs/hologram/instance.ts +++ b/sdk/nodejs/hologram/instance.ts @@ -74,6 +74,10 @@ export class Instance extends pulumi.CustomResource { * The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. */ declare public readonly duration: pulumi.Output; + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + */ + declare public readonly enableSsl: pulumi.Output; /** * List of domain names. See `endpoints` below. */ @@ -165,6 +169,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["cpu"] = state?.cpu; resourceInputs["createTime"] = state?.createTime; resourceInputs["duration"] = state?.duration; + resourceInputs["enableSsl"] = state?.enableSsl; resourceInputs["endpoints"] = state?.endpoints; resourceInputs["gatewayCount"] = state?.gatewayCount; resourceInputs["initialDatabases"] = state?.initialDatabases; @@ -198,6 +203,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["coldStorageSize"] = args?.coldStorageSize; resourceInputs["cpu"] = args?.cpu; resourceInputs["duration"] = args?.duration; + resourceInputs["enableSsl"] = args?.enableSsl; resourceInputs["endpoints"] = args?.endpoints; resourceInputs["gatewayCount"] = args?.gatewayCount; resourceInputs["initialDatabases"] = args?.initialDatabases; @@ -255,6 +261,10 @@ export interface InstanceState { * The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. */ duration?: pulumi.Input; + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + */ + enableSsl?: pulumi.Input; /** * List of domain names. See `endpoints` below. */ @@ -360,6 +370,10 @@ export interface InstanceArgs { * The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. */ duration?: pulumi.Input; + /** + * Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + */ + enableSsl?: pulumi.Input; /** * List of domain names. See `endpoints` below. */ diff --git a/sdk/nodejs/imm/project.ts b/sdk/nodejs/imm/project.ts index bc35eb03b8..ea7b053934 100644 --- a/sdk/nodejs/imm/project.ts +++ b/sdk/nodejs/imm/project.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Intelligent Media Management Project can be imported using the id, e.g. diff --git a/sdk/nodejs/imp/appTemplate.ts b/sdk/nodejs/imp/appTemplate.ts index 690514729a..9c88cc56e3 100644 --- a/sdk/nodejs/imp/appTemplate.ts +++ b/sdk/nodejs/imp/appTemplate.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Apsara Agile Live (IMP) App Template can be imported using the id, e.g. diff --git a/sdk/nodejs/ims/oidcProvider.ts b/sdk/nodejs/ims/oidcProvider.ts index dd8a7964b7..ae778fc9a0 100644 --- a/sdk/nodejs/ims/oidcProvider.ts +++ b/sdk/nodejs/ims/oidcProvider.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * IMS Oidc Provider can be imported using the id, e.g. diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 225a0aa601..0da68c7a61 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -70,6 +70,11 @@ export type MscSubWebhook = import("./mscSubWebhook").MscSubWebhook; export const MscSubWebhook: typeof import("./mscSubWebhook").MscSubWebhook = null as any; utilities.lazyLoad(exports, ["MscSubWebhook"], () => require("./mscSubWebhook")); +export { OpenApiExplorerApiMcpServerArgs, OpenApiExplorerApiMcpServerState } from "./openApiExplorerApiMcpServer"; +export type OpenApiExplorerApiMcpServer = import("./openApiExplorerApiMcpServer").OpenApiExplorerApiMcpServer; +export const OpenApiExplorerApiMcpServer: typeof import("./openApiExplorerApiMcpServer").OpenApiExplorerApiMcpServer = null as any; +utilities.lazyLoad(exports, ["OpenApiExplorerApiMcpServer"], () => require("./openApiExplorerApiMcpServer")); + export { PolarDbExtensionArgs, PolarDbExtensionState } from "./polarDbExtension"; export type PolarDbExtension = import("./polarDbExtension").PolarDbExtension; export const PolarDbExtension: typeof import("./polarDbExtension").PolarDbExtension = null as any; @@ -120,6 +125,7 @@ import * as cloudstoragegateway from "./cloudstoragegateway"; import * as cms from "./cms"; import * as compute from "./compute"; import * as config from "./config"; +import * as configaggregate from "./configaggregate"; import * as cr from "./cr"; import * as cs from "./cs"; import * as das from "./das"; @@ -265,6 +271,7 @@ export { cms, compute, config, + configaggregate, cr, cs, das, @@ -387,6 +394,8 @@ const _module = { return new MscSubSubscription(name, undefined, { urn }) case "alicloud:index/mscSubWebhook:MscSubWebhook": return new MscSubWebhook(name, undefined, { urn }) + case "alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer": + return new OpenApiExplorerApiMcpServer(name, undefined, { urn }) case "alicloud:index/polarDbExtension:PolarDbExtension": return new PolarDbExtension(name, undefined, { urn }) case "alicloud:index/starRocksInstance:StarRocksInstance": @@ -400,6 +409,7 @@ pulumi.runtime.registerResourceModule("alicloud", "index/milvusInstance", _modul pulumi.runtime.registerResourceModule("alicloud", "index/mscSubContract", _module) pulumi.runtime.registerResourceModule("alicloud", "index/mscSubSubscription", _module) pulumi.runtime.registerResourceModule("alicloud", "index/mscSubWebhook", _module) +pulumi.runtime.registerResourceModule("alicloud", "index/openApiExplorerApiMcpServer", _module) pulumi.runtime.registerResourceModule("alicloud", "index/polarDbExtension", _module) pulumi.runtime.registerResourceModule("alicloud", "index/starRocksInstance", _module) pulumi.runtime.registerResourcePackage("alicloud", { diff --git a/sdk/nodejs/iot/deviceGroup.ts b/sdk/nodejs/iot/deviceGroup.ts index 024fb75293..add432a3d9 100644 --- a/sdk/nodejs/iot/deviceGroup.ts +++ b/sdk/nodejs/iot/deviceGroup.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.iot.DeviceGroup("example", {groupName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Iot Device Group can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/alias.ts b/sdk/nodejs/kms/alias.ts index 7601697663..0a1397f4e2 100644 --- a/sdk/nodejs/kms/alias.ts +++ b/sdk/nodejs/kms/alias.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS alias can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/applicationAccessPoint.ts b/sdk/nodejs/kms/applicationAccessPoint.ts index 1693ffee63..cde13510bb 100644 --- a/sdk/nodejs/kms/applicationAccessPoint.ts +++ b/sdk/nodejs/kms/applicationAccessPoint.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Application Access Point can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/ciphertext.ts b/sdk/nodejs/kms/ciphertext.ts index d13befa902..6f8e3afe11 100644 --- a/sdk/nodejs/kms/ciphertext.ts +++ b/sdk/nodejs/kms/ciphertext.ts @@ -21,6 +21,8 @@ import * as utilities from "../utilities"; * plaintext: "example", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class Ciphertext extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/kms/clientKey.ts b/sdk/nodejs/kms/clientKey.ts index 5168c3bf3c..ede7f0c1e2 100644 --- a/sdk/nodejs/kms/clientKey.ts +++ b/sdk/nodejs/kms/clientKey.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Client Key can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/getInstances.ts b/sdk/nodejs/kms/getInstances.ts index 9e0eec4e9a..0b97ece36b 100644 --- a/sdk/nodejs/kms/getInstances.ts +++ b/sdk/nodejs/kms/getInstances.ts @@ -78,7 +78,6 @@ import * as utilities from "../utilities"; * spec: 1000, * renewStatus: "ManualRenewal", * productVersion: "3", - * renewPeriod: 3, * vpcId: vswitch.vpcId, * zoneIds: [ * "cn-hangzhou-k", @@ -121,9 +120,8 @@ export function getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOption opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("alicloud:kms/getInstances:getInstances", { "ids": args.ids, + "instanceName": args.instanceName, "outputFile": args.outputFile, - "pageNumber": args.pageNumber, - "pageSize": args.pageSize, }, opts); } @@ -135,12 +133,14 @@ export interface GetInstancesArgs { * A list of Instance IDs. */ ids?: string[]; + /** + * The name of the resource. + */ + instanceName?: string; /** * File name where to save data source results (after running `pulumi preview`). */ outputFile?: string; - pageNumber?: number; - pageSize?: number; } /** @@ -155,13 +155,12 @@ export interface GetInstancesResult { * A list of Instance IDs. */ readonly ids: string[]; + readonly instanceName?: string; /** * A list of Instance Entries. Each element contains the following attributes: */ readonly instances: outputs.kms.GetInstancesInstance[]; readonly outputFile?: string; - readonly pageNumber?: number; - readonly pageSize?: number; } /** * This data source provides Kms Instance available to the user.[What is Instance](https://www.alibabacloud.com/help/en/) @@ -235,7 +234,6 @@ export interface GetInstancesResult { * spec: 1000, * renewStatus: "ManualRenewal", * productVersion: "3", - * renewPeriod: 3, * vpcId: vswitch.vpcId, * zoneIds: [ * "cn-hangzhou-k", @@ -278,9 +276,8 @@ export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi. opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("alicloud:kms/getInstances:getInstances", { "ids": args.ids, + "instanceName": args.instanceName, "outputFile": args.outputFile, - "pageNumber": args.pageNumber, - "pageSize": args.pageSize, }, opts); } @@ -292,10 +289,12 @@ export interface GetInstancesOutputArgs { * A list of Instance IDs. */ ids?: pulumi.Input[]>; + /** + * The name of the resource. + */ + instanceName?: pulumi.Input; /** * File name where to save data source results (after running `pulumi preview`). */ outputFile?: pulumi.Input; - pageNumber?: pulumi.Input; - pageSize?: pulumi.Input; } diff --git a/sdk/nodejs/kms/index.ts b/sdk/nodejs/kms/index.ts index c54d5f1fbc..84e18264ba 100644 --- a/sdk/nodejs/kms/index.ts +++ b/sdk/nodejs/kms/index.ts @@ -100,6 +100,11 @@ export type Secret = import("./secret").Secret; export const Secret: typeof import("./secret").Secret = null as any; utilities.lazyLoad(exports, ["Secret"], () => require("./secret")); +export { ValueAddedServiceArgs, ValueAddedServiceState } from "./valueAddedService"; +export type ValueAddedService = import("./valueAddedService").ValueAddedService; +export const ValueAddedService: typeof import("./valueAddedService").ValueAddedService = null as any; +utilities.lazyLoad(exports, ["ValueAddedService"], () => require("./valueAddedService")); + const _module = { version: utilities.getVersion(), @@ -125,6 +130,8 @@ const _module = { return new Policy(name, undefined, { urn }) case "alicloud:kms/secret:Secret": return new Secret(name, undefined, { urn }) + case "alicloud:kms/valueAddedService:ValueAddedService": + return new ValueAddedService(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -140,3 +147,4 @@ pulumi.runtime.registerResourceModule("alicloud", "kms/keyVersion", _module) pulumi.runtime.registerResourceModule("alicloud", "kms/networkRule", _module) pulumi.runtime.registerResourceModule("alicloud", "kms/policy", _module) pulumi.runtime.registerResourceModule("alicloud", "kms/secret", _module) +pulumi.runtime.registerResourceModule("alicloud", "kms/valueAddedService", _module) diff --git a/sdk/nodejs/kms/instance.ts b/sdk/nodejs/kms/instance.ts index 09afc1a32e..1d6d88e4c8 100644 --- a/sdk/nodejs/kms/instance.ts +++ b/sdk/nodejs/kms/instance.ts @@ -210,6 +210,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/key.ts b/sdk/nodejs/kms/key.ts index 534cc77697..72ac794e9b 100644 --- a/sdk/nodejs/kms/key.ts +++ b/sdk/nodejs/kms/key.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Key can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/keyVersion.ts b/sdk/nodejs/kms/keyVersion.ts index e7bc51544f..dd7d333217 100644 --- a/sdk/nodejs/kms/keyVersion.ts +++ b/sdk/nodejs/kms/keyVersion.ts @@ -21,6 +21,8 @@ import * as utilities from "../utilities"; * const keyversion = new alicloud.kms.KeyVersion("keyversion", {keyId: _this.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Alikms key version can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/networkRule.ts b/sdk/nodejs/kms/networkRule.ts index 0bed3af45d..77fb2a4611 100644 --- a/sdk/nodejs/kms/networkRule.ts +++ b/sdk/nodejs/kms/networkRule.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Network Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/policy.ts b/sdk/nodejs/kms/policy.ts index 17f7a2ab98..4e61c18a01 100644 --- a/sdk/nodejs/kms/policy.ts +++ b/sdk/nodejs/kms/policy.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/secret.ts b/sdk/nodejs/kms/secret.ts index e0a6575b27..e78b391a88 100644 --- a/sdk/nodejs/kms/secret.ts +++ b/sdk/nodejs/kms/secret.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * KMS Secret can be imported using the id, e.g. diff --git a/sdk/nodejs/kms/valueAddedService.ts b/sdk/nodejs/kms/valueAddedService.ts new file mode 100644 index 0000000000..e25609326d --- /dev/null +++ b/sdk/nodejs/kms/valueAddedService.ts @@ -0,0 +1,223 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 KMS Value Added Service resource. + * + * Value Added Service. + * + * For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.kms.ValueAddedService("default", { + * valueAddedService: "2", + * period: 1, + * paymentType: "Subscription", + * renewPeriod: 1, + * renewStatus: "AutoRenewal", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * KMS Value Added Service can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example + * ``` + */ +export class ValueAddedService extends pulumi.CustomResource { + /** + * Get an existing ValueAddedService 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?: ValueAddedServiceState, opts?: pulumi.CustomResourceOptions): ValueAddedService { + return new ValueAddedService(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:kms/valueAddedService:ValueAddedService'; + + /** + * Returns true if the given object is an instance of ValueAddedService. 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 ValueAddedService { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ValueAddedService.__pulumiType; + } + + /** + * The creation time of the resource + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The payment type of the resource + */ + declare public readonly paymentType: pulumi.Output; + declare public readonly period: pulumi.Output; + /** + * The region ID of the resource + */ + declare public /*out*/ readonly regionId: pulumi.Output; + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + */ + declare public readonly renewPeriod: pulumi.Output; + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + */ + declare public readonly renewStatus: pulumi.Output; + /** + * The status of the resource + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly valueAddedService: pulumi.Output; + + /** + * Create a ValueAddedService 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: ValueAddedServiceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ValueAddedServiceArgs | ValueAddedServiceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ValueAddedServiceState | undefined; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["paymentType"] = state?.paymentType; + resourceInputs["period"] = state?.period; + resourceInputs["regionId"] = state?.regionId; + resourceInputs["renewPeriod"] = state?.renewPeriod; + resourceInputs["renewStatus"] = state?.renewStatus; + resourceInputs["status"] = state?.status; + resourceInputs["valueAddedService"] = state?.valueAddedService; + } else { + const args = argsOrState as ValueAddedServiceArgs | undefined; + if (args?.paymentType === undefined && !opts.urn) { + throw new Error("Missing required property 'paymentType'"); + } + resourceInputs["paymentType"] = args?.paymentType; + resourceInputs["period"] = args?.period; + resourceInputs["renewPeriod"] = args?.renewPeriod; + resourceInputs["renewStatus"] = args?.renewStatus; + resourceInputs["valueAddedService"] = args?.valueAddedService; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["regionId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ValueAddedService.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ValueAddedService resources. + */ +export interface ValueAddedServiceState { + /** + * The creation time of the resource + */ + createTime?: pulumi.Input; + /** + * The payment type of the resource + */ + paymentType?: pulumi.Input; + period?: pulumi.Input; + /** + * The region ID of the resource + */ + regionId?: pulumi.Input; + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + */ + renewPeriod?: pulumi.Input; + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + */ + renewStatus?: pulumi.Input; + /** + * The status of the resource + */ + status?: pulumi.Input; + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + valueAddedService?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ValueAddedService resource. + */ +export interface ValueAddedServiceArgs { + /** + * The payment type of the resource + */ + paymentType: pulumi.Input; + period?: pulumi.Input; + /** + * Automatic renewal period, in years. + * + * > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + */ + renewPeriod?: pulumi.Input; + /** + * The renewal status of the specified instance. Valid values: + * + * - AutoRenewal: The instance is automatically renewed. + * - ManualRenewal: The instance is manually renewed. + * - NotRenewal: The instance is not renewed. + */ + renewStatus?: pulumi.Input; + /** + * value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + valueAddedService?: pulumi.Input; +} diff --git a/sdk/nodejs/kvstore/account.ts b/sdk/nodejs/kvstore/account.ts index dd7d781bcb..3601f9c343 100644 --- a/sdk/nodejs/kvstore/account.ts +++ b/sdk/nodejs/kvstore/account.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. diff --git a/sdk/nodejs/kvstore/auditLogConfig.ts b/sdk/nodejs/kvstore/auditLogConfig.ts index 7755ee43a4..7cc73eee9e 100644 --- a/sdk/nodejs/kvstore/auditLogConfig.ts +++ b/sdk/nodejs/kvstore/auditLogConfig.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. diff --git a/sdk/nodejs/kvstore/backupPolicy.ts b/sdk/nodejs/kvstore/backupPolicy.ts index f70fb51b53..0588a16ed3 100644 --- a/sdk/nodejs/kvstore/backupPolicy.ts +++ b/sdk/nodejs/kvstore/backupPolicy.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/kvstore/connection.ts b/sdk/nodejs/kvstore/connection.ts index 3bfbe6528b..61314d00e4 100644 --- a/sdk/nodejs/kvstore/connection.ts +++ b/sdk/nodejs/kvstore/connection.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. diff --git a/sdk/nodejs/lindorm/instance.ts b/sdk/nodejs/lindorm/instance.ts index dcaa4671b5..cd8ded30c1 100644 --- a/sdk/nodejs/lindorm/instance.ts +++ b/sdk/nodejs/lindorm/instance.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Lindorm Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/lindorm/instanceV2.ts b/sdk/nodejs/lindorm/instanceV2.ts index b332e87d45..7ad8eaf554 100644 --- a/sdk/nodejs/lindorm/instanceV2.ts +++ b/sdk/nodejs/lindorm/instanceV2.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Lindorm Instance V2 can be imported using the id, e.g. @@ -115,14 +117,10 @@ export class InstanceV2 extends pulumi.CustomResource { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition - * + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -130,9 +128,9 @@ export class InstanceV2 extends pulumi.CustomResource { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -143,17 +141,18 @@ export class InstanceV2 extends pulumi.CustomResource { */ declare public readonly autoRenewal: pulumi.Output; /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB */ declare public readonly cloudStorageSize: pulumi.Output; /** - * > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage */ declare public readonly cloudStorageType: pulumi.Output; /** @@ -175,7 +174,11 @@ export class InstanceV2 extends pulumi.CustomResource { */ declare public readonly instanceAlias: pulumi.Output; /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode */ declare public readonly paymentType: pulumi.Output; /** @@ -212,6 +215,10 @@ export class InstanceV2 extends pulumi.CustomResource { * VswitchId */ declare public readonly vswitchId: pulumi.Output; + /** + * Instance whitelist list See `whiteIpList` below. + */ + declare public readonly whiteIpLists: pulumi.Output; /** * The zone ID of the resource */ @@ -250,6 +257,7 @@ export class InstanceV2 extends pulumi.CustomResource { resourceInputs["standbyZoneId"] = state?.standbyZoneId; resourceInputs["vpcId"] = state?.vpcId; resourceInputs["vswitchId"] = state?.vswitchId; + resourceInputs["whiteIpLists"] = state?.whiteIpLists; resourceInputs["zoneId"] = state?.zoneId; } else { const args = argsOrState as InstanceV2Args | undefined; @@ -293,6 +301,7 @@ export class InstanceV2 extends pulumi.CustomResource { resourceInputs["standbyZoneId"] = args?.standbyZoneId; resourceInputs["vpcId"] = args?.vpcId; resourceInputs["vswitchId"] = args?.vswitchId; + resourceInputs["whiteIpLists"] = args?.whiteIpLists; resourceInputs["zoneId"] = args?.zoneId; resourceInputs["regionId"] = undefined /*out*/; } @@ -316,14 +325,10 @@ export interface InstanceV2State { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition - * + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -331,9 +336,9 @@ export interface InstanceV2State { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -344,17 +349,18 @@ export interface InstanceV2State { */ autoRenewal?: pulumi.Input; /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB */ cloudStorageSize?: pulumi.Input; /** - * > **NOTE:** > + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage - * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage */ cloudStorageType?: pulumi.Input; /** @@ -376,7 +382,11 @@ export interface InstanceV2State { */ instanceAlias?: pulumi.Input; /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode */ paymentType?: pulumi.Input; /** @@ -413,6 +423,10 @@ export interface InstanceV2State { * VswitchId */ vswitchId?: pulumi.Input; + /** + * Instance whitelist list See `whiteIpList` below. + */ + whiteIpLists?: pulumi.Input[]>; /** * The zone ID of the resource */ @@ -434,14 +448,10 @@ export interface InstanceV2Args { /** * Deployment Scenario * - * > **NOTE:** Enumeration value - * - * > **NOTE:** - 1.0 Single AZ - * - * > **NOTE:** - 2.0 Multi-AZ Basic - * - * > **NOTE:** - 3.0 Multi-AZ High Availability Edition - * + * Enumeration value: + * - **1.0**: Single Zone + * - **2.0**: Multi-AZ Basic Edition + * - **3.0**: Multi-AZ High Availability Edition * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ @@ -449,9 +459,9 @@ export interface InstanceV2Args { /** * Automatic renewal duration. Unit: Month. * - * Value range: `1` to **12 * *. + * Value range: `1` to `12`. * - * > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + * > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. * * * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -462,17 +472,18 @@ export interface InstanceV2Args { */ autoRenewal?: pulumi.Input; /** + * The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + * * > **NOTE:** Cloud storage capacity in GB */ cloudStorageSize?: pulumi.Input; /** - * > **NOTE:** > - * - * > **NOTE:** - StandardStorage: Standard cloud storage - * - * > **NOTE:** - PerformanceStorage: performance-based cloud storage + * Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. * - * > **NOTE:** - capacity storage: Capacity-based cloud storage + * Enumeration value: + * - `StandardStorage`: Standard cloud storage + * - **Performance storage**: Performance-based cloud storage + * - **Capacity Storage**: Capacity-based cloud storage */ cloudStorageType?: pulumi.Input; /** @@ -494,7 +505,11 @@ export interface InstanceV2Args { */ instanceAlias: pulumi.Input; /** - * The payment type of the resource + * Resource attribute fields representing payment types + * + * Enumeration value: + * - `PREPAY`: Prepaid mode + * - `POSTPAY`: Postpay mode */ paymentType: pulumi.Input; /** @@ -527,6 +542,10 @@ export interface InstanceV2Args { * VswitchId */ vswitchId: pulumi.Input; + /** + * Instance whitelist list See `whiteIpList` below. + */ + whiteIpLists?: pulumi.Input[]>; /** * The zone ID of the resource */ diff --git a/sdk/nodejs/live/caster.ts b/sdk/nodejs/live/caster.ts index daffdcde90..840a64ee7e 100644 --- a/sdk/nodejs/live/caster.ts +++ b/sdk/nodejs/live/caster.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Live Caster can be imported using the id, e.g. diff --git a/sdk/nodejs/log/alert.ts b/sdk/nodejs/log/alert.ts index e238b77195..57944ce02d 100644 --- a/sdk/nodejs/log/alert.ts +++ b/sdk/nodejs/log/alert.ts @@ -272,6 +272,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log alert can be imported using the id, e.g. diff --git a/sdk/nodejs/log/alertResource.ts b/sdk/nodejs/log/alertResource.ts index fbff2c1e16..6f132c2d8a 100644 --- a/sdk/nodejs/log/alertResource.ts +++ b/sdk/nodejs/log/alertResource.ts @@ -23,6 +23,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log alert resource can be imported using the id, e.g. diff --git a/sdk/nodejs/log/audit.ts b/sdk/nodejs/log/audit.ts index fcf1955564..08d720eb3b 100644 --- a/sdk/nodejs/log/audit.ts +++ b/sdk/nodejs/log/audit.ts @@ -173,6 +173,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log audit can be imported using the id, e.g. diff --git a/sdk/nodejs/log/dashboard.ts b/sdk/nodejs/log/dashboard.ts index 8a41205215..dade210861 100644 --- a/sdk/nodejs/log/dashboard.ts +++ b/sdk/nodejs/log/dashboard.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Dashboard can be imported using the id, e.g. diff --git a/sdk/nodejs/log/etl.ts b/sdk/nodejs/log/etl.ts index eb64bbf97f..89db7ab184 100644 --- a/sdk/nodejs/log/etl.ts +++ b/sdk/nodejs/log/etl.ts @@ -90,6 +90,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log etl can be imported using the id, e.g. diff --git a/sdk/nodejs/log/ingestion.ts b/sdk/nodejs/log/ingestion.ts index f0b31b1aa7..cb51312a02 100644 --- a/sdk/nodejs/log/ingestion.ts +++ b/sdk/nodejs/log/ingestion.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log ingestion can be imported using the id or name, e.g. diff --git a/sdk/nodejs/log/logTailAttachment.ts b/sdk/nodejs/log/logTailAttachment.ts index 5492017253..13a08aa20b 100644 --- a/sdk/nodejs/log/logTailAttachment.ts +++ b/sdk/nodejs/log/logTailAttachment.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Logtial to machine group can be imported using the id, e.g. diff --git a/sdk/nodejs/log/logTailConfig.ts b/sdk/nodejs/log/logTailConfig.ts index e952b95354..76bb2e5f06 100644 --- a/sdk/nodejs/log/logTailConfig.ts +++ b/sdk/nodejs/log/logTailConfig.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls-logtail module diff --git a/sdk/nodejs/log/machineGroup.ts b/sdk/nodejs/log/machineGroup.ts index d3a5eab381..d18f9f038d 100644 --- a/sdk/nodejs/log/machineGroup.ts +++ b/sdk/nodejs/log/machineGroup.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls-logtail module diff --git a/sdk/nodejs/log/ossExport.ts b/sdk/nodejs/log/ossExport.ts index 45f84dbe3b..30f8ab0a2f 100644 --- a/sdk/nodejs/log/ossExport.ts +++ b/sdk/nodejs/log/ossExport.ts @@ -64,6 +64,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log oss export can be imported using the id or name, e.g. diff --git a/sdk/nodejs/log/ossShipper.ts b/sdk/nodejs/log/ossShipper.ts index 403a25a1a9..a8d18a66f3 100644 --- a/sdk/nodejs/log/ossShipper.ts +++ b/sdk/nodejs/log/ossShipper.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log oss shipper can be imported using the id or name, e.g. diff --git a/sdk/nodejs/log/project.ts b/sdk/nodejs/log/project.ts index dd61688c46..3347103fdc 100644 --- a/sdk/nodejs/log/project.ts +++ b/sdk/nodejs/log/project.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/nodejs/log/resource.ts b/sdk/nodejs/log/resource.ts index 8cb598e372..e20a15da40 100644 --- a/sdk/nodejs/log/resource.ts +++ b/sdk/nodejs/log/resource.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log resource can be imported using the id, e.g. diff --git a/sdk/nodejs/log/resourceRecord.ts b/sdk/nodejs/log/resourceRecord.ts index 92b606d751..1ac4e3e7d8 100644 --- a/sdk/nodejs/log/resourceRecord.ts +++ b/sdk/nodejs/log/resourceRecord.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log resource record can be imported using the id, e.g. diff --git a/sdk/nodejs/log/store.ts b/sdk/nodejs/log/store.ts index 1604bc0f6b..d3056aa7e9 100644 --- a/sdk/nodejs/log/store.ts +++ b/sdk/nodejs/log/store.ts @@ -104,6 +104,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/nodejs/log/storeIndex.ts b/sdk/nodejs/log/storeIndex.ts index d09871cfee..90df132f00 100644 --- a/sdk/nodejs/log/storeIndex.ts +++ b/sdk/nodejs/log/storeIndex.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use the existing sls module diff --git a/sdk/nodejs/marketplace/order.ts b/sdk/nodejs/marketplace/order.ts index 7ac1ad3f54..87e0e8fb93 100644 --- a/sdk/nodejs/marketplace/order.ts +++ b/sdk/nodejs/marketplace/order.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Market order can be imported using the id, e.g. diff --git a/sdk/nodejs/maxcompute/project.ts b/sdk/nodejs/maxcompute/project.ts index 83fdd68aa4..c12be3f718 100644 --- a/sdk/nodejs/maxcompute/project.ts +++ b/sdk/nodejs/maxcompute/project.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Project can be imported using the id, e.g. diff --git a/sdk/nodejs/maxcompute/quotaPlan.ts b/sdk/nodejs/maxcompute/quotaPlan.ts index d0eeb05e86..f6404fb80f 100644 --- a/sdk/nodejs/maxcompute/quotaPlan.ts +++ b/sdk/nodejs/maxcompute/quotaPlan.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Quota Plan can be imported using the id, e.g. diff --git a/sdk/nodejs/maxcompute/role.ts b/sdk/nodejs/maxcompute/role.ts index 7640dda69b..07274d7565 100644 --- a/sdk/nodejs/maxcompute/role.ts +++ b/sdk/nodejs/maxcompute/role.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Role can be imported using the id, e.g. diff --git a/sdk/nodejs/maxcompute/roleUserAttachment.ts b/sdk/nodejs/maxcompute/roleUserAttachment.ts index 9bafae411c..91a369059b 100644 --- a/sdk/nodejs/maxcompute/roleUserAttachment.ts +++ b/sdk/nodejs/maxcompute/roleUserAttachment.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Max Compute Role User Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/message/serviceEndpointAcl.ts b/sdk/nodejs/message/serviceEndpointAcl.ts index 57bbd76c14..816b1e5bf9 100644 --- a/sdk/nodejs/message/serviceEndpointAcl.ts +++ b/sdk/nodejs/message/serviceEndpointAcl.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Endpoint Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/message/serviceEventRule.ts b/sdk/nodejs/message/serviceEventRule.ts index e47c97c638..0ed9dd2d1e 100644 --- a/sdk/nodejs/message/serviceEventRule.ts +++ b/sdk/nodejs/message/serviceEventRule.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Event Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/message/serviceQueue.ts b/sdk/nodejs/message/serviceQueue.ts index e7aff512cc..3bef203a47 100644 --- a/sdk/nodejs/message/serviceQueue.ts +++ b/sdk/nodejs/message/serviceQueue.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Queue can be imported using the id, e.g. diff --git a/sdk/nodejs/message/serviceSubscription.ts b/sdk/nodejs/message/serviceSubscription.ts index e67239de32..11a7f3d309 100644 --- a/sdk/nodejs/message/serviceSubscription.ts +++ b/sdk/nodejs/message/serviceSubscription.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Subscription can be imported using the id, e.g. diff --git a/sdk/nodejs/message/serviceTopic.ts b/sdk/nodejs/message/serviceTopic.ts index 4128975096..c3169853e7 100644 --- a/sdk/nodejs/message/serviceTopic.ts +++ b/sdk/nodejs/message/serviceTopic.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Message Service Topic can be imported using the id, e.g. diff --git a/sdk/nodejs/mhub/app.ts b/sdk/nodejs/mhub/app.ts index 3a5fe611e1..abc8cd61e3 100644 --- a/sdk/nodejs/mhub/app.ts +++ b/sdk/nodejs/mhub/app.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MHUB App can be imported using the id, e.g. diff --git a/sdk/nodejs/mhub/product.ts b/sdk/nodejs/mhub/product.ts index 5c8ea97163..e82d32eb64 100644 --- a/sdk/nodejs/mhub/product.ts +++ b/sdk/nodejs/mhub/product.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.mhub.Product("example", {productName: "example_value"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MHUB Product can be imported using the id, e.g. diff --git a/sdk/nodejs/mns/queue.ts b/sdk/nodejs/mns/queue.ts index 94e4dfc26f..d60b02c0aa 100644 --- a/sdk/nodejs/mns/queue.ts +++ b/sdk/nodejs/mns/queue.ts @@ -23,6 +23,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS QUEUE can be imported using the id or name, e.g. diff --git a/sdk/nodejs/mns/topic.ts b/sdk/nodejs/mns/topic.ts index 57e13033f0..de2b3e42e8 100644 --- a/sdk/nodejs/mns/topic.ts +++ b/sdk/nodejs/mns/topic.ts @@ -20,6 +20,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS Topic can be imported using the id or name, e.g. diff --git a/sdk/nodejs/mns/topicSubscription.ts b/sdk/nodejs/mns/topicSubscription.ts index 98ae730ea4..85ebb27e52 100644 --- a/sdk/nodejs/mns/topicSubscription.ts +++ b/sdk/nodejs/mns/topicSubscription.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MNS Topic subscription can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/globalSecurityIpGroup.ts b/sdk/nodejs/mongodb/globalSecurityIpGroup.ts index 12beaecfbe..0df55a251a 100644 --- a/sdk/nodejs/mongodb/globalSecurityIpGroup.ts +++ b/sdk/nodejs/mongodb/globalSecurityIpGroup.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Mongodb Global Security IP Group can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/index.ts b/sdk/nodejs/mongodb/index.ts index 4780b21fcb..c9e88795f8 100644 --- a/sdk/nodejs/mongodb/index.ts +++ b/sdk/nodejs/mongodb/index.ts @@ -60,6 +60,11 @@ export type Instance = import("./instance").Instance; export const Instance: typeof import("./instance").Instance = null as any; utilities.lazyLoad(exports, ["Instance"], () => require("./instance")); +export { NodeArgs, NodeState } from "./node"; +export type Node = import("./node").Node; +export const Node: typeof import("./node").Node = null as any; +utilities.lazyLoad(exports, ["Node"], () => require("./node")); + export { PrivateSrvNetworkAddressArgs, PrivateSrvNetworkAddressState } from "./privateSrvNetworkAddress"; export type PrivateSrvNetworkAddress = import("./privateSrvNetworkAddress").PrivateSrvNetworkAddress; export const PrivateSrvNetworkAddress: typeof import("./privateSrvNetworkAddress").PrivateSrvNetworkAddress = null as any; @@ -108,6 +113,8 @@ const _module = { return new GlobalSecurityIpGroup(name, undefined, { urn }) case "alicloud:mongodb/instance:Instance": return new Instance(name, undefined, { urn }) + case "alicloud:mongodb/node:Node": + return new Node(name, undefined, { urn }) case "alicloud:mongodb/privateSrvNetworkAddress:PrivateSrvNetworkAddress": return new PrivateSrvNetworkAddress(name, undefined, { urn }) case "alicloud:mongodb/publicNetworkAddress:PublicNetworkAddress": @@ -131,6 +138,7 @@ pulumi.runtime.registerResourceModule("alicloud", "mongodb/account", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/auditPolicy", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/globalSecurityIpGroup", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/instance", _module) +pulumi.runtime.registerResourceModule("alicloud", "mongodb/node", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/privateSrvNetworkAddress", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/publicNetworkAddress", _module) pulumi.runtime.registerResourceModule("alicloud", "mongodb/replicaSetRole", _module) diff --git a/sdk/nodejs/mongodb/instance.ts b/sdk/nodejs/mongodb/instance.ts index cbf7a05005..5db8b44f35 100644 --- a/sdk/nodejs/mongodb/instance.ts +++ b/sdk/nodejs/mongodb/instance.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing mongodb module diff --git a/sdk/nodejs/mongodb/node.ts b/sdk/nodejs/mongodb/node.ts new file mode 100644 index 0000000000..310da7ee58 --- /dev/null +++ b/sdk/nodejs/mongodb/node.ts @@ -0,0 +1,436 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Mongodb Node resource. + * + * The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. + * + * For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const zoneId = config.get("zoneId") || "cn-shanghai-b"; + * const regionId = config.get("regionId") || "cn-shanghai"; + * const ipv4Cidr = config.get("ipv4Cidr") || "10.0.0.0/24"; + * const _default = new alicloud.vpc.Network("default", { + * description: "tf-example", + * vpcName: "tf-vpc-shanghai-b", + * cidrBlock: "10.0.0.0/8", + * }); + * const defaultSwitch = new alicloud.vpc.Switch("default", { + * vpcId: _default.id, + * zoneId: zoneId, + * cidrBlock: ipv4Cidr, + * vswitchName: "tf-shanghai-B", + * }); + * const defaultShardingInstance = new alicloud.mongodb.ShardingInstance("default", { + * engineVersion: "4.2", + * vswitchId: defaultSwitch.id, + * zoneId: zoneId, + * name: name, + * storageType: "cloud_auto", + * provisionedIops: 60, + * configServerLists: [{ + * nodeClass: "mdb.shard.2x.xlarge.d", + * nodeStorage: 40, + * }], + * mongoLists: [ + * { + * nodeClass: "mdb.shard.2x.xlarge.d", + * }, + * { + * nodeClass: "mdb.shard.2x.xlarge.d", + * }, + * ], + * shardLists: [ + * { + * nodeClass: "mdb.shard.2x.xlarge.d", + * nodeStorage: 40, + * }, + * { + * nodeClass: "mdb.shard.2x.xlarge.d", + * nodeStorage: 40, + * }, + * ], + * }); + * const defaultNode = new alicloud.mongodb.Node("default", { + * accountPassword: "q1w2e3r4!", + * autoPay: true, + * nodeClass: "mdb.shard.4x.large.d", + * shardDirect: false, + * businessInfo: "1234", + * nodeStorage: 40, + * readonlyReplicas: 0, + * dbInstanceId: defaultShardingInstance.id, + * nodeType: "shard", + * accountName: "root", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Mongodb Node can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:mongodb/node:Node example : + * ``` + */ +export class Node extends pulumi.CustomResource { + /** + * Get an existing Node 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?: NodeState, opts?: pulumi.CustomResourceOptions): Node { + return new Node(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:mongodb/node:Node'; + + /** + * Returns true if the given object is an instance of Node. 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 Node { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Node.__pulumiType; + } + + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly accountName: pulumi.Output; + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! @#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly accountPassword: pulumi.Output; + /** + * Whether to pay automatically. Value description: + */ + declare public readonly autoPay: pulumi.Output; + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly businessInfo: pulumi.Output; + /** + * The ID of the sharded cluster instance. + */ + declare public readonly dbInstanceId: pulumi.Output; + declare public readonly effectiveTime: pulumi.Output; + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + */ + declare public readonly fromApp: pulumi.Output; + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + */ + declare public readonly nodeClass: pulumi.Output; + /** + * The first ID of the resource + */ + declare public /*out*/ readonly nodeId: pulumi.Output; + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + */ + declare public readonly nodeStorage: pulumi.Output; + /** + * Node type, value description: + */ + declare public readonly nodeType: pulumi.Output; + declare public readonly orderType: pulumi.Output; + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + */ + declare public readonly readonlyReplicas: pulumi.Output; + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + */ + declare public readonly shardDirect: pulumi.Output; + /** + * Running status of node in sharded cluster + */ + declare public /*out*/ readonly status: pulumi.Output; + declare public readonly switchTime: pulumi.Output; + + /** + * Create a Node 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: NodeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NodeArgs | NodeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NodeState | undefined; + resourceInputs["accountName"] = state?.accountName; + resourceInputs["accountPassword"] = state?.accountPassword; + resourceInputs["autoPay"] = state?.autoPay; + resourceInputs["businessInfo"] = state?.businessInfo; + resourceInputs["dbInstanceId"] = state?.dbInstanceId; + resourceInputs["effectiveTime"] = state?.effectiveTime; + resourceInputs["fromApp"] = state?.fromApp; + resourceInputs["nodeClass"] = state?.nodeClass; + resourceInputs["nodeId"] = state?.nodeId; + resourceInputs["nodeStorage"] = state?.nodeStorage; + resourceInputs["nodeType"] = state?.nodeType; + resourceInputs["orderType"] = state?.orderType; + resourceInputs["readonlyReplicas"] = state?.readonlyReplicas; + resourceInputs["shardDirect"] = state?.shardDirect; + resourceInputs["status"] = state?.status; + resourceInputs["switchTime"] = state?.switchTime; + } else { + const args = argsOrState as NodeArgs | undefined; + if (args?.dbInstanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'dbInstanceId'"); + } + if (args?.nodeClass === undefined && !opts.urn) { + throw new Error("Missing required property 'nodeClass'"); + } + if (args?.nodeType === undefined && !opts.urn) { + throw new Error("Missing required property 'nodeType'"); + } + resourceInputs["accountName"] = args?.accountName; + resourceInputs["accountPassword"] = args?.accountPassword; + resourceInputs["autoPay"] = args?.autoPay; + resourceInputs["businessInfo"] = args?.businessInfo; + resourceInputs["dbInstanceId"] = args?.dbInstanceId; + resourceInputs["effectiveTime"] = args?.effectiveTime; + resourceInputs["fromApp"] = args?.fromApp; + resourceInputs["nodeClass"] = args?.nodeClass; + resourceInputs["nodeStorage"] = args?.nodeStorage; + resourceInputs["nodeType"] = args?.nodeType; + resourceInputs["orderType"] = args?.orderType; + resourceInputs["readonlyReplicas"] = args?.readonlyReplicas; + resourceInputs["shardDirect"] = args?.shardDirect; + resourceInputs["switchTime"] = args?.switchTime; + resourceInputs["nodeId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Node.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Node resources. + */ +export interface NodeState { + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + accountName?: pulumi.Input; + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! @#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + accountPassword?: pulumi.Input; + /** + * Whether to pay automatically. Value description: + */ + autoPay?: pulumi.Input; + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + businessInfo?: pulumi.Input; + /** + * The ID of the sharded cluster instance. + */ + dbInstanceId?: pulumi.Input; + effectiveTime?: pulumi.Input; + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + */ + fromApp?: pulumi.Input; + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + */ + nodeClass?: pulumi.Input; + /** + * The first ID of the resource + */ + nodeId?: pulumi.Input; + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + */ + nodeStorage?: pulumi.Input; + /** + * Node type, value description: + */ + nodeType?: pulumi.Input; + orderType?: pulumi.Input; + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + */ + readonlyReplicas?: pulumi.Input; + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + */ + shardDirect?: pulumi.Input; + /** + * Running status of node in sharded cluster + */ + status?: pulumi.Input; + switchTime?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Node resource. + */ +export interface NodeArgs { + /** + * Account name, value description: + * - Begins with a lowercase letter. + * - Consists of lowercase letters, numbers, or underscores (_). + * - 4~16 characters in length. + * + * > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + * - The permissions of the account are fixed to read-only permissions. + * - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + accountName?: pulumi.Input; + /** + * Account password, value description: + * - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + * - Oh-! @#$%^& *()_+-= is a special character. + * - Length is 8~32 characters. + * + * > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + accountPassword?: pulumi.Input; + /** + * Whether to pay automatically. Value description: + */ + autoPay?: pulumi.Input; + /** + * Additional parameters, business information. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + businessInfo?: pulumi.Input; + /** + * The ID of the sharded cluster instance. + */ + dbInstanceId: pulumi.Input; + effectiveTime?: pulumi.Input; + /** + * Request Source, value description: + * - `OpenApi`: The request source is OpenApi. + */ + fromApp?: pulumi.Input; + /** + * The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + */ + nodeClass: pulumi.Input; + /** + * The disk space of the Node. Unit: GB. + * + * Value range: `10` to `2000`, with a step size of 10GB. + * + * > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + */ + nodeStorage?: pulumi.Input; + /** + * Node type, value description: + */ + nodeType: pulumi.Input; + orderType?: pulumi.Input; + /** + * The number of read-only nodes in the Shard. + * + * Value range: `0` to `5` (integer). Default value: **0 * *. + * + * > **NOTE:** This parameter is currently only supported by China Station. + */ + readonlyReplicas?: pulumi.Input; + /** + * Whether to apply for the direct connection address of the Shard node. Value description: + */ + shardDirect?: pulumi.Input; + switchTime?: pulumi.Input; +} diff --git a/sdk/nodejs/mongodb/privateSrvNetworkAddress.ts b/sdk/nodejs/mongodb/privateSrvNetworkAddress.ts index 2bc0a19015..91d0634479 100644 --- a/sdk/nodejs/mongodb/privateSrvNetworkAddress.ts +++ b/sdk/nodejs/mongodb/privateSrvNetworkAddress.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.mongodb.PrivateSrvNetworkAddress("default", {dbInstanceId: defaultHrZmxC.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Mongodb Private Srv Network Address can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/publicNetworkAddress.ts b/sdk/nodejs/mongodb/publicNetworkAddress.ts index a6b6fadb85..e24b3dc19d 100644 --- a/sdk/nodejs/mongodb/publicNetworkAddress.ts +++ b/sdk/nodejs/mongodb/publicNetworkAddress.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * const defaultPublicNetworkAddress = new alicloud.mongodb.PublicNetworkAddress("default", {dbInstanceId: defaultInstance.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB public network address can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/replicaSetRole.ts b/sdk/nodejs/mongodb/replicaSetRole.ts index 2ec1726e6a..84fe474ba3 100644 --- a/sdk/nodejs/mongodb/replicaSetRole.ts +++ b/sdk/nodejs/mongodb/replicaSetRole.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `::`. diff --git a/sdk/nodejs/mongodb/serverlessInstance.ts b/sdk/nodejs/mongodb/serverlessInstance.ts index 73f1dbfcfe..6e447fa34e 100644 --- a/sdk/nodejs/mongodb/serverlessInstance.ts +++ b/sdk/nodejs/mongodb/serverlessInstance.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Serverless Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/shardingInstance.ts b/sdk/nodejs/mongodb/shardingInstance.ts index e24083b2bd..7423b49e64 100644 --- a/sdk/nodejs/mongodb/shardingInstance.ts +++ b/sdk/nodejs/mongodb/shardingInstance.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing mongodb-sharding module diff --git a/sdk/nodejs/mongodb/shardingNetworkPrivateAddress.ts b/sdk/nodejs/mongodb/shardingNetworkPrivateAddress.ts index 610bd6e881..ccd4394a2d 100644 --- a/sdk/nodejs/mongodb/shardingNetworkPrivateAddress.ts +++ b/sdk/nodejs/mongodb/shardingNetworkPrivateAddress.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Sharding Network Private Address can be imported using the id, e.g. diff --git a/sdk/nodejs/mongodb/shardingNetworkPublicAddress.ts b/sdk/nodejs/mongodb/shardingNetworkPublicAddress.ts index adc91f19a7..822c3f1800 100644 --- a/sdk/nodejs/mongodb/shardingNetworkPublicAddress.ts +++ b/sdk/nodejs/mongodb/shardingNetworkPublicAddress.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * MongoDB Sharding Network Public Address can be imported using the id, e.g. diff --git a/sdk/nodejs/mscSubContract.ts b/sdk/nodejs/mscSubContract.ts index 04ff2cb185..1d4d73c71b 100644 --- a/sdk/nodejs/mscSubContract.ts +++ b/sdk/nodejs/mscSubContract.ts @@ -27,6 +27,8 @@ import * as utilities from "./utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Contact can be imported using the id, e.g. diff --git a/sdk/nodejs/mscSubSubscription.ts b/sdk/nodejs/mscSubSubscription.ts index 3d3cb0c47f..d596b8b135 100644 --- a/sdk/nodejs/mscSubSubscription.ts +++ b/sdk/nodejs/mscSubSubscription.ts @@ -27,6 +27,8 @@ import * as utilities from "./utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Subscription can be imported using the id, e.g. diff --git a/sdk/nodejs/mscSubWebhook.ts b/sdk/nodejs/mscSubWebhook.ts index 71169c8c5e..31c576a25b 100644 --- a/sdk/nodejs/mscSubWebhook.ts +++ b/sdk/nodejs/mscSubWebhook.ts @@ -30,6 +30,8 @@ import * as utilities from "./utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Msc Sub Webhook can be imported using the id, e.g. diff --git a/sdk/nodejs/mse/engineNamespace.ts b/sdk/nodejs/mse/engineNamespace.ts index 7c4cb4a3fa..927a7407dc 100644 --- a/sdk/nodejs/mse/engineNamespace.ts +++ b/sdk/nodejs/mse/engineNamespace.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/mse/gateway.ts b/sdk/nodejs/mse/gateway.ts index 4c6fa43491..57f0660c42 100644 --- a/sdk/nodejs/mse/gateway.ts +++ b/sdk/nodejs/mse/gateway.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/mse/nacosConfig.ts b/sdk/nodejs/mse/nacosConfig.ts index cc7e1ff83a..736efd5904 100644 --- a/sdk/nodejs/mse/nacosConfig.ts +++ b/sdk/nodejs/mse/nacosConfig.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. diff --git a/sdk/nodejs/mse/znode.ts b/sdk/nodejs/mse/znode.ts index 2e3e2a4d3c..582a934c18 100644 --- a/sdk/nodejs/mse/znode.ts +++ b/sdk/nodejs/mse/znode.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Microservice Engine (MSE) Znode can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/accessGroup.ts b/sdk/nodejs/nas/accessGroup.ts index 0d51a31fdf..4d8d246c6e 100644 --- a/sdk/nodejs/nas/accessGroup.ts +++ b/sdk/nodejs/nas/accessGroup.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Access Group can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/accessPoint.ts b/sdk/nodejs/nas/accessPoint.ts index c892c8a924..4616d768de 100644 --- a/sdk/nodejs/nas/accessPoint.ts +++ b/sdk/nodejs/nas/accessPoint.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Access Point can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/accessRule.ts b/sdk/nodejs/nas/accessRule.ts index 90f2ebf37d..c51947c52d 100644 --- a/sdk/nodejs/nas/accessRule.ts +++ b/sdk/nodejs/nas/accessRule.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Access Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/autoSnapshotPolicy.ts b/sdk/nodejs/nas/autoSnapshotPolicy.ts index 0c651d9d78..bdf1a5044a 100644 --- a/sdk/nodejs/nas/autoSnapshotPolicy.ts +++ b/sdk/nodejs/nas/autoSnapshotPolicy.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/dataFlow.ts b/sdk/nodejs/nas/dataFlow.ts index 5a22de0ff7..034d2f72d7 100644 --- a/sdk/nodejs/nas/dataFlow.ts +++ b/sdk/nodejs/nas/dataFlow.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Data Flow can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/fileSystem.ts b/sdk/nodejs/nas/fileSystem.ts index 439c02b3dc..a685e3e388 100644 --- a/sdk/nodejs/nas/fileSystem.ts +++ b/sdk/nodejs/nas/fileSystem.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) File System can be imported using the id, e.g. @@ -126,13 +128,7 @@ export class FileSystem extends pulumi.CustomResource { * - cpfs: file storage CPFS */ declare public readonly fileSystemType: pulumi.Output; - /** - * String of keytab file content encrypted by base64 - */ declare public readonly keytab: pulumi.Output; - /** - * String of the keytab file content encrypted by MD5 - */ declare public readonly keytabMd5: pulumi.Output; /** * The ID of the KMS key. @@ -158,6 +154,14 @@ export class FileSystem extends pulumi.CustomResource { * Recycle Bin See `recycleBin` below. */ declare public readonly recycleBin: pulumi.Output; + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + */ + declare public readonly redundancyType: pulumi.Output; + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + */ + declare public readonly redundancyVswitchIds: pulumi.Output; /** * RegionId */ @@ -174,6 +178,9 @@ export class FileSystem extends pulumi.CustomResource { * Only extreme NAS is supported. * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ declare public readonly snapshotId: pulumi.Output; /** @@ -241,6 +248,8 @@ export class FileSystem extends pulumi.CustomResource { resourceInputs["options"] = state?.options; resourceInputs["protocolType"] = state?.protocolType; resourceInputs["recycleBin"] = state?.recycleBin; + resourceInputs["redundancyType"] = state?.redundancyType; + resourceInputs["redundancyVswitchIds"] = state?.redundancyVswitchIds; resourceInputs["regionId"] = state?.regionId; resourceInputs["resourceGroupId"] = state?.resourceGroupId; resourceInputs["smbAcl"] = state?.smbAcl; @@ -270,6 +279,8 @@ export class FileSystem extends pulumi.CustomResource { resourceInputs["options"] = args?.options; resourceInputs["protocolType"] = args?.protocolType; resourceInputs["recycleBin"] = args?.recycleBin; + resourceInputs["redundancyType"] = args?.redundancyType; + resourceInputs["redundancyVswitchIds"] = args?.redundancyVswitchIds; resourceInputs["resourceGroupId"] = args?.resourceGroupId; resourceInputs["smbAcl"] = args?.smbAcl; resourceInputs["snapshotId"] = args?.snapshotId; @@ -336,13 +347,7 @@ export interface FileSystemState { * - cpfs: file storage CPFS */ fileSystemType?: pulumi.Input; - /** - * String of keytab file content encrypted by base64 - */ keytab?: pulumi.Input; - /** - * String of the keytab file content encrypted by MD5 - */ keytabMd5?: pulumi.Input; /** * The ID of the KMS key. @@ -368,6 +373,14 @@ export interface FileSystemState { * Recycle Bin See `recycleBin` below. */ recycleBin?: pulumi.Input; + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + */ + redundancyType?: pulumi.Input; + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + */ + redundancyVswitchIds?: pulumi.Input[]>; /** * RegionId */ @@ -384,6 +397,9 @@ export interface FileSystemState { * Only extreme NAS is supported. * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ snapshotId?: pulumi.Input; /** @@ -472,13 +488,7 @@ export interface FileSystemArgs { * - cpfs: file storage CPFS */ fileSystemType?: pulumi.Input; - /** - * String of keytab file content encrypted by base64 - */ keytab?: pulumi.Input; - /** - * String of the keytab file content encrypted by MD5 - */ keytabMd5?: pulumi.Input; /** * The ID of the KMS key. @@ -504,6 +514,14 @@ export interface FileSystemArgs { * Recycle Bin See `recycleBin` below. */ recycleBin?: pulumi.Input; + /** + * Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + */ + redundancyType?: pulumi.Input; + /** + * Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + */ + redundancyVswitchIds?: pulumi.Input[]>; /** * The ID of the resource group. */ @@ -516,6 +534,9 @@ export interface FileSystemArgs { * Only extreme NAS is supported. * * > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + * + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. */ snapshotId?: pulumi.Input; /** diff --git a/sdk/nodejs/nas/fileset.ts b/sdk/nodejs/nas/fileset.ts index 6482aedbb1..a1468fe175 100644 --- a/sdk/nodejs/nas/fileset.ts +++ b/sdk/nodejs/nas/fileset.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Provides a File Storage (NAS) Fileset resource. * + * Fileset of CPFS file system. + * * For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). * * > **NOTE:** Available since v1.153.0. @@ -48,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Fileset can be imported using the id, e.g. @@ -85,11 +89,21 @@ export class Fileset extends pulumi.CustomResource { } /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The time when Fileset was created. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + */ + declare public readonly deletionProtection: pulumi.Output; + /** + * Description of Fileset. */ declare public readonly description: pulumi.Output; /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. */ declare public readonly dryRun: pulumi.Output; /** @@ -97,15 +111,15 @@ export class Fileset extends pulumi.CustomResource { */ declare public readonly fileSystemId: pulumi.Output; /** - * The path of the fileset. + * The path of Fileset. */ declare public readonly fileSystemPath: pulumi.Output; /** - * The first ID of the resource. + * Fileset ID */ declare public /*out*/ readonly filesetId: pulumi.Output; /** - * The status of the fileset. + * The status of Fileset. Includes: */ declare public /*out*/ readonly status: pulumi.Output; @@ -122,6 +136,8 @@ export class Fileset extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as FilesetState | undefined; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["deletionProtection"] = state?.deletionProtection; resourceInputs["description"] = state?.description; resourceInputs["dryRun"] = state?.dryRun; resourceInputs["fileSystemId"] = state?.fileSystemId; @@ -136,10 +152,12 @@ export class Fileset extends pulumi.CustomResource { if (args?.fileSystemPath === undefined && !opts.urn) { throw new Error("Missing required property 'fileSystemPath'"); } + resourceInputs["deletionProtection"] = args?.deletionProtection; resourceInputs["description"] = args?.description; resourceInputs["dryRun"] = args?.dryRun; resourceInputs["fileSystemId"] = args?.fileSystemId; resourceInputs["fileSystemPath"] = args?.fileSystemPath; + resourceInputs["createTime"] = undefined /*out*/; resourceInputs["filesetId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } @@ -153,11 +171,21 @@ export class Fileset extends pulumi.CustomResource { */ export interface FilesetState { /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The time when Fileset was created. + */ + createTime?: pulumi.Input; + /** + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + */ + deletionProtection?: pulumi.Input; + /** + * Description of Fileset. */ description?: pulumi.Input; /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. */ dryRun?: pulumi.Input; /** @@ -165,15 +193,15 @@ export interface FilesetState { */ fileSystemId?: pulumi.Input; /** - * The path of the fileset. + * The path of Fileset. */ fileSystemPath?: pulumi.Input; /** - * The first ID of the resource. + * Fileset ID */ filesetId?: pulumi.Input; /** - * The status of the fileset. + * The status of Fileset. Includes: */ status?: pulumi.Input; } @@ -183,11 +211,17 @@ export interface FilesetState { */ export interface FilesetArgs { /** - * The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + * The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + * - true: Enable instance release protection. + * - false (default): Turn off instance release protection + */ + deletionProtection?: pulumi.Input; + /** + * Description of Fileset. */ description?: pulumi.Input; /** - * The dry run. + * Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. */ dryRun?: pulumi.Input; /** @@ -195,7 +229,7 @@ export interface FilesetArgs { */ fileSystemId: pulumi.Input; /** - * The path of the fileset. + * The path of Fileset. */ fileSystemPath: pulumi.Input; } diff --git a/sdk/nodejs/nas/index.ts b/sdk/nodejs/nas/index.ts index 79a3d6b156..050691dab2 100644 --- a/sdk/nodejs/nas/index.ts +++ b/sdk/nodejs/nas/index.ts @@ -110,6 +110,16 @@ export type MountTarget = import("./mountTarget").MountTarget; export const MountTarget: typeof import("./mountTarget").MountTarget = null as any; utilities.lazyLoad(exports, ["MountTarget"], () => require("./mountTarget")); +export { ProtocolMountTargetArgs, ProtocolMountTargetState } from "./protocolMountTarget"; +export type ProtocolMountTarget = import("./protocolMountTarget").ProtocolMountTarget; +export const ProtocolMountTarget: typeof import("./protocolMountTarget").ProtocolMountTarget = null as any; +utilities.lazyLoad(exports, ["ProtocolMountTarget"], () => require("./protocolMountTarget")); + +export { ProtocolServiceArgs, ProtocolServiceState } from "./protocolService"; +export type ProtocolService = import("./protocolService").ProtocolService; +export const ProtocolService: typeof import("./protocolService").ProtocolService = null as any; +utilities.lazyLoad(exports, ["ProtocolService"], () => require("./protocolService")); + export { RecycleBinArgs, RecycleBinState } from "./recycleBin"; export type RecycleBin = import("./recycleBin").RecycleBin; export const RecycleBin: typeof import("./recycleBin").RecycleBin = null as any; @@ -148,6 +158,10 @@ const _module = { return new LifecyclePolicy(name, undefined, { urn }) case "alicloud:nas/mountTarget:MountTarget": return new MountTarget(name, undefined, { urn }) + case "alicloud:nas/protocolMountTarget:ProtocolMountTarget": + return new ProtocolMountTarget(name, undefined, { urn }) + case "alicloud:nas/protocolService:ProtocolService": + return new ProtocolService(name, undefined, { urn }) case "alicloud:nas/recycleBin:RecycleBin": return new RecycleBin(name, undefined, { urn }) case "alicloud:nas/smbAclAttachment:SmbAclAttachment": @@ -168,6 +182,8 @@ pulumi.runtime.registerResourceModule("alicloud", "nas/fileSystem", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/fileset", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/lifecyclePolicy", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/mountTarget", _module) +pulumi.runtime.registerResourceModule("alicloud", "nas/protocolMountTarget", _module) +pulumi.runtime.registerResourceModule("alicloud", "nas/protocolService", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/recycleBin", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/smbAclAttachment", _module) pulumi.runtime.registerResourceModule("alicloud", "nas/snapshot", _module) diff --git a/sdk/nodejs/nas/lifecyclePolicy.ts b/sdk/nodejs/nas/lifecyclePolicy.ts index b5a8e1f236..4bbcf791a8 100644 --- a/sdk/nodejs/nas/lifecyclePolicy.ts +++ b/sdk/nodejs/nas/lifecyclePolicy.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/mountTarget.ts b/sdk/nodejs/nas/mountTarget.ts index 89f131f654..365fa5d5fc 100644 --- a/sdk/nodejs/nas/mountTarget.ts +++ b/sdk/nodejs/nas/mountTarget.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Mount Target can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/protocolMountTarget.ts b/sdk/nodejs/nas/protocolMountTarget.ts new file mode 100644 index 0000000000..389cfc9d57 --- /dev/null +++ b/sdk/nodejs/nas/protocolMountTarget.ts @@ -0,0 +1,375 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 File Storage (NAS) Protocol Mount Target resource. + * + * For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const example = new alicloud.vpc.Network("example", { + * isDefault: false, + * cidrBlock: "192.168.0.0/16", + * vpcName: "nas-examplee1223-vpc", + * enableIpv6: true, + * }); + * const exampleSwitch = new alicloud.vpc.Switch("example", { + * isDefault: false, + * vpcId: example.id, + * zoneId: "cn-beijing-i", + * cidrBlock: "192.168.3.0/24", + * vswitchName: "nas-examplee1223-vsw2sdw-C", + * }); + * const exampleFileSystem = new alicloud.nas.FileSystem("example", { + * description: name, + * storageType: "advance_100", + * zoneId: "cn-beijing-i", + * vpcId: example.id, + * capacity: 3600, + * protocolType: "cpfs", + * vswitchId: exampleSwitch.id, + * fileSystemType: "cpfs", + * }); + * const exampleProtocolService = new alicloud.nas.ProtocolService("example", { + * vpcId: example.id, + * protocolType: "NFS", + * protocolSpec: "General", + * vswitchId: exampleSwitch.id, + * dryRun: false, + * fileSystemId: exampleFileSystem.id, + * }); + * const exampleFileset = new alicloud.nas.Fileset("example", { + * fileSystemPath: "/examplefileset/", + * description: "cpfs-LRS-filesetexample-wyf", + * fileSystemId: exampleFileSystem.id, + * }); + * const _default = new alicloud.nas.ProtocolMountTarget("default", { + * fsetId: exampleFileset.filesetId, + * description: name, + * vpcId: example.id, + * vswitchId: exampleSwitch.id, + * accessGroupName: "DEFAULT_VPC_GROUP_NAME", + * dryRun: false, + * fileSystemId: exampleFileSystem.id, + * protocolServiceId: exampleProtocolService.protocolServiceId, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example :: + * ``` + */ +export class ProtocolMountTarget extends pulumi.CustomResource { + /** + * Get an existing ProtocolMountTarget 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?: ProtocolMountTargetState, opts?: pulumi.CustomResourceOptions): ProtocolMountTarget { + return new ProtocolMountTarget(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:nas/protocolMountTarget:ProtocolMountTarget'; + + /** + * Returns true if the given object is an instance of ProtocolMountTarget. 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 ProtocolMountTarget { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProtocolMountTarget.__pulumiType; + } + + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + */ + declare public readonly accessGroupName: pulumi.Output; + /** + * The creation time of the resource + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + declare public readonly description: pulumi.Output; + declare public readonly dryRun: pulumi.Output; + /** + * Protocol Service Mount Target ID + */ + declare public /*out*/ readonly exportId: pulumi.Output; + /** + * The ID of the file system. + */ + declare public readonly fileSystemId: pulumi.Output; + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + */ + declare public readonly fsetId: pulumi.Output; + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + */ + declare public readonly path: pulumi.Output; + /** + * Protocol Service ID + */ + declare public readonly protocolServiceId: pulumi.Output; + /** + * Status + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The VPC ID of the protocol service mount point. + */ + declare public readonly vpcId: pulumi.Output; + /** + * The vSwitch ID of the protocol service mount target. + */ + declare public readonly vswitchId: pulumi.Output; + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + */ + declare public readonly vswitchIds: pulumi.Output; + + /** + * Create a ProtocolMountTarget 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: ProtocolMountTargetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProtocolMountTargetArgs | ProtocolMountTargetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProtocolMountTargetState | undefined; + resourceInputs["accessGroupName"] = state?.accessGroupName; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["description"] = state?.description; + resourceInputs["dryRun"] = state?.dryRun; + resourceInputs["exportId"] = state?.exportId; + resourceInputs["fileSystemId"] = state?.fileSystemId; + resourceInputs["fsetId"] = state?.fsetId; + resourceInputs["path"] = state?.path; + resourceInputs["protocolServiceId"] = state?.protocolServiceId; + resourceInputs["status"] = state?.status; + resourceInputs["vpcId"] = state?.vpcId; + resourceInputs["vswitchId"] = state?.vswitchId; + resourceInputs["vswitchIds"] = state?.vswitchIds; + } else { + const args = argsOrState as ProtocolMountTargetArgs | undefined; + if (args?.fileSystemId === undefined && !opts.urn) { + throw new Error("Missing required property 'fileSystemId'"); + } + if (args?.protocolServiceId === undefined && !opts.urn) { + throw new Error("Missing required property 'protocolServiceId'"); + } + resourceInputs["accessGroupName"] = args?.accessGroupName; + resourceInputs["description"] = args?.description; + resourceInputs["dryRun"] = args?.dryRun; + resourceInputs["fileSystemId"] = args?.fileSystemId; + resourceInputs["fsetId"] = args?.fsetId; + resourceInputs["path"] = args?.path; + resourceInputs["protocolServiceId"] = args?.protocolServiceId; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["vswitchId"] = args?.vswitchId; + resourceInputs["vswitchIds"] = args?.vswitchIds; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["exportId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ProtocolMountTarget.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ProtocolMountTarget resources. + */ +export interface ProtocolMountTargetState { + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + */ + accessGroupName?: pulumi.Input; + /** + * The creation time of the resource + */ + createTime?: pulumi.Input; + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + description?: pulumi.Input; + dryRun?: pulumi.Input; + /** + * Protocol Service Mount Target ID + */ + exportId?: pulumi.Input; + /** + * The ID of the file system. + */ + fileSystemId?: pulumi.Input; + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + */ + fsetId?: pulumi.Input; + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + */ + path?: pulumi.Input; + /** + * Protocol Service ID + */ + protocolServiceId?: pulumi.Input; + /** + * Status + */ + status?: pulumi.Input; + /** + * The VPC ID of the protocol service mount point. + */ + vpcId?: pulumi.Input; + /** + * The vSwitch ID of the protocol service mount target. + */ + vswitchId?: pulumi.Input; + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + */ + vswitchIds?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a ProtocolMountTarget resource. + */ +export interface ProtocolMountTargetArgs { + /** + * The permission group name. + * Default value: DEFAULT_VPC_GROUP_NAME + */ + accessGroupName?: pulumi.Input; + /** + * Description of the protocol service mount target. Display as the export directory name in the console. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + description?: pulumi.Input; + dryRun?: pulumi.Input; + /** + * The ID of the file system. + */ + fileSystemId: pulumi.Input; + /** + * The ID of the Fileset to be mounted. + * + * Limitations: + * - The Fileset must already exist. + * - A Fileset allows only one export directory to be created. + * - Fileset and Path can and must specify only one. + */ + fsetId?: pulumi.Input; + /** + * The path of the CPFS directory to be mounted. + * + * Limitations: + * - The directory must be an existing directory on the CPFS. + * - Only one export is allowed for the same directory. + * - Fileset and Path can and must specify only one. + * + * Format: + * - 1~1024 characters in length. + * - Use UTF-8 encoding. + * - Must start and end with a forward slash (/) and root directory is/. + */ + path?: pulumi.Input; + /** + * Protocol Service ID + */ + protocolServiceId: pulumi.Input; + /** + * The VPC ID of the protocol service mount point. + */ + vpcId?: pulumi.Input; + /** + * The vSwitch ID of the protocol service mount target. + */ + vswitchId?: pulumi.Input; + /** + * The vSwitch IDs of the protocol service mount target. + * When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + */ + vswitchIds?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/nas/protocolService.ts b/sdk/nodejs/nas/protocolService.ts new file mode 100644 index 0000000000..492a987c26 --- /dev/null +++ b/sdk/nodejs/nas/protocolService.ts @@ -0,0 +1,300 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 File Storage (NAS) Protocol Service resource. + * + * For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const example = new alicloud.vpc.Network("example", { + * isDefault: false, + * cidrBlock: "192.168.0.0/16", + * vpcName: "nas-examplee1031-vpc", + * enableIpv6: true, + * }); + * const exampleSwitch = new alicloud.vpc.Switch("example", { + * isDefault: false, + * vpcId: example.id, + * zoneId: "cn-beijing-i", + * cidrBlock: "192.168.2.0/24", + * vswitchName: "nas-examplee1031-vsw1sdw-F", + * }); + * const exampleFileSystem = new alicloud.nas.FileSystem("example", { + * description: name, + * storageType: "advance_100", + * zoneId: "cn-beijing-i", + * encryptType: 0, + * vpcId: example.id, + * capacity: 3600, + * protocolType: "cpfs", + * vswitchId: exampleSwitch.id, + * fileSystemType: "cpfs", + * }); + * const _default = new alicloud.nas.ProtocolService("default", { + * vpcId: example.id, + * protocolType: "NFS", + * protocolSpec: "General", + * vswitchId: exampleSwitch.id, + * dryRun: false, + * fileSystemId: exampleFileSystem.id, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * File Storage (NAS) Protocol Service can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:nas/protocolService:ProtocolService example : + * ``` + */ +export class ProtocolService extends pulumi.CustomResource { + /** + * Get an existing ProtocolService 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?: ProtocolServiceState, opts?: pulumi.CustomResourceOptions): ProtocolService { + return new ProtocolService(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:nas/protocolService:ProtocolService'; + + /** + * Returns true if the given object is an instance of ProtocolService. 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 ProtocolService { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ProtocolService.__pulumiType; + } + + /** + * The time when the protocol server service was created. The UTC time. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + declare public readonly description: pulumi.Output; + declare public readonly dryRun: pulumi.Output; + /** + * The ID of the file system. + */ + declare public readonly fileSystemId: pulumi.Output; + /** + * Protocol Service ID + */ + declare public /*out*/ readonly protocolServiceId: pulumi.Output; + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + */ + declare public readonly protocolSpec: pulumi.Output; + /** + * The throughput of the protocol service. Unit: MB/s. + */ + declare public readonly protocolThroughput: pulumi.Output; + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + */ + declare public readonly protocolType: pulumi.Output; + /** + * Agreement service status. + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + */ + declare public readonly vpcId: pulumi.Output; + /** + * The VSwitchId of the protocol service. + */ + declare public readonly vswitchId: pulumi.Output; + + /** + * Create a ProtocolService 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: ProtocolServiceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ProtocolServiceArgs | ProtocolServiceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ProtocolServiceState | undefined; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["description"] = state?.description; + resourceInputs["dryRun"] = state?.dryRun; + resourceInputs["fileSystemId"] = state?.fileSystemId; + resourceInputs["protocolServiceId"] = state?.protocolServiceId; + resourceInputs["protocolSpec"] = state?.protocolSpec; + resourceInputs["protocolThroughput"] = state?.protocolThroughput; + resourceInputs["protocolType"] = state?.protocolType; + resourceInputs["status"] = state?.status; + resourceInputs["vpcId"] = state?.vpcId; + resourceInputs["vswitchId"] = state?.vswitchId; + } else { + const args = argsOrState as ProtocolServiceArgs | undefined; + if (args?.fileSystemId === undefined && !opts.urn) { + throw new Error("Missing required property 'fileSystemId'"); + } + if (args?.protocolSpec === undefined && !opts.urn) { + throw new Error("Missing required property 'protocolSpec'"); + } + if (args?.protocolType === undefined && !opts.urn) { + throw new Error("Missing required property 'protocolType'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["dryRun"] = args?.dryRun; + resourceInputs["fileSystemId"] = args?.fileSystemId; + resourceInputs["protocolSpec"] = args?.protocolSpec; + resourceInputs["protocolThroughput"] = args?.protocolThroughput; + resourceInputs["protocolType"] = args?.protocolType; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["vswitchId"] = args?.vswitchId; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["protocolServiceId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ProtocolService.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ProtocolService resources. + */ +export interface ProtocolServiceState { + /** + * The time when the protocol server service was created. The UTC time. + */ + createTime?: pulumi.Input; + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + description?: pulumi.Input; + dryRun?: pulumi.Input; + /** + * The ID of the file system. + */ + fileSystemId?: pulumi.Input; + /** + * Protocol Service ID + */ + protocolServiceId?: pulumi.Input; + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + */ + protocolSpec?: pulumi.Input; + /** + * The throughput of the protocol service. Unit: MB/s. + */ + protocolThroughput?: pulumi.Input; + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + */ + protocolType?: pulumi.Input; + /** + * Agreement service status. + */ + status?: pulumi.Input; + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + */ + vpcId?: pulumi.Input; + /** + * The VSwitchId of the protocol service. + */ + vswitchId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ProtocolService resource. + */ +export interface ProtocolServiceArgs { + /** + * Description of the agreement service. + * + * Limitations: + * - Length is 2~128 English or Chinese characters. + * - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + * - Can contain numbers, colons (:), underscores (_), or dashes (-). + */ + description?: pulumi.Input; + dryRun?: pulumi.Input; + /** + * The ID of the file system. + */ + fileSystemId: pulumi.Input; + /** + * The specification of the protocol machine cluster. + * - Value range: General、CL1、CL2 + * - Default value: General + */ + protocolSpec: pulumi.Input; + /** + * The throughput of the protocol service. Unit: MB/s. + */ + protocolThroughput?: pulumi.Input; + /** + * The protocol type supported by the protocol service. + * + * Value range: + * - NFS: Protocol Service supports NFS protocol access. + */ + protocolType: pulumi.Input; + /** + * The VpcId of the protocol service, which must be consistent with the VPC of the file system. + */ + vpcId?: pulumi.Input; + /** + * The VSwitchId of the protocol service. + */ + vswitchId?: pulumi.Input; +} diff --git a/sdk/nodejs/nas/recycleBin.ts b/sdk/nodejs/nas/recycleBin.ts index 82bee9eb13..a18dcbcbab 100644 --- a/sdk/nodejs/nas/recycleBin.ts +++ b/sdk/nodejs/nas/recycleBin.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Recycle Bin can be imported using the id, e.g. diff --git a/sdk/nodejs/nas/smbAclAttachment.ts b/sdk/nodejs/nas/smbAclAttachment.ts index 7b7ca4154d..cbf8ce978e 100644 --- a/sdk/nodejs/nas/smbAclAttachment.ts +++ b/sdk/nodejs/nas/smbAclAttachment.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * keytabMd5: "E3CCF7E2416DF04FA958AA4513EA29E8", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class SmbAclAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/nas/snapshot.ts b/sdk/nodejs/nas/snapshot.ts index 36bd997fae..4faa4ce5cf 100644 --- a/sdk/nodejs/nas/snapshot.ts +++ b/sdk/nodejs/nas/snapshot.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * File Storage (NAS) Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/listener.ts b/sdk/nodejs/nlb/listener.ts index 4af6191c23..e7d846f174 100644 --- a/sdk/nodejs/nlb/listener.ts +++ b/sdk/nodejs/nlb/listener.ts @@ -110,6 +110,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Listener can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/listenerAdditionalCertificateAttachment.ts b/sdk/nodejs/nlb/listenerAdditionalCertificateAttachment.ts index 52aa10a4a8..2305890dce 100644 --- a/sdk/nodejs/nlb/listenerAdditionalCertificateAttachment.ts +++ b/sdk/nodejs/nlb/listenerAdditionalCertificateAttachment.ts @@ -186,6 +186,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/loadBalancer.ts b/sdk/nodejs/nlb/loadBalancer.ts index e642f68787..0c132adf5e 100644 --- a/sdk/nodejs/nlb/loadBalancer.ts +++ b/sdk/nodejs/nlb/loadBalancer.ts @@ -125,6 +125,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/loadBalancerSecurityGroupAttachment.ts b/sdk/nodejs/nlb/loadBalancerSecurityGroupAttachment.ts index 25a00ecc72..ecdc491ac6 100644 --- a/sdk/nodejs/nlb/loadBalancerSecurityGroupAttachment.ts +++ b/sdk/nodejs/nlb/loadBalancerSecurityGroupAttachment.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/loadBalancerZoneShiftedAttachment.ts b/sdk/nodejs/nlb/loadBalancerZoneShiftedAttachment.ts index a92c4dafb6..749e8b8b32 100644 --- a/sdk/nodejs/nlb/loadBalancerZoneShiftedAttachment.ts +++ b/sdk/nodejs/nlb/loadBalancerZoneShiftedAttachment.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/loadbalancerCommonBandwidthPackageAttachment.ts b/sdk/nodejs/nlb/loadbalancerCommonBandwidthPackageAttachment.ts index 14cb1468f5..0fdcc925d7 100644 --- a/sdk/nodejs/nlb/loadbalancerCommonBandwidthPackageAttachment.ts +++ b/sdk/nodejs/nlb/loadbalancerCommonBandwidthPackageAttachment.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/securityPolicy.ts b/sdk/nodejs/nlb/securityPolicy.ts index 50b851d932..4e769cc933 100644 --- a/sdk/nodejs/nlb/securityPolicy.ts +++ b/sdk/nodejs/nlb/securityPolicy.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NLB Security Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/serverGroup.ts b/sdk/nodejs/nlb/serverGroup.ts index 047ccc688f..45630d012c 100644 --- a/sdk/nodejs/nlb/serverGroup.ts +++ b/sdk/nodejs/nlb/serverGroup.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Server Group can be imported using the id, e.g. diff --git a/sdk/nodejs/nlb/serverGroupServerAttachment.ts b/sdk/nodejs/nlb/serverGroupServerAttachment.ts index 1b6ff009c3..bff35b926f 100644 --- a/sdk/nodejs/nlb/serverGroupServerAttachment.ts +++ b/sdk/nodejs/nlb/serverGroupServerAttachment.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ocean/baseInstance.ts b/sdk/nodejs/ocean/baseInstance.ts index 6629320bcb..10df584013 100644 --- a/sdk/nodejs/ocean/baseInstance.ts +++ b/sdk/nodejs/ocean/baseInstance.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Ocean Base Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/application.ts b/sdk/nodejs/oos/application.ts index 1ee07d1cb2..e83d80f88f 100644 --- a/sdk/nodejs/oos/application.ts +++ b/sdk/nodejs/oos/application.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Application can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/applicationGroup.ts b/sdk/nodejs/oos/applicationGroup.ts index ff1b07197f..14b21a70d9 100644 --- a/sdk/nodejs/oos/applicationGroup.ts +++ b/sdk/nodejs/oos/applicationGroup.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Application Group can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/defaultPatchBaseline.ts b/sdk/nodejs/oos/defaultPatchBaseline.ts index 2baea97e81..cf311b78d4 100644 --- a/sdk/nodejs/oos/defaultPatchBaseline.ts +++ b/sdk/nodejs/oos/defaultPatchBaseline.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * const defaultDefaultPatchBaseline = new alicloud.oos.DefaultPatchBaseline("default", {patchBaselineName: _default.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Oos Default Patch Baseline can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/execution.ts b/sdk/nodejs/oos/execution.ts index a7a3a1e1a6..41cb04a1d6 100644 --- a/sdk/nodejs/oos/execution.ts +++ b/sdk/nodejs/oos/execution.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Execution can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/parameter.ts b/sdk/nodejs/oos/parameter.ts index 2cc938cb29..f3b5cafe96 100644 --- a/sdk/nodejs/oos/parameter.ts +++ b/sdk/nodejs/oos/parameter.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Parameter can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/patchBaseline.ts b/sdk/nodejs/oos/patchBaseline.ts index e95536d0d3..e70a9a5097 100644 --- a/sdk/nodejs/oos/patchBaseline.ts +++ b/sdk/nodejs/oos/patchBaseline.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Patch Baseline can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/secretParameter.ts b/sdk/nodejs/oos/secretParameter.ts index 52ad3990bc..529680a1a0 100644 --- a/sdk/nodejs/oos/secretParameter.ts +++ b/sdk/nodejs/oos/secretParameter.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/serviceSetting.ts b/sdk/nodejs/oos/serviceSetting.ts index a9cf369dbb..524bac0f8b 100644 --- a/sdk/nodejs/oos/serviceSetting.ts +++ b/sdk/nodejs/oos/serviceSetting.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Service Setting can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/stateConfiguration.ts b/sdk/nodejs/oos/stateConfiguration.ts index 174cd14dc9..7ab771c6bd 100644 --- a/sdk/nodejs/oos/stateConfiguration.ts +++ b/sdk/nodejs/oos/stateConfiguration.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS State Configuration can be imported using the id, e.g. diff --git a/sdk/nodejs/oos/template.ts b/sdk/nodejs/oos/template.ts index 363f9550d8..37f85db7ee 100644 --- a/sdk/nodejs/oos/template.ts +++ b/sdk/nodejs/oos/template.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OOS Template can be imported using the id or template_name, e.g. diff --git a/sdk/nodejs/openApiExplorerApiMcpServer.ts b/sdk/nodejs/openApiExplorerApiMcpServer.ts new file mode 100644 index 0000000000..07d19d8415 --- /dev/null +++ b/sdk/nodejs/openApiExplorerApiMcpServer.ts @@ -0,0 +1,547 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Open Api Explorer Api Mcp Server resource. + * + * API MCP Server. + * + * For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.OpenApiExplorerApiMcpServer("default", { + * systemTools: ["FetchRamActionDetails"], + * description: "Create", + * prompts: [ + * { + * description: "Obtain user customization information description", + * content: "Prompt body,{{name}}", + * arguments: [{ + * description: "Name information", + * required: true, + * name: "name", + * }], + * name: "Obtain user customization information", + * }, + * { + * description: "Obtain user customization information description", + * content: "Prompt text, {{name }}, {{age }}, {{description}}", + * arguments: [ + * { + * description: "Name information", + * required: true, + * name: "name", + * }, + * { + * description: "Age information", + * required: true, + * name: "age", + * }, + * { + * description: "Description Information", + * required: true, + * name: "description", + * }, + * ], + * name: "Obtain user customization information 1", + * }, + * ], + * oauthClientId: "123456", + * apis: [ + * { + * apiVersion: "2014-05-26", + * product: "Ecs", + * selectors: [ + * "DescribeAvailableResource", + * "DescribeRegions", + * "DescribeZones", + * ], + * }, + * { + * apiVersion: "2017-03-21", + * product: "vod", + * selectors: ["CreateUploadVideo"], + * }, + * { + * apiVersion: "2014-05-15", + * product: "Slb", + * selectors: ["DescribeAvailableResource"], + * }, + * ], + * instructions: "Describes the role of the entire MCP Server", + * additionalApiDescriptions: [ + * { + * apiVersion: "2014-05-26", + * enableOutputSchema: true, + * apiName: "DescribeAvailableResource", + * constParameters: [ + * { + * value: "cn-hangzhou", + * key: "x_mcp_region_id", + * }, + * { + * value: "B1", + * key: "a1", + * }, + * { + * value: "b2", + * key: "a2", + * }, + * ], + * apiOverrideJson: JSON.stringify({ + * summary: "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ", + * }), + * product: "Ecs", + * executeCliCommand: false, + * }, + * { + * apiVersion: "2014-05-26", + * enableOutputSchema: true, + * apiName: "DescribeRegions", + * product: "Ecs", + * executeCliCommand: true, + * }, + * { + * apiVersion: "2014-05-26", + * enableOutputSchema: true, + * apiName: "DescribeZones", + * product: "Ecs", + * executeCliCommand: true, + * }, + * ], + * vpcWhitelists: [ + * "vpc-examplea", + * "vpc-exampleb", + * "vpc-examplec", + * ], + * name: "my-name", + * language: "ZH_CN", + * enableAssumeRole: true, + * assumeRoleExtraPolicy: JSON.stringify({ + * Version: "1", + * Statement: [{ + * Effect: "Allow", + * Action: [ + * "ecs:Describe*", + * "vpc:Describe*", + * "vpc:List*", + * ], + * Resource: "*", + * }], + * }), + * terraformTools: [ + * { + * description: "Terraform as tool example", + * async: true, + * destroyPolicy: "NEVER", + * code: `variable \\"name\\" { + * default = \\"terraform-example\\" + * } + * + * provider \\"alicloud\\" { + * region = \\"cn-beijing\\" + * } + * + * resource \\"alicloud_vpc\\" \\"default\\" { + * ipv6_isp = \\"BGP\\" + * description = \\"example\\" + * cidr_block = \\"10.0.0.0/8\\" + * vpc_name = var.name + * enable_ipv6 = true + * } + * `, + * name: "tfexample", + * }, + * { + * description: "Terraform as tool example", + * async: true, + * destroyPolicy: "NEVER", + * code: `variable \\"name\\" { + * default = \\"terraform-example\\" + * } + * + * provider \\"alicloud\\" { + * region = \\"cn-beijing\\" + * } + * + * resource \\"alicloud_vpc\\" \\"default\\" { + * ipv6_isp = \\"BGP\\" + * description = \\"example\\" + * cidr_block = \\"10.0.0.0/8\\" + * vpc_name = var.name + * enable_ipv6 = true + * } + * `, + * name: "tfexample2", + * }, + * { + * description: "Terraform as tool example", + * async: true, + * destroyPolicy: "NEVER", + * code: `variable \\"name\\" { + * default = \\"terraform-example\\" + * } + * + * provider \\"alicloud\\" { + * region = \\"cn-beijing\\" + * } + * + * resource \\"alicloud_vpc\\" \\"default\\" { + * ipv6_isp = \\"BGP\\" + * description = \\"example\\" + * cidr_block = \\"10.0.0.0/8\\" + * vpc_name = var.name + * enable_ipv6 = true + * } + * `, + * name: "tfexample3", + * }, + * ], + * assumeRoleName: "default-role", + * publicAccess: "on", + * enableCustomVpcWhitelist: true, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Open Api Explorer Api Mcp Server can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example + * ``` + */ +export class OpenApiExplorerApiMcpServer extends pulumi.CustomResource { + /** + * Get an existing OpenApiExplorerApiMcpServer 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?: OpenApiExplorerApiMcpServerState, opts?: pulumi.CustomResourceOptions): OpenApiExplorerApiMcpServer { + return new OpenApiExplorerApiMcpServer(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer'; + + /** + * Returns true if the given object is an instance of OpenApiExplorerApiMcpServer. 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 OpenApiExplorerApiMcpServer { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OpenApiExplorerApiMcpServer.__pulumiType; + } + + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + */ + declare public readonly additionalApiDescriptions: pulumi.Output; + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + */ + declare public readonly apis: pulumi.Output; + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + */ + declare public readonly assumeRoleExtraPolicy: pulumi.Output; + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + */ + declare public readonly assumeRoleName: pulumi.Output; + /** + * MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * Description of the API MCP service. + */ + declare public readonly description: pulumi.Output; + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + */ + declare public readonly enableAssumeRole: pulumi.Output; + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + */ + declare public readonly enableCustomVpcWhitelist: pulumi.Output; + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + */ + declare public readonly instructions: pulumi.Output; + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + */ + declare public readonly language: pulumi.Output; + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + */ + declare public readonly name: pulumi.Output; + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + */ + declare public readonly oauthClientId: pulumi.Output; + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + */ + declare public readonly prompts: pulumi.Output; + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + */ + declare public readonly publicAccess: pulumi.Output; + /** + * Enabled system services. + */ + declare public readonly systemTools: pulumi.Output; + declare public readonly terraformTools: pulumi.Output; + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + */ + declare public readonly vpcWhitelists: pulumi.Output; + + /** + * Create a OpenApiExplorerApiMcpServer 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: OpenApiExplorerApiMcpServerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OpenApiExplorerApiMcpServerArgs | OpenApiExplorerApiMcpServerState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OpenApiExplorerApiMcpServerState | undefined; + resourceInputs["additionalApiDescriptions"] = state?.additionalApiDescriptions; + resourceInputs["apis"] = state?.apis; + resourceInputs["assumeRoleExtraPolicy"] = state?.assumeRoleExtraPolicy; + resourceInputs["assumeRoleName"] = state?.assumeRoleName; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["description"] = state?.description; + resourceInputs["enableAssumeRole"] = state?.enableAssumeRole; + resourceInputs["enableCustomVpcWhitelist"] = state?.enableCustomVpcWhitelist; + resourceInputs["instructions"] = state?.instructions; + resourceInputs["language"] = state?.language; + resourceInputs["name"] = state?.name; + resourceInputs["oauthClientId"] = state?.oauthClientId; + resourceInputs["prompts"] = state?.prompts; + resourceInputs["publicAccess"] = state?.publicAccess; + resourceInputs["systemTools"] = state?.systemTools; + resourceInputs["terraformTools"] = state?.terraformTools; + resourceInputs["vpcWhitelists"] = state?.vpcWhitelists; + } else { + const args = argsOrState as OpenApiExplorerApiMcpServerArgs | undefined; + if (args?.apis === undefined && !opts.urn) { + throw new Error("Missing required property 'apis'"); + } + resourceInputs["additionalApiDescriptions"] = args?.additionalApiDescriptions; + resourceInputs["apis"] = args?.apis; + resourceInputs["assumeRoleExtraPolicy"] = args?.assumeRoleExtraPolicy; + resourceInputs["assumeRoleName"] = args?.assumeRoleName; + resourceInputs["description"] = args?.description; + resourceInputs["enableAssumeRole"] = args?.enableAssumeRole; + resourceInputs["enableCustomVpcWhitelist"] = args?.enableCustomVpcWhitelist; + resourceInputs["instructions"] = args?.instructions; + resourceInputs["language"] = args?.language; + resourceInputs["name"] = args?.name; + resourceInputs["oauthClientId"] = args?.oauthClientId; + resourceInputs["prompts"] = args?.prompts; + resourceInputs["publicAccess"] = args?.publicAccess; + resourceInputs["systemTools"] = args?.systemTools; + resourceInputs["terraformTools"] = args?.terraformTools; + resourceInputs["vpcWhitelists"] = args?.vpcWhitelists; + resourceInputs["createTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(OpenApiExplorerApiMcpServer.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OpenApiExplorerApiMcpServer resources. + */ +export interface OpenApiExplorerApiMcpServerState { + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + */ + additionalApiDescriptions?: pulumi.Input[]>; + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + */ + apis?: pulumi.Input[]>; + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + */ + assumeRoleExtraPolicy?: pulumi.Input; + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + */ + assumeRoleName?: pulumi.Input; + /** + * MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + */ + createTime?: pulumi.Input; + /** + * Description of the API MCP service. + */ + description?: pulumi.Input; + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + */ + enableAssumeRole?: pulumi.Input; + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + */ + enableCustomVpcWhitelist?: pulumi.Input; + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + */ + instructions?: pulumi.Input; + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + */ + language?: pulumi.Input; + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + */ + name?: pulumi.Input; + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + */ + oauthClientId?: pulumi.Input; + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + */ + prompts?: pulumi.Input[]>; + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + */ + publicAccess?: pulumi.Input; + /** + * Enabled system services. + */ + systemTools?: pulumi.Input[]>; + terraformTools?: pulumi.Input[]>; + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + */ + vpcWhitelists?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a OpenApiExplorerApiMcpServer resource. + */ +export interface OpenApiExplorerApiMcpServerArgs { + /** + * Additional OpenAPI description information that can override the default behavior of APIs, including: + * - API name + * - Modification or removal of API parameter names + * - Whether to exclude the API from the output API response structure definition + * - Whether to return a CLI execution command instead of directly executing the API + * - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additionalApiDescriptions` below. + */ + additionalApiDescriptions?: pulumi.Input[]>; + /** + * The list of APIs to be included in the API MCP Server. See `apis` below. + */ + apis: pulumi.Input[]>; + /** + * When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + */ + assumeRoleExtraPolicy?: pulumi.Input; + /** + * The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + */ + assumeRoleName?: pulumi.Input; + /** + * Description of the API MCP service. + */ + description?: pulumi.Input; + /** + * Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the xAssumeAccountId parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + */ + enableAssumeRole?: pulumi.Input; + /** + * Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + */ + enableCustomVpcWhitelist?: pulumi.Input; + /** + * MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + */ + instructions?: pulumi.Input; + /** + * Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + */ + language?: pulumi.Input; + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + */ + name?: pulumi.Input; + /** + * The custom OAuth Client ID when selecting a custom OAuth configuration. + * `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + */ + oauthClientId?: pulumi.Input; + /** + * List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + */ + prompts?: pulumi.Input[]>; + /** + * Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + * - on: enables public network access; + * - off: disables public network access; + * - follow: inherits the account-level configuration. + */ + publicAccess?: pulumi.Input; + /** + * Enabled system services. + */ + systemTools?: pulumi.Input[]>; + terraformTools?: pulumi.Input[]>; + /** + * When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + */ + vpcWhitelists?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/opensearch/appGroup.ts b/sdk/nodejs/opensearch/appGroup.ts index 24f0b04b8a..8e83881106 100644 --- a/sdk/nodejs/opensearch/appGroup.ts +++ b/sdk/nodejs/opensearch/appGroup.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Open Search App Group can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/accessPoint.ts b/sdk/nodejs/oss/accessPoint.ts index f61d459d9c..5c59811262 100644 --- a/sdk/nodejs/oss/accessPoint.ts +++ b/sdk/nodejs/oss/accessPoint.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Access Point can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/accountPublicAccessBlock.ts b/sdk/nodejs/oss/accountPublicAccessBlock.ts index 6cfb20bd6b..74514ddd2b 100644 --- a/sdk/nodejs/oss/accountPublicAccessBlock.ts +++ b/sdk/nodejs/oss/accountPublicAccessBlock.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.oss.AccountPublicAccessBlock("default", {blockPublicAccess: true}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Account Public Access Block can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucket.ts b/sdk/nodejs/oss/bucket.ts index de174936c3..722c8693c6 100644 --- a/sdk/nodejs/oss/bucket.ts +++ b/sdk/nodejs/oss/bucket.ts @@ -468,6 +468,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS bucket can be imported using the bucket name, e.g. diff --git a/sdk/nodejs/oss/bucketCname.ts b/sdk/nodejs/oss/bucketCname.ts index 63de7a969a..1d4d68cffa 100644 --- a/sdk/nodejs/oss/bucketCname.ts +++ b/sdk/nodejs/oss/bucketCname.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Cname can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketCors.ts b/sdk/nodejs/oss/bucketCors.ts index c0a2f04375..6f386c94e8 100644 --- a/sdk/nodejs/oss/bucketCors.ts +++ b/sdk/nodejs/oss/bucketCors.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Cors can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketDataRedundancyTransition.ts b/sdk/nodejs/oss/bucketDataRedundancyTransition.ts index f9f691322e..c88df65769 100644 --- a/sdk/nodejs/oss/bucketDataRedundancyTransition.ts +++ b/sdk/nodejs/oss/bucketDataRedundancyTransition.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * const defaultBucketDataRedundancyTransition = new alicloud.oss.BucketDataRedundancyTransition("default", {bucket: createBucket.bucket}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Data Redundancy Transition can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketHttpsConfig.ts b/sdk/nodejs/oss/bucketHttpsConfig.ts index 7c720fbdc8..2f2a05adb9 100644 --- a/sdk/nodejs/oss/bucketHttpsConfig.ts +++ b/sdk/nodejs/oss/bucketHttpsConfig.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"; /** @@ -42,9 +44,13 @@ export class BucketHttpsConfig extends pulumi.CustomResource { } /** - * The name of the bucket. + * The name of the bucket */ declare public readonly bucket: pulumi.Output; + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + */ + declare public readonly cipherSuit: pulumi.Output; /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. */ @@ -68,6 +74,7 @@ export class BucketHttpsConfig extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as BucketHttpsConfigState | undefined; resourceInputs["bucket"] = state?.bucket; + resourceInputs["cipherSuit"] = state?.cipherSuit; resourceInputs["enable"] = state?.enable; resourceInputs["tlsVersions"] = state?.tlsVersions; } else { @@ -79,6 +86,7 @@ export class BucketHttpsConfig extends pulumi.CustomResource { throw new Error("Missing required property 'enable'"); } resourceInputs["bucket"] = args?.bucket; + resourceInputs["cipherSuit"] = args?.cipherSuit; resourceInputs["enable"] = args?.enable; resourceInputs["tlsVersions"] = args?.tlsVersions; } @@ -92,9 +100,13 @@ export class BucketHttpsConfig extends pulumi.CustomResource { */ export interface BucketHttpsConfigState { /** - * The name of the bucket. + * The name of the bucket */ bucket?: pulumi.Input; + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + */ + cipherSuit?: pulumi.Input; /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. */ @@ -110,9 +122,13 @@ export interface BucketHttpsConfigState { */ export interface BucketHttpsConfigArgs { /** - * The name of the bucket. + * The name of the bucket */ bucket: pulumi.Input; + /** + * TLS encryption algorithm suite configuration See `cipherSuit` below. + */ + cipherSuit?: pulumi.Input; /** * Specifies whether to enable TLS version management for the bucket. Valid values: true, false. */ diff --git a/sdk/nodejs/oss/bucketLogging.ts b/sdk/nodejs/oss/bucketLogging.ts index 1fc201e007..2f3aff25f7 100644 --- a/sdk/nodejs/oss/bucketLogging.ts +++ b/sdk/nodejs/oss/bucketLogging.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Logging can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketMetaQuery.ts b/sdk/nodejs/oss/bucketMetaQuery.ts index 26e31e658e..aefb1179d1 100644 --- a/sdk/nodejs/oss/bucketMetaQuery.ts +++ b/sdk/nodejs/oss/bucketMetaQuery.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * const defaultBucketMetaQuery = new alicloud.oss.BucketMetaQuery("default", {bucket: createBucket.bucket}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Meta Query can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketObject.ts b/sdk/nodejs/oss/bucketObject.ts index 8cde8bbbf0..ed8717c848 100644 --- a/sdk/nodejs/oss/bucketObject.ts +++ b/sdk/nodejs/oss/bucketObject.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * content: "the content that you want to upload.", * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class BucketObject extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/oss/bucketPolicy.ts b/sdk/nodejs/oss/bucketPolicy.ts index 41d0dc5639..d3f50c5e0c 100644 --- a/sdk/nodejs/oss/bucketPolicy.ts +++ b/sdk/nodejs/oss/bucketPolicy.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketPublicAccessBlock.ts b/sdk/nodejs/oss/bucketPublicAccessBlock.ts index 14a441280b..5b0c93672d 100644 --- a/sdk/nodejs/oss/bucketPublicAccessBlock.ts +++ b/sdk/nodejs/oss/bucketPublicAccessBlock.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Public Access Block can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketReferer.ts b/sdk/nodejs/oss/bucketReferer.ts index 566dfacf82..f8b15e5a27 100644 --- a/sdk/nodejs/oss/bucketReferer.ts +++ b/sdk/nodejs/oss/bucketReferer.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Referer can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketReplication.ts b/sdk/nodejs/oss/bucketReplication.ts index e0a19c0682..5e4a295718 100644 --- a/sdk/nodejs/oss/bucketReplication.ts +++ b/sdk/nodejs/oss/bucketReplication.ts @@ -104,6 +104,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Oss Bucket Replication can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketServerSideEncryption.ts b/sdk/nodejs/oss/bucketServerSideEncryption.ts index 2008bcd4ec..8ebb8109cd 100644 --- a/sdk/nodejs/oss/bucketServerSideEncryption.ts +++ b/sdk/nodejs/oss/bucketServerSideEncryption.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Server Side Encryption can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketStyle.ts b/sdk/nodejs/oss/bucketStyle.ts index 64a33c5b51..97f2b53cfb 100644 --- a/sdk/nodejs/oss/bucketStyle.ts +++ b/sdk/nodejs/oss/bucketStyle.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Style can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketUserDefinedLogFields.ts b/sdk/nodejs/oss/bucketUserDefinedLogFields.ts index 9cc696beb8..017ee36612 100644 --- a/sdk/nodejs/oss/bucketUserDefinedLogFields.ts +++ b/sdk/nodejs/oss/bucketUserDefinedLogFields.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket User Defined Log Fields can be imported using the id, e.g. diff --git a/sdk/nodejs/oss/bucketWebsite.ts b/sdk/nodejs/oss/bucketWebsite.ts index 8b7c910ffe..1186b6da29 100644 --- a/sdk/nodejs/oss/bucketWebsite.ts +++ b/sdk/nodejs/oss/bucketWebsite.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OSS Bucket Website can be imported using the id, e.g. diff --git a/sdk/nodejs/ots/instance.ts b/sdk/nodejs/ots/instance.ts index 0ad2fa0dfc..59db14b6f2 100644 --- a/sdk/nodejs/ots/instance.ts +++ b/sdk/nodejs/ots/instance.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS instance can be imported using instance id or name, e.g. diff --git a/sdk/nodejs/ots/instanceAttachment.ts b/sdk/nodejs/ots/instanceAttachment.ts index 5a65b6d7c3..91f94af610 100644 --- a/sdk/nodejs/ots/instanceAttachment.ts +++ b/sdk/nodejs/ots/instanceAttachment.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * vswitchId: defaultSwitch.id, * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class InstanceAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ots/searchIndex.ts b/sdk/nodejs/ots/searchIndex.ts index 2d42af5371..9d8f2b3803 100644 --- a/sdk/nodejs/ots/searchIndex.ts +++ b/sdk/nodejs/ots/searchIndex.ts @@ -110,6 +110,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS search index can be imported using id, e.g. diff --git a/sdk/nodejs/ots/secondaryIndex.ts b/sdk/nodejs/ots/secondaryIndex.ts index 8b54a27fc2..538a0ba5f4 100644 --- a/sdk/nodejs/ots/secondaryIndex.ts +++ b/sdk/nodejs/ots/secondaryIndex.ts @@ -88,6 +88,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS secondary index can be imported using id, e.g. diff --git a/sdk/nodejs/ots/table.ts b/sdk/nodejs/ots/table.ts index d50d5d6291..a61c96c133 100644 --- a/sdk/nodejs/ots/table.ts +++ b/sdk/nodejs/ots/table.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS table can be imported using id, e.g. diff --git a/sdk/nodejs/ots/tunnel.ts b/sdk/nodejs/ots/tunnel.ts index 894d76b971..fcebed584f 100644 --- a/sdk/nodejs/ots/tunnel.ts +++ b/sdk/nodejs/ots/tunnel.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * OTS tunnel can be imported using id, e.g. diff --git a/sdk/nodejs/pai/flowPipeline.ts b/sdk/nodejs/pai/flowPipeline.ts index d5d82ba4e1..014f1d96e7 100644 --- a/sdk/nodejs/pai/flowPipeline.ts +++ b/sdk/nodejs/pai/flowPipeline.ts @@ -130,6 +130,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Pai Flow Pipeline can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/service.ts b/sdk/nodejs/pai/service.ts index be59ba5e99..9fc073123f 100644 --- a/sdk/nodejs/pai/service.ts +++ b/sdk/nodejs/pai/service.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Service can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceCodeSource.ts b/sdk/nodejs/pai/workspaceCodeSource.ts index af8123246b..508bf2d037 100644 --- a/sdk/nodejs/pai/workspaceCodeSource.ts +++ b/sdk/nodejs/pai/workspaceCodeSource.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Code Source can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceDataset.ts b/sdk/nodejs/pai/workspaceDataset.ts index 4dcdcd6684..6d546361e4 100644 --- a/sdk/nodejs/pai/workspaceDataset.ts +++ b/sdk/nodejs/pai/workspaceDataset.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Dataset can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceDatasetversion.ts b/sdk/nodejs/pai/workspaceDatasetversion.ts index 9ca851a22f..39d5beba65 100644 --- a/sdk/nodejs/pai/workspaceDatasetversion.ts +++ b/sdk/nodejs/pai/workspaceDatasetversion.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Datasetversion can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceExperiment.ts b/sdk/nodejs/pai/workspaceExperiment.ts index f6e8ea827d..5ee51f6d34 100644 --- a/sdk/nodejs/pai/workspaceExperiment.ts +++ b/sdk/nodejs/pai/workspaceExperiment.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Experiment can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceMember.ts b/sdk/nodejs/pai/workspaceMember.ts index d197aad268..58e368756f 100644 --- a/sdk/nodejs/pai/workspaceMember.ts +++ b/sdk/nodejs/pai/workspaceMember.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Member can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceModel.ts b/sdk/nodejs/pai/workspaceModel.ts index 4d5b82f377..49c1479c8b 100644 --- a/sdk/nodejs/pai/workspaceModel.ts +++ b/sdk/nodejs/pai/workspaceModel.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Model can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceModelVersion.ts b/sdk/nodejs/pai/workspaceModelVersion.ts index a8bbe50297..30a479643c 100644 --- a/sdk/nodejs/pai/workspaceModelVersion.ts +++ b/sdk/nodejs/pai/workspaceModelVersion.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Model Version can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceRun.ts b/sdk/nodejs/pai/workspaceRun.ts index 9d82b7ef5c..9af9efce7d 100644 --- a/sdk/nodejs/pai/workspaceRun.ts +++ b/sdk/nodejs/pai/workspaceRun.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Run can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceUserConfig.ts b/sdk/nodejs/pai/workspaceUserConfig.ts index 1c4bb21f6d..e07df84cbd 100644 --- a/sdk/nodejs/pai/workspaceUserConfig.ts +++ b/sdk/nodejs/pai/workspaceUserConfig.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace User Config can be imported using the id, e.g. diff --git a/sdk/nodejs/pai/workspaceWorkspace.ts b/sdk/nodejs/pai/workspaceWorkspace.ts index dc28ca986c..dbc2a6d72c 100644 --- a/sdk/nodejs/pai/workspaceWorkspace.ts +++ b/sdk/nodejs/pai/workspaceWorkspace.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PAI Workspace Workspace can be imported using the id, e.g. diff --git a/sdk/nodejs/polarDbExtension.ts b/sdk/nodejs/polarDbExtension.ts index e45e3ef608..0860ded56e 100644 --- a/sdk/nodejs/polarDbExtension.ts +++ b/sdk/nodejs/polarDbExtension.ts @@ -68,6 +68,8 @@ import * as utilities from "./utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Polar Db Extension can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/account.ts b/sdk/nodejs/polardb/account.ts index 36c8431e96..ac0fb59d57 100644 --- a/sdk/nodejs/polardb/account.ts +++ b/sdk/nodejs/polardb/account.ts @@ -5,7 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a PolarDB account resource and used to manage databases. + * Provides a Polar Db Account resource. + * + * Database account information. + * + * For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). * * > **NOTE:** Available since v1.67.0. * @@ -47,12 +51,14 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * PolarDB account can be imported using the id, e.g. + * Polar Db Account can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" + * $ pulumi import alicloud:polardb/account:Account example : * ``` */ export class Account extends pulumi.CustomResource { @@ -84,23 +90,40 @@ export class Account extends pulumi.CustomResource { } /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. */ declare public readonly accountDescription: pulumi.Output; /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + */ + declare public readonly accountLockState: pulumi.Output; + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. */ declare public readonly accountName: pulumi.Output; /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !@#$%^&*()_+-=. */ - declare public readonly accountPassword: pulumi.Output; + declare public readonly accountPassword: pulumi.Output; /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The time when the password for the database account expires. */ - declare public readonly accountType: pulumi.Output; + declare public readonly accountPasswordValidTime: pulumi.Output; /** - * The Id of cluster in which account belongs. + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. + */ + declare public readonly accountType: pulumi.Output; + /** + * The cluster ID. */ declare public readonly dbClusterId: pulumi.Output; /** @@ -111,6 +134,10 @@ export class Account extends pulumi.CustomResource { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ declare public readonly kmsEncryptionContext: pulumi.Output<{[key: string]: string} | undefined>; + /** + * (Available since v1.265.0) The status of the database account. + */ + declare public /*out*/ readonly status: pulumi.Output; /** * Create a Account resource with the given unique name, arguments, and options. @@ -126,30 +153,33 @@ export class Account extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as AccountState | undefined; resourceInputs["accountDescription"] = state?.accountDescription; + resourceInputs["accountLockState"] = state?.accountLockState; resourceInputs["accountName"] = state?.accountName; resourceInputs["accountPassword"] = state?.accountPassword; + resourceInputs["accountPasswordValidTime"] = state?.accountPasswordValidTime; resourceInputs["accountType"] = state?.accountType; resourceInputs["dbClusterId"] = state?.dbClusterId; resourceInputs["kmsEncryptedPassword"] = state?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = state?.kmsEncryptionContext; + resourceInputs["status"] = state?.status; } else { const args = argsOrState as AccountArgs | undefined; if (args?.accountName === undefined && !opts.urn) { throw new Error("Missing required property 'accountName'"); } - if (args?.accountPassword === undefined && !opts.urn) { - throw new Error("Missing required property 'accountPassword'"); - } if (args?.dbClusterId === undefined && !opts.urn) { throw new Error("Missing required property 'dbClusterId'"); } resourceInputs["accountDescription"] = args?.accountDescription; + resourceInputs["accountLockState"] = args?.accountLockState; resourceInputs["accountName"] = args?.accountName; resourceInputs["accountPassword"] = args?.accountPassword ? pulumi.secret(args.accountPassword) : undefined; + resourceInputs["accountPasswordValidTime"] = args?.accountPasswordValidTime; resourceInputs["accountType"] = args?.accountType; resourceInputs["dbClusterId"] = args?.dbClusterId; resourceInputs["kmsEncryptedPassword"] = args?.kmsEncryptedPassword; resourceInputs["kmsEncryptionContext"] = args?.kmsEncryptionContext; + resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const secretOpts = { additionalSecretOutputs: ["accountPassword"] }; @@ -163,23 +193,40 @@ export class Account extends pulumi.CustomResource { */ export interface AccountState { /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. */ accountDescription?: pulumi.Input; /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + */ + accountLockState?: pulumi.Input; + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. */ accountName?: pulumi.Input; /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !@#$%^&*()_+-=. */ accountPassword?: pulumi.Input; /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The time when the password for the database account expires. + */ + accountPasswordValidTime?: pulumi.Input; + /** + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. */ accountType?: pulumi.Input; /** - * The Id of cluster in which account belongs. + * The cluster ID. */ dbClusterId?: pulumi.Input; /** @@ -190,6 +237,10 @@ export interface AccountState { * An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a db account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set. */ kmsEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * (Available since v1.265.0) The status of the database account. + */ + status?: pulumi.Input; } /** @@ -197,23 +248,40 @@ export interface AccountState { */ export interface AccountArgs { /** - * Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + * The description of the database account. */ accountDescription?: pulumi.Input; /** - * Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + * The lock status of the account. Valid values: + * - `UnLock`: The account is not locked. + * - `Lock`: The account is locked. + */ + accountLockState?: pulumi.Input; + /** + * The account name. Must meet the following requirements: + * - Start with a lowercase letter and end with a letter or number. + * - Consists of lowercase letters, numbers, or underscores. + * - The length is 2 to 16 characters. + * - You cannot use some reserved usernames, such as root and admin. */ accountName: pulumi.Input; /** - * Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + * The account password. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields. Must meet the following requirements: + * - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + * - Be 8 to 32 characters in length. + * - Special characters include !@#$%^&*()_+-=. + */ + accountPassword?: pulumi.Input; + /** + * The time when the password for the database account expires. */ - accountPassword: pulumi.Input; + accountPasswordValidTime?: pulumi.Input; /** - * Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + * The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. */ accountType?: pulumi.Input; /** - * The Id of cluster in which account belongs. + * The cluster ID. */ dbClusterId: pulumi.Input; /** diff --git a/sdk/nodejs/polardb/accountPrivilege.ts b/sdk/nodejs/polardb/accountPrivilege.ts index a76adb5ec0..72d7ebb26a 100644 --- a/sdk/nodejs/polardb/accountPrivilege.ts +++ b/sdk/nodejs/polardb/accountPrivilege.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB account privilege can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/clusterEndpoint.ts b/sdk/nodejs/polardb/clusterEndpoint.ts index 41a55df822..cfe194ddf7 100644 --- a/sdk/nodejs/polardb/clusterEndpoint.ts +++ b/sdk/nodejs/polardb/clusterEndpoint.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * const defaultClusterEndpoint = new alicloud.polardb.ClusterEndpoint("default", {dbClusterId: defaultCluster.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/database.ts b/sdk/nodejs/polardb/database.ts index efcc067de7..e3a568dd88 100644 --- a/sdk/nodejs/polardb/database.ts +++ b/sdk/nodejs/polardb/database.ts @@ -5,12 +5,18 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. + * Provides a Polar Db Database resource. + * + * Manage linked databases. + * + * For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). * * > **NOTE:** Available since v1.66.0. * * ## Example Usage * + * Basic Usage + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as alicloud from "@pulumi/alicloud"; @@ -45,12 +51,14 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * PolarDB database can be imported using the id, e.g. + * Polar Db Database can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" + * $ pulumi import alicloud:polardb/database:Database example : * ``` */ export class Database extends pulumi.CustomResource { @@ -82,25 +90,41 @@ export class Database extends pulumi.CustomResource { } /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. */ declare public readonly accountName: pulumi.Output; /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + */ + declare public readonly characterSetName: pulumi.Output; + /** + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + */ + declare public readonly collate: pulumi.Output; + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. */ - declare public readonly characterSetName: pulumi.Output; + declare public readonly ctype: pulumi.Output; /** - * The Id of cluster that can run database. + * The ID of cluster. */ declare public readonly dbClusterId: pulumi.Output; /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. */ - declare public readonly dbDescription: pulumi.Output; + declare public readonly dbDescription: pulumi.Output; /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. */ declare public readonly dbName: pulumi.Output; + /** + * (Available since v1.265.0) The state of the database. + */ + declare public /*out*/ readonly status: pulumi.Output; /** * Create a Database resource with the given unique name, arguments, and options. @@ -117,9 +141,12 @@ export class Database extends pulumi.CustomResource { const state = argsOrState as DatabaseState | undefined; resourceInputs["accountName"] = state?.accountName; resourceInputs["characterSetName"] = state?.characterSetName; + resourceInputs["collate"] = state?.collate; + resourceInputs["ctype"] = state?.ctype; resourceInputs["dbClusterId"] = state?.dbClusterId; resourceInputs["dbDescription"] = state?.dbDescription; resourceInputs["dbName"] = state?.dbName; + resourceInputs["status"] = state?.status; } else { const args = argsOrState as DatabaseArgs | undefined; if (args?.dbClusterId === undefined && !opts.urn) { @@ -130,9 +157,12 @@ export class Database extends pulumi.CustomResource { } resourceInputs["accountName"] = args?.accountName; resourceInputs["characterSetName"] = args?.characterSetName; + resourceInputs["collate"] = args?.collate; + resourceInputs["ctype"] = args?.ctype; resourceInputs["dbClusterId"] = args?.dbClusterId; resourceInputs["dbDescription"] = args?.dbDescription; resourceInputs["dbName"] = args?.dbName; + resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Database.__pulumiType, name, resourceInputs, opts); @@ -144,25 +174,41 @@ export class Database extends pulumi.CustomResource { */ export interface DatabaseState { /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. */ accountName?: pulumi.Input; /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). */ characterSetName?: pulumi.Input; /** - * The Id of cluster that can run database. + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + */ + collate?: pulumi.Input; + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + */ + ctype?: pulumi.Input; + /** + * The ID of cluster. */ dbClusterId?: pulumi.Input; /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. */ dbDescription?: pulumi.Input; /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. */ dbName?: pulumi.Input; + /** + * (Available since v1.265.0) The state of the database. + */ + status?: pulumi.Input; } /** @@ -170,23 +216,35 @@ export interface DatabaseState { */ export interface DatabaseArgs { /** - * Account name authorized to access the database. Only supports PostgreSQL. + * The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `accountName` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. */ accountName?: pulumi.Input; /** - * Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \(`utf8mb4` only supports versions 5.5 and 5.6\). + * The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). */ characterSetName?: pulumi.Input; /** - * The Id of cluster that can run database. + * The language that defines the collation rules in the database. + * > **NOTE:** The locale must be compatible with the character set set set by `characterSetName`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + */ + collate?: pulumi.Input; + /** + * The language that indicates the character type of the database. + * > **NOTE:** The language must be compatible with the character set that is specified by `characterSetName`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + */ + ctype?: pulumi.Input; + /** + * The ID of cluster. */ dbClusterId: pulumi.Input; /** - * Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + * The description of the database. The description must meet the following requirements: + * - It cannot start with `http://` or `https://`. + * - It must be 2 to 256 characters in length. */ dbDescription?: pulumi.Input; /** - * Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + * The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. */ dbName: pulumi.Input; } diff --git a/sdk/nodejs/polardb/endpoint.ts b/sdk/nodejs/polardb/endpoint.ts index 6ce603a3c9..71f078e653 100644 --- a/sdk/nodejs/polardb/endpoint.ts +++ b/sdk/nodejs/polardb/endpoint.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/endpointAddress.ts b/sdk/nodejs/polardb/endpointAddress.ts index e6f9314829..7e2d288af2 100644 --- a/sdk/nodejs/polardb/endpointAddress.ts +++ b/sdk/nodejs/polardb/endpointAddress.ts @@ -51,6 +51,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint address can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/globalDatabaseNetwork.ts b/sdk/nodejs/polardb/globalDatabaseNetwork.ts index 3817021584..0b9dc3560b 100644 --- a/sdk/nodejs/polardb/globalDatabaseNetwork.ts +++ b/sdk/nodejs/polardb/globalDatabaseNetwork.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Global Database Network can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/globalSecurityIpGroup.ts b/sdk/nodejs/polardb/globalSecurityIpGroup.ts new file mode 100644 index 0000000000..da0e8aa321 --- /dev/null +++ b/sdk/nodejs/polardb/globalSecurityIpGroup.ts @@ -0,0 +1,164 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Polardb Global Security Ip Group resource. + * + * Global Security IP Group. + * + * For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). + * + * > **NOTE:** Available since v1.266.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.polardb.GlobalSecurityIpGroup("default", { + * globalIpList: "192.168.0.1", + * globalIpGroupName: "example_template", + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Polardb Global Security Ip Group can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example + * ``` + */ +export class GlobalSecurityIpGroup extends pulumi.CustomResource { + /** + * Get an existing GlobalSecurityIpGroup 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?: GlobalSecurityIpGroupState, opts?: pulumi.CustomResourceOptions): GlobalSecurityIpGroup { + return new GlobalSecurityIpGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup'; + + /** + * Returns true if the given object is an instance of GlobalSecurityIpGroup. 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 GlobalSecurityIpGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GlobalSecurityIpGroup.__pulumiType; + } + + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + */ + declare public readonly globalIpGroupName: pulumi.Output; + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + */ + declare public readonly globalIpList: pulumi.Output; + /** + * The region ID of the IP whitelist template. + */ + declare public /*out*/ readonly regionId: pulumi.Output; + + /** + * Create a GlobalSecurityIpGroup 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: GlobalSecurityIpGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: GlobalSecurityIpGroupArgs | GlobalSecurityIpGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as GlobalSecurityIpGroupState | undefined; + resourceInputs["globalIpGroupName"] = state?.globalIpGroupName; + resourceInputs["globalIpList"] = state?.globalIpList; + resourceInputs["regionId"] = state?.regionId; + } else { + const args = argsOrState as GlobalSecurityIpGroupArgs | undefined; + if (args?.globalIpGroupName === undefined && !opts.urn) { + throw new Error("Missing required property 'globalIpGroupName'"); + } + if (args?.globalIpList === undefined && !opts.urn) { + throw new Error("Missing required property 'globalIpList'"); + } + resourceInputs["globalIpGroupName"] = args?.globalIpGroupName; + resourceInputs["globalIpList"] = args?.globalIpList; + resourceInputs["regionId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(GlobalSecurityIpGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering GlobalSecurityIpGroup resources. + */ +export interface GlobalSecurityIpGroupState { + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + */ + globalIpGroupName?: pulumi.Input; + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + */ + globalIpList?: pulumi.Input; + /** + * The region ID of the IP whitelist template. + */ + regionId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a GlobalSecurityIpGroup resource. + */ +export interface GlobalSecurityIpGroupArgs { + /** + * The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + * + * - The name can contain lowercase letters, digits, and underscores (\_). + * - The name must start with a letter and end with a letter or digit. + * - The name must be 2 to 120 characters in length. + */ + globalIpGroupName: pulumi.Input; + /** + * The IP address in the whitelist template. + * + * > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + */ + globalIpList: pulumi.Input; +} diff --git a/sdk/nodejs/polardb/index.ts b/sdk/nodejs/polardb/index.ts index ebcf169b86..2db43abccd 100644 --- a/sdk/nodejs/polardb/index.ts +++ b/sdk/nodejs/polardb/index.ts @@ -90,6 +90,11 @@ export type GlobalDatabaseNetwork = import("./globalDatabaseNetwork").GlobalData export const GlobalDatabaseNetwork: typeof import("./globalDatabaseNetwork").GlobalDatabaseNetwork = null as any; utilities.lazyLoad(exports, ["GlobalDatabaseNetwork"], () => require("./globalDatabaseNetwork")); +export { GlobalSecurityIpGroupArgs, GlobalSecurityIpGroupState } from "./globalSecurityIpGroup"; +export type GlobalSecurityIpGroup = import("./globalSecurityIpGroup").GlobalSecurityIpGroup; +export const GlobalSecurityIpGroup: typeof import("./globalSecurityIpGroup").GlobalSecurityIpGroup = null as any; +utilities.lazyLoad(exports, ["GlobalSecurityIpGroup"], () => require("./globalSecurityIpGroup")); + export { ParameterGroupArgs, ParameterGroupState } from "./parameterGroup"; export type ParameterGroup = import("./parameterGroup").ParameterGroup; export const ParameterGroup: typeof import("./parameterGroup").ParameterGroup = null as any; @@ -138,6 +143,8 @@ const _module = { return new EndpointAddress(name, undefined, { urn }) case "alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork": return new GlobalDatabaseNetwork(name, undefined, { urn }) + case "alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup": + return new GlobalSecurityIpGroup(name, undefined, { urn }) case "alicloud:polardb/parameterGroup:ParameterGroup": return new ParameterGroup(name, undefined, { urn }) case "alicloud:polardb/primaryEndpoint:PrimaryEndpoint": @@ -162,6 +169,7 @@ pulumi.runtime.registerResourceModule("alicloud", "polardb/database", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/endpoint", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/endpointAddress", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/globalDatabaseNetwork", _module) +pulumi.runtime.registerResourceModule("alicloud", "polardb/globalSecurityIpGroup", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/parameterGroup", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/primaryEndpoint", _module) pulumi.runtime.registerResourceModule("alicloud", "polardb/zonalAccount", _module) diff --git a/sdk/nodejs/polardb/parameterGroup.ts b/sdk/nodejs/polardb/parameterGroup.ts index be5d1c52db..a3bba26238 100644 --- a/sdk/nodejs/polardb/parameterGroup.ts +++ b/sdk/nodejs/polardb/parameterGroup.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Polar Db Parameter Group can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/primaryEndpoint.ts b/sdk/nodejs/polardb/primaryEndpoint.ts index e92437adbe..8f6a181e3e 100644 --- a/sdk/nodejs/polardb/primaryEndpoint.ts +++ b/sdk/nodejs/polardb/primaryEndpoint.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * const defaultPrimaryEndpoint = new alicloud.polardb.PrimaryEndpoint("default", {dbClusterId: defaultCluster.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/zonalAccount.ts b/sdk/nodejs/polardb/zonalAccount.ts index cd55df7832..3dd1475e5f 100644 --- a/sdk/nodejs/polardb/zonalAccount.ts +++ b/sdk/nodejs/polardb/zonalAccount.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Zonal account can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/zonalDbCluster.ts b/sdk/nodejs/polardb/zonalDbCluster.ts index 0ddd80267a..5444e2d3e9 100644 --- a/sdk/nodejs/polardb/zonalDbCluster.ts +++ b/sdk/nodejs/polardb/zonalDbCluster.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB zonal cluster can be imported using the id, e.g. diff --git a/sdk/nodejs/polardb/zonalEndpoint.ts b/sdk/nodejs/polardb/zonalEndpoint.ts index 2af54f2996..f817febc3a 100644 --- a/sdk/nodejs/polardb/zonalEndpoint.ts +++ b/sdk/nodejs/polardb/zonalEndpoint.ts @@ -65,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * PolarDB Zonal endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/getVpcEndpointServices.ts b/sdk/nodejs/privatelink/getVpcEndpointServices.ts index 2b879d4606..614bdd91b9 100644 --- a/sdk/nodejs/privatelink/getVpcEndpointServices.ts +++ b/sdk/nodejs/privatelink/getVpcEndpointServices.ts @@ -7,7 +7,7 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -19,15 +19,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as alicloud from "@pulumi/alicloud"; * - * const exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService("example", { - * serviceDescription: "terraform-example", - * connectBandwidth: 103, - * autoAcceptConnection: false, + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.privatelink.VpcEndpointService("default", { + * serviceDescription: name, + * autoAcceptConnection: true, * }); - * const example = alicloud.privatelink.getVpcEndpointServicesOutput({ - * ids: [exampleVpcEndpointService.id], + * const ids = alicloud.privatelink.getVpcEndpointServicesOutput({ + * ids: [_default.id], * }); - * export const firstPrivatelinkVpcEndpointServiceId = example.apply(example => example.services?.[0]?.id); + * export const privatelinkVpcEndpointServicesId0 = ids.apply(ids => ids.services?.[0]?.id); * ``` */ export function getVpcEndpointServices(args?: GetVpcEndpointServicesArgs, opts?: pulumi.InvokeOptions): Promise { @@ -50,7 +51,7 @@ export function getVpcEndpointServices(args?: GetVpcEndpointServicesArgs, opts?: */ export interface GetVpcEndpointServicesArgs { /** - * Whether to automatically accept terminal node connections. + * Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. */ autoAcceptConnection?: boolean; /** @@ -66,19 +67,19 @@ export interface GetVpcEndpointServicesArgs { */ outputFile?: string; /** - * The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. */ serviceBusinessStatus?: string; /** - * The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. */ status?: string; /** - * The tags of Vpc Endpoint Service. + * A mapping of tags to assign to the resource. */ tags?: {[key: string]: string}; /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. */ vpcEndpointServiceName?: string; } @@ -88,7 +89,7 @@ export interface GetVpcEndpointServicesArgs { */ export interface GetVpcEndpointServicesResult { /** - * Whether to automatically accept terminal node connections.. + * Indicates whether endpoint connection requests are automatically accepted. */ readonly autoAcceptConnection?: boolean; /** @@ -103,28 +104,28 @@ export interface GetVpcEndpointServicesResult { readonly names: string[]; readonly outputFile?: string; /** - * The business status of the terminal node service.. + * The service state of the endpoint service. */ readonly serviceBusinessStatus?: string; /** - * A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + * A list of Vpc Endpoint Services. Each element contains the following attributes: */ readonly services: outputs.privatelink.GetVpcEndpointServicesService[]; /** - * The Status of Vpc Endpoint Service. + * The state of the endpoint service. */ readonly status?: string; /** - * The tags of Vpc Endpoint Service. + * The tags added to the resource. */ readonly tags?: {[key: string]: string}; /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. */ readonly vpcEndpointServiceName?: string; } /** - * This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + * This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. * * > **NOTE:** Available since v1.109.0. * @@ -136,15 +137,16 @@ export interface GetVpcEndpointServicesResult { * import * as pulumi from "@pulumi/pulumi"; * import * as alicloud from "@pulumi/alicloud"; * - * const exampleVpcEndpointService = new alicloud.privatelink.VpcEndpointService("example", { - * serviceDescription: "terraform-example", - * connectBandwidth: 103, - * autoAcceptConnection: false, + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.privatelink.VpcEndpointService("default", { + * serviceDescription: name, + * autoAcceptConnection: true, * }); - * const example = alicloud.privatelink.getVpcEndpointServicesOutput({ - * ids: [exampleVpcEndpointService.id], + * const ids = alicloud.privatelink.getVpcEndpointServicesOutput({ + * ids: [_default.id], * }); - * export const firstPrivatelinkVpcEndpointServiceId = example.apply(example => example.services?.[0]?.id); + * export const privatelinkVpcEndpointServicesId0 = ids.apply(ids => ids.services?.[0]?.id); * ``` */ export function getVpcEndpointServicesOutput(args?: GetVpcEndpointServicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { @@ -167,7 +169,7 @@ export function getVpcEndpointServicesOutput(args?: GetVpcEndpointServicesOutput */ export interface GetVpcEndpointServicesOutputArgs { /** - * Whether to automatically accept terminal node connections. + * Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. */ autoAcceptConnection?: pulumi.Input; /** @@ -183,19 +185,19 @@ export interface GetVpcEndpointServicesOutputArgs { */ outputFile?: pulumi.Input; /** - * The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. */ serviceBusinessStatus?: pulumi.Input; /** - * The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. */ status?: pulumi.Input; /** - * The tags of Vpc Endpoint Service. + * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. */ vpcEndpointServiceName?: pulumi.Input; } diff --git a/sdk/nodejs/privatelink/vpcEndpoint.ts b/sdk/nodejs/privatelink/vpcEndpoint.ts index e5d469534e..acc8c26ed8 100644 --- a/sdk/nodejs/privatelink/vpcEndpoint.ts +++ b/sdk/nodejs/privatelink/vpcEndpoint.ts @@ -59,6 +59,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/vpcEndpointService.ts b/sdk/nodejs/privatelink/vpcEndpointService.ts index bc65cafa05..89a8ac03bf 100644 --- a/sdk/nodejs/privatelink/vpcEndpointService.ts +++ b/sdk/nodejs/privatelink/vpcEndpointService.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/vpcEndpointServiceConnection.ts b/sdk/nodejs/privatelink/vpcEndpointServiceConnection.ts index bc58e13edb..68ceadf71c 100644 --- a/sdk/nodejs/privatelink/vpcEndpointServiceConnection.ts +++ b/sdk/nodejs/privatelink/vpcEndpointServiceConnection.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Connection can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/vpcEndpointServiceResource.ts b/sdk/nodejs/privatelink/vpcEndpointServiceResource.ts index f6c12d9668..3ac21aa392 100644 --- a/sdk/nodejs/privatelink/vpcEndpointServiceResource.ts +++ b/sdk/nodejs/privatelink/vpcEndpointServiceResource.ts @@ -64,6 +64,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/vpcEndpointServiceUser.ts b/sdk/nodejs/privatelink/vpcEndpointServiceUser.ts index ddaecc3a3b..42c48612b2 100644 --- a/sdk/nodejs/privatelink/vpcEndpointServiceUser.ts +++ b/sdk/nodejs/privatelink/vpcEndpointServiceUser.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Service User can be imported using the id, e.g. diff --git a/sdk/nodejs/privatelink/vpcEndpointZone.ts b/sdk/nodejs/privatelink/vpcEndpointZone.ts index 2d0bf0668c..e8de880a85 100644 --- a/sdk/nodejs/privatelink/vpcEndpointZone.ts +++ b/sdk/nodejs/privatelink/vpcEndpointZone.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Link Vpc Endpoint Zone can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/endpoint.ts b/sdk/nodejs/pvtz/endpoint.ts index 4c214e0222..5399b632d4 100644 --- a/sdk/nodejs/pvtz/endpoint.ts +++ b/sdk/nodejs/pvtz/endpoint.ts @@ -70,6 +70,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/rule.ts b/sdk/nodejs/pvtz/rule.ts index 566329df86..675874b1bf 100644 --- a/sdk/nodejs/pvtz/rule.ts +++ b/sdk/nodejs/pvtz/rule.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/ruleAttachment.ts b/sdk/nodejs/pvtz/ruleAttachment.ts index bf159a1266..db2f0b6462 100644 --- a/sdk/nodejs/pvtz/ruleAttachment.ts +++ b/sdk/nodejs/pvtz/ruleAttachment.ts @@ -101,6 +101,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Rule Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/userVpcAuthorization.ts b/sdk/nodejs/pvtz/userVpcAuthorization.ts index b649ca3523..380a2a8237 100644 --- a/sdk/nodejs/pvtz/userVpcAuthorization.ts +++ b/sdk/nodejs/pvtz/userVpcAuthorization.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone User Vpc Authorization can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/zone.ts b/sdk/nodejs/pvtz/zone.ts index c241f29cfc..1b9fcfa6df 100644 --- a/sdk/nodejs/pvtz/zone.ts +++ b/sdk/nodejs/pvtz/zone.ts @@ -18,6 +18,8 @@ import * as utilities from "../utilities"; * const foo = new alicloud.pvtz.Zone("foo", {zoneName: "foo.example.com"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone can be imported using the id, e.g. diff --git a/sdk/nodejs/pvtz/zoneAttachment.ts b/sdk/nodejs/pvtz/zoneAttachment.ts index 8226587045..1c8efa42e0 100644 --- a/sdk/nodejs/pvtz/zoneAttachment.ts +++ b/sdk/nodejs/pvtz/zoneAttachment.ts @@ -97,6 +97,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone attachment can be imported using the id(same with `zone_id`), e.g. diff --git a/sdk/nodejs/pvtz/zoneRecord.ts b/sdk/nodejs/pvtz/zoneRecord.ts index 21a083f34e..2c596cbfa2 100644 --- a/sdk/nodejs/pvtz/zoneRecord.ts +++ b/sdk/nodejs/pvtz/zoneRecord.ts @@ -23,6 +23,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Private Zone Record can be imported using the id, e.g. diff --git a/sdk/nodejs/quickbi/user.ts b/sdk/nodejs/quickbi/user.ts index 5dda3a11d3..c21cc6b2ef 100644 --- a/sdk/nodejs/quickbi/user.ts +++ b/sdk/nodejs/quickbi/user.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quick BI User can be imported using the id, e.g. diff --git a/sdk/nodejs/quotas/quotaAlarm.ts b/sdk/nodejs/quotas/quotaAlarm.ts index 536ef4034a..bda5b5438a 100644 --- a/sdk/nodejs/quotas/quotaAlarm.ts +++ b/sdk/nodejs/quotas/quotaAlarm.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quotas Quota Alarm can be imported using the id, e.g. diff --git a/sdk/nodejs/quotas/templateQuota.ts b/sdk/nodejs/quotas/templateQuota.ts index 0d59240a05..b13adb3a56 100644 --- a/sdk/nodejs/quotas/templateQuota.ts +++ b/sdk/nodejs/quotas/templateQuota.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Quotas Template Quota can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/accessKey.ts b/sdk/nodejs/ram/accessKey.ts index 0615ebe56e..6d7ae1d96c 100644 --- a/sdk/nodejs/ram/accessKey.ts +++ b/sdk/nodejs/ram/accessKey.ts @@ -95,6 +95,8 @@ import * as utilities from "../utilities"; * }); * export const encryptedSecret = encrypt.encryptedSecret; * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class AccessKey extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ram/accountPasswordPolicy.ts b/sdk/nodejs/ram/accountPasswordPolicy.ts index 1a311db2d6..76ba1558fe 100644 --- a/sdk/nodejs/ram/accountPasswordPolicy.ts +++ b/sdk/nodejs/ram/accountPasswordPolicy.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * ``` * For not specified values sets defaults. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM account password policy can be imported using the `id`, e.g. diff --git a/sdk/nodejs/ram/group.ts b/sdk/nodejs/ram/group.ts index 7fa81bbf24..feb9bbef28 100644 --- a/sdk/nodejs/ram/group.ts +++ b/sdk/nodejs/ram/group.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/groupMembership.ts b/sdk/nodejs/ram/groupMembership.ts index 7639f2ddc8..ba079dc810 100644 --- a/sdk/nodejs/ram/groupMembership.ts +++ b/sdk/nodejs/ram/groupMembership.ts @@ -5,10 +5,6 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a RAM Group membership resource. - * - * > **NOTE:** Available since v1.0.0+. - * * ## Example Usage * * ```typescript @@ -54,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group membership can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/groupPolicyAttachment.ts b/sdk/nodejs/ram/groupPolicyAttachment.ts index a5d9d012d9..fffdacf9fb 100644 --- a/sdk/nodejs/ram/groupPolicyAttachment.ts +++ b/sdk/nodejs/ram/groupPolicyAttachment.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Group Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/loginProfile.ts b/sdk/nodejs/ram/loginProfile.ts index 90df40a120..8eea9e77a5 100644 --- a/sdk/nodejs/ram/loginProfile.ts +++ b/sdk/nodejs/ram/loginProfile.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Login Profile can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/policy.ts b/sdk/nodejs/ram/policy.ts index e6918c8aa8..bb94b594c3 100644 --- a/sdk/nodejs/ram/policy.ts +++ b/sdk/nodejs/ram/policy.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/role.ts b/sdk/nodejs/ram/role.ts index 6515573ce4..57e5378af7 100644 --- a/sdk/nodejs/ram/role.ts +++ b/sdk/nodejs/ram/role.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Role can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/roleAttachment.ts b/sdk/nodejs/ram/roleAttachment.ts index 1a369c3cf4..a548718190 100644 --- a/sdk/nodejs/ram/roleAttachment.ts +++ b/sdk/nodejs/ram/roleAttachment.ts @@ -94,6 +94,8 @@ import * as utilities from "../utilities"; * instanceIds: [foo].map(__item => __item.id), * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class RoleAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ram/rolePolicyAttachment.ts b/sdk/nodejs/ram/rolePolicyAttachment.ts index 480e2eb694..cd4990d45b 100644 --- a/sdk/nodejs/ram/rolePolicyAttachment.ts +++ b/sdk/nodejs/ram/rolePolicyAttachment.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Role Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/samlProvider.ts b/sdk/nodejs/ram/samlProvider.ts index 1a223a3cd1..ee639561bc 100644 --- a/sdk/nodejs/ram/samlProvider.ts +++ b/sdk/nodejs/ram/samlProvider.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM Saml Provider can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/user.ts b/sdk/nodejs/ram/user.ts index 1706e1670d..f08f53290b 100644 --- a/sdk/nodejs/ram/user.ts +++ b/sdk/nodejs/ram/user.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/userGroupAttachment.ts b/sdk/nodejs/ram/userGroupAttachment.ts index 52e206ad9c..b1a061f65e 100644 --- a/sdk/nodejs/ram/userGroupAttachment.ts +++ b/sdk/nodejs/ram/userGroupAttachment.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User Group Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/ram/userPolicyAttachment.ts b/sdk/nodejs/ram/userPolicyAttachment.ts index 351e23c7e8..c7759c6807 100644 --- a/sdk/nodejs/ram/userPolicyAttachment.ts +++ b/sdk/nodejs/ram/userPolicyAttachment.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RAM User Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/rdc/organization.ts b/sdk/nodejs/rdc/organization.ts index 368580d0be..dcaa045bf4 100644 --- a/sdk/nodejs/rdc/organization.ts +++ b/sdk/nodejs/rdc/organization.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDC Organization can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/account.ts b/sdk/nodejs/rds/account.ts index f14b5b2007..0ea5e32ca6 100644 --- a/sdk/nodejs/rds/account.ts +++ b/sdk/nodejs/rds/account.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS account can be imported using the id, e.g. @@ -86,6 +88,7 @@ export class Account extends pulumi.CustomResource { declare public readonly accountName: pulumi.Output; declare public readonly accountPassword: pulumi.Output; declare public readonly accountType: pulumi.Output; + declare public readonly checkPolicy: pulumi.Output; declare public readonly dbInstanceId: pulumi.Output; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. @@ -120,7 +123,7 @@ export class Account extends pulumi.CustomResource { */ declare public readonly password: pulumi.Output; declare public readonly resetPermissionFlag: pulumi.Output; - declare public /*out*/ readonly status: pulumi.Output; + declare public readonly status: pulumi.Output; /** * Privilege type of account. The SQLServer engine does not support create high privilege accounts. * - Normal: Common privilege. @@ -149,6 +152,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["accountName"] = state?.accountName; resourceInputs["accountPassword"] = state?.accountPassword; resourceInputs["accountType"] = state?.accountType; + resourceInputs["checkPolicy"] = state?.checkPolicy; resourceInputs["dbInstanceId"] = state?.dbInstanceId; resourceInputs["description"] = state?.description; resourceInputs["instanceId"] = state?.instanceId; @@ -165,6 +169,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["accountName"] = args?.accountName; resourceInputs["accountPassword"] = args?.accountPassword ? pulumi.secret(args.accountPassword) : undefined; resourceInputs["accountType"] = args?.accountType; + resourceInputs["checkPolicy"] = args?.checkPolicy; resourceInputs["dbInstanceId"] = args?.dbInstanceId; resourceInputs["description"] = args?.description; resourceInputs["instanceId"] = args?.instanceId; @@ -173,8 +178,8 @@ export class Account extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["resetPermissionFlag"] = args?.resetPermissionFlag; + resourceInputs["status"] = args?.status; resourceInputs["type"] = args?.type; - resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const secretOpts = { additionalSecretOutputs: ["accountPassword", "password"] }; @@ -191,6 +196,7 @@ export interface AccountState { accountName?: pulumi.Input; accountPassword?: pulumi.Input; accountType?: pulumi.Input; + checkPolicy?: pulumi.Input; dbInstanceId?: pulumi.Input; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. @@ -246,6 +252,7 @@ export interface AccountArgs { accountName?: pulumi.Input; accountPassword?: pulumi.Input; accountType?: pulumi.Input; + checkPolicy?: pulumi.Input; dbInstanceId?: pulumi.Input; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. @@ -280,6 +287,7 @@ export interface AccountArgs { */ password?: pulumi.Input; resetPermissionFlag?: pulumi.Input; + status?: pulumi.Input; /** * Privilege type of account. The SQLServer engine does not support create high privilege accounts. * - Normal: Common privilege. diff --git a/sdk/nodejs/rds/accountPrivilege.ts b/sdk/nodejs/rds/accountPrivilege.ts index e511dc1e74..7bc9959317 100644 --- a/sdk/nodejs/rds/accountPrivilege.ts +++ b/sdk/nodejs/rds/accountPrivilege.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS account privilege can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/backupPolicy.ts b/sdk/nodejs/rds/backupPolicy.ts index cb64e9b47f..2abf5e8fb9 100644 --- a/sdk/nodejs/rds/backupPolicy.ts +++ b/sdk/nodejs/rds/backupPolicy.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * const policy = new alicloud.rds.BackupPolicy("policy", {instanceId: instance.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS backup policy can be imported using the id or instance id, e.g. diff --git a/sdk/nodejs/rds/connection.ts b/sdk/nodejs/rds/connection.ts index 83d4be1739..8252e5d030 100644 --- a/sdk/nodejs/rds/connection.ts +++ b/sdk/nodejs/rds/connection.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS connection can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/custom.ts b/sdk/nodejs/rds/custom.ts index 2af27f22f5..4f9407b74e 100644 --- a/sdk/nodejs/rds/custom.ts +++ b/sdk/nodejs/rds/custom.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/customDeploymentSet.ts b/sdk/nodejs/rds/customDeploymentSet.ts index a097adae23..0b3419f595 100644 --- a/sdk/nodejs/rds/customDeploymentSet.ts +++ b/sdk/nodejs/rds/customDeploymentSet.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom Deployment Set can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/customDisk.ts b/sdk/nodejs/rds/customDisk.ts index b29541063b..ea70d1a03d 100644 --- a/sdk/nodejs/rds/customDisk.ts +++ b/sdk/nodejs/rds/customDisk.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Custom Disk can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/database.ts b/sdk/nodejs/rds/database.ts index 2033120f26..83b4d2fb47 100644 --- a/sdk/nodejs/rds/database.ts +++ b/sdk/nodejs/rds/database.ts @@ -5,7 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). + * Provides a RDS Database resource. + * + * Supports creating a database under an instance. + * + * For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). * * > **NOTE:** Available since v1.5.0. * @@ -19,8 +23,19 @@ import * as utilities from "../utilities"; * const name = config.get("name") || "tf-example"; * const _default = alicloud.rds.getZones({ * engine: "MySQL", - * engineVersion: "5.6", + * engineVersion: "8.0", + * instanceChargeType: "PostPaid", + * category: "HighAvailability", + * dbInstanceStorageType: "cloud_essd", * }); + * const defaultGetInstanceClasses = _default.then(_default => alicloud.rds.getInstanceClasses({ + * zoneId: _default.zones?.[0]?.id, + * engine: "MySQL", + * engineVersion: "8.0", + * category: "HighAvailability", + * dbInstanceStorageType: "cloud_essd", + * instanceChargeType: "PostPaid", + * })); * const defaultNetwork = new alicloud.vpc.Network("default", { * vpcName: name, * cidrBlock: "172.16.0.0/16", @@ -33,24 +48,29 @@ import * as utilities from "../utilities"; * }); * const defaultInstance = new alicloud.rds.Instance("default", { * engine: "MySQL", - * engineVersion: "5.6", - * instanceType: "rds.mysql.s1.small", - * instanceStorage: 10, + * engineVersion: "8.0", + * dbInstanceStorageType: "cloud_essd", + * instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass), + * instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min), * vswitchId: defaultSwitch.id, * instanceName: name, + * instanceChargeType: "Postpaid", * }); * const defaultDatabase = new alicloud.rds.Database("default", { * instanceId: defaultInstance.id, - * name: name, + * dataBaseName: name, + * characterSet: "utf8", * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * - * RDS database can be imported using the id, e.g. + * RDS Database can be imported using the id, e.g. * * ```sh - * $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" + * $ pulumi import alicloud:rds/database:Database example : * ``` */ export class Database extends pulumi.CustomResource { @@ -94,26 +114,35 @@ export class Database extends pulumi.CustomResource { * More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) */ declare public readonly characterSet: pulumi.Output; + /** + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + */ + declare public readonly dataBaseName: pulumi.Output; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. */ declare public readonly description: pulumi.Output; /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. */ declare public readonly instanceId: pulumi.Output; /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ declare public readonly name: pulumi.Output; + /** + * The status of the resource + */ + declare public /*out*/ readonly status: pulumi.Output; /** * Create a Database resource with the given unique name, arguments, and options. @@ -129,18 +158,22 @@ export class Database extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as DatabaseState | undefined; resourceInputs["characterSet"] = state?.characterSet; + resourceInputs["dataBaseName"] = state?.dataBaseName; resourceInputs["description"] = state?.description; resourceInputs["instanceId"] = state?.instanceId; resourceInputs["name"] = state?.name; + resourceInputs["status"] = state?.status; } else { const args = argsOrState as DatabaseArgs | undefined; if (args?.instanceId === undefined && !opts.urn) { throw new Error("Missing required property 'instanceId'"); } resourceInputs["characterSet"] = args?.characterSet; + resourceInputs["dataBaseName"] = args?.dataBaseName; resourceInputs["description"] = args?.description; resourceInputs["instanceId"] = args?.instanceId; resourceInputs["name"] = args?.name; + resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Database.__pulumiType, name, resourceInputs, opts); @@ -164,26 +197,35 @@ export interface DatabaseState { * More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) */ characterSet?: pulumi.Input; + /** + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + */ + dataBaseName?: pulumi.Input; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. */ description?: pulumi.Input; /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. */ instanceId?: pulumi.Input; /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ name?: pulumi.Input; + /** + * The status of the resource + */ + status?: pulumi.Input; } /** @@ -203,24 +245,29 @@ export interface DatabaseArgs { * More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) */ characterSet?: pulumi.Input; + /** + * The name of the database. + * > **NOTE:** + * The name must be 2 to 64 characters in length. + * The name must start with a lowercase letter and end with a lowercase letter or digit. + * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + * The name must be unique within the instance. + * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + */ + dataBaseName?: pulumi.Input; /** * Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - * - * > **NOTE:** The value of "name" or "characterSet" does not support modification. */ description?: pulumi.Input; /** - * The Id of instance that can run database. + * The instance ID. You can call the DescribeDBInstances operation to query the instance ID. */ instanceId: pulumi.Input; /** - * The name of the database. - * * > **NOTE:** - * The name must be 2 to 64 characters in length. - * The name must start with a lowercase letter and end with a lowercase letter or digit. - * The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - * The name must be unique within the instance. - * For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + * The attribute has been deprecated from 1.267.0 and using `dataBaseName` instead. + * > **NOTE:** The value of "dataBaseName" or "characterSet" does not support modification. + * + * @deprecated Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead. */ name?: pulumi.Input; } diff --git a/sdk/nodejs/rds/dbInstanceEndpoint.ts b/sdk/nodejs/rds/dbInstanceEndpoint.ts index 752fe714c9..e3f56c2ef3 100644 --- a/sdk/nodejs/rds/dbInstanceEndpoint.ts +++ b/sdk/nodejs/rds/dbInstanceEndpoint.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database endpoint feature can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/dbInstanceEndpointAddress.ts b/sdk/nodejs/rds/dbInstanceEndpointAddress.ts index 38e66da913..3615e68c46 100644 --- a/sdk/nodejs/rds/dbInstanceEndpointAddress.ts +++ b/sdk/nodejs/rds/dbInstanceEndpointAddress.ts @@ -87,6 +87,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database endpoint public address feature can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/dbNode.ts b/sdk/nodejs/rds/dbNode.ts index af0d23e417..e461ba7745 100644 --- a/sdk/nodejs/rds/dbNode.ts +++ b/sdk/nodejs/rds/dbNode.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS MySQL database cluster node agent function can be imported using id, e.g. diff --git a/sdk/nodejs/rds/dbProxyPublic.ts b/sdk/nodejs/rds/dbProxyPublic.ts index 76ea286ab3..b07c1c142f 100644 --- a/sdk/nodejs/rds/dbProxyPublic.ts +++ b/sdk/nodejs/rds/dbProxyPublic.ts @@ -90,6 +90,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Resource `alicloud.rds.DbProxyPublic` should be created after `alicloud.rds.RdsDbProxy`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Database Proxy Public Network Address can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/instance.ts b/sdk/nodejs/rds/instance.ts index 14c5dc9cd7..c41f979f48 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -376,7 +376,7 @@ export class Instance extends pulumi.CustomResource { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} */ declare public readonly roleArn: pulumi.Output; @@ -1118,7 +1118,7 @@ export interface InstanceState { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} */ roleArn?: pulumi.Input; @@ -1638,7 +1638,7 @@ export interface InstanceArgs { /** * The Alibaba Cloud Resource Name (ARN) of the RAM role. * - * > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + * > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. * You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} */ roleArn?: pulumi.Input; diff --git a/sdk/nodejs/rds/rdsAccount.ts b/sdk/nodejs/rds/rdsAccount.ts index 888b93316c..32c9b685d4 100644 --- a/sdk/nodejs/rds/rdsAccount.ts +++ b/sdk/nodejs/rds/rdsAccount.ts @@ -23,12 +23,18 @@ import * as utilities from "../utilities"; * const name = config.get("name") || "tf_example"; * const _default = alicloud.rds.getZones({ * engine: "MySQL", - * engineVersion: "5.6", + * engineVersion: "8.0", + * instanceChargeType: "PostPaid", + * category: "HighAvailability", + * dbInstanceStorageType: "local_ssd", * }); * const defaultGetInstanceClasses = _default.then(_default => alicloud.rds.getInstanceClasses({ - * zoneId: _default.ids?.[0], + * zoneId: _default.zones?.[0]?.id, * engine: "MySQL", - * engineVersion: "5.6", + * engineVersion: "8.0", + * category: "HighAvailability", + * dbInstanceStorageType: "local_ssd", + * instanceChargeType: "PostPaid", * })); * const defaultNetwork = new alicloud.vpc.Network("default", { * vpcName: name, @@ -42,11 +48,15 @@ import * as utilities from "../utilities"; * }); * const defaultInstance = new alicloud.rds.Instance("default", { * engine: "MySQL", - * engineVersion: "5.6", - * instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[1]?.instanceClass), - * instanceStorage: 10, + * engineVersion: "8.0", + * instanceType: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[0]?.instanceClass), + * instanceStorage: defaultGetInstanceClasses.then(defaultGetInstanceClasses => defaultGetInstanceClasses.instanceClasses?.[0]?.storageRange?.min), * vswitchId: defaultSwitch.id, * instanceName: name, + * instanceChargeType: "Postpaid", + * monitoringPeriod: 60, + * dbInstanceStorageType: "local_ssd", + * dbIsIgnoreCase: false, * }); * const defaultRdsAccount = new alicloud.rds.RdsAccount("default", { * dbInstanceId: defaultInstance.id, @@ -55,6 +65,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Account can be imported using the id, e.g. @@ -129,6 +141,10 @@ export class RdsAccount extends pulumi.CustomResource { * > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). */ declare public readonly accountType: pulumi.Output; + /** + * Whether to apply password policy + */ + declare public readonly checkPolicy: pulumi.Output; /** * The ID of the instance. */ @@ -170,9 +186,9 @@ export class RdsAccount extends pulumi.CustomResource { */ declare public readonly resetPermissionFlag: pulumi.Output; /** - * The status of the resource. Valid values: `Available`, `Unavailable`. + * The status of the resource */ - declare public /*out*/ readonly status: pulumi.Output; + declare public readonly status: pulumi.Output; /** * The attribute has been deprecated from 1.120.0 and using `accountType` instead. * @@ -199,6 +215,7 @@ export class RdsAccount extends pulumi.CustomResource { resourceInputs["accountName"] = state?.accountName; resourceInputs["accountPassword"] = state?.accountPassword; resourceInputs["accountType"] = state?.accountType; + resourceInputs["checkPolicy"] = state?.checkPolicy; resourceInputs["dbInstanceId"] = state?.dbInstanceId; resourceInputs["description"] = state?.description; resourceInputs["instanceId"] = state?.instanceId; @@ -215,6 +232,7 @@ export class RdsAccount extends pulumi.CustomResource { resourceInputs["accountName"] = args?.accountName; resourceInputs["accountPassword"] = args?.accountPassword ? pulumi.secret(args.accountPassword) : undefined; resourceInputs["accountType"] = args?.accountType; + resourceInputs["checkPolicy"] = args?.checkPolicy; resourceInputs["dbInstanceId"] = args?.dbInstanceId; resourceInputs["description"] = args?.description; resourceInputs["instanceId"] = args?.instanceId; @@ -223,8 +241,8 @@ export class RdsAccount extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["resetPermissionFlag"] = args?.resetPermissionFlag; + resourceInputs["status"] = args?.status; resourceInputs["type"] = args?.type; - resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const secretOpts = { additionalSecretOutputs: ["accountPassword", "password"] }; @@ -275,6 +293,10 @@ export interface RdsAccountState { * > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). */ accountType?: pulumi.Input; + /** + * Whether to apply password policy + */ + checkPolicy?: pulumi.Input; /** * The ID of the instance. */ @@ -316,7 +338,7 @@ export interface RdsAccountState { */ resetPermissionFlag?: pulumi.Input; /** - * The status of the resource. Valid values: `Available`, `Unavailable`. + * The status of the resource */ status?: pulumi.Input; /** @@ -371,6 +393,10 @@ export interface RdsAccountArgs { * > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). */ accountType?: pulumi.Input; + /** + * Whether to apply password policy + */ + checkPolicy?: pulumi.Input; /** * The ID of the instance. */ @@ -411,6 +437,10 @@ export interface RdsAccountArgs { * Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. */ resetPermissionFlag?: pulumi.Input; + /** + * The status of the resource + */ + status?: pulumi.Input; /** * The attribute has been deprecated from 1.120.0 and using `accountType` instead. * diff --git a/sdk/nodejs/rds/rdsBackup.ts b/sdk/nodejs/rds/rdsBackup.ts index e1c6e82760..14861455c1 100644 --- a/sdk/nodejs/rds/rdsBackup.ts +++ b/sdk/nodejs/rds/rdsBackup.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * const exampleRdsBackup = new alicloud.rds.RdsBackup("example", {dbInstanceId: example.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Backup can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/rdsCloneDbInstance.ts b/sdk/nodejs/rds/rdsCloneDbInstance.ts index 337b862e09..7295857c68 100644 --- a/sdk/nodejs/rds/rdsCloneDbInstance.ts +++ b/sdk/nodejs/rds/rdsCloneDbInstance.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Clone DB Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/rdsDbProxy.ts b/sdk/nodejs/rds/rdsDbProxy.ts index 13a346337a..2cffe2a7e7 100644 --- a/sdk/nodejs/rds/rdsDbProxy.ts +++ b/sdk/nodejs/rds/rdsDbProxy.ts @@ -83,6 +83,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Resource `alicloud.rds.RdsDbProxy` should be created after `alicloud.rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS database proxy feature can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/rdsInstanceCrossBackupPolicy.ts b/sdk/nodejs/rds/rdsInstanceCrossBackupPolicy.ts index c9ed935608..1021ae35f0 100644 --- a/sdk/nodejs/rds/rdsInstanceCrossBackupPolicy.ts +++ b/sdk/nodejs/rds/rdsInstanceCrossBackupPolicy.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS remote disaster recovery policies can be imported using id or instance id, e.g. diff --git a/sdk/nodejs/rds/rdsParameterGroup.ts b/sdk/nodejs/rds/rdsParameterGroup.ts index 5f5b4123bb..93ea9385df 100644 --- a/sdk/nodejs/rds/rdsParameterGroup.ts +++ b/sdk/nodejs/rds/rdsParameterGroup.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Parameter Group can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/rdsServiceLinkedRole.ts b/sdk/nodejs/rds/rdsServiceLinkedRole.ts index 11d317c370..449f3dd842 100644 --- a/sdk/nodejs/rds/rdsServiceLinkedRole.ts +++ b/sdk/nodejs/rds/rdsServiceLinkedRole.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.rds.RdsServiceLinkedRole("default", {serviceName: "AliyunServiceRoleForRdsPgsqlOnEcs"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Service Linked Role can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/rdsUpgradeDbInstance.ts b/sdk/nodejs/rds/rdsUpgradeDbInstance.ts index a66db6dbd3..4928e15200 100644 --- a/sdk/nodejs/rds/rdsUpgradeDbInstance.ts +++ b/sdk/nodejs/rds/rdsUpgradeDbInstance.ts @@ -73,6 +73,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS Upgrade DB Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/readOnlyInstance.ts b/sdk/nodejs/rds/readOnlyInstance.ts index 19c31b4dbd..969c212ab1 100644 --- a/sdk/nodejs/rds/readOnlyInstance.ts +++ b/sdk/nodejs/rds/readOnlyInstance.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS readonly instance can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/readWriteSplittingConnection.ts b/sdk/nodejs/rds/readWriteSplittingConnection.ts index 19884cc9a1..bf6034e927 100644 --- a/sdk/nodejs/rds/readWriteSplittingConnection.ts +++ b/sdk/nodejs/rds/readWriteSplittingConnection.ts @@ -77,6 +77,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Resource `alicloud.rds.ReadWriteSplittingConnection` should be created after `alicloud.rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary. * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RDS read write splitting connection can be imported using the id, e.g. diff --git a/sdk/nodejs/rds/whitelistTemplate.ts b/sdk/nodejs/rds/whitelistTemplate.ts index c93f5e8981..a0b37fc297 100644 --- a/sdk/nodejs/rds/whitelistTemplate.ts +++ b/sdk/nodejs/rds/whitelistTemplate.ts @@ -23,6 +23,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * You can use the whitelist template ID to import whitelist templates, e.g. diff --git a/sdk/nodejs/realtimecompute/deployment.ts b/sdk/nodejs/realtimecompute/deployment.ts new file mode 100644 index 0000000000..9af6f580a9 --- /dev/null +++ b/sdk/nodejs/realtimecompute/deployment.ts @@ -0,0 +1,367 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Realtime Compute Deployment resource. + * + * Deployment in the Realtime Compute console. + * + * For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.vpc.Network("default", { + * isDefault: false, + * cidrBlock: "172.16.0.0/16", + * vpcName: "example-tf-vpc-deployment", + * }); + * const defaultSwitch = new alicloud.vpc.Switch("default", { + * isDefault: false, + * vpcId: _default.id, + * zoneId: "cn-beijing-g", + * cidrBlock: "172.16.0.0/24", + * vswitchName: "example-tf-vSwitch-deployment", + * }); + * const defaultBucket = new alicloud.oss.Bucket("default", {}); + * const defaultVvpInstance = new alicloud.realtimecompute.VvpInstance("default", { + * vvpInstanceName: "code-example-tf-deployment", + * storage: { + * oss: { + * bucket: defaultBucket.id, + * }, + * }, + * vpcId: _default.id, + * vswitchIds: [defaultSwitch.id], + * resourceSpec: { + * cpu: 8, + * memoryGb: 32, + * }, + * paymentType: "PayAsYouGo", + * zoneId: defaultSwitch.zoneId, + * }); + * const createDeployment9 = new alicloud.realtimecompute.Deployment("create_Deployment9", { + * deploymentName: "tf-example-deployment-sql-56", + * engineVersion: "vvr-8.0.10-flink-1.17", + * resourceId: defaultVvpInstance.resourceId, + * executionMode: "STREAMING", + * deploymentTarget: { + * mode: "PER_JOB", + * name: "default-queue", + * }, + * namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`, + * artifact: { + * kind: "SQLSCRIPT", + * sqlArtifact: { + * sqlScript: "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + * }, + * }, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Realtime Compute Deployment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:realtimecompute/deployment:Deployment example :: + * ``` + */ +export class Deployment extends pulumi.CustomResource { + /** + * Get an existing Deployment 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?: DeploymentState, opts?: pulumi.CustomResourceOptions): Deployment { + return new Deployment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:realtimecompute/deployment:Deployment'; + + /** + * Returns true if the given object is an instance of Deployment. 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 Deployment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Deployment.__pulumiType; + } + + /** + * Content of the deployment job See `artifact` below. + */ + declare public readonly artifact: pulumi.Output; + /** + * Batch job resource settings See `batchResourceSetting` below. + */ + declare public readonly batchResourceSetting: pulumi.Output; + /** + * Resource property field representing the primary resource ID + */ + declare public /*out*/ readonly deploymentId: pulumi.Output; + /** + * Name of the deployment + */ + declare public readonly deploymentName: pulumi.Output; + /** + * Deployment target See `deploymentTarget` below. + */ + declare public readonly deploymentTarget: pulumi.Output; + /** + * Description + */ + declare public readonly description: pulumi.Output; + /** + * Engine version of the deployment instance + */ + declare public readonly engineVersion: pulumi.Output; + /** + * Execution mode. Valid values: STREAMING or BATCH. + */ + declare public readonly executionMode: pulumi.Output; + /** + * Flink configuration + */ + declare public readonly flinkConf: pulumi.Output<{[key: string]: string}>; + /** + * Deployment labels + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Job variables See `localVariables` below. + */ + declare public readonly localVariables: pulumi.Output; + /** + * Job log configuration See `logging` below. + */ + declare public readonly logging: pulumi.Output; + /** + * Namespace name + */ + declare public readonly namespace: pulumi.Output; + /** + * Workspace resource ID + */ + declare public readonly resourceId: pulumi.Output; + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + */ + declare public readonly streamingResourceSetting: pulumi.Output; + + /** + * Create a Deployment 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: DeploymentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DeploymentArgs | DeploymentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DeploymentState | undefined; + resourceInputs["artifact"] = state?.artifact; + resourceInputs["batchResourceSetting"] = state?.batchResourceSetting; + resourceInputs["deploymentId"] = state?.deploymentId; + resourceInputs["deploymentName"] = state?.deploymentName; + resourceInputs["deploymentTarget"] = state?.deploymentTarget; + resourceInputs["description"] = state?.description; + resourceInputs["engineVersion"] = state?.engineVersion; + resourceInputs["executionMode"] = state?.executionMode; + resourceInputs["flinkConf"] = state?.flinkConf; + resourceInputs["labels"] = state?.labels; + resourceInputs["localVariables"] = state?.localVariables; + resourceInputs["logging"] = state?.logging; + resourceInputs["namespace"] = state?.namespace; + resourceInputs["resourceId"] = state?.resourceId; + resourceInputs["streamingResourceSetting"] = state?.streamingResourceSetting; + } else { + const args = argsOrState as DeploymentArgs | undefined; + if (args?.artifact === undefined && !opts.urn) { + throw new Error("Missing required property 'artifact'"); + } + if (args?.deploymentName === undefined && !opts.urn) { + throw new Error("Missing required property 'deploymentName'"); + } + if (args?.deploymentTarget === undefined && !opts.urn) { + throw new Error("Missing required property 'deploymentTarget'"); + } + if (args?.executionMode === undefined && !opts.urn) { + throw new Error("Missing required property 'executionMode'"); + } + if (args?.namespace === undefined && !opts.urn) { + throw new Error("Missing required property 'namespace'"); + } + resourceInputs["artifact"] = args?.artifact; + resourceInputs["batchResourceSetting"] = args?.batchResourceSetting; + resourceInputs["deploymentName"] = args?.deploymentName; + resourceInputs["deploymentTarget"] = args?.deploymentTarget; + resourceInputs["description"] = args?.description; + resourceInputs["engineVersion"] = args?.engineVersion; + resourceInputs["executionMode"] = args?.executionMode; + resourceInputs["flinkConf"] = args?.flinkConf; + resourceInputs["labels"] = args?.labels; + resourceInputs["localVariables"] = args?.localVariables; + resourceInputs["logging"] = args?.logging; + resourceInputs["namespace"] = args?.namespace; + resourceInputs["resourceId"] = args?.resourceId; + resourceInputs["streamingResourceSetting"] = args?.streamingResourceSetting; + resourceInputs["deploymentId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Deployment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Deployment resources. + */ +export interface DeploymentState { + /** + * Content of the deployment job See `artifact` below. + */ + artifact?: pulumi.Input; + /** + * Batch job resource settings See `batchResourceSetting` below. + */ + batchResourceSetting?: pulumi.Input; + /** + * Resource property field representing the primary resource ID + */ + deploymentId?: pulumi.Input; + /** + * Name of the deployment + */ + deploymentName?: pulumi.Input; + /** + * Deployment target See `deploymentTarget` below. + */ + deploymentTarget?: pulumi.Input; + /** + * Description + */ + description?: pulumi.Input; + /** + * Engine version of the deployment instance + */ + engineVersion?: pulumi.Input; + /** + * Execution mode. Valid values: STREAMING or BATCH. + */ + executionMode?: pulumi.Input; + /** + * Flink configuration + */ + flinkConf?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Deployment labels + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Job variables See `localVariables` below. + */ + localVariables?: pulumi.Input[]>; + /** + * Job log configuration See `logging` below. + */ + logging?: pulumi.Input; + /** + * Namespace name + */ + namespace?: pulumi.Input; + /** + * Workspace resource ID + */ + resourceId?: pulumi.Input; + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + */ + streamingResourceSetting?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Deployment resource. + */ +export interface DeploymentArgs { + /** + * Content of the deployment job See `artifact` below. + */ + artifact: pulumi.Input; + /** + * Batch job resource settings See `batchResourceSetting` below. + */ + batchResourceSetting?: pulumi.Input; + /** + * Name of the deployment + */ + deploymentName: pulumi.Input; + /** + * Deployment target See `deploymentTarget` below. + */ + deploymentTarget: pulumi.Input; + /** + * Description + */ + description?: pulumi.Input; + /** + * Engine version of the deployment instance + */ + engineVersion?: pulumi.Input; + /** + * Execution mode. Valid values: STREAMING or BATCH. + */ + executionMode: pulumi.Input; + /** + * Flink configuration + */ + flinkConf?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Deployment labels + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Job variables See `localVariables` below. + */ + localVariables?: pulumi.Input[]>; + /** + * Job log configuration See `logging` below. + */ + logging?: pulumi.Input; + /** + * Namespace name + */ + namespace: pulumi.Input; + /** + * Workspace resource ID + */ + resourceId?: pulumi.Input; + /** + * Resource settings for streaming mode See `streamingResourceSetting` below. + */ + streamingResourceSetting?: pulumi.Input; +} diff --git a/sdk/nodejs/realtimecompute/index.ts b/sdk/nodejs/realtimecompute/index.ts index 9f9014cd40..74d4943421 100644 --- a/sdk/nodejs/realtimecompute/index.ts +++ b/sdk/nodejs/realtimecompute/index.ts @@ -5,6 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DeploymentArgs, DeploymentState } from "./deployment"; +export type Deployment = import("./deployment").Deployment; +export const Deployment: typeof import("./deployment").Deployment = null as any; +utilities.lazyLoad(exports, ["Deployment"], () => require("./deployment")); + +export { JobArgs, JobState } from "./job"; +export type Job = import("./job").Job; +export const Job: typeof import("./job").Job = null as any; +utilities.lazyLoad(exports, ["Job"], () => require("./job")); + export { VvpInstanceArgs, VvpInstanceState } from "./vvpInstance"; export type VvpInstance = import("./vvpInstance").VvpInstance; export const VvpInstance: typeof import("./vvpInstance").VvpInstance = null as any; @@ -15,6 +25,10 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "alicloud:realtimecompute/deployment:Deployment": + return new Deployment(name, undefined, { urn }) + case "alicloud:realtimecompute/job:Job": + return new Job(name, undefined, { urn }) case "alicloud:realtimecompute/vvpInstance:VvpInstance": return new VvpInstance(name, undefined, { urn }) default: @@ -22,4 +36,6 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("alicloud", "realtimecompute/deployment", _module) +pulumi.runtime.registerResourceModule("alicloud", "realtimecompute/job", _module) pulumi.runtime.registerResourceModule("alicloud", "realtimecompute/vvpInstance", _module) diff --git a/sdk/nodejs/realtimecompute/job.ts b/sdk/nodejs/realtimecompute/job.ts new file mode 100644 index 0000000000..11cd4ad693 --- /dev/null +++ b/sdk/nodejs/realtimecompute/job.ts @@ -0,0 +1,287 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Realtime Compute Job resource. + * + * For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). + * + * > **NOTE:** Available since v1.265.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.vpc.Network("default", { + * isDefault: false, + * cidrBlock: "172.16.0.0/16", + * vpcName: "example-tf-vpc-deployment", + * }); + * const defaultSwitch = new alicloud.vpc.Switch("default", { + * isDefault: false, + * vpcId: _default.id, + * zoneId: "cn-beijing-g", + * cidrBlock: "172.16.0.0/24", + * vswitchName: "example-tf-vSwitch-deployment", + * }); + * const defaultBucket = new alicloud.oss.Bucket("default", {}); + * const defaultVvpInstance = new alicloud.realtimecompute.VvpInstance("default", { + * vvpInstanceName: "code-example-tf-deployment", + * storage: { + * oss: { + * bucket: defaultBucket.id, + * }, + * }, + * vpcId: _default.id, + * vswitchIds: [defaultSwitch.id], + * resourceSpec: { + * cpu: 8, + * memoryGb: 32, + * }, + * paymentType: "PayAsYouGo", + * zoneId: defaultSwitch.zoneId, + * }); + * const createDeployment9 = new alicloud.realtimecompute.Deployment("create_Deployment9", { + * deploymentName: "tf-example-deployment-sql-56", + * engineVersion: "vvr-8.0.10-flink-1.17", + * resourceId: defaultVvpInstance.resourceId, + * executionMode: "STREAMING", + * deploymentTarget: { + * mode: "PER_JOB", + * name: "default-queue", + * }, + * namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`, + * artifact: { + * kind: "SQLSCRIPT", + * sqlArtifact: { + * sqlScript: "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + * }, + * }, + * }); + * const defaultJob = new alicloud.realtimecompute.Job("default", { + * localVariables: [{ + * value: "qq", + * name: "tt", + * }], + * restoreStrategy: { + * kind: "NONE", + * jobStartTimeInMs: 1763694521254, + * }, + * namespace: pulumi.interpolate`${defaultVvpInstance.vvpInstanceName}-default`, + * stopStrategy: "NONE", + * deploymentId: createDeployment9.deploymentId, + * resourceQueueName: "default-queue", + * status: { + * currentJobStatus: "CANCELLED", + * }, + * resourceId: defaultVvpInstance.resourceId, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Realtime Compute Job can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:realtimecompute/job:Job example :: + * ``` + */ +export class Job extends pulumi.CustomResource { + /** + * Get an existing Job 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?: JobState, opts?: pulumi.CustomResourceOptions): Job { + return new Job(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:realtimecompute/job:Job'; + + /** + * Returns true if the given object is an instance of Job. 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 Job { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Job.__pulumiType; + } + + /** + * deploymentId + */ + declare public readonly deploymentId: pulumi.Output; + /** + * The first ID of the resource + */ + declare public /*out*/ readonly jobId: pulumi.Output; + /** + * Local variables See `localVariables` below. + */ + declare public readonly localVariables: pulumi.Output; + /** + * namespace + */ + declare public readonly namespace: pulumi.Output; + /** + * workspace + */ + declare public readonly resourceId: pulumi.Output; + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly resourceQueueName: pulumi.Output; + /** + * Restore strategy See `restoreStrategy` below. + */ + declare public readonly restoreStrategy: pulumi.Output; + /** + * job status See `status` below. + */ + declare public readonly status: pulumi.Output; + declare public readonly stopStrategy: pulumi.Output; + + /** + * Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: JobArgs | JobState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as JobState | undefined; + resourceInputs["deploymentId"] = state?.deploymentId; + resourceInputs["jobId"] = state?.jobId; + resourceInputs["localVariables"] = state?.localVariables; + resourceInputs["namespace"] = state?.namespace; + resourceInputs["resourceId"] = state?.resourceId; + resourceInputs["resourceQueueName"] = state?.resourceQueueName; + resourceInputs["restoreStrategy"] = state?.restoreStrategy; + resourceInputs["status"] = state?.status; + resourceInputs["stopStrategy"] = state?.stopStrategy; + } else { + const args = argsOrState as JobArgs | undefined; + if (args?.namespace === undefined && !opts.urn) { + throw new Error("Missing required property 'namespace'"); + } + if (args?.resourceId === undefined && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["deploymentId"] = args?.deploymentId; + resourceInputs["localVariables"] = args?.localVariables; + resourceInputs["namespace"] = args?.namespace; + resourceInputs["resourceId"] = args?.resourceId; + resourceInputs["resourceQueueName"] = args?.resourceQueueName; + resourceInputs["restoreStrategy"] = args?.restoreStrategy; + resourceInputs["status"] = args?.status; + resourceInputs["stopStrategy"] = args?.stopStrategy; + resourceInputs["jobId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Job.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Job resources. + */ +export interface JobState { + /** + * deploymentId + */ + deploymentId?: pulumi.Input; + /** + * The first ID of the resource + */ + jobId?: pulumi.Input; + /** + * Local variables See `localVariables` below. + */ + localVariables?: pulumi.Input[]>; + /** + * namespace + */ + namespace?: pulumi.Input; + /** + * workspace + */ + resourceId?: pulumi.Input; + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + resourceQueueName?: pulumi.Input; + /** + * Restore strategy See `restoreStrategy` below. + */ + restoreStrategy?: pulumi.Input; + /** + * job status See `status` below. + */ + status?: pulumi.Input; + stopStrategy?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Job resource. + */ +export interface JobArgs { + /** + * deploymentId + */ + deploymentId?: pulumi.Input; + /** + * Local variables See `localVariables` below. + */ + localVariables?: pulumi.Input[]>; + /** + * namespace + */ + namespace: pulumi.Input; + /** + * workspace + */ + resourceId: pulumi.Input; + /** + * Resource Queue for Job Run + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + resourceQueueName?: pulumi.Input; + /** + * Restore strategy See `restoreStrategy` below. + */ + restoreStrategy?: pulumi.Input; + /** + * job status See `status` below. + */ + status?: pulumi.Input; + stopStrategy?: pulumi.Input; +} diff --git a/sdk/nodejs/redis/backup.ts b/sdk/nodejs/redis/backup.ts new file mode 100644 index 0000000000..ab4ad20bb7 --- /dev/null +++ b/sdk/nodejs/redis/backup.ts @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. + * + * Instance level or database level backup objects. + * + * For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). + * + * > **NOTE:** Available since v1.15.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * import * as std from "@pulumi/std"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const zoneId = config.get("zoneId") || "cn-hangzhou-h"; + * const _default = alicloud.vpc.getNetworks({ + * nameRegex: "^default-NODELETING$", + * }); + * const defaultGetSwitches = _default.then(_default => alicloud.vpc.getSwitches({ + * zoneId: zoneId, + * vpcId: _default.ids?.[0], + * })); + * const vswitch: alicloud.vpc.Switch[] = []; + * defaultGetSwitches.then(defaultGetSwitches => defaultGetSwitches.ids).length.apply(length => { + * for (const range = {value: 0}; range.value < (length > 0 ? 0 : 1); range.value++) { + * vswitch.push(new alicloud.vpc.Switch(`vswitch-${range.value}`, { + * vpcId: _default.then(_default => _default.ids?.[0]), + * cidrBlock: _default.then(_default => std.cidrsubnet({ + * input: _default.vpcs?.[0]?.cidrBlock, + * newbits: 8, + * netnum: 8, + * })).then(invoke => invoke.result), + * zoneId: zoneId, + * vswitchName: name, + * })); + * } + * }); + * const vswitchId = pulumi.all([defaultGetSwitches.then(defaultGetSwitches => defaultGetSwitches.ids).length, defaultGetSwitches, std.concat({ + * input: [ + * vswitch.map(__item => __item.id), + * [""], + * ], + * })]).apply(([length, defaultGetSwitches, invoke]) => length > 0 ? defaultGetSwitches.ids?.[0] : invoke.result?.[0]); + * const defaultInstance = new alicloud.kvstore.Instance("default", { + * port: 6379, + * paymentType: "PrePaid", + * instanceType: "Redis", + * password: "123456_tf", + * engineVersion: "5.0", + * zoneId: zoneId, + * vswitchId: vswitchId, + * period: "1", + * instanceClass: "redis.shard.small.2.ce", + * }); + * const defaultBackup = new alicloud.redis.Backup("default", { + * instanceId: defaultInstance.id, + * backupRetentionPeriod: 7, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * + * ## Import + * + * Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:redis/backup:Backup example : + * ``` + */ +export class Backup extends pulumi.CustomResource { + /** + * Get an existing Backup 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?: BackupState, opts?: pulumi.CustomResourceOptions): Backup { + return new Backup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:redis/backup:Backup'; + + /** + * Returns true if the given object is an instance of Backup. 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 Backup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Backup.__pulumiType; + } + + /** + * Backup ID. + */ + declare public /*out*/ readonly backupId: pulumi.Output; + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + declare public readonly backupRetentionPeriod: pulumi.Output; + /** + * InstanceId + */ + declare public readonly instanceId: pulumi.Output; + /** + * Backup status. + */ + declare public /*out*/ readonly status: pulumi.Output; + + /** + * Create a Backup 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: BackupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: BackupArgs | BackupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as BackupState | undefined; + resourceInputs["backupId"] = state?.backupId; + resourceInputs["backupRetentionPeriod"] = state?.backupRetentionPeriod; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["status"] = state?.status; + } else { + const args = argsOrState as BackupArgs | undefined; + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + resourceInputs["backupRetentionPeriod"] = args?.backupRetentionPeriod; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["backupId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Backup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Backup resources. + */ +export interface BackupState { + /** + * Backup ID. + */ + backupId?: pulumi.Input; + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + backupRetentionPeriod?: pulumi.Input; + /** + * InstanceId + */ + instanceId?: pulumi.Input; + /** + * Backup status. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Backup resource. + */ +export interface BackupArgs { + /** + * The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + * + * > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + */ + backupRetentionPeriod?: pulumi.Input; + /** + * InstanceId + */ + instanceId: pulumi.Input; +} diff --git a/sdk/nodejs/redis/index.ts b/sdk/nodejs/redis/index.ts index be4283b74c..a2eb7c63b7 100644 --- a/sdk/nodejs/redis/index.ts +++ b/sdk/nodejs/redis/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { BackupArgs, BackupState } from "./backup"; +export type Backup = import("./backup").Backup; +export const Backup: typeof import("./backup").Backup = null as any; +utilities.lazyLoad(exports, ["Backup"], () => require("./backup")); + export { TairInstanceArgs, TairInstanceState } from "./tairInstance"; export type TairInstance = import("./tairInstance").TairInstance; export const TairInstance: typeof import("./tairInstance").TairInstance = null as any; @@ -15,6 +20,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "alicloud:redis/backup:Backup": + return new Backup(name, undefined, { urn }) case "alicloud:redis/tairInstance:TairInstance": return new TairInstance(name, undefined, { urn }) default: @@ -22,4 +29,5 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("alicloud", "redis/backup", _module) pulumi.runtime.registerResourceModule("alicloud", "redis/tairInstance", _module) diff --git a/sdk/nodejs/resourcemanager/account.ts b/sdk/nodejs/resourcemanager/account.ts index fab15e57f6..6585406c4f 100644 --- a/sdk/nodejs/resourcemanager/account.ts +++ b/sdk/nodejs/resourcemanager/account.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Account can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/autoGroupingRule.ts b/sdk/nodejs/resourcemanager/autoGroupingRule.ts index 1071d924e6..d364cd9af9 100644 --- a/sdk/nodejs/resourcemanager/autoGroupingRule.ts +++ b/sdk/nodejs/resourcemanager/autoGroupingRule.ts @@ -62,6 +62,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Auto Grouping Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/controlPolicy.ts b/sdk/nodejs/resourcemanager/controlPolicy.ts index 5a6bf61847..f57e9e84dc 100644 --- a/sdk/nodejs/resourcemanager/controlPolicy.ts +++ b/sdk/nodejs/resourcemanager/controlPolicy.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Control Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/controlPolicyAttachment.ts b/sdk/nodejs/resourcemanager/controlPolicyAttachment.ts index d333c375d7..83baec2352 100644 --- a/sdk/nodejs/resourcemanager/controlPolicyAttachment.ts +++ b/sdk/nodejs/resourcemanager/controlPolicyAttachment.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Control Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/delegatedAdministrator.ts b/sdk/nodejs/resourcemanager/delegatedAdministrator.ts index a365d308b9..76b887db3c 100644 --- a/sdk/nodejs/resourcemanager/delegatedAdministrator.ts +++ b/sdk/nodejs/resourcemanager/delegatedAdministrator.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Delegated Administrator can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/deliveryChannel.ts b/sdk/nodejs/resourcemanager/deliveryChannel.ts index f3ebd0969e..ab7107a45c 100644 --- a/sdk/nodejs/resourcemanager/deliveryChannel.ts +++ b/sdk/nodejs/resourcemanager/deliveryChannel.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Delivery Channel can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/folder.ts b/sdk/nodejs/resourcemanager/folder.ts index 8b1b435a74..690e1ed9d3 100644 --- a/sdk/nodejs/resourcemanager/folder.ts +++ b/sdk/nodejs/resourcemanager/folder.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.resourcemanager.Folder("example", {folderName: `${name}-${_default.result}`}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Folder can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/handshake.ts b/sdk/nodejs/resourcemanager/handshake.ts index c4fb6628b3..e51b59a543 100644 --- a/sdk/nodejs/resourcemanager/handshake.ts +++ b/sdk/nodejs/resourcemanager/handshake.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Handshake can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/messageContact.ts b/sdk/nodejs/resourcemanager/messageContact.ts index 12fce405d2..478e85960f 100644 --- a/sdk/nodejs/resourcemanager/messageContact.ts +++ b/sdk/nodejs/resourcemanager/messageContact.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Message Contact can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/multiAccountDeliveryChannel.ts b/sdk/nodejs/resourcemanager/multiAccountDeliveryChannel.ts index c79e470931..07e5fd715f 100644 --- a/sdk/nodejs/resourcemanager/multiAccountDeliveryChannel.ts +++ b/sdk/nodejs/resourcemanager/multiAccountDeliveryChannel.ts @@ -63,6 +63,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/policy.ts b/sdk/nodejs/resourcemanager/policy.ts index a7248f0fea..705ef149d4 100644 --- a/sdk/nodejs/resourcemanager/policy.ts +++ b/sdk/nodejs/resourcemanager/policy.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/policyAttachment.ts b/sdk/nodejs/resourcemanager/policyAttachment.ts index 69db6a824e..caf31a745d 100644 --- a/sdk/nodejs/resourcemanager/policyAttachment.ts +++ b/sdk/nodejs/resourcemanager/policyAttachment.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/policyVersion.ts b/sdk/nodejs/resourcemanager/policyVersion.ts index 5625e3adb8..14ccaf9abd 100644 --- a/sdk/nodejs/resourcemanager/policyVersion.ts +++ b/sdk/nodejs/resourcemanager/policyVersion.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Policy Version can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/resourceDirectory.ts b/sdk/nodejs/resourcemanager/resourceDirectory.ts index c7c32e6f1e..7006acaf87 100644 --- a/sdk/nodejs/resourcemanager/resourceDirectory.ts +++ b/sdk/nodejs/resourcemanager/resourceDirectory.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Directory can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/resourceGroup.ts b/sdk/nodejs/resourcemanager/resourceGroup.ts index 85dc5438b2..a75608408e 100644 --- a/sdk/nodejs/resourcemanager/resourceGroup.ts +++ b/sdk/nodejs/resourcemanager/resourceGroup.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Group can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/resourceShare.ts b/sdk/nodejs/resourcemanager/resourceShare.ts index f704dedfd5..0abdd2a218 100644 --- a/sdk/nodejs/resourcemanager/resourceShare.ts +++ b/sdk/nodejs/resourcemanager/resourceShare.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.resourcemanager.ResourceShare("example", {resourceShareName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Resource Share can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/role.ts b/sdk/nodejs/resourcemanager/role.ts index d7d880c8bd..58f0d92361 100644 --- a/sdk/nodejs/resourcemanager/role.ts +++ b/sdk/nodejs/resourcemanager/role.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager can be imported using the id or role_name, e.g. diff --git a/sdk/nodejs/resourcemanager/savedQuery.ts b/sdk/nodejs/resourcemanager/savedQuery.ts index f58ce79ffe..da9bc5d786 100644 --- a/sdk/nodejs/resourcemanager/savedQuery.ts +++ b/sdk/nodejs/resourcemanager/savedQuery.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Saved Query can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/serviceLinkedRole.ts b/sdk/nodejs/resourcemanager/serviceLinkedRole.ts index 50d8ff26f8..fc90026dba 100644 --- a/sdk/nodejs/resourcemanager/serviceLinkedRole.ts +++ b/sdk/nodejs/resourcemanager/serviceLinkedRole.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.resourcemanager.ServiceLinkedRole("default", {serviceName: "ops.elasticsearch.aliyuncs.com"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Service Linked Role can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/sharedResource.ts b/sdk/nodejs/resourcemanager/sharedResource.ts index e794474fe6..e05dfea1c9 100644 --- a/sdk/nodejs/resourcemanager/sharedResource.ts +++ b/sdk/nodejs/resourcemanager/sharedResource.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Shared Resource can be imported using the id, e.g. diff --git a/sdk/nodejs/resourcemanager/sharedTarget.ts b/sdk/nodejs/resourcemanager/sharedTarget.ts index da4590c4a7..3cdfdbbb3e 100644 --- a/sdk/nodejs/resourcemanager/sharedTarget.ts +++ b/sdk/nodejs/resourcemanager/sharedTarget.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Resource Manager Shared Target can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/account.ts b/sdk/nodejs/rocketmq/account.ts index e8b908223b..2b73a49268 100644 --- a/sdk/nodejs/rocketmq/account.ts +++ b/sdk/nodejs/rocketmq/account.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Account can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/acl.ts b/sdk/nodejs/rocketmq/acl.ts index de6de27de7..2e4bb3494e 100644 --- a/sdk/nodejs/rocketmq/acl.ts +++ b/sdk/nodejs/rocketmq/acl.ts @@ -90,6 +90,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/clientUser.ts b/sdk/nodejs/rocketmq/clientUser.ts index aa4092ba0e..3cbdf58a72 100644 --- a/sdk/nodejs/rocketmq/clientUser.ts +++ b/sdk/nodejs/rocketmq/clientUser.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/nodejs/rocketmq/consumerGroup.ts b/sdk/nodejs/rocketmq/consumerGroup.ts index 920dc12779..e51907eaa5 100644 --- a/sdk/nodejs/rocketmq/consumerGroup.ts +++ b/sdk/nodejs/rocketmq/consumerGroup.ts @@ -88,6 +88,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Consumer Group can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/dnatEntry.ts b/sdk/nodejs/rocketmq/dnatEntry.ts index e738fa22d9..50c4d80c05 100644 --- a/sdk/nodejs/rocketmq/dnatEntry.ts +++ b/sdk/nodejs/rocketmq/dnatEntry.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/group.ts b/sdk/nodejs/rocketmq/group.ts index db64987893..ad00239ede 100644 --- a/sdk/nodejs/rocketmq/group.ts +++ b/sdk/nodejs/rocketmq/group.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS GROUP can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/instance.ts b/sdk/nodejs/rocketmq/instance.ts index 2a2a487c2e..1bacddd122 100644 --- a/sdk/nodejs/rocketmq/instance.ts +++ b/sdk/nodejs/rocketmq/instance.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS INSTANCE can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/qos.ts b/sdk/nodejs/rocketmq/qos.ts index 21b77347c4..8af1490b00 100644 --- a/sdk/nodejs/rocketmq/qos.ts +++ b/sdk/nodejs/rocketmq/qos.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.sag.Qos("default", {name: "terraform-example"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/qosCar.ts b/sdk/nodejs/rocketmq/qosCar.ts index d6dd0eb52c..a6111ac125 100644 --- a/sdk/nodejs/rocketmq/qosCar.ts +++ b/sdk/nodejs/rocketmq/qosCar.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/qosPolicy.ts b/sdk/nodejs/rocketmq/qosPolicy.ts index 7b02344130..1e5f6c16c6 100644 --- a/sdk/nodejs/rocketmq/qosPolicy.ts +++ b/sdk/nodejs/rocketmq/qosPolicy.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/rocketMQTopic.ts b/sdk/nodejs/rocketmq/rocketMQTopic.ts index b7572f8b59..5ed1cea062 100644 --- a/sdk/nodejs/rocketmq/rocketMQTopic.ts +++ b/sdk/nodejs/rocketmq/rocketMQTopic.ts @@ -82,6 +82,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * RocketMQ Topic can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/snatEntry.ts b/sdk/nodejs/rocketmq/snatEntry.ts index 70a023b250..25964a81ab 100644 --- a/sdk/nodejs/rocketmq/snatEntry.ts +++ b/sdk/nodejs/rocketmq/snatEntry.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/nodejs/rocketmq/topic.ts b/sdk/nodejs/rocketmq/topic.ts index d06a430c5f..5ee378fbda 100644 --- a/sdk/nodejs/rocketmq/topic.ts +++ b/sdk/nodejs/rocketmq/topic.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ONS TOPIC can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/changeSet.ts b/sdk/nodejs/ros/changeSet.ts index ce34bb2816..574686edce 100644 --- a/sdk/nodejs/ros/changeSet.ts +++ b/sdk/nodejs/ros/changeSet.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Change Set can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/stack.ts b/sdk/nodejs/ros/stack.ts index 5efc28158e..8eae99aaa7 100644 --- a/sdk/nodejs/ros/stack.ts +++ b/sdk/nodejs/ros/stack.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/stackGroup.ts b/sdk/nodejs/ros/stackGroup.ts index 191bafe177..3da8dcf742 100644 --- a/sdk/nodejs/ros/stackGroup.ts +++ b/sdk/nodejs/ros/stackGroup.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack Group can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/stackInstance.ts b/sdk/nodejs/ros/stackInstance.ts index b45afcaec3..022b17c9fc 100644 --- a/sdk/nodejs/ros/stackInstance.ts +++ b/sdk/nodejs/ros/stackInstance.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Stack Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/template.ts b/sdk/nodejs/ros/template.ts index 599362f008..58138b2eec 100644 --- a/sdk/nodejs/ros/template.ts +++ b/sdk/nodejs/ros/template.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Template can be imported using the id, e.g. diff --git a/sdk/nodejs/ros/templateScratch.ts b/sdk/nodejs/ros/templateScratch.ts index 80348e66de..938cc260d6 100644 --- a/sdk/nodejs/ros/templateScratch.ts +++ b/sdk/nodejs/ros/templateScratch.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ROS Template Scratch can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/application.ts b/sdk/nodejs/sae/application.ts index a649239ef2..ab2cec9d42 100644 --- a/sdk/nodejs/sae/application.ts +++ b/sdk/nodejs/sae/application.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Application can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/applicationScalingRule.ts b/sdk/nodejs/sae/applicationScalingRule.ts index a2f2665758..12ebdff9de 100644 --- a/sdk/nodejs/sae/applicationScalingRule.ts +++ b/sdk/nodejs/sae/applicationScalingRule.ts @@ -118,6 +118,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/configMap.ts b/sdk/nodejs/sae/configMap.ts index 9c4cdaae14..f976a23155 100644 --- a/sdk/nodejs/sae/configMap.ts +++ b/sdk/nodejs/sae/configMap.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Config Map can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/greyTagRoute.ts b/sdk/nodejs/sae/greyTagRoute.ts index a45769383f..76ffc3d42d 100644 --- a/sdk/nodejs/sae/greyTagRoute.ts +++ b/sdk/nodejs/sae/greyTagRoute.ts @@ -97,6 +97,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/ingress.ts b/sdk/nodejs/sae/ingress.ts index 9e0c301590..ac7fe61529 100644 --- a/sdk/nodejs/sae/ingress.ts +++ b/sdk/nodejs/sae/ingress.ts @@ -89,6 +89,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Ingress can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/loadBalancerInternet.ts b/sdk/nodejs/sae/loadBalancerInternet.ts index c57c25b900..79b257cfc3 100644 --- a/sdk/nodejs/sae/loadBalancerInternet.ts +++ b/sdk/nodejs/sae/loadBalancerInternet.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The resource can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/loadBalancerIntranet.ts b/sdk/nodejs/sae/loadBalancerIntranet.ts index 402c1eecb8..2470471a30 100644 --- a/sdk/nodejs/sae/loadBalancerIntranet.ts +++ b/sdk/nodejs/sae/loadBalancerIntranet.ts @@ -84,6 +84,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The resource can be imported using the id, e.g. diff --git a/sdk/nodejs/sae/namespace.ts b/sdk/nodejs/sae/namespace.ts index c444389604..e14ae2211a 100644 --- a/sdk/nodejs/sae/namespace.ts +++ b/sdk/nodejs/sae/namespace.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Serverless App Engine (SAE) Namespace can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/acl.ts b/sdk/nodejs/sag/acl.ts index bb8383c054..32d9b6ddae 100644 --- a/sdk/nodejs/sag/acl.ts +++ b/sdk/nodejs/sag/acl.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.sag.Acl("default", {name: "terraform-example"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/aclRule.ts b/sdk/nodejs/sag/aclRule.ts index 735e42ff5f..f206164b2e 100644 --- a/sdk/nodejs/sag/aclRule.ts +++ b/sdk/nodejs/sag/aclRule.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Acl Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/clientUser.ts b/sdk/nodejs/sag/clientUser.ts index c932e036bb..872be3eba4 100644 --- a/sdk/nodejs/sag/clientUser.ts +++ b/sdk/nodejs/sag/clientUser.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/nodejs/sag/dnatEntry.ts b/sdk/nodejs/sag/dnatEntry.ts index 8c6959d746..afbb53a239 100644 --- a/sdk/nodejs/sag/dnatEntry.ts +++ b/sdk/nodejs/sag/dnatEntry.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/qos.ts b/sdk/nodejs/sag/qos.ts index 19828dfa04..e1acb8f5b6 100644 --- a/sdk/nodejs/sag/qos.ts +++ b/sdk/nodejs/sag/qos.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.sag.Qos("default", {name: "terraform-example"}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/qosCar.ts b/sdk/nodejs/sag/qosCar.ts index 594a8c0811..5a30e493fb 100644 --- a/sdk/nodejs/sag/qosCar.ts +++ b/sdk/nodejs/sag/qosCar.ts @@ -36,6 +36,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/qosPolicy.ts b/sdk/nodejs/sag/qosPolicy.ts index 257f20775f..05ae2a3ed2 100644 --- a/sdk/nodejs/sag/qosPolicy.ts +++ b/sdk/nodejs/sag/qosPolicy.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/smartagFlowLog.ts b/sdk/nodejs/sag/smartagFlowLog.ts index 887efab9dd..c58b88ee23 100644 --- a/sdk/nodejs/sag/smartagFlowLog.ts +++ b/sdk/nodejs/sag/smartagFlowLog.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Smartag Flow Log can be imported using the id, e.g. diff --git a/sdk/nodejs/sag/snatEntry.ts b/sdk/nodejs/sag/snatEntry.ts index f8c9516352..8e0c878b77 100644 --- a/sdk/nodejs/sag/snatEntry.ts +++ b/sdk/nodejs/sag/snatEntry.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/nodejs/scdn/domain.ts b/sdk/nodejs/scdn/domain.ts index 003843195d..0389a221dc 100644 --- a/sdk/nodejs/scdn/domain.ts +++ b/sdk/nodejs/scdn/domain.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SCDN Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/scdn/domainConfig.ts b/sdk/nodejs/scdn/domainConfig.ts index 71334f1d36..f8593c38ec 100644 --- a/sdk/nodejs/scdn/domainConfig.ts +++ b/sdk/nodejs/scdn/domainConfig.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SCDN domain config can be imported using the id, e.g. diff --git a/sdk/nodejs/schedulerx/appGroup.ts b/sdk/nodejs/schedulerx/appGroup.ts index e8ffa1b3de..dcd9fba9dd 100644 --- a/sdk/nodejs/schedulerx/appGroup.ts +++ b/sdk/nodejs/schedulerx/appGroup.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx App Group can be imported using the id, e.g. @@ -103,7 +105,7 @@ export class AppGroup extends pulumi.CustomResource { /** * Application Version, 1: Basic Edition, 2: Professional Edition */ - declare public readonly appVersion: pulumi.Output; + declare public readonly appVersion: pulumi.Output; /** * Whether to delete the task in the application Group. The values are as follows: */ @@ -129,7 +131,7 @@ export class AppGroup extends pulumi.CustomResource { /** * Application Grouping Configurable Maximum Number of Tasks */ - declare public readonly maxJobs: pulumi.Output; + declare public readonly maxJobs: pulumi.Output; /** * Alarm configuration JSON field. For more information about this field, see **Request Parameters * *. */ diff --git a/sdk/nodejs/schedulerx/job.ts b/sdk/nodejs/schedulerx/job.ts index ce323ed84e..d70e9b2c33 100644 --- a/sdk/nodejs/schedulerx/job.ts +++ b/sdk/nodejs/schedulerx/job.ts @@ -111,6 +111,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx Job can be imported using the id, e.g. diff --git a/sdk/nodejs/schedulerx/namespace.ts b/sdk/nodejs/schedulerx/namespace.ts index 5e61093b28..4ec7f808fc 100644 --- a/sdk/nodejs/schedulerx/namespace.ts +++ b/sdk/nodejs/schedulerx/namespace.ts @@ -5,6 +5,30 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** + * Provides a Schedulerx Namespace resource. + * + * For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). + * + * > **NOTE:** Available since v1.173.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const config = new pulumi.Config(); + * const name = config.get("name") || "terraform-example"; + * const _default = new alicloud.schedulerx.Namespace("default", { + * namespaceName: name, + * description: name, + * }); + * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Schedulerx Namespace can be imported using the id, e.g. @@ -50,7 +74,7 @@ export class Namespace extends pulumi.CustomResource { */ declare public readonly namespaceName: pulumi.Output; /** - * Namespace uid. + * namespace uid */ declare public readonly namespaceUid: pulumi.Output; @@ -97,7 +121,7 @@ export interface NamespaceState { */ namespaceName?: pulumi.Input; /** - * Namespace uid. + * namespace uid */ namespaceUid?: pulumi.Input; } @@ -115,7 +139,7 @@ export interface NamespaceArgs { */ namespaceName: pulumi.Input; /** - * Namespace uid. + * namespace uid */ namespaceUid?: pulumi.Input; } diff --git a/sdk/nodejs/sddp/config.ts b/sdk/nodejs/sddp/config.ts index 0296ad94c2..ee5d21f01e 100644 --- a/sdk/nodejs/sddp/config.ts +++ b/sdk/nodejs/sddp/config.ts @@ -25,6 +25,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Config can be imported using the id, e.g. diff --git a/sdk/nodejs/sddp/dataLimit.ts b/sdk/nodejs/sddp/dataLimit.ts index a663b4a49f..070478f22f 100644 --- a/sdk/nodejs/sddp/dataLimit.ts +++ b/sdk/nodejs/sddp/dataLimit.ts @@ -99,6 +99,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Data Limit can be imported using the id, e.g. diff --git a/sdk/nodejs/sddp/instance.ts b/sdk/nodejs/sddp/instance.ts index 506ebcd91d..8e7add18f5 100644 --- a/sdk/nodejs/sddp/instance.ts +++ b/sdk/nodejs/sddp/instance.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/sddp/rule.ts b/sdk/nodejs/sddp/rule.ts index 5ba87c3ff3..485a55cfe7 100644 --- a/sdk/nodejs/sddp/rule.ts +++ b/sdk/nodejs/sddp/rule.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Data Security Center Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/securitycenter/group.ts b/sdk/nodejs/securitycenter/group.ts index 9b2991be5a..9aec235a71 100644 --- a/sdk/nodejs/securitycenter/group.ts +++ b/sdk/nodejs/securitycenter/group.ts @@ -24,6 +24,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.securitycenter.Group("example", {groupName: name}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Security Center Group can be imported using the id, e.g. diff --git a/sdk/nodejs/securitycenter/serviceLinkedRole.ts b/sdk/nodejs/securitycenter/serviceLinkedRole.ts index a1bf9787b7..2d49d64144 100644 --- a/sdk/nodejs/securitycenter/serviceLinkedRole.ts +++ b/sdk/nodejs/securitycenter/serviceLinkedRole.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const serviceLinkedRole = new alicloud.securitycenter.ServiceLinkedRole("service_linked_role", {}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/nodejs/selectdb/dbCluster.ts b/sdk/nodejs/selectdb/dbCluster.ts index f1603a1779..aa15d34ec9 100644 --- a/sdk/nodejs/selectdb/dbCluster.ts +++ b/sdk/nodejs/selectdb/dbCluster.ts @@ -52,6 +52,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SelectDB DBCluster can be imported using the id, e.g. diff --git a/sdk/nodejs/selectdb/dbInstance.ts b/sdk/nodejs/selectdb/dbInstance.ts index 026d154bbc..dd45b619b2 100644 --- a/sdk/nodejs/selectdb/dbInstance.ts +++ b/sdk/nodejs/selectdb/dbInstance.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SelectDB DBInstance can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/portfolio.ts b/sdk/nodejs/servicecatalog/portfolio.ts index 75c6308cab..d8284d32b5 100644 --- a/sdk/nodejs/servicecatalog/portfolio.ts +++ b/sdk/nodejs/servicecatalog/portfolio.ts @@ -27,6 +27,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Portfolio can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts b/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts index 0276439ebe..4695544dc1 100644 --- a/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts +++ b/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Principal Portfolio Association can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/product.ts b/sdk/nodejs/servicecatalog/product.ts index d3329288be..707ce36774 100644 --- a/sdk/nodejs/servicecatalog/product.ts +++ b/sdk/nodejs/servicecatalog/product.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/productPortfolioAssociation.ts b/sdk/nodejs/servicecatalog/productPortfolioAssociation.ts index 83dbda889b..96f66772a8 100644 --- a/sdk/nodejs/servicecatalog/productPortfolioAssociation.ts +++ b/sdk/nodejs/servicecatalog/productPortfolioAssociation.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product Portfolio Association can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/productVersion.ts b/sdk/nodejs/servicecatalog/productVersion.ts index 9dc12d2e3f..dc802ea419 100644 --- a/sdk/nodejs/servicecatalog/productVersion.ts +++ b/sdk/nodejs/servicecatalog/productVersion.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Product Version can be imported using the id, e.g. diff --git a/sdk/nodejs/servicecatalog/provisionedProduct.ts b/sdk/nodejs/servicecatalog/provisionedProduct.ts index 35551adb4e..177026e43b 100644 --- a/sdk/nodejs/servicecatalog/provisionedProduct.ts +++ b/sdk/nodejs/servicecatalog/provisionedProduct.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Catalog Provisioned Product can be imported using the id, e.g. diff --git a/sdk/nodejs/servicemesh/extensionProvider.ts b/sdk/nodejs/servicemesh/extensionProvider.ts index 2606f55bbb..24fe0b5728 100644 --- a/sdk/nodejs/servicemesh/extensionProvider.ts +++ b/sdk/nodejs/servicemesh/extensionProvider.ts @@ -68,6 +68,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Mesh Extension Provider can be imported using the id, e.g. diff --git a/sdk/nodejs/servicemesh/userPermission.ts b/sdk/nodejs/servicemesh/userPermission.ts index de82cb568b..ee900f2ddf 100644 --- a/sdk/nodejs/servicemesh/userPermission.ts +++ b/sdk/nodejs/servicemesh/userPermission.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Service Mesh User Permission can be imported using the id, e.g. diff --git a/sdk/nodejs/simpleapplicationserver/customImage.ts b/sdk/nodejs/simpleapplicationserver/customImage.ts index 7fa3590dfc..b920470ffd 100644 --- a/sdk/nodejs/simpleapplicationserver/customImage.ts +++ b/sdk/nodejs/simpleapplicationserver/customImage.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Custom Image can be imported using the id, e.g. diff --git a/sdk/nodejs/simpleapplicationserver/firewallRule.ts b/sdk/nodejs/simpleapplicationserver/firewallRule.ts index b230f2c907..0dc7fdff3a 100644 --- a/sdk/nodejs/simpleapplicationserver/firewallRule.ts +++ b/sdk/nodejs/simpleapplicationserver/firewallRule.ts @@ -39,6 +39,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Firewall Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/simpleapplicationserver/snapshot.ts b/sdk/nodejs/simpleapplicationserver/snapshot.ts index 42b3e4b8b9..6d224009bb 100644 --- a/sdk/nodejs/simpleapplicationserver/snapshot.ts +++ b/sdk/nodejs/simpleapplicationserver/snapshot.ts @@ -49,6 +49,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Simple Application Server Snapshot can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/acl.ts b/sdk/nodejs/slb/acl.ts index 969ffbef98..94c0f233d3 100644 --- a/sdk/nodejs/slb/acl.ts +++ b/sdk/nodejs/slb/acl.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Entry Block * * The entry mapping supports the following: diff --git a/sdk/nodejs/slb/aclEntryAttachment.ts b/sdk/nodejs/slb/aclEntryAttachment.ts index 4538e0de01..43793702ba 100644 --- a/sdk/nodejs/slb/aclEntryAttachment.ts +++ b/sdk/nodejs/slb/aclEntryAttachment.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/attachment.ts b/sdk/nodejs/slb/attachment.ts index 7681b72c87..51f87da709 100644 --- a/sdk/nodejs/slb/attachment.ts +++ b/sdk/nodejs/slb/attachment.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer attachment can be imported using the id or load balancer id, e.g. diff --git a/sdk/nodejs/slb/domainExtension.ts b/sdk/nodejs/slb/domainExtension.ts index b3836ebff2..821d46b04c 100644 --- a/sdk/nodejs/slb/domainExtension.ts +++ b/sdk/nodejs/slb/domainExtension.ts @@ -115,6 +115,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer domain_extension can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/listener.ts b/sdk/nodejs/slb/listener.ts index c1af2eef4c..7b445702ba 100644 --- a/sdk/nodejs/slb/listener.ts +++ b/sdk/nodejs/slb/listener.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/loadBalancer.ts b/sdk/nodejs/slb/loadBalancer.ts index daf17d6aa7..950ab07a43 100644 --- a/sdk/nodejs/slb/loadBalancer.ts +++ b/sdk/nodejs/slb/loadBalancer.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/masterSlaveServerGroup.ts b/sdk/nodejs/slb/masterSlaveServerGroup.ts index 7b26dea6bc..37a6597d39 100644 --- a/sdk/nodejs/slb/masterSlaveServerGroup.ts +++ b/sdk/nodejs/slb/masterSlaveServerGroup.ts @@ -126,6 +126,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer master slave server group can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/rule.ts b/sdk/nodejs/slb/rule.ts index 35966b44ce..99b213f5d0 100644 --- a/sdk/nodejs/slb/rule.ts +++ b/sdk/nodejs/slb/rule.ts @@ -114,6 +114,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load balancer forwarding rule can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/serverGroup.ts b/sdk/nodejs/slb/serverGroup.ts index 4d976cd6ae..7e2a72769e 100644 --- a/sdk/nodejs/slb/serverGroup.ts +++ b/sdk/nodejs/slb/serverGroup.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load Balancer Virtual Backend Server Group can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/serverGroupServerAttachment.ts b/sdk/nodejs/slb/serverGroupServerAttachment.ts index fd8aea65f5..5c78470798 100644 --- a/sdk/nodejs/slb/serverGroupServerAttachment.ts +++ b/sdk/nodejs/slb/serverGroupServerAttachment.ts @@ -80,6 +80,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/slb/tlsCipherPolicy.ts b/sdk/nodejs/slb/tlsCipherPolicy.ts index bbe7222dfb..1924217695 100644 --- a/sdk/nodejs/slb/tlsCipherPolicy.ts +++ b/sdk/nodejs/slb/tlsCipherPolicy.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLB Tls Cipher Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/alert.ts b/sdk/nodejs/sls/alert.ts index a8aa803437..63e29a7739 100644 --- a/sdk/nodejs/sls/alert.ts +++ b/sdk/nodejs/sls/alert.ts @@ -161,6 +161,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Alert can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/collectionPolicy.ts b/sdk/nodejs/sls/collectionPolicy.ts index 5b743d678a..16a323fc66 100644 --- a/sdk/nodejs/sls/collectionPolicy.ts +++ b/sdk/nodejs/sls/collectionPolicy.ts @@ -179,6 +179,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Collection Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/etl.ts b/sdk/nodejs/sls/etl.ts index d9d9ae86b1..6047e5e9f9 100644 --- a/sdk/nodejs/sls/etl.ts +++ b/sdk/nodejs/sls/etl.ts @@ -58,6 +58,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Etl can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/index_.ts b/sdk/nodejs/sls/index_.ts index 0b8474649c..6385a2d0ff 100644 --- a/sdk/nodejs/sls/index_.ts +++ b/sdk/nodejs/sls/index_.ts @@ -78,6 +78,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Index can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/logtailConfig.ts b/sdk/nodejs/sls/logtailConfig.ts index a4e6e6a5f1..4c94f92980 100644 --- a/sdk/nodejs/sls/logtailConfig.ts +++ b/sdk/nodejs/sls/logtailConfig.ts @@ -79,6 +79,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Logtail Config can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/machineGroup.ts b/sdk/nodejs/sls/machineGroup.ts index 2c445518cf..3192b47ba0 100644 --- a/sdk/nodejs/sls/machineGroup.ts +++ b/sdk/nodejs/sls/machineGroup.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Machine Group can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/ossExportSink.ts b/sdk/nodejs/sls/ossExportSink.ts index c83e2616eb..e44ca59332 100644 --- a/sdk/nodejs/sls/ossExportSink.ts +++ b/sdk/nodejs/sls/ossExportSink.ts @@ -90,6 +90,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Log Service (SLS) Oss Export Sink can be imported using the id, e.g. diff --git a/sdk/nodejs/sls/scheduledSql.ts b/sdk/nodejs/sls/scheduledSql.ts index d17716d75c..59eb54579d 100644 --- a/sdk/nodejs/sls/scheduledSql.ts +++ b/sdk/nodejs/sls/scheduledSql.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SLS Scheduled SQL can be imported using the id, e.g. diff --git a/sdk/nodejs/sms/shortUrl.ts b/sdk/nodejs/sms/shortUrl.ts index 8648862d82..671ccc3c31 100644 --- a/sdk/nodejs/sms/shortUrl.ts +++ b/sdk/nodejs/sms/shortUrl.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SMS Short Url can be imported using the id, e.g. diff --git a/sdk/nodejs/sslcertificatesservice/pcaCertificate.ts b/sdk/nodejs/sslcertificatesservice/pcaCertificate.ts index 0bb702839b..6b70daa502 100644 --- a/sdk/nodejs/sslcertificatesservice/pcaCertificate.ts +++ b/sdk/nodejs/sslcertificatesservice/pcaCertificate.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -79,6 +81,7 @@ export class PcaCertificate extends pulumi.CustomResource { * The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. */ declare public readonly algorithm: pulumi.Output; + declare public readonly aliasName: pulumi.Output; /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. */ @@ -100,14 +103,21 @@ export class PcaCertificate extends pulumi.CustomResource { */ declare public readonly organizationUnit: pulumi.Output; /** - * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. + * A resource property field representing the resource group. + */ + declare public readonly resourceGroupId: pulumi.Output; + /** + * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. */ declare public readonly state: pulumi.Output; /** * The status of the CA certificate. */ declare public /*out*/ readonly status: pulumi.Output; + /** + * The tag of the resource. + */ + declare public readonly tags: pulumi.Output<{[key: string]: string} | undefined>; /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. @@ -128,13 +138,16 @@ export class PcaCertificate extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as PcaCertificateState | undefined; resourceInputs["algorithm"] = state?.algorithm; + resourceInputs["aliasName"] = state?.aliasName; resourceInputs["commonName"] = state?.commonName; resourceInputs["countryCode"] = state?.countryCode; resourceInputs["locality"] = state?.locality; resourceInputs["organization"] = state?.organization; resourceInputs["organizationUnit"] = state?.organizationUnit; + resourceInputs["resourceGroupId"] = state?.resourceGroupId; resourceInputs["state"] = state?.state; resourceInputs["status"] = state?.status; + resourceInputs["tags"] = state?.tags; resourceInputs["years"] = state?.years; } else { const args = argsOrState as PcaCertificateArgs | undefined; @@ -157,12 +170,15 @@ export class PcaCertificate extends pulumi.CustomResource { throw new Error("Missing required property 'years'"); } resourceInputs["algorithm"] = args?.algorithm; + resourceInputs["aliasName"] = args?.aliasName; resourceInputs["commonName"] = args?.commonName; resourceInputs["countryCode"] = args?.countryCode; resourceInputs["locality"] = args?.locality; resourceInputs["organization"] = args?.organization; resourceInputs["organizationUnit"] = args?.organizationUnit; + resourceInputs["resourceGroupId"] = args?.resourceGroupId; resourceInputs["state"] = args?.state; + resourceInputs["tags"] = args?.tags; resourceInputs["years"] = args?.years; resourceInputs["status"] = undefined /*out*/; } @@ -187,6 +203,7 @@ export interface PcaCertificateState { * The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. */ algorithm?: pulumi.Input; + aliasName?: pulumi.Input; /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. */ @@ -208,14 +225,21 @@ export interface PcaCertificateState { */ organizationUnit?: pulumi.Input; /** - * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. + * A resource property field representing the resource group. + */ + resourceGroupId?: pulumi.Input; + /** + * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. */ state?: pulumi.Input; /** * The status of the CA certificate. */ status?: pulumi.Input; + /** + * The tag of the resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. @@ -239,6 +263,7 @@ export interface PcaCertificateArgs { * The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\_1024**, **RSA\_2048**, or **RSA\_4096**. */ algorithm?: pulumi.Input; + aliasName?: pulumi.Input; /** * The common name or abbreviation of the organization. Support the use of Chinese, English characters. */ @@ -260,10 +285,17 @@ export interface PcaCertificateArgs { */ organizationUnit: pulumi.Input; /** - * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - * Name of the province or state where the organization is located. Support the use of Chinese, English characters. + * A resource property field representing the resource group. + */ + resourceGroupId?: pulumi.Input; + /** + * The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. */ state: pulumi.Input; + /** + * The tag of the resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The validity period of the root CA certificate, in years. * > **NOTE:** It is recommended to set to `5` to `10` years. diff --git a/sdk/nodejs/starRocksInstance.ts b/sdk/nodejs/starRocksInstance.ts index f95e2de094..4158c79fd5 100644 --- a/sdk/nodejs/starRocksInstance.ts +++ b/sdk/nodejs/starRocksInstance.ts @@ -86,6 +86,8 @@ import * as utilities from "./utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/starrocks/instance.ts b/sdk/nodejs/starrocks/instance.ts index 24beb9685c..b674d5d229 100644 --- a/sdk/nodejs/starrocks/instance.ts +++ b/sdk/nodejs/starrocks/instance.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/starrocks/nodeGroup.ts b/sdk/nodejs/starrocks/nodeGroup.ts index 505690ce14..9c5f8cfb1f 100644 --- a/sdk/nodejs/starrocks/nodeGroup.ts +++ b/sdk/nodejs/starrocks/nodeGroup.ts @@ -85,6 +85,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Star Rocks Node Group can be imported using the id, e.g. diff --git a/sdk/nodejs/tag/associatedRule.ts b/sdk/nodejs/tag/associatedRule.ts index f65bfa7c92..046455d4ac 100644 --- a/sdk/nodejs/tag/associatedRule.ts +++ b/sdk/nodejs/tag/associatedRule.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TAG Associated Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/tag/metaTag.ts b/sdk/nodejs/tag/metaTag.ts index d8429281c2..1504ff4156 100644 --- a/sdk/nodejs/tag/metaTag.ts +++ b/sdk/nodejs/tag/metaTag.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tag Meta Tag can be imported using the id, e.g. diff --git a/sdk/nodejs/tag/policy.ts b/sdk/nodejs/tag/policy.ts index 4e7a727b3d..7bc3f944c6 100644 --- a/sdk/nodejs/tag/policy.ts +++ b/sdk/nodejs/tag/policy.ts @@ -29,6 +29,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TAG Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/tag/policyAttachment.ts b/sdk/nodejs/tag/policyAttachment.ts index cad40550f4..d0a933ad16 100644 --- a/sdk/nodejs/tag/policyAttachment.ts +++ b/sdk/nodejs/tag/policyAttachment.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Tag Policy Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/antiBruteForceRule.ts b/sdk/nodejs/threatdetection/antiBruteForceRule.ts index f3797e2220..6c30182719 100644 --- a/sdk/nodejs/threatdetection/antiBruteForceRule.ts +++ b/sdk/nodejs/threatdetection/antiBruteForceRule.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Anti Brute Force Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/attackPathSensitiveAssetConfig.ts b/sdk/nodejs/threatdetection/attackPathSensitiveAssetConfig.ts index 94b6a346f4..7254481fac 100644 --- a/sdk/nodejs/threatdetection/attackPathSensitiveAssetConfig.ts +++ b/sdk/nodejs/threatdetection/attackPathSensitiveAssetConfig.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }]}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/backupPolicy.ts b/sdk/nodejs/threatdetection/backupPolicy.ts index e0cc0b4d75..880f80f84f 100644 --- a/sdk/nodejs/threatdetection/backupPolicy.ts +++ b/sdk/nodejs/threatdetection/backupPolicy.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Backup Policy can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/baselineStrategy.ts b/sdk/nodejs/threatdetection/baselineStrategy.ts index 0a63626d8a..35b93fb611 100644 --- a/sdk/nodejs/threatdetection/baselineStrategy.ts +++ b/sdk/nodejs/threatdetection/baselineStrategy.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Baseline Strategy can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/checkConfig.ts b/sdk/nodejs/threatdetection/checkConfig.ts new file mode 100644 index 0000000000..bcae3536a2 --- /dev/null +++ b/sdk/nodejs/threatdetection/checkConfig.ts @@ -0,0 +1,257 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 Threat Detection Check Config resource. + * + * CSPM Risk Overview Policy Management. + * + * For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). + * + * > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = new alicloud.threatdetection.CheckConfig("default", { + * endTime: 18, + * enableAutoCheck: true, + * vendors: ["ALIYUN"], + * cycleDays: [ + * 7, + * 1, + * 2, + * ], + * enableAddCheck: true, + * startTime: 12, + * configure: "not", + * systemConfig: false, + * selectedChecks: [{ + * checkId: 370, + * sectionId: 515, + * }], + * }); + * ``` + * + * ## Import + * + * Threat Detection Check Config can be imported using the id, e.g. + * + * ```sh + * $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example + * ``` + */ +export class CheckConfig extends pulumi.CustomResource { + /** + * Get an existing CheckConfig 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?: CheckConfigState, opts?: pulumi.CustomResourceOptions): CheckConfig { + return new CheckConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'alicloud:threatdetection/checkConfig:CheckConfig'; + + /** + * Returns true if the given object is an instance of CheckConfig. 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 CheckConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CheckConfig.__pulumiType; + } + + /** + * The configuration of the check item. Valid value: + */ + declare public readonly configure: pulumi.Output; + /** + * Cycle detection time. + */ + declare public readonly cycleDays: pulumi.Output; + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + */ + declare public readonly enableAddCheck: pulumi.Output; + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + */ + declare public readonly enableAutoCheck: pulumi.Output; + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + */ + declare public readonly endTime: pulumi.Output; + /** + * The check items selected in the policy. See `selectedChecks` below. + */ + declare public readonly selectedChecks: pulumi.Output; + /** + * The start time of the check. The value specifies a point in time in a day. + */ + declare public readonly startTime: pulumi.Output; + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + */ + declare public readonly systemConfig: pulumi.Output; + declare public readonly vendors: pulumi.Output; + + /** + * Create a CheckConfig 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?: CheckConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CheckConfigArgs | CheckConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CheckConfigState | undefined; + resourceInputs["configure"] = state?.configure; + resourceInputs["cycleDays"] = state?.cycleDays; + resourceInputs["enableAddCheck"] = state?.enableAddCheck; + resourceInputs["enableAutoCheck"] = state?.enableAutoCheck; + resourceInputs["endTime"] = state?.endTime; + resourceInputs["selectedChecks"] = state?.selectedChecks; + resourceInputs["startTime"] = state?.startTime; + resourceInputs["systemConfig"] = state?.systemConfig; + resourceInputs["vendors"] = state?.vendors; + } else { + const args = argsOrState as CheckConfigArgs | undefined; + resourceInputs["configure"] = args?.configure; + resourceInputs["cycleDays"] = args?.cycleDays; + resourceInputs["enableAddCheck"] = args?.enableAddCheck; + resourceInputs["enableAutoCheck"] = args?.enableAutoCheck; + resourceInputs["endTime"] = args?.endTime; + resourceInputs["selectedChecks"] = args?.selectedChecks; + resourceInputs["startTime"] = args?.startTime; + resourceInputs["systemConfig"] = args?.systemConfig; + resourceInputs["vendors"] = args?.vendors; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CheckConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CheckConfig resources. + */ +export interface CheckConfigState { + /** + * The configuration of the check item. Valid value: + */ + configure?: pulumi.Input; + /** + * Cycle detection time. + */ + cycleDays?: pulumi.Input[]>; + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + */ + enableAddCheck?: pulumi.Input; + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + */ + enableAutoCheck?: pulumi.Input; + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + */ + endTime?: pulumi.Input; + /** + * The check items selected in the policy. See `selectedChecks` below. + */ + selectedChecks?: pulumi.Input[]>; + /** + * The start time of the check. The value specifies a point in time in a day. + */ + startTime?: pulumi.Input; + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + */ + systemConfig?: pulumi.Input; + vendors?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a CheckConfig resource. + */ +export interface CheckConfigArgs { + /** + * The configuration of the check item. Valid value: + */ + configure?: pulumi.Input; + /** + * Cycle detection time. + */ + cycleDays?: pulumi.Input[]>; + /** + * Whether to check by default when there are new check items in the selected regulation. Values available: + * - **true:** On + * - **false:** off + */ + enableAddCheck?: pulumi.Input; + /** + * Whether automatic cycle detection is enabled. Values available: + * - **true:** On + * - **false:** off + */ + enableAutoCheck?: pulumi.Input; + /** + * Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + * - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + * - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + * - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + * - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + */ + endTime?: pulumi.Input; + /** + * The check items selected in the policy. See `selectedChecks` below. + */ + selectedChecks?: pulumi.Input[]>; + /** + * The start time of the check. The value specifies a point in time in a day. + */ + startTime?: pulumi.Input; + /** + * Specifies whether to use the configuration automatically generated by the system. Valid values: + */ + systemConfig?: pulumi.Input; + vendors?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/threatdetection/clientFileProtect.ts b/sdk/nodejs/threatdetection/clientFileProtect.ts index ccb57ed8e8..bb17b5e5bb 100644 --- a/sdk/nodejs/threatdetection/clientFileProtect.ts +++ b/sdk/nodejs/threatdetection/clientFileProtect.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Client File Protect can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/clientUserDefineRule.ts b/sdk/nodejs/threatdetection/clientUserDefineRule.ts index 56c5a6d8c4..81a9fb3646 100644 --- a/sdk/nodejs/threatdetection/clientUserDefineRule.ts +++ b/sdk/nodejs/threatdetection/clientUserDefineRule.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Client User Define Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/cycleTask.ts b/sdk/nodejs/threatdetection/cycleTask.ts index f949e6aa7f..6da1293718 100644 --- a/sdk/nodejs/threatdetection/cycleTask.ts +++ b/sdk/nodejs/threatdetection/cycleTask.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Cycle Task can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/getCheckItemConfigs.ts b/sdk/nodejs/threatdetection/getCheckItemConfigs.ts new file mode 100644 index 0000000000..f589617d05 --- /dev/null +++ b/sdk/nodejs/threatdetection/getCheckItemConfigs.ts @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = alicloud.threatdetection.getCheckItemConfigs({}); + * export const alicloudThreatDetectionCheckItemConfigExampleCheckId = _default.then(_default => _default.configs?.[0]?.checkId); + * ``` + */ +export function getCheckItemConfigs(args?: GetCheckItemConfigsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", { + "ids": args.ids, + "lang": args.lang, + "outputFile": args.outputFile, + "pageNumber": args.pageNumber, + "pageSize": args.pageSize, + "taskSources": args.taskSources, + }, opts); +} + +/** + * A collection of arguments for invoking getCheckItemConfigs. + */ +export interface GetCheckItemConfigsArgs { + /** + * A list of Check Item Config IDs. + */ + ids?: string[]; + /** + * The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + */ + lang?: string; + /** + * File name where to save data source results (after running `pulumi preview`). + */ + outputFile?: string; + /** + * Current page number. + */ + pageNumber?: number; + /** + * Number of records per page. + */ + pageSize?: number; + /** + * List of task sources. + */ + taskSources?: string[]; +} + +/** + * A collection of values returned by getCheckItemConfigs. + */ +export interface GetCheckItemConfigsResult { + /** + * A list of Check Item Config Entries. Each element contains the following attributes: + */ + readonly configs: outputs.threatdetection.GetCheckItemConfigsConfig[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * A list of Check Item Config IDs. + */ + readonly ids: string[]; + readonly lang?: string; + readonly outputFile?: string; + readonly pageNumber?: number; + readonly pageSize?: number; + readonly taskSources?: string[]; +} +/** + * This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = alicloud.threatdetection.getCheckItemConfigs({}); + * export const alicloudThreatDetectionCheckItemConfigExampleCheckId = _default.then(_default => _default.configs?.[0]?.checkId); + * ``` + */ +export function getCheckItemConfigsOutput(args?: GetCheckItemConfigsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs", { + "ids": args.ids, + "lang": args.lang, + "outputFile": args.outputFile, + "pageNumber": args.pageNumber, + "pageSize": args.pageSize, + "taskSources": args.taskSources, + }, opts); +} + +/** + * A collection of arguments for invoking getCheckItemConfigs. + */ +export interface GetCheckItemConfigsOutputArgs { + /** + * A list of Check Item Config IDs. + */ + ids?: pulumi.Input[]>; + /** + * The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + */ + lang?: pulumi.Input; + /** + * File name where to save data source results (after running `pulumi preview`). + */ + outputFile?: pulumi.Input; + /** + * Current page number. + */ + pageNumber?: pulumi.Input; + /** + * Number of records per page. + */ + pageSize?: pulumi.Input; + /** + * List of task sources. + */ + taskSources?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/threatdetection/getCheckStructures.ts b/sdk/nodejs/threatdetection/getCheckStructures.ts new file mode 100644 index 0000000000..66bb5b5876 --- /dev/null +++ b/sdk/nodejs/threatdetection/getCheckStructures.ts @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = alicloud.threatdetection.getCheckStructures({}); + * export const alicloudThreatDetectionCheckStructureExampleStandardType = _default.then(_default => _default.structures?.[0]?.standardType); + * ``` + */ +export function getCheckStructures(args?: GetCheckStructuresArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("alicloud:threatdetection/getCheckStructures:getCheckStructures", { + "currentPage": args.currentPage, + "ids": args.ids, + "lang": args.lang, + "outputFile": args.outputFile, + "taskSources": args.taskSources, + }, opts); +} + +/** + * A collection of arguments for invoking getCheckStructures. + */ +export interface GetCheckStructuresArgs { + /** + * The page number. + */ + currentPage?: number; + /** + * A list of Check Structure IDs. + */ + ids?: string[]; + /** + * The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + */ + lang?: string; + /** + * File name where to save data source results (after running `pulumi preview`). + */ + outputFile?: string; + /** + * List of task sources. + */ + taskSources?: string[]; +} + +/** + * A collection of values returned by getCheckStructures. + */ +export interface GetCheckStructuresResult { + readonly currentPage?: number; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * A list of Check Structure IDs. + */ + readonly ids: string[]; + readonly lang?: string; + readonly outputFile?: string; + /** + * A list of Check Structure Entries. Each element contains the following attributes: + */ + readonly structures: outputs.threatdetection.GetCheckStructuresStructure[]; + readonly taskSources?: string[]; +} +/** + * This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + * + * > **NOTE:** Available since v1.267.0. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as alicloud from "@pulumi/alicloud"; + * + * const _default = alicloud.threatdetection.getCheckStructures({}); + * export const alicloudThreatDetectionCheckStructureExampleStandardType = _default.then(_default => _default.structures?.[0]?.standardType); + * ``` + */ +export function getCheckStructuresOutput(args?: GetCheckStructuresOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("alicloud:threatdetection/getCheckStructures:getCheckStructures", { + "currentPage": args.currentPage, + "ids": args.ids, + "lang": args.lang, + "outputFile": args.outputFile, + "taskSources": args.taskSources, + }, opts); +} + +/** + * A collection of arguments for invoking getCheckStructures. + */ +export interface GetCheckStructuresOutputArgs { + /** + * The page number. + */ + currentPage?: pulumi.Input; + /** + * A list of Check Structure IDs. + */ + ids?: pulumi.Input[]>; + /** + * The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + */ + lang?: pulumi.Input; + /** + * File name where to save data source results (after running `pulumi preview`). + */ + outputFile?: pulumi.Input; + /** + * List of task sources. + */ + taskSources?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/threatdetection/honeyPot.ts b/sdk/nodejs/threatdetection/honeyPot.ts index 676c4af86d..d00f401272 100644 --- a/sdk/nodejs/threatdetection/honeyPot.ts +++ b/sdk/nodejs/threatdetection/honeyPot.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honey Pot can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/honeypotNode.ts b/sdk/nodejs/threatdetection/honeypotNode.ts index 07c189f4da..8728ebde2c 100644 --- a/sdk/nodejs/threatdetection/honeypotNode.ts +++ b/sdk/nodejs/threatdetection/honeypotNode.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Node can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/honeypotPreset.ts b/sdk/nodejs/threatdetection/honeypotPreset.ts index 6c8b2b66c9..554a644dbf 100644 --- a/sdk/nodejs/threatdetection/honeypotPreset.ts +++ b/sdk/nodejs/threatdetection/honeypotPreset.ts @@ -43,6 +43,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Preset can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/honeypotProbe.ts b/sdk/nodejs/threatdetection/honeypotProbe.ts index 3e80905bbc..c8c965b20a 100644 --- a/sdk/nodejs/threatdetection/honeypotProbe.ts +++ b/sdk/nodejs/threatdetection/honeypotProbe.ts @@ -38,6 +38,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Honeypot Probe can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/imageEventOperation.ts b/sdk/nodejs/threatdetection/imageEventOperation.ts index cf6f06b195..2e9c138612 100644 --- a/sdk/nodejs/threatdetection/imageEventOperation.ts +++ b/sdk/nodejs/threatdetection/imageEventOperation.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Image Event Operation can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/index.ts b/sdk/nodejs/threatdetection/index.ts index 23e0e663ac..6f764b9b80 100644 --- a/sdk/nodejs/threatdetection/index.ts +++ b/sdk/nodejs/threatdetection/index.ts @@ -35,6 +35,11 @@ export type BaselineStrategy = import("./baselineStrategy").BaselineStrategy; export const BaselineStrategy: typeof import("./baselineStrategy").BaselineStrategy = null as any; utilities.lazyLoad(exports, ["BaselineStrategy"], () => require("./baselineStrategy")); +export { CheckConfigArgs, CheckConfigState } from "./checkConfig"; +export type CheckConfig = import("./checkConfig").CheckConfig; +export const CheckConfig: typeof import("./checkConfig").CheckConfig = null as any; +utilities.lazyLoad(exports, ["CheckConfig"], () => require("./checkConfig")); + export { ClientFileProtectArgs, ClientFileProtectState } from "./clientFileProtect"; export type ClientFileProtect = import("./clientFileProtect").ClientFileProtect; export const ClientFileProtect: typeof import("./clientFileProtect").ClientFileProtect = null as any; @@ -75,6 +80,16 @@ export const getBaselineStrategies: typeof import("./getBaselineStrategies").get export const getBaselineStrategiesOutput: typeof import("./getBaselineStrategies").getBaselineStrategiesOutput = null as any; utilities.lazyLoad(exports, ["getBaselineStrategies","getBaselineStrategiesOutput"], () => require("./getBaselineStrategies")); +export { GetCheckItemConfigsArgs, GetCheckItemConfigsResult, GetCheckItemConfigsOutputArgs } from "./getCheckItemConfigs"; +export const getCheckItemConfigs: typeof import("./getCheckItemConfigs").getCheckItemConfigs = null as any; +export const getCheckItemConfigsOutput: typeof import("./getCheckItemConfigs").getCheckItemConfigsOutput = null as any; +utilities.lazyLoad(exports, ["getCheckItemConfigs","getCheckItemConfigsOutput"], () => require("./getCheckItemConfigs")); + +export { GetCheckStructuresArgs, GetCheckStructuresResult, GetCheckStructuresOutputArgs } from "./getCheckStructures"; +export const getCheckStructures: typeof import("./getCheckStructures").getCheckStructures = null as any; +export const getCheckStructuresOutput: typeof import("./getCheckStructures").getCheckStructuresOutput = null as any; +utilities.lazyLoad(exports, ["getCheckStructures","getCheckStructuresOutput"], () => require("./getCheckStructures")); + export { GetHoneyPotsArgs, GetHoneyPotsResult, GetHoneyPotsOutputArgs } from "./getHoneyPots"; export const getHoneyPots: typeof import("./getHoneyPots").getHoneyPots = null as any; export const getHoneyPotsOutput: typeof import("./getHoneyPots").getHoneyPotsOutput = null as any; @@ -197,6 +212,8 @@ const _module = { return new BackupPolicy(name, undefined, { urn }) case "alicloud:threatdetection/baselineStrategy:BaselineStrategy": return new BaselineStrategy(name, undefined, { urn }) + case "alicloud:threatdetection/checkConfig:CheckConfig": + return new CheckConfig(name, undefined, { urn }) case "alicloud:threatdetection/clientFileProtect:ClientFileProtect": return new ClientFileProtect(name, undefined, { urn }) case "alicloud:threatdetection/clientUserDefineRule:ClientUserDefineRule": @@ -240,6 +257,7 @@ pulumi.runtime.registerResourceModule("alicloud", "threatdetection/assetSelectio pulumi.runtime.registerResourceModule("alicloud", "threatdetection/attackPathSensitiveAssetConfig", _module) pulumi.runtime.registerResourceModule("alicloud", "threatdetection/backupPolicy", _module) pulumi.runtime.registerResourceModule("alicloud", "threatdetection/baselineStrategy", _module) +pulumi.runtime.registerResourceModule("alicloud", "threatdetection/checkConfig", _module) pulumi.runtime.registerResourceModule("alicloud", "threatdetection/clientFileProtect", _module) pulumi.runtime.registerResourceModule("alicloud", "threatdetection/clientUserDefineRule", _module) pulumi.runtime.registerResourceModule("alicloud", "threatdetection/cycleTask", _module) diff --git a/sdk/nodejs/threatdetection/maliciousFileWhitelistConfig.ts b/sdk/nodejs/threatdetection/maliciousFileWhitelistConfig.ts index 89706625dd..696976c6ff 100644 --- a/sdk/nodejs/threatdetection/maliciousFileWhitelistConfig.ts +++ b/sdk/nodejs/threatdetection/maliciousFileWhitelistConfig.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/ossScanConfig.ts b/sdk/nodejs/threatdetection/ossScanConfig.ts index aa405003eb..3d011394dc 100644 --- a/sdk/nodejs/threatdetection/ossScanConfig.ts +++ b/sdk/nodejs/threatdetection/ossScanConfig.ts @@ -75,6 +75,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Oss Scan Config can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/sasTrail.ts b/sdk/nodejs/threatdetection/sasTrail.ts index 7a154a3449..599396419f 100644 --- a/sdk/nodejs/threatdetection/sasTrail.ts +++ b/sdk/nodejs/threatdetection/sasTrail.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * const _default = new alicloud.threatdetection.SasTrail("default", {}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Sas Trail can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/vulWhitelist.ts b/sdk/nodejs/threatdetection/vulWhitelist.ts index 8bc14b5904..1fe92d092d 100644 --- a/sdk/nodejs/threatdetection/vulWhitelist.ts +++ b/sdk/nodejs/threatdetection/vulWhitelist.ts @@ -26,6 +26,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Vul Whitelist can be imported using the id, e.g. diff --git a/sdk/nodejs/threatdetection/webLockConfig.ts b/sdk/nodejs/threatdetection/webLockConfig.ts index 4e247f5f6d..b398d4ecda 100644 --- a/sdk/nodejs/threatdetection/webLockConfig.ts +++ b/sdk/nodejs/threatdetection/webLockConfig.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Threat Detection Web Lock Config can be imported using the id, e.g. diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 6e04dcaa77..75624053f0 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -464,7 +464,10 @@ "compute/index.ts", "compute/nestServiceInstance.ts", "config/index.ts", + "config/reportTemplate.ts", "config/vars.ts", + "configaggregate/index.ts", + "configaggregate/remediation.ts", "cr/chain.ts", "cr/chartNamespace.ts", "cr/chartRepository.ts", @@ -482,6 +485,8 @@ "cr/namespace.ts", "cr/registryEnterpriseInstance.ts", "cr/repo.ts", + "cr/scanRule.ts", + "cr/storageDomainRoutingRule.ts", "cr/vpcEndpointLinkedVpc.ts", "cs/application.ts", "cs/autoscalingConfig.ts", @@ -507,6 +512,7 @@ "cs/kubernetesAddon.ts", "cs/kubernetesAutoscaler.ts", "cs/kubernetesPermission.ts", + "cs/kubernetesPolicyInstance.ts", "cs/managedKubernetes.ts", "cs/nodePool.ts", "cs/registryEnterpriseNamespace.ts", @@ -857,10 +863,12 @@ "eflo/vpdGrantRule.ts", "eflo/vsc.ts", "ehpc/cluster.ts", + "ehpc/clusterV2.ts", "ehpc/getClusters.ts", "ehpc/getJobTemplates.ts", "ehpc/index.ts", "ehpc/jobTemplate.ts", + "ehpc/queue.ts", "eipanycast/anycastEipAddress.ts", "eipanycast/anycastEipAddressAttachment.ts", "eipanycast/getAnycastEipAddresses.ts", @@ -905,6 +913,8 @@ "esa/edgeContainerApp.ts", "esa/edgeContainerAppRecord.ts", "esa/getSites.ts", + "esa/httpIncomingRequestHeaderModificationRule.ts", + "esa/httpIncomingResponseHeaderModificationRule.ts", "esa/httpRequestHeaderModificationRule.ts", "esa/httpResponseHeaderModificationRule.ts", "esa/httpsApplicationConfiguration.ts", @@ -1120,6 +1130,7 @@ "gpdb/streamingDataService.ts", "gpdb/streamingDataSource.ts", "gpdb/streamingJob.ts", + "gpdb/supabaseProject.ts", "graphdatabase/dbInstance.ts", "graphdatabase/getDbInstances.ts", "graphdatabase/index.ts", @@ -1202,6 +1213,7 @@ "kms/networkRule.ts", "kms/policy.ts", "kms/secret.ts", + "kms/valueAddedService.ts", "kvstore/account.ts", "kvstore/auditLogConfig.ts", "kvstore/backupPolicy.ts", @@ -1294,6 +1306,7 @@ "mongodb/globalSecurityIpGroup.ts", "mongodb/index.ts", "mongodb/instance.ts", + "mongodb/node.ts", "mongodb/privateSrvNetworkAddress.ts", "mongodb/publicNetworkAddress.ts", "mongodb/replicaSetRole.ts", @@ -1337,6 +1350,8 @@ "nas/index.ts", "nas/lifecyclePolicy.ts", "nas/mountTarget.ts", + "nas/protocolMountTarget.ts", + "nas/protocolService.ts", "nas/recycleBin.ts", "nas/smbAclAttachment.ts", "nas/snapshot.ts", @@ -1378,6 +1393,7 @@ "oos/serviceSetting.ts", "oos/stateConfiguration.ts", "oos/template.ts", + "openApiExplorerApiMcpServer.ts", "opensearch/appGroup.ts", "opensearch/getAppGroups.ts", "opensearch/index.ts", @@ -1458,6 +1474,7 @@ "polardb/getParameterGroups.ts", "polardb/getZones.ts", "polardb/globalDatabaseNetwork.ts", + "polardb/globalSecurityIpGroup.ts", "polardb/index.ts", "polardb/parameterGroup.ts", "polardb/primaryEndpoint.ts", @@ -1581,8 +1598,11 @@ "rds/readOnlyInstance.ts", "rds/readWriteSplittingConnection.ts", "rds/whitelistTemplate.ts", + "realtimecompute/deployment.ts", "realtimecompute/index.ts", + "realtimecompute/job.ts", "realtimecompute/vvpInstance.ts", + "redis/backup.ts", "redis/index.ts", "redis/tairInstance.ts", "resourcemanager/account.ts", @@ -1808,6 +1828,7 @@ "threatdetection/attackPathSensitiveAssetConfig.ts", "threatdetection/backupPolicy.ts", "threatdetection/baselineStrategy.ts", + "threatdetection/checkConfig.ts", "threatdetection/clientFileProtect.ts", "threatdetection/clientUserDefineRule.ts", "threatdetection/cycleTask.ts", @@ -1816,6 +1837,8 @@ "threatdetection/getAssets.ts", "threatdetection/getBackupPolicies.ts", "threatdetection/getBaselineStrategies.ts", + "threatdetection/getCheckItemConfigs.ts", + "threatdetection/getCheckStructures.ts", "threatdetection/getHoneyPots.ts", "threatdetection/getHoneypotImages.ts", "threatdetection/getHoneypotNodes.ts", diff --git a/sdk/nodejs/tsdb/instance.ts b/sdk/nodejs/tsdb/instance.ts index 29a21ee152..5712f0fe4d 100644 --- a/sdk/nodejs/tsdb/instance.ts +++ b/sdk/nodejs/tsdb/instance.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * TSDB Instance can be imported using the id, e.g. diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index b51d14749a..963b37e9e4 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -45,6 +45,136 @@ export interface MilvusInstanceVswitchId { zoneId?: pulumi.Input; } +export interface OpenApiExplorerApiMcpServerAdditionalApiDescription { + /** + * The API name, such as ListApiMcpServers. + */ + apiName?: pulumi.Input; + /** + * API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + */ + apiOverrideJson?: pulumi.Input; + /** + * API version information, typically in date format, such as 2014-05-26. + */ + apiVersion?: pulumi.Input; + /** + * Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + */ + constParameters?: pulumi.Input[]>; + /** + * By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + */ + enableOutputSchema?: pulumi.Input; + /** + * Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + */ + executeCliCommand?: pulumi.Input; + /** + * The name of the cloud product, such as Ecs. + */ + product?: pulumi.Input; +} + +export interface OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter { + /** + * Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + */ + key?: pulumi.Input; + /** + * This property does not have a description in the spec, please add it before generating code. + */ + value?: pulumi.Input; +} + +export interface OpenApiExplorerApiMcpServerApi { + /** + * API version information, typically in date format—for example, the version for ECS is 2014-05-26. + */ + apiVersion: pulumi.Input; + /** + * Product code, such as Ecs. + */ + product: pulumi.Input; + /** + * Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + */ + selectors: pulumi.Input[]>; +} + +export interface OpenApiExplorerApiMcpServerPrompt { + /** + * Parameters for the prompt. See `arguments` below. + */ + arguments?: pulumi.Input[]>; + /** + * Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + */ + content?: pulumi.Input; + /** + * Description of the prompt parameter. + */ + description?: pulumi.Input; + /** + * Name of the prompt parameter. + */ + name?: pulumi.Input; +} + +export interface OpenApiExplorerApiMcpServerPromptArgument { + /** + * Description of the API MCP service. + */ + description?: pulumi.Input; + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + */ + name?: pulumi.Input; + /** + * Indicates whether the prompt parameter is required. + */ + required?: pulumi.Input; +} + +export interface OpenApiExplorerApiMcpServerTerraformTool { + /** + * Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + */ + async?: pulumi.Input; + code?: pulumi.Input; + description?: pulumi.Input; + /** + * The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + */ + destroyPolicy?: pulumi.Input; + name?: pulumi.Input; +} + export interface ProviderAssumeRole { externalId?: pulumi.Input; /** @@ -4880,6 +5010,24 @@ export namespace compute { } export namespace config { + export interface ReportTemplateReportScope { + /** + * Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + */ + key?: pulumi.Input; + /** + * The matching logic. Currently, only In is supported. + */ + matchType?: pulumi.Input; + /** + * The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + */ + value?: pulumi.Input; + } + } export namespace cr { @@ -5002,6 +5150,21 @@ export namespace cr { */ vpc?: pulumi.Input; } + + export interface StorageDomainRoutingRuleRoute { + /** + * Endpoint Type. + */ + endpointType: pulumi.Input; + /** + * Instance domain name. + */ + instanceDomain: pulumi.Input; + /** + * Storage domain name. + */ + storageDomain: pulumi.Input; + } } export namespace cs { @@ -5736,6 +5899,13 @@ export namespace cs { rrsaOidcIssuerUrl?: pulumi.Input; } + export interface NodePoolAutoMode { + /** + * Whether to enable auto mode. Valid values: + */ + enabled?: pulumi.Input; + } + export interface NodePoolDataDisk { /** * Whether to automatically mount the data disk. Valid values: true and false. @@ -5806,6 +5976,83 @@ export namespace cs { groupId?: pulumi.Input; } + export interface NodePoolInstanceMetadataOptions { + /** + * ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + */ + httpTokens?: pulumi.Input; + } + + export interface NodePoolInstancePattern { + /** + * The number of vCPU cores of the instance type. Example value: 8. + */ + cores?: pulumi.Input; + /** + * The CPU architecture of the instance. Value range: + * - X86 + * - ARM + */ + cpuArchitectures?: pulumi.Input[]>; + /** + * Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + */ + excludedInstanceTypes?: pulumi.Input[]>; + /** + * Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + */ + instanceCategories?: pulumi.Input[]>; + /** + * Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + */ + instanceFamilyLevel: pulumi.Input; + /** + * Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + */ + instanceTypeFamilies?: pulumi.Input[]>; + /** + * The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + */ + maxCpuCores?: pulumi.Input; + /** + * The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + */ + maxMemorySize?: pulumi.Input; + /** + * The memory size of the instance type, in GiB. Example value: 8. + */ + memory?: pulumi.Input; + /** + * The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + */ + minCpuCores?: pulumi.Input; + /** + * The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + */ + minMemorySize?: pulumi.Input; + } + export interface NodePoolKubeletConfiguration { /** * Allowed sysctl mode whitelist. @@ -5919,6 +6166,10 @@ export namespace cs { * Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. */ serializeImagePulls?: pulumi.Input; + /** + * Used to enable the kubelet server certificate signing and rotation via CSR. + */ + serverTlsBootstrap?: pulumi.Input; /** * Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. */ @@ -8889,6 +9140,21 @@ export namespace ecs { ossObject?: pulumi.Input; } + export interface InstanceCpuOptions { + /** + * The maximum number of partitions in the storage set. + */ + coreCount?: pulumi.Input; + /** + * The number of threads per CPU core. + */ + threadsPerCore?: pulumi.Input; + /** + * The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + */ + topologyType?: pulumi.Input; + } + export interface InstanceDataDisk { /** * The ID of the automatic snapshot policy applied to the system disk. @@ -9553,6 +9819,51 @@ export namespace eflo { workerNum: pulumi.Input; } + export interface HyperNodeDataDisk { + /** + * Whether to enable Burst (performance Burst). + */ + burstingEnabled?: pulumi.Input; + /** + * The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + */ + category?: pulumi.Input; + /** + * Whether the data disk is unsubscribed and deleted with the node. + */ + deleteWithNode?: pulumi.Input; + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + */ + performanceLevel?: pulumi.Input; + /** + * ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + */ + provisionedIops?: pulumi.Input; + /** + * The size of the disk. The unit is GiB. + */ + size?: pulumi.Input; + } + + export interface NodeDataDisk { + /** + * Data disk type + */ + category?: pulumi.Input; + /** + * Performance level + */ + performanceLevel?: pulumi.Input; + /** + * Data disk size + */ + size?: pulumi.Input; + } + export interface NodeGroupAttachmentDataDisk { /** * Type @@ -9673,6 +9984,91 @@ export namespace eflo { vswitchId?: pulumi.Input; } + export interface NodeIpAllocationPolicy { + /** + * Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + */ + bondPolicy?: pulumi.Input; + /** + * Model Assignment Policy See `machineTypePolicy` below. + */ + machineTypePolicies?: pulumi.Input[]>; + /** + * Node allocation policy See `nodePolicy` below. + */ + nodePolicies?: pulumi.Input[]>; + } + + export interface NodeIpAllocationPolicyBondPolicy { + /** + * Default bond cluster subnet + */ + bondDefaultSubnet?: pulumi.Input; + /** + * Bond information See `bonds` below. + */ + bonds?: pulumi.Input[]>; + } + + export interface NodeIpAllocationPolicyBondPolicyBond { + /** + * Bond Name + */ + name?: pulumi.Input; + /** + * IP source cluster subnet + */ + subnet?: pulumi.Input; + } + + export interface NodeIpAllocationPolicyMachineTypePolicy { + /** + * Bond information See `bonds` below. + */ + bonds?: pulumi.Input[]>; + /** + * Model + */ + machineType?: pulumi.Input; + } + + export interface NodeIpAllocationPolicyMachineTypePolicyBond { + /** + * Bond Name + */ + name?: pulumi.Input; + /** + * IP source cluster subnet + */ + subnet?: pulumi.Input; + } + + export interface NodeIpAllocationPolicyNodePolicy { + /** + * Bond information See `bonds` below. + */ + bonds?: pulumi.Input[]>; + /** + * Host name + */ + hostname?: pulumi.Input; + /** + * Node ID + */ + nodeId?: pulumi.Input; + } + + export interface NodeIpAllocationPolicyNodePolicyBond { + /** + * Bond Name + */ + name?: pulumi.Input; + /** + * IP source cluster subnet + */ + subnet?: pulumi.Input; + } + export interface ResourceMachineTypes { /** * This property specifies the number of network bindings, which relates to the number of physical or virtual network cards connected to the network through the network interface card (NIC). Multiple network bindings can increase bandwidth and redundancy and improve network reliability. @@ -9767,57 +10163,449 @@ export namespace ehpc { */ volumeMountOption?: pulumi.Input; /** - * The mount target of the additional file system. + * The mount target of the additional file system. + */ + volumeMountpoint?: pulumi.Input; + /** + * The type of the protocol that is used by the additional file system. Valid values: `NFS`, `SMB`. Default value: `NFS` + */ + volumeProtocol?: pulumi.Input; + /** + * The type of the additional shared storage. Only NAS file systems are supported. + */ + volumeType?: pulumi.Input; + } + + export interface ClusterAdditionalVolumeRole { + /** + * The type of the nodes to which the additional file system is attached. + */ + name?: pulumi.Input; + } + + export interface ClusterApplication { + /** + * The tag of the software. + */ + tag?: pulumi.Input; + } + + export interface ClusterPostInstallScript { + /** + * The parameter that is used to run the script after the cluster is created. + */ + args?: pulumi.Input; + /** + * The URL that is used to download the script after the cluster is created. + */ + url?: pulumi.Input; + } + + export interface ClusterV2Addon { + /** + * Customize the specific configuration information of the service component. + */ + name: pulumi.Input; + /** + * Customize the resource configuration of the service component. + */ + resourcesSpec?: pulumi.Input; + /** + * Customize the service configuration of the service component. + */ + servicesSpec?: pulumi.Input; + /** + * Customize the service component version. + */ + version: pulumi.Input; + } + + export interface ClusterV2ClusterCredentials { + /** + * The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + */ + password?: pulumi.Input; + } + + export interface ClusterV2Manager { + /** + * The configurations of the domain account service. See `directoryService` below. + */ + directoryService?: pulumi.Input; + /** + * The configurations of the domain name resolution service. See `dns` below. + */ + dns?: pulumi.Input; + /** + * The hardware configurations of the management node. See `managerNode` below. + */ + managerNode?: pulumi.Input; + /** + * The configurations of the scheduler service. See `scheduler` below. + */ + scheduler?: pulumi.Input; + } + + export interface ClusterV2ManagerDirectoryService { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: pulumi.Input; + version?: pulumi.Input; + } + + export interface ClusterV2ManagerDns { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: pulumi.Input; + version?: pulumi.Input; + } + + export interface ClusterV2ManagerManagerNode { + /** + * Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + */ + autoRenew?: pulumi.Input; + /** + * The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + */ + autoRenewPeriod?: pulumi.Input; + /** + * The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + */ + duration?: pulumi.Input; + /** + * EnableHT + */ + enableHt?: pulumi.Input; + /** + * The expiration time of the management node. + */ + expiredTime?: pulumi.Input; + /** + * ImageId + */ + imageId?: pulumi.Input; + /** + * The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + */ + instanceChargeType?: pulumi.Input; + /** + * The instance ID of the management node. + */ + instanceId?: pulumi.Input; + /** + * The instance type of the management node. + */ + instanceType?: pulumi.Input; + /** + * The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + */ + period?: pulumi.Input; + /** + * The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + */ + periodUnit?: pulumi.Input; + /** + * Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + */ + spotPriceLimit?: pulumi.Input; + /** + * The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + */ + spotStrategy?: pulumi.Input; + /** + * System disk configuration of the management node. See `systemDisk` below. + */ + systemDisk?: pulumi.Input; + } + + export interface ClusterV2ManagerManagerNodeSystemDisk { + /** + * Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + */ + category?: pulumi.Input; + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + */ + level?: pulumi.Input; + /** + * The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + */ + size?: pulumi.Input; + } + + export interface ClusterV2ManagerScheduler { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: pulumi.Input; + version?: pulumi.Input; + } + + export interface ClusterV2SharedStorage { + /** + * The ID of the mounted file system. + */ + fileSystemId?: pulumi.Input; + /** + * The local Mount directory where the file system is mounted. + */ + mountDirectory?: pulumi.Input; + /** + * Storage mount options for the mounted file system. + */ + mountOptions?: pulumi.Input; + /** + * The mount point address of the mounted file system. + */ + mountTargetDomain?: pulumi.Input; + /** + * The remote directory to which the mounted file system needs to be mounted. + */ + nasDirectory?: pulumi.Input; + /** + * The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + */ + protocolType?: pulumi.Input; + } + + export interface QueueComputeNode { + /** + * AutoRenew + */ + autoRenew?: pulumi.Input; + /** + * AutoRenewPeriod + */ + autoRenewPeriod?: pulumi.Input; + /** + * Duration + */ + duration?: pulumi.Input; + /** + * Whether HT is enabled for the computing node. + */ + enableHt?: pulumi.Input; + /** + * ImageId + */ + imageId?: pulumi.Input; + /** + * InstanceChargeType + */ + instanceChargeType?: pulumi.Input; + /** + * InstanceTypes + */ + instanceType?: pulumi.Input; + /** + * Period + */ + period?: pulumi.Input; + /** + * PeriodUnit + */ + periodUnit?: pulumi.Input; + /** + * SpotPriceLimit + */ + spotPriceLimit?: pulumi.Input; + /** + * SpotStrategy + */ + spotStrategy?: pulumi.Input; + /** + * SystemDisk See `systemDisk` below. + */ + systemDisk?: pulumi.Input; + } + + export interface QueueComputeNodeSystemDisk { + /** + * Category + */ + category?: pulumi.Input; + /** + * Level + */ + level?: pulumi.Input; + /** + * Size + */ + size?: pulumi.Input; + } +} + +export namespace eipanycast { + export interface AnycastEipAddressAttachmentPopLocation { + /** + * The access point information of the associated access area when the cloud resource instance is bound.If you are binding for the first time, this parameter does not need to be configured, and the system automatically associates all access areas. + */ + popLocation?: pulumi.Input; + } + +} + +export namespace elasticsearch { + export interface InstanceClientNodeConfiguration { + /** + * Number of disks in the Elasticsearch cluster coordination node + */ + amount?: pulumi.Input; + /** + * Elasticsearch cluster coordinates node disk size + */ + disk?: pulumi.Input; + /** + * Elasticsearch cluster coordination node disk type + */ + diskType?: pulumi.Input; + /** + * Elasticsearch cluster coordination node specification + */ + spec?: pulumi.Input; + } + + export interface InstanceDataNodeConfiguration { + /** + * Number of data nodes in the Elasticsearch cluster + */ + amount?: pulumi.Input; + /** + * Elasticsearch data node disk size + */ + disk?: pulumi.Input; + /** + * Whether the Elasticsearch data node disk is encrypted + */ + diskEncryption?: pulumi.Input; + /** + * Elasticsearch cluster data node disk type + */ + diskType?: pulumi.Input; + /** + * Elasticsearch cluster data node Essd disk level + */ + performanceLevel?: pulumi.Input; + /** + * Elasticsearch data node specification + */ + spec: pulumi.Input; + } + + export interface InstanceKibanaConfiguration { + /** + * The number of disks of the Elasticsearch Kibana node. The default value is 1. + */ + amount?: pulumi.Input; + /** + * Elasticsearch Kibana node disk size + */ + disk?: pulumi.Input; + /** + * Elasticsearch Kibana node disk specifications + */ + spec: pulumi.Input; + } + + export interface InstanceMasterConfiguration { + /** + * Elasticsearch proprietary master node number of disks + */ + amount?: pulumi.Input; + /** + * Elasticsearch proprietary master node disk size */ - volumeMountpoint?: pulumi.Input; + disk?: pulumi.Input; /** - * The type of the protocol that is used by the additional file system. Valid values: `NFS`, `SMB`. Default value: `NFS` + * Elasticsearch proprietary master node disk type */ - volumeProtocol?: pulumi.Input; + diskType?: pulumi.Input; /** - * The type of the additional shared storage. Only NAS file systems are supported. + * Elasticsearch proprietary master node specifications */ - volumeType?: pulumi.Input; + spec?: pulumi.Input; } - export interface ClusterAdditionalVolumeRole { + export interface InstanceWarmNodeConfiguration { /** - * The type of the nodes to which the additional file system is attached. + * Elasticsearch cluster cold data node disk number */ - name?: pulumi.Input; - } - - export interface ClusterApplication { + amount?: pulumi.Input; /** - * The tag of the software. + * Elasticsearch cluster cold data node disk size */ - tag?: pulumi.Input; - } - - export interface ClusterPostInstallScript { + disk?: pulumi.Input; /** - * The parameter that is used to run the script after the cluster is created. + * Elasticsearch cluster cold data node Disk encryption */ - args?: pulumi.Input; + diskEncryption?: pulumi.Input; /** - * The URL that is used to download the script after the cluster is created. + * Elasticsearch cluster cold data node disk type */ - url?: pulumi.Input; - } - -} - -export namespace eipanycast { - export interface AnycastEipAddressAttachmentPopLocation { + diskType?: pulumi.Input; /** - * The access point information of the associated access area when the cloud resource instance is bound.If you are binding for the first time, this parameter does not need to be configured, and the system automatically associates all access areas. + * Elasticsearch cluster cold data node Disk Specification */ - popLocation?: pulumi.Input; + spec?: pulumi.Input; } - -} - -export namespace elasticsearch { } export namespace emr { @@ -10730,6 +11518,44 @@ export namespace ens { } export namespace esa { + export interface HttpIncomingRequestHeaderModificationRuleRequestHeaderModification { + /** + * Request Header Name. + */ + name: pulumi.Input; + /** + * Mode of operation. Value range: + */ + operation: pulumi.Input; + /** + * Value type. Value range: + */ + type?: pulumi.Input; + /** + * Request header value + */ + value?: pulumi.Input; + } + + export interface HttpIncomingResponseHeaderModificationRuleResponseHeaderModification { + /** + * The response header name. + */ + name: pulumi.Input; + /** + * Operation method. Possible values: + */ + operation: pulumi.Input; + /** + * The value type. Value range: + */ + type?: pulumi.Input; + /** + * The response header value. + */ + value?: pulumi.Input; + } + export interface HttpRequestHeaderModificationRuleRequestHeaderModification { /** * Request Header Name. @@ -11209,7 +12035,14 @@ export namespace esa { */ rateLimit?: pulumi.Input; /** - * The overall security protection level of WAF. See `securityLevel` below. + * The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. */ securityLevel?: pulumi.Input; /** @@ -14458,6 +15291,19 @@ export namespace lindorm { connectAddressLists?: pulumi.Input[]>; /** * Engine + * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine */ engineType: pulumi.Input; /** @@ -14524,6 +15370,41 @@ export namespace lindorm { nodeDiskType?: pulumi.Input; /** * Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) */ nodeSpec: pulumi.Input; /** @@ -14539,6 +15420,17 @@ export namespace lindorm { */ status?: pulumi.Input; } + + export interface InstanceV2WhiteIpList { + /** + * Group Name + */ + groupName: pulumi.Input; + /** + * Whitelist information + */ + ipList: pulumi.Input; + } } export namespace log { @@ -16030,6 +16922,29 @@ export namespace oss { maxAgeSeconds?: pulumi.Input; } + export interface BucketHttpsConfigCipherSuit { + /** + * This field is used to configure custom encryption algorithm suites for TLS 1.2. + */ + customCipherSuites?: pulumi.Input[]>; + /** + * Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + */ + enable?: pulumi.Input; + /** + * Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + */ + strongCipherSuite?: pulumi.Input; + /** + * Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + */ + tls13CustomCipherSuites?: pulumi.Input[]>; + } + export interface BucketLifecycleRule { /** * Specifies the number of days after initiating a multipart upload when the multipart upload must be completed. See `abortMultipartUpload` below. @@ -17743,6 +18658,295 @@ export namespace rds { } export namespace realtimecompute { + export interface DeploymentArtifact { + /** + * JarArtifact See `jarArtifact` below. + */ + jarArtifact?: pulumi.Input; + /** + * Artifact type + */ + kind: pulumi.Input; + /** + * PythonArtifact See `pythonArtifact` below. + */ + pythonArtifact?: pulumi.Input; + /** + * SqlArtifact See `sqlArtifact` below. + */ + sqlArtifact?: pulumi.Input; + } + + export interface DeploymentArtifactJarArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: pulumi.Input[]>; + /** + * Main class; you must specify the fully qualified class name + */ + entryClass?: pulumi.Input; + /** + * Full URL path of the JAR job + */ + jarUri?: pulumi.Input; + /** + * Startup arguments + */ + mainArgs?: pulumi.Input; + } + + export interface DeploymentArtifactPythonArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: pulumi.Input[]>; + /** + * URL paths of dependent Python archive files + */ + additionalPythonArchives?: pulumi.Input[]>; + /** + * URL paths of dependent Python library files + */ + additionalPythonLibraries?: pulumi.Input[]>; + /** + * Entry module for Python + */ + entryModule?: pulumi.Input; + /** + * Startup arguments + */ + mainArgs?: pulumi.Input; + /** + * Full URL path of the Python job + */ + pythonArtifactUri?: pulumi.Input; + } + + export interface DeploymentArtifactSqlArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: pulumi.Input[]>; + /** + * Text content of the SQL job + */ + sqlScript?: pulumi.Input; + } + + export interface DeploymentBatchResourceSetting { + /** + * Resource settings for basic mode See `basicResourceSetting` below. + */ + basicResourceSetting?: pulumi.Input; + /** + * Maximum number of slots + */ + maxSlot?: pulumi.Input; + } + + export interface DeploymentBatchResourceSettingBasicResourceSetting { + jobmanagerResourceSettingSpec?: pulumi.Input; + parallelism?: pulumi.Input; + taskmanagerResourceSettingSpec?: pulumi.Input; + } + + export interface DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + cpu?: pulumi.Input; + memory?: pulumi.Input; + } + + export interface DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + cpu?: pulumi.Input; + memory?: pulumi.Input; + } + + export interface DeploymentDeploymentTarget { + /** + * Deployment mode, valid values: PER_JOB or SESSION + */ + mode: pulumi.Input; + /** + * Deployment target name + */ + name: pulumi.Input; + } + + export interface DeploymentLocalVariable { + /** + * Job variable name + */ + name?: pulumi.Input; + /** + * Job variable value + */ + value?: pulumi.Input; + } + + export interface DeploymentLogging { + /** + * Custom log template + */ + log4j2ConfigurationTemplate?: pulumi.Input; + /** + * log4j configuration See `log4jLoggers` below. + */ + log4jLoggers?: pulumi.Input[]>; + /** + * Log retention policy See `logReservePolicy` below. + */ + logReservePolicy?: pulumi.Input; + /** + * Default system log template + */ + loggingProfile?: pulumi.Input; + } + + export interface DeploymentLoggingLog4jLogger { + /** + * Log output level + */ + loggerLevel?: pulumi.Input; + /** + * Class name for log output + */ + loggerName?: pulumi.Input; + } + + export interface DeploymentLoggingLogReservePolicy { + /** + * Number of days to retain logs after log retention is enabled + */ + expirationDays?: pulumi.Input; + /** + * Whether to enable log retention + */ + openHistory?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSetting { + /** + * Resource settings for basic mode See `basicResourceSetting` below. + */ + basicResourceSetting?: pulumi.Input; + /** + * Expert mode resource settings See `expertResourceSetting` below. + */ + expertResourceSetting?: pulumi.Input; + /** + * Resource mode used in streaming mode, valid values: BASIC or EXPERT + */ + resourceSettingMode?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSetting { + jobmanagerResourceSettingSpec?: pulumi.Input; + parallelism?: pulumi.Input; + taskmanagerResourceSettingSpec?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + cpu?: pulumi.Input; + memory?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + cpu?: pulumi.Input; + memory?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSettingExpertResourceSetting { + jobmanagerResourceSettingSpec?: pulumi.Input; + /** + * Resource plan for expert mode + */ + resourcePlan?: pulumi.Input; + } + + export interface DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + cpu?: pulumi.Input; + memory?: pulumi.Input; + } + + export interface JobLocalVariable { + /** + * Local variables name + */ + name?: pulumi.Input; + /** + * Local variables value + */ + value?: pulumi.Input; + } + + export interface JobRestoreStrategy { + /** + * Stateless startup + */ + allowNonRestoredState?: pulumi.Input; + /** + * Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + */ + jobStartTimeInMs?: pulumi.Input; + /** + * Restore type + */ + kind?: pulumi.Input; + /** + * SavepointId + */ + savepointId?: pulumi.Input; + } + + export interface JobStatus { + /** + * Job current status + */ + currentJobStatus?: pulumi.Input; + /** + * Job failure information + */ + failure?: pulumi.Input; + /** + * Job Run Health Score + */ + healthScore?: pulumi.Input; + /** + * Risk level, which indicates the risk level of the operation status of the job. + */ + riskLevel?: pulumi.Input; + /** + * job running status, which has value when the job is Running. + */ + running?: pulumi.Input; + } + + export interface JobStatusFailure { + /** + * Job failure time + */ + failedAt?: pulumi.Input; + /** + * Failure Information Details + */ + message?: pulumi.Input; + /** + * Failure Reason + */ + reason?: pulumi.Input; + } + + export interface JobStatusRunning { + /** + * Number of job restarts + */ + observedFlinkJobRestarts?: pulumi.Input; + /** + * Flink job status + */ + observedFlinkJobStatus?: pulumi.Input; + } + export interface VvpInstanceResourceSpec { /** * CPU number. @@ -20513,6 +21717,17 @@ export namespace threatdetection { vendor: pulumi.Input; } + export interface CheckConfigSelectedCheck { + /** + * The ID of the check item. + */ + checkId?: pulumi.Input; + /** + * The section ID of the check item. + */ + sectionId?: pulumi.Input; + } + export interface HoneypotPresetMeta { /** * Burp counter. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a80e7f44d4..28db923404 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -217,6 +217,136 @@ export interface MilvusInstanceVswitchId { zoneId?: string; } +export interface OpenApiExplorerApiMcpServerAdditionalApiDescription { + /** + * The API name, such as ListApiMcpServers. + */ + apiName?: string; + /** + * API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + * + * > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + */ + apiOverrideJson?: string; + /** + * API version information, typically in date format, such as 2014-05-26. + */ + apiVersion?: string; + /** + * Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + * Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `constParameters` below. + */ + constParameters?: outputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter[]; + /** + * By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + * + * > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + */ + enableOutputSchema?: boolean; + /** + * Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + * - SSE protocol: up to 30 minutes + * - Streamable HTTP protocol: up to 1 minute + * + * For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + * + * > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + */ + executeCliCommand?: boolean; + /** + * The name of the cloud product, such as Ecs. + */ + product?: string; +} + +export interface OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter { + /** + * Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + * + * For RPC-style APIs, examples include: + * - Name: sets the Name parameter to a fixed value. + * + * For ROA-style APIs, examples include: + * - Name: sets a query or path parameter named Name to a fixed value; + * - body.Name: sets the Name field within the request body to a fixed value. + * + * Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + * + * > **NOTE:** xMcpRegionId is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + */ + key?: string; + /** + * This property does not have a description in the spec, please add it before generating code. + */ + value?: string; +} + +export interface OpenApiExplorerApiMcpServerApi { + /** + * API version information, typically in date format—for example, the version for ECS is 2014-05-26. + */ + apiVersion: string; + /** + * Product code, such as Ecs. + */ + product: string; + /** + * Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + */ + selectors: string[]; +} + +export interface OpenApiExplorerApiMcpServerPrompt { + /** + * Parameters for the prompt. See `arguments` below. + */ + arguments?: outputs.OpenApiExplorerApiMcpServerPromptArgument[]; + /** + * Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + */ + content?: string; + /** + * Description of the prompt parameter. + */ + description?: string; + /** + * Name of the prompt parameter. + */ + name?: string; +} + +export interface OpenApiExplorerApiMcpServerPromptArgument { + /** + * Description of the API MCP service. + */ + description?: string; + /** + * Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + */ + name?: string; + /** + * Indicates whether the prompt parameter is required. + */ + required?: boolean; +} + +export interface OpenApiExplorerApiMcpServerTerraformTool { + /** + * Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + */ + async?: boolean; + code?: string; + description?: string; + /** + * The cleanup policy applied to temporary resources after task completion, based on the task execution status: + * - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + * - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + * - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + */ + destroyPolicy?: string; + name?: string; +} + export interface StarRocksInstanceBackendNodeGroup { /** * Number of CUs. CU (Compute Unit) is the basic measurement unit of the service, where 1 CU = 1 CPU core + 4 GiB memory. @@ -15025,6 +15155,24 @@ export namespace config { wafOpenapi?: string; } + export interface ReportTemplateReportScope { + /** + * Key for reporting scope, currently supported: + * - AggregatorId + * - CompliancePackId + * - RuleId + */ + key?: string; + /** + * The matching logic. Currently, only In is supported. + */ + matchType?: string; + /** + * The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + */ + value?: string; + } + export interface SignVersion { oss?: string; sls?: string; @@ -15483,6 +15631,21 @@ export namespace cr { vpc: string; } + export interface StorageDomainRoutingRuleRoute { + /** + * Endpoint Type. + */ + endpointType: string; + /** + * Instance domain name. + */ + instanceDomain: string; + /** + * Storage domain name. + */ + storageDomain: string; + } + } export namespace cs { @@ -17551,6 +17714,13 @@ export namespace cs { rrsaOidcIssuerUrl: string; } + export interface NodePoolAutoMode { + /** + * Whether to enable auto mode. Valid values: + */ + enabled?: boolean; + } + export interface NodePoolDataDisk { /** * Whether to automatically mount the data disk. Valid values: true and false. @@ -17621,6 +17791,83 @@ export namespace cs { groupId?: string; } + export interface NodePoolInstanceMetadataOptions { + /** + * ECS instance metadata access mode configuration. Value range: + * + * - 'optional': Compatible with both normal mode and reinforced mode. + * - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + * + * Default value: 'optional '. + * + * This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + */ + httpTokens?: string; + } + + export interface NodePoolInstancePattern { + /** + * The number of vCPU cores of the instance type. Example value: 8. + */ + cores?: number; + /** + * The CPU architecture of the instance. Value range: + * - X86 + * - ARM + */ + cpuArchitectures?: string[]; + /** + * Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + * - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + * - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + */ + excludedInstanceTypes?: string[]; + /** + * Instance classification. Value range: + * - General-purpose: Universal. + * - Compute-optimized: Compute type. + * - Memory-optimized: Memory type. + * - Big data: Big data type. + * - Local SSDs: Local SSD type. + * - High Clock Speed: High frequency type. + * - Enhanced: Enhanced. + * - Shared: Shared. + * - ECS Bare Metal: elastic Bare Metal server. + * - High Performance Compute: High Performance Compute. + */ + instanceCategories?: string[]; + /** + * Instance specification family level, value range: + * - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + * - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + */ + instanceFamilyLevel: string; + /** + * Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + */ + instanceTypeFamilies?: string[]; + /** + * The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + */ + maxCpuCores?: number; + /** + * The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + */ + maxMemorySize?: number; + /** + * The memory size of the instance type, in GiB. Example value: 8. + */ + memory?: number; + /** + * The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + */ + minCpuCores?: number; + /** + * The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + */ + minMemorySize?: number; + } + export interface NodePoolKubeletConfiguration { /** * Allowed sysctl mode whitelist. @@ -17734,6 +17981,10 @@ export namespace cs { * Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. */ serializeImagePulls?: string; + /** + * Used to enable the kubelet server certificate signing and rotation via CSR. + */ + serverTlsBootstrap?: boolean; /** * Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. */ @@ -27838,6 +28089,21 @@ export namespace ecs { ossObject?: string; } + export interface InstanceCpuOptions { + /** + * The maximum number of partitions in the storage set. + */ + coreCount: number; + /** + * The number of threads per CPU core. + */ + threadsPerCore: number; + /** + * The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + */ + topologyType: string; + } + export interface InstanceDataDisk { /** * The ID of the automatic snapshot policy applied to the system disk. @@ -29966,6 +30232,51 @@ export namespace eflo { vpdName: string; } + export interface HyperNodeDataDisk { + /** + * Whether to enable Burst (performance Burst). + */ + burstingEnabled?: boolean; + /** + * The disk type. Value range: + * - cloud_essd:ESSD cloud disk. + */ + category?: string; + /** + * Whether the data disk is unsubscribed and deleted with the node. + */ + deleteWithNode?: boolean; + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1: maximum random read/write IOPS 50000 for a single disk. + */ + performanceLevel?: string; + /** + * ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + */ + provisionedIops?: number; + /** + * The size of the disk. The unit is GiB. + */ + size?: number; + } + + export interface NodeDataDisk { + /** + * Data disk type + */ + category?: string; + /** + * Performance level + */ + performanceLevel?: string; + /** + * Data disk size + */ + size?: number; + } + export interface NodeGroupAttachmentDataDisk { /** * Type @@ -30086,6 +30397,91 @@ export namespace eflo { vswitchId?: string; } + export interface NodeIpAllocationPolicy { + /** + * Specify the cluster subnet ID based on the bond name See `bondPolicy` below. + */ + bondPolicy?: outputs.eflo.NodeIpAllocationPolicyBondPolicy; + /** + * Model Assignment Policy See `machineTypePolicy` below. + */ + machineTypePolicies?: outputs.eflo.NodeIpAllocationPolicyMachineTypePolicy[]; + /** + * Node allocation policy See `nodePolicy` below. + */ + nodePolicies?: outputs.eflo.NodeIpAllocationPolicyNodePolicy[]; + } + + export interface NodeIpAllocationPolicyBondPolicy { + /** + * Default bond cluster subnet + */ + bondDefaultSubnet?: string; + /** + * Bond information See `bonds` below. + */ + bonds?: outputs.eflo.NodeIpAllocationPolicyBondPolicyBond[]; + } + + export interface NodeIpAllocationPolicyBondPolicyBond { + /** + * Bond Name + */ + name?: string; + /** + * IP source cluster subnet + */ + subnet?: string; + } + + export interface NodeIpAllocationPolicyMachineTypePolicy { + /** + * Bond information See `bonds` below. + */ + bonds?: outputs.eflo.NodeIpAllocationPolicyMachineTypePolicyBond[]; + /** + * Model + */ + machineType?: string; + } + + export interface NodeIpAllocationPolicyMachineTypePolicyBond { + /** + * Bond Name + */ + name?: string; + /** + * IP source cluster subnet + */ + subnet?: string; + } + + export interface NodeIpAllocationPolicyNodePolicy { + /** + * Bond information See `bonds` below. + */ + bonds?: outputs.eflo.NodeIpAllocationPolicyNodePolicyBond[]; + /** + * Host name + */ + hostname?: string; + /** + * Node ID + */ + nodeId?: string; + } + + export interface NodeIpAllocationPolicyNodePolicyBond { + /** + * Bond Name + */ + name?: string; + /** + * IP source cluster subnet + */ + subnet?: string; + } + export interface ResourceMachineTypes { /** * This property specifies the number of network bindings, which relates to the number of physical or virtual network cards connected to the network through the network interface card (NIC). Multiple network bindings can increase bandwidth and redundancy and improve network reliability. @@ -30219,6 +30615,231 @@ export namespace ehpc { url?: string; } + export interface ClusterV2Addon { + /** + * Customize the specific configuration information of the service component. + */ + name: string; + /** + * Customize the resource configuration of the service component. + */ + resourcesSpec?: string; + /** + * Customize the service configuration of the service component. + */ + servicesSpec?: string; + /** + * Customize the service component version. + */ + version: string; + } + + export interface ClusterV2ClusterCredentials { + /** + * The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + */ + password?: string; + } + + export interface ClusterV2Manager { + /** + * The configurations of the domain account service. See `directoryService` below. + */ + directoryService?: outputs.ehpc.ClusterV2ManagerDirectoryService; + /** + * The configurations of the domain name resolution service. See `dns` below. + */ + dns?: outputs.ehpc.ClusterV2ManagerDns; + /** + * The hardware configurations of the management node. See `managerNode` below. + */ + managerNode?: outputs.ehpc.ClusterV2ManagerManagerNode; + /** + * The configurations of the scheduler service. See `scheduler` below. + */ + scheduler?: outputs.ehpc.ClusterV2ManagerScheduler; + } + + export interface ClusterV2ManagerDirectoryService { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: string; + version?: string; + } + + export interface ClusterV2ManagerDns { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: string; + version?: string; + } + + export interface ClusterV2ManagerManagerNode { + /** + * Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + * - true: Automatic renewal. + * - false: Do not renew automatically (default). + */ + autoRenew?: boolean; + /** + * The renewal duration of a single automatic renewal. Value range: + * - When PeriodUnit = Week: 1, 2, 3. + * - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + * + * Default value: 1. + */ + autoRenewPeriod?: number; + /** + * The duration of the preemptible instance, in hours. Value: + * - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + * - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + * + * Default value: 1. + */ + duration: number; + /** + * EnableHT + */ + enableHt?: boolean; + /** + * The expiration time of the management node. + */ + expiredTime: string; + /** + * ImageId + */ + imageId?: string; + /** + * The instance billing method of the management node. Valid values: + * + * - PostPaid: pay-as-you-go + * - PrePaid: subscription + */ + instanceChargeType?: string; + /** + * The instance ID of the management node. + */ + instanceId: string; + /** + * The instance type of the management node. + */ + instanceType?: string; + /** + * The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + * - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + * - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + */ + period?: number; + /** + * The unit of duration of the year-to-month billing method. Value range: + * - Week. + * - Month (default). + */ + periodUnit?: string; + /** + * Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + */ + spotPriceLimit?: number; + /** + * The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + * - NoSpot: normal pay-as-you-go instances (default). + * - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + * - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + */ + spotStrategy?: string; + /** + * System disk configuration of the management node. See `systemDisk` below. + */ + systemDisk?: outputs.ehpc.ClusterV2ManagerManagerNodeSystemDisk; + } + + export interface ClusterV2ManagerManagerNodeSystemDisk { + /** + * Manage the system disk configuration of the node. Value range: + * - cloud_efficiency: The Ultra cloud disk. + * - cloud_ssd:SSD cloud disk. + * - cloud_essd:ESSD cloud disk. + * - cloud: ordinary cloud disk. + */ + category?: string; + /** + * When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + * - PL0: maximum random read/write IOPS 10000 for a single disk. + * - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + * - PL2: maximum random read/write IOPS 100000 for a single disk. + * - PL3: maximum random read/write IOPS 1 million for a single disk. + */ + level?: string; + /** + * The system disk size of the management node. Unit: GiB. Value range: + * - Ordinary cloud tray: 20~500. + * - ESSD cloud disk: + * - PL0:1~2048. + * - PL1:20~2048. + * - PL2:461~2048. + * - PL3:1261~2048. + * - Other cloud disk types: 20~2048. + */ + size?: number; + } + + export interface ClusterV2ManagerScheduler { + /** + * The scheduler type. Valid values: + * + * - SLURM + * - PBS + * - OPENGRIDSCHEDULER + * - LSF_PLUGIN + * - PBS_PLUGIN + */ + type?: string; + version?: string; + } + + export interface ClusterV2SharedStorage { + /** + * The ID of the mounted file system. + */ + fileSystemId?: string; + /** + * The local Mount directory where the file system is mounted. + */ + mountDirectory?: string; + /** + * Storage mount options for the mounted file system. + */ + mountOptions?: string; + /** + * The mount point address of the mounted file system. + */ + mountTargetDomain?: string; + /** + * The remote directory to which the mounted file system needs to be mounted. + */ + nasDirectory?: string; + /** + * The protocol type of the mounted file system. Value range: + * - NFS + * - SMB + */ + protocolType?: string; + } + export interface GetClustersCluster { /** * The server type of the account. @@ -30452,6 +31073,72 @@ export namespace ehpc { variables: string; } + export interface QueueComputeNode { + /** + * AutoRenew + */ + autoRenew?: boolean; + /** + * AutoRenewPeriod + */ + autoRenewPeriod?: number; + /** + * Duration + */ + duration?: number; + /** + * Whether HT is enabled for the computing node. + */ + enableHt: boolean; + /** + * ImageId + */ + imageId?: string; + /** + * InstanceChargeType + */ + instanceChargeType?: string; + /** + * InstanceTypes + */ + instanceType?: string; + /** + * Period + */ + period?: number; + /** + * PeriodUnit + */ + periodUnit?: string; + /** + * SpotPriceLimit + */ + spotPriceLimit?: number; + /** + * SpotStrategy + */ + spotStrategy: string; + /** + * SystemDisk See `systemDisk` below. + */ + systemDisk?: outputs.ehpc.QueueComputeNodeSystemDisk; + } + + export interface QueueComputeNodeSystemDisk { + /** + * Category + */ + category?: string; + /** + * Level + */ + level?: string; + /** + * Size + */ + size?: number; + } + } export namespace eipanycast { @@ -30570,6 +31257,109 @@ export namespace elasticsearch { multiZoneIds: string[]; } + export interface InstanceClientNodeConfiguration { + /** + * Number of disks in the Elasticsearch cluster coordination node + */ + amount?: number; + /** + * Elasticsearch cluster coordinates node disk size + */ + disk: number; + /** + * Elasticsearch cluster coordination node disk type + */ + diskType?: string; + /** + * Elasticsearch cluster coordination node specification + */ + spec?: string; + } + + export interface InstanceDataNodeConfiguration { + /** + * Number of data nodes in the Elasticsearch cluster + */ + amount: number; + /** + * Elasticsearch data node disk size + */ + disk?: number; + /** + * Whether the Elasticsearch data node disk is encrypted + */ + diskEncryption: boolean; + /** + * Elasticsearch cluster data node disk type + */ + diskType: string; + /** + * Elasticsearch cluster data node Essd disk level + */ + performanceLevel: string; + /** + * Elasticsearch data node specification + */ + spec: string; + } + + export interface InstanceKibanaConfiguration { + /** + * The number of disks of the Elasticsearch Kibana node. The default value is 1. + */ + amount: number; + /** + * Elasticsearch Kibana node disk size + */ + disk: number; + /** + * Elasticsearch Kibana node disk specifications + */ + spec: string; + } + + export interface InstanceMasterConfiguration { + /** + * Elasticsearch proprietary master node number of disks + */ + amount?: number; + /** + * Elasticsearch proprietary master node disk size + */ + disk?: number; + /** + * Elasticsearch proprietary master node disk type + */ + diskType?: string; + /** + * Elasticsearch proprietary master node specifications + */ + spec?: string; + } + + export interface InstanceWarmNodeConfiguration { + /** + * Elasticsearch cluster cold data node disk number + */ + amount?: number; + /** + * Elasticsearch cluster cold data node disk size + */ + disk?: number; + /** + * Elasticsearch cluster cold data node Disk encryption + */ + diskEncryption?: boolean; + /** + * Elasticsearch cluster cold data node disk type + */ + diskType?: string; + /** + * Elasticsearch cluster cold data node Disk Specification + */ + spec?: string; + } + } export namespace emr { @@ -32124,6 +32914,44 @@ export namespace esa { status: string; } + export interface HttpIncomingRequestHeaderModificationRuleRequestHeaderModification { + /** + * Request Header Name. + */ + name: string; + /** + * Mode of operation. Value range: + */ + operation: string; + /** + * Value type. Value range: + */ + type?: string; + /** + * Request header value + */ + value?: string; + } + + export interface HttpIncomingResponseHeaderModificationRuleResponseHeaderModification { + /** + * The response header name. + */ + name: string; + /** + * Operation method. Possible values: + */ + operation: string; + /** + * The value type. Value range: + */ + type?: string; + /** + * The response header value. + */ + value?: string; + } + export interface HttpRequestHeaderModificationRuleRequestHeaderModification { /** * Request Header Name. @@ -32603,7 +33431,14 @@ export namespace esa { */ rateLimit?: outputs.esa.WafRuleConfigRateLimit; /** - * The overall security protection level of WAF. See `securityLevel` below. + * The overall security protection level of WAF. + * Valid values: + * - off + * - essentiallyOff + * - low + * - medium + * - high + * - underAttack See `securityLevel` below. */ securityLevel?: outputs.esa.WafRuleConfigSecurityLevel; /** @@ -36849,7 +37684,7 @@ export namespace fc { /** * Function custom health check configuration See `healthCheckConfig` below. */ - healthCheckConfig?: outputs.fc.V3FunctionCustomContainerConfigHealthCheckConfig; + healthCheckConfig: outputs.fc.V3FunctionCustomContainerConfigHealthCheckConfig; /** * The container Image address. */ @@ -36874,12 +37709,12 @@ export namespace fc { } export interface V3FunctionCustomContainerConfigHealthCheckConfig { - failureThreshold?: number; - httpGetUrl?: string; - initialDelaySeconds?: number; - periodSeconds?: number; - successThreshold?: number; - timeoutSeconds?: number; + failureThreshold: number; + httpGetUrl: string; + initialDelaySeconds: number; + periodSeconds: number; + successThreshold: number; + timeoutSeconds: number; } export interface V3FunctionCustomDns { @@ -36920,7 +37755,7 @@ export namespace fc { /** * Function custom health check configuration. See `healthCheckConfig` below. */ - healthCheckConfig?: outputs.fc.V3FunctionCustomRuntimeConfigHealthCheckConfig; + healthCheckConfig: outputs.fc.V3FunctionCustomRuntimeConfigHealthCheckConfig; /** * The listening port of the HTTP Server. */ @@ -36929,11 +37764,11 @@ export namespace fc { export interface V3FunctionCustomRuntimeConfigHealthCheckConfig { failureThreshold: number; - httpGetUrl?: string; - initialDelaySeconds?: number; - periodSeconds?: number; - successThreshold?: number; - timeoutSeconds?: number; + httpGetUrl: string; + initialDelaySeconds: number; + periodSeconds: number; + successThreshold: number; + timeoutSeconds: number; } export interface V3FunctionGpuConfig { @@ -37091,11 +37926,11 @@ export namespace fc { /** * Security group ID */ - securityGroupId?: string; + securityGroupId: string; /** * VPC network ID */ - vpcId?: string; + vpcId: string; /** * Switch List */ @@ -41949,6 +42784,19 @@ export namespace lindorm { connectAddressLists: outputs.lindorm.InstanceV2EngineListConnectAddressList[]; /** * Engine + * + * Enumeration value: + * - `TABLE`: Wide table engine + * - `TSDB`: Time series Engine + * - `LSEARCH`: Search engine + * - `LTS`: LTS engine + * - `LVECTOR`: Vector engine + * - `LCOLUMN`: Column-store engine + * - `LAI`: AI engine + * - `FILE`: The underlying file engine + * - `LMESSAGE`: Message engine + * - `LROW`: Wide table Engine 3.0 + * - `LSTREAM`: Stream engine */ engineType: string; /** @@ -42015,6 +42863,41 @@ export namespace lindorm { nodeDiskType?: string; /** * Node Specifications + * - Valid values when selecting cloud storage: + * - **lindorm.c.2xlarge**, 8 cores 16GB + * - **lindorm.g.2xlarge**, 8 cores 32GB + * - **lindorm.c.4xlarge**, 16 cores 32GB + * - **lindorm.g.4xlarge**, 16 cores 64GB + * - **lindorm.c.8xlarge**, 32 core 64GB + * - **lindorm.g.8xlarge**, 32 core 128GB + * - **lindorm.g.8xlarge**, 8 cores 64GB + * - **lindorm.r.4xlarge**, 16 cores 128GB + * - **lindorm.r.8xlarge**, 32 cores 256GB + * - Valid values when local disk storage is selected: + * - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + * - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + * - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + * - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + * - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + * - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + * - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + * - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + * - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + * - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + * - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + * - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + * - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + * - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + * - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + * - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + * - **lindorm.i4.xlarge**, 4 core 32GB(I4) + * - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + * - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + * - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + * - **lindorm.i2.xlarge**, 4 core 32GB(I2) + * - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + * - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + * - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) */ nodeSpec: string; /** @@ -42031,6 +42914,17 @@ export namespace lindorm { status: string; } + export interface InstanceV2WhiteIpList { + /** + * Group Name + */ + groupName: string; + /** + * Whitelist information + */ + ipList: string; + } + } export namespace log { @@ -46314,6 +47208,29 @@ export namespace oss { maxAgeSeconds?: number; } + export interface BucketHttpsConfigCipherSuit { + /** + * This field is used to configure custom encryption algorithm suites for TLS 1.2. + */ + customCipherSuites?: string[]; + /** + * Configures TLS encryption algorithm suites. Valid values: + * true: strong encryption algorithm suites or custom encryption algorithm suites. + * false: all encryption algorithm suites (default). + */ + enable: boolean; + /** + * Specifies whether to use strong encryption algorithm suites. Valid values: + * true: uses strong encryption algorithm suites. + * false: uses custom encryption algorithm suites. + */ + strongCipherSuite?: boolean; + /** + * Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + */ + tls13CustomCipherSuites?: string[]; + } + export interface BucketLifecycleRule { /** * Specifies the number of days after initiating a multipart upload when the multipart upload must be completed. See `abortMultipartUpload` below. @@ -48331,11 +49248,11 @@ export namespace privatelink { export interface GetVpcEndpointServicesService { /** - * Whether to automatically accept terminal node connections. + * Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. */ autoAcceptConnection: boolean; /** - * The connection bandwidth. + * The default maximum bandwidth of the endpoint connection. */ connectBandwidth: number; /** @@ -48343,31 +49260,31 @@ export namespace privatelink { */ id: string; /** - * The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + * The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. */ serviceBusinessStatus: string; /** - * The description of the terminal node service. + * The description of the endpoint service. */ serviceDescription: string; /** - * The domain of service. + * The domain name of the endpoint service. */ serviceDomain: string; /** - * The ID of the Vpc Endpoint Service. + * The ID of the endpoint service. */ serviceId: string; /** - * The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + * The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. */ status: string; /** - * The tags of Vpc Endpoint Service. + * A mapping of tags to assign to the resource. */ tags: {[key: string]: string}; /** - * The name of Vpc Endpoint Service. + * The name of the endpoint service. */ vpcEndpointServiceName: string; } @@ -50712,6 +51629,295 @@ export namespace rds { } export namespace realtimecompute { + export interface DeploymentArtifact { + /** + * JarArtifact See `jarArtifact` below. + */ + jarArtifact?: outputs.realtimecompute.DeploymentArtifactJarArtifact; + /** + * Artifact type + */ + kind: string; + /** + * PythonArtifact See `pythonArtifact` below. + */ + pythonArtifact?: outputs.realtimecompute.DeploymentArtifactPythonArtifact; + /** + * SqlArtifact See `sqlArtifact` below. + */ + sqlArtifact?: outputs.realtimecompute.DeploymentArtifactSqlArtifact; + } + + export interface DeploymentArtifactJarArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: string[]; + /** + * Main class; you must specify the fully qualified class name + */ + entryClass?: string; + /** + * Full URL path of the JAR job + */ + jarUri?: string; + /** + * Startup arguments + */ + mainArgs?: string; + } + + export interface DeploymentArtifactPythonArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: string[]; + /** + * URL paths of dependent Python archive files + */ + additionalPythonArchives?: string[]; + /** + * URL paths of dependent Python library files + */ + additionalPythonLibraries?: string[]; + /** + * Entry module for Python + */ + entryModule?: string; + /** + * Startup arguments + */ + mainArgs?: string; + /** + * Full URL path of the Python job + */ + pythonArtifactUri?: string; + } + + export interface DeploymentArtifactSqlArtifact { + /** + * Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + */ + additionalDependencies?: string[]; + /** + * Text content of the SQL job + */ + sqlScript?: string; + } + + export interface DeploymentBatchResourceSetting { + /** + * Resource settings for basic mode See `basicResourceSetting` below. + */ + basicResourceSetting?: outputs.realtimecompute.DeploymentBatchResourceSettingBasicResourceSetting; + /** + * Maximum number of slots + */ + maxSlot?: number; + } + + export interface DeploymentBatchResourceSettingBasicResourceSetting { + jobmanagerResourceSettingSpec?: outputs.realtimecompute.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec; + parallelism?: number; + taskmanagerResourceSettingSpec?: outputs.realtimecompute.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec; + } + + export interface DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + cpu?: number; + memory?: string; + } + + export interface DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + cpu?: number; + memory?: string; + } + + export interface DeploymentDeploymentTarget { + /** + * Deployment mode, valid values: PER_JOB or SESSION + */ + mode: string; + /** + * Deployment target name + */ + name: string; + } + + export interface DeploymentLocalVariable { + /** + * Job variable name + */ + name?: string; + /** + * Job variable value + */ + value?: string; + } + + export interface DeploymentLogging { + /** + * Custom log template + */ + log4j2ConfigurationTemplate: string; + /** + * log4j configuration See `log4jLoggers` below. + */ + log4jLoggers: outputs.realtimecompute.DeploymentLoggingLog4jLogger[]; + /** + * Log retention policy See `logReservePolicy` below. + */ + logReservePolicy: outputs.realtimecompute.DeploymentLoggingLogReservePolicy; + /** + * Default system log template + */ + loggingProfile: string; + } + + export interface DeploymentLoggingLog4jLogger { + /** + * Log output level + */ + loggerLevel: string; + /** + * Class name for log output + */ + loggerName: string; + } + + export interface DeploymentLoggingLogReservePolicy { + /** + * Number of days to retain logs after log retention is enabled + */ + expirationDays: number; + /** + * Whether to enable log retention + */ + openHistory: boolean; + } + + export interface DeploymentStreamingResourceSetting { + /** + * Resource settings for basic mode See `basicResourceSetting` below. + */ + basicResourceSetting: outputs.realtimecompute.DeploymentStreamingResourceSettingBasicResourceSetting; + /** + * Expert mode resource settings See `expertResourceSetting` below. + */ + expertResourceSetting: outputs.realtimecompute.DeploymentStreamingResourceSettingExpertResourceSetting; + /** + * Resource mode used in streaming mode, valid values: BASIC or EXPERT + */ + resourceSettingMode: string; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSetting { + jobmanagerResourceSettingSpec: outputs.realtimecompute.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec; + parallelism: number; + taskmanagerResourceSettingSpec: outputs.realtimecompute.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec { + cpu: number; + memory: string; + } + + export interface DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec { + cpu: number; + memory: string; + } + + export interface DeploymentStreamingResourceSettingExpertResourceSetting { + jobmanagerResourceSettingSpec?: outputs.realtimecompute.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec; + /** + * Resource plan for expert mode + */ + resourcePlan?: string; + } + + export interface DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec { + cpu?: number; + memory?: string; + } + + export interface JobLocalVariable { + /** + * Local variables name + */ + name?: string; + /** + * Local variables value + */ + value?: string; + } + + export interface JobRestoreStrategy { + /** + * Stateless startup + */ + allowNonRestoredState?: boolean; + /** + * Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + */ + jobStartTimeInMs?: number; + /** + * Restore type + */ + kind?: string; + /** + * SavepointId + */ + savepointId?: string; + } + + export interface JobStatus { + /** + * Job current status + */ + currentJobStatus: string; + /** + * Job failure information + */ + failure: outputs.realtimecompute.JobStatusFailure; + /** + * Job Run Health Score + */ + healthScore: number; + /** + * Risk level, which indicates the risk level of the operation status of the job. + */ + riskLevel: string; + /** + * job running status, which has value when the job is Running. + */ + running: outputs.realtimecompute.JobStatusRunning; + } + + export interface JobStatusFailure { + /** + * Job failure time + */ + failedAt: number; + /** + * Failure Information Details + */ + message: string; + /** + * Failure Reason + */ + reason: string; + } + + export interface JobStatusRunning { + /** + * Number of job restarts + */ + observedFlinkJobRestarts: number; + /** + * Flink job status + */ + observedFlinkJobStatus: string; + } + export interface VvpInstanceResourceSpec { /** * CPU number. @@ -58406,6 +59612,17 @@ export namespace threatdetection { vendor: number; } + export interface CheckConfigSelectedCheck { + /** + * The ID of the check item. + */ + checkId?: number; + /** + * The section ID of the check item. + */ + sectionId?: number; + } + export interface GetAntiBruteForceRulesRule { /** * The ID of the defense rule. @@ -58566,6 +59783,147 @@ export namespace threatdetection { targetType: string; } + export interface GetCheckItemConfigsConfig { + /** + * The ID of the check item + */ + checkId: number; + /** + * The name of the check item. + */ + checkShowName: string; + /** + * The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + */ + checkType: string; + /** + * The custom configuration items of the check item. + */ + customConfigs: outputs.threatdetection.GetCheckItemConfigsConfigCustomConfig[]; + /** + * The description of the check item. + */ + description: outputs.threatdetection.GetCheckItemConfigsConfigDescription; + /** + * The estimated quota that will be consumed by this check item. + */ + estimatedCount: number; + /** + * The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + */ + instanceSubType: string; + /** + * The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + */ + instanceType: string; + /** + * The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + */ + riskLevel: string; + /** + * The IDs of the sections associated with the check items. + */ + sectionIds: number[]; + /** + * The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + */ + vendor: string; + } + + export interface GetCheckItemConfigsConfigCustomConfig { + /** + * The default value of the custom configuration item. The value is a string. + */ + defaultValue: string; + /** + * The name of the custom configuration item, which is unique in a check item. + */ + name: string; + /** + * The display name of the custom configuration item for internationalization. + */ + showName: string; + /** + * The type of the custom configuration item. The value is a JSON string. + */ + typeDefine: string; + /** + * The content of the description for the check item when the Type parameter is text. + */ + value: string; + } + + export interface GetCheckItemConfigsConfigDescription { + /** + * The type of the description of the check item. Valid value:* **text**. + */ + type: string; + /** + * The content of the description for the check item when the Type parameter is text. + */ + value: string; + } + + export interface GetCheckStructuresStructure { + /** + * The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + */ + standardType: string; + /** + * The structure information about the check items of the business type. + */ + standards: outputs.threatdetection.GetCheckStructuresStructureStandard[]; + } + + export interface GetCheckStructuresStructureStandard { + /** + * The ID of the section for the check item. + */ + id: number; + /** + * The standards of the check items. + */ + requirements: outputs.threatdetection.GetCheckStructuresStructureStandardRequirement[]; + /** + * The display name of the standard for the check item. + */ + showName: string; + /** + * The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + */ + type: string; + } + + export interface GetCheckStructuresStructureStandardRequirement { + /** + * The ID of the section for the check item. + */ + id: number; + /** + * The information about the sections of check items. + */ + sections: outputs.threatdetection.GetCheckStructuresStructureStandardRequirementSection[]; + /** + * The display name of the standard for the check item. + */ + showName: string; + /** + * The total number of check items for the requirement. + */ + totalCheckCount: number; + } + + export interface GetCheckStructuresStructureStandardRequirementSection { + /** + * The ID of the section for the check item. + */ + id: number; + /** + * The display name of the standard for the check item. + */ + showName: string; + } + export interface GetHoneyPotsPot { /** * Honeypot ID. diff --git a/sdk/nodejs/videosurveillance/systemGroup.ts b/sdk/nodejs/videosurveillance/systemGroup.ts index 89eda8c00b..372fffed23 100644 --- a/sdk/nodejs/videosurveillance/systemGroup.ts +++ b/sdk/nodejs/videosurveillance/systemGroup.ts @@ -28,6 +28,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Video Surveillance System Group can be imported using the id, e.g. diff --git a/sdk/nodejs/vod/domain.ts b/sdk/nodejs/vod/domain.ts index 212d380d77..898ced8451 100644 --- a/sdk/nodejs/vod/domain.ts +++ b/sdk/nodejs/vod/domain.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VOD Domain can be imported using the id, e.g. diff --git a/sdk/nodejs/vod/editingProject.ts b/sdk/nodejs/vod/editingProject.ts index 656328b761..3484bc7a52 100644 --- a/sdk/nodejs/vod/editingProject.ts +++ b/sdk/nodejs/vod/editingProject.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VOD Editing Project can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/bgpGroup.ts b/sdk/nodejs/vpc/bgpGroup.ts index fe8ae35821..91a758e867 100644 --- a/sdk/nodejs/vpc/bgpGroup.ts +++ b/sdk/nodejs/vpc/bgpGroup.ts @@ -50,6 +50,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Group can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/bgpNetwork.ts b/sdk/nodejs/vpc/bgpNetwork.ts index 0a478b5b5c..c5f153a53d 100644 --- a/sdk/nodejs/vpc/bgpNetwork.ts +++ b/sdk/nodejs/vpc/bgpNetwork.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Network can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/bgpPeer.ts b/sdk/nodejs/vpc/bgpPeer.ts index 07ff94565b..e110999bfc 100644 --- a/sdk/nodejs/vpc/bgpPeer.ts +++ b/sdk/nodejs/vpc/bgpPeer.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Bgp Peer can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/commonBandwithPackageAttachment.ts b/sdk/nodejs/vpc/commonBandwithPackageAttachment.ts index 7ac0dc2cf2..4830255e1e 100644 --- a/sdk/nodejs/vpc/commonBandwithPackageAttachment.ts +++ b/sdk/nodejs/vpc/commonBandwithPackageAttachment.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/dhcpOptionsSet.ts b/sdk/nodejs/vpc/dhcpOptionsSet.ts index 8995f74fae..9000491a42 100644 --- a/sdk/nodejs/vpc/dhcpOptionsSet.ts +++ b/sdk/nodejs/vpc/dhcpOptionsSet.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Dhcp Options Set can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/dhcpOptionsSetAttachment.ts b/sdk/nodejs/vpc/dhcpOptionsSetAttachment.ts index 94b7ee9b78..012eda2155 100644 --- a/sdk/nodejs/vpc/dhcpOptionsSetAttachment.ts +++ b/sdk/nodejs/vpc/dhcpOptionsSetAttachment.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Dhcp Options Set Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/flowLog.ts b/sdk/nodejs/vpc/flowLog.ts index 695a6c6908..82f0ac1cc6 100644 --- a/sdk/nodejs/vpc/flowLog.ts +++ b/sdk/nodejs/vpc/flowLog.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Flow Log can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/forwardEntry.ts b/sdk/nodejs/vpc/forwardEntry.ts index bcc8af0d8a..ae9d28eb2e 100644 --- a/sdk/nodejs/vpc/forwardEntry.ts +++ b/sdk/nodejs/vpc/forwardEntry.ts @@ -54,6 +54,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Forward Entry can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/gatewayEndpoint.ts b/sdk/nodejs/vpc/gatewayEndpoint.ts index 38cc4c6e01..987752da3f 100644 --- a/sdk/nodejs/vpc/gatewayEndpoint.ts +++ b/sdk/nodejs/vpc/gatewayEndpoint.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Endpoint can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/gatewayEndpointRouteTableAttachment.ts b/sdk/nodejs/vpc/gatewayEndpointRouteTableAttachment.ts index 02e562b0c1..a08476bb85 100644 --- a/sdk/nodejs/vpc/gatewayEndpointRouteTableAttachment.ts +++ b/sdk/nodejs/vpc/gatewayEndpointRouteTableAttachment.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/gatewayRouteTableAttachment.ts b/sdk/nodejs/vpc/gatewayRouteTableAttachment.ts index db69f54353..bc5b01bc8b 100644 --- a/sdk/nodejs/vpc/gatewayRouteTableAttachment.ts +++ b/sdk/nodejs/vpc/gatewayRouteTableAttachment.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Gateway Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/haVipv2.ts b/sdk/nodejs/vpc/haVipv2.ts index d25508c459..3d548416a5 100644 --- a/sdk/nodejs/vpc/haVipv2.ts +++ b/sdk/nodejs/vpc/haVipv2.ts @@ -55,6 +55,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ha Vip can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/havip.ts b/sdk/nodejs/vpc/havip.ts index 49983cee05..1bf786e4bf 100644 --- a/sdk/nodejs/vpc/havip.ts +++ b/sdk/nodejs/vpc/havip.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The havip can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/havipAttachment.ts b/sdk/nodejs/vpc/havipAttachment.ts index d9220c9109..403c552523 100644 --- a/sdk/nodejs/vpc/havipAttachment.ts +++ b/sdk/nodejs/vpc/havipAttachment.ts @@ -72,6 +72,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ha Vip Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpam.ts b/sdk/nodejs/vpc/ipamIpam.ts index 7a70e1430d..61b3ef09a3 100644 --- a/sdk/nodejs/vpc/ipamIpam.ts +++ b/sdk/nodejs/vpc/ipamIpam.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpamPool.ts b/sdk/nodejs/vpc/ipamIpamPool.ts index 3b17f0368b..18d49c6689 100644 --- a/sdk/nodejs/vpc/ipamIpamPool.ts +++ b/sdk/nodejs/vpc/ipamIpamPool.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpamPoolAllocation.ts b/sdk/nodejs/vpc/ipamIpamPoolAllocation.ts index 21a9f7fd1d..85bb0c9833 100644 --- a/sdk/nodejs/vpc/ipamIpamPoolAllocation.ts +++ b/sdk/nodejs/vpc/ipamIpamPoolAllocation.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpamPoolCidr.ts b/sdk/nodejs/vpc/ipamIpamPoolCidr.ts index b0522e918d..df376287ab 100644 --- a/sdk/nodejs/vpc/ipamIpamPoolCidr.ts +++ b/sdk/nodejs/vpc/ipamIpamPoolCidr.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpamResourceDiscovery.ts b/sdk/nodejs/vpc/ipamIpamResourceDiscovery.ts index c89ed77d30..7edf3f928b 100644 --- a/sdk/nodejs/vpc/ipamIpamResourceDiscovery.ts +++ b/sdk/nodejs/vpc/ipamIpamResourceDiscovery.ts @@ -31,6 +31,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipamIpamScope.ts b/sdk/nodejs/vpc/ipamIpamScope.ts index 5877d5dbfd..030248d1ce 100644 --- a/sdk/nodejs/vpc/ipamIpamScope.ts +++ b/sdk/nodejs/vpc/ipamIpamScope.ts @@ -35,6 +35,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipam Ipam Scope can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv4CidrBlock.ts b/sdk/nodejs/vpc/ipv4CidrBlock.ts index 6f7c9ec234..d4da38ac68 100644 --- a/sdk/nodejs/vpc/ipv4CidrBlock.ts +++ b/sdk/nodejs/vpc/ipv4CidrBlock.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv4 Cidr Block can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv4Gateway.ts b/sdk/nodejs/vpc/ipv4Gateway.ts index 805b97c519..42b37011bb 100644 --- a/sdk/nodejs/vpc/ipv4Gateway.ts +++ b/sdk/nodejs/vpc/ipv4Gateway.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv4 Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv6Address.ts b/sdk/nodejs/vpc/ipv6Address.ts index 5944b17afe..63e02c8b88 100644 --- a/sdk/nodejs/vpc/ipv6Address.ts +++ b/sdk/nodejs/vpc/ipv6Address.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Address can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv6EgressRule.ts b/sdk/nodejs/vpc/ipv6EgressRule.ts index f5b3144b12..fb5a492587 100644 --- a/sdk/nodejs/vpc/ipv6EgressRule.ts +++ b/sdk/nodejs/vpc/ipv6EgressRule.ts @@ -86,6 +86,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Egress Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv6Gateway.ts b/sdk/nodejs/vpc/ipv6Gateway.ts index c84296aee1..f402483720 100644 --- a/sdk/nodejs/vpc/ipv6Gateway.ts +++ b/sdk/nodejs/vpc/ipv6Gateway.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Ipv6 Gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/ipv6InternetBandwidth.ts b/sdk/nodejs/vpc/ipv6InternetBandwidth.ts index 7974bc727c..aaf1bf3fe0 100644 --- a/sdk/nodejs/vpc/ipv6InternetBandwidth.ts +++ b/sdk/nodejs/vpc/ipv6InternetBandwidth.ts @@ -77,6 +77,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/natGateway.ts b/sdk/nodejs/vpc/natGateway.ts index 311abeb058..b81a3d494c 100644 --- a/sdk/nodejs/vpc/natGateway.ts +++ b/sdk/nodejs/vpc/natGateway.ts @@ -82,6 +82,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Nat gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/natIp.ts b/sdk/nodejs/vpc/natIp.ts index 42ccfffd77..433294ddba 100644 --- a/sdk/nodejs/vpc/natIp.ts +++ b/sdk/nodejs/vpc/natIp.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Nat Ip can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/natIpCidr.ts b/sdk/nodejs/vpc/natIpCidr.ts index 71dfc20661..3f6afe7d7b 100644 --- a/sdk/nodejs/vpc/natIpCidr.ts +++ b/sdk/nodejs/vpc/natIpCidr.ts @@ -48,6 +48,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Nat Ip Cidr can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/network.ts b/sdk/nodejs/vpc/network.ts index 2ff0ddb86f..a8094b385e 100644 --- a/sdk/nodejs/vpc/network.ts +++ b/sdk/nodejs/vpc/network.ts @@ -41,6 +41,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC VPC can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/networkAcl.ts b/sdk/nodejs/vpc/networkAcl.ts index ef780b03b6..f42f32ff4a 100644 --- a/sdk/nodejs/vpc/networkAcl.ts +++ b/sdk/nodejs/vpc/networkAcl.ts @@ -15,6 +15,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** Available since v1.43.0. * + * > **WARNING:** Do not mix the use of the `resources` field in this resource with the separate `alicloud.vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + * * ## Example Usage * * Basic Usage @@ -65,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Network Acl can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/networkAclAttachment.ts b/sdk/nodejs/vpc/networkAclAttachment.ts index 216912e332..ce7b343ade 100644 --- a/sdk/nodejs/vpc/networkAclAttachment.ts +++ b/sdk/nodejs/vpc/networkAclAttachment.ts @@ -12,7 +12,9 @@ import * as utilities from "../utilities"; * > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. * Note that because this resource conflicts with the `resources` attribute of `alicloud.vpc.NetworkAcl`, this resource can no be used. * - * > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. + * > **WARNING:** Do not mix the use of this deprecated resource with the `resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `resources` field in `alicloud.vpc.NetworkAcl`. + * + * > **NOTE:** Available since v1.44.0. * * ## Example Usage * @@ -49,6 +51,8 @@ import * as utilities from "../utilities"; * }], * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class NetworkAclAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/vpc/networkAclEntries.ts b/sdk/nodejs/vpc/networkAclEntries.ts index cfa49d46fd..dca2001350 100644 --- a/sdk/nodejs/vpc/networkAclEntries.ts +++ b/sdk/nodejs/vpc/networkAclEntries.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }], * }); * ``` + * + * 📚 Need more examples? VIEW MORE EXAMPLES */ export class NetworkAclEntries extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/vpc/networkInterface.ts b/sdk/nodejs/vpc/networkInterface.ts index 7b1be9c340..93519bdba0 100644 --- a/sdk/nodejs/vpc/networkInterface.ts +++ b/sdk/nodejs/vpc/networkInterface.ts @@ -47,6 +47,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * ENI can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/peerConnection.ts b/sdk/nodejs/vpc/peerConnection.ts index 361f2b9cfd..b66a2ac0cf 100644 --- a/sdk/nodejs/vpc/peerConnection.ts +++ b/sdk/nodejs/vpc/peerConnection.ts @@ -42,6 +42,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Peer Peer Connection can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/peerConnectionAccepter.ts b/sdk/nodejs/vpc/peerConnectionAccepter.ts index cc10de153c..35b79a396d 100644 --- a/sdk/nodejs/vpc/peerConnectionAccepter.ts +++ b/sdk/nodejs/vpc/peerConnectionAccepter.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * const defaultPeerConnectionAccepter = new alicloud.vpc.PeerConnectionAccepter("default", {instanceId: _default.id}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Peer Peer Connection Accepter can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/prefixList.ts b/sdk/nodejs/vpc/prefixList.ts index bceb9757d6..e00e1ee399 100644 --- a/sdk/nodejs/vpc/prefixList.ts +++ b/sdk/nodejs/vpc/prefixList.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Prefix List can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/publicIpAddressPool.ts b/sdk/nodejs/vpc/publicIpAddressPool.ts index 0455dfa7b0..2e44c57c31 100644 --- a/sdk/nodejs/vpc/publicIpAddressPool.ts +++ b/sdk/nodejs/vpc/publicIpAddressPool.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Public Ip Address Pool can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/publicIpAddressPoolCidrBlock.ts b/sdk/nodejs/vpc/publicIpAddressPoolCidrBlock.ts index 128b0ca22d..c11855d2b1 100644 --- a/sdk/nodejs/vpc/publicIpAddressPoolCidrBlock.ts +++ b/sdk/nodejs/vpc/publicIpAddressPoolCidrBlock.ts @@ -37,6 +37,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/routeEntry.ts b/sdk/nodejs/vpc/routeEntry.ts index c523b1c6b2..3359ffd8d5 100644 --- a/sdk/nodejs/vpc/routeEntry.ts +++ b/sdk/nodejs/vpc/routeEntry.ts @@ -69,6 +69,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Module Support * * You can use to the existing vpc module diff --git a/sdk/nodejs/vpc/routeTable.ts b/sdk/nodejs/vpc/routeTable.ts index dca2bc3f40..6d94447b9c 100644 --- a/sdk/nodejs/vpc/routeTable.ts +++ b/sdk/nodejs/vpc/routeTable.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Table can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/routeTableAttachment.ts b/sdk/nodejs/vpc/routeTableAttachment.ts index 065145e7ab..34e5aae061 100644 --- a/sdk/nodejs/vpc/routeTableAttachment.ts +++ b/sdk/nodejs/vpc/routeTableAttachment.ts @@ -45,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/routerInterface.ts b/sdk/nodejs/vpc/routerInterface.ts index a25db3dcf3..6933c26f21 100644 --- a/sdk/nodejs/vpc/routerInterface.ts +++ b/sdk/nodejs/vpc/routerInterface.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The router interface can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/routerInterfaceConnection.ts b/sdk/nodejs/vpc/routerInterfaceConnection.ts index 28d6626539..c18a3b11ad 100644 --- a/sdk/nodejs/vpc/routerInterfaceConnection.ts +++ b/sdk/nodejs/vpc/routerInterfaceConnection.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * The router interface connection can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/snatEntry.ts b/sdk/nodejs/vpc/snatEntry.ts index d95fba73ea..bf236053be 100644 --- a/sdk/nodejs/vpc/snatEntry.ts +++ b/sdk/nodejs/vpc/snatEntry.ts @@ -53,6 +53,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * NAT Gateway Snat Entry can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/switch.ts b/sdk/nodejs/vpc/switch.ts index 75192d54c5..a793767892 100644 --- a/sdk/nodejs/vpc/switch.ts +++ b/sdk/nodejs/vpc/switch.ts @@ -89,6 +89,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Vswitch can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/trafficMirrorFilter.ts b/sdk/nodejs/vpc/trafficMirrorFilter.ts index e9c971d58e..68a5f843bc 100644 --- a/sdk/nodejs/vpc/trafficMirrorFilter.ts +++ b/sdk/nodejs/vpc/trafficMirrorFilter.ts @@ -56,6 +56,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/trafficMirrorFilterEgressRule.ts b/sdk/nodejs/vpc/trafficMirrorFilterEgressRule.ts index afdd5d92d0..d02b6e8a3d 100644 --- a/sdk/nodejs/vpc/trafficMirrorFilterEgressRule.ts +++ b/sdk/nodejs/vpc/trafficMirrorFilterEgressRule.ts @@ -30,6 +30,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/trafficMirrorFilterIngressRule.ts b/sdk/nodejs/vpc/trafficMirrorFilterIngressRule.ts index 2c24d5c3b8..4f32127925 100644 --- a/sdk/nodejs/vpc/trafficMirrorFilterIngressRule.ts +++ b/sdk/nodejs/vpc/trafficMirrorFilterIngressRule.ts @@ -32,6 +32,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/trafficMirrorSession.ts b/sdk/nodejs/vpc/trafficMirrorSession.ts index 8cec5d02a1..af2703fe11 100644 --- a/sdk/nodejs/vpc/trafficMirrorSession.ts +++ b/sdk/nodejs/vpc/trafficMirrorSession.ts @@ -92,6 +92,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Traffic Mirror Session can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/vbrHa.ts b/sdk/nodejs/vpc/vbrHa.ts index a9d2a60974..0608f2ab63 100644 --- a/sdk/nodejs/vpc/vbrHa.ts +++ b/sdk/nodejs/vpc/vbrHa.ts @@ -74,6 +74,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Express Connect Vbr Ha can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/vpcNetworkAclAttachment.ts b/sdk/nodejs/vpc/vpcNetworkAclAttachment.ts index e424654261..762120adfc 100644 --- a/sdk/nodejs/vpc/vpcNetworkAclAttachment.ts +++ b/sdk/nodejs/vpc/vpcNetworkAclAttachment.ts @@ -5,12 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. + * Provides a VPC Network Acl Attachment resource. + * + * Resources associated with network Acl. * * For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). * * > **NOTE:** Available since v1.193.0. * + * > **WARNING:** Do not mix the use of this resource with the `resources` field in the `alicloud.vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + * * ## Example Usage * * Basic Usage @@ -41,6 +45,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Network Acl Attachment can be imported using the id, e.g. @@ -78,11 +84,11 @@ export class VpcNetworkAclAttachment extends pulumi.CustomResource { } /** - * The ID of the network ACL. + * The ID of the network ACL instance. */ declare public readonly networkAclId: pulumi.Output; /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. */ declare public readonly resourceId: pulumi.Output; /** @@ -137,11 +143,11 @@ export class VpcNetworkAclAttachment extends pulumi.CustomResource { */ export interface VpcNetworkAclAttachmentState { /** - * The ID of the network ACL. + * The ID of the network ACL instance. */ networkAclId?: pulumi.Input; /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. */ resourceId?: pulumi.Input; /** @@ -159,11 +165,11 @@ export interface VpcNetworkAclAttachmentState { */ export interface VpcNetworkAclAttachmentArgs { /** - * The ID of the network ACL. + * The ID of the network ACL instance. */ networkAclId: pulumi.Input; /** - * The ID of the associated resource. + * The ID of the associated vswitch instance. */ resourceId: pulumi.Input; /** diff --git a/sdk/nodejs/vpc/vpcrouteEntry.ts b/sdk/nodejs/vpc/vpcrouteEntry.ts index 64c133ade7..a1c768e7d5 100644 --- a/sdk/nodejs/vpc/vpcrouteEntry.ts +++ b/sdk/nodejs/vpc/vpcrouteEntry.ts @@ -71,6 +71,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPC Route Entry can be imported using the id, e.g. diff --git a/sdk/nodejs/vpc/vswitchCidrReservation.ts b/sdk/nodejs/vpc/vswitchCidrReservation.ts index 901e9f0edf..66b6f077fe 100644 --- a/sdk/nodejs/vpc/vswitchCidrReservation.ts +++ b/sdk/nodejs/vpc/vswitchCidrReservation.ts @@ -44,6 +44,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Vpc Vswitch Cidr Reservation can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/connection.ts b/sdk/nodejs/vpn/connection.ts index 6681b9dc51..da705ce117 100644 --- a/sdk/nodejs/vpn/connection.ts +++ b/sdk/nodejs/vpn/connection.ts @@ -131,6 +131,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN connection can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/customerGateway.ts b/sdk/nodejs/vpn/customerGateway.ts index e7d2ec13a8..4078c7b256 100644 --- a/sdk/nodejs/vpn/customerGateway.ts +++ b/sdk/nodejs/vpn/customerGateway.ts @@ -23,6 +23,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN customer gateway can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/gatewayVcoRoute.ts b/sdk/nodejs/vpn/gatewayVcoRoute.ts index 2bbd9647b0..86c4cc86c3 100644 --- a/sdk/nodejs/vpn/gatewayVcoRoute.ts +++ b/sdk/nodejs/vpn/gatewayVcoRoute.ts @@ -101,6 +101,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Gateway Vco Route can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/gatewayVpnAttachment.ts b/sdk/nodejs/vpn/gatewayVpnAttachment.ts index 31e40f3c36..e5ab6da3cb 100644 --- a/sdk/nodejs/vpn/gatewayVpnAttachment.ts +++ b/sdk/nodejs/vpn/gatewayVpnAttachment.ts @@ -160,6 +160,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Gateway Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/ipsecServer.ts b/sdk/nodejs/vpn/ipsecServer.ts index 2e96671f4c..cf0f10b344 100644 --- a/sdk/nodejs/vpn/ipsecServer.ts +++ b/sdk/nodejs/vpn/ipsecServer.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Ipsec Server can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/pbrRouteEntry.ts b/sdk/nodejs/vpn/pbrRouteEntry.ts index ac5ce912d2..24318553ca 100644 --- a/sdk/nodejs/vpn/pbrRouteEntry.ts +++ b/sdk/nodejs/vpn/pbrRouteEntry.ts @@ -112,6 +112,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN Pbr route entry can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/routeEntry.ts b/sdk/nodejs/vpn/routeEntry.ts index 2b1b671837..54c6ba2685 100644 --- a/sdk/nodejs/vpn/routeEntry.ts +++ b/sdk/nodejs/vpn/routeEntry.ts @@ -105,6 +105,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. diff --git a/sdk/nodejs/vpn/sslVpnClientCert.ts b/sdk/nodejs/vpn/sslVpnClientCert.ts index 0bdf53ff75..c9f0a7b416 100644 --- a/sdk/nodejs/vpn/sslVpnClientCert.ts +++ b/sdk/nodejs/vpn/sslVpnClientCert.ts @@ -61,6 +61,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL-VPN client certificates can be imported using the id, e.g. diff --git a/sdk/nodejs/vpn/sslVpnServer.ts b/sdk/nodejs/vpn/sslVpnServer.ts index a3710d2f9e..9304f092eb 100644 --- a/sdk/nodejs/vpn/sslVpnServer.ts +++ b/sdk/nodejs/vpn/sslVpnServer.ts @@ -57,6 +57,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * SSL-VPN server can be imported using the id, e.g. diff --git a/sdk/nodejs/waf/certificate.ts b/sdk/nodejs/waf/certificate.ts index b7899ea61c..686ef5f8ab 100644 --- a/sdk/nodejs/waf/certificate.ts +++ b/sdk/nodejs/waf/certificate.ts @@ -33,6 +33,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAF Certificate can be imported using the id, e.g. diff --git a/sdk/nodejs/waf/domain.ts b/sdk/nodejs/waf/domain.ts index 34567e3ce3..e388136892 100644 --- a/sdk/nodejs/waf/domain.ts +++ b/sdk/nodejs/waf/domain.ts @@ -40,6 +40,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAF domain can be imported using the id, e.g. diff --git a/sdk/nodejs/waf/protectionModule.ts b/sdk/nodejs/waf/protectionModule.ts index 4a7c30e3f1..3466a78914 100644 --- a/sdk/nodejs/waf/protectionModule.ts +++ b/sdk/nodejs/waf/protectionModule.ts @@ -46,6 +46,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. diff --git a/sdk/nodejs/wafv3/defenseResourceGroup.ts b/sdk/nodejs/wafv3/defenseResourceGroup.ts index 41fbf486cb..53a72d8d94 100644 --- a/sdk/nodejs/wafv3/defenseResourceGroup.ts +++ b/sdk/nodejs/wafv3/defenseResourceGroup.ts @@ -67,6 +67,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Resource Group can be imported using the id, e.g. diff --git a/sdk/nodejs/wafv3/defenseRule.ts b/sdk/nodejs/wafv3/defenseRule.ts index 190ad1e133..e7f698e6c3 100644 --- a/sdk/nodejs/wafv3/defenseRule.ts +++ b/sdk/nodejs/wafv3/defenseRule.ts @@ -60,6 +60,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Rule can be imported using the id, e.g. diff --git a/sdk/nodejs/wafv3/defenseTemplate.ts b/sdk/nodejs/wafv3/defenseTemplate.ts index 94b2aaec8a..19824d00b4 100644 --- a/sdk/nodejs/wafv3/defenseTemplate.ts +++ b/sdk/nodejs/wafv3/defenseTemplate.ts @@ -34,6 +34,8 @@ import * as utilities from "../utilities"; * }); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * WAFV3 Defense Template can be imported using the id, e.g. diff --git a/sdk/nodejs/wafv3/instance.ts b/sdk/nodejs/wafv3/instance.ts index 27f83b2439..089f4b8acb 100644 --- a/sdk/nodejs/wafv3/instance.ts +++ b/sdk/nodejs/wafv3/instance.ts @@ -22,6 +22,8 @@ import * as utilities from "../utilities"; * const example = new alicloud.wafv3.Instance("example", {}); * ``` * + * 📚 Need more examples? VIEW MORE EXAMPLES + * * ## Import * * Wafv3 Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/__init__.py b/sdk/python/pulumi_alicloud/__init__.py index fb1d23c052..fd29da88a0 100644 --- a/sdk/python/pulumi_alicloud/__init__.py +++ b/sdk/python/pulumi_alicloud/__init__.py @@ -19,6 +19,7 @@ from .msc_sub_contract import * from .msc_sub_subscription import * from .msc_sub_webhook import * +from .open_api_explorer_api_mcp_server import * from .polar_db_extension import * from .provider import * from .star_rocks_instance import * @@ -97,6 +98,8 @@ compute = __compute import pulumi_alicloud.config as __config config = __config + import pulumi_alicloud.configaggregate as __configaggregate + configaggregate = __configaggregate import pulumi_alicloud.cr as __cr cr = __cr import pulumi_alicloud.cs as __cs @@ -347,6 +350,7 @@ cms = _utilities.lazy_import('pulumi_alicloud.cms') compute = _utilities.lazy_import('pulumi_alicloud.compute') config = _utilities.lazy_import('pulumi_alicloud.config') + configaggregate = _utilities.lazy_import('pulumi_alicloud.configaggregate') cr = _utilities.lazy_import('pulumi_alicloud.cr') cs = _utilities.lazy_import('pulumi_alicloud.cs') das = _utilities.lazy_import('pulumi_alicloud.das') @@ -2330,6 +2334,22 @@ "alicloud:compute/nestServiceInstance:NestServiceInstance": "NestServiceInstance" } }, + { + "pkg": "alicloud", + "mod": "config/reportTemplate", + "fqn": "pulumi_alicloud.config", + "classes": { + "alicloud:config/reportTemplate:ReportTemplate": "ReportTemplate" + } + }, + { + "pkg": "alicloud", + "mod": "configaggregate/remediation", + "fqn": "pulumi_alicloud.configaggregate", + "classes": { + "alicloud:configaggregate/remediation:Remediation": "Remediation" + } + }, { "pkg": "alicloud", "mod": "cr/chain", @@ -2386,6 +2406,22 @@ "alicloud:cr/repo:Repo": "Repo" } }, + { + "pkg": "alicloud", + "mod": "cr/scanRule", + "fqn": "pulumi_alicloud.cr", + "classes": { + "alicloud:cr/scanRule:ScanRule": "ScanRule" + } + }, + { + "pkg": "alicloud", + "mod": "cr/storageDomainRoutingRule", + "fqn": "pulumi_alicloud.cr", + "classes": { + "alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule": "StorageDomainRoutingRule" + } + }, { "pkg": "alicloud", "mod": "cr/vpcEndpointLinkedVpc", @@ -2458,6 +2494,14 @@ "alicloud:cs/kubernetesPermission:KubernetesPermission": "KubernetesPermission" } }, + { + "pkg": "alicloud", + "mod": "cs/kubernetesPolicyInstance", + "fqn": "pulumi_alicloud.cs", + "classes": { + "alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance": "KubernetesPolicyInstance" + } + }, { "pkg": "alicloud", "mod": "cs/managedKubernetes", @@ -4042,6 +4086,14 @@ "alicloud:ehpc/cluster:Cluster": "Cluster" } }, + { + "pkg": "alicloud", + "mod": "ehpc/clusterV2", + "fqn": "pulumi_alicloud.ehpc", + "classes": { + "alicloud:ehpc/clusterV2:ClusterV2": "ClusterV2" + } + }, { "pkg": "alicloud", "mod": "ehpc/jobTemplate", @@ -4050,6 +4102,14 @@ "alicloud:ehpc/jobTemplate:JobTemplate": "JobTemplate" } }, + { + "pkg": "alicloud", + "mod": "ehpc/queue", + "fqn": "pulumi_alicloud.ehpc", + "classes": { + "alicloud:ehpc/queue:Queue": "Queue" + } + }, { "pkg": "alicloud", "mod": "eipanycast/anycastEipAddress", @@ -4274,6 +4334,22 @@ "alicloud:esa/edgeContainerAppRecord:EdgeContainerAppRecord": "EdgeContainerAppRecord" } }, + { + "pkg": "alicloud", + "mod": "esa/httpIncomingRequestHeaderModificationRule", + "fqn": "pulumi_alicloud.esa", + "classes": { + "alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule": "HttpIncomingRequestHeaderModificationRule" + } + }, + { + "pkg": "alicloud", + "mod": "esa/httpIncomingResponseHeaderModificationRule", + "fqn": "pulumi_alicloud.esa", + "classes": { + "alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule": "HttpIncomingResponseHeaderModificationRule" + } + }, { "pkg": "alicloud", "mod": "esa/httpRequestHeaderModificationRule", @@ -5386,6 +5462,14 @@ "alicloud:gpdb/streamingJob:StreamingJob": "StreamingJob" } }, + { + "pkg": "alicloud", + "mod": "gpdb/supabaseProject", + "fqn": "pulumi_alicloud.gpdb", + "classes": { + "alicloud:gpdb/supabaseProject:SupabaseProject": "SupabaseProject" + } + }, { "pkg": "alicloud", "mod": "graphdatabase/dbInstance", @@ -5610,6 +5694,14 @@ "alicloud:index/mscSubWebhook:MscSubWebhook": "MscSubWebhook" } }, + { + "pkg": "alicloud", + "mod": "index/openApiExplorerApiMcpServer", + "fqn": "pulumi_alicloud", + "classes": { + "alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer": "OpenApiExplorerApiMcpServer" + } + }, { "pkg": "alicloud", "mod": "index/polarDbExtension", @@ -5714,6 +5806,14 @@ "alicloud:kms/secret:Secret": "Secret" } }, + { + "pkg": "alicloud", + "mod": "kms/valueAddedService", + "fqn": "pulumi_alicloud.kms", + "classes": { + "alicloud:kms/valueAddedService:ValueAddedService": "ValueAddedService" + } + }, { "pkg": "alicloud", "mod": "kvstore/account", @@ -6106,6 +6206,14 @@ "alicloud:mongodb/instance:Instance": "Instance" } }, + { + "pkg": "alicloud", + "mod": "mongodb/node", + "fqn": "pulumi_alicloud.mongodb", + "classes": { + "alicloud:mongodb/node:Node": "Node" + } + }, { "pkg": "alicloud", "mod": "mongodb/privateSrvNetworkAddress", @@ -6274,6 +6382,22 @@ "alicloud:nas/mountTarget:MountTarget": "MountTarget" } }, + { + "pkg": "alicloud", + "mod": "nas/protocolMountTarget", + "fqn": "pulumi_alicloud.nas", + "classes": { + "alicloud:nas/protocolMountTarget:ProtocolMountTarget": "ProtocolMountTarget" + } + }, + { + "pkg": "alicloud", + "mod": "nas/protocolService", + "fqn": "pulumi_alicloud.nas", + "classes": { + "alicloud:nas/protocolService:ProtocolService": "ProtocolService" + } + }, { "pkg": "alicloud", "mod": "nas/recycleBin", @@ -6882,6 +7006,14 @@ "alicloud:polardb/globalDatabaseNetwork:GlobalDatabaseNetwork": "GlobalDatabaseNetwork" } }, + { + "pkg": "alicloud", + "mod": "polardb/globalSecurityIpGroup", + "fqn": "pulumi_alicloud.polardb", + "classes": { + "alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup": "GlobalSecurityIpGroup" + } + }, { "pkg": "alicloud", "mod": "polardb/parameterGroup", @@ -7434,6 +7566,22 @@ "alicloud:rds/whitelistTemplate:WhitelistTemplate": "WhitelistTemplate" } }, + { + "pkg": "alicloud", + "mod": "realtimecompute/deployment", + "fqn": "pulumi_alicloud.realtimecompute", + "classes": { + "alicloud:realtimecompute/deployment:Deployment": "Deployment" + } + }, + { + "pkg": "alicloud", + "mod": "realtimecompute/job", + "fqn": "pulumi_alicloud.realtimecompute", + "classes": { + "alicloud:realtimecompute/job:Job": "Job" + } + }, { "pkg": "alicloud", "mod": "realtimecompute/vvpInstance", @@ -7442,6 +7590,14 @@ "alicloud:realtimecompute/vvpInstance:VvpInstance": "VvpInstance" } }, + { + "pkg": "alicloud", + "mod": "redis/backup", + "fqn": "pulumi_alicloud.redis", + "classes": { + "alicloud:redis/backup:Backup": "Backup" + } + }, { "pkg": "alicloud", "mod": "redis/tairInstance", @@ -8418,6 +8574,14 @@ "alicloud:threatdetection/baselineStrategy:BaselineStrategy": "BaselineStrategy" } }, + { + "pkg": "alicloud", + "mod": "threatdetection/checkConfig", + "fqn": "pulumi_alicloud.threatdetection", + "classes": { + "alicloud:threatdetection/checkConfig:CheckConfig": "CheckConfig" + } + }, { "pkg": "alicloud", "mod": "threatdetection/clientFileProtect", diff --git a/sdk/python/pulumi_alicloud/_inputs.py b/sdk/python/pulumi_alicloud/_inputs.py index 05ae2f56d5..2cc49e0161 100644 --- a/sdk/python/pulumi_alicloud/_inputs.py +++ b/sdk/python/pulumi_alicloud/_inputs.py @@ -19,6 +19,18 @@ 'MilvusInstanceComponentArgsDict', 'MilvusInstanceVswitchIdArgs', 'MilvusInstanceVswitchIdArgsDict', + 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', + 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict', + 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs', + 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgsDict', + 'OpenApiExplorerApiMcpServerApiArgs', + 'OpenApiExplorerApiMcpServerApiArgsDict', + 'OpenApiExplorerApiMcpServerPromptArgs', + 'OpenApiExplorerApiMcpServerPromptArgsDict', + 'OpenApiExplorerApiMcpServerPromptArgumentArgs', + 'OpenApiExplorerApiMcpServerPromptArgumentArgsDict', + 'OpenApiExplorerApiMcpServerTerraformToolArgs', + 'OpenApiExplorerApiMcpServerTerraformToolArgsDict', 'ProviderAssumeRoleArgs', 'ProviderAssumeRoleArgsDict', 'ProviderAssumeRoleWithOidcArgs', @@ -218,6 +230,609 @@ def zone_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "zone_id", value) +if not MYPY: + class OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict(TypedDict): + api_name: NotRequired[pulumi.Input[_builtins.str]] + """ + The API name, such as ListApiMcpServers. + """ + api_override_json: NotRequired[pulumi.Input[_builtins.str]] + """ + API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + + > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + """ + api_version: NotRequired[pulumi.Input[_builtins.str]] + """ + API version information, typically in date format, such as 2014-05-26. + """ + const_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgsDict']]]] + """ + Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `const_parameters` below. + """ + enable_output_schema: NotRequired[pulumi.Input[_builtins.bool]] + """ + By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + + > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + """ + execute_cli_command: NotRequired[pulumi.Input[_builtins.bool]] + """ + Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + - SSE protocol: up to 30 minutes + - Streamable HTTP protocol: up to 1 minute + + For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + + > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + """ + product: NotRequired[pulumi.Input[_builtins.str]] + """ + The name of the cloud product, such as Ecs. + """ +elif False: + OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs: + def __init__(__self__, *, + api_name: Optional[pulumi.Input[_builtins.str]] = None, + api_override_json: Optional[pulumi.Input[_builtins.str]] = None, + api_version: Optional[pulumi.Input[_builtins.str]] = None, + const_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs']]]] = None, + enable_output_schema: Optional[pulumi.Input[_builtins.bool]] = None, + execute_cli_command: Optional[pulumi.Input[_builtins.bool]] = None, + product: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] api_name: The API name, such as ListApiMcpServers. + :param pulumi.Input[_builtins.str] api_override_json: API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + + > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + :param pulumi.Input[_builtins.str] api_version: API version information, typically in date format, such as 2014-05-26. + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs']]] const_parameters: Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `const_parameters` below. + :param pulumi.Input[_builtins.bool] enable_output_schema: By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + + > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + :param pulumi.Input[_builtins.bool] execute_cli_command: Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + - SSE protocol: up to 30 minutes + - Streamable HTTP protocol: up to 1 minute + + For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + + > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + :param pulumi.Input[_builtins.str] product: The name of the cloud product, such as Ecs. + """ + if api_name is not None: + pulumi.set(__self__, "api_name", api_name) + if api_override_json is not None: + pulumi.set(__self__, "api_override_json", api_override_json) + if api_version is not None: + pulumi.set(__self__, "api_version", api_version) + if const_parameters is not None: + pulumi.set(__self__, "const_parameters", const_parameters) + if enable_output_schema is not None: + pulumi.set(__self__, "enable_output_schema", enable_output_schema) + if execute_cli_command is not None: + pulumi.set(__self__, "execute_cli_command", execute_cli_command) + if product is not None: + pulumi.set(__self__, "product", product) + + @_builtins.property + @pulumi.getter(name="apiName") + def api_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The API name, such as ListApiMcpServers. + """ + return pulumi.get(self, "api_name") + + @api_name.setter + def api_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "api_name", value) + + @_builtins.property + @pulumi.getter(name="apiOverrideJson") + def api_override_json(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + + > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + """ + return pulumi.get(self, "api_override_json") + + @api_override_json.setter + def api_override_json(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "api_override_json", value) + + @_builtins.property + @pulumi.getter(name="apiVersion") + def api_version(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + API version information, typically in date format, such as 2014-05-26. + """ + return pulumi.get(self, "api_version") + + @api_version.setter + def api_version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "api_version", value) + + @_builtins.property + @pulumi.getter(name="constParameters") + def const_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs']]]]: + """ + Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `const_parameters` below. + """ + return pulumi.get(self, "const_parameters") + + @const_parameters.setter + def const_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs']]]]): + pulumi.set(self, "const_parameters", value) + + @_builtins.property + @pulumi.getter(name="enableOutputSchema") + def enable_output_schema(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + + > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + """ + return pulumi.get(self, "enable_output_schema") + + @enable_output_schema.setter + def enable_output_schema(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_output_schema", value) + + @_builtins.property + @pulumi.getter(name="executeCliCommand") + def execute_cli_command(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + - SSE protocol: up to 30 minutes + - Streamable HTTP protocol: up to 1 minute + + For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + + > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + """ + return pulumi.get(self, "execute_cli_command") + + @execute_cli_command.setter + def execute_cli_command(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "execute_cli_command", value) + + @_builtins.property + @pulumi.getter + def product(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the cloud product, such as Ecs. + """ + return pulumi.get(self, "product") + + @product.setter + def product(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "product", value) + + +if not MYPY: + class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgsDict(TypedDict): + key: NotRequired[pulumi.Input[_builtins.str]] + """ + Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + + For RPC-style APIs, examples include: + - Name: sets the Name parameter to a fixed value. + + For ROA-style APIs, examples include: + - Name: sets a query or path parameter named Name to a fixed value; + - body.Name: sets the Name field within the request body to a fixed value. + + Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + + > **NOTE:** x_mcp_region_id is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + This property does not have a description in the spec, please add it before generating code. + """ +elif False: + OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] key: Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + + For RPC-style APIs, examples include: + - Name: sets the Name parameter to a fixed value. + + For ROA-style APIs, examples include: + - Name: sets a query or path parameter named Name to a fixed value; + - body.Name: sets the Name field within the request body to a fixed value. + + Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + + > **NOTE:** x_mcp_region_id is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + :param pulumi.Input[_builtins.str] value: This property does not have a description in the spec, please add it before generating code. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + + For RPC-style APIs, examples include: + - Name: sets the Name parameter to a fixed value. + + For ROA-style APIs, examples include: + - Name: sets a query or path parameter named Name to a fixed value; + - body.Name: sets the Name field within the request body to a fixed value. + + Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + + > **NOTE:** x_mcp_region_id is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "key", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + This property does not have a description in the spec, please add it before generating code. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + +if not MYPY: + class OpenApiExplorerApiMcpServerApiArgsDict(TypedDict): + api_version: pulumi.Input[_builtins.str] + """ + API version information, typically in date format—for example, the version for ECS is 2014-05-26. + """ + product: pulumi.Input[_builtins.str] + """ + Product code, such as Ecs. + """ + selectors: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + """ +elif False: + OpenApiExplorerApiMcpServerApiArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerApiArgs: + def __init__(__self__, *, + api_version: pulumi.Input[_builtins.str], + product: pulumi.Input[_builtins.str], + selectors: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + """ + :param pulumi.Input[_builtins.str] api_version: API version information, typically in date format—for example, the version for ECS is 2014-05-26. + :param pulumi.Input[_builtins.str] product: Product code, such as Ecs. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] selectors: Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + """ + pulumi.set(__self__, "api_version", api_version) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "selectors", selectors) + + @_builtins.property + @pulumi.getter(name="apiVersion") + def api_version(self) -> pulumi.Input[_builtins.str]: + """ + API version information, typically in date format—for example, the version for ECS is 2014-05-26. + """ + return pulumi.get(self, "api_version") + + @api_version.setter + def api_version(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "api_version", value) + + @_builtins.property + @pulumi.getter + def product(self) -> pulumi.Input[_builtins.str]: + """ + Product code, such as Ecs. + """ + return pulumi.get(self, "product") + + @product.setter + def product(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "product", value) + + @_builtins.property + @pulumi.getter + def selectors(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + """ + return pulumi.get(self, "selectors") + + @selectors.setter + def selectors(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "selectors", value) + + +if not MYPY: + class OpenApiExplorerApiMcpServerPromptArgsDict(TypedDict): + arguments: NotRequired[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgumentArgsDict']]]] + """ + Parameters for the prompt. See `arguments` below. + """ + content: NotRequired[pulumi.Input[_builtins.str]] + """ + Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + """ + description: NotRequired[pulumi.Input[_builtins.str]] + """ + Description of the prompt parameter. + """ + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Name of the prompt parameter. + """ +elif False: + OpenApiExplorerApiMcpServerPromptArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerPromptArgs: + def __init__(__self__, *, + arguments: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgumentArgs']]]] = None, + content: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgumentArgs']]] arguments: Parameters for the prompt. See `arguments` below. + :param pulumi.Input[_builtins.str] content: Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + :param pulumi.Input[_builtins.str] description: Description of the prompt parameter. + :param pulumi.Input[_builtins.str] name: Name of the prompt parameter. + """ + if arguments is not None: + pulumi.set(__self__, "arguments", arguments) + if content is not None: + pulumi.set(__self__, "content", content) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgumentArgs']]]]: + """ + Parameters for the prompt. See `arguments` below. + """ + return pulumi.get(self, "arguments") + + @arguments.setter + def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgumentArgs']]]]): + pulumi.set(self, "arguments", value) + + @_builtins.property + @pulumi.getter + def content(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + """ + return pulumi.get(self, "content") + + @content.setter + def content(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "content", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the prompt parameter. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the prompt parameter. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + +if not MYPY: + class OpenApiExplorerApiMcpServerPromptArgumentArgsDict(TypedDict): + description: NotRequired[pulumi.Input[_builtins.str]] + """ + Description of the API MCP service. + """ + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + required: NotRequired[pulumi.Input[_builtins.bool]] + """ + Indicates whether the prompt parameter is required. + """ +elif False: + OpenApiExplorerApiMcpServerPromptArgumentArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerPromptArgumentArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + required: Optional[pulumi.Input[_builtins.bool]] = None): + """ + :param pulumi.Input[_builtins.str] description: Description of the API MCP service. + :param pulumi.Input[_builtins.str] name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param pulumi.Input[_builtins.bool] required: Indicates whether the prompt parameter is required. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if required is not None: + pulumi.set(__self__, "required", required) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the API MCP service. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def required(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Indicates whether the prompt parameter is required. + """ + return pulumi.get(self, "required") + + @required.setter + def required(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "required", value) + + +if not MYPY: + class OpenApiExplorerApiMcpServerTerraformToolArgsDict(TypedDict): + async_: NotRequired[pulumi.Input[_builtins.bool]] + """ + Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + """ + code: NotRequired[pulumi.Input[_builtins.str]] + description: NotRequired[pulumi.Input[_builtins.str]] + destroy_policy: NotRequired[pulumi.Input[_builtins.str]] + """ + The cleanup policy applied to temporary resources after task completion, based on the task execution status: + - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + """ + name: NotRequired[pulumi.Input[_builtins.str]] +elif False: + OpenApiExplorerApiMcpServerTerraformToolArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerTerraformToolArgs: + def __init__(__self__, *, + async_: Optional[pulumi.Input[_builtins.bool]] = None, + code: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + destroy_policy: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.bool] async_: Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + :param pulumi.Input[_builtins.str] destroy_policy: The cleanup policy applied to temporary resources after task completion, based on the task execution status: + - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + """ + if async_ is not None: + pulumi.set(__self__, "async_", async_) + if code is not None: + pulumi.set(__self__, "code", code) + if description is not None: + pulumi.set(__self__, "description", description) + if destroy_policy is not None: + pulumi.set(__self__, "destroy_policy", destroy_policy) + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter(name="async") + def async_(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + """ + return pulumi.get(self, "async_") + + @async_.setter + def async_(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "async_", value) + + @_builtins.property + @pulumi.getter + def code(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "code") + + @code.setter + def code(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "code", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="destroyPolicy") + def destroy_policy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The cleanup policy applied to temporary resources after task completion, based on the task execution status: + - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + """ + return pulumi.get(self, "destroy_policy") + + @destroy_policy.setter + def destroy_policy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "destroy_policy", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + if not MYPY: class ProviderAssumeRoleArgsDict(TypedDict): role_arn: pulumi.Input[_builtins.str] diff --git a/sdk/python/pulumi_alicloud/ackone/cluster.py b/sdk/python/pulumi_alicloud/ackone/cluster.py index b442ba3867..e4713b74e6 100644 --- a/sdk/python/pulumi_alicloud/ackone/cluster.py +++ b/sdk/python/pulumi_alicloud/ackone/cluster.py @@ -248,6 +248,8 @@ def __init__(__self__, profile="XFlow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ack One Cluster can be imported using the id, e.g. @@ -307,6 +309,8 @@ def __init__(__self__, profile="XFlow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ack One Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ackone/membership_attachment.py b/sdk/python/pulumi_alicloud/ackone/membership_attachment.py index 3e6976b9ba..ebc2270478 100644 --- a/sdk/python/pulumi_alicloud/ackone/membership_attachment.py +++ b/sdk/python/pulumi_alicloud/ackone/membership_attachment.py @@ -171,6 +171,8 @@ def __init__(__self__, sub_cluster_id=default_managed_kubernetes.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. @@ -258,6 +260,8 @@ def __init__(__self__, sub_cluster_id=default_managed_kubernetes.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ack One Membership Attachment can be imported using the id, which consists of cluster_id and sub_cluster_id, e.g. diff --git a/sdk/python/pulumi_alicloud/actiontrail/advanced_query_template.py b/sdk/python/pulumi_alicloud/actiontrail/advanced_query_template.py index d399a91c18..237032140b 100644 --- a/sdk/python/pulumi_alicloud/actiontrail/advanced_query_template.py +++ b/sdk/python/pulumi_alicloud/actiontrail/advanced_query_template.py @@ -163,6 +163,8 @@ def __init__(__self__, template_sql="*") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Actiontrail Advanced Query Template can be imported using the id, e.g. @@ -210,6 +212,8 @@ def __init__(__self__, template_sql="*") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Actiontrail Advanced Query Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/actiontrail/global_events_storage_region.py b/sdk/python/pulumi_alicloud/actiontrail/global_events_storage_region.py index 41f2cd62a5..705702ae35 100644 --- a/sdk/python/pulumi_alicloud/actiontrail/global_events_storage_region.py +++ b/sdk/python/pulumi_alicloud/actiontrail/global_events_storage_region.py @@ -88,6 +88,8 @@ def __init__(__self__, foo = alicloud.actiontrail.GlobalEventsStorageRegion("foo", storage_region="cn-hangzhou") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global events storage region not can be imported. @@ -118,6 +120,8 @@ def __init__(__self__, foo = alicloud.actiontrail.GlobalEventsStorageRegion("foo", storage_region="cn-hangzhou") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global events storage region not can be imported. diff --git a/sdk/python/pulumi_alicloud/actiontrail/history_delivery_job.py b/sdk/python/pulumi_alicloud/actiontrail/history_delivery_job.py index 872e27072a..f46afbac52 100644 --- a/sdk/python/pulumi_alicloud/actiontrail/history_delivery_job.py +++ b/sdk/python/pulumi_alicloud/actiontrail/history_delivery_job.py @@ -22,7 +22,7 @@ def __init__(__self__, *, trail_name: pulumi.Input[_builtins.str]): """ The set of arguments for constructing a HistoryDeliveryJob resource. - :param pulumi.Input[_builtins.str] trail_name: The name of the trail for which you want to create a historical event delivery task. + :param pulumi.Input[_builtins.str] trail_name: The Track Name. """ pulumi.set(__self__, "trail_name", trail_name) @@ -30,7 +30,7 @@ def __init__(__self__, *, @pulumi.getter(name="trailName") def trail_name(self) -> pulumi.Input[_builtins.str]: """ - The name of the trail for which you want to create a historical event delivery task. + The Track Name. """ return pulumi.get(self, "trail_name") @@ -42,23 +42,39 @@ def trail_name(self, value: pulumi.Input[_builtins.str]): @pulumi.input_type class _HistoryDeliveryJobState: def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.int]] = None, trail_name: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering HistoryDeliveryJob resources. - :param pulumi.Input[_builtins.int] status: The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. - :param pulumi.Input[_builtins.str] trail_name: The name of the trail for which you want to create a historical event delivery task. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.int] status: The status of the resource + :param pulumi.Input[_builtins.str] trail_name: The Track Name. """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) if status is not None: pulumi.set(__self__, "status", status) if trail_name is not None: pulumi.set(__self__, "trail_name", trail_name) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + @_builtins.property @pulumi.getter def status(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + The status of the resource """ return pulumi.get(self, "status") @@ -70,7 +86,7 @@ def status(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="trailName") def trail_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the trail for which you want to create a historical event delivery task. + The Track Name. """ return pulumi.get(self, "trail_name") @@ -88,9 +104,11 @@ def __init__(__self__, trail_name: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides a Actiontrail History Delivery Job resource. + Provides a Action Trail History Delivery Job resource. + + Delivery History Tasks. - For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). + For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). > **NOTE:** Available since v1.139.0. @@ -106,30 +124,39 @@ def __init__(__self__, ```python import pulumi + import json import pulumi_alicloud as alicloud - import pulumi_random as random config = pulumi.Config() name = config.get("name") if name is None: name = "tf-example" - default = random.index.Integer("default", - min=10000, - max=99999) - example = alicloud.get_regions(current=True) - example_get_account = alicloud.get_account() - example_project = alicloud.log.Project("example", - project_name=f"{name}-{default['result']}", - description="tf actiontrail example") - example_trail = alicloud.actiontrail.Trail("example", - trail_name=f"{name}-{default['result']}", - sls_project_arn=example_project.name.apply(lambda name: f"acs:log:{example.regions[0].id}:{example_get_account.id}:project/{name}")) - example_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob("example", trail_name=example_trail.id) + default = alicloud.get_regions(current=True) + default_get_account = alicloud.get_account() + default_get_roles = alicloud.ram.get_roles(name_regex="AliyunServiceRoleForActionTrail") + default_project = alicloud.log.Project("default", + description=name, + project_name=name) + default_trail = alicloud.actiontrail.Trail("default", + event_rw="Write", + sls_project_arn=default_project.project_name.apply(lambda project_name: f"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}"), + trail_name=name, + sls_write_role_arn=default_get_roles.roles[0].arn, + trail_region="All", + is_organization_trail=False, + status="Enable", + event_selectors=json.dumps([{ + "ServiceName": "PDS", + }]), + data_event_trail_region="cn-hangzhou") + default_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob("default", trail_name=default_trail.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Actiontrail History Delivery Job can be imported using the id, e.g. + Action Trail History Delivery Job can be imported using the id, e.g. ```sh $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example @@ -137,7 +164,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] trail_name: The name of the trail for which you want to create a historical event delivery task. + :param pulumi.Input[_builtins.str] trail_name: The Track Name. """ ... @overload @@ -146,9 +173,11 @@ def __init__(__self__, args: HistoryDeliveryJobArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a Actiontrail History Delivery Job resource. + Provides a Action Trail History Delivery Job resource. - For information about Actiontrail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). + Delivery History Tasks. + + For information about Action Trail History Delivery Job and how to use it, see [What is History Delivery Job](https://www.alibabacloud.com/help/en/actiontrail/latest/api-actiontrail-2020-07-06-createdeliveryhistoryjob). > **NOTE:** Available since v1.139.0. @@ -164,30 +193,39 @@ def __init__(__self__, ```python import pulumi + import json import pulumi_alicloud as alicloud - import pulumi_random as random config = pulumi.Config() name = config.get("name") if name is None: name = "tf-example" - default = random.index.Integer("default", - min=10000, - max=99999) - example = alicloud.get_regions(current=True) - example_get_account = alicloud.get_account() - example_project = alicloud.log.Project("example", - project_name=f"{name}-{default['result']}", - description="tf actiontrail example") - example_trail = alicloud.actiontrail.Trail("example", - trail_name=f"{name}-{default['result']}", - sls_project_arn=example_project.name.apply(lambda name: f"acs:log:{example.regions[0].id}:{example_get_account.id}:project/{name}")) - example_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob("example", trail_name=example_trail.id) + default = alicloud.get_regions(current=True) + default_get_account = alicloud.get_account() + default_get_roles = alicloud.ram.get_roles(name_regex="AliyunServiceRoleForActionTrail") + default_project = alicloud.log.Project("default", + description=name, + project_name=name) + default_trail = alicloud.actiontrail.Trail("default", + event_rw="Write", + sls_project_arn=default_project.project_name.apply(lambda project_name: f"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}"), + trail_name=name, + sls_write_role_arn=default_get_roles.roles[0].arn, + trail_region="All", + is_organization_trail=False, + status="Enable", + event_selectors=json.dumps([{ + "ServiceName": "PDS", + }]), + data_event_trail_region="cn-hangzhou") + default_history_delivery_job = alicloud.actiontrail.HistoryDeliveryJob("default", trail_name=default_trail.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Actiontrail History Delivery Job can be imported using the id, e.g. + Action Trail History Delivery Job can be imported using the id, e.g. ```sh $ pulumi import alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob example @@ -221,6 +259,7 @@ def _internal_init(__self__, if trail_name is None and not opts.urn: raise TypeError("Missing required property 'trail_name'") __props__.__dict__["trail_name"] = trail_name + __props__.__dict__["create_time"] = None __props__.__dict__["status"] = None super(HistoryDeliveryJob, __self__).__init__( 'alicloud:actiontrail/historyDeliveryJob:HistoryDeliveryJob', @@ -232,6 +271,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.int]] = None, trail_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'HistoryDeliveryJob': """ @@ -241,22 +281,32 @@ 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[_builtins.int] status: The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. - :param pulumi.Input[_builtins.str] trail_name: The name of the trail for which you want to create a historical event delivery task. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.int] status: The status of the resource + :param pulumi.Input[_builtins.str] trail_name: The Track Name. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _HistoryDeliveryJobState.__new__(_HistoryDeliveryJobState) + __props__.__dict__["create_time"] = create_time __props__.__dict__["status"] = status __props__.__dict__["trail_name"] = trail_name return HistoryDeliveryJob(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + @_builtins.property @pulumi.getter def status(self) -> pulumi.Output[_builtins.int]: """ - The status of the task. Valid values: `0`, `1`, `2`, `3`. `0`: The task is initializing. `1`: The task is delivering historical events. `2`: The delivery of historical events is complete. `3`: The task fails. + The status of the resource """ return pulumi.get(self, "status") @@ -264,7 +314,7 @@ def status(self) -> pulumi.Output[_builtins.int]: @pulumi.getter(name="trailName") def trail_name(self) -> pulumi.Output[_builtins.str]: """ - The name of the trail for which you want to create a historical event delivery task. + The Track Name. """ return pulumi.get(self, "trail_name") diff --git a/sdk/python/pulumi_alicloud/actiontrail/trail.py b/sdk/python/pulumi_alicloud/actiontrail/trail.py index 828aad8b1b..e57039fbab 100644 --- a/sdk/python/pulumi_alicloud/actiontrail/trail.py +++ b/sdk/python/pulumi_alicloud/actiontrail/trail.py @@ -74,8 +74,8 @@ def __init__(__self__, *, if mns_topic_arn is not None: pulumi.set(__self__, "mns_topic_arn", mns_topic_arn) if name is not None: - warnings.warn("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""", DeprecationWarning) - pulumi.log.warn("""name is deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + warnings.warn("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) if oss_bucket_name is not None: @@ -187,7 +187,7 @@ def mns_topic_arn(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead. @@ -372,8 +372,8 @@ def __init__(__self__, *, if mns_topic_arn is not None: pulumi.set(__self__, "mns_topic_arn", mns_topic_arn) if name is not None: - warnings.warn("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""", DeprecationWarning) - pulumi.log.warn("""name is deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + warnings.warn("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) if oss_bucket_name is not None: @@ -499,7 +499,7 @@ def mns_topic_arn(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead. @@ -693,6 +693,8 @@ def __init__(__self__, sls_project_arn=default_project.project_name.apply(lambda project_name: f"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}")) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Actiontrail Trail can be imported using the id, e.g. @@ -764,6 +766,8 @@ def __init__(__self__, sls_project_arn=default_project.project_name.apply(lambda project_name: f"acs:log:{default.regions[0].id}:{default_get_account.id}:project/{project_name}")) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Actiontrail Trail can be imported using the id, e.g. @@ -980,7 +984,7 @@ def mns_topic_arn(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> pulumi.Output[_builtins.str]: """ Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead. @@ -1046,7 +1050,7 @@ def sls_write_role_arn(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter - def status(self) -> pulumi.Output[Optional[_builtins.str]]: + def status(self) -> pulumi.Output[_builtins.str]: """ The status of the trail. Default value: `Enable`. Valid values: `Enable`, `Disable`. """ diff --git a/sdk/python/pulumi_alicloud/actiontrail/trail_deprecated.py b/sdk/python/pulumi_alicloud/actiontrail/trail_deprecated.py index 8dbde6e2da..6870439265 100644 --- a/sdk/python/pulumi_alicloud/actiontrail/trail_deprecated.py +++ b/sdk/python/pulumi_alicloud/actiontrail/trail_deprecated.py @@ -66,8 +66,8 @@ def __init__(__self__, *, if mns_topic_arn is not None: pulumi.set(__self__, "mns_topic_arn", mns_topic_arn) if name is not None: - warnings.warn("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""", DeprecationWarning) - pulumi.log.warn("""name is deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + warnings.warn("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) if oss_bucket_name is not None: @@ -161,7 +161,7 @@ def mns_topic_arn(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ The name of the trail to be created, which must be unique for an account. @@ -326,8 +326,8 @@ def __init__(__self__, *, if mns_topic_arn is not None: pulumi.set(__self__, "mns_topic_arn", mns_topic_arn) if name is not None: - warnings.warn("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""", DeprecationWarning) - pulumi.log.warn("""name is deprecated: Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + warnings.warn("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) if oss_bucket_name is not None: @@ -432,7 +432,7 @@ def mns_topic_arn(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ The name of the trail to be created, which must be unique for an account. @@ -603,6 +603,8 @@ def __init__(__self__, oss_key_prefix="at-product-account-audit-B") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Action trail can be imported using the id, e.g. @@ -651,6 +653,8 @@ def __init__(__self__, oss_key_prefix="at-product-account-audit-B") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Action trail can be imported using the id, e.g. @@ -837,7 +841,7 @@ def mns_topic_arn(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter - @_utilities.deprecated("""Field `name` has been deprecated from provider version 1.95.0. New field `trail_name` instead.""") + @_utilities.deprecated("""Field 'name' has been deprecated since provider version 1.95.0. New field 'trail_name' instead.""") def name(self) -> pulumi.Output[_builtins.str]: """ The name of the trail to be created, which must be unique for an account. @@ -899,7 +903,7 @@ def sls_write_role_arn(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter - def status(self) -> pulumi.Output[Optional[_builtins.str]]: + def status(self) -> pulumi.Output[_builtins.str]: return pulumi.get(self, "status") @_builtins.property diff --git a/sdk/python/pulumi_alicloud/adb/account.py b/sdk/python/pulumi_alicloud/adb/account.py index 07a28d31fe..9d823bf571 100644 --- a/sdk/python/pulumi_alicloud/adb/account.py +++ b/sdk/python/pulumi_alicloud/adb/account.py @@ -271,6 +271,8 @@ def __init__(__self__, account_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB account can be imported using the id, e.g. @@ -330,6 +332,8 @@ def __init__(__self__, account_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/adb/cluster.py b/sdk/python/pulumi_alicloud/adb/cluster.py index e0c9891308..75519c9efd 100644 --- a/sdk/python/pulumi_alicloud/adb/cluster.py +++ b/sdk/python/pulumi_alicloud/adb/cluster.py @@ -1035,6 +1035,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB cluster can be imported using the id, e.g. @@ -1116,6 +1118,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/adb/connection.py b/sdk/python/pulumi_alicloud/adb/connection.py index fb55d3171a..a84c24b38c 100644 --- a/sdk/python/pulumi_alicloud/adb/connection.py +++ b/sdk/python/pulumi_alicloud/adb/connection.py @@ -186,6 +186,8 @@ def __init__(__self__, connection_prefix="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB connection can be imported using the id, e.g. @@ -239,6 +241,8 @@ def __init__(__self__, connection_prefix="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/adb/db_cluster_lake_version.py b/sdk/python/pulumi_alicloud/adb/db_cluster_lake_version.py index 10ede2ec97..1ec456e371 100644 --- a/sdk/python/pulumi_alicloud/adb/db_cluster_lake_version.py +++ b/sdk/python/pulumi_alicloud/adb/db_cluster_lake_version.py @@ -1093,6 +1093,8 @@ def __init__(__self__, enable_default_resource_group=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. @@ -1172,6 +1174,8 @@ def __init__(__self__, enable_default_resource_group=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for MySQL (ADB) DB Cluster Lake Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/adb/lake_account.py b/sdk/python/pulumi_alicloud/adb/lake_account.py index 42908fdf2f..71bd1955ca 100644 --- a/sdk/python/pulumi_alicloud/adb/lake_account.py +++ b/sdk/python/pulumi_alicloud/adb/lake_account.py @@ -328,6 +328,8 @@ def __init__(__self__, account_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB Lake Account can be imported using the id, e.g. @@ -427,6 +429,8 @@ def __init__(__self__, account_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ADB Lake Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/adb/resource_group.py b/sdk/python/pulumi_alicloud/adb/resource_group.py index ffb9c0bd99..e9a9fe3663 100644 --- a/sdk/python/pulumi_alicloud/adb/resource_group.py +++ b/sdk/python/pulumi_alicloud/adb/resource_group.py @@ -621,6 +621,8 @@ def __init__(__self__, db_cluster_id=default_db_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Adb Resource Group can be imported using the id, e.g. @@ -710,6 +712,8 @@ def __init__(__self__, db_cluster_id=default_db_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Adb Resource Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/a_script.py b/sdk/python/pulumi_alicloud/alb/a_script.py index 8735768b49..3f656c1fc9 100644 --- a/sdk/python/pulumi_alicloud/alb/a_script.py +++ b/sdk/python/pulumi_alicloud/alb/a_script.py @@ -409,6 +409,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) A Script can be imported using the id, e.g. @@ -526,6 +528,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) A Script can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/acl.py b/sdk/python/pulumi_alicloud/alb/acl.py index c06f934c0f..352139e24d 100644 --- a/sdk/python/pulumi_alicloud/alb/acl.py +++ b/sdk/python/pulumi_alicloud/alb/acl.py @@ -255,6 +255,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Acl can be imported using the id, e.g. @@ -299,6 +301,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/acl_entry_attachment.py b/sdk/python/pulumi_alicloud/alb/acl_entry_attachment.py index 468978a177..d6398664ac 100644 --- a/sdk/python/pulumi_alicloud/alb/acl_entry_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/acl_entry_attachment.py @@ -177,6 +177,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Acl entry attachment can be imported using the id, e.g. @@ -222,6 +224,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/health_check_template.py b/sdk/python/pulumi_alicloud/alb/health_check_template.py index acad868baf..5722e24193 100644 --- a/sdk/python/pulumi_alicloud/alb/health_check_template.py +++ b/sdk/python/pulumi_alicloud/alb/health_check_template.py @@ -581,6 +581,8 @@ def __init__(__self__, example = alicloud.alb.HealthCheckTemplate("example", health_check_template_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. @@ -643,6 +645,8 @@ def __init__(__self__, example = alicloud.alb.HealthCheckTemplate("example", health_check_template_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Health Check Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/listener.py b/sdk/python/pulumi_alicloud/alb/listener.py index 5fdbe0ec87..107d2c2a96 100644 --- a/sdk/python/pulumi_alicloud/alb/listener.py +++ b/sdk/python/pulumi_alicloud/alb/listener.py @@ -873,6 +873,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Listener can be imported using the id, e.g. @@ -1040,6 +1042,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Listener can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/listener_acl_attachment.py b/sdk/python/pulumi_alicloud/alb/listener_acl_attachment.py index fcaae0d610..07cf27fdd4 100644 --- a/sdk/python/pulumi_alicloud/alb/listener_acl_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/listener_acl_attachment.py @@ -260,6 +260,8 @@ def __init__(__self__, acl_type="White") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Listener Acl Attachment can be imported using the id, e.g. @@ -383,6 +385,8 @@ def __init__(__self__, acl_type="White") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Listener Acl Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/listener_additional_certificate_attachment.py b/sdk/python/pulumi_alicloud/alb/listener_additional_certificate_attachment.py index 8ff233d9ba..0a65df0099 100644 --- a/sdk/python/pulumi_alicloud/alb/listener_additional_certificate_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/listener_additional_certificate_attachment.py @@ -299,6 +299,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. @@ -482,6 +484,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/load_balancer.py b/sdk/python/pulumi_alicloud/alb/load_balancer.py index 918d4a88ff..823ab53af6 100644 --- a/sdk/python/pulumi_alicloud/alb/load_balancer.py +++ b/sdk/python/pulumi_alicloud/alb/load_balancer.py @@ -733,6 +733,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. @@ -833,6 +835,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py b/sdk/python/pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py index 982b37d6db..ed6e27544b 100644 --- a/sdk/python/pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py @@ -228,6 +228,8 @@ def __init__(__self__, log_project=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, log_project=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Access Log Config Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py b/sdk/python/pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py index 00170e112b..511faeb03b 100644 --- a/sdk/python/pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py @@ -220,6 +220,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. @@ -308,6 +310,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alb Load Balancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/load_balancer_security_group_attachment.py b/sdk/python/pulumi_alicloud/alb/load_balancer_security_group_attachment.py index 5dc04acdb7..ee8e98c5e7 100644 --- a/sdk/python/pulumi_alicloud/alb/load_balancer_security_group_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/load_balancer_security_group_attachment.py @@ -199,6 +199,8 @@ def __init__(__self__, load_balancer_id=create_alb.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. @@ -281,6 +283,8 @@ def __init__(__self__, load_balancer_id=create_alb.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py b/sdk/python/pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py index e1c2b022b1..5a65d9db11 100644 --- a/sdk/python/pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +++ b/sdk/python/pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py @@ -222,6 +222,8 @@ def __init__(__self__, load_balancer_id=default78_tiyg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. @@ -313,6 +315,8 @@ def __init__(__self__, load_balancer_id=default78_tiyg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/rule.py b/sdk/python/pulumi_alicloud/alb/rule.py index 8175657a50..ee2b9719a4 100644 --- a/sdk/python/pulumi_alicloud/alb/rule.py +++ b/sdk/python/pulumi_alicloud/alb/rule.py @@ -401,6 +401,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Rule can be imported using the id, e.g. @@ -537,6 +539,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/security_policy.py b/sdk/python/pulumi_alicloud/alb/security_policy.py index 498cbd33c9..d0f276be35 100644 --- a/sdk/python/pulumi_alicloud/alb/security_policy.py +++ b/sdk/python/pulumi_alicloud/alb/security_policy.py @@ -274,6 +274,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Security Policy can be imported using the id, e.g. @@ -321,6 +323,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALB Security Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alb/server_group.py b/sdk/python/pulumi_alicloud/alb/server_group.py index bf856ab44f..aec91f2702 100644 --- a/sdk/python/pulumi_alicloud/alb/server_group.py +++ b/sdk/python/pulumi_alicloud/alb/server_group.py @@ -888,6 +888,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Server Group can be imported using the id, e.g. @@ -1036,6 +1038,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Load Balancer (ALB) Server Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/aligreen/audit_callback.py b/sdk/python/pulumi_alicloud/aligreen/audit_callback.py index 26e55324d4..48da3e9f05 100644 --- a/sdk/python/pulumi_alicloud/aligreen/audit_callback.py +++ b/sdk/python/pulumi_alicloud/aligreen/audit_callback.py @@ -236,6 +236,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Audit Callback can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Audit Callback can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/aligreen/biz_type.py b/sdk/python/pulumi_alicloud/aligreen/biz_type.py index eb4b0d5154..44b404bf86 100644 --- a/sdk/python/pulumi_alicloud/aligreen/biz_type.py +++ b/sdk/python/pulumi_alicloud/aligreen/biz_type.py @@ -230,6 +230,8 @@ def __init__(__self__, biz_type_import="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Biz Type can be imported using the id, e.g. @@ -279,6 +281,8 @@ def __init__(__self__, biz_type_import="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Biz Type can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/aligreen/callback.py b/sdk/python/pulumi_alicloud/aligreen/callback.py index e36016645d..74355c06dd 100644 --- a/sdk/python/pulumi_alicloud/aligreen/callback.py +++ b/sdk/python/pulumi_alicloud/aligreen/callback.py @@ -253,6 +253,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Callback can be imported using the id, e.g. @@ -312,6 +314,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Callback can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/aligreen/image_lib.py b/sdk/python/pulumi_alicloud/aligreen/image_lib.py index ef7dc07964..bbe3bcff83 100644 --- a/sdk/python/pulumi_alicloud/aligreen/image_lib.py +++ b/sdk/python/pulumi_alicloud/aligreen/image_lib.py @@ -231,6 +231,8 @@ def __init__(__self__, biz_types=[default_ualun_b.biz_type_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Image Lib can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, biz_types=[default_ualun_b.biz_type_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Image Lib can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/aligreen/keyword_lib.py b/sdk/python/pulumi_alicloud/aligreen/keyword_lib.py index 638eae98a5..d3ec7fc0c1 100644 --- a/sdk/python/pulumi_alicloud/aligreen/keyword_lib.py +++ b/sdk/python/pulumi_alicloud/aligreen/keyword_lib.py @@ -375,6 +375,8 @@ def __init__(__self__, enable=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Keyword Lib can be imported using the id, e.g. @@ -442,6 +444,8 @@ def __init__(__self__, enable=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aligreen Keyword Lib can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alikafka/consumer_group.py b/sdk/python/pulumi_alicloud/alikafka/consumer_group.py index 8e4ecd4a3e..cc4e79627c 100644 --- a/sdk/python/pulumi_alicloud/alikafka/consumer_group.py +++ b/sdk/python/pulumi_alicloud/alikafka/consumer_group.py @@ -214,6 +214,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALIKAFKA GROUP can be imported using the id, e.g. @@ -280,6 +282,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alikafka/instance_allowed_ip_attachment.py b/sdk/python/pulumi_alicloud/alikafka/instance_allowed_ip_attachment.py index 1c1cb869e3..cc754eb48f 100644 --- a/sdk/python/pulumi_alicloud/alikafka/instance_allowed_ip_attachment.py +++ b/sdk/python/pulumi_alicloud/alikafka/instance_allowed_ip_attachment.py @@ -232,6 +232,8 @@ def __init__(__self__, allowed_ip="114.237.9.78/32") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. @@ -306,6 +308,8 @@ def __init__(__self__, allowed_ip="114.237.9.78/32") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AliKafka Instance Allowed Ip Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alikafka/sasl_acl.py b/sdk/python/pulumi_alicloud/alikafka/sasl_acl.py index faaa5f08b6..0da91ce684 100644 --- a/sdk/python/pulumi_alicloud/alikafka/sasl_acl.py +++ b/sdk/python/pulumi_alicloud/alikafka/sasl_acl.py @@ -310,6 +310,8 @@ def __init__(__self__, acl_operation_type="Write") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALIKAFKA GROUP can be imported using the id, e.g. @@ -396,6 +398,8 @@ def __init__(__self__, acl_operation_type="Write") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ALIKAFKA GROUP can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/alikafka/sasl_user.py b/sdk/python/pulumi_alicloud/alikafka/sasl_user.py index 9988a1c94b..79535d9f47 100644 --- a/sdk/python/pulumi_alicloud/alikafka/sasl_user.py +++ b/sdk/python/pulumi_alicloud/alikafka/sasl_user.py @@ -23,16 +23,21 @@ def __init__(__self__, *, username: pulumi.Input[_builtins.str], kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + mechanism: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a SaslUser resource. - :param pulumi.Input[_builtins.str] instance_id: ID of the ALIKAFKA Instance that owns the groups. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. :param pulumi.Input[_builtins.str] username: The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. You have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a user with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] mechanism: The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. :param pulumi.Input[_builtins.str] password: The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kms_encrypted_password` fields. - :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "username", username) @@ -40,6 +45,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_encrypted_password", kms_encrypted_password) if kms_encryption_context is not None: pulumi.set(__self__, "kms_encryption_context", kms_encryption_context) + if mechanism is not None: + pulumi.set(__self__, "mechanism", mechanism) if password is not None: pulumi.set(__self__, "password", password) if type is not None: @@ -49,7 +56,7 @@ def __init__(__self__, *, @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Input[_builtins.str]: """ - ID of the ALIKAFKA Instance that owns the groups. + The instance ID. """ return pulumi.get(self, "instance_id") @@ -93,6 +100,21 @@ def kms_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.In def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "kms_encryption_context", value) + @_builtins.property + @pulumi.getter + def mechanism(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + """ + return pulumi.get(self, "mechanism") + + @mechanism.setter + def mechanism(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mechanism", value) + @_builtins.property @pulumi.getter def password(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -109,7 +131,7 @@ def password(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + The authentication mechanism. Default value: `plain`. Valid values: """ return pulumi.get(self, "type") @@ -124,16 +146,21 @@ def __init__(__self__, *, instance_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + mechanism: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, username: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering SaslUser resources. - :param pulumi.Input[_builtins.str] instance_id: ID of the ALIKAFKA Instance that owns the groups. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. You have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a user with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] mechanism: The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. :param pulumi.Input[_builtins.str] password: The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kms_encrypted_password` fields. - :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: :param pulumi.Input[_builtins.str] username: The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. """ if instance_id is not None: @@ -142,6 +169,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_encrypted_password", kms_encrypted_password) if kms_encryption_context is not None: pulumi.set(__self__, "kms_encryption_context", kms_encryption_context) + if mechanism is not None: + pulumi.set(__self__, "mechanism", mechanism) if password is not None: pulumi.set(__self__, "password", password) if type is not None: @@ -153,7 +182,7 @@ def __init__(__self__, *, @pulumi.getter(name="instanceId") def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - ID of the ALIKAFKA Instance that owns the groups. + The instance ID. """ return pulumi.get(self, "instance_id") @@ -185,6 +214,21 @@ def kms_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.In def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "kms_encryption_context", value) + @_builtins.property + @pulumi.getter + def mechanism(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + """ + return pulumi.get(self, "mechanism") + + @mechanism.setter + def mechanism(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mechanism", value) + @_builtins.property @pulumi.getter def password(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -201,7 +245,7 @@ def password(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + The authentication mechanism. Default value: `plain`. Valid values: """ return pulumi.get(self, "type") @@ -231,19 +275,17 @@ def __init__(__self__, instance_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + mechanism: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, username: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides an Alikafka Sasl User resource. + Provides an AliKafka Sasl User resource. - > **NOTE:** Available since v1.66.0. + For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). - > **NOTE:** Only the following regions support create alikafka Sasl User. - [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] - - For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). + > **NOTE:** Available since v1.66.0. ## Example Usage @@ -257,7 +299,7 @@ def __init__(__self__, config = pulumi.Config() name = config.get("name") if name is None: - name = "tf-example" + name = "terraform-example" default = alicloud.get_zones(available_resource_creation="VSwitch") default_network = alicloud.vpc.Network("default", vpc_name=name, @@ -292,9 +334,11 @@ def __init__(__self__, password="tf_example123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Alikafka Sasl User can be imported using the id, e.g. + AliKafka Sasl User can be imported using the id, e.g. ```sh $ pulumi import alicloud:alikafka/saslUser:SaslUser example : @@ -302,11 +346,15 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] instance_id: ID of the ALIKAFKA Instance that owns the groups. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. You have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a user with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] mechanism: The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. :param pulumi.Input[_builtins.str] password: The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kms_encrypted_password` fields. - :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: :param pulumi.Input[_builtins.str] username: The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. """ ... @@ -316,14 +364,11 @@ def __init__(__self__, args: SaslUserArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides an Alikafka Sasl User resource. + Provides an AliKafka Sasl User resource. - > **NOTE:** Available since v1.66.0. - - > **NOTE:** Only the following regions support create alikafka Sasl User. - [`cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`] + For information about AliKafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). - For information about Alikafka Sasl User and how to use it, see [What is Sasl User](https://www.alibabacloud.com/help/en/message-queue-for-apache-kafka/latest/api-alikafka-2019-09-16-createsasluser). + > **NOTE:** Available since v1.66.0. ## Example Usage @@ -337,7 +382,7 @@ def __init__(__self__, config = pulumi.Config() name = config.get("name") if name is None: - name = "tf-example" + name = "terraform-example" default = alicloud.get_zones(available_resource_creation="VSwitch") default_network = alicloud.vpc.Network("default", vpc_name=name, @@ -372,9 +417,11 @@ def __init__(__self__, password="tf_example123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Alikafka Sasl User can be imported using the id, e.g. + AliKafka Sasl User can be imported using the id, e.g. ```sh $ pulumi import alicloud:alikafka/saslUser:SaslUser example : @@ -398,6 +445,7 @@ def _internal_init(__self__, instance_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + mechanism: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, username: Optional[pulumi.Input[_builtins.str]] = None, @@ -415,6 +463,7 @@ def _internal_init(__self__, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["mechanism"] = mechanism __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) __props__.__dict__["type"] = type if username is None and not opts.urn: @@ -435,6 +484,7 @@ def get(resource_name: str, instance_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + mechanism: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, username: Optional[pulumi.Input[_builtins.str]] = None) -> 'SaslUser': @@ -445,11 +495,15 @@ 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[_builtins.str] instance_id: ID of the ALIKAFKA Instance that owns the groups. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. You have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a user with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] mechanism: The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. :param pulumi.Input[_builtins.str] password: The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kms_encrypted_password` fields. - :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + :param pulumi.Input[_builtins.str] type: The authentication mechanism. Default value: `plain`. Valid values: :param pulumi.Input[_builtins.str] username: The name of the SASL user. The length should between `1` to `64` characters. The characters can only contain `a`-`z`, `A`-`Z`, `0`-`9`, `_` and `-`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -459,6 +513,7 @@ def get(resource_name: str, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["mechanism"] = mechanism __props__.__dict__["password"] = password __props__.__dict__["type"] = type __props__.__dict__["username"] = username @@ -468,7 +523,7 @@ def get(resource_name: str, @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Output[_builtins.str]: """ - ID of the ALIKAFKA Instance that owns the groups. + The instance ID. """ return pulumi.get(self, "instance_id") @@ -490,7 +545,18 @@ def kms_encryption_context(self) -> pulumi.Output[Optional[Mapping[str, _builtin @_builtins.property @pulumi.getter - def password(self) -> pulumi.Output[Optional[_builtins.str]]: + def mechanism(self) -> pulumi.Output[_builtins.str]: + """ + The encryption method. Valid values: + - SCRAM-SHA-512. This is the default value. + - SCRAM-SHA-256 + > **NOTE:** This parameter is available only for serverless ApsaraMQ for Kafka instances. + """ + return pulumi.get(self, "mechanism") + + @_builtins.property + @pulumi.getter + def password(self) -> pulumi.Output[_builtins.str]: """ The password of the SASL user. It may consist of letters, digits, or underlines, with a length of 1 to 64 characters. You have to specify one of `password` and `kms_encrypted_password` fields. """ @@ -500,7 +566,7 @@ def password(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter def type(self) -> pulumi.Output[_builtins.str]: """ - The authentication mechanism. Default value: `plain`. Valid values: `plain`, `scram`. + The authentication mechanism. Default value: `plain`. Valid values: """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_alicloud/alikafka/topic.py b/sdk/python/pulumi_alicloud/alikafka/topic.py index 828ecbd22b..f31b1e53af 100644 --- a/sdk/python/pulumi_alicloud/alikafka/topic.py +++ b/sdk/python/pulumi_alicloud/alikafka/topic.py @@ -430,6 +430,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alikafka Topic can be imported using the id, e.g. @@ -525,6 +527,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alikafka Topic can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/amqp/binding.py b/sdk/python/pulumi_alicloud/amqp/binding.py index e1aea1e9b1..e442826c5f 100644 --- a/sdk/python/pulumi_alicloud/amqp/binding.py +++ b/sdk/python/pulumi_alicloud/amqp/binding.py @@ -344,6 +344,8 @@ def __init__(__self__, virtual_host_name=default_virtual_host.virtual_host_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Binding can be imported using the id, e.g. @@ -424,6 +426,8 @@ def __init__(__self__, virtual_host_name=default_virtual_host.virtual_host_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Binding can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/amqp/exchange.py b/sdk/python/pulumi_alicloud/amqp/exchange.py index 261ac0a690..94e3945d62 100644 --- a/sdk/python/pulumi_alicloud/amqp/exchange.py +++ b/sdk/python/pulumi_alicloud/amqp/exchange.py @@ -399,6 +399,8 @@ def __init__(__self__, x_delayed_type="DIRECT") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Exchange can be imported using the id, e.g. @@ -483,6 +485,8 @@ def __init__(__self__, x_delayed_type="DIRECT") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Exchange can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/amqp/instance.py b/sdk/python/pulumi_alicloud/amqp/instance.py index e6663027d6..4caa0217cb 100644 --- a/sdk/python/pulumi_alicloud/amqp/instance.py +++ b/sdk/python/pulumi_alicloud/amqp/instance.py @@ -21,6 +21,7 @@ class InstanceArgs: def __init__(__self__, *, payment_type: pulumi.Input[_builtins.str], auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, + edition: Optional[pulumi.Input[_builtins.str]] = None, instance_name: Optional[pulumi.Input[_builtins.str]] = None, instance_type: Optional[pulumi.Input[_builtins.str]] = None, max_connections: Optional[pulumi.Input[_builtins.int]] = None, @@ -29,6 +30,7 @@ def __init__(__self__, *, modify_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, period_cycle: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_capacity: Optional[pulumi.Input[_builtins.int]] = None, queue_capacity: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration_unit: Optional[pulumi.Input[_builtins.str]] = None, @@ -44,6 +46,7 @@ def __init__(__self__, *, - Subscription: Pre-paid. - PayAsYouGo: Post-paid, and for serverless Edition. :param pulumi.Input[_builtins.bool] auto_renew: Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. + :param pulumi.Input[_builtins.str] edition: The deployment architecture for Serverless instances. Valid values: :param pulumi.Input[_builtins.str] instance_name: The instance name. :param pulumi.Input[_builtins.str] instance_type: Instance type. Valid values: - professional: professional Edition @@ -59,6 +62,7 @@ def __init__(__self__, *, - Downgrade: Downgrading. :param pulumi.Input[_builtins.int] period: Prepayment cycle, unit: periodCycle. This parameter is valid when PaymentType is set to Subscription. :param pulumi.Input[_builtins.str] period_cycle: Prepaid cycle units. Value: Month, Year. + :param pulumi.Input[_builtins.int] provisioned_capacity: The provisioned TPS capacity for reserved + elastic instances. :param pulumi.Input[_builtins.str] queue_capacity: Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. :param pulumi.Input[_builtins.int] renewal_duration: The number of automatic renewal cycles. :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. @@ -72,6 +76,8 @@ def __init__(__self__, *, pulumi.set(__self__, "payment_type", payment_type) if auto_renew is not None: pulumi.set(__self__, "auto_renew", auto_renew) + if edition is not None: + pulumi.set(__self__, "edition", edition) if instance_name is not None: pulumi.set(__self__, "instance_name", instance_name) if instance_type is not None: @@ -88,6 +94,8 @@ def __init__(__self__, *, pulumi.set(__self__, "period", period) if period_cycle is not None: pulumi.set(__self__, "period_cycle", period_cycle) + if provisioned_capacity is not None: + pulumi.set(__self__, "provisioned_capacity", provisioned_capacity) if queue_capacity is not None: pulumi.set(__self__, "queue_capacity", queue_capacity) if renewal_duration is not None: @@ -133,6 +141,18 @@ def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "auto_renew", value) + @_builtins.property + @pulumi.getter + def edition(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The deployment architecture for Serverless instances. Valid values: + """ + return pulumi.get(self, "edition") + + @edition.setter + def edition(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "edition", value) + @_builtins.property @pulumi.getter(name="instanceName") def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -236,6 +256,18 @@ def period_cycle(self) -> Optional[pulumi.Input[_builtins.str]]: def period_cycle(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "period_cycle", value) + @_builtins.property + @pulumi.getter(name="provisionedCapacity") + def provisioned_capacity(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The provisioned TPS capacity for reserved + elastic instances. + """ + return pulumi.get(self, "provisioned_capacity") + + @provisioned_capacity.setter + def provisioned_capacity(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "provisioned_capacity", value) + @_builtins.property @pulumi.getter(name="queueCapacity") def queue_capacity(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -350,6 +382,7 @@ class _InstanceState: def __init__(__self__, *, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, create_time: Optional[pulumi.Input[_builtins.int]] = None, + edition: Optional[pulumi.Input[_builtins.str]] = None, instance_name: Optional[pulumi.Input[_builtins.str]] = None, instance_type: Optional[pulumi.Input[_builtins.str]] = None, max_connections: Optional[pulumi.Input[_builtins.int]] = None, @@ -359,6 +392,7 @@ def __init__(__self__, *, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, period_cycle: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_capacity: Optional[pulumi.Input[_builtins.int]] = None, queue_capacity: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration_unit: Optional[pulumi.Input[_builtins.str]] = None, @@ -373,6 +407,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Instance resources. :param pulumi.Input[_builtins.bool] auto_renew: Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. :param pulumi.Input[_builtins.int] create_time: OrderCreateTime. + :param pulumi.Input[_builtins.str] edition: The deployment architecture for Serverless instances. Valid values: :param pulumi.Input[_builtins.str] instance_name: The instance name. :param pulumi.Input[_builtins.str] instance_type: Instance type. Valid values: - professional: professional Edition @@ -391,6 +426,7 @@ def __init__(__self__, *, - PayAsYouGo: Post-paid, and for serverless Edition. :param pulumi.Input[_builtins.int] period: Prepayment cycle, unit: periodCycle. This parameter is valid when PaymentType is set to Subscription. :param pulumi.Input[_builtins.str] period_cycle: Prepaid cycle units. Value: Month, Year. + :param pulumi.Input[_builtins.int] provisioned_capacity: The provisioned TPS capacity for reserved + elastic instances. :param pulumi.Input[_builtins.str] queue_capacity: Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. :param pulumi.Input[_builtins.int] renewal_duration: The number of automatic renewal cycles. :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. @@ -406,6 +442,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_renew", auto_renew) if create_time is not None: pulumi.set(__self__, "create_time", create_time) + if edition is not None: + pulumi.set(__self__, "edition", edition) if instance_name is not None: pulumi.set(__self__, "instance_name", instance_name) if instance_type is not None: @@ -424,6 +462,8 @@ def __init__(__self__, *, pulumi.set(__self__, "period", period) if period_cycle is not None: pulumi.set(__self__, "period_cycle", period_cycle) + if provisioned_capacity is not None: + pulumi.set(__self__, "provisioned_capacity", provisioned_capacity) if queue_capacity is not None: pulumi.set(__self__, "queue_capacity", queue_capacity) if renewal_duration is not None: @@ -469,6 +509,18 @@ def create_time(self) -> Optional[pulumi.Input[_builtins.int]]: def create_time(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "create_time", value) + @_builtins.property + @pulumi.getter + def edition(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The deployment architecture for Serverless instances. Valid values: + """ + return pulumi.get(self, "edition") + + @edition.setter + def edition(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "edition", value) + @_builtins.property @pulumi.getter(name="instanceName") def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -586,6 +638,18 @@ def period_cycle(self) -> Optional[pulumi.Input[_builtins.str]]: def period_cycle(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "period_cycle", value) + @_builtins.property + @pulumi.getter(name="provisionedCapacity") + def provisioned_capacity(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The provisioned TPS capacity for reserved + elastic instances. + """ + return pulumi.get(self, "provisioned_capacity") + + @provisioned_capacity.setter + def provisioned_capacity(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "provisioned_capacity", value) + @_builtins.property @pulumi.getter(name="queueCapacity") def queue_capacity(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -714,6 +778,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, + edition: Optional[pulumi.Input[_builtins.str]] = None, instance_name: Optional[pulumi.Input[_builtins.str]] = None, instance_type: Optional[pulumi.Input[_builtins.str]] = None, max_connections: Optional[pulumi.Input[_builtins.int]] = None, @@ -723,6 +788,7 @@ def __init__(__self__, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, period_cycle: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_capacity: Optional[pulumi.Input[_builtins.int]] = None, queue_capacity: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration_unit: Optional[pulumi.Input[_builtins.str]] = None, @@ -745,6 +811,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.bool] auto_renew: Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. + :param pulumi.Input[_builtins.str] edition: The deployment architecture for Serverless instances. Valid values: :param pulumi.Input[_builtins.str] instance_name: The instance name. :param pulumi.Input[_builtins.str] instance_type: Instance type. Valid values: - professional: professional Edition @@ -763,6 +830,7 @@ def __init__(__self__, - PayAsYouGo: Post-paid, and for serverless Edition. :param pulumi.Input[_builtins.int] period: Prepayment cycle, unit: periodCycle. This parameter is valid when PaymentType is set to Subscription. :param pulumi.Input[_builtins.str] period_cycle: Prepaid cycle units. Value: Month, Year. + :param pulumi.Input[_builtins.int] provisioned_capacity: The provisioned TPS capacity for reserved + elastic instances. :param pulumi.Input[_builtins.str] queue_capacity: Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. :param pulumi.Input[_builtins.int] renewal_duration: The number of automatic renewal cycles. :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. @@ -804,6 +872,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, + edition: Optional[pulumi.Input[_builtins.str]] = None, instance_name: Optional[pulumi.Input[_builtins.str]] = None, instance_type: Optional[pulumi.Input[_builtins.str]] = None, max_connections: Optional[pulumi.Input[_builtins.int]] = None, @@ -813,6 +882,7 @@ def _internal_init(__self__, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, period_cycle: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_capacity: Optional[pulumi.Input[_builtins.int]] = None, queue_capacity: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration_unit: Optional[pulumi.Input[_builtins.str]] = None, @@ -832,6 +902,7 @@ def _internal_init(__self__, __props__ = InstanceArgs.__new__(InstanceArgs) __props__.__dict__["auto_renew"] = auto_renew + __props__.__dict__["edition"] = edition __props__.__dict__["instance_name"] = instance_name __props__.__dict__["instance_type"] = instance_type __props__.__dict__["max_connections"] = max_connections @@ -843,6 +914,7 @@ def _internal_init(__self__, __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period __props__.__dict__["period_cycle"] = period_cycle + __props__.__dict__["provisioned_capacity"] = provisioned_capacity __props__.__dict__["queue_capacity"] = queue_capacity __props__.__dict__["renewal_duration"] = renewal_duration __props__.__dict__["renewal_duration_unit"] = renewal_duration_unit @@ -866,6 +938,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, create_time: Optional[pulumi.Input[_builtins.int]] = None, + edition: Optional[pulumi.Input[_builtins.str]] = None, instance_name: Optional[pulumi.Input[_builtins.str]] = None, instance_type: Optional[pulumi.Input[_builtins.str]] = None, max_connections: Optional[pulumi.Input[_builtins.int]] = None, @@ -875,6 +948,7 @@ def get(resource_name: str, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, period_cycle: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_capacity: Optional[pulumi.Input[_builtins.int]] = None, queue_capacity: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration_unit: Optional[pulumi.Input[_builtins.str]] = None, @@ -894,6 +968,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.bool] auto_renew: Renewal method. Automatic renewal: true; Manual renewal: false. When RenewalStatus has a value, the value of RenewalStatus shall prevail. :param pulumi.Input[_builtins.int] create_time: OrderCreateTime. + :param pulumi.Input[_builtins.str] edition: The deployment architecture for Serverless instances. Valid values: :param pulumi.Input[_builtins.str] instance_name: The instance name. :param pulumi.Input[_builtins.str] instance_type: Instance type. Valid values: - professional: professional Edition @@ -912,6 +987,7 @@ def get(resource_name: str, - PayAsYouGo: Post-paid, and for serverless Edition. :param pulumi.Input[_builtins.int] period: Prepayment cycle, unit: periodCycle. This parameter is valid when PaymentType is set to Subscription. :param pulumi.Input[_builtins.str] period_cycle: Prepaid cycle units. Value: Month, Year. + :param pulumi.Input[_builtins.int] provisioned_capacity: The provisioned TPS capacity for reserved + elastic instances. :param pulumi.Input[_builtins.str] queue_capacity: Configure the maximum number of queues. The value range is as follows: Professional version:[50,1000], minimum modification step size is 5 Enterprise Edition:[200,6000], minimum modification step size is 100 Platinum version:[10000,80000], minimum modification step size is 100. :param pulumi.Input[_builtins.int] renewal_duration: The number of automatic renewal cycles. :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. @@ -929,6 +1005,7 @@ def get(resource_name: str, __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["create_time"] = create_time + __props__.__dict__["edition"] = edition __props__.__dict__["instance_name"] = instance_name __props__.__dict__["instance_type"] = instance_type __props__.__dict__["max_connections"] = max_connections @@ -938,6 +1015,7 @@ def get(resource_name: str, __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period __props__.__dict__["period_cycle"] = period_cycle + __props__.__dict__["provisioned_capacity"] = provisioned_capacity __props__.__dict__["queue_capacity"] = queue_capacity __props__.__dict__["renewal_duration"] = renewal_duration __props__.__dict__["renewal_duration_unit"] = renewal_duration_unit @@ -966,6 +1044,14 @@ def create_time(self) -> pulumi.Output[_builtins.int]: """ return pulumi.get(self, "create_time") + @_builtins.property + @pulumi.getter + def edition(self) -> pulumi.Output[_builtins.str]: + """ + The deployment architecture for Serverless instances. Valid values: + """ + return pulumi.get(self, "edition") + @_builtins.property @pulumi.getter(name="instanceName") def instance_name(self) -> pulumi.Output[_builtins.str]: @@ -1047,6 +1133,14 @@ def period_cycle(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "period_cycle") + @_builtins.property + @pulumi.getter(name="provisionedCapacity") + def provisioned_capacity(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The provisioned TPS capacity for reserved + elastic instances. + """ + return pulumi.get(self, "provisioned_capacity") + @_builtins.property @pulumi.getter(name="queueCapacity") def queue_capacity(self) -> pulumi.Output[_builtins.str]: @@ -1113,7 +1207,7 @@ def support_eip(self) -> pulumi.Output[Optional[_builtins.bool]]: @_builtins.property @pulumi.getter(name="supportTracing") - def support_tracing(self) -> pulumi.Output[_builtins.bool]: + def support_tracing(self) -> pulumi.Output[Optional[_builtins.bool]]: """ Whether to activate the message trace function. The values are as follows: true: Enable message trace function false: message trace function is not enabled Description The Platinum Edition instance provides the 15-day message trace function free of charge. The trace function can only be enabled and the trace storage duration can only be set to 15 days. For instances of other specifications, you can enable or disable the trace function. """ diff --git a/sdk/python/pulumi_alicloud/amqp/queue.py b/sdk/python/pulumi_alicloud/amqp/queue.py index f1f962f051..fffd52b969 100644 --- a/sdk/python/pulumi_alicloud/amqp/queue.py +++ b/sdk/python/pulumi_alicloud/amqp/queue.py @@ -26,36 +26,21 @@ def __init__(__self__, *, auto_expire_state: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_exchange: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_routing_key: Optional[pulumi.Input[_builtins.str]] = None, - exclusive_state: Optional[pulumi.Input[_builtins.bool]] = None, max_length: Optional[pulumi.Input[_builtins.str]] = None, maximum_priority: Optional[pulumi.Input[_builtins.int]] = None, message_ttl: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Queue resource. - :param pulumi.Input[_builtins.str] instance_id: The ID of the instance. - :param pulumi.Input[_builtins.str] queue_name: The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). - :param pulumi.Input[_builtins.str] virtual_host_name: The name of the virtual host. - :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. - :param pulumi.Input[_builtins.str] auto_expire_state: The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. - :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. - :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead letter routing key. - :param pulumi.Input[_builtins.bool] exclusive_state: Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. + :param pulumi.Input[_builtins.str] instance_id: The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. + :param pulumi.Input[_builtins.str] queue_name: The name of the queue to create. + :param pulumi.Input[_builtins.str] virtual_host_name: The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. + :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether to automatically delete the queue. Valid values: + :param pulumi.Input[_builtins.str] auto_expire_state: The auto-expiration time for the queue. + :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. + :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead-letter routing key. :param pulumi.Input[_builtins.str] max_length: The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. - :param pulumi.Input[_builtins.int] maximum_priority: The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 - :param pulumi.Input[_builtins.str] message_ttl: The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + :param pulumi.Input[_builtins.int] maximum_priority: The priority of the queue. + :param pulumi.Input[_builtins.str] message_ttl: The time to live (TTL) of a message in the queue. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "queue_name", queue_name) @@ -68,8 +53,6 @@ def __init__(__self__, *, pulumi.set(__self__, "dead_letter_exchange", dead_letter_exchange) if dead_letter_routing_key is not None: pulumi.set(__self__, "dead_letter_routing_key", dead_letter_routing_key) - if exclusive_state is not None: - pulumi.set(__self__, "exclusive_state", exclusive_state) if max_length is not None: pulumi.set(__self__, "max_length", max_length) if maximum_priority is not None: @@ -81,7 +64,7 @@ def __init__(__self__, *, @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Input[_builtins.str]: """ - The ID of the instance. + The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. """ return pulumi.get(self, "instance_id") @@ -93,8 +76,7 @@ def instance_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="queueName") def queue_name(self) -> pulumi.Input[_builtins.str]: """ - The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + The name of the queue to create. """ return pulumi.get(self, "queue_name") @@ -106,7 +88,7 @@ def queue_name(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="virtualHostName") def virtual_host_name(self) -> pulumi.Input[_builtins.str]: """ - The name of the virtual host. + The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ return pulumi.get(self, "virtual_host_name") @@ -118,9 +100,7 @@ def virtual_host_name(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="autoDeleteState") def auto_delete_state(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. + Specifies whether to automatically delete the queue. Valid values: """ return pulumi.get(self, "auto_delete_state") @@ -132,8 +112,7 @@ def auto_delete_state(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="autoExpireState") def auto_expire_state(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. + The auto-expiration time for the queue. """ return pulumi.get(self, "auto_expire_state") @@ -145,9 +124,7 @@ def auto_expire_state(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="deadLetterExchange") def dead_letter_exchange(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + The dead-letter exchange. """ return pulumi.get(self, "dead_letter_exchange") @@ -159,7 +136,7 @@ def dead_letter_exchange(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="deadLetterRoutingKey") def dead_letter_routing_key(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The dead letter routing key. + The dead-letter routing key. """ return pulumi.get(self, "dead_letter_routing_key") @@ -167,26 +144,11 @@ def dead_letter_routing_key(self) -> Optional[pulumi.Input[_builtins.str]]: def dead_letter_routing_key(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "dead_letter_routing_key", value) - @_builtins.property - @pulumi.getter(name="exclusiveState") - def exclusive_state(self) -> Optional[pulumi.Input[_builtins.bool]]: - """ - Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - """ - return pulumi.get(self, "exclusive_state") - - @exclusive_state.setter - def exclusive_state(self, value: Optional[pulumi.Input[_builtins.bool]]): - pulumi.set(self, "exclusive_state", value) - @_builtins.property @pulumi.getter(name="maxLength") def max_length(self) -> Optional[pulumi.Input[_builtins.str]]: """ The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. """ return pulumi.get(self, "max_length") @@ -198,8 +160,7 @@ def max_length(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="maximumPriority") def maximum_priority(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 + The priority of the queue. """ return pulumi.get(self, "maximum_priority") @@ -211,10 +172,7 @@ def maximum_priority(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="messageTtl") def message_ttl(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + The time to live (TTL) of a message in the queue. """ return pulumi.get(self, "message_ttl") @@ -230,7 +188,6 @@ def __init__(__self__, *, auto_expire_state: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_exchange: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_routing_key: Optional[pulumi.Input[_builtins.str]] = None, - exclusive_state: Optional[pulumi.Input[_builtins.bool]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, max_length: Optional[pulumi.Input[_builtins.str]] = None, maximum_priority: Optional[pulumi.Input[_builtins.int]] = None, @@ -239,30 +196,16 @@ def __init__(__self__, *, virtual_host_name: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Queue resources. - :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. - :param pulumi.Input[_builtins.str] auto_expire_state: The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. - :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. - :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead letter routing key. - :param pulumi.Input[_builtins.bool] exclusive_state: Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - :param pulumi.Input[_builtins.str] instance_id: The ID of the instance. + :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether to automatically delete the queue. Valid values: + :param pulumi.Input[_builtins.str] auto_expire_state: The auto-expiration time for the queue. + :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. + :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead-letter routing key. + :param pulumi.Input[_builtins.str] instance_id: The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. :param pulumi.Input[_builtins.str] max_length: The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. - :param pulumi.Input[_builtins.int] maximum_priority: The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 - :param pulumi.Input[_builtins.str] message_ttl: The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. - :param pulumi.Input[_builtins.str] queue_name: The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). - :param pulumi.Input[_builtins.str] virtual_host_name: The name of the virtual host. + :param pulumi.Input[_builtins.int] maximum_priority: The priority of the queue. + :param pulumi.Input[_builtins.str] message_ttl: The time to live (TTL) of a message in the queue. + :param pulumi.Input[_builtins.str] queue_name: The name of the queue to create. + :param pulumi.Input[_builtins.str] virtual_host_name: The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ if auto_delete_state is not None: pulumi.set(__self__, "auto_delete_state", auto_delete_state) @@ -272,8 +215,6 @@ def __init__(__self__, *, pulumi.set(__self__, "dead_letter_exchange", dead_letter_exchange) if dead_letter_routing_key is not None: pulumi.set(__self__, "dead_letter_routing_key", dead_letter_routing_key) - if exclusive_state is not None: - pulumi.set(__self__, "exclusive_state", exclusive_state) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) if max_length is not None: @@ -291,9 +232,7 @@ def __init__(__self__, *, @pulumi.getter(name="autoDeleteState") def auto_delete_state(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. + Specifies whether to automatically delete the queue. Valid values: """ return pulumi.get(self, "auto_delete_state") @@ -305,8 +244,7 @@ def auto_delete_state(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="autoExpireState") def auto_expire_state(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. + The auto-expiration time for the queue. """ return pulumi.get(self, "auto_expire_state") @@ -318,9 +256,7 @@ def auto_expire_state(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="deadLetterExchange") def dead_letter_exchange(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + The dead-letter exchange. """ return pulumi.get(self, "dead_letter_exchange") @@ -332,7 +268,7 @@ def dead_letter_exchange(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="deadLetterRoutingKey") def dead_letter_routing_key(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The dead letter routing key. + The dead-letter routing key. """ return pulumi.get(self, "dead_letter_routing_key") @@ -340,25 +276,11 @@ def dead_letter_routing_key(self) -> Optional[pulumi.Input[_builtins.str]]: def dead_letter_routing_key(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "dead_letter_routing_key", value) - @_builtins.property - @pulumi.getter(name="exclusiveState") - def exclusive_state(self) -> Optional[pulumi.Input[_builtins.bool]]: - """ - Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - """ - return pulumi.get(self, "exclusive_state") - - @exclusive_state.setter - def exclusive_state(self, value: Optional[pulumi.Input[_builtins.bool]]): - pulumi.set(self, "exclusive_state", value) - @_builtins.property @pulumi.getter(name="instanceId") def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The ID of the instance. + The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. """ return pulumi.get(self, "instance_id") @@ -371,7 +293,6 @@ def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): def max_length(self) -> Optional[pulumi.Input[_builtins.str]]: """ The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. """ return pulumi.get(self, "max_length") @@ -383,8 +304,7 @@ def max_length(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="maximumPriority") def maximum_priority(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 + The priority of the queue. """ return pulumi.get(self, "maximum_priority") @@ -396,10 +316,7 @@ def maximum_priority(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="messageTtl") def message_ttl(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + The time to live (TTL) of a message in the queue. """ return pulumi.get(self, "message_ttl") @@ -411,8 +328,7 @@ def message_ttl(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="queueName") def queue_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + The name of the queue to create. """ return pulumi.get(self, "queue_name") @@ -424,7 +340,7 @@ def queue_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="virtualHostName") def virtual_host_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the virtual host. + The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ return pulumi.get(self, "virtual_host_name") @@ -443,7 +359,6 @@ def __init__(__self__, auto_expire_state: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_exchange: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_routing_key: Optional[pulumi.Input[_builtins.str]] = None, - exclusive_state: Optional[pulumi.Input[_builtins.bool]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, max_length: Optional[pulumi.Input[_builtins.str]] = None, maximum_priority: Optional[pulumi.Input[_builtins.int]] = None, @@ -465,32 +380,37 @@ def __init__(__self__, ```python import pulumi import pulumi_alicloud as alicloud - - default = alicloud.amqp.Instance("default", + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + default_instance = alicloud.amqp.Instance("default", + instance_name=f"{name}-{default['result']}", instance_type="enterprise", max_tps="3000", + max_connections=2000, queue_capacity="200", - storage_size="700", - support_eip=False, - max_eip_tps="128", payment_type="Subscription", - period=1) + renewal_status="AutoRenewal", + renewal_duration=1, + renewal_duration_unit="Year", + support_eip=True) default_virtual_host = alicloud.amqp.VirtualHost("default", - instance_id=default.id, - virtual_host_name="tf-example") - default_exchange = alicloud.amqp.Exchange("default", - auto_delete_state=False, - exchange_name="tf-example", - exchange_type="DIRECT", - instance_id=default.id, - internal=False, - virtual_host_name=default_virtual_host.virtual_host_name) - example = alicloud.amqp.Queue("example", - instance_id=default.id, - queue_name="tf-example", - virtual_host_name=default_virtual_host.virtual_host_name) + instance_id=default_instance.id, + virtual_host_name=f"{name}-{default['result']}") + default_queue = alicloud.amqp.Queue("default", + instance_id=default_instance.id, + virtual_host_name=default_virtual_host.virtual_host_name, + queue_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -501,30 +421,16 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. - :param pulumi.Input[_builtins.str] auto_expire_state: The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. - :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. - :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead letter routing key. - :param pulumi.Input[_builtins.bool] exclusive_state: Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - :param pulumi.Input[_builtins.str] instance_id: The ID of the instance. + :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether to automatically delete the queue. Valid values: + :param pulumi.Input[_builtins.str] auto_expire_state: The auto-expiration time for the queue. + :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. + :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead-letter routing key. + :param pulumi.Input[_builtins.str] instance_id: The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. :param pulumi.Input[_builtins.str] max_length: The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. - :param pulumi.Input[_builtins.int] maximum_priority: The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 - :param pulumi.Input[_builtins.str] message_ttl: The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. - :param pulumi.Input[_builtins.str] queue_name: The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). - :param pulumi.Input[_builtins.str] virtual_host_name: The name of the virtual host. + :param pulumi.Input[_builtins.int] maximum_priority: The priority of the queue. + :param pulumi.Input[_builtins.str] message_ttl: The time to live (TTL) of a message in the queue. + :param pulumi.Input[_builtins.str] queue_name: The name of the queue to create. + :param pulumi.Input[_builtins.str] virtual_host_name: The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ ... @overload @@ -546,32 +452,37 @@ def __init__(__self__, ```python import pulumi import pulumi_alicloud as alicloud - - default = alicloud.amqp.Instance("default", + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + default_instance = alicloud.amqp.Instance("default", + instance_name=f"{name}-{default['result']}", instance_type="enterprise", max_tps="3000", + max_connections=2000, queue_capacity="200", - storage_size="700", - support_eip=False, - max_eip_tps="128", payment_type="Subscription", - period=1) + renewal_status="AutoRenewal", + renewal_duration=1, + renewal_duration_unit="Year", + support_eip=True) default_virtual_host = alicloud.amqp.VirtualHost("default", - instance_id=default.id, - virtual_host_name="tf-example") - default_exchange = alicloud.amqp.Exchange("default", - auto_delete_state=False, - exchange_name="tf-example", - exchange_type="DIRECT", - instance_id=default.id, - internal=False, - virtual_host_name=default_virtual_host.virtual_host_name) - example = alicloud.amqp.Queue("example", - instance_id=default.id, - queue_name="tf-example", - virtual_host_name=default_virtual_host.virtual_host_name) + instance_id=default_instance.id, + virtual_host_name=f"{name}-{default['result']}") + default_queue = alicloud.amqp.Queue("default", + instance_id=default_instance.id, + virtual_host_name=default_virtual_host.virtual_host_name, + queue_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Queue can be imported using the id, e.g. @@ -599,7 +510,6 @@ def _internal_init(__self__, auto_expire_state: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_exchange: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_routing_key: Optional[pulumi.Input[_builtins.str]] = None, - exclusive_state: Optional[pulumi.Input[_builtins.bool]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, max_length: Optional[pulumi.Input[_builtins.str]] = None, maximum_priority: Optional[pulumi.Input[_builtins.int]] = None, @@ -619,7 +529,6 @@ def _internal_init(__self__, __props__.__dict__["auto_expire_state"] = auto_expire_state __props__.__dict__["dead_letter_exchange"] = dead_letter_exchange __props__.__dict__["dead_letter_routing_key"] = dead_letter_routing_key - __props__.__dict__["exclusive_state"] = exclusive_state if instance_id is None and not opts.urn: raise TypeError("Missing required property 'instance_id'") __props__.__dict__["instance_id"] = instance_id @@ -646,7 +555,6 @@ def get(resource_name: str, auto_expire_state: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_exchange: Optional[pulumi.Input[_builtins.str]] = None, dead_letter_routing_key: Optional[pulumi.Input[_builtins.str]] = None, - exclusive_state: Optional[pulumi.Input[_builtins.bool]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, max_length: Optional[pulumi.Input[_builtins.str]] = None, maximum_priority: Optional[pulumi.Input[_builtins.int]] = None, @@ -660,30 +568,16 @@ 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[_builtins.bool] auto_delete_state: Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. - :param pulumi.Input[_builtins.str] auto_expire_state: The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. - :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. - :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead letter routing key. - :param pulumi.Input[_builtins.bool] exclusive_state: Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - :param pulumi.Input[_builtins.str] instance_id: The ID of the instance. + :param pulumi.Input[_builtins.bool] auto_delete_state: Specifies whether to automatically delete the queue. Valid values: + :param pulumi.Input[_builtins.str] auto_expire_state: The auto-expiration time for the queue. + :param pulumi.Input[_builtins.str] dead_letter_exchange: The dead-letter exchange. + :param pulumi.Input[_builtins.str] dead_letter_routing_key: The dead-letter routing key. + :param pulumi.Input[_builtins.str] instance_id: The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. :param pulumi.Input[_builtins.str] max_length: The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. - :param pulumi.Input[_builtins.int] maximum_priority: The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 - :param pulumi.Input[_builtins.str] message_ttl: The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. - :param pulumi.Input[_builtins.str] queue_name: The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). - :param pulumi.Input[_builtins.str] virtual_host_name: The name of the virtual host. + :param pulumi.Input[_builtins.int] maximum_priority: The priority of the queue. + :param pulumi.Input[_builtins.str] message_ttl: The time to live (TTL) of a message in the queue. + :param pulumi.Input[_builtins.str] queue_name: The name of the queue to create. + :param pulumi.Input[_builtins.str] virtual_host_name: The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -693,7 +587,6 @@ def get(resource_name: str, __props__.__dict__["auto_expire_state"] = auto_expire_state __props__.__dict__["dead_letter_exchange"] = dead_letter_exchange __props__.__dict__["dead_letter_routing_key"] = dead_letter_routing_key - __props__.__dict__["exclusive_state"] = exclusive_state __props__.__dict__["instance_id"] = instance_id __props__.__dict__["max_length"] = max_length __props__.__dict__["maximum_priority"] = maximum_priority @@ -706,9 +599,7 @@ def get(resource_name: str, @pulumi.getter(name="autoDeleteState") def auto_delete_state(self) -> pulumi.Output[Optional[_builtins.bool]]: """ - Specifies whether the Auto Delete attribute is configured. Valid values: - * true: The Auto Delete attribute is configured. The queue is automatically deleted after the last subscription from consumers to this queue is canceled. - * false: The Auto Delete attribute is not configured. + Specifies whether to automatically delete the queue. Valid values: """ return pulumi.get(self, "auto_delete_state") @@ -716,8 +607,7 @@ def auto_delete_state(self) -> pulumi.Output[Optional[_builtins.bool]]: @pulumi.getter(name="autoExpireState") def auto_expire_state(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The validity period after which the queue is automatically deleted. - If the queue is not accessed within a specified period of time, it is automatically deleted. + The auto-expiration time for the queue. """ return pulumi.get(self, "auto_expire_state") @@ -725,9 +615,7 @@ def auto_expire_state(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="deadLetterExchange") def dead_letter_exchange(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. - If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. - Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange. + The dead-letter exchange. """ return pulumi.get(self, "dead_letter_exchange") @@ -735,25 +623,15 @@ def dead_letter_exchange(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="deadLetterRoutingKey") def dead_letter_routing_key(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The dead letter routing key. + The dead-letter routing key. """ return pulumi.get(self, "dead_letter_routing_key") - @_builtins.property - @pulumi.getter(name="exclusiveState") - def exclusive_state(self) -> pulumi.Output[Optional[_builtins.bool]]: - """ - Specifies whether the queue is an exclusive queue. Valid values: - * true: The queue is an exclusive queue. It can be used only for the connection that declares the exclusive queue. After the connection is closed, the exclusive queue is automatically deleted. - * false: The queue is not an exclusive queue. - """ - return pulumi.get(self, "exclusive_state") - @_builtins.property @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Output[_builtins.str]: """ - The ID of the instance. + The ID of the ApsaraMQ for RabbitMQ instance to which the queue belongs. """ return pulumi.get(self, "instance_id") @@ -762,7 +640,6 @@ def instance_id(self) -> pulumi.Output[_builtins.str]: def max_length(self) -> pulumi.Output[Optional[_builtins.str]]: """ The maximum number of messages that can be stored in the queue. - If this threshold is exceeded, the earliest messages that are routed to the queue are discarded. """ return pulumi.get(self, "max_length") @@ -770,8 +647,7 @@ def max_length(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="maximumPriority") def maximum_priority(self) -> pulumi.Output[Optional[_builtins.int]]: """ - The highest priority supported by the queue. This parameter is set to a positive integer. - Valid values: 0 to 255. Recommended values: 1 to 10 + The priority of the queue. """ return pulumi.get(self, "maximum_priority") @@ -779,10 +655,7 @@ def maximum_priority(self) -> pulumi.Output[Optional[_builtins.int]]: @pulumi.getter(name="messageTtl") def message_ttl(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The message TTL of the queue. - If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. - Message TTL must be set to a non-negative integer, in milliseconds. - For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue. + The time to live (TTL) of a message in the queue. """ return pulumi.get(self, "message_ttl") @@ -790,8 +663,7 @@ def message_ttl(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="queueName") def queue_name(self) -> pulumi.Output[_builtins.str]: """ - The name of the queue. - The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@). + The name of the queue to create. """ return pulumi.get(self, "queue_name") @@ -799,7 +671,7 @@ def queue_name(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="virtualHostName") def virtual_host_name(self) -> pulumi.Output[_builtins.str]: """ - The name of the virtual host. + The name of the vhost to which the queue belongs. The name can contain only letters, digits, hyphens (-), underscores (_), periods (.), number signs (#), forward slashes (/), and at signs (@). The name must be 1 to 255 characters in length. """ return pulumi.get(self, "virtual_host_name") diff --git a/sdk/python/pulumi_alicloud/amqp/static_account.py b/sdk/python/pulumi_alicloud/amqp/static_account.py index bd7597e8fd..c84034ea74 100644 --- a/sdk/python/pulumi_alicloud/amqp/static_account.py +++ b/sdk/python/pulumi_alicloud/amqp/static_account.py @@ -236,6 +236,8 @@ def __init__(__self__, secret_key=secret_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Amqp Static Account can be imported using the id, e.g. @@ -293,6 +295,8 @@ def __init__(__self__, secret_key=secret_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Amqp Static Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/amqp/virtual_host.py b/sdk/python/pulumi_alicloud/amqp/virtual_host.py index b46ebf2bc6..b7df6b81e5 100644 --- a/sdk/python/pulumi_alicloud/amqp/virtual_host.py +++ b/sdk/python/pulumi_alicloud/amqp/virtual_host.py @@ -144,6 +144,8 @@ def __init__(__self__, virtual_host_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. @@ -204,6 +206,8 @@ def __init__(__self__, virtual_host_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RabbitMQ (AMQP) Virtual Host can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apig/environment.py b/sdk/python/pulumi_alicloud/apig/environment.py index 10d603fab0..910bbe9533 100644 --- a/sdk/python/pulumi_alicloud/apig/environment.py +++ b/sdk/python/pulumi_alicloud/apig/environment.py @@ -219,6 +219,8 @@ def __init__(__self__, resource_group_id=default.ids[1]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import APIG Environment can be imported using the id, e.g. @@ -290,6 +292,8 @@ def __init__(__self__, resource_group_id=default.ids[1]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import APIG Environment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apig/http_api.py b/sdk/python/pulumi_alicloud/apig/http_api.py index a8719a2920..d1d8da9c83 100644 --- a/sdk/python/pulumi_alicloud/apig/http_api.py +++ b/sdk/python/pulumi_alicloud/apig/http_api.py @@ -269,6 +269,8 @@ def __init__(__self__, type="Rest") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import APIG Http Api can be imported using the id, e.g. @@ -326,6 +328,8 @@ def __init__(__self__, type="Rest") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import APIG Http Api can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/access_control_list.py b/sdk/python/pulumi_alicloud/apigateway/access_control_list.py index e57d57519f..01cd5c64d0 100644 --- a/sdk/python/pulumi_alicloud/apigateway/access_control_list.py +++ b/sdk/python/pulumi_alicloud/apigateway/access_control_list.py @@ -181,6 +181,8 @@ def __init__(__self__, address_ip_version="ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Access Control List can be imported using the id, e.g. @@ -232,6 +234,8 @@ def __init__(__self__, address_ip_version="ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Access Control List can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/acl_entry_attachment.py b/sdk/python/pulumi_alicloud/apigateway/acl_entry_attachment.py index 358e190191..8247720de9 100644 --- a/sdk/python/pulumi_alicloud/apigateway/acl_entry_attachment.py +++ b/sdk/python/pulumi_alicloud/apigateway/acl_entry_attachment.py @@ -162,6 +162,8 @@ def __init__(__self__, comment="test comment") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Acl Entry Attachment can be imported using the id, e.g. @@ -208,6 +210,8 @@ def __init__(__self__, comment="test comment") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/api.py b/sdk/python/pulumi_alicloud/apigateway/api.py index 0136c10964..83d2fefefb 100644 --- a/sdk/python/pulumi_alicloud/apigateway/api.py +++ b/sdk/python/pulumi_alicloud/apigateway/api.py @@ -594,6 +594,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway api can be imported using the id.Format to `:` e.g. @@ -673,6 +675,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway api can be imported using the id.Format to `:` e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/app.py b/sdk/python/pulumi_alicloud/apigateway/app.py index bc66ad2ae7..7635a06856 100644 --- a/sdk/python/pulumi_alicloud/apigateway/app.py +++ b/sdk/python/pulumi_alicloud/apigateway/app.py @@ -152,6 +152,8 @@ def __init__(__self__, description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway app can be imported using the id, e.g. @@ -186,6 +188,8 @@ def __init__(__self__, description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway app can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/app_attachment.py b/sdk/python/pulumi_alicloud/apigateway/app_attachment.py index be7e5bc413..368acc593f 100644 --- a/sdk/python/pulumi_alicloud/apigateway/app_attachment.py +++ b/sdk/python/pulumi_alicloud/apigateway/app_attachment.py @@ -225,6 +225,8 @@ def __init__(__self__, stage_name="PRE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] api_id: The api_id that app apply to access. @@ -296,6 +298,8 @@ def __init__(__self__, stage_name="PRE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param AppAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/apigateway/backend.py b/sdk/python/pulumi_alicloud/apigateway/backend.py index 365acd2d37..69201ccdfb 100644 --- a/sdk/python/pulumi_alicloud/apigateway/backend.py +++ b/sdk/python/pulumi_alicloud/apigateway/backend.py @@ -194,6 +194,8 @@ def __init__(__self__, backend_type="HTTP") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Backend can be imported using the id, e.g. @@ -240,6 +242,8 @@ def __init__(__self__, backend_type="HTTP") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Backend can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/group.py b/sdk/python/pulumi_alicloud/apigateway/group.py index f19adea069..177ee284a3 100644 --- a/sdk/python/pulumi_alicloud/apigateway/group.py +++ b/sdk/python/pulumi_alicloud/apigateway/group.py @@ -294,6 +294,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway group can be imported using the id, e.g. @@ -340,6 +342,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/instance.py b/sdk/python/pulumi_alicloud/apigateway/instance.py index fb3a974d32..342e5b1ca4 100644 --- a/sdk/python/pulumi_alicloud/apigateway/instance.py +++ b/sdk/python/pulumi_alicloud/apigateway/instance.py @@ -861,6 +861,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Instance can be imported using the id, e.g. @@ -980,6 +982,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/instance_acl_attachment.py b/sdk/python/pulumi_alicloud/apigateway/instance_acl_attachment.py index 015456fda1..afb8ef5bdc 100644 --- a/sdk/python/pulumi_alicloud/apigateway/instance_acl_attachment.py +++ b/sdk/python/pulumi_alicloud/apigateway/instance_acl_attachment.py @@ -172,6 +172,8 @@ def __init__(__self__, acl_type="white") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Instance Acl Attachment can be imported using the id, e.g. @@ -229,6 +231,8 @@ def __init__(__self__, acl_type="white") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Instance Acl Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/log_config.py b/sdk/python/pulumi_alicloud/apigateway/log_config.py index faebbba3b7..a5b73e320d 100644 --- a/sdk/python/pulumi_alicloud/apigateway/log_config.py +++ b/sdk/python/pulumi_alicloud/apigateway/log_config.py @@ -174,6 +174,8 @@ def __init__(__self__, log_type="PROVIDER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Log Config can be imported using the id, e.g. @@ -233,6 +235,8 @@ def __init__(__self__, log_type="PROVIDER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Log Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/model.py b/sdk/python/pulumi_alicloud/apigateway/model.py index d6aa103e68..959880d274 100644 --- a/sdk/python/pulumi_alicloud/apigateway/model.py +++ b/sdk/python/pulumi_alicloud/apigateway/model.py @@ -193,6 +193,8 @@ def __init__(__self__, description="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Model can be imported using the id, e.g. @@ -239,6 +241,8 @@ def __init__(__self__, description="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Model can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/plugin.py b/sdk/python/pulumi_alicloud/apigateway/plugin.py index 3c33c0816f..64d3c30914 100644 --- a/sdk/python/pulumi_alicloud/apigateway/plugin.py +++ b/sdk/python/pulumi_alicloud/apigateway/plugin.py @@ -333,6 +333,8 @@ def __init__(__self__, plugin_type="routing") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Plugin can be imported using the id, e.g. @@ -429,6 +431,8 @@ def __init__(__self__, plugin_type="routing") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api Gateway Plugin can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/apigateway/plugin_attachment.py b/sdk/python/pulumi_alicloud/apigateway/plugin_attachment.py index 4e7cad231a..ca9d578452 100644 --- a/sdk/python/pulumi_alicloud/apigateway/plugin_attachment.py +++ b/sdk/python/pulumi_alicloud/apigateway/plugin_attachment.py @@ -235,6 +235,8 @@ def __init__(__self__, stage_name="RELEASE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] api_id: The api_id that plugin attaches to. @@ -316,6 +318,8 @@ def __init__(__self__, stage_name="RELEASE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param PluginAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/apigateway/vpc_access.py b/sdk/python/pulumi_alicloud/apigateway/vpc_access.py index 2314c174e7..49d0765bfe 100644 --- a/sdk/python/pulumi_alicloud/apigateway/vpc_access.py +++ b/sdk/python/pulumi_alicloud/apigateway/vpc_access.py @@ -209,6 +209,8 @@ def __init__(__self__, port=8080) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway app can be imported using the id, e.g. @@ -271,6 +273,8 @@ def __init__(__self__, port=8080) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Api gateway app can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/addon_release.py b/sdk/python/pulumi_alicloud/arms/addon_release.py index bc2d78f4da..3d24f63129 100644 --- a/sdk/python/pulumi_alicloud/arms/addon_release.py +++ b/sdk/python/pulumi_alicloud/arms/addon_release.py @@ -344,6 +344,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Addon Release can be imported using the id, e.g. @@ -461,6 +463,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Addon Release can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/alert_contact.py b/sdk/python/pulumi_alicloud/arms/alert_contact.py index 835999a8f1..b8f09d800f 100644 --- a/sdk/python/pulumi_alicloud/arms/alert_contact.py +++ b/sdk/python/pulumi_alicloud/arms/alert_contact.py @@ -226,6 +226,8 @@ def __init__(__self__, phone_num="1381111****") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. @@ -270,6 +272,8 @@ def __init__(__self__, phone_num="1381111****") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/alert_contact_group.py b/sdk/python/pulumi_alicloud/arms/alert_contact_group.py index 02b28b90e9..21b1b09337 100644 --- a/sdk/python/pulumi_alicloud/arms/alert_contact_group.py +++ b/sdk/python/pulumi_alicloud/arms/alert_contact_group.py @@ -129,6 +129,8 @@ def __init__(__self__, contact_ids=[example.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. @@ -173,6 +175,8 @@ def __init__(__self__, contact_ids=[example.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/alert_robot.py b/sdk/python/pulumi_alicloud/arms/alert_robot.py index 44f59f9601..3d28c6604d 100644 --- a/sdk/python/pulumi_alicloud/arms/alert_robot.py +++ b/sdk/python/pulumi_alicloud/arms/alert_robot.py @@ -236,6 +236,8 @@ def __init__(__self__, daily_noc_time="09:30,17:00") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. @@ -293,6 +295,8 @@ def __init__(__self__, daily_noc_time="09:30,17:00") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Robot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/dispatch_rule.py b/sdk/python/pulumi_alicloud/arms/dispatch_rule.py index 18e658e8f6..102e02bc6d 100644 --- a/sdk/python/pulumi_alicloud/arms/dispatch_rule.py +++ b/sdk/python/pulumi_alicloud/arms/dispatch_rule.py @@ -356,6 +356,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. @@ -452,6 +454,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Alert Contact can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/env_custom_job.py b/sdk/python/pulumi_alicloud/arms/env_custom_job.py index 324f8e157c..0b8fe044d1 100644 --- a/sdk/python/pulumi_alicloud/arms/env_custom_job.py +++ b/sdk/python/pulumi_alicloud/arms/env_custom_job.py @@ -251,6 +251,8 @@ def __init__(__self__, aliyun_lang="en") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Custom Job can be imported using the id, e.g. @@ -323,6 +325,8 @@ def __init__(__self__, aliyun_lang="en") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Custom Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/env_feature.py b/sdk/python/pulumi_alicloud/arms/env_feature.py index 797199396d..507ec19427 100644 --- a/sdk/python/pulumi_alicloud/arms/env_feature.py +++ b/sdk/python/pulumi_alicloud/arms/env_feature.py @@ -253,6 +253,8 @@ def __init__(__self__, feature_version="1.1.17") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Feature can be imported using the id, e.g. @@ -359,6 +361,8 @@ def __init__(__self__, feature_version="1.1.17") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Feature can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/env_pod_monitor.py b/sdk/python/pulumi_alicloud/arms/env_pod_monitor.py index 49dd234bfc..72e814eed4 100644 --- a/sdk/python/pulumi_alicloud/arms/env_pod_monitor.py +++ b/sdk/python/pulumi_alicloud/arms/env_pod_monitor.py @@ -294,6 +294,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Pod Monitor can be imported using the id, e.g. @@ -424,6 +426,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Pod Monitor can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/env_service_monitor.py b/sdk/python/pulumi_alicloud/arms/env_service_monitor.py index dca9821725..a01beaf4d4 100644 --- a/sdk/python/pulumi_alicloud/arms/env_service_monitor.py +++ b/sdk/python/pulumi_alicloud/arms/env_service_monitor.py @@ -293,6 +293,8 @@ def __init__(__self__, aliyun_lang="zh") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Service Monitor can be imported using the id, e.g. @@ -422,6 +424,8 @@ def __init__(__self__, aliyun_lang="zh") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Env Service Monitor can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/environment.py b/sdk/python/pulumi_alicloud/arms/environment.py index 14d438b6ab..89847895e8 100644 --- a/sdk/python/pulumi_alicloud/arms/environment.py +++ b/sdk/python/pulumi_alicloud/arms/environment.py @@ -456,6 +456,8 @@ def __init__(__self__, environment_name=f"terraform-example-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Environment can be imported using the id, e.g. @@ -570,6 +572,8 @@ def __init__(__self__, environment_name=f"terraform-example-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Environment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/grafana_workspace.py b/sdk/python/pulumi_alicloud/arms/grafana_workspace.py index 15fd4f99f4..0a1da88c3f 100644 --- a/sdk/python/pulumi_alicloud/arms/grafana_workspace.py +++ b/sdk/python/pulumi_alicloud/arms/grafana_workspace.py @@ -619,6 +619,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. @@ -699,6 +701,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Grafana Workspace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/integration_exporter.py b/sdk/python/pulumi_alicloud/arms/integration_exporter.py index b2a3fad137..0b5620b5a0 100644 --- a/sdk/python/pulumi_alicloud/arms/integration_exporter.py +++ b/sdk/python/pulumi_alicloud/arms/integration_exporter.py @@ -201,6 +201,8 @@ def __init__(__self__, param="{\\"tls_insecure-skip-tls-verify\\":\\"none=tls.insecure-skip-tls-verify\\",\\"tls_enabled\\":\\"none=tls.enabled\\",\\"sasl_mechanism\\":\\"\\",\\"name\\":\\"kafka1\\",\\"sasl_enabled\\":\\"none=sasl.enabled\\",\\"ip_ports\\":\\"abc:888\\",\\"scrape_interval\\":30,\\"version\\":\\"0.10.1.0\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. @@ -271,6 +273,8 @@ def __init__(__self__, param="{\\"tls_insecure-skip-tls-verify\\":\\"none=tls.insecure-skip-tls-verify\\",\\"tls_enabled\\":\\"none=tls.enabled\\",\\"sasl_mechanism\\":\\"\\",\\"name\\":\\"kafka1\\",\\"sasl_enabled\\":\\"none=sasl.enabled\\",\\"ip_ports\\":\\"abc:888\\",\\"scrape_interval\\":30,\\"version\\":\\"0.10.1.0\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Integration Exporter can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/prometheus.py b/sdk/python/pulumi_alicloud/arms/prometheus.py index 28b1a4371b..05244f6e7a 100644 --- a/sdk/python/pulumi_alicloud/arms/prometheus.py +++ b/sdk/python/pulumi_alicloud/arms/prometheus.py @@ -413,6 +413,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. @@ -486,6 +488,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Prometheus can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/prometheus_alert_rule.py b/sdk/python/pulumi_alicloud/arms/prometheus_alert_rule.py index 7d0e55c41b..68b4b31bf9 100644 --- a/sdk/python/pulumi_alicloud/arms/prometheus_alert_rule.py +++ b/sdk/python/pulumi_alicloud/arms/prometheus_alert_rule.py @@ -434,6 +434,8 @@ def __init__(__self__, notify_type="ALERT_MANAGER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. @@ -497,6 +499,8 @@ def __init__(__self__, notify_type="ALERT_MANAGER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Prometheus Alert Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/prometheus_monitoring.py b/sdk/python/pulumi_alicloud/arms/prometheus_monitoring.py index 5ebea01eed..f26fd3acdc 100644 --- a/sdk/python/pulumi_alicloud/arms/prometheus_monitoring.py +++ b/sdk/python/pulumi_alicloud/arms/prometheus_monitoring.py @@ -286,6 +286,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Prometheus Monitoring can be imported using the id, e.g. @@ -409,6 +411,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Prometheus Monitoring can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/remote_write.py b/sdk/python/pulumi_alicloud/arms/remote_write.py index 0ecd83dfaf..10b936f6e4 100644 --- a/sdk/python/pulumi_alicloud/arms/remote_write.py +++ b/sdk/python/pulumi_alicloud/arms/remote_write.py @@ -180,6 +180,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. @@ -260,6 +262,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Application Real-Time Monitoring Service (ARMS) Remote Write can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/arms/synthetic_task.py b/sdk/python/pulumi_alicloud/arms/synthetic_task.py index b3b96d94e9..e084a13bf3 100644 --- a/sdk/python/pulumi_alicloud/arms/synthetic_task.py +++ b/sdk/python/pulumi_alicloud/arms/synthetic_task.py @@ -622,6 +622,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Synthetic Task can be imported using the id, e.g. @@ -842,6 +844,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ARMS Synthetic Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host.py b/sdk/python/pulumi_alicloud/bastionhost/host.py index 9ba9a901d9..3ca4f571e3 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host.py @@ -436,6 +436,8 @@ def __init__(__self__, source="Local") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host can be imported using the id, e.g. @@ -510,6 +512,8 @@ def __init__(__self__, source="Local") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_account.py b/sdk/python/pulumi_alicloud/bastionhost/host_account.py index 350eaf3aa2..2b27fd2f49 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_account.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_account.py @@ -332,6 +332,8 @@ def __init__(__self__, password="YourPassword12345") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. @@ -406,6 +408,8 @@ def __init__(__self__, password="YourPassword12345") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_account_share_key_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_account_share_key_attachment.py index 97978aa855..f14a277ae5 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_account_share_key_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_account_share_key_attachment.py @@ -196,6 +196,8 @@ def __init__(__self__, host_account_id=default_host_account.host_account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Account Share Key Attachment can be imported using the id, e.g. @@ -277,6 +279,8 @@ def __init__(__self__, host_account_id=default_host_account.host_account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Account Share Key Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_account_user_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_account_user_attachment.py index ed3a338a1f..2435c6cbe7 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_account_user_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_account_user_attachment.py @@ -227,6 +227,8 @@ def __init__(__self__, host_account_ids=[default_host_account.host_account_id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. @@ -308,6 +310,8 @@ def __init__(__self__, host_account_ids=[default_host_account.host_account_id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_account_user_group_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_account_user_group_attachment.py index 55cc742a99..6d1e2479bd 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_account_user_group_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_account_user_group_attachment.py @@ -223,6 +223,8 @@ def __init__(__self__, host_account_ids=[default_host_account.host_account_id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. @@ -300,6 +302,8 @@ def __init__(__self__, host_account_ids=[default_host_account.host_account_id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_attachment.py index 7c2012cc32..e5967a0edc 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_attachment.py @@ -184,6 +184,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Attachment can be imported using the id, e.g. @@ -253,6 +255,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_group.py b/sdk/python/pulumi_alicloud/bastionhost/host_group.py index cdf5c67188..a65268ebe0 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_group.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_group.py @@ -192,6 +192,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Group can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_attachment.py index 30c617ae64..92f1a1c0f3 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_attachment.py @@ -230,6 +230,8 @@ def __init__(__self__, host_account_names=[default_host_account.host_account_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. @@ -314,6 +316,8 @@ def __init__(__self__, host_account_names=[default_host_account.host_account_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_group_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_group_attachment.py index cb8ad77986..e16c841780 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_group_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_group_account_user_group_attachment.py @@ -226,6 +226,8 @@ def __init__(__self__, host_account_names=[default_host_account.host_account_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. @@ -306,6 +308,8 @@ def __init__(__self__, host_account_names=[default_host_account.host_account_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/host_share_key.py b/sdk/python/pulumi_alicloud/bastionhost/host_share_key.py index 99b6e8540d..e5f1e31551 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/host_share_key.py +++ b/sdk/python/pulumi_alicloud/bastionhost/host_share_key.py @@ -260,6 +260,8 @@ def create_default(range_body): private_key=private_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Share Key can be imported using the id, e.g. @@ -341,6 +343,8 @@ def create_default(range_body): private_key=private_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host Share Key can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/user.py b/sdk/python/pulumi_alicloud/bastionhost/user.py index 1d70d32242..5db58f0fa7 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/user.py +++ b/sdk/python/pulumi_alicloud/bastionhost/user.py @@ -568,6 +568,8 @@ def __init__(__self__, user_name=user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User can be imported using the id, e.g. @@ -677,6 +679,8 @@ def __init__(__self__, user_name=user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/user_attachment.py b/sdk/python/pulumi_alicloud/bastionhost/user_attachment.py index 232ed5fd51..cf886c9937 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/user_attachment.py +++ b/sdk/python/pulumi_alicloud/bastionhost/user_attachment.py @@ -184,6 +184,8 @@ def __init__(__self__, user_id=local_user.user_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User Attachment can be imported using the id, e.g. @@ -253,6 +255,8 @@ def __init__(__self__, user_id=local_user.user_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bastionhost/user_group.py b/sdk/python/pulumi_alicloud/bastionhost/user_group.py index 0e789fbdf2..8dba74bb3e 100644 --- a/sdk/python/pulumi_alicloud/bastionhost/user_group.py +++ b/sdk/python/pulumi_alicloud/bastionhost/user_group.py @@ -192,6 +192,8 @@ def __init__(__self__, user_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User Group can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, user_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Bastion Host User Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/bp/studio_application.py b/sdk/python/pulumi_alicloud/bp/studio_application.py index caea0573d0..ab3c1fd627 100644 --- a/sdk/python/pulumi_alicloud/bp/studio_application.py +++ b/sdk/python/pulumi_alicloud/bp/studio_application.py @@ -325,6 +325,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Architect Design Tools Application can be imported using the id, e.g. @@ -388,6 +390,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Architect Design Tools Application can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/brain/industrial_pid_loop.py b/sdk/python/pulumi_alicloud/brain/industrial_pid_loop.py index 24d78b239c..56bb1a30cf 100644 --- a/sdk/python/pulumi_alicloud/brain/industrial_pid_loop.py +++ b/sdk/python/pulumi_alicloud/brain/industrial_pid_loop.py @@ -304,6 +304,8 @@ def __init__(__self__, pid_project_id="856c6b8f-ca63-40a4-xxxx-xxxx") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Loop can be imported using the id, e.g. @@ -352,6 +354,8 @@ def __init__(__self__, pid_project_id="856c6b8f-ca63-40a4-xxxx-xxxx") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Loop can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/brain/industrial_pid_organization.py b/sdk/python/pulumi_alicloud/brain/industrial_pid_organization.py index 7e42040ea5..54bb85fe1e 100644 --- a/sdk/python/pulumi_alicloud/brain/industrial_pid_organization.py +++ b/sdk/python/pulumi_alicloud/brain/industrial_pid_organization.py @@ -122,6 +122,8 @@ def __init__(__self__, example = alicloud.brain.IndustrialPidOrganization("example", pid_organization_name="tf-testAcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Organization can be imported using the id, e.g. @@ -159,6 +161,8 @@ def __init__(__self__, example = alicloud.brain.IndustrialPidOrganization("example", pid_organization_name="tf-testAcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Organization can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/brain/industrial_pid_project.py b/sdk/python/pulumi_alicloud/brain/industrial_pid_project.py index 8d7f0aa4f6..63a84b362f 100644 --- a/sdk/python/pulumi_alicloud/brain/industrial_pid_project.py +++ b/sdk/python/pulumi_alicloud/brain/industrial_pid_project.py @@ -156,6 +156,8 @@ def __init__(__self__, pid_project_name="tf-testAcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Project can be imported using the id, e.g. @@ -196,6 +198,8 @@ def __init__(__self__, pid_project_name="tf-testAcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Brain Industrial Pid Project can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cas/certificate.py b/sdk/python/pulumi_alicloud/cas/certificate.py index 458908c5d3..6ea3ab2c2e 100644 --- a/sdk/python/pulumi_alicloud/cas/certificate.py +++ b/sdk/python/pulumi_alicloud/cas/certificate.py @@ -441,6 +441,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] cert: Cert of the Certificate in which the Certificate will add. @@ -535,6 +537,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param CertificateArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/cas/service_certificate.py b/sdk/python/pulumi_alicloud/cas/service_certificate.py index 89d887ed9d..f9da3db2de 100644 --- a/sdk/python/pulumi_alicloud/cas/service_certificate.py +++ b/sdk/python/pulumi_alicloud/cas/service_certificate.py @@ -493,6 +493,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL Certificates Certificate can be imported using the id, e.g. @@ -596,6 +598,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL Certificates Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cassandra/cluster.py b/sdk/python/pulumi_alicloud/cassandra/cluster.py index 5649490e0c..13eba2c97d 100644 --- a/sdk/python/pulumi_alicloud/cassandra/cluster.py +++ b/sdk/python/pulumi_alicloud/cassandra/cluster.py @@ -775,6 +775,8 @@ def __init__(__self__, This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cassandra cluster can be imported using the id, e.g. @@ -853,6 +855,8 @@ def __init__(__self__, This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cassandra cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cassandra/data_center.py b/sdk/python/pulumi_alicloud/cassandra/data_center.py index 634fd0bdee..e12b5f1d70 100644 --- a/sdk/python/pulumi_alicloud/cassandra/data_center.py +++ b/sdk/python/pulumi_alicloud/cassandra/data_center.py @@ -576,6 +576,8 @@ def __init__(__self__, This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import If you need full function, please import Cassandra cluster first. @@ -662,6 +664,8 @@ def __init__(__self__, This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import If you need full function, please import Cassandra cluster first. diff --git a/sdk/python/pulumi_alicloud/cddc/dedicated_host_account.py b/sdk/python/pulumi_alicloud/cddc/dedicated_host_account.py index 8b159d8b58..4a993b3af4 100644 --- a/sdk/python/pulumi_alicloud/cddc/dedicated_host_account.py +++ b/sdk/python/pulumi_alicloud/cddc/dedicated_host_account.py @@ -231,6 +231,8 @@ def __init__(__self__, account_type="Normal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. @@ -315,6 +317,8 @@ def __init__(__self__, account_type="Normal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ApsaraDB for MyBase Dedicated Host Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cddc/dedicated_host_group.py b/sdk/python/pulumi_alicloud/cddc/dedicated_host_group.py index 5a1d20ca5f..85cbd854e5 100644 --- a/sdk/python/pulumi_alicloud/cddc/dedicated_host_group.py +++ b/sdk/python/pulumi_alicloud/cddc/dedicated_host_group.py @@ -373,6 +373,8 @@ def __init__(__self__, dedicated_host_group_desc=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. @@ -435,6 +437,8 @@ def __init__(__self__, dedicated_host_group_desc=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ApsaraDB for MyBase Dedicated Host Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cdn/domain_config.py b/sdk/python/pulumi_alicloud/cdn/domain_config.py index 82c23582b0..1347dd7c70 100644 --- a/sdk/python/pulumi_alicloud/cdn/domain_config.py +++ b/sdk/python/pulumi_alicloud/cdn/domain_config.py @@ -242,6 +242,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN domain config can be imported using the id, e.g. @@ -307,6 +309,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN domain config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cdn/domain_new.py b/sdk/python/pulumi_alicloud/cdn/domain_new.py index 60f5500fb0..cdefa575f0 100644 --- a/sdk/python/pulumi_alicloud/cdn/domain_new.py +++ b/sdk/python/pulumi_alicloud/cdn/domain_new.py @@ -418,6 +418,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Domain can be imported using the id, e.g. @@ -479,6 +481,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cdn/fc_trigger.py b/sdk/python/pulumi_alicloud/cdn/fc_trigger.py index f716a0dcc3..4426f083d3 100644 --- a/sdk/python/pulumi_alicloud/cdn/fc_trigger.py +++ b/sdk/python/pulumi_alicloud/cdn/fc_trigger.py @@ -290,6 +290,8 @@ def __init__(__self__, trigger_arn=f"acs:fc:{default_get_regions.regions[0].id}:{default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Fc Trigger can be imported using the id, e.g. @@ -340,6 +342,8 @@ def __init__(__self__, trigger_arn=f"acs:fc:{default_get_regions.regions[0].id}:{default.id}:services/FCTestService/functions/printEvent/triggers/testtrigger") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Fc Trigger can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cdn/real_time_log_delivery.py b/sdk/python/pulumi_alicloud/cdn/real_time_log_delivery.py index 664c7f573e..b87af32512 100644 --- a/sdk/python/pulumi_alicloud/cdn/real_time_log_delivery.py +++ b/sdk/python/pulumi_alicloud/cdn/real_time_log_delivery.py @@ -274,6 +274,8 @@ def __init__(__self__, sls_region=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Real Time Log Delivery can be imported using the id, e.g. @@ -352,6 +354,8 @@ def __init__(__self__, sls_region=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CDN Real Time Log Delivery can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/bandwidth_limit.py b/sdk/python/pulumi_alicloud/cen/bandwidth_limit.py index 543360530b..08e04ac3e0 100644 --- a/sdk/python/pulumi_alicloud/cen/bandwidth_limit.py +++ b/sdk/python/pulumi_alicloud/cen/bandwidth_limit.py @@ -203,6 +203,8 @@ def __init__(__self__, bandwidth_limit=4) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN bandwidth limit can be imported using the id, e.g. @@ -285,6 +287,8 @@ def __init__(__self__, bandwidth_limit=4) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN bandwidth limit can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/bandwidth_package.py b/sdk/python/pulumi_alicloud/cen/bandwidth_package.py index 0ab1bb3a07..188571c7ae 100644 --- a/sdk/python/pulumi_alicloud/cen/bandwidth_package.py +++ b/sdk/python/pulumi_alicloud/cen/bandwidth_package.py @@ -20,6 +20,7 @@ class BandwidthPackageArgs: def __init__(__self__, *, bandwidth: pulumi.Input[_builtins.int], + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, cen_bandwidth_package_name: Optional[pulumi.Input[_builtins.str]] = None, charge_type: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, @@ -32,11 +33,12 @@ def __init__(__self__, *, """ The set of arguments for constructing a BandwidthPackage resource. :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. - :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. + :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. :param pulumi.Input[_builtins.str] charge_type: Field `charge_type` has been deprecated from version 1.97.0. Use `payment_type` and instead. :param pulumi.Input[_builtins.str] description: The description of the bandwidth package. Default to null. :param pulumi.Input[_builtins.str] geographic_region_a_id: The area A to which the network instance belongs. Valid values: `China` | `North-America` | `Asia-Pacific` | `Europe` | `Australia`. @@ -48,6 +50,8 @@ def __init__(__self__, *, > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource. """ pulumi.set(__self__, "bandwidth", bandwidth) + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) if cen_bandwidth_package_name is not None: pulumi.set(__self__, "cen_bandwidth_package_name", cen_bandwidth_package_name) if charge_type is not None: @@ -89,14 +93,26 @@ def bandwidth(self, value: pulumi.Input[_builtins.int]): pulumi.set(self, "bandwidth", value) @_builtins.property - @pulumi.getter(name="cenBandwidthPackageName") - def cen_bandwidth_package_name(self) -> Optional[pulumi.Input[_builtins.str]]: + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - The name of the bandwidth package. Defaults to null. + Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + """ + return pulumi.get(self, "auto_renew") - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_renew", value) + + @_builtins.property + @pulumi.getter(name="cenBandwidthPackageName") + def cen_bandwidth_package_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the bandwidth package. Defaults to null. """ return pulumi.get(self, "cen_bandwidth_package_name") @@ -208,6 +224,7 @@ def period(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.input_type class _BandwidthPackageState: def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, bandwidth: Optional[pulumi.Input[_builtins.int]] = None, cen_bandwidth_package_name: Optional[pulumi.Input[_builtins.str]] = None, charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -222,12 +239,13 @@ def __init__(__self__, *, status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering BandwidthPackage resources. - :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. - :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. + :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. + :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. :param pulumi.Input[_builtins.str] charge_type: Field `charge_type` has been deprecated from version 1.97.0. Use `payment_type` and instead. :param pulumi.Input[_builtins.str] description: The description of the bandwidth package. Default to null. :param pulumi.Input[_builtins.str] expired_time: The time of the bandwidth package to expire. @@ -240,6 +258,8 @@ def __init__(__self__, *, > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource. :param pulumi.Input[_builtins.str] status: The association status of the bandwidth package. """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) if bandwidth is not None: pulumi.set(__self__, "bandwidth", bandwidth) if cen_bandwidth_package_name is not None: @@ -274,6 +294,22 @@ def __init__(__self__, *, if status is not None: pulumi.set(__self__, "status", status) + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_renew", value) + @_builtins.property @pulumi.getter def bandwidth(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -291,10 +327,6 @@ def bandwidth(self, value: Optional[pulumi.Input[_builtins.int]]): def cen_bandwidth_package_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ The name of the bandwidth package. Defaults to null. - - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. """ return pulumi.get(self, "cen_bandwidth_package_name") @@ -433,6 +465,7 @@ class BandwidthPackage(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, bandwidth: Optional[pulumi.Input[_builtins.int]] = None, cen_bandwidth_package_name: Optional[pulumi.Input[_builtins.str]] = None, charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -455,12 +488,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. - :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. + :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. + :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. :param pulumi.Input[_builtins.str] charge_type: Field `charge_type` has been deprecated from version 1.97.0. Use `payment_type` and instead. :param pulumi.Input[_builtins.str] description: The description of the bandwidth package. Default to null. :param pulumi.Input[_builtins.str] geographic_region_a_id: The area A to which the network instance belongs. Valid values: `China` | `North-America` | `Asia-Pacific` | `Europe` | `Australia`. @@ -501,6 +535,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[_builtins.bool]] = None, bandwidth: Optional[pulumi.Input[_builtins.int]] = None, cen_bandwidth_package_name: Optional[pulumi.Input[_builtins.str]] = None, charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -520,6 +555,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__ = BandwidthPackageArgs.__new__(BandwidthPackageArgs) + __props__.__dict__["auto_renew"] = auto_renew if bandwidth is None and not opts.urn: raise TypeError("Missing required property 'bandwidth'") __props__.__dict__["bandwidth"] = bandwidth @@ -544,6 +580,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, bandwidth: Optional[pulumi.Input[_builtins.int]] = None, cen_bandwidth_package_name: Optional[pulumi.Input[_builtins.str]] = None, charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -563,12 +600,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[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. - :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. + :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + :param pulumi.Input[_builtins.int] bandwidth: The bandwidth in Mbps of the bandwidth package. Cannot be less than 2Mbps. + :param pulumi.Input[_builtins.str] cen_bandwidth_package_name: The name of the bandwidth package. Defaults to null. :param pulumi.Input[_builtins.str] charge_type: Field `charge_type` has been deprecated from version 1.97.0. Use `payment_type` and instead. :param pulumi.Input[_builtins.str] description: The description of the bandwidth package. Default to null. :param pulumi.Input[_builtins.str] expired_time: The time of the bandwidth package to expire. @@ -585,6 +623,7 @@ def get(resource_name: str, __props__ = _BandwidthPackageState.__new__(_BandwidthPackageState) + __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["bandwidth"] = bandwidth __props__.__dict__["cen_bandwidth_package_name"] = cen_bandwidth_package_name __props__.__dict__["charge_type"] = charge_type @@ -599,6 +638,18 @@ def get(resource_name: str, __props__.__dict__["status"] = status return BandwidthPackage(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to enable auto-renewal for the bandwidth package. Only applicable when `payment_type` is `PrePaid`. Valid values: `true`, `false`. Default to `false`. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + + ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. + """ + return pulumi.get(self, "auto_renew") + @_builtins.property @pulumi.getter def bandwidth(self) -> pulumi.Output[_builtins.int]: @@ -612,10 +663,6 @@ def bandwidth(self) -> pulumi.Output[_builtins.int]: def cen_bandwidth_package_name(self) -> pulumi.Output[_builtins.str]: """ The name of the bandwidth package. Defaults to null. - - ->**NOTE:** PrePaid mode will deduct fees from the account directly and the bandwidth package can't be deleted before expired time. - - ->**NOTE:** The PostPaid mode is only for test. Please open a ticket if you need. """ return pulumi.get(self, "cen_bandwidth_package_name") diff --git a/sdk/python/pulumi_alicloud/cen/bandwidth_package_attachment.py b/sdk/python/pulumi_alicloud/cen/bandwidth_package_attachment.py index fb87b99932..b309b28c59 100644 --- a/sdk/python/pulumi_alicloud/cen/bandwidth_package_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/bandwidth_package_attachment.py @@ -129,6 +129,8 @@ def __init__(__self__, bandwidth_package_id=example_bandwidth_package.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN bandwidth package attachment resource can be imported using the id, e.g. @@ -174,6 +176,8 @@ def __init__(__self__, bandwidth_package_id=example_bandwidth_package.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN bandwidth package attachment resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/child_instance_route_entry_to_attachment.py b/sdk/python/pulumi_alicloud/cen/child_instance_route_entry_to_attachment.py index 5c80e30418..78fbffa1f4 100644 --- a/sdk/python/pulumi_alicloud/cen/child_instance_route_entry_to_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/child_instance_route_entry_to_attachment.py @@ -300,6 +300,8 @@ def __init__(__self__, child_instance_route_table_id=example_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. @@ -390,6 +392,8 @@ def __init__(__self__, child_instance_route_table_id=example_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Child Instance Route Entry To Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/flow_log.py b/sdk/python/pulumi_alicloud/cen/flow_log.py index 1ae67d6f18..0da89f6d4f 100644 --- a/sdk/python/pulumi_alicloud/cen/flow_log.py +++ b/sdk/python/pulumi_alicloud/cen/flow_log.py @@ -482,6 +482,8 @@ def __init__(__self__, log_store_name=default_store.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Flow Log can be imported using the id, e.g. @@ -549,6 +551,8 @@ def __init__(__self__, log_store_name=default_store.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Flow Log can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/instance.py b/sdk/python/pulumi_alicloud/cen/instance.py index 31765e8986..d4ee28d6bb 100644 --- a/sdk/python/pulumi_alicloud/cen/instance.py +++ b/sdk/python/pulumi_alicloud/cen/instance.py @@ -309,6 +309,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. @@ -358,6 +360,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Cen Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/instance_attachment.py b/sdk/python/pulumi_alicloud/cen/instance_attachment.py index 969caee96f..52c5fb2193 100644 --- a/sdk/python/pulumi_alicloud/cen/instance_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/instance_attachment.py @@ -284,6 +284,8 @@ def __init__(__self__, child_instance_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. @@ -336,6 +338,8 @@ def __init__(__self__, child_instance_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/instance_grant.py b/sdk/python/pulumi_alicloud/cen/instance_grant.py index 0aa1b9a042..0abb74cfc2 100644 --- a/sdk/python/pulumi_alicloud/cen/instance_grant.py +++ b/sdk/python/pulumi_alicloud/cen/instance_grant.py @@ -171,6 +171,8 @@ def __init__(__self__, cen_owner_id=your_account.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. @@ -227,6 +229,8 @@ def __init__(__self__, cen_owner_id=your_account.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_policy.py b/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_policy.py index 78115bbe2a..ea945f9ac1 100644 --- a/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_policy.py +++ b/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_policy.py @@ -256,6 +256,8 @@ def __init__(__self__, transit_router_id=defaultksqg_sa.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. @@ -316,6 +318,8 @@ def __init__(__self__, transit_router_id=defaultksqg_sa.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Inter Region Traffic Qos Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_queue.py b/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_queue.py index 568ba67b5e..e4d0781da1 100644 --- a/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_queue.py +++ b/sdk/python/pulumi_alicloud/cen/inter_region_traffic_qos_queue.py @@ -317,6 +317,8 @@ def __init__(__self__, inter_region_traffic_qos_queue_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. @@ -406,6 +408,8 @@ def __init__(__self__, inter_region_traffic_qos_queue_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Inter Region Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/private_zone.py b/sdk/python/pulumi_alicloud/cen/private_zone.py index 68bbca4114..ef5c1fa665 100644 --- a/sdk/python/pulumi_alicloud/cen/private_zone.py +++ b/sdk/python/pulumi_alicloud/cen/private_zone.py @@ -229,6 +229,8 @@ def __init__(__self__, host_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. @@ -290,6 +292,8 @@ def __init__(__self__, host_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Private Zone can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/route_entry.py b/sdk/python/pulumi_alicloud/cen/route_entry.py index e7d9486381..3fc865e0fe 100644 --- a/sdk/python/pulumi_alicloud/cen/route_entry.py +++ b/sdk/python/pulumi_alicloud/cen/route_entry.py @@ -211,6 +211,8 @@ def __init__(__self__, cidr_block=example_route_entry.destination_cidrblock) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, cidr_block=example_route_entry.destination_cidrblock) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/route_map.py b/sdk/python/pulumi_alicloud/cen/route_map.py index eea4485790..887ca9d551 100644 --- a/sdk/python/pulumi_alicloud/cen/route_map.py +++ b/sdk/python/pulumi_alicloud/cen/route_map.py @@ -1063,6 +1063,8 @@ def __init__(__self__, prepend_as_paths=["65501"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN RouteMap can be imported using the id, e.g. @@ -1181,6 +1183,8 @@ def __init__(__self__, prepend_as_paths=["65501"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN RouteMap can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/route_service.py b/sdk/python/pulumi_alicloud/cen/route_service.py index 1ac79fad10..f0c2d862b2 100644 --- a/sdk/python/pulumi_alicloud/cen/route_service.py +++ b/sdk/python/pulumi_alicloud/cen/route_service.py @@ -293,6 +293,8 @@ def __init__(__self__, host="100.118.28.52/32") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Route Service can be imported using the id, e.g. @@ -355,6 +357,8 @@ def __init__(__self__, host="100.118.28.52/32") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Route Service can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/traffic_marking_policy.py b/sdk/python/pulumi_alicloud/cen/traffic_marking_policy.py index bc280e565f..086edeb5c6 100644 --- a/sdk/python/pulumi_alicloud/cen/traffic_marking_policy.py +++ b/sdk/python/pulumi_alicloud/cen/traffic_marking_policy.py @@ -366,6 +366,8 @@ def __init__(__self__, transit_router_id=example_transit_router.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. @@ -420,6 +422,8 @@ def __init__(__self__, transit_router_id=example_transit_router.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Traffic Marking Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_route_table_aggregation.py b/sdk/python/pulumi_alicloud/cen/transit_route_table_aggregation.py index 70defe0ba0..da379f1602 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_route_table_aggregation.py +++ b/sdk/python/pulumi_alicloud/cen/transit_route_table_aggregation.py @@ -321,6 +321,8 @@ def __init__(__self__, transit_route_table_aggregation_description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. @@ -384,6 +386,8 @@ def __init__(__self__, transit_route_table_aggregation_description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Route Table Aggregation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router.py b/sdk/python/pulumi_alicloud/cen/transit_router.py index 4d0cc645bd..3a02e37f4a 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router.py @@ -351,6 +351,8 @@ def __init__(__self__, transit_router_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. @@ -403,6 +405,8 @@ def __init__(__self__, transit_router_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_cidr.py b/sdk/python/pulumi_alicloud/cen/transit_router_cidr.py index 1750503285..a2b0fd8170 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_cidr.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_cidr.py @@ -257,6 +257,8 @@ def __init__(__self__, publish_cidr_route=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. @@ -312,6 +314,8 @@ def __init__(__self__, publish_cidr_route=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Cidr can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_ecr_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_ecr_attachment.py index d91166fd40..754b087db5 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_ecr_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_ecr_attachment.py @@ -346,6 +346,8 @@ def __init__(__self__, ecr_owner_id=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Transit Router Ecr Attachment can be imported using the id, e.g. @@ -415,6 +417,8 @@ def __init__(__self__, ecr_owner_id=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN Transit Router Ecr Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_grant_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_grant_attachment.py index 3a32e802db..e082b57c88 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_grant_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_grant_attachment.py @@ -230,6 +230,8 @@ def __init__(__self__, order_type="PayByCenOwner") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. @@ -282,6 +284,8 @@ def __init__(__self__, order_type="PayByCenOwner") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Grant Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain.py b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain.py index 1b215c74c9..b356f363fe 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain.py @@ -270,6 +270,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Multicast Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_association.py b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_association.py index 93e7298d4b..4c8c0b0371 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_association.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_association.py @@ -202,6 +202,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. @@ -273,6 +275,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Multicast Domain Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_member.py b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_member.py index a7fd835eb6..dd8751d92c 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_member.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_member.py @@ -283,6 +283,8 @@ def __init__(__self__, group_ip_address="239.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Member can be imported using the id, e.g. @@ -371,6 +373,8 @@ def __init__(__self__, group_ip_address="239.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Member can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_peer_member.py b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_peer_member.py index 7e6628a521..74c77892d7 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_peer_member.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_peer_member.py @@ -247,6 +247,8 @@ def __init__(__self__, group_ip_address="224.1.0.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, group_ip_address="224.1.0.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Peer Member can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_source.py b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_source.py index 886b9a958a..e1162591c1 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_source.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_multicast_domain_source.py @@ -271,6 +271,8 @@ def __init__(__self__, group_ip_address="239.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Source can be imported using the id, e.g. @@ -379,6 +381,8 @@ def __init__(__self__, group_ip_address="239.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Multicast Domain Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_peer_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_peer_attachment.py index e9c686350b..40ee82fb59 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_peer_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_peer_attachment.py @@ -792,6 +792,8 @@ def __init__(__self__, transit_router_attachment_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. @@ -889,6 +891,8 @@ def __init__(__self__, transit_router_attachment_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_prefix_list_association.py b/sdk/python/pulumi_alicloud/cen/transit_router_prefix_list_association.py index 322dd28420..c11b548bc3 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_prefix_list_association.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_prefix_list_association.py @@ -300,6 +300,8 @@ def __init__(__self__, owner_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. @@ -362,6 +364,8 @@ def __init__(__self__, owner_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Prefix List Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_route_entry.py b/sdk/python/pulumi_alicloud/cen/transit_router_route_entry.py index 2098b71d8b..ff2bc03132 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_route_entry.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_route_entry.py @@ -366,6 +366,8 @@ def __init__(__self__, transit_router_route_entry_next_hop_id=example_transit_router_vbr_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. @@ -448,6 +450,8 @@ def __init__(__self__, transit_router_route_entry_next_hop_id=example_transit_router_vbr_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_route_table.py b/sdk/python/pulumi_alicloud/cen/transit_router_route_table.py index 4b34d29d81..7ec66ff67a 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_route_table.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_route_table.py @@ -273,6 +273,8 @@ def __init__(__self__, example_transit_router_route_table = alicloud.cen.TransitRouterRouteTable("example", transit_router_id=example_transit_router.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN transit router route table can be imported using the id, e.g. @@ -317,6 +319,8 @@ def __init__(__self__, example_transit_router_route_table = alicloud.cen.TransitRouterRouteTable("example", transit_router_id=example_transit_router.transit_router_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN transit router route table can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_route_table_association.py b/sdk/python/pulumi_alicloud/cen/transit_router_route_table_association.py index 7aed589448..c1b6d39f2d 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_route_table_association.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_route_table_association.py @@ -217,6 +217,8 @@ def __init__(__self__, transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. @@ -302,6 +304,8 @@ def __init__(__self__, transit_router_attachment_id=default_transit_router_vpc_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Route Table Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_route_table_propagation.py b/sdk/python/pulumi_alicloud/cen/transit_router_route_table_propagation.py index 56674a9549..9487e7fefd 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_route_table_propagation.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_route_table_propagation.py @@ -221,6 +221,8 @@ def __init__(__self__, transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN transit router route table propagation can be imported using the id, e.g. @@ -304,6 +306,8 @@ def __init__(__self__, transit_router_attachment_id=example_transit_router_vpc_attachment.transit_router_attachment_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN transit router route table propagation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_vbr_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_vbr_attachment.py index f42d04e5e8..34e4817b9a 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_vbr_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_vbr_attachment.py @@ -531,6 +531,8 @@ def __init__(__self__, transit_router_attachment_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. @@ -604,6 +606,8 @@ def __init__(__self__, transit_router_attachment_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router VBR Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_vpc_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_vpc_attachment.py index e30f10be8b..766b0b27a6 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_vpc_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_vpc_attachment.py @@ -775,6 +775,8 @@ def __init__(__self__, transit_router_attachment_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Vpc Attachment can be imported using the id, e.g. @@ -875,6 +877,8 @@ def __init__(__self__, transit_router_attachment_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cen Transit Router Vpc Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/transit_router_vpn_attachment.py b/sdk/python/pulumi_alicloud/cen/transit_router_vpn_attachment.py index 39575ab06d..44e9d6b65f 100644 --- a/sdk/python/pulumi_alicloud/cen/transit_router_vpn_attachment.py +++ b/sdk/python/pulumi_alicloud/cen/transit_router_vpn_attachment.py @@ -624,6 +624,8 @@ def __init__(__self__, transit_router_attachment_description="example-vpn-attachment") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. @@ -833,6 +835,8 @@ def __init__(__self__, transit_router_attachment_description="example-vpn-attachment") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Enterprise Network (CEN) Transit Router Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cen/vbr_health_check.py b/sdk/python/pulumi_alicloud/cen/vbr_health_check.py index b240f05abb..5c6999dda6 100644 --- a/sdk/python/pulumi_alicloud/cen/vbr_health_check.py +++ b/sdk/python/pulumi_alicloud/cen/vbr_health_check.py @@ -361,6 +361,8 @@ def __init__(__self__, healthy_threshold=8) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN VBR HealthCheck can be imported using the id, e.g. @@ -442,6 +444,8 @@ def __init__(__self__, healthy_threshold=8) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CEN VBR HealthCheck can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/aggregate_compliance_pack.py b/sdk/python/pulumi_alicloud/cfg/aggregate_compliance_pack.py index 378cc860bf..cbe07b5580 100644 --- a/sdk/python/pulumi_alicloud/cfg/aggregate_compliance_pack.py +++ b/sdk/python/pulumi_alicloud/cfg/aggregate_compliance_pack.py @@ -361,6 +361,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. @@ -438,6 +440,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Aggregate Compliance Pack can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/aggregate_config_rule.py b/sdk/python/pulumi_alicloud/cfg/aggregate_config_rule.py index 291024499d..d1b240a8a6 100644 --- a/sdk/python/pulumi_alicloud/cfg/aggregate_config_rule.py +++ b/sdk/python/pulumi_alicloud/cfg/aggregate_config_rule.py @@ -632,6 +632,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Aggregate Config Rule can be imported using the id, e.g. @@ -712,6 +714,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Aggregate Config Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/aggregate_delivery.py b/sdk/python/pulumi_alicloud/cfg/aggregate_delivery.py index 1e6154ae11..b0bbc798e2 100644 --- a/sdk/python/pulumi_alicloud/cfg/aggregate_delivery.py +++ b/sdk/python/pulumi_alicloud/cfg/aggregate_delivery.py @@ -570,6 +570,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Aggregate Delivery can be imported using the id, e.g. @@ -681,6 +683,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Aggregate Delivery can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/aggregator.py b/sdk/python/pulumi_alicloud/cfg/aggregator.py index b8b24bdac0..d054fa156d 100644 --- a/sdk/python/pulumi_alicloud/cfg/aggregator.py +++ b/sdk/python/pulumi_alicloud/cfg/aggregator.py @@ -284,6 +284,8 @@ def __init__(__self__, aggregator_type="CUSTOM") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config (Config) Aggregator can be imported using the id, e.g. @@ -342,6 +344,8 @@ def __init__(__self__, aggregator_type="CUSTOM") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config (Config) Aggregator can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/compliance_pack.py b/sdk/python/pulumi_alicloud/cfg/compliance_pack.py index d88591ffe5..9ccbde9ecb 100644 --- a/sdk/python/pulumi_alicloud/cfg/compliance_pack.py +++ b/sdk/python/pulumi_alicloud/cfg/compliance_pack.py @@ -319,6 +319,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Compliance Pack can be imported using the id, e.g. @@ -401,6 +403,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Config Compliance Pack can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/configuration_recorder.py b/sdk/python/pulumi_alicloud/cfg/configuration_recorder.py index 692f5a27a4..ab1d3ea78f 100644 --- a/sdk/python/pulumi_alicloud/cfg/configuration_recorder.py +++ b/sdk/python/pulumi_alicloud/cfg/configuration_recorder.py @@ -181,6 +181,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alicloud Config Configuration Recorder can be imported using the id, e.g. @@ -222,6 +224,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alicloud Config Configuration Recorder can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/delivery.py b/sdk/python/pulumi_alicloud/cfg/delivery.py index 7f74a07469..16336e489b 100644 --- a/sdk/python/pulumi_alicloud/cfg/delivery.py +++ b/sdk/python/pulumi_alicloud/cfg/delivery.py @@ -503,6 +503,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Delivery can be imported using the id, e.g. @@ -594,6 +596,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Delivery can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/delivery_channel.py b/sdk/python/pulumi_alicloud/cfg/delivery_channel.py index 3a27eae563..dac45db8d7 100644 --- a/sdk/python/pulumi_alicloud/cfg/delivery_channel.py +++ b/sdk/python/pulumi_alicloud/cfg/delivery_channel.py @@ -309,6 +309,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alicloud Config Delivery Channel can be imported using the id, e.g. @@ -366,6 +368,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alicloud Config Delivery Channel can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/remediation.py b/sdk/python/pulumi_alicloud/cfg/remediation.py index d8d2d17f71..bc33d61e28 100644 --- a/sdk/python/pulumi_alicloud/cfg/remediation.py +++ b/sdk/python/pulumi_alicloud/cfg/remediation.py @@ -308,6 +308,8 @@ def __init__(__self__, remediation_type="OOS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Remediation can be imported using the id, e.g. @@ -385,6 +387,8 @@ def __init__(__self__, remediation_type="OOS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Remediation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cfg/rule.py b/sdk/python/pulumi_alicloud/cfg/rule.py index 4b9f85ec84..ab7dbfaecb 100644 --- a/sdk/python/pulumi_alicloud/cfg/rule.py +++ b/sdk/python/pulumi_alicloud/cfg/rule.py @@ -826,6 +826,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Rule can be imported using the id, e.g. @@ -898,6 +900,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Config Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/chatbot/publish_task.py b/sdk/python/pulumi_alicloud/chatbot/publish_task.py index 874065b613..944854d02f 100644 --- a/sdk/python/pulumi_alicloud/chatbot/publish_task.py +++ b/sdk/python/pulumi_alicloud/chatbot/publish_task.py @@ -206,6 +206,8 @@ def __init__(__self__, agent_key=default.agents[0].agent_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Chatbot Publish Task can be imported using the id, e.g. @@ -247,6 +249,8 @@ def __init__(__self__, agent_key=default.agents[0].agent_key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Chatbot Publish Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouse/account.py b/sdk/python/pulumi_alicloud/clickhouse/account.py index b3d712ad80..78704d71ea 100644 --- a/sdk/python/pulumi_alicloud/clickhouse/account.py +++ b/sdk/python/pulumi_alicloud/clickhouse/account.py @@ -481,6 +481,8 @@ def __init__(__self__, type=type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Account can be imported using the id, e.g. @@ -559,6 +561,8 @@ def __init__(__self__, type=type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouse/backup_policy.py b/sdk/python/pulumi_alicloud/clickhouse/backup_policy.py index 0ee70663b4..9dc7dd9ec2 100644 --- a/sdk/python/pulumi_alicloud/clickhouse/backup_policy.py +++ b/sdk/python/pulumi_alicloud/clickhouse/backup_policy.py @@ -236,6 +236,8 @@ def __init__(__self__, backup_retention_period=7) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Backup Policy can be imported using the id, e.g. @@ -309,6 +311,8 @@ def __init__(__self__, backup_retention_period=7) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Backup Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouse/db_cluster.py b/sdk/python/pulumi_alicloud/clickhouse/db_cluster.py index dfc11b3e11..af91a5722d 100644 --- a/sdk/python/pulumi_alicloud/clickhouse/db_cluster.py +++ b/sdk/python/pulumi_alicloud/clickhouse/db_cluster.py @@ -931,6 +931,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House DBCluster can be imported using the id, e.g. @@ -1021,6 +1023,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House DBCluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/account.py b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/account.py index f16d87f610..9bc4c6e907 100644 --- a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/account.py +++ b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/account.py @@ -313,6 +313,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Account can be imported using the id, e.g. @@ -399,6 +401,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py index 6204ce84df..9ec0e63924 100644 --- a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py +++ b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/backup_policy.py @@ -218,6 +218,8 @@ def __init__(__self__, db_instance_id=default1t_t_lwe.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. @@ -290,6 +292,8 @@ def __init__(__self__, db_instance_id=default1t_t_lwe.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Backup Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py index a0190d6455..aac6c2ab71 100644 --- a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py +++ b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/click_house_enterprise_db_cluster.py @@ -367,6 +367,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise D B Cluster can be imported using the id, e.g. @@ -470,6 +472,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise D B Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py index 2fb1ca4b44..ea99fc3008 100644 --- a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py +++ b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/public_endpoint.py @@ -189,6 +189,8 @@ def __init__(__self__, connection_string_prefix=defaultaqnt22.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. @@ -260,6 +262,8 @@ def __init__(__self__, connection_string_prefix=defaultaqnt22.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Public Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py index b6f13c66a7..c36fcd5f73 100644 --- a/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py +++ b/sdk/python/pulumi_alicloud/clickhouseenterprisedbcluster/security_ip.py @@ -185,6 +185,8 @@ def __init__(__self__, db_instance_id=defaultn0n_vr_n.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. @@ -255,6 +257,8 @@ def __init__(__self__, db_instance_id=defaultn0n_vr_n.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Click House Enterprise Db Cluster Security I P can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudauth/face_config.py b/sdk/python/pulumi_alicloud/cloudauth/face_config.py index ba600e1fb2..a85e3e44ef 100644 --- a/sdk/python/pulumi_alicloud/cloudauth/face_config.py +++ b/sdk/python/pulumi_alicloud/cloudauth/face_config.py @@ -152,6 +152,8 @@ def __init__(__self__, args=[default["result"]]).result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloudauth Face Config can be imported using the id, e.g. @@ -204,6 +206,8 @@ def __init__(__self__, args=[default["result"]]).result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloudauth Face Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudconnect/network.py b/sdk/python/pulumi_alicloud/cloudconnect/network.py index e0bee2f617..d8e91635b2 100644 --- a/sdk/python/pulumi_alicloud/cloudconnect/network.py +++ b/sdk/python/pulumi_alicloud/cloudconnect/network.py @@ -198,6 +198,8 @@ def __init__(__self__, is_default=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The cloud connect network instance can be imported using the id, e.g. @@ -247,6 +249,8 @@ def __init__(__self__, is_default=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The cloud connect network instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudconnect/network_attachment.py b/sdk/python/pulumi_alicloud/cloudconnect/network_attachment.py index 6fab3f26db..3860ca62da 100644 --- a/sdk/python/pulumi_alicloud/cloudconnect/network_attachment.py +++ b/sdk/python/pulumi_alicloud/cloudconnect/network_attachment.py @@ -137,6 +137,8 @@ def __init__(__self__, sag_id=sag_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Cloud Connect Network Attachment can be imported using the instance_id, e.g. @@ -190,6 +192,8 @@ def __init__(__self__, sag_id=sag_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Cloud Connect Network Attachment can be imported using the instance_id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudconnect/network_grant.py b/sdk/python/pulumi_alicloud/cloudconnect/network_grant.py index 87248189c7..b4fe91cf43 100644 --- a/sdk/python/pulumi_alicloud/cloudconnect/network_grant.py +++ b/sdk/python/pulumi_alicloud/cloudconnect/network_grant.py @@ -178,6 +178,8 @@ def __init__(__self__, cen_uid=another_uid) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Cloud Connect Network Grant can be imported using the instance_id, e.g. @@ -241,6 +243,8 @@ def __init__(__self__, cen_uid=another_uid) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Cloud Connect Network Grant can be imported using the instance_id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudcontrol/resource.py b/sdk/python/pulumi_alicloud/cloudcontrol/resource.py index 296c60df83..c3e3724dd7 100644 --- a/sdk/python/pulumi_alicloud/cloudcontrol/resource.py +++ b/sdk/python/pulumi_alicloud/cloudcontrol/resource.py @@ -222,6 +222,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Control Resource can be imported using the id, e.g. @@ -280,6 +282,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Control Resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/address_book.py b/sdk/python/pulumi_alicloud/cloudfirewall/address_book.py index 54a0569f12..f46eb3151f 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/address_book.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/address_book.py @@ -333,6 +333,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Address Book can be imported using the id, e.g. @@ -386,6 +388,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Address Book can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/control_policy.py b/sdk/python/pulumi_alicloud/cloudfirewall/control_policy.py index 0cd0c9f92a..5de56a9376 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/control_policy.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/control_policy.py @@ -946,6 +946,8 @@ def __init__(__self__, proto="ANY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Control Policy can be imported using the id, e.g. @@ -1033,6 +1035,8 @@ def __init__(__self__, proto="ANY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/control_policy_order.py b/sdk/python/pulumi_alicloud/cloudfirewall/control_policy_order.py index e261b8ee32..74ef2db7ed 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/control_policy_order.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/control_policy_order.py @@ -174,6 +174,8 @@ def __init__(__self__, order=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Control Policy Order can be imported using the id, e.g. @@ -230,6 +232,8 @@ def __init__(__self__, order=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Control Policy Order can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall.py b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall.py index 818bdbbc8a..b15a740ff2 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall.py @@ -343,6 +343,8 @@ def __init__(__self__, status="open") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall can be imported using the id, e.g. @@ -410,6 +412,8 @@ def __init__(__self__, status="open") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_cen.py b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_cen.py index 56035063e3..dce8b57aa6 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_cen.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_cen.py @@ -326,6 +326,8 @@ def __init__(__self__, vpc_firewall_name="tf-vpc-firewall-name") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. @@ -377,6 +379,8 @@ def __init__(__self__, vpc_firewall_name="tf-vpc-firewall-name") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall Cen can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_control_policy.py b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_control_policy.py index f37ed5aaea..0612c42f05 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_control_policy.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/firewall_vpc_firewall_control_policy.py @@ -20,7 +20,6 @@ class FirewallVpcFirewallControlPolicyArgs: def __init__(__self__, *, acl_action: pulumi.Input[_builtins.str], - application_name: pulumi.Input[_builtins.str], description: pulumi.Input[_builtins.str], destination: pulumi.Input[_builtins.str], destination_type: pulumi.Input[_builtins.str], @@ -29,16 +28,24 @@ def __init__(__self__, *, source: pulumi.Input[_builtins.str], source_type: pulumi.Input[_builtins.str], vpc_firewall_id: pulumi.Input[_builtins.str], + application_name: Optional[pulumi.Input[_builtins.str]] = None, + application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, dest_port: Optional[pulumi.Input[_builtins.str]] = None, dest_port_group: Optional[pulumi.Input[_builtins.str]] = None, dest_port_type: Optional[pulumi.Input[_builtins.str]] = None, + domain_resolve_type: Optional[pulumi.Input[_builtins.str]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, lang: Optional[pulumi.Input[_builtins.str]] = None, member_uid: Optional[pulumi.Input[_builtins.str]] = None, - release: Optional[pulumi.Input[_builtins.bool]] = None): + release: Optional[pulumi.Input[_builtins.str]] = None, + repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + repeat_end_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_start_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_type: Optional[pulumi.Input[_builtins.str]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None): """ The set of arguments for constructing a FirewallVpcFirewallControlPolicy resource. :param pulumi.Input[_builtins.str] acl_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`. - :param pulumi.Input[_builtins.str] application_name: The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. :param pulumi.Input[_builtins.str] description: Access control over VPC firewalls description of the strategy information. :param pulumi.Input[_builtins.str] destination: The destination address in the access control policy. Valid values: - If `destination_type` is set to `net`, the value of `destination` must be a CIDR block. @@ -52,15 +59,26 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] vpc_firewall_id: The ID of the VPC firewall instance. Valid values: - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. + :param pulumi.Input[_builtins.str] application_name: The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] application_name_lists: The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. :param pulumi.Input[_builtins.str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify this parameter. :param pulumi.Input[_builtins.str] dest_port_group: Access control policy in the access traffic of the destination port address book name. **Note:** If `dest_port_type` is set to `group`, you must specify this parameter. :param pulumi.Input[_builtins.str] dest_port_type: The type of the destination port in the access control policy. Valid values: `port`, `group`. + :param pulumi.Input[_builtins.str] domain_resolve_type: The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + :param pulumi.Input[_builtins.int] end_time: The end time of the policy validity period. :param pulumi.Input[_builtins.str] lang: The language of the content within the request and response. Valid values: `zh`, `en`. :param pulumi.Input[_builtins.str] member_uid: The UID of the member account of the current Alibaba cloud account. - :param pulumi.Input[_builtins.bool] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[_builtins.str] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] repeat_days: The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + :param pulumi.Input[_builtins.str] repeat_end_time: The recurring end time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_start_time: The recurring start time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_type: The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + :param pulumi.Input[_builtins.int] start_time: The start time of the policy validity period. """ pulumi.set(__self__, "acl_action", acl_action) - pulumi.set(__self__, "application_name", application_name) pulumi.set(__self__, "description", description) pulumi.set(__self__, "destination", destination) pulumi.set(__self__, "destination_type", destination_type) @@ -69,18 +87,36 @@ def __init__(__self__, *, pulumi.set(__self__, "source", source) pulumi.set(__self__, "source_type", source_type) pulumi.set(__self__, "vpc_firewall_id", vpc_firewall_id) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if application_name_lists is not None: + pulumi.set(__self__, "application_name_lists", application_name_lists) if dest_port is not None: pulumi.set(__self__, "dest_port", dest_port) if dest_port_group is not None: pulumi.set(__self__, "dest_port_group", dest_port_group) if dest_port_type is not None: pulumi.set(__self__, "dest_port_type", dest_port_type) + if domain_resolve_type is not None: + pulumi.set(__self__, "domain_resolve_type", domain_resolve_type) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) if lang is not None: pulumi.set(__self__, "lang", lang) if member_uid is not None: pulumi.set(__self__, "member_uid", member_uid) if release is not None: pulumi.set(__self__, "release", release) + if repeat_days is not None: + pulumi.set(__self__, "repeat_days", repeat_days) + if repeat_end_time is not None: + pulumi.set(__self__, "repeat_end_time", repeat_end_time) + if repeat_start_time is not None: + pulumi.set(__self__, "repeat_start_time", repeat_start_time) + if repeat_type is not None: + pulumi.set(__self__, "repeat_type", repeat_type) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) @_builtins.property @pulumi.getter(name="aclAction") @@ -94,18 +130,6 @@ def acl_action(self) -> pulumi.Input[_builtins.str]: def acl_action(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "acl_action", value) - @_builtins.property - @pulumi.getter(name="applicationName") - def application_name(self) -> pulumi.Input[_builtins.str]: - """ - The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. - """ - return pulumi.get(self, "application_name") - - @application_name.setter - def application_name(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "application_name", value) - @_builtins.property @pulumi.getter def description(self) -> pulumi.Input[_builtins.str]: @@ -207,6 +231,31 @@ def vpc_firewall_id(self) -> pulumi.Input[_builtins.str]: def vpc_firewall_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "vpc_firewall_id", value) + @_builtins.property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. + """ + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "application_name", value) + + @_builtins.property + @pulumi.getter(name="applicationNameLists") + def application_name_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. + """ + return pulumi.get(self, "application_name_lists") + + @application_name_lists.setter + def application_name_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "application_name_lists", value) + @_builtins.property @pulumi.getter(name="destPort") def dest_port(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -243,6 +292,30 @@ def dest_port_type(self) -> Optional[pulumi.Input[_builtins.str]]: def dest_port_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "dest_port_type", value) + @_builtins.property + @pulumi.getter(name="domainResolveType") + def domain_resolve_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + """ + return pulumi.get(self, "domain_resolve_type") + + @domain_resolve_type.setter + def domain_resolve_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "domain_resolve_type", value) + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The end time of the policy validity period. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "end_time", value) + @_builtins.property @pulumi.getter def lang(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -269,16 +342,78 @@ def member_uid(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - def release(self) -> Optional[pulumi.Input[_builtins.bool]]: + def release(self) -> Optional[pulumi.Input[_builtins.str]]: """ The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: """ return pulumi.get(self, "release") @release.setter - def release(self, value: Optional[pulumi.Input[_builtins.bool]]): + def release(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "release", value) + @_builtins.property + @pulumi.getter(name="repeatDays") + def repeat_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]: + """ + The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + """ + return pulumi.get(self, "repeat_days") + + @repeat_days.setter + def repeat_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]): + pulumi.set(self, "repeat_days", value) + + @_builtins.property + @pulumi.getter(name="repeatEndTime") + def repeat_end_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurring end time of the policy validity period. + """ + return pulumi.get(self, "repeat_end_time") + + @repeat_end_time.setter + def repeat_end_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_end_time", value) + + @_builtins.property + @pulumi.getter(name="repeatStartTime") + def repeat_start_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurring start time of the policy validity period. + """ + return pulumi.get(self, "repeat_start_time") + + @repeat_start_time.setter + def repeat_start_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_start_time", value) + + @_builtins.property + @pulumi.getter(name="repeatType") + def repeat_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + """ + return pulumi.get(self, "repeat_type") + + @repeat_type.setter + def repeat_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_type", value) + + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The start time of the policy validity period. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "start_time", value) + @pulumi.input_type class _FirewallVpcFirewallControlPolicyState: @@ -287,6 +422,8 @@ def __init__(__self__, *, acl_uuid: Optional[pulumi.Input[_builtins.str]] = None, application_id: Optional[pulumi.Input[_builtins.str]] = None, application_name: Optional[pulumi.Input[_builtins.str]] = None, + application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + create_time: Optional[pulumi.Input[_builtins.int]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dest_port: Optional[pulumi.Input[_builtins.str]] = None, dest_port_group: Optional[pulumi.Input[_builtins.str]] = None, @@ -296,16 +433,23 @@ def __init__(__self__, *, destination_group_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, destination_group_type: Optional[pulumi.Input[_builtins.str]] = None, destination_type: Optional[pulumi.Input[_builtins.str]] = None, + domain_resolve_type: Optional[pulumi.Input[_builtins.str]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, hit_times: Optional[pulumi.Input[_builtins.int]] = None, lang: Optional[pulumi.Input[_builtins.str]] = None, member_uid: Optional[pulumi.Input[_builtins.str]] = None, order: Optional[pulumi.Input[_builtins.int]] = None, proto: Optional[pulumi.Input[_builtins.str]] = None, - release: Optional[pulumi.Input[_builtins.bool]] = None, + release: Optional[pulumi.Input[_builtins.str]] = None, + repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + repeat_end_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_start_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_type: Optional[pulumi.Input[_builtins.str]] = None, source: Optional[pulumi.Input[_builtins.str]] = None, source_group_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, source_group_type: Optional[pulumi.Input[_builtins.str]] = None, source_type: Optional[pulumi.Input[_builtins.str]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, vpc_firewall_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering FirewallVpcFirewallControlPolicy resources. @@ -313,6 +457,9 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] acl_uuid: Access control over VPC firewalls strategy unique identifier. :param pulumi.Input[_builtins.str] application_id: Policy specifies the application ID. :param pulumi.Input[_builtins.str] application_name: The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] application_name_lists: The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. + :param pulumi.Input[_builtins.int] create_time: (Available since v1.267.0) The time when the policy was created. :param pulumi.Input[_builtins.str] description: Access control over VPC firewalls description of the strategy information. :param pulumi.Input[_builtins.str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify this parameter. :param pulumi.Input[_builtins.str] dest_port_group: Access control policy in the access traffic of the destination port address book name. **Note:** If `dest_port_type` is set to `group`, you must specify this parameter. @@ -325,16 +472,25 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] destination_group_cidrs: Destination address book defined in the address list. :param pulumi.Input[_builtins.str] destination_group_type: The destination address book type in the access control policy. :param pulumi.Input[_builtins.str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. + :param pulumi.Input[_builtins.str] domain_resolve_type: The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + :param pulumi.Input[_builtins.int] end_time: The end time of the policy validity period. :param pulumi.Input[_builtins.int] hit_times: Control strategy of hits per second. :param pulumi.Input[_builtins.str] lang: The language of the content within the request and response. Valid values: `zh`, `en`. :param pulumi.Input[_builtins.str] member_uid: The UID of the member account of the current Alibaba cloud account. :param pulumi.Input[_builtins.int] order: The priority of the access control policy. The priority value starts from 1. A smaller priority value indicates a higher priority. :param pulumi.Input[_builtins.str] proto: The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. - :param pulumi.Input[_builtins.bool] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[_builtins.str] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] repeat_days: The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + :param pulumi.Input[_builtins.str] repeat_end_time: The recurring end time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_start_time: The recurring start time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_type: The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. :param pulumi.Input[_builtins.str] source: Access control over VPC firewalls strategy in the source address. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] source_group_cidrs: SOURCE address of the address list. :param pulumi.Input[_builtins.str] source_group_type: The source address type in the access control policy. :param pulumi.Input[_builtins.str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`. + :param pulumi.Input[_builtins.int] start_time: The start time of the policy validity period. :param pulumi.Input[_builtins.str] vpc_firewall_id: The ID of the VPC firewall instance. Valid values: - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -347,6 +503,10 @@ def __init__(__self__, *, pulumi.set(__self__, "application_id", application_id) if application_name is not None: pulumi.set(__self__, "application_name", application_name) + if application_name_lists is not None: + pulumi.set(__self__, "application_name_lists", application_name_lists) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) if description is not None: pulumi.set(__self__, "description", description) if dest_port is not None: @@ -365,6 +525,10 @@ def __init__(__self__, *, pulumi.set(__self__, "destination_group_type", destination_group_type) if destination_type is not None: pulumi.set(__self__, "destination_type", destination_type) + if domain_resolve_type is not None: + pulumi.set(__self__, "domain_resolve_type", domain_resolve_type) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) if hit_times is not None: pulumi.set(__self__, "hit_times", hit_times) if lang is not None: @@ -377,6 +541,14 @@ def __init__(__self__, *, pulumi.set(__self__, "proto", proto) if release is not None: pulumi.set(__self__, "release", release) + if repeat_days is not None: + pulumi.set(__self__, "repeat_days", repeat_days) + if repeat_end_time is not None: + pulumi.set(__self__, "repeat_end_time", repeat_end_time) + if repeat_start_time is not None: + pulumi.set(__self__, "repeat_start_time", repeat_start_time) + if repeat_type is not None: + pulumi.set(__self__, "repeat_type", repeat_type) if source is not None: pulumi.set(__self__, "source", source) if source_group_cidrs is not None: @@ -385,6 +557,8 @@ def __init__(__self__, *, pulumi.set(__self__, "source_group_type", source_group_type) if source_type is not None: pulumi.set(__self__, "source_type", source_type) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) if vpc_firewall_id is not None: pulumi.set(__self__, "vpc_firewall_id", vpc_firewall_id) @@ -436,6 +610,31 @@ def application_name(self) -> Optional[pulumi.Input[_builtins.str]]: def application_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "application_name", value) + @_builtins.property + @pulumi.getter(name="applicationNameLists") + def application_name_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. + """ + return pulumi.get(self, "application_name_lists") + + @application_name_lists.setter + def application_name_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "application_name_lists", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + (Available since v1.267.0) The time when the policy was created. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "create_time", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -547,6 +746,30 @@ def destination_type(self) -> Optional[pulumi.Input[_builtins.str]]: def destination_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "destination_type", value) + @_builtins.property + @pulumi.getter(name="domainResolveType") + def domain_resolve_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + """ + return pulumi.get(self, "domain_resolve_type") + + @domain_resolve_type.setter + def domain_resolve_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "domain_resolve_type", value) + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The end time of the policy validity period. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "end_time", value) + @_builtins.property @pulumi.getter(name="hitTimes") def hit_times(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -609,16 +832,66 @@ def proto(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - def release(self) -> Optional[pulumi.Input[_builtins.bool]]: + def release(self) -> Optional[pulumi.Input[_builtins.str]]: """ The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: """ return pulumi.get(self, "release") @release.setter - def release(self, value: Optional[pulumi.Input[_builtins.bool]]): + def release(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "release", value) + @_builtins.property + @pulumi.getter(name="repeatDays") + def repeat_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]: + """ + The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + """ + return pulumi.get(self, "repeat_days") + + @repeat_days.setter + def repeat_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]): + pulumi.set(self, "repeat_days", value) + + @_builtins.property + @pulumi.getter(name="repeatEndTime") + def repeat_end_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurring end time of the policy validity period. + """ + return pulumi.get(self, "repeat_end_time") + + @repeat_end_time.setter + def repeat_end_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_end_time", value) + + @_builtins.property + @pulumi.getter(name="repeatStartTime") + def repeat_start_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurring start time of the policy validity period. + """ + return pulumi.get(self, "repeat_start_time") + + @repeat_start_time.setter + def repeat_start_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_start_time", value) + + @_builtins.property + @pulumi.getter(name="repeatType") + def repeat_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + """ + return pulumi.get(self, "repeat_type") + + @repeat_type.setter + def repeat_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repeat_type", value) + @_builtins.property @pulumi.getter def source(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -667,6 +940,18 @@ def source_type(self) -> Optional[pulumi.Input[_builtins.str]]: def source_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "source_type", value) + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The start time of the policy validity period. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "start_time", value) + @_builtins.property @pulumi.getter(name="vpcFirewallId") def vpc_firewall_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -690,24 +975,34 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, acl_action: Optional[pulumi.Input[_builtins.str]] = None, application_name: Optional[pulumi.Input[_builtins.str]] = None, + application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dest_port: Optional[pulumi.Input[_builtins.str]] = None, dest_port_group: Optional[pulumi.Input[_builtins.str]] = None, dest_port_type: Optional[pulumi.Input[_builtins.str]] = None, destination: Optional[pulumi.Input[_builtins.str]] = None, destination_type: Optional[pulumi.Input[_builtins.str]] = None, + domain_resolve_type: Optional[pulumi.Input[_builtins.str]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, lang: Optional[pulumi.Input[_builtins.str]] = None, member_uid: Optional[pulumi.Input[_builtins.str]] = None, order: Optional[pulumi.Input[_builtins.int]] = None, proto: Optional[pulumi.Input[_builtins.str]] = None, - release: Optional[pulumi.Input[_builtins.bool]] = None, + release: Optional[pulumi.Input[_builtins.str]] = None, + repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + repeat_end_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_start_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_type: Optional[pulumi.Input[_builtins.str]] = None, source: Optional[pulumi.Input[_builtins.str]] = None, source_type: Optional[pulumi.Input[_builtins.str]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, vpc_firewall_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Provides a Cloud Firewall Vpc Firewall Control Policy resource. + VPC Control Policy. + For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). > **NOTE:** Available since v1.194.0. @@ -745,11 +1040,13 @@ def __init__(__self__, source="127.0.0.1/32", dest_port_type="port", proto="TCP", - release=True, + release="true", member_uid=default.id, vpc_firewall_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -762,6 +1059,8 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] acl_action: The action that Cloud Firewall performs on the traffic. Valid values: `accept`, `drop`, `log`. :param pulumi.Input[_builtins.str] application_name: The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] application_name_lists: The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. :param pulumi.Input[_builtins.str] description: Access control over VPC firewalls description of the strategy information. :param pulumi.Input[_builtins.str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify this parameter. :param pulumi.Input[_builtins.str] dest_port_group: Access control policy in the access traffic of the destination port address book name. **Note:** If `dest_port_type` is set to `group`, you must specify this parameter. @@ -771,13 +1070,22 @@ def __init__(__self__, - If `destination_type` is set to `group`, the value of `destination` must be an address book. - If `destination_type` is set to `domain`, the value of `destination` must be a domain name. :param pulumi.Input[_builtins.str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. + :param pulumi.Input[_builtins.str] domain_resolve_type: The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + :param pulumi.Input[_builtins.int] end_time: The end time of the policy validity period. :param pulumi.Input[_builtins.str] lang: The language of the content within the request and response. Valid values: `zh`, `en`. :param pulumi.Input[_builtins.str] member_uid: The UID of the member account of the current Alibaba cloud account. :param pulumi.Input[_builtins.int] order: The priority of the access control policy. The priority value starts from 1. A smaller priority value indicates a higher priority. :param pulumi.Input[_builtins.str] proto: The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. - :param pulumi.Input[_builtins.bool] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[_builtins.str] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] repeat_days: The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + :param pulumi.Input[_builtins.str] repeat_end_time: The recurring end time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_start_time: The recurring start time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_type: The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. :param pulumi.Input[_builtins.str] source: Access control over VPC firewalls strategy in the source address. :param pulumi.Input[_builtins.str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`. + :param pulumi.Input[_builtins.int] start_time: The start time of the policy validity period. :param pulumi.Input[_builtins.str] vpc_firewall_id: The ID of the VPC firewall instance. Valid values: - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -791,6 +1099,8 @@ def __init__(__self__, """ Provides a Cloud Firewall Vpc Firewall Control Policy resource. + VPC Control Policy. + For information about Cloud Firewall Vpc Firewall Control Policy and how to use it, see [What is Vpc Firewall Control Policy](https://www.alibabacloud.com/help/en/cloud-firewall/latest/createvpcfirewallcontrolpolicy). > **NOTE:** Available since v1.194.0. @@ -828,11 +1138,13 @@ def __init__(__self__, source="127.0.0.1/32", dest_port_type="port", proto="TCP", - release=True, + release="true", member_uid=default.id, vpc_firewall_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Firewall Control Policy can be imported using the id, e.g. @@ -858,19 +1170,27 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, acl_action: Optional[pulumi.Input[_builtins.str]] = None, application_name: Optional[pulumi.Input[_builtins.str]] = None, + application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dest_port: Optional[pulumi.Input[_builtins.str]] = None, dest_port_group: Optional[pulumi.Input[_builtins.str]] = None, dest_port_type: Optional[pulumi.Input[_builtins.str]] = None, destination: Optional[pulumi.Input[_builtins.str]] = None, destination_type: Optional[pulumi.Input[_builtins.str]] = None, + domain_resolve_type: Optional[pulumi.Input[_builtins.str]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, lang: Optional[pulumi.Input[_builtins.str]] = None, member_uid: Optional[pulumi.Input[_builtins.str]] = None, order: Optional[pulumi.Input[_builtins.int]] = None, proto: Optional[pulumi.Input[_builtins.str]] = None, - release: Optional[pulumi.Input[_builtins.bool]] = None, + release: Optional[pulumi.Input[_builtins.str]] = None, + repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + repeat_end_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_start_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_type: Optional[pulumi.Input[_builtins.str]] = None, source: Optional[pulumi.Input[_builtins.str]] = None, source_type: Optional[pulumi.Input[_builtins.str]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, vpc_firewall_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -884,9 +1204,8 @@ def _internal_init(__self__, if acl_action is None and not opts.urn: raise TypeError("Missing required property 'acl_action'") __props__.__dict__["acl_action"] = acl_action - if application_name is None and not opts.urn: - raise TypeError("Missing required property 'application_name'") __props__.__dict__["application_name"] = application_name + __props__.__dict__["application_name_lists"] = application_name_lists if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description @@ -899,6 +1218,8 @@ def _internal_init(__self__, if destination_type is None and not opts.urn: raise TypeError("Missing required property 'destination_type'") __props__.__dict__["destination_type"] = destination_type + __props__.__dict__["domain_resolve_type"] = domain_resolve_type + __props__.__dict__["end_time"] = end_time __props__.__dict__["lang"] = lang __props__.__dict__["member_uid"] = member_uid if order is None and not opts.urn: @@ -908,17 +1229,23 @@ def _internal_init(__self__, raise TypeError("Missing required property 'proto'") __props__.__dict__["proto"] = proto __props__.__dict__["release"] = release + __props__.__dict__["repeat_days"] = repeat_days + __props__.__dict__["repeat_end_time"] = repeat_end_time + __props__.__dict__["repeat_start_time"] = repeat_start_time + __props__.__dict__["repeat_type"] = repeat_type if source is None and not opts.urn: raise TypeError("Missing required property 'source'") __props__.__dict__["source"] = source if source_type is None and not opts.urn: raise TypeError("Missing required property 'source_type'") __props__.__dict__["source_type"] = source_type + __props__.__dict__["start_time"] = start_time if vpc_firewall_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_firewall_id'") __props__.__dict__["vpc_firewall_id"] = vpc_firewall_id __props__.__dict__["acl_uuid"] = None __props__.__dict__["application_id"] = None + __props__.__dict__["create_time"] = None __props__.__dict__["dest_port_group_ports"] = None __props__.__dict__["destination_group_cidrs"] = None __props__.__dict__["destination_group_type"] = None @@ -939,6 +1266,8 @@ def get(resource_name: str, acl_uuid: Optional[pulumi.Input[_builtins.str]] = None, application_id: Optional[pulumi.Input[_builtins.str]] = None, application_name: Optional[pulumi.Input[_builtins.str]] = None, + application_name_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + create_time: Optional[pulumi.Input[_builtins.int]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dest_port: Optional[pulumi.Input[_builtins.str]] = None, dest_port_group: Optional[pulumi.Input[_builtins.str]] = None, @@ -948,16 +1277,23 @@ def get(resource_name: str, destination_group_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, destination_group_type: Optional[pulumi.Input[_builtins.str]] = None, destination_type: Optional[pulumi.Input[_builtins.str]] = None, + domain_resolve_type: Optional[pulumi.Input[_builtins.str]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, hit_times: Optional[pulumi.Input[_builtins.int]] = None, lang: Optional[pulumi.Input[_builtins.str]] = None, member_uid: Optional[pulumi.Input[_builtins.str]] = None, order: Optional[pulumi.Input[_builtins.int]] = None, proto: Optional[pulumi.Input[_builtins.str]] = None, - release: Optional[pulumi.Input[_builtins.bool]] = None, + release: Optional[pulumi.Input[_builtins.str]] = None, + repeat_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + repeat_end_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_start_time: Optional[pulumi.Input[_builtins.str]] = None, + repeat_type: Optional[pulumi.Input[_builtins.str]] = None, source: Optional[pulumi.Input[_builtins.str]] = None, source_group_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, source_group_type: Optional[pulumi.Input[_builtins.str]] = None, source_type: Optional[pulumi.Input[_builtins.str]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, vpc_firewall_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'FirewallVpcFirewallControlPolicy': """ Get an existing FirewallVpcFirewallControlPolicy resource's state with the given name, id, and optional extra @@ -970,6 +1306,9 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] acl_uuid: Access control over VPC firewalls strategy unique identifier. :param pulumi.Input[_builtins.str] application_id: Policy specifies the application ID. :param pulumi.Input[_builtins.str] application_name: The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] application_name_lists: The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. + :param pulumi.Input[_builtins.int] create_time: (Available since v1.267.0) The time when the policy was created. :param pulumi.Input[_builtins.str] description: Access control over VPC firewalls description of the strategy information. :param pulumi.Input[_builtins.str] dest_port: The destination port in the access control policy. **Note:** If `dest_port_type` is set to `port`, you must specify this parameter. :param pulumi.Input[_builtins.str] dest_port_group: Access control policy in the access traffic of the destination port address book name. **Note:** If `dest_port_type` is set to `group`, you must specify this parameter. @@ -982,16 +1321,25 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] destination_group_cidrs: Destination address book defined in the address list. :param pulumi.Input[_builtins.str] destination_group_type: The destination address book type in the access control policy. :param pulumi.Input[_builtins.str] destination_type: The type of the destination address in the access control policy. Valid values: `net`, `group`, `domain`. + :param pulumi.Input[_builtins.str] domain_resolve_type: The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + :param pulumi.Input[_builtins.int] end_time: The end time of the policy validity period. :param pulumi.Input[_builtins.int] hit_times: Control strategy of hits per second. :param pulumi.Input[_builtins.str] lang: The language of the content within the request and response. Valid values: `zh`, `en`. :param pulumi.Input[_builtins.str] member_uid: The UID of the member account of the current Alibaba cloud account. :param pulumi.Input[_builtins.int] order: The priority of the access control policy. The priority value starts from 1. A smaller priority value indicates a higher priority. :param pulumi.Input[_builtins.str] proto: The type of the protocol in the access control policy. Valid values: `ANY`, `TCP`, `UDP`, `ICMP`. - :param pulumi.Input[_builtins.bool] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[_builtins.str] release: The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] repeat_days: The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + :param pulumi.Input[_builtins.str] repeat_end_time: The recurring end time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_start_time: The recurring start time of the policy validity period. + :param pulumi.Input[_builtins.str] repeat_type: The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. :param pulumi.Input[_builtins.str] source: Access control over VPC firewalls strategy in the source address. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] source_group_cidrs: SOURCE address of the address list. :param pulumi.Input[_builtins.str] source_group_type: The source address type in the access control policy. :param pulumi.Input[_builtins.str] source_type: The type of the source address in the access control policy. Valid values: `net`, `group`. + :param pulumi.Input[_builtins.int] start_time: The start time of the policy validity period. :param pulumi.Input[_builtins.str] vpc_firewall_id: The ID of the VPC firewall instance. Valid values: - When the VPC firewall protects traffic between two VPCs connected through the cloud enterprise network, the policy group ID uses the cloud enterprise network instance ID. - When the VPC firewall protects traffic between two VPCs connected through the express connection, the policy group ID uses the ID of the VPC firewall instance. @@ -1004,6 +1352,8 @@ def get(resource_name: str, __props__.__dict__["acl_uuid"] = acl_uuid __props__.__dict__["application_id"] = application_id __props__.__dict__["application_name"] = application_name + __props__.__dict__["application_name_lists"] = application_name_lists + __props__.__dict__["create_time"] = create_time __props__.__dict__["description"] = description __props__.__dict__["dest_port"] = dest_port __props__.__dict__["dest_port_group"] = dest_port_group @@ -1013,16 +1363,23 @@ def get(resource_name: str, __props__.__dict__["destination_group_cidrs"] = destination_group_cidrs __props__.__dict__["destination_group_type"] = destination_group_type __props__.__dict__["destination_type"] = destination_type + __props__.__dict__["domain_resolve_type"] = domain_resolve_type + __props__.__dict__["end_time"] = end_time __props__.__dict__["hit_times"] = hit_times __props__.__dict__["lang"] = lang __props__.__dict__["member_uid"] = member_uid __props__.__dict__["order"] = order __props__.__dict__["proto"] = proto __props__.__dict__["release"] = release + __props__.__dict__["repeat_days"] = repeat_days + __props__.__dict__["repeat_end_time"] = repeat_end_time + __props__.__dict__["repeat_start_time"] = repeat_start_time + __props__.__dict__["repeat_type"] = repeat_type __props__.__dict__["source"] = source __props__.__dict__["source_group_cidrs"] = source_group_cidrs __props__.__dict__["source_group_type"] = source_group_type __props__.__dict__["source_type"] = source_type + __props__.__dict__["start_time"] = start_time __props__.__dict__["vpc_firewall_id"] = vpc_firewall_id return FirewallVpcFirewallControlPolicy(resource_name, opts=opts, __props__=__props__) @@ -1052,12 +1409,29 @@ def application_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="applicationName") - def application_name(self) -> pulumi.Output[_builtins.str]: + def application_name(self) -> pulumi.Output[Optional[_builtins.str]]: """ The type of the applications that the access control policy supports. Valid values: `FTP`, `HTTP`, `HTTPS`, `MySQL`, `SMTP`, `SMTPS`, `RDP`, `VNC`, `SSH`, `Redis`, `MQTT`, `MongoDB`, `Memcache`, `SSL`, `ANY`. """ return pulumi.get(self, "application_name") + @_builtins.property + @pulumi.getter(name="applicationNameLists") + def application_name_lists(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + The list of application types that the access control policy supports. + > **NOTE:** If `proto` is set to `TCP`, you can set `application_name_list` to any valid value. If `proto` is set to `UDP`, `ICMP`, or `ANY`, you can only set `application_name_list` to `["ANY"]`. From version 1.267.0, You must specify at least one of the `application_name_list` and `application_name`. If you specify both `application_name_list` and `application_name`, only the `application_name_list` takes effect. + """ + return pulumi.get(self, "application_name_lists") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.int]: + """ + (Available since v1.267.0) The time when the policy was created. + """ + return pulumi.get(self, "create_time") + @_builtins.property @pulumi.getter def description(self) -> pulumi.Output[_builtins.str]: @@ -1133,6 +1507,22 @@ def destination_type(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "destination_type") + @_builtins.property + @pulumi.getter(name="domainResolveType") + def domain_resolve_type(self) -> pulumi.Output[_builtins.str]: + """ + The domain name resolution method for the access control policy. Valid values: `FQDN`, `DNS`, `FQDN_AND_DNS`. + """ + return pulumi.get(self, "domain_resolve_type") + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The end time of the policy validity period. + """ + return pulumi.get(self, "end_time") + @_builtins.property @pulumi.getter(name="hitTimes") def hit_times(self) -> pulumi.Output[_builtins.int]: @@ -1175,12 +1565,46 @@ def proto(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter - def release(self) -> pulumi.Output[_builtins.bool]: + def release(self) -> pulumi.Output[_builtins.str]: """ The enabled status of the access control policy. The policy is enabled by default after it is created.. Valid values: """ return pulumi.get(self, "release") + @_builtins.property + @pulumi.getter(name="repeatDays") + def repeat_days(self) -> pulumi.Output[Optional[Sequence[_builtins.int]]]: + """ + The days of the week or month on which the policy is recurrently active. Valid values: + - If `repeat_type` is set to `Weekly`. Valid values: `0` to `6`. + - If `repeat_type` is set to `Monthly`. Valid values: `1` to `31`. + """ + return pulumi.get(self, "repeat_days") + + @_builtins.property + @pulumi.getter(name="repeatEndTime") + def repeat_end_time(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The recurring end time of the policy validity period. + """ + return pulumi.get(self, "repeat_end_time") + + @_builtins.property + @pulumi.getter(name="repeatStartTime") + def repeat_start_time(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The recurring start time of the policy validity period. + """ + return pulumi.get(self, "repeat_start_time") + + @_builtins.property + @pulumi.getter(name="repeatType") + def repeat_type(self) -> pulumi.Output[_builtins.str]: + """ + The recurrence type for the policy validity period. Default value: `Permanent`. Valid values: `Permanent`, `None`, `Daily`, `Weekly`, `Monthly`. + """ + return pulumi.get(self, "repeat_type") + @_builtins.property @pulumi.getter def source(self) -> pulumi.Output[_builtins.str]: @@ -1213,6 +1637,14 @@ def source_type(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "source_type") + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The start time of the policy validity period. + """ + return pulumi.get(self, "start_time") + @_builtins.property @pulumi.getter(name="vpcFirewallId") def vpc_firewall_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/instance.py b/sdk/python/pulumi_alicloud/cloudfirewall/instance.py index 9614789107..b24df11c93 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/instance.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/instance.py @@ -742,6 +742,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Instance can be imported using the id, e.g. @@ -816,6 +818,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/instance_member.py b/sdk/python/pulumi_alicloud/cloudfirewall/instance_member.py index c1c72b72c5..6b12d101d0 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/instance_member.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/instance_member.py @@ -197,6 +197,8 @@ def __init__(__self__, member_uid=default_account.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Instance Member can be imported using the id, e.g. @@ -245,6 +247,8 @@ def __init__(__self__, member_uid=default_account.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Instance Member can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall.py b/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall.py index afdc626e0b..59309cde40 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall.py @@ -498,6 +498,8 @@ def __init__(__self__, vswitch_cidr="172.16.5.0/24") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Nat Firewall can be imported using the id, e.g. @@ -593,6 +595,8 @@ def __init__(__self__, vswitch_cidr="172.16.5.0/24") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Nat Firewall can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py b/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py index 6ef3771003..7de6ba6754 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py @@ -1126,6 +1126,8 @@ def __init__(__self__, domain_resolve_type=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. @@ -1336,6 +1338,8 @@ def __init__(__self__, domain_resolve_type=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Nat Firewall Control Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/private_dns.py b/sdk/python/pulumi_alicloud/cloudfirewall/private_dns.py index 49f4683321..de05465496 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/private_dns.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/private_dns.py @@ -612,6 +612,8 @@ def __init__(__self__, member_uid=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Private Dns can be imported using the id, e.g. @@ -695,6 +697,8 @@ def __init__(__self__, member_uid=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Private Dns can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudfirewall/vpc_cen_tr_firewall.py b/sdk/python/pulumi_alicloud/cloudfirewall/vpc_cen_tr_firewall.py index 0cc8acaa64..5e884eb075 100644 --- a/sdk/python/pulumi_alicloud/cloudfirewall/vpc_cen_tr_firewall.py +++ b/sdk/python/pulumi_alicloud/cloudfirewall/vpc_cen_tr_firewall.py @@ -552,6 +552,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[wait10_minutes])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. @@ -691,6 +693,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[wait10_minutes])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Firewall Vpc Cen Tr Firewall can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudmonitor/service_basic_public.py b/sdk/python/pulumi_alicloud/cloudmonitor/service_basic_public.py index f679b54839..13a6b2ef4c 100644 --- a/sdk/python/pulumi_alicloud/cloudmonitor/service_basic_public.py +++ b/sdk/python/pulumi_alicloud/cloudmonitor/service_basic_public.py @@ -78,6 +78,8 @@ def __init__(__self__, default = alicloud.cloudmonitor.ServiceBasicPublic("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Basic Public can be imported using the id, e.g. @@ -117,6 +119,8 @@ def __init__(__self__, default = alicloud.cloudmonitor.ServiceBasicPublic("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Basic Public can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudmonitor/service_enterprise_public.py b/sdk/python/pulumi_alicloud/cloudmonitor/service_enterprise_public.py index c26b619b51..0e40cbabc5 100644 --- a/sdk/python/pulumi_alicloud/cloudmonitor/service_enterprise_public.py +++ b/sdk/python/pulumi_alicloud/cloudmonitor/service_enterprise_public.py @@ -78,6 +78,8 @@ def __init__(__self__, default = alicloud.cloudmonitor.ServiceEnterprisePublic("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Enterprise Public can be imported using the id, e.g. @@ -117,6 +119,8 @@ def __init__(__self__, default = alicloud.cloudmonitor.ServiceEnterprisePublic("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Enterprise Public can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudmonitor/service_group_monitoring_agent_process.py b/sdk/python/pulumi_alicloud/cloudmonitor/service_group_monitoring_agent_process.py index ba67b1b98a..705199b006 100644 --- a/sdk/python/pulumi_alicloud/cloudmonitor/service_group_monitoring_agent_process.py +++ b/sdk/python/pulumi_alicloud/cloudmonitor/service_group_monitoring_agent_process.py @@ -275,6 +275,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. @@ -353,6 +355,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Group Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudmonitor/service_hybrid_double_write.py b/sdk/python/pulumi_alicloud/cloudmonitor/service_hybrid_double_write.py index 055225bd53..a532629320 100644 --- a/sdk/python/pulumi_alicloud/cloudmonitor/service_hybrid_double_write.py +++ b/sdk/python/pulumi_alicloud/cloudmonitor/service_hybrid_double_write.py @@ -196,6 +196,8 @@ def __init__(__self__, user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. @@ -246,6 +248,8 @@ def __init__(__self__, user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Double Write can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudmonitor/service_monitoring_agent_process.py b/sdk/python/pulumi_alicloud/cloudmonitor/service_monitoring_agent_process.py index ff4d2505d8..6976a501b5 100644 --- a/sdk/python/pulumi_alicloud/cloudmonitor/service_monitoring_agent_process.py +++ b/sdk/python/pulumi_alicloud/cloudmonitor/service_monitoring_agent_process.py @@ -206,6 +206,8 @@ def __init__(__self__, process_user="root") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. @@ -280,6 +282,8 @@ def __init__(__self__, process_user="root") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitoring Agent Process can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudphone/image.py b/sdk/python/pulumi_alicloud/cloudphone/image.py index 25107a6fc2..ee6196b081 100644 --- a/sdk/python/pulumi_alicloud/cloudphone/image.py +++ b/sdk/python/pulumi_alicloud/cloudphone/image.py @@ -162,6 +162,8 @@ def __init__(__self__, instance_id=default04hh_xk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Image can be imported using the id, e.g. @@ -224,6 +226,8 @@ def __init__(__self__, instance_id=default04hh_xk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Image can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudphone/key_pair.py b/sdk/python/pulumi_alicloud/cloudphone/key_pair.py index d9714af622..3382d53807 100644 --- a/sdk/python/pulumi_alicloud/cloudphone/key_pair.py +++ b/sdk/python/pulumi_alicloud/cloudphone/key_pair.py @@ -147,6 +147,8 @@ def __init__(__self__, public_key_body="QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Key Pair can be imported using the id, e.g. @@ -209,6 +211,8 @@ def __init__(__self__, public_key_body="QAAAAH0o+PMrbz9ZlxaNMYlk1rJkN4JXqwSUVYW5YzMW3fWJ7At1XO40GYDEFL43fLob52pmRxRDuRoGAELmS1AyzqUle2v9yGKFziqS/vK/4vM4MW/ppnTmvh9zPXir0fB/uwXS4iS6xt0gmvprgyRNs7hgXtBK9ASiGuPCv47aRJqh9mYzq2pe2rgb+K0OU5/nQXwWKSxYsv+w3KWPshpwx8iF/JWvjixILJ5gygndd+1HyE8jrLVmvm/OitNaMgkolY1bvmRVVKLmzde7FtXw0s4TVfYUvF385gwlrOulKcL7UuMHV87MV/tcvEA0Gg88JrKgI5LmvQ8BDkrfoSi+bchk1KTAqJ8YMvL2pOogXbBoONeJS176zLYpLHmONtIDQFz/gEqAjGQVW+j4J+1w8oWrn8EjtcDe2kY34s3PDLioK3BN9CIBBQur+SH25R0RnEqD0YPFT7/ym0LomtPOS0t72n5JejBTfWaXiqb/I4f2Ypy1PA6fV5UUFIHODpNtuS4g2HKKqDS/sgYRBA2gpN2MmqeqgsQmSy+EljHdUe4KDVqAZ/qxLqnbp47BGHw2xjuZ60nXAoRecWCg2GDbx13ga4dKUQY+ER8Jruz7ILK4MRB7E4SjSUVmgcdh534c51BYIdI2HkQwQU2dgyJyQme9sDQxxGHpYKFQlFSyXUeOSjXLtQEAAQA= qiaozhou_15694163938@h2sqyfpc71g1t2w") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Key Pair can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudphone/policy.py b/sdk/python/pulumi_alicloud/cloudphone/policy.py index ba27952543..eab0701e82 100644 --- a/sdk/python/pulumi_alicloud/cloudphone/policy.py +++ b/sdk/python/pulumi_alicloud/cloudphone/policy.py @@ -311,6 +311,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Policy can be imported using the id, e.g. @@ -374,6 +376,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudphoneinstance/group.py b/sdk/python/pulumi_alicloud/cloudphoneinstance/group.py index 5e99062347..67fb3957d6 100644 --- a/sdk/python/pulumi_alicloud/cloudphoneinstance/group.py +++ b/sdk/python/pulumi_alicloud/cloudphoneinstance/group.py @@ -599,6 +599,8 @@ def __init__(__self__, office_site_id=default_h2a5_ks.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Instance Group can be imported using the id, e.g. @@ -690,6 +692,8 @@ def __init__(__self__, office_site_id=default_h2a5_ks.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Phone Instance Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/access_configuration.py b/sdk/python/pulumi_alicloud/cloudsso/access_configuration.py index a43622ad93..f3824ba651 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/access_configuration.py +++ b/sdk/python/pulumi_alicloud/cloudsso/access_configuration.py @@ -336,6 +336,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Configuration can be imported using the id, e.g. @@ -404,6 +406,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Configuration can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/access_configuration_provisioning.py b/sdk/python/pulumi_alicloud/cloudsso/access_configuration_provisioning.py index 5cf9f0da94..ecb3dcf73f 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/access_configuration_provisioning.py +++ b/sdk/python/pulumi_alicloud/cloudsso/access_configuration_provisioning.py @@ -249,6 +249,8 @@ def create_default(range_body): target_id=default_get_resource_directories.directories[0].master_account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. @@ -320,6 +322,8 @@ def create_default(range_body): target_id=default_get_resource_directories.directories[0].master_account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Configuration Provisioning can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/access_management.py b/sdk/python/pulumi_alicloud/cloudsso/access_management.py index 5c1fdbb553..835b90bcc2 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/access_management.py +++ b/sdk/python/pulumi_alicloud/cloudsso/access_management.py @@ -336,6 +336,8 @@ def create_default(range_body): deprovision_strategy="DeprovisionForLastAccessAssignmentOnAccount") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Assignment can be imported using the id, e.g. @@ -416,6 +418,8 @@ def create_default(range_body): deprovision_strategy="DeprovisionForLastAccessAssignmentOnAccount") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Access Assignment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/delegate_account.py b/sdk/python/pulumi_alicloud/cloudsso/delegate_account.py index 8d29543b88..947b98d408 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/delegate_account.py +++ b/sdk/python/pulumi_alicloud/cloudsso/delegate_account.py @@ -99,6 +99,8 @@ def __init__(__self__, default_delegate_account = alicloud.cloudsso.DelegateAccount("default", account_id=default_delegated_administrator.account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Delegate Account can be imported using the id, e.g. @@ -145,6 +147,8 @@ def __init__(__self__, default_delegate_account = alicloud.cloudsso.DelegateAccount("default", account_id=default_delegated_administrator.account_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Delegate Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/directory.py b/sdk/python/pulumi_alicloud/cloudsso/directory.py index e95939e367..c9b997faed 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/directory.py +++ b/sdk/python/pulumi_alicloud/cloudsso/directory.py @@ -409,6 +409,8 @@ def __init__(__self__, default = alicloud.cloudsso.Directory("default", directory_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Directory can be imported using the id, e.g. @@ -458,6 +460,8 @@ def __init__(__self__, default = alicloud.cloudsso.Directory("default", directory_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Directory can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/group.py b/sdk/python/pulumi_alicloud/cloudsso/group.py index ed37b0b602..7c73a18bfb 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/group.py +++ b/sdk/python/pulumi_alicloud/cloudsso/group.py @@ -189,6 +189,8 @@ def create_default(range_body): description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Group can be imported using the id, e.g. @@ -246,6 +248,8 @@ def create_default(range_body): description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/scim_server_credential.py b/sdk/python/pulumi_alicloud/cloudsso/scim_server_credential.py index 7e872e4376..31b847782b 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/scim_server_credential.py +++ b/sdk/python/pulumi_alicloud/cloudsso/scim_server_credential.py @@ -228,6 +228,8 @@ def __init__(__self__, credential_secret_file="./credential_secret_file.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO SCIM Server Credential can be imported using the id, e.g. @@ -275,6 +277,8 @@ def __init__(__self__, credential_secret_file="./credential_secret_file.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO SCIM Server Credential can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/user.py b/sdk/python/pulumi_alicloud/cloudsso/user.py index 7d1dbc0a10..25d609ba17 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/user.py +++ b/sdk/python/pulumi_alicloud/cloudsso/user.py @@ -472,6 +472,8 @@ def create_default(range_body): user_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Sso User can be imported using the id, e.g. @@ -540,6 +542,8 @@ def create_default(range_body): user_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Sso User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/user_attachment.py b/sdk/python/pulumi_alicloud/cloudsso/user_attachment.py index 6cbc7c9073..91cce2a2ae 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/user_attachment.py +++ b/sdk/python/pulumi_alicloud/cloudsso/user_attachment.py @@ -185,6 +185,8 @@ def create_default(range_body): group_id=default_group.group_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO User Attachment can be imported using the id, e.g. @@ -255,6 +257,8 @@ def create_default(range_body): group_id=default_group.group_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO User Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudsso/user_provisioning.py b/sdk/python/pulumi_alicloud/cloudsso/user_provisioning.py index 101059974d..f0f87a8c91 100644 --- a/sdk/python/pulumi_alicloud/cloudsso/user_provisioning.py +++ b/sdk/python/pulumi_alicloud/cloudsso/user_provisioning.py @@ -418,6 +418,8 @@ def create_default(range_body): directory_id=default_user.directory_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO User Provisioning can be imported using the id, e.g. @@ -499,6 +501,8 @@ def create_default(range_body): directory_id=default_user.directory_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud SSO User Provisioning can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync.py index 299ac25ac0..aa7c1d8ddd 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync.py @@ -285,6 +285,8 @@ def __init__(__self__, express_sync_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Express Sync can be imported using the id, e.g. @@ -391,6 +393,8 @@ def __init__(__self__, express_sync_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Express Sync can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py index 80acf9cc85..f61cb8b895 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py @@ -222,6 +222,8 @@ def __init__(__self__, share_name=default_gateway_file_share.gateway_file_share_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. @@ -329,6 +331,8 @@ def __init__(__self__, share_name=default_gateway_file_share.gateway_file_share_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Express Sync Share Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway.py index 83d8b84dc3..37771548af 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway.py @@ -484,6 +484,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway can be imported using the id, e.g. @@ -557,6 +559,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py index bd7a651ea6..5ac1ad17ad 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py @@ -634,6 +634,8 @@ def __init__(__self__, size=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. @@ -739,6 +741,8 @@ def __init__(__self__, size=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Block Volume can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py index 9214349b2f..5f48131744 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py @@ -270,6 +270,8 @@ def __init__(__self__, cache_disk_size_in_gb=50) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. @@ -344,6 +346,8 @@ def __init__(__self__, cache_disk_size_in_gb=50) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Cache Disk can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_file_share.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_file_share.py index ff3c8885c8..f854dbcb9e 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_file_share.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_file_share.py @@ -1210,6 +1210,8 @@ def __init__(__self__, lag_period=5) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. @@ -1332,6 +1334,8 @@ def __init__(__self__, lag_period=5) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway File Share can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_logging.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_logging.py index 3f99fa0f3b..d149a5e350 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_logging.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_logging.py @@ -235,6 +235,8 @@ def __init__(__self__, sls_project=default_project.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. @@ -323,6 +325,8 @@ def __init__(__self__, sls_project=default_project.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway Logging can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py index d91bbfca4f..e9bc01f132 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py @@ -188,6 +188,8 @@ def __init__(__self__, gateway_id=default_gateway.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. @@ -261,6 +263,8 @@ def __init__(__self__, gateway_id=default_gateway.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Gateway SMB User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cloudstoragegateway/storage_bundle.py b/sdk/python/pulumi_alicloud/cloudstoragegateway/storage_bundle.py index 784824f1a8..808ac4bba2 100644 --- a/sdk/python/pulumi_alicloud/cloudstoragegateway/storage_bundle.py +++ b/sdk/python/pulumi_alicloud/cloudstoragegateway/storage_bundle.py @@ -122,6 +122,8 @@ def __init__(__self__, example = alicloud.cloudstoragegateway.StorageBundle("example", storage_bundle_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. @@ -159,6 +161,8 @@ def __init__(__self__, example = alicloud.cloudstoragegateway.StorageBundle("example", storage_bundle_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Storage Gateway Storage Bundle can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/alarm.py b/sdk/python/pulumi_alicloud/cms/alarm.py index da4770077d..59ed9d8f63 100644 --- a/sdk/python/pulumi_alicloud/cms/alarm.py +++ b/sdk/python/pulumi_alicloud/cms/alarm.py @@ -808,6 +808,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Alarm can be imported using the id, e.g. @@ -912,6 +914,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Alarm can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/alarm_contact.py b/sdk/python/pulumi_alicloud/cms/alarm_contact.py index 359d5cc57c..b55056a72d 100644 --- a/sdk/python/pulumi_alicloud/cms/alarm_contact.py +++ b/sdk/python/pulumi_alicloud/cms/alarm_contact.py @@ -296,6 +296,8 @@ def __init__(__self__, channels_mail="terraform@test.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alarm contact can be imported using the id, e.g. @@ -342,6 +344,8 @@ def __init__(__self__, channels_mail="terraform@test.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alarm contact can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/alarm_contact_group.py b/sdk/python/pulumi_alicloud/cms/alarm_contact_group.py index 0511875a74..22d1346254 100644 --- a/sdk/python/pulumi_alicloud/cms/alarm_contact_group.py +++ b/sdk/python/pulumi_alicloud/cms/alarm_contact_group.py @@ -188,6 +188,8 @@ def __init__(__self__, example = alicloud.cms.AlarmContactGroup("example", alarm_contact_group_name="tf-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CMS Alarm Contact Group can be imported using the id, e.g. @@ -227,6 +229,8 @@ def __init__(__self__, example = alicloud.cms.AlarmContactGroup("example", alarm_contact_group_name="tf-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CMS Alarm Contact Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/dynamic_tag_group.py b/sdk/python/pulumi_alicloud/cms/dynamic_tag_group.py index db0c05f508..4dee9c251e 100644 --- a/sdk/python/pulumi_alicloud/cms/dynamic_tag_group.py +++ b/sdk/python/pulumi_alicloud/cms/dynamic_tag_group.py @@ -248,6 +248,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. @@ -299,6 +301,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Dynamic Tag Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/event_rule.py b/sdk/python/pulumi_alicloud/cms/event_rule.py index 71fb63f3cb..372e51e810 100644 --- a/sdk/python/pulumi_alicloud/cms/event_rule.py +++ b/sdk/python/pulumi_alicloud/cms/event_rule.py @@ -470,6 +470,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Event Rule can be imported using the id, e.g. @@ -534,6 +536,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Event Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/group_metric_rule.py b/sdk/python/pulumi_alicloud/cms/group_metric_rule.py index 1e29dbfd54..bb7013a7ce 100644 --- a/sdk/python/pulumi_alicloud/cms/group_metric_rule.py +++ b/sdk/python/pulumi_alicloud/cms/group_metric_rule.py @@ -665,6 +665,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. @@ -752,6 +754,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Group Metric Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/hybrid_monitor_fc_task.py b/sdk/python/pulumi_alicloud/cms/hybrid_monitor_fc_task.py index aff422a46a..b88146a644 100644 --- a/sdk/python/pulumi_alicloud/cms/hybrid_monitor_fc_task.py +++ b/sdk/python/pulumi_alicloud/cms/hybrid_monitor_fc_task.py @@ -200,6 +200,8 @@ def __init__(__self__, target_user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. @@ -268,6 +270,8 @@ def __init__(__self__, target_user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Monitor Fc Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/hybrid_monitor_sls_task.py b/sdk/python/pulumi_alicloud/cms/hybrid_monitor_sls_task.py index ac42fd0d62..de2bd27ca5 100644 --- a/sdk/python/pulumi_alicloud/cms/hybrid_monitor_sls_task.py +++ b/sdk/python/pulumi_alicloud/cms/hybrid_monitor_sls_task.py @@ -357,6 +357,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. @@ -470,6 +472,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Hybrid Monitor Sls Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/metric_rule_black_list.py b/sdk/python/pulumi_alicloud/cms/metric_rule_black_list.py index 8530202de4..e299cf93b9 100644 --- a/sdk/python/pulumi_alicloud/cms/metric_rule_black_list.py +++ b/sdk/python/pulumi_alicloud/cms/metric_rule_black_list.py @@ -503,6 +503,8 @@ def __init__(__self__, metric_rule_black_list_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. @@ -586,6 +588,8 @@ def __init__(__self__, metric_rule_black_list_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Metric Rule Black List can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/metric_rule_template.py b/sdk/python/pulumi_alicloud/cms/metric_rule_template.py index 200486e736..b9ad60fa59 100644 --- a/sdk/python/pulumi_alicloud/cms/metric_rule_template.py +++ b/sdk/python/pulumi_alicloud/cms/metric_rule_template.py @@ -431,6 +431,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. @@ -497,6 +499,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Metric Rule Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/monitor_group.py b/sdk/python/pulumi_alicloud/cms/monitor_group.py index c315a7444c..4273110c26 100644 --- a/sdk/python/pulumi_alicloud/cms/monitor_group.py +++ b/sdk/python/pulumi_alicloud/cms/monitor_group.py @@ -230,6 +230,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitor Group can be imported using the id, e.g. @@ -278,6 +280,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitor Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/monitor_group_instances.py b/sdk/python/pulumi_alicloud/cms/monitor_group_instances.py index 97a39f906c..0f14678e0a 100644 --- a/sdk/python/pulumi_alicloud/cms/monitor_group_instances.py +++ b/sdk/python/pulumi_alicloud/cms/monitor_group_instances.py @@ -139,6 +139,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. @@ -192,6 +194,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Monitor Group Instances can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/namespace.py b/sdk/python/pulumi_alicloud/cms/namespace.py index ae1f359b2d..828709194d 100644 --- a/sdk/python/pulumi_alicloud/cms/namespace.py +++ b/sdk/python/pulumi_alicloud/cms/namespace.py @@ -181,6 +181,8 @@ def __init__(__self__, specification="cms.s1.large") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Namespace can be imported using the id, e.g. @@ -227,6 +229,8 @@ def __init__(__self__, specification="cms.s1.large") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/site_monitor.py b/sdk/python/pulumi_alicloud/cms/site_monitor.py index 865c148232..da186bcc4f 100644 --- a/sdk/python/pulumi_alicloud/cms/site_monitor.py +++ b/sdk/python/pulumi_alicloud/cms/site_monitor.py @@ -543,6 +543,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Site Monitor can be imported using the id, e.g. @@ -637,6 +639,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Site Monitor can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cms/sls_group.py b/sdk/python/pulumi_alicloud/cms/sls_group.py index d51d58fab2..2facb8658e 100644 --- a/sdk/python/pulumi_alicloud/cms/sls_group.py +++ b/sdk/python/pulumi_alicloud/cms/sls_group.py @@ -185,6 +185,8 @@ def __init__(__self__, sls_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Sls Group can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, sls_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud Monitor Service Sls Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/compute/nest_service_instance.py b/sdk/python/pulumi_alicloud/compute/nest_service_instance.py index 78cdf0816e..b5dca1d293 100644 --- a/sdk/python/pulumi_alicloud/compute/nest_service_instance.py +++ b/sdk/python/pulumi_alicloud/compute/nest_service_instance.py @@ -555,6 +555,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Compute Nest Service Instance can be imported using the id, e.g. @@ -656,6 +658,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Compute Nest Service Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/config/_inputs.py b/sdk/python/pulumi_alicloud/config/_inputs.py new file mode 100644 index 0000000000..6b94660e77 --- /dev/null +++ b/sdk/python/pulumi_alicloud/config/_inputs.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'ReportTemplateReportScopeArgs', + 'ReportTemplateReportScopeArgsDict', +] + +MYPY = False + +if not MYPY: + class ReportTemplateReportScopeArgsDict(TypedDict): + key: NotRequired[pulumi.Input[_builtins.str]] + """ + Key for reporting scope, currently supported: + - AggregatorId + - CompliancePackId + - RuleId + """ + match_type: NotRequired[pulumi.Input[_builtins.str]] + """ + The matching logic. Currently, only In is supported. + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + """ +elif False: + ReportTemplateReportScopeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ReportTemplateReportScopeArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[_builtins.str]] = None, + match_type: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] key: Key for reporting scope, currently supported: + - AggregatorId + - CompliancePackId + - RuleId + :param pulumi.Input[_builtins.str] match_type: The matching logic. Currently, only In is supported. + :param pulumi.Input[_builtins.str] value: The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_type is not None: + pulumi.set(__self__, "match_type", match_type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Key for reporting scope, currently supported: + - AggregatorId + - CompliancePackId + - RuleId + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "key", value) + + @_builtins.property + @pulumi.getter(name="matchType") + def match_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The matching logic. Currently, only In is supported. + """ + return pulumi.get(self, "match_type") + + @match_type.setter + def match_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "match_type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + diff --git a/sdk/python/pulumi_alicloud/config/outputs.py b/sdk/python/pulumi_alicloud/config/outputs.py index 4f30ba3f61..69d5f11363 100644 --- a/sdk/python/pulumi_alicloud/config/outputs.py +++ b/sdk/python/pulumi_alicloud/config/outputs.py @@ -15,12 +15,79 @@ from .. import _utilities __all__ = [ + 'ReportTemplateReportScope', 'AssumeRole', 'AssumeRoleWithOidc', 'Endpoints', 'SignVersion', ] +@pulumi.output_type +class ReportTemplateReportScope(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchType": + suggest = "match_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReportTemplateReportScope. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReportTemplateReportScope.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReportTemplateReportScope.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[_builtins.str] = None, + match_type: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str key: Key for reporting scope, currently supported: + - AggregatorId + - CompliancePackId + - RuleId + :param _builtins.str match_type: The matching logic. Currently, only In is supported. + :param _builtins.str value: The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_type is not None: + pulumi.set(__self__, "match_type", match_type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def key(self) -> Optional[_builtins.str]: + """ + Key for reporting scope, currently supported: + - AggregatorId + - CompliancePackId + - RuleId + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter(name="matchType") + def match_type(self) -> Optional[_builtins.str]: + """ + The matching logic. Currently, only In is supported. + """ + return pulumi.get(self, "match_type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + The value of the report range. Each k-v pair is an OR logic. For example, multiple rule IDs can be separated by commas (,). + """ + return pulumi.get(self, "value") + + @pulumi.output_type class AssumeRole(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/config/report_template.py b/sdk/python/pulumi_alicloud/config/report_template.py new file mode 100644 index 0000000000..197e840de8 --- /dev/null +++ b/sdk/python/pulumi_alicloud/config/report_template.py @@ -0,0 +1,618 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ReportTemplateArgs', 'ReportTemplate'] + +@pulumi.input_type +class ReportTemplateArgs: + def __init__(__self__, *, + report_template_name: pulumi.Input[_builtins.str], + report_file_formats: Optional[pulumi.Input[_builtins.str]] = None, + report_granularity: Optional[pulumi.Input[_builtins.str]] = None, + report_language: Optional[pulumi.Input[_builtins.str]] = None, + report_scopes: Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]] = None, + report_template_description: Optional[pulumi.Input[_builtins.str]] = None, + subscription_frequency: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a ReportTemplate resource. + :param pulumi.Input[_builtins.str] report_template_name: Report Template Name + :param pulumi.Input[_builtins.str] report_file_formats: Report Format + :param pulumi.Input[_builtins.str] report_granularity: Report Aggregation Granularity + :param pulumi.Input[_builtins.str] report_language: This property does not have a description in the spec, please add it before generating code. + :param pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]] report_scopes: Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + :param pulumi.Input[_builtins.str] report_template_description: Report Template Description + :param pulumi.Input[_builtins.str] subscription_frequency: Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + pulumi.set(__self__, "report_template_name", report_template_name) + if report_file_formats is not None: + pulumi.set(__self__, "report_file_formats", report_file_formats) + if report_granularity is not None: + pulumi.set(__self__, "report_granularity", report_granularity) + if report_language is not None: + pulumi.set(__self__, "report_language", report_language) + if report_scopes is not None: + pulumi.set(__self__, "report_scopes", report_scopes) + if report_template_description is not None: + pulumi.set(__self__, "report_template_description", report_template_description) + if subscription_frequency is not None: + pulumi.set(__self__, "subscription_frequency", subscription_frequency) + + @_builtins.property + @pulumi.getter(name="reportTemplateName") + def report_template_name(self) -> pulumi.Input[_builtins.str]: + """ + Report Template Name + """ + return pulumi.get(self, "report_template_name") + + @report_template_name.setter + def report_template_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "report_template_name", value) + + @_builtins.property + @pulumi.getter(name="reportFileFormats") + def report_file_formats(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Format + """ + return pulumi.get(self, "report_file_formats") + + @report_file_formats.setter + def report_file_formats(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_file_formats", value) + + @_builtins.property + @pulumi.getter(name="reportGranularity") + def report_granularity(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Aggregation Granularity + """ + return pulumi.get(self, "report_granularity") + + @report_granularity.setter + def report_granularity(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_granularity", value) + + @_builtins.property + @pulumi.getter(name="reportLanguage") + def report_language(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + This property does not have a description in the spec, please add it before generating code. + """ + return pulumi.get(self, "report_language") + + @report_language.setter + def report_language(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_language", value) + + @_builtins.property + @pulumi.getter(name="reportScopes") + def report_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]]: + """ + Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + """ + return pulumi.get(self, "report_scopes") + + @report_scopes.setter + def report_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]]): + pulumi.set(self, "report_scopes", value) + + @_builtins.property + @pulumi.getter(name="reportTemplateDescription") + def report_template_description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Template Description + """ + return pulumi.get(self, "report_template_description") + + @report_template_description.setter + def report_template_description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_template_description", value) + + @_builtins.property + @pulumi.getter(name="subscriptionFrequency") + def subscription_frequency(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + return pulumi.get(self, "subscription_frequency") + + @subscription_frequency.setter + def subscription_frequency(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subscription_frequency", value) + + +@pulumi.input_type +class _ReportTemplateState: + def __init__(__self__, *, + report_file_formats: Optional[pulumi.Input[_builtins.str]] = None, + report_granularity: Optional[pulumi.Input[_builtins.str]] = None, + report_language: Optional[pulumi.Input[_builtins.str]] = None, + report_scopes: Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]] = None, + report_template_description: Optional[pulumi.Input[_builtins.str]] = None, + report_template_name: Optional[pulumi.Input[_builtins.str]] = None, + subscription_frequency: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ReportTemplate resources. + :param pulumi.Input[_builtins.str] report_file_formats: Report Format + :param pulumi.Input[_builtins.str] report_granularity: Report Aggregation Granularity + :param pulumi.Input[_builtins.str] report_language: This property does not have a description in the spec, please add it before generating code. + :param pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]] report_scopes: Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + :param pulumi.Input[_builtins.str] report_template_description: Report Template Description + :param pulumi.Input[_builtins.str] report_template_name: Report Template Name + :param pulumi.Input[_builtins.str] subscription_frequency: Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + if report_file_formats is not None: + pulumi.set(__self__, "report_file_formats", report_file_formats) + if report_granularity is not None: + pulumi.set(__self__, "report_granularity", report_granularity) + if report_language is not None: + pulumi.set(__self__, "report_language", report_language) + if report_scopes is not None: + pulumi.set(__self__, "report_scopes", report_scopes) + if report_template_description is not None: + pulumi.set(__self__, "report_template_description", report_template_description) + if report_template_name is not None: + pulumi.set(__self__, "report_template_name", report_template_name) + if subscription_frequency is not None: + pulumi.set(__self__, "subscription_frequency", subscription_frequency) + + @_builtins.property + @pulumi.getter(name="reportFileFormats") + def report_file_formats(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Format + """ + return pulumi.get(self, "report_file_formats") + + @report_file_formats.setter + def report_file_formats(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_file_formats", value) + + @_builtins.property + @pulumi.getter(name="reportGranularity") + def report_granularity(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Aggregation Granularity + """ + return pulumi.get(self, "report_granularity") + + @report_granularity.setter + def report_granularity(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_granularity", value) + + @_builtins.property + @pulumi.getter(name="reportLanguage") + def report_language(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + This property does not have a description in the spec, please add it before generating code. + """ + return pulumi.get(self, "report_language") + + @report_language.setter + def report_language(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_language", value) + + @_builtins.property + @pulumi.getter(name="reportScopes") + def report_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]]: + """ + Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + """ + return pulumi.get(self, "report_scopes") + + @report_scopes.setter + def report_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReportTemplateReportScopeArgs']]]]): + pulumi.set(self, "report_scopes", value) + + @_builtins.property + @pulumi.getter(name="reportTemplateDescription") + def report_template_description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Template Description + """ + return pulumi.get(self, "report_template_description") + + @report_template_description.setter + def report_template_description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_template_description", value) + + @_builtins.property + @pulumi.getter(name="reportTemplateName") + def report_template_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report Template Name + """ + return pulumi.get(self, "report_template_name") + + @report_template_name.setter + def report_template_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "report_template_name", value) + + @_builtins.property + @pulumi.getter(name="subscriptionFrequency") + def subscription_frequency(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + return pulumi.get(self, "subscription_frequency") + + @subscription_frequency.setter + def subscription_frequency(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subscription_frequency", value) + + +@pulumi.type_token("alicloud:config/reportTemplate:ReportTemplate") +class ReportTemplate(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + report_file_formats: Optional[pulumi.Input[_builtins.str]] = None, + report_granularity: Optional[pulumi.Input[_builtins.str]] = None, + report_language: Optional[pulumi.Input[_builtins.str]] = None, + report_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ReportTemplateReportScopeArgs', 'ReportTemplateReportScopeArgsDict']]]]] = None, + report_template_description: Optional[pulumi.Input[_builtins.str]] = None, + report_template_name: Optional[pulumi.Input[_builtins.str]] = None, + subscription_frequency: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Cloud Config (Config) Report Template resource. + + Config Compliance Report Template. + + For information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.config.ReportTemplate("default", + report_granularity="AllInOne", + report_scopes=[{ + "key": "RuleId", + "value": "cr-xxx", + "match_type": "In", + }], + report_file_formats="excel", + report_template_name="example-name", + report_template_description="example-desc", + subscription_frequency=" ", + report_language="en-US") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Cloud Config (Config) Report Template can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:config/reportTemplate:ReportTemplate example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] report_file_formats: Report Format + :param pulumi.Input[_builtins.str] report_granularity: Report Aggregation Granularity + :param pulumi.Input[_builtins.str] report_language: This property does not have a description in the spec, please add it before generating code. + :param pulumi.Input[Sequence[pulumi.Input[Union['ReportTemplateReportScopeArgs', 'ReportTemplateReportScopeArgsDict']]]] report_scopes: Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + :param pulumi.Input[_builtins.str] report_template_description: Report Template Description + :param pulumi.Input[_builtins.str] report_template_name: Report Template Name + :param pulumi.Input[_builtins.str] subscription_frequency: Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ReportTemplateArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Cloud Config (Config) Report Template resource. + + Config Compliance Report Template. + + For information about Cloud Config (Config) Report Template and how to use it, see [What is Report Template](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateReportTemplate). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.config.ReportTemplate("default", + report_granularity="AllInOne", + report_scopes=[{ + "key": "RuleId", + "value": "cr-xxx", + "match_type": "In", + }], + report_file_formats="excel", + report_template_name="example-name", + report_template_description="example-desc", + subscription_frequency=" ", + report_language="en-US") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Cloud Config (Config) Report Template can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:config/reportTemplate:ReportTemplate example + ``` + + :param str resource_name: The name of the resource. + :param ReportTemplateArgs 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(ReportTemplateArgs, 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, + report_file_formats: Optional[pulumi.Input[_builtins.str]] = None, + report_granularity: Optional[pulumi.Input[_builtins.str]] = None, + report_language: Optional[pulumi.Input[_builtins.str]] = None, + report_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ReportTemplateReportScopeArgs', 'ReportTemplateReportScopeArgsDict']]]]] = None, + report_template_description: Optional[pulumi.Input[_builtins.str]] = None, + report_template_name: Optional[pulumi.Input[_builtins.str]] = None, + subscription_frequency: Optional[pulumi.Input[_builtins.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__ = ReportTemplateArgs.__new__(ReportTemplateArgs) + + __props__.__dict__["report_file_formats"] = report_file_formats + __props__.__dict__["report_granularity"] = report_granularity + __props__.__dict__["report_language"] = report_language + __props__.__dict__["report_scopes"] = report_scopes + __props__.__dict__["report_template_description"] = report_template_description + if report_template_name is None and not opts.urn: + raise TypeError("Missing required property 'report_template_name'") + __props__.__dict__["report_template_name"] = report_template_name + __props__.__dict__["subscription_frequency"] = subscription_frequency + super(ReportTemplate, __self__).__init__( + 'alicloud:config/reportTemplate:ReportTemplate', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + report_file_formats: Optional[pulumi.Input[_builtins.str]] = None, + report_granularity: Optional[pulumi.Input[_builtins.str]] = None, + report_language: Optional[pulumi.Input[_builtins.str]] = None, + report_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ReportTemplateReportScopeArgs', 'ReportTemplateReportScopeArgsDict']]]]] = None, + report_template_description: Optional[pulumi.Input[_builtins.str]] = None, + report_template_name: Optional[pulumi.Input[_builtins.str]] = None, + subscription_frequency: Optional[pulumi.Input[_builtins.str]] = None) -> 'ReportTemplate': + """ + Get an existing ReportTemplate 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[_builtins.str] report_file_formats: Report Format + :param pulumi.Input[_builtins.str] report_granularity: Report Aggregation Granularity + :param pulumi.Input[_builtins.str] report_language: This property does not have a description in the spec, please add it before generating code. + :param pulumi.Input[Sequence[pulumi.Input[Union['ReportTemplateReportScopeArgs', 'ReportTemplateReportScopeArgsDict']]]] report_scopes: Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + :param pulumi.Input[_builtins.str] report_template_description: Report Template Description + :param pulumi.Input[_builtins.str] report_template_name: Report Template Name + :param pulumi.Input[_builtins.str] subscription_frequency: Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ReportTemplateState.__new__(_ReportTemplateState) + + __props__.__dict__["report_file_formats"] = report_file_formats + __props__.__dict__["report_granularity"] = report_granularity + __props__.__dict__["report_language"] = report_language + __props__.__dict__["report_scopes"] = report_scopes + __props__.__dict__["report_template_description"] = report_template_description + __props__.__dict__["report_template_name"] = report_template_name + __props__.__dict__["subscription_frequency"] = subscription_frequency + return ReportTemplate(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="reportFileFormats") + def report_file_formats(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Report Format + """ + return pulumi.get(self, "report_file_formats") + + @_builtins.property + @pulumi.getter(name="reportGranularity") + def report_granularity(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Report Aggregation Granularity + """ + return pulumi.get(self, "report_granularity") + + @_builtins.property + @pulumi.getter(name="reportLanguage") + def report_language(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + This property does not have a description in the spec, please add it before generating code. + """ + return pulumi.get(self, "report_language") + + @_builtins.property + @pulumi.getter(name="reportScopes") + def report_scopes(self) -> pulumi.Output[Optional[Sequence['outputs.ReportTemplateReportScope']]]: + """ + Report range, yes and logic between multiple sets of k-v pairs. See `report_scope` below. + """ + return pulumi.get(self, "report_scopes") + + @_builtins.property + @pulumi.getter(name="reportTemplateDescription") + def report_template_description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Report Template Description + """ + return pulumi.get(self, "report_template_description") + + @_builtins.property + @pulumi.getter(name="reportTemplateName") + def report_template_name(self) -> pulumi.Output[_builtins.str]: + """ + Report Template Name + """ + return pulumi.get(self, "report_template_name") + + @_builtins.property + @pulumi.getter(name="subscriptionFrequency") + def subscription_frequency(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Report subscription frequency. If this field is not empty, it is a Cron expression in Quartz format triggered by the subscription notification. + + The format is: Seconds, time, day, month, week. The following are examples of commonly used Cron expressions: + - Execute at 0 o'clock every day: 0 0 0 * *? + - Every Monday at 15: 30: 0 30 15? * MON + - Execute at 2 o'clock on the 1st of each month: 0 0 2 1 *? + + Among them: + -"*" Indicates any value + - What-? Used for day and week fields, indicating that no specific value is specified + - MON means Monday + + > **NOTE:** The trigger time is UTC +8, and the settings of the cron expression can be converted according to the time zone. + + > **NOTE:** It can only be triggered according to the cron expression time as much as possible. The cron expression limits the same template to trigger at most one notification per day. + """ + return pulumi.get(self, "subscription_frequency") + diff --git a/sdk/python/pulumi_alicloud/configaggregate/__init__.py b/sdk/python/pulumi_alicloud/configaggregate/__init__.py new file mode 100644 index 0000000000..c5c4f20043 --- /dev/null +++ b/sdk/python/pulumi_alicloud/configaggregate/__init__.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +from .. import _utilities +import typing +# Export this package's modules as members: +from .remediation import * diff --git a/sdk/python/pulumi_alicloud/configaggregate/remediation.py b/sdk/python/pulumi_alicloud/configaggregate/remediation.py new file mode 100644 index 0000000000..926eefaf78 --- /dev/null +++ b/sdk/python/pulumi_alicloud/configaggregate/remediation.py @@ -0,0 +1,723 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['RemediationArgs', 'Remediation'] + +@pulumi.input_type +class RemediationArgs: + def __init__(__self__, *, + aggregator_id: pulumi.Input[_builtins.str], + config_rule_id: pulumi.Input[_builtins.str], + invoke_type: pulumi.Input[_builtins.str], + remediation_origin_params: pulumi.Input[_builtins.str], + remediation_template_id: pulumi.Input[_builtins.str], + remediation_type: pulumi.Input[_builtins.str], + remediation_source_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a Remediation resource. + :param pulumi.Input[_builtins.str] aggregator_id: The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + :param pulumi.Input[_builtins.str] config_rule_id: The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + :param pulumi.Input[_builtins.str] invoke_type: Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + :param pulumi.Input[_builtins.str] remediation_origin_params: Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + :param pulumi.Input[_builtins.str] remediation_template_id: The ID of the correction template. + :param pulumi.Input[_builtins.str] remediation_type: Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + :param pulumi.Input[_builtins.str] remediation_source_type: The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + """ + pulumi.set(__self__, "aggregator_id", aggregator_id) + pulumi.set(__self__, "config_rule_id", config_rule_id) + pulumi.set(__self__, "invoke_type", invoke_type) + pulumi.set(__self__, "remediation_origin_params", remediation_origin_params) + pulumi.set(__self__, "remediation_template_id", remediation_template_id) + pulumi.set(__self__, "remediation_type", remediation_type) + if remediation_source_type is not None: + pulumi.set(__self__, "remediation_source_type", remediation_source_type) + + @_builtins.property + @pulumi.getter(name="aggregatorId") + def aggregator_id(self) -> pulumi.Input[_builtins.str]: + """ + The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + """ + return pulumi.get(self, "aggregator_id") + + @aggregator_id.setter + def aggregator_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "aggregator_id", value) + + @_builtins.property + @pulumi.getter(name="configRuleId") + def config_rule_id(self) -> pulumi.Input[_builtins.str]: + """ + The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + """ + return pulumi.get(self, "config_rule_id") + + @config_rule_id.setter + def config_rule_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "config_rule_id", value) + + @_builtins.property + @pulumi.getter(name="invokeType") + def invoke_type(self) -> pulumi.Input[_builtins.str]: + """ + Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + """ + return pulumi.get(self, "invoke_type") + + @invoke_type.setter + def invoke_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "invoke_type", value) + + @_builtins.property + @pulumi.getter(name="remediationOriginParams") + def remediation_origin_params(self) -> pulumi.Input[_builtins.str]: + """ + Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + """ + return pulumi.get(self, "remediation_origin_params") + + @remediation_origin_params.setter + def remediation_origin_params(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remediation_origin_params", value) + + @_builtins.property + @pulumi.getter(name="remediationTemplateId") + def remediation_template_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the correction template. + """ + return pulumi.get(self, "remediation_template_id") + + @remediation_template_id.setter + def remediation_template_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remediation_template_id", value) + + @_builtins.property + @pulumi.getter(name="remediationType") + def remediation_type(self) -> pulumi.Input[_builtins.str]: + """ + Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + return pulumi.get(self, "remediation_type") + + @remediation_type.setter + def remediation_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remediation_type", value) + + @_builtins.property + @pulumi.getter(name="remediationSourceType") + def remediation_source_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + """ + return pulumi.get(self, "remediation_source_type") + + @remediation_source_type.setter + def remediation_source_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_source_type", value) + + +@pulumi.input_type +class _RemediationState: + def __init__(__self__, *, + aggregator_id: Optional[pulumi.Input[_builtins.str]] = None, + config_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + invoke_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_origin_params: Optional[pulumi.Input[_builtins.str]] = None, + remediation_source_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_template_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Remediation resources. + :param pulumi.Input[_builtins.str] aggregator_id: The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + :param pulumi.Input[_builtins.str] config_rule_id: The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + :param pulumi.Input[_builtins.str] invoke_type: Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + :param pulumi.Input[_builtins.str] remediation_id: Multi-account remediation ID + :param pulumi.Input[_builtins.str] remediation_origin_params: Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + :param pulumi.Input[_builtins.str] remediation_source_type: The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + :param pulumi.Input[_builtins.str] remediation_template_id: The ID of the correction template. + :param pulumi.Input[_builtins.str] remediation_type: Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + if aggregator_id is not None: + pulumi.set(__self__, "aggregator_id", aggregator_id) + if config_rule_id is not None: + pulumi.set(__self__, "config_rule_id", config_rule_id) + if invoke_type is not None: + pulumi.set(__self__, "invoke_type", invoke_type) + if remediation_id is not None: + pulumi.set(__self__, "remediation_id", remediation_id) + if remediation_origin_params is not None: + pulumi.set(__self__, "remediation_origin_params", remediation_origin_params) + if remediation_source_type is not None: + pulumi.set(__self__, "remediation_source_type", remediation_source_type) + if remediation_template_id is not None: + pulumi.set(__self__, "remediation_template_id", remediation_template_id) + if remediation_type is not None: + pulumi.set(__self__, "remediation_type", remediation_type) + + @_builtins.property + @pulumi.getter(name="aggregatorId") + def aggregator_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + """ + return pulumi.get(self, "aggregator_id") + + @aggregator_id.setter + def aggregator_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "aggregator_id", value) + + @_builtins.property + @pulumi.getter(name="configRuleId") + def config_rule_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + """ + return pulumi.get(self, "config_rule_id") + + @config_rule_id.setter + def config_rule_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "config_rule_id", value) + + @_builtins.property + @pulumi.getter(name="invokeType") + def invoke_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + """ + return pulumi.get(self, "invoke_type") + + @invoke_type.setter + def invoke_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "invoke_type", value) + + @_builtins.property + @pulumi.getter(name="remediationId") + def remediation_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Multi-account remediation ID + """ + return pulumi.get(self, "remediation_id") + + @remediation_id.setter + def remediation_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_id", value) + + @_builtins.property + @pulumi.getter(name="remediationOriginParams") + def remediation_origin_params(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + """ + return pulumi.get(self, "remediation_origin_params") + + @remediation_origin_params.setter + def remediation_origin_params(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_origin_params", value) + + @_builtins.property + @pulumi.getter(name="remediationSourceType") + def remediation_source_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + """ + return pulumi.get(self, "remediation_source_type") + + @remediation_source_type.setter + def remediation_source_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_source_type", value) + + @_builtins.property + @pulumi.getter(name="remediationTemplateId") + def remediation_template_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the correction template. + """ + return pulumi.get(self, "remediation_template_id") + + @remediation_template_id.setter + def remediation_template_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_template_id", value) + + @_builtins.property + @pulumi.getter(name="remediationType") + def remediation_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + return pulumi.get(self, "remediation_type") + + @remediation_type.setter + def remediation_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "remediation_type", value) + + +@pulumi.type_token("alicloud:configaggregate/remediation:Remediation") +class Remediation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aggregator_id: Optional[pulumi.Input[_builtins.str]] = None, + config_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + invoke_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_origin_params: Optional[pulumi.Input[_builtins.str]] = None, + remediation_source_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_template_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_type: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Cloud Config (Config) Aggregate Remediation resource. + + Rule remediation in multi-account scenarios. + + For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import json + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + create_agg = alicloud.cfg.Aggregator("create-agg", + aggregator_name="rd", + description="rd", + aggregator_type="RD") + create_rule = alicloud.cfg.AggregateConfigRule("create-rule", + source_owner="ALIYUN", + source_identifier="required-tags", + aggregate_config_rule_name="agg-rule-name", + config_rule_trigger_types="ConfigurationItemChangeNotification", + risk_level=1, + resource_types_scopes=["ACS::OSS::Bucket"], + aggregator_id=create_agg.id, + input_parameters={ + "tag1Key": "aaa", + "tag1Value": "bbb", + }) + default = alicloud.configaggregate.Remediation("default", + config_rule_id=create_rule.config_rule_id, + remediation_template_id="ACS-TAG-TagResources", + remediation_source_type="ALIYUN", + invoke_type="MANUAL_EXECUTION", + remediation_type="OOS", + aggregator_id=create_agg.id, + remediation_origin_params=json.dumps({ + "properties": [ + { + "name": "regionId", + "type": "String", + "value": "{regionId}", + "allowedValues": [], + "description": "region ID", + }, + { + "name": "tags", + "type": "Json", + "value": "{\\"aaa\\":\\"bbb\\"}", + "allowedValues": [], + "description": "resource tags (for example,{\\"k1\\":\\"v1\\",\\"k2\\":\\"v2\\"}).", + }, + { + "name": "resourceType", + "type": "String", + "value": "{resourceType}", + "allowedValues": [], + "description": "resource type", + }, + { + "name": "resourceIds", + "type": "ARRAY", + "value": "[{\\"resources\\":[]}]", + "allowedValues": [], + "description": "Resource ID List", + }, + ], + })) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:configaggregate/remediation:Remediation example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] aggregator_id: The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + :param pulumi.Input[_builtins.str] config_rule_id: The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + :param pulumi.Input[_builtins.str] invoke_type: Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + :param pulumi.Input[_builtins.str] remediation_origin_params: Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + :param pulumi.Input[_builtins.str] remediation_source_type: The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + :param pulumi.Input[_builtins.str] remediation_template_id: The ID of the correction template. + :param pulumi.Input[_builtins.str] remediation_type: Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RemediationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Cloud Config (Config) Aggregate Remediation resource. + + Rule remediation in multi-account scenarios. + + For information about Cloud Config (Config) Aggregate Remediation and how to use it, see [What is Aggregate Remediation](https://next.api.alibabacloud.com/document/Config/2020-09-07/CreateAggregateRemediation). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import json + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + create_agg = alicloud.cfg.Aggregator("create-agg", + aggregator_name="rd", + description="rd", + aggregator_type="RD") + create_rule = alicloud.cfg.AggregateConfigRule("create-rule", + source_owner="ALIYUN", + source_identifier="required-tags", + aggregate_config_rule_name="agg-rule-name", + config_rule_trigger_types="ConfigurationItemChangeNotification", + risk_level=1, + resource_types_scopes=["ACS::OSS::Bucket"], + aggregator_id=create_agg.id, + input_parameters={ + "tag1Key": "aaa", + "tag1Value": "bbb", + }) + default = alicloud.configaggregate.Remediation("default", + config_rule_id=create_rule.config_rule_id, + remediation_template_id="ACS-TAG-TagResources", + remediation_source_type="ALIYUN", + invoke_type="MANUAL_EXECUTION", + remediation_type="OOS", + aggregator_id=create_agg.id, + remediation_origin_params=json.dumps({ + "properties": [ + { + "name": "regionId", + "type": "String", + "value": "{regionId}", + "allowedValues": [], + "description": "region ID", + }, + { + "name": "tags", + "type": "Json", + "value": "{\\"aaa\\":\\"bbb\\"}", + "allowedValues": [], + "description": "resource tags (for example,{\\"k1\\":\\"v1\\",\\"k2\\":\\"v2\\"}).", + }, + { + "name": "resourceType", + "type": "String", + "value": "{resourceType}", + "allowedValues": [], + "description": "resource type", + }, + { + "name": "resourceIds", + "type": "ARRAY", + "value": "[{\\"resources\\":[]}]", + "allowedValues": [], + "description": "Resource ID List", + }, + ], + })) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Cloud Config (Config) Aggregate Remediation can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:configaggregate/remediation:Remediation example : + ``` + + :param str resource_name: The name of the resource. + :param RemediationArgs 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(RemediationArgs, 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, + aggregator_id: Optional[pulumi.Input[_builtins.str]] = None, + config_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + invoke_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_origin_params: Optional[pulumi.Input[_builtins.str]] = None, + remediation_source_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_template_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_type: Optional[pulumi.Input[_builtins.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__ = RemediationArgs.__new__(RemediationArgs) + + if aggregator_id is None and not opts.urn: + raise TypeError("Missing required property 'aggregator_id'") + __props__.__dict__["aggregator_id"] = aggregator_id + if config_rule_id is None and not opts.urn: + raise TypeError("Missing required property 'config_rule_id'") + __props__.__dict__["config_rule_id"] = config_rule_id + if invoke_type is None and not opts.urn: + raise TypeError("Missing required property 'invoke_type'") + __props__.__dict__["invoke_type"] = invoke_type + if remediation_origin_params is None and not opts.urn: + raise TypeError("Missing required property 'remediation_origin_params'") + __props__.__dict__["remediation_origin_params"] = remediation_origin_params + __props__.__dict__["remediation_source_type"] = remediation_source_type + if remediation_template_id is None and not opts.urn: + raise TypeError("Missing required property 'remediation_template_id'") + __props__.__dict__["remediation_template_id"] = remediation_template_id + if remediation_type is None and not opts.urn: + raise TypeError("Missing required property 'remediation_type'") + __props__.__dict__["remediation_type"] = remediation_type + __props__.__dict__["remediation_id"] = None + super(Remediation, __self__).__init__( + 'alicloud:configaggregate/remediation:Remediation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + aggregator_id: Optional[pulumi.Input[_builtins.str]] = None, + config_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + invoke_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_origin_params: Optional[pulumi.Input[_builtins.str]] = None, + remediation_source_type: Optional[pulumi.Input[_builtins.str]] = None, + remediation_template_id: Optional[pulumi.Input[_builtins.str]] = None, + remediation_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'Remediation': + """ + Get an existing Remediation 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[_builtins.str] aggregator_id: The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + :param pulumi.Input[_builtins.str] config_rule_id: The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + :param pulumi.Input[_builtins.str] invoke_type: Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + :param pulumi.Input[_builtins.str] remediation_id: Multi-account remediation ID + :param pulumi.Input[_builtins.str] remediation_origin_params: Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + :param pulumi.Input[_builtins.str] remediation_source_type: The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + :param pulumi.Input[_builtins.str] remediation_template_id: The ID of the correction template. + :param pulumi.Input[_builtins.str] remediation_type: Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RemediationState.__new__(_RemediationState) + + __props__.__dict__["aggregator_id"] = aggregator_id + __props__.__dict__["config_rule_id"] = config_rule_id + __props__.__dict__["invoke_type"] = invoke_type + __props__.__dict__["remediation_id"] = remediation_id + __props__.__dict__["remediation_origin_params"] = remediation_origin_params + __props__.__dict__["remediation_source_type"] = remediation_source_type + __props__.__dict__["remediation_template_id"] = remediation_template_id + __props__.__dict__["remediation_type"] = remediation_type + return Remediation(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="aggregatorId") + def aggregator_id(self) -> pulumi.Output[_builtins.str]: + """ + The account Group ID. + For more information about how to obtain the account group ID, see ListAggregators. + """ + return pulumi.get(self, "aggregator_id") + + @_builtins.property + @pulumi.getter(name="configRuleId") + def config_rule_id(self) -> pulumi.Output[_builtins.str]: + """ + The rule ID. + For more information about how to obtain the rule ID, see [ListAggregateConfigRules]. + """ + return pulumi.get(self, "config_rule_id") + + @_builtins.property + @pulumi.getter(name="invokeType") + def invoke_type(self) -> pulumi.Output[_builtins.str]: + """ + Correction of execution mode. Value: + - NON_EXECUTION: Not executed. + - AUTO_EXECUTION: Automatically executed. + - MANUAL_EXECUTION: Execute manually. + - NOT_CONFIG: Not set. + """ + return pulumi.get(self, "invoke_type") + + @_builtins.property + @pulumi.getter(name="remediationId") + def remediation_id(self) -> pulumi.Output[_builtins.str]: + """ + Multi-account remediation ID + """ + return pulumi.get(self, "remediation_id") + + @_builtins.property + @pulumi.getter(name="remediationOriginParams") + def remediation_origin_params(self) -> pulumi.Output[_builtins.str]: + """ + Correct the parameters of the settings. + For more information about how to obtain the parameters of remediation settings, see the parameter 'Template definition' in ListRemediationTemplates '. + """ + return pulumi.get(self, "remediation_origin_params") + + @_builtins.property + @pulumi.getter(name="remediationSourceType") + def remediation_source_type(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The source of the template to perform the correction. Value: + - ALIYUN (default): Official website template. + - CUSTOM: CUSTOM template. + - NONE: NONE. + """ + return pulumi.get(self, "remediation_source_type") + + @_builtins.property + @pulumi.getter(name="remediationTemplateId") + def remediation_template_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the correction template. + """ + return pulumi.get(self, "remediation_template_id") + + @_builtins.property + @pulumi.getter(name="remediationType") + def remediation_type(self) -> pulumi.Output[_builtins.str]: + """ + Remediation type. Value: + - OOS: Operation and maintenance orchestration (Template correction). + - FC: Function Compute (custom correction). + """ + return pulumi.get(self, "remediation_type") + diff --git a/sdk/python/pulumi_alicloud/cr/__init__.py b/sdk/python/pulumi_alicloud/cr/__init__.py index 448eaf5bff..426ea39336 100644 --- a/sdk/python/pulumi_alicloud/cr/__init__.py +++ b/sdk/python/pulumi_alicloud/cr/__init__.py @@ -22,6 +22,8 @@ from .namespace import * from .registry_enterprise_instance import * from .repo import * +from .scan_rule import * +from .storage_domain_routing_rule import * from .vpc_endpoint_linked_vpc import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/cr/_inputs.py b/sdk/python/pulumi_alicloud/cr/_inputs.py index f55d7dae71..338ee802f9 100644 --- a/sdk/python/pulumi_alicloud/cr/_inputs.py +++ b/sdk/python/pulumi_alicloud/cr/_inputs.py @@ -35,6 +35,8 @@ 'RegistryEnterpriseInstanceInstanceEndpointDomainArgsDict', 'RepoDomainListArgs', 'RepoDomainListArgsDict', + 'StorageDomainRoutingRuleRouteArgs', + 'StorageDomainRoutingRuleRouteArgsDict', ] MYPY = False @@ -605,3 +607,72 @@ def vpc(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "vpc", value) +if not MYPY: + class StorageDomainRoutingRuleRouteArgsDict(TypedDict): + endpoint_type: pulumi.Input[_builtins.str] + """ + Endpoint Type. + """ + instance_domain: pulumi.Input[_builtins.str] + """ + Instance domain name. + """ + storage_domain: pulumi.Input[_builtins.str] + """ + Storage domain name. + """ +elif False: + StorageDomainRoutingRuleRouteArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class StorageDomainRoutingRuleRouteArgs: + def __init__(__self__, *, + endpoint_type: pulumi.Input[_builtins.str], + instance_domain: pulumi.Input[_builtins.str], + storage_domain: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] endpoint_type: Endpoint Type. + :param pulumi.Input[_builtins.str] instance_domain: Instance domain name. + :param pulumi.Input[_builtins.str] storage_domain: Storage domain name. + """ + pulumi.set(__self__, "endpoint_type", endpoint_type) + pulumi.set(__self__, "instance_domain", instance_domain) + pulumi.set(__self__, "storage_domain", storage_domain) + + @_builtins.property + @pulumi.getter(name="endpointType") + def endpoint_type(self) -> pulumi.Input[_builtins.str]: + """ + Endpoint Type. + """ + return pulumi.get(self, "endpoint_type") + + @endpoint_type.setter + def endpoint_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "endpoint_type", value) + + @_builtins.property + @pulumi.getter(name="instanceDomain") + def instance_domain(self) -> pulumi.Input[_builtins.str]: + """ + Instance domain name. + """ + return pulumi.get(self, "instance_domain") + + @instance_domain.setter + def instance_domain(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_domain", value) + + @_builtins.property + @pulumi.getter(name="storageDomain") + def storage_domain(self) -> pulumi.Input[_builtins.str]: + """ + Storage domain name. + """ + return pulumi.get(self, "storage_domain") + + @storage_domain.setter + def storage_domain(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "storage_domain", value) + + diff --git a/sdk/python/pulumi_alicloud/cr/chain.py b/sdk/python/pulumi_alicloud/cr/chain.py index 091fe5cd8c..f96ea2e7a2 100644 --- a/sdk/python/pulumi_alicloud/cr/chain.py +++ b/sdk/python/pulumi_alicloud/cr/chain.py @@ -411,6 +411,8 @@ def __init__(__self__, repo_namespace_name=default_registry_enterprise_namespace.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chain can be imported using the id, e.g. @@ -592,6 +594,8 @@ def __init__(__self__, repo_namespace_name=default_registry_enterprise_namespace.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/chart_namespace.py b/sdk/python/pulumi_alicloud/cr/chart_namespace.py index fffa4d694f..5bae78419a 100644 --- a/sdk/python/pulumi_alicloud/cr/chart_namespace.py +++ b/sdk/python/pulumi_alicloud/cr/chart_namespace.py @@ -204,6 +204,8 @@ def __init__(__self__, namespace_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chart Namespace can be imported using the id, e.g. @@ -260,6 +262,8 @@ def __init__(__self__, namespace_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chart Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/chart_repository.py b/sdk/python/pulumi_alicloud/cr/chart_repository.py index fd8af64073..a14bd1769d 100644 --- a/sdk/python/pulumi_alicloud/cr/chart_repository.py +++ b/sdk/python/pulumi_alicloud/cr/chart_repository.py @@ -240,6 +240,8 @@ def __init__(__self__, repo_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chart Repository can be imported using the id, e.g. @@ -301,6 +303,8 @@ def __init__(__self__, repo_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Chart Repository can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/endpoint_acl_policy.py b/sdk/python/pulumi_alicloud/cr/endpoint_acl_policy.py index b794df839d..c8bf386a6d 100644 --- a/sdk/python/pulumi_alicloud/cr/endpoint_acl_policy.py +++ b/sdk/python/pulumi_alicloud/cr/endpoint_acl_policy.py @@ -242,6 +242,8 @@ def __init__(__self__, endpoint_type="internet") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Endpoint Acl Policy can be imported using the id, e.g. @@ -305,6 +307,8 @@ def __init__(__self__, endpoint_type="internet") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Endpoint Acl Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/namespace.py b/sdk/python/pulumi_alicloud/cr/namespace.py index 4e1c017469..e49530d479 100644 --- a/sdk/python/pulumi_alicloud/cr/namespace.py +++ b/sdk/python/pulumi_alicloud/cr/namespace.py @@ -165,6 +165,8 @@ def __init__(__self__, default_visibility="PUBLIC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry namespace can be imported using the namespace, e.g. @@ -214,6 +216,8 @@ def __init__(__self__, default_visibility="PUBLIC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry namespace can be imported using the namespace, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/outputs.py b/sdk/python/pulumi_alicloud/cr/outputs.py index 1fb5b0e43d..645d49f42e 100644 --- a/sdk/python/pulumi_alicloud/cr/outputs.py +++ b/sdk/python/pulumi_alicloud/cr/outputs.py @@ -26,6 +26,7 @@ 'RegistryEnterpriseInstanceInstanceEndpoint', 'RegistryEnterpriseInstanceInstanceEndpointDomain', 'RepoDomainList', + 'StorageDomainRoutingRuleRoute', 'GetChainsChainResult', 'GetChainsChainChainConfigResult', 'GetChainsChainChainConfigNodeResult', @@ -488,6 +489,67 @@ def vpc(self) -> Optional[_builtins.str]: return pulumi.get(self, "vpc") +@pulumi.output_type +class StorageDomainRoutingRuleRoute(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endpointType": + suggest = "endpoint_type" + elif key == "instanceDomain": + suggest = "instance_domain" + elif key == "storageDomain": + suggest = "storage_domain" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StorageDomainRoutingRuleRoute. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StorageDomainRoutingRuleRoute.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StorageDomainRoutingRuleRoute.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + endpoint_type: _builtins.str, + instance_domain: _builtins.str, + storage_domain: _builtins.str): + """ + :param _builtins.str endpoint_type: Endpoint Type. + :param _builtins.str instance_domain: Instance domain name. + :param _builtins.str storage_domain: Storage domain name. + """ + pulumi.set(__self__, "endpoint_type", endpoint_type) + pulumi.set(__self__, "instance_domain", instance_domain) + pulumi.set(__self__, "storage_domain", storage_domain) + + @_builtins.property + @pulumi.getter(name="endpointType") + def endpoint_type(self) -> _builtins.str: + """ + Endpoint Type. + """ + return pulumi.get(self, "endpoint_type") + + @_builtins.property + @pulumi.getter(name="instanceDomain") + def instance_domain(self) -> _builtins.str: + """ + Instance domain name. + """ + return pulumi.get(self, "instance_domain") + + @_builtins.property + @pulumi.getter(name="storageDomain") + def storage_domain(self) -> _builtins.str: + """ + Storage domain name. + """ + return pulumi.get(self, "storage_domain") + + @pulumi.output_type class GetChainsChainResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/cr/registry_enterprise_instance.py b/sdk/python/pulumi_alicloud/cr/registry_enterprise_instance.py index 706da65530..da1593fc01 100644 --- a/sdk/python/pulumi_alicloud/cr/registry_enterprise_instance.py +++ b/sdk/python/pulumi_alicloud/cr/registry_enterprise_instance.py @@ -699,6 +699,8 @@ def __init__(__self__, instance_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Instance can be imported using the id, e.g. @@ -786,6 +788,8 @@ def __init__(__self__, instance_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/repo.py b/sdk/python/pulumi_alicloud/cr/repo.py index 91f630baaf..f9dd9a09d6 100644 --- a/sdk/python/pulumi_alicloud/cr/repo.py +++ b/sdk/python/pulumi_alicloud/cr/repo.py @@ -250,6 +250,8 @@ def __init__(__self__, detail="this is a private repo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry repository can be imported using the `namespace/repository`, e.g. @@ -303,6 +305,8 @@ def __init__(__self__, detail="this is a private repo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry repository can be imported using the `namespace/repository`, e.g. diff --git a/sdk/python/pulumi_alicloud/cr/scan_rule.py b/sdk/python/pulumi_alicloud/cr/scan_rule.py new file mode 100644 index 0000000000..195b9dbe4e --- /dev/null +++ b/sdk/python/pulumi_alicloud/cr/scan_rule.py @@ -0,0 +1,700 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['ScanRuleArgs', 'ScanRule'] + +@pulumi.input_type +class ScanRuleArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[_builtins.str], + repo_tag_filter_pattern: pulumi.Input[_builtins.str], + rule_name: pulumi.Input[_builtins.str], + scan_scope: pulumi.Input[_builtins.str], + scan_type: pulumi.Input[_builtins.str], + trigger_type: pulumi.Input[_builtins.str], + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a ScanRule resource. + :param pulumi.Input[_builtins.str] instance_id: Instance ID + :param pulumi.Input[_builtins.str] repo_tag_filter_pattern: Regular expression for matching tags that trigger a scan + :param pulumi.Input[_builtins.str] rule_name: Event rule name + :param pulumi.Input[_builtins.str] scan_scope: Scan scope + :param pulumi.Input[_builtins.str] scan_type: Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + :param pulumi.Input[_builtins.str] trigger_type: Trigger type + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] repo_names: Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "repo_tag_filter_pattern", repo_tag_filter_pattern) + pulumi.set(__self__, "rule_name", rule_name) + pulumi.set(__self__, "scan_scope", scan_scope) + pulumi.set(__self__, "scan_type", scan_type) + pulumi.set(__self__, "trigger_type", trigger_type) + if namespaces is not None: + pulumi.set(__self__, "namespaces", namespaces) + if repo_names is not None: + pulumi.set(__self__, "repo_names", repo_names) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + Instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="repoTagFilterPattern") + def repo_tag_filter_pattern(self) -> pulumi.Input[_builtins.str]: + """ + Regular expression for matching tags that trigger a scan + """ + return pulumi.get(self, "repo_tag_filter_pattern") + + @repo_tag_filter_pattern.setter + def repo_tag_filter_pattern(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "repo_tag_filter_pattern", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Input[_builtins.str]: + """ + Event rule name + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter(name="scanScope") + def scan_scope(self) -> pulumi.Input[_builtins.str]: + """ + Scan scope + """ + return pulumi.get(self, "scan_scope") + + @scan_scope.setter + def scan_scope(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "scan_scope", value) + + @_builtins.property + @pulumi.getter(name="scanType") + def scan_type(self) -> pulumi.Input[_builtins.str]: + """ + Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + """ + return pulumi.get(self, "scan_type") + + @scan_type.setter + def scan_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "scan_type", value) + + @_builtins.property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> pulumi.Input[_builtins.str]: + """ + Trigger type + """ + return pulumi.get(self, "trigger_type") + + @trigger_type.setter + def trigger_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "trigger_type", value) + + @_builtins.property + @pulumi.getter + def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + """ + return pulumi.get(self, "namespaces") + + @namespaces.setter + def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "namespaces", value) + + @_builtins.property + @pulumi.getter(name="repoNames") + def repo_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + """ + return pulumi.get(self, "repo_names") + + @repo_names.setter + def repo_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "repo_names", value) + + +@pulumi.input_type +class _ScanRuleState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_tag_filter_pattern: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + scan_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + scan_scope: Optional[pulumi.Input[_builtins.str]] = None, + scan_type: Optional[pulumi.Input[_builtins.str]] = None, + trigger_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ScanRule resources. + :param pulumi.Input[_builtins.int] create_time: Creation time + :param pulumi.Input[_builtins.str] instance_id: Instance ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] repo_names: Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + :param pulumi.Input[_builtins.str] repo_tag_filter_pattern: Regular expression for matching tags that trigger a scan + :param pulumi.Input[_builtins.str] rule_name: Event rule name + :param pulumi.Input[_builtins.str] scan_rule_id: Rule ID + :param pulumi.Input[_builtins.str] scan_scope: Scan scope + :param pulumi.Input[_builtins.str] scan_type: Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + :param pulumi.Input[_builtins.str] trigger_type: Trigger type + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if namespaces is not None: + pulumi.set(__self__, "namespaces", namespaces) + if repo_names is not None: + pulumi.set(__self__, "repo_names", repo_names) + if repo_tag_filter_pattern is not None: + pulumi.set(__self__, "repo_tag_filter_pattern", repo_tag_filter_pattern) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if scan_rule_id is not None: + pulumi.set(__self__, "scan_rule_id", scan_rule_id) + if scan_scope is not None: + pulumi.set(__self__, "scan_scope", scan_scope) + if scan_type is not None: + pulumi.set(__self__, "scan_type", scan_type) + if trigger_type is not None: + pulumi.set(__self__, "trigger_type", trigger_type) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Creation time + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + """ + return pulumi.get(self, "namespaces") + + @namespaces.setter + def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "namespaces", value) + + @_builtins.property + @pulumi.getter(name="repoNames") + def repo_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + """ + return pulumi.get(self, "repo_names") + + @repo_names.setter + def repo_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "repo_names", value) + + @_builtins.property + @pulumi.getter(name="repoTagFilterPattern") + def repo_tag_filter_pattern(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Regular expression for matching tags that trigger a scan + """ + return pulumi.get(self, "repo_tag_filter_pattern") + + @repo_tag_filter_pattern.setter + def repo_tag_filter_pattern(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "repo_tag_filter_pattern", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Event rule name + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter(name="scanRuleId") + def scan_rule_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule ID + """ + return pulumi.get(self, "scan_rule_id") + + @scan_rule_id.setter + def scan_rule_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "scan_rule_id", value) + + @_builtins.property + @pulumi.getter(name="scanScope") + def scan_scope(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Scan scope + """ + return pulumi.get(self, "scan_scope") + + @scan_scope.setter + def scan_scope(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "scan_scope", value) + + @_builtins.property + @pulumi.getter(name="scanType") + def scan_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + """ + return pulumi.get(self, "scan_type") + + @scan_type.setter + def scan_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "scan_type", value) + + @_builtins.property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Trigger type + """ + return pulumi.get(self, "trigger_type") + + @trigger_type.setter + def trigger_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "trigger_type", value) + + +@pulumi.type_token("alicloud:cr/scanRule:ScanRule") +class ScanRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_tag_filter_pattern: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + scan_scope: Optional[pulumi.Input[_builtins.str]] = None, + scan_type: Optional[pulumi.Input[_builtins.str]] = None, + trigger_type: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a CR Scan Rule resource. + + Artifact Scan Rule. + + For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default2_aqoce = alicloud.cr.RegistryEnterpriseInstance("default2Aqoce", + default_oss_bucket="false", + renewal_status="ManualRenewal", + period=1, + instance_name="pl-example-2", + payment_type="Subscription", + instance_type="Basic") + default = alicloud.cr.ScanRule("default", + repo_tag_filter_pattern=".*", + scan_scope="REPO", + trigger_type="MANUAL", + scan_type="VUL", + rule_name=name, + namespaces=["aa"], + repo_names=[ + "bb", + "cc", + "dd", + "ee", + ], + instance_id=default2_aqoce.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + CR Scan Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cr/scanRule:ScanRule example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] instance_id: Instance ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] repo_names: Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + :param pulumi.Input[_builtins.str] repo_tag_filter_pattern: Regular expression for matching tags that trigger a scan + :param pulumi.Input[_builtins.str] rule_name: Event rule name + :param pulumi.Input[_builtins.str] scan_scope: Scan scope + :param pulumi.Input[_builtins.str] scan_type: Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + :param pulumi.Input[_builtins.str] trigger_type: Trigger type + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ScanRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a CR Scan Rule resource. + + Artifact Scan Rule. + + For information about CR Scan Rule and how to use it, see [What is Scan Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateScanRule). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default2_aqoce = alicloud.cr.RegistryEnterpriseInstance("default2Aqoce", + default_oss_bucket="false", + renewal_status="ManualRenewal", + period=1, + instance_name="pl-example-2", + payment_type="Subscription", + instance_type="Basic") + default = alicloud.cr.ScanRule("default", + repo_tag_filter_pattern=".*", + scan_scope="REPO", + trigger_type="MANUAL", + scan_type="VUL", + rule_name=name, + namespaces=["aa"], + repo_names=[ + "bb", + "cc", + "dd", + "ee", + ], + instance_id=default2_aqoce.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + CR Scan Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cr/scanRule:ScanRule example : + ``` + + :param str resource_name: The name of the resource. + :param ScanRuleArgs 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(ScanRuleArgs, 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[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_tag_filter_pattern: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + scan_scope: Optional[pulumi.Input[_builtins.str]] = None, + scan_type: Optional[pulumi.Input[_builtins.str]] = None, + trigger_type: Optional[pulumi.Input[_builtins.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__ = ScanRuleArgs.__new__(ScanRuleArgs) + + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["namespaces"] = namespaces + __props__.__dict__["repo_names"] = repo_names + if repo_tag_filter_pattern is None and not opts.urn: + raise TypeError("Missing required property 'repo_tag_filter_pattern'") + __props__.__dict__["repo_tag_filter_pattern"] = repo_tag_filter_pattern + if rule_name is None and not opts.urn: + raise TypeError("Missing required property 'rule_name'") + __props__.__dict__["rule_name"] = rule_name + if scan_scope is None and not opts.urn: + raise TypeError("Missing required property 'scan_scope'") + __props__.__dict__["scan_scope"] = scan_scope + if scan_type is None and not opts.urn: + raise TypeError("Missing required property 'scan_type'") + __props__.__dict__["scan_type"] = scan_type + if trigger_type is None and not opts.urn: + raise TypeError("Missing required property 'trigger_type'") + __props__.__dict__["trigger_type"] = trigger_type + __props__.__dict__["create_time"] = None + __props__.__dict__["scan_rule_id"] = None + super(ScanRule, __self__).__init__( + 'alicloud:cr/scanRule:ScanRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + repo_tag_filter_pattern: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + scan_rule_id: Optional[pulumi.Input[_builtins.str]] = None, + scan_scope: Optional[pulumi.Input[_builtins.str]] = None, + scan_type: Optional[pulumi.Input[_builtins.str]] = None, + trigger_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'ScanRule': + """ + Get an existing ScanRule 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[_builtins.int] create_time: Creation time + :param pulumi.Input[_builtins.str] instance_id: Instance ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] repo_names: Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + :param pulumi.Input[_builtins.str] repo_tag_filter_pattern: Regular expression for matching tags that trigger a scan + :param pulumi.Input[_builtins.str] rule_name: Event rule name + :param pulumi.Input[_builtins.str] scan_rule_id: Rule ID + :param pulumi.Input[_builtins.str] scan_scope: Scan scope + :param pulumi.Input[_builtins.str] scan_type: Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + :param pulumi.Input[_builtins.str] trigger_type: Trigger type + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ScanRuleState.__new__(_ScanRuleState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["namespaces"] = namespaces + __props__.__dict__["repo_names"] = repo_names + __props__.__dict__["repo_tag_filter_pattern"] = repo_tag_filter_pattern + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["scan_rule_id"] = scan_rule_id + __props__.__dict__["scan_scope"] = scan_scope + __props__.__dict__["scan_type"] = scan_type + __props__.__dict__["trigger_type"] = trigger_type + return ScanRule(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.int]: + """ + Creation time + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + Instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def namespaces(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + Set of namespaces: + - This parameter must not be empty when the scan scope is NAMESPACE. + - This parameter must contain exactly one namespace when the scan scope is REPO. + """ + return pulumi.get(self, "namespaces") + + @_builtins.property + @pulumi.getter(name="repoNames") + def repo_names(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + Repository list: + - This parameter must be empty when the scan scope is NAMESPACE. + - This parameter must not be empty when the scan scope is REPO. + """ + return pulumi.get(self, "repo_names") + + @_builtins.property + @pulumi.getter(name="repoTagFilterPattern") + def repo_tag_filter_pattern(self) -> pulumi.Output[_builtins.str]: + """ + Regular expression for matching tags that trigger a scan + """ + return pulumi.get(self, "repo_tag_filter_pattern") + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Output[_builtins.str]: + """ + Event rule name + """ + return pulumi.get(self, "rule_name") + + @_builtins.property + @pulumi.getter(name="scanRuleId") + def scan_rule_id(self) -> pulumi.Output[_builtins.str]: + """ + Rule ID + """ + return pulumi.get(self, "scan_rule_id") + + @_builtins.property + @pulumi.getter(name="scanScope") + def scan_scope(self) -> pulumi.Output[_builtins.str]: + """ + Scan scope + """ + return pulumi.get(self, "scan_scope") + + @_builtins.property + @pulumi.getter(name="scanType") + def scan_type(self) -> pulumi.Output[_builtins.str]: + """ + Scan type: + - `VUL`: Artifact vulnerability scan + - `SBOM`: Artifact content analysis + + The default value of this parameter is `VUL`. + """ + return pulumi.get(self, "scan_type") + + @_builtins.property + @pulumi.getter(name="triggerType") + def trigger_type(self) -> pulumi.Output[_builtins.str]: + """ + Trigger type + """ + return pulumi.get(self, "trigger_type") + diff --git a/sdk/python/pulumi_alicloud/cr/storage_domain_routing_rule.py b/sdk/python/pulumi_alicloud/cr/storage_domain_routing_rule.py new file mode 100644 index 0000000000..09d903447b --- /dev/null +++ b/sdk/python/pulumi_alicloud/cr/storage_domain_routing_rule.py @@ -0,0 +1,346 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['StorageDomainRoutingRuleArgs', 'StorageDomainRoutingRule'] + +@pulumi.input_type +class StorageDomainRoutingRuleArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[_builtins.str], + routes: pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]): + """ + The set of arguments for constructing a StorageDomainRoutingRule resource. + :param pulumi.Input[_builtins.str] instance_id: The ID of the Container Registry Instance. + :param pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]] routes: Domain name routing entry See `routes` below. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "routes", routes) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the Container Registry Instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def routes(self) -> pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]: + """ + Domain name routing entry See `routes` below. + """ + return pulumi.get(self, "routes") + + @routes.setter + def routes(self, value: pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]): + pulumi.set(self, "routes", value) + + +@pulumi.input_type +class _StorageDomainRoutingRuleState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]] = None, + rule_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering StorageDomainRoutingRule resources. + :param pulumi.Input[_builtins.int] create_time: The creation time of the resource. + :param pulumi.Input[_builtins.str] instance_id: The ID of the Container Registry Instance. + :param pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]] routes: Domain name routing entry See `routes` below. + :param pulumi.Input[_builtins.str] rule_id: The ID of the Rule. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if routes is not None: + pulumi.set(__self__, "routes", routes) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The creation time of the resource. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the Container Registry Instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]]: + """ + Domain name routing entry See `routes` below. + """ + return pulumi.get(self, "routes") + + @routes.setter + def routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StorageDomainRoutingRuleRouteArgs']]]]): + pulumi.set(self, "routes", value) + + @_builtins.property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the Rule. + """ + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_id", value) + + +@pulumi.type_token("alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule") +class StorageDomainRoutingRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StorageDomainRoutingRuleRouteArgs', 'StorageDomainRoutingRuleRouteArgsDict']]]]] = None, + __props__=None): + """ + Provides a CR Storage Domain Routing Rule resource. + + Instance Storage Domain Routing Rule. + + For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.cr.RegistryEnterpriseInstance("default", + payment_type="Subscription", + period=1, + renew_period=1, + renewal_status="AutoRenewal", + instance_type="Advanced", + instance_name=name) + default_storage_domain_routing_rule = alicloud.cr.StorageDomainRoutingRule("default", + routes=[{ + "instance_domain": default.instance_name.apply(lambda instance_name: f"{instance_name}-registry-vpc.cn-hangzhou.cr.aliyuncs.com"), + "storage_domain": default.id.apply(lambda id: f"https://{id}-registry.oss-cn-hangzhou-internal.aliyuncs.com"), + "endpoint_type": "Internet", + }], + instance_id=default.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + CR Storage Domain Routing Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] instance_id: The ID of the Container Registry Instance. + :param pulumi.Input[Sequence[pulumi.Input[Union['StorageDomainRoutingRuleRouteArgs', 'StorageDomainRoutingRuleRouteArgsDict']]]] routes: Domain name routing entry See `routes` below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StorageDomainRoutingRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a CR Storage Domain Routing Rule resource. + + Instance Storage Domain Routing Rule. + + For information about CR Storage Domain Routing Rule and how to use it, see [What is Storage Domain Routing Rule](https://next.api.alibabacloud.com/document/cr/2018-12-01/CreateStorageDomainRoutingRule). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.cr.RegistryEnterpriseInstance("default", + payment_type="Subscription", + period=1, + renew_period=1, + renewal_status="AutoRenewal", + instance_type="Advanced", + instance_name=name) + default_storage_domain_routing_rule = alicloud.cr.StorageDomainRoutingRule("default", + routes=[{ + "instance_domain": default.instance_name.apply(lambda instance_name: f"{instance_name}-registry-vpc.cn-hangzhou.cr.aliyuncs.com"), + "storage_domain": default.id.apply(lambda id: f"https://{id}-registry.oss-cn-hangzhou-internal.aliyuncs.com"), + "endpoint_type": "Internet", + }], + instance_id=default.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + CR Storage Domain Routing Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule example : + ``` + + :param str resource_name: The name of the resource. + :param StorageDomainRoutingRuleArgs 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(StorageDomainRoutingRuleArgs, 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[_builtins.str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StorageDomainRoutingRuleRouteArgs', 'StorageDomainRoutingRuleRouteArgsDict']]]]] = 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__ = StorageDomainRoutingRuleArgs.__new__(StorageDomainRoutingRuleArgs) + + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if routes is None and not opts.urn: + raise TypeError("Missing required property 'routes'") + __props__.__dict__["routes"] = routes + __props__.__dict__["create_time"] = None + __props__.__dict__["rule_id"] = None + super(StorageDomainRoutingRule, __self__).__init__( + 'alicloud:cr/storageDomainRoutingRule:StorageDomainRoutingRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StorageDomainRoutingRuleRouteArgs', 'StorageDomainRoutingRuleRouteArgsDict']]]]] = None, + rule_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'StorageDomainRoutingRule': + """ + Get an existing StorageDomainRoutingRule 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[_builtins.int] create_time: The creation time of the resource. + :param pulumi.Input[_builtins.str] instance_id: The ID of the Container Registry Instance. + :param pulumi.Input[Sequence[pulumi.Input[Union['StorageDomainRoutingRuleRouteArgs', 'StorageDomainRoutingRuleRouteArgsDict']]]] routes: Domain name routing entry See `routes` below. + :param pulumi.Input[_builtins.str] rule_id: The ID of the Rule. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _StorageDomainRoutingRuleState.__new__(_StorageDomainRoutingRuleState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["routes"] = routes + __props__.__dict__["rule_id"] = rule_id + return StorageDomainRoutingRule(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.int]: + """ + The creation time of the resource. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the Container Registry Instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def routes(self) -> pulumi.Output[Sequence['outputs.StorageDomainRoutingRuleRoute']]: + """ + Domain name routing entry See `routes` below. + """ + return pulumi.get(self, "routes") + + @_builtins.property + @pulumi.getter(name="ruleId") + def rule_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the Rule. + """ + return pulumi.get(self, "rule_id") + diff --git a/sdk/python/pulumi_alicloud/cr/vpc_endpoint_linked_vpc.py b/sdk/python/pulumi_alicloud/cr/vpc_endpoint_linked_vpc.py index 24c8265abb..a1157a34c8 100644 --- a/sdk/python/pulumi_alicloud/cr/vpc_endpoint_linked_vpc.py +++ b/sdk/python/pulumi_alicloud/cr/vpc_endpoint_linked_vpc.py @@ -271,6 +271,8 @@ def __init__(__self__, enable_create_dns_record_in_pvzt=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. @@ -342,6 +344,8 @@ def __init__(__self__, enable_create_dns_record_in_pvzt=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import CR Vpc Endpoint Linked Vpc can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cs/__init__.py b/sdk/python/pulumi_alicloud/cs/__init__.py index 2fd6c1f6dc..ad54acf798 100644 --- a/sdk/python/pulumi_alicloud/cs/__init__.py +++ b/sdk/python/pulumi_alicloud/cs/__init__.py @@ -29,6 +29,7 @@ from .kubernetes_addon import * from .kubernetes_autoscaler import * from .kubernetes_permission import * +from .kubernetes_policy_instance import * from .managed_kubernetes import * from .node_pool import * from .registry_enterprise_namespace import * diff --git a/sdk/python/pulumi_alicloud/cs/_inputs.py b/sdk/python/pulumi_alicloud/cs/_inputs.py index 373bbe303b..3f5bc94f13 100644 --- a/sdk/python/pulumi_alicloud/cs/_inputs.py +++ b/sdk/python/pulumi_alicloud/cs/_inputs.py @@ -69,10 +69,16 @@ 'ManagedKubernetesOperationPolicyClusterAutoUpgradeArgsDict', 'ManagedKubernetesRrsaMetadataArgs', 'ManagedKubernetesRrsaMetadataArgsDict', + 'NodePoolAutoModeArgs', + 'NodePoolAutoModeArgsDict', 'NodePoolDataDiskArgs', 'NodePoolDataDiskArgsDict', 'NodePoolEfloNodeGroupArgs', 'NodePoolEfloNodeGroupArgsDict', + 'NodePoolInstanceMetadataOptionsArgs', + 'NodePoolInstanceMetadataOptionsArgsDict', + 'NodePoolInstancePatternArgs', + 'NodePoolInstancePatternArgsDict', 'NodePoolKubeletConfigurationArgs', 'NodePoolKubeletConfigurationArgsDict', 'NodePoolKubeletConfigurationReservedMemoryArgs', @@ -3099,6 +3105,38 @@ def rrsa_oidc_issuer_url(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "rrsa_oidc_issuer_url", value) +if not MYPY: + class NodePoolAutoModeArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether to enable auto mode. Valid values: + """ +elif False: + NodePoolAutoModeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodePoolAutoModeArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[_builtins.bool]] = None): + """ + :param pulumi.Input[_builtins.bool] enabled: Whether to enable auto mode. Valid values: + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable auto mode. Valid values: + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + if not MYPY: class NodePoolDataDiskArgsDict(TypedDict): auto_format: NotRequired[pulumi.Input[_builtins.str]] @@ -3443,6 +3481,338 @@ def group_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "group_id", value) +if not MYPY: + class NodePoolInstanceMetadataOptionsArgsDict(TypedDict): + http_tokens: NotRequired[pulumi.Input[_builtins.str]] + """ + ECS instance metadata access mode configuration. Value range: + + - 'optional': Compatible with both normal mode and reinforced mode. + - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + + Default value: 'optional '. + + This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + """ +elif False: + NodePoolInstanceMetadataOptionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodePoolInstanceMetadataOptionsArgs: + def __init__(__self__, *, + http_tokens: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] http_tokens: ECS instance metadata access mode configuration. Value range: + + - 'optional': Compatible with both normal mode and reinforced mode. + - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + + Default value: 'optional '. + + This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + """ + if http_tokens is not None: + pulumi.set(__self__, "http_tokens", http_tokens) + + @_builtins.property + @pulumi.getter(name="httpTokens") + def http_tokens(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ECS instance metadata access mode configuration. Value range: + + - 'optional': Compatible with both normal mode and reinforced mode. + - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + + Default value: 'optional '. + + This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + """ + return pulumi.get(self, "http_tokens") + + @http_tokens.setter + def http_tokens(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "http_tokens", value) + + +if not MYPY: + class NodePoolInstancePatternArgsDict(TypedDict): + instance_family_level: pulumi.Input[_builtins.str] + """ + Instance specification family level, value range: + - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + """ + cores: NotRequired[pulumi.Input[_builtins.int]] + """ + The number of vCPU cores of the instance type. Example value: 8. + """ + cpu_architectures: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + The CPU architecture of the instance. Value range: + - X86 + - ARM + """ + excluded_instance_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + """ + instance_categories: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Instance classification. Value range: + - General-purpose: Universal. + - Compute-optimized: Compute type. + - Memory-optimized: Memory type. + - Big data: Big data type. + - Local SSDs: Local SSD type. + - High Clock Speed: High frequency type. + - Enhanced: Enhanced. + - Shared: Shared. + - ECS Bare Metal: elastic Bare Metal server. + - High Performance Compute: High Performance Compute. + """ + instance_type_families: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + """ + max_cpu_cores: NotRequired[pulumi.Input[_builtins.int]] + """ + The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + max_memory_size: NotRequired[pulumi.Input[_builtins.float]] + """ + The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + memory: NotRequired[pulumi.Input[_builtins.float]] + """ + The memory size of the instance type, in GiB. Example value: 8. + """ + min_cpu_cores: NotRequired[pulumi.Input[_builtins.int]] + """ + The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + min_memory_size: NotRequired[pulumi.Input[_builtins.float]] + """ + The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ +elif False: + NodePoolInstancePatternArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodePoolInstancePatternArgs: + def __init__(__self__, *, + instance_family_level: pulumi.Input[_builtins.str], + cores: Optional[pulumi.Input[_builtins.int]] = None, + cpu_architectures: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + excluded_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + instance_categories: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + instance_type_families: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + max_cpu_cores: Optional[pulumi.Input[_builtins.int]] = None, + max_memory_size: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.float]] = None, + min_cpu_cores: Optional[pulumi.Input[_builtins.int]] = None, + min_memory_size: Optional[pulumi.Input[_builtins.float]] = None): + """ + :param pulumi.Input[_builtins.str] instance_family_level: Instance specification family level, value range: + - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + :param pulumi.Input[_builtins.int] cores: The number of vCPU cores of the instance type. Example value: 8. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cpu_architectures: The CPU architecture of the instance. Value range: + - X86 + - ARM + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] excluded_instance_types: Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_categories: Instance classification. Value range: + - General-purpose: Universal. + - Compute-optimized: Compute type. + - Memory-optimized: Memory type. + - Big data: Big data type. + - Local SSDs: Local SSD type. + - High Clock Speed: High frequency type. + - Enhanced: Enhanced. + - Shared: Shared. + - ECS Bare Metal: elastic Bare Metal server. + - High Performance Compute: High Performance Compute. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_type_families: Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + :param pulumi.Input[_builtins.int] max_cpu_cores: The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + :param pulumi.Input[_builtins.float] max_memory_size: The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + :param pulumi.Input[_builtins.float] memory: The memory size of the instance type, in GiB. Example value: 8. + :param pulumi.Input[_builtins.int] min_cpu_cores: The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + :param pulumi.Input[_builtins.float] min_memory_size: The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + pulumi.set(__self__, "instance_family_level", instance_family_level) + if cores is not None: + pulumi.set(__self__, "cores", cores) + if cpu_architectures is not None: + pulumi.set(__self__, "cpu_architectures", cpu_architectures) + if excluded_instance_types is not None: + pulumi.set(__self__, "excluded_instance_types", excluded_instance_types) + if instance_categories is not None: + pulumi.set(__self__, "instance_categories", instance_categories) + if instance_type_families is not None: + pulumi.set(__self__, "instance_type_families", instance_type_families) + if max_cpu_cores is not None: + pulumi.set(__self__, "max_cpu_cores", max_cpu_cores) + if max_memory_size is not None: + pulumi.set(__self__, "max_memory_size", max_memory_size) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if min_cpu_cores is not None: + pulumi.set(__self__, "min_cpu_cores", min_cpu_cores) + if min_memory_size is not None: + pulumi.set(__self__, "min_memory_size", min_memory_size) + + @_builtins.property + @pulumi.getter(name="instanceFamilyLevel") + def instance_family_level(self) -> pulumi.Input[_builtins.str]: + """ + Instance specification family level, value range: + - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + """ + return pulumi.get(self, "instance_family_level") + + @instance_family_level.setter + def instance_family_level(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_family_level", value) + + @_builtins.property + @pulumi.getter + def cores(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The number of vCPU cores of the instance type. Example value: 8. + """ + return pulumi.get(self, "cores") + + @cores.setter + def cores(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "cores", value) + + @_builtins.property + @pulumi.getter(name="cpuArchitectures") + def cpu_architectures(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The CPU architecture of the instance. Value range: + - X86 + - ARM + """ + return pulumi.get(self, "cpu_architectures") + + @cpu_architectures.setter + def cpu_architectures(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "cpu_architectures", value) + + @_builtins.property + @pulumi.getter(name="excludedInstanceTypes") + def excluded_instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + """ + return pulumi.get(self, "excluded_instance_types") + + @excluded_instance_types.setter + def excluded_instance_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "excluded_instance_types", value) + + @_builtins.property + @pulumi.getter(name="instanceCategories") + def instance_categories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Instance classification. Value range: + - General-purpose: Universal. + - Compute-optimized: Compute type. + - Memory-optimized: Memory type. + - Big data: Big data type. + - Local SSDs: Local SSD type. + - High Clock Speed: High frequency type. + - Enhanced: Enhanced. + - Shared: Shared. + - ECS Bare Metal: elastic Bare Metal server. + - High Performance Compute: High Performance Compute. + """ + return pulumi.get(self, "instance_categories") + + @instance_categories.setter + def instance_categories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "instance_categories", value) + + @_builtins.property + @pulumi.getter(name="instanceTypeFamilies") + def instance_type_families(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + """ + return pulumi.get(self, "instance_type_families") + + @instance_type_families.setter + def instance_type_families(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "instance_type_families", value) + + @_builtins.property + @pulumi.getter(name="maxCpuCores") + def max_cpu_cores(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + return pulumi.get(self, "max_cpu_cores") + + @max_cpu_cores.setter + def max_cpu_cores(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "max_cpu_cores", value) + + @_builtins.property + @pulumi.getter(name="maxMemorySize") + def max_memory_size(self) -> Optional[pulumi.Input[_builtins.float]]: + """ + The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + return pulumi.get(self, "max_memory_size") + + @max_memory_size.setter + def max_memory_size(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "max_memory_size", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.float]]: + """ + The memory size of the instance type, in GiB. Example value: 8. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "memory", value) + + @_builtins.property + @pulumi.getter(name="minCpuCores") + def min_cpu_cores(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + return pulumi.get(self, "min_cpu_cores") + + @min_cpu_cores.setter + def min_cpu_cores(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "min_cpu_cores", value) + + @_builtins.property + @pulumi.getter(name="minMemorySize") + def min_memory_size(self) -> Optional[pulumi.Input[_builtins.float]]: + """ + The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + return pulumi.get(self, "min_memory_size") + + @min_memory_size.setter + def min_memory_size(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "min_memory_size", value) + + if not MYPY: class NodePoolKubeletConfigurationArgsDict(TypedDict): allowed_unsafe_sysctls: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] @@ -3557,6 +3927,10 @@ class NodePoolKubeletConfigurationArgsDict(TypedDict): """ Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. """ + server_tls_bootstrap: NotRequired[pulumi.Input[_builtins.bool]] + """ + Used to enable the kubelet server certificate signing and rotation via CSR. + """ system_reserved: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] """ Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. @@ -3603,6 +3977,7 @@ def __init__(__self__, *, registry_pull_qps: Optional[pulumi.Input[_builtins.str]] = None, reserved_memories: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolKubeletConfigurationReservedMemoryArgs']]]] = None, serialize_image_pulls: Optional[pulumi.Input[_builtins.str]] = None, + server_tls_bootstrap: Optional[pulumi.Input[_builtins.bool]] = None, system_reserved: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, topology_manager_policy: Optional[pulumi.Input[_builtins.str]] = None, tracing: Optional[pulumi.Input['NodePoolKubeletConfigurationTracingArgs']] = None): @@ -3635,6 +4010,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] registry_pull_qps: Same as registryPullQPS. The limit of registry pulls per second. Setting it to `0` means no limit. Valid value is `[0-50]`. :param pulumi.Input[Sequence[pulumi.Input['NodePoolKubeletConfigurationReservedMemoryArgs']]] reserved_memories: Reserve memory for NUMA nodes. See `reserved_memory` below. :param pulumi.Input[_builtins.str] serialize_image_pulls: Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. + :param pulumi.Input[_builtins.bool] server_tls_bootstrap: Used to enable the kubelet server certificate signing and rotation via CSR. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] system_reserved: Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. :param pulumi.Input[_builtins.str] topology_manager_policy: Name of the Topology Manager policy used. :param pulumi.Input['NodePoolKubeletConfigurationTracingArgs'] tracing: OpenTelemetry tracks the configuration information for client settings versioning. See `tracing` below. @@ -3695,6 +4071,8 @@ def __init__(__self__, *, pulumi.set(__self__, "reserved_memories", reserved_memories) if serialize_image_pulls is not None: pulumi.set(__self__, "serialize_image_pulls", serialize_image_pulls) + if server_tls_bootstrap is not None: + pulumi.set(__self__, "server_tls_bootstrap", server_tls_bootstrap) if system_reserved is not None: pulumi.set(__self__, "system_reserved", system_reserved) if topology_manager_policy is not None: @@ -4038,6 +4416,18 @@ def serialize_image_pulls(self) -> Optional[pulumi.Input[_builtins.str]]: def serialize_image_pulls(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "serialize_image_pulls", value) + @_builtins.property + @pulumi.getter(name="serverTlsBootstrap") + def server_tls_bootstrap(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Used to enable the kubelet server certificate signing and rotation via CSR. + """ + return pulumi.get(self, "server_tls_bootstrap") + + @server_tls_bootstrap.setter + def server_tls_bootstrap(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "server_tls_bootstrap", value) + @_builtins.property @pulumi.getter(name="systemReserved") def system_reserved(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: diff --git a/sdk/python/pulumi_alicloud/cs/autoscaling_config.py b/sdk/python/pulumi_alicloud/cs/autoscaling_config.py index 67889cdfb8..ba9d1a1b39 100644 --- a/sdk/python/pulumi_alicloud/cs/autoscaling_config.py +++ b/sdk/python/pulumi_alicloud/cs/autoscaling_config.py @@ -700,6 +700,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster. @@ -826,6 +828,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param AutoscalingConfigArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/cs/edge_kubernetes.py b/sdk/python/pulumi_alicloud/cs/edge_kubernetes.py index 70bb68f8df..9b8a71b418 100644 --- a/sdk/python/pulumi_alicloud/cs/edge_kubernetes.py +++ b/sdk/python/pulumi_alicloud/cs/edge_kubernetes.py @@ -1681,6 +1681,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -1864,6 +1866,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/python/pulumi_alicloud/cs/kubernetes.py b/sdk/python/pulumi_alicloud/cs/kubernetes.py index 40f5f0c031..4a913005b5 100644 --- a/sdk/python/pulumi_alicloud/cs/kubernetes.py +++ b/sdk/python/pulumi_alicloud/cs/kubernetes.py @@ -2156,6 +2156,8 @@ def __init__(__self__, skip_set_certificate_authority=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -2419,6 +2421,8 @@ def __init__(__self__, skip_set_certificate_authority=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/python/pulumi_alicloud/cs/kubernetes_addon.py b/sdk/python/pulumi_alicloud/cs/kubernetes_addon.py index 9e7189fc01..82cb3dc665 100644 --- a/sdk/python/pulumi_alicloud/cs/kubernetes_addon.py +++ b/sdk/python/pulumi_alicloud/cs/kubernetes_addon.py @@ -310,6 +310,8 @@ def __init__(__self__, * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. * If the addon does not exist in the cluster, it will be installed. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. @@ -391,6 +393,8 @@ def __init__(__self__, * If the addon already exists in the cluster and its version is different from the specified version, the addon will be upgraded. * If the addon does not exist in the cluster, it will be installed. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of `pulumi preview`. diff --git a/sdk/python/pulumi_alicloud/cs/kubernetes_permission.py b/sdk/python/pulumi_alicloud/cs/kubernetes_permission.py index 432a205645..034a98455f 100644 --- a/sdk/python/pulumi_alicloud/cs/kubernetes_permission.py +++ b/sdk/python/pulumi_alicloud/cs/kubernetes_permission.py @@ -199,6 +199,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesPermissionPermissionArgs', 'KubernetesPermissionPermissionArgsDict']]]] permissions: A list of user permission. See `permissions` below. @@ -303,6 +305,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param KubernetesPermissionArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/cs/kubernetes_policy_instance.py b/sdk/python/pulumi_alicloud/cs/kubernetes_policy_instance.py new file mode 100644 index 0000000000..b054a91b3d --- /dev/null +++ b/sdk/python/pulumi_alicloud/cs/kubernetes_policy_instance.py @@ -0,0 +1,573 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['KubernetesPolicyInstanceArgs', 'KubernetesPolicyInstance'] + +@pulumi.input_type +class KubernetesPolicyInstanceArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[_builtins.str], + policy_name: pulumi.Input[_builtins.str], + action: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a KubernetesPolicyInstance resource. + :param pulumi.Input[_builtins.str] cluster_id: Target cluster ID + :param pulumi.Input[_builtins.str] policy_name: Policy Name + :param pulumi.Input[_builtins.str] action: Policy Governance Implementation Actions + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Limits the namespace of the policy implementation. Empty indicates all namespaces. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameters: The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "policy_name", policy_name) + if action is not None: + pulumi.set(__self__, "action", action) + if namespaces is not None: + pulumi.set(__self__, "namespaces", namespaces) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[_builtins.str]: + """ + Target cluster ID + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "cluster_id", value) + + @_builtins.property + @pulumi.getter(name="policyName") + def policy_name(self) -> pulumi.Input[_builtins.str]: + """ + Policy Name + """ + return pulumi.get(self, "policy_name") + + @policy_name.setter + def policy_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "policy_name", value) + + @_builtins.property + @pulumi.getter + def action(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Policy Governance Implementation Actions + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "action", value) + + @_builtins.property + @pulumi.getter + def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Limits the namespace of the policy implementation. Empty indicates all namespaces. + """ + return pulumi.get(self, "namespaces") + + @namespaces.setter + def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "namespaces", value) + + @_builtins.property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "parameters", value) + + +@pulumi.input_type +class _KubernetesPolicyInstanceState: + def __init__(__self__, *, + action: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + policy_name: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering KubernetesPolicyInstance resources. + :param pulumi.Input[_builtins.str] action: Policy Governance Implementation Actions + :param pulumi.Input[_builtins.str] cluster_id: Target cluster ID + :param pulumi.Input[_builtins.str] instance_name: Rule Instance Name + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Limits the namespace of the policy implementation. Empty indicates all namespaces. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameters: The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + :param pulumi.Input[_builtins.str] policy_name: Policy Name + """ + if action is not None: + pulumi.set(__self__, "action", action) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if namespaces is not None: + pulumi.set(__self__, "namespaces", namespaces) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if policy_name is not None: + pulumi.set(__self__, "policy_name", policy_name) + + @_builtins.property + @pulumi.getter + def action(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Policy Governance Implementation Actions + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "action", value) + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Target cluster ID + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule Instance Name + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_name", value) + + @_builtins.property + @pulumi.getter + def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Limits the namespace of the policy implementation. Empty indicates all namespaces. + """ + return pulumi.get(self, "namespaces") + + @namespaces.setter + def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "namespaces", value) + + @_builtins.property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "parameters", value) + + @_builtins.property + @pulumi.getter(name="policyName") + def policy_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Policy Name + """ + return pulumi.get(self, "policy_name") + + @policy_name.setter + def policy_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "policy_name", value) + + +@pulumi.type_token("alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance") +class KubernetesPolicyInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + policy_name: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Container Service for Kubernetes (ACK) Policy Instance resource. + + For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + import pulumi_std as std + + config = pulumi.Config() + vpc_cidr = config.get("vpcCidr") + if vpc_cidr is None: + vpc_cidr = "10.0.0.0/8" + vswitch_cidrs = config.get_object("vswitchCidrs") + if vswitch_cidrs is None: + vswitch_cidrs = [ + "10.1.0.0/16", + "10.2.0.0/16", + ] + cluster_name = config.get("clusterName") + if cluster_name is None: + cluster_name = "example-create-cluster" + pod_cidr = config.get("podCidr") + if pod_cidr is None: + pod_cidr = "172.16.0.0/16" + service_cidr = config.get("serviceCidr") + if service_cidr is None: + service_cidr = "192.168.0.0/16" + policy_name = config.get("policyName") + if policy_name is None: + policy_name = "ACKPSPHostNetworkingPorts" + enhanced = alicloud.vpc.get_enhanced_nat_available_zones() + default = random.index.Integer("default", + max=99999, + min=10000) + create_vpc = alicloud.vpc.Network("CreateVPC", cidr_block=vpc_cidr) + # According to the vswitch cidr blocks to launch several vswitches + create_v_switch = [] + for range in [{"value": i} for i in range(0, len(vswitch_cidrs))]: + create_v_switch.append(alicloud.vpc.Switch(f"CreateVSwitch-{range['value']}", + vpc_id=create_vpc.id, + cidr_block=vswitch_cidrs[range["value"]], + zone_id=enhanced.zones[range["value"]].zone_id)) + create_cluster = alicloud.cs.ManagedKubernetes("CreateCluster", + name=f"{cluster_name}-{default['result']}", + cluster_spec="ack.pro.small", + profile="Default", + vswitch_ids=std.join_output(separator=",", + input=[__item.id for __item in create_v_switch]).apply(lambda invoke: std.split_output(separator=",", + text=invoke.result)).apply(lambda invoke: invoke.result), + pod_cidr=pod_cidr, + service_cidr=service_cidr, + is_enterprise_security_group=True, + ip_stack="ipv4", + proxy_mode="ipvs", + deletion_protection=False, + addons=[ + { + "name": "gatekeeper", + }, + { + "name": "loongcollector", + }, + { + "name": "policy-template-controller", + }, + ], + operation_policy={ + "cluster_auto_upgrade": { + "enabled": False, + }, + }, + maintenance_window={ + "enable": False, + }) + default_kubernetes_policy_instance = alicloud.cs.KubernetesPolicyInstance("default", + cluster_id=create_cluster.id, + policy_name=policy_name, + action="deny", + namespaces=["test"], + parameters={ + "hostNetwork": "true", + "min": "20", + "max": "200", + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example :: + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] action: Policy Governance Implementation Actions + :param pulumi.Input[_builtins.str] cluster_id: Target cluster ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Limits the namespace of the policy implementation. Empty indicates all namespaces. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameters: The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + :param pulumi.Input[_builtins.str] policy_name: Policy Name + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: KubernetesPolicyInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Container Service for Kubernetes (ACK) Policy Instance resource. + + For information about Container Service for Kubernetes (ACK) Policy Instance and how to use it, see [What is Policy Instance](https://next.api.alibabacloud.com/document/CS/2015-12-15/DeployPolicyInstance). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + import pulumi_std as std + + config = pulumi.Config() + vpc_cidr = config.get("vpcCidr") + if vpc_cidr is None: + vpc_cidr = "10.0.0.0/8" + vswitch_cidrs = config.get_object("vswitchCidrs") + if vswitch_cidrs is None: + vswitch_cidrs = [ + "10.1.0.0/16", + "10.2.0.0/16", + ] + cluster_name = config.get("clusterName") + if cluster_name is None: + cluster_name = "example-create-cluster" + pod_cidr = config.get("podCidr") + if pod_cidr is None: + pod_cidr = "172.16.0.0/16" + service_cidr = config.get("serviceCidr") + if service_cidr is None: + service_cidr = "192.168.0.0/16" + policy_name = config.get("policyName") + if policy_name is None: + policy_name = "ACKPSPHostNetworkingPorts" + enhanced = alicloud.vpc.get_enhanced_nat_available_zones() + default = random.index.Integer("default", + max=99999, + min=10000) + create_vpc = alicloud.vpc.Network("CreateVPC", cidr_block=vpc_cidr) + # According to the vswitch cidr blocks to launch several vswitches + create_v_switch = [] + for range in [{"value": i} for i in range(0, len(vswitch_cidrs))]: + create_v_switch.append(alicloud.vpc.Switch(f"CreateVSwitch-{range['value']}", + vpc_id=create_vpc.id, + cidr_block=vswitch_cidrs[range["value"]], + zone_id=enhanced.zones[range["value"]].zone_id)) + create_cluster = alicloud.cs.ManagedKubernetes("CreateCluster", + name=f"{cluster_name}-{default['result']}", + cluster_spec="ack.pro.small", + profile="Default", + vswitch_ids=std.join_output(separator=",", + input=[__item.id for __item in create_v_switch]).apply(lambda invoke: std.split_output(separator=",", + text=invoke.result)).apply(lambda invoke: invoke.result), + pod_cidr=pod_cidr, + service_cidr=service_cidr, + is_enterprise_security_group=True, + ip_stack="ipv4", + proxy_mode="ipvs", + deletion_protection=False, + addons=[ + { + "name": "gatekeeper", + }, + { + "name": "loongcollector", + }, + { + "name": "policy-template-controller", + }, + ], + operation_policy={ + "cluster_auto_upgrade": { + "enabled": False, + }, + }, + maintenance_window={ + "enable": False, + }) + default_kubernetes_policy_instance = alicloud.cs.KubernetesPolicyInstance("default", + cluster_id=create_cluster.id, + policy_name=policy_name, + action="deny", + namespaces=["test"], + parameters={ + "hostNetwork": "true", + "min": "20", + "max": "200", + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Container Service for Kubernetes (ACK) Policy Instance can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance example :: + ``` + + :param str resource_name: The name of the resource. + :param KubernetesPolicyInstanceArgs 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(KubernetesPolicyInstanceArgs, 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: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + policy_name: Optional[pulumi.Input[_builtins.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__ = KubernetesPolicyInstanceArgs.__new__(KubernetesPolicyInstanceArgs) + + __props__.__dict__["action"] = action + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["namespaces"] = namespaces + __props__.__dict__["parameters"] = parameters + if policy_name is None and not opts.urn: + raise TypeError("Missing required property 'policy_name'") + __props__.__dict__["policy_name"] = policy_name + __props__.__dict__["instance_name"] = None + super(KubernetesPolicyInstance, __self__).__init__( + 'alicloud:cs/kubernetesPolicyInstance:KubernetesPolicyInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + action: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + policy_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'KubernetesPolicyInstance': + """ + Get an existing KubernetesPolicyInstance 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[_builtins.str] action: Policy Governance Implementation Actions + :param pulumi.Input[_builtins.str] cluster_id: Target cluster ID + :param pulumi.Input[_builtins.str] instance_name: Rule Instance Name + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] namespaces: Limits the namespace of the policy implementation. Empty indicates all namespaces. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameters: The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + :param pulumi.Input[_builtins.str] policy_name: Policy Name + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KubernetesPolicyInstanceState.__new__(_KubernetesPolicyInstanceState) + + __props__.__dict__["action"] = action + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["namespaces"] = namespaces + __props__.__dict__["parameters"] = parameters + __props__.__dict__["policy_name"] = policy_name + return KubernetesPolicyInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def action(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Policy Governance Implementation Actions + """ + return pulumi.get(self, "action") + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[_builtins.str]: + """ + Target cluster ID + """ + return pulumi.get(self, "cluster_id") + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[_builtins.str]: + """ + Rule Instance Name + """ + return pulumi.get(self, "instance_name") + + @_builtins.property + @pulumi.getter + def namespaces(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + Limits the namespace of the policy implementation. Empty indicates all namespaces. + """ + return pulumi.get(self, "namespaces") + + @_builtins.property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + The parameter configuration of the current rule instance. For more information about the parameters supported by each policy rule, see [Container Security Policy Rule Base Description](https://www.alibabacloud.com/help/doc-detail/359819.html). + """ + return pulumi.get(self, "parameters") + + @_builtins.property + @pulumi.getter(name="policyName") + def policy_name(self) -> pulumi.Output[_builtins.str]: + """ + Policy Name + """ + return pulumi.get(self, "policy_name") + diff --git a/sdk/python/pulumi_alicloud/cs/managed_kubernetes.py b/sdk/python/pulumi_alicloud/cs/managed_kubernetes.py index c8242f8e57..2f11f290ed 100644 --- a/sdk/python/pulumi_alicloud/cs/managed_kubernetes.py +++ b/sdk/python/pulumi_alicloud/cs/managed_kubernetes.py @@ -2057,6 +2057,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -2436,6 +2438,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Kubernetes managed cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -2909,7 +2913,7 @@ def delete_options(self) -> pulumi.Output[Optional[Sequence['outputs.ManagedKube @_builtins.property @pulumi.getter(name="deletionProtection") - def deletion_protection(self) -> pulumi.Output[Optional[_builtins.bool]]: + def deletion_protection(self) -> pulumi.Output[_builtins.bool]: """ Whether to enable cluster deletion protection. """ diff --git a/sdk/python/pulumi_alicloud/cs/node_pool.py b/sdk/python/pulumi_alicloud/cs/node_pool.py index 1ef6bbd308..1c8ef54ae0 100644 --- a/sdk/python/pulumi_alicloud/cs/node_pool.py +++ b/sdk/python/pulumi_alicloud/cs/node_pool.py @@ -22,6 +22,7 @@ class NodePoolArgs: def __init__(__self__, *, cluster_id: pulumi.Input[_builtins.str], + auto_mode: Optional[pulumi.Input['NodePoolAutoModeArgs']] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, cis_enabled: Optional[pulumi.Input[_builtins.bool]] = None, @@ -37,6 +38,8 @@ def __init__(__self__, *, image_type: Optional[pulumi.Input[_builtins.str]] = None, install_cloud_monitor: Optional[pulumi.Input[_builtins.bool]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_metadata_options: Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']] = None, + instance_patterns: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]] = None, instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, internet_charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -99,6 +102,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a NodePool resource. :param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster. + :param pulumi.Input['NodePoolAutoModeArgs'] auto_mode: Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable automatic renewal for nodes in the node pool takes effect only when `instance_charge_type` is set to `PrePaid`. Default value: `false`. Valid values: :param pulumi.Input[_builtins.int] auto_renew_period: The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. :param pulumi.Input[_builtins.bool] cis_enabled: Whether enable worker node to support cis security reinforcement, its valid value `true` or `false`. Default to `false` and apply to AliyunLinux series. Use `security_hardening_os` instead. @@ -108,7 +112,11 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] deployment_set_id: The deployment set of node pool. Specify the deploymentSet to ensure that the nodes in the node pool can be distributed on different physical machines. :param pulumi.Input[_builtins.str] desired_size: Number of expected nodes in the node pool. :param pulumi.Input['NodePoolEfloNodeGroupArgs'] eflo_node_group: Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] force_delete: Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. :param pulumi.Input[_builtins.bool] format_disk: After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. :param pulumi.Input[_builtins.str] image_id: The custom image ID. The system-provided image is used by default. :param pulumi.Input[_builtins.str] image_type: The operating system image type and the `platform` parameter can be selected from the following values: @@ -122,9 +130,12 @@ def __init__(__self__, *, - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. :param pulumi.Input[_builtins.bool] install_cloud_monitor: Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: :param pulumi.Input[_builtins.str] instance_charge_type: Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `period_unit`, `auto_renew` and `auto_renew_period` are required. + :param pulumi.Input['NodePoolInstanceMetadataOptionsArgs'] instance_metadata_options: ECS instance metadata access configuration. See `instance_metadata_options` below. + :param pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]] instance_patterns: Instance property configuration. See `instance_patterns` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instances: The instance list. Add existing nodes under the same cluster VPC to the node pool. :param pulumi.Input[_builtins.str] internet_charge_type: The billing method for network usage. Valid values `PayByBandwidth` and `PayByTraffic`. Conflict with `eip_internet_charge_type`, EIP and public network IP can only choose one. @@ -160,7 +171,6 @@ def __init__(__self__, *, > **NOTE:** This parameter is only supported for ACK-managed clusters of 1.22 or later versions. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rds_instances: The list of RDS instances. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input['NodePoolRollingPolicyArgs'] rolling_policy: Rotary configuration. See `rolling_policy` below. :param pulumi.Input[_builtins.str] runtime_name: The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). :param pulumi.Input[_builtins.str] runtime_version: The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. :param pulumi.Input['NodePoolScalingConfigArgs'] scaling_config: Automatic scaling configuration. See `scaling_config` below. @@ -203,11 +213,12 @@ def __init__(__self__, *, -'ess': common node pool (including hosting function and auto scaling function). -'lingjun': Lingjun node pool. :param pulumi.Input[_builtins.bool] unschedulable: Whether the node after expansion can be scheduled. - :param pulumi.Input[_builtins.bool] update_nodes: Synchronously update node labels and taints. :param pulumi.Input[_builtins.str] user_data: Node custom data, base64-encoded. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vswitches used by node pool workers. """ pulumi.set(__self__, "cluster_id", cluster_id) + if auto_mode is not None: + pulumi.set(__self__, "auto_mode", auto_mode) if auto_renew is not None: pulumi.set(__self__, "auto_renew", auto_renew) if auto_renew_period is not None: @@ -241,6 +252,10 @@ def __init__(__self__, *, pulumi.set(__self__, "install_cloud_monitor", install_cloud_monitor) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if instance_metadata_options is not None: + pulumi.set(__self__, "instance_metadata_options", instance_metadata_options) + if instance_patterns is not None: + pulumi.set(__self__, "instance_patterns", instance_patterns) if instance_types is not None: pulumi.set(__self__, "instance_types", instance_types) if instances is not None: @@ -384,6 +399,18 @@ def cluster_id(self) -> pulumi.Input[_builtins.str]: def cluster_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "cluster_id", value) + @_builtins.property + @pulumi.getter(name="autoMode") + def auto_mode(self) -> Optional[pulumi.Input['NodePoolAutoModeArgs']]: + """ + Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. + """ + return pulumi.get(self, "auto_mode") + + @auto_mode.setter + def auto_mode(self, value: Optional[pulumi.Input['NodePoolAutoModeArgs']]): + pulumi.set(self, "auto_mode", value) + @_builtins.property @pulumi.getter(name="autoRenew") def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -486,6 +513,8 @@ def desired_size(self, value: Optional[pulumi.Input[_builtins.str]]): def eflo_node_group(self) -> Optional[pulumi.Input['NodePoolEfloNodeGroupArgs']]: """ Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "eflo_node_group") @@ -498,6 +527,8 @@ def eflo_node_group(self, value: Optional[pulumi.Input['NodePoolEfloNodeGroupArg def force_delete(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. """ return pulumi.get(self, "force_delete") @@ -544,7 +575,8 @@ def image_type(self) -> Optional[pulumi.Input[_builtins.str]]: - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. """ return pulumi.get(self, "image_type") @@ -576,6 +608,30 @@ def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "instance_charge_type", value) + @_builtins.property + @pulumi.getter(name="instanceMetadataOptions") + def instance_metadata_options(self) -> Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']]: + """ + ECS instance metadata access configuration. See `instance_metadata_options` below. + """ + return pulumi.get(self, "instance_metadata_options") + + @instance_metadata_options.setter + def instance_metadata_options(self, value: Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']]): + pulumi.set(self, "instance_metadata_options", value) + + @_builtins.property + @pulumi.getter(name="instancePatterns") + def instance_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]]: + """ + Instance property configuration. See `instance_patterns` below. + """ + return pulumi.get(self, "instance_patterns") + + @instance_patterns.setter + def instance_patterns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]]): + pulumi.set(self, "instance_patterns", value) + @_builtins.property @pulumi.getter(name="instanceTypes") def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: @@ -925,9 +981,6 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="rollingPolicy") def rolling_policy(self) -> Optional[pulumi.Input['NodePoolRollingPolicyArgs']]: - """ - Rotary configuration. See `rolling_policy` below. - """ return pulumi.get(self, "rolling_policy") @rolling_policy.setter @@ -1277,9 +1330,6 @@ def unschedulable(self, value: Optional[pulumi.Input[_builtins.bool]]): @_builtins.property @pulumi.getter(name="updateNodes") def update_nodes(self) -> Optional[pulumi.Input[_builtins.bool]]: - """ - Synchronously update node labels and taints. - """ return pulumi.get(self, "update_nodes") @update_nodes.setter @@ -1314,6 +1364,7 @@ def vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builti @pulumi.input_type class _NodePoolState: def __init__(__self__, *, + auto_mode: Optional[pulumi.Input['NodePoolAutoModeArgs']] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, cis_enabled: Optional[pulumi.Input[_builtins.bool]] = None, @@ -1330,6 +1381,8 @@ def __init__(__self__, *, image_type: Optional[pulumi.Input[_builtins.str]] = None, install_cloud_monitor: Optional[pulumi.Input[_builtins.bool]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_metadata_options: Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']] = None, + instance_patterns: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]] = None, instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, internet_charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1393,6 +1446,7 @@ def __init__(__self__, *, vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): """ Input properties used for looking up and filtering NodePool resources. + :param pulumi.Input['NodePoolAutoModeArgs'] auto_mode: Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable automatic renewal for nodes in the node pool takes effect only when `instance_charge_type` is set to `PrePaid`. Default value: `false`. Valid values: :param pulumi.Input[_builtins.int] auto_renew_period: The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. :param pulumi.Input[_builtins.bool] cis_enabled: Whether enable worker node to support cis security reinforcement, its valid value `true` or `false`. Default to `false` and apply to AliyunLinux series. Use `security_hardening_os` instead. @@ -1403,7 +1457,11 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] deployment_set_id: The deployment set of node pool. Specify the deploymentSet to ensure that the nodes in the node pool can be distributed on different physical machines. :param pulumi.Input[_builtins.str] desired_size: Number of expected nodes in the node pool. :param pulumi.Input['NodePoolEfloNodeGroupArgs'] eflo_node_group: Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] force_delete: Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. :param pulumi.Input[_builtins.bool] format_disk: After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. :param pulumi.Input[_builtins.str] image_id: The custom image ID. The system-provided image is used by default. :param pulumi.Input[_builtins.str] image_type: The operating system image type and the `platform` parameter can be selected from the following values: @@ -1417,9 +1475,12 @@ def __init__(__self__, *, - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. :param pulumi.Input[_builtins.bool] install_cloud_monitor: Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: :param pulumi.Input[_builtins.str] instance_charge_type: Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `period_unit`, `auto_renew` and `auto_renew_period` are required. + :param pulumi.Input['NodePoolInstanceMetadataOptionsArgs'] instance_metadata_options: ECS instance metadata access configuration. See `instance_metadata_options` below. + :param pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]] instance_patterns: Instance property configuration. See `instance_patterns` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instances: The instance list. Add existing nodes under the same cluster VPC to the node pool. :param pulumi.Input[_builtins.str] internet_charge_type: The billing method for network usage. Valid values `PayByBandwidth` and `PayByTraffic`. Conflict with `eip_internet_charge_type`, EIP and public network IP can only choose one. @@ -1456,7 +1517,6 @@ def __init__(__self__, *, > **NOTE:** This parameter is only supported for ACK-managed clusters of 1.22 or later versions. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rds_instances: The list of RDS instances. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input['NodePoolRollingPolicyArgs'] rolling_policy: Rotary configuration. See `rolling_policy` below. :param pulumi.Input[_builtins.str] runtime_name: The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). :param pulumi.Input[_builtins.str] runtime_version: The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. :param pulumi.Input['NodePoolScalingConfigArgs'] scaling_config: Automatic scaling configuration. See `scaling_config` below. @@ -1500,10 +1560,11 @@ def __init__(__self__, *, -'ess': common node pool (including hosting function and auto scaling function). -'lingjun': Lingjun node pool. :param pulumi.Input[_builtins.bool] unschedulable: Whether the node after expansion can be scheduled. - :param pulumi.Input[_builtins.bool] update_nodes: Synchronously update node labels and taints. :param pulumi.Input[_builtins.str] user_data: Node custom data, base64-encoded. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vswitches used by node pool workers. """ + if auto_mode is not None: + pulumi.set(__self__, "auto_mode", auto_mode) if auto_renew is not None: pulumi.set(__self__, "auto_renew", auto_renew) if auto_renew_period is not None: @@ -1539,6 +1600,10 @@ def __init__(__self__, *, pulumi.set(__self__, "install_cloud_monitor", install_cloud_monitor) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if instance_metadata_options is not None: + pulumi.set(__self__, "instance_metadata_options", instance_metadata_options) + if instance_patterns is not None: + pulumi.set(__self__, "instance_patterns", instance_patterns) if instance_types is not None: pulumi.set(__self__, "instance_types", instance_types) if instances is not None: @@ -1674,6 +1739,18 @@ def __init__(__self__, *, if vswitch_ids is not None: pulumi.set(__self__, "vswitch_ids", vswitch_ids) + @_builtins.property + @pulumi.getter(name="autoMode") + def auto_mode(self) -> Optional[pulumi.Input['NodePoolAutoModeArgs']]: + """ + Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. + """ + return pulumi.get(self, "auto_mode") + + @auto_mode.setter + def auto_mode(self, value: Optional[pulumi.Input['NodePoolAutoModeArgs']]): + pulumi.set(self, "auto_mode", value) + @_builtins.property @pulumi.getter(name="autoRenew") def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -1788,6 +1865,8 @@ def desired_size(self, value: Optional[pulumi.Input[_builtins.str]]): def eflo_node_group(self) -> Optional[pulumi.Input['NodePoolEfloNodeGroupArgs']]: """ Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "eflo_node_group") @@ -1800,6 +1879,8 @@ def eflo_node_group(self, value: Optional[pulumi.Input['NodePoolEfloNodeGroupArg def force_delete(self) -> Optional[pulumi.Input[_builtins.bool]]: """ Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. """ return pulumi.get(self, "force_delete") @@ -1846,7 +1927,8 @@ def image_type(self) -> Optional[pulumi.Input[_builtins.str]]: - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. """ return pulumi.get(self, "image_type") @@ -1878,6 +1960,30 @@ def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "instance_charge_type", value) + @_builtins.property + @pulumi.getter(name="instanceMetadataOptions") + def instance_metadata_options(self) -> Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']]: + """ + ECS instance metadata access configuration. See `instance_metadata_options` below. + """ + return pulumi.get(self, "instance_metadata_options") + + @instance_metadata_options.setter + def instance_metadata_options(self, value: Optional[pulumi.Input['NodePoolInstanceMetadataOptionsArgs']]): + pulumi.set(self, "instance_metadata_options", value) + + @_builtins.property + @pulumi.getter(name="instancePatterns") + def instance_patterns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]]: + """ + Instance property configuration. See `instance_patterns` below. + """ + return pulumi.get(self, "instance_patterns") + + @instance_patterns.setter + def instance_patterns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolInstancePatternArgs']]]]): + pulumi.set(self, "instance_patterns", value) + @_builtins.property @pulumi.getter(name="instanceTypes") def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: @@ -2239,9 +2345,6 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="rollingPolicy") def rolling_policy(self) -> Optional[pulumi.Input['NodePoolRollingPolicyArgs']]: - """ - Rotary configuration. See `rolling_policy` below. - """ return pulumi.get(self, "rolling_policy") @rolling_policy.setter @@ -2603,9 +2706,6 @@ def unschedulable(self, value: Optional[pulumi.Input[_builtins.bool]]): @_builtins.property @pulumi.getter(name="updateNodes") def update_nodes(self) -> Optional[pulumi.Input[_builtins.bool]]: - """ - Synchronously update node labels and taints. - """ return pulumi.get(self, "update_nodes") @update_nodes.setter @@ -2643,6 +2743,7 @@ class NodePool(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_mode: Optional[pulumi.Input[Union['NodePoolAutoModeArgs', 'NodePoolAutoModeArgsDict']]] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, cis_enabled: Optional[pulumi.Input[_builtins.bool]] = None, @@ -2659,6 +2760,8 @@ def __init__(__self__, image_type: Optional[pulumi.Input[_builtins.str]] = None, install_cloud_monitor: Optional[pulumi.Input[_builtins.bool]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_metadata_options: Optional[pulumi.Input[Union['NodePoolInstanceMetadataOptionsArgs', 'NodePoolInstanceMetadataOptionsArgsDict']]] = None, + instance_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolInstancePatternArgs', 'NodePoolInstancePatternArgsDict']]]]] = None, instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, internet_charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -2720,218 +2823,6 @@ def __init__(__self__, vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): """ - ## Example Usage - - Basic Usage - - ```python - import pulumi - import pulumi_alicloud as alicloud - import pulumi_random as random - import pulumi_std as std - - default = random.index.Integer("default", - max=99999, - min=10000) - config = pulumi.Config() - name = config.get("name") - if name is None: - name = "terraform-example" - enhanced = alicloud.vpc.get_enhanced_nat_available_zones() - cloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id, - cpu_core_count=4, - memory_size=8, - kubernetes_node_role="Worker", - system_disk_category="cloud_efficiency") - default_network = alicloud.vpc.Network("default", - vpc_name=name, - cidr_block="10.4.0.0/16") - default_switch = alicloud.vpc.Switch("default", - vswitch_name=name, - cidr_block="10.4.0.0/24", - vpc_id=default_network.id, - zone_id=enhanced.zones[0].zone_id) - default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default", - name_prefix=f"terraform-example-{default['result']}", - cluster_spec="ack.pro.small", - worker_vswitch_ids=[default_switch.id], - new_nat_gateway=True, - pod_cidr=std.cidrsubnet(input="10.0.0.0/8", - newbits=8, - netnum=36).result, - service_cidr=std.cidrsubnet(input="172.16.0.0/16", - newbits=4, - netnum=7).result, - slb_internet_enabled=True, - enable_rrsa=True) - default_key_pair = alicloud.ecs.KeyPair("default", key_pair_name=f"terraform-example-{default['result']}") - default_node_pool = alicloud.cs.NodePool("default", - node_pool_name=name, - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - labels=[ - { - "key": "test1", - "value": "nodepool", - }, - { - "key": "test2", - "value": "nodepool", - }, - ], - taints=[ - { - "key": "tf", - "effect": "NoSchedule", - "value": "example", - }, - { - "key": "tf2", - "effect": "NoSchedule", - "value": "example2", - }, - ]) - #The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows. - desired_size = alicloud.cs.NodePool("desired_size", - node_pool_name="desired_size", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="0") - # Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`. - maintenance = alicloud.cs.NodePool("maintenance", - node_pool_name="maintenance", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="1", - management={ - "enable": True, - "auto_repair": True, - "auto_repair_policy": { - "restart_node": True, - }, - "auto_upgrade": True, - "auto_upgrade_policy": { - "auto_upgrade_kubelet": True, - }, - "auto_vul_fix": True, - "auto_vul_fix_policy": { - "vul_level": "asap", - "restart_node": True, - }, - "max_unavailable": 1, - }) - #Create a node pool with spot instance. - spot_instance = alicloud.cs.NodePool("spot_instance", - node_pool_name="spot_instance", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[ - cloud_efficiency.instance_types[0].id, - cloud_efficiency.instance_types[1].id, - ], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="1", - spot_strategy="SpotWithPriceLimit", - spot_price_limits=[ - { - "instance_type": cloud_efficiency.instance_types[0].id, - "price_limit": "0.70", - }, - { - "instance_type": cloud_efficiency.instance_types[1].id, - "price_limit": "0.72", - }, - ]) - #Use Spot instances to create a node pool with auto-scaling enabled - spot_auto_scaling = alicloud.cs.NodePool("spot_auto_scaling", - node_pool_name="spot_auto_scaling", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - scaling_config={ - "min_size": 1, - "max_size": 10, - "type": "spot", - }, - spot_strategy="SpotWithPriceLimit", - spot_price_limits=[{ - "instance_type": cloud_efficiency.instance_types[0].id, - "price_limit": "0.70", - }]) - #Create a `PrePaid` node pool. - prepaid_node = alicloud.cs.NodePool("prepaid_node", - node_pool_name="prepaid_node", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - instance_charge_type="PrePaid", - period=1, - period_unit="Month", - auto_renew=True, - auto_renew_period=1, - install_cloud_monitor=True) - ##Create a node pool with customized kubelet parameters - customized_kubelet = alicloud.cs.NodePool("customized_kubelet", - node_pool_name="customized_kubelet", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - instance_charge_type="PostPaid", - desired_size="0", - kubelet_configuration={ - "registry_pull_qps": "10", - "registry_burst": "5", - "event_record_qps": "10", - "event_burst": "5", - "serialize_image_pulls": "true", - "eviction_hard": { - "memory.available": "1024Mi", - "nodefs.available": "10%", - "nodefs.inodesFree": "5%", - "imagefs.available": "10%", - }, - "system_reserved": { - "cpu": "1", - "memory": "1Gi", - "ephemeral-storage": "10Gi", - }, - "kube_reserved": { - "cpu": "500m", - "memory": "1Gi", - }, - "container_log_max_size": "200Mi", - "container_log_max_files": "3", - "max_pods": "100", - "read_only_port": "0", - "allowed_unsafe_sysctls": ["net.ipv4.route.min_pmtu"], - }, - rolling_policy={ - "max_parallelism": 1, - }) - ``` - ## Import Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -2942,6 +2833,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['NodePoolAutoModeArgs', 'NodePoolAutoModeArgsDict']] auto_mode: Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable automatic renewal for nodes in the node pool takes effect only when `instance_charge_type` is set to `PrePaid`. Default value: `false`. Valid values: :param pulumi.Input[_builtins.int] auto_renew_period: The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. :param pulumi.Input[_builtins.bool] cis_enabled: Whether enable worker node to support cis security reinforcement, its valid value `true` or `false`. Default to `false` and apply to AliyunLinux series. Use `security_hardening_os` instead. @@ -2952,7 +2844,11 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] deployment_set_id: The deployment set of node pool. Specify the deploymentSet to ensure that the nodes in the node pool can be distributed on different physical machines. :param pulumi.Input[_builtins.str] desired_size: Number of expected nodes in the node pool. :param pulumi.Input[Union['NodePoolEfloNodeGroupArgs', 'NodePoolEfloNodeGroupArgsDict']] eflo_node_group: Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] force_delete: Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. :param pulumi.Input[_builtins.bool] format_disk: After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. :param pulumi.Input[_builtins.str] image_id: The custom image ID. The system-provided image is used by default. :param pulumi.Input[_builtins.str] image_type: The operating system image type and the `platform` parameter can be selected from the following values: @@ -2966,9 +2862,12 @@ def __init__(__self__, - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. :param pulumi.Input[_builtins.bool] install_cloud_monitor: Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: :param pulumi.Input[_builtins.str] instance_charge_type: Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `period_unit`, `auto_renew` and `auto_renew_period` are required. + :param pulumi.Input[Union['NodePoolInstanceMetadataOptionsArgs', 'NodePoolInstanceMetadataOptionsArgsDict']] instance_metadata_options: ECS instance metadata access configuration. See `instance_metadata_options` below. + :param pulumi.Input[Sequence[pulumi.Input[Union['NodePoolInstancePatternArgs', 'NodePoolInstancePatternArgsDict']]]] instance_patterns: Instance property configuration. See `instance_patterns` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instances: The instance list. Add existing nodes under the same cluster VPC to the node pool. :param pulumi.Input[_builtins.str] internet_charge_type: The billing method for network usage. Valid values `PayByBandwidth` and `PayByTraffic`. Conflict with `eip_internet_charge_type`, EIP and public network IP can only choose one. @@ -3004,7 +2903,6 @@ def __init__(__self__, > **NOTE:** This parameter is only supported for ACK-managed clusters of 1.22 or later versions. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rds_instances: The list of RDS instances. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[Union['NodePoolRollingPolicyArgs', 'NodePoolRollingPolicyArgsDict']] rolling_policy: Rotary configuration. See `rolling_policy` below. :param pulumi.Input[_builtins.str] runtime_name: The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). :param pulumi.Input[_builtins.str] runtime_version: The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. :param pulumi.Input[Union['NodePoolScalingConfigArgs', 'NodePoolScalingConfigArgsDict']] scaling_config: Automatic scaling configuration. See `scaling_config` below. @@ -3047,7 +2945,6 @@ def __init__(__self__, -'ess': common node pool (including hosting function and auto scaling function). -'lingjun': Lingjun node pool. :param pulumi.Input[_builtins.bool] unschedulable: Whether the node after expansion can be scheduled. - :param pulumi.Input[_builtins.bool] update_nodes: Synchronously update node labels and taints. :param pulumi.Input[_builtins.str] user_data: Node custom data, base64-encoded. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vswitches used by node pool workers. """ @@ -3058,218 +2955,6 @@ def __init__(__self__, args: NodePoolArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - ## Example Usage - - Basic Usage - - ```python - import pulumi - import pulumi_alicloud as alicloud - import pulumi_random as random - import pulumi_std as std - - default = random.index.Integer("default", - max=99999, - min=10000) - config = pulumi.Config() - name = config.get("name") - if name is None: - name = "terraform-example" - enhanced = alicloud.vpc.get_enhanced_nat_available_zones() - cloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id, - cpu_core_count=4, - memory_size=8, - kubernetes_node_role="Worker", - system_disk_category="cloud_efficiency") - default_network = alicloud.vpc.Network("default", - vpc_name=name, - cidr_block="10.4.0.0/16") - default_switch = alicloud.vpc.Switch("default", - vswitch_name=name, - cidr_block="10.4.0.0/24", - vpc_id=default_network.id, - zone_id=enhanced.zones[0].zone_id) - default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default", - name_prefix=f"terraform-example-{default['result']}", - cluster_spec="ack.pro.small", - worker_vswitch_ids=[default_switch.id], - new_nat_gateway=True, - pod_cidr=std.cidrsubnet(input="10.0.0.0/8", - newbits=8, - netnum=36).result, - service_cidr=std.cidrsubnet(input="172.16.0.0/16", - newbits=4, - netnum=7).result, - slb_internet_enabled=True, - enable_rrsa=True) - default_key_pair = alicloud.ecs.KeyPair("default", key_pair_name=f"terraform-example-{default['result']}") - default_node_pool = alicloud.cs.NodePool("default", - node_pool_name=name, - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - labels=[ - { - "key": "test1", - "value": "nodepool", - }, - { - "key": "test2", - "value": "nodepool", - }, - ], - taints=[ - { - "key": "tf", - "effect": "NoSchedule", - "value": "example", - }, - { - "key": "tf2", - "effect": "NoSchedule", - "value": "example2", - }, - ]) - #The parameter `node_count` is deprecated from version 1.158.0. Please use the new parameter `desired_size` instead, you can update it as follows. - desired_size = alicloud.cs.NodePool("desired_size", - node_pool_name="desired_size", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="0") - # Create a managed node pool. If you need to enable maintenance window, you need to set the maintenance window in `alicloud_cs_managed_kubernetes`. - maintenance = alicloud.cs.NodePool("maintenance", - node_pool_name="maintenance", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="1", - management={ - "enable": True, - "auto_repair": True, - "auto_repair_policy": { - "restart_node": True, - }, - "auto_upgrade": True, - "auto_upgrade_policy": { - "auto_upgrade_kubelet": True, - }, - "auto_vul_fix": True, - "auto_vul_fix_policy": { - "vul_level": "asap", - "restart_node": True, - }, - "max_unavailable": 1, - }) - #Create a node pool with spot instance. - spot_instance = alicloud.cs.NodePool("spot_instance", - node_pool_name="spot_instance", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[ - cloud_efficiency.instance_types[0].id, - cloud_efficiency.instance_types[1].id, - ], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - desired_size="1", - spot_strategy="SpotWithPriceLimit", - spot_price_limits=[ - { - "instance_type": cloud_efficiency.instance_types[0].id, - "price_limit": "0.70", - }, - { - "instance_type": cloud_efficiency.instance_types[1].id, - "price_limit": "0.72", - }, - ]) - #Use Spot instances to create a node pool with auto-scaling enabled - spot_auto_scaling = alicloud.cs.NodePool("spot_auto_scaling", - node_pool_name="spot_auto_scaling", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - scaling_config={ - "min_size": 1, - "max_size": 10, - "type": "spot", - }, - spot_strategy="SpotWithPriceLimit", - spot_price_limits=[{ - "instance_type": cloud_efficiency.instance_types[0].id, - "price_limit": "0.70", - }]) - #Create a `PrePaid` node pool. - prepaid_node = alicloud.cs.NodePool("prepaid_node", - node_pool_name="prepaid_node", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - key_name=default_key_pair.key_pair_name, - instance_charge_type="PrePaid", - period=1, - period_unit="Month", - auto_renew=True, - auto_renew_period=1, - install_cloud_monitor=True) - ##Create a node pool with customized kubelet parameters - customized_kubelet = alicloud.cs.NodePool("customized_kubelet", - node_pool_name="customized_kubelet", - cluster_id=default_managed_kubernetes.id, - vswitch_ids=[default_switch.id], - instance_types=[cloud_efficiency.instance_types[0].id], - system_disk_category="cloud_efficiency", - system_disk_size=40, - instance_charge_type="PostPaid", - desired_size="0", - kubelet_configuration={ - "registry_pull_qps": "10", - "registry_burst": "5", - "event_record_qps": "10", - "event_burst": "5", - "serialize_image_pulls": "true", - "eviction_hard": { - "memory.available": "1024Mi", - "nodefs.available": "10%", - "nodefs.inodesFree": "5%", - "imagefs.available": "10%", - }, - "system_reserved": { - "cpu": "1", - "memory": "1Gi", - "ephemeral-storage": "10Gi", - }, - "kube_reserved": { - "cpu": "500m", - "memory": "1Gi", - }, - "container_log_max_size": "200Mi", - "container_log_max_files": "3", - "max_pods": "100", - "read_only_port": "0", - "allowed_unsafe_sysctls": ["net.ipv4.route.min_pmtu"], - }, - rolling_policy={ - "max_parallelism": 1, - }) - ``` - ## Import Container Service for Kubernetes (ACK) Nodepool can be imported using the id, e.g. @@ -3293,6 +2978,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_mode: Optional[pulumi.Input[Union['NodePoolAutoModeArgs', 'NodePoolAutoModeArgsDict']]] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, cis_enabled: Optional[pulumi.Input[_builtins.bool]] = None, @@ -3309,6 +2995,8 @@ def _internal_init(__self__, image_type: Optional[pulumi.Input[_builtins.str]] = None, install_cloud_monitor: Optional[pulumi.Input[_builtins.bool]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_metadata_options: Optional[pulumi.Input[Union['NodePoolInstanceMetadataOptionsArgs', 'NodePoolInstanceMetadataOptionsArgsDict']]] = None, + instance_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolInstancePatternArgs', 'NodePoolInstancePatternArgsDict']]]]] = None, instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, internet_charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -3377,6 +3065,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__["auto_mode"] = auto_mode __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["auto_renew_period"] = auto_renew_period __props__.__dict__["cis_enabled"] = cis_enabled @@ -3395,6 +3084,8 @@ def _internal_init(__self__, __props__.__dict__["image_type"] = image_type __props__.__dict__["install_cloud_monitor"] = install_cloud_monitor __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["instance_metadata_options"] = instance_metadata_options + __props__.__dict__["instance_patterns"] = instance_patterns __props__.__dict__["instance_types"] = instance_types __props__.__dict__["instances"] = instances __props__.__dict__["internet_charge_type"] = internet_charge_type @@ -3468,6 +3159,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + auto_mode: Optional[pulumi.Input[Union['NodePoolAutoModeArgs', 'NodePoolAutoModeArgsDict']]] = None, auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, cis_enabled: Optional[pulumi.Input[_builtins.bool]] = None, @@ -3484,6 +3176,8 @@ def get(resource_name: str, image_type: Optional[pulumi.Input[_builtins.str]] = None, install_cloud_monitor: Optional[pulumi.Input[_builtins.bool]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_metadata_options: Optional[pulumi.Input[Union['NodePoolInstanceMetadataOptionsArgs', 'NodePoolInstanceMetadataOptionsArgsDict']]] = None, + instance_patterns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolInstancePatternArgs', 'NodePoolInstancePatternArgsDict']]]]] = None, instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, internet_charge_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -3552,6 +3246,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[Union['NodePoolAutoModeArgs', 'NodePoolAutoModeArgsDict']] auto_mode: Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. :param pulumi.Input[_builtins.bool] auto_renew: Whether to enable automatic renewal for nodes in the node pool takes effect only when `instance_charge_type` is set to `PrePaid`. Default value: `false`. Valid values: :param pulumi.Input[_builtins.int] auto_renew_period: The automatic renewal period of nodes in the node pool takes effect only when you select Prepaid and Automatic Renewal, and is a required value. When `PeriodUnit = Month`, the value range is {1, 2, 3, 6, 12}. Default value: 1. :param pulumi.Input[_builtins.bool] cis_enabled: Whether enable worker node to support cis security reinforcement, its valid value `true` or `false`. Default to `false` and apply to AliyunLinux series. Use `security_hardening_os` instead. @@ -3562,7 +3257,11 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] deployment_set_id: The deployment set of node pool. Specify the deploymentSet to ensure that the nodes in the node pool can be distributed on different physical machines. :param pulumi.Input[_builtins.str] desired_size: Number of expected nodes in the node pool. :param pulumi.Input[Union['NodePoolEfloNodeGroupArgs', 'NodePoolEfloNodeGroupArgsDict']] eflo_node_group: Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] force_delete: Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. :param pulumi.Input[_builtins.bool] format_disk: After you select this check box, if data disks have been attached to the specified ECS instances and the file system of the last data disk is uninitialized, the system automatically formats the last data disk to ext4 and mounts the data disk to /var/lib/docker and /var/lib/kubelet. The original data on the disk will be cleared. Make sure that you back up data in advance. If no data disk is mounted on the ECS instance, no new data disk will be purchased. Default is `false`. :param pulumi.Input[_builtins.str] image_id: The custom image ID. The system-provided image is used by default. :param pulumi.Input[_builtins.str] image_type: The operating system image type and the `platform` parameter can be selected from the following values: @@ -3576,9 +3275,12 @@ def get(resource_name: str, - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. :param pulumi.Input[_builtins.bool] install_cloud_monitor: Whether to install cloud monitoring on the ECS node. After installation, you can view the monitoring information of the created ECS instance in the cloud monitoring console and recommend enable it. Default value: `false`. Valid values: :param pulumi.Input[_builtins.str] instance_charge_type: Node payment type. Valid values: `PostPaid`, `PrePaid`, default is `PostPaid`. If value is `PrePaid`, the arguments `period`, `period_unit`, `auto_renew` and `auto_renew_period` are required. + :param pulumi.Input[Union['NodePoolInstanceMetadataOptionsArgs', 'NodePoolInstanceMetadataOptionsArgsDict']] instance_metadata_options: ECS instance metadata access configuration. See `instance_metadata_options` below. + :param pulumi.Input[Sequence[pulumi.Input[Union['NodePoolInstancePatternArgs', 'NodePoolInstancePatternArgsDict']]]] instance_patterns: Instance property configuration. See `instance_patterns` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: In the node instance specification list, you can select multiple instance specifications as alternatives. When each node is created, it will try to purchase from the first specification until it is created successfully. The final purchased instance specifications may vary with inventory changes. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instances: The instance list. Add existing nodes under the same cluster VPC to the node pool. :param pulumi.Input[_builtins.str] internet_charge_type: The billing method for network usage. Valid values `PayByBandwidth` and `PayByTraffic`. Conflict with `eip_internet_charge_type`, EIP and public network IP can only choose one. @@ -3615,7 +3317,6 @@ def get(resource_name: str, > **NOTE:** This parameter is only supported for ACK-managed clusters of 1.22 or later versions. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rds_instances: The list of RDS instances. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[Union['NodePoolRollingPolicyArgs', 'NodePoolRollingPolicyArgsDict']] rolling_policy: Rotary configuration. See `rolling_policy` below. :param pulumi.Input[_builtins.str] runtime_name: The runtime name of containers. If not set, the cluster runtime will be used as the node pool runtime. If you select another container runtime, see [Comparison of Docker, containerd, and Sandboxed-Container](https://www.alibabacloud.com/help/doc-detail/160313.htm). :param pulumi.Input[_builtins.str] runtime_version: The runtime version of containers. If not set, the cluster runtime will be used as the node pool runtime. :param pulumi.Input[Union['NodePoolScalingConfigArgs', 'NodePoolScalingConfigArgsDict']] scaling_config: Automatic scaling configuration. See `scaling_config` below. @@ -3659,7 +3360,6 @@ def get(resource_name: str, -'ess': common node pool (including hosting function and auto scaling function). -'lingjun': Lingjun node pool. :param pulumi.Input[_builtins.bool] unschedulable: Whether the node after expansion can be scheduled. - :param pulumi.Input[_builtins.bool] update_nodes: Synchronously update node labels and taints. :param pulumi.Input[_builtins.str] user_data: Node custom data, base64-encoded. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vswitches used by node pool workers. """ @@ -3667,6 +3367,7 @@ def get(resource_name: str, __props__ = _NodePoolState.__new__(_NodePoolState) + __props__.__dict__["auto_mode"] = auto_mode __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["auto_renew_period"] = auto_renew_period __props__.__dict__["cis_enabled"] = cis_enabled @@ -3683,6 +3384,8 @@ def get(resource_name: str, __props__.__dict__["image_type"] = image_type __props__.__dict__["install_cloud_monitor"] = install_cloud_monitor __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["instance_metadata_options"] = instance_metadata_options + __props__.__dict__["instance_patterns"] = instance_patterns __props__.__dict__["instance_types"] = instance_types __props__.__dict__["instances"] = instances __props__.__dict__["internet_charge_type"] = internet_charge_type @@ -3746,6 +3449,14 @@ def get(resource_name: str, __props__.__dict__["vswitch_ids"] = vswitch_ids return NodePool(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="autoMode") + def auto_mode(self) -> pulumi.Output['outputs.NodePoolAutoMode']: + """ + Whether to enable auto mode. When enabled, the system will automatically manage the node pool with optimized default configurations. **Note:** When `auto_mode` is enabled, many parameters will be automatically set to default values and cannot be modified. See `auto_mode.enable` below for details. See `auto_mode` below. + """ + return pulumi.get(self, "auto_mode") + @_builtins.property @pulumi.getter(name="autoRenew") def auto_renew(self) -> pulumi.Output[Optional[_builtins.bool]]: @@ -3824,6 +3535,8 @@ def desired_size(self) -> pulumi.Output[Optional[_builtins.str]]: def eflo_node_group(self) -> pulumi.Output[Optional['outputs.NodePoolEfloNodeGroup']]: """ Lingjun node pool configuration. See `eflo_node_group` below. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "eflo_node_group") @@ -3832,6 +3545,8 @@ def eflo_node_group(self) -> pulumi.Output[Optional['outputs.NodePoolEfloNodeGro def force_delete(self) -> pulumi.Output[Optional[_builtins.bool]]: """ Whether to force deletion. + + > **NOTE:** This parameter only takes effect when deletion is triggered. """ return pulumi.get(self, "force_delete") @@ -3866,7 +3581,8 @@ def image_type(self) -> pulumi.Output[_builtins.str]: - `ContainerOS` : container-optimized image. - `Ubuntu`: Ubuntu image. - `AliyunLinux3ContainerOptimized`: Alinux3 container-optimized image. - - `Custom`: Custom image. + - `Custom`:Custom image. + - `AliyunLinux4ContainerOptimized`:Alinux4 container-optimized image. """ return pulumi.get(self, "image_type") @@ -3886,6 +3602,22 @@ def instance_charge_type(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "instance_charge_type") + @_builtins.property + @pulumi.getter(name="instanceMetadataOptions") + def instance_metadata_options(self) -> pulumi.Output['outputs.NodePoolInstanceMetadataOptions']: + """ + ECS instance metadata access configuration. See `instance_metadata_options` below. + """ + return pulumi.get(self, "instance_metadata_options") + + @_builtins.property + @pulumi.getter(name="instancePatterns") + def instance_patterns(self) -> pulumi.Output[Optional[Sequence['outputs.NodePoolInstancePattern']]]: + """ + Instance property configuration. See `instance_patterns` below. + """ + return pulumi.get(self, "instance_patterns") + @_builtins.property @pulumi.getter(name="instanceTypes") def instance_types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: @@ -4131,9 +3863,6 @@ def resource_group_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="rollingPolicy") def rolling_policy(self) -> pulumi.Output[Optional['outputs.NodePoolRollingPolicy']]: - """ - Rotary configuration. See `rolling_policy` below. - """ return pulumi.get(self, "rolling_policy") @_builtins.property @@ -4379,9 +4108,6 @@ def unschedulable(self) -> pulumi.Output[Optional[_builtins.bool]]: @_builtins.property @pulumi.getter(name="updateNodes") def update_nodes(self) -> pulumi.Output[Optional[_builtins.bool]]: - """ - Synchronously update node labels and taints. - """ return pulumi.get(self, "update_nodes") @_builtins.property diff --git a/sdk/python/pulumi_alicloud/cs/outputs.py b/sdk/python/pulumi_alicloud/cs/outputs.py index 9ab4199c03..5d15058e7b 100644 --- a/sdk/python/pulumi_alicloud/cs/outputs.py +++ b/sdk/python/pulumi_alicloud/cs/outputs.py @@ -43,8 +43,11 @@ 'ManagedKubernetesOperationPolicy', 'ManagedKubernetesOperationPolicyClusterAutoUpgrade', 'ManagedKubernetesRrsaMetadata', + 'NodePoolAutoMode', 'NodePoolDataDisk', 'NodePoolEfloNodeGroup', + 'NodePoolInstanceMetadataOptions', + 'NodePoolInstancePattern', 'NodePoolKubeletConfiguration', 'NodePoolKubeletConfigurationReservedMemory', 'NodePoolKubeletConfigurationTracing', @@ -2292,6 +2295,25 @@ def rrsa_oidc_issuer_url(self) -> Optional[_builtins.str]: return pulumi.get(self, "rrsa_oidc_issuer_url") +@pulumi.output_type +class NodePoolAutoMode(dict): + def __init__(__self__, *, + enabled: Optional[_builtins.bool] = None): + """ + :param _builtins.bool enabled: Whether to enable auto mode. Valid values: + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> Optional[_builtins.bool]: + """ + Whether to enable auto mode. Valid values: + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class NodePoolDataDisk(dict): @staticmethod @@ -2550,6 +2572,259 @@ def group_id(self) -> Optional[_builtins.str]: return pulumi.get(self, "group_id") +@pulumi.output_type +class NodePoolInstanceMetadataOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "httpTokens": + suggest = "http_tokens" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolInstanceMetadataOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolInstanceMetadataOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolInstanceMetadataOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + http_tokens: Optional[_builtins.str] = None): + """ + :param _builtins.str http_tokens: ECS instance metadata access mode configuration. Value range: + + - 'optional': Compatible with both normal mode and reinforced mode. + - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + + Default value: 'optional '. + + This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + """ + if http_tokens is not None: + pulumi.set(__self__, "http_tokens", http_tokens) + + @_builtins.property + @pulumi.getter(name="httpTokens") + def http_tokens(self) -> Optional[_builtins.str]: + """ + ECS instance metadata access mode configuration. Value range: + + - 'optional': Compatible with both normal mode and reinforced mode. + - 'required': Enables only hardening mode (IMDSv2). When enabled, applications in the node cannot access the ECS instance metadata in normal mode. Ensure that the component and operating system versions in the cluster meet the minimum version requirements. For more information, see [accessing ECS instance metadata in hardened mode only](https://www.alibabacloud.com/help/ack/ack-managed-and-ack-dedicated/security-and-compliance/secure-access-to-ecs-instance-metadata). + + Default value: 'optional '. + + This parameter is only supported for ACK-managed clusters of 1.28 or later versions. + """ + return pulumi.get(self, "http_tokens") + + +@pulumi.output_type +class NodePoolInstancePattern(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceFamilyLevel": + suggest = "instance_family_level" + elif key == "cpuArchitectures": + suggest = "cpu_architectures" + elif key == "excludedInstanceTypes": + suggest = "excluded_instance_types" + elif key == "instanceCategories": + suggest = "instance_categories" + elif key == "instanceTypeFamilies": + suggest = "instance_type_families" + elif key == "maxCpuCores": + suggest = "max_cpu_cores" + elif key == "maxMemorySize": + suggest = "max_memory_size" + elif key == "minCpuCores": + suggest = "min_cpu_cores" + elif key == "minMemorySize": + suggest = "min_memory_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolInstancePattern. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolInstancePattern.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolInstancePattern.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_family_level: _builtins.str, + cores: Optional[_builtins.int] = None, + cpu_architectures: Optional[Sequence[_builtins.str]] = None, + excluded_instance_types: Optional[Sequence[_builtins.str]] = None, + instance_categories: Optional[Sequence[_builtins.str]] = None, + instance_type_families: Optional[Sequence[_builtins.str]] = None, + max_cpu_cores: Optional[_builtins.int] = None, + max_memory_size: Optional[_builtins.float] = None, + memory: Optional[_builtins.float] = None, + min_cpu_cores: Optional[_builtins.int] = None, + min_memory_size: Optional[_builtins.float] = None): + """ + :param _builtins.str instance_family_level: Instance specification family level, value range: + - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + :param _builtins.int cores: The number of vCPU cores of the instance type. Example value: 8. + :param Sequence[_builtins.str] cpu_architectures: The CPU architecture of the instance. Value range: + - X86 + - ARM + :param Sequence[_builtins.str] excluded_instance_types: Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + :param Sequence[_builtins.str] instance_categories: Instance classification. Value range: + - General-purpose: Universal. + - Compute-optimized: Compute type. + - Memory-optimized: Memory type. + - Big data: Big data type. + - Local SSDs: Local SSD type. + - High Clock Speed: High frequency type. + - Enhanced: Enhanced. + - Shared: Shared. + - ECS Bare Metal: elastic Bare Metal server. + - High Performance Compute: High Performance Compute. + :param Sequence[_builtins.str] instance_type_families: Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + :param _builtins.int max_cpu_cores: The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + :param _builtins.float max_memory_size: The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + :param _builtins.float memory: The memory size of the instance type, in GiB. Example value: 8. + :param _builtins.int min_cpu_cores: The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + :param _builtins.float min_memory_size: The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + pulumi.set(__self__, "instance_family_level", instance_family_level) + if cores is not None: + pulumi.set(__self__, "cores", cores) + if cpu_architectures is not None: + pulumi.set(__self__, "cpu_architectures", cpu_architectures) + if excluded_instance_types is not None: + pulumi.set(__self__, "excluded_instance_types", excluded_instance_types) + if instance_categories is not None: + pulumi.set(__self__, "instance_categories", instance_categories) + if instance_type_families is not None: + pulumi.set(__self__, "instance_type_families", instance_type_families) + if max_cpu_cores is not None: + pulumi.set(__self__, "max_cpu_cores", max_cpu_cores) + if max_memory_size is not None: + pulumi.set(__self__, "max_memory_size", max_memory_size) + if memory is not None: + pulumi.set(__self__, "memory", memory) + if min_cpu_cores is not None: + pulumi.set(__self__, "min_cpu_cores", min_cpu_cores) + if min_memory_size is not None: + pulumi.set(__self__, "min_memory_size", min_memory_size) + + @_builtins.property + @pulumi.getter(name="instanceFamilyLevel") + def instance_family_level(self) -> _builtins.str: + """ + Instance specification family level, value range: + - EntryLevel: entry-level, that is, shared instance specifications. The cost is lower, but the stability of instance computing performance cannot be guaranteed. Applicable to business scenarios with low CPU usage. For more information, see Shared. + - EnterpriseLevel: Enterprise level. Stable performance and exclusive resources, suitable for business scenarios that require high stability. For more information, see Instance Specification Family. + """ + return pulumi.get(self, "instance_family_level") + + @_builtins.property + @pulumi.getter + def cores(self) -> Optional[_builtins.int]: + """ + The number of vCPU cores of the instance type. Example value: 8. + """ + return pulumi.get(self, "cores") + + @_builtins.property + @pulumi.getter(name="cpuArchitectures") + def cpu_architectures(self) -> Optional[Sequence[_builtins.str]]: + """ + The CPU architecture of the instance. Value range: + - X86 + - ARM + """ + return pulumi.get(self, "cpu_architectures") + + @_builtins.property + @pulumi.getter(name="excludedInstanceTypes") + def excluded_instance_types(self) -> Optional[Sequence[_builtins.str]]: + """ + Instance specifications to be excluded. You can exclude individual specifications or entire specification families by using the wildcard character (*). For example: + - ecs.c6.large: indicates that the ecs.c6.large instance type is excluded. + - ecs.c6. *: indicates that the instance specification of the entire c6 specification family is excluded. + """ + return pulumi.get(self, "excluded_instance_types") + + @_builtins.property + @pulumi.getter(name="instanceCategories") + def instance_categories(self) -> Optional[Sequence[_builtins.str]]: + """ + Instance classification. Value range: + - General-purpose: Universal. + - Compute-optimized: Compute type. + - Memory-optimized: Memory type. + - Big data: Big data type. + - Local SSDs: Local SSD type. + - High Clock Speed: High frequency type. + - Enhanced: Enhanced. + - Shared: Shared. + - ECS Bare Metal: elastic Bare Metal server. + - High Performance Compute: High Performance Compute. + """ + return pulumi.get(self, "instance_categories") + + @_builtins.property + @pulumi.getter(name="instanceTypeFamilies") + def instance_type_families(self) -> Optional[Sequence[_builtins.str]]: + """ + Specifies the instance type family. Example values:["ecs.g8i","ecs.c8i"] + """ + return pulumi.get(self, "instance_type_families") + + @_builtins.property + @pulumi.getter(name="maxCpuCores") + def max_cpu_cores(self) -> Optional[_builtins.int]: + """ + The maximum number of vCPU cores of the instance type. Example value: 8. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + return pulumi.get(self, "max_cpu_cores") + + @_builtins.property + @pulumi.getter(name="maxMemorySize") + def max_memory_size(self) -> Optional[_builtins.float]: + """ + The maximum memory of the instance type. Unit: GiB, example value: 8,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + return pulumi.get(self, "max_memory_size") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.float]: + """ + The memory size of the instance type, in GiB. Example value: 8. + """ + return pulumi.get(self, "memory") + + @_builtins.property + @pulumi.getter(name="minCpuCores") + def min_cpu_cores(self) -> Optional[_builtins.int]: + """ + The minimum number of vCPU cores of the instance type. Example value: 4. MaxCpuCores cannot exceed 4 times of MinCpuCores. + """ + return pulumi.get(self, "min_cpu_cores") + + @_builtins.property + @pulumi.getter(name="minMemorySize") + def min_memory_size(self) -> Optional[_builtins.float]: + """ + The minimum memory of the instance type. Unit: GiB, example value: 4,MaxMemoryCores does not support more than 4 times MinMemoryCores. + """ + return pulumi.get(self, "min_memory_size") + + @pulumi.output_type class NodePoolKubeletConfiguration(dict): @staticmethod @@ -2611,6 +2886,8 @@ def __key_warning(key: str): suggest = "reserved_memories" elif key == "serializeImagePulls": suggest = "serialize_image_pulls" + elif key == "serverTlsBootstrap": + suggest = "server_tls_bootstrap" elif key == "systemReserved": suggest = "system_reserved" elif key == "topologyManagerPolicy": @@ -2656,6 +2933,7 @@ def __init__(__self__, *, registry_pull_qps: Optional[_builtins.str] = None, reserved_memories: Optional[Sequence['outputs.NodePoolKubeletConfigurationReservedMemory']] = None, serialize_image_pulls: Optional[_builtins.str] = None, + server_tls_bootstrap: Optional[_builtins.bool] = None, system_reserved: Optional[Mapping[str, _builtins.str]] = None, topology_manager_policy: Optional[_builtins.str] = None, tracing: Optional['outputs.NodePoolKubeletConfigurationTracing'] = None): @@ -2688,6 +2966,7 @@ def __init__(__self__, *, :param _builtins.str registry_pull_qps: Same as registryPullQPS. The limit of registry pulls per second. Setting it to `0` means no limit. Valid value is `[0-50]`. :param Sequence['NodePoolKubeletConfigurationReservedMemoryArgs'] reserved_memories: Reserve memory for NUMA nodes. See `reserved_memory` below. :param _builtins.str serialize_image_pulls: Same as serializeImagePulls. When enabled, it tells the Kubelet to pull images one at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Valid value is `true` or `false`. + :param _builtins.bool server_tls_bootstrap: Used to enable the kubelet server certificate signing and rotation via CSR. :param Mapping[str, _builtins.str] system_reserved: Same as systemReserved. The set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs that describe resources reserved for non-kubernetes components. Currently, only cpu and memory are supported. See [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) for more details. :param _builtins.str topology_manager_policy: Name of the Topology Manager policy used. :param 'NodePoolKubeletConfigurationTracingArgs' tracing: OpenTelemetry tracks the configuration information for client settings versioning. See `tracing` below. @@ -2748,6 +3027,8 @@ def __init__(__self__, *, pulumi.set(__self__, "reserved_memories", reserved_memories) if serialize_image_pulls is not None: pulumi.set(__self__, "serialize_image_pulls", serialize_image_pulls) + if server_tls_bootstrap is not None: + pulumi.set(__self__, "server_tls_bootstrap", server_tls_bootstrap) if system_reserved is not None: pulumi.set(__self__, "system_reserved", system_reserved) if topology_manager_policy is not None: @@ -2979,6 +3260,14 @@ def serialize_image_pulls(self) -> Optional[_builtins.str]: """ return pulumi.get(self, "serialize_image_pulls") + @_builtins.property + @pulumi.getter(name="serverTlsBootstrap") + def server_tls_bootstrap(self) -> Optional[_builtins.bool]: + """ + Used to enable the kubelet server certificate signing and rotation via CSR. + """ + return pulumi.get(self, "server_tls_bootstrap") + @_builtins.property @pulumi.getter(name="systemReserved") def system_reserved(self) -> Optional[Mapping[str, _builtins.str]]: diff --git a/sdk/python/pulumi_alicloud/cs/registry_enterprise_namespace.py b/sdk/python/pulumi_alicloud/cs/registry_enterprise_namespace.py index 0a4ea643de..24f9fb095a 100644 --- a/sdk/python/pulumi_alicloud/cs/registry_enterprise_namespace.py +++ b/sdk/python/pulumi_alicloud/cs/registry_enterprise_namespace.py @@ -217,6 +217,8 @@ def __init__(__self__, default_visibility="PUBLIC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Enterprise Edition Namespace can be imported using the id, e.g. @@ -279,6 +281,8 @@ def __init__(__self__, default_visibility="PUBLIC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Enterprise Edition Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cs/registry_enterprise_repo.py b/sdk/python/pulumi_alicloud/cs/registry_enterprise_repo.py index dcc9e09684..a7abfa0143 100644 --- a/sdk/python/pulumi_alicloud/cs/registry_enterprise_repo.py +++ b/sdk/python/pulumi_alicloud/cs/registry_enterprise_repo.py @@ -303,6 +303,8 @@ def __init__(__self__, detail="this is a public repo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Enterprise Edition Repository can be imported using the id, e.g. @@ -374,6 +376,8 @@ def __init__(__self__, detail="this is a public repo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Enterprise Edition Repository can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cs/registry_enterprise_sync_rule.py b/sdk/python/pulumi_alicloud/cs/registry_enterprise_sync_rule.py index 4ccb81a0a1..a71e711850 100644 --- a/sdk/python/pulumi_alicloud/cs/registry_enterprise_sync_rule.py +++ b/sdk/python/pulumi_alicloud/cs/registry_enterprise_sync_rule.py @@ -648,6 +648,8 @@ def __init__(__self__, target_repo_name=target_registry_enterprise_repo.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Sync Rule can be imported using the id, e.g. @@ -757,6 +759,8 @@ def __init__(__self__, target_repo_name=target_registry_enterprise_repo.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Container Registry Sync Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/cs/serverless_kubernetes.py b/sdk/python/pulumi_alicloud/cs/serverless_kubernetes.py index 30e4ec226a..f6c6bc8859 100644 --- a/sdk/python/pulumi_alicloud/cs/serverless_kubernetes.py +++ b/sdk/python/pulumi_alicloud/cs/serverless_kubernetes.py @@ -1216,6 +1216,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. @@ -1329,6 +1331,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`. diff --git a/sdk/python/pulumi_alicloud/das/switch_das_pro.py b/sdk/python/pulumi_alicloud/das/switch_das_pro.py index e636bf2167..39e20c00d2 100644 --- a/sdk/python/pulumi_alicloud/das/switch_das_pro.py +++ b/sdk/python/pulumi_alicloud/das/switch_das_pro.py @@ -206,6 +206,8 @@ def __init__(__self__, user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DAS Switch Das Pro can be imported using the id, e.g. @@ -279,6 +281,8 @@ def __init__(__self__, user_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DAS Switch Das Pro can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasefilesystem/auto_snap_shot_policy.py b/sdk/python/pulumi_alicloud/databasefilesystem/auto_snap_shot_policy.py index cc17fe8668..5485e93046 100644 --- a/sdk/python/pulumi_alicloud/databasefilesystem/auto_snap_shot_policy.py +++ b/sdk/python/pulumi_alicloud/databasefilesystem/auto_snap_shot_policy.py @@ -285,6 +285,8 @@ def __init__(__self__, repeat_weekdays=["2"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dbfs Auto Snap Shot Policy can be imported using the id, e.g. @@ -328,6 +330,8 @@ def __init__(__self__, repeat_weekdays=["2"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dbfs Auto Snap Shot Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasefilesystem/instance.py b/sdk/python/pulumi_alicloud/databasefilesystem/instance.py index d5de300f01..3c57434b51 100644 --- a/sdk/python/pulumi_alicloud/databasefilesystem/instance.py +++ b/sdk/python/pulumi_alicloud/databasefilesystem/instance.py @@ -724,6 +724,8 @@ def __init__(__self__, size=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DBFS Dbfs Instance can be imported using the id, e.g. @@ -799,6 +801,8 @@ def __init__(__self__, size=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DBFS Dbfs Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasefilesystem/instance_attachment.py b/sdk/python/pulumi_alicloud/databasefilesystem/instance_attachment.py index 2d475114e3..c062ceb277 100644 --- a/sdk/python/pulumi_alicloud/databasefilesystem/instance_attachment.py +++ b/sdk/python/pulumi_alicloud/databasefilesystem/instance_attachment.py @@ -167,6 +167,8 @@ def __init__(__self__, ecs_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database File System (DBFS) Instance Attachment can be imported using the id, e.g. @@ -234,6 +236,8 @@ def __init__(__self__, ecs_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database File System (DBFS) Instance Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasefilesystem/service_linked_role.py b/sdk/python/pulumi_alicloud/databasefilesystem/service_linked_role.py index 27b4f4db23..3e57f50938 100644 --- a/sdk/python/pulumi_alicloud/databasefilesystem/service_linked_role.py +++ b/sdk/python/pulumi_alicloud/databasefilesystem/service_linked_role.py @@ -103,6 +103,8 @@ def __init__(__self__, service_linked_role = alicloud.databasefilesystem.ServiceLinkedRole("service_linked_role", product_name="AliyunServiceRoleForDbfs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dbfs service-linked roles(SLR) can be imported using the id, e.g. @@ -137,6 +139,8 @@ def __init__(__self__, service_linked_role = alicloud.databasefilesystem.ServiceLinkedRole("service_linked_role", product_name="AliyunServiceRoleForDbfs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dbfs service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasefilesystem/snapshot.py b/sdk/python/pulumi_alicloud/databasefilesystem/snapshot.py index 998d403b24..2fa86c209f 100644 --- a/sdk/python/pulumi_alicloud/databasefilesystem/snapshot.py +++ b/sdk/python/pulumi_alicloud/databasefilesystem/snapshot.py @@ -246,6 +246,8 @@ def __init__(__self__, description="DbfsSnapshot") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database File System (DBFS) Snapshot can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, description="DbfsSnapshot") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database File System (DBFS) Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/databasegateway/gateway.py b/sdk/python/pulumi_alicloud/databasegateway/gateway.py index 8dbcb06f98..ab36cb6b59 100644 --- a/sdk/python/pulumi_alicloud/databasegateway/gateway.py +++ b/sdk/python/pulumi_alicloud/databasegateway/gateway.py @@ -138,6 +138,8 @@ def __init__(__self__, example = alicloud.databasegateway.Gateway("example", gateway_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database Gateway Gateway can be imported using the id, e.g. @@ -175,6 +177,8 @@ def __init__(__self__, example = alicloud.databasegateway.Gateway("example", gateway_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Database Gateway Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/datahub/project.py b/sdk/python/pulumi_alicloud/datahub/project.py index 547ca335d4..98dd700495 100644 --- a/sdk/python/pulumi_alicloud/datahub/project.py +++ b/sdk/python/pulumi_alicloud/datahub/project.py @@ -161,6 +161,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub project can be imported using the *name* or ID, e.g. @@ -204,6 +206,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub project can be imported using the *name* or ID, e.g. diff --git a/sdk/python/pulumi_alicloud/datahub/subscription.py b/sdk/python/pulumi_alicloud/datahub/subscription.py index 88acff8f5b..c783c44091 100644 --- a/sdk/python/pulumi_alicloud/datahub/subscription.py +++ b/sdk/python/pulumi_alicloud/datahub/subscription.py @@ -217,6 +217,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub subscription can be imported using the ID, e.g. @@ -270,6 +272,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub subscription can be imported using the ID, e.g. diff --git a/sdk/python/pulumi_alicloud/datahub/topic.py b/sdk/python/pulumi_alicloud/datahub/topic.py index 4e37ff6c99..7ffe0eab23 100644 --- a/sdk/python/pulumi_alicloud/datahub/topic.py +++ b/sdk/python/pulumi_alicloud/datahub/topic.py @@ -372,6 +372,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub topic can be imported using the ID, e.g. @@ -446,6 +448,8 @@ def __init__(__self__, comment="created by terraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Datahub topic can be imported using the ID, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/data_source.py b/sdk/python/pulumi_alicloud/dataworks/data_source.py index 148a63fc8e..e1dea2d839 100644 --- a/sdk/python/pulumi_alicloud/dataworks/data_source.py +++ b/sdk/python/pulumi_alicloud/dataworks/data_source.py @@ -386,6 +386,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Data Source can be imported using the id, e.g. @@ -467,6 +469,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Data Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/data_source_shared_rule.py b/sdk/python/pulumi_alicloud/dataworks/data_source_shared_rule.py index fbba9ec133..e934d431a9 100644 --- a/sdk/python/pulumi_alicloud/dataworks/data_source_shared_rule.py +++ b/sdk/python/pulumi_alicloud/dataworks/data_source_shared_rule.py @@ -267,6 +267,8 @@ def __init__(__self__, env_type="Prod") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Data Source Shared Rule can be imported using the id, e.g. @@ -355,6 +357,8 @@ def __init__(__self__, env_type="Prod") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Data Source Shared Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/di_alarm_rule.py b/sdk/python/pulumi_alicloud/dataworks/di_alarm_rule.py index 739faf8b87..3c4d1628bc 100644 --- a/sdk/python/pulumi_alicloud/dataworks/di_alarm_rule.py +++ b/sdk/python/pulumi_alicloud/dataworks/di_alarm_rule.py @@ -398,6 +398,8 @@ def __init__(__self__, di_alarm_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Di Alarm Rule can be imported using the id, e.g. @@ -542,6 +544,8 @@ def __init__(__self__, di_alarm_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Di Alarm Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/di_job.py b/sdk/python/pulumi_alicloud/dataworks/di_job.py index 2a98382c7b..557576b8ed 100644 --- a/sdk/python/pulumi_alicloud/dataworks/di_job.py +++ b/sdk/python/pulumi_alicloud/dataworks/di_job.py @@ -596,6 +596,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Di Job can be imported using the id, e.g. @@ -746,6 +748,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Di Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/dw_resource_group.py b/sdk/python/pulumi_alicloud/dataworks/dw_resource_group.py index 7f206fddf9..3ec672d980 100644 --- a/sdk/python/pulumi_alicloud/dataworks/dw_resource_group.py +++ b/sdk/python/pulumi_alicloud/dataworks/dw_resource_group.py @@ -479,6 +479,8 @@ def __init__(__self__, payment_duration=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Dw Resource Group can be imported using the id, e.g. @@ -555,6 +557,8 @@ def __init__(__self__, payment_duration=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Dw Resource Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/folder.py b/sdk/python/pulumi_alicloud/dataworks/folder.py index 243bc5645f..089c020dc0 100644 --- a/sdk/python/pulumi_alicloud/dataworks/folder.py +++ b/sdk/python/pulumi_alicloud/dataworks/folder.py @@ -161,6 +161,8 @@ def __init__(__self__, folder_path="Business Flow/tfTestAcc/folderDi/tftest1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Folder can be imported using the id, e.g. @@ -200,6 +202,8 @@ def __init__(__self__, folder_path="Business Flow/tfTestAcc/folderDi/tftest1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Folder can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/network.py b/sdk/python/pulumi_alicloud/dataworks/network.py index 39bcc38987..4c11e5955c 100644 --- a/sdk/python/pulumi_alicloud/dataworks/network.py +++ b/sdk/python/pulumi_alicloud/dataworks/network.py @@ -226,6 +226,8 @@ def __init__(__self__, dw_resource_group_id=default_v_jv_kvl.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Network can be imported using the id, e.g. @@ -305,6 +307,8 @@ def __init__(__self__, dw_resource_group_id=default_v_jv_kvl.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Network can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/project.py b/sdk/python/pulumi_alicloud/dataworks/project.py index 60e3d0d2cd..708d447e5b 100644 --- a/sdk/python/pulumi_alicloud/dataworks/project.py +++ b/sdk/python/pulumi_alicloud/dataworks/project.py @@ -368,6 +368,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Project can be imported using the id, e.g. @@ -429,6 +431,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Project can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dataworks/project_member.py b/sdk/python/pulumi_alicloud/dataworks/project_member.py index 695c9aeb56..859dc06257 100644 --- a/sdk/python/pulumi_alicloud/dataworks/project_member.py +++ b/sdk/python/pulumi_alicloud/dataworks/project_member.py @@ -201,6 +201,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Project Member can be imported using the id, e.g. @@ -268,6 +270,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Works Project Member can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dbs/backup_plan.py b/sdk/python/pulumi_alicloud/dbs/backup_plan.py index b515fd722b..6f50565a7b 100644 --- a/sdk/python/pulumi_alicloud/dbs/backup_plan.py +++ b/sdk/python/pulumi_alicloud/dbs/backup_plan.py @@ -1369,6 +1369,8 @@ def __init__(__self__, backup_retention_period=740) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DBS Backup Plan can be imported using the id, e.g. @@ -1505,6 +1507,8 @@ def __init__(__self__, backup_retention_period=740) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DBS Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/domain.py b/sdk/python/pulumi_alicloud/dcdn/domain.py index a585695c77..1f9bf5c3ee 100644 --- a/sdk/python/pulumi_alicloud/dcdn/domain.py +++ b/sdk/python/pulumi_alicloud/dcdn/domain.py @@ -705,6 +705,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Domain can be imported using the id, e.g. @@ -779,6 +781,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/domain_config.py b/sdk/python/pulumi_alicloud/dcdn/domain_config.py index 4897ceb8bc..1a89426b40 100644 --- a/sdk/python/pulumi_alicloud/dcdn/domain_config.py +++ b/sdk/python/pulumi_alicloud/dcdn/domain_config.py @@ -265,6 +265,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN domain config can be imported using the id, e.g. @@ -349,6 +351,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN domain config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/er.py b/sdk/python/pulumi_alicloud/dcdn/er.py index b020e8dabe..c93cea3182 100644 --- a/sdk/python/pulumi_alicloud/dcdn/er.py +++ b/sdk/python/pulumi_alicloud/dcdn/er.py @@ -173,6 +173,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Er can be imported using the id, e.g. @@ -227,6 +229,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Er can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/ipa_domain.py b/sdk/python/pulumi_alicloud/dcdn/ipa_domain.py index 7c96272fa2..6ff9fa7f6a 100644 --- a/sdk/python/pulumi_alicloud/dcdn/ipa_domain.py +++ b/sdk/python/pulumi_alicloud/dcdn/ipa_domain.py @@ -238,6 +238,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Ipa Domain can be imported using the id, e.g. @@ -294,6 +296,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Ipa Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/kv.py b/sdk/python/pulumi_alicloud/dcdn/kv.py index c4e5609323..c2a7ccd1b0 100644 --- a/sdk/python/pulumi_alicloud/dcdn/kv.py +++ b/sdk/python/pulumi_alicloud/dcdn/kv.py @@ -167,6 +167,8 @@ def __init__(__self__, namespace=default_kv_namespace.namespace) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Kv can be imported using the id, e.g. @@ -219,6 +221,8 @@ def __init__(__self__, namespace=default_kv_namespace.namespace) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Kv can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/kv_namespace.py b/sdk/python/pulumi_alicloud/dcdn/kv_namespace.py index 4b6a45bf60..7f9a12d4f1 100644 --- a/sdk/python/pulumi_alicloud/dcdn/kv_namespace.py +++ b/sdk/python/pulumi_alicloud/dcdn/kv_namespace.py @@ -147,6 +147,8 @@ def __init__(__self__, namespace=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Kv Namespace can be imported using the id, e.g. @@ -194,6 +196,8 @@ def __init__(__self__, namespace=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Kv Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/waf_domain.py b/sdk/python/pulumi_alicloud/dcdn/waf_domain.py index 125f30a024..d25ea9f81f 100644 --- a/sdk/python/pulumi_alicloud/dcdn/waf_domain.py +++ b/sdk/python/pulumi_alicloud/dcdn/waf_domain.py @@ -142,6 +142,8 @@ def __init__(__self__, client_ip_tag="X-Forwarded-For") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Domain can be imported using the id, e.g. @@ -199,6 +201,8 @@ def __init__(__self__, client_ip_tag="X-Forwarded-For") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/waf_policy.py b/sdk/python/pulumi_alicloud/dcdn/waf_policy.py index bd10b41e92..61ddac514d 100644 --- a/sdk/python/pulumi_alicloud/dcdn/waf_policy.py +++ b/sdk/python/pulumi_alicloud/dcdn/waf_policy.py @@ -197,6 +197,8 @@ def __init__(__self__, status="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Policy can be imported using the id, e.g. @@ -248,6 +250,8 @@ def __init__(__self__, status="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/waf_policy_domain_attachment.py b/sdk/python/pulumi_alicloud/dcdn/waf_policy_domain_attachment.py index c2f3731d76..bcb7dc3292 100644 --- a/sdk/python/pulumi_alicloud/dcdn/waf_policy_domain_attachment.py +++ b/sdk/python/pulumi_alicloud/dcdn/waf_policy_domain_attachment.py @@ -152,6 +152,8 @@ def __init__(__self__, policy_id=example_waf_policy.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Policy Domain Attachment can be imported using the id, e.g. @@ -220,6 +222,8 @@ def __init__(__self__, policy_id=example_waf_policy.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DCDN Waf Policy Domain Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dcdn/waf_rule.py b/sdk/python/pulumi_alicloud/dcdn/waf_rule.py index 7ae5853393..9f8bc4bc59 100644 --- a/sdk/python/pulumi_alicloud/dcdn/waf_rule.py +++ b/sdk/python/pulumi_alicloud/dcdn/waf_rule.py @@ -624,6 +624,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Waf Rule can be imported using the id, e.g. @@ -714,6 +716,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dcdn Waf Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/basic_defense_threshold.py b/sdk/python/pulumi_alicloud/ddos/basic_defense_threshold.py index 16be4122ac..89b6ffb93b 100644 --- a/sdk/python/pulumi_alicloud/ddos/basic_defense_threshold.py +++ b/sdk/python/pulumi_alicloud/ddos/basic_defense_threshold.py @@ -331,6 +331,8 @@ def __init__(__self__, pps=90000) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Basic Antiddos can be imported using the id, e.g. @@ -387,6 +389,8 @@ def __init__(__self__, pps=90000) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Basic Antiddos can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/basic_threshold.py b/sdk/python/pulumi_alicloud/ddos/basic_threshold.py index 6dc990bd0d..961d52a980 100644 --- a/sdk/python/pulumi_alicloud/ddos/basic_threshold.py +++ b/sdk/python/pulumi_alicloud/ddos/basic_threshold.py @@ -287,6 +287,8 @@ def __init__(__self__, pps=60000) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Basic Threshold can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, pps=60000) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Basic Threshold can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/bgp_ip.py b/sdk/python/pulumi_alicloud/ddos/bgp_ip.py index 3194154adf..bfa5d2e9d4 100644 --- a/sdk/python/pulumi_alicloud/ddos/bgp_ip.py +++ b/sdk/python/pulumi_alicloud/ddos/bgp_ip.py @@ -228,6 +228,8 @@ def __init__(__self__, member_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. @@ -284,6 +286,8 @@ def __init__(__self__, member_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Anti-DDoS Pro (DdosBgp) Ip can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/bgp_policy.py b/sdk/python/pulumi_alicloud/ddos/bgp_policy.py index 16a04eb961..11177b13dc 100644 --- a/sdk/python/pulumi_alicloud/ddos/bgp_policy.py +++ b/sdk/python/pulumi_alicloud/ddos/bgp_policy.py @@ -183,6 +183,8 @@ def __init__(__self__, policy_name="tf_exampleacc_bgp32594") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Bgp Policy can be imported using the id, e.g. @@ -248,6 +250,8 @@ def __init__(__self__, policy_name="tf_exampleacc_bgp32594") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Bgp Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/ddos_coo_instance.py b/sdk/python/pulumi_alicloud/ddos/ddos_coo_instance.py index eb422aec91..7daf2a3fe8 100644 --- a/sdk/python/pulumi_alicloud/ddos/ddos_coo_instance.py +++ b/sdk/python/pulumi_alicloud/ddos/ddos_coo_instance.py @@ -680,6 +680,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Instance can be imported using the id, e.g. @@ -748,6 +750,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/domain_resource.py b/sdk/python/pulumi_alicloud/ddos/domain_resource.py index 21b6367c0f..1154489e26 100644 --- a/sdk/python/pulumi_alicloud/ddos/domain_resource.py +++ b/sdk/python/pulumi_alicloud/ddos/domain_resource.py @@ -641,6 +641,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Coo Domain Resource can be imported using the id, e.g. @@ -747,6 +749,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Coo Domain Resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/port.py b/sdk/python/pulumi_alicloud/ddos/port.py index a5775252e7..94e17f038f 100644 --- a/sdk/python/pulumi_alicloud/ddos/port.py +++ b/sdk/python/pulumi_alicloud/ddos/port.py @@ -286,6 +286,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Coo Port can be imported using the id, e.g. @@ -351,6 +353,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ddos Coo Port can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ddos/scheduler_rule.py b/sdk/python/pulumi_alicloud/ddos/scheduler_rule.py index 8dc819ed3c..056e27316a 100644 --- a/sdk/python/pulumi_alicloud/ddos/scheduler_rule.py +++ b/sdk/python/pulumi_alicloud/ddos/scheduler_rule.py @@ -269,6 +269,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. @@ -332,6 +334,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Scheduler Rule can be imported using the id or the rule name, e.g. diff --git a/sdk/python/pulumi_alicloud/dfs/access_group.py b/sdk/python/pulumi_alicloud/dfs/access_group.py index ad0bf1c262..87c9f6c703 100644 --- a/sdk/python/pulumi_alicloud/dfs/access_group.py +++ b/sdk/python/pulumi_alicloud/dfs/access_group.py @@ -176,6 +176,8 @@ def __init__(__self__, network_type="VPC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DFS Access Group can be imported using the id, e.g. @@ -220,6 +222,8 @@ def __init__(__self__, network_type="VPC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DFS Access Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dfs/access_rule.py b/sdk/python/pulumi_alicloud/dfs/access_rule.py index f404332f0c..8dca4e0094 100644 --- a/sdk/python/pulumi_alicloud/dfs/access_rule.py +++ b/sdk/python/pulumi_alicloud/dfs/access_rule.py @@ -263,6 +263,8 @@ def __init__(__self__, priority=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DFS Access Rule can be imported using the id, e.g. @@ -316,6 +318,8 @@ def __init__(__self__, priority=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DFS Access Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dfs/file_system.py b/sdk/python/pulumi_alicloud/dfs/file_system.py index 9f558a04fc..e499f52d75 100644 --- a/sdk/python/pulumi_alicloud/dfs/file_system.py +++ b/sdk/python/pulumi_alicloud/dfs/file_system.py @@ -501,6 +501,8 @@ def __init__(__self__, provisioned_throughput_in_mi_bps=512) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. @@ -562,6 +564,8 @@ def __init__(__self__, provisioned_throughput_in_mi_bps=512) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) File System can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dfs/mount_point.py b/sdk/python/pulumi_alicloud/dfs/mount_point.py index 8c5c80f2ca..dab6c9910c 100644 --- a/sdk/python/pulumi_alicloud/dfs/mount_point.py +++ b/sdk/python/pulumi_alicloud/dfs/mount_point.py @@ -395,6 +395,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. @@ -469,6 +471,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) Mount Point can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dfs/vsc_mount_point.py b/sdk/python/pulumi_alicloud/dfs/vsc_mount_point.py index 161b88cd9b..39cb864d7e 100644 --- a/sdk/python/pulumi_alicloud/dfs/vsc_mount_point.py +++ b/sdk/python/pulumi_alicloud/dfs/vsc_mount_point.py @@ -208,6 +208,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. @@ -265,6 +267,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara File Storage for HDFS (DFS) Vsc Mount Point can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/directmail/domain.py b/sdk/python/pulumi_alicloud/directmail/domain.py index 1b0077b8b0..8ffbac131e 100644 --- a/sdk/python/pulumi_alicloud/directmail/domain.py +++ b/sdk/python/pulumi_alicloud/directmail/domain.py @@ -109,6 +109,8 @@ def __init__(__self__, example = alicloud.directmail.Domain("example", domain_name=f"alicloud-provider-{default['result']}.online") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Domain can be imported using the id, e.g. @@ -149,6 +151,8 @@ def __init__(__self__, example = alicloud.directmail.Domain("example", domain_name=f"alicloud-provider-{default['result']}.online") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/directmail/mail_address.py b/sdk/python/pulumi_alicloud/directmail/mail_address.py index 696fa346e2..5bb871b57a 100644 --- a/sdk/python/pulumi_alicloud/directmail/mail_address.py +++ b/sdk/python/pulumi_alicloud/directmail/mail_address.py @@ -223,6 +223,8 @@ def __init__(__self__, Individual users: Up to 10 mailing addresses can be deleted within a month. Enterprise users: Up to 10 mailing addresses can be deleted within a month. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Mail Address can be imported using the id, e.g. @@ -282,6 +284,8 @@ def __init__(__self__, Individual users: Up to 10 mailing addresses can be deleted within a month. Enterprise users: Up to 10 mailing addresses can be deleted within a month. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Mail Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/directmail/receivers.py b/sdk/python/pulumi_alicloud/directmail/receivers.py index 05964517b7..5bb97a6c2a 100644 --- a/sdk/python/pulumi_alicloud/directmail/receivers.py +++ b/sdk/python/pulumi_alicloud/directmail/receivers.py @@ -179,6 +179,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Receivers can be imported using the id, e.g. @@ -226,6 +228,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Receivers can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/directmail/tag.py b/sdk/python/pulumi_alicloud/directmail/tag.py index 4e928990f7..cb87cc8b94 100644 --- a/sdk/python/pulumi_alicloud/directmail/tag.py +++ b/sdk/python/pulumi_alicloud/directmail/tag.py @@ -93,6 +93,8 @@ def __init__(__self__, example = alicloud.directmail.Tag("example", tag_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Tag can be imported using the id, e.g. @@ -133,6 +135,8 @@ def __init__(__self__, example = alicloud.directmail.Tag("example", tag_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Direct Mail Tag can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/airflow.py b/sdk/python/pulumi_alicloud/dms/airflow.py index b73839340e..1d19dc23d4 100644 --- a/sdk/python/pulumi_alicloud/dms/airflow.py +++ b/sdk/python/pulumi_alicloud/dms/airflow.py @@ -607,6 +607,8 @@ def __init__(__self__, workspace_id=workspace.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dms Airflow can be imported using the id, e.g. @@ -691,6 +693,8 @@ def __init__(__self__, workspace_id=workspace.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dms Airflow can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_authority_template.py b/sdk/python/pulumi_alicloud/dms/enterprise_authority_template.py index eeb1544a89..ef9ce31e9b 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_authority_template.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_authority_template.py @@ -194,6 +194,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Authority Template can be imported using the id, e.g. @@ -240,6 +242,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Authority Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_instance.py b/sdk/python/pulumi_alicloud/dms/enterprise_instance.py index 14377c4b92..e9bec2298f 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_instance.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_instance.py @@ -1027,6 +1027,8 @@ def __init__(__self__, ecs_region=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise can be imported using host and port, e.g. @@ -1152,6 +1154,8 @@ def __init__(__self__, ecs_region=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise can be imported using host and port, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_logic_database.py b/sdk/python/pulumi_alicloud/dms/enterprise_logic_database.py index 5459789e0b..cf99a57a1f 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_logic_database.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_logic_database.py @@ -271,6 +271,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Logic Database can be imported using the id, e.g. @@ -314,6 +316,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Logic Database can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_proxy.py b/sdk/python/pulumi_alicloud/dms/enterprise_proxy.py index 8350c804cf..be72513ca9 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_proxy.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_proxy.py @@ -256,6 +256,8 @@ def __init__(__self__, tid=default_get_user_tenants.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Proxy can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, tid=default_get_user_tenants.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Proxy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_proxy_access.py b/sdk/python/pulumi_alicloud/dms/enterprise_proxy_access.py index 10409cad0a..751388e3e7 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_proxy_access.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_proxy_access.py @@ -337,6 +337,8 @@ def __init__(__self__, user_id=dms_enterprise_users_ds.users[0].user_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Proxy Access can be imported using the id, e.g. @@ -382,6 +384,8 @@ def __init__(__self__, user_id=dms_enterprise_users_ds.users[0].user_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Proxy Access can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_user.py b/sdk/python/pulumi_alicloud/dms/enterprise_user.py index e1079a8217..7ebc877607 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_user.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_user.py @@ -371,6 +371,8 @@ def __init__(__self__, mobile="86-18688888888") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise User can be imported using the id, e.g. @@ -425,6 +427,8 @@ def __init__(__self__, mobile="86-18688888888") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dms/enterprise_workspace.py b/sdk/python/pulumi_alicloud/dms/enterprise_workspace.py index 4370a7688e..7a74dee155 100644 --- a/sdk/python/pulumi_alicloud/dms/enterprise_workspace.py +++ b/sdk/python/pulumi_alicloud/dms/enterprise_workspace.py @@ -185,6 +185,8 @@ def __init__(__self__, vpc_id=vpc_create.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Workspace can be imported using the id, e.g. @@ -239,6 +241,8 @@ def __init__(__self__, vpc_id=vpc_create.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DMS Enterprise Workspace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/access_strategy.py b/sdk/python/pulumi_alicloud/dns/access_strategy.py index 205c0a1faa..51ca2ba99e 100644 --- a/sdk/python/pulumi_alicloud/dns/access_strategy.py +++ b/sdk/python/pulumi_alicloud/dns/access_strategy.py @@ -712,6 +712,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS Access Strategy can be imported using the id, e.g. @@ -830,6 +832,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS Access Strategy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/address_pool.py b/sdk/python/pulumi_alicloud/dns/address_pool.py index d861479083..039c619eca 100644 --- a/sdk/python/pulumi_alicloud/dns/address_pool.py +++ b/sdk/python/pulumi_alicloud/dns/address_pool.py @@ -263,6 +263,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Address Pool can be imported using the id, e.g. @@ -347,6 +349,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Address Pool can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/alidns_domain.py b/sdk/python/pulumi_alicloud/dns/alidns_domain.py index 0e3bf901f5..9e4b65afbb 100644 --- a/sdk/python/pulumi_alicloud/dns/alidns_domain.py +++ b/sdk/python/pulumi_alicloud/dns/alidns_domain.py @@ -331,6 +331,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns domain can be imported using the id or domain name, e.g. @@ -379,6 +381,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns domain can be imported using the id or domain name, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/alidns_domain_attachment.py b/sdk/python/pulumi_alicloud/dns/alidns_domain_attachment.py index 9adcaa7095..9ac0f5b7dd 100644 --- a/sdk/python/pulumi_alicloud/dns/alidns_domain_attachment.py +++ b/sdk/python/pulumi_alicloud/dns/alidns_domain_attachment.py @@ -133,6 +133,8 @@ def __init__(__self__, domain_names=[default_alidns_domain.domain_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain attachment can be imported using the id, e.g. @@ -182,6 +184,8 @@ def __init__(__self__, domain_names=[default_alidns_domain.domain_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/alidns_instance.py b/sdk/python/pulumi_alicloud/dns/alidns_instance.py index 293e26e7a4..ccefe840d0 100644 --- a/sdk/python/pulumi_alicloud/dns/alidns_instance.py +++ b/sdk/python/pulumi_alicloud/dns/alidns_instance.py @@ -305,6 +305,8 @@ def __init__(__self__, version_code="version_personal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS instance be imported using the id, e.g. @@ -351,6 +353,8 @@ def __init__(__self__, version_code="version_personal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS instance be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/alidns_record.py b/sdk/python/pulumi_alicloud/dns/alidns_record.py index d0dfa5a40a..8f7ece5edc 100644 --- a/sdk/python/pulumi_alicloud/dns/alidns_record.py +++ b/sdk/python/pulumi_alicloud/dns/alidns_record.py @@ -34,7 +34,7 @@ def __init__(__self__, *, The set of arguments for constructing a AlidnsRecord resource. :param pulumi.Input[_builtins.str] domain_name: Name of the domain. This name without suffix can have a string of 1 to 63 characters, must contain only alphanumeric characters or "-", and must not begin or end with "-", and "-" must not in the 3th and 4th character positions at the same time. Suffix `.sh` and `.tel` are not supported. :param pulumi.Input[_builtins.str] rr: Host record for the domain record. This host_record can have at most 253 characters, and each part split with `.` can have at most 63 characters, and must contain only alphanumeric characters or hyphens, such as `-`, `.`, `*`, `@`, and must not begin or end with `-`. - :param pulumi.Input[_builtins.str] type: The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + :param pulumi.Input[_builtins.str] type: The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). :param pulumi.Input[_builtins.str] value: The value of domain record, When the `type` is `MX`,`NS`,`CNAME`,`SRV`, the server will treat the `value` as a fully qualified domain name, so it's no need to add a `.` at the end. :param pulumi.Input[_builtins.str] lang: User language. :param pulumi.Input[_builtins.str] line: The resolution line of domain record. When the `type` is `FORWORD_URL`, this parameter must be `default`. Default value is `default`. For checking all resolution lines enumeration please visit [Alibaba Cloud DNS doc](https://www.alibabacloud.com/help/en/alibaba-cloud-dns/latest/adding-a-dns-record) or using dns_get_resolution_lines in data source to get the value. @@ -91,7 +91,7 @@ def rr(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def type(self) -> pulumi.Input[_builtins.str]: """ - The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). """ return pulumi.get(self, "type") @@ -220,7 +220,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] rr: Host record for the domain record. This host_record can have at most 253 characters, and each part split with `.` can have at most 63 characters, and must contain only alphanumeric characters or hyphens, such as `-`, `.`, `*`, `@`, and must not begin or end with `-`. :param pulumi.Input[_builtins.str] status: The status of the domain record. Valid values: `ENABLE`,`DISABLE`. :param pulumi.Input[_builtins.int] ttl: The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. - :param pulumi.Input[_builtins.str] type: The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + :param pulumi.Input[_builtins.str] type: The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). :param pulumi.Input[_builtins.str] user_client_ip: The IP address of the client. :param pulumi.Input[_builtins.str] value: The value of domain record, When the `type` is `MX`,`NS`,`CNAME`,`SRV`, the server will treat the `value` as a fully qualified domain name, so it's no need to add a `.` at the end. """ @@ -347,7 +347,7 @@ def ttl(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). """ return pulumi.get(self, "type") @@ -428,6 +428,8 @@ def __init__(__self__, status="ENABLE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Domain Record can be imported using the id, e.g. @@ -446,7 +448,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] rr: Host record for the domain record. This host_record can have at most 253 characters, and each part split with `.` can have at most 63 characters, and must contain only alphanumeric characters or hyphens, such as `-`, `.`, `*`, `@`, and must not begin or end with `-`. :param pulumi.Input[_builtins.str] status: The status of the domain record. Valid values: `ENABLE`,`DISABLE`. :param pulumi.Input[_builtins.int] ttl: The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. - :param pulumi.Input[_builtins.str] type: The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + :param pulumi.Input[_builtins.str] type: The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). :param pulumi.Input[_builtins.str] user_client_ip: The IP address of the client. :param pulumi.Input[_builtins.str] value: The value of domain record, When the `type` is `MX`,`NS`,`CNAME`,`SRV`, the server will treat the `value` as a fully qualified domain name, so it's no need to add a `.` at the end. """ @@ -486,6 +488,8 @@ def __init__(__self__, status="ENABLE") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Domain Record can be imported using the id, e.g. @@ -584,7 +588,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] rr: Host record for the domain record. This host_record can have at most 253 characters, and each part split with `.` can have at most 63 characters, and must contain only alphanumeric characters or hyphens, such as `-`, `.`, `*`, `@`, and must not begin or end with `-`. :param pulumi.Input[_builtins.str] status: The status of the domain record. Valid values: `ENABLE`,`DISABLE`. :param pulumi.Input[_builtins.int] ttl: The effective time of domain record. Its scope depends on the edition of the cloud resolution. Free is `[600, 86400]`, Basic is `[120, 86400]`, Standard is `[60, 86400]`, Ultimate is `[10, 86400]`, Exclusive is `[1, 86400]`. Default value is `600`. - :param pulumi.Input[_builtins.str] type: The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + :param pulumi.Input[_builtins.str] type: The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). :param pulumi.Input[_builtins.str] user_client_ip: The IP address of the client. :param pulumi.Input[_builtins.str] value: The value of domain record, When the `type` is `MX`,`NS`,`CNAME`,`SRV`, the server will treat the `value` as a fully qualified domain name, so it's no need to add a `.` at the end. """ @@ -673,7 +677,7 @@ def ttl(self) -> pulumi.Output[Optional[_builtins.int]]: @pulumi.getter def type(self) -> pulumi.Output[_builtins.str]: """ - The type of domain record. Valid values: `A`,`NS`,`MX`,`TXT`,`CNAME`,`SRV`,`AAAA`,`CAA`, `REDIRECT_URL` and `FORWORD_URL`. + The type of domain record. For more information, see [How to use it](https://www.alibabacloud.com/help/en/dns/dns-record-types). """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_alicloud/dns/custom_line.py b/sdk/python/pulumi_alicloud/dns/custom_line.py index d6b6c40ebf..df19698945 100644 --- a/sdk/python/pulumi_alicloud/dns/custom_line.py +++ b/sdk/python/pulumi_alicloud/dns/custom_line.py @@ -194,6 +194,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Custom Line can be imported using the id, e.g. @@ -239,6 +241,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Custom Line can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/ddos_coo_instance.py b/sdk/python/pulumi_alicloud/dns/ddos_coo_instance.py index 93a093426d..e0db0982c9 100644 --- a/sdk/python/pulumi_alicloud/dns/ddos_coo_instance.py +++ b/sdk/python/pulumi_alicloud/dns/ddos_coo_instance.py @@ -685,6 +685,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Instance can be imported using the id, e.g. @@ -753,6 +755,8 @@ def __init__(__self__, period=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DdosCoo Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/dns_domain.py b/sdk/python/pulumi_alicloud/dns/dns_domain.py index 2521e54055..7ae0ea68ef 100644 --- a/sdk/python/pulumi_alicloud/dns/dns_domain.py +++ b/sdk/python/pulumi_alicloud/dns/dns_domain.py @@ -321,6 +321,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain can be imported using the id or domain name, e.g. @@ -371,6 +373,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain can be imported using the id or domain name, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/domain.py b/sdk/python/pulumi_alicloud/dns/domain.py index 4de96356d5..c58c9bf925 100644 --- a/sdk/python/pulumi_alicloud/dns/domain.py +++ b/sdk/python/pulumi_alicloud/dns/domain.py @@ -194,6 +194,8 @@ def __init__(__self__, group_id="85ab8713-4a30-4de4-9d20-155ff830f651") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS can be imported using the id or domain name, e.g. @@ -233,6 +235,8 @@ def __init__(__self__, group_id="85ab8713-4a30-4de4-9d20-155ff830f651") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS can be imported using the id or domain name, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/domain_attachment.py b/sdk/python/pulumi_alicloud/dns/domain_attachment.py index e18bb89b5d..6abb37225e 100644 --- a/sdk/python/pulumi_alicloud/dns/domain_attachment.py +++ b/sdk/python/pulumi_alicloud/dns/domain_attachment.py @@ -124,6 +124,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain attachment can be imported using the id, e.g. @@ -164,6 +166,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS domain attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/domain_group.py b/sdk/python/pulumi_alicloud/dns/domain_group.py index 1b743d3aec..ee909bdc3c 100644 --- a/sdk/python/pulumi_alicloud/dns/domain_group.py +++ b/sdk/python/pulumi_alicloud/dns/domain_group.py @@ -160,6 +160,8 @@ def __init__(__self__, default = alicloud.dns.DomainGroup("default", domain_group_name="tf-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns domain group can be imported using the id, e.g. @@ -194,6 +196,8 @@ def __init__(__self__, default = alicloud.dns.DomainGroup("default", domain_group_name="tf-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns domain group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/group.py b/sdk/python/pulumi_alicloud/dns/group.py index b00808a061..9cba246334 100644 --- a/sdk/python/pulumi_alicloud/dns/group.py +++ b/sdk/python/pulumi_alicloud/dns/group.py @@ -87,6 +87,8 @@ def __init__(__self__, group = alicloud.dns.Group("group", name="testgroup") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] name: Name of the domain group. @@ -112,6 +114,8 @@ def __init__(__self__, group = alicloud.dns.Group("group", name="testgroup") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param GroupArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/dns/gtm_instance.py b/sdk/python/pulumi_alicloud/dns/gtm_instance.py index 7e8782f310..c06a40caba 100644 --- a/sdk/python/pulumi_alicloud/dns/gtm_instance.py +++ b/sdk/python/pulumi_alicloud/dns/gtm_instance.py @@ -738,6 +738,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Gtm Instance can be imported using the id, e.g. @@ -818,6 +820,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alidns Gtm Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/instance.py b/sdk/python/pulumi_alicloud/dns/instance.py index 06a9c90f7d..154b9b102e 100644 --- a/sdk/python/pulumi_alicloud/dns/instance.py +++ b/sdk/python/pulumi_alicloud/dns/instance.py @@ -299,6 +299,8 @@ def __init__(__self__, version_code="version_personal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS instance be imported using the id, e.g. @@ -346,6 +348,8 @@ def __init__(__self__, version_code="version_personal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS instance be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/monitor_config.py b/sdk/python/pulumi_alicloud/dns/monitor_config.py index efdb460883..4f42c5821c 100644 --- a/sdk/python/pulumi_alicloud/dns/monitor_config.py +++ b/sdk/python/pulumi_alicloud/dns/monitor_config.py @@ -367,6 +367,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS Monitor Config can be imported using the id, e.g. @@ -461,6 +463,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DNS Monitor Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dns/record.py b/sdk/python/pulumi_alicloud/dns/record.py index ab2a91ca48..bee714bac3 100644 --- a/sdk/python/pulumi_alicloud/dns/record.py +++ b/sdk/python/pulumi_alicloud/dns/record.py @@ -318,6 +318,8 @@ def __init__(__self__, value="192.168.99.99") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS record can be imported using the id, e.g. @@ -363,6 +365,8 @@ def __init__(__self__, value="192.168.99.99") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS record can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/drds/instance.py b/sdk/python/pulumi_alicloud/drds/instance.py index 874b4376ee..326a3d840d 100644 --- a/sdk/python/pulumi_alicloud/drds/instance.py +++ b/sdk/python/pulumi_alicloud/drds/instance.py @@ -409,6 +409,8 @@ def __init__(__self__, specification="drds.sn1.4c8g.8C16G") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Distributed Relational Database Service (DRDS) can be imported using the id, e.g. @@ -480,6 +482,8 @@ def __init__(__self__, specification="drds.sn1.4c8g.8C16G") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Distributed Relational Database Service (DRDS) can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/drds/polardbx_instance.py b/sdk/python/pulumi_alicloud/drds/polardbx_instance.py index 28fa581ae8..921389acba 100644 --- a/sdk/python/pulumi_alicloud/drds/polardbx_instance.py +++ b/sdk/python/pulumi_alicloud/drds/polardbx_instance.py @@ -473,6 +473,8 @@ def __init__(__self__, vpc_id=example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DRDS Polardb X Instance can be imported using the id, e.g. @@ -542,6 +544,8 @@ def __init__(__self__, vpc_id=example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DRDS Polardb X Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/consumer_channel.py b/sdk/python/pulumi_alicloud/dts/consumer_channel.py index b7f375a52d..02bd908ad2 100644 --- a/sdk/python/pulumi_alicloud/dts/consumer_channel.py +++ b/sdk/python/pulumi_alicloud/dts/consumer_channel.py @@ -274,6 +274,8 @@ def __init__(__self__, consumer_group_password="example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Consumer Channel can be imported using the id, e.g. @@ -386,6 +388,8 @@ def __init__(__self__, consumer_group_password="example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Consumer Channel can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/instance.py b/sdk/python/pulumi_alicloud/dts/instance.py index 3bfb110237..c48621d144 100644 --- a/sdk/python/pulumi_alicloud/dts/instance.py +++ b/sdk/python/pulumi_alicloud/dts/instance.py @@ -1075,6 +1075,8 @@ def __init__(__self__, destination_region=default_get_regions.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dts Instance can be imported using the id, e.g. @@ -1211,6 +1213,8 @@ def __init__(__self__, destination_region=default_get_regions.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Dts Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/job_monitor_rule.py b/sdk/python/pulumi_alicloud/dts/job_monitor_rule.py index 637c835600..cd267c4eab 100644 --- a/sdk/python/pulumi_alicloud/dts/job_monitor_rule.py +++ b/sdk/python/pulumi_alicloud/dts/job_monitor_rule.py @@ -323,6 +323,8 @@ def __init__(__self__, type="delay") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Job Monitor Rule can be imported using the id, e.g. @@ -466,6 +468,8 @@ def __init__(__self__, type="delay") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Job Monitor Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/migration_instance.py b/sdk/python/pulumi_alicloud/dts/migration_instance.py index a24b0769fb..b01df41306 100644 --- a/sdk/python/pulumi_alicloud/dts/migration_instance.py +++ b/sdk/python/pulumi_alicloud/dts/migration_instance.py @@ -422,6 +422,8 @@ def __init__(__self__, sync_architecture="oneway") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Migration Instance can be imported using the id, e.g. @@ -475,6 +477,8 @@ def __init__(__self__, sync_architecture="oneway") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Migration Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/migration_job.py b/sdk/python/pulumi_alicloud/dts/migration_job.py index 5b86fdace0..83a8cbbc4d 100644 --- a/sdk/python/pulumi_alicloud/dts/migration_job.py +++ b/sdk/python/pulumi_alicloud/dts/migration_job.py @@ -1170,6 +1170,8 @@ def __init__(__self__, data_synchronization=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; @@ -1344,6 +1346,8 @@ def __init__(__self__, data_synchronization=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/python/pulumi_alicloud/dts/subscription_job.py b/sdk/python/pulumi_alicloud/dts/subscription_job.py index f40c45cabe..4db818b029 100644 --- a/sdk/python/pulumi_alicloud/dts/subscription_job.py +++ b/sdk/python/pulumi_alicloud/dts/subscription_job.py @@ -1414,6 +1414,8 @@ def __init__(__self__, status="Normal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Subscription Job can be imported using the id, e.g. @@ -1562,6 +1564,8 @@ def __init__(__self__, status="Normal") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Subscription Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/synchronization_instance.py b/sdk/python/pulumi_alicloud/dts/synchronization_instance.py index 153ecfd89e..59413d28f3 100644 --- a/sdk/python/pulumi_alicloud/dts/synchronization_instance.py +++ b/sdk/python/pulumi_alicloud/dts/synchronization_instance.py @@ -538,6 +538,8 @@ def __init__(__self__, sync_architecture="oneway") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Synchronization Instance can be imported using the id, e.g. @@ -595,6 +597,8 @@ def __init__(__self__, sync_architecture="oneway") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import DTS Synchronization Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/dts/synchronization_job.py b/sdk/python/pulumi_alicloud/dts/synchronization_job.py index 1fb21eaa55..82c765c14f 100644 --- a/sdk/python/pulumi_alicloud/dts/synchronization_job.py +++ b/sdk/python/pulumi_alicloud/dts/synchronization_job.py @@ -1678,6 +1678,8 @@ def __init__(__self__, status="Synchronizing") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; @@ -1883,6 +1885,8 @@ def __init__(__self__, status="Synchronizing") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended; diff --git a/sdk/python/pulumi_alicloud/ebs/dedicated_block_storage_cluster.py b/sdk/python/pulumi_alicloud/ebs/dedicated_block_storage_cluster.py index 6bbf000d29..e915ee88ae 100644 --- a/sdk/python/pulumi_alicloud/ebs/dedicated_block_storage_cluster.py +++ b/sdk/python/pulumi_alicloud/ebs/dedicated_block_storage_cluster.py @@ -399,6 +399,8 @@ def __init__(__self__, region_id="cn-heyuan") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. @@ -444,6 +446,8 @@ def __init__(__self__, region_id="cn-heyuan") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ebs Dedicated Block Storage Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/disk_replica_group.py b/sdk/python/pulumi_alicloud/ebs/disk_replica_group.py index 29e3ae897c..8e942058d5 100644 --- a/sdk/python/pulumi_alicloud/ebs/disk_replica_group.py +++ b/sdk/python/pulumi_alicloud/ebs/disk_replica_group.py @@ -634,6 +634,8 @@ def __init__(__self__, rpo=900) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. @@ -722,6 +724,8 @@ def __init__(__self__, rpo=900) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Block Storage(EBS) Disk Replica Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/disk_replica_pair.py b/sdk/python/pulumi_alicloud/ebs/disk_replica_pair.py index 8f91cd6eb4..a2f73f3d6b 100644 --- a/sdk/python/pulumi_alicloud/ebs/disk_replica_pair.py +++ b/sdk/python/pulumi_alicloud/ebs/disk_replica_pair.py @@ -790,6 +790,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. @@ -906,6 +908,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Block Storage(EBS) Disk Replica Pair can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy.py b/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy.py index 77d0174649..96e4859197 100644 --- a/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy.py +++ b/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy.py @@ -456,6 +456,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Enterprise Snapshot Policy can be imported using the id, e.g. @@ -524,6 +526,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Enterprise Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py b/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py index d08f20343e..db2573377b 100644 --- a/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/ebs/enterprise_snapshot_policy_attachment.py @@ -147,6 +147,8 @@ def __init__(__self__, disk_id=default_jk_w46o.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. @@ -209,6 +211,8 @@ def __init__(__self__, disk_id=default_jk_w46o.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Enterprise Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/replica_group_drill.py b/sdk/python/pulumi_alicloud/ebs/replica_group_drill.py index 9bf2189fdd..a8b8c286ef 100644 --- a/sdk/python/pulumi_alicloud/ebs/replica_group_drill.py +++ b/sdk/python/pulumi_alicloud/ebs/replica_group_drill.py @@ -125,6 +125,8 @@ def __init__(__self__, default = alicloud.ebs.ReplicaGroupDrill("default", group_id="pg-m1H9aaOUIGsDUwgZ") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Replica Group Drill can be imported using the id, e.g. @@ -165,6 +167,8 @@ def __init__(__self__, default = alicloud.ebs.ReplicaGroupDrill("default", group_id="pg-m1H9aaOUIGsDUwgZ") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Replica Group Drill can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/replica_pair_drill.py b/sdk/python/pulumi_alicloud/ebs/replica_pair_drill.py index a863b50292..39fbe45a8f 100644 --- a/sdk/python/pulumi_alicloud/ebs/replica_pair_drill.py +++ b/sdk/python/pulumi_alicloud/ebs/replica_pair_drill.py @@ -125,6 +125,8 @@ def __init__(__self__, default = alicloud.ebs.ReplicaPairDrill("default", pair_id="pair-cn-wwo3kjfq5001") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Replica Pair Drill can be imported using the id, e.g. @@ -165,6 +167,8 @@ def __init__(__self__, default = alicloud.ebs.ReplicaPairDrill("default", pair_id="pair-cn-wwo3kjfq5001") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Replica Pair Drill can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ebs/solution_instance.py b/sdk/python/pulumi_alicloud/ebs/solution_instance.py index 89e02c986a..283b33b42b 100644 --- a/sdk/python/pulumi_alicloud/ebs/solution_instance.py +++ b/sdk/python/pulumi_alicloud/ebs/solution_instance.py @@ -332,6 +332,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Solution Instance can be imported using the id, e.g. @@ -449,6 +451,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EBS Solution Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eci/container_group.py b/sdk/python/pulumi_alicloud/eci/container_group.py index 82844aff99..ef1685c22e 100644 --- a/sdk/python/pulumi_alicloud/eci/container_group.py +++ b/sdk/python/pulumi_alicloud/eci/container_group.py @@ -1193,6 +1193,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Container Group can be imported using the id, e.g. @@ -1349,6 +1351,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Container Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eci/image_cache.py b/sdk/python/pulumi_alicloud/eci/image_cache.py index a25863d2b3..f6f4dbbf86 100644 --- a/sdk/python/pulumi_alicloud/eci/image_cache.py +++ b/sdk/python/pulumi_alicloud/eci/image_cache.py @@ -446,6 +446,8 @@ def __init__(__self__, eip_instance_id=default_eip_address.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Image Cache can be imported using the id, e.g. @@ -520,6 +522,8 @@ def __init__(__self__, eip_instance_id=default_eip_address.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Image Cache can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eci/virtual_node.py b/sdk/python/pulumi_alicloud/eci/virtual_node.py index af1322ed40..e1d604fa66 100644 --- a/sdk/python/pulumi_alicloud/eci/virtual_node.py +++ b/sdk/python/pulumi_alicloud/eci/virtual_node.py @@ -441,6 +441,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Virtual Node can be imported using the id, e.g. @@ -525,6 +527,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECI Virtual Node can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecp/instance.py b/sdk/python/pulumi_alicloud/ecp/instance.py index d1078de2b5..afcf64f1fa 100644 --- a/sdk/python/pulumi_alicloud/ecp/instance.py +++ b/sdk/python/pulumi_alicloud/ecp/instance.py @@ -656,6 +656,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. @@ -744,6 +746,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecp/key_pair.py b/sdk/python/pulumi_alicloud/ecp/key_pair.py index b5f75349c3..ad09379dc7 100644 --- a/sdk/python/pulumi_alicloud/ecp/key_pair.py +++ b/sdk/python/pulumi_alicloud/ecp/key_pair.py @@ -123,6 +123,8 @@ def __init__(__self__, public_key_body="ssh-rsa AAAAxxxxxxxxxxtyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. @@ -162,6 +164,8 @@ def __init__(__self__, public_key_body="ssh-rsa AAAAxxxxxxxxxxtyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/_inputs.py b/sdk/python/pulumi_alicloud/ecs/_inputs.py index 628ec000f7..cdb82392c7 100644 --- a/sdk/python/pulumi_alicloud/ecs/_inputs.py +++ b/sdk/python/pulumi_alicloud/ecs/_inputs.py @@ -43,6 +43,8 @@ 'ImageFeaturesArgsDict', 'ImageImportDiskDeviceMappingArgs', 'ImageImportDiskDeviceMappingArgsDict', + 'InstanceCpuOptionsArgs', + 'InstanceCpuOptionsArgsDict', 'InstanceDataDiskArgs', 'InstanceDataDiskArgsDict', 'InstanceImageOptionsArgs', @@ -1654,6 +1656,78 @@ def oss_object(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "oss_object", value) +if not MYPY: + class InstanceCpuOptionsArgsDict(TypedDict): + core_count: NotRequired[pulumi.Input[_builtins.int]] + """ + The maximum number of partitions in the storage set. + """ + threads_per_core: NotRequired[pulumi.Input[_builtins.int]] + """ + The number of threads per CPU core. + """ + topology_type: NotRequired[pulumi.Input[_builtins.str]] + """ + The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + """ +elif False: + InstanceCpuOptionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceCpuOptionsArgs: + def __init__(__self__, *, + core_count: Optional[pulumi.Input[_builtins.int]] = None, + threads_per_core: Optional[pulumi.Input[_builtins.int]] = None, + topology_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] core_count: The maximum number of partitions in the storage set. + :param pulumi.Input[_builtins.int] threads_per_core: The number of threads per CPU core. + :param pulumi.Input[_builtins.str] topology_type: The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + """ + if core_count is not None: + pulumi.set(__self__, "core_count", core_count) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + if topology_type is not None: + pulumi.set(__self__, "topology_type", topology_type) + + @_builtins.property + @pulumi.getter(name="coreCount") + def core_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The maximum number of partitions in the storage set. + """ + return pulumi.get(self, "core_count") + + @core_count.setter + def core_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "core_count", value) + + @_builtins.property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The number of threads per CPU core. + """ + return pulumi.get(self, "threads_per_core") + + @threads_per_core.setter + def threads_per_core(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "threads_per_core", value) + + @_builtins.property + @pulumi.getter(name="topologyType") + def topology_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + """ + return pulumi.get(self, "topology_type") + + @topology_type.setter + def topology_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "topology_type", value) + + if not MYPY: class InstanceDataDiskArgsDict(TypedDict): size: pulumi.Input[_builtins.int] diff --git a/sdk/python/pulumi_alicloud/ecs/activation.py b/sdk/python/pulumi_alicloud/ecs/activation.py index 567eddc5b8..0b4cf24693 100644 --- a/sdk/python/pulumi_alicloud/ecs/activation.py +++ b/sdk/python/pulumi_alicloud/ecs/activation.py @@ -235,6 +235,8 @@ def __init__(__self__, time_to_live_in_hours=4) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Activation can be imported using the id, e.g. @@ -282,6 +284,8 @@ def __init__(__self__, time_to_live_in_hours=4) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Activation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/auto_provisioning_group.py b/sdk/python/pulumi_alicloud/ecs/auto_provisioning_group.py index d05db80af8..b37dd5f446 100644 --- a/sdk/python/pulumi_alicloud/ecs/auto_provisioning_group.py +++ b/sdk/python/pulumi_alicloud/ecs/auto_provisioning_group.py @@ -747,6 +747,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS auto provisioning group can be imported using the id, e.g. @@ -833,6 +835,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS auto provisioning group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/auto_snapshot_policy.py b/sdk/python/pulumi_alicloud/ecs/auto_snapshot_policy.py index 4a11cd3157..9f56c9dd9e 100644 --- a/sdk/python/pulumi_alicloud/ecs/auto_snapshot_policy.py +++ b/sdk/python/pulumi_alicloud/ecs/auto_snapshot_policy.py @@ -519,6 +519,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Auto Snapshot Policy can be imported using the id, e.g. @@ -585,6 +587,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/capacity_reservation.py b/sdk/python/pulumi_alicloud/ecs/capacity_reservation.py index 742b1d5435..2a518932b6 100644 --- a/sdk/python/pulumi_alicloud/ecs/capacity_reservation.py +++ b/sdk/python/pulumi_alicloud/ecs/capacity_reservation.py @@ -546,6 +546,8 @@ def __init__(__self__, zone_ids=[default_get_zones.zones[0].id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ecs Capacity Reservation can be imported using the id, e.g. @@ -609,6 +611,8 @@ def __init__(__self__, zone_ids=[default_get_zones.zones[0].id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ecs Capacity Reservation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/command.py b/sdk/python/pulumi_alicloud/ecs/command.py index e97c7c4c0a..928897e80a 100644 --- a/sdk/python/pulumi_alicloud/ecs/command.py +++ b/sdk/python/pulumi_alicloud/ecs/command.py @@ -291,6 +291,8 @@ def __init__(__self__, working_dir="/root") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Command can be imported using the id, e.g. @@ -338,6 +340,8 @@ def __init__(__self__, working_dir="/root") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Command can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/disk.py b/sdk/python/pulumi_alicloud/ecs/disk.py index a4b1f7331c..f9b43b961b 100644 --- a/sdk/python/pulumi_alicloud/ecs/disk.py +++ b/sdk/python/pulumi_alicloud/ecs/disk.py @@ -925,6 +925,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud disk can be imported using the id, e.g. @@ -987,6 +989,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Cloud disk can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/disk_attachment.py b/sdk/python/pulumi_alicloud/ecs/disk_attachment.py index b584f17470..47a9bd1f1e 100644 --- a/sdk/python/pulumi_alicloud/ecs/disk_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/disk_attachment.py @@ -253,6 +253,8 @@ def __init__(__self__, instance_id=ecs_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The disk attachment can be imported using the id, e.g. @@ -310,6 +312,8 @@ def __init__(__self__, instance_id=ecs_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The disk attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_auto_snapshot_policy_attachment.py b/sdk/python/pulumi_alicloud/ecs/ecs_auto_snapshot_policy_attachment.py index e41993ef25..e3b5090313 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_auto_snapshot_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_auto_snapshot_policy_attachment.py @@ -152,6 +152,8 @@ def __init__(__self__, disk_id=example_ecs_disk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. @@ -220,6 +222,8 @@ def __init__(__self__, disk_id=example_ecs_disk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Auto Snapshot Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_dedicated_host_cluster.py b/sdk/python/pulumi_alicloud/ecs/ecs_dedicated_host_cluster.py index ff98133891..194b79a452 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_dedicated_host_cluster.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_dedicated_host_cluster.py @@ -229,6 +229,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Dedicated Host Cluster can be imported using the id, e.g. @@ -277,6 +279,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Dedicated Host Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_deployment_set.py b/sdk/python/pulumi_alicloud/ecs/ecs_deployment_set.py index fa1ddaf80c..82205da80b 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_deployment_set.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_deployment_set.py @@ -286,6 +286,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Deployment Set can be imported using the id, e.g. @@ -336,6 +338,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Deployment Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_disk_attachment.py b/sdk/python/pulumi_alicloud/ecs/ecs_disk_attachment.py index c3f235f3fa..93e3e41c62 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_disk_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_disk_attachment.py @@ -314,6 +314,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The disk attachment can be imported using the id, e.g. @@ -400,6 +402,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The disk attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_image_component.py b/sdk/python/pulumi_alicloud/ecs/ecs_image_component.py index 02a2fc1aaa..7dd04e7036 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_image_component.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_image_component.py @@ -418,6 +418,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Component can be imported using the id, e.g. @@ -489,6 +491,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Component can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_image_pipeline.py b/sdk/python/pulumi_alicloud/ecs/ecs_image_pipeline.py index 35fff10fa6..e23f84fd1a 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_image_pipeline.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_image_pipeline.py @@ -594,6 +594,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Pipeline can be imported using the id, e.g. @@ -682,6 +684,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Pipeline can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_instance_set.py b/sdk/python/pulumi_alicloud/ecs/ecs_instance_set.py index 6b42f1257e..053026db0a 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_instance_set.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_instance_set.py @@ -1610,6 +1610,8 @@ def __init__(__self__, zone_id=default.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.int] amount: The number of instances that you want to create. Valid values: `1` to `100`. @@ -1731,6 +1733,8 @@ def __init__(__self__, zone_id=default.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param EcsInstanceSetArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_invocation.py b/sdk/python/pulumi_alicloud/ecs/ecs_invocation.py index dec160a22f..2a50b29768 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_invocation.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_invocation.py @@ -410,6 +410,8 @@ def __init__(__self__, instance_ids=[default_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Invocation can be imported using the id, e.g. @@ -510,6 +512,8 @@ def __init__(__self__, instance_ids=[default_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Invocation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_key_pair.py b/sdk/python/pulumi_alicloud/ecs/ecs_key_pair.py index 08b9550fd5..b86f71c833 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_key_pair.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_key_pair.py @@ -318,6 +318,8 @@ def __init__(__self__, public_key="ssh-rsa AAAAB3Nza12345678qwertyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Key Pair can be imported using the id, e.g. @@ -364,6 +366,8 @@ def __init__(__self__, public_key="ssh-rsa AAAAB3Nza12345678qwertyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Key Pair can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_key_pair_attachment.py b/sdk/python/pulumi_alicloud/ecs/ecs_key_pair_attachment.py index 405f59caeb..bbdef15baf 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_key_pair_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_key_pair_attachment.py @@ -228,6 +228,8 @@ def __init__(__self__, instance_ids=[example_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Key Pair Attachment can be imported using the id, e.g. @@ -299,6 +301,8 @@ def __init__(__self__, instance_ids=[example_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Key Pair Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_launch_template.py b/sdk/python/pulumi_alicloud/ecs/ecs_launch_template.py index 3caa187c10..f69c01cbea 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_launch_template.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_launch_template.py @@ -2029,6 +2029,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Launch Template can be imported using the id, e.g. @@ -2206,6 +2208,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Launch Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface.py b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface.py index c0fcaef5b2..833b515d2d 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface.py @@ -883,6 +883,8 @@ def __init__(__self__, resource_group_id=default_get_resource_groups.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface can be imported using the id, e.g. @@ -969,6 +971,8 @@ def __init__(__self__, resource_group_id=default_get_resource_groups.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_attachment.py b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_attachment.py index c3b16f004f..c43c892e9e 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_attachment.py @@ -264,6 +264,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface Attachment can be imported using the id, e.g. @@ -348,6 +350,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_permission.py b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_permission.py index 73ece345eb..aa19f12f8d 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_permission.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_network_interface_permission.py @@ -233,6 +233,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface Permission can be imported using the id, e.g. @@ -303,6 +305,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Network Interface Permission can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_prefix_list.py b/sdk/python/pulumi_alicloud/ecs/ecs_prefix_list.py index 9de76f899d..a70b1c9af9 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_prefix_list.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_prefix_list.py @@ -228,6 +228,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Prefix List can be imported using the id, e.g. @@ -276,6 +278,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Prefix List can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_session_manager_status.py b/sdk/python/pulumi_alicloud/ecs/ecs_session_manager_status.py index 52f5106853..9f2a8e5ff5 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_session_manager_status.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_session_manager_status.py @@ -123,6 +123,8 @@ def __init__(__self__, status="Disabled") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Session Manager Status can be imported using the id, e.g. @@ -162,6 +164,8 @@ def __init__(__self__, status="Disabled") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Session Manager Status can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_snapshot.py b/sdk/python/pulumi_alicloud/ecs/ecs_snapshot.py index 9615883174..3fd30ea1cd 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_snapshot.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_snapshot.py @@ -539,6 +539,8 @@ def __init__(__self__, retention_days=20) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Snapshot can be imported using the id, e.g. @@ -633,6 +635,8 @@ def __init__(__self__, retention_days=20) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/ecs_snapshot_group.py b/sdk/python/pulumi_alicloud/ecs/ecs_snapshot_group.py index 088f3bf131..28c8ba00b9 100644 --- a/sdk/python/pulumi_alicloud/ecs/ecs_snapshot_group.py +++ b/sdk/python/pulumi_alicloud/ecs/ecs_snapshot_group.py @@ -415,6 +415,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Snapshot Group can be imported using the id, e.g. @@ -504,6 +506,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Snapshot Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/eip.py b/sdk/python/pulumi_alicloud/ecs/eip.py index b9762bde20..c3d2e0ac4e 100644 --- a/sdk/python/pulumi_alicloud/ecs/eip.py +++ b/sdk/python/pulumi_alicloud/ecs/eip.py @@ -851,6 +851,8 @@ def __init__(__self__, internet_charge_type="PayByBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing eip module @@ -911,6 +913,8 @@ def __init__(__self__, internet_charge_type="PayByBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing eip module diff --git a/sdk/python/pulumi_alicloud/ecs/eip_association.py b/sdk/python/pulumi_alicloud/ecs/eip_association.py index 1b3cdd8222..c55ea7b634 100644 --- a/sdk/python/pulumi_alicloud/ecs/eip_association.py +++ b/sdk/python/pulumi_alicloud/ecs/eip_association.py @@ -412,6 +412,8 @@ def __init__(__self__, instance_id=example_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Association can be imported using the id, e.g. @@ -517,6 +519,8 @@ def __init__(__self__, instance_id=example_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/eip_segment_address.py b/sdk/python/pulumi_alicloud/ecs/eip_segment_address.py index b43a16100c..5123bcf69d 100644 --- a/sdk/python/pulumi_alicloud/ecs/eip_segment_address.py +++ b/sdk/python/pulumi_alicloud/ecs/eip_segment_address.py @@ -428,6 +428,8 @@ def __init__(__self__, netmode="public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Segment Address can be imported using the id, e.g. @@ -500,6 +502,8 @@ def __init__(__self__, netmode="public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Segment Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/elasticity_assurance.py b/sdk/python/pulumi_alicloud/ecs/elasticity_assurance.py index 9004441aab..985b4d93e5 100644 --- a/sdk/python/pulumi_alicloud/ecs/elasticity_assurance.py +++ b/sdk/python/pulumi_alicloud/ecs/elasticity_assurance.py @@ -733,6 +733,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Elasticity Assurance can be imported using the id, e.g. @@ -813,6 +815,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Elasticity Assurance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/hpc_cluster.py b/sdk/python/pulumi_alicloud/ecs/hpc_cluster.py index 733a9aa5a3..e3f35a3914 100644 --- a/sdk/python/pulumi_alicloud/ecs/hpc_cluster.py +++ b/sdk/python/pulumi_alicloud/ecs/hpc_cluster.py @@ -125,6 +125,8 @@ def __init__(__self__, description="For Terraform Test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Hpc Cluster can be imported using the id, e.g. @@ -164,6 +166,8 @@ def __init__(__self__, description="For Terraform Test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Hpc Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/image.py b/sdk/python/pulumi_alicloud/ecs/image.py index 3ee0d47a32..d6daed7b5f 100644 --- a/sdk/python/pulumi_alicloud/ecs/image.py +++ b/sdk/python/pulumi_alicloud/ecs/image.py @@ -823,6 +823,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image can be imported using the id, e.g. @@ -940,6 +942,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/image_copy.py b/sdk/python/pulumi_alicloud/ecs/image_copy.py index 818a4c8de5..06220bf89e 100644 --- a/sdk/python/pulumi_alicloud/ecs/image_copy.py +++ b/sdk/python/pulumi_alicloud/ecs/image_copy.py @@ -421,6 +421,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Attributes Reference0 The following attributes are exported: @@ -508,6 +510,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Attributes Reference0 The following attributes are exported: diff --git a/sdk/python/pulumi_alicloud/ecs/image_export.py b/sdk/python/pulumi_alicloud/ecs/image_export.py index d700a3fbce..4637320140 100644 --- a/sdk/python/pulumi_alicloud/ecs/image_export.py +++ b/sdk/python/pulumi_alicloud/ecs/image_export.py @@ -191,6 +191,8 @@ def __init__(__self__, oss_prefix="ecsExport") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] image_id: The source image ID. @@ -258,6 +260,8 @@ def __init__(__self__, oss_prefix="ecsExport") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param ImageExportArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ecs/image_import.py b/sdk/python/pulumi_alicloud/ecs/image_import.py index 09207b2df1..a6269ed860 100644 --- a/sdk/python/pulumi_alicloud/ecs/image_import.py +++ b/sdk/python/pulumi_alicloud/ecs/image_import.py @@ -358,6 +358,8 @@ def handler(event, context): }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Import can be imported using the id, e.g. @@ -434,6 +436,8 @@ def handler(event, context): }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Image Import can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/image_share_permission.py b/sdk/python/pulumi_alicloud/ecs/image_share_permission.py index ceeed51d8e..10036f3c48 100644 --- a/sdk/python/pulumi_alicloud/ecs/image_share_permission.py +++ b/sdk/python/pulumi_alicloud/ecs/image_share_permission.py @@ -160,6 +160,8 @@ def __init__(__self__, account_id=another_uid) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Attributes Reference0 The following attributes are exported: @@ -242,6 +244,8 @@ def __init__(__self__, account_id=another_uid) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Attributes Reference0 The following attributes are exported: diff --git a/sdk/python/pulumi_alicloud/ecs/instance.py b/sdk/python/pulumi_alicloud/ecs/instance.py index bbeb3d0f19..1f0cffc1ca 100644 --- a/sdk/python/pulumi_alicloud/ecs/instance.py +++ b/sdk/python/pulumi_alicloud/ecs/instance.py @@ -25,6 +25,7 @@ def __init__(__self__, *, auto_release_time: Optional[pulumi.Input[_builtins.str]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + cpu_options: Optional[pulumi.Input['InstanceCpuOptionsArgs']] = None, credit_specification: Optional[pulumi.Input[_builtins.str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]] = None, dedicated_host_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -111,6 +112,21 @@ def __init__(__self__, *, - [1, 2, 3, 6, 12] when `period_unit` in "Month" - [1, 2, 3] when `period_unit` in "Week" :param pulumi.Input[_builtins.str] availability_zone: The Zone to start the instance in. It is ignored and will be computed when set `vswitch_id`. + :param pulumi.Input['InstanceCpuOptionsArgs'] cpu_options: The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.str] credit_specification: Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. :param pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]] data_disks: The list of data disks created with instance. See `data_disks` below. :param pulumi.Input[_builtins.str] dedicated_host_id: The ID of the dedicated host on which to create the instance. If you set the DedicatedHostId parameter, the `spot_strategy` and `spot_price_limit` parameters cannot be set. This is because preemptible instances cannot be created on dedicated hosts. @@ -133,20 +149,6 @@ def __init__(__self__, *, - required: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. :param pulumi.Input[_builtins.str] image_id: The Image to use for the instance. ECS instance's image can be replaced via changing `image_id`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launch_template_id` or `launch_template_name` to specify a launch template, you must specify `image_id`. :param pulumi.Input['InstanceImageOptionsArgs'] image_options: The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.bool] include_data_disks: Whether to change instance disks charge type when changing instance charge type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. **NOTE:** From version 1.243.0, the default value `PostPaid` will be removed. **NOTE:** Since 1.9.6, it can be changed each other between `PostPaid` and `PrePaid`. @@ -253,6 +255,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_renew_period", auto_renew_period) if availability_zone is not None: pulumi.set(__self__, "availability_zone", availability_zone) + if cpu_options is not None: + pulumi.set(__self__, "cpu_options", cpu_options) if credit_specification is not None: pulumi.set(__self__, "credit_specification", credit_specification) if data_disks is not None: @@ -462,6 +466,32 @@ def availability_zone(self) -> Optional[pulumi.Input[_builtins.str]]: def availability_zone(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "availability_zone", value) + @_builtins.property + @pulumi.getter(name="cpuOptions") + def cpu_options(self) -> Optional[pulumi.Input['InstanceCpuOptionsArgs']]: + """ + The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + """ + return pulumi.get(self, "cpu_options") + + @cpu_options.setter + def cpu_options(self, value: Optional[pulumi.Input['InstanceCpuOptionsArgs']]): + pulumi.set(self, "cpu_options", value) + @_builtins.property @pulumi.getter(name="creditSpecification") def credit_specification(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -653,20 +683,6 @@ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]): def image_options(self) -> Optional[pulumi.Input['InstanceImageOptionsArgs']]: """ The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. """ return pulumi.get(self, "image_options") @@ -1438,6 +1454,7 @@ def __init__(__self__, *, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, cpu: Optional[pulumi.Input[_builtins.int]] = None, + cpu_options: Optional[pulumi.Input['InstanceCpuOptionsArgs']] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, credit_specification: Optional[pulumi.Input[_builtins.str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]] = None, @@ -1536,6 +1553,21 @@ def __init__(__self__, *, - [1, 2, 3] when `period_unit` in "Week" :param pulumi.Input[_builtins.str] availability_zone: The Zone to start the instance in. It is ignored and will be computed when set `vswitch_id`. :param pulumi.Input[_builtins.int] cpu: The number of vCPUs. + :param pulumi.Input['InstanceCpuOptionsArgs'] cpu_options: The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.str] create_time: (Available since v1.232.0) The time when the instance was created. :param pulumi.Input[_builtins.str] credit_specification: Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. :param pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]] data_disks: The list of data disks created with instance. See `data_disks` below. @@ -1561,20 +1593,6 @@ def __init__(__self__, *, - required: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. :param pulumi.Input[_builtins.str] image_id: The Image to use for the instance. ECS instance's image can be replaced via changing `image_id`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launch_template_id` or `launch_template_name` to specify a launch template, you must specify `image_id`. :param pulumi.Input['InstanceImageOptionsArgs'] image_options: The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.bool] include_data_disks: Whether to change instance disks charge type when changing instance charge type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. **NOTE:** From version 1.243.0, the default value `PostPaid` will be removed. **NOTE:** Since 1.9.6, it can be changed each other between `PostPaid` and `PrePaid`. @@ -1691,6 +1709,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if cpu is not None: pulumi.set(__self__, "cpu", cpu) + if cpu_options is not None: + pulumi.set(__self__, "cpu_options", cpu_options) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if credit_specification is not None: @@ -1934,6 +1954,32 @@ def cpu(self) -> Optional[pulumi.Input[_builtins.int]]: def cpu(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "cpu", value) + @_builtins.property + @pulumi.getter(name="cpuOptions") + def cpu_options(self) -> Optional[pulumi.Input['InstanceCpuOptionsArgs']]: + """ + The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + """ + return pulumi.get(self, "cpu_options") + + @cpu_options.setter + def cpu_options(self, value: Optional[pulumi.Input['InstanceCpuOptionsArgs']]): + pulumi.set(self, "cpu_options", value) + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -2161,20 +2207,6 @@ def image_id(self, value: Optional[pulumi.Input[_builtins.str]]): def image_options(self) -> Optional[pulumi.Input['InstanceImageOptionsArgs']]: """ The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. """ return pulumi.get(self, "image_options") @@ -3044,6 +3076,7 @@ def __init__(__self__, auto_release_time: Optional[pulumi.Input[_builtins.str]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + cpu_options: Optional[pulumi.Input[Union['InstanceCpuOptionsArgs', 'InstanceCpuOptionsArgsDict']]] = None, credit_specification: Optional[pulumi.Input[_builtins.str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDataDiskArgs', 'InstanceDataDiskArgsDict']]]]] = None, dedicated_host_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -3186,6 +3219,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing ecs-instance module @@ -3209,6 +3244,21 @@ def __init__(__self__, - [1, 2, 3, 6, 12] when `period_unit` in "Month" - [1, 2, 3] when `period_unit` in "Week" :param pulumi.Input[_builtins.str] availability_zone: The Zone to start the instance in. It is ignored and will be computed when set `vswitch_id`. + :param pulumi.Input[Union['InstanceCpuOptionsArgs', 'InstanceCpuOptionsArgsDict']] cpu_options: The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.str] credit_specification: Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceDataDiskArgs', 'InstanceDataDiskArgsDict']]]] data_disks: The list of data disks created with instance. See `data_disks` below. :param pulumi.Input[_builtins.str] dedicated_host_id: The ID of the dedicated host on which to create the instance. If you set the DedicatedHostId parameter, the `spot_strategy` and `spot_price_limit` parameters cannot be set. This is because preemptible instances cannot be created on dedicated hosts. @@ -3231,20 +3281,6 @@ def __init__(__self__, - required: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. :param pulumi.Input[_builtins.str] image_id: The Image to use for the instance. ECS instance's image can be replaced via changing `image_id`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launch_template_id` or `launch_template_name` to specify a launch template, you must specify `image_id`. :param pulumi.Input[Union['InstanceImageOptionsArgs', 'InstanceImageOptionsArgsDict']] image_options: The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.bool] include_data_disks: Whether to change instance disks charge type when changing instance charge type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. **NOTE:** From version 1.243.0, the default value `PostPaid` will be removed. **NOTE:** Since 1.9.6, it can be changed each other between `PostPaid` and `PrePaid`. @@ -3411,6 +3447,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing ecs-instance module @@ -3443,6 +3481,7 @@ def _internal_init(__self__, auto_release_time: Optional[pulumi.Input[_builtins.str]] = None, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + cpu_options: Optional[pulumi.Input[Union['InstanceCpuOptionsArgs', 'InstanceCpuOptionsArgsDict']]] = None, credit_specification: Optional[pulumi.Input[_builtins.str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDataDiskArgs', 'InstanceDataDiskArgsDict']]]]] = None, dedicated_host_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -3532,6 +3571,7 @@ def _internal_init(__self__, __props__.__dict__["auto_release_time"] = auto_release_time __props__.__dict__["auto_renew_period"] = auto_renew_period __props__.__dict__["availability_zone"] = availability_zone + __props__.__dict__["cpu_options"] = cpu_options __props__.__dict__["credit_specification"] = credit_specification __props__.__dict__["data_disks"] = data_disks __props__.__dict__["dedicated_host_id"] = dedicated_host_id @@ -3637,6 +3677,7 @@ def get(resource_name: str, auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, cpu: Optional[pulumi.Input[_builtins.int]] = None, + cpu_options: Optional[pulumi.Input[Union['InstanceCpuOptionsArgs', 'InstanceCpuOptionsArgsDict']]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, credit_specification: Optional[pulumi.Input[_builtins.str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceDataDiskArgs', 'InstanceDataDiskArgsDict']]]]] = None, @@ -3740,6 +3781,21 @@ def get(resource_name: str, - [1, 2, 3] when `period_unit` in "Week" :param pulumi.Input[_builtins.str] availability_zone: The Zone to start the instance in. It is ignored and will be computed when set `vswitch_id`. :param pulumi.Input[_builtins.int] cpu: The number of vCPUs. + :param pulumi.Input[Union['InstanceCpuOptionsArgs', 'InstanceCpuOptionsArgsDict']] cpu_options: The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.str] create_time: (Available since v1.232.0) The time when the instance was created. :param pulumi.Input[_builtins.str] credit_specification: Performance mode of the t5 burstable instance. Valid values: 'Standard', 'Unlimited'. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceDataDiskArgs', 'InstanceDataDiskArgsDict']]]] data_disks: The list of data disks created with instance. See `data_disks` below. @@ -3765,20 +3821,6 @@ def get(resource_name: str, - required: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. :param pulumi.Input[_builtins.str] image_id: The Image to use for the instance. ECS instance's image can be replaced via changing `image_id`. When it is changed, the instance will reboot to make the change take effect. If you do not use `launch_template_id` or `launch_template_name` to specify a launch template, you must specify `image_id`. :param pulumi.Input[Union['InstanceImageOptionsArgs', 'InstanceImageOptionsArgsDict']] image_options: The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. :param pulumi.Input[_builtins.bool] include_data_disks: Whether to change instance disks charge type when changing instance charge type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. **NOTE:** From version 1.243.0, the default value `PostPaid` will be removed. **NOTE:** Since 1.9.6, it can be changed each other between `PostPaid` and `PrePaid`. @@ -3891,6 +3933,7 @@ def get(resource_name: str, __props__.__dict__["auto_renew_period"] = auto_renew_period __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["cpu"] = cpu + __props__.__dict__["cpu_options"] = cpu_options __props__.__dict__["create_time"] = create_time __props__.__dict__["credit_specification"] = credit_specification __props__.__dict__["data_disks"] = data_disks @@ -4025,6 +4068,28 @@ def cpu(self) -> pulumi.Output[_builtins.int]: """ return pulumi.get(self, "cpu") + @_builtins.property + @pulumi.getter(name="cpuOptions") + def cpu_options(self) -> pulumi.Output['outputs.InstanceCpuOptions']: + """ + The options of cpu. See `cpu_options` below. + + > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. + + > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. + + > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. + + > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. + + > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. + Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). + However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". + + > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. + """ + return pulumi.get(self, "cpu_options") + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[_builtins.str]: @@ -4180,20 +4245,6 @@ def image_id(self) -> pulumi.Output[_builtins.str]: def image_options(self) -> pulumi.Output['outputs.InstanceImageOptions']: """ The options of images. See `image_options` below. - - > **NOTE:** System disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk. - - > **NOTE:** From version 1.5.0, instance's charge type can be changed to `PrePaid` by specifying `period` and `period_unit`, but it is irreversible. - - > **NOTE:** From version 1.5.0, instance's private IP address can be specified when creating VPC network instance. - - > **NOTE:** From version 1.5.0, instance's vswitch and private IP can be changed in the same availability zone. When they are changed, the instance will reboot to make the change take effect. - - > **NOTE:** From version 1.7.0, setting "internet_max_bandwidth_out" larger than 0 can allocate a public IP for an instance. - Setting "internet_max_bandwidth_out" to 0 can release allocated public IP for VPC instance(For Classic instnace, its public IP cannot be release once it allocated, even thougth its bandwidth out is 0). - However, at present, 'PrePaid' instance cannot narrow its max bandwidth out when its 'internet_charge_type' is "PayByBandwidth". - - > **NOTE:** From version 1.7.0, instance's type can be changed. When it is changed, the instance will reboot to make the change take effect. """ return pulumi.get(self, "image_options") diff --git a/sdk/python/pulumi_alicloud/ecs/key_pair.py b/sdk/python/pulumi_alicloud/ecs/key_pair.py index 7bfe7480cf..96cbe62911 100644 --- a/sdk/python/pulumi_alicloud/ecs/key_pair.py +++ b/sdk/python/pulumi_alicloud/ecs/key_pair.py @@ -300,6 +300,8 @@ def __init__(__self__, public_key="ssh-rsa AAAAB3Nza12345678qwertyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Key pair can be imported using the name, e.g. @@ -343,6 +345,8 @@ def __init__(__self__, public_key="ssh-rsa AAAAB3Nza12345678qwertyuudsfsg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Key pair can be imported using the name, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/launch_template.py b/sdk/python/pulumi_alicloud/ecs/launch_template.py index b72fe3e2ed..5a9613deba 100644 --- a/sdk/python/pulumi_alicloud/ecs/launch_template.py +++ b/sdk/python/pulumi_alicloud/ecs/launch_template.py @@ -1821,6 +1821,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Launch Template can be imported using the id, e.g. @@ -1951,6 +1953,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Launch Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/outputs.py b/sdk/python/pulumi_alicloud/ecs/outputs.py index 4d78fde16b..2cd88855b8 100644 --- a/sdk/python/pulumi_alicloud/ecs/outputs.py +++ b/sdk/python/pulumi_alicloud/ecs/outputs.py @@ -30,6 +30,7 @@ 'ImageDiskDeviceMapping', 'ImageFeatures', 'ImageImportDiskDeviceMapping', + 'InstanceCpuOptions', 'InstanceDataDisk', 'InstanceImageOptions', 'InstanceMaintenanceTime', @@ -1316,6 +1317,70 @@ def oss_object(self) -> Optional[_builtins.str]: return pulumi.get(self, "oss_object") +@pulumi.output_type +class InstanceCpuOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "coreCount": + suggest = "core_count" + elif key == "threadsPerCore": + suggest = "threads_per_core" + elif key == "topologyType": + suggest = "topology_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceCpuOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceCpuOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceCpuOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + core_count: Optional[_builtins.int] = None, + threads_per_core: Optional[_builtins.int] = None, + topology_type: Optional[_builtins.str] = None): + """ + :param _builtins.int core_count: The maximum number of partitions in the storage set. + :param _builtins.int threads_per_core: The number of threads per CPU core. + :param _builtins.str topology_type: The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + """ + if core_count is not None: + pulumi.set(__self__, "core_count", core_count) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + if topology_type is not None: + pulumi.set(__self__, "topology_type", topology_type) + + @_builtins.property + @pulumi.getter(name="coreCount") + def core_count(self) -> Optional[_builtins.int]: + """ + The maximum number of partitions in the storage set. + """ + return pulumi.get(self, "core_count") + + @_builtins.property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[_builtins.int]: + """ + The number of threads per CPU core. + """ + return pulumi.get(self, "threads_per_core") + + @_builtins.property + @pulumi.getter(name="topologyType") + def topology_type(self) -> Optional[_builtins.str]: + """ + The CPU topology type of the instance. Valid values: `ContinuousCoreToHTMapping`, `DiscreteCoreToHTMapping`. + """ + return pulumi.get(self, "topology_type") + + @pulumi.output_type class InstanceDataDisk(dict): @staticmethod diff --git a/sdk/python/pulumi_alicloud/ecs/ram_role_attachment.py b/sdk/python/pulumi_alicloud/ecs/ram_role_attachment.py index bf50c4e6ea..8b7dc0d9e6 100644 --- a/sdk/python/pulumi_alicloud/ecs/ram_role_attachment.py +++ b/sdk/python/pulumi_alicloud/ecs/ram_role_attachment.py @@ -210,6 +210,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Ram Role Attachment can be imported using the id, e.g. @@ -304,6 +306,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Ram Role Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/reserved_instance.py b/sdk/python/pulumi_alicloud/ecs/reserved_instance.py index 4f4eef3aa4..117cb5af98 100644 --- a/sdk/python/pulumi_alicloud/ecs/reserved_instance.py +++ b/sdk/python/pulumi_alicloud/ecs/reserved_instance.py @@ -682,6 +682,8 @@ def __init__(__self__, scope="Zone") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import reservedInstance can be imported using id, e.g. @@ -742,6 +744,8 @@ def __init__(__self__, scope="Zone") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import reservedInstance can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/security_group.py b/sdk/python/pulumi_alicloud/ecs/security_group.py index e5dbc41eb6..d4011e10ce 100644 --- a/sdk/python/pulumi_alicloud/ecs/security_group.py +++ b/sdk/python/pulumi_alicloud/ecs/security_group.py @@ -412,6 +412,8 @@ def __init__(__self__, vpc_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing security-group module @@ -481,6 +483,8 @@ def __init__(__self__, vpc_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing security-group module diff --git a/sdk/python/pulumi_alicloud/ecs/security_group_rule.py b/sdk/python/pulumi_alicloud/ecs/security_group_rule.py index 660094e48c..1661325388 100644 --- a/sdk/python/pulumi_alicloud/ecs/security_group_rule.py +++ b/sdk/python/pulumi_alicloud/ecs/security_group_rule.py @@ -524,6 +524,8 @@ def __init__(__self__, cidr_ip="0.0.0.0/0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing security-group module @@ -593,6 +595,8 @@ def __init__(__self__, cidr_ip="0.0.0.0/0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing security-group module diff --git a/sdk/python/pulumi_alicloud/ecs/snapshot.py b/sdk/python/pulumi_alicloud/ecs/snapshot.py index 075c0e40f8..f5c85867f1 100644 --- a/sdk/python/pulumi_alicloud/ecs/snapshot.py +++ b/sdk/python/pulumi_alicloud/ecs/snapshot.py @@ -441,6 +441,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Snapshot can be imported using the id, e.g. @@ -488,6 +490,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/snapshot_policy.py b/sdk/python/pulumi_alicloud/ecs/snapshot_policy.py index 7b209ebf2b..05fec7f316 100644 --- a/sdk/python/pulumi_alicloud/ecs/snapshot_policy.py +++ b/sdk/python/pulumi_alicloud/ecs/snapshot_policy.py @@ -451,6 +451,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Snapshot can be imported using the id, e.g. @@ -510,6 +512,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ecs/storage_capacity_unit.py b/sdk/python/pulumi_alicloud/ecs/storage_capacity_unit.py index 014ba64c8f..b02cdd5a87 100644 --- a/sdk/python/pulumi_alicloud/ecs/storage_capacity_unit.py +++ b/sdk/python/pulumi_alicloud/ecs/storage_capacity_unit.py @@ -281,6 +281,8 @@ def __init__(__self__, storage_capacity_unit_name="tftestname") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Storage Capacity Unit can be imported using the id, e.g. @@ -327,6 +329,8 @@ def __init__(__self__, storage_capacity_unit_name="tftestname") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECS Storage Capacity Unit can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/application.py b/sdk/python/pulumi_alicloud/edas/application.py index cd3cff3cc7..dab3612ff2 100644 --- a/sdk/python/pulumi_alicloud/edas/application.py +++ b/sdk/python/pulumi_alicloud/edas/application.py @@ -436,6 +436,8 @@ def __init__(__self__, package_type="JAR") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS application can be imported using the id, e.g. @@ -501,6 +503,8 @@ def __init__(__self__, package_type="JAR") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS application can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/application_deployment.py b/sdk/python/pulumi_alicloud/edas/application_deployment.py index 8608b4a923..d4ca99433a 100644 --- a/sdk/python/pulumi_alicloud/edas/application_deployment.py +++ b/sdk/python/pulumi_alicloud/edas/application_deployment.py @@ -246,6 +246,8 @@ def __init__(__self__, war_url="http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] app_id: The ID of the application that you want to deploy. @@ -321,6 +323,8 @@ def __init__(__self__, war_url="http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param ApplicationDeploymentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/edas/application_scale.py b/sdk/python/pulumi_alicloud/edas/application_scale.py index fdf07545e3..568e82c45e 100644 --- a/sdk/python/pulumi_alicloud/edas/application_scale.py +++ b/sdk/python/pulumi_alicloud/edas/application_scale.py @@ -255,6 +255,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] app_id: The ID of the application that you want to deploy. @@ -339,6 +341,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param ApplicationScaleArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/edas/cluster.py b/sdk/python/pulumi_alicloud/edas/cluster.py index 846a51a7ba..d3f2ca283e 100644 --- a/sdk/python/pulumi_alicloud/edas/cluster.py +++ b/sdk/python/pulumi_alicloud/edas/cluster.py @@ -230,6 +230,8 @@ def __init__(__self__, vpc_id=default_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS cluster can be imported using the id, e.g. @@ -281,6 +283,8 @@ def __init__(__self__, vpc_id=default_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/deploy_group.py b/sdk/python/pulumi_alicloud/edas/deploy_group.py index 4e705eb077..ae06b5be32 100644 --- a/sdk/python/pulumi_alicloud/edas/deploy_group.py +++ b/sdk/python/pulumi_alicloud/edas/deploy_group.py @@ -159,6 +159,8 @@ def __init__(__self__, group_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS deploy group can be imported using the id, e.g. @@ -218,6 +220,8 @@ def __init__(__self__, group_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS deploy group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/instance_cluster_attachment.py b/sdk/python/pulumi_alicloud/edas/instance_cluster_attachment.py index d7f1ef155e..f8bf8352eb 100644 --- a/sdk/python/pulumi_alicloud/edas/instance_cluster_attachment.py +++ b/sdk/python/pulumi_alicloud/edas/instance_cluster_attachment.py @@ -202,6 +202,8 @@ def __init__(__self__, instance_ids=[default_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] cluster_id: The ID of the cluster that you want to create the application. @@ -264,6 +266,8 @@ def __init__(__self__, instance_ids=[default_instance.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param InstanceClusterAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/edas/k8s_application.py b/sdk/python/pulumi_alicloud/edas/k8s_application.py index 4793ef0b9c..ece7d5560c 100644 --- a/sdk/python/pulumi_alicloud/edas/k8s_application.py +++ b/sdk/python/pulumi_alicloud/edas/k8s_application.py @@ -1167,6 +1167,8 @@ def __init__(__self__, application_descriotion=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS k8s application can be imported as below, e.g. @@ -1284,6 +1286,8 @@ def __init__(__self__, application_descriotion=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS k8s application can be imported as below, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/k8s_cluster.py b/sdk/python/pulumi_alicloud/edas/k8s_cluster.py index d6fbd8b91f..57f5e2d65f 100644 --- a/sdk/python/pulumi_alicloud/edas/k8s_cluster.py +++ b/sdk/python/pulumi_alicloud/edas/k8s_cluster.py @@ -249,6 +249,8 @@ def __init__(__self__, default_k8s_cluster = alicloud.edas.K8sCluster("default", cs_cluster_id=default_node_pool.cluster_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS cluster can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, default_k8s_cluster = alicloud.edas.K8sCluster("default", cs_cluster_id=default_node_pool.cluster_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/k8s_slb_attachment.py b/sdk/python/pulumi_alicloud/edas/k8s_slb_attachment.py index 4b7a8a97af..ea9047bf62 100644 --- a/sdk/python/pulumi_alicloud/edas/k8s_slb_attachment.py +++ b/sdk/python/pulumi_alicloud/edas/k8s_slb_attachment.py @@ -189,6 +189,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. @@ -291,6 +293,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Slb information of EDAS k8s application can be imported using the ID of an EDAS k8s application. e.g. diff --git a/sdk/python/pulumi_alicloud/edas/namespace.py b/sdk/python/pulumi_alicloud/edas/namespace.py index 5453ac0d57..741f8426fd 100644 --- a/sdk/python/pulumi_alicloud/edas/namespace.py +++ b/sdk/python/pulumi_alicloud/edas/namespace.py @@ -206,6 +206,8 @@ def __init__(__self__, namespace_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS Namespace can be imported using the id, e.g. @@ -258,6 +260,8 @@ def __init__(__self__, namespace_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EDAS Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/edas/slb_attachment.py b/sdk/python/pulumi_alicloud/edas/slb_attachment.py index f81a3c4f51..f4761477e6 100644 --- a/sdk/python/pulumi_alicloud/edas/slb_attachment.py +++ b/sdk/python/pulumi_alicloud/edas/slb_attachment.py @@ -334,6 +334,8 @@ def __init__(__self__, type=default_application_load_balancer.address_type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] app_id: The ID of the application to which you want to bind an SLB instance. @@ -418,6 +420,8 @@ def __init__(__self__, type=default_application_load_balancer.address_type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param SlbAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/eds/ad_connector_directory.py b/sdk/python/pulumi_alicloud/eds/ad_connector_directory.py index f75835918b..2d00177fff 100644 --- a/sdk/python/pulumi_alicloud/eds/ad_connector_directory.py +++ b/sdk/python/pulumi_alicloud/eds/ad_connector_directory.py @@ -492,6 +492,8 @@ def __init__(__self__, vswitch_ids=[default_switch.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ad Connector Directory can be imported using the id, e.g. @@ -568,6 +570,8 @@ def __init__(__self__, vswitch_ids=[default_switch.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ad Connector Directory can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/ad_connector_office_site.py b/sdk/python/pulumi_alicloud/eds/ad_connector_office_site.py index 65911d2201..3b02bd5616 100644 --- a/sdk/python/pulumi_alicloud/eds/ad_connector_office_site.py +++ b/sdk/python/pulumi_alicloud/eds/ad_connector_office_site.py @@ -728,6 +728,8 @@ def __init__(__self__, sub_domain_name="child.example.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ad Connector Office Site can be imported using the id, e.g. @@ -806,6 +808,8 @@ def __init__(__self__, sub_domain_name="child.example.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ad Connector Office Site can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/bundle.py b/sdk/python/pulumi_alicloud/eds/bundle.py index 3af653dcb4..402e8aec07 100644 --- a/sdk/python/pulumi_alicloud/eds/bundle.py +++ b/sdk/python/pulumi_alicloud/eds/bundle.py @@ -376,6 +376,8 @@ def __init__(__self__, user_disk_performance_level="PL1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Bundle can be imported using the id, e.g. @@ -440,6 +442,8 @@ def __init__(__self__, user_disk_performance_level="PL1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Bundle can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/command.py b/sdk/python/pulumi_alicloud/eds/command.py index dadf2141cf..09273b26b8 100644 --- a/sdk/python/pulumi_alicloud/eds/command.py +++ b/sdk/python/pulumi_alicloud/eds/command.py @@ -280,6 +280,8 @@ def __init__(__self__, desktop_id=default_desktop.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Command can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, desktop_id=default_desktop.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Command can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/custom_property.py b/sdk/python/pulumi_alicloud/eds/custom_property.py index bb1e6b4017..1e17c61dbb 100644 --- a/sdk/python/pulumi_alicloud/eds/custom_property.py +++ b/sdk/python/pulumi_alicloud/eds/custom_property.py @@ -130,6 +130,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Custom Property can be imported using the id, e.g. @@ -173,6 +175,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Custom Property can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/desktop.py b/sdk/python/pulumi_alicloud/eds/desktop.py index 553bece561..4501af22f6 100644 --- a/sdk/python/pulumi_alicloud/eds/desktop.py +++ b/sdk/python/pulumi_alicloud/eds/desktop.py @@ -718,6 +718,8 @@ def __init__(__self__, desktop_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Desktop can be imported using the id, e.g. @@ -809,6 +811,8 @@ def __init__(__self__, desktop_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Desktop can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/ecd_policy_group.py b/sdk/python/pulumi_alicloud/eds/ecd_policy_group.py index 08ec6cf897..7ebac1620d 100644 --- a/sdk/python/pulumi_alicloud/eds/ecd_policy_group.py +++ b/sdk/python/pulumi_alicloud/eds/ecd_policy_group.py @@ -720,6 +720,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. @@ -792,6 +794,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/image.py b/sdk/python/pulumi_alicloud/eds/image.py index c2446f7f3f..4cb4f816da 100644 --- a/sdk/python/pulumi_alicloud/eds/image.py +++ b/sdk/python/pulumi_alicloud/eds/image.py @@ -212,6 +212,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Image can be imported using the id, e.g. @@ -291,6 +293,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Image can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/nas_file_system.py b/sdk/python/pulumi_alicloud/eds/nas_file_system.py index c84cb50d7c..96726fc22f 100644 --- a/sdk/python/pulumi_alicloud/eds/nas_file_system.py +++ b/sdk/python/pulumi_alicloud/eds/nas_file_system.py @@ -286,6 +286,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Nas File System can be imported using the id, e.g. @@ -343,6 +345,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Nas File System can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/network_package.py b/sdk/python/pulumi_alicloud/eds/network_package.py index 7a1c9b99e1..e4ae7e3010 100644 --- a/sdk/python/pulumi_alicloud/eds/network_package.py +++ b/sdk/python/pulumi_alicloud/eds/network_package.py @@ -164,6 +164,8 @@ def __init__(__self__, office_site_id=default_simple_office_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Network Package can be imported using the id, e.g. @@ -212,6 +214,8 @@ def __init__(__self__, office_site_id=default_simple_office_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Network Package can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/ram_directory.py b/sdk/python/pulumi_alicloud/eds/ram_directory.py index e757746282..a9c38cf00e 100644 --- a/sdk/python/pulumi_alicloud/eds/ram_directory.py +++ b/sdk/python/pulumi_alicloud/eds/ram_directory.py @@ -255,6 +255,8 @@ def __init__(__self__, vswitch_ids=[default_switch.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ram Directory can be imported using the id, e.g. @@ -314,6 +316,8 @@ def __init__(__self__, vswitch_ids=[default_switch.id]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Ram Directory can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/simple_office_site.py b/sdk/python/pulumi_alicloud/eds/simple_office_site.py index 03e37c664c..f9679838d6 100644 --- a/sdk/python/pulumi_alicloud/eds/simple_office_site.py +++ b/sdk/python/pulumi_alicloud/eds/simple_office_site.py @@ -459,6 +459,8 @@ def __init__(__self__, office_site_name=f"terraform-example-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Simple Office Site can be imported using the id, e.g. @@ -513,6 +515,8 @@ def __init__(__self__, office_site_name=f"terraform-example-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Simple Office Site can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/snapshot.py b/sdk/python/pulumi_alicloud/eds/snapshot.py index c0e395e1ed..e13319546a 100644 --- a/sdk/python/pulumi_alicloud/eds/snapshot.py +++ b/sdk/python/pulumi_alicloud/eds/snapshot.py @@ -244,6 +244,8 @@ def __init__(__self__, source_disk_type="SYSTEM") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Snapshot can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, source_disk_type="SYSTEM") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eds/user.py b/sdk/python/pulumi_alicloud/eds/user.py index 4952e723f2..22b6d6ea46 100644 --- a/sdk/python/pulumi_alicloud/eds/user.py +++ b/sdk/python/pulumi_alicloud/eds/user.py @@ -224,6 +224,8 @@ def __init__(__self__, password="Example_123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD User can be imported using the id, e.g. @@ -268,6 +270,8 @@ def __init__(__self__, password="Example_123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ECD User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/_inputs.py b/sdk/python/pulumi_alicloud/eflo/_inputs.py index a17ccd90a8..fb4769a591 100644 --- a/sdk/python/pulumi_alicloud/eflo/_inputs.py +++ b/sdk/python/pulumi_alicloud/eflo/_inputs.py @@ -49,6 +49,10 @@ 'ExperimentPlanTemplateTemplatePipelineArgsDict', 'ExperimentPlanTemplateTemplatePipelineEnvParamsArgs', 'ExperimentPlanTemplateTemplatePipelineEnvParamsArgsDict', + 'HyperNodeDataDiskArgs', + 'HyperNodeDataDiskArgsDict', + 'NodeDataDiskArgs', + 'NodeDataDiskArgsDict', 'NodeGroupAttachmentDataDiskArgs', 'NodeGroupAttachmentDataDiskArgsDict', 'NodeGroupIpAllocationPolicyArgs', @@ -67,6 +71,20 @@ 'NodeGroupIpAllocationPolicyNodePolicyBondArgsDict', 'NodeGroupNodeArgs', 'NodeGroupNodeArgsDict', + 'NodeIpAllocationPolicyArgs', + 'NodeIpAllocationPolicyArgsDict', + 'NodeIpAllocationPolicyBondPolicyArgs', + 'NodeIpAllocationPolicyBondPolicyArgsDict', + 'NodeIpAllocationPolicyBondPolicyBondArgs', + 'NodeIpAllocationPolicyBondPolicyBondArgsDict', + 'NodeIpAllocationPolicyMachineTypePolicyArgs', + 'NodeIpAllocationPolicyMachineTypePolicyArgsDict', + 'NodeIpAllocationPolicyMachineTypePolicyBondArgs', + 'NodeIpAllocationPolicyMachineTypePolicyBondArgsDict', + 'NodeIpAllocationPolicyNodePolicyArgs', + 'NodeIpAllocationPolicyNodePolicyArgsDict', + 'NodeIpAllocationPolicyNodePolicyBondArgs', + 'NodeIpAllocationPolicyNodePolicyBondArgsDict', 'ResourceMachineTypesArgs', 'ResourceMachineTypesArgsDict', 'ResourceUserAccessParamArgs', @@ -1553,6 +1571,219 @@ def py_torch_version(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "py_torch_version", value) +if not MYPY: + class HyperNodeDataDiskArgsDict(TypedDict): + bursting_enabled: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether to enable Burst (performance Burst). + """ + category: NotRequired[pulumi.Input[_builtins.str]] + """ + The disk type. Value range: + - cloud_essd:ESSD cloud disk. + """ + delete_with_node: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether the data disk is unsubscribed and deleted with the node. + """ + performance_level: NotRequired[pulumi.Input[_builtins.str]] + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1: maximum random read/write IOPS 50000 for a single disk. + """ + provisioned_iops: NotRequired[pulumi.Input[_builtins.int]] + """ + ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + """ + size: NotRequired[pulumi.Input[_builtins.int]] + """ + The size of the disk. The unit is GiB. + """ +elif False: + HyperNodeDataDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HyperNodeDataDiskArgs: + def __init__(__self__, *, + bursting_enabled: Optional[pulumi.Input[_builtins.bool]] = None, + category: Optional[pulumi.Input[_builtins.str]] = None, + delete_with_node: Optional[pulumi.Input[_builtins.bool]] = None, + performance_level: Optional[pulumi.Input[_builtins.str]] = None, + provisioned_iops: Optional[pulumi.Input[_builtins.int]] = None, + size: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.bool] bursting_enabled: Whether to enable Burst (performance Burst). + :param pulumi.Input[_builtins.str] category: The disk type. Value range: + - cloud_essd:ESSD cloud disk. + :param pulumi.Input[_builtins.bool] delete_with_node: Whether the data disk is unsubscribed and deleted with the node. + :param pulumi.Input[_builtins.str] performance_level: When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1: maximum random read/write IOPS 50000 for a single disk. + :param pulumi.Input[_builtins.int] provisioned_iops: ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + :param pulumi.Input[_builtins.int] size: The size of the disk. The unit is GiB. + """ + if bursting_enabled is not None: + pulumi.set(__self__, "bursting_enabled", bursting_enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if delete_with_node is not None: + pulumi.set(__self__, "delete_with_node", delete_with_node) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + if provisioned_iops is not None: + pulumi.set(__self__, "provisioned_iops", provisioned_iops) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter(name="burstingEnabled") + def bursting_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable Burst (performance Burst). + """ + return pulumi.get(self, "bursting_enabled") + + @bursting_enabled.setter + def bursting_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "bursting_enabled", value) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The disk type. Value range: + - cloud_essd:ESSD cloud disk. + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "category", value) + + @_builtins.property + @pulumi.getter(name="deleteWithNode") + def delete_with_node(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether the data disk is unsubscribed and deleted with the node. + """ + return pulumi.get(self, "delete_with_node") + + @delete_with_node.setter + def delete_with_node(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "delete_with_node", value) + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1: maximum random read/write IOPS 50000 for a single disk. + """ + return pulumi.get(self, "performance_level") + + @performance_level.setter + def performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "performance_level", value) + + @_builtins.property + @pulumi.getter(name="provisionedIops") + def provisioned_iops(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + """ + return pulumi.get(self, "provisioned_iops") + + @provisioned_iops.setter + def provisioned_iops(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "provisioned_iops", value) + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The size of the disk. The unit is GiB. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "size", value) + + +if not MYPY: + class NodeDataDiskArgsDict(TypedDict): + category: NotRequired[pulumi.Input[_builtins.str]] + """ + Data disk type + """ + performance_level: NotRequired[pulumi.Input[_builtins.str]] + """ + Performance level + """ + size: NotRequired[pulumi.Input[_builtins.int]] + """ + Data disk size + """ +elif False: + NodeDataDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeDataDiskArgs: + def __init__(__self__, *, + category: Optional[pulumi.Input[_builtins.str]] = None, + performance_level: Optional[pulumi.Input[_builtins.str]] = None, + size: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] category: Data disk type + :param pulumi.Input[_builtins.str] performance_level: Performance level + :param pulumi.Input[_builtins.int] size: Data disk size + """ + if category is not None: + pulumi.set(__self__, "category", category) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Data disk type + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "category", value) + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Performance level + """ + return pulumi.get(self, "performance_level") + + @performance_level.setter + def performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "performance_level", value) + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Data disk size + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "size", value) + + if not MYPY: class NodeGroupAttachmentDataDiskArgsDict(TypedDict): category: NotRequired[pulumi.Input[_builtins.str]] @@ -2134,6 +2365,410 @@ def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "vswitch_id", value) +if not MYPY: + class NodeIpAllocationPolicyArgsDict(TypedDict): + bond_policy: NotRequired[pulumi.Input['NodeIpAllocationPolicyBondPolicyArgsDict']] + """ + Specify the cluster subnet ID based on the bond name See `bond_policy` below. + """ + machine_type_policies: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyArgsDict']]]] + """ + Model Assignment Policy See `machine_type_policy` below. + """ + node_policies: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyArgsDict']]]] + """ + Node allocation policy See `node_policy` below. + """ +elif False: + NodeIpAllocationPolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyArgs: + def __init__(__self__, *, + bond_policy: Optional[pulumi.Input['NodeIpAllocationPolicyBondPolicyArgs']] = None, + machine_type_policies: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyArgs']]]] = None, + node_policies: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyArgs']]]] = None): + """ + :param pulumi.Input['NodeIpAllocationPolicyBondPolicyArgs'] bond_policy: Specify the cluster subnet ID based on the bond name See `bond_policy` below. + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyArgs']]] machine_type_policies: Model Assignment Policy See `machine_type_policy` below. + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyArgs']]] node_policies: Node allocation policy See `node_policy` below. + """ + if bond_policy is not None: + pulumi.set(__self__, "bond_policy", bond_policy) + if machine_type_policies is not None: + pulumi.set(__self__, "machine_type_policies", machine_type_policies) + if node_policies is not None: + pulumi.set(__self__, "node_policies", node_policies) + + @_builtins.property + @pulumi.getter(name="bondPolicy") + def bond_policy(self) -> Optional[pulumi.Input['NodeIpAllocationPolicyBondPolicyArgs']]: + """ + Specify the cluster subnet ID based on the bond name See `bond_policy` below. + """ + return pulumi.get(self, "bond_policy") + + @bond_policy.setter + def bond_policy(self, value: Optional[pulumi.Input['NodeIpAllocationPolicyBondPolicyArgs']]): + pulumi.set(self, "bond_policy", value) + + @_builtins.property + @pulumi.getter(name="machineTypePolicies") + def machine_type_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyArgs']]]]: + """ + Model Assignment Policy See `machine_type_policy` below. + """ + return pulumi.get(self, "machine_type_policies") + + @machine_type_policies.setter + def machine_type_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyArgs']]]]): + pulumi.set(self, "machine_type_policies", value) + + @_builtins.property + @pulumi.getter(name="nodePolicies") + def node_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyArgs']]]]: + """ + Node allocation policy See `node_policy` below. + """ + return pulumi.get(self, "node_policies") + + @node_policies.setter + def node_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyArgs']]]]): + pulumi.set(self, "node_policies", value) + + +if not MYPY: + class NodeIpAllocationPolicyBondPolicyArgsDict(TypedDict): + bond_default_subnet: NotRequired[pulumi.Input[_builtins.str]] + """ + Default bond cluster subnet + """ + bonds: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyBondPolicyBondArgsDict']]]] + """ + Bond information See `bonds` below. + """ +elif False: + NodeIpAllocationPolicyBondPolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyBondPolicyArgs: + def __init__(__self__, *, + bond_default_subnet: Optional[pulumi.Input[_builtins.str]] = None, + bonds: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyBondPolicyBondArgs']]]] = None): + """ + :param pulumi.Input[_builtins.str] bond_default_subnet: Default bond cluster subnet + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyBondPolicyBondArgs']]] bonds: Bond information See `bonds` below. + """ + if bond_default_subnet is not None: + pulumi.set(__self__, "bond_default_subnet", bond_default_subnet) + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + + @_builtins.property + @pulumi.getter(name="bondDefaultSubnet") + def bond_default_subnet(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Default bond cluster subnet + """ + return pulumi.get(self, "bond_default_subnet") + + @bond_default_subnet.setter + def bond_default_subnet(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "bond_default_subnet", value) + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyBondPolicyBondArgs']]]]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + @bonds.setter + def bonds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyBondPolicyBondArgs']]]]): + pulumi.set(self, "bonds", value) + + +if not MYPY: + class NodeIpAllocationPolicyBondPolicyBondArgsDict(TypedDict): + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Bond Name + """ + subnet: NotRequired[pulumi.Input[_builtins.str]] + """ + IP source cluster subnet + """ +elif False: + NodeIpAllocationPolicyBondPolicyBondArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyBondPolicyBondArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + subnet: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Bond Name + :param pulumi.Input[_builtins.str] subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subnet", value) + + +if not MYPY: + class NodeIpAllocationPolicyMachineTypePolicyArgsDict(TypedDict): + bonds: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyBondArgsDict']]]] + """ + Bond information See `bonds` below. + """ + machine_type: NotRequired[pulumi.Input[_builtins.str]] + """ + Model + """ +elif False: + NodeIpAllocationPolicyMachineTypePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyMachineTypePolicyArgs: + def __init__(__self__, *, + bonds: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyBondArgs']]]] = None, + machine_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyBondArgs']]] bonds: Bond information See `bonds` below. + :param pulumi.Input[_builtins.str] machine_type: Model + """ + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + if machine_type is not None: + pulumi.set(__self__, "machine_type", machine_type) + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyBondArgs']]]]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + @bonds.setter + def bonds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyMachineTypePolicyBondArgs']]]]): + pulumi.set(self, "bonds", value) + + @_builtins.property + @pulumi.getter(name="machineType") + def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Model + """ + return pulumi.get(self, "machine_type") + + @machine_type.setter + def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "machine_type", value) + + +if not MYPY: + class NodeIpAllocationPolicyMachineTypePolicyBondArgsDict(TypedDict): + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Bond Name + """ + subnet: NotRequired[pulumi.Input[_builtins.str]] + """ + IP source cluster subnet + """ +elif False: + NodeIpAllocationPolicyMachineTypePolicyBondArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyMachineTypePolicyBondArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + subnet: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Bond Name + :param pulumi.Input[_builtins.str] subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subnet", value) + + +if not MYPY: + class NodeIpAllocationPolicyNodePolicyArgsDict(TypedDict): + bonds: NotRequired[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyBondArgsDict']]]] + """ + Bond information See `bonds` below. + """ + hostname: NotRequired[pulumi.Input[_builtins.str]] + """ + Host name + """ + node_id: NotRequired[pulumi.Input[_builtins.str]] + """ + Node ID + """ +elif False: + NodeIpAllocationPolicyNodePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyNodePolicyArgs: + def __init__(__self__, *, + bonds: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyBondArgs']]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, + node_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyBondArgs']]] bonds: Bond information See `bonds` below. + :param pulumi.Input[_builtins.str] hostname: Host name + :param pulumi.Input[_builtins.str] node_id: Node ID + """ + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if node_id is not None: + pulumi.set(__self__, "node_id", node_id) + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyBondArgs']]]]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + @bonds.setter + def bonds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyNodePolicyBondArgs']]]]): + pulumi.set(self, "bonds", value) + + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Host name + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname", value) + + @_builtins.property + @pulumi.getter(name="nodeId") + def node_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Node ID + """ + return pulumi.get(self, "node_id") + + @node_id.setter + def node_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_id", value) + + +if not MYPY: + class NodeIpAllocationPolicyNodePolicyBondArgsDict(TypedDict): + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Bond Name + """ + subnet: NotRequired[pulumi.Input[_builtins.str]] + """ + IP source cluster subnet + """ +elif False: + NodeIpAllocationPolicyNodePolicyBondArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NodeIpAllocationPolicyNodePolicyBondArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + subnet: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Bond Name + :param pulumi.Input[_builtins.str] subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + @subnet.setter + def subnet(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subnet", value) + + if not MYPY: class ResourceMachineTypesArgsDict(TypedDict): cpu_info: pulumi.Input[_builtins.str] diff --git a/sdk/python/pulumi_alicloud/eflo/cluster.py b/sdk/python/pulumi_alicloud/eflo/cluster.py index efd54ed3bc..3a3eb60001 100644 --- a/sdk/python/pulumi_alicloud/eflo/cluster.py +++ b/sdk/python/pulumi_alicloud/eflo/cluster.py @@ -569,6 +569,8 @@ def __init__(__self__, cluster_type="Lite") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Cluster can be imported using the id, e.g. @@ -698,6 +700,8 @@ def __init__(__self__, cluster_type="Lite") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/er.py b/sdk/python/pulumi_alicloud/eflo/er.py index 214bde31c1..9053f936b5 100644 --- a/sdk/python/pulumi_alicloud/eflo/er.py +++ b/sdk/python/pulumi_alicloud/eflo/er.py @@ -276,6 +276,8 @@ def __init__(__self__, description="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Er can be imported using the id, e.g. @@ -324,6 +326,8 @@ def __init__(__self__, description="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Er can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/experiment_plan.py b/sdk/python/pulumi_alicloud/eflo/experiment_plan.py index 3031c26f6e..9f3468c090 100644 --- a/sdk/python/pulumi_alicloud/eflo/experiment_plan.py +++ b/sdk/python/pulumi_alicloud/eflo/experiment_plan.py @@ -323,6 +323,8 @@ def __init__(__self__, template_id=defaultp_szn7t.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Experiment Plan can be imported using the id, e.g. @@ -418,6 +420,8 @@ def __init__(__self__, template_id=defaultp_szn7t.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Experiment Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/experiment_plan_template.py b/sdk/python/pulumi_alicloud/eflo/experiment_plan_template.py index 8ae590f11d..f4c047470f 100644 --- a/sdk/python/pulumi_alicloud/eflo/experiment_plan_template.py +++ b/sdk/python/pulumi_alicloud/eflo/experiment_plan_template.py @@ -252,6 +252,8 @@ def __init__(__self__, template_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Experiment Plan Template can be imported using the id, e.g. @@ -317,6 +319,8 @@ def __init__(__self__, template_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Experiment Plan Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/hyper_node.py b/sdk/python/pulumi_alicloud/eflo/hyper_node.py index 7381f54488..6b09188052 100644 --- a/sdk/python/pulumi_alicloud/eflo/hyper_node.py +++ b/sdk/python/pulumi_alicloud/eflo/hyper_node.py @@ -13,6 +13,8 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['HyperNodeArgs', 'HyperNode'] @@ -20,8 +22,13 @@ class HyperNodeArgs: def __init__(__self__, *, payment_type: pulumi.Input[_builtins.str], + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, payment_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, renewal_status: Optional[pulumi.Input[_builtins.str]] = None, @@ -29,30 +36,50 @@ def __init__(__self__, *, server_arch: Optional[pulumi.Input[_builtins.str]] = None, stage_num: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a HyperNode resource. :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource - :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the supercompute node belongs - :param pulumi.Input[_builtins.str] machine_type: The model used by the super computing node + :param pulumi.Input[_builtins.str] cluster_id: Cluster ID + :param pulumi.Input[_builtins.str] hostname: The host name prefix of the sub computing node + :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the hyper computing node belongs + :param pulumi.Input[_builtins.str] login_password: Login Password of the sub computing node + :param pulumi.Input[_builtins.str] machine_type: The model used by the hyper computing node + :param pulumi.Input[_builtins.str] node_group_id: Node group ID :param pulumi.Input[_builtins.int] payment_duration: The duration of the instance purchase, in units. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.int] renewal_duration: Number of auto-renewal cycles :param pulumi.Input[_builtins.str] renewal_status: Automatic renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[_builtins.str] server_arch: Super Node Architecture - :param pulumi.Input[_builtins.str] stage_num: The number of installments of the supercomputing node of the fixed fee installment. + :param pulumi.Input[_builtins.str] server_arch: Hyper Node Architecture + :param pulumi.Input[_builtins.str] stage_num: The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource - :param pulumi.Input[_builtins.str] zone_id: The zone where the super compute node is located + :param pulumi.Input[_builtins.str] user_data: Custom user data for the sub computing node + :param pulumi.Input[_builtins.str] vpc_id: The ID of the vpc to which the sub computing node + :param pulumi.Input[_builtins.str] vswitch_id: The ID of the vswitch to which the sub computing node + :param pulumi.Input[_builtins.str] zone_id: The zone where the hyper compute node is located """ pulumi.set(__self__, "payment_type", payment_type) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) if hpn_zone is not None: pulumi.set(__self__, "hpn_zone", hpn_zone) + if login_password is not None: + pulumi.set(__self__, "login_password", login_password) if machine_type is not None: pulumi.set(__self__, "machine_type", machine_type) + if node_group_id is not None: + pulumi.set(__self__, "node_group_id", node_group_id) if payment_duration is not None: pulumi.set(__self__, "payment_duration", payment_duration) if renewal_duration is not None: @@ -67,6 +94,12 @@ def __init__(__self__, *, pulumi.set(__self__, "stage_num", stage_num) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) if zone_id is not None: pulumi.set(__self__, "zone_id", zone_id) @@ -82,11 +115,44 @@ def payment_type(self) -> pulumi.Input[_builtins.str]: def payment_type(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "payment_type", value) + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Cluster ID + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]]: + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The host name prefix of the sub computing node + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname", value) + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Number of the cluster to which the supercompute node belongs + Number of the cluster to which the hyper computing node belongs """ return pulumi.get(self, "hpn_zone") @@ -94,11 +160,23 @@ def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: def hpn_zone(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "hpn_zone", value) + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Login Password of the sub computing node + """ + return pulumi.get(self, "login_password") + + @login_password.setter + def login_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "login_password", value) + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The model used by the super computing node + The model used by the hyper computing node """ return pulumi.get(self, "machine_type") @@ -106,6 +184,18 @@ def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "machine_type", value) + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Node group ID + """ + return pulumi.get(self, "node_group_id") + + @node_group_id.setter + def node_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_group_id", value) + @_builtins.property @pulumi.getter(name="paymentDuration") def payment_duration(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -160,7 +250,7 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="serverArch") def server_arch(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Super Node Architecture + Hyper Node Architecture """ return pulumi.get(self, "server_arch") @@ -172,7 +262,7 @@ def server_arch(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="stageNum") def stage_num(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The number of installments of the supercomputing node of the fixed fee installment. + The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -194,11 +284,47 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom user data for the sub computing node + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "user_data", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vpc to which the sub computing node + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vswitch to which the sub computing node + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + @_builtins.property @pulumi.getter(name="zoneId") def zone_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The zone where the super compute node is located + The zone where the hyper compute node is located """ return pulumi.get(self, "zone_id") @@ -210,9 +336,14 @@ def zone_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.input_type class _HyperNodeState: def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, payment_duration: Optional[pulumi.Input[_builtins.int]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, region_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -223,12 +354,19 @@ def __init__(__self__, *, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering HyperNode resources. + :param pulumi.Input[_builtins.str] cluster_id: Cluster ID :param pulumi.Input[_builtins.str] create_time: The creation time of the resource - :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the supercompute node belongs - :param pulumi.Input[_builtins.str] machine_type: The model used by the super computing node + :param pulumi.Input[_builtins.str] hostname: The host name prefix of the sub computing node + :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the hyper computing node belongs + :param pulumi.Input[_builtins.str] login_password: Login Password of the sub computing node + :param pulumi.Input[_builtins.str] machine_type: The model used by the hyper computing node + :param pulumi.Input[_builtins.str] node_group_id: Node group ID :param pulumi.Input[_builtins.int] payment_duration: The duration of the instance purchase, in units. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -237,20 +375,33 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.int] renewal_duration: Number of auto-renewal cycles :param pulumi.Input[_builtins.str] renewal_status: Automatic renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[_builtins.str] server_arch: Super Node Architecture - :param pulumi.Input[_builtins.str] stage_num: The number of installments of the supercomputing node of the fixed fee installment. + :param pulumi.Input[_builtins.str] server_arch: Hyper Node Architecture + :param pulumi.Input[_builtins.str] stage_num: The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource - :param pulumi.Input[_builtins.str] zone_id: The zone where the super compute node is located + :param pulumi.Input[_builtins.str] user_data: Custom user data for the sub computing node + :param pulumi.Input[_builtins.str] vpc_id: The ID of the vpc to which the sub computing node + :param pulumi.Input[_builtins.str] vswitch_id: The ID of the vswitch to which the sub computing node + :param pulumi.Input[_builtins.str] zone_id: The zone where the hyper compute node is located """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) if create_time is not None: pulumi.set(__self__, "create_time", create_time) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) if hpn_zone is not None: pulumi.set(__self__, "hpn_zone", hpn_zone) + if login_password is not None: + pulumi.set(__self__, "login_password", login_password) if machine_type is not None: pulumi.set(__self__, "machine_type", machine_type) + if node_group_id is not None: + pulumi.set(__self__, "node_group_id", node_group_id) if payment_duration is not None: pulumi.set(__self__, "payment_duration", payment_duration) if payment_type is not None: @@ -271,9 +422,27 @@ def __init__(__self__, *, pulumi.set(__self__, "status", status) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) if zone_id is not None: pulumi.set(__self__, "zone_id", zone_id) + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Cluster ID + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -286,11 +455,32 @@ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "create_time", value) + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]]: + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HyperNodeDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The host name prefix of the sub computing node + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname", value) + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Number of the cluster to which the supercompute node belongs + Number of the cluster to which the hyper computing node belongs """ return pulumi.get(self, "hpn_zone") @@ -298,11 +488,23 @@ def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: def hpn_zone(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "hpn_zone", value) + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Login Password of the sub computing node + """ + return pulumi.get(self, "login_password") + + @login_password.setter + def login_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "login_password", value) + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The model used by the super computing node + The model used by the hyper computing node """ return pulumi.get(self, "machine_type") @@ -310,6 +512,18 @@ def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "machine_type", value) + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Node group ID + """ + return pulumi.get(self, "node_group_id") + + @node_group_id.setter + def node_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_group_id", value) + @_builtins.property @pulumi.getter(name="paymentDuration") def payment_duration(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -388,7 +602,7 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="serverArch") def server_arch(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Super Node Architecture + Hyper Node Architecture """ return pulumi.get(self, "server_arch") @@ -400,7 +614,7 @@ def server_arch(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="stageNum") def stage_num(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The number of installments of the supercomputing node of the fixed fee installment. + The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -434,11 +648,47 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom user data for the sub computing node + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "user_data", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vpc to which the sub computing node + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vswitch to which the sub computing node + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + @_builtins.property @pulumi.getter(name="zoneId") def zone_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The zone where the super compute node is located + The zone where the hyper compute node is located """ return pulumi.get(self, "zone_id") @@ -453,8 +703,13 @@ class HyperNode(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HyperNodeDataDiskArgs', 'HyperNodeDataDiskArgsDict']]]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, payment_duration: Optional[pulumi.Input[_builtins.int]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, @@ -463,6 +718,9 @@ def __init__(__self__, server_arch: Optional[pulumi.Input[_builtins.str]] = None, stage_num: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ @@ -502,6 +760,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Hyper Node can be imported using the id, e.g. @@ -512,8 +772,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the supercompute node belongs - :param pulumi.Input[_builtins.str] machine_type: The model used by the super computing node + :param pulumi.Input[_builtins.str] cluster_id: Cluster ID + :param pulumi.Input[_builtins.str] hostname: The host name prefix of the sub computing node + :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the hyper computing node belongs + :param pulumi.Input[_builtins.str] login_password: Login Password of the sub computing node + :param pulumi.Input[_builtins.str] machine_type: The model used by the hyper computing node + :param pulumi.Input[_builtins.str] node_group_id: Node group ID :param pulumi.Input[_builtins.int] payment_duration: The duration of the instance purchase, in units. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -521,12 +785,15 @@ def __init__(__self__, :param pulumi.Input[_builtins.int] renewal_duration: Number of auto-renewal cycles :param pulumi.Input[_builtins.str] renewal_status: Automatic renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[_builtins.str] server_arch: Super Node Architecture - :param pulumi.Input[_builtins.str] stage_num: The number of installments of the supercomputing node of the fixed fee installment. + :param pulumi.Input[_builtins.str] server_arch: Hyper Node Architecture + :param pulumi.Input[_builtins.str] stage_num: The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource - :param pulumi.Input[_builtins.str] zone_id: The zone where the super compute node is located + :param pulumi.Input[_builtins.str] user_data: Custom user data for the sub computing node + :param pulumi.Input[_builtins.str] vpc_id: The ID of the vpc to which the sub computing node + :param pulumi.Input[_builtins.str] vswitch_id: The ID of the vswitch to which the sub computing node + :param pulumi.Input[_builtins.str] zone_id: The zone where the hyper compute node is located """ ... @overload @@ -571,6 +838,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Hyper Node can be imported using the id, e.g. @@ -594,8 +863,13 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HyperNodeDataDiskArgs', 'HyperNodeDataDiskArgsDict']]]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, payment_duration: Optional[pulumi.Input[_builtins.int]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, renewal_duration: Optional[pulumi.Input[_builtins.int]] = None, @@ -604,6 +878,9 @@ def _internal_init(__self__, server_arch: Optional[pulumi.Input[_builtins.str]] = None, stage_num: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -614,8 +891,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__ = HyperNodeArgs.__new__(HyperNodeArgs) + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["hostname"] = hostname __props__.__dict__["hpn_zone"] = hpn_zone + __props__.__dict__["login_password"] = None if login_password is None else pulumi.Output.secret(login_password) __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["node_group_id"] = node_group_id __props__.__dict__["payment_duration"] = payment_duration if payment_type is None and not opts.urn: raise TypeError("Missing required property 'payment_type'") @@ -626,10 +908,15 @@ def _internal_init(__self__, __props__.__dict__["server_arch"] = server_arch __props__.__dict__["stage_num"] = stage_num __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["zone_id"] = zone_id __props__.__dict__["create_time"] = None __props__.__dict__["region_id"] = None __props__.__dict__["status"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["loginPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(HyperNode, __self__).__init__( 'alicloud:eflo/hyperNode:HyperNode', resource_name, @@ -640,9 +927,14 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HyperNodeDataDiskArgs', 'HyperNodeDataDiskArgsDict']]]]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, payment_duration: Optional[pulumi.Input[_builtins.int]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, region_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -653,6 +945,9 @@ def get(resource_name: str, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'HyperNode': """ Get an existing HyperNode resource's state with the given name, id, and optional extra @@ -661,9 +956,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[_builtins.str] cluster_id: Cluster ID :param pulumi.Input[_builtins.str] create_time: The creation time of the resource - :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the supercompute node belongs - :param pulumi.Input[_builtins.str] machine_type: The model used by the super computing node + :param pulumi.Input[_builtins.str] hostname: The host name prefix of the sub computing node + :param pulumi.Input[_builtins.str] hpn_zone: Number of the cluster to which the hyper computing node belongs + :param pulumi.Input[_builtins.str] login_password: Login Password of the sub computing node + :param pulumi.Input[_builtins.str] machine_type: The model used by the hyper computing node + :param pulumi.Input[_builtins.str] node_group_id: Node group ID :param pulumi.Input[_builtins.int] payment_duration: The duration of the instance purchase, in units. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -672,21 +971,29 @@ def get(resource_name: str, :param pulumi.Input[_builtins.int] renewal_duration: Number of auto-renewal cycles :param pulumi.Input[_builtins.str] renewal_status: Automatic renewal status. Value: AutoRenewal: automatic renewal. ManualRenewal: manual renewal. The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group - :param pulumi.Input[_builtins.str] server_arch: Super Node Architecture - :param pulumi.Input[_builtins.str] stage_num: The number of installments of the supercomputing node of the fixed fee installment. + :param pulumi.Input[_builtins.str] server_arch: Hyper Node Architecture + :param pulumi.Input[_builtins.str] stage_num: The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource - :param pulumi.Input[_builtins.str] zone_id: The zone where the super compute node is located + :param pulumi.Input[_builtins.str] user_data: Custom user data for the sub computing node + :param pulumi.Input[_builtins.str] vpc_id: The ID of the vpc to which the sub computing node + :param pulumi.Input[_builtins.str] vswitch_id: The ID of the vswitch to which the sub computing node + :param pulumi.Input[_builtins.str] zone_id: The zone where the hyper compute node is located """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _HyperNodeState.__new__(_HyperNodeState) + __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["create_time"] = create_time + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["hostname"] = hostname __props__.__dict__["hpn_zone"] = hpn_zone + __props__.__dict__["login_password"] = login_password __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["node_group_id"] = node_group_id __props__.__dict__["payment_duration"] = payment_duration __props__.__dict__["payment_type"] = payment_type __props__.__dict__["region_id"] = region_id @@ -697,9 +1004,20 @@ def get(resource_name: str, __props__.__dict__["stage_num"] = stage_num __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["zone_id"] = zone_id return HyperNode(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Cluster ID + """ + return pulumi.get(self, "cluster_id") + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[_builtins.str]: @@ -708,22 +1026,51 @@ def create_time(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "create_time") + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.HyperNodeDataDisk']]]: + return pulumi.get(self, "data_disks") + + @_builtins.property + @pulumi.getter + def hostname(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The host name prefix of the sub computing node + """ + return pulumi.get(self, "hostname") + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Number of the cluster to which the supercompute node belongs + Number of the cluster to which the hyper computing node belongs """ return pulumi.get(self, "hpn_zone") + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Login Password of the sub computing node + """ + return pulumi.get(self, "login_password") + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The model used by the super computing node + The model used by the hyper computing node """ return pulumi.get(self, "machine_type") + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Node group ID + """ + return pulumi.get(self, "node_group_id") + @_builtins.property @pulumi.getter(name="paymentDuration") def payment_duration(self) -> pulumi.Output[Optional[_builtins.int]]: @@ -778,7 +1125,7 @@ def resource_group_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="serverArch") def server_arch(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Super Node Architecture + Hyper Node Architecture """ return pulumi.get(self, "server_arch") @@ -786,7 +1133,7 @@ def server_arch(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="stageNum") def stage_num(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The number of installments of the supercomputing node of the fixed fee installment. + The number of installments of the hyper computing node of the fixed fee installment. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -808,11 +1155,35 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: """ return pulumi.get(self, "tags") + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom user data for the sub computing node + """ + return pulumi.get(self, "user_data") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the vpc to which the sub computing node + """ + return pulumi.get(self, "vpc_id") + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the vswitch to which the sub computing node + """ + return pulumi.get(self, "vswitch_id") + @_builtins.property @pulumi.getter(name="zoneId") def zone_id(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The zone where the super compute node is located + The zone where the hyper compute node is located """ return pulumi.get(self, "zone_id") diff --git a/sdk/python/pulumi_alicloud/eflo/node.py b/sdk/python/pulumi_alicloud/eflo/node.py index c1af61f082..f51bb83db1 100644 --- a/sdk/python/pulumi_alicloud/eflo/node.py +++ b/sdk/python/pulumi_alicloud/eflo/node.py @@ -13,6 +13,8 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['NodeArgs', 'Node'] @@ -21,11 +23,18 @@ class NodeArgs: def __init__(__self__, *, billing_cycle: Optional[pulumi.Input[_builtins.str]] = None, classify: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, computing_server: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]] = None, discount_level: Optional[pulumi.Input[_builtins.str]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, install_pai: Optional[pulumi.Input[_builtins.bool]] = None, + ip_allocation_policies: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, payment_ratio: Optional[pulumi.Input[_builtins.str]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, @@ -37,21 +46,43 @@ def __init__(__self__, *, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Node resource. :param pulumi.Input[_builtins.str] billing_cycle: Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] classify: Classification - :param pulumi.Input[_builtins.str] computing_server: Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] cluster_id: Cluster id + :param pulumi.Input[_builtins.str] computing_server: Node Model + :param pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]] data_disks: The data disk of the cloud disk to be attached to the node. See `data_disk` below. :param pulumi.Input[_builtins.str] discount_level: Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] hostname: Host name :param pulumi.Input[_builtins.str] hpn_zone: Cluster Number :param pulumi.Input[_builtins.bool] install_pai: Whether to buy PAI. default value `false`. + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]] ip_allocation_policies: IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + :param pulumi.Input[_builtins.str] login_password: Login Password :param pulumi.Input[_builtins.str] machine_type: Model + :param pulumi.Input[_builtins.str] node_group_id: node group id + :param pulumi.Input[_builtins.str] node_type: node type :param pulumi.Input[_builtins.str] payment_ratio: Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] payment_type: The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. The default is Subscription. :param pulumi.Input[_builtins.int] period: Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] product_form: Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in months. > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. @@ -62,28 +93,49 @@ def __init__(__self__, *, The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] server_arch: Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] stage_num: Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource + :param pulumi.Input[_builtins.str] user_data: Custom Data + :param pulumi.Input[_builtins.str] vpc_id: VPC ID + :param pulumi.Input[_builtins.str] vswitch_id: Switch ID :param pulumi.Input[_builtins.str] zone: Availability Zone """ if billing_cycle is not None: pulumi.set(__self__, "billing_cycle", billing_cycle) if classify is not None: pulumi.set(__self__, "classify", classify) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) if computing_server is not None: warnings.warn("""Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""", DeprecationWarning) pulumi.log.warn("""computing_server is deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""") if computing_server is not None: pulumi.set(__self__, "computing_server", computing_server) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) if discount_level is not None: pulumi.set(__self__, "discount_level", discount_level) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) if hpn_zone is not None: pulumi.set(__self__, "hpn_zone", hpn_zone) if install_pai is not None: pulumi.set(__self__, "install_pai", install_pai) + if ip_allocation_policies is not None: + pulumi.set(__self__, "ip_allocation_policies", ip_allocation_policies) + if login_password is not None: + pulumi.set(__self__, "login_password", login_password) if machine_type is not None: pulumi.set(__self__, "machine_type", machine_type) + if node_group_id is not None: + pulumi.set(__self__, "node_group_id", node_group_id) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) if payment_ratio is not None: pulumi.set(__self__, "payment_ratio", payment_ratio) if payment_type is not None: @@ -106,6 +158,12 @@ def __init__(__self__, *, pulumi.set(__self__, "status", status) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) if zone is not None: pulumi.set(__self__, "zone", zone) @@ -114,6 +172,8 @@ def __init__(__self__, *, def billing_cycle(self) -> Optional[pulumi.Input[_builtins.str]]: """ Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "billing_cycle") @@ -126,6 +186,8 @@ def billing_cycle(self, value: Optional[pulumi.Input[_builtins.str]]): def classify(self) -> Optional[pulumi.Input[_builtins.str]]: """ Classification + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "classify") @@ -133,12 +195,24 @@ def classify(self) -> Optional[pulumi.Input[_builtins.str]]: def classify(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "classify", value) + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Cluster id + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + @_builtins.property @pulumi.getter(name="computingServer") @_utilities.deprecated("""Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""") def computing_server(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + Node Model """ return pulumi.get(self, "computing_server") @@ -146,11 +220,25 @@ def computing_server(self) -> Optional[pulumi.Input[_builtins.str]]: def computing_server(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "computing_server", value) + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]]: + """ + The data disk of the cloud disk to be attached to the node. See `data_disk` below. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + @_builtins.property @pulumi.getter(name="discountLevel") def discount_level(self) -> Optional[pulumi.Input[_builtins.str]]: """ Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "discount_level") @@ -158,6 +246,18 @@ def discount_level(self) -> Optional[pulumi.Input[_builtins.str]]: def discount_level(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "discount_level", value) + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Host name + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname", value) + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -182,6 +282,30 @@ def install_pai(self) -> Optional[pulumi.Input[_builtins.bool]]: def install_pai(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "install_pai", value) + @_builtins.property + @pulumi.getter(name="ipAllocationPolicies") + def ip_allocation_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]]: + """ + IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + """ + return pulumi.get(self, "ip_allocation_policies") + + @ip_allocation_policies.setter + def ip_allocation_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]]): + pulumi.set(self, "ip_allocation_policies", value) + + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Login Password + """ + return pulumi.get(self, "login_password") + + @login_password.setter + def login_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "login_password", value) + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -194,11 +318,37 @@ def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "machine_type", value) + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + node group id + """ + return pulumi.get(self, "node_group_id") + + @node_group_id.setter + def node_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_group_id", value) + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + node type + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_type", value) + @_builtins.property @pulumi.getter(name="paymentRatio") def payment_ratio(self) -> Optional[pulumi.Input[_builtins.str]]: """ Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "payment_ratio") @@ -224,6 +374,8 @@ def payment_type(self, value: Optional[pulumi.Input[_builtins.str]]): def period(self) -> Optional[pulumi.Input[_builtins.int]]: """ Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "period") @@ -236,6 +388,8 @@ def period(self, value: Optional[pulumi.Input[_builtins.int]]): def product_form(self) -> Optional[pulumi.Input[_builtins.str]]: """ Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "product_form") @@ -290,6 +444,8 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): def server_arch(self) -> Optional[pulumi.Input[_builtins.str]]: """ Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "server_arch") @@ -302,6 +458,8 @@ def server_arch(self, value: Optional[pulumi.Input[_builtins.str]]): def stage_num(self) -> Optional[pulumi.Input[_builtins.str]]: """ Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "stage_num") @@ -333,6 +491,42 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom Data + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "user_data", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + VPC ID + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Switch ID + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + @_builtins.property @pulumi.getter def zone(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -351,12 +545,19 @@ class _NodeState: def __init__(__self__, *, billing_cycle: Optional[pulumi.Input[_builtins.str]] = None, classify: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, computing_server: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]] = None, discount_level: Optional[pulumi.Input[_builtins.str]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, install_pai: Optional[pulumi.Input[_builtins.bool]] = None, + ip_allocation_policies: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, payment_ratio: Optional[pulumi.Input[_builtins.str]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, @@ -369,22 +570,44 @@ def __init__(__self__, *, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Node resources. :param pulumi.Input[_builtins.str] billing_cycle: Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] classify: Classification - :param pulumi.Input[_builtins.str] computing_server: Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] cluster_id: Cluster id + :param pulumi.Input[_builtins.str] computing_server: Node Model :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]] data_disks: The data disk of the cloud disk to be attached to the node. See `data_disk` below. :param pulumi.Input[_builtins.str] discount_level: Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] hostname: Host name :param pulumi.Input[_builtins.str] hpn_zone: Cluster Number :param pulumi.Input[_builtins.bool] install_pai: Whether to buy PAI. default value `false`. + :param pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]] ip_allocation_policies: IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + :param pulumi.Input[_builtins.str] login_password: Login Password :param pulumi.Input[_builtins.str] machine_type: Model + :param pulumi.Input[_builtins.str] node_group_id: node group id + :param pulumi.Input[_builtins.str] node_type: node type :param pulumi.Input[_builtins.str] payment_ratio: Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] payment_type: The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. The default is Subscription. :param pulumi.Input[_builtins.int] period: Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] product_form: Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] region_id: The region ID of the resource :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in months. @@ -396,15 +619,24 @@ def __init__(__self__, *, The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] server_arch: Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] stage_num: Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource + :param pulumi.Input[_builtins.str] user_data: Custom Data + :param pulumi.Input[_builtins.str] vpc_id: VPC ID + :param pulumi.Input[_builtins.str] vswitch_id: Switch ID :param pulumi.Input[_builtins.str] zone: Availability Zone """ if billing_cycle is not None: pulumi.set(__self__, "billing_cycle", billing_cycle) if classify is not None: pulumi.set(__self__, "classify", classify) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) if computing_server is not None: warnings.warn("""Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""", DeprecationWarning) pulumi.log.warn("""computing_server is deprecated: Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""") @@ -412,14 +644,26 @@ def __init__(__self__, *, pulumi.set(__self__, "computing_server", computing_server) if create_time is not None: pulumi.set(__self__, "create_time", create_time) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) if discount_level is not None: pulumi.set(__self__, "discount_level", discount_level) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) if hpn_zone is not None: pulumi.set(__self__, "hpn_zone", hpn_zone) if install_pai is not None: pulumi.set(__self__, "install_pai", install_pai) + if ip_allocation_policies is not None: + pulumi.set(__self__, "ip_allocation_policies", ip_allocation_policies) + if login_password is not None: + pulumi.set(__self__, "login_password", login_password) if machine_type is not None: pulumi.set(__self__, "machine_type", machine_type) + if node_group_id is not None: + pulumi.set(__self__, "node_group_id", node_group_id) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) if payment_ratio is not None: pulumi.set(__self__, "payment_ratio", payment_ratio) if payment_type is not None: @@ -444,6 +688,12 @@ def __init__(__self__, *, pulumi.set(__self__, "status", status) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) if zone is not None: pulumi.set(__self__, "zone", zone) @@ -452,6 +702,8 @@ def __init__(__self__, *, def billing_cycle(self) -> Optional[pulumi.Input[_builtins.str]]: """ Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "billing_cycle") @@ -464,6 +716,8 @@ def billing_cycle(self, value: Optional[pulumi.Input[_builtins.str]]): def classify(self) -> Optional[pulumi.Input[_builtins.str]]: """ Classification + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "classify") @@ -471,12 +725,24 @@ def classify(self) -> Optional[pulumi.Input[_builtins.str]]: def classify(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "classify", value) + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Cluster id + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + @_builtins.property @pulumi.getter(name="computingServer") @_utilities.deprecated("""Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""") def computing_server(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + Node Model """ return pulumi.get(self, "computing_server") @@ -496,11 +762,25 @@ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "create_time", value) + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]]: + """ + The data disk of the cloud disk to be attached to the node. See `data_disk` below. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + @_builtins.property @pulumi.getter(name="discountLevel") def discount_level(self) -> Optional[pulumi.Input[_builtins.str]]: """ Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "discount_level") @@ -508,6 +788,18 @@ def discount_level(self) -> Optional[pulumi.Input[_builtins.str]]: def discount_level(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "discount_level", value) + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Host name + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname", value) + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -532,6 +824,30 @@ def install_pai(self) -> Optional[pulumi.Input[_builtins.bool]]: def install_pai(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "install_pai", value) + @_builtins.property + @pulumi.getter(name="ipAllocationPolicies") + def ip_allocation_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]]: + """ + IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + """ + return pulumi.get(self, "ip_allocation_policies") + + @ip_allocation_policies.setter + def ip_allocation_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeIpAllocationPolicyArgs']]]]): + pulumi.set(self, "ip_allocation_policies", value) + + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Login Password + """ + return pulumi.get(self, "login_password") + + @login_password.setter + def login_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "login_password", value) + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -544,11 +860,37 @@ def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "machine_type", value) + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + node group id + """ + return pulumi.get(self, "node_group_id") + + @node_group_id.setter + def node_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_group_id", value) + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + node type + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_type", value) + @_builtins.property @pulumi.getter(name="paymentRatio") def payment_ratio(self) -> Optional[pulumi.Input[_builtins.str]]: """ Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "payment_ratio") @@ -574,6 +916,8 @@ def payment_type(self, value: Optional[pulumi.Input[_builtins.str]]): def period(self) -> Optional[pulumi.Input[_builtins.int]]: """ Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "period") @@ -586,6 +930,8 @@ def period(self, value: Optional[pulumi.Input[_builtins.int]]): def product_form(self) -> Optional[pulumi.Input[_builtins.str]]: """ Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "product_form") @@ -652,6 +998,8 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): def server_arch(self) -> Optional[pulumi.Input[_builtins.str]]: """ Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "server_arch") @@ -664,6 +1012,8 @@ def server_arch(self, value: Optional[pulumi.Input[_builtins.str]]): def stage_num(self) -> Optional[pulumi.Input[_builtins.str]]: """ Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "stage_num") @@ -695,6 +1045,42 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom Data + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "user_data", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + VPC ID + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Switch ID + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + @_builtins.property @pulumi.getter def zone(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -716,11 +1102,18 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, billing_cycle: Optional[pulumi.Input[_builtins.str]] = None, classify: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, computing_server: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeDataDiskArgs', 'NodeDataDiskArgsDict']]]]] = None, discount_level: Optional[pulumi.Input[_builtins.str]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, install_pai: Optional[pulumi.Input[_builtins.bool]] = None, + ip_allocation_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeIpAllocationPolicyArgs', 'NodeIpAllocationPolicyArgsDict']]]]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, payment_ratio: Optional[pulumi.Input[_builtins.str]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, @@ -732,47 +1125,12 @@ def __init__(__self__, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides a Eflo Node resource. - - Large computing node. - - For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). - - > **NOTE:** Available since v1.246.0. - - ## Example Usage - - Basic Usage - - ```python - import pulumi - import pulumi_alicloud as alicloud - - config = pulumi.Config() - name = config.get("name") - if name is None: - name = "terraform-example" - default = alicloud.resourcemanager.get_resource_groups() - default_node = alicloud.eflo.Node("default", - period=36, - discount_level="36", - billing_cycle="1month", - classify="gpuserver", - zone="cn-hangzhou-b", - product_form="instance", - payment_ratio="0", - hpn_zone="B1", - server_arch="bmserver", - computing_server="efg1.nvga1n", - stage_num="36", - renewal_status="AutoRenewal", - renew_period=36, - status="Unused") - ``` - ## Import Eflo Node can be imported using the id, e.g. @@ -784,17 +1142,36 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] billing_cycle: Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] classify: Classification - :param pulumi.Input[_builtins.str] computing_server: Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] cluster_id: Cluster id + :param pulumi.Input[_builtins.str] computing_server: Node Model + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeDataDiskArgs', 'NodeDataDiskArgsDict']]]] data_disks: The data disk of the cloud disk to be attached to the node. See `data_disk` below. :param pulumi.Input[_builtins.str] discount_level: Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] hostname: Host name :param pulumi.Input[_builtins.str] hpn_zone: Cluster Number :param pulumi.Input[_builtins.bool] install_pai: Whether to buy PAI. default value `false`. + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeIpAllocationPolicyArgs', 'NodeIpAllocationPolicyArgsDict']]]] ip_allocation_policies: IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + :param pulumi.Input[_builtins.str] login_password: Login Password :param pulumi.Input[_builtins.str] machine_type: Model + :param pulumi.Input[_builtins.str] node_group_id: node group id + :param pulumi.Input[_builtins.str] node_type: node type :param pulumi.Input[_builtins.str] payment_ratio: Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] payment_type: The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. The default is Subscription. :param pulumi.Input[_builtins.int] period: Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] product_form: Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in months. > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. @@ -805,9 +1182,16 @@ def __init__(__self__, The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] server_arch: Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] stage_num: Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource + :param pulumi.Input[_builtins.str] user_data: Custom Data + :param pulumi.Input[_builtins.str] vpc_id: VPC ID + :param pulumi.Input[_builtins.str] vswitch_id: Switch ID :param pulumi.Input[_builtins.str] zone: Availability Zone """ ... @@ -817,44 +1201,6 @@ def __init__(__self__, args: Optional[NodeArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a Eflo Node resource. - - Large computing node. - - For information about Eflo Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). - - > **NOTE:** Available since v1.246.0. - - ## Example Usage - - Basic Usage - - ```python - import pulumi - import pulumi_alicloud as alicloud - - config = pulumi.Config() - name = config.get("name") - if name is None: - name = "terraform-example" - default = alicloud.resourcemanager.get_resource_groups() - default_node = alicloud.eflo.Node("default", - period=36, - discount_level="36", - billing_cycle="1month", - classify="gpuserver", - zone="cn-hangzhou-b", - product_form="instance", - payment_ratio="0", - hpn_zone="B1", - server_arch="bmserver", - computing_server="efg1.nvga1n", - stage_num="36", - renewal_status="AutoRenewal", - renew_period=36, - status="Unused") - ``` - ## Import Eflo Node can be imported using the id, e.g. @@ -880,11 +1226,18 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, billing_cycle: Optional[pulumi.Input[_builtins.str]] = None, classify: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, computing_server: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeDataDiskArgs', 'NodeDataDiskArgsDict']]]]] = None, discount_level: Optional[pulumi.Input[_builtins.str]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, install_pai: Optional[pulumi.Input[_builtins.bool]] = None, + ip_allocation_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeIpAllocationPolicyArgs', 'NodeIpAllocationPolicyArgsDict']]]]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, payment_ratio: Optional[pulumi.Input[_builtins.str]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, @@ -896,6 +1249,9 @@ def _internal_init(__self__, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -908,11 +1264,18 @@ def _internal_init(__self__, __props__.__dict__["billing_cycle"] = billing_cycle __props__.__dict__["classify"] = classify + __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["computing_server"] = computing_server + __props__.__dict__["data_disks"] = data_disks __props__.__dict__["discount_level"] = discount_level + __props__.__dict__["hostname"] = hostname __props__.__dict__["hpn_zone"] = hpn_zone __props__.__dict__["install_pai"] = install_pai + __props__.__dict__["ip_allocation_policies"] = ip_allocation_policies + __props__.__dict__["login_password"] = None if login_password is None else pulumi.Output.secret(login_password) __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["node_group_id"] = node_group_id + __props__.__dict__["node_type"] = node_type __props__.__dict__["payment_ratio"] = payment_ratio __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period @@ -924,9 +1287,14 @@ def _internal_init(__self__, __props__.__dict__["stage_num"] = stage_num __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["zone"] = zone __props__.__dict__["create_time"] = None __props__.__dict__["region_id"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["loginPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Node, __self__).__init__( 'alicloud:eflo/node:Node', resource_name, @@ -939,12 +1307,19 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, billing_cycle: Optional[pulumi.Input[_builtins.str]] = None, classify: Optional[pulumi.Input[_builtins.str]] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, computing_server: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeDataDiskArgs', 'NodeDataDiskArgsDict']]]]] = None, discount_level: Optional[pulumi.Input[_builtins.str]] = None, + hostname: Optional[pulumi.Input[_builtins.str]] = None, hpn_zone: Optional[pulumi.Input[_builtins.str]] = None, install_pai: Optional[pulumi.Input[_builtins.bool]] = None, + ip_allocation_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeIpAllocationPolicyArgs', 'NodeIpAllocationPolicyArgsDict']]]]] = None, + login_password: Optional[pulumi.Input[_builtins.str]] = None, machine_type: Optional[pulumi.Input[_builtins.str]] = None, + node_group_id: Optional[pulumi.Input[_builtins.str]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, payment_ratio: Optional[pulumi.Input[_builtins.str]] = None, payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, @@ -957,6 +1332,9 @@ def get(resource_name: str, stage_num: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + user_data: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, zone: Optional[pulumi.Input[_builtins.str]] = None) -> 'Node': """ Get an existing Node resource's state with the given name, id, and optional extra @@ -966,18 +1344,37 @@ 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[_builtins.str] billing_cycle: Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] classify: Classification - :param pulumi.Input[_builtins.str] computing_server: Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] cluster_id: Cluster id + :param pulumi.Input[_builtins.str] computing_server: Node Model :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeDataDiskArgs', 'NodeDataDiskArgsDict']]]] data_disks: The data disk of the cloud disk to be attached to the node. See `data_disk` below. :param pulumi.Input[_builtins.str] discount_level: Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] hostname: Host name :param pulumi.Input[_builtins.str] hpn_zone: Cluster Number :param pulumi.Input[_builtins.bool] install_pai: Whether to buy PAI. default value `false`. + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeIpAllocationPolicyArgs', 'NodeIpAllocationPolicyArgsDict']]]] ip_allocation_policies: IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + :param pulumi.Input[_builtins.str] login_password: Login Password :param pulumi.Input[_builtins.str] machine_type: Model + :param pulumi.Input[_builtins.str] node_group_id: node group id + :param pulumi.Input[_builtins.str] node_type: node type :param pulumi.Input[_builtins.str] payment_ratio: Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] payment_type: The payment method of the node. Value range: Subscription: fixed fee installment; PayAsYouGo: pay by volume. The default is Subscription. :param pulumi.Input[_builtins.int] period: Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] product_form: Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] region_id: The region ID of the resource :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in months. @@ -989,9 +1386,16 @@ def get(resource_name: str, The default ManualRenewal. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] server_arch: Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] stage_num: Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource + :param pulumi.Input[_builtins.str] user_data: Custom Data + :param pulumi.Input[_builtins.str] vpc_id: VPC ID + :param pulumi.Input[_builtins.str] vswitch_id: Switch ID :param pulumi.Input[_builtins.str] zone: Availability Zone """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1000,12 +1404,19 @@ def get(resource_name: str, __props__.__dict__["billing_cycle"] = billing_cycle __props__.__dict__["classify"] = classify + __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["computing_server"] = computing_server __props__.__dict__["create_time"] = create_time + __props__.__dict__["data_disks"] = data_disks __props__.__dict__["discount_level"] = discount_level + __props__.__dict__["hostname"] = hostname __props__.__dict__["hpn_zone"] = hpn_zone __props__.__dict__["install_pai"] = install_pai + __props__.__dict__["ip_allocation_policies"] = ip_allocation_policies + __props__.__dict__["login_password"] = login_password __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["node_group_id"] = node_group_id + __props__.__dict__["node_type"] = node_type __props__.__dict__["payment_ratio"] = payment_ratio __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period @@ -1018,6 +1429,9 @@ def get(resource_name: str, __props__.__dict__["stage_num"] = stage_num __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["zone"] = zone return Node(resource_name, opts=opts, __props__=__props__) @@ -1026,6 +1440,8 @@ def get(resource_name: str, def billing_cycle(self) -> pulumi.Output[Optional[_builtins.str]]: """ Billing cycle + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "billing_cycle") @@ -1034,15 +1450,25 @@ def billing_cycle(self) -> pulumi.Output[Optional[_builtins.str]]: def classify(self) -> pulumi.Output[Optional[_builtins.str]]: """ Classification + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "classify") + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[_builtins.str]: + """ + Cluster id + """ + return pulumi.get(self, "cluster_id") + @_builtins.property @pulumi.getter(name="computingServer") @_utilities.deprecated("""Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead.""") def computing_server(self) -> pulumi.Output[_builtins.str]: """ - Node Model. Field 'computing_server' has been deprecated from provider version 1.261.0. New field 'machine_type' instead. + Node Model """ return pulumi.get(self, "computing_server") @@ -1054,14 +1480,32 @@ def create_time(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "create_time") + @_builtins.property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> pulumi.Output[Sequence['outputs.NodeDataDisk']]: + """ + The data disk of the cloud disk to be attached to the node. See `data_disk` below. + """ + return pulumi.get(self, "data_disks") + @_builtins.property @pulumi.getter(name="discountLevel") def discount_level(self) -> pulumi.Output[Optional[_builtins.str]]: """ Offer Information + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "discount_level") + @_builtins.property + @pulumi.getter + def hostname(self) -> pulumi.Output[_builtins.str]: + """ + Host name + """ + return pulumi.get(self, "hostname") + @_builtins.property @pulumi.getter(name="hpnZone") def hpn_zone(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -1078,6 +1522,22 @@ def install_pai(self) -> pulumi.Output[Optional[_builtins.bool]]: """ return pulumi.get(self, "install_pai") + @_builtins.property + @pulumi.getter(name="ipAllocationPolicies") + def ip_allocation_policies(self) -> pulumi.Output[Optional[Sequence['outputs.NodeIpAllocationPolicy']]]: + """ + IP address combination policy: only one policy type can be selected for each policy, and multiple policies can be combined. See `ip_allocation_policy` below. + """ + return pulumi.get(self, "ip_allocation_policies") + + @_builtins.property + @pulumi.getter(name="loginPassword") + def login_password(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Login Password + """ + return pulumi.get(self, "login_password") + @_builtins.property @pulumi.getter(name="machineType") def machine_type(self) -> pulumi.Output[_builtins.str]: @@ -1086,11 +1546,29 @@ def machine_type(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "machine_type") + @_builtins.property + @pulumi.getter(name="nodeGroupId") + def node_group_id(self) -> pulumi.Output[_builtins.str]: + """ + node group id + """ + return pulumi.get(self, "node_group_id") + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Output[_builtins.str]: + """ + node type + """ + return pulumi.get(self, "node_type") + @_builtins.property @pulumi.getter(name="paymentRatio") def payment_ratio(self) -> pulumi.Output[Optional[_builtins.str]]: """ Down payment ratio + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "payment_ratio") @@ -1108,6 +1586,8 @@ def payment_type(self) -> pulumi.Output[_builtins.str]: def period(self) -> pulumi.Output[Optional[_builtins.int]]: """ Prepaid cycle. The unit is Month, please enter an integer multiple of 12 for the annual payment product. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "period") @@ -1116,6 +1596,8 @@ def period(self) -> pulumi.Output[Optional[_builtins.int]]: def product_form(self) -> pulumi.Output[Optional[_builtins.str]]: """ Form + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "product_form") @@ -1162,6 +1644,8 @@ def resource_group_id(self) -> pulumi.Output[_builtins.str]: def server_arch(self) -> pulumi.Output[Optional[_builtins.str]]: """ Architecture + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "server_arch") @@ -1170,6 +1654,8 @@ def server_arch(self) -> pulumi.Output[Optional[_builtins.str]]: def stage_num(self) -> pulumi.Output[Optional[_builtins.str]]: """ Number of stages + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "stage_num") @@ -1189,6 +1675,30 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: """ return pulumi.get(self, "tags") + @_builtins.property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[_builtins.str]: + """ + Custom Data + """ + return pulumi.get(self, "user_data") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + VPC ID + """ + return pulumi.get(self, "vpc_id") + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Output[_builtins.str]: + """ + Switch ID + """ + return pulumi.get(self, "vswitch_id") + @_builtins.property @pulumi.getter def zone(self) -> pulumi.Output[Optional[_builtins.str]]: diff --git a/sdk/python/pulumi_alicloud/eflo/node_group.py b/sdk/python/pulumi_alicloud/eflo/node_group.py index e5083e4b56..dd9566371c 100644 --- a/sdk/python/pulumi_alicloud/eflo/node_group.py +++ b/sdk/python/pulumi_alicloud/eflo/node_group.py @@ -720,6 +720,8 @@ def __init__(__self__, node_group_name="tfacceflo63657_update") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Node Group can be imported using the id, e.g. @@ -909,6 +911,8 @@ def __init__(__self__, node_group_name="tfacceflo63657_update") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Node Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/node_group_attachment.py b/sdk/python/pulumi_alicloud/eflo/node_group_attachment.py index 9f4b687fa9..0e9cac03c7 100644 --- a/sdk/python/pulumi_alicloud/eflo/node_group_attachment.py +++ b/sdk/python/pulumi_alicloud/eflo/node_group_attachment.py @@ -366,6 +366,8 @@ def __init__(__self__, vpc_id="vpc-uf6t73bb01dfprb2qvpqa") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Node Group Attachment can be imported using the id, e.g. @@ -423,6 +425,8 @@ def __init__(__self__, vpc_id="vpc-uf6t73bb01dfprb2qvpqa") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Node Group Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/outputs.py b/sdk/python/pulumi_alicloud/eflo/outputs.py index 09a64113d7..72cd02920e 100644 --- a/sdk/python/pulumi_alicloud/eflo/outputs.py +++ b/sdk/python/pulumi_alicloud/eflo/outputs.py @@ -33,6 +33,8 @@ 'ClusterNodeGroupNode', 'ExperimentPlanTemplateTemplatePipeline', 'ExperimentPlanTemplateTemplatePipelineEnvParams', + 'HyperNodeDataDisk', + 'NodeDataDisk', 'NodeGroupAttachmentDataDisk', 'NodeGroupIpAllocationPolicy', 'NodeGroupIpAllocationPolicyBondPolicy', @@ -42,6 +44,13 @@ 'NodeGroupIpAllocationPolicyNodePolicy', 'NodeGroupIpAllocationPolicyNodePolicyBond', 'NodeGroupNode', + 'NodeIpAllocationPolicy', + 'NodeIpAllocationPolicyBondPolicy', + 'NodeIpAllocationPolicyBondPolicyBond', + 'NodeIpAllocationPolicyMachineTypePolicy', + 'NodeIpAllocationPolicyMachineTypePolicyBond', + 'NodeIpAllocationPolicyNodePolicy', + 'NodeIpAllocationPolicyNodePolicyBond', 'ResourceMachineTypes', 'ResourceUserAccessParam', 'GetSubnetsSubnetResult', @@ -1247,6 +1256,174 @@ def py_torch_version(self) -> Optional[_builtins.str]: return pulumi.get(self, "py_torch_version") +@pulumi.output_type +class HyperNodeDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "burstingEnabled": + suggest = "bursting_enabled" + elif key == "deleteWithNode": + suggest = "delete_with_node" + elif key == "performanceLevel": + suggest = "performance_level" + elif key == "provisionedIops": + suggest = "provisioned_iops" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HyperNodeDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HyperNodeDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HyperNodeDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bursting_enabled: Optional[_builtins.bool] = None, + category: Optional[_builtins.str] = None, + delete_with_node: Optional[_builtins.bool] = None, + performance_level: Optional[_builtins.str] = None, + provisioned_iops: Optional[_builtins.int] = None, + size: Optional[_builtins.int] = None): + """ + :param _builtins.bool bursting_enabled: Whether to enable Burst (performance Burst). + :param _builtins.str category: The disk type. Value range: + - cloud_essd:ESSD cloud disk. + :param _builtins.bool delete_with_node: Whether the data disk is unsubscribed and deleted with the node. + :param _builtins.str performance_level: When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1: maximum random read/write IOPS 50000 for a single disk. + :param _builtins.int provisioned_iops: ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + :param _builtins.int size: The size of the disk. The unit is GiB. + """ + if bursting_enabled is not None: + pulumi.set(__self__, "bursting_enabled", bursting_enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if delete_with_node is not None: + pulumi.set(__self__, "delete_with_node", delete_with_node) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + if provisioned_iops is not None: + pulumi.set(__self__, "provisioned_iops", provisioned_iops) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter(name="burstingEnabled") + def bursting_enabled(self) -> Optional[_builtins.bool]: + """ + Whether to enable Burst (performance Burst). + """ + return pulumi.get(self, "bursting_enabled") + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[_builtins.str]: + """ + The disk type. Value range: + - cloud_essd:ESSD cloud disk. + """ + return pulumi.get(self, "category") + + @_builtins.property + @pulumi.getter(name="deleteWithNode") + def delete_with_node(self) -> Optional[_builtins.bool]: + """ + Whether the data disk is unsubscribed and deleted with the node. + """ + return pulumi.get(self, "delete_with_node") + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[_builtins.str]: + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1: maximum random read/write IOPS 50000 for a single disk. + """ + return pulumi.get(self, "performance_level") + + @_builtins.property + @pulumi.getter(name="provisionedIops") + def provisioned_iops(self) -> Optional[_builtins.int]: + """ + ESSD AutoPL cloud disk (single disk) pre-configuration performance of IOPS. + """ + return pulumi.get(self, "provisioned_iops") + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[_builtins.int]: + """ + The size of the disk. The unit is GiB. + """ + return pulumi.get(self, "size") + + +@pulumi.output_type +class NodeDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "performanceLevel": + suggest = "performance_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + category: Optional[_builtins.str] = None, + performance_level: Optional[_builtins.str] = None, + size: Optional[_builtins.int] = None): + """ + :param _builtins.str category: Data disk type + :param _builtins.str performance_level: Performance level + :param _builtins.int size: Data disk size + """ + if category is not None: + pulumi.set(__self__, "category", category) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[_builtins.str]: + """ + Data disk type + """ + return pulumi.get(self, "category") + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[_builtins.str]: + """ + Performance level + """ + return pulumi.get(self, "performance_level") + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[_builtins.int]: + """ + Data disk size + """ + return pulumi.get(self, "size") + + @pulumi.output_type class NodeGroupAttachmentDataDisk(dict): @staticmethod @@ -1708,6 +1885,319 @@ def vswitch_id(self) -> Optional[_builtins.str]: return pulumi.get(self, "vswitch_id") +@pulumi.output_type +class NodeIpAllocationPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bondPolicy": + suggest = "bond_policy" + elif key == "machineTypePolicies": + suggest = "machine_type_policies" + elif key == "nodePolicies": + suggest = "node_policies" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeIpAllocationPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeIpAllocationPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeIpAllocationPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bond_policy: Optional['outputs.NodeIpAllocationPolicyBondPolicy'] = None, + machine_type_policies: Optional[Sequence['outputs.NodeIpAllocationPolicyMachineTypePolicy']] = None, + node_policies: Optional[Sequence['outputs.NodeIpAllocationPolicyNodePolicy']] = None): + """ + :param 'NodeIpAllocationPolicyBondPolicyArgs' bond_policy: Specify the cluster subnet ID based on the bond name See `bond_policy` below. + :param Sequence['NodeIpAllocationPolicyMachineTypePolicyArgs'] machine_type_policies: Model Assignment Policy See `machine_type_policy` below. + :param Sequence['NodeIpAllocationPolicyNodePolicyArgs'] node_policies: Node allocation policy See `node_policy` below. + """ + if bond_policy is not None: + pulumi.set(__self__, "bond_policy", bond_policy) + if machine_type_policies is not None: + pulumi.set(__self__, "machine_type_policies", machine_type_policies) + if node_policies is not None: + pulumi.set(__self__, "node_policies", node_policies) + + @_builtins.property + @pulumi.getter(name="bondPolicy") + def bond_policy(self) -> Optional['outputs.NodeIpAllocationPolicyBondPolicy']: + """ + Specify the cluster subnet ID based on the bond name See `bond_policy` below. + """ + return pulumi.get(self, "bond_policy") + + @_builtins.property + @pulumi.getter(name="machineTypePolicies") + def machine_type_policies(self) -> Optional[Sequence['outputs.NodeIpAllocationPolicyMachineTypePolicy']]: + """ + Model Assignment Policy See `machine_type_policy` below. + """ + return pulumi.get(self, "machine_type_policies") + + @_builtins.property + @pulumi.getter(name="nodePolicies") + def node_policies(self) -> Optional[Sequence['outputs.NodeIpAllocationPolicyNodePolicy']]: + """ + Node allocation policy See `node_policy` below. + """ + return pulumi.get(self, "node_policies") + + +@pulumi.output_type +class NodeIpAllocationPolicyBondPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bondDefaultSubnet": + suggest = "bond_default_subnet" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeIpAllocationPolicyBondPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeIpAllocationPolicyBondPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeIpAllocationPolicyBondPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bond_default_subnet: Optional[_builtins.str] = None, + bonds: Optional[Sequence['outputs.NodeIpAllocationPolicyBondPolicyBond']] = None): + """ + :param _builtins.str bond_default_subnet: Default bond cluster subnet + :param Sequence['NodeIpAllocationPolicyBondPolicyBondArgs'] bonds: Bond information See `bonds` below. + """ + if bond_default_subnet is not None: + pulumi.set(__self__, "bond_default_subnet", bond_default_subnet) + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + + @_builtins.property + @pulumi.getter(name="bondDefaultSubnet") + def bond_default_subnet(self) -> Optional[_builtins.str]: + """ + Default bond cluster subnet + """ + return pulumi.get(self, "bond_default_subnet") + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[Sequence['outputs.NodeIpAllocationPolicyBondPolicyBond']]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + +@pulumi.output_type +class NodeIpAllocationPolicyBondPolicyBond(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None, + subnet: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Bond Name + :param _builtins.str subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[_builtins.str]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + +@pulumi.output_type +class NodeIpAllocationPolicyMachineTypePolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "machineType": + suggest = "machine_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeIpAllocationPolicyMachineTypePolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeIpAllocationPolicyMachineTypePolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeIpAllocationPolicyMachineTypePolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bonds: Optional[Sequence['outputs.NodeIpAllocationPolicyMachineTypePolicyBond']] = None, + machine_type: Optional[_builtins.str] = None): + """ + :param Sequence['NodeIpAllocationPolicyMachineTypePolicyBondArgs'] bonds: Bond information See `bonds` below. + :param _builtins.str machine_type: Model + """ + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + if machine_type is not None: + pulumi.set(__self__, "machine_type", machine_type) + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[Sequence['outputs.NodeIpAllocationPolicyMachineTypePolicyBond']]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + @_builtins.property + @pulumi.getter(name="machineType") + def machine_type(self) -> Optional[_builtins.str]: + """ + Model + """ + return pulumi.get(self, "machine_type") + + +@pulumi.output_type +class NodeIpAllocationPolicyMachineTypePolicyBond(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None, + subnet: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Bond Name + :param _builtins.str subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[_builtins.str]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + +@pulumi.output_type +class NodeIpAllocationPolicyNodePolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodeId": + suggest = "node_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeIpAllocationPolicyNodePolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeIpAllocationPolicyNodePolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeIpAllocationPolicyNodePolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bonds: Optional[Sequence['outputs.NodeIpAllocationPolicyNodePolicyBond']] = None, + hostname: Optional[_builtins.str] = None, + node_id: Optional[_builtins.str] = None): + """ + :param Sequence['NodeIpAllocationPolicyNodePolicyBondArgs'] bonds: Bond information See `bonds` below. + :param _builtins.str hostname: Host name + :param _builtins.str node_id: Node ID + """ + if bonds is not None: + pulumi.set(__self__, "bonds", bonds) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if node_id is not None: + pulumi.set(__self__, "node_id", node_id) + + @_builtins.property + @pulumi.getter + def bonds(self) -> Optional[Sequence['outputs.NodeIpAllocationPolicyNodePolicyBond']]: + """ + Bond information See `bonds` below. + """ + return pulumi.get(self, "bonds") + + @_builtins.property + @pulumi.getter + def hostname(self) -> Optional[_builtins.str]: + """ + Host name + """ + return pulumi.get(self, "hostname") + + @_builtins.property + @pulumi.getter(name="nodeId") + def node_id(self) -> Optional[_builtins.str]: + """ + Node ID + """ + return pulumi.get(self, "node_id") + + +@pulumi.output_type +class NodeIpAllocationPolicyNodePolicyBond(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None, + subnet: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Bond Name + :param _builtins.str subnet: IP source cluster subnet + """ + if name is not None: + pulumi.set(__self__, "name", name) + if subnet is not None: + pulumi.set(__self__, "subnet", subnet) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Bond Name + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def subnet(self) -> Optional[_builtins.str]: + """ + IP source cluster subnet + """ + return pulumi.get(self, "subnet") + + @pulumi.output_type class ResourceMachineTypes(dict): @staticmethod diff --git a/sdk/python/pulumi_alicloud/eflo/subnet.py b/sdk/python/pulumi_alicloud/eflo/subnet.py index ba7dbecadf..7f9569be5f 100644 --- a/sdk/python/pulumi_alicloud/eflo/subnet.py +++ b/sdk/python/pulumi_alicloud/eflo/subnet.py @@ -340,6 +340,8 @@ def __init__(__self__, vpd_id=default_vpd.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Subnet can be imported using the id, e.g. @@ -397,6 +399,8 @@ def __init__(__self__, vpd_id=default_vpd.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Subnet can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/vpd.py b/sdk/python/pulumi_alicloud/eflo/vpd.py index 4d204262ee..ed17591e7c 100644 --- a/sdk/python/pulumi_alicloud/eflo/vpd.py +++ b/sdk/python/pulumi_alicloud/eflo/vpd.py @@ -294,6 +294,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vpd can be imported using the id, e.g. @@ -344,6 +346,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vpd can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/vpd_grant_rule.py b/sdk/python/pulumi_alicloud/eflo/vpd_grant_rule.py index 29304f708e..1da0d4f36e 100644 --- a/sdk/python/pulumi_alicloud/eflo/vpd_grant_rule.py +++ b/sdk/python/pulumi_alicloud/eflo/vpd_grant_rule.py @@ -201,6 +201,8 @@ def __init__(__self__, instance_id=default_vpd.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vpd Grant Rule can be imported using the id, e.g. @@ -255,6 +257,8 @@ def __init__(__self__, instance_id=default_vpd.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vpd Grant Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eflo/vsc.py b/sdk/python/pulumi_alicloud/eflo/vsc.py index 553a73d7f4..b22feab831 100644 --- a/sdk/python/pulumi_alicloud/eflo/vsc.py +++ b/sdk/python/pulumi_alicloud/eflo/vsc.py @@ -246,6 +246,8 @@ def __init__(__self__, vsc_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vsc can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, vsc_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eflo Vsc can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ehpc/__init__.py b/sdk/python/pulumi_alicloud/ehpc/__init__.py index aa3a1f93cb..caf168b668 100644 --- a/sdk/python/pulumi_alicloud/ehpc/__init__.py +++ b/sdk/python/pulumi_alicloud/ehpc/__init__.py @@ -7,8 +7,10 @@ import typing # Export this package's modules as members: from .cluster import * +from .cluster_v2 import * from .get_clusters import * from .get_job_templates import * from .job_template import * +from .queue import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/ehpc/_inputs.py b/sdk/python/pulumi_alicloud/ehpc/_inputs.py index 6d912a25b9..61b33bd610 100644 --- a/sdk/python/pulumi_alicloud/ehpc/_inputs.py +++ b/sdk/python/pulumi_alicloud/ehpc/_inputs.py @@ -23,6 +23,28 @@ 'ClusterApplicationArgsDict', 'ClusterPostInstallScriptArgs', 'ClusterPostInstallScriptArgsDict', + 'ClusterV2AddonArgs', + 'ClusterV2AddonArgsDict', + 'ClusterV2ClusterCredentialsArgs', + 'ClusterV2ClusterCredentialsArgsDict', + 'ClusterV2ManagerArgs', + 'ClusterV2ManagerArgsDict', + 'ClusterV2ManagerDirectoryServiceArgs', + 'ClusterV2ManagerDirectoryServiceArgsDict', + 'ClusterV2ManagerDnsArgs', + 'ClusterV2ManagerDnsArgsDict', + 'ClusterV2ManagerManagerNodeArgs', + 'ClusterV2ManagerManagerNodeArgsDict', + 'ClusterV2ManagerManagerNodeSystemDiskArgs', + 'ClusterV2ManagerManagerNodeSystemDiskArgsDict', + 'ClusterV2ManagerSchedulerArgs', + 'ClusterV2ManagerSchedulerArgsDict', + 'ClusterV2SharedStorageArgs', + 'ClusterV2SharedStorageArgsDict', + 'QueueComputeNodeArgs', + 'QueueComputeNodeArgsDict', + 'QueueComputeNodeSystemDiskArgs', + 'QueueComputeNodeSystemDiskArgsDict', ] MYPY = False @@ -355,3 +377,1337 @@ def url(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "url", value) +if not MYPY: + class ClusterV2AddonArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + """ + Customize the specific configuration information of the service component. + """ + version: pulumi.Input[_builtins.str] + """ + Customize the service component version. + """ + resources_spec: NotRequired[pulumi.Input[_builtins.str]] + """ + Customize the resource configuration of the service component. + """ + services_spec: NotRequired[pulumi.Input[_builtins.str]] + """ + Customize the service configuration of the service component. + """ +elif False: + ClusterV2AddonArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2AddonArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + version: pulumi.Input[_builtins.str], + resources_spec: Optional[pulumi.Input[_builtins.str]] = None, + services_spec: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Customize the specific configuration information of the service component. + :param pulumi.Input[_builtins.str] version: Customize the service component version. + :param pulumi.Input[_builtins.str] resources_spec: Customize the resource configuration of the service component. + :param pulumi.Input[_builtins.str] services_spec: Customize the service configuration of the service component. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "version", version) + if resources_spec is not None: + pulumi.set(__self__, "resources_spec", resources_spec) + if services_spec is not None: + pulumi.set(__self__, "services_spec", services_spec) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + """ + Customize the specific configuration information of the service component. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def version(self) -> pulumi.Input[_builtins.str]: + """ + Customize the service component version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "version", value) + + @_builtins.property + @pulumi.getter(name="resourcesSpec") + def resources_spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Customize the resource configuration of the service component. + """ + return pulumi.get(self, "resources_spec") + + @resources_spec.setter + def resources_spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resources_spec", value) + + @_builtins.property + @pulumi.getter(name="servicesSpec") + def services_spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Customize the service configuration of the service component. + """ + return pulumi.get(self, "services_spec") + + @services_spec.setter + def services_spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "services_spec", value) + + +if not MYPY: + class ClusterV2ClusterCredentialsArgsDict(TypedDict): + password: NotRequired[pulumi.Input[_builtins.str]] + """ + The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + """ +elif False: + ClusterV2ClusterCredentialsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ClusterCredentialsArgs: + def __init__(__self__, *, + password: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] password: The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + """ + if password is not None: + pulumi.set(__self__, "password", password) + + @_builtins.property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "password", value) + + +if not MYPY: + class ClusterV2ManagerArgsDict(TypedDict): + directory_service: NotRequired[pulumi.Input['ClusterV2ManagerDirectoryServiceArgsDict']] + """ + The configurations of the domain account service. See `directory_service` below. + """ + dns: NotRequired[pulumi.Input['ClusterV2ManagerDnsArgsDict']] + """ + The configurations of the domain name resolution service. See `dns` below. + """ + manager_node: NotRequired[pulumi.Input['ClusterV2ManagerManagerNodeArgsDict']] + """ + The hardware configurations of the management node. See `manager_node` below. + """ + scheduler: NotRequired[pulumi.Input['ClusterV2ManagerSchedulerArgsDict']] + """ + The configurations of the scheduler service. See `scheduler` below. + """ +elif False: + ClusterV2ManagerArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerArgs: + def __init__(__self__, *, + directory_service: Optional[pulumi.Input['ClusterV2ManagerDirectoryServiceArgs']] = None, + dns: Optional[pulumi.Input['ClusterV2ManagerDnsArgs']] = None, + manager_node: Optional[pulumi.Input['ClusterV2ManagerManagerNodeArgs']] = None, + scheduler: Optional[pulumi.Input['ClusterV2ManagerSchedulerArgs']] = None): + """ + :param pulumi.Input['ClusterV2ManagerDirectoryServiceArgs'] directory_service: The configurations of the domain account service. See `directory_service` below. + :param pulumi.Input['ClusterV2ManagerDnsArgs'] dns: The configurations of the domain name resolution service. See `dns` below. + :param pulumi.Input['ClusterV2ManagerManagerNodeArgs'] manager_node: The hardware configurations of the management node. See `manager_node` below. + :param pulumi.Input['ClusterV2ManagerSchedulerArgs'] scheduler: The configurations of the scheduler service. See `scheduler` below. + """ + if directory_service is not None: + pulumi.set(__self__, "directory_service", directory_service) + if dns is not None: + pulumi.set(__self__, "dns", dns) + if manager_node is not None: + pulumi.set(__self__, "manager_node", manager_node) + if scheduler is not None: + pulumi.set(__self__, "scheduler", scheduler) + + @_builtins.property + @pulumi.getter(name="directoryService") + def directory_service(self) -> Optional[pulumi.Input['ClusterV2ManagerDirectoryServiceArgs']]: + """ + The configurations of the domain account service. See `directory_service` below. + """ + return pulumi.get(self, "directory_service") + + @directory_service.setter + def directory_service(self, value: Optional[pulumi.Input['ClusterV2ManagerDirectoryServiceArgs']]): + pulumi.set(self, "directory_service", value) + + @_builtins.property + @pulumi.getter + def dns(self) -> Optional[pulumi.Input['ClusterV2ManagerDnsArgs']]: + """ + The configurations of the domain name resolution service. See `dns` below. + """ + return pulumi.get(self, "dns") + + @dns.setter + def dns(self, value: Optional[pulumi.Input['ClusterV2ManagerDnsArgs']]): + pulumi.set(self, "dns", value) + + @_builtins.property + @pulumi.getter(name="managerNode") + def manager_node(self) -> Optional[pulumi.Input['ClusterV2ManagerManagerNodeArgs']]: + """ + The hardware configurations of the management node. See `manager_node` below. + """ + return pulumi.get(self, "manager_node") + + @manager_node.setter + def manager_node(self, value: Optional[pulumi.Input['ClusterV2ManagerManagerNodeArgs']]): + pulumi.set(self, "manager_node", value) + + @_builtins.property + @pulumi.getter + def scheduler(self) -> Optional[pulumi.Input['ClusterV2ManagerSchedulerArgs']]: + """ + The configurations of the scheduler service. See `scheduler` below. + """ + return pulumi.get(self, "scheduler") + + @scheduler.setter + def scheduler(self, value: Optional[pulumi.Input['ClusterV2ManagerSchedulerArgs']]): + pulumi.set(self, "scheduler", value) + + +if not MYPY: + class ClusterV2ManagerDirectoryServiceArgsDict(TypedDict): + type: NotRequired[pulumi.Input[_builtins.str]] + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + version: NotRequired[pulumi.Input[_builtins.str]] +elif False: + ClusterV2ManagerDirectoryServiceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerDirectoryServiceArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[_builtins.str]] = None, + version: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "version", value) + + +if not MYPY: + class ClusterV2ManagerDnsArgsDict(TypedDict): + type: NotRequired[pulumi.Input[_builtins.str]] + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + version: NotRequired[pulumi.Input[_builtins.str]] +elif False: + ClusterV2ManagerDnsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerDnsArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[_builtins.str]] = None, + version: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "version", value) + + +if not MYPY: + class ClusterV2ManagerManagerNodeArgsDict(TypedDict): + auto_renew: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + - true: Automatic renewal. + - false: Do not renew automatically (default). + """ + auto_renew_period: NotRequired[pulumi.Input[_builtins.int]] + """ + The renewal duration of a single automatic renewal. Value range: + - When PeriodUnit = Week: 1, 2, 3. + - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + + Default value: 1. + """ + duration: NotRequired[pulumi.Input[_builtins.int]] + """ + The duration of the preemptible instance, in hours. Value: + - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + + Default value: 1. + """ + enable_ht: NotRequired[pulumi.Input[_builtins.bool]] + """ + EnableHT + """ + expired_time: NotRequired[pulumi.Input[_builtins.str]] + """ + The expiration time of the management node. + """ + image_id: NotRequired[pulumi.Input[_builtins.str]] + """ + ImageId + """ + instance_charge_type: NotRequired[pulumi.Input[_builtins.str]] + """ + The instance billing method of the management node. Valid values: + + - PostPaid: pay-as-you-go + - PrePaid: subscription + """ + instance_id: NotRequired[pulumi.Input[_builtins.str]] + """ + The instance ID of the management node. + """ + instance_type: NotRequired[pulumi.Input[_builtins.str]] + """ + The instance type of the management node. + """ + period: NotRequired[pulumi.Input[_builtins.int]] + """ + The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + """ + period_unit: NotRequired[pulumi.Input[_builtins.str]] + """ + The unit of duration of the year-to-month billing method. Value range: + - Week. + - Month (default). + """ + spot_price_limit: NotRequired[pulumi.Input[_builtins.float]] + """ + Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + """ + spot_strategy: NotRequired[pulumi.Input[_builtins.str]] + """ + The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + - NoSpot: normal pay-as-you-go instances (default). + - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + """ + system_disk: NotRequired[pulumi.Input['ClusterV2ManagerManagerNodeSystemDiskArgsDict']] + """ + System disk configuration of the management node. See `system_disk` below. + """ +elif False: + ClusterV2ManagerManagerNodeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerManagerNodeArgs: + def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, + auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, + duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ht: Optional[pulumi.Input[_builtins.bool]] = None, + expired_time: Optional[pulumi.Input[_builtins.str]] = None, + image_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + period_unit: Optional[pulumi.Input[_builtins.str]] = None, + spot_price_limit: Optional[pulumi.Input[_builtins.float]] = None, + spot_strategy: Optional[pulumi.Input[_builtins.str]] = None, + system_disk: Optional[pulumi.Input['ClusterV2ManagerManagerNodeSystemDiskArgs']] = None): + """ + :param pulumi.Input[_builtins.bool] auto_renew: Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + - true: Automatic renewal. + - false: Do not renew automatically (default). + :param pulumi.Input[_builtins.int] auto_renew_period: The renewal duration of a single automatic renewal. Value range: + - When PeriodUnit = Week: 1, 2, 3. + - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + + Default value: 1. + :param pulumi.Input[_builtins.int] duration: The duration of the preemptible instance, in hours. Value: + - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + + Default value: 1. + :param pulumi.Input[_builtins.bool] enable_ht: EnableHT + :param pulumi.Input[_builtins.str] expired_time: The expiration time of the management node. + :param pulumi.Input[_builtins.str] image_id: ImageId + :param pulumi.Input[_builtins.str] instance_charge_type: The instance billing method of the management node. Valid values: + + - PostPaid: pay-as-you-go + - PrePaid: subscription + :param pulumi.Input[_builtins.str] instance_id: The instance ID of the management node. + :param pulumi.Input[_builtins.str] instance_type: The instance type of the management node. + :param pulumi.Input[_builtins.int] period: The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + :param pulumi.Input[_builtins.str] period_unit: The unit of duration of the year-to-month billing method. Value range: + - Week. + - Month (default). + :param pulumi.Input[_builtins.float] spot_price_limit: Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + :param pulumi.Input[_builtins.str] spot_strategy: The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + - NoSpot: normal pay-as-you-go instances (default). + - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + :param pulumi.Input['ClusterV2ManagerManagerNodeSystemDiskArgs'] system_disk: System disk configuration of the management node. See `system_disk` below. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if auto_renew_period is not None: + pulumi.set(__self__, "auto_renew_period", auto_renew_period) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if enable_ht is not None: + pulumi.set(__self__, "enable_ht", enable_ht) + if expired_time is not None: + pulumi.set(__self__, "expired_time", expired_time) + 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_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + if period is not None: + pulumi.set(__self__, "period", period) + if period_unit is not None: + pulumi.set(__self__, "period_unit", period_unit) + if spot_price_limit is not None: + pulumi.set(__self__, "spot_price_limit", spot_price_limit) + if spot_strategy is not None: + pulumi.set(__self__, "spot_strategy", spot_strategy) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + - true: Automatic renewal. + - false: Do not renew automatically (default). + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_renew", value) + + @_builtins.property + @pulumi.getter(name="autoRenewPeriod") + def auto_renew_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The renewal duration of a single automatic renewal. Value range: + - When PeriodUnit = Week: 1, 2, 3. + - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + + Default value: 1. + """ + return pulumi.get(self, "auto_renew_period") + + @auto_renew_period.setter + def auto_renew_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "auto_renew_period", value) + + @_builtins.property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The duration of the preemptible instance, in hours. Value: + - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + + Default value: 1. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "duration", value) + + @_builtins.property + @pulumi.getter(name="enableHt") + def enable_ht(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + EnableHT + """ + return pulumi.get(self, "enable_ht") + + @enable_ht.setter + def enable_ht(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_ht", value) + + @_builtins.property + @pulumi.getter(name="expiredTime") + def expired_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The expiration time of the management node. + """ + return pulumi.get(self, "expired_time") + + @expired_time.setter + def expired_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "expired_time", value) + + @_builtins.property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ImageId + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "image_id", value) + + @_builtins.property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The instance billing method of the management node. Valid values: + + - PostPaid: pay-as-you-go + - PrePaid: subscription + """ + return pulumi.get(self, "instance_charge_type") + + @instance_charge_type.setter + def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_charge_type", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The instance ID of the management node. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The instance type of the management node. + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_type", value) + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "period", value) + + @_builtins.property + @pulumi.getter(name="periodUnit") + def period_unit(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The unit of duration of the year-to-month billing method. Value range: + - Week. + - Month (default). + """ + return pulumi.get(self, "period_unit") + + @period_unit.setter + def period_unit(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "period_unit", value) + + @_builtins.property + @pulumi.getter(name="spotPriceLimit") + def spot_price_limit(self) -> Optional[pulumi.Input[_builtins.float]]: + """ + Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + """ + return pulumi.get(self, "spot_price_limit") + + @spot_price_limit.setter + def spot_price_limit(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "spot_price_limit", value) + + @_builtins.property + @pulumi.getter(name="spotStrategy") + def spot_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + - NoSpot: normal pay-as-you-go instances (default). + - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + """ + return pulumi.get(self, "spot_strategy") + + @spot_strategy.setter + def spot_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "spot_strategy", value) + + @_builtins.property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional[pulumi.Input['ClusterV2ManagerManagerNodeSystemDiskArgs']]: + """ + System disk configuration of the management node. See `system_disk` below. + """ + return pulumi.get(self, "system_disk") + + @system_disk.setter + def system_disk(self, value: Optional[pulumi.Input['ClusterV2ManagerManagerNodeSystemDiskArgs']]): + pulumi.set(self, "system_disk", value) + + +if not MYPY: + class ClusterV2ManagerManagerNodeSystemDiskArgsDict(TypedDict): + category: NotRequired[pulumi.Input[_builtins.str]] + """ + Manage the system disk configuration of the node. Value range: + - cloud_efficiency: The Ultra cloud disk. + - cloud_ssd:SSD cloud disk. + - cloud_essd:ESSD cloud disk. + - cloud: ordinary cloud disk. + """ + level: NotRequired[pulumi.Input[_builtins.str]] + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + - PL2: maximum random read/write IOPS 100000 for a single disk. + - PL3: maximum random read/write IOPS 1 million for a single disk. + """ + size: NotRequired[pulumi.Input[_builtins.int]] + """ + The system disk size of the management node. Unit: GiB. Value range: + - Ordinary cloud tray: 20~500. + - ESSD cloud disk: + - PL0:1~2048. + - PL1:20~2048. + - PL2:461~2048. + - PL3:1261~2048. + - Other cloud disk types: 20~2048. + """ +elif False: + ClusterV2ManagerManagerNodeSystemDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerManagerNodeSystemDiskArgs: + def __init__(__self__, *, + category: Optional[pulumi.Input[_builtins.str]] = None, + level: Optional[pulumi.Input[_builtins.str]] = None, + size: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] category: Manage the system disk configuration of the node. Value range: + - cloud_efficiency: The Ultra cloud disk. + - cloud_ssd:SSD cloud disk. + - cloud_essd:ESSD cloud disk. + - cloud: ordinary cloud disk. + :param pulumi.Input[_builtins.str] level: When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + - PL2: maximum random read/write IOPS 100000 for a single disk. + - PL3: maximum random read/write IOPS 1 million for a single disk. + :param pulumi.Input[_builtins.int] size: The system disk size of the management node. Unit: GiB. Value range: + - Ordinary cloud tray: 20~500. + - ESSD cloud disk: + - PL0:1~2048. + - PL1:20~2048. + - PL2:461~2048. + - PL3:1261~2048. + - Other cloud disk types: 20~2048. + """ + if category is not None: + pulumi.set(__self__, "category", category) + if level is not None: + pulumi.set(__self__, "level", level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Manage the system disk configuration of the node. Value range: + - cloud_efficiency: The Ultra cloud disk. + - cloud_ssd:SSD cloud disk. + - cloud_essd:ESSD cloud disk. + - cloud: ordinary cloud disk. + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "category", value) + + @_builtins.property + @pulumi.getter + def level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + - PL2: maximum random read/write IOPS 100000 for a single disk. + - PL3: maximum random read/write IOPS 1 million for a single disk. + """ + return pulumi.get(self, "level") + + @level.setter + def level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "level", value) + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The system disk size of the management node. Unit: GiB. Value range: + - Ordinary cloud tray: 20~500. + - ESSD cloud disk: + - PL0:1~2048. + - PL1:20~2048. + - PL2:461~2048. + - PL3:1261~2048. + - Other cloud disk types: 20~2048. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "size", value) + + +if not MYPY: + class ClusterV2ManagerSchedulerArgsDict(TypedDict): + type: NotRequired[pulumi.Input[_builtins.str]] + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + version: NotRequired[pulumi.Input[_builtins.str]] +elif False: + ClusterV2ManagerSchedulerArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2ManagerSchedulerArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[_builtins.str]] = None, + version: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "version", value) + + +if not MYPY: + class ClusterV2SharedStorageArgsDict(TypedDict): + file_system_id: NotRequired[pulumi.Input[_builtins.str]] + """ + The ID of the mounted file system. + """ + mount_directory: NotRequired[pulumi.Input[_builtins.str]] + """ + The local Mount directory where the file system is mounted. + """ + mount_options: NotRequired[pulumi.Input[_builtins.str]] + """ + Storage mount options for the mounted file system. + """ + mount_target_domain: NotRequired[pulumi.Input[_builtins.str]] + """ + The mount point address of the mounted file system. + """ + nas_directory: NotRequired[pulumi.Input[_builtins.str]] + """ + The remote directory to which the mounted file system needs to be mounted. + """ + protocol_type: NotRequired[pulumi.Input[_builtins.str]] + """ + The protocol type of the mounted file system. Value range: + - NFS + - SMB + """ +elif False: + ClusterV2SharedStorageArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ClusterV2SharedStorageArgs: + def __init__(__self__, *, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + mount_directory: Optional[pulumi.Input[_builtins.str]] = None, + mount_options: Optional[pulumi.Input[_builtins.str]] = None, + mount_target_domain: Optional[pulumi.Input[_builtins.str]] = None, + nas_directory: Optional[pulumi.Input[_builtins.str]] = None, + protocol_type: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] file_system_id: The ID of the mounted file system. + :param pulumi.Input[_builtins.str] mount_directory: The local Mount directory where the file system is mounted. + :param pulumi.Input[_builtins.str] mount_options: Storage mount options for the mounted file system. + :param pulumi.Input[_builtins.str] mount_target_domain: The mount point address of the mounted file system. + :param pulumi.Input[_builtins.str] nas_directory: The remote directory to which the mounted file system needs to be mounted. + :param pulumi.Input[_builtins.str] protocol_type: The protocol type of the mounted file system. Value range: + - NFS + - SMB + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if mount_directory is not None: + pulumi.set(__self__, "mount_directory", mount_directory) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if mount_target_domain is not None: + pulumi.set(__self__, "mount_target_domain", mount_target_domain) + if nas_directory is not None: + pulumi.set(__self__, "nas_directory", nas_directory) + if protocol_type is not None: + pulumi.set(__self__, "protocol_type", protocol_type) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the mounted file system. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "file_system_id", value) + + @_builtins.property + @pulumi.getter(name="mountDirectory") + def mount_directory(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The local Mount directory where the file system is mounted. + """ + return pulumi.get(self, "mount_directory") + + @mount_directory.setter + def mount_directory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mount_directory", value) + + @_builtins.property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Storage mount options for the mounted file system. + """ + return pulumi.get(self, "mount_options") + + @mount_options.setter + def mount_options(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mount_options", value) + + @_builtins.property + @pulumi.getter(name="mountTargetDomain") + def mount_target_domain(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The mount point address of the mounted file system. + """ + return pulumi.get(self, "mount_target_domain") + + @mount_target_domain.setter + def mount_target_domain(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mount_target_domain", value) + + @_builtins.property + @pulumi.getter(name="nasDirectory") + def nas_directory(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The remote directory to which the mounted file system needs to be mounted. + """ + return pulumi.get(self, "nas_directory") + + @nas_directory.setter + def nas_directory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "nas_directory", value) + + @_builtins.property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The protocol type of the mounted file system. Value range: + - NFS + - SMB + """ + return pulumi.get(self, "protocol_type") + + @protocol_type.setter + def protocol_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "protocol_type", value) + + +if not MYPY: + class QueueComputeNodeArgsDict(TypedDict): + auto_renew: NotRequired[pulumi.Input[_builtins.bool]] + """ + AutoRenew + """ + auto_renew_period: NotRequired[pulumi.Input[_builtins.int]] + """ + AutoRenewPeriod + """ + duration: NotRequired[pulumi.Input[_builtins.int]] + """ + Duration + """ + enable_ht: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether HT is enabled for the computing node. + """ + image_id: NotRequired[pulumi.Input[_builtins.str]] + """ + ImageId + """ + instance_charge_type: NotRequired[pulumi.Input[_builtins.str]] + """ + InstanceChargeType + """ + instance_type: NotRequired[pulumi.Input[_builtins.str]] + """ + InstanceTypes + """ + period: NotRequired[pulumi.Input[_builtins.int]] + """ + Period + """ + period_unit: NotRequired[pulumi.Input[_builtins.str]] + """ + PeriodUnit + """ + spot_price_limit: NotRequired[pulumi.Input[_builtins.float]] + """ + SpotPriceLimit + """ + spot_strategy: NotRequired[pulumi.Input[_builtins.str]] + """ + SpotStrategy + """ + system_disk: NotRequired[pulumi.Input['QueueComputeNodeSystemDiskArgsDict']] + """ + SystemDisk See `system_disk` below. + """ +elif False: + QueueComputeNodeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class QueueComputeNodeArgs: + def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[_builtins.bool]] = None, + auto_renew_period: Optional[pulumi.Input[_builtins.int]] = None, + duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ht: Optional[pulumi.Input[_builtins.bool]] = None, + image_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + instance_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + period_unit: Optional[pulumi.Input[_builtins.str]] = None, + spot_price_limit: Optional[pulumi.Input[_builtins.float]] = None, + spot_strategy: Optional[pulumi.Input[_builtins.str]] = None, + system_disk: Optional[pulumi.Input['QueueComputeNodeSystemDiskArgs']] = None): + """ + :param pulumi.Input[_builtins.bool] auto_renew: AutoRenew + :param pulumi.Input[_builtins.int] auto_renew_period: AutoRenewPeriod + :param pulumi.Input[_builtins.int] duration: Duration + :param pulumi.Input[_builtins.bool] enable_ht: Whether HT is enabled for the computing node. + :param pulumi.Input[_builtins.str] image_id: ImageId + :param pulumi.Input[_builtins.str] instance_charge_type: InstanceChargeType + :param pulumi.Input[_builtins.str] instance_type: InstanceTypes + :param pulumi.Input[_builtins.int] period: Period + :param pulumi.Input[_builtins.str] period_unit: PeriodUnit + :param pulumi.Input[_builtins.float] spot_price_limit: SpotPriceLimit + :param pulumi.Input[_builtins.str] spot_strategy: SpotStrategy + :param pulumi.Input['QueueComputeNodeSystemDiskArgs'] system_disk: SystemDisk See `system_disk` below. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if auto_renew_period is not None: + pulumi.set(__self__, "auto_renew_period", auto_renew_period) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if enable_ht is not None: + pulumi.set(__self__, "enable_ht", enable_ht) + 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_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + if period is not None: + pulumi.set(__self__, "period", period) + if period_unit is not None: + pulumi.set(__self__, "period_unit", period_unit) + if spot_price_limit is not None: + pulumi.set(__self__, "spot_price_limit", spot_price_limit) + if spot_strategy is not None: + pulumi.set(__self__, "spot_strategy", spot_strategy) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + AutoRenew + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_renew", value) + + @_builtins.property + @pulumi.getter(name="autoRenewPeriod") + def auto_renew_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + AutoRenewPeriod + """ + return pulumi.get(self, "auto_renew_period") + + @auto_renew_period.setter + def auto_renew_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "auto_renew_period", value) + + @_builtins.property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Duration + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "duration", value) + + @_builtins.property + @pulumi.getter(name="enableHt") + def enable_ht(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether HT is enabled for the computing node. + """ + return pulumi.get(self, "enable_ht") + + @enable_ht.setter + def enable_ht(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_ht", value) + + @_builtins.property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ImageId + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "image_id", value) + + @_builtins.property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + InstanceChargeType + """ + return pulumi.get(self, "instance_charge_type") + + @instance_charge_type.setter + def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_charge_type", value) + + @_builtins.property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + InstanceTypes + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_type", value) + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Period + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "period", value) + + @_builtins.property + @pulumi.getter(name="periodUnit") + def period_unit(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + PeriodUnit + """ + return pulumi.get(self, "period_unit") + + @period_unit.setter + def period_unit(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "period_unit", value) + + @_builtins.property + @pulumi.getter(name="spotPriceLimit") + def spot_price_limit(self) -> Optional[pulumi.Input[_builtins.float]]: + """ + SpotPriceLimit + """ + return pulumi.get(self, "spot_price_limit") + + @spot_price_limit.setter + def spot_price_limit(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "spot_price_limit", value) + + @_builtins.property + @pulumi.getter(name="spotStrategy") + def spot_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + SpotStrategy + """ + return pulumi.get(self, "spot_strategy") + + @spot_strategy.setter + def spot_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "spot_strategy", value) + + @_builtins.property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional[pulumi.Input['QueueComputeNodeSystemDiskArgs']]: + """ + SystemDisk See `system_disk` below. + """ + return pulumi.get(self, "system_disk") + + @system_disk.setter + def system_disk(self, value: Optional[pulumi.Input['QueueComputeNodeSystemDiskArgs']]): + pulumi.set(self, "system_disk", value) + + +if not MYPY: + class QueueComputeNodeSystemDiskArgsDict(TypedDict): + category: NotRequired[pulumi.Input[_builtins.str]] + """ + Category + """ + level: NotRequired[pulumi.Input[_builtins.str]] + """ + Level + """ + size: NotRequired[pulumi.Input[_builtins.int]] + """ + Size + """ +elif False: + QueueComputeNodeSystemDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class QueueComputeNodeSystemDiskArgs: + def __init__(__self__, *, + category: Optional[pulumi.Input[_builtins.str]] = None, + level: Optional[pulumi.Input[_builtins.str]] = None, + size: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] category: Category + :param pulumi.Input[_builtins.str] level: Level + :param pulumi.Input[_builtins.int] size: Size + """ + if category is not None: + pulumi.set(__self__, "category", category) + if level is not None: + pulumi.set(__self__, "level", level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Category + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "category", value) + + @_builtins.property + @pulumi.getter + def level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Level + """ + return pulumi.get(self, "level") + + @level.setter + def level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "level", value) + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Size + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "size", value) + + diff --git a/sdk/python/pulumi_alicloud/ehpc/cluster.py b/sdk/python/pulumi_alicloud/ehpc/cluster.py index 2e3bf843ea..f4ae797eb7 100644 --- a/sdk/python/pulumi_alicloud/ehpc/cluster.py +++ b/sdk/python/pulumi_alicloud/ehpc/cluster.py @@ -2106,6 +2106,8 @@ def __init__(__self__, zone_id=default.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ehpc Cluster can be imported using the id, e.g. @@ -2263,6 +2265,8 @@ def __init__(__self__, zone_id=default.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ehpc Cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ehpc/cluster_v2.py b/sdk/python/pulumi_alicloud/ehpc/cluster_v2.py new file mode 100644 index 0000000000..de00e08305 --- /dev/null +++ b/sdk/python/pulumi_alicloud/ehpc/cluster_v2.py @@ -0,0 +1,1101 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ClusterV2Args', 'ClusterV2'] + +@pulumi.input_type +class ClusterV2Args: + def __init__(__self__, *, + cluster_credentials: pulumi.Input['ClusterV2ClusterCredentialsArgs'], + shared_storages: pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]], + addons: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]] = None, + client_version: Optional[pulumi.Input[_builtins.str]] = None, + cluster_category: Optional[pulumi.Input[_builtins.str]] = None, + cluster_mode: Optional[pulumi.Input[_builtins.str]] = None, + cluster_name: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, + manager: Optional[pulumi.Input['ClusterV2ManagerArgs']] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + security_group_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a ClusterV2 resource. + :param pulumi.Input['ClusterV2ClusterCredentialsArgs'] cluster_credentials: Security credentials for the cluster. See `cluster_credentials` below. + :param pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]] shared_storages: List of cluster shared storage configurations. See `shared_storages` below. + :param pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]] addons: The cluster custom service component configuration. Only one component is supported. See `addons` below. + :param pulumi.Input[_builtins.str] client_version: Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] cluster_category: The cluster type. Valid values: + + - Standard + - Serverless + :param pulumi.Input[_builtins.str] cluster_mode: The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + :param pulumi.Input[_builtins.str] cluster_name: The post-processing script of the cluster. + :param pulumi.Input[_builtins.str] cluster_vpc_id: The ID of the virtual private cloud (VPC) in which the cluster resides. + :param pulumi.Input[_builtins.str] cluster_vswitch_id: The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + :param pulumi.Input[_builtins.bool] deletion_protection: The idle duration of the compute nodes allowed by the cluster. + :param pulumi.Input['ClusterV2ManagerArgs'] manager: The configurations of the cluster management node. See `manager` below. + :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + :param pulumi.Input[_builtins.str] security_group_id: The security group ID. + """ + pulumi.set(__self__, "cluster_credentials", cluster_credentials) + pulumi.set(__self__, "shared_storages", shared_storages) + if addons is not None: + pulumi.set(__self__, "addons", addons) + if client_version is not None: + pulumi.set(__self__, "client_version", client_version) + if cluster_category is not None: + pulumi.set(__self__, "cluster_category", cluster_category) + if cluster_mode is not None: + pulumi.set(__self__, "cluster_mode", cluster_mode) + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if cluster_vpc_id is not None: + pulumi.set(__self__, "cluster_vpc_id", cluster_vpc_id) + if cluster_vswitch_id is not None: + pulumi.set(__self__, "cluster_vswitch_id", cluster_vswitch_id) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) + if manager is not None: + pulumi.set(__self__, "manager", manager) + if resource_group_id is not None: + pulumi.set(__self__, "resource_group_id", resource_group_id) + if security_group_id is not None: + pulumi.set(__self__, "security_group_id", security_group_id) + + @_builtins.property + @pulumi.getter(name="clusterCredentials") + def cluster_credentials(self) -> pulumi.Input['ClusterV2ClusterCredentialsArgs']: + """ + Security credentials for the cluster. See `cluster_credentials` below. + """ + return pulumi.get(self, "cluster_credentials") + + @cluster_credentials.setter + def cluster_credentials(self, value: pulumi.Input['ClusterV2ClusterCredentialsArgs']): + pulumi.set(self, "cluster_credentials", value) + + @_builtins.property + @pulumi.getter(name="sharedStorages") + def shared_storages(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]]: + """ + List of cluster shared storage configurations. See `shared_storages` below. + """ + return pulumi.get(self, "shared_storages") + + @shared_storages.setter + def shared_storages(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]]): + pulumi.set(self, "shared_storages", value) + + @_builtins.property + @pulumi.getter + def addons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]]: + """ + The cluster custom service component configuration. Only one component is supported. See `addons` below. + """ + return pulumi.get(self, "addons") + + @addons.setter + def addons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]]): + pulumi.set(self, "addons", value) + + @_builtins.property + @pulumi.getter(name="clientVersion") + def client_version(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + """ + return pulumi.get(self, "client_version") + + @client_version.setter + def client_version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "client_version", value) + + @_builtins.property + @pulumi.getter(name="clusterCategory") + def cluster_category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The cluster type. Valid values: + + - Standard + - Serverless + """ + return pulumi.get(self, "cluster_category") + + @cluster_category.setter + def cluster_category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_category", value) + + @_builtins.property + @pulumi.getter(name="clusterMode") + def cluster_mode(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + """ + return pulumi.get(self, "cluster_mode") + + @cluster_mode.setter + def cluster_mode(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_mode", value) + + @_builtins.property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The post-processing script of the cluster. + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_name", value) + + @_builtins.property + @pulumi.getter(name="clusterVpcId") + def cluster_vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the virtual private cloud (VPC) in which the cluster resides. + """ + return pulumi.get(self, "cluster_vpc_id") + + @cluster_vpc_id.setter + def cluster_vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_vpc_id", value) + + @_builtins.property + @pulumi.getter(name="clusterVswitchId") + def cluster_vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + """ + return pulumi.get(self, "cluster_vswitch_id") + + @cluster_vswitch_id.setter + def cluster_vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + The idle duration of the compute nodes allowed by the cluster. + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "deletion_protection", value) + + @_builtins.property + @pulumi.getter + def manager(self) -> Optional[pulumi.Input['ClusterV2ManagerArgs']]: + """ + The configurations of the cluster management node. See `manager` below. + """ + return pulumi.get(self, "manager") + + @manager.setter + def manager(self, value: Optional[pulumi.Input['ClusterV2ManagerArgs']]): + pulumi.set(self, "manager", value) + + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + """ + return pulumi.get(self, "resource_group_id") + + @resource_group_id.setter + def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_group_id", value) + + @_builtins.property + @pulumi.getter(name="securityGroupId") + def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The security group ID. + """ + return pulumi.get(self, "security_group_id") + + @security_group_id.setter + def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "security_group_id", value) + + +@pulumi.input_type +class _ClusterV2State: + def __init__(__self__, *, + addons: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]] = None, + client_version: Optional[pulumi.Input[_builtins.str]] = None, + cluster_category: Optional[pulumi.Input[_builtins.str]] = None, + cluster_credentials: Optional[pulumi.Input['ClusterV2ClusterCredentialsArgs']] = None, + cluster_mode: Optional[pulumi.Input[_builtins.str]] = None, + cluster_name: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, + manager: Optional[pulumi.Input['ClusterV2ManagerArgs']] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + security_group_id: Optional[pulumi.Input[_builtins.str]] = None, + shared_storages: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]]] = None): + """ + Input properties used for looking up and filtering ClusterV2 resources. + :param pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]] addons: The cluster custom service component configuration. Only one component is supported. See `addons` below. + :param pulumi.Input[_builtins.str] client_version: Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] cluster_category: The cluster type. Valid values: + + - Standard + - Serverless + :param pulumi.Input['ClusterV2ClusterCredentialsArgs'] cluster_credentials: Security credentials for the cluster. See `cluster_credentials` below. + :param pulumi.Input[_builtins.str] cluster_mode: The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + :param pulumi.Input[_builtins.str] cluster_name: The post-processing script of the cluster. + :param pulumi.Input[_builtins.str] cluster_vpc_id: The ID of the virtual private cloud (VPC) in which the cluster resides. + :param pulumi.Input[_builtins.str] cluster_vswitch_id: The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + :param pulumi.Input[_builtins.str] create_time: The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + :param pulumi.Input[_builtins.bool] deletion_protection: The idle duration of the compute nodes allowed by the cluster. + :param pulumi.Input['ClusterV2ManagerArgs'] manager: The configurations of the cluster management node. See `manager` below. + :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + :param pulumi.Input[_builtins.str] security_group_id: The security group ID. + :param pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]] shared_storages: List of cluster shared storage configurations. See `shared_storages` below. + """ + if addons is not None: + pulumi.set(__self__, "addons", addons) + if client_version is not None: + pulumi.set(__self__, "client_version", client_version) + if cluster_category is not None: + pulumi.set(__self__, "cluster_category", cluster_category) + if cluster_credentials is not None: + pulumi.set(__self__, "cluster_credentials", cluster_credentials) + if cluster_mode is not None: + pulumi.set(__self__, "cluster_mode", cluster_mode) + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if cluster_vpc_id is not None: + pulumi.set(__self__, "cluster_vpc_id", cluster_vpc_id) + if cluster_vswitch_id is not None: + pulumi.set(__self__, "cluster_vswitch_id", cluster_vswitch_id) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) + if manager is not None: + pulumi.set(__self__, "manager", manager) + if resource_group_id is not None: + pulumi.set(__self__, "resource_group_id", resource_group_id) + if security_group_id is not None: + pulumi.set(__self__, "security_group_id", security_group_id) + if shared_storages is not None: + pulumi.set(__self__, "shared_storages", shared_storages) + + @_builtins.property + @pulumi.getter + def addons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]]: + """ + The cluster custom service component configuration. Only one component is supported. See `addons` below. + """ + return pulumi.get(self, "addons") + + @addons.setter + def addons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2AddonArgs']]]]): + pulumi.set(self, "addons", value) + + @_builtins.property + @pulumi.getter(name="clientVersion") + def client_version(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + """ + return pulumi.get(self, "client_version") + + @client_version.setter + def client_version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "client_version", value) + + @_builtins.property + @pulumi.getter(name="clusterCategory") + def cluster_category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The cluster type. Valid values: + + - Standard + - Serverless + """ + return pulumi.get(self, "cluster_category") + + @cluster_category.setter + def cluster_category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_category", value) + + @_builtins.property + @pulumi.getter(name="clusterCredentials") + def cluster_credentials(self) -> Optional[pulumi.Input['ClusterV2ClusterCredentialsArgs']]: + """ + Security credentials for the cluster. See `cluster_credentials` below. + """ + return pulumi.get(self, "cluster_credentials") + + @cluster_credentials.setter + def cluster_credentials(self, value: Optional[pulumi.Input['ClusterV2ClusterCredentialsArgs']]): + pulumi.set(self, "cluster_credentials", value) + + @_builtins.property + @pulumi.getter(name="clusterMode") + def cluster_mode(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + """ + return pulumi.get(self, "cluster_mode") + + @cluster_mode.setter + def cluster_mode(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_mode", value) + + @_builtins.property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The post-processing script of the cluster. + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_name", value) + + @_builtins.property + @pulumi.getter(name="clusterVpcId") + def cluster_vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the virtual private cloud (VPC) in which the cluster resides. + """ + return pulumi.get(self, "cluster_vpc_id") + + @cluster_vpc_id.setter + def cluster_vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_vpc_id", value) + + @_builtins.property + @pulumi.getter(name="clusterVswitchId") + def cluster_vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + """ + return pulumi.get(self, "cluster_vswitch_id") + + @cluster_vswitch_id.setter + def cluster_vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + The idle duration of the compute nodes allowed by the cluster. + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "deletion_protection", value) + + @_builtins.property + @pulumi.getter + def manager(self) -> Optional[pulumi.Input['ClusterV2ManagerArgs']]: + """ + The configurations of the cluster management node. See `manager` below. + """ + return pulumi.get(self, "manager") + + @manager.setter + def manager(self, value: Optional[pulumi.Input['ClusterV2ManagerArgs']]): + pulumi.set(self, "manager", value) + + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + """ + return pulumi.get(self, "resource_group_id") + + @resource_group_id.setter + def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_group_id", value) + + @_builtins.property + @pulumi.getter(name="securityGroupId") + def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The security group ID. + """ + return pulumi.get(self, "security_group_id") + + @security_group_id.setter + def security_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "security_group_id", value) + + @_builtins.property + @pulumi.getter(name="sharedStorages") + def shared_storages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]]]: + """ + List of cluster shared storage configurations. See `shared_storages` below. + """ + return pulumi.get(self, "shared_storages") + + @shared_storages.setter + def shared_storages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterV2SharedStorageArgs']]]]): + pulumi.set(self, "shared_storages", value) + + +@pulumi.type_token("alicloud:ehpc/clusterV2:ClusterV2") +class ClusterV2(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + addons: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AddonArgs', 'ClusterV2AddonArgsDict']]]]] = None, + client_version: Optional[pulumi.Input[_builtins.str]] = None, + cluster_category: Optional[pulumi.Input[_builtins.str]] = None, + cluster_credentials: Optional[pulumi.Input[Union['ClusterV2ClusterCredentialsArgs', 'ClusterV2ClusterCredentialsArgsDict']]] = None, + cluster_mode: Optional[pulumi.Input[_builtins.str]] = None, + cluster_name: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, + manager: Optional[pulumi.Input[Union['ClusterV2ManagerArgs', 'ClusterV2ManagerArgsDict']]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + security_group_id: Optional[pulumi.Input[_builtins.str]] = None, + shared_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2SharedStorageArgs', 'ClusterV2SharedStorageArgsDict']]]]] = None, + __props__=None): + """ + Provides a Ehpc Cluster V2 resource. + + E-HPC Cluster Resources. + + For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="10.0.0.0/24", + vpc_name="example-cluster-vpc") + example_access_group = alicloud.nas.AccessGroup("example", + access_group_type="Vpc", + description=name, + access_group_name="StandardMountTarget", + file_system_type="standard") + example_file_system = alicloud.nas.FileSystem("example", + description="example-cluster-nas", + storage_type="Capacity", + nfs_acl={ + "enabled": False, + }, + zone_id="cn-hangzhou-k", + encrypt_type=0, + protocol_type="NFS", + file_system_type="standard") + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-hangzhou-k", + cidr_block="10.0.0.0/24", + vswitch_name="example-cluster-vsw") + example_access_rule = alicloud.nas.AccessRule("example", + priority=1, + access_group_name=example_access_group.access_group_name, + file_system_type=example_file_system.file_system_type, + source_cidr_ip="10.0.0.0/24") + example_security_group = alicloud.ecs.SecurityGroup("example", + vpc_id=example.id, + security_group_type="normal") + example_mount_target = alicloud.nas.MountTarget("example", + vpc_id=example.id, + network_type="Vpc", + access_group_name=example_access_group.access_group_name, + vswitch_id=example_switch.id, + file_system_id=example_file_system.id) + default = alicloud.ehpc.ClusterV2("default", + cluster_credentials={ + "password": "aliHPC123", + }, + cluster_vpc_id=example.id, + cluster_category="Standard", + cluster_mode="Integrated", + security_group_id=example_security_group.id, + cluster_name="minimal-example-cluster", + deletion_protection=True, + client_version="2.0.47", + shared_storages=[ + { + "mount_directory": "/home", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/opt", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/ehpcdata", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + ], + cluster_vswitch_id=example_switch.id, + manager={ + "manager_node": { + "system_disk": { + "category": "cloud_essd", + "size": 40, + "level": "PL0", + }, + "enable_ht": True, + "instance_charge_type": "PostPaid", + "image_id": "centos_7_6_x64_20G_alibase_20211130.vhd", + "spot_price_limit": 0, + "instance_type": "ecs.c6.xlarge", + "spot_strategy": "NoSpot", + }, + "scheduler": { + "type": "SLURM", + "version": "22.05.8", + }, + "dns": { + "type": "nis", + "version": "1.0", + }, + "directory_service": { + "type": "nis", + "version": "1.0", + }, + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Ehpc Cluster V2 can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AddonArgs', 'ClusterV2AddonArgsDict']]]] addons: The cluster custom service component configuration. Only one component is supported. See `addons` below. + :param pulumi.Input[_builtins.str] client_version: Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] cluster_category: The cluster type. Valid values: + + - Standard + - Serverless + :param pulumi.Input[Union['ClusterV2ClusterCredentialsArgs', 'ClusterV2ClusterCredentialsArgsDict']] cluster_credentials: Security credentials for the cluster. See `cluster_credentials` below. + :param pulumi.Input[_builtins.str] cluster_mode: The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + :param pulumi.Input[_builtins.str] cluster_name: The post-processing script of the cluster. + :param pulumi.Input[_builtins.str] cluster_vpc_id: The ID of the virtual private cloud (VPC) in which the cluster resides. + :param pulumi.Input[_builtins.str] cluster_vswitch_id: The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + :param pulumi.Input[_builtins.bool] deletion_protection: The idle duration of the compute nodes allowed by the cluster. + :param pulumi.Input[Union['ClusterV2ManagerArgs', 'ClusterV2ManagerArgsDict']] manager: The configurations of the cluster management node. See `manager` below. + :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + :param pulumi.Input[_builtins.str] security_group_id: The security group ID. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2SharedStorageArgs', 'ClusterV2SharedStorageArgsDict']]]] shared_storages: List of cluster shared storage configurations. See `shared_storages` below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterV2Args, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Ehpc Cluster V2 resource. + + E-HPC Cluster Resources. + + For information about Ehpc Cluster V2 and how to use it, see [What is Cluster V2](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateCluster). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="10.0.0.0/24", + vpc_name="example-cluster-vpc") + example_access_group = alicloud.nas.AccessGroup("example", + access_group_type="Vpc", + description=name, + access_group_name="StandardMountTarget", + file_system_type="standard") + example_file_system = alicloud.nas.FileSystem("example", + description="example-cluster-nas", + storage_type="Capacity", + nfs_acl={ + "enabled": False, + }, + zone_id="cn-hangzhou-k", + encrypt_type=0, + protocol_type="NFS", + file_system_type="standard") + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-hangzhou-k", + cidr_block="10.0.0.0/24", + vswitch_name="example-cluster-vsw") + example_access_rule = alicloud.nas.AccessRule("example", + priority=1, + access_group_name=example_access_group.access_group_name, + file_system_type=example_file_system.file_system_type, + source_cidr_ip="10.0.0.0/24") + example_security_group = alicloud.ecs.SecurityGroup("example", + vpc_id=example.id, + security_group_type="normal") + example_mount_target = alicloud.nas.MountTarget("example", + vpc_id=example.id, + network_type="Vpc", + access_group_name=example_access_group.access_group_name, + vswitch_id=example_switch.id, + file_system_id=example_file_system.id) + default = alicloud.ehpc.ClusterV2("default", + cluster_credentials={ + "password": "aliHPC123", + }, + cluster_vpc_id=example.id, + cluster_category="Standard", + cluster_mode="Integrated", + security_group_id=example_security_group.id, + cluster_name="minimal-example-cluster", + deletion_protection=True, + client_version="2.0.47", + shared_storages=[ + { + "mount_directory": "/home", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/opt", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/ehpcdata", + "nas_directory": "/", + "mount_target_domain": example_mount_target.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": example_file_system.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + ], + cluster_vswitch_id=example_switch.id, + manager={ + "manager_node": { + "system_disk": { + "category": "cloud_essd", + "size": 40, + "level": "PL0", + }, + "enable_ht": True, + "instance_charge_type": "PostPaid", + "image_id": "centos_7_6_x64_20G_alibase_20211130.vhd", + "spot_price_limit": 0, + "instance_type": "ecs.c6.xlarge", + "spot_strategy": "NoSpot", + }, + "scheduler": { + "type": "SLURM", + "version": "22.05.8", + }, + "dns": { + "type": "nis", + "version": "1.0", + }, + "directory_service": { + "type": "nis", + "version": "1.0", + }, + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Ehpc Cluster V2 can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:ehpc/clusterV2:ClusterV2 example + ``` + + :param str resource_name: The name of the resource. + :param ClusterV2Args 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(ClusterV2Args, 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, + addons: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AddonArgs', 'ClusterV2AddonArgsDict']]]]] = None, + client_version: Optional[pulumi.Input[_builtins.str]] = None, + cluster_category: Optional[pulumi.Input[_builtins.str]] = None, + cluster_credentials: Optional[pulumi.Input[Union['ClusterV2ClusterCredentialsArgs', 'ClusterV2ClusterCredentialsArgsDict']]] = None, + cluster_mode: Optional[pulumi.Input[_builtins.str]] = None, + cluster_name: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, + manager: Optional[pulumi.Input[Union['ClusterV2ManagerArgs', 'ClusterV2ManagerArgsDict']]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + security_group_id: Optional[pulumi.Input[_builtins.str]] = None, + shared_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2SharedStorageArgs', 'ClusterV2SharedStorageArgsDict']]]]] = 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__ = ClusterV2Args.__new__(ClusterV2Args) + + __props__.__dict__["addons"] = None if addons is None else pulumi.Output.secret(addons) + __props__.__dict__["client_version"] = client_version + __props__.__dict__["cluster_category"] = cluster_category + if cluster_credentials is None and not opts.urn: + raise TypeError("Missing required property 'cluster_credentials'") + __props__.__dict__["cluster_credentials"] = None if cluster_credentials is None else pulumi.Output.secret(cluster_credentials) + __props__.__dict__["cluster_mode"] = cluster_mode + __props__.__dict__["cluster_name"] = cluster_name + __props__.__dict__["cluster_vpc_id"] = cluster_vpc_id + __props__.__dict__["cluster_vswitch_id"] = cluster_vswitch_id + __props__.__dict__["deletion_protection"] = deletion_protection + __props__.__dict__["manager"] = manager + __props__.__dict__["resource_group_id"] = resource_group_id + __props__.__dict__["security_group_id"] = security_group_id + if shared_storages is None and not opts.urn: + raise TypeError("Missing required property 'shared_storages'") + __props__.__dict__["shared_storages"] = shared_storages + __props__.__dict__["create_time"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["addons", "clusterCredentials"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ClusterV2, __self__).__init__( + 'alicloud:ehpc/clusterV2:ClusterV2', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + addons: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AddonArgs', 'ClusterV2AddonArgsDict']]]]] = None, + client_version: Optional[pulumi.Input[_builtins.str]] = None, + cluster_category: Optional[pulumi.Input[_builtins.str]] = None, + cluster_credentials: Optional[pulumi.Input[Union['ClusterV2ClusterCredentialsArgs', 'ClusterV2ClusterCredentialsArgsDict']]] = None, + cluster_mode: Optional[pulumi.Input[_builtins.str]] = None, + cluster_name: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + cluster_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, + manager: Optional[pulumi.Input[Union['ClusterV2ManagerArgs', 'ClusterV2ManagerArgsDict']]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + security_group_id: Optional[pulumi.Input[_builtins.str]] = None, + shared_storages: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2SharedStorageArgs', 'ClusterV2SharedStorageArgsDict']]]]] = None) -> 'ClusterV2': + """ + Get an existing ClusterV2 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[Union['ClusterV2AddonArgs', 'ClusterV2AddonArgsDict']]]] addons: The cluster custom service component configuration. Only one component is supported. See `addons` below. + :param pulumi.Input[_builtins.str] client_version: Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] cluster_category: The cluster type. Valid values: + + - Standard + - Serverless + :param pulumi.Input[Union['ClusterV2ClusterCredentialsArgs', 'ClusterV2ClusterCredentialsArgsDict']] cluster_credentials: Security credentials for the cluster. See `cluster_credentials` below. + :param pulumi.Input[_builtins.str] cluster_mode: The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + :param pulumi.Input[_builtins.str] cluster_name: The post-processing script of the cluster. + :param pulumi.Input[_builtins.str] cluster_vpc_id: The ID of the virtual private cloud (VPC) in which the cluster resides. + :param pulumi.Input[_builtins.str] cluster_vswitch_id: The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + :param pulumi.Input[_builtins.str] create_time: The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + :param pulumi.Input[_builtins.bool] deletion_protection: The idle duration of the compute nodes allowed by the cluster. + :param pulumi.Input[Union['ClusterV2ManagerArgs', 'ClusterV2ManagerArgsDict']] manager: The configurations of the cluster management node. See `manager` below. + :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + :param pulumi.Input[_builtins.str] security_group_id: The security group ID. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2SharedStorageArgs', 'ClusterV2SharedStorageArgsDict']]]] shared_storages: List of cluster shared storage configurations. See `shared_storages` below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ClusterV2State.__new__(_ClusterV2State) + + __props__.__dict__["addons"] = addons + __props__.__dict__["client_version"] = client_version + __props__.__dict__["cluster_category"] = cluster_category + __props__.__dict__["cluster_credentials"] = cluster_credentials + __props__.__dict__["cluster_mode"] = cluster_mode + __props__.__dict__["cluster_name"] = cluster_name + __props__.__dict__["cluster_vpc_id"] = cluster_vpc_id + __props__.__dict__["cluster_vswitch_id"] = cluster_vswitch_id + __props__.__dict__["create_time"] = create_time + __props__.__dict__["deletion_protection"] = deletion_protection + __props__.__dict__["manager"] = manager + __props__.__dict__["resource_group_id"] = resource_group_id + __props__.__dict__["security_group_id"] = security_group_id + __props__.__dict__["shared_storages"] = shared_storages + return ClusterV2(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def addons(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterV2Addon']]]: + """ + The cluster custom service component configuration. Only one component is supported. See `addons` below. + """ + return pulumi.get(self, "addons") + + @_builtins.property + @pulumi.getter(name="clientVersion") + def client_version(self) -> pulumi.Output[_builtins.str]: + """ + Specifies whether to enable auto scale-out for the cluster. Valid values: + + - true + - false + """ + return pulumi.get(self, "client_version") + + @_builtins.property + @pulumi.getter(name="clusterCategory") + def cluster_category(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The cluster type. Valid values: + + - Standard + - Serverless + """ + return pulumi.get(self, "cluster_category") + + @_builtins.property + @pulumi.getter(name="clusterCredentials") + def cluster_credentials(self) -> pulumi.Output['outputs.ClusterV2ClusterCredentials']: + """ + Security credentials for the cluster. See `cluster_credentials` below. + """ + return pulumi.get(self, "cluster_credentials") + + @_builtins.property + @pulumi.getter(name="clusterMode") + def cluster_mode(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The deployment mode of the cluster. Valid values: + + - Integrated + - Hybrid + - Custom + """ + return pulumi.get(self, "cluster_mode") + + @_builtins.property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The post-processing script of the cluster. + """ + return pulumi.get(self, "cluster_name") + + @_builtins.property + @pulumi.getter(name="clusterVpcId") + def cluster_vpc_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the virtual private cloud (VPC) in which the cluster resides. + """ + return pulumi.get(self, "cluster_vpc_id") + + @_builtins.property + @pulumi.getter(name="clusterVswitchId") + def cluster_vswitch_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the vSwitch that you want the cluster to use. The vSwitch must reside in the VPC that is specified by the `ClusterVpcId` parameter. + You can call the [DescribeVpcs](https://www.alibabacloud.com/help/en/doc-detail/448581.html) operation to query information about the created VPCs and vSwitches. + """ + return pulumi.get(self, "cluster_vswitch_id") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The time when the cluster was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC. For more information, see ISO 8601. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + The idle duration of the compute nodes allowed by the cluster. + """ + return pulumi.get(self, "deletion_protection") + + @_builtins.property + @pulumi.getter + def manager(self) -> pulumi.Output[Optional['outputs.ClusterV2Manager']]: + """ + The configurations of the cluster management node. See `manager` below. + """ + return pulumi.get(self, "manager") + + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the resource group to which the cluster belongs. + You can call the [ListResourceGroups](https://www.alibabacloud.com/help/en/doc-detail/158855.html) operation to obtain the IDs of the resource groups. + """ + return pulumi.get(self, "resource_group_id") + + @_builtins.property + @pulumi.getter(name="securityGroupId") + def security_group_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The security group ID. + """ + return pulumi.get(self, "security_group_id") + + @_builtins.property + @pulumi.getter(name="sharedStorages") + def shared_storages(self) -> pulumi.Output[Sequence['outputs.ClusterV2SharedStorage']]: + """ + List of cluster shared storage configurations. See `shared_storages` below. + """ + return pulumi.get(self, "shared_storages") + diff --git a/sdk/python/pulumi_alicloud/ehpc/job_template.py b/sdk/python/pulumi_alicloud/ehpc/job_template.py index 13fcf23979..902dc5a39f 100644 --- a/sdk/python/pulumi_alicloud/ehpc/job_template.py +++ b/sdk/python/pulumi_alicloud/ehpc/job_template.py @@ -618,6 +618,8 @@ def __init__(__self__, command_line="./LammpsTest/lammps.pbs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ehpc Job Template can be imported using the id, e.g. @@ -672,6 +674,8 @@ def __init__(__self__, command_line="./LammpsTest/lammps.pbs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ehpc Job Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ehpc/outputs.py b/sdk/python/pulumi_alicloud/ehpc/outputs.py index 7f01e7829e..133555baca 100644 --- a/sdk/python/pulumi_alicloud/ehpc/outputs.py +++ b/sdk/python/pulumi_alicloud/ehpc/outputs.py @@ -20,6 +20,17 @@ 'ClusterAdditionalVolumeRole', 'ClusterApplication', 'ClusterPostInstallScript', + 'ClusterV2Addon', + 'ClusterV2ClusterCredentials', + 'ClusterV2Manager', + 'ClusterV2ManagerDirectoryService', + 'ClusterV2ManagerDns', + 'ClusterV2ManagerManagerNode', + 'ClusterV2ManagerManagerNodeSystemDisk', + 'ClusterV2ManagerScheduler', + 'ClusterV2SharedStorage', + 'QueueComputeNode', + 'QueueComputeNodeSystemDisk', 'GetClustersClusterResult', 'GetClustersClusterApplicationResult', 'GetClustersClusterPostInstallScriptResult', @@ -253,6 +264,954 @@ def url(self) -> Optional[_builtins.str]: return pulumi.get(self, "url") +@pulumi.output_type +class ClusterV2Addon(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourcesSpec": + suggest = "resources_spec" + elif key == "servicesSpec": + suggest = "services_spec" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterV2Addon. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterV2Addon.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterV2Addon.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: _builtins.str, + version: _builtins.str, + resources_spec: Optional[_builtins.str] = None, + services_spec: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Customize the specific configuration information of the service component. + :param _builtins.str version: Customize the service component version. + :param _builtins.str resources_spec: Customize the resource configuration of the service component. + :param _builtins.str services_spec: Customize the service configuration of the service component. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "version", version) + if resources_spec is not None: + pulumi.set(__self__, "resources_spec", resources_spec) + if services_spec is not None: + pulumi.set(__self__, "services_spec", services_spec) + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Customize the specific configuration information of the service component. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def version(self) -> _builtins.str: + """ + Customize the service component version. + """ + return pulumi.get(self, "version") + + @_builtins.property + @pulumi.getter(name="resourcesSpec") + def resources_spec(self) -> Optional[_builtins.str]: + """ + Customize the resource configuration of the service component. + """ + return pulumi.get(self, "resources_spec") + + @_builtins.property + @pulumi.getter(name="servicesSpec") + def services_spec(self) -> Optional[_builtins.str]: + """ + Customize the service configuration of the service component. + """ + return pulumi.get(self, "services_spec") + + +@pulumi.output_type +class ClusterV2ClusterCredentials(dict): + def __init__(__self__, *, + password: Optional[_builtins.str] = None): + """ + :param _builtins.str password: The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + """ + if password is not None: + pulumi.set(__self__, "password", password) + + @_builtins.property + @pulumi.getter + def password(self) -> Optional[_builtins.str]: + """ + The root password of the cluster node. It is 8 to 20 characters in length and must contain three types of characters: uppercase and lowercase letters, numbers, and special symbols. Special symbols can be: () ~! @ # $ % ^ & * - = + { } [ ] : ; ',. ? / + """ + return pulumi.get(self, "password") + + +@pulumi.output_type +class ClusterV2Manager(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "directoryService": + suggest = "directory_service" + elif key == "managerNode": + suggest = "manager_node" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterV2Manager. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterV2Manager.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterV2Manager.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + directory_service: Optional['outputs.ClusterV2ManagerDirectoryService'] = None, + dns: Optional['outputs.ClusterV2ManagerDns'] = None, + manager_node: Optional['outputs.ClusterV2ManagerManagerNode'] = None, + scheduler: Optional['outputs.ClusterV2ManagerScheduler'] = None): + """ + :param 'ClusterV2ManagerDirectoryServiceArgs' directory_service: The configurations of the domain account service. See `directory_service` below. + :param 'ClusterV2ManagerDnsArgs' dns: The configurations of the domain name resolution service. See `dns` below. + :param 'ClusterV2ManagerManagerNodeArgs' manager_node: The hardware configurations of the management node. See `manager_node` below. + :param 'ClusterV2ManagerSchedulerArgs' scheduler: The configurations of the scheduler service. See `scheduler` below. + """ + if directory_service is not None: + pulumi.set(__self__, "directory_service", directory_service) + if dns is not None: + pulumi.set(__self__, "dns", dns) + if manager_node is not None: + pulumi.set(__self__, "manager_node", manager_node) + if scheduler is not None: + pulumi.set(__self__, "scheduler", scheduler) + + @_builtins.property + @pulumi.getter(name="directoryService") + def directory_service(self) -> Optional['outputs.ClusterV2ManagerDirectoryService']: + """ + The configurations of the domain account service. See `directory_service` below. + """ + return pulumi.get(self, "directory_service") + + @_builtins.property + @pulumi.getter + def dns(self) -> Optional['outputs.ClusterV2ManagerDns']: + """ + The configurations of the domain name resolution service. See `dns` below. + """ + return pulumi.get(self, "dns") + + @_builtins.property + @pulumi.getter(name="managerNode") + def manager_node(self) -> Optional['outputs.ClusterV2ManagerManagerNode']: + """ + The hardware configurations of the management node. See `manager_node` below. + """ + return pulumi.get(self, "manager_node") + + @_builtins.property + @pulumi.getter + def scheduler(self) -> Optional['outputs.ClusterV2ManagerScheduler']: + """ + The configurations of the scheduler service. See `scheduler` below. + """ + return pulumi.get(self, "scheduler") + + +@pulumi.output_type +class ClusterV2ManagerDirectoryService(dict): + def __init__(__self__, *, + type: Optional[_builtins.str] = None, + version: Optional[_builtins.str] = None): + """ + :param _builtins.str type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[_builtins.str]: + return pulumi.get(self, "version") + + +@pulumi.output_type +class ClusterV2ManagerDns(dict): + def __init__(__self__, *, + type: Optional[_builtins.str] = None, + version: Optional[_builtins.str] = None): + """ + :param _builtins.str type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[_builtins.str]: + return pulumi.get(self, "version") + + +@pulumi.output_type +class ClusterV2ManagerManagerNode(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoRenew": + suggest = "auto_renew" + elif key == "autoRenewPeriod": + suggest = "auto_renew_period" + elif key == "enableHt": + suggest = "enable_ht" + elif key == "expiredTime": + suggest = "expired_time" + elif key == "imageId": + suggest = "image_id" + elif key == "instanceChargeType": + suggest = "instance_charge_type" + elif key == "instanceId": + suggest = "instance_id" + elif key == "instanceType": + suggest = "instance_type" + elif key == "periodUnit": + suggest = "period_unit" + elif key == "spotPriceLimit": + suggest = "spot_price_limit" + elif key == "spotStrategy": + suggest = "spot_strategy" + elif key == "systemDisk": + suggest = "system_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterV2ManagerManagerNode. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterV2ManagerManagerNode.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterV2ManagerManagerNode.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_renew: Optional[_builtins.bool] = None, + auto_renew_period: Optional[_builtins.int] = None, + duration: Optional[_builtins.int] = None, + enable_ht: Optional[_builtins.bool] = None, + expired_time: Optional[_builtins.str] = None, + image_id: Optional[_builtins.str] = None, + instance_charge_type: Optional[_builtins.str] = None, + instance_id: Optional[_builtins.str] = None, + instance_type: Optional[_builtins.str] = None, + period: Optional[_builtins.int] = None, + period_unit: Optional[_builtins.str] = None, + spot_price_limit: Optional[_builtins.float] = None, + spot_strategy: Optional[_builtins.str] = None, + system_disk: Optional['outputs.ClusterV2ManagerManagerNodeSystemDisk'] = None): + """ + :param _builtins.bool auto_renew: Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + - true: Automatic renewal. + - false: Do not renew automatically (default). + :param _builtins.int auto_renew_period: The renewal duration of a single automatic renewal. Value range: + - When PeriodUnit = Week: 1, 2, 3. + - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + + Default value: 1. + :param _builtins.int duration: The duration of the preemptible instance, in hours. Value: + - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + + Default value: 1. + :param _builtins.bool enable_ht: EnableHT + :param _builtins.str expired_time: The expiration time of the management node. + :param _builtins.str image_id: ImageId + :param _builtins.str instance_charge_type: The instance billing method of the management node. Valid values: + + - PostPaid: pay-as-you-go + - PrePaid: subscription + :param _builtins.str instance_id: The instance ID of the management node. + :param _builtins.str instance_type: The instance type of the management node. + :param _builtins.int period: The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + :param _builtins.str period_unit: The unit of duration of the year-to-month billing method. Value range: + - Week. + - Month (default). + :param _builtins.float spot_price_limit: Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + :param _builtins.str spot_strategy: The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + - NoSpot: normal pay-as-you-go instances (default). + - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + :param 'ClusterV2ManagerManagerNodeSystemDiskArgs' system_disk: System disk configuration of the management node. See `system_disk` below. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if auto_renew_period is not None: + pulumi.set(__self__, "auto_renew_period", auto_renew_period) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if enable_ht is not None: + pulumi.set(__self__, "enable_ht", enable_ht) + if expired_time is not None: + pulumi.set(__self__, "expired_time", expired_time) + 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_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + if period is not None: + pulumi.set(__self__, "period", period) + if period_unit is not None: + pulumi.set(__self__, "period_unit", period_unit) + if spot_price_limit is not None: + pulumi.set(__self__, "spot_price_limit", spot_price_limit) + if spot_strategy is not None: + pulumi.set(__self__, "spot_strategy", spot_strategy) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[_builtins.bool]: + """ + Whether to automatically renew. This parameter takes effect only when the value of InstanceChargeType is PrePaid. Value range: + - true: Automatic renewal. + - false: Do not renew automatically (default). + """ + return pulumi.get(self, "auto_renew") + + @_builtins.property + @pulumi.getter(name="autoRenewPeriod") + def auto_renew_period(self) -> Optional[_builtins.int]: + """ + The renewal duration of a single automatic renewal. Value range: + - When PeriodUnit = Week: 1, 2, 3. + - When PeriodUnit = Month: 1, 2, 3, 6, 12, 24, 36, 48, 60. + + Default value: 1. + """ + return pulumi.get(self, "auto_renew_period") + + @_builtins.property + @pulumi.getter + def duration(self) -> Optional[_builtins.int]: + """ + The duration of the preemptible instance, in hours. Value: + - : After the instance is created, Alibaba Cloud will ensure that the instance will not be automatically released after one hour of operation. After one hour, the system will compare the bid price with the market price in real time and check the resource inventory to determine the holding and recycling of the instance. + - 0: After creation, Alibaba Cloud does not guarantee the running time of the instance. The system compares the bid price with the market price in real time and checks the resource inventory to determine the holding and recycling of the instance. + + Default value: 1. + """ + return pulumi.get(self, "duration") + + @_builtins.property + @pulumi.getter(name="enableHt") + def enable_ht(self) -> Optional[_builtins.bool]: + """ + EnableHT + """ + return pulumi.get(self, "enable_ht") + + @_builtins.property + @pulumi.getter(name="expiredTime") + def expired_time(self) -> Optional[_builtins.str]: + """ + The expiration time of the management node. + """ + return pulumi.get(self, "expired_time") + + @_builtins.property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[_builtins.str]: + """ + ImageId + """ + return pulumi.get(self, "image_id") + + @_builtins.property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[_builtins.str]: + """ + The instance billing method of the management node. Valid values: + + - PostPaid: pay-as-you-go + - PrePaid: subscription + """ + return pulumi.get(self, "instance_charge_type") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[_builtins.str]: + """ + The instance ID of the management node. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[_builtins.str]: + """ + The instance type of the management node. + """ + return pulumi.get(self, "instance_type") + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[_builtins.int]: + """ + The duration of the resource purchase. The unit is specified by PeriodUnit. The parameter InstanceChargeType takes effect only when the value is PrePaid and is a required value. Once DedicatedHostId is specified, the value range cannot exceed the subscription duration of the DDH. Value range: + - When PeriodUnit = Week, the values of Period are 1, 2, 3, and 4. + - When PeriodUnit = Month, the values of Period are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. + """ + return pulumi.get(self, "period") + + @_builtins.property + @pulumi.getter(name="periodUnit") + def period_unit(self) -> Optional[_builtins.str]: + """ + The unit of duration of the year-to-month billing method. Value range: + - Week. + - Month (default). + """ + return pulumi.get(self, "period_unit") + + @_builtins.property + @pulumi.getter(name="spotPriceLimit") + def spot_price_limit(self) -> Optional[_builtins.float]: + """ + Set the maximum price per hour for the instance. The maximum number of decimals is 3. It takes effect when the value of the SpotStrategy parameter is SpotWithPriceLimit. + """ + return pulumi.get(self, "spot_price_limit") + + @_builtins.property + @pulumi.getter(name="spotStrategy") + def spot_strategy(self) -> Optional[_builtins.str]: + """ + The bidding strategy for pay-as-you-go instances. This parameter takes effect when the value of the InstanceChargeType parameter is PostPaid. Value range: + - NoSpot: normal pay-as-you-go instances (default). + - SpotWithPriceLimit: set the upper limit price for the preemptible instance. + - SpotAsPriceGo: The system automatically bids, following the actual price of the current market. + """ + return pulumi.get(self, "spot_strategy") + + @_builtins.property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional['outputs.ClusterV2ManagerManagerNodeSystemDisk']: + """ + System disk configuration of the management node. See `system_disk` below. + """ + return pulumi.get(self, "system_disk") + + +@pulumi.output_type +class ClusterV2ManagerManagerNodeSystemDisk(dict): + def __init__(__self__, *, + category: Optional[_builtins.str] = None, + level: Optional[_builtins.str] = None, + size: Optional[_builtins.int] = None): + """ + :param _builtins.str category: Manage the system disk configuration of the node. Value range: + - cloud_efficiency: The Ultra cloud disk. + - cloud_ssd:SSD cloud disk. + - cloud_essd:ESSD cloud disk. + - cloud: ordinary cloud disk. + :param _builtins.str level: When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + - PL2: maximum random read/write IOPS 100000 for a single disk. + - PL3: maximum random read/write IOPS 1 million for a single disk. + :param _builtins.int size: The system disk size of the management node. Unit: GiB. Value range: + - Ordinary cloud tray: 20~500. + - ESSD cloud disk: + - PL0:1~2048. + - PL1:20~2048. + - PL2:461~2048. + - PL3:1261~2048. + - Other cloud disk types: 20~2048. + """ + if category is not None: + pulumi.set(__self__, "category", category) + if level is not None: + pulumi.set(__self__, "level", level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[_builtins.str]: + """ + Manage the system disk configuration of the node. Value range: + - cloud_efficiency: The Ultra cloud disk. + - cloud_ssd:SSD cloud disk. + - cloud_essd:ESSD cloud disk. + - cloud: ordinary cloud disk. + """ + return pulumi.get(self, "category") + + @_builtins.property + @pulumi.getter + def level(self) -> Optional[_builtins.str]: + """ + When creating an ESSD cloud disk to use as a system disk, set the performance level of the cloud disk. Value range: + - PL0: maximum random read/write IOPS 10000 for a single disk. + - PL1 (default): Maximum random read/write IOPS 50000 for a single disk. + - PL2: maximum random read/write IOPS 100000 for a single disk. + - PL3: maximum random read/write IOPS 1 million for a single disk. + """ + return pulumi.get(self, "level") + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[_builtins.int]: + """ + The system disk size of the management node. Unit: GiB. Value range: + - Ordinary cloud tray: 20~500. + - ESSD cloud disk: + - PL0:1~2048. + - PL1:20~2048. + - PL2:461~2048. + - PL3:1261~2048. + - Other cloud disk types: 20~2048. + """ + return pulumi.get(self, "size") + + +@pulumi.output_type +class ClusterV2ManagerScheduler(dict): + def __init__(__self__, *, + type: Optional[_builtins.str] = None, + version: Optional[_builtins.str] = None): + """ + :param _builtins.str type: The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + The scheduler type. Valid values: + + - SLURM + - PBS + - OPENGRIDSCHEDULER + - LSF_PLUGIN + - PBS_PLUGIN + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[_builtins.str]: + return pulumi.get(self, "version") + + +@pulumi.output_type +class ClusterV2SharedStorage(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemId": + suggest = "file_system_id" + elif key == "mountDirectory": + suggest = "mount_directory" + elif key == "mountOptions": + suggest = "mount_options" + elif key == "mountTargetDomain": + suggest = "mount_target_domain" + elif key == "nasDirectory": + suggest = "nas_directory" + elif key == "protocolType": + suggest = "protocol_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterV2SharedStorage. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterV2SharedStorage.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterV2SharedStorage.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_id: Optional[_builtins.str] = None, + mount_directory: Optional[_builtins.str] = None, + mount_options: Optional[_builtins.str] = None, + mount_target_domain: Optional[_builtins.str] = None, + nas_directory: Optional[_builtins.str] = None, + protocol_type: Optional[_builtins.str] = None): + """ + :param _builtins.str file_system_id: The ID of the mounted file system. + :param _builtins.str mount_directory: The local Mount directory where the file system is mounted. + :param _builtins.str mount_options: Storage mount options for the mounted file system. + :param _builtins.str mount_target_domain: The mount point address of the mounted file system. + :param _builtins.str nas_directory: The remote directory to which the mounted file system needs to be mounted. + :param _builtins.str protocol_type: The protocol type of the mounted file system. Value range: + - NFS + - SMB + """ + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if mount_directory is not None: + pulumi.set(__self__, "mount_directory", mount_directory) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if mount_target_domain is not None: + pulumi.set(__self__, "mount_target_domain", mount_target_domain) + if nas_directory is not None: + pulumi.set(__self__, "nas_directory", nas_directory) + if protocol_type is not None: + pulumi.set(__self__, "protocol_type", protocol_type) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[_builtins.str]: + """ + The ID of the mounted file system. + """ + return pulumi.get(self, "file_system_id") + + @_builtins.property + @pulumi.getter(name="mountDirectory") + def mount_directory(self) -> Optional[_builtins.str]: + """ + The local Mount directory where the file system is mounted. + """ + return pulumi.get(self, "mount_directory") + + @_builtins.property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[_builtins.str]: + """ + Storage mount options for the mounted file system. + """ + return pulumi.get(self, "mount_options") + + @_builtins.property + @pulumi.getter(name="mountTargetDomain") + def mount_target_domain(self) -> Optional[_builtins.str]: + """ + The mount point address of the mounted file system. + """ + return pulumi.get(self, "mount_target_domain") + + @_builtins.property + @pulumi.getter(name="nasDirectory") + def nas_directory(self) -> Optional[_builtins.str]: + """ + The remote directory to which the mounted file system needs to be mounted. + """ + return pulumi.get(self, "nas_directory") + + @_builtins.property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> Optional[_builtins.str]: + """ + The protocol type of the mounted file system. Value range: + - NFS + - SMB + """ + return pulumi.get(self, "protocol_type") + + +@pulumi.output_type +class QueueComputeNode(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoRenew": + suggest = "auto_renew" + elif key == "autoRenewPeriod": + suggest = "auto_renew_period" + elif key == "enableHt": + suggest = "enable_ht" + elif key == "imageId": + suggest = "image_id" + elif key == "instanceChargeType": + suggest = "instance_charge_type" + elif key == "instanceType": + suggest = "instance_type" + elif key == "periodUnit": + suggest = "period_unit" + elif key == "spotPriceLimit": + suggest = "spot_price_limit" + elif key == "spotStrategy": + suggest = "spot_strategy" + elif key == "systemDisk": + suggest = "system_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in QueueComputeNode. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + QueueComputeNode.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + QueueComputeNode.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_renew: Optional[_builtins.bool] = None, + auto_renew_period: Optional[_builtins.int] = None, + duration: Optional[_builtins.int] = None, + enable_ht: Optional[_builtins.bool] = None, + image_id: Optional[_builtins.str] = None, + instance_charge_type: Optional[_builtins.str] = None, + instance_type: Optional[_builtins.str] = None, + period: Optional[_builtins.int] = None, + period_unit: Optional[_builtins.str] = None, + spot_price_limit: Optional[_builtins.float] = None, + spot_strategy: Optional[_builtins.str] = None, + system_disk: Optional['outputs.QueueComputeNodeSystemDisk'] = None): + """ + :param _builtins.bool auto_renew: AutoRenew + :param _builtins.int auto_renew_period: AutoRenewPeriod + :param _builtins.int duration: Duration + :param _builtins.bool enable_ht: Whether HT is enabled for the computing node. + :param _builtins.str image_id: ImageId + :param _builtins.str instance_charge_type: InstanceChargeType + :param _builtins.str instance_type: InstanceTypes + :param _builtins.int period: Period + :param _builtins.str period_unit: PeriodUnit + :param _builtins.float spot_price_limit: SpotPriceLimit + :param _builtins.str spot_strategy: SpotStrategy + :param 'QueueComputeNodeSystemDiskArgs' system_disk: SystemDisk See `system_disk` below. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if auto_renew_period is not None: + pulumi.set(__self__, "auto_renew_period", auto_renew_period) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if enable_ht is not None: + pulumi.set(__self__, "enable_ht", enable_ht) + 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_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + if period is not None: + pulumi.set(__self__, "period", period) + if period_unit is not None: + pulumi.set(__self__, "period_unit", period_unit) + if spot_price_limit is not None: + pulumi.set(__self__, "spot_price_limit", spot_price_limit) + if spot_strategy is not None: + pulumi.set(__self__, "spot_strategy", spot_strategy) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + + @_builtins.property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[_builtins.bool]: + """ + AutoRenew + """ + return pulumi.get(self, "auto_renew") + + @_builtins.property + @pulumi.getter(name="autoRenewPeriod") + def auto_renew_period(self) -> Optional[_builtins.int]: + """ + AutoRenewPeriod + """ + return pulumi.get(self, "auto_renew_period") + + @_builtins.property + @pulumi.getter + def duration(self) -> Optional[_builtins.int]: + """ + Duration + """ + return pulumi.get(self, "duration") + + @_builtins.property + @pulumi.getter(name="enableHt") + def enable_ht(self) -> Optional[_builtins.bool]: + """ + Whether HT is enabled for the computing node. + """ + return pulumi.get(self, "enable_ht") + + @_builtins.property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[_builtins.str]: + """ + ImageId + """ + return pulumi.get(self, "image_id") + + @_builtins.property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[_builtins.str]: + """ + InstanceChargeType + """ + return pulumi.get(self, "instance_charge_type") + + @_builtins.property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[_builtins.str]: + """ + InstanceTypes + """ + return pulumi.get(self, "instance_type") + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[_builtins.int]: + """ + Period + """ + return pulumi.get(self, "period") + + @_builtins.property + @pulumi.getter(name="periodUnit") + def period_unit(self) -> Optional[_builtins.str]: + """ + PeriodUnit + """ + return pulumi.get(self, "period_unit") + + @_builtins.property + @pulumi.getter(name="spotPriceLimit") + def spot_price_limit(self) -> Optional[_builtins.float]: + """ + SpotPriceLimit + """ + return pulumi.get(self, "spot_price_limit") + + @_builtins.property + @pulumi.getter(name="spotStrategy") + def spot_strategy(self) -> Optional[_builtins.str]: + """ + SpotStrategy + """ + return pulumi.get(self, "spot_strategy") + + @_builtins.property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional['outputs.QueueComputeNodeSystemDisk']: + """ + SystemDisk See `system_disk` below. + """ + return pulumi.get(self, "system_disk") + + +@pulumi.output_type +class QueueComputeNodeSystemDisk(dict): + def __init__(__self__, *, + category: Optional[_builtins.str] = None, + level: Optional[_builtins.str] = None, + size: Optional[_builtins.int] = None): + """ + :param _builtins.str category: Category + :param _builtins.str level: Level + :param _builtins.int size: Size + """ + if category is not None: + pulumi.set(__self__, "category", category) + if level is not None: + pulumi.set(__self__, "level", level) + if size is not None: + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter + def category(self) -> Optional[_builtins.str]: + """ + Category + """ + return pulumi.get(self, "category") + + @_builtins.property + @pulumi.getter + def level(self) -> Optional[_builtins.str]: + """ + Level + """ + return pulumi.get(self, "level") + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[_builtins.int]: + """ + Size + """ + return pulumi.get(self, "size") + + @pulumi.output_type class GetClustersClusterResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/ehpc/queue.py b/sdk/python/pulumi_alicloud/ehpc/queue.py new file mode 100644 index 0000000000..bee4509859 --- /dev/null +++ b/sdk/python/pulumi_alicloud/ehpc/queue.py @@ -0,0 +1,1151 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['QueueArgs', 'Queue'] + +@pulumi.input_type +class QueueArgs: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + compute_nodes: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]] = None, + enable_scale_in: Optional[pulumi.Input[_builtins.bool]] = None, + enable_scale_out: Optional[pulumi.Input[_builtins.bool]] = None, + hostname_prefix: Optional[pulumi.Input[_builtins.str]] = None, + hostname_suffix: Optional[pulumi.Input[_builtins.str]] = None, + initial_count: Optional[pulumi.Input[_builtins.int]] = None, + inter_connect: Optional[pulumi.Input[_builtins.str]] = None, + max_count: Optional[pulumi.Input[_builtins.int]] = None, + min_count: Optional[pulumi.Input[_builtins.int]] = None, + queue_name: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a Queue resource. + :param pulumi.Input[_builtins.str] cluster_id: The cluster ID. + You can call the ListClusters operation to query the cluster ID. + :param pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]] compute_nodes: The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + :param pulumi.Input[_builtins.bool] enable_scale_in: Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.bool] enable_scale_out: Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] hostname_prefix: The hostname prefix of the added compute nodes. + :param pulumi.Input[_builtins.str] hostname_suffix: The hostname suffix of the compute nodes in the queue. + :param pulumi.Input[_builtins.int] initial_count: The initial number of compute nodes in the queue. + :param pulumi.Input[_builtins.str] inter_connect: The type of the network for interconnecting compute nodes in the queue. + :param pulumi.Input[_builtins.int] max_count: The maximum number of compute nodes that the queue can contain. + :param pulumi.Input[_builtins.int] min_count: The minimum number of compute nodes that the queue must contain. + :param pulumi.Input[_builtins.str] queue_name: The queue name. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitches available for use by compute nodes in the queue. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if compute_nodes is not None: + pulumi.set(__self__, "compute_nodes", compute_nodes) + if enable_scale_in is not None: + pulumi.set(__self__, "enable_scale_in", enable_scale_in) + if enable_scale_out is not None: + pulumi.set(__self__, "enable_scale_out", enable_scale_out) + if hostname_prefix is not None: + pulumi.set(__self__, "hostname_prefix", hostname_prefix) + if hostname_suffix is not None: + pulumi.set(__self__, "hostname_suffix", hostname_suffix) + if initial_count is not None: + pulumi.set(__self__, "initial_count", initial_count) + if inter_connect is not None: + pulumi.set(__self__, "inter_connect", inter_connect) + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + if min_count is not None: + pulumi.set(__self__, "min_count", min_count) + if queue_name is not None: + pulumi.set(__self__, "queue_name", queue_name) + if vswitch_ids is not None: + pulumi.set(__self__, "vswitch_ids", vswitch_ids) + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The cluster ID. + You can call the ListClusters operation to query the cluster ID. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + + @_builtins.property + @pulumi.getter(name="computeNodes") + def compute_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]]: + """ + The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + """ + return pulumi.get(self, "compute_nodes") + + @compute_nodes.setter + def compute_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]]): + pulumi.set(self, "compute_nodes", value) + + @_builtins.property + @pulumi.getter(name="enableScaleIn") + def enable_scale_in(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_in") + + @enable_scale_in.setter + def enable_scale_in(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_scale_in", value) + + @_builtins.property + @pulumi.getter(name="enableScaleOut") + def enable_scale_out(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_out") + + @enable_scale_out.setter + def enable_scale_out(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_scale_out", value) + + @_builtins.property + @pulumi.getter(name="hostnamePrefix") + def hostname_prefix(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The hostname prefix of the added compute nodes. + """ + return pulumi.get(self, "hostname_prefix") + + @hostname_prefix.setter + def hostname_prefix(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname_prefix", value) + + @_builtins.property + @pulumi.getter(name="hostnameSuffix") + def hostname_suffix(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The hostname suffix of the compute nodes in the queue. + """ + return pulumi.get(self, "hostname_suffix") + + @hostname_suffix.setter + def hostname_suffix(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname_suffix", value) + + @_builtins.property + @pulumi.getter(name="initialCount") + def initial_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The initial number of compute nodes in the queue. + """ + return pulumi.get(self, "initial_count") + + @initial_count.setter + def initial_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "initial_count", value) + + @_builtins.property + @pulumi.getter(name="interConnect") + def inter_connect(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The type of the network for interconnecting compute nodes in the queue. + """ + return pulumi.get(self, "inter_connect") + + @inter_connect.setter + def inter_connect(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "inter_connect", value) + + @_builtins.property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The maximum number of compute nodes that the queue can contain. + """ + return pulumi.get(self, "max_count") + + @max_count.setter + def max_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "max_count", value) + + @_builtins.property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The minimum number of compute nodes that the queue must contain. + """ + return pulumi.get(self, "min_count") + + @min_count.setter + def min_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "min_count", value) + + @_builtins.property + @pulumi.getter(name="queueName") + def queue_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The queue name. + """ + return pulumi.get(self, "queue_name") + + @queue_name.setter + def queue_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "queue_name", value) + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The vSwitches available for use by compute nodes in the queue. + """ + return pulumi.get(self, "vswitch_ids") + + @vswitch_ids.setter + def vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vswitch_ids", value) + + +@pulumi.input_type +class _QueueState: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + compute_nodes: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + enable_scale_in: Optional[pulumi.Input[_builtins.bool]] = None, + enable_scale_out: Optional[pulumi.Input[_builtins.bool]] = None, + hostname_prefix: Optional[pulumi.Input[_builtins.str]] = None, + hostname_suffix: Optional[pulumi.Input[_builtins.str]] = None, + initial_count: Optional[pulumi.Input[_builtins.int]] = None, + inter_connect: Optional[pulumi.Input[_builtins.str]] = None, + max_count: Optional[pulumi.Input[_builtins.int]] = None, + min_count: Optional[pulumi.Input[_builtins.int]] = None, + queue_name: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + Input properties used for looking up and filtering Queue resources. + :param pulumi.Input[_builtins.str] cluster_id: The cluster ID. + You can call the ListClusters operation to query the cluster ID. + :param pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]] compute_nodes: The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.bool] enable_scale_in: Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.bool] enable_scale_out: Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] hostname_prefix: The hostname prefix of the added compute nodes. + :param pulumi.Input[_builtins.str] hostname_suffix: The hostname suffix of the compute nodes in the queue. + :param pulumi.Input[_builtins.int] initial_count: The initial number of compute nodes in the queue. + :param pulumi.Input[_builtins.str] inter_connect: The type of the network for interconnecting compute nodes in the queue. + :param pulumi.Input[_builtins.int] max_count: The maximum number of compute nodes that the queue can contain. + :param pulumi.Input[_builtins.int] min_count: The minimum number of compute nodes that the queue must contain. + :param pulumi.Input[_builtins.str] queue_name: The queue name. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitches available for use by compute nodes in the queue. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if compute_nodes is not None: + pulumi.set(__self__, "compute_nodes", compute_nodes) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if enable_scale_in is not None: + pulumi.set(__self__, "enable_scale_in", enable_scale_in) + if enable_scale_out is not None: + pulumi.set(__self__, "enable_scale_out", enable_scale_out) + if hostname_prefix is not None: + pulumi.set(__self__, "hostname_prefix", hostname_prefix) + if hostname_suffix is not None: + pulumi.set(__self__, "hostname_suffix", hostname_suffix) + if initial_count is not None: + pulumi.set(__self__, "initial_count", initial_count) + if inter_connect is not None: + pulumi.set(__self__, "inter_connect", inter_connect) + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + if min_count is not None: + pulumi.set(__self__, "min_count", min_count) + if queue_name is not None: + pulumi.set(__self__, "queue_name", queue_name) + if vswitch_ids is not None: + pulumi.set(__self__, "vswitch_ids", vswitch_ids) + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The cluster ID. + You can call the ListClusters operation to query the cluster ID. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "cluster_id", value) + + @_builtins.property + @pulumi.getter(name="computeNodes") + def compute_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]]: + """ + The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + """ + return pulumi.get(self, "compute_nodes") + + @compute_nodes.setter + def compute_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeArgs']]]]): + pulumi.set(self, "compute_nodes", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="enableScaleIn") + def enable_scale_in(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_in") + + @enable_scale_in.setter + def enable_scale_in(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_scale_in", value) + + @_builtins.property + @pulumi.getter(name="enableScaleOut") + def enable_scale_out(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_out") + + @enable_scale_out.setter + def enable_scale_out(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_scale_out", value) + + @_builtins.property + @pulumi.getter(name="hostnamePrefix") + def hostname_prefix(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The hostname prefix of the added compute nodes. + """ + return pulumi.get(self, "hostname_prefix") + + @hostname_prefix.setter + def hostname_prefix(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname_prefix", value) + + @_builtins.property + @pulumi.getter(name="hostnameSuffix") + def hostname_suffix(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The hostname suffix of the compute nodes in the queue. + """ + return pulumi.get(self, "hostname_suffix") + + @hostname_suffix.setter + def hostname_suffix(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "hostname_suffix", value) + + @_builtins.property + @pulumi.getter(name="initialCount") + def initial_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The initial number of compute nodes in the queue. + """ + return pulumi.get(self, "initial_count") + + @initial_count.setter + def initial_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "initial_count", value) + + @_builtins.property + @pulumi.getter(name="interConnect") + def inter_connect(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The type of the network for interconnecting compute nodes in the queue. + """ + return pulumi.get(self, "inter_connect") + + @inter_connect.setter + def inter_connect(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "inter_connect", value) + + @_builtins.property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The maximum number of compute nodes that the queue can contain. + """ + return pulumi.get(self, "max_count") + + @max_count.setter + def max_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "max_count", value) + + @_builtins.property + @pulumi.getter(name="minCount") + def min_count(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The minimum number of compute nodes that the queue must contain. + """ + return pulumi.get(self, "min_count") + + @min_count.setter + def min_count(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "min_count", value) + + @_builtins.property + @pulumi.getter(name="queueName") + def queue_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The queue name. + """ + return pulumi.get(self, "queue_name") + + @queue_name.setter + def queue_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "queue_name", value) + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The vSwitches available for use by compute nodes in the queue. + """ + return pulumi.get(self, "vswitch_ids") + + @vswitch_ids.setter + def vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vswitch_ids", value) + + +@pulumi.type_token("alicloud:ehpc/queue:Queue") +class Queue(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + compute_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeArgs', 'QueueComputeNodeArgsDict']]]]] = None, + enable_scale_in: Optional[pulumi.Input[_builtins.bool]] = None, + enable_scale_out: Optional[pulumi.Input[_builtins.bool]] = None, + hostname_prefix: Optional[pulumi.Input[_builtins.str]] = None, + hostname_suffix: Optional[pulumi.Input[_builtins.str]] = None, + initial_count: Optional[pulumi.Input[_builtins.int]] = None, + inter_connect: Optional[pulumi.Input[_builtins.str]] = None, + max_count: Optional[pulumi.Input[_builtins.int]] = None, + min_count: Optional[pulumi.Input[_builtins.int]] = None, + queue_name: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + __props__=None): + """ + Provides a Ehpc Queue resource. + + E-HPC the compute queue of the cluster. + + For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + queue_minimal_example_vpc = alicloud.vpc.Network("queue_minimal_example_vpc", + is_default=False, + cidr_block="10.0.0.0/8", + vpc_name="example-cluster-vpc") + queue_minimal_example_vswitch = alicloud.vpc.Switch("queue_minimal_example_vswitch", + is_default=False, + vpc_id=queue_minimal_example_vpc.id, + zone_id="cn-hangzhou-k", + cidr_block="10.0.0.0/24", + vswitch_name="example-cluster-vsw") + queue_minimal_example_nas = alicloud.nas.FileSystem("queue_minimal_example_nas", + description="example-cluster-nas", + storage_type="Capacity", + nfs_acl={ + "enabled": False, + }, + zone_id="cn-hangzhou-k", + encrypt_type=0, + protocol_type="NFS", + file_system_type="standard") + queue_minimal_example_access_group = alicloud.nas.AccessGroup("queue_minimal_example_access_group", + access_group_type="Vpc", + description=name, + access_group_name="StandardMountTarget", + file_system_type="standard") + queue_minimal_example_security_group = alicloud.ecs.SecurityGroup("queue_minimal_example_security_group", + vpc_id=queue_minimal_example_vpc.id, + security_group_type="normal") + queue_minimal_example_mount_domain = alicloud.nas.MountTarget("queue_minimal_example_mount_domain", + vpc_id=queue_minimal_example_vpc.id, + network_type="Vpc", + access_group_name=queue_minimal_example_access_group.access_group_name, + vswitch_id=queue_minimal_example_vswitch.id, + file_system_id=queue_minimal_example_nas.id) + queue_minimal_example_access_rule = alicloud.nas.AccessRule("queue_minimal_example_access_rule", + priority=1, + access_group_name=queue_minimal_example_access_group.access_group_name, + file_system_type=queue_minimal_example_nas.file_system_type, + source_cidr_ip="10.0.0.0/8") + queue_minimal_cluster_example = alicloud.ehpc.ClusterV2("queue_minimal_cluster_example", + cluster_credentials={ + "password": "aliHPC123", + }, + cluster_vpc_id=queue_minimal_example_vpc.id, + cluster_category="Standard", + cluster_mode="Integrated", + security_group_id=queue_minimal_example_security_group.id, + addons=[{ + "version": "1.0", + "services_spec": \"\"\"[ + { + \\"ServiceName\\": \\"SSH\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 22, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + }, + { + \\"ServiceName\\": \\"VNC\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 12016, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + }, + { + \\"ServiceName\\": \\"CLIENT\\", + \\"ServiceAccessType\\": \\"URL\\", + \\"ServiceAccessUrl\\": \\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 12011, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + } + ] + \"\"\", + "resources_spec": \"\"\"{ + \\"EipResource\\": { + \\"AutoCreate\\": true + }, + \\"EcsResources\\": [ + { + \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\", + \\"EnableHT\\": true, + \\"InstanceChargeType\\": \\"PostPaid\\", + \\"InstanceType\\": \\"ecs.c7.xlarge\\", + \\"SpotStrategy\\": \\"NoSpot\\", + \\"SystemDisk\\": { + \\"Category\\": \\"cloud_essd\\", + \\"Size\\": 40, + \\"Level\\": \\"PL0\\" + }, + \\"DataDisks\\": [ + { + \\"Category\\": \\"cloud_essd\\", + \\"Size\\": 40, + \\"Level\\": \\"PL0\\" + } + ] + } + ] + } + \"\"\", + "name": "Login", + }], + cluster_name="minimal-example-cluster", + deletion_protection=False, + shared_storages=[ + { + "mount_directory": "/home", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/opt", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/ehpcdata", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + ], + cluster_vswitch_id=queue_minimal_example_vswitch.id, + manager={ + "manager_node": { + "system_disk": { + "category": "cloud_essd", + "size": 40, + "level": "PL0", + }, + "enable_ht": True, + "instance_charge_type": "PostPaid", + "image_id": "centos_7_6_x64_20G_alibase_20211130.vhd", + "instance_type": "ecs.c6.xlarge", + "spot_strategy": "NoSpot", + }, + "scheduler": { + "type": "SLURM", + "version": "22.05.8", + }, + "dns": { + "type": "nis", + "version": "1.0", + }, + "directory_service": { + "type": "nis", + "version": "1.0", + }, + }, + opts = pulumi.ResourceOptions(depends_on=[queue_minimal_example_access_rule])) + default = alicloud.ehpc.Queue("default", + cluster_id=queue_minimal_cluster_example.id, + queue_name="autoque1") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Ehpc Queue can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:ehpc/queue:Queue example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] cluster_id: The cluster ID. + You can call the ListClusters operation to query the cluster ID. + :param pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeArgs', 'QueueComputeNodeArgsDict']]]] compute_nodes: The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + :param pulumi.Input[_builtins.bool] enable_scale_in: Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.bool] enable_scale_out: Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] hostname_prefix: The hostname prefix of the added compute nodes. + :param pulumi.Input[_builtins.str] hostname_suffix: The hostname suffix of the compute nodes in the queue. + :param pulumi.Input[_builtins.int] initial_count: The initial number of compute nodes in the queue. + :param pulumi.Input[_builtins.str] inter_connect: The type of the network for interconnecting compute nodes in the queue. + :param pulumi.Input[_builtins.int] max_count: The maximum number of compute nodes that the queue can contain. + :param pulumi.Input[_builtins.int] min_count: The minimum number of compute nodes that the queue must contain. + :param pulumi.Input[_builtins.str] queue_name: The queue name. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitches available for use by compute nodes in the queue. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[QueueArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Ehpc Queue resource. + + E-HPC the compute queue of the cluster. + + For information about Ehpc Queue and how to use it, see [What is Queue](https://next.api.alibabacloud.com/document/EHPC/2024-07-30/CreateQueue). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + queue_minimal_example_vpc = alicloud.vpc.Network("queue_minimal_example_vpc", + is_default=False, + cidr_block="10.0.0.0/8", + vpc_name="example-cluster-vpc") + queue_minimal_example_vswitch = alicloud.vpc.Switch("queue_minimal_example_vswitch", + is_default=False, + vpc_id=queue_minimal_example_vpc.id, + zone_id="cn-hangzhou-k", + cidr_block="10.0.0.0/24", + vswitch_name="example-cluster-vsw") + queue_minimal_example_nas = alicloud.nas.FileSystem("queue_minimal_example_nas", + description="example-cluster-nas", + storage_type="Capacity", + nfs_acl={ + "enabled": False, + }, + zone_id="cn-hangzhou-k", + encrypt_type=0, + protocol_type="NFS", + file_system_type="standard") + queue_minimal_example_access_group = alicloud.nas.AccessGroup("queue_minimal_example_access_group", + access_group_type="Vpc", + description=name, + access_group_name="StandardMountTarget", + file_system_type="standard") + queue_minimal_example_security_group = alicloud.ecs.SecurityGroup("queue_minimal_example_security_group", + vpc_id=queue_minimal_example_vpc.id, + security_group_type="normal") + queue_minimal_example_mount_domain = alicloud.nas.MountTarget("queue_minimal_example_mount_domain", + vpc_id=queue_minimal_example_vpc.id, + network_type="Vpc", + access_group_name=queue_minimal_example_access_group.access_group_name, + vswitch_id=queue_minimal_example_vswitch.id, + file_system_id=queue_minimal_example_nas.id) + queue_minimal_example_access_rule = alicloud.nas.AccessRule("queue_minimal_example_access_rule", + priority=1, + access_group_name=queue_minimal_example_access_group.access_group_name, + file_system_type=queue_minimal_example_nas.file_system_type, + source_cidr_ip="10.0.0.0/8") + queue_minimal_cluster_example = alicloud.ehpc.ClusterV2("queue_minimal_cluster_example", + cluster_credentials={ + "password": "aliHPC123", + }, + cluster_vpc_id=queue_minimal_example_vpc.id, + cluster_category="Standard", + cluster_mode="Integrated", + security_group_id=queue_minimal_example_security_group.id, + addons=[{ + "version": "1.0", + "services_spec": \"\"\"[ + { + \\"ServiceName\\": \\"SSH\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 22, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + }, + { + \\"ServiceName\\": \\"VNC\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 12016, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + }, + { + \\"ServiceName\\": \\"CLIENT\\", + \\"ServiceAccessType\\": \\"URL\\", + \\"ServiceAccessUrl\\": \\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\", + \\"NetworkACL\\": [ + { + \\"Port\\": 12011, + \\"SourceCidrIp\\": \\"0.0.0.0/0\\", + \\"IpProtocol\\": \\"TCP\\" + } + ] + } + ] + \"\"\", + "resources_spec": \"\"\"{ + \\"EipResource\\": { + \\"AutoCreate\\": true + }, + \\"EcsResources\\": [ + { + \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\", + \\"EnableHT\\": true, + \\"InstanceChargeType\\": \\"PostPaid\\", + \\"InstanceType\\": \\"ecs.c7.xlarge\\", + \\"SpotStrategy\\": \\"NoSpot\\", + \\"SystemDisk\\": { + \\"Category\\": \\"cloud_essd\\", + \\"Size\\": 40, + \\"Level\\": \\"PL0\\" + }, + \\"DataDisks\\": [ + { + \\"Category\\": \\"cloud_essd\\", + \\"Size\\": 40, + \\"Level\\": \\"PL0\\" + } + ] + } + ] + } + \"\"\", + "name": "Login", + }], + cluster_name="minimal-example-cluster", + deletion_protection=False, + shared_storages=[ + { + "mount_directory": "/home", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/opt", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + { + "mount_directory": "/ehpcdata", + "nas_directory": "/", + "mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain, + "protocol_type": "NFS", + "file_system_id": queue_minimal_example_nas.id, + "mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport", + }, + ], + cluster_vswitch_id=queue_minimal_example_vswitch.id, + manager={ + "manager_node": { + "system_disk": { + "category": "cloud_essd", + "size": 40, + "level": "PL0", + }, + "enable_ht": True, + "instance_charge_type": "PostPaid", + "image_id": "centos_7_6_x64_20G_alibase_20211130.vhd", + "instance_type": "ecs.c6.xlarge", + "spot_strategy": "NoSpot", + }, + "scheduler": { + "type": "SLURM", + "version": "22.05.8", + }, + "dns": { + "type": "nis", + "version": "1.0", + }, + "directory_service": { + "type": "nis", + "version": "1.0", + }, + }, + opts = pulumi.ResourceOptions(depends_on=[queue_minimal_example_access_rule])) + default = alicloud.ehpc.Queue("default", + cluster_id=queue_minimal_cluster_example.id, + queue_name="autoque1") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Ehpc Queue can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:ehpc/queue:Queue example : + ``` + + :param str resource_name: The name of the resource. + :param QueueArgs 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(QueueArgs, 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[_builtins.str]] = None, + compute_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeArgs', 'QueueComputeNodeArgsDict']]]]] = None, + enable_scale_in: Optional[pulumi.Input[_builtins.bool]] = None, + enable_scale_out: Optional[pulumi.Input[_builtins.bool]] = None, + hostname_prefix: Optional[pulumi.Input[_builtins.str]] = None, + hostname_suffix: Optional[pulumi.Input[_builtins.str]] = None, + initial_count: Optional[pulumi.Input[_builtins.int]] = None, + inter_connect: Optional[pulumi.Input[_builtins.str]] = None, + max_count: Optional[pulumi.Input[_builtins.int]] = None, + min_count: Optional[pulumi.Input[_builtins.int]] = None, + queue_name: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.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__ = QueueArgs.__new__(QueueArgs) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["compute_nodes"] = compute_nodes + __props__.__dict__["enable_scale_in"] = enable_scale_in + __props__.__dict__["enable_scale_out"] = enable_scale_out + __props__.__dict__["hostname_prefix"] = hostname_prefix + __props__.__dict__["hostname_suffix"] = hostname_suffix + __props__.__dict__["initial_count"] = initial_count + __props__.__dict__["inter_connect"] = inter_connect + __props__.__dict__["max_count"] = max_count + __props__.__dict__["min_count"] = min_count + __props__.__dict__["queue_name"] = queue_name + __props__.__dict__["vswitch_ids"] = vswitch_ids + __props__.__dict__["create_time"] = None + super(Queue, __self__).__init__( + 'alicloud:ehpc/queue:Queue', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[_builtins.str]] = None, + compute_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeArgs', 'QueueComputeNodeArgsDict']]]]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + enable_scale_in: Optional[pulumi.Input[_builtins.bool]] = None, + enable_scale_out: Optional[pulumi.Input[_builtins.bool]] = None, + hostname_prefix: Optional[pulumi.Input[_builtins.str]] = None, + hostname_suffix: Optional[pulumi.Input[_builtins.str]] = None, + initial_count: Optional[pulumi.Input[_builtins.int]] = None, + inter_connect: Optional[pulumi.Input[_builtins.str]] = None, + max_count: Optional[pulumi.Input[_builtins.int]] = None, + min_count: Optional[pulumi.Input[_builtins.int]] = None, + queue_name: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Queue': + """ + Get an existing Queue 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[_builtins.str] cluster_id: The cluster ID. + You can call the ListClusters operation to query the cluster ID. + :param pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeArgs', 'QueueComputeNodeArgsDict']]]] compute_nodes: The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.bool] enable_scale_in: Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.bool] enable_scale_out: Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + :param pulumi.Input[_builtins.str] hostname_prefix: The hostname prefix of the added compute nodes. + :param pulumi.Input[_builtins.str] hostname_suffix: The hostname suffix of the compute nodes in the queue. + :param pulumi.Input[_builtins.int] initial_count: The initial number of compute nodes in the queue. + :param pulumi.Input[_builtins.str] inter_connect: The type of the network for interconnecting compute nodes in the queue. + :param pulumi.Input[_builtins.int] max_count: The maximum number of compute nodes that the queue can contain. + :param pulumi.Input[_builtins.int] min_count: The minimum number of compute nodes that the queue must contain. + :param pulumi.Input[_builtins.str] queue_name: The queue name. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitches available for use by compute nodes in the queue. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _QueueState.__new__(_QueueState) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["compute_nodes"] = compute_nodes + __props__.__dict__["create_time"] = create_time + __props__.__dict__["enable_scale_in"] = enable_scale_in + __props__.__dict__["enable_scale_out"] = enable_scale_out + __props__.__dict__["hostname_prefix"] = hostname_prefix + __props__.__dict__["hostname_suffix"] = hostname_suffix + __props__.__dict__["initial_count"] = initial_count + __props__.__dict__["inter_connect"] = inter_connect + __props__.__dict__["max_count"] = max_count + __props__.__dict__["min_count"] = min_count + __props__.__dict__["queue_name"] = queue_name + __props__.__dict__["vswitch_ids"] = vswitch_ids + return Queue(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[_builtins.str]: + """ + The cluster ID. + You can call the ListClusters operation to query the cluster ID. + """ + return pulumi.get(self, "cluster_id") + + @_builtins.property + @pulumi.getter(name="computeNodes") + def compute_nodes(self) -> pulumi.Output[Sequence['outputs.QueueComputeNode']]: + """ + The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See `compute_nodes` below. + """ + return pulumi.get(self, "compute_nodes") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="enableScaleIn") + def enable_scale_in(self) -> pulumi.Output[_builtins.bool]: + """ + Specifies whether to enable auto scale-in for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_in") + + @_builtins.property + @pulumi.getter(name="enableScaleOut") + def enable_scale_out(self) -> pulumi.Output[_builtins.bool]: + """ + Specifies whether to enable auto scale-out for the queue. Valid values: + + - true + - false + """ + return pulumi.get(self, "enable_scale_out") + + @_builtins.property + @pulumi.getter(name="hostnamePrefix") + def hostname_prefix(self) -> pulumi.Output[_builtins.str]: + """ + The hostname prefix of the added compute nodes. + """ + return pulumi.get(self, "hostname_prefix") + + @_builtins.property + @pulumi.getter(name="hostnameSuffix") + def hostname_suffix(self) -> pulumi.Output[_builtins.str]: + """ + The hostname suffix of the compute nodes in the queue. + """ + return pulumi.get(self, "hostname_suffix") + + @_builtins.property + @pulumi.getter(name="initialCount") + def initial_count(self) -> pulumi.Output[_builtins.int]: + """ + The initial number of compute nodes in the queue. + """ + return pulumi.get(self, "initial_count") + + @_builtins.property + @pulumi.getter(name="interConnect") + def inter_connect(self) -> pulumi.Output[_builtins.str]: + """ + The type of the network for interconnecting compute nodes in the queue. + """ + return pulumi.get(self, "inter_connect") + + @_builtins.property + @pulumi.getter(name="maxCount") + def max_count(self) -> pulumi.Output[_builtins.int]: + """ + The maximum number of compute nodes that the queue can contain. + """ + return pulumi.get(self, "max_count") + + @_builtins.property + @pulumi.getter(name="minCount") + def min_count(self) -> pulumi.Output[_builtins.int]: + """ + The minimum number of compute nodes that the queue must contain. + """ + return pulumi.get(self, "min_count") + + @_builtins.property + @pulumi.getter(name="queueName") + def queue_name(self) -> pulumi.Output[_builtins.str]: + """ + The queue name. + """ + return pulumi.get(self, "queue_name") + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + The vSwitches available for use by compute nodes in the queue. + """ + return pulumi.get(self, "vswitch_ids") + diff --git a/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address.py b/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address.py index 1e096950a1..ff84010579 100644 --- a/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address.py +++ b/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address.py @@ -32,9 +32,9 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] service_location: Anycast EIP instance access area. "international": Refers to areas outside of Mainland China. :param pulumi.Input[_builtins.str] anycast_eip_address_name: Anycast EIP instance name. :param pulumi.Input[_builtins.int] bandwidth: The peak bandwidth of the Anycast EIP instance, in Mbps. - :param pulumi.Input[_builtins.str] description: Anycast EIP instance description. + :param pulumi.Input[_builtins.str] description: Anycast EIP instance description :param pulumi.Input[_builtins.str] internet_charge_type: The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. - :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the instance belongs. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: List of resource-bound tags. """ @@ -94,7 +94,7 @@ def bandwidth(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Anycast EIP instance description. + Anycast EIP instance description """ return pulumi.get(self, "description") @@ -118,7 +118,7 @@ def internet_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="paymentType") def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode """ return pulumi.get(self, "payment_type") @@ -169,9 +169,9 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] anycast_eip_address_name: Anycast EIP instance name. :param pulumi.Input[_builtins.int] bandwidth: The peak bandwidth of the Anycast EIP instance, in Mbps. :param pulumi.Input[_builtins.str] create_time: Anycast EIP instance creation time. - :param pulumi.Input[_builtins.str] description: Anycast EIP instance description. + :param pulumi.Input[_builtins.str] description: Anycast EIP instance description :param pulumi.Input[_builtins.str] internet_charge_type: The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. - :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the instance belongs. :param pulumi.Input[_builtins.str] service_location: Anycast EIP instance access area. "international": Refers to areas outside of Mainland China. :param pulumi.Input[_builtins.str] status: The status of the resource. @@ -238,7 +238,7 @@ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Anycast EIP instance description. + Anycast EIP instance description """ return pulumi.get(self, "description") @@ -262,7 +262,7 @@ def internet_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="paymentType") def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode """ return pulumi.get(self, "payment_type") @@ -335,7 +335,9 @@ def __init__(__self__, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ - Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. + Provides a Eipanycast Anycast Eip Address resource. + + Anycast Elastic IP Address. For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). @@ -362,6 +364,8 @@ def __init__(__self__, payment_type="PayAsYouGo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -374,9 +378,9 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] anycast_eip_address_name: Anycast EIP instance name. :param pulumi.Input[_builtins.int] bandwidth: The peak bandwidth of the Anycast EIP instance, in Mbps. - :param pulumi.Input[_builtins.str] description: Anycast EIP instance description. + :param pulumi.Input[_builtins.str] description: Anycast EIP instance description :param pulumi.Input[_builtins.str] internet_charge_type: The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. - :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the instance belongs. :param pulumi.Input[_builtins.str] service_location: Anycast EIP instance access area. "international": Refers to areas outside of Mainland China. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: List of resource-bound tags. @@ -388,7 +392,9 @@ def __init__(__self__, args: AnycastEipAddressArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a Eipanycast Anycast Eip Address resource. Anycast Elastic IP Address. + Provides a Eipanycast Anycast Eip Address resource. + + Anycast Elastic IP Address. For information about Eipanycast Anycast Eip Address and how to use it, see [What is Anycast Eip Address](https://www.alibabacloud.com/help/en/anycast-eip/latest/api-eipanycast-2020-03-09-allocateanycasteipaddress). @@ -415,6 +421,8 @@ def __init__(__self__, payment_type="PayAsYouGo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eipanycast Anycast Eip Address can be imported using the id, e.g. @@ -497,9 +505,9 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] anycast_eip_address_name: Anycast EIP instance name. :param pulumi.Input[_builtins.int] bandwidth: The peak bandwidth of the Anycast EIP instance, in Mbps. :param pulumi.Input[_builtins.str] create_time: Anycast EIP instance creation time. - :param pulumi.Input[_builtins.str] description: Anycast EIP instance description. + :param pulumi.Input[_builtins.str] description: Anycast EIP instance description :param pulumi.Input[_builtins.str] internet_charge_type: The billing method of Anycast EIP instance. "PayByBandwidth": refers to the method of billing based on traffic. - :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + :param pulumi.Input[_builtins.str] payment_type: The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group to which the instance belongs. :param pulumi.Input[_builtins.str] service_location: Anycast EIP instance access area. "international": Refers to areas outside of Mainland China. :param pulumi.Input[_builtins.str] status: The status of the resource. @@ -549,7 +557,7 @@ def create_time(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def description(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Anycast EIP instance description. + Anycast EIP instance description """ return pulumi.get(self, "description") @@ -565,7 +573,7 @@ def internet_charge_type(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="paymentType") def payment_type(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode. + The payment model of Anycast EIP instance. "PayAsYouGo": Refers to the post-paid mode """ return pulumi.get(self, "payment_type") diff --git a/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address_attachment.py b/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address_attachment.py index 942357ea90..70de0fd10f 100644 --- a/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address_attachment.py +++ b/sdk/python/pulumi_alicloud/eipanycast/anycast_eip_address_attachment.py @@ -440,6 +440,8 @@ def __init__(__self__, anycast_id=default_ef_ybjy.anycast_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. @@ -592,6 +594,8 @@ def __init__(__self__, anycast_id=default_ef_ybjy.anycast_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Eipanycast Anycast Eip Address Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/elasticsearch/__init__.py b/sdk/python/pulumi_alicloud/elasticsearch/__init__.py index 5283926dad..8c0adbd201 100644 --- a/sdk/python/pulumi_alicloud/elasticsearch/__init__.py +++ b/sdk/python/pulumi_alicloud/elasticsearch/__init__.py @@ -9,4 +9,5 @@ from .get_instances import * from .get_zones import * from .instance import * +from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/elasticsearch/_inputs.py b/sdk/python/pulumi_alicloud/elasticsearch/_inputs.py new file mode 100644 index 0000000000..3c9cd92563 --- /dev/null +++ b/sdk/python/pulumi_alicloud/elasticsearch/_inputs.py @@ -0,0 +1,529 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'InstanceClientNodeConfigurationArgs', + 'InstanceClientNodeConfigurationArgsDict', + 'InstanceDataNodeConfigurationArgs', + 'InstanceDataNodeConfigurationArgsDict', + 'InstanceKibanaConfigurationArgs', + 'InstanceKibanaConfigurationArgsDict', + 'InstanceMasterConfigurationArgs', + 'InstanceMasterConfigurationArgsDict', + 'InstanceWarmNodeConfigurationArgs', + 'InstanceWarmNodeConfigurationArgsDict', +] + +MYPY = False + +if not MYPY: + class InstanceClientNodeConfigurationArgsDict(TypedDict): + amount: NotRequired[pulumi.Input[_builtins.int]] + """ + Number of disks in the Elasticsearch cluster coordination node + """ + disk: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch cluster coordinates node disk size + """ + disk_type: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster coordination node disk type + """ + spec: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster coordination node specification + """ +elif False: + InstanceClientNodeConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceClientNodeConfigurationArgs: + def __init__(__self__, *, + amount: Optional[pulumi.Input[_builtins.int]] = None, + disk: Optional[pulumi.Input[_builtins.int]] = None, + disk_type: Optional[pulumi.Input[_builtins.str]] = None, + spec: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] amount: Number of disks in the Elasticsearch cluster coordination node + :param pulumi.Input[_builtins.int] disk: Elasticsearch cluster coordinates node disk size + :param pulumi.Input[_builtins.str] disk_type: Elasticsearch cluster coordination node disk type + :param pulumi.Input[_builtins.str] spec: Elasticsearch cluster coordination node specification + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of disks in the Elasticsearch cluster coordination node + """ + return pulumi.get(self, "amount") + + @amount.setter + def amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "amount", value) + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch cluster coordinates node disk size + """ + return pulumi.get(self, "disk") + + @disk.setter + def disk(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "disk", value) + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster coordination node disk type + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_type", value) + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster coordination node specification + """ + return pulumi.get(self, "spec") + + @spec.setter + def spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "spec", value) + + +if not MYPY: + class InstanceDataNodeConfigurationArgsDict(TypedDict): + spec: pulumi.Input[_builtins.str] + """ + Elasticsearch data node specification + """ + amount: NotRequired[pulumi.Input[_builtins.int]] + """ + Number of data nodes in the Elasticsearch cluster + """ + disk: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch data node disk size + """ + disk_encryption: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether the Elasticsearch data node disk is encrypted + """ + disk_type: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster data node disk type + """ + performance_level: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster data node Essd disk level + """ +elif False: + InstanceDataNodeConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceDataNodeConfigurationArgs: + def __init__(__self__, *, + spec: pulumi.Input[_builtins.str], + amount: Optional[pulumi.Input[_builtins.int]] = None, + disk: Optional[pulumi.Input[_builtins.int]] = None, + disk_encryption: Optional[pulumi.Input[_builtins.bool]] = None, + disk_type: Optional[pulumi.Input[_builtins.str]] = None, + performance_level: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] spec: Elasticsearch data node specification + :param pulumi.Input[_builtins.int] amount: Number of data nodes in the Elasticsearch cluster + :param pulumi.Input[_builtins.int] disk: Elasticsearch data node disk size + :param pulumi.Input[_builtins.bool] disk_encryption: Whether the Elasticsearch data node disk is encrypted + :param pulumi.Input[_builtins.str] disk_type: Elasticsearch cluster data node disk type + :param pulumi.Input[_builtins.str] performance_level: Elasticsearch cluster data node Essd disk level + """ + pulumi.set(__self__, "spec", spec) + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_encryption is not None: + pulumi.set(__self__, "disk_encryption", disk_encryption) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + + @_builtins.property + @pulumi.getter + def spec(self) -> pulumi.Input[_builtins.str]: + """ + Elasticsearch data node specification + """ + return pulumi.get(self, "spec") + + @spec.setter + def spec(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "spec", value) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of data nodes in the Elasticsearch cluster + """ + return pulumi.get(self, "amount") + + @amount.setter + def amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "amount", value) + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch data node disk size + """ + return pulumi.get(self, "disk") + + @disk.setter + def disk(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "disk", value) + + @_builtins.property + @pulumi.getter(name="diskEncryption") + def disk_encryption(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether the Elasticsearch data node disk is encrypted + """ + return pulumi.get(self, "disk_encryption") + + @disk_encryption.setter + def disk_encryption(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "disk_encryption", value) + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster data node disk type + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_type", value) + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster data node Essd disk level + """ + return pulumi.get(self, "performance_level") + + @performance_level.setter + def performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "performance_level", value) + + +if not MYPY: + class InstanceKibanaConfigurationArgsDict(TypedDict): + spec: pulumi.Input[_builtins.str] + """ + Elasticsearch Kibana node disk specifications + """ + amount: NotRequired[pulumi.Input[_builtins.int]] + """ + The number of disks of the Elasticsearch Kibana node. The default value is 1. + """ + disk: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch Kibana node disk size + """ +elif False: + InstanceKibanaConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceKibanaConfigurationArgs: + def __init__(__self__, *, + spec: pulumi.Input[_builtins.str], + amount: Optional[pulumi.Input[_builtins.int]] = None, + disk: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] spec: Elasticsearch Kibana node disk specifications + :param pulumi.Input[_builtins.int] amount: The number of disks of the Elasticsearch Kibana node. The default value is 1. + :param pulumi.Input[_builtins.int] disk: Elasticsearch Kibana node disk size + """ + pulumi.set(__self__, "spec", spec) + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + + @_builtins.property + @pulumi.getter + def spec(self) -> pulumi.Input[_builtins.str]: + """ + Elasticsearch Kibana node disk specifications + """ + return pulumi.get(self, "spec") + + @spec.setter + def spec(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "spec", value) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The number of disks of the Elasticsearch Kibana node. The default value is 1. + """ + return pulumi.get(self, "amount") + + @amount.setter + def amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "amount", value) + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch Kibana node disk size + """ + return pulumi.get(self, "disk") + + @disk.setter + def disk(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "disk", value) + + +if not MYPY: + class InstanceMasterConfigurationArgsDict(TypedDict): + amount: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch proprietary master node number of disks + """ + disk: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch proprietary master node disk size + """ + disk_type: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch proprietary master node disk type + """ + spec: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch proprietary master node specifications + """ +elif False: + InstanceMasterConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceMasterConfigurationArgs: + def __init__(__self__, *, + amount: Optional[pulumi.Input[_builtins.int]] = None, + disk: Optional[pulumi.Input[_builtins.int]] = None, + disk_type: Optional[pulumi.Input[_builtins.str]] = None, + spec: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] amount: Elasticsearch proprietary master node number of disks + :param pulumi.Input[_builtins.int] disk: Elasticsearch proprietary master node disk size + :param pulumi.Input[_builtins.str] disk_type: Elasticsearch proprietary master node disk type + :param pulumi.Input[_builtins.str] spec: Elasticsearch proprietary master node specifications + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch proprietary master node number of disks + """ + return pulumi.get(self, "amount") + + @amount.setter + def amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "amount", value) + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch proprietary master node disk size + """ + return pulumi.get(self, "disk") + + @disk.setter + def disk(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "disk", value) + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch proprietary master node disk type + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_type", value) + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch proprietary master node specifications + """ + return pulumi.get(self, "spec") + + @spec.setter + def spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "spec", value) + + +if not MYPY: + class InstanceWarmNodeConfigurationArgsDict(TypedDict): + amount: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch cluster cold data node disk number + """ + disk: NotRequired[pulumi.Input[_builtins.int]] + """ + Elasticsearch cluster cold data node disk size + """ + disk_encryption: NotRequired[pulumi.Input[_builtins.bool]] + """ + Elasticsearch cluster cold data node Disk encryption + """ + disk_type: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster cold data node disk type + """ + spec: NotRequired[pulumi.Input[_builtins.str]] + """ + Elasticsearch cluster cold data node Disk Specification + """ +elif False: + InstanceWarmNodeConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceWarmNodeConfigurationArgs: + def __init__(__self__, *, + amount: Optional[pulumi.Input[_builtins.int]] = None, + disk: Optional[pulumi.Input[_builtins.int]] = None, + disk_encryption: Optional[pulumi.Input[_builtins.bool]] = None, + disk_type: Optional[pulumi.Input[_builtins.str]] = None, + spec: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] amount: Elasticsearch cluster cold data node disk number + :param pulumi.Input[_builtins.int] disk: Elasticsearch cluster cold data node disk size + :param pulumi.Input[_builtins.bool] disk_encryption: Elasticsearch cluster cold data node Disk encryption + :param pulumi.Input[_builtins.str] disk_type: Elasticsearch cluster cold data node disk type + :param pulumi.Input[_builtins.str] spec: Elasticsearch cluster cold data node Disk Specification + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_encryption is not None: + pulumi.set(__self__, "disk_encryption", disk_encryption) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch cluster cold data node disk number + """ + return pulumi.get(self, "amount") + + @amount.setter + def amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "amount", value) + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Elasticsearch cluster cold data node disk size + """ + return pulumi.get(self, "disk") + + @disk.setter + def disk(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "disk", value) + + @_builtins.property + @pulumi.getter(name="diskEncryption") + def disk_encryption(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Elasticsearch cluster cold data node Disk encryption + """ + return pulumi.get(self, "disk_encryption") + + @disk_encryption.setter + def disk_encryption(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "disk_encryption", value) + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster cold data node disk type + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_type", value) + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Elasticsearch cluster cold data node Disk Specification + """ + return pulumi.get(self, "spec") + + @spec.setter + def spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "spec", value) + + diff --git a/sdk/python/pulumi_alicloud/elasticsearch/instance.py b/sdk/python/pulumi_alicloud/elasticsearch/instance.py index 936ee6de30..cba22c8f06 100644 --- a/sdk/python/pulumi_alicloud/elasticsearch/instance.py +++ b/sdk/python/pulumi_alicloud/elasticsearch/instance.py @@ -13,37 +13,47 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['InstanceArgs', 'Instance'] @pulumi.input_type class InstanceArgs: def __init__(__self__, *, - data_node_amount: pulumi.Input[_builtins.int], - data_node_disk_size: pulumi.Input[_builtins.int], - data_node_disk_type: pulumi.Input[_builtins.str], - data_node_spec: pulumi.Input[_builtins.str], version: pulumi.Input[_builtins.str], vswitch_id: pulumi.Input[_builtins.str], auto_renew_duration: Optional[pulumi.Input[_builtins.int]] = None, client_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + client_node_configuration: Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']] = None, client_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + data_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + data_node_configuration: Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']] = None, data_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, data_node_disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + data_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, + data_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, + data_node_spec: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, enable_kibana_private_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_kibana_public_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_public: Optional[pulumi.Input[_builtins.bool]] = None, + force: Optional[pulumi.Input[_builtins.bool]] = None, + instance_category: Optional[pulumi.Input[_builtins.str]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + kibana_configuration: Optional[pulumi.Input['InstanceKibanaConfigurationArgs']] = None, kibana_node_spec: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kibana_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + master_configuration: Optional[pulumi.Input['InstanceMasterConfigurationArgs']] = None, master_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, master_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + order_action_type: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, protocol: Optional[pulumi.Input[_builtins.str]] = None, @@ -53,7 +63,9 @@ def __init__(__self__, *, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, setting_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + update_strategy: Optional[pulumi.Input[_builtins.str]] = None, warm_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + warm_node_configuration: Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']] = None, warm_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, warm_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, warm_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -61,63 +73,112 @@ def __init__(__self__, *, zone_count: Optional[pulumi.Input[_builtins.int]] = None): """ The set of arguments for constructing a Instance resource. - :param pulumi.Input[_builtins.int] data_node_amount: The Elasticsearch cluster's data node quantity, between 2 and 50. - :param pulumi.Input[_builtins.int] data_node_disk_size: The single data node storage space. - :param pulumi.Input[_builtins.str] data_node_disk_type: The data node disk type. Supported values: cloud_ssd, cloud_efficiency. - :param pulumi.Input[_builtins.str] data_node_spec: The data node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.str] version: Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + :param pulumi.Input[_builtins.str] version: Instance version :param pulumi.Input[_builtins.str] vswitch_id: The ID of VSwitch. - :param pulumi.Input[_builtins.int] auto_renew_duration: Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + :param pulumi.Input[_builtins.int] auto_renew_duration: Renewal Period :param pulumi.Input[_builtins.int] client_node_amount: The Elasticsearch cluster's client node quantity, between 2 and 25. + :param pulumi.Input['InstanceClientNodeConfigurationArgs'] client_node_configuration: Elasticsearch cluster coordination node configuration See `client_node_configuration` below. :param pulumi.Input[_builtins.str] client_node_spec: The client node spec. If specified, client node will be created. + :param pulumi.Input[_builtins.int] data_node_amount: The Elasticsearch cluster's data node quantity, between 2 and 50. + :param pulumi.Input['InstanceDataNodeConfigurationArgs'] data_node_configuration: Elasticsearch data node information See `data_node_configuration` below. :param pulumi.Input[_builtins.bool] data_node_disk_encrypted: If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.str] data_node_disk_performance_level: Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. - :param pulumi.Input[_builtins.str] description: The description of instance. It a string of 0 to 30 characters. - :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Bool, default to false. When it set to true, the instance can close kibana private network access。 - :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Bool, default to true. When it set to false, the instance can enable kibana public network access。 - :param pulumi.Input[_builtins.bool] enable_public: Bool, default to false. When it set to true, the instance can enable public network access。 + :param pulumi.Input[_builtins.int] data_node_disk_size: The single data node storage space. + :param pulumi.Input[_builtins.str] data_node_disk_type: The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + :param pulumi.Input[_builtins.str] data_node_spec: The data node specifications of the Elasticsearch instance. + :param pulumi.Input[_builtins.str] description: Instance name + :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Does Kibana enable public access + :param pulumi.Input[_builtins.bool] enable_public: Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.str] instance_category: Version type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + :param pulumi.Input['InstanceKibanaConfigurationArgs'] kibana_configuration: Elasticsearch Kibana node settings See `kibana_configuration` below. :param pulumi.Input[_builtins.str] kibana_node_spec: The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. - :param pulumi.Input[_builtins.str] kibana_private_security_group_id: the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Set the Kibana's IP whitelist in internet network. + :param pulumi.Input[_builtins.str] kibana_private_security_group_id: Kibana private network security group ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Cluster Kibana node private network access whitelist + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Kibana private network access whitelist :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating instance with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input['InstanceMasterConfigurationArgs'] master_configuration: Elasticsearch proprietary master node configuration information See `master_configuration` below. :param pulumi.Input[_builtins.str] master_node_disk_type: The single master node storage space. Valid values are `PrePaid`, `PostPaid`. :param pulumi.Input[_builtins.str] master_node_spec: The dedicated master node spec. If specified, dedicated master node will be created. - :param pulumi.Input[_builtins.str] password: The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). - :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Set the instance's IP whitelist in VPC network. - :param pulumi.Input[_builtins.str] protocol: Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Set the instance's IP whitelist in internet network. - :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. - :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. - :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the Elasticsearch instance belongs. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: A mapping of tags to assign to the resource. + :param pulumi.Input[_builtins.str] password: The access password of the instance. + :param pulumi.Input[_builtins.str] payment_type: The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Elasticsearch private network whitelist. (Same as EsIpWhitelist) + :param pulumi.Input[_builtins.str] protocol: Access protocol. Optional values: `HTTP` and **HTTPS * *. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Elasticseach public network access whitelist IP list + :param pulumi.Input[_builtins.str] renew_status: Renewal Status + :param pulumi.Input[_builtins.str] renewal_duration_unit: Renewal Period Unit + :param pulumi.Input[_builtins.str] resource_group_id: Resource group to which the instance belongs + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: Configuration information + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Collection of tag key-value pairs :param pulumi.Input[_builtins.int] warm_node_amount: The Elasticsearch cluster's warm node quantity, between 3 and 50. + :param pulumi.Input['InstanceWarmNodeConfigurationArgs'] warm_node_configuration: Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. :param pulumi.Input[_builtins.bool] warm_node_disk_encrypted: If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.int] warm_node_disk_size: The single warm node storage space, should between 500 and 20480 :param pulumi.Input[_builtins.str] warm_node_disk_type: The warm node disk type. Supported values: cloud_efficiency. :param pulumi.Input[_builtins.str] warm_node_spec: The warm node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.int] zone_count: The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + :param pulumi.Input[_builtins.int] zone_count: The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ - pulumi.set(__self__, "data_node_amount", data_node_amount) - pulumi.set(__self__, "data_node_disk_size", data_node_disk_size) - pulumi.set(__self__, "data_node_disk_type", data_node_disk_type) - pulumi.set(__self__, "data_node_spec", data_node_spec) pulumi.set(__self__, "version", version) pulumi.set(__self__, "vswitch_id", vswitch_id) if auto_renew_duration is not None: pulumi.set(__self__, "auto_renew_duration", auto_renew_duration) + if client_node_amount is not None: + warnings.warn("""Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""client_node_amount is deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""") if client_node_amount is not None: pulumi.set(__self__, "client_node_amount", client_node_amount) + if client_node_configuration is not None: + pulumi.set(__self__, "client_node_configuration", client_node_configuration) + if client_node_spec is not None: + warnings.warn("""Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""client_node_spec is deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""") if client_node_spec is not None: pulumi.set(__self__, "client_node_spec", client_node_spec) + if data_node_amount is not None: + warnings.warn("""Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_amount is deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""") + if data_node_amount is not None: + pulumi.set(__self__, "data_node_amount", data_node_amount) + if data_node_configuration is not None: + pulumi.set(__self__, "data_node_configuration", data_node_configuration) + if data_node_disk_encrypted is not None: + warnings.warn("""Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_encrypted is deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""") if data_node_disk_encrypted is not None: pulumi.set(__self__, "data_node_disk_encrypted", data_node_disk_encrypted) + if data_node_disk_performance_level is not None: + warnings.warn("""Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_performance_level is deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""") if data_node_disk_performance_level is not None: pulumi.set(__self__, "data_node_disk_performance_level", data_node_disk_performance_level) + if data_node_disk_size is not None: + warnings.warn("""Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_size is deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""") + if data_node_disk_size is not None: + pulumi.set(__self__, "data_node_disk_size", data_node_disk_size) + if data_node_disk_type is not None: + warnings.warn("""Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_type is deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""") + if data_node_disk_type is not None: + pulumi.set(__self__, "data_node_disk_type", data_node_disk_type) + if data_node_spec is not None: + warnings.warn("""Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_spec is deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""") + if data_node_spec is not None: + pulumi.set(__self__, "data_node_spec", data_node_spec) if description is not None: pulumi.set(__self__, "description", description) if enable_kibana_private_network is not None: @@ -126,8 +187,20 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_kibana_public_network", enable_kibana_public_network) if enable_public is not None: pulumi.set(__self__, "enable_public", enable_public) + if force is not None: + pulumi.set(__self__, "force", force) + if instance_category is not None: + pulumi.set(__self__, "instance_category", instance_category) + if instance_charge_type is not None: + warnings.warn("""Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""", DeprecationWarning) + pulumi.log.warn("""instance_charge_type is deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""") if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if kibana_configuration is not None: + pulumi.set(__self__, "kibana_configuration", kibana_configuration) + if kibana_node_spec is not None: + warnings.warn("""Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""kibana_node_spec is deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""") if kibana_node_spec is not None: pulumi.set(__self__, "kibana_node_spec", kibana_node_spec) if kibana_private_security_group_id is not None: @@ -140,12 +213,24 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_encrypted_password", kms_encrypted_password) if kms_encryption_context is not None: pulumi.set(__self__, "kms_encryption_context", kms_encryption_context) + if master_configuration is not None: + pulumi.set(__self__, "master_configuration", master_configuration) + if master_node_disk_type is not None: + warnings.warn("""Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""master_node_disk_type is deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""") if master_node_disk_type is not None: pulumi.set(__self__, "master_node_disk_type", master_node_disk_type) + if master_node_spec is not None: + warnings.warn("""Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""master_node_spec is deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""") if master_node_spec is not None: pulumi.set(__self__, "master_node_spec", master_node_spec) + if order_action_type is not None: + pulumi.set(__self__, "order_action_type", order_action_type) if password is not None: pulumi.set(__self__, "password", password) + if payment_type is not None: + pulumi.set(__self__, "payment_type", payment_type) if period is not None: pulumi.set(__self__, "period", period) if private_whitelists is not None: @@ -164,72 +249,43 @@ def __init__(__self__, *, pulumi.set(__self__, "setting_config", setting_config) if tags is not None: pulumi.set(__self__, "tags", tags) + if update_strategy is not None: + pulumi.set(__self__, "update_strategy", update_strategy) + if warm_node_amount is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_amount is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""") if warm_node_amount is not None: pulumi.set(__self__, "warm_node_amount", warm_node_amount) + if warm_node_configuration is not None: + pulumi.set(__self__, "warm_node_configuration", warm_node_configuration) + if warm_node_disk_encrypted is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_encrypted is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""") if warm_node_disk_encrypted is not None: pulumi.set(__self__, "warm_node_disk_encrypted", warm_node_disk_encrypted) + if warm_node_disk_size is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_size is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""") if warm_node_disk_size is not None: pulumi.set(__self__, "warm_node_disk_size", warm_node_disk_size) + if warm_node_disk_type is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_type is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""") if warm_node_disk_type is not None: pulumi.set(__self__, "warm_node_disk_type", warm_node_disk_type) + if warm_node_spec is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_spec is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""") if warm_node_spec is not None: pulumi.set(__self__, "warm_node_spec", warm_node_spec) if zone_count is not None: pulumi.set(__self__, "zone_count", zone_count) - @_builtins.property - @pulumi.getter(name="dataNodeAmount") - def data_node_amount(self) -> pulumi.Input[_builtins.int]: - """ - The Elasticsearch cluster's data node quantity, between 2 and 50. - """ - return pulumi.get(self, "data_node_amount") - - @data_node_amount.setter - def data_node_amount(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "data_node_amount", value) - - @_builtins.property - @pulumi.getter(name="dataNodeDiskSize") - def data_node_disk_size(self) -> pulumi.Input[_builtins.int]: - """ - The single data node storage space. - """ - return pulumi.get(self, "data_node_disk_size") - - @data_node_disk_size.setter - def data_node_disk_size(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "data_node_disk_size", value) - - @_builtins.property - @pulumi.getter(name="dataNodeDiskType") - def data_node_disk_type(self) -> pulumi.Input[_builtins.str]: - """ - The data node disk type. Supported values: cloud_ssd, cloud_efficiency. - """ - return pulumi.get(self, "data_node_disk_type") - - @data_node_disk_type.setter - def data_node_disk_type(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "data_node_disk_type", value) - - @_builtins.property - @pulumi.getter(name="dataNodeSpec") - def data_node_spec(self) -> pulumi.Input[_builtins.str]: - """ - The data node specifications of the Elasticsearch instance. - """ - return pulumi.get(self, "data_node_spec") - - @data_node_spec.setter - def data_node_spec(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "data_node_spec", value) - @_builtins.property @pulumi.getter def version(self) -> pulumi.Input[_builtins.str]: """ - Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + Instance version """ return pulumi.get(self, "version") @@ -253,7 +309,7 @@ def vswitch_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="autoRenewDuration") def auto_renew_duration(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + Renewal Period """ return pulumi.get(self, "auto_renew_duration") @@ -263,6 +319,7 @@ def auto_renew_duration(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="clientNodeAmount") + @_utilities.deprecated("""Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""") def client_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: """ The Elasticsearch cluster's client node quantity, between 2 and 25. @@ -273,8 +330,21 @@ def client_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: def client_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "client_node_amount", value) + @_builtins.property + @pulumi.getter(name="clientNodeConfiguration") + def client_node_configuration(self) -> Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']]: + """ + Elasticsearch cluster coordination node configuration See `client_node_configuration` below. + """ + return pulumi.get(self, "client_node_configuration") + + @client_node_configuration.setter + def client_node_configuration(self, value: Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']]): + pulumi.set(self, "client_node_configuration", value) + @_builtins.property @pulumi.getter(name="clientNodeSpec") + @_utilities.deprecated("""Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""") def client_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The client node spec. If specified, client node will be created. @@ -285,8 +355,34 @@ def client_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: def client_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "client_node_spec", value) + @_builtins.property + @pulumi.getter(name="dataNodeAmount") + @_utilities.deprecated("""Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""") + def data_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The Elasticsearch cluster's data node quantity, between 2 and 50. + """ + return pulumi.get(self, "data_node_amount") + + @data_node_amount.setter + def data_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "data_node_amount", value) + + @_builtins.property + @pulumi.getter(name="dataNodeConfiguration") + def data_node_configuration(self) -> Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']]: + """ + Elasticsearch data node information See `data_node_configuration` below. + """ + return pulumi.get(self, "data_node_configuration") + + @data_node_configuration.setter + def data_node_configuration(self, value: Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']]): + pulumi.set(self, "data_node_configuration", value) + @_builtins.property @pulumi.getter(name="dataNodeDiskEncrypted") + @_utilities.deprecated("""Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""") def data_node_disk_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]: """ If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. @@ -299,6 +395,7 @@ def data_node_disk_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]] @_builtins.property @pulumi.getter(name="dataNodeDiskPerformanceLevel") + @_utilities.deprecated("""Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""") def data_node_disk_performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: """ Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. @@ -309,11 +406,50 @@ def data_node_disk_performance_level(self) -> Optional[pulumi.Input[_builtins.st def data_node_disk_performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "data_node_disk_performance_level", value) + @_builtins.property + @pulumi.getter(name="dataNodeDiskSize") + @_utilities.deprecated("""Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""") + def data_node_disk_size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The single data node storage space. + """ + return pulumi.get(self, "data_node_disk_size") + + @data_node_disk_size.setter + def data_node_disk_size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "data_node_disk_size", value) + + @_builtins.property + @pulumi.getter(name="dataNodeDiskType") + @_utilities.deprecated("""Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""") + def data_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The data node disk type. Supported values: cloud_ssd, cloud_efficiency. + """ + return pulumi.get(self, "data_node_disk_type") + + @data_node_disk_type.setter + def data_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "data_node_disk_type", value) + + @_builtins.property + @pulumi.getter(name="dataNodeSpec") + @_utilities.deprecated("""Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""") + def data_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The data node specifications of the Elasticsearch instance. + """ + return pulumi.get(self, "data_node_spec") + + @data_node_spec.setter + def data_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "data_node_spec", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The description of instance. It a string of 0 to 30 characters. + Instance name """ return pulumi.get(self, "description") @@ -325,7 +461,11 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="enableKibanaPrivateNetwork") def enable_kibana_private_network(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to false. When it set to true, the instance can close kibana private network access。 + Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_kibana_private_network") @@ -337,7 +477,7 @@ def enable_kibana_private_network(self, value: Optional[pulumi.Input[_builtins.b @pulumi.getter(name="enableKibanaPublicNetwork") def enable_kibana_public_network(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to true. When it set to false, the instance can enable kibana public network access。 + Does Kibana enable public access """ return pulumi.get(self, "enable_kibana_public_network") @@ -349,7 +489,11 @@ def enable_kibana_public_network(self, value: Optional[pulumi.Input[_builtins.bo @pulumi.getter(name="enablePublic") def enable_public(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to false. When it set to true, the instance can enable public network access。 + Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_public") @@ -357,8 +501,30 @@ def enable_public(self) -> Optional[pulumi.Input[_builtins.bool]]: def enable_public(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "enable_public", value) + @_builtins.property + @pulumi.getter + def force(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "force") + + @force.setter + def force(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "force", value) + + @_builtins.property + @pulumi.getter(name="instanceCategory") + def instance_category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Version type. + """ + return pulumi.get(self, "instance_category") + + @instance_category.setter + def instance_category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_category", value) + @_builtins.property @pulumi.getter(name="instanceChargeType") + @_utilities.deprecated("""Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""") def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. @@ -369,8 +535,21 @@ def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "instance_charge_type", value) + @_builtins.property + @pulumi.getter(name="kibanaConfiguration") + def kibana_configuration(self) -> Optional[pulumi.Input['InstanceKibanaConfigurationArgs']]: + """ + Elasticsearch Kibana node settings See `kibana_configuration` below. + """ + return pulumi.get(self, "kibana_configuration") + + @kibana_configuration.setter + def kibana_configuration(self, value: Optional[pulumi.Input['InstanceKibanaConfigurationArgs']]): + pulumi.set(self, "kibana_configuration", value) + @_builtins.property @pulumi.getter(name="kibanaNodeSpec") + @_utilities.deprecated("""Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""") def kibana_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. @@ -385,7 +564,7 @@ def kibana_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="kibanaPrivateSecurityGroupId") def kibana_private_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` + Kibana private network security group ID """ return pulumi.get(self, "kibana_private_security_group_id") @@ -397,7 +576,7 @@ def kibana_private_security_group_id(self, value: Optional[pulumi.Input[_builtin @pulumi.getter(name="kibanaPrivateWhitelists") def kibana_private_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead + Cluster Kibana node private network access whitelist """ return pulumi.get(self, "kibana_private_whitelists") @@ -409,7 +588,7 @@ def kibana_private_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi @pulumi.getter(name="kibanaWhitelists") def kibana_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the Kibana's IP whitelist in internet network. + Kibana private network access whitelist """ return pulumi.get(self, "kibana_whitelists") @@ -441,8 +620,21 @@ def kms_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.In def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "kms_encryption_context", value) + @_builtins.property + @pulumi.getter(name="masterConfiguration") + def master_configuration(self) -> Optional[pulumi.Input['InstanceMasterConfigurationArgs']]: + """ + Elasticsearch proprietary master node configuration information See `master_configuration` below. + """ + return pulumi.get(self, "master_configuration") + + @master_configuration.setter + def master_configuration(self, value: Optional[pulumi.Input['InstanceMasterConfigurationArgs']]): + pulumi.set(self, "master_configuration", value) + @_builtins.property @pulumi.getter(name="masterNodeDiskType") + @_utilities.deprecated("""Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""") def master_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The single master node storage space. Valid values are `PrePaid`, `PostPaid`. @@ -455,6 +647,7 @@ def master_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="masterNodeSpec") + @_utilities.deprecated("""Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""") def master_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The dedicated master node spec. If specified, dedicated master node will be created. @@ -465,11 +658,20 @@ def master_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: def master_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "master_node_spec", value) + @_builtins.property + @pulumi.getter(name="orderActionType") + def order_action_type(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "order_action_type") + + @order_action_type.setter + def order_action_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "order_action_type", value) + @_builtins.property @pulumi.getter def password(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + The access password of the instance. """ return pulumi.get(self, "password") @@ -477,11 +679,23 @@ def password(self) -> Optional[pulumi.Input[_builtins.str]]: def password(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "password", value) + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + """ + return pulumi.get(self, "payment_type") + + @payment_type.setter + def payment_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "payment_type", value) + @_builtins.property @pulumi.getter def period(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. """ return pulumi.get(self, "period") @@ -493,7 +707,7 @@ def period(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="privateWhitelists") def private_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the instance's IP whitelist in VPC network. + Elasticsearch private network whitelist. (Same as EsIpWhitelist) """ return pulumi.get(self, "private_whitelists") @@ -505,7 +719,7 @@ def private_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter def protocol(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + Access protocol. Optional values: `HTTP` and **HTTPS * *. """ return pulumi.get(self, "protocol") @@ -517,7 +731,7 @@ def protocol(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="publicWhitelists") def public_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the instance's IP whitelist in internet network. + Elasticseach public network access whitelist IP list """ return pulumi.get(self, "public_whitelists") @@ -529,7 +743,7 @@ def public_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_ @pulumi.getter(name="renewStatus") def renew_status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. + Renewal Status """ return pulumi.get(self, "renew_status") @@ -541,7 +755,7 @@ def renew_status(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="renewalDurationUnit") def renewal_duration_unit(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + Renewal Period Unit """ return pulumi.get(self, "renewal_duration_unit") @@ -553,7 +767,7 @@ def renewal_duration_unit(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The ID of resource group which the Elasticsearch instance belongs. + Resource group to which the instance belongs """ return pulumi.get(self, "resource_group_id") @@ -565,7 +779,7 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="settingConfig") def setting_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + Configuration information """ return pulumi.get(self, "setting_config") @@ -577,7 +791,7 @@ def setting_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[ @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - A mapping of tags to assign to the resource. + Collection of tag key-value pairs """ return pulumi.get(self, "tags") @@ -585,8 +799,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="updateStrategy") + def update_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "update_strategy") + + @update_strategy.setter + def update_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "update_strategy", value) + @_builtins.property @pulumi.getter(name="warmNodeAmount") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""") def warm_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: """ The Elasticsearch cluster's warm node quantity, between 3 and 50. @@ -597,8 +821,21 @@ def warm_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: def warm_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "warm_node_amount", value) + @_builtins.property + @pulumi.getter(name="warmNodeConfiguration") + def warm_node_configuration(self) -> Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']]: + """ + Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. + """ + return pulumi.get(self, "warm_node_configuration") + + @warm_node_configuration.setter + def warm_node_configuration(self, value: Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']]): + pulumi.set(self, "warm_node_configuration", value) + @_builtins.property @pulumi.getter(name="warmNodeDiskEncrypted") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""") def warm_node_disk_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]: """ If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. @@ -611,6 +848,7 @@ def warm_node_disk_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]] @_builtins.property @pulumi.getter(name="warmNodeDiskSize") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""") def warm_node_disk_size(self) -> Optional[pulumi.Input[_builtins.int]]: """ The single warm node storage space, should between 500 and 20480 @@ -623,6 +861,7 @@ def warm_node_disk_size(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="warmNodeDiskType") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""") def warm_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The warm node disk type. Supported values: cloud_efficiency. @@ -635,6 +874,7 @@ def warm_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="warmNodeSpec") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""") def warm_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The warm node specifications of the Elasticsearch instance. @@ -649,7 +889,9 @@ def warm_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="zoneCount") def zone_count(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ return pulumi.get(self, "zone_count") @@ -661,10 +903,14 @@ def zone_count(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.input_type class _InstanceState: def __init__(__self__, *, + arch_type: Optional[pulumi.Input[_builtins.str]] = None, auto_renew_duration: Optional[pulumi.Input[_builtins.int]] = None, client_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + client_node_configuration: Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']] = None, client_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, data_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + data_node_configuration: Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']] = None, data_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, data_node_disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, data_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, @@ -675,7 +921,10 @@ def __init__(__self__, *, enable_kibana_private_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_kibana_public_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_public: Optional[pulumi.Input[_builtins.bool]] = None, + force: Optional[pulumi.Input[_builtins.bool]] = None, + instance_category: Optional[pulumi.Input[_builtins.str]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + kibana_configuration: Optional[pulumi.Input['InstanceKibanaConfigurationArgs']] = None, kibana_domain: Optional[pulumi.Input[_builtins.str]] = None, kibana_node_spec: Optional[pulumi.Input[_builtins.str]] = None, kibana_port: Optional[pulumi.Input[_builtins.int]] = None, @@ -684,9 +933,12 @@ def __init__(__self__, *, kibana_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + master_configuration: Optional[pulumi.Input['InstanceMasterConfigurationArgs']] = None, master_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, master_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + order_action_type: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, @@ -700,9 +952,11 @@ def __init__(__self__, *, setting_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + update_strategy: Optional[pulumi.Input[_builtins.str]] = None, version: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, warm_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + warm_node_configuration: Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']] = None, warm_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, warm_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, warm_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -710,70 +964,121 @@ def __init__(__self__, *, zone_count: Optional[pulumi.Input[_builtins.int]] = None): """ Input properties used for looking up and filtering Instance resources. - :param pulumi.Input[_builtins.int] auto_renew_duration: Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + :param pulumi.Input[_builtins.str] arch_type: Schema Type: + :param pulumi.Input[_builtins.int] auto_renew_duration: Renewal Period :param pulumi.Input[_builtins.int] client_node_amount: The Elasticsearch cluster's client node quantity, between 2 and 25. + :param pulumi.Input['InstanceClientNodeConfigurationArgs'] client_node_configuration: Elasticsearch cluster coordination node configuration See `client_node_configuration` below. :param pulumi.Input[_builtins.str] client_node_spec: The client node spec. If specified, client node will be created. + :param pulumi.Input[_builtins.str] create_time: Instance creation time :param pulumi.Input[_builtins.int] data_node_amount: The Elasticsearch cluster's data node quantity, between 2 and 50. + :param pulumi.Input['InstanceDataNodeConfigurationArgs'] data_node_configuration: Elasticsearch data node information See `data_node_configuration` below. :param pulumi.Input[_builtins.bool] data_node_disk_encrypted: If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.str] data_node_disk_performance_level: Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. :param pulumi.Input[_builtins.int] data_node_disk_size: The single data node storage space. :param pulumi.Input[_builtins.str] data_node_disk_type: The data node disk type. Supported values: cloud_ssd, cloud_efficiency. :param pulumi.Input[_builtins.str] data_node_spec: The data node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.str] description: The description of instance. It a string of 0 to 30 characters. - :param pulumi.Input[_builtins.str] domain: Instance connection domain (only VPC network access supported). - :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Bool, default to false. When it set to true, the instance can close kibana private network access。 - :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Bool, default to true. When it set to false, the instance can enable kibana public network access。 - :param pulumi.Input[_builtins.bool] enable_public: Bool, default to false. When it set to true, the instance can enable public network access。 + :param pulumi.Input[_builtins.str] description: Instance name + :param pulumi.Input[_builtins.str] domain: Elasticsearch cluster private domain name + :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Does Kibana enable public access + :param pulumi.Input[_builtins.bool] enable_public: Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.str] instance_category: Version type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. - :param pulumi.Input[_builtins.str] kibana_domain: Kibana console domain (Internet access supported). + :param pulumi.Input['InstanceKibanaConfigurationArgs'] kibana_configuration: Elasticsearch Kibana node settings See `kibana_configuration` below. + :param pulumi.Input[_builtins.str] kibana_domain: Kibana address :param pulumi.Input[_builtins.str] kibana_node_spec: The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. - :param pulumi.Input[_builtins.int] kibana_port: Kibana console port. - :param pulumi.Input[_builtins.str] kibana_private_security_group_id: the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Set the Kibana's IP whitelist in internet network. + :param pulumi.Input[_builtins.int] kibana_port: The port assigned by the Kibana node. + :param pulumi.Input[_builtins.str] kibana_private_security_group_id: Kibana private network security group ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Cluster Kibana node private network access whitelist + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Kibana private network access whitelist :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating instance with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input['InstanceMasterConfigurationArgs'] master_configuration: Elasticsearch proprietary master node configuration information See `master_configuration` below. :param pulumi.Input[_builtins.str] master_node_disk_type: The single master node storage space. Valid values are `PrePaid`, `PostPaid`. :param pulumi.Input[_builtins.str] master_node_spec: The dedicated master node spec. If specified, dedicated master node will be created. - :param pulumi.Input[_builtins.str] password: The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). - :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + :param pulumi.Input[_builtins.str] password: The access password of the instance. + :param pulumi.Input[_builtins.str] payment_type: The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. :param pulumi.Input[_builtins.int] port: Instance connection port. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Set the instance's IP whitelist in VPC network. - :param pulumi.Input[_builtins.str] protocol: Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. - :param pulumi.Input[_builtins.str] public_domain: Instance connection public domain. - :param pulumi.Input[_builtins.int] public_port: Instance connection public port. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Set the instance's IP whitelist in internet network. - :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. - :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. - :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the Elasticsearch instance belongs. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). - :param pulumi.Input[_builtins.str] status: The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: A mapping of tags to assign to the resource. - :param pulumi.Input[_builtins.str] version: Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Elasticsearch private network whitelist. (Same as EsIpWhitelist) + :param pulumi.Input[_builtins.str] protocol: Access protocol. Optional values: `HTTP` and **HTTPS * *. + :param pulumi.Input[_builtins.str] public_domain: The public network address of the current instance. + :param pulumi.Input[_builtins.int] public_port: Elasticsearch cluster public network access port + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Elasticseach public network access whitelist IP list + :param pulumi.Input[_builtins.str] renew_status: Renewal Status + :param pulumi.Input[_builtins.str] renewal_duration_unit: Renewal Period Unit + :param pulumi.Input[_builtins.str] resource_group_id: Resource group to which the instance belongs + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: Configuration information + :param pulumi.Input[_builtins.str] status: Instance change status + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Collection of tag key-value pairs + :param pulumi.Input[_builtins.str] version: Instance version :param pulumi.Input[_builtins.str] vswitch_id: The ID of VSwitch. :param pulumi.Input[_builtins.int] warm_node_amount: The Elasticsearch cluster's warm node quantity, between 3 and 50. + :param pulumi.Input['InstanceWarmNodeConfigurationArgs'] warm_node_configuration: Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. :param pulumi.Input[_builtins.bool] warm_node_disk_encrypted: If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.int] warm_node_disk_size: The single warm node storage space, should between 500 and 20480 :param pulumi.Input[_builtins.str] warm_node_disk_type: The warm node disk type. Supported values: cloud_efficiency. :param pulumi.Input[_builtins.str] warm_node_spec: The warm node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.int] zone_count: The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + :param pulumi.Input[_builtins.int] zone_count: The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ + if arch_type is not None: + pulumi.set(__self__, "arch_type", arch_type) if auto_renew_duration is not None: pulumi.set(__self__, "auto_renew_duration", auto_renew_duration) + if client_node_amount is not None: + warnings.warn("""Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""client_node_amount is deprecated: Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""") if client_node_amount is not None: pulumi.set(__self__, "client_node_amount", client_node_amount) + if client_node_configuration is not None: + pulumi.set(__self__, "client_node_configuration", client_node_configuration) + if client_node_spec is not None: + warnings.warn("""Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""client_node_spec is deprecated: Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""") if client_node_spec is not None: pulumi.set(__self__, "client_node_spec", client_node_spec) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if data_node_amount is not None: + warnings.warn("""Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_amount is deprecated: Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""") if data_node_amount is not None: pulumi.set(__self__, "data_node_amount", data_node_amount) + if data_node_configuration is not None: + pulumi.set(__self__, "data_node_configuration", data_node_configuration) + if data_node_disk_encrypted is not None: + warnings.warn("""Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_encrypted is deprecated: Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""") if data_node_disk_encrypted is not None: pulumi.set(__self__, "data_node_disk_encrypted", data_node_disk_encrypted) + if data_node_disk_performance_level is not None: + warnings.warn("""Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_performance_level is deprecated: Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""") if data_node_disk_performance_level is not None: pulumi.set(__self__, "data_node_disk_performance_level", data_node_disk_performance_level) + if data_node_disk_size is not None: + warnings.warn("""Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_size is deprecated: Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""") if data_node_disk_size is not None: pulumi.set(__self__, "data_node_disk_size", data_node_disk_size) + if data_node_disk_type is not None: + warnings.warn("""Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_disk_type is deprecated: Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""") if data_node_disk_type is not None: pulumi.set(__self__, "data_node_disk_type", data_node_disk_type) + if data_node_spec is not None: + warnings.warn("""Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""data_node_spec is deprecated: Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""") if data_node_spec is not None: pulumi.set(__self__, "data_node_spec", data_node_spec) if description is not None: @@ -786,10 +1091,22 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_kibana_public_network", enable_kibana_public_network) if enable_public is not None: pulumi.set(__self__, "enable_public", enable_public) + if force is not None: + pulumi.set(__self__, "force", force) + if instance_category is not None: + pulumi.set(__self__, "instance_category", instance_category) + if instance_charge_type is not None: + warnings.warn("""Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""", DeprecationWarning) + pulumi.log.warn("""instance_charge_type is deprecated: Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""") if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if kibana_configuration is not None: + pulumi.set(__self__, "kibana_configuration", kibana_configuration) if kibana_domain is not None: pulumi.set(__self__, "kibana_domain", kibana_domain) + if kibana_node_spec is not None: + warnings.warn("""Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""kibana_node_spec is deprecated: Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""") if kibana_node_spec is not None: pulumi.set(__self__, "kibana_node_spec", kibana_node_spec) if kibana_port is not None: @@ -804,12 +1121,24 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_encrypted_password", kms_encrypted_password) if kms_encryption_context is not None: pulumi.set(__self__, "kms_encryption_context", kms_encryption_context) + if master_configuration is not None: + pulumi.set(__self__, "master_configuration", master_configuration) + if master_node_disk_type is not None: + warnings.warn("""Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""master_node_disk_type is deprecated: Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""") if master_node_disk_type is not None: pulumi.set(__self__, "master_node_disk_type", master_node_disk_type) + if master_node_spec is not None: + warnings.warn("""Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""master_node_spec is deprecated: Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""") if master_node_spec is not None: pulumi.set(__self__, "master_node_spec", master_node_spec) + if order_action_type is not None: + pulumi.set(__self__, "order_action_type", order_action_type) if password is not None: pulumi.set(__self__, "password", password) + if payment_type is not None: + pulumi.set(__self__, "payment_type", payment_type) if period is not None: pulumi.set(__self__, "period", period) if port is not None: @@ -836,28 +1165,59 @@ def __init__(__self__, *, pulumi.set(__self__, "status", status) if tags is not None: pulumi.set(__self__, "tags", tags) + if update_strategy is not None: + pulumi.set(__self__, "update_strategy", update_strategy) if version is not None: pulumi.set(__self__, "version", version) if vswitch_id is not None: pulumi.set(__self__, "vswitch_id", vswitch_id) + if warm_node_amount is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_amount is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""") if warm_node_amount is not None: pulumi.set(__self__, "warm_node_amount", warm_node_amount) + if warm_node_configuration is not None: + pulumi.set(__self__, "warm_node_configuration", warm_node_configuration) + if warm_node_disk_encrypted is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_encrypted is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""") if warm_node_disk_encrypted is not None: pulumi.set(__self__, "warm_node_disk_encrypted", warm_node_disk_encrypted) + if warm_node_disk_size is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_size is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""") if warm_node_disk_size is not None: pulumi.set(__self__, "warm_node_disk_size", warm_node_disk_size) + if warm_node_disk_type is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_disk_type is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""") if warm_node_disk_type is not None: pulumi.set(__self__, "warm_node_disk_type", warm_node_disk_type) + if warm_node_spec is not None: + warnings.warn("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""", DeprecationWarning) + pulumi.log.warn("""warm_node_spec is deprecated: Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""") if warm_node_spec is not None: pulumi.set(__self__, "warm_node_spec", warm_node_spec) if zone_count is not None: pulumi.set(__self__, "zone_count", zone_count) + @_builtins.property + @pulumi.getter(name="archType") + def arch_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Schema Type: + """ + return pulumi.get(self, "arch_type") + + @arch_type.setter + def arch_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "arch_type", value) + @_builtins.property @pulumi.getter(name="autoRenewDuration") def auto_renew_duration(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + Renewal Period """ return pulumi.get(self, "auto_renew_duration") @@ -867,6 +1227,7 @@ def auto_renew_duration(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="clientNodeAmount") + @_utilities.deprecated("""Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""") def client_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: """ The Elasticsearch cluster's client node quantity, between 2 and 25. @@ -877,8 +1238,21 @@ def client_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: def client_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "client_node_amount", value) + @_builtins.property + @pulumi.getter(name="clientNodeConfiguration") + def client_node_configuration(self) -> Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']]: + """ + Elasticsearch cluster coordination node configuration See `client_node_configuration` below. + """ + return pulumi.get(self, "client_node_configuration") + + @client_node_configuration.setter + def client_node_configuration(self, value: Optional[pulumi.Input['InstanceClientNodeConfigurationArgs']]): + pulumi.set(self, "client_node_configuration", value) + @_builtins.property @pulumi.getter(name="clientNodeSpec") + @_utilities.deprecated("""Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""") def client_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The client node spec. If specified, client node will be created. @@ -889,8 +1263,21 @@ def client_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: def client_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "client_node_spec", value) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Instance creation time + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + @_builtins.property @pulumi.getter(name="dataNodeAmount") + @_utilities.deprecated("""Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""") def data_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: """ The Elasticsearch cluster's data node quantity, between 2 and 50. @@ -901,8 +1288,21 @@ def data_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: def data_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "data_node_amount", value) + @_builtins.property + @pulumi.getter(name="dataNodeConfiguration") + def data_node_configuration(self) -> Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']]: + """ + Elasticsearch data node information See `data_node_configuration` below. + """ + return pulumi.get(self, "data_node_configuration") + + @data_node_configuration.setter + def data_node_configuration(self, value: Optional[pulumi.Input['InstanceDataNodeConfigurationArgs']]): + pulumi.set(self, "data_node_configuration", value) + @_builtins.property @pulumi.getter(name="dataNodeDiskEncrypted") + @_utilities.deprecated("""Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""") def data_node_disk_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]: """ If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. @@ -915,6 +1315,7 @@ def data_node_disk_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]] @_builtins.property @pulumi.getter(name="dataNodeDiskPerformanceLevel") + @_utilities.deprecated("""Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""") def data_node_disk_performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: """ Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. @@ -927,6 +1328,7 @@ def data_node_disk_performance_level(self, value: Optional[pulumi.Input[_builtin @_builtins.property @pulumi.getter(name="dataNodeDiskSize") + @_utilities.deprecated("""Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""") def data_node_disk_size(self) -> Optional[pulumi.Input[_builtins.int]]: """ The single data node storage space. @@ -939,6 +1341,7 @@ def data_node_disk_size(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="dataNodeDiskType") + @_utilities.deprecated("""Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""") def data_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The data node disk type. Supported values: cloud_ssd, cloud_efficiency. @@ -951,6 +1354,7 @@ def data_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="dataNodeSpec") + @_utilities.deprecated("""Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""") def data_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The data node specifications of the Elasticsearch instance. @@ -965,7 +1369,7 @@ def data_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The description of instance. It a string of 0 to 30 characters. + Instance name """ return pulumi.get(self, "description") @@ -977,7 +1381,7 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def domain(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Instance connection domain (only VPC network access supported). + Elasticsearch cluster private domain name """ return pulumi.get(self, "domain") @@ -989,7 +1393,11 @@ def domain(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="enableKibanaPrivateNetwork") def enable_kibana_private_network(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to false. When it set to true, the instance can close kibana private network access。 + Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_kibana_private_network") @@ -1001,7 +1409,7 @@ def enable_kibana_private_network(self, value: Optional[pulumi.Input[_builtins.b @pulumi.getter(name="enableKibanaPublicNetwork") def enable_kibana_public_network(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to true. When it set to false, the instance can enable kibana public network access。 + Does Kibana enable public access """ return pulumi.get(self, "enable_kibana_public_network") @@ -1013,7 +1421,11 @@ def enable_kibana_public_network(self, value: Optional[pulumi.Input[_builtins.bo @pulumi.getter(name="enablePublic") def enable_public(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Bool, default to false. When it set to true, the instance can enable public network access。 + Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_public") @@ -1021,8 +1433,30 @@ def enable_public(self) -> Optional[pulumi.Input[_builtins.bool]]: def enable_public(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "enable_public", value) + @_builtins.property + @pulumi.getter + def force(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "force") + + @force.setter + def force(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "force", value) + + @_builtins.property + @pulumi.getter(name="instanceCategory") + def instance_category(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Version type. + """ + return pulumi.get(self, "instance_category") + + @instance_category.setter + def instance_category(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_category", value) + @_builtins.property @pulumi.getter(name="instanceChargeType") + @_utilities.deprecated("""Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""") def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. @@ -1033,11 +1467,23 @@ def instance_charge_type(self) -> Optional[pulumi.Input[_builtins.str]]: def instance_charge_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "instance_charge_type", value) + @_builtins.property + @pulumi.getter(name="kibanaConfiguration") + def kibana_configuration(self) -> Optional[pulumi.Input['InstanceKibanaConfigurationArgs']]: + """ + Elasticsearch Kibana node settings See `kibana_configuration` below. + """ + return pulumi.get(self, "kibana_configuration") + + @kibana_configuration.setter + def kibana_configuration(self, value: Optional[pulumi.Input['InstanceKibanaConfigurationArgs']]): + pulumi.set(self, "kibana_configuration", value) + @_builtins.property @pulumi.getter(name="kibanaDomain") def kibana_domain(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Kibana console domain (Internet access supported). + Kibana address """ return pulumi.get(self, "kibana_domain") @@ -1047,6 +1493,7 @@ def kibana_domain(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="kibanaNodeSpec") + @_utilities.deprecated("""Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""") def kibana_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. @@ -1061,7 +1508,7 @@ def kibana_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="kibanaPort") def kibana_port(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Kibana console port. + The port assigned by the Kibana node. """ return pulumi.get(self, "kibana_port") @@ -1073,7 +1520,7 @@ def kibana_port(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="kibanaPrivateSecurityGroupId") def kibana_private_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` + Kibana private network security group ID """ return pulumi.get(self, "kibana_private_security_group_id") @@ -1085,7 +1532,7 @@ def kibana_private_security_group_id(self, value: Optional[pulumi.Input[_builtin @pulumi.getter(name="kibanaPrivateWhitelists") def kibana_private_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead + Cluster Kibana node private network access whitelist """ return pulumi.get(self, "kibana_private_whitelists") @@ -1097,7 +1544,7 @@ def kibana_private_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi @pulumi.getter(name="kibanaWhitelists") def kibana_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the Kibana's IP whitelist in internet network. + Kibana private network access whitelist """ return pulumi.get(self, "kibana_whitelists") @@ -1129,8 +1576,21 @@ def kms_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.In def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "kms_encryption_context", value) + @_builtins.property + @pulumi.getter(name="masterConfiguration") + def master_configuration(self) -> Optional[pulumi.Input['InstanceMasterConfigurationArgs']]: + """ + Elasticsearch proprietary master node configuration information See `master_configuration` below. + """ + return pulumi.get(self, "master_configuration") + + @master_configuration.setter + def master_configuration(self, value: Optional[pulumi.Input['InstanceMasterConfigurationArgs']]): + pulumi.set(self, "master_configuration", value) + @_builtins.property @pulumi.getter(name="masterNodeDiskType") + @_utilities.deprecated("""Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""") def master_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The single master node storage space. Valid values are `PrePaid`, `PostPaid`. @@ -1143,6 +1603,7 @@ def master_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="masterNodeSpec") + @_utilities.deprecated("""Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""") def master_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The dedicated master node spec. If specified, dedicated master node will be created. @@ -1153,11 +1614,20 @@ def master_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: def master_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "master_node_spec", value) + @_builtins.property + @pulumi.getter(name="orderActionType") + def order_action_type(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "order_action_type") + + @order_action_type.setter + def order_action_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "order_action_type", value) + @_builtins.property @pulumi.getter def password(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + The access password of the instance. """ return pulumi.get(self, "password") @@ -1165,11 +1635,23 @@ def password(self) -> Optional[pulumi.Input[_builtins.str]]: def password(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "password", value) + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + """ + return pulumi.get(self, "payment_type") + + @payment_type.setter + def payment_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "payment_type", value) + @_builtins.property @pulumi.getter def period(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. """ return pulumi.get(self, "period") @@ -1193,7 +1675,7 @@ def port(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="privateWhitelists") def private_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the instance's IP whitelist in VPC network. + Elasticsearch private network whitelist. (Same as EsIpWhitelist) """ return pulumi.get(self, "private_whitelists") @@ -1205,7 +1687,7 @@ def private_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter def protocol(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + Access protocol. Optional values: `HTTP` and **HTTPS * *. """ return pulumi.get(self, "protocol") @@ -1217,7 +1699,7 @@ def protocol(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="publicDomain") def public_domain(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Instance connection public domain. + The public network address of the current instance. """ return pulumi.get(self, "public_domain") @@ -1229,7 +1711,7 @@ def public_domain(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="publicPort") def public_port(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Instance connection public port. + Elasticsearch cluster public network access port """ return pulumi.get(self, "public_port") @@ -1241,7 +1723,7 @@ def public_port(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="publicWhitelists") def public_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Set the instance's IP whitelist in internet network. + Elasticseach public network access whitelist IP list """ return pulumi.get(self, "public_whitelists") @@ -1253,7 +1735,7 @@ def public_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_ @pulumi.getter(name="renewStatus") def renew_status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. + Renewal Status """ return pulumi.get(self, "renew_status") @@ -1265,7 +1747,7 @@ def renew_status(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="renewalDurationUnit") def renewal_duration_unit(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + Renewal Period Unit """ return pulumi.get(self, "renewal_duration_unit") @@ -1277,7 +1759,7 @@ def renewal_duration_unit(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The ID of resource group which the Elasticsearch instance belongs. + Resource group to which the instance belongs """ return pulumi.get(self, "resource_group_id") @@ -1289,7 +1771,7 @@ def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="settingConfig") def setting_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + Configuration information """ return pulumi.get(self, "setting_config") @@ -1301,7 +1783,7 @@ def setting_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[ @pulumi.getter def status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + Instance change status """ return pulumi.get(self, "status") @@ -1313,7 +1795,7 @@ def status(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - A mapping of tags to assign to the resource. + Collection of tag key-value pairs """ return pulumi.get(self, "tags") @@ -1321,11 +1803,20 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "tags", value) + @_builtins.property + @pulumi.getter(name="updateStrategy") + def update_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "update_strategy") + + @update_strategy.setter + def update_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "update_strategy", value) + @_builtins.property @pulumi.getter def version(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + Instance version """ return pulumi.get(self, "version") @@ -1347,6 +1838,7 @@ def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="warmNodeAmount") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""") def warm_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: """ The Elasticsearch cluster's warm node quantity, between 3 and 50. @@ -1357,8 +1849,21 @@ def warm_node_amount(self) -> Optional[pulumi.Input[_builtins.int]]: def warm_node_amount(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "warm_node_amount", value) + @_builtins.property + @pulumi.getter(name="warmNodeConfiguration") + def warm_node_configuration(self) -> Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']]: + """ + Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. + """ + return pulumi.get(self, "warm_node_configuration") + + @warm_node_configuration.setter + def warm_node_configuration(self, value: Optional[pulumi.Input['InstanceWarmNodeConfigurationArgs']]): + pulumi.set(self, "warm_node_configuration", value) + @_builtins.property @pulumi.getter(name="warmNodeDiskEncrypted") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""") def warm_node_disk_encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]: """ If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. @@ -1371,6 +1876,7 @@ def warm_node_disk_encrypted(self, value: Optional[pulumi.Input[_builtins.bool]] @_builtins.property @pulumi.getter(name="warmNodeDiskSize") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""") def warm_node_disk_size(self) -> Optional[pulumi.Input[_builtins.int]]: """ The single warm node storage space, should between 500 and 20480 @@ -1383,6 +1889,7 @@ def warm_node_disk_size(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="warmNodeDiskType") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""") def warm_node_disk_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The warm node disk type. Supported values: cloud_efficiency. @@ -1395,6 +1902,7 @@ def warm_node_disk_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="warmNodeSpec") + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""") def warm_node_spec(self) -> Optional[pulumi.Input[_builtins.str]]: """ The warm node specifications of the Elasticsearch instance. @@ -1409,7 +1917,9 @@ def warm_node_spec(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="zoneCount") def zone_count(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ return pulumi.get(self, "zone_count") @@ -1426,8 +1936,10 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, auto_renew_duration: Optional[pulumi.Input[_builtins.int]] = None, client_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + client_node_configuration: Optional[pulumi.Input[Union['InstanceClientNodeConfigurationArgs', 'InstanceClientNodeConfigurationArgsDict']]] = None, client_node_spec: Optional[pulumi.Input[_builtins.str]] = None, data_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + data_node_configuration: Optional[pulumi.Input[Union['InstanceDataNodeConfigurationArgs', 'InstanceDataNodeConfigurationArgsDict']]] = None, data_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, data_node_disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, data_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, @@ -1437,16 +1949,22 @@ def __init__(__self__, enable_kibana_private_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_kibana_public_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_public: Optional[pulumi.Input[_builtins.bool]] = None, + force: Optional[pulumi.Input[_builtins.bool]] = None, + instance_category: Optional[pulumi.Input[_builtins.str]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + kibana_configuration: Optional[pulumi.Input[Union['InstanceKibanaConfigurationArgs', 'InstanceKibanaConfigurationArgsDict']]] = None, kibana_node_spec: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kibana_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + master_configuration: Optional[pulumi.Input[Union['InstanceMasterConfigurationArgs', 'InstanceMasterConfigurationArgsDict']]] = None, master_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, master_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + order_action_type: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, protocol: Optional[pulumi.Input[_builtins.str]] = None, @@ -1456,9 +1974,11 @@ def __init__(__self__, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, setting_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + update_strategy: Optional[pulumi.Input[_builtins.str]] = None, version: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, warm_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + warm_node_configuration: Optional[pulumi.Input[Union['InstanceWarmNodeConfigurationArgs', 'InstanceWarmNodeConfigurationArgsDict']]] = None, warm_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, warm_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, warm_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1466,56 +1986,120 @@ def __init__(__self__, zone_count: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ + Provides a Elasticsearch Instance resource. + + For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). + + > **NOTE:** Available since v1.30.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "tf-example" + default = alicloud.elasticsearch.get_zones() + default_network = alicloud.vpc.Network("default", + vpc_name=name, + cidr_block="10.0.0.0/8") + default_switch = alicloud.vpc.Switch("default", + vswitch_name=name, + cidr_block="10.1.0.0/16", + vpc_id=default_network.id, + zone_id=default.zones[0].id) + default_instance = alicloud.elasticsearch.Instance("default", + description=name, + vswitch_id=default_switch.id, + password="Examplw1234", + version="7.10_with_X-Pack", + instance_charge_type="PostPaid", + data_node_amount=2, + data_node_spec="elasticsearch.sn2ne.large", + data_node_disk_size=20, + data_node_disk_type="cloud_ssd", + kibana_node_spec="elasticsearch.sn2ne.large", + data_node_disk_performance_level="PL1", + tags={ + "Created": "TF", + "For": "example", + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Elasticsearch can be imported using the id, e.g. + Elasticsearch Instance can be imported using the id, e.g. ```sh - $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 + $ pulumi import alicloud:elasticsearch/instance:Instance example ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.int] auto_renew_duration: Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + :param pulumi.Input[_builtins.int] auto_renew_duration: Renewal Period :param pulumi.Input[_builtins.int] client_node_amount: The Elasticsearch cluster's client node quantity, between 2 and 25. + :param pulumi.Input[Union['InstanceClientNodeConfigurationArgs', 'InstanceClientNodeConfigurationArgsDict']] client_node_configuration: Elasticsearch cluster coordination node configuration See `client_node_configuration` below. :param pulumi.Input[_builtins.str] client_node_spec: The client node spec. If specified, client node will be created. :param pulumi.Input[_builtins.int] data_node_amount: The Elasticsearch cluster's data node quantity, between 2 and 50. + :param pulumi.Input[Union['InstanceDataNodeConfigurationArgs', 'InstanceDataNodeConfigurationArgsDict']] data_node_configuration: Elasticsearch data node information See `data_node_configuration` below. :param pulumi.Input[_builtins.bool] data_node_disk_encrypted: If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.str] data_node_disk_performance_level: Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. :param pulumi.Input[_builtins.int] data_node_disk_size: The single data node storage space. :param pulumi.Input[_builtins.str] data_node_disk_type: The data node disk type. Supported values: cloud_ssd, cloud_efficiency. :param pulumi.Input[_builtins.str] data_node_spec: The data node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.str] description: The description of instance. It a string of 0 to 30 characters. - :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Bool, default to false. When it set to true, the instance can close kibana private network access。 - :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Bool, default to true. When it set to false, the instance can enable kibana public network access。 - :param pulumi.Input[_builtins.bool] enable_public: Bool, default to false. When it set to true, the instance can enable public network access。 + :param pulumi.Input[_builtins.str] description: Instance name + :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Does Kibana enable public access + :param pulumi.Input[_builtins.bool] enable_public: Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.str] instance_category: Version type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. + :param pulumi.Input[Union['InstanceKibanaConfigurationArgs', 'InstanceKibanaConfigurationArgsDict']] kibana_configuration: Elasticsearch Kibana node settings See `kibana_configuration` below. :param pulumi.Input[_builtins.str] kibana_node_spec: The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. - :param pulumi.Input[_builtins.str] kibana_private_security_group_id: the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Set the Kibana's IP whitelist in internet network. + :param pulumi.Input[_builtins.str] kibana_private_security_group_id: Kibana private network security group ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Cluster Kibana node private network access whitelist + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Kibana private network access whitelist :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating instance with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[Union['InstanceMasterConfigurationArgs', 'InstanceMasterConfigurationArgsDict']] master_configuration: Elasticsearch proprietary master node configuration information See `master_configuration` below. :param pulumi.Input[_builtins.str] master_node_disk_type: The single master node storage space. Valid values are `PrePaid`, `PostPaid`. :param pulumi.Input[_builtins.str] master_node_spec: The dedicated master node spec. If specified, dedicated master node will be created. - :param pulumi.Input[_builtins.str] password: The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). - :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Set the instance's IP whitelist in VPC network. - :param pulumi.Input[_builtins.str] protocol: Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Set the instance's IP whitelist in internet network. - :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. - :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. - :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the Elasticsearch instance belongs. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: A mapping of tags to assign to the resource. - :param pulumi.Input[_builtins.str] version: Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + :param pulumi.Input[_builtins.str] password: The access password of the instance. + :param pulumi.Input[_builtins.str] payment_type: The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Elasticsearch private network whitelist. (Same as EsIpWhitelist) + :param pulumi.Input[_builtins.str] protocol: Access protocol. Optional values: `HTTP` and **HTTPS * *. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Elasticseach public network access whitelist IP list + :param pulumi.Input[_builtins.str] renew_status: Renewal Status + :param pulumi.Input[_builtins.str] renewal_duration_unit: Renewal Period Unit + :param pulumi.Input[_builtins.str] resource_group_id: Resource group to which the instance belongs + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: Configuration information + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Collection of tag key-value pairs + :param pulumi.Input[_builtins.str] version: Instance version :param pulumi.Input[_builtins.str] vswitch_id: The ID of VSwitch. :param pulumi.Input[_builtins.int] warm_node_amount: The Elasticsearch cluster's warm node quantity, between 3 and 50. + :param pulumi.Input[Union['InstanceWarmNodeConfigurationArgs', 'InstanceWarmNodeConfigurationArgsDict']] warm_node_configuration: Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. :param pulumi.Input[_builtins.bool] warm_node_disk_encrypted: If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.int] warm_node_disk_size: The single warm node storage space, should between 500 and 20480 :param pulumi.Input[_builtins.str] warm_node_disk_type: The warm node disk type. Supported values: cloud_efficiency. :param pulumi.Input[_builtins.str] warm_node_spec: The warm node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.int] zone_count: The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + :param pulumi.Input[_builtins.int] zone_count: The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ ... @overload @@ -1524,12 +2108,59 @@ def __init__(__self__, args: InstanceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ + Provides a Elasticsearch Instance resource. + + For information about Elasticsearch Instance and how to use it, see [What is Instance](https://next.api.alibabacloud.com/document/elasticsearch/2017-06-13/createInstance). + + > **NOTE:** Available since v1.30.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "tf-example" + default = alicloud.elasticsearch.get_zones() + default_network = alicloud.vpc.Network("default", + vpc_name=name, + cidr_block="10.0.0.0/8") + default_switch = alicloud.vpc.Switch("default", + vswitch_name=name, + cidr_block="10.1.0.0/16", + vpc_id=default_network.id, + zone_id=default.zones[0].id) + default_instance = alicloud.elasticsearch.Instance("default", + description=name, + vswitch_id=default_switch.id, + password="Examplw1234", + version="7.10_with_X-Pack", + instance_charge_type="PostPaid", + data_node_amount=2, + data_node_spec="elasticsearch.sn2ne.large", + data_node_disk_size=20, + data_node_disk_type="cloud_ssd", + kibana_node_spec="elasticsearch.sn2ne.large", + data_node_disk_performance_level="PL1", + tags={ + "Created": "TF", + "For": "example", + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - Elasticsearch can be imported using the id, e.g. + Elasticsearch Instance can be imported using the id, e.g. ```sh - $ pulumi import alicloud:elasticsearch/instance:Instance example es-cn-abcde123456 + $ pulumi import alicloud:elasticsearch/instance:Instance example ``` :param str resource_name: The name of the resource. @@ -1549,8 +2180,10 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, auto_renew_duration: Optional[pulumi.Input[_builtins.int]] = None, client_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + client_node_configuration: Optional[pulumi.Input[Union['InstanceClientNodeConfigurationArgs', 'InstanceClientNodeConfigurationArgsDict']]] = None, client_node_spec: Optional[pulumi.Input[_builtins.str]] = None, data_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + data_node_configuration: Optional[pulumi.Input[Union['InstanceDataNodeConfigurationArgs', 'InstanceDataNodeConfigurationArgsDict']]] = None, data_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, data_node_disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, data_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, @@ -1560,16 +2193,22 @@ def _internal_init(__self__, enable_kibana_private_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_kibana_public_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_public: Optional[pulumi.Input[_builtins.bool]] = None, + force: Optional[pulumi.Input[_builtins.bool]] = None, + instance_category: Optional[pulumi.Input[_builtins.str]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + kibana_configuration: Optional[pulumi.Input[Union['InstanceKibanaConfigurationArgs', 'InstanceKibanaConfigurationArgsDict']]] = None, kibana_node_spec: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, kibana_private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kibana_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + master_configuration: Optional[pulumi.Input[Union['InstanceMasterConfigurationArgs', 'InstanceMasterConfigurationArgsDict']]] = None, master_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, master_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + order_action_type: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, protocol: Optional[pulumi.Input[_builtins.str]] = None, @@ -1579,9 +2218,11 @@ def _internal_init(__self__, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, setting_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + update_strategy: Optional[pulumi.Input[_builtins.str]] = None, version: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, warm_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + warm_node_configuration: Optional[pulumi.Input[Union['InstanceWarmNodeConfigurationArgs', 'InstanceWarmNodeConfigurationArgsDict']]] = None, warm_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, warm_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, warm_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1598,35 +2239,35 @@ def _internal_init(__self__, __props__.__dict__["auto_renew_duration"] = auto_renew_duration __props__.__dict__["client_node_amount"] = client_node_amount + __props__.__dict__["client_node_configuration"] = client_node_configuration __props__.__dict__["client_node_spec"] = client_node_spec - if data_node_amount is None and not opts.urn: - raise TypeError("Missing required property 'data_node_amount'") __props__.__dict__["data_node_amount"] = data_node_amount + __props__.__dict__["data_node_configuration"] = data_node_configuration __props__.__dict__["data_node_disk_encrypted"] = data_node_disk_encrypted __props__.__dict__["data_node_disk_performance_level"] = data_node_disk_performance_level - if data_node_disk_size is None and not opts.urn: - raise TypeError("Missing required property 'data_node_disk_size'") __props__.__dict__["data_node_disk_size"] = data_node_disk_size - if data_node_disk_type is None and not opts.urn: - raise TypeError("Missing required property 'data_node_disk_type'") __props__.__dict__["data_node_disk_type"] = data_node_disk_type - if data_node_spec is None and not opts.urn: - raise TypeError("Missing required property 'data_node_spec'") __props__.__dict__["data_node_spec"] = data_node_spec __props__.__dict__["description"] = description __props__.__dict__["enable_kibana_private_network"] = enable_kibana_private_network __props__.__dict__["enable_kibana_public_network"] = enable_kibana_public_network __props__.__dict__["enable_public"] = enable_public + __props__.__dict__["force"] = force + __props__.__dict__["instance_category"] = instance_category __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["kibana_configuration"] = kibana_configuration __props__.__dict__["kibana_node_spec"] = kibana_node_spec __props__.__dict__["kibana_private_security_group_id"] = kibana_private_security_group_id __props__.__dict__["kibana_private_whitelists"] = kibana_private_whitelists __props__.__dict__["kibana_whitelists"] = kibana_whitelists __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["master_configuration"] = master_configuration __props__.__dict__["master_node_disk_type"] = master_node_disk_type __props__.__dict__["master_node_spec"] = master_node_spec + __props__.__dict__["order_action_type"] = order_action_type __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period __props__.__dict__["private_whitelists"] = private_whitelists __props__.__dict__["protocol"] = protocol @@ -1636,6 +2277,7 @@ def _internal_init(__self__, __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["setting_config"] = setting_config __props__.__dict__["tags"] = tags + __props__.__dict__["update_strategy"] = update_strategy if version is None and not opts.urn: raise TypeError("Missing required property 'version'") __props__.__dict__["version"] = version @@ -1643,11 +2285,14 @@ def _internal_init(__self__, raise TypeError("Missing required property 'vswitch_id'") __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["warm_node_amount"] = warm_node_amount + __props__.__dict__["warm_node_configuration"] = warm_node_configuration __props__.__dict__["warm_node_disk_encrypted"] = warm_node_disk_encrypted __props__.__dict__["warm_node_disk_size"] = warm_node_disk_size __props__.__dict__["warm_node_disk_type"] = warm_node_disk_type __props__.__dict__["warm_node_spec"] = warm_node_spec __props__.__dict__["zone_count"] = zone_count + __props__.__dict__["arch_type"] = None + __props__.__dict__["create_time"] = None __props__.__dict__["domain"] = None __props__.__dict__["kibana_domain"] = None __props__.__dict__["kibana_port"] = None @@ -1667,10 +2312,14 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + arch_type: Optional[pulumi.Input[_builtins.str]] = None, auto_renew_duration: Optional[pulumi.Input[_builtins.int]] = None, client_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + client_node_configuration: Optional[pulumi.Input[Union['InstanceClientNodeConfigurationArgs', 'InstanceClientNodeConfigurationArgsDict']]] = None, client_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, data_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + data_node_configuration: Optional[pulumi.Input[Union['InstanceDataNodeConfigurationArgs', 'InstanceDataNodeConfigurationArgsDict']]] = None, data_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, data_node_disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, data_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, @@ -1681,7 +2330,10 @@ def get(resource_name: str, enable_kibana_private_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_kibana_public_network: Optional[pulumi.Input[_builtins.bool]] = None, enable_public: Optional[pulumi.Input[_builtins.bool]] = None, + force: Optional[pulumi.Input[_builtins.bool]] = None, + instance_category: Optional[pulumi.Input[_builtins.str]] = None, instance_charge_type: Optional[pulumi.Input[_builtins.str]] = None, + kibana_configuration: Optional[pulumi.Input[Union['InstanceKibanaConfigurationArgs', 'InstanceKibanaConfigurationArgsDict']]] = None, kibana_domain: Optional[pulumi.Input[_builtins.str]] = None, kibana_node_spec: Optional[pulumi.Input[_builtins.str]] = None, kibana_port: Optional[pulumi.Input[_builtins.int]] = None, @@ -1690,9 +2342,12 @@ def get(resource_name: str, kibana_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + master_configuration: Optional[pulumi.Input[Union['InstanceMasterConfigurationArgs', 'InstanceMasterConfigurationArgsDict']]] = None, master_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, master_node_spec: Optional[pulumi.Input[_builtins.str]] = None, + order_action_type: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, period: Optional[pulumi.Input[_builtins.int]] = None, port: Optional[pulumi.Input[_builtins.int]] = None, private_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, @@ -1706,9 +2361,11 @@ def get(resource_name: str, setting_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + update_strategy: Optional[pulumi.Input[_builtins.str]] = None, version: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, warm_node_amount: Optional[pulumi.Input[_builtins.int]] = None, + warm_node_configuration: Optional[pulumi.Input[Union['InstanceWarmNodeConfigurationArgs', 'InstanceWarmNodeConfigurationArgsDict']]] = None, warm_node_disk_encrypted: Optional[pulumi.Input[_builtins.bool]] = None, warm_node_disk_size: Optional[pulumi.Input[_builtins.int]] = None, warm_node_disk_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1721,62 +2378,85 @@ 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[_builtins.int] auto_renew_duration: Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + :param pulumi.Input[_builtins.str] arch_type: Schema Type: + :param pulumi.Input[_builtins.int] auto_renew_duration: Renewal Period :param pulumi.Input[_builtins.int] client_node_amount: The Elasticsearch cluster's client node quantity, between 2 and 25. + :param pulumi.Input[Union['InstanceClientNodeConfigurationArgs', 'InstanceClientNodeConfigurationArgsDict']] client_node_configuration: Elasticsearch cluster coordination node configuration See `client_node_configuration` below. :param pulumi.Input[_builtins.str] client_node_spec: The client node spec. If specified, client node will be created. + :param pulumi.Input[_builtins.str] create_time: Instance creation time :param pulumi.Input[_builtins.int] data_node_amount: The Elasticsearch cluster's data node quantity, between 2 and 50. + :param pulumi.Input[Union['InstanceDataNodeConfigurationArgs', 'InstanceDataNodeConfigurationArgsDict']] data_node_configuration: Elasticsearch data node information See `data_node_configuration` below. :param pulumi.Input[_builtins.bool] data_node_disk_encrypted: If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.str] data_node_disk_performance_level: Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. :param pulumi.Input[_builtins.int] data_node_disk_size: The single data node storage space. :param pulumi.Input[_builtins.str] data_node_disk_type: The data node disk type. Supported values: cloud_ssd, cloud_efficiency. :param pulumi.Input[_builtins.str] data_node_spec: The data node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.str] description: The description of instance. It a string of 0 to 30 characters. - :param pulumi.Input[_builtins.str] domain: Instance connection domain (only VPC network access supported). - :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Bool, default to false. When it set to true, the instance can close kibana private network access。 - :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Bool, default to true. When it set to false, the instance can enable kibana public network access。 - :param pulumi.Input[_builtins.bool] enable_public: Bool, default to false. When it set to true, the instance can enable public network access。 + :param pulumi.Input[_builtins.str] description: Instance name + :param pulumi.Input[_builtins.str] domain: Elasticsearch cluster private domain name + :param pulumi.Input[_builtins.bool] enable_kibana_private_network: Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.bool] enable_kibana_public_network: Does Kibana enable public access + :param pulumi.Input[_builtins.bool] enable_public: Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. + :param pulumi.Input[_builtins.str] instance_category: Version type. :param pulumi.Input[_builtins.str] instance_charge_type: Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. - :param pulumi.Input[_builtins.str] kibana_domain: Kibana console domain (Internet access supported). + :param pulumi.Input[Union['InstanceKibanaConfigurationArgs', 'InstanceKibanaConfigurationArgsDict']] kibana_configuration: Elasticsearch Kibana node settings See `kibana_configuration` below. + :param pulumi.Input[_builtins.str] kibana_domain: Kibana address :param pulumi.Input[_builtins.str] kibana_node_spec: The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. - :param pulumi.Input[_builtins.int] kibana_port: Kibana console port. - :param pulumi.Input[_builtins.str] kibana_private_security_group_id: the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Set the Kibana's IP whitelist in internet network. + :param pulumi.Input[_builtins.int] kibana_port: The port assigned by the Kibana node. + :param pulumi.Input[_builtins.str] kibana_private_security_group_id: Kibana private network security group ID + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_private_whitelists: Cluster Kibana node private network access whitelist + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] kibana_whitelists: Kibana private network access whitelist :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to an instance. If the `password` is filled in, this field will be ignored, but you have to specify one of `password` and `kms_encrypted_password` fields. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating instance with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[Union['InstanceMasterConfigurationArgs', 'InstanceMasterConfigurationArgsDict']] master_configuration: Elasticsearch proprietary master node configuration information See `master_configuration` below. :param pulumi.Input[_builtins.str] master_node_disk_type: The single master node storage space. Valid values are `PrePaid`, `PostPaid`. :param pulumi.Input[_builtins.str] master_node_spec: The dedicated master node spec. If specified, dedicated master node will be created. - :param pulumi.Input[_builtins.str] password: The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). - :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + :param pulumi.Input[_builtins.str] password: The access password of the instance. + :param pulumi.Input[_builtins.str] payment_type: The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + :param pulumi.Input[_builtins.int] period: The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. :param pulumi.Input[_builtins.int] port: Instance connection port. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Set the instance's IP whitelist in VPC network. - :param pulumi.Input[_builtins.str] protocol: Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. - :param pulumi.Input[_builtins.str] public_domain: Instance connection public domain. - :param pulumi.Input[_builtins.int] public_port: Instance connection public port. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Set the instance's IP whitelist in internet network. - :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. - :param pulumi.Input[_builtins.str] renewal_duration_unit: Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. - :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the Elasticsearch instance belongs. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). - :param pulumi.Input[_builtins.str] status: The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: A mapping of tags to assign to the resource. - :param pulumi.Input[_builtins.str] version: Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] private_whitelists: Elasticsearch private network whitelist. (Same as EsIpWhitelist) + :param pulumi.Input[_builtins.str] protocol: Access protocol. Optional values: `HTTP` and **HTTPS * *. + :param pulumi.Input[_builtins.str] public_domain: The public network address of the current instance. + :param pulumi.Input[_builtins.int] public_port: Elasticsearch cluster public network access port + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] public_whitelists: Elasticseach public network access whitelist IP list + :param pulumi.Input[_builtins.str] renew_status: Renewal Status + :param pulumi.Input[_builtins.str] renewal_duration_unit: Renewal Period Unit + :param pulumi.Input[_builtins.str] resource_group_id: Resource group to which the instance belongs + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] setting_config: Configuration information + :param pulumi.Input[_builtins.str] status: Instance change status + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Collection of tag key-value pairs + :param pulumi.Input[_builtins.str] version: Instance version :param pulumi.Input[_builtins.str] vswitch_id: The ID of VSwitch. :param pulumi.Input[_builtins.int] warm_node_amount: The Elasticsearch cluster's warm node quantity, between 3 and 50. + :param pulumi.Input[Union['InstanceWarmNodeConfigurationArgs', 'InstanceWarmNodeConfigurationArgsDict']] warm_node_configuration: Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. :param pulumi.Input[_builtins.bool] warm_node_disk_encrypted: If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. :param pulumi.Input[_builtins.int] warm_node_disk_size: The single warm node storage space, should between 500 and 20480 :param pulumi.Input[_builtins.str] warm_node_disk_type: The warm node disk type. Supported values: cloud_efficiency. :param pulumi.Input[_builtins.str] warm_node_spec: The warm node specifications of the Elasticsearch instance. - :param pulumi.Input[_builtins.int] zone_count: The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + :param pulumi.Input[_builtins.int] zone_count: The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _InstanceState.__new__(_InstanceState) + __props__.__dict__["arch_type"] = arch_type __props__.__dict__["auto_renew_duration"] = auto_renew_duration __props__.__dict__["client_node_amount"] = client_node_amount + __props__.__dict__["client_node_configuration"] = client_node_configuration __props__.__dict__["client_node_spec"] = client_node_spec + __props__.__dict__["create_time"] = create_time __props__.__dict__["data_node_amount"] = data_node_amount + __props__.__dict__["data_node_configuration"] = data_node_configuration __props__.__dict__["data_node_disk_encrypted"] = data_node_disk_encrypted __props__.__dict__["data_node_disk_performance_level"] = data_node_disk_performance_level __props__.__dict__["data_node_disk_size"] = data_node_disk_size @@ -1787,7 +2467,10 @@ def get(resource_name: str, __props__.__dict__["enable_kibana_private_network"] = enable_kibana_private_network __props__.__dict__["enable_kibana_public_network"] = enable_kibana_public_network __props__.__dict__["enable_public"] = enable_public + __props__.__dict__["force"] = force + __props__.__dict__["instance_category"] = instance_category __props__.__dict__["instance_charge_type"] = instance_charge_type + __props__.__dict__["kibana_configuration"] = kibana_configuration __props__.__dict__["kibana_domain"] = kibana_domain __props__.__dict__["kibana_node_spec"] = kibana_node_spec __props__.__dict__["kibana_port"] = kibana_port @@ -1796,9 +2479,12 @@ def get(resource_name: str, __props__.__dict__["kibana_whitelists"] = kibana_whitelists __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["master_configuration"] = master_configuration __props__.__dict__["master_node_disk_type"] = master_node_disk_type __props__.__dict__["master_node_spec"] = master_node_spec + __props__.__dict__["order_action_type"] = order_action_type __props__.__dict__["password"] = password + __props__.__dict__["payment_type"] = payment_type __props__.__dict__["period"] = period __props__.__dict__["port"] = port __props__.__dict__["private_whitelists"] = private_whitelists @@ -1812,9 +2498,11 @@ def get(resource_name: str, __props__.__dict__["setting_config"] = setting_config __props__.__dict__["status"] = status __props__.__dict__["tags"] = tags + __props__.__dict__["update_strategy"] = update_strategy __props__.__dict__["version"] = version __props__.__dict__["vswitch_id"] = vswitch_id __props__.__dict__["warm_node_amount"] = warm_node_amount + __props__.__dict__["warm_node_configuration"] = warm_node_configuration __props__.__dict__["warm_node_disk_encrypted"] = warm_node_disk_encrypted __props__.__dict__["warm_node_disk_size"] = warm_node_disk_size __props__.__dict__["warm_node_disk_type"] = warm_node_disk_type @@ -1822,41 +2510,77 @@ def get(resource_name: str, __props__.__dict__["zone_count"] = zone_count return Instance(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="archType") + def arch_type(self) -> pulumi.Output[_builtins.str]: + """ + Schema Type: + """ + return pulumi.get(self, "arch_type") + @_builtins.property @pulumi.getter(name="autoRenewDuration") def auto_renew_duration(self) -> pulumi.Output[Optional[_builtins.int]]: """ - Auto-renewal period of an Elasticsearch Instance, in the unit of the month. It is valid when `instance_charge_type` is `PrePaid` and `renew_status` is `AutoRenewal`. + Renewal Period """ return pulumi.get(self, "auto_renew_duration") @_builtins.property @pulumi.getter(name="clientNodeAmount") - def client_node_amount(self) -> pulumi.Output[Optional[_builtins.int]]: + @_utilities.deprecated("""Field 'client_node_amount' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.amount' instead.""") + def client_node_amount(self) -> pulumi.Output[_builtins.int]: """ The Elasticsearch cluster's client node quantity, between 2 and 25. """ return pulumi.get(self, "client_node_amount") + @_builtins.property + @pulumi.getter(name="clientNodeConfiguration") + def client_node_configuration(self) -> pulumi.Output['outputs.InstanceClientNodeConfiguration']: + """ + Elasticsearch cluster coordination node configuration See `client_node_configuration` below. + """ + return pulumi.get(self, "client_node_configuration") + @_builtins.property @pulumi.getter(name="clientNodeSpec") - def client_node_spec(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'client_node_spec' has been deprecated since provider version 1.262.0. New field 'client_node_configuration.spec' instead.""") + def client_node_spec(self) -> pulumi.Output[_builtins.str]: """ The client node spec. If specified, client node will be created. """ return pulumi.get(self, "client_node_spec") + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + Instance creation time + """ + return pulumi.get(self, "create_time") + @_builtins.property @pulumi.getter(name="dataNodeAmount") + @_utilities.deprecated("""Field 'data_node_amount' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.amount' instead.""") def data_node_amount(self) -> pulumi.Output[_builtins.int]: """ The Elasticsearch cluster's data node quantity, between 2 and 50. """ return pulumi.get(self, "data_node_amount") + @_builtins.property + @pulumi.getter(name="dataNodeConfiguration") + def data_node_configuration(self) -> pulumi.Output['outputs.InstanceDataNodeConfiguration']: + """ + Elasticsearch data node information See `data_node_configuration` below. + """ + return pulumi.get(self, "data_node_configuration") + @_builtins.property @pulumi.getter(name="dataNodeDiskEncrypted") - def data_node_disk_encrypted(self) -> pulumi.Output[Optional[_builtins.bool]]: + @_utilities.deprecated("""Field 'data_node_disk_encrypted' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_encrypted' instead.""") + def data_node_disk_encrypted(self) -> pulumi.Output[_builtins.bool]: """ If encrypt the data node disk. Valid values are `true`, `false`. Default to `false`. """ @@ -1864,7 +2588,8 @@ def data_node_disk_encrypted(self) -> pulumi.Output[Optional[_builtins.bool]]: @_builtins.property @pulumi.getter(name="dataNodeDiskPerformanceLevel") - def data_node_disk_performance_level(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'data_node_disk_performance_level' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.performance_level' instead.""") + def data_node_disk_performance_level(self) -> pulumi.Output[_builtins.str]: """ Cloud disk performance level. Valid values are `PL0`, `PL1`, `PL2`, `PL3`. The `data_node_disk_type` muse be `cloud_essd`. """ @@ -1872,6 +2597,7 @@ def data_node_disk_performance_level(self) -> pulumi.Output[Optional[_builtins.s @_builtins.property @pulumi.getter(name="dataNodeDiskSize") + @_utilities.deprecated("""Field 'data_node_disk_size' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk' instead.""") def data_node_disk_size(self) -> pulumi.Output[_builtins.int]: """ The single data node storage space. @@ -1880,6 +2606,7 @@ def data_node_disk_size(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="dataNodeDiskType") + @_utilities.deprecated("""Field 'data_node_disk_type' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.disk_type' instead.""") def data_node_disk_type(self) -> pulumi.Output[_builtins.str]: """ The data node disk type. Supported values: cloud_ssd, cloud_efficiency. @@ -1888,6 +2615,7 @@ def data_node_disk_type(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="dataNodeSpec") + @_utilities.deprecated("""Field 'data_node_spec' has been deprecated since provider version 1.262.0. New field 'data_node_configuration.spec' instead.""") def data_node_spec(self) -> pulumi.Output[_builtins.str]: """ The data node specifications of the Elasticsearch instance. @@ -1898,7 +2626,7 @@ def data_node_spec(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def description(self) -> pulumi.Output[_builtins.str]: """ - The description of instance. It a string of 0 to 30 characters. + Instance name """ return pulumi.get(self, "description") @@ -1906,52 +2634,83 @@ def description(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def domain(self) -> pulumi.Output[_builtins.str]: """ - Instance connection domain (only VPC network access supported). + Elasticsearch cluster private domain name """ return pulumi.get(self, "domain") @_builtins.property @pulumi.getter(name="enableKibanaPrivateNetwork") - def enable_kibana_private_network(self) -> pulumi.Output[Optional[_builtins.bool]]: + def enable_kibana_private_network(self) -> pulumi.Output[_builtins.bool]: """ - Bool, default to false. When it set to true, the instance can close kibana private network access。 + Whether to enable Kibana private network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_kibana_private_network") @_builtins.property @pulumi.getter(name="enableKibanaPublicNetwork") - def enable_kibana_public_network(self) -> pulumi.Output[Optional[_builtins.bool]]: + def enable_kibana_public_network(self) -> pulumi.Output[_builtins.bool]: """ - Bool, default to true. When it set to false, the instance can enable kibana public network access。 + Does Kibana enable public access """ return pulumi.get(self, "enable_kibana_public_network") @_builtins.property @pulumi.getter(name="enablePublic") - def enable_public(self) -> pulumi.Output[Optional[_builtins.bool]]: + def enable_public(self) -> pulumi.Output[_builtins.bool]: """ - Bool, default to false. When it set to true, the instance can enable public network access。 + Whether to enable Kibana public network access. + + The meaning of the value is as follows: + - true: On. + - false: does not open. """ return pulumi.get(self, "enable_public") + @_builtins.property + @pulumi.getter + def force(self) -> pulumi.Output[Optional[_builtins.bool]]: + return pulumi.get(self, "force") + + @_builtins.property + @pulumi.getter(name="instanceCategory") + def instance_category(self) -> pulumi.Output[_builtins.str]: + """ + Version type. + """ + return pulumi.get(self, "instance_category") + @_builtins.property @pulumi.getter(name="instanceChargeType") - def instance_charge_type(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'instance_charge_type' has been deprecated since provider version 1.262.0. New field 'payment_type' instead.""") + def instance_charge_type(self) -> pulumi.Output[_builtins.str]: """ Valid values are `PrePaid`, `PostPaid`. Default to `PostPaid`. From version 1.69.0, the Elasticsearch cluster allows you to update your instance_charge_ype from `PostPaid` to `PrePaid`, the following attributes are required: `period`. """ return pulumi.get(self, "instance_charge_type") + @_builtins.property + @pulumi.getter(name="kibanaConfiguration") + def kibana_configuration(self) -> pulumi.Output['outputs.InstanceKibanaConfiguration']: + """ + Elasticsearch Kibana node settings See `kibana_configuration` below. + """ + return pulumi.get(self, "kibana_configuration") + @_builtins.property @pulumi.getter(name="kibanaDomain") def kibana_domain(self) -> pulumi.Output[_builtins.str]: """ - Kibana console domain (Internet access supported). + Kibana address """ return pulumi.get(self, "kibana_domain") @_builtins.property @pulumi.getter(name="kibanaNodeSpec") + @_utilities.deprecated("""Field 'kibana_node_spec' has been deprecated since provider version 1.262.0. New field 'kibana_configuration.spec' instead.""") def kibana_node_spec(self) -> pulumi.Output[_builtins.str]: """ The kibana node specifications of the Elasticsearch instance. Default is `elasticsearch.n4.small`. @@ -1962,7 +2721,7 @@ def kibana_node_spec(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="kibanaPort") def kibana_port(self) -> pulumi.Output[_builtins.int]: """ - Kibana console port. + The port assigned by the Kibana node. """ return pulumi.get(self, "kibana_port") @@ -1970,7 +2729,7 @@ def kibana_port(self) -> pulumi.Output[_builtins.int]: @pulumi.getter(name="kibanaPrivateSecurityGroupId") def kibana_private_security_group_id(self) -> pulumi.Output[Optional[_builtins.str]]: """ - the security group id associated with Kibana private network, this param is required when `enable_kibana_private_network` set true, and the security group id should in the same VPC as `vswitch_id` + Kibana private network security group ID """ return pulumi.get(self, "kibana_private_security_group_id") @@ -1978,7 +2737,7 @@ def kibana_private_security_group_id(self) -> pulumi.Output[Optional[_builtins.s @pulumi.getter(name="kibanaPrivateWhitelists") def kibana_private_whitelists(self) -> pulumi.Output[Sequence[_builtins.str]]: """ - Set the Kibana's IP whitelist in private network, This option has been abandoned on newly created instance, please use `kibana_private_security_group_id` instead + Cluster Kibana node private network access whitelist """ return pulumi.get(self, "kibana_private_whitelists") @@ -1986,7 +2745,7 @@ def kibana_private_whitelists(self) -> pulumi.Output[Sequence[_builtins.str]]: @pulumi.getter(name="kibanaWhitelists") def kibana_whitelists(self) -> pulumi.Output[Sequence[_builtins.str]]: """ - Set the Kibana's IP whitelist in internet network. + Kibana private network access whitelist """ return pulumi.get(self, "kibana_whitelists") @@ -2006,9 +2765,18 @@ def kms_encryption_context(self) -> pulumi.Output[Optional[Mapping[str, _builtin """ return pulumi.get(self, "kms_encryption_context") + @_builtins.property + @pulumi.getter(name="masterConfiguration") + def master_configuration(self) -> pulumi.Output['outputs.InstanceMasterConfiguration']: + """ + Elasticsearch proprietary master node configuration information See `master_configuration` below. + """ + return pulumi.get(self, "master_configuration") + @_builtins.property @pulumi.getter(name="masterNodeDiskType") - def master_node_disk_type(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'master_node_disk_type' has been deprecated since provider version 1.262.0. New field 'master_configuration.disk_type' instead.""") + def master_node_disk_type(self) -> pulumi.Output[_builtins.str]: """ The single master node storage space. Valid values are `PrePaid`, `PostPaid`. """ @@ -2016,25 +2784,39 @@ def master_node_disk_type(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter(name="masterNodeSpec") - def master_node_spec(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'master_node_spec' has been deprecated since provider version 1.262.0. New field 'master_configuration.spec' instead.""") + def master_node_spec(self) -> pulumi.Output[_builtins.str]: """ The dedicated master node spec. If specified, dedicated master node will be created. """ return pulumi.get(self, "master_node_spec") + @_builtins.property + @pulumi.getter(name="orderActionType") + def order_action_type(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "order_action_type") + @_builtins.property @pulumi.getter def password(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The password of the instance. The password can be 8 to 30 characters in length and must contain three of the following conditions: uppercase letters, lowercase letters, numbers, and special characters (`!@#$%^&*()_+-=`). + The access password of the instance. """ return pulumi.get(self, "password") + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> pulumi.Output[_builtins.str]: + """ + The payment method of the instance. Optional values: `prepaid` (subscription) and `postpaid` (pay-as-you-go) + """ + return pulumi.get(self, "payment_type") + @_builtins.property @pulumi.getter - def period(self) -> pulumi.Output[Optional[_builtins.int]]: + def period(self) -> pulumi.Output[_builtins.int]: """ - The duration that you will buy Elasticsearch instance (in month). It is valid when instance_charge_type is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. + The duration that you will buy Elasticsearch instance (in month). It is valid when PaymentType is `Subscription`. Valid values: [1~9], 12, 24, 36. Default to 1. From version 1.69.2, when to modify this value, the resource can renewal a `PrePaid` instance. """ return pulumi.get(self, "period") @@ -2050,15 +2832,15 @@ def port(self) -> pulumi.Output[_builtins.int]: @pulumi.getter(name="privateWhitelists") def private_whitelists(self) -> pulumi.Output[Sequence[_builtins.str]]: """ - Set the instance's IP whitelist in VPC network. + Elasticsearch private network whitelist. (Same as EsIpWhitelist) """ return pulumi.get(self, "private_whitelists") @_builtins.property @pulumi.getter - def protocol(self) -> pulumi.Output[Optional[_builtins.str]]: + def protocol(self) -> pulumi.Output[_builtins.str]: """ - Elasticsearch protocol. Supported values: `HTTP`, `HTTPS`.default is `HTTP`. + Access protocol. Optional values: `HTTP` and **HTTPS * *. """ return pulumi.get(self, "protocol") @@ -2066,7 +2848,7 @@ def protocol(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="publicDomain") def public_domain(self) -> pulumi.Output[_builtins.str]: """ - Instance connection public domain. + The public network address of the current instance. """ return pulumi.get(self, "public_domain") @@ -2074,7 +2856,7 @@ def public_domain(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="publicPort") def public_port(self) -> pulumi.Output[_builtins.int]: """ - Instance connection public port. + Elasticsearch cluster public network access port """ return pulumi.get(self, "public_port") @@ -2082,23 +2864,23 @@ def public_port(self) -> pulumi.Output[_builtins.int]: @pulumi.getter(name="publicWhitelists") def public_whitelists(self) -> pulumi.Output[Sequence[_builtins.str]]: """ - Set the instance's IP whitelist in internet network. + Elasticseach public network access whitelist IP list """ return pulumi.get(self, "public_whitelists") @_builtins.property @pulumi.getter(name="renewStatus") - def renew_status(self) -> pulumi.Output[Optional[_builtins.str]]: + def renew_status(self) -> pulumi.Output[_builtins.str]: """ - The renewal status of the specified instance. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`.The `instance_charge_type` must be `PrePaid`. + Renewal Status """ return pulumi.get(self, "renew_status") @_builtins.property @pulumi.getter(name="renewalDurationUnit") - def renewal_duration_unit(self) -> pulumi.Output[Optional[_builtins.str]]: + def renewal_duration_unit(self) -> pulumi.Output[_builtins.str]: """ - Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `M`, `Y`. + Renewal Period Unit """ return pulumi.get(self, "renewal_duration_unit") @@ -2106,7 +2888,7 @@ def renewal_duration_unit(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> pulumi.Output[_builtins.str]: """ - The ID of resource group which the Elasticsearch instance belongs. + Resource group to which the instance belongs """ return pulumi.get(self, "resource_group_id") @@ -2114,7 +2896,7 @@ def resource_group_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="settingConfig") def setting_config(self) -> pulumi.Output[Mapping[str, _builtins.str]]: """ - The YML configuration of the instance.[Detailed introduction](https://www.alibabacloud.com/help/doc-detail/61336.html). + Configuration information """ return pulumi.get(self, "setting_config") @@ -2122,7 +2904,7 @@ def setting_config(self) -> pulumi.Output[Mapping[str, _builtins.str]]: @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: """ - The Elasticsearch instance status. Includes `active`, `activating`, `inactive`. Some operations are denied when status is not `active`. + Instance change status """ return pulumi.get(self, "status") @@ -2130,15 +2912,20 @@ def status(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: """ - A mapping of tags to assign to the resource. + Collection of tag key-value pairs """ return pulumi.get(self, "tags") + @_builtins.property + @pulumi.getter(name="updateStrategy") + def update_strategy(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "update_strategy") + @_builtins.property @pulumi.getter def version(self) -> pulumi.Output[_builtins.str]: """ - Elasticsearch version. Supported values: `5.5.3_with_X-Pack`, `6.3_with_X-Pack`, `6.7_with_X-Pack`, `6.8_with_X-Pack`, `7.4_with_X-Pack` , `7.7_with_X-Pack`, `7.10_with_X-Pack`, `7.16_with_X-Pack`, `8.5_with_X-Pack`, `8.9_with_X-Pack`, `8.13_with_X-Pack`. + Instance version """ return pulumi.get(self, "version") @@ -2152,15 +2939,25 @@ def vswitch_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="warmNodeAmount") - def warm_node_amount(self) -> pulumi.Output[Optional[_builtins.int]]: + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.amount' instead.""") + def warm_node_amount(self) -> pulumi.Output[_builtins.int]: """ The Elasticsearch cluster's warm node quantity, between 3 and 50. """ return pulumi.get(self, "warm_node_amount") + @_builtins.property + @pulumi.getter(name="warmNodeConfiguration") + def warm_node_configuration(self) -> pulumi.Output['outputs.InstanceWarmNodeConfiguration']: + """ + Elasticsearch cluster cold data node configuration See `warm_node_configuration` below. + """ + return pulumi.get(self, "warm_node_configuration") + @_builtins.property @pulumi.getter(name="warmNodeDiskEncrypted") - def warm_node_disk_encrypted(self) -> pulumi.Output[Optional[_builtins.bool]]: + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_encrypted' instead.""") + def warm_node_disk_encrypted(self) -> pulumi.Output[_builtins.bool]: """ If encrypt the warm node disk. Valid values are `true`, `false`. Default to `false`. """ @@ -2168,7 +2965,8 @@ def warm_node_disk_encrypted(self) -> pulumi.Output[Optional[_builtins.bool]]: @_builtins.property @pulumi.getter(name="warmNodeDiskSize") - def warm_node_disk_size(self) -> pulumi.Output[Optional[_builtins.int]]: + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk' instead.""") + def warm_node_disk_size(self) -> pulumi.Output[_builtins.int]: """ The single warm node storage space, should between 500 and 20480 """ @@ -2176,7 +2974,8 @@ def warm_node_disk_size(self) -> pulumi.Output[Optional[_builtins.int]]: @_builtins.property @pulumi.getter(name="warmNodeDiskType") - def warm_node_disk_type(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.disk_type' instead.""") + def warm_node_disk_type(self) -> pulumi.Output[_builtins.str]: """ The warm node disk type. Supported values: cloud_efficiency. """ @@ -2184,7 +2983,8 @@ def warm_node_disk_type(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter(name="warmNodeSpec") - def warm_node_spec(self) -> pulumi.Output[Optional[_builtins.str]]: + @_utilities.deprecated("""Field 'warm_node_amount' has been deprecated since provider version 1.262.0. New field 'warm_node_configuration.spec' instead.""") + def warm_node_spec(self) -> pulumi.Output[_builtins.str]: """ The warm node specifications of the Elasticsearch instance. """ @@ -2192,9 +2992,11 @@ def warm_node_spec(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter(name="zoneCount") - def zone_count(self) -> pulumi.Output[Optional[_builtins.int]]: + def zone_count(self) -> pulumi.Output[_builtins.int]: """ - The Multi-AZ supported for Elasticsearch, between 1 and 3. The `data_node_amount` value must be an integral multiple of the `zone_count` value. + The number of zones in the Elasticsearch instance. + + The following arguments will be discarded. Please use new fields as soon as possible: """ return pulumi.get(self, "zone_count") diff --git a/sdk/python/pulumi_alicloud/elasticsearch/outputs.py b/sdk/python/pulumi_alicloud/elasticsearch/outputs.py index ad7062744d..acdcaaae1f 100644 --- a/sdk/python/pulumi_alicloud/elasticsearch/outputs.py +++ b/sdk/python/pulumi_alicloud/elasticsearch/outputs.py @@ -15,10 +15,386 @@ from .. import _utilities __all__ = [ + 'InstanceClientNodeConfiguration', + 'InstanceDataNodeConfiguration', + 'InstanceKibanaConfiguration', + 'InstanceMasterConfiguration', + 'InstanceWarmNodeConfiguration', 'GetInstancesInstanceResult', 'GetZonesZoneResult', ] +@pulumi.output_type +class InstanceClientNodeConfiguration(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 InstanceClientNodeConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceClientNodeConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceClientNodeConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amount: Optional[_builtins.int] = None, + disk: Optional[_builtins.int] = None, + disk_type: Optional[_builtins.str] = None, + spec: Optional[_builtins.str] = None): + """ + :param _builtins.int amount: Number of disks in the Elasticsearch cluster coordination node + :param _builtins.int disk: Elasticsearch cluster coordinates node disk size + :param _builtins.str disk_type: Elasticsearch cluster coordination node disk type + :param _builtins.str spec: Elasticsearch cluster coordination node specification + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[_builtins.int]: + """ + Number of disks in the Elasticsearch cluster coordination node + """ + return pulumi.get(self, "amount") + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[_builtins.int]: + """ + Elasticsearch cluster coordinates node disk size + """ + return pulumi.get(self, "disk") + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster coordination node disk type + """ + return pulumi.get(self, "disk_type") + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster coordination node specification + """ + return pulumi.get(self, "spec") + + +@pulumi.output_type +class InstanceDataNodeConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryption": + suggest = "disk_encryption" + elif key == "diskType": + suggest = "disk_type" + elif key == "performanceLevel": + suggest = "performance_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceDataNodeConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceDataNodeConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceDataNodeConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + spec: _builtins.str, + amount: Optional[_builtins.int] = None, + disk: Optional[_builtins.int] = None, + disk_encryption: Optional[_builtins.bool] = None, + disk_type: Optional[_builtins.str] = None, + performance_level: Optional[_builtins.str] = None): + """ + :param _builtins.str spec: Elasticsearch data node specification + :param _builtins.int amount: Number of data nodes in the Elasticsearch cluster + :param _builtins.int disk: Elasticsearch data node disk size + :param _builtins.bool disk_encryption: Whether the Elasticsearch data node disk is encrypted + :param _builtins.str disk_type: Elasticsearch cluster data node disk type + :param _builtins.str performance_level: Elasticsearch cluster data node Essd disk level + """ + pulumi.set(__self__, "spec", spec) + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_encryption is not None: + pulumi.set(__self__, "disk_encryption", disk_encryption) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if performance_level is not None: + pulumi.set(__self__, "performance_level", performance_level) + + @_builtins.property + @pulumi.getter + def spec(self) -> _builtins.str: + """ + Elasticsearch data node specification + """ + return pulumi.get(self, "spec") + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[_builtins.int]: + """ + Number of data nodes in the Elasticsearch cluster + """ + return pulumi.get(self, "amount") + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[_builtins.int]: + """ + Elasticsearch data node disk size + """ + return pulumi.get(self, "disk") + + @_builtins.property + @pulumi.getter(name="diskEncryption") + def disk_encryption(self) -> Optional[_builtins.bool]: + """ + Whether the Elasticsearch data node disk is encrypted + """ + return pulumi.get(self, "disk_encryption") + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster data node disk type + """ + return pulumi.get(self, "disk_type") + + @_builtins.property + @pulumi.getter(name="performanceLevel") + def performance_level(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster data node Essd disk level + """ + return pulumi.get(self, "performance_level") + + +@pulumi.output_type +class InstanceKibanaConfiguration(dict): + def __init__(__self__, *, + spec: _builtins.str, + amount: Optional[_builtins.int] = None, + disk: Optional[_builtins.int] = None): + """ + :param _builtins.str spec: Elasticsearch Kibana node disk specifications + :param _builtins.int amount: The number of disks of the Elasticsearch Kibana node. The default value is 1. + :param _builtins.int disk: Elasticsearch Kibana node disk size + """ + pulumi.set(__self__, "spec", spec) + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + + @_builtins.property + @pulumi.getter + def spec(self) -> _builtins.str: + """ + Elasticsearch Kibana node disk specifications + """ + return pulumi.get(self, "spec") + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[_builtins.int]: + """ + The number of disks of the Elasticsearch Kibana node. The default value is 1. + """ + return pulumi.get(self, "amount") + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[_builtins.int]: + """ + Elasticsearch Kibana node disk size + """ + return pulumi.get(self, "disk") + + +@pulumi.output_type +class InstanceMasterConfiguration(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 InstanceMasterConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceMasterConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceMasterConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amount: Optional[_builtins.int] = None, + disk: Optional[_builtins.int] = None, + disk_type: Optional[_builtins.str] = None, + spec: Optional[_builtins.str] = None): + """ + :param _builtins.int amount: Elasticsearch proprietary master node number of disks + :param _builtins.int disk: Elasticsearch proprietary master node disk size + :param _builtins.str disk_type: Elasticsearch proprietary master node disk type + :param _builtins.str spec: Elasticsearch proprietary master node specifications + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[_builtins.int]: + """ + Elasticsearch proprietary master node number of disks + """ + return pulumi.get(self, "amount") + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[_builtins.int]: + """ + Elasticsearch proprietary master node disk size + """ + return pulumi.get(self, "disk") + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[_builtins.str]: + """ + Elasticsearch proprietary master node disk type + """ + return pulumi.get(self, "disk_type") + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[_builtins.str]: + """ + Elasticsearch proprietary master node specifications + """ + return pulumi.get(self, "spec") + + +@pulumi.output_type +class InstanceWarmNodeConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskEncryption": + suggest = "disk_encryption" + elif key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceWarmNodeConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceWarmNodeConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceWarmNodeConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + amount: Optional[_builtins.int] = None, + disk: Optional[_builtins.int] = None, + disk_encryption: Optional[_builtins.bool] = None, + disk_type: Optional[_builtins.str] = None, + spec: Optional[_builtins.str] = None): + """ + :param _builtins.int amount: Elasticsearch cluster cold data node disk number + :param _builtins.int disk: Elasticsearch cluster cold data node disk size + :param _builtins.bool disk_encryption: Elasticsearch cluster cold data node Disk encryption + :param _builtins.str disk_type: Elasticsearch cluster cold data node disk type + :param _builtins.str spec: Elasticsearch cluster cold data node Disk Specification + """ + if amount is not None: + pulumi.set(__self__, "amount", amount) + if disk is not None: + pulumi.set(__self__, "disk", disk) + if disk_encryption is not None: + pulumi.set(__self__, "disk_encryption", disk_encryption) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if spec is not None: + pulumi.set(__self__, "spec", spec) + + @_builtins.property + @pulumi.getter + def amount(self) -> Optional[_builtins.int]: + """ + Elasticsearch cluster cold data node disk number + """ + return pulumi.get(self, "amount") + + @_builtins.property + @pulumi.getter + def disk(self) -> Optional[_builtins.int]: + """ + Elasticsearch cluster cold data node disk size + """ + return pulumi.get(self, "disk") + + @_builtins.property + @pulumi.getter(name="diskEncryption") + def disk_encryption(self) -> Optional[_builtins.bool]: + """ + Elasticsearch cluster cold data node Disk encryption + """ + return pulumi.get(self, "disk_encryption") + + @_builtins.property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster cold data node disk type + """ + return pulumi.get(self, "disk_type") + + @_builtins.property + @pulumi.getter + def spec(self) -> Optional[_builtins.str]: + """ + Elasticsearch cluster cold data node Disk Specification + """ + return pulumi.get(self, "spec") + + @pulumi.output_type class GetInstancesInstanceResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/emr/cluster.py b/sdk/python/pulumi_alicloud/emr/cluster.py index e23402fb5b..76ee364195 100644 --- a/sdk/python/pulumi_alicloud/emr/cluster.py +++ b/sdk/python/pulumi_alicloud/emr/cluster.py @@ -1385,6 +1385,8 @@ def __init__(__self__, related_cluster_id=related_cluster_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aliclioud E-MapReduce cluster can be imported using the id e.g. @@ -1885,6 +1887,8 @@ def __init__(__self__, related_cluster_id=related_cluster_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/python/pulumi_alicloud/emrv2/cluster.py b/sdk/python/pulumi_alicloud/emrv2/cluster.py index 734faa49ab..aa3ca21e79 100644 --- a/sdk/python/pulumi_alicloud/emrv2/cluster.py +++ b/sdk/python/pulumi_alicloud/emrv2/cluster.py @@ -696,6 +696,8 @@ def __init__(__self__, cluster_type="DATAFLOW") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aliclioud E-MapReduce cluster can be imported using the id e.g. @@ -862,6 +864,8 @@ def __init__(__self__, cluster_type="DATAFLOW") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Aliclioud E-MapReduce cluster can be imported using the id e.g. diff --git a/sdk/python/pulumi_alicloud/ens/disk.py b/sdk/python/pulumi_alicloud/ens/disk.py index 74c088510d..308133f0d5 100644 --- a/sdk/python/pulumi_alicloud/ens/disk.py +++ b/sdk/python/pulumi_alicloud/ens/disk.py @@ -409,6 +409,8 @@ def __init__(__self__, ens_region_id="cn-chongqing-11") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Disk can be imported using the id, e.g. @@ -467,6 +469,8 @@ def __init__(__self__, ens_region_id="cn-chongqing-11") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Disk can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/disk_instance_attachment.py b/sdk/python/pulumi_alicloud/ens/disk_instance_attachment.py index 04c8058b7d..edcae12fa0 100644 --- a/sdk/python/pulumi_alicloud/ens/disk_instance_attachment.py +++ b/sdk/python/pulumi_alicloud/ens/disk_instance_attachment.py @@ -182,6 +182,8 @@ def __init__(__self__, disk_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Disk Instance Attachment can be imported using the id, e.g. @@ -248,6 +250,8 @@ def __init__(__self__, disk_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Disk Instance Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/eip.py b/sdk/python/pulumi_alicloud/ens/eip.py index fb43f7c60f..5df7f1366c 100644 --- a/sdk/python/pulumi_alicloud/ens/eip.py +++ b/sdk/python/pulumi_alicloud/ens/eip.py @@ -330,6 +330,8 @@ def __init__(__self__, internet_charge_type="95BandwidthByMonth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Eip can be imported using the id, e.g. @@ -385,6 +387,8 @@ def __init__(__self__, internet_charge_type="95BandwidthByMonth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Eip can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/eip_instance_attachment.py b/sdk/python/pulumi_alicloud/ens/eip_instance_attachment.py index f840b6593b..6a85cf7861 100644 --- a/sdk/python/pulumi_alicloud/ens/eip_instance_attachment.py +++ b/sdk/python/pulumi_alicloud/ens/eip_instance_attachment.py @@ -265,6 +265,8 @@ def __init__(__self__, standby=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ens Eip Instance Attachment can be imported using the id, e.g. @@ -348,6 +350,8 @@ def __init__(__self__, standby=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ens Eip Instance Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/image.py b/sdk/python/pulumi_alicloud/ens/image.py index 57e3975847..36c9d1d1b3 100644 --- a/sdk/python/pulumi_alicloud/ens/image.py +++ b/sdk/python/pulumi_alicloud/ens/image.py @@ -242,6 +242,8 @@ def __init__(__self__, delete_after_image_upload="false") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Image can be imported using the id, e.g. @@ -303,6 +305,8 @@ def __init__(__self__, delete_after_image_upload="false") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Image can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/instance_security_group_attachment.py b/sdk/python/pulumi_alicloud/ens/instance_security_group_attachment.py index 6b3b028467..e38ad93317 100644 --- a/sdk/python/pulumi_alicloud/ens/instance_security_group_attachment.py +++ b/sdk/python/pulumi_alicloud/ens/instance_security_group_attachment.py @@ -148,6 +148,8 @@ def __init__(__self__, security_group_id=default_security_group.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Instance Security Group Attachment can be imported using the id, e.g. @@ -211,6 +213,8 @@ def __init__(__self__, security_group_id=default_security_group.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Instance Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/key_pair.py b/sdk/python/pulumi_alicloud/ens/key_pair.py index 647926ce9c..bec6e87975 100644 --- a/sdk/python/pulumi_alicloud/ens/key_pair.py +++ b/sdk/python/pulumi_alicloud/ens/key_pair.py @@ -127,6 +127,8 @@ def __init__(__self__, version="2017-11-10") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Key Pair can be imported using the id, e.g. @@ -170,6 +172,8 @@ def __init__(__self__, version="2017-11-10") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Key Pair can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/load_balancer.py b/sdk/python/pulumi_alicloud/ens/load_balancer.py index 11fe328c50..c761af1ade 100644 --- a/sdk/python/pulumi_alicloud/ens/load_balancer.py +++ b/sdk/python/pulumi_alicloud/ens/load_balancer.py @@ -340,6 +340,8 @@ def __init__(__self__, network_id=network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Load Balancer can be imported using the id, e.g. @@ -405,6 +407,8 @@ def __init__(__self__, network_id=network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Load Balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/nat_gateway.py b/sdk/python/pulumi_alicloud/ens/nat_gateway.py index bef417574c..6ba46fdb5d 100644 --- a/sdk/python/pulumi_alicloud/ens/nat_gateway.py +++ b/sdk/python/pulumi_alicloud/ens/nat_gateway.py @@ -259,6 +259,8 @@ def __init__(__self__, nat_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Nat Gateway can be imported using the id, e.g. @@ -323,6 +325,8 @@ def __init__(__self__, nat_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Nat Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/network.py b/sdk/python/pulumi_alicloud/ens/network.py index d90fc35e5f..ce6c713558 100644 --- a/sdk/python/pulumi_alicloud/ens/network.py +++ b/sdk/python/pulumi_alicloud/ens/network.py @@ -227,6 +227,8 @@ def __init__(__self__, ens_region_id="cn-chenzhou-telecom_unicom_cmcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Network can be imported using the id, e.g. @@ -274,6 +276,8 @@ def __init__(__self__, ens_region_id="cn-chenzhou-telecom_unicom_cmcc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Network can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/security_group.py b/sdk/python/pulumi_alicloud/ens/security_group.py index c972ba12ca..0b2832e0b2 100644 --- a/sdk/python/pulumi_alicloud/ens/security_group.py +++ b/sdk/python/pulumi_alicloud/ens/security_group.py @@ -129,6 +129,8 @@ def __init__(__self__, security_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Security Group can be imported using the id, e.g. @@ -172,6 +174,8 @@ def __init__(__self__, security_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Security Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/snapshot.py b/sdk/python/pulumi_alicloud/ens/snapshot.py index a32e8471af..a3556fdf42 100644 --- a/sdk/python/pulumi_alicloud/ens/snapshot.py +++ b/sdk/python/pulumi_alicloud/ens/snapshot.py @@ -232,6 +232,8 @@ def __init__(__self__, disk_id=disk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Snapshot can be imported using the id, e.g. @@ -284,6 +286,8 @@ def __init__(__self__, disk_id=disk.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ens/vswitch.py b/sdk/python/pulumi_alicloud/ens/vswitch.py index ae7ee40316..c34941dbe2 100644 --- a/sdk/python/pulumi_alicloud/ens/vswitch.py +++ b/sdk/python/pulumi_alicloud/ens/vswitch.py @@ -266,6 +266,8 @@ def __init__(__self__, network_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Vswitch can be imported using the id, e.g. @@ -320,6 +322,8 @@ def __init__(__self__, network_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENS Vswitch can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/__init__.py b/sdk/python/pulumi_alicloud/esa/__init__.py index 38c121806a..638091e679 100644 --- a/sdk/python/pulumi_alicloud/esa/__init__.py +++ b/sdk/python/pulumi_alicloud/esa/__init__.py @@ -16,6 +16,8 @@ from .edge_container_app import * from .edge_container_app_record import * from .get_sites import * +from .http_incoming_request_header_modification_rule import * +from .http_incoming_response_header_modification_rule import * from .http_request_header_modification_rule import * from .http_response_header_modification_rule import * from .https_application_configuration import * diff --git a/sdk/python/pulumi_alicloud/esa/_inputs.py b/sdk/python/pulumi_alicloud/esa/_inputs.py index e94eba2f41..4a1d038f75 100644 --- a/sdk/python/pulumi_alicloud/esa/_inputs.py +++ b/sdk/python/pulumi_alicloud/esa/_inputs.py @@ -15,6 +15,10 @@ from .. import _utilities __all__ = [ + 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', + 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict', + 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', + 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict', 'HttpRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpRequestHeaderModificationRuleRequestHeaderModificationArgsDict', 'HttpResponseHeaderModificationRuleResponseHeaderModificationArgs', @@ -115,6 +119,186 @@ MYPY = False +if not MYPY: + class HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + """ + Request Header Name. + """ + operation: pulumi.Input[_builtins.str] + """ + Mode of operation. Value range: + """ + type: NotRequired[pulumi.Input[_builtins.str]] + """ + Value type. Value range: + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + Request header value + """ +elif False: + HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + operation: pulumi.Input[_builtins.str], + type: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Request Header Name. + :param pulumi.Input[_builtins.str] operation: Mode of operation. Value range: + :param pulumi.Input[_builtins.str] type: Value type. Value range: + :param pulumi.Input[_builtins.str] value: Request header value + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "operation", operation) + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + """ + Request Header Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def operation(self) -> pulumi.Input[_builtins.str]: + """ + Mode of operation. Value range: + """ + return pulumi.get(self, "operation") + + @operation.setter + def operation(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "operation", value) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Value type. Value range: + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Request header value + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + +if not MYPY: + class HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + """ + The response header name. + """ + operation: pulumi.Input[_builtins.str] + """ + Operation method. Possible values: + """ + type: NotRequired[pulumi.Input[_builtins.str]] + """ + The value type. Value range: + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + The response header value. + """ +elif False: + HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + operation: pulumi.Input[_builtins.str], + type: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: The response header name. + :param pulumi.Input[_builtins.str] operation: Operation method. Possible values: + :param pulumi.Input[_builtins.str] type: The value type. Value range: + :param pulumi.Input[_builtins.str] value: The response header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "operation", operation) + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + """ + The response header name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def operation(self) -> pulumi.Input[_builtins.str]: + """ + Operation method. Possible values: + """ + return pulumi.get(self, "operation") + + @operation.setter + def operation(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "operation", value) + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The value type. Value range: + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The response header value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + if not MYPY: class HttpRequestHeaderModificationRuleRequestHeaderModificationArgsDict(TypedDict): name: pulumi.Input[_builtins.str] @@ -2466,7 +2650,14 @@ class WafRuleConfigArgsDict(TypedDict): """ security_level: NotRequired[pulumi.Input['WafRuleConfigSecurityLevelArgsDict']] """ - The overall security protection level of WAF. See `security_level` below. + The overall security protection level of WAF. + Valid values: + - off + - essentially_off + - low + - medium + - high + - under_attack See `security_level` below. """ sigchls: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] """ @@ -2525,7 +2716,14 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] name: The package name of an authorized application. :param pulumi.Input[_builtins.str] notes: Additional notes about this rule. :param pulumi.Input['WafRuleConfigRateLimitArgs'] rate_limit: Configuration of the rate limiting rule. See `rate_limit` below. - :param pulumi.Input['WafRuleConfigSecurityLevelArgs'] security_level: The overall security protection level of WAF. See `security_level` below. + :param pulumi.Input['WafRuleConfigSecurityLevelArgs'] security_level: The overall security protection level of WAF. + Valid values: + - off + - essentially_off + - low + - medium + - high + - under_attack See `security_level` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sigchls: Configuration items for token verification mechanisms. :param pulumi.Input[_builtins.str] status: The status of the managed rule: whether it is enabled or disabled. :param pulumi.Input['WafRuleConfigTimerArgs'] timer: Configuration for the time schedule when the rule takes effect. See `timer` below. @@ -2717,7 +2915,14 @@ def rate_limit(self, value: Optional[pulumi.Input['WafRuleConfigRateLimitArgs']] @pulumi.getter(name="securityLevel") def security_level(self) -> Optional[pulumi.Input['WafRuleConfigSecurityLevelArgs']]: """ - The overall security protection level of WAF. See `security_level` below. + The overall security protection level of WAF. + Valid values: + - off + - essentially_off + - low + - medium + - high + - under_attack See `security_level` below. """ return pulumi.get(self, "security_level") diff --git a/sdk/python/pulumi_alicloud/esa/cache_reserve_instance.py b/sdk/python/pulumi_alicloud/esa/cache_reserve_instance.py index b220cc6145..b077e7fc19 100644 --- a/sdk/python/pulumi_alicloud/esa/cache_reserve_instance.py +++ b/sdk/python/pulumi_alicloud/esa/cache_reserve_instance.py @@ -304,6 +304,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Cache Reserve Instance can be imported using the id, e.g. @@ -357,6 +359,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Cache Reserve Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/cache_rule.py b/sdk/python/pulumi_alicloud/esa/cache_rule.py index 451d15482a..ed324f7026 100644 --- a/sdk/python/pulumi_alicloud/esa/cache_rule.py +++ b/sdk/python/pulumi_alicloud/esa/cache_rule.py @@ -19,7 +19,7 @@ @pulumi.input_type class CacheRuleArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], additional_cacheable_ports: Optional[pulumi.Input[_builtins.str]] = None, browser_cache_mode: Optional[pulumi.Input[_builtins.str]] = None, browser_cache_ttl: Optional[pulumi.Input[_builtins.str]] = None, @@ -47,7 +47,7 @@ def __init__(__self__, *, user_language: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a CacheRule resource. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites] API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the [ListSites] API. :param pulumi.Input[_builtins.str] additional_cacheable_ports: Enable caching on specified ports. Value range: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096 :param pulumi.Input[_builtins.str] browser_cache_mode: Browser cache mode. Possible values: :param pulumi.Input[_builtins.str] browser_cache_ttl: Browser cache expiration time in seconds. @@ -68,7 +68,7 @@ def __init__(__self__, *, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\"). :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. :param pulumi.Input[_builtins.str] serve_stale: Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] sort_query_string_for_cache: Query string sorting, disabled by default. Possible values: @@ -130,14 +130,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID, which can be obtained by calling the [ListSites] API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -362,7 +362,7 @@ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @@ -467,7 +467,7 @@ def __init__(__self__, *, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, serve_stale: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, sort_query_string_for_cache: Optional[pulumi.Input[_builtins.str]] = None, user_device_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -496,9 +496,9 @@ def __init__(__self__, *, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\"). :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. :param pulumi.Input[_builtins.str] serve_stale: Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites] API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the [ListSites] API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] sort_query_string_for_cache: Query string sorting, disabled by default. Possible values: :param pulumi.Input[_builtins.str] user_device_type: When generating the cache key, add the client device type. Possible values: @@ -794,7 +794,7 @@ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @@ -816,14 +816,14 @@ def serve_stale(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID, which can be obtained by calling the [ListSites] API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -913,7 +913,7 @@ def __init__(__self__, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, serve_stale: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, sort_query_string_for_cache: Optional[pulumi.Input[_builtins.str]] = None, user_device_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -964,6 +964,8 @@ def __init__(__self__, serve_stale="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Cache Rule can be imported using the id, e.g. @@ -994,9 +996,9 @@ def __init__(__self__, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\"). :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. :param pulumi.Input[_builtins.str] serve_stale: Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites] API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the [ListSites] API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] sort_query_string_for_cache: Query string sorting, disabled by default. Possible values: :param pulumi.Input[_builtins.str] user_device_type: When generating the cache key, add the client device type. Possible values: @@ -1053,6 +1055,8 @@ def __init__(__self__, serve_stale="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Cache Rule can be imported using the id, e.g. @@ -1096,7 +1100,7 @@ def _internal_init(__self__, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, serve_stale: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, sort_query_string_for_cache: Optional[pulumi.Input[_builtins.str]] = None, user_device_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1171,7 +1175,7 @@ def get(resource_name: str, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, serve_stale: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, sort_query_string_for_cache: Optional[pulumi.Input[_builtins.str]] = None, user_device_type: Optional[pulumi.Input[_builtins.str]] = None, @@ -1205,9 +1209,9 @@ def get(resource_name: str, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\"). :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. :param pulumi.Input[_builtins.str] serve_stale: Serve stale cache. When enabled, the node can still respond to user requests with expired cached files when the origin server is unavailable. Value range: - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites] API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the [ListSites] API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] sort_query_string_for_cache: Query string sorting, disabled by default. Possible values: :param pulumi.Input[_builtins.str] user_device_type: When generating the cache key, add the client device type. Possible values: @@ -1405,7 +1409,7 @@ def rule_name(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter def sequence(self) -> pulumi.Output[_builtins.int]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @@ -1419,7 +1423,7 @@ def serve_stale(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID, which can be obtained by calling the [ListSites] API. """ diff --git a/sdk/python/pulumi_alicloud/esa/certificate.py b/sdk/python/pulumi_alicloud/esa/certificate.py index 65908edae2..77d34dd2cc 100644 --- a/sdk/python/pulumi_alicloud/esa/certificate.py +++ b/sdk/python/pulumi_alicloud/esa/certificate.py @@ -415,6 +415,8 @@ def __init__(__self__, type="lets_encrypt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Certificate can be imported using the id, e.g. @@ -466,6 +468,8 @@ def __init__(__self__, type="lets_encrypt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/client_ca_certificate.py b/sdk/python/pulumi_alicloud/esa/client_ca_certificate.py index 09ee7dc02e..b0dcdccbdf 100644 --- a/sdk/python/pulumi_alicloud/esa/client_ca_certificate.py +++ b/sdk/python/pulumi_alicloud/esa/client_ca_certificate.py @@ -208,6 +208,8 @@ def __init__(__self__, site_id=default.sites[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Client Ca Certificate can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, site_id=default.sites[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Client Ca Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/client_certificate.py b/sdk/python/pulumi_alicloud/esa/client_certificate.py index e28769f1e5..e020aac58a 100644 --- a/sdk/python/pulumi_alicloud/esa/client_certificate.py +++ b/sdk/python/pulumi_alicloud/esa/client_certificate.py @@ -19,17 +19,23 @@ @pulumi.input_type class ClientCertificateArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], validity_days: pulumi.Input[_builtins.str], csr: Optional[pulumi.Input[_builtins.str]] = None, pkey_type: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a ClientCertificate resource. - :param pulumi.Input[_builtins.int] site_id: Site Id + :param pulumi.Input[_builtins.str] site_id: Site Id :param pulumi.Input[_builtins.str] validity_days: Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] csr: Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] pkey_type: The private key algorithm type. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: The certificate status. Valid values: `revoked`, `active`. """ pulumi.set(__self__, "site_id", site_id) @@ -43,14 +49,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ Site Id """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -58,6 +64,8 @@ def site_id(self, value: pulumi.Input[_builtins.int]): def validity_days(self) -> pulumi.Input[_builtins.str]: """ Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "validity_days") @@ -70,6 +78,8 @@ def validity_days(self, value: pulumi.Input[_builtins.str]): def csr(self) -> Optional[pulumi.Input[_builtins.str]]: """ Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "csr") @@ -82,6 +92,8 @@ def csr(self, value: Optional[pulumi.Input[_builtins.str]]): def pkey_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The private key algorithm type. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "pkey_type") @@ -109,7 +121,7 @@ def __init__(__self__, *, create_time: Optional[pulumi.Input[_builtins.str]] = None, csr: Optional[pulumi.Input[_builtins.str]] = None, pkey_type: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, validity_days: Optional[pulumi.Input[_builtins.str]] = None): """ @@ -117,10 +129,16 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] client_cert_id: ClientCertificate Id :param pulumi.Input[_builtins.str] create_time: The time when the certificate was created. :param pulumi.Input[_builtins.str] csr: Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] pkey_type: The private key algorithm type. - :param pulumi.Input[_builtins.int] site_id: Site Id + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] site_id: Site Id :param pulumi.Input[_builtins.str] status: The certificate status. Valid values: `revoked`, `active`. :param pulumi.Input[_builtins.str] validity_days: Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ if client_cert_id is not None: pulumi.set(__self__, "client_cert_id", client_cert_id) @@ -166,6 +184,8 @@ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): def csr(self) -> Optional[pulumi.Input[_builtins.str]]: """ Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "csr") @@ -178,6 +198,8 @@ def csr(self, value: Optional[pulumi.Input[_builtins.str]]): def pkey_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ The private key algorithm type. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "pkey_type") @@ -187,14 +209,14 @@ def pkey_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Site Id """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -214,6 +236,8 @@ def status(self, value: Optional[pulumi.Input[_builtins.str]]): def validity_days(self) -> Optional[pulumi.Input[_builtins.str]]: """ Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "validity_days") @@ -230,7 +254,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, csr: Optional[pulumi.Input[_builtins.str]] = None, pkey_type: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, validity_days: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -257,6 +281,8 @@ def __init__(__self__, validity_days="365") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Client Certificate can be imported using the id, e.g. @@ -268,10 +294,16 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] csr: Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] pkey_type: The private key algorithm type. - :param pulumi.Input[_builtins.int] site_id: Site Id + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] site_id: Site Id :param pulumi.Input[_builtins.str] status: The certificate status. Valid values: `revoked`, `active`. :param pulumi.Input[_builtins.str] validity_days: Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ ... @overload @@ -302,6 +334,8 @@ def __init__(__self__, validity_days="365") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Client Certificate can be imported using the id, e.g. @@ -327,7 +361,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, csr: Optional[pulumi.Input[_builtins.str]] = None, pkey_type: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, validity_days: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -364,7 +398,7 @@ def get(resource_name: str, create_time: Optional[pulumi.Input[_builtins.str]] = None, csr: Optional[pulumi.Input[_builtins.str]] = None, pkey_type: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, validity_days: Optional[pulumi.Input[_builtins.str]] = None) -> 'ClientCertificate': """ @@ -377,10 +411,16 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] client_cert_id: ClientCertificate Id :param pulumi.Input[_builtins.str] create_time: The time when the certificate was created. :param pulumi.Input[_builtins.str] csr: Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] pkey_type: The private key algorithm type. - :param pulumi.Input[_builtins.int] site_id: Site Id + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] site_id: Site Id :param pulumi.Input[_builtins.str] status: The certificate status. Valid values: `revoked`, `active`. :param pulumi.Input[_builtins.str] validity_days: Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -416,6 +456,8 @@ def create_time(self) -> pulumi.Output[_builtins.str]: def csr(self) -> pulumi.Output[Optional[_builtins.str]]: """ Certificate signing request content. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "csr") @@ -424,12 +466,14 @@ def csr(self) -> pulumi.Output[Optional[_builtins.str]]: def pkey_type(self) -> pulumi.Output[Optional[_builtins.str]]: """ The private key algorithm type. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "pkey_type") @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ Site Id """ @@ -448,6 +492,8 @@ def status(self) -> pulumi.Output[_builtins.str]: def validity_days(self) -> pulumi.Output[_builtins.str]: """ Certificate validity period. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "validity_days") diff --git a/sdk/python/pulumi_alicloud/esa/compression_rule.py b/sdk/python/pulumi_alicloud/esa/compression_rule.py index ea7c2e40d4..f6ee93d9b0 100644 --- a/sdk/python/pulumi_alicloud/esa/compression_rule.py +++ b/sdk/python/pulumi_alicloud/esa/compression_rule.py @@ -391,6 +391,8 @@ def __init__(__self__, rule_enable="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Compression Rule can be imported using the id, e.g. @@ -451,6 +453,8 @@ def __init__(__self__, rule_enable="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Compression Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/custom_scene_policy.py b/sdk/python/pulumi_alicloud/esa/custom_scene_policy.py index e73350736e..abfdcad38c 100644 --- a/sdk/python/pulumi_alicloud/esa/custom_scene_policy.py +++ b/sdk/python/pulumi_alicloud/esa/custom_scene_policy.py @@ -274,6 +274,8 @@ def __init__(__self__, custom_scene_policy_name="example-policy") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Custom Scene Policy can be imported using the id, e.g. @@ -333,6 +335,8 @@ def __init__(__self__, custom_scene_policy_name="example-policy") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Custom Scene Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/edge_container_app.py b/sdk/python/pulumi_alicloud/esa/edge_container_app.py index 32d91df364..528ee6d1d6 100644 --- a/sdk/python/pulumi_alicloud/esa/edge_container_app.py +++ b/sdk/python/pulumi_alicloud/esa/edge_container_app.py @@ -606,6 +606,8 @@ def __init__(__self__, health_check_type="l7") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Edge Container App can be imported using the id, e.g. @@ -683,6 +685,8 @@ def __init__(__self__, health_check_type="l7") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Edge Container App can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/edge_container_app_record.py b/sdk/python/pulumi_alicloud/esa/edge_container_app_record.py index d7629c4748..4aba459888 100644 --- a/sdk/python/pulumi_alicloud/esa/edge_container_app_record.py +++ b/sdk/python/pulumi_alicloud/esa/edge_container_app_record.py @@ -21,12 +21,12 @@ class EdgeContainerAppRecordArgs: def __init__(__self__, *, app_id: pulumi.Input[_builtins.str], record_name: pulumi.Input[_builtins.str], - site_id: Optional[pulumi.Input[_builtins.int]] = None): + site_id: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a EdgeContainerAppRecord resource. :param pulumi.Input[_builtins.str] app_id: The application ID :param pulumi.Input[_builtins.str] record_name: The associated domain name. - :param pulumi.Input[_builtins.int] site_id: The website ID. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ pulumi.set(__self__, "app_id", app_id) pulumi.set(__self__, "record_name", record_name) @@ -59,14 +59,14 @@ def record_name(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The website ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @@ -76,13 +76,13 @@ def __init__(__self__, *, app_id: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None): + site_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering EdgeContainerAppRecord resources. :param pulumi.Input[_builtins.str] app_id: The application ID :param pulumi.Input[_builtins.str] create_time: The time when the domain name was added. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC. :param pulumi.Input[_builtins.str] record_name: The associated domain name. - :param pulumi.Input[_builtins.int] site_id: The website ID. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ if app_id is not None: pulumi.set(__self__, "app_id", app_id) @@ -131,14 +131,14 @@ def record_name(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The website ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @@ -150,7 +150,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, app_id: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Provides a ESA Edge Container App Record resource. @@ -186,7 +186,7 @@ def __init__(__self__, health_check_type="l7", service_port=80, health_check_interval=5, - edge_container_app_name="terraform-app", + edge_container_app_name="terraform-app2", health_check_http_code="http_2xx", health_check_uri="/", health_check_timeout=3, @@ -202,6 +202,8 @@ def __init__(__self__, app_id=default_edge_container_app.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Edge Container App Record can be imported using the id, e.g. @@ -214,7 +216,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] app_id: The application ID :param pulumi.Input[_builtins.str] record_name: The associated domain name. - :param pulumi.Input[_builtins.int] site_id: The website ID. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ ... @overload @@ -256,7 +258,7 @@ def __init__(__self__, health_check_type="l7", service_port=80, health_check_interval=5, - edge_container_app_name="terraform-app", + edge_container_app_name="terraform-app2", health_check_http_code="http_2xx", health_check_uri="/", health_check_timeout=3, @@ -272,6 +274,8 @@ def __init__(__self__, app_id=default_edge_container_app.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Edge Container App Record can be imported using the id, e.g. @@ -297,7 +301,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, app_id: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -328,7 +332,7 @@ def get(resource_name: str, app_id: Optional[pulumi.Input[_builtins.str]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'EdgeContainerAppRecord': + site_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'EdgeContainerAppRecord': """ Get an existing EdgeContainerAppRecord resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -339,7 +343,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] app_id: The application ID :param pulumi.Input[_builtins.str] create_time: The time when the domain name was added. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC. :param pulumi.Input[_builtins.str] record_name: The associated domain name. - :param pulumi.Input[_builtins.int] site_id: The website ID. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -377,7 +381,7 @@ def record_name(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The website ID. """ diff --git a/sdk/python/pulumi_alicloud/esa/http_incoming_request_header_modification_rule.py b/sdk/python/pulumi_alicloud/esa/http_incoming_request_header_modification_rule.py new file mode 100644 index 0000000000..590edc0de9 --- /dev/null +++ b/sdk/python/pulumi_alicloud/esa/http_incoming_request_header_modification_rule.py @@ -0,0 +1,633 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['HttpIncomingRequestHeaderModificationRuleArgs', 'HttpIncomingRequestHeaderModificationRule'] + +@pulumi.input_type +class HttpIncomingRequestHeaderModificationRuleArgs: + def __init__(__self__, *, + request_header_modifications: pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]], + site_id: pulumi.Input[_builtins.str], + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None): + """ + The set of arguments for constructing a HttpIncomingRequestHeaderModificationRule resource. + :param pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]] request_header_modifications: The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + pulumi.set(__self__, "request_header_modifications", request_header_modifications) + pulumi.set(__self__, "site_id", site_id) + if rule is not None: + pulumi.set(__self__, "rule", rule) + if rule_enable is not None: + pulumi.set(__self__, "rule_enable", rule_enable) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if sequence is not None: + pulumi.set(__self__, "sequence", sequence) + if site_version is not None: + pulumi.set(__self__, "site_version", site_version) + + @_builtins.property + @pulumi.getter(name="requestHeaderModifications") + def request_header_modifications(self) -> pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]]: + """ + The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + """ + return pulumi.get(self, "request_header_modifications") + + @request_header_modifications.setter + def request_header_modifications(self, value: pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]]): + pulumi.set(self, "request_header_modifications", value) + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Input[_builtins.str]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "site_id", value) + + @_builtins.property + @pulumi.getter + def rule(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule", value) + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + """ + return pulumi.get(self, "rule_enable") + + @rule_enable.setter + def rule_enable(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_enable", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter + def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @sequence.setter + def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "sequence", value) + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + + @site_version.setter + def site_version(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "site_version", value) + + +@pulumi.input_type +class _HttpIncomingRequestHeaderModificationRuleState: + def __init__(__self__, *, + config_id: Optional[pulumi.Input[_builtins.int]] = None, + request_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None): + """ + Input properties used for looking up and filtering HttpIncomingRequestHeaderModificationRule resources. + :param pulumi.Input[_builtins.int] config_id: Config Id + :param pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]] request_header_modifications: The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + if config_id is not None: + pulumi.set(__self__, "config_id", config_id) + if request_header_modifications is not None: + pulumi.set(__self__, "request_header_modifications", request_header_modifications) + if rule is not None: + pulumi.set(__self__, "rule", rule) + if rule_enable is not None: + pulumi.set(__self__, "rule_enable", rule_enable) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if sequence is not None: + pulumi.set(__self__, "sequence", sequence) + if site_id is not None: + pulumi.set(__self__, "site_id", site_id) + if site_version is not None: + pulumi.set(__self__, "site_version", site_version) + + @_builtins.property + @pulumi.getter(name="configId") + def config_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Config Id + """ + return pulumi.get(self, "config_id") + + @config_id.setter + def config_id(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "config_id", value) + + @_builtins.property + @pulumi.getter(name="requestHeaderModifications") + def request_header_modifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]]]: + """ + The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + """ + return pulumi.get(self, "request_header_modifications") + + @request_header_modifications.setter + def request_header_modifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs']]]]): + pulumi.set(self, "request_header_modifications", value) + + @_builtins.property + @pulumi.getter + def rule(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule", value) + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + """ + return pulumi.get(self, "rule_enable") + + @rule_enable.setter + def rule_enable(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_enable", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter + def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @sequence.setter + def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "sequence", value) + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "site_id", value) + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + + @site_version.setter + def site_version(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "site_version", value) + + +@pulumi.type_token("alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule") +class HttpIncomingRequestHeaderModificationRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + request_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None, + __props__=None): + """ + Provides a ESA Http Incoming Request Header Modification Rule resource. + + For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + resource_http_incoming_request_header_modification_rule_example = alicloud.esa.RatePlanInstance("resource_HttpIncomingRequestHeaderModificationRule_example", + type="NS", + auto_renew=False, + period=1, + payment_type="Subscription", + coverage="overseas", + auto_pay=True, + plan_name="high") + resource_site_http_incoming_request_header_modification_rule_example = alicloud.esa.Site("resource_Site_HttpIncomingRequestHeaderModificationRule_example", + site_name=f"gositecdn{default['result']}.cn", + instance_id=resource_http_incoming_request_header_modification_rule_example.id, + coverage="overseas", + access_type="NS") + default_http_incoming_request_header_modification_rule = alicloud.esa.HttpIncomingRequestHeaderModificationRule("default", + site_id=resource_site_http_incoming_request_header_modification_rule_example.id, + rule_enable="on", + rule="(http.host eq \\"video.example.com\\")", + sequence=1, + site_version=0, + rule_name="example", + request_header_modifications=[ + { + "type": "static", + "value": "add", + "operation": "add", + "name": "exampleadd", + }, + { + "operation": "del", + "name": "exampledel", + }, + { + "type": "dynamic", + "value": "ip.geoip.country", + "operation": "modify", + "name": "examplemodify", + }, + ]) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict']]]] request_header_modifications: The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HttpIncomingRequestHeaderModificationRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a ESA Http Incoming Request Header Modification Rule resource. + + For information about ESA Http Incoming Request Header Modification Rule and how to use it, see [What is Http Incoming Request Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingRequestHeaderModificationRule). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + resource_http_incoming_request_header_modification_rule_example = alicloud.esa.RatePlanInstance("resource_HttpIncomingRequestHeaderModificationRule_example", + type="NS", + auto_renew=False, + period=1, + payment_type="Subscription", + coverage="overseas", + auto_pay=True, + plan_name="high") + resource_site_http_incoming_request_header_modification_rule_example = alicloud.esa.Site("resource_Site_HttpIncomingRequestHeaderModificationRule_example", + site_name=f"gositecdn{default['result']}.cn", + instance_id=resource_http_incoming_request_header_modification_rule_example.id, + coverage="overseas", + access_type="NS") + default_http_incoming_request_header_modification_rule = alicloud.esa.HttpIncomingRequestHeaderModificationRule("default", + site_id=resource_site_http_incoming_request_header_modification_rule_example.id, + rule_enable="on", + rule="(http.host eq \\"video.example.com\\")", + sequence=1, + site_version=0, + rule_name="example", + request_header_modifications=[ + { + "type": "static", + "value": "add", + "operation": "add", + "name": "exampleadd", + }, + { + "operation": "del", + "name": "exampledel", + }, + { + "type": "dynamic", + "value": "ip.geoip.country", + "operation": "modify", + "name": "examplemodify", + }, + ]) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Http Incoming Request Header Modification Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule example : + ``` + + :param str resource_name: The name of the resource. + :param HttpIncomingRequestHeaderModificationRuleArgs 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(HttpIncomingRequestHeaderModificationRuleArgs, 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, + request_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.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__ = HttpIncomingRequestHeaderModificationRuleArgs.__new__(HttpIncomingRequestHeaderModificationRuleArgs) + + if request_header_modifications is None and not opts.urn: + raise TypeError("Missing required property 'request_header_modifications'") + __props__.__dict__["request_header_modifications"] = request_header_modifications + __props__.__dict__["rule"] = rule + __props__.__dict__["rule_enable"] = rule_enable + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["sequence"] = sequence + if site_id is None and not opts.urn: + raise TypeError("Missing required property 'site_id'") + __props__.__dict__["site_id"] = site_id + __props__.__dict__["site_version"] = site_version + __props__.__dict__["config_id"] = None + super(HttpIncomingRequestHeaderModificationRule, __self__).__init__( + 'alicloud:esa/httpIncomingRequestHeaderModificationRule:HttpIncomingRequestHeaderModificationRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + config_id: Optional[pulumi.Input[_builtins.int]] = None, + request_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None) -> 'HttpIncomingRequestHeaderModificationRule': + """ + Get an existing HttpIncomingRequestHeaderModificationRule 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[_builtins.int] config_id: Config Id + :param pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgs', 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModificationArgsDict']]]] request_header_modifications: The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HttpIncomingRequestHeaderModificationRuleState.__new__(_HttpIncomingRequestHeaderModificationRuleState) + + __props__.__dict__["config_id"] = config_id + __props__.__dict__["request_header_modifications"] = request_header_modifications + __props__.__dict__["rule"] = rule + __props__.__dict__["rule_enable"] = rule_enable + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["sequence"] = sequence + __props__.__dict__["site_id"] = site_id + __props__.__dict__["site_version"] = site_version + return HttpIncomingRequestHeaderModificationRule(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="configId") + def config_id(self) -> pulumi.Output[_builtins.int]: + """ + Config Id + """ + return pulumi.get(self, "config_id") + + @_builtins.property + @pulumi.getter(name="requestHeaderModifications") + def request_header_modifications(self) -> pulumi.Output[Sequence['outputs.HttpIncomingRequestHeaderModificationRuleRequestHeaderModification']]: + """ + The configurations of modifying request headers. You can add, delete, or modify a request header. See `request_header_modification` below. + """ + return pulumi.get(self, "request_header_modifications") + + @_builtins.property + @pulumi.getter + def rule(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. + """ + return pulumi.get(self, "rule_enable") + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @_builtins.property + @pulumi.getter + def sequence(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Output[_builtins.str]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + diff --git a/sdk/python/pulumi_alicloud/esa/http_incoming_response_header_modification_rule.py b/sdk/python/pulumi_alicloud/esa/http_incoming_response_header_modification_rule.py new file mode 100644 index 0000000000..166ab56261 --- /dev/null +++ b/sdk/python/pulumi_alicloud/esa/http_incoming_response_header_modification_rule.py @@ -0,0 +1,621 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['HttpIncomingResponseHeaderModificationRuleArgs', 'HttpIncomingResponseHeaderModificationRule'] + +@pulumi.input_type +class HttpIncomingResponseHeaderModificationRuleArgs: + def __init__(__self__, *, + response_header_modifications: pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]], + site_id: pulumi.Input[_builtins.str], + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None): + """ + The set of arguments for constructing a HttpIncomingResponseHeaderModificationRule resource. + :param pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]] response_header_modifications: Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + pulumi.set(__self__, "response_header_modifications", response_header_modifications) + pulumi.set(__self__, "site_id", site_id) + if rule is not None: + pulumi.set(__self__, "rule", rule) + if rule_enable is not None: + pulumi.set(__self__, "rule_enable", rule_enable) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if sequence is not None: + pulumi.set(__self__, "sequence", sequence) + if site_version is not None: + pulumi.set(__self__, "site_version", site_version) + + @_builtins.property + @pulumi.getter(name="responseHeaderModifications") + def response_header_modifications(self) -> pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]]: + """ + Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + """ + return pulumi.get(self, "response_header_modifications") + + @response_header_modifications.setter + def response_header_modifications(self, value: pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]]): + pulumi.set(self, "response_header_modifications", value) + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Input[_builtins.str]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "site_id", value) + + @_builtins.property + @pulumi.getter + def rule(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule", value) + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + """ + return pulumi.get(self, "rule_enable") + + @rule_enable.setter + def rule_enable(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_enable", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter + def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @sequence.setter + def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "sequence", value) + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + + @site_version.setter + def site_version(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "site_version", value) + + +@pulumi.input_type +class _HttpIncomingResponseHeaderModificationRuleState: + def __init__(__self__, *, + config_id: Optional[pulumi.Input[_builtins.int]] = None, + response_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None): + """ + Input properties used for looking up and filtering HttpIncomingResponseHeaderModificationRule resources. + :param pulumi.Input[_builtins.int] config_id: Config Id + :param pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]] response_header_modifications: Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + if config_id is not None: + pulumi.set(__self__, "config_id", config_id) + if response_header_modifications is not None: + pulumi.set(__self__, "response_header_modifications", response_header_modifications) + if rule is not None: + pulumi.set(__self__, "rule", rule) + if rule_enable is not None: + pulumi.set(__self__, "rule_enable", rule_enable) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if sequence is not None: + pulumi.set(__self__, "sequence", sequence) + if site_id is not None: + pulumi.set(__self__, "site_id", site_id) + if site_version is not None: + pulumi.set(__self__, "site_version", site_version) + + @_builtins.property + @pulumi.getter(name="configId") + def config_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Config Id + """ + return pulumi.get(self, "config_id") + + @config_id.setter + def config_id(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "config_id", value) + + @_builtins.property + @pulumi.getter(name="responseHeaderModifications") + def response_header_modifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]]]: + """ + Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + """ + return pulumi.get(self, "response_header_modifications") + + @response_header_modifications.setter + def response_header_modifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs']]]]): + pulumi.set(self, "response_header_modifications", value) + + @_builtins.property + @pulumi.getter + def rule(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule", value) + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + """ + return pulumi.get(self, "rule_enable") + + @rule_enable.setter + def rule_enable(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_enable", value) + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "rule_name", value) + + @_builtins.property + @pulumi.getter + def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @sequence.setter + def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "sequence", value) + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "site_id", value) + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + + @site_version.setter + def site_version(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "site_version", value) + + +@pulumi.type_token("alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule") +class HttpIncomingResponseHeaderModificationRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + response_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None, + __props__=None): + """ + Provides a ESA Http Incoming Response Header Modification Rule resource. + + For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + resource_http_incoming_response_header_modification_rule_example = alicloud.esa.RatePlanInstance("resource_HttpIncomingResponseHeaderModificationRule_example", + type="NS", + auto_renew=False, + period=1, + payment_type="Subscription", + coverage="overseas", + auto_pay=True, + plan_name="basic") + resource_site_http_incoming_response_header_modification_rule_example = alicloud.esa.Site("resource_Site_HttpIncomingResponseHeaderModificationRule_example", + site_name=f"gositecdn{default['result']}.cn", + instance_id=resource_http_incoming_response_header_modification_rule_example.id, + coverage="overseas", + access_type="NS") + default_http_incoming_response_header_modification_rule = alicloud.esa.HttpIncomingResponseHeaderModificationRule("default", + site_id=resource_site_http_incoming_response_header_modification_rule_example.id, + rule_enable="on", + response_header_modifications=[ + { + "type": "static", + "value": "add", + "operation": "add", + "name": "exampleadd", + }, + { + "type": "static", + "operation": "del", + "name": "exampledel", + }, + { + "type": "static", + "value": "modify", + "operation": "modify", + "name": "examplemodify", + }, + ], + rule="(http.host eq \\"video.example.com\\")", + sequence=1, + site_version=0, + rule_name="exampleResponseHeader") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict']]]] response_header_modifications: Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HttpIncomingResponseHeaderModificationRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a ESA Http Incoming Response Header Modification Rule resource. + + For information about ESA Http Incoming Response Header Modification Rule and how to use it, see [What is Http Incoming Response Header Modification Rule](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateHttpIncomingResponseHeaderModificationRule). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_random as random + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = random.index.Integer("default", + min=10000, + max=99999) + resource_http_incoming_response_header_modification_rule_example = alicloud.esa.RatePlanInstance("resource_HttpIncomingResponseHeaderModificationRule_example", + type="NS", + auto_renew=False, + period=1, + payment_type="Subscription", + coverage="overseas", + auto_pay=True, + plan_name="basic") + resource_site_http_incoming_response_header_modification_rule_example = alicloud.esa.Site("resource_Site_HttpIncomingResponseHeaderModificationRule_example", + site_name=f"gositecdn{default['result']}.cn", + instance_id=resource_http_incoming_response_header_modification_rule_example.id, + coverage="overseas", + access_type="NS") + default_http_incoming_response_header_modification_rule = alicloud.esa.HttpIncomingResponseHeaderModificationRule("default", + site_id=resource_site_http_incoming_response_header_modification_rule_example.id, + rule_enable="on", + response_header_modifications=[ + { + "type": "static", + "value": "add", + "operation": "add", + "name": "exampleadd", + }, + { + "type": "static", + "operation": "del", + "name": "exampledel", + }, + { + "type": "static", + "value": "modify", + "operation": "modify", + "name": "examplemodify", + }, + ], + rule="(http.host eq \\"video.example.com\\")", + sequence=1, + site_version=0, + rule_name="exampleResponseHeader") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Http Incoming Response Header Modification Rule can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule example : + ``` + + :param str resource_name: The name of the resource. + :param HttpIncomingResponseHeaderModificationRuleArgs 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(HttpIncomingResponseHeaderModificationRuleArgs, 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, + response_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.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__ = HttpIncomingResponseHeaderModificationRuleArgs.__new__(HttpIncomingResponseHeaderModificationRuleArgs) + + if response_header_modifications is None and not opts.urn: + raise TypeError("Missing required property 'response_header_modifications'") + __props__.__dict__["response_header_modifications"] = response_header_modifications + __props__.__dict__["rule"] = rule + __props__.__dict__["rule_enable"] = rule_enable + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["sequence"] = sequence + if site_id is None and not opts.urn: + raise TypeError("Missing required property 'site_id'") + __props__.__dict__["site_id"] = site_id + __props__.__dict__["site_version"] = site_version + __props__.__dict__["config_id"] = None + super(HttpIncomingResponseHeaderModificationRule, __self__).__init__( + 'alicloud:esa/httpIncomingResponseHeaderModificationRule:HttpIncomingResponseHeaderModificationRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + config_id: Optional[pulumi.Input[_builtins.int]] = None, + response_header_modifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict']]]]] = None, + rule: Optional[pulumi.Input[_builtins.str]] = None, + rule_enable: Optional[pulumi.Input[_builtins.str]] = None, + rule_name: Optional[pulumi.Input[_builtins.str]] = None, + sequence: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, + site_version: Optional[pulumi.Input[_builtins.int]] = None) -> 'HttpIncomingResponseHeaderModificationRule': + """ + Get an existing HttpIncomingResponseHeaderModificationRule 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[_builtins.int] config_id: Config Id + :param pulumi.Input[Sequence[pulumi.Input[Union['HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgs', 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModificationArgsDict']]]] response_header_modifications: Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. + :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.str] site_id: The site ID. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HttpIncomingResponseHeaderModificationRuleState.__new__(_HttpIncomingResponseHeaderModificationRuleState) + + __props__.__dict__["config_id"] = config_id + __props__.__dict__["response_header_modifications"] = response_header_modifications + __props__.__dict__["rule"] = rule + __props__.__dict__["rule_enable"] = rule_enable + __props__.__dict__["rule_name"] = rule_name + __props__.__dict__["sequence"] = sequence + __props__.__dict__["site_id"] = site_id + __props__.__dict__["site_version"] = site_version + return HttpIncomingResponseHeaderModificationRule(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="configId") + def config_id(self) -> pulumi.Output[_builtins.int]: + """ + Config Id + """ + return pulumi.get(self, "config_id") + + @_builtins.property + @pulumi.getter(name="responseHeaderModifications") + def response_header_modifications(self) -> pulumi.Output[Sequence['outputs.HttpIncomingResponseHeaderModificationRuleResponseHeaderModification']]: + """ + Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. + """ + return pulumi.get(self, "response_header_modifications") + + @_builtins.property + @pulumi.getter + def rule(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: + - Match all incoming requests: value set to true + - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") + """ + return pulumi.get(self, "rule") + + @_builtins.property + @pulumi.getter(name="ruleEnable") + def rule_enable(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + """ + return pulumi.get(self, "rule_enable") + + @_builtins.property + @pulumi.getter(name="ruleName") + def rule_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Rule name. When adding global configuration, this parameter does not need to be set. + """ + return pulumi.get(self, "rule_name") + + @_builtins.property + @pulumi.getter + def sequence(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Order of rule execution. The smaller the value, the higher the priority for execution. + """ + return pulumi.get(self, "sequence") + + @_builtins.property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Output[_builtins.str]: + """ + The site ID. + """ + return pulumi.get(self, "site_id") + + @_builtins.property + @pulumi.getter(name="siteVersion") + def site_version(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. + """ + return pulumi.get(self, "site_version") + diff --git a/sdk/python/pulumi_alicloud/esa/http_request_header_modification_rule.py b/sdk/python/pulumi_alicloud/esa/http_request_header_modification_rule.py index db3f9d39a9..396b72d92e 100644 --- a/sdk/python/pulumi_alicloud/esa/http_request_header_modification_rule.py +++ b/sdk/python/pulumi_alicloud/esa/http_request_header_modification_rule.py @@ -351,6 +351,8 @@ def __init__(__self__, site_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Http Request Header Modification Rule can be imported using the id, e.g. @@ -428,6 +430,8 @@ def __init__(__self__, site_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Http Request Header Modification Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/http_response_header_modification_rule.py b/sdk/python/pulumi_alicloud/esa/http_response_header_modification_rule.py index 545825cff2..a6e7a9d53d 100644 --- a/sdk/python/pulumi_alicloud/esa/http_response_header_modification_rule.py +++ b/sdk/python/pulumi_alicloud/esa/http_response_header_modification_rule.py @@ -22,7 +22,7 @@ class HttpResponseHeaderModificationRuleArgs: def __init__(__self__, *, response_header_modifications: pulumi.Input[Sequence[pulumi.Input['HttpResponseHeaderModificationRuleResponseHeaderModificationArgs']]], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], rule: Optional[pulumi.Input[_builtins.str]] = None, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -31,7 +31,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a HttpResponseHeaderModificationRule resource. :param pulumi.Input[Sequence[pulumi.Input['HttpResponseHeaderModificationRuleResponseHeaderModificationArgs']]] response_header_modifications: Modify response headers, supporting add, delete, and modify operations. See `response_header_modification` below. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.str] rule: Rule content, using conditional expressions to match user requests. When adding global configuration, this parameter does not need to be set. There are two usage scenarios: - Match all incoming requests: value set to true - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") @@ -67,14 +67,14 @@ def response_header_modifications(self, value: pulumi.Input[Sequence[pulumi.Inpu @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -149,7 +149,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None): """ Input properties used for looking up and filtering HttpResponseHeaderModificationRule resources. @@ -161,7 +161,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ if config_id is not None: @@ -257,14 +257,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -291,7 +291,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ @@ -354,6 +354,8 @@ def __init__(__self__, site_id=resource_site_http_response_header_modification_rule_example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -371,7 +373,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ ... @@ -440,6 +442,8 @@ def __init__(__self__, site_id=resource_site_http_response_header_modification_rule_example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Http Response Header Modification Rule can be imported using the id, e.g. @@ -468,7 +472,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -507,7 +511,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None) -> 'HttpResponseHeaderModificationRule': """ Get an existing HttpResponseHeaderModificationRule resource's state with the given name, id, and optional extra @@ -524,7 +528,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -593,7 +597,7 @@ def sequence(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID. """ diff --git a/sdk/python/pulumi_alicloud/esa/https_application_configuration.py b/sdk/python/pulumi_alicloud/esa/https_application_configuration.py index bf812149cc..e3cb1475e7 100644 --- a/sdk/python/pulumi_alicloud/esa/https_application_configuration.py +++ b/sdk/python/pulumi_alicloud/esa/https_application_configuration.py @@ -19,7 +19,7 @@ @pulumi.input_type class HttpsApplicationConfigurationArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], alt_svc: Optional[pulumi.Input[_builtins.str]] = None, alt_svc_clear: Optional[pulumi.Input[_builtins.str]] = None, alt_svc_ma: Optional[pulumi.Input[_builtins.str]] = None, @@ -40,7 +40,7 @@ def __init__(__self__, *, site_version: Optional[pulumi.Input[_builtins.int]] = None): """ The set of arguments for constructing a HttpsApplicationConfiguration resource. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.str] alt_svc: Function switch, default off. Value range: :param pulumi.Input[_builtins.str] alt_svc_clear: Alt-Svc whether The header contains the clear parameter. This parameter is disabled by default. Value range: :param pulumi.Input[_builtins.str] alt_svc_ma: The effective time of the Alt-Svc, in seconds. The default value is 86400 seconds. @@ -102,14 +102,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -352,7 +352,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None): """ Input properties used for looking up and filtering HttpsApplicationConfiguration resources. @@ -376,7 +376,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ if alt_svc is not None: @@ -640,14 +640,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -686,7 +686,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ @@ -728,6 +728,8 @@ def __init__(__self__, site_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Https Application Configuration can be imported using the id, e.g. @@ -757,7 +759,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ ... @@ -805,6 +807,8 @@ def __init__(__self__, site_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Https Application Configuration can be imported using the id, e.g. @@ -845,7 +849,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -906,7 +910,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None) -> 'HttpsApplicationConfiguration': """ Get an existing HttpsApplicationConfiguration resource's state with the given name, id, and optional extra @@ -935,7 +939,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1112,7 +1116,7 @@ def sequence(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ diff --git a/sdk/python/pulumi_alicloud/esa/https_basic_configuration.py b/sdk/python/pulumi_alicloud/esa/https_basic_configuration.py index 988db2c00e..8e0c1f41d8 100644 --- a/sdk/python/pulumi_alicloud/esa/https_basic_configuration.py +++ b/sdk/python/pulumi_alicloud/esa/https_basic_configuration.py @@ -19,7 +19,7 @@ @pulumi.input_type class HttpsBasicConfigurationArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], ciphersuite: Optional[pulumi.Input[_builtins.str]] = None, ciphersuite_group: Optional[pulumi.Input[_builtins.str]] = None, http2: Optional[pulumi.Input[_builtins.str]] = None, @@ -36,7 +36,7 @@ def __init__(__self__, *, tls13: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a HttpsBasicConfiguration resource. - :param pulumi.Input[_builtins.int] site_id: Site ID, which can be obtained by calling the ListSites interface. + :param pulumi.Input[_builtins.str] site_id: Site ID, which can be obtained by calling the ListSites interface. :param pulumi.Input[_builtins.str] ciphersuite: Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom. :param pulumi.Input[_builtins.str] ciphersuite_group: Cipher suite group. Default is all cipher suites. Possible values: - all: All cipher suites. @@ -107,14 +107,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ Site ID, which can be obtained by calling the ListSites interface. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -323,7 +323,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, tls10: Optional[pulumi.Input[_builtins.str]] = None, tls11: Optional[pulumi.Input[_builtins.str]] = None, tls12: Optional[pulumi.Input[_builtins.str]] = None, @@ -356,7 +356,7 @@ def __init__(__self__, *, - off: close. :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: Site ID, which can be obtained by calling the ListSites interface. + :param pulumi.Input[_builtins.str] site_id: Site ID, which can be obtained by calling the ListSites interface. :param pulumi.Input[_builtins.str] tls10: Whether to enable TLS1.0. Default is disabled. Possible values: - on: Enable. - off: Disable. @@ -552,14 +552,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Site ID, which can be obtained by calling the ListSites interface. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -635,7 +635,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, tls10: Optional[pulumi.Input[_builtins.str]] = None, tls11: Optional[pulumi.Input[_builtins.str]] = None, tls12: Optional[pulumi.Input[_builtins.str]] = None, @@ -685,6 +685,8 @@ def __init__(__self__, rule_enable="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Https Basic Configuration can be imported using the id, e.g. @@ -720,7 +722,7 @@ def __init__(__self__, - off: close. :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: Site ID, which can be obtained by calling the ListSites interface. + :param pulumi.Input[_builtins.str] site_id: Site ID, which can be obtained by calling the ListSites interface. :param pulumi.Input[_builtins.str] tls10: Whether to enable TLS1.0. Default is disabled. Possible values: - on: Enable. - off: Disable. @@ -784,6 +786,8 @@ def __init__(__self__, rule_enable="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Https Basic Configuration can be imported using the id, e.g. @@ -817,7 +821,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, tls10: Optional[pulumi.Input[_builtins.str]] = None, tls11: Optional[pulumi.Input[_builtins.str]] = None, tls12: Optional[pulumi.Input[_builtins.str]] = None, @@ -870,7 +874,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, tls10: Optional[pulumi.Input[_builtins.str]] = None, tls11: Optional[pulumi.Input[_builtins.str]] = None, tls12: Optional[pulumi.Input[_builtins.str]] = None, @@ -908,7 +912,7 @@ def get(resource_name: str, - off: close. :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: Site ID, which can be obtained by calling the ListSites interface. + :param pulumi.Input[_builtins.str] site_id: Site ID, which can be obtained by calling the ListSites interface. :param pulumi.Input[_builtins.str] tls10: Whether to enable TLS1.0. Default is disabled. Possible values: - on: Enable. - off: Disable. @@ -1049,7 +1053,7 @@ def sequence(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ Site ID, which can be obtained by calling the ListSites interface. """ diff --git a/sdk/python/pulumi_alicloud/esa/image_transform.py b/sdk/python/pulumi_alicloud/esa/image_transform.py index f396808f85..f928a3dcdf 100644 --- a/sdk/python/pulumi_alicloud/esa/image_transform.py +++ b/sdk/python/pulumi_alicloud/esa/image_transform.py @@ -323,6 +323,8 @@ def __init__(__self__, enable="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Image Transform can be imported using the id, e.g. @@ -379,6 +381,8 @@ def __init__(__self__, enable="off") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Image Transform can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/kv.py b/sdk/python/pulumi_alicloud/esa/kv.py index 6d010ebaab..9903137b58 100644 --- a/sdk/python/pulumi_alicloud/esa/kv.py +++ b/sdk/python/pulumi_alicloud/esa/kv.py @@ -295,6 +295,8 @@ def __init__(__self__, key="example_key") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Kv can be imported using the id, e.g. @@ -346,6 +348,8 @@ def __init__(__self__, key="example_key") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Kv can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/kv_namespace.py b/sdk/python/pulumi_alicloud/esa/kv_namespace.py index a9adafd099..3905ea8ca4 100644 --- a/sdk/python/pulumi_alicloud/esa/kv_namespace.py +++ b/sdk/python/pulumi_alicloud/esa/kv_namespace.py @@ -140,6 +140,8 @@ def __init__(__self__, kv_namespace="example_namespace") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Kv Namespace can be imported using the id, e.g. @@ -179,6 +181,8 @@ def __init__(__self__, kv_namespace="example_namespace") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Kv Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/list.py b/sdk/python/pulumi_alicloud/esa/list.py index a896028721..35f7ec359b 100644 --- a/sdk/python/pulumi_alicloud/esa/list.py +++ b/sdk/python/pulumi_alicloud/esa/list.py @@ -201,6 +201,8 @@ def __init__(__self__, name="resource_example_ip_list") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA List can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, name="resource_example_ip_list") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA List can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/load_balancer.py b/sdk/python/pulumi_alicloud/esa/load_balancer.py index ace22eb642..ea9b27d2dc 100644 --- a/sdk/python/pulumi_alicloud/esa/load_balancer.py +++ b/sdk/python/pulumi_alicloud/esa/load_balancer.py @@ -620,6 +620,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Load Balancer can be imported using the id, e.g. @@ -710,6 +712,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Load Balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/network_optimization.py b/sdk/python/pulumi_alicloud/esa/network_optimization.py index 2f3aae4624..d12c031a44 100644 --- a/sdk/python/pulumi_alicloud/esa/network_optimization.py +++ b/sdk/python/pulumi_alicloud/esa/network_optimization.py @@ -463,6 +463,8 @@ def __init__(__self__, rule_name="network_optimization") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Network Optimization can be imported using the id, e.g. @@ -531,6 +533,8 @@ def __init__(__self__, rule_name="network_optimization") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Network Optimization can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/origin_ca_certificate.py b/sdk/python/pulumi_alicloud/esa/origin_ca_certificate.py index fa1a10e57c..ad3acc2eef 100644 --- a/sdk/python/pulumi_alicloud/esa/origin_ca_certificate.py +++ b/sdk/python/pulumi_alicloud/esa/origin_ca_certificate.py @@ -234,6 +234,8 @@ def __init__(__self__, name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Ca Certificate can be imported using the id, e.g. @@ -304,6 +306,8 @@ def __init__(__self__, name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Ca Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/origin_client_certificate.py b/sdk/python/pulumi_alicloud/esa/origin_client_certificate.py index b786f7595b..3eb8ce2e56 100644 --- a/sdk/python/pulumi_alicloud/esa/origin_client_certificate.py +++ b/sdk/python/pulumi_alicloud/esa/origin_client_certificate.py @@ -21,14 +21,14 @@ class OriginClientCertificateArgs: def __init__(__self__, *, certificate: pulumi.Input[_builtins.str], private_key: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], hostnames: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, origin_client_certificate_name: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a OriginClientCertificate resource. :param pulumi.Input[_builtins.str] certificate: The certificate content. :param pulumi.Input[_builtins.str] private_key: The private key of the certificate. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] hostnames: The domain names to associate. :param pulumi.Input[_builtins.str] origin_client_certificate_name: The certificate name. """ @@ -66,14 +66,14 @@ def private_key(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ Site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -110,7 +110,7 @@ def __init__(__self__, *, origin_client_certificate_id: Optional[pulumi.Input[_builtins.str]] = None, origin_client_certificate_name: Optional[pulumi.Input[_builtins.str]] = None, private_key: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering OriginClientCertificate resources. @@ -120,7 +120,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] origin_client_certificate_id: The certificate ID. :param pulumi.Input[_builtins.str] origin_client_certificate_name: The certificate name. :param pulumi.Input[_builtins.str] private_key: The private key of the certificate. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[_builtins.str] status: The status of the certificate. """ if certificate is not None: @@ -214,14 +214,14 @@ def private_key(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -247,7 +247,7 @@ def __init__(__self__, hostnames: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, origin_client_certificate_name: Optional[pulumi.Input[_builtins.str]] = None, private_key: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Provides a ESA Origin Client Certificate resource. @@ -312,6 +312,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Client Certificate can be imported using the id, e.g. @@ -326,7 +328,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] hostnames: The domain names to associate. :param pulumi.Input[_builtins.str] origin_client_certificate_name: The certificate name. :param pulumi.Input[_builtins.str] private_key: The private key of the certificate. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. """ ... @overload @@ -397,6 +399,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Client Certificate can be imported using the id, e.g. @@ -424,7 +428,7 @@ def _internal_init(__self__, hostnames: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, origin_client_certificate_name: Optional[pulumi.Input[_builtins.str]] = None, private_key: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -466,7 +470,7 @@ def get(resource_name: str, origin_client_certificate_id: Optional[pulumi.Input[_builtins.str]] = None, origin_client_certificate_name: Optional[pulumi.Input[_builtins.str]] = None, private_key: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None) -> 'OriginClientCertificate': """ Get an existing OriginClientCertificate resource's state with the given name, id, and optional extra @@ -481,7 +485,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] origin_client_certificate_id: The certificate ID. :param pulumi.Input[_builtins.str] origin_client_certificate_name: The certificate name. :param pulumi.Input[_builtins.str] private_key: The private key of the certificate. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[_builtins.str] status: The status of the certificate. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -548,7 +552,7 @@ def private_key(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ Site ID. """ diff --git a/sdk/python/pulumi_alicloud/esa/origin_pool.py b/sdk/python/pulumi_alicloud/esa/origin_pool.py index afb1f410cf..c704e585d6 100644 --- a/sdk/python/pulumi_alicloud/esa/origin_pool.py +++ b/sdk/python/pulumi_alicloud/esa/origin_pool.py @@ -263,6 +263,8 @@ def __init__(__self__, enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Pool can be imported using the id, e.g. @@ -360,6 +362,8 @@ def __init__(__self__, enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Pool can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/origin_protection.py b/sdk/python/pulumi_alicloud/esa/origin_protection.py index 7a4722e27b..662896198e 100644 --- a/sdk/python/pulumi_alicloud/esa/origin_protection.py +++ b/sdk/python/pulumi_alicloud/esa/origin_protection.py @@ -146,6 +146,8 @@ def __init__(__self__, site_id=default_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Protection can be imported using the id, e.g. @@ -198,6 +200,8 @@ def __init__(__self__, site_id=default_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Protection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/origin_rule.py b/sdk/python/pulumi_alicloud/esa/origin_rule.py index 9b7948c4a8..faebb68baa 100644 --- a/sdk/python/pulumi_alicloud/esa/origin_rule.py +++ b/sdk/python/pulumi_alicloud/esa/origin_rule.py @@ -19,7 +19,7 @@ @pulumi.input_type class OriginRuleArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], dns_record: Optional[pulumi.Input[_builtins.str]] = None, follow302_enable: Optional[pulumi.Input[_builtins.str]] = None, follow302_max_tries: Optional[pulumi.Input[_builtins.str]] = None, @@ -43,7 +43,7 @@ def __init__(__self__, *, site_version: Optional[pulumi.Input[_builtins.int]] = None): """ The set of arguments for constructing a OriginRule resource. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.str] dns_record: Overwrite the DNS resolution record of the origin request. :param pulumi.Input[_builtins.str] follow302_enable: Return Source 302 follow switch. Value range: :param pulumi.Input[_builtins.str] follow302_max_tries: 302 follows the upper limit of the number of times, with a value range of [1-5]. @@ -114,14 +114,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -403,7 +403,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None): """ Input properties used for looking up and filtering OriginRule resources. @@ -430,7 +430,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ if config_id is not None: @@ -736,14 +736,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -785,7 +785,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ @@ -819,6 +819,8 @@ def __init__(__self__, rule_enable="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Rule can be imported using the id, e.g. @@ -851,7 +853,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ ... @@ -891,6 +893,8 @@ def __init__(__self__, rule_enable="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Origin Rule can be imported using the id, e.g. @@ -934,7 +938,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1001,7 +1005,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None) -> 'OriginRule': """ Get an existing OriginRule resource's state with the given name, id, and optional extra @@ -1033,7 +1037,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. - :param pulumi.Input[_builtins.int] site_id: The site ID. + :param pulumi.Input[_builtins.str] site_id: The site ID. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1237,7 +1241,7 @@ def sequence(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID. """ diff --git a/sdk/python/pulumi_alicloud/esa/outputs.py b/sdk/python/pulumi_alicloud/esa/outputs.py index e1d3f62da9..071912d2b4 100644 --- a/sdk/python/pulumi_alicloud/esa/outputs.py +++ b/sdk/python/pulumi_alicloud/esa/outputs.py @@ -16,6 +16,8 @@ from . import outputs __all__ = [ + 'HttpIncomingRequestHeaderModificationRuleRequestHeaderModification', + 'HttpIncomingResponseHeaderModificationRuleResponseHeaderModification', 'HttpRequestHeaderModificationRuleRequestHeaderModification', 'HttpResponseHeaderModificationRuleResponseHeaderModification', 'LoadBalancerAdaptiveRouting', @@ -67,6 +69,112 @@ 'GetSitesSiteResult', ] +@pulumi.output_type +class HttpIncomingRequestHeaderModificationRuleRequestHeaderModification(dict): + def __init__(__self__, *, + name: _builtins.str, + operation: _builtins.str, + type: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Request Header Name. + :param _builtins.str operation: Mode of operation. Value range: + :param _builtins.str type: Value type. Value range: + :param _builtins.str value: Request header value + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "operation", operation) + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Request Header Name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def operation(self) -> _builtins.str: + """ + Mode of operation. Value range: + """ + return pulumi.get(self, "operation") + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + Value type. Value range: + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Request header value + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class HttpIncomingResponseHeaderModificationRuleResponseHeaderModification(dict): + def __init__(__self__, *, + name: _builtins.str, + operation: _builtins.str, + type: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str name: The response header name. + :param _builtins.str operation: Operation method. Possible values: + :param _builtins.str type: The value type. Value range: + :param _builtins.str value: The response header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "operation", operation) + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The response header name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def operation(self) -> _builtins.str: + """ + Operation method. Possible values: + """ + return pulumi.get(self, "operation") + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + The value type. Value range: + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + The response header value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class HttpRequestHeaderModificationRuleRequestHeaderModification(dict): def __init__(__self__, *, @@ -1868,7 +1976,14 @@ def __init__(__self__, *, :param _builtins.str name: The package name of an authorized application. :param _builtins.str notes: Additional notes about this rule. :param 'WafRuleConfigRateLimitArgs' rate_limit: Configuration of the rate limiting rule. See `rate_limit` below. - :param 'WafRuleConfigSecurityLevelArgs' security_level: The overall security protection level of WAF. See `security_level` below. + :param 'WafRuleConfigSecurityLevelArgs' security_level: The overall security protection level of WAF. + Valid values: + - off + - essentially_off + - low + - medium + - high + - under_attack See `security_level` below. :param Sequence[_builtins.str] sigchls: Configuration items for token verification mechanisms. :param _builtins.str status: The status of the managed rule: whether it is enabled or disabled. :param 'WafRuleConfigTimerArgs' timer: Configuration for the time schedule when the rule takes effect. See `timer` below. @@ -2012,7 +2127,14 @@ def rate_limit(self) -> Optional['outputs.WafRuleConfigRateLimit']: @pulumi.getter(name="securityLevel") def security_level(self) -> Optional['outputs.WafRuleConfigSecurityLevel']: """ - The overall security protection level of WAF. See `security_level` below. + The overall security protection level of WAF. + Valid values: + - off + - essentially_off + - low + - medium + - high + - under_attack See `security_level` below. """ return pulumi.get(self, "security_level") diff --git a/sdk/python/pulumi_alicloud/esa/page.py b/sdk/python/pulumi_alicloud/esa/page.py index 3880e01d7b..69d1b8105b 100644 --- a/sdk/python/pulumi_alicloud/esa/page.py +++ b/sdk/python/pulumi_alicloud/esa/page.py @@ -195,6 +195,8 @@ def __init__(__self__, page_name="resource_example_html_page") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Page can be imported using the id, e.g. @@ -242,6 +244,8 @@ def __init__(__self__, page_name="resource_example_html_page") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Page can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/rate_plan_instance.py b/sdk/python/pulumi_alicloud/esa/rate_plan_instance.py index 6210d4a2df..85a897191e 100644 --- a/sdk/python/pulumi_alicloud/esa/rate_plan_instance.py +++ b/sdk/python/pulumi_alicloud/esa/rate_plan_instance.py @@ -375,6 +375,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Rate Plan Instance can be imported using the id, e.g. @@ -436,6 +438,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Rate Plan Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/record.py b/sdk/python/pulumi_alicloud/esa/record.py index d345374f32..05c644a0c8 100644 --- a/sdk/python/pulumi_alicloud/esa/record.py +++ b/sdk/python/pulumi_alicloud/esa/record.py @@ -486,6 +486,8 @@ def __init__(__self__, record_type="SRV") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Record can be imported using the id, e.g. @@ -566,6 +568,8 @@ def __init__(__self__, record_type="SRV") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Record can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/redirect_rule.py b/sdk/python/pulumi_alicloud/esa/redirect_rule.py index 606ce8a596..e5a3fa50a2 100644 --- a/sdk/python/pulumi_alicloud/esa/redirect_rule.py +++ b/sdk/python/pulumi_alicloud/esa/redirect_rule.py @@ -20,7 +20,7 @@ class RedirectRuleArgs: def __init__(__self__, *, reserve_query_string: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], status_code: pulumi.Input[_builtins.str], target_url: pulumi.Input[_builtins.str], type: pulumi.Input[_builtins.str], @@ -35,7 +35,7 @@ def __init__(__self__, *, - on - off - :param pulumi.Input[_builtins.int] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.str] status_code: The response code that you want to use to indicate URL redirection. Valid values: - 301 @@ -88,14 +88,14 @@ def reserve_query_string(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -214,7 +214,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status_code: Optional[pulumi.Input[_builtins.str]] = None, target_url: Optional[pulumi.Input[_builtins.str]] = None, @@ -232,7 +232,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] status_code: The response code that you want to use to indicate URL redirection. Valid values: @@ -348,14 +348,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -426,7 +426,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status_code: Optional[pulumi.Input[_builtins.str]] = None, target_url: Optional[pulumi.Input[_builtins.str]] = None, @@ -480,6 +480,8 @@ def __init__(__self__, rule="(http.host eq \\"video.example.com\\")") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Redirect Rule can be imported using the id, e.g. @@ -500,7 +502,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] status_code: The response code that you want to use to indicate URL redirection. Valid values: @@ -568,6 +570,8 @@ def __init__(__self__, rule="(http.host eq \\"video.example.com\\")") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Redirect Rule can be imported using the id, e.g. @@ -596,7 +600,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status_code: Optional[pulumi.Input[_builtins.str]] = None, target_url: Optional[pulumi.Input[_builtins.str]] = None, @@ -647,7 +651,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status_code: Optional[pulumi.Input[_builtins.str]] = None, target_url: Optional[pulumi.Input[_builtins.str]] = None, @@ -670,7 +674,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] status_code: The response code that you want to use to indicate URL redirection. Valid values: @@ -756,7 +760,7 @@ def sequence(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ diff --git a/sdk/python/pulumi_alicloud/esa/rewrite_url_rule.py b/sdk/python/pulumi_alicloud/esa/rewrite_url_rule.py index d624a947f3..f0ec9267a2 100644 --- a/sdk/python/pulumi_alicloud/esa/rewrite_url_rule.py +++ b/sdk/python/pulumi_alicloud/esa/rewrite_url_rule.py @@ -440,6 +440,8 @@ def __init__(__self__, uri="/image/example.jpg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Rewrite Url Rule can be imported using the id, e.g. @@ -517,6 +519,8 @@ def __init__(__self__, uri="/image/example.jpg") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Rewrite Url Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/routine.py b/sdk/python/pulumi_alicloud/esa/routine.py index 07fd74dd64..a2a41eea54 100644 --- a/sdk/python/pulumi_alicloud/esa/routine.py +++ b/sdk/python/pulumi_alicloud/esa/routine.py @@ -145,6 +145,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Routine can be imported using the id, e.g. @@ -188,6 +190,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Routine can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/routine_related_record.py b/sdk/python/pulumi_alicloud/esa/routine_related_record.py index cfba3841e9..0fa774ca1e 100644 --- a/sdk/python/pulumi_alicloud/esa/routine_related_record.py +++ b/sdk/python/pulumi_alicloud/esa/routine_related_record.py @@ -20,10 +20,13 @@ class RoutineRelatedRecordArgs: def __init__(__self__, *, record_name: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], name: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a RoutineRelatedRecord resource. + :param pulumi.Input[_builtins.str] record_name: The record name. + :param pulumi.Input[_builtins.str] site_id: The website ID. + :param pulumi.Input[_builtins.str] name: The routine name. """ pulumi.set(__self__, "record_name", record_name) pulumi.set(__self__, "site_id", site_id) @@ -33,6 +36,9 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="recordName") def record_name(self) -> pulumi.Input[_builtins.str]: + """ + The record name. + """ return pulumi.get(self, "record_name") @record_name.setter @@ -41,16 +47,22 @@ def record_name(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: + """ + The website ID. + """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @pulumi.getter def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The routine name. + """ return pulumi.get(self, "name") @name.setter @@ -64,9 +76,13 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, record_id: Optional[pulumi.Input[_builtins.int]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None): + site_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering RoutineRelatedRecord resources. + :param pulumi.Input[_builtins.str] name: The routine name. + :param pulumi.Input[_builtins.int] record_id: The record ID. + :param pulumi.Input[_builtins.str] record_name: The record name. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ if name is not None: pulumi.set(__self__, "name", name) @@ -80,6 +96,9 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The routine name. + """ return pulumi.get(self, "name") @name.setter @@ -89,6 +108,9 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="recordId") def record_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The record ID. + """ return pulumi.get(self, "record_id") @record_id.setter @@ -98,6 +120,9 @@ def record_id(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="recordName") def record_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The record name. + """ return pulumi.get(self, "record_name") @record_name.setter @@ -106,11 +131,14 @@ def record_name(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The website ID. + """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @@ -122,12 +150,52 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Create a RoutineRelatedRecord resource with the given unique name, props, and options. + Provides a ESA Routine Related Record resource. + + For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default_routine = alicloud.esa.Routine("default", + description="example-routine2", + name="example-routine2") + default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan") + default_routine_related_record = alicloud.esa.RoutineRelatedRecord("default", + name=default_routine.id, + record_name="tfexampleacc.com", + site_id="618651327383200") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Routine Related Record can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example : + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] name: The routine name. + :param pulumi.Input[_builtins.str] record_name: The record name. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ ... @overload @@ -136,7 +204,44 @@ def __init__(__self__, args: RoutineRelatedRecordArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Create a RoutineRelatedRecord resource with the given unique name, props, and options. + Provides a ESA Routine Related Record resource. + + For information about ESA Routine Related Record and how to use it, see [What is Routine Related Record](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateRoutineRelatedRecord). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default_routine = alicloud.esa.Routine("default", + description="example-routine2", + name="example-routine2") + default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan") + default_routine_related_record = alicloud.esa.RoutineRelatedRecord("default", + name=default_routine.id, + record_name="tfexampleacc.com", + site_id="618651327383200") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + ESA Routine Related Record can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:esa/routineRelatedRecord:RoutineRelatedRecord example : + ``` + :param str resource_name: The name of the resource. :param RoutineRelatedRecordArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -154,7 +259,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -185,7 +290,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[_builtins.str]] = None, record_id: Optional[pulumi.Input[_builtins.int]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'RoutineRelatedRecord': + site_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'RoutineRelatedRecord': """ Get an existing RoutineRelatedRecord resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -193,6 +298,10 @@ 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[_builtins.str] name: The routine name. + :param pulumi.Input[_builtins.int] record_id: The record ID. + :param pulumi.Input[_builtins.str] record_name: The record name. + :param pulumi.Input[_builtins.str] site_id: The website ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -207,20 +316,32 @@ def get(resource_name: str, @_builtins.property @pulumi.getter def name(self) -> pulumi.Output[_builtins.str]: + """ + The routine name. + """ return pulumi.get(self, "name") @_builtins.property @pulumi.getter(name="recordId") def record_id(self) -> pulumi.Output[_builtins.int]: + """ + The record ID. + """ return pulumi.get(self, "record_id") @_builtins.property @pulumi.getter(name="recordName") def record_name(self) -> pulumi.Output[_builtins.str]: + """ + The record name. + """ return pulumi.get(self, "record_name") @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: + """ + The website ID. + """ return pulumi.get(self, "site_id") diff --git a/sdk/python/pulumi_alicloud/esa/routine_route.py b/sdk/python/pulumi_alicloud/esa/routine_route.py index 9ac33385f7..07cae5862f 100644 --- a/sdk/python/pulumi_alicloud/esa/routine_route.py +++ b/sdk/python/pulumi_alicloud/esa/routine_route.py @@ -20,8 +20,9 @@ class RoutineRouteArgs: def __init__(__self__, *, routine_name: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], bypass: Optional[pulumi.Input[_builtins.str]] = None, + fallback: Optional[pulumi.Input[_builtins.str]] = None, route_enable: Optional[pulumi.Input[_builtins.str]] = None, route_name: Optional[pulumi.Input[_builtins.str]] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, @@ -29,10 +30,11 @@ def __init__(__self__, *, """ The set of arguments for constructing a RoutineRoute resource. :param pulumi.Input[_builtins.str] routine_name: The edge function Routine name. - :param pulumi.Input[_builtins.int] site_id: Site Id + :param pulumi.Input[_builtins.str] site_id: Site Id :param pulumi.Input[_builtins.str] bypass: Bypass mode. Value range: - on: Open - off: off + :param pulumi.Input[_builtins.str] fallback: Spare :param pulumi.Input[_builtins.str] route_enable: Routing switch. Value range: - on: Open - off: off @@ -44,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "site_id", site_id) if bypass is not None: pulumi.set(__self__, "bypass", bypass) + if fallback is not None: + pulumi.set(__self__, "fallback", fallback) if route_enable is not None: pulumi.set(__self__, "route_enable", route_enable) if route_name is not None: @@ -67,14 +71,14 @@ def routine_name(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ Site Id """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -91,6 +95,18 @@ def bypass(self) -> Optional[pulumi.Input[_builtins.str]]: def bypass(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "bypass", value) + @_builtins.property + @pulumi.getter + def fallback(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Spare + """ + return pulumi.get(self, "fallback") + + @fallback.setter + def fallback(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "fallback", value) + @_builtins.property @pulumi.getter(name="routeEnable") def route_enable(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -147,18 +163,20 @@ class _RoutineRouteState: def __init__(__self__, *, bypass: Optional[pulumi.Input[_builtins.str]] = None, config_id: Optional[pulumi.Input[_builtins.int]] = None, + fallback: Optional[pulumi.Input[_builtins.str]] = None, route_enable: Optional[pulumi.Input[_builtins.str]] = None, route_name: Optional[pulumi.Input[_builtins.str]] = None, routine_name: Optional[pulumi.Input[_builtins.str]] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None): + site_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering RoutineRoute resources. :param pulumi.Input[_builtins.str] bypass: Bypass mode. Value range: - on: Open - off: off :param pulumi.Input[_builtins.int] config_id: Config Id + :param pulumi.Input[_builtins.str] fallback: Spare :param pulumi.Input[_builtins.str] route_enable: Routing switch. Value range: - on: Open - off: off @@ -166,12 +184,14 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] routine_name: The edge function Routine name. :param pulumi.Input[_builtins.str] rule: The rule content. :param pulumi.Input[_builtins.int] sequence: Rule execution order. - :param pulumi.Input[_builtins.int] site_id: Site Id + :param pulumi.Input[_builtins.str] site_id: Site Id """ if bypass is not None: pulumi.set(__self__, "bypass", bypass) if config_id is not None: pulumi.set(__self__, "config_id", config_id) + if fallback is not None: + pulumi.set(__self__, "fallback", fallback) if route_enable is not None: pulumi.set(__self__, "route_enable", route_enable) if route_name is not None: @@ -211,6 +231,18 @@ def config_id(self) -> Optional[pulumi.Input[_builtins.int]]: def config_id(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "config_id", value) + @_builtins.property + @pulumi.getter + def fallback(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Spare + """ + return pulumi.get(self, "fallback") + + @fallback.setter + def fallback(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "fallback", value) + @_builtins.property @pulumi.getter(name="routeEnable") def route_enable(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -275,14 +307,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Site Id """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @@ -293,12 +325,13 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, bypass: Optional[pulumi.Input[_builtins.str]] = None, + fallback: Optional[pulumi.Input[_builtins.str]] = None, route_enable: Optional[pulumi.Input[_builtins.str]] = None, route_name: Optional[pulumi.Input[_builtins.str]] = None, routine_name: Optional[pulumi.Input[_builtins.str]] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Provides a ESA Routine Route resource. @@ -338,6 +371,8 @@ def __init__(__self__, route_name="example_routine") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Routine Route can be imported using the id, e.g. @@ -351,6 +386,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] bypass: Bypass mode. Value range: - on: Open - off: off + :param pulumi.Input[_builtins.str] fallback: Spare :param pulumi.Input[_builtins.str] route_enable: Routing switch. Value range: - on: Open - off: off @@ -358,7 +394,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] routine_name: The edge function Routine name. :param pulumi.Input[_builtins.str] rule: The rule content. :param pulumi.Input[_builtins.int] sequence: Rule execution order. - :param pulumi.Input[_builtins.int] site_id: Site Id + :param pulumi.Input[_builtins.str] site_id: Site Id """ ... @overload @@ -404,6 +440,8 @@ def __init__(__self__, route_name="example_routine") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Routine Route can be imported using the id, e.g. @@ -428,12 +466,13 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, bypass: Optional[pulumi.Input[_builtins.str]] = None, + fallback: Optional[pulumi.Input[_builtins.str]] = None, route_enable: Optional[pulumi.Input[_builtins.str]] = None, route_name: Optional[pulumi.Input[_builtins.str]] = None, routine_name: Optional[pulumi.Input[_builtins.str]] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -444,6 +483,7 @@ def _internal_init(__self__, __props__ = RoutineRouteArgs.__new__(RoutineRouteArgs) __props__.__dict__["bypass"] = bypass + __props__.__dict__["fallback"] = fallback __props__.__dict__["route_enable"] = route_enable __props__.__dict__["route_name"] = route_name if routine_name is None and not opts.urn: @@ -467,12 +507,13 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, bypass: Optional[pulumi.Input[_builtins.str]] = None, config_id: Optional[pulumi.Input[_builtins.int]] = None, + fallback: Optional[pulumi.Input[_builtins.str]] = None, route_enable: Optional[pulumi.Input[_builtins.str]] = None, route_name: Optional[pulumi.Input[_builtins.str]] = None, routine_name: Optional[pulumi.Input[_builtins.str]] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'RoutineRoute': + site_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'RoutineRoute': """ Get an existing RoutineRoute resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -484,6 +525,7 @@ def get(resource_name: str, - on: Open - off: off :param pulumi.Input[_builtins.int] config_id: Config Id + :param pulumi.Input[_builtins.str] fallback: Spare :param pulumi.Input[_builtins.str] route_enable: Routing switch. Value range: - on: Open - off: off @@ -491,7 +533,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] routine_name: The edge function Routine name. :param pulumi.Input[_builtins.str] rule: The rule content. :param pulumi.Input[_builtins.int] sequence: Rule execution order. - :param pulumi.Input[_builtins.int] site_id: Site Id + :param pulumi.Input[_builtins.str] site_id: Site Id """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -499,6 +541,7 @@ def get(resource_name: str, __props__.__dict__["bypass"] = bypass __props__.__dict__["config_id"] = config_id + __props__.__dict__["fallback"] = fallback __props__.__dict__["route_enable"] = route_enable __props__.__dict__["route_name"] = route_name __props__.__dict__["routine_name"] = routine_name @@ -525,6 +568,14 @@ def config_id(self) -> pulumi.Output[_builtins.int]: """ return pulumi.get(self, "config_id") + @_builtins.property + @pulumi.getter + def fallback(self) -> pulumi.Output[_builtins.str]: + """ + Spare + """ + return pulumi.get(self, "fallback") + @_builtins.property @pulumi.getter(name="routeEnable") def route_enable(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -569,7 +620,7 @@ def sequence(self) -> pulumi.Output[Optional[_builtins.int]]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ Site Id """ diff --git a/sdk/python/pulumi_alicloud/esa/scheduled_preload_execution.py b/sdk/python/pulumi_alicloud/esa/scheduled_preload_execution.py index d644c957ef..28359d5031 100644 --- a/sdk/python/pulumi_alicloud/esa/scheduled_preload_execution.py +++ b/sdk/python/pulumi_alicloud/esa/scheduled_preload_execution.py @@ -267,6 +267,8 @@ def __init__(__self__, interval=30) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Scheduled Preload Execution can be imported using the id, e.g. @@ -323,6 +325,8 @@ def __init__(__self__, interval=30) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Scheduled Preload Execution can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/scheduled_preload_job.py b/sdk/python/pulumi_alicloud/esa/scheduled_preload_job.py index 60b7c65e12..11bd755747 100644 --- a/sdk/python/pulumi_alicloud/esa/scheduled_preload_job.py +++ b/sdk/python/pulumi_alicloud/esa/scheduled_preload_job.py @@ -277,6 +277,8 @@ def __init__(__self__, url_list="http://example.gositecdn.cn/example/example.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Scheduled Preload Job can be imported using the id, e.g. @@ -331,6 +333,8 @@ def __init__(__self__, url_list="http://example.gositecdn.cn/example/example.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Scheduled Preload Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/site.py b/sdk/python/pulumi_alicloud/esa/site.py index 7aca3bf21d..c09b13408c 100644 --- a/sdk/python/pulumi_alicloud/esa/site.py +++ b/sdk/python/pulumi_alicloud/esa/site.py @@ -34,6 +34,7 @@ def __init__(__self__, *, flatten_mode: Optional[pulumi.Input[_builtins.str]] = None, ipv6_enable: Optional[pulumi.Input[_builtins.str]] = None, ipv6_region: Optional[pulumi.Input[_builtins.str]] = None, + paused: Optional[pulumi.Input[_builtins.bool]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, seo_bypass: Optional[pulumi.Input[_builtins.str]] = None, site_name_exclusive: Optional[pulumi.Input[_builtins.str]] = None, @@ -62,6 +63,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ipv6_region: The region in which Ipv6 is enabled. The default value is x.x: - 'x.x': Global. - 'Cn.cn ': Mainland China. + :param pulumi.Input[_builtins.bool] paused: Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] seo_bypass: Release the search engine crawler configuration. Value: :param pulumi.Input[_builtins.str] site_name_exclusive: Specifies whether to enable site hold.After you enable site hold, other accounts cannot add your website domain or its subdomains to ESA. Valid values: @@ -98,6 +100,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv6_enable", ipv6_enable) if ipv6_region is not None: pulumi.set(__self__, "ipv6_region", ipv6_region) + if paused is not None: + pulumi.set(__self__, "paused", paused) if resource_group_id is not None: pulumi.set(__self__, "resource_group_id", resource_group_id) if seo_bypass is not None: @@ -297,6 +301,18 @@ def ipv6_region(self) -> Optional[pulumi.Input[_builtins.str]]: def ipv6_region(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "ipv6_region", value) + @_builtins.property + @pulumi.getter + def paused(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + """ + return pulumi.get(self, "paused") + + @paused.setter + def paused(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "paused", value) + @_builtins.property @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -400,6 +416,7 @@ def __init__(__self__, *, instance_id: Optional[pulumi.Input[_builtins.str]] = None, ipv6_enable: Optional[pulumi.Input[_builtins.str]] = None, ipv6_region: Optional[pulumi.Input[_builtins.str]] = None, + paused: Optional[pulumi.Input[_builtins.bool]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, seo_bypass: Optional[pulumi.Input[_builtins.str]] = None, site_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -430,6 +447,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ipv6_region: The region in which Ipv6 is enabled. The default value is x.x: - 'x.x': Global. - 'Cn.cn ': Mainland China. + :param pulumi.Input[_builtins.bool] paused: Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] seo_bypass: Release the search engine crawler configuration. Value: :param pulumi.Input[_builtins.str] site_name: The website name. @@ -470,6 +488,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv6_enable", ipv6_enable) if ipv6_region is not None: pulumi.set(__self__, "ipv6_region", ipv6_region) + if paused is not None: + pulumi.set(__self__, "paused", paused) if resource_group_id is not None: pulumi.set(__self__, "resource_group_id", resource_group_id) if seo_bypass is not None: @@ -673,6 +693,18 @@ def ipv6_region(self) -> Optional[pulumi.Input[_builtins.str]]: def ipv6_region(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "ipv6_region", value) + @_builtins.property + @pulumi.getter + def paused(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + """ + return pulumi.get(self, "paused") + + @paused.setter + def paused(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "paused", value) + @_builtins.property @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -802,6 +834,7 @@ def __init__(__self__, instance_id: Optional[pulumi.Input[_builtins.str]] = None, ipv6_enable: Optional[pulumi.Input[_builtins.str]] = None, ipv6_region: Optional[pulumi.Input[_builtins.str]] = None, + paused: Optional[pulumi.Input[_builtins.bool]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, seo_bypass: Optional[pulumi.Input[_builtins.str]] = None, site_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -851,6 +884,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site can be imported using the id, e.g. @@ -879,6 +914,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] ipv6_region: The region in which Ipv6 is enabled. The default value is x.x: - 'x.x': Global. - 'Cn.cn ': Mainland China. + :param pulumi.Input[_builtins.bool] paused: Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] seo_bypass: Release the search engine crawler configuration. Value: :param pulumi.Input[_builtins.str] site_name: The website name. @@ -934,6 +970,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site can be imported using the id, e.g. @@ -971,6 +1009,7 @@ def _internal_init(__self__, instance_id: Optional[pulumi.Input[_builtins.str]] = None, ipv6_enable: Optional[pulumi.Input[_builtins.str]] = None, ipv6_region: Optional[pulumi.Input[_builtins.str]] = None, + paused: Optional[pulumi.Input[_builtins.bool]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, seo_bypass: Optional[pulumi.Input[_builtins.str]] = None, site_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -1004,6 +1043,7 @@ def _internal_init(__self__, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["ipv6_enable"] = ipv6_enable __props__.__dict__["ipv6_region"] = ipv6_region + __props__.__dict__["paused"] = paused __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["seo_bypass"] = seo_bypass if site_name is None and not opts.urn: @@ -1041,6 +1081,7 @@ def get(resource_name: str, instance_id: Optional[pulumi.Input[_builtins.str]] = None, ipv6_enable: Optional[pulumi.Input[_builtins.str]] = None, ipv6_region: Optional[pulumi.Input[_builtins.str]] = None, + paused: Optional[pulumi.Input[_builtins.bool]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, seo_bypass: Optional[pulumi.Input[_builtins.str]] = None, site_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -1076,6 +1117,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] ipv6_region: The region in which Ipv6 is enabled. The default value is x.x: - 'x.x': Global. - 'Cn.cn ': Mainland China. + :param pulumi.Input[_builtins.bool] paused: Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group :param pulumi.Input[_builtins.str] seo_bypass: Release the search engine crawler configuration. Value: :param pulumi.Input[_builtins.str] site_name: The website name. @@ -1105,6 +1147,7 @@ def get(resource_name: str, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["ipv6_enable"] = ipv6_enable __props__.__dict__["ipv6_region"] = ipv6_region + __props__.__dict__["paused"] = paused __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["seo_bypass"] = seo_bypass __props__.__dict__["site_name"] = site_name @@ -1240,6 +1283,14 @@ def ipv6_region(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "ipv6_region") + @_builtins.property + @pulumi.getter + def paused(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values: + """ + return pulumi.get(self, "paused") + @_builtins.property @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_alicloud/esa/site_delivery_task.py b/sdk/python/pulumi_alicloud/esa/site_delivery_task.py index f91dd775c4..1c4485598c 100644 --- a/sdk/python/pulumi_alicloud/esa/site_delivery_task.py +++ b/sdk/python/pulumi_alicloud/esa/site_delivery_task.py @@ -559,6 +559,8 @@ def __init__(__self__, site_id=resource_site_http_example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Delivery Task can be imported using the id, e.g. @@ -651,6 +653,8 @@ def __init__(__self__, site_id=resource_site_http_example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Delivery Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/site_origin_client_certificate.py b/sdk/python/pulumi_alicloud/esa/site_origin_client_certificate.py index f57844fc31..8e0a4e8356 100644 --- a/sdk/python/pulumi_alicloud/esa/site_origin_client_certificate.py +++ b/sdk/python/pulumi_alicloud/esa/site_origin_client_certificate.py @@ -278,6 +278,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Origin Client Certificate can be imported using the id, e.g. @@ -361,6 +363,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Origin Client Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/transport_layer_application.py b/sdk/python/pulumi_alicloud/esa/transport_layer_application.py index ab3ae1f813..0b0dce4173 100644 --- a/sdk/python/pulumi_alicloud/esa/transport_layer_application.py +++ b/sdk/python/pulumi_alicloud/esa/transport_layer_application.py @@ -23,7 +23,7 @@ class TransportLayerApplicationArgs: def __init__(__self__, *, record_name: pulumi.Input[_builtins.str], rules: pulumi.Input[Sequence[pulumi.Input['TransportLayerApplicationRuleArgs']]], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], cross_border_optimization: Optional[pulumi.Input[_builtins.str]] = None, ip_access_rule: Optional[pulumi.Input[_builtins.str]] = None, ipv6: Optional[pulumi.Input[_builtins.str]] = None): @@ -31,7 +31,7 @@ def __init__(__self__, *, The set of arguments for constructing a TransportLayerApplication resource. :param pulumi.Input[_builtins.str] record_name: Domain name of the transport layer application :param pulumi.Input[Sequence[pulumi.Input['TransportLayerApplicationRuleArgs']]] rules: The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[_builtins.str] cross_border_optimization: Whether to enable China mainland network access optimization, default is disabled. Value range: :param pulumi.Input[_builtins.str] ip_access_rule: IP access rule switch. When enabled, the WAF's IP access rules apply to the transport layer application. :param pulumi.Input[_builtins.str] ipv6: IPv6 switch. @@ -72,14 +72,14 @@ def rules(self, value: pulumi.Input[Sequence[pulumi.Input['TransportLayerApplica @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ Site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -128,7 +128,7 @@ def __init__(__self__, *, ipv6: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input['TransportLayerApplicationRuleArgs']]]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering TransportLayerApplication resources. @@ -138,7 +138,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ipv6: IPv6 switch. :param pulumi.Input[_builtins.str] record_name: Domain name of the transport layer application :param pulumi.Input[Sequence[pulumi.Input['TransportLayerApplicationRuleArgs']]] rules: The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[_builtins.str] status: Status of the transport layer application, modification and deletion are not allowed. """ if application_id is not None: @@ -232,14 +232,14 @@ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TransportLay @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ Site ID. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -266,7 +266,7 @@ def __init__(__self__, ipv6: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TransportLayerApplicationRuleArgs', 'TransportLayerApplicationRuleArgsDict']]]]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ ## Import @@ -284,7 +284,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] ipv6: IPv6 switch. :param pulumi.Input[_builtins.str] record_name: Domain name of the transport layer application :param pulumi.Input[Sequence[pulumi.Input[Union['TransportLayerApplicationRuleArgs', 'TransportLayerApplicationRuleArgsDict']]]] rules: The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. """ ... @overload @@ -321,7 +321,7 @@ def _internal_init(__self__, ipv6: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TransportLayerApplicationRuleArgs', 'TransportLayerApplicationRuleArgsDict']]]]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -361,7 +361,7 @@ def get(resource_name: str, ipv6: Optional[pulumi.Input[_builtins.str]] = None, record_name: Optional[pulumi.Input[_builtins.str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TransportLayerApplicationRuleArgs', 'TransportLayerApplicationRuleArgsDict']]]]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None) -> 'TransportLayerApplication': """ Get an existing TransportLayerApplication resource's state with the given name, id, and optional extra @@ -376,7 +376,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] ipv6: IPv6 switch. :param pulumi.Input[_builtins.str] record_name: Domain name of the transport layer application :param pulumi.Input[Sequence[pulumi.Input[Union['TransportLayerApplicationRuleArgs', 'TransportLayerApplicationRuleArgsDict']]]] rules: The list of forwarding rules. Rule details. For each rule, other parameters are required except comments. See `rules` below. - :param pulumi.Input[_builtins.int] site_id: Site ID. + :param pulumi.Input[_builtins.str] site_id: Site ID. :param pulumi.Input[_builtins.str] status: Status of the transport layer application, modification and deletion are not allowed. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -443,7 +443,7 @@ def rules(self) -> pulumi.Output[Sequence['outputs.TransportLayerApplicationRule @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ Site ID. """ diff --git a/sdk/python/pulumi_alicloud/esa/url_observation.py b/sdk/python/pulumi_alicloud/esa/url_observation.py index ad4f382ce9..c815dd9207 100644 --- a/sdk/python/pulumi_alicloud/esa/url_observation.py +++ b/sdk/python/pulumi_alicloud/esa/url_observation.py @@ -184,6 +184,8 @@ def __init__(__self__, url="terraform.cn/a.html") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Url Observation can be imported using the id, e.g. @@ -237,6 +239,8 @@ def __init__(__self__, url="terraform.cn/a.html") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Url Observation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/version.py b/sdk/python/pulumi_alicloud/esa/version.py index d1646e1376..4f5b89487a 100644 --- a/sdk/python/pulumi_alicloud/esa/version.py +++ b/sdk/python/pulumi_alicloud/esa/version.py @@ -20,12 +20,12 @@ class VersionArgs: def __init__(__self__, *, origin_version: pulumi.Input[_builtins.int], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], description: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Version resource. :param pulumi.Input[_builtins.int] origin_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.str] description: The Site version's description. """ pulumi.set(__self__, "origin_version", origin_version) @@ -47,14 +47,14 @@ def origin_version(self, value: pulumi.Input[_builtins.int]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -76,7 +76,7 @@ def __init__(__self__, *, create_time: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, origin_version: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status: Optional[pulumi.Input[_builtins.str]] = None): """ @@ -84,8 +84,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] create_time: The creation time. The date format follows ISO8601 notation and uses UTC time. The format is yyyy-MM-ddTHH:mm:ssZ. :param pulumi.Input[_builtins.str] description: The Site version's description. :param pulumi.Input[_builtins.int] origin_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] status: Site version status::`online`.:`configuring`._faild`:`configure_faild`. """ if create_time is not None: @@ -139,21 +139,21 @@ def origin_version(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @pulumi.getter(name="siteVersion") def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The version number of the site configuration. + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ return pulumi.get(self, "site_version") @@ -182,12 +182,12 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[_builtins.str]] = None, origin_version: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides a ESA Site Version resource. + Provides a ESA Version resource. - For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). + For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). > **NOTE:** Available since v1.251.0. @@ -216,6 +216,8 @@ def __init__(__self__, origin_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Version can be imported using the id, e.g. @@ -228,7 +230,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] description: The Site version's description. :param pulumi.Input[_builtins.int] origin_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. """ ... @overload @@ -237,9 +239,9 @@ def __init__(__self__, args: VersionArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a ESA Site Version resource. + Provides a ESA Version resource. - For information about ESA Site Version and how to use it, see [What is Site Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). + For information about ESA Version and how to use it, see [What is Version](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CloneVersion). > **NOTE:** Available since v1.251.0. @@ -268,6 +270,8 @@ def __init__(__self__, origin_version=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Site Version can be imported using the id, e.g. @@ -293,7 +297,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[_builtins.str]] = None, origin_version: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -326,7 +330,7 @@ def get(resource_name: str, create_time: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, origin_version: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Version': """ @@ -339,8 +343,8 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] create_time: The creation time. The date format follows ISO8601 notation and uses UTC time. The format is yyyy-MM-ddTHH:mm:ssZ. :param pulumi.Input[_builtins.str] description: The Site version's description. :param pulumi.Input[_builtins.int] origin_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] status: Site version status::`online`.:`configuring`._faild`:`configure_faild`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -381,7 +385,7 @@ def origin_version(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ @@ -391,7 +395,7 @@ def site_id(self) -> pulumi.Output[_builtins.int]: @pulumi.getter(name="siteVersion") def site_version(self) -> pulumi.Output[_builtins.int]: """ - The version number of the site configuration. + The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. """ return pulumi.get(self, "site_version") diff --git a/sdk/python/pulumi_alicloud/esa/video_processing.py b/sdk/python/pulumi_alicloud/esa/video_processing.py index 7dc576c7e2..87c9c22f1f 100644 --- a/sdk/python/pulumi_alicloud/esa/video_processing.py +++ b/sdk/python/pulumi_alicloud/esa/video_processing.py @@ -19,7 +19,7 @@ @pulumi.input_type class VideoProcessingArgs: def __init__(__self__, *, - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], flv_seek_end: Optional[pulumi.Input[_builtins.str]] = None, flv_seek_start: Optional[pulumi.Input[_builtins.str]] = None, flv_video_seek_mode: Optional[pulumi.Input[_builtins.str]] = None, @@ -33,7 +33,7 @@ def __init__(__self__, *, video_seek_enable: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a VideoProcessing resource. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.str] flv_seek_end: Custom FLV end parameters. :param pulumi.Input[_builtins.str] flv_seek_start: Custom FLV start parameters. :param pulumi.Input[_builtins.str] flv_video_seek_mode: FLV drag mode. Value range: @@ -44,7 +44,7 @@ def __init__(__self__, *, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] video_seek_enable: Drag and drop the play function switch. Value range: """ @@ -74,14 +74,14 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -186,7 +186,7 @@ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @@ -232,7 +232,7 @@ def __init__(__self__, *, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, video_seek_enable: Optional[pulumi.Input[_builtins.str]] = None): """ @@ -248,8 +248,8 @@ def __init__(__self__, *, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] video_seek_enable: Drag and drop the play function switch. Value range: """ @@ -394,7 +394,7 @@ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def sequence(self) -> Optional[pulumi.Input[_builtins.int]]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @@ -404,14 +404,14 @@ def sequence(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @@ -454,7 +454,7 @@ def __init__(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, video_seek_enable: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -498,6 +498,8 @@ def __init__(__self__, rule_name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Video Processing can be imported using the id, e.g. @@ -518,8 +520,8 @@ def __init__(__self__, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] video_seek_enable: Drag and drop the play function switch. Value range: """ @@ -569,6 +571,8 @@ def __init__(__self__, rule_name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Video Processing can be imported using the id, e.g. @@ -601,7 +605,7 @@ def _internal_init(__self__, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, video_seek_enable: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -648,7 +652,7 @@ def get(resource_name: str, rule_enable: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, sequence: Optional[pulumi.Input[_builtins.int]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, video_seek_enable: Optional[pulumi.Input[_builtins.str]] = None) -> 'VideoProcessing': """ @@ -669,8 +673,8 @@ def get(resource_name: str, - Match specified request: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\") :param pulumi.Input[_builtins.str] rule_enable: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: :param pulumi.Input[_builtins.str] rule_name: Rule name. When adding global configuration, this parameter does not need to be set. - :param pulumi.Input[_builtins.int] sequence: Order of rule execution. The smaller the value, the higher the priority for execution. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.int] sequence: The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. :param pulumi.Input[_builtins.int] site_version: The version number of the site configuration. For sites that have enabled configuration version management, this parameter can be used to specify the effective version of the configuration site, which defaults to version 0. :param pulumi.Input[_builtins.str] video_seek_enable: Drag and drop the play function switch. Value range: """ @@ -771,13 +775,13 @@ def rule_name(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter def sequence(self) -> pulumi.Output[Optional[_builtins.int]]: """ - Order of rule execution. The smaller the value, the higher the priority for execution. + The rule execution order prioritizes lower numerical values. It is only applicable when setting or modifying the order of individual rule configurations. """ return pulumi.get(self, "sequence") @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ diff --git a/sdk/python/pulumi_alicloud/esa/waf_rule.py b/sdk/python/pulumi_alicloud/esa/waf_rule.py index 23a26ec52c..ab5704ce27 100644 --- a/sdk/python/pulumi_alicloud/esa/waf_rule.py +++ b/sdk/python/pulumi_alicloud/esa/waf_rule.py @@ -22,7 +22,7 @@ class WafRuleArgs: def __init__(__self__, *, phase: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], config: Optional[pulumi.Input['WafRuleConfigArgs']] = None, ruleset_id: Optional[pulumi.Input[_builtins.int]] = None, shared: Optional[pulumi.Input['WafRuleSharedArgs']] = None, @@ -30,11 +30,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a WafRule resource. :param pulumi.Input[_builtins.str] phase: The phase in which the WAF processes this rule. - :param pulumi.Input[_builtins.int] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input['WafRuleConfigArgs'] config: The specific configuration of the WAF rule. See `config` below. :param pulumi.Input[_builtins.int] ruleset_id: The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - :param pulumi.Input['WafRuleSharedArgs'] shared: Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - :param pulumi.Input[_builtins.int] site_version: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ pulumi.set(__self__, "phase", phase) pulumi.set(__self__, "site_id", site_id) @@ -61,14 +59,14 @@ def phase(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @@ -98,9 +96,6 @@ def ruleset_id(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter def shared(self) -> Optional[pulumi.Input['WafRuleSharedArgs']]: - """ - Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - """ return pulumi.get(self, "shared") @shared.setter @@ -110,9 +105,6 @@ def shared(self, value: Optional[pulumi.Input['WafRuleSharedArgs']]): @_builtins.property @pulumi.getter(name="siteVersion") def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: - """ - The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - """ return pulumi.get(self, "site_version") @site_version.setter @@ -127,7 +119,7 @@ def __init__(__self__, *, phase: Optional[pulumi.Input[_builtins.str]] = None, ruleset_id: Optional[pulumi.Input[_builtins.int]] = None, shared: Optional[pulumi.Input['WafRuleSharedArgs']] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, waf_rule_id: Optional[pulumi.Input[_builtins.int]] = None): """ @@ -135,9 +127,7 @@ def __init__(__self__, *, :param pulumi.Input['WafRuleConfigArgs'] config: The specific configuration of the WAF rule. See `config` below. :param pulumi.Input[_builtins.str] phase: The phase in which the WAF processes this rule. :param pulumi.Input[_builtins.int] ruleset_id: The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - :param pulumi.Input['WafRuleSharedArgs'] shared: Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - :param pulumi.Input[_builtins.int] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - :param pulumi.Input[_builtins.int] site_version: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.int] waf_rule_id: The unique identifier of the WAF rule. """ if config is not None: @@ -194,9 +184,6 @@ def ruleset_id(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter def shared(self) -> Optional[pulumi.Input['WafRuleSharedArgs']]: - """ - Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - """ return pulumi.get(self, "shared") @shared.setter @@ -205,22 +192,19 @@ def shared(self, value: Optional[pulumi.Input['WafRuleSharedArgs']]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @pulumi.getter(name="siteVersion") def site_version(self) -> Optional[pulumi.Input[_builtins.int]]: - """ - The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - """ return pulumi.get(self, "site_version") @site_version.setter @@ -250,7 +234,7 @@ def __init__(__self__, phase: Optional[pulumi.Input[_builtins.str]] = None, ruleset_id: Optional[pulumi.Input[_builtins.int]] = None, shared: Optional[pulumi.Input[Union['WafRuleSharedArgs', 'WafRuleSharedArgsDict']]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ @@ -294,6 +278,8 @@ def __init__(__self__, site_id=default.sites[0].site_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waf Rule can be imported using the id, e.g. @@ -307,9 +293,7 @@ def __init__(__self__, :param pulumi.Input[Union['WafRuleConfigArgs', 'WafRuleConfigArgsDict']] config: The specific configuration of the WAF rule. See `config` below. :param pulumi.Input[_builtins.str] phase: The phase in which the WAF processes this rule. :param pulumi.Input[_builtins.int] ruleset_id: The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - :param pulumi.Input[Union['WafRuleSharedArgs', 'WafRuleSharedArgsDict']] shared: Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - :param pulumi.Input[_builtins.int] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - :param pulumi.Input[_builtins.int] site_version: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ ... @overload @@ -358,6 +342,8 @@ def __init__(__self__, site_id=default.sites[0].site_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waf Rule can be imported using the id, e.g. @@ -385,7 +371,7 @@ def _internal_init(__self__, phase: Optional[pulumi.Input[_builtins.str]] = None, ruleset_id: Optional[pulumi.Input[_builtins.int]] = None, shared: Optional[pulumi.Input[Union['WafRuleSharedArgs', 'WafRuleSharedArgsDict']]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -421,7 +407,7 @@ def get(resource_name: str, phase: Optional[pulumi.Input[_builtins.str]] = None, ruleset_id: Optional[pulumi.Input[_builtins.int]] = None, shared: Optional[pulumi.Input[Union['WafRuleSharedArgs', 'WafRuleSharedArgsDict']]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, site_version: Optional[pulumi.Input[_builtins.int]] = None, waf_rule_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'WafRule': """ @@ -434,9 +420,7 @@ def get(resource_name: str, :param pulumi.Input[Union['WafRuleConfigArgs', 'WafRuleConfigArgsDict']] config: The specific configuration of the WAF rule. See `config` below. :param pulumi.Input[_builtins.str] phase: The phase in which the WAF processes this rule. :param pulumi.Input[_builtins.int] ruleset_id: The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](https://www.alibabacloud.com/help/en/doc-detail/2850233.html) operation. - :param pulumi.Input[Union['WafRuleSharedArgs', 'WafRuleSharedArgsDict']] shared: Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - :param pulumi.Input[_builtins.int] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - :param pulumi.Input[_builtins.int] site_version: The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. + :param pulumi.Input[_builtins.str] site_id: The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. :param pulumi.Input[_builtins.int] waf_rule_id: The unique identifier of the WAF rule. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -479,14 +463,11 @@ def ruleset_id(self) -> pulumi.Output[Optional[_builtins.int]]: @_builtins.property @pulumi.getter def shared(self) -> pulumi.Output[Optional['outputs.WafRuleShared']]: - """ - Shared configuration attributes used across multiple rules. **Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation.** See `shared` below. - """ return pulumi.get(self, "shared") @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The unique identifier of the website, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. """ @@ -495,9 +476,6 @@ def site_id(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="siteVersion") def site_version(self) -> pulumi.Output[Optional[_builtins.int]]: - """ - The website ID, which can be obtained by calling the [ListSites](https://www.alibabacloud.com/help/en/doc-detail/2850189.html) operation. - """ return pulumi.get(self, "site_version") @_builtins.property diff --git a/sdk/python/pulumi_alicloud/esa/waf_ruleset.py b/sdk/python/pulumi_alicloud/esa/waf_ruleset.py index ff42108805..68a8fa453c 100644 --- a/sdk/python/pulumi_alicloud/esa/waf_ruleset.py +++ b/sdk/python/pulumi_alicloud/esa/waf_ruleset.py @@ -239,6 +239,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waf Ruleset can be imported using the id, e.g. @@ -289,6 +291,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waf Ruleset can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/waiting_room.py b/sdk/python/pulumi_alicloud/esa/waiting_room.py index 42ac380da8..ce298174e6 100644 --- a/sdk/python/pulumi_alicloud/esa/waiting_room.py +++ b/sdk/python/pulumi_alicloud/esa/waiting_room.py @@ -672,6 +672,8 @@ def __init__(__self__, cookie_name="__aliwaitingroom_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room can be imported using the id, e.g. @@ -765,6 +767,8 @@ def __init__(__self__, cookie_name="__aliwaitingroom_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/waiting_room_event.py b/sdk/python/pulumi_alicloud/esa/waiting_room_event.py index c5c3bd8ae6..0e81a3e7c9 100644 --- a/sdk/python/pulumi_alicloud/esa/waiting_room_event.py +++ b/sdk/python/pulumi_alicloud/esa/waiting_room_event.py @@ -770,6 +770,8 @@ def __init__(__self__, session_duration="5") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room Event can be imported using the id, e.g. @@ -873,6 +875,8 @@ def __init__(__self__, session_duration="5") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room Event can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/esa/waiting_room_rule.py b/sdk/python/pulumi_alicloud/esa/waiting_room_rule.py index 4102d8d142..a6573bcb19 100644 --- a/sdk/python/pulumi_alicloud/esa/waiting_room_rule.py +++ b/sdk/python/pulumi_alicloud/esa/waiting_room_rule.py @@ -21,17 +21,17 @@ class WaitingRoomRuleArgs: def __init__(__self__, *, rule: pulumi.Input[_builtins.str], rule_name: pulumi.Input[_builtins.str], - site_id: pulumi.Input[_builtins.int], + site_id: pulumi.Input[_builtins.str], status: pulumi.Input[_builtins.str], waiting_room_id: pulumi.Input[_builtins.str]): """ The set of arguments for constructing a WaitingRoomRule resource. :param pulumi.Input[_builtins.str] rule: The content of the rule, the implemented policy or conditional expression. :param pulumi.Input[_builtins.str] rule_name: Rule name, optional, used to query by waiting room bypass rule name. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.str] status: Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] status: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. :param pulumi.Input[_builtins.str] waiting_room_id: Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. """ pulumi.set(__self__, "rule", rule) @@ -66,23 +66,23 @@ def rule_name(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Input[_builtins.int]: + def site_id(self) -> pulumi.Input[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: pulumi.Input[_builtins.int]): + def site_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "site_id", value) @_builtins.property @pulumi.getter def status(self) -> pulumi.Input[_builtins.str]: """ - Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. """ return pulumi.get(self, "status") @@ -108,7 +108,7 @@ class _WaitingRoomRuleState: def __init__(__self__, *, rule: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_id: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_rule_id: Optional[pulumi.Input[_builtins.int]] = None): @@ -116,10 +116,10 @@ def __init__(__self__, *, Input properties used for looking up and filtering WaitingRoomRule resources. :param pulumi.Input[_builtins.str] rule: The content of the rule, the implemented policy or conditional expression. :param pulumi.Input[_builtins.str] rule_name: Rule name, optional, used to query by waiting room bypass rule name. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.str] status: Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] status: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. :param pulumi.Input[_builtins.str] waiting_room_id: Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. :param pulumi.Input[_builtins.int] waiting_room_rule_id: The rule ID, which can be used to query a specific rule. """ @@ -162,23 +162,23 @@ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> Optional[pulumi.Input[_builtins.int]]: + def site_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ The site ID, which can be obtained by calling the ListSites API. """ return pulumi.get(self, "site_id") @site_id.setter - def site_id(self, value: Optional[pulumi.Input[_builtins.int]]): + def site_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "site_id", value) @_builtins.property @pulumi.getter def status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. """ return pulumi.get(self, "status") @@ -219,7 +219,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -274,6 +274,8 @@ def __init__(__self__, site_id=default_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room Rule can be imported using the id, e.g. @@ -286,10 +288,10 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] rule: The content of the rule, the implemented policy or conditional expression. :param pulumi.Input[_builtins.str] rule_name: Rule name, optional, used to query by waiting room bypass rule name. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.str] status: Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] status: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. :param pulumi.Input[_builtins.str] waiting_room_id: Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. """ ... @@ -349,6 +351,8 @@ def __init__(__self__, site_id=default_site.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESA Waiting Room Rule can be imported using the id, e.g. @@ -374,7 +378,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -414,7 +418,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, rule: Optional[pulumi.Input[_builtins.str]] = None, rule_name: Optional[pulumi.Input[_builtins.str]] = None, - site_id: Optional[pulumi.Input[_builtins.int]] = None, + site_id: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_id: Optional[pulumi.Input[_builtins.str]] = None, waiting_room_rule_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'WaitingRoomRule': @@ -427,10 +431,10 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] rule: The content of the rule, the implemented policy or conditional expression. :param pulumi.Input[_builtins.str] rule_name: Rule name, optional, used to query by waiting room bypass rule name. - :param pulumi.Input[_builtins.int] site_id: The site ID, which can be obtained by calling the ListSites API. - :param pulumi.Input[_builtins.str] status: Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + :param pulumi.Input[_builtins.str] site_id: The site ID, which can be obtained by calling the ListSites API. + :param pulumi.Input[_builtins.str] status: Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. :param pulumi.Input[_builtins.str] waiting_room_id: Waiting room ID, used to identify a specific waiting room. It can be obtained by calling the [listwaitingroom](https://help.aliyun.com/document_detail/2850279.html) interface. :param pulumi.Input[_builtins.int] waiting_room_rule_id: The rule ID, which can be used to query a specific rule. """ @@ -464,7 +468,7 @@ def rule_name(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="siteId") - def site_id(self) -> pulumi.Output[_builtins.int]: + def site_id(self) -> pulumi.Output[_builtins.str]: """ The site ID, which can be obtained by calling the ListSites API. """ @@ -474,9 +478,9 @@ def site_id(self) -> pulumi.Output[_builtins.int]: @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: """ - Rule enabled status, supporting: - -'on': means enabled. - -'off': means disabled. + Rule switch. When adding global configuration, this parameter does not need to be set. Value range: + - on: open. + - off: close. """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_alicloud/ess/alarm.py b/sdk/python/pulumi_alicloud/ess/alarm.py index 5b96ca0ce8..d344d228b3 100644 --- a/sdk/python/pulumi_alicloud/ess/alarm.py +++ b/sdk/python/pulumi_alicloud/ess/alarm.py @@ -710,6 +710,8 @@ def __init__(__self__, evaluation_count=2) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling-rule module @@ -837,6 +839,8 @@ def __init__(__self__, evaluation_count=2) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling-rule module diff --git a/sdk/python/pulumi_alicloud/ess/alb_server_group_attachment.py b/sdk/python/pulumi_alicloud/ess/alb_server_group_attachment.py index cb7c74ab75..bb80cdc897 100644 --- a/sdk/python/pulumi_alicloud/ess/alb_server_group_attachment.py +++ b/sdk/python/pulumi_alicloud/ess/alb_server_group_attachment.py @@ -285,6 +285,8 @@ def __init__(__self__, force_attach=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS alb server groups can be imported using the id, e.g. @@ -389,6 +391,8 @@ def __init__(__self__, force_attach=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS alb server groups can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ess/attachment.py b/sdk/python/pulumi_alicloud/ess/attachment.py index 1946a3bbb2..351f9b6ab6 100644 --- a/sdk/python/pulumi_alicloud/ess/attachment.py +++ b/sdk/python/pulumi_alicloud/ess/attachment.py @@ -362,6 +362,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS attachment can be imported using the id or scaling group id, e.g. @@ -482,6 +484,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS attachment can be imported using the id or scaling group id, e.g. diff --git a/sdk/python/pulumi_alicloud/ess/eci_scaling_configuration.py b/sdk/python/pulumi_alicloud/ess/eci_scaling_configuration.py index 62f5b7c105..d94252b0c7 100644 --- a/sdk/python/pulumi_alicloud/ess/eci_scaling_configuration.py +++ b/sdk/python/pulumi_alicloud/ess/eci_scaling_configuration.py @@ -1567,6 +1567,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS eci scaling configuration can be imported using the id, e.g. @@ -1707,6 +1709,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS eci scaling configuration can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ess/lifecycle_hook.py b/sdk/python/pulumi_alicloud/ess/lifecycle_hook.py index 87110e03bb..29f991f170 100644 --- a/sdk/python/pulumi_alicloud/ess/lifecycle_hook.py +++ b/sdk/python/pulumi_alicloud/ess/lifecycle_hook.py @@ -327,6 +327,8 @@ def __init__(__self__, notification_metadata="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module @@ -415,6 +417,8 @@ def __init__(__self__, notification_metadata="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module diff --git a/sdk/python/pulumi_alicloud/ess/notification.py b/sdk/python/pulumi_alicloud/ess/notification.py index e58750c8e4..dddb39b7d6 100644 --- a/sdk/python/pulumi_alicloud/ess/notification.py +++ b/sdk/python/pulumi_alicloud/ess/notification.py @@ -231,6 +231,8 @@ def __init__(__self__, notification_arn=default_queue.name.apply(lambda name: f"acs:ess:{default.regions[0].id}:{default_get_account.id}:queue/{name}")) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ess notification can be imported using the id, e.g. @@ -306,6 +308,8 @@ def __init__(__self__, notification_arn=default_queue.name.apply(lambda name: f"acs:ess:{default.regions[0].id}:{default_get_account.id}:queue/{name}")) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ess notification can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ess/scaling_configuration.py b/sdk/python/pulumi_alicloud/ess/scaling_configuration.py index 032dffe024..ac1b335bf8 100644 --- a/sdk/python/pulumi_alicloud/ess/scaling_configuration.py +++ b/sdk/python/pulumi_alicloud/ess/scaling_configuration.py @@ -2003,6 +2003,8 @@ def __init__(__self__, active=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module @@ -2164,6 +2166,8 @@ def __init__(__self__, active=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module diff --git a/sdk/python/pulumi_alicloud/ess/scaling_group.py b/sdk/python/pulumi_alicloud/ess/scaling_group.py index 5eb76b361a..45ec863ec1 100644 --- a/sdk/python/pulumi_alicloud/ess/scaling_group.py +++ b/sdk/python/pulumi_alicloud/ess/scaling_group.py @@ -1567,6 +1567,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module @@ -1720,6 +1722,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling module diff --git a/sdk/python/pulumi_alicloud/ess/scaling_rule.py b/sdk/python/pulumi_alicloud/ess/scaling_rule.py index 9c6c810d71..93f138ad42 100644 --- a/sdk/python/pulumi_alicloud/ess/scaling_rule.py +++ b/sdk/python/pulumi_alicloud/ess/scaling_rule.py @@ -910,6 +910,8 @@ def __init__(__self__, adjustment_value=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling-rule module @@ -1032,6 +1034,8 @@ def __init__(__self__, adjustment_value=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing autoscaling-rule module diff --git a/sdk/python/pulumi_alicloud/ess/server_group_attachment.py b/sdk/python/pulumi_alicloud/ess/server_group_attachment.py index 53d1454753..a76ca2de55 100644 --- a/sdk/python/pulumi_alicloud/ess/server_group_attachment.py +++ b/sdk/python/pulumi_alicloud/ess/server_group_attachment.py @@ -319,6 +319,8 @@ def __init__(__self__, force_attach=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.bool] force_attach: If instances of scaling group are attached/removed from backend server when @@ -418,6 +420,8 @@ def __init__(__self__, force_attach=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param ServerGroupAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ess/suspend_process.py b/sdk/python/pulumi_alicloud/ess/suspend_process.py index 33edb3bb39..6c1fbcc14a 100644 --- a/sdk/python/pulumi_alicloud/ess/suspend_process.py +++ b/sdk/python/pulumi_alicloud/ess/suspend_process.py @@ -164,6 +164,8 @@ def __init__(__self__, process="ScaleIn") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS suspend process can be imported using the id, e.g. @@ -244,6 +246,8 @@ def __init__(__self__, process="ScaleIn") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ESS suspend process can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/api_destination.py b/sdk/python/pulumi_alicloud/eventbridge/api_destination.py index bbd1cf4f2f..816a94acb7 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/api_destination.py +++ b/sdk/python/pulumi_alicloud/eventbridge/api_destination.py @@ -223,6 +223,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Api Destination can be imported using the id, e.g. @@ -281,6 +283,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Api Destination can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/connection.py b/sdk/python/pulumi_alicloud/eventbridge/connection.py index f6ad5b5b49..c71ff2bf41 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/connection.py +++ b/sdk/python/pulumi_alicloud/eventbridge/connection.py @@ -268,6 +268,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Connection can be imported using the id, e.g. @@ -370,6 +372,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/event_bus.py b/sdk/python/pulumi_alicloud/eventbridge/event_bus.py index 9e82b3d470..52b07f8d52 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/event_bus.py +++ b/sdk/python/pulumi_alicloud/eventbridge/event_bus.py @@ -126,6 +126,8 @@ def __init__(__self__, example = alicloud.eventbridge.EventBus("example", event_bus_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Event Bus can be imported using the id, e.g. @@ -167,6 +169,8 @@ def __init__(__self__, example = alicloud.eventbridge.EventBus("example", event_bus_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Event Bus can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/event_source.py b/sdk/python/pulumi_alicloud/eventbridge/event_source.py index 5d7e769d94..f2854a7631 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/event_source.py +++ b/sdk/python/pulumi_alicloud/eventbridge/event_source.py @@ -323,6 +323,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Event Source can be imported using the id, e.g. @@ -395,6 +397,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Event Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/rule.py b/sdk/python/pulumi_alicloud/eventbridge/rule.py index ce0b8ef64e..25c739a0d3 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/rule.py +++ b/sdk/python/pulumi_alicloud/eventbridge/rule.py @@ -293,6 +293,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Rule can be imported using the id, e.g. @@ -374,6 +376,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/eventbridge/service_linked_role.py b/sdk/python/pulumi_alicloud/eventbridge/service_linked_role.py index ddc4a1abf0..f16722192a 100644 --- a/sdk/python/pulumi_alicloud/eventbridge/service_linked_role.py +++ b/sdk/python/pulumi_alicloud/eventbridge/service_linked_role.py @@ -91,6 +91,8 @@ def __init__(__self__, default = alicloud.eventbridge.ServiceLinkedRole("default", product_name="AliyunServiceRoleForEventBridgeSourceRocketMQ") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Service Linked Role can be imported using the id, e.g. @@ -129,6 +131,8 @@ def __init__(__self__, default = alicloud.eventbridge.ServiceLinkedRole("default", product_name="AliyunServiceRoleForEventBridgeSourceRocketMQ") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Event Bridge Service Linked Role can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/ec_failover_test_job.py b/sdk/python/pulumi_alicloud/expressconnect/ec_failover_test_job.py index 7c1837ef48..33caa02269 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/ec_failover_test_job.py +++ b/sdk/python/pulumi_alicloud/expressconnect/ec_failover_test_job.py @@ -298,6 +298,8 @@ def __init__(__self__, ec_failover_test_job_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Ec Failover Test Job can be imported using the id, e.g. @@ -354,6 +356,8 @@ def __init__(__self__, ec_failover_test_job_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Ec Failover Test Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/grant_rule_to_cen.py b/sdk/python/pulumi_alicloud/expressconnect/grant_rule_to_cen.py index bfc4e7d9cc..d4b985d6fa 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/grant_rule_to_cen.py +++ b/sdk/python/pulumi_alicloud/expressconnect/grant_rule_to_cen.py @@ -193,6 +193,8 @@ def __init__(__self__, instance_id=default_virtual_border_router.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Grant Rule To Cen can be imported using the id, e.g. @@ -255,6 +257,8 @@ def __init__(__self__, instance_id=default_virtual_border_router.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Grant Rule To Cen can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/physical_connection.py b/sdk/python/pulumi_alicloud/expressconnect/physical_connection.py index 882d5598c3..8788be1911 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/physical_connection.py +++ b/sdk/python/pulumi_alicloud/expressconnect/physical_connection.py @@ -585,6 +585,8 @@ def __init__(__self__, bandwidth="100") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Physical Connection can be imported using the id, e.g. @@ -667,6 +669,8 @@ def __init__(__self__, bandwidth="100") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Physical Connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/router_grant_association.py b/sdk/python/pulumi_alicloud/expressconnect/router_grant_association.py index 7d9f93bcc9..92b56c67de 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/router_grant_association.py +++ b/sdk/python/pulumi_alicloud/expressconnect/router_grant_association.py @@ -264,6 +264,8 @@ def __init__(__self__, instance_type="VPC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Grant Association can be imported using the id, e.g. @@ -329,6 +331,8 @@ def __init__(__self__, instance_type="VPC") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Grant Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/router_interface.py b/sdk/python/pulumi_alicloud/expressconnect/router_interface.py index 6884e90435..110d0db56f 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/router_interface.py +++ b/sdk/python/pulumi_alicloud/expressconnect/router_interface.py @@ -1485,6 +1485,8 @@ def __init__(__self__, router_type="VBR") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Interface can be imported using the id, e.g. @@ -1638,6 +1640,8 @@ def __init__(__self__, router_type="VBR") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Interface can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/router_tr_association.py b/sdk/python/pulumi_alicloud/expressconnect/router_tr_association.py index 5e1a304502..06bd45c9b8 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/router_tr_association.py +++ b/sdk/python/pulumi_alicloud/expressconnect/router_tr_association.py @@ -334,6 +334,8 @@ def __init__(__self__, association_region_id="cn-hangzhou") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. @@ -408,6 +410,8 @@ def __init__(__self__, association_region_id="cn-hangzhou") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/router_vbr_child_instance.py b/sdk/python/pulumi_alicloud/expressconnect/router_vbr_child_instance.py index 0c00dc3df1..7289259dd0 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/router_vbr_child_instance.py +++ b/sdk/python/pulumi_alicloud/expressconnect/router_vbr_child_instance.py @@ -309,6 +309,8 @@ def __init__(__self__, child_instance_owner_id=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. @@ -370,6 +372,8 @@ def __init__(__self__, child_instance_owner_id=current.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Vbr Child Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/router_vpc_association.py b/sdk/python/pulumi_alicloud/expressconnect/router_vpc_association.py index 85f37766d4..32ec3f84b2 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/router_vpc_association.py +++ b/sdk/python/pulumi_alicloud/expressconnect/router_vpc_association.py @@ -288,6 +288,8 @@ def __init__(__self__, vpc_id=default8q_at_d6.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. @@ -346,6 +348,8 @@ def __init__(__self__, vpc_id=default8q_at_d6.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Router Express Connect Router Vpc Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos.py b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos.py index b7d8e9c69f..655d250242 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos.py +++ b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos.py @@ -221,6 +221,8 @@ def __init__(__self__, qos_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos can be imported using the id, e.g. @@ -270,6 +272,8 @@ def __init__(__self__, qos_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_association.py b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_association.py index ff1a9b3bf1..dfb969d3bc 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_association.py +++ b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_association.py @@ -182,6 +182,8 @@ def __init__(__self__, instance_type="PHYSICALCONNECTION") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Association can be imported using the id, e.g. @@ -231,6 +233,8 @@ def __init__(__self__, instance_type="PHYSICALCONNECTION") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_queue.py b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_queue.py index efdbfa7528..35be397b38 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_queue.py +++ b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_queue.py @@ -311,6 +311,8 @@ def __init__(__self__, queue_type="Medium") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Queue can be imported using the id, e.g. @@ -380,6 +382,8 @@ def __init__(__self__, queue_type="Medium") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Queue can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_rule.py b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_rule.py index 21651a3dd9..a83356ca2e 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_rule.py +++ b/sdk/python/pulumi_alicloud/expressconnect/traffic_qos_rule.py @@ -747,6 +747,8 @@ def __init__(__self__, rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Rule can be imported using the id, e.g. @@ -870,6 +872,8 @@ def __init__(__self__, rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Traffic Qos Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/vbr_pconn_association.py b/sdk/python/pulumi_alicloud/expressconnect/vbr_pconn_association.py index 096d9de9e3..46497ab2ca 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/vbr_pconn_association.py +++ b/sdk/python/pulumi_alicloud/expressconnect/vbr_pconn_association.py @@ -479,6 +479,8 @@ def __init__(__self__, peering_ipv6_subnet_mask="2408:4004:cc::/56") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Vbr Pconn Association can be imported using the id, e.g. @@ -563,6 +565,8 @@ def __init__(__self__, peering_ipv6_subnet_mask="2408:4004:cc::/56") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Vbr Pconn Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/expressconnect/virtual_border_router.py b/sdk/python/pulumi_alicloud/expressconnect/virtual_border_router.py index 922a34cd3f..6c2164a21c 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/virtual_border_router.py +++ b/sdk/python/pulumi_alicloud/expressconnect/virtual_border_router.py @@ -885,6 +885,8 @@ def __init__(__self__, detect_multiplier=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Virtual Border Router can be imported using the id, e.g. @@ -965,6 +967,8 @@ def __init__(__self__, detect_multiplier=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Virtual Border Router can be imported using the id, e.g. @@ -1169,7 +1173,7 @@ def associated_physical_connections(self) -> pulumi.Output[Optional[_builtins.st @_builtins.property @pulumi.getter - def bandwidth(self) -> pulumi.Output[Optional[_builtins.int]]: + def bandwidth(self) -> pulumi.Output[_builtins.int]: """ The bandwidth of the VBR instance. Unit: Mbps. Valid values: - When creating a VBR instance for an exclusive leased line, the values are `50`, `100`, `200`, `300`, `400`, `500`, `1000`, `2048`, `5120`, `8192`, `10240`, `20480`, `40960`, `50120`, `61440`, and `102400`. diff --git a/sdk/python/pulumi_alicloud/expressconnect/virtual_physical_connection.py b/sdk/python/pulumi_alicloud/expressconnect/virtual_physical_connection.py index 1d832c6bfe..a71f160926 100644 --- a/sdk/python/pulumi_alicloud/expressconnect/virtual_physical_connection.py +++ b/sdk/python/pulumi_alicloud/expressconnect/virtual_physical_connection.py @@ -679,6 +679,8 @@ def __init__(__self__, vpconn_ali_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Virtual Physical Connection can be imported using the id, e.g. @@ -743,6 +745,8 @@ def __init__(__self__, vpconn_ali_uid=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Virtual Physical Connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/alias.py b/sdk/python/pulumi_alicloud/fc/alias.py index 50d1e957c9..1794b715e4 100644 --- a/sdk/python/pulumi_alicloud/fc/alias.py +++ b/sdk/python/pulumi_alicloud/fc/alias.py @@ -232,6 +232,8 @@ def __init__(__self__, service_version="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute alias can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, service_version="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute alias can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/custom_domain.py b/sdk/python/pulumi_alicloud/fc/custom_domain.py index 91c498accc..677a997688 100644 --- a/sdk/python/pulumi_alicloud/fc/custom_domain.py +++ b/sdk/python/pulumi_alicloud/fc/custom_domain.py @@ -331,6 +331,8 @@ def handler(event, context): }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute custom domain can be imported using the id or the domain name, e.g. @@ -448,6 +450,8 @@ def handler(event, context): }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute custom domain can be imported using the id or the domain name, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/function_async_invoke_config.py b/sdk/python/pulumi_alicloud/fc/function_async_invoke_config.py index 43fe805afa..94404dc7cb 100644 --- a/sdk/python/pulumi_alicloud/fc/function_async_invoke_config.py +++ b/sdk/python/pulumi_alicloud/fc/function_async_invoke_config.py @@ -403,6 +403,8 @@ def handler(event, context): qualifier="LATEST") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Function Async Invoke Configs can be imported using the id, e.g. @@ -528,6 +530,8 @@ def handler(event, context): qualifier="LATEST") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Function Async Invoke Configs can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/layer_version.py b/sdk/python/pulumi_alicloud/fc/layer_version.py index 48ba93f830..e0093c6d79 100644 --- a/sdk/python/pulumi_alicloud/fc/layer_version.py +++ b/sdk/python/pulumi_alicloud/fc/layer_version.py @@ -370,6 +370,8 @@ def handler(event, context): oss_object_name=default_bucket_object.key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Layer Version can be imported using the id, e.g. @@ -426,6 +428,8 @@ def handler(event, context): oss_object_name=default_bucket_object.key) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Layer Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/trigger.py b/sdk/python/pulumi_alicloud/fc/trigger.py index 1e04f6680c..9458894337 100644 --- a/sdk/python/pulumi_alicloud/fc/trigger.py +++ b/sdk/python/pulumi_alicloud/fc/trigger.py @@ -877,6 +877,8 @@ def handler(event, context): })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing fc module @@ -1408,6 +1410,8 @@ def handler(event, context): })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing fc module diff --git a/sdk/python/pulumi_alicloud/fc/v3_alias.py b/sdk/python/pulumi_alicloud/fc/v3_alias.py index c3fa9fa61a..5ae559cba8 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_alias.py +++ b/sdk/python/pulumi_alicloud/fc/v3_alias.py @@ -269,6 +269,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Alias can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Alias can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_async_invoke_config.py b/sdk/python/pulumi_alicloud/fc/v3_async_invoke_config.py index 59beaad177..83f372c188 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_async_invoke_config.py +++ b/sdk/python/pulumi_alicloud/fc/v3_async_invoke_config.py @@ -372,6 +372,8 @@ def __init__(__self__, qualifier="LATEST") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Async Invoke Config can be imported using the id, e.g. @@ -481,6 +483,8 @@ def __init__(__self__, qualifier="LATEST") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Async Invoke Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_concurrency_config.py b/sdk/python/pulumi_alicloud/fc/v3_concurrency_config.py index 4c898a34db..0215c0ad80 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_concurrency_config.py +++ b/sdk/python/pulumi_alicloud/fc/v3_concurrency_config.py @@ -159,6 +159,8 @@ def __init__(__self__, reserved_concurrency=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Concurrency Config can be imported using the id, e.g. @@ -217,6 +219,8 @@ def __init__(__self__, reserved_concurrency=100) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Concurrency Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_custom_domain.py b/sdk/python/pulumi_alicloud/fc/v3_custom_domain.py index f68fb0ab51..b11a945611 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_custom_domain.py +++ b/sdk/python/pulumi_alicloud/fc/v3_custom_domain.py @@ -542,6 +542,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Custom Domain can be imported using the id, e.g. @@ -756,6 +758,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Custom Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_function.py b/sdk/python/pulumi_alicloud/fc/v3_function.py index f865193ee6..6e9fbfc38e 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_function.py +++ b/sdk/python/pulumi_alicloud/fc/v3_function.py @@ -33,6 +33,7 @@ def __init__(__self__, *, environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, function_name: Optional[pulumi.Input[_builtins.str]] = None, gpu_config: Optional[pulumi.Input['V3FunctionGpuConfigArgs']] = None, + idle_timeout: Optional[pulumi.Input[_builtins.int]] = None, instance_concurrency: Optional[pulumi.Input[_builtins.int]] = None, instance_isolation_mode: Optional[pulumi.Input[_builtins.str]] = None, instance_lifecycle_config: Optional[pulumi.Input['V3FunctionInstanceLifecycleConfigArgs']] = None, @@ -53,8 +54,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a V3Function resource. :param pulumi.Input[_builtins.str] handler: Function Handler: the call entry for the function compute system to run your function. - :param pulumi.Input[_builtins.str] runtime: Function runtime type. - :param pulumi.Input['V3FunctionCodeArgs'] code: Function code ZIP package. code and customContainerConfig. See `code` below. + :param pulumi.Input[_builtins.str] runtime: Function runtime type :param pulumi.Input[_builtins.float] cpu: The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. :param pulumi.Input['V3FunctionCustomContainerConfigArgs'] custom_container_config: The configuration of the custom container runtime. After the configuration is successful, the function can use the custom container image to execute the function. code and customContainerConfig. See `custom_container_config` below. :param pulumi.Input['V3FunctionCustomDnsArgs'] custom_dns: Function custom DNS configuration See `custom_dns` below. @@ -64,6 +64,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] environment_variables: The environment variable set for the function, you can get the value of the environment variable in the function. :param pulumi.Input[_builtins.str] function_name: The function name. Consists of uppercase and lowercase letters, digits (0 to 9), underscores (_), and dashes (-). It must begin with an English letter (a ~ z), (A ~ Z), or an underscore (_). Case sensitive. The length is 1~128 characters. :param pulumi.Input['V3FunctionGpuConfigArgs'] gpu_config: Function GPU configuration. See `gpu_config` below. + :param pulumi.Input[_builtins.int] idle_timeout: Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. :param pulumi.Input[_builtins.int] instance_concurrency: Maximum instance concurrency. :param pulumi.Input[_builtins.str] instance_isolation_mode: Instance isolation mode :param pulumi.Input['V3FunctionInstanceLifecycleConfigArgs'] instance_lifecycle_config: Instance lifecycle callback method configuration. See `instance_lifecycle_config` below. @@ -74,7 +75,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.int] memory_size: The memory specification of the function. The unit is MB. The memory size is a multiple of 64MB. The minimum value is 128MB and the maximum value is 32GB. At the same time, the ratio of cpu to memorySize (calculated by GB) should be between 1:1 and 1:4. :param pulumi.Input['V3FunctionNasConfigArgs'] nas_config: NAS configuration. After this parameter is configured, the function can access the specified NAS resource. See `nas_config` below. :param pulumi.Input['V3FunctionOssMountConfigArgs'] oss_mount_config: OSS mount configuration See `oss_mount_config` below. - :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID. + :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID :param pulumi.Input[_builtins.str] role: The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS :param pulumi.Input[_builtins.str] session_affinity: The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. :param pulumi.Input[_builtins.str] session_affinity_config: When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. @@ -104,6 +105,8 @@ def __init__(__self__, *, pulumi.set(__self__, "function_name", function_name) if gpu_config is not None: pulumi.set(__self__, "gpu_config", gpu_config) + if idle_timeout is not None: + pulumi.set(__self__, "idle_timeout", idle_timeout) if instance_concurrency is not None: pulumi.set(__self__, "instance_concurrency", instance_concurrency) if instance_isolation_mode is not None: @@ -155,7 +158,7 @@ def handler(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def runtime(self) -> pulumi.Input[_builtins.str]: """ - Function runtime type. + Function runtime type """ return pulumi.get(self, "runtime") @@ -166,9 +169,6 @@ def runtime(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter def code(self) -> Optional[pulumi.Input['V3FunctionCodeArgs']]: - """ - Function code ZIP package. code and customContainerConfig. See `code` below. - """ return pulumi.get(self, "code") @code.setter @@ -283,6 +283,18 @@ def gpu_config(self) -> Optional[pulumi.Input['V3FunctionGpuConfigArgs']]: def gpu_config(self, value: Optional[pulumi.Input['V3FunctionGpuConfigArgs']]): pulumi.set(self, "gpu_config", value) + @_builtins.property + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + """ + return pulumi.get(self, "idle_timeout") + + @idle_timeout.setter + def idle_timeout(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "idle_timeout", value) + @_builtins.property @pulumi.getter(name="instanceConcurrency") def instance_concurrency(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -407,7 +419,7 @@ def oss_mount_config(self, value: Optional[pulumi.Input['V3FunctionOssMountConfi @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Resource Group ID. + Resource Group ID """ return pulumi.get(self, "resource_group_id") @@ -506,6 +518,7 @@ def __init__(__self__, *, function_name: Optional[pulumi.Input[_builtins.str]] = None, gpu_config: Optional[pulumi.Input['V3FunctionGpuConfigArgs']] = None, handler: Optional[pulumi.Input[_builtins.str]] = None, + idle_timeout: Optional[pulumi.Input[_builtins.int]] = None, instance_concurrency: Optional[pulumi.Input[_builtins.int]] = None, instance_isolation_mode: Optional[pulumi.Input[_builtins.str]] = None, instance_lifecycle_config: Optional[pulumi.Input['V3FunctionInstanceLifecycleConfigArgs']] = None, @@ -534,7 +547,6 @@ def __init__(__self__, *, vpc_config: Optional[pulumi.Input['V3FunctionVpcConfigArgs']] = None): """ Input properties used for looking up and filtering V3Function resources. - :param pulumi.Input['V3FunctionCodeArgs'] code: Function code ZIP package. code and customContainerConfig. See `code` below. :param pulumi.Input[_builtins.int] code_size: The code package size of the function returned by the system, in byte Example : 1024 :param pulumi.Input[_builtins.float] cpu: The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. :param pulumi.Input[_builtins.str] create_time: The creation time of the function. @@ -549,6 +561,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] function_name: The function name. Consists of uppercase and lowercase letters, digits (0 to 9), underscores (_), and dashes (-). It must begin with an English letter (a ~ z), (A ~ Z), or an underscore (_). Case sensitive. The length is 1~128 characters. :param pulumi.Input['V3FunctionGpuConfigArgs'] gpu_config: Function GPU configuration. See `gpu_config` below. :param pulumi.Input[_builtins.str] handler: Function Handler: the call entry for the function compute system to run your function. + :param pulumi.Input[_builtins.int] idle_timeout: Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. :param pulumi.Input[_builtins.int] instance_concurrency: Maximum instance concurrency. :param pulumi.Input[_builtins.str] instance_isolation_mode: Instance isolation mode :param pulumi.Input['V3FunctionInstanceLifecycleConfigArgs'] instance_lifecycle_config: Instance lifecycle callback method configuration. See `instance_lifecycle_config` below. @@ -563,9 +576,9 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.int] memory_size: The memory specification of the function. The unit is MB. The memory size is a multiple of 64MB. The minimum value is 128MB and the maximum value is 32GB. At the same time, the ratio of cpu to memorySize (calculated by GB) should be between 1:1 and 1:4. :param pulumi.Input['V3FunctionNasConfigArgs'] nas_config: NAS configuration. After this parameter is configured, the function can access the specified NAS resource. See `nas_config` below. :param pulumi.Input['V3FunctionOssMountConfigArgs'] oss_mount_config: OSS mount configuration See `oss_mount_config` below. - :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID. + :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID :param pulumi.Input[_builtins.str] role: The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS - :param pulumi.Input[_builtins.str] runtime: Function runtime type. + :param pulumi.Input[_builtins.str] runtime: Function runtime type :param pulumi.Input[_builtins.str] session_affinity: The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. :param pulumi.Input[_builtins.str] session_affinity_config: When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. :param pulumi.Input[_builtins.str] state: Function Status @@ -606,6 +619,8 @@ def __init__(__self__, *, pulumi.set(__self__, "gpu_config", gpu_config) if handler is not None: pulumi.set(__self__, "handler", handler) + if idle_timeout is not None: + pulumi.set(__self__, "idle_timeout", idle_timeout) if instance_concurrency is not None: pulumi.set(__self__, "instance_concurrency", instance_concurrency) if instance_isolation_mode is not None: @@ -662,9 +677,6 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter def code(self) -> Optional[pulumi.Input['V3FunctionCodeArgs']]: - """ - Function code ZIP package. code and customContainerConfig. See `code` below. - """ return pulumi.get(self, "code") @code.setter @@ -839,6 +851,18 @@ def handler(self) -> Optional[pulumi.Input[_builtins.str]]: def handler(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "handler", value) + @_builtins.property + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + """ + return pulumi.get(self, "idle_timeout") + + @idle_timeout.setter + def idle_timeout(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "idle_timeout", value) + @_builtins.property @pulumi.getter(name="instanceConcurrency") def instance_concurrency(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -1011,7 +1035,7 @@ def oss_mount_config(self, value: Optional[pulumi.Input['V3FunctionOssMountConfi @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Resource Group ID. + Resource Group ID """ return pulumi.get(self, "resource_group_id") @@ -1035,7 +1059,7 @@ def role(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def runtime(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Function runtime type. + Function runtime type """ return pulumi.get(self, "runtime") @@ -1169,6 +1193,7 @@ def __init__(__self__, function_name: Optional[pulumi.Input[_builtins.str]] = None, gpu_config: Optional[pulumi.Input[Union['V3FunctionGpuConfigArgs', 'V3FunctionGpuConfigArgsDict']]] = None, handler: Optional[pulumi.Input[_builtins.str]] = None, + idle_timeout: Optional[pulumi.Input[_builtins.int]] = None, instance_concurrency: Optional[pulumi.Input[_builtins.int]] = None, instance_isolation_mode: Optional[pulumi.Input[_builtins.str]] = None, instance_lifecycle_config: Optional[pulumi.Input[Union['V3FunctionInstanceLifecycleConfigArgs', 'V3FunctionInstanceLifecycleConfigArgsDict']]] = None, @@ -1272,6 +1297,8 @@ def __init__(__self__, internet_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -1282,7 +1309,6 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['V3FunctionCodeArgs', 'V3FunctionCodeArgsDict']] code: Function code ZIP package. code and customContainerConfig. See `code` below. :param pulumi.Input[_builtins.float] cpu: The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. :param pulumi.Input[Union['V3FunctionCustomContainerConfigArgs', 'V3FunctionCustomContainerConfigArgsDict']] custom_container_config: The configuration of the custom container runtime. After the configuration is successful, the function can use the custom container image to execute the function. code and customContainerConfig. See `custom_container_config` below. :param pulumi.Input[Union['V3FunctionCustomDnsArgs', 'V3FunctionCustomDnsArgsDict']] custom_dns: Function custom DNS configuration See `custom_dns` below. @@ -1293,6 +1319,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] function_name: The function name. Consists of uppercase and lowercase letters, digits (0 to 9), underscores (_), and dashes (-). It must begin with an English letter (a ~ z), (A ~ Z), or an underscore (_). Case sensitive. The length is 1~128 characters. :param pulumi.Input[Union['V3FunctionGpuConfigArgs', 'V3FunctionGpuConfigArgsDict']] gpu_config: Function GPU configuration. See `gpu_config` below. :param pulumi.Input[_builtins.str] handler: Function Handler: the call entry for the function compute system to run your function. + :param pulumi.Input[_builtins.int] idle_timeout: Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. :param pulumi.Input[_builtins.int] instance_concurrency: Maximum instance concurrency. :param pulumi.Input[_builtins.str] instance_isolation_mode: Instance isolation mode :param pulumi.Input[Union['V3FunctionInstanceLifecycleConfigArgs', 'V3FunctionInstanceLifecycleConfigArgsDict']] instance_lifecycle_config: Instance lifecycle callback method configuration. See `instance_lifecycle_config` below. @@ -1303,9 +1330,9 @@ def __init__(__self__, :param pulumi.Input[_builtins.int] memory_size: The memory specification of the function. The unit is MB. The memory size is a multiple of 64MB. The minimum value is 128MB and the maximum value is 32GB. At the same time, the ratio of cpu to memorySize (calculated by GB) should be between 1:1 and 1:4. :param pulumi.Input[Union['V3FunctionNasConfigArgs', 'V3FunctionNasConfigArgsDict']] nas_config: NAS configuration. After this parameter is configured, the function can access the specified NAS resource. See `nas_config` below. :param pulumi.Input[Union['V3FunctionOssMountConfigArgs', 'V3FunctionOssMountConfigArgsDict']] oss_mount_config: OSS mount configuration See `oss_mount_config` below. - :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID. + :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID :param pulumi.Input[_builtins.str] role: The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS - :param pulumi.Input[_builtins.str] runtime: Function runtime type. + :param pulumi.Input[_builtins.str] runtime: Function runtime type :param pulumi.Input[_builtins.str] session_affinity: The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. :param pulumi.Input[_builtins.str] session_affinity_config: When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource @@ -1402,6 +1429,8 @@ def __init__(__self__, internet_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Function Compute Service V3 (FCV3) Function can be imported using the id, e.g. @@ -1436,6 +1465,7 @@ def _internal_init(__self__, function_name: Optional[pulumi.Input[_builtins.str]] = None, gpu_config: Optional[pulumi.Input[Union['V3FunctionGpuConfigArgs', 'V3FunctionGpuConfigArgsDict']]] = None, handler: Optional[pulumi.Input[_builtins.str]] = None, + idle_timeout: Optional[pulumi.Input[_builtins.int]] = None, instance_concurrency: Optional[pulumi.Input[_builtins.int]] = None, instance_isolation_mode: Optional[pulumi.Input[_builtins.str]] = None, instance_lifecycle_config: Optional[pulumi.Input[Union['V3FunctionInstanceLifecycleConfigArgs', 'V3FunctionInstanceLifecycleConfigArgsDict']]] = None, @@ -1476,6 +1506,7 @@ def _internal_init(__self__, if handler is None and not opts.urn: raise TypeError("Missing required property 'handler'") __props__.__dict__["handler"] = handler + __props__.__dict__["idle_timeout"] = idle_timeout __props__.__dict__["instance_concurrency"] = instance_concurrency __props__.__dict__["instance_isolation_mode"] = instance_isolation_mode __props__.__dict__["instance_lifecycle_config"] = instance_lifecycle_config @@ -1533,6 +1564,7 @@ def get(resource_name: str, function_name: Optional[pulumi.Input[_builtins.str]] = None, gpu_config: Optional[pulumi.Input[Union['V3FunctionGpuConfigArgs', 'V3FunctionGpuConfigArgsDict']]] = None, handler: Optional[pulumi.Input[_builtins.str]] = None, + idle_timeout: Optional[pulumi.Input[_builtins.int]] = None, instance_concurrency: Optional[pulumi.Input[_builtins.int]] = None, instance_isolation_mode: Optional[pulumi.Input[_builtins.str]] = None, instance_lifecycle_config: Optional[pulumi.Input[Union['V3FunctionInstanceLifecycleConfigArgs', 'V3FunctionInstanceLifecycleConfigArgsDict']]] = None, @@ -1566,7 +1598,6 @@ 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[Union['V3FunctionCodeArgs', 'V3FunctionCodeArgsDict']] code: Function code ZIP package. code and customContainerConfig. See `code` below. :param pulumi.Input[_builtins.int] code_size: The code package size of the function returned by the system, in byte Example : 1024 :param pulumi.Input[_builtins.float] cpu: The CPU specification of the function. The unit is vCPU, which is a multiple of the 0.05 vCPU. :param pulumi.Input[_builtins.str] create_time: The creation time of the function. @@ -1581,6 +1612,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] function_name: The function name. Consists of uppercase and lowercase letters, digits (0 to 9), underscores (_), and dashes (-). It must begin with an English letter (a ~ z), (A ~ Z), or an underscore (_). Case sensitive. The length is 1~128 characters. :param pulumi.Input[Union['V3FunctionGpuConfigArgs', 'V3FunctionGpuConfigArgsDict']] gpu_config: Function GPU configuration. See `gpu_config` below. :param pulumi.Input[_builtins.str] handler: Function Handler: the call entry for the function compute system to run your function. + :param pulumi.Input[_builtins.int] idle_timeout: Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. :param pulumi.Input[_builtins.int] instance_concurrency: Maximum instance concurrency. :param pulumi.Input[_builtins.str] instance_isolation_mode: Instance isolation mode :param pulumi.Input[Union['V3FunctionInstanceLifecycleConfigArgs', 'V3FunctionInstanceLifecycleConfigArgsDict']] instance_lifecycle_config: Instance lifecycle callback method configuration. See `instance_lifecycle_config` below. @@ -1595,9 +1627,9 @@ def get(resource_name: str, :param pulumi.Input[_builtins.int] memory_size: The memory specification of the function. The unit is MB. The memory size is a multiple of 64MB. The minimum value is 128MB and the maximum value is 32GB. At the same time, the ratio of cpu to memorySize (calculated by GB) should be between 1:1 and 1:4. :param pulumi.Input[Union['V3FunctionNasConfigArgs', 'V3FunctionNasConfigArgsDict']] nas_config: NAS configuration. After this parameter is configured, the function can access the specified NAS resource. See `nas_config` below. :param pulumi.Input[Union['V3FunctionOssMountConfigArgs', 'V3FunctionOssMountConfigArgsDict']] oss_mount_config: OSS mount configuration See `oss_mount_config` below. - :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID. + :param pulumi.Input[_builtins.str] resource_group_id: Resource Group ID :param pulumi.Input[_builtins.str] role: The user is authorized to the RAM role of function compute. After the configuration, function compute will assume this role to generate temporary access credentials. In the function, you can use the temporary access credentials of the role to access the specified Alibaba cloud service, such as OSS and OTS - :param pulumi.Input[_builtins.str] runtime: Function runtime type. + :param pulumi.Input[_builtins.str] runtime: Function runtime type :param pulumi.Input[_builtins.str] session_affinity: The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. :param pulumi.Input[_builtins.str] session_affinity_config: When you set the sessionAffinity affinity type, you need to set the relevant affinity configuration. For example, the MCP_SSE affinity needs to fill in the mcpssessionaffinityconfig configuration. The Cookie affinity needs to be filled with the CookieSessionAffinityConfig configuration, and the Header Field affinity needs to be filled with the HeaderFieldSessionAffinityConfig configuration. :param pulumi.Input[_builtins.str] state: Function Status @@ -1627,6 +1659,7 @@ def get(resource_name: str, __props__.__dict__["function_name"] = function_name __props__.__dict__["gpu_config"] = gpu_config __props__.__dict__["handler"] = handler + __props__.__dict__["idle_timeout"] = idle_timeout __props__.__dict__["instance_concurrency"] = instance_concurrency __props__.__dict__["instance_isolation_mode"] = instance_isolation_mode __props__.__dict__["instance_lifecycle_config"] = instance_lifecycle_config @@ -1658,9 +1691,6 @@ def get(resource_name: str, @_builtins.property @pulumi.getter def code(self) -> pulumi.Output[Optional['outputs.V3FunctionCode']]: - """ - Function code ZIP package. code and customContainerConfig. See `code` below. - """ return pulumi.get(self, "code") @_builtins.property @@ -1775,6 +1805,14 @@ def handler(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "handler") + @_builtins.property + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Destroy an instance when the instance no-request duration exceeds this attribute. - 1 means that the threshold is cleared and the system default behavior is used. + """ + return pulumi.get(self, "idle_timeout") + @_builtins.property @pulumi.getter(name="instanceConcurrency") def instance_concurrency(self) -> pulumi.Output[_builtins.int]: @@ -1785,7 +1823,7 @@ def instance_concurrency(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="instanceIsolationMode") - def instance_isolation_mode(self) -> pulumi.Output[Optional[_builtins.str]]: + def instance_isolation_mode(self) -> pulumi.Output[_builtins.str]: """ Instance isolation mode """ @@ -1891,7 +1929,7 @@ def oss_mount_config(self) -> pulumi.Output['outputs.V3FunctionOssMountConfig']: @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> pulumi.Output[_builtins.str]: """ - Resource Group ID. + Resource Group ID """ return pulumi.get(self, "resource_group_id") @@ -1907,13 +1945,13 @@ def role(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter def runtime(self) -> pulumi.Output[_builtins.str]: """ - Function runtime type. + Function runtime type """ return pulumi.get(self, "runtime") @_builtins.property @pulumi.getter(name="sessionAffinity") - def session_affinity(self) -> pulumi.Output[Optional[_builtins.str]]: + def session_affinity(self) -> pulumi.Output[_builtins.str]: """ The affinity policy of the function compute call request. To implement the request affinity of the MCP SSE protocol, set it to MCP_SSE. If Cookie affinity is used, it can be set to GENERATED_COOKIE. If Header affinity is used, it can be set to HEADER_FIELD. If it is not set or set to NONE, the affinity effect is not set, and the request is routed according to the default scheduling policy of the function calculation system. """ diff --git a/sdk/python/pulumi_alicloud/fc/v3_function_version.py b/sdk/python/pulumi_alicloud/fc/v3_function_version.py index 5f6595002f..d3c74b7ee7 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_function_version.py +++ b/sdk/python/pulumi_alicloud/fc/v3_function_version.py @@ -193,6 +193,8 @@ def __init__(__self__, description="version1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Function Version can be imported using the id, e.g. @@ -253,6 +255,8 @@ def __init__(__self__, description="version1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Function Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_layer_version.py b/sdk/python/pulumi_alicloud/fc/v3_layer_version.py index 78cebe0fa2..cd14284e12 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_layer_version.py +++ b/sdk/python/pulumi_alicloud/fc/v3_layer_version.py @@ -366,6 +366,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Layer Version can be imported using the id, e.g. @@ -421,6 +423,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Layer Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_provision_config.py b/sdk/python/pulumi_alicloud/fc/v3_provision_config.py index 666acf6028..890b17891b 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_provision_config.py +++ b/sdk/python/pulumi_alicloud/fc/v3_provision_config.py @@ -437,6 +437,8 @@ def __init__(__self__, always_allocate_cpu=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Provision Config can be imported using the id, e.g. @@ -579,6 +581,8 @@ def __init__(__self__, always_allocate_cpu=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Provision Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_trigger.py b/sdk/python/pulumi_alicloud/fc/v3_trigger.py index 2f34c85e60..5e24973e7e 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_trigger.py +++ b/sdk/python/pulumi_alicloud/fc/v3_trigger.py @@ -506,6 +506,8 @@ def __init__(__self__, pulumi.export("outputCalicloudFcv3TriggerIntranet", alicloud_fcv3_trigger["default"]["httpTrigger"][0]["urlIntranet"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Trigger can be imported using the id, e.g. @@ -639,6 +641,8 @@ def __init__(__self__, pulumi.export("outputCalicloudFcv3TriggerIntranet", alicloud_fcv3_trigger["default"]["httpTrigger"][0]["urlIntranet"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Trigger can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fc/v3_vpc_binding.py b/sdk/python/pulumi_alicloud/fc/v3_vpc_binding.py index 6d8567877d..3358219cf8 100644 --- a/sdk/python/pulumi_alicloud/fc/v3_vpc_binding.py +++ b/sdk/python/pulumi_alicloud/fc/v3_vpc_binding.py @@ -144,6 +144,8 @@ def __init__(__self__, vpc_id=vpc.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Vpc Binding can be imported using the id, e.g. @@ -203,6 +205,8 @@ def __init__(__self__, vpc_id=vpc.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import FCV3 Vpc Binding can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fnf/execution.py b/sdk/python/pulumi_alicloud/fnf/execution.py index 165bd657a3..7e970910f3 100644 --- a/sdk/python/pulumi_alicloud/fnf/execution.py +++ b/sdk/python/pulumi_alicloud/fnf/execution.py @@ -223,6 +223,8 @@ def __init__(__self__, input="{\\"wait\\": 600}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Execution can be imported using the id, e.g. @@ -298,6 +300,8 @@ def __init__(__self__, input="{\\"wait\\": 600}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Execution can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fnf/flow.py b/sdk/python/pulumi_alicloud/fnf/flow.py index d09cfc856c..d7cae83b90 100644 --- a/sdk/python/pulumi_alicloud/fnf/flow.py +++ b/sdk/python/pulumi_alicloud/fnf/flow.py @@ -278,6 +278,8 @@ def __init__(__self__, type="FDL") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Flow can be imported using the id, e.g. @@ -345,6 +347,8 @@ def __init__(__self__, type="FDL") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Flow can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/fnf/schedule.py b/sdk/python/pulumi_alicloud/fnf/schedule.py index 3902c209cc..bcf890850f 100644 --- a/sdk/python/pulumi_alicloud/fnf/schedule.py +++ b/sdk/python/pulumi_alicloud/fnf/schedule.py @@ -300,6 +300,8 @@ def __init__(__self__, schedule_name="tf-exampleFnFSchedule983041") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Schedule can be imported using the id, e.g. @@ -357,6 +359,8 @@ def __init__(__self__, schedule_name="tf-exampleFnFSchedule983041") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless Workflow Schedule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/accelerator.py b/sdk/python/pulumi_alicloud/ga/accelerator.py index ee17a3749d..7dd3305401 100644 --- a/sdk/python/pulumi_alicloud/ga/accelerator.py +++ b/sdk/python/pulumi_alicloud/ga/accelerator.py @@ -607,6 +607,8 @@ def __init__(__self__, spec="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Accelerator can be imported using the id, e.g. @@ -669,6 +671,8 @@ def __init__(__self__, spec="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Accelerator can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/accelerator_spare_ip_attachment.py b/sdk/python/pulumi_alicloud/ga/accelerator_spare_ip_attachment.py index 4053e5948b..af65a21683 100644 --- a/sdk/python/pulumi_alicloud/ga/accelerator_spare_ip_attachment.py +++ b/sdk/python/pulumi_alicloud/ga/accelerator_spare_ip_attachment.py @@ -191,6 +191,8 @@ def __init__(__self__, spare_ip="127.0.0.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. @@ -250,6 +252,8 @@ def __init__(__self__, spare_ip="127.0.0.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Accelerator Spare Ip Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/access_log.py b/sdk/python/pulumi_alicloud/ga/access_log.py index eb6d9dbbba..88b340afd1 100644 --- a/sdk/python/pulumi_alicloud/ga/access_log.py +++ b/sdk/python/pulumi_alicloud/ga/access_log.py @@ -319,6 +319,8 @@ def __init__(__self__, sls_region_id=region) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Access Log can be imported using the id, e.g. @@ -414,6 +416,8 @@ def __init__(__self__, sls_region_id=region) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Access Log can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/acl.py b/sdk/python/pulumi_alicloud/ga/acl.py index 9568362208..d7b09d1fdc 100644 --- a/sdk/python/pulumi_alicloud/ga/acl.py +++ b/sdk/python/pulumi_alicloud/ga/acl.py @@ -286,6 +286,8 @@ def __init__(__self__, entry_description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl can be imported using the id, e.g. @@ -333,6 +335,8 @@ def __init__(__self__, entry_description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/acl_attachment.py b/sdk/python/pulumi_alicloud/ga/acl_attachment.py index e8ce7e7c3c..45ad6fc042 100644 --- a/sdk/python/pulumi_alicloud/ga/acl_attachment.py +++ b/sdk/python/pulumi_alicloud/ga/acl_attachment.py @@ -232,6 +232,8 @@ def __init__(__self__, acl_type="white") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. @@ -301,6 +303,8 @@ def __init__(__self__, acl_type="white") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/acl_entry_attachment.py b/sdk/python/pulumi_alicloud/ga/acl_entry_attachment.py index 6c3bdd40aa..43ab254027 100644 --- a/sdk/python/pulumi_alicloud/ga/acl_entry_attachment.py +++ b/sdk/python/pulumi_alicloud/ga/acl_entry_attachment.py @@ -180,6 +180,8 @@ def __init__(__self__, entry_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. @@ -228,6 +230,8 @@ def __init__(__self__, entry_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Acl Entry Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/additional_certificate.py b/sdk/python/pulumi_alicloud/ga/additional_certificate.py index 931e3d1c62..3a3bfeaa04 100644 --- a/sdk/python/pulumi_alicloud/ga/additional_certificate.py +++ b/sdk/python/pulumi_alicloud/ga/additional_certificate.py @@ -292,6 +292,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. @@ -438,6 +440,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Additional Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/bandwidth_package.py b/sdk/python/pulumi_alicloud/ga/bandwidth_package.py index 81efea0ffa..5b9b1b2781 100644 --- a/sdk/python/pulumi_alicloud/ga/bandwidth_package.py +++ b/sdk/python/pulumi_alicloud/ga/bandwidth_package.py @@ -688,6 +688,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Bandwidth Package can be imported using the id, e.g. @@ -752,6 +754,8 @@ def __init__(__self__, auto_pay=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Bandwidth Package can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/bandwidth_package_attachment.py b/sdk/python/pulumi_alicloud/ga/bandwidth_package_attachment.py index 18e6b6e01f..b44c5a36c5 100644 --- a/sdk/python/pulumi_alicloud/ga/bandwidth_package_attachment.py +++ b/sdk/python/pulumi_alicloud/ga/bandwidth_package_attachment.py @@ -166,6 +166,8 @@ def __init__(__self__, bandwidth_package_id=default_bandwidth_package.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Bandwidth Package Attachment can be imported using the id, e.g. @@ -216,6 +218,8 @@ def __init__(__self__, bandwidth_package_id=default_bandwidth_package.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip.py b/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip.py index 0a60c40dfd..6e8a19ce1c 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip.py +++ b/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip.py @@ -171,6 +171,8 @@ def __init__(__self__, ip_set_id=default_basic_ip_set.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. @@ -226,6 +228,8 @@ def __init__(__self__, ip_set_id=default_basic_ip_set.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerate IP can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip_endpoint_relation.py b/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip_endpoint_relation.py index 2e05a22c09..a66de35ba6 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip_endpoint_relation.py +++ b/sdk/python/pulumi_alicloud/ga/basic_accelerate_ip_endpoint_relation.py @@ -222,6 +222,8 @@ def __init__(__self__, endpoint_id=default_basic_endpoint.endpoint_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. @@ -313,6 +315,8 @@ def __init__(__self__, endpoint_id=default_basic_endpoint.endpoint_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerate Ip Endpoint Relation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_accelerator.py b/sdk/python/pulumi_alicloud/ga/basic_accelerator.py index 90e3a19d41..a9f7b45e39 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_accelerator.py +++ b/sdk/python/pulumi_alicloud/ga/basic_accelerator.py @@ -550,6 +550,8 @@ def __init__(__self__, auto_use_coupon="true") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. @@ -608,6 +610,8 @@ def __init__(__self__, auto_use_coupon="true") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Accelerator can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_endpoint.py b/sdk/python/pulumi_alicloud/ga/basic_endpoint.py index 5249b4c83e..d44b3b72e7 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_endpoint.py +++ b/sdk/python/pulumi_alicloud/ga/basic_endpoint.py @@ -390,6 +390,8 @@ def __init__(__self__, basic_endpoint_name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. @@ -474,6 +476,8 @@ def __init__(__self__, basic_endpoint_name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_endpoint_group.py b/sdk/python/pulumi_alicloud/ga/basic_endpoint_group.py index 4c62bbca3a..108c615409 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_endpoint_group.py +++ b/sdk/python/pulumi_alicloud/ga/basic_endpoint_group.py @@ -337,6 +337,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. @@ -414,6 +416,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Endpoint Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/basic_ip_set.py b/sdk/python/pulumi_alicloud/ga/basic_ip_set.py index c2016ec62a..812ab14258 100644 --- a/sdk/python/pulumi_alicloud/ga/basic_ip_set.py +++ b/sdk/python/pulumi_alicloud/ga/basic_ip_set.py @@ -219,6 +219,8 @@ def __init__(__self__, bandwidth=5) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. @@ -274,6 +276,8 @@ def __init__(__self__, bandwidth=5) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Basic Ip Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint.py b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint.py index b0f320fdee..e1beae1358 100644 --- a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint.py +++ b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint.py @@ -306,6 +306,8 @@ def __init__(__self__, traffic_to_endpoint_policy="DenyAll") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. @@ -392,6 +394,8 @@ def __init__(__self__, traffic_to_endpoint_policy="DenyAll") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group.py b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group.py index 311997b3fb..3fc830db94 100644 --- a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group.py +++ b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group.py @@ -265,6 +265,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. @@ -335,6 +337,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group_destination.py b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group_destination.py index 6686e6b56e..62ecd9c039 100644 --- a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group_destination.py +++ b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_group_destination.py @@ -284,6 +284,8 @@ def __init__(__self__, to_port=2) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. @@ -358,6 +360,8 @@ def __init__(__self__, to_port=2) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Group Destination can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_traffic_policy.py b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_traffic_policy.py index c298453be9..4fb45bc1a2 100644 --- a/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_traffic_policy.py +++ b/sdk/python/pulumi_alicloud/ga/custom_routing_endpoint_traffic_policy.py @@ -294,6 +294,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. @@ -390,6 +392,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Global Accelerator (GA) Custom Routing Endpoint Traffic Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/domain.py b/sdk/python/pulumi_alicloud/ga/domain.py index 31bd820b7d..d615a7c4d8 100644 --- a/sdk/python/pulumi_alicloud/ga/domain.py +++ b/sdk/python/pulumi_alicloud/ga/domain.py @@ -143,6 +143,8 @@ def __init__(__self__, accelerator_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Domain can be imported using the id, e.g. @@ -186,6 +188,8 @@ def __init__(__self__, accelerator_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/endpoint_group.py b/sdk/python/pulumi_alicloud/ga/endpoint_group.py index 620052e4a8..11cb509d53 100644 --- a/sdk/python/pulumi_alicloud/ga/endpoint_group.py +++ b/sdk/python/pulumi_alicloud/ga/endpoint_group.py @@ -755,6 +755,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Endpoint Group can be imported using the id, e.g. @@ -858,6 +860,8 @@ def __init__(__self__, listener_id=default_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Endpoint Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/forwarding_rule.py b/sdk/python/pulumi_alicloud/ga/forwarding_rule.py index fb010081f2..27b6310845 100644 --- a/sdk/python/pulumi_alicloud/ga/forwarding_rule.py +++ b/sdk/python/pulumi_alicloud/ga/forwarding_rule.py @@ -377,6 +377,8 @@ def __init__(__self__, forwarding_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Forwarding Rule can be imported using the id, e.g. @@ -510,6 +512,8 @@ def __init__(__self__, forwarding_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Forwarding Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/ip_set.py b/sdk/python/pulumi_alicloud/ga/ip_set.py index 29f12b41a4..f2464e1811 100644 --- a/sdk/python/pulumi_alicloud/ga/ip_set.py +++ b/sdk/python/pulumi_alicloud/ga/ip_set.py @@ -277,6 +277,8 @@ def __init__(__self__, accelerator_id=default_bandwidth_package_attachment.accelerator_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Ip Set can be imported using the id, e.g. @@ -339,6 +341,8 @@ def __init__(__self__, accelerator_id=default_bandwidth_package_attachment.accelerator_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Ip Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ga/listener.py b/sdk/python/pulumi_alicloud/ga/listener.py index 95226dacb6..b1f300fc84 100644 --- a/sdk/python/pulumi_alicloud/ga/listener.py +++ b/sdk/python/pulumi_alicloud/ga/listener.py @@ -598,6 +598,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Listener can be imported using the id, e.g. @@ -677,6 +679,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ga Listener can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/governance/baseline.py b/sdk/python/pulumi_alicloud/governance/baseline.py index 0036853146..90dc9e9c98 100644 --- a/sdk/python/pulumi_alicloud/governance/baseline.py +++ b/sdk/python/pulumi_alicloud/governance/baseline.py @@ -209,6 +209,8 @@ def __init__(__self__, baseline_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Governance Baseline can be imported using the id, e.g. @@ -292,6 +294,8 @@ def __init__(__self__, baseline_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Governance Baseline can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/__init__.py b/sdk/python/pulumi_alicloud/gpdb/__init__.py index fca00b7e0c..65ac4714c3 100644 --- a/sdk/python/pulumi_alicloud/gpdb/__init__.py +++ b/sdk/python/pulumi_alicloud/gpdb/__init__.py @@ -28,5 +28,6 @@ from .streaming_data_service import * from .streaming_data_source import * from .streaming_job import * +from .supabase_project import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/gpdb/account.py b/sdk/python/pulumi_alicloud/gpdb/account.py index 0bec2fec66..3074611f84 100644 --- a/sdk/python/pulumi_alicloud/gpdb/account.py +++ b/sdk/python/pulumi_alicloud/gpdb/account.py @@ -327,6 +327,8 @@ def __init__(__self__, account_description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Account can be imported using the id, e.g. @@ -406,6 +408,8 @@ def __init__(__self__, account_description="tf_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/connection.py b/sdk/python/pulumi_alicloud/gpdb/connection.py index d55cc8d10c..0a34992557 100644 --- a/sdk/python/pulumi_alicloud/gpdb/connection.py +++ b/sdk/python/pulumi_alicloud/gpdb/connection.py @@ -216,6 +216,8 @@ def __init__(__self__, connection_prefix="exampelcon") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, connection_prefix="exampelcon") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL's connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/database.py b/sdk/python/pulumi_alicloud/gpdb/database.py index 06440438f1..d344cc6855 100644 --- a/sdk/python/pulumi_alicloud/gpdb/database.py +++ b/sdk/python/pulumi_alicloud/gpdb/database.py @@ -317,6 +317,8 @@ def __init__(__self__, db_instance_id=default_tc08a9.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Database can be imported using the id, e.g. @@ -391,6 +393,8 @@ def __init__(__self__, db_instance_id=default_tc08a9.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Database can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/db_instance_ip_array.py b/sdk/python/pulumi_alicloud/gpdb/db_instance_ip_array.py index f2393d2cf9..ad2fe8c0f4 100644 --- a/sdk/python/pulumi_alicloud/gpdb/db_instance_ip_array.py +++ b/sdk/python/pulumi_alicloud/gpdb/db_instance_ip_array.py @@ -300,6 +300,8 @@ def __init__(__self__, db_instance_id=default_h_kd_ds3.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB DB Instance IP Array can be imported using the id, e.g. @@ -388,6 +390,8 @@ def __init__(__self__, db_instance_id=default_h_kd_ds3.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB DB Instance IP Array can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/db_resource_group.py b/sdk/python/pulumi_alicloud/gpdb/db_resource_group.py index 34d05387f9..0c4bf99d28 100644 --- a/sdk/python/pulumi_alicloud/gpdb/db_resource_group.py +++ b/sdk/python/pulumi_alicloud/gpdb/db_resource_group.py @@ -223,6 +223,8 @@ def __init__(__self__, resource_group_name="yb_example_group") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. @@ -299,6 +301,8 @@ def __init__(__self__, resource_group_name="yb_example_group") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL (GPDB) Db Resource Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/elastic_instance.py b/sdk/python/pulumi_alicloud/gpdb/elastic_instance.py index 8855dd15a5..c4e33d5890 100644 --- a/sdk/python/pulumi_alicloud/gpdb/elastic_instance.py +++ b/sdk/python/pulumi_alicloud/gpdb/elastic_instance.py @@ -728,6 +728,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL can be imported using the id, e.g. @@ -805,6 +807,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/external_data_service.py b/sdk/python/pulumi_alicloud/gpdb/external_data_service.py index 836880dc94..6f77ef97ba 100644 --- a/sdk/python/pulumi_alicloud/gpdb/external_data_service.py +++ b/sdk/python/pulumi_alicloud/gpdb/external_data_service.py @@ -267,6 +267,8 @@ def __init__(__self__, service_spec="8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. @@ -339,6 +341,8 @@ def __init__(__self__, service_spec="8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL (GPDB) External Data Service can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/hadoop_data_source.py b/sdk/python/pulumi_alicloud/gpdb/hadoop_data_source.py index 85b5cc8545..54f937fb00 100644 --- a/sdk/python/pulumi_alicloud/gpdb/hadoop_data_source.py +++ b/sdk/python/pulumi_alicloud/gpdb/hadoop_data_source.py @@ -675,6 +675,8 @@ def __init__(__self__, hadoop_hosts_address="aaa") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Hadoop Data Source can be imported using the id, e.g. @@ -873,6 +875,8 @@ def __init__(__self__, hadoop_hosts_address="aaa") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Hadoop Data Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/instance.py b/sdk/python/pulumi_alicloud/gpdb/instance.py index 0254bc0f87..29378840ea 100644 --- a/sdk/python/pulumi_alicloud/gpdb/instance.py +++ b/sdk/python/pulumi_alicloud/gpdb/instance.py @@ -1533,6 +1533,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL can be imported using the id, e.g. @@ -1645,6 +1647,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import AnalyticDB for PostgreSQL can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/jdbc_data_source.py b/sdk/python/pulumi_alicloud/gpdb/jdbc_data_source.py index 85379a3605..529fca6873 100644 --- a/sdk/python/pulumi_alicloud/gpdb/jdbc_data_source.py +++ b/sdk/python/pulumi_alicloud/gpdb/jdbc_data_source.py @@ -376,6 +376,8 @@ def __init__(__self__, jdbc_user_name="example_001") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Jdbc Data Source can be imported using the id, e.g. @@ -460,6 +462,8 @@ def __init__(__self__, jdbc_user_name="example_001") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Jdbc Data Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/remote_adb_data_source.py b/sdk/python/pulumi_alicloud/gpdb/remote_adb_data_source.py index 796d596194..dca56c586b 100644 --- a/sdk/python/pulumi_alicloud/gpdb/remote_adb_data_source.py +++ b/sdk/python/pulumi_alicloud/gpdb/remote_adb_data_source.py @@ -443,6 +443,8 @@ def __init__(__self__, local_db_instance_id=default_et_ez_mf.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Remote ADB Data Source can be imported using the id, e.g. @@ -552,6 +554,8 @@ def __init__(__self__, local_db_instance_id=default_et_ez_mf.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Remote ADB Data Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/streaming_data_service.py b/sdk/python/pulumi_alicloud/gpdb/streaming_data_service.py index ba885ab812..8d21231549 100644 --- a/sdk/python/pulumi_alicloud/gpdb/streaming_data_service.py +++ b/sdk/python/pulumi_alicloud/gpdb/streaming_data_service.py @@ -265,6 +265,8 @@ def __init__(__self__, service_spec="8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Data Service can be imported using the id, e.g. @@ -335,6 +337,8 @@ def __init__(__self__, service_spec="8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Data Service can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/streaming_data_source.py b/sdk/python/pulumi_alicloud/gpdb/streaming_data_source.py index 21035b6bae..ef82f45e78 100644 --- a/sdk/python/pulumi_alicloud/gpdb/streaming_data_source.py +++ b/sdk/python/pulumi_alicloud/gpdb/streaming_data_source.py @@ -364,6 +364,8 @@ def __init__(__self__, service_id=defaultwruvdv.service_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Data Source can be imported using the id, e.g. @@ -465,6 +467,8 @@ def __init__(__self__, service_id=defaultwruvdv.service_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Data Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/streaming_job.py b/sdk/python/pulumi_alicloud/gpdb/streaming_job.py index e49480bd54..6d4c0fd298 100644 --- a/sdk/python/pulumi_alicloud/gpdb/streaming_job.py +++ b/sdk/python/pulumi_alicloud/gpdb/streaming_job.py @@ -980,6 +980,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Job can be imported using the id, e.g. @@ -1161,6 +1163,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GPDB Streaming Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gpdb/supabase_project.py b/sdk/python/pulumi_alicloud/gpdb/supabase_project.py new file mode 100644 index 0000000000..0b13902c0b --- /dev/null +++ b/sdk/python/pulumi_alicloud/gpdb/supabase_project.py @@ -0,0 +1,736 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['SupabaseProjectArgs', 'SupabaseProject'] + +@pulumi.input_type +class SupabaseProjectArgs: + def __init__(__self__, *, + account_password: pulumi.Input[_builtins.str], + project_name: pulumi.Input[_builtins.str], + project_spec: pulumi.Input[_builtins.str], + security_ip_lists: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + vpc_id: pulumi.Input[_builtins.str], + vswitch_id: pulumi.Input[_builtins.str], + zone_id: pulumi.Input[_builtins.str], + disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + storage_size: Optional[pulumi.Input[_builtins.int]] = None): + """ + The set of arguments for constructing a SupabaseProject resource. + :param pulumi.Input[_builtins.str] account_password: The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + :param pulumi.Input[_builtins.str] project_name: The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + :param pulumi.Input[_builtins.str] project_spec: The performance level of the Supabase instance. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_ip_lists: The IP address whitelist. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID. + :param pulumi.Input[_builtins.str] zone_id: The Zone ID. + :param pulumi.Input[_builtins.str] disk_performance_level: cloud disk performance level + :param pulumi.Input[_builtins.int] storage_size: The storage capacity of the instance. Unit: GB. + """ + pulumi.set(__self__, "account_password", account_password) + pulumi.set(__self__, "project_name", project_name) + pulumi.set(__self__, "project_spec", project_spec) + pulumi.set(__self__, "security_ip_lists", security_ip_lists) + pulumi.set(__self__, "vpc_id", vpc_id) + pulumi.set(__self__, "vswitch_id", vswitch_id) + pulumi.set(__self__, "zone_id", zone_id) + if disk_performance_level is not None: + pulumi.set(__self__, "disk_performance_level", disk_performance_level) + if storage_size is not None: + pulumi.set(__self__, "storage_size", storage_size) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> pulumi.Input[_builtins.str]: + """ + The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + """ + return pulumi.get(self, "account_password") + + @account_password.setter + def account_password(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "account_password", value) + + @_builtins.property + @pulumi.getter(name="projectName") + def project_name(self) -> pulumi.Input[_builtins.str]: + """ + The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + """ + return pulumi.get(self, "project_name") + + @project_name.setter + def project_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_name", value) + + @_builtins.property + @pulumi.getter(name="projectSpec") + def project_spec(self) -> pulumi.Input[_builtins.str]: + """ + The performance level of the Supabase instance. + """ + return pulumi.get(self, "project_spec") + + @project_spec.setter + def project_spec(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_spec", value) + + @_builtins.property + @pulumi.getter(name="securityIpLists") + def security_ip_lists(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + The IP address whitelist. + """ + return pulumi.get(self, "security_ip_lists") + + @security_ip_lists.setter + def security_ip_lists(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "security_ip_lists", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[_builtins.str]: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Input[_builtins.str]: + """ + The vSwitch ID. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[_builtins.str]: + """ + The Zone ID. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "zone_id", value) + + @_builtins.property + @pulumi.getter(name="diskPerformanceLevel") + def disk_performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + cloud disk performance level + """ + return pulumi.get(self, "disk_performance_level") + + @disk_performance_level.setter + def disk_performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_performance_level", value) + + @_builtins.property + @pulumi.getter(name="storageSize") + def storage_size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The storage capacity of the instance. Unit: GB. + """ + return pulumi.get(self, "storage_size") + + @storage_size.setter + def storage_size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "storage_size", value) + + +@pulumi.input_type +class _SupabaseProjectState: + def __init__(__self__, *, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + project_name: Optional[pulumi.Input[_builtins.str]] = None, + project_spec: Optional[pulumi.Input[_builtins.str]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None, + security_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + storage_size: Optional[pulumi.Input[_builtins.int]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + zone_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering SupabaseProject resources. + :param pulumi.Input[_builtins.str] account_password: The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] disk_performance_level: cloud disk performance level + :param pulumi.Input[_builtins.str] project_name: The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + :param pulumi.Input[_builtins.str] project_spec: The performance level of the Supabase instance. + :param pulumi.Input[_builtins.str] region_id: The region ID. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_ip_lists: The IP address whitelist. + :param pulumi.Input[_builtins.str] status: The status of the Supabase instance. + :param pulumi.Input[_builtins.int] storage_size: The storage capacity of the instance. Unit: GB. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID. + :param pulumi.Input[_builtins.str] zone_id: The Zone ID. + """ + if account_password is not None: + pulumi.set(__self__, "account_password", account_password) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if disk_performance_level is not None: + pulumi.set(__self__, "disk_performance_level", disk_performance_level) + if project_name is not None: + pulumi.set(__self__, "project_name", project_name) + if project_spec is not None: + pulumi.set(__self__, "project_spec", project_spec) + if region_id is not None: + pulumi.set(__self__, "region_id", region_id) + if security_ip_lists is not None: + pulumi.set(__self__, "security_ip_lists", security_ip_lists) + if status is not None: + pulumi.set(__self__, "status", status) + if storage_size is not None: + pulumi.set(__self__, "storage_size", storage_size) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + """ + return pulumi.get(self, "account_password") + + @account_password.setter + def account_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="diskPerformanceLevel") + def disk_performance_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + cloud disk performance level + """ + return pulumi.get(self, "disk_performance_level") + + @disk_performance_level.setter + def disk_performance_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "disk_performance_level", value) + + @_builtins.property + @pulumi.getter(name="projectName") + def project_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + """ + return pulumi.get(self, "project_name") + + @project_name.setter + def project_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_name", value) + + @_builtins.property + @pulumi.getter(name="projectSpec") + def project_spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The performance level of the Supabase instance. + """ + return pulumi.get(self, "project_spec") + + @project_spec.setter + def project_spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_spec", value) + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The region ID. + """ + return pulumi.get(self, "region_id") + + @region_id.setter + def region_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region_id", value) + + @_builtins.property + @pulumi.getter(name="securityIpLists") + def security_ip_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The IP address whitelist. + """ + return pulumi.get(self, "security_ip_lists") + + @security_ip_lists.setter + def security_ip_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "security_ip_lists", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The status of the Supabase instance. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="storageSize") + def storage_size(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The storage capacity of the instance. Unit: GB. + """ + return pulumi.get(self, "storage_size") + + @storage_size.setter + def storage_size(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "storage_size", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The vSwitch ID. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The Zone ID. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "zone_id", value) + + +@pulumi.type_token("alicloud:gpdb/supabaseProject:SupabaseProject") +class SupabaseProject(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + project_name: Optional[pulumi.Input[_builtins.str]] = None, + project_spec: Optional[pulumi.Input[_builtins.str]] = None, + security_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + storage_size: Optional[pulumi.Input[_builtins.int]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + zone_id: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. + + For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.vpc.get_networks(name_regex="^default-NODELETING$") + default_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0], + zone_id="cn-hangzhou-j") + default_supabase_project = alicloud.gpdb.SupabaseProject("default", + project_spec="1C2G", + zone_id="cn-hangzhou-j", + vpc_id=default.ids[0], + project_name="supabase_example", + security_ip_lists=["127.0.0.1"], + vswitch_id=default_get_switches.ids[0], + disk_performance_level="PL0", + storage_size=1, + account_password="YourPassword123!") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] account_password: The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + :param pulumi.Input[_builtins.str] disk_performance_level: cloud disk performance level + :param pulumi.Input[_builtins.str] project_name: The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + :param pulumi.Input[_builtins.str] project_spec: The performance level of the Supabase instance. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_ip_lists: The IP address whitelist. + :param pulumi.Input[_builtins.int] storage_size: The storage capacity of the instance. Unit: GB. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID. + :param pulumi.Input[_builtins.str] zone_id: The Zone ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SupabaseProjectArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a AnalyticDB for PostgreSQL (GPDB) Supabase Project resource. + + For information about AnalyticDB for PostgreSQL (GPDB) Supabase Project and how to use it, see [What is Supabase Project](https://next.api.alibabacloud.com/document/gpdb/2016-05-03/CreateSupabaseProject). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.vpc.get_networks(name_regex="^default-NODELETING$") + default_get_switches = alicloud.vpc.get_switches(vpc_id=default.ids[0], + zone_id="cn-hangzhou-j") + default_supabase_project = alicloud.gpdb.SupabaseProject("default", + project_spec="1C2G", + zone_id="cn-hangzhou-j", + vpc_id=default.ids[0], + project_name="supabase_example", + security_ip_lists=["127.0.0.1"], + vswitch_id=default_get_switches.ids[0], + disk_performance_level="PL0", + storage_size=1, + account_password="YourPassword123!") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + AnalyticDB for PostgreSQL (GPDB) Supabase Project can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:gpdb/supabaseProject:SupabaseProject example + ``` + + :param str resource_name: The name of the resource. + :param SupabaseProjectArgs 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(SupabaseProjectArgs, 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, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + project_name: Optional[pulumi.Input[_builtins.str]] = None, + project_spec: Optional[pulumi.Input[_builtins.str]] = None, + security_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + storage_size: Optional[pulumi.Input[_builtins.int]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + zone_id: Optional[pulumi.Input[_builtins.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__ = SupabaseProjectArgs.__new__(SupabaseProjectArgs) + + if account_password is None and not opts.urn: + raise TypeError("Missing required property 'account_password'") + __props__.__dict__["account_password"] = None if account_password is None else pulumi.Output.secret(account_password) + __props__.__dict__["disk_performance_level"] = disk_performance_level + if project_name is None and not opts.urn: + raise TypeError("Missing required property 'project_name'") + __props__.__dict__["project_name"] = project_name + if project_spec is None and not opts.urn: + raise TypeError("Missing required property 'project_spec'") + __props__.__dict__["project_spec"] = project_spec + if security_ip_lists is None and not opts.urn: + raise TypeError("Missing required property 'security_ip_lists'") + __props__.__dict__["security_ip_lists"] = security_ip_lists + __props__.__dict__["storage_size"] = storage_size + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + if vswitch_id is None and not opts.urn: + raise TypeError("Missing required property 'vswitch_id'") + __props__.__dict__["vswitch_id"] = vswitch_id + 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__["region_id"] = None + __props__.__dict__["status"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accountPassword"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(SupabaseProject, __self__).__init__( + 'alicloud:gpdb/supabaseProject:SupabaseProject', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + disk_performance_level: Optional[pulumi.Input[_builtins.str]] = None, + project_name: Optional[pulumi.Input[_builtins.str]] = None, + project_spec: Optional[pulumi.Input[_builtins.str]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None, + security_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + storage_size: Optional[pulumi.Input[_builtins.int]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + zone_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'SupabaseProject': + """ + Get an existing SupabaseProject 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[_builtins.str] account_password: The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] disk_performance_level: cloud disk performance level + :param pulumi.Input[_builtins.str] project_name: The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + :param pulumi.Input[_builtins.str] project_spec: The performance level of the Supabase instance. + :param pulumi.Input[_builtins.str] region_id: The region ID. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_ip_lists: The IP address whitelist. + :param pulumi.Input[_builtins.str] status: The status of the Supabase instance. + :param pulumi.Input[_builtins.int] storage_size: The storage capacity of the instance. Unit: GB. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID. + :param pulumi.Input[_builtins.str] zone_id: The Zone ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SupabaseProjectState.__new__(_SupabaseProjectState) + + __props__.__dict__["account_password"] = account_password + __props__.__dict__["create_time"] = create_time + __props__.__dict__["disk_performance_level"] = disk_performance_level + __props__.__dict__["project_name"] = project_name + __props__.__dict__["project_spec"] = project_spec + __props__.__dict__["region_id"] = region_id + __props__.__dict__["security_ip_lists"] = security_ip_lists + __props__.__dict__["status"] = status + __props__.__dict__["storage_size"] = storage_size + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["zone_id"] = zone_id + return SupabaseProject(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> pulumi.Output[_builtins.str]: + """ + The password for the initial account. + - Consists of three or more of uppercase letters, lowercase letters, numbers, and special characters. + - Support for special characters:! @#$%^& *()_+-= + - Length is 8~32 characters. + """ + return pulumi.get(self, "account_password") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="diskPerformanceLevel") + def disk_performance_level(self) -> pulumi.Output[_builtins.str]: + """ + cloud disk performance level + """ + return pulumi.get(self, "disk_performance_level") + + @_builtins.property + @pulumi.getter(name="projectName") + def project_name(self) -> pulumi.Output[_builtins.str]: + """ + The project name. The naming rules are as follows: + - 1~128 characters in length. + - Can only contain English letters, numbers, dashes (-) and underscores (_). + - Must begin with an English letter or an underscore (_). + """ + return pulumi.get(self, "project_name") + + @_builtins.property + @pulumi.getter(name="projectSpec") + def project_spec(self) -> pulumi.Output[_builtins.str]: + """ + The performance level of the Supabase instance. + """ + return pulumi.get(self, "project_spec") + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> pulumi.Output[_builtins.str]: + """ + The region ID. + """ + return pulumi.get(self, "region_id") + + @_builtins.property + @pulumi.getter(name="securityIpLists") + def security_ip_lists(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + The IP address whitelist. + """ + return pulumi.get(self, "security_ip_lists") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the Supabase instance. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="storageSize") + def storage_size(self) -> pulumi.Output[_builtins.int]: + """ + The storage capacity of the instance. Unit: GB. + """ + return pulumi.get(self, "storage_size") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Output[_builtins.str]: + """ + The vSwitch ID. + """ + return pulumi.get(self, "vswitch_id") + + @_builtins.property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[_builtins.str]: + """ + The Zone ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/pulumi_alicloud/graphdatabase/db_instance.py b/sdk/python/pulumi_alicloud/graphdatabase/db_instance.py index 8c20ba2b37..3403c72179 100644 --- a/sdk/python/pulumi_alicloud/graphdatabase/db_instance.py +++ b/sdk/python/pulumi_alicloud/graphdatabase/db_instance.py @@ -508,6 +508,8 @@ def __init__(__self__, db_instance_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Graph Database Db Instance can be imported using the id, e.g. @@ -567,6 +569,8 @@ def __init__(__self__, db_instance_description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Graph Database Db Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gwlb/listener.py b/sdk/python/pulumi_alicloud/gwlb/listener.py index 7604151168..fbc4edc2e0 100644 --- a/sdk/python/pulumi_alicloud/gwlb/listener.py +++ b/sdk/python/pulumi_alicloud/gwlb/listener.py @@ -335,6 +335,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Listener can be imported using the id, e.g. @@ -452,6 +454,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Listener can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gwlb/load_balancer.py b/sdk/python/pulumi_alicloud/gwlb/load_balancer.py index 8beb8ae9e7..9aec92030c 100644 --- a/sdk/python/pulumi_alicloud/gwlb/load_balancer.py +++ b/sdk/python/pulumi_alicloud/gwlb/load_balancer.py @@ -373,6 +373,8 @@ def __init__(__self__, address_ip_version="Ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Load Balancer can be imported using the id, e.g. @@ -456,6 +458,8 @@ def __init__(__self__, address_ip_version="Ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Load Balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/gwlb/server_group.py b/sdk/python/pulumi_alicloud/gwlb/server_group.py index 13e67d3e34..1f1efca0a7 100644 --- a/sdk/python/pulumi_alicloud/gwlb/server_group.py +++ b/sdk/python/pulumi_alicloud/gwlb/server_group.py @@ -594,6 +594,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Server Group can be imported using the id, e.g. @@ -727,6 +729,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import GWLB Server Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbase/instance.py b/sdk/python/pulumi_alicloud/hbase/instance.py index f0da8021ae..9548b849ae 100644 --- a/sdk/python/pulumi_alicloud/hbase/instance.py +++ b/sdk/python/pulumi_alicloud/hbase/instance.py @@ -958,6 +958,8 @@ def __init__(__self__, this is a example for class netType instance. you can find more detail with the examples/hbase dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBase can be imported using the id, e.g. @@ -1050,6 +1052,8 @@ def __init__(__self__, this is a example for class netType instance. you can find more detail with the examples/hbase dir. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBase can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/cross_account.py b/sdk/python/pulumi_alicloud/hbr/cross_account.py index 3fb83ac25d..1206e11a33 100644 --- a/sdk/python/pulumi_alicloud/hbr/cross_account.py +++ b/sdk/python/pulumi_alicloud/hbr/cross_account.py @@ -179,6 +179,8 @@ def __init__(__self__, alias=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. @@ -226,6 +228,8 @@ def __init__(__self__, alias=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Cross Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/ecs_backup_client.py b/sdk/python/pulumi_alicloud/hbr/ecs_backup_client.py index 3fa8527360..6575cc035e 100644 --- a/sdk/python/pulumi_alicloud/hbr/ecs_backup_client.py +++ b/sdk/python/pulumi_alicloud/hbr/ecs_backup_client.py @@ -454,6 +454,8 @@ def __init__(__self__, proxy_password="password") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice > **Note:** Please read the following precautions carefully before deleting a client: @@ -545,6 +547,8 @@ def __init__(__self__, proxy_password="password") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice > **Note:** Please read the following precautions carefully before deleting a client: diff --git a/sdk/python/pulumi_alicloud/hbr/ecs_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/ecs_backup_plan.py index 611e9b6191..c5e611fb26 100644 --- a/sdk/python/pulumi_alicloud/hbr/ecs_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/ecs_backup_plan.py @@ -671,6 +671,8 @@ def __init__(__self__, include=" [\\\\\\"/home/include\\\\\\"]\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice **About Backup path rules:** @@ -789,6 +791,8 @@ def __init__(__self__, include=" [\\\\\\"/home/include\\\\\\"]\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Notice **About Backup path rules:** diff --git a/sdk/python/pulumi_alicloud/hbr/hana_backup_client.py b/sdk/python/pulumi_alicloud/hbr/hana_backup_client.py index 0a18d295ce..f5d9f311e2 100644 --- a/sdk/python/pulumi_alicloud/hbr/hana_backup_client.py +++ b/sdk/python/pulumi_alicloud/hbr/hana_backup_client.py @@ -299,6 +299,8 @@ def __init__(__self__, use_https=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. @@ -385,6 +387,8 @@ def __init__(__self__, use_https=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Backup Client can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/hana_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/hana_backup_plan.py index 4e9726b06c..053de23d9c 100644 --- a/sdk/python/pulumi_alicloud/hbr/hana_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/hana_backup_plan.py @@ -402,6 +402,8 @@ def __init__(__self__, vault_id=example_hana_instance.vault_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. @@ -475,6 +477,8 @@ def __init__(__self__, vault_id=example_hana_instance.vault_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/hana_instance.py b/sdk/python/pulumi_alicloud/hbr/hana_instance.py index 240559c7f7..0598fd09b2 100644 --- a/sdk/python/pulumi_alicloud/hbr/hana_instance.py +++ b/sdk/python/pulumi_alicloud/hbr/hana_instance.py @@ -503,6 +503,8 @@ def __init__(__self__, vault_id=example_vault.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. @@ -569,6 +571,8 @@ def __init__(__self__, vault_id=example_vault.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Hana Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/nas_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/nas_backup_plan.py index 38d8eeeccc..3596786952 100644 --- a/sdk/python/pulumi_alicloud/hbr/nas_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/nas_backup_plan.py @@ -520,6 +520,8 @@ def __init__(__self__, paths=["/"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Nas Backup Plan can be imported using the id, e.g. @@ -592,6 +594,8 @@ def __init__(__self__, paths=["/"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Nas Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/oss_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/oss_backup_plan.py index 3d6b630f7d..0e8a0bafda 100644 --- a/sdk/python/pulumi_alicloud/hbr/oss_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/oss_backup_plan.py @@ -435,6 +435,8 @@ def __init__(__self__, retention="2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Oss Backup Plan can be imported using the id, e.g. @@ -499,6 +501,8 @@ def __init__(__self__, retention="2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Oss Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/ots_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/ots_backup_plan.py index 183f60e1d5..cd39b4ced3 100644 --- a/sdk/python/pulumi_alicloud/hbr/ots_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/ots_backup_plan.py @@ -530,6 +530,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Ots Backup Plan can be imported using the id, e.g. @@ -644,6 +646,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Ots Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/policy.py b/sdk/python/pulumi_alicloud/hbr/policy.py index aee27f370a..3ed9e0cffa 100644 --- a/sdk/python/pulumi_alicloud/hbr/policy.py +++ b/sdk/python/pulumi_alicloud/hbr/policy.py @@ -236,6 +236,8 @@ def __init__(__self__, policy_description="policy example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. @@ -298,6 +300,8 @@ def __init__(__self__, policy_description="policy example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/policy_binding.py b/sdk/python/pulumi_alicloud/hbr/policy_binding.py index e4c1483cda..44b0529b7d 100644 --- a/sdk/python/pulumi_alicloud/hbr/policy_binding.py +++ b/sdk/python/pulumi_alicloud/hbr/policy_binding.py @@ -567,6 +567,8 @@ def __init__(__self__, source="prefix-example-update/") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Policy Binding can be imported using the id, e.g. @@ -654,6 +656,8 @@ def __init__(__self__, source="prefix-example-update/") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import HBR Policy Binding can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/replication_vault.py b/sdk/python/pulumi_alicloud/hbr/replication_vault.py index 76f3375545..dbff936331 100644 --- a/sdk/python/pulumi_alicloud/hbr/replication_vault.py +++ b/sdk/python/pulumi_alicloud/hbr/replication_vault.py @@ -334,6 +334,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. @@ -393,6 +395,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Replication Vault can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/restore_job.py b/sdk/python/pulumi_alicloud/hbr/restore_job.py index e6bfd41747..dc63718010 100644 --- a/sdk/python/pulumi_alicloud/hbr/restore_job.py +++ b/sdk/python/pulumi_alicloud/hbr/restore_job.py @@ -936,6 +936,8 @@ def __init__(__self__, > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `:`, e.g. @@ -1037,6 +1039,8 @@ def __init__(__self__, > **NOTE:** This resource can only be created, cannot be modified or deleted. Therefore, any modification of the resource attribute will not affect exist resource. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Restore Job can be imported using the id. Format to `:`, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/server_backup_plan.py b/sdk/python/pulumi_alicloud/hbr/server_backup_plan.py index b454091673..258e1b255d 100644 --- a/sdk/python/pulumi_alicloud/hbr/server_backup_plan.py +++ b/sdk/python/pulumi_alicloud/hbr/server_backup_plan.py @@ -393,6 +393,8 @@ def __init__(__self__, disabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. @@ -476,6 +478,8 @@ def __init__(__self__, disabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Server Backup Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hbr/vault.py b/sdk/python/pulumi_alicloud/hbr/vault.py index 027a71e786..74918a8853 100644 --- a/sdk/python/pulumi_alicloud/hbr/vault.py +++ b/sdk/python/pulumi_alicloud/hbr/vault.py @@ -423,6 +423,8 @@ def __init__(__self__, example = alicloud.hbr.Vault("example", vault_name=f"example_value_{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. @@ -477,6 +479,8 @@ def __init__(__self__, example = alicloud.hbr.Vault("example", vault_name=f"example_value_{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Hybrid Backup Recovery (HBR) Vault can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/hologram/instance.py b/sdk/python/pulumi_alicloud/hologram/instance.py index 107785cda5..1cd62f7b60 100644 --- a/sdk/python/pulumi_alicloud/hologram/instance.py +++ b/sdk/python/pulumi_alicloud/hologram/instance.py @@ -29,6 +29,7 @@ def __init__(__self__, *, cold_storage_size: Optional[pulumi.Input[_builtins.int]] = None, cpu: Optional[pulumi.Input[_builtins.int]] = None, duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ssl: Optional[pulumi.Input[_builtins.bool]] = None, endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]] = None, gateway_count: Optional[pulumi.Input[_builtins.int]] = None, initial_databases: Optional[pulumi.Input[_builtins.str]] = None, @@ -65,6 +66,7 @@ def __init__(__self__, *, - 128 core 512 GB (number of compute nodes: 8) > **NOTE:** Just fill in the audit number. Please submit a work order application for purchasing 1024 or above specifications. Shared instance types do not need to specify specifications. The specification of - 8 core 32GB (number of computing nodes: 1) is only for experience use and cannot be used for production. :param pulumi.Input[_builtins.int] duration: The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. + :param pulumi.Input[_builtins.bool] enable_ssl: Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. :param pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]] endpoints: List of domain names. See `endpoints` below. :param pulumi.Input[_builtins.int] gateway_count: Number of gateway nodes. :param pulumi.Input[_builtins.str] initial_databases: Initialize the database and split multiple database names ",". @@ -95,6 +97,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cpu", cpu) if duration is not None: pulumi.set(__self__, "duration", duration) + if enable_ssl is not None: + pulumi.set(__self__, "enable_ssl", enable_ssl) if endpoints is not None: pulumi.set(__self__, "endpoints", endpoints) if gateway_count is not None: @@ -228,6 +232,18 @@ def duration(self) -> Optional[pulumi.Input[_builtins.int]]: def duration(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "duration", value) + @_builtins.property + @pulumi.getter(name="enableSsl") + def enable_ssl(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + """ + return pulumi.get(self, "enable_ssl") + + @enable_ssl.setter + def enable_ssl(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_ssl", value) + @_builtins.property @pulumi.getter def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]: @@ -364,6 +380,7 @@ def __init__(__self__, *, cpu: Optional[pulumi.Input[_builtins.int]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ssl: Optional[pulumi.Input[_builtins.bool]] = None, endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]] = None, gateway_count: Optional[pulumi.Input[_builtins.int]] = None, initial_databases: Optional[pulumi.Input[_builtins.str]] = None, @@ -397,6 +414,7 @@ def __init__(__self__, *, > **NOTE:** Just fill in the audit number. Please submit a work order application for purchasing 1024 or above specifications. Shared instance types do not need to specify specifications. The specification of - 8 core 32GB (number of computing nodes: 1) is only for experience use and cannot be used for production. :param pulumi.Input[_builtins.str] create_time: The creation time of the resource. :param pulumi.Input[_builtins.int] duration: The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. + :param pulumi.Input[_builtins.bool] enable_ssl: Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. :param pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]] endpoints: List of domain names. See `endpoints` below. :param pulumi.Input[_builtins.int] gateway_count: Number of gateway nodes. :param pulumi.Input[_builtins.str] initial_databases: Initialize the database and split multiple database names ",". @@ -435,6 +453,8 @@ def __init__(__self__, *, pulumi.set(__self__, "create_time", create_time) if duration is not None: pulumi.set(__self__, "duration", duration) + if enable_ssl is not None: + pulumi.set(__self__, "enable_ssl", enable_ssl) if endpoints is not None: pulumi.set(__self__, "endpoints", endpoints) if gateway_count is not None: @@ -537,6 +557,18 @@ def duration(self) -> Optional[pulumi.Input[_builtins.int]]: def duration(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "duration", value) + @_builtins.property + @pulumi.getter(name="enableSsl") + def enable_ssl(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + """ + return pulumi.get(self, "enable_ssl") + + @enable_ssl.setter + def enable_ssl(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_ssl", value) + @_builtins.property @pulumi.getter def endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEndpointArgs']]]]: @@ -740,6 +772,7 @@ def __init__(__self__, cold_storage_size: Optional[pulumi.Input[_builtins.int]] = None, cpu: Optional[pulumi.Input[_builtins.int]] = None, duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ssl: Optional[pulumi.Input[_builtins.bool]] = None, endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None, gateway_count: Optional[pulumi.Input[_builtins.int]] = None, initial_databases: Optional[pulumi.Input[_builtins.str]] = None, @@ -781,6 +814,7 @@ def __init__(__self__, - 128 core 512 GB (number of compute nodes: 8) > **NOTE:** Just fill in the audit number. Please submit a work order application for purchasing 1024 or above specifications. Shared instance types do not need to specify specifications. The specification of - 8 core 32GB (number of computing nodes: 1) is only for experience use and cannot be used for production. :param pulumi.Input[_builtins.int] duration: The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. + :param pulumi.Input[_builtins.bool] enable_ssl: Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]] endpoints: List of domain names. See `endpoints` below. :param pulumi.Input[_builtins.int] gateway_count: Number of gateway nodes. :param pulumi.Input[_builtins.str] initial_databases: Initialize the database and split multiple database names ",". @@ -842,6 +876,7 @@ def _internal_init(__self__, cold_storage_size: Optional[pulumi.Input[_builtins.int]] = None, cpu: Optional[pulumi.Input[_builtins.int]] = None, duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ssl: Optional[pulumi.Input[_builtins.bool]] = None, endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None, gateway_count: Optional[pulumi.Input[_builtins.int]] = None, initial_databases: Optional[pulumi.Input[_builtins.str]] = None, @@ -869,6 +904,7 @@ def _internal_init(__self__, __props__.__dict__["cold_storage_size"] = cold_storage_size __props__.__dict__["cpu"] = cpu __props__.__dict__["duration"] = duration + __props__.__dict__["enable_ssl"] = enable_ssl __props__.__dict__["endpoints"] = endpoints __props__.__dict__["gateway_count"] = gateway_count __props__.__dict__["initial_databases"] = initial_databases @@ -908,6 +944,7 @@ def get(resource_name: str, cpu: Optional[pulumi.Input[_builtins.int]] = None, create_time: Optional[pulumi.Input[_builtins.str]] = None, duration: Optional[pulumi.Input[_builtins.int]] = None, + enable_ssl: Optional[pulumi.Input[_builtins.bool]] = None, endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]]] = None, gateway_count: Optional[pulumi.Input[_builtins.int]] = None, initial_databases: Optional[pulumi.Input[_builtins.str]] = None, @@ -946,6 +983,7 @@ def get(resource_name: str, > **NOTE:** Just fill in the audit number. Please submit a work order application for purchasing 1024 or above specifications. Shared instance types do not need to specify specifications. The specification of - 8 core 32GB (number of computing nodes: 1) is only for experience use and cannot be used for production. :param pulumi.Input[_builtins.str] create_time: The creation time of the resource. :param pulumi.Input[_builtins.int] duration: The buying cycle. Buy for 2 months. If the Payment type is PayAsYouGo (PostPaid), you do not need to specify it. + :param pulumi.Input[_builtins.bool] enable_ssl: Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEndpointArgs', 'InstanceEndpointArgsDict']]]] endpoints: List of domain names. See `endpoints` below. :param pulumi.Input[_builtins.int] gateway_count: Number of gateway nodes. :param pulumi.Input[_builtins.str] initial_databases: Initialize the database and split multiple database names ",". @@ -983,6 +1021,7 @@ def get(resource_name: str, __props__.__dict__["cpu"] = cpu __props__.__dict__["create_time"] = create_time __props__.__dict__["duration"] = duration + __props__.__dict__["enable_ssl"] = enable_ssl __props__.__dict__["endpoints"] = endpoints __props__.__dict__["gateway_count"] = gateway_count __props__.__dict__["initial_databases"] = initial_databases @@ -1051,6 +1090,14 @@ def duration(self) -> pulumi.Output[Optional[_builtins.int]]: """ return pulumi.get(self, "duration") + @_builtins.property + @pulumi.getter(name="enableSsl") + def enable_ssl(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Specifies whether to enable SSL encryption. Default Value: `false`. Valid values: `true`, `false`. + """ + return pulumi.get(self, "enable_ssl") + @_builtins.property @pulumi.getter def endpoints(self) -> pulumi.Output[Sequence['outputs.InstanceEndpoint']]: diff --git a/sdk/python/pulumi_alicloud/imm/project.py b/sdk/python/pulumi_alicloud/imm/project.py index 2ac8ec355c..9e81255b4b 100644 --- a/sdk/python/pulumi_alicloud/imm/project.py +++ b/sdk/python/pulumi_alicloud/imm/project.py @@ -147,6 +147,8 @@ def __init__(__self__, service_role=role.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Intelligent Media Management Project can be imported using the id, e.g. @@ -209,6 +211,8 @@ def __init__(__self__, service_role=role.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Intelligent Media Management Project can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/imp/app_template.py b/sdk/python/pulumi_alicloud/imp/app_template.py index 405cbd8e96..f617a541d6 100644 --- a/sdk/python/pulumi_alicloud/imp/app_template.py +++ b/sdk/python/pulumi_alicloud/imp/app_template.py @@ -253,6 +253,8 @@ def __init__(__self__, scene="business") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara Agile Live (IMP) App Template can be imported using the id, e.g. @@ -302,6 +304,8 @@ def __init__(__self__, scene="business") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Apsara Agile Live (IMP) App Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ims/oidc_provider.py b/sdk/python/pulumi_alicloud/ims/oidc_provider.py index 813861c619..184578aa2f 100644 --- a/sdk/python/pulumi_alicloud/ims/oidc_provider.py +++ b/sdk/python/pulumi_alicloud/ims/oidc_provider.py @@ -307,6 +307,8 @@ def __init__(__self__, issuer_url="https://oauth.aliyun.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import IMS Oidc Provider can be imported using the id, e.g. @@ -367,6 +369,8 @@ def __init__(__self__, issuer_url="https://oauth.aliyun.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import IMS Oidc Provider can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/iot/device_group.py b/sdk/python/pulumi_alicloud/iot/device_group.py index 945ab44faf..c4c66cedd2 100644 --- a/sdk/python/pulumi_alicloud/iot/device_group.py +++ b/sdk/python/pulumi_alicloud/iot/device_group.py @@ -192,6 +192,8 @@ def __init__(__self__, example = alicloud.iot.DeviceGroup("example", group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Iot Device Group can be imported using the id, e.g. @@ -235,6 +237,8 @@ def __init__(__self__, example = alicloud.iot.DeviceGroup("example", group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Iot Device Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/__init__.py b/sdk/python/pulumi_alicloud/kms/__init__.py index 1a9b3f9348..5179bb2075 100644 --- a/sdk/python/pulumi_alicloud/kms/__init__.py +++ b/sdk/python/pulumi_alicloud/kms/__init__.py @@ -25,5 +25,6 @@ from .network_rule import * from .policy import * from .secret import * +from .value_added_service import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/kms/alias.py b/sdk/python/pulumi_alicloud/kms/alias.py index 24f43b4b8a..a34e15ef11 100644 --- a/sdk/python/pulumi_alicloud/kms/alias.py +++ b/sdk/python/pulumi_alicloud/kms/alias.py @@ -146,6 +146,8 @@ def __init__(__self__, key_id=this.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS alias can be imported using the id, e.g. @@ -190,6 +192,8 @@ def __init__(__self__, key_id=this.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS alias can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/application_access_point.py b/sdk/python/pulumi_alicloud/kms/application_access_point.py index d61be4ac47..754814b23a 100644 --- a/sdk/python/pulumi_alicloud/kms/application_access_point.py +++ b/sdk/python/pulumi_alicloud/kms/application_access_point.py @@ -165,6 +165,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Application Access Point can be imported using the id, e.g. @@ -214,6 +216,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Application Access Point can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/ciphertext.py b/sdk/python/pulumi_alicloud/kms/ciphertext.py index 2a7b2b2902..bf26de3f08 100644 --- a/sdk/python/pulumi_alicloud/kms/ciphertext.py +++ b/sdk/python/pulumi_alicloud/kms/ciphertext.py @@ -168,6 +168,8 @@ def __init__(__self__, plaintext="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] encryption_context: The Encryption context. If you specify this parameter here, it is also required when you call the Decrypt API operation. For more information, see [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). @@ -196,6 +198,8 @@ def __init__(__self__, plaintext="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param CiphertextArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/kms/client_key.py b/sdk/python/pulumi_alicloud/kms/client_key.py index 2d4e172d4c..54b85ff157 100644 --- a/sdk/python/pulumi_alicloud/kms/client_key.py +++ b/sdk/python/pulumi_alicloud/kms/client_key.py @@ -249,6 +249,8 @@ def __init__(__self__, private_key_data_file="./private_key_data_file.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Client Key can be imported using the id, e.g. @@ -304,6 +306,8 @@ def __init__(__self__, private_key_data_file="./private_key_data_file.txt") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Client Key can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/get_instances.py b/sdk/python/pulumi_alicloud/kms/get_instances.py index 7212f32b42..a053534c0f 100644 --- a/sdk/python/pulumi_alicloud/kms/get_instances.py +++ b/sdk/python/pulumi_alicloud/kms/get_instances.py @@ -27,25 +27,22 @@ class GetInstancesResult: """ A collection of values returned by getInstances. """ - def __init__(__self__, id=None, ids=None, instances=None, output_file=None, page_number=None, page_size=None): + def __init__(__self__, id=None, ids=None, instance_name=None, instances=None, 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 ids and not isinstance(ids, list): raise TypeError("Expected argument 'ids' to be a list") pulumi.set(__self__, "ids", 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 instances and not isinstance(instances, list): raise TypeError("Expected argument 'instances' to be a list") pulumi.set(__self__, "instances", instances) if output_file and not isinstance(output_file, str): raise TypeError("Expected argument 'output_file' to be a str") pulumi.set(__self__, "output_file", output_file) - if page_number and not isinstance(page_number, int): - raise TypeError("Expected argument 'page_number' to be a int") - pulumi.set(__self__, "page_number", page_number) - if page_size and not isinstance(page_size, int): - raise TypeError("Expected argument 'page_size' to be a int") - pulumi.set(__self__, "page_size", page_size) @_builtins.property @pulumi.getter @@ -63,6 +60,11 @@ def ids(self) -> Sequence[_builtins.str]: """ return pulumi.get(self, "ids") + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[_builtins.str]: + return pulumi.get(self, "instance_name") + @_builtins.property @pulumi.getter def instances(self) -> Sequence['outputs.GetInstancesInstanceResult']: @@ -76,16 +78,6 @@ def instances(self) -> Sequence['outputs.GetInstancesInstanceResult']: def output_file(self) -> Optional[_builtins.str]: return pulumi.get(self, "output_file") - @_builtins.property - @pulumi.getter(name="pageNumber") - def page_number(self) -> Optional[_builtins.int]: - return pulumi.get(self, "page_number") - - @_builtins.property - @pulumi.getter(name="pageSize") - def page_size(self) -> Optional[_builtins.int]: - return pulumi.get(self, "page_size") - class AwaitableGetInstancesResult(GetInstancesResult): # pylint: disable=using-constant-test @@ -95,16 +87,14 @@ def __await__(self): return GetInstancesResult( id=self.id, ids=self.ids, + instance_name=self.instance_name, instances=self.instances, - output_file=self.output_file, - page_number=self.page_number, - page_size=self.page_size) + output_file=self.output_file) def get_instances(ids: Optional[Sequence[_builtins.str]] = None, + instance_name: Optional[_builtins.str] = None, output_file: Optional[_builtins.str] = None, - page_number: Optional[_builtins.int] = None, - page_size: Optional[_builtins.int] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstancesResult: """ This data source provides Kms Instance available to the user.[What is Instance](https://www.alibabacloud.com/help/en/) @@ -165,7 +155,6 @@ def get_instances(ids: Optional[Sequence[_builtins.str]] = None, spec=1000, renew_status="ManualRenewal", product_version="3", - renew_period=3, vpc_id=vswitch.vpc_id, zone_ids=[ "cn-hangzhou-k", @@ -202,27 +191,25 @@ def get_instances(ids: Optional[Sequence[_builtins.str]] = None, :param Sequence[_builtins.str] ids: A list of Instance IDs. + :param _builtins.str instance_name: The name of the resource. :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). """ __args__ = dict() __args__['ids'] = ids + __args__['instanceName'] = instance_name __args__['outputFile'] = output_file - __args__['pageNumber'] = page_number - __args__['pageSize'] = page_size opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('alicloud:kms/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult).value return AwaitableGetInstancesResult( id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids'), + instance_name=pulumi.get(__ret__, 'instance_name'), instances=pulumi.get(__ret__, 'instances'), - output_file=pulumi.get(__ret__, 'output_file'), - page_number=pulumi.get(__ret__, 'page_number'), - page_size=pulumi.get(__ret__, 'page_size')) + output_file=pulumi.get(__ret__, 'output_file')) def get_instances_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None, + instance_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None, output_file: Optional[pulumi.Input[Optional[_builtins.str]]] = None, - page_number: Optional[pulumi.Input[Optional[_builtins.int]]] = None, - page_size: Optional[pulumi.Input[Optional[_builtins.int]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstancesResult]: """ This data source provides Kms Instance available to the user.[What is Instance](https://www.alibabacloud.com/help/en/) @@ -283,7 +270,6 @@ def get_instances_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins. spec=1000, renew_status="ManualRenewal", product_version="3", - renew_period=3, vpc_id=vswitch.vpc_id, zone_ids=[ "cn-hangzhou-k", @@ -320,19 +306,18 @@ def get_instances_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins. :param Sequence[_builtins.str] ids: A list of Instance IDs. + :param _builtins.str instance_name: The name of the resource. :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). """ __args__ = dict() __args__['ids'] = ids + __args__['instanceName'] = instance_name __args__['outputFile'] = output_file - __args__['pageNumber'] = page_number - __args__['pageSize'] = page_size opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('alicloud:kms/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult) return __ret__.apply(lambda __response__: GetInstancesResult( id=pulumi.get(__response__, 'id'), ids=pulumi.get(__response__, 'ids'), + instance_name=pulumi.get(__response__, 'instance_name'), instances=pulumi.get(__response__, 'instances'), - output_file=pulumi.get(__response__, 'output_file'), - page_number=pulumi.get(__response__, 'page_number'), - page_size=pulumi.get(__response__, 'page_size'))) + output_file=pulumi.get(__response__, 'output_file'))) diff --git a/sdk/python/pulumi_alicloud/kms/instance.py b/sdk/python/pulumi_alicloud/kms/instance.py index cda00ad46a..17cf877271 100644 --- a/sdk/python/pulumi_alicloud/kms/instance.py +++ b/sdk/python/pulumi_alicloud/kms/instance.py @@ -937,6 +937,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Instance can be imported using the id, e.g. @@ -1162,6 +1164,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/key.py b/sdk/python/pulumi_alicloud/kms/key.py index 6df99c0bea..651315436c 100644 --- a/sdk/python/pulumi_alicloud/kms/key.py +++ b/sdk/python/pulumi_alicloud/kms/key.py @@ -805,6 +805,8 @@ def __init__(__self__, pending_window_in_days=7) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Key can be imported using the id, e.g. @@ -868,6 +870,8 @@ def __init__(__self__, pending_window_in_days=7) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Key can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/key_version.py b/sdk/python/pulumi_alicloud/kms/key_version.py index 4e06749eb6..eb3d372902 100644 --- a/sdk/python/pulumi_alicloud/kms/key_version.py +++ b/sdk/python/pulumi_alicloud/kms/key_version.py @@ -112,6 +112,8 @@ def __init__(__self__, keyversion = alicloud.kms.KeyVersion("keyversion", key_id=this.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alikms key version can be imported using the id, e.g. @@ -149,6 +151,8 @@ def __init__(__self__, keyversion = alicloud.kms.KeyVersion("keyversion", key_id=this.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Alikms key version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/network_rule.py b/sdk/python/pulumi_alicloud/kms/network_rule.py index 7b1517d0e3..7be31f2b1d 100644 --- a/sdk/python/pulumi_alicloud/kms/network_rule.py +++ b/sdk/python/pulumi_alicloud/kms/network_rule.py @@ -166,6 +166,8 @@ def __init__(__self__, network_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Network Rule can be imported using the id, e.g. @@ -215,6 +217,8 @@ def __init__(__self__, network_rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Network Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/policy.py b/sdk/python/pulumi_alicloud/kms/policy.py index 989bf32096..ad6ffd5694 100644 --- a/sdk/python/pulumi_alicloud/kms/policy.py +++ b/sdk/python/pulumi_alicloud/kms/policy.py @@ -287,6 +287,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Policy can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/secret.py b/sdk/python/pulumi_alicloud/kms/secret.py index 7b88b516ba..0ea95991ff 100644 --- a/sdk/python/pulumi_alicloud/kms/secret.py +++ b/sdk/python/pulumi_alicloud/kms/secret.py @@ -662,6 +662,8 @@ def __init__(__self__, force_delete_without_recovery=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Secret can be imported using the id, e.g. @@ -727,6 +729,8 @@ def __init__(__self__, force_delete_without_recovery=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import KMS Secret can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kms/value_added_service.py b/sdk/python/pulumi_alicloud/kms/value_added_service.py new file mode 100644 index 0000000000..4ef207d4f1 --- /dev/null +++ b/sdk/python/pulumi_alicloud/kms/value_added_service.py @@ -0,0 +1,539 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['ValueAddedServiceArgs', 'ValueAddedService'] + +@pulumi.input_type +class ValueAddedServiceArgs: + def __init__(__self__, *, + payment_type: pulumi.Input[_builtins.str], + period: Optional[pulumi.Input[_builtins.int]] = None, + renew_period: Optional[pulumi.Input[_builtins.int]] = None, + renew_status: Optional[pulumi.Input[_builtins.str]] = None, + value_added_service: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a ValueAddedService resource. + :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + :param pulumi.Input[_builtins.str] value_added_service: value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + pulumi.set(__self__, "payment_type", payment_type) + if period is not None: + pulumi.set(__self__, "period", period) + if renew_period is not None: + pulumi.set(__self__, "renew_period", renew_period) + if renew_status is not None: + pulumi.set(__self__, "renew_status", renew_status) + if value_added_service is not None: + pulumi.set(__self__, "value_added_service", value_added_service) + + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> pulumi.Input[_builtins.str]: + """ + The payment type of the resource + """ + return pulumi.get(self, "payment_type") + + @payment_type.setter + def payment_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "payment_type", value) + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[_builtins.int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "period", value) + + @_builtins.property + @pulumi.getter(name="renewPeriod") + def renew_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + """ + return pulumi.get(self, "renew_period") + + @renew_period.setter + def renew_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "renew_period", value) + + @_builtins.property + @pulumi.getter(name="renewStatus") + def renew_status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + """ + return pulumi.get(self, "renew_status") + + @renew_status.setter + def renew_status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "renew_status", value) + + @_builtins.property + @pulumi.getter(name="valueAddedService") + def value_added_service(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "value_added_service") + + @value_added_service.setter + def value_added_service(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value_added_service", value) + + +@pulumi.input_type +class _ValueAddedServiceState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None, + renew_period: Optional[pulumi.Input[_builtins.int]] = None, + renew_status: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + value_added_service: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ValueAddedService resources. + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] region_id: The region ID of the resource + :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + :param pulumi.Input[_builtins.str] status: The status of the resource + :param pulumi.Input[_builtins.str] value_added_service: value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if payment_type is not None: + pulumi.set(__self__, "payment_type", payment_type) + if period is not None: + pulumi.set(__self__, "period", period) + if region_id is not None: + pulumi.set(__self__, "region_id", region_id) + if renew_period is not None: + pulumi.set(__self__, "renew_period", renew_period) + if renew_status is not None: + pulumi.set(__self__, "renew_status", renew_status) + if status is not None: + pulumi.set(__self__, "status", status) + if value_added_service is not None: + pulumi.set(__self__, "value_added_service", value_added_service) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The payment type of the resource + """ + return pulumi.get(self, "payment_type") + + @payment_type.setter + def payment_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "payment_type", value) + + @_builtins.property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[_builtins.int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "period", value) + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The region ID of the resource + """ + return pulumi.get(self, "region_id") + + @region_id.setter + def region_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region_id", value) + + @_builtins.property + @pulumi.getter(name="renewPeriod") + def renew_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + """ + return pulumi.get(self, "renew_period") + + @renew_period.setter + def renew_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "renew_period", value) + + @_builtins.property + @pulumi.getter(name="renewStatus") + def renew_status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + """ + return pulumi.get(self, "renew_status") + + @renew_status.setter + def renew_status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "renew_status", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The status of the resource + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="valueAddedService") + def value_added_service(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "value_added_service") + + @value_added_service.setter + def value_added_service(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value_added_service", value) + + +@pulumi.type_token("alicloud:kms/valueAddedService:ValueAddedService") +class ValueAddedService(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + renew_period: Optional[pulumi.Input[_builtins.int]] = None, + renew_status: Optional[pulumi.Input[_builtins.str]] = None, + value_added_service: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a KMS Value Added Service resource. + + Value Added Service. + + For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.kms.ValueAddedService("default", + value_added_service="2", + period=1, + payment_type="Subscription", + renew_period=1, + renew_status="AutoRenewal") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + KMS Value Added Service can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + :param pulumi.Input[_builtins.str] value_added_service: value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ValueAddedServiceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a KMS Value Added Service resource. + + Value Added Service. + + For information about KMS Value Added Service and how to use it, see [What is Value Added Service](https://next.api.alibabacloud.com/document/BssOpenApi/2017-12-14/CreateInstance). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.kms.ValueAddedService("default", + value_added_service="2", + period=1, + payment_type="Subscription", + renew_period=1, + renew_status="AutoRenewal") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + KMS Value Added Service can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:kms/valueAddedService:ValueAddedService example + ``` + + :param str resource_name: The name of the resource. + :param ValueAddedServiceArgs 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(ValueAddedServiceArgs, 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, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + renew_period: Optional[pulumi.Input[_builtins.int]] = None, + renew_status: Optional[pulumi.Input[_builtins.str]] = None, + value_added_service: Optional[pulumi.Input[_builtins.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__ = ValueAddedServiceArgs.__new__(ValueAddedServiceArgs) + + if payment_type is None and not opts.urn: + raise TypeError("Missing required property 'payment_type'") + __props__.__dict__["payment_type"] = payment_type + __props__.__dict__["period"] = period + __props__.__dict__["renew_period"] = renew_period + __props__.__dict__["renew_status"] = renew_status + __props__.__dict__["value_added_service"] = value_added_service + __props__.__dict__["create_time"] = None + __props__.__dict__["region_id"] = None + __props__.__dict__["status"] = None + super(ValueAddedService, __self__).__init__( + 'alicloud:kms/valueAddedService:ValueAddedService', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + payment_type: Optional[pulumi.Input[_builtins.str]] = None, + period: Optional[pulumi.Input[_builtins.int]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None, + renew_period: Optional[pulumi.Input[_builtins.int]] = None, + renew_status: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + value_added_service: Optional[pulumi.Input[_builtins.str]] = None) -> 'ValueAddedService': + """ + Get an existing ValueAddedService 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[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] region_id: The region ID of the resource + :param pulumi.Input[_builtins.int] renew_period: Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + :param pulumi.Input[_builtins.str] renew_status: The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + :param pulumi.Input[_builtins.str] status: The status of the resource + :param pulumi.Input[_builtins.str] value_added_service: value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ValueAddedServiceState.__new__(_ValueAddedServiceState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["payment_type"] = payment_type + __props__.__dict__["period"] = period + __props__.__dict__["region_id"] = region_id + __props__.__dict__["renew_period"] = renew_period + __props__.__dict__["renew_status"] = renew_status + __props__.__dict__["status"] = status + __props__.__dict__["value_added_service"] = value_added_service + return ValueAddedService(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="paymentType") + def payment_type(self) -> pulumi.Output[_builtins.str]: + """ + The payment type of the resource + """ + return pulumi.get(self, "payment_type") + + @_builtins.property + @pulumi.getter + def period(self) -> pulumi.Output[Optional[_builtins.int]]: + return pulumi.get(self, "period") + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> pulumi.Output[_builtins.str]: + """ + The region ID of the resource + """ + return pulumi.get(self, "region_id") + + @_builtins.property + @pulumi.getter(name="renewPeriod") + def renew_period(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Automatic renewal period, in years. + + > **NOTE:** When setting `RenewalStatus` to `AutoRenewal`, it must be set. + """ + return pulumi.get(self, "renew_period") + + @_builtins.property + @pulumi.getter(name="renewStatus") + def renew_status(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The renewal status of the specified instance. Valid values: + + - AutoRenewal: The instance is automatically renewed. + - ManualRenewal: The instance is manually renewed. + - NotRenewal: The instance is not renewed. + """ + return pulumi.get(self, "renew_status") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the resource + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="valueAddedService") + def value_added_service(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + value added service type, Instance Backup 1 default key rotation 2 Expert service 3 + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "value_added_service") + diff --git a/sdk/python/pulumi_alicloud/kvstore/account.py b/sdk/python/pulumi_alicloud/kvstore/account.py index 7d5a3f62a5..05cefa528b 100644 --- a/sdk/python/pulumi_alicloud/kvstore/account.py +++ b/sdk/python/pulumi_alicloud/kvstore/account.py @@ -397,6 +397,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. @@ -481,6 +483,8 @@ def __init__(__self__, instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kvstore/audit_log_config.py b/sdk/python/pulumi_alicloud/kvstore/audit_log_config.py index 9cd7e78223..77fe89cebe 100644 --- a/sdk/python/pulumi_alicloud/kvstore/audit_log_config.py +++ b/sdk/python/pulumi_alicloud/kvstore/audit_log_config.py @@ -243,6 +243,8 @@ def __init__(__self__, retention=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. @@ -319,6 +321,8 @@ def __init__(__self__, retention=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Audit Log Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kvstore/backup_policy.py b/sdk/python/pulumi_alicloud/kvstore/backup_policy.py index c21e834164..b285ace271 100644 --- a/sdk/python/pulumi_alicloud/kvstore/backup_policy.py +++ b/sdk/python/pulumi_alicloud/kvstore/backup_policy.py @@ -192,6 +192,8 @@ def __init__(__self__, backup_time="10:00Z-11:00Z") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. @@ -267,6 +269,8 @@ def __init__(__self__, backup_time="10:00Z-11:00Z") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/kvstore/connection.py b/sdk/python/pulumi_alicloud/kvstore/connection.py index 9a65b882b8..479e764102 100644 --- a/sdk/python/pulumi_alicloud/kvstore/connection.py +++ b/sdk/python/pulumi_alicloud/kvstore/connection.py @@ -201,6 +201,8 @@ def __init__(__self__, port="6370") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. @@ -271,6 +273,8 @@ def __init__(__self__, port="6370") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tair (Redis OSS-Compatible) And Memcache (KVStore) connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/lindorm/_inputs.py b/sdk/python/pulumi_alicloud/lindorm/_inputs.py index 26dc2029d9..5a90025fec 100644 --- a/sdk/python/pulumi_alicloud/lindorm/_inputs.py +++ b/sdk/python/pulumi_alicloud/lindorm/_inputs.py @@ -21,6 +21,8 @@ 'InstanceV2EngineListConnectAddressListArgsDict', 'InstanceV2EngineListNodeGroupArgs', 'InstanceV2EngineListNodeGroupArgsDict', + 'InstanceV2WhiteIpListArgs', + 'InstanceV2WhiteIpListArgsDict', ] MYPY = False @@ -30,6 +32,19 @@ class InstanceV2EngineListArgsDict(TypedDict): engine_type: pulumi.Input[_builtins.str] """ Engine + + Enumeration value: + - `TABLE`: Wide table engine + - `TSDB`: Time series Engine + - `LSEARCH`: Search engine + - `LTS`: LTS engine + - `LVECTOR`: Vector engine + - `LCOLUMN`: Column-store engine + - `LAI`: AI engine + - `FILE`: The underlying file engine + - `LMESSAGE`: Message engine + - `LROW`: Wide table Engine 3.0 + - `LSTREAM`: Stream engine """ connect_address_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceV2EngineListConnectAddressListArgsDict']]]] """ @@ -65,6 +80,19 @@ def __init__(__self__, *, version: Optional[pulumi.Input[_builtins.str]] = None): """ :param pulumi.Input[_builtins.str] engine_type: Engine + + Enumeration value: + - `TABLE`: Wide table engine + - `TSDB`: Time series Engine + - `LSEARCH`: Search engine + - `LTS`: LTS engine + - `LVECTOR`: Vector engine + - `LCOLUMN`: Column-store engine + - `LAI`: AI engine + - `FILE`: The underlying file engine + - `LMESSAGE`: Message engine + - `LROW`: Wide table Engine 3.0 + - `LSTREAM`: Stream engine :param pulumi.Input[Sequence[pulumi.Input['InstanceV2EngineListConnectAddressListArgs']]] connect_address_lists: Connect Address List :param pulumi.Input[_builtins.bool] is_last_version: Whether it is the latest version :param pulumi.Input[_builtins.str] latest_version: Latest Version @@ -88,6 +116,19 @@ def __init__(__self__, *, def engine_type(self) -> pulumi.Input[_builtins.str]: """ Engine + + Enumeration value: + - `TABLE`: Wide table engine + - `TSDB`: Time series Engine + - `LSEARCH`: Search engine + - `LTS`: LTS engine + - `LVECTOR`: Vector engine + - `LCOLUMN`: Column-store engine + - `LAI`: AI engine + - `FILE`: The underlying file engine + - `LMESSAGE`: Message engine + - `LROW`: Wide table Engine 3.0 + - `LSTREAM`: Stream engine """ return pulumi.get(self, "engine_type") @@ -237,6 +278,41 @@ class InstanceV2EngineListNodeGroupArgsDict(TypedDict): node_spec: pulumi.Input[_builtins.str] """ Node Specifications + - Valid values when selecting cloud storage: + - **lindorm.c.2xlarge**, 8 cores 16GB + - **lindorm.g.2xlarge**, 8 cores 32GB + - **lindorm.c.4xlarge**, 16 cores 32GB + - **lindorm.g.4xlarge**, 16 cores 64GB + - **lindorm.c.8xlarge**, 32 core 64GB + - **lindorm.g.8xlarge**, 32 core 128GB + - **lindorm.g.8xlarge**, 8 cores 64GB + - **lindorm.r.4xlarge**, 16 cores 128GB + - **lindorm.r.8xlarge**, 32 cores 256GB + - Valid values when local disk storage is selected: + - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + - **lindorm.i4.xlarge**, 4 core 32GB(I4) + - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + - **lindorm.i2.xlarge**, 4 core 32GB(I2) + - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) """ resource_group_name: pulumi.Input[_builtins.str] """ @@ -294,6 +370,41 @@ def __init__(__self__, *, """ :param pulumi.Input[_builtins.int] node_count: Number of nodes :param pulumi.Input[_builtins.str] node_spec: Node Specifications + - Valid values when selecting cloud storage: + - **lindorm.c.2xlarge**, 8 cores 16GB + - **lindorm.g.2xlarge**, 8 cores 32GB + - **lindorm.c.4xlarge**, 16 cores 32GB + - **lindorm.g.4xlarge**, 16 cores 64GB + - **lindorm.c.8xlarge**, 32 core 64GB + - **lindorm.g.8xlarge**, 32 core 128GB + - **lindorm.g.8xlarge**, 8 cores 64GB + - **lindorm.r.4xlarge**, 16 cores 128GB + - **lindorm.r.8xlarge**, 32 cores 256GB + - Valid values when local disk storage is selected: + - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + - **lindorm.i4.xlarge**, 4 core 32GB(I4) + - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + - **lindorm.i2.xlarge**, 4 core 32GB(I2) + - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) :param pulumi.Input[_builtins.str] resource_group_name: Resource group name :param pulumi.Input[_builtins.str] category: Node Type :param pulumi.Input[_builtins.int] cpu_core_count: Number of CPU cores @@ -341,6 +452,41 @@ def node_count(self, value: pulumi.Input[_builtins.int]): def node_spec(self) -> pulumi.Input[_builtins.str]: """ Node Specifications + - Valid values when selecting cloud storage: + - **lindorm.c.2xlarge**, 8 cores 16GB + - **lindorm.g.2xlarge**, 8 cores 32GB + - **lindorm.c.4xlarge**, 16 cores 32GB + - **lindorm.g.4xlarge**, 16 cores 64GB + - **lindorm.c.8xlarge**, 32 core 64GB + - **lindorm.g.8xlarge**, 32 core 128GB + - **lindorm.g.8xlarge**, 8 cores 64GB + - **lindorm.r.4xlarge**, 16 cores 128GB + - **lindorm.r.8xlarge**, 32 cores 256GB + - Valid values when local disk storage is selected: + - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + - **lindorm.i4.xlarge**, 4 core 32GB(I4) + - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + - **lindorm.i2.xlarge**, 4 core 32GB(I2) + - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) """ return pulumi.get(self, "node_spec") @@ -457,3 +603,53 @@ def status(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "status", value) +if not MYPY: + class InstanceV2WhiteIpListArgsDict(TypedDict): + group_name: pulumi.Input[_builtins.str] + """ + Group Name + """ + ip_list: pulumi.Input[_builtins.str] + """ + Whitelist information + """ +elif False: + InstanceV2WhiteIpListArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InstanceV2WhiteIpListArgs: + def __init__(__self__, *, + group_name: pulumi.Input[_builtins.str], + ip_list: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] group_name: Group Name + :param pulumi.Input[_builtins.str] ip_list: Whitelist information + """ + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "ip_list", ip_list) + + @_builtins.property + @pulumi.getter(name="groupName") + def group_name(self) -> pulumi.Input[_builtins.str]: + """ + Group Name + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "group_name", value) + + @_builtins.property + @pulumi.getter(name="ipList") + def ip_list(self) -> pulumi.Input[_builtins.str]: + """ + Whitelist information + """ + return pulumi.get(self, "ip_list") + + @ip_list.setter + def ip_list(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "ip_list", value) + + diff --git a/sdk/python/pulumi_alicloud/lindorm/instance.py b/sdk/python/pulumi_alicloud/lindorm/instance.py index d3cea74370..1b70e7aa91 100644 --- a/sdk/python/pulumi_alicloud/lindorm/instance.py +++ b/sdk/python/pulumi_alicloud/lindorm/instance.py @@ -1638,6 +1638,8 @@ def __init__(__self__, instance_storage="1920") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Lindorm Instance can be imported using the id, e.g. @@ -1739,6 +1741,8 @@ def __init__(__self__, instance_storage="1920") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Lindorm Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/lindorm/instance_v2.py b/sdk/python/pulumi_alicloud/lindorm/instance_v2.py index becd0a3600..b500c3a111 100644 --- a/sdk/python/pulumi_alicloud/lindorm/instance_v2.py +++ b/sdk/python/pulumi_alicloud/lindorm/instance_v2.py @@ -40,24 +40,25 @@ def __init__(__self__, *, primary_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, primary_zone_id: Optional[pulumi.Input[_builtins.str]] = None, standby_vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, - standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None): + standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None, + white_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]] = None): """ The set of arguments for constructing a InstanceV2 resource. :param pulumi.Input[_builtins.str] arch_version: Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Sequence[pulumi.Input['InstanceV2EngineListArgs']]] engine_lists: Engine List See `engine_list` below. :param pulumi.Input[_builtins.str] instance_alias: Instance name - :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] payment_type: Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode :param pulumi.Input[_builtins.str] vpc_id: VpcId :param pulumi.Input[_builtins.str] vswitch_id: VswitchId :param pulumi.Input[_builtins.str] zone_id: The zone ID of the resource @@ -65,21 +66,22 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] arbiter_zone_id: Coordination Zone ZoneId :param pulumi.Input[_builtins.str] auto_renew_duration: Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] auto_renewal: Whether the instance is automatically renewed. Enumerated values: - :param pulumi.Input[_builtins.int] cloud_storage_size: > **NOTE:** Cloud storage capacity in GB - :param pulumi.Input[_builtins.str] cloud_storage_type: > **NOTE:** > - - > **NOTE:** - StandardStorage: Standard cloud storage + :param pulumi.Input[_builtins.int] cloud_storage_size: The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - PerformanceStorage: performance-based cloud storage + > **NOTE:** Cloud storage capacity in GB + :param pulumi.Input[_builtins.str] cloud_storage_type: Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage :param pulumi.Input[_builtins.str] deletion_protection: Whether to enable deletion protection :param pulumi.Input[_builtins.int] duration: The specified duration when the resource is purchased. Only the subscription instances are valid. @@ -91,6 +93,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] primary_zone_id: Primary zone ZoneID :param pulumi.Input[_builtins.str] standby_vswitch_id: Standby zone VswitchId :param pulumi.Input[_builtins.str] standby_zone_id: Standby zone ZoneID + :param pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]] white_ip_lists: Instance whitelist list See `white_ip_list` below. """ pulumi.set(__self__, "arch_version", arch_version) pulumi.set(__self__, "engine_lists", engine_lists) @@ -125,6 +128,8 @@ def __init__(__self__, *, pulumi.set(__self__, "standby_vswitch_id", standby_vswitch_id) if standby_zone_id is not None: pulumi.set(__self__, "standby_zone_id", standby_zone_id) + if white_ip_lists is not None: + pulumi.set(__self__, "white_ip_lists", white_ip_lists) @_builtins.property @pulumi.getter(name="archVersion") @@ -132,14 +137,10 @@ def arch_version(self) -> pulumi.Input[_builtins.str]: """ Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -177,7 +178,11 @@ def instance_alias(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="paymentType") def payment_type(self) -> pulumi.Input[_builtins.str]: """ - The payment type of the resource + Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode """ return pulumi.get(self, "payment_type") @@ -251,9 +256,9 @@ def auto_renew_duration(self) -> Optional[pulumi.Input[_builtins.str]]: """ Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -280,6 +285,8 @@ def auto_renewal(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="cloudStorageSize") def cloud_storage_size(self) -> Optional[pulumi.Input[_builtins.int]]: """ + The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + > **NOTE:** Cloud storage capacity in GB """ return pulumi.get(self, "cloud_storage_size") @@ -292,13 +299,12 @@ def cloud_storage_size(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="cloudStorageType") def cloud_storage_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - > **NOTE:** > + Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - StandardStorage: Standard cloud storage - - > **NOTE:** - PerformanceStorage: performance-based cloud storage - - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage """ return pulumi.get(self, "cloud_storage_type") @@ -394,6 +400,18 @@ def standby_zone_id(self) -> Optional[pulumi.Input[_builtins.str]]: def standby_zone_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "standby_zone_id", value) + @_builtins.property + @pulumi.getter(name="whiteIpLists") + def white_ip_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]]: + """ + Instance whitelist list See `white_ip_list` below. + """ + return pulumi.get(self, "white_ip_lists") + + @white_ip_lists.setter + def white_ip_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]]): + pulumi.set(self, "white_ip_lists", value) + @pulumi.input_type class _InstanceV2State: @@ -418,6 +436,7 @@ def __init__(__self__, *, standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None, vpc_id: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + white_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering InstanceV2 resources. @@ -425,40 +444,41 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] arbiter_zone_id: Coordination Zone ZoneId :param pulumi.Input[_builtins.str] arch_version: Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] auto_renew_duration: Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] auto_renewal: Whether the instance is automatically renewed. Enumerated values: - :param pulumi.Input[_builtins.int] cloud_storage_size: > **NOTE:** Cloud storage capacity in GB - :param pulumi.Input[_builtins.str] cloud_storage_type: > **NOTE:** > - - > **NOTE:** - StandardStorage: Standard cloud storage + :param pulumi.Input[_builtins.int] cloud_storage_size: The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - PerformanceStorage: performance-based cloud storage + > **NOTE:** Cloud storage capacity in GB + :param pulumi.Input[_builtins.str] cloud_storage_type: Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage :param pulumi.Input[_builtins.str] deletion_protection: Whether to enable deletion protection :param pulumi.Input[_builtins.int] duration: The specified duration when the resource is purchased. Only the subscription instances are valid. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Sequence[pulumi.Input['InstanceV2EngineListArgs']]] engine_lists: Engine List See `engine_list` below. :param pulumi.Input[_builtins.str] instance_alias: Instance name - :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] payment_type: Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode :param pulumi.Input[_builtins.str] pricing_cycle: Purchase duration unit: Month, Year > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -469,6 +489,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] standby_zone_id: Standby zone ZoneID :param pulumi.Input[_builtins.str] vpc_id: VpcId :param pulumi.Input[_builtins.str] vswitch_id: VswitchId + :param pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]] white_ip_lists: Instance whitelist list See `white_ip_list` below. :param pulumi.Input[_builtins.str] zone_id: The zone ID of the resource """ if arbiter_vswitch_id is not None: @@ -511,6 +532,8 @@ def __init__(__self__, *, pulumi.set(__self__, "vpc_id", vpc_id) if vswitch_id is not None: pulumi.set(__self__, "vswitch_id", vswitch_id) + if white_ip_lists is not None: + pulumi.set(__self__, "white_ip_lists", white_ip_lists) if zone_id is not None: pulumi.set(__self__, "zone_id", zone_id) @@ -544,14 +567,10 @@ def arch_version(self) -> Optional[pulumi.Input[_builtins.str]]: """ Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -567,9 +586,9 @@ def auto_renew_duration(self) -> Optional[pulumi.Input[_builtins.str]]: """ Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -596,6 +615,8 @@ def auto_renewal(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="cloudStorageSize") def cloud_storage_size(self) -> Optional[pulumi.Input[_builtins.int]]: """ + The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + > **NOTE:** Cloud storage capacity in GB """ return pulumi.get(self, "cloud_storage_size") @@ -608,13 +629,12 @@ def cloud_storage_size(self, value: Optional[pulumi.Input[_builtins.int]]): @pulumi.getter(name="cloudStorageType") def cloud_storage_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - > **NOTE:** > - - > **NOTE:** - StandardStorage: Standard cloud storage - - > **NOTE:** - PerformanceStorage: performance-based cloud storage + Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage """ return pulumi.get(self, "cloud_storage_type") @@ -676,7 +696,11 @@ def instance_alias(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="paymentType") def payment_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The payment type of the resource + Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode """ return pulumi.get(self, "payment_type") @@ -782,6 +806,18 @@ def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "vswitch_id", value) + @_builtins.property + @pulumi.getter(name="whiteIpLists") + def white_ip_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]]: + """ + Instance whitelist list See `white_ip_list` below. + """ + return pulumi.get(self, "white_ip_lists") + + @white_ip_lists.setter + def white_ip_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceV2WhiteIpListArgs']]]]): + pulumi.set(self, "white_ip_lists", value) + @_builtins.property @pulumi.getter(name="zoneId") def zone_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -820,6 +856,7 @@ def __init__(__self__, standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None, vpc_id: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + white_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2WhiteIpListArgs', 'InstanceV2WhiteIpListArgsDict']]]]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ @@ -882,6 +919,8 @@ def __init__(__self__, auto_renewal=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Lindorm Instance V2 can be imported using the id, e.g. @@ -896,40 +935,41 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] arbiter_zone_id: Coordination Zone ZoneId :param pulumi.Input[_builtins.str] arch_version: Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] auto_renew_duration: Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] auto_renewal: Whether the instance is automatically renewed. Enumerated values: - :param pulumi.Input[_builtins.int] cloud_storage_size: > **NOTE:** Cloud storage capacity in GB - :param pulumi.Input[_builtins.str] cloud_storage_type: > **NOTE:** > - - > **NOTE:** - StandardStorage: Standard cloud storage + :param pulumi.Input[_builtins.int] cloud_storage_size: The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - PerformanceStorage: performance-based cloud storage + > **NOTE:** Cloud storage capacity in GB + :param pulumi.Input[_builtins.str] cloud_storage_type: Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage :param pulumi.Input[_builtins.str] deletion_protection: Whether to enable deletion protection :param pulumi.Input[_builtins.int] duration: The specified duration when the resource is purchased. Only the subscription instances are valid. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2EngineListArgs', 'InstanceV2EngineListArgsDict']]]] engine_lists: Engine List See `engine_list` below. :param pulumi.Input[_builtins.str] instance_alias: Instance name - :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] payment_type: Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode :param pulumi.Input[_builtins.str] pricing_cycle: Purchase duration unit: Month, Year > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -939,6 +979,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] standby_zone_id: Standby zone ZoneID :param pulumi.Input[_builtins.str] vpc_id: VpcId :param pulumi.Input[_builtins.str] vswitch_id: VswitchId + :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2WhiteIpListArgs', 'InstanceV2WhiteIpListArgsDict']]]] white_ip_lists: Instance whitelist list See `white_ip_list` below. :param pulumi.Input[_builtins.str] zone_id: The zone ID of the resource """ ... @@ -1007,6 +1048,8 @@ def __init__(__self__, auto_renewal=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Lindorm Instance V2 can be imported using the id, e.g. @@ -1049,6 +1092,7 @@ def _internal_init(__self__, standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None, vpc_id: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + white_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2WhiteIpListArgs', 'InstanceV2WhiteIpListArgsDict']]]]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1090,6 +1134,7 @@ def _internal_init(__self__, if vswitch_id is None and not opts.urn: raise TypeError("Missing required property 'vswitch_id'") __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["white_ip_lists"] = white_ip_lists if zone_id is None and not opts.urn: raise TypeError("Missing required property 'zone_id'") __props__.__dict__["zone_id"] = zone_id @@ -1124,6 +1169,7 @@ def get(resource_name: str, standby_zone_id: Optional[pulumi.Input[_builtins.str]] = None, vpc_id: Optional[pulumi.Input[_builtins.str]] = None, vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + white_ip_lists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2WhiteIpListArgs', 'InstanceV2WhiteIpListArgsDict']]]]] = None, zone_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'InstanceV2': """ Get an existing InstanceV2 resource's state with the given name, id, and optional extra @@ -1136,40 +1182,41 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] arbiter_zone_id: Coordination Zone ZoneId :param pulumi.Input[_builtins.str] arch_version: Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] auto_renew_duration: Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.bool] auto_renewal: Whether the instance is automatically renewed. Enumerated values: - :param pulumi.Input[_builtins.int] cloud_storage_size: > **NOTE:** Cloud storage capacity in GB - :param pulumi.Input[_builtins.str] cloud_storage_type: > **NOTE:** > + :param pulumi.Input[_builtins.int] cloud_storage_size: The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - StandardStorage: Standard cloud storage + > **NOTE:** Cloud storage capacity in GB + :param pulumi.Input[_builtins.str] cloud_storage_type: Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - PerformanceStorage: performance-based cloud storage - - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage :param pulumi.Input[_builtins.str] deletion_protection: Whether to enable deletion protection :param pulumi.Input[_builtins.int] duration: The specified duration when the resource is purchased. Only the subscription instances are valid. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2EngineListArgs', 'InstanceV2EngineListArgsDict']]]] engine_lists: Engine List See `engine_list` below. :param pulumi.Input[_builtins.str] instance_alias: Instance name - :param pulumi.Input[_builtins.str] payment_type: The payment type of the resource + :param pulumi.Input[_builtins.str] payment_type: Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode :param pulumi.Input[_builtins.str] pricing_cycle: Purchase duration unit: Month, Year > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -1180,6 +1227,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] standby_zone_id: Standby zone ZoneID :param pulumi.Input[_builtins.str] vpc_id: VpcId :param pulumi.Input[_builtins.str] vswitch_id: VswitchId + :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceV2WhiteIpListArgs', 'InstanceV2WhiteIpListArgsDict']]]] white_ip_lists: Instance whitelist list See `white_ip_list` below. :param pulumi.Input[_builtins.str] zone_id: The zone ID of the resource """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1206,6 +1254,7 @@ def get(resource_name: str, __props__.__dict__["standby_zone_id"] = standby_zone_id __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["white_ip_lists"] = white_ip_lists __props__.__dict__["zone_id"] = zone_id return InstanceV2(resource_name, opts=opts, __props__=__props__) @@ -1231,14 +1280,10 @@ def arch_version(self) -> pulumi.Output[_builtins.str]: """ Deployment Scenario - > **NOTE:** Enumeration value - - > **NOTE:** - 1.0 Single AZ - - > **NOTE:** - 2.0 Multi-AZ Basic - - > **NOTE:** - 3.0 Multi-AZ High Availability Edition - + Enumeration value: + - **1.0**: Single Zone + - **2.0**: Multi-AZ Basic Edition + - **3.0**: Multi-AZ High Availability Edition > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ @@ -1250,9 +1295,9 @@ def auto_renew_duration(self) -> pulumi.Output[Optional[_builtins.str]]: """ Automatic renewal duration. Unit: Month. - Value range: `1` to **12 * *. + Value range: `1` to `12`. - > **NOTE:** This item takes effect only when `AutoRenewal` is **true. + > **NOTE:** This item takes effect only when `AutoRenewal` is `true`. > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. @@ -1271,6 +1316,8 @@ def auto_renewal(self) -> pulumi.Output[Optional[_builtins.bool]]: @pulumi.getter(name="cloudStorageSize") def cloud_storage_size(self) -> pulumi.Output[Optional[_builtins.int]]: """ + The Sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. + > **NOTE:** Cloud storage capacity in GB """ return pulumi.get(self, "cloud_storage_size") @@ -1279,13 +1326,12 @@ def cloud_storage_size(self) -> pulumi.Output[Optional[_builtins.int]]: @pulumi.getter(name="cloudStorageType") def cloud_storage_type(self) -> pulumi.Output[Optional[_builtins.str]]: """ - > **NOTE:** > - - > **NOTE:** - StandardStorage: Standard cloud storage + Cloud storage type, the sales page storage type supports cloud storage and local sites. If you select cloud storage, this parameter is required. - > **NOTE:** - PerformanceStorage: performance-based cloud storage - - > **NOTE:** - capacity storage: Capacity-based cloud storage + Enumeration value: + - `StandardStorage`: Standard cloud storage + - **Performance storage**: Performance-based cloud storage + - **Capacity Storage**: Capacity-based cloud storage """ return pulumi.get(self, "cloud_storage_type") @@ -1327,7 +1373,11 @@ def instance_alias(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="paymentType") def payment_type(self) -> pulumi.Output[_builtins.str]: """ - The payment type of the resource + Resource attribute fields representing payment types + + Enumeration value: + - `PREPAY`: Prepaid mode + - `POSTPAY`: Postpay mode """ return pulumi.get(self, "payment_type") @@ -1397,6 +1447,14 @@ def vswitch_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "vswitch_id") + @_builtins.property + @pulumi.getter(name="whiteIpLists") + def white_ip_lists(self) -> pulumi.Output[Sequence['outputs.InstanceV2WhiteIpList']]: + """ + Instance whitelist list See `white_ip_list` below. + """ + return pulumi.get(self, "white_ip_lists") + @_builtins.property @pulumi.getter(name="zoneId") def zone_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_alicloud/lindorm/outputs.py b/sdk/python/pulumi_alicloud/lindorm/outputs.py index 62941394b1..e0246249dc 100644 --- a/sdk/python/pulumi_alicloud/lindorm/outputs.py +++ b/sdk/python/pulumi_alicloud/lindorm/outputs.py @@ -19,6 +19,7 @@ 'InstanceV2EngineList', 'InstanceV2EngineListConnectAddressList', 'InstanceV2EngineListNodeGroup', + 'InstanceV2WhiteIpList', 'GetInstancesInstanceResult', ] @@ -58,6 +59,19 @@ def __init__(__self__, *, version: Optional[_builtins.str] = None): """ :param _builtins.str engine_type: Engine + + Enumeration value: + - `TABLE`: Wide table engine + - `TSDB`: Time series Engine + - `LSEARCH`: Search engine + - `LTS`: LTS engine + - `LVECTOR`: Vector engine + - `LCOLUMN`: Column-store engine + - `LAI`: AI engine + - `FILE`: The underlying file engine + - `LMESSAGE`: Message engine + - `LROW`: Wide table Engine 3.0 + - `LSTREAM`: Stream engine :param Sequence['InstanceV2EngineListConnectAddressListArgs'] connect_address_lists: Connect Address List :param _builtins.bool is_last_version: Whether it is the latest version :param _builtins.str latest_version: Latest Version @@ -81,6 +95,19 @@ def __init__(__self__, *, def engine_type(self) -> _builtins.str: """ Engine + + Enumeration value: + - `TABLE`: Wide table engine + - `TSDB`: Time series Engine + - `LSEARCH`: Search engine + - `LTS`: LTS engine + - `LVECTOR`: Vector engine + - `LCOLUMN`: Column-store engine + - `LAI`: AI engine + - `FILE`: The underlying file engine + - `LMESSAGE`: Message engine + - `LROW`: Wide table Engine 3.0 + - `LSTREAM`: Stream engine """ return pulumi.get(self, "engine_type") @@ -218,6 +245,41 @@ def __init__(__self__, *, """ :param _builtins.int node_count: Number of nodes :param _builtins.str node_spec: Node Specifications + - Valid values when selecting cloud storage: + - **lindorm.c.2xlarge**, 8 cores 16GB + - **lindorm.g.2xlarge**, 8 cores 32GB + - **lindorm.c.4xlarge**, 16 cores 32GB + - **lindorm.g.4xlarge**, 16 cores 64GB + - **lindorm.c.8xlarge**, 32 core 64GB + - **lindorm.g.8xlarge**, 32 core 128GB + - **lindorm.g.8xlarge**, 8 cores 64GB + - **lindorm.r.4xlarge**, 16 cores 128GB + - **lindorm.r.8xlarge**, 32 cores 256GB + - Valid values when local disk storage is selected: + - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + - **lindorm.i4.xlarge**, 4 core 32GB(I4) + - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + - **lindorm.i2.xlarge**, 4 core 32GB(I2) + - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) :param _builtins.str resource_group_name: Resource group name :param _builtins.str category: Node Type :param _builtins.int cpu_core_count: Number of CPU cores @@ -261,6 +323,41 @@ def node_count(self) -> _builtins.int: def node_spec(self) -> _builtins.str: """ Node Specifications + - Valid values when selecting cloud storage: + - **lindorm.c.2xlarge**, 8 cores 16GB + - **lindorm.g.2xlarge**, 8 cores 32GB + - **lindorm.c.4xlarge**, 16 cores 32GB + - **lindorm.g.4xlarge**, 16 cores 64GB + - **lindorm.c.8xlarge**, 32 core 64GB + - **lindorm.g.8xlarge**, 32 core 128GB + - **lindorm.g.8xlarge**, 8 cores 64GB + - **lindorm.r.4xlarge**, 16 cores 128GB + - **lindorm.r.8xlarge**, 32 cores 256GB + - Valid values when local disk storage is selected: + - **lindorm.d2s.5XLarge**, 20 core 88GB(D2S) + - **lindorm.d2s.10XLarge**, 40 core 176GB(D2S) + - **lindorm.d2c.6XLarge**, 24 core 88GB(D2C) + - **lindorm.d2c.12XLarge**, 48 cores 176GB(D2C) + - **lindorm.d2C.24XLarge**, 96 core 352GB(D2C) + - **lindorm.d1.2xlarge**, 8 cores 32GB(D1NE) + - **lindorm.d1.4xlarge**, 16 cores 64GB(D1NE) + - **lindorm.d1.6xlarge**, 24 cores 96GB(D1NE) + - **lindorm.sd3c.3XLarge**, 14 cores 56GB(D3C PRO) + - **lindorm.sd3c.7XLarge**, 28 core 112GB(D3C PRO) + - **lindorm.sd3c.14XLarge**, 56 core 224GB(D3C PRO) + - **lindorm.d3s.2XLarge**, 8 core 32GB(D3S) + - **lindorm.d3s.4XLarge**, 16 cores 64GB(D3S) + - **lindorm.d3s.8XLarge**, 32 core 128GB(D3S) + - **lindorm.d3s.12XLarge**, 48 cores 192GB(D3S) + - **lindorm.d3s.16XLarge**, 64 cores 256GB(D3S) + - **lindorm.i4.xlarge**, 4 core 32GB(I4) + - **lindorm.i4.2xlarge**, 8 core 64GB(I4) + - **lindorm.i4.4xlarge**, 16 cores 128GB(I4) + - **lindorm.i4.8xlarge**, 32 cores 256GB(I4) + - **lindorm.i2.xlarge**, 4 core 32GB(I2) + - **lindorm.i2.2xlarge**, 8 core 64GB(I2) + - **lindorm.i2.4xlarge**, 16 cores 128GB(I2) + - **lindorm.i2.8xlarge**, 32 cores 256GB(I2) """ return pulumi.get(self, "node_spec") @@ -337,6 +434,54 @@ def status(self) -> Optional[_builtins.str]: return pulumi.get(self, "status") +@pulumi.output_type +class InstanceV2WhiteIpList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "groupName": + suggest = "group_name" + elif key == "ipList": + suggest = "ip_list" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceV2WhiteIpList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceV2WhiteIpList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceV2WhiteIpList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + group_name: _builtins.str, + ip_list: _builtins.str): + """ + :param _builtins.str group_name: Group Name + :param _builtins.str ip_list: Whitelist information + """ + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "ip_list", ip_list) + + @_builtins.property + @pulumi.getter(name="groupName") + def group_name(self) -> _builtins.str: + """ + Group Name + """ + return pulumi.get(self, "group_name") + + @_builtins.property + @pulumi.getter(name="ipList") + def ip_list(self) -> _builtins.str: + """ + Whitelist information + """ + return pulumi.get(self, "ip_list") + + @pulumi.output_type class GetInstancesInstanceResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/live/caster.py b/sdk/python/pulumi_alicloud/live/caster.py index add6b405af..2d3db82ff7 100644 --- a/sdk/python/pulumi_alicloud/live/caster.py +++ b/sdk/python/pulumi_alicloud/live/caster.py @@ -870,6 +870,8 @@ def __init__(__self__, norm_type=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Live Caster can be imported using the id, e.g. @@ -952,6 +954,8 @@ def __init__(__self__, norm_type=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Live Caster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/alert.py b/sdk/python/pulumi_alicloud/log/alert.py index ef88929519..5c4638abfe 100644 --- a/sdk/python/pulumi_alicloud/log/alert.py +++ b/sdk/python/pulumi_alicloud/log/alert.py @@ -1264,6 +1264,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log alert can be imported using the id, e.g. @@ -1562,6 +1564,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log alert can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/alert_resource.py b/sdk/python/pulumi_alicloud/log/alert_resource.py index ced28eca43..50b8b48a45 100644 --- a/sdk/python/pulumi_alicloud/log/alert_resource.py +++ b/sdk/python/pulumi_alicloud/log/alert_resource.py @@ -155,6 +155,8 @@ def __init__(__self__, lang="cn") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log alert resource can be imported using the id, e.g. @@ -193,6 +195,8 @@ def __init__(__self__, lang="cn") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log alert resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/audit.py b/sdk/python/pulumi_alicloud/log/audit.py index ce90a77d59..d921d5bbf4 100644 --- a/sdk/python/pulumi_alicloud/log/audit.py +++ b/sdk/python/pulumi_alicloud/log/audit.py @@ -367,6 +367,8 @@ def __init__(__self__, resource_directory_type="custom") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log audit can be imported using the id, e.g. @@ -554,6 +556,8 @@ def __init__(__self__, resource_directory_type="custom") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log audit can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/dashboard.py b/sdk/python/pulumi_alicloud/log/dashboard.py index 01167e7129..b5e368be52 100644 --- a/sdk/python/pulumi_alicloud/log/dashboard.py +++ b/sdk/python/pulumi_alicloud/log/dashboard.py @@ -271,6 +271,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Dashboard can be imported using the id, e.g. @@ -360,6 +362,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Dashboard can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/etl.py b/sdk/python/pulumi_alicloud/log/etl.py index 2a625e9a79..9c30fd48a2 100644 --- a/sdk/python/pulumi_alicloud/log/etl.py +++ b/sdk/python/pulumi_alicloud/log/etl.py @@ -905,6 +905,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log etl can be imported using the id, e.g. @@ -1024,6 +1026,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log etl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/ingestion.py b/sdk/python/pulumi_alicloud/log/ingestion.py index eda5664009..7c0fb86113 100644 --- a/sdk/python/pulumi_alicloud/log/ingestion.py +++ b/sdk/python/pulumi_alicloud/log/ingestion.py @@ -395,6 +395,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log ingestion can be imported using the id or name, e.g. @@ -487,6 +489,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log ingestion can be imported using the id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/log/log_tail_attachment.py b/sdk/python/pulumi_alicloud/log/log_tail_attachment.py index 9af362751e..191a84059f 100644 --- a/sdk/python/pulumi_alicloud/log/log_tail_attachment.py +++ b/sdk/python/pulumi_alicloud/log/log_tail_attachment.py @@ -199,6 +199,8 @@ def __init__(__self__, machine_group_name=example_machine_group.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Logtial to machine group can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, machine_group_name=example_machine_group.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Logtial to machine group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/log_tail_config.py b/sdk/python/pulumi_alicloud/log/log_tail_config.py index efbae9e32c..420338d427 100644 --- a/sdk/python/pulumi_alicloud/log/log_tail_config.py +++ b/sdk/python/pulumi_alicloud/log/log_tail_config.py @@ -330,6 +330,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls-logtail module @@ -408,6 +410,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls-logtail module diff --git a/sdk/python/pulumi_alicloud/log/machine_group.py b/sdk/python/pulumi_alicloud/log/machine_group.py index d990547847..aa5dbcf26c 100644 --- a/sdk/python/pulumi_alicloud/log/machine_group.py +++ b/sdk/python/pulumi_alicloud/log/machine_group.py @@ -232,6 +232,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls-logtail module @@ -289,6 +291,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls-logtail module diff --git a/sdk/python/pulumi_alicloud/log/oss_export.py b/sdk/python/pulumi_alicloud/log/oss_export.py index d0d54a8f0f..17c983d595 100644 --- a/sdk/python/pulumi_alicloud/log/oss_export.py +++ b/sdk/python/pulumi_alicloud/log/oss_export.py @@ -915,6 +915,8 @@ def __init__(__self__, time_zone="+0800") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log oss export can be imported using the id or name, e.g. @@ -1012,6 +1014,8 @@ def __init__(__self__, time_zone="+0800") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log oss export can be imported using the id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/log/oss_shipper.py b/sdk/python/pulumi_alicloud/log/oss_shipper.py index f73ac6f0a7..ca24089959 100644 --- a/sdk/python/pulumi_alicloud/log/oss_shipper.py +++ b/sdk/python/pulumi_alicloud/log/oss_shipper.py @@ -700,6 +700,8 @@ def __init__(__self__, json_enable_tag=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log oss shipper can be imported using the id or name, e.g. @@ -790,6 +792,8 @@ def __init__(__self__, json_enable_tag=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log oss shipper can be imported using the id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/log/project.py b/sdk/python/pulumi_alicloud/log/project.py index 00dc70a458..39bfbb3de1 100644 --- a/sdk/python/pulumi_alicloud/log/project.py +++ b/sdk/python/pulumi_alicloud/log/project.py @@ -364,6 +364,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module @@ -461,6 +463,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module diff --git a/sdk/python/pulumi_alicloud/log/resource.py b/sdk/python/pulumi_alicloud/log/resource.py index e7712611f0..dd1a622f97 100644 --- a/sdk/python/pulumi_alicloud/log/resource.py +++ b/sdk/python/pulumi_alicloud/log/resource.py @@ -244,6 +244,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log resource can be imported using the id, e.g. @@ -308,6 +310,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/resource_record.py b/sdk/python/pulumi_alicloud/log/resource_record.py index 8e8bdf49df..df2b39a55d 100644 --- a/sdk/python/pulumi_alicloud/log/resource_record.py +++ b/sdk/python/pulumi_alicloud/log/resource_record.py @@ -226,6 +226,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log resource record can be imported using the id, e.g. @@ -306,6 +308,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log resource record can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/log/store.py b/sdk/python/pulumi_alicloud/log/store.py index 32ad6bd249..b9fadd2138 100644 --- a/sdk/python/pulumi_alicloud/log/store.py +++ b/sdk/python/pulumi_alicloud/log/store.py @@ -713,6 +713,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module @@ -841,6 +843,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module diff --git a/sdk/python/pulumi_alicloud/log/store_index.py b/sdk/python/pulumi_alicloud/log/store_index.py index 203da84717..c79395504a 100644 --- a/sdk/python/pulumi_alicloud/log/store_index.py +++ b/sdk/python/pulumi_alicloud/log/store_index.py @@ -356,6 +356,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module @@ -433,6 +435,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use the existing sls module diff --git a/sdk/python/pulumi_alicloud/marketplace/order.py b/sdk/python/pulumi_alicloud/marketplace/order.py index 0b4fda39de..c19b97cd3c 100644 --- a/sdk/python/pulumi_alicloud/marketplace/order.py +++ b/sdk/python/pulumi_alicloud/marketplace/order.py @@ -319,6 +319,8 @@ def __init__(__self__, coupon_id="") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Market order can be imported using the id, e.g. @@ -363,6 +365,8 @@ def __init__(__self__, coupon_id="") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Market order can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/maxcompute/project.py b/sdk/python/pulumi_alicloud/maxcompute/project.py index b3a6d2d45c..9c6ed970f2 100644 --- a/sdk/python/pulumi_alicloud/maxcompute/project.py +++ b/sdk/python/pulumi_alicloud/maxcompute/project.py @@ -499,6 +499,8 @@ def __init__(__self__, comment=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Project can be imported using the id, e.g. @@ -556,6 +558,8 @@ def __init__(__self__, comment=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Project can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/maxcompute/quota_plan.py b/sdk/python/pulumi_alicloud/maxcompute/quota_plan.py index 51e3d077e0..5d03bb23b6 100644 --- a/sdk/python/pulumi_alicloud/maxcompute/quota_plan.py +++ b/sdk/python/pulumi_alicloud/maxcompute/quota_plan.py @@ -225,6 +225,8 @@ def __init__(__self__, plan_name="quota_plan") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Quota Plan can be imported using the id, e.g. @@ -297,6 +299,8 @@ def __init__(__self__, plan_name="quota_plan") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Quota Plan can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/maxcompute/role.py b/sdk/python/pulumi_alicloud/maxcompute/role.py index 518576ad0f..e5fbc1411b 100644 --- a/sdk/python/pulumi_alicloud/maxcompute/role.py +++ b/sdk/python/pulumi_alicloud/maxcompute/role.py @@ -230,6 +230,8 @@ def __init__(__self__, role_name="tf_example112") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Role can be imported using the id, e.g. @@ -298,6 +300,8 @@ def __init__(__self__, role_name="tf_example112") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Role can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/maxcompute/role_user_attachment.py b/sdk/python/pulumi_alicloud/maxcompute/role_user_attachment.py index 7e6e35730e..d983de7b2d 100644 --- a/sdk/python/pulumi_alicloud/maxcompute/role_user_attachment.py +++ b/sdk/python/pulumi_alicloud/maxcompute/role_user_attachment.py @@ -194,6 +194,8 @@ def __init__(__self__, project_name=project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Role User Attachment can be imported using the id, e.g. @@ -260,6 +262,8 @@ def __init__(__self__, project_name=project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Max Compute Role User Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/message/service_endpoint_acl.py b/sdk/python/pulumi_alicloud/message/service_endpoint_acl.py index 0ed640be1c..e5fd4b3e9f 100644 --- a/sdk/python/pulumi_alicloud/message/service_endpoint_acl.py +++ b/sdk/python/pulumi_alicloud/message/service_endpoint_acl.py @@ -159,6 +159,8 @@ def __init__(__self__, acl_strategy="allow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Endpoint Acl can be imported using the id, e.g. @@ -204,6 +206,8 @@ def __init__(__self__, acl_strategy="allow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Endpoint Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/message/service_event_rule.py b/sdk/python/pulumi_alicloud/message/service_event_rule.py index c71eb63c52..7c57c9e524 100644 --- a/sdk/python/pulumi_alicloud/message/service_event_rule.py +++ b/sdk/python/pulumi_alicloud/message/service_event_rule.py @@ -273,6 +273,8 @@ def __init__(__self__, rule_name=rule_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Event Rule can be imported using the id, e.g. @@ -361,6 +363,8 @@ def __init__(__self__, rule_name=rule_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Event Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/message/service_queue.py b/sdk/python/pulumi_alicloud/message/service_queue.py index 822bdac423..f96b7468af 100644 --- a/sdk/python/pulumi_alicloud/message/service_queue.py +++ b/sdk/python/pulumi_alicloud/message/service_queue.py @@ -381,6 +381,8 @@ def __init__(__self__, visibility_timeout=30) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Queue can be imported using the id, e.g. @@ -435,6 +437,8 @@ def __init__(__self__, visibility_timeout=30) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Queue can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/message/service_subscription.py b/sdk/python/pulumi_alicloud/message/service_subscription.py index 537d71fcb5..08410bfc52 100644 --- a/sdk/python/pulumi_alicloud/message/service_subscription.py +++ b/sdk/python/pulumi_alicloud/message/service_subscription.py @@ -411,6 +411,8 @@ def __init__(__self__, notify_strategy="BACKOFF_RETRY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Subscription can be imported using the id, e.g. @@ -477,6 +479,8 @@ def __init__(__self__, notify_strategy="BACKOFF_RETRY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Subscription can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/message/service_topic.py b/sdk/python/pulumi_alicloud/message/service_topic.py index 82daf68e24..e69b40d240 100644 --- a/sdk/python/pulumi_alicloud/message/service_topic.py +++ b/sdk/python/pulumi_alicloud/message/service_topic.py @@ -260,6 +260,8 @@ def __init__(__self__, enable_logging=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Topic can be imported using the id, e.g. @@ -309,6 +311,8 @@ def __init__(__self__, enable_logging=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Message Service Topic can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mhub/app.py b/sdk/python/pulumi_alicloud/mhub/app.py index 7f112f2251..bb7793229b 100644 --- a/sdk/python/pulumi_alicloud/mhub/app.py +++ b/sdk/python/pulumi_alicloud/mhub/app.py @@ -296,6 +296,8 @@ def __init__(__self__, type="Android") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MHUB App can be imported using the id, e.g. @@ -349,6 +351,8 @@ def __init__(__self__, type="Android") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MHUB App can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mhub/product.py b/sdk/python/pulumi_alicloud/mhub/product.py index fca6d23a1b..284fd47a8f 100644 --- a/sdk/python/pulumi_alicloud/mhub/product.py +++ b/sdk/python/pulumi_alicloud/mhub/product.py @@ -91,6 +91,8 @@ def __init__(__self__, example = alicloud.mhub.Product("example", product_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MHUB Product can be imported using the id, e.g. @@ -129,6 +131,8 @@ def __init__(__self__, example = alicloud.mhub.Product("example", product_name="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MHUB Product can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mns/queue.py b/sdk/python/pulumi_alicloud/mns/queue.py index b816c0b07a..3f521b52dd 100644 --- a/sdk/python/pulumi_alicloud/mns/queue.py +++ b/sdk/python/pulumi_alicloud/mns/queue.py @@ -255,6 +255,8 @@ def __init__(__self__, polling_wait_seconds=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS QUEUE can be imported using the id or name, e.g. @@ -296,6 +298,8 @@ def __init__(__self__, polling_wait_seconds=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS QUEUE can be imported using the id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/mns/topic.py b/sdk/python/pulumi_alicloud/mns/topic.py index 545d69c605..dd6c800a25 100644 --- a/sdk/python/pulumi_alicloud/mns/topic.py +++ b/sdk/python/pulumi_alicloud/mns/topic.py @@ -153,6 +153,8 @@ def __init__(__self__, logging_enabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS Topic can be imported using the id or name, e.g. @@ -188,6 +190,8 @@ def __init__(__self__, logging_enabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS Topic can be imported using the id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/mns/topic_subscription.py b/sdk/python/pulumi_alicloud/mns/topic_subscription.py index 32fb517a33..3934061119 100644 --- a/sdk/python/pulumi_alicloud/mns/topic_subscription.py +++ b/sdk/python/pulumi_alicloud/mns/topic_subscription.py @@ -269,6 +269,8 @@ def __init__(__self__, notify_content_format="XML") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS Topic subscription can be imported using the id, e.g. @@ -317,6 +319,8 @@ def __init__(__self__, notify_content_format="XML") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MNS Topic subscription can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/__init__.py b/sdk/python/pulumi_alicloud/mongodb/__init__.py index 0a039a3765..b6f5d49b09 100644 --- a/sdk/python/pulumi_alicloud/mongodb/__init__.py +++ b/sdk/python/pulumi_alicloud/mongodb/__init__.py @@ -17,6 +17,7 @@ from .get_zones import * from .global_security_ip_group import * from .instance import * +from .node import * from .private_srv_network_address import * from .public_network_address import * from .replica_set_role import * diff --git a/sdk/python/pulumi_alicloud/mongodb/global_security_ip_group.py b/sdk/python/pulumi_alicloud/mongodb/global_security_ip_group.py index a063cba067..c24f43c051 100644 --- a/sdk/python/pulumi_alicloud/mongodb/global_security_ip_group.py +++ b/sdk/python/pulumi_alicloud/mongodb/global_security_ip_group.py @@ -153,6 +153,8 @@ def __init__(__self__, global_security_ip_list="192.168.1.1,192.168.1.2,192.168.1.3") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Mongodb Global Security IP Group can be imported using the id, e.g. @@ -200,6 +202,8 @@ def __init__(__self__, global_security_ip_list="192.168.1.1,192.168.1.2,192.168.1.3") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Mongodb Global Security IP Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/instance.py b/sdk/python/pulumi_alicloud/mongodb/instance.py index ebc65de830..bede233614 100644 --- a/sdk/python/pulumi_alicloud/mongodb/instance.py +++ b/sdk/python/pulumi_alicloud/mongodb/instance.py @@ -1756,6 +1756,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing mongodb module @@ -1889,6 +1891,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing mongodb module diff --git a/sdk/python/pulumi_alicloud/mongodb/node.py b/sdk/python/pulumi_alicloud/mongodb/node.py new file mode 100644 index 0000000000..d6cf246736 --- /dev/null +++ b/sdk/python/pulumi_alicloud/mongodb/node.py @@ -0,0 +1,1154 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['NodeArgs', 'Node'] + +@pulumi.input_type +class NodeArgs: + def __init__(__self__, *, + db_instance_id: pulumi.Input[_builtins.str], + node_class: pulumi.Input[_builtins.str], + node_type: pulumi.Input[_builtins.str], + account_name: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + auto_pay: Optional[pulumi.Input[_builtins.bool]] = None, + business_info: Optional[pulumi.Input[_builtins.str]] = None, + effective_time: Optional[pulumi.Input[_builtins.str]] = None, + from_app: Optional[pulumi.Input[_builtins.str]] = None, + node_storage: Optional[pulumi.Input[_builtins.int]] = None, + order_type: Optional[pulumi.Input[_builtins.str]] = None, + readonly_replicas: Optional[pulumi.Input[_builtins.int]] = None, + shard_direct: Optional[pulumi.Input[_builtins.bool]] = None, + switch_time: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a Node resource. + :param pulumi.Input[_builtins.str] db_instance_id: The ID of the sharded cluster instance. + :param pulumi.Input[_builtins.str] node_class: The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + :param pulumi.Input[_builtins.str] node_type: Node type, value description: + :param pulumi.Input[_builtins.str] account_name: Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] account_password: Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.bool] auto_pay: Whether to pay automatically. Value description: + :param pulumi.Input[_builtins.str] business_info: Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] from_app: Request Source, value description: + - `OpenApi`: The request source is OpenApi. + :param pulumi.Input[_builtins.int] node_storage: The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + :param pulumi.Input[_builtins.int] readonly_replicas: The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + :param pulumi.Input[_builtins.bool] shard_direct: Whether to apply for the direct connection address of the Shard node. Value description: + """ + pulumi.set(__self__, "db_instance_id", db_instance_id) + pulumi.set(__self__, "node_class", node_class) + pulumi.set(__self__, "node_type", node_type) + if account_name is not None: + pulumi.set(__self__, "account_name", account_name) + if account_password is not None: + pulumi.set(__self__, "account_password", account_password) + if auto_pay is not None: + pulumi.set(__self__, "auto_pay", auto_pay) + if business_info is not None: + pulumi.set(__self__, "business_info", business_info) + if effective_time is not None: + pulumi.set(__self__, "effective_time", effective_time) + if from_app is not None: + pulumi.set(__self__, "from_app", from_app) + if node_storage is not None: + pulumi.set(__self__, "node_storage", node_storage) + if order_type is not None: + pulumi.set(__self__, "order_type", order_type) + if readonly_replicas is not None: + pulumi.set(__self__, "readonly_replicas", readonly_replicas) + if shard_direct is not None: + pulumi.set(__self__, "shard_direct", shard_direct) + if switch_time is not None: + pulumi.set(__self__, "switch_time", switch_time) + + @_builtins.property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the sharded cluster instance. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "db_instance_id", value) + + @_builtins.property + @pulumi.getter(name="nodeClass") + def node_class(self) -> pulumi.Input[_builtins.str]: + """ + The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + """ + return pulumi.get(self, "node_class") + + @node_class.setter + def node_class(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "node_class", value) + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Input[_builtins.str]: + """ + Node type, value description: + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "node_type", value) + + @_builtins.property + @pulumi.getter(name="accountName") + def account_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_name", value) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_password") + + @account_password.setter + def account_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password", value) + + @_builtins.property + @pulumi.getter(name="autoPay") + def auto_pay(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to pay automatically. Value description: + """ + return pulumi.get(self, "auto_pay") + + @auto_pay.setter + def auto_pay(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_pay", value) + + @_builtins.property + @pulumi.getter(name="businessInfo") + def business_info(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "business_info") + + @business_info.setter + def business_info(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "business_info", value) + + @_builtins.property + @pulumi.getter(name="effectiveTime") + def effective_time(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "effective_time") + + @effective_time.setter + def effective_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "effective_time", value) + + @_builtins.property + @pulumi.getter(name="fromApp") + def from_app(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Request Source, value description: + - `OpenApi`: The request source is OpenApi. + """ + return pulumi.get(self, "from_app") + + @from_app.setter + def from_app(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "from_app", value) + + @_builtins.property + @pulumi.getter(name="nodeStorage") + def node_storage(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + """ + return pulumi.get(self, "node_storage") + + @node_storage.setter + def node_storage(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "node_storage", value) + + @_builtins.property + @pulumi.getter(name="orderType") + def order_type(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "order_type") + + @order_type.setter + def order_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "order_type", value) + + @_builtins.property + @pulumi.getter(name="readonlyReplicas") + def readonly_replicas(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + """ + return pulumi.get(self, "readonly_replicas") + + @readonly_replicas.setter + def readonly_replicas(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "readonly_replicas", value) + + @_builtins.property + @pulumi.getter(name="shardDirect") + def shard_direct(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to apply for the direct connection address of the Shard node. Value description: + """ + return pulumi.get(self, "shard_direct") + + @shard_direct.setter + def shard_direct(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "shard_direct", value) + + @_builtins.property + @pulumi.getter(name="switchTime") + def switch_time(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "switch_time") + + @switch_time.setter + def switch_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "switch_time", value) + + +@pulumi.input_type +class _NodeState: + def __init__(__self__, *, + account_name: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + auto_pay: Optional[pulumi.Input[_builtins.bool]] = None, + business_info: Optional[pulumi.Input[_builtins.str]] = None, + db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, + effective_time: Optional[pulumi.Input[_builtins.str]] = None, + from_app: Optional[pulumi.Input[_builtins.str]] = None, + node_class: Optional[pulumi.Input[_builtins.str]] = None, + node_id: Optional[pulumi.Input[_builtins.str]] = None, + node_storage: Optional[pulumi.Input[_builtins.int]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, + order_type: Optional[pulumi.Input[_builtins.str]] = None, + readonly_replicas: Optional[pulumi.Input[_builtins.int]] = None, + shard_direct: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + switch_time: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Node resources. + :param pulumi.Input[_builtins.str] account_name: Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] account_password: Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.bool] auto_pay: Whether to pay automatically. Value description: + :param pulumi.Input[_builtins.str] business_info: Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] db_instance_id: The ID of the sharded cluster instance. + :param pulumi.Input[_builtins.str] from_app: Request Source, value description: + - `OpenApi`: The request source is OpenApi. + :param pulumi.Input[_builtins.str] node_class: The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + :param pulumi.Input[_builtins.str] node_id: The first ID of the resource + :param pulumi.Input[_builtins.int] node_storage: The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + :param pulumi.Input[_builtins.str] node_type: Node type, value description: + :param pulumi.Input[_builtins.int] readonly_replicas: The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + :param pulumi.Input[_builtins.bool] shard_direct: Whether to apply for the direct connection address of the Shard node. Value description: + :param pulumi.Input[_builtins.str] status: Running status of node in sharded cluster + """ + if account_name is not None: + pulumi.set(__self__, "account_name", account_name) + if account_password is not None: + pulumi.set(__self__, "account_password", account_password) + if auto_pay is not None: + pulumi.set(__self__, "auto_pay", auto_pay) + if business_info is not None: + pulumi.set(__self__, "business_info", business_info) + if db_instance_id is not None: + pulumi.set(__self__, "db_instance_id", db_instance_id) + if effective_time is not None: + pulumi.set(__self__, "effective_time", effective_time) + if from_app is not None: + pulumi.set(__self__, "from_app", from_app) + if node_class is not None: + pulumi.set(__self__, "node_class", node_class) + if node_id is not None: + pulumi.set(__self__, "node_id", node_id) + if node_storage is not None: + pulumi.set(__self__, "node_storage", node_storage) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) + if order_type is not None: + pulumi.set(__self__, "order_type", order_type) + if readonly_replicas is not None: + pulumi.set(__self__, "readonly_replicas", readonly_replicas) + if shard_direct is not None: + pulumi.set(__self__, "shard_direct", shard_direct) + if status is not None: + pulumi.set(__self__, "status", status) + if switch_time is not None: + pulumi.set(__self__, "switch_time", switch_time) + + @_builtins.property + @pulumi.getter(name="accountName") + def account_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_name") + + @account_name.setter + def account_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_name", value) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_password") + + @account_password.setter + def account_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password", value) + + @_builtins.property + @pulumi.getter(name="autoPay") + def auto_pay(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to pay automatically. Value description: + """ + return pulumi.get(self, "auto_pay") + + @auto_pay.setter + def auto_pay(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "auto_pay", value) + + @_builtins.property + @pulumi.getter(name="businessInfo") + def business_info(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "business_info") + + @business_info.setter + def business_info(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "business_info", value) + + @_builtins.property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the sharded cluster instance. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "db_instance_id", value) + + @_builtins.property + @pulumi.getter(name="effectiveTime") + def effective_time(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "effective_time") + + @effective_time.setter + def effective_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "effective_time", value) + + @_builtins.property + @pulumi.getter(name="fromApp") + def from_app(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Request Source, value description: + - `OpenApi`: The request source is OpenApi. + """ + return pulumi.get(self, "from_app") + + @from_app.setter + def from_app(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "from_app", value) + + @_builtins.property + @pulumi.getter(name="nodeClass") + def node_class(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + """ + return pulumi.get(self, "node_class") + + @node_class.setter + def node_class(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_class", value) + + @_builtins.property + @pulumi.getter(name="nodeId") + def node_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The first ID of the resource + """ + return pulumi.get(self, "node_id") + + @node_id.setter + def node_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_id", value) + + @_builtins.property + @pulumi.getter(name="nodeStorage") + def node_storage(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + """ + return pulumi.get(self, "node_storage") + + @node_storage.setter + def node_storage(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "node_storage", value) + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Node type, value description: + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "node_type", value) + + @_builtins.property + @pulumi.getter(name="orderType") + def order_type(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "order_type") + + @order_type.setter + def order_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "order_type", value) + + @_builtins.property + @pulumi.getter(name="readonlyReplicas") + def readonly_replicas(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + """ + return pulumi.get(self, "readonly_replicas") + + @readonly_replicas.setter + def readonly_replicas(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "readonly_replicas", value) + + @_builtins.property + @pulumi.getter(name="shardDirect") + def shard_direct(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to apply for the direct connection address of the Shard node. Value description: + """ + return pulumi.get(self, "shard_direct") + + @shard_direct.setter + def shard_direct(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "shard_direct", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Running status of node in sharded cluster + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="switchTime") + def switch_time(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "switch_time") + + @switch_time.setter + def switch_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "switch_time", value) + + +@pulumi.type_token("alicloud:mongodb/node:Node") +class Node(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + auto_pay: Optional[pulumi.Input[_builtins.bool]] = None, + business_info: Optional[pulumi.Input[_builtins.str]] = None, + db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, + effective_time: Optional[pulumi.Input[_builtins.str]] = None, + from_app: Optional[pulumi.Input[_builtins.str]] = None, + node_class: Optional[pulumi.Input[_builtins.str]] = None, + node_storage: Optional[pulumi.Input[_builtins.int]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, + order_type: Optional[pulumi.Input[_builtins.str]] = None, + readonly_replicas: Optional[pulumi.Input[_builtins.int]] = None, + shard_direct: Optional[pulumi.Input[_builtins.bool]] = None, + switch_time: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Mongodb Node resource. + + The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. + + For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + zone_id = config.get("zoneId") + if zone_id is None: + zone_id = "cn-shanghai-b" + region_id = config.get("regionId") + if region_id is None: + region_id = "cn-shanghai" + ipv4_cidr = config.get("ipv4Cidr") + if ipv4_cidr is None: + ipv4_cidr = "10.0.0.0/24" + default = alicloud.vpc.Network("default", + description="tf-example", + vpc_name="tf-vpc-shanghai-b", + cidr_block="10.0.0.0/8") + default_switch = alicloud.vpc.Switch("default", + vpc_id=default.id, + zone_id=zone_id, + cidr_block=ipv4_cidr, + vswitch_name="tf-shanghai-B") + default_sharding_instance = alicloud.mongodb.ShardingInstance("default", + engine_version="4.2", + vswitch_id=default_switch.id, + zone_id=zone_id, + name=name, + storage_type="cloud_auto", + provisioned_iops=60, + config_server_lists=[{ + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }], + mongo_lists=[ + { + "node_class": "mdb.shard.2x.xlarge.d", + }, + { + "node_class": "mdb.shard.2x.xlarge.d", + }, + ], + shard_lists=[ + { + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }, + { + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }, + ]) + default_node = alicloud.mongodb.Node("default", + account_password="q1w2e3r4!", + auto_pay=True, + node_class="mdb.shard.4x.large.d", + shard_direct=False, + business_info="1234", + node_storage=40, + readonly_replicas=0, + db_instance_id=default_sharding_instance.id, + node_type="shard", + account_name="root") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Mongodb Node can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:mongodb/node:Node example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] account_name: Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] account_password: Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.bool] auto_pay: Whether to pay automatically. Value description: + :param pulumi.Input[_builtins.str] business_info: Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] db_instance_id: The ID of the sharded cluster instance. + :param pulumi.Input[_builtins.str] from_app: Request Source, value description: + - `OpenApi`: The request source is OpenApi. + :param pulumi.Input[_builtins.str] node_class: The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + :param pulumi.Input[_builtins.int] node_storage: The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + :param pulumi.Input[_builtins.str] node_type: Node type, value description: + :param pulumi.Input[_builtins.int] readonly_replicas: The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + :param pulumi.Input[_builtins.bool] shard_direct: Whether to apply for the direct connection address of the Shard node. Value description: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NodeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Mongodb Node resource. + + The sub-resources of the ShardingInstance, including the cs, shards, and mongos nodes. + + For information about Mongodb Node and how to use it, see [What is Node](https://next.api.alibabacloud.com/document/Dds/2015-12-01/CreateNode). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + zone_id = config.get("zoneId") + if zone_id is None: + zone_id = "cn-shanghai-b" + region_id = config.get("regionId") + if region_id is None: + region_id = "cn-shanghai" + ipv4_cidr = config.get("ipv4Cidr") + if ipv4_cidr is None: + ipv4_cidr = "10.0.0.0/24" + default = alicloud.vpc.Network("default", + description="tf-example", + vpc_name="tf-vpc-shanghai-b", + cidr_block="10.0.0.0/8") + default_switch = alicloud.vpc.Switch("default", + vpc_id=default.id, + zone_id=zone_id, + cidr_block=ipv4_cidr, + vswitch_name="tf-shanghai-B") + default_sharding_instance = alicloud.mongodb.ShardingInstance("default", + engine_version="4.2", + vswitch_id=default_switch.id, + zone_id=zone_id, + name=name, + storage_type="cloud_auto", + provisioned_iops=60, + config_server_lists=[{ + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }], + mongo_lists=[ + { + "node_class": "mdb.shard.2x.xlarge.d", + }, + { + "node_class": "mdb.shard.2x.xlarge.d", + }, + ], + shard_lists=[ + { + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }, + { + "node_class": "mdb.shard.2x.xlarge.d", + "node_storage": 40, + }, + ]) + default_node = alicloud.mongodb.Node("default", + account_password="q1w2e3r4!", + auto_pay=True, + node_class="mdb.shard.4x.large.d", + shard_direct=False, + business_info="1234", + node_storage=40, + readonly_replicas=0, + db_instance_id=default_sharding_instance.id, + node_type="shard", + account_name="root") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Mongodb Node can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:mongodb/node:Node example : + ``` + + :param str resource_name: The name of the resource. + :param NodeArgs 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(NodeArgs, 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, + account_name: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + auto_pay: Optional[pulumi.Input[_builtins.bool]] = None, + business_info: Optional[pulumi.Input[_builtins.str]] = None, + db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, + effective_time: Optional[pulumi.Input[_builtins.str]] = None, + from_app: Optional[pulumi.Input[_builtins.str]] = None, + node_class: Optional[pulumi.Input[_builtins.str]] = None, + node_storage: Optional[pulumi.Input[_builtins.int]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, + order_type: Optional[pulumi.Input[_builtins.str]] = None, + readonly_replicas: Optional[pulumi.Input[_builtins.int]] = None, + shard_direct: Optional[pulumi.Input[_builtins.bool]] = None, + switch_time: Optional[pulumi.Input[_builtins.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__ = NodeArgs.__new__(NodeArgs) + + __props__.__dict__["account_name"] = account_name + __props__.__dict__["account_password"] = account_password + __props__.__dict__["auto_pay"] = auto_pay + __props__.__dict__["business_info"] = business_info + 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__["effective_time"] = effective_time + __props__.__dict__["from_app"] = from_app + if node_class is None and not opts.urn: + raise TypeError("Missing required property 'node_class'") + __props__.__dict__["node_class"] = node_class + __props__.__dict__["node_storage"] = node_storage + if node_type is None and not opts.urn: + raise TypeError("Missing required property 'node_type'") + __props__.__dict__["node_type"] = node_type + __props__.__dict__["order_type"] = order_type + __props__.__dict__["readonly_replicas"] = readonly_replicas + __props__.__dict__["shard_direct"] = shard_direct + __props__.__dict__["switch_time"] = switch_time + __props__.__dict__["node_id"] = None + __props__.__dict__["status"] = None + super(Node, __self__).__init__( + 'alicloud:mongodb/node:Node', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_name: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + auto_pay: Optional[pulumi.Input[_builtins.bool]] = None, + business_info: Optional[pulumi.Input[_builtins.str]] = None, + db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, + effective_time: Optional[pulumi.Input[_builtins.str]] = None, + from_app: Optional[pulumi.Input[_builtins.str]] = None, + node_class: Optional[pulumi.Input[_builtins.str]] = None, + node_id: Optional[pulumi.Input[_builtins.str]] = None, + node_storage: Optional[pulumi.Input[_builtins.int]] = None, + node_type: Optional[pulumi.Input[_builtins.str]] = None, + order_type: Optional[pulumi.Input[_builtins.str]] = None, + readonly_replicas: Optional[pulumi.Input[_builtins.int]] = None, + shard_direct: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + switch_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'Node': + """ + Get an existing Node 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[_builtins.str] account_name: Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] account_password: Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.bool] auto_pay: Whether to pay automatically. Value description: + :param pulumi.Input[_builtins.str] business_info: Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] db_instance_id: The ID of the sharded cluster instance. + :param pulumi.Input[_builtins.str] from_app: Request Source, value description: + - `OpenApi`: The request source is OpenApi. + :param pulumi.Input[_builtins.str] node_class: The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + :param pulumi.Input[_builtins.str] node_id: The first ID of the resource + :param pulumi.Input[_builtins.int] node_storage: The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + :param pulumi.Input[_builtins.str] node_type: Node type, value description: + :param pulumi.Input[_builtins.int] readonly_replicas: The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + :param pulumi.Input[_builtins.bool] shard_direct: Whether to apply for the direct connection address of the Shard node. Value description: + :param pulumi.Input[_builtins.str] status: Running status of node in sharded cluster + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NodeState.__new__(_NodeState) + + __props__.__dict__["account_name"] = account_name + __props__.__dict__["account_password"] = account_password + __props__.__dict__["auto_pay"] = auto_pay + __props__.__dict__["business_info"] = business_info + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["effective_time"] = effective_time + __props__.__dict__["from_app"] = from_app + __props__.__dict__["node_class"] = node_class + __props__.__dict__["node_id"] = node_id + __props__.__dict__["node_storage"] = node_storage + __props__.__dict__["node_type"] = node_type + __props__.__dict__["order_type"] = order_type + __props__.__dict__["readonly_replicas"] = readonly_replicas + __props__.__dict__["shard_direct"] = shard_direct + __props__.__dict__["status"] = status + __props__.__dict__["switch_time"] = switch_time + return Node(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="accountName") + def account_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Account name, value description: + - Begins with a lowercase letter. + - Consists of lowercase letters, numbers, or underscores (_). + - 4~16 characters in length. + + > **NOTE:** - apsaradb for MongoDB does not support using keywords as accounts. + - The permissions of the account are fixed to read-only permissions. + - When applying for a direct connection address of a Shard node for the first time, you need to set an account and password. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_name") + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Account password, value description: + - Consists of at least three of uppercase letters, lowercase letters, numbers, and special characters. + - Oh-! @#$%^& *()_+-= is a special character. + - Length is 8~32 characters. + + > **NOTE:** apsaradb for MongoDB does not support resetting the account and password of the Shard node. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "account_password") + + @_builtins.property + @pulumi.getter(name="autoPay") + def auto_pay(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to pay automatically. Value description: + """ + return pulumi.get(self, "auto_pay") + + @_builtins.property + @pulumi.getter(name="businessInfo") + def business_info(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Additional parameters, business information. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "business_info") + + @_builtins.property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the sharded cluster instance. + """ + return pulumi.get(self, "db_instance_id") + + @_builtins.property + @pulumi.getter(name="effectiveTime") + def effective_time(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "effective_time") + + @_builtins.property + @pulumi.getter(name="fromApp") + def from_app(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Request Source, value description: + - `OpenApi`: The request source is OpenApi. + """ + return pulumi.get(self, "from_app") + + @_builtins.property + @pulumi.getter(name="nodeClass") + def node_class(self) -> pulumi.Output[_builtins.str]: + """ + The specifications of the Shard node or Mongos node. For more information, see Instance Specifications. + """ + return pulumi.get(self, "node_class") + + @_builtins.property + @pulumi.getter(name="nodeId") + def node_id(self) -> pulumi.Output[_builtins.str]: + """ + The first ID of the resource + """ + return pulumi.get(self, "node_id") + + @_builtins.property + @pulumi.getter(name="nodeStorage") + def node_storage(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The disk space of the Node. Unit: GB. + + Value range: `10` to `2000`, with a step size of 10GB. + + > **NOTE:** When the node type is `Shard`, you need to configure this parameter. + """ + return pulumi.get(self, "node_storage") + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Output[_builtins.str]: + """ + Node type, value description: + """ + return pulumi.get(self, "node_type") + + @_builtins.property + @pulumi.getter(name="orderType") + def order_type(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "order_type") + + @_builtins.property + @pulumi.getter(name="readonlyReplicas") + def readonly_replicas(self) -> pulumi.Output[_builtins.int]: + """ + The number of read-only nodes in the Shard. + + Value range: `0` to `5` (integer). Default value: **0 * *. + + > **NOTE:** This parameter is currently only supported by China Station. + """ + return pulumi.get(self, "readonly_replicas") + + @_builtins.property + @pulumi.getter(name="shardDirect") + def shard_direct(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to apply for the direct connection address of the Shard node. Value description: + """ + return pulumi.get(self, "shard_direct") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + Running status of node in sharded cluster + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="switchTime") + def switch_time(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "switch_time") + diff --git a/sdk/python/pulumi_alicloud/mongodb/private_srv_network_address.py b/sdk/python/pulumi_alicloud/mongodb/private_srv_network_address.py index eb22d7982b..c1f27d1d60 100644 --- a/sdk/python/pulumi_alicloud/mongodb/private_srv_network_address.py +++ b/sdk/python/pulumi_alicloud/mongodb/private_srv_network_address.py @@ -134,6 +134,8 @@ def __init__(__self__, default = alicloud.mongodb.PrivateSrvNetworkAddress("default", db_instance_id=default_hr_zmx_c.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Mongodb Private Srv Network Address can be imported using the id, e.g. @@ -199,6 +201,8 @@ def __init__(__self__, default = alicloud.mongodb.PrivateSrvNetworkAddress("default", db_instance_id=default_hr_zmx_c.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Mongodb Private Srv Network Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/public_network_address.py b/sdk/python/pulumi_alicloud/mongodb/public_network_address.py index a3450a8ff1..af471dab6f 100644 --- a/sdk/python/pulumi_alicloud/mongodb/public_network_address.py +++ b/sdk/python/pulumi_alicloud/mongodb/public_network_address.py @@ -129,6 +129,8 @@ def __init__(__self__, default_public_network_address = alicloud.mongodb.PublicNetworkAddress("default", db_instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB public network address can be imported using the id, e.g. @@ -187,6 +189,8 @@ def __init__(__self__, default_public_network_address = alicloud.mongodb.PublicNetworkAddress("default", db_instance_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB public network address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/replica_set_role.py b/sdk/python/pulumi_alicloud/mongodb/replica_set_role.py index 2901e1d6ae..0894d76624 100644 --- a/sdk/python/pulumi_alicloud/mongodb/replica_set_role.py +++ b/sdk/python/pulumi_alicloud/mongodb/replica_set_role.py @@ -295,6 +295,8 @@ def __init__(__self__, network_type="Public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `::`. @@ -373,6 +375,8 @@ def __init__(__self__, network_type="Public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB replica set role can be imported using the id, e.g. Composed of instance ID, network type and role ID with format `::`. diff --git a/sdk/python/pulumi_alicloud/mongodb/serverless_instance.py b/sdk/python/pulumi_alicloud/mongodb/serverless_instance.py index 796535dfa2..11dafc46d7 100644 --- a/sdk/python/pulumi_alicloud/mongodb/serverless_instance.py +++ b/sdk/python/pulumi_alicloud/mongodb/serverless_instance.py @@ -699,6 +699,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Serverless Instance can be imported using the id, e.g. @@ -783,6 +785,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Serverless Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/sharding_instance.py b/sdk/python/pulumi_alicloud/mongodb/sharding_instance.py index 49cb5333af..11f39a7b23 100644 --- a/sdk/python/pulumi_alicloud/mongodb/sharding_instance.py +++ b/sdk/python/pulumi_alicloud/mongodb/sharding_instance.py @@ -1656,6 +1656,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing mongodb-sharding module @@ -1794,6 +1796,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing mongodb-sharding module diff --git a/sdk/python/pulumi_alicloud/mongodb/sharding_network_private_address.py b/sdk/python/pulumi_alicloud/mongodb/sharding_network_private_address.py index 7a5bf862c1..4c75c4dac0 100644 --- a/sdk/python/pulumi_alicloud/mongodb/sharding_network_private_address.py +++ b/sdk/python/pulumi_alicloud/mongodb/sharding_network_private_address.py @@ -299,6 +299,8 @@ def __init__(__self__, account_password="Example_123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Sharding Network Private Address can be imported using the id, e.g. @@ -386,6 +388,8 @@ def __init__(__self__, account_password="Example_123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Sharding Network Private Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mongodb/sharding_network_public_address.py b/sdk/python/pulumi_alicloud/mongodb/sharding_network_public_address.py index b04f2e3abf..cb8592405b 100644 --- a/sdk/python/pulumi_alicloud/mongodb/sharding_network_public_address.py +++ b/sdk/python/pulumi_alicloud/mongodb/sharding_network_public_address.py @@ -182,6 +182,8 @@ def __init__(__self__, node_id=default_sharding_instance.mongo_lists[0].node_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Sharding Network Public Address can be imported using the id, e.g. @@ -262,6 +264,8 @@ def __init__(__self__, node_id=default_sharding_instance.mongo_lists[0].node_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import MongoDB Sharding Network Public Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/msc_sub_contract.py b/sdk/python/pulumi_alicloud/msc_sub_contract.py index 3fff46917a..deef977ddd 100644 --- a/sdk/python/pulumi_alicloud/msc_sub_contract.py +++ b/sdk/python/pulumi_alicloud/msc_sub_contract.py @@ -199,6 +199,8 @@ def __init__(__self__, mobile="15388888888") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Contact can be imported using the id, e.g. @@ -246,6 +248,8 @@ def __init__(__self__, mobile="15388888888") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Contact can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/msc_sub_subscription.py b/sdk/python/pulumi_alicloud/msc_sub_subscription.py index c7012a1bc2..cbf9d2c537 100644 --- a/sdk/python/pulumi_alicloud/msc_sub_subscription.py +++ b/sdk/python/pulumi_alicloud/msc_sub_subscription.py @@ -368,6 +368,8 @@ def __init__(__self__, webhook_status=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Subscription can be imported using the id, e.g. @@ -418,6 +420,8 @@ def __init__(__self__, webhook_status=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Subscription can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/msc_sub_webhook.py b/sdk/python/pulumi_alicloud/msc_sub_webhook.py index beb0f1e50a..8c507d9d81 100644 --- a/sdk/python/pulumi_alicloud/msc_sub_webhook.py +++ b/sdk/python/pulumi_alicloud/msc_sub_webhook.py @@ -130,6 +130,8 @@ def __init__(__self__, webhook_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Webhook can be imported using the id, e.g. @@ -176,6 +178,8 @@ def __init__(__self__, webhook_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Msc Sub Webhook can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mse/engine_namespace.py b/sdk/python/pulumi_alicloud/mse/engine_namespace.py index fcebf5993c..0040aa343b 100644 --- a/sdk/python/pulumi_alicloud/mse/engine_namespace.py +++ b/sdk/python/pulumi_alicloud/mse/engine_namespace.py @@ -287,6 +287,8 @@ def __init__(__self__, namespace_desc="description") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. @@ -355,6 +357,8 @@ def __init__(__self__, namespace_desc="description") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Engine Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mse/gateway.py b/sdk/python/pulumi_alicloud/mse/gateway.py index 4be1443d23..d799cfa86a 100644 --- a/sdk/python/pulumi_alicloud/mse/gateway.py +++ b/sdk/python/pulumi_alicloud/mse/gateway.py @@ -437,6 +437,8 @@ def __init__(__self__, vpc_id=example_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Gateway can be imported using the id, e.g. @@ -502,6 +504,8 @@ def __init__(__self__, vpc_id=example_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mse/nacos_config.py b/sdk/python/pulumi_alicloud/mse/nacos_config.py index 8a22dd5452..dfa4b7bf69 100644 --- a/sdk/python/pulumi_alicloud/mse/nacos_config.py +++ b/sdk/python/pulumi_alicloud/mse/nacos_config.py @@ -465,6 +465,8 @@ def __init__(__self__, desc="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. @@ -546,6 +548,8 @@ def __init__(__self__, desc="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Nacos Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/mse/znode.py b/sdk/python/pulumi_alicloud/mse/znode.py index 732c6b4aae..644ca26fd6 100644 --- a/sdk/python/pulumi_alicloud/mse/znode.py +++ b/sdk/python/pulumi_alicloud/mse/znode.py @@ -211,6 +211,8 @@ def __init__(__self__, path="/example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Znode can be imported using the id, e.g. @@ -274,6 +276,8 @@ def __init__(__self__, path="/example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Microservice Engine (MSE) Znode can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/__init__.py b/sdk/python/pulumi_alicloud/nas/__init__.py index 0bd7e28df5..2f6ef3b539 100644 --- a/sdk/python/pulumi_alicloud/nas/__init__.py +++ b/sdk/python/pulumi_alicloud/nas/__init__.py @@ -27,6 +27,8 @@ from .get_zones import * from .lifecycle_policy import * from .mount_target import * +from .protocol_mount_target import * +from .protocol_service import * from .recycle_bin import * from .smb_acl_attachment import * from .snapshot import * diff --git a/sdk/python/pulumi_alicloud/nas/access_group.py b/sdk/python/pulumi_alicloud/nas/access_group.py index 2411479dbe..c71b2c2bf2 100644 --- a/sdk/python/pulumi_alicloud/nas/access_group.py +++ b/sdk/python/pulumi_alicloud/nas/access_group.py @@ -324,6 +324,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Access Group can be imported using the id, e.g. @@ -377,6 +379,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Access Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/access_point.py b/sdk/python/pulumi_alicloud/nas/access_point.py index a9e0663f51..efdefaa800 100644 --- a/sdk/python/pulumi_alicloud/nas/access_point.py +++ b/sdk/python/pulumi_alicloud/nas/access_point.py @@ -460,6 +460,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Access Point can be imported using the id, e.g. @@ -548,6 +550,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Access Point can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/access_rule.py b/sdk/python/pulumi_alicloud/nas/access_rule.py index 3be58ad193..d14c2e779e 100644 --- a/sdk/python/pulumi_alicloud/nas/access_rule.py +++ b/sdk/python/pulumi_alicloud/nas/access_rule.py @@ -338,6 +338,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Access Rule can be imported using the id, e.g. @@ -399,6 +401,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Access Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/auto_snapshot_policy.py b/sdk/python/pulumi_alicloud/nas/auto_snapshot_policy.py index 9ab11ebb8c..eee3b80166 100644 --- a/sdk/python/pulumi_alicloud/nas/auto_snapshot_policy.py +++ b/sdk/python/pulumi_alicloud/nas/auto_snapshot_policy.py @@ -305,6 +305,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Auto Snapshot Policy can be imported using the id, e.g. @@ -371,6 +373,8 @@ def __init__(__self__, file_system_type="extreme") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAS Auto Snapshot Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/data_flow.py b/sdk/python/pulumi_alicloud/nas/data_flow.py index df0c3420d7..8ba919978f 100644 --- a/sdk/python/pulumi_alicloud/nas/data_flow.py +++ b/sdk/python/pulumi_alicloud/nas/data_flow.py @@ -399,6 +399,8 @@ def __init__(__self__, throughput=600) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Data Flow can be imported using the id, e.g. @@ -493,6 +495,8 @@ def __init__(__self__, throughput=600) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Data Flow can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/file_system.py b/sdk/python/pulumi_alicloud/nas/file_system.py index ea9c09b0ee..89358a8995 100644 --- a/sdk/python/pulumi_alicloud/nas/file_system.py +++ b/sdk/python/pulumi_alicloud/nas/file_system.py @@ -33,6 +33,8 @@ def __init__(__self__, *, nfs_acl: Optional[pulumi.Input['FileSystemNfsAclArgs']] = None, options: Optional[pulumi.Input['FileSystemOptionsArgs']] = None, recycle_bin: Optional[pulumi.Input['FileSystemRecycleBinArgs']] = None, + redundancy_type: Optional[pulumi.Input[_builtins.str]] = None, + redundancy_vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, smb_acl: Optional[pulumi.Input['FileSystemSmbAclArgs']] = None, snapshot_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -79,18 +81,21 @@ def __init__(__self__, *, - standard (default): Universal NAS - extreme: extreme NAS - cpfs: file storage CPFS - :param pulumi.Input[_builtins.str] keytab: String of keytab file content encrypted by base64 - :param pulumi.Input[_builtins.str] keytab_md5: String of the keytab file content encrypted by MD5 :param pulumi.Input[_builtins.str] kms_key_id: The ID of the KMS key. This parameter is required only when EncryptType = 2. :param pulumi.Input['FileSystemNfsAclArgs'] nfs_acl: NFS ACL See `nfs_acl` below. :param pulumi.Input['FileSystemOptionsArgs'] options: Option. See `options` below. :param pulumi.Input['FileSystemRecycleBinArgs'] recycle_bin: Recycle Bin See `recycle_bin` below. + :param pulumi.Input[_builtins.str] redundancy_type: Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] redundancy_vswitch_ids: Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group. :param pulumi.Input['FileSystemSmbAclArgs'] smb_acl: SMB ACL See `smb_acl` below. :param pulumi.Input[_builtins.str] snapshot_id: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Label information collection. :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC network. This parameter must be configured when FileSystemType = cpfs. @@ -130,6 +135,10 @@ def __init__(__self__, *, pulumi.set(__self__, "options", options) if recycle_bin is not None: pulumi.set(__self__, "recycle_bin", recycle_bin) + if redundancy_type is not None: + pulumi.set(__self__, "redundancy_type", redundancy_type) + if redundancy_vswitch_ids is not None: + pulumi.set(__self__, "redundancy_vswitch_ids", redundancy_vswitch_ids) if resource_group_id is not None: pulumi.set(__self__, "resource_group_id", resource_group_id) if smb_acl is not None: @@ -251,9 +260,6 @@ def file_system_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter def keytab(self) -> Optional[pulumi.Input[_builtins.str]]: - """ - String of keytab file content encrypted by base64 - """ return pulumi.get(self, "keytab") @keytab.setter @@ -263,9 +269,6 @@ def keytab(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="keytabMd5") def keytab_md5(self) -> Optional[pulumi.Input[_builtins.str]]: - """ - String of the keytab file content encrypted by MD5 - """ return pulumi.get(self, "keytab_md5") @keytab_md5.setter @@ -321,6 +324,30 @@ def recycle_bin(self) -> Optional[pulumi.Input['FileSystemRecycleBinArgs']]: def recycle_bin(self, value: Optional[pulumi.Input['FileSystemRecycleBinArgs']]): pulumi.set(self, "recycle_bin", value) + @_builtins.property + @pulumi.getter(name="redundancyType") + def redundancy_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + """ + return pulumi.get(self, "redundancy_type") + + @redundancy_type.setter + def redundancy_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "redundancy_type", value) + + @_builtins.property + @pulumi.getter(name="redundancyVswitchIds") + def redundancy_vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + """ + return pulumi.get(self, "redundancy_vswitch_ids") + + @redundancy_vswitch_ids.setter + def redundancy_vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "redundancy_vswitch_ids", value) + @_builtins.property @pulumi.getter(name="resourceGroupId") def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -352,6 +379,9 @@ def snapshot_id(self) -> Optional[pulumi.Input[_builtins.str]]: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "snapshot_id") @@ -435,6 +465,8 @@ def __init__(__self__, *, options: Optional[pulumi.Input['FileSystemOptionsArgs']] = None, protocol_type: Optional[pulumi.Input[_builtins.str]] = None, recycle_bin: Optional[pulumi.Input['FileSystemRecycleBinArgs']] = None, + redundancy_type: Optional[pulumi.Input[_builtins.str]] = None, + redundancy_vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, region_id: Optional[pulumi.Input[_builtins.str]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, smb_acl: Optional[pulumi.Input['FileSystemSmbAclArgs']] = None, @@ -477,8 +509,6 @@ def __init__(__self__, *, - standard (default): Universal NAS - extreme: extreme NAS - cpfs: file storage CPFS - :param pulumi.Input[_builtins.str] keytab: String of keytab file content encrypted by base64 - :param pulumi.Input[_builtins.str] keytab_md5: String of the keytab file content encrypted by MD5 :param pulumi.Input[_builtins.str] kms_key_id: The ID of the KMS key. This parameter is required only when EncryptType = 2. :param pulumi.Input['FileSystemNfsAclArgs'] nfs_acl: NFS ACL See `nfs_acl` below. @@ -488,12 +518,17 @@ def __init__(__self__, *, - When FileSystemType = extreme, the value is NFS. - When FileSystemType = cpfs, the value is cpfs. :param pulumi.Input['FileSystemRecycleBinArgs'] recycle_bin: Recycle Bin See `recycle_bin` below. + :param pulumi.Input[_builtins.str] redundancy_type: Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] redundancy_vswitch_ids: Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. :param pulumi.Input[_builtins.str] region_id: RegionId :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group. :param pulumi.Input['FileSystemSmbAclArgs'] smb_acl: SMB ACL See `smb_acl` below. :param pulumi.Input[_builtins.str] snapshot_id: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: File system status. Includes:(such as creating a mount point) can only be performed when the file system is in the Running state. :param pulumi.Input[_builtins.str] storage_type: The storage type. - When FileSystemType = standard, the values are Performance, Capacity, and Premium. @@ -540,6 +575,10 @@ def __init__(__self__, *, pulumi.set(__self__, "protocol_type", protocol_type) if recycle_bin is not None: pulumi.set(__self__, "recycle_bin", recycle_bin) + if redundancy_type is not None: + pulumi.set(__self__, "redundancy_type", redundancy_type) + if redundancy_vswitch_ids is not None: + pulumi.set(__self__, "redundancy_vswitch_ids", redundancy_vswitch_ids) if region_id is not None: pulumi.set(__self__, "region_id", region_id) if resource_group_id is not None: @@ -649,9 +688,6 @@ def file_system_type(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter def keytab(self) -> Optional[pulumi.Input[_builtins.str]]: - """ - String of keytab file content encrypted by base64 - """ return pulumi.get(self, "keytab") @keytab.setter @@ -661,9 +697,6 @@ def keytab(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="keytabMd5") def keytab_md5(self) -> Optional[pulumi.Input[_builtins.str]]: - """ - String of the keytab file content encrypted by MD5 - """ return pulumi.get(self, "keytab_md5") @keytab_md5.setter @@ -734,6 +767,30 @@ def recycle_bin(self) -> Optional[pulumi.Input['FileSystemRecycleBinArgs']]: def recycle_bin(self, value: Optional[pulumi.Input['FileSystemRecycleBinArgs']]): pulumi.set(self, "recycle_bin", value) + @_builtins.property + @pulumi.getter(name="redundancyType") + def redundancy_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + """ + return pulumi.get(self, "redundancy_type") + + @redundancy_type.setter + def redundancy_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "redundancy_type", value) + + @_builtins.property + @pulumi.getter(name="redundancyVswitchIds") + def redundancy_vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + """ + return pulumi.get(self, "redundancy_vswitch_ids") + + @redundancy_vswitch_ids.setter + def redundancy_vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "redundancy_vswitch_ids", value) + @_builtins.property @pulumi.getter(name="regionId") def region_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -777,6 +834,9 @@ def snapshot_id(self) -> Optional[pulumi.Input[_builtins.str]]: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "snapshot_id") @@ -889,6 +949,8 @@ def __init__(__self__, options: Optional[pulumi.Input[Union['FileSystemOptionsArgs', 'FileSystemOptionsArgsDict']]] = None, protocol_type: Optional[pulumi.Input[_builtins.str]] = None, recycle_bin: Optional[pulumi.Input[Union['FileSystemRecycleBinArgs', 'FileSystemRecycleBinArgsDict']]] = None, + redundancy_type: Optional[pulumi.Input[_builtins.str]] = None, + redundancy_vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, smb_acl: Optional[pulumi.Input[Union['FileSystemSmbAclArgs', 'FileSystemSmbAclArgsDict']]] = None, snapshot_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -936,6 +998,8 @@ def __init__(__self__, zone_id=default.zones[0].zone_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) File System can be imported using the id, e.g. @@ -975,8 +1039,6 @@ def __init__(__self__, - standard (default): Universal NAS - extreme: extreme NAS - cpfs: file storage CPFS - :param pulumi.Input[_builtins.str] keytab: String of keytab file content encrypted by base64 - :param pulumi.Input[_builtins.str] keytab_md5: String of the keytab file content encrypted by MD5 :param pulumi.Input[_builtins.str] kms_key_id: The ID of the KMS key. This parameter is required only when EncryptType = 2. :param pulumi.Input[Union['FileSystemNfsAclArgs', 'FileSystemNfsAclArgsDict']] nfs_acl: NFS ACL See `nfs_acl` below. @@ -986,11 +1048,16 @@ def __init__(__self__, - When FileSystemType = extreme, the value is NFS. - When FileSystemType = cpfs, the value is cpfs. :param pulumi.Input[Union['FileSystemRecycleBinArgs', 'FileSystemRecycleBinArgsDict']] recycle_bin: Recycle Bin See `recycle_bin` below. + :param pulumi.Input[_builtins.str] redundancy_type: Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] redundancy_vswitch_ids: Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group. :param pulumi.Input[Union['FileSystemSmbAclArgs', 'FileSystemSmbAclArgsDict']] smb_acl: SMB ACL See `smb_acl` below. :param pulumi.Input[_builtins.str] snapshot_id: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] storage_type: The storage type. - When FileSystemType = standard, the values are Performance, Capacity, and Premium. - When FileSystemType = extreme, the value is standard or advance. @@ -1056,6 +1123,8 @@ def __init__(__self__, zone_id=default.zones[0].zone_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) File System can be imported using the id, e.g. @@ -1090,6 +1159,8 @@ def _internal_init(__self__, options: Optional[pulumi.Input[Union['FileSystemOptionsArgs', 'FileSystemOptionsArgsDict']]] = None, protocol_type: Optional[pulumi.Input[_builtins.str]] = None, recycle_bin: Optional[pulumi.Input[Union['FileSystemRecycleBinArgs', 'FileSystemRecycleBinArgsDict']]] = None, + redundancy_type: Optional[pulumi.Input[_builtins.str]] = None, + redundancy_vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, smb_acl: Optional[pulumi.Input[Union['FileSystemSmbAclArgs', 'FileSystemSmbAclArgsDict']]] = None, snapshot_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -1120,6 +1191,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'protocol_type'") __props__.__dict__["protocol_type"] = protocol_type __props__.__dict__["recycle_bin"] = recycle_bin + __props__.__dict__["redundancy_type"] = redundancy_type + __props__.__dict__["redundancy_vswitch_ids"] = redundancy_vswitch_ids __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["smb_acl"] = smb_acl __props__.__dict__["snapshot_id"] = snapshot_id @@ -1155,6 +1228,8 @@ def get(resource_name: str, options: Optional[pulumi.Input[Union['FileSystemOptionsArgs', 'FileSystemOptionsArgsDict']]] = None, protocol_type: Optional[pulumi.Input[_builtins.str]] = None, recycle_bin: Optional[pulumi.Input[Union['FileSystemRecycleBinArgs', 'FileSystemRecycleBinArgsDict']]] = None, + redundancy_type: Optional[pulumi.Input[_builtins.str]] = None, + redundancy_vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, region_id: Optional[pulumi.Input[_builtins.str]] = None, resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, smb_acl: Optional[pulumi.Input[Union['FileSystemSmbAclArgs', 'FileSystemSmbAclArgsDict']]] = None, @@ -1202,8 +1277,6 @@ def get(resource_name: str, - standard (default): Universal NAS - extreme: extreme NAS - cpfs: file storage CPFS - :param pulumi.Input[_builtins.str] keytab: String of keytab file content encrypted by base64 - :param pulumi.Input[_builtins.str] keytab_md5: String of the keytab file content encrypted by MD5 :param pulumi.Input[_builtins.str] kms_key_id: The ID of the KMS key. This parameter is required only when EncryptType = 2. :param pulumi.Input[Union['FileSystemNfsAclArgs', 'FileSystemNfsAclArgsDict']] nfs_acl: NFS ACL See `nfs_acl` below. @@ -1213,12 +1286,17 @@ def get(resource_name: str, - When FileSystemType = extreme, the value is NFS. - When FileSystemType = cpfs, the value is cpfs. :param pulumi.Input[Union['FileSystemRecycleBinArgs', 'FileSystemRecycleBinArgsDict']] recycle_bin: Recycle Bin See `recycle_bin` below. + :param pulumi.Input[_builtins.str] redundancy_type: Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] redundancy_vswitch_ids: Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. :param pulumi.Input[_builtins.str] region_id: RegionId :param pulumi.Input[_builtins.str] resource_group_id: The ID of the resource group. :param pulumi.Input[Union['FileSystemSmbAclArgs', 'FileSystemSmbAclArgsDict']] smb_acl: SMB ACL See `smb_acl` below. :param pulumi.Input[_builtins.str] snapshot_id: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. :param pulumi.Input[_builtins.str] status: File system status. Includes:(such as creating a mount point) can only be performed when the file system is in the Running state. :param pulumi.Input[_builtins.str] storage_type: The storage type. - When FileSystemType = standard, the values are Performance, Capacity, and Premium. @@ -1257,6 +1335,8 @@ def get(resource_name: str, __props__.__dict__["options"] = options __props__.__dict__["protocol_type"] = protocol_type __props__.__dict__["recycle_bin"] = recycle_bin + __props__.__dict__["redundancy_type"] = redundancy_type + __props__.__dict__["redundancy_vswitch_ids"] = redundancy_vswitch_ids __props__.__dict__["region_id"] = region_id __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["smb_acl"] = smb_acl @@ -1337,17 +1417,11 @@ def file_system_type(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter def keytab(self) -> pulumi.Output[Optional[_builtins.str]]: - """ - String of keytab file content encrypted by base64 - """ return pulumi.get(self, "keytab") @_builtins.property @pulumi.getter(name="keytabMd5") def keytab_md5(self) -> pulumi.Output[Optional[_builtins.str]]: - """ - String of the keytab file content encrypted by MD5 - """ return pulumi.get(self, "keytab_md5") @_builtins.property @@ -1394,6 +1468,22 @@ def recycle_bin(self) -> pulumi.Output['outputs.FileSystemRecycleBin']: """ return pulumi.get(self, "recycle_bin") + @_builtins.property + @pulumi.getter(name="redundancyType") + def redundancy_type(self) -> pulumi.Output[_builtins.str]: + """ + Storage redundancy type. Only effective for General CPFS.Options: Locally Redundant Storage (LRS), Zone-Redundant Storage (ZRS) Default value: LRS + """ + return pulumi.get(self, "redundancy_type") + + @_builtins.property + @pulumi.getter(name="redundancyVswitchIds") + def redundancy_vswitch_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + Redundancy vSwitch ID list. Only set when the file system's storage redundancy type is Zone-Redundant Storage (ZRS), and must set vSwitch IDs from three different availability zones under the same VPC. + """ + return pulumi.get(self, "redundancy_vswitch_ids") + @_builtins.property @pulumi.getter(name="regionId") def region_id(self) -> pulumi.Output[_builtins.str]: @@ -1425,6 +1515,9 @@ def snapshot_id(self) -> pulumi.Output[Optional[_builtins.str]]: Only extreme NAS is supported. > **NOTE:** A file system is created from a snapshot. The version of the created file system is the same as that of the snapshot source file system. For example, if the source file system version of the snapshot is 1 and you need to create A file system of version 2, you can first create A file system A from the snapshot, then create A file system B that meets the configuration of version 2, copy the data in file system A to file system B, and migrate the business to file system B after the copy is completed. + + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. """ return pulumi.get(self, "snapshot_id") diff --git a/sdk/python/pulumi_alicloud/nas/fileset.py b/sdk/python/pulumi_alicloud/nas/fileset.py index 6d66a6d52e..678af84e13 100644 --- a/sdk/python/pulumi_alicloud/nas/fileset.py +++ b/sdk/python/pulumi_alicloud/nas/fileset.py @@ -21,17 +21,23 @@ class FilesetArgs: def __init__(__self__, *, file_system_id: pulumi.Input[_builtins.str], file_system_path: pulumi.Input[_builtins.str], + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dry_run: Optional[pulumi.Input[_builtins.bool]] = None): """ The set of arguments for constructing a Fileset resource. :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. - :param pulumi.Input[_builtins.str] file_system_path: The path of the fileset. - :param pulumi.Input[_builtins.str] description: The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. - :param pulumi.Input[_builtins.bool] dry_run: The dry run. + :param pulumi.Input[_builtins.str] file_system_path: The path of Fileset. + :param pulumi.Input[_builtins.bool] deletion_protection: The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + :param pulumi.Input[_builtins.str] description: Description of Fileset. + :param pulumi.Input[_builtins.bool] dry_run: Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. """ pulumi.set(__self__, "file_system_id", file_system_id) pulumi.set(__self__, "file_system_path", file_system_path) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) if description is not None: pulumi.set(__self__, "description", description) if dry_run is not None: @@ -53,7 +59,7 @@ def file_system_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="fileSystemPath") def file_system_path(self) -> pulumi.Input[_builtins.str]: """ - The path of the fileset. + The path of Fileset. """ return pulumi.get(self, "file_system_path") @@ -61,11 +67,25 @@ def file_system_path(self) -> pulumi.Input[_builtins.str]: def file_system_path(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "file_system_path", value) + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "deletion_protection", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + Description of Fileset. """ return pulumi.get(self, "description") @@ -77,7 +97,7 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="dryRun") def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - The dry run. + Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. """ return pulumi.get(self, "dry_run") @@ -89,6 +109,8 @@ def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.input_type class _FilesetState: def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dry_run: Optional[pulumi.Input[_builtins.bool]] = None, file_system_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -97,13 +119,21 @@ def __init__(__self__, *, status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Fileset resources. - :param pulumi.Input[_builtins.str] description: The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. - :param pulumi.Input[_builtins.bool] dry_run: The dry run. + :param pulumi.Input[_builtins.str] create_time: The time when Fileset was created. + :param pulumi.Input[_builtins.bool] deletion_protection: The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + :param pulumi.Input[_builtins.str] description: Description of Fileset. + :param pulumi.Input[_builtins.bool] dry_run: Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. - :param pulumi.Input[_builtins.str] file_system_path: The path of the fileset. - :param pulumi.Input[_builtins.str] fileset_id: The first ID of the resource. - :param pulumi.Input[_builtins.str] status: The status of the fileset. - """ + :param pulumi.Input[_builtins.str] file_system_path: The path of Fileset. + :param pulumi.Input[_builtins.str] fileset_id: Fileset ID + :param pulumi.Input[_builtins.str] status: The status of Fileset. Includes: + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) if description is not None: pulumi.set(__self__, "description", description) if dry_run is not None: @@ -117,11 +147,37 @@ def __init__(__self__, *, if status is not None: pulumi.set(__self__, "status", status) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The time when Fileset was created. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "deletion_protection", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + Description of Fileset. """ return pulumi.get(self, "description") @@ -133,7 +189,7 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="dryRun") def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - The dry run. + Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. """ return pulumi.get(self, "dry_run") @@ -157,7 +213,7 @@ def file_system_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="fileSystemPath") def file_system_path(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The path of the fileset. + The path of Fileset. """ return pulumi.get(self, "file_system_path") @@ -169,7 +225,7 @@ def file_system_path(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="filesetId") def fileset_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The first ID of the resource. + Fileset ID """ return pulumi.get(self, "fileset_id") @@ -181,7 +237,7 @@ def fileset_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The status of the fileset. + The status of Fileset. Includes: """ return pulumi.get(self, "status") @@ -196,6 +252,7 @@ class Fileset(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dry_run: Optional[pulumi.Input[_builtins.bool]] = None, file_system_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -204,6 +261,8 @@ def __init__(__self__, """ Provides a File Storage (NAS) Fileset resource. + Fileset of CPFS file system. + For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). > **NOTE:** Available since v1.153.0. @@ -239,6 +298,8 @@ def __init__(__self__, file_system_path="/example_path/") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Fileset can be imported using the id, e.g. @@ -249,10 +310,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] description: The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. - :param pulumi.Input[_builtins.bool] dry_run: The dry run. + :param pulumi.Input[_builtins.bool] deletion_protection: The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + :param pulumi.Input[_builtins.str] description: Description of Fileset. + :param pulumi.Input[_builtins.bool] dry_run: Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. - :param pulumi.Input[_builtins.str] file_system_path: The path of the fileset. + :param pulumi.Input[_builtins.str] file_system_path: The path of Fileset. """ ... @overload @@ -263,6 +327,8 @@ def __init__(__self__, """ Provides a File Storage (NAS) Fileset resource. + Fileset of CPFS file system. + For information about File Storage (NAS) Fileset and how to use it, see [What is Fileset](https://www.alibabacloud.com/help/en/doc-detail/27530.html). > **NOTE:** Available since v1.153.0. @@ -298,6 +364,8 @@ def __init__(__self__, file_system_path="/example_path/") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Fileset can be imported using the id, e.g. @@ -321,6 +389,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dry_run: Optional[pulumi.Input[_builtins.bool]] = None, file_system_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -334,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__ = FilesetArgs.__new__(FilesetArgs) + __props__.__dict__["deletion_protection"] = deletion_protection __props__.__dict__["description"] = description __props__.__dict__["dry_run"] = dry_run if file_system_id is None and not opts.urn: @@ -342,6 +412,7 @@ def _internal_init(__self__, if file_system_path is None and not opts.urn: raise TypeError("Missing required property 'file_system_path'") __props__.__dict__["file_system_path"] = file_system_path + __props__.__dict__["create_time"] = None __props__.__dict__["fileset_id"] = None __props__.__dict__["status"] = None super(Fileset, __self__).__init__( @@ -354,6 +425,8 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + deletion_protection: Optional[pulumi.Input[_builtins.bool]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, dry_run: Optional[pulumi.Input[_builtins.bool]] = None, file_system_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -367,17 +440,23 @@ 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[_builtins.str] description: The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. - :param pulumi.Input[_builtins.bool] dry_run: The dry run. + :param pulumi.Input[_builtins.str] create_time: The time when Fileset was created. + :param pulumi.Input[_builtins.bool] deletion_protection: The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + :param pulumi.Input[_builtins.str] description: Description of Fileset. + :param pulumi.Input[_builtins.bool] dry_run: Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. - :param pulumi.Input[_builtins.str] file_system_path: The path of the fileset. - :param pulumi.Input[_builtins.str] fileset_id: The first ID of the resource. - :param pulumi.Input[_builtins.str] status: The status of the fileset. + :param pulumi.Input[_builtins.str] file_system_path: The path of Fileset. + :param pulumi.Input[_builtins.str] fileset_id: Fileset ID + :param pulumi.Input[_builtins.str] status: The status of Fileset. Includes: """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _FilesetState.__new__(_FilesetState) + __props__.__dict__["create_time"] = create_time + __props__.__dict__["deletion_protection"] = deletion_protection __props__.__dict__["description"] = description __props__.__dict__["dry_run"] = dry_run __props__.__dict__["file_system_id"] = file_system_id @@ -386,11 +465,29 @@ def get(resource_name: str, __props__.__dict__["status"] = status return Fileset(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The time when Fileset was created. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> pulumi.Output[_builtins.bool]: + """ + The instance release protection attribute, which specifies whether the instance can be released through the console or API( DeleteFileset). + - true: Enable instance release protection. + - false (default): Turn off instance release protection + """ + return pulumi.get(self, "deletion_protection") + @_builtins.property @pulumi.getter def description(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The description of the Fileset. It must be `2` to `128` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`. + Description of Fileset. """ return pulumi.get(self, "description") @@ -398,7 +495,7 @@ def description(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="dryRun") def dry_run(self) -> pulumi.Output[Optional[_builtins.bool]]: """ - The dry run. + Specifies whether to perform a dry run. Default value: `false`. Valid values: `true`, `false`. """ return pulumi.get(self, "dry_run") @@ -414,7 +511,7 @@ def file_system_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="fileSystemPath") def file_system_path(self) -> pulumi.Output[_builtins.str]: """ - The path of the fileset. + The path of Fileset. """ return pulumi.get(self, "file_system_path") @@ -422,7 +519,7 @@ def file_system_path(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="filesetId") def fileset_id(self) -> pulumi.Output[_builtins.str]: """ - The first ID of the resource. + Fileset ID """ return pulumi.get(self, "fileset_id") @@ -430,7 +527,7 @@ def fileset_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: """ - The status of the fileset. + The status of Fileset. Includes: """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_alicloud/nas/lifecycle_policy.py b/sdk/python/pulumi_alicloud/nas/lifecycle_policy.py index 23b0d407a5..b5b51cfc29 100644 --- a/sdk/python/pulumi_alicloud/nas/lifecycle_policy.py +++ b/sdk/python/pulumi_alicloud/nas/lifecycle_policy.py @@ -225,6 +225,8 @@ def __init__(__self__, paths=["/"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. @@ -273,6 +275,8 @@ def __init__(__self__, paths=["/"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Lifecycle Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/mount_target.py b/sdk/python/pulumi_alicloud/nas/mount_target.py index 212b98d863..fbc027f114 100644 --- a/sdk/python/pulumi_alicloud/nas/mount_target.py +++ b/sdk/python/pulumi_alicloud/nas/mount_target.py @@ -389,6 +389,8 @@ def __init__(__self__, network_type=example_access_group.access_group_type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Mount Target can be imported using the id, e.g. @@ -467,6 +469,8 @@ def __init__(__self__, network_type=example_access_group.access_group_type) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Mount Target can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/protocol_mount_target.py b/sdk/python/pulumi_alicloud/nas/protocol_mount_target.py new file mode 100644 index 0000000000..1d246761d8 --- /dev/null +++ b/sdk/python/pulumi_alicloud/nas/protocol_mount_target.py @@ -0,0 +1,937 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['ProtocolMountTargetArgs', 'ProtocolMountTarget'] + +@pulumi.input_type +class ProtocolMountTargetArgs: + def __init__(__self__, *, + file_system_id: pulumi.Input[_builtins.str], + protocol_service_id: pulumi.Input[_builtins.str], + access_group_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + fset_id: Optional[pulumi.Input[_builtins.str]] = None, + path: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a ProtocolMountTarget resource. + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] access_group_name: The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + :param pulumi.Input[_builtins.str] description: Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] fset_id: The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + :param pulumi.Input[_builtins.str] path: The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID of the protocol service mount point. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID of the protocol service mount target. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + pulumi.set(__self__, "file_system_id", file_system_id) + pulumi.set(__self__, "protocol_service_id", protocol_service_id) + if access_group_name is not None: + pulumi.set(__self__, "access_group_name", access_group_name) + if description is not None: + pulumi.set(__self__, "description", description) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if fset_id is not None: + pulumi.set(__self__, "fset_id", fset_id) + if path is not None: + pulumi.set(__self__, "path", path) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) + if vswitch_ids is not None: + pulumi.set(__self__, "vswitch_ids", vswitch_ids) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "file_system_id", value) + + @_builtins.property + @pulumi.getter(name="protocolServiceId") + def protocol_service_id(self) -> pulumi.Input[_builtins.str]: + """ + Protocol Service ID + """ + return pulumi.get(self, "protocol_service_id") + + @protocol_service_id.setter + def protocol_service_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "protocol_service_id", value) + + @_builtins.property + @pulumi.getter(name="accessGroupName") + def access_group_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + """ + return pulumi.get(self, "access_group_name") + + @access_group_name.setter + def access_group_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "access_group_name", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @dry_run.setter + def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dry_run", value) + + @_builtins.property + @pulumi.getter(name="fsetId") + def fset_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + """ + return pulumi.get(self, "fset_id") + + @fset_id.setter + def fset_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "fset_id", value) + + @_builtins.property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "path", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VPC ID of the protocol service mount point. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The vSwitch ID of the protocol service mount target. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + return pulumi.get(self, "vswitch_ids") + + @vswitch_ids.setter + def vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vswitch_ids", value) + + +@pulumi.input_type +class _ProtocolMountTargetState: + def __init__(__self__, *, + access_group_name: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + export_id: Optional[pulumi.Input[_builtins.str]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + fset_id: Optional[pulumi.Input[_builtins.str]] = None, + path: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + Input properties used for looking up and filtering ProtocolMountTarget resources. + :param pulumi.Input[_builtins.str] access_group_name: The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] description: Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] export_id: Protocol Service Mount Target ID + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] fset_id: The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + :param pulumi.Input[_builtins.str] path: The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] status: Status + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID of the protocol service mount point. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID of the protocol service mount target. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + if access_group_name is not None: + pulumi.set(__self__, "access_group_name", access_group_name) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if export_id is not None: + pulumi.set(__self__, "export_id", export_id) + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if fset_id is not None: + pulumi.set(__self__, "fset_id", fset_id) + if path is not None: + pulumi.set(__self__, "path", path) + if protocol_service_id is not None: + pulumi.set(__self__, "protocol_service_id", protocol_service_id) + if status is not None: + pulumi.set(__self__, "status", status) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) + if vswitch_ids is not None: + pulumi.set(__self__, "vswitch_ids", vswitch_ids) + + @_builtins.property + @pulumi.getter(name="accessGroupName") + def access_group_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + """ + return pulumi.get(self, "access_group_name") + + @access_group_name.setter + def access_group_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "access_group_name", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @dry_run.setter + def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dry_run", value) + + @_builtins.property + @pulumi.getter(name="exportId") + def export_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Protocol Service Mount Target ID + """ + return pulumi.get(self, "export_id") + + @export_id.setter + def export_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "export_id", value) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "file_system_id", value) + + @_builtins.property + @pulumi.getter(name="fsetId") + def fset_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + """ + return pulumi.get(self, "fset_id") + + @fset_id.setter + def fset_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "fset_id", value) + + @_builtins.property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "path", value) + + @_builtins.property + @pulumi.getter(name="protocolServiceId") + def protocol_service_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Protocol Service ID + """ + return pulumi.get(self, "protocol_service_id") + + @protocol_service_id.setter + def protocol_service_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "protocol_service_id", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Status + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VPC ID of the protocol service mount point. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The vSwitch ID of the protocol service mount target. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + return pulumi.get(self, "vswitch_ids") + + @vswitch_ids.setter + def vswitch_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vswitch_ids", value) + + +@pulumi.type_token("alicloud:nas/protocolMountTarget:ProtocolMountTarget") +class ProtocolMountTarget(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_group_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + fset_id: Optional[pulumi.Input[_builtins.str]] = None, + path: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + __props__=None): + """ + Provides a File Storage (NAS) Protocol Mount Target resource. + + For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="192.168.0.0/16", + vpc_name="nas-examplee1223-vpc", + enable_ipv6=True) + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-beijing-i", + cidr_block="192.168.3.0/24", + vswitch_name="nas-examplee1223-vsw2sdw-C") + example_file_system = alicloud.nas.FileSystem("example", + description=name, + storage_type="advance_100", + zone_id="cn-beijing-i", + vpc_id=example.id, + capacity=3600, + protocol_type="cpfs", + vswitch_id=example_switch.id, + file_system_type="cpfs") + example_protocol_service = alicloud.nas.ProtocolService("example", + vpc_id=example.id, + protocol_type="NFS", + protocol_spec="General", + vswitch_id=example_switch.id, + dry_run=False, + file_system_id=example_file_system.id) + example_fileset = alicloud.nas.Fileset("example", + file_system_path="/examplefileset/", + description="cpfs-LRS-filesetexample-wyf", + file_system_id=example_file_system.id) + default = alicloud.nas.ProtocolMountTarget("default", + fset_id=example_fileset.fileset_id, + description=name, + vpc_id=example.id, + vswitch_id=example_switch.id, + access_group_name="DEFAULT_VPC_GROUP_NAME", + dry_run=False, + file_system_id=example_file_system.id, + protocol_service_id=example_protocol_service.protocol_service_id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example :: + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] access_group_name: The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + :param pulumi.Input[_builtins.str] description: Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] fset_id: The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + :param pulumi.Input[_builtins.str] path: The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID of the protocol service mount point. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID of the protocol service mount target. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProtocolMountTargetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a File Storage (NAS) Protocol Mount Target resource. + + For information about File Storage (NAS) Protocol Mount Target and how to use it, see [What is Protocol Mount Target](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolMountTarget). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="192.168.0.0/16", + vpc_name="nas-examplee1223-vpc", + enable_ipv6=True) + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-beijing-i", + cidr_block="192.168.3.0/24", + vswitch_name="nas-examplee1223-vsw2sdw-C") + example_file_system = alicloud.nas.FileSystem("example", + description=name, + storage_type="advance_100", + zone_id="cn-beijing-i", + vpc_id=example.id, + capacity=3600, + protocol_type="cpfs", + vswitch_id=example_switch.id, + file_system_type="cpfs") + example_protocol_service = alicloud.nas.ProtocolService("example", + vpc_id=example.id, + protocol_type="NFS", + protocol_spec="General", + vswitch_id=example_switch.id, + dry_run=False, + file_system_id=example_file_system.id) + example_fileset = alicloud.nas.Fileset("example", + file_system_path="/examplefileset/", + description="cpfs-LRS-filesetexample-wyf", + file_system_id=example_file_system.id) + default = alicloud.nas.ProtocolMountTarget("default", + fset_id=example_fileset.fileset_id, + description=name, + vpc_id=example.id, + vswitch_id=example_switch.id, + access_group_name="DEFAULT_VPC_GROUP_NAME", + dry_run=False, + file_system_id=example_file_system.id, + protocol_service_id=example_protocol_service.protocol_service_id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + File Storage (NAS) Protocol Mount Target can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:nas/protocolMountTarget:ProtocolMountTarget example :: + ``` + + :param str resource_name: The name of the resource. + :param ProtocolMountTargetArgs 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(ProtocolMountTargetArgs, 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, + access_group_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + fset_id: Optional[pulumi.Input[_builtins.str]] = None, + path: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.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__ = ProtocolMountTargetArgs.__new__(ProtocolMountTargetArgs) + + __props__.__dict__["access_group_name"] = access_group_name + __props__.__dict__["description"] = description + __props__.__dict__["dry_run"] = dry_run + if file_system_id is None and not opts.urn: + raise TypeError("Missing required property 'file_system_id'") + __props__.__dict__["file_system_id"] = file_system_id + __props__.__dict__["fset_id"] = fset_id + __props__.__dict__["path"] = path + if protocol_service_id is None and not opts.urn: + raise TypeError("Missing required property 'protocol_service_id'") + __props__.__dict__["protocol_service_id"] = protocol_service_id + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["vswitch_ids"] = vswitch_ids + __props__.__dict__["create_time"] = None + __props__.__dict__["export_id"] = None + __props__.__dict__["status"] = None + super(ProtocolMountTarget, __self__).__init__( + 'alicloud:nas/protocolMountTarget:ProtocolMountTarget', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_group_name: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + export_id: Optional[pulumi.Input[_builtins.str]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + fset_id: Optional[pulumi.Input[_builtins.str]] = None, + path: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'ProtocolMountTarget': + """ + Get an existing ProtocolMountTarget 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[_builtins.str] access_group_name: The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + :param pulumi.Input[_builtins.str] create_time: The creation time of the resource + :param pulumi.Input[_builtins.str] description: Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] export_id: Protocol Service Mount Target ID + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] fset_id: The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + :param pulumi.Input[_builtins.str] path: The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] status: Status + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID of the protocol service mount point. + :param pulumi.Input[_builtins.str] vswitch_id: The vSwitch ID of the protocol service mount target. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vswitch_ids: The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProtocolMountTargetState.__new__(_ProtocolMountTargetState) + + __props__.__dict__["access_group_name"] = access_group_name + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["dry_run"] = dry_run + __props__.__dict__["export_id"] = export_id + __props__.__dict__["file_system_id"] = file_system_id + __props__.__dict__["fset_id"] = fset_id + __props__.__dict__["path"] = path + __props__.__dict__["protocol_service_id"] = protocol_service_id + __props__.__dict__["status"] = status + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["vswitch_ids"] = vswitch_ids + return ProtocolMountTarget(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="accessGroupName") + def access_group_name(self) -> pulumi.Output[_builtins.str]: + """ + The permission group name. + Default value: DEFAULT_VPC_GROUP_NAME + """ + return pulumi.get(self, "access_group_name") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the resource + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Description of the protocol service mount target. Display as the export directory name in the console. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or a Chinese character. It cannot start with http:// or https. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> pulumi.Output[Optional[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @_builtins.property + @pulumi.getter(name="exportId") + def export_id(self) -> pulumi.Output[_builtins.str]: + """ + Protocol Service Mount Target ID + """ + return pulumi.get(self, "export_id") + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @_builtins.property + @pulumi.getter(name="fsetId") + def fset_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the Fileset to be mounted. + + Limitations: + - The Fileset must already exist. + - A Fileset allows only one export directory to be created. + - Fileset and Path can and must specify only one. + """ + return pulumi.get(self, "fset_id") + + @_builtins.property + @pulumi.getter + def path(self) -> pulumi.Output[_builtins.str]: + """ + The path of the CPFS directory to be mounted. + + Limitations: + - The directory must be an existing directory on the CPFS. + - Only one export is allowed for the same directory. + - Fileset and Path can and must specify only one. + + Format: + - 1~1024 characters in length. + - Use UTF-8 encoding. + - Must start and end with a forward slash (/) and root directory is/. + """ + return pulumi.get(self, "path") + + @_builtins.property + @pulumi.getter(name="protocolServiceId") + def protocol_service_id(self) -> pulumi.Output[_builtins.str]: + """ + Protocol Service ID + """ + return pulumi.get(self, "protocol_service_id") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + Status + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The VPC ID of the protocol service mount point. + """ + return pulumi.get(self, "vpc_id") + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The vSwitch ID of the protocol service mount target. + """ + return pulumi.get(self, "vswitch_id") + + @_builtins.property + @pulumi.getter(name="vswitchIds") + def vswitch_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + The vSwitch IDs of the protocol service mount target. + When the storage redundancy type of the file system is ZRS, if VpcId is set, the vSwitch ID of three different zones under the Vpc must be set in this field. + """ + return pulumi.get(self, "vswitch_ids") + diff --git a/sdk/python/pulumi_alicloud/nas/protocol_service.py b/sdk/python/pulumi_alicloud/nas/protocol_service.py new file mode 100644 index 0000000000..ab3811ebc4 --- /dev/null +++ b/sdk/python/pulumi_alicloud/nas/protocol_service.py @@ -0,0 +1,736 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['ProtocolServiceArgs', 'ProtocolService'] + +@pulumi.input_type +class ProtocolServiceArgs: + def __init__(__self__, *, + file_system_id: pulumi.Input[_builtins.str], + protocol_spec: pulumi.Input[_builtins.str], + protocol_type: pulumi.Input[_builtins.str], + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + protocol_throughput: Optional[pulumi.Input[_builtins.int]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a ProtocolService resource. + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] protocol_spec: The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + :param pulumi.Input[_builtins.str] protocol_type: The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + :param pulumi.Input[_builtins.str] description: Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.int] protocol_throughput: The throughput of the protocol service. Unit: MB/s. + :param pulumi.Input[_builtins.str] vpc_id: The VpcId of the protocol service, which must be consistent with the VPC of the file system. + :param pulumi.Input[_builtins.str] vswitch_id: The VSwitchId of the protocol service. + """ + pulumi.set(__self__, "file_system_id", file_system_id) + pulumi.set(__self__, "protocol_spec", protocol_spec) + pulumi.set(__self__, "protocol_type", protocol_type) + if description is not None: + pulumi.set(__self__, "description", description) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if protocol_throughput is not None: + pulumi.set(__self__, "protocol_throughput", protocol_throughput) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "file_system_id", value) + + @_builtins.property + @pulumi.getter(name="protocolSpec") + def protocol_spec(self) -> pulumi.Input[_builtins.str]: + """ + The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + """ + return pulumi.get(self, "protocol_spec") + + @protocol_spec.setter + def protocol_spec(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "protocol_spec", value) + + @_builtins.property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> pulumi.Input[_builtins.str]: + """ + The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + """ + return pulumi.get(self, "protocol_type") + + @protocol_type.setter + def protocol_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "protocol_type", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @dry_run.setter + def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dry_run", value) + + @_builtins.property + @pulumi.getter(name="protocolThroughput") + def protocol_throughput(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The throughput of the protocol service. Unit: MB/s. + """ + return pulumi.get(self, "protocol_throughput") + + @protocol_throughput.setter + def protocol_throughput(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "protocol_throughput", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VpcId of the protocol service, which must be consistent with the VPC of the file system. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VSwitchId of the protocol service. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + + +@pulumi.input_type +class _ProtocolServiceState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_spec: Optional[pulumi.Input[_builtins.str]] = None, + protocol_throughput: Optional[pulumi.Input[_builtins.int]] = None, + protocol_type: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ProtocolService resources. + :param pulumi.Input[_builtins.str] create_time: The time when the protocol server service was created. The UTC time. + :param pulumi.Input[_builtins.str] description: Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] protocol_spec: The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + :param pulumi.Input[_builtins.int] protocol_throughput: The throughput of the protocol service. Unit: MB/s. + :param pulumi.Input[_builtins.str] protocol_type: The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + :param pulumi.Input[_builtins.str] status: Agreement service status. + :param pulumi.Input[_builtins.str] vpc_id: The VpcId of the protocol service, which must be consistent with the VPC of the file system. + :param pulumi.Input[_builtins.str] vswitch_id: The VSwitchId of the protocol service. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if file_system_id is not None: + pulumi.set(__self__, "file_system_id", file_system_id) + if protocol_service_id is not None: + pulumi.set(__self__, "protocol_service_id", protocol_service_id) + if protocol_spec is not None: + pulumi.set(__self__, "protocol_spec", protocol_spec) + if protocol_throughput is not None: + pulumi.set(__self__, "protocol_throughput", protocol_throughput) + if protocol_type is not None: + pulumi.set(__self__, "protocol_type", protocol_type) + if status is not None: + pulumi.set(__self__, "status", status) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vswitch_id is not None: + pulumi.set(__self__, "vswitch_id", vswitch_id) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The time when the protocol server service was created. The UTC time. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @dry_run.setter + def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dry_run", value) + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "file_system_id", value) + + @_builtins.property + @pulumi.getter(name="protocolServiceId") + def protocol_service_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Protocol Service ID + """ + return pulumi.get(self, "protocol_service_id") + + @protocol_service_id.setter + def protocol_service_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "protocol_service_id", value) + + @_builtins.property + @pulumi.getter(name="protocolSpec") + def protocol_spec(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + """ + return pulumi.get(self, "protocol_spec") + + @protocol_spec.setter + def protocol_spec(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "protocol_spec", value) + + @_builtins.property + @pulumi.getter(name="protocolThroughput") + def protocol_throughput(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The throughput of the protocol service. Unit: MB/s. + """ + return pulumi.get(self, "protocol_throughput") + + @protocol_throughput.setter + def protocol_throughput(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "protocol_throughput", value) + + @_builtins.property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + """ + return pulumi.get(self, "protocol_type") + + @protocol_type.setter + def protocol_type(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "protocol_type", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Agreement service status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VpcId of the protocol service, which must be consistent with the VPC of the file system. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The VSwitchId of the protocol service. + """ + return pulumi.get(self, "vswitch_id") + + @vswitch_id.setter + def vswitch_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "vswitch_id", value) + + +@pulumi.type_token("alicloud:nas/protocolService:ProtocolService") +class ProtocolService(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_spec: Optional[pulumi.Input[_builtins.str]] = None, + protocol_throughput: Optional[pulumi.Input[_builtins.int]] = None, + protocol_type: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a File Storage (NAS) Protocol Service resource. + + For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="192.168.0.0/16", + vpc_name="nas-examplee1031-vpc", + enable_ipv6=True) + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-beijing-i", + cidr_block="192.168.2.0/24", + vswitch_name="nas-examplee1031-vsw1sdw-F") + example_file_system = alicloud.nas.FileSystem("example", + description=name, + storage_type="advance_100", + zone_id="cn-beijing-i", + encrypt_type=0, + vpc_id=example.id, + capacity=3600, + protocol_type="cpfs", + vswitch_id=example_switch.id, + file_system_type="cpfs") + default = alicloud.nas.ProtocolService("default", + vpc_id=example.id, + protocol_type="NFS", + protocol_spec="General", + vswitch_id=example_switch.id, + dry_run=False, + file_system_id=example_file_system.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + File Storage (NAS) Protocol Service can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:nas/protocolService:ProtocolService example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] protocol_spec: The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + :param pulumi.Input[_builtins.int] protocol_throughput: The throughput of the protocol service. Unit: MB/s. + :param pulumi.Input[_builtins.str] protocol_type: The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + :param pulumi.Input[_builtins.str] vpc_id: The VpcId of the protocol service, which must be consistent with the VPC of the file system. + :param pulumi.Input[_builtins.str] vswitch_id: The VSwitchId of the protocol service. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ProtocolServiceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a File Storage (NAS) Protocol Service resource. + + For information about File Storage (NAS) Protocol Service and how to use it, see [What is Protocol Service](https://next.api.alibabacloud.com/document/NAS/2017-06-26/CreateProtocolService). + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + example = alicloud.vpc.Network("example", + is_default=False, + cidr_block="192.168.0.0/16", + vpc_name="nas-examplee1031-vpc", + enable_ipv6=True) + example_switch = alicloud.vpc.Switch("example", + is_default=False, + vpc_id=example.id, + zone_id="cn-beijing-i", + cidr_block="192.168.2.0/24", + vswitch_name="nas-examplee1031-vsw1sdw-F") + example_file_system = alicloud.nas.FileSystem("example", + description=name, + storage_type="advance_100", + zone_id="cn-beijing-i", + encrypt_type=0, + vpc_id=example.id, + capacity=3600, + protocol_type="cpfs", + vswitch_id=example_switch.id, + file_system_type="cpfs") + default = alicloud.nas.ProtocolService("default", + vpc_id=example.id, + protocol_type="NFS", + protocol_spec="General", + vswitch_id=example_switch.id, + dry_run=False, + file_system_id=example_file_system.id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + File Storage (NAS) Protocol Service can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:nas/protocolService:ProtocolService example : + ``` + + :param str resource_name: The name of the resource. + :param ProtocolServiceArgs 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(ProtocolServiceArgs, 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[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_spec: Optional[pulumi.Input[_builtins.str]] = None, + protocol_throughput: Optional[pulumi.Input[_builtins.int]] = None, + protocol_type: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.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__ = ProtocolServiceArgs.__new__(ProtocolServiceArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["dry_run"] = dry_run + if file_system_id is None and not opts.urn: + raise TypeError("Missing required property 'file_system_id'") + __props__.__dict__["file_system_id"] = file_system_id + if protocol_spec is None and not opts.urn: + raise TypeError("Missing required property 'protocol_spec'") + __props__.__dict__["protocol_spec"] = protocol_spec + __props__.__dict__["protocol_throughput"] = protocol_throughput + if protocol_type is None and not opts.urn: + raise TypeError("Missing required property 'protocol_type'") + __props__.__dict__["protocol_type"] = protocol_type + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id + __props__.__dict__["create_time"] = None + __props__.__dict__["protocol_service_id"] = None + __props__.__dict__["status"] = None + super(ProtocolService, __self__).__init__( + 'alicloud:nas/protocolService:ProtocolService', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + dry_run: Optional[pulumi.Input[_builtins.bool]] = None, + file_system_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_service_id: Optional[pulumi.Input[_builtins.str]] = None, + protocol_spec: Optional[pulumi.Input[_builtins.str]] = None, + protocol_throughput: Optional[pulumi.Input[_builtins.int]] = None, + protocol_type: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, + vpc_id: Optional[pulumi.Input[_builtins.str]] = None, + vswitch_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ProtocolService': + """ + Get an existing ProtocolService 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[_builtins.str] create_time: The time when the protocol server service was created. The UTC time. + :param pulumi.Input[_builtins.str] description: Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + :param pulumi.Input[_builtins.str] file_system_id: The ID of the file system. + :param pulumi.Input[_builtins.str] protocol_service_id: Protocol Service ID + :param pulumi.Input[_builtins.str] protocol_spec: The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + :param pulumi.Input[_builtins.int] protocol_throughput: The throughput of the protocol service. Unit: MB/s. + :param pulumi.Input[_builtins.str] protocol_type: The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + :param pulumi.Input[_builtins.str] status: Agreement service status. + :param pulumi.Input[_builtins.str] vpc_id: The VpcId of the protocol service, which must be consistent with the VPC of the file system. + :param pulumi.Input[_builtins.str] vswitch_id: The VSwitchId of the protocol service. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ProtocolServiceState.__new__(_ProtocolServiceState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["dry_run"] = dry_run + __props__.__dict__["file_system_id"] = file_system_id + __props__.__dict__["protocol_service_id"] = protocol_service_id + __props__.__dict__["protocol_spec"] = protocol_spec + __props__.__dict__["protocol_throughput"] = protocol_throughput + __props__.__dict__["protocol_type"] = protocol_type + __props__.__dict__["status"] = status + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vswitch_id"] = vswitch_id + return ProtocolService(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The time when the protocol server service was created. The UTC time. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Description of the agreement service. + + Limitations: + - Length is 2~128 English or Chinese characters. + - It must start with an uppercase or lowercase letter or Chinese, and cannot start with `http://` and `https://`. + - Can contain numbers, colons (:), underscores (_), or dashes (-). + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="dryRun") + def dry_run(self) -> pulumi.Output[Optional[_builtins.bool]]: + return pulumi.get(self, "dry_run") + + @_builtins.property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the file system. + """ + return pulumi.get(self, "file_system_id") + + @_builtins.property + @pulumi.getter(name="protocolServiceId") + def protocol_service_id(self) -> pulumi.Output[_builtins.str]: + """ + Protocol Service ID + """ + return pulumi.get(self, "protocol_service_id") + + @_builtins.property + @pulumi.getter(name="protocolSpec") + def protocol_spec(self) -> pulumi.Output[_builtins.str]: + """ + The specification of the protocol machine cluster. + - Value range: General、CL1、CL2 + - Default value: General + """ + return pulumi.get(self, "protocol_spec") + + @_builtins.property + @pulumi.getter(name="protocolThroughput") + def protocol_throughput(self) -> pulumi.Output[_builtins.int]: + """ + The throughput of the protocol service. Unit: MB/s. + """ + return pulumi.get(self, "protocol_throughput") + + @_builtins.property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> pulumi.Output[_builtins.str]: + """ + The protocol type supported by the protocol service. + + Value range: + - NFS: Protocol Service supports NFS protocol access. + """ + return pulumi.get(self, "protocol_type") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + Agreement service status. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The VpcId of the protocol service, which must be consistent with the VPC of the file system. + """ + return pulumi.get(self, "vpc_id") + + @_builtins.property + @pulumi.getter(name="vswitchId") + def vswitch_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The VSwitchId of the protocol service. + """ + return pulumi.get(self, "vswitch_id") + diff --git a/sdk/python/pulumi_alicloud/nas/recycle_bin.py b/sdk/python/pulumi_alicloud/nas/recycle_bin.py index 82b826eb86..70ad4980c3 100644 --- a/sdk/python/pulumi_alicloud/nas/recycle_bin.py +++ b/sdk/python/pulumi_alicloud/nas/recycle_bin.py @@ -147,6 +147,8 @@ def __init__(__self__, reserved_days=3) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Recycle Bin can be imported using the id, e.g. @@ -193,6 +195,8 @@ def __init__(__self__, reserved_days=3) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Recycle Bin can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nas/smb_acl_attachment.py b/sdk/python/pulumi_alicloud/nas/smb_acl_attachment.py index 4bee103789..5e70f28d31 100644 --- a/sdk/python/pulumi_alicloud/nas/smb_acl_attachment.py +++ b/sdk/python/pulumi_alicloud/nas/smb_acl_attachment.py @@ -420,6 +420,8 @@ def __init__(__self__, keytab_md5="E3CCF7E2416DF04FA958AA4513EA29E8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.bool] enable_anonymous_access: Specifies whether to allow anonymous access. Valid values: @@ -479,6 +481,8 @@ def __init__(__self__, keytab_md5="E3CCF7E2416DF04FA958AA4513EA29E8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param SmbAclAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/nas/snapshot.py b/sdk/python/pulumi_alicloud/nas/snapshot.py index 42d284d6ea..d9fe59368d 100644 --- a/sdk/python/pulumi_alicloud/nas/snapshot.py +++ b/sdk/python/pulumi_alicloud/nas/snapshot.py @@ -225,6 +225,8 @@ def __init__(__self__, snapshot_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Snapshot can be imported using the id, e.g. @@ -282,6 +284,8 @@ def __init__(__self__, snapshot_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import File Storage (NAS) Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/listener.py b/sdk/python/pulumi_alicloud/nlb/listener.py index 159a6722d7..a9cc88c06f 100644 --- a/sdk/python/pulumi_alicloud/nlb/listener.py +++ b/sdk/python/pulumi_alicloud/nlb/listener.py @@ -943,6 +943,8 @@ def __init__(__self__, mss=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Listener can be imported using the id, e.g. @@ -1104,6 +1106,8 @@ def __init__(__self__, mss=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Listener can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/listener_additional_certificate_attachment.py b/sdk/python/pulumi_alicloud/nlb/listener_additional_certificate_attachment.py index bfea8a49c2..da7b062b49 100644 --- a/sdk/python/pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +++ b/sdk/python/pulumi_alicloud/nlb/listener_additional_certificate_attachment.py @@ -323,6 +323,8 @@ def __init__(__self__, listener_id=create_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Listener Additional Certificate Attachment can be imported using the id, e.g. @@ -514,6 +516,8 @@ def __init__(__self__, listener_id=create_listener.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Listener Additional Certificate Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/load_balancer.py b/sdk/python/pulumi_alicloud/nlb/load_balancer.py index 16e67f65a9..2c2ad7dbf3 100644 --- a/sdk/python/pulumi_alicloud/nlb/load_balancer.py +++ b/sdk/python/pulumi_alicloud/nlb/load_balancer.py @@ -953,6 +953,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[default])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. @@ -1120,6 +1122,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[default])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Load Balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/load_balancer_security_group_attachment.py b/sdk/python/pulumi_alicloud/nlb/load_balancer_security_group_attachment.py index 9c40564bb2..52d1caf551 100644 --- a/sdk/python/pulumi_alicloud/nlb/load_balancer_security_group_attachment.py +++ b/sdk/python/pulumi_alicloud/nlb/load_balancer_security_group_attachment.py @@ -201,6 +201,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Load Balancer Security Group Attachment can be imported using the id, e.g. @@ -286,6 +288,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Load Balancer Security Group Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py b/sdk/python/pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py index 5c92f3efaa..e842b87c94 100644 --- a/sdk/python/pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py +++ b/sdk/python/pulumi_alicloud/nlb/load_balancer_zone_shifted_attachment.py @@ -207,6 +207,8 @@ def __init__(__self__, load_balancer_id=nlb.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, load_balancer_id=nlb.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Load Balancer Zone Shifted Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/loadbalancer_common_bandwidth_package_attachment.py b/sdk/python/pulumi_alicloud/nlb/loadbalancer_common_bandwidth_package_attachment.py index e940a35ed4..8758f9f6ac 100644 --- a/sdk/python/pulumi_alicloud/nlb/loadbalancer_common_bandwidth_package_attachment.py +++ b/sdk/python/pulumi_alicloud/nlb/loadbalancer_common_bandwidth_package_attachment.py @@ -189,6 +189,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. @@ -278,6 +280,8 @@ def __init__(__self__, load_balancer_id=default_load_balancer.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Loadbalancer Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/security_policy.py b/sdk/python/pulumi_alicloud/nlb/security_policy.py index 1fb0547e76..bf24e1fcf6 100644 --- a/sdk/python/pulumi_alicloud/nlb/security_policy.py +++ b/sdk/python/pulumi_alicloud/nlb/security_policy.py @@ -284,6 +284,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Security Policy can be imported using the id, e.g. @@ -351,6 +353,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NLB Security Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/server_group.py b/sdk/python/pulumi_alicloud/nlb/server_group.py index 20ae5ffc01..8e88a79f23 100644 --- a/sdk/python/pulumi_alicloud/nlb/server_group.py +++ b/sdk/python/pulumi_alicloud/nlb/server_group.py @@ -675,6 +675,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Server Group can be imported using the id, e.g. @@ -780,6 +782,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Server Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/nlb/server_group_server_attachment.py b/sdk/python/pulumi_alicloud/nlb/server_group_server_attachment.py index 720f64d135..26a3b29bb2 100644 --- a/sdk/python/pulumi_alicloud/nlb/server_group_server_attachment.py +++ b/sdk/python/pulumi_alicloud/nlb/server_group_server_attachment.py @@ -383,6 +383,8 @@ def __init__(__self__, server_ip="10.0.0.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. @@ -464,6 +466,8 @@ def __init__(__self__, server_ip="10.0.0.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Network Load Balancer (NLB) Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ocean/base_instance.py b/sdk/python/pulumi_alicloud/ocean/base_instance.py index fafa124d8d..b94c1fdf6b 100644 --- a/sdk/python/pulumi_alicloud/ocean/base_instance.py +++ b/sdk/python/pulumi_alicloud/ocean/base_instance.py @@ -998,6 +998,8 @@ def __init__(__self__, instance_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ocean Base Instance can be imported using the id, e.g. @@ -1130,6 +1132,8 @@ def __init__(__self__, instance_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Ocean Base Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/application.py b/sdk/python/pulumi_alicloud/oos/application.py index 6ff68a5767..9a7148f481 100644 --- a/sdk/python/pulumi_alicloud/oos/application.py +++ b/sdk/python/pulumi_alicloud/oos/application.py @@ -203,6 +203,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Application can be imported using the id, e.g. @@ -257,6 +259,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Application can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/application_group.py b/sdk/python/pulumi_alicloud/oos/application_group.py index ac49441b92..1ecfc7f353 100644 --- a/sdk/python/pulumi_alicloud/oos/application_group.py +++ b/sdk/python/pulumi_alicloud/oos/application_group.py @@ -279,6 +279,8 @@ def __init__(__self__, import_tag_value="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Application Group can be imported using the id, e.g. @@ -344,6 +346,8 @@ def __init__(__self__, import_tag_value="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Application Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/default_patch_baseline.py b/sdk/python/pulumi_alicloud/oos/default_patch_baseline.py index 216bed7001..8eef6f22c5 100644 --- a/sdk/python/pulumi_alicloud/oos/default_patch_baseline.py +++ b/sdk/python/pulumi_alicloud/oos/default_patch_baseline.py @@ -110,6 +110,8 @@ def __init__(__self__, default_default_patch_baseline = alicloud.oos.DefaultPatchBaseline("default", patch_baseline_name=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Oos Default Patch Baseline can be imported using the id, e.g. @@ -151,6 +153,8 @@ def __init__(__self__, default_default_patch_baseline = alicloud.oos.DefaultPatchBaseline("default", patch_baseline_name=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Oos Default Patch Baseline can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/execution.py b/sdk/python/pulumi_alicloud/oos/execution.py index 5c293cb007..f0af21181e 100644 --- a/sdk/python/pulumi_alicloud/oos/execution.py +++ b/sdk/python/pulumi_alicloud/oos/execution.py @@ -578,6 +578,8 @@ def __init__(__self__, parameters="\\\\t\\\\t\\\\t\\\\t{\\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\"}\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Execution can be imported using the id, e.g. @@ -655,6 +657,8 @@ def __init__(__self__, parameters="\\\\t\\\\t\\\\t\\\\t{\\\\\\"Status\\\\\\":\\\\\\"Running\\\\\\"}\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Execution can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/parameter.py b/sdk/python/pulumi_alicloud/oos/parameter.py index 80f23452b0..7bbbb59761 100644 --- a/sdk/python/pulumi_alicloud/oos/parameter.py +++ b/sdk/python/pulumi_alicloud/oos/parameter.py @@ -311,6 +311,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Parameter can be imported using the id, e.g. @@ -367,6 +369,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Parameter can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/patch_baseline.py b/sdk/python/pulumi_alicloud/oos/patch_baseline.py index 9b00f97446..7772900dd0 100644 --- a/sdk/python/pulumi_alicloud/oos/patch_baseline.py +++ b/sdk/python/pulumi_alicloud/oos/patch_baseline.py @@ -440,6 +440,8 @@ def __init__(__self__, approval_rules="{\\"PatchRules\\":[{\\"EnableNonSecurity\\":true,\\"PatchFilterGroup\\":[{\\"Values\\":[\\"*\\"],\\"Key\\":\\"Product\\"},{\\"Values\\":[\\"Security\\",\\"Bugfix\\"],\\"Key\\":\\"Classification\\"},{\\"Values\\":[\\"Critical\\",\\"Important\\"],\\"Key\\":\\"Severity\\"}],\\"ApproveAfterDays\\":7,\\"ComplianceLevel\\":\\"Unspecified\\"}]}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Patch Baseline can be imported using the id, e.g. @@ -493,6 +495,8 @@ def __init__(__self__, approval_rules="{\\"PatchRules\\":[{\\"EnableNonSecurity\\":true,\\"PatchFilterGroup\\":[{\\"Values\\":[\\"*\\"],\\"Key\\":\\"Product\\"},{\\"Values\\":[\\"Security\\",\\"Bugfix\\"],\\"Key\\":\\"Classification\\"},{\\"Values\\":[\\"Critical\\",\\"Important\\"],\\"Key\\":\\"Severity\\"}],\\"ApproveAfterDays\\":7,\\"ComplianceLevel\\":\\"Unspecified\\"}]}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Patch Baseline can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/secret_parameter.py b/sdk/python/pulumi_alicloud/oos/secret_parameter.py index aa0e4f4868..669d552a1f 100644 --- a/sdk/python/pulumi_alicloud/oos/secret_parameter.py +++ b/sdk/python/pulumi_alicloud/oos/secret_parameter.py @@ -399,6 +399,8 @@ def __init__(__self__, resource_group_id=example.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. @@ -462,6 +464,8 @@ def __init__(__self__, resource_group_id=example.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Operation Orchestration Service (OOS) Secret Parameter can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/service_setting.py b/sdk/python/pulumi_alicloud/oos/service_setting.py index b31ef16ff4..af15a38786 100644 --- a/sdk/python/pulumi_alicloud/oos/service_setting.py +++ b/sdk/python/pulumi_alicloud/oos/service_setting.py @@ -236,6 +236,8 @@ def __init__(__self__, delivery_sls_project_name=default_project.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Service Setting can be imported using the id, e.g. @@ -290,6 +292,8 @@ def __init__(__self__, delivery_sls_project_name=default_project.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Service Setting can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/state_configuration.py b/sdk/python/pulumi_alicloud/oos/state_configuration.py index 8f527817ef..ae13da3e31 100644 --- a/sdk/python/pulumi_alicloud/oos/state_configuration.py +++ b/sdk/python/pulumi_alicloud/oos/state_configuration.py @@ -396,6 +396,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS State Configuration can be imported using the id, e.g. @@ -454,6 +456,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS State Configuration can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oos/template.py b/sdk/python/pulumi_alicloud/oos/template.py index a805d4693f..3673d6d90d 100644 --- a/sdk/python/pulumi_alicloud/oos/template.py +++ b/sdk/python/pulumi_alicloud/oos/template.py @@ -458,6 +458,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Template can be imported using the id or template_name, e.g. @@ -528,6 +530,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OOS Template can be imported using the id or template_name, e.g. diff --git a/sdk/python/pulumi_alicloud/open_api_explorer_api_mcp_server.py b/sdk/python/pulumi_alicloud/open_api_explorer_api_mcp_server.py new file mode 100644 index 0000000000..a06a6ceedf --- /dev/null +++ b/sdk/python/pulumi_alicloud/open_api_explorer_api_mcp_server.py @@ -0,0 +1,1381 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['OpenApiExplorerApiMcpServerArgs', 'OpenApiExplorerApiMcpServer'] + +@pulumi.input_type +class OpenApiExplorerApiMcpServerArgs: + def __init__(__self__, *, + apis: pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]], + additional_api_descriptions: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]] = None, + assume_role_extra_policy: Optional[pulumi.Input[_builtins.str]] = None, + assume_role_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + enable_assume_role: Optional[pulumi.Input[_builtins.bool]] = None, + enable_custom_vpc_whitelist: Optional[pulumi.Input[_builtins.bool]] = None, + instructions: Optional[pulumi.Input[_builtins.str]] = None, + language: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None, + prompts: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]] = None, + public_access: Optional[pulumi.Input[_builtins.str]] = None, + system_tools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + terraform_tools: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]] = None, + vpc_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a OpenApiExplorerApiMcpServer resource. + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]] apis: The list of APIs to be included in the API MCP Server. See `apis` below. + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]] additional_api_descriptions: Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + :param pulumi.Input[_builtins.str] assume_role_extra_policy: When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + :param pulumi.Input[_builtins.str] assume_role_name: The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + :param pulumi.Input[_builtins.str] description: Description of the API MCP service. + :param pulumi.Input[_builtins.bool] enable_assume_role: Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + :param pulumi.Input[_builtins.bool] enable_custom_vpc_whitelist: Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + :param pulumi.Input[_builtins.str] instructions: MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + :param pulumi.Input[_builtins.str] language: Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + :param pulumi.Input[_builtins.str] name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param pulumi.Input[_builtins.str] oauth_client_id: The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]] prompts: List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + :param pulumi.Input[_builtins.str] public_access: Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] system_tools: Enabled system services. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vpc_whitelists: When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + pulumi.set(__self__, "apis", apis) + if additional_api_descriptions is not None: + pulumi.set(__self__, "additional_api_descriptions", additional_api_descriptions) + if assume_role_extra_policy is not None: + pulumi.set(__self__, "assume_role_extra_policy", assume_role_extra_policy) + if assume_role_name is not None: + pulumi.set(__self__, "assume_role_name", assume_role_name) + if description is not None: + pulumi.set(__self__, "description", description) + if enable_assume_role is not None: + pulumi.set(__self__, "enable_assume_role", enable_assume_role) + if enable_custom_vpc_whitelist is not None: + pulumi.set(__self__, "enable_custom_vpc_whitelist", enable_custom_vpc_whitelist) + if instructions is not None: + pulumi.set(__self__, "instructions", instructions) + if language is not None: + pulumi.set(__self__, "language", language) + if name is not None: + pulumi.set(__self__, "name", name) + if oauth_client_id is not None: + pulumi.set(__self__, "oauth_client_id", oauth_client_id) + if prompts is not None: + pulumi.set(__self__, "prompts", prompts) + if public_access is not None: + pulumi.set(__self__, "public_access", public_access) + if system_tools is not None: + pulumi.set(__self__, "system_tools", system_tools) + if terraform_tools is not None: + pulumi.set(__self__, "terraform_tools", terraform_tools) + if vpc_whitelists is not None: + pulumi.set(__self__, "vpc_whitelists", vpc_whitelists) + + @_builtins.property + @pulumi.getter + def apis(self) -> pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]]: + """ + The list of APIs to be included in the API MCP Server. See `apis` below. + """ + return pulumi.get(self, "apis") + + @apis.setter + def apis(self, value: pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]]): + pulumi.set(self, "apis", value) + + @_builtins.property + @pulumi.getter(name="additionalApiDescriptions") + def additional_api_descriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]]: + """ + Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + """ + return pulumi.get(self, "additional_api_descriptions") + + @additional_api_descriptions.setter + def additional_api_descriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]]): + pulumi.set(self, "additional_api_descriptions", value) + + @_builtins.property + @pulumi.getter(name="assumeRoleExtraPolicy") + def assume_role_extra_policy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + """ + return pulumi.get(self, "assume_role_extra_policy") + + @assume_role_extra_policy.setter + def assume_role_extra_policy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "assume_role_extra_policy", value) + + @_builtins.property + @pulumi.getter(name="assumeRoleName") + def assume_role_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + """ + return pulumi.get(self, "assume_role_name") + + @assume_role_name.setter + def assume_role_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "assume_role_name", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the API MCP service. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="enableAssumeRole") + def enable_assume_role(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + """ + return pulumi.get(self, "enable_assume_role") + + @enable_assume_role.setter + def enable_assume_role(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_assume_role", value) + + @_builtins.property + @pulumi.getter(name="enableCustomVpcWhitelist") + def enable_custom_vpc_whitelist(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + """ + return pulumi.get(self, "enable_custom_vpc_whitelist") + + @enable_custom_vpc_whitelist.setter + def enable_custom_vpc_whitelist(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_custom_vpc_whitelist", value) + + @_builtins.property + @pulumi.getter + def instructions(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + """ + return pulumi.get(self, "instructions") + + @instructions.setter + def instructions(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instructions", value) + + @_builtins.property + @pulumi.getter + def language(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + """ + return pulumi.get(self, "language") + + @language.setter + def language(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "language", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="oauthClientId") + def oauth_client_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + """ + return pulumi.get(self, "oauth_client_id") + + @oauth_client_id.setter + def oauth_client_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "oauth_client_id", value) + + @_builtins.property + @pulumi.getter + def prompts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]]: + """ + List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + """ + return pulumi.get(self, "prompts") + + @prompts.setter + def prompts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]]): + pulumi.set(self, "prompts", value) + + @_builtins.property + @pulumi.getter(name="publicAccess") + def public_access(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + """ + return pulumi.get(self, "public_access") + + @public_access.setter + def public_access(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "public_access", value) + + @_builtins.property + @pulumi.getter(name="systemTools") + def system_tools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Enabled system services. + """ + return pulumi.get(self, "system_tools") + + @system_tools.setter + def system_tools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "system_tools", value) + + @_builtins.property + @pulumi.getter(name="terraformTools") + def terraform_tools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]]: + return pulumi.get(self, "terraform_tools") + + @terraform_tools.setter + def terraform_tools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]]): + pulumi.set(self, "terraform_tools", value) + + @_builtins.property + @pulumi.getter(name="vpcWhitelists") + def vpc_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + return pulumi.get(self, "vpc_whitelists") + + @vpc_whitelists.setter + def vpc_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vpc_whitelists", value) + + +@pulumi.input_type +class _OpenApiExplorerApiMcpServerState: + def __init__(__self__, *, + additional_api_descriptions: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]] = None, + apis: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]]] = None, + assume_role_extra_policy: Optional[pulumi.Input[_builtins.str]] = None, + assume_role_name: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + enable_assume_role: Optional[pulumi.Input[_builtins.bool]] = None, + enable_custom_vpc_whitelist: Optional[pulumi.Input[_builtins.bool]] = None, + instructions: Optional[pulumi.Input[_builtins.str]] = None, + language: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None, + prompts: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]] = None, + public_access: Optional[pulumi.Input[_builtins.str]] = None, + system_tools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + terraform_tools: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]] = None, + vpc_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + Input properties used for looking up and filtering OpenApiExplorerApiMcpServer resources. + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]] additional_api_descriptions: Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]] apis: The list of APIs to be included in the API MCP Server. See `apis` below. + :param pulumi.Input[_builtins.str] assume_role_extra_policy: When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + :param pulumi.Input[_builtins.str] assume_role_name: The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + :param pulumi.Input[_builtins.str] create_time: MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + :param pulumi.Input[_builtins.str] description: Description of the API MCP service. + :param pulumi.Input[_builtins.bool] enable_assume_role: Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + :param pulumi.Input[_builtins.bool] enable_custom_vpc_whitelist: Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + :param pulumi.Input[_builtins.str] instructions: MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + :param pulumi.Input[_builtins.str] language: Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + :param pulumi.Input[_builtins.str] name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param pulumi.Input[_builtins.str] oauth_client_id: The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + :param pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]] prompts: List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + :param pulumi.Input[_builtins.str] public_access: Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] system_tools: Enabled system services. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vpc_whitelists: When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + if additional_api_descriptions is not None: + pulumi.set(__self__, "additional_api_descriptions", additional_api_descriptions) + if apis is not None: + pulumi.set(__self__, "apis", apis) + if assume_role_extra_policy is not None: + pulumi.set(__self__, "assume_role_extra_policy", assume_role_extra_policy) + if assume_role_name is not None: + pulumi.set(__self__, "assume_role_name", assume_role_name) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if enable_assume_role is not None: + pulumi.set(__self__, "enable_assume_role", enable_assume_role) + if enable_custom_vpc_whitelist is not None: + pulumi.set(__self__, "enable_custom_vpc_whitelist", enable_custom_vpc_whitelist) + if instructions is not None: + pulumi.set(__self__, "instructions", instructions) + if language is not None: + pulumi.set(__self__, "language", language) + if name is not None: + pulumi.set(__self__, "name", name) + if oauth_client_id is not None: + pulumi.set(__self__, "oauth_client_id", oauth_client_id) + if prompts is not None: + pulumi.set(__self__, "prompts", prompts) + if public_access is not None: + pulumi.set(__self__, "public_access", public_access) + if system_tools is not None: + pulumi.set(__self__, "system_tools", system_tools) + if terraform_tools is not None: + pulumi.set(__self__, "terraform_tools", terraform_tools) + if vpc_whitelists is not None: + pulumi.set(__self__, "vpc_whitelists", vpc_whitelists) + + @_builtins.property + @pulumi.getter(name="additionalApiDescriptions") + def additional_api_descriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]]: + """ + Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + """ + return pulumi.get(self, "additional_api_descriptions") + + @additional_api_descriptions.setter + def additional_api_descriptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs']]]]): + pulumi.set(self, "additional_api_descriptions", value) + + @_builtins.property + @pulumi.getter + def apis(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]]]: + """ + The list of APIs to be included in the API MCP Server. See `apis` below. + """ + return pulumi.get(self, "apis") + + @apis.setter + def apis(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerApiArgs']]]]): + pulumi.set(self, "apis", value) + + @_builtins.property + @pulumi.getter(name="assumeRoleExtraPolicy") + def assume_role_extra_policy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + """ + return pulumi.get(self, "assume_role_extra_policy") + + @assume_role_extra_policy.setter + def assume_role_extra_policy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "assume_role_extra_policy", value) + + @_builtins.property + @pulumi.getter(name="assumeRoleName") + def assume_role_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + """ + return pulumi.get(self, "assume_role_name") + + @assume_role_name.setter + def assume_role_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "assume_role_name", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "create_time", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the API MCP service. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="enableAssumeRole") + def enable_assume_role(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + """ + return pulumi.get(self, "enable_assume_role") + + @enable_assume_role.setter + def enable_assume_role(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_assume_role", value) + + @_builtins.property + @pulumi.getter(name="enableCustomVpcWhitelist") + def enable_custom_vpc_whitelist(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + """ + return pulumi.get(self, "enable_custom_vpc_whitelist") + + @enable_custom_vpc_whitelist.setter + def enable_custom_vpc_whitelist(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_custom_vpc_whitelist", value) + + @_builtins.property + @pulumi.getter + def instructions(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + """ + return pulumi.get(self, "instructions") + + @instructions.setter + def instructions(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instructions", value) + + @_builtins.property + @pulumi.getter + def language(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + """ + return pulumi.get(self, "language") + + @language.setter + def language(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "language", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="oauthClientId") + def oauth_client_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + """ + return pulumi.get(self, "oauth_client_id") + + @oauth_client_id.setter + def oauth_client_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "oauth_client_id", value) + + @_builtins.property + @pulumi.getter + def prompts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]]: + """ + List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + """ + return pulumi.get(self, "prompts") + + @prompts.setter + def prompts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerPromptArgs']]]]): + pulumi.set(self, "prompts", value) + + @_builtins.property + @pulumi.getter(name="publicAccess") + def public_access(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + """ + return pulumi.get(self, "public_access") + + @public_access.setter + def public_access(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "public_access", value) + + @_builtins.property + @pulumi.getter(name="systemTools") + def system_tools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Enabled system services. + """ + return pulumi.get(self, "system_tools") + + @system_tools.setter + def system_tools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "system_tools", value) + + @_builtins.property + @pulumi.getter(name="terraformTools") + def terraform_tools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]]: + return pulumi.get(self, "terraform_tools") + + @terraform_tools.setter + def terraform_tools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OpenApiExplorerApiMcpServerTerraformToolArgs']]]]): + pulumi.set(self, "terraform_tools", value) + + @_builtins.property + @pulumi.getter(name="vpcWhitelists") + def vpc_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + return pulumi.get(self, "vpc_whitelists") + + @vpc_whitelists.setter + def vpc_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vpc_whitelists", value) + + +@pulumi.type_token("alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer") +class OpenApiExplorerApiMcpServer(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_api_descriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict']]]]] = None, + apis: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerApiArgs', 'OpenApiExplorerApiMcpServerApiArgsDict']]]]] = None, + assume_role_extra_policy: Optional[pulumi.Input[_builtins.str]] = None, + assume_role_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + enable_assume_role: Optional[pulumi.Input[_builtins.bool]] = None, + enable_custom_vpc_whitelist: Optional[pulumi.Input[_builtins.bool]] = None, + instructions: Optional[pulumi.Input[_builtins.str]] = None, + language: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None, + prompts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerPromptArgs', 'OpenApiExplorerApiMcpServerPromptArgsDict']]]]] = None, + public_access: Optional[pulumi.Input[_builtins.str]] = None, + system_tools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + terraform_tools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerTerraformToolArgs', 'OpenApiExplorerApiMcpServerTerraformToolArgsDict']]]]] = None, + vpc_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + __props__=None): + """ + Provides a Open Api Explorer Api Mcp Server resource. + + API MCP Server. + + For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import json + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.OpenApiExplorerApiMcpServer("default", + system_tools=["FetchRamActionDetails"], + description="Create", + prompts=[ + { + "description": "Obtain user customization information description", + "content": "Prompt body,{{name}}", + "arguments": [{ + "description": "Name information", + "required": True, + "name": "name", + }], + "name": "Obtain user customization information", + }, + { + "description": "Obtain user customization information description", + "content": "Prompt text, {{name }}, {{age }}, {{description}}", + "arguments": [ + { + "description": "Name information", + "required": True, + "name": "name", + }, + { + "description": "Age information", + "required": True, + "name": "age", + }, + { + "description": "Description Information", + "required": True, + "name": "description", + }, + ], + "name": "Obtain user customization information 1", + }, + ], + oauth_client_id="123456", + apis=[ + { + "api_version": "2014-05-26", + "product": "Ecs", + "selectors": [ + "DescribeAvailableResource", + "DescribeRegions", + "DescribeZones", + ], + }, + { + "api_version": "2017-03-21", + "product": "vod", + "selectors": ["CreateUploadVideo"], + }, + { + "api_version": "2014-05-15", + "product": "Slb", + "selectors": ["DescribeAvailableResource"], + }, + ], + instructions="Describes the role of the entire MCP Server", + additional_api_descriptions=[ + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeAvailableResource", + "const_parameters": [ + { + "value": "cn-hangzhou", + "key": "x_mcp_region_id", + }, + { + "value": "B1", + "key": "a1", + }, + { + "value": "b2", + "key": "a2", + }, + ], + "api_override_json": json.dumps({ + "summary": "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ", + }), + "product": "Ecs", + "execute_cli_command": False, + }, + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeRegions", + "product": "Ecs", + "execute_cli_command": True, + }, + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeZones", + "product": "Ecs", + "execute_cli_command": True, + }, + ], + vpc_whitelists=[ + "vpc-examplea", + "vpc-exampleb", + "vpc-examplec", + ], + name="my-name", + language="ZH_CN", + enable_assume_role=True, + assume_role_extra_policy=json.dumps({ + "Version": "1", + "Statement": [{ + "Effect": "Allow", + "Action": [ + "ecs:Describe*", + "vpc:Describe*", + "vpc:List*", + ], + "Resource": "*", + }], + }), + terraform_tools=[ + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample", + }, + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample2", + }, + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample3", + }, + ], + assume_role_name="default-role", + public_access="on", + enable_custom_vpc_whitelist=True) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Open Api Explorer Api Mcp Server can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict']]]] additional_api_descriptions: Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + :param pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerApiArgs', 'OpenApiExplorerApiMcpServerApiArgsDict']]]] apis: The list of APIs to be included in the API MCP Server. See `apis` below. + :param pulumi.Input[_builtins.str] assume_role_extra_policy: When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + :param pulumi.Input[_builtins.str] assume_role_name: The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + :param pulumi.Input[_builtins.str] description: Description of the API MCP service. + :param pulumi.Input[_builtins.bool] enable_assume_role: Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + :param pulumi.Input[_builtins.bool] enable_custom_vpc_whitelist: Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + :param pulumi.Input[_builtins.str] instructions: MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + :param pulumi.Input[_builtins.str] language: Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + :param pulumi.Input[_builtins.str] name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param pulumi.Input[_builtins.str] oauth_client_id: The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + :param pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerPromptArgs', 'OpenApiExplorerApiMcpServerPromptArgsDict']]]] prompts: List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + :param pulumi.Input[_builtins.str] public_access: Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] system_tools: Enabled system services. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vpc_whitelists: When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OpenApiExplorerApiMcpServerArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Open Api Explorer Api Mcp Server resource. + + API MCP Server. + + For information about Open Api Explorer Api Mcp Server and how to use it, see [What is Api Mcp Server](https://next.api.alibabacloud.com/document/OpenAPIExplorer/2024-11-30/CreateApiMcpServer). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import json + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.OpenApiExplorerApiMcpServer("default", + system_tools=["FetchRamActionDetails"], + description="Create", + prompts=[ + { + "description": "Obtain user customization information description", + "content": "Prompt body,{{name}}", + "arguments": [{ + "description": "Name information", + "required": True, + "name": "name", + }], + "name": "Obtain user customization information", + }, + { + "description": "Obtain user customization information description", + "content": "Prompt text, {{name }}, {{age }}, {{description}}", + "arguments": [ + { + "description": "Name information", + "required": True, + "name": "name", + }, + { + "description": "Age information", + "required": True, + "name": "age", + }, + { + "description": "Description Information", + "required": True, + "name": "description", + }, + ], + "name": "Obtain user customization information 1", + }, + ], + oauth_client_id="123456", + apis=[ + { + "api_version": "2014-05-26", + "product": "Ecs", + "selectors": [ + "DescribeAvailableResource", + "DescribeRegions", + "DescribeZones", + ], + }, + { + "api_version": "2017-03-21", + "product": "vod", + "selectors": ["CreateUploadVideo"], + }, + { + "api_version": "2014-05-15", + "product": "Slb", + "selectors": ["DescribeAvailableResource"], + }, + ], + instructions="Describes the role of the entire MCP Server", + additional_api_descriptions=[ + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeAvailableResource", + "const_parameters": [ + { + "value": "cn-hangzhou", + "key": "x_mcp_region_id", + }, + { + "value": "B1", + "key": "a1", + }, + { + "value": "b2", + "key": "a2", + }, + ], + "api_override_json": json.dumps({ + "summary": "This operation supports querying the list of instances based on different request conditions and associating the query instance details. ", + }), + "product": "Ecs", + "execute_cli_command": False, + }, + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeRegions", + "product": "Ecs", + "execute_cli_command": True, + }, + { + "api_version": "2014-05-26", + "enable_output_schema": True, + "api_name": "DescribeZones", + "product": "Ecs", + "execute_cli_command": True, + }, + ], + vpc_whitelists=[ + "vpc-examplea", + "vpc-exampleb", + "vpc-examplec", + ], + name="my-name", + language="ZH_CN", + enable_assume_role=True, + assume_role_extra_policy=json.dumps({ + "Version": "1", + "Statement": [{ + "Effect": "Allow", + "Action": [ + "ecs:Describe*", + "vpc:Describe*", + "vpc:List*", + ], + "Resource": "*", + }], + }), + terraform_tools=[ + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample", + }, + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample2", + }, + { + "description": "Terraform as tool example", + "async_": True, + "destroy_policy": "NEVER", + "code": \"\"\"variable \\"name\\" { + default = \\"terraform-example\\" + } + + provider \\"alicloud\\" { + region = \\"cn-beijing\\" + } + + resource \\"alicloud_vpc\\" \\"default\\" { + ipv6_isp = \\"BGP\\" + description = \\"example\\" + cidr_block = \\"10.0.0.0/8\\" + vpc_name = var.name + enable_ipv6 = true + } + \"\"\", + "name": "tfexample3", + }, + ], + assume_role_name="default-role", + public_access="on", + enable_custom_vpc_whitelist=True) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Open Api Explorer Api Mcp Server can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer example + ``` + + :param str resource_name: The name of the resource. + :param OpenApiExplorerApiMcpServerArgs 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(OpenApiExplorerApiMcpServerArgs, 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, + additional_api_descriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict']]]]] = None, + apis: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerApiArgs', 'OpenApiExplorerApiMcpServerApiArgsDict']]]]] = None, + assume_role_extra_policy: Optional[pulumi.Input[_builtins.str]] = None, + assume_role_name: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + enable_assume_role: Optional[pulumi.Input[_builtins.bool]] = None, + enable_custom_vpc_whitelist: Optional[pulumi.Input[_builtins.bool]] = None, + instructions: Optional[pulumi.Input[_builtins.str]] = None, + language: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None, + prompts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerPromptArgs', 'OpenApiExplorerApiMcpServerPromptArgsDict']]]]] = None, + public_access: Optional[pulumi.Input[_builtins.str]] = None, + system_tools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + terraform_tools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerTerraformToolArgs', 'OpenApiExplorerApiMcpServerTerraformToolArgsDict']]]]] = None, + vpc_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.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__ = OpenApiExplorerApiMcpServerArgs.__new__(OpenApiExplorerApiMcpServerArgs) + + __props__.__dict__["additional_api_descriptions"] = additional_api_descriptions + if apis is None and not opts.urn: + raise TypeError("Missing required property 'apis'") + __props__.__dict__["apis"] = apis + __props__.__dict__["assume_role_extra_policy"] = assume_role_extra_policy + __props__.__dict__["assume_role_name"] = assume_role_name + __props__.__dict__["description"] = description + __props__.__dict__["enable_assume_role"] = enable_assume_role + __props__.__dict__["enable_custom_vpc_whitelist"] = enable_custom_vpc_whitelist + __props__.__dict__["instructions"] = instructions + __props__.__dict__["language"] = language + __props__.__dict__["name"] = name + __props__.__dict__["oauth_client_id"] = oauth_client_id + __props__.__dict__["prompts"] = prompts + __props__.__dict__["public_access"] = public_access + __props__.__dict__["system_tools"] = system_tools + __props__.__dict__["terraform_tools"] = terraform_tools + __props__.__dict__["vpc_whitelists"] = vpc_whitelists + __props__.__dict__["create_time"] = None + super(OpenApiExplorerApiMcpServer, __self__).__init__( + 'alicloud:index/openApiExplorerApiMcpServer:OpenApiExplorerApiMcpServer', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + additional_api_descriptions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict']]]]] = None, + apis: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerApiArgs', 'OpenApiExplorerApiMcpServerApiArgsDict']]]]] = None, + assume_role_extra_policy: Optional[pulumi.Input[_builtins.str]] = None, + assume_role_name: Optional[pulumi.Input[_builtins.str]] = None, + create_time: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + enable_assume_role: Optional[pulumi.Input[_builtins.bool]] = None, + enable_custom_vpc_whitelist: Optional[pulumi.Input[_builtins.bool]] = None, + instructions: Optional[pulumi.Input[_builtins.str]] = None, + language: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + oauth_client_id: Optional[pulumi.Input[_builtins.str]] = None, + prompts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerPromptArgs', 'OpenApiExplorerApiMcpServerPromptArgsDict']]]]] = None, + public_access: Optional[pulumi.Input[_builtins.str]] = None, + system_tools: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + terraform_tools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerTerraformToolArgs', 'OpenApiExplorerApiMcpServerTerraformToolArgsDict']]]]] = None, + vpc_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'OpenApiExplorerApiMcpServer': + """ + Get an existing OpenApiExplorerApiMcpServer 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[Union['OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgs', 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionArgsDict']]]] additional_api_descriptions: Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + :param pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerApiArgs', 'OpenApiExplorerApiMcpServerApiArgsDict']]]] apis: The list of APIs to be included in the API MCP Server. See `apis` below. + :param pulumi.Input[_builtins.str] assume_role_extra_policy: When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + :param pulumi.Input[_builtins.str] assume_role_name: The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + :param pulumi.Input[_builtins.str] create_time: MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + :param pulumi.Input[_builtins.str] description: Description of the API MCP service. + :param pulumi.Input[_builtins.bool] enable_assume_role: Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + :param pulumi.Input[_builtins.bool] enable_custom_vpc_whitelist: Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + :param pulumi.Input[_builtins.str] instructions: MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + :param pulumi.Input[_builtins.str] language: Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + :param pulumi.Input[_builtins.str] name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param pulumi.Input[_builtins.str] oauth_client_id: The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + :param pulumi.Input[Sequence[pulumi.Input[Union['OpenApiExplorerApiMcpServerPromptArgs', 'OpenApiExplorerApiMcpServerPromptArgsDict']]]] prompts: List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + :param pulumi.Input[_builtins.str] public_access: Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] system_tools: Enabled system services. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] vpc_whitelists: When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OpenApiExplorerApiMcpServerState.__new__(_OpenApiExplorerApiMcpServerState) + + __props__.__dict__["additional_api_descriptions"] = additional_api_descriptions + __props__.__dict__["apis"] = apis + __props__.__dict__["assume_role_extra_policy"] = assume_role_extra_policy + __props__.__dict__["assume_role_name"] = assume_role_name + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["enable_assume_role"] = enable_assume_role + __props__.__dict__["enable_custom_vpc_whitelist"] = enable_custom_vpc_whitelist + __props__.__dict__["instructions"] = instructions + __props__.__dict__["language"] = language + __props__.__dict__["name"] = name + __props__.__dict__["oauth_client_id"] = oauth_client_id + __props__.__dict__["prompts"] = prompts + __props__.__dict__["public_access"] = public_access + __props__.__dict__["system_tools"] = system_tools + __props__.__dict__["terraform_tools"] = terraform_tools + __props__.__dict__["vpc_whitelists"] = vpc_whitelists + return OpenApiExplorerApiMcpServer(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="additionalApiDescriptions") + def additional_api_descriptions(self) -> pulumi.Output[Optional[Sequence['outputs.OpenApiExplorerApiMcpServerAdditionalApiDescription']]]: + """ + Additional OpenAPI description information that can override the default behavior of APIs, including: + - API name + - Modification or removal of API parameter names + - Whether to exclude the API from the output API response structure definition + - Whether to return a CLI execution command instead of directly executing the API + - Configuration of constant values for API parameters; parameters set as constants will not have their definitions returned in the tool list See `additional_api_descriptions` below. + """ + return pulumi.get(self, "additional_api_descriptions") + + @_builtins.property + @pulumi.getter + def apis(self) -> pulumi.Output[Sequence['outputs.OpenApiExplorerApiMcpServerApi']]: + """ + The list of APIs to be included in the API MCP Server. See `apis` below. + """ + return pulumi.get(self, "apis") + + @_builtins.property + @pulumi.getter(name="assumeRoleExtraPolicy") + def assume_role_extra_policy(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + When multi-account access is enabled, this field defines an additional policy for role assumption. If specified, this policy overrides the original permissions defined for the role, and the assumed role’s permissions are determined solely by this policy. + """ + return pulumi.get(self, "assume_role_extra_policy") + + @_builtins.property + @pulumi.getter(name="assumeRoleName") + def assume_role_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The name of the RAM role in the target account to assume when enabling multi-account access for cross-account operations. + """ + return pulumi.get(self, "assume_role_name") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + MCP Server creation time in China Standard Time (CST), for example, 2025-12-04 19:46:52. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Description of the API MCP service. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="enableAssumeRole") + def enable_assume_role(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Specifies whether to enable multi-account access. When enabled, the MCP Server exposes the x_assume_account_id parameter by default. When this parameter is provided, the MCP Server switches to the specified account to perform operations. + """ + return pulumi.get(self, "enable_assume_role") + + @_builtins.property + @pulumi.getter(name="enableCustomVpcWhitelist") + def enable_custom_vpc_whitelist(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to enable a custom VPC whitelist. If disabled, the configuration follows the account-level setting. + """ + return pulumi.get(self, "enable_custom_vpc_whitelist") + + @_builtins.property + @pulumi.getter + def instructions(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + MCP instructions that guide the large language model on how to use this MCP. The client must support the Instructions field defined in the MCP standard protocol. + """ + return pulumi.get(self, "instructions") + + @_builtins.property + @pulumi.getter + def language(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Documentation language for the API MCP service. You can select either Chinese or English API documentation. The choice of language may affect the AI's response quality due to differences in prompt wording. Supported values are EN_US and ZH_CN. + """ + return pulumi.get(self, "language") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="oauthClientId") + def oauth_client_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The custom OAuth Client ID when selecting a custom OAuth configuration. + `Supported only for Web/Native applications, and the OAuth scope must include /acs/mcp-server.` + """ + return pulumi.get(self, "oauth_client_id") + + @_builtins.property + @pulumi.getter + def prompts(self) -> pulumi.Output[Optional[Sequence['outputs.OpenApiExplorerApiMcpServerPrompt']]]: + """ + List of prompts supported by the MCP Server. For the MCP protocol, clients retrieve this list through the prompts/list RPC call. See `prompts` below. + """ + return pulumi.get(self, "prompts") + + @_builtins.property + @pulumi.getter(name="publicAccess") + def public_access(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Whether to enable public network access. This setting takes precedence over the account-level configuration and supports the following options: + - on: enables public network access; + - off: disables public network access; + - follow: inherits the account-level configuration. + """ + return pulumi.get(self, "public_access") + + @_builtins.property + @pulumi.getter(name="systemTools") + def system_tools(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + Enabled system services. + """ + return pulumi.get(self, "system_tools") + + @_builtins.property + @pulumi.getter(name="terraformTools") + def terraform_tools(self) -> pulumi.Output[Optional[Sequence['outputs.OpenApiExplorerApiMcpServerTerraformTool']]]: + return pulumi.get(self, "terraform_tools") + + @_builtins.property + @pulumi.getter(name="vpcWhitelists") + def vpc_whitelists(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + When public network access is disabled, this field specifies the VPC whitelist that restricts source VPCs. If not set or left empty, no restriction is applied to the source. + """ + return pulumi.get(self, "vpc_whitelists") + diff --git a/sdk/python/pulumi_alicloud/opensearch/app_group.py b/sdk/python/pulumi_alicloud/opensearch/app_group.py index 605f541b37..20b9adf495 100644 --- a/sdk/python/pulumi_alicloud/opensearch/app_group.py +++ b/sdk/python/pulumi_alicloud/opensearch/app_group.py @@ -396,6 +396,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Open Search App Group can be imported using the id, e.g. @@ -452,6 +454,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Open Search App Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/_inputs.py b/sdk/python/pulumi_alicloud/oss/_inputs.py index 63fa18693b..e07c8a3c3d 100644 --- a/sdk/python/pulumi_alicloud/oss/_inputs.py +++ b/sdk/python/pulumi_alicloud/oss/_inputs.py @@ -27,6 +27,8 @@ 'BucketCorsCorsRuleArgsDict', 'BucketCorsRuleArgs', 'BucketCorsRuleArgsDict', + 'BucketHttpsConfigCipherSuitArgs', + 'BucketHttpsConfigCipherSuitArgsDict', 'BucketLifecycleRuleArgs', 'BucketLifecycleRuleArgsDict', 'BucketLifecycleRuleAbortMultipartUploadArgs', @@ -618,6 +620,110 @@ def max_age_seconds(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "max_age_seconds", value) +if not MYPY: + class BucketHttpsConfigCipherSuitArgsDict(TypedDict): + custom_cipher_suites: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + This field is used to configure custom encryption algorithm suites for TLS 1.2. + """ + enable: NotRequired[pulumi.Input[_builtins.bool]] + """ + Configures TLS encryption algorithm suites. Valid values: + true: strong encryption algorithm suites or custom encryption algorithm suites. + false: all encryption algorithm suites (default). + """ + strong_cipher_suite: NotRequired[pulumi.Input[_builtins.bool]] + """ + Specifies whether to use strong encryption algorithm suites. Valid values: + true: uses strong encryption algorithm suites. + false: uses custom encryption algorithm suites. + """ + tls13_custom_cipher_suites: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + """ +elif False: + BucketHttpsConfigCipherSuitArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BucketHttpsConfigCipherSuitArgs: + def __init__(__self__, *, + custom_cipher_suites: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + enable: Optional[pulumi.Input[_builtins.bool]] = None, + strong_cipher_suite: Optional[pulumi.Input[_builtins.bool]] = None, + tls13_custom_cipher_suites: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_cipher_suites: This field is used to configure custom encryption algorithm suites for TLS 1.2. + :param pulumi.Input[_builtins.bool] enable: Configures TLS encryption algorithm suites. Valid values: + true: strong encryption algorithm suites or custom encryption algorithm suites. + false: all encryption algorithm suites (default). + :param pulumi.Input[_builtins.bool] strong_cipher_suite: Specifies whether to use strong encryption algorithm suites. Valid values: + true: uses strong encryption algorithm suites. + false: uses custom encryption algorithm suites. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tls13_custom_cipher_suites: Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + """ + if custom_cipher_suites is not None: + pulumi.set(__self__, "custom_cipher_suites", custom_cipher_suites) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if strong_cipher_suite is not None: + pulumi.set(__self__, "strong_cipher_suite", strong_cipher_suite) + if tls13_custom_cipher_suites is not None: + pulumi.set(__self__, "tls13_custom_cipher_suites", tls13_custom_cipher_suites) + + @_builtins.property + @pulumi.getter(name="customCipherSuites") + def custom_cipher_suites(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + This field is used to configure custom encryption algorithm suites for TLS 1.2. + """ + return pulumi.get(self, "custom_cipher_suites") + + @custom_cipher_suites.setter + def custom_cipher_suites(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "custom_cipher_suites", value) + + @_builtins.property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Configures TLS encryption algorithm suites. Valid values: + true: strong encryption algorithm suites or custom encryption algorithm suites. + false: all encryption algorithm suites (default). + """ + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable", value) + + @_builtins.property + @pulumi.getter(name="strongCipherSuite") + def strong_cipher_suite(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to use strong encryption algorithm suites. Valid values: + true: uses strong encryption algorithm suites. + false: uses custom encryption algorithm suites. + """ + return pulumi.get(self, "strong_cipher_suite") + + @strong_cipher_suite.setter + def strong_cipher_suite(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "strong_cipher_suite", value) + + @_builtins.property + @pulumi.getter(name="tls13CustomCipherSuites") + def tls13_custom_cipher_suites(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + """ + return pulumi.get(self, "tls13_custom_cipher_suites") + + @tls13_custom_cipher_suites.setter + def tls13_custom_cipher_suites(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "tls13_custom_cipher_suites", value) + + if not MYPY: class BucketLifecycleRuleArgsDict(TypedDict): enabled: pulumi.Input[_builtins.bool] diff --git a/sdk/python/pulumi_alicloud/oss/access_point.py b/sdk/python/pulumi_alicloud/oss/access_point.py index 198235ec0c..81bd3cda6f 100644 --- a/sdk/python/pulumi_alicloud/oss/access_point.py +++ b/sdk/python/pulumi_alicloud/oss/access_point.py @@ -261,6 +261,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Access Point can be imported using the id, e.g. @@ -319,6 +321,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Access Point can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/account_public_access_block.py b/sdk/python/pulumi_alicloud/oss/account_public_access_block.py index e4e6c0452c..1f76b86f6e 100644 --- a/sdk/python/pulumi_alicloud/oss/account_public_access_block.py +++ b/sdk/python/pulumi_alicloud/oss/account_public_access_block.py @@ -93,6 +93,8 @@ def __init__(__self__, default = alicloud.oss.AccountPublicAccessBlock("default", block_public_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Account Public Access Block can be imported using the id, e.g. @@ -133,6 +135,8 @@ def __init__(__self__, default = alicloud.oss.AccountPublicAccessBlock("default", block_public_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Account Public Access Block can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket.py b/sdk/python/pulumi_alicloud/oss/bucket.py index e3305b9657..988881280d 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket.py +++ b/sdk/python/pulumi_alicloud/oss/bucket.py @@ -1164,6 +1164,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS bucket can be imported using the bucket name, e.g. @@ -1607,6 +1609,8 @@ def __init__(__self__, resource_group_id=default.groups[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS bucket can be imported using the bucket name, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_cname.py b/sdk/python/pulumi_alicloud/oss/bucket_cname.py index b7a5e14d51..fff40a4e00 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_cname.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_cname.py @@ -294,6 +294,8 @@ def __init__(__self__, domain=defaultn_hqm5p.domain_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Cname can be imported using the id, e.g. @@ -358,6 +360,8 @@ def __init__(__self__, domain=defaultn_hqm5p.domain_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Cname can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_cors.py b/sdk/python/pulumi_alicloud/oss/bucket_cors.py index 3041aed133..6286e287eb 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_cors.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_cors.py @@ -177,6 +177,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Cors can be imported using the id, e.g. @@ -236,6 +238,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Cors can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_data_redundancy_transition.py b/sdk/python/pulumi_alicloud/oss/bucket_data_redundancy_transition.py index 2983788fd5..abfb1f03b1 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_data_redundancy_transition.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_data_redundancy_transition.py @@ -148,6 +148,8 @@ def __init__(__self__, default_bucket_data_redundancy_transition = alicloud.oss.BucketDataRedundancyTransition("default", bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Data Redundancy Transition can be imported using the id, e.g. @@ -195,6 +197,8 @@ def __init__(__self__, default_bucket_data_redundancy_transition = alicloud.oss.BucketDataRedundancyTransition("default", bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Data Redundancy Transition can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_https_config.py b/sdk/python/pulumi_alicloud/oss/bucket_https_config.py index 87a9c14c4d..39ef3b42b7 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_https_config.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_https_config.py @@ -13,6 +13,8 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['BucketHttpsConfigArgs', 'BucketHttpsConfig'] @@ -21,15 +23,19 @@ class BucketHttpsConfigArgs: def __init__(__self__, *, bucket: pulumi.Input[_builtins.str], enable: pulumi.Input[_builtins.bool], + cipher_suit: Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']] = None, tls_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a BucketHttpsConfig resource. - :param pulumi.Input[_builtins.str] bucket: The name of the bucket. + :param pulumi.Input[_builtins.str] bucket: The name of the bucket :param pulumi.Input[_builtins.bool] enable: Specifies whether to enable TLS version management for the bucket. Valid values: true, false. + :param pulumi.Input['BucketHttpsConfigCipherSuitArgs'] cipher_suit: TLS encryption algorithm suite configuration See `cipher_suit` below. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tls_versions: Specifies the TLS versions allowed to access this buckets. """ pulumi.set(__self__, "bucket", bucket) pulumi.set(__self__, "enable", enable) + if cipher_suit is not None: + pulumi.set(__self__, "cipher_suit", cipher_suit) if tls_versions is not None: pulumi.set(__self__, "tls_versions", tls_versions) @@ -37,7 +43,7 @@ def __init__(__self__, *, @pulumi.getter def bucket(self) -> pulumi.Input[_builtins.str]: """ - The name of the bucket. + The name of the bucket """ return pulumi.get(self, "bucket") @@ -57,6 +63,18 @@ def enable(self) -> pulumi.Input[_builtins.bool]: def enable(self, value: pulumi.Input[_builtins.bool]): pulumi.set(self, "enable", value) + @_builtins.property + @pulumi.getter(name="cipherSuit") + def cipher_suit(self) -> Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']]: + """ + TLS encryption algorithm suite configuration See `cipher_suit` below. + """ + return pulumi.get(self, "cipher_suit") + + @cipher_suit.setter + def cipher_suit(self, value: Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']]): + pulumi.set(self, "cipher_suit", value) + @_builtins.property @pulumi.getter(name="tlsVersions") def tls_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: @@ -74,16 +92,20 @@ def tls_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_built class _BucketHttpsConfigState: def __init__(__self__, *, bucket: Optional[pulumi.Input[_builtins.str]] = None, + cipher_suit: Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']] = None, enable: Optional[pulumi.Input[_builtins.bool]] = None, tls_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): """ Input properties used for looking up and filtering BucketHttpsConfig resources. - :param pulumi.Input[_builtins.str] bucket: The name of the bucket. + :param pulumi.Input[_builtins.str] bucket: The name of the bucket + :param pulumi.Input['BucketHttpsConfigCipherSuitArgs'] cipher_suit: TLS encryption algorithm suite configuration See `cipher_suit` below. :param pulumi.Input[_builtins.bool] enable: Specifies whether to enable TLS version management for the bucket. Valid values: true, false. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tls_versions: Specifies the TLS versions allowed to access this buckets. """ if bucket is not None: pulumi.set(__self__, "bucket", bucket) + if cipher_suit is not None: + pulumi.set(__self__, "cipher_suit", cipher_suit) if enable is not None: pulumi.set(__self__, "enable", enable) if tls_versions is not None: @@ -93,7 +115,7 @@ def __init__(__self__, *, @pulumi.getter def bucket(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the bucket. + The name of the bucket """ return pulumi.get(self, "bucket") @@ -101,6 +123,18 @@ def bucket(self) -> Optional[pulumi.Input[_builtins.str]]: def bucket(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "bucket", value) + @_builtins.property + @pulumi.getter(name="cipherSuit") + def cipher_suit(self) -> Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']]: + """ + TLS encryption algorithm suite configuration See `cipher_suit` below. + """ + return pulumi.get(self, "cipher_suit") + + @cipher_suit.setter + def cipher_suit(self, value: Optional[pulumi.Input['BucketHttpsConfigCipherSuitArgs']]): + pulumi.set(self, "cipher_suit", value) + @_builtins.property @pulumi.getter def enable(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -133,6 +167,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, bucket: Optional[pulumi.Input[_builtins.str]] = None, + cipher_suit: Optional[pulumi.Input[Union['BucketHttpsConfigCipherSuitArgs', 'BucketHttpsConfigCipherSuitArgsDict']]] = None, enable: Optional[pulumi.Input[_builtins.bool]] = None, tls_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): @@ -147,7 +182,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] bucket: The name of the bucket. + :param pulumi.Input[_builtins.str] bucket: The name of the bucket + :param pulumi.Input[Union['BucketHttpsConfigCipherSuitArgs', 'BucketHttpsConfigCipherSuitArgsDict']] cipher_suit: TLS encryption algorithm suite configuration See `cipher_suit` below. :param pulumi.Input[_builtins.bool] enable: Specifies whether to enable TLS version management for the bucket. Valid values: true, false. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tls_versions: Specifies the TLS versions allowed to access this buckets. """ @@ -182,6 +218,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, bucket: Optional[pulumi.Input[_builtins.str]] = None, + cipher_suit: Optional[pulumi.Input[Union['BucketHttpsConfigCipherSuitArgs', 'BucketHttpsConfigCipherSuitArgsDict']]] = None, enable: Optional[pulumi.Input[_builtins.bool]] = None, tls_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): @@ -196,6 +233,7 @@ def _internal_init(__self__, if bucket is None and not opts.urn: raise TypeError("Missing required property 'bucket'") __props__.__dict__["bucket"] = bucket + __props__.__dict__["cipher_suit"] = cipher_suit if enable is None and not opts.urn: raise TypeError("Missing required property 'enable'") __props__.__dict__["enable"] = enable @@ -211,6 +249,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, bucket: Optional[pulumi.Input[_builtins.str]] = None, + cipher_suit: Optional[pulumi.Input[Union['BucketHttpsConfigCipherSuitArgs', 'BucketHttpsConfigCipherSuitArgsDict']]] = None, enable: Optional[pulumi.Input[_builtins.bool]] = None, tls_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'BucketHttpsConfig': """ @@ -220,7 +259,8 @@ 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[_builtins.str] bucket: The name of the bucket. + :param pulumi.Input[_builtins.str] bucket: The name of the bucket + :param pulumi.Input[Union['BucketHttpsConfigCipherSuitArgs', 'BucketHttpsConfigCipherSuitArgsDict']] cipher_suit: TLS encryption algorithm suite configuration See `cipher_suit` below. :param pulumi.Input[_builtins.bool] enable: Specifies whether to enable TLS version management for the bucket. Valid values: true, false. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tls_versions: Specifies the TLS versions allowed to access this buckets. """ @@ -229,6 +269,7 @@ def get(resource_name: str, __props__ = _BucketHttpsConfigState.__new__(_BucketHttpsConfigState) __props__.__dict__["bucket"] = bucket + __props__.__dict__["cipher_suit"] = cipher_suit __props__.__dict__["enable"] = enable __props__.__dict__["tls_versions"] = tls_versions return BucketHttpsConfig(resource_name, opts=opts, __props__=__props__) @@ -237,10 +278,18 @@ def get(resource_name: str, @pulumi.getter def bucket(self) -> pulumi.Output[_builtins.str]: """ - The name of the bucket. + The name of the bucket """ return pulumi.get(self, "bucket") + @_builtins.property + @pulumi.getter(name="cipherSuit") + def cipher_suit(self) -> pulumi.Output['outputs.BucketHttpsConfigCipherSuit']: + """ + TLS encryption algorithm suite configuration See `cipher_suit` below. + """ + return pulumi.get(self, "cipher_suit") + @_builtins.property @pulumi.getter def enable(self) -> pulumi.Output[_builtins.bool]: diff --git a/sdk/python/pulumi_alicloud/oss/bucket_logging.py b/sdk/python/pulumi_alicloud/oss/bucket_logging.py index a4bcfadd14..64ac0ddd8c 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_logging.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_logging.py @@ -203,6 +203,8 @@ def __init__(__self__, logging_role="example-role") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Logging can be imported using the id, e.g. @@ -258,6 +260,8 @@ def __init__(__self__, logging_role="example-role") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Logging can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_meta_query.py b/sdk/python/pulumi_alicloud/oss/bucket_meta_query.py index fb86d37e9a..78d84ef863 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_meta_query.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_meta_query.py @@ -132,6 +132,8 @@ def __init__(__self__, default_bucket_meta_query = alicloud.oss.BucketMetaQuery("default", bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Meta Query can be imported using the id, e.g. @@ -179,6 +181,8 @@ def __init__(__self__, default_bucket_meta_query = alicloud.oss.BucketMetaQuery("default", bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Meta Query can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_object.py b/sdk/python/pulumi_alicloud/oss/bucket_object.py index a80a341419..46230c45c4 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_object.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_object.py @@ -571,6 +571,8 @@ def __init__(__self__, content="the content that you want to upload.") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] acl: The [canned ACL](https://www.alibabacloud.com/help/doc-detail/52284.htm) to apply. Defaults to "private". @@ -641,6 +643,8 @@ def __init__(__self__, content="the content that you want to upload.") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param BucketObjectArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_policy.py b/sdk/python/pulumi_alicloud/oss/bucket_policy.py index ae8f94ee3d..e9b68ca461 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_policy.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_policy.py @@ -146,6 +146,8 @@ def __init__(__self__, bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Policy can be imported using the id, e.g. @@ -208,6 +210,8 @@ def __init__(__self__, bucket=create_bucket.bucket) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_public_access_block.py b/sdk/python/pulumi_alicloud/oss/bucket_public_access_block.py index 626a35b618..193e2535ad 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_public_access_block.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_public_access_block.py @@ -134,6 +134,8 @@ def __init__(__self__, block_public_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Public Access Block can be imported using the id, e.g. @@ -184,6 +186,8 @@ def __init__(__self__, block_public_access=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Public Access Block can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_referer.py b/sdk/python/pulumi_alicloud/oss/bucket_referer.py index 1abb8c814f..aea8d50270 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_referer.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_referer.py @@ -273,6 +273,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Referer can be imported using the id, e.g. @@ -334,6 +336,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Referer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_replication.py b/sdk/python/pulumi_alicloud/oss/bucket_replication.py index 8db3b244b6..b505d13e74 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_replication.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_replication.py @@ -493,6 +493,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Oss Bucket Replication can be imported using the id, e.g. @@ -612,6 +614,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Oss Bucket Replication can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_server_side_encryption.py b/sdk/python/pulumi_alicloud/oss/bucket_server_side_encryption.py index bdb8c39325..ced4efef2e 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_server_side_encryption.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_server_side_encryption.py @@ -210,6 +210,8 @@ def __init__(__self__, sse_algorithm="KMS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Server Side Encryption can be imported using the id, e.g. @@ -272,6 +274,8 @@ def __init__(__self__, sse_algorithm="KMS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Server Side Encryption can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_style.py b/sdk/python/pulumi_alicloud/oss/bucket_style.py index c4f7268582..bcf9b4bb85 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_style.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_style.py @@ -219,6 +219,8 @@ def __init__(__self__, category="document") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Style can be imported using the id, e.g. @@ -275,6 +277,8 @@ def __init__(__self__, category="document") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Style can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_user_defined_log_fields.py b/sdk/python/pulumi_alicloud/oss/bucket_user_defined_log_fields.py index fa79d12fdc..b05f532326 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_user_defined_log_fields.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_user_defined_log_fields.py @@ -176,6 +176,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket User Defined Log Fields can be imported using the id, e.g. @@ -235,6 +237,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket User Defined Log Fields can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/bucket_website.py b/sdk/python/pulumi_alicloud/oss/bucket_website.py index bf3fc8b859..96df7858ff 100644 --- a/sdk/python/pulumi_alicloud/oss/bucket_website.py +++ b/sdk/python/pulumi_alicloud/oss/bucket_website.py @@ -228,6 +228,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Website can be imported using the id, e.g. @@ -305,6 +307,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OSS Bucket Website can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/oss/outputs.py b/sdk/python/pulumi_alicloud/oss/outputs.py index 85a9464cba..e80eb6664c 100644 --- a/sdk/python/pulumi_alicloud/oss/outputs.py +++ b/sdk/python/pulumi_alicloud/oss/outputs.py @@ -22,6 +22,7 @@ 'BucketCnameCertificate', 'BucketCorsCorsRule', 'BucketCorsRule', + 'BucketHttpsConfigCipherSuit', 'BucketLifecycleRule', 'BucketLifecycleRuleAbortMultipartUpload', 'BucketLifecycleRuleExpiration', @@ -490,6 +491,90 @@ def max_age_seconds(self) -> Optional[_builtins.int]: return pulumi.get(self, "max_age_seconds") +@pulumi.output_type +class BucketHttpsConfigCipherSuit(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customCipherSuites": + suggest = "custom_cipher_suites" + elif key == "strongCipherSuite": + suggest = "strong_cipher_suite" + elif key == "tls13CustomCipherSuites": + suggest = "tls13_custom_cipher_suites" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BucketHttpsConfigCipherSuit. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BucketHttpsConfigCipherSuit.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BucketHttpsConfigCipherSuit.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_cipher_suites: Optional[Sequence[_builtins.str]] = None, + enable: Optional[_builtins.bool] = None, + strong_cipher_suite: Optional[_builtins.bool] = None, + tls13_custom_cipher_suites: Optional[Sequence[_builtins.str]] = None): + """ + :param Sequence[_builtins.str] custom_cipher_suites: This field is used to configure custom encryption algorithm suites for TLS 1.2. + :param _builtins.bool enable: Configures TLS encryption algorithm suites. Valid values: + true: strong encryption algorithm suites or custom encryption algorithm suites. + false: all encryption algorithm suites (default). + :param _builtins.bool strong_cipher_suite: Specifies whether to use strong encryption algorithm suites. Valid values: + true: uses strong encryption algorithm suites. + false: uses custom encryption algorithm suites. + :param Sequence[_builtins.str] tls13_custom_cipher_suites: Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + """ + if custom_cipher_suites is not None: + pulumi.set(__self__, "custom_cipher_suites", custom_cipher_suites) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if strong_cipher_suite is not None: + pulumi.set(__self__, "strong_cipher_suite", strong_cipher_suite) + if tls13_custom_cipher_suites is not None: + pulumi.set(__self__, "tls13_custom_cipher_suites", tls13_custom_cipher_suites) + + @_builtins.property + @pulumi.getter(name="customCipherSuites") + def custom_cipher_suites(self) -> Optional[Sequence[_builtins.str]]: + """ + This field is used to configure custom encryption algorithm suites for TLS 1.2. + """ + return pulumi.get(self, "custom_cipher_suites") + + @_builtins.property + @pulumi.getter + def enable(self) -> Optional[_builtins.bool]: + """ + Configures TLS encryption algorithm suites. Valid values: + true: strong encryption algorithm suites or custom encryption algorithm suites. + false: all encryption algorithm suites (default). + """ + return pulumi.get(self, "enable") + + @_builtins.property + @pulumi.getter(name="strongCipherSuite") + def strong_cipher_suite(self) -> Optional[_builtins.bool]: + """ + Specifies whether to use strong encryption algorithm suites. Valid values: + true: uses strong encryption algorithm suites. + false: uses custom encryption algorithm suites. + """ + return pulumi.get(self, "strong_cipher_suite") + + @_builtins.property + @pulumi.getter(name="tls13CustomCipherSuites") + def tls13_custom_cipher_suites(self) -> Optional[Sequence[_builtins.str]]: + """ + Specifies custom encryption algorithm suites. You can specify multiple suites. This field is used to configure custom encryption algorithm suites for TLS 1.3. + """ + return pulumi.get(self, "tls13_custom_cipher_suites") + + @pulumi.output_type class BucketLifecycleRule(dict): @staticmethod diff --git a/sdk/python/pulumi_alicloud/ots/instance.py b/sdk/python/pulumi_alicloud/ots/instance.py index 5516a34781..68dd77cceb 100644 --- a/sdk/python/pulumi_alicloud/ots/instance.py +++ b/sdk/python/pulumi_alicloud/ots/instance.py @@ -389,6 +389,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS instance can be imported using instance id or name, e.g. @@ -458,6 +460,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS instance can be imported using instance id or name, e.g. diff --git a/sdk/python/pulumi_alicloud/ots/instance_attachment.py b/sdk/python/pulumi_alicloud/ots/instance_attachment.py index b154207ccc..d6e9e60a41 100644 --- a/sdk/python/pulumi_alicloud/ots/instance_attachment.py +++ b/sdk/python/pulumi_alicloud/ots/instance_attachment.py @@ -193,6 +193,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_name: The name of the OTS instance. @@ -247,6 +249,8 @@ def __init__(__self__, vswitch_id=default_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param InstanceAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ots/search_index.py b/sdk/python/pulumi_alicloud/ots/search_index.py index a59cce46a6..bf47a2107e 100644 --- a/sdk/python/pulumi_alicloud/ots/search_index.py +++ b/sdk/python/pulumi_alicloud/ots/search_index.py @@ -372,6 +372,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS search index can be imported using id, e.g. @@ -497,6 +499,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS search index can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/ots/secondary_index.py b/sdk/python/pulumi_alicloud/ots/secondary_index.py index aa7961a529..eaab0d39ec 100644 --- a/sdk/python/pulumi_alicloud/ots/secondary_index.py +++ b/sdk/python/pulumi_alicloud/ots/secondary_index.py @@ -346,6 +346,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS secondary index can be imported using id, e.g. @@ -452,6 +454,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS secondary index can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/ots/table.py b/sdk/python/pulumi_alicloud/ots/table.py index ad30fc8807..7ed4b94dff 100644 --- a/sdk/python/pulumi_alicloud/ots/table.py +++ b/sdk/python/pulumi_alicloud/ots/table.py @@ -499,6 +499,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS table can be imported using id, e.g. @@ -595,6 +597,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS table can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/ots/tunnel.py b/sdk/python/pulumi_alicloud/ots/tunnel.py index 59d0a5e309..4440677bd4 100644 --- a/sdk/python/pulumi_alicloud/ots/tunnel.py +++ b/sdk/python/pulumi_alicloud/ots/tunnel.py @@ -322,6 +322,8 @@ def __init__(__self__, tunnel_type="BaseAndStream") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS tunnel can be imported using id, e.g. @@ -400,6 +402,8 @@ def __init__(__self__, tunnel_type="BaseAndStream") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import OTS tunnel can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/outputs.py b/sdk/python/pulumi_alicloud/outputs.py index ce29aac5af..71f6ce60b6 100644 --- a/sdk/python/pulumi_alicloud/outputs.py +++ b/sdk/python/pulumi_alicloud/outputs.py @@ -13,10 +13,17 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities +from . import outputs __all__ = [ 'MilvusInstanceComponent', 'MilvusInstanceVswitchId', + 'OpenApiExplorerApiMcpServerAdditionalApiDescription', + 'OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter', + 'OpenApiExplorerApiMcpServerApi', + 'OpenApiExplorerApiMcpServerPrompt', + 'OpenApiExplorerApiMcpServerPromptArgument', + 'OpenApiExplorerApiMcpServerTerraformTool', 'StarRocksInstanceBackendNodeGroup', 'StarRocksInstanceFrontendNodeGroup', 'StarRocksInstanceObserverNodeGroup', @@ -175,6 +182,434 @@ def zone_id(self) -> Optional[_builtins.str]: return pulumi.get(self, "zone_id") +@pulumi.output_type +class OpenApiExplorerApiMcpServerAdditionalApiDescription(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiName": + suggest = "api_name" + elif key == "apiOverrideJson": + suggest = "api_override_json" + elif key == "apiVersion": + suggest = "api_version" + elif key == "constParameters": + suggest = "const_parameters" + elif key == "enableOutputSchema": + suggest = "enable_output_schema" + elif key == "executeCliCommand": + suggest = "execute_cli_command" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OpenApiExplorerApiMcpServerAdditionalApiDescription. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OpenApiExplorerApiMcpServerAdditionalApiDescription.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OpenApiExplorerApiMcpServerAdditionalApiDescription.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_name: Optional[_builtins.str] = None, + api_override_json: Optional[_builtins.str] = None, + api_version: Optional[_builtins.str] = None, + const_parameters: Optional[Sequence['outputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter']] = None, + enable_output_schema: Optional[_builtins.bool] = None, + execute_cli_command: Optional[_builtins.bool] = None, + product: Optional[_builtins.str] = None): + """ + :param _builtins.str api_name: The API name, such as ListApiMcpServers. + :param _builtins.str api_override_json: API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + + > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + :param _builtins.str api_version: API version information, typically in date format, such as 2014-05-26. + :param Sequence['OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameterArgs'] const_parameters: Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `const_parameters` below. + :param _builtins.bool enable_output_schema: By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + + > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + :param _builtins.bool execute_cli_command: Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + - SSE protocol: up to 30 minutes + - Streamable HTTP protocol: up to 1 minute + + For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + + > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + :param _builtins.str product: The name of the cloud product, such as Ecs. + """ + if api_name is not None: + pulumi.set(__self__, "api_name", api_name) + if api_override_json is not None: + pulumi.set(__self__, "api_override_json", api_override_json) + if api_version is not None: + pulumi.set(__self__, "api_version", api_version) + if const_parameters is not None: + pulumi.set(__self__, "const_parameters", const_parameters) + if enable_output_schema is not None: + pulumi.set(__self__, "enable_output_schema", enable_output_schema) + if execute_cli_command is not None: + pulumi.set(__self__, "execute_cli_command", execute_cli_command) + if product is not None: + pulumi.set(__self__, "product", product) + + @_builtins.property + @pulumi.getter(name="apiName") + def api_name(self) -> Optional[_builtins.str]: + """ + The API name, such as ListApiMcpServers. + """ + return pulumi.get(self, "api_name") + + @_builtins.property + @pulumi.getter(name="apiOverrideJson") + def api_override_json(self) -> Optional[_builtins.str]: + """ + API structure definition information. You can use this parameter to directly modify the API description and parameter list. You can obtain the API definition information from an API endpoint such as https://api.aliyun.com/meta/v1/products/Ecs/versions/2014-05-26/apis/DescribeInstances/api.json. + + > **NOTE:** Note that required parameters must not be removed; otherwise, calls by the large model will continuously fail due to missing required parameters.> + """ + return pulumi.get(self, "api_override_json") + + @_builtins.property + @pulumi.getter(name="apiVersion") + def api_version(self) -> Optional[_builtins.str]: + """ + API version information, typically in date format, such as 2014-05-26. + """ + return pulumi.get(self, "api_version") + + @_builtins.property + @pulumi.getter(name="constParameters") + def const_parameters(self) -> Optional[Sequence['outputs.OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter']]: + """ + Constant configuration information. When the MCP Server needs to fix certain tool parameters to specific values, you can configure this parameter to enforce those fixed values. + Parameters configured as constants will not be returned as tool parameters through the MCP protocol. Large models cannot define these parameters. During execution, the MCP Server merges these constant values into the API call parameters. See `const_parameters` below. + """ + return pulumi.get(self, "const_parameters") + + @_builtins.property + @pulumi.getter(name="enableOutputSchema") + def enable_output_schema(self) -> Optional[_builtins.bool]: + """ + By default, this feature is disabled, and the MCP Server returns only the structure definition of input parameters. When enabled, the MCP Server returns the output parameter structure definition via the MCP protocol. + + > **NOTE:** The output parameter structure may be complex. Enabling this feature significantly increases the MCP context size. Use this feature with caution.> + """ + return pulumi.get(self, "enable_output_schema") + + @_builtins.property + @pulumi.getter(name="executeCliCommand") + def execute_cli_command(self) -> Optional[_builtins.bool]: + """ + Call interception. When this parameter is enabled, the MCP Server returns the complete CLI command name instead of directly executing the API call. Use this option when the API call is long-running or requires interaction with local files. The MCP Server enforces theoretical time limits for single-tool invocations: + - SSE protocol: up to 30 minutes + - Streamable HTTP protocol: up to 1 minute + + For tools whose single API execution exceeds 30 minutes, we recommend enabling this parameter. Install the CLI and complete account authentication on the machine initiating the call, then combine it with this tool for optimal results. + + > **NOTE:** The identity used to execute the CLI differs from the identity used by the MCP Server. Pay attention to the associated security risks.> + """ + return pulumi.get(self, "execute_cli_command") + + @_builtins.property + @pulumi.getter + def product(self) -> Optional[_builtins.str]: + """ + The name of the cloud product, such as Ecs. + """ + return pulumi.get(self, "product") + + +@pulumi.output_type +class OpenApiExplorerApiMcpServerAdditionalApiDescriptionConstParameter(dict): + def __init__(__self__, *, + key: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str key: Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + + For RPC-style APIs, examples include: + - Name: sets the Name parameter to a fixed value. + + For ROA-style APIs, examples include: + - Name: sets a query or path parameter named Name to a fixed value; + - body.Name: sets the Name field within the request body to a fixed value. + + Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + + > **NOTE:** x_mcp_region_id is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + :param _builtins.str value: This property does not have a description in the spec, please add it before generating code. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def key(self) -> Optional[_builtins.str]: + """ + Parameter location. Currently, except for ROA-style body parameters (which support up to two levels), nested parameter configurations beyond two levels are not supported. If you need to configure a composite data structure, set the Value to a JSON object. + + For RPC-style APIs, examples include: + - Name: sets the Name parameter to a fixed value. + + For ROA-style APIs, examples include: + - Name: sets a query or path parameter named Name to a fixed value; + - body.Name: sets the Name field within the request body to a fixed value. + + Configurations such as body.Name.Sub are not supported. If you need to set body.Name as a composite structure, specify the Value as a JSON object—for example, {"Sub": "xxx"}. + + > **NOTE:** x_mcp_region_id is a built-in MCP parameter used to control the region and can also be configured as a fixed value to invoke services in a specified region.> + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + This property does not have a description in the spec, please add it before generating code. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class OpenApiExplorerApiMcpServerApi(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiVersion": + suggest = "api_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OpenApiExplorerApiMcpServerApi. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OpenApiExplorerApiMcpServerApi.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OpenApiExplorerApiMcpServerApi.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_version: _builtins.str, + product: _builtins.str, + selectors: Sequence[_builtins.str]): + """ + :param _builtins.str api_version: API version information, typically in date format—for example, the version for ECS is 2014-05-26. + :param _builtins.str product: Product code, such as Ecs. + :param Sequence[_builtins.str] selectors: Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + """ + pulumi.set(__self__, "api_version", api_version) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "selectors", selectors) + + @_builtins.property + @pulumi.getter(name="apiVersion") + def api_version(self) -> _builtins.str: + """ + API version information, typically in date format—for example, the version for ECS is 2014-05-26. + """ + return pulumi.get(self, "api_version") + + @_builtins.property + @pulumi.getter + def product(self) -> _builtins.str: + """ + Product code, such as Ecs. + """ + return pulumi.get(self, "product") + + @_builtins.property + @pulumi.getter + def selectors(self) -> Sequence[_builtins.str]: + """ + Selectors in array format, where each item is an API name—for example, GetApiDefinition or ListApiDefinitions. You can obtain the complete list of supported APIs from the Alibaba Cloud Developer Portal. + """ + return pulumi.get(self, "selectors") + + +@pulumi.output_type +class OpenApiExplorerApiMcpServerPrompt(dict): + def __init__(__self__, *, + arguments: Optional[Sequence['outputs.OpenApiExplorerApiMcpServerPromptArgument']] = None, + content: Optional[_builtins.str] = None, + description: Optional[_builtins.str] = None, + name: Optional[_builtins.str] = None): + """ + :param Sequence['OpenApiExplorerApiMcpServerPromptArgumentArgs'] arguments: Parameters for the prompt. See `arguments` below. + :param _builtins.str content: Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + :param _builtins.str description: Description of the prompt parameter. + :param _builtins.str name: Name of the prompt parameter. + """ + if arguments is not None: + pulumi.set(__self__, "arguments", arguments) + if content is not None: + pulumi.set(__self__, "content", content) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def arguments(self) -> Optional[Sequence['outputs.OpenApiExplorerApiMcpServerPromptArgument']]: + """ + Parameters for the prompt. See `arguments` below. + """ + return pulumi.get(self, "arguments") + + @_builtins.property + @pulumi.getter + def content(self) -> Optional[_builtins.str]: + """ + Full content of the prompt, supporting dynamic parameters. Parameters must be defined in Arguments, using the format {{ARG}}, where ARG supports English characters. Example: My name is: {{name}}. + """ + return pulumi.get(self, "content") + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + Description of the prompt parameter. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Name of the prompt parameter. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class OpenApiExplorerApiMcpServerPromptArgument(dict): + def __init__(__self__, *, + description: Optional[_builtins.str] = None, + name: Optional[_builtins.str] = None, + required: Optional[_builtins.bool] = None): + """ + :param _builtins.str description: Description of the API MCP service. + :param _builtins.str name: Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + :param _builtins.bool required: Indicates whether the prompt parameter is required. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if required is not None: + pulumi.set(__self__, "required", required) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + Description of the API MCP service. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Name of the MCP Server. It can contain digits, English letters, and hyphens (-). + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def required(self) -> Optional[_builtins.bool]: + """ + Indicates whether the prompt parameter is required. + """ + return pulumi.get(self, "required") + + +@pulumi.output_type +class OpenApiExplorerApiMcpServerTerraformTool(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "async": + suggest = "async_" + elif key == "destroyPolicy": + suggest = "destroy_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OpenApiExplorerApiMcpServerTerraformTool. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OpenApiExplorerApiMcpServerTerraformTool.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OpenApiExplorerApiMcpServerTerraformTool.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + async_: Optional[_builtins.bool] = None, + code: Optional[_builtins.str] = None, + description: Optional[_builtins.str] = None, + destroy_policy: Optional[_builtins.str] = None, + name: Optional[_builtins.str] = None): + """ + :param _builtins.bool async_: Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + :param _builtins.str destroy_policy: The cleanup policy applied to temporary resources after task completion, based on the task execution status: + - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + """ + if async_ is not None: + pulumi.set(__self__, "async_", async_) + if code is not None: + pulumi.set(__self__, "code", code) + if description is not None: + pulumi.set(__self__, "description", description) + if destroy_policy is not None: + pulumi.set(__self__, "destroy_policy", destroy_policy) + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter(name="async") + def async_(self) -> Optional[_builtins.bool]: + """ + Specifies whether execution is asynchronous. If enabled, the system immediately proceeds to the next task after initiating a task, without waiting for each resource operation to complete. + """ + return pulumi.get(self, "async_") + + @_builtins.property + @pulumi.getter + def code(self) -> Optional[_builtins.str]: + return pulumi.get(self, "code") + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="destroyPolicy") + def destroy_policy(self) -> Optional[_builtins.str]: + """ + The cleanup policy applied to temporary resources after task completion, based on the task execution status: + - NEVER: Do not delete any created resources, regardless of whether the task succeeds or fails. + - ALWAYS: Immediately destroy all related resources upon task completion, regardless of success or failure. + - ON_FAILURE: Delete related resources only if the task fails; retain them if the task succeeds. + """ + return pulumi.get(self, "destroy_policy") + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + return pulumi.get(self, "name") + + @pulumi.output_type class StarRocksInstanceBackendNodeGroup(dict): @staticmethod diff --git a/sdk/python/pulumi_alicloud/pai/flow_pipeline.py b/sdk/python/pulumi_alicloud/pai/flow_pipeline.py index e6e0ef3707..e63e50fd9c 100644 --- a/sdk/python/pulumi_alicloud/pai/flow_pipeline.py +++ b/sdk/python/pulumi_alicloud/pai/flow_pipeline.py @@ -244,6 +244,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Pai Flow Pipeline can be imported using the id, e.g. @@ -388,6 +390,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Pai Flow Pipeline can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/service.py b/sdk/python/pulumi_alicloud/pai/service.py index 9916f4a312..f85c126931 100644 --- a/sdk/python/pulumi_alicloud/pai/service.py +++ b/sdk/python/pulumi_alicloud/pai/service.py @@ -279,6 +279,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Service can be imported using the id, e.g. @@ -345,6 +347,8 @@ def __init__(__self__, })) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Service can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_code_source.py b/sdk/python/pulumi_alicloud/pai/workspace_code_source.py index ea27212844..4edf48b81b 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_code_source.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_code_source.py @@ -424,6 +424,8 @@ def __init__(__self__, code_repo_user_name="user-01") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Code Source can be imported using the id, e.g. @@ -489,6 +491,8 @@ def __init__(__self__, code_repo_user_name="user-01") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Code Source can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_dataset.py b/sdk/python/pulumi_alicloud/pai/workspace_dataset.py index c7c7826341..7a8673a392 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_dataset.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_dataset.py @@ -659,6 +659,8 @@ def __init__(__self__, user_id="1511928242963727") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Dataset can be imported using the id, e.g. @@ -765,6 +767,8 @@ def __init__(__self__, user_id="1511928242963727") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Dataset can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_datasetversion.py b/sdk/python/pulumi_alicloud/pai/workspace_datasetversion.py index 0c6609f9d8..fe0ab8d979 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_datasetversion.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_datasetversion.py @@ -556,6 +556,8 @@ def __init__(__self__, dataset_id=default_dataset.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Datasetversion can be imported using the id, e.g. @@ -660,6 +662,8 @@ def __init__(__self__, dataset_id=default_dataset.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Datasetversion can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_experiment.py b/sdk/python/pulumi_alicloud/pai/workspace_experiment.py index ce321c1fc4..c435d151be 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_experiment.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_experiment.py @@ -215,6 +215,8 @@ def __init__(__self__, workspace_id=default_di9fs_l.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Experiment can be imported using the id, e.g. @@ -267,6 +269,8 @@ def __init__(__self__, workspace_id=default_di9fs_l.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Experiment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_member.py b/sdk/python/pulumi_alicloud/pai/workspace_member.py index a71bc41f0e..c4fa2be991 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_member.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_member.py @@ -206,6 +206,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Member can be imported using the id, e.g. @@ -265,6 +267,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Member can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_model.py b/sdk/python/pulumi_alicloud/pai/workspace_model.py index 36b6080811..a142126ea4 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_model.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_model.py @@ -492,6 +492,8 @@ def __init__(__self__, domain="aigc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Model can be imported using the id, e.g. @@ -571,6 +573,8 @@ def __init__(__self__, domain="aigc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Model can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_model_version.py b/sdk/python/pulumi_alicloud/pai/workspace_model_version.py index ab098e9b2a..26d209f784 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_model_version.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_model_version.py @@ -698,6 +698,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Model Version can be imported using the id, e.g. @@ -825,6 +827,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Model Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_run.py b/sdk/python/pulumi_alicloud/pai/workspace_run.py index 3571a66d11..545c0269b8 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_run.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_run.py @@ -224,6 +224,8 @@ def __init__(__self__, experiment_id=default_q_rw_wbv.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Run can be imported using the id, e.g. @@ -283,6 +285,8 @@ def __init__(__self__, experiment_id=default_q_rw_wbv.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Run can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_user_config.py b/sdk/python/pulumi_alicloud/pai/workspace_user_config.py index c18e17a1dc..9958e52c6f 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_user_config.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_user_config.py @@ -193,6 +193,8 @@ def __init__(__self__, config_value=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace User Config can be imported using the id, e.g. @@ -239,6 +241,8 @@ def __init__(__self__, config_value=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace User Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pai/workspace_workspace.py b/sdk/python/pulumi_alicloud/pai/workspace_workspace.py index 49764c4a29..11984dc1f0 100644 --- a/sdk/python/pulumi_alicloud/pai/workspace_workspace.py +++ b/sdk/python/pulumi_alicloud/pai/workspace_workspace.py @@ -246,6 +246,8 @@ def __init__(__self__, env_types=["prod"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Workspace can be imported using the id, e.g. @@ -298,6 +300,8 @@ def __init__(__self__, env_types=["prod"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PAI Workspace Workspace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polar_db_extension.py b/sdk/python/pulumi_alicloud/polar_db_extension.py index 7b4c3642e0..7dd826e768 100644 --- a/sdk/python/pulumi_alicloud/polar_db_extension.py +++ b/sdk/python/pulumi_alicloud/polar_db_extension.py @@ -274,6 +274,8 @@ def __init__(__self__, db_name=database.db_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Polar Db Extension can be imported using the id, e.g. @@ -354,6 +356,8 @@ def __init__(__self__, db_name=database.db_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Polar Db Extension can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/__init__.py b/sdk/python/pulumi_alicloud/polardb/__init__.py index afbe2b2dcd..2c9abaf1cd 100644 --- a/sdk/python/pulumi_alicloud/polardb/__init__.py +++ b/sdk/python/pulumi_alicloud/polardb/__init__.py @@ -23,6 +23,7 @@ from .get_parameter_groups import * from .get_zones import * from .global_database_network import * +from .global_security_ip_group import * from .parameter_group import * from .primary_endpoint import * from .zonal_account import * diff --git a/sdk/python/pulumi_alicloud/polardb/account.py b/sdk/python/pulumi_alicloud/polardb/account.py index 7ba03ef998..7d33b5cf3c 100644 --- a/sdk/python/pulumi_alicloud/polardb/account.py +++ b/sdk/python/pulumi_alicloud/polardb/account.py @@ -20,27 +20,45 @@ class AccountArgs: def __init__(__self__, *, account_name: pulumi.Input[_builtins.str], - account_password: pulumi.Input[_builtins.str], db_cluster_id: pulumi.Input[_builtins.str], account_description: Optional[pulumi.Input[_builtins.str]] = None, + account_lock_state: Optional[pulumi.Input[_builtins.str]] = None, + account_password: Optional[pulumi.Input[_builtins.str]] = None, + account_password_valid_time: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a Account resource. - :param pulumi.Input[_builtins.str] account_name: Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. - :param pulumi.Input[_builtins.str] account_password: Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster in which account belongs. - :param pulumi.Input[_builtins.str] account_description: Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - :param pulumi.Input[_builtins.str] account_type: Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + :param pulumi.Input[_builtins.str] account_name: The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. + :param pulumi.Input[_builtins.str] db_cluster_id: The cluster ID. + :param pulumi.Input[_builtins.str] account_description: The description of the database account. + :param pulumi.Input[_builtins.str] account_lock_state: The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + :param pulumi.Input[_builtins.str] account_password: The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. + :param pulumi.Input[_builtins.str] account_password_valid_time: The time when the password for the database account expires. + :param pulumi.Input[_builtins.str] account_type: The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. If the `account_password` is filled in, this field will be ignored. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a db account with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. """ pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_password", account_password) pulumi.set(__self__, "db_cluster_id", db_cluster_id) if account_description is not None: pulumi.set(__self__, "account_description", account_description) + if account_lock_state is not None: + pulumi.set(__self__, "account_lock_state", account_lock_state) + if account_password is not None: + pulumi.set(__self__, "account_password", account_password) + if account_password_valid_time is not None: + pulumi.set(__self__, "account_password_valid_time", account_password_valid_time) if account_type is not None: pulumi.set(__self__, "account_type", account_type) if kms_encrypted_password is not None: @@ -52,7 +70,11 @@ def __init__(__self__, *, @pulumi.getter(name="accountName") def account_name(self) -> pulumi.Input[_builtins.str]: """ - Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. """ return pulumi.get(self, "account_name") @@ -60,23 +82,11 @@ def account_name(self) -> pulumi.Input[_builtins.str]: def account_name(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "account_name", value) - @_builtins.property - @pulumi.getter(name="accountPassword") - def account_password(self) -> pulumi.Input[_builtins.str]: - """ - Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - """ - return pulumi.get(self, "account_password") - - @account_password.setter - def account_password(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "account_password", value) - @_builtins.property @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> pulumi.Input[_builtins.str]: """ - The Id of cluster in which account belongs. + The cluster ID. """ return pulumi.get(self, "db_cluster_id") @@ -88,7 +98,7 @@ def db_cluster_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="accountDescription") def account_description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + The description of the database account. """ return pulumi.get(self, "account_description") @@ -96,11 +106,52 @@ def account_description(self) -> Optional[pulumi.Input[_builtins.str]]: def account_description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_description", value) + @_builtins.property + @pulumi.getter(name="accountLockState") + def account_lock_state(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + """ + return pulumi.get(self, "account_lock_state") + + @account_lock_state.setter + def account_lock_state(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_lock_state", value) + + @_builtins.property + @pulumi.getter(name="accountPassword") + def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. + """ + return pulumi.get(self, "account_password") + + @account_password.setter + def account_password(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password", value) + + @_builtins.property + @pulumi.getter(name="accountPasswordValidTime") + def account_password_valid_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The time when the password for the database account expires. + """ + return pulumi.get(self, "account_password_valid_time") + + @account_password_valid_time.setter + def account_password_valid_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password_valid_time", value) + @_builtins.property @pulumi.getter(name="accountType") def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. """ return pulumi.get(self, "account_type") @@ -137,28 +188,47 @@ def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulum class _AccountState: def __init__(__self__, *, account_description: Optional[pulumi.Input[_builtins.str]] = None, + account_lock_state: Optional[pulumi.Input[_builtins.str]] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, + account_password_valid_time: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, - kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None): + kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Account resources. - :param pulumi.Input[_builtins.str] account_description: Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - :param pulumi.Input[_builtins.str] account_name: Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. - :param pulumi.Input[_builtins.str] account_password: Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - :param pulumi.Input[_builtins.str] account_type: Account type, Valid values are `Normal`, `Super`, Default to `Normal`. - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster in which account belongs. + :param pulumi.Input[_builtins.str] account_description: The description of the database account. + :param pulumi.Input[_builtins.str] account_lock_state: The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + :param pulumi.Input[_builtins.str] account_name: The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. + :param pulumi.Input[_builtins.str] account_password: The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. + :param pulumi.Input[_builtins.str] account_password_valid_time: The time when the password for the database account expires. + :param pulumi.Input[_builtins.str] account_type: The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. + :param pulumi.Input[_builtins.str] db_cluster_id: The cluster ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. If the `account_password` is filled in, this field will be ignored. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a db account with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] status: (Available since v1.265.0) The status of the database account. """ if account_description is not None: pulumi.set(__self__, "account_description", account_description) + if account_lock_state is not None: + pulumi.set(__self__, "account_lock_state", account_lock_state) if account_name is not None: pulumi.set(__self__, "account_name", account_name) if account_password is not None: pulumi.set(__self__, "account_password", account_password) + if account_password_valid_time is not None: + pulumi.set(__self__, "account_password_valid_time", account_password_valid_time) if account_type is not None: pulumi.set(__self__, "account_type", account_type) if db_cluster_id is not None: @@ -167,12 +237,14 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_encrypted_password", kms_encrypted_password) if kms_encryption_context is not None: pulumi.set(__self__, "kms_encryption_context", kms_encryption_context) + if status is not None: + pulumi.set(__self__, "status", status) @_builtins.property @pulumi.getter(name="accountDescription") def account_description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + The description of the database account. """ return pulumi.get(self, "account_description") @@ -180,11 +252,29 @@ def account_description(self) -> Optional[pulumi.Input[_builtins.str]]: def account_description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_description", value) + @_builtins.property + @pulumi.getter(name="accountLockState") + def account_lock_state(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + """ + return pulumi.get(self, "account_lock_state") + + @account_lock_state.setter + def account_lock_state(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_lock_state", value) + @_builtins.property @pulumi.getter(name="accountName") def account_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. """ return pulumi.get(self, "account_name") @@ -196,7 +286,10 @@ def account_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="accountPassword") def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. """ return pulumi.get(self, "account_password") @@ -204,11 +297,23 @@ def account_password(self) -> Optional[pulumi.Input[_builtins.str]]: def account_password(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_password", value) + @_builtins.property + @pulumi.getter(name="accountPasswordValidTime") + def account_password_valid_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The time when the password for the database account expires. + """ + return pulumi.get(self, "account_password_valid_time") + + @account_password_valid_time.setter + def account_password_valid_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "account_password_valid_time", value) + @_builtins.property @pulumi.getter(name="accountType") def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. """ return pulumi.get(self, "account_type") @@ -220,7 +325,7 @@ def account_type(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The Id of cluster in which account belongs. + The cluster ID. """ return pulumi.get(self, "db_cluster_id") @@ -252,6 +357,18 @@ def kms_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.In def kms_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "kms_encryption_context", value) + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + (Available since v1.265.0) The status of the database account. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + @pulumi.type_token("alicloud:polardb/account:Account") class Account(pulumi.CustomResource): @@ -260,15 +377,21 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_description: Optional[pulumi.Input[_builtins.str]] = None, + account_lock_state: Optional[pulumi.Input[_builtins.str]] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, + account_password_valid_time: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ - Provides a PolarDB account resource and used to manage databases. + Provides a Polar Db Account resource. + + Database account information. + + For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). > **NOTE:** Available since v1.67.0. @@ -304,21 +427,34 @@ def __init__(__self__, account_description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - PolarDB account can be imported using the id, e.g. + Polar Db Account can be imported using the id, e.g. ```sh - $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" + $ pulumi import alicloud:polardb/account:Account example : ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] account_description: Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - :param pulumi.Input[_builtins.str] account_name: Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. - :param pulumi.Input[_builtins.str] account_password: Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - :param pulumi.Input[_builtins.str] account_type: Account type, Valid values are `Normal`, `Super`, Default to `Normal`. - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster in which account belongs. + :param pulumi.Input[_builtins.str] account_description: The description of the database account. + :param pulumi.Input[_builtins.str] account_lock_state: The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + :param pulumi.Input[_builtins.str] account_name: The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. + :param pulumi.Input[_builtins.str] account_password: The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. + :param pulumi.Input[_builtins.str] account_password_valid_time: The time when the password for the database account expires. + :param pulumi.Input[_builtins.str] account_type: The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. + :param pulumi.Input[_builtins.str] db_cluster_id: The cluster ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. If the `account_password` is filled in, this field will be ignored. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a db account with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. """ @@ -329,7 +465,11 @@ def __init__(__self__, args: AccountArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a PolarDB account resource and used to manage databases. + Provides a Polar Db Account resource. + + Database account information. + + For information about Polar Db Account and how to use it, see [What is Account](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateAccount). > **NOTE:** Available since v1.67.0. @@ -365,12 +505,14 @@ def __init__(__self__, account_description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - PolarDB account can be imported using the id, e.g. + Polar Db Account can be imported using the id, e.g. ```sh - $ pulumi import alicloud:polardb/account:Account example "pc-12345:tf_account" + $ pulumi import alicloud:polardb/account:Account example : ``` :param str resource_name: The name of the resource. @@ -389,8 +531,10 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_description: Optional[pulumi.Input[_builtins.str]] = None, + account_lock_state: Optional[pulumi.Input[_builtins.str]] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, + account_password_valid_time: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, @@ -405,18 +549,19 @@ def _internal_init(__self__, __props__ = AccountArgs.__new__(AccountArgs) __props__.__dict__["account_description"] = account_description + __props__.__dict__["account_lock_state"] = account_lock_state if account_name is None and not opts.urn: raise TypeError("Missing required property 'account_name'") __props__.__dict__["account_name"] = account_name - if account_password is None and not opts.urn: - raise TypeError("Missing required property 'account_password'") __props__.__dict__["account_password"] = None if account_password is None else pulumi.Output.secret(account_password) + __props__.__dict__["account_password_valid_time"] = account_password_valid_time __props__.__dict__["account_type"] = account_type if db_cluster_id is None and not opts.urn: raise TypeError("Missing required property 'db_cluster_id'") __props__.__dict__["db_cluster_id"] = db_cluster_id __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["status"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accountPassword"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Account, __self__).__init__( @@ -430,12 +575,15 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_description: Optional[pulumi.Input[_builtins.str]] = None, + account_lock_state: Optional[pulumi.Input[_builtins.str]] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, + account_password_valid_time: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, kms_encrypted_password: Optional[pulumi.Input[_builtins.str]] = None, - kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None) -> 'Account': + kms_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Account': """ Get an existing Account resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -443,56 +591,96 @@ 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[_builtins.str] account_description: Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - :param pulumi.Input[_builtins.str] account_name: Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. - :param pulumi.Input[_builtins.str] account_password: Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. - :param pulumi.Input[_builtins.str] account_type: Account type, Valid values are `Normal`, `Super`, Default to `Normal`. - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster in which account belongs. + :param pulumi.Input[_builtins.str] account_description: The description of the database account. + :param pulumi.Input[_builtins.str] account_lock_state: The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + :param pulumi.Input[_builtins.str] account_name: The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. + :param pulumi.Input[_builtins.str] account_password: The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. + :param pulumi.Input[_builtins.str] account_password_valid_time: The time when the password for the database account expires. + :param pulumi.Input[_builtins.str] account_type: The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. + :param pulumi.Input[_builtins.str] db_cluster_id: The cluster ID. :param pulumi.Input[_builtins.str] kms_encrypted_password: An KMS encrypts password used to a db account. If the `account_password` is filled in, this field will be ignored. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] kms_encryption_context: An KMS encryption context used to decrypt `kms_encrypted_password` before creating or updating a db account with `kms_encrypted_password`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kms_encrypted_password` is set. + :param pulumi.Input[_builtins.str] status: (Available since v1.265.0) The status of the database account. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _AccountState.__new__(_AccountState) __props__.__dict__["account_description"] = account_description + __props__.__dict__["account_lock_state"] = account_lock_state __props__.__dict__["account_name"] = account_name __props__.__dict__["account_password"] = account_password + __props__.__dict__["account_password_valid_time"] = account_password_valid_time __props__.__dict__["account_type"] = account_type __props__.__dict__["db_cluster_id"] = db_cluster_id __props__.__dict__["kms_encrypted_password"] = kms_encrypted_password __props__.__dict__["kms_encryption_context"] = kms_encryption_context + __props__.__dict__["status"] = status return Account(resource_name, opts=opts, __props__=__props__) @_builtins.property @pulumi.getter(name="accountDescription") def account_description(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Account description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + The description of the database account. """ return pulumi.get(self, "account_description") + @_builtins.property + @pulumi.getter(name="accountLockState") + def account_lock_state(self) -> pulumi.Output[_builtins.str]: + """ + The lock status of the account. Valid values: + - `UnLock`: The account is not locked. + - `Lock`: The account is locked. + """ + return pulumi.get(self, "account_lock_state") + @_builtins.property @pulumi.getter(name="accountName") def account_name(self) -> pulumi.Output[_builtins.str]: """ - Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters. + The account name. Must meet the following requirements: + - Start with a lowercase letter and end with a letter or number. + - Consists of lowercase letters, numbers, or underscores. + - The length is 2 to 16 characters. + - You cannot use some reserved usernames, such as root and admin. """ return pulumi.get(self, "account_name") @_builtins.property @pulumi.getter(name="accountPassword") - def account_password(self) -> pulumi.Output[_builtins.str]: + def account_password(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. + The account password. You have to specify one of `account_password` and `kms_encrypted_password` fields. Must meet the following requirements: + - Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. + - Be 8 to 32 characters in length. + - Special characters include !@#$%^&*()_+-=. """ return pulumi.get(self, "account_password") + @_builtins.property + @pulumi.getter(name="accountPasswordValidTime") + def account_password_valid_time(self) -> pulumi.Output[_builtins.str]: + """ + The time when the password for the database account expires. + """ + return pulumi.get(self, "account_password_valid_time") + @_builtins.property @pulumi.getter(name="accountType") - def account_type(self) -> pulumi.Output[Optional[_builtins.str]]: + def account_type(self) -> pulumi.Output[_builtins.str]: """ - Account type, Valid values are `Normal`, `Super`, Default to `Normal`. + The account type. Default value:`Normal`. Valid values: `Normal`, `Super`. """ return pulumi.get(self, "account_type") @@ -500,7 +688,7 @@ def account_type(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> pulumi.Output[_builtins.str]: """ - The Id of cluster in which account belongs. + The cluster ID. """ return pulumi.get(self, "db_cluster_id") @@ -520,3 +708,11 @@ def kms_encryption_context(self) -> pulumi.Output[Optional[Mapping[str, _builtin """ return pulumi.get(self, "kms_encryption_context") + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + (Available since v1.265.0) The status of the database account. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_alicloud/polardb/account_privilege.py b/sdk/python/pulumi_alicloud/polardb/account_privilege.py index 2a6815f7f5..5ee8107748 100644 --- a/sdk/python/pulumi_alicloud/polardb/account_privilege.py +++ b/sdk/python/pulumi_alicloud/polardb/account_privilege.py @@ -213,6 +213,8 @@ def __init__(__self__, db_names=[default_database.db_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB account privilege can be imported using the id, e.g. @@ -279,6 +281,8 @@ def __init__(__self__, db_names=[default_database.db_name]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB account privilege can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/cluster_endpoint.py b/sdk/python/pulumi_alicloud/polardb/cluster_endpoint.py index 111089ebcf..c0fc1751b6 100644 --- a/sdk/python/pulumi_alicloud/polardb/cluster_endpoint.py +++ b/sdk/python/pulumi_alicloud/polardb/cluster_endpoint.py @@ -524,6 +524,8 @@ def __init__(__self__, default_cluster_endpoint = alicloud.polardb.ClusterEndpoint("default", db_cluster_id=default_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. @@ -589,6 +591,8 @@ def __init__(__self__, default_cluster_endpoint = alicloud.polardb.ClusterEndpoint("default", db_cluster_id=default_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/database.py b/sdk/python/pulumi_alicloud/polardb/database.py index 0f9656830a..86ae9d59b6 100644 --- a/sdk/python/pulumi_alicloud/polardb/database.py +++ b/sdk/python/pulumi_alicloud/polardb/database.py @@ -23,14 +23,22 @@ def __init__(__self__, *, db_name: pulumi.Input[_builtins.str], account_name: Optional[pulumi.Input[_builtins.str]] = None, character_set_name: Optional[pulumi.Input[_builtins.str]] = None, + collate: Optional[pulumi.Input[_builtins.str]] = None, + ctype: Optional[pulumi.Input[_builtins.str]] = None, db_description: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Database resource. - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster that can run database. - :param pulumi.Input[_builtins.str] db_name: Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. - :param pulumi.Input[_builtins.str] account_name: Account name authorized to access the database. Only supports PostgreSQL. - :param pulumi.Input[_builtins.str] character_set_name: Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). - :param pulumi.Input[_builtins.str] db_description: Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + :param pulumi.Input[_builtins.str] db_cluster_id: The ID of cluster. + :param pulumi.Input[_builtins.str] db_name: The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] account_name: The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. + :param pulumi.Input[_builtins.str] character_set_name: The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + :param pulumi.Input[_builtins.str] collate: The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] ctype: The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] db_description: The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. """ pulumi.set(__self__, "db_cluster_id", db_cluster_id) pulumi.set(__self__, "db_name", db_name) @@ -38,6 +46,10 @@ def __init__(__self__, *, pulumi.set(__self__, "account_name", account_name) if character_set_name is not None: pulumi.set(__self__, "character_set_name", character_set_name) + if collate is not None: + pulumi.set(__self__, "collate", collate) + if ctype is not None: + pulumi.set(__self__, "ctype", ctype) if db_description is not None: pulumi.set(__self__, "db_description", db_description) @@ -45,7 +57,7 @@ def __init__(__self__, *, @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> pulumi.Input[_builtins.str]: """ - The Id of cluster that can run database. + The ID of cluster. """ return pulumi.get(self, "db_cluster_id") @@ -57,7 +69,7 @@ def db_cluster_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="dbName") def db_name(self) -> pulumi.Input[_builtins.str]: """ - Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. """ return pulumi.get(self, "db_name") @@ -69,7 +81,7 @@ def db_name(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="accountName") def account_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account name authorized to access the database. Only supports PostgreSQL. + The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. """ return pulumi.get(self, "account_name") @@ -81,7 +93,7 @@ def account_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="characterSetName") def character_set_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). + The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). """ return pulumi.get(self, "character_set_name") @@ -89,11 +101,39 @@ def character_set_name(self) -> Optional[pulumi.Input[_builtins.str]]: def character_set_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "character_set_name", value) + @_builtins.property + @pulumi.getter + def collate(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "collate") + + @collate.setter + def collate(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "collate", value) + + @_builtins.property + @pulumi.getter + def ctype(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "ctype") + + @ctype.setter + def ctype(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "ctype", value) + @_builtins.property @pulumi.getter(name="dbDescription") def db_description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. """ return pulumi.get(self, "db_description") @@ -107,33 +147,49 @@ class _DatabaseState: def __init__(__self__, *, account_name: Optional[pulumi.Input[_builtins.str]] = None, character_set_name: Optional[pulumi.Input[_builtins.str]] = None, + collate: Optional[pulumi.Input[_builtins.str]] = None, + ctype: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, db_description: Optional[pulumi.Input[_builtins.str]] = None, - db_name: Optional[pulumi.Input[_builtins.str]] = None): + db_name: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Database resources. - :param pulumi.Input[_builtins.str] account_name: Account name authorized to access the database. Only supports PostgreSQL. - :param pulumi.Input[_builtins.str] character_set_name: Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster that can run database. - :param pulumi.Input[_builtins.str] db_description: Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. - :param pulumi.Input[_builtins.str] db_name: Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] account_name: The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. + :param pulumi.Input[_builtins.str] character_set_name: The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + :param pulumi.Input[_builtins.str] collate: The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] ctype: The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] db_cluster_id: The ID of cluster. + :param pulumi.Input[_builtins.str] db_description: The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. + :param pulumi.Input[_builtins.str] db_name: The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] status: (Available since v1.265.0) The state of the database. """ if account_name is not None: pulumi.set(__self__, "account_name", account_name) if character_set_name is not None: pulumi.set(__self__, "character_set_name", character_set_name) + if collate is not None: + pulumi.set(__self__, "collate", collate) + if ctype is not None: + pulumi.set(__self__, "ctype", ctype) if db_cluster_id is not None: pulumi.set(__self__, "db_cluster_id", db_cluster_id) if db_description is not None: pulumi.set(__self__, "db_description", db_description) if db_name is not None: pulumi.set(__self__, "db_name", db_name) + if status is not None: + pulumi.set(__self__, "status", status) @_builtins.property @pulumi.getter(name="accountName") def account_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Account name authorized to access the database. Only supports PostgreSQL. + The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. """ return pulumi.get(self, "account_name") @@ -145,7 +201,7 @@ def account_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="characterSetName") def character_set_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). + The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). """ return pulumi.get(self, "character_set_name") @@ -153,11 +209,37 @@ def character_set_name(self) -> Optional[pulumi.Input[_builtins.str]]: def character_set_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "character_set_name", value) + @_builtins.property + @pulumi.getter + def collate(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "collate") + + @collate.setter + def collate(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "collate", value) + + @_builtins.property + @pulumi.getter + def ctype(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "ctype") + + @ctype.setter + def ctype(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "ctype", value) + @_builtins.property @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The Id of cluster that can run database. + The ID of cluster. """ return pulumi.get(self, "db_cluster_id") @@ -169,7 +251,9 @@ def db_cluster_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="dbDescription") def db_description(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. """ return pulumi.get(self, "db_description") @@ -181,7 +265,7 @@ def db_description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="dbName") def db_name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. """ return pulumi.get(self, "db_name") @@ -189,6 +273,18 @@ def db_name(self) -> Optional[pulumi.Input[_builtins.str]]: def db_name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "db_name", value) + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + (Available since v1.265.0) The state of the database. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + @pulumi.type_token("alicloud:polardb/database:Database") class Database(pulumi.CustomResource): @@ -198,17 +294,25 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, character_set_name: Optional[pulumi.Input[_builtins.str]] = None, + collate: Optional[pulumi.Input[_builtins.str]] = None, + ctype: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, db_description: Optional[pulumi.Input[_builtins.str]] = None, db_name: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. + Provides a Polar Db Database resource. + + Manage linked databases. + + For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). > **NOTE:** Available since v1.66.0. ## Example Usage + Basic Usage + ```python import pulumi import pulumi_alicloud as alicloud @@ -237,21 +341,29 @@ def __init__(__self__, db_name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - PolarDB database can be imported using the id, e.g. + Polar Db Database can be imported using the id, e.g. ```sh - $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" + $ pulumi import alicloud:polardb/database:Database example : ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] account_name: Account name authorized to access the database. Only supports PostgreSQL. - :param pulumi.Input[_builtins.str] character_set_name: Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster that can run database. - :param pulumi.Input[_builtins.str] db_description: Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. - :param pulumi.Input[_builtins.str] db_name: Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] account_name: The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. + :param pulumi.Input[_builtins.str] character_set_name: The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + :param pulumi.Input[_builtins.str] collate: The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] ctype: The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] db_cluster_id: The ID of cluster. + :param pulumi.Input[_builtins.str] db_description: The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. + :param pulumi.Input[_builtins.str] db_name: The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. """ ... @overload @@ -260,12 +372,18 @@ def __init__(__self__, args: DatabaseArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a PolarDB database resource. A database deployed in a PolarDB cluster. A PolarDB cluster can own multiple databases. + Provides a Polar Db Database resource. + + Manage linked databases. + + For information about Polar Db Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateDatabase). > **NOTE:** Available since v1.66.0. ## Example Usage + Basic Usage + ```python import pulumi import pulumi_alicloud as alicloud @@ -294,12 +412,14 @@ def __init__(__self__, db_name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - PolarDB database can be imported using the id, e.g. + Polar Db Database can be imported using the id, e.g. ```sh - $ pulumi import alicloud:polardb/database:Database example "pc-12345:tf_database" + $ pulumi import alicloud:polardb/database:Database example : ``` :param str resource_name: The name of the resource. @@ -319,6 +439,8 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, character_set_name: Optional[pulumi.Input[_builtins.str]] = None, + collate: Optional[pulumi.Input[_builtins.str]] = None, + ctype: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, db_description: Optional[pulumi.Input[_builtins.str]] = None, db_name: Optional[pulumi.Input[_builtins.str]] = None, @@ -333,6 +455,8 @@ def _internal_init(__self__, __props__.__dict__["account_name"] = account_name __props__.__dict__["character_set_name"] = character_set_name + __props__.__dict__["collate"] = collate + __props__.__dict__["ctype"] = ctype if db_cluster_id is None and not opts.urn: raise TypeError("Missing required property 'db_cluster_id'") __props__.__dict__["db_cluster_id"] = db_cluster_id @@ -340,6 +464,7 @@ def _internal_init(__self__, if db_name is None and not opts.urn: raise TypeError("Missing required property 'db_name'") __props__.__dict__["db_name"] = db_name + __props__.__dict__["status"] = None super(Database, __self__).__init__( 'alicloud:polardb/database:Database', resource_name, @@ -352,9 +477,12 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[_builtins.str]] = None, character_set_name: Optional[pulumi.Input[_builtins.str]] = None, + collate: Optional[pulumi.Input[_builtins.str]] = None, + ctype: Optional[pulumi.Input[_builtins.str]] = None, db_cluster_id: Optional[pulumi.Input[_builtins.str]] = None, db_description: Optional[pulumi.Input[_builtins.str]] = None, - db_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'Database': + db_name: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Database': """ Get an existing Database resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -362,11 +490,18 @@ 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[_builtins.str] account_name: Account name authorized to access the database. Only supports PostgreSQL. - :param pulumi.Input[_builtins.str] character_set_name: Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). - :param pulumi.Input[_builtins.str] db_cluster_id: The Id of cluster that can run database. - :param pulumi.Input[_builtins.str] db_description: Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. - :param pulumi.Input[_builtins.str] db_name: Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] account_name: The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. + :param pulumi.Input[_builtins.str] character_set_name: The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). + :param pulumi.Input[_builtins.str] collate: The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] ctype: The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + :param pulumi.Input[_builtins.str] db_cluster_id: The ID of cluster. + :param pulumi.Input[_builtins.str] db_description: The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. + :param pulumi.Input[_builtins.str] db_name: The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + :param pulumi.Input[_builtins.str] status: (Available since v1.265.0) The state of the database. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -374,40 +509,63 @@ def get(resource_name: str, __props__.__dict__["account_name"] = account_name __props__.__dict__["character_set_name"] = character_set_name + __props__.__dict__["collate"] = collate + __props__.__dict__["ctype"] = ctype __props__.__dict__["db_cluster_id"] = db_cluster_id __props__.__dict__["db_description"] = db_description __props__.__dict__["db_name"] = db_name + __props__.__dict__["status"] = status return Database(resource_name, opts=opts, __props__=__props__) @_builtins.property @pulumi.getter(name="accountName") def account_name(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Account name authorized to access the database. Only supports PostgreSQL. + The name of the account that is authorized to access the database. **NOTE:** From version 1.265.0, `account_name` can be modified. However, only PolarDB for PostgreSQL (Compatible with Oracle) and PolarDB for PostgreSQL cluster can be modified. """ return pulumi.get(self, "account_name") @_builtins.property @pulumi.getter(name="characterSetName") - def character_set_name(self) -> pulumi.Output[Optional[_builtins.str]]: + def character_set_name(self) -> pulumi.Output[_builtins.str]: """ - Character set. The value range is limited to the following: [ utf8, gbk, latin1, utf8mb4, Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ], default is "utf8" \\(`utf8mb4` only supports versions 5.5 and 5.6\\). + The character set that is used by the cluster. For more information, see [Character set tables](https://www.alibabacloud.com/help/en/doc-detail/99716.html). """ return pulumi.get(self, "character_set_name") + @_builtins.property + @pulumi.getter + def collate(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The language that defines the collation rules in the database. + > **NOTE:** The locale must be compatible with the character set set set by `character_set_name`. This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "collate") + + @_builtins.property + @pulumi.getter + def ctype(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The language that indicates the character type of the database. + > **NOTE:** The language must be compatible with the character set that is specified by `character_set_name`. The value that you specify must be the same as the value of `collate`. This parameter is required for PolarDB for PostgreSQL (Compatible with Oracle) clusters or PolarDB for PostgreSQL clusters. This parameter is optional for PolarDB for MySQL clusters.This parameter is required for a PolarDB for PostgreSQL (Compatible with Oracle) or PolarDB for PostgreSQL cluster. This parameter is optional for a PolarDB for MySQL cluster. + """ + return pulumi.get(self, "ctype") + @_builtins.property @pulumi.getter(name="dbClusterId") def db_cluster_id(self) -> pulumi.Output[_builtins.str]: """ - The Id of cluster that can run database. + The ID of cluster. """ return pulumi.get(self, "db_cluster_id") @_builtins.property @pulumi.getter(name="dbDescription") - def db_description(self) -> pulumi.Output[Optional[_builtins.str]]: + def db_description(self) -> pulumi.Output[_builtins.str]: """ - Database description. It must start with a Chinese character or English letter, cannot start with "http://" or "https://". It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length must be 2-256 characters. + The description of the database. The description must meet the following requirements: + - It cannot start with `http://` or `https://`. + - It must be 2 to 256 characters in length. """ return pulumi.get(self, "db_description") @@ -415,7 +573,15 @@ def db_description(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="dbName") def db_name(self) -> pulumi.Output[_builtins.str]: """ - Name of the database requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. + The name of the database. It may consist of lower case letters, numbers, and underlines, and must start with a letterand have no more than 64 characters. """ return pulumi.get(self, "db_name") + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + (Available since v1.265.0) The state of the database. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_alicloud/polardb/endpoint.py b/sdk/python/pulumi_alicloud/polardb/endpoint.py index a7ff53413e..4bcc54d37e 100644 --- a/sdk/python/pulumi_alicloud/polardb/endpoint.py +++ b/sdk/python/pulumi_alicloud/polardb/endpoint.py @@ -539,6 +539,8 @@ def __init__(__self__, endpoint_type="Custom") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. @@ -605,6 +607,8 @@ def __init__(__self__, endpoint_type="Custom") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/endpoint_address.py b/sdk/python/pulumi_alicloud/polardb/endpoint_address.py index 09e2ccc27e..e6b66d3333 100644 --- a/sdk/python/pulumi_alicloud/polardb/endpoint_address.py +++ b/sdk/python/pulumi_alicloud/polardb/endpoint_address.py @@ -273,6 +273,8 @@ def __init__(__self__, net_type="Public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint address can be imported using the id, e.g. @@ -334,6 +336,8 @@ def __init__(__self__, net_type="Public") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/global_database_network.py b/sdk/python/pulumi_alicloud/polardb/global_database_network.py index 6992fb250c..d40357607f 100644 --- a/sdk/python/pulumi_alicloud/polardb/global_database_network.py +++ b/sdk/python/pulumi_alicloud/polardb/global_database_network.py @@ -159,6 +159,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Global Database Network can be imported using the id, e.g. @@ -217,6 +219,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Global Database Network can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/global_security_ip_group.py b/sdk/python/pulumi_alicloud/polardb/global_security_ip_group.py new file mode 100644 index 0000000000..7e8015dbbe --- /dev/null +++ b/sdk/python/pulumi_alicloud/polardb/global_security_ip_group.py @@ -0,0 +1,336 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['GlobalSecurityIpGroupArgs', 'GlobalSecurityIpGroup'] + +@pulumi.input_type +class GlobalSecurityIpGroupArgs: + def __init__(__self__, *, + global_ip_group_name: pulumi.Input[_builtins.str], + global_ip_list: pulumi.Input[_builtins.str]): + """ + The set of arguments for constructing a GlobalSecurityIpGroup resource. + :param pulumi.Input[_builtins.str] global_ip_group_name: The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + :param pulumi.Input[_builtins.str] global_ip_list: The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + """ + pulumi.set(__self__, "global_ip_group_name", global_ip_group_name) + pulumi.set(__self__, "global_ip_list", global_ip_list) + + @_builtins.property + @pulumi.getter(name="globalIpGroupName") + def global_ip_group_name(self) -> pulumi.Input[_builtins.str]: + """ + The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + """ + return pulumi.get(self, "global_ip_group_name") + + @global_ip_group_name.setter + def global_ip_group_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "global_ip_group_name", value) + + @_builtins.property + @pulumi.getter(name="globalIpList") + def global_ip_list(self) -> pulumi.Input[_builtins.str]: + """ + The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + """ + return pulumi.get(self, "global_ip_list") + + @global_ip_list.setter + def global_ip_list(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "global_ip_list", value) + + +@pulumi.input_type +class _GlobalSecurityIpGroupState: + def __init__(__self__, *, + global_ip_group_name: Optional[pulumi.Input[_builtins.str]] = None, + global_ip_list: Optional[pulumi.Input[_builtins.str]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering GlobalSecurityIpGroup resources. + :param pulumi.Input[_builtins.str] global_ip_group_name: The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + :param pulumi.Input[_builtins.str] global_ip_list: The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + :param pulumi.Input[_builtins.str] region_id: The region ID of the IP whitelist template. + """ + if global_ip_group_name is not None: + pulumi.set(__self__, "global_ip_group_name", global_ip_group_name) + if global_ip_list is not None: + pulumi.set(__self__, "global_ip_list", global_ip_list) + if region_id is not None: + pulumi.set(__self__, "region_id", region_id) + + @_builtins.property + @pulumi.getter(name="globalIpGroupName") + def global_ip_group_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + """ + return pulumi.get(self, "global_ip_group_name") + + @global_ip_group_name.setter + def global_ip_group_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "global_ip_group_name", value) + + @_builtins.property + @pulumi.getter(name="globalIpList") + def global_ip_list(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + """ + return pulumi.get(self, "global_ip_list") + + @global_ip_list.setter + def global_ip_list(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "global_ip_list", value) + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The region ID of the IP whitelist template. + """ + return pulumi.get(self, "region_id") + + @region_id.setter + def region_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region_id", value) + + +@pulumi.type_token("alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup") +class GlobalSecurityIpGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + global_ip_group_name: Optional[pulumi.Input[_builtins.str]] = None, + global_ip_list: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Polardb Global Security Ip Group resource. + + Global Security IP Group. + + For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.polardb.GlobalSecurityIpGroup("default", + global_ip_list="192.168.0.1", + global_ip_group_name="example_template") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Polardb Global Security Ip Group can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] global_ip_group_name: The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + :param pulumi.Input[_builtins.str] global_ip_list: The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GlobalSecurityIpGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Polardb Global Security Ip Group resource. + + Global Security IP Group. + + For information about Polardb Global Security Ip Group and how to use it, see [What is Global Security Ip Group](https://next.api.alibabacloud.com/document/polardb/2017-08-01/CreateGlobalSecurityIPGroup). + + > **NOTE:** Available since v1.266.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.polardb.GlobalSecurityIpGroup("default", + global_ip_list="192.168.0.1", + global_ip_group_name="example_template") + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Polardb Global Security Ip Group can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup example + ``` + + :param str resource_name: The name of the resource. + :param GlobalSecurityIpGroupArgs 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(GlobalSecurityIpGroupArgs, 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, + global_ip_group_name: Optional[pulumi.Input[_builtins.str]] = None, + global_ip_list: Optional[pulumi.Input[_builtins.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__ = GlobalSecurityIpGroupArgs.__new__(GlobalSecurityIpGroupArgs) + + if global_ip_group_name is None and not opts.urn: + raise TypeError("Missing required property 'global_ip_group_name'") + __props__.__dict__["global_ip_group_name"] = global_ip_group_name + if global_ip_list is None and not opts.urn: + raise TypeError("Missing required property 'global_ip_list'") + __props__.__dict__["global_ip_list"] = global_ip_list + __props__.__dict__["region_id"] = None + super(GlobalSecurityIpGroup, __self__).__init__( + 'alicloud:polardb/globalSecurityIpGroup:GlobalSecurityIpGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + global_ip_group_name: Optional[pulumi.Input[_builtins.str]] = None, + global_ip_list: Optional[pulumi.Input[_builtins.str]] = None, + region_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'GlobalSecurityIpGroup': + """ + Get an existing GlobalSecurityIpGroup 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[_builtins.str] global_ip_group_name: The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + :param pulumi.Input[_builtins.str] global_ip_list: The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + :param pulumi.Input[_builtins.str] region_id: The region ID of the IP whitelist template. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _GlobalSecurityIpGroupState.__new__(_GlobalSecurityIpGroupState) + + __props__.__dict__["global_ip_group_name"] = global_ip_group_name + __props__.__dict__["global_ip_list"] = global_ip_list + __props__.__dict__["region_id"] = region_id + return GlobalSecurityIpGroup(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="globalIpGroupName") + def global_ip_group_name(self) -> pulumi.Output[_builtins.str]: + """ + The name of the IP whitelist template. The name of the IP whitelist template must meet the following requirements: + + - The name can contain lowercase letters, digits, and underscores (\\_). + - The name must start with a letter and end with a letter or digit. + - The name must be 2 to 120 characters in length. + """ + return pulumi.get(self, "global_ip_group_name") + + @_builtins.property + @pulumi.getter(name="globalIpList") + def global_ip_list(self) -> pulumi.Output[_builtins.str]: + """ + The IP address in the whitelist template. + + > **NOTE:** Multiple IP addresses are separated by commas (,). You can create up to 1,000 IP addresses or CIDR blocks for all IP whitelists. + """ + return pulumi.get(self, "global_ip_list") + + @_builtins.property + @pulumi.getter(name="regionId") + def region_id(self) -> pulumi.Output[_builtins.str]: + """ + The region ID of the IP whitelist template. + """ + return pulumi.get(self, "region_id") + diff --git a/sdk/python/pulumi_alicloud/polardb/parameter_group.py b/sdk/python/pulumi_alicloud/polardb/parameter_group.py index cf7a94299d..266656cd1c 100644 --- a/sdk/python/pulumi_alicloud/polardb/parameter_group.py +++ b/sdk/python/pulumi_alicloud/polardb/parameter_group.py @@ -334,6 +334,8 @@ def __init__(__self__, description="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Polar Db Parameter Group can be imported using the id, e.g. @@ -395,6 +397,8 @@ def __init__(__self__, description="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Polar Db Parameter Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/primary_endpoint.py b/sdk/python/pulumi_alicloud/polardb/primary_endpoint.py index 18cf7271a5..a82158825d 100644 --- a/sdk/python/pulumi_alicloud/polardb/primary_endpoint.py +++ b/sdk/python/pulumi_alicloud/polardb/primary_endpoint.py @@ -392,6 +392,8 @@ def __init__(__self__, default_primary_endpoint = alicloud.polardb.PrimaryEndpoint("default", db_cluster_id=default_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. @@ -453,6 +455,8 @@ def __init__(__self__, default_primary_endpoint = alicloud.polardb.PrimaryEndpoint("default", db_cluster_id=default_cluster.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/zonal_account.py b/sdk/python/pulumi_alicloud/polardb/zonal_account.py index 24ca328976..58840e2ed0 100644 --- a/sdk/python/pulumi_alicloud/polardb/zonal_account.py +++ b/sdk/python/pulumi_alicloud/polardb/zonal_account.py @@ -250,6 +250,8 @@ def __init__(__self__, account_password="Example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Zonal account can be imported using the id, e.g. @@ -320,6 +322,8 @@ def __init__(__self__, account_password="Example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Zonal account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/zonal_db_cluster.py b/sdk/python/pulumi_alicloud/polardb/zonal_db_cluster.py index 87b1137230..aed97c4629 100644 --- a/sdk/python/pulumi_alicloud/polardb/zonal_db_cluster.py +++ b/sdk/python/pulumi_alicloud/polardb/zonal_db_cluster.py @@ -786,6 +786,8 @@ def __init__(__self__, db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs}) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB zonal cluster can be imported using the id, e.g. @@ -877,6 +879,8 @@ def __init__(__self__, db_cluster_nodes_configs={node: json.dumps({k: v for k, v in config if v != None}) for node, config in db_cluster_nodes_configs}) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB zonal cluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/polardb/zonal_endpoint.py b/sdk/python/pulumi_alicloud/polardb/zonal_endpoint.py index 7fd5836d32..8bd9ccbaa3 100644 --- a/sdk/python/pulumi_alicloud/polardb/zonal_endpoint.py +++ b/sdk/python/pulumi_alicloud/polardb/zonal_endpoint.py @@ -524,6 +524,8 @@ def __init__(__self__, read_write_mode="ReadWrite") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Zonal endpoint can be imported using the id, e.g. @@ -612,6 +614,8 @@ def __init__(__self__, read_write_mode="ReadWrite") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import PolarDB Zonal endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/get_vpc_endpoint_services.py b/sdk/python/pulumi_alicloud/privatelink/get_vpc_endpoint_services.py index c26bbae097..7f024939b4 100644 --- a/sdk/python/pulumi_alicloud/privatelink/get_vpc_endpoint_services.py +++ b/sdk/python/pulumi_alicloud/privatelink/get_vpc_endpoint_services.py @@ -66,7 +66,7 @@ def __init__(__self__, auto_accept_connection=None, id=None, ids=None, name_rege @pulumi.getter(name="autoAcceptConnection") def auto_accept_connection(self) -> Optional[_builtins.bool]: """ - Whether to automatically accept terminal node connections.. + Indicates whether endpoint connection requests are automatically accepted. """ return pulumi.get(self, "auto_accept_connection") @@ -105,7 +105,7 @@ def output_file(self) -> Optional[_builtins.str]: @pulumi.getter(name="serviceBusinessStatus") def service_business_status(self) -> Optional[_builtins.str]: """ - The business status of the terminal node service.. + The service state of the endpoint service. """ return pulumi.get(self, "service_business_status") @@ -113,7 +113,7 @@ def service_business_status(self) -> Optional[_builtins.str]: @pulumi.getter def services(self) -> Sequence['outputs.GetVpcEndpointServicesServiceResult']: """ - A list of Privatelink Vpc Endpoint Services. Each element contains the following attributes: + A list of Vpc Endpoint Services. Each element contains the following attributes: """ return pulumi.get(self, "services") @@ -121,7 +121,7 @@ def services(self) -> Sequence['outputs.GetVpcEndpointServicesServiceResult']: @pulumi.getter def status(self) -> Optional[_builtins.str]: """ - The Status of Vpc Endpoint Service. + The state of the endpoint service. """ return pulumi.get(self, "status") @@ -129,7 +129,7 @@ def status(self) -> Optional[_builtins.str]: @pulumi.getter def tags(self) -> Optional[Mapping[str, _builtins.str]]: """ - The tags of Vpc Endpoint Service. + The tags added to the resource. """ return pulumi.get(self, "tags") @@ -137,7 +137,7 @@ def tags(self) -> Optional[Mapping[str, _builtins.str]]: @pulumi.getter(name="vpcEndpointServiceName") def vpc_endpoint_service_name(self) -> Optional[_builtins.str]: """ - The name of Vpc Endpoint Service. + The name of the endpoint service. """ return pulumi.get(self, "vpc_endpoint_service_name") @@ -171,7 +171,7 @@ def get_vpc_endpoint_services(auto_accept_connection: Optional[_builtins.bool] = vpc_endpoint_service_name: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcEndpointServicesResult: """ - This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. > **NOTE:** Available since v1.109.0. @@ -183,23 +183,26 @@ def get_vpc_endpoint_services(auto_accept_connection: Optional[_builtins.bool] = import pulumi import pulumi_alicloud as alicloud - example_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService("example", - service_description="terraform-example", - connect_bandwidth=103, - auto_accept_connection=False) - example = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[example_vpc_endpoint_service.id]) - pulumi.export("firstPrivatelinkVpcEndpointServiceId", example.services[0].id) + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.privatelink.VpcEndpointService("default", + service_description=name, + auto_accept_connection=True) + ids = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[default.id]) + pulumi.export("privatelinkVpcEndpointServicesId0", ids.services[0].id) ``` - :param _builtins.bool auto_accept_connection: Whether to automatically accept terminal node connections. + :param _builtins.bool auto_accept_connection: Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. :param Sequence[_builtins.str] ids: A list of Vpc Endpoint Service IDs. :param _builtins.str name_regex: A regex string to filter results by Vpc Endpoint Service name. :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). - :param _builtins.str service_business_status: The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. - :param _builtins.str status: The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. - :param Mapping[str, _builtins.str] tags: The tags of Vpc Endpoint Service. - :param _builtins.str vpc_endpoint_service_name: The name of Vpc Endpoint Service. + :param _builtins.str service_business_status: The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. + :param _builtins.str status: The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource. + :param _builtins.str vpc_endpoint_service_name: The name of the endpoint service. """ __args__ = dict() __args__['autoAcceptConnection'] = auto_accept_connection @@ -235,7 +238,7 @@ def get_vpc_endpoint_services_output(auto_accept_connection: Optional[pulumi.Inp vpc_endpoint_service_name: Optional[pulumi.Input[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcEndpointServicesResult]: """ - This data source provides the Privatelink Vpc Endpoint Services of the current Alibaba Cloud user. + This data source provides the Private Link Vpc Endpoint Services of the current Alibaba Cloud user. > **NOTE:** Available since v1.109.0. @@ -247,23 +250,26 @@ def get_vpc_endpoint_services_output(auto_accept_connection: Optional[pulumi.Inp import pulumi import pulumi_alicloud as alicloud - example_vpc_endpoint_service = alicloud.privatelink.VpcEndpointService("example", - service_description="terraform-example", - connect_bandwidth=103, - auto_accept_connection=False) - example = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[example_vpc_endpoint_service.id]) - pulumi.export("firstPrivatelinkVpcEndpointServiceId", example.services[0].id) + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.privatelink.VpcEndpointService("default", + service_description=name, + auto_accept_connection=True) + ids = alicloud.privatelink.get_vpc_endpoint_services_output(ids=[default.id]) + pulumi.export("privatelinkVpcEndpointServicesId0", ids.services[0].id) ``` - :param _builtins.bool auto_accept_connection: Whether to automatically accept terminal node connections. + :param _builtins.bool auto_accept_connection: Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. :param Sequence[_builtins.str] ids: A list of Vpc Endpoint Service IDs. :param _builtins.str name_regex: A regex string to filter results by Vpc Endpoint Service name. :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). - :param _builtins.str service_business_status: The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. - :param _builtins.str status: The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. - :param Mapping[str, _builtins.str] tags: The tags of Vpc Endpoint Service. - :param _builtins.str vpc_endpoint_service_name: The name of Vpc Endpoint Service. + :param _builtins.str service_business_status: The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. + :param _builtins.str status: The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource. + :param _builtins.str vpc_endpoint_service_name: The name of the endpoint service. """ __args__ = dict() __args__['autoAcceptConnection'] = auto_accept_connection diff --git a/sdk/python/pulumi_alicloud/privatelink/outputs.py b/sdk/python/pulumi_alicloud/privatelink/outputs.py index 08747e4d98..ea426e16b3 100644 --- a/sdk/python/pulumi_alicloud/privatelink/outputs.py +++ b/sdk/python/pulumi_alicloud/privatelink/outputs.py @@ -157,16 +157,16 @@ def __init__(__self__, *, tags: Mapping[str, _builtins.str], vpc_endpoint_service_name: _builtins.str): """ - :param _builtins.bool auto_accept_connection: Whether to automatically accept terminal node connections. - :param _builtins.int connect_bandwidth: The connection bandwidth. + :param _builtins.bool auto_accept_connection: Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. + :param _builtins.int connect_bandwidth: The default maximum bandwidth of the endpoint connection. :param _builtins.str id: The ID of the Vpc Endpoint Service. - :param _builtins.str service_business_status: The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. - :param _builtins.str service_description: The description of the terminal node service. - :param _builtins.str service_domain: The domain of service. - :param _builtins.str service_id: The ID of the Vpc Endpoint Service. - :param _builtins.str status: The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. - :param Mapping[str, _builtins.str] tags: The tags of Vpc Endpoint Service. - :param _builtins.str vpc_endpoint_service_name: The name of Vpc Endpoint Service. + :param _builtins.str service_business_status: The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. + :param _builtins.str service_description: The description of the endpoint service. + :param _builtins.str service_domain: The domain name of the endpoint service. + :param _builtins.str service_id: The ID of the endpoint service. + :param _builtins.str status: The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + :param Mapping[str, _builtins.str] tags: A mapping of tags to assign to the resource. + :param _builtins.str vpc_endpoint_service_name: The name of the endpoint service. """ pulumi.set(__self__, "auto_accept_connection", auto_accept_connection) pulumi.set(__self__, "connect_bandwidth", connect_bandwidth) @@ -183,7 +183,7 @@ def __init__(__self__, *, @pulumi.getter(name="autoAcceptConnection") def auto_accept_connection(self) -> _builtins.bool: """ - Whether to automatically accept terminal node connections. + Specifies whether to automatically accept endpoint connection requests. Valid values: : `true`, `false`. """ return pulumi.get(self, "auto_accept_connection") @@ -191,7 +191,7 @@ def auto_accept_connection(self) -> _builtins.bool: @pulumi.getter(name="connectBandwidth") def connect_bandwidth(self) -> _builtins.int: """ - The connection bandwidth. + The default maximum bandwidth of the endpoint connection. """ return pulumi.get(self, "connect_bandwidth") @@ -207,7 +207,7 @@ def id(self) -> _builtins.str: @pulumi.getter(name="serviceBusinessStatus") def service_business_status(self) -> _builtins.str: """ - The business status of the terminal node service. Valid Value: `Normal`, `FinancialLocked` and `SecurityLocked`. + The service state of the endpoint service. Default value: `Normal`. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`. """ return pulumi.get(self, "service_business_status") @@ -215,7 +215,7 @@ def service_business_status(self) -> _builtins.str: @pulumi.getter(name="serviceDescription") def service_description(self) -> _builtins.str: """ - The description of the terminal node service. + The description of the endpoint service. """ return pulumi.get(self, "service_description") @@ -223,7 +223,7 @@ def service_description(self) -> _builtins.str: @pulumi.getter(name="serviceDomain") def service_domain(self) -> _builtins.str: """ - The domain of service. + The domain name of the endpoint service. """ return pulumi.get(self, "service_domain") @@ -231,7 +231,7 @@ def service_domain(self) -> _builtins.str: @pulumi.getter(name="serviceId") def service_id(self) -> _builtins.str: """ - The ID of the Vpc Endpoint Service. + The ID of the endpoint service. """ return pulumi.get(self, "service_id") @@ -239,7 +239,7 @@ def service_id(self) -> _builtins.str: @pulumi.getter def status(self) -> _builtins.str: """ - The Status of Vpc Endpoint Service. Valid Value: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. + The state of the endpoint service. Valid values: `Active`, `Creating`, `Deleted`, `Deleting` and `Pending`. """ return pulumi.get(self, "status") @@ -247,7 +247,7 @@ def status(self) -> _builtins.str: @pulumi.getter def tags(self) -> Mapping[str, _builtins.str]: """ - The tags of Vpc Endpoint Service. + A mapping of tags to assign to the resource. """ return pulumi.get(self, "tags") @@ -255,7 +255,7 @@ def tags(self) -> Mapping[str, _builtins.str]: @pulumi.getter(name="vpcEndpointServiceName") def vpc_endpoint_service_name(self) -> _builtins.str: """ - The name of Vpc Endpoint Service. + The name of the endpoint service. """ return pulumi.get(self, "vpc_endpoint_service_name") diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint.py index 0d42ed9a82..be5850e17b 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint.py @@ -690,6 +690,8 @@ def __init__(__self__, protected_enabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint can be imported using the id, e.g. @@ -781,6 +783,8 @@ def __init__(__self__, protected_enabled=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service.py index 02b57a9b09..412fdcde45 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service.py @@ -531,6 +531,8 @@ def __init__(__self__, auto_accept_connection=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service can be imported using the id, e.g. @@ -586,6 +588,8 @@ def __init__(__self__, auto_accept_connection=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_connection.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_connection.py index 2b989c3b59..54556f1733 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_connection.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_connection.py @@ -250,6 +250,8 @@ def __init__(__self__, bandwidth=1024) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Connection can be imported using the id, e.g. @@ -330,6 +332,8 @@ def __init__(__self__, bandwidth=1024) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_resource.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_resource.py index 059ccff55f..a52b8a0675 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_resource.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_resource.py @@ -270,6 +270,8 @@ def __init__(__self__, resource_type="slb") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. @@ -345,6 +347,8 @@ def __init__(__self__, resource_type="slb") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service Resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_user.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_user.py index f1b94ee664..9c5c624d82 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_user.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_service_user.py @@ -205,6 +205,8 @@ def __init__(__self__, user_id=example_user.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service User can be imported using the id, e.g. @@ -262,6 +264,8 @@ def __init__(__self__, user_id=example_user.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Service User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_zone.py b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_zone.py index 2e07c1e886..9094e26b1e 100644 --- a/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_zone.py +++ b/sdk/python/pulumi_alicloud/privatelink/vpc_endpoint_zone.py @@ -289,6 +289,8 @@ def __init__(__self__, zone_id=example.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Zone can be imported using the id, e.g. @@ -366,6 +368,8 @@ def __init__(__self__, zone_id=example.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Link Vpc Endpoint Zone can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/endpoint.py b/sdk/python/pulumi_alicloud/pvtz/endpoint.py index 815b33fdfc..8e367784f6 100644 --- a/sdk/python/pulumi_alicloud/pvtz/endpoint.py +++ b/sdk/python/pulumi_alicloud/pvtz/endpoint.py @@ -272,6 +272,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Endpoint can be imported using the id, e.g. @@ -349,6 +351,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/rule.py b/sdk/python/pulumi_alicloud/pvtz/rule.py index 40c6d304c9..a9726f8a9d 100644 --- a/sdk/python/pulumi_alicloud/pvtz/rule.py +++ b/sdk/python/pulumi_alicloud/pvtz/rule.py @@ -270,6 +270,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Rule can be imported using the id, e.g. @@ -360,6 +362,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/rule_attachment.py b/sdk/python/pulumi_alicloud/pvtz/rule_attachment.py index 552eed4bbb..8c152eb795 100644 --- a/sdk/python/pulumi_alicloud/pvtz/rule_attachment.py +++ b/sdk/python/pulumi_alicloud/pvtz/rule_attachment.py @@ -187,6 +187,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Rule Attachment can be imported using the id, e.g. @@ -288,6 +290,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Rule Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/user_vpc_authorization.py b/sdk/python/pulumi_alicloud/pvtz/user_vpc_authorization.py index a1ba248f87..66a1cf450b 100644 --- a/sdk/python/pulumi_alicloud/pvtz/user_vpc_authorization.py +++ b/sdk/python/pulumi_alicloud/pvtz/user_vpc_authorization.py @@ -159,6 +159,8 @@ def __init__(__self__, auth_channel="RESOURCE_DIRECTORY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone User Vpc Authorization can be imported using the id, e.g. @@ -201,6 +203,8 @@ def __init__(__self__, auth_channel="RESOURCE_DIRECTORY") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone User Vpc Authorization can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/zone.py b/sdk/python/pulumi_alicloud/pvtz/zone.py index da4002f251..80d569444a 100644 --- a/sdk/python/pulumi_alicloud/pvtz/zone.py +++ b/sdk/python/pulumi_alicloud/pvtz/zone.py @@ -435,6 +435,8 @@ def __init__(__self__, foo = alicloud.pvtz.Zone("foo", zone_name="foo.example.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone can be imported using the id, e.g. @@ -477,6 +479,8 @@ def __init__(__self__, foo = alicloud.pvtz.Zone("foo", zone_name="foo.example.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/zone_attachment.py b/sdk/python/pulumi_alicloud/pvtz/zone_attachment.py index 0609c5ddd9..d03a9f600e 100644 --- a/sdk/python/pulumi_alicloud/pvtz/zone_attachment.py +++ b/sdk/python/pulumi_alicloud/pvtz/zone_attachment.py @@ -286,6 +286,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone attachment can be imported using the id(same with `zone_id`), e.g. @@ -389,6 +391,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone attachment can be imported using the id(same with `zone_id`), e.g. diff --git a/sdk/python/pulumi_alicloud/pvtz/zone_record.py b/sdk/python/pulumi_alicloud/pvtz/zone_record.py index 7f0fd334b4..3974cea088 100644 --- a/sdk/python/pulumi_alicloud/pvtz/zone_record.py +++ b/sdk/python/pulumi_alicloud/pvtz/zone_record.py @@ -441,6 +441,8 @@ def __init__(__self__, ttl=60) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Record can be imported using the id, e.g. @@ -488,6 +490,8 @@ def __init__(__self__, ttl=60) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Private Zone Record can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/quickbi/user.py b/sdk/python/pulumi_alicloud/quickbi/user.py index 51e72f8964..816a4c42f5 100644 --- a/sdk/python/pulumi_alicloud/quickbi/user.py +++ b/sdk/python/pulumi_alicloud/quickbi/user.py @@ -255,6 +255,8 @@ def __init__(__self__, user_type="Analyst") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quick BI User can be imported using the id, e.g. @@ -301,6 +303,8 @@ def __init__(__self__, user_type="Analyst") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quick BI User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/quotas/quota_alarm.py b/sdk/python/pulumi_alicloud/quotas/quota_alarm.py index 21a6dac6e4..cf37e5e453 100644 --- a/sdk/python/pulumi_alicloud/quotas/quota_alarm.py +++ b/sdk/python/pulumi_alicloud/quotas/quota_alarm.py @@ -361,6 +361,8 @@ def __init__(__self__, threshold_type="used") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quotas Quota Alarm can be imported using the id, e.g. @@ -423,6 +425,8 @@ def __init__(__self__, threshold_type="used") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quotas Quota Alarm can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/quotas/template_quota.py b/sdk/python/pulumi_alicloud/quotas/template_quota.py index 9ec2340f35..b9fcc87ee7 100644 --- a/sdk/python/pulumi_alicloud/quotas/template_quota.py +++ b/sdk/python/pulumi_alicloud/quotas/template_quota.py @@ -395,6 +395,8 @@ def __init__(__self__, quota_category="CommonQuota") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quotas Template Quota can be imported using the id, e.g. @@ -460,6 +462,8 @@ def __init__(__self__, quota_category="CommonQuota") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Quotas Template Quota can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/access_key.py b/sdk/python/pulumi_alicloud/ram/access_key.py index 0e9f10748c..e6824b8e55 100644 --- a/sdk/python/pulumi_alicloud/ram/access_key.py +++ b/sdk/python/pulumi_alicloud/ram/access_key.py @@ -331,6 +331,8 @@ def __init__(__self__, pulumi.export("encryptedSecret", encrypt.encrypted_secret) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] pgp_key: Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists` @@ -432,6 +434,8 @@ def __init__(__self__, pulumi.export("encryptedSecret", encrypt.encrypted_secret) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param AccessKeyArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ram/account_password_policy.py b/sdk/python/pulumi_alicloud/ram/account_password_policy.py index ef8b229369..5d90c037bf 100644 --- a/sdk/python/pulumi_alicloud/ram/account_password_policy.py +++ b/sdk/python/pulumi_alicloud/ram/account_password_policy.py @@ -365,6 +365,8 @@ def __init__(__self__, ``` For not specified values sets defaults. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM account password policy can be imported using the `id`, e.g. @@ -422,6 +424,8 @@ def __init__(__self__, ``` For not specified values sets defaults. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM account password policy can be imported using the `id`, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/group.py b/sdk/python/pulumi_alicloud/ram/group.py index e684df41e7..f5eed83798 100644 --- a/sdk/python/pulumi_alicloud/ram/group.py +++ b/sdk/python/pulumi_alicloud/ram/group.py @@ -234,6 +234,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group can be imported using the id, e.g. @@ -285,6 +287,8 @@ def __init__(__self__, force=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/group_membership.py b/sdk/python/pulumi_alicloud/ram/group_membership.py index 6accb0f7fe..3eda8ac893 100644 --- a/sdk/python/pulumi_alicloud/ram/group_membership.py +++ b/sdk/python/pulumi_alicloud/ram/group_membership.py @@ -104,10 +104,6 @@ def __init__(__self__, user_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): """ - Provides a RAM Group membership resource. - - > **NOTE:** Available since v1.0.0+. - ## Example Usage ```python @@ -145,6 +141,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group membership can be imported using the id, e.g. @@ -165,10 +163,6 @@ def __init__(__self__, args: GroupMembershipArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a RAM Group membership resource. - - > **NOTE:** Available since v1.0.0+. - ## Example Usage ```python @@ -206,6 +200,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group membership can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/group_policy_attachment.py b/sdk/python/pulumi_alicloud/ram/group_policy_attachment.py index 23a1dc5086..5684992d36 100644 --- a/sdk/python/pulumi_alicloud/ram/group_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/ram/group_policy_attachment.py @@ -192,6 +192,8 @@ def __init__(__self__, group_name=group.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group Policy Attachment can be imported using the id, e.g. @@ -263,6 +265,8 @@ def __init__(__self__, group_name=group.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Group Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/login_profile.py b/sdk/python/pulumi_alicloud/ram/login_profile.py index 1b3661f4e1..62bfb6e18b 100644 --- a/sdk/python/pulumi_alicloud/ram/login_profile.py +++ b/sdk/python/pulumi_alicloud/ram/login_profile.py @@ -228,6 +228,8 @@ def __init__(__self__, password="Example_1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Login Profile can be imported using the id, e.g. @@ -280,6 +282,8 @@ def __init__(__self__, password="Example_1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Login Profile can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/policy.py b/sdk/python/pulumi_alicloud/ram/policy.py index 69e217e07d..c9f81728b4 100644 --- a/sdk/python/pulumi_alicloud/ram/policy.py +++ b/sdk/python/pulumi_alicloud/ram/policy.py @@ -539,6 +539,8 @@ def __init__(__self__, description="this is a policy test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Policy can be imported using the id, e.g. @@ -616,6 +618,8 @@ def __init__(__self__, description="this is a policy test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/role.py b/sdk/python/pulumi_alicloud/ram/role.py index be2626c16f..93eaeda93a 100644 --- a/sdk/python/pulumi_alicloud/ram/role.py +++ b/sdk/python/pulumi_alicloud/ram/role.py @@ -532,6 +532,8 @@ def __init__(__self__, description="this is a role test.") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Role can be imported using the id, e.g. @@ -602,6 +604,8 @@ def __init__(__self__, description="this is a role test.") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Role can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/role_attachment.py b/sdk/python/pulumi_alicloud/ram/role_attachment.py index 23d5a8949d..b48ca9a44c 100644 --- a/sdk/python/pulumi_alicloud/ram/role_attachment.py +++ b/sdk/python/pulumi_alicloud/ram/role_attachment.py @@ -183,6 +183,8 @@ def __init__(__self__, instance_ids=[__item.id for __item in [foo]]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_ids: The list of ECS instance's IDs. @@ -274,6 +276,8 @@ def __init__(__self__, instance_ids=[__item.id for __item in [foo]]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param RoleAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/ram/role_policy_attachment.py b/sdk/python/pulumi_alicloud/ram/role_policy_attachment.py index 83550fd3cf..e75f65162b 100644 --- a/sdk/python/pulumi_alicloud/ram/role_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/ram/role_policy_attachment.py @@ -208,6 +208,8 @@ def __init__(__self__, role_name=role.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Role Policy Attachment can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, role_name=role.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Role Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/saml_provider.py b/sdk/python/pulumi_alicloud/ram/saml_provider.py index bd12853a17..d09d5ac013 100644 --- a/sdk/python/pulumi_alicloud/ram/saml_provider.py +++ b/sdk/python/pulumi_alicloud/ram/saml_provider.py @@ -193,6 +193,8 @@ def __init__(__self__, description="For Terraform Test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Saml Provider can be imported using the id, e.g. @@ -235,6 +237,8 @@ def __init__(__self__, description="For Terraform Test") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM Saml Provider can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/user.py b/sdk/python/pulumi_alicloud/ram/user.py index 7bc930edf9..d0e905c0ee 100644 --- a/sdk/python/pulumi_alicloud/ram/user.py +++ b/sdk/python/pulumi_alicloud/ram/user.py @@ -267,6 +267,8 @@ def __init__(__self__, comments="yoyoyo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User can be imported using the id, e.g. @@ -320,6 +322,8 @@ def __init__(__self__, comments="yoyoyo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/user_group_attachment.py b/sdk/python/pulumi_alicloud/ram/user_group_attachment.py index ab30ac3317..7b5b103ab0 100644 --- a/sdk/python/pulumi_alicloud/ram/user_group_attachment.py +++ b/sdk/python/pulumi_alicloud/ram/user_group_attachment.py @@ -135,6 +135,8 @@ def __init__(__self__, user_name=default_user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User Group Attachment can be imported using the id, e.g. @@ -186,6 +188,8 @@ def __init__(__self__, user_name=default_user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User Group Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ram/user_policy_attachment.py b/sdk/python/pulumi_alicloud/ram/user_policy_attachment.py index 9e5d665a7d..a43d014985 100644 --- a/sdk/python/pulumi_alicloud/ram/user_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/ram/user_policy_attachment.py @@ -195,6 +195,8 @@ def __init__(__self__, user_name=user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User Policy Attachment can be imported using the id, e.g. @@ -269,6 +271,8 @@ def __init__(__self__, user_name=user.name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RAM User Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rdc/organization.py b/sdk/python/pulumi_alicloud/rdc/organization.py index b4c5c0bd06..2de494a0ff 100644 --- a/sdk/python/pulumi_alicloud/rdc/organization.py +++ b/sdk/python/pulumi_alicloud/rdc/organization.py @@ -191,6 +191,8 @@ def __init__(__self__, source="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDC Organization can be imported using the id, e.g. @@ -234,6 +236,8 @@ def __init__(__self__, source="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDC Organization can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/account.py b/sdk/python/pulumi_alicloud/rds/account.py index 96a59f8c59..330da98781 100644 --- a/sdk/python/pulumi_alicloud/rds/account.py +++ b/sdk/python/pulumi_alicloud/rds/account.py @@ -23,6 +23,7 @@ def __init__(__self__, *, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -31,6 +32,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Account resource. @@ -54,6 +56,8 @@ def __init__(__self__, *, pulumi.set(__self__, "account_password", account_password) if account_type is not None: pulumi.set(__self__, "account_type", account_type) + if check_policy is not None: + pulumi.set(__self__, "check_policy", check_policy) if db_instance_id is not None: pulumi.set(__self__, "db_instance_id", db_instance_id) if description is not None: @@ -82,6 +86,8 @@ def __init__(__self__, *, pulumi.set(__self__, "password", password) if reset_permission_flag is not None: pulumi.set(__self__, "reset_permission_flag", reset_permission_flag) + if status is not None: + pulumi.set(__self__, "status", status) if type is not None: warnings.warn("""Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""", DeprecationWarning) pulumi.log.warn("""type is deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""") @@ -124,6 +130,15 @@ def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: def account_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_type", value) + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "check_policy") + + @check_policy.setter + def check_policy(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "check_policy", value) + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -218,6 +233,15 @@ def reset_permission_flag(self) -> Optional[pulumi.Input[_builtins.bool]]: def reset_permission_flag(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "reset_permission_flag", value) + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + @_builtins.property @pulumi.getter @_utilities.deprecated("""Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""") @@ -243,6 +267,7 @@ def __init__(__self__, *, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -275,6 +300,8 @@ def __init__(__self__, *, pulumi.set(__self__, "account_password", account_password) if account_type is not None: pulumi.set(__self__, "account_type", account_type) + if check_policy is not None: + pulumi.set(__self__, "check_policy", check_policy) if db_instance_id is not None: pulumi.set(__self__, "db_instance_id", db_instance_id) if description is not None: @@ -347,6 +374,15 @@ def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: def account_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_type", value) + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> Optional[pulumi.Input[_builtins.bool]]: + return pulumi.get(self, "check_policy") + + @check_policy.setter + def check_policy(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "check_policy", value) + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -478,6 +514,7 @@ def __init__(__self__, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -486,6 +523,7 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ @@ -528,6 +566,8 @@ def __init__(__self__, password="Test12345") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS account can be imported using the id, e.g. @@ -596,6 +636,8 @@ def __init__(__self__, password="Test12345") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS account can be imported using the id, e.g. @@ -623,6 +665,7 @@ def _internal_init(__self__, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -631,6 +674,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -645,6 +689,7 @@ def _internal_init(__self__, __props__.__dict__["account_name"] = account_name __props__.__dict__["account_password"] = None if account_password is None else pulumi.Output.secret(account_password) __props__.__dict__["account_type"] = account_type + __props__.__dict__["check_policy"] = check_policy __props__.__dict__["db_instance_id"] = db_instance_id __props__.__dict__["description"] = description __props__.__dict__["instance_id"] = instance_id @@ -653,8 +698,8 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) __props__.__dict__["reset_permission_flag"] = reset_permission_flag + __props__.__dict__["status"] = status __props__.__dict__["type"] = type - __props__.__dict__["status"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accountPassword", "password"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Account, __self__).__init__( @@ -671,6 +716,7 @@ def get(resource_name: str, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -708,6 +754,7 @@ def get(resource_name: str, __props__.__dict__["account_name"] = account_name __props__.__dict__["account_password"] = account_password __props__.__dict__["account_type"] = account_type + __props__.__dict__["check_policy"] = check_policy __props__.__dict__["db_instance_id"] = db_instance_id __props__.__dict__["description"] = description __props__.__dict__["instance_id"] = instance_id @@ -740,6 +787,11 @@ def account_password(self) -> pulumi.Output[_builtins.str]: def account_type(self) -> pulumi.Output[_builtins.str]: return pulumi.get(self, "account_type") + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> pulumi.Output[Optional[_builtins.bool]]: + return pulumi.get(self, "check_policy") + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_alicloud/rds/account_privilege.py b/sdk/python/pulumi_alicloud/rds/account_privilege.py index b14f2acf25..0749353462 100644 --- a/sdk/python/pulumi_alicloud/rds/account_privilege.py +++ b/sdk/python/pulumi_alicloud/rds/account_privilege.py @@ -244,6 +244,8 @@ def __init__(__self__, db_names=[__item.name for __item in db]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS account privilege can be imported using the id, e.g. @@ -323,6 +325,8 @@ def __init__(__self__, db_names=[__item.name for __item in db]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS account privilege can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/backup_policy.py b/sdk/python/pulumi_alicloud/rds/backup_policy.py index e99c330b1c..34362d3a4f 100644 --- a/sdk/python/pulumi_alicloud/rds/backup_policy.py +++ b/sdk/python/pulumi_alicloud/rds/backup_policy.py @@ -1069,6 +1069,8 @@ def __init__(__self__, policy = alicloud.rds.BackupPolicy("policy", instance_id=instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS backup policy can be imported using the id or instance id, e.g. @@ -1173,6 +1175,8 @@ def __init__(__self__, policy = alicloud.rds.BackupPolicy("policy", instance_id=instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS backup policy can be imported using the id or instance id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/connection.py b/sdk/python/pulumi_alicloud/rds/connection.py index 0874ac52e9..666448db7c 100644 --- a/sdk/python/pulumi_alicloud/rds/connection.py +++ b/sdk/python/pulumi_alicloud/rds/connection.py @@ -250,6 +250,8 @@ def __init__(__self__, connection_prefix="testabc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS connection can be imported using the id, e.g. @@ -313,6 +315,8 @@ def __init__(__self__, connection_prefix="testabc") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/custom.py b/sdk/python/pulumi_alicloud/rds/custom.py index 5fb1c6bec6..128965c5f2 100644 --- a/sdk/python/pulumi_alicloud/rds/custom.py +++ b/sdk/python/pulumi_alicloud/rds/custom.py @@ -1281,6 +1281,8 @@ def __init__(__self__, dry_run=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom can be imported using the id, e.g. @@ -1435,6 +1437,8 @@ def __init__(__self__, dry_run=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/custom_deployment_set.py b/sdk/python/pulumi_alicloud/rds/custom_deployment_set.py index a649c5e99b..3d8afaeb3f 100644 --- a/sdk/python/pulumi_alicloud/rds/custom_deployment_set.py +++ b/sdk/python/pulumi_alicloud/rds/custom_deployment_set.py @@ -301,6 +301,8 @@ def __init__(__self__, strategy="Availability") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom Deployment Set can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, strategy="Availability") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom Deployment Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/custom_disk.py b/sdk/python/pulumi_alicloud/rds/custom_disk.py index 9775bee4c8..0ab17b62b5 100644 --- a/sdk/python/pulumi_alicloud/rds/custom_disk.py +++ b/sdk/python/pulumi_alicloud/rds/custom_disk.py @@ -652,6 +652,8 @@ def __init__(__self__, period_unit="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom Disk can be imported using the id, e.g. @@ -734,6 +736,8 @@ def __init__(__self__, period_unit="1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Custom Disk can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/database.py b/sdk/python/pulumi_alicloud/rds/database.py index 2751257274..60e9452339 100644 --- a/sdk/python/pulumi_alicloud/rds/database.py +++ b/sdk/python/pulumi_alicloud/rds/database.py @@ -21,11 +21,12 @@ class DatabaseArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], character_set: Optional[pulumi.Input[_builtins.str]] = None, + data_base_name: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, name: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Database resource. - :param pulumi.Input[_builtins.str] instance_id: The Id of instance that can run database. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. You can call the DescribeDBInstances operation to query the instance ID. :param pulumi.Input[_builtins.str] character_set: Character set. The value range is limited to the following: - MySQL: [ utf8, gbk, latin1, utf8mb4 ] \\(`utf8mb4` only supports versions 5.5 and 5.6\\). - SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ] @@ -36,22 +37,27 @@ def __init__(__self__, *, - MariaDB: [ utf8, gbk, latin1, utf8mb4 ] More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) - :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. - :param pulumi.Input[_builtins.str] name: The name of the database. - * > **NOTE:** + :param pulumi.Input[_builtins.str] data_base_name: The name of the database. + > **NOTE:** The name must be 2 to 64 characters in length. The name must start with a lowercase letter and end with a lowercase letter or digit. The name can contain lowercase letters, digits, underscores (_), and hyphens (-). The name must be unique within the instance. For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. """ pulumi.set(__self__, "instance_id", instance_id) if character_set is not None: pulumi.set(__self__, "character_set", character_set) + if data_base_name is not None: + pulumi.set(__self__, "data_base_name", data_base_name) if description is not None: pulumi.set(__self__, "description", description) + if name is not None: + warnings.warn("""Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) @@ -59,7 +65,7 @@ def __init__(__self__, *, @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Input[_builtins.str]: """ - The Id of instance that can run database. + The instance ID. You can call the DescribeDBInstances operation to query the instance ID. """ return pulumi.get(self, "instance_id") @@ -88,13 +94,29 @@ def character_set(self) -> Optional[pulumi.Input[_builtins.str]]: def character_set(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "character_set", value) + @_builtins.property + @pulumi.getter(name="dataBaseName") + def data_base_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the database. + > **NOTE:** + The name must be 2 to 64 characters in length. + The name must start with a lowercase letter and end with a lowercase letter or digit. + The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + The name must be unique within the instance. + For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + """ + return pulumi.get(self, "data_base_name") + + @data_base_name.setter + def data_base_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "data_base_name", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. """ return pulumi.get(self, "description") @@ -104,15 +126,11 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the database. - * > **NOTE:** - The name must be 2 to 64 characters in length. - The name must start with a lowercase letter and end with a lowercase letter or digit. - The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - The name must be unique within the instance. - For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. """ return pulumi.get(self, "name") @@ -125,9 +143,11 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): class _DatabaseState: def __init__(__self__, *, character_set: Optional[pulumi.Input[_builtins.str]] = None, + data_base_name: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, - name: Optional[pulumi.Input[_builtins.str]] = None): + name: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Database resources. :param pulumi.Input[_builtins.str] character_set: Character set. The value range is limited to the following: @@ -140,26 +160,34 @@ def __init__(__self__, *, - MariaDB: [ utf8, gbk, latin1, utf8mb4 ] More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) - :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. - :param pulumi.Input[_builtins.str] instance_id: The Id of instance that can run database. - :param pulumi.Input[_builtins.str] name: The name of the database. - * > **NOTE:** + :param pulumi.Input[_builtins.str] data_base_name: The name of the database. + > **NOTE:** The name must be 2 to 64 characters in length. The name must start with a lowercase letter and end with a lowercase letter or digit. The name can contain lowercase letters, digits, underscores (_), and hyphens (-). The name must be unique within the instance. For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. + :param pulumi.Input[_builtins.str] status: The status of the resource """ if character_set is not None: pulumi.set(__self__, "character_set", character_set) + if data_base_name is not None: + pulumi.set(__self__, "data_base_name", data_base_name) if description is not None: pulumi.set(__self__, "description", description) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) + if name is not None: + warnings.warn("""Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""", DeprecationWarning) + pulumi.log.warn("""name is deprecated: Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""") if name is not None: pulumi.set(__self__, "name", name) + if status is not None: + pulumi.set(__self__, "status", status) @_builtins.property @pulumi.getter(name="characterSet") @@ -182,13 +210,29 @@ def character_set(self) -> Optional[pulumi.Input[_builtins.str]]: def character_set(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "character_set", value) + @_builtins.property + @pulumi.getter(name="dataBaseName") + def data_base_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The name of the database. + > **NOTE:** + The name must be 2 to 64 characters in length. + The name must start with a lowercase letter and end with a lowercase letter or digit. + The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + The name must be unique within the instance. + For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + """ + return pulumi.get(self, "data_base_name") + + @data_base_name.setter + def data_base_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "data_base_name", value) + @_builtins.property @pulumi.getter def description(self) -> Optional[pulumi.Input[_builtins.str]]: """ Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. """ return pulumi.get(self, "description") @@ -200,7 +244,7 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="instanceId") def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The Id of instance that can run database. + The instance ID. You can call the DescribeDBInstances operation to query the instance ID. """ return pulumi.get(self, "instance_id") @@ -210,15 +254,11 @@ def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""") def name(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the database. - * > **NOTE:** - The name must be 2 to 64 characters in length. - The name must start with a lowercase letter and end with a lowercase letter or digit. - The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - The name must be unique within the instance. - For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. """ return pulumi.get(self, "name") @@ -226,6 +266,18 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", value) + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The status of the resource + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + @pulumi.type_token("alicloud:rds/database:Database") class Database(pulumi.CustomResource): @@ -234,12 +286,17 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, character_set: Optional[pulumi.Input[_builtins.str]] = None, + data_base_name: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). + Provides a RDS Database resource. + + Supports creating a database under an instance. + + For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). > **NOTE:** Available since v1.5.0. @@ -254,7 +311,16 @@ def __init__(__self__, if name is None: name = "tf-example" default = alicloud.rds.get_zones(engine="MySQL", - engine_version="5.6") + engine_version="8.0", + instance_charge_type="PostPaid", + category="HighAvailability", + db_instance_storage_type="cloud_essd") + default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id, + engine="MySQL", + engine_version="8.0", + category="HighAvailability", + db_instance_storage_type="cloud_essd", + instance_charge_type="PostPaid") default_network = alicloud.vpc.Network("default", vpc_name=name, cidr_block="172.16.0.0/16") @@ -265,22 +331,27 @@ def __init__(__self__, vswitch_name=name) default_instance = alicloud.rds.Instance("default", engine="MySQL", - engine_version="5.6", - instance_type="rds.mysql.s1.small", - instance_storage=10, + engine_version="8.0", + db_instance_storage_type="cloud_essd", + instance_type=default_get_instance_classes.instance_classes[0].instance_class, + instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min, vswitch_id=default_switch.id, - instance_name=name) + instance_name=name, + instance_charge_type="Postpaid") default_database = alicloud.rds.Database("default", instance_id=default_instance.id, - name=name) + data_base_name=name, + character_set="utf8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - RDS database can be imported using the id, e.g. + RDS Database can be imported using the id, e.g. ```sh - $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" + $ pulumi import alicloud:rds/database:Database example : ``` :param str resource_name: The name of the resource. @@ -295,17 +366,17 @@ def __init__(__self__, - MariaDB: [ utf8, gbk, latin1, utf8mb4 ] More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) - :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. - :param pulumi.Input[_builtins.str] instance_id: The Id of instance that can run database. - :param pulumi.Input[_builtins.str] name: The name of the database. - * > **NOTE:** + :param pulumi.Input[_builtins.str] data_base_name: The name of the database. + > **NOTE:** The name must be 2 to 64 characters in length. The name must start with a lowercase letter and end with a lowercase letter or digit. The name can contain lowercase letters, digits, underscores (_), and hyphens (-). The name must be unique within the instance. For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. """ ... @overload @@ -314,7 +385,11 @@ def __init__(__self__, args: DatabaseArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases, see [What is DB Database](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/api-rds-2014-08-15-createdatabase). + Provides a RDS Database resource. + + Supports creating a database under an instance. + + For information about RDS Database and how to use it, see [What is Database](https://next.api.alibabacloud.com/document/Rds/2014-08-15/CreateDatabase). > **NOTE:** Available since v1.5.0. @@ -329,7 +404,16 @@ def __init__(__self__, if name is None: name = "tf-example" default = alicloud.rds.get_zones(engine="MySQL", - engine_version="5.6") + engine_version="8.0", + instance_charge_type="PostPaid", + category="HighAvailability", + db_instance_storage_type="cloud_essd") + default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id, + engine="MySQL", + engine_version="8.0", + category="HighAvailability", + db_instance_storage_type="cloud_essd", + instance_charge_type="PostPaid") default_network = alicloud.vpc.Network("default", vpc_name=name, cidr_block="172.16.0.0/16") @@ -340,22 +424,27 @@ def __init__(__self__, vswitch_name=name) default_instance = alicloud.rds.Instance("default", engine="MySQL", - engine_version="5.6", - instance_type="rds.mysql.s1.small", - instance_storage=10, + engine_version="8.0", + db_instance_storage_type="cloud_essd", + instance_type=default_get_instance_classes.instance_classes[0].instance_class, + instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min, vswitch_id=default_switch.id, - instance_name=name) + instance_name=name, + instance_charge_type="Postpaid") default_database = alicloud.rds.Database("default", instance_id=default_instance.id, - name=name) + data_base_name=name, + character_set="utf8") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import - RDS database can be imported using the id, e.g. + RDS Database can be imported using the id, e.g. ```sh - $ pulumi import alicloud:rds/database:Database example "rm-12345:tf_database" + $ pulumi import alicloud:rds/database:Database example : ``` :param str resource_name: The name of the resource. @@ -374,6 +463,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, character_set: Optional[pulumi.Input[_builtins.str]] = None, + data_base_name: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, @@ -387,11 +477,13 @@ def _internal_init(__self__, __props__ = DatabaseArgs.__new__(DatabaseArgs) __props__.__dict__["character_set"] = character_set + __props__.__dict__["data_base_name"] = data_base_name __props__.__dict__["description"] = description if instance_id is None and not opts.urn: raise TypeError("Missing required property 'instance_id'") __props__.__dict__["instance_id"] = instance_id __props__.__dict__["name"] = name + __props__.__dict__["status"] = None super(Database, __self__).__init__( 'alicloud:rds/database:Database', resource_name, @@ -403,9 +495,11 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, character_set: Optional[pulumi.Input[_builtins.str]] = None, + data_base_name: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, - name: Optional[pulumi.Input[_builtins.str]] = None) -> 'Database': + name: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Database': """ Get an existing Database resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -423,26 +517,29 @@ def get(resource_name: str, - MariaDB: [ utf8, gbk, latin1, utf8mb4 ] More details refer to [API Docs](https://www.alibabacloud.com/help/zh/doc-detail/26258.htm) - :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. - :param pulumi.Input[_builtins.str] instance_id: The Id of instance that can run database. - :param pulumi.Input[_builtins.str] name: The name of the database. - * > **NOTE:** + :param pulumi.Input[_builtins.str] data_base_name: The name of the database. + > **NOTE:** The name must be 2 to 64 characters in length. The name must start with a lowercase letter and end with a lowercase letter or digit. The name can contain lowercase letters, digits, underscores (_), and hyphens (-). The name must be unique within the instance. For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + :param pulumi.Input[_builtins.str] description: Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. + :param pulumi.Input[_builtins.str] instance_id: The instance ID. You can call the DescribeDBInstances operation to query the instance ID. + :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. + :param pulumi.Input[_builtins.str] status: The status of the resource """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _DatabaseState.__new__(_DatabaseState) __props__.__dict__["character_set"] = character_set + __props__.__dict__["data_base_name"] = data_base_name __props__.__dict__["description"] = description __props__.__dict__["instance_id"] = instance_id __props__.__dict__["name"] = name + __props__.__dict__["status"] = status return Database(resource_name, opts=opts, __props__=__props__) @_builtins.property @@ -462,13 +559,25 @@ def character_set(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "character_set") + @_builtins.property + @pulumi.getter(name="dataBaseName") + def data_base_name(self) -> pulumi.Output[_builtins.str]: + """ + The name of the database. + > **NOTE:** + The name must be 2 to 64 characters in length. + The name must start with a lowercase letter and end with a lowercase letter or digit. + The name can contain lowercase letters, digits, underscores (_), and hyphens (-). + The name must be unique within the instance. + For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + """ + return pulumi.get(self, "data_base_name") + @_builtins.property @pulumi.getter def description(self) -> pulumi.Output[Optional[_builtins.str]]: """ Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters. - - > **NOTE:** The value of "name" or "character_set" does not support modification. """ return pulumi.get(self, "description") @@ -476,21 +585,25 @@ def description(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Output[_builtins.str]: """ - The Id of instance that can run database. + The instance ID. You can call the DescribeDBInstances operation to query the instance ID. """ return pulumi.get(self, "instance_id") @_builtins.property @pulumi.getter + @_utilities.deprecated("""Field 'name' has been deprecated from provider version 1.266.0. New field 'data_base_name' instead.""") def name(self) -> pulumi.Output[_builtins.str]: """ - The name of the database. - * > **NOTE:** - The name must be 2 to 64 characters in length. - The name must start with a lowercase letter and end with a lowercase letter or digit. - The name can contain lowercase letters, digits, underscores (_), and hyphens (-). - The name must be unique within the instance. - For more information about invalid characters, see [Forbidden keywords table](https://help.aliyun.com/zh/rds/developer-reference/forbidden-keywords?spm=api-workbench.api_explorer.0.0.20e15f16d1z52p). + The attribute has been deprecated from 1.267.0 and using `data_base_name` instead. + > **NOTE:** The value of "data_base_name" or "character_set" does not support modification. """ return pulumi.get(self, "name") + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the resource + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_alicloud/rds/db_instance_endpoint.py b/sdk/python/pulumi_alicloud/rds/db_instance_endpoint.py index 3d764948b9..36d6acbd0a 100644 --- a/sdk/python/pulumi_alicloud/rds/db_instance_endpoint.py +++ b/sdk/python/pulumi_alicloud/rds/db_instance_endpoint.py @@ -413,6 +413,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database endpoint feature can be imported using the id, e.g. @@ -504,6 +506,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database endpoint feature can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/db_instance_endpoint_address.py b/sdk/python/pulumi_alicloud/rds/db_instance_endpoint_address.py index 77017ddba4..3cc533c1af 100644 --- a/sdk/python/pulumi_alicloud/rds/db_instance_endpoint_address.py +++ b/sdk/python/pulumi_alicloud/rds/db_instance_endpoint_address.py @@ -289,6 +289,8 @@ def __init__(__self__, port="3306") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database endpoint public address feature can be imported using the id, e.g. @@ -384,6 +386,8 @@ def __init__(__self__, port="3306") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database endpoint public address feature can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/db_node.py b/sdk/python/pulumi_alicloud/rds/db_node.py index 56592b6ea2..b1cdb44d3c 100644 --- a/sdk/python/pulumi_alicloud/rds/db_node.py +++ b/sdk/python/pulumi_alicloud/rds/db_node.py @@ -239,6 +239,8 @@ def __init__(__self__, zone_id=default_switch.zone_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS MySQL database cluster node agent function can be imported using id, e.g. @@ -315,6 +317,8 @@ def __init__(__self__, zone_id=default_switch.zone_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS MySQL database cluster node agent function can be imported using id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/db_proxy_public.py b/sdk/python/pulumi_alicloud/rds/db_proxy_public.py index 7bb7d4bf89..b4e701e3d8 100644 --- a/sdk/python/pulumi_alicloud/rds/db_proxy_public.py +++ b/sdk/python/pulumi_alicloud/rds/db_proxy_public.py @@ -279,6 +279,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.DbProxyPublic` should be created after `rds.RdsDbProxy`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Database Proxy Public Network Address can be imported using the id, e.g. @@ -380,6 +382,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.DbProxyPublic` should be created after `rds.RdsDbProxy`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Database Proxy Public Network Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/instance.py b/sdk/python/pulumi_alicloud/rds/instance.py index 1249808644..537bae4f7e 100644 --- a/sdk/python/pulumi_alicloud/rds/instance.py +++ b/sdk/python/pulumi_alicloud/rds/instance.py @@ -272,7 +272,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the DB instance belongs. :param pulumi.Input[_builtins.str] role_arn: The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} :param pulumi.Input[_builtins.str] security_group_id: It has been deprecated from 1.69.0 and use `security_group_ids` instead. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: , Available since v1.69.0) The list IDs to join ECS Security Group. At most supports three security groups. @@ -1257,7 +1257,7 @@ def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]: """ The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} """ return pulumi.get(self, "role_arn") @@ -1945,7 +1945,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the DB instance belongs. :param pulumi.Input[_builtins.str] role_arn: The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} :param pulumi.Input[_builtins.str] security_group_id: It has been deprecated from 1.69.0 and use `security_group_ids` instead. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: , Available since v1.69.0) The list IDs to join ECS Security Group. At most supports three security groups. @@ -2985,7 +2985,7 @@ def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]: """ The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} """ return pulumi.get(self, "role_arn") @@ -3713,7 +3713,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the DB instance belongs. :param pulumi.Input[_builtins.str] role_arn: The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} :param pulumi.Input[_builtins.str] security_group_id: It has been deprecated from 1.69.0 and use `security_group_ids` instead. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: , Available since v1.69.0) The list IDs to join ECS Security Group. At most supports three security groups. @@ -4293,7 +4293,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] resource_group_id: The ID of resource group which the DB instance belongs. :param pulumi.Input[_builtins.str] role_arn: The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} :param pulumi.Input[_builtins.str] security_group_id: It has been deprecated from 1.69.0 and use `security_group_ids` instead. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: , Available since v1.69.0) The list IDs to join ECS Security Group. At most supports three security groups. @@ -5028,7 +5028,7 @@ def role_arn(self) -> pulumi.Output[_builtins.str]: """ The Alibaba Cloud Resource Name (ARN) of the RAM role. - > **NOTE:** This parameter is not required when you create an instance that runs MySQL, PostgreSQL, or SQL Server. You need to only specify the RoleARN parameter to create an instance that has cloud disk encryption enabled by using the obtained key ID. + > **NOTE:** This parameter is not required when creating an instance running MySQL, PostgreSQL, or SQL Server.It is required only when you need to create an instance with cloud disk encryption enabled using a specified key ID. You can configure RAM authorization to require a RAM user to enable cloud disk encryption when the RAM user is used to create an instance. If cloud disk encryption is disabled during the instance creation, the creation operation fails. To complete the configuration, you can attach the following policy to the RAM user: {"Version":"1","Statement":[{"Effect":"Deny","Action":"rds:CreateDBInstance","Resource":"*","Condition":{"StringEquals":{"rds:DiskEncryptionRequired":"false"}}}]} """ return pulumi.get(self, "role_arn") diff --git a/sdk/python/pulumi_alicloud/rds/rds_account.py b/sdk/python/pulumi_alicloud/rds/rds_account.py index 5cfafbbfd2..3a60d4ba8f 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_account.py +++ b/sdk/python/pulumi_alicloud/rds/rds_account.py @@ -23,6 +23,7 @@ def __init__(__self__, *, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -31,6 +32,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a RdsAccount resource. @@ -60,6 +62,7 @@ def __init__(__self__, *, * Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances. > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). + :param pulumi.Input[_builtins.bool] check_policy: Whether to apply password policy :param pulumi.Input[_builtins.str] db_instance_id: The ID of the instance. :param pulumi.Input[_builtins.str] description: The attribute has been deprecated from 1.120.0 and using `account_description` instead. :param pulumi.Input[_builtins.str] instance_id: The attribute has been deprecated from 1.120.0 and using `db_instance_id` instead. @@ -68,6 +71,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.120.0 and using `account_name` instead. :param pulumi.Input[_builtins.str] password: The attribute has been deprecated from 1.120.0 and using `account_password` instead. :param pulumi.Input[_builtins.bool] reset_permission_flag: Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. + :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[_builtins.str] type: The attribute has been deprecated from 1.120.0 and using `account_type` instead. > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -80,6 +84,8 @@ def __init__(__self__, *, pulumi.set(__self__, "account_password", account_password) if account_type is not None: pulumi.set(__self__, "account_type", account_type) + if check_policy is not None: + pulumi.set(__self__, "check_policy", check_policy) if db_instance_id is not None: pulumi.set(__self__, "db_instance_id", db_instance_id) if description is not None: @@ -108,6 +114,8 @@ def __init__(__self__, *, pulumi.set(__self__, "password", password) if reset_permission_flag is not None: pulumi.set(__self__, "reset_permission_flag", reset_permission_flag) + if status is not None: + pulumi.set(__self__, "status", status) if type is not None: warnings.warn("""Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""", DeprecationWarning) pulumi.log.warn("""type is deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""") @@ -184,6 +192,18 @@ def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: def account_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_type", value) + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to apply password policy + """ + return pulumi.get(self, "check_policy") + + @check_policy.setter + def check_policy(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "check_policy", value) + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -284,6 +304,18 @@ def reset_permission_flag(self) -> Optional[pulumi.Input[_builtins.bool]]: def reset_permission_flag(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "reset_permission_flag", value) + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The status of the resource + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + @_builtins.property @pulumi.getter @_utilities.deprecated("""Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.""") @@ -307,6 +339,7 @@ def __init__(__self__, *, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -345,6 +378,7 @@ def __init__(__self__, *, * Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances. > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). + :param pulumi.Input[_builtins.bool] check_policy: Whether to apply password policy :param pulumi.Input[_builtins.str] db_instance_id: The ID of the instance. :param pulumi.Input[_builtins.str] description: The attribute has been deprecated from 1.120.0 and using `account_description` instead. :param pulumi.Input[_builtins.str] instance_id: The attribute has been deprecated from 1.120.0 and using `db_instance_id` instead. @@ -353,7 +387,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.120.0 and using `account_name` instead. :param pulumi.Input[_builtins.str] password: The attribute has been deprecated from 1.120.0 and using `account_password` instead. :param pulumi.Input[_builtins.bool] reset_permission_flag: Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. - :param pulumi.Input[_builtins.str] status: The status of the resource. Valid values: `Available`, `Unavailable`. + :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[_builtins.str] type: The attribute has been deprecated from 1.120.0 and using `account_type` instead. > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -366,6 +400,8 @@ def __init__(__self__, *, pulumi.set(__self__, "account_password", account_password) if account_type is not None: pulumi.set(__self__, "account_type", account_type) + if check_policy is not None: + pulumi.set(__self__, "check_policy", check_policy) if db_instance_id is not None: pulumi.set(__self__, "db_instance_id", db_instance_id) if description is not None: @@ -472,6 +508,18 @@ def account_type(self) -> Optional[pulumi.Input[_builtins.str]]: def account_type(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "account_type", value) + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to apply password policy + """ + return pulumi.get(self, "check_policy") + + @check_policy.setter + def check_policy(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "check_policy", value) + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -576,7 +624,7 @@ def reset_permission_flag(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The status of the resource. Valid values: `Available`, `Unavailable`. + The status of the resource """ return pulumi.get(self, "status") @@ -610,6 +658,7 @@ def __init__(__self__, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -618,6 +667,7 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ @@ -640,10 +690,16 @@ def __init__(__self__, if name is None: name = "tf_example" default = alicloud.rds.get_zones(engine="MySQL", - engine_version="5.6") - default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0], + engine_version="8.0", + instance_charge_type="PostPaid", + category="HighAvailability", + db_instance_storage_type="local_ssd") + default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id, engine="MySQL", - engine_version="5.6") + engine_version="8.0", + category="HighAvailability", + db_instance_storage_type="local_ssd", + instance_charge_type="PostPaid") default_network = alicloud.vpc.Network("default", vpc_name=name, cidr_block="172.16.0.0/16") @@ -654,17 +710,23 @@ def __init__(__self__, vswitch_name=name) default_instance = alicloud.rds.Instance("default", engine="MySQL", - engine_version="5.6", - instance_type=default_get_instance_classes.instance_classes[1].instance_class, - instance_storage=10, + engine_version="8.0", + instance_type=default_get_instance_classes.instance_classes[0].instance_class, + instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min, vswitch_id=default_switch.id, - instance_name=name) + instance_name=name, + instance_charge_type="Postpaid", + monitoring_period=60, + db_instance_storage_type="local_ssd", + db_is_ignore_case=False) default_rds_account = alicloud.rds.RdsAccount("default", db_instance_id=default_instance.id, account_name=name, account_password="Example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Account can be imported using the id, e.g. @@ -701,6 +763,7 @@ def __init__(__self__, * Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances. > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). + :param pulumi.Input[_builtins.bool] check_policy: Whether to apply password policy :param pulumi.Input[_builtins.str] db_instance_id: The ID of the instance. :param pulumi.Input[_builtins.str] description: The attribute has been deprecated from 1.120.0 and using `account_description` instead. :param pulumi.Input[_builtins.str] instance_id: The attribute has been deprecated from 1.120.0 and using `db_instance_id` instead. @@ -709,6 +772,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.120.0 and using `account_name` instead. :param pulumi.Input[_builtins.str] password: The attribute has been deprecated from 1.120.0 and using `account_password` instead. :param pulumi.Input[_builtins.bool] reset_permission_flag: Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. + :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[_builtins.str] type: The attribute has been deprecated from 1.120.0 and using `account_type` instead. > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -739,10 +803,16 @@ def __init__(__self__, if name is None: name = "tf_example" default = alicloud.rds.get_zones(engine="MySQL", - engine_version="5.6") - default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.ids[0], + engine_version="8.0", + instance_charge_type="PostPaid", + category="HighAvailability", + db_instance_storage_type="local_ssd") + default_get_instance_classes = alicloud.rds.get_instance_classes(zone_id=default.zones[0].id, engine="MySQL", - engine_version="5.6") + engine_version="8.0", + category="HighAvailability", + db_instance_storage_type="local_ssd", + instance_charge_type="PostPaid") default_network = alicloud.vpc.Network("default", vpc_name=name, cidr_block="172.16.0.0/16") @@ -753,17 +823,23 @@ def __init__(__self__, vswitch_name=name) default_instance = alicloud.rds.Instance("default", engine="MySQL", - engine_version="5.6", - instance_type=default_get_instance_classes.instance_classes[1].instance_class, - instance_storage=10, + engine_version="8.0", + instance_type=default_get_instance_classes.instance_classes[0].instance_class, + instance_storage=default_get_instance_classes.instance_classes[0].storage_range.min, vswitch_id=default_switch.id, - instance_name=name) + instance_name=name, + instance_charge_type="Postpaid", + monitoring_period=60, + db_instance_storage_type="local_ssd", + db_is_ignore_case=False) default_rds_account = alicloud.rds.RdsAccount("default", db_instance_id=default_instance.id, account_name=name, account_password="Example1234") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Account can be imported using the id, e.g. @@ -791,6 +867,7 @@ def _internal_init(__self__, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -799,6 +876,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, password: Optional[pulumi.Input[_builtins.str]] = None, reset_permission_flag: Optional[pulumi.Input[_builtins.bool]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None, type: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -813,6 +891,7 @@ def _internal_init(__self__, __props__.__dict__["account_name"] = account_name __props__.__dict__["account_password"] = None if account_password is None else pulumi.Output.secret(account_password) __props__.__dict__["account_type"] = account_type + __props__.__dict__["check_policy"] = check_policy __props__.__dict__["db_instance_id"] = db_instance_id __props__.__dict__["description"] = description __props__.__dict__["instance_id"] = instance_id @@ -821,8 +900,8 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) __props__.__dict__["reset_permission_flag"] = reset_permission_flag + __props__.__dict__["status"] = status __props__.__dict__["type"] = type - __props__.__dict__["status"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accountPassword", "password"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(RdsAccount, __self__).__init__( @@ -839,6 +918,7 @@ def get(resource_name: str, account_name: Optional[pulumi.Input[_builtins.str]] = None, account_password: Optional[pulumi.Input[_builtins.str]] = None, account_type: Optional[pulumi.Input[_builtins.str]] = None, + check_policy: Optional[pulumi.Input[_builtins.bool]] = None, db_instance_id: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -882,6 +962,7 @@ def get(resource_name: str, * Sysadmin: system admin account. The account type is available only for ApsaraDB RDS for SQL Server instances. > **NOTE:** Before you create a system admin account, check whether the RDS instance meets all prerequisites. For more information, See [Create a system admin account](https://help.aliyun.com/zh/rds/apsaradb-rds-for-sql-server/create-a-system-admin-account-for-an-apsaradb-rds-for-sql-server-instance?spm=api-workbench.API%20Document.0.0.529e2defHKoZ3o). + :param pulumi.Input[_builtins.bool] check_policy: Whether to apply password policy :param pulumi.Input[_builtins.str] db_instance_id: The ID of the instance. :param pulumi.Input[_builtins.str] description: The attribute has been deprecated from 1.120.0 and using `account_description` instead. :param pulumi.Input[_builtins.str] instance_id: The attribute has been deprecated from 1.120.0 and using `db_instance_id` instead. @@ -890,7 +971,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] name: The attribute has been deprecated from 1.120.0 and using `account_name` instead. :param pulumi.Input[_builtins.str] password: The attribute has been deprecated from 1.120.0 and using `account_password` instead. :param pulumi.Input[_builtins.bool] reset_permission_flag: Resets permissions flag of the privileged account. Default to `false`. Set it to `true` can resets permissions of the privileged account. - :param pulumi.Input[_builtins.str] status: The status of the resource. Valid values: `Available`, `Unavailable`. + :param pulumi.Input[_builtins.str] status: The status of the resource :param pulumi.Input[_builtins.str] type: The attribute has been deprecated from 1.120.0 and using `account_type` instead. > **NOTE**: Only MySQL engine is supported resets permissions of the privileged account. @@ -903,6 +984,7 @@ def get(resource_name: str, __props__.__dict__["account_name"] = account_name __props__.__dict__["account_password"] = account_password __props__.__dict__["account_type"] = account_type + __props__.__dict__["check_policy"] = check_policy __props__.__dict__["db_instance_id"] = db_instance_id __props__.__dict__["description"] = description __props__.__dict__["instance_id"] = instance_id @@ -969,6 +1051,14 @@ def account_type(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "account_type") + @_builtins.property + @pulumi.getter(name="checkPolicy") + def check_policy(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to apply password policy + """ + return pulumi.get(self, "check_policy") + @_builtins.property @pulumi.getter(name="dbInstanceId") def db_instance_id(self) -> pulumi.Output[_builtins.str]: @@ -1041,7 +1131,7 @@ def reset_permission_flag(self) -> pulumi.Output[Optional[_builtins.bool]]: @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: """ - The status of the resource. Valid values: `Available`, `Unavailable`. + The status of the resource """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_alicloud/rds/rds_backup.py b/sdk/python/pulumi_alicloud/rds/rds_backup.py index 35520668a2..7b43dcba09 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_backup.py +++ b/sdk/python/pulumi_alicloud/rds/rds_backup.py @@ -309,6 +309,8 @@ def __init__(__self__, example_rds_backup = alicloud.rds.RdsBackup("example", db_instance_id=example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Backup can be imported using the id, e.g. @@ -361,6 +363,8 @@ def __init__(__self__, example_rds_backup = alicloud.rds.RdsBackup("example", db_instance_id=example.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Backup can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_clone_db_instance.py b/sdk/python/pulumi_alicloud/rds/rds_clone_db_instance.py index b0ca4d8d12..eea628adec 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_clone_db_instance.py +++ b/sdk/python/pulumi_alicloud/rds/rds_clone_db_instance.py @@ -2400,6 +2400,8 @@ def __init__(__self__, backup_id=example_rds_backup.backup_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Clone DB Instance can be imported using the id, e.g. @@ -2601,6 +2603,8 @@ def __init__(__self__, backup_id=example_rds_backup.backup_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Clone DB Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_db_proxy.py b/sdk/python/pulumi_alicloud/rds/rds_db_proxy.py index 10261a7c2f..7b8b1595f4 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_db_proxy.py +++ b/sdk/python/pulumi_alicloud/rds/rds_db_proxy.py @@ -938,6 +938,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.RdsDbProxy` should be created after `rds.ReadOnlyInstance`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database proxy feature can be imported using the id, e.g. @@ -1076,6 +1078,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.RdsDbProxy` should be created after `rds.ReadOnlyInstance`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS database proxy feature can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_instance_cross_backup_policy.py b/sdk/python/pulumi_alicloud/rds/rds_instance_cross_backup_policy.py index 93976e6060..9f584ed8de 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_instance_cross_backup_policy.py +++ b/sdk/python/pulumi_alicloud/rds/rds_instance_cross_backup_policy.py @@ -353,6 +353,8 @@ def __init__(__self__, cross_backup_region=regions.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS remote disaster recovery policies can be imported using id or instance id, e.g. @@ -426,6 +428,8 @@ def __init__(__self__, cross_backup_region=regions.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS remote disaster recovery policies can be imported using id or instance id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_parameter_group.py b/sdk/python/pulumi_alicloud/rds/rds_parameter_group.py index c19c3a7ef1..7819f03ab8 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_parameter_group.py +++ b/sdk/python/pulumi_alicloud/rds/rds_parameter_group.py @@ -238,6 +238,8 @@ def __init__(__self__, parameter_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Parameter Group can be imported using the id, e.g. @@ -296,6 +298,8 @@ def __init__(__self__, parameter_group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Parameter Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_service_linked_role.py b/sdk/python/pulumi_alicloud/rds/rds_service_linked_role.py index a29d597060..e163101f4b 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_service_linked_role.py +++ b/sdk/python/pulumi_alicloud/rds/rds_service_linked_role.py @@ -137,6 +137,8 @@ def __init__(__self__, default = alicloud.rds.RdsServiceLinkedRole("default", service_name="AliyunServiceRoleForRdsPgsqlOnEcs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Service Linked Role can be imported using the id, e.g. @@ -173,6 +175,8 @@ def __init__(__self__, default = alicloud.rds.RdsServiceLinkedRole("default", service_name="AliyunServiceRoleForRdsPgsqlOnEcs") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Service Linked Role can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/rds_upgrade_db_instance.py b/sdk/python/pulumi_alicloud/rds/rds_upgrade_db_instance.py index d1ce181181..56866bcd08 100644 --- a/sdk/python/pulumi_alicloud/rds/rds_upgrade_db_instance.py +++ b/sdk/python/pulumi_alicloud/rds/rds_upgrade_db_instance.py @@ -2141,6 +2141,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Upgrade DB Instance can be imported using the id, e.g. @@ -2334,6 +2336,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS Upgrade DB Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/read_only_instance.py b/sdk/python/pulumi_alicloud/rds/read_only_instance.py index 70d8353a9d..fba6bf1fc6 100644 --- a/sdk/python/pulumi_alicloud/rds/read_only_instance.py +++ b/sdk/python/pulumi_alicloud/rds/read_only_instance.py @@ -1654,6 +1654,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS readonly instance can be imported using the id, e.g. @@ -1818,6 +1820,8 @@ def __init__(__self__, vswitch_id=example_switch.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS readonly instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/read_write_splitting_connection.py b/sdk/python/pulumi_alicloud/rds/read_write_splitting_connection.py index 94ad4e4864..b992c970cf 100644 --- a/sdk/python/pulumi_alicloud/rds/read_write_splitting_connection.py +++ b/sdk/python/pulumi_alicloud/rds/read_write_splitting_connection.py @@ -315,6 +315,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.ReadWriteSplittingConnection` should be created after `rds.ReadOnlyInstance`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS read write splitting connection can be imported using the id, e.g. @@ -402,6 +404,8 @@ def __init__(__self__, > **NOTE:** Resource `rds.ReadWriteSplittingConnection` should be created after `rds.ReadOnlyInstance`, so the `depends_on` statement is necessary. + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RDS read write splitting connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rds/whitelist_template.py b/sdk/python/pulumi_alicloud/rds/whitelist_template.py index d44678ae5c..dca2b42ad2 100644 --- a/sdk/python/pulumi_alicloud/rds/whitelist_template.py +++ b/sdk/python/pulumi_alicloud/rds/whitelist_template.py @@ -129,6 +129,8 @@ def __init__(__self__, template_name="example-whitelist") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import You can use the whitelist template ID to import whitelist templates, e.g. @@ -168,6 +170,8 @@ def __init__(__self__, template_name="example-whitelist") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import You can use the whitelist template ID to import whitelist templates, e.g. diff --git a/sdk/python/pulumi_alicloud/realtimecompute/__init__.py b/sdk/python/pulumi_alicloud/realtimecompute/__init__.py index 5b0b17baaf..18aa3901f1 100644 --- a/sdk/python/pulumi_alicloud/realtimecompute/__init__.py +++ b/sdk/python/pulumi_alicloud/realtimecompute/__init__.py @@ -6,6 +6,8 @@ from .. import _utilities import typing # Export this package's modules as members: +from .deployment import * +from .job import * from .vvp_instance import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_alicloud/realtimecompute/_inputs.py b/sdk/python/pulumi_alicloud/realtimecompute/_inputs.py index 6a7ce5a88b..de299de810 100644 --- a/sdk/python/pulumi_alicloud/realtimecompute/_inputs.py +++ b/sdk/python/pulumi_alicloud/realtimecompute/_inputs.py @@ -15,6 +15,54 @@ from .. import _utilities __all__ = [ + 'DeploymentArtifactArgs', + 'DeploymentArtifactArgsDict', + 'DeploymentArtifactJarArtifactArgs', + 'DeploymentArtifactJarArtifactArgsDict', + 'DeploymentArtifactPythonArtifactArgs', + 'DeploymentArtifactPythonArtifactArgsDict', + 'DeploymentArtifactSqlArtifactArgs', + 'DeploymentArtifactSqlArtifactArgsDict', + 'DeploymentBatchResourceSettingArgs', + 'DeploymentBatchResourceSettingArgsDict', + 'DeploymentBatchResourceSettingBasicResourceSettingArgs', + 'DeploymentBatchResourceSettingBasicResourceSettingArgsDict', + 'DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs', + 'DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict', + 'DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs', + 'DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict', + 'DeploymentDeploymentTargetArgs', + 'DeploymentDeploymentTargetArgsDict', + 'DeploymentLocalVariableArgs', + 'DeploymentLocalVariableArgsDict', + 'DeploymentLoggingArgs', + 'DeploymentLoggingArgsDict', + 'DeploymentLoggingLog4jLoggerArgs', + 'DeploymentLoggingLog4jLoggerArgsDict', + 'DeploymentLoggingLogReservePolicyArgs', + 'DeploymentLoggingLogReservePolicyArgsDict', + 'DeploymentStreamingResourceSettingArgs', + 'DeploymentStreamingResourceSettingArgsDict', + 'DeploymentStreamingResourceSettingBasicResourceSettingArgs', + 'DeploymentStreamingResourceSettingBasicResourceSettingArgsDict', + 'DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs', + 'DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict', + 'DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs', + 'DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict', + 'DeploymentStreamingResourceSettingExpertResourceSettingArgs', + 'DeploymentStreamingResourceSettingExpertResourceSettingArgsDict', + 'DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs', + 'DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgsDict', + 'JobLocalVariableArgs', + 'JobLocalVariableArgsDict', + 'JobRestoreStrategyArgs', + 'JobRestoreStrategyArgsDict', + 'JobStatusArgs', + 'JobStatusArgsDict', + 'JobStatusFailureArgs', + 'JobStatusFailureArgsDict', + 'JobStatusRunningArgs', + 'JobStatusRunningArgsDict', 'VvpInstanceResourceSpecArgs', 'VvpInstanceResourceSpecArgsDict', 'VvpInstanceStorageArgs', @@ -25,6 +73,1498 @@ MYPY = False +if not MYPY: + class DeploymentArtifactArgsDict(TypedDict): + kind: pulumi.Input[_builtins.str] + """ + Artifact type + """ + jar_artifact: NotRequired[pulumi.Input['DeploymentArtifactJarArtifactArgsDict']] + """ + JarArtifact See `jar_artifact` below. + """ + python_artifact: NotRequired[pulumi.Input['DeploymentArtifactPythonArtifactArgsDict']] + """ + PythonArtifact See `python_artifact` below. + """ + sql_artifact: NotRequired[pulumi.Input['DeploymentArtifactSqlArtifactArgsDict']] + """ + SqlArtifact See `sql_artifact` below. + """ +elif False: + DeploymentArtifactArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentArtifactArgs: + def __init__(__self__, *, + kind: pulumi.Input[_builtins.str], + jar_artifact: Optional[pulumi.Input['DeploymentArtifactJarArtifactArgs']] = None, + python_artifact: Optional[pulumi.Input['DeploymentArtifactPythonArtifactArgs']] = None, + sql_artifact: Optional[pulumi.Input['DeploymentArtifactSqlArtifactArgs']] = None): + """ + :param pulumi.Input[_builtins.str] kind: Artifact type + :param pulumi.Input['DeploymentArtifactJarArtifactArgs'] jar_artifact: JarArtifact See `jar_artifact` below. + :param pulumi.Input['DeploymentArtifactPythonArtifactArgs'] python_artifact: PythonArtifact See `python_artifact` below. + :param pulumi.Input['DeploymentArtifactSqlArtifactArgs'] sql_artifact: SqlArtifact See `sql_artifact` below. + """ + pulumi.set(__self__, "kind", kind) + if jar_artifact is not None: + pulumi.set(__self__, "jar_artifact", jar_artifact) + if python_artifact is not None: + pulumi.set(__self__, "python_artifact", python_artifact) + if sql_artifact is not None: + pulumi.set(__self__, "sql_artifact", sql_artifact) + + @_builtins.property + @pulumi.getter + def kind(self) -> pulumi.Input[_builtins.str]: + """ + Artifact type + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kind", value) + + @_builtins.property + @pulumi.getter(name="jarArtifact") + def jar_artifact(self) -> Optional[pulumi.Input['DeploymentArtifactJarArtifactArgs']]: + """ + JarArtifact See `jar_artifact` below. + """ + return pulumi.get(self, "jar_artifact") + + @jar_artifact.setter + def jar_artifact(self, value: Optional[pulumi.Input['DeploymentArtifactJarArtifactArgs']]): + pulumi.set(self, "jar_artifact", value) + + @_builtins.property + @pulumi.getter(name="pythonArtifact") + def python_artifact(self) -> Optional[pulumi.Input['DeploymentArtifactPythonArtifactArgs']]: + """ + PythonArtifact See `python_artifact` below. + """ + return pulumi.get(self, "python_artifact") + + @python_artifact.setter + def python_artifact(self, value: Optional[pulumi.Input['DeploymentArtifactPythonArtifactArgs']]): + pulumi.set(self, "python_artifact", value) + + @_builtins.property + @pulumi.getter(name="sqlArtifact") + def sql_artifact(self) -> Optional[pulumi.Input['DeploymentArtifactSqlArtifactArgs']]: + """ + SqlArtifact See `sql_artifact` below. + """ + return pulumi.get(self, "sql_artifact") + + @sql_artifact.setter + def sql_artifact(self, value: Optional[pulumi.Input['DeploymentArtifactSqlArtifactArgs']]): + pulumi.set(self, "sql_artifact", value) + + +if not MYPY: + class DeploymentArtifactJarArtifactArgsDict(TypedDict): + additional_dependencies: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + entry_class: NotRequired[pulumi.Input[_builtins.str]] + """ + Main class; you must specify the fully qualified class name + """ + jar_uri: NotRequired[pulumi.Input[_builtins.str]] + """ + Full URL path of the JAR job + """ + main_args: NotRequired[pulumi.Input[_builtins.str]] + """ + Startup arguments + """ +elif False: + DeploymentArtifactJarArtifactArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentArtifactJarArtifactArgs: + def __init__(__self__, *, + additional_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + entry_class: Optional[pulumi.Input[_builtins.str]] = None, + jar_uri: Optional[pulumi.Input[_builtins.str]] = None, + main_args: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param pulumi.Input[_builtins.str] entry_class: Main class; you must specify the fully qualified class name + :param pulumi.Input[_builtins.str] jar_uri: Full URL path of the JAR job + :param pulumi.Input[_builtins.str] main_args: Startup arguments + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if entry_class is not None: + pulumi.set(__self__, "entry_class", entry_class) + if jar_uri is not None: + pulumi.set(__self__, "jar_uri", jar_uri) + if main_args is not None: + pulumi.set(__self__, "main_args", main_args) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @additional_dependencies.setter + def additional_dependencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "additional_dependencies", value) + + @_builtins.property + @pulumi.getter(name="entryClass") + def entry_class(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Main class; you must specify the fully qualified class name + """ + return pulumi.get(self, "entry_class") + + @entry_class.setter + def entry_class(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "entry_class", value) + + @_builtins.property + @pulumi.getter(name="jarUri") + def jar_uri(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Full URL path of the JAR job + """ + return pulumi.get(self, "jar_uri") + + @jar_uri.setter + def jar_uri(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "jar_uri", value) + + @_builtins.property + @pulumi.getter(name="mainArgs") + def main_args(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Startup arguments + """ + return pulumi.get(self, "main_args") + + @main_args.setter + def main_args(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "main_args", value) + + +if not MYPY: + class DeploymentArtifactPythonArtifactArgsDict(TypedDict): + additional_dependencies: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + additional_python_archives: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + URL paths of dependent Python archive files + """ + additional_python_libraries: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + URL paths of dependent Python library files + """ + entry_module: NotRequired[pulumi.Input[_builtins.str]] + """ + Entry module for Python + """ + main_args: NotRequired[pulumi.Input[_builtins.str]] + """ + Startup arguments + """ + python_artifact_uri: NotRequired[pulumi.Input[_builtins.str]] + """ + Full URL path of the Python job + """ +elif False: + DeploymentArtifactPythonArtifactArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentArtifactPythonArtifactArgs: + def __init__(__self__, *, + additional_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + additional_python_archives: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + additional_python_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + entry_module: Optional[pulumi.Input[_builtins.str]] = None, + main_args: Optional[pulumi.Input[_builtins.str]] = None, + python_artifact_uri: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_python_archives: URL paths of dependent Python archive files + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_python_libraries: URL paths of dependent Python library files + :param pulumi.Input[_builtins.str] entry_module: Entry module for Python + :param pulumi.Input[_builtins.str] main_args: Startup arguments + :param pulumi.Input[_builtins.str] python_artifact_uri: Full URL path of the Python job + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if additional_python_archives is not None: + pulumi.set(__self__, "additional_python_archives", additional_python_archives) + if additional_python_libraries is not None: + pulumi.set(__self__, "additional_python_libraries", additional_python_libraries) + if entry_module is not None: + pulumi.set(__self__, "entry_module", entry_module) + if main_args is not None: + pulumi.set(__self__, "main_args", main_args) + if python_artifact_uri is not None: + pulumi.set(__self__, "python_artifact_uri", python_artifact_uri) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @additional_dependencies.setter + def additional_dependencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "additional_dependencies", value) + + @_builtins.property + @pulumi.getter(name="additionalPythonArchives") + def additional_python_archives(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + URL paths of dependent Python archive files + """ + return pulumi.get(self, "additional_python_archives") + + @additional_python_archives.setter + def additional_python_archives(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "additional_python_archives", value) + + @_builtins.property + @pulumi.getter(name="additionalPythonLibraries") + def additional_python_libraries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + URL paths of dependent Python library files + """ + return pulumi.get(self, "additional_python_libraries") + + @additional_python_libraries.setter + def additional_python_libraries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "additional_python_libraries", value) + + @_builtins.property + @pulumi.getter(name="entryModule") + def entry_module(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Entry module for Python + """ + return pulumi.get(self, "entry_module") + + @entry_module.setter + def entry_module(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "entry_module", value) + + @_builtins.property + @pulumi.getter(name="mainArgs") + def main_args(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Startup arguments + """ + return pulumi.get(self, "main_args") + + @main_args.setter + def main_args(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "main_args", value) + + @_builtins.property + @pulumi.getter(name="pythonArtifactUri") + def python_artifact_uri(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Full URL path of the Python job + """ + return pulumi.get(self, "python_artifact_uri") + + @python_artifact_uri.setter + def python_artifact_uri(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "python_artifact_uri", value) + + +if not MYPY: + class DeploymentArtifactSqlArtifactArgsDict(TypedDict): + additional_dependencies: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + sql_script: NotRequired[pulumi.Input[_builtins.str]] + """ + Text content of the SQL job + """ +elif False: + DeploymentArtifactSqlArtifactArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentArtifactSqlArtifactArgs: + def __init__(__self__, *, + additional_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + sql_script: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param pulumi.Input[_builtins.str] sql_script: Text content of the SQL job + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if sql_script is not None: + pulumi.set(__self__, "sql_script", sql_script) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @additional_dependencies.setter + def additional_dependencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "additional_dependencies", value) + + @_builtins.property + @pulumi.getter(name="sqlScript") + def sql_script(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Text content of the SQL job + """ + return pulumi.get(self, "sql_script") + + @sql_script.setter + def sql_script(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "sql_script", value) + + +if not MYPY: + class DeploymentBatchResourceSettingArgsDict(TypedDict): + basic_resource_setting: NotRequired[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingArgsDict']] + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + max_slot: NotRequired[pulumi.Input[_builtins.int]] + """ + Maximum number of slots + """ +elif False: + DeploymentBatchResourceSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentBatchResourceSettingArgs: + def __init__(__self__, *, + basic_resource_setting: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingArgs']] = None, + max_slot: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingArgs'] basic_resource_setting: Resource settings for basic mode See `basic_resource_setting` below. + :param pulumi.Input[_builtins.int] max_slot: Maximum number of slots + """ + if basic_resource_setting is not None: + pulumi.set(__self__, "basic_resource_setting", basic_resource_setting) + if max_slot is not None: + pulumi.set(__self__, "max_slot", max_slot) + + @_builtins.property + @pulumi.getter(name="basicResourceSetting") + def basic_resource_setting(self) -> Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingArgs']]: + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + return pulumi.get(self, "basic_resource_setting") + + @basic_resource_setting.setter + def basic_resource_setting(self, value: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingArgs']]): + pulumi.set(self, "basic_resource_setting", value) + + @_builtins.property + @pulumi.getter(name="maxSlot") + def max_slot(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Maximum number of slots + """ + return pulumi.get(self, "max_slot") + + @max_slot.setter + def max_slot(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "max_slot", value) + + +if not MYPY: + class DeploymentBatchResourceSettingBasicResourceSettingArgsDict(TypedDict): + jobmanager_resource_setting_spec: NotRequired[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict']] + parallelism: NotRequired[pulumi.Input[_builtins.int]] + taskmanager_resource_setting_spec: NotRequired[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict']] +elif False: + DeploymentBatchResourceSettingBasicResourceSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentBatchResourceSettingBasicResourceSettingArgs: + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']] = None, + parallelism: Optional[pulumi.Input[_builtins.int]] = None, + taskmanager_resource_setting_spec: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']] = None): + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if taskmanager_resource_setting_spec is not None: + pulumi.set(__self__, "taskmanager_resource_setting_spec", taskmanager_resource_setting_spec) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']]: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @jobmanager_resource_setting_spec.setter + def jobmanager_resource_setting_spec(self, value: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']]): + pulumi.set(self, "jobmanager_resource_setting_spec", value) + + @_builtins.property + @pulumi.getter + def parallelism(self) -> Optional[pulumi.Input[_builtins.int]]: + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "parallelism", value) + + @_builtins.property + @pulumi.getter(name="taskmanagerResourceSettingSpec") + def taskmanager_resource_setting_spec(self) -> Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']]: + return pulumi.get(self, "taskmanager_resource_setting_spec") + + @taskmanager_resource_setting_spec.setter + def taskmanager_resource_setting_spec(self, value: Optional[pulumi.Input['DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']]): + pulumi.set(self, "taskmanager_resource_setting_spec", value) + + +if not MYPY: + class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input[_builtins.float]] + memory: NotRequired[pulumi.Input[_builtins.str]] +elif False: + DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.str]] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[_builtins.float]]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "memory", value) + + +if not MYPY: + class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input[_builtins.float]] + memory: NotRequired[pulumi.Input[_builtins.str]] +elif False: + DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.str]] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[_builtins.float]]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "memory", value) + + +if not MYPY: + class DeploymentDeploymentTargetArgsDict(TypedDict): + mode: pulumi.Input[_builtins.str] + """ + Deployment mode, valid values: PER_JOB or SESSION + """ + name: pulumi.Input[_builtins.str] + """ + Deployment target name + """ +elif False: + DeploymentDeploymentTargetArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentDeploymentTargetArgs: + def __init__(__self__, *, + mode: pulumi.Input[_builtins.str], + name: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] mode: Deployment mode, valid values: PER_JOB or SESSION + :param pulumi.Input[_builtins.str] name: Deployment target name + """ + pulumi.set(__self__, "mode", mode) + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def mode(self) -> pulumi.Input[_builtins.str]: + """ + Deployment mode, valid values: PER_JOB or SESSION + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "mode", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + """ + Deployment target name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + +if not MYPY: + class DeploymentLocalVariableArgsDict(TypedDict): + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Job variable name + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + Job variable value + """ +elif False: + DeploymentLocalVariableArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentLocalVariableArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Job variable name + :param pulumi.Input[_builtins.str] value: Job variable value + """ + if name is not None: + pulumi.set(__self__, "name", name) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Job variable name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Job variable value + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + +if not MYPY: + class DeploymentLoggingArgsDict(TypedDict): + log4j2_configuration_template: NotRequired[pulumi.Input[_builtins.str]] + """ + Custom log template + """ + log4j_loggers: NotRequired[pulumi.Input[Sequence[pulumi.Input['DeploymentLoggingLog4jLoggerArgsDict']]]] + """ + log4j configuration See `log4j_loggers` below. + """ + log_reserve_policy: NotRequired[pulumi.Input['DeploymentLoggingLogReservePolicyArgsDict']] + """ + Log retention policy See `log_reserve_policy` below. + """ + logging_profile: NotRequired[pulumi.Input[_builtins.str]] + """ + Default system log template + """ +elif False: + DeploymentLoggingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentLoggingArgs: + def __init__(__self__, *, + log4j2_configuration_template: Optional[pulumi.Input[_builtins.str]] = None, + log4j_loggers: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLoggingLog4jLoggerArgs']]]] = None, + log_reserve_policy: Optional[pulumi.Input['DeploymentLoggingLogReservePolicyArgs']] = None, + logging_profile: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] log4j2_configuration_template: Custom log template + :param pulumi.Input[Sequence[pulumi.Input['DeploymentLoggingLog4jLoggerArgs']]] log4j_loggers: log4j configuration See `log4j_loggers` below. + :param pulumi.Input['DeploymentLoggingLogReservePolicyArgs'] log_reserve_policy: Log retention policy See `log_reserve_policy` below. + :param pulumi.Input[_builtins.str] logging_profile: Default system log template + """ + if log4j2_configuration_template is not None: + pulumi.set(__self__, "log4j2_configuration_template", log4j2_configuration_template) + if log4j_loggers is not None: + pulumi.set(__self__, "log4j_loggers", log4j_loggers) + if log_reserve_policy is not None: + pulumi.set(__self__, "log_reserve_policy", log_reserve_policy) + if logging_profile is not None: + pulumi.set(__self__, "logging_profile", logging_profile) + + @_builtins.property + @pulumi.getter(name="log4j2ConfigurationTemplate") + def log4j2_configuration_template(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom log template + """ + return pulumi.get(self, "log4j2_configuration_template") + + @log4j2_configuration_template.setter + def log4j2_configuration_template(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "log4j2_configuration_template", value) + + @_builtins.property + @pulumi.getter(name="log4jLoggers") + def log4j_loggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLoggingLog4jLoggerArgs']]]]: + """ + log4j configuration See `log4j_loggers` below. + """ + return pulumi.get(self, "log4j_loggers") + + @log4j_loggers.setter + def log4j_loggers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLoggingLog4jLoggerArgs']]]]): + pulumi.set(self, "log4j_loggers", value) + + @_builtins.property + @pulumi.getter(name="logReservePolicy") + def log_reserve_policy(self) -> Optional[pulumi.Input['DeploymentLoggingLogReservePolicyArgs']]: + """ + Log retention policy See `log_reserve_policy` below. + """ + return pulumi.get(self, "log_reserve_policy") + + @log_reserve_policy.setter + def log_reserve_policy(self, value: Optional[pulumi.Input['DeploymentLoggingLogReservePolicyArgs']]): + pulumi.set(self, "log_reserve_policy", value) + + @_builtins.property + @pulumi.getter(name="loggingProfile") + def logging_profile(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Default system log template + """ + return pulumi.get(self, "logging_profile") + + @logging_profile.setter + def logging_profile(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "logging_profile", value) + + +if not MYPY: + class DeploymentLoggingLog4jLoggerArgsDict(TypedDict): + logger_level: NotRequired[pulumi.Input[_builtins.str]] + """ + Log output level + """ + logger_name: NotRequired[pulumi.Input[_builtins.str]] + """ + Class name for log output + """ +elif False: + DeploymentLoggingLog4jLoggerArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentLoggingLog4jLoggerArgs: + def __init__(__self__, *, + logger_level: Optional[pulumi.Input[_builtins.str]] = None, + logger_name: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] logger_level: Log output level + :param pulumi.Input[_builtins.str] logger_name: Class name for log output + """ + if logger_level is not None: + pulumi.set(__self__, "logger_level", logger_level) + if logger_name is not None: + pulumi.set(__self__, "logger_name", logger_name) + + @_builtins.property + @pulumi.getter(name="loggerLevel") + def logger_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Log output level + """ + return pulumi.get(self, "logger_level") + + @logger_level.setter + def logger_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "logger_level", value) + + @_builtins.property + @pulumi.getter(name="loggerName") + def logger_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Class name for log output + """ + return pulumi.get(self, "logger_name") + + @logger_name.setter + def logger_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "logger_name", value) + + +if not MYPY: + class DeploymentLoggingLogReservePolicyArgsDict(TypedDict): + expiration_days: NotRequired[pulumi.Input[_builtins.int]] + """ + Number of days to retain logs after log retention is enabled + """ + open_history: NotRequired[pulumi.Input[_builtins.bool]] + """ + Whether to enable log retention + """ +elif False: + DeploymentLoggingLogReservePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentLoggingLogReservePolicyArgs: + def __init__(__self__, *, + expiration_days: Optional[pulumi.Input[_builtins.int]] = None, + open_history: Optional[pulumi.Input[_builtins.bool]] = None): + """ + :param pulumi.Input[_builtins.int] expiration_days: Number of days to retain logs after log retention is enabled + :param pulumi.Input[_builtins.bool] open_history: Whether to enable log retention + """ + if expiration_days is not None: + pulumi.set(__self__, "expiration_days", expiration_days) + if open_history is not None: + pulumi.set(__self__, "open_history", open_history) + + @_builtins.property + @pulumi.getter(name="expirationDays") + def expiration_days(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of days to retain logs after log retention is enabled + """ + return pulumi.get(self, "expiration_days") + + @expiration_days.setter + def expiration_days(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "expiration_days", value) + + @_builtins.property + @pulumi.getter(name="openHistory") + def open_history(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to enable log retention + """ + return pulumi.get(self, "open_history") + + @open_history.setter + def open_history(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "open_history", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingArgsDict(TypedDict): + basic_resource_setting: NotRequired[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingArgsDict']] + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + expert_resource_setting: NotRequired[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingArgsDict']] + """ + Expert mode resource settings See `expert_resource_setting` below. + """ + resource_setting_mode: NotRequired[pulumi.Input[_builtins.str]] + """ + Resource mode used in streaming mode, valid values: BASIC or EXPERT + """ +elif False: + DeploymentStreamingResourceSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingArgs: + def __init__(__self__, *, + basic_resource_setting: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingArgs']] = None, + expert_resource_setting: Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingArgs']] = None, + resource_setting_mode: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingArgs'] basic_resource_setting: Resource settings for basic mode See `basic_resource_setting` below. + :param pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingArgs'] expert_resource_setting: Expert mode resource settings See `expert_resource_setting` below. + :param pulumi.Input[_builtins.str] resource_setting_mode: Resource mode used in streaming mode, valid values: BASIC or EXPERT + """ + if basic_resource_setting is not None: + pulumi.set(__self__, "basic_resource_setting", basic_resource_setting) + if expert_resource_setting is not None: + pulumi.set(__self__, "expert_resource_setting", expert_resource_setting) + if resource_setting_mode is not None: + pulumi.set(__self__, "resource_setting_mode", resource_setting_mode) + + @_builtins.property + @pulumi.getter(name="basicResourceSetting") + def basic_resource_setting(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingArgs']]: + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + return pulumi.get(self, "basic_resource_setting") + + @basic_resource_setting.setter + def basic_resource_setting(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingArgs']]): + pulumi.set(self, "basic_resource_setting", value) + + @_builtins.property + @pulumi.getter(name="expertResourceSetting") + def expert_resource_setting(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingArgs']]: + """ + Expert mode resource settings See `expert_resource_setting` below. + """ + return pulumi.get(self, "expert_resource_setting") + + @expert_resource_setting.setter + def expert_resource_setting(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingArgs']]): + pulumi.set(self, "expert_resource_setting", value) + + @_builtins.property + @pulumi.getter(name="resourceSettingMode") + def resource_setting_mode(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource mode used in streaming mode, valid values: BASIC or EXPERT + """ + return pulumi.get(self, "resource_setting_mode") + + @resource_setting_mode.setter + def resource_setting_mode(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_setting_mode", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingBasicResourceSettingArgsDict(TypedDict): + jobmanager_resource_setting_spec: NotRequired[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict']] + parallelism: NotRequired[pulumi.Input[_builtins.int]] + taskmanager_resource_setting_spec: NotRequired[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict']] +elif False: + DeploymentStreamingResourceSettingBasicResourceSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingBasicResourceSettingArgs: + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']] = None, + parallelism: Optional[pulumi.Input[_builtins.int]] = None, + taskmanager_resource_setting_spec: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']] = None): + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if taskmanager_resource_setting_spec is not None: + pulumi.set(__self__, "taskmanager_resource_setting_spec", taskmanager_resource_setting_spec) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']]: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @jobmanager_resource_setting_spec.setter + def jobmanager_resource_setting_spec(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs']]): + pulumi.set(self, "jobmanager_resource_setting_spec", value) + + @_builtins.property + @pulumi.getter + def parallelism(self) -> Optional[pulumi.Input[_builtins.int]]: + return pulumi.get(self, "parallelism") + + @parallelism.setter + def parallelism(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "parallelism", value) + + @_builtins.property + @pulumi.getter(name="taskmanagerResourceSettingSpec") + def taskmanager_resource_setting_spec(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']]: + return pulumi.get(self, "taskmanager_resource_setting_spec") + + @taskmanager_resource_setting_spec.setter + def taskmanager_resource_setting_spec(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs']]): + pulumi.set(self, "taskmanager_resource_setting_spec", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input[_builtins.float]] + memory: NotRequired[pulumi.Input[_builtins.str]] +elif False: + DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpecArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.str]] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[_builtins.float]]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "memory", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input[_builtins.float]] + memory: NotRequired[pulumi.Input[_builtins.str]] +elif False: + DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpecArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.str]] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[_builtins.float]]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "memory", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingExpertResourceSettingArgsDict(TypedDict): + jobmanager_resource_setting_spec: NotRequired[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgsDict']] + resource_plan: NotRequired[pulumi.Input[_builtins.str]] + """ + Resource plan for expert mode + """ +elif False: + DeploymentStreamingResourceSettingExpertResourceSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingExpertResourceSettingArgs: + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs']] = None, + resource_plan: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] resource_plan: Resource plan for expert mode + """ + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if resource_plan is not None: + pulumi.set(__self__, "resource_plan", resource_plan) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs']]: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @jobmanager_resource_setting_spec.setter + def jobmanager_resource_setting_spec(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs']]): + pulumi.set(self, "jobmanager_resource_setting_spec", value) + + @_builtins.property + @pulumi.getter(name="resourcePlan") + def resource_plan(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource plan for expert mode + """ + return pulumi.get(self, "resource_plan") + + @resource_plan.setter + def resource_plan(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_plan", value) + + +if not MYPY: + class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input[_builtins.float]] + memory: NotRequired[pulumi.Input[_builtins.str]] +elif False: + DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpecArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[_builtins.float]] = None, + memory: Optional[pulumi.Input[_builtins.str]] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[_builtins.float]]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[_builtins.float]]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "memory", value) + + +if not MYPY: + class JobLocalVariableArgsDict(TypedDict): + name: NotRequired[pulumi.Input[_builtins.str]] + """ + Local variables name + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + Local variables value + """ +elif False: + JobLocalVariableArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobLocalVariableArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] name: Local variables name + :param pulumi.Input[_builtins.str] value: Local variables value + """ + if name is not None: + pulumi.set(__self__, "name", name) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Local variables name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Local variables value + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + +if not MYPY: + class JobRestoreStrategyArgsDict(TypedDict): + allow_non_restored_state: NotRequired[pulumi.Input[_builtins.bool]] + """ + Stateless startup + """ + job_start_time_in_ms: NotRequired[pulumi.Input[_builtins.int]] + """ + Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + """ + kind: NotRequired[pulumi.Input[_builtins.str]] + """ + Restore type + """ + savepoint_id: NotRequired[pulumi.Input[_builtins.str]] + """ + SavepointId + """ +elif False: + JobRestoreStrategyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobRestoreStrategyArgs: + def __init__(__self__, *, + allow_non_restored_state: Optional[pulumi.Input[_builtins.bool]] = None, + job_start_time_in_ms: Optional[pulumi.Input[_builtins.int]] = None, + kind: Optional[pulumi.Input[_builtins.str]] = None, + savepoint_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.bool] allow_non_restored_state: Stateless startup + :param pulumi.Input[_builtins.int] job_start_time_in_ms: Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + :param pulumi.Input[_builtins.str] kind: Restore type + :param pulumi.Input[_builtins.str] savepoint_id: SavepointId + """ + if allow_non_restored_state is not None: + pulumi.set(__self__, "allow_non_restored_state", allow_non_restored_state) + if job_start_time_in_ms is not None: + pulumi.set(__self__, "job_start_time_in_ms", job_start_time_in_ms) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if savepoint_id is not None: + pulumi.set(__self__, "savepoint_id", savepoint_id) + + @_builtins.property + @pulumi.getter(name="allowNonRestoredState") + def allow_non_restored_state(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Stateless startup + """ + return pulumi.get(self, "allow_non_restored_state") + + @allow_non_restored_state.setter + def allow_non_restored_state(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "allow_non_restored_state", value) + + @_builtins.property + @pulumi.getter(name="jobStartTimeInMs") + def job_start_time_in_ms(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + """ + return pulumi.get(self, "job_start_time_in_ms") + + @job_start_time_in_ms.setter + def job_start_time_in_ms(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "job_start_time_in_ms", value) + + @_builtins.property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Restore type + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "kind", value) + + @_builtins.property + @pulumi.getter(name="savepointId") + def savepoint_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + SavepointId + """ + return pulumi.get(self, "savepoint_id") + + @savepoint_id.setter + def savepoint_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "savepoint_id", value) + + +if not MYPY: + class JobStatusArgsDict(TypedDict): + current_job_status: NotRequired[pulumi.Input[_builtins.str]] + """ + Job current status + """ + failure: NotRequired[pulumi.Input['JobStatusFailureArgsDict']] + """ + Job failure information + """ + health_score: NotRequired[pulumi.Input[_builtins.int]] + """ + Job Run Health Score + """ + risk_level: NotRequired[pulumi.Input[_builtins.str]] + """ + Risk level, which indicates the risk level of the operation status of the job. + """ + running: NotRequired[pulumi.Input['JobStatusRunningArgsDict']] + """ + job running status, which has value when the job is Running. + """ +elif False: + JobStatusArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobStatusArgs: + def __init__(__self__, *, + current_job_status: Optional[pulumi.Input[_builtins.str]] = None, + failure: Optional[pulumi.Input['JobStatusFailureArgs']] = None, + health_score: Optional[pulumi.Input[_builtins.int]] = None, + risk_level: Optional[pulumi.Input[_builtins.str]] = None, + running: Optional[pulumi.Input['JobStatusRunningArgs']] = None): + """ + :param pulumi.Input[_builtins.str] current_job_status: Job current status + :param pulumi.Input['JobStatusFailureArgs'] failure: Job failure information + :param pulumi.Input[_builtins.int] health_score: Job Run Health Score + :param pulumi.Input[_builtins.str] risk_level: Risk level, which indicates the risk level of the operation status of the job. + :param pulumi.Input['JobStatusRunningArgs'] running: job running status, which has value when the job is Running. + """ + if current_job_status is not None: + pulumi.set(__self__, "current_job_status", current_job_status) + if failure is not None: + pulumi.set(__self__, "failure", failure) + if health_score is not None: + pulumi.set(__self__, "health_score", health_score) + if risk_level is not None: + pulumi.set(__self__, "risk_level", risk_level) + if running is not None: + pulumi.set(__self__, "running", running) + + @_builtins.property + @pulumi.getter(name="currentJobStatus") + def current_job_status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Job current status + """ + return pulumi.get(self, "current_job_status") + + @current_job_status.setter + def current_job_status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "current_job_status", value) + + @_builtins.property + @pulumi.getter + def failure(self) -> Optional[pulumi.Input['JobStatusFailureArgs']]: + """ + Job failure information + """ + return pulumi.get(self, "failure") + + @failure.setter + def failure(self, value: Optional[pulumi.Input['JobStatusFailureArgs']]): + pulumi.set(self, "failure", value) + + @_builtins.property + @pulumi.getter(name="healthScore") + def health_score(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Job Run Health Score + """ + return pulumi.get(self, "health_score") + + @health_score.setter + def health_score(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "health_score", value) + + @_builtins.property + @pulumi.getter(name="riskLevel") + def risk_level(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Risk level, which indicates the risk level of the operation status of the job. + """ + return pulumi.get(self, "risk_level") + + @risk_level.setter + def risk_level(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "risk_level", value) + + @_builtins.property + @pulumi.getter + def running(self) -> Optional[pulumi.Input['JobStatusRunningArgs']]: + """ + job running status, which has value when the job is Running. + """ + return pulumi.get(self, "running") + + @running.setter + def running(self, value: Optional[pulumi.Input['JobStatusRunningArgs']]): + pulumi.set(self, "running", value) + + +if not MYPY: + class JobStatusFailureArgsDict(TypedDict): + failed_at: NotRequired[pulumi.Input[_builtins.int]] + """ + Job failure time + """ + message: NotRequired[pulumi.Input[_builtins.str]] + """ + Failure Information Details + """ + reason: NotRequired[pulumi.Input[_builtins.str]] + """ + Failure Reason + """ +elif False: + JobStatusFailureArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobStatusFailureArgs: + def __init__(__self__, *, + failed_at: Optional[pulumi.Input[_builtins.int]] = None, + message: Optional[pulumi.Input[_builtins.str]] = None, + reason: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] failed_at: Job failure time + :param pulumi.Input[_builtins.str] message: Failure Information Details + :param pulumi.Input[_builtins.str] reason: Failure Reason + """ + if failed_at is not None: + pulumi.set(__self__, "failed_at", failed_at) + if message is not None: + pulumi.set(__self__, "message", message) + if reason is not None: + pulumi.set(__self__, "reason", reason) + + @_builtins.property + @pulumi.getter(name="failedAt") + def failed_at(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Job failure time + """ + return pulumi.get(self, "failed_at") + + @failed_at.setter + def failed_at(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "failed_at", value) + + @_builtins.property + @pulumi.getter + def message(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Failure Information Details + """ + return pulumi.get(self, "message") + + @message.setter + def message(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "message", value) + + @_builtins.property + @pulumi.getter + def reason(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Failure Reason + """ + return pulumi.get(self, "reason") + + @reason.setter + def reason(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "reason", value) + + +if not MYPY: + class JobStatusRunningArgsDict(TypedDict): + observed_flink_job_restarts: NotRequired[pulumi.Input[_builtins.int]] + """ + Number of job restarts + """ + observed_flink_job_status: NotRequired[pulumi.Input[_builtins.str]] + """ + Flink job status + """ +elif False: + JobStatusRunningArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobStatusRunningArgs: + def __init__(__self__, *, + observed_flink_job_restarts: Optional[pulumi.Input[_builtins.int]] = None, + observed_flink_job_status: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.int] observed_flink_job_restarts: Number of job restarts + :param pulumi.Input[_builtins.str] observed_flink_job_status: Flink job status + """ + if observed_flink_job_restarts is not None: + pulumi.set(__self__, "observed_flink_job_restarts", observed_flink_job_restarts) + if observed_flink_job_status is not None: + pulumi.set(__self__, "observed_flink_job_status", observed_flink_job_status) + + @_builtins.property + @pulumi.getter(name="observedFlinkJobRestarts") + def observed_flink_job_restarts(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of job restarts + """ + return pulumi.get(self, "observed_flink_job_restarts") + + @observed_flink_job_restarts.setter + def observed_flink_job_restarts(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "observed_flink_job_restarts", value) + + @_builtins.property + @pulumi.getter(name="observedFlinkJobStatus") + def observed_flink_job_status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Flink job status + """ + return pulumi.get(self, "observed_flink_job_status") + + @observed_flink_job_status.setter + def observed_flink_job_status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "observed_flink_job_status", value) + + if not MYPY: class VvpInstanceResourceSpecArgsDict(TypedDict): cpu: NotRequired[pulumi.Input[_builtins.int]] diff --git a/sdk/python/pulumi_alicloud/realtimecompute/deployment.py b/sdk/python/pulumi_alicloud/realtimecompute/deployment.py new file mode 100644 index 0000000000..d00402ada1 --- /dev/null +++ b/sdk/python/pulumi_alicloud/realtimecompute/deployment.py @@ -0,0 +1,941 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DeploymentArgs', 'Deployment'] + +@pulumi.input_type +class DeploymentArgs: + def __init__(__self__, *, + artifact: pulumi.Input['DeploymentArtifactArgs'], + deployment_name: pulumi.Input[_builtins.str], + deployment_target: pulumi.Input['DeploymentDeploymentTargetArgs'], + execution_mode: pulumi.Input[_builtins.str], + namespace: pulumi.Input[_builtins.str], + batch_resource_setting: Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + engine_version: Optional[pulumi.Input[_builtins.str]] = None, + flink_conf: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]] = None, + logging: Optional[pulumi.Input['DeploymentLoggingArgs']] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + streaming_resource_setting: Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']] = None): + """ + The set of arguments for constructing a Deployment resource. + :param pulumi.Input['DeploymentArtifactArgs'] artifact: Content of the deployment job See `artifact` below. + :param pulumi.Input[_builtins.str] deployment_name: Name of the deployment + :param pulumi.Input['DeploymentDeploymentTargetArgs'] deployment_target: Deployment target See `deployment_target` below. + :param pulumi.Input[_builtins.str] execution_mode: Execution mode. Valid values: STREAMING or BATCH. + :param pulumi.Input[_builtins.str] namespace: Namespace name + :param pulumi.Input['DeploymentBatchResourceSettingArgs'] batch_resource_setting: Batch job resource settings See `batch_resource_setting` below. + :param pulumi.Input[_builtins.str] description: Description + :param pulumi.Input[_builtins.str] engine_version: Engine version of the deployment instance + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] flink_conf: Flink configuration + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Deployment labels + :param pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]] local_variables: Job variables See `local_variables` below. + :param pulumi.Input['DeploymentLoggingArgs'] logging: Job log configuration See `logging` below. + :param pulumi.Input[_builtins.str] resource_id: Workspace resource ID + :param pulumi.Input['DeploymentStreamingResourceSettingArgs'] streaming_resource_setting: Resource settings for streaming mode See `streaming_resource_setting` below. + """ + pulumi.set(__self__, "artifact", artifact) + pulumi.set(__self__, "deployment_name", deployment_name) + pulumi.set(__self__, "deployment_target", deployment_target) + pulumi.set(__self__, "execution_mode", execution_mode) + pulumi.set(__self__, "namespace", namespace) + if batch_resource_setting is not None: + pulumi.set(__self__, "batch_resource_setting", batch_resource_setting) + if description is not None: + pulumi.set(__self__, "description", description) + if engine_version is not None: + pulumi.set(__self__, "engine_version", engine_version) + if flink_conf is not None: + pulumi.set(__self__, "flink_conf", flink_conf) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if local_variables is not None: + pulumi.set(__self__, "local_variables", local_variables) + if logging is not None: + pulumi.set(__self__, "logging", logging) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if streaming_resource_setting is not None: + pulumi.set(__self__, "streaming_resource_setting", streaming_resource_setting) + + @_builtins.property + @pulumi.getter + def artifact(self) -> pulumi.Input['DeploymentArtifactArgs']: + """ + Content of the deployment job See `artifact` below. + """ + return pulumi.get(self, "artifact") + + @artifact.setter + def artifact(self, value: pulumi.Input['DeploymentArtifactArgs']): + pulumi.set(self, "artifact", value) + + @_builtins.property + @pulumi.getter(name="deploymentName") + def deployment_name(self) -> pulumi.Input[_builtins.str]: + """ + Name of the deployment + """ + return pulumi.get(self, "deployment_name") + + @deployment_name.setter + def deployment_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "deployment_name", value) + + @_builtins.property + @pulumi.getter(name="deploymentTarget") + def deployment_target(self) -> pulumi.Input['DeploymentDeploymentTargetArgs']: + """ + Deployment target See `deployment_target` below. + """ + return pulumi.get(self, "deployment_target") + + @deployment_target.setter + def deployment_target(self, value: pulumi.Input['DeploymentDeploymentTargetArgs']): + pulumi.set(self, "deployment_target", value) + + @_builtins.property + @pulumi.getter(name="executionMode") + def execution_mode(self) -> pulumi.Input[_builtins.str]: + """ + Execution mode. Valid values: STREAMING or BATCH. + """ + return pulumi.get(self, "execution_mode") + + @execution_mode.setter + def execution_mode(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "execution_mode", value) + + @_builtins.property + @pulumi.getter + def namespace(self) -> pulumi.Input[_builtins.str]: + """ + Namespace name + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "namespace", value) + + @_builtins.property + @pulumi.getter(name="batchResourceSetting") + def batch_resource_setting(self) -> Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']]: + """ + Batch job resource settings See `batch_resource_setting` below. + """ + return pulumi.get(self, "batch_resource_setting") + + @batch_resource_setting.setter + def batch_resource_setting(self, value: Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']]): + pulumi.set(self, "batch_resource_setting", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="engineVersion") + def engine_version(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Engine version of the deployment instance + """ + return pulumi.get(self, "engine_version") + + @engine_version.setter + def engine_version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "engine_version", value) + + @_builtins.property + @pulumi.getter(name="flinkConf") + def flink_conf(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Flink configuration + """ + return pulumi.get(self, "flink_conf") + + @flink_conf.setter + def flink_conf(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "flink_conf", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Deployment labels + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]]: + """ + Job variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @local_variables.setter + def local_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]]): + pulumi.set(self, "local_variables", value) + + @_builtins.property + @pulumi.getter + def logging(self) -> Optional[pulumi.Input['DeploymentLoggingArgs']]: + """ + Job log configuration See `logging` below. + """ + return pulumi.get(self, "logging") + + @logging.setter + def logging(self, value: Optional[pulumi.Input['DeploymentLoggingArgs']]): + pulumi.set(self, "logging", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Workspace resource ID + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="streamingResourceSetting") + def streaming_resource_setting(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']]: + """ + Resource settings for streaming mode See `streaming_resource_setting` below. + """ + return pulumi.get(self, "streaming_resource_setting") + + @streaming_resource_setting.setter + def streaming_resource_setting(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']]): + pulumi.set(self, "streaming_resource_setting", value) + + +@pulumi.input_type +class _DeploymentState: + def __init__(__self__, *, + artifact: Optional[pulumi.Input['DeploymentArtifactArgs']] = None, + batch_resource_setting: Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']] = None, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + deployment_name: Optional[pulumi.Input[_builtins.str]] = None, + deployment_target: Optional[pulumi.Input['DeploymentDeploymentTargetArgs']] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + engine_version: Optional[pulumi.Input[_builtins.str]] = None, + execution_mode: Optional[pulumi.Input[_builtins.str]] = None, + flink_conf: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]] = None, + logging: Optional[pulumi.Input['DeploymentLoggingArgs']] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + streaming_resource_setting: Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']] = None): + """ + Input properties used for looking up and filtering Deployment resources. + :param pulumi.Input['DeploymentArtifactArgs'] artifact: Content of the deployment job See `artifact` below. + :param pulumi.Input['DeploymentBatchResourceSettingArgs'] batch_resource_setting: Batch job resource settings See `batch_resource_setting` below. + :param pulumi.Input[_builtins.str] deployment_id: Resource property field representing the primary resource ID + :param pulumi.Input[_builtins.str] deployment_name: Name of the deployment + :param pulumi.Input['DeploymentDeploymentTargetArgs'] deployment_target: Deployment target See `deployment_target` below. + :param pulumi.Input[_builtins.str] description: Description + :param pulumi.Input[_builtins.str] engine_version: Engine version of the deployment instance + :param pulumi.Input[_builtins.str] execution_mode: Execution mode. Valid values: STREAMING or BATCH. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] flink_conf: Flink configuration + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Deployment labels + :param pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]] local_variables: Job variables See `local_variables` below. + :param pulumi.Input['DeploymentLoggingArgs'] logging: Job log configuration See `logging` below. + :param pulumi.Input[_builtins.str] namespace: Namespace name + :param pulumi.Input[_builtins.str] resource_id: Workspace resource ID + :param pulumi.Input['DeploymentStreamingResourceSettingArgs'] streaming_resource_setting: Resource settings for streaming mode See `streaming_resource_setting` below. + """ + if artifact is not None: + pulumi.set(__self__, "artifact", artifact) + if batch_resource_setting is not None: + pulumi.set(__self__, "batch_resource_setting", batch_resource_setting) + if deployment_id is not None: + pulumi.set(__self__, "deployment_id", deployment_id) + if deployment_name is not None: + pulumi.set(__self__, "deployment_name", deployment_name) + if deployment_target is not None: + pulumi.set(__self__, "deployment_target", deployment_target) + if description is not None: + pulumi.set(__self__, "description", description) + if engine_version is not None: + pulumi.set(__self__, "engine_version", engine_version) + if execution_mode is not None: + pulumi.set(__self__, "execution_mode", execution_mode) + if flink_conf is not None: + pulumi.set(__self__, "flink_conf", flink_conf) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if local_variables is not None: + pulumi.set(__self__, "local_variables", local_variables) + if logging is not None: + pulumi.set(__self__, "logging", logging) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if streaming_resource_setting is not None: + pulumi.set(__self__, "streaming_resource_setting", streaming_resource_setting) + + @_builtins.property + @pulumi.getter + def artifact(self) -> Optional[pulumi.Input['DeploymentArtifactArgs']]: + """ + Content of the deployment job See `artifact` below. + """ + return pulumi.get(self, "artifact") + + @artifact.setter + def artifact(self, value: Optional[pulumi.Input['DeploymentArtifactArgs']]): + pulumi.set(self, "artifact", value) + + @_builtins.property + @pulumi.getter(name="batchResourceSetting") + def batch_resource_setting(self) -> Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']]: + """ + Batch job resource settings See `batch_resource_setting` below. + """ + return pulumi.get(self, "batch_resource_setting") + + @batch_resource_setting.setter + def batch_resource_setting(self, value: Optional[pulumi.Input['DeploymentBatchResourceSettingArgs']]): + pulumi.set(self, "batch_resource_setting", value) + + @_builtins.property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource property field representing the primary resource ID + """ + return pulumi.get(self, "deployment_id") + + @deployment_id.setter + def deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "deployment_id", value) + + @_builtins.property + @pulumi.getter(name="deploymentName") + def deployment_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the deployment + """ + return pulumi.get(self, "deployment_name") + + @deployment_name.setter + def deployment_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "deployment_name", value) + + @_builtins.property + @pulumi.getter(name="deploymentTarget") + def deployment_target(self) -> Optional[pulumi.Input['DeploymentDeploymentTargetArgs']]: + """ + Deployment target See `deployment_target` below. + """ + return pulumi.get(self, "deployment_target") + + @deployment_target.setter + def deployment_target(self, value: Optional[pulumi.Input['DeploymentDeploymentTargetArgs']]): + pulumi.set(self, "deployment_target", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="engineVersion") + def engine_version(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Engine version of the deployment instance + """ + return pulumi.get(self, "engine_version") + + @engine_version.setter + def engine_version(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "engine_version", value) + + @_builtins.property + @pulumi.getter(name="executionMode") + def execution_mode(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Execution mode. Valid values: STREAMING or BATCH. + """ + return pulumi.get(self, "execution_mode") + + @execution_mode.setter + def execution_mode(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "execution_mode", value) + + @_builtins.property + @pulumi.getter(name="flinkConf") + def flink_conf(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Flink configuration + """ + return pulumi.get(self, "flink_conf") + + @flink_conf.setter + def flink_conf(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "flink_conf", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Deployment labels + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]]: + """ + Job variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @local_variables.setter + def local_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DeploymentLocalVariableArgs']]]]): + pulumi.set(self, "local_variables", value) + + @_builtins.property + @pulumi.getter + def logging(self) -> Optional[pulumi.Input['DeploymentLoggingArgs']]: + """ + Job log configuration See `logging` below. + """ + return pulumi.get(self, "logging") + + @logging.setter + def logging(self, value: Optional[pulumi.Input['DeploymentLoggingArgs']]): + pulumi.set(self, "logging", value) + + @_builtins.property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Namespace name + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "namespace", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Workspace resource ID + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="streamingResourceSetting") + def streaming_resource_setting(self) -> Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']]: + """ + Resource settings for streaming mode See `streaming_resource_setting` below. + """ + return pulumi.get(self, "streaming_resource_setting") + + @streaming_resource_setting.setter + def streaming_resource_setting(self, value: Optional[pulumi.Input['DeploymentStreamingResourceSettingArgs']]): + pulumi.set(self, "streaming_resource_setting", value) + + +@pulumi.type_token("alicloud:realtimecompute/deployment:Deployment") +class Deployment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + artifact: Optional[pulumi.Input[Union['DeploymentArtifactArgs', 'DeploymentArtifactArgsDict']]] = None, + batch_resource_setting: Optional[pulumi.Input[Union['DeploymentBatchResourceSettingArgs', 'DeploymentBatchResourceSettingArgsDict']]] = None, + deployment_name: Optional[pulumi.Input[_builtins.str]] = None, + deployment_target: Optional[pulumi.Input[Union['DeploymentDeploymentTargetArgs', 'DeploymentDeploymentTargetArgsDict']]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + engine_version: Optional[pulumi.Input[_builtins.str]] = None, + execution_mode: Optional[pulumi.Input[_builtins.str]] = None, + flink_conf: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeploymentLocalVariableArgs', 'DeploymentLocalVariableArgsDict']]]]] = None, + logging: Optional[pulumi.Input[Union['DeploymentLoggingArgs', 'DeploymentLoggingArgsDict']]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + streaming_resource_setting: Optional[pulumi.Input[Union['DeploymentStreamingResourceSettingArgs', 'DeploymentStreamingResourceSettingArgsDict']]] = None, + __props__=None): + """ + Provides a Realtime Compute Deployment resource. + + Deployment in the Realtime Compute console. + + For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.vpc.Network("default", + is_default=False, + cidr_block="172.16.0.0/16", + vpc_name="example-tf-vpc-deployment") + default_switch = alicloud.vpc.Switch("default", + is_default=False, + vpc_id=default.id, + zone_id="cn-beijing-g", + cidr_block="172.16.0.0/24", + vswitch_name="example-tf-vSwitch-deployment") + default_bucket = alicloud.oss.Bucket("default") + default_vvp_instance = alicloud.realtimecompute.VvpInstance("default", + vvp_instance_name="code-example-tf-deployment", + storage={ + "oss": { + "bucket": default_bucket.id, + }, + }, + vpc_id=default.id, + vswitch_ids=[default_switch.id], + resource_spec={ + "cpu": 8, + "memory_gb": 32, + }, + payment_type="PayAsYouGo", + zone_id=default_switch.zone_id) + create_deployment9 = alicloud.realtimecompute.Deployment("create_Deployment9", + deployment_name="tf-example-deployment-sql-56", + engine_version="vvr-8.0.10-flink-1.17", + resource_id=default_vvp_instance.resource_id, + execution_mode="STREAMING", + deployment_target={ + "mode": "PER_JOB", + "name": "default-queue", + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + artifact={ + "kind": "SQLSCRIPT", + "sql_artifact": { + "sql_script": "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + }, + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Realtime Compute Deployment can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:realtimecompute/deployment:Deployment example :: + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['DeploymentArtifactArgs', 'DeploymentArtifactArgsDict']] artifact: Content of the deployment job See `artifact` below. + :param pulumi.Input[Union['DeploymentBatchResourceSettingArgs', 'DeploymentBatchResourceSettingArgsDict']] batch_resource_setting: Batch job resource settings See `batch_resource_setting` below. + :param pulumi.Input[_builtins.str] deployment_name: Name of the deployment + :param pulumi.Input[Union['DeploymentDeploymentTargetArgs', 'DeploymentDeploymentTargetArgsDict']] deployment_target: Deployment target See `deployment_target` below. + :param pulumi.Input[_builtins.str] description: Description + :param pulumi.Input[_builtins.str] engine_version: Engine version of the deployment instance + :param pulumi.Input[_builtins.str] execution_mode: Execution mode. Valid values: STREAMING or BATCH. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] flink_conf: Flink configuration + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Deployment labels + :param pulumi.Input[Sequence[pulumi.Input[Union['DeploymentLocalVariableArgs', 'DeploymentLocalVariableArgsDict']]]] local_variables: Job variables See `local_variables` below. + :param pulumi.Input[Union['DeploymentLoggingArgs', 'DeploymentLoggingArgsDict']] logging: Job log configuration See `logging` below. + :param pulumi.Input[_builtins.str] namespace: Namespace name + :param pulumi.Input[_builtins.str] resource_id: Workspace resource ID + :param pulumi.Input[Union['DeploymentStreamingResourceSettingArgs', 'DeploymentStreamingResourceSettingArgsDict']] streaming_resource_setting: Resource settings for streaming mode See `streaming_resource_setting` below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DeploymentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Realtime Compute Deployment resource. + + Deployment in the Realtime Compute console. + + For information about Realtime Compute Deployment and how to use it, see [What is Deployment](https://next.api.alibabacloud.com/document/ververica/2022-07-18/CreateDeployment). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.vpc.Network("default", + is_default=False, + cidr_block="172.16.0.0/16", + vpc_name="example-tf-vpc-deployment") + default_switch = alicloud.vpc.Switch("default", + is_default=False, + vpc_id=default.id, + zone_id="cn-beijing-g", + cidr_block="172.16.0.0/24", + vswitch_name="example-tf-vSwitch-deployment") + default_bucket = alicloud.oss.Bucket("default") + default_vvp_instance = alicloud.realtimecompute.VvpInstance("default", + vvp_instance_name="code-example-tf-deployment", + storage={ + "oss": { + "bucket": default_bucket.id, + }, + }, + vpc_id=default.id, + vswitch_ids=[default_switch.id], + resource_spec={ + "cpu": 8, + "memory_gb": 32, + }, + payment_type="PayAsYouGo", + zone_id=default_switch.zone_id) + create_deployment9 = alicloud.realtimecompute.Deployment("create_Deployment9", + deployment_name="tf-example-deployment-sql-56", + engine_version="vvr-8.0.10-flink-1.17", + resource_id=default_vvp_instance.resource_id, + execution_mode="STREAMING", + deployment_target={ + "mode": "PER_JOB", + "name": "default-queue", + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + artifact={ + "kind": "SQLSCRIPT", + "sql_artifact": { + "sql_script": "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + }, + }) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Realtime Compute Deployment can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:realtimecompute/deployment:Deployment example :: + ``` + + :param str resource_name: The name of the resource. + :param DeploymentArgs 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(DeploymentArgs, 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, + artifact: Optional[pulumi.Input[Union['DeploymentArtifactArgs', 'DeploymentArtifactArgsDict']]] = None, + batch_resource_setting: Optional[pulumi.Input[Union['DeploymentBatchResourceSettingArgs', 'DeploymentBatchResourceSettingArgsDict']]] = None, + deployment_name: Optional[pulumi.Input[_builtins.str]] = None, + deployment_target: Optional[pulumi.Input[Union['DeploymentDeploymentTargetArgs', 'DeploymentDeploymentTargetArgsDict']]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + engine_version: Optional[pulumi.Input[_builtins.str]] = None, + execution_mode: Optional[pulumi.Input[_builtins.str]] = None, + flink_conf: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeploymentLocalVariableArgs', 'DeploymentLocalVariableArgsDict']]]]] = None, + logging: Optional[pulumi.Input[Union['DeploymentLoggingArgs', 'DeploymentLoggingArgsDict']]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + streaming_resource_setting: Optional[pulumi.Input[Union['DeploymentStreamingResourceSettingArgs', 'DeploymentStreamingResourceSettingArgsDict']]] = 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__ = DeploymentArgs.__new__(DeploymentArgs) + + if artifact is None and not opts.urn: + raise TypeError("Missing required property 'artifact'") + __props__.__dict__["artifact"] = artifact + __props__.__dict__["batch_resource_setting"] = batch_resource_setting + if deployment_name is None and not opts.urn: + raise TypeError("Missing required property 'deployment_name'") + __props__.__dict__["deployment_name"] = deployment_name + if deployment_target is None and not opts.urn: + raise TypeError("Missing required property 'deployment_target'") + __props__.__dict__["deployment_target"] = deployment_target + __props__.__dict__["description"] = description + __props__.__dict__["engine_version"] = engine_version + if execution_mode is None and not opts.urn: + raise TypeError("Missing required property 'execution_mode'") + __props__.__dict__["execution_mode"] = execution_mode + __props__.__dict__["flink_conf"] = flink_conf + __props__.__dict__["labels"] = labels + __props__.__dict__["local_variables"] = local_variables + __props__.__dict__["logging"] = logging + if namespace is None and not opts.urn: + raise TypeError("Missing required property 'namespace'") + __props__.__dict__["namespace"] = namespace + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["streaming_resource_setting"] = streaming_resource_setting + __props__.__dict__["deployment_id"] = None + super(Deployment, __self__).__init__( + 'alicloud:realtimecompute/deployment:Deployment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + artifact: Optional[pulumi.Input[Union['DeploymentArtifactArgs', 'DeploymentArtifactArgsDict']]] = None, + batch_resource_setting: Optional[pulumi.Input[Union['DeploymentBatchResourceSettingArgs', 'DeploymentBatchResourceSettingArgsDict']]] = None, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + deployment_name: Optional[pulumi.Input[_builtins.str]] = None, + deployment_target: Optional[pulumi.Input[Union['DeploymentDeploymentTargetArgs', 'DeploymentDeploymentTargetArgsDict']]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + engine_version: Optional[pulumi.Input[_builtins.str]] = None, + execution_mode: Optional[pulumi.Input[_builtins.str]] = None, + flink_conf: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeploymentLocalVariableArgs', 'DeploymentLocalVariableArgsDict']]]]] = None, + logging: Optional[pulumi.Input[Union['DeploymentLoggingArgs', 'DeploymentLoggingArgsDict']]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + streaming_resource_setting: Optional[pulumi.Input[Union['DeploymentStreamingResourceSettingArgs', 'DeploymentStreamingResourceSettingArgsDict']]] = None) -> 'Deployment': + """ + Get an existing Deployment 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[Union['DeploymentArtifactArgs', 'DeploymentArtifactArgsDict']] artifact: Content of the deployment job See `artifact` below. + :param pulumi.Input[Union['DeploymentBatchResourceSettingArgs', 'DeploymentBatchResourceSettingArgsDict']] batch_resource_setting: Batch job resource settings See `batch_resource_setting` below. + :param pulumi.Input[_builtins.str] deployment_id: Resource property field representing the primary resource ID + :param pulumi.Input[_builtins.str] deployment_name: Name of the deployment + :param pulumi.Input[Union['DeploymentDeploymentTargetArgs', 'DeploymentDeploymentTargetArgsDict']] deployment_target: Deployment target See `deployment_target` below. + :param pulumi.Input[_builtins.str] description: Description + :param pulumi.Input[_builtins.str] engine_version: Engine version of the deployment instance + :param pulumi.Input[_builtins.str] execution_mode: Execution mode. Valid values: STREAMING or BATCH. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] flink_conf: Flink configuration + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Deployment labels + :param pulumi.Input[Sequence[pulumi.Input[Union['DeploymentLocalVariableArgs', 'DeploymentLocalVariableArgsDict']]]] local_variables: Job variables See `local_variables` below. + :param pulumi.Input[Union['DeploymentLoggingArgs', 'DeploymentLoggingArgsDict']] logging: Job log configuration See `logging` below. + :param pulumi.Input[_builtins.str] namespace: Namespace name + :param pulumi.Input[_builtins.str] resource_id: Workspace resource ID + :param pulumi.Input[Union['DeploymentStreamingResourceSettingArgs', 'DeploymentStreamingResourceSettingArgsDict']] streaming_resource_setting: Resource settings for streaming mode See `streaming_resource_setting` below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DeploymentState.__new__(_DeploymentState) + + __props__.__dict__["artifact"] = artifact + __props__.__dict__["batch_resource_setting"] = batch_resource_setting + __props__.__dict__["deployment_id"] = deployment_id + __props__.__dict__["deployment_name"] = deployment_name + __props__.__dict__["deployment_target"] = deployment_target + __props__.__dict__["description"] = description + __props__.__dict__["engine_version"] = engine_version + __props__.__dict__["execution_mode"] = execution_mode + __props__.__dict__["flink_conf"] = flink_conf + __props__.__dict__["labels"] = labels + __props__.__dict__["local_variables"] = local_variables + __props__.__dict__["logging"] = logging + __props__.__dict__["namespace"] = namespace + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["streaming_resource_setting"] = streaming_resource_setting + return Deployment(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def artifact(self) -> pulumi.Output['outputs.DeploymentArtifact']: + """ + Content of the deployment job See `artifact` below. + """ + return pulumi.get(self, "artifact") + + @_builtins.property + @pulumi.getter(name="batchResourceSetting") + def batch_resource_setting(self) -> pulumi.Output[Optional['outputs.DeploymentBatchResourceSetting']]: + """ + Batch job resource settings See `batch_resource_setting` below. + """ + return pulumi.get(self, "batch_resource_setting") + + @_builtins.property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[_builtins.str]: + """ + Resource property field representing the primary resource ID + """ + return pulumi.get(self, "deployment_id") + + @_builtins.property + @pulumi.getter(name="deploymentName") + def deployment_name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the deployment + """ + return pulumi.get(self, "deployment_name") + + @_builtins.property + @pulumi.getter(name="deploymentTarget") + def deployment_target(self) -> pulumi.Output['outputs.DeploymentDeploymentTarget']: + """ + Deployment target See `deployment_target` below. + """ + return pulumi.get(self, "deployment_target") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Description + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="engineVersion") + def engine_version(self) -> pulumi.Output[_builtins.str]: + """ + Engine version of the deployment instance + """ + return pulumi.get(self, "engine_version") + + @_builtins.property + @pulumi.getter(name="executionMode") + def execution_mode(self) -> pulumi.Output[_builtins.str]: + """ + Execution mode. Valid values: STREAMING or BATCH. + """ + return pulumi.get(self, "execution_mode") + + @_builtins.property + @pulumi.getter(name="flinkConf") + def flink_conf(self) -> pulumi.Output[Mapping[str, _builtins.str]]: + """ + Flink configuration + """ + return pulumi.get(self, "flink_conf") + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + Deployment labels + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> pulumi.Output[Optional[Sequence['outputs.DeploymentLocalVariable']]]: + """ + Job variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @_builtins.property + @pulumi.getter + def logging(self) -> pulumi.Output['outputs.DeploymentLogging']: + """ + Job log configuration See `logging` below. + """ + return pulumi.get(self, "logging") + + @_builtins.property + @pulumi.getter + def namespace(self) -> pulumi.Output[_builtins.str]: + """ + Namespace name + """ + return pulumi.get(self, "namespace") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[_builtins.str]: + """ + Workspace resource ID + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="streamingResourceSetting") + def streaming_resource_setting(self) -> pulumi.Output['outputs.DeploymentStreamingResourceSetting']: + """ + Resource settings for streaming mode See `streaming_resource_setting` below. + """ + return pulumi.get(self, "streaming_resource_setting") + diff --git a/sdk/python/pulumi_alicloud/realtimecompute/job.py b/sdk/python/pulumi_alicloud/realtimecompute/job.py new file mode 100644 index 0000000000..0cbcb9d459 --- /dev/null +++ b/sdk/python/pulumi_alicloud/realtimecompute/job.py @@ -0,0 +1,687 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['JobArgs', 'Job'] + +@pulumi.input_type +class JobArgs: + def __init__(__self__, *, + namespace: pulumi.Input[_builtins.str], + resource_id: pulumi.Input[_builtins.str], + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]] = None, + resource_queue_name: Optional[pulumi.Input[_builtins.str]] = None, + restore_strategy: Optional[pulumi.Input['JobRestoreStrategyArgs']] = None, + status: Optional[pulumi.Input['JobStatusArgs']] = None, + stop_strategy: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a Job resource. + :param pulumi.Input[_builtins.str] namespace: namespace + :param pulumi.Input[_builtins.str] resource_id: workspace + :param pulumi.Input[_builtins.str] deployment_id: deploymentId + :param pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]] local_variables: Local variables See `local_variables` below. + :param pulumi.Input[_builtins.str] resource_queue_name: Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input['JobRestoreStrategyArgs'] restore_strategy: Restore strategy See `restore_strategy` below. + :param pulumi.Input['JobStatusArgs'] status: job status See `status` below. + """ + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "resource_id", resource_id) + if deployment_id is not None: + pulumi.set(__self__, "deployment_id", deployment_id) + if local_variables is not None: + pulumi.set(__self__, "local_variables", local_variables) + if resource_queue_name is not None: + pulumi.set(__self__, "resource_queue_name", resource_queue_name) + if restore_strategy is not None: + pulumi.set(__self__, "restore_strategy", restore_strategy) + if status is not None: + pulumi.set(__self__, "status", status) + if stop_strategy is not None: + pulumi.set(__self__, "stop_strategy", stop_strategy) + + @_builtins.property + @pulumi.getter + def namespace(self) -> pulumi.Input[_builtins.str]: + """ + namespace + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "namespace", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[_builtins.str]: + """ + workspace + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + deploymentId + """ + return pulumi.get(self, "deployment_id") + + @deployment_id.setter + def deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "deployment_id", value) + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]]: + """ + Local variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @local_variables.setter + def local_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]]): + pulumi.set(self, "local_variables", value) + + @_builtins.property + @pulumi.getter(name="resourceQueueName") + def resource_queue_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "resource_queue_name") + + @resource_queue_name.setter + def resource_queue_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_queue_name", value) + + @_builtins.property + @pulumi.getter(name="restoreStrategy") + def restore_strategy(self) -> Optional[pulumi.Input['JobRestoreStrategyArgs']]: + """ + Restore strategy See `restore_strategy` below. + """ + return pulumi.get(self, "restore_strategy") + + @restore_strategy.setter + def restore_strategy(self, value: Optional[pulumi.Input['JobRestoreStrategyArgs']]): + pulumi.set(self, "restore_strategy", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input['JobStatusArgs']]: + """ + job status See `status` below. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input['JobStatusArgs']]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="stopStrategy") + def stop_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "stop_strategy") + + @stop_strategy.setter + def stop_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "stop_strategy", value) + + +@pulumi.input_type +class _JobState: + def __init__(__self__, *, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + job_id: Optional[pulumi.Input[_builtins.str]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + resource_queue_name: Optional[pulumi.Input[_builtins.str]] = None, + restore_strategy: Optional[pulumi.Input['JobRestoreStrategyArgs']] = None, + status: Optional[pulumi.Input['JobStatusArgs']] = None, + stop_strategy: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Job resources. + :param pulumi.Input[_builtins.str] deployment_id: deploymentId + :param pulumi.Input[_builtins.str] job_id: The first ID of the resource + :param pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]] local_variables: Local variables See `local_variables` below. + :param pulumi.Input[_builtins.str] namespace: namespace + :param pulumi.Input[_builtins.str] resource_id: workspace + :param pulumi.Input[_builtins.str] resource_queue_name: Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input['JobRestoreStrategyArgs'] restore_strategy: Restore strategy See `restore_strategy` below. + :param pulumi.Input['JobStatusArgs'] status: job status See `status` below. + """ + if deployment_id is not None: + pulumi.set(__self__, "deployment_id", deployment_id) + if job_id is not None: + pulumi.set(__self__, "job_id", job_id) + if local_variables is not None: + pulumi.set(__self__, "local_variables", local_variables) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if resource_queue_name is not None: + pulumi.set(__self__, "resource_queue_name", resource_queue_name) + if restore_strategy is not None: + pulumi.set(__self__, "restore_strategy", restore_strategy) + if status is not None: + pulumi.set(__self__, "status", status) + if stop_strategy is not None: + pulumi.set(__self__, "stop_strategy", stop_strategy) + + @_builtins.property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + deploymentId + """ + return pulumi.get(self, "deployment_id") + + @deployment_id.setter + def deployment_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "deployment_id", value) + + @_builtins.property + @pulumi.getter(name="jobId") + def job_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The first ID of the resource + """ + return pulumi.get(self, "job_id") + + @job_id.setter + def job_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "job_id", value) + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]]: + """ + Local variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @local_variables.setter + def local_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobLocalVariableArgs']]]]): + pulumi.set(self, "local_variables", value) + + @_builtins.property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + namespace + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "namespace", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + workspace + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="resourceQueueName") + def resource_queue_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "resource_queue_name") + + @resource_queue_name.setter + def resource_queue_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_queue_name", value) + + @_builtins.property + @pulumi.getter(name="restoreStrategy") + def restore_strategy(self) -> Optional[pulumi.Input['JobRestoreStrategyArgs']]: + """ + Restore strategy See `restore_strategy` below. + """ + return pulumi.get(self, "restore_strategy") + + @restore_strategy.setter + def restore_strategy(self, value: Optional[pulumi.Input['JobRestoreStrategyArgs']]): + pulumi.set(self, "restore_strategy", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input['JobStatusArgs']]: + """ + job status See `status` below. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input['JobStatusArgs']]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="stopStrategy") + def stop_strategy(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "stop_strategy") + + @stop_strategy.setter + def stop_strategy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "stop_strategy", value) + + +@pulumi.type_token("alicloud:realtimecompute/job:Job") +class Job(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobLocalVariableArgs', 'JobLocalVariableArgsDict']]]]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + resource_queue_name: Optional[pulumi.Input[_builtins.str]] = None, + restore_strategy: Optional[pulumi.Input[Union['JobRestoreStrategyArgs', 'JobRestoreStrategyArgsDict']]] = None, + status: Optional[pulumi.Input[Union['JobStatusArgs', 'JobStatusArgsDict']]] = None, + stop_strategy: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Realtime Compute Job resource. + + For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.vpc.Network("default", + is_default=False, + cidr_block="172.16.0.0/16", + vpc_name="example-tf-vpc-deployment") + default_switch = alicloud.vpc.Switch("default", + is_default=False, + vpc_id=default.id, + zone_id="cn-beijing-g", + cidr_block="172.16.0.0/24", + vswitch_name="example-tf-vSwitch-deployment") + default_bucket = alicloud.oss.Bucket("default") + default_vvp_instance = alicloud.realtimecompute.VvpInstance("default", + vvp_instance_name="code-example-tf-deployment", + storage={ + "oss": { + "bucket": default_bucket.id, + }, + }, + vpc_id=default.id, + vswitch_ids=[default_switch.id], + resource_spec={ + "cpu": 8, + "memory_gb": 32, + }, + payment_type="PayAsYouGo", + zone_id=default_switch.zone_id) + create_deployment9 = alicloud.realtimecompute.Deployment("create_Deployment9", + deployment_name="tf-example-deployment-sql-56", + engine_version="vvr-8.0.10-flink-1.17", + resource_id=default_vvp_instance.resource_id, + execution_mode="STREAMING", + deployment_target={ + "mode": "PER_JOB", + "name": "default-queue", + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + artifact={ + "kind": "SQLSCRIPT", + "sql_artifact": { + "sql_script": "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + }, + }) + default_job = alicloud.realtimecompute.Job("default", + local_variables=[{ + "value": "qq", + "name": "tt", + }], + restore_strategy={ + "kind": "NONE", + "job_start_time_in_ms": 1763694521254, + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + stop_strategy="NONE", + deployment_id=create_deployment9.deployment_id, + resource_queue_name="default-queue", + status={ + "current_job_status": "CANCELLED", + }, + resource_id=default_vvp_instance.resource_id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Realtime Compute Job can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:realtimecompute/job:Job example :: + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] deployment_id: deploymentId + :param pulumi.Input[Sequence[pulumi.Input[Union['JobLocalVariableArgs', 'JobLocalVariableArgsDict']]]] local_variables: Local variables See `local_variables` below. + :param pulumi.Input[_builtins.str] namespace: namespace + :param pulumi.Input[_builtins.str] resource_id: workspace + :param pulumi.Input[_builtins.str] resource_queue_name: Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[Union['JobRestoreStrategyArgs', 'JobRestoreStrategyArgsDict']] restore_strategy: Restore strategy See `restore_strategy` below. + :param pulumi.Input[Union['JobStatusArgs', 'JobStatusArgsDict']] status: job status See `status` below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: JobArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Realtime Compute Job resource. + + For information about Realtime Compute Job and how to use it, see [What is Job](https://next.api.alibabacloud.com/document/ververica/2022-07-18/StartJobWithParams). + + > **NOTE:** Available since v1.265.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.vpc.Network("default", + is_default=False, + cidr_block="172.16.0.0/16", + vpc_name="example-tf-vpc-deployment") + default_switch = alicloud.vpc.Switch("default", + is_default=False, + vpc_id=default.id, + zone_id="cn-beijing-g", + cidr_block="172.16.0.0/24", + vswitch_name="example-tf-vSwitch-deployment") + default_bucket = alicloud.oss.Bucket("default") + default_vvp_instance = alicloud.realtimecompute.VvpInstance("default", + vvp_instance_name="code-example-tf-deployment", + storage={ + "oss": { + "bucket": default_bucket.id, + }, + }, + vpc_id=default.id, + vswitch_ids=[default_switch.id], + resource_spec={ + "cpu": 8, + "memory_gb": 32, + }, + payment_type="PayAsYouGo", + zone_id=default_switch.zone_id) + create_deployment9 = alicloud.realtimecompute.Deployment("create_Deployment9", + deployment_name="tf-example-deployment-sql-56", + engine_version="vvr-8.0.10-flink-1.17", + resource_id=default_vvp_instance.resource_id, + execution_mode="STREAMING", + deployment_target={ + "mode": "PER_JOB", + "name": "default-queue", + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + artifact={ + "kind": "SQLSCRIPT", + "sql_artifact": { + "sql_script": "create temporary table `datagen` ( id varchar, name varchar ) with ( 'connector' = 'datagen' ); create temporary table `blackhole` ( id varchar, name varchar ) with ( 'connector' = 'blackhole' ); insert into blackhole select * from datagen;", + }, + }) + default_job = alicloud.realtimecompute.Job("default", + local_variables=[{ + "value": "qq", + "name": "tt", + }], + restore_strategy={ + "kind": "NONE", + "job_start_time_in_ms": 1763694521254, + }, + namespace=default_vvp_instance.vvp_instance_name.apply(lambda vvp_instance_name: f"{vvp_instance_name}-default"), + stop_strategy="NONE", + deployment_id=create_deployment9.deployment_id, + resource_queue_name="default-queue", + status={ + "current_job_status": "CANCELLED", + }, + resource_id=default_vvp_instance.resource_id) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Realtime Compute Job can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:realtimecompute/job:Job example :: + ``` + + :param str resource_name: The name of the resource. + :param JobArgs 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(JobArgs, 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, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobLocalVariableArgs', 'JobLocalVariableArgsDict']]]]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + resource_queue_name: Optional[pulumi.Input[_builtins.str]] = None, + restore_strategy: Optional[pulumi.Input[Union['JobRestoreStrategyArgs', 'JobRestoreStrategyArgsDict']]] = None, + status: Optional[pulumi.Input[Union['JobStatusArgs', 'JobStatusArgsDict']]] = None, + stop_strategy: Optional[pulumi.Input[_builtins.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__ = JobArgs.__new__(JobArgs) + + __props__.__dict__["deployment_id"] = deployment_id + __props__.__dict__["local_variables"] = local_variables + if namespace is None and not opts.urn: + raise TypeError("Missing required property 'namespace'") + __props__.__dict__["namespace"] = namespace + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["resource_queue_name"] = resource_queue_name + __props__.__dict__["restore_strategy"] = restore_strategy + __props__.__dict__["status"] = status + __props__.__dict__["stop_strategy"] = stop_strategy + __props__.__dict__["job_id"] = None + super(Job, __self__).__init__( + 'alicloud:realtimecompute/job:Job', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + deployment_id: Optional[pulumi.Input[_builtins.str]] = None, + job_id: Optional[pulumi.Input[_builtins.str]] = None, + local_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['JobLocalVariableArgs', 'JobLocalVariableArgsDict']]]]] = None, + namespace: Optional[pulumi.Input[_builtins.str]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + resource_queue_name: Optional[pulumi.Input[_builtins.str]] = None, + restore_strategy: Optional[pulumi.Input[Union['JobRestoreStrategyArgs', 'JobRestoreStrategyArgsDict']]] = None, + status: Optional[pulumi.Input[Union['JobStatusArgs', 'JobStatusArgsDict']]] = None, + stop_strategy: Optional[pulumi.Input[_builtins.str]] = None) -> 'Job': + """ + Get an existing Job 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[_builtins.str] deployment_id: deploymentId + :param pulumi.Input[_builtins.str] job_id: The first ID of the resource + :param pulumi.Input[Sequence[pulumi.Input[Union['JobLocalVariableArgs', 'JobLocalVariableArgsDict']]]] local_variables: Local variables See `local_variables` below. + :param pulumi.Input[_builtins.str] namespace: namespace + :param pulumi.Input[_builtins.str] resource_id: workspace + :param pulumi.Input[_builtins.str] resource_queue_name: Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[Union['JobRestoreStrategyArgs', 'JobRestoreStrategyArgsDict']] restore_strategy: Restore strategy See `restore_strategy` below. + :param pulumi.Input[Union['JobStatusArgs', 'JobStatusArgsDict']] status: job status See `status` below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _JobState.__new__(_JobState) + + __props__.__dict__["deployment_id"] = deployment_id + __props__.__dict__["job_id"] = job_id + __props__.__dict__["local_variables"] = local_variables + __props__.__dict__["namespace"] = namespace + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["resource_queue_name"] = resource_queue_name + __props__.__dict__["restore_strategy"] = restore_strategy + __props__.__dict__["status"] = status + __props__.__dict__["stop_strategy"] = stop_strategy + return Job(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + deploymentId + """ + return pulumi.get(self, "deployment_id") + + @_builtins.property + @pulumi.getter(name="jobId") + def job_id(self) -> pulumi.Output[_builtins.str]: + """ + The first ID of the resource + """ + return pulumi.get(self, "job_id") + + @_builtins.property + @pulumi.getter(name="localVariables") + def local_variables(self) -> pulumi.Output[Optional[Sequence['outputs.JobLocalVariable']]]: + """ + Local variables See `local_variables` below. + """ + return pulumi.get(self, "local_variables") + + @_builtins.property + @pulumi.getter + def namespace(self) -> pulumi.Output[_builtins.str]: + """ + namespace + """ + return pulumi.get(self, "namespace") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[_builtins.str]: + """ + workspace + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="resourceQueueName") + def resource_queue_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Resource Queue for Job Run + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "resource_queue_name") + + @_builtins.property + @pulumi.getter(name="restoreStrategy") + def restore_strategy(self) -> pulumi.Output[Optional['outputs.JobRestoreStrategy']]: + """ + Restore strategy See `restore_strategy` below. + """ + return pulumi.get(self, "restore_strategy") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output['outputs.JobStatus']: + """ + job status See `status` below. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="stopStrategy") + def stop_strategy(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "stop_strategy") + diff --git a/sdk/python/pulumi_alicloud/realtimecompute/outputs.py b/sdk/python/pulumi_alicloud/realtimecompute/outputs.py index 35af812e18..fa3504a144 100644 --- a/sdk/python/pulumi_alicloud/realtimecompute/outputs.py +++ b/sdk/python/pulumi_alicloud/realtimecompute/outputs.py @@ -16,11 +16,1248 @@ from . import outputs __all__ = [ + 'DeploymentArtifact', + 'DeploymentArtifactJarArtifact', + 'DeploymentArtifactPythonArtifact', + 'DeploymentArtifactSqlArtifact', + 'DeploymentBatchResourceSetting', + 'DeploymentBatchResourceSettingBasicResourceSetting', + 'DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec', + 'DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec', + 'DeploymentDeploymentTarget', + 'DeploymentLocalVariable', + 'DeploymentLogging', + 'DeploymentLoggingLog4jLogger', + 'DeploymentLoggingLogReservePolicy', + 'DeploymentStreamingResourceSetting', + 'DeploymentStreamingResourceSettingBasicResourceSetting', + 'DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec', + 'DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec', + 'DeploymentStreamingResourceSettingExpertResourceSetting', + 'DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec', + 'JobLocalVariable', + 'JobRestoreStrategy', + 'JobStatus', + 'JobStatusFailure', + 'JobStatusRunning', 'VvpInstanceResourceSpec', 'VvpInstanceStorage', 'VvpInstanceStorageOss', ] +@pulumi.output_type +class DeploymentArtifact(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jarArtifact": + suggest = "jar_artifact" + elif key == "pythonArtifact": + suggest = "python_artifact" + elif key == "sqlArtifact": + suggest = "sql_artifact" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentArtifact. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentArtifact.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentArtifact.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kind: _builtins.str, + jar_artifact: Optional['outputs.DeploymentArtifactJarArtifact'] = None, + python_artifact: Optional['outputs.DeploymentArtifactPythonArtifact'] = None, + sql_artifact: Optional['outputs.DeploymentArtifactSqlArtifact'] = None): + """ + :param _builtins.str kind: Artifact type + :param 'DeploymentArtifactJarArtifactArgs' jar_artifact: JarArtifact See `jar_artifact` below. + :param 'DeploymentArtifactPythonArtifactArgs' python_artifact: PythonArtifact See `python_artifact` below. + :param 'DeploymentArtifactSqlArtifactArgs' sql_artifact: SqlArtifact See `sql_artifact` below. + """ + pulumi.set(__self__, "kind", kind) + if jar_artifact is not None: + pulumi.set(__self__, "jar_artifact", jar_artifact) + if python_artifact is not None: + pulumi.set(__self__, "python_artifact", python_artifact) + if sql_artifact is not None: + pulumi.set(__self__, "sql_artifact", sql_artifact) + + @_builtins.property + @pulumi.getter + def kind(self) -> _builtins.str: + """ + Artifact type + """ + return pulumi.get(self, "kind") + + @_builtins.property + @pulumi.getter(name="jarArtifact") + def jar_artifact(self) -> Optional['outputs.DeploymentArtifactJarArtifact']: + """ + JarArtifact See `jar_artifact` below. + """ + return pulumi.get(self, "jar_artifact") + + @_builtins.property + @pulumi.getter(name="pythonArtifact") + def python_artifact(self) -> Optional['outputs.DeploymentArtifactPythonArtifact']: + """ + PythonArtifact See `python_artifact` below. + """ + return pulumi.get(self, "python_artifact") + + @_builtins.property + @pulumi.getter(name="sqlArtifact") + def sql_artifact(self) -> Optional['outputs.DeploymentArtifactSqlArtifact']: + """ + SqlArtifact See `sql_artifact` below. + """ + return pulumi.get(self, "sql_artifact") + + +@pulumi.output_type +class DeploymentArtifactJarArtifact(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalDependencies": + suggest = "additional_dependencies" + elif key == "entryClass": + suggest = "entry_class" + elif key == "jarUri": + suggest = "jar_uri" + elif key == "mainArgs": + suggest = "main_args" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentArtifactJarArtifact. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentArtifactJarArtifact.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentArtifactJarArtifact.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_dependencies: Optional[Sequence[_builtins.str]] = None, + entry_class: Optional[_builtins.str] = None, + jar_uri: Optional[_builtins.str] = None, + main_args: Optional[_builtins.str] = None): + """ + :param Sequence[_builtins.str] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param _builtins.str entry_class: Main class; you must specify the fully qualified class name + :param _builtins.str jar_uri: Full URL path of the JAR job + :param _builtins.str main_args: Startup arguments + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if entry_class is not None: + pulumi.set(__self__, "entry_class", entry_class) + if jar_uri is not None: + pulumi.set(__self__, "jar_uri", jar_uri) + if main_args is not None: + pulumi.set(__self__, "main_args", main_args) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[Sequence[_builtins.str]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @_builtins.property + @pulumi.getter(name="entryClass") + def entry_class(self) -> Optional[_builtins.str]: + """ + Main class; you must specify the fully qualified class name + """ + return pulumi.get(self, "entry_class") + + @_builtins.property + @pulumi.getter(name="jarUri") + def jar_uri(self) -> Optional[_builtins.str]: + """ + Full URL path of the JAR job + """ + return pulumi.get(self, "jar_uri") + + @_builtins.property + @pulumi.getter(name="mainArgs") + def main_args(self) -> Optional[_builtins.str]: + """ + Startup arguments + """ + return pulumi.get(self, "main_args") + + +@pulumi.output_type +class DeploymentArtifactPythonArtifact(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalDependencies": + suggest = "additional_dependencies" + elif key == "additionalPythonArchives": + suggest = "additional_python_archives" + elif key == "additionalPythonLibraries": + suggest = "additional_python_libraries" + elif key == "entryModule": + suggest = "entry_module" + elif key == "mainArgs": + suggest = "main_args" + elif key == "pythonArtifactUri": + suggest = "python_artifact_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentArtifactPythonArtifact. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentArtifactPythonArtifact.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentArtifactPythonArtifact.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_dependencies: Optional[Sequence[_builtins.str]] = None, + additional_python_archives: Optional[Sequence[_builtins.str]] = None, + additional_python_libraries: Optional[Sequence[_builtins.str]] = None, + entry_module: Optional[_builtins.str] = None, + main_args: Optional[_builtins.str] = None, + python_artifact_uri: Optional[_builtins.str] = None): + """ + :param Sequence[_builtins.str] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param Sequence[_builtins.str] additional_python_archives: URL paths of dependent Python archive files + :param Sequence[_builtins.str] additional_python_libraries: URL paths of dependent Python library files + :param _builtins.str entry_module: Entry module for Python + :param _builtins.str main_args: Startup arguments + :param _builtins.str python_artifact_uri: Full URL path of the Python job + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if additional_python_archives is not None: + pulumi.set(__self__, "additional_python_archives", additional_python_archives) + if additional_python_libraries is not None: + pulumi.set(__self__, "additional_python_libraries", additional_python_libraries) + if entry_module is not None: + pulumi.set(__self__, "entry_module", entry_module) + if main_args is not None: + pulumi.set(__self__, "main_args", main_args) + if python_artifact_uri is not None: + pulumi.set(__self__, "python_artifact_uri", python_artifact_uri) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[Sequence[_builtins.str]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @_builtins.property + @pulumi.getter(name="additionalPythonArchives") + def additional_python_archives(self) -> Optional[Sequence[_builtins.str]]: + """ + URL paths of dependent Python archive files + """ + return pulumi.get(self, "additional_python_archives") + + @_builtins.property + @pulumi.getter(name="additionalPythonLibraries") + def additional_python_libraries(self) -> Optional[Sequence[_builtins.str]]: + """ + URL paths of dependent Python library files + """ + return pulumi.get(self, "additional_python_libraries") + + @_builtins.property + @pulumi.getter(name="entryModule") + def entry_module(self) -> Optional[_builtins.str]: + """ + Entry module for Python + """ + return pulumi.get(self, "entry_module") + + @_builtins.property + @pulumi.getter(name="mainArgs") + def main_args(self) -> Optional[_builtins.str]: + """ + Startup arguments + """ + return pulumi.get(self, "main_args") + + @_builtins.property + @pulumi.getter(name="pythonArtifactUri") + def python_artifact_uri(self) -> Optional[_builtins.str]: + """ + Full URL path of the Python job + """ + return pulumi.get(self, "python_artifact_uri") + + +@pulumi.output_type +class DeploymentArtifactSqlArtifact(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "additionalDependencies": + suggest = "additional_dependencies" + elif key == "sqlScript": + suggest = "sql_script" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentArtifactSqlArtifact. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentArtifactSqlArtifact.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentArtifactSqlArtifact.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + additional_dependencies: Optional[Sequence[_builtins.str]] = None, + sql_script: Optional[_builtins.str] = None): + """ + :param Sequence[_builtins.str] additional_dependencies: Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + :param _builtins.str sql_script: Text content of the SQL job + """ + if additional_dependencies is not None: + pulumi.set(__self__, "additional_dependencies", additional_dependencies) + if sql_script is not None: + pulumi.set(__self__, "sql_script", sql_script) + + @_builtins.property + @pulumi.getter(name="additionalDependencies") + def additional_dependencies(self) -> Optional[Sequence[_builtins.str]]: + """ + Full URL path of additional files. If you need to use dependencies such as UDFs, connectors, or formats that are not registered on the VVP platform, you must add them using this method. Dependencies already registered on the platform do not require this approach. + """ + return pulumi.get(self, "additional_dependencies") + + @_builtins.property + @pulumi.getter(name="sqlScript") + def sql_script(self) -> Optional[_builtins.str]: + """ + Text content of the SQL job + """ + return pulumi.get(self, "sql_script") + + +@pulumi.output_type +class DeploymentBatchResourceSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "basicResourceSetting": + suggest = "basic_resource_setting" + elif key == "maxSlot": + suggest = "max_slot" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentBatchResourceSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentBatchResourceSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentBatchResourceSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + basic_resource_setting: Optional['outputs.DeploymentBatchResourceSettingBasicResourceSetting'] = None, + max_slot: Optional[_builtins.int] = None): + """ + :param 'DeploymentBatchResourceSettingBasicResourceSettingArgs' basic_resource_setting: Resource settings for basic mode See `basic_resource_setting` below. + :param _builtins.int max_slot: Maximum number of slots + """ + if basic_resource_setting is not None: + pulumi.set(__self__, "basic_resource_setting", basic_resource_setting) + if max_slot is not None: + pulumi.set(__self__, "max_slot", max_slot) + + @_builtins.property + @pulumi.getter(name="basicResourceSetting") + def basic_resource_setting(self) -> Optional['outputs.DeploymentBatchResourceSettingBasicResourceSetting']: + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + return pulumi.get(self, "basic_resource_setting") + + @_builtins.property + @pulumi.getter(name="maxSlot") + def max_slot(self) -> Optional[_builtins.int]: + """ + Maximum number of slots + """ + return pulumi.get(self, "max_slot") + + +@pulumi.output_type +class DeploymentBatchResourceSettingBasicResourceSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobmanagerResourceSettingSpec": + suggest = "jobmanager_resource_setting_spec" + elif key == "taskmanagerResourceSettingSpec": + suggest = "taskmanager_resource_setting_spec" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentBatchResourceSettingBasicResourceSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentBatchResourceSettingBasicResourceSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentBatchResourceSettingBasicResourceSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional['outputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec'] = None, + parallelism: Optional[_builtins.int] = None, + taskmanager_resource_setting_spec: Optional['outputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec'] = None): + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if taskmanager_resource_setting_spec is not None: + pulumi.set(__self__, "taskmanager_resource_setting_spec", taskmanager_resource_setting_spec) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional['outputs.DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec']: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @_builtins.property + @pulumi.getter + def parallelism(self) -> Optional[_builtins.int]: + return pulumi.get(self, "parallelism") + + @_builtins.property + @pulumi.getter(name="taskmanagerResourceSettingSpec") + def taskmanager_resource_setting_spec(self) -> Optional['outputs.DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec']: + return pulumi.get(self, "taskmanager_resource_setting_spec") + + +@pulumi.output_type +class DeploymentBatchResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec(dict): + def __init__(__self__, *, + cpu: Optional[_builtins.float] = None, + memory: Optional[_builtins.str] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[_builtins.float]: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.str]: + return pulumi.get(self, "memory") + + +@pulumi.output_type +class DeploymentBatchResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec(dict): + def __init__(__self__, *, + cpu: Optional[_builtins.float] = None, + memory: Optional[_builtins.str] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[_builtins.float]: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.str]: + return pulumi.get(self, "memory") + + +@pulumi.output_type +class DeploymentDeploymentTarget(dict): + def __init__(__self__, *, + mode: _builtins.str, + name: _builtins.str): + """ + :param _builtins.str mode: Deployment mode, valid values: PER_JOB or SESSION + :param _builtins.str name: Deployment target name + """ + pulumi.set(__self__, "mode", mode) + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def mode(self) -> _builtins.str: + """ + Deployment mode, valid values: PER_JOB or SESSION + """ + return pulumi.get(self, "mode") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Deployment target name + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class DeploymentLocalVariable(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Job variable name + :param _builtins.str value: Job variable value + """ + if name is not None: + pulumi.set(__self__, "name", name) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Job variable name + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Job variable value + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DeploymentLogging(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "log4j2ConfigurationTemplate": + suggest = "log4j2_configuration_template" + elif key == "log4jLoggers": + suggest = "log4j_loggers" + elif key == "logReservePolicy": + suggest = "log_reserve_policy" + elif key == "loggingProfile": + suggest = "logging_profile" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentLogging. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentLogging.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentLogging.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + log4j2_configuration_template: Optional[_builtins.str] = None, + log4j_loggers: Optional[Sequence['outputs.DeploymentLoggingLog4jLogger']] = None, + log_reserve_policy: Optional['outputs.DeploymentLoggingLogReservePolicy'] = None, + logging_profile: Optional[_builtins.str] = None): + """ + :param _builtins.str log4j2_configuration_template: Custom log template + :param Sequence['DeploymentLoggingLog4jLoggerArgs'] log4j_loggers: log4j configuration See `log4j_loggers` below. + :param 'DeploymentLoggingLogReservePolicyArgs' log_reserve_policy: Log retention policy See `log_reserve_policy` below. + :param _builtins.str logging_profile: Default system log template + """ + if log4j2_configuration_template is not None: + pulumi.set(__self__, "log4j2_configuration_template", log4j2_configuration_template) + if log4j_loggers is not None: + pulumi.set(__self__, "log4j_loggers", log4j_loggers) + if log_reserve_policy is not None: + pulumi.set(__self__, "log_reserve_policy", log_reserve_policy) + if logging_profile is not None: + pulumi.set(__self__, "logging_profile", logging_profile) + + @_builtins.property + @pulumi.getter(name="log4j2ConfigurationTemplate") + def log4j2_configuration_template(self) -> Optional[_builtins.str]: + """ + Custom log template + """ + return pulumi.get(self, "log4j2_configuration_template") + + @_builtins.property + @pulumi.getter(name="log4jLoggers") + def log4j_loggers(self) -> Optional[Sequence['outputs.DeploymentLoggingLog4jLogger']]: + """ + log4j configuration See `log4j_loggers` below. + """ + return pulumi.get(self, "log4j_loggers") + + @_builtins.property + @pulumi.getter(name="logReservePolicy") + def log_reserve_policy(self) -> Optional['outputs.DeploymentLoggingLogReservePolicy']: + """ + Log retention policy See `log_reserve_policy` below. + """ + return pulumi.get(self, "log_reserve_policy") + + @_builtins.property + @pulumi.getter(name="loggingProfile") + def logging_profile(self) -> Optional[_builtins.str]: + """ + Default system log template + """ + return pulumi.get(self, "logging_profile") + + +@pulumi.output_type +class DeploymentLoggingLog4jLogger(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "loggerLevel": + suggest = "logger_level" + elif key == "loggerName": + suggest = "logger_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentLoggingLog4jLogger. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentLoggingLog4jLogger.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentLoggingLog4jLogger.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + logger_level: Optional[_builtins.str] = None, + logger_name: Optional[_builtins.str] = None): + """ + :param _builtins.str logger_level: Log output level + :param _builtins.str logger_name: Class name for log output + """ + if logger_level is not None: + pulumi.set(__self__, "logger_level", logger_level) + if logger_name is not None: + pulumi.set(__self__, "logger_name", logger_name) + + @_builtins.property + @pulumi.getter(name="loggerLevel") + def logger_level(self) -> Optional[_builtins.str]: + """ + Log output level + """ + return pulumi.get(self, "logger_level") + + @_builtins.property + @pulumi.getter(name="loggerName") + def logger_name(self) -> Optional[_builtins.str]: + """ + Class name for log output + """ + return pulumi.get(self, "logger_name") + + +@pulumi.output_type +class DeploymentLoggingLogReservePolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "expirationDays": + suggest = "expiration_days" + elif key == "openHistory": + suggest = "open_history" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentLoggingLogReservePolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentLoggingLogReservePolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentLoggingLogReservePolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + expiration_days: Optional[_builtins.int] = None, + open_history: Optional[_builtins.bool] = None): + """ + :param _builtins.int expiration_days: Number of days to retain logs after log retention is enabled + :param _builtins.bool open_history: Whether to enable log retention + """ + if expiration_days is not None: + pulumi.set(__self__, "expiration_days", expiration_days) + if open_history is not None: + pulumi.set(__self__, "open_history", open_history) + + @_builtins.property + @pulumi.getter(name="expirationDays") + def expiration_days(self) -> Optional[_builtins.int]: + """ + Number of days to retain logs after log retention is enabled + """ + return pulumi.get(self, "expiration_days") + + @_builtins.property + @pulumi.getter(name="openHistory") + def open_history(self) -> Optional[_builtins.bool]: + """ + Whether to enable log retention + """ + return pulumi.get(self, "open_history") + + +@pulumi.output_type +class DeploymentStreamingResourceSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "basicResourceSetting": + suggest = "basic_resource_setting" + elif key == "expertResourceSetting": + suggest = "expert_resource_setting" + elif key == "resourceSettingMode": + suggest = "resource_setting_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentStreamingResourceSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentStreamingResourceSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentStreamingResourceSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + basic_resource_setting: Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSetting'] = None, + expert_resource_setting: Optional['outputs.DeploymentStreamingResourceSettingExpertResourceSetting'] = None, + resource_setting_mode: Optional[_builtins.str] = None): + """ + :param 'DeploymentStreamingResourceSettingBasicResourceSettingArgs' basic_resource_setting: Resource settings for basic mode See `basic_resource_setting` below. + :param 'DeploymentStreamingResourceSettingExpertResourceSettingArgs' expert_resource_setting: Expert mode resource settings See `expert_resource_setting` below. + :param _builtins.str resource_setting_mode: Resource mode used in streaming mode, valid values: BASIC or EXPERT + """ + if basic_resource_setting is not None: + pulumi.set(__self__, "basic_resource_setting", basic_resource_setting) + if expert_resource_setting is not None: + pulumi.set(__self__, "expert_resource_setting", expert_resource_setting) + if resource_setting_mode is not None: + pulumi.set(__self__, "resource_setting_mode", resource_setting_mode) + + @_builtins.property + @pulumi.getter(name="basicResourceSetting") + def basic_resource_setting(self) -> Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSetting']: + """ + Resource settings for basic mode See `basic_resource_setting` below. + """ + return pulumi.get(self, "basic_resource_setting") + + @_builtins.property + @pulumi.getter(name="expertResourceSetting") + def expert_resource_setting(self) -> Optional['outputs.DeploymentStreamingResourceSettingExpertResourceSetting']: + """ + Expert mode resource settings See `expert_resource_setting` below. + """ + return pulumi.get(self, "expert_resource_setting") + + @_builtins.property + @pulumi.getter(name="resourceSettingMode") + def resource_setting_mode(self) -> Optional[_builtins.str]: + """ + Resource mode used in streaming mode, valid values: BASIC or EXPERT + """ + return pulumi.get(self, "resource_setting_mode") + + +@pulumi.output_type +class DeploymentStreamingResourceSettingBasicResourceSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobmanagerResourceSettingSpec": + suggest = "jobmanager_resource_setting_spec" + elif key == "taskmanagerResourceSettingSpec": + suggest = "taskmanager_resource_setting_spec" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentStreamingResourceSettingBasicResourceSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentStreamingResourceSettingBasicResourceSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentStreamingResourceSettingBasicResourceSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec'] = None, + parallelism: Optional[_builtins.int] = None, + taskmanager_resource_setting_spec: Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec'] = None): + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if parallelism is not None: + pulumi.set(__self__, "parallelism", parallelism) + if taskmanager_resource_setting_spec is not None: + pulumi.set(__self__, "taskmanager_resource_setting_spec", taskmanager_resource_setting_spec) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec']: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @_builtins.property + @pulumi.getter + def parallelism(self) -> Optional[_builtins.int]: + return pulumi.get(self, "parallelism") + + @_builtins.property + @pulumi.getter(name="taskmanagerResourceSettingSpec") + def taskmanager_resource_setting_spec(self) -> Optional['outputs.DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec']: + return pulumi.get(self, "taskmanager_resource_setting_spec") + + +@pulumi.output_type +class DeploymentStreamingResourceSettingBasicResourceSettingJobmanagerResourceSettingSpec(dict): + def __init__(__self__, *, + cpu: Optional[_builtins.float] = None, + memory: Optional[_builtins.str] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[_builtins.float]: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.str]: + return pulumi.get(self, "memory") + + +@pulumi.output_type +class DeploymentStreamingResourceSettingBasicResourceSettingTaskmanagerResourceSettingSpec(dict): + def __init__(__self__, *, + cpu: Optional[_builtins.float] = None, + memory: Optional[_builtins.str] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[_builtins.float]: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.str]: + return pulumi.get(self, "memory") + + +@pulumi.output_type +class DeploymentStreamingResourceSettingExpertResourceSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobmanagerResourceSettingSpec": + suggest = "jobmanager_resource_setting_spec" + elif key == "resourcePlan": + suggest = "resource_plan" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentStreamingResourceSettingExpertResourceSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentStreamingResourceSettingExpertResourceSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentStreamingResourceSettingExpertResourceSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + jobmanager_resource_setting_spec: Optional['outputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec'] = None, + resource_plan: Optional[_builtins.str] = None): + """ + :param _builtins.str resource_plan: Resource plan for expert mode + """ + if jobmanager_resource_setting_spec is not None: + pulumi.set(__self__, "jobmanager_resource_setting_spec", jobmanager_resource_setting_spec) + if resource_plan is not None: + pulumi.set(__self__, "resource_plan", resource_plan) + + @_builtins.property + @pulumi.getter(name="jobmanagerResourceSettingSpec") + def jobmanager_resource_setting_spec(self) -> Optional['outputs.DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec']: + return pulumi.get(self, "jobmanager_resource_setting_spec") + + @_builtins.property + @pulumi.getter(name="resourcePlan") + def resource_plan(self) -> Optional[_builtins.str]: + """ + Resource plan for expert mode + """ + return pulumi.get(self, "resource_plan") + + +@pulumi.output_type +class DeploymentStreamingResourceSettingExpertResourceSettingJobmanagerResourceSettingSpec(dict): + def __init__(__self__, *, + cpu: Optional[_builtins.float] = None, + memory: Optional[_builtins.str] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @_builtins.property + @pulumi.getter + def cpu(self) -> Optional[_builtins.float]: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def memory(self) -> Optional[_builtins.str]: + return pulumi.get(self, "memory") + + +@pulumi.output_type +class JobLocalVariable(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str name: Local variables name + :param _builtins.str value: Local variables value + """ + if name is not None: + pulumi.set(__self__, "name", name) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + Local variables name + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Local variables value + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class JobRestoreStrategy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowNonRestoredState": + suggest = "allow_non_restored_state" + elif key == "jobStartTimeInMs": + suggest = "job_start_time_in_ms" + elif key == "savepointId": + suggest = "savepoint_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobRestoreStrategy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobRestoreStrategy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobRestoreStrategy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allow_non_restored_state: Optional[_builtins.bool] = None, + job_start_time_in_ms: Optional[_builtins.int] = None, + kind: Optional[_builtins.str] = None, + savepoint_id: Optional[_builtins.str] = None): + """ + :param _builtins.bool allow_non_restored_state: Stateless startup + :param _builtins.int job_start_time_in_ms: Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + :param _builtins.str kind: Restore type + :param _builtins.str savepoint_id: SavepointId + """ + if allow_non_restored_state is not None: + pulumi.set(__self__, "allow_non_restored_state", allow_non_restored_state) + if job_start_time_in_ms is not None: + pulumi.set(__self__, "job_start_time_in_ms", job_start_time_in_ms) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if savepoint_id is not None: + pulumi.set(__self__, "savepoint_id", savepoint_id) + + @_builtins.property + @pulumi.getter(name="allowNonRestoredState") + def allow_non_restored_state(self) -> Optional[_builtins.bool]: + """ + Stateless startup + """ + return pulumi.get(self, "allow_non_restored_state") + + @_builtins.property + @pulumi.getter(name="jobStartTimeInMs") + def job_start_time_in_ms(self) -> Optional[_builtins.int]: + """ + Stateless start time. When stateless start is selected, you can set this parameter to enable all source tables that support startTime to read data from this time. + """ + return pulumi.get(self, "job_start_time_in_ms") + + @_builtins.property + @pulumi.getter + def kind(self) -> Optional[_builtins.str]: + """ + Restore type + """ + return pulumi.get(self, "kind") + + @_builtins.property + @pulumi.getter(name="savepointId") + def savepoint_id(self) -> Optional[_builtins.str]: + """ + SavepointId + """ + return pulumi.get(self, "savepoint_id") + + +@pulumi.output_type +class JobStatus(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "currentJobStatus": + suggest = "current_job_status" + elif key == "healthScore": + suggest = "health_score" + elif key == "riskLevel": + suggest = "risk_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobStatus. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobStatus.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobStatus.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + current_job_status: Optional[_builtins.str] = None, + failure: Optional['outputs.JobStatusFailure'] = None, + health_score: Optional[_builtins.int] = None, + risk_level: Optional[_builtins.str] = None, + running: Optional['outputs.JobStatusRunning'] = None): + """ + :param _builtins.str current_job_status: Job current status + :param 'JobStatusFailureArgs' failure: Job failure information + :param _builtins.int health_score: Job Run Health Score + :param _builtins.str risk_level: Risk level, which indicates the risk level of the operation status of the job. + :param 'JobStatusRunningArgs' running: job running status, which has value when the job is Running. + """ + if current_job_status is not None: + pulumi.set(__self__, "current_job_status", current_job_status) + if failure is not None: + pulumi.set(__self__, "failure", failure) + if health_score is not None: + pulumi.set(__self__, "health_score", health_score) + if risk_level is not None: + pulumi.set(__self__, "risk_level", risk_level) + if running is not None: + pulumi.set(__self__, "running", running) + + @_builtins.property + @pulumi.getter(name="currentJobStatus") + def current_job_status(self) -> Optional[_builtins.str]: + """ + Job current status + """ + return pulumi.get(self, "current_job_status") + + @_builtins.property + @pulumi.getter + def failure(self) -> Optional['outputs.JobStatusFailure']: + """ + Job failure information + """ + return pulumi.get(self, "failure") + + @_builtins.property + @pulumi.getter(name="healthScore") + def health_score(self) -> Optional[_builtins.int]: + """ + Job Run Health Score + """ + return pulumi.get(self, "health_score") + + @_builtins.property + @pulumi.getter(name="riskLevel") + def risk_level(self) -> Optional[_builtins.str]: + """ + Risk level, which indicates the risk level of the operation status of the job. + """ + return pulumi.get(self, "risk_level") + + @_builtins.property + @pulumi.getter + def running(self) -> Optional['outputs.JobStatusRunning']: + """ + job running status, which has value when the job is Running. + """ + return pulumi.get(self, "running") + + +@pulumi.output_type +class JobStatusFailure(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failedAt": + suggest = "failed_at" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobStatusFailure. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobStatusFailure.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobStatusFailure.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + failed_at: Optional[_builtins.int] = None, + message: Optional[_builtins.str] = None, + reason: Optional[_builtins.str] = None): + """ + :param _builtins.int failed_at: Job failure time + :param _builtins.str message: Failure Information Details + :param _builtins.str reason: Failure Reason + """ + if failed_at is not None: + pulumi.set(__self__, "failed_at", failed_at) + if message is not None: + pulumi.set(__self__, "message", message) + if reason is not None: + pulumi.set(__self__, "reason", reason) + + @_builtins.property + @pulumi.getter(name="failedAt") + def failed_at(self) -> Optional[_builtins.int]: + """ + Job failure time + """ + return pulumi.get(self, "failed_at") + + @_builtins.property + @pulumi.getter + def message(self) -> Optional[_builtins.str]: + """ + Failure Information Details + """ + return pulumi.get(self, "message") + + @_builtins.property + @pulumi.getter + def reason(self) -> Optional[_builtins.str]: + """ + Failure Reason + """ + return pulumi.get(self, "reason") + + +@pulumi.output_type +class JobStatusRunning(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "observedFlinkJobRestarts": + suggest = "observed_flink_job_restarts" + elif key == "observedFlinkJobStatus": + suggest = "observed_flink_job_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobStatusRunning. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobStatusRunning.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobStatusRunning.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + observed_flink_job_restarts: Optional[_builtins.int] = None, + observed_flink_job_status: Optional[_builtins.str] = None): + """ + :param _builtins.int observed_flink_job_restarts: Number of job restarts + :param _builtins.str observed_flink_job_status: Flink job status + """ + if observed_flink_job_restarts is not None: + pulumi.set(__self__, "observed_flink_job_restarts", observed_flink_job_restarts) + if observed_flink_job_status is not None: + pulumi.set(__self__, "observed_flink_job_status", observed_flink_job_status) + + @_builtins.property + @pulumi.getter(name="observedFlinkJobRestarts") + def observed_flink_job_restarts(self) -> Optional[_builtins.int]: + """ + Number of job restarts + """ + return pulumi.get(self, "observed_flink_job_restarts") + + @_builtins.property + @pulumi.getter(name="observedFlinkJobStatus") + def observed_flink_job_status(self) -> Optional[_builtins.str]: + """ + Flink job status + """ + return pulumi.get(self, "observed_flink_job_status") + + @pulumi.output_type class VvpInstanceResourceSpec(dict): @staticmethod diff --git a/sdk/python/pulumi_alicloud/redis/__init__.py b/sdk/python/pulumi_alicloud/redis/__init__.py index f4c2e3730e..4b48c7c0cb 100644 --- a/sdk/python/pulumi_alicloud/redis/__init__.py +++ b/sdk/python/pulumi_alicloud/redis/__init__.py @@ -6,4 +6,5 @@ from .. import _utilities import typing # Export this package's modules as members: +from .backup import * from .tair_instance import * diff --git a/sdk/python/pulumi_alicloud/redis/backup.py b/sdk/python/pulumi_alicloud/redis/backup.py new file mode 100644 index 0000000000..3e823f6db0 --- /dev/null +++ b/sdk/python/pulumi_alicloud/redis/backup.py @@ -0,0 +1,401 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['BackupArgs', 'Backup'] + +@pulumi.input_type +class BackupArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[_builtins.str], + backup_retention_period: Optional[pulumi.Input[_builtins.int]] = None): + """ + The set of arguments for constructing a Backup resource. + :param pulumi.Input[_builtins.str] instance_id: InstanceId + :param pulumi.Input[_builtins.int] backup_retention_period: The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + pulumi.set(__self__, "instance_id", instance_id) + if backup_retention_period is not None: + pulumi.set(__self__, "backup_retention_period", backup_retention_period) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + InstanceId + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "backup_retention_period") + + @backup_retention_period.setter + def backup_retention_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "backup_retention_period", value) + + +@pulumi.input_type +class _BackupState: + def __init__(__self__, *, + backup_id: Optional[pulumi.Input[_builtins.int]] = None, + backup_retention_period: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Backup resources. + :param pulumi.Input[_builtins.int] backup_id: Backup ID. + :param pulumi.Input[_builtins.int] backup_retention_period: The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] instance_id: InstanceId + :param pulumi.Input[_builtins.str] status: Backup status. + """ + if backup_id is not None: + pulumi.set(__self__, "backup_id", backup_id) + if backup_retention_period is not None: + pulumi.set(__self__, "backup_retention_period", backup_retention_period) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if status is not None: + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter(name="backupId") + def backup_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Backup ID. + """ + return pulumi.get(self, "backup_id") + + @backup_id.setter + def backup_id(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "backup_id", value) + + @_builtins.property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "backup_retention_period") + + @backup_retention_period.setter + def backup_retention_period(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "backup_retention_period", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + InstanceId + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Backup status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + +@pulumi.type_token("alicloud:redis/backup:Backup") +class Backup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_retention_period: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. + + Instance level or database level backup objects. + + For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). + + > **NOTE:** Available since v1.15.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_std as std + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + zone_id = config.get("zoneId") + if zone_id is None: + zone_id = "cn-hangzhou-h" + default = alicloud.vpc.get_networks(name_regex="^default-NODELETING$") + default_get_switches = alicloud.vpc.get_switches(zone_id=zone_id, + vpc_id=default.ids[0]) + vswitch = [] + def create_vswitch(range_body): + for range in [{"value": i} for i in range(0, range_body)]: + vswitch.append(alicloud.vpc.Switch(f"vswitch-{range['value']}", + vpc_id=default.ids[0], + cidr_block=std.cidrsubnet(input=default.vpcs[0].cidr_block, + newbits=8, + netnum=8).result, + zone_id=zone_id, + vswitch_name=name)) + + len(default_get_switches.ids).apply(lambda resolved_outputs: create_vswitch(0 if resolved_outputs['length'] > 0 else 1)) + vswitch_id = len(default_get_switches.ids).apply(lambda length: default_get_switches.ids[0] if length > 0 else std.concat(input=[ + [__item.id for __item in vswitch], + [""], + ]).result[0]) + default_instance = alicloud.kvstore.Instance("default", + port=6379, + payment_type="PrePaid", + instance_type="Redis", + password="123456_tf", + engine_version="5.0", + zone_id=zone_id, + vswitch_id=vswitch_id, + period="1", + instance_class="redis.shard.small.2.ce") + default_backup = alicloud.redis.Backup("default", + instance_id=default_instance.id, + backup_retention_period=7) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:redis/backup:Backup example : + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.int] backup_retention_period: The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] instance_id: InstanceId + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: BackupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup resource. + + Instance level or database level backup objects. + + For information about Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup and how to use it, see [What is Backup](https://www.alibabacloud.com/help/en/redis/developer-reference/api-r-kvstore-2015-01-01-modifybackuppolicy-redis). + + > **NOTE:** Available since v1.15.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + import pulumi_std as std + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + zone_id = config.get("zoneId") + if zone_id is None: + zone_id = "cn-hangzhou-h" + default = alicloud.vpc.get_networks(name_regex="^default-NODELETING$") + default_get_switches = alicloud.vpc.get_switches(zone_id=zone_id, + vpc_id=default.ids[0]) + vswitch = [] + def create_vswitch(range_body): + for range in [{"value": i} for i in range(0, range_body)]: + vswitch.append(alicloud.vpc.Switch(f"vswitch-{range['value']}", + vpc_id=default.ids[0], + cidr_block=std.cidrsubnet(input=default.vpcs[0].cidr_block, + newbits=8, + netnum=8).result, + zone_id=zone_id, + vswitch_name=name)) + + len(default_get_switches.ids).apply(lambda resolved_outputs: create_vswitch(0 if resolved_outputs['length'] > 0 else 1)) + vswitch_id = len(default_get_switches.ids).apply(lambda length: default_get_switches.ids[0] if length > 0 else std.concat(input=[ + [__item.id for __item in vswitch], + [""], + ]).result[0]) + default_instance = alicloud.kvstore.Instance("default", + port=6379, + payment_type="PrePaid", + instance_type="Redis", + password="123456_tf", + engine_version="5.0", + zone_id=zone_id, + vswitch_id=vswitch_id, + period="1", + instance_class="redis.shard.small.2.ce") + default_backup = alicloud.redis.Backup("default", + instance_id=default_instance.id, + backup_retention_period=7) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + + ## Import + + Tair (Redis OSS-Compatible) And Memcache (KVStore) Backup can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:redis/backup:Backup example : + ``` + + :param str resource_name: The name of the resource. + :param BackupArgs 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(BackupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_retention_period: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.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__ = BackupArgs.__new__(BackupArgs) + + __props__.__dict__["backup_retention_period"] = backup_retention_period + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["backup_id"] = None + __props__.__dict__["status"] = None + super(Backup, __self__).__init__( + 'alicloud:redis/backup:Backup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + backup_id: Optional[pulumi.Input[_builtins.int]] = None, + backup_retention_period: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'Backup': + """ + Get an existing Backup 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[_builtins.int] backup_id: Backup ID. + :param pulumi.Input[_builtins.int] backup_retention_period: The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + :param pulumi.Input[_builtins.str] instance_id: InstanceId + :param pulumi.Input[_builtins.str] status: Backup status. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _BackupState.__new__(_BackupState) + + __props__.__dict__["backup_id"] = backup_id + __props__.__dict__["backup_retention_period"] = backup_retention_period + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["status"] = status + return Backup(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="backupId") + def backup_id(self) -> pulumi.Output[_builtins.int]: + """ + Backup ID. + """ + return pulumi.get(self, "backup_id") + + @_builtins.property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The expiration period for this manual backup ranges from 7 to 730 days. When you pass in -1, it indicates that this manual backup will not expire (during the instance's lifecycle). If you do not pass any value (default case), it means the expiration policy will be consistent with the current automatic backup strategy. + + > **NOTE:** The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. + """ + return pulumi.get(self, "backup_retention_period") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + InstanceId + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + Backup status. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_alicloud/resourcemanager/account.py b/sdk/python/pulumi_alicloud/resourcemanager/account.py index 32f6d9c2cc..0aaa4e2265 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/account.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/account.py @@ -528,6 +528,8 @@ def __init__(__self__, folder_id=example.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Account can be imported using the id, e.g. @@ -597,6 +599,8 @@ def __init__(__self__, folder_id=example.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/auto_grouping_rule.py b/sdk/python/pulumi_alicloud/resourcemanager/auto_grouping_rule.py index c8ab501890..7f9aee5b22 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/auto_grouping_rule.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/auto_grouping_rule.py @@ -491,6 +491,8 @@ def __init__(__self__, rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Auto Grouping Rule can be imported using the id, e.g. @@ -577,6 +579,8 @@ def __init__(__self__, rule_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Auto Grouping Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/control_policy.py b/sdk/python/pulumi_alicloud/resourcemanager/control_policy.py index 688b9efb77..7e375ce24a 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/control_policy.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/control_policy.py @@ -294,6 +294,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Control Policy can be imported using the id, e.g. @@ -366,6 +368,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Control Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/control_policy_attachment.py b/sdk/python/pulumi_alicloud/resourcemanager/control_policy_attachment.py index ebd2b2a93d..ccd27b4ba3 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/control_policy_attachment.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/control_policy_attachment.py @@ -170,6 +170,8 @@ def __init__(__self__, target_id=default_folder.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Control Policy Attachment can be imported using the id, e.g. @@ -244,6 +246,8 @@ def __init__(__self__, target_id=default_folder.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Control Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/delegated_administrator.py b/sdk/python/pulumi_alicloud/resourcemanager/delegated_administrator.py index ad497c73df..10b5ee2aed 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/delegated_administrator.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/delegated_administrator.py @@ -124,6 +124,8 @@ def __init__(__self__, service_principal="cloudfw.aliyuncs.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Delegated Administrator can be imported using the id, e.g. @@ -164,6 +166,8 @@ def __init__(__self__, service_principal="cloudfw.aliyuncs.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Delegated Administrator can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/delivery_channel.py b/sdk/python/pulumi_alicloud/resourcemanager/delivery_channel.py index e3e6add343..ec22a7828c 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/delivery_channel.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/delivery_channel.py @@ -252,6 +252,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Delivery Channel can be imported using the id, e.g. @@ -322,6 +324,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Delivery Channel can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/folder.py b/sdk/python/pulumi_alicloud/resourcemanager/folder.py index c9045ef4ae..b317219ce6 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/folder.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/folder.py @@ -181,6 +181,8 @@ def __init__(__self__, example = alicloud.resourcemanager.Folder("example", folder_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Folder can be imported using the id, e.g. @@ -229,6 +231,8 @@ def __init__(__self__, example = alicloud.resourcemanager.Folder("example", folder_name=f"{name}-{default['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Folder can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/handshake.py b/sdk/python/pulumi_alicloud/resourcemanager/handshake.py index 38a94dfb92..40aff13c45 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/handshake.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/handshake.py @@ -286,6 +286,8 @@ def __init__(__self__, note="test resource manager handshake") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Handshake can be imported using the id, e.g. @@ -332,6 +334,8 @@ def __init__(__self__, note="test resource manager handshake") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Handshake can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/message_contact.py b/sdk/python/pulumi_alicloud/resourcemanager/message_contact.py index 32a7f97c42..5b16ca26f2 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/message_contact.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/message_contact.py @@ -321,6 +321,8 @@ def __init__(__self__, message_contact_name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Message Contact can be imported using the id, e.g. @@ -387,6 +389,8 @@ def __init__(__self__, message_contact_name="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Message Contact can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py b/sdk/python/pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py index 31eb55c112..ca83ca0933 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/multi_account_delivery_channel.py @@ -261,6 +261,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. @@ -341,6 +343,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Multi Account Delivery Channel can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/policy.py b/sdk/python/pulumi_alicloud/resourcemanager/policy.py index fe57f20b2b..7a84825287 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/policy.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/policy.py @@ -224,6 +224,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy can be imported using the id, e.g. @@ -276,6 +278,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/policy_attachment.py b/sdk/python/pulumi_alicloud/resourcemanager/policy_attachment.py index a95773155e..f1191b4010 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/policy_attachment.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/policy_attachment.py @@ -246,6 +246,8 @@ def __init__(__self__, resource_group_id=example.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy Attachment can be imported using the id, e.g. @@ -315,6 +317,8 @@ def __init__(__self__, resource_group_id=example.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/policy_version.py b/sdk/python/pulumi_alicloud/resourcemanager/policy_version.py index 9edb2192dc..e265eb5082 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/policy_version.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/policy_version.py @@ -188,6 +188,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy Version can be imported using the id, e.g. @@ -252,6 +254,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Policy Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/resource_directory.py b/sdk/python/pulumi_alicloud/resourcemanager/resource_directory.py index d40f105250..856882a81c 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/resource_directory.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/resource_directory.py @@ -242,6 +242,8 @@ def create_default(range_body): len(default.directories).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] > 0 else 1)) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Directory can be imported using the id, e.g. @@ -290,6 +292,8 @@ def create_default(range_body): len(default.directories).apply(lambda resolved_outputs: create_default(0 if resolved_outputs['length'] > 0 else 1)) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Directory can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/resource_group.py b/sdk/python/pulumi_alicloud/resourcemanager/resource_group.py index 55c98f76d3..52422674a3 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/resource_group.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/resource_group.py @@ -252,6 +252,8 @@ def __init__(__self__, display_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Group can be imported using the id, e.g. @@ -297,6 +299,8 @@ def __init__(__self__, display_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/resource_share.py b/sdk/python/pulumi_alicloud/resourcemanager/resource_share.py index b5cfe753ba..8dcb6ee9a6 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/resource_share.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/resource_share.py @@ -351,6 +351,8 @@ def __init__(__self__, example = alicloud.resourcemanager.ResourceShare("example", resource_share_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Share can be imported using the id, e.g. @@ -401,6 +403,8 @@ def __init__(__self__, example = alicloud.resourcemanager.ResourceShare("example", resource_share_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Resource Share can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/role.py b/sdk/python/pulumi_alicloud/resourcemanager/role.py index 41c3a92e35..1b0a877fff 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/role.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/role.py @@ -253,6 +253,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager can be imported using the id or role_name, e.g. @@ -310,6 +312,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager can be imported using the id or role_name, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/saved_query.py b/sdk/python/pulumi_alicloud/resourcemanager/saved_query.py index a1e9010c43..17d08e16d6 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/saved_query.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/saved_query.py @@ -177,6 +177,8 @@ def __init__(__self__, saved_query_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Saved Query can be imported using the id, e.g. @@ -222,6 +224,8 @@ def __init__(__self__, saved_query_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Saved Query can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/service_linked_role.py b/sdk/python/pulumi_alicloud/resourcemanager/service_linked_role.py index 2e9ff2cc54..316329671f 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/service_linked_role.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/service_linked_role.py @@ -203,6 +203,8 @@ def __init__(__self__, default = alicloud.resourcemanager.ServiceLinkedRole("default", service_name="ops.elasticsearch.aliyuncs.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Service Linked Role can be imported using the id, e.g. @@ -241,6 +243,8 @@ def __init__(__self__, default = alicloud.resourcemanager.ServiceLinkedRole("default", service_name="ops.elasticsearch.aliyuncs.com") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Service Linked Role can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/shared_resource.py b/sdk/python/pulumi_alicloud/resourcemanager/shared_resource.py index cd30001f52..6ca25a72b1 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/shared_resource.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/shared_resource.py @@ -234,6 +234,8 @@ def __init__(__self__, resource_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Shared Resource can be imported using the id, e.g. @@ -300,6 +302,8 @@ def __init__(__self__, resource_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Shared Resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/resourcemanager/shared_target.py b/sdk/python/pulumi_alicloud/resourcemanager/shared_target.py index 09fdb347db..99f0a4fde6 100644 --- a/sdk/python/pulumi_alicloud/resourcemanager/shared_target.py +++ b/sdk/python/pulumi_alicloud/resourcemanager/shared_target.py @@ -165,6 +165,8 @@ def __init__(__self__, target_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Shared Target can be imported using the id, e.g. @@ -214,6 +216,8 @@ def __init__(__self__, target_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Resource Manager Shared Target can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/account.py b/sdk/python/pulumi_alicloud/rocketmq/account.py index f2aeedcab8..af56457a56 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/account.py +++ b/sdk/python/pulumi_alicloud/rocketmq/account.py @@ -242,6 +242,8 @@ def __init__(__self__, password="1741835136") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Account can be imported using the id, e.g. @@ -337,6 +339,8 @@ def __init__(__self__, password="1741835136") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Account can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/acl.py b/sdk/python/pulumi_alicloud/rocketmq/acl.py index b301f79eac..99598d9a67 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/acl.py +++ b/sdk/python/pulumi_alicloud/rocketmq/acl.py @@ -354,6 +354,8 @@ def __init__(__self__, ip_whitelists=["192.168.5.5"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Acl can be imported using the id, e.g. @@ -462,6 +464,8 @@ def __init__(__self__, ip_whitelists=["192.168.5.5"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/client_user.py b/sdk/python/pulumi_alicloud/rocketmq/client_user.py index 7758f9c237..e3f687c3df 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/client_user.py +++ b/sdk/python/pulumi_alicloud/rocketmq/client_user.py @@ -338,6 +338,8 @@ def __init__(__self__, client_ip="192.1.10.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag ClientUser can be imported using the name, e.g. @@ -396,6 +398,8 @@ def __init__(__self__, client_ip="192.1.10.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/consumer_group.py b/sdk/python/pulumi_alicloud/rocketmq/consumer_group.py index ccefd292d4..23a67aed52 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/consumer_group.py +++ b/sdk/python/pulumi_alicloud/rocketmq/consumer_group.py @@ -362,6 +362,8 @@ def __init__(__self__, remark="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Consumer Group can be imported using the id, e.g. @@ -463,6 +465,8 @@ def __init__(__self__, remark="example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Consumer Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/dnat_entry.py b/sdk/python/pulumi_alicloud/rocketmq/dnat_entry.py index 316b0c1585..ffaef0d37c 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/dnat_entry.py +++ b/sdk/python/pulumi_alicloud/rocketmq/dnat_entry.py @@ -300,6 +300,8 @@ def __init__(__self__, internal_port="any") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag DnatEntry can be imported using the id, e.g. @@ -355,6 +357,8 @@ def __init__(__self__, internal_port="any") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/group.py b/sdk/python/pulumi_alicloud/rocketmq/group.py index 4f38e5415d..4b1fe9b201 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/group.py +++ b/sdk/python/pulumi_alicloud/rocketmq/group.py @@ -318,6 +318,8 @@ def __init__(__self__, remark="dafault_ons_group_remark") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS GROUP can be imported using the id, e.g. @@ -377,6 +379,8 @@ def __init__(__self__, remark="dafault_ons_group_remark") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS GROUP can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/instance.py b/sdk/python/pulumi_alicloud/rocketmq/instance.py index bb2a39322b..df25bda1c5 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/instance.py +++ b/sdk/python/pulumi_alicloud/rocketmq/instance.py @@ -281,6 +281,8 @@ def __init__(__self__, remark=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS INSTANCE can be imported using the id, e.g. @@ -334,6 +336,8 @@ def __init__(__self__, remark=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS INSTANCE can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/qos.py b/sdk/python/pulumi_alicloud/rocketmq/qos.py index 43c2b2d3bf..5f57b1a69f 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/qos.py +++ b/sdk/python/pulumi_alicloud/rocketmq/qos.py @@ -97,6 +97,8 @@ def __init__(__self__, default = alicloud.sag.Qos("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos can be imported using the id, e.g. @@ -135,6 +137,8 @@ def __init__(__self__, default = alicloud.sag.Qos("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/qos_car.py b/sdk/python/pulumi_alicloud/rocketmq/qos_car.py index ff8930fa6e..8e86de1dbc 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/qos_car.py +++ b/sdk/python/pulumi_alicloud/rocketmq/qos_car.py @@ -404,6 +404,8 @@ def __init__(__self__, percent_source_type="InternetUpBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Car can be imported using the id, e.g. @@ -464,6 +466,8 @@ def __init__(__self__, percent_source_type="InternetUpBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/qos_policy.py b/sdk/python/pulumi_alicloud/rocketmq/qos_policy.py index 859b51bf2d..31cd2875c3 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/qos_policy.py +++ b/sdk/python/pulumi_alicloud/rocketmq/qos_policy.py @@ -445,6 +445,8 @@ def __init__(__self__, replace="+0800").result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Policy can be imported using the id, e.g. @@ -518,6 +520,8 @@ def __init__(__self__, replace="+0800").result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/rocket_mq_topic.py b/sdk/python/pulumi_alicloud/rocketmq/rocket_mq_topic.py index fb8da8dd84..8480cfb743 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/rocket_mq_topic.py +++ b/sdk/python/pulumi_alicloud/rocketmq/rocket_mq_topic.py @@ -324,6 +324,8 @@ def __init__(__self__, topic_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Topic can be imported using the id, e.g. @@ -420,6 +422,8 @@ def __init__(__self__, topic_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import RocketMQ Topic can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/snat_entry.py b/sdk/python/pulumi_alicloud/rocketmq/snat_entry.py index 9f2ec9040e..6f330a4535 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/snat_entry.py +++ b/sdk/python/pulumi_alicloud/rocketmq/snat_entry.py @@ -167,6 +167,8 @@ def __init__(__self__, snat_ip="192.0.0.2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag SnatEntry can be imported using the id, e.g. @@ -214,6 +216,8 @@ def __init__(__self__, snat_ip="192.0.0.2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/rocketmq/topic.py b/sdk/python/pulumi_alicloud/rocketmq/topic.py index b724dd61ca..17eda112e6 100644 --- a/sdk/python/pulumi_alicloud/rocketmq/topic.py +++ b/sdk/python/pulumi_alicloud/rocketmq/topic.py @@ -336,6 +336,8 @@ def __init__(__self__, remark="dafault_ons_topic_remark") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS TOPIC can be imported using the id, e.g. @@ -400,6 +402,8 @@ def __init__(__self__, remark="dafault_ons_topic_remark") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ONS TOPIC can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/change_set.py b/sdk/python/pulumi_alicloud/ros/change_set.py index fbbf7ce8ee..d73c8ce9a4 100644 --- a/sdk/python/pulumi_alicloud/ros/change_set.py +++ b/sdk/python/pulumi_alicloud/ros/change_set.py @@ -677,6 +677,8 @@ def __init__(__self__, template_body="{\\"ROSTemplateFormatVersion\\":\\"2015-09-01\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Change Set can be imported using the id, e.g. @@ -739,6 +741,8 @@ def __init__(__self__, template_body="{\\"ROSTemplateFormatVersion\\":\\"2015-09-01\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Change Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/stack.py b/sdk/python/pulumi_alicloud/ros/stack.py index b06e6e659a..6ecc261a5a 100644 --- a/sdk/python/pulumi_alicloud/ros/stack.py +++ b/sdk/python/pulumi_alicloud/ros/stack.py @@ -748,6 +748,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack can be imported using the id, e.g. @@ -817,6 +819,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/stack_group.py b/sdk/python/pulumi_alicloud/ros/stack_group.py index 94d9a7a92e..aa3b54ecba 100644 --- a/sdk/python/pulumi_alicloud/ros/stack_group.py +++ b/sdk/python/pulumi_alicloud/ros/stack_group.py @@ -571,6 +571,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack Group can be imported using the id, e.g. @@ -630,6 +632,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/stack_instance.py b/sdk/python/pulumi_alicloud/ros/stack_instance.py index ec28fe38a1..c632a60b9f 100644 --- a/sdk/python/pulumi_alicloud/ros/stack_instance.py +++ b/sdk/python/pulumi_alicloud/ros/stack_instance.py @@ -393,6 +393,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack Instance can be imported using the id, e.g. @@ -471,6 +473,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Stack Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/template.py b/sdk/python/pulumi_alicloud/ros/template.py index 8bda163248..3663ae0672 100644 --- a/sdk/python/pulumi_alicloud/ros/template.py +++ b/sdk/python/pulumi_alicloud/ros/template.py @@ -226,6 +226,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Template can be imported using the id, e.g. @@ -271,6 +273,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/ros/template_scratch.py b/sdk/python/pulumi_alicloud/ros/template_scratch.py index 10e7e7e65e..d83e3fada3 100644 --- a/sdk/python/pulumi_alicloud/ros/template_scratch.py +++ b/sdk/python/pulumi_alicloud/ros/template_scratch.py @@ -349,6 +349,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Template Scratch can be imported using the id, e.g. @@ -403,6 +405,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ROS Template Scratch can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/application.py b/sdk/python/pulumi_alicloud/sae/application.py index fb13d1bba9..981eada68e 100644 --- a/sdk/python/pulumi_alicloud/sae/application.py +++ b/sdk/python/pulumi_alicloud/sae/application.py @@ -2516,6 +2516,8 @@ def __init__(__self__, memory=2048) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Application can be imported using the id, e.g. @@ -2675,6 +2677,8 @@ def __init__(__self__, memory=2048) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Application can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/application_scaling_rule.py b/sdk/python/pulumi_alicloud/sae/application_scaling_rule.py index 5eb4b87af7..5bcdcc6c49 100644 --- a/sdk/python/pulumi_alicloud/sae/application_scaling_rule.py +++ b/sdk/python/pulumi_alicloud/sae/application_scaling_rule.py @@ -406,6 +406,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. @@ -535,6 +537,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/config_map.py b/sdk/python/pulumi_alicloud/sae/config_map.py index c41e00f5a2..b2eef3fe31 100644 --- a/sdk/python/pulumi_alicloud/sae/config_map.py +++ b/sdk/python/pulumi_alicloud/sae/config_map.py @@ -208,6 +208,8 @@ def __init__(__self__, namespace_id=default_namespace.namespace_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Config Map can be imported using the id, e.g. @@ -268,6 +270,8 @@ def __init__(__self__, namespace_id=default_namespace.namespace_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Config Map can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/grey_tag_route.py b/sdk/python/pulumi_alicloud/sae/grey_tag_route.py index 85a24290ad..2a0b7f4d2f 100644 --- a/sdk/python/pulumi_alicloud/sae/grey_tag_route.py +++ b/sdk/python/pulumi_alicloud/sae/grey_tag_route.py @@ -287,6 +287,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. @@ -392,6 +394,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) GreyTagRoute can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/ingress.py b/sdk/python/pulumi_alicloud/sae/ingress.py index 7c382648bf..fa1a13afe2 100644 --- a/sdk/python/pulumi_alicloud/sae/ingress.py +++ b/sdk/python/pulumi_alicloud/sae/ingress.py @@ -441,6 +441,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Ingress can be imported using the id, e.g. @@ -542,6 +544,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Ingress can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/load_balancer_internet.py b/sdk/python/pulumi_alicloud/sae/load_balancer_internet.py index febfdf139b..e54940c2f6 100644 --- a/sdk/python/pulumi_alicloud/sae/load_balancer_internet.py +++ b/sdk/python/pulumi_alicloud/sae/load_balancer_internet.py @@ -223,6 +223,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The resource can be imported using the id, e.g. @@ -312,6 +314,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/load_balancer_intranet.py b/sdk/python/pulumi_alicloud/sae/load_balancer_intranet.py index 50f609dbdc..50895ef6da 100644 --- a/sdk/python/pulumi_alicloud/sae/load_balancer_intranet.py +++ b/sdk/python/pulumi_alicloud/sae/load_balancer_intranet.py @@ -223,6 +223,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The resource can be imported using the id, e.g. @@ -312,6 +314,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The resource can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sae/namespace.py b/sdk/python/pulumi_alicloud/sae/namespace.py index ce16e1da9e..909c702520 100644 --- a/sdk/python/pulumi_alicloud/sae/namespace.py +++ b/sdk/python/pulumi_alicloud/sae/namespace.py @@ -234,6 +234,8 @@ def __init__(__self__, enable_micro_registration=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Namespace can be imported using the id, e.g. @@ -287,6 +289,8 @@ def __init__(__self__, enable_micro_registration=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Serverless App Engine (SAE) Namespace can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/acl.py b/sdk/python/pulumi_alicloud/sag/acl.py index ac817464e8..19908f43a4 100644 --- a/sdk/python/pulumi_alicloud/sag/acl.py +++ b/sdk/python/pulumi_alicloud/sag/acl.py @@ -92,6 +92,8 @@ def __init__(__self__, default = alicloud.sag.Acl("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Acl can be imported using the id, e.g. @@ -130,6 +132,8 @@ def __init__(__self__, default = alicloud.sag.Acl("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/acl_rule.py b/sdk/python/pulumi_alicloud/sag/acl_rule.py index b84f561ff0..4525a4b8d0 100644 --- a/sdk/python/pulumi_alicloud/sag/acl_rule.py +++ b/sdk/python/pulumi_alicloud/sag/acl_rule.py @@ -396,6 +396,8 @@ def __init__(__self__, priority=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Acl Rule can be imported using the id, e.g. @@ -458,6 +460,8 @@ def __init__(__self__, priority=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Acl Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/client_user.py b/sdk/python/pulumi_alicloud/sag/client_user.py index e861332779..1093b44ff8 100644 --- a/sdk/python/pulumi_alicloud/sag/client_user.py +++ b/sdk/python/pulumi_alicloud/sag/client_user.py @@ -333,6 +333,8 @@ def __init__(__self__, client_ip="192.1.10.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag ClientUser can be imported using the name, e.g. @@ -391,6 +393,8 @@ def __init__(__self__, client_ip="192.1.10.0") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag ClientUser can be imported using the name, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/dnat_entry.py b/sdk/python/pulumi_alicloud/sag/dnat_entry.py index 31828cd485..77ea8ef54f 100644 --- a/sdk/python/pulumi_alicloud/sag/dnat_entry.py +++ b/sdk/python/pulumi_alicloud/sag/dnat_entry.py @@ -295,6 +295,8 @@ def __init__(__self__, internal_port="any") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag DnatEntry can be imported using the id, e.g. @@ -350,6 +352,8 @@ def __init__(__self__, internal_port="any") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag DnatEntry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/qos.py b/sdk/python/pulumi_alicloud/sag/qos.py index cf385cdffd..aeddc2fa05 100644 --- a/sdk/python/pulumi_alicloud/sag/qos.py +++ b/sdk/python/pulumi_alicloud/sag/qos.py @@ -92,6 +92,8 @@ def __init__(__self__, default = alicloud.sag.Qos("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos can be imported using the id, e.g. @@ -130,6 +132,8 @@ def __init__(__self__, default = alicloud.sag.Qos("default", name="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/qos_car.py b/sdk/python/pulumi_alicloud/sag/qos_car.py index 0b40700079..75de7df03e 100644 --- a/sdk/python/pulumi_alicloud/sag/qos_car.py +++ b/sdk/python/pulumi_alicloud/sag/qos_car.py @@ -399,6 +399,8 @@ def __init__(__self__, percent_source_type="InternetUpBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Car can be imported using the id, e.g. @@ -459,6 +461,8 @@ def __init__(__self__, percent_source_type="InternetUpBandwidth") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Car can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/qos_policy.py b/sdk/python/pulumi_alicloud/sag/qos_policy.py index 211cbe7df5..6732179dc8 100644 --- a/sdk/python/pulumi_alicloud/sag/qos_policy.py +++ b/sdk/python/pulumi_alicloud/sag/qos_policy.py @@ -440,6 +440,8 @@ def __init__(__self__, replace="+0800").result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Policy can be imported using the id, e.g. @@ -513,6 +515,8 @@ def __init__(__self__, replace="+0800").result) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag Qos Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/smartag_flow_log.py b/sdk/python/pulumi_alicloud/sag/smartag_flow_log.py index 5f5b59d4ef..a456d92c2d 100644 --- a/sdk/python/pulumi_alicloud/sag/smartag_flow_log.py +++ b/sdk/python/pulumi_alicloud/sag/smartag_flow_log.py @@ -456,6 +456,8 @@ def __init__(__self__, output_type="netflow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Smartag Flow Log can be imported using the id, e.g. @@ -507,6 +509,8 @@ def __init__(__self__, output_type="netflow") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Smartag Flow Log can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sag/snat_entry.py b/sdk/python/pulumi_alicloud/sag/snat_entry.py index 50e4cd8161..588f4ab9b8 100644 --- a/sdk/python/pulumi_alicloud/sag/snat_entry.py +++ b/sdk/python/pulumi_alicloud/sag/snat_entry.py @@ -162,6 +162,8 @@ def __init__(__self__, snat_ip="192.0.0.2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag SnatEntry can be imported using the id, e.g. @@ -209,6 +211,8 @@ def __init__(__self__, snat_ip="192.0.0.2") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The Sag SnatEntry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/scdn/domain.py b/sdk/python/pulumi_alicloud/scdn/domain.py index 21f836573f..5a921b9df3 100644 --- a/sdk/python/pulumi_alicloud/scdn/domain.py +++ b/sdk/python/pulumi_alicloud/scdn/domain.py @@ -341,6 +341,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SCDN Domain can be imported using the id, e.g. @@ -396,6 +398,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SCDN Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/scdn/domain_config.py b/sdk/python/pulumi_alicloud/scdn/domain_config.py index 4d430af86d..f14f109e8a 100644 --- a/sdk/python/pulumi_alicloud/scdn/domain_config.py +++ b/sdk/python/pulumi_alicloud/scdn/domain_config.py @@ -208,6 +208,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SCDN domain config can be imported using the id, e.g. @@ -267,6 +269,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SCDN domain config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/schedulerx/app_group.py b/sdk/python/pulumi_alicloud/schedulerx/app_group.py index af7268ad7d..67d07cdce1 100644 --- a/sdk/python/pulumi_alicloud/schedulerx/app_group.py +++ b/sdk/python/pulumi_alicloud/schedulerx/app_group.py @@ -597,6 +597,8 @@ def __init__(__self__, schedule_busy_workers=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx App Group can be imported using the id, e.g. @@ -684,6 +686,8 @@ def __init__(__self__, schedule_busy_workers=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx App Group can be imported using the id, e.g. @@ -847,7 +851,7 @@ def app_type(self) -> pulumi.Output[Optional[_builtins.int]]: @_builtins.property @pulumi.getter(name="appVersion") - def app_version(self) -> pulumi.Output[Optional[_builtins.str]]: + def app_version(self) -> pulumi.Output[_builtins.str]: """ Application Version, 1: Basic Edition, 2: Professional Edition """ @@ -897,7 +901,7 @@ def max_concurrency(self) -> pulumi.Output[Optional[_builtins.int]]: @_builtins.property @pulumi.getter(name="maxJobs") - def max_jobs(self) -> pulumi.Output[Optional[_builtins.int]]: + def max_jobs(self) -> pulumi.Output[_builtins.int]: """ Application Grouping Configurable Maximum Number of Tasks """ diff --git a/sdk/python/pulumi_alicloud/schedulerx/job.py b/sdk/python/pulumi_alicloud/schedulerx/job.py index 4aecca8823..a5a45641db 100644 --- a/sdk/python/pulumi_alicloud/schedulerx/job.py +++ b/sdk/python/pulumi_alicloud/schedulerx/job.py @@ -923,6 +923,8 @@ def __init__(__self__, execute_mode="batch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx Job can be imported using the id, e.g. @@ -1070,6 +1072,8 @@ def __init__(__self__, execute_mode="batch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx Job can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/schedulerx/namespace.py b/sdk/python/pulumi_alicloud/schedulerx/namespace.py index 071f0ae779..a8161a1883 100644 --- a/sdk/python/pulumi_alicloud/schedulerx/namespace.py +++ b/sdk/python/pulumi_alicloud/schedulerx/namespace.py @@ -26,7 +26,7 @@ def __init__(__self__, *, The set of arguments for constructing a Namespace resource. :param pulumi.Input[_builtins.str] namespace_name: Namespace name. :param pulumi.Input[_builtins.str] description: Namespace description. - :param pulumi.Input[_builtins.str] namespace_uid: Namespace uid. + :param pulumi.Input[_builtins.str] namespace_uid: namespace uid """ pulumi.set(__self__, "namespace_name", namespace_name) if description is not None: @@ -62,7 +62,7 @@ def description(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="namespaceUid") def namespace_uid(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Namespace uid. + namespace uid """ return pulumi.get(self, "namespace_uid") @@ -81,7 +81,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Namespace resources. :param pulumi.Input[_builtins.str] description: Namespace description. :param pulumi.Input[_builtins.str] namespace_name: Namespace name. - :param pulumi.Input[_builtins.str] namespace_uid: Namespace uid. + :param pulumi.Input[_builtins.str] namespace_uid: namespace uid """ if description is not None: pulumi.set(__self__, "description", description) @@ -118,7 +118,7 @@ def namespace_name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="namespaceUid") def namespace_uid(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Namespace uid. + namespace uid """ return pulumi.get(self, "namespace_uid") @@ -138,6 +138,31 @@ def __init__(__self__, namespace_uid: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ + Provides a Schedulerx Namespace resource. + + For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). + + > **NOTE:** Available since v1.173.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.schedulerx.Namespace("default", + namespace_name=name, + description=name) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx Namespace can be imported using the id, e.g. @@ -150,7 +175,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] description: Namespace description. :param pulumi.Input[_builtins.str] namespace_name: Namespace name. - :param pulumi.Input[_builtins.str] namespace_uid: Namespace uid. + :param pulumi.Input[_builtins.str] namespace_uid: namespace uid """ ... @overload @@ -159,6 +184,31 @@ def __init__(__self__, args: NamespaceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ + Provides a Schedulerx Namespace resource. + + For information about Schedulerx Namespace and how to use it, see [What is Namespace](https://www.alibabacloud.com/help/en/schedulerx/schedulerx-serverless/developer-reference/api-schedulerx2-2019-04-30-listnamespaces). + + > **NOTE:** Available since v1.173.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + config = pulumi.Config() + name = config.get("name") + if name is None: + name = "terraform-example" + default = alicloud.schedulerx.Namespace("default", + namespace_name=name, + description=name) + ``` + + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Schedulerx Namespace can be imported using the id, e.g. @@ -221,7 +271,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] description: Namespace description. :param pulumi.Input[_builtins.str] namespace_name: Namespace name. - :param pulumi.Input[_builtins.str] namespace_uid: Namespace uid. + :param pulumi.Input[_builtins.str] namespace_uid: namespace uid """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -252,7 +302,7 @@ def namespace_name(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="namespaceUid") def namespace_uid(self) -> pulumi.Output[_builtins.str]: """ - Namespace uid. + namespace uid """ return pulumi.get(self, "namespace_uid") diff --git a/sdk/python/pulumi_alicloud/sddp/config.py b/sdk/python/pulumi_alicloud/sddp/config.py index 5085cc8792..8106103eb9 100644 --- a/sdk/python/pulumi_alicloud/sddp/config.py +++ b/sdk/python/pulumi_alicloud/sddp/config.py @@ -191,6 +191,8 @@ def __init__(__self__, value="10") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Config can be imported using the id, e.g. @@ -232,6 +234,8 @@ def __init__(__self__, value="10") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sddp/data_limit.py b/sdk/python/pulumi_alicloud/sddp/data_limit.py index b521d89dc2..aef6ee0fe1 100644 --- a/sdk/python/pulumi_alicloud/sddp/data_limit.py +++ b/sdk/python/pulumi_alicloud/sddp/data_limit.py @@ -449,6 +449,8 @@ def __init__(__self__, service_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Data Limit can be imported using the id, e.g. @@ -557,6 +559,8 @@ def __init__(__self__, service_region_id=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Data Limit can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sddp/instance.py b/sdk/python/pulumi_alicloud/sddp/instance.py index 032db9229a..1962b15414 100644 --- a/sdk/python/pulumi_alicloud/sddp/instance.py +++ b/sdk/python/pulumi_alicloud/sddp/instance.py @@ -634,6 +634,8 @@ def __init__(__self__, dataphin="yes") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Instance can be imported using the id, e.g. @@ -693,6 +695,8 @@ def __init__(__self__, dataphin="yes") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sddp/rule.py b/sdk/python/pulumi_alicloud/sddp/rule.py index 961ef1d71d..acde55428e 100644 --- a/sdk/python/pulumi_alicloud/sddp/rule.py +++ b/sdk/python/pulumi_alicloud/sddp/rule.py @@ -553,6 +553,8 @@ def __init__(__self__, product_code="OSS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Rule can be imported using the id, e.g. @@ -623,6 +625,8 @@ def __init__(__self__, product_code="OSS") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Data Security Center Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/securitycenter/group.py b/sdk/python/pulumi_alicloud/securitycenter/group.py index 9c3731bd52..d17934d474 100644 --- a/sdk/python/pulumi_alicloud/securitycenter/group.py +++ b/sdk/python/pulumi_alicloud/securitycenter/group.py @@ -127,6 +127,8 @@ def __init__(__self__, example = alicloud.securitycenter.Group("example", group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Security Center Group can be imported using the id, e.g. @@ -168,6 +170,8 @@ def __init__(__self__, example = alicloud.securitycenter.Group("example", group_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Security Center Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/securitycenter/service_linked_role.py b/sdk/python/pulumi_alicloud/securitycenter/service_linked_role.py index 5c5cfce218..67a43cc6dd 100644 --- a/sdk/python/pulumi_alicloud/securitycenter/service_linked_role.py +++ b/sdk/python/pulumi_alicloud/securitycenter/service_linked_role.py @@ -74,6 +74,8 @@ def __init__(__self__, service_linked_role = alicloud.securitycenter.ServiceLinkedRole("service_linked_role") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. @@ -109,6 +111,8 @@ def __init__(__self__, service_linked_role = alicloud.securitycenter.ServiceLinkedRole("service_linked_role") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SecurityCenter service-linked roles(SLR) can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/selectdb/db_cluster.py b/sdk/python/pulumi_alicloud/selectdb/db_cluster.py index da09017e10..9f96fc9953 100644 --- a/sdk/python/pulumi_alicloud/selectdb/db_cluster.py +++ b/sdk/python/pulumi_alicloud/selectdb/db_cluster.py @@ -483,6 +483,8 @@ def __init__(__self__, payment_type="PayAsYouGo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SelectDB DBCluster can be imported using the id, e.g. @@ -547,6 +549,8 @@ def __init__(__self__, payment_type="PayAsYouGo") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SelectDB DBCluster can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/selectdb/db_instance.py b/sdk/python/pulumi_alicloud/selectdb/db_instance.py index 7803ae0f09..bbabd07c6b 100644 --- a/sdk/python/pulumi_alicloud/selectdb/db_instance.py +++ b/sdk/python/pulumi_alicloud/selectdb/db_instance.py @@ -883,6 +883,8 @@ def __init__(__self__, vswitch_id=default_get_switches.vswitches[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SelectDB DBInstance can be imported using the id, e.g. @@ -951,6 +953,8 @@ def __init__(__self__, vswitch_id=default_get_switches.vswitches[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SelectDB DBInstance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/portfolio.py b/sdk/python/pulumi_alicloud/servicecatalog/portfolio.py index b9e1bad54d..69524887c7 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/portfolio.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/portfolio.py @@ -192,6 +192,8 @@ def __init__(__self__, provider_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Portfolio can be imported using the id, e.g. @@ -236,6 +238,8 @@ def __init__(__self__, provider_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Portfolio can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/principal_portfolio_association.py b/sdk/python/pulumi_alicloud/servicecatalog/principal_portfolio_association.py index 4709871919..ec67de2218 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/principal_portfolio_association.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/principal_portfolio_association.py @@ -186,6 +186,8 @@ def __init__(__self__, principal_type="RamRole") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Principal Portfolio Association can be imported using the id, e.g. @@ -257,6 +259,8 @@ def __init__(__self__, principal_type="RamRole") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Principal Portfolio Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/product.py b/sdk/python/pulumi_alicloud/servicecatalog/product.py index 3496d96e8b..b8ad1c00d9 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/product.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/product.py @@ -212,6 +212,8 @@ def __init__(__self__, product_type="Ros") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product can be imported using the id, e.g. @@ -261,6 +263,8 @@ def __init__(__self__, product_type="Ros") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/product_portfolio_association.py b/sdk/python/pulumi_alicloud/servicecatalog/product_portfolio_association.py index fb66c55a04..8cf3299a1c 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/product_portfolio_association.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/product_portfolio_association.py @@ -139,6 +139,8 @@ def __init__(__self__, product_id=default_ret_b_jw.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product Portfolio Association can be imported using the id, e.g. @@ -194,6 +196,8 @@ def __init__(__self__, product_id=default_ret_b_jw.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product Portfolio Association can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/product_version.py b/sdk/python/pulumi_alicloud/servicecatalog/product_version.py index 4310d1e7a7..7718381638 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/product_version.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/product_version.py @@ -317,6 +317,8 @@ def __init__(__self__, template_type="RosTerraformTemplate") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product Version can be imported using the id, e.g. @@ -376,6 +378,8 @@ def __init__(__self__, template_type="RosTerraformTemplate") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Product Version can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicecatalog/provisioned_product.py b/sdk/python/pulumi_alicloud/servicecatalog/provisioned_product.py index fea5e5c8af..00dc014964 100644 --- a/sdk/python/pulumi_alicloud/servicecatalog/provisioned_product.py +++ b/sdk/python/pulumi_alicloud/servicecatalog/provisioned_product.py @@ -559,6 +559,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Provisioned Product can be imported using the id, e.g. @@ -618,6 +620,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Catalog Provisioned Product can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicemesh/extension_provider.py b/sdk/python/pulumi_alicloud/servicemesh/extension_provider.py index cb02353cac..a2bc90e07a 100644 --- a/sdk/python/pulumi_alicloud/servicemesh/extension_provider.py +++ b/sdk/python/pulumi_alicloud/servicemesh/extension_provider.py @@ -243,6 +243,8 @@ def create_default(range_body): config="{\\"headersToDownstreamOnDeny\\":[\\"content-type\\",\\"set-cookie\\"],\\"headersToUpstreamOnAllow\\":[\\"authorization\\",\\"cookie\\",\\"path\\",\\"x-auth-request-access-token\\",\\"x-forwarded-access-token\\"],\\"includeRequestHeadersInCheck\\":[\\"cookie\\",\\"x-forward-access-token\\"],\\"oidc\\":{\\"clientID\\":\\"qweqweqwewqeqwe\\",\\"clientSecret\\":\\"asdasdasdasdsadas\\",\\"cookieExpire\\":\\"1000\\",\\"cookieRefresh\\":\\"500\\",\\"cookieSecret\\":\\"scxzcxzcxzcxzcxz\\",\\"issuerURI\\":\\"qweqwewqeqweqweqwe\\",\\"redirectDomain\\":\\"www.alicloud-provider.cn\\",\\"redirectProtocol\\":\\"http\\",\\"scopes\\":[\\"profile\\"]},\\"port\\":4180,\\"service\\":\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\",\\"timeout\\":\\"10s\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Mesh Extension Provider can be imported using the id, e.g. @@ -340,6 +342,8 @@ def create_default(range_body): config="{\\"headersToDownstreamOnDeny\\":[\\"content-type\\",\\"set-cookie\\"],\\"headersToUpstreamOnAllow\\":[\\"authorization\\",\\"cookie\\",\\"path\\",\\"x-auth-request-access-token\\",\\"x-forwarded-access-token\\"],\\"includeRequestHeadersInCheck\\":[\\"cookie\\",\\"x-forward-access-token\\"],\\"oidc\\":{\\"clientID\\":\\"qweqweqwewqeqwe\\",\\"clientSecret\\":\\"asdasdasdasdsadas\\",\\"cookieExpire\\":\\"1000\\",\\"cookieRefresh\\":\\"500\\",\\"cookieSecret\\":\\"scxzcxzcxzcxzcxz\\",\\"issuerURI\\":\\"qweqwewqeqweqweqwe\\",\\"redirectDomain\\":\\"www.alicloud-provider.cn\\",\\"redirectProtocol\\":\\"http\\",\\"scopes\\":[\\"profile\\"]},\\"port\\":4180,\\"service\\":\\"oauth2proxy-httpextauth-tf-example.istio-system.svc.cluster.local\\",\\"timeout\\":\\"10s\\"}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Mesh Extension Provider can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/servicemesh/user_permission.py b/sdk/python/pulumi_alicloud/servicemesh/user_permission.py index e422012dd9..3269132c3d 100644 --- a/sdk/python/pulumi_alicloud/servicemesh/user_permission.py +++ b/sdk/python/pulumi_alicloud/servicemesh/user_permission.py @@ -158,6 +158,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Mesh User Permission can be imported using the id, e.g. @@ -229,6 +231,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Service Mesh User Permission can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/simpleapplicationserver/custom_image.py b/sdk/python/pulumi_alicloud/simpleapplicationserver/custom_image.py index b1b30ef2a5..00e9d56626 100644 --- a/sdk/python/pulumi_alicloud/simpleapplicationserver/custom_image.py +++ b/sdk/python/pulumi_alicloud/simpleapplicationserver/custom_image.py @@ -249,6 +249,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Custom Image can be imported using the id, e.g. @@ -313,6 +315,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Custom Image can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/simpleapplicationserver/firewall_rule.py b/sdk/python/pulumi_alicloud/simpleapplicationserver/firewall_rule.py index f674a676e5..9e8a5274b9 100644 --- a/sdk/python/pulumi_alicloud/simpleapplicationserver/firewall_rule.py +++ b/sdk/python/pulumi_alicloud/simpleapplicationserver/firewall_rule.py @@ -219,6 +219,8 @@ def __init__(__self__, remark=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Firewall Rule can be imported using the id, e.g. @@ -275,6 +277,8 @@ def __init__(__self__, remark=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Firewall Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/simpleapplicationserver/snapshot.py b/sdk/python/pulumi_alicloud/simpleapplicationserver/snapshot.py index d32a9de060..87563e4a74 100644 --- a/sdk/python/pulumi_alicloud/simpleapplicationserver/snapshot.py +++ b/sdk/python/pulumi_alicloud/simpleapplicationserver/snapshot.py @@ -157,6 +157,8 @@ def __init__(__self__, snapshot_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Snapshot can be imported using the id, e.g. @@ -214,6 +216,8 @@ def __init__(__self__, snapshot_name=f"{name}-{default_integer['result']}") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Simple Application Server Snapshot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/acl.py b/sdk/python/pulumi_alicloud/slb/acl.py index 64e644ff8f..b89d343c21 100644 --- a/sdk/python/pulumi_alicloud/slb/acl.py +++ b/sdk/python/pulumi_alicloud/slb/acl.py @@ -250,6 +250,8 @@ def __init__(__self__, ip_version="ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Entry Block The entry mapping supports the following: @@ -315,6 +317,8 @@ def __init__(__self__, ip_version="ipv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Entry Block The entry mapping supports the following: diff --git a/sdk/python/pulumi_alicloud/slb/acl_entry_attachment.py b/sdk/python/pulumi_alicloud/slb/acl_entry_attachment.py index c95fe5386f..850ec5361f 100644 --- a/sdk/python/pulumi_alicloud/slb/acl_entry_attachment.py +++ b/sdk/python/pulumi_alicloud/slb/acl_entry_attachment.py @@ -158,6 +158,8 @@ def __init__(__self__, comment="second") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Acl entry attachment can be imported using the id, e.g. @@ -200,6 +202,8 @@ def __init__(__self__, comment="second") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Acl entry attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/attachment.py b/sdk/python/pulumi_alicloud/slb/attachment.py index a41e4c28d9..6fee29df11 100644 --- a/sdk/python/pulumi_alicloud/slb/attachment.py +++ b/sdk/python/pulumi_alicloud/slb/attachment.py @@ -288,6 +288,8 @@ def __init__(__self__, weight=90) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer attachment can be imported using the id or load balancer id, e.g. @@ -364,6 +366,8 @@ def __init__(__self__, weight=90) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer attachment can be imported using the id or load balancer id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/domain_extension.py b/sdk/python/pulumi_alicloud/slb/domain_extension.py index 91ea5272fe..6de1a2fe17 100644 --- a/sdk/python/pulumi_alicloud/slb/domain_extension.py +++ b/sdk/python/pulumi_alicloud/slb/domain_extension.py @@ -306,6 +306,8 @@ def __init__(__self__, server_certificate_id=domain_extension_server_certificate.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer domain_extension can be imported using the id, e.g. @@ -434,6 +436,8 @@ def __init__(__self__, server_certificate_id=domain_extension_server_certificate.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer domain_extension can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/listener.py b/sdk/python/pulumi_alicloud/slb/listener.py index 15a48df2e1..7d53ffe64b 100644 --- a/sdk/python/pulumi_alicloud/slb/listener.py +++ b/sdk/python/pulumi_alicloud/slb/listener.py @@ -1213,6 +1213,8 @@ def __init__(__self__, comment="second") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. @@ -1311,6 +1313,8 @@ def __init__(__self__, comment="second") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Classic Load Balancer (SLB) Load Balancer Listener can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/load_balancer.py b/sdk/python/pulumi_alicloud/slb/load_balancer.py index 1e8b1da4d1..2201627cfb 100644 --- a/sdk/python/pulumi_alicloud/slb/load_balancer.py +++ b/sdk/python/pulumi_alicloud/slb/load_balancer.py @@ -850,6 +850,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer can be imported using the id, e.g. @@ -950,6 +952,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/master_slave_server_group.py b/sdk/python/pulumi_alicloud/slb/master_slave_server_group.py index e087abf6a3..7a98d3f6a0 100644 --- a/sdk/python/pulumi_alicloud/slb/master_slave_server_group.py +++ b/sdk/python/pulumi_alicloud/slb/master_slave_server_group.py @@ -278,6 +278,8 @@ def __init__(__self__, established_timeout=600) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer master slave server group can be imported using the id, e.g. @@ -405,6 +407,8 @@ def __init__(__self__, established_timeout=600) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer master slave server group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/rule.py b/sdk/python/pulumi_alicloud/slb/rule.py index 239d441aa0..41224b8434 100644 --- a/sdk/python/pulumi_alicloud/slb/rule.py +++ b/sdk/python/pulumi_alicloud/slb/rule.py @@ -872,6 +872,8 @@ def __init__(__self__, health_check="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer forwarding rule can be imported using the id, e.g. @@ -1012,6 +1014,8 @@ def __init__(__self__, health_check="on") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load balancer forwarding rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/server_group.py b/sdk/python/pulumi_alicloud/slb/server_group.py index fa8248df2d..03a3c8cca9 100644 --- a/sdk/python/pulumi_alicloud/slb/server_group.py +++ b/sdk/python/pulumi_alicloud/slb/server_group.py @@ -264,6 +264,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load Balancer Virtual Backend Server Group can be imported using the id, e.g. @@ -334,6 +336,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load Balancer Virtual Backend Server Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/server_group_server_attachment.py b/sdk/python/pulumi_alicloud/slb/server_group_server_attachment.py index bb807c6eca..8be1f141be 100644 --- a/sdk/python/pulumi_alicloud/slb/server_group_server_attachment.py +++ b/sdk/python/pulumi_alicloud/slb/server_group_server_attachment.py @@ -299,6 +299,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. @@ -387,6 +389,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Load Balancer Virtual Backend Server Group Server Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/slb/tls_cipher_policy.py b/sdk/python/pulumi_alicloud/slb/tls_cipher_policy.py index bf777d5f5d..4e63ef0092 100644 --- a/sdk/python/pulumi_alicloud/slb/tls_cipher_policy.py +++ b/sdk/python/pulumi_alicloud/slb/tls_cipher_policy.py @@ -175,6 +175,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLB Tls Cipher Policy can be imported using the id, e.g. @@ -219,6 +221,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLB Tls Cipher Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/alert.py b/sdk/python/pulumi_alicloud/sls/alert.py index a235ae7724..c638d9f491 100644 --- a/sdk/python/pulumi_alicloud/sls/alert.py +++ b/sdk/python/pulumi_alicloud/sls/alert.py @@ -441,6 +441,8 @@ def __init__(__self__, project_name=default_ins_mgl.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Alert can be imported using the id, e.g. @@ -623,6 +625,8 @@ def __init__(__self__, project_name=default_ins_mgl.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Alert can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/collection_policy.py b/sdk/python/pulumi_alicloud/sls/collection_policy.py index d20b863e9a..506e1425e1 100644 --- a/sdk/python/pulumi_alicloud/sls/collection_policy.py +++ b/sdk/python/pulumi_alicloud/sls/collection_policy.py @@ -480,6 +480,8 @@ def __init__(__self__, enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Collection Policy can be imported using the id, e.g. @@ -653,6 +655,8 @@ def __init__(__self__, enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Collection Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/etl.py b/sdk/python/pulumi_alicloud/sls/etl.py index 7a6e951ba7..63c8b63a5d 100644 --- a/sdk/python/pulumi_alicloud/sls/etl.py +++ b/sdk/python/pulumi_alicloud/sls/etl.py @@ -285,6 +285,8 @@ def __init__(__self__, display_name="etl-1740472705-185721") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Etl can be imported using the id, e.g. @@ -358,6 +360,8 @@ def __init__(__self__, display_name="etl-1740472705-185721") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Etl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/index.py b/sdk/python/pulumi_alicloud/sls/index.py index de91c52d0e..230ce03d06 100644 --- a/sdk/python/pulumi_alicloud/sls/index.py +++ b/sdk/python/pulumi_alicloud/sls/index.py @@ -379,6 +379,8 @@ def __init__(__self__, project_name=project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Index can be imported using the id, e.g. @@ -480,6 +482,8 @@ def __init__(__self__, project_name=project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Index can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/logtail_config.py b/sdk/python/pulumi_alicloud/sls/logtail_config.py index 660ad006e4..1eb9cddb02 100644 --- a/sdk/python/pulumi_alicloud/sls/logtail_config.py +++ b/sdk/python/pulumi_alicloud/sls/logtail_config.py @@ -413,6 +413,8 @@ def __init__(__self__, input_type="file") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Logtail Config can be imported using the id, e.g. @@ -515,6 +517,8 @@ def __init__(__self__, input_type="file") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Logtail Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/machine_group.py b/sdk/python/pulumi_alicloud/sls/machine_group.py index abaa749f1e..5df85e764f 100644 --- a/sdk/python/pulumi_alicloud/sls/machine_group.py +++ b/sdk/python/pulumi_alicloud/sls/machine_group.py @@ -287,6 +287,8 @@ def __init__(__self__, machine_lists=["192.168.1.1"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Machine Group can be imported using the id, e.g. @@ -350,6 +352,8 @@ def __init__(__self__, machine_lists=["192.168.1.1"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Machine Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/oss_export_sink.py b/sdk/python/pulumi_alicloud/sls/oss_export_sink.py index bbe326cfda..2a486cb828 100644 --- a/sdk/python/pulumi_alicloud/sls/oss_export_sink.py +++ b/sdk/python/pulumi_alicloud/sls/oss_export_sink.py @@ -310,6 +310,8 @@ def __init__(__self__, display_name="exampleterraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Oss Export Sink can be imported using the id, e.g. @@ -408,6 +410,8 @@ def __init__(__self__, display_name="exampleterraform") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Log Service (SLS) Oss Export Sink can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sls/scheduled_sql.py b/sdk/python/pulumi_alicloud/sls/scheduled_sql.py index f21eb74153..6c10f0b34c 100644 --- a/sdk/python/pulumi_alicloud/sls/scheduled_sql.py +++ b/sdk/python/pulumi_alicloud/sls/scheduled_sql.py @@ -297,6 +297,8 @@ def __init__(__self__, project=default_k_ie4_kv.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Scheduled SQL can be imported using the id, e.g. @@ -383,6 +385,8 @@ def __init__(__self__, project=default_k_ie4_kv.project_name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SLS Scheduled SQL can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sms/short_url.py b/sdk/python/pulumi_alicloud/sms/short_url.py index 1e29db18f4..6e72a5da5d 100644 --- a/sdk/python/pulumi_alicloud/sms/short_url.py +++ b/sdk/python/pulumi_alicloud/sms/short_url.py @@ -172,6 +172,8 @@ def __init__(__self__, source_url="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SMS Short Url can be imported using the id, e.g. @@ -213,6 +215,8 @@ def __init__(__self__, source_url="example_value") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SMS Short Url can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/sslcertificatesservice/pca_certificate.py b/sdk/python/pulumi_alicloud/sslcertificatesservice/pca_certificate.py index 7d1c517477..037d0448dc 100644 --- a/sdk/python/pulumi_alicloud/sslcertificatesservice/pca_certificate.py +++ b/sdk/python/pulumi_alicloud/sslcertificatesservice/pca_certificate.py @@ -26,15 +26,17 @@ def __init__(__self__, *, state: pulumi.Input[_builtins.str], years: pulumi.Input[_builtins.int], algorithm: Optional[pulumi.Input[_builtins.str]] = None, - country_code: Optional[pulumi.Input[_builtins.str]] = None): + alias_name: Optional[pulumi.Input[_builtins.str]] = None, + country_code: Optional[pulumi.Input[_builtins.str]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a PcaCertificate resource. :param pulumi.Input[_builtins.str] common_name: The common name or abbreviation of the organization. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] locality: Name of the city where the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization: The name of the organization (corresponding to your enterprise or company) associated with the root CA certificate. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization_unit: The name of the department or branch under the organization. Support the use of Chinese, English characters. - :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.int] years: The validity period of the root CA certificate, in years. > **NOTE:** It is recommended to set to `5` to `10` years. :param pulumi.Input[_builtins.str] algorithm: The key algorithm type of the root CA certificate. The key algorithm is expressed using the '_< key length>' format. Value: @@ -47,6 +49,8 @@ def __init__(__self__, *, - `SM2_256`: The corresponding signature algorithm is SM3WithSM2. The encryption algorithm of the root CA certificate must be the same as the **certificate algorithm** of the private Root CA you purchased. Example: If the **certificate algorithm** selected when you purchase a private Root CA is `RSA`, the key algorithm of the root CA certificate must be **RSA\\_1024**, **RSA\\_2048**, or **RSA\\_4096**. :param pulumi.Input[_builtins.str] country_code: The code of the country or region in which the organization is located, using a two-digit capital abbreviation. For example, `CN` represents China and `US` represents the United States. + :param pulumi.Input[_builtins.str] resource_group_id: A resource property field representing the resource group. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource. """ pulumi.set(__self__, "common_name", common_name) pulumi.set(__self__, "locality", locality) @@ -56,8 +60,14 @@ def __init__(__self__, *, pulumi.set(__self__, "years", years) if algorithm is not None: pulumi.set(__self__, "algorithm", algorithm) + if alias_name is not None: + pulumi.set(__self__, "alias_name", alias_name) if country_code is not None: pulumi.set(__self__, "country_code", country_code) + if resource_group_id is not None: + pulumi.set(__self__, "resource_group_id", resource_group_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) @_builtins.property @pulumi.getter(name="commonName") @@ -111,8 +121,7 @@ def organization_unit(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def state(self) -> pulumi.Input[_builtins.str]: """ - The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. """ return pulumi.get(self, "state") @@ -153,6 +162,15 @@ def algorithm(self) -> Optional[pulumi.Input[_builtins.str]]: def algorithm(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "algorithm", value) + @_builtins.property + @pulumi.getter(name="aliasName") + def alias_name(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "alias_name") + + @alias_name.setter + def alias_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "alias_name", value) + @_builtins.property @pulumi.getter(name="countryCode") def country_code(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -165,18 +183,45 @@ def country_code(self) -> Optional[pulumi.Input[_builtins.str]]: def country_code(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "country_code", value) + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + A resource property field representing the resource group. + """ + return pulumi.get(self, "resource_group_id") + + @resource_group_id.setter + def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_group_id", value) + + @_builtins.property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + The tag of the resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _PcaCertificateState: def __init__(__self__, *, algorithm: Optional[pulumi.Input[_builtins.str]] = None, + alias_name: Optional[pulumi.Input[_builtins.str]] = None, common_name: Optional[pulumi.Input[_builtins.str]] = None, country_code: Optional[pulumi.Input[_builtins.str]] = None, locality: Optional[pulumi.Input[_builtins.str]] = None, organization: Optional[pulumi.Input[_builtins.str]] = None, organization_unit: Optional[pulumi.Input[_builtins.str]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, state: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, years: Optional[pulumi.Input[_builtins.int]] = None): """ Input properties used for looking up and filtering PcaCertificate resources. @@ -194,14 +239,17 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] locality: Name of the city where the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization: The name of the organization (corresponding to your enterprise or company) associated with the root CA certificate. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization_unit: The name of the department or branch under the organization. Support the use of Chinese, English characters. - :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + :param pulumi.Input[_builtins.str] resource_group_id: A resource property field representing the resource group. + :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] status: The status of the CA certificate. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource. :param pulumi.Input[_builtins.int] years: The validity period of the root CA certificate, in years. > **NOTE:** It is recommended to set to `5` to `10` years. """ if algorithm is not None: pulumi.set(__self__, "algorithm", algorithm) + if alias_name is not None: + pulumi.set(__self__, "alias_name", alias_name) if common_name is not None: pulumi.set(__self__, "common_name", common_name) if country_code is not None: @@ -212,10 +260,14 @@ def __init__(__self__, *, pulumi.set(__self__, "organization", organization) if organization_unit is not None: pulumi.set(__self__, "organization_unit", organization_unit) + if resource_group_id is not None: + pulumi.set(__self__, "resource_group_id", resource_group_id) if state is not None: pulumi.set(__self__, "state", state) if status is not None: pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) if years is not None: pulumi.set(__self__, "years", years) @@ -239,6 +291,15 @@ def algorithm(self) -> Optional[pulumi.Input[_builtins.str]]: def algorithm(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "algorithm", value) + @_builtins.property + @pulumi.getter(name="aliasName") + def alias_name(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "alias_name") + + @alias_name.setter + def alias_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "alias_name", value) + @_builtins.property @pulumi.getter(name="commonName") def common_name(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -299,12 +360,23 @@ def organization_unit(self) -> Optional[pulumi.Input[_builtins.str]]: def organization_unit(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "organization_unit", value) + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + A resource property field representing the resource group. + """ + return pulumi.get(self, "resource_group_id") + + @resource_group_id.setter + def resource_group_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_group_id", value) + @_builtins.property @pulumi.getter def state(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. """ return pulumi.get(self, "state") @@ -324,6 +396,18 @@ def status(self) -> Optional[pulumi.Input[_builtins.str]]: def status(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "status", value) + @_builtins.property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + The tag of the resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "tags", value) + @_builtins.property @pulumi.getter def years(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -345,12 +429,15 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, algorithm: Optional[pulumi.Input[_builtins.str]] = None, + alias_name: Optional[pulumi.Input[_builtins.str]] = None, common_name: Optional[pulumi.Input[_builtins.str]] = None, country_code: Optional[pulumi.Input[_builtins.str]] = None, locality: Optional[pulumi.Input[_builtins.str]] = None, organization: Optional[pulumi.Input[_builtins.str]] = None, organization_unit: Optional[pulumi.Input[_builtins.str]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, state: Optional[pulumi.Input[_builtins.str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, years: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): """ @@ -379,6 +466,8 @@ def __init__(__self__, algorithm="RSA_2048") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -403,8 +492,9 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] locality: Name of the city where the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization: The name of the organization (corresponding to your enterprise or company) associated with the root CA certificate. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization_unit: The name of the department or branch under the organization. Support the use of Chinese, English characters. - :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + :param pulumi.Input[_builtins.str] resource_group_id: A resource property field representing the resource group. + :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource. :param pulumi.Input[_builtins.int] years: The validity period of the root CA certificate, in years. > **NOTE:** It is recommended to set to `5` to `10` years. """ @@ -440,6 +530,8 @@ def __init__(__self__, algorithm="RSA_2048") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL Certificates Pca Certificate can be imported using the id, e.g. @@ -464,12 +556,15 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, algorithm: Optional[pulumi.Input[_builtins.str]] = None, + alias_name: Optional[pulumi.Input[_builtins.str]] = None, common_name: Optional[pulumi.Input[_builtins.str]] = None, country_code: Optional[pulumi.Input[_builtins.str]] = None, locality: Optional[pulumi.Input[_builtins.str]] = None, organization: Optional[pulumi.Input[_builtins.str]] = None, organization_unit: Optional[pulumi.Input[_builtins.str]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, state: Optional[pulumi.Input[_builtins.str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, years: Optional[pulumi.Input[_builtins.int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -481,6 +576,7 @@ def _internal_init(__self__, __props__ = PcaCertificateArgs.__new__(PcaCertificateArgs) __props__.__dict__["algorithm"] = algorithm + __props__.__dict__["alias_name"] = alias_name if common_name is None and not opts.urn: raise TypeError("Missing required property 'common_name'") __props__.__dict__["common_name"] = common_name @@ -494,9 +590,11 @@ def _internal_init(__self__, if organization_unit is None and not opts.urn: raise TypeError("Missing required property 'organization_unit'") __props__.__dict__["organization_unit"] = organization_unit + __props__.__dict__["resource_group_id"] = resource_group_id if state is None and not opts.urn: raise TypeError("Missing required property 'state'") __props__.__dict__["state"] = state + __props__.__dict__["tags"] = tags if years is None and not opts.urn: raise TypeError("Missing required property 'years'") __props__.__dict__["years"] = years @@ -512,13 +610,16 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, algorithm: Optional[pulumi.Input[_builtins.str]] = None, + alias_name: Optional[pulumi.Input[_builtins.str]] = None, common_name: Optional[pulumi.Input[_builtins.str]] = None, country_code: Optional[pulumi.Input[_builtins.str]] = None, locality: Optional[pulumi.Input[_builtins.str]] = None, organization: Optional[pulumi.Input[_builtins.str]] = None, organization_unit: Optional[pulumi.Input[_builtins.str]] = None, + resource_group_id: Optional[pulumi.Input[_builtins.str]] = None, state: Optional[pulumi.Input[_builtins.str]] = None, status: Optional[pulumi.Input[_builtins.str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, years: Optional[pulumi.Input[_builtins.int]] = None) -> 'PcaCertificate': """ Get an existing PcaCertificate resource's state with the given name, id, and optional extra @@ -541,9 +642,10 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] locality: Name of the city where the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization: The name of the organization (corresponding to your enterprise or company) associated with the root CA certificate. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] organization_unit: The name of the department or branch under the organization. Support the use of Chinese, English characters. - :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + :param pulumi.Input[_builtins.str] resource_group_id: A resource property field representing the resource group. + :param pulumi.Input[_builtins.str] state: The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. :param pulumi.Input[_builtins.str] status: The status of the CA certificate. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: The tag of the resource. :param pulumi.Input[_builtins.int] years: The validity period of the root CA certificate, in years. > **NOTE:** It is recommended to set to `5` to `10` years. """ @@ -552,13 +654,16 @@ def get(resource_name: str, __props__ = _PcaCertificateState.__new__(_PcaCertificateState) __props__.__dict__["algorithm"] = algorithm + __props__.__dict__["alias_name"] = alias_name __props__.__dict__["common_name"] = common_name __props__.__dict__["country_code"] = country_code __props__.__dict__["locality"] = locality __props__.__dict__["organization"] = organization __props__.__dict__["organization_unit"] = organization_unit + __props__.__dict__["resource_group_id"] = resource_group_id __props__.__dict__["state"] = state __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags __props__.__dict__["years"] = years return PcaCertificate(resource_name, opts=opts, __props__=__props__) @@ -578,6 +683,11 @@ def algorithm(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "algorithm") + @_builtins.property + @pulumi.getter(name="aliasName") + def alias_name(self) -> pulumi.Output[Optional[_builtins.str]]: + return pulumi.get(self, "alias_name") + @_builtins.property @pulumi.getter(name="commonName") def common_name(self) -> pulumi.Output[_builtins.str]: @@ -618,12 +728,19 @@ def organization_unit(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "organization_unit") + @_builtins.property + @pulumi.getter(name="resourceGroupId") + def resource_group_id(self) -> pulumi.Output[_builtins.str]: + """ + A resource property field representing the resource group. + """ + return pulumi.get(self, "resource_group_id") + @_builtins.property @pulumi.getter def state(self) -> pulumi.Output[_builtins.str]: """ - The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. - Name of the province or state where the organization is located. Support the use of Chinese, English characters. + The name of the province, municipality, or autonomous region in which the organization is located. Support the use of Chinese, English characters. """ return pulumi.get(self, "state") @@ -635,6 +752,14 @@ def status(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "status") + @_builtins.property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + The tag of the resource. + """ + return pulumi.get(self, "tags") + @_builtins.property @pulumi.getter def years(self) -> pulumi.Output[_builtins.int]: diff --git a/sdk/python/pulumi_alicloud/star_rocks_instance.py b/sdk/python/pulumi_alicloud/star_rocks_instance.py index 40669d7059..2e85c33ba8 100644 --- a/sdk/python/pulumi_alicloud/star_rocks_instance.py +++ b/sdk/python/pulumi_alicloud/star_rocks_instance.py @@ -899,6 +899,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Instance can be imported using the id, e.g. @@ -1027,6 +1029,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/starrocks/instance.py b/sdk/python/pulumi_alicloud/starrocks/instance.py index 86d74018a5..61744c26ca 100644 --- a/sdk/python/pulumi_alicloud/starrocks/instance.py +++ b/sdk/python/pulumi_alicloud/starrocks/instance.py @@ -894,6 +894,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Instance can be imported using the id, e.g. @@ -1022,6 +1024,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/starrocks/node_group.py b/sdk/python/pulumi_alicloud/starrocks/node_group.py index 301a74aa67..1519a2667f 100644 --- a/sdk/python/pulumi_alicloud/starrocks/node_group.py +++ b/sdk/python/pulumi_alicloud/starrocks/node_group.py @@ -802,6 +802,8 @@ def __init__(__self__, promotion_option_no="blank") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Node Group can be imported using the id, e.g. @@ -938,6 +940,8 @@ def __init__(__self__, promotion_option_no="blank") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Star Rocks Node Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/tag/associated_rule.py b/sdk/python/pulumi_alicloud/tag/associated_rule.py index b6850547e3..cb2c404949 100644 --- a/sdk/python/pulumi_alicloud/tag/associated_rule.py +++ b/sdk/python/pulumi_alicloud/tag/associated_rule.py @@ -161,6 +161,8 @@ def __init__(__self__, tag_keys=["user"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TAG Associated Rule can be imported using the id, e.g. @@ -206,6 +208,8 @@ def __init__(__self__, tag_keys=["user"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TAG Associated Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/tag/meta_tag.py b/sdk/python/pulumi_alicloud/tag/meta_tag.py index cf0a493741..dc65cb33e7 100644 --- a/sdk/python/pulumi_alicloud/tag/meta_tag.py +++ b/sdk/python/pulumi_alicloud/tag/meta_tag.py @@ -126,6 +126,8 @@ def __init__(__self__, values=["Desc2"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tag Meta Tag can be imported using the id, e.g. @@ -168,6 +170,8 @@ def __init__(__self__, values=["Desc2"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tag Meta Tag can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/tag/policy.py b/sdk/python/pulumi_alicloud/tag/policy.py index 2da0679f7c..4e726c0248 100644 --- a/sdk/python/pulumi_alicloud/tag/policy.py +++ b/sdk/python/pulumi_alicloud/tag/policy.py @@ -195,6 +195,8 @@ def __init__(__self__, policy_content="\\\\t\\\\t{\\\\\\"tags\\\\\\":{\\\\\\"CostCenter\\\\\\":{\\\\\\"tag_value\\\\\\":{\\\\\\"@@assign\\\\\\":[\\\\\\"Beijing\\\\\\",\\\\\\"Shanghai\\\\\\"]},\\\\\\"tag_key\\\\\\":{\\\\\\"@@assign\\\\\\":\\\\\\"CostCenter\\\\\\"}}}}\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TAG Policy can be imported using the id, e.g. @@ -242,6 +244,8 @@ def __init__(__self__, policy_content="\\\\t\\\\t{\\\\\\"tags\\\\\\":{\\\\\\"CostCenter\\\\\\":{\\\\\\"tag_value\\\\\\":{\\\\\\"@@assign\\\\\\":[\\\\\\"Beijing\\\\\\",\\\\\\"Shanghai\\\\\\"]},\\\\\\"tag_key\\\\\\":{\\\\\\"@@assign\\\\\\":\\\\\\"CostCenter\\\\\\"}}}}\\n") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TAG Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/tag/policy_attachment.py b/sdk/python/pulumi_alicloud/tag/policy_attachment.py index 061fb1d1cf..dd81e17dcf 100644 --- a/sdk/python/pulumi_alicloud/tag/policy_attachment.py +++ b/sdk/python/pulumi_alicloud/tag/policy_attachment.py @@ -166,6 +166,8 @@ def __init__(__self__, target_type="USER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tag Policy Attachment can be imported using the id, e.g. @@ -217,6 +219,8 @@ def __init__(__self__, target_type="USER") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Tag Policy Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/__init__.py b/sdk/python/pulumi_alicloud/threatdetection/__init__.py index 703799e8a5..6991c3b20b 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/__init__.py +++ b/sdk/python/pulumi_alicloud/threatdetection/__init__.py @@ -12,6 +12,7 @@ from .attack_path_sensitive_asset_config import * from .backup_policy import * from .baseline_strategy import * +from .check_config import * from .client_file_protect import * from .client_user_define_rule import * from .cycle_task import * @@ -20,6 +21,8 @@ from .get_assets import * from .get_backup_policies import * from .get_baseline_strategies import * +from .get_check_item_configs import * +from .get_check_structures import * from .get_honey_pots import * from .get_honeypot_images import * from .get_honeypot_nodes import * diff --git a/sdk/python/pulumi_alicloud/threatdetection/_inputs.py b/sdk/python/pulumi_alicloud/threatdetection/_inputs.py index 6372e3970e..e0bbe8fe02 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/_inputs.py +++ b/sdk/python/pulumi_alicloud/threatdetection/_inputs.py @@ -19,6 +19,8 @@ 'AntiBruteForceRuleProtocolTypeArgsDict', 'AttackPathSensitiveAssetConfigAttackPathAssetListArgs', 'AttackPathSensitiveAssetConfigAttackPathAssetListArgsDict', + 'CheckConfigSelectedCheckArgs', + 'CheckConfigSelectedCheckArgsDict', 'HoneypotPresetMetaArgs', 'HoneypotPresetMetaArgsDict', 'HoneypotProbeHoneypotBindListArgs', @@ -210,6 +212,58 @@ def vendor(self, value: pulumi.Input[_builtins.int]): pulumi.set(self, "vendor", value) +if not MYPY: + class CheckConfigSelectedCheckArgsDict(TypedDict): + check_id: NotRequired[pulumi.Input[_builtins.int]] + """ + The ID of the check item. + """ + section_id: NotRequired[pulumi.Input[_builtins.int]] + """ + The section ID of the check item. + """ +elif False: + CheckConfigSelectedCheckArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CheckConfigSelectedCheckArgs: + def __init__(__self__, *, + check_id: Optional[pulumi.Input[_builtins.int]] = None, + section_id: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.int] check_id: The ID of the check item. + :param pulumi.Input[_builtins.int] section_id: The section ID of the check item. + """ + if check_id is not None: + pulumi.set(__self__, "check_id", check_id) + if section_id is not None: + pulumi.set(__self__, "section_id", section_id) + + @_builtins.property + @pulumi.getter(name="checkId") + def check_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The ID of the check item. + """ + return pulumi.get(self, "check_id") + + @check_id.setter + def check_id(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "check_id", value) + + @_builtins.property + @pulumi.getter(name="sectionId") + def section_id(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The section ID of the check item. + """ + return pulumi.get(self, "section_id") + + @section_id.setter + def section_id(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "section_id", value) + + if not MYPY: class HoneypotPresetMetaArgsDict(TypedDict): burp: pulumi.Input[_builtins.str] diff --git a/sdk/python/pulumi_alicloud/threatdetection/anti_brute_force_rule.py b/sdk/python/pulumi_alicloud/threatdetection/anti_brute_force_rule.py index bf49ad4c7c..9ab444b4eb 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/anti_brute_force_rule.py +++ b/sdk/python/pulumi_alicloud/threatdetection/anti_brute_force_rule.py @@ -292,6 +292,8 @@ def __init__(__self__, span=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Anti Brute Force Rule can be imported using the id, e.g. @@ -341,6 +343,8 @@ def __init__(__self__, span=10) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Anti Brute Force Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py b/sdk/python/pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py index b1a5700dab..b112b6a00a 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py +++ b/sdk/python/pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py @@ -100,6 +100,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. @@ -145,6 +147,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Attack Path Sensitive Asset Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/backup_policy.py b/sdk/python/pulumi_alicloud/threatdetection/backup_policy.py index 3b021a45ef..2f43aa1bef 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/backup_policy.py +++ b/sdk/python/pulumi_alicloud/threatdetection/backup_policy.py @@ -239,6 +239,8 @@ def __init__(__self__, uuid_lists=[default.ids[0]]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Backup Policy can be imported using the id, e.g. @@ -284,6 +286,8 @@ def __init__(__self__, uuid_lists=[default.ids[0]]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Backup Policy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/baseline_strategy.py b/sdk/python/pulumi_alicloud/threatdetection/baseline_strategy.py index 5e0e1ca7a5..fe09e4ddb2 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/baseline_strategy.py +++ b/sdk/python/pulumi_alicloud/threatdetection/baseline_strategy.py @@ -369,6 +369,8 @@ def __init__(__self__, risk_sub_type_name="hc_exploit_redis") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Baseline Strategy can be imported using the id, e.g. @@ -427,6 +429,8 @@ def __init__(__self__, risk_sub_type_name="hc_exploit_redis") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Baseline Strategy can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/check_config.py b/sdk/python/pulumi_alicloud/threatdetection/check_config.py new file mode 100644 index 0000000000..6f8aac06de --- /dev/null +++ b/sdk/python/pulumi_alicloud/threatdetection/check_config.py @@ -0,0 +1,658 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CheckConfigArgs', 'CheckConfig'] + +@pulumi.input_type +class CheckConfigArgs: + def __init__(__self__, *, + configure: Optional[pulumi.Input[_builtins.str]] = None, + cycle_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + enable_add_check: Optional[pulumi.Input[_builtins.bool]] = None, + enable_auto_check: Optional[pulumi.Input[_builtins.bool]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, + selected_checks: Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, + system_config: Optional[pulumi.Input[_builtins.bool]] = None, + vendors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a CheckConfig resource. + :param pulumi.Input[_builtins.str] configure: The configuration of the check item. Valid value: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] cycle_days: Cycle detection time. + :param pulumi.Input[_builtins.bool] enable_add_check: Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.bool] enable_auto_check: Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.int] end_time: Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + :param pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]] selected_checks: The check items selected in the policy. See `selected_checks` below. + :param pulumi.Input[_builtins.int] start_time: The start time of the check. The value specifies a point in time in a day. + :param pulumi.Input[_builtins.bool] system_config: Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + if configure is not None: + pulumi.set(__self__, "configure", configure) + if cycle_days is not None: + pulumi.set(__self__, "cycle_days", cycle_days) + if enable_add_check is not None: + pulumi.set(__self__, "enable_add_check", enable_add_check) + if enable_auto_check is not None: + pulumi.set(__self__, "enable_auto_check", enable_auto_check) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if selected_checks is not None: + pulumi.set(__self__, "selected_checks", selected_checks) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if system_config is not None: + pulumi.set(__self__, "system_config", system_config) + if vendors is not None: + pulumi.set(__self__, "vendors", vendors) + + @_builtins.property + @pulumi.getter + def configure(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The configuration of the check item. Valid value: + """ + return pulumi.get(self, "configure") + + @configure.setter + def configure(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "configure", value) + + @_builtins.property + @pulumi.getter(name="cycleDays") + def cycle_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]: + """ + Cycle detection time. + """ + return pulumi.get(self, "cycle_days") + + @cycle_days.setter + def cycle_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]): + pulumi.set(self, "cycle_days", value) + + @_builtins.property + @pulumi.getter(name="enableAddCheck") + def enable_add_check(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_add_check") + + @enable_add_check.setter + def enable_add_check(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_add_check", value) + + @_builtins.property + @pulumi.getter(name="enableAutoCheck") + def enable_auto_check(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_auto_check") + + @enable_auto_check.setter + def enable_auto_check(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_auto_check", value) + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "end_time", value) + + @_builtins.property + @pulumi.getter(name="selectedChecks") + def selected_checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]]: + """ + The check items selected in the policy. See `selected_checks` below. + """ + return pulumi.get(self, "selected_checks") + + @selected_checks.setter + def selected_checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]]): + pulumi.set(self, "selected_checks", value) + + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The start time of the check. The value specifies a point in time in a day. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "start_time", value) + + @_builtins.property + @pulumi.getter(name="systemConfig") + def system_config(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + return pulumi.get(self, "system_config") + + @system_config.setter + def system_config(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "system_config", value) + + @_builtins.property + @pulumi.getter + def vendors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + return pulumi.get(self, "vendors") + + @vendors.setter + def vendors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vendors", value) + + +@pulumi.input_type +class _CheckConfigState: + def __init__(__self__, *, + configure: Optional[pulumi.Input[_builtins.str]] = None, + cycle_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + enable_add_check: Optional[pulumi.Input[_builtins.bool]] = None, + enable_auto_check: Optional[pulumi.Input[_builtins.bool]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, + selected_checks: Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, + system_config: Optional[pulumi.Input[_builtins.bool]] = None, + vendors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + Input properties used for looking up and filtering CheckConfig resources. + :param pulumi.Input[_builtins.str] configure: The configuration of the check item. Valid value: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] cycle_days: Cycle detection time. + :param pulumi.Input[_builtins.bool] enable_add_check: Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.bool] enable_auto_check: Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.int] end_time: Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + :param pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]] selected_checks: The check items selected in the policy. See `selected_checks` below. + :param pulumi.Input[_builtins.int] start_time: The start time of the check. The value specifies a point in time in a day. + :param pulumi.Input[_builtins.bool] system_config: Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + if configure is not None: + pulumi.set(__self__, "configure", configure) + if cycle_days is not None: + pulumi.set(__self__, "cycle_days", cycle_days) + if enable_add_check is not None: + pulumi.set(__self__, "enable_add_check", enable_add_check) + if enable_auto_check is not None: + pulumi.set(__self__, "enable_auto_check", enable_auto_check) + if end_time is not None: + pulumi.set(__self__, "end_time", end_time) + if selected_checks is not None: + pulumi.set(__self__, "selected_checks", selected_checks) + if start_time is not None: + pulumi.set(__self__, "start_time", start_time) + if system_config is not None: + pulumi.set(__self__, "system_config", system_config) + if vendors is not None: + pulumi.set(__self__, "vendors", vendors) + + @_builtins.property + @pulumi.getter + def configure(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The configuration of the check item. Valid value: + """ + return pulumi.get(self, "configure") + + @configure.setter + def configure(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "configure", value) + + @_builtins.property + @pulumi.getter(name="cycleDays") + def cycle_days(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]: + """ + Cycle detection time. + """ + return pulumi.get(self, "cycle_days") + + @cycle_days.setter + def cycle_days(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]]): + pulumi.set(self, "cycle_days", value) + + @_builtins.property + @pulumi.getter(name="enableAddCheck") + def enable_add_check(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_add_check") + + @enable_add_check.setter + def enable_add_check(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_add_check", value) + + @_builtins.property + @pulumi.getter(name="enableAutoCheck") + def enable_auto_check(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_auto_check") + + @enable_auto_check.setter + def enable_auto_check(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "enable_auto_check", value) + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "end_time", value) + + @_builtins.property + @pulumi.getter(name="selectedChecks") + def selected_checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]]: + """ + The check items selected in the policy. See `selected_checks` below. + """ + return pulumi.get(self, "selected_checks") + + @selected_checks.setter + def selected_checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CheckConfigSelectedCheckArgs']]]]): + pulumi.set(self, "selected_checks", value) + + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The start time of the check. The value specifies a point in time in a day. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "start_time", value) + + @_builtins.property + @pulumi.getter(name="systemConfig") + def system_config(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + return pulumi.get(self, "system_config") + + @system_config.setter + def system_config(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "system_config", value) + + @_builtins.property + @pulumi.getter + def vendors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + return pulumi.get(self, "vendors") + + @vendors.setter + def vendors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "vendors", value) + + +@pulumi.type_token("alicloud:threatdetection/checkConfig:CheckConfig") +class CheckConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + configure: Optional[pulumi.Input[_builtins.str]] = None, + cycle_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + enable_add_check: Optional[pulumi.Input[_builtins.bool]] = None, + enable_auto_check: Optional[pulumi.Input[_builtins.bool]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, + selected_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CheckConfigSelectedCheckArgs', 'CheckConfigSelectedCheckArgsDict']]]]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, + system_config: Optional[pulumi.Input[_builtins.bool]] = None, + vendors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + __props__=None): + """ + Provides a Threat Detection Check Config resource. + + CSPM Risk Overview Policy Management. + + For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). + + > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.CheckConfig("default", + end_time=18, + enable_auto_check=True, + vendors=["ALIYUN"], + cycle_days=[ + 7, + 1, + 2, + ], + enable_add_check=True, + start_time=12, + configure="not", + system_config=False, + selected_checks=[{ + "check_id": 370, + "section_id": 515, + }]) + ``` + + ## Import + + Threat Detection Check Config can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] configure: The configuration of the check item. Valid value: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] cycle_days: Cycle detection time. + :param pulumi.Input[_builtins.bool] enable_add_check: Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.bool] enable_auto_check: Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.int] end_time: Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + :param pulumi.Input[Sequence[pulumi.Input[Union['CheckConfigSelectedCheckArgs', 'CheckConfigSelectedCheckArgsDict']]]] selected_checks: The check items selected in the policy. See `selected_checks` below. + :param pulumi.Input[_builtins.int] start_time: The start time of the check. The value specifies a point in time in a day. + :param pulumi.Input[_builtins.bool] system_config: Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[CheckConfigArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Threat Detection Check Config resource. + + CSPM Risk Overview Policy Management. + + For information about Threat Detection Check Config and how to use it, see [What is Check Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ChangeCheckConfig). + + > **NOTE:** This is a singleton resource. By default, the configuration will be cleared when it is created. + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + Basic Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.CheckConfig("default", + end_time=18, + enable_auto_check=True, + vendors=["ALIYUN"], + cycle_days=[ + 7, + 1, + 2, + ], + enable_add_check=True, + start_time=12, + configure="not", + system_config=False, + selected_checks=[{ + "check_id": 370, + "section_id": 515, + }]) + ``` + + ## Import + + Threat Detection Check Config can be imported using the id, e.g. + + ```sh + $ pulumi import alicloud:threatdetection/checkConfig:CheckConfig example + ``` + + :param str resource_name: The name of the resource. + :param CheckConfigArgs 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(CheckConfigArgs, 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, + configure: Optional[pulumi.Input[_builtins.str]] = None, + cycle_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + enable_add_check: Optional[pulumi.Input[_builtins.bool]] = None, + enable_auto_check: Optional[pulumi.Input[_builtins.bool]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, + selected_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CheckConfigSelectedCheckArgs', 'CheckConfigSelectedCheckArgsDict']]]]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, + system_config: Optional[pulumi.Input[_builtins.bool]] = None, + vendors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.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__ = CheckConfigArgs.__new__(CheckConfigArgs) + + __props__.__dict__["configure"] = configure + __props__.__dict__["cycle_days"] = cycle_days + __props__.__dict__["enable_add_check"] = enable_add_check + __props__.__dict__["enable_auto_check"] = enable_auto_check + __props__.__dict__["end_time"] = end_time + __props__.__dict__["selected_checks"] = selected_checks + __props__.__dict__["start_time"] = start_time + __props__.__dict__["system_config"] = system_config + __props__.__dict__["vendors"] = vendors + super(CheckConfig, __self__).__init__( + 'alicloud:threatdetection/checkConfig:CheckConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + configure: Optional[pulumi.Input[_builtins.str]] = None, + cycle_days: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]] = None, + enable_add_check: Optional[pulumi.Input[_builtins.bool]] = None, + enable_auto_check: Optional[pulumi.Input[_builtins.bool]] = None, + end_time: Optional[pulumi.Input[_builtins.int]] = None, + selected_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CheckConfigSelectedCheckArgs', 'CheckConfigSelectedCheckArgsDict']]]]] = None, + start_time: Optional[pulumi.Input[_builtins.int]] = None, + system_config: Optional[pulumi.Input[_builtins.bool]] = None, + vendors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'CheckConfig': + """ + Get an existing CheckConfig 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[_builtins.str] configure: The configuration of the check item. Valid value: + :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] cycle_days: Cycle detection time. + :param pulumi.Input[_builtins.bool] enable_add_check: Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.bool] enable_auto_check: Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + :param pulumi.Input[_builtins.int] end_time: Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + :param pulumi.Input[Sequence[pulumi.Input[Union['CheckConfigSelectedCheckArgs', 'CheckConfigSelectedCheckArgsDict']]]] selected_checks: The check items selected in the policy. See `selected_checks` below. + :param pulumi.Input[_builtins.int] start_time: The start time of the check. The value specifies a point in time in a day. + :param pulumi.Input[_builtins.bool] system_config: Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CheckConfigState.__new__(_CheckConfigState) + + __props__.__dict__["configure"] = configure + __props__.__dict__["cycle_days"] = cycle_days + __props__.__dict__["enable_add_check"] = enable_add_check + __props__.__dict__["enable_auto_check"] = enable_auto_check + __props__.__dict__["end_time"] = end_time + __props__.__dict__["selected_checks"] = selected_checks + __props__.__dict__["start_time"] = start_time + __props__.__dict__["system_config"] = system_config + __props__.__dict__["vendors"] = vendors + return CheckConfig(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def configure(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The configuration of the check item. Valid value: + """ + return pulumi.get(self, "configure") + + @_builtins.property + @pulumi.getter(name="cycleDays") + def cycle_days(self) -> pulumi.Output[Optional[Sequence[_builtins.int]]]: + """ + Cycle detection time. + """ + return pulumi.get(self, "cycle_days") + + @_builtins.property + @pulumi.getter(name="enableAddCheck") + def enable_add_check(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether to check by default when there are new check items in the selected regulation. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_add_check") + + @_builtins.property + @pulumi.getter(name="enableAutoCheck") + def enable_auto_check(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Whether automatic cycle detection is enabled. Values available: + - **true:** On + - **false:** off + """ + return pulumi.get(self, "enable_auto_check") + + @_builtins.property + @pulumi.getter(name="endTime") + def end_time(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Check the end time of the time period, which indicates the time of day. The start time and end time of the query can only be selected in the following time range. + - **0~6** When the start time is 0, the end time must be set to 6 o'clock on the current day. + - **6~12** When the start time is 6, the end time needs to be set to 12:00 on the current day. + - **12~18** When the start time is 12, the end time needs to be set to 18 o'clock on the current day. + - **18~24** When the start time is 18, the end time needs to be set to 24 hours of the current day. + """ + return pulumi.get(self, "end_time") + + @_builtins.property + @pulumi.getter(name="selectedChecks") + def selected_checks(self) -> pulumi.Output[Optional[Sequence['outputs.CheckConfigSelectedCheck']]]: + """ + The check items selected in the policy. See `selected_checks` below. + """ + return pulumi.get(self, "selected_checks") + + @_builtins.property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The start time of the check. The value specifies a point in time in a day. + """ + return pulumi.get(self, "start_time") + + @_builtins.property + @pulumi.getter(name="systemConfig") + def system_config(self) -> pulumi.Output[Optional[_builtins.bool]]: + """ + Specifies whether to use the configuration automatically generated by the system. Valid values: + """ + return pulumi.get(self, "system_config") + + @_builtins.property + @pulumi.getter + def vendors(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + return pulumi.get(self, "vendors") + diff --git a/sdk/python/pulumi_alicloud/threatdetection/client_file_protect.py b/sdk/python/pulumi_alicloud/threatdetection/client_file_protect.py index e24a38f9c6..2a26d9fd79 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/client_file_protect.py +++ b/sdk/python/pulumi_alicloud/threatdetection/client_file_protect.py @@ -328,6 +328,8 @@ def __init__(__self__, rule_name="rule_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Client File Protect can be imported using the id, e.g. @@ -383,6 +385,8 @@ def __init__(__self__, rule_name="rule_example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Client File Protect can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/client_user_define_rule.py b/sdk/python/pulumi_alicloud/threatdetection/client_user_define_rule.py index e026c41dab..d17d15b0a0 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/client_user_define_rule.py +++ b/sdk/python/pulumi_alicloud/threatdetection/client_user_define_rule.py @@ -626,6 +626,8 @@ def __init__(__self__, registry_key="123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Client User Define Rule can be imported using the id, e.g. @@ -702,6 +704,8 @@ def __init__(__self__, registry_key="123") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Client User Define Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/cycle_task.py b/sdk/python/pulumi_alicloud/threatdetection/cycle_task.py index 25174c1364..3d2a2a9bee 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/cycle_task.py +++ b/sdk/python/pulumi_alicloud/threatdetection/cycle_task.py @@ -433,6 +433,8 @@ def __init__(__self__, enable=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Cycle Task can be imported using the id, e.g. @@ -514,6 +516,8 @@ def __init__(__self__, enable=1) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Cycle Task can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/get_check_item_configs.py b/sdk/python/pulumi_alicloud/threatdetection/get_check_item_configs.py new file mode 100644 index 0000000000..cf8ab51bcc --- /dev/null +++ b/sdk/python/pulumi_alicloud/threatdetection/get_check_item_configs.py @@ -0,0 +1,218 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetCheckItemConfigsResult', + 'AwaitableGetCheckItemConfigsResult', + 'get_check_item_configs', + 'get_check_item_configs_output', +] + +@pulumi.output_type +class GetCheckItemConfigsResult: + """ + A collection of values returned by getCheckItemConfigs. + """ + def __init__(__self__, configs=None, id=None, ids=None, lang=None, output_file=None, page_number=None, page_size=None, task_sources=None): + if configs and not isinstance(configs, list): + raise TypeError("Expected argument 'configs' to be a list") + pulumi.set(__self__, "configs", configs) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ids and not isinstance(ids, list): + raise TypeError("Expected argument 'ids' to be a list") + pulumi.set(__self__, "ids", ids) + if lang and not isinstance(lang, str): + raise TypeError("Expected argument 'lang' to be a str") + pulumi.set(__self__, "lang", lang) + if output_file and not isinstance(output_file, str): + raise TypeError("Expected argument 'output_file' to be a str") + pulumi.set(__self__, "output_file", output_file) + if page_number and not isinstance(page_number, int): + raise TypeError("Expected argument 'page_number' to be a int") + pulumi.set(__self__, "page_number", page_number) + if page_size and not isinstance(page_size, int): + raise TypeError("Expected argument 'page_size' to be a int") + pulumi.set(__self__, "page_size", page_size) + if task_sources and not isinstance(task_sources, list): + raise TypeError("Expected argument 'task_sources' to be a list") + pulumi.set(__self__, "task_sources", task_sources) + + @_builtins.property + @pulumi.getter + def configs(self) -> Sequence['outputs.GetCheckItemConfigsConfigResult']: + """ + A list of Check Item Config Entries. Each element contains the following attributes: + """ + return pulumi.get(self, "configs") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def ids(self) -> Sequence[_builtins.str]: + """ + A list of Check Item Config IDs. + """ + return pulumi.get(self, "ids") + + @_builtins.property + @pulumi.getter + def lang(self) -> Optional[_builtins.str]: + return pulumi.get(self, "lang") + + @_builtins.property + @pulumi.getter(name="outputFile") + def output_file(self) -> Optional[_builtins.str]: + return pulumi.get(self, "output_file") + + @_builtins.property + @pulumi.getter(name="pageNumber") + def page_number(self) -> Optional[_builtins.int]: + return pulumi.get(self, "page_number") + + @_builtins.property + @pulumi.getter(name="pageSize") + def page_size(self) -> Optional[_builtins.int]: + return pulumi.get(self, "page_size") + + @_builtins.property + @pulumi.getter(name="taskSources") + def task_sources(self) -> Optional[Sequence[_builtins.str]]: + return pulumi.get(self, "task_sources") + + +class AwaitableGetCheckItemConfigsResult(GetCheckItemConfigsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCheckItemConfigsResult( + configs=self.configs, + id=self.id, + ids=self.ids, + lang=self.lang, + output_file=self.output_file, + page_number=self.page_number, + page_size=self.page_size, + task_sources=self.task_sources) + + +def get_check_item_configs(ids: Optional[Sequence[_builtins.str]] = None, + lang: Optional[_builtins.str] = None, + output_file: Optional[_builtins.str] = None, + page_number: Optional[_builtins.int] = None, + page_size: Optional[_builtins.int] = None, + task_sources: Optional[Sequence[_builtins.str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCheckItemConfigsResult: + """ + This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.get_check_item_configs() + pulumi.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default.configs[0].check_id) + ``` + + + :param Sequence[_builtins.str] ids: A list of Check Item Config IDs. + :param _builtins.str lang: The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). + :param _builtins.int page_number: Current page number. + :param _builtins.int page_size: Number of records per page. + :param Sequence[_builtins.str] task_sources: List of task sources. + """ + __args__ = dict() + __args__['ids'] = ids + __args__['lang'] = lang + __args__['outputFile'] = output_file + __args__['pageNumber'] = page_number + __args__['pageSize'] = page_size + __args__['taskSources'] = task_sources + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs', __args__, opts=opts, typ=GetCheckItemConfigsResult).value + + return AwaitableGetCheckItemConfigsResult( + configs=pulumi.get(__ret__, 'configs'), + id=pulumi.get(__ret__, 'id'), + ids=pulumi.get(__ret__, 'ids'), + lang=pulumi.get(__ret__, 'lang'), + output_file=pulumi.get(__ret__, 'output_file'), + page_number=pulumi.get(__ret__, 'page_number'), + page_size=pulumi.get(__ret__, 'page_size'), + task_sources=pulumi.get(__ret__, 'task_sources')) +def get_check_item_configs_output(ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None, + lang: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + output_file: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + page_number: Optional[pulumi.Input[Optional[_builtins.int]]] = None, + page_size: Optional[pulumi.Input[Optional[_builtins.int]]] = None, + task_sources: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCheckItemConfigsResult]: + """ + This data source provides Threat Detection Check Item Config available to the user.[What is Check Item Config](https://next.api.alibabacloud.com/document/Sas/2018-12-03/ListCheckItem) + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.get_check_item_configs() + pulumi.export("alicloudThreatDetectionCheckItemConfigExampleCheckId", default.configs[0].check_id) + ``` + + + :param Sequence[_builtins.str] ids: A list of Check Item Config IDs. + :param _builtins.str lang: The language of the content within the request and response. Default value: **zh**. Valid value:* **zh**: Chinese* **en**: English + :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). + :param _builtins.int page_number: Current page number. + :param _builtins.int page_size: Number of records per page. + :param Sequence[_builtins.str] task_sources: List of task sources. + """ + __args__ = dict() + __args__['ids'] = ids + __args__['lang'] = lang + __args__['outputFile'] = output_file + __args__['pageNumber'] = page_number + __args__['pageSize'] = page_size + __args__['taskSources'] = task_sources + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('alicloud:threatdetection/getCheckItemConfigs:getCheckItemConfigs', __args__, opts=opts, typ=GetCheckItemConfigsResult) + return __ret__.apply(lambda __response__: GetCheckItemConfigsResult( + configs=pulumi.get(__response__, 'configs'), + id=pulumi.get(__response__, 'id'), + ids=pulumi.get(__response__, 'ids'), + lang=pulumi.get(__response__, 'lang'), + output_file=pulumi.get(__response__, 'output_file'), + page_number=pulumi.get(__response__, 'page_number'), + page_size=pulumi.get(__response__, 'page_size'), + task_sources=pulumi.get(__response__, 'task_sources'))) diff --git a/sdk/python/pulumi_alicloud/threatdetection/get_check_structures.py b/sdk/python/pulumi_alicloud/threatdetection/get_check_structures.py new file mode 100644 index 0000000000..b1b98df7cf --- /dev/null +++ b/sdk/python/pulumi_alicloud/threatdetection/get_check_structures.py @@ -0,0 +1,201 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetCheckStructuresResult', + 'AwaitableGetCheckStructuresResult', + 'get_check_structures', + 'get_check_structures_output', +] + +@pulumi.output_type +class GetCheckStructuresResult: + """ + A collection of values returned by getCheckStructures. + """ + def __init__(__self__, current_page=None, id=None, ids=None, lang=None, output_file=None, structures=None, task_sources=None): + if current_page and not isinstance(current_page, int): + raise TypeError("Expected argument 'current_page' to be a int") + pulumi.set(__self__, "current_page", current_page) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ids and not isinstance(ids, list): + raise TypeError("Expected argument 'ids' to be a list") + pulumi.set(__self__, "ids", ids) + if lang and not isinstance(lang, str): + raise TypeError("Expected argument 'lang' to be a str") + pulumi.set(__self__, "lang", lang) + if output_file and not isinstance(output_file, str): + raise TypeError("Expected argument 'output_file' to be a str") + pulumi.set(__self__, "output_file", output_file) + if structures and not isinstance(structures, list): + raise TypeError("Expected argument 'structures' to be a list") + pulumi.set(__self__, "structures", structures) + if task_sources and not isinstance(task_sources, list): + raise TypeError("Expected argument 'task_sources' to be a list") + pulumi.set(__self__, "task_sources", task_sources) + + @_builtins.property + @pulumi.getter(name="currentPage") + def current_page(self) -> Optional[_builtins.int]: + return pulumi.get(self, "current_page") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def ids(self) -> Sequence[_builtins.str]: + """ + A list of Check Structure IDs. + """ + return pulumi.get(self, "ids") + + @_builtins.property + @pulumi.getter + def lang(self) -> Optional[_builtins.str]: + return pulumi.get(self, "lang") + + @_builtins.property + @pulumi.getter(name="outputFile") + def output_file(self) -> Optional[_builtins.str]: + return pulumi.get(self, "output_file") + + @_builtins.property + @pulumi.getter + def structures(self) -> Sequence['outputs.GetCheckStructuresStructureResult']: + """ + A list of Check Structure Entries. Each element contains the following attributes: + """ + return pulumi.get(self, "structures") + + @_builtins.property + @pulumi.getter(name="taskSources") + def task_sources(self) -> Optional[Sequence[_builtins.str]]: + return pulumi.get(self, "task_sources") + + +class AwaitableGetCheckStructuresResult(GetCheckStructuresResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCheckStructuresResult( + current_page=self.current_page, + id=self.id, + ids=self.ids, + lang=self.lang, + output_file=self.output_file, + structures=self.structures, + task_sources=self.task_sources) + + +def get_check_structures(current_page: Optional[_builtins.int] = None, + ids: Optional[Sequence[_builtins.str]] = None, + lang: Optional[_builtins.str] = None, + output_file: Optional[_builtins.str] = None, + task_sources: Optional[Sequence[_builtins.str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCheckStructuresResult: + """ + This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.get_check_structures() + pulumi.export("alicloudThreatDetectionCheckStructureExampleStandardType", default.structures[0].standard_type) + ``` + + + :param _builtins.int current_page: The page number. + :param Sequence[_builtins.str] ids: A list of Check Structure IDs. + :param _builtins.str lang: The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). + :param Sequence[_builtins.str] task_sources: List of task sources. + """ + __args__ = dict() + __args__['currentPage'] = current_page + __args__['ids'] = ids + __args__['lang'] = lang + __args__['outputFile'] = output_file + __args__['taskSources'] = task_sources + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('alicloud:threatdetection/getCheckStructures:getCheckStructures', __args__, opts=opts, typ=GetCheckStructuresResult).value + + return AwaitableGetCheckStructuresResult( + current_page=pulumi.get(__ret__, 'current_page'), + id=pulumi.get(__ret__, 'id'), + ids=pulumi.get(__ret__, 'ids'), + lang=pulumi.get(__ret__, 'lang'), + output_file=pulumi.get(__ret__, 'output_file'), + structures=pulumi.get(__ret__, 'structures'), + task_sources=pulumi.get(__ret__, 'task_sources')) +def get_check_structures_output(current_page: Optional[pulumi.Input[Optional[_builtins.int]]] = None, + ids: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None, + lang: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + output_file: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + task_sources: Optional[pulumi.Input[Optional[Sequence[_builtins.str]]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCheckStructuresResult]: + """ + This data source provides Threat Detection Check Structure available to the user.[What is Check Structure](https://next.api.alibabacloud.com/document/Sas/2018-12-03/GetCheckStructure) + + > **NOTE:** Available since v1.267.0. + + ## Example Usage + + ```python + import pulumi + import pulumi_alicloud as alicloud + + default = alicloud.threatdetection.get_check_structures() + pulumi.export("alicloudThreatDetectionCheckStructureExampleStandardType", default.structures[0].standard_type) + ``` + + + :param _builtins.int current_page: The page number. + :param Sequence[_builtins.str] ids: A list of Check Structure IDs. + :param _builtins.str lang: The language of the content within the request and response. Default value: zh. Valid values:- **zh**: Chinese- **en**: English + :param _builtins.str output_file: File name where to save data source results (after running `pulumi preview`). + :param Sequence[_builtins.str] task_sources: List of task sources. + """ + __args__ = dict() + __args__['currentPage'] = current_page + __args__['ids'] = ids + __args__['lang'] = lang + __args__['outputFile'] = output_file + __args__['taskSources'] = task_sources + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('alicloud:threatdetection/getCheckStructures:getCheckStructures', __args__, opts=opts, typ=GetCheckStructuresResult) + return __ret__.apply(lambda __response__: GetCheckStructuresResult( + current_page=pulumi.get(__response__, 'current_page'), + id=pulumi.get(__response__, 'id'), + ids=pulumi.get(__response__, 'ids'), + lang=pulumi.get(__response__, 'lang'), + output_file=pulumi.get(__response__, 'output_file'), + structures=pulumi.get(__response__, 'structures'), + task_sources=pulumi.get(__response__, 'task_sources'))) diff --git a/sdk/python/pulumi_alicloud/threatdetection/honey_pot.py b/sdk/python/pulumi_alicloud/threatdetection/honey_pot.py index 42134deaa1..5e80b9ff92 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/honey_pot.py +++ b/sdk/python/pulumi_alicloud/threatdetection/honey_pot.py @@ -262,6 +262,8 @@ def __init__(__self__, node_id=default_honeypot_node.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honey Pot can be imported using the id, e.g. @@ -314,6 +316,8 @@ def __init__(__self__, node_id=default_honeypot_node.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honey Pot can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/honeypot_node.py b/sdk/python/pulumi_alicloud/threatdetection/honeypot_node.py index d027c44fea..c087a43137 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/honeypot_node.py +++ b/sdk/python/pulumi_alicloud/threatdetection/honeypot_node.py @@ -226,6 +226,8 @@ def __init__(__self__, security_group_probe_ip_lists=["0.0.0.0/0"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Node can be imported using the id, e.g. @@ -272,6 +274,8 @@ def __init__(__self__, security_group_probe_ip_lists=["0.0.0.0/0"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Node can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/honeypot_preset.py b/sdk/python/pulumi_alicloud/threatdetection/honeypot_preset.py index c4cb657784..50ef65a477 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/honeypot_preset.py +++ b/sdk/python/pulumi_alicloud/threatdetection/honeypot_preset.py @@ -220,6 +220,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Preset can be imported using the id, e.g. @@ -276,6 +278,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Preset can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/honeypot_probe.py b/sdk/python/pulumi_alicloud/threatdetection/honeypot_probe.py index 6a700dd03c..c322e86f3b 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/honeypot_probe.py +++ b/sdk/python/pulumi_alicloud/threatdetection/honeypot_probe.py @@ -464,6 +464,8 @@ def __init__(__self__, arp=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Probe can be imported using the id, e.g. @@ -523,6 +525,8 @@ def __init__(__self__, arp=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Honeypot Probe can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/image_event_operation.py b/sdk/python/pulumi_alicloud/threatdetection/image_event_operation.py index 01091429bf..07df5e8ba1 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/image_event_operation.py +++ b/sdk/python/pulumi_alicloud/threatdetection/image_event_operation.py @@ -341,6 +341,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Image Event Operation can be imported using the id, e.g. @@ -407,6 +409,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Image Event Operation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/malicious_file_whitelist_config.py b/sdk/python/pulumi_alicloud/threatdetection/malicious_file_whitelist_config.py index 37e3c2d590..4735e72854 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/malicious_file_whitelist_config.py +++ b/sdk/python/pulumi_alicloud/threatdetection/malicious_file_whitelist_config.py @@ -319,6 +319,8 @@ def __init__(__self__, field_value="sadfas") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. @@ -373,6 +375,8 @@ def __init__(__self__, field_value="sadfas") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Malicious File Whitelist Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/oss_scan_config.py b/sdk/python/pulumi_alicloud/threatdetection/oss_scan_config.py index 2f60f899bc..1d2a4a404f 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/oss_scan_config.py +++ b/sdk/python/pulumi_alicloud/threatdetection/oss_scan_config.py @@ -529,6 +529,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Oss Scan Config can be imported using the id, e.g. @@ -626,6 +628,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Oss Scan Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/outputs.py b/sdk/python/pulumi_alicloud/threatdetection/outputs.py index 09aaa85e29..2f06a8498c 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/outputs.py +++ b/sdk/python/pulumi_alicloud/threatdetection/outputs.py @@ -18,6 +18,7 @@ __all__ = [ 'AntiBruteForceRuleProtocolType', 'AttackPathSensitiveAssetConfigAttackPathAssetList', + 'CheckConfigSelectedCheck', 'HoneypotPresetMeta', 'HoneypotProbeHoneypotBindList', 'HoneypotProbeHoneypotBindListBindPortList', @@ -26,6 +27,13 @@ 'GetAssetsAssetResult', 'GetBackupPoliciesPolicyResult', 'GetBaselineStrategiesStrategyResult', + 'GetCheckItemConfigsConfigResult', + 'GetCheckItemConfigsConfigCustomConfigResult', + 'GetCheckItemConfigsConfigDescriptionResult', + 'GetCheckStructuresStructureResult', + 'GetCheckStructuresStructureStandardResult', + 'GetCheckStructuresStructureStandardRequirementResult', + 'GetCheckStructuresStructureStandardRequirementSectionResult', 'GetHoneyPotsPotResult', 'GetHoneypotImagesImageResult', 'GetHoneypotNodesNodeResult', @@ -184,6 +192,56 @@ def vendor(self) -> _builtins.int: return pulumi.get(self, "vendor") +@pulumi.output_type +class CheckConfigSelectedCheck(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "checkId": + suggest = "check_id" + elif key == "sectionId": + suggest = "section_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CheckConfigSelectedCheck. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CheckConfigSelectedCheck.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CheckConfigSelectedCheck.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + check_id: Optional[_builtins.int] = None, + section_id: Optional[_builtins.int] = None): + """ + :param _builtins.int check_id: The ID of the check item. + :param _builtins.int section_id: The section ID of the check item. + """ + if check_id is not None: + pulumi.set(__self__, "check_id", check_id) + if section_id is not None: + pulumi.set(__self__, "section_id", section_id) + + @_builtins.property + @pulumi.getter(name="checkId") + def check_id(self) -> Optional[_builtins.int]: + """ + The ID of the check item. + """ + return pulumi.get(self, "check_id") + + @_builtins.property + @pulumi.getter(name="sectionId") + def section_id(self) -> Optional[_builtins.int]: + """ + The section ID of the check item. + """ + return pulumi.get(self, "section_id") + + @pulumi.output_type class HoneypotPresetMeta(dict): @staticmethod @@ -876,6 +934,385 @@ def target_type(self) -> _builtins.str: return pulumi.get(self, "target_type") +@pulumi.output_type +class GetCheckItemConfigsConfigResult(dict): + def __init__(__self__, *, + check_id: _builtins.int, + check_show_name: _builtins.str, + check_type: _builtins.str, + custom_configs: Sequence['outputs.GetCheckItemConfigsConfigCustomConfigResult'], + description: 'outputs.GetCheckItemConfigsConfigDescriptionResult', + estimated_count: _builtins.int, + instance_sub_type: _builtins.str, + instance_type: _builtins.str, + risk_level: _builtins.str, + section_ids: Sequence[_builtins.int], + vendor: _builtins.str): + """ + :param _builtins.int check_id: The ID of the check item + :param _builtins.str check_show_name: The name of the check item. + :param _builtins.str check_type: The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + :param Sequence['GetCheckItemConfigsConfigCustomConfigArgs'] custom_configs: The custom configuration items of the check item. + :param 'GetCheckItemConfigsConfigDescriptionArgs' description: The description of the check item. + :param _builtins.int estimated_count: The estimated quota that will be consumed by this check item. + :param _builtins.str instance_sub_type: The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + :param _builtins.str instance_type: The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + :param _builtins.str risk_level: The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + :param Sequence[_builtins.int] section_ids: The IDs of the sections associated with the check items. + :param _builtins.str vendor: The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + """ + pulumi.set(__self__, "check_id", check_id) + pulumi.set(__self__, "check_show_name", check_show_name) + pulumi.set(__self__, "check_type", check_type) + pulumi.set(__self__, "custom_configs", custom_configs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "estimated_count", estimated_count) + pulumi.set(__self__, "instance_sub_type", instance_sub_type) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "risk_level", risk_level) + pulumi.set(__self__, "section_ids", section_ids) + pulumi.set(__self__, "vendor", vendor) + + @_builtins.property + @pulumi.getter(name="checkId") + def check_id(self) -> _builtins.int: + """ + The ID of the check item + """ + return pulumi.get(self, "check_id") + + @_builtins.property + @pulumi.getter(name="checkShowName") + def check_show_name(self) -> _builtins.str: + """ + The name of the check item. + """ + return pulumi.get(self, "check_show_name") + + @_builtins.property + @pulumi.getter(name="checkType") + def check_type(self) -> _builtins.str: + """ + The source type of the Situation Awareness check item. Value:- **CUSTOM**: user-defined- **SYSTEM**: Predefined by the situational awareness platform + """ + return pulumi.get(self, "check_type") + + @_builtins.property + @pulumi.getter(name="customConfigs") + def custom_configs(self) -> Sequence['outputs.GetCheckItemConfigsConfigCustomConfigResult']: + """ + The custom configuration items of the check item. + """ + return pulumi.get(self, "custom_configs") + + @_builtins.property + @pulumi.getter + def description(self) -> 'outputs.GetCheckItemConfigsConfigDescriptionResult': + """ + The description of the check item. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="estimatedCount") + def estimated_count(self) -> _builtins.int: + """ + The estimated quota that will be consumed by this check item. + """ + return pulumi.get(self, "estimated_count") + + @_builtins.property + @pulumi.getter(name="instanceSubType") + def instance_sub_type(self) -> _builtins.str: + """ + The asset subtype of the cloud service. Valid values:* If **InstanceType** is set to **ECS**, this parameter supports the following valid values: * **INSTANCE** * **DISK** * **SECURITY_GROUP*** If **InstanceType** is set to **ACR**, this parameter supports the following valid values: * **REPOSITORY_ENTERPRISE** * **REPOSITORY_PERSON*** If **InstanceType** is set to **RAM**, this parameter supports the following valid values: * **ALIAS** * **USER** * **POLICY** * **GROUP*** If **InstanceType** is set to **WAF**, this parameter supports the following valid value: * **DOMAIN*** If **InstanceType** is set to other values, this parameter supports the following valid values: * **INSTANCE** + """ + return pulumi.get(self, "instance_sub_type") + + @_builtins.property + @pulumi.getter(name="instanceType") + def instance_type(self) -> _builtins.str: + """ + The asset type of the cloud service. Valid values:* **ECS**: Elastic Compute Service (ECS).* **SLB**: Server Load Balancer (SLB).* **RDS**: ApsaraDB RDS.* **MONGODB**: ApsaraDB for MongoDB (MongoDB).* **KVSTORE**: ApsaraDB for Redis (Redis).* **ACR**: Container Registry.* **CSK**: Container Service for Kubernetes (ACK).* **VPC**: Virtual Private Cloud (VPC).* **ACTIONTRAIL**: ActionTrail.* **CDN**: Alibaba Cloud CDN (CDN).* **CAS**: Certificate Management Service (formerly SSL Certificates Service).* **RDC**: Apsara Devops.* **RAM**: Resource Access Management (RAM).* **DDOS**: Anti-DDoS.* **WAF**: Web Application Firewall (WAF).* **OSS**: Object Storage Service (OSS).* **POLARDB**: PolarDB.* **POSTGRESQL**: ApsaraDB RDS for PostgreSQL.* **MSE**: Microservices Engine (MSE).* **NAS**: File Storage NAS (NAS).* **SDDP**: Sensitive Data Discovery and Protection (SDDP).* **EIP**: Elastic IP Address (EIP). + """ + return pulumi.get(self, "instance_type") + + @_builtins.property + @pulumi.getter(name="riskLevel") + def risk_level(self) -> _builtins.str: + """ + The risk level of the check item. Valid values:* **HIGH*** **MEDIUM*** **LOW** + """ + return pulumi.get(self, "risk_level") + + @_builtins.property + @pulumi.getter(name="sectionIds") + def section_ids(self) -> Sequence[_builtins.int]: + """ + The IDs of the sections associated with the check items. + """ + return pulumi.get(self, "section_ids") + + @_builtins.property + @pulumi.getter + def vendor(self) -> _builtins.str: + """ + The type of the cloud asset. Valid values:* **0**: an asset provided by Alibaba Cloud.* **1**: an asset outside Alibaba Cloud.* **2**: an asset in a data center.* **3**, **4**, **5**, and **7**: other cloud asset.* **8**: a simple application server. + """ + return pulumi.get(self, "vendor") + + +@pulumi.output_type +class GetCheckItemConfigsConfigCustomConfigResult(dict): + def __init__(__self__, *, + default_value: _builtins.str, + name: _builtins.str, + show_name: _builtins.str, + type_define: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str default_value: The default value of the custom configuration item. The value is a string. + :param _builtins.str name: The name of the custom configuration item, which is unique in a check item. + :param _builtins.str show_name: The display name of the custom configuration item for internationalization. + :param _builtins.str type_define: The type of the custom configuration item. The value is a JSON string. + :param _builtins.str value: The content of the description for the check item when the Type parameter is text. + """ + pulumi.set(__self__, "default_value", default_value) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "show_name", show_name) + pulumi.set(__self__, "type_define", type_define) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter(name="defaultValue") + def default_value(self) -> _builtins.str: + """ + The default value of the custom configuration item. The value is a string. + """ + return pulumi.get(self, "default_value") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the custom configuration item, which is unique in a check item. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="showName") + def show_name(self) -> _builtins.str: + """ + The display name of the custom configuration item for internationalization. + """ + return pulumi.get(self, "show_name") + + @_builtins.property + @pulumi.getter(name="typeDefine") + def type_define(self) -> _builtins.str: + """ + The type of the custom configuration item. The value is a JSON string. + """ + return pulumi.get(self, "type_define") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + The content of the description for the check item when the Type parameter is text. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetCheckItemConfigsConfigDescriptionResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: The type of the description of the check item. Valid value:* **text**. + :param _builtins.str value: The content of the description for the check item when the Type parameter is text. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The type of the description of the check item. Valid value:* **text**. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + The content of the description for the check item when the Type parameter is text. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetCheckStructuresStructureResult(dict): + def __init__(__self__, *, + standard_type: _builtins.str, + standards: Sequence['outputs.GetCheckStructuresStructureStandardResult']): + """ + :param _builtins.str standard_type: The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + :param Sequence['GetCheckStructuresStructureStandardArgs'] standards: The structure information about the check items of the business type. + """ + pulumi.set(__self__, "standard_type", standard_type) + pulumi.set(__self__, "standards", standards) + + @_builtins.property + @pulumi.getter(name="standardType") + def standard_type(self) -> _builtins.str: + """ + The type of the check item.- **RISK**: security risk.- **IDENTITY_PERMISSION**: Cloud Infrastructure Entitlement Management (CIEM).- **COMPLIANCE**: security compliance. + """ + return pulumi.get(self, "standard_type") + + @_builtins.property + @pulumi.getter + def standards(self) -> Sequence['outputs.GetCheckStructuresStructureStandardResult']: + """ + The structure information about the check items of the business type. + """ + return pulumi.get(self, "standards") + + +@pulumi.output_type +class GetCheckStructuresStructureStandardResult(dict): + def __init__(__self__, *, + id: _builtins.int, + requirements: Sequence['outputs.GetCheckStructuresStructureStandardRequirementResult'], + show_name: _builtins.str, + type: _builtins.str): + """ + :param _builtins.int id: The ID of the section for the check item. + :param Sequence['GetCheckStructuresStructureStandardRequirementArgs'] requirements: The standards of the check items. + :param _builtins.str show_name: The display name of the standard for the check item. + :param _builtins.str type: The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "requirements", requirements) + pulumi.set(__self__, "show_name", show_name) + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.int: + """ + The ID of the section for the check item. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def requirements(self) -> Sequence['outputs.GetCheckStructuresStructureStandardRequirementResult']: + """ + The standards of the check items. + """ + return pulumi.get(self, "requirements") + + @_builtins.property + @pulumi.getter(name="showName") + def show_name(self) -> _builtins.str: + """ + The display name of the standard for the check item. + """ + return pulumi.get(self, "show_name") + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The standard type of the check item. Valid values:- **RISK**: security risk.- **IDENTITY_PERMISSION**: CIEM.- **COMPLIANCE**: security compliance. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetCheckStructuresStructureStandardRequirementResult(dict): + def __init__(__self__, *, + id: _builtins.int, + sections: Sequence['outputs.GetCheckStructuresStructureStandardRequirementSectionResult'], + show_name: _builtins.str, + total_check_count: _builtins.int): + """ + :param _builtins.int id: The ID of the section for the check item. + :param Sequence['GetCheckStructuresStructureStandardRequirementSectionArgs'] sections: The information about the sections of check items. + :param _builtins.str show_name: The display name of the standard for the check item. + :param _builtins.int total_check_count: The total number of check items for the requirement. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "sections", sections) + pulumi.set(__self__, "show_name", show_name) + pulumi.set(__self__, "total_check_count", total_check_count) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.int: + """ + The ID of the section for the check item. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def sections(self) -> Sequence['outputs.GetCheckStructuresStructureStandardRequirementSectionResult']: + """ + The information about the sections of check items. + """ + return pulumi.get(self, "sections") + + @_builtins.property + @pulumi.getter(name="showName") + def show_name(self) -> _builtins.str: + """ + The display name of the standard for the check item. + """ + return pulumi.get(self, "show_name") + + @_builtins.property + @pulumi.getter(name="totalCheckCount") + def total_check_count(self) -> _builtins.int: + """ + The total number of check items for the requirement. + """ + return pulumi.get(self, "total_check_count") + + +@pulumi.output_type +class GetCheckStructuresStructureStandardRequirementSectionResult(dict): + def __init__(__self__, *, + id: _builtins.int, + show_name: _builtins.str): + """ + :param _builtins.int id: The ID of the section for the check item. + :param _builtins.str show_name: The display name of the standard for the check item. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "show_name", show_name) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.int: + """ + The ID of the section for the check item. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="showName") + def show_name(self) -> _builtins.str: + """ + The display name of the standard for the check item. + """ + return pulumi.get(self, "show_name") + + @pulumi.output_type class GetHoneyPotsPotResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_alicloud/threatdetection/sas_trail.py b/sdk/python/pulumi_alicloud/threatdetection/sas_trail.py index 3a878dbb4e..3ac5658bb3 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/sas_trail.py +++ b/sdk/python/pulumi_alicloud/threatdetection/sas_trail.py @@ -96,6 +96,8 @@ def __init__(__self__, default = alicloud.threatdetection.SasTrail("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Sas Trail can be imported using the id, e.g. @@ -135,6 +137,8 @@ def __init__(__self__, default = alicloud.threatdetection.SasTrail("default") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Sas Trail can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/vul_whitelist.py b/sdk/python/pulumi_alicloud/threatdetection/vul_whitelist.py index 1c8da184b3..23111cd5b6 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/vul_whitelist.py +++ b/sdk/python/pulumi_alicloud/threatdetection/vul_whitelist.py @@ -158,6 +158,8 @@ def __init__(__self__, reason="tf-example-reason") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Vul Whitelist can be imported using the id, e.g. @@ -199,6 +201,8 @@ def __init__(__self__, reason="tf-example-reason") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Vul Whitelist can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/threatdetection/web_lock_config.py b/sdk/python/pulumi_alicloud/threatdetection/web_lock_config.py index d1083c7b15..8c6c84be6c 100644 --- a/sdk/python/pulumi_alicloud/threatdetection/web_lock_config.py +++ b/sdk/python/pulumi_alicloud/threatdetection/web_lock_config.py @@ -356,6 +356,8 @@ def __init__(__self__, defence_mode="audit") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Web Lock Config can be imported using the id, e.g. @@ -407,6 +409,8 @@ def __init__(__self__, defence_mode="audit") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Threat Detection Web Lock Config can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/tsdb/instance.py b/sdk/python/pulumi_alicloud/tsdb/instance.py index 587e156a53..1e19f99365 100644 --- a/sdk/python/pulumi_alicloud/tsdb/instance.py +++ b/sdk/python/pulumi_alicloud/tsdb/instance.py @@ -503,6 +503,8 @@ def __init__(__self__, instance_alias="tf-testaccTsdbInstance") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TSDB Instance can be imported using the id, e.g. @@ -586,6 +588,8 @@ def __init__(__self__, instance_alias="tf-testaccTsdbInstance") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import TSDB Instance can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/videosurveillance/system_group.py b/sdk/python/pulumi_alicloud/videosurveillance/system_group.py index 35bad82fc0..d822f3e017 100644 --- a/sdk/python/pulumi_alicloud/videosurveillance/system_group.py +++ b/sdk/python/pulumi_alicloud/videosurveillance/system_group.py @@ -433,6 +433,8 @@ def __init__(__self__, push_domain="your_push_domain") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Video Surveillance System Group can be imported using the id, e.g. @@ -481,6 +483,8 @@ def __init__(__self__, push_domain="your_push_domain") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Video Surveillance System Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vod/domain.py b/sdk/python/pulumi_alicloud/vod/domain.py index 1116f0ea4c..30ec39cf5c 100644 --- a/sdk/python/pulumi_alicloud/vod/domain.py +++ b/sdk/python/pulumi_alicloud/vod/domain.py @@ -422,6 +422,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VOD Domain can be imported using the id, e.g. @@ -480,6 +482,8 @@ def __init__(__self__, }) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VOD Domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vod/editing_project.py b/sdk/python/pulumi_alicloud/vod/editing_project.py index b7fa509065..54449c547c 100644 --- a/sdk/python/pulumi_alicloud/vod/editing_project.py +++ b/sdk/python/pulumi_alicloud/vod/editing_project.py @@ -259,6 +259,8 @@ def __init__(__self__, division=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VOD Editing Project can be imported using the id, e.g. @@ -321,6 +323,8 @@ def __init__(__self__, division=default.regions[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VOD Editing Project can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/bgp_group.py b/sdk/python/pulumi_alicloud/vpc/bgp_group.py index be60e714ee..6b6df06dcc 100644 --- a/sdk/python/pulumi_alicloud/vpc/bgp_group.py +++ b/sdk/python/pulumi_alicloud/vpc/bgp_group.py @@ -458,6 +458,8 @@ def __init__(__self__, is_fake_asn=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Group can be imported using the id, e.g. @@ -532,6 +534,8 @@ def __init__(__self__, is_fake_asn=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/bgp_network.py b/sdk/python/pulumi_alicloud/vpc/bgp_network.py index 2772788693..075c107e63 100644 --- a/sdk/python/pulumi_alicloud/vpc/bgp_network.py +++ b/sdk/python/pulumi_alicloud/vpc/bgp_network.py @@ -191,6 +191,8 @@ def __init__(__self__, router_id=default_virtual_border_router.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Network can be imported using the id, e.g. @@ -250,6 +252,8 @@ def __init__(__self__, router_id=default_virtual_border_router.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Network can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/bgp_peer.py b/sdk/python/pulumi_alicloud/vpc/bgp_peer.py index 643685ae34..1fee5b6c31 100644 --- a/sdk/python/pulumi_alicloud/vpc/bgp_peer.py +++ b/sdk/python/pulumi_alicloud/vpc/bgp_peer.py @@ -284,6 +284,8 @@ def __init__(__self__, peer_ip_address="1.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Peer can be imported using the id, e.g. @@ -355,6 +357,8 @@ def __init__(__self__, peer_ip_address="1.1.1.1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Bgp Peer can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/common_bandwith_package_attachment.py b/sdk/python/pulumi_alicloud/vpc/common_bandwith_package_attachment.py index 128abb5ff1..d6c0019d55 100644 --- a/sdk/python/pulumi_alicloud/vpc/common_bandwith_package_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/common_bandwith_package_attachment.py @@ -272,6 +272,8 @@ def __init__(__self__, ip_type="EIP") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. @@ -325,6 +327,8 @@ def __init__(__self__, ip_type="EIP") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import EIP Bandwidth Plan (CBWP) Common Bandwidth Package Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/dhcp_options_set.py b/sdk/python/pulumi_alicloud/vpc/dhcp_options_set.py index 9fb7fe4987..abe2c8607c 100644 --- a/sdk/python/pulumi_alicloud/vpc/dhcp_options_set.py +++ b/sdk/python/pulumi_alicloud/vpc/dhcp_options_set.py @@ -470,6 +470,8 @@ def __init__(__self__, domain_name_servers="100.100.2.136") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Dhcp Options Set can be imported using the id, e.g. @@ -535,6 +537,8 @@ def __init__(__self__, domain_name_servers="100.100.2.136") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Dhcp Options Set can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/dhcp_options_set_attachment.py b/sdk/python/pulumi_alicloud/vpc/dhcp_options_set_attachment.py index 62835bc151..d292996237 100644 --- a/sdk/python/pulumi_alicloud/vpc/dhcp_options_set_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/dhcp_options_set_attachment.py @@ -184,6 +184,8 @@ def __init__(__self__, dhcp_options_set_id=example_dhcp_options_set.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Dhcp Options Set Attachment can be imported using the id, e.g. @@ -236,6 +238,8 @@ def __init__(__self__, dhcp_options_set_id=example_dhcp_options_set.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Dhcp Options Set Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/flow_log.py b/sdk/python/pulumi_alicloud/vpc/flow_log.py index 6605016c96..3ce70b8446 100644 --- a/sdk/python/pulumi_alicloud/vpc/flow_log.py +++ b/sdk/python/pulumi_alicloud/vpc/flow_log.py @@ -614,6 +614,8 @@ def __init__(__self__, traffic_type="All") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Flow Log can be imported using the id, e.g. @@ -707,6 +709,8 @@ def __init__(__self__, traffic_type="All") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Flow Log can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/forward_entry.py b/sdk/python/pulumi_alicloud/vpc/forward_entry.py index e823cd3a7d..71761892c8 100644 --- a/sdk/python/pulumi_alicloud/vpc/forward_entry.py +++ b/sdk/python/pulumi_alicloud/vpc/forward_entry.py @@ -423,6 +423,8 @@ def __init__(__self__, internal_port="8080") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Forward Entry can be imported using the id, e.g. @@ -496,6 +498,8 @@ def __init__(__self__, internal_port="8080") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Forward Entry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/gateway_endpoint.py b/sdk/python/pulumi_alicloud/vpc/gateway_endpoint.py index a888d166d9..b1dc7ae5d8 100644 --- a/sdk/python/pulumi_alicloud/vpc/gateway_endpoint.py +++ b/sdk/python/pulumi_alicloud/vpc/gateway_endpoint.py @@ -383,6 +383,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Endpoint can be imported using the id, e.g. @@ -455,6 +457,8 @@ def __init__(__self__, \"\"\") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Endpoint can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py b/sdk/python/pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py index 1ca017689e..973dc1c298 100644 --- a/sdk/python/pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py @@ -162,6 +162,8 @@ def __init__(__self__, route_table_id=default_rt.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. @@ -224,6 +226,8 @@ def __init__(__self__, route_table_id=default_rt.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/gateway_route_table_attachment.py b/sdk/python/pulumi_alicloud/vpc/gateway_route_table_attachment.py index 35b4c84607..8c2b836c5b 100644 --- a/sdk/python/pulumi_alicloud/vpc/gateway_route_table_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/gateway_route_table_attachment.py @@ -212,6 +212,8 @@ def __init__(__self__, route_table_id=example_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Route Table Attachment can be imported using the id, e.g. @@ -264,6 +266,8 @@ def __init__(__self__, route_table_id=example_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Gateway Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ha_vip.py b/sdk/python/pulumi_alicloud/vpc/ha_vip.py index 0a61524011..b077322a8d 100644 --- a/sdk/python/pulumi_alicloud/vpc/ha_vip.py +++ b/sdk/python/pulumi_alicloud/vpc/ha_vip.py @@ -436,6 +436,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The havip can be imported using the id, e.g. @@ -487,6 +489,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The havip can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ha_vip_attachment.py b/sdk/python/pulumi_alicloud/vpc/ha_vip_attachment.py index dda7e6b007..20a89d74bb 100644 --- a/sdk/python/pulumi_alicloud/vpc/ha_vip_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/ha_vip_attachment.py @@ -285,6 +285,8 @@ def __init__(__self__, instance_id=example_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ha Vip Attachment can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, instance_id=example_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ha Vip Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ha_vipv2.py b/sdk/python/pulumi_alicloud/vpc/ha_vipv2.py index 1a2af44449..79a67ac3ec 100644 --- a/sdk/python/pulumi_alicloud/vpc/ha_vipv2.py +++ b/sdk/python/pulumi_alicloud/vpc/ha_vipv2.py @@ -463,6 +463,8 @@ def __init__(__self__, resource_group_id=default_rg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ha Vip can be imported using the id, e.g. @@ -535,6 +537,8 @@ def __init__(__self__, resource_group_id=default_rg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ha Vip can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam.py index 132a30cb9a..8cd964ba51 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam.py @@ -299,6 +299,8 @@ def __init__(__self__, operating_region_lists=["cn-hangzhou"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam can be imported using the id, e.g. @@ -350,6 +352,8 @@ def __init__(__self__, operating_region_lists=["cn-hangzhou"]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool.py index f1e1702e9d..bac5526ab1 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool.py @@ -575,6 +575,8 @@ def __init__(__self__, ip_version="IPv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool can be imported using the id, e.g. @@ -647,6 +649,8 @@ def __init__(__self__, ip_version="IPv4") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_allocation.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_allocation.py index 030965b73e..8e6fa0a165 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_allocation.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_allocation.py @@ -304,6 +304,8 @@ def __init__(__self__, ipam_pool_id=default_ipam_pool_cidr.ipam_pool_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. @@ -365,6 +367,8 @@ def __init__(__self__, ipam_pool_id=default_ipam_pool_cidr.ipam_pool_id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool Allocation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_cidr.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_cidr.py index f2ffb5f619..cfafd520af 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_cidr.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_pool_cidr.py @@ -158,6 +158,8 @@ def __init__(__self__, ipam_pool_id=default_ipam_pool.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. @@ -210,6 +212,8 @@ def __init__(__self__, ipam_pool_id=default_ipam_pool.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Pool Cidr can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_resource_discovery.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_resource_discovery.py index 0068c053a8..74b34930cd 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_resource_discovery.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_resource_discovery.py @@ -279,6 +279,8 @@ def __init__(__self__, ipam_resource_discovery_name="example_resource_discovery") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. @@ -329,6 +331,8 @@ def __init__(__self__, ipam_resource_discovery_name="example_resource_discovery") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Resource Discovery can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_scope.py b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_scope.py index 3475bffad4..9f09da5a6b 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipam_ipam_scope.py +++ b/sdk/python/pulumi_alicloud/vpc/ipam_ipam_scope.py @@ -335,6 +335,8 @@ def __init__(__self__, ipam_scope_type="private") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Scope can be imported using the id, e.g. @@ -394,6 +396,8 @@ def __init__(__self__, ipam_scope_type="private") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipam Ipam Scope can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv4_cidr_block.py b/sdk/python/pulumi_alicloud/vpc/ipv4_cidr_block.py index 366d0a42cb..913b4ece05 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv4_cidr_block.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv4_cidr_block.py @@ -221,6 +221,8 @@ def __init__(__self__, vpc_id=defaultvpc.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv4 Cidr Block can be imported using the id, e.g. @@ -271,6 +273,8 @@ def __init__(__self__, vpc_id=defaultvpc.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv4 Cidr Block can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv4_gateway.py b/sdk/python/pulumi_alicloud/vpc/ipv4_gateway.py index 7690b2c56e..68db86ae33 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv4_gateway.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv4_gateway.py @@ -398,6 +398,8 @@ def __init__(__self__, vpc_id=default_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv4 Gateway can be imported using the id, e.g. @@ -455,6 +457,8 @@ def __init__(__self__, vpc_id=default_network.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv4 Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv6_address.py b/sdk/python/pulumi_alicloud/vpc/ipv6_address.py index 7e7e12d5e3..661982c393 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv6_address.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv6_address.py @@ -348,6 +348,8 @@ def __init__(__self__, ipv6_address_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Address can be imported using the id, e.g. @@ -413,6 +415,8 @@ def __init__(__self__, ipv6_address_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Address can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv6_egress_rule.py b/sdk/python/pulumi_alicloud/vpc/ipv6_egress_rule.py index 66d94b8380..9da41f3320 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv6_egress_rule.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv6_egress_rule.py @@ -303,6 +303,8 @@ def __init__(__self__, instance_type="Ipv6Address") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Egress Rule can be imported using the id, e.g. @@ -394,6 +396,8 @@ def __init__(__self__, instance_type="Ipv6Address") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Egress Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv6_gateway.py b/sdk/python/pulumi_alicloud/vpc/ipv6_gateway.py index a618f159ec..fb0b844eb1 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv6_gateway.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv6_gateway.py @@ -375,6 +375,8 @@ def __init__(__self__, resource_group_id=default_rg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipv6 Gateway can be imported using the id, e.g. @@ -433,6 +435,8 @@ def __init__(__self__, resource_group_id=default_rg.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Ipv6 Gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/ipv6_internet_bandwidth.py b/sdk/python/pulumi_alicloud/vpc/ipv6_internet_bandwidth.py index f140ab7941..6b16803f1f 100644 --- a/sdk/python/pulumi_alicloud/vpc/ipv6_internet_bandwidth.py +++ b/sdk/python/pulumi_alicloud/vpc/ipv6_internet_bandwidth.py @@ -247,6 +247,8 @@ def __init__(__self__, bandwidth=20) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. @@ -331,6 +333,8 @@ def __init__(__self__, bandwidth=20) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Ipv6 Internet Bandwidth can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/nat_gateway.py b/sdk/python/pulumi_alicloud/vpc/nat_gateway.py index 88ffc3f528..a5cfae6e41 100644 --- a/sdk/python/pulumi_alicloud/vpc/nat_gateway.py +++ b/sdk/python/pulumi_alicloud/vpc/nat_gateway.py @@ -858,6 +858,8 @@ def __init__(__self__, nat_type="Enhanced") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Nat gateway can be imported using the id, e.g. @@ -974,6 +976,8 @@ def __init__(__self__, nat_type="Enhanced") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Nat gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/nat_ip.py b/sdk/python/pulumi_alicloud/vpc/nat_ip.py index 28f799bffe..949c7aa122 100644 --- a/sdk/python/pulumi_alicloud/vpc/nat_ip.py +++ b/sdk/python/pulumi_alicloud/vpc/nat_ip.py @@ -346,6 +346,8 @@ def __init__(__self__, nat_ip_cidr=example_nat_ip_cidr.nat_ip_cidr) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Nat Ip can be imported using the id, e.g. @@ -415,6 +417,8 @@ def __init__(__self__, nat_ip_cidr=example_nat_ip_cidr.nat_ip_cidr) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Nat Ip can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/nat_ip_cidr.py b/sdk/python/pulumi_alicloud/vpc/nat_ip_cidr.py index 5dbc7a48cd..9eec217bc7 100644 --- a/sdk/python/pulumi_alicloud/vpc/nat_ip_cidr.py +++ b/sdk/python/pulumi_alicloud/vpc/nat_ip_cidr.py @@ -257,6 +257,8 @@ def __init__(__self__, nat_ip_cidr="192.168.0.0/16") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Nat Ip Cidr can be imported using the id, e.g. @@ -317,6 +319,8 @@ def __init__(__self__, nat_ip_cidr="192.168.0.0/16") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Nat Ip Cidr can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/network.py b/sdk/python/pulumi_alicloud/vpc/network.py index 45bff26bbe..f4e4258a29 100644 --- a/sdk/python/pulumi_alicloud/vpc/network.py +++ b/sdk/python/pulumi_alicloud/vpc/network.py @@ -1027,6 +1027,8 @@ def __init__(__self__, enable_ipv6=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC VPC can be imported using the id, e.g. @@ -1123,6 +1125,8 @@ def __init__(__self__, enable_ipv6=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC VPC can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/network_acl.py b/sdk/python/pulumi_alicloud/vpc/network_acl.py index 15232e4631..9c58191d4d 100644 --- a/sdk/python/pulumi_alicloud/vpc/network_acl.py +++ b/sdk/python/pulumi_alicloud/vpc/network_acl.py @@ -398,6 +398,8 @@ def __init__(__self__, > **NOTE:** Available since v1.43.0. + > **WARNING:** Do not mix the use of the `resources` field in this resource with the separate `vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + ## Example Usage Basic Usage @@ -445,6 +447,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Network Acl can be imported using the id, e.g. @@ -483,6 +487,8 @@ def __init__(__self__, > **NOTE:** Available since v1.43.0. + > **WARNING:** Do not mix the use of the `resources` field in this resource with the separate `vpc.VpcNetworkAclAttachment` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + ## Example Usage Basic Usage @@ -530,6 +536,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Network Acl can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/network_acl_attachment.py b/sdk/python/pulumi_alicloud/vpc/network_acl_attachment.py index c47090d376..d93286fceb 100644 --- a/sdk/python/pulumi_alicloud/vpc/network_acl_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/network_acl_attachment.py @@ -111,7 +111,9 @@ def __init__(__self__, > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. Note that because this resource conflicts with the `resources` attribute of `vpc.NetworkAcl`, this resource can no be used. - > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. + > **WARNING:** Do not mix the use of this deprecated resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `resources` field in `vpc.NetworkAcl`. + + > **NOTE:** Available since v1.44.0. ## Example Usage @@ -145,6 +147,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] network_acl_id: The id of the network acl, the field can't be changed. @@ -162,7 +166,9 @@ def __init__(__self__, > **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. Note that because this resource conflicts with the `resources` attribute of `vpc.NetworkAcl`, this resource can no be used. - > **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions. + > **WARNING:** Do not mix the use of this deprecated resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. This resource is deprecated and should be replaced with the `resources` field in `vpc.NetworkAcl`. + + > **NOTE:** Available since v1.44.0. ## Example Usage @@ -196,6 +202,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param NetworkAclAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/vpc/network_acl_entries.py b/sdk/python/pulumi_alicloud/vpc/network_acl_entries.py index f232671f51..e0e1021ab6 100644 --- a/sdk/python/pulumi_alicloud/vpc/network_acl_entries.py +++ b/sdk/python/pulumi_alicloud/vpc/network_acl_entries.py @@ -200,6 +200,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAclEntriesEgressArgs', 'NetworkAclEntriesEgressArgsDict']]]] egresses: List of the egress entries of the network acl. The order of the egress entries determines the priority. See `egress` below. @@ -273,6 +275,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + :param str resource_name: The name of the resource. :param NetworkAclEntriesArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_alicloud/vpc/network_interface.py b/sdk/python/pulumi_alicloud/vpc/network_interface.py index 17a6f6e953..a06104ba38 100644 --- a/sdk/python/pulumi_alicloud/vpc/network_interface.py +++ b/sdk/python/pulumi_alicloud/vpc/network_interface.py @@ -767,6 +767,8 @@ def __init__(__self__, private_ips_count=3) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENI can be imported using the id, e.g. @@ -832,6 +834,8 @@ def __init__(__self__, private_ips_count=3) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import ENI can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/peer_connection.py b/sdk/python/pulumi_alicloud/vpc/peer_connection.py index 3c9c69da34..981b8ce50b 100644 --- a/sdk/python/pulumi_alicloud/vpc/peer_connection.py +++ b/sdk/python/pulumi_alicloud/vpc/peer_connection.py @@ -606,6 +606,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Peer Peer Connection can be imported using the id, e.g. @@ -691,6 +693,8 @@ def __init__(__self__, description="terraform-example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Peer Peer Connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/peer_connection_accepter.py b/sdk/python/pulumi_alicloud/vpc/peer_connection_accepter.py index 686136906a..439fb7f8b8 100644 --- a/sdk/python/pulumi_alicloud/vpc/peer_connection_accepter.py +++ b/sdk/python/pulumi_alicloud/vpc/peer_connection_accepter.py @@ -474,6 +474,8 @@ def __init__(__self__, default_peer_connection_accepter = alicloud.vpc.PeerConnectionAccepter("default", instance_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Peer Peer Connection Accepter can be imported using the id, e.g. @@ -547,6 +549,8 @@ def __init__(__self__, default_peer_connection_accepter = alicloud.vpc.PeerConnectionAccepter("default", instance_id=default.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Peer Peer Connection Accepter can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/prefix_list.py b/sdk/python/pulumi_alicloud/vpc/prefix_list.py index fe09ec4d9d..f2c2e3e1b0 100644 --- a/sdk/python/pulumi_alicloud/vpc/prefix_list.py +++ b/sdk/python/pulumi_alicloud/vpc/prefix_list.py @@ -389,6 +389,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Prefix List can be imported using the id, e.g. @@ -450,6 +452,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Prefix List can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool.py b/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool.py index 9b480c977a..45355b6415 100644 --- a/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool.py +++ b/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool.py @@ -397,6 +397,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Public Ip Address Pool can be imported using the id, e.g. @@ -450,6 +452,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Public Ip Address Pool can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool_cidr_block.py b/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool_cidr_block.py index 0961ded62a..a44c8fcd6d 100644 --- a/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool_cidr_block.py +++ b/sdk/python/pulumi_alicloud/vpc/public_ip_address_pool_cidr_block.py @@ -204,6 +204,8 @@ def __init__(__self__, cidr_block="47.118.126.0/25") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. @@ -256,6 +258,8 @@ def __init__(__self__, cidr_block="47.118.126.0/25") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/route_entry.py b/sdk/python/pulumi_alicloud/vpc/route_entry.py index f082d4acb4..adb3269806 100644 --- a/sdk/python/pulumi_alicloud/vpc/route_entry.py +++ b/sdk/python/pulumi_alicloud/vpc/route_entry.py @@ -360,6 +360,8 @@ def __init__(__self__, nexthop_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing vpc module @@ -456,6 +458,8 @@ def __init__(__self__, nexthop_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Module Support You can use to the existing vpc module diff --git a/sdk/python/pulumi_alicloud/vpc/route_table.py b/sdk/python/pulumi_alicloud/vpc/route_table.py index 5e77a3667c..2d63fa1b6c 100644 --- a/sdk/python/pulumi_alicloud/vpc/route_table.py +++ b/sdk/python/pulumi_alicloud/vpc/route_table.py @@ -370,6 +370,8 @@ def __init__(__self__, associate_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Table can be imported using the id, e.g. @@ -427,6 +429,8 @@ def __init__(__self__, associate_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Table can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/route_table_attachment.py b/sdk/python/pulumi_alicloud/vpc/route_table_attachment.py index ed65fd66f1..e1f0420e33 100644 --- a/sdk/python/pulumi_alicloud/vpc/route_table_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/route_table_attachment.py @@ -156,6 +156,8 @@ def __init__(__self__, route_table_id=foo_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Table Attachment can be imported using the id, e.g. @@ -212,6 +214,8 @@ def __init__(__self__, route_table_id=foo_route_table.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Table Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/router_interface.py b/sdk/python/pulumi_alicloud/vpc/router_interface.py index 7705df1a1b..f38bd9d4b7 100644 --- a/sdk/python/pulumi_alicloud/vpc/router_interface.py +++ b/sdk/python/pulumi_alicloud/vpc/router_interface.py @@ -575,6 +575,8 @@ def __init__(__self__, description="test1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The router interface can be imported using the id, e.g. @@ -634,6 +636,8 @@ def __init__(__self__, description="test1") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The router interface can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/router_interface_connection.py b/sdk/python/pulumi_alicloud/vpc/router_interface_connection.py index 2cfe35a548..b37aa85796 100644 --- a/sdk/python/pulumi_alicloud/vpc/router_interface_connection.py +++ b/sdk/python/pulumi_alicloud/vpc/router_interface_connection.py @@ -270,6 +270,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[bar_router_interface_connection])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The router interface connection can be imported using the id, e.g. @@ -354,6 +356,8 @@ def __init__(__self__, opts = pulumi.ResourceOptions(depends_on=[bar_router_interface_connection])) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import The router interface connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/snat_entry.py b/sdk/python/pulumi_alicloud/vpc/snat_entry.py index 424d9d84f7..75333410bb 100644 --- a/sdk/python/pulumi_alicloud/vpc/snat_entry.py +++ b/sdk/python/pulumi_alicloud/vpc/snat_entry.py @@ -311,6 +311,8 @@ def __init__(__self__, snat_ip=default_eip_address.ip_address) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAT Gateway Snat Entry can be imported using the id, e.g. @@ -382,6 +384,8 @@ def __init__(__self__, snat_ip=default_eip_address.ip_address) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import NAT Gateway Snat Entry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/switch.py b/sdk/python/pulumi_alicloud/vpc/switch.py index da24abf48c..e45bca175a 100644 --- a/sdk/python/pulumi_alicloud/vpc/switch.py +++ b/sdk/python/pulumi_alicloud/vpc/switch.py @@ -537,6 +537,8 @@ def __init__(__self__, zone_id=foo.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Vswitch can be imported using the id, e.g. @@ -636,6 +638,8 @@ def __init__(__self__, zone_id=foo.zones[0].id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Vswitch can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter.py b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter.py index ea84f8b0cb..43aaf23bb7 100644 --- a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter.py +++ b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter.py @@ -345,6 +345,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter can be imported using the id, e.g. @@ -420,6 +422,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_egress_rule.py b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_egress_rule.py index a26e7dc119..bf8e8b7c1d 100644 --- a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_egress_rule.py +++ b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_egress_rule.py @@ -445,6 +445,8 @@ def __init__(__self__, protocol="ALL") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. @@ -501,6 +503,8 @@ def __init__(__self__, protocol="ALL") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_ingress_rule.py b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_ingress_rule.py index ccc67f411e..3bb933e8d9 100644 --- a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_ingress_rule.py +++ b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_filter_ingress_rule.py @@ -447,6 +447,8 @@ def __init__(__self__, source_port_range="1/120") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. @@ -505,6 +507,8 @@ def __init__(__self__, source_port_range="1/120") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_session.py b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_session.py index a4aad964e0..e541ab3f2c 100644 --- a/sdk/python/pulumi_alicloud/vpc/traffic_mirror_session.py +++ b/sdk/python/pulumi_alicloud/vpc/traffic_mirror_session.py @@ -560,6 +560,8 @@ def __init__(__self__, traffic_mirror_target_type="NetworkInterface") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Session can be imported using the id, e.g. @@ -665,6 +667,8 @@ def __init__(__self__, traffic_mirror_target_type="NetworkInterface") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Traffic Mirror Session can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/vbr_ha.py b/sdk/python/pulumi_alicloud/vpc/vbr_ha.py index fa1d1ec382..bb9201eada 100644 --- a/sdk/python/pulumi_alicloud/vpc/vbr_ha.py +++ b/sdk/python/pulumi_alicloud/vpc/vbr_ha.py @@ -321,6 +321,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Vbr Ha can be imported using the id, e.g. @@ -405,6 +407,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Express Connect Vbr Ha can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/vpc_network_acl_attachment.py b/sdk/python/pulumi_alicloud/vpc/vpc_network_acl_attachment.py index 5179280512..1a03762e51 100644 --- a/sdk/python/pulumi_alicloud/vpc/vpc_network_acl_attachment.py +++ b/sdk/python/pulumi_alicloud/vpc/vpc_network_acl_attachment.py @@ -24,8 +24,8 @@ def __init__(__self__, *, resource_type: pulumi.Input[_builtins.str]): """ The set of arguments for constructing a VpcNetworkAclAttachment resource. - :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL. - :param pulumi.Input[_builtins.str] resource_id: The ID of the associated resource. + :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL instance. + :param pulumi.Input[_builtins.str] resource_id: The ID of the associated vswitch instance. :param pulumi.Input[_builtins.str] resource_type: The type of the associated resource. Valid values: `VSwitch`. """ pulumi.set(__self__, "network_acl_id", network_acl_id) @@ -36,7 +36,7 @@ def __init__(__self__, *, @pulumi.getter(name="networkAclId") def network_acl_id(self) -> pulumi.Input[_builtins.str]: """ - The ID of the network ACL. + The ID of the network ACL instance. """ return pulumi.get(self, "network_acl_id") @@ -48,7 +48,7 @@ def network_acl_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Input[_builtins.str]: """ - The ID of the associated resource. + The ID of the associated vswitch instance. """ return pulumi.get(self, "resource_id") @@ -78,8 +78,8 @@ def __init__(__self__, *, status: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering VpcNetworkAclAttachment resources. - :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL. - :param pulumi.Input[_builtins.str] resource_id: The ID of the associated resource. + :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL instance. + :param pulumi.Input[_builtins.str] resource_id: The ID of the associated vswitch instance. :param pulumi.Input[_builtins.str] resource_type: The type of the associated resource. Valid values: `VSwitch`. :param pulumi.Input[_builtins.str] status: The status of the Network Acl Attachment. """ @@ -96,7 +96,7 @@ def __init__(__self__, *, @pulumi.getter(name="networkAclId") def network_acl_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The ID of the network ACL. + The ID of the network ACL instance. """ return pulumi.get(self, "network_acl_id") @@ -108,7 +108,7 @@ def network_acl_id(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="resourceId") def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The ID of the associated resource. + The ID of the associated vswitch instance. """ return pulumi.get(self, "resource_id") @@ -152,12 +152,16 @@ def __init__(__self__, resource_type: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. + Provides a VPC Network Acl Attachment resource. + + Resources associated with network Acl. For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). > **NOTE:** Available since v1.193.0. + > **WARNING:** Do not mix the use of this resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + ## Example Usage Basic Usage @@ -182,6 +186,8 @@ def __init__(__self__, resource_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Network Acl Attachment can be imported using the id, e.g. @@ -192,8 +198,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL. - :param pulumi.Input[_builtins.str] resource_id: The ID of the associated resource. + :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL instance. + :param pulumi.Input[_builtins.str] resource_id: The ID of the associated vswitch instance. :param pulumi.Input[_builtins.str] resource_type: The type of the associated resource. Valid values: `VSwitch`. """ ... @@ -203,12 +209,16 @@ def __init__(__self__, args: VpcNetworkAclAttachmentArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a VPC Network Acl Attachment resource. Resources associated with network Acl. + Provides a VPC Network Acl Attachment resource. + + Resources associated with network Acl. For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl). > **NOTE:** Available since v1.193.0. + > **WARNING:** Do not mix the use of this resource with the `resources` field in the `vpc.NetworkAcl` resource to bind VSW (Virtual Switch) to the same ACL. Using both methods simultaneously can cause conflicts and result in repeated apply operations that toggle between binding and unbinding VSWs. Choose one method and stick with it to avoid these issues. + ## Example Usage Basic Usage @@ -233,6 +243,8 @@ def __init__(__self__, resource_type="VSwitch") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Network Acl Attachment can be imported using the id, e.g. @@ -299,8 +311,8 @@ 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[_builtins.str] network_acl_id: The ID of the network ACL. - :param pulumi.Input[_builtins.str] resource_id: The ID of the associated resource. + :param pulumi.Input[_builtins.str] network_acl_id: The ID of the network ACL instance. + :param pulumi.Input[_builtins.str] resource_id: The ID of the associated vswitch instance. :param pulumi.Input[_builtins.str] resource_type: The type of the associated resource. Valid values: `VSwitch`. :param pulumi.Input[_builtins.str] status: The status of the Network Acl Attachment. """ @@ -318,7 +330,7 @@ def get(resource_name: str, @pulumi.getter(name="networkAclId") def network_acl_id(self) -> pulumi.Output[_builtins.str]: """ - The ID of the network ACL. + The ID of the network ACL instance. """ return pulumi.get(self, "network_acl_id") @@ -326,7 +338,7 @@ def network_acl_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Output[_builtins.str]: """ - The ID of the associated resource. + The ID of the associated vswitch instance. """ return pulumi.get(self, "resource_id") diff --git a/sdk/python/pulumi_alicloud/vpc/vpc_route_entry.py b/sdk/python/pulumi_alicloud/vpc/vpc_route_entry.py index 2d11b1e996..af5d26af7f 100644 --- a/sdk/python/pulumi_alicloud/vpc/vpc_route_entry.py +++ b/sdk/python/pulumi_alicloud/vpc/vpc_route_entry.py @@ -427,6 +427,8 @@ def __init__(__self__, nexthop_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Entry can be imported using the id, e.g. @@ -521,6 +523,8 @@ def __init__(__self__, nexthop_id=default_instance.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPC Route Entry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpc/vswitch_cidr_reservation.py b/sdk/python/pulumi_alicloud/vpc/vswitch_cidr_reservation.py index 7dfb2262c3..162ce4fad4 100644 --- a/sdk/python/pulumi_alicloud/vpc/vswitch_cidr_reservation.py +++ b/sdk/python/pulumi_alicloud/vpc/vswitch_cidr_reservation.py @@ -370,6 +370,8 @@ def __init__(__self__, cidr_reservation_type="Prefix") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Vswitch Cidr Reservation can be imported using the id, e.g. @@ -431,6 +433,8 @@ def __init__(__self__, cidr_reservation_type="Prefix") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Vpc Vswitch Cidr Reservation can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/connection.py b/sdk/python/pulumi_alicloud/vpn/connection.py index fc276ebca4..1aa59040a4 100644 --- a/sdk/python/pulumi_alicloud/vpn/connection.py +++ b/sdk/python/pulumi_alicloud/vpn/connection.py @@ -824,6 +824,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN connection can be imported using the id, e.g. @@ -983,6 +985,8 @@ def __init__(__self__, ]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN connection can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/customer_gateway.py b/sdk/python/pulumi_alicloud/vpn/customer_gateway.py index 51e83001e3..33a4379dd7 100644 --- a/sdk/python/pulumi_alicloud/vpn/customer_gateway.py +++ b/sdk/python/pulumi_alicloud/vpn/customer_gateway.py @@ -288,6 +288,8 @@ def __init__(__self__, customer_gateway_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN customer gateway can be imported using the id, e.g. @@ -333,6 +335,8 @@ def __init__(__self__, customer_gateway_name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN customer gateway can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/gateway_vco_route.py b/sdk/python/pulumi_alicloud/vpn/gateway_vco_route.py index 39b9aef475..c155f0448e 100644 --- a/sdk/python/pulumi_alicloud/vpn/gateway_vco_route.py +++ b/sdk/python/pulumi_alicloud/vpn/gateway_vco_route.py @@ -309,6 +309,8 @@ def __init__(__self__, route_dest="192.168.10.0/24") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Gateway Vco Route can be imported using the id, e.g. @@ -424,6 +426,8 @@ def __init__(__self__, route_dest="192.168.10.0/24") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Gateway Vco Route can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/gateway_vpn_attachment.py b/sdk/python/pulumi_alicloud/vpn/gateway_vpn_attachment.py index c8f7b9e120..76c16938c4 100644 --- a/sdk/python/pulumi_alicloud/vpn/gateway_vpn_attachment.py +++ b/sdk/python/pulumi_alicloud/vpn/gateway_vpn_attachment.py @@ -828,6 +828,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Gateway Vpn Attachment can be imported using the id, e.g. @@ -1033,6 +1035,8 @@ def __init__(__self__, resource_group_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Gateway Vpn Attachment can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/ipsec_server.py b/sdk/python/pulumi_alicloud/vpn/ipsec_server.py index 8993d4c6d3..68956dc2bf 100644 --- a/sdk/python/pulumi_alicloud/vpn/ipsec_server.py +++ b/sdk/python/pulumi_alicloud/vpn/ipsec_server.py @@ -411,6 +411,8 @@ def __init__(__self__, psk_enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Ipsec Server can be imported using the id, e.g. @@ -481,6 +483,8 @@ def __init__(__self__, psk_enabled=True) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Ipsec Server can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/pbr_route_entry.py b/sdk/python/pulumi_alicloud/vpn/pbr_route_entry.py index 1fcfd3a49c..71557e8f7d 100644 --- a/sdk/python/pulumi_alicloud/vpn/pbr_route_entry.py +++ b/sdk/python/pulumi_alicloud/vpn/pbr_route_entry.py @@ -353,6 +353,8 @@ def __init__(__self__, publish_vpc=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Pbr route entry can be imported using the id, e.g. @@ -482,6 +484,8 @@ def __init__(__self__, publish_vpc=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN Pbr route entry can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/route_entry.py b/sdk/python/pulumi_alicloud/vpn/route_entry.py index 6255de4e27..d31f75e349 100644 --- a/sdk/python/pulumi_alicloud/vpn/route_entry.py +++ b/sdk/python/pulumi_alicloud/vpn/route_entry.py @@ -330,6 +330,8 @@ def __init__(__self__, publish_vpc=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. @@ -451,6 +453,8 @@ def __init__(__self__, publish_vpc=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/ssl_vpn_client_cert.py b/sdk/python/pulumi_alicloud/vpn/ssl_vpn_client_cert.py index 646127e682..7a316e56eb 100644 --- a/sdk/python/pulumi_alicloud/vpn/ssl_vpn_client_cert.py +++ b/sdk/python/pulumi_alicloud/vpn/ssl_vpn_client_cert.py @@ -230,6 +230,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL-VPN client certificates can be imported using the id, e.g. @@ -295,6 +297,8 @@ def __init__(__self__, name=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL-VPN client certificates can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/vpn/ssl_vpn_server.py b/sdk/python/pulumi_alicloud/vpn/ssl_vpn_server.py index 5203feec1d..266fb6fec0 100644 --- a/sdk/python/pulumi_alicloud/vpn/ssl_vpn_server.py +++ b/sdk/python/pulumi_alicloud/vpn/ssl_vpn_server.py @@ -403,6 +403,8 @@ def __init__(__self__, compress=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL-VPN server can be imported using the id, e.g. @@ -474,6 +476,8 @@ def __init__(__self__, compress=False) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import SSL-VPN server can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/waf/certificate.py b/sdk/python/pulumi_alicloud/waf/certificate.py index 9005fd369b..e996842525 100644 --- a/sdk/python/pulumi_alicloud/waf/certificate.py +++ b/sdk/python/pulumi_alicloud/waf/certificate.py @@ -262,6 +262,8 @@ def __init__(__self__, certificate_id="your_certificate_id") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAF Certificate can be imported using the id, e.g. @@ -312,6 +314,8 @@ def __init__(__self__, certificate_id="your_certificate_id") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAF Certificate can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/waf/domain.py b/sdk/python/pulumi_alicloud/waf/domain.py index a98dc60e8e..8012af7645 100644 --- a/sdk/python/pulumi_alicloud/waf/domain.py +++ b/sdk/python/pulumi_alicloud/waf/domain.py @@ -669,6 +669,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAF domain can be imported using the id, e.g. @@ -739,6 +741,8 @@ def __init__(__self__, }]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAF domain can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/waf/protection_module.py b/sdk/python/pulumi_alicloud/waf/protection_module.py index 6c760f59e9..1bb22a3ee0 100644 --- a/sdk/python/pulumi_alicloud/waf/protection_module.py +++ b/sdk/python/pulumi_alicloud/waf/protection_module.py @@ -260,6 +260,8 @@ def __init__(__self__, status=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. @@ -327,6 +329,8 @@ def __init__(__self__, status=0) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Web Application Firewall(WAF) Protection Module can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/wafv3/defense_resource_group.py b/sdk/python/pulumi_alicloud/wafv3/defense_resource_group.py index 83367fa3c6..b8ce86bb75 100644 --- a/sdk/python/pulumi_alicloud/wafv3/defense_resource_group.py +++ b/sdk/python/pulumi_alicloud/wafv3/defense_resource_group.py @@ -232,6 +232,8 @@ def __init__(__self__, instance_id=default_ha_f1f_d.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Resource Group can be imported using the id, e.g. @@ -316,6 +318,8 @@ def __init__(__self__, instance_id=default_ha_f1f_d.id) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Resource Group can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/wafv3/defense_rule.py b/sdk/python/pulumi_alicloud/wafv3/defense_rule.py index a913cad5c1..f6fe92dfac 100644 --- a/sdk/python/pulumi_alicloud/wafv3/defense_rule.py +++ b/sdk/python/pulumi_alicloud/wafv3/defense_rule.py @@ -436,6 +436,8 @@ def __init__(__self__, instance_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Rule can be imported using the id, e.g. @@ -527,6 +529,8 @@ def __init__(__self__, instance_id=default.ids[0]) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Rule can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/wafv3/defense_template.py b/sdk/python/pulumi_alicloud/wafv3/defense_template.py index 7d3d5bc10f..632acf1945 100644 --- a/sdk/python/pulumi_alicloud/wafv3/defense_template.py +++ b/sdk/python/pulumi_alicloud/wafv3/defense_template.py @@ -410,6 +410,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Template can be imported using the id, e.g. @@ -469,6 +471,8 @@ def __init__(__self__, description=name) ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import WAFV3 Defense Template can be imported using the id, e.g. diff --git a/sdk/python/pulumi_alicloud/wafv3/instance.py b/sdk/python/pulumi_alicloud/wafv3/instance.py index 9b04c1db71..7e5fe8f8c6 100644 --- a/sdk/python/pulumi_alicloud/wafv3/instance.py +++ b/sdk/python/pulumi_alicloud/wafv3/instance.py @@ -106,6 +106,8 @@ def __init__(__self__, example = alicloud.wafv3.Instance("example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Wafv3 Instance can be imported using the id, e.g. @@ -141,6 +143,8 @@ def __init__(__self__, example = alicloud.wafv3.Instance("example") ``` + 📚 Need more examples? VIEW MORE EXAMPLES + ## Import Wafv3 Instance can be imported using the id, e.g.